Update to ChromeOS 15047.0.0

Merge commit '2bb5b38e85c3dfd3d3d4c97d0e6ccf38906b9074' into sdk-update-pre

BUG=b/257271340
TEST=presubmit
RELEASE_NOTE=None

Change-Id: Id87e1dff67a95027495685ffc9e5489d5fa43621
diff --git a/OWNERS b/OWNERS
index ef6b7a9..33a0a73 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,2 +1,2 @@
-*
 include chromiumos/overlays/portage-stable:/OWNERS.general
+per-file .../*.policy = file:/OWNERS.security
diff --git a/OWNERS.fwupd b/OWNERS.fwupd
deleted file mode 100644
index 88c667d..0000000
--- a/OWNERS.fwupd
+++ /dev/null
@@ -1,2 +0,0 @@
-campello@chromium.org
-bleung@google.com
diff --git a/OWNERS.kernel b/OWNERS.kernel
deleted file mode 100644
index 2173290..0000000
--- a/OWNERS.kernel
+++ /dev/null
@@ -1,5 +0,0 @@
-# Some files may benefit from kernel-domain expertise.
-briannorris@chromium.org
-dianders@chromium.org
-groeck@chromium.org
-swboyd@chromium.org
diff --git a/OWNERS.security b/OWNERS.security
index da09356..0b6b8b9 100644
--- a/OWNERS.security
+++ b/OWNERS.security
@@ -1,3 +1,6 @@
-allenwebb@chromium.org
+aashay@google.com
+allenwebb@google.com
+jasonling@chromium.org
 jorgelo@chromium.org
+lziest@google.com
 mnissler@chromium.org
diff --git a/PRESUBMIT.cfg b/PRESUBMIT.cfg
index 4e43cea..5c3a31e 100644
--- a/PRESUBMIT.cfg
+++ b/PRESUBMIT.cfg
@@ -24,4 +24,5 @@
 
 [Hook Scripts]
 hook0=./sys-apps/dbus/presubmit_check.sh
+rust ebuild checks=./dev-lang/rust/presubmit_check.py
 cros lint=../../../chromite/bin/cros lint ${PRESUBMIT_FILES}
diff --git a/app-accessibility/OWNERS b/app-accessibility/OWNERS
new file mode 100644
index 0000000..fe6361f
--- /dev/null
+++ b/app-accessibility/OWNERS
@@ -0,0 +1 @@
+dtseng@chromium.org
diff --git a/app-accessibility/brltty/Manifest b/app-accessibility/brltty/Manifest
index 8390af4..354c9e6 100644
--- a/app-accessibility/brltty/Manifest
+++ b/app-accessibility/brltty/Manifest
@@ -1 +1 @@
-DIST brltty-6.3.tar.xz 3186240 RMD160 0d172b9f4f249e0930c94bf6b01a9d0cafd06883 SHA1 3d5b68f2f9b5bfe699a1002887c00bd33c340f7c SHA256 b256df8f86b4d6a597cfe982cc5a7c831915de37cfece683ddb02b2329256a8a
+DIST brltty-6.3.tar.xz 3186240 BLAKE2B c18ff1cfe56eb8122b6441dbab3aac682fcb9a53be761e55f722f44e9ce14e7d96e2df18cc5fd3dedad00751f3d004a488e744681a7b5aee803af8e22d3f51b0 SHA512 8a15ffcc433f97925252d2355841e50a55179072d4cf294488fe52038b5e053ba688b7745716c49f4a20e0a626ecaf4ecd3ae7ca79527747c84c6e8a4d8d84a1
diff --git a/app-accessibility/brltty/brltty-6.3-r4.ebuild b/app-accessibility/brltty/brltty-6.3-r6.ebuild
similarity index 100%
rename from app-accessibility/brltty/brltty-6.3-r4.ebuild
rename to app-accessibility/brltty/brltty-6.3-r6.ebuild
diff --git a/app-accessibility/brltty/brltty-6.3.ebuild b/app-accessibility/brltty/brltty-6.3.ebuild
index af59a6c..dc5d887 100644
--- a/app-accessibility/brltty/brltty-6.3.ebuild
+++ b/app-accessibility/brltty/brltty-6.3.ebuild
@@ -121,6 +121,9 @@
 }
 
 src_install() {
+	# TODO(https://crbug.com/1336815): remove workaround when bug is fixed.
+	dodir /bin
+
 	if use ocaml; then
 		findlib_src_preinst
 	fi
@@ -155,12 +158,3 @@
 	enewgroup brltty
 	enewuser brltty
 }
-
-pkg_postinst() {
-	elog
-	elog please be sure "${ROOT}"etc/brltty.conf is correct for your system.
-	elog
-	elog To make brltty start on boot, type this command as root:
-	elog
-	elog rc-update add brltty boot
-}
diff --git a/app-accessibility/pumpkin/Manifest b/app-accessibility/pumpkin/Manifest
new file mode 100644
index 0000000..d5236cc
--- /dev/null
+++ b/app-accessibility/pumpkin/Manifest
@@ -0,0 +1 @@
+DIST pumpkin-1.0.tar.xz 594964 BLAKE2B 76751b955558f89258334eab0ef03ed414a2eed060ebf5d1a1286c583a7d850304fcaa0a829127916326f232936342feb12880f9a32ae95726e97e6c7cd581d5 SHA512 5e9b9e5606ee1fa02641a342ab198fc4df3ebe5e501aee6dfb2dd847fda12e56f69d2df7b302c815553165b47909b613f967ff32a9aa357e56fe84a793d0a1fd
diff --git a/app-accessibility/pumpkin/OWNERS b/app-accessibility/pumpkin/OWNERS
new file mode 100644
index 0000000..c2c4853
--- /dev/null
+++ b/app-accessibility/pumpkin/OWNERS
@@ -0,0 +1,2 @@
+akihiroota@chromium.org
+dtseng@chromium.org
diff --git a/app-accessibility/pumpkin/pumpkin-0.0.1-r1.ebuild b/app-accessibility/pumpkin/pumpkin-0.0.1-r1.ebuild
new file mode 100644
index 0000000..fc56217
--- /dev/null
+++ b/app-accessibility/pumpkin/pumpkin-0.0.1-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v3
+#
+# JavaScript/Web assembly port of the Pumpkin semantic parser.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
+CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
+inherit cros-workon dlc
+
+DESCRIPTION='Pumpkin is a semantic parser built using web assembly and a
+JavaScript API. This DLC downloads the web assembly, JavaScript wrapper, and
+locale-specific binary files, which are all built in google3. Pumpkin is
+currently used by accessibility services on Chrome OS.'
+HOMEPAGE=""
+SRC_URI="gs://chromeos-localmirror/distfiles/${PN}-1.0.tar.xz"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="dlc"
+REQUIRED_USE="dlc"
+
+# "cros_workon info" expects these variables to be set, so use the standard
+# empty project.
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="../platform/empty-project"
+
+# DLC variables.
+# 4KB * 1624 = ~6.5MB
+DLC_PREALLOC_BLOCKS="1624"
+DLC_PRELOAD=true
+
+S="${WORKDIR}"
+src_unpack() {
+	local archive="${SRC_URI##*/}"
+	unpack "${archive}"
+}
+
+src_install() {
+	# Install main Pumpkin WASM and PumpkinTagger JS wrapper files.
+	into "$(dlc_add_path /)"
+	insinto "$(dlc_add_path /)"
+	exeinto "$(dlc_add_path /)"
+	doins js_pumpkin_tagger_bin.js tagger_wasm_main.js tagger_wasm_main.wasm
+
+	# Install binary Pumpkin configs for each supported locale.
+	local locales=("en_us" "fr_fr" "es_es" "de_de" "it_it")
+	for locale in "${locales[@]}"; do
+		doins -r "${locale}"
+	done
+
+	dlc_src_install
+}
diff --git a/app-accessibility/pumpkin/pumpkin-9999.ebuild b/app-accessibility/pumpkin/pumpkin-9999.ebuild
new file mode 100644
index 0000000..6c656f8
--- /dev/null
+++ b/app-accessibility/pumpkin/pumpkin-9999.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v3
+#
+# JavaScript/Web assembly port of the Pumpkin semantic parser.
+
+EAPI=7
+
+inherit cros-workon dlc
+
+DESCRIPTION='Pumpkin is a semantic parser built using web assembly and a
+JavaScript API. This DLC downloads the web assembly, JavaScript wrapper, and
+locale-specific binary files, which are all built in google3. Pumpkin is
+currently used by accessibility services on Chrome OS.'
+HOMEPAGE=""
+SRC_URI="gs://chromeos-localmirror/distfiles/${PN}-1.0.tar.xz"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="~*"
+IUSE="dlc"
+REQUIRED_USE="dlc"
+
+# "cros_workon info" expects these variables to be set, so use the standard
+# empty project.
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="../platform/empty-project"
+
+# DLC variables.
+# 4KB * 1624 = ~6.5MB
+DLC_PREALLOC_BLOCKS="1624"
+DLC_PRELOAD=true
+
+S="${WORKDIR}"
+src_unpack() {
+	local archive="${SRC_URI##*/}"
+	unpack "${archive}"
+}
+
+src_install() {
+	# Install main Pumpkin WASM and PumpkinTagger JS wrapper files.
+	into "$(dlc_add_path /)"
+	insinto "$(dlc_add_path /)"
+	exeinto "$(dlc_add_path /)"
+	doins js_pumpkin_tagger_bin.js tagger_wasm_main.js tagger_wasm_main.wasm
+
+	# Install binary Pumpkin configs for each supported locale.
+	local locales=("en_us" "fr_fr" "es_es" "de_de" "it_it")
+	for locale in "${locales[@]}"; do
+		doins -r "${locale}"
+	done
+
+	dlc_src_install
+}
diff --git a/app-admin/OWNERS b/app-admin/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/app-admin/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/app-admin/eselect-mesa/eselect-mesa-0.0.8-r1.ebuild b/app-admin/eselect-mesa/eselect-mesa-0.0.8-r1.ebuild
new file mode 120000
index 0000000..b22a418
--- /dev/null
+++ b/app-admin/eselect-mesa/eselect-mesa-0.0.8-r1.ebuild
@@ -0,0 +1 @@
+eselect-mesa-0.0.8.ebuild
\ No newline at end of file
diff --git a/app-admin/eselect-mesa/eselect-mesa-0.0.8.ebuild b/app-admin/eselect-mesa/eselect-mesa-0.0.8.ebuild
index eaa10a5..01c2dfe 100644
--- a/app-admin/eselect-mesa/eselect-mesa-0.0.8.ebuild
+++ b/app-admin/eselect-mesa/eselect-mesa-0.0.8.ebuild
@@ -1,12 +1,10 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-mesa/eselect-mesa-0.0.8.ebuild,v 1.2 2010/11/28 15:37:34 chithanh Exp $
 
-EAPI=3
+EAPI="7"
 
 DESCRIPTION="Utility to change the Mesa OpenGL driver being used"
-HOMEPAGE="http://www.gentoo.org/"
-
+HOMEPAGE="https://www.gentoo.org/"
 SRC_URI="mirror://gentoo/${P}.tar.gz"
 
 LICENSE="GPL-2"
@@ -19,12 +17,5 @@
 
 src_install() {
 	insinto /usr/share/eselect/modules
-	doins mesa.eselect || die
-}
-
-pkg_postinst() {
-	if has_version ">=media-libs/mesa-7.9" && \
-		! [ -f "${EROOT}"/usr/share/mesa/eselect-mesa.conf ]; then
-		eerror "Rebuild media-libs/mesa for ${PN} to work."
-	fi
+	doins mesa.eselect
 }
diff --git a/app-admin/metadata.xml b/app-admin/metadata.xml
deleted file mode 100644
index b15417f..0000000
--- a/app-admin/metadata.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The app-admin category contains non-core applications which relate to
-		system administration.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría app-admin contiene aplicaciones para la administración
-		del sistema.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie app-admin enthält Applikationen zur Systemadministration,
-		die nicht Bestandteil des Basissystems sind.
-	</longdescription>
-	<longdescription lang="ja">
-		app-adminカテゴリにはnon-corシステム管理に関連したアプリケーションが含まれます。
-	</longdescription>
-	<longdescription lang="nl">
-		De app-admin categorie bevat applicaties met betrekking tot systeem
-		administratie.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm app-admin category chứa các ứng dụng liên quan
-		đến quản trị hệ thống (không tính các ứng dụng lõi).
-	</longdescription>
-	<longdescription lang="it">
-		La categoria app-admin contiene applicazioni per l'amministrazione del sistema.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria app-admin contém aplicações para a administração
-		do sistema.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria app-admin zawiera aplikacje dla administratorów systemu.
-	</longdescription>
-</catmetadata>
-
diff --git a/app-admin/rsyslog/Manifest b/app-admin/rsyslog/Manifest
index bd1ca52..a0c6416 100644
--- a/app-admin/rsyslog/Manifest
+++ b/app-admin/rsyslog/Manifest
@@ -1,2 +1,2 @@
-DIST rsyslog-8.2102.0.tar.gz 3123684 BLAKE2B f5c4e00d68ec82ed3f7b89dd5e888bebda9c4eb38185dfd8ecd96c1bf77380385aaddac73ab1de8364e1239a3de746f160c18b0f135d006f473f9e40be2c18a1 SHA512 281b0e5d5cb548c39a6e514e5fd5b1bdbe8ca0bdd9234f4fea581ed7679f76d2d75b65d14c3c5e799f86f91600074ff75b467aa1ff27cdbec0f4197261c5aec0
-DIST rsyslog-doc-8.2102.0.tar.gz 6419104 BLAKE2B 134c7ccde6f7435b35840fa37f5774223ac1ebd7dc10db961900a7b1600483156518433c7f70d0981e96ea750e1916ab53e346abacf58066bf141e85c719ae00 SHA512 a5dc4fb9bd8892fac693c5692b926c8d7d9fa36667d6b4c6eccba750713af88d4317f6232efc2a16de38c2e58c4a8bc4d04c9ebb2e7ebc3b0878d53eef20dd2e
+DIST rsyslog-8.2112.0.tar.gz 3230105 BLAKE2B deee27f0b1e2b9783bef4d90e396c92c772465156ae8242172548794d628edb5d1e9a95d9ee2aeb2b301ec4b691572391ea7db7b1e8fdb1d14c65e3857857799 SHA512 32ee475d4ef34a68aa43997a97472d21f45c27052c528c1904786df608977189a53e8bb88f310dc2ebe3bf11857824e4e2188c5b85591a005b6977f90a6b17c3
+DIST rsyslog-doc-8.2112.0.tar.gz 6545985 BLAKE2B 4f6cfbbf8062a70faa67dd7168ad35bcbe2c81f80560ddb48229a332ce8ac861efe3bdaa1baeddbdd086c3e9ac8912746ba58bc64ab62f3caba8b8cc1b0014fd SHA512 8588d5fd1a79fce785db85ba162ed2fa9e5375590ee8e6d8569e75334d36683a1b977e930c096a6b3dac15596c066b46fc3105fcc5e8232ab11cf43c6eed3a55
diff --git a/app-admin/rsyslog/files/rsyslog-8.2110.0-skip-omfwd_fast_imuxsock-test.patch b/app-admin/rsyslog/files/rsyslog-8.2110.0-skip-omfwd_fast_imuxsock-test.patch
new file mode 100644
index 0000000..88b4a6f
--- /dev/null
+++ b/app-admin/rsyslog/files/rsyslog-8.2110.0-skip-omfwd_fast_imuxsock-test.patch
@@ -0,0 +1,29 @@
+From 440fd1d51c5aa7763d3d810b542a7e373a6738eb Mon Sep 17 00:00:00 2001
+From: Michael Biebl <biebl@debian.org>
+Date: Tue, 19 Oct 2021 23:00:50 +0200
+Subject: [PATCH] testbench: skip omfwd_fast_imuxsock.sh if liblogging-stdlog
+ is not available
+
+Fixes #4712
+---
+ tests/omfwd_fast_imuxsock.sh | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/tests/omfwd_fast_imuxsock.sh b/tests/omfwd_fast_imuxsock.sh
+index bb35b58d18..10f9f19c18 100755
+--- a/tests/omfwd_fast_imuxsock.sh
++++ b/tests/omfwd_fast_imuxsock.sh
+@@ -4,6 +4,13 @@
+ . ${srcdir:=.}/diag.sh init
+ skip_platform "SunOS"  "We have no ATOMIC BUILTINS, so OverallQueueSize counting of imdiag is NOT threadsafe and the counting will fail on SunOS"
+ 
++./syslog_caller -fsyslog_inject-l -m0 > /dev/null 2>&1
++no_liblogging_stdlog=$?
++if [ $no_liblogging_stdlog -ne 0 ];then
++  echo "liblogging-stdlog not available - skipping test"
++  exit 77
++fi
++
+ # export RSYSLOG_DEBUG="debug nologfuncflow noprintmutexaction nostdout"
+ export NUMMESSAGES=100000
+ 
diff --git a/app-admin/rsyslog/metadata.xml b/app-admin/rsyslog/metadata.xml
index 8edddd3..7a2ccda 100644
--- a/app-admin/rsyslog/metadata.xml
+++ b/app-admin/rsyslog/metadata.xml
@@ -1,47 +1,59 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
 <pkgmetadata>
-	<maintainer type="person">
-		<email>whissi@gentoo.org</email>
-		<name>Thomas Deutschmann</name>
-	</maintainer>
-	<use>
-		<flag name="clickhouse">Build the ClickHouse output module (requires <pkg>net-misc/curl</pkg>)</flag>
-		<flag name="curl">Enable http_request() function in RainerScript (requires <pkg>net-misc/curl</pkg>)</flag>
-		<flag name="dbi">Build the general database output module (requires <pkg>dev-db/libdbi</pkg>)</flag>
-		<flag name="elasticsearch">Build the Elasticsearch output module (requires <pkg>net-misc/curl</pkg>)</flag>
-		<flag name="gcrypt">Add support for encrypted log files using <pkg>dev-libs/libgcrypt</pkg></flag>
-		<flag name="gnutls">Build the GnuTLS network stream driver (requires <pkg>net-libs/gnutls</pkg>)</flag>
-		<flag name="imhttp">Build the http input module (requires <pkg>www-servers/civetweb</pkg>)</flag>
-		<flag name="impcap">Build the pcap input module (requires <pkg>net-libs/libpcap</pkg>)</flag>
-		<flag name="kafka">Build the Apache Kafka input/output module (requires <pkg>dev-libs/librdkafka</pkg>)</flag>
-		<flag name="kerberos">Build the GSSAPI input and output module (requires <pkg>virtual/krb5</pkg>)</flag>
-		<flag name="kubernetes">Build the kubernetes modify plugin (requires <pkg>net-misc/curl</pkg>)</flag>
-		<flag name="libressl">Use <pkg>dev-libs/libressl</pkg> instead of <pkg>dev-libs/openssl</pkg> (you still need to enable functionality which requires OpenSSL)</flag>
-		<flag name="mdblookup">Build the MaxMind DB lookup message modify plugin using <pkg>dev-libs/libmaxminddb</pkg></flag>
-		<flag name="mongodb">Build the MongoDB output module (requires <pkg>dev-libs/mongo-c-driver</pkg>)</flag>
-		<flag name="mysql">Build the MySQL database output module (requires <pkg>virtual/mysql</pkg>)</flag>
-		<flag name="normalize">Build the normalize modify module (requires <pkg>dev-libs/libee</pkg> and <pkg>dev-libs/liblognorm</pkg>)</flag>
-		<flag name="omhttp">Build the http output module (requires <pkg>net-misc/curl</pkg>)</flag>
-		<flag name="omhttpfs">Build the httpfs output module (requires <pkg>net-misc/curl</pkg>)</flag>
-		<flag name="omudpspoof">Build the udpspoof output module (requires <pkg>net-libs/libnet</pkg>)</flag>
-		<flag name="openssl">Build the OpenSSL network stream driver (requires <pkg>dev-libs/openssl</pkg>)</flag>
-		<flag name="postgres">Build the PostgreSQL database output module (requires <pkg>dev-db/postgresql</pkg>)</flag>
-		<flag name="rabbitmq">Build the RabbitMQ output module (requires <pkg>net-libs/rabbitmq-c</pkg>)</flag>
-		<flag name="redis">Build the Redis output module using (requires <pkg>dev-libs/hiredis</pkg>)</flag>
-		<flag name="relp">Build the Reliable Event Logging Protocol (RELP) output module (requires <pkg>dev-libs/librelp</pkg>)</flag>
-		<flag name="rfc3195">Build the rfc3195 input module (requires <pkg>dev-libs/liblogging</pkg>)</flag>
-		<flag name="rfc5424hmac">Build the rfc5424hmac modify module (requires <pkg>dev-libs/openssl</pkg> or <pkg>dev-libs/libressl</pkg>)</flag>
-		<flag name="snmp">Build the snmp modify and output module (requires <pkg>net-analyzer/net-snmp</pkg>)</flag>
-		<flag name="ssl">Add support for encrypted client/server communication (requires <pkg>net-libs/gnutls</pkg>)</flag>
-		<flag name="systemd">Build the journal input and output module (requires <pkg>sys-apps/systemd</pkg>)</flag>
-		<flag name="uuid">Include UUIDs in messages (requires <pkg>sys-apps/util-linux</pkg>)</flag>
-		<flag name="usertools">Installs the user tools (rsgtutil, rscryutil...) corresponding to the set USE flags</flag>
-		<flag name="xxhash">Enable xxHash support in fmhash module (requires <pkg>dev-libs/xxhash</pkg>)</flag>
-		<flag name="zeromq">Build the ZeroMQ input and output modules (requires <pkg>net-libs/czmq</pkg>)</flag>
-	</use>
-	<upstream>
-		<bugs-to>https://github.com/rsyslog/rsyslog/issues</bugs-to>
-		<remote-id type="cpe">cpe:/a:rsyslog:rsyslog</remote-id>
-	</upstream>
+  <maintainer type="person">
+    <email>xgqt@gentoo.org</email>
+    <name>Maciej Barć</name>
+  </maintainer>
+  <longdescription>
+    Rsyslog is a rocket-fast system for log processing. It offers
+    high-performance, great security features and a modular design. While it
+    started as a regular syslogd, rsyslog has evolved into a kind of swiss army
+    knife of logging, being able to accept inputs from a wide variety of
+    sources, transform them, and output to the results to diverse destinations.
+    Rsyslog can deliver over one million messages per second to local
+    destinations when limited processing is applied (based on v7, December
+    2013). Even with remote destinations and more elaborate processing the
+    performance is usually considered "stunning".
+  </longdescription>
+  <use>
+    <flag name="clickhouse">Build the ClickHouse output module (requires <pkg>net-misc/curl</pkg>)</flag>
+    <flag name="curl">Enable http_request() function in RainerScript (requires <pkg>net-misc/curl</pkg>)</flag>
+    <flag name="dbi">Build the general database output module (requires <pkg>dev-db/libdbi</pkg>)</flag>
+    <flag name="elasticsearch">Build the Elasticsearch output module (requires <pkg>net-misc/curl</pkg>)</flag>
+    <flag name="gcrypt">Add support for encrypted log files using <pkg>dev-libs/libgcrypt</pkg></flag>
+    <flag name="gnutls">Build the GnuTLS network stream driver (requires <pkg>net-libs/gnutls</pkg>)</flag>
+    <flag name="imhttp">Build the http input module (requires <pkg>www-servers/civetweb</pkg>)</flag>
+    <flag name="impcap">Build the pcap input module (requires <pkg>net-libs/libpcap</pkg>)</flag>
+    <flag name="kafka">Build the Apache Kafka input/output module (requires <pkg>dev-libs/librdkafka</pkg>)</flag>
+    <flag name="kerberos">Build the GSSAPI input and output module (requires <pkg>virtual/krb5</pkg>)</flag>
+    <flag name="kubernetes">Build the kubernetes modify plugin (requires <pkg>net-misc/curl</pkg>)</flag>
+    <flag name="mdblookup">Build the MaxMind DB lookup message modify plugin using <pkg>dev-libs/libmaxminddb</pkg></flag>
+    <flag name="mongodb">Build the MongoDB output module (requires <pkg>dev-libs/mongo-c-driver</pkg>)</flag>
+    <flag name="mysql">Build the MySQL database output module (requires <pkg>virtual/mysql</pkg>)</flag>
+    <flag name="normalize">Build the normalize modify module (requires <pkg>dev-libs/libee</pkg> and <pkg>dev-libs/liblognorm</pkg>)</flag>
+    <flag name="omhttp">Build the http output module (requires <pkg>net-misc/curl</pkg>)</flag>
+    <flag name="omhttpfs">Build the httpfs output module (requires <pkg>net-misc/curl</pkg>)</flag>
+    <flag name="omudpspoof">Build the udpspoof output module (requires <pkg>net-libs/libnet</pkg>)</flag>
+    <flag name="openssl">Build the OpenSSL network stream driver (requires <pkg>dev-libs/openssl</pkg>)</flag>
+    <flag name="postgres">Build the PostgreSQL database output module (requires <pkg>dev-db/postgresql</pkg>)</flag>
+    <flag name="rabbitmq">Build the RabbitMQ output module (requires <pkg>net-libs/rabbitmq-c</pkg>)</flag>
+    <flag name="redis">Build the Redis output module using (requires <pkg>dev-libs/hiredis</pkg>)</flag>
+    <flag name="relp">Build the Reliable Event Logging Protocol (RELP) output module (requires <pkg>dev-libs/librelp</pkg>)</flag>
+    <flag name="rfc3195">Build the rfc3195 input module (requires <pkg>dev-libs/liblogging</pkg>)</flag>
+    <flag name="rfc5424hmac">Build the rfc5424hmac modify module (requires <pkg>dev-libs/openssl</pkg>)</flag>
+    <flag name="snmp">Build the snmp modify and output module (requires <pkg>net-analyzer/net-snmp</pkg>)</flag>
+    <flag name="ssl">Add support for encrypted client/server communication (requires <pkg>net-libs/gnutls</pkg>)</flag>
+    <flag name="systemd">Build the journal input and output module (requires <pkg>sys-apps/systemd</pkg>)</flag>
+    <flag name="uuid">Include UUIDs in messages (requires <pkg>sys-apps/util-linux</pkg>)</flag>
+    <flag name="usertools">Installs the user tools (rsgtutil, rscryutil...) corresponding to the set USE flags</flag>
+    <flag name="xxhash">Enable xxHash support in fmhash module (requires <pkg>dev-libs/xxhash</pkg>)</flag>
+    <flag name="zeromq">Build the ZeroMQ input and output modules (requires <pkg>net-libs/czmq</pkg>)</flag>
+  </use>
+  <upstream>
+    <bugs-to>https://github.com/rsyslog/rsyslog/issues/</bugs-to>
+    <remote-id type="cpe">cpe:/a:rsyslog:rsyslog</remote-id>
+    <remote-id type="github">rsyslog/rsyslog</remote-id>
+  </upstream>
 </pkgmetadata>
diff --git a/app-admin/rsyslog/rsyslog-8.2102.0-r3.ebuild b/app-admin/rsyslog/rsyslog-8.2102.0-r3.ebuild
deleted file mode 120000
index 4c16c31..0000000
--- a/app-admin/rsyslog/rsyslog-8.2102.0-r3.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-rsyslog-8.2102.0.ebuild
\ No newline at end of file
diff --git a/app-admin/rsyslog/rsyslog-8.2102.0.ebuild b/app-admin/rsyslog/rsyslog-8.2102.0.ebuild
deleted file mode 100644
index 115bcd9..0000000
--- a/app-admin/rsyslog/rsyslog-8.2102.0.ebuild
+++ /dev/null
@@ -1,450 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-PYTHON_COMPAT=( python3_{6..9} )
-
-inherit autotools linux-info python-any-r1 systemd
-
-DESCRIPTION="An enhanced multi-threaded syslogd with database support and more"
-HOMEPAGE="https://www.rsyslog.com/"
-
-if [[ ${PV} == "9999" ]]; then
-	EGIT_REPO_URI="https://github.com/rsyslog/${PN}.git"
-
-	DOC_REPO_URI="https://github.com/rsyslog/${PN}-doc.git"
-
-	inherit git-r3
-else
-	KEYWORDS="*"
-
-	SRC_URI="
-		https://www.rsyslog.com/files/download/${PN}/${P}.tar.gz
-		doc? ( https://www.rsyslog.com/files/download/${PN}/${PN}-doc-${PV}.tar.gz )
-	"
-fi
-
-LICENSE="GPL-3 LGPL-3 Apache-2.0"
-SLOT="0"
-
-IUSE="clickhouse curl dbi debug doc elasticsearch +gcrypt gnutls imhttp"
-IUSE+=" impcap jemalloc kafka kerberos kubernetes libressl mdblookup"
-IUSE+=" mongodb mysql normalize omhttp omhttpfs omudpspoof +openssl"
-IUSE+=" postgres rabbitmq redis relp rfc3195 rfc5424hmac snmp +ssl"
-IUSE+=" systemd test usertools +uuid xxhash zeromq"
-
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="
-	kubernetes? ( normalize )
-	ssl? ( || ( gnutls openssl ) )
-"
-
-BDEPEND=">=sys-devel/autoconf-archive-2015.02.24
-	virtual/pkgconfig
-	elibc_musl? ( sys-libs/queue-standalone )
-	test? (
-		jemalloc? ( <sys-libs/libfaketime-0.9.7 )
-		!jemalloc? ( sys-libs/libfaketime )
-		${PYTHON_DEPS}
-	)"
-
-PATCHES=( "${FILESDIR}/001-add-imstdoutsock-plugin.patch" )
-
-RDEPEND="
-	>=dev-libs/libfastjson-0.99.8:=
-	>=dev-libs/libestr-0.1.9
-	>=sys-libs/zlib-1.2.5
-	chromeos-base/syslog-cat
-	curl? ( >=net-misc/curl-7.35.0 )
-	dbi? ( >=dev-db/libdbi-0.8.3 )
-	elasticsearch? ( >=net-misc/curl-7.35.0 )
-	gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= )
-	imhttp? ( www-servers/civetweb )
-	impcap? ( net-libs/libpcap )
-	jemalloc? ( >=dev-libs/jemalloc-3.3.1:= )
-	kafka? ( >=dev-libs/librdkafka-0.9.0.99:= )
-	kerberos? ( virtual/krb5 )
-	kubernetes? ( >=net-misc/curl-7.35.0 )
-	mdblookup? ( dev-libs/libmaxminddb:= )
-	mongodb? ( >=dev-libs/mongo-c-driver-1.1.10:= )
-	mysql? ( dev-db/mysql-connector-c:= )
-	normalize? (
-		>=dev-libs/liblognorm-2.0.3:=
-	)
-	clickhouse? ( >=net-misc/curl-7.35.0 )
-	omhttpfs? ( >=net-misc/curl-7.35.0 )
-	omudpspoof? ( >=net-libs/libnet-1.1.6 )
-	postgres? ( >=dev-db/postgresql-8.4.20:= )
-	rabbitmq? ( >=net-libs/rabbitmq-c-0.3.0:= )
-	redis? ( >=dev-libs/hiredis-0.11.0:= )
-	relp? ( >=dev-libs/librelp-1.2.17:= )
-	rfc3195? ( >=dev-libs/liblogging-1.0.1:=[rfc3195] )
-	rfc5424hmac? (
-		!libressl? ( >=dev-libs/openssl-0.9.8y:0= )
-		libressl? ( dev-libs/libressl:= )
-	)
-	snmp? ( >=net-analyzer/net-snmp-5.7.2 )
-	ssl? (
-		gnutls? ( >=net-libs/gnutls-2.12.23:0= )
-		openssl? (
-			!libressl? ( dev-libs/openssl:0= )
-			libressl? ( dev-libs/libressl:0= )
-		)
-	)
-	systemd? ( >=sys-apps/systemd-234 )
-	uuid? ( sys-apps/util-linux:0= )
-	xxhash? ( dev-libs/xxhash:= )
-	zeromq? (
-		>=net-libs/czmq-4:=[drafts]
-	)"
-DEPEND="${RDEPEND}
-	test? (
-		>=dev-libs/liblogging-1.0.1[stdlog]
-	)"
-
-if [[ ${PV} == "9999" ]]; then
-	BDEPEND+=" doc? ( >=dev-python/sphinx-1.1.3-r7 )"
-	BDEPEND+=" >=sys-devel/flex-2.5.39-r1"
-	BDEPEND+=" >=sys-devel/bison-2.4.3"
-	BDEPEND+=" >=dev-python/docutils-0.12"
-fi
-
-CONFIG_CHECK="~INOTIFY_USER"
-WARNING_INOTIFY_USER="CONFIG_INOTIFY_USER isn't set. Imfile module on this system will only support polling mode!"
-
-pkg_setup() {
-	use test && python-any-r1_pkg_setup
-}
-
-src_unpack() {
-	if [[ ${PV} == "9999" ]]; then
-		git-r3_fetch
-		git-r3_checkout
-	else
-		unpack ${P}.tar.gz
-	fi
-
-	cp -rf "${FILESDIR}/001-add-imstdoutsock-plugin" "./${PN}-${PV}/plugins/imstdoutsock"
-
-	if use doc; then
-		if [[ ${PV} == "9999" ]]; then
-			local _EGIT_BRANCH=
-			if [[ -n "${EGIT_BRANCH}" ]]; then
-				# Cannot use rsyslog commits/branches for documentation repository
-				_EGIT_BRANCH=${EGIT_BRANCH}
-				unset EGIT_BRANCH
-			fi
-
-			git-r3_fetch "${DOC_REPO_URI}"
-			git-r3_checkout "${DOC_REPO_URI}" "${S}"/docs
-
-			if [[ -n "${_EGIT_BRANCH}" ]]; then
-				# Restore previous EGIT_BRANCH information
-				EGIT_BRANCH=${_EGIT_BRANCH}
-			fi
-		else
-			cd "${S}" || die "Cannot change dir into '${S}'"
-			mkdir docs || die "Failed to create docs directory"
-			cd docs || die "Failed to change dir into '${S}/docs'"
-			unpack ${PN}-doc-${PV}.tar.gz
-		fi
-	fi
-}
-
-src_prepare() {
-	default
-
-	# https://github.com/rsyslog/rsyslog/issues/3626
-	sed -i \
-		-e '\|^#!/bin/bash$|a exit 77' \
-		tests/mmkubernetes-cache-expir*.sh \
-		|| die "Failed to disabled known test failure mmkubernetes-cache-expir*.sh"
-
-	eautoreconf
-}
-
-src_configure() {
-	# Maintainer notes:
-	# * Guardtime support is missing because libgt isn't yet available
-	#   in portage.
-	# * Hadoop's HDFS file system output module is currently not
-	#   supported in Gentoo because nobody is able to test it
-	#   (JAVA dependency).
-	# * dev-libs/hiredis doesn't provide pkg-config (see #504614,
-	#   upstream PR 129 and 136) so we need to export HIREDIS_*
-	#   variables because rsyslog's build system depends on pkg-config.
-
-	if use redis; then
-		export HIREDIS_LIBS="-L${EPREFIX}/usr/$(get_libdir) -lhiredis"
-		export HIREDIS_CFLAGS="-I${EPREFIX}/usr/include"
-	fi
-
-	local myeconfargs=(
-		--disable-debug-symbols
-		--disable-generate-man-pages
-		--without-valgrind-testbench
-		--disable-liblogging-stdlog
-		$(use_enable test testbench)
-		$(use_enable test libfaketime)
-		$(use_enable test extended-tests)
-		# Input Plugins without dependencies
-		--enable-imbatchreport
-		--enable-imdiag
-		--enable-imfile
-		--enable-improg
-		--enable-impstats
-		--enable-imptcp
-		# Message Modificiation Plugins without dependencies
-		--enable-mmanon
-		--enable-mmaudit
-		--enable-mmcount
-		--enable-mmfields
-		--enable-mmjsonparse
-		--enable-mmpstrucdata
-		--enable-mmrm1stspace
-		--enable-mmsequence
-		--enable-mmtaghostname
-		--enable-mmutf8fix
-		# Output Modification Plugins without dependencies
-		--enable-mail
-		--enable-omprog
-		--enable-omruleset
-		--enable-omstdout
-		--enable-omuxsock
-		# Misc
-		--enable-fmhash
-		$(use_enable xxhash fmhash-xxhash)
-		--enable-pmaixforwardedfrom
-		--enable-pmciscoios
-		--enable-pmcisconames
-		--enable-pmdb2diag
-		--enable-pmlastmsg
-		$(use_enable normalize pmnormalize)
-		--enable-pmnull
-		--enable-pmpanngfw
-		--enable-pmsnare
-		# DB
-		$(use_enable dbi libdbi)
-		$(use_enable mongodb ommongodb)
-		$(use_enable mysql)
-		$(use_enable postgres pgsql)
-		$(use_enable redis omhiredis)
-		# Debug
-		$(use_enable debug)
-		$(use_enable debug diagtools)
-		$(use_enable debug valgrind)
-		# Misc
-		$(use_enable clickhouse)
-		$(use_enable curl fmhttp)
-		$(use_enable elasticsearch)
-		$(use_enable gcrypt libgcrypt)
-		$(use_enable imhttp)
-		$(use_enable impcap)
-		$(use_enable jemalloc)
-		$(use_enable kafka imkafka)
-		$(use_enable kafka omkafka)
-		$(use_enable kerberos gssapi-krb5)
-		$(use_enable kubernetes mmkubernetes)
-		$(use_enable normalize mmnormalize)
-		$(use_enable mdblookup mmdblookup)
-		$(use_enable omhttp)
-		$(use_enable omhttpfs)
-		$(use_enable omudpspoof)
-		$(use_enable rabbitmq omrabbitmq)
-		$(use_enable relp)
-		$(use_enable rfc3195)
-		$(use_enable rfc5424hmac mmrfc5424addhmac)
-		$(use_enable snmp)
-		$(use_enable snmp mmsnmptrapd)
-		$(use_enable gnutls)
-		$(use_enable openssl)
-		$(use_enable systemd imjournal)
-		$(use_enable systemd omjournal)
-		$(use_enable usertools)
-		$(use_enable uuid)
-		$(use_enable zeromq imczmq)
-		$(use_enable zeromq omczmq)
-		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
-	)
-
-	econf "${myeconfargs[@]}"
-}
-
-src_compile() {
-	default
-
-	if use doc && [[ "${PV}" == "9999" ]]; then
-		einfo "Building documentation ..."
-		local doc_dir="${S}/docs"
-		cd "${doc_dir}" || die "Cannot chdir into \"${doc_dir}\"!"
-		sphinx-build -b html source build || die "Building documentation failed!"
-	fi
-}
-
-src_test() {
-	local _has_increased_ulimit=
-
-	# Sometimes tests aren't executable (i.e. when added via patch)
-	einfo "Adjusting permissions of test scripts ..."
-	find "${S}"/tests -type f -name '*.sh' \! -perm -111 -exec chmod a+x '{}' \; || \
-		die "Failed to adjust test scripts permission"
-
-	if ulimit -n 3072; then
-		_has_increased_ulimit="true"
-	fi
-
-	if ! emake --jobs 1 check; then
-		eerror "Test suite failed! :("
-
-		if [[ -z "${_has_increased_ulimit}" ]]; then
-			eerror "Probably because open file limit couldn't be set to 3072."
-		fi
-
-		if has userpriv ${FEATURES}; then
-			eerror "Please try to reproduce the test suite failure with FEATURES=-userpriv " \
-				"before you submit a bug report."
-		fi
-
-	fi
-}
-
-src_install() {
-	local DOCS=(
-		AUTHORS
-		ChangeLog
-		"${FILESDIR}"/README.gentoo
-	)
-
-	use doc && local HTML_DOCS=( "${S}/docs/build/." )
-
-	default
-
-	newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
-	newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
-
-	use systemd && systemd_newunit "${FILESDIR}/${PN}.service" ${PN}.service
-
-	keepdir /etc/ssl/${PN}
-	keepdir /etc/${PN}.d
-
-	insinto /etc
-	newins "${FILESDIR}/${PN}.conf" ${PN}.conf
-
-	insinto /etc/rsyslog.d/
-	newins "${FILESDIR}/50-default-r1.conf" 50-default.conf
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}/${PN}-r1.logrotate" ${PN}
-
-	if use mysql; then
-		insinto /usr/share/${PN}/scripts/mysql
-		doins plugins/ommysql/createDB.sql
-	fi
-
-	if use postgres; then
-		insinto /usr/share/${PN}/scripts/pgsql
-		doins plugins/ompgsql/createDB.sql
-	fi
-
-	find "${ED}" -name '*.la' -delete || die
-}
-
-pkg_config() {
-	if ! use ssl; then
-		einfo "There is nothing to configure for rsyslog unless you"
-		einfo "used USE=ssl to build it."
-		return 0
-	fi
-
-	if ! hash certtool &>/dev/null; then
-		die "certtool not found! Is net-libs/gnutls[tools] is installed?"
-	fi
-
-	# Make sure the certificates directory exists
-	local CERTDIR="${EROOT}/etc/ssl/${PN}"
-	if [[ ! -d "${CERTDIR}" ]]; then
-		mkdir "${CERTDIR}" || die
-	fi
-	einfo "Your certificates will be stored in ${CERTDIR}"
-
-	# Create a default CA if needed
-	if [[ ! -f "${CERTDIR}/${PN}_ca.cert.pem" ]]; then
-		einfo "No CA key and certificate found in ${CERTDIR}, creating them for you..."
-		certtool --generate-privkey \
-			--outfile "${CERTDIR}/${PN}_ca.privkey.pem" || die
-		chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
-
-		cat > "${T}/${PF}.$$" <<- _EOF
-		cn = Portage automated CA
-		ca
-		cert_signing_key
-		expiration_days = 3650
-		_EOF
-
-		certtool --generate-self-signed \
-			--load-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
-			--outfile "${CERTDIR}/${PN}_ca.cert.pem" \
-			--template "${T}/${PF}.$$" || die
-		chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
-
-		# Create the server certificate
-		echo
-		einfon "Please type the Common Name of the SERVER you wish to create a certificate for: "
-		read -r CN
-
-		einfo "Creating private key and certificate for server ${CN}..."
-		certtool --generate-privkey \
-			--outfile "${CERTDIR}/${PN}_${CN}.key.pem" || die
-		chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
-
-		cat > "${T}/${PF}.$$" <<- _EOF
-		cn = ${CN}
-		tls_www_server
-		dns_name = ${CN}
-		expiration_days = 3650
-		_EOF
-
-		certtool --generate-certificate \
-			--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
-			--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
-			--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
-			--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
-			--template "${T}/${PF}.$$" &>/dev/null
-		chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
-
-	else
-		einfo "Found existing ${CERTDIR}/${PN}_ca.cert.pem, skipping CA and SERVER creation."
-	fi
-
-	# Create a client certificate
-	echo
-	einfon "Please type the Common Name of the CLIENT you wish to create a certificate for: "
-	read -r CN
-
-	einfo "Creating private key and certificate for client ${CN}..."
-	certtool --generate-privkey \
-		--outfile "${CERTDIR}/${PN}_${CN}.key.pem" || die
-	chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
-
-	cat > "${T}/${PF}.$$" <<- _EOF
-	cn = ${CN}
-	tls_www_client
-	dns_name = ${CN}
-	expiration_days = 3650
-	_EOF
-
-	certtool --generate-certificate \
-		--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
-		--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
-		--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
-		--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
-		--template "${T}/${PF}.$$" || die
-	chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
-
-	rm -f "${T}/${PF}.$$"
-
-	echo
-	einfo "Here is the documentation on how to encrypt your log traffic:"
-	einfo " https://www.rsyslog.com/doc/rsyslog_tls.html"
-}
diff --git a/app-admin/rsyslog/rsyslog-8.2112.0-r2.ebuild b/app-admin/rsyslog/rsyslog-8.2112.0-r2.ebuild
new file mode 100644
index 0000000..a8de449
--- /dev/null
+++ b/app-admin/rsyslog/rsyslog-8.2112.0-r2.ebuild
@@ -0,0 +1,457 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit autotools linux-info python-any-r1 systemd
+
+DESCRIPTION="An enhanced multi-threaded syslogd with database support and more"
+HOMEPAGE="https://www.rsyslog.com/"
+
+if [[ ${PV} == "9999" ]]; then
+	EGIT_REPO_URI="https://github.com/rsyslog/${PN}.git"
+
+	DOC_REPO_URI="https://github.com/rsyslog/${PN}-doc.git"
+
+	inherit git-r3
+else
+	KEYWORDS="*"
+
+	SRC_URI="
+		https://www.rsyslog.com/files/download/${PN}/${P}.tar.gz
+		doc? ( https://www.rsyslog.com/files/download/${PN}/${PN}-doc-${PV}.tar.gz )
+	"
+fi
+
+LICENSE="GPL-3 LGPL-3 Apache-2.0"
+SLOT="0"
+
+IUSE="clickhouse curl dbi debug doc elasticsearch +gcrypt gnutls imhttp"
+IUSE+=" impcap jemalloc kafka kerberos kubernetes mdblookup"
+IUSE+=" mongodb mysql normalize omhttp omhttpfs omudpspoof +openssl"
+IUSE+=" postgres rabbitmq redis relp rfc3195 rfc5424hmac snmp +ssl"
+IUSE+=" systemd test usertools +uuid xxhash zeromq"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=( "${FILESDIR}/001-add-imstdoutsock-plugin.patch" )
+
+REQUIRED_USE="
+	kubernetes? ( normalize )
+	ssl? ( || ( gnutls openssl ) )
+"
+
+BDEPEND=">=sys-devel/autoconf-archive-2015.02.24
+	virtual/pkgconfig
+	test? (
+		jemalloc? ( <sys-libs/libfaketime-0.9.7 )
+		!jemalloc? ( sys-libs/libfaketime )
+		${PYTHON_DEPS}
+	)"
+
+RDEPEND="
+	>=dev-libs/libfastjson-0.99.8:=
+	>=dev-libs/libestr-0.1.9
+	>=sys-libs/zlib-1.2.5
+	chromeos-base/syslog-cat
+	curl? ( >=net-misc/curl-7.35.0 )
+	dbi? ( >=dev-db/libdbi-0.8.3 )
+	elasticsearch? ( >=net-misc/curl-7.35.0 )
+	gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= )
+	imhttp? (
+		dev-libs/apr-util
+		www-servers/civetweb
+		virtual/libcrypt:=
+	)
+	impcap? ( net-libs/libpcap )
+	jemalloc? ( >=dev-libs/jemalloc-3.3.1:= )
+	kafka? ( >=dev-libs/librdkafka-0.9.0.99:= )
+	kerberos? ( virtual/krb5 )
+	kubernetes? ( >=net-misc/curl-7.35.0 )
+	mdblookup? ( dev-libs/libmaxminddb:= )
+	mongodb? ( >=dev-libs/mongo-c-driver-1.1.10:= )
+	mysql? ( dev-db/mysql-connector-c:= )
+	normalize? (
+		>=dev-libs/liblognorm-2.0.3:=
+	)
+	clickhouse? ( >=net-misc/curl-7.35.0 )
+	omhttpfs? ( >=net-misc/curl-7.35.0 )
+	omudpspoof? ( >=net-libs/libnet-1.1.6 )
+	postgres? ( >=dev-db/postgresql-8.4.20:= )
+	rabbitmq? ( >=net-libs/rabbitmq-c-0.3.0:= )
+	redis? (
+		>=dev-libs/hiredis-0.11.0:=
+		dev-libs/libevent[threads]
+	)
+	relp? ( >=dev-libs/librelp-1.2.17:= )
+	rfc3195? ( >=dev-libs/liblogging-1.0.1:=[rfc3195] )
+	rfc5424hmac? (
+		>=dev-libs/openssl-0.9.8y:0=
+	)
+	snmp? ( >=net-analyzer/net-snmp-5.7.2 )
+	ssl? (
+		gnutls? ( >=net-libs/gnutls-2.12.23:0= )
+		openssl? (
+			dev-libs/openssl:0=
+		)
+	)
+	systemd? ( >=sys-apps/systemd-234 )
+	uuid? ( sys-apps/util-linux:0= )
+	xxhash? ( dev-libs/xxhash:= )
+	zeromq? (
+		>=net-libs/czmq-4:=[drafts]
+	)"
+
+DEPEND="
+	${RDEPEND}
+	elibc_musl? ( sys-libs/queue-standalone )
+"
+
+if [[ ${PV} == "9999" ]]; then
+	BDEPEND+=" doc? ( >=dev-python/sphinx-1.1.3-r7 )"
+	BDEPEND+=" >=sys-devel/flex-2.5.39-r1"
+	BDEPEND+=" >=sys-devel/bison-2.4.3"
+	BDEPEND+=" >=dev-python/docutils-0.12"
+fi
+
+CONFIG_CHECK="~INOTIFY_USER"
+WARNING_INOTIFY_USER="CONFIG_INOTIFY_USER isn't set. Imfile module on this system will only support polling mode!"
+
+pkg_setup() {
+	use test && python-any-r1_pkg_setup
+}
+
+src_unpack() {
+	if [[ ${PV} == "9999" ]]; then
+		git-r3_fetch
+		git-r3_checkout
+	else
+		unpack ${P}.tar.gz
+	fi
+
+	cp -rf "${FILESDIR}/001-add-imstdoutsock-plugin" "./${PN}-${PV}/plugins/imstdoutsock"
+
+	if use doc; then
+		if [[ ${PV} == "9999" ]]; then
+			local _EGIT_BRANCH=
+			if [[ -n "${EGIT_BRANCH}" ]]; then
+				# Cannot use rsyslog commits/branches for documentation repository
+				_EGIT_BRANCH=${EGIT_BRANCH}
+				unset EGIT_BRANCH
+			fi
+
+			git-r3_fetch "${DOC_REPO_URI}"
+			git-r3_checkout "${DOC_REPO_URI}" "${S}"/docs
+
+			if [[ -n "${_EGIT_BRANCH}" ]]; then
+				# Restore previous EGIT_BRANCH information
+				EGIT_BRANCH=${_EGIT_BRANCH}
+			fi
+		else
+			cd "${S}" || die "Cannot change dir into '${S}'"
+			mkdir docs || die "Failed to create docs directory"
+			cd docs || die "Failed to change dir into '${S}/docs'"
+			unpack ${PN}-doc-${PV}.tar.gz
+		fi
+	fi
+}
+
+src_prepare() {
+	default
+
+	# https://github.com/rsyslog/rsyslog/issues/3626
+	sed -i \
+		-e '\|^#!/bin/bash$|a exit 77' \
+		tests/mmkubernetes-cache-expir*.sh \
+		|| die "Failed to disabled known test failure mmkubernetes-cache-expir*.sh"
+
+	eautoreconf
+}
+
+src_configure() {
+	# Maintainer notes:
+	# * Guardtime support is missing because libgt isn't yet available
+	#   in portage.
+	# * Hadoop's HDFS file system output module is currently not
+	#   supported in Gentoo because nobody is able to test it
+	#   (JAVA dependency).
+	# * dev-libs/hiredis doesn't provide pkg-config (see #504614,
+	#   upstream PR 129 and 136) so we need to export HIREDIS_*
+	#   variables because rsyslog's build system depends on pkg-config.
+
+	if use redis; then
+		export HIREDIS_LIBS="-L${EPREFIX}/usr/$(get_libdir) -lhiredis"
+		export HIREDIS_CFLAGS="-I${EPREFIX}/usr/include"
+	fi
+
+	local myeconfargs=(
+		--disable-debug-symbols
+		--disable-generate-man-pages
+		--without-valgrind-testbench
+		--disable-liblogging-stdlog
+		$(use_enable test testbench)
+		$(use_enable test libfaketime)
+		$(use_enable test extended-tests)
+		# Input Plugins without dependencies
+		--enable-imbatchreport
+		--enable-imdiag
+		--enable-imfile
+		--enable-improg
+		--enable-impstats
+		--enable-imptcp
+		# Message Modificiation Plugins without dependencies
+		--enable-mmanon
+		--enable-mmaudit
+		--enable-mmcount
+		--enable-mmfields
+		--enable-mmjsonparse
+		--enable-mmpstrucdata
+		--enable-mmrm1stspace
+		--enable-mmsequence
+		--enable-mmtaghostname
+		--enable-mmutf8fix
+		# Output Modification Plugins without dependencies
+		--enable-mail
+		--enable-omprog
+		--enable-omruleset
+		--enable-omstdout
+		--enable-omuxsock
+		# Misc
+		--enable-fmhash
+		--enable-fmunflatten
+		$(use_enable xxhash fmhash-xxhash)
+		--enable-pmaixforwardedfrom
+		--enable-pmciscoios
+		--enable-pmcisconames
+		--enable-pmdb2diag
+		--enable-pmlastmsg
+		$(use_enable normalize pmnormalize)
+		--enable-pmnull
+		--enable-pmpanngfw
+		--enable-pmsnare
+		# DB
+		$(use_enable dbi libdbi)
+		$(use_enable mongodb ommongodb)
+		$(use_enable mysql)
+		$(use_enable postgres pgsql)
+		$(use_enable redis imhiredis)
+		$(use_enable redis omhiredis)
+		# Debug
+		$(use_enable debug)
+		$(use_enable debug diagtools)
+		$(use_enable debug valgrind)
+		# Misc
+		$(use_enable clickhouse)
+		$(use_enable curl fmhttp)
+		$(use_enable elasticsearch)
+		$(use_enable gcrypt libgcrypt)
+		$(use_enable imhttp)
+		$(use_enable impcap)
+		$(use_enable jemalloc)
+		$(use_enable kafka imkafka)
+		$(use_enable kafka omkafka)
+		$(use_enable kerberos gssapi-krb5)
+		$(use_enable kubernetes mmkubernetes)
+		$(use_enable normalize mmnormalize)
+		$(use_enable mdblookup mmdblookup)
+		$(use_enable omhttp)
+		$(use_enable omhttpfs)
+		$(use_enable omudpspoof)
+		$(use_enable rabbitmq omrabbitmq)
+		$(use_enable relp)
+		$(use_enable rfc3195)
+		$(use_enable rfc5424hmac mmrfc5424addhmac)
+		$(use_enable snmp)
+		$(use_enable snmp mmsnmptrapd)
+		$(use_enable gnutls)
+		$(use_enable openssl)
+		$(use_enable systemd imjournal)
+		$(use_enable systemd omjournal)
+		$(use_enable usertools)
+		$(use_enable uuid)
+		$(use_enable zeromq imczmq)
+		$(use_enable zeromq omczmq)
+		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+	)
+
+	econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+	default
+
+	if use doc && [[ "${PV}" == "9999" ]]; then
+		einfo "Building documentation ..."
+		local doc_dir="${S}/docs"
+		cd "${doc_dir}" || die "Cannot chdir into \"${doc_dir}\"!"
+		sphinx-build -b html source build || die "Building documentation failed!"
+	fi
+}
+
+src_test() {
+	local _has_increased_ulimit=
+
+	# Sometimes tests aren't executable (i.e. when added via patch)
+	einfo "Adjusting permissions of test scripts ..."
+	find "${S}"/tests -type f -name '*.sh' \! -perm -111 -exec chmod a+x '{}' \; || \
+		die "Failed to adjust test scripts permission"
+
+	if ulimit -n 3072; then
+		_has_increased_ulimit="true"
+	fi
+
+	if ! emake --jobs 1 check; then
+		eerror "Test suite failed! :("
+
+		if [[ -z "${_has_increased_ulimit}" ]]; then
+			eerror "Probably because open file limit couldn't be set to 3072."
+		fi
+
+		if has userpriv ${FEATURES}; then
+			eerror "Please try to reproduce the test suite failure with FEATURES=-userpriv " \
+				"before you submit a bug report."
+		fi
+
+	fi
+}
+
+src_install() {
+	local DOCS=(
+		AUTHORS
+		ChangeLog
+		"${FILESDIR}"/README.gentoo
+	)
+
+	use doc && local HTML_DOCS=( "${S}/docs/build/." )
+
+	default
+
+	newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+	newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
+
+	use systemd && systemd_newunit "${FILESDIR}/${PN}.service" ${PN}.service
+
+	keepdir /etc/ssl/${PN}
+	keepdir /etc/${PN}.d
+
+	insinto /etc
+	newins "${FILESDIR}/${PN}.conf" ${PN}.conf
+
+	insinto /etc/rsyslog.d/
+	newins "${FILESDIR}/50-default-r1.conf" 50-default.conf
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}/${PN}-r1.logrotate" ${PN}
+
+	if use mysql; then
+		insinto /usr/share/${PN}/scripts/mysql
+		doins plugins/ommysql/createDB.sql
+	fi
+
+	if use postgres; then
+		insinto /usr/share/${PN}/scripts/pgsql
+		doins plugins/ompgsql/createDB.sql
+	fi
+
+	find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_config() {
+	if ! use ssl; then
+		einfo "There is nothing to configure for rsyslog unless you"
+		einfo "used USE=ssl to build it."
+		return 0
+	fi
+
+	if ! hash certtool &>/dev/null; then
+		die "certtool not found! Is net-libs/gnutls[tools] is installed?"
+	fi
+
+	# Make sure the certificates directory exists
+	local CERTDIR="${EROOT}/etc/ssl/${PN}"
+	if [[ ! -d "${CERTDIR}" ]]; then
+		mkdir "${CERTDIR}" || die
+	fi
+	einfo "Your certificates will be stored in ${CERTDIR}"
+
+	# Create a default CA if needed
+	if [[ ! -f "${CERTDIR}/${PN}_ca.cert.pem" ]]; then
+		einfo "No CA key and certificate found in ${CERTDIR}, creating them for you..."
+		certtool --generate-privkey \
+			--outfile "${CERTDIR}/${PN}_ca.privkey.pem" || die
+		chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
+
+		cat > "${T}/${PF}.$$" <<- _EOF
+		cn = Portage automated CA
+		ca
+		cert_signing_key
+		expiration_days = 3650
+		_EOF
+
+		certtool --generate-self-signed \
+			--load-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
+			--outfile "${CERTDIR}/${PN}_ca.cert.pem" \
+			--template "${T}/${PF}.$$" || die
+		chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
+
+		# Create the server certificate
+		echo
+		einfon "Please type the Common Name of the SERVER you wish to create a certificate for: "
+		read -r CN
+
+		einfo "Creating private key and certificate for server ${CN}..."
+		certtool --generate-privkey \
+			--outfile "${CERTDIR}/${PN}_${CN}.key.pem" || die
+		chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
+
+		cat > "${T}/${PF}.$$" <<- _EOF
+		cn = ${CN}
+		tls_www_server
+		dns_name = ${CN}
+		expiration_days = 3650
+		_EOF
+
+		certtool --generate-certificate \
+			--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
+			--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
+			--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
+			--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
+			--template "${T}/${PF}.$$" &>/dev/null
+		chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
+
+	else
+		einfo "Found existing ${CERTDIR}/${PN}_ca.cert.pem, skipping CA and SERVER creation."
+	fi
+
+	# Create a client certificate
+	echo
+	einfon "Please type the Common Name of the CLIENT you wish to create a certificate for: "
+	read -r CN
+
+	einfo "Creating private key and certificate for client ${CN}..."
+	certtool --generate-privkey \
+		--outfile "${CERTDIR}/${PN}_${CN}.key.pem" || die
+	chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
+
+	cat > "${T}/${PF}.$$" <<- _EOF
+	cn = ${CN}
+	tls_www_client
+	dns_name = ${CN}
+	expiration_days = 3650
+	_EOF
+
+	certtool --generate-certificate \
+		--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
+		--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
+		--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
+		--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
+		--template "${T}/${PF}.$$" || die
+	chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
+
+	rm -f "${T}/${PF}.$$"
+
+	echo
+	einfo "Here is the documentation on how to encrypt your log traffic:"
+	einfo " https://www.rsyslog.com/doc/rsyslog_tls.html"
+}
diff --git a/app-arch/libarchive/Manifest b/app-arch/libarchive/Manifest
deleted file mode 100644
index 5a2008c..0000000
--- a/app-arch/libarchive/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libarchive-3.5.1.tar.gz 7008338 BLAKE2B 243dfda2bd4582bbc20679328b89aae0c530475c822dcf9ff25c65df2017b8f18bb616142d6ab016ccea4a5aa1b410d46b913c2ee0afefd2fdb1a41cf51585d9 SHA512 08ddd74bef4cef0981739da202879f36cf7ca33a8f6d438724588efe3ab8477f2f1d0cccf7b8ed0bedfc0c8d0cab16ee3ae5c0c6e83b6811bc650d7d7471a996
diff --git a/app-arch/libarchive/OWNERS b/app-arch/libarchive/OWNERS
deleted file mode 100644
index cd9ddc6..0000000
--- a/app-arch/libarchive/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-include chromiumos/platform2:/cros-disks/OWNERS
diff --git a/app-arch/libarchive/files/libarchive-3.5.0-darwin-strnlen.patch b/app-arch/libarchive/files/libarchive-3.5.0-darwin-strnlen.patch
deleted file mode 100644
index 8f540e4..0000000
--- a/app-arch/libarchive/files/libarchive-3.5.0-darwin-strnlen.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-https://github.com/macports/macports-ports/blob/master/archivers/libarchive/files/patch-libarchive-3.5-strnlen.diff
-
-next release should have a fix for this
-
---- a/libarchive/archive_read_support_format_mtree.c
-+++ b/libarchive/archive_read_support_format_mtree.c
-@@ -65,6 +65,20 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_read_support_format_mtree.c 2011
- #define O_CLOEXEC	0
- #endif
- 
-+#ifdef __APPLE__
-+#if  __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070
-+static size_t strnlen(const char *s, size_t maxlen) {
-+  size_t l = 0;
-+  while (l < maxlen && *s) {
-+    l++;
-+    s++;
-+  }
-+  return l;
-+}
-+#endif
-+#endif
-+
-+
- #define	MTREE_HAS_DEVICE	0x0001
- #define	MTREE_HAS_FFLAGS	0x0002
- #define	MTREE_HAS_GID		0x0004
diff --git a/app-arch/libarchive/files/libarchive-3.5.1-7zip-32-bit-size.patch b/app-arch/libarchive/files/libarchive-3.5.1-7zip-32-bit-size.patch
deleted file mode 100644
index ca0d1c6..0000000
--- a/app-arch/libarchive/files/libarchive-3.5.1-7zip-32-bit-size.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-commit 4da892a67a30476798af79586fec79388620756c
-Author: r0ptr <r0ptr@protonmail.com>
-Date:   Sun Jan 10 13:36:03 2021 +0100
-
-    Fix truncation of size values during 7zip archive extraction on 32bit architectures
-
-diff --git a/libarchive/archive_read_support_format_7zip.c b/libarchive/archive_read_support_format_7zip.c
-index 6ce9d1a0..f98566a3 100644
---- a/libarchive/archive_read_support_format_7zip.c
-+++ b/libarchive/archive_read_support_format_7zip.c
-@@ -808,8 +808,12 @@ archive_read_format_7zip_read_data(struct archive_read *a,
- 	if (zip->end_of_entry)
- 		return (ARCHIVE_EOF);
- 
--	bytes = read_stream(a, buff,
--		(size_t)zip->entry_bytes_remaining, 0);
-+	const uint64_t max_read_size = 16 * 1024 * 1024;  // Don't try to read more than 16 MB at a time
-+	size_t bytes_to_read = max_read_size;
-+	if ((uint64_t)bytes_to_read > zip->entry_bytes_remaining) {
-+		bytes_to_read = zip->entry_bytes_remaining;
-+	}
-+	bytes = read_stream(a, buff, bytes_to_read, 0);
- 	if (bytes < 0)
- 		return ((int)bytes);
- 	if (bytes == 0) {
-@@ -3031,10 +3035,10 @@ extract_pack_stream(struct archive_read *a, size_t minimum)
- 			    "Truncated 7-Zip file body");
- 			return (ARCHIVE_FATAL);
- 		}
--		if (bytes_avail > (ssize_t)zip->pack_stream_inbytes_remaining)
-+		if ((uint64_t)bytes_avail > zip->pack_stream_inbytes_remaining)
- 			bytes_avail = (ssize_t)zip->pack_stream_inbytes_remaining;
- 		zip->pack_stream_inbytes_remaining -= bytes_avail;
--		if (bytes_avail > (ssize_t)zip->folder_outbytes_remaining)
-+		if ((uint64_t)bytes_avail > zip->folder_outbytes_remaining)
- 			bytes_avail = (ssize_t)zip->folder_outbytes_remaining;
- 		zip->folder_outbytes_remaining -= bytes_avail;
- 		zip->uncompressed_buffer_bytes_remaining = bytes_avail;
diff --git a/app-arch/libarchive/files/libarchive-3.5.1-disable-rar5.patch b/app-arch/libarchive/files/libarchive-3.5.1-disable-rar5.patch
deleted file mode 100644
index 24b5528..0000000
--- a/app-arch/libarchive/files/libarchive-3.5.1-disable-rar5.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/libarchive/archive_read_support_format_rar5.c b/libarchive/archive_read_support_format_rar5.c
-index 5d62d16e..32e1757c 100644
---- a/libarchive/archive_read_support_format_rar5.c
-+++ b/libarchive/archive_read_support_format_rar5.c
-@@ -4059,6 +4059,9 @@ static int rar5_init(struct rar5* rar) {
- }
- 
- int archive_read_support_format_rar5(struct archive *_a) {
-+	/* Chrome OS has disabled libarchive/rar5 support. */
-+	return ARCHIVE_FATAL;
-+
- 	struct archive_read* ar;
- 	int ret;
- 	struct rar5* rar;
diff --git a/app-arch/libarchive/libarchive-3.5.1-r2.ebuild b/app-arch/libarchive/libarchive-3.5.1-r2.ebuild
deleted file mode 120000
index ba24b32..0000000
--- a/app-arch/libarchive/libarchive-3.5.1-r2.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-libarchive-3.5.1.ebuild
\ No newline at end of file
diff --git a/app-arch/libarchive/libarchive-3.5.1.ebuild b/app-arch/libarchive/libarchive-3.5.1.ebuild
deleted file mode 100644
index b8bc8f8..0000000
--- a/app-arch/libarchive/libarchive-3.5.1.ebuild
+++ /dev/null
@@ -1,149 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit libtool multilib-minimal toolchain-funcs
-
-DESCRIPTION="Multi-format archive and compression library"
-HOMEPAGE="https://www.libarchive.org/"
-SRC_URI="https://www.libarchive.org/downloads/${P}.tar.gz"
-
-LICENSE="BSD BSD-2 BSD-4 public-domain"
-SLOT="0/13"
-KEYWORDS="*"
-IUSE="acl blake2 +bzip2 +e2fsprogs expat +iconv kernel_linux lz4 +lzma lzo nettle static-libs +threads xattr +zlib zstd"
-
-RDEPEND="
-	acl? ( virtual/acl[${MULTILIB_USEDEP}] )
-	blake2? ( app-crypt/libb2[${MULTILIB_USEDEP}] )
-	bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
-	expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
-	!expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
-	iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
-	kernel_linux? (
-		xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
-	)
-	dev-libs/openssl:0=[${MULTILIB_USEDEP}]
-	lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
-	lzma? ( app-arch/xz-utils[threads=,${MULTILIB_USEDEP}] )
-	lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
-	nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
-	zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
-	zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
-	kernel_linux? (
-		virtual/os-headers
-		e2fsprogs? ( sys-fs/e2fsprogs )
-	)"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-3.5.0-darwin-strnlen.patch  # drop on next release
-	# There was a security vulnerability in libarchive's rar5 support. We don't
-	# have a fix yet, but we also don't use it (unlike libarchive's support for
-	# other formats). Just disable it.
-	# https://bugs.chromium.org/p/chromium/issues/detail?id=1233932
-	"${FILESDIR}"/${PN}-3.5.1-disable-rar5.patch
-	# https://github.com/libarchive/libarchive/commit/4da892a67a30476798af79586fec79388620756c
-	# was committed on 2021-01-10, after 3.5.1 was released on 2020-12-26.
-	"${FILESDIR}"/${PN}-3.5.1-7zip-32-bit-size.patch
-)
-
-src_prepare() {
-	default
-	elibtoolize  # is required for Solaris sol2_ld linker fix
-}
-
-multilib_src_configure() {
-	export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
-
-	local myconf=(
-		$(use_enable acl)
-		$(use_enable static-libs static)
-		$(use_enable xattr)
-		$(use_with blake2 libb2)
-		$(use_with bzip2 bz2lib)
-		$(use_with expat)
-		$(use_with !expat xml2)
-		$(use_with iconv)
-		$(use_with lz4)
-		$(use_with lzma)
-		$(use_with lzo lzo2)
-		$(use_with nettle)
-		$(use_with zlib)
-		$(use_with zstd)
-
-		# Windows-specific
-		--without-cng
-	)
-	if multilib_is_native_abi ; then
-		myconf+=(
-			--enable-bsdcat=$(tc-is-static-only && echo static || echo shared)
-			--enable-bsdcpio=$(tc-is-static-only && echo static || echo shared)
-			--enable-bsdtar=$(tc-is-static-only && echo static || echo shared)
-		)
-	else
-		myconf+=(
-			--disable-bsdcat
-			--disable-bsdcpio
-			--disable-bsdtar
-		)
-	fi
-
-	ECONF_SOURCE="${S}" econf "${myconf[@]}"
-}
-
-multilib_src_compile() {
-	if multilib_is_native_abi ; then
-		emake
-	else
-		emake libarchive.la
-	fi
-}
-
-src_test() {
-	mkdir -p "${T}"/bin || die
-	# tests fail when lbzip2[symlink] is used in place of ref bunzip2
-	ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die
-	local -x PATH=${T}/bin:${PATH}
-	multilib-minimal_src_test
-}
-
-multilib_src_test() {
-	# sandbox is breaking long symlink behavior
-	local -x SANDBOX_ON=0
-	local -x LD_PRELOAD=
-	# some locales trigger different output that breaks tests
-	local -x LC_ALL=C
-	emake check
-}
-
-multilib_src_install() {
-	if multilib_is_native_abi ; then
-		emake DESTDIR="${D}" install
-
-		# Create symlinks for FreeBSD
-		if ! use prefix && [[ ${CHOST} == *-freebsd* ]]; then
-			# Exclude cat for the time being #589876
-			for bin in cpio tar; do
-				dosym bsd${bin} /usr/bin/${bin}
-				echo '.so bsd${bin}.1' > "${T}"/${bin}.1
-				doman "${T}"/${bin}.1
-			done
-		fi
-	else
-		local install_targets=(
-			install-includeHEADERS
-			install-libLTLIBRARIES
-			install-pkgconfigDATA
-		)
-		emake DESTDIR="${D}" "${install_targets[@]}"
-	fi
-
-	# Libs.private: should be used from libarchive.pc instead
-	find "${ED}" -type f -name "*.la" -delete || die
-}
-
-multilib_src_install_all() {
-	cd "${S}" || die
-	einstalldocs
-}
diff --git a/app-arch/libarchive/metadata.xml b/app-arch/libarchive/metadata.xml
deleted file mode 100644
index 82253c3..0000000
--- a/app-arch/libarchive/metadata.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-	<maintainer type="person">
-		<email>mgorny@gentoo.org</email>
-		<name>Michał Górny</name>
-	</maintainer>
-	<longdescription lang="en">
-		C library and command-line tools for reading and writing tar, cpio, zip, ISO, and other archive formats.
-	</longdescription>
-	<use>
-		<flag name="blake2">
-			Enable Blake2 hash support via <pkg>app-crypt/libb2</pkg>.
-		</flag>
-		<flag name="bzip2">
-			Allow accessing bzip2-compressed archives through libbz2 (which
-			comes with <pkg>app-arch/bzip2</pkg>). This only affects
-			libarchive's native support: bsdtar will keep using bunzip2 as a
-			filter if that's not built-in.
-		</flag>
-		<flag name="e2fsprogs">
-			Use file flags from <pkg>sys-fs/e2fsprogs</pkg> headers instead of <pkg>virtual/os-headers</pkg> headers
-		</flag>
-		<flag name="nettle">
-			Use <pkg>dev-libs/nettle</pkg> as crypto backend
-		</flag>
-		<flag name="zlib">
-			Allow accessing gzip-compressed archives through
-			<pkg>sys-libs/zlib</pkg>. This only affects libarchive's native
-			support: bsdtar will keep using gunzip as a filter if that's not
-			built-in. It's also needed for supporting extraction of ZIP
-			files.
-		</flag>
-	</use>
-	<upstream>
-		<remote-id type="cpe">cpe:/a:libarchive:libarchive</remote-id>
-		<remote-id type="github">libarchive/libarchive</remote-id>
-		<bugs-to>https://github.com/libarchive/libarchive/issues</bugs-to>
-	</upstream>
-</pkgmetadata>
diff --git a/app-benchmarks/OWNERS b/app-benchmarks/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/app-benchmarks/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/app-benchmarks/metadata.xml b/app-benchmarks/metadata.xml
deleted file mode 100644
index c7ff909..0000000
--- a/app-benchmarks/metadata.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The app-benchmarks category contains benchmarking software.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría app-benchmarks contiene programas para pruebas.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie app-benchmarks enthält Benchmark-Software.
-	</longdescription>
-	<longdescription lang="ja">
-		app-benchmarksカテゴリにはベンチマークソフトウェアが含まれます。
-	</longdescription>
-	<longdescription lang="nl">
-		De app-benchmarks categorie bevat benchmarking applicaties.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm app-benchmarks chứa các ứng dụng benchmark.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria app-benchmarks contiene programmi per l'analisi delle prestazioni.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria app-benchmarks contém programas para benchmarking.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria app-benchmarks zawiera oprogramowanie służące do testowania
-		wydajności.
-	</longdescription>
-</catmetadata>
-
diff --git a/app-benchmarks/microbenchmarks/microbenchmarks-0.0.1-r10.ebuild b/app-benchmarks/microbenchmarks/microbenchmarks-0.0.1-r10.ebuild
new file mode 100644
index 0000000..37cc575
--- /dev/null
+++ b/app-benchmarks/microbenchmarks/microbenchmarks-0.0.1-r10.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="ec4ae6c0d54618c01a5e1c78d80c44bc80af6ad6"
+CROS_WORKON_TREE="4278e97079c67ddefd0963eb7f6f8382f2aff914"
+CROS_WORKON_PROJECT="chromiumos/platform/microbenchmarks"
+CROS_WORKON_LOCALNAME="../platform/microbenchmarks"
+
+inherit cros-workon cros-common.mk cros-sanitizers
+
+DESCRIPTION="Home for microbenchmarks designed in-house."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/microbenchmarks"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
+src_install() {
+	dobin "${OUT}"/memory-eater/memory-eater
+}
diff --git a/app-benchmarks/microbenchmarks/microbenchmarks-0.0.1-r8.ebuild b/app-benchmarks/microbenchmarks/microbenchmarks-0.0.1-r8.ebuild
deleted file mode 100644
index f8cb5fc..0000000
--- a/app-benchmarks/microbenchmarks/microbenchmarks-0.0.1-r8.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_WORKON_COMMIT="beefcc767427751cf1343c1a944c5dbce7aabfa2"
-CROS_WORKON_TREE="d2f7a20eeeca7497d1af6de7e1afcb217fc28aae"
-CROS_WORKON_PROJECT="chromiumos/platform/microbenchmarks"
-CROS_WORKON_LOCALNAME="../platform/microbenchmarks"
-
-inherit cros-workon cros-common.mk
-
-DESCRIPTION="Home for microbenchmarks designed in-house."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/microbenchmarks"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-src_install() {
-	dobin "${OUT}"/memory-eater/memory-eater
-}
diff --git a/app-benchmarks/microbenchmarks/microbenchmarks-9999.ebuild b/app-benchmarks/microbenchmarks/microbenchmarks-9999.ebuild
index 03c334f..8ee45ce 100644
--- a/app-benchmarks/microbenchmarks/microbenchmarks-9999.ebuild
+++ b/app-benchmarks/microbenchmarks/microbenchmarks-9999.ebuild
@@ -6,7 +6,7 @@
 CROS_WORKON_PROJECT="chromiumos/platform/microbenchmarks"
 CROS_WORKON_LOCALNAME="../platform/microbenchmarks"
 
-inherit cros-workon cros-common.mk
+inherit cros-workon cros-common.mk cros-sanitizers
 
 DESCRIPTION="Home for microbenchmarks designed in-house."
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/microbenchmarks"
@@ -14,6 +14,11 @@
 LICENSE="BSD-Google"
 KEYWORDS="~*"
 
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
 src_install() {
 	dobin "${OUT}"/memory-eater/memory-eater
 }
diff --git a/app-crypt/OWNERS b/app-crypt/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/app-crypt/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/app-crypt/metadata.xml b/app-crypt/metadata.xml
deleted file mode 100644
index d508e60..0000000
--- a/app-crypt/metadata.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The app-crypt category contains cryptographic (encryption, decryption,
-		steganography and signing) software.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie app-crypt enhält kryptographische (Ver- und Entschlüsselung,
-		Steganographie, Signierung) Software.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría app-crypt contiene programas para criptografía
-		(cifrado, des-cifrado, estenografía y firmas). 
-	</longdescription>
-	<longdescription lang="ja">
-		app-cryptカテゴリには暗号手法ソフトウェア
-		(暗証化と復号化と電子透かしと電子署名)が含まれます。
-	</longdescription>
-	<longdescription lang="nl">
-		De app-crypt categorie bevat cryptografische applicaties (encryptie,
-		decryptie, steganografie,...).
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm app-crypto chứa các ứng dụng về mật mã (mã hóa,
-		giải mã, kỷ tên và steganography).
-	</longdescription>
-	<longdescription lang="it">
-		La categoria app-crypt contiene programmi di crittografia (cifratura, decifratura, steganografia e firma).
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria app-crypt contém programas criptográficos (cifradores,
-		descifradores, esteganografia e assinaturas).
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria app-crypt zawiera programy kryptograficzne związane z
-		szyfrowaniem, deszyfrowaniem, stenografią oraz podpisywaniem danych.
-	</longdescription>
-</catmetadata>
-
diff --git a/app-crypt/nss/OWNERS b/app-crypt/nss/OWNERS
new file mode 100644
index 0000000..10258e2
--- /dev/null
+++ b/app-crypt/nss/OWNERS
@@ -0,0 +1 @@
+include /OWNERS.security
\ No newline at end of file
diff --git a/app-crypt/nss/README.md b/app-crypt/nss/README.md
new file mode 100644
index 0000000..70875fd
--- /dev/null
+++ b/app-crypt/nss/README.md
@@ -0,0 +1,13 @@
+app-crypt/nss ebuild notes
+
+This ebuild only installs util binaries from the NSS library such as
+`certutil`. Those binaries are installed on test images to facilitate
+Tast tests and to provide other utilities.
+
+The Chrome OS nss ebuild carries the following modifications vs. upstream:
+
+* nss-3.38-shlibsign-path-pollution.patch
+* nss-3.44-prefer-writable-tokens-for-trust.patch
+* nss-3.68.2-nss-ld-fixup.patch
+
+This is in sync with dev-libs/nss to make sure builds are consistent.
diff --git a/app-crypt/nss/files/nss-3.32-gentoo-fixups.patch b/app-crypt/nss/files/nss-3.32-gentoo-fixups.patch
deleted file mode 100644
index 1773da9..0000000
--- a/app-crypt/nss/files/nss-3.32-gentoo-fixups.patch
+++ /dev/null
@@ -1,274 +0,0 @@
-From 8e49e1c92dadc2e7a41cad44637f4a224e4f5b39 Mon Sep 17 00:00:00 2001
-From: "Jory A. Pratt" <anarchy@gentoo.org>
-Date: Fri, 28 Jul 2017 14:00:41 -0500
-Subject: [PATCH] add pkg-config file
-
-Signed-off-by: Jory A. Pratt <anarchy@gentoo.org>
----
- Makefile             |  11 +---
- config/Makefile      |  40 ++++++++++++++
- config/nss-config.in | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++
- config/nss.pc.in     |  12 +++++
- manifest.mn          |   2 +-
- 5 files changed, 199 insertions(+), 11 deletions(-)
- create mode 100644 config/Makefile
- create mode 100644 config/nss-config.in
- create mode 100644 config/nss.pc.in
-
-diff --git a/Makefile b/Makefile
-index 48bae37..9850883 100644
---- a/Makefile
-+++ b/Makefile
-@@ -47,7 +47,7 @@ include $(CORE_DEPTH)/coreconf/rules.mk
- # (7) Execute "local" rules. (OPTIONAL).                              #
- #######################################################################
- 
--nss_build_all: build_nspr all latest
-+nss_build_all: all latest
- 
- nss_clean_all: clobber_nspr clobber
- 
-@@ -135,15 +135,6 @@ $(NSPR_CONFIG_STATUS): $(NSPR_CONFIGURE)
- 	--prefix='$(NSS_GYP_PREFIX)'
- endif
- 
--build_nspr: $(NSPR_CONFIG_STATUS)
--	$(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)
--
--install_nspr: build_nspr
--	$(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) install
--
--clobber_nspr: $(NSPR_CONFIG_STATUS)
--	$(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) clobber
--
- build_docs:
- 	$(MAKE) -C $(CORE_DEPTH)/doc
- 
-diff --git a/config/Makefile b/config/Makefile
-new file mode 100644
-index 0000000..600fe48
---- /dev/null
-+++ b/config/Makefile
-@@ -0,0 +1,40 @@
-+CORE_DEPTH = ..
-+DEPTH      = ..
-+
-+include $(CORE_DEPTH)/coreconf/config.mk
-+
-+NSS_MAJOR_VERSION = `grep "NSS_VMAJOR" ../lib/nss/nss.h | awk '{print $$3}'`
-+NSS_MINOR_VERSION = `grep "NSS_VMINOR" ../lib/nss/nss.h | awk '{print $$3}'`
-+NSS_PATCH_VERSION = `grep "NSS_VPATCH" ../lib/nss/nss.h | awk '{print $$3}'`
-+PREFIX = /usr
-+
-+all: export libs
-+
-+export:
-+	# Create the nss.pc file
-+	mkdir -p $(DIST)/lib/pkgconfig
-+	sed -e "s,@prefix@,$(PREFIX)," \
-+	    -e "s,@exec_prefix@,\$${prefix}," \
-+	    -e "s,@libdir@,\$${prefix}/lib64," \
-+	    -e "s,@includedir@,\$${prefix}/include/nss," \
-+	    -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION),g" \
-+	    -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
-+	    -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
-+	    nss.pc.in > nss.pc
-+	chmod 0644 nss.pc
-+	ln -sf ../../../../config/nss.pc $(DIST)/lib/pkgconfig
-+
-+	# Create the nss-config script
-+	mkdir -p $(DIST)/bin
-+	sed -e "s,@prefix@,$(PREFIX)," \
-+	    -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION)," \
-+	    -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
-+	    -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
-+	    nss-config.in > nss-config
-+	chmod 0755 nss-config
-+	ln -sf ../../../config/nss-config $(DIST)/bin
-+
-+libs:
-+
-+dummy: all export libs
-+
-diff --git a/config/nss-config.in b/config/nss-config.in
-new file mode 100644
-index 0000000..1d7c444
---- /dev/null
-+++ b/config/nss-config.in
-@@ -0,0 +1,145 @@
-+#!/bin/sh
-+
-+prefix=@prefix@
-+
-+major_version=@NSS_MAJOR_VERSION@
-+minor_version=@NSS_MINOR_VERSION@
-+patch_version=@NSS_PATCH_VERSION@
-+
-+usage()
-+{
-+	cat <<EOF
-+Usage: nss-config [OPTIONS] [LIBRARIES]
-+Options:
-+	[--prefix[=DIR]]
-+	[--exec-prefix[=DIR]]
-+	[--includedir[=DIR]]
-+	[--libdir[=DIR]]
-+	[--version]
-+	[--libs]
-+	[--cflags]
-+Dynamic Libraries:
-+	nss
-+	ssl
-+	smime
-+	nssutil
-+EOF
-+	exit $1
-+}
-+
-+if test $# -eq 0; then
-+	usage 1 1>&2
-+fi
-+
-+lib_ssl=yes
-+lib_smime=yes
-+lib_nss=yes
-+lib_nssutil=yes
-+
-+while test $# -gt 0; do
-+  case "$1" in
-+  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-+  *) optarg= ;;
-+  esac
-+
-+  case $1 in
-+    --prefix=*)
-+      prefix=$optarg
-+      ;;
-+    --prefix)
-+      echo_prefix=yes
-+      ;;
-+    --exec-prefix=*)
-+      exec_prefix=$optarg
-+      ;;
-+    --exec-prefix)
-+      echo_exec_prefix=yes
-+      ;;
-+    --includedir=*)
-+      includedir=$optarg
-+      ;;
-+    --includedir)
-+      echo_includedir=yes
-+      ;;
-+    --libdir=*)
-+      libdir=$optarg
-+      ;;
-+    --libdir)
-+      echo_libdir=yes
-+      ;;
-+    --version)
-+      echo ${major_version}.${minor_version}.${patch_version}
-+      ;;
-+    --cflags)
-+      echo_cflags=yes
-+      ;;
-+    --libs)
-+      echo_libs=yes
-+      ;;
-+    ssl)
-+      lib_ssl=yes
-+      ;;
-+    smime)
-+      lib_smime=yes
-+      ;;
-+    nss)
-+      lib_nss=yes
-+      ;;
-+    nssutil)                                                      
-+      lib_nssutil=yes                                             
-+      ;;
-+    *)
-+      usage 1 1>&2
-+      ;;
-+  esac
-+  shift
-+done
-+
-+# Set variables that may be dependent upon other variables
-+if test -z "$exec_prefix"; then
-+    exec_prefix=`pkg-config --variable=exec_prefix nss`
-+fi
-+if test -z "$includedir"; then
-+    includedir=`pkg-config --variable=includedir nss`
-+fi
-+if test -z "$libdir"; then
-+    libdir=`pkg-config --variable=libdir nss`
-+fi
-+
-+if test "$echo_prefix" = "yes"; then
-+    echo $prefix
-+fi
-+
-+if test "$echo_exec_prefix" = "yes"; then
-+    echo $exec_prefix
-+fi
-+
-+if test "$echo_includedir" = "yes"; then
-+    echo $includedir
-+fi
-+
-+if test "$echo_libdir" = "yes"; then
-+    echo $libdir
-+fi
-+
-+if test "$echo_cflags" = "yes"; then
-+    echo -I$includedir
-+fi
-+
-+if test "$echo_libs" = "yes"; then
-+      libdirs=""
-+      if test -n "$lib_ssl"; then
-+	libdirs="$libdirs -lssl${major_version}"
-+      fi
-+      if test -n "$lib_smime"; then
-+	libdirs="$libdirs -lsmime${major_version}"
-+      fi
-+      if test -n "$lib_nss"; then
-+	libdirs="$libdirs -lnss${major_version}"
-+      fi
-+      if test -n "$lib_nssutil"; then
-+       libdirs="$libdirs -lnssutil${major_version}"
-+      fi
-+      echo $libdirs
-+fi      
-+
-diff --git a/config/nss.pc.in b/config/nss.pc.in
-new file mode 100644
-index 0000000..df9e2cf
---- /dev/null
-+++ b/config/nss.pc.in
-@@ -0,0 +1,12 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+
-+Name: NSS
-+Description: Network Security Services
-+Version: @NSS_MAJOR_VERSION@.@NSS_MINOR_VERSION@.@NSS_PATCH_VERSION@
-+Requires: nspr >= 4.8
-+Libs: -lssl3 -lsmime3 -lnss3 -lnssutil3
-+Cflags: -I${includedir}
-+
-diff --git a/manifest.mn b/manifest.mn
-index 500a5ad..87c905e 100644
---- a/manifest.mn
-+++ b/manifest.mn
-@@ -10,4 +10,4 @@ IMPORTS =	nspr20/v4.8 \
- 
- RELEASE = nss
- 
--DIRS = coreconf lib cmd cpputil gtests
-+DIRS = coreconf lib cmd cpputil config
--- 
-2.13.3
-
diff --git a/app-crypt/nss/files/nss-3.68.2-nss-ld-fixup.patch b/app-crypt/nss/files/nss-3.68.2-nss-ld-fixup.patch
new file mode 100644
index 0000000..091f11f
--- /dev/null
+++ b/app-crypt/nss/files/nss-3.68.2-nss-ld-fixup.patch
@@ -0,0 +1,33 @@
+From 3cba2869869c8480605f7ffcc41d2e4bae1b31c8 Mon Sep 17 00:00:00 2001
+From: Zi Lin <lziest@google.com>
+Date: Wed, 9 Mar 2022 19:14:16 +0000
+Subject: [PATCH] Use $(LD) instead of 'ld' for cross-platform compilation
+
+---
+ coreconf/Linux.mk | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/coreconf/Linux.mk b/coreconf/Linux.mk
+index d5dfb6fbc..c7bb74eca 100644
+--- a/coreconf/Linux.mk
++++ b/coreconf/Linux.mk
+@@ -6,6 +6,7 @@
+ CC     ?= gcc
+ CCC    ?= g++
+ RANLIB ?= ranlib
++LD     ?= ld
+ 
+ include $(CORE_DEPTH)/coreconf/UNIX.mk
+ 
+@@ -157,7 +158,7 @@ DSO_LDOPTS		= -shared $(ARCHFLAG) -Wl,--gc-sections
+ # Also, -z defs conflicts with Address Sanitizer, which emits relocations
+ # against the libsanitizer runtime built into the main executable.
+ ZDEFS_FLAG		= -Wl,-z,defs
+-DSO_LDOPTS		+= $(if $(findstring 2.11.90.0.8,$(shell ld -v)),,$(ZDEFS_FLAG))
++DSO_LDOPTS		+= $(if $(findstring 2.11.90.0.8,$(shell $(LD) -v)),,$(ZDEFS_FLAG))
+ LDFLAGS			+= $(ARCHFLAG) -z noexecstack
+ 
+ # On Maemo, we need to use the -rpath-link flag for even the standard system
+-- 
+2.35.1.616.g0bdcbb4464-goog
+
diff --git a/app-crypt/nss/files/nss-cacert-class3.patch b/app-crypt/nss/files/nss-cacert-class3.patch
deleted file mode 100644
index 47f4da5..0000000
--- a/app-crypt/nss/files/nss-cacert-class3.patch
+++ /dev/null
@@ -1,204 +0,0 @@
-diff -urN a/nss/lib/ckfw/builtins/certdata.txt b/nss/lib/ckfw/builtins/certdata.txt
---- a/nss/lib/ckfw/builtins/certdata.txt	2015-01-22 13:49:26.000000000 -0600
-+++ b/nss/lib/ckfw/builtins/certdata.txt	2015-03-21 20:24:59.913637329 -0500
-@@ -30320,3 +30320,200 @@
- CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
- CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
- CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-+
-+#
-+# Certificate "CAcert Inc."
-+#
-+# Issuer: E=support@cacert.org,CN=CA Cert Signing Authority,OU=http://www.cacert.org,O=Root CA
-+# Serial Number: 672138 (0xa418a)
-+# Subject: CN=CAcert Class 3 Root,OU=http://www.CAcert.org,O=CAcert Inc.
-+# Not Valid Before: Mon May 23 17:48:02 2011
-+# Not Valid After : Thu May 20 17:48:02 2021
-+# Fingerprint (SHA-256): 4E:DD:E9:E5:5C:A4:53:B3:88:88:7C:AA:25:D5:C5:C5:BC:CF:28:91:D7:3B:87:49:58:08:29:3D:5F:AC:83:C8
-+# Fingerprint (SHA1): AD:7C:3F:64:FC:44:39:FE:F4:E9:0B:E8:F4:7C:6C:FA:8A:AD:FD:CE
-+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-+CKA_TOKEN CK_BBOOL CK_TRUE
-+CKA_PRIVATE CK_BBOOL CK_FALSE
-+CKA_MODIFIABLE CK_BBOOL CK_FALSE
-+CKA_LABEL UTF8 "CAcert Inc."
-+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-+CKA_SUBJECT MULTILINE_OCTAL
-+\060\124\061\024\060\022\006\003\125\004\012\023\013\103\101\143
-+\145\162\164\040\111\156\143\056\061\036\060\034\006\003\125\004
-+\013\023\025\150\164\164\160\072\057\057\167\167\167\056\103\101
-+\143\145\162\164\056\157\162\147\061\034\060\032\006\003\125\004
-+\003\023\023\103\101\143\145\162\164\040\103\154\141\163\163\040
-+\063\040\122\157\157\164
-+END
-+CKA_ID UTF8 "0"
-+CKA_ISSUER MULTILINE_OCTAL
-+\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157
-+\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150
-+\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164
-+\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103
-+\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101
-+\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206
-+\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164
-+\100\143\141\143\145\162\164\056\157\162\147
-+END
-+CKA_SERIAL_NUMBER MULTILINE_OCTAL
-+\002\003\012\101\212
-+END
-+CKA_VALUE MULTILINE_OCTAL
-+\060\202\007\131\060\202\005\101\240\003\002\001\002\002\003\012
-+\101\212\060\015\006\011\052\206\110\206\367\015\001\001\013\005
-+\000\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157
-+\157\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025
-+\150\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162
-+\164\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031
-+\103\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040
-+\101\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052
-+\206\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162
-+\164\100\143\141\143\145\162\164\056\157\162\147\060\036\027\015
-+\061\061\060\065\062\063\061\067\064\070\060\062\132\027\015\062
-+\061\060\065\062\060\061\067\064\070\060\062\132\060\124\061\024
-+\060\022\006\003\125\004\012\023\013\103\101\143\145\162\164\040
-+\111\156\143\056\061\036\060\034\006\003\125\004\013\023\025\150
-+\164\164\160\072\057\057\167\167\167\056\103\101\143\145\162\164
-+\056\157\162\147\061\034\060\032\006\003\125\004\003\023\023\103
-+\101\143\145\162\164\040\103\154\141\163\163\040\063\040\122\157
-+\157\164\060\202\002\042\060\015\006\011\052\206\110\206\367\015
-+\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202
-+\002\001\000\253\111\065\021\110\174\322\046\176\123\224\317\103
-+\251\335\050\327\102\052\213\363\207\170\031\130\174\017\236\332
-+\211\175\341\373\353\162\220\015\164\241\226\144\253\237\240\044
-+\231\163\332\342\125\166\307\027\173\365\004\254\106\270\303\276
-+\177\144\215\020\154\044\363\141\234\300\362\220\372\121\346\365
-+\151\001\143\303\017\126\342\112\102\317\342\104\214\045\050\250
-+\305\171\011\175\106\271\212\363\351\363\064\051\010\105\344\034
-+\237\313\224\004\034\201\250\024\263\230\145\304\103\354\116\202
-+\215\011\321\275\252\133\215\222\320\354\336\220\305\177\012\302
-+\343\353\346\061\132\136\164\076\227\063\131\350\303\003\075\140
-+\063\277\367\321\157\107\304\315\356\142\203\122\156\056\010\232
-+\244\331\025\030\221\246\205\222\107\260\256\110\353\155\267\041
-+\354\205\032\150\162\065\253\377\360\020\135\300\364\224\247\152
-+\325\073\222\176\114\220\005\176\223\301\054\213\244\216\142\164
-+\025\161\156\013\161\003\352\257\025\070\232\324\322\005\162\157
-+\214\371\053\353\132\162\045\371\071\106\343\162\033\076\004\303
-+\144\047\042\020\052\212\117\130\247\003\255\276\264\056\023\355
-+\135\252\110\327\325\175\324\052\173\134\372\106\004\120\344\314
-+\016\102\133\214\355\333\362\317\374\226\223\340\333\021\066\124
-+\142\064\070\217\014\140\233\073\227\126\070\255\363\322\133\213
-+\240\133\352\116\226\270\174\327\325\240\206\160\100\323\221\051
-+\267\242\074\255\365\214\273\317\032\222\212\344\064\173\300\330
-+\154\137\351\012\302\303\247\040\232\132\337\054\135\122\134\272
-+\107\325\233\357\044\050\160\070\040\057\325\177\051\300\262\101
-+\003\150\222\314\340\234\314\227\113\105\357\072\020\012\253\160
-+\072\230\225\160\255\065\261\352\205\053\244\034\200\041\061\251
-+\256\140\172\200\046\110\000\270\001\300\223\143\125\042\221\074
-+\126\347\257\333\072\045\363\217\061\124\352\046\213\201\131\371
-+\241\321\123\021\305\173\235\003\366\164\021\340\155\261\054\077
-+\054\206\221\231\161\232\246\167\213\064\140\321\024\264\054\254
-+\235\257\214\020\323\237\304\152\370\157\023\374\163\131\367\146
-+\102\164\036\212\343\370\334\322\157\230\234\313\107\230\225\100
-+\005\373\351\002\003\001\000\001\243\202\002\015\060\202\002\011
-+\060\035\006\003\125\035\016\004\026\004\024\165\250\161\140\114
-+\210\023\360\170\331\211\167\265\155\305\211\337\274\261\172\060
-+\201\243\006\003\125\035\043\004\201\233\060\201\230\200\024\026
-+\265\062\033\324\307\363\340\346\216\363\275\322\260\072\356\262
-+\071\030\321\241\175\244\173\060\171\061\020\060\016\006\003\125
-+\004\012\023\007\122\157\157\164\040\103\101\061\036\060\034\006
-+\003\125\004\013\023\025\150\164\164\160\072\057\057\167\167\167
-+\056\143\141\143\145\162\164\056\157\162\147\061\042\060\040\006
-+\003\125\004\003\023\031\103\101\040\103\145\162\164\040\123\151
-+\147\156\151\156\147\040\101\165\164\150\157\162\151\164\171\061
-+\041\060\037\006\011\052\206\110\206\367\015\001\011\001\026\022
-+\163\165\160\160\157\162\164\100\143\141\143\145\162\164\056\157
-+\162\147\202\001\000\060\017\006\003\125\035\023\001\001\377\004
-+\005\060\003\001\001\377\060\135\006\010\053\006\001\005\005\007
-+\001\001\004\121\060\117\060\043\006\010\053\006\001\005\005\007
-+\060\001\206\027\150\164\164\160\072\057\057\157\143\163\160\056
-+\103\101\143\145\162\164\056\157\162\147\057\060\050\006\010\053
-+\006\001\005\005\007\060\002\206\034\150\164\164\160\072\057\057
-+\167\167\167\056\103\101\143\145\162\164\056\157\162\147\057\143
-+\141\056\143\162\164\060\112\006\003\125\035\040\004\103\060\101
-+\060\077\006\010\053\006\001\004\001\201\220\112\060\063\060\061
-+\006\010\053\006\001\005\005\007\002\001\026\045\150\164\164\160
-+\072\057\057\167\167\167\056\103\101\143\145\162\164\056\157\162
-+\147\057\151\156\144\145\170\056\160\150\160\077\151\144\075\061
-+\060\060\064\006\011\140\206\110\001\206\370\102\001\010\004\047
-+\026\045\150\164\164\160\072\057\057\167\167\167\056\103\101\143
-+\145\162\164\056\157\162\147\057\151\156\144\145\170\056\160\150
-+\160\077\151\144\075\061\060\060\120\006\011\140\206\110\001\206
-+\370\102\001\015\004\103\026\101\124\157\040\147\145\164\040\171
-+\157\165\162\040\157\167\156\040\143\145\162\164\151\146\151\143
-+\141\164\145\040\146\157\162\040\106\122\105\105\054\040\147\157
-+\040\164\157\040\150\164\164\160\072\057\057\167\167\167\056\103
-+\101\143\145\162\164\056\157\162\147\060\015\006\011\052\206\110
-+\206\367\015\001\001\013\005\000\003\202\002\001\000\051\050\205
-+\256\104\251\271\257\244\171\023\360\250\243\053\227\140\363\134
-+\356\343\057\301\366\342\146\240\021\256\066\067\072\166\025\004
-+\123\352\102\365\371\352\300\025\330\246\202\331\344\141\256\162
-+\013\051\134\220\103\350\101\262\341\167\333\002\023\104\170\107
-+\125\257\130\374\314\230\366\105\271\321\040\370\330\041\007\376
-+\155\252\163\324\263\306\007\351\011\205\314\073\362\266\276\054
-+\034\045\325\161\214\071\265\056\352\276\030\201\272\260\223\270
-+\017\343\346\327\046\214\061\132\162\003\204\122\346\246\365\063
-+\042\105\012\310\013\015\212\270\066\157\220\011\241\253\275\327
-+\325\116\056\161\242\324\256\372\247\124\053\353\065\215\132\267
-+\124\210\057\356\164\237\355\110\026\312\015\110\320\224\323\254
-+\244\242\366\044\337\222\343\275\353\103\100\221\156\034\030\216
-+\126\264\202\022\363\251\223\237\324\274\234\255\234\165\356\132
-+\227\033\225\347\164\055\034\017\260\054\227\237\373\251\063\071
-+\172\347\003\072\222\216\042\366\214\015\344\331\176\015\166\030
-+\367\001\371\357\226\226\242\125\163\300\074\161\264\035\032\126
-+\103\267\303\012\215\162\374\342\020\011\013\101\316\214\224\240
-+\371\003\375\161\163\113\212\127\063\345\216\164\176\025\001\000
-+\346\314\112\034\347\177\225\031\055\305\245\014\213\273\265\355
-+\205\263\134\323\337\270\271\362\312\307\015\001\024\254\160\130
-+\305\214\215\063\324\235\146\243\032\120\225\043\374\110\340\006
-+\103\022\331\315\247\206\071\057\066\162\243\200\020\344\341\363
-+\321\313\133\032\300\344\200\232\174\023\163\006\117\333\243\153
-+\044\012\272\263\034\274\112\170\273\345\343\165\070\245\110\247
-+\242\036\257\166\324\136\367\070\206\126\132\211\316\326\303\247
-+\171\262\122\240\306\361\205\264\045\214\362\077\226\263\020\331
-+\215\154\127\073\237\157\206\072\030\202\042\066\310\260\221\070
-+\333\052\241\223\252\204\077\365\047\145\256\163\325\310\325\323
-+\167\352\113\235\307\101\273\307\300\343\240\077\344\175\244\215
-+\163\346\022\113\337\241\163\163\163\072\200\350\325\313\216\057
-+\313\352\023\247\326\101\213\254\372\074\211\327\044\365\116\264
-+\340\141\222\267\363\067\230\304\276\226\243\267\212
-+END
-+
-+# Trust for "CAcert Inc."
-+# Issuer: E=support@cacert.org,CN=CA Cert Signing Authority,OU=http://www.cacert.org,O=Root CA
-+# Serial Number: 672138 (0xa418a)
-+# Subject: CN=CAcert Class 3 Root,OU=http://www.CAcert.org,O=CAcert Inc.
-+# Not Valid Before: Mon May 23 17:48:02 2011
-+# Not Valid After : Thu May 20 17:48:02 2021
-+# Fingerprint (SHA-256): 4E:DD:E9:E5:5C:A4:53:B3:88:88:7C:AA:25:D5:C5:C5:BC:CF:28:91:D7:3B:87:49:58:08:29:3D:5F:AC:83:C8
-+# Fingerprint (SHA1): AD:7C:3F:64:FC:44:39:FE:F4:E9:0B:E8:F4:7C:6C:FA:8A:AD:FD:CE
-+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-+CKA_TOKEN CK_BBOOL CK_TRUE
-+CKA_PRIVATE CK_BBOOL CK_FALSE
-+CKA_MODIFIABLE CK_BBOOL CK_FALSE
-+CKA_LABEL UTF8 "CAcert Inc."
-+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-+\255\174\077\144\374\104\071\376\364\351\013\350\364\174\154\372
-+\212\255\375\316
-+END
-+CKA_CERT_MD5_HASH MULTILINE_OCTAL
-+\367\045\022\202\116\147\265\320\215\222\267\174\013\206\172\102
-+END
-+CKA_ISSUER MULTILINE_OCTAL
-+\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157
-+\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150
-+\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164
-+\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103
-+\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101
-+\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206
-+\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164
-+\100\143\141\143\145\162\164\056\157\162\147
-+END
-+CKA_SERIAL_NUMBER MULTILINE_OCTAL
-+\002\003\012\101\212
-+END
-+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
diff --git a/app-crypt/nss/metadata.xml b/app-crypt/nss/metadata.xml
index 009a097..3c9d1ca 100644
--- a/app-crypt/nss/metadata.xml
+++ b/app-crypt/nss/metadata.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
 <maintainer type="project">
   <email>mozilla@gentoo.org</email>
@@ -7,9 +7,8 @@
 </maintainer>
 <use>
   <flag name="cacert">
-    Include root/class3 certs from CAcert (http://www.cacert.org/)
+    Include root/class3 certs from CAcert (https://www.cacert.org/)
   </flag>
-  <flag name="nss-pem">Add support for libnsspem</flag>
   <flag name="utils">Install utilities included with the library</flag>
 </use>
 <upstream>
diff --git a/app-crypt/nss/nss-3.73.ebuild b/app-crypt/nss/nss-3.73.ebuild
index 2ed8e32..c606403 100644
--- a/app-crypt/nss/nss-3.73.ebuild
+++ b/app-crypt/nss/nss-3.73.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=6
+EAPI=7
 
 inherit flag-o-matic multilib toolchain-funcs multilib-minimal
 
@@ -22,8 +22,8 @@
 	>=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
 	>=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
 	>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
-	>=dev-libs/nss-${PV}[${MULTILIB_USEDEP}]
 	virtual/pkgconfig
+	>=dev-libs/nss-${PV}[${MULTILIB_USEDEP}]
 "
 DEPEND="${RDEPEND}"
 BDEPEND="dev-lang/perl"
@@ -37,22 +37,26 @@
 	"${FILESDIR}/${PN}-3.53-gentoo-fixups.patch"
 	"${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
 	"${FILESDIR}/${PN}-3.23-hppa-byte_order.patch"
+	# CrOS specific fix crbug.com/1132030
 	"${FILESDIR}/${PN}-3.44-prefer-writable-tokens-for-trust.patch"
+	# local fix for https://bugs.gentoo.org/834846
+	"${FILESDIR}/${PN}-3.68.2-nss-ld-fixup.patch"
 )
 
 src_prepare() {
-	default
-
-	if use cacert ; then
-		eapply -p2 "${DISTDIR}"/nss-cacert-class1-class3-r2.patch
-	fi
-
+	# use host shlibsign if need be crbug.com/884946
 	if tc-is-cross-compiler ; then
 		PATCHES+=(
 			"${FILESDIR}/${PN}-3.38-shlibsign-path-pollution.patch"
 		)
 	fi
 
+	default
+
+	if use cacert ; then
+		eapply -p2 "${DISTDIR}"/nss-cacert-class1-class3-r2.patch
+	fi
+
 	pushd coreconf >/dev/null || die
 	# hack nspr paths
 	echo 'INCLUDES += -I$(DIST)/include/dbm' \
@@ -204,6 +208,7 @@
 
 multilib_src_install() {
 	local f nssutils
+
 	# The tests we do not need to install.
 	#nssutils_test="bltest crmftest dbtest dertimetest
 	#fipstest remtest sdrtest"
@@ -250,8 +255,8 @@
 	)
 	pushd dist/*/bin >/dev/null || die
 	into /usr/local
-	for f in ${nssutils[@]}; do
-		dobin ${f}
+	for f in "${nssutils[@]}"; do
+		dobin "${f}"
 	done
 
 	popd >/dev/null || die
diff --git a/app-crypt/trousers-tests/trousers-tests-0.0.1-r102.ebuild b/app-crypt/trousers-tests/trousers-tests-0.0.1-r102.ebuild
deleted file mode 100644
index 09109ad..0000000
--- a/app-crypt/trousers-tests/trousers-tests-0.0.1-r102.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="989e2337c1cd9de5b72c84cb06025661881b86f6"
-CROS_WORKON_TREE="81bf2434270b80a9ffe9540418b9f41b3c302c95"
-CROS_WORKON_PROJECT="chromiumos/third_party/trousers"
-CROS_WORKON_EGIT_BRANCH="master-0.3.13"
-
-inherit cros-workon autotest
-
-DESCRIPTION="Trousers TPM tests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/trousers/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-DEPEND="
-	app-crypt/trousers
-	!<chromeos-base/autotest-tests-0.0.1-r1521
-"
-RDEPEND="${DEPEND}"
-
-# Enable autotest by default.
-IUSE="${IUSE} +autotest"
-
-IUSE_TESTS="
-	+tests_hardware_TPM
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-CROS_WORKON_LOCALNAME=trousers
-
-# path from root of repo
-AUTOTEST_CLIENT_SITE_TESTS=autotest
-
-src_compile() {
-	# for Makefile
-	export TROUSERS_DIR=${WORKDIR}/${P}
-	autotest_src_compile
-}
-
diff --git a/app-crypt/trousers-tests/trousers-tests-0.0.1-r104.ebuild b/app-crypt/trousers-tests/trousers-tests-0.0.1-r104.ebuild
new file mode 100644
index 0000000..1a57806
--- /dev/null
+++ b/app-crypt/trousers-tests/trousers-tests-0.0.1-r104.ebuild
@@ -0,0 +1,43 @@
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="0ae53566c87c2d02476fe0e22b2862abbd42da15"
+CROS_WORKON_TREE="c58986c3e98f1454c840c85ccc9c953b41618956"
+CROS_WORKON_PROJECT="chromiumos/third_party/trousers"
+CROS_WORKON_EGIT_BRANCH="master-0.3.13"
+
+inherit cros-workon autotest
+
+DESCRIPTION="Trousers TPM tests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/trousers/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+DEPEND="
+	app-crypt/trousers
+	!<chromeos-base/autotest-tests-0.0.1-r1521
+"
+RDEPEND="${DEPEND}"
+
+# Enable autotest by default.
+IUSE="${IUSE} +autotest"
+
+IUSE_TESTS="
+	+tests_hardware_TPM
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+CROS_WORKON_LOCALNAME=trousers
+
+# path from root of repo
+AUTOTEST_CLIENT_SITE_TESTS=autotest
+
+src_compile() {
+	# for Makefile
+	export TROUSERS_DIR=${WORKDIR}/${P}
+	autotest_src_compile
+}
+
diff --git a/app-crypt/trousers/trousers-0.3.3-r118.ebuild b/app-crypt/trousers/trousers-0.3.3-r118.ebuild
deleted file mode 100644
index 43e7998..0000000
--- a/app-crypt/trousers/trousers-0.3.3-r118.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Copyright 2010 Google, Inc.
-# Distributed under the terms of the GNU General Public License v2
-# $Header$
-
-EAPI="5"
-CROS_WORKON_COMMIT="989e2337c1cd9de5b72c84cb06025661881b86f6"
-CROS_WORKON_TREE="81bf2434270b80a9ffe9540418b9f41b3c302c95"
-CROS_WORKON_PROJECT="chromiumos/third_party/trousers"
-CROS_WORKON_EGIT_BRANCH="chromeos-0.3.13"
-
-inherit autotools base cros-debug cros-sanitizers cros-workon flag-o-matic libchrome systemd tmpfiles user
-
-DESCRIPTION="An open-source TCG Software Stack (TSS) v1.1 implementation"
-HOMEPAGE="http://trousers.sf.net"
-LICENSE="CPL-1.0"
-KEYWORDS="*"
-SLOT="0"
-IUSE="asan doc mocktpm systemd tpm_dynamic tss_trace"
-
-COMMON_DEPEND="
-	chromeos-base/libhwsec-foundation
-	>=chromeos-base/metrics-0.0.1-r3152
-	>=dev-libs/openssl-0.9.7:0="
-
-RDEPEND="${COMMON_DEPEND}"
-
-DEPEND="${COMMON_DEPEND}
-	dev-util/pkgconfig"
-
-## TODO: Check if this patch is useful for us.
-## PATCHES=(	"${FILESDIR}/${PN}-0.2.3-nouseradd.patch" )
-
-pkg_setup() {
-	# New user/group for the daemon
-	enewgroup tss
-	enewuser tss
-}
-
-src_prepare() {
-	base_src_prepare
-
-	sed -e "s/-Werror //" -i configure.in
-	export FUZZER="$(usev fuzzer)"
-	eautoreconf
-}
-
-src_configure() {
-	sanitizers-setup-env
-	use tss_trace && append-cppflags -DTSS_TRACE
-	use mocktpm && append-cppflags -DMOCK_TPM
-	use fuzzer && append-cppflags -DFUZZED_TPM
-
-	cros-debug-add-NDEBUG
-	export BASE_VER="$(libchrome_ver)"
-	econf
-}
-
-src_install() {
-	default
-	dodoc NICETOHAVES
-	use doc && dodoc doc/*
-
-	# Install the empty system.data files
-	dodir /etc/trousers
-	insinto /etc/trousers
-	doins "${S}"/dist/system.data.*
-
-	# Install the init scripts
-	if use systemd; then
-		systemd_dounit init/*.service
-		systemd_enable_service boot-services.target tcsd.service
-		systemd_enable_service boot-services.target tpm-probe.service
-	else
-		insinto /etc/init
-		doins init/*.conf
-
-		if use tpm_dynamic; then
-			sed -i '/env TPM_DYNAMIC=/s:=.*:=true:' \
-				"${D}/etc/init/tpm-probe.conf" ||
-				die "Can't activate tpm_dynamic in tpm-probe.conf"
-		fi
-	fi
-	exeinto /usr/share/cros/init
-	doexe init/tcsd-pre-start.sh
-	dotmpfiles tmpfiles.d/tcsd.conf
-}
-
-pkg_postinst() {
-	elog "If you have problems starting tcsd, please check permissions and"
-	elog "ownership on /dev/tpm* and ~tss/system.data"
-}
diff --git a/app-crypt/trousers/trousers-0.3.3-r121.ebuild b/app-crypt/trousers/trousers-0.3.3-r121.ebuild
new file mode 100644
index 0000000..6ef52bf
--- /dev/null
+++ b/app-crypt/trousers/trousers-0.3.3-r121.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Copyright 2010 Google, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header$
+
+EAPI="5"
+CROS_WORKON_COMMIT="0ae53566c87c2d02476fe0e22b2862abbd42da15"
+CROS_WORKON_TREE="c58986c3e98f1454c840c85ccc9c953b41618956"
+CROS_WORKON_PROJECT="chromiumos/third_party/trousers"
+CROS_WORKON_EGIT_BRANCH="chromeos-0.3.13"
+
+inherit autotools base cros-debug cros-sanitizers cros-workon flag-o-matic libchrome systemd tmpfiles user
+
+DESCRIPTION="An open-source TCG Software Stack (TSS) v1.1 implementation"
+HOMEPAGE="http://trousers.sf.net"
+LICENSE="CPL-1.0"
+KEYWORDS="*"
+SLOT="0"
+IUSE="asan doc mocktpm systemd tpm_dynamic tss_trace"
+
+COMMON_DEPEND="
+	chromeos-base/libhwsec-foundation
+	>=chromeos-base/metrics-0.0.1-r3152
+	>=dev-libs/openssl-0.9.7:0="
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="${COMMON_DEPEND}"
+
+## TODO: Check if this patch is useful for us.
+## PATCHES=(	"${FILESDIR}/${PN}-0.2.3-nouseradd.patch" )
+
+pkg_setup() {
+	# New user/group for the daemon
+	enewgroup tss
+	enewuser tss
+}
+
+src_prepare() {
+	base_src_prepare
+
+	sed -e "s/-Werror //" -i configure.in
+	export FUZZER="$(usev fuzzer)"
+	eautoreconf
+}
+
+src_configure() {
+	sanitizers-setup-env
+	use tss_trace && append-cppflags -DTSS_TRACE
+	use mocktpm && append-cppflags -DMOCK_TPM
+	use fuzzer && append-cppflags -DFUZZED_TPM
+
+	cros-debug-add-NDEBUG
+	export BASE_VER="$(libchrome_ver)"
+	econf
+}
+
+src_install() {
+	default
+	dodoc NICETOHAVES
+	use doc && dodoc doc/*
+
+	# Install the empty system.data files
+	dodir /etc/trousers
+	insinto /etc/trousers
+	doins "${S}"/dist/system.data.*
+
+	# Install the init scripts
+	if use systemd; then
+		systemd_dounit init/*.service
+		systemd_enable_service boot-services.target tcsd.service
+		systemd_enable_service boot-services.target tpm-probe.service
+	else
+		insinto /etc/init
+		doins init/*.conf
+
+		if use tpm_dynamic; then
+			sed -i '/env TPM_DYNAMIC=/s:=.*:=true:' \
+				"${D}/etc/init/tpm-probe.conf" ||
+				die "Can't activate tpm_dynamic in tpm-probe.conf"
+		fi
+	fi
+	exeinto /usr/share/cros/init
+	doexe init/tcsd-pre-start.sh
+	dotmpfiles tmpfiles.d/tcsd.conf
+}
+
+pkg_postinst() {
+	elog "If you have problems starting tcsd, please check permissions and"
+	elog "ownership on /dev/tpm* and ~tss/system.data"
+}
diff --git a/app-crypt/trousers/trousers-9999.ebuild b/app-crypt/trousers/trousers-9999.ebuild
index 63a2ff2..7c69107 100644
--- a/app-crypt/trousers/trousers-9999.ebuild
+++ b/app-crypt/trousers/trousers-9999.ebuild
@@ -23,8 +23,7 @@
 
 RDEPEND="${COMMON_DEPEND}"
 
-DEPEND="${COMMON_DEPEND}
-	dev-util/pkgconfig"
+DEPEND="${COMMON_DEPEND}"
 
 ## TODO: Check if this patch is useful for us.
 ## PATCHES=(	"${FILESDIR}/${PN}-0.2.3-nouseradd.patch" )
diff --git a/app-emulation/OWNERS b/app-emulation/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/app-emulation/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/app-emulation/lxd/Manifest b/app-emulation/lxd/Manifest
index b80f094..5bc6817 100644
--- a/app-emulation/lxd/Manifest
+++ b/app-emulation/lxd/Manifest
@@ -1,3 +1,3 @@
 DIST lxd-3.17.tar.gz 23494267 BLAKE2B 69948c1a032b2d22f298416205aed457b3a94d42c6239b360a7c63a20a89f85dd67557c8864328055419627fb24b003dba8b386bfbe98e3a860cce24204f82ba SHA512 5dcfb423d091733736fb7df7ed14a638ecab1280863836d91e63823683521d4f4e1ee52f364cb76b0abf8382dc115598d96037c90d772a0b664476cb6917e7d7
-DIST lxd-4.0.9.tar.gz 9117078 BLAKE2B aa6689c1e958258484fba5c060765dd71d5406cb4375d3132cdc38633277e6c95322e8e3aed5e9dd251140c6868ec42470e797639dde4af42848e138f3b45ee2 SHA512 657949311753895f3941deaabae2d03092fc67490d2de78db48b296fdd3e9df4c5844467dd6913814426ca423a6ee1da9705bb1a2652ea99fe1356eb7da97ebb
-DIST lxd-4.0.9.tar.gz.asc 833 BLAKE2B 7cd0d3ab518d947ca3ea6dc804c6a59b592e4e568152c078fdd3c102420bcd94d2f0b2c335b8b4ecdb19dc3c9a10f665a1510903f395247da956717beaa172a3 SHA512 79a4111571ab43e79cf669e416ed50f3ccae0fbceb86d73757d23c778035e827f47643bc87ff6a2fc64b095345a3d53cbd0c4eb245c75364e907d7449f3a0886
+DIST lxd-4.0.7.tar.gz 15454709 BLAKE2B 6278fa058efa15a689a982dcf0bce58bf320ac500bc8bd6cd4227f5f126a03dd85a65363d4d36b3437a0a2fd8e08e8a7332b96f9aba8e8eb2aa508d1129fec13 SHA512 dd99db21a4de95d95e6bd53dcbd68f4d9f0ffbd9e60d994340cd0b1e820068e671507a9718d1c56488c79ad49019f86637a4a8b9c945cdd3f70d59c9e2026fb1
+DIST lxd-4.0.7.tar.gz.asc 833 BLAKE2B a28e43d1fd0d5851a62121069703637e7ba25cbeb142507e4e162b254eddce2b5a13a100eedb202fbf3d8aa40f6e20b4fd587ef38f6c73a07d2bd9d8d9d00c8f SHA512 561d7cbf94a37e7ed03828ac98a2022dc1a4e11b80cdee3ad925bf4226b78b9e1d1b9c51ed070e60fba881b69e06dc70be2713026285b10de5cca59549ac5f82
diff --git a/app-emulation/lxd/files/0003-syscall_wrappers-don-t-conflict-with-glibc-provided-.patch b/app-emulation/lxd/files/0003-syscall_wrappers-don-t-conflict-with-glibc-provided-.patch
new file mode 100644
index 0000000..6111cbb
--- /dev/null
+++ b/app-emulation/lxd/files/0003-syscall_wrappers-don-t-conflict-with-glibc-provided-.patch
@@ -0,0 +1,58 @@
+From 9a128f32fc277dd0c07bc85c71dc25d123f8a831 Mon Sep 17 00:00:00 2001
+From: Christian Brauner <christian.brauner@ubuntu.com>
+Date: Wed, 4 Aug 2021 21:34:11 +0200
+Subject: [PATCH] syscall_wrappers: don't conflict with glibc provided
+ close_range()
+
+Newer glibc version's provide a wrapper for close_range().
+
+Fixes: #9084
+Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
+---
+ lxd/include/syscall_wrappers.h | 2 +-
+ lxd/main_checkfeature.go       | 2 +-
+ lxd/main_forkexec.go           | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/lxd/include/syscall_wrappers.h b/lxd/include/syscall_wrappers.h
+index 4405a622b..25e56a5ce 100644
+--- a/lxd/include/syscall_wrappers.h
++++ b/lxd/include/syscall_wrappers.h
+@@ -16,7 +16,7 @@
+ #define CLOSE_RANGE_UNSHARE (1U << 1)
+ #endif
+ 
+-static inline int close_range(unsigned int fd, unsigned int max_fd, unsigned int flags)
++static inline int lxd_close_range(unsigned int fd, unsigned int max_fd, unsigned int flags)
+ {
+ 	return syscall(__NR_close_range, fd, max_fd, flags);
+ }
+diff --git a/lxd/main_checkfeature.go b/lxd/main_checkfeature.go
+index 9511b684f..0cc892071 100644
+--- a/lxd/main_checkfeature.go
++++ b/lxd/main_checkfeature.go
+@@ -496,7 +496,7 @@ static void is_close_range_aware(void)
+ 	if (fd < 0)
+ 		return;
+ 
+-	if (close_range(fd, fd, CLOSE_RANGE_UNSHARE))
++	if (lxd_close_range(fd, fd, CLOSE_RANGE_UNSHARE))
+ 		return;
+ 
+ 	close_range_aware = true;
+diff --git a/lxd/main_forkexec.go b/lxd/main_forkexec.go
+index 574f25eeb..cfa4cd6bc 100644
+--- a/lxd/main_forkexec.go
++++ b/lxd/main_forkexec.go
+@@ -290,7 +290,7 @@ __attribute__ ((noinline)) static int __forkexec(void)
+ 	if (!argvp || !*argvp)
+ 		return log_error(EXIT_FAILURE, "No command specified");
+ 
+-	ret = close_range(EXEC_PIPE_FD + 1, UINT_MAX, CLOSE_RANGE_UNSHARE);
++	ret = lxd_close_range(EXEC_PIPE_FD + 1, UINT_MAX, CLOSE_RANGE_UNSHARE);
+ 	if (ret) {
+ 		// Fallback to close_inherited() when the syscall is not
+ 		// available or when CLOSE_RANGE_UNSHARE isn't supported.
+-- 
+2.37.0
+
diff --git a/app-emulation/lxd/lxd-3.17-r4.ebuild b/app-emulation/lxd/lxd-3.17-r5.ebuild
similarity index 100%
rename from app-emulation/lxd/lxd-3.17-r4.ebuild
rename to app-emulation/lxd/lxd-3.17-r5.ebuild
diff --git a/app-emulation/lxd/lxd-3.17.ebuild b/app-emulation/lxd/lxd-3.17.ebuild
index ccba8dd..bfe147a 100644
--- a/app-emulation/lxd/lxd-3.17.ebuild
+++ b/app-emulation/lxd/lxd-3.17.ebuild
@@ -73,6 +73,7 @@
 	dev-go/httprouter
 	dev-go/net
 	dev-go/protobuf
+	dev-go/protobuf-legacy-api
 	dev-go/text
 	dev-go/websocket
 	dev-lang/tcl
diff --git a/app-emulation/lxd/lxd-4.0.7-r1.ebuild b/app-emulation/lxd/lxd-4.0.7-r1.ebuild
new file mode 120000
index 0000000..2961ace
--- /dev/null
+++ b/app-emulation/lxd/lxd-4.0.7-r1.ebuild
@@ -0,0 +1 @@
+lxd-4.0.7.ebuild
\ No newline at end of file
diff --git a/app-emulation/lxd/lxd-4.0.7.ebuild b/app-emulation/lxd/lxd-4.0.7.ebuild
new file mode 100644
index 0000000..7af2ec3
--- /dev/null
+++ b/app-emulation/lxd/lxd-4.0.7.ebuild
@@ -0,0 +1,216 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+#
+# shellcheck disable=SC2034
+
+##############################################################################
+#                                                                            #
+#                    *** DO NOT UPREV PAST lxd-4.0.7 ***                     #
+#                                                                            #
+# lxd-4.0.8 breaks "lxd import" which breaks users upgrading from lxd 3.     #
+# https://bugs.chromium.org/p/chromium/issues/detail?id=1321396              #
+#                                                                            #
+##############################################################################
+
+EAPI=7
+
+DESCRIPTION="Fast, dense and secure container management"
+HOMEPAGE="https://linuxcontainers.org/lxd/introduction/ https://github.com/lxc/lxd"
+
+# TODO(crbug/1097610) tremplin requires that someone install the lxd client
+# library. Currently this is done in the 3.17 ebuild, but when this becomes the
+# main ebuild it will need to be moved here.
+CROS_GO_PACKAGES=(
+)
+
+CROS_GO_WORKSPACE="${S}/_dist"
+EGO_PN="github.com/lxc/lxd"
+BIN_PATH="/opt/google/lxd-next/usr/bin"
+CROS_GO_BINARIES=(
+	"${EGO_PN}/lxd:${BIN_PATH}/lxd"
+	"${EGO_PN}/fuidshift:${BIN_PATH}/fuidshift"
+	"${EGO_PN}/lxd-agent:${BIN_PATH}/lxd-agent"
+	"${EGO_PN}/lxd-benchmark:${BIN_PATH}/lxd-benchmark"
+	"${EGO_PN}/lxd-p2c:${BIN_PATH}/lxd-p2c"
+	"${EGO_PN}/lxc:${BIN_PATH}/lxc"
+	"${EGO_PN}/lxc-to-lxd:${BIN_PATH}/lxc-to-lxd"
+)
+
+# Needs to include licenses for all bundled programs and libraries.
+LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0"
+SLOT="4"
+KEYWORDS="*"
+
+IUSE="apparmor ipv6 nls verify-sig"
+
+inherit autotools bash-completion-r1 linux-info optfeature systemd verify-sig cros-go user
+
+SRC_URI="https://linuxcontainers.org/downloads/lxd/${P}.tar.gz
+	verify-sig? ( https://linuxcontainers.org/downloads/lxd/${P}.tar.gz.asc )"
+
+DEPEND="app-arch/xz-utils
+	>=app-emulation/lxc-3.0.0:4[apparmor?,seccomp(+)]
+	dev-db/sqlite
+	dev-libs/libuv
+	app-arch/lz4
+	dev-libs/lzo
+	sys-libs/libcap:=
+	net-dns/dnsmasq[dhcp,ipv6?]
+	virtual/libudev"
+RDEPEND="${DEPEND}
+	net-firewall/ebtables
+	net-firewall/iptables[ipv6?]
+	sys-apps/iproute2[ipv6?]
+	sys-fs/fuse:0=
+	sys-fs/lxcfs:4
+	sys-fs/squashfs-tools[lzma]
+	virtual/acl"
+BDEPEND="dev-lang/go
+	nls? ( sys-devel/gettext )
+	verify-sig? ( app-crypt/openpgp-keys-linuxcontainers )"
+
+CONFIG_CHECK="
+	~CGROUPS
+	~IPC_NS
+	~NET_NS
+	~PID_NS
+
+	~SECCOMP
+	~USER_NS
+	~UTS_NS
+"
+
+ERROR_IPC_NS="CONFIG_IPC_NS is required."
+ERROR_NET_NS="CONFIG_NET_NS is required."
+ERROR_PID_NS="CONFIG_PID_NS is required."
+ERROR_SECCOMP="CONFIG_SECCOMP is required."
+ERROR_UTS_NS="CONFIG_UTS_NS is required."
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc
+
+src_unpack() {
+	unpack "${A}"
+	cd "${S}" || die
+
+	# Instead of using the lxd symlink in the dist directory, move the lxd
+	# source into that directory. Otherwise, the cros-go_src_install stage
+	# will fail since it won't traverse symlinks.
+	rm "${S}/_dist/src/${EGO_PN}"
+	mkdir "${S}/_dist/src/${EGO_PN}"
+	find "${S}"/* -maxdepth 0 \
+				-type d \
+				! -name "_dist" \
+				-exec mv {} "${S}/_dist/src/${EGO_PN}" \;
+}
+
+src_prepare() {
+	cd "${S}/_dist/src/github.com/lxc/lxd" || die
+	eapply "${FILESDIR}/0003-syscall_wrappers-don-t-conflict-with-glibc-provided-.patch"
+	eapply_user
+}
+
+src_configure() {
+	DEPS="${S}/_dist/deps"
+
+	cd "${DEPS}/raft" || die "Can't cd to raft dir"
+	eautoreconf
+	econf --enable-static=no
+
+	cd "${DEPS}/dqlite" || die "Can't cd to dqlite dir"
+	export RAFT_CFLAGS="-I${DEPS}/raft/include/"
+	export RAFT_LIBS="${DEPS}/raft/.libs"
+	eautoreconf
+	econf --enable-static=no
+}
+
+src_compile() {
+	DEPS="${S}/_dist/deps"
+
+	cd "${DEPS}/raft" || die "Can't cd to raft dir"
+	emake
+
+	cd "${DEPS}/dqlite" || die "Can't cd to dqlite dir"
+	emake
+
+	cd "${S}" || die
+
+	# Taken from the output of make deps
+	export CGO_CFLAGS="-I${DEPS}/raft/include/ -I${DEPS}/dqlite/include/"
+	export CGO_LDFLAGS="-L${DEPS}/raft/.libs -L${DEPS}/dqlite/.libs/"
+	export LD_LIBRARY_PATH="${DEPS}/raft/.libs/:${DEPS}/dqlite/.libs/"
+	export CGO_LDFLAGS_ALLOW="(-Wl,-wrap,pthread_create)|(-Wl,-z,now)"
+
+	# TODO(crbug/1097610) Because we're installing everything to different
+	# paths, we need to tell pkg-config and cgo where to find it. This can
+	# be removed when we commit to LXD 4.0
+	install_root="${SYSROOT}/opt/google/lxd-next"
+	export PKG_CONFIG_LIBDIR="${install_root}/$(get_libdir)/pkgconfig:${SYSROOT}/usr/$(get_libdir)/pkgconfig"
+	export PKG_CONFIG_SYSROOT_DIR="${SYSROOT}"
+	export PKG_CONFIG="/usr/bin/pkg-config"
+	export CGO_CFLAGS="${CGO_CFLAGS} -I${install_root}/include"
+	export CGO_LDFLAGS="${CGO_LDFLAGS} -L${install_root}/$(get_libdir)"
+
+	cros-go_src_compile
+
+	if use nls; then
+		cd "${S}/_dist/src/${EGO_PN}" || die
+		emake -f "${S}/Makefile" build-mo
+	fi
+}
+
+src_test() {
+	DEPS="${S}/_dist/deps"
+
+	# Taken from the output of make deps
+	export CGO_CFLAGS="-I${DEPS}/raft/include/ -I${DEPS}/dqlite/include/"
+	export CGO_LDFLAGS="-L${DEPS}/raft/.libs -L${DEPS}/dqlite/.libs/"
+	export LD_LIBRARY_PATH="${DEPS}/raft/.libs/:${DEPS}/dqlite/.libs/"
+	export CGO_LDFLAGS_ALLOW="-Wl,-wrap,pthread_create"
+
+	# TODO(sidereal) would be nice to enable more tests here
+	cros_go test -v ${EGO_PN}/lxd || die
+}
+
+src_install() {
+	cros-go_src_install
+
+	DEPS="${S}/_dist/deps"
+
+	cd "${DEPS}/raft" || die
+	emake DESTDIR="${D}/opt/google/lxd-next" install
+
+	cd "${DEPS}/dqlite" || die
+	emake DESTDIR="${D}/opt/google/lxd-next" install
+
+	cd "${S}" || die
+	newbashcomp "${S}/_dist/src/${EGO_PN}/scripts/bash/lxd-client" lxc
+
+	dodoc AUTHORS _dist/src/${EGO_PN}/doc/*
+	use nls && domo "${S}/_dist/src/${EGO_PN}/po/"*.mo
+
+	# TODO(crbug/1097610) Remove this once we no longer need to do weird
+	# things with PATH
+	insinto /etc/bash/bashrc.d
+	newins "${FILESDIR}/set-path.sh" ".set-path-for-lxd-next.sh"
+	newins "$(mktemp)" "set-path-for-lxd-next.sh"
+}
+
+pkg_postinst() {
+	cros-go_pkg_postinst
+
+	# The control socket will be owned by (and writeable by) this group.
+	enewgroup lxd
+
+	elog
+	elog "Consult https://wiki.gentoo.org/wiki/LXD for more information,"
+	elog "including a Quick Start."
+	elog
+	elog "Please run 'lxc-checkconfig' to see all optional kernel features."
+	elog
+	elog "Optional features:"
+	optfeature "btrfs storage backend" sys-fs/btrfs-progs
+	optfeature "lvm2 storage backend" sys-fs/lvm2
+	optfeature "zfs storage backend" sys-fs/zfs
+	elog
+	elog "Be sure to add your local user to the lxd group."
+}
diff --git a/app-emulation/lxd/lxd-4.0.9-r1.ebuild b/app-emulation/lxd/lxd-4.0.9-r1.ebuild
new file mode 120000
index 0000000..25e0633
--- /dev/null
+++ b/app-emulation/lxd/lxd-4.0.9-r1.ebuild
@@ -0,0 +1 @@
+lxd-4.0.9.ebuild
\ No newline at end of file
diff --git a/app-emulation/lxd/lxd-4.0.9.ebuild b/app-emulation/lxd/lxd-4.0.9.ebuild
index 4bba0b7..f679ca6 100644
--- a/app-emulation/lxd/lxd-4.0.9.ebuild
+++ b/app-emulation/lxd/lxd-4.0.9.ebuild
@@ -20,7 +20,8 @@
 # Needs to include licenses for all bundled programs and libraries.
 LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0"
 SLOT="4"
-KEYWORDS="*"
+# TODO(crbug.com/1321396): This ebuild is not used, use lxd-4.0.7 instead.
+KEYWORDS="~*"
 
 IUSE="apparmor ipv6 nls verify-sig"
 
@@ -112,6 +113,7 @@
 	export GO111MODULE=on
 
 	for bin in lxd lxc fuidshift lxd-agent lxd-benchmark lxd-p2c lxc-to-lxd; do
+		elog "Building ${EGO_PN}/${bin}"
 		cros_go install -v "${EGO_PN}/${bin}" || die "Failed to build ${bin}"
 	done
 
@@ -146,7 +148,11 @@
 	emake DESTDIR="${D}/opt/google/lxd-next" install
 
 	exeinto "/opt/google/lxd-next/usr/bin"
-	doexe "${CROS_GO_WORKSPACE}"/bin/*
+	if [[ ${ARCH} != "amd64" ]]; then
+		doexe "${CROS_GO_WORKSPACE}/bin/linux_${ARCH}"/*
+	else
+		doexe "${CROS_GO_WORKSPACE}/bin"/*
+	fi
 
 	cd "${S}" || die
 	newbashcomp "${S}/scripts/bash/lxd-client" lxc
diff --git a/app-emulation/metadata.xml b/app-emulation/metadata.xml
deleted file mode 100644
index 4b1893e..0000000
--- a/app-emulation/metadata.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The app-emulation category contains emulation software.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie app-emulation enthält Emulationssoftware.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría app-emulation contiene programas para emulación.
-	</longdescription>
-	<longdescription lang="ja">
-		app-emulationカテゴリにはエミュレーションソフトウェアが含まれます。
-	</longdescription>
-	<longdescription lang="nl">
-		De app-emulation categorie bevat emulatie programma's.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm app-emulation chứa các phần mềm mô phỏng.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria app-emulation contiene programmi di emulazione.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria app-emulation contém programas para emulação.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria app-emulation zawiera programy służące do emulacji.
-	</longdescription>
-</catmetadata>
-
diff --git a/app-emulation/qemu-binfmt-wrapper/qemu-binfmt-wrapper-1-r1.ebuild b/app-emulation/qemu-binfmt-wrapper/qemu-binfmt-wrapper-1-r1.ebuild
new file mode 120000
index 0000000..43baf4b
--- /dev/null
+++ b/app-emulation/qemu-binfmt-wrapper/qemu-binfmt-wrapper-1-r1.ebuild
@@ -0,0 +1 @@
+qemu-binfmt-wrapper-1.ebuild
\ No newline at end of file
diff --git a/app-emulation/qemu-binfmt-wrapper/qemu-binfmt-wrapper-1.ebuild b/app-emulation/qemu-binfmt-wrapper/qemu-binfmt-wrapper-1.ebuild
index 570ab23..419a9da 100644
--- a/app-emulation/qemu-binfmt-wrapper/qemu-binfmt-wrapper-1.ebuild
+++ b/app-emulation/qemu-binfmt-wrapper/qemu-binfmt-wrapper-1.ebuild
@@ -1,12 +1,12 @@
 # Copyright 2014 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="4"
+EAPI="7"
 
 inherit toolchain-funcs
 
 DESCRIPTION="QEMU wrappers to preserve argv[0] when testing"
-HOMEPAGE="http://www.chromium.org/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/docs/+/HEAD/testing/qemu_unit_tests_design.md"
 
 LICENSE="BSD-Google"
 SLOT="0"
@@ -16,6 +16,9 @@
 S=${WORKDIR}
 
 src_compile() {
+	# We normally want FLAGS variables quoted, but when running the compiler
+	# directly here, we want to let them expand.
+	# shellcheck disable=SC2086
 	$(tc-getCC) \
 		-Wall -Wextra -Werror \
 		${CFLAGS} \
@@ -23,7 +26,7 @@
 		${LDFLAGS} \
 		"${FILESDIR}"/${PN}.c \
 		-o ${PN} \
-		-static
+		-static || die
 }
 
 src_install() {
diff --git a/app-emulation/qemu/qemu-9999.ebuild b/app-emulation/qemu/qemu-9999.ebuild
index 7359a18..33f345f 100644
--- a/app-emulation/qemu/qemu-9999.ebuild
+++ b/app-emulation/qemu/qemu-9999.ebuild
@@ -5,7 +5,7 @@
 CROS_WORKON_PROJECT="chromiumos/third_party/qemu"
 CROS_WORKON_MANUAL_UPREV="1"
 
-PYTHON_COMPAT=( python{3_6,3_7,3_8} )
+PYTHON_COMPAT=( python3_{6..9} )
 PYTHON_REQ_USE="ncurses,readline"
 
 PLOCALES="bg de_DE fr_FR hu it tr zh_CN"
diff --git a/app-emulation/renode/Manifest b/app-emulation/renode/Manifest
new file mode 100644
index 0000000..cee4523
--- /dev/null
+++ b/app-emulation/renode/Manifest
@@ -0,0 +1 @@
+DIST renode-1.13.0.tar.gz 49770037 BLAKE2B d603aaaee14b71c314be0f555c8b6cb356f5d49da6ed54554a61237c6e350967aa59460a3b328c524b2c05fb4443d755aa582bb476872ad684edb2f7a2827cc7 SHA512 467406a5d39c2c3aff7b3f97b8deddc08fbd51d81a52419ecd0193f45892dfee4232dcaa58f854715f9e53d14c034cac36f2414950f9ba321ef086dea5460465
diff --git a/dev-rust/serialport/OWNERS b/app-emulation/renode/OWNERS
similarity index 100%
copy from dev-rust/serialport/OWNERS
copy to app-emulation/renode/OWNERS
diff --git a/app-emulation/renode/renode-1.13.0.ebuild b/app-emulation/renode/renode-1.13.0.ebuild
new file mode 100644
index 0000000..0dd046b
--- /dev/null
+++ b/app-emulation/renode/renode-1.13.0.ebuild
@@ -0,0 +1,98 @@
+# Copyright 2022 Antmicro
+# Distributed under the terms of the BSD license.
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit python-r1
+
+DESCRIPTION="Renode is an open source software development framework with
+commercial support from Antmicro that lets you develop, debug and test
+multi-node device systems reliably, scalably and effectively."
+HOMEPAGE="https://renode.io"
+
+SRC_URI="https://dl.antmicro.com/projects/renode/builds/renode-${PV}-sources.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-lang/mono-5.20
+	$(python_gen_cond_dep '
+		=dev-python/robotframework-4.0.1[${PYTHON_USEDEP}]
+		dev-python/netifaces[${PYTHON_USEDEP}]
+		dev-python/requests[${PYTHON_USEDEP}]
+		dev-python/psutil[${PYTHON_USEDEP}]
+		dev-python/pyyaml[${PYTHON_USEDEP}]
+	')
+"
+RDEPEND="
+	${DEPEND}
+"
+
+S="${WORKDIR}/renode"
+
+src_compile() {
+	./build.sh --no-gui --skip-fetch || die
+}
+
+src_install() {
+	# Call die in case any of the commands fail (incl. sourced scripts).
+	trap die ERR
+
+	cd tools/packaging
+
+	# Set variables required by the 'common_copy_files.sh' script.
+	BASE="${S}"
+	DIR="${ED}/opt/renode"
+	INSTALL_DIR="/opt/renode"
+	SED_COMMAND="sed -i"
+	TARGET=Release
+
+	. common_copy_files.sh
+
+	# Create renode and renode-test wrappers.
+	local command_script=renode
+	local mono_version="$(cat ../mono_version)"
+	cat > "$command_script" <<-EOF
+		#!/bin/sh
+		MONOVERSION=$mono_version
+		REQUIRED_MAJOR=${mono_version%%.*}
+		REQUIRED_MINOR=${mono_version##*.}
+		EOF
+	# skip the first line (with the hashbang)
+	tail -n +2 linux/renode-template >> $command_script
+	dobin renode
+
+	local common_script=$DIR/tests/common.sh
+	local test_script=renode-test
+	copy_bash_tests_scripts $test_script $common_script
+	dobin renode-test
+}
+
+src_test() {
+	./renode --version || die
+	./renode --console -e 'help; version; quit' || die
+
+	# Run such unit tests that don't need to download any binaries.
+	local test_script="$PWD/renode-test"
+	cd tests/unit-tests || die
+	local tests=(
+		AdHocCompiler/adhoc-compiler.robot
+		arm-thumb.robot
+		big-endian-watchpoint.robot
+		emulation-environment.robot
+		external-mmu.robot
+		host-uart.robot
+		llvm-disassemble.robot
+		log-tests.robot
+		memory-invalidation.robot
+		opcodes-counting.robot
+		riscv-custom-instructions.robot
+		riscv-interrupt-mode.robot
+		riscv-unit-tests.robot
+		tb_overwrite.robot
+	)
+	${test_script} --stop-on-error -j $(nproc) ${tests[@]} || die
+}
diff --git a/app-i18n/OWNERS b/app-i18n/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/app-i18n/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/app-i18n/metadata.xml b/app-i18n/metadata.xml
deleted file mode 100644
index 44756a00..0000000
--- a/app-i18n/metadata.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The app-i18n category contains internationalisation-related packages.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie app-i18n enthält Programme im Zusammenhang mit Internationalisierung.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría app-i18n contiene paquetes para Internacionalización.
-	</longdescription>
-	<longdescription lang="ja">
-		app-i18nカテゴリには国際化関連パッケージが含まれます。
-	</longdescription>
-	<longdescription lang="nl">
-		De app-i18n categorie bevat applicaties om te internationaliseren (vertalen).
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm app-i18n chứa các gói liên quan đến
-		quốc tế hoá (i18n).
-	</longdescription>
-	<longdescription lang="it">
-		La categoria app-i18n contiene pacchetti per l'internazionalizzazione.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria app-i18n contém pacotes para internacionalização.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria app-i18n zawiera pakiety zawierające tłumaczenia różnych
-		składników systemu na różne języki.
-	</longdescription>
-</catmetadata>
-
diff --git a/app-laptop/metadata.xml b/app-laptop/metadata.xml
deleted file mode 100644
index bee3593..0000000
--- a/app-laptop/metadata.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The app-laptop category contains packages which are designed to work
-		with certain kinds of laptop or notebook computer.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie app-laptop enthält Pakete für das Arbeiten mit verschiedenen
-		Notebook- und Laptop-Modellen.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría app-laptop contiene paquetes diseñados para trabajar
-		con ciertas clases de laptops ó computadoras portátiles.
-	</longdescription>
-	<longdescription lang="ja">
-		app-laptopカテゴリには様々なラップトップとノートブックコンピュータで
-		使うパッケージが含まれます。
-	</longdescription>
-	<longdescription lang="nl">
-		De app-laptop categorie bevat applicaties voor laptopgebruikers.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm app-laptop chứa các gói danh cho các loại máy
-		tính laptop và notebook.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria app-laptop contiene pacchetti progettaati per lavorare con alcuni
-		tipi di laptop o notebook.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria app-laptop contém pacotes que são desenhados para
-		trabalhar com certos tipos de laptops e notebooks.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria app-laptop zawiera pakiety ściśle związane z pracą na
-		laptopach i notebookach.
-	</longdescription>
-</catmetadata>
-
diff --git a/app-misc/OWNERS b/app-misc/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/app-misc/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/app-misc/evtest/Manifest b/app-misc/evtest/Manifest
index 67c61c1..a9ccbbb 100644
--- a/app-misc/evtest/Manifest
+++ b/app-misc/evtest/Manifest
@@ -1 +1 @@
-DIST evtest-1.34.tar.gz 19954 BLAKE2B 17ca600e89070d65f2bb95b468b921278ab63e50aa6042a974e8d4ac214b51355423c910bb0911e16a6bfc27e9fce59159719aae7d280679e7b292d02a2ee955 SHA512 5b4a18f13b86b1e2f5f723f6abb18c0a50d7f96b4412f46f503895c7ea8701a67a3237701de367c6b789533d8de887baa8f8f8e7e2fc4611235408ae21021b38
+DIST evtest-1.35.tar.gz 20723 BLAKE2B 9c1710fae32f8b47ac324f19beb69295b776f3e5f7a9c64efb4151a272980a12a6511e5f69ac0bde8012e7a9e542816851950f93a3a5a7a97ebbcd053582a178 SHA512 617757cc0b9e5c3d0236453c9590a277a8f63ae7780dd565bce4a8ca9e47912c0fe9404fb61b04bf440fe8c9afaff99d8b1812672f83c47c4027330436831b5b
diff --git a/app-misc/evtest/OWNERS b/app-misc/evtest/OWNERS
new file mode 100644
index 0000000..37a3274
--- /dev/null
+++ b/app-misc/evtest/OWNERS
@@ -0,0 +1,8 @@
+dbrockus@chromium.org
+hbarnor@chromium.org
+hcutts@chromium.org
+jingyliang@google.com
+jora@google.com
+kenalba@google.com
+seobrien@chromium.org
+wmahon@google.com
diff --git a/app-misc/evtest/evtest-1.34.ebuild b/app-misc/evtest/evtest-1.34.ebuild
deleted file mode 100644
index 5691e60..0000000
--- a/app-misc/evtest/evtest-1.34.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools eutils
-
-DESCRIPTION="A test program for capturing input device events."
-HOMEPAGE="https://gitlab.freedesktop.org/libevdev/evtest/"
-SRC_URI="https://gitlab.freedesktop.org/libevdev/evtest/-/archive/${P}/evtest-${P}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-IUSE="+xml"
-
-BDEPEND="virtual/pkgconfig"
-
-S=${WORKDIR}/${PN}-${P}
-
-PATCHES=(
-	"${FILESDIR}/1.34-add-safe-flag.patch"
-)
-
-src_prepare() {
-	default
-	eautoreconf
-}
diff --git a/app-misc/evtest/evtest-1.35.ebuild b/app-misc/evtest/evtest-1.35.ebuild
new file mode 100644
index 0000000..cd87cfe
--- /dev/null
+++ b/app-misc/evtest/evtest-1.35.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit autotools eutils
+
+DESCRIPTION="A test program for capturing input device events."
+HOMEPAGE="https://gitlab.freedesktop.org/libevdev/evtest/"
+SRC_URI="https://gitlab.freedesktop.org/libevdev/evtest/-/archive/${P}/evtest-${P}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+IUSE="+xml"
+
+BDEPEND="virtual/pkgconfig"
+
+S=${WORKDIR}/${PN}-${P}
+
+PATCHES=(
+	"${FILESDIR}/1.35-add-safe-flag.patch"
+)
+
+src_prepare() {
+	default
+	eautoreconf
+}
diff --git a/app-misc/evtest/files/1.34-add-safe-flag.patch b/app-misc/evtest/files/1.34-add-safe-flag.patch
deleted file mode 100644
index 5e0b189..0000000
--- a/app-misc/evtest/files/1.34-add-safe-flag.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From 218cc1e499c93d4bcd1deda3821a303db72da304 Mon Sep 17 00:00:00 2001
-From: Harry Cutts <hcutts@chromium.org>
-Date: Tue, 11 Aug 2020 14:56:58 -0700
-Subject: [PATCH] Enable safe mode for evtest
-
-This patch enables --safe for evtest. When evtest is called with --safe,
-all the sensitive event info will be hidden.
----
- evtest.c | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
- 1 file changed, 56 insertions(+), 3 deletions(-)
-
-diff --git a/evtest.c b/evtest.c
-index 37d4f85..dc79baf 100644
---- a/evtest.c
-+++ b/evtest.c
-@@ -105,6 +105,7 @@ static const struct query_mode {
- };
- 
- static int grab_flag = 0;
-+static int safe_flag = 0;
- static volatile sig_atomic_t stop = 0;
- 
- static void interrupt_handler(int sig)
-@@ -814,6 +815,8 @@ static const char * const * const names[EV_MAX + 1] = {
- 	[EV_FF] = force,			[EV_FF_STATUS] = forcestatus,
- };
- 
-+static int cached_absinfo[ABS_MAX][6] = {0};
-+
- /**
-  * Convert a string to a specific key/snd/led/sw code. The string can either
-  * be the name of the key in question (e.g. "SW_DOCK") or the numerical
-@@ -941,7 +944,10 @@ static int usage(void)
- 	printf(" Query mode: (check exit code)\n");
- 	printf("   %s --query /dev/input/eventX <type> <value>\n",
- 		program_invocation_short_name);
--
-+	printf("\n");
-+	printf(" Safe mode:\n");
-+	printf("   %s --safe\n", program_invocation_short_name);
-+	printf("     --safe  hide sensitive event information\n");
- 	printf("\n");
- 	printf("<type> is one of: EV_KEY, EV_SW, EV_LED, EV_SND\n");
- 	printf("<value> can either be a numerical value, or the textual name of the\n");
-@@ -959,7 +965,7 @@ static int usage(void)
-  */
- static void print_absdata(int fd, int axis)
- {
--	int abs[6] = {0};
-+	int* abs = cached_absinfo[axis];
- 	int k;
- 
- 	ioctl(fd, EVIOCGABS(axis), abs);
-@@ -1106,6 +1112,47 @@ static int print_device_info(int fd)
- 	return 0;
- }
- 
-+/**
-+ * Print event safely and do not print any sensitive infomation.
-+ *
-+ * @param ev The event to print.
-+ */
-+static void safe_print_event(struct input_event* ev) {
-+	const char* type_str = events[ev->type] ? events[ev->type] : "?";
-+	const char* code_str =
-+		names[ev->type] ? (names[ev->type][ev->code] ?
-+				  names[ev->type][ev->code] : "?") : "?";
-+	printf("type %d (%s)", ev->type, type_str);
-+	switch (ev->type) {
-+		case EV_KEY:
-+			printf(", code *, value %d\n", ev->value);
-+			break;
-+		case EV_REL:
-+			printf(", code %d (%s)\n", ev->code, code_str);
-+			break;
-+		case EV_ABS:
-+			printf(", code %d (%s), ", ev->code, code_str);
-+			if (ev->value == cached_absinfo[ev->code][1])
-+				printf("%s\n", "value = abs_min");
-+			else if (ev->value == cached_absinfo[ev->code][2])
-+				printf("%s\n", "value = abs_max");
-+			else if (ev->value > cached_absinfo[ev->code][2] &&
-+				 ev->value < cached_absinfo[ev->code][1])
-+				printf("%s\n", "value out of range (min, max)");
-+			else
-+				printf("%s\n", "value in range (min, max)");
-+			break;
-+		case EV_MSC:
-+			if (ev->code == MSC_TIMESTAMP)
-+				printf(", code %d (%s), value %s\n", ev->code,
-+				       code_str, ev->value ? "non-zero" : "0");
-+			else
-+				printf(", code %d (%s)\n", ev->code, code_str);
-+		default:
-+			break;
-+	}
-+}
-+
- /**
-  * Print device events as they come in.
-  *
-@@ -1139,7 +1186,10 @@ static int print_events(int fd)
- 			type = ev[i].type;
- 			code = ev[i].code;
- 
--			printf("Event: time %ld.%06ld, ", ev[i].time.tv_sec, ev[i].time.tv_usec);
-+			if (safe_flag)
-+				printf("Event: time %ld, ", ev[i].time.tv_sec);
-+			else
-+				printf("Event: time %ld.%06ld, ", ev[i].time.tv_sec, ev[i].time.tv_usec);
- 
- 			if (type == EV_SYN) {
- 				if (code == SYN_MT_REPORT)
-@@ -1148,6 +1198,8 @@ static int print_events(int fd)
- 					printf(">>>>>>>>>>>>>> %s <<<<<<<<<<<<\n", codename(type, code));
- 				else
- 					printf("-------------- %s ------------\n", codename(type, code));
-+			} else if (safe_flag) {
-+				safe_print_event(&ev[i]);
- 			} else {
- 				printf("type %d (%s), code %d (%s), ",
- 					type, typename(type),
-@@ -1329,6 +1381,7 @@ static int do_query(const char *device, const char *event_type, const char *keyn
- static const struct option long_options[] = {
- 	{ "grab", no_argument, &grab_flag, 1 },
- 	{ "query", no_argument, NULL, MODE_QUERY },
-+	{ "safe", no_argument, &safe_flag, 1 },
- 	{ "version", no_argument, NULL, MODE_VERSION },
- 	{ 0, },
- };
--- 
-2.28.0.236.gb10cc79966-goog
-
diff --git a/app-misc/evtest/files/1.35-add-safe-flag.patch b/app-misc/evtest/files/1.35-add-safe-flag.patch
new file mode 100644
index 0000000..b1376a0
--- /dev/null
+++ b/app-misc/evtest/files/1.35-add-safe-flag.patch
@@ -0,0 +1,132 @@
+From db498366b1908630534711ab57f375646dd297e5 Mon Sep 17 00:00:00 2001
+From: Harry Cutts <hcutts@chromium.org>
+Date: Tue, 11 Aug 2020 14:56:58 -0700
+Subject: [PATCH] Enable safe mode for evtest
+
+This patch enables --safe for evtest. When evtest is called with --safe,
+all the sensitive event info will be hidden.
+---
+ evtest.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 56 insertions(+), 2 deletions(-)
+
+diff --git a/evtest.c b/evtest.c
+index ba7a161..ac12bab 100644
+--- a/evtest.c
++++ b/evtest.c
+@@ -108,6 +108,7 @@ static const struct query_mode {
+ };
+ 
+ static int grab_flag = 0;
++static int safe_flag = 0;
+ static char* progname;
+ static volatile sig_atomic_t stop = 0;
+ 
+@@ -821,6 +822,8 @@ static const char * const * const names[EV_MAX + 1] = {
+ 	[EV_FF] = force,			[EV_FF_STATUS] = forcestatus,
+ };
+ 
++static int cached_absinfo[ABS_MAX][6] = {0};
++
+ /**
+  * Convert a string to a specific key/snd/led/sw code. The string can either
+  * be the name of the key in question (e.g. "SW_DOCK") or the numerical
+@@ -947,6 +950,10 @@ static int usage(void)
+ 	printf("\n");
+ 	printf(" Query mode: (check exit code)\n");
+ 	printf("   %s --query /dev/input/eventX <type> <value>\n", progname);
++	printf("\n");
++	printf(" Safe mode:\n");
++	printf("   %s --safe\n", program_invocation_short_name);
++	printf("     --safe  hide sensitive event information\n");
+ 
+ 	printf("\n");
+ 	printf("<type> is one of: EV_KEY, EV_SW, EV_LED, EV_SND\n");
+@@ -965,7 +972,7 @@ static int usage(void)
+  */
+ static void print_absdata(int fd, int axis)
+ {
+-	int abs[6] = {0};
++	int* abs = cached_absinfo[axis];
+ 	int k;
+ 
+ 	ioctl(fd, EVIOCGABS(axis), abs);
+@@ -1112,6 +1119,47 @@ static int print_device_info(int fd)
+ 	return 0;
+ }
+ 
++/**
++ * Print event safely and do not print any sensitive infomation.
++ *
++ * @param ev The event to print.
++ */
++static void safe_print_event(struct input_event* ev) {
++	const char* type_str = events[ev->type] ? events[ev->type] : "?";
++	const char* code_str =
++		names[ev->type] ? (names[ev->type][ev->code] ?
++				  names[ev->type][ev->code] : "?") : "?";
++	printf("type %d (%s)", ev->type, type_str);
++	switch (ev->type) {
++		case EV_KEY:
++			printf(", code *, value %d\n", ev->value);
++			break;
++		case EV_REL:
++			printf(", code %d (%s)\n", ev->code, code_str);
++			break;
++		case EV_ABS:
++			printf(", code %d (%s), ", ev->code, code_str);
++			if (ev->value == cached_absinfo[ev->code][1])
++				printf("%s\n", "value = abs_min");
++			else if (ev->value == cached_absinfo[ev->code][2])
++				printf("%s\n", "value = abs_max");
++			else if (ev->value > cached_absinfo[ev->code][2] &&
++				 ev->value < cached_absinfo[ev->code][1])
++				printf("%s\n", "value out of range (min, max)");
++			else
++				printf("%s\n", "value in range (min, max)");
++			break;
++		case EV_MSC:
++			if (ev->code == MSC_TIMESTAMP)
++				printf(", code %d (%s), value %s\n", ev->code,
++				       code_str, ev->value ? "non-zero" : "0");
++			else
++				printf(", code %d (%s)\n", ev->code, code_str);
++		default:
++			break;
++	}
++}
++
+ /**
+  * Print device events as they come in.
+  *
+@@ -1145,7 +1193,10 @@ static int print_events(int fd)
+ 			type = ev[i].type;
+ 			code = ev[i].code;
+ 
+-			printf("Event: time %ld.%06ld, ", ev[i].input_event_sec, ev[i].input_event_usec);
++			if (safe_flag)
++				printf("Event: time %ld, ", ev[i].input_event_sec);
++			else
++				printf("Event: time %ld.%06ld, ", ev[i].input_event_sec, ev[i].input_event_usec);
+ 
+ 			if (type == EV_SYN) {
+ 				if (code == SYN_MT_REPORT)
+@@ -1154,6 +1205,8 @@ static int print_events(int fd)
+ 					printf(">>>>>>>>>>>>>> %s <<<<<<<<<<<<\n", codename(type, code));
+ 				else
+ 					printf("-------------- %s ------------\n", codename(type, code));
++			} else if (safe_flag) {
++				safe_print_event(&ev[i]);
+ 			} else {
+ 				printf("type %d (%s), code %d (%s), ",
+ 					type, typename(type),
+@@ -1337,6 +1390,7 @@ static int do_query(const char *device, const char *event_type, const char *keyn
+ static const struct option long_options[] = {
+ 	{ "grab", no_argument, &grab_flag, 1 },
+ 	{ "query", no_argument, NULL, MODE_QUERY },
++	{ "safe", no_argument, &safe_flag, 1 },
+ 	{ "version", no_argument, NULL, MODE_VERSION },
+ 	{ 0, },
+ };
+-- 
+2.36.1.124.g0e6072fb45-goog
+
diff --git a/app-misc/metadata.xml b/app-misc/metadata.xml
deleted file mode 100644
index 98bcf3d..0000000
--- a/app-misc/metadata.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The app-misc category contains various miscellaneous application
-		packages which don't belong anywhere else.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie app-misc enthält verschiedenste Applikationen welche
-		keiner anderen Kategorie zugeordnet werden konnten.
-	</longdescription>
-	<longdescription lang="nl">
-		De app-misc categorie bevat applicaties die niet in een specifieke
-		categorie geplaatst konden worden.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm app-misc chứa các ứng dụng linh tinh, không thuộc
-		về nhóm nào cả.
-	</longdescription>
-	<longdescription lang="it">
-		La cateogria app-misc contiene varie applicazioni che non ricadono nelle altre categorie.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria app-misc contém vários pacotes de aplicações mistas
-		que não pertencem a outros lugares.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria app-misc zawiera wiele rozmaitych programów, które nie
-		pasowały do żadnej innej kategorii.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría app-misc contiene varios paquetes de aplicaciones
-		misceláneas que no pertenecen a ninguna otra categoría.
-	</longdescription>
-</catmetadata>
-
diff --git a/app-misc/utouch-evemu/files/1.0.5-play_timestamp.patch b/app-misc/utouch-evemu/files/1.0.5-play_timestamp.patch
index b531dd5..a530f15 100644
--- a/app-misc/utouch-evemu/files/1.0.5-play_timestamp.patch
+++ b/app-misc/utouch-evemu/files/1.0.5-play_timestamp.patch
@@ -106,7 +106,7 @@
  		fprintf(stderr, "error: could not describe device\n");
  	}
 +	if (fp_time != NULL) {
-+		close(fp_time);
++		fclose(fp_time);
 +	}
  	close(fd);
  	return 0;
diff --git a/app-misc/utouch-evemu/utouch-evemu-1.0.5-r10.ebuild b/app-misc/utouch-evemu/utouch-evemu-1.0.5-r11.ebuild
similarity index 100%
rename from app-misc/utouch-evemu/utouch-evemu-1.0.5-r10.ebuild
rename to app-misc/utouch-evemu/utouch-evemu-1.0.5-r11.ebuild
diff --git a/app-portage/eclass-manpages/OWNERS b/app-portage/eclass-manpages/OWNERS
new file mode 100644
index 0000000..d39c14f
--- /dev/null
+++ b/app-portage/eclass-manpages/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/infra/OWNERS.build
diff --git a/app-portage/metadata.xml b/app-portage/metadata.xml
deleted file mode 100644
index 3872164..0000000
--- a/app-portage/metadata.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The app-portage category contains software which works with portage or
-		ebuilds.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie app-portage enthält Programme für das Arbeiten mit Portage
-		oder Ebuilds.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría app-portage contiene programas para trabajar con portage
-		o con ebuilds.
-	</longdescription>
-	<longdescription lang="ja">
-		app-portageカテゴリにはportageかebuildと使うソフトウェアが含まれます。
-	</longdescription>
-	<longdescription lang="nl">
-		De app-portage categorie bevat applicaties die samenwerken met portage of
-		direct met ebuilds te maken hebben.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm app-portage chứa các ứng dụng liên quan đến
-		portage.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria app-portage contiene programmi per portage o per le ebuilds.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria app-portage contém programas que funcionam com o portage
-		ou ebuilds.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria app-portage zawiera dodatkowe programy do pracy z systemem
-		Portage oraz ebuildami.
-	</longdescription>
-</catmetadata>
-
diff --git a/app-portage/repoman/OWNERS b/app-portage/repoman/OWNERS
new file mode 100644
index 0000000..d39c14f
--- /dev/null
+++ b/app-portage/repoman/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/infra/OWNERS.build
diff --git a/app-portage/repoman/files/chromeos-version.sh b/app-portage/repoman/files/chromeos-version.sh
new file mode 100755
index 0000000..07915b5
--- /dev/null
+++ b/app-portage/repoman/files/chromeos-version.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This script is given one argument: the base of the source directory of
+# the package, and it prints a string on stdout with the numerical version
+# number for said repo.
+
+exec "$1"/repoman/setup.py --version
diff --git a/app-portage/repoman/metadata.xml b/app-portage/repoman/metadata.xml
new file mode 100644
index 0000000..c15cfac
--- /dev/null
+++ b/app-portage/repoman/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+  <upstream>
+    <bugs-to>mailto:dev-portage@gentoo.org</bugs-to>
+    <changelog>https://gitweb.gentoo.org/proj/portage.git/plain/RELEASE-NOTES</changelog>
+    <doc>https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/Portage</doc>
+  </upstream>
+  <maintainer type="project">
+    <email>dev-portage@gentoo.org</email>
+  </maintainer>
+</pkgmetadata>
diff --git a/app-portage/repoman/repoman-2.3.17-r2.ebuild b/app-portage/repoman/repoman-2.3.17-r2.ebuild
new file mode 100644
index 0000000..3a1cce8
--- /dev/null
+++ b/app-portage/repoman/repoman-2.3.17-r2.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="a141de3e0cb0698361d7d28d88c08de417cec331"
+CROS_WORKON_TREE="880a638644bd7aa078e04a979f84faa770836889"
+DISTUTILS_USE_SETUPTOOLS=no
+PYTHON_COMPAT=( python3_{6..9} )
+PYTHON_REQ_USE='bzip2(+)'
+
+inherit distutils-r1
+
+CROS_WORKON_PROJECT="chromiumos/third_party/portage_tool"
+CROS_WORKON_LOCALNAME="portage_tool"
+CROS_WORKON_EGIT_BRANCH="chromeos-3.0.21"
+CROS_WORKON_SUBTREE="repoman"
+inherit cros-workon
+
+KEYWORDS="*"
+
+DESCRIPTION="Repoman is a Quality Assurance tool for Gentoo ebuilds"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE=""
+
+RDEPEND="
+	>=sys-apps/portage-2.3.0_rc[${PYTHON_USEDEP}]
+	>=dev-python/lxml-3.6.0[${PYTHON_USEDEP}]
+	dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+src_unpack() {
+	cros-workon_src_unpack
+	S+="/repoman"
+}
+
+python_test() {
+	esetup.py test
+}
+
+python_install() {
+	# Install sbin scripts to bindir for python-exec linking
+	# they will be relocated in pkg_preinst()
+	distutils-r1_python_install \
+		--system-prefix="${EPREFIX}/usr" \
+		--bindir="$(python_get_scriptdir)" \
+		--docdir="${EPREFIX}/usr/share/doc/${PF}" \
+		--htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
+		--sbindir="$(python_get_scriptdir)" \
+		--sysconfdir="${EPREFIX}/etc" \
+		"${@}"
+}
+
+pkg_postinst() {
+	if [[ -z ${REPLACING_VERSIONS} ]]; then
+		elog ""
+		elog "This release of repoman is from the new portage/repoman split"
+		elog "release code base."
+		elog "This new repoman code base is still being developed.  So its API's"
+		elog "are not to be considered stable and are subject to change."
+		elog "The code released has been tested and considered ready for use."
+		elog "This however does not guarantee it to be completely bug free."
+		elog "Please report any bugs you may encounter."
+		elog ""
+	fi
+}
diff --git a/app-portage/repoman/repoman-9999.ebuild b/app-portage/repoman/repoman-9999.ebuild
new file mode 100644
index 0000000..303e505
--- /dev/null
+++ b/app-portage/repoman/repoman-9999.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS=no
+PYTHON_COMPAT=( python3_{6..9} )
+PYTHON_REQ_USE='bzip2(+)'
+
+inherit distutils-r1
+
+CROS_WORKON_PROJECT="chromiumos/third_party/portage_tool"
+CROS_WORKON_LOCALNAME="portage_tool"
+CROS_WORKON_EGIT_BRANCH="chromeos-3.0.21"
+CROS_WORKON_SUBTREE="repoman"
+inherit cros-workon
+
+KEYWORDS="~*"
+
+DESCRIPTION="Repoman is a Quality Assurance tool for Gentoo ebuilds"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE=""
+
+RDEPEND="
+	>=sys-apps/portage-2.3.0_rc[${PYTHON_USEDEP}]
+	>=dev-python/lxml-3.6.0[${PYTHON_USEDEP}]
+	dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+src_unpack() {
+	cros-workon_src_unpack
+	S+="/repoman"
+}
+
+python_test() {
+	esetup.py test
+}
+
+python_install() {
+	# Install sbin scripts to bindir for python-exec linking
+	# they will be relocated in pkg_preinst()
+	distutils-r1_python_install \
+		--system-prefix="${EPREFIX}/usr" \
+		--bindir="$(python_get_scriptdir)" \
+		--docdir="${EPREFIX}/usr/share/doc/${PF}" \
+		--htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
+		--sbindir="$(python_get_scriptdir)" \
+		--sysconfdir="${EPREFIX}/etc" \
+		"${@}"
+}
+
+pkg_postinst() {
+	if [[ -z ${REPLACING_VERSIONS} ]]; then
+		elog ""
+		elog "This release of repoman is from the new portage/repoman split"
+		elog "release code base."
+		elog "This new repoman code base is still being developed.  So its API's"
+		elog "are not to be considered stable and are subject to change."
+		elog "The code released has been tested and considered ready for use."
+		elog "This however does not guarantee it to be completely bug free."
+		elog "Please report any bugs you may encounter."
+		elog ""
+	fi
+}
diff --git a/app-shells/OWNERS b/app-shells/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/app-shells/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/app-shells/bash/files/bash-4.4-noexec.patch b/app-shells/bash/files/bash-4.4-noexec.patch
index 8ebb99b..7c5b00e 100644
--- a/app-shells/bash/files/bash-4.4-noexec.patch
+++ b/app-shells/bash/files/bash-4.4-noexec.patch
@@ -1,4 +1,4 @@
-From 77f549b03ecde43e926482092ecad6cd6f3cda7b Mon Sep 17 00:00:00 2001
+From 1a84beec7932bbee1821cb1af65e3aa00f877332 Mon Sep 17 00:00:00 2001
 From: Mike Frysinger <vapier@chromium.org>
 Date: Sat, 12 Dec 2015 15:18:25 -0500
 Subject: [PATCH] do not source/exec scripts on noexec mount points
@@ -65,7 +65,7 @@
  6 files changed, 82 insertions(+), 2 deletions(-)
 
 diff --git a/builtins/evalfile.c b/builtins/evalfile.c
-index 316b794..10ed7a6 100644
+index fc3975e..d49e592 100644
 --- a/builtins/evalfile.c
 +++ b/builtins/evalfile.c
 @@ -32,6 +32,10 @@
@@ -79,7 +79,7 @@
  #include "../bashansi.h"
  #include "../bashintl.h"
  
-@@ -161,6 +165,9 @@ file_error_and_exit:
+@@ -155,6 +159,9 @@ file_error_and_exit:
        return ((flags & FEVAL_BUILTIN) ? EXECUTION_FAILURE : -1);
      }      
  
@@ -90,10 +90,10 @@
      {
        string = (char *)xmalloc (1 + file_size);
 diff --git a/config.h.in b/config.h.in
-index a5ad9e7..84f9ab5 100644
+index ab316d4..26c9bb9 100644
 --- a/config.h.in
 +++ b/config.h.in
-@@ -1045,6 +1045,9 @@
+@@ -1086,6 +1086,9 @@
  /* Define if you have the <sys/stat.h> header file. */
  #undef HAVE_SYS_STAT_H
  
@@ -104,10 +104,10 @@
  #undef HAVE_SYS_STREAM_H
  
 diff --git a/configure b/configure
-index dc57ff9..9a7845e 100755
+index 0f1d3ed..203c22e 100755
 --- a/configure
 +++ b/configure
-@@ -4599,7 +4599,7 @@ fi
+@@ -4675,7 +4675,7 @@ fi
  
  # On IRIX 5.3, sys/types and inttypes.h are conflicting.
  for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
@@ -117,20 +117,20 @@
    as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
  ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 diff --git a/configure.ac b/configure.ac
-index ce4e9b6..3b13cd9 100644
+index 2fe3e7d..c61e357 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -702,7 +702,7 @@ AC_CHECK_HEADERS(unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \
+@@ -758,7 +758,7 @@ AC_CHECK_HEADERS(unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \
  		 stdbool.h stddef.h stdint.h netdb.h pwd.h grp.h strings.h \
  		 regex.h syslog.h ulimit.h)
  AC_CHECK_HEADERS(sys/pte.h sys/stream.h sys/select.h sys/file.h sys/ioctl.h \
--		 sys/param.h sys/socket.h sys/stat.h \
-+		 sys/param.h sys/socket.h sys/stat.h sys/statvfs.h \
+-		 sys/mman.h sys/param.h sys/random.h sys/socket.h sys/stat.h \
++		 sys/mman.h sys/param.h sys/random.h sys/socket.h sys/stat.h sys/statvfs.h \
  		 sys/time.h sys/times.h sys/types.h sys/wait.h)
  AC_CHECK_HEADERS(netinet/in.h arpa/inet.h)
  
 diff --git a/shell.c b/shell.c
-index 45b77f9..6eaf165 100644
+index ce8087f..8716981 100644
 --- a/shell.c
 +++ b/shell.c
 @@ -46,6 +46,10 @@
@@ -144,7 +144,7 @@
  #include "bashintl.h"
  
  #define NEED_SH_SETLINEBUF_DECL		/* used in externs.h */
-@@ -740,6 +744,7 @@ main (argc, argv, env)
+@@ -754,6 +758,7 @@ main (argc, argv, env)
      {
        /* In this mode, bash is reading a script from stdin, which is a
  	 pipe or redirected file. */
@@ -152,7 +152,7 @@
  #if defined (BUFFERED_INPUT)
        default_buffered_input = fileno (stdin);	/* == 0 */
  #else
-@@ -1467,6 +1472,63 @@ start_debugger ()
+@@ -1527,6 +1532,63 @@ start_debugger ()
  #endif
  }
  
@@ -216,7 +216,7 @@
  static int
  open_shell_script (script_name)
       char *script_name;
-@@ -1604,6 +1666,8 @@ open_shell_script (script_name)
+@@ -1676,6 +1738,8 @@ open_shell_script (script_name)
      SET_CLOSE_ON_EXEC (fileno (default_input));
  #endif /* !BUFFERED_INPUT */
  
@@ -226,19 +226,19 @@
       like `bash -i /dev/stdin' is executed. */
    if (interactive_shell && fd_is_tty)
 diff --git a/shell.h b/shell.h
-index ce08879..e8b8ad0 100644
+index 8b41792..1a3dada 100644
 --- a/shell.h
 +++ b/shell.h
-@@ -193,3 +193,9 @@ extern void restore_parser_state __P((sh_parser_state_t *));
+@@ -227,3 +227,9 @@ extern void restore_parser_state PARAMS((sh_parser_state_t *));
  
- extern sh_input_line_state_t *save_input_line_state __P((sh_input_line_state_t *));
- extern void restore_input_line_state __P((sh_input_line_state_t *));
+ extern sh_input_line_state_t *save_input_line_state PARAMS((sh_input_line_state_t *));
+ extern void restore_input_line_state PARAMS((sh_input_line_state_t *));
 +
 +#ifndef SHELL_IGNORE_NOEXEC
-+extern void check_noexec __P((int, const char *));
++extern void check_noexec PARAMS((int, const char *));
 +#else
 +static inline void check_noexec (int fd, const char *source) {}
 +#endif
 -- 
-2.29.2
+2.31.0
 
diff --git a/app-text/ghostscript-gpl/Manifest b/app-text/ghostscript-gpl/Manifest
index cb05e44..7f3eba3 100644
--- a/app-text/ghostscript-gpl/Manifest
+++ b/app-text/ghostscript-gpl/Manifest
@@ -1 +1 @@
-DIST ghostscript-9.54.0.tar.xz 56001768 BLAKE2B 4a98b1af74c4b4caf8d263cd5529059304a76884418c90401b0fc9a89e0f5de5417a439f6e08b95374e62158eec65528ef5f949497d5050a6408fb7c87e54aa9 SHA512 a3c96925f4dbf5e276fc543b88df185a0435c68166db15ac532094329ba8db314d739a292da18be7954daaafeeb290e641ea03edf888854d7e752998ec6062cc
+DIST ghostscript-9.55.0.tar.xz 67417724 BLAKE2B 87827856aa60c2c4a4ed209bc4203a837107df0404af036a48e5baa23fccfc945a97fe328a80b15c7357fc71acb82721d4b96e5f726d8c9d836fee031916aef7 SHA512 42c7e05ba72e9fdd626c5412187b13fc3c9459cae57dfe49ddd3011bf4e2cbd10bc88f09068a9f777c2ec6ae881cd737fd700ab62ec5108f2aca69152588f38e
diff --git a/net-print/cups-filters/OWNERS b/app-text/ghostscript-gpl/OWNERS
similarity index 100%
rename from net-print/cups-filters/OWNERS
rename to app-text/ghostscript-gpl/OWNERS
diff --git a/app-text/ghostscript-gpl/files/ghostscript-9.55-gscms-transformm.patch b/app-text/ghostscript-gpl/files/ghostscript-9.55-gscms-transformm.patch
new file mode 100644
index 0000000..c255f40
--- /dev/null
+++ b/app-text/ghostscript-gpl/files/ghostscript-9.55-gscms-transformm.patch
@@ -0,0 +1,12 @@
+diff -ruaN ghostscript-9.55.0.orig/base/gsicc_lcms2.c ghostscript-9.55.0/base/gsicc_lcms2.c
+--- ghostscript-9.55.0.orig/base/gsicc_lcms2.c	2021-09-27 01:44:02.000000000 -0600
++++ ghostscript-9.55.0/base/gsicc_lcms2.c	2022-01-26 14:05:36.094067765 -0700
+@@ -462,7 +462,7 @@
+ gscms_transform_color(gx_device *dev, gsicc_link_t *icclink, void *inputcolor,
+                              void *outputcolor, int num_bytes)
+ {
+-    return gscms_transformm_color_const(dev, icclink, inputcolor, outputcolor, num_bytes);
++    return gscms_transform_color_const(dev, icclink, inputcolor, outputcolor, num_bytes);
+ }
+ 
+ int
diff --git a/app-text/ghostscript-gpl/files/ghostscript-9.55-unroll-while-loop.patch b/app-text/ghostscript-gpl/files/ghostscript-9.55-unroll-while-loop.patch
new file mode 100644
index 0000000..c5ded45
--- /dev/null
+++ b/app-text/ghostscript-gpl/files/ghostscript-9.55-unroll-while-loop.patch
@@ -0,0 +1,31 @@
+--- a/base/gspath1.c
++++ b/base/gspath1.c
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2001-2021 Artifex Software, Inc.
++/* Copyright (C) 2001-2022 Artifex Software, Inc.
+    All Rights Reserved.
+ 
+    This software is provided AS-IS with no warranty, either express or
+@@ -228,8 +228,9 @@ gs_gstate_arc_add(gx_path * ppath, gs_gstate * pgs, bool clockwise,
+     arc.p3.x = axc + ar * arc.sincos.cos;
+     arc.p3.y = ayc + ar * arc.sincos.sin;
+     if (clockwise) {
+-        while (ang1 < ang2)
+-            ang2 -= 360;
++        if (ang1 < ang2) {
++            ang2 -= ceil((ang2 - ang1) / 360) * 360;
++        }
+         if (ang2 < 0) {
+             double adjust = ceil(-ang2 / 360) * 360;
+ 
+@@ -258,8 +259,9 @@ gs_gstate_arc_add(gx_path * ppath, gs_gstate * pgs, bool clockwise,
+             arc.notes = sn_not_first;
+         }
+     } else {
+-        while (ang2 < ang1)
+-            ang2 += 360;
++        if (ang2 < ang1) {
++            ang2 += ceil((ang1 - ang2) / 360) * 360;
++        }
+         if (ang1 < 0) {
+             double adjust = ceil(-ang1 / 360) * 360;
\ No newline at end of file
diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-9.54.0-r6.ebuild b/app-text/ghostscript-gpl/ghostscript-gpl-9.54.0-r6.ebuild
deleted file mode 120000
index 83366e1..0000000
--- a/app-text/ghostscript-gpl/ghostscript-gpl-9.54.0-r6.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-ghostscript-gpl-9.54.0.ebuild
\ No newline at end of file
diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-9.55.0-r2.ebuild b/app-text/ghostscript-gpl/ghostscript-gpl-9.55.0-r2.ebuild
new file mode 120000
index 0000000..d736b83
--- /dev/null
+++ b/app-text/ghostscript-gpl/ghostscript-gpl-9.55.0-r2.ebuild
@@ -0,0 +1 @@
+ghostscript-gpl-9.55.0.ebuild
\ No newline at end of file
diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-9.54.0.ebuild b/app-text/ghostscript-gpl/ghostscript-gpl-9.55.0.ebuild
similarity index 100%
rename from app-text/ghostscript-gpl/ghostscript-gpl-9.54.0.ebuild
rename to app-text/ghostscript-gpl/ghostscript-gpl-9.55.0.ebuild
diff --git a/brillo-base/libsparse/OWNERS b/brillo-base/libsparse/OWNERS
new file mode 100644
index 0000000..16d6476
--- /dev/null
+++ b/brillo-base/libsparse/OWNERS
@@ -0,0 +1 @@
+include chromiumos/chromite:/OWNERS.au
diff --git a/chromeos-base/OWNERS b/chromeos-base/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/chromeos-base/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/chromeos-base/aosp-frameworks-base-proto/aosp-frameworks-base-proto-20200929-r2.ebuild b/chromeos-base/aosp-frameworks-base-proto/aosp-frameworks-base-proto-20200929-r3.ebuild
similarity index 100%
rename from chromeos-base/aosp-frameworks-base-proto/aosp-frameworks-base-proto-20200929-r2.ebuild
rename to chromeos-base/aosp-frameworks-base-proto/aosp-frameworks-base-proto-20200929-r3.ebuild
diff --git a/chromeos-base/aosp-frameworks-base-proto/aosp-frameworks-base-proto-20200929.ebuild b/chromeos-base/aosp-frameworks-base-proto/aosp-frameworks-base-proto-20200929.ebuild
index 2db7dd1..3c8ce23 100644
--- a/chromeos-base/aosp-frameworks-base-proto/aosp-frameworks-base-proto-20200929.ebuild
+++ b/chromeos-base/aosp-frameworks-base-proto/aosp-frameworks-base-proto-20200929.ebuild
@@ -23,6 +23,7 @@
 
 DEPEND="${RDEPEND}
 	dev-go/protobuf
+	dev-go/protobuf-legacy-api
 	dev-libs/protobuf:=
 "
 
diff --git a/chromeos-base/aosp-frameworks-ml-nn-vts/aosp-frameworks-ml-nn-vts-0.0.1-r100.ebuild b/chromeos-base/aosp-frameworks-ml-nn-vts/aosp-frameworks-ml-nn-vts-0.0.1-r100.ebuild
deleted file mode 100644
index dd1d804..0000000
--- a/chromeos-base/aosp-frameworks-ml-nn-vts/aosp-frameworks-ml-nn-vts-0.0.1-r100.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("f35f2919309cf11b0ddd9deb24a6b145d40d9254" "0f1e3475e6dc25b047c89be8f4409f626ee5384f" "eee167fa829d108a5678624050425899b348a252")
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "3b51e0d1fad0c7ab5584a16d0942cc33d491f433" "dc25ed68a7d37cb190a28c01c84f8bb2e874bb47")
-inherit cros-constants
-
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform2"
-	"aosp/platform/frameworks/ml"
-	"aosp/platform/hardware/interfaces/neuralnetworks"
-)
-CROS_WORKON_REPO=(
-	"${CROS_GIT_HOST_URL}"
-	"${CROS_GIT_HOST_URL}"
-	"${CROS_GIT_HOST_URL}"
-)
-CROS_WORKON_EGIT_BRANCH=(
-	"main"
-	"master"
-	"master"
-)
-CROS_WORKON_LOCALNAME=(
-	"platform2"
-	"aosp/frameworks/ml"
-	"aosp/hardware/interfaces/neuralnetworks"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}/platform2"
-	"${S}/platform2/aosp/frameworks/ml"
-	"${S}/platform2/aosp/hardware/interfaces/neuralnetworks"
-)
-CROS_WORKON_SUBTREE=(
-	"common-mk .gn"
-	""
-	""
-)
-CROS_WORKON_INCREMENTAL_BUILD=1
-
-PLATFORM_SUBDIR="aosp/frameworks/ml/chromeos/tests"
-
-inherit cros-workon platform flag-o-matic
-
-DESCRIPTION="HAL / Driver Vendor and Compatability Test Tools for NNAPI"
-HOMEPAGE="https://developer.android.com/ndk/guides/neuralnetworks"
-
-LICENSE="BSD-Google Apache-2.0"
-KEYWORDS="*"
-
-RDEPEND="
-	chromeos-base/aosp-frameworks-ml-nn:=
-"
-
-DEPEND="
-	${RDEPEND}
-"
-
-src_configure() {
-	if use x86 || use amd64; then
-		append-cppflags "-D_Float16=__fp16"
-		append-cxxflags "-Xclang -fnative-half-type"
-		append-cxxflags "-Xclang -fallow-half-arguments-and-returns"
-	fi
-	platform_src_configure
-}
-
-src_install() {
-	platform_src_install
-
-	dobin "${OUT}/cros_nnapi_vts_1_0"
-	dobin "${OUT}/cros_nnapi_vts_1_1"
-	dobin "${OUT}/cros_nnapi_vts_1_2"
-	dobin "${OUT}/cros_nnapi_vts_1_3"
-	dobin "${OUT}/cros_nnapi_cts"
-}
diff --git a/chromeos-base/aosp-frameworks-ml-nn-vts/aosp-frameworks-ml-nn-vts-0.0.1-r180.ebuild b/chromeos-base/aosp-frameworks-ml-nn-vts/aosp-frameworks-ml-nn-vts-0.0.1-r180.ebuild
new file mode 100644
index 0000000..c67a0219
--- /dev/null
+++ b/chromeos-base/aosp-frameworks-ml-nn-vts/aosp-frameworks-ml-nn-vts-0.0.1-r180.ebuild
@@ -0,0 +1,77 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("dbb1136242ba822d539eaf11493f3b68815adb7f" "a20bb10d95f22dc95f0f1779205b381f8c14569d" "181f7c798017c00372848000f4ba38b04936e5ab")
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "e982c0b168527570ec0e64866af23d7199ef2d42" "3ef88da49eee33eaeed09c00a9d40169450b7f5a")
+inherit cros-constants
+
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform2"
+	"aosp/platform/frameworks/ml"
+	"aosp/platform/hardware/interfaces/neuralnetworks"
+)
+CROS_WORKON_REPO=(
+	"${CROS_GIT_HOST_URL}"
+	"${CROS_GIT_HOST_URL}"
+	"${CROS_GIT_HOST_URL}"
+)
+CROS_WORKON_EGIT_BRANCH=(
+	"main"
+	"master"
+	"master"
+)
+CROS_WORKON_LOCALNAME=(
+	"platform2"
+	"aosp/frameworks/ml"
+	"aosp/hardware/interfaces/neuralnetworks"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}/platform2"
+	"${S}/platform2/aosp/frameworks/ml"
+	"${S}/platform2/aosp/hardware/interfaces/neuralnetworks"
+)
+CROS_WORKON_SUBTREE=(
+	"common-mk .gn"
+	""
+	""
+)
+CROS_WORKON_INCREMENTAL_BUILD=1
+
+PLATFORM_SUBDIR="aosp/frameworks/ml/chromeos/tests"
+
+inherit cros-workon platform flag-o-matic
+
+DESCRIPTION="HAL / Driver Vendor and Compatability Test Tools for NNAPI"
+HOMEPAGE="https://developer.android.com/ndk/guides/neuralnetworks"
+
+LICENSE="BSD-Google Apache-2.0"
+KEYWORDS="*"
+
+RDEPEND="
+	chromeos-base/aosp-frameworks-ml-nn:=
+"
+
+DEPEND="
+	${RDEPEND}
+"
+
+src_configure() {
+	if use x86 || use amd64; then
+		append-cppflags "-D_Float16=__fp16"
+		append-cxxflags "-Xclang -fnative-half-type"
+		append-cxxflags "-Xclang -fallow-half-arguments-and-returns"
+	fi
+	platform_src_configure
+}
+
+src_install() {
+	platform_src_install
+
+	dobin "${OUT}/cros_nnapi_vts_1_0"
+	dobin "${OUT}/cros_nnapi_vts_1_1"
+	dobin "${OUT}/cros_nnapi_vts_1_2"
+	dobin "${OUT}/cros_nnapi_vts_1_3"
+	dobin "${OUT}/cros_nnapi_cts"
+}
diff --git a/chromeos-base/aosp-frameworks-ml-nn-vts/files/revision_bump b/chromeos-base/aosp-frameworks-ml-nn-vts/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/aosp-frameworks-ml-nn-vts/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/aosp-frameworks-ml-nn/aosp-frameworks-ml-nn-0.0.1-r275.ebuild b/chromeos-base/aosp-frameworks-ml-nn/aosp-frameworks-ml-nn-0.0.1-r275.ebuild
deleted file mode 100644
index 3a4999c..0000000
--- a/chromeos-base/aosp-frameworks-ml-nn/aosp-frameworks-ml-nn-0.0.1-r275.ebuild
+++ /dev/null
@@ -1,241 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("f35f2919309cf11b0ddd9deb24a6b145d40d9254" "0f1e3475e6dc25b047c89be8f4409f626ee5384f" "eee167fa829d108a5678624050425899b348a252")
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "3b51e0d1fad0c7ab5584a16d0942cc33d491f433" "dc25ed68a7d37cb190a28c01c84f8bb2e874bb47")
-inherit cros-constants
-
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform2"
-	"aosp/platform/frameworks/ml"
-	"aosp/platform/hardware/interfaces/neuralnetworks"
-)
-CROS_WORKON_REPO=(
-	"${CROS_GIT_HOST_URL}"
-	"${CROS_GIT_HOST_URL}"
-	"${CROS_GIT_HOST_URL}"
-)
-CROS_WORKON_EGIT_BRANCH=(
-	"main"
-	"master"
-	"master"
-)
-CROS_WORKON_LOCALNAME=(
-	"platform2"
-	"aosp/frameworks/ml"
-	"aosp/hardware/interfaces/neuralnetworks"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}/platform2"
-	"${S}/platform2/aosp/frameworks/ml"
-	"${S}/platform2/aosp/hardware/interfaces/neuralnetworks"
-)
-CROS_WORKON_SUBTREE=(
-	"common-mk .gn"
-	""
-	""
-)
-CROS_WORKON_INCREMENTAL_BUILD=1
-
-PLATFORM_SUBDIR="aosp/frameworks/ml"
-
-inherit cros-workon platform flag-o-matic
-
-DESCRIPTION="Chrome OS port of the Android Neural Network API"
-HOMEPAGE="https://developer.android.com/ndk/guides/neuralnetworks"
-
-LICENSE="BSD-Google Apache-2.0"
-KEYWORDS="*"
-IUSE="cpu_flags_x86_avx2 vendor-nnhal minimal-driver xnnpack fuzzer"
-
-RDEPEND="
-	chromeos-base/nnapi:=
-	dev-libs/openssl:=
-	sci-libs/tensorflow[xnnpack?]
-"
-
-DEPEND="
-	${RDEPEND}
-	dev-libs/libtextclassifier
-	>=dev-cpp/eigen-3
-	fuzzer? ( dev-libs/libprotobuf-mutator:= )
-"
-
-src_configure() {
-	if use x86 || use amd64; then
-		append-cppflags "-D_Float16=__fp16"
-		append-cxxflags "-Xclang -fnative-half-type"
-		append-cxxflags "-Xclang -fallow-half-arguments-and-returns"
-	fi
-	if use xnnpack; then
-		append-cppflags "-DNNAPI_USE_XNNPACK_DRIVER"
-	fi
-	if use minimal-driver; then
-		append-cppflags "-DNNAPI_USE_MINIMAL_DRIVER"
-	fi
-	platform_src_configure
-}
-
-platform_pkg_test() {
-	local tests=(
-		chromeos common runtime runtime_generated
-	)
-	local gtest_excl_filter="-"
-	local qemu_gtest_excl_filter="-"
-
-	# These tests fail with Tensorflow 2.5.0. Don't want to block
-	# the uprev on that, since nothing in production is using this
-	# package yet. Tracking this test failure in following bug.
-	# TODO: b/189803299
-	gtest_excl_filter+="TestGenerated/*.Test/svdf_bias_present*:"
-	qemu_gtest_excl_filter+="TestGenerated/*.Test/svdf_bias_present*:"
-
-	# When running in qemu, these tests freeze the emulator when hitting
-	# EventFlag::wake from libfmq. The error printed is:
-	# Error in event flag wake attempt: Function not implemented
-	# This is a known issue, see:
-	# https://chromium.googlesource.com/chromiumos/docs/+/master/testing/running_unit_tests.md#caveats
-	# TODO(http://crbug.com/1117470): tracking bug for qemu fix
-	qemu_gtest_excl_filter+="Flavor/ExecutionTest10.Wait*:"
-	qemu_gtest_excl_filter+="Flavor/ExecutionTest11.Wait*:"
-	qemu_gtest_excl_filter+="Flavor/ExecutionTest12.Wait*:"
-	qemu_gtest_excl_filter+="Flavor/ExecutionTest13.Wait*:"
-	qemu_gtest_excl_filter+="IntrospectionFlavor/ExecutionTest13.Wait*:"
-	qemu_gtest_excl_filter+="Unfenced/TimingTest.Test/12:"
-	qemu_gtest_excl_filter+="Unfenced/TimingTest.Test/15:"
-	qemu_gtest_excl_filter+="Unfenced/TimingTest.Test/18:"
-	qemu_gtest_excl_filter+="Unfenced/TimingTest.Test/21:"
-	qemu_gtest_excl_filter+="Unfenced/TimingTest.Test/24:"
-	qemu_gtest_excl_filter+="ValidationTestBurst.BurstComputeBadCompilation:"
-	qemu_gtest_excl_filter+="ValidationTestBurst.BurstComputeConcurrent:"
-	qemu_gtest_excl_filter+="ValidationTestBurst.BurstComputeDifferentCompilations:"
-	qemu_gtest_excl_filter+="ValidationTestBurst.BurstComputeNull:"
-	qemu_gtest_excl_filter+="ValidationTestBurst.FreeBurstBeforeMemory:"
-	qemu_gtest_excl_filter+="ValidationTestBurst.FreeMemoryBeforeBurst:"
-	qemu_gtest_excl_filter+="ValidationTestCompilation.ExecutionUsability:"
-	qemu_gtest_excl_filter+="ValidationTestCompilation.ReusableExecutionConcurrent:"
-	qemu_gtest_excl_filter+="ValidationTestCompilation.NonReusableExecutionConcurrent:"
-	qemu_gtest_excl_filter+="ValidationTestCompilationForDevices_1.ExecutionTiming:"
-	qemu_gtest_excl_filter+="ValidationTestCompilationForDevices_1.ExecutionSetTimeout:"
-	qemu_gtest_excl_filter+="ValidationTestCompilationForDevices_1.ExecutionSetTimeoutMaximum:"
-
-	if use asan; then
-		# Some tests do not correctly clean up the Execution object and it is
-		# left 'in-flight', which gets ignored by ANeuralNetworksExecution_free.
-		# See b/161844605.
-		# Look for 'passed an in-flight ANeuralNetworksExecution' in log output
-		gtest_excl_filter+="Fenced/TimingTest.Test/2:"
-		gtest_excl_filter+="Fenced/TimingTest.Test/19:"
-		gtest_excl_filter+="Flavor/ExecutionTest10.Wait/1:"
-		gtest_excl_filter+="Flavor/ExecutionTest10.Wait/2:"
-		gtest_excl_filter+="Flavor/ExecutionTest10.Wait/4:"
-		gtest_excl_filter+="Flavor/ExecutionTest11.Wait/1:"
-		gtest_excl_filter+="Flavor/ExecutionTest11.Wait/2:"
-		gtest_excl_filter+="Flavor/ExecutionTest11.Wait/4:"
-		gtest_excl_filter+="Flavor/ExecutionTest12.Wait/1:"
-		gtest_excl_filter+="Flavor/ExecutionTest12.Wait/2:"
-		gtest_excl_filter+="Flavor/ExecutionTest12.Wait/4:"
-		gtest_excl_filter+="Flavor/ExecutionTest13.Wait/1:"
-		gtest_excl_filter+="Flavor/ExecutionTest13.Wait/2:"
-		gtest_excl_filter+="Flavor/ExecutionTest13.Wait/4:"
-		gtest_excl_filter+="IntrospectionFlavor/ExecutionTest13.Wait/1:"
-		gtest_excl_filter+="IntrospectionFlavor/ExecutionTest13.Wait/2:"
-		gtest_excl_filter+="IntrospectionFlavor/ExecutionTest13.Wait/4:"
-
-		# This is due to a leak caused when copying the memory pools
-		# into the request object in this test. lsan_suppressions doesn't
-		# work due to the lack of /usr/bin/llvm-symbolizer, so just exclude.
-		gtest_excl_filter+="ComplianceTest.DeviceMemory:"
-		gtest_excl_filter+="ValidateRequestTest.ScalarOutput:"
-		gtest_excl_filter+="ValidateRequestTest.UnknownOutputRank:"
-
-		# Buffer overflow here, but seems to be expected?
-		gtest_excl_filter+="OperandExtraParamsTest.TestChannelQuantValuesBadScalesCount:"
-
-		# Leaks in CPUExecutor
-		gtest_excl_filter+="*RandomPartitioningTest*:"
-
-		# Disable asan container overflow checks that are coming from gtest,
-		# not our code. Strangely this only started happening once we made
-		# common a shared library.
-		# See: https://crbug.com/1067977, https://crbug.com/1069722
-		# https://github.com/google/sanitizers/wiki/AddressSanitizerContainerOverflow#false-positives
-		export ASAN_OPTIONS+=":detect_container_overflow=0:detect_odr_violation=0:"
-	fi
-	if use xnnpack; then
-		# These tests don't currently work with the XNNPACK driver
-		gtest_excl_filter+="ValidationTestExecutionDeviceMemory.SetInputFromMemory*:"
-		gtest_excl_filter+="ValidationTestExecutionDeviceMemory.SetOutputFromMemory*:"
-		gtest_excl_filter+="TestGenerated/*.Test/maximum_broadcast*:"
-		gtest_excl_filter+="TestGenerated/*.Test/maximum_simple*:"
-		gtest_excl_filter+="TestGenerated/*.Test/minimum_broadcast*:"
-		gtest_excl_filter+="TestGenerated/*.Test/minimum_simple*:"
-		gtest_excl_filter+="TestGenerated/*.Test/pad*:"
-		gtest_excl_filter+="TestGenerated/*.Test/prelu*:"
-		gtest_excl_filter+="TestGenerated/*.Test/resize_bilinear_v1_3_align_corners*:"
-		gtest_excl_filter+="TestGenerated/*.Test/depthwise_conv2d_invalid_filter_dims_nhwc*:"
-		gtest_excl_filter+="TestGenerated/DeviceMemoryTest.Test/*:"
-	fi
-	local test_target
-	for test_target in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_target}_testrunner" "0" "${gtest_excl_filter}" "${qemu_gtest_excl_filter}"
-	done
-
-	if use xnnpack; then
-		platform_test "run" "${OUT}/runtime_xnn_testrunner"
-	fi
-}
-
-src_compile() {
-	platform_src_compile
-	if use xnnpack; then
-		platform "compile" "xnn-driver"
-		if use test; then
-			platform "compile" "runtime_xnn_testrunner"
-		fi
-	fi
-}
-
-src_install() {
-	platform_src_install
-
-	einfo "Installing runtime & common Headers."
-	insinto /usr/include/aosp/frameworks/ml/nn/common
-	doins -r "${S}"/common/include
-	insinto /usr/include/aosp/frameworks/ml/nn/runtime
-	doins -r "${S}"/runtime/include
-	insinto /usr/include/aosp/frameworks/ml/nn/driver/cache
-	doins "${S}"/driver/cache/nnCache/nnCache.h
-	doins "${S}"/driver/cache/BlobCache/BlobCache.h
-
-	einfo "Installing libs."
-	dolib.so "${OUT}/lib/libneuralnetworks.so"
-	dolib.so "${OUT}/lib/libnn-common.so"
-
-	einfo "Installing default driver"
-	dolib.so "${OUT}/lib/libfull-driver.so"
-
-	if ! use vendor-nnhal ; then
-		einfo "Installing reference vendor hal."
-		dolib.so "${OUT}/lib/libvendor-nn-hal.so"
-	fi
-	if use minimal-driver; then
-		einfo "Installing minimal drivers"
-		dolib.so "${OUT}/lib/libminimal-driver.so"
-	fi
-	if use xnnpack; then
-		einfo "Installing xnnpack drivers"
-		dolib.so "${OUT}/lib/libxnn-driver.so"
-	fi
-
-	# Install fuzz targets.
-	local fuzzer
-	for fuzzer in "${OUT}"/*_fuzzer; do
-		# ChromeOS - Platform - Technologies - Machine Learning
-		local fuzzer_component_id="831886"
-		platform_fuzzer_install "${S}"/OWNERS "${fuzzer}" \
-			--comp "${fuzzer_component_id}"
-	done
-}
diff --git a/chromeos-base/aosp-frameworks-ml-nn/aosp-frameworks-ml-nn-0.0.1-r360.ebuild b/chromeos-base/aosp-frameworks-ml-nn/aosp-frameworks-ml-nn-0.0.1-r360.ebuild
new file mode 100644
index 0000000..c7b895d
--- /dev/null
+++ b/chromeos-base/aosp-frameworks-ml-nn/aosp-frameworks-ml-nn-0.0.1-r360.ebuild
@@ -0,0 +1,257 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("dbb1136242ba822d539eaf11493f3b68815adb7f" "a20bb10d95f22dc95f0f1779205b381f8c14569d" "181f7c798017c00372848000f4ba38b04936e5ab")
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "e982c0b168527570ec0e64866af23d7199ef2d42" "3ef88da49eee33eaeed09c00a9d40169450b7f5a")
+inherit cros-constants
+
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform2"
+	"aosp/platform/frameworks/ml"
+	"aosp/platform/hardware/interfaces/neuralnetworks"
+)
+CROS_WORKON_REPO=(
+	"${CROS_GIT_HOST_URL}"
+	"${CROS_GIT_HOST_URL}"
+	"${CROS_GIT_HOST_URL}"
+)
+CROS_WORKON_EGIT_BRANCH=(
+	"main"
+	"main"
+	"master"
+)
+CROS_WORKON_LOCALNAME=(
+	"platform2"
+	"aosp/frameworks/ml"
+	"aosp/hardware/interfaces/neuralnetworks"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}/platform2"
+	"${S}/platform2/aosp/frameworks/ml"
+	"${S}/platform2/aosp/hardware/interfaces/neuralnetworks"
+)
+CROS_WORKON_SUBTREE=(
+	"common-mk .gn"
+	""
+	""
+)
+CROS_WORKON_INCREMENTAL_BUILD=1
+
+PLATFORM_SUBDIR="aosp/frameworks/ml"
+
+inherit cros-workon platform flag-o-matic
+
+DESCRIPTION="Chrome OS port of the Android Neural Network API"
+HOMEPAGE="https://developer.android.com/ndk/guides/neuralnetworks"
+
+LICENSE="BSD-Google Apache-2.0"
+KEYWORDS="*"
+IUSE="cpu_flags_x86_avx2 vendor-nnhal minimal-driver xnnpack fuzzer strace_ipc_driver"
+
+RDEPEND="
+	chromeos-base/nnapi:=
+	dev-libs/openssl:=
+	sci-libs/tensorflow[xnnpack?]
+"
+
+DEPEND="
+	${RDEPEND}
+	dev-libs/libtextclassifier
+	>=dev-cpp/eigen-3
+	fuzzer? ( dev-libs/libprotobuf-mutator:= )
+"
+
+src_configure() {
+	# This warning is triggered in tensorflow.
+	append-flags "-Wno-unused-but-set-variable"
+	if use x86 || use amd64; then
+		append-cppflags "-D_Float16=__fp16"
+		append-cxxflags "-Xclang -fnative-half-type"
+		append-cxxflags "-Xclang -fallow-half-arguments-and-returns"
+	fi
+	if use xnnpack; then
+		append-cppflags "-DNNAPI_USE_XNNPACK_DRIVER"
+	fi
+	if use minimal-driver; then
+		append-cppflags "-DNNAPI_USE_MINIMAL_DRIVER"
+	fi
+	if use strace_ipc_driver; then
+		append-cppflags "-DSTRACE_NNAPI_HAL_IPC_DRIVER"
+	fi
+	platform_src_configure
+}
+
+platform_pkg_test() {
+	local tests=(
+		chromeos common runtime runtime_generated
+	)
+	local gtest_excl_filter="-"
+	local qemu_gtest_excl_filter="-"
+
+	# These tests fail with Tensorflow 2.5.0. Don't want to block
+	# the uprev on that, since nothing in production is using this
+	# package yet. Tracking this test failure in following bug.
+	# TODO: b/189803299
+	gtest_excl_filter+="TestGenerated/*.Test/svdf_bias_present*:"
+	qemu_gtest_excl_filter+="TestGenerated/*.Test/svdf_bias_present*:"
+
+	# When running in qemu, these tests freeze the emulator when hitting
+	# EventFlag::wake from libfmq. The error printed is:
+	# Error in event flag wake attempt: Function not implemented
+	# This is a known issue, see:
+	# https://chromium.googlesource.com/chromiumos/docs/+/master/testing/running_unit_tests.md#caveats
+	# TODO(http://crbug.com/1117470): tracking bug for qemu fix
+	qemu_gtest_excl_filter+="Flavor/ExecutionTest10.Wait*:"
+	qemu_gtest_excl_filter+="Flavor/ExecutionTest11.Wait*:"
+	qemu_gtest_excl_filter+="Flavor/ExecutionTest12.Wait*:"
+	qemu_gtest_excl_filter+="Flavor/ExecutionTest13.Wait*:"
+	qemu_gtest_excl_filter+="IntrospectionFlavor/ExecutionTest13.Wait*:"
+	qemu_gtest_excl_filter+="Unfenced/TimingTest.Test/12:"
+	qemu_gtest_excl_filter+="Unfenced/TimingTest.Test/15:"
+	qemu_gtest_excl_filter+="Unfenced/TimingTest.Test/18:"
+	qemu_gtest_excl_filter+="Unfenced/TimingTest.Test/21:"
+	qemu_gtest_excl_filter+="Unfenced/TimingTest.Test/24:"
+	qemu_gtest_excl_filter+="ValidationTestBurst.BurstComputeBadCompilation:"
+	qemu_gtest_excl_filter+="ValidationTestBurst.BurstComputeConcurrent:"
+	qemu_gtest_excl_filter+="ValidationTestBurst.BurstComputeDifferentCompilations:"
+	qemu_gtest_excl_filter+="ValidationTestBurst.BurstComputeNull:"
+	qemu_gtest_excl_filter+="ValidationTestBurst.FreeBurstBeforeMemory:"
+	qemu_gtest_excl_filter+="ValidationTestBurst.FreeMemoryBeforeBurst:"
+	qemu_gtest_excl_filter+="ValidationTestCompilation.ExecutionUsability:"
+	qemu_gtest_excl_filter+="ValidationTestCompilation.ReusableExecutionConcurrent:"
+	qemu_gtest_excl_filter+="ValidationTestCompilation.NonReusableExecutionConcurrent:"
+	qemu_gtest_excl_filter+="ValidationTestCompilationForDevices_1.ExecutionTiming:"
+	qemu_gtest_excl_filter+="ValidationTestCompilationForDevices_1.ExecutionSetTimeout:"
+	qemu_gtest_excl_filter+="ValidationTestCompilationForDevices_1.ExecutionSetTimeoutMaximum:"
+
+	if use asan; then
+		# Some tests do not correctly clean up the Execution object and it is
+		# left 'in-flight', which gets ignored by ANeuralNetworksExecution_free.
+		# See b/161844605.
+		# Look for 'passed an in-flight ANeuralNetworksExecution' in log output
+		gtest_excl_filter+="Fenced/TimingTest.Test/2:"
+		gtest_excl_filter+="Fenced/TimingTest.Test/19:"
+		gtest_excl_filter+="Flavor/ExecutionTest10.Wait/1:"
+		gtest_excl_filter+="Flavor/ExecutionTest10.Wait/2:"
+		gtest_excl_filter+="Flavor/ExecutionTest10.Wait/4:"
+		gtest_excl_filter+="Flavor/ExecutionTest11.Wait/1:"
+		gtest_excl_filter+="Flavor/ExecutionTest11.Wait/2:"
+		gtest_excl_filter+="Flavor/ExecutionTest11.Wait/4:"
+		gtest_excl_filter+="Flavor/ExecutionTest12.Wait/1:"
+		gtest_excl_filter+="Flavor/ExecutionTest12.Wait/2:"
+		gtest_excl_filter+="Flavor/ExecutionTest12.Wait/4:"
+		gtest_excl_filter+="Flavor/ExecutionTest13.Wait/1:"
+		gtest_excl_filter+="Flavor/ExecutionTest13.Wait/2:"
+		gtest_excl_filter+="Flavor/ExecutionTest13.Wait/4:"
+		gtest_excl_filter+="IntrospectionFlavor/ExecutionTest13.Wait/1:"
+		gtest_excl_filter+="IntrospectionFlavor/ExecutionTest13.Wait/2:"
+		gtest_excl_filter+="IntrospectionFlavor/ExecutionTest13.Wait/4:"
+
+		# This is due to a leak caused when copying the memory pools
+		# into the request object in this test. lsan_suppressions doesn't
+		# work due to the lack of /usr/bin/llvm-symbolizer, so just exclude.
+		gtest_excl_filter+="ComplianceTest.DeviceMemory:"
+		gtest_excl_filter+="ValidateRequestTest.ScalarOutput:"
+		gtest_excl_filter+="ValidateRequestTest.UnknownOutputRank:"
+
+		# Buffer overflow here, but seems to be expected?
+		gtest_excl_filter+="OperandExtraParamsTest.TestChannelQuantValuesBadScalesCount:"
+
+		# Leaks in CPUExecutor
+		gtest_excl_filter+="*RandomPartitioningTest*:"
+
+		# Disable asan container overflow checks that are coming from gtest,
+		# not our code. Strangely this only started happening once we made
+		# common a shared library.
+		# See: https://crbug.com/1067977, https://crbug.com/1069722
+		# https://github.com/google/sanitizers/wiki/AddressSanitizerContainerOverflow#false-positives
+		export ASAN_OPTIONS+=":detect_container_overflow=0:detect_odr_violation=0:"
+	fi
+	if use xnnpack; then
+		# These tests don't currently work with the XNNPACK driver
+		gtest_excl_filter+="ValidationTestExecutionDeviceMemory.SetInputFromMemory*:"
+		gtest_excl_filter+="ValidationTestExecutionDeviceMemory.SetOutputFromMemory*:"
+		gtest_excl_filter+="TestGenerated/*.Test/maximum_broadcast*:"
+		gtest_excl_filter+="TestGenerated/*.Test/maximum_simple*:"
+		gtest_excl_filter+="TestGenerated/*.Test/minimum_broadcast*:"
+		gtest_excl_filter+="TestGenerated/*.Test/minimum_simple*:"
+		gtest_excl_filter+="TestGenerated/*.Test/pad*:"
+		gtest_excl_filter+="TestGenerated/*.Test/prelu*:"
+		gtest_excl_filter+="TestGenerated/*.Test/resize_bilinear_v1_3_align_corners*:"
+		gtest_excl_filter+="TestGenerated/*.Test/depthwise_conv2d_invalid_filter_dims_nhwc*:"
+		gtest_excl_filter+="TestGenerated/DeviceMemoryTest.Test/*:"
+	fi
+	local test_target
+	for test_target in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_target}_testrunner" "0" "${gtest_excl_filter}" "${qemu_gtest_excl_filter}"
+	done
+
+	if use xnnpack; then
+		platform_test "run" "${OUT}/runtime_xnn_testrunner"
+	fi
+}
+
+src_compile() {
+	platform_src_compile
+	if use xnnpack; then
+		platform "compile" "xnn-driver"
+		if use test; then
+			platform "compile" "runtime_xnn_testrunner"
+		fi
+	fi
+}
+
+src_install() {
+	platform_src_install
+
+	einfo "Installing runtime & common Headers."
+	insinto /usr/include/aosp/frameworks/ml/nn/common
+	doins -r "${S}"/common/include
+	insinto /usr/include/aosp/frameworks/ml/nn/common
+	doins -r "${S}"/common/types
+	insinto /usr/include/aosp/frameworks/ml/nn/runtime
+	doins -r "${S}"/runtime/include
+	insinto /usr/include/aosp/frameworks/ml/nn/driver/cache
+	doins "${S}"/driver/cache/nnCache/nnCache.h
+	doins "${S}"/driver/cache/BlobCache/BlobCache.h
+
+	einfo "Installing libs."
+	dolib.so "${OUT}/lib/libneuralnetworks.so"
+	dolib.so "${OUT}/lib/libnn-common.so"
+
+	einfo "Installing default driver"
+	dolib.so "${OUT}/lib/libfull-driver.so"
+
+	if ! use vendor-nnhal ; then
+		einfo "Installing reference vendor hal."
+		dolib.so "${OUT}/lib/libvendor-nn-hal.so"
+	fi
+	if use minimal-driver; then
+		einfo "Installing minimal drivers"
+		dolib.so "${OUT}/lib/libminimal-driver.so"
+	fi
+	if use xnnpack; then
+		einfo "Installing xnnpack drivers"
+		dolib.so "${OUT}/lib/libxnn-driver.so"
+	fi
+
+	einfo "Installing seccomp policy files for ${ARCH}."
+	insinto /usr/share/policy
+	newins "seccomp/nnapi-hal-driver-seccomp-${ARCH}.policy" nnapi-hal-driver-seccomp.policy
+
+	einfo "Installing IPC HAL driver & worker"
+	dolib.so "${OUT}/lib/libipc-nn-hal.so"
+	dolib.so "${OUT}/lib/libmojo-driver-canonical.so"
+	dobin "${OUT}/nnapi_worker_canonical"
+
+	# Install fuzz targets.
+	local fuzzer
+	for fuzzer in "${OUT}"/*_fuzzer; do
+		# ChromeOS - Platform - Technologies - Machine Learning
+		local fuzzer_component_id="831886"
+		platform_fuzzer_install "${S}"/OWNERS "${fuzzer}" \
+			--comp "${fuzzer_component_id}"
+	done
+}
diff --git a/chromeos-base/aosp-frameworks-ml-nn/aosp-frameworks-ml-nn-9999.ebuild b/chromeos-base/aosp-frameworks-ml-nn/aosp-frameworks-ml-nn-9999.ebuild
index 9e4776a..9a6125e 100644
--- a/chromeos-base/aosp-frameworks-ml-nn/aosp-frameworks-ml-nn-9999.ebuild
+++ b/chromeos-base/aosp-frameworks-ml-nn/aosp-frameworks-ml-nn-9999.ebuild
@@ -17,7 +17,7 @@
 )
 CROS_WORKON_EGIT_BRANCH=(
 	"main"
-	"master"
+	"main"
 	"master"
 )
 CROS_WORKON_LOCALNAME=(
@@ -46,7 +46,7 @@
 
 LICENSE="BSD-Google Apache-2.0"
 KEYWORDS="~*"
-IUSE="cpu_flags_x86_avx2 vendor-nnhal minimal-driver xnnpack fuzzer"
+IUSE="cpu_flags_x86_avx2 vendor-nnhal minimal-driver xnnpack fuzzer strace_ipc_driver"
 
 RDEPEND="
 	chromeos-base/nnapi:=
@@ -62,6 +62,8 @@
 "
 
 src_configure() {
+	# This warning is triggered in tensorflow.
+	append-flags "-Wno-unused-but-set-variable"
 	if use x86 || use amd64; then
 		append-cppflags "-D_Float16=__fp16"
 		append-cxxflags "-Xclang -fnative-half-type"
@@ -73,6 +75,9 @@
 	if use minimal-driver; then
 		append-cppflags "-DNNAPI_USE_MINIMAL_DRIVER"
 	fi
+	if use strace_ipc_driver; then
+		append-cppflags "-DSTRACE_NNAPI_HAL_IPC_DRIVER"
+	fi
 	platform_src_configure
 }
 
@@ -202,6 +207,8 @@
 	einfo "Installing runtime & common Headers."
 	insinto /usr/include/aosp/frameworks/ml/nn/common
 	doins -r "${S}"/common/include
+	insinto /usr/include/aosp/frameworks/ml/nn/common
+	doins -r "${S}"/common/types
 	insinto /usr/include/aosp/frameworks/ml/nn/runtime
 	doins -r "${S}"/runtime/include
 	insinto /usr/include/aosp/frameworks/ml/nn/driver/cache
@@ -228,6 +235,15 @@
 		dolib.so "${OUT}/lib/libxnn-driver.so"
 	fi
 
+	einfo "Installing seccomp policy files for ${ARCH}."
+	insinto /usr/share/policy
+	newins "seccomp/nnapi-hal-driver-seccomp-${ARCH}.policy" nnapi-hal-driver-seccomp.policy
+
+	einfo "Installing IPC HAL driver & worker"
+	dolib.so "${OUT}/lib/libipc-nn-hal.so"
+	dolib.so "${OUT}/lib/libmojo-driver-canonical.so"
+	dobin "${OUT}/nnapi_worker_canonical"
+
 	# Install fuzz targets.
 	local fuzzer
 	for fuzzer in "${OUT}"/*_fuzzer; do
diff --git a/chromeos-base/aosp-frameworks-ml-nn/files/revision_bump b/chromeos-base/aosp-frameworks-ml-nn/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/aosp-frameworks-ml-nn/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/arc-adbd/arc-adbd-0.0.1-r435.ebuild b/chromeos-base/arc-adbd/arc-adbd-0.0.1-r435.ebuild
deleted file mode 100644
index b51d58c..0000000
--- a/chromeos-base/arc-adbd/arc-adbd-0.0.1-r435.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("66fc2dbe7ed323d858d7ee4a40a15d36baeaa16e" "a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="arc/adbd common-mk .gn"
-
-PLATFORM_SUBDIR="arc/adbd"
-
-inherit cros-workon platform
-
-DESCRIPTION="Container to run Android's adbd proxy."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/adbd"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="+seccomp fuzzer arcvm"
-
-RDEPEND="
-	chromeos-base/minijail
-"
-
-src_install() {
-	platform_install
-
-	# Install fuzzers.
-	# fuzzer_component_id is unknown/unlisted
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc-adbd-setup-config-fs-fuzzer
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc-adbd-setup-function-fs-fuzzer
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc-adbd-create-pipe-fuzzer
-}
diff --git a/chromeos-base/arc-adbd/arc-adbd-0.0.1-r500.ebuild b/chromeos-base/arc-adbd/arc-adbd-0.0.1-r500.ebuild
new file mode 100644
index 0000000..2c8ca7f
--- /dev/null
+++ b/chromeos-base/arc-adbd/arc-adbd-0.0.1-r500.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("514833ac35feb926ab49dcf952ef3768d02e9b84" "60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="arc/adbd common-mk .gn"
+
+PLATFORM_SUBDIR="arc/adbd"
+
+inherit cros-workon platform
+
+DESCRIPTION="Container to run Android's adbd proxy."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/adbd"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="+seccomp fuzzer arcvm"
+
+RDEPEND="
+	chromeos-base/minijail
+"
+
+src_install() {
+	platform_install
+
+	# Install fuzzers.
+	# fuzzer_component_id is unknown/unlisted
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc-adbd-setup-config-fs-fuzzer
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc-adbd-setup-function-fs-fuzzer
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc-adbd-create-pipe-fuzzer
+}
diff --git a/chromeos-base/arc-adbd/arc-adbd-9999.ebuild b/chromeos-base/arc-adbd/arc-adbd-9999.ebuild
index 4e24e50..ab597e5 100644
--- a/chromeos-base/arc-adbd/arc-adbd-9999.ebuild
+++ b/chromeos-base/arc-adbd/arc-adbd-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Container to run Android's adbd proxy."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/adbd"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/adbd"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/arc-adbd/files/revision_bump b/chromeos-base/arc-adbd/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/arc-adbd/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/arc-apk-cache/arc-apk-cache-0.0.1-r438.ebuild b/chromeos-base/arc-apk-cache/arc-apk-cache-0.0.1-r438.ebuild
deleted file mode 100644
index 433e2bf..0000000
--- a/chromeos-base/arc-apk-cache/arc-apk-cache-0.0.1-r438.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "5df5bfc5be67365c831d204e61a7ba0722fe58c2" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/apk-cache .gn"
-
-PLATFORM_NATIVE_TEST="yes"
-PLATFORM_SUBDIR="arc/apk-cache"
-
-inherit cros-workon platform
-
-DESCRIPTION="Maintains APK cache in ARC."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/apk-cache"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="+seccomp"
-
-RDEPEND="
-	chromeos-base/minijail
-	dev-db/sqlite:=
-"
-
-DEPEND="
-	dev-db/sqlite:=
-"
-
-src_install() {
-	platform_install
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/apk_cache_database_fuzzer \
-		--comp 157100
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/arc-apk-cache/arc-apk-cache-0.0.1-r499.ebuild b/chromeos-base/arc-apk-cache/arc-apk-cache-0.0.1-r499.ebuild
new file mode 100644
index 0000000..2664da4
--- /dev/null
+++ b/chromeos-base/arc-apk-cache/arc-apk-cache-0.0.1-r499.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "ab6c050aa8c6ace38d371937e67cfb21e46fd899" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/apk-cache .gn"
+
+PLATFORM_NATIVE_TEST="yes"
+PLATFORM_SUBDIR="arc/apk-cache"
+
+inherit cros-workon platform
+
+DESCRIPTION="Maintains APK cache in ARC."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/apk-cache"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="+seccomp"
+
+RDEPEND="
+	chromeos-base/minijail
+	dev-db/sqlite:=
+"
+
+DEPEND="
+	dev-db/sqlite:=
+"
+
+src_install() {
+	platform_install
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/apk_cache_database_fuzzer \
+		--comp 157100
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/arc-apk-cache/arc-apk-cache-9999.ebuild b/chromeos-base/arc-apk-cache/arc-apk-cache-9999.ebuild
index af39c8d..2003ba8 100644
--- a/chromeos-base/arc-apk-cache/arc-apk-cache-9999.ebuild
+++ b/chromeos-base/arc-apk-cache/arc-apk-cache-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Maintains APK cache in ARC."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/apk-cache"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/apk-cache"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/arc-apk-cache/files/revision_bump b/chromeos-base/arc-apk-cache/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/arc-apk-cache/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/arc-appfuse/arc-appfuse-0.0.1-r370.ebuild b/chromeos-base/arc-appfuse/arc-appfuse-0.0.1-r370.ebuild
deleted file mode 100644
index 3e53d15..0000000
--- a/chromeos-base/arc-appfuse/arc-appfuse-0.0.1-r370.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "b42ca8f7a5a99cbbe272658e1ab5dd9d3882b6f8" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/container/appfuse .gn"
-
-PLATFORM_SUBDIR="arc/container/appfuse"
-
-inherit cros-workon platform user
-
-DESCRIPTION="D-Bus service to provide ARC Appfuse"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/appfuse"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="
-	sys-apps/dbus:=
-	sys-fs/fuse:=
-"
-
-DEPEND="${RDEPEND}
-	chromeos-base/system_api:=
-"
-
-BDEPEND="
-	virtual/pkgconfig
-"
-
-src_install() {
-	platform_install
-}
-
-pkg_preinst() {
-	enewuser "arc-appfuse-provider"
-	enewgroup "arc-appfuse-provider"
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/arc-appfuse/arc-appfuse-0.0.1-r433.ebuild b/chromeos-base/arc-appfuse/arc-appfuse-0.0.1-r433.ebuild
new file mode 100644
index 0000000..0b626db
--- /dev/null
+++ b/chromeos-base/arc-appfuse/arc-appfuse-0.0.1-r433.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "575718e277c169d180cb6adc060050e72686b317" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/container/appfuse .gn"
+
+PLATFORM_SUBDIR="arc/container/appfuse"
+
+inherit cros-workon platform user
+
+DESCRIPTION="D-Bus service to provide ARC Appfuse"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/appfuse"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="
+	sys-apps/dbus:=
+	sys-fs/fuse:=
+"
+
+DEPEND="${RDEPEND}
+	chromeos-base/system_api:=
+"
+
+BDEPEND="
+	virtual/pkgconfig
+"
+
+src_install() {
+	platform_install
+}
+
+pkg_preinst() {
+	enewuser "arc-appfuse-provider"
+	enewgroup "arc-appfuse-provider"
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/arc-appfuse/arc-appfuse-9999.ebuild b/chromeos-base/arc-appfuse/arc-appfuse-9999.ebuild
index 21e316d..30d4513 100644
--- a/chromeos-base/arc-appfuse/arc-appfuse-9999.ebuild
+++ b/chromeos-base/arc-appfuse/arc-appfuse-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform user
 
 DESCRIPTION="D-Bus service to provide ARC Appfuse"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/appfuse"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/appfuse"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/arc-appfuse/files/revision_bump b/chromeos-base/arc-appfuse/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/arc-appfuse/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/arc-base/arc-base-0.0.1-r454.ebuild b/chromeos-base/arc-base/arc-base-0.0.1-r454.ebuild
deleted file mode 100644
index da107a1..0000000
--- a/chromeos-base/arc-base/arc-base-0.0.1-r454.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "2e6009dda566e182775a3e0d822ab4ffbf051ee6" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/container/bundle .gn"
-
-inherit cros-workon user
-
-DESCRIPTION="Container to run Android."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/bundle"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-IUSE="
-	arcpp
-	arcvm
-	"
-
-REQUIRED_USE="|| ( arcpp arcvm )"
-
-RDEPEND="!<chromeos-base/chromeos-cheets-scripts-0.0.3"
-DEPEND="${RDEPEND}"
-
-CONTAINER_ROOTFS="/opt/google/containers/android/rootfs"
-
-src_install() {
-	if use arcpp; then
-		insinto /opt/google/containers/android
-		doins arc/container/bundle/pi/config.json
-
-		# Install exception file for FIFO blocking policy on stateful partition.
-		insinto /usr/share/cros/startup/fifo_exceptions
-		doins arc/container/bundle/arc-fifo-exceptions.txt
-
-		# Install exception file for symlink blocking policy on stateful partition.
-		insinto /usr/share/cros/startup/symlink_exceptions
-		doins arc/container/bundle/arc-symlink-exceptions.txt
-	fi
-}
-
-pkg_preinst() {
-	# ARCVM also needs these users on the host side for proper ugid remapping.
-	enewuser "wayland"
-	enewgroup "wayland"
-	enewuser "arc-bridge"
-	enewgroup "arc-bridge"
-	enewuser "android-root"
-	enewgroup "android-root"
-	enewgroup "arc-sensor"
-	enewgroup "android-everybody"
-	enewgroup "android-reserved-disk"
-}
-
-pkg_postinst() {
-	if use arcpp; then
-		local root_uid=$(egetent passwd android-root | cut -d: -f3)
-		local root_gid=$(egetent group android-root | cut -d: -f3)
-
-		# Create a rootfs directory, and then a subdirectory mount point. We
-		# use 0500 for CONTAINER_ROOTFS instead of 0555 so that non-system
-		# processes running outside the container don't start depending on
-		# files in system.raw.img.
-		# These are created here rather than at
-		# install because some of them may already exist and have mounts.
-		install -d --mode=0500 "--owner=${root_uid}" "--group=${root_gid}" \
-			"${ROOT}${CONTAINER_ROOTFS}" \
-			|| true
-		# This CONTAINER_ROOTFS/root directory works as a mount point for
-		# system.raw.img, and once it's mounted, the image's root directory's
-		# permissions override the mode, owner, and group mkdir sets here.
-		mkdir -p "${ROOT}${CONTAINER_ROOTFS}/root" || true
-		install -d --mode=0500 "--owner=${root_uid}" "--group=${root_gid}" \
-			"${ROOT}${CONTAINER_ROOTFS}/android-data" \
-			|| true
-	fi
-}
diff --git a/chromeos-base/arc-base/arc-base-0.0.1-r511.ebuild b/chromeos-base/arc-base/arc-base-0.0.1-r511.ebuild
new file mode 100644
index 0000000..4672586
--- /dev/null
+++ b/chromeos-base/arc-base/arc-base-0.0.1-r511.ebuild
@@ -0,0 +1,84 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "2e6009dda566e182775a3e0d822ab4ffbf051ee6" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/container/bundle .gn"
+
+inherit cros-workon user
+
+DESCRIPTION="Container to run Android."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/bundle"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+IUSE="
+	arcpp
+	arcvm
+	"
+
+REQUIRED_USE="|| ( arcpp arcvm )"
+
+RDEPEND="!<chromeos-base/chromeos-cheets-scripts-0.0.3"
+DEPEND="${RDEPEND}"
+
+CONTAINER_ROOTFS="/opt/google/containers/android/rootfs"
+
+src_install() {
+	if use arcpp; then
+		insinto /opt/google/containers/android
+		doins arc/container/bundle/pi/config.json
+
+		# Install exception file for FIFO blocking policy on stateful partition.
+		insinto /usr/share/cros/startup/fifo_exceptions
+		doins arc/container/bundle/arc-fifo-exceptions.txt
+
+		# Install exception file for symlink blocking policy on stateful partition.
+		insinto /usr/share/cros/startup/symlink_exceptions
+		doins arc/container/bundle/arc-symlink-exceptions.txt
+	fi
+}
+
+pkg_preinst() {
+	# ARCVM also needs these users on the host side for proper ugid remapping.
+	enewuser "wayland"
+	enewgroup "wayland"
+	enewuser "arc-bridge"
+	enewgroup "arc-bridge"
+	enewuser "android-root"
+	enewgroup "android-root"
+	enewgroup "arc-sensor"
+	enewgroup "android-everybody"
+	enewgroup "android-reserved-disk"
+}
+
+pkg_postinst() {
+	if use arcpp; then
+		local root_uid=$(egetent passwd android-root | cut -d: -f3)
+		local root_gid=$(egetent group android-root | cut -d: -f3)
+
+		# Create a rootfs directory, and then a subdirectory mount point. We
+		# use 0500 for CONTAINER_ROOTFS instead of 0555 so that non-system
+		# processes running outside the container don't start depending on
+		# files in system.raw.img.
+		# These are created here rather than at
+		# install because some of them may already exist and have mounts.
+		install -d --mode=0500 "--owner=${root_uid}" "--group=${root_gid}" \
+			"${ROOT}${CONTAINER_ROOTFS}" \
+			|| true
+		# This CONTAINER_ROOTFS/root directory works as a mount point for
+		# system.raw.img, and once it's mounted, the image's root directory's
+		# permissions override the mode, owner, and group mkdir sets here.
+		mkdir -p "${ROOT}${CONTAINER_ROOTFS}/root" || true
+		install -d --mode=0500 "--owner=${root_uid}" "--group=${root_gid}" \
+			"${ROOT}${CONTAINER_ROOTFS}/android-data" \
+			|| true
+	fi
+}
diff --git a/chromeos-base/arc-base/arc-base-9999.ebuild b/chromeos-base/arc-base/arc-base-9999.ebuild
index 9fc2572..7487d56 100644
--- a/chromeos-base/arc-base/arc-base-9999.ebuild
+++ b/chromeos-base/arc-base/arc-base-9999.ebuild
@@ -12,7 +12,7 @@
 inherit cros-workon user
 
 DESCRIPTION="Container to run Android."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/bundle"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/bundle"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/arc-common-scripts/arc-common-scripts-0.0.1-r243.ebuild b/chromeos-base/arc-common-scripts/arc-common-scripts-0.0.1-r243.ebuild
deleted file mode 100644
index e52878b..0000000
--- a/chromeos-base/arc-common-scripts/arc-common-scripts-0.0.1-r243.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "434170aa6f4b0783eb80a76648f8e27f71b420fd" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/container/scripts .gn"
-
-inherit cros-workon
-
-DESCRIPTION="ARC++ common scripts."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/scripts"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-
-IUSE="arcpp iioservice"
-RDEPEND="
-	!<=chromeos-base/arc-base-0.0.1-r349
-	!<chromeos-base/arc-setup-0.0.1-r1084
-	app-misc/jq"
-DEPEND=""
-
-src_install() {
-	dosbin arc/container/scripts/android-sh
-	insinto /etc/init
-	doins arc/container/scripts/arc-kmsg-logger.conf
-	use iioservice || doins arc/container/scripts/arc-sensor.conf
-	doins arc/container/scripts/arc-ureadahead.conf
-	insinto /etc/sysctl.d
-	doins arc/container/scripts/01-sysctl-arc.conf
-	# Redirect ARC logs to arc.log.
-	insinto /etc/rsyslog.d
-	doins arc/container/scripts/rsyslog.arc.conf
-}
diff --git a/chromeos-base/arc-common-scripts/arc-common-scripts-0.0.1-r300.ebuild b/chromeos-base/arc-common-scripts/arc-common-scripts-0.0.1-r300.ebuild
new file mode 100644
index 0000000..41e6a18
--- /dev/null
+++ b/chromeos-base/arc-common-scripts/arc-common-scripts-0.0.1-r300.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "434170aa6f4b0783eb80a76648f8e27f71b420fd" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/container/scripts .gn"
+
+inherit cros-workon
+
+DESCRIPTION="ARC++ common scripts."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/scripts"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+
+IUSE="arcpp iioservice"
+RDEPEND="
+	!<=chromeos-base/arc-base-0.0.1-r349
+	!<chromeos-base/arc-setup-0.0.1-r1084
+	app-misc/jq"
+DEPEND=""
+
+src_install() {
+	dosbin arc/container/scripts/android-sh
+	insinto /etc/init
+	doins arc/container/scripts/arc-kmsg-logger.conf
+	use iioservice || doins arc/container/scripts/arc-sensor.conf
+	doins arc/container/scripts/arc-ureadahead.conf
+	insinto /etc/sysctl.d
+	doins arc/container/scripts/01-sysctl-arc.conf
+	# Redirect ARC logs to arc.log.
+	insinto /etc/rsyslog.d
+	doins arc/container/scripts/rsyslog.arc.conf
+}
diff --git a/chromeos-base/arc-common-scripts/arc-common-scripts-9999.ebuild b/chromeos-base/arc-common-scripts/arc-common-scripts-9999.ebuild
index e3d6dae..3674e58 100644
--- a/chromeos-base/arc-common-scripts/arc-common-scripts-9999.ebuild
+++ b/chromeos-base/arc-common-scripts/arc-common-scripts-9999.ebuild
@@ -12,7 +12,7 @@
 inherit cros-workon
 
 DESCRIPTION="ARC++ common scripts."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/scripts"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/scripts"
 
 LICENSE="BSD-Google"
 SLOT="0/0"
diff --git a/chromeos-base/arc-data-snapshotd/arc-data-snapshotd-0.0.1-r153.ebuild b/chromeos-base/arc-data-snapshotd/arc-data-snapshotd-0.0.1-r153.ebuild
deleted file mode 100644
index 0a28d3d..0000000
--- a/chromeos-base/arc-data-snapshotd/arc-data-snapshotd-0.0.1-r153.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "5873be982b6fcd86debdae465848cf6ee4a1c38d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-inherit cros-constants
-
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_SUBTREE="common-mk arc/data-snapshotd .gn"
-
-PLATFORM_SUBDIR="arc/data-snapshotd"
-
-inherit cros-workon platform user
-
-DESCRIPTION="ARC data snapshotd daemon in Chrome OS."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/data-snapshotd"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="+seccomp selinux"
-
-RDEPEND="
-	chromeos-base/bootlockbox-client:=
-	chromeos-base/minijail:=
-"
-
-DEPEND="
-	${RDEPEND}
-	chromeos-base/system_api:=
-	dev-libs/protobuf:=
-	selinux? (
-		sys-libs/libselinux:=
-	)
-"
-
-src_install() {
-	insinto /etc/init
-	doins init/arc-data-snapshotd.conf
-	doins init/arc-data-snapshotd-worker.conf
-
-	# Install DBUS configuration file.
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.ArcDataSnapshotd.conf
-	doins dbus/org.chromium.ArcDataSnapshotdWorker.conf
-	doins dbus/ArcDataSnapshotdUpstart.conf
-
-	# Install seccomp policy file.
-	insinto /usr/share/policy
-	use seccomp && newins \
-		"seccomp/arc-data-snapshotd-seccomp-${ARCH}.policy" \
-		arc-data-snapshotd-seccomp.policy
-
-	dobin "${OUT}/arc-data-snapshotd"
-	dobin "${OUT}/arc-data-snapshotd-worker"
-}
-
-pkg_preinst() {
-	enewuser "arc-data-snapshotd"
-	enewgroup "arc-data-snapshotd"
-}
-
-platform_pkg_test() {
-	# Disable tests that invoke arc::data_snapshotd::CopySnapshotDirectory
-	# on qemu.
-	local gtest_filter_qemu=""
-	gtest_filter_qemu+="-DBusAdaptorTest.TakeSnapshotAndroidDataSymLink:"
-	gtest_filter_qemu+="DBusAdaptorTest.TakeSnapshotDouble:"
-	gtest_filter_qemu+="DBusAdaptorTest.LoadSnapshotUnknownUser:"
-	gtest_filter_qemu+="DBusAdaptorTest.LoadSnapshotSuccess:"
-	gtest_filter_qemu+="DBusAdaptorTest.LoadSnapshotPreviousSuccess:"
-
-	platform_test "run" "${OUT}/arc-data-snapshotd_test" "" "" \
-		"${gtest_filter_qemu}"
-	platform_test "run" "${OUT}/arc-data-snapshotd-worker_test" "" "" \
-		"${gtest_filter_qemu}"
-}
diff --git a/chromeos-base/arc-data-snapshotd/arc-data-snapshotd-0.0.1-r215.ebuild b/chromeos-base/arc-data-snapshotd/arc-data-snapshotd-0.0.1-r215.ebuild
new file mode 100644
index 0000000..3f04f97
--- /dev/null
+++ b/chromeos-base/arc-data-snapshotd/arc-data-snapshotd-0.0.1-r215.ebuild
@@ -0,0 +1,81 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "a51f6b6dd9d0e920cbe996f244873d1fb0c8a7bb" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+inherit cros-constants
+
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="common-mk arc/data-snapshotd .gn"
+
+PLATFORM_SUBDIR="arc/data-snapshotd"
+
+inherit cros-workon platform user
+
+DESCRIPTION="ARC data snapshotd daemon in Chrome OS."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/data-snapshotd"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="+seccomp selinux"
+
+RDEPEND="
+	chromeos-base/bootlockbox-client:=
+	chromeos-base/minijail:=
+"
+
+DEPEND="
+	${RDEPEND}
+	chromeos-base/system_api:=
+	dev-libs/protobuf:=
+	selinux? (
+		sys-libs/libselinux:=
+	)
+"
+
+src_install() {
+	insinto /etc/init
+	doins init/arc-data-snapshotd.conf
+	doins init/arc-data-snapshotd-worker.conf
+
+	# Install DBUS configuration file.
+	insinto /etc/dbus-1/system.d
+	doins dbus/org.chromium.ArcDataSnapshotd.conf
+	doins dbus/org.chromium.ArcDataSnapshotdWorker.conf
+	doins dbus/ArcDataSnapshotdUpstart.conf
+
+	# Install seccomp policy file.
+	insinto /usr/share/policy
+	use seccomp && newins \
+		"seccomp/arc-data-snapshotd-seccomp-${ARCH}.policy" \
+		arc-data-snapshotd-seccomp.policy
+
+	dobin "${OUT}/arc-data-snapshotd"
+	dobin "${OUT}/arc-data-snapshotd-worker"
+}
+
+pkg_preinst() {
+	enewuser "arc-data-snapshotd"
+	enewgroup "arc-data-snapshotd"
+}
+
+platform_pkg_test() {
+	# Disable tests that invoke arc::data_snapshotd::CopySnapshotDirectory
+	# on qemu.
+	local gtest_filter_qemu=""
+	gtest_filter_qemu+="-DBusAdaptorTest.TakeSnapshotAndroidDataSymLink:"
+	gtest_filter_qemu+="DBusAdaptorTest.TakeSnapshotDouble:"
+	gtest_filter_qemu+="DBusAdaptorTest.LoadSnapshotUnknownUser:"
+	gtest_filter_qemu+="DBusAdaptorTest.LoadSnapshotSuccess:"
+	gtest_filter_qemu+="DBusAdaptorTest.LoadSnapshotPreviousSuccess:"
+
+	platform_test "run" "${OUT}/arc-data-snapshotd_test" "" "" \
+		"${gtest_filter_qemu}"
+	platform_test "run" "${OUT}/arc-data-snapshotd-worker_test" "" "" \
+		"${gtest_filter_qemu}"
+}
diff --git a/chromeos-base/arc-data-snapshotd/files/revision_bump b/chromeos-base/arc-data-snapshotd/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/arc-data-snapshotd/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/arc-host-clock-service/arc-host-clock-service-0.0.1-r117.ebuild b/chromeos-base/arc-host-clock-service/arc-host-clock-service-0.0.1-r117.ebuild
deleted file mode 100644
index cb8f14f..0000000
--- a/chromeos-base/arc-host-clock-service/arc-host-clock-service-0.0.1-r117.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "cca15ee6031a3289ea3e45535963bb5874662caa" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/vm/host_clock .gn"
-
-PLATFORM_SUBDIR="arc/vm/host_clock"
-
-inherit cros-workon platform user
-
-DESCRIPTION="ARC host clock service"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/host_clock"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="
-"
-
-DEPEND="
-	${RDEPEND}
-	chromeos-base/system_api
-"
-
-src_install() {
-	dobin "${OUT}"/arc-host-clock-service
-
-	insinto /etc/init
-	doins arc-host-clock-service.conf
-}
-
-pkg_preinst() {
-	enewuser "arc-host-clock"
-	enewgroup "arc-host-clock"
-}
diff --git a/chromeos-base/arc-host-clock-service/arc-host-clock-service-0.0.1-r174.ebuild b/chromeos-base/arc-host-clock-service/arc-host-clock-service-0.0.1-r174.ebuild
new file mode 100644
index 0000000..3267201
--- /dev/null
+++ b/chromeos-base/arc-host-clock-service/arc-host-clock-service-0.0.1-r174.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "cca15ee6031a3289ea3e45535963bb5874662caa" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/vm/host_clock .gn"
+
+PLATFORM_SUBDIR="arc/vm/host_clock"
+
+inherit cros-workon platform user
+
+DESCRIPTION="ARC host clock service"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/host_clock"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="
+"
+
+DEPEND="
+	${RDEPEND}
+	chromeos-base/system_api
+"
+
+src_install() {
+	dobin "${OUT}"/arc-host-clock-service
+
+	insinto /etc/init
+	doins arc-host-clock-service.conf
+}
+
+pkg_preinst() {
+	enewuser "arc-host-clock"
+	enewgroup "arc-host-clock"
+}
diff --git a/chromeos-base/arc-host-clock-service/files/revision_bump b/chromeos-base/arc-host-clock-service/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/arc-host-clock-service/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/arc-keymaster/Manifest b/chromeos-base/arc-keymaster/Manifest
index ee1d7ff..4eec26f 100644
--- a/chromeos-base/arc-keymaster/Manifest
+++ b/chromeos-base/arc-keymaster/Manifest
@@ -1 +1 @@
-DIST boringssl-430a7423039682e4bbc7b522e3b57b2c8dca5e3b.tar.gz 26746751 BLAKE2B 301eb82d7f46612285b133ecde4ecdf75a15b25559c418585a36721b3d33beca51740dd6d3c9b869ebcc6311591a1d4123e345f92b3f33ac50fbf8dffdc67da1 SHA512 4ccde2f9ac6e1ae7d996cc2039babe359946fb9a490f5f186d1559d4592025edbcb19959e4c1258ed7e5519f49b471b0c7296316a6752f2875e0d70c71723164
+DIST boringssl-3a667d10e94186fd503966f5638e134fe9fb4080.tar.gz 30724038 BLAKE2B a2363f901315165145a7a9a4c79d0b39eed3d5d9f09afeea2fc172bfd217322f05bf9981dd0b2f62935c99ca90dc21959643d18a2d4f5743a6a66abcebd56d41 SHA512 6b214bc9704565efd944f86e41f32bdd16b68e0a699254935fe8935100d13ffcdf61bc13f8866f12d71dcf8321f1d6df7882dfdd7c08d25e4db315784f02b4ca
diff --git a/chromeos-base/arc-keymaster/arc-keymaster-0.0.1-r316.ebuild b/chromeos-base/arc-keymaster/arc-keymaster-0.0.1-r316.ebuild
deleted file mode 100644
index a819fc3..0000000
--- a/chromeos-base/arc-keymaster/arc-keymaster-0.0.1-r316.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("f35f2919309cf11b0ddd9deb24a6b145d40d9254" "49dfc58d6c4c66f5d0b0d06f0161da4e602a1293")
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "1ee7bf9b980985c140da18df3546719c9877a53a" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "6dbc19849752c206e135ab59349ebb1cc62bb435")
-inherit cros-constants
-
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_PROJECT=("chromiumos/platform2" "platform/system/keymaster")
-CROS_WORKON_REPO=(
-	"${CROS_GIT_HOST_URL}"
-	"${CROS_GIT_AOSP_URL}"
-)
-CROS_WORKON_EGIT_BRANCH=("master" "pie-release")
-CROS_WORKON_LOCALNAME=("platform2" "aosp/system/keymaster")
-CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/aosp/system/keymaster")
-CROS_WORKON_SUBTREE=("common-mk arc/keymaster .gn" "")
-
-PLATFORM_SUBDIR="arc/keymaster"
-
-# This BoringSSL integration follows go/boringssl-cros.
-# DO NOT COPY TO OTHER PACKAGES WITHOUT CONSULTING SECURITY TEAM.
-BORINGSSL_PN="boringssl"
-BORINGSSL_PV="430a7423039682e4bbc7b522e3b57b2c8dca5e3b"
-BORINGSSL_P="${BORINGSSL_PN}-${BORINGSSL_PV}"
-BORINGSSL_OUTDIR="${WORKDIR}/boringssl_outputs/"
-
-CMAKE_USE_DIR="${WORKDIR}/${BORINGSSL_P}"
-BUILD_DIR="${WORKDIR}/${BORINGSSL_P}_build"
-
-inherit flag-o-matic cmake-utils cros-workon platform user
-
-DESCRIPTION="Android keymaster service in Chrome OS."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/keymaster"
-SRC_URI="https://github.com/google/${BORINGSSL_PN}/archive/${BORINGSSL_PV}.tar.gz -> ${BORINGSSL_P}.tar.gz"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="+seccomp"
-
-RDEPEND="
-	chromeos-base/chaps:=
-	chromeos-base/cryptohome:=
-	chromeos-base/cryptohome-client:=
-	chromeos-base/minijail:=
-	dev-libs/protobuf:=
-"
-
-DEPEND="
-	${RDEPEND}
-	chromeos-base/session_manager-client:=
-	chromeos-base/system_api:=
-"
-
-HEADER_TAINT="#ifdef CHROMEOS_OPENSSL_IS_OPENSSL
-#error \"Do not mix OpenSSL and BoringSSL headers.\"
-#endif
-#define CHROMEOS_OPENSSL_IS_BORINGSSL\n"
-
-src_unpack() {
-	platform_src_unpack
-	unpack "${BORINGSSL_P}.tar.gz"
-	# Taint BoringSSL headers so they don't silently mix with OpenSSL.
-	find "${BORINGSSL_P}/include/openssl" -type f -exec awk -i inplace -v \
-		"taint=${HEADER_TAINT}" 'NR == 1 {print taint} {print}' {} \;
-}
-
-src_prepare() {
-	cmake-utils_src_prepare
-
-	# Expose libhardware headers from arc-toolchain-p.
-	local arc_arch="${ARCH}"
-	# arm needs to use arm64 directory, which provides combined arm/arm64
-	# headers.
-	if [[ "${ARCH}" == "arm" ]]; then
-		arc_arch="arm64"
-	fi
-	mkdir -p "${WORKDIR}/libhardware/include" || die
-	cp -rfp "/opt/android-p/${arc_arch}/usr/include/hardware" "${WORKDIR}/libhardware/include" || die
-	append-cxxflags "-I${WORKDIR}/libhardware/include"
-
-	# Expose BoringSSL headers and outputs.
-	append-cxxflags "-I${WORKDIR}/${BORINGSSL_P}/include"
-	append-ldflags "-L${BORINGSSL_OUTDIR}"
-	# Verify upstream hasn't changed relevant context code.
-	cd "${WORKDIR}/${P}/aosp/system/keymaster" || die
-	eapply --dry-run "${FILESDIR}/keymaster-context-hooks.patch"
-	# Fix C++17 compilation. Can be removed once we update to newer version of
-	# keymaster that contains https://r.android.com/1412947.
-	cd "${WORKDIR}/${P}/aosp/system/keymaster" || die
-	eapply "${FILESDIR}/0001-keymaster-fix-C-17-compilation.patch"
-	# Make P Keymaster compatible with latest BoringSSL.
-	eapply "${FILESDIR}/keymaster-boringssl-update.patch"
-}
-
-src_configure() {
-	local mycmakeargs=(
-		"-DCMAKE_BUILD_TYPE=Release"
-		"-DCMAKE_SYSTEM_PROCESSOR=${CHOST%%-*}"
-		"-DBUILD_SHARED_LIBS=OFF"
-	)
-	cmake-utils_src_configure
-	platform_src_configure
-}
-
-src_compile() {
-	# Compile BoringSSL and expose libcrypto.a.
-	cmake-utils_src_compile
-	mkdir -p "${BORINGSSL_OUTDIR}" || die
-	cp -p "${BUILD_DIR}/crypto/libcrypto.a" "${BORINGSSL_OUTDIR}/libboringcrypto.a" || die
-
-	platform_src_compile
-}
-
-src_install() {
-	insinto /etc/init
-	doins init/arc-keymasterd.conf
-
-	# Install DBUS configuration file.
-	insinto /etc/dbus-1/system.d
-	doins dbus_permissions/org.chromium.ArcKeymaster.conf
-
-	# Install seccomp policy file.
-	insinto /usr/share/policy
-	use seccomp && newins \
-		"seccomp/arc-keymasterd-seccomp-${ARCH}.policy" \
-		arc-keymasterd-seccomp.policy
-
-	# Install shared libs and binary.
-	dolib.so "${OUT}/lib/libarckeymaster_context.so"
-	dolib.so "${OUT}/lib/libkeymaster.so"
-	dosbin "${OUT}/arc-keymasterd"
-
-	local fuzzer_component_id="157100"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_keymasterd_fuzzer \
-		--comp "${fuzzer_component_id}"
-}
-
-pkg_preinst() {
-	enewuser "arc-keymasterd"
-	enewgroup "arc-keymasterd"
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/arc-keymasterd_testrunner"
-}
diff --git a/chromeos-base/arc-keymaster/arc-keymaster-0.0.1-r383.ebuild b/chromeos-base/arc-keymaster/arc-keymaster-0.0.1-r383.ebuild
new file mode 100644
index 0000000..b219c57
--- /dev/null
+++ b/chromeos-base/arc-keymaster/arc-keymaster-0.0.1-r383.ebuild
@@ -0,0 +1,151 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("dbb1136242ba822d539eaf11493f3b68815adb7f" "49dfc58d6c4c66f5d0b0d06f0161da4e602a1293")
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "eb015c68db68f86b1e19e0200461bc65c136674b" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "6dbc19849752c206e135ab59349ebb1cc62bb435")
+inherit cros-constants
+
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_PROJECT=("chromiumos/platform2" "platform/system/keymaster")
+CROS_WORKON_REPO=(
+	"${CROS_GIT_HOST_URL}"
+	"${CROS_GIT_AOSP_URL}"
+)
+CROS_WORKON_EGIT_BRANCH=("master" "pie-release")
+CROS_WORKON_LOCALNAME=("platform2" "aosp/system/keymaster")
+CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/aosp/system/keymaster")
+CROS_WORKON_SUBTREE=("common-mk arc/keymaster .gn" "")
+
+PLATFORM_SUBDIR="arc/keymaster"
+
+# This BoringSSL integration follows go/boringssl-cros.
+# DO NOT COPY TO OTHER PACKAGES WITHOUT CONSULTING SECURITY TEAM.
+BORINGSSL_PN="boringssl"
+BORINGSSL_PV="3a667d10e94186fd503966f5638e134fe9fb4080"
+BORINGSSL_P="${BORINGSSL_PN}-${BORINGSSL_PV}"
+BORINGSSL_OUTDIR="${WORKDIR}/boringssl_outputs/"
+
+CMAKE_USE_DIR="${WORKDIR}/${BORINGSSL_P}"
+BUILD_DIR="${WORKDIR}/${BORINGSSL_P}_build"
+
+inherit flag-o-matic cmake-utils cros-workon platform user
+
+DESCRIPTION="Android keymaster service in Chrome OS."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/keymaster"
+SRC_URI="https://github.com/google/${BORINGSSL_PN}/archive/${BORINGSSL_PV}.tar.gz -> ${BORINGSSL_P}.tar.gz"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="+seccomp"
+
+RDEPEND="
+	chromeos-base/chaps:=
+	chromeos-base/cryptohome:=
+	chromeos-base/cryptohome-client:=
+	chromeos-base/minijail:=
+	dev-libs/protobuf:=
+"
+
+DEPEND="
+	${RDEPEND}
+	chromeos-base/session_manager-client:=
+	chromeos-base/system_api:=
+"
+
+HEADER_TAINT="#ifdef CHROMEOS_OPENSSL_IS_OPENSSL
+#error \"Do not mix OpenSSL and BoringSSL headers.\"
+#endif
+#define CHROMEOS_OPENSSL_IS_BORINGSSL\n"
+
+src_unpack() {
+	platform_src_unpack
+	unpack "${BORINGSSL_P}.tar.gz"
+	# Taint BoringSSL headers so they don't silently mix with OpenSSL.
+	find "${BORINGSSL_P}/include/openssl" -type f -exec awk -i inplace -v \
+		"taint=${HEADER_TAINT}" 'NR == 1 {print taint} {print}' {} \;
+}
+
+src_prepare() {
+	cmake-utils_src_prepare
+
+	# Expose libhardware headers from arc-toolchain-p.
+	local arc_arch="${ARCH}"
+	# arm needs to use arm64 directory, which provides combined arm/arm64
+	# headers.
+	if [[ "${ARCH}" == "arm" ]]; then
+		arc_arch="arm64"
+	fi
+	mkdir -p "${WORKDIR}/libhardware/include" || die
+	cp -rfp "/opt/android-p/${arc_arch}/usr/include/hardware" "${WORKDIR}/libhardware/include" || die
+	append-cxxflags "-I${WORKDIR}/libhardware/include"
+
+	# Expose BoringSSL headers and outputs.
+	append-cxxflags "-I${WORKDIR}/${BORINGSSL_P}/include"
+	append-ldflags "-L${BORINGSSL_OUTDIR}"
+	# Verify upstream hasn't changed relevant context code.
+	cd "${WORKDIR}/${P}/aosp/system/keymaster" || die
+	eapply --dry-run "${FILESDIR}/keymaster-context-hooks.patch"
+	# Fix C++17 compilation. Can be removed once we update to newer version of
+	# keymaster that contains https://r.android.com/1412947.
+	cd "${WORKDIR}/${P}/aosp/system/keymaster" || die
+	eapply "${FILESDIR}/0001-keymaster-fix-C-17-compilation.patch"
+	# Make P Keymaster compatible with latest BoringSSL.
+	eapply "${FILESDIR}/keymaster-boringssl-update.patch"
+}
+
+src_configure() {
+	local mycmakeargs=(
+		"-DCMAKE_BUILD_TYPE=Release"
+		"-DCMAKE_SYSTEM_PROCESSOR=${CHOST%%-*}"
+		"-DBUILD_SHARED_LIBS=OFF"
+	)
+	cmake-utils_src_configure
+	platform_src_configure
+}
+
+src_compile() {
+	# The build is banned from accessing internet, thus turn off Go Modules
+	# to prevent Go from trying to fetch package.
+	export GO111MODULE=off
+	# Compile BoringSSL and expose libcrypto.a.
+	cmake-utils_src_compile
+	mkdir -p "${BORINGSSL_OUTDIR}" || die
+	cp -p "${BUILD_DIR}/crypto/libcrypto.a" "${BORINGSSL_OUTDIR}/libboringcrypto.a" || die
+
+	platform_src_compile
+}
+
+src_install() {
+	insinto /etc/init
+	doins init/arc-keymasterd.conf
+
+	# Install DBUS configuration file.
+	insinto /etc/dbus-1/system.d
+	doins dbus_permissions/org.chromium.ArcKeymaster.conf
+
+	# Install seccomp policy file.
+	insinto /usr/share/policy
+	use seccomp && newins \
+		"seccomp/arc-keymasterd-seccomp-${ARCH}.policy" \
+		arc-keymasterd-seccomp.policy
+
+	# Install shared libs and binary.
+	dolib.so "${OUT}/lib/libarckeymaster_context.so"
+	dolib.so "${OUT}/lib/libkeymaster.so"
+	dosbin "${OUT}/arc-keymasterd"
+
+	local fuzzer_component_id="157100"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_keymasterd_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
+
+pkg_preinst() {
+	enewuser "arc-keymasterd"
+	enewgroup "arc-keymasterd"
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/arc-keymasterd_testrunner"
+}
diff --git a/chromeos-base/arc-keymaster/arc-keymaster-9999.ebuild b/chromeos-base/arc-keymaster/arc-keymaster-9999.ebuild
index 1b53cea..1ee22bb 100644
--- a/chromeos-base/arc-keymaster/arc-keymaster-9999.ebuild
+++ b/chromeos-base/arc-keymaster/arc-keymaster-9999.ebuild
@@ -21,7 +21,7 @@
 # This BoringSSL integration follows go/boringssl-cros.
 # DO NOT COPY TO OTHER PACKAGES WITHOUT CONSULTING SECURITY TEAM.
 BORINGSSL_PN="boringssl"
-BORINGSSL_PV="430a7423039682e4bbc7b522e3b57b2c8dca5e3b"
+BORINGSSL_PV="3a667d10e94186fd503966f5638e134fe9fb4080"
 BORINGSSL_P="${BORINGSSL_PN}-${BORINGSSL_PV}"
 BORINGSSL_OUTDIR="${WORKDIR}/boringssl_outputs/"
 
@@ -31,7 +31,7 @@
 inherit flag-o-matic cmake-utils cros-workon platform user
 
 DESCRIPTION="Android keymaster service in Chrome OS."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/keymaster"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/keymaster"
 SRC_URI="https://github.com/google/${BORINGSSL_PN}/archive/${BORINGSSL_PV}.tar.gz -> ${BORINGSSL_P}.tar.gz"
 
 LICENSE="BSD-Google"
@@ -104,6 +104,9 @@
 }
 
 src_compile() {
+	# The build is banned from accessing internet, thus turn off Go Modules
+	# to prevent Go from trying to fetch package.
+	export GO111MODULE=off
 	# Compile BoringSSL and expose libcrypto.a.
 	cmake-utils_src_compile
 	mkdir -p "${BORINGSSL_OUTDIR}" || die
diff --git a/chromeos-base/arc-keymaster/files/revision_bump b/chromeos-base/arc-keymaster/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/arc-keymaster/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/arc-myfiles/arc-myfiles-0.0.1-r258.ebuild b/chromeos-base/arc-myfiles/arc-myfiles-0.0.1-r258.ebuild
deleted file mode 100644
index 7a79d21..0000000
--- a/chromeos-base/arc-myfiles/arc-myfiles-0.0.1-r258.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "c8a2550e2697f391dc686b4a72841d4568a5de73" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/container/myfiles .gn"
-
-inherit cros-workon
-
-DESCRIPTION="Container to run Android's MyFiles daemon."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/myfiles"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="chromeos-base/mount-passthrough
-	!<chromeos-base/chromeos-cheets-scripts-0.0.2-r470
-"
-
-src_install() {
-	insinto /etc/init
-	doins arc/container/myfiles/arc-myfiles.conf
-	doins arc/container/myfiles/arc-myfiles-default.conf
-	doins arc/container/myfiles/arc-myfiles-read.conf
-	doins arc/container/myfiles/arc-myfiles-write.conf
-}
diff --git a/chromeos-base/arc-myfiles/arc-myfiles-0.0.1-r316.ebuild b/chromeos-base/arc-myfiles/arc-myfiles-0.0.1-r316.ebuild
new file mode 100644
index 0000000..5330dfd
--- /dev/null
+++ b/chromeos-base/arc-myfiles/arc-myfiles-0.0.1-r316.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "97bcfd3487dc7a09335f29f44fc38eaabf21e90b" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/container/myfiles .gn"
+
+inherit cros-workon
+
+DESCRIPTION="Container to run Android's MyFiles daemon."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/myfiles"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="chromeos-base/mount-passthrough
+	!<chromeos-base/chromeos-cheets-scripts-0.0.2-r470
+"
+
+src_install() {
+	insinto /etc/init
+	doins arc/container/myfiles/arc-myfiles.conf
+	doins arc/container/myfiles/arc-myfiles-default.conf
+	doins arc/container/myfiles/arc-myfiles-read.conf
+	doins arc/container/myfiles/arc-myfiles-write.conf
+}
diff --git a/chromeos-base/arc-myfiles/arc-myfiles-9999.ebuild b/chromeos-base/arc-myfiles/arc-myfiles-9999.ebuild
index 98a8877..0b2463a 100644
--- a/chromeos-base/arc-myfiles/arc-myfiles-9999.ebuild
+++ b/chromeos-base/arc-myfiles/arc-myfiles-9999.ebuild
@@ -12,7 +12,7 @@
 inherit cros-workon
 
 DESCRIPTION="Container to run Android's MyFiles daemon."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/myfiles"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/myfiles"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/arc-obb-mounter/arc-obb-mounter-0.0.2-r515.ebuild b/chromeos-base/arc-obb-mounter/arc-obb-mounter-0.0.2-r515.ebuild
deleted file mode 100644
index f6b07b1..0000000
--- a/chromeos-base/arc-obb-mounter/arc-obb-mounter-0.0.2-r515.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "a09852deafdcf2e3901b3b3d1c298ddc2d9b4568" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/container/obb-mounter .gn"
-
-PLATFORM_SUBDIR="arc/container/obb-mounter"
-
-inherit cros-workon platform
-
-DESCRIPTION="D-Bus service to mount OBB files"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/obb-mounter"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="
-	sys-fs/fuse:=
-	sys-libs/libcap:=
-"
-
-DEPEND="${RDEPEND}"
-
-BDEPEND="
-	virtual/pkgconfig
-"
-
-
-CONTAINER_DIR="/opt/google/containers/arc-obb-mounter"
-
-src_install() {
-	platform_install
-
-	# Keep the parent directory of mountpoints inaccessible from non-root
-	# users because mountpoints themselves are often world-readable but we
-	# do not want to expose them.
-	# container-root is where the root filesystem of the container in which
-	# arc-obb-mounter daemon runs is mounted.
-	diropts --mode=0700 --owner=root --group=root
-	keepdir "${CONTAINER_DIR}"/mountpoints/
-	keepdir "${CONTAINER_DIR}"/mountpoints/container-root
-
-	local fuzzer_component_id="516669"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/mount-obb_fuzzer \
-		--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/arc-obb-mounter/arc-obb-mounter-0.0.2-r577.ebuild b/chromeos-base/arc-obb-mounter/arc-obb-mounter-0.0.2-r577.ebuild
new file mode 100644
index 0000000..e447c8a
--- /dev/null
+++ b/chromeos-base/arc-obb-mounter/arc-obb-mounter-0.0.2-r577.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "4407bbb4129cf62cb6e764ecfdb34edc5fbe318e" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/container/obb-mounter .gn"
+
+PLATFORM_SUBDIR="arc/container/obb-mounter"
+
+inherit cros-workon platform
+
+DESCRIPTION="D-Bus service to mount OBB files"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/obb-mounter"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="
+	sys-fs/fuse:=
+	sys-libs/libcap:=
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+	virtual/pkgconfig
+"
+
+
+CONTAINER_DIR="/opt/google/containers/arc-obb-mounter"
+
+src_install() {
+	platform_install
+
+	# Keep the parent directory of mountpoints inaccessible from non-root
+	# users because mountpoints themselves are often world-readable but we
+	# do not want to expose them.
+	# container-root is where the root filesystem of the container in which
+	# arc-obb-mounter daemon runs is mounted.
+	diropts --mode=0700 --owner=root --group=root
+	keepdir "${CONTAINER_DIR}"/mountpoints/
+	keepdir "${CONTAINER_DIR}"/mountpoints/container-root
+
+	local fuzzer_component_id="516669"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/mount-obb_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/arc-obb-mounter/arc-obb-mounter-9999.ebuild b/chromeos-base/arc-obb-mounter/arc-obb-mounter-9999.ebuild
index 8059beb..0a8a3e6 100644
--- a/chromeos-base/arc-obb-mounter/arc-obb-mounter-9999.ebuild
+++ b/chromeos-base/arc-obb-mounter/arc-obb-mounter-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="D-Bus service to mount OBB files"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/obb-mounter"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/obb-mounter"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/arc-obb-mounter/files/revision_bump b/chromeos-base/arc-obb-mounter/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/arc-obb-mounter/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/arc-removable-media/arc-removable-media-0.0.1-r350.ebuild b/chromeos-base/arc-removable-media/arc-removable-media-0.0.1-r350.ebuild
deleted file mode 100644
index d4e7f23..0000000
--- a/chromeos-base/arc-removable-media/arc-removable-media-0.0.1-r350.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "a668f1f1ed688f833488719ca2ccefc7e1e4272b" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/container/removable-media .gn"
-
-inherit cros-workon
-
-DESCRIPTION="Container to run Android's removable-media daemon."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/removable-media"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="chromeos-base/mount-passthrough
-	!<chromeos-base/chromeos-cheets-scripts-0.0.2-r470
-"
-
-src_install() {
-	insinto /etc/init
-	doins arc/container/removable-media/arc-removable-media.conf
-	doins arc/container/removable-media/arc-removable-media-default.conf
-	doins arc/container/removable-media/arc-removable-media-read.conf
-	doins arc/container/removable-media/arc-removable-media-write.conf
-}
diff --git a/chromeos-base/arc-removable-media/arc-removable-media-0.0.1-r407.ebuild b/chromeos-base/arc-removable-media/arc-removable-media-0.0.1-r407.ebuild
new file mode 100644
index 0000000..bae7a82
--- /dev/null
+++ b/chromeos-base/arc-removable-media/arc-removable-media-0.0.1-r407.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "a668f1f1ed688f833488719ca2ccefc7e1e4272b" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/container/removable-media .gn"
+
+inherit cros-workon
+
+DESCRIPTION="Container to run Android's removable-media daemon."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/removable-media"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="chromeos-base/mount-passthrough
+	!<chromeos-base/chromeos-cheets-scripts-0.0.2-r470
+"
+
+src_install() {
+	insinto /etc/init
+	doins arc/container/removable-media/arc-removable-media.conf
+	doins arc/container/removable-media/arc-removable-media-default.conf
+	doins arc/container/removable-media/arc-removable-media-read.conf
+	doins arc/container/removable-media/arc-removable-media-write.conf
+}
diff --git a/chromeos-base/arc-removable-media/arc-removable-media-9999.ebuild b/chromeos-base/arc-removable-media/arc-removable-media-9999.ebuild
index 8140f2d..8cfd6860 100644
--- a/chromeos-base/arc-removable-media/arc-removable-media-9999.ebuild
+++ b/chromeos-base/arc-removable-media/arc-removable-media-9999.ebuild
@@ -12,7 +12,7 @@
 inherit cros-workon
 
 DESCRIPTION="Container to run Android's removable-media daemon."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/removable-media"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/removable-media"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/arc-sdcard/arc-sdcard-0.0.1-r350.ebuild b/chromeos-base/arc-sdcard/arc-sdcard-0.0.1-r350.ebuild
deleted file mode 100644
index 936a551..0000000
--- a/chromeos-base/arc-sdcard/arc-sdcard-0.0.1-r350.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "94ae762a180b92279a7a9f0009240f9eaa7f435e" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/container/sdcard .gn"
-
-PLATFORM_SUBDIR="arc/container/sdcard"
-
-inherit cros-workon platform
-
-DESCRIPTION="Container to run Android's sdcard daemon."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/sdcard"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="esdfs"
-
-# CONTAINER_DIR must be kept consistent with installation configuration in
-# ${PLATFORM_SUBDIR}/BUILD.gn.
-CONTAINER_DIR="/opt/google/containers/arc-sdcard"
-
-RDEPEND="!esdfs? ( chromeos-base/arc-setup )"
-DEPEND="${DEPEND}"
-
-src_install() {
-	platform_install
-
-	# Keep the parent directory of mountpoints inaccessible from non-root
-	# users because mountpoints themselves are often world-readable but we
-	# do not want to expose them.
-	# container-root is where the root filesystem of the container in which
-	# arc-obb-mounter daemon runs is mounted.
-	diropts --mode=0700 --owner=root --group=root
-	keepdir "${CONTAINER_DIR}"/mountpoints/
-	keepdir "${CONTAINER_DIR}"/mountpoints/container-root
-}
diff --git a/chromeos-base/arc-sdcard/arc-sdcard-0.0.1-r409.ebuild b/chromeos-base/arc-sdcard/arc-sdcard-0.0.1-r409.ebuild
new file mode 100644
index 0000000..f9dc9e1
--- /dev/null
+++ b/chromeos-base/arc-sdcard/arc-sdcard-0.0.1-r409.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "a050dd7c355cb42fde90fdb9c3c4334389d0acb5" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/container/sdcard .gn"
+
+PLATFORM_SUBDIR="arc/container/sdcard"
+
+inherit cros-workon platform
+
+DESCRIPTION="Container to run Android's sdcard daemon."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/sdcard"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+# CONTAINER_DIR must be kept consistent with installation configuration in
+# ${PLATFORM_SUBDIR}/BUILD.gn.
+CONTAINER_DIR="/opt/google/containers/arc-sdcard"
+
+RDEPEND=""
+
+src_install() {
+	platform_install
+
+	# Keep the parent directory of mountpoints inaccessible from non-root
+	# users because mountpoints themselves are often world-readable but we
+	# do not want to expose them.
+	# container-root is where the root filesystem of the container in which
+	# arc-obb-mounter daemon runs is mounted.
+	diropts --mode=0700 --owner=root --group=root
+	keepdir "${CONTAINER_DIR}"/mountpoints/
+	keepdir "${CONTAINER_DIR}"/mountpoints/container-root
+}
diff --git a/chromeos-base/arc-sdcard/arc-sdcard-9999.ebuild b/chromeos-base/arc-sdcard/arc-sdcard-9999.ebuild
index 2a510f9..e68606f 100644
--- a/chromeos-base/arc-sdcard/arc-sdcard-9999.ebuild
+++ b/chromeos-base/arc-sdcard/arc-sdcard-9999.ebuild
@@ -14,18 +14,16 @@
 inherit cros-workon platform
 
 DESCRIPTION="Container to run Android's sdcard daemon."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/sdcard"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/sdcard"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
-IUSE="esdfs"
 
 # CONTAINER_DIR must be kept consistent with installation configuration in
 # ${PLATFORM_SUBDIR}/BUILD.gn.
 CONTAINER_DIR="/opt/google/containers/arc-sdcard"
 
-RDEPEND="!esdfs? ( chromeos-base/arc-setup )"
-DEPEND="${DEPEND}"
+RDEPEND=""
 
 src_install() {
 	platform_install
diff --git a/chromeos-base/arc-sdcard/files/revision_bump b/chromeos-base/arc-sdcard/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/arc-sdcard/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/arc-sensor-service/arc-sensor-service-0.0.1-r141.ebuild b/chromeos-base/arc-sensor-service/arc-sensor-service-0.0.1-r141.ebuild
deleted file mode 100644
index 1e2e71e..0000000
--- a/chromeos-base/arc-sensor-service/arc-sensor-service-0.0.1-r141.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "ea8176237ca94f102e81c98c7c2de00416c2c643" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/vm/sensor_service .gn"
-
-PLATFORM_SUBDIR="arc/vm/sensor_service"
-
-inherit cros-workon platform
-
-DESCRIPTION="ARC sensor service."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/sensor_service"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="
-"
-
-DEPEND="
-	${RDEPEND}
-"
-
-src_install() {
-	platform_install
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/arc-sensor-service/arc-sensor-service-0.0.1-r201.ebuild b/chromeos-base/arc-sensor-service/arc-sensor-service-0.0.1-r201.ebuild
new file mode 100644
index 0000000..6e5ad37
--- /dev/null
+++ b/chromeos-base/arc-sensor-service/arc-sensor-service-0.0.1-r201.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "cffb412aeb8981beccb3e710c15dbf0d33e790c6" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/vm/sensor_service .gn"
+
+PLATFORM_SUBDIR="arc/vm/sensor_service"
+
+inherit cros-workon platform
+
+DESCRIPTION="ARC sensor service."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/sensor_service"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="
+"
+
+DEPEND="
+	${RDEPEND}
+"
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/arc-sensor-service/arc-sensor-service-9999.ebuild b/chromeos-base/arc-sensor-service/arc-sensor-service-9999.ebuild
index ffec76b..15b4f29 100644
--- a/chromeos-base/arc-sensor-service/arc-sensor-service-9999.ebuild
+++ b/chromeos-base/arc-sensor-service/arc-sensor-service-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="ARC sensor service."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/sensor_service"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/sensor_service"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/arc-sensor-service/files/revision_bump b/chromeos-base/arc-sensor-service/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/arc-sensor-service/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/arc-setup/arc-setup-0.0.1-r1422.ebuild b/chromeos-base/arc-setup/arc-setup-0.0.1-r1422.ebuild
deleted file mode 100644
index e6c1810..0000000
--- a/chromeos-base/arc-setup/arc-setup-0.0.1-r1422.ebuild
+++ /dev/null
@@ -1,150 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="af52fce7e3f86fc8e8ced8d19ce51f33563fb028"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "82b198e146c39b3510c297fb3bf0d60e01db4d77" "bea140d13f7cf1092e4c89a45011c04c28327972" "4a0dedab080195bdc122d2289118df4af3ddca2c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk arc/setup chromeos-config metrics .gn"
-
-PLATFORM_NATIVE_TEST="yes"
-PLATFORM_SUBDIR="arc/setup"
-
-inherit tmpfiles cros-workon cros-unibuild platform
-
-DESCRIPTION="Set up environment to run ARC."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/setup"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="
-	arc_hw_oemcrypto
-	arcpp
-	arcvm
-	esdfs
-	fuzzer
-	houdini
-	houdini64
-	iioservice
-	ndk_translation
-	test"
-
-REQUIRED_USE="|| ( arcpp arcvm )"
-
-COMMON_DEPEND="
-	arcpp? (
-		esdfs? ( chromeos-base/arc-sdcard )
-	)
-	chromeos-base/bootstat:=
-	chromeos-base/chromeos-config-tools:=
-	chromeos-base/cryptohome-client:=
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/patchpanel-client:=
-	dev-libs/libxml2:=
-	dev-libs/protobuf:=
-	sys-libs/libselinux:=
-	chromeos-base/minijail:=
-"
-
-RDEPEND="${COMMON_DEPEND}
-	!<chromeos-base/arc-common-scripts-0.0.1-r131
-	!<chromeos-base/arcvm-common-scripts-0.0.1-r77
-	chromeos-base/patchpanel
-	arcvm? ( chromeos-base/crosvm )
-	arcpp? (
-		chromeos-base/swap-init
-		esdfs? ( sys-apps/restorecon )
-	)
-"
-
-DEPEND="${COMMON_DEPEND}
-	chromeos-base/system_api:=[fuzzer?]
-	test? ( chromeos-base/arc-base )
-"
-
-
-enable_esdfs() {
-	[[ -f "$1" ]] || die
-	local data=$(jq ".USE_ESDFS=true" "$1")
-	echo "${data}" > "$1" || die
-}
-
-
-src_install() {
-	# Used for both ARCVM and ARC.
-	dosbin "${OUT}"/arc-prepare-host-generated-dir
-	dosbin "${OUT}"/arc-remove-data
-	dosbin "${OUT}"/arc-remove-stale-data
-	dolib.so "${OUT}"/lib/libarc_setup.so
-	insinto /etc/init
-	doins init/arc-prepare-host-generated-dir.conf
-	doins init/arc-remove-data.conf
-	doins init/arc-stale-directory-remover.conf
-
-	dotmpfiles tmpfiles.d/*.conf
-
-	# Some binaries are only for ARCVM
-	if use arcvm; then
-		dosbin "${OUT}"/arc-apply-per-board-config
-		dosbin "${OUT}"/arc-create-data
-		dosbin "${OUT}"/arc-handle-upgrade
-		insinto /etc/init
-		doins init/arcvm-per-board-features.conf
-		doins init/arc-create-data.conf
-		doins init/arc-handle-upgrade.conf
-		insinto /etc/dbus-1/system.d
-		doins init/dbus-1/ArcVmSetupUpstart.conf
-	fi
-
-	# Other files are only for ARC.
-	if use arcpp; then
-		dosbin "${OUT}"/arc-setup
-		insinto /etc/init
-		doins init/arc-boot-continue.conf
-		doins init/arc-lifetime.conf
-		doins init/arc-update-restorecon-last.conf
-		doins init/arcpp-post-login-services.conf
-		if use esdfs; then
-			doins init/arc-sdcard.conf
-			doins init/arc-sdcard-mount.conf
-		fi
-		doins init/arc-system-mount.conf
-		insinto /etc/dbus-1/system.d
-		doins init/dbus-1/ArcSetupUpstart.conf
-
-		insinto /usr/share/arc-setup
-		doins init/arc-setup/config.json
-
-		if use esdfs; then
-			enable_esdfs "${D}/usr/share/arc-setup/config.json"
-		fi
-
-		insinto /opt/google/containers/arc-art
-		doins "${OUT}/dev-rootfs.squashfs"
-
-		# container-root is where the root filesystem of the container in which
-		# patchoat and dex2oat runs is mounted. dev-rootfs is mount point
-		# for squashfs.
-		diropts --mode=0700 --owner=root --group=root
-		keepdir /opt/google/containers/arc-art/mountpoints/container-root
-		keepdir /opt/google/containers/arc-art/mountpoints/dev-rootfs
-		keepdir /opt/google/containers/arc-art/mountpoints/vendor
-
-		local fuzzer_component_id="488493"
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_setup_util_find_all_properties_fuzzer \
-			--comp "${fuzzer_component_id}"
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_setup_util_find_fingerprint_and_sdk_version_fuzzer \
-			--comp "${fuzzer_component_id}"
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_property_util_expand_property_contents_fuzzer \
-			--comp "${fuzzer_component_id}"
-	fi
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/arc-setup_testrunner"
-}
diff --git a/chromeos-base/arc-setup/arc-setup-0.0.1-r1600.ebuild b/chromeos-base/arc-setup/arc-setup-0.0.1-r1600.ebuild
new file mode 100644
index 0000000..79f2780
--- /dev/null
+++ b/chromeos-base/arc-setup/arc-setup-0.0.1-r1600.ebuild
@@ -0,0 +1,141 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "07cb07d94b34715810e1a88257031e7091d1a5f5" "527abd7a988a45572305a6c44b5324d0d9cf8be2" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk arc/setup chromeos-config metrics .gn"
+
+PLATFORM_NATIVE_TEST="yes"
+PLATFORM_SUBDIR="arc/setup"
+
+inherit tmpfiles cros-workon cros-unibuild platform
+
+DESCRIPTION="Set up environment to run ARC."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/setup"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="
+	arc_hw_oemcrypto
+	arcpp
+	arcvm
+	fuzzer
+	houdini
+	houdini64
+	iioservice
+	ndk_translation
+	test"
+
+REQUIRED_USE="|| ( arcpp arcvm )"
+
+COMMON_DEPEND="
+	arcpp? ( chromeos-base/arc-sdcard )
+	chromeos-base/bootstat:=
+	chromeos-base/chromeos-config-tools:=
+	chromeos-base/cryptohome-client:=
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/patchpanel-client:=
+	dev-libs/libxml2:=
+	dev-libs/protobuf:=
+	sys-libs/libselinux:=
+	chromeos-base/minijail:=
+"
+
+RDEPEND="${COMMON_DEPEND}
+	!<chromeos-base/arc-common-scripts-0.0.1-r131
+	!<chromeos-base/arcvm-common-scripts-0.0.1-r77
+	chromeos-base/patchpanel
+	arcvm? ( chromeos-base/crosvm )
+	arcpp? (
+		chromeos-base/swap-init
+		sys-apps/restorecon
+	)
+"
+
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/system_api:=[fuzzer?]
+	test? ( chromeos-base/arc-base )
+"
+
+
+src_install() {
+	# Used for both ARCVM and ARC.
+	dosbin "${OUT}"/arc-prepare-host-generated-dir
+	dosbin "${OUT}"/arc-remove-data
+	dosbin "${OUT}"/arc-remove-stale-data
+	dolib.so "${OUT}"/lib/libarc_setup.so
+	dolib.so "${OUT}"/lib/libandroidxml.so
+	insinto /etc/init
+	doins init/arc-prepare-host-generated-dir.conf
+	doins init/arc-remove-data.conf
+	doins init/arc-stale-directory-remover.conf
+
+	dotmpfiles tmpfiles.d/*.conf
+
+	# Some binaries are only for ARCVM
+	if use arcvm; then
+		# ARCVM uses this binary via virtio-fs on /usr/bin.
+		# dobin instead of dosbin to install to /usr/bin.
+		dobin "${OUT}"/arc-packages-xml-reader
+
+		dosbin "${OUT}"/arc-apply-per-board-config
+		dosbin "${OUT}"/arc-create-data
+		dosbin "${OUT}"/arc-handle-upgrade
+		insinto /etc/init
+		doins init/arcvm-per-board-features.conf
+		doins init/arc-create-data.conf
+		doins init/arc-handle-upgrade.conf
+		insinto /etc/dbus-1/system.d
+		doins init/dbus-1/ArcVmSetupUpstart.conf
+	fi
+
+	# Other files are only for ARC.
+	if use arcpp; then
+		dosbin "${OUT}"/arc-setup
+		insinto /etc/init
+		doins init/arc-boot-continue.conf
+		doins init/arc-lifetime.conf
+		doins init/arc-update-restorecon-last.conf
+		doins init/arcpp-post-login-services.conf
+		doins init/arc-sdcard.conf
+		doins init/arc-sdcard-mount.conf
+		doins init/arc-system-mount.conf
+		insinto /etc/dbus-1/system.d
+		doins init/dbus-1/ArcSetupUpstart.conf
+
+		insinto /usr/share/arc-setup
+		doins init/arc-setup/config.json
+
+		insinto /opt/google/containers/arc-art
+		doins "${OUT}/dev-rootfs.squashfs"
+
+		# container-root is where the root filesystem of the container in which
+		# patchoat and dex2oat runs is mounted. dev-rootfs is mount point
+		# for squashfs.
+		diropts --mode=0700 --owner=root --group=root
+		keepdir /opt/google/containers/arc-art/mountpoints/container-root
+		keepdir /opt/google/containers/arc-art/mountpoints/dev-rootfs
+		keepdir /opt/google/containers/arc-art/mountpoints/vendor
+	fi
+
+	local fuzzer_component_id="488493"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/android_binary_xml_tokenizer_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/android_xml_util_find_fingerprint_and_sdk_version_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_setup_util_find_all_properties_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_property_util_expand_property_contents_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/arc-setup_testrunner"
+}
diff --git a/chromeos-base/arc-setup/arc-setup-9999.ebuild b/chromeos-base/arc-setup/arc-setup-9999.ebuild
index 2761e8e..1ae96b2 100644
--- a/chromeos-base/arc-setup/arc-setup-9999.ebuild
+++ b/chromeos-base/arc-setup/arc-setup-9999.ebuild
@@ -16,7 +16,7 @@
 inherit tmpfiles cros-workon cros-unibuild platform
 
 DESCRIPTION="Set up environment to run ARC."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/setup"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/setup"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
@@ -24,7 +24,6 @@
 	arc_hw_oemcrypto
 	arcpp
 	arcvm
-	esdfs
 	fuzzer
 	houdini
 	houdini64
@@ -35,9 +34,7 @@
 REQUIRED_USE="|| ( arcpp arcvm )"
 
 COMMON_DEPEND="
-	arcpp? (
-		esdfs? ( chromeos-base/arc-sdcard )
-	)
+	arcpp? ( chromeos-base/arc-sdcard )
 	chromeos-base/bootstat:=
 	chromeos-base/chromeos-config-tools:=
 	chromeos-base/cryptohome-client:=
@@ -56,7 +53,7 @@
 	arcvm? ( chromeos-base/crosvm )
 	arcpp? (
 		chromeos-base/swap-init
-		esdfs? ( sys-apps/restorecon )
+		sys-apps/restorecon
 	)
 "
 
@@ -66,19 +63,13 @@
 "
 
 
-enable_esdfs() {
-	[[ -f "$1" ]] || die
-	local data=$(jq ".USE_ESDFS=true" "$1")
-	echo "${data}" > "$1" || die
-}
-
-
 src_install() {
 	# Used for both ARCVM and ARC.
 	dosbin "${OUT}"/arc-prepare-host-generated-dir
 	dosbin "${OUT}"/arc-remove-data
 	dosbin "${OUT}"/arc-remove-stale-data
 	dolib.so "${OUT}"/lib/libarc_setup.so
+	dolib.so "${OUT}"/lib/libandroidxml.so
 	insinto /etc/init
 	doins init/arc-prepare-host-generated-dir.conf
 	doins init/arc-remove-data.conf
@@ -88,6 +79,10 @@
 
 	# Some binaries are only for ARCVM
 	if use arcvm; then
+		# ARCVM uses this binary via virtio-fs on /usr/bin.
+		# dobin instead of dosbin to install to /usr/bin.
+		dobin "${OUT}"/arc-packages-xml-reader
+
 		dosbin "${OUT}"/arc-apply-per-board-config
 		dosbin "${OUT}"/arc-create-data
 		dosbin "${OUT}"/arc-handle-upgrade
@@ -107,10 +102,8 @@
 		doins init/arc-lifetime.conf
 		doins init/arc-update-restorecon-last.conf
 		doins init/arcpp-post-login-services.conf
-		if use esdfs; then
-			doins init/arc-sdcard.conf
-			doins init/arc-sdcard-mount.conf
-		fi
+		doins init/arc-sdcard.conf
+		doins init/arc-sdcard-mount.conf
 		doins init/arc-system-mount.conf
 		insinto /etc/dbus-1/system.d
 		doins init/dbus-1/ArcSetupUpstart.conf
@@ -118,10 +111,6 @@
 		insinto /usr/share/arc-setup
 		doins init/arc-setup/config.json
 
-		if use esdfs; then
-			enable_esdfs "${D}/usr/share/arc-setup/config.json"
-		fi
-
 		insinto /opt/google/containers/arc-art
 		doins "${OUT}/dev-rootfs.squashfs"
 
@@ -132,15 +121,17 @@
 		keepdir /opt/google/containers/arc-art/mountpoints/container-root
 		keepdir /opt/google/containers/arc-art/mountpoints/dev-rootfs
 		keepdir /opt/google/containers/arc-art/mountpoints/vendor
-
-		local fuzzer_component_id="488493"
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_setup_util_find_all_properties_fuzzer \
-			--comp "${fuzzer_component_id}"
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_setup_util_find_fingerprint_and_sdk_version_fuzzer \
-			--comp "${fuzzer_component_id}"
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_property_util_expand_property_contents_fuzzer \
-			--comp "${fuzzer_component_id}"
 	fi
+
+	local fuzzer_component_id="488493"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/android_binary_xml_tokenizer_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/android_xml_util_find_fingerprint_and_sdk_version_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_setup_util_find_all_properties_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_property_util_expand_property_contents_fuzzer \
+		--comp "${fuzzer_component_id}"
 }
 
 platform_pkg_test() {
diff --git a/chromeos-base/arc-setup/files/revision_bump b/chromeos-base/arc-setup/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/arc-setup/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/arc-sslh-init/arc-sslh-init-0.0.1-r22.ebuild b/chromeos-base/arc-sslh-init/arc-sslh-init-0.0.1-r24.ebuild
similarity index 100%
rename from chromeos-base/arc-sslh-init/arc-sslh-init-0.0.1-r22.ebuild
rename to chromeos-base/arc-sslh-init/arc-sslh-init-0.0.1-r24.ebuild
diff --git a/chromeos-base/arc-sslh-init/files/sslh-seccomp-amd64.policy b/chromeos-base/arc-sslh-init/files/sslh-seccomp-amd64.policy
index 01ba4b2..6b470fa 100644
--- a/chromeos-base/arc-sslh-init/files/sslh-seccomp-amd64.policy
+++ b/chromeos-base/arc-sslh-init/files/sslh-seccomp-amd64.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 write: 1
 select: 1
 pselect6: 1
@@ -52,3 +55,5 @@
 rt_sigprocmask: 1
 gettid: 1
 tgkill: 1
+futex: 1
+set_robust_list: 1
diff --git a/chromeos-base/arc-sslh-init/files/sslh-seccomp-arm.policy b/chromeos-base/arc-sslh-init/files/sslh-seccomp-arm.policy
index 787583e..2552357 100644
--- a/chromeos-base/arc-sslh-init/files/sslh-seccomp-arm.policy
+++ b/chromeos-base/arc-sslh-init/files/sslh-seccomp-arm.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 write: 1
 _newselect: 1
 pselect6: 1
@@ -56,3 +59,6 @@
 rt_sigprocmask: 1
 gettid: 1
 tgkill: 1
+futex: 1
+futex_time64: 1
+set_robust_list: 1
diff --git a/chromeos-base/arc-sslh-init/files/sslh-seccomp-arm64.policy b/chromeos-base/arc-sslh-init/files/sslh-seccomp-arm64.policy
index ce36fe6..bd59e99 100644
--- a/chromeos-base/arc-sslh-init/files/sslh-seccomp-arm64.policy
+++ b/chromeos-base/arc-sslh-init/files/sslh-seccomp-arm64.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 write: 1
 pselect6: 1
 read: 1
@@ -47,3 +50,5 @@
 rt_sigprocmask: 1
 gettid: 1
 tgkill: 1
+futex: 1
+set_robust_list: 1
diff --git a/chromeos-base/arcvm-boot-notification-server/arcvm-boot-notification-server-0.0.1-r163.ebuild b/chromeos-base/arcvm-boot-notification-server/arcvm-boot-notification-server-0.0.1-r163.ebuild
deleted file mode 100644
index 3c05a31..0000000
--- a/chromeos-base/arcvm-boot-notification-server/arcvm-boot-notification-server-0.0.1-r163.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "cb40b464bebda1c6fe4169ae48078e8388cfacde" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/vm/boot_notification_server .gn"
-
-PLATFORM_SUBDIR="arc/vm/boot_notification_server"
-
-inherit cros-workon platform user
-
-DESCRIPTION="ARCVM boot notification server"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/boot_notification_server"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-SLOT="0/0"
-IUSE="+seccomp"
-
-src_install() {
-	newsbin "${OUT}/boot_notification_server" arcvm_boot_notification_server
-
-	insinto /etc/init
-	doins arcvm-boot-notification-server.conf
-
-	insinto /usr/share/policy
-	use seccomp && newins "arcvm_boot_notification_server-seccomp-${ARCH}.policy" arcvm_boot_notification_server-seccomp.policy
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/boot_notification_server_testrunner"
-}
-
-pkg_preinst() {
-	enewuser arcvm-boot-notification-server
-	enewgroup arcvm-boot-notification-server
-}
diff --git a/chromeos-base/arcvm-boot-notification-server/arcvm-boot-notification-server-0.0.1-r224.ebuild b/chromeos-base/arcvm-boot-notification-server/arcvm-boot-notification-server-0.0.1-r224.ebuild
new file mode 100644
index 0000000..cc3d39c
--- /dev/null
+++ b/chromeos-base/arcvm-boot-notification-server/arcvm-boot-notification-server-0.0.1-r224.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "88e843cfa45c09f42d875d1276aa8c51d84540c6" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/vm/boot_notification_server .gn"
+
+PLATFORM_SUBDIR="arc/vm/boot_notification_server"
+
+inherit cros-workon platform user
+
+DESCRIPTION="ARCVM boot notification server"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/boot_notification_server"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+SLOT="0/0"
+IUSE="+seccomp"
+
+src_install() {
+	newsbin "${OUT}/boot_notification_server" arcvm_boot_notification_server
+
+	insinto /etc/init
+	doins arcvm-boot-notification-server.conf
+
+	insinto /usr/share/policy
+	use seccomp && newins "arcvm_boot_notification_server-seccomp-${ARCH}.policy" arcvm_boot_notification_server-seccomp.policy
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/boot_notification_server_testrunner"
+}
+
+pkg_preinst() {
+	enewuser arcvm-boot-notification-server
+	enewgroup arcvm-boot-notification-server
+}
diff --git a/chromeos-base/arcvm-boot-notification-server/arcvm-boot-notification-server-9999.ebuild b/chromeos-base/arcvm-boot-notification-server/arcvm-boot-notification-server-9999.ebuild
index 91c8fbb..cff249d 100644
--- a/chromeos-base/arcvm-boot-notification-server/arcvm-boot-notification-server-9999.ebuild
+++ b/chromeos-base/arcvm-boot-notification-server/arcvm-boot-notification-server-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-workon platform user
 
 DESCRIPTION="ARCVM boot notification server"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/boot_notification_server"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/boot_notification_server"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/arcvm-boot-notification-server/files/revision_bump b/chromeos-base/arcvm-boot-notification-server/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/arcvm-boot-notification-server/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/arcvm-common-scripts/arcvm-common-scripts-0.0.1-r203.ebuild b/chromeos-base/arcvm-common-scripts/arcvm-common-scripts-0.0.1-r203.ebuild
deleted file mode 100644
index dae8ae3..0000000
--- a/chromeos-base/arcvm-common-scripts/arcvm-common-scripts-0.0.1-r203.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e5d7f3967cfc251309ff3084c98e55862fcb0cd7" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/vm/scripts .gn"
-
-inherit cros-workon
-
-DESCRIPTION="ARCVM common scripts."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/scripts"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="
-	${RDEPEND}
-	!<=chromeos-base/arc-base-0.0.1-r349
-	!<=chromeos-base/arc-common-scripts-0.0.1-r132
-	chromeos-base/arcvm-mount-media-dirs
-"
-
-src_install() {
-	dosbin arc/vm/scripts/android-sh
-
-	insinto /etc/init
-	doins arc/vm/scripts/init/arcvm-fsverity-certs.conf
-	doins arc/vm/scripts/init/arcvm-host.conf
-	doins arc/vm/scripts/init/arcvm-post-login-services.conf
-	doins arc/vm/scripts/init/arcvm-post-vm-start-services.conf
-	doins arc/vm/scripts/init/arcvm-pre-login-services.conf
-	doins arc/vm/scripts/init/arcvm-ureadahead.conf
-
-	insinto /etc/dbus-1/system.d
-	doins arc/vm/scripts/init/dbus-1/ArcVmScripts.conf
-
-	insinto /usr/share/arcvm
-	doins arc/vm/scripts/init/config.json
-
-	insinto /usr/share/arcvm/fsverity-certs
-	doins arc/vm/scripts/init/certs/fsverity-release.x509.der
-	doins arc/vm/scripts/init/certs/play_store_fsi_cert.der
-
-	# Redirect ARCVM logs to arc.log.
-	insinto /etc/rsyslog.d
-	doins arc/vm/scripts/rsyslog.arc.conf
-}
diff --git a/chromeos-base/arcvm-common-scripts/arcvm-common-scripts-0.0.1-r262.ebuild b/chromeos-base/arcvm-common-scripts/arcvm-common-scripts-0.0.1-r262.ebuild
new file mode 100644
index 0000000..dd43eac
--- /dev/null
+++ b/chromeos-base/arcvm-common-scripts/arcvm-common-scripts-0.0.1-r262.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "6c8e31ddd8673a4d0a97c41281778e94def0e37a" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/vm/scripts .gn"
+
+inherit cros-workon
+
+DESCRIPTION="ARCVM common scripts."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/scripts"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="
+	${RDEPEND}
+	!<=chromeos-base/arc-base-0.0.1-r349
+	!<=chromeos-base/arc-common-scripts-0.0.1-r132
+	chromeos-base/arcvm-mount-media-dirs
+"
+
+src_install() {
+	dosbin arc/vm/scripts/android-sh
+
+	insinto /etc/init
+	doins arc/vm/scripts/init/arcvm-fsverity-certs.conf
+	doins arc/vm/scripts/init/arcvm-host.conf
+	doins arc/vm/scripts/init/arcvm-media-sharing-services.conf
+	doins arc/vm/scripts/init/arcvm-post-login-services.conf
+	doins arc/vm/scripts/init/arcvm-post-vm-start-services.conf
+	doins arc/vm/scripts/init/arcvm-pre-login-services.conf
+	doins arc/vm/scripts/init/arcvm-ureadahead.conf
+
+	insinto /etc/dbus-1/system.d
+	doins arc/vm/scripts/init/dbus-1/ArcVmScripts.conf
+
+	insinto /usr/share/arcvm
+	doins arc/vm/scripts/init/config.json
+
+	insinto /usr/share/arcvm/fsverity-certs
+	doins arc/vm/scripts/init/certs/fsverity-release.x509.der
+	doins arc/vm/scripts/init/certs/play_store_fsi_cert.der
+
+	# Redirect ARCVM logs to arc.log.
+	insinto /etc/rsyslog.d
+	doins arc/vm/scripts/rsyslog.arc.conf
+}
diff --git a/chromeos-base/arcvm-common-scripts/arcvm-common-scripts-9999.ebuild b/chromeos-base/arcvm-common-scripts/arcvm-common-scripts-9999.ebuild
index 74752d8..dd24d3a 100644
--- a/chromeos-base/arcvm-common-scripts/arcvm-common-scripts-9999.ebuild
+++ b/chromeos-base/arcvm-common-scripts/arcvm-common-scripts-9999.ebuild
@@ -12,7 +12,7 @@
 inherit cros-workon
 
 DESCRIPTION="ARCVM common scripts."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/scripts"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/scripts"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
@@ -30,6 +30,7 @@
 	insinto /etc/init
 	doins arc/vm/scripts/init/arcvm-fsverity-certs.conf
 	doins arc/vm/scripts/init/arcvm-host.conf
+	doins arc/vm/scripts/init/arcvm-media-sharing-services.conf
 	doins arc/vm/scripts/init/arcvm-post-login-services.conf
 	doins arc/vm/scripts/init/arcvm-post-vm-start-services.conf
 	doins arc/vm/scripts/init/arcvm-pre-login-services.conf
diff --git a/chromeos-base/arcvm-forward-pstore/arcvm-forward-pstore-0.0.1-r240.ebuild b/chromeos-base/arcvm-forward-pstore/arcvm-forward-pstore-0.0.1-r240.ebuild
deleted file mode 100644
index bc33a73..0000000
--- a/chromeos-base/arcvm-forward-pstore/arcvm-forward-pstore-0.0.1-r240.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "9fceef079c99bc96987ec7b55cac1e78ee986ce1" "7ef75a42aba67052842459f221271e681184cc89" "c1bde153626532428bf7409bc0597e79452c5eb8")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-
-PLATFORM2_PATHS=(
-	common-mk
-	.gn
-
-	arc/vm/forward-pstore
-
-	vm_tools/BUILD.gn
-	vm_tools/common
-)
-CROS_WORKON_SUBTREE="${PLATFORM2_PATHS[*]}"
-
-PLATFORM_SUBDIR="arc/vm/forward-pstore"
-
-inherit cros-workon platform
-
-DESCRIPTION="Forwards pstore file for ARCVM after upgrade."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/forward-pstore"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-SLOT="0/0"
-IUSE="+seccomp"
-
-RDEPEND="
-	dev-libs/protobuf:=
-"
-DEPEND="
-	${RDEPEND}
-	chromeos-base/system_api:=
-	chromeos-base/vm_protos:=
-"
-
-src_install() {
-	newsbin "${OUT}/arcvm-forward-pstore" arcvm-forward-pstore
-
-	insinto /etc/init
-	doins arcvm-forward-pstore.conf
-
-	# Install DBUS configuration file.
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.ArcVmForwardPstore.conf
-
-	# Install seccomp policy
-	insinto /usr/share/policy
-	use seccomp && newins "seccomp-${ARCH}.policy" arcvm-forward-pstore-seccomp.policy
-}
diff --git a/chromeos-base/arcvm-forward-pstore/arcvm-forward-pstore-9999.ebuild b/chromeos-base/arcvm-forward-pstore/arcvm-forward-pstore-9999.ebuild
deleted file mode 100644
index ea5c80e..0000000
--- a/chromeos-base/arcvm-forward-pstore/arcvm-forward-pstore-9999.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-
-PLATFORM2_PATHS=(
-	common-mk
-	.gn
-
-	arc/vm/forward-pstore
-
-	vm_tools/BUILD.gn
-	vm_tools/common
-)
-CROS_WORKON_SUBTREE="${PLATFORM2_PATHS[*]}"
-
-PLATFORM_SUBDIR="arc/vm/forward-pstore"
-
-inherit cros-workon platform
-
-DESCRIPTION="Forwards pstore file for ARCVM after upgrade."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/forward-pstore"
-
-LICENSE="BSD-Google"
-KEYWORDS="~*"
-SLOT="0/0"
-IUSE="+seccomp"
-
-RDEPEND="
-	dev-libs/protobuf:=
-"
-DEPEND="
-	${RDEPEND}
-	chromeos-base/system_api:=
-	chromeos-base/vm_protos:=
-"
-
-src_install() {
-	newsbin "${OUT}/arcvm-forward-pstore" arcvm-forward-pstore
-
-	insinto /etc/init
-	doins arcvm-forward-pstore.conf
-
-	# Install DBUS configuration file.
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.ArcVmForwardPstore.conf
-
-	# Install seccomp policy
-	insinto /usr/share/policy
-	use seccomp && newins "seccomp-${ARCH}.policy" arcvm-forward-pstore-seccomp.policy
-}
diff --git a/chromeos-base/arcvm-mojo-proxy/arcvm-mojo-proxy-0.0.1-r162.ebuild b/chromeos-base/arcvm-mojo-proxy/arcvm-mojo-proxy-0.0.1-r162.ebuild
new file mode 100644
index 0000000..df6a32d
--- /dev/null
+++ b/chromeos-base/arcvm-mojo-proxy/arcvm-mojo-proxy-0.0.1-r162.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "9f169e2d15cb3a0fb7ed9bf55a6a443166e10796" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/vm/mojo_proxy .gn"
+
+PLATFORM_SUBDIR="arc/vm/mojo_proxy"
+
+inherit cros-workon platform user
+
+DESCRIPTION="ARCVM mojo proxy."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/mojo_proxy"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="
+	dev-libs/protobuf:=
+	sys-fs/fuse
+"
+
+DEPEND="
+	${RDEPEND}
+"
+
+src_install() {
+	newbin "${OUT}"/server_proxy arcvm_server_proxy
+
+	insinto /etc/init
+	doins init/arcvm-server-proxy.conf
+}
+
+pkg_preinst() {
+	enewuser "arc-mojo-proxy"
+	enewgroup "arc-mojo-proxy"
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/mojo_proxy_test"
+}
diff --git a/chromeos-base/arcvm-mojo-proxy/arcvm-mojo-proxy-0.0.1-r98.ebuild b/chromeos-base/arcvm-mojo-proxy/arcvm-mojo-proxy-0.0.1-r98.ebuild
deleted file mode 100644
index 90094f2..0000000
--- a/chromeos-base/arcvm-mojo-proxy/arcvm-mojo-proxy-0.0.1-r98.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "12325c256ae55736c53ef164730309387a7208e8" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/vm/mojo_proxy .gn"
-
-PLATFORM_SUBDIR="arc/vm/mojo_proxy"
-
-inherit cros-workon platform
-
-DESCRIPTION="ARCVM mojo proxy."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/mojo_proxy"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="
-	dev-libs/protobuf:=
-	sys-fs/fuse
-"
-
-DEPEND="
-	${RDEPEND}
-"
-
-src_install() {
-	newbin "${OUT}"/server_proxy arcvm_server_proxy
-
-	insinto /etc/init
-	doins init/arcvm-server-proxy.conf
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/mojo_proxy_test"
-}
diff --git a/chromeos-base/arcvm-mojo-proxy/arcvm-mojo-proxy-9999.ebuild b/chromeos-base/arcvm-mojo-proxy/arcvm-mojo-proxy-9999.ebuild
index e032301..ad8d7fe 100644
--- a/chromeos-base/arcvm-mojo-proxy/arcvm-mojo-proxy-9999.ebuild
+++ b/chromeos-base/arcvm-mojo-proxy/arcvm-mojo-proxy-9999.ebuild
@@ -11,10 +11,10 @@
 
 PLATFORM_SUBDIR="arc/vm/mojo_proxy"
 
-inherit cros-workon platform
+inherit cros-workon platform user
 
 DESCRIPTION="ARCVM mojo proxy."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/mojo_proxy"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/mojo_proxy"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
@@ -35,6 +35,11 @@
 	doins init/arcvm-server-proxy.conf
 }
 
+pkg_preinst() {
+	enewuser "arc-mojo-proxy"
+	enewgroup "arc-mojo-proxy"
+}
+
 platform_pkg_test() {
 	platform_test "run" "${OUT}/mojo_proxy_test"
 }
diff --git a/chromeos-base/arcvm-mojo-proxy/files/revision_bump b/chromeos-base/arcvm-mojo-proxy/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/arcvm-mojo-proxy/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/arcvm-mount-media-dirs/arcvm-mount-media-dirs-0.0.1-r127.ebuild b/chromeos-base/arcvm-mount-media-dirs/arcvm-mount-media-dirs-0.0.1-r127.ebuild
deleted file mode 100644
index 0ad74af..0000000
--- a/chromeos-base/arcvm-mount-media-dirs/arcvm-mount-media-dirs-0.0.1-r127.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "954e934fa76d67253d978d97346b24a1fce9be2c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/vm/scripts/init/mount-media-dirs .gn"
-
-inherit cros-workon
-
-DESCRIPTION="Mount media directories on a mount point shared with ARCVM."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/scripts/init/mount-media-dirs"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="
-	chromeos-base/mount-passthrough
-"
-
-src_install() {
-	insinto /etc/init
-	doins arc/vm/scripts/init/mount-media-dirs/arcvm-mount-myfiles.conf
-	doins arc/vm/scripts/init/mount-media-dirs/arcvm-mount-play-files.conf
-	doins arc/vm/scripts/init/mount-media-dirs/arcvm-mount-removable-media.conf
-	doins arc/vm/scripts/init/mount-media-dirs/arcvm-mount-sdcard-dir.conf
-}
diff --git a/chromeos-base/arcvm-mount-media-dirs/arcvm-mount-media-dirs-0.0.1-r185.ebuild b/chromeos-base/arcvm-mount-media-dirs/arcvm-mount-media-dirs-0.0.1-r185.ebuild
new file mode 100644
index 0000000..f81ff54
--- /dev/null
+++ b/chromeos-base/arcvm-mount-media-dirs/arcvm-mount-media-dirs-0.0.1-r185.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "52a8dfd1ecf17b48fee49f656fc032c0fab03760" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/vm/scripts/init/mount-media-dirs .gn"
+
+inherit cros-workon
+
+DESCRIPTION="Mount media directories on a mount point shared with ARCVM."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/scripts/init/mount-media-dirs"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="
+	chromeos-base/mount-passthrough
+"
+
+src_install() {
+	insinto /etc/init
+	doins arc/vm/scripts/init/mount-media-dirs/arcvm-mount-myfiles.conf
+	doins arc/vm/scripts/init/mount-media-dirs/arcvm-mount-play-files.conf
+	doins arc/vm/scripts/init/mount-media-dirs/arcvm-mount-removable-media.conf
+	doins arc/vm/scripts/init/mount-media-dirs/arcvm-mount-sdcard-dir.conf
+}
diff --git a/chromeos-base/arcvm-mount-media-dirs/arcvm-mount-media-dirs-9999.ebuild b/chromeos-base/arcvm-mount-media-dirs/arcvm-mount-media-dirs-9999.ebuild
index 92076b1..cb075ab 100644
--- a/chromeos-base/arcvm-mount-media-dirs/arcvm-mount-media-dirs-9999.ebuild
+++ b/chromeos-base/arcvm-mount-media-dirs/arcvm-mount-media-dirs-9999.ebuild
@@ -12,7 +12,7 @@
 inherit cros-workon
 
 DESCRIPTION="Mount media directories on a mount point shared with ARCVM."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/scripts/init/mount-media-dirs"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/scripts/init/mount-media-dirs"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/assistant-dlc/OWNERS b/chromeos-base/assistant-dlc/OWNERS
new file mode 100644
index 0000000..bc5e577
--- /dev/null
+++ b/chromeos-base/assistant-dlc/OWNERS
@@ -0,0 +1,2 @@
+kimjae@chromium.org
+wutao@chromium.org
diff --git a/chromeos-base/assistant-dlc/assistant-dlc-0.0.1-r2.ebuild b/chromeos-base/assistant-dlc/assistant-dlc-0.0.1-r2.ebuild
new file mode 100644
index 0000000..92e1ca7
--- /dev/null
+++ b/chromeos-base/assistant-dlc/assistant-dlc-0.0.1-r2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+# This is the DLC packs the shared libraries used by assistant in chrome.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
+CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
+inherit cros-workon dlc
+
+# No git repo for this so use empty-project.
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="platform/empty-project"
+
+DESCRIPTION="Assistant DLC"
+SRC_URI=""
+
+# V1 of libassistant.so will be built + installed into rootfs.
+DEPEND="
+	chromeos-base/chromeos-chrome:=
+"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+S="${WORKDIR}"
+
+# libassistant.so is ~13MB == 13368808 bytes
+# Account for growth:
+# 20MB / 4KB block size = 5120 blocks.
+DLC_PREALLOC_BLOCKS="5120"
+DLC_NAME="Assistant DLC"
+# Tast tests run against libassistant.so
+DLC_PRELOAD=true
+
+CHROME_DIR=/opt/google/chrome
+
+# Don't need to unpack anything.
+# Also suppresses messages related to unpacking unrecognized formats.
+src_unpack() {
+	:
+}
+
+src_install() {
+	cp "${SYSROOT}${CHROME_DIR}/libassistant.so" "${T}/"
+	exeinto "$(dlc_add_path ${CHROME_DIR})"
+	doexe "${T}/libassistant.so"
+	dlc_src_install
+}
diff --git a/chromeos-base/assistant-dlc/assistant-dlc-9999.ebuild b/chromeos-base/assistant-dlc/assistant-dlc-9999.ebuild
new file mode 100644
index 0000000..37e7da8
--- /dev/null
+++ b/chromeos-base/assistant-dlc/assistant-dlc-9999.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+# This is the DLC packs the shared libraries used by assistant in chrome.
+
+EAPI=7
+
+inherit cros-workon dlc
+
+# No git repo for this so use empty-project.
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="platform/empty-project"
+
+DESCRIPTION="Assistant DLC"
+SRC_URI=""
+
+# V1 of libassistant.so will be built + installed into rootfs.
+DEPEND="
+	chromeos-base/chromeos-chrome:=
+"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="~*"
+S="${WORKDIR}"
+
+# libassistant.so is ~13MB == 13368808 bytes
+# Account for growth:
+# 20MB / 4KB block size = 5120 blocks.
+DLC_PREALLOC_BLOCKS="5120"
+DLC_NAME="Assistant DLC"
+# Tast tests run against libassistant.so
+DLC_PRELOAD=true
+
+CHROME_DIR=/opt/google/chrome
+
+# Don't need to unpack anything.
+# Also suppresses messages related to unpacking unrecognized formats.
+src_unpack() {
+	:
+}
+
+src_install() {
+	cp "${SYSROOT}${CHROME_DIR}/libassistant.so" "${T}/"
+	exeinto "$(dlc_add_path ${CHROME_DIR})"
+	doexe "${T}/libassistant.so"
+	dlc_src_install
+}
diff --git a/chromeos-base/atrusctl/atrusctl-0.0.1-r1033.ebuild b/chromeos-base/atrusctl/atrusctl-0.0.1-r1033.ebuild
deleted file mode 100644
index 57f65b7..0000000
--- a/chromeos-base/atrusctl/atrusctl-0.0.1-r1033.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("f35f2919309cf11b0ddd9deb24a6b145d40d9254" "4f1d81ecfa86ae7570f951fe6eaac9ab2c1290d7")
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "e791cbb573288deecc226b0d77ab4583fe9f747f")
-CROS_WORKON_LOCALNAME=("platform2" "third_party/atrusctl")
-CROS_WORKON_PROJECT=("chromiumos/platform2" "chromiumos/third_party/atrusctl")
-CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/atrusctl")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE=("common-mk .gn" "")
-
-PLATFORM_SUBDIR="atrusctl"
-
-inherit cros-workon platform udev user
-
-DESCRIPTION="CrOS daemon for the Atrus speakerphone"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/atrusctl/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-DEPEND="
-	virtual/libusb:1
-	virtual/libudev:0=
-"
-RDEPEND="
-	${DEPEND}
-	!sys-apps/atrusctl
-"
-
-src_install() {
-	dosbin "${OUT}/atrusd"
-
-	insinto /etc/rsyslog.d
-	newins conf/rsyslog-atrus.conf atrus.conf
-
-	udev_newrules conf/udev-atrus.rules 99-atrus.rules
-
-	insinto /etc/init
-	doins init/atrusd.conf
-
-	insinto /etc/dbus-1/system.d
-	doins dbus_permissions/org.chromium.Atrusctl.conf
-}
-
-pkg_preinst() {
-	enewuser atrus
-	enewgroup atrus
-}
diff --git a/chromeos-base/atrusctl/atrusctl-0.0.1-r1090.ebuild b/chromeos-base/atrusctl/atrusctl-0.0.1-r1090.ebuild
new file mode 100644
index 0000000..22aba8d
--- /dev/null
+++ b/chromeos-base/atrusctl/atrusctl-0.0.1-r1090.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("dbb1136242ba822d539eaf11493f3b68815adb7f" "4f1d81ecfa86ae7570f951fe6eaac9ab2c1290d7")
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "e791cbb573288deecc226b0d77ab4583fe9f747f")
+CROS_WORKON_LOCALNAME=("platform2" "third_party/atrusctl")
+CROS_WORKON_PROJECT=("chromiumos/platform2" "chromiumos/third_party/atrusctl")
+CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/atrusctl")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE=("common-mk .gn" "")
+
+PLATFORM_SUBDIR="atrusctl"
+
+inherit cros-workon platform udev user
+
+DESCRIPTION="CrOS daemon for the Atrus speakerphone"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/atrusctl/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+DEPEND="
+	virtual/libusb:1
+	virtual/libudev:0=
+"
+RDEPEND="
+	${DEPEND}
+	!sys-apps/atrusctl
+"
+
+src_install() {
+	dosbin "${OUT}/atrusd"
+
+	insinto /etc/rsyslog.d
+	newins conf/rsyslog-atrus.conf atrus.conf
+
+	udev_newrules conf/udev-atrus.rules 99-atrus.rules
+
+	insinto /etc/init
+	doins init/atrusd.conf
+
+	insinto /etc/dbus-1/system.d
+	doins dbus_permissions/org.chromium.Atrusctl.conf
+}
+
+pkg_preinst() {
+	enewuser atrus
+	enewgroup atrus
+}
diff --git a/chromeos-base/atrusctl/files/revision_bump b/chromeos-base/atrusctl/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/atrusctl/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/attestation-client/attestation-client-0.0.1-r412.ebuild b/chromeos-base/attestation-client/attestation-client-0.0.1-r412.ebuild
deleted file mode 100644
index c93a876..0000000
--- a/chromeos-base/attestation-client/attestation-client-0.0.1-r412.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "3e8ec46db7a894d8f90bf457f66dbe4e3efad0e1" "b1c7898d3f42051cbba6426c62b35476a8de5b72" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk attestation libhwsec-foundation .gn"
-
-PLATFORM_SUBDIR="attestation/client"
-
-inherit cros-workon platform
-
-DESCRIPTION="Attestation D-Bus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/attestation/client/"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE="cros_host"
-
-# D-Bus proxies generated by this client library depend on the code generator
-# itself (chromeos-dbus-bindings) and produce header files that rely on
-# libbrillo library, hence both dependencies. We require the particular
-# revision because libbrillo-0.0.1-r1 changed location of header files from
-# chromeos/ to brillo/ and chromeos-dbus-bindings-0.0.1-r1058 generates the
-# code using the new location.
-DEPEND="
-	cros_host? ( >=chromeos-base/chromeos-dbus-bindings-0.0.1-r1058 )
-	chromeos-base/libbrillo:=
-	chromeos-base/system_api:=[fuzzer?]
-"
-
-# Note that for RDEPEND, we conflict with attestation package older than
-# 0.0.1 because this client is incompatible with daemon older than version
-# 0.0.1. We didn't RDEPEND on attestation version 0.0.1 or greater because
-# we don't want to create circular dependency in case the package attestation
-# depends on some package foo that also depend on this package.
-RDEPEND="
-	!<chromeos-base/attestation-0.0.1
-	chromeos-base/libbrillo:=
-"
-
-src_install() {
-	# Install D-Bus client library.
-	platform_install_dbus_client_lib "attestation"
-}
diff --git a/chromeos-base/attestation-client/attestation-client-0.0.1-r515.ebuild b/chromeos-base/attestation-client/attestation-client-0.0.1-r515.ebuild
new file mode 100644
index 0000000..b8b7280
--- /dev/null
+++ b/chromeos-base/attestation-client/attestation-client-0.0.1-r515.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "46debaa1a374952167d5a2ca0bdf36013f053bc3" "8ca9c97a07408fdff5abf480fb1b2a15405b6bc0" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk attestation libhwsec-foundation .gn"
+
+PLATFORM_SUBDIR="attestation/client"
+
+inherit cros-workon platform
+
+DESCRIPTION="Attestation D-Bus client library for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/attestation/client/"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="cros_host"
+
+# D-Bus proxies generated by this client library depend on the code generator
+# itself (chromeos-dbus-bindings) and produce header files that rely on
+# libbrillo library, hence both dependencies. We require the particular
+# revision because libbrillo-0.0.1-r1 changed location of header files from
+# chromeos/ to brillo/ and chromeos-dbus-bindings-0.0.1-r1058 generates the
+# code using the new location.
+DEPEND="
+	cros_host? ( >=chromeos-base/chromeos-dbus-bindings-0.0.1-r1058 )
+	chromeos-base/libbrillo:=
+	chromeos-base/system_api:=[fuzzer?]
+"
+
+# Note that for RDEPEND, we conflict with attestation package older than
+# 0.0.1 because this client is incompatible with daemon older than version
+# 0.0.1. We didn't RDEPEND on attestation version 0.0.1 or greater because
+# we don't want to create circular dependency in case the package attestation
+# depends on some package foo that also depend on this package.
+RDEPEND="
+	!<chromeos-base/attestation-0.0.1
+	chromeos-base/libbrillo:=
+"
+
+src_install() {
+	# Install D-Bus client library.
+	platform_install_dbus_client_lib "attestation"
+}
diff --git a/chromeos-base/attestation-client/attestation-client-9999.ebuild b/chromeos-base/attestation-client/attestation-client-9999.ebuild
index 4171b11..593f18a 100644
--- a/chromeos-base/attestation-client/attestation-client-9999.ebuild
+++ b/chromeos-base/attestation-client/attestation-client-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Attestation D-Bus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/attestation/client/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/attestation/client/"
 
 LICENSE="BSD-Google"
 SLOT="0"
diff --git a/chromeos-base/attestation-client/files/revision_bump b/chromeos-base/attestation-client/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/attestation-client/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/attestation/attestation-0.0.1-r3424.ebuild b/chromeos-base/attestation/attestation-0.0.1-r3424.ebuild
deleted file mode 100644
index b451c1b..0000000
--- a/chromeos-base/attestation/attestation-0.0.1-r3424.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "3e8ec46db7a894d8f90bf457f66dbe4e3efad0e1" "b8893a9e8fdf8b402519c4496addb087f21fbe50" "fb2b8277318fb7e7eff84f5c7669a46bf60f19f5" "b1c7898d3f42051cbba6426c62b35476a8de5b72" "4a0dedab080195bdc122d2289118df4af3ddca2c" "2acba33c99f07fa000bb44a4df3a65a8fe313bb1" "97266a4772907835fdab5d56b3ca24ed9c1c7a0e" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk attestation chaps libhwsec libhwsec-foundation metrics tpm_manager trunks .gn"
-
-PLATFORM_SUBDIR="attestation"
-
-inherit cros-workon libchrome platform user
-
-DESCRIPTION="Attestation service for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/attestation/"
-
-LICENSE="Apache-2.0"
-KEYWORDS="*"
-IUSE="generic_tpm2 test tpm tpm_dynamic tpm2"
-
-REQUIRED_USE="
-	tpm_dynamic? ( tpm tpm2 )
-	!tpm_dynamic? ( ?? ( tpm tpm2 ) )
-"
-
-RDEPEND="
-	tpm? (
-		app-crypt/trousers:=
-	)
-	tpm2? (
-		chromeos-base/trunks:=
-	)
-	chromeos-base/chaps:=
-	chromeos-base/libhwsec-foundation:=
-	chromeos-base/system_api:=[fuzzer?]
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/minijail:=
-	chromeos-base/tpm_manager:=
-	chromeos-base/attestation-client
-	"
-
-DEPEND="
-	${RDEPEND}
-	test? ( chromeos-base/libhwsec:= )
-	chromeos-base/vboot_reference:=
-	tpm2? (
-		chromeos-base/trunks:=[test?]
-		chromeos-base/chromeos-ec-headers:=
-	)
-	"
-
-pkg_preinst() {
-	# Create user and group for attestation.
-	enewuser "attestation"
-	enewgroup "attestation"
-	# Create group for /mnt/stateful_partition/unencrypted/preserve.
-	enewgroup "preserve"
-}
-
-src_install() {
-	platform_install
-
-	insinto /usr/include/attestation/common
-	doins common/attestation_interface.h
-	doins "${OUT}"/gen/attestation/common/print_attestation_ca_proto.h
-	doins "${OUT}"/gen/attestation/common/print_interface_proto.h
-	doins "${OUT}"/gen/attestation/common/print_keystore_proto.h
-
-	# Install the generated dbus-binding for fake pca agent.
-	# It does no harm to install the header even for non-test image build.
-	insinto /usr/include/attestation/pca-agent/dbus_adaptors
-	doins "${OUT}"/gen/include/attestation/pca-agent/dbus_adaptors/org.chromium.PcaAgent.h
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/attestation/attestation-0.0.1-r3625.ebuild b/chromeos-base/attestation/attestation-0.0.1-r3625.ebuild
new file mode 100644
index 0000000..28e69f0
--- /dev/null
+++ b/chromeos-base/attestation/attestation-0.0.1-r3625.ebuild
@@ -0,0 +1,82 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "46debaa1a374952167d5a2ca0bdf36013f053bc3" "2e72f56ad37eadb01ad2b42e9938beb23cb3a389" "2e036f417afe5d55dcbd138f7bfe2c98ab14403f" "8ca9c97a07408fdff5abf480fb1b2a15405b6bc0" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "944879c9353c2df8adb7022407a8d319671325c1" "0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk attestation chaps libhwsec libhwsec-foundation metrics tpm_manager trunks .gn"
+
+PLATFORM_SUBDIR="attestation"
+
+inherit cros-workon libchrome platform user
+
+DESCRIPTION="Attestation service for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/attestation/"
+
+LICENSE="Apache-2.0"
+KEYWORDS="*"
+IUSE="generic_tpm2 test ti50_onboard tpm tpm_dynamic tpm2"
+
+REQUIRED_USE="
+	tpm_dynamic? ( tpm tpm2 )
+	!tpm_dynamic? ( ?? ( tpm tpm2 ) )
+"
+
+RDEPEND="
+	tpm? (
+		app-crypt/trousers:=
+	)
+	tpm2? (
+		chromeos-base/trunks:=
+	)
+	chromeos-base/chaps:=
+	chromeos-base/libhwsec:=[test?]
+	chromeos-base/libhwsec-foundation:=
+	chromeos-base/system_api:=[fuzzer?]
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/minijail:=
+	chromeos-base/tpm_manager:=
+	chromeos-base/attestation-client
+	"
+
+DEPEND="
+	${RDEPEND}
+	chromeos-base/vboot_reference:=
+	tpm2? (
+		chromeos-base/trunks:=[test?]
+		chromeos-base/chromeos-ec-headers:=
+	)
+	"
+
+pkg_preinst() {
+	# Create user and group for attestation.
+	enewuser "attestation"
+	enewgroup "attestation"
+	# Create group for /mnt/stateful_partition/unencrypted/preserve.
+	enewgroup "preserve"
+}
+
+src_install() {
+	platform_install
+
+	insinto /usr/include/attestation/common
+	doins common/attestation_interface.h
+	doins "${OUT}"/gen/attestation/common/print_attestation_ca_proto.h
+	doins "${OUT}"/gen/attestation/common/print_interface_proto.h
+	doins "${OUT}"/gen/attestation/common/print_keystore_proto.h
+
+	# Install the generated dbus-binding for fake pca agent.
+	# It does no harm to install the header even for non-test image build.
+	insinto /usr/include/attestation/pca-agent/dbus_adaptors
+	doins "${OUT}"/gen/include/attestation/pca-agent/dbus_adaptors/org.chromium.PcaAgent.h
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/attestation/attestation-9999.ebuild b/chromeos-base/attestation/attestation-9999.ebuild
index 667a3d9..49d6d01 100644
--- a/chromeos-base/attestation/attestation-9999.ebuild
+++ b/chromeos-base/attestation/attestation-9999.ebuild
@@ -15,11 +15,11 @@
 inherit cros-workon libchrome platform user
 
 DESCRIPTION="Attestation service for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/attestation/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/attestation/"
 
 LICENSE="Apache-2.0"
 KEYWORDS="~*"
-IUSE="generic_tpm2 test tpm tpm_dynamic tpm2"
+IUSE="generic_tpm2 test ti50_onboard tpm tpm_dynamic tpm2"
 
 REQUIRED_USE="
 	tpm_dynamic? ( tpm tpm2 )
@@ -34,6 +34,7 @@
 		chromeos-base/trunks:=
 	)
 	chromeos-base/chaps:=
+	chromeos-base/libhwsec:=[test?]
 	chromeos-base/libhwsec-foundation:=
 	chromeos-base/system_api:=[fuzzer?]
 	>=chromeos-base/metrics-0.0.1-r3152:=
@@ -44,7 +45,6 @@
 
 DEPEND="
 	${RDEPEND}
-	test? ( chromeos-base/libhwsec:= )
 	chromeos-base/vboot_reference:=
 	tpm2? (
 		chromeos-base/trunks:=[test?]
diff --git a/chromeos-base/attestation/files/revision_bump b/chromeos-base/attestation/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/attestation/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/audiotest/audiotest-0.0.1-r102.ebuild b/chromeos-base/audiotest/audiotest-0.0.1-r102.ebuild
deleted file mode 100644
index b6f0ef1..0000000
--- a/chromeos-base/audiotest/audiotest-0.0.1-r102.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_WORKON_COMMIT="a0a7ca5a07712549d445e0cb76070ea2cc3f47d6"
-CROS_WORKON_TREE="414efb538cdece5f0b7f251484d30e49ddefedb8"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_PROJECT="chromiumos/platform/audiotest"
-CROS_WORKON_LOCALNAME="platform/audiotest"
-
-inherit cros-sanitizers cros-workon cros-common.mk
-
-DESCRIPTION="Audio test tools"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/audiotest"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE="-asan"
-
-RDEPEND="media-libs/alsa-lib
-	media-sound/adhd"
-DEPEND="${RDEPEND}"
-
-src_configure() {
-	sanitizers-setup-env
-	cros-common.mk_src_configure
-}
-
-src_test() {
-	pushd script || die
-	python3 -m unittest cyclic_bench_unittest || die
-	popd > /dev/null || die
-}
-
-src_install() {
-	# Install built tools
-	pushd "${OUT}" >/dev/null
-	dobin src/alsa_api_test
-	dobin alsa_conformance_test/alsa_conformance_test
-	dobin src/alsa_helpers
-	dobin src/audiofuntest
-	dobin src/cras_api_test
-	dobin src/loopback_latency
-	dobin script/alsa_conformance_test.py
-	dobin script/cyclic_bench.py
-	popd >/dev/null || die
-}
diff --git a/chromeos-base/audiotest/audiotest-0.0.1-r104.ebuild b/chromeos-base/audiotest/audiotest-0.0.1-r104.ebuild
new file mode 100644
index 0000000..ba21f0e
--- /dev/null
+++ b/chromeos-base/audiotest/audiotest-0.0.1-r104.ebuild
@@ -0,0 +1,49 @@
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+CROS_WORKON_COMMIT="c4f3a48a6710ad8630707986f427d1d3b226fda7"
+CROS_WORKON_TREE="4ff961d4d9adf59e6a4c47b6c24652b1d46f1b50"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_PROJECT="chromiumos/platform/audiotest"
+CROS_WORKON_LOCALNAME="platform/audiotest"
+
+inherit cros-sanitizers cros-workon cros-common.mk
+
+DESCRIPTION="Audio test tools"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/audiotest"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="-asan"
+
+RDEPEND="media-libs/alsa-lib
+	media-sound/adhd"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+	sanitizers-setup-env
+	cros-common.mk_src_configure
+}
+
+src_test() {
+	pushd script || die
+	python3 -m unittest cyclic_bench_unittest || die
+	popd > /dev/null || die
+}
+
+src_install() {
+	# Install built tools
+	pushd "${OUT}" >/dev/null
+	dobin src/alsa_api_test
+	dobin alsa_conformance_test/alsa_conformance_test
+	dobin src/alsa_helpers
+	dobin src/audiofuntest
+	dobin src/cras_api_test
+	dobin src/loopback_latency
+	dobin script/alsa_conformance_test.py
+	dobin script/cyclic_bench.py
+	popd >/dev/null || die
+}
diff --git a/chromeos-base/authpolicy/authpolicy-0.0.1-r1762.ebuild b/chromeos-base/authpolicy/authpolicy-0.0.1-r1762.ebuild
deleted file mode 100644
index 9d0224b..0000000
--- a/chromeos-base/authpolicy/authpolicy-0.0.1-r1762.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "b701f8fc5fbbe149f7df5cf1c4e73593ff0ef14d" "4a0dedab080195bdc122d2289118df4af3ddca2c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk authpolicy metrics .gn"
-
-PLATFORM_SUBDIR="authpolicy"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Provides authentication to LDAP and fetching device/user policies"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/authpolicy/"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="+samba asan fuzzer"
-
-COMMMON_DEPEND="
-	app-crypt/mit-krb5:=
-	chromeos-base/cryptohome-client:=
-	chromeos-base/libbrillo:=[asan?,fuzzer?]
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	>=chromeos-base/minijail-0.0.1-r1477:=
-	dev-libs/protobuf:=
-	samba? ( >=net-fs/samba-4.5.3-r6:= )
-	sys-apps/dbus:=
-	sys-libs/libcap:=
-"
-RDEPEND="${COMMMON_DEPEND}"
-DEPEND="
-	${COMMMON_DEPEND}
-	>=chromeos-base/protofiles-0.0.55:=
-	chromeos-base/session_manager-client:=
-	chromeos-base/system_api:=[fuzzer?]
-"
-
-pkg_setup() {
-	# Has to be done in pkg_setup() instead of pkg_preinst() since
-	# src_install() needs authpolicyd.
-	enewuser "authpolicyd"
-	enewgroup "authpolicyd"
-	enewuser "authpolicyd-exec"
-	enewgroup "authpolicyd-exec"
-	cros-workon_pkg_setup
-}
-
-src_install() {
-	platform_install
-
-	# Create daemon store folder prototype, see
-	# https://chromium.googlesource.com/chromiumos/docs/+/master/sandboxing.md#securely-mounting-cryptohome-daemon-store-folders
-	local daemon_store="/etc/daemon-store/authpolicyd"
-	dodir "${daemon_store}"
-	fperms 0700 "${daemon_store}"
-	fowners authpolicyd:authpolicyd "${daemon_store}"
-
-	# fuzzer_component_id is unknown/unlisted
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/preg_parser_fuzzer \
-		--dict "${S}"/policy/testdata/preg_parser_fuzzer.dict
-}
-
-platform_pkg_test() {
-	platform test_all
-	platform_fuzzer_test "${OUT}"/preg_parser_fuzzer
-}
diff --git a/chromeos-base/authpolicy/authpolicy-0.0.1-r1874.ebuild b/chromeos-base/authpolicy/authpolicy-0.0.1-r1874.ebuild
new file mode 100644
index 0000000..3968da1
--- /dev/null
+++ b/chromeos-base/authpolicy/authpolicy-0.0.1-r1874.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "b264cb6b90c6ebf905cc374ca3ebd7011ea5fe8c" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk authpolicy metrics .gn"
+
+PLATFORM_SUBDIR="authpolicy"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Provides authentication to LDAP and fetching device/user policies"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/authpolicy/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="+samba asan fuzzer"
+
+COMMMON_DEPEND="
+	app-crypt/mit-krb5:=
+	chromeos-base/cryptohome-client:=
+	chromeos-base/libbrillo:=[asan?,fuzzer?]
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	>=chromeos-base/minijail-0.0.1-r1477:=
+	dev-libs/protobuf:=
+	samba? ( >=net-fs/samba-4.5.3-r6:= )
+	sys-apps/dbus:=
+	sys-libs/libcap:=
+"
+RDEPEND="${COMMMON_DEPEND}"
+DEPEND="
+	${COMMMON_DEPEND}
+	>=chromeos-base/protofiles-0.0.67:=
+	chromeos-base/session_manager-client:=
+	chromeos-base/system_api:=[fuzzer?]
+"
+
+pkg_setup() {
+	# Has to be done in pkg_setup() instead of pkg_preinst() since
+	# src_install() needs authpolicyd.
+	enewuser "authpolicyd"
+	enewgroup "authpolicyd"
+	enewuser "authpolicyd-exec"
+	enewgroup "authpolicyd-exec"
+	cros-workon_pkg_setup
+}
+
+src_install() {
+	platform_install
+
+	# Create daemon store folder prototype, see
+	# https://chromium.googlesource.com/chromiumos/docs/+/HEAD/sandboxing.md#securely-mounting-cryptohome-daemon-store-folders
+	local daemon_store="/etc/daemon-store/authpolicyd"
+	dodir "${daemon_store}"
+	fperms 0700 "${daemon_store}"
+	fowners authpolicyd:authpolicyd "${daemon_store}"
+
+	# fuzzer_component_id is unknown/unlisted
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/preg_parser_fuzzer \
+		--dict "${S}"/policy/testdata/preg_parser_fuzzer.dict
+}
+
+platform_pkg_test() {
+	platform test_all
+	platform_fuzzer_test "${OUT}"/preg_parser_fuzzer
+}
diff --git a/chromeos-base/authpolicy/authpolicy-9999.ebuild b/chromeos-base/authpolicy/authpolicy-9999.ebuild
index 025d581..577832e 100644
--- a/chromeos-base/authpolicy/authpolicy-9999.ebuild
+++ b/chromeos-base/authpolicy/authpolicy-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-workon platform user
 
 DESCRIPTION="Provides authentication to LDAP and fetching device/user policies"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/authpolicy/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/authpolicy/"
 
 LICENSE="BSD-Google"
 SLOT="0/0"
@@ -36,7 +36,7 @@
 RDEPEND="${COMMMON_DEPEND}"
 DEPEND="
 	${COMMMON_DEPEND}
-	>=chromeos-base/protofiles-0.0.55:=
+	>=chromeos-base/protofiles-0.0.67:=
 	chromeos-base/session_manager-client:=
 	chromeos-base/system_api:=[fuzzer?]
 "
@@ -55,7 +55,7 @@
 	platform_install
 
 	# Create daemon store folder prototype, see
-	# https://chromium.googlesource.com/chromiumos/docs/+/master/sandboxing.md#securely-mounting-cryptohome-daemon-store-folders
+	# https://chromium.googlesource.com/chromiumos/docs/+/HEAD/sandboxing.md#securely-mounting-cryptohome-daemon-store-folders
 	local daemon_store="/etc/daemon-store/authpolicyd"
 	dodir "${daemon_store}"
 	fperms 0700 "${daemon_store}"
diff --git a/chromeos-base/authpolicy/files/revision_bump b/chromeos-base/authpolicy/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/authpolicy/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/autotest-all/autotest-all-0.0.1-r56.ebuild b/chromeos-base/autotest-all/autotest-all-0.0.1-r57.ebuild
similarity index 100%
rename from chromeos-base/autotest-all/autotest-all-0.0.1-r56.ebuild
rename to chromeos-base/autotest-all/autotest-all-0.0.1-r57.ebuild
diff --git a/chromeos-base/autotest-all/autotest-all-0.0.1.ebuild b/chromeos-base/autotest-all/autotest-all-0.0.1.ebuild
index 7503122..c1d48e8 100644
--- a/chromeos-base/autotest-all/autotest-all-0.0.1.ebuild
+++ b/chromeos-base/autotest-all/autotest-all-0.0.1.ebuild
@@ -21,7 +21,10 @@
 	chromeos-base/autotest-tests
 	chromeos-base/autotest-tests-security
 	chromeos-base/autotest-tests-toolchain
-	bluetooth? ( chromeos-base/autotest-server-tests-bluetooth )
+	bluetooth? (
+		chromeos-base/autotest-server-tests-bluetooth
+		chromeos-base/autotest-tests-bluetooth
+	)
 	cellular? ( chromeos-base/autotest-tests-cellular )
 	cheets? ( chromeos-base/autotest-tests-arc-public )
 	!chromeless_tty? (
@@ -59,7 +62,7 @@
 
 src_install() {
 	# So that this package properly owns the file
-	insinto ${AUTOTEST_BASE}/test_suites
+	insinto "${AUTOTEST_BASE}"/test_suites
 	doins "${SUITE_DEPENDENCIES_FILE}"
 	doins "${SUITE_TO_CONTROL_MAP}"
 }
diff --git a/chromeos-base/autotest-capability-default/OWNERS b/chromeos-base/autotest-capability-default/OWNERS
new file mode 100644
index 0000000..f93274a
--- /dev/null
+++ b/chromeos-base/autotest-capability-default/OWNERS
@@ -0,0 +1,2 @@
+include chromiumos/platform2:/avtest_label_detect/OWNERS
+include chromiumos/platform2:/camera/OWNERS.config
diff --git a/chromeos-base/autotest-capability-default/README.md b/chromeos-base/autotest-capability-default/README.md
index 3ba8b21..8ada53a 100644
--- a/chromeos-base/autotest-capability-default/README.md
+++ b/chromeos-base/autotest-capability-default/README.md
@@ -11,14 +11,14 @@
 Autotest capability works with autotest. While autotest runs, the component
 on DUT should be like the following.
 
-- /etc/autotest-capabilities/
-  Installed by this package "autotest-capability". The configuration files which
+- `/usr/local/etc/autotest-capabilities/`
+  Installed by this package `autotest-capability`. The configuration files which
   defines the capabilities on the device.
 
-- /usr/local/autotest/cros/video/detectors
-  - DeviceCapability.py
+- `/usr/local/autotest/cros/video/detectors/`
+  - `device_capability.py`
     Utility to parse the configuration and get the capabilities on the DUT.
-  - detectors/
+  - `detectors/`
     scripts to detect the hardware configuration on DUT.
 
 This document describes how the components work.
@@ -26,33 +26,32 @@
 ## Gentoo Package: autotest-capability
 
 This package will install the configuration files into
-"/etc/autotest-capability/". Take board "jecht" as an example, there could be
+`/usr/local/etc/autotest-capability/`. Take board `jecht` as an example, there could be
 the following files in the directory:
 
+*   [`managed-capabilities.yaml`](https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/chromeos-base/autotest-capability-default/files/managed-capabilities.yaml)
+*   [`15-chipset-bdw-capabilities.yaml`](https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/HEAD/chipset-bdw/chromeos-base/autotest-capability-chipset-bdw/files/15-chipset-bdw-capabilities.yaml)
+*   [`18-baseboard-jecht-capabilities.yaml`](https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/HEAD/baseboard-jecht/chromeos-base/autotest-capability-baseboard-jecht/files/18-baseboard-jecht-capabilities.yaml)
+*   [`20-guado-capabilities.yaml`](https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/HEAD/overlay-guado/chromeos-base/autotest-capability-guado/files/20-guado-capabilities.yaml)
 
-*   managed-capabilities.yaml
-*   15-chipset-bdw-capabilities.yaml
-*   18-baseboard-jecht-capabilities.yaml
-*   20-guado-capabilities.yaml
-
-managed-capabilities.yaml lists all possible capabilities managed
+`managed-capabilities.yaml` lists all possible capabilities managed
 by the package. If an unexpected capability is found while discovering
 board-specific capability definition files,
-video\_VideoCapability (explained later) will fail.
+[`device_capability.DeviceCapability()`](#devicecapability) will fail.
 
 The remaining files contain capability configurations for the particular
 board hierarchy and will be loaded in the order of their priorities (The first
 number of the filename). Each of the file is installed by different overlays:
 
-*   15-chipset-bdw-capabilities.yaml: installed by "chipset-bdw" overlay
-*   18-baseboard-jecht-capabilities.yaml: installed by "baseboard-jecht" overlay
-*   20-guado-capabilities.yaml: installed by "overlay-guado" overlay
+*   `15-chipset-bdw-capabilities.yaml`: installed by `chipset-bdw` overlay
+*   `18-baseboard-jecht-capabilities.yaml`: installed by `baseboard-jecht` overlay
+*   `20-guado-capabilities.yaml`: installed by `overlay-guado` overlay
 
 
 ## Capabilities Configuration
 
 We list all the the managed capabilities line by line in
-"managed-capabilities.yaml". For example,
+`managed-capabilities.yaml`. For example,
 
 
 ```
@@ -74,7 +73,7 @@
 
 In the configuration of each level, it defines the most general capabilities.
 For example, there could be the following capabilities defined
-in 15-chipset-bsw-capabilities.yaml,
+in `15-chipset-bsw-capabilities.yaml`,
 
 
 ```
@@ -87,10 +86,10 @@
 ```
 
 
-It defines common capabilities for all chipset-bsw platforms.
+It defines common capabilities for all `chipset-bsw` platforms.
 We may override those settings in baseboard and board specific settings,
-for example, removing camera capabilities and adding "hw\_dec\_h264\_2160\_30" in
-"18-baseboard-jecht-capabilities.yaml".
+for example, removing camera capabilities and adding `hw_dec_h264_2160_30` in
+`18-baseboard-jecht-capabilities.yaml`.
 
 
 ```
@@ -115,9 +114,9 @@
 
 In some cases, we may like to disable a capability temporarily,
 while fixing a known issue, to prevent lab tests from failing.
-Depending on how we disable the feature, the "avtest\_label\_detect" may or may
-not detect the capability. To ignore the result of avtest\_label\_detect for it,
-"disable _capability_" can be added in the configuration yaml, e.g.,
+Depending on how we disable the feature, the `avtest_label_detect` may or may
+not detect the capability. To ignore the result of `avtest_label_detect` for it,
+`disable `*`capability`* can be added in the configuration yaml, e.g.,
 
 
 ```
@@ -126,7 +125,7 @@
 
 
 If a capability will be disabled forever, it should either be removed from
-the applicable configuration file, or overriden using the "no _capability_"
+the applicable configuration file, or overridden using the `no `*`capability`*
 syntax instead.
 
 
@@ -144,7 +143,7 @@
 
 We use detectors to detect the hardware type or the existence of the hardware.
 Those detectors are installed by autotest package on
-the DUT directory: /usr/local/autotest/cros/video/detectors.
+the DUT directory: `/usr/local/autotest/cros/video/detectors.`
 
 
 #### Detector: CPU Type
@@ -163,17 +162,17 @@
     - no hw_enc_h264_1080_30
 ```
 
-'detector' is the name of the running detector. In this case, "intel\_cpu.py"
+`detector` is the name of the running detector. In this case, `intel_cpu.py`
 in the detector directory will be executed.
-'match' is a list of all acceptable values, if the results of detector is one
-of the values, then all capabilities in 'capability' will be applied.
+`match` is a list of all acceptable values, if the results of detector is one
+of the values, then all capabilities in `capability` will be applied.
 
-In this example, if intel\_cpu.py returns 'intel\_celeron\_2955U',
+In this example, if `intel_cpu.py` returns `intel_celeron_2955U`,
 we disable HW h264 encoding.
 
 Detectors are python scripts which return a string.
-It must have the function detect().
-For example, the following cpu detectors return "i5" or "m3" to indicate
+It must have the function `detect()`.
+For example, the following cpu detectors return `i5` or `m3` to indicate
 the CPU on the DUT.
 
 
@@ -196,35 +195,33 @@
 labels with capability checks. All available tests would be executed
 on all boards. Each test would first check if the required capabilities for it
 are present. If a capability is found, the actual test is performed; if not,
-the test returns TEST\_NA as a test result.
+the test returns `TEST_NA` as a test result.
 
-This is realized by calling DeviceCapability().check\_capability().
+This is realized by calling [`DeviceCapability().check_capability()`](https://chromium.googlesource.com/chromiumos/third\_party/autotest/+/HEAD/client/cros/video/device\_capability.py).
 
-[device\_capability.py](https://chromium.googlesource.com/chromiumos/third\_party/autotest/+/master/client/cros/video/device\_capability.py)
+### DeviceCapability
 
-### DeviceCapability: decide if a test should run on DUT
-
-DeviceCapability is a class to check, based on static capability,
+`DeviceCapability` is a class to check, based on static capability,
 if a required capability is available on DUT. It constructs all the capabilities
 from yaml files installed in the specified directory
-(default path is /etc/autotest-capability).
+(default path is `/usr/local/etc/autotest-capability`).
 A running detector is specified by a configuration file.
 
-A user of DeviceCapability mainly call the following two functions.
+A user of `DeviceCapability` mainly calls the following two functions.
 
 __get_capability(cap)__
 
-Query the status of a capability, |cap|. |cap| must be one of capabilities in
-managed-capabilities.yaml. The return value is 'yes', 'disable' and 'no.'
+Query the status of a capability, `|cap|`. `|cap|` must be one of capabilities in
+`managed-capabilities.yaml`. The return value is either `yes`, `disable` or `no`.
 
-Obviously 'yes' means available, 'no' means unavailable.
-'disable' may be detectable and supported by hardware but we disable it due to
+`yes` means available, `no` means unavailable.
+`disable` may be detectable and supported by hardware but we disable it due to
 hardware/software issues.
 
 __ensure\_capability(cap)__
 
-This is a similar to get\_capability. The difference is this throws
-test.TestNAError unless the status of |cap| is 'yes'.
+This is a similar to `get_capability`. The difference is this throws
+`test.TestNAError` unless the status of `|cap|` is `yes`.
 
 
 ### How to modify static capability
@@ -239,9 +236,9 @@
 test will fail if it runs on IvyBridge device.
 Following this observation, we should maximize the available capability rather
 than minimize them when we set up the configuration.
-Concretely, when one writes 'no _capability_', we should minimize the targeted
+Concretely, when one writes `no `*`capability`*, we should minimize the targeted
 devices.
-For example, in '20-peppy-capabilities.yaml', we disable HW h264 encoding
+For example, in `20-peppy-capabilities.yaml`, we disable HW h264 encoding
 only if the CPU type is intel celeron 2955U. In other words, this describes
 HW h264 encoding is available on all the peppy whose CPU type isn't intel
 celeron 2955U.
@@ -255,12 +252,12 @@
    - no hw_enc_h264_1080_30
 ```
 
-Conversely, when one writes '_capability_', we should maximize the targeted
+Conversely, when one writes *`capability`*, we should maximize the targeted
 devices.
 
 __add an existing to chipset/baseboard/board__
 
-Example of adding a new chipset overlay,  "chipset-mhl" (standing for
+Example of adding a fictitional new chipset overlay, `chipset-mhl` (standing for
 Meihua Lake).
 
 Please create the following files.
@@ -273,23 +270,23 @@
 ```
 
 
-The capabilities applicable to all boards for chipset-mhl should be listed
+The capabilities applicable to all boards for `chipset-mhl` should be listed
 in the yaml file.
 
-The first two digits of yaml file, here 15, will be 18 and 20 for baseboard and
+The first two digits of yaml file, here `15`, will be `18` and `20` for baseboard and
 board, respectively.
 
-The PV of ebuild in virtual, here 1.5, will be 1.8 and 2.0 for baseboard and
+The PV of ebuild in virtual, here `1.5`, will be `1.8` and `2.0` for baseboard and
 board, respectively.
 
 __add a new capability__
 
 First of all, you need to add the new capability to
-//third\_party/chromiumos-overlay/chromeos-base/autotest-capability-default/files/managed-capabilities.yaml.
-Set up the capability in applicable //overlays following two above ways.
+[`//third_party/chromiumos-overlay/chromeos-base/autotest-capability-default/files/managed-capabilities.yaml`](https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/chromeos-base/autotest-capability-default/files/managed-capabilities.yaml).
+Set up the capability in applicable [`//overlays`](https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/HEAD/) following two above ways.
 
 __add a new detector__
 
 If some capabilities depend on the hardware configuration, it is necessary
 to create a new detector if it is not available yet. All the detectors are put
-in //third\_party/autotest/files/client/cros/video/detectors.
+in [`//third_party/autotest/files/client/cros/video/detectors`](https://chromium.googlesource.com/chromiumos/third_party/autotest/+/HEAD/client/cros/video/detectors/).
diff --git a/chromeos-base/autotest-capability-default/autotest-capability-default-0.0.5-r4.ebuild b/chromeos-base/autotest-capability-default/autotest-capability-default-0.0.5-r5.ebuild
similarity index 100%
rename from chromeos-base/autotest-capability-default/autotest-capability-default-0.0.5-r4.ebuild
rename to chromeos-base/autotest-capability-default/autotest-capability-default-0.0.5-r5.ebuild
diff --git a/chromeos-base/autotest-capability-default/files/managed-capabilities.yaml b/chromeos-base/autotest-capability-default/files/managed-capabilities.yaml
index 2fdacbc..d95aea3 100644
--- a/chromeos-base/autotest-capability-default/files/managed-capabilities.yaml
+++ b/chromeos-base/autotest-capability-default/files/managed-capabilities.yaml
@@ -87,8 +87,11 @@
 ## HW encoding for 1080p@30fps h264 formatted videos. Same for vp8 and vp9.
 ## We mark a device with hw_enc_h264_2160_30 capability if it supports
 ## HW h264 encoding for 2160p but may not guarantee 30fps. Same for vp8 and vp9.
+## We mark a device with hw_enc_h264_vbr if it supports H264 variable bitrate
+## (VBR) encoding. Same for vp8 and vp9.
 - hw_enc_h264_1080_30
 - hw_enc_h264_2160_30
+- hw_enc_h264_vbr
 ## Add hw_enc_h264_odd_dimension when video.EncodeAccel has a test
 ## exercising odd-dimension encoding.
 
@@ -96,11 +99,13 @@
 - hw_enc_vp8_1080_30
 - hw_enc_vp8_2160_30
 - hw_enc_vp8_odd_dimension
+- hw_enc_vp8_vbr
 
 ## VP9
 - hw_enc_vp9_1080_30
 - hw_enc_vp9_2160_30
 - hw_enc_vp9_odd_dimension
+- hw_enc_vp9_vbr
 
 ## JPEG
 ## hw_enc_jpeg is marked if a device supports JPEG HW encoding.
diff --git a/chromeos-base/autotest-chrome/autotest-chrome-0.0.1-r7943.ebuild b/chromeos-base/autotest-chrome/autotest-chrome-0.0.1-r7943.ebuild
deleted file mode 100644
index 2bdf69b..0000000
--- a/chromeos-base/autotest-chrome/autotest-chrome-0.0.1-r7943.ebuild
+++ /dev/null
@@ -1,233 +0,0 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="b8e7ce844cfee2f0b2480ce5d71b2b34ba78006d"
-CROS_WORKON_TREE="313d4832c788a22d8b6936e60fcd4b2eb55f21e7"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-
-inherit cros-workon autotest
-
-DESCRIPTION="Autotest tests that require chrome_binary_test, or telemetry deps"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Enable autotest by default.
-IUSE="
-	${IUSE}
-	+autotest
-	+cellular
-	drm_atomic
-	+shill
-	+tpm
-	tpm2
-	vaapi
-"
-
-RDEPEND="
-	!chromeos-base/autotest-telemetry
-	!<chromeos-base/autotest-tests-0.0.4
-	!<chromeos-base/autotest-tests-cellular-0.0.1-r3203
-	chromeos-base/autotest-deps-graphics
-	chromeos-base/autotest-deps-policy
-	chromeos-base/autotest-deps-webgl-mpd
-	chromeos-base/chromeos-chrome
-	chromeos-base/policy-testserver
-	dev-python/mkvparse
-	shill? ( chromeos-base/shill-test-scripts )
-	chromeos-base/telemetry
-	sys-apps/ethtool
-	vaapi? ( x11-libs/libva )
-	tests_graphics_WebGLAquarium? ( app-benchmarks/microbenchmarks dev-util/memory-eater-locked )
-	virtual/autotest-private-libs
-"
-
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS=(
-	# Tests that depend on telemetry.
-	+tests_accessibility_Check
-	+tests_accessibility_ChromeVoxSound
-	+tests_audio_ActiveStreamStress
-	+tests_audio_AudioCorruption
-	+tests_audio_CrasCheck
-	+tests_audio_PlaybackPower
-	+tests_audio_SeekAudioFeedback
-	+tests_autoupdate_EOL
-	+tests_autoupdate_LoginStartUpdateLogout
-	+tests_autoupdate_StartOOBEUpdate
-	+tests_autoupdate_UpdateFromUI
-	+tests_autoupdate_UserData
-	+tests_bluetooth_AdapterReboot
-	+tests_bluetooth_AdapterHealth
-	+tests_bluetooth_IDCheck
-	+tests_bluetooth_RegressionClient
-	+tests_bluetooth_TurnOnOffUI
-	+tests_desktopui_AudioFeedback
-	+tests_desktopui_CheckRlzPingSent
-	+tests_desktopui_ChromeCheck
-	tests_desktopui_ConnectivityDiagnostics
-	+tests_desktopui_MediaAudioFeedback
-	+tests_desktopui_RootfsLacros
-	+tests_desktopui_ScreenLocker
-	+tests_desktopui_SimpleLogin
-	+tests_desktopui_UrlFetchWithChromeDriver
-	+tests_display_ClientChameleonConnection
-	+tests_display_DisplayContainEdid
-	+tests_enterprise_FakeEnrollment
-	+tests_enterprise_KioskEnrollment
-	+tests_enterprise_OnlineDemoModeEnrollment
-	+tests_enterprise_PowerManagement
-	+tests_enterprise_RemoraRequisition
-	+tests_graphics_Chrome
-	+tests_graphics_Stress
-	+tests_graphics_VideoRenderingPower
-	+tests_graphics_WebGLAquarium
-	+tests_graphics_WebGLManyPlanetsDeep
-	tests_logging_AsanCrash
-	+tests_logging_CrashServices
-	+tests_logging_FeedbackReport
-	+tests_login_ChromeProfileSanitary
-	+tests_login_CryptohomeIncognito
-	+tests_login_GaiaLogin
-	+tests_login_LoginPin
-	+tests_login_LoginSuccess
-	+tests_login_OobeLocalization
-	+tests_login_SavePassword
-	+tests_login_UnicornLogin
-	+tests_login_UserPolicyKeys
-	+tests_longevity_Tracker
-	+tests_network_CastTDLS
-	+tests_network_ChromeWifiConfigure
-	+tests_platform_ChromeCgroups
-	+tests_platform_InitLoginPerf
-	+tests_platform_InputBrightness
-	+tests_platform_InputBrowserNav
-	+tests_platform_InputNewTab
-	+tests_platform_InputScreenshot
-	+tests_platform_InputVolume
-	+tests_platform_LogoutPerf
-	+tests_platform_LowMemoryTest
-	+tests_platform_MouseScrollTest
-	+tests_platform_SessionManagerBlockDevmodeSetting
-	+tests_platform_ScrollTest
-	+tests_policy_AutotestCheck
-	+tests_policy_WilcoUSBPowershare
-	+tests_power_AudioDetector
-	+tests_power_BatteryDrain
-	+tests_power_Consumption
-	+tests_power_Display
-	+tests_power_FlashVideoSuspend
-	+tests_power_Idle
-	+tests_power_IdleSuspend
-	+tests_power_LoadTest
-	+tests_power_LowMemorySuspend
-	+tests_power_MeetClient
-	+tests_power_Speedometer2
-	+tests_power_ThermalLoad
-	+tests_power_UiResume
-	+tests_power_VideoCall
-	+tests_power_VideoDetector
-	+tests_power_VideoEncode
-	+tests_power_VideoPlayback
-	+tests_power_VideoSuspend
-	+tests_power_WebGL
-	+tests_power_WifiIdle
-	+tests_security_BundledExtensions
-	+tests_stub_IdleSuspend
-	+tests_telemetry_AFDOGenerateClient
-	+tests_telemetry_Check
-	+tests_telemetry_UnitTests
-	+tests_telemetry_UnitTestsServer
-	+tests_touch_GestureNav
-	+tests_touch_MouseScroll
-	+tests_touch_ScrollDirection
-	+tests_touch_TapSettings
-	+tests_touch_TabSwitch
-	+tests_touch_TouchscreenScroll
-	+tests_touch_TouchscreenTaps
-	+tests_touch_TouchscreenZoom
-	+tests_touch_StylusTaps
-	+tests_video_AVAnalysis
-)
-
-IUSE_TESTS_CELLULAR="
-	cellular? (
-		+tests_cellular_ModemControl
-		+tests_cellular_SuspendResume
-		+tests_network_ChromeCellularEndToEnd
-		+tests_network_ChromeCellularNetworkPresent
-		+tests_network_ChromeCellularNetworkProperties
-		+tests_network_ChromeCellularSmokeTest
-	)
-"
-
-IUSE_TESTS_SHILL="
-	shill? (
-		+tests_network_ChromeWifiEndToEnd
-		+tests_network_FirewallHolePunch
-		+tests_network_RackWiFiConnect
-		+tests_network_RoamSuspendEndToEnd
-		+tests_network_RoamWifiEndToEnd
-		+tests_policy_GlobalNetworkSettings
-		+tests_policy_WiFiAutoconnect
-		+tests_policy_WiFiPrecedence
-		+tests_policy_WiFiTypes
-	)
-"
-
-# This is here instead of in autotest-tests-tpm because it would be far more
-# work and duplication to add telemetry dependencies there.
-IUSE_TESTS_TPM="
-	tpm? ( +tests_platform_Pkcs11InitOnLogin )
-	tpm2? ( +tests_platform_Pkcs11InitOnLogin )
-"
-
-IUSE_TESTS_ARC="
-	+tests_graphics_Idle
-"
-
-IUSE_TESTS_ATOMIC="
-	drm_atomic? ( +tests_graphics_HwOverlays )
-"
-
-IUSE_TESTS_CHROMIUM="
-	+tests_chromium
-"
-
-IUSE_TESTS="
-	${IUSE_TESTS[*]}
-	${IUSE_TESTS_CELLULAR}
-	${IUSE_TESTS_SHILL}
-	${IUSE_TESTS_TPM}
-	${IUSE_TESTS_ARC}
-	${IUSE_TESTS_ATOMIC}
-	${IUSE_TESTS_CHROMIUM}
-"
-
-IUSE="
-	${IUSE}
-	${IUSE_TESTS}
-"
-
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-AUTOTEST_DEPS_LIST=""
-AUTOTEST_CONFIG_LIST=""
-AUTOTEST_PROFILERS_LIST=""
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-src_prepare() {
-	# Telemetry tests require the path to telemetry source to exist in order to
-	# build. Copy the telemetry source to a temporary directory that is writable,
-	# so that file removals in Telemetry source can be performed properly.
-	export TMP_DIR="$(mktemp -d)"
-	rsync -a --exclude=third_party/trace-viewer/test_data/ \
-		"${SYSROOT}"/usr/local/telemetry/src/ "${TMP_DIR}"
-	export PYTHONPATH="${TMP_DIR}/third_party/catapult/telemetry"
-	autotest_src_prepare
-}
diff --git a/chromeos-base/autotest-chrome/autotest-chrome-0.0.1-r7995.ebuild b/chromeos-base/autotest-chrome/autotest-chrome-0.0.1-r7995.ebuild
new file mode 100644
index 0000000..9bcf668
--- /dev/null
+++ b/chromeos-base/autotest-chrome/autotest-chrome-0.0.1-r7995.ebuild
@@ -0,0 +1,191 @@
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="d4dbce90833328db60ba9ad585f438cea19cad19"
+CROS_WORKON_TREE="6ec33cf8d1da6f4a2ecefe05306b4b5b0192dcc5"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+
+inherit cros-workon autotest
+
+DESCRIPTION="Autotest tests that require chrome_binary_test, or telemetry deps"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Enable autotest by default.
+IUSE="
+	${IUSE}
+	+autotest
+	+cellular
+	drm_atomic
+	+shill
+	vaapi
+"
+
+RDEPEND="
+	!chromeos-base/autotest-telemetry
+	!<chromeos-base/autotest-tests-0.0.4
+	!<chromeos-base/autotest-tests-cellular-0.0.1-r3203
+	chromeos-base/autotest-deps-graphics
+	chromeos-base/autotest-deps-policy
+	chromeos-base/autotest-deps-webgl-mpd
+	chromeos-base/chromeos-chrome
+	chromeos-base/policy-testserver
+	dev-python/mkvparse
+	shill? ( chromeos-base/shill-test-scripts )
+	chromeos-base/telemetry
+	sys-apps/ethtool
+	vaapi? ( x11-libs/libva )
+	tests_graphics_WebGLAquarium? ( app-benchmarks/microbenchmarks dev-util/memory-eater-locked )
+	virtual/autotest-private-libs
+"
+
+DEPEND="${RDEPEND}"
+
+IUSE_TESTS=(
+	# Tests that depend on telemetry.
+	+tests_accessibility_Check
+	+tests_accessibility_ChromeVoxSound
+	+tests_audio_CrasCheck
+	+tests_autoupdate_EOL
+	+tests_autoupdate_LoginStartUpdateLogout
+	+tests_autoupdate_StartOOBEUpdate
+	+tests_autoupdate_UpdateFromUI
+	+tests_autoupdate_UserData
+	+tests_bluetooth_AdapterReboot
+	+tests_bluetooth_AdapterHealth
+	+tests_bluetooth_IDCheck
+	+tests_bluetooth_RegressionClient
+	+tests_bluetooth_TurnOnOffUI
+	+tests_desktopui_AudioFeedback
+	+tests_desktopui_CheckRlzPingSent
+	+tests_desktopui_ChromeCheck
+	tests_desktopui_ConnectivityDiagnostics
+	+tests_desktopui_MediaAudioFeedback
+	+tests_desktopui_RootfsLacros
+	+tests_desktopui_ScreenLocker
+	+tests_desktopui_SimpleLogin
+	+tests_display_DisplayContainEdid
+	+tests_graphics_Chrome
+	+tests_graphics_Stress
+	+tests_graphics_VideoRenderingPower
+	+tests_graphics_WebGLAquarium
+	+tests_graphics_WebGLManyPlanetsDeep
+	+tests_logging_CrashServices
+	+tests_logging_FeedbackReport
+	+tests_login_CryptohomeIncognito
+	+tests_login_GaiaLogin
+	+tests_login_LoginPin
+	+tests_login_LoginSuccess
+	+tests_login_OobeLocalization
+	+tests_login_SavePassword
+	+tests_network_CastTDLS
+	+tests_network_ChromeWifiConfigure
+	+tests_platform_InitLoginPerf
+	+tests_platform_InputBrightness
+	+tests_platform_InputBrowserNav
+	+tests_platform_InputNewTab
+	+tests_platform_InputScreenshot
+	+tests_platform_InputVolume
+	+tests_platform_LogoutPerf
+	+tests_policy_WilcoUSBPowershare
+	+tests_power_AudioDetector
+	+tests_power_BatteryDrain
+	+tests_power_CellularIdle
+	+tests_power_Display
+	+tests_power_Idle
+	+tests_power_IdleSuspend
+	+tests_power_LoadTest
+	+tests_power_LowMemorySuspend
+	+tests_power_Speedometer2
+	+tests_power_UiResume
+	+tests_power_VideoCall
+	+tests_power_VideoDetector
+	+tests_power_VideoEncode
+	+tests_power_VideoPlayback
+	+tests_power_VideoSuspend
+	+tests_power_WebGL
+	+tests_power_WifiIdle
+	+tests_security_BundledExtensions
+	+tests_stub_IdleSuspend
+	+tests_telemetry_AFDOGenerateClient
+	+tests_telemetry_Check
+	+tests_touch_GestureNav
+	+tests_touch_MouseScroll
+	+tests_touch_ScrollDirection
+	+tests_touch_TapSettings
+	+tests_touch_TabSwitch
+	+tests_touch_TouchscreenScroll
+	+tests_touch_TouchscreenTaps
+	+tests_touch_TouchscreenZoom
+	+tests_touch_StylusTaps
+	+tests_video_AVAnalysis
+)
+
+IUSE_TESTS_CELLULAR="
+	cellular? (
+		+tests_cellular_ModemControl
+		+tests_cellular_SuspendResume
+		+tests_network_ChromeCellularEndToEnd
+		+tests_network_ChromeCellularNetworkPresent
+		+tests_network_ChromeCellularNetworkProperties
+		+tests_network_ChromeCellularSmokeTest
+	)
+"
+
+IUSE_TESTS_SHILL="
+	shill? (
+		+tests_network_ChromeWifiEndToEnd
+		+tests_network_RoamSuspendEndToEnd
+		+tests_network_RoamWifiEndToEnd
+	)
+"
+
+IUSE_TESTS_ARC="
+	+tests_graphics_Idle
+"
+
+IUSE_TESTS_ATOMIC="
+	drm_atomic? ( +tests_graphics_HwOverlays )
+"
+
+IUSE_TESTS_CHROMIUM="
+	+tests_chromium
+	+tests_chromium_Telemetry
+"
+
+IUSE_TESTS="
+	${IUSE_TESTS[*]}
+	${IUSE_TESTS_CELLULAR}
+	${IUSE_TESTS_SHILL}
+	${IUSE_TESTS_ARC}
+	${IUSE_TESTS_ATOMIC}
+	${IUSE_TESTS_CHROMIUM}
+"
+
+IUSE="
+	${IUSE}
+	${IUSE_TESTS}
+"
+
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+AUTOTEST_DEPS_LIST=""
+AUTOTEST_CONFIG_LIST=""
+AUTOTEST_PROFILERS_LIST=""
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+src_prepare() {
+	# Telemetry tests require the path to telemetry source to exist in order to
+	# build. Copy the telemetry source to a temporary directory that is writable,
+	# so that file removals in Telemetry source can be performed properly.
+	export TMP_DIR="$(mktemp -d)"
+	rsync -a --exclude=third_party/trace-viewer/test_data/ \
+		"${SYSROOT}"/usr/local/telemetry/src/ "${TMP_DIR}"
+	export PYTHONPATH="${TMP_DIR}/third_party/catapult/telemetry"
+	autotest_src_prepare
+}
diff --git a/chromeos-base/autotest-chrome/autotest-chrome-9999.ebuild b/chromeos-base/autotest-chrome/autotest-chrome-9999.ebuild
index 7f75511..18c9c58 100644
--- a/chromeos-base/autotest-chrome/autotest-chrome-9999.ebuild
+++ b/chromeos-base/autotest-chrome/autotest-chrome-9999.ebuild
@@ -20,8 +20,6 @@
 	+cellular
 	drm_atomic
 	+shill
-	+tpm
-	tpm2
 	vaapi
 "
 
@@ -49,11 +47,7 @@
 	# Tests that depend on telemetry.
 	+tests_accessibility_Check
 	+tests_accessibility_ChromeVoxSound
-	+tests_audio_ActiveStreamStress
-	+tests_audio_AudioCorruption
 	+tests_audio_CrasCheck
-	+tests_audio_PlaybackPower
-	+tests_audio_SeekAudioFeedback
 	+tests_autoupdate_EOL
 	+tests_autoupdate_LoginStartUpdateLogout
 	+tests_autoupdate_StartOOBEUpdate
@@ -72,35 +66,22 @@
 	+tests_desktopui_RootfsLacros
 	+tests_desktopui_ScreenLocker
 	+tests_desktopui_SimpleLogin
-	+tests_desktopui_UrlFetchWithChromeDriver
-	+tests_display_ClientChameleonConnection
 	+tests_display_DisplayContainEdid
-	+tests_enterprise_FakeEnrollment
-	+tests_enterprise_KioskEnrollment
-	+tests_enterprise_OnlineDemoModeEnrollment
-	+tests_enterprise_PowerManagement
-	+tests_enterprise_RemoraRequisition
 	+tests_graphics_Chrome
 	+tests_graphics_Stress
 	+tests_graphics_VideoRenderingPower
 	+tests_graphics_WebGLAquarium
 	+tests_graphics_WebGLManyPlanetsDeep
-	tests_logging_AsanCrash
 	+tests_logging_CrashServices
 	+tests_logging_FeedbackReport
-	+tests_login_ChromeProfileSanitary
 	+tests_login_CryptohomeIncognito
 	+tests_login_GaiaLogin
 	+tests_login_LoginPin
 	+tests_login_LoginSuccess
 	+tests_login_OobeLocalization
 	+tests_login_SavePassword
-	+tests_login_UnicornLogin
-	+tests_login_UserPolicyKeys
-	+tests_longevity_Tracker
 	+tests_network_CastTDLS
 	+tests_network_ChromeWifiConfigure
-	+tests_platform_ChromeCgroups
 	+tests_platform_InitLoginPerf
 	+tests_platform_InputBrightness
 	+tests_platform_InputBrowserNav
@@ -108,24 +89,16 @@
 	+tests_platform_InputScreenshot
 	+tests_platform_InputVolume
 	+tests_platform_LogoutPerf
-	+tests_platform_LowMemoryTest
-	+tests_platform_MouseScrollTest
-	+tests_platform_SessionManagerBlockDevmodeSetting
-	+tests_platform_ScrollTest
-	+tests_policy_AutotestCheck
 	+tests_policy_WilcoUSBPowershare
 	+tests_power_AudioDetector
 	+tests_power_BatteryDrain
-	+tests_power_Consumption
+	+tests_power_CellularIdle
 	+tests_power_Display
-	+tests_power_FlashVideoSuspend
 	+tests_power_Idle
 	+tests_power_IdleSuspend
 	+tests_power_LoadTest
 	+tests_power_LowMemorySuspend
-	+tests_power_MeetClient
 	+tests_power_Speedometer2
-	+tests_power_ThermalLoad
 	+tests_power_UiResume
 	+tests_power_VideoCall
 	+tests_power_VideoDetector
@@ -138,8 +111,6 @@
 	+tests_stub_IdleSuspend
 	+tests_telemetry_AFDOGenerateClient
 	+tests_telemetry_Check
-	+tests_telemetry_UnitTests
-	+tests_telemetry_UnitTestsServer
 	+tests_touch_GestureNav
 	+tests_touch_MouseScroll
 	+tests_touch_ScrollDirection
@@ -166,24 +137,11 @@
 IUSE_TESTS_SHILL="
 	shill? (
 		+tests_network_ChromeWifiEndToEnd
-		+tests_network_FirewallHolePunch
-		+tests_network_RackWiFiConnect
 		+tests_network_RoamSuspendEndToEnd
 		+tests_network_RoamWifiEndToEnd
-		+tests_policy_GlobalNetworkSettings
-		+tests_policy_WiFiAutoconnect
-		+tests_policy_WiFiPrecedence
-		+tests_policy_WiFiTypes
 	)
 "
 
-# This is here instead of in autotest-tests-tpm because it would be far more
-# work and duplication to add telemetry dependencies there.
-IUSE_TESTS_TPM="
-	tpm? ( +tests_platform_Pkcs11InitOnLogin )
-	tpm2? ( +tests_platform_Pkcs11InitOnLogin )
-"
-
 IUSE_TESTS_ARC="
 	+tests_graphics_Idle
 "
@@ -194,13 +152,13 @@
 
 IUSE_TESTS_CHROMIUM="
 	+tests_chromium
+	+tests_chromium_Telemetry
 "
 
 IUSE_TESTS="
 	${IUSE_TESTS[*]}
 	${IUSE_TESTS_CELLULAR}
 	${IUSE_TESTS_SHILL}
-	${IUSE_TESTS_TPM}
 	${IUSE_TESTS_ARC}
 	${IUSE_TESTS_ATOMIC}
 	${IUSE_TESTS_CHROMIUM}
diff --git a/chromeos-base/autotest-deps-camera-hal3/autotest-deps-camera-hal3-0.0.1-r7285.ebuild b/chromeos-base/autotest-deps-camera-hal3/autotest-deps-camera-hal3-0.0.1-r7285.ebuild
deleted file mode 100644
index 9fc1017..0000000
--- a/chromeos-base/autotest-deps-camera-hal3/autotest-deps-camera-hal3-0.0.1-r7285.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-CROS_WORKON_COMMIT="60ac81314efc8b9afa57bfed98402b9250a51128"
-CROS_WORKON_TREE="72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2"
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
-
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest-deponly python-any-r1
-
-DESCRIPTION="Dependencies for camera_HAL3 autotest"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-# Autotest enabled by default.
-IUSE="+autotest"
-
-AUTOTEST_DEPS_LIST="camera_hal3"
-
-RDEPEND="
-	media-libs/cros-camera-test
-"
-
-DEPEND="${RDEPEND}"
diff --git a/chromeos-base/autotest-deps-camera-hal3/autotest-deps-camera-hal3-9999.ebuild b/chromeos-base/autotest-deps-camera-hal3/autotest-deps-camera-hal3-9999.ebuild
deleted file mode 100644
index 5846d51..0000000
--- a/chromeos-base/autotest-deps-camera-hal3/autotest-deps-camera-hal3-9999.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
-
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest-deponly python-any-r1
-
-DESCRIPTION="Dependencies for camera_HAL3 autotest"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="~*"
-
-# Autotest enabled by default.
-IUSE="+autotest"
-
-AUTOTEST_DEPS_LIST="camera_hal3"
-
-RDEPEND="
-	media-libs/cros-camera-test
-"
-
-DEPEND="${RDEPEND}"
diff --git a/chromeos-base/autotest-deps-cellular/autotest-deps-cellular-0.0.1-r10073.ebuild b/chromeos-base/autotest-deps-cellular/autotest-deps-cellular-0.0.1-r10073.ebuild
deleted file mode 100644
index 59faa60..0000000
--- a/chromeos-base/autotest-deps-cellular/autotest-deps-cellular-0.0.1-r10073.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="60ac81314efc8b9afa57bfed98402b9250a51128"
-CROS_WORKON_TREE="72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest-deponly
-
-DESCRIPTION="Autotest cellular deps"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Autotest enabled by default.
-IUSE="+autotest"
-
-AUTOTEST_DEPS_LIST="fakegudev fakemodem"
-AUTOTEST_CONFIG_LIST=
-AUTOTEST_PROFILERS_LIST=
-
-# NOTE: For deps, we need to keep *.a
-AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-RDEPEND="!<chromeos-base/autotest-deps-0.0.3"
-
-# deps/fakegudev
-RDEPEND="${RDEPEND}
-	virtual/libgudev
-"
-
-# deps/fakemodem
-RDEPEND="${RDEPEND}
-	chromeos-base/autotest-fakemodem-conf
-	dev-libs/dbus-glib
-"
-DEPEND="${RDEPEND}"
diff --git a/chromeos-base/autotest-deps-cellular/autotest-deps-cellular-0.0.1-r10782.ebuild b/chromeos-base/autotest-deps-cellular/autotest-deps-cellular-0.0.1-r10782.ebuild
new file mode 100644
index 0000000..4820c33
--- /dev/null
+++ b/chromeos-base/autotest-deps-cellular/autotest-deps-cellular-0.0.1-r10782.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="97f5d3a696dbbd15847d2e23692290c9b43dcffe"
+CROS_WORKON_TREE="e2c200b37b72780b72fd07a23555aedf104222cf"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest-deponly
+
+DESCRIPTION="Autotest cellular deps"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Autotest enabled by default.
+IUSE="+autotest"
+
+AUTOTEST_DEPS_LIST="fakegudev fakemodem"
+AUTOTEST_CONFIG_LIST=
+AUTOTEST_PROFILERS_LIST=
+
+# NOTE: For deps, we need to keep *.a
+AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+RDEPEND="!<chromeos-base/autotest-deps-0.0.3"
+
+# deps/fakegudev
+RDEPEND="${RDEPEND}
+	virtual/libgudev
+"
+
+# deps/fakemodem
+RDEPEND="${RDEPEND}
+	chromeos-base/autotest-fakemodem-conf
+	dev-libs/dbus-glib
+"
+DEPEND="${RDEPEND}"
diff --git a/chromeos-base/autotest-deps-dbus/autotest-deps-dbus-0.0.1-r5957.ebuild b/chromeos-base/autotest-deps-dbus/autotest-deps-dbus-0.0.1-r5957.ebuild
deleted file mode 100644
index 5b2eec6..0000000
--- a/chromeos-base/autotest-deps-dbus/autotest-deps-dbus-0.0.1-r5957.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="60ac81314efc8b9afa57bfed98402b9250a51128"
-CROS_WORKON_TREE="72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest-deponly
-
-DESCRIPTION="Autotest D-Bus deps"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-# Autotest enabled by default.
-IUSE="+autotest"
-
-AUTOTEST_DEPS_LIST="dbus_protos"
-
-# NOTE: For deps, we need to keep *.a
-AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-DEPEND="chromeos-base/system_api
-	dev-libs/protobuf:=
-"
-
-# Calling this here, so tests using this dep don't have to call setup_dep().
-src_prepare() {
-	autotest-deponly_src_prepare
-}
diff --git a/chromeos-base/autotest-deps-dbus/autotest-deps-dbus-0.0.1-r6666.ebuild b/chromeos-base/autotest-deps-dbus/autotest-deps-dbus-0.0.1-r6666.ebuild
new file mode 100644
index 0000000..f8aae7b
--- /dev/null
+++ b/chromeos-base/autotest-deps-dbus/autotest-deps-dbus-0.0.1-r6666.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="97f5d3a696dbbd15847d2e23692290c9b43dcffe"
+CROS_WORKON_TREE="e2c200b37b72780b72fd07a23555aedf104222cf"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest-deponly
+
+DESCRIPTION="Autotest D-Bus deps"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+# Autotest enabled by default.
+IUSE="+autotest"
+
+AUTOTEST_DEPS_LIST="dbus_protos"
+
+# NOTE: For deps, we need to keep *.a
+AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+DEPEND="chromeos-base/system_api
+	dev-libs/protobuf:=
+"
+
+# Calling this here, so tests using this dep don't have to call setup_dep().
+src_prepare() {
+	autotest-deponly_src_prepare
+}
diff --git a/chromeos-base/autotest-deps-glmark2/autotest-deps-glmark2-0.0.1-r10444.ebuild b/chromeos-base/autotest-deps-glmark2/autotest-deps-glmark2-0.0.1-r10444.ebuild
deleted file mode 100644
index 70cf522..0000000
--- a/chromeos-base/autotest-deps-glmark2/autotest-deps-glmark2-0.0.1-r10444.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="60ac81314efc8b9afa57bfed98402b9250a51128"
-CROS_WORKON_TREE="72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-sanitizers cros-workon autotest-deponly
-
-DESCRIPTION="Autotest glmark2 dependency"
-HOMEPAGE="https://launchpad.net/glmark2"
-SRC_URI=""
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="*"
-
-# Autotest enabled by default.
-IUSE="-asan +autotest"
-
-AUTOTEST_DEPS_LIST="glmark2"
-
-# deps/glmark2
-RDEPEND="
-	app-benchmarks/glmark2
-"
-
-DEPEND="${RDEPEND}"
-
-src_configure() {
-	sanitizers-setup-env
-	default
-}
diff --git a/chromeos-base/autotest-deps-glmark2/autotest-deps-glmark2-0.0.1-r11153.ebuild b/chromeos-base/autotest-deps-glmark2/autotest-deps-glmark2-0.0.1-r11153.ebuild
new file mode 100644
index 0000000..fc19c74
--- /dev/null
+++ b/chromeos-base/autotest-deps-glmark2/autotest-deps-glmark2-0.0.1-r11153.ebuild
@@ -0,0 +1,35 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="97f5d3a696dbbd15847d2e23692290c9b43dcffe"
+CROS_WORKON_TREE="e2c200b37b72780b72fd07a23555aedf104222cf"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-sanitizers cros-workon autotest-deponly
+
+DESCRIPTION="Autotest glmark2 dependency"
+HOMEPAGE="https://launchpad.net/glmark2"
+SRC_URI=""
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="*"
+
+# Autotest enabled by default.
+IUSE="-asan +autotest"
+
+AUTOTEST_DEPS_LIST="glmark2"
+
+# deps/glmark2
+RDEPEND="
+	app-benchmarks/glmark2
+"
+
+DEPEND="${RDEPEND}"
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
diff --git a/chromeos-base/autotest-deps-graphics/autotest-deps-graphics-0.0.1-r10424.ebuild b/chromeos-base/autotest-deps-graphics/autotest-deps-graphics-0.0.1-r10424.ebuild
deleted file mode 100644
index 7bc391b..0000000
--- a/chromeos-base/autotest-deps-graphics/autotest-deps-graphics-0.0.1-r10424.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-CROS_WORKON_COMMIT="60ac81314efc8b9afa57bfed98402b9250a51128"
-CROS_WORKON_TREE="72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest-deponly
-
-DESCRIPTION="Dependencies for graphics autotests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Autotest enabled by default.
-IUSE="+autotest"
-
-AUTOTEST_DEPS_LIST="graphics"
-
-# NOTE: For deps, we need to keep *.a
-AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-RDEPEND="!<chromeos-base/autotest-deps-0.0.4"
-DEPEND="${RDEPEND}"
diff --git a/chromeos-base/autotest-deps-graphics/autotest-deps-graphics-0.0.1-r11133.ebuild b/chromeos-base/autotest-deps-graphics/autotest-deps-graphics-0.0.1-r11133.ebuild
new file mode 100644
index 0000000..1c08ae0
--- /dev/null
+++ b/chromeos-base/autotest-deps-graphics/autotest-deps-graphics-0.0.1-r11133.ebuild
@@ -0,0 +1,28 @@
+# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+CROS_WORKON_COMMIT="97f5d3a696dbbd15847d2e23692290c9b43dcffe"
+CROS_WORKON_TREE="e2c200b37b72780b72fd07a23555aedf104222cf"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest-deponly
+
+DESCRIPTION="Dependencies for graphics autotests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Autotest enabled by default.
+IUSE="+autotest"
+
+AUTOTEST_DEPS_LIST="graphics"
+
+# NOTE: For deps, we need to keep *.a
+AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+RDEPEND="!<chromeos-base/autotest-deps-0.0.4"
+DEPEND="${RDEPEND}"
diff --git a/chromeos-base/autotest-deps-policy/autotest-deps-policy-0.0.1-r6033.ebuild b/chromeos-base/autotest-deps-policy/autotest-deps-policy-0.0.1-r6033.ebuild
deleted file mode 100644
index f1b69dc..0000000
--- a/chromeos-base/autotest-deps-policy/autotest-deps-policy-0.0.1-r6033.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="60ac81314efc8b9afa57bfed98402b9250a51128"
-CROS_WORKON_TREE="72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest-deponly
-
-DESCRIPTION="Autotest policy deps"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Autotest enabled by default.
-IUSE="+autotest"
-
-AUTOTEST_DEPS_LIST="policy_protos"
-
-# NOTE: For deps, we need to keep *.a
-AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-DEPEND="
-	>=chromeos-base/protofiles-0.0.43:=
-	chromeos-base/system_api
-	dev-libs/protobuf:=
-"
-
-# Calling this here, so tests using this dep don't have to call setup_dep().
-src_prepare() {
-	autotest-deponly_src_prepare
-}
diff --git a/chromeos-base/autotest-deps-policy/autotest-deps-policy-0.0.1-r6742.ebuild b/chromeos-base/autotest-deps-policy/autotest-deps-policy-0.0.1-r6742.ebuild
new file mode 100644
index 0000000..919e130
--- /dev/null
+++ b/chromeos-base/autotest-deps-policy/autotest-deps-policy-0.0.1-r6742.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="97f5d3a696dbbd15847d2e23692290c9b43dcffe"
+CROS_WORKON_TREE="e2c200b37b72780b72fd07a23555aedf104222cf"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest-deponly
+
+DESCRIPTION="Autotest policy deps"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Autotest enabled by default.
+IUSE="+autotest"
+
+AUTOTEST_DEPS_LIST="policy_protos"
+
+# NOTE: For deps, we need to keep *.a
+AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+DEPEND="
+	>=chromeos-base/protofiles-0.0.43:=
+	chromeos-base/system_api
+	dev-libs/protobuf:=
+"
+
+# Calling this here, so tests using this dep don't have to call setup_dep().
+src_prepare() {
+	autotest-deponly_src_prepare
+}
diff --git a/chromeos-base/autotest-deps-touchpad/autotest-deps-touchpad-0.0.1-r11047.ebuild b/chromeos-base/autotest-deps-touchpad/autotest-deps-touchpad-0.0.1-r11047.ebuild
deleted file mode 100644
index 0501288..0000000
--- a/chromeos-base/autotest-deps-touchpad/autotest-deps-touchpad-0.0.1-r11047.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="60ac81314efc8b9afa57bfed98402b9250a51128"
-CROS_WORKON_TREE="72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2"
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
-
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest-deponly python-any-r1
-
-DESCRIPTION="Autotest touchpad deps"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Autotest enabled by default.
-IUSE="+autotest"
-
-AUTOTEST_DEPS_LIST="touchpad-tests"
-AUTOTEST_CONFIG_LIST=
-AUTOTEST_PROFILERS_LIST=
-
-# NOTE: For deps, we need to keep *.a
-AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-# deps/touchpad-tests
-RDEPEND="
-	x11-drivers/touchpad-tests
-	chromeos-base/touch_firmware_test
-	chromeos-base/mttools
-"
-
-DEPEND="${RDEPEND}"
diff --git a/chromeos-base/autotest-deps-touchpad/autotest-deps-touchpad-0.0.1-r11757.ebuild b/chromeos-base/autotest-deps-touchpad/autotest-deps-touchpad-0.0.1-r11757.ebuild
new file mode 100644
index 0000000..bd6e9ac
--- /dev/null
+++ b/chromeos-base/autotest-deps-touchpad/autotest-deps-touchpad-0.0.1-r11757.ebuild
@@ -0,0 +1,38 @@
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="97f5d3a696dbbd15847d2e23692290c9b43dcffe"
+CROS_WORKON_TREE="e2c200b37b72780b72fd07a23555aedf104222cf"
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest-deponly python-any-r1
+
+DESCRIPTION="Autotest touchpad deps"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Autotest enabled by default.
+IUSE="+autotest"
+
+AUTOTEST_DEPS_LIST="touchpad-tests"
+AUTOTEST_CONFIG_LIST=
+AUTOTEST_PROFILERS_LIST=
+
+# NOTE: For deps, we need to keep *.a
+AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+# deps/touchpad-tests
+RDEPEND="
+	x11-drivers/touchpad-tests
+	chromeos-base/touch_firmware_test
+	chromeos-base/mttools
+"
+
+DEPEND="${RDEPEND}"
diff --git a/chromeos-base/autotest-deps-touchpad/autotest-deps-touchpad-9999.ebuild b/chromeos-base/autotest-deps-touchpad/autotest-deps-touchpad-9999.ebuild
index e653c75..18938d5 100644
--- a/chromeos-base/autotest-deps-touchpad/autotest-deps-touchpad-9999.ebuild
+++ b/chromeos-base/autotest-deps-touchpad/autotest-deps-touchpad-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
 CROS_WORKON_LOCALNAME="third_party/autotest/files"
diff --git a/chromeos-base/autotest-deps-webgl-mpd/autotest-deps-webgl-mpd-0.0.1-r10596.ebuild b/chromeos-base/autotest-deps-webgl-mpd/autotest-deps-webgl-mpd-0.0.1-r10596.ebuild
deleted file mode 100644
index 4a19707..0000000
--- a/chromeos-base/autotest-deps-webgl-mpd/autotest-deps-webgl-mpd-0.0.1-r10596.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="60ac81314efc8b9afa57bfed98402b9250a51128"
-CROS_WORKON_TREE="72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest-deponly
-
-DESCRIPTION="Dependencies for WebGL many planets deep test"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-KEYWORDS="*"
-
-# Autotest enabled by default.
-IUSE="+autotest"
-
-AUTOTEST_DEPS_LIST="webgl_mpd"
-
-# NOTE: For deps, we need to keep *.a
-AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-deps-webgl-mpd/autotest-deps-webgl-mpd-0.0.1-r11305.ebuild b/chromeos-base/autotest-deps-webgl-mpd/autotest-deps-webgl-mpd-0.0.1-r11305.ebuild
new file mode 100644
index 0000000..5b2c4ab
--- /dev/null
+++ b/chromeos-base/autotest-deps-webgl-mpd/autotest-deps-webgl-mpd-0.0.1-r11305.ebuild
@@ -0,0 +1,25 @@
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="97f5d3a696dbbd15847d2e23692290c9b43dcffe"
+CROS_WORKON_TREE="e2c200b37b72780b72fd07a23555aedf104222cf"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest-deponly
+
+DESCRIPTION="Dependencies for WebGL many planets deep test"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+KEYWORDS="*"
+
+# Autotest enabled by default.
+IUSE="+autotest"
+
+AUTOTEST_DEPS_LIST="webgl_mpd"
+
+# NOTE: For deps, we need to keep *.a
+AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-deps/autotest-deps-0.0.4-r15265.ebuild b/chromeos-base/autotest-deps/autotest-deps-0.0.4-r15265.ebuild
deleted file mode 100644
index 1f49ff5..0000000
--- a/chromeos-base/autotest-deps/autotest-deps-0.0.4-r15265.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-CROS_WORKON_COMMIT="60ac81314efc8b9afa57bfed98402b9250a51128"
-CROS_WORKON_TREE="72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2"
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
-
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest-deponly python-any-r1
-
-DESCRIPTION="Autotest common deps"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Autotest enabled by default.
-IUSE="+autotest"
-
-# following deps don't compile: boottool, mysql, pgpool, pgsql, systemtap, # dejagnu, libcap, libnet
-# following deps are not deps: factory
-# following tests are going to be moved: chrome_test
-AUTOTEST_DEPS_LIST="gtest iwcap"
-AUTOTEST_CONFIG_LIST=*
-AUTOTEST_PROFILERS_LIST=*
-
-# NOTE: For deps, we need to keep *.a
-AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-# deps/gtest
-RDEPEND="
-	dev-cpp/gtest:=
-	dev-libs/libnl:0
-	>=dev-python/grpcio-1.19
-	>=dev-python/psutil-5.5.0
-	sys-devel/binutils
-"
-
-DEPEND="${RDEPEND}
-	chromeos-base/cros-config-api
-"
-
-src_prepare() {
-	autotest-deponly_src_prepare
-
-	# To avoid a file collision with autotest.ebuild, remove
-	# one particular __init__.py file from working directory.
-	# See crbug.com/324963 for context.
-	rm "${AUTOTEST_WORKDIR}/client/profilers/__init__.py"
-}
diff --git a/chromeos-base/autotest-deps/autotest-deps-0.0.4-r15975.ebuild b/chromeos-base/autotest-deps/autotest-deps-0.0.4-r15975.ebuild
new file mode 100644
index 0000000..0a6fbda
--- /dev/null
+++ b/chromeos-base/autotest-deps/autotest-deps-0.0.4-r15975.ebuild
@@ -0,0 +1,55 @@
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+CROS_WORKON_COMMIT="97f5d3a696dbbd15847d2e23692290c9b43dcffe"
+CROS_WORKON_TREE="e2c200b37b72780b72fd07a23555aedf104222cf"
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest-deponly python-any-r1
+
+DESCRIPTION="Autotest common deps"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Autotest enabled by default.
+IUSE="+autotest"
+
+# following deps don't compile: boottool, mysql, pgpool, pgsql, systemtap, # dejagnu, libcap, libnet
+# following deps are not deps: factory
+# following tests are going to be moved: chrome_test
+AUTOTEST_DEPS_LIST="gtest iwcap"
+AUTOTEST_CONFIG_LIST=*
+AUTOTEST_PROFILERS_LIST=*
+
+# NOTE: For deps, we need to keep *.a
+AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+# deps/gtest
+RDEPEND="
+	dev-cpp/gtest:=
+	dev-libs/libnl:0
+	>=dev-python/grpcio-1.19
+	>=dev-python/psutil-5.5.0
+	sys-devel/binutils
+"
+
+DEPEND="${RDEPEND}
+	chromeos-base/cros-config-api
+"
+
+src_prepare() {
+	autotest-deponly_src_prepare
+
+	# To avoid a file collision with autotest.ebuild, remove
+	# one particular __init__.py file from working directory.
+	# See crbug.com/324963 for context.
+	rm "${AUTOTEST_WORKDIR}/client/profilers/__init__.py"
+}
diff --git a/chromeos-base/autotest-deps/autotest-deps-9999.ebuild b/chromeos-base/autotest-deps/autotest-deps-9999.ebuild
index 8bc17ca..66ffae3 100644
--- a/chromeos-base/autotest-deps/autotest-deps-9999.ebuild
+++ b/chromeos-base/autotest-deps/autotest-deps-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI="5"
 
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
 CROS_WORKON_LOCALNAME="third_party/autotest/files"
diff --git a/chromeos-base/autotest-private-all/autotest-private-all-0.0.1-r1.ebuild b/chromeos-base/autotest-private-all/autotest-private-all-0.0.1-r1.ebuild
new file mode 120000
index 0000000..d0affca
--- /dev/null
+++ b/chromeos-base/autotest-private-all/autotest-private-all-0.0.1-r1.ebuild
@@ -0,0 +1 @@
+autotest-private-all-0.0.1.ebuild
\ No newline at end of file
diff --git a/chromeos-base/autotest-private-all/autotest-private-all-0.0.1.ebuild b/chromeos-base/autotest-private-all/autotest-private-all-0.0.1.ebuild
index acc1231..355a1a5 100644
--- a/chromeos-base/autotest-private-all/autotest-private-all-0.0.1.ebuild
+++ b/chromeos-base/autotest-private-all/autotest-private-all-0.0.1.ebuild
@@ -1,19 +1,17 @@
 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=2
+EAPI=7
 
 # CROS_WORKON_REPO=FILL_YOUR_REPO_URL_HERE
 # inherit toolchain-funcs flag-o-matic cros-workon autotest
 
 DESCRIPTION="All private autotest tests"
-HOMEPAGE="http://src.chromium.org"
-SRC_URI=""
-LICENSE="GPL-2"
+HOMEPAGE="https://dev.chromium.org/chromium-os"
+
+LICENSE="metapackage"
 SLOT="0"
 KEYWORDS="*"
-DEPEND=""
-RDEPEND=""
 
 # This ebuild file is reserved for adding new private tests in your factory
 # process. You can change the CROS_WORKON_REPO to your own server, and uncomment
diff --git a/chromeos-base/autotest-private-board/autotest-private-board-0.0.1-r1.ebuild b/chromeos-base/autotest-private-board/autotest-private-board-0.0.1-r1.ebuild
deleted file mode 100644
index 5653c3b..0000000
--- a/chromeos-base/autotest-private-board/autotest-private-board-0.0.1-r1.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=2
-
-DESCRIPTION="Board specific autotests"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm x86"
-IUSE=""
-
-RDEPEND=""
-
-#
-# WARNING: Nothing should be added to this ebuild.  This ebuild is overriden
-# in most of the board specific overlays, or will be.
-#
diff --git a/chromeos-base/autotest-private-board/autotest-private-board-0.0.1-r2.ebuild b/chromeos-base/autotest-private-board/autotest-private-board-0.0.1-r2.ebuild
new file mode 100644
index 0000000..d33e820
--- /dev/null
+++ b/chromeos-base/autotest-private-board/autotest-private-board-0.0.1-r2.ebuild
@@ -0,0 +1,16 @@
+# Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+DESCRIPTION="Board specific autotests"
+
+LICENSE="metapackage"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+#
+# WARNING: Nothing should be added to this ebuild.  This ebuild is overriden
+# in most of the board specific overlays, or will be.
+#
diff --git a/chromeos-base/autotest-server-tests-bluetooth/autotest-server-tests-bluetooth-0.0.1-r3465.ebuild b/chromeos-base/autotest-server-tests-bluetooth/autotest-server-tests-bluetooth-0.0.1-r3465.ebuild
deleted file mode 100644
index 09d3d8e..0000000
--- a/chromeos-base/autotest-server-tests-bluetooth/autotest-server-tests-bluetooth-0.0.1-r3465.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-CROS_WORKON_COMMIT="3906b6a526b3e91fa3eb21f6109214da512c7aaf"
-CROS_WORKON_TREE="aab84c83030e169ed28f32b9a027cf28b09c036f"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest
-
-DESCRIPTION="Autotest server tests for Bluetooth"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Enable autotest by default.
-IUSE="+autotest"
-
-RDEPEND="
-	!<chromeos-base/autotest-server-tests-0.0.2-r4126
-"
-
-SERVER_IUSE_TESTS="
-	+tests_bluetooth_AdapterAdvHealth
-	+tests_bluetooth_AdapterAdvMonitor
-	+tests_bluetooth_AdapterAudioLink
-	+tests_bluetooth_AdapterAUHealth
-	+tests_bluetooth_AdapterCLHealth
-	+tests_bluetooth_AdapterEPHealth
-	+tests_bluetooth_AdapterLEAdvertising
-	+tests_bluetooth_AdapterLEBetterTogether
-	+tests_bluetooth_AdapterLEHIDHealth
-	+tests_bluetooth_AdapterLEHealth
-	+tests_bluetooth_AdapterLLTHealth
-	+tests_bluetooth_AdapterMDHealth
-	+tests_bluetooth_AdapterMTBF
-	+tests_bluetooth_AdapterPowerMeasure
-	+tests_bluetooth_AdapterQuickHealth
-	+tests_bluetooth_AdapterRvR
-	+tests_bluetooth_AdapterSAHealth
-	+tests_bluetooth_AdapterSRHealth
-	+tests_bluetooth_PeerUpdate
-	+tests_bluetooth_PeerVerify
-"
-
-IUSE_TESTS="${IUSE_TESTS}
-	${SERVER_IUSE_TESTS}
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-server-tests-bluetooth/autotest-server-tests-bluetooth-0.0.1-r3523.ebuild b/chromeos-base/autotest-server-tests-bluetooth/autotest-server-tests-bluetooth-0.0.1-r3523.ebuild
new file mode 100644
index 0000000..e3c5923
--- /dev/null
+++ b/chromeos-base/autotest-server-tests-bluetooth/autotest-server-tests-bluetooth-0.0.1-r3523.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+CROS_WORKON_COMMIT="f5ab7c099e7a09ea07bf1587267462d6e342d1ec"
+CROS_WORKON_TREE="1427c4c960670d99c8e2de8aa3ad2ad5f08da014"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest
+
+DESCRIPTION="Autotest server tests for Bluetooth"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Enable autotest by default.
+IUSE="+autotest"
+
+RDEPEND="
+	!<chromeos-base/autotest-server-tests-0.0.2-r4126
+"
+
+SERVER_IUSE_TESTS="
+	+tests_bluetooth_AdapterAdvHealth
+	+tests_bluetooth_AdapterAdvMonitor
+	+tests_bluetooth_AdapterAudioLink
+	+tests_bluetooth_AdapterAUHealth
+	+tests_bluetooth_AdapterCLHealth
+	+tests_bluetooth_AdapterEPHealth
+	+tests_bluetooth_AdapterLEAdvertising
+	+tests_bluetooth_AdapterLEBetterTogether
+	+tests_bluetooth_AdapterLEHIDHealth
+	+tests_bluetooth_AdapterLEHealth
+	+tests_bluetooth_AdapterLLPrivacyHealth
+	+tests_bluetooth_AdapterLLTHealth
+	+tests_bluetooth_AdapterMDHealth
+	+tests_bluetooth_AdapterMTBF
+	+tests_bluetooth_AdapterPowerMeasure
+	+tests_bluetooth_AdapterQRHealth
+	+tests_bluetooth_AdapterQuickHealth
+	+tests_bluetooth_AdapterRvR
+	+tests_bluetooth_AdapterSAHealth
+	+tests_bluetooth_AdapterSRHealth
+	+tests_bluetooth_FastPair
+	+tests_bluetooth_PeerUpdate
+	+tests_bluetooth_PeerVerify
+"
+
+IUSE_TESTS="${IUSE_TESTS}
+	${SERVER_IUSE_TESTS}
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-server-tests-bluetooth/autotest-server-tests-bluetooth-9999.ebuild b/chromeos-base/autotest-server-tests-bluetooth/autotest-server-tests-bluetooth-9999.ebuild
index cd782f2..ce06321 100644
--- a/chromeos-base/autotest-server-tests-bluetooth/autotest-server-tests-bluetooth-9999.ebuild
+++ b/chromeos-base/autotest-server-tests-bluetooth/autotest-server-tests-bluetooth-9999.ebuild
@@ -32,14 +32,17 @@
 	+tests_bluetooth_AdapterLEBetterTogether
 	+tests_bluetooth_AdapterLEHIDHealth
 	+tests_bluetooth_AdapterLEHealth
+	+tests_bluetooth_AdapterLLPrivacyHealth
 	+tests_bluetooth_AdapterLLTHealth
 	+tests_bluetooth_AdapterMDHealth
 	+tests_bluetooth_AdapterMTBF
 	+tests_bluetooth_AdapterPowerMeasure
+	+tests_bluetooth_AdapterQRHealth
 	+tests_bluetooth_AdapterQuickHealth
 	+tests_bluetooth_AdapterRvR
 	+tests_bluetooth_AdapterSAHealth
 	+tests_bluetooth_AdapterSRHealth
+	+tests_bluetooth_FastPair
 	+tests_bluetooth_PeerUpdate
 	+tests_bluetooth_PeerVerify
 "
diff --git a/chromeos-base/autotest-server-tests-shill/autotest-server-tests-shill-0.0.1-r3437.ebuild b/chromeos-base/autotest-server-tests-shill/autotest-server-tests-shill-0.0.1-r3437.ebuild
deleted file mode 100644
index 98e7263..0000000
--- a/chromeos-base/autotest-server-tests-shill/autotest-server-tests-shill-0.0.1-r3437.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="4"
-CROS_WORKON_COMMIT="4cabf688bab00a9976442b12e8750085175a1020"
-CROS_WORKON_TREE="4a7201a1e88dd81b97ffe82a793a6520a5716d8d"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest
-
-DESCRIPTION="Autotest server tests for shill"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Enable autotest by default.
-IUSE="-chromeless_tests +autotest -chromeless_tty"
-
-SERVER_IUSE_TESTS="
-	+tests_network_WiFi_APSupportedRates
-	+tests_network_WiFi_AssocConfigPerformance
-	+tests_network_WiFi_AttenuatedPerf
-	+tests_network_WiFi_BeaconInterval
-	+tests_network_WiFi_BgscanBackoff
-	+tests_network_WiFi_BluetoothScanPerf
-	+tests_network_WiFi_BluetoothStreamPerf
-	+tests_network_WiFi_BSSTMReq
-	+tests_network_WiFi_BT_AntennaCoex
-	+tests_network_WiFi_ChannelHop
-	+tests_network_WiFi_ChannelScanDwellTime
-	+tests_network_WiFi_ChaosConfigFailure
-	+tests_network_WiFi_ChaosConnectDisconnect
-	+tests_network_WiFi_ChaosLongConnect
-	!chromeless_tty (
-		!chromeless_tests (
-			+tests_cellular_ChromeEndToEnd
-			+tests_network_WiFi_ChromeEndToEnd
-			+tests_network_WiFi_RoamEndToEnd
-			+tests_network_WiFi_RoamSuspendEndToEnd
-		)
-	)
-	+tests_network_WiFi_CSA
-	+tests_network_WiFi_DarkResumeActiveScans
-	+tests_network_WiFi_DisableEnable
-	+tests_network_WiFi_DisableRandomMACAddress
-	+tests_network_WiFi_DisconnectReason
-	+tests_network_WiFi_DTIMPeriod
-	+tests_network_WiFi_FastReconnectInDarkResume
-	+tests_network_WiFi_GTK
-	+tests_network_WiFi_HiddenRemains
-	+tests_network_WiFi_HiddenScan
-	+tests_network_WiFi_LinkMonitorFailure
-	+tests_network_WiFi_MalformedProbeResp
-	+tests_network_WiFi_MultiAuth
-	+tests_network_WiFi_OverlappingBSSScan
-	+tests_network_WiFi_Perf
-	+tests_network_WiFi_PMKSACaching
-	+tests_network_WiFi_Prefer5Ghz
-	+tests_network_WiFi_ProfileBasic
-	+tests_network_WiFi_ProfileGUID
-	+tests_network_WiFi_PTK
-	+tests_network_WiFi_RandomMACAddress
-	+tests_network_WiFi_Reassociate
-	+tests_network_WiFi_ReconnectInDarkResume
-	+tests_network_WiFi_Reset
-	+tests_network_WiFi_Roam
-	+tests_network_WiFi_RoamDbus
-	+tests_network_WiFi_RoamFT
-	+tests_network_WiFi_RoamSuspendTimeout
-	+tests_network_WiFi_SecChange
-	+tests_network_WiFi_SetOptionalDhcpProperties
-	+tests_network_WiFi_SimpleConnect
-	+tests_network_WiFi_SSIDSwitchBack
-	+tests_network_WiFi_SuspendStress
-	+tests_network_WiFi_StressTest
-	+tests_network_WiFi_Throttle
-	+tests_network_WiFi_UpdateRouter
-	+tests_network_WiFi_VerifyRouter
-	+tests_network_WiFi_VisibleScan
-	+tests_network_WiFi_WakeOnDisconnect
-	+tests_network_WiFi_WakeOnSSID
-	+tests_network_WiFi_WakeOnWiFiThrottling
-	+tests_network_WiFi_WoWLAN
-	+tests_network_WiFi_WMM
-"
-
-IUSE_TESTS="${IUSE_TESTS}
-	${SERVER_IUSE_TESTS}
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-server-tests-shill/autotest-server-tests-shill-0.0.1-r3448.ebuild b/chromeos-base/autotest-server-tests-shill/autotest-server-tests-shill-0.0.1-r3448.ebuild
new file mode 100644
index 0000000..4d4315a
--- /dev/null
+++ b/chromeos-base/autotest-server-tests-shill/autotest-server-tests-shill-0.0.1-r3448.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+CROS_WORKON_COMMIT="e630805b0e77f8a7d609c99d1aac4eafaffa2883"
+CROS_WORKON_TREE="137e20c598095d68e321d3b84a7209de863e2aa2"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest
+
+DESCRIPTION="Autotest server tests for shill"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Enable autotest by default.
+IUSE="-chromeless_tests +autotest -chromeless_tty"
+
+SERVER_IUSE_TESTS="
+	+tests_network_WiFi_AssocConfigPerformance
+	+tests_network_WiFi_AttenuatedPerf
+	+tests_network_WiFi_BluetoothScanPerf
+	+tests_network_WiFi_BluetoothStreamPerf
+	+tests_network_WiFi_ChaosConfigFailure
+	+tests_network_WiFi_ChaosConnectDisconnect
+	+tests_network_WiFi_ChaosLongConnect
+	!chromeless_tty (
+		!chromeless_tests (
+			+tests_cellular_ChromeEndToEnd
+			+tests_network_WiFi_ChromeEndToEnd
+		)
+	)
+	+tests_network_WiFi_Perf
+	+tests_network_WiFi_StressTest
+	+tests_network_WiFi_Throttle
+	+tests_network_WiFi_UpdateRouter
+	+tests_network_WiFi_VerifyRouter
+"
+
+IUSE_TESTS="${IUSE_TESTS}
+	${SERVER_IUSE_TESTS}
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-server-tests-shill/autotest-server-tests-shill-9999.ebuild b/chromeos-base/autotest-server-tests-shill/autotest-server-tests-shill-9999.ebuild
index d25fa72..60ff92f 100644
--- a/chromeos-base/autotest-server-tests-shill/autotest-server-tests-shill-9999.ebuild
+++ b/chromeos-base/autotest-server-tests-shill/autotest-server-tests-shill-9999.ebuild
@@ -18,17 +18,10 @@
 IUSE="-chromeless_tests +autotest -chromeless_tty"
 
 SERVER_IUSE_TESTS="
-	+tests_network_WiFi_APSupportedRates
 	+tests_network_WiFi_AssocConfigPerformance
 	+tests_network_WiFi_AttenuatedPerf
-	+tests_network_WiFi_BeaconInterval
-	+tests_network_WiFi_BgscanBackoff
 	+tests_network_WiFi_BluetoothScanPerf
 	+tests_network_WiFi_BluetoothStreamPerf
-	+tests_network_WiFi_BSSTMReq
-	+tests_network_WiFi_BT_AntennaCoex
-	+tests_network_WiFi_ChannelHop
-	+tests_network_WiFi_ChannelScanDwellTime
 	+tests_network_WiFi_ChaosConfigFailure
 	+tests_network_WiFi_ChaosConnectDisconnect
 	+tests_network_WiFi_ChaosLongConnect
@@ -36,53 +29,13 @@
 		!chromeless_tests (
 			+tests_cellular_ChromeEndToEnd
 			+tests_network_WiFi_ChromeEndToEnd
-			+tests_network_WiFi_RoamEndToEnd
-			+tests_network_WiFi_RoamSuspendEndToEnd
 		)
 	)
-	+tests_network_WiFi_CSA
-	+tests_network_WiFi_DarkResumeActiveScans
-	+tests_network_WiFi_DisableEnable
-	+tests_network_WiFi_DisableRandomMACAddress
-	+tests_network_WiFi_DisconnectReason
-	+tests_network_WiFi_DTIMPeriod
-	+tests_network_WiFi_FastReconnectInDarkResume
-	+tests_network_WiFi_GTK
-	+tests_network_WiFi_HiddenRemains
-	+tests_network_WiFi_HiddenScan
-	+tests_network_WiFi_LinkMonitorFailure
-	+tests_network_WiFi_MalformedProbeResp
-	+tests_network_WiFi_MultiAuth
-	+tests_network_WiFi_OverlappingBSSScan
 	+tests_network_WiFi_Perf
-	+tests_network_WiFi_PMKSACaching
-	+tests_network_WiFi_Prefer5Ghz
-	+tests_network_WiFi_ProfileBasic
-	+tests_network_WiFi_ProfileGUID
-	+tests_network_WiFi_PTK
-	+tests_network_WiFi_RandomMACAddress
-	+tests_network_WiFi_Reassociate
-	+tests_network_WiFi_ReconnectInDarkResume
-	+tests_network_WiFi_Reset
-	+tests_network_WiFi_Roam
-	+tests_network_WiFi_RoamDbus
-	+tests_network_WiFi_RoamFT
-	+tests_network_WiFi_RoamSuspendTimeout
-	+tests_network_WiFi_SecChange
-	+tests_network_WiFi_SetOptionalDhcpProperties
-	+tests_network_WiFi_SimpleConnect
-	+tests_network_WiFi_SSIDSwitchBack
-	+tests_network_WiFi_SuspendStress
 	+tests_network_WiFi_StressTest
 	+tests_network_WiFi_Throttle
 	+tests_network_WiFi_UpdateRouter
 	+tests_network_WiFi_VerifyRouter
-	+tests_network_WiFi_VisibleScan
-	+tests_network_WiFi_WakeOnDisconnect
-	+tests_network_WiFi_WakeOnSSID
-	+tests_network_WiFi_WakeOnWiFiThrottling
-	+tests_network_WiFi_WoWLAN
-	+tests_network_WiFi_WMM
 "
 
 IUSE_TESTS="${IUSE_TESTS}
diff --git a/chromeos-base/autotest-server-tests-tast/autotest-server-tests-tast-0.0.1-r310.ebuild b/chromeos-base/autotest-server-tests-tast/autotest-server-tests-tast-0.0.1-r310.ebuild
deleted file mode 100644
index 366bde3..0000000
--- a/chromeos-base/autotest-server-tests-tast/autotest-server-tests-tast-0.0.1-r310.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="60ac81314efc8b9afa57bfed98402b9250a51128"
-CROS_WORKON_TREE="72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest
-
-DESCRIPTION="Autotest server tests for running Tast-based tests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="+autotest"
-
-RDEPEND=""
-DEPEND=""
-
-IUSE_TESTS="
-	+tests_graphics_TraceReplayExtended
-	+tests_tast
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-server-tests-tast/autotest-server-tests-tast-0.0.1-r408.ebuild b/chromeos-base/autotest-server-tests-tast/autotest-server-tests-tast-0.0.1-r408.ebuild
new file mode 100644
index 0000000..207178e
--- /dev/null
+++ b/chromeos-base/autotest-server-tests-tast/autotest-server-tests-tast-0.0.1-r408.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="95817555154e03c0e8c0041edfc89da1793b67fb"
+CROS_WORKON_TREE="6a73a3b9893611d68f40462d2c15d7af94c522b8"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest
+
+DESCRIPTION="Autotest server tests for running Tast-based tests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+IUSE="+autotest"
+
+RDEPEND=""
+DEPEND=""
+
+IUSE_TESTS="
+	+tests_tast
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-server-tests-tast/autotest-server-tests-tast-9999.ebuild b/chromeos-base/autotest-server-tests-tast/autotest-server-tests-tast-9999.ebuild
index 48597db..fbc2396 100644
--- a/chromeos-base/autotest-server-tests-tast/autotest-server-tests-tast-9999.ebuild
+++ b/chromeos-base/autotest-server-tests-tast/autotest-server-tests-tast-9999.ebuild
@@ -20,7 +20,6 @@
 DEPEND=""
 
 IUSE_TESTS="
-	+tests_graphics_TraceReplayExtended
 	+tests_tast
 "
 
diff --git a/chromeos-base/autotest-server-tests-telemetry/autotest-server-tests-telemetry-0.0.1-r3254.ebuild b/chromeos-base/autotest-server-tests-telemetry/autotest-server-tests-telemetry-0.0.1-r3254.ebuild
deleted file mode 100644
index 7ab1930..0000000
--- a/chromeos-base/autotest-server-tests-telemetry/autotest-server-tests-telemetry-0.0.1-r3254.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="4"
-CROS_WORKON_COMMIT="c3f2bc2c930e182ff7efd4b539a864164415ddf7"
-CROS_WORKON_TREE="e7e238a65612870eb155daea8894031ea8b0bf8b"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest
-
-DESCRIPTION="Autotest server tests for shill"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Enable autotest by default.
-IUSE="+autotest"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
-	!<chromeos-base/autotest-server-tests-0.0.2
-"
-
-SERVER_IUSE_TESTS="
-	+tests_telemetry_AFDOGenerate
-	+tests_telemetry_Benchmarks
-	+tests_telemetry_Crosperf
-	+tests_telemetry_CrosTests
-"
-
-IUSE_TESTS="${IUSE_TESTS}
-	${SERVER_IUSE_TESTS}
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-server-tests-telemetry/autotest-server-tests-telemetry-0.0.1-r3262.ebuild b/chromeos-base/autotest-server-tests-telemetry/autotest-server-tests-telemetry-0.0.1-r3262.ebuild
new file mode 100644
index 0000000..c0e3c0f
--- /dev/null
+++ b/chromeos-base/autotest-server-tests-telemetry/autotest-server-tests-telemetry-0.0.1-r3262.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+CROS_WORKON_COMMIT="cab33ee302f9acbba7327d9678c7872328e63665"
+CROS_WORKON_TREE="8d8f303ddf2f16c2d8e7188c6a0f8944f7df7db6"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest
+
+DESCRIPTION="Autotest server tests for shill"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Enable autotest by default.
+IUSE="+autotest"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+	!<chromeos-base/autotest-server-tests-0.0.2
+"
+
+SERVER_IUSE_TESTS="
+	+tests_telemetry_AFDOGenerate
+	+tests_telemetry_Benchmarks
+	+tests_telemetry_Crosperf
+	+tests_telemetry_CrosTests
+"
+
+IUSE_TESTS="${IUSE_TESTS}
+	${SERVER_IUSE_TESTS}
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-server-tests/autotest-server-tests-0.0.2-r5522.ebuild b/chromeos-base/autotest-server-tests/autotest-server-tests-0.0.2-r5522.ebuild
deleted file mode 100644
index dbd033f..0000000
--- a/chromeos-base/autotest-server-tests/autotest-server-tests-0.0.2-r5522.ebuild
+++ /dev/null
@@ -1,367 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-CROS_WORKON_COMMIT="eb2c7a1ed529de6e3ec91a32a5b45820f4ee2b81"
-CROS_WORKON_TREE="892f23b1417ad8574ed3217510b5b05bef84ec02"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest
-
-DESCRIPTION="Autotest server tests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Enable autotest by default.
-IUSE="android-container android-container-pi android-vm-rvc +autotest biod +cellular +cheets_user cheets_user_64 -chromeless_tests -chromeless_tty debugd dlc_test has-kernelnext is-kernelnext -moblab +power_management +readahead +tpm tpm2"
-REQUIRED_USE="?? ( has-kernelnext is-kernelnext )"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
-	!<chromeos-base/autotest-0.0.2
-"
-
-SERVER_IUSE_TESTS="
-	+tests_android_ACTS
-	+tests_android_EasySetup
-	+tests_audio_AudioAfterReboot
-	+tests_audio_AudioAfterSuspend
-	+tests_audio_AudioArtifacts
-	+tests_audio_AudioBasicAssistant
-	+tests_audio_AudioBasicBluetoothPlayback
-	+tests_audio_AudioBasicBluetoothPlaybackRecord
-	+tests_audio_AudioBasicBluetoothRecord
-	+tests_audio_AudioBasicExternalMicrophone
-	+tests_audio_AudioBasicHDMI
-	+tests_audio_AudioBasicHeadphone
-	+tests_audio_AudioBasicHotwording
-	+tests_audio_AudioBasicInternalMicrophone
-	+tests_audio_AudioBasicInternalSpeaker
-	+tests_audio_AudioBasicUSBPlayback
-	+tests_audio_AudioBasicUSBPlaybackRecord
-	+tests_audio_AudioBasicUSBRecord
-	+tests_audio_AudioBluetoothConnectionStability
-	+tests_audio_AudioNodeSwitch
-	+tests_audio_AudioNoiseCancellation
-	+tests_audio_AudioPinnedStream
-	+tests_audio_AudioQualityAfterSuspend
-	+tests_audio_AudioTestAssumptionCheck
-	+tests_audio_AudioVolume
-	+tests_audio_AudioWebRTCLoopback
-	+tests_audio_InternalCardNodes
-	+tests_audio_LeftRightInternalSpeaker
-	+tests_audio_MediaBasicVerification
-	+tests_audio_PowerConsumption
-	+tests_audiovideo_AVSync
-	+tests_autoupdate_Basic
-	+tests_autoupdate_CatchBadSignatures
-	+tests_autoupdate_Cellular
-	+tests_autoupdate_ConsecutiveUpdatesBeforeReboot
-	+tests_autoupdate_DataPreserved
-	+tests_autoupdate_ForcedOOBEUpdate
-	+tests_autoupdate_FromUI
-	+tests_autoupdate_Interruptions
-	+tests_autoupdate_InvalidateUpdateBeforeReboot
-	+tests_autoupdate_Lacros
-	+tests_autoupdate_NonBlockingOOBEUpdate
-	+tests_autoupdate_OmahaResponse
-	+tests_autoupdate_P2P
-	+tests_autoupdate_Periodic
-	+tests_autoupdate_RejectDuplicateUpdate
-	+tests_autoupdate_Rollback
-	dlc_test? ( +tests_autoupdate_WithDLC )
-	cellular? ( +tests_cellular_StaleModemReboot )
-	android-container-pi? (
-		cheets_user? (
-			+tests_cheets_CTS_Instant
-			+tests_cheets_CTS_P
-		)
-		cheets_user_64? (
-			+tests_cheets_CTS_Instant
-			+tests_cheets_CTS_P
-		)
-	)
-	android-vm-rvc? (
-		cheets_user_64? (
-			+tests_cheets_CTS_R
-		)
-	)
-	+tests_cellular_Callbox_AssertCellularData
-	+tests_cellular_Callbox_AssertSMS
-	+tests_cheets_LabDependencies
-	debugd? ( +tests_debugd_DevTools )
-	+tests_crosperf_Wrapper
-	+tests_display_EdidStress
-	+tests_display_HDCPScreen
-	+tests_display_HotPlugAtBoot
-	+tests_display_HotPlugAtSuspend
-	+tests_display_HotPlugNoisy
-	+tests_display_LidCloseOpen
-	+tests_display_NoEdid
-	+tests_display_Resolution
-	+tests_display_ResolutionList
-	+tests_display_ServerChameleonConnection
-	+tests_display_SuspendStress
-	+tests_display_SwitchMode
-	+tests_enterprise_ClearTPM
-	+tests_enterprise_KioskEnrollmentServer
-	+tests_enterprise_LongevityTrackerServer
-	+tests_enterprise_OnlineDemoMode
-	+tests_factory_Basic
-	+tests_firmware_Bmpblk
-	+tests_firmware_CgptStress
-	+tests_firmware_ClearTPMOwnerAndReset
-	+tests_firmware_ConsecutiveBoot
-	+tests_firmware_ConsecutiveBootPowerButton
-	+tests_firmware_ConsecutiveLidSwitch
-	+tests_firmware_CorruptBothFwBodyAB
-	+tests_firmware_CorruptBothFwSigAB
-	+tests_firmware_CorruptBothKernelAB
-	+tests_firmware_CorruptBothMiniosAB
-	+tests_firmware_CorruptFwBodyA
-	+tests_firmware_CorruptFwBodyB
-	+tests_firmware_CorruptFwSigA
-	+tests_firmware_CorruptFwSigB
-	+tests_firmware_CorruptKernelA
-	+tests_firmware_CorruptKernelB
-	+tests_firmware_CorruptMinios
-	+tests_firmware_CorruptRecoveryCache
-	+tests_firmware_Cr50BID
-	+tests_firmware_Cr50CCDFirmwareUpdate
-	+tests_firmware_Cr50CCDServoCap
-	+tests_firmware_Cr50CCDUartStress
-	+tests_firmware_Cr50CheckCap
-	+tests_firmware_Cr50ConsoleCommands
-	+tests_firmware_Cr50DeepSleepStress
-	+tests_firmware_Cr50DeferredECReset
-	+tests_firmware_Cr50DeviceState
-	+tests_firmware_Cr50DevMode
-	+tests_firmware_Cr50ECReset
-	+tests_firmware_Cr50FactoryResetVC
-	+tests_firmware_Cr50FIPSDS
-	+tests_firmware_Cr50GetName
-	+tests_firmware_Cr50InvalidateRW
-	+tests_firmware_Cr50Keygen
-	+tests_firmware_Cr50Open
-	+tests_firmware_Cr50OpenWhileAPOff
-	+tests_firmware_Cr50PartialBoardId
-	+tests_firmware_Cr50Password
-	+tests_firmware_Cr50PinWeaverServer
-	+tests_firmware_Cr50RddG3
-	+tests_firmware_Cr50RejectUpdate
-	+tests_firmware_Cr50RMAOpen
-	+tests_firmware_Cr50SetBoardId
-	+tests_firmware_Cr50ShortECC
-	+tests_firmware_Cr50Testlab
-	+tests_firmware_Cr50TpmManufactured
-	+tests_firmware_Cr50TpmMode
-	+tests_firmware_Cr50U2fCommands
-	+tests_firmware_Cr50Unlock
-	+tests_firmware_Cr50Update
-	+tests_firmware_Cr50UpdateScriptStress
-	+tests_firmware_Cr50USB
-	+tests_firmware_Cr50VerifyEK
-	+tests_firmware_Cr50WilcoEcrst
-	+tests_firmware_Cr50WilcoRmaFactoryMode
-	+tests_firmware_Cr50WPG3
-	+tests_firmware_CsmeFwUpdate
-	+tests_firmware_DevBootUSB
-	+tests_firmware_DevDefaultBoot
-	+tests_firmware_DevMode
-	+tests_firmware_DevModeStress
-	+tests_firmware_DevScreenTimeout
-	+tests_firmware_ECBattery
-	+tests_firmware_ECCbiEeprom
-	+tests_firmware_ECCharging
-	+tests_firmware_ECChargingState
-	+tests_firmware_ECHash
-	+tests_firmware_ECKeyboard
-	+tests_firmware_ECKeyboardReboot
-	+tests_firmware_ECLidShutdown
-	+tests_firmware_ECLidSwitch
-	+tests_firmware_ECPowerButton
-	+tests_firmware_ECPowerG3
-	+tests_firmware_ECSharedMem
-	+tests_firmware_ECSystemLocked
-	+tests_firmware_ECThermal
-	+tests_firmware_ECUpdateId
-	+tests_firmware_ECUsbPorts
-	+tests_firmware_ECWakeFromULP
-	+tests_firmware_ECWakeSource
-	+tests_firmware_ECWatchdog
-	+tests_firmware_EmmcWriteLoad
-	+tests_firmware_EventLog
-	+tests_firmware_FAFTPrepare
-	+tests_firmware_FAFTModeTransitions
-	+tests_firmware_FAFTRPC
-	+tests_firmware_FAFTSetup
-	biod? (
-		+tests_firmware_Fingerprint
-		+tests_firmware_FingerprintCrosConfig
-		+tests_firmware_FingerprintSigner
-	)
-	+tests_firmware_FMap
-	+tests_firmware_FWMPDisableCCD
-	+tests_firmware_FwScreenCloseLid
-	+tests_firmware_FwScreenPressPower
-	+tests_firmware_FWupdateWP
-	+tests_firmware_FWupdateThenSleep
-	+tests_firmware_FWupdateWP
-	+tests_firmware_InvalidUSB
-	+tests_firmware_LegacyRecovery
-	+tests_firmware_MenuDevBootUSB
-	+tests_firmware_MenuModeTransition
-	+tests_firmware_MenuPowerOff
-	+tests_firmware_MiniDiag
-	+tests_firmware_MiniosMenu
-	+tests_firmware_MiniosPriority
-	+tests_firmware_Mosys
-	+tests_firmware_PDConnect
-	+tests_firmware_PDDataSwap
-	+tests_firmware_PDPowerSwap
-	+tests_firmware_PDProtocol
-	+tests_firmware_PDResetHard
-	+tests_firmware_PDResetSoft
-	+tests_firmware_PDTrySrc
-	+tests_firmware_PDVbusRequest
-	+tests_firmware_RecoveryButton
-	+tests_firmware_RecoveryCacheBootKeys
-	+tests_firmware_RollbackFirmware
-	+tests_firmware_RollbackKernel
-	+tests_firmware_SelfSignedBoot
-	+tests_firmware_SetSerialNumber
-	+tests_firmware_SoftwareSync
-	+tests_firmware_StandbyPowerConsumption
-	+tests_firmware_SysfsVPD
-	+tests_firmware_TPMNotCorruptedDevMode
-	tpm? ( +tests_firmware_TPMExtend )
-	tpm? ( +tests_firmware_TPMVersionCheck )
-	tpm? ( +tests_firmware_TPMKernelVersion )
-	tpm2? ( +tests_firmware_TPMExtend )
-	tpm2? ( +tests_firmware_TPMVersionCheck )
-	tpm2? ( +tests_firmware_TPMKernelVersion )
-	+tests_firmware_TryFwB
-	+tests_firmware_TypeCCharging
-	+tests_firmware_TypeCProbeUSB3
-	+tests_firmware_UpdateFirmwareDataKeyVersion
-	+tests_firmware_UpdateFirmwareVersion
-	+tests_firmware_UpdateKernelDataKeyVersion
-	+tests_firmware_UpdateKernelSubkeyVersion
-	+tests_firmware_UpdateKernelVersion
-	+tests_firmware_UpdaterModes
-	+tests_firmware_UserRequestRecovery
-	+tests_firmware_WilcoDiagnosticsMode
-	+tests_firmware_WriteProtect
-	+tests_firmware_WriteProtectFunc
-	+tests_fleet_FirmwareUpdate
-	+tests_graphics_MultipleDisplays
-	+tests_graphics_PowerConsumption
-	+tests_hardware_DiskFirmwareUpgrade
-	+tests_hardware_MemoryIntegrity
-	+tests_hardware_StorageQual
-	+tests_hardware_StorageQualBase
-	+tests_hardware_StorageQualCheckSetup
-	+tests_hardware_StorageQualSuspendStress
-	+tests_hardware_StorageQualTrimStress
-	+tests_hardware_StorageQualV2
-	+tests_hardware_StorageStress
-	+tests_infra_ServerPythonVersion
-	+tests_infra_TLSExecDUTCommand
-	+tests_kernel_EmptyLines
-	+tests_kernel_ExternalUsbPeripheralsDetectionTest
-	+tests_kernel_IdlePerf
-	+tests_kernel_MemoryRamoop
-	moblab? (
-		+tests_moblab_RunSuite
-		+tests_moblab_StorageQual
-	)
-	+tests_moblab_Setup
-	+tests_network_FirewallHolePunchServer
-	+tests_p2p_EndToEndTest
-	+tests_platform_ActivateDate
-	+tests_platform_BootDevice
-	+tests_platform_BootLockboxServer
-	+tests_platform_BootPerfServer
-	+tests_platform_CompromisedStatefulPartition
-	+tests_platform_CorruptRootfs
-	+tests_platform_CrashStateful
-	+tests_platform_ExternalUsbPeripherals
-	+tests_platform_FetchCloudConfig
-	+tests_platform_FlashErasers
-	+tests_platform_Flashrom
-	+tests_platform_HWwatchdog
-	+tests_platform_InitLoginPerfServer
-	+tests_platform_InstallTestImage
-	+tests_platform_InternalDisplay
-	+tests_platform_KernelErrorPaths
-	+tests_platform_MTBF
-	power_management? (
-		+tests_platform_PowerStatusStress
-		+tests_power_WakeSources
-	)
-	+tests_platform_Powerwash
-	+tests_platform_RotationFps
-	+tests_platform_ServoPowerStateController
-	+tests_platform_StageAndRecover
-	+tests_platform_SyncCrash
-	readahead? ( +tests_platform_UReadAheadServer )
-	+tests_platform_Vpd
-	+tests_policy_DeviceServer
-	+tests_policy_WilcoServerUSBPowershare
-	+tests_power_BrightnessResetAfterReboot
-	+tests_power_ChargeControlWrapper
-	+tests_power_MeetCall
-	+tests_power_Monitoring
-	+tests_power_LW
-	+tests_power_PowerlogWrapper
-	+tests_power_RPMTest
-	+tests_power_ServoChargeStress
-	+tests_power_ServodWrapper
-	+tests_provision_CheetsUpdate
-	+tests_provision_Cr50TOT
-	+tests_provision_Cr50Update
-	+tests_provision_FactoryImage
-	+tests_provision_FirmwareUpdate
-	+tests_provision_QuickProvision
-	+tests_rlz_CheckPing
-	+tests_sequences
-	+tests_servo_LabControlVerification
-	+tests_servo_LabstationVerification
-	+tests_servo_USBMuxVerification
-	+tests_servo_LogGrab
-	+tests_servo_Verification
-	+tests_servohost_Reboot
-	+tests_stress_ClientTestReboot
-	+tests_stress_EnrollmentRetainment
-	+tests_stub_FailServer
-	+tests_stub_PassServer
-	+tests_stub_ServerToClientPass
-	+tests_stub_SynchronousOffloadServer
-"
-
-IUSE_TESTS="${IUSE_TESTS}
-	${SERVER_IUSE_TESTS}
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-INIT_FILE="__init__.py"
-
-src_install() {
-	# Make sure we install all |SERVER_IUSE_TESTS| first.
-	autotest_src_install
-	# Autotest depends on a few strategically placed INIT_FILEs to allow
-	# importing python code. In particular we want to allow importing
-	# server.site_tests.tast to be able to launch tast local tests.
-	# This INIT_FILE exists in git, but needs to be installed and finally
-	# packaged via chromite/lib/autotest_util.py into
-	# autotest_server_package.tar.bz2 to be served by devservers.
-	insinto "${AUTOTEST_BASE}/${AUTOTEST_SERVER_SITE_TESTS}"
-	doins "${AUTOTEST_SERVER_SITE_TESTS}/${INIT_FILE}"
-}
diff --git a/chromeos-base/autotest-server-tests/autotest-server-tests-0.0.2-r5697.ebuild b/chromeos-base/autotest-server-tests/autotest-server-tests-0.0.2-r5697.ebuild
new file mode 100644
index 0000000..ab07810
--- /dev/null
+++ b/chromeos-base/autotest-server-tests/autotest-server-tests-0.0.2-r5697.ebuild
@@ -0,0 +1,354 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+CROS_WORKON_COMMIT="95817555154e03c0e8c0041edfc89da1793b67fb"
+CROS_WORKON_TREE="6a73a3b9893611d68f40462d2c15d7af94c522b8"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest
+
+DESCRIPTION="Autotest server tests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Enable autotest by default.
+IUSE="
+	android-container
+	android-container-pi
+	android-vm-rvc
+	+autotest
+	biod
+	+cellular
+	-chromeless_tests
+	-chromeless_tty
+	debugd
+	dlc_test
+	has-kernelnext
+	is-kernelnext
+	minios
+	-moblab
+	+power_management
+	+readahead
+	+tpm
+	tpm2
+	"
+
+REQUIRED_USE="?? ( has-kernelnext is-kernelnext )"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+	!<chromeos-base/autotest-0.0.2
+"
+
+SERVER_IUSE_TESTS="
+	+tests_android_ACTS
+	+tests_android_EasySetup
+	+tests_audio_AudioAfterReboot
+	+tests_audio_AudioAfterSuspend
+	+tests_audio_AudioArtifacts
+	+tests_audio_AudioBasicAssistant
+	+tests_audio_AudioBasicBluetoothPlayback
+	+tests_audio_AudioBasicBluetoothPlaybackRecord
+	+tests_audio_AudioBasicBluetoothRecord
+	+tests_audio_AudioBasicExternalMicrophone
+	+tests_audio_AudioBasicHDMI
+	+tests_audio_AudioBasicHeadphone
+	+tests_audio_AudioBasicHotwording
+	+tests_audio_AudioBasicInternalMicrophone
+	+tests_audio_AudioBasicInternalSpeaker
+	+tests_audio_AudioBasicUSBPlayback
+	+tests_audio_AudioBasicUSBPlaybackRecord
+	+tests_audio_AudioBasicUSBRecord
+	+tests_audio_AudioBluetoothConnectionStability
+	+tests_audio_AudioNodeSwitch
+	+tests_audio_AudioNoiseCancellation
+	+tests_audio_AudioPinnedStream
+	+tests_audio_AudioQualityAfterSuspend
+	+tests_audio_AudioTestAssumptionCheck
+	+tests_audio_AudioVolume
+	+tests_audio_AudioWebRTCLoopback
+	+tests_audio_InternalCardNodes
+	+tests_audio_LeftRightInternalSpeaker
+	+tests_audio_MediaBasicVerification
+	+tests_autoupdate_Basic
+	+tests_autoupdate_CatchBadSignatures
+	+tests_autoupdate_Cellular
+	+tests_autoupdate_ConsecutiveUpdatesBeforeReboot
+	+tests_autoupdate_DataPreserved
+	+tests_autoupdate_DeferredUpdate
+	+tests_autoupdate_EndToEndTest
+	+tests_autoupdate_ForcedOOBEUpdate
+	+tests_autoupdate_FromUI
+	+tests_autoupdate_Interruptions
+	+tests_autoupdate_InvalidateUpdateBeforeReboot
+	+tests_autoupdate_Lacros
+	minios? ( +tests_autoupdate_MiniOS )
+	+tests_autoupdate_NonBlockingOOBEUpdate
+	+tests_autoupdate_OmahaResponse
+	+tests_autoupdate_P2P
+	+tests_autoupdate_Periodic
+	+tests_autoupdate_RejectDuplicateUpdate
+	+tests_autoupdate_Rollback
+	dlc_test? ( +tests_autoupdate_WithDLC )
+	cellular? ( +tests_cellular_StaleModemReboot )
+	android-container-pi? (
+		+tests_cheets_CTS_Instant
+		+tests_cheets_CTS_P
+	)
+	android-vm-rvc? (
+		+tests_cheets_CTS_R
+	)
+	+tests_cellular_Callbox_AssertCellularData
+	+tests_cellular_Callbox_AssertSMS
+	+tests_display_EdidStress
+	+tests_display_HotPlugAtBoot
+	+tests_display_HotPlugAtSuspend
+	+tests_display_LidCloseOpen
+	+tests_display_Resolution
+	+tests_display_ResolutionList
+	+tests_display_ServerChameleonConnection
+	+tests_display_SwitchMode
+	+tests_factory_Basic
+	+tests_firmware_Bmpblk
+	+tests_firmware_CgptStress
+	+tests_firmware_ClearTPMOwnerAndReset
+	+tests_firmware_ConsecutiveBoot
+	+tests_firmware_ConsecutiveBootPowerButton
+	+tests_firmware_ConsecutiveLidSwitch
+	+tests_firmware_CorruptBothFwBodyAB
+	+tests_firmware_CorruptBothFwSigAB
+	+tests_firmware_CorruptBothKernelAB
+	+tests_firmware_CorruptBothMiniosAB
+	+tests_firmware_CorruptFwBodyA
+	+tests_firmware_CorruptFwBodyB
+	+tests_firmware_CorruptFwSigA
+	+tests_firmware_CorruptFwSigB
+	+tests_firmware_CorruptKernelA
+	+tests_firmware_CorruptKernelB
+	+tests_firmware_CorruptMinios
+	+tests_firmware_CorruptRecoveryCache
+	+tests_firmware_Cr50BID
+	+tests_firmware_Cr50CCDFirmwareUpdate
+	+tests_firmware_Cr50CCDServoCap
+	+tests_firmware_Cr50CCDUartStress
+	+tests_firmware_Cr50CheckCap
+	+tests_firmware_Cr50ConsoleCommands
+	+tests_firmware_Cr50DeepSleepStress
+	+tests_firmware_Cr50DeferredECReset
+	+tests_firmware_Cr50DeviceState
+	+tests_firmware_Cr50DevMode
+	+tests_firmware_Cr50ECReset
+	+tests_firmware_Cr50FactoryResetVC
+	+tests_firmware_Cr50FIPSDS
+	+tests_firmware_Cr50GetName
+	+tests_firmware_Cr50InvalidateRW
+	+tests_firmware_Cr50Keygen
+	+tests_firmware_Cr50Open
+	+tests_firmware_Cr50OpenTPMRstDebounce
+	+tests_firmware_Cr50OpenWhileAPOff
+	+tests_firmware_Cr50PartialBoardId
+	+tests_firmware_Cr50Password
+	+tests_firmware_Cr50PinWeaverServer
+	+tests_firmware_Cr50RddG3
+	+tests_firmware_Cr50RejectUpdate
+	+tests_firmware_Cr50RMAOpen
+	+tests_firmware_Cr50SetBoardId
+	+tests_firmware_Cr50ShortECC
+	+tests_firmware_Cr50Testlab
+	+tests_firmware_Cr50TpmManufactured
+	+tests_firmware_Cr50TpmMode
+	+tests_firmware_Cr50U2fCommands
+	+tests_firmware_Cr50Unlock
+	+tests_firmware_Cr50Update
+	+tests_firmware_Cr50UpdateScriptStress
+	+tests_firmware_Cr50USB
+	+tests_firmware_Cr50VerifyEK
+	+tests_firmware_Cr50WilcoEcrst
+	+tests_firmware_Cr50WilcoRmaFactoryMode
+	+tests_firmware_Cr50WPG3
+	+tests_firmware_CsmeFwUpdate
+	+tests_firmware_DevBootUSB
+	+tests_firmware_DevDefaultBoot
+	+tests_firmware_DevMode
+	+tests_firmware_DevModeStress
+	+tests_firmware_DevScreenTimeout
+	+tests_firmware_ECBattery
+	+tests_firmware_ECCbiEeprom
+	+tests_firmware_ECCharging
+	+tests_firmware_ECChargingState
+	+tests_firmware_ECHash
+	+tests_firmware_ECKeyboard
+	+tests_firmware_ECKeyboardReboot
+	+tests_firmware_ECLidShutdown
+	+tests_firmware_ECLidSwitch
+	+tests_firmware_ECPowerButton
+	+tests_firmware_ECPowerG3
+	+tests_firmware_ECSharedMem
+	+tests_firmware_ECSystemLocked
+	+tests_firmware_ECThermal
+	+tests_firmware_ECUpdateId
+	+tests_firmware_ECUsbPorts
+	+tests_firmware_ECWakeFromULP
+	+tests_firmware_ECWakeSource
+	+tests_firmware_ECWatchdog
+	+tests_firmware_EmmcWriteLoad
+	+tests_firmware_EventLog
+	+tests_firmware_FAFTPrepare
+	+tests_firmware_FAFTModeTransitions
+	+tests_firmware_FAFTRPC
+	+tests_firmware_FAFTSetup
+	biod? (
+		+tests_firmware_Fingerprint
+		+tests_firmware_FingerprintCrosConfig
+		+tests_firmware_FingerprintSigner
+	)
+	+tests_firmware_FMap
+	+tests_firmware_FWMPDisableCCD
+	+tests_firmware_FwScreenCloseLid
+	+tests_firmware_FwScreenPressPower
+	+tests_firmware_FWupdateWP
+	+tests_firmware_FWupdateThenSleep
+	+tests_firmware_FWupdateWP
+	+tests_firmware_GSCAPROV1Trigger
+	+tests_firmware_GSCSetAPROV1
+	+tests_firmware_InvalidUSB
+	+tests_firmware_LegacyRecovery
+	+tests_firmware_MenuDevBootUSB
+	+tests_firmware_MenuPowerOff
+	+tests_firmware_MiniDiag
+	+tests_firmware_MiniosMenu
+	+tests_firmware_MiniosPriority
+	+tests_firmware_Mosys
+	+tests_firmware_PDConnect
+	+tests_firmware_PDDataSwap
+	+tests_firmware_PDPowerSwap
+	+tests_firmware_PDProtocol
+	+tests_firmware_PDResetHard
+	+tests_firmware_PDResetSoft
+	+tests_firmware_PDTrySrc
+	+tests_firmware_PDVbusRequest
+	+tests_firmware_RecoveryButton
+	+tests_firmware_RecoveryCacheBootKeys
+	+tests_firmware_RollbackFirmware
+	+tests_firmware_RollbackKernel
+	+tests_firmware_SelfSignedBoot
+	+tests_firmware_SetSerialNumber
+	+tests_firmware_SoftwareSync
+	+tests_firmware_StandbyPowerConsumption
+	+tests_firmware_SysfsVPD
+	+tests_firmware_TPMNotCorruptedDevMode
+	tpm? ( +tests_firmware_TPMExtend )
+	tpm? ( +tests_firmware_TPMVersionCheck )
+	tpm? ( +tests_firmware_TPMKernelVersion )
+	tpm2? ( +tests_firmware_TPMExtend )
+	tpm2? ( +tests_firmware_TPMVersionCheck )
+	tpm2? ( +tests_firmware_TPMKernelVersion )
+	+tests_firmware_TryFwB
+	+tests_firmware_TypeCCharging
+	+tests_firmware_TypeCProbeUSB3
+	+tests_firmware_UpdateFirmwareDataKeyVersion
+	+tests_firmware_UpdateFirmwareVersion
+	+tests_firmware_UpdateKernelDataKeyVersion
+	+tests_firmware_UpdateKernelSubkeyVersion
+	+tests_firmware_UpdateKernelVersion
+	+tests_firmware_UpdaterModes
+	+tests_firmware_UserRequestRecovery
+	+tests_firmware_WilcoDiagnosticsMode
+	+tests_firmware_WriteProtect
+	+tests_firmware_WriteProtectFunc
+	+tests_fleet_FirmwareUpdate
+	+tests_graphics_MultipleDisplays
+	+tests_graphics_PowerConsumption
+	+tests_hardware_DiskFirmwareUpgrade
+	+tests_hardware_MemoryIntegrity
+	+tests_hardware_StorageQual
+	+tests_hardware_StorageQualBase
+	+tests_hardware_StorageQualCheckSetup
+	+tests_hardware_StorageQualSuspendStress
+	+tests_hardware_StorageQualTrimStress
+	+tests_hardware_StorageQualV2
+	+tests_hardware_StorageStress
+	+tests_infra_MultiDutsWithAndroid
+	+tests_infra_TLSExecDUTCommand
+	+tests_kernel_EmptyLines
+	+tests_kernel_VerityCorruptRootfsA
+	minios? (
+		+tests_nbr_EndToEndTest
+		+tests_nbr_NetworkInterruptions
+	)
+	+tests_p2p_EndToEndTest
+	+tests_platform_BootDevice
+	+tests_platform_BootLockboxServer
+	+tests_platform_CompromisedStatefulPartition
+	+tests_platform_CorruptRootfs
+	+tests_platform_CrashStateful
+	+tests_platform_ExternalUsbPeripherals
+	+tests_platform_FetchCloudConfig
+	+tests_platform_FlashErasers
+	+tests_platform_Flashrom
+	+tests_platform_HWwatchdog
+	+tests_platform_InitLoginPerfServer
+	+tests_platform_KernelErrorPaths
+	+tests_platform_MTBF
+	power_management? (
+		+tests_platform_PowerStatusStress
+		+tests_power_WakeSources
+	)
+	+tests_platform_ServoPowerStateController
+	+tests_platform_StageAndRecover
+	+tests_platform_SyncCrash
+	readahead? ( +tests_platform_UReadAheadServer )
+	+tests_policy_DeviceServer
+	+tests_power_BrightnessResetAfterReboot
+	+tests_power_LW
+	+tests_power_ServoChargeStress
+	+tests_power_ServodWrapper
+	+tests_provision_CheetsUpdate
+	+tests_provision_Cr50TOT
+	+tests_provision_Cr50Update
+	+tests_provision_FactoryImage
+	+tests_provision_FirmwareUpdate
+	+tests_provision_QuickProvision
+	+tests_pvs_Sequence
+	+tests_rlz_CheckPing
+	+tests_sequences
+	+tests_servo_LabControlVerification
+	+tests_servo_LabstationVerification
+	+tests_servo_USBMuxVerification
+	+tests_servo_LogGrab
+	+tests_servo_Verification
+	+tests_servohost_Reboot
+	+tests_stress_EnrollmentRetainment
+	+tests_stub_FailServer
+	+tests_stub_PassServer
+	+tests_stub_ServerToClientPass
+	+tests_stub_SynchronousOffloadServer
+"
+
+IUSE_TESTS="${IUSE_TESTS}
+	${SERVER_IUSE_TESTS}
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+INIT_FILE="__init__.py"
+
+src_install() {
+	# Make sure we install all |SERVER_IUSE_TESTS| first.
+	autotest_src_install
+	# Autotest depends on a few strategically placed INIT_FILEs to allow
+	# importing python code. In particular we want to allow importing
+	# server.site_tests.tast to be able to launch tast local tests.
+	# This INIT_FILE exists in git, but needs to be installed and finally
+	# packaged via chromite/lib/autotest_util.py into
+	# autotest_server_package.tar.bz2 to be served by devservers.
+	insinto "${AUTOTEST_BASE}/${AUTOTEST_SERVER_SITE_TESTS}"
+	doins "${AUTOTEST_SERVER_SITE_TESTS}/${INIT_FILE}"
+}
diff --git a/chromeos-base/autotest-server-tests/autotest-server-tests-9999.ebuild b/chromeos-base/autotest-server-tests/autotest-server-tests-9999.ebuild
index 00de315..f929ba9 100644
--- a/chromeos-base/autotest-server-tests/autotest-server-tests-9999.ebuild
+++ b/chromeos-base/autotest-server-tests/autotest-server-tests-9999.ebuild
@@ -15,7 +15,27 @@
 KEYWORDS="~*"
 
 # Enable autotest by default.
-IUSE="android-container android-container-pi android-vm-rvc +autotest biod +cellular +cheets_user cheets_user_64 -chromeless_tests -chromeless_tty debugd dlc_test has-kernelnext is-kernelnext -moblab +power_management +readahead +tpm tpm2"
+IUSE="
+	android-container
+	android-container-pi
+	android-vm-rvc
+	+autotest
+	biod
+	+cellular
+	-chromeless_tests
+	-chromeless_tty
+	debugd
+	dlc_test
+	has-kernelnext
+	is-kernelnext
+	minios
+	-moblab
+	+power_management
+	+readahead
+	+tpm
+	tpm2
+	"
+
 REQUIRED_USE="?? ( has-kernelnext is-kernelnext )"
 
 RDEPEND=""
@@ -53,18 +73,19 @@
 	+tests_audio_InternalCardNodes
 	+tests_audio_LeftRightInternalSpeaker
 	+tests_audio_MediaBasicVerification
-	+tests_audio_PowerConsumption
-	+tests_audiovideo_AVSync
 	+tests_autoupdate_Basic
 	+tests_autoupdate_CatchBadSignatures
 	+tests_autoupdate_Cellular
 	+tests_autoupdate_ConsecutiveUpdatesBeforeReboot
 	+tests_autoupdate_DataPreserved
+	+tests_autoupdate_DeferredUpdate
+	+tests_autoupdate_EndToEndTest
 	+tests_autoupdate_ForcedOOBEUpdate
 	+tests_autoupdate_FromUI
 	+tests_autoupdate_Interruptions
 	+tests_autoupdate_InvalidateUpdateBeforeReboot
 	+tests_autoupdate_Lacros
+	minios? ( +tests_autoupdate_MiniOS )
 	+tests_autoupdate_NonBlockingOOBEUpdate
 	+tests_autoupdate_OmahaResponse
 	+tests_autoupdate_P2P
@@ -74,41 +95,22 @@
 	dlc_test? ( +tests_autoupdate_WithDLC )
 	cellular? ( +tests_cellular_StaleModemReboot )
 	android-container-pi? (
-		cheets_user? (
-			+tests_cheets_CTS_Instant
-			+tests_cheets_CTS_P
-		)
-		cheets_user_64? (
-			+tests_cheets_CTS_Instant
-			+tests_cheets_CTS_P
-		)
+		+tests_cheets_CTS_Instant
+		+tests_cheets_CTS_P
 	)
 	android-vm-rvc? (
-		cheets_user_64? (
-			+tests_cheets_CTS_R
-		)
+		+tests_cheets_CTS_R
 	)
 	+tests_cellular_Callbox_AssertCellularData
 	+tests_cellular_Callbox_AssertSMS
-	+tests_cheets_LabDependencies
-	debugd? ( +tests_debugd_DevTools )
-	+tests_crosperf_Wrapper
 	+tests_display_EdidStress
-	+tests_display_HDCPScreen
 	+tests_display_HotPlugAtBoot
 	+tests_display_HotPlugAtSuspend
-	+tests_display_HotPlugNoisy
 	+tests_display_LidCloseOpen
-	+tests_display_NoEdid
 	+tests_display_Resolution
 	+tests_display_ResolutionList
 	+tests_display_ServerChameleonConnection
-	+tests_display_SuspendStress
 	+tests_display_SwitchMode
-	+tests_enterprise_ClearTPM
-	+tests_enterprise_KioskEnrollmentServer
-	+tests_enterprise_LongevityTrackerServer
-	+tests_enterprise_OnlineDemoMode
 	+tests_factory_Basic
 	+tests_firmware_Bmpblk
 	+tests_firmware_CgptStress
@@ -145,6 +147,7 @@
 	+tests_firmware_Cr50InvalidateRW
 	+tests_firmware_Cr50Keygen
 	+tests_firmware_Cr50Open
+	+tests_firmware_Cr50OpenTPMRstDebounce
 	+tests_firmware_Cr50OpenWhileAPOff
 	+tests_firmware_Cr50PartialBoardId
 	+tests_firmware_Cr50Password
@@ -209,10 +212,11 @@
 	+tests_firmware_FWupdateWP
 	+tests_firmware_FWupdateThenSleep
 	+tests_firmware_FWupdateWP
+	+tests_firmware_GSCAPROV1Trigger
+	+tests_firmware_GSCSetAPROV1
 	+tests_firmware_InvalidUSB
 	+tests_firmware_LegacyRecovery
 	+tests_firmware_MenuDevBootUSB
-	+tests_firmware_MenuModeTransition
 	+tests_firmware_MenuPowerOff
 	+tests_firmware_MiniDiag
 	+tests_firmware_MiniosMenu
@@ -267,23 +271,17 @@
 	+tests_hardware_StorageQualTrimStress
 	+tests_hardware_StorageQualV2
 	+tests_hardware_StorageStress
-	+tests_infra_ServerPythonVersion
+	+tests_infra_MultiDutsWithAndroid
 	+tests_infra_TLSExecDUTCommand
 	+tests_kernel_EmptyLines
-	+tests_kernel_ExternalUsbPeripheralsDetectionTest
-	+tests_kernel_IdlePerf
-	+tests_kernel_MemoryRamoop
-	moblab? (
-		+tests_moblab_RunSuite
-		+tests_moblab_StorageQual
+	+tests_kernel_VerityCorruptRootfsA
+	minios? (
+		+tests_nbr_EndToEndTest
+		+tests_nbr_NetworkInterruptions
 	)
-	+tests_moblab_Setup
-	+tests_network_FirewallHolePunchServer
 	+tests_p2p_EndToEndTest
-	+tests_platform_ActivateDate
 	+tests_platform_BootDevice
 	+tests_platform_BootLockboxServer
-	+tests_platform_BootPerfServer
 	+tests_platform_CompromisedStatefulPartition
 	+tests_platform_CorruptRootfs
 	+tests_platform_CrashStateful
@@ -293,30 +291,19 @@
 	+tests_platform_Flashrom
 	+tests_platform_HWwatchdog
 	+tests_platform_InitLoginPerfServer
-	+tests_platform_InstallTestImage
-	+tests_platform_InternalDisplay
 	+tests_platform_KernelErrorPaths
 	+tests_platform_MTBF
 	power_management? (
 		+tests_platform_PowerStatusStress
 		+tests_power_WakeSources
 	)
-	+tests_platform_Powerwash
-	+tests_platform_RotationFps
 	+tests_platform_ServoPowerStateController
 	+tests_platform_StageAndRecover
 	+tests_platform_SyncCrash
 	readahead? ( +tests_platform_UReadAheadServer )
-	+tests_platform_Vpd
 	+tests_policy_DeviceServer
-	+tests_policy_WilcoServerUSBPowershare
 	+tests_power_BrightnessResetAfterReboot
-	+tests_power_ChargeControlWrapper
-	+tests_power_MeetCall
-	+tests_power_Monitoring
 	+tests_power_LW
-	+tests_power_PowerlogWrapper
-	+tests_power_RPMTest
 	+tests_power_ServoChargeStress
 	+tests_power_ServodWrapper
 	+tests_provision_CheetsUpdate
@@ -325,6 +312,7 @@
 	+tests_provision_FactoryImage
 	+tests_provision_FirmwareUpdate
 	+tests_provision_QuickProvision
+	+tests_pvs_Sequence
 	+tests_rlz_CheckPing
 	+tests_sequences
 	+tests_servo_LabControlVerification
@@ -333,7 +321,6 @@
 	+tests_servo_LogGrab
 	+tests_servo_Verification
 	+tests_servohost_Reboot
-	+tests_stress_ClientTestReboot
 	+tests_stress_EnrollmentRetainment
 	+tests_stub_FailServer
 	+tests_stub_PassServer
diff --git a/chromeos-base/autotest-tests-arc-public/autotest-tests-arc-public-0.0.1-r2982.ebuild b/chromeos-base/autotest-tests-arc-public/autotest-tests-arc-public-0.0.1-r2982.ebuild
deleted file mode 100644
index 09dbfdb..0000000
--- a/chromeos-base/autotest-tests-arc-public/autotest-tests-arc-public-0.0.1-r2982.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-CROS_WORKON_COMMIT="60ac81314efc8b9afa57bfed98402b9250a51128"
-CROS_WORKON_TREE="72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2"
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
-
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit autotest cros-workon flag-o-matic python-any-r1
-
-DESCRIPTION="Public ARC autotests"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="
-	dev-python/pyxattr
-	chromeos-base/chromeos-chrome
-	chromeos-base/autotest-chrome
-	chromeos-base/telemetry
-	"
-
-DEPEND="${RDEPEND}"
-
-IUSE="
-	+autotest
-"
-
-src_prepare() {
-	# Telemetry tests require the path to telemetry source to exist in order to
-	# build. Copy the telemetry source to a temporary directory that is writable,
-	# so that file removals in Telemetry source can be performed properly.
-	export TMP_DIR="$(mktemp -d)"
-	cp -r "${SYSROOT}/usr/local/telemetry" "${TMP_DIR}"
-	export PYTHONPATH="${TMP_DIR}/telemetry/src/third_party/catapult/telemetry"
-	autotest_src_prepare
-}
diff --git a/chromeos-base/autotest-tests-arc-public/autotest-tests-arc-public-0.0.1-r3692.ebuild b/chromeos-base/autotest-tests-arc-public/autotest-tests-arc-public-0.0.1-r3692.ebuild
new file mode 100644
index 0000000..6ecec27
--- /dev/null
+++ b/chromeos-base/autotest-tests-arc-public/autotest-tests-arc-public-0.0.1-r3692.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+CROS_WORKON_COMMIT="97f5d3a696dbbd15847d2e23692290c9b43dcffe"
+CROS_WORKON_TREE="e2c200b37b72780b72fd07a23555aedf104222cf"
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit autotest cros-workon flag-o-matic python-any-r1
+
+DESCRIPTION="Public ARC autotests"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="
+	dev-python/pyxattr
+	chromeos-base/chromeos-chrome
+	chromeos-base/autotest-chrome
+	chromeos-base/telemetry
+	"
+
+DEPEND="${RDEPEND}"
+
+IUSE="
+	+autotest
+"
+
+src_prepare() {
+	# Telemetry tests require the path to telemetry source to exist in order to
+	# build. Copy the telemetry source to a temporary directory that is writable,
+	# so that file removals in Telemetry source can be performed properly.
+	export TMP_DIR="$(mktemp -d)"
+	cp -r "${SYSROOT}/usr/local/telemetry" "${TMP_DIR}"
+	export PYTHONPATH="${TMP_DIR}/telemetry/src/third_party/catapult/telemetry"
+	autotest_src_prepare
+}
diff --git a/chromeos-base/autotest-tests-arc-public/autotest-tests-arc-public-9999.ebuild b/chromeos-base/autotest-tests-arc-public/autotest-tests-arc-public-9999.ebuild
index 5f57887..3171ddc 100644
--- a/chromeos-base/autotest-tests-arc-public/autotest-tests-arc-public-9999.ebuild
+++ b/chromeos-base/autotest-tests-arc-public/autotest-tests-arc-public-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=5
 
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
 CROS_WORKON_LOCALNAME="third_party/autotest/files"
diff --git a/chromeos-base/autotest-tests-audio/autotest-tests-audio-0.0.1-r3230.ebuild b/chromeos-base/autotest-tests-audio/autotest-tests-audio-0.0.1-r3230.ebuild
deleted file mode 100644
index 9996277..0000000
--- a/chromeos-base/autotest-tests-audio/autotest-tests-audio-0.0.1-r3230.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="6d9e09b38ff9fe3dd9a5cd55924dac684836433f"
-CROS_WORKON_TREE="b58098241b96bff4dfeee98f72595fba1d7d3210"
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
-
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest python-any-r1
-
-DESCRIPTION="Audio autotests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-# Enable autotest by default.
-IUSE="+autotest -chromeless_tty"
-
-RDEPEND="
-	!<chromeos-base/autotest-tests-0.0.3
-	chromeos-base/audiotest
-	!chromeless_tty? ( chromeos-base/telemetry )
-"
-DEPEND="${RDEPEND}"
-
-# audio_AudioInputGain and audio_CrasGetNodes depend on telemetry.
-IUSE_TESTS="
-	+tests_audio_Aconnect
-	+tests_audio_Aplay
-	!chromeless_tty? (
-		+tests_audio_AudioInputGain
-		+tests_audio_CrasGetNodes
-	)
-	+tests_audio_CRASFormatConversion
-	+tests_audio_CrasDevSwitchStress
-	+tests_audio_CrasPinnedStream
-	+tests_audio_CrasStress
-	+tests_audio_CrasAec
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-src_prepare() {
-	if ! use chromeless_tty; then
-		# Telemetry tests require the path to telemetry source to exist in order to
-		# build. Copy the telemetry source to a temporary directory that is writable,
-		# so that file removals in Telemetry source can be performed properly.
-		export TMP_DIR="$(mktemp -d)"
-		cp -r "${SYSROOT}/usr/local/telemetry" "${TMP_DIR}"
-		export PYTHONPATH="${TMP_DIR}/telemetry/src/third_party/catapult/telemetry"
-	fi
-	autotest_src_prepare
-}
diff --git a/chromeos-base/autotest-tests-audio/autotest-tests-audio-0.0.1-r3241.ebuild b/chromeos-base/autotest-tests-audio/autotest-tests-audio-0.0.1-r3241.ebuild
new file mode 100644
index 0000000..a16595e
--- /dev/null
+++ b/chromeos-base/autotest-tests-audio/autotest-tests-audio-0.0.1-r3241.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="8ebbd01e4accdf7a460683cdfefae896dcf58ed6"
+CROS_WORKON_TREE="496ceb631aba9300adf9986d876166ab0e562420"
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest python-any-r1
+
+DESCRIPTION="Audio autotests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+# Enable autotest by default.
+IUSE="+autotest -chromeless_tty"
+
+RDEPEND="
+	!<chromeos-base/autotest-tests-0.0.3
+	chromeos-base/audiotest
+	!chromeless_tty? ( chromeos-base/telemetry )
+"
+DEPEND="${RDEPEND}"
+
+# audio_AudioInputGain and audio_CrasGetNodes depend on telemetry.
+IUSE_TESTS="
+	+tests_audio_Aconnect
+	+tests_audio_Aplay
+	!chromeless_tty? (
+		+tests_audio_AudioInputGain
+		+tests_audio_CrasGetNodes
+	)
+	+tests_audio_CRASFormatConversion
+	+tests_audio_CrasDevSwitchStress
+	+tests_audio_CrasPinnedStream
+	+tests_audio_CrasStress
+	+tests_audio_CrasAec
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+src_prepare() {
+	if ! use chromeless_tty; then
+		# Telemetry tests require the path to telemetry source to exist in order to
+		# build. Copy the telemetry source to a temporary directory that is writable,
+		# so that file removals in Telemetry source can be performed properly.
+		export TMP_DIR="$(mktemp -d)"
+		cp -r "${SYSROOT}/usr/local/telemetry" "${TMP_DIR}"
+		export PYTHONPATH="${TMP_DIR}/telemetry/src/third_party/catapult/telemetry"
+	fi
+	autotest_src_prepare
+}
diff --git a/chromeos-base/autotest-tests-audio/autotest-tests-audio-9999.ebuild b/chromeos-base/autotest-tests-audio/autotest-tests-audio-9999.ebuild
index 5b0d3b3..dadf5d0 100644
--- a/chromeos-base/autotest-tests-audio/autotest-tests-audio-9999.ebuild
+++ b/chromeos-base/autotest-tests-audio/autotest-tests-audio-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
 CROS_WORKON_LOCALNAME="third_party/autotest/files"
diff --git a/chromeos-base/autotest-tests-bluetooth/OWNERS b/chromeos-base/autotest-tests-bluetooth/OWNERS
new file mode 100644
index 0000000..e819e30
--- /dev/null
+++ b/chromeos-base/autotest-tests-bluetooth/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/autotest:/BLUETOOTH_OWNERS
diff --git a/chromeos-base/autotest-tests-bluetooth/autotest-tests-bluetooth-0.0.1-r15.ebuild b/chromeos-base/autotest-tests-bluetooth/autotest-tests-bluetooth-0.0.1-r15.ebuild
new file mode 100644
index 0000000..b7184cb
--- /dev/null
+++ b/chromeos-base/autotest-tests-bluetooth/autotest-tests-bluetooth-0.0.1-r15.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="7f9b91be4720de05d5edacf45cb9fc354276f557"
+CROS_WORKON_TREE="5e1ee6ce4ed48a5878834b45a979c765e68944c4"
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest python-any-r1
+
+DESCRIPTION="Autotest tests for Bluetooth"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Enable autotest by default.
+IUSE="+autotest"
+
+RDEPEND="
+	chromeos-base/autotest-client
+	dev-python/btsocket
+"
+
+CLIENT_IUSE_TESTS="
+	+tests_bluetooth_AVLHCI
+	+tests_bluetooth_AVLDriver
+	+tests_bluetooth_AdapterQuickHealthClient
+"
+
+IUSE_TESTS="${IUSE_TESTS}
+	${CLIENT_IUSE_TESTS}
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-bluetooth/autotest-tests-bluetooth-9999.ebuild b/chromeos-base/autotest-tests-bluetooth/autotest-tests-bluetooth-9999.ebuild
new file mode 100644
index 0000000..7836538
--- /dev/null
+++ b/chromeos-base/autotest-tests-bluetooth/autotest-tests-bluetooth-9999.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest python-any-r1
+
+DESCRIPTION="Autotest tests for Bluetooth"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~*"
+
+# Enable autotest by default.
+IUSE="+autotest"
+
+RDEPEND="
+	chromeos-base/autotest-client
+	dev-python/btsocket
+"
+
+CLIENT_IUSE_TESTS="
+	+tests_bluetooth_AVLHCI
+	+tests_bluetooth_AVLDriver
+	+tests_bluetooth_AdapterQuickHealthClient
+"
+
+IUSE_TESTS="${IUSE_TESTS}
+	${CLIENT_IUSE_TESTS}
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-cellular/autotest-tests-cellular-0.0.1-r3275.ebuild b/chromeos-base/autotest-tests-cellular/autotest-tests-cellular-0.0.1-r3275.ebuild
deleted file mode 100644
index 6ff3d8df..0000000
--- a/chromeos-base/autotest-tests-cellular/autotest-tests-cellular-0.0.1-r3275.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f927341fc47e4d03337314ef669d0152716d931c"
-CROS_WORKON_TREE="15eb42bb3a2037b3fafd2d7882e031dfb97b33ab"
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
-
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-
-inherit cros-workon autotest python-any-r1
-
-DESCRIPTION="Cellular autotests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-# Enable autotest by default.
-IUSE="${IUSE} +autotest"
-
-RDEPEND="
-	!<chromeos-base/autotest-tests-0.0.2
-	chromeos-base/autotest-deps-cellular
-	chromeos-base/shill-test-scripts
-	dev-python/pygobject
-	dev-python/pyusb
-	sys-apps/ethtool
-"
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS="
-	+tests_cellular_ActivateLTE
-	+tests_cellular_ConnectFailure
-	+tests_cellular_DeferredRegistration
-	+tests_cellular_DisableWhileConnecting
-	+tests_cellular_DisconnectFailure
-	+tests_cellular_HermesErrorScenarios
-	+tests_cellular_HermesMM_InstallEnable
-	+tests_cellular_Hermes_MultiProfile
-	+tests_cellular_Hermes_Restart_SlotSwitch
-	+tests_cellular_Hermes_SingleProfile
-	+tests_cellular_Identifiers
-	+tests_cellular_OutOfCreditsSubscriptionState
-	+tests_cellular_SIMLocking
-	+tests_cellular_SafetyDance
-	+tests_cellular_ScanningProperty
-	+tests_cellular_ServiceName
-	+tests_cellular_Smoke
-	+tests_cellular_StressEnable
-	+tests_cellular_ValidateTestEnvironment
-"
-
-IUSE_MBIM_TESTS="
-	+tests_cellular_MbimComplianceControlCommand
-	+tests_cellular_MbimComplianceControlRequest
-	+tests_cellular_MbimComplianceDataTransfer
-	+tests_cellular_MbimComplianceDescriptor
-	+tests_cellular_MbimComplianceError
-"
-
-IUSE_TESTS="${IUSE_TESTS} ${IUSE_MBIM_TESTS}"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-AUTOTEST_DEPS_LIST=""
-AUTOTEST_CONFIG_LIST=""
-AUTOTEST_PROFILERS_LIST=""
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-cellular/autotest-tests-cellular-0.0.1-r3284.ebuild b/chromeos-base/autotest-tests-cellular/autotest-tests-cellular-0.0.1-r3284.ebuild
new file mode 100644
index 0000000..3a614ed
--- /dev/null
+++ b/chromeos-base/autotest-tests-cellular/autotest-tests-cellular-0.0.1-r3284.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="80e0b6fbcbf2b0dade01c05dd129cecf6ed9a0d2"
+CROS_WORKON_TREE="7a121e6ee6cd998fac479dc6ce77067c320ba75b"
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+
+inherit cros-workon autotest python-any-r1
+
+DESCRIPTION="Cellular autotests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+# Enable autotest by default.
+IUSE="${IUSE} +autotest"
+
+RDEPEND="
+	!<chromeos-base/autotest-tests-0.0.2
+	chromeos-base/autotest-deps-cellular
+	chromeos-base/shill-test-scripts
+	dev-python/pygobject
+	dev-python/pyusb
+	sys-apps/ethtool
+"
+DEPEND="${RDEPEND}"
+
+IUSE_TESTS="
+	+tests_cellular_ConnectFailure
+	+tests_cellular_DisableWhileConnecting
+	+tests_cellular_DisconnectFailure
+	+tests_cellular_HermesErrorScenarios
+	+tests_cellular_HermesMM_InstallEnable
+	+tests_cellular_Hermes_MultiProfile
+	+tests_cellular_Hermes_Restart_SlotSwitch
+	+tests_cellular_Hermes_SingleProfile
+	+tests_cellular_Identifiers
+	+tests_cellular_SIMLocking
+	+tests_cellular_SafetyDance
+	+tests_cellular_Smoke
+	+tests_cellular_StressEnable
+	+tests_cellular_ValidateTestEnvironment
+"
+
+IUSE_MBIM_TESTS="
+"
+
+IUSE_TESTS="${IUSE_TESTS} ${IUSE_MBIM_TESTS}"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+AUTOTEST_DEPS_LIST=""
+AUTOTEST_CONFIG_LIST=""
+AUTOTEST_PROFILERS_LIST=""
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-cellular/autotest-tests-cellular-9999.ebuild b/chromeos-base/autotest-tests-cellular/autotest-tests-cellular-9999.ebuild
index e7dbcc2..d7da963 100644
--- a/chromeos-base/autotest-tests-cellular/autotest-tests-cellular-9999.ebuild
+++ b/chromeos-base/autotest-tests-cellular/autotest-tests-cellular-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
 
@@ -30,9 +30,7 @@
 DEPEND="${RDEPEND}"
 
 IUSE_TESTS="
-	+tests_cellular_ActivateLTE
 	+tests_cellular_ConnectFailure
-	+tests_cellular_DeferredRegistration
 	+tests_cellular_DisableWhileConnecting
 	+tests_cellular_DisconnectFailure
 	+tests_cellular_HermesErrorScenarios
@@ -41,22 +39,14 @@
 	+tests_cellular_Hermes_Restart_SlotSwitch
 	+tests_cellular_Hermes_SingleProfile
 	+tests_cellular_Identifiers
-	+tests_cellular_OutOfCreditsSubscriptionState
 	+tests_cellular_SIMLocking
 	+tests_cellular_SafetyDance
-	+tests_cellular_ScanningProperty
-	+tests_cellular_ServiceName
 	+tests_cellular_Smoke
 	+tests_cellular_StressEnable
 	+tests_cellular_ValidateTestEnvironment
 "
 
 IUSE_MBIM_TESTS="
-	+tests_cellular_MbimComplianceControlCommand
-	+tests_cellular_MbimComplianceControlRequest
-	+tests_cellular_MbimComplianceDataTransfer
-	+tests_cellular_MbimComplianceDescriptor
-	+tests_cellular_MbimComplianceError
 "
 
 IUSE_TESTS="${IUSE_TESTS} ${IUSE_MBIM_TESTS}"
diff --git a/chromeos-base/autotest-tests-debugd/autotest-tests-debugd-0.0.1-r3181.ebuild b/chromeos-base/autotest-tests-debugd/autotest-tests-debugd-0.0.1-r3181.ebuild
deleted file mode 100644
index 35ddf2a..0000000
--- a/chromeos-base/autotest-tests-debugd/autotest-tests-debugd-0.0.1-r3181.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="baba8700d60d7c93c279d79e613461a14309802a"
-CROS_WORKON_TREE="6f8448a0bf6f2ed3432ce337d6ae43043c6ca06c"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest
-
-DESCRIPTION="debugd autotests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-# Enable autotest by default.
-IUSE="+autotest"
-
-RDEPEND="
-	!<chromeos-base/autotest-tests-0.0.3
-"
-
-IUSE_TESTS="
-	+tests_platform_TraceClockMonotonic
-	+tests_platform_DebugDaemonGetNetworkStatus
-	+tests_platform_DebugDaemonGetPerfData
-	+tests_platform_DebugDaemonGetPerfOutputFd
-	+tests_platform_DebugDaemonGetRoutes
-	+tests_platform_DebugDaemonPerfDataInFeedbackLogs
-	+tests_platform_DebugDaemonPing
-	+tests_platform_DebugDaemonTracePath
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-debugd/autotest-tests-debugd-0.0.1-r3871.ebuild b/chromeos-base/autotest-tests-debugd/autotest-tests-debugd-0.0.1-r3871.ebuild
new file mode 100644
index 0000000..42611a5
--- /dev/null
+++ b/chromeos-base/autotest-tests-debugd/autotest-tests-debugd-0.0.1-r3871.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="97f5d3a696dbbd15847d2e23692290c9b43dcffe"
+CROS_WORKON_TREE="e2c200b37b72780b72fd07a23555aedf104222cf"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest
+
+DESCRIPTION="debugd autotests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+# Enable autotest by default.
+IUSE="+autotest"
+
+RDEPEND="
+	!<chromeos-base/autotest-tests-0.0.3
+"
+
+IUSE_TESTS="
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-debugd/autotest-tests-debugd-9999.ebuild b/chromeos-base/autotest-tests-debugd/autotest-tests-debugd-9999.ebuild
index 72a7cd7..b64987f 100644
--- a/chromeos-base/autotest-tests-debugd/autotest-tests-debugd-9999.ebuild
+++ b/chromeos-base/autotest-tests-debugd/autotest-tests-debugd-9999.ebuild
@@ -22,14 +22,6 @@
 "
 
 IUSE_TESTS="
-	+tests_platform_TraceClockMonotonic
-	+tests_platform_DebugDaemonGetNetworkStatus
-	+tests_platform_DebugDaemonGetPerfData
-	+tests_platform_DebugDaemonGetPerfOutputFd
-	+tests_platform_DebugDaemonGetRoutes
-	+tests_platform_DebugDaemonPerfDataInFeedbackLogs
-	+tests_platform_DebugDaemonPing
-	+tests_platform_DebugDaemonTracePath
 "
 
 IUSE="${IUSE} ${IUSE_TESTS}"
diff --git a/chromeos-base/autotest-tests-graphics/autotest-tests-graphics-0.0.1-r3275.ebuild b/chromeos-base/autotest-tests-graphics/autotest-tests-graphics-0.0.1-r3275.ebuild
deleted file mode 100644
index a114553..0000000
--- a/chromeos-base/autotest-tests-graphics/autotest-tests-graphics-0.0.1-r3275.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-CROS_WORKON_COMMIT="446d9884b13cd0d87b31e28542aceb3fd83cfe76"
-CROS_WORKON_TREE="0b01c1fad1d22006b5a807d9a73df52ec0d973cd"
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
-
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-sanitizers cros-workon autotest python-any-r1
-
-DESCRIPTION="Graphics autotests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-# Enable autotest by default.
-IUSE="+autotest"
-
-RDEPEND="
-	!<chromeos-base/autotest-tests-0.0.3
-	chromeos-base/autotest-deps-graphics
-	tests_graphics_Gbm? ( media-libs/minigbm )
-	tests_graphics_GLBench? ( chromeos-base/glbench )
-	tests_graphics_GLMark2? ( chromeos-base/autotest-deps-glmark2 )
-	tests_graphics_SanAngeles? ( media-libs/waffle )
-"
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS="
-	+tests_graphics_Gbm
-	+tests_graphics_GLAPICheck
-	+tests_graphics_GLBench
-	+tests_graphics_GLMark2
-	+tests_graphics_KernelConfig
-	+tests_graphics_KernelMemory
-	+tests_graphics_LibDRM
-	+tests_graphics_PerfControl
-	+tests_graphics_SanAngeles
-	+tests_graphics_SyncControlTest
-	+tests_graphics_parallel_dEQP
-	+tests_graphics_Power
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-src_configure() {
-	sanitizers-setup-env
-	default
-}
diff --git a/chromeos-base/autotest-tests-graphics/autotest-tests-graphics-0.0.1-r3295.ebuild b/chromeos-base/autotest-tests-graphics/autotest-tests-graphics-0.0.1-r3295.ebuild
new file mode 100644
index 0000000..0de349e
--- /dev/null
+++ b/chromeos-base/autotest-tests-graphics/autotest-tests-graphics-0.0.1-r3295.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+CROS_WORKON_COMMIT="a6ae5e0da56e419b15a25612d909c90de1537596"
+CROS_WORKON_TREE="16f1aabf5339445c84e369dcaf2d7e2c086f0da5"
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-sanitizers cros-workon autotest python-any-r1
+
+DESCRIPTION="Graphics autotests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+# Enable autotest by default.
+IUSE="+autotest"
+
+RDEPEND="
+	!<chromeos-base/autotest-tests-0.0.3
+	chromeos-base/autotest-deps-graphics
+	tests_graphics_Gbm? ( media-libs/minigbm )
+	tests_graphics_GLBench? ( chromeos-base/glbench )
+	tests_graphics_SanAngeles? ( media-libs/waffle )
+"
+DEPEND="${RDEPEND}"
+
+IUSE_TESTS="
+	+tests_graphics_Gbm
+	+tests_graphics_GLAPICheck
+	+tests_graphics_GLBench
+	+tests_graphics_HardwareProbe
+	+tests_graphics_KernelConfig
+	+tests_graphics_KernelMemory
+	+tests_graphics_LibDRM
+	+tests_graphics_PerfControl
+	+tests_graphics_SanAngeles
+	+tests_graphics_SyncControlTest
+	+tests_graphics_parallel_dEQP
+	+tests_graphics_Power
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
diff --git a/chromeos-base/autotest-tests-graphics/autotest-tests-graphics-9999.ebuild b/chromeos-base/autotest-tests-graphics/autotest-tests-graphics-9999.ebuild
index 5b9bf63..e154ba7 100644
--- a/chromeos-base/autotest-tests-graphics/autotest-tests-graphics-9999.ebuild
+++ b/chromeos-base/autotest-tests-graphics/autotest-tests-graphics-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=5
 
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
 CROS_WORKON_LOCALNAME="third_party/autotest/files"
@@ -25,7 +25,6 @@
 	chromeos-base/autotest-deps-graphics
 	tests_graphics_Gbm? ( media-libs/minigbm )
 	tests_graphics_GLBench? ( chromeos-base/glbench )
-	tests_graphics_GLMark2? ( chromeos-base/autotest-deps-glmark2 )
 	tests_graphics_SanAngeles? ( media-libs/waffle )
 "
 DEPEND="${RDEPEND}"
@@ -34,7 +33,7 @@
 	+tests_graphics_Gbm
 	+tests_graphics_GLAPICheck
 	+tests_graphics_GLBench
-	+tests_graphics_GLMark2
+	+tests_graphics_HardwareProbe
 	+tests_graphics_KernelConfig
 	+tests_graphics_KernelMemory
 	+tests_graphics_LibDRM
diff --git a/chromeos-base/autotest-tests-ownershipapi/autotest-tests-ownershipapi-0.0.1-r7898.ebuild b/chromeos-base/autotest-tests-ownershipapi/autotest-tests-ownershipapi-0.0.1-r7898.ebuild
deleted file mode 100644
index 19bc571..0000000
--- a/chromeos-base/autotest-tests-ownershipapi/autotest-tests-ownershipapi-0.0.1-r7898.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-CROS_WORKON_COMMIT="af6d472bbe3632facff407743314294498427ea2"
-CROS_WORKON_TREE="738143231455a51480a9776268efe33b1c2f8786"
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
-
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-
-inherit cros-workon autotest python-any-r1
-
-DESCRIPTION="login_OwnershipApi autotest"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-IUSE="+xset +tpmtools"
-# Enable autotest by default.
-IUSE="${IUSE} +autotest"
-
-RDEPEND="${RDEPEND}
-	chromeos-base/autotest-deps-dbus
-	chromeos-base/autotest-deps-policy
-	chromeos-base/chromeos-chrome
-	chromeos-base/telemetry
-	dev-python/protobuf-python
-	dev-python/pygobject
-"
-
-DEPEND="${RDEPEND}"
-
-# The telemetry dependency comes from the chrome.py import in some of the tests.
-IUSE_TESTS="
-	+tests_login_CryptohomeOwnerQuery
-	+tests_login_MultipleSessions
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-AUTOTEST_DEPS_LIST=""
-AUTOTEST_CONFIG_LIST=""
-AUTOTEST_PROFILERS_LIST=""
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-src_prepare() {
-	# Telemetry tests require the path to telemetry source to exist in order to
-	# build.  Copy the telemetry source to a temporary directory that is writable,
-	# so that file removals in Telemetry source can be performed properly.
-	export TMP_DIR="$(mktemp -d)"
-	cp -r "${SYSROOT}/usr/local/telemetry" "${TMP_DIR}"
-	export PYTHONPATH="${TMP_DIR}/telemetry/src/third_party/catapult/telemetry"
-	autotest_src_prepare
-}
diff --git a/chromeos-base/autotest-tests-ownershipapi/autotest-tests-ownershipapi-0.0.1-r7899.ebuild b/chromeos-base/autotest-tests-ownershipapi/autotest-tests-ownershipapi-0.0.1-r7899.ebuild
new file mode 100644
index 0000000..b5eb7c5
--- /dev/null
+++ b/chromeos-base/autotest-tests-ownershipapi/autotest-tests-ownershipapi-0.0.1-r7899.ebuild
@@ -0,0 +1,60 @@
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+CROS_WORKON_COMMIT="6d56a91e36c7415ef754171fe84cab5df045334c"
+CROS_WORKON_TREE="0afe9e545add6bbfe1e753734251c983a93fad69"
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+
+inherit cros-workon autotest python-any-r1
+
+DESCRIPTION="login_OwnershipApi autotest"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+IUSE="+xset +tpmtools"
+# Enable autotest by default.
+IUSE="${IUSE} +autotest"
+
+RDEPEND="${RDEPEND}
+	chromeos-base/autotest-deps-dbus
+	chromeos-base/autotest-deps-policy
+	chromeos-base/chromeos-chrome
+	chromeos-base/telemetry
+	dev-python/protobuf-python
+	dev-python/pygobject
+"
+
+DEPEND="${RDEPEND}"
+
+# The telemetry dependency comes from the chrome.py import in some of the tests.
+IUSE_TESTS="
+	+tests_login_CryptohomeOwnerQuery
+	+tests_login_MultipleSessions
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+AUTOTEST_DEPS_LIST=""
+AUTOTEST_CONFIG_LIST=""
+AUTOTEST_PROFILERS_LIST=""
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+src_prepare() {
+	# Telemetry tests require the path to telemetry source to exist in order to
+	# build.  Copy the telemetry source to a temporary directory that is writable,
+	# so that file removals in Telemetry source can be performed properly.
+	export TMP_DIR="$(mktemp -d)"
+	cp -r "${SYSROOT}/usr/local/telemetry" "${TMP_DIR}"
+	export PYTHONPATH="${TMP_DIR}/telemetry/src/third_party/catapult/telemetry"
+	autotest_src_prepare
+}
diff --git a/chromeos-base/autotest-tests-ownershipapi/autotest-tests-ownershipapi-9999.ebuild b/chromeos-base/autotest-tests-ownershipapi/autotest-tests-ownershipapi-9999.ebuild
index a022435..3737c1a 100644
--- a/chromeos-base/autotest-tests-ownershipapi/autotest-tests-ownershipapi-9999.ebuild
+++ b/chromeos-base/autotest-tests-ownershipapi/autotest-tests-ownershipapi-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=5
 
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
 
diff --git a/chromeos-base/autotest-tests-power/autotest-tests-power-0.0.1-r3265.ebuild b/chromeos-base/autotest-tests-power/autotest-tests-power-0.0.1-r3265.ebuild
deleted file mode 100644
index d158dfa..0000000
--- a/chromeos-base/autotest-tests-power/autotest-tests-power-0.0.1-r3265.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="9110f3b9282dff5e919d4145cc7ad1d499f64046"
-CROS_WORKON_TREE="6d68981e5ce5df734d579cb9cfe6f4c1a0722a22"
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
-
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest python-any-r1
-
-DESCRIPTION="power autotests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-# Enable autotest by default.
-IUSE="+autotest +shill"
-
-RDEPEND="
-	shill? ( chromeos-base/shill-test-scripts )
-	!<chromeos-base/autotest-tests-0.0.3
-"
-DEPEND="${RDEPEND}"
-
-# cros/power_suspend depends on shill-test-scripts.
-IUSE_TESTS="
-	+tests_hardware_Backlight
-	+tests_power_ARMSettings
-	+tests_power_Backlight
-	+tests_power_BacklightControl
-	+tests_power_BacklightSuspend
-	+tests_power_BatteryCharge
-	+tests_power_BatteryDesignCapacity
-	+tests_power_CheckAC
-	+tests_power_CheckAfterSuspend
-	+tests_power_CPUFreq
-	+tests_power_CPUIdle
-	+tests_power_Draw
-	+tests_power_Dummy
-	+tests_power_HotCPUSuspend
-	+tests_power_KernelSuspend
-	+tests_power_MemorySuspend
-	+tests_power_NoConsoleSuspend
-	+tests_power_ProbeDriver
-	shill? ( +tests_power_Resume )
-	+tests_power_Standby
-	+tests_power_StatsCPUFreq
-	+tests_power_StatsCPUIdle
-	+tests_power_StatsUSB
-	+tests_power_Status
-	shill? (
-		+tests_power_SuspendStress
-		+tests_power_SuspendToIdle
-	)
-	+tests_power_WaitForCoolDown
-	+tests_power_WakeupRTC
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-power/autotest-tests-power-0.0.1-r3277.ebuild b/chromeos-base/autotest-tests-power/autotest-tests-power-0.0.1-r3277.ebuild
new file mode 100644
index 0000000..b2adbd6
--- /dev/null
+++ b/chromeos-base/autotest-tests-power/autotest-tests-power-0.0.1-r3277.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="e79a360586e6227c9e21aa5a84fffaef74dc5931"
+CROS_WORKON_TREE="d5c97fe37a109c77d0507972f1adef038286e413"
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest python-any-r1
+
+DESCRIPTION="power autotests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+# Enable autotest by default.
+IUSE="+autotest +shill"
+
+RDEPEND="
+	shill? ( chromeos-base/shill-test-scripts )
+	!<chromeos-base/autotest-tests-0.0.3
+"
+DEPEND="${RDEPEND}"
+
+# cros/power_suspend depends on shill-test-scripts.
+IUSE_TESTS="
+	+tests_power_ARMSettings
+	+tests_power_Backlight
+	+tests_power_BacklightSuspend
+	+tests_power_BatteryCharge
+	+tests_power_CheckAC
+	+tests_power_CheckAfterSuspend
+	+tests_power_CPUFreq
+	+tests_power_CPUIdle
+	+tests_power_Draw
+	+tests_power_Dummy
+	+tests_power_HotCPUSuspend
+	+tests_power_KernelSuspend
+	+tests_power_ProbeDriver
+	shill? ( +tests_power_Resume )
+	+tests_power_Standby
+	+tests_power_StatsCPUFreq
+	+tests_power_StatsCPUIdle
+	+tests_power_Status
+	shill? (
+		+tests_power_SuspendStress
+		+tests_power_SuspendToIdle
+	)
+	+tests_power_WaitForCoolDown
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-power/autotest-tests-power-9999.ebuild b/chromeos-base/autotest-tests-power/autotest-tests-power-9999.ebuild
index de50c71..48d3fe9 100644
--- a/chromeos-base/autotest-tests-power/autotest-tests-power-9999.ebuild
+++ b/chromeos-base/autotest-tests-power/autotest-tests-power-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
 CROS_WORKON_LOCALNAME="third_party/autotest/files"
@@ -28,13 +28,10 @@
 
 # cros/power_suspend depends on shill-test-scripts.
 IUSE_TESTS="
-	+tests_hardware_Backlight
 	+tests_power_ARMSettings
 	+tests_power_Backlight
-	+tests_power_BacklightControl
 	+tests_power_BacklightSuspend
 	+tests_power_BatteryCharge
-	+tests_power_BatteryDesignCapacity
 	+tests_power_CheckAC
 	+tests_power_CheckAfterSuspend
 	+tests_power_CPUFreq
@@ -43,21 +40,17 @@
 	+tests_power_Dummy
 	+tests_power_HotCPUSuspend
 	+tests_power_KernelSuspend
-	+tests_power_MemorySuspend
-	+tests_power_NoConsoleSuspend
 	+tests_power_ProbeDriver
 	shill? ( +tests_power_Resume )
 	+tests_power_Standby
 	+tests_power_StatsCPUFreq
 	+tests_power_StatsCPUIdle
-	+tests_power_StatsUSB
 	+tests_power_Status
 	shill? (
 		+tests_power_SuspendStress
 		+tests_power_SuspendToIdle
 	)
 	+tests_power_WaitForCoolDown
-	+tests_power_WakeupRTC
 "
 
 IUSE="${IUSE} ${IUSE_TESTS}"
diff --git a/chromeos-base/autotest-tests-security/autotest-tests-security-0.0.1-r3317.ebuild b/chromeos-base/autotest-tests-security/autotest-tests-security-0.0.1-r3317.ebuild
deleted file mode 100644
index ee85652..0000000
--- a/chromeos-base/autotest-tests-security/autotest-tests-security-0.0.1-r3317.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-CROS_WORKON_COMMIT="627c4e409cb6bb709c717d9ddf4c8b79836e941b"
-CROS_WORKON_TREE="717f7958378805bdc9b2d26f39cfda7864cf0414"
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
-
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest libchrome cros-sanitizers python-any-r1
-
-DESCRIPTION="Security autotests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-# Enable autotest by default.
-IUSE="+autotest -chromeless_tests -chromeless_tty containers +seccomp selinux"
-
-RDEPEND="
-	!<chromeos-base/autotest-tests-0.0.3
-	containers? (
-		tests_security_Libcontainer? (
-			chromeos-base/minijail:=
-			chromeos-base/libcontainer:=
-		)
-	)
-"
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS="
-	!chromeless_tty? (
-		!chromeless_tests? (
-			+tests_security_RendererSandbox
-			+tests_security_SessionManagerDbusEndpoints
-		)
-	)
-	seccomp? (
-		+tests_security_SeccompSyscallFilters
-	)
-	containers? ( +tests_security_Libcontainer )
-	+tests_security_NosymfollowMountOption
-	+tests_security_ProcessManagementPolicy
-	+tests_security_RootfsOwners
-	+tests_security_SysVIPC
-	x86? ( +tests_security_x86Registers )
-	amd64? ( +tests_security_x86Registers )
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-cros_pre_src_configure_use_sanitizers() {
-	sanitizers-setup-env
-}
diff --git a/chromeos-base/autotest-tests-security/autotest-tests-security-0.0.1-r3319.ebuild b/chromeos-base/autotest-tests-security/autotest-tests-security-0.0.1-r3319.ebuild
new file mode 100644
index 0000000..0d863aa
--- /dev/null
+++ b/chromeos-base/autotest-tests-security/autotest-tests-security-0.0.1-r3319.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+CROS_WORKON_COMMIT="6d56a91e36c7415ef754171fe84cab5df045334c"
+CROS_WORKON_TREE="0afe9e545add6bbfe1e753734251c983a93fad69"
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest libchrome cros-sanitizers python-any-r1
+
+DESCRIPTION="Security autotests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+# Enable autotest by default.
+IUSE="+autotest -chromeless_tests -chromeless_tty containers +seccomp selinux"
+
+RDEPEND="
+	!<chromeos-base/autotest-tests-0.0.3
+"
+DEPEND="${RDEPEND}"
+
+IUSE_TESTS="
+	+tests_security_NosymfollowMountOption
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+cros_pre_src_configure_use_sanitizers() {
+	sanitizers-setup-env
+}
diff --git a/chromeos-base/autotest-tests-security/autotest-tests-security-9999.ebuild b/chromeos-base/autotest-tests-security/autotest-tests-security-9999.ebuild
index c97ec29..c915bdd 100644
--- a/chromeos-base/autotest-tests-security/autotest-tests-security-9999.ebuild
+++ b/chromeos-base/autotest-tests-security/autotest-tests-security-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=5
 
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
 CROS_WORKON_LOCALNAME="third_party/autotest/files"
@@ -22,32 +22,11 @@
 
 RDEPEND="
 	!<chromeos-base/autotest-tests-0.0.3
-	containers? (
-		tests_security_Libcontainer? (
-			chromeos-base/minijail:=
-			chromeos-base/libcontainer:=
-		)
-	)
 "
 DEPEND="${RDEPEND}"
 
 IUSE_TESTS="
-	!chromeless_tty? (
-		!chromeless_tests? (
-			+tests_security_RendererSandbox
-			+tests_security_SessionManagerDbusEndpoints
-		)
-	)
-	seccomp? (
-		+tests_security_SeccompSyscallFilters
-	)
-	containers? ( +tests_security_Libcontainer )
 	+tests_security_NosymfollowMountOption
-	+tests_security_ProcessManagementPolicy
-	+tests_security_RootfsOwners
-	+tests_security_SysVIPC
-	x86? ( +tests_security_x86Registers )
-	amd64? ( +tests_security_x86Registers )
 "
 
 IUSE="${IUSE} ${IUSE_TESTS}"
diff --git a/chromeos-base/autotest-tests-shill/autotest-tests-shill-0.0.1-r3244.ebuild b/chromeos-base/autotest-tests-shill/autotest-tests-shill-0.0.1-r3244.ebuild
deleted file mode 100644
index d20b8f0..0000000
--- a/chromeos-base/autotest-tests-shill/autotest-tests-shill-0.0.1-r3244.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="0565c830a87d245e20d184a44a641696a8675e37"
-CROS_WORKON_TREE="e92fad049ade951451b4a2602f0b46cf40c8d7d9"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest
-
-DESCRIPTION="shill autotests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-# Enable autotest by default.
-IUSE="+autotest +tpm tpm2"
-
-RDEPEND="
-	!<chromeos-base/autotest-tests-0.0.3
-	chromeos-base/shill-test-scripts
-"
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS="
-	+tests_network_DhcpClasslessStaticRoute
-	+tests_network_DhcpFailureWithStaticIP
-	+tests_network_DhcpNak
-	+tests_network_DhcpNegotiationSuccess
-	+tests_network_DhcpNegotiationTimeout
-	+tests_network_DhcpNonAsciiParameter
-	+tests_network_DhcpRenew
-	+tests_network_DhcpRenewWithOptionSubset
-	+tests_network_DhcpRequestHostName
-	+tests_network_DhcpStaticIP
-	+tests_network_DhcpVendorEncapsulatedOptions
-	+tests_network_DhcpWpadNegotiation
-	+tests_network_WiFiInvalidParameters
-	+tests_network_WiFiResume
-	+tests_network_WlanPresent
-	+tests_network_WlanHasIP
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-shill/autotest-tests-shill-0.0.1-r3245.ebuild b/chromeos-base/autotest-tests-shill/autotest-tests-shill-0.0.1-r3245.ebuild
new file mode 100644
index 0000000..2e7a9c0
--- /dev/null
+++ b/chromeos-base/autotest-tests-shill/autotest-tests-shill-0.0.1-r3245.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="689cbbb81057b090f742033f829bc7a9c9624780"
+CROS_WORKON_TREE="91dff9335c9dfa6398841cfb49100f2035742e8c"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest
+
+DESCRIPTION="shill autotests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+# Enable autotest by default.
+IUSE="+autotest +tpm tpm2"
+
+RDEPEND="
+	!<chromeos-base/autotest-tests-0.0.3
+	chromeos-base/shill-test-scripts
+"
+DEPEND="${RDEPEND}"
+
+IUSE_TESTS="
+	+tests_network_DhcpClasslessStaticRoute
+	+tests_network_DhcpNak
+	+tests_network_DhcpNegotiationSuccess
+	+tests_network_DhcpNegotiationTimeout
+	+tests_network_DhcpNonAsciiParameter
+	+tests_network_DhcpRenew
+	+tests_network_DhcpStaticIP
+	+tests_network_DhcpWpadNegotiation
+	+tests_network_WiFiInvalidParameters
+	+tests_network_WiFiResume
+	+tests_network_WlanPresent
+	+tests_network_WlanHasIP
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-shill/autotest-tests-shill-9999.ebuild b/chromeos-base/autotest-tests-shill/autotest-tests-shill-9999.ebuild
index 4406513..c6d23e9 100644
--- a/chromeos-base/autotest-tests-shill/autotest-tests-shill-9999.ebuild
+++ b/chromeos-base/autotest-tests-shill/autotest-tests-shill-9999.ebuild
@@ -25,16 +25,12 @@
 
 IUSE_TESTS="
 	+tests_network_DhcpClasslessStaticRoute
-	+tests_network_DhcpFailureWithStaticIP
 	+tests_network_DhcpNak
 	+tests_network_DhcpNegotiationSuccess
 	+tests_network_DhcpNegotiationTimeout
 	+tests_network_DhcpNonAsciiParameter
 	+tests_network_DhcpRenew
-	+tests_network_DhcpRenewWithOptionSubset
-	+tests_network_DhcpRequestHostName
 	+tests_network_DhcpStaticIP
-	+tests_network_DhcpVendorEncapsulatedOptions
 	+tests_network_DhcpWpadNegotiation
 	+tests_network_WiFiInvalidParameters
 	+tests_network_WiFiResume
diff --git a/chromeos-base/autotest-tests-smbprovider/autotest-tests-smbprovider-0.0.1-r11.ebuild b/chromeos-base/autotest-tests-smbprovider/autotest-tests-smbprovider-0.0.1-r11.ebuild
deleted file mode 100644
index 5458b10..0000000
--- a/chromeos-base/autotest-tests-smbprovider/autotest-tests-smbprovider-0.0.1-r11.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-CROS_WORKON_COMMIT="af6d472bbe3632facff407743314294498427ea2"
-CROS_WORKON_TREE="738143231455a51480a9776268efe33b1c2f8786"
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
-
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest python-any-r1
-
-DESCRIPTION="SmbProvider Autotests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-# Enable autotest by default.
-IUSE="${IUSE} +autotest"
-
-RDEPEND="
-	chromeos-base/chromeos-chrome
-	chromeos-base/autotest-chrome
-"
-
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS="
-	+tests_enterprise_SmbProviderDaemon
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-smbprovider/autotest-tests-smbprovider-0.0.1-r702.ebuild b/chromeos-base/autotest-tests-smbprovider/autotest-tests-smbprovider-0.0.1-r702.ebuild
new file mode 100644
index 0000000..3d716bb
--- /dev/null
+++ b/chromeos-base/autotest-tests-smbprovider/autotest-tests-smbprovider-0.0.1-r702.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+CROS_WORKON_COMMIT="97f5d3a696dbbd15847d2e23692290c9b43dcffe"
+CROS_WORKON_TREE="e2c200b37b72780b72fd07a23555aedf104222cf"
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest python-any-r1
+
+DESCRIPTION="SmbProvider Autotests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+# Enable autotest by default.
+IUSE="${IUSE} +autotest"
+
+RDEPEND="
+	chromeos-base/chromeos-chrome
+	chromeos-base/autotest-chrome
+"
+
+DEPEND="${RDEPEND}"
+
+IUSE_TESTS="
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-smbprovider/autotest-tests-smbprovider-9999.ebuild b/chromeos-base/autotest-tests-smbprovider/autotest-tests-smbprovider-9999.ebuild
index cb26f09..9e79edc 100644
--- a/chromeos-base/autotest-tests-smbprovider/autotest-tests-smbprovider-9999.ebuild
+++ b/chromeos-base/autotest-tests-smbprovider/autotest-tests-smbprovider-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=5
 
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
 CROS_WORKON_LOCALNAME="third_party/autotest/files"
@@ -27,7 +27,6 @@
 DEPEND="${RDEPEND}"
 
 IUSE_TESTS="
-	+tests_enterprise_SmbProviderDaemon
 "
 
 IUSE="${IUSE} ${IUSE_TESTS}"
diff --git a/chromeos-base/autotest-tests-toolchain/autotest-tests-toolchain-0.0.1-r15.ebuild b/chromeos-base/autotest-tests-toolchain/autotest-tests-toolchain-0.0.1-r15.ebuild
deleted file mode 100644
index 7d61f42..0000000
--- a/chromeos-base/autotest-tests-toolchain/autotest-tests-toolchain-0.0.1-r15.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="e2f9c86acc9983c9c45bcc651397c24c558d119f"
-CROS_WORKON_TREE="b504fb0d3cfda94bc8a67543d57f7ffc5dacf45c"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-PYTHON_COMPAT=( python3_{6..9} )
-
-inherit cros-workon autotest python-any-r1
-
-DESCRIPTION="Compilation and runtime tests for toolchain"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-
-LICENSE="GPL-2"
-SLOT=0
-KEYWORDS="*"
-# Enable autotest by default.
-IUSE="+autotest"
-
-RDEPEND="
-	!<chromeos-base/autotest-tests-0.0.3
-	chromeos-base/toolchain-tests
-"
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS="
-	+tests_platform_ToolchainTests
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-toolchain/autotest-tests-toolchain-0.0.1-r17.ebuild b/chromeos-base/autotest-tests-toolchain/autotest-tests-toolchain-0.0.1-r17.ebuild
new file mode 100644
index 0000000..9d723da
--- /dev/null
+++ b/chromeos-base/autotest-tests-toolchain/autotest-tests-toolchain-0.0.1-r17.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="eeeb6a39a1b41719907011a1cff46020d4f80491"
+CROS_WORKON_TREE="756b72f50bc8dd3d8a000ed31c43b34b3f71c635"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-workon autotest python-any-r1
+
+DESCRIPTION="Compilation and runtime tests for toolchain"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+
+LICENSE="GPL-2"
+SLOT=0
+KEYWORDS="*"
+# Enable autotest by default.
+IUSE="+autotest"
+
+RDEPEND="
+	!<chromeos-base/autotest-tests-0.0.3
+	chromeos-base/toolchain-tests
+"
+DEPEND="${RDEPEND}"
+
+IUSE_TESTS="
+	+tests_platform_ToolchainTests
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-touchpad/autotest-tests-touchpad-0.0.1-r4174.ebuild b/chromeos-base/autotest-tests-touchpad/autotest-tests-touchpad-0.0.1-r4174.ebuild
deleted file mode 100644
index 87a140f..0000000
--- a/chromeos-base/autotest-tests-touchpad/autotest-tests-touchpad-0.0.1-r4174.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="af6d472bbe3632facff407743314294498427ea2"
-CROS_WORKON_TREE="738143231455a51480a9776268efe33b1c2f8786"
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
-
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-
-inherit cros-workon autotest python-any-r1
-
-DESCRIPTION="touchpad autotest"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="${IUSE} +autotest"
-
-RDEPEND="
-	chromeos-base/autotest-deps-touchpad
-"
-
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS="
-	+tests_platform_GesturesRegressionTest
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-AUTOTEST_DEPS_LIST=""
-AUTOTEST_CONFIG_LIST=""
-AUTOTEST_PROFILERS_LIST=""
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-touchpad/autotest-tests-touchpad-0.0.1-r4175.ebuild b/chromeos-base/autotest-tests-touchpad/autotest-tests-touchpad-0.0.1-r4175.ebuild
new file mode 100644
index 0000000..1098eee
--- /dev/null
+++ b/chromeos-base/autotest-tests-touchpad/autotest-tests-touchpad-0.0.1-r4175.ebuild
@@ -0,0 +1,40 @@
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="6d56a91e36c7415ef754171fe84cab5df045334c"
+CROS_WORKON_TREE="0afe9e545add6bbfe1e753734251c983a93fad69"
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+
+inherit cros-workon autotest python-any-r1
+
+DESCRIPTION="touchpad autotest"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+IUSE="${IUSE} +autotest"
+
+RDEPEND="
+	chromeos-base/autotest-deps-touchpad
+"
+
+DEPEND="${RDEPEND}"
+
+IUSE_TESTS="
+	+tests_platform_GesturesRegressionTest
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+AUTOTEST_DEPS_LIST=""
+AUTOTEST_CONFIG_LIST=""
+AUTOTEST_PROFILERS_LIST=""
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-touchpad/autotest-tests-touchpad-9999.ebuild b/chromeos-base/autotest-tests-touchpad/autotest-tests-touchpad-9999.ebuild
index ba1591a..158a157 100644
--- a/chromeos-base/autotest-tests-touchpad/autotest-tests-touchpad-9999.ebuild
+++ b/chromeos-base/autotest-tests-touchpad/autotest-tests-touchpad-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
 
diff --git a/chromeos-base/autotest-tests-tpm/autotest-tests-tpm-0.0.1-r3200.ebuild b/chromeos-base/autotest-tests-tpm/autotest-tests-tpm-0.0.1-r3200.ebuild
deleted file mode 100644
index b230387..0000000
--- a/chromeos-base/autotest-tests-tpm/autotest-tests-tpm-0.0.1-r3200.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-CROS_WORKON_COMMIT="3df0554cf662482ff78867206f406e790a91075c"
-CROS_WORKON_TREE="af83fec5f201d6b7e569affc40e3b2f301e2d939"
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
-
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest python-any-r1
-
-DESCRIPTION="Autotests involving the tpm"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-# Enable autotest by default.
-IUSE="+autotest tpm2"
-
-RDEPEND="
-	!<chromeos-base/autotest-tests-0.0.3
-	tpm2? ( chromeos-base/g2f_tools )
-"
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS="
-	+tests_firmware_Cr50VirtualNVRam
-	+tests_firmware_Cr50VirtualNVRamServer
-	+tests_firmware_Cr50U2fPowerwash
-	+tests_hardware_TPMCheck
-	+tests_kernel_TPMStress
-	+tests_platform_Pkcs11InitUnderErrors
-	+tests_platform_Pkcs11ChangeAuthData
-	+tests_platform_Pkcs11Events
-	+tests_platform_Pkcs11LoadPerf
-	+tests_platform_TPMEvict
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-tpm/autotest-tests-tpm-0.0.1-r3206.ebuild b/chromeos-base/autotest-tests-tpm/autotest-tests-tpm-0.0.1-r3206.ebuild
new file mode 100644
index 0000000..fffe36c
--- /dev/null
+++ b/chromeos-base/autotest-tests-tpm/autotest-tests-tpm-0.0.1-r3206.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+CROS_WORKON_COMMIT="95817555154e03c0e8c0041edfc89da1793b67fb"
+CROS_WORKON_TREE="6a73a3b9893611d68f40462d2c15d7af94c522b8"
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest python-any-r1
+
+DESCRIPTION="Autotests involving the tpm"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+# Enable autotest by default.
+IUSE="+autotest tpm2"
+
+RDEPEND="
+	!<chromeos-base/autotest-tests-0.0.3
+	tpm2? ( chromeos-base/g2f_tools )
+"
+DEPEND="${RDEPEND}"
+
+IUSE_TESTS="
+	+tests_firmware_Cr50VirtualNVRam
+	+tests_firmware_Cr50VirtualNVRamServer
+	+tests_firmware_Cr50U2fPowerwash
+	+tests_hardware_TPMCheck
+	+tests_kernel_TPMStress
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-tpm/autotest-tests-tpm-9999.ebuild b/chromeos-base/autotest-tests-tpm/autotest-tests-tpm-9999.ebuild
index 91a5089..52f0326 100644
--- a/chromeos-base/autotest-tests-tpm/autotest-tests-tpm-9999.ebuild
+++ b/chromeos-base/autotest-tests-tpm/autotest-tests-tpm-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=5
 
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
 CROS_WORKON_LOCALNAME="third_party/autotest/files"
@@ -32,11 +32,6 @@
 	+tests_firmware_Cr50U2fPowerwash
 	+tests_hardware_TPMCheck
 	+tests_kernel_TPMStress
-	+tests_platform_Pkcs11InitUnderErrors
-	+tests_platform_Pkcs11ChangeAuthData
-	+tests_platform_Pkcs11Events
-	+tests_platform_Pkcs11LoadPerf
-	+tests_platform_TPMEvict
 "
 
 IUSE="${IUSE} ${IUSE_TESTS}"
diff --git a/chromeos-base/autotest-tests-vm-host/autotest-tests-vm-host-0.0.1-r3620.ebuild b/chromeos-base/autotest-tests-vm-host/autotest-tests-vm-host-0.0.1-r3620.ebuild
deleted file mode 100644
index 90457f8..0000000
--- a/chromeos-base/autotest-tests-vm-host/autotest-tests-vm-host-0.0.1-r3620.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-CROS_WORKON_COMMIT="60ac81314efc8b9afa57bfed98402b9250a51128"
-CROS_WORKON_TREE="72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2"
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
-
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest python-any-r1
-
-DESCRIPTION="kvm host autotests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-IUSE="+autotest"
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS="
-	+tests_vm_CrosVmStart
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-vm-host/autotest-tests-vm-host-0.0.1-r4330.ebuild b/chromeos-base/autotest-tests-vm-host/autotest-tests-vm-host-0.0.1-r4330.ebuild
new file mode 100644
index 0000000..aefa67e
--- /dev/null
+++ b/chromeos-base/autotest-tests-vm-host/autotest-tests-vm-host-0.0.1-r4330.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+CROS_WORKON_COMMIT="97f5d3a696dbbd15847d2e23692290c9b43dcffe"
+CROS_WORKON_TREE="e2c200b37b72780b72fd07a23555aedf104222cf"
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest python-any-r1
+
+DESCRIPTION="kvm host autotests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+IUSE="+autotest"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+
+IUSE_TESTS="
+	+tests_vm_CrosVmStart
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-vm-host/autotest-tests-vm-host-9999.ebuild b/chromeos-base/autotest-tests-vm-host/autotest-tests-vm-host-9999.ebuild
index a379d59..b1c7028 100644
--- a/chromeos-base/autotest-tests-vm-host/autotest-tests-vm-host-9999.ebuild
+++ b/chromeos-base/autotest-tests-vm-host/autotest-tests-vm-host-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=5
 
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
 CROS_WORKON_LOCALNAME="third_party/autotest/files"
diff --git a/chromeos-base/autotest-tests/autotest-tests-0.0.4-r8903.ebuild b/chromeos-base/autotest-tests/autotest-tests-0.0.4-r8903.ebuild
deleted file mode 100644
index 3b63e3b..0000000
--- a/chromeos-base/autotest-tests/autotest-tests-0.0.4-r8903.ebuild
+++ /dev/null
@@ -1,227 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-CROS_WORKON_COMMIT="776277f05c512cf1ff0033b55e58d4629e277cd5"
-CROS_WORKON_TREE="45230f81767e1e2835752c13a07d5ebd03df8a04"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-
-inherit libchrome cros-workon autotest
-
-DESCRIPTION="Autotest tests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-IUSE="arc-camera3 biod -chromeless_tests -chromeless_tty +crash_reporting cups dlc_test +encrypted_stateful +network_time +passive_metrics +profile vaapi"
-# Enable autotest by default.
-IUSE="${IUSE} +autotest"
-
-# pygobject is used in the following tests:
-#   platform_CrosDisks*
-RDEPEND="
-	>=chromeos-base/autotest-deps-0.0.3
-	!<=chromeos-base/autotest-factory-0.0.1-r4445
-	dev-python/numpy
-	dev-python/pygobject
-	dev-python/pytest
-	dev-python/python-uinput
-	media-sound/sox
-	sys-apps/ethtool
-	vaapi? ( x11-libs/libva )
-	virtual/autotest-tests
-"
-
-RDEPEND="${RDEPEND}
-	tests_dbench? ( dev-libs/libaio )
-	tests_platform_MetricsUploader? (
-		>=chromeos-base/metrics-0.0.1-r3152
-		dev-python/protobuf-python
-	)
-	tests_platform_SecureEraseFile? ( chromeos-base/secure-erase-file )
-	tests_hardware_MemoryLatency? ( app-benchmarks/lmbench )
-	tests_hardware_MemoryThroughput? ( app-benchmarks/lmbench )
-	tests_hardware_MemoryZRAMThroughput? ( app-benchmarks/microbenchmarks )
-	tests_kernel_Lmbench? ( app-benchmarks/lmbench )
-	arc-camera3? (
-		tests_camera_HAL3? ( chromeos-base/autotest-deps-camera-hal3 )
-		tests_camera_HAL3Perf? ( chromeos-base/autotest-deps-camera-hal3 )
-	)
-	tests_camera_V4L2? ( media-libs/libyuv dev-libs/re2 )
-	tests_xfsFilesystemTestSuite? ( app-benchmarks/xfstests )
-"
-
-DEPEND="${RDEPEND}"
-
-X86_IUSE_TESTS="
-	+tests_xfsFilesystemTestSuite
-	+tests_hardware_UnsafeMemory
-"
-
-CLIENT_IUSE_TESTS="
-	x86? ( ${X86_IUSE_TESTS} )
-	amd64? ( ${X86_IUSE_TESTS} )
-	+tests_profiler_sync
-	+tests_compilebench
-	+tests_crashme
-	+tests_dbench
-	+tests_ddtest
-	+tests_disktest
-	+tests_fsx
-	+tests_hackbench
-	+tests_iperf
-	+tests_bonnie
-	+tests_iozone
-	+tests_netpipe
-	+tests_sleeptest
-	+tests_kernel_sysrq_info
-	+tests_unixbench
-	+tests_autoupdate_Backoff
-	+tests_autoupdate_BadMetadata
-	+tests_autoupdate_CannedOmahaUpdate
-	+tests_autoupdate_DisconnectReconnectNetwork
-	dlc_test? ( +tests_autoupdate_InstallAndUpdateDLC )
-	+tests_autoupdate_PeriodicCheck
-	+tests_autoupdate_UrlSwitch
-	+tests_blktestsSuiteAll
-	+tests_blktestsSuiteLoopOverBlk
-	+tests_blktestsSuiteLoopOverFile
-	+tests_blktestsSuiteRealBlk
-	+tests_camera_V4L2
-	arc-camera3? (
-		+tests_camera_HAL3
-		+tests_camera_HAL3Perf
-	)
-	+tests_dummy_Fail
-	+tests_stub_Pass
-	+tests_dummy_SynchronousOffload
-	tests_example_UnitTest
-	+tests_firmware_CbfsMcache
-	+tests_firmware_LockedME
-	+tests_firmware_CheckEOPState
-	+tests_firmware_RomSize
-	+tests_firmware_SetFWMP
-	+tests_firmware_VbootCrypto
-	+tests_flaky_test
-	+tests_hardware_Badblocks
-	+tests_hardware_DiskSize
-	+tests_hardware_EC
-	+tests_hardware_EepromWriteProtect
-	+tests_hardware_GobiGPS
-	+tests_hardware_GPIOSwitches
-	+tests_hardware_GPS
-	+tests_hardware_I2CProbe
-	+tests_hardware_Interrupt
-	+tests_hardware_Keyboard
-	+tests_hardware_LightSensor
-	+tests_hardware_MemoryLatency
-	+tests_hardware_MemoryThroughput
-	+tests_hardware_MemoryZRAMThroughput
-	+tests_hardware_Memtester
-	+tests_hardware_MultiReader
-	+tests_hardware_ProbeComponents
-	+tests_hardware_RamFio
-	+tests_hardware_RealtekCardReader
-	+tests_hardware_Resolution
-	+tests_hardware_SAT
-	+tests_hardware_Smartctl
-	+tests_hardware_SsdDetection
-	+tests_hardware_StorageFio
-	+tests_hardware_StorageFioOther
-	+tests_hardware_StorageTrim
-	+tests_hardware_StorageWearoutDetect
-	+tests_hardware_TouchScreenPowerCycles
-	tests_hardware_TouchScreenPresent
-	+tests_hardware_TrimIntegrity
-	+tests_infra_FirmwareAutoupdate
-	+tests_kernel_AsyncDriverProbe
-	+tests_kernel_FirmwareRequest
-	+tests_kernel_CrosECSysfsAccel
-	+tests_kernel_Delay
-	+tests_kernel_fs_Punybench
-	+tests_kernel_Ktime
-	+tests_kernel_Lmbench
-	+tests_kernel_Memory_Ramoop
-	+tests_kernel_SchedBandwith
-	crash_reporting? (
-		+tests_logging_CrashSender
-		+tests_logging_KernelCrash
-		+tests_logging_UdevCrash
-		+tests_logging_UserCrash
-		+tests_platform_AnomalyDetector
-	)
-	+tests_network_EthCaps
-	+tests_network_EthernetStressPlug
-	+tests_network_Ipv6SimpleNegotiation
-	+tests_network_NegotiatedLANSpeed
-	+tests_platform_AccurateTime
-	+tests_platform_AesThroughput
-	!chromeless_tty? (
-		+tests_platform_BootPerf
-	)
-	+tests_platform_CheckErrorsInLog
-	+tests_platform_CleanShutdown
-	+tests_platform_Crossystem
-	+tests_platform_Crouton
-	+tests_platform_DaemonsRespawn
-	+tests_platform_DBusMachineIdRotation
-	encrypted_stateful? ( +tests_platform_EncryptedStateful )
-	+tests_platform_ExternalUSBBootStress
-	+tests_platform_ExternalUSBStress
-	+tests_platform_FileNum
-	+tests_platform_FileSize
-	biod? ( +tests_platform_Fingerprint )
-	+tests_platform_Firewall
-	+tests_platform_FullyChargedPowerStatus
-	+tests_platform_HighResTimers
-	+tests_platform_ImageLoader
-	+tests_platform_ImageLoaderServer
-	+tests_platform_KernelVersion
-	+tests_platform_LibCBench
-	+tests_platform_LogDupSuppression
-	+tests_platform_LogNonKernelKmsg
-	+tests_platform_MemCheck
-	+tests_platform_MemoryMonitor
-	chromeless_tty? ( +tests_platform_MetricsUploader )
-	+tests_platform_NetParms
-	+tests_platform_OpenSSLActual
-	profile? (
-		+tests_platform_Perf
-		+tests_platform_Quipper
-	)
-	cups? ( +tests_platform_PrinterPpds )
-	+tests_platform_Rootdev
-	+tests_platform_SecureEraseFile
-	!chromeless_tty? ( +tests_platform_SessionManagerStateKeyGeneration )
-	+tests_platform_TabletMode
-	+tests_platform_TempFS
-	network_time? (
-		+tests_platform_TLSDate
-		+tests_platform_TLSDateActual
-	)
-	+tests_platform_UdevVars
-	+tests_suite_HWConfig
-	+tests_suite_HWQual
-	+tests_system_ColdBoot
-	+tests_touch_HasInput
-	+tests_touch_UpdateErrors
-	+tests_touch_WakeupSource
-	+tests_usbpd_DisplayPortSink
-	+tests_vpd_ReadWrite
-"
-
-IUSE_TESTS="${IUSE_TESTS}
-	${CLIENT_IUSE_TESTS}
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-AUTOTEST_DEPS_LIST=""
-AUTOTEST_CONFIG_LIST=""
-AUTOTEST_PROFILERS_LIST=""
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests/autotest-tests-0.0.4-r8973.ebuild b/chromeos-base/autotest-tests/autotest-tests-0.0.4-r8973.ebuild
deleted file mode 100644
index 63c45dc..0000000
--- a/chromeos-base/autotest-tests/autotest-tests-0.0.4-r8973.ebuild
+++ /dev/null
@@ -1,228 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-CROS_WORKON_COMMIT="fca4777a91bc994a78b7013767f76bc19adcaab3"
-CROS_WORKON_TREE="50f1686f71a609fcef9e2dc785be24d28eb6fee5"
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
-
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-
-inherit libchrome cros-workon autotest python-any-r1
-
-DESCRIPTION="Autotest tests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-IUSE="arc-camera3 biod -chromeless_tests -chromeless_tty +crash_reporting cups dlc_test +encrypted_stateful +network_time +passive_metrics +profile vaapi"
-# Enable autotest by default.
-IUSE="${IUSE} +autotest"
-
-# pygobject is used in the following tests:
-#   platform_CrosDisks*
-RDEPEND="
-	>=chromeos-base/autotest-deps-0.0.3
-	!<=chromeos-base/autotest-factory-0.0.1-r4445
-	dev-python/numpy
-	dev-python/pillow
-	dev-python/pydbus
-	dev-python/pygobject
-	dev-python/pytest
-	dev-python/python-uinput
-	media-sound/sox
-	sys-apps/ethtool
-	vaapi? ( x11-libs/libva )
-	virtual/autotest-tests
-"
-
-RDEPEND="${RDEPEND}
-	tests_dbench? ( dev-libs/libaio )
-	tests_platform_MetricsUploader? (
-		>=chromeos-base/metrics-0.0.1-r3152
-		dev-python/protobuf-python
-	)
-	tests_platform_SecureEraseFile? ( chromeos-base/secure-erase-file )
-	tests_hardware_MemoryLatency? ( app-benchmarks/lmbench )
-	tests_hardware_MemoryThroughput? ( app-benchmarks/lmbench )
-	tests_hardware_MemoryZRAMThroughput? ( app-benchmarks/microbenchmarks )
-	tests_kernel_Lmbench? ( app-benchmarks/lmbench )
-	arc-camera3? (
-		tests_camera_HAL3? ( chromeos-base/autotest-deps-camera-hal3 )
-		tests_camera_HAL3Perf? ( chromeos-base/autotest-deps-camera-hal3 )
-	)
-	tests_camera_V4L2? ( media-libs/libyuv dev-libs/re2 )
-	tests_xfsFilesystemTestSuite? ( app-benchmarks/xfstests )
-"
-
-DEPEND="${RDEPEND}"
-
-X86_IUSE_TESTS="
-	+tests_xfsFilesystemTestSuite
-	+tests_hardware_UnsafeMemory
-"
-
-CLIENT_IUSE_TESTS="
-	x86? ( ${X86_IUSE_TESTS} )
-	amd64? ( ${X86_IUSE_TESTS} )
-	+tests_profiler_sync
-	+tests_compilebench
-	+tests_crashme
-	+tests_dbench
-	+tests_ddtest
-	+tests_disktest
-	+tests_fsx
-	+tests_hackbench
-	+tests_iperf
-	+tests_bonnie
-	+tests_iozone
-	+tests_netpipe
-	+tests_sleeptest
-	+tests_kernel_sysrq_info
-	+tests_unixbench
-	+tests_autoupdate_Backoff
-	+tests_autoupdate_BadMetadata
-	+tests_autoupdate_CannedOmahaUpdate
-	+tests_autoupdate_DisconnectReconnectNetwork
-	dlc_test? ( +tests_autoupdate_InstallAndUpdateDLC )
-	+tests_autoupdate_InvalidateSuccessfulUpdate
-	+tests_autoupdate_PeriodicCheck
-	+tests_autoupdate_UrlSwitch
-	+tests_blktestsSuiteAll
-	+tests_blktestsSuiteLoopOverBlk
-	+tests_blktestsSuiteLoopOverFile
-	+tests_blktestsSuiteRealBlk
-	+tests_camera_V4L2
-	arc-camera3? (
-		+tests_camera_HAL3
-		+tests_camera_HAL3Perf
-	)
-	+tests_dummy_Fail
-	+tests_stub_Pass
-	+tests_dummy_SynchronousOffload
-	tests_example_UnitTest
-	+tests_firmware_CbfsMcache
-	+tests_firmware_LockedME
-	+tests_firmware_CheckEOPState
-	+tests_firmware_RomSize
-	+tests_firmware_SetFWMP
-	+tests_firmware_VbootCrypto
-	+tests_flaky_test
-	+tests_hardware_Badblocks
-	+tests_hardware_DiskSize
-	+tests_hardware_EC
-	+tests_hardware_EepromWriteProtect
-	+tests_hardware_GobiGPS
-	+tests_hardware_GPIOSwitches
-	+tests_hardware_GPS
-	+tests_hardware_I2CProbe
-	+tests_hardware_Interrupt
-	+tests_hardware_Keyboard
-	+tests_hardware_LightSensor
-	+tests_hardware_MemoryLatency
-	+tests_hardware_MemoryThroughput
-	+tests_hardware_MemoryZRAMThroughput
-	+tests_hardware_Memtester
-	+tests_hardware_MultiReader
-	+tests_hardware_ProbeComponents
-	+tests_hardware_RamFio
-	+tests_hardware_RealtekCardReader
-	+tests_hardware_Resolution
-	+tests_hardware_SAT
-	+tests_hardware_Smartctl
-	+tests_hardware_SsdDetection
-	+tests_hardware_StorageFio
-	+tests_hardware_StorageFioOther
-	+tests_hardware_StorageTrim
-	+tests_hardware_StorageWearoutDetect
-	+tests_hardware_TrimIntegrity
-	+tests_infra_FirmwareAutoupdate
-	+tests_infra_PythonVersion
-	+tests_kernel_AsyncDriverProbe
-	+tests_kernel_CrosECSysfsAccel
-	+tests_kernel_Delay
-	+tests_kernel_fs_Punybench
-	+tests_kernel_Ktime
-	+tests_kernel_Lmbench
-	+tests_kernel_Memory_Ramoop
-	+tests_kernel_SchedBandwith
-	crash_reporting? (
-		+tests_logging_KernelCrash
-		+tests_logging_UdevCrash
-		+tests_logging_UserCrash
-	)
-	+tests_network_EthCaps
-	+tests_network_EthernetStressPlug
-	+tests_network_Ipv6SimpleNegotiation
-	+tests_network_NegotiatedLANSpeed
-	+tests_platform_AccurateTime
-	+tests_platform_AesThroughput
-	!chromeless_tty? (
-		+tests_platform_BootPerf
-	)
-	+tests_platform_CheckErrorsInLog
-	+tests_platform_CleanShutdown
-	+tests_platform_Crossystem
-	+tests_platform_Crouton
-	+tests_platform_DaemonsRespawn
-	+tests_platform_DBusMachineIdRotation
-	encrypted_stateful? ( +tests_platform_EncryptedStateful )
-	+tests_platform_ExternalUSBBootStress
-	+tests_platform_ExternalUSBStress
-	+tests_platform_FileNum
-	+tests_platform_FileSize
-	biod? ( +tests_platform_Fingerprint )
-	+tests_platform_Firewall
-	+tests_platform_FullyChargedPowerStatus
-	+tests_platform_HighResTimers
-	+tests_platform_ImageLoader
-	+tests_platform_ImageLoaderServer
-	+tests_platform_KernelVersion
-	+tests_platform_LibCBench
-	+tests_platform_LogDupSuppression
-	+tests_platform_LogNonKernelKmsg
-	+tests_platform_MemCheck
-	+tests_platform_MemoryMonitor
-	chromeless_tty? ( +tests_platform_MetricsUploader )
-	+tests_platform_NetParms
-	+tests_platform_OpenSSLActual
-	profile? (
-		+tests_platform_Perf
-		+tests_platform_Quipper
-	)
-	cups? ( +tests_platform_PrinterPpds )
-	+tests_platform_Rootdev
-	+tests_platform_SecureEraseFile
-	!chromeless_tty? ( +tests_platform_SessionManagerStateKeyGeneration )
-	+tests_platform_TabletMode
-	+tests_platform_TempFS
-	network_time? (
-		+tests_platform_TLSDate
-		+tests_platform_TLSDateActual
-	)
-	+tests_platform_UdevVars
-	+tests_suite_HWConfig
-	+tests_suite_HWQual
-	+tests_system_ColdBoot
-	+tests_touch_HasInput
-	+tests_touch_UpdateErrors
-	+tests_touch_WakeupSource
-	+tests_vpd_ReadWrite
-"
-
-IUSE_TESTS="${IUSE_TESTS}
-	${CLIENT_IUSE_TESTS}
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-AUTOTEST_DEPS_LIST=""
-AUTOTEST_CONFIG_LIST=""
-AUTOTEST_PROFILERS_LIST=""
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests/autotest-tests-0.0.4-r8986.ebuild b/chromeos-base/autotest-tests/autotest-tests-0.0.4-r8986.ebuild
new file mode 100644
index 0000000..f1799dc
--- /dev/null
+++ b/chromeos-base/autotest-tests/autotest-tests-0.0.4-r8986.ebuild
@@ -0,0 +1,156 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+CROS_WORKON_COMMIT="5233d2c404c9284f910f99df18a8b64c4d237d76"
+CROS_WORKON_TREE="6a8ebdfcbce2c62b525311fa34b901357d4b695c"
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+
+inherit libchrome cros-workon autotest python-any-r1
+
+DESCRIPTION="Autotest tests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+IUSE="arc-camera3 biod -chromeless_tests -chromeless_tty +crash_reporting cups dlc_test +encrypted_stateful +network_time +passive_metrics +profile vaapi"
+# Enable autotest by default.
+IUSE="${IUSE} +autotest"
+
+# pygobject is used in the following tests:
+#   platform_CrosDisks*
+RDEPEND="
+	>=chromeos-base/autotest-deps-0.0.3
+	!<=chromeos-base/autotest-factory-0.0.1-r4445
+	dev-python/numpy
+	dev-python/pillow
+	dev-python/pydbus
+	dev-python/pygobject
+	dev-python/pytest
+	dev-python/python-uinput
+	media-sound/sox
+	sys-apps/ethtool
+	vaapi? ( x11-libs/libva )
+	virtual/autotest-tests
+"
+
+RDEPEND="${RDEPEND}
+	tests_dbench? ( dev-libs/libaio )
+	tests_hardware_MemoryLatency? ( app-benchmarks/lmbench )
+	tests_hardware_MemoryThroughput? ( app-benchmarks/lmbench )
+	tests_hardware_MemoryZRAMThroughput? ( app-benchmarks/microbenchmarks )
+	tests_xfsFilesystemTestSuite? ( app-benchmarks/xfstests )
+"
+
+DEPEND="${RDEPEND}"
+
+X86_IUSE_TESTS="
+	+tests_xfsFilesystemTestSuite
+	+tests_hardware_UnsafeMemory
+"
+
+CLIENT_IUSE_TESTS="
+	x86? ( ${X86_IUSE_TESTS} )
+	amd64? ( ${X86_IUSE_TESTS} )
+	+tests_profiler_sync
+	+tests_crashme
+	+tests_dbench
+	+tests_ddtest
+	+tests_fsx
+	+tests_hackbench
+	+tests_iperf
+	+tests_iozone
+	+tests_kernel_sysrq_info
+	+tests_autoupdate_Backoff
+	+tests_autoupdate_BadMetadata
+	+tests_autoupdate_CannedOmahaUpdate
+	+tests_autoupdate_DisconnectReconnectNetwork
+	dlc_test? ( +tests_autoupdate_InstallAndUpdateDLC )
+	+tests_autoupdate_InvalidateSuccessfulUpdate
+	+tests_autoupdate_PeriodicCheck
+	+tests_autoupdate_UrlSwitch
+	+tests_blktestsSuiteAll
+	+tests_blktestsSuiteLoopOverBlk
+	+tests_blktestsSuiteLoopOverFile
+	+tests_blktestsSuiteRealBlk
+	+tests_dummy_Fail
+	+tests_stub_Pass
+	tests_example_UnitTest
+	+tests_firmware_CbfsMcache
+	+tests_firmware_LockedME
+	+tests_firmware_CheckEOPState
+	+tests_firmware_RomSize
+	+tests_firmware_SetFWMP
+	+tests_firmware_VbootCrypto
+	+tests_flaky_test
+	+tests_hardware_Badblocks
+	+tests_hardware_DiskSize
+	+tests_hardware_EC
+	+tests_hardware_EepromWriteProtect
+	+tests_hardware_GobiGPS
+	+tests_hardware_GPIOSwitches
+	+tests_hardware_GPS
+	+tests_hardware_I2CProbe
+	+tests_hardware_Interrupt
+	+tests_hardware_Keyboard
+	+tests_hardware_MemoryLatency
+	+tests_hardware_MemoryThroughput
+	+tests_hardware_MemoryZRAMThroughput
+	+tests_hardware_Memtester
+	+tests_hardware_RamFio
+	+tests_hardware_SAT
+	+tests_hardware_SsdDetection
+	+tests_hardware_StorageFio
+	+tests_hardware_StorageFioOther
+	+tests_hardware_StorageTrim
+	+tests_hardware_StorageWearoutDetect
+	+tests_hardware_TrimIntegrity
+	+tests_infra_FirmwareAutoupdate
+	+tests_kernel_AsyncDriverProbe
+	+tests_kernel_fs_Punybench
+	+tests_kernel_Memory_Ramoop
+	crash_reporting? (
+		+tests_logging_KernelCrash
+		+tests_logging_UdevCrash
+		+tests_logging_UserCrash
+	)
+	+tests_network_EthernetStressPlug
+	+tests_network_Ipv6SimpleNegotiation
+	+tests_platform_Crossystem
+	+tests_platform_DaemonsRespawn
+	encrypted_stateful? ( +tests_platform_EncryptedStateful )
+	+tests_platform_FileNum
+	+tests_platform_FileSize
+	biod? ( +tests_platform_Fingerprint )
+	+tests_platform_FullyChargedPowerStatus
+	+tests_platform_HighResTimers
+	+tests_platform_ImageLoader
+	+tests_platform_ImageLoaderServer
+	+tests_platform_MemCheck
+	+tests_platform_MemoryMonitor
+	+tests_platform_NetParms
+	cups? ( +tests_platform_PrinterPpds )
+	+tests_suite_HWConfig
+	+tests_suite_HWQual
+	+tests_touch_HasInput
+	+tests_touch_WakeupSource
+"
+
+IUSE_TESTS="${IUSE_TESTS}
+	${CLIENT_IUSE_TESTS}
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+AUTOTEST_DEPS_LIST=""
+AUTOTEST_CONFIG_LIST=""
+AUTOTEST_PROFILERS_LIST=""
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests/autotest-tests-9999.ebuild b/chromeos-base/autotest-tests/autotest-tests-9999.ebuild
index 1cd161c..9ee24cd 100644
--- a/chromeos-base/autotest-tests/autotest-tests-9999.ebuild
+++ b/chromeos-base/autotest-tests/autotest-tests-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI="5"
 
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
 
@@ -39,20 +39,9 @@
 
 RDEPEND="${RDEPEND}
 	tests_dbench? ( dev-libs/libaio )
-	tests_platform_MetricsUploader? (
-		>=chromeos-base/metrics-0.0.1-r3152
-		dev-python/protobuf-python
-	)
-	tests_platform_SecureEraseFile? ( chromeos-base/secure-erase-file )
 	tests_hardware_MemoryLatency? ( app-benchmarks/lmbench )
 	tests_hardware_MemoryThroughput? ( app-benchmarks/lmbench )
 	tests_hardware_MemoryZRAMThroughput? ( app-benchmarks/microbenchmarks )
-	tests_kernel_Lmbench? ( app-benchmarks/lmbench )
-	arc-camera3? (
-		tests_camera_HAL3? ( chromeos-base/autotest-deps-camera-hal3 )
-		tests_camera_HAL3Perf? ( chromeos-base/autotest-deps-camera-hal3 )
-	)
-	tests_camera_V4L2? ( media-libs/libyuv dev-libs/re2 )
 	tests_xfsFilesystemTestSuite? ( app-benchmarks/xfstests )
 "
 
@@ -67,20 +56,14 @@
 	x86? ( ${X86_IUSE_TESTS} )
 	amd64? ( ${X86_IUSE_TESTS} )
 	+tests_profiler_sync
-	+tests_compilebench
 	+tests_crashme
 	+tests_dbench
 	+tests_ddtest
-	+tests_disktest
 	+tests_fsx
 	+tests_hackbench
 	+tests_iperf
-	+tests_bonnie
 	+tests_iozone
-	+tests_netpipe
-	+tests_sleeptest
 	+tests_kernel_sysrq_info
-	+tests_unixbench
 	+tests_autoupdate_Backoff
 	+tests_autoupdate_BadMetadata
 	+tests_autoupdate_CannedOmahaUpdate
@@ -93,14 +76,8 @@
 	+tests_blktestsSuiteLoopOverBlk
 	+tests_blktestsSuiteLoopOverFile
 	+tests_blktestsSuiteRealBlk
-	+tests_camera_V4L2
-	arc-camera3? (
-		+tests_camera_HAL3
-		+tests_camera_HAL3Perf
-	)
 	+tests_dummy_Fail
 	+tests_stub_Pass
-	+tests_dummy_SynchronousOffload
 	tests_example_UnitTest
 	+tests_firmware_CbfsMcache
 	+tests_firmware_LockedME
@@ -119,18 +96,12 @@
 	+tests_hardware_I2CProbe
 	+tests_hardware_Interrupt
 	+tests_hardware_Keyboard
-	+tests_hardware_LightSensor
 	+tests_hardware_MemoryLatency
 	+tests_hardware_MemoryThroughput
 	+tests_hardware_MemoryZRAMThroughput
 	+tests_hardware_Memtester
-	+tests_hardware_MultiReader
-	+tests_hardware_ProbeComponents
 	+tests_hardware_RamFio
-	+tests_hardware_RealtekCardReader
-	+tests_hardware_Resolution
 	+tests_hardware_SAT
-	+tests_hardware_Smartctl
 	+tests_hardware_SsdDetection
 	+tests_hardware_StorageFio
 	+tests_hardware_StorageFioOther
@@ -138,77 +109,34 @@
 	+tests_hardware_StorageWearoutDetect
 	+tests_hardware_TrimIntegrity
 	+tests_infra_FirmwareAutoupdate
-	+tests_infra_PythonVersion
 	+tests_kernel_AsyncDriverProbe
-	+tests_kernel_CrosECSysfsAccel
-	+tests_kernel_Delay
 	+tests_kernel_fs_Punybench
-	+tests_kernel_Ktime
-	+tests_kernel_Lmbench
 	+tests_kernel_Memory_Ramoop
-	+tests_kernel_SchedBandwith
 	crash_reporting? (
 		+tests_logging_KernelCrash
 		+tests_logging_UdevCrash
 		+tests_logging_UserCrash
 	)
-	+tests_network_EthCaps
 	+tests_network_EthernetStressPlug
 	+tests_network_Ipv6SimpleNegotiation
-	+tests_network_NegotiatedLANSpeed
-	+tests_platform_AccurateTime
-	+tests_platform_AesThroughput
-	!chromeless_tty? (
-		+tests_platform_BootPerf
-	)
-	+tests_platform_CheckErrorsInLog
-	+tests_platform_CleanShutdown
 	+tests_platform_Crossystem
-	+tests_platform_Crouton
 	+tests_platform_DaemonsRespawn
-	+tests_platform_DBusMachineIdRotation
 	encrypted_stateful? ( +tests_platform_EncryptedStateful )
-	+tests_platform_ExternalUSBBootStress
-	+tests_platform_ExternalUSBStress
 	+tests_platform_FileNum
 	+tests_platform_FileSize
 	biod? ( +tests_platform_Fingerprint )
-	+tests_platform_Firewall
 	+tests_platform_FullyChargedPowerStatus
 	+tests_platform_HighResTimers
 	+tests_platform_ImageLoader
 	+tests_platform_ImageLoaderServer
-	+tests_platform_KernelVersion
-	+tests_platform_LibCBench
-	+tests_platform_LogDupSuppression
-	+tests_platform_LogNonKernelKmsg
 	+tests_platform_MemCheck
 	+tests_platform_MemoryMonitor
-	chromeless_tty? ( +tests_platform_MetricsUploader )
 	+tests_platform_NetParms
-	+tests_platform_OpenSSLActual
-	profile? (
-		+tests_platform_Perf
-		+tests_platform_Quipper
-	)
 	cups? ( +tests_platform_PrinterPpds )
-	+tests_platform_Rootdev
-	+tests_platform_SecureEraseFile
-	!chromeless_tty? ( +tests_platform_SessionManagerStateKeyGeneration )
-	+tests_platform_TabletMode
-	+tests_platform_TempFS
-	network_time? (
-		+tests_platform_TLSDate
-		+tests_platform_TLSDateActual
-	)
-	+tests_platform_UdevVars
 	+tests_suite_HWConfig
 	+tests_suite_HWQual
-	+tests_system_ColdBoot
 	+tests_touch_HasInput
-	+tests_touch_UpdateErrors
 	+tests_touch_WakeupSource
-	+tests_vpd_ReadWrite
 "
 
 IUSE_TESTS="${IUSE_TESTS}
diff --git a/chromeos-base/autotest/autotest-0.0.2-r15464.ebuild b/chromeos-base/autotest/autotest-0.0.2-r15464.ebuild
deleted file mode 100644
index 258a1d8..0000000
--- a/chromeos-base/autotest/autotest-0.0.2-r15464.ebuild
+++ /dev/null
@@ -1,140 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("60ac81314efc8b9afa57bfed98402b9250a51128" "df267db507a4844cc1f050968de2841f418e1ebb" "7a01213d5fdc415d99fe5060a0f06fccdcee018a")
-CROS_WORKON_TREE=("72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2" "060563e90e9843d94603f66795083543b5498ec0" "dad0497090bce4480ce6b88ada1f4187c960ccf2")
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
-
-CROS_WORKON_PROJECT=(
-	"chromiumos/third_party/autotest"
-	"chromiumos/config"
-	"chromiumos/platform/fw-testing-configs"
-)
-
-CROS_WORKON_LOCALNAME=(
-	"third_party/autotest/files"
-	"config"
-	"third_party/autotest/files/server/cros/faft/fw-testing-configs"
-)
-
-CROS_WORKON_SUBTREE=(
-	""
-	"python"
-	""
-)
-
-CROS_WORKON_DESTDIR=(
-	"${S}"
-	"${S}/config"
-	"${S}/server/cros/faft/fw-testing-configs"
-)
-
-inherit cros-workon cros-constants python-any-r1
-
-DESCRIPTION="Autotest scripts and tools"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="
-	!<chromeos-base/autotest-chrome-0.0.1-r1788
-	!<chromeos-base/autotest-tests-0.0.1-r3291
-	!<chromeos-base/autotest-deps-0.0.2
-	virtual/autotest-libs
-	virtual/autotest-assistant-libs
-"
-
-# We don't want Python on the base image, however, there're several base
-# chromeos dependent ebuilds that depend on this ebuild.
-DEPEND="${RDEPEND}"
-
-# Ensure the configures run by autotest pick up the right config.site
-export CONFIG_SITE=/usr/share/config.site
-
-AUTOTEST_WORK="${WORKDIR}/autotest-work"
-
-src_prepare() {
-	mkdir -p "${AUTOTEST_WORK}/client"
-	mkdir -p "${AUTOTEST_WORK}/server"
-	cp -fpu "${S}"/client/* "${AUTOTEST_WORK}/client" &>/dev/null
-	cp -fpru "${S}"/client/{bin,common_lib,tools} "${AUTOTEST_WORK}/client"
-	cp -fpu "${S}"/server/* "${AUTOTEST_WORK}/server" &>/dev/null
-	cp -fpru "${S}"/server/{bin,control_segments,hosts,lib} "${AUTOTEST_WORK}/server"
-	cp -fpru "${S}"/{tko,utils,site_utils,test_suites,frontend} "${AUTOTEST_WORK}"
-
-	# cros directory is not from autotest upstream but cros project specific.
-	cp -fpru "${S}"/client/cros "${AUTOTEST_WORK}/client"
-
-	cp -fpru "${S}"/server/cros "${AUTOTEST_WORK}/server"
-
-	# Pre-create test directories.
-	local test_dirs="
-		client/tests client/site_tests
-		client/config client/deps client/profilers
-		server/tests server/site_tests packages"
-	local dir
-	for dir in ${test_dirs}; do
-		mkdir "${AUTOTEST_WORK}/${dir}"
-		touch "${AUTOTEST_WORK}/${dir}"/.keep
-	done
-	touch "${AUTOTEST_WORK}/client/profilers/__init__.py"
-
-	# Symlinks are needed for new setup_modules
-	# delete the top level symlink beforehand (if it exists).
-	find "${AUTOTEST_WORK}" -name "autotest_lib" -delete \
-		|| echo "Top level symlink did not exist!"
-
-	# Create the top level symlink (want autotest_lib --> .)
-	ln -s . "${AUTOTEST_WORK}/autotest_lib" \
-		|| die "Could not create autotest_lib symlink"
-
-	sed "/^enable_server_prebuild/d" "${S}/global_config.ini" > \
-		"${AUTOTEST_WORK}/global_config.ini"
-	default
-}
-
-src_install() {
-	insinto ${AUTOTEST_BASE}
-	doins -r "${AUTOTEST_WORK}"/*
-	python3 ${S}/utils/generate_metadata.py -autotest_path=${S} -output_file="${D}"${AUTOTEST_BASE}/autotest_metadata.pb
-
-	# base __init__.py
-	touch "${D}"${AUTOTEST_BASE}/__init__.py
-
-	# TODO: This should be more selective
-	chmod -R a+x "${D}"${AUTOTEST_BASE}
-
-	# setup stuff needed for read/write operation
-	chmod a+wx "${D}${AUTOTEST_BASE}/packages"
-
-	dodir "${AUTOTEST_BASE}/client/packages"
-	chmod a+wx "${D}${AUTOTEST_BASE}/client/packages"
-
-	dodir "${AUTOTEST_BASE}/server/tmp"
-	chmod a+wx "${D}${AUTOTEST_BASE}/server/tmp"
-
-	# Set up symlinks so that debug info works for autotests.
-	dodir /usr/lib/debug${AUTOTEST_BASE}/
-	dosym client/site_tests /usr/lib/debug${AUTOTEST_BASE}/tests
-
-	# Punt any nested .git dirs.
-	find "${D}" -name .git -exec rm -rf {} +
-}
-
-src_test() {
-	# Run the autotest unit tests.
-	python3 ./utils/unittest_suite.py --debug --py_version=3 || die "Autotest unit tests failed in Python 3."
-
-}
-
-# Packages client.
-pkg_postinst() {
-	local root_autotest_dir="${ROOT}${AUTOTEST_BASE}"
-	flock "${root_autotest_dir}/packages" \
-			-c "PYTHONDONTWRITEBYTECODE=1 ${root_autotest_dir}/utils/packager.py \
-				-r ${root_autotest_dir}/packages --client -a upload"
-}
diff --git a/chromeos-base/autotest/autotest-0.0.2-r16234.ebuild b/chromeos-base/autotest/autotest-0.0.2-r16234.ebuild
new file mode 100644
index 0000000..4c162b52
--- /dev/null
+++ b/chromeos-base/autotest/autotest-0.0.2-r16234.ebuild
@@ -0,0 +1,140 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("97f5d3a696dbbd15847d2e23692290c9b43dcffe" "7f05c2f0254be615ce1ed3e81f3cca5fc9f1f0e5" "fdcd88182cfd3d40596011819c24bb4927e82d1e")
+CROS_WORKON_TREE=("e2c200b37b72780b72fd07a23555aedf104222cf" "360559203d537727a34f0267da818a5260a642fa" "3b88e01b4c689a52c6a8eed97043023877ad2278")
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_PROJECT=(
+	"chromiumos/third_party/autotest"
+	"chromiumos/config"
+	"chromiumos/platform/fw-testing-configs"
+)
+
+CROS_WORKON_LOCALNAME=(
+	"third_party/autotest/files"
+	"config"
+	"third_party/autotest/files/server/cros/faft/fw-testing-configs"
+)
+
+CROS_WORKON_SUBTREE=(
+	""
+	"python"
+	""
+)
+
+CROS_WORKON_DESTDIR=(
+	"${S}"
+	"${S}/config"
+	"${S}/server/cros/faft/fw-testing-configs"
+)
+
+inherit cros-workon cros-constants python-any-r1
+
+DESCRIPTION="Autotest scripts and tools"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="
+	!<chromeos-base/autotest-chrome-0.0.1-r1788
+	!<chromeos-base/autotest-tests-0.0.1-r3291
+	!<chromeos-base/autotest-deps-0.0.2
+	virtual/autotest-libs
+	virtual/autotest-assistant-libs
+"
+
+# We don't want Python on the base image, however, there're several base
+# chromeos dependent ebuilds that depend on this ebuild.
+DEPEND="${RDEPEND}"
+
+# Ensure the configures run by autotest pick up the right config.site
+export CONFIG_SITE=/usr/share/config.site
+
+AUTOTEST_WORK="${WORKDIR}/autotest-work"
+
+src_prepare() {
+	mkdir -p "${AUTOTEST_WORK}/client"
+	mkdir -p "${AUTOTEST_WORK}/server"
+	cp -fpu "${S}"/client/* "${AUTOTEST_WORK}/client" &>/dev/null
+	cp -fpru "${S}"/client/{bin,common_lib,tools} "${AUTOTEST_WORK}/client"
+	cp -fpu "${S}"/server/* "${AUTOTEST_WORK}/server" &>/dev/null
+	cp -fpru "${S}"/server/{bin,control_segments,hosts,lib} "${AUTOTEST_WORK}/server"
+	cp -fpru "${S}"/{tko,utils,site_utils,test_suites,frontend} "${AUTOTEST_WORK}"
+
+	# cros directory is not from autotest upstream but cros project specific.
+	cp -fpru "${S}"/client/cros "${AUTOTEST_WORK}/client"
+
+	cp -fpru "${S}"/server/cros "${AUTOTEST_WORK}/server"
+
+	# Pre-create test directories.
+	local test_dirs="
+		client/tests client/site_tests
+		client/config client/deps client/profilers
+		server/tests server/site_tests packages"
+	local dir
+	for dir in ${test_dirs}; do
+		mkdir "${AUTOTEST_WORK}/${dir}"
+		touch "${AUTOTEST_WORK}/${dir}"/.keep
+	done
+	touch "${AUTOTEST_WORK}/client/profilers/__init__.py"
+
+	# Symlinks are needed for new setup_modules
+	# delete the top level symlink beforehand (if it exists).
+	find "${AUTOTEST_WORK}" -name "autotest_lib" -delete \
+		|| echo "Top level symlink did not exist!"
+
+	# Create the top level symlink (want autotest_lib --> .)
+	ln -s . "${AUTOTEST_WORK}/autotest_lib" \
+		|| die "Could not create autotest_lib symlink"
+
+	sed "/^enable_server_prebuild/d" "${S}/global_config.ini" > \
+		"${AUTOTEST_WORK}/global_config.ini"
+	default
+}
+
+src_install() {
+	insinto ${AUTOTEST_BASE}
+	doins -r "${AUTOTEST_WORK}"/*
+	python3 ${S}/utils/generate_metadata.py -autotest_path=${S} -output_file="${D}"${AUTOTEST_BASE}/autotest_metadata.pb
+
+	# base __init__.py
+	touch "${D}"${AUTOTEST_BASE}/__init__.py
+
+	# TODO: This should be more selective
+	chmod -R a+x "${D}"${AUTOTEST_BASE}
+
+	# setup stuff needed for read/write operation
+	chmod a+wx "${D}${AUTOTEST_BASE}/packages"
+
+	dodir "${AUTOTEST_BASE}/client/packages"
+	chmod a+wx "${D}${AUTOTEST_BASE}/client/packages"
+
+	dodir "${AUTOTEST_BASE}/server/tmp"
+	chmod a+wx "${D}${AUTOTEST_BASE}/server/tmp"
+
+	# Set up symlinks so that debug info works for autotests.
+	dodir /usr/lib/debug${AUTOTEST_BASE}/
+	dosym client/site_tests /usr/lib/debug${AUTOTEST_BASE}/tests
+
+	# Punt any nested .git dirs.
+	find "${D}" -name .git -exec rm -rf {} +
+}
+
+src_test() {
+	# Run the autotest unit tests.
+	python3 ./utils/unittest_suite.py --debug --py_version=3 || die "Autotest unit tests failed in Python 3."
+
+}
+
+# Packages client.
+pkg_postinst() {
+	local root_autotest_dir="${ROOT}${AUTOTEST_BASE}"
+	flock "${root_autotest_dir}/packages" \
+			-c "PYTHONDONTWRITEBYTECODE=1 ${root_autotest_dir}/utils/packager.py \
+				-r ${root_autotest_dir}/packages --client -a upload"
+}
diff --git a/chromeos-base/autotest/autotest-9999.ebuild b/chromeos-base/autotest/autotest-9999.ebuild
index 0650d8f..4fc16f1 100644
--- a/chromeos-base/autotest/autotest-9999.ebuild
+++ b/chromeos-base/autotest/autotest-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 CROS_WORKON_PROJECT=(
 	"chromiumos/third_party/autotest"
diff --git a/chromeos-base/avtest_label_detect/avtest_label_detect-0.0.1-r3129.ebuild b/chromeos-base/avtest_label_detect/avtest_label_detect-0.0.1-r3129.ebuild
deleted file mode 100644
index 99c700b..0000000
--- a/chromeos-base/avtest_label_detect/avtest_label_detect-0.0.1-r3129.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI="6"
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "71b0e2fdd906652c604f6adb10d88b0f9ffd040e" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_DESTDIR="${S}"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk avtest_label_detect .gn"
-
-inherit cros-sanitizers cros-workon cros-common.mk
-
-DESCRIPTION="Autotest label detector for audio/video/camera"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/avtest_label_detect"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE="-asan v4l2_codec vaapi"
-
-RDEPEND="vaapi? ( x11-libs/libva )"
-DEPEND="${RDEPEND}"
-
-src_unpack() {
-	cros-workon_src_unpack
-	S+="/avtest_label_detect"
-}
-
-src_configure() {
-	export USE_VAAPI=$(usex vaapi)
-	export USE_V4L2_CODEC=$(usex v4l2_codec)
-	sanitizers-setup-env
-	cros-common.mk_src_configure
-}
-
-src_install() {
-	# Install built tools
-	pushd "${OUT}" >/dev/null
-	dobin avtest_label_detect
-	popd >/dev/null
-
-	insinto /etc
-	doins "${S}"/avtest_label_detect.conf
-}
diff --git a/chromeos-base/avtest_label_detect/avtest_label_detect-0.0.1-r3189.ebuild b/chromeos-base/avtest_label_detect/avtest_label_detect-0.0.1-r3189.ebuild
new file mode 100644
index 0000000..fbb1365
--- /dev/null
+++ b/chromeos-base/avtest_label_detect/avtest_label_detect-0.0.1-r3189.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI="6"
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "b263bb463cd5e0028ada4a34df829a60185da23a" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_DESTDIR="${S}"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk avtest_label_detect .gn"
+
+inherit cros-sanitizers cros-workon cros-common.mk
+
+DESCRIPTION="Autotest label detector for audio/video/camera"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/avtest_label_detect"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="-asan v4l2_codec vaapi"
+
+RDEPEND="vaapi? ( x11-libs/libva )"
+DEPEND="${RDEPEND}"
+
+src_unpack() {
+	cros-workon_src_unpack
+	S+="/avtest_label_detect"
+}
+
+src_configure() {
+	export USE_VAAPI=$(usex vaapi)
+	export USE_V4L2_CODEC=$(usex v4l2_codec)
+	sanitizers-setup-env
+	cros-common.mk_src_configure
+}
+
+src_install() {
+	# Install built tools
+	pushd "${OUT}" >/dev/null
+	dobin avtest_label_detect
+	popd >/dev/null
+
+	insinto /etc
+	doins "${S}"/avtest_label_detect.conf
+}
diff --git a/chromeos-base/avtest_label_detect/avtest_label_detect-9999.ebuild b/chromeos-base/avtest_label_detect/avtest_label_detect-9999.ebuild
index a53e8d7..4876529 100644
--- a/chromeos-base/avtest_label_detect/avtest_label_detect-9999.ebuild
+++ b/chromeos-base/avtest_label_detect/avtest_label_detect-9999.ebuild
@@ -13,7 +13,7 @@
 inherit cros-sanitizers cros-workon cros-common.mk
 
 DESCRIPTION="Autotest label detector for audio/video/camera"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/avtest_label_detect"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/avtest_label_detect"
 
 LICENSE="BSD-Google"
 SLOT="0"
diff --git a/chromeos-base/biod/biod-0.0.1-r2243.ebuild b/chromeos-base/biod/biod-0.0.1-r2243.ebuild
deleted file mode 100644
index 73f04ba..0000000
--- a/chromeos-base/biod/biod-0.0.1-r2243.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "cdd343a1b2fde0b4ac6e0df05b61873de776969a" "bea140d13f7cf1092e4c89a45011c04c28327972" "b2a628a7e6e84c75bbb6593f7e7d6c7baa8ccba0" "4a0dedab080195bdc122d2289118df4af3ddca2c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_USE_VCSID="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk biod chromeos-config libec metrics .gn"
-
-PLATFORM_SUBDIR="biod"
-
-inherit cros-fuzzer cros-sanitizers cros-workon cros-unibuild platform udev user
-
-DESCRIPTION="Biometrics Daemon for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/biod/README.md"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="
-	factory_branch
-	fp_on_power_button
-	fpmcu_firmware_bloonchipper
-	fpmcu_firmware_dartmonkey
-	fpmcu_firmware_nami
-	fpmcu_firmware_nocturne
-	fuzzer
-"
-
-COMMON_DEPEND="
-	chromeos-base/chromeos-config-tools:=
-	chromeos-base/libec:=
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	sys-apps/flashmap:=
-"
-
-# For biod_client_tool. The biod_proxy library will be built on all boards but
-# biod_client_tool will be built only on boards with biod.
-COMMON_DEPEND+="
-	chromeos-base/biod_proxy:=
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	sys-apps/flashrom
-	!factory_branch? ( virtual/chromeos-firmware-fpmcu )
-	"
-
-# Release branch firmware.
-# The USE flags below come from USE_EXPAND variables.
-# See third_party/chromiumos-overlay/profiles/base/make.defaults.
-RDEPEND+="
-	!factory_branch? (
-		fpmcu_firmware_bloonchipper? ( sys-firmware/chromeos-fpmcu-release-bloonchipper )
-		fpmcu_firmware_dartmonkey? ( sys-firmware/chromeos-fpmcu-release-dartmonkey )
-		fpmcu_firmware_nami? ( sys-firmware/chromeos-fpmcu-release-nami )
-		fpmcu_firmware_nocturne? ( sys-firmware/chromeos-fpmcu-release-nocturne )
-	)
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/chromeos-ec-headers:=
-	chromeos-base/power_manager-client:=
-	chromeos-base/system_api:=[fuzzer?]
-	dev-libs/openssl:=
-"
-
-pkg_setup() {
-	enewuser biod
-	enewgroup biod
-}
-
-src_install() {
-	platform_install
-
-	udev_dorules udev/99-biod.rules
-
-	# Set up cryptohome daemon mount store in daemon's mount
-	# namespace.
-	local daemon_store="/etc/daemon-store/biod"
-	dodir "${daemon_store}"
-	fperms 0700 "${daemon_store}"
-	fowners biod:biod "${daemon_store}"
-
-	local fuzzer_component_id="782045"
-	platform_fuzzer_install "${S}/OWNERS" "${OUT}"/biod_storage_fuzzer --comp "${fuzzer_component_id}"
-
-	platform_fuzzer_install "${S}/OWNERS" "${OUT}"/biod_crypto_validation_value_fuzzer --comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/biod/biod-0.0.1-r2430.ebuild b/chromeos-base/biod/biod-0.0.1-r2430.ebuild
new file mode 100644
index 0000000..15f104e
--- /dev/null
+++ b/chromeos-base/biod/biod-0.0.1-r2430.ebuild
@@ -0,0 +1,97 @@
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "3e7613ea6e002e2ed9003c451537961ee1ec8c06" "527abd7a988a45572305a6c44b5324d0d9cf8be2" "1dbf281b6523338c1a11135ebaf00796f0f664e4" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_USE_VCSID="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk biod chromeos-config libec metrics .gn"
+
+PLATFORM_SUBDIR="biod"
+
+inherit cros-fuzzer cros-sanitizers cros-workon cros-unibuild platform udev user
+
+DESCRIPTION="Biometrics Daemon for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/biod/README.md"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="
+	factory_branch
+	fp_on_power_button
+	fpmcu_firmware_bloonchipper
+	fpmcu_firmware_dartmonkey
+	fpmcu_firmware_nami
+	fpmcu_firmware_nocturne
+	fuzzer
+"
+
+COMMON_DEPEND="
+	chromeos-base/chromeos-config-tools:=
+	chromeos-base/libec:=
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/vboot_reference:=
+	sys-apps/flashmap:=
+"
+
+# For biod_client_tool. The biod_proxy library will be built on all boards but
+# biod_client_tool will be built only on boards with biod.
+COMMON_DEPEND+="
+	chromeos-base/biod_proxy:=
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	sys-apps/flashrom
+	!factory_branch? ( virtual/chromeos-firmware-fpmcu )
+	"
+
+# Release branch firmware.
+# The USE flags below come from USE_EXPAND variables.
+# See third_party/chromiumos-overlay/profiles/base/make.defaults.
+RDEPEND+="
+	!factory_branch? (
+		fpmcu_firmware_bloonchipper? ( sys-firmware/chromeos-fpmcu-release-bloonchipper )
+		fpmcu_firmware_dartmonkey? ( sys-firmware/chromeos-fpmcu-release-dartmonkey )
+		fpmcu_firmware_nami? ( sys-firmware/chromeos-fpmcu-release-nami )
+		fpmcu_firmware_nocturne? ( sys-firmware/chromeos-fpmcu-release-nocturne )
+	)
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/chromeos-ec-headers:=
+	chromeos-base/power_manager-client:=
+	chromeos-base/system_api:=[fuzzer?]
+	dev-libs/openssl:=
+"
+
+pkg_setup() {
+	enewuser biod
+	enewgroup biod
+}
+
+src_install() {
+	platform_install
+
+	udev_dorules udev/99-biod.rules
+
+	# Set up cryptohome daemon mount store in daemon's mount
+	# namespace.
+	local daemon_store="/etc/daemon-store/biod"
+	dodir "${daemon_store}"
+	fperms 0700 "${daemon_store}"
+	fowners biod:biod "${daemon_store}"
+
+	local fuzzer_component_id="782045"
+	platform_fuzzer_install "${S}/OWNERS" "${OUT}"/biod_storage_fuzzer --comp "${fuzzer_component_id}"
+
+	platform_fuzzer_install "${S}/OWNERS" "${OUT}"/biod_crypto_validation_value_fuzzer --comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/biod/biod-9999.ebuild b/chromeos-base/biod/biod-9999.ebuild
index 574affa..a1c7c6c 100644
--- a/chromeos-base/biod/biod-9999.ebuild
+++ b/chromeos-base/biod/biod-9999.ebuild
@@ -13,7 +13,7 @@
 inherit cros-fuzzer cros-sanitizers cros-workon cros-unibuild platform udev user
 
 DESCRIPTION="Biometrics Daemon for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/biod/README.md"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/biod/README.md"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
@@ -31,6 +31,7 @@
 	chromeos-base/chromeos-config-tools:=
 	chromeos-base/libec:=
 	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/vboot_reference:=
 	sys-apps/flashmap:=
 "
 
diff --git a/chromeos-base/biod/files/revision_bump b/chromeos-base/biod/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/biod/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/biod_proxy/biod_proxy-0.0.1-r278.ebuild b/chromeos-base/biod_proxy/biod_proxy-0.0.1-r278.ebuild
deleted file mode 100644
index 5c7ee33..0000000
--- a/chromeos-base/biod_proxy/biod_proxy-0.0.1-r278.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "cdd343a1b2fde0b4ac6e0df05b61873de776969a" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_USE_VCSID="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk biod .gn"
-
-PLATFORM_SUBDIR="biod/biod_proxy"
-
-inherit cros-workon platform
-
-DESCRIPTION="DBus Proxy Library for Biometrics Daemon for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/biod/README.md"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND=""
-
-DEPEND="
-	chromeos-base/libbrillo:=
-	chromeos-base/system_api:=
-"
-
-src_install() {
-	platform_install
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/biod_proxy/biod_proxy-0.0.1-r361.ebuild b/chromeos-base/biod_proxy/biod_proxy-0.0.1-r361.ebuild
new file mode 100644
index 0000000..ccb63b0
--- /dev/null
+++ b/chromeos-base/biod_proxy/biod_proxy-0.0.1-r361.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "3e7613ea6e002e2ed9003c451537961ee1ec8c06" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_USE_VCSID="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk biod .gn"
+
+PLATFORM_SUBDIR="biod/biod_proxy"
+
+inherit cros-workon platform
+
+DESCRIPTION="DBus Proxy Library for Biometrics Daemon for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/biod/README.md"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND=""
+
+DEPEND="
+	chromeos-base/libbrillo:=
+	chromeos-base/system_api:=
+"
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/biod_proxy/biod_proxy-9999.ebuild b/chromeos-base/biod_proxy/biod_proxy-9999.ebuild
index cdfbc8c..6ec82db 100644
--- a/chromeos-base/biod_proxy/biod_proxy-9999.ebuild
+++ b/chromeos-base/biod_proxy/biod_proxy-9999.ebuild
@@ -13,7 +13,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="DBus Proxy Library for Biometrics Daemon for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/biod/README.md"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/biod/README.md"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/biod_proxy/files/revision_bump b/chromeos-base/biod_proxy/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/biod_proxy/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/bootid-logger/bootid-logger-0.0.1-r144.ebuild b/chromeos-base/bootid-logger/bootid-logger-0.0.1-r144.ebuild
deleted file mode 100644
index baa8e58..0000000
--- a/chromeos-base/bootid-logger/bootid-logger-0.0.1-r144.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "1330141be4bcc5ab6d09f1a06295b97e8e3e1210" "90cd734b0ad93c5348345a199d6f26e647956eaa" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE="common-mk bootid-logger croslog .gn"
-
-PLATFORM_SUBDIR="bootid-logger"
-
-inherit cros-workon platform
-
-DESCRIPTION="Program to record the current boot ID to the log"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/bootid-logger"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=">=chromeos-base/croslog-0.0.1-r45"
-
-DEPEND="${RDEPEND}"
-
-src_install() {
-	platform_install
-
-	insinto /etc/init
-	doins log-bootid-on-boot.conf
-
-	local fuzzer_component_id="1029735"
-	platform_fuzzer_install "${S}"/../croslog/OWNERS "${OUT}"/bootid_logger_fuzzer \
-		--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/bootid-logger/bootid-logger-0.0.1-r208.ebuild b/chromeos-base/bootid-logger/bootid-logger-0.0.1-r208.ebuild
new file mode 100644
index 0000000..dd315ea
--- /dev/null
+++ b/chromeos-base/bootid-logger/bootid-logger-0.0.1-r208.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "83ca22e88798e1cc90cb146bff627f7dca4893bc" "8ef7c6aabe0a8edeff8f6030f7c1b79ab3e32522" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE="common-mk bootid-logger croslog .gn"
+
+PLATFORM_SUBDIR="bootid-logger"
+
+inherit cros-workon platform
+
+DESCRIPTION="Program to record the current boot ID to the log"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/bootid-logger"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND=">=chromeos-base/croslog-0.0.1-r45"
+
+DEPEND="${RDEPEND}"
+
+src_install() {
+	platform_install
+
+	insinto /etc/init
+	doins log-bootid-on-boot.conf
+
+	local fuzzer_component_id="1029735"
+	platform_fuzzer_install "${S}"/../croslog/OWNERS "${OUT}"/bootid_logger_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/bootid-logger/files/revision_bump b/chromeos-base/bootid-logger/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/bootid-logger/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/bootlockbox-client/bootlockbox-client-0.0.1-r1582.ebuild b/chromeos-base/bootlockbox-client/bootlockbox-client-0.0.1-r1582.ebuild
deleted file mode 100644
index cacea23..0000000
--- a/chromeos-base/bootlockbox-client/bootlockbox-client-0.0.1-r1582.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="1c6b26a6816e8735ba35b893e241e4e82dbced8f"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "964775e6e0db71595872056851302232fdba45da" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk cryptohome .gn"
-
-PLATFORM_SUBDIR="cryptohome/bootlockbox-client"
-
-inherit cros-workon platform
-
-DESCRIPTION="BootLockbox DBus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/cryptohome/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="cros_host"
-
-# D-Bus proxies generated by this client library depend on the code generator
-# itself (chromeos-dbus-bindings) and produce header files that rely on
-# libbrillo library.
-BDEPEND="
-	chromeos-base/chromeos-dbus-bindings
-"
-
-src_install() {
-	# Export neccessary header files:
-	insinto /usr/include/bootlockbox-client/bootlockbox
-	doins ../bootlockbox/boot_lockbox_client.h
-
-	# Export necessary for crytphome header files:
-	insinto /usr/include/cryptohome/bootlockbox
-	doins "${OUT}"/gen/include/cryptohome/bootlockbox/*.h
-
-	dolib.a "${OUT}"/libbootlockbox-proto.a
-	# Install libbootlockbox-client.so:
-	dolib.so "${OUT}"/lib/libbootlockbox-client.so
-
-	# Install DBus client library.
-	platform_install_dbus_client_lib "bootlockbox"
-}
diff --git a/chromeos-base/bootlockbox-client/bootlockbox-client-0.0.1-r1881.ebuild b/chromeos-base/bootlockbox-client/bootlockbox-client-0.0.1-r1881.ebuild
new file mode 100644
index 0000000..6dff4e4
--- /dev/null
+++ b/chromeos-base/bootlockbox-client/bootlockbox-client-0.0.1-r1881.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "cae4613fb762e98fcafc23166e621aaa667b6729" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk cryptohome .gn"
+
+PLATFORM_SUBDIR="cryptohome/bootlockbox-client"
+
+inherit cros-workon platform
+
+DESCRIPTION="BootLockbox DBus client library for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cryptohome/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="cros_host"
+
+# D-Bus proxies generated by this client library depend on the code generator
+# itself (chromeos-dbus-bindings) and produce header files that rely on
+# libbrillo library.
+BDEPEND="
+	chromeos-base/chromeos-dbus-bindings
+"
+
+src_install() {
+	# Export neccessary header files:
+	insinto /usr/include/bootlockbox-client/bootlockbox
+	doins ../bootlockbox/boot_lockbox_client.h
+
+	# Export necessary for crytphome header files:
+	insinto /usr/include/cryptohome/bootlockbox
+	doins "${OUT}"/gen/include/cryptohome/bootlockbox/*.h
+
+	dolib.a "${OUT}"/libbootlockbox-proto.a
+	# Install libbootlockbox-client.so:
+	dolib.so "${OUT}"/lib/libbootlockbox-client.so
+
+	# Install DBus client library.
+	platform_install_dbus_client_lib "bootlockbox"
+}
diff --git a/chromeos-base/bootlockbox-client/bootlockbox-client-9999.ebuild b/chromeos-base/bootlockbox-client/bootlockbox-client-9999.ebuild
index 2708cf2..cf0f83e 100644
--- a/chromeos-base/bootlockbox-client/bootlockbox-client-9999.ebuild
+++ b/chromeos-base/bootlockbox-client/bootlockbox-client-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="BootLockbox DBus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/cryptohome/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cryptohome/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/bootlockbox-client/files/revision_bump b/chromeos-base/bootlockbox-client/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/bootlockbox-client/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/bootstat/bootstat-0.0.2-r3176.ebuild b/chromeos-base/bootstat/bootstat-0.0.2-r3176.ebuild
deleted file mode 100644
index a8426d9..0000000
--- a/chromeos-base/bootstat/bootstat-0.0.2-r3176.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "099ee78ecfdd76a535372e12365bd5372e6e2596" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_SUBTREE="common-mk bootstat .gn"
-
-PLATFORM_SUBDIR="bootstat"
-
-inherit cros-workon platform
-
-DESCRIPTION="Chrome OS Boot Time Statistics Utilities"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/bootstat/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-COMMON_DEPEND="
-	sys-apps/rootdev:=
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-"
-
-src_install() {
-	platform_install
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/bootstat/bootstat-0.0.2-r3235.ebuild b/chromeos-base/bootstat/bootstat-0.0.2-r3235.ebuild
new file mode 100644
index 0000000..67e6ae7
--- /dev/null
+++ b/chromeos-base/bootstat/bootstat-0.0.2-r3235.ebuild
@@ -0,0 +1,43 @@
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "05c88bcfecc640205a21834d7f46a3d1e651f111" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk bootstat .gn"
+
+PLATFORM_SUBDIR="bootstat"
+
+inherit cros-workon platform
+
+DESCRIPTION="Chrome OS Boot Time Statistics Utilities"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/bootstat/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+COMMON_DEPEND="
+	sys-apps/rootdev:=
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+"
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/bootstat/bootstat-9999.ebuild b/chromeos-base/bootstat/bootstat-9999.ebuild
index 414963c..e8ba125 100644
--- a/chromeos-base/bootstat/bootstat-9999.ebuild
+++ b/chromeos-base/bootstat/bootstat-9999.ebuild
@@ -13,7 +13,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Chrome OS Boot Time Statistics Utilities"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/bootstat/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/bootstat/"
 SRC_URI=""
 
 LICENSE="BSD-Google"
diff --git a/chromeos-base/bootstat/files/revision_bump b/chromeos-base/bootstat/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/bootstat/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/busybox-config/busybox-config-1.21.0.ebuild b/chromeos-base/busybox-config/busybox-config-1.21.0.ebuild
deleted file mode 100644
index b2cd3c4..0000000
--- a/chromeos-base/busybox-config/busybox-config-1.21.0.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-DESCRIPTION="CrOS specific busybox configuration file."
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm x86"
-
-S=${WORKDIR}
-
-src_install() {
-	insinto /etc/portage/savedconfig/sys-apps
-	doins "${FILESDIR}/busybox"
-}
diff --git a/chromeos-base/busybox-config/files/busybox b/chromeos-base/busybox-config/files/busybox
deleted file mode 100644
index 908b799..0000000
--- a/chromeos-base/busybox-config/files/busybox
+++ /dev/null
@@ -1,1034 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Busybox version: 1.21.0
-# Fri Jan 25 11:49:15 2013
-#
-CONFIG_HAVE_DOT_CONFIG=y
-
-#
-# Busybox Settings
-#
-
-#
-# General Configuration
-#
-CONFIG_DESKTOP=y
-CONFIG_EXTRA_COMPAT=y
-CONFIG_INCLUDE_SUSv2=y
-# CONFIG_USE_PORTABLE_CODE is not set
-CONFIG_PLATFORM_LINUX=y
-CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
-# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
-# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
-CONFIG_SHOW_USAGE=y
-CONFIG_FEATURE_VERBOSE_USAGE=y
-CONFIG_FEATURE_COMPRESS_USAGE=y
-# CONFIG_FEATURE_INSTALLER is not set
-CONFIG_INSTALL_NO_USR=y
-# CONFIG_LOCALE_SUPPORT is not set
-# CONFIG_UNICODE_SUPPORT is not set
-# CONFIG_UNICODE_USING_LOCALE is not set
-# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
-CONFIG_SUBST_WCHAR=0
-CONFIG_LAST_SUPPORTED_WCHAR=0
-# CONFIG_UNICODE_COMBINING_WCHARS is not set
-# CONFIG_UNICODE_WIDE_WCHARS is not set
-# CONFIG_UNICODE_BIDI_SUPPORT is not set
-# CONFIG_UNICODE_NEUTRAL_TABLE is not set
-# CONFIG_UNICODE_PRESERVE_BROKEN is not set
-CONFIG_LONG_OPTS=y
-CONFIG_FEATURE_DEVPTS=y
-# CONFIG_FEATURE_CLEAN_UP is not set
-CONFIG_FEATURE_UTMP=y
-CONFIG_FEATURE_WTMP=y
-CONFIG_FEATURE_PIDFILE=y
-CONFIG_PID_FILE_PATH="/var/run"
-CONFIG_FEATURE_SUID=y
-# CONFIG_FEATURE_SUID_CONFIG is not set
-# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
-# CONFIG_SELINUX is not set
-CONFIG_FEATURE_PREFER_APPLETS=y
-CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
-CONFIG_FEATURE_SYSLOG=y
-# CONFIG_FEATURE_HAVE_RPC is not set
-
-#
-# Build Options
-#
-# CONFIG_STATIC is not set
-# CONFIG_PIE is not set
-# CONFIG_NOMMU is not set
-# CONFIG_BUILD_LIBBUSYBOX is not set
-# CONFIG_FEATURE_INDIVIDUAL is not set
-# CONFIG_FEATURE_SHARED_BUSYBOX is not set
-CONFIG_LFS=y
-CONFIG_CROSS_COMPILER_PREFIX=""
-CONFIG_SYSROOT=""
-CONFIG_EXTRA_CFLAGS=""
-CONFIG_EXTRA_LDFLAGS=""
-CONFIG_EXTRA_LDLIBS=""
-
-#
-# Debugging Options
-#
-# CONFIG_DEBUG is not set
-# CONFIG_DEBUG_PESSIMIZE is not set
-# CONFIG_WERROR is not set
-CONFIG_NO_DEBUG_LIB=y
-# CONFIG_DMALLOC is not set
-# CONFIG_EFENCE is not set
-
-#
-# Installation Options ("make install" behavior)
-#
-CONFIG_INSTALL_APPLET_SYMLINKS=y
-# CONFIG_INSTALL_APPLET_HARDLINKS is not set
-# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
-# CONFIG_INSTALL_APPLET_DONT is not set
-# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
-# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
-# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
-CONFIG_PREFIX="./_install"
-
-#
-# Busybox Library Tuning
-#
-# CONFIG_FEATURE_SYSTEMD is not set
-CONFIG_FEATURE_RTMINMAX=y
-CONFIG_PASSWORD_MINLEN=6
-CONFIG_MD5_SMALL=1
-CONFIG_SHA3_SMALL=1
-CONFIG_FEATURE_FAST_TOP=y
-CONFIG_FEATURE_ETC_NETWORKS=y
-CONFIG_FEATURE_USE_TERMIOS=y
-CONFIG_FEATURE_EDITING=y
-CONFIG_FEATURE_EDITING_MAX_LEN=1024
-CONFIG_FEATURE_EDITING_VI=y
-CONFIG_FEATURE_EDITING_HISTORY=255
-CONFIG_FEATURE_EDITING_SAVEHISTORY=y
-CONFIG_FEATURE_EDITING_SAVE_ON_EXIT=y
-CONFIG_FEATURE_REVERSE_SEARCH=y
-CONFIG_FEATURE_TAB_COMPLETION=y
-CONFIG_FEATURE_USERNAME_COMPLETION=y
-CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
-CONFIG_FEATURE_EDITING_ASK_TERMINAL=y
-CONFIG_FEATURE_NON_POSIX_CP=y
-CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y
-CONFIG_FEATURE_COPYBUF_KB=4
-CONFIG_FEATURE_SKIP_ROOTFS=y
-# CONFIG_MONOTONIC_SYSCALL is not set
-CONFIG_IOCTL_HEX2STR_ERROR=y
-# CONFIG_FEATURE_HWIB is not set
-
-#
-# Applets
-#
-
-#
-# Archival Utilities
-#
-CONFIG_FEATURE_SEAMLESS_XZ=y
-CONFIG_FEATURE_SEAMLESS_LZMA=y
-CONFIG_FEATURE_SEAMLESS_BZ2=y
-CONFIG_FEATURE_SEAMLESS_GZ=y
-CONFIG_FEATURE_SEAMLESS_Z=y
-CONFIG_AR=y
-CONFIG_FEATURE_AR_LONG_FILENAMES=y
-CONFIG_FEATURE_AR_CREATE=y
-CONFIG_BUNZIP2=y
-CONFIG_BZIP2=y
-CONFIG_CPIO=y
-CONFIG_FEATURE_CPIO_O=y
-CONFIG_FEATURE_CPIO_P=y
-# CONFIG_DPKG is not set
-# CONFIG_DPKG_DEB is not set
-# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
-CONFIG_GUNZIP=y
-CONFIG_GZIP=y
-CONFIG_FEATURE_GZIP_LONG_OPTIONS=y
-CONFIG_GZIP_FAST=0
-CONFIG_LZOP=y
-CONFIG_LZOP_COMPR_HIGH=y
-# CONFIG_RPM2CPIO is not set
-# CONFIG_RPM is not set
-CONFIG_TAR=y
-CONFIG_FEATURE_TAR_CREATE=y
-CONFIG_FEATURE_TAR_AUTODETECT=y
-CONFIG_FEATURE_TAR_FROM=y
-CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
-CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY=y
-CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
-CONFIG_FEATURE_TAR_LONG_OPTIONS=y
-CONFIG_FEATURE_TAR_TO_COMMAND=y
-CONFIG_FEATURE_TAR_UNAME_GNAME=y
-CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y
-# CONFIG_FEATURE_TAR_SELINUX is not set
-CONFIG_UNCOMPRESS=y
-CONFIG_UNLZMA=y
-CONFIG_FEATURE_LZMA_FAST=y
-CONFIG_LZMA=y
-CONFIG_UNXZ=y
-CONFIG_XZ=y
-CONFIG_UNZIP=y
-
-#
-# Coreutils
-#
-CONFIG_BASENAME=y
-CONFIG_CAT=y
-CONFIG_DATE=y
-CONFIG_FEATURE_DATE_ISOFMT=y
-CONFIG_FEATURE_DATE_NANO=y
-CONFIG_FEATURE_DATE_COMPAT=y
-# CONFIG_HOSTID is not set
-CONFIG_ID=y
-CONFIG_GROUPS=y
-CONFIG_TEST=y
-CONFIG_FEATURE_TEST_64=y
-CONFIG_TOUCH=y
-CONFIG_FEATURE_TOUCH_SUSV3=y
-CONFIG_TR=y
-CONFIG_FEATURE_TR_CLASSES=y
-CONFIG_FEATURE_TR_EQUIV=y
-# CONFIG_BASE64 is not set
-CONFIG_WHO=y
-CONFIG_USERS=y
-# CONFIG_CAL is not set
-CONFIG_CATV=y
-CONFIG_CHGRP=y
-CONFIG_CHMOD=y
-CONFIG_CHOWN=y
-CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y
-CONFIG_CHROOT=y
-CONFIG_CKSUM=y
-CONFIG_COMM=y
-CONFIG_CP=y
-CONFIG_FEATURE_CP_LONG_OPTIONS=y
-CONFIG_CUT=y
-CONFIG_DD=y
-CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
-CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y
-CONFIG_FEATURE_DD_IBS_OBS=y
-CONFIG_DF=y
-CONFIG_FEATURE_DF_FANCY=y
-CONFIG_DIRNAME=y
-# CONFIG_DOS2UNIX is not set
-# CONFIG_UNIX2DOS is not set
-CONFIG_DU=y
-CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
-CONFIG_ECHO=y
-CONFIG_FEATURE_FANCY_ECHO=y
-CONFIG_ENV=y
-CONFIG_FEATURE_ENV_LONG_OPTIONS=y
-# CONFIG_EXPAND is not set
-# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set
-CONFIG_EXPR=y
-CONFIG_EXPR_MATH_SUPPORT_64=y
-CONFIG_FALSE=y
-# CONFIG_FOLD is not set
-CONFIG_FSYNC=y
-CONFIG_HEAD=y
-CONFIG_FEATURE_FANCY_HEAD=y
-CONFIG_INSTALL=y
-CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
-CONFIG_LN=y
-# CONFIG_LOGNAME is not set
-CONFIG_LS=y
-CONFIG_FEATURE_LS_FILETYPES=y
-CONFIG_FEATURE_LS_FOLLOWLINKS=y
-CONFIG_FEATURE_LS_RECURSIVE=y
-CONFIG_FEATURE_LS_SORTFILES=y
-CONFIG_FEATURE_LS_TIMESTAMPS=y
-CONFIG_FEATURE_LS_USERNAME=y
-CONFIG_FEATURE_LS_COLOR=y
-CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
-CONFIG_MD5SUM=y
-CONFIG_MKDIR=y
-CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
-CONFIG_MKFIFO=y
-CONFIG_MKNOD=y
-CONFIG_MV=y
-CONFIG_FEATURE_MV_LONG_OPTIONS=y
-CONFIG_NICE=y
-CONFIG_NOHUP=y
-# CONFIG_OD is not set
-CONFIG_PRINTENV=y
-CONFIG_PRINTF=y
-CONFIG_PWD=y
-CONFIG_READLINK=y
-CONFIG_FEATURE_READLINK_FOLLOW=y
-CONFIG_REALPATH=y
-CONFIG_RM=y
-CONFIG_RMDIR=y
-CONFIG_FEATURE_RMDIR_LONG_OPTIONS=y
-CONFIG_SEQ=y
-CONFIG_SHA1SUM=y
-CONFIG_SHA256SUM=y
-CONFIG_SHA512SUM=y
-CONFIG_SHA3SUM=y
-CONFIG_SLEEP=y
-CONFIG_FEATURE_FANCY_SLEEP=y
-CONFIG_FEATURE_FLOAT_SLEEP=y
-CONFIG_SORT=y
-CONFIG_FEATURE_SORT_BIG=y
-CONFIG_SPLIT=y
-CONFIG_FEATURE_SPLIT_FANCY=y
-CONFIG_STAT=y
-CONFIG_FEATURE_STAT_FORMAT=y
-CONFIG_STTY=y
-CONFIG_SUM=y
-CONFIG_SYNC=y
-CONFIG_TAC=y
-CONFIG_TAIL=y
-CONFIG_FEATURE_FANCY_TAIL=y
-CONFIG_TEE=y
-CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
-CONFIG_TRUE=y
-CONFIG_TTY=y
-CONFIG_UNAME=y
-CONFIG_UNEXPAND=y
-CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y
-CONFIG_UNIQ=y
-CONFIG_USLEEP=y
-# CONFIG_UUDECODE is not set
-# CONFIG_UUENCODE is not set
-CONFIG_WC=y
-CONFIG_FEATURE_WC_LARGE=y
-CONFIG_WHOAMI=y
-CONFIG_YES=y
-
-#
-# Common options for cp and mv
-#
-CONFIG_FEATURE_PRESERVE_HARDLINKS=y
-
-#
-# Common options for ls, more and telnet
-#
-CONFIG_FEATURE_AUTOWIDTH=y
-
-#
-# Common options for df, du, ls
-#
-CONFIG_FEATURE_HUMAN_READABLE=y
-
-#
-# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum
-#
-CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
-
-#
-# Console Utilities
-#
-CONFIG_CHVT=y
-CONFIG_FGCONSOLE=y
-CONFIG_CLEAR=y
-CONFIG_DEALLOCVT=y
-CONFIG_DUMPKMAP=y
-CONFIG_KBD_MODE=y
-# CONFIG_LOADFONT is not set
-# CONFIG_LOADKMAP is not set
-CONFIG_OPENVT=y
-CONFIG_RESET=y
-CONFIG_RESIZE=y
-CONFIG_FEATURE_RESIZE_PRINT=y
-CONFIG_SETCONSOLE=y
-CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y
-CONFIG_SETFONT=y
-CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y
-CONFIG_DEFAULT_SETFONT_DIR=""
-CONFIG_SETKEYCODES=y
-CONFIG_SETLOGCONS=y
-CONFIG_SHOWKEY=y
-
-#
-# Common options for loadfont and setfont
-#
-# CONFIG_FEATURE_LOADFONT_PSF2 is not set
-# CONFIG_FEATURE_LOADFONT_RAW is not set
-
-#
-# Debian Utilities
-#
-CONFIG_MKTEMP=y
-CONFIG_PIPE_PROGRESS=y
-# CONFIG_RUN_PARTS is not set
-# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
-# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
-# CONFIG_START_STOP_DAEMON is not set
-# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set
-# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set
-CONFIG_WHICH=y
-
-#
-# Editors
-#
-CONFIG_PATCH=y
-CONFIG_VI=y
-CONFIG_FEATURE_VI_MAX_LEN=4096
-CONFIG_FEATURE_VI_8BIT=y
-CONFIG_FEATURE_VI_COLON=y
-CONFIG_FEATURE_VI_YANKMARK=y
-CONFIG_FEATURE_VI_SEARCH=y
-CONFIG_FEATURE_VI_REGEX_SEARCH=y
-CONFIG_FEATURE_VI_USE_SIGNALS=y
-CONFIG_FEATURE_VI_DOT_CMD=y
-CONFIG_FEATURE_VI_READONLY=y
-CONFIG_FEATURE_VI_SETOPTS=y
-CONFIG_FEATURE_VI_SET=y
-CONFIG_FEATURE_VI_WIN_RESIZE=y
-CONFIG_FEATURE_VI_ASK_TERMINAL=y
-CONFIG_AWK=y
-# CONFIG_FEATURE_AWK_LIBM is not set
-CONFIG_CMP=y
-CONFIG_DIFF=y
-CONFIG_FEATURE_DIFF_LONG_OPTIONS=y
-CONFIG_FEATURE_DIFF_DIR=y
-CONFIG_ED=y
-CONFIG_SED=y
-CONFIG_FEATURE_ALLOW_EXEC=y
-
-#
-# Finding Utilities
-#
-CONFIG_FIND=y
-CONFIG_FEATURE_FIND_PRINT0=y
-CONFIG_FEATURE_FIND_MTIME=y
-CONFIG_FEATURE_FIND_MMIN=y
-CONFIG_FEATURE_FIND_PERM=y
-CONFIG_FEATURE_FIND_TYPE=y
-CONFIG_FEATURE_FIND_XDEV=y
-CONFIG_FEATURE_FIND_MAXDEPTH=y
-CONFIG_FEATURE_FIND_NEWER=y
-CONFIG_FEATURE_FIND_INUM=y
-CONFIG_FEATURE_FIND_EXEC=y
-CONFIG_FEATURE_FIND_USER=y
-CONFIG_FEATURE_FIND_GROUP=y
-CONFIG_FEATURE_FIND_NOT=y
-CONFIG_FEATURE_FIND_DEPTH=y
-CONFIG_FEATURE_FIND_PAREN=y
-CONFIG_FEATURE_FIND_SIZE=y
-CONFIG_FEATURE_FIND_PRUNE=y
-CONFIG_FEATURE_FIND_DELETE=y
-CONFIG_FEATURE_FIND_PATH=y
-CONFIG_FEATURE_FIND_REGEX=y
-# CONFIG_FEATURE_FIND_CONTEXT is not set
-CONFIG_FEATURE_FIND_LINKS=y
-CONFIG_GREP=y
-CONFIG_FEATURE_GREP_EGREP_ALIAS=y
-CONFIG_FEATURE_GREP_FGREP_ALIAS=y
-CONFIG_FEATURE_GREP_CONTEXT=y
-CONFIG_XARGS=y
-CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
-CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
-CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
-CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
-
-#
-# Init Utilities
-#
-# CONFIG_BOOTCHARTD is not set
-# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set
-# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set
-CONFIG_HALT=y
-# CONFIG_FEATURE_CALL_TELINIT is not set
-CONFIG_TELINIT_PATH=""
-# CONFIG_INIT is not set
-# CONFIG_FEATURE_USE_INITTAB is not set
-# CONFIG_FEATURE_KILL_REMOVED is not set
-CONFIG_FEATURE_KILL_DELAY=0
-# CONFIG_FEATURE_INIT_SCTTY is not set
-# CONFIG_FEATURE_INIT_SYSLOG is not set
-# CONFIG_FEATURE_EXTRA_QUIET is not set
-# CONFIG_FEATURE_INIT_COREDUMPS is not set
-# CONFIG_FEATURE_INITRD is not set
-CONFIG_INIT_TERMINAL_TYPE=""
-# CONFIG_MESG is not set
-# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set
-
-#
-# Login/Password Management Utilities
-#
-# CONFIG_ADD_SHELL is not set
-# CONFIG_REMOVE_SHELL is not set
-CONFIG_FEATURE_SHADOWPASSWDS=y
-CONFIG_USE_BB_PWD_GRP=y
-CONFIG_USE_BB_SHADOW=y
-CONFIG_USE_BB_CRYPT=y
-CONFIG_USE_BB_CRYPT_SHA=y
-CONFIG_ADDUSER=y
-CONFIG_FEATURE_ADDUSER_LONG_OPTIONS=y
-CONFIG_FEATURE_CHECK_NAMES=y
-CONFIG_FIRST_SYSTEM_ID=100
-CONFIG_LAST_SYSTEM_ID=999
-CONFIG_ADDGROUP=y
-CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y
-CONFIG_FEATURE_ADDUSER_TO_GROUP=y
-CONFIG_DELUSER=y
-CONFIG_DELGROUP=y
-CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
-CONFIG_GETTY=y
-CONFIG_LOGIN=y
-CONFIG_LOGIN_SESSION_AS_CHILD=y
-# CONFIG_PAM is not set
-CONFIG_LOGIN_SCRIPTS=y
-CONFIG_FEATURE_NOLOGIN=y
-CONFIG_FEATURE_SECURETTY=y
-CONFIG_PASSWD=y
-CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
-CONFIG_CRYPTPW=y
-CONFIG_CHPASSWD=y
-CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des"
-CONFIG_SU=y
-CONFIG_FEATURE_SU_SYSLOG=y
-CONFIG_FEATURE_SU_CHECKS_SHELLS=y
-# CONFIG_SULOGIN is not set
-CONFIG_VLOCK=y
-
-#
-# Linux Ext2 FS Progs
-#
-CONFIG_CHATTR=y
-CONFIG_FSCK=y
-CONFIG_LSATTR=y
-CONFIG_TUNE2FS=y
-
-#
-# Linux Module Utilities
-#
-CONFIG_MODINFO=y
-CONFIG_MODPROBE_SMALL=y
-CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE=y
-CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED=y
-# CONFIG_INSMOD is not set
-# CONFIG_RMMOD is not set
-# CONFIG_LSMOD is not set
-# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
-# CONFIG_MODPROBE is not set
-# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
-# CONFIG_DEPMOD is not set
-
-#
-# Options common to multiple modutils
-#
-# CONFIG_FEATURE_2_4_MODULES is not set
-CONFIG_FEATURE_INSMOD_TRY_MMAP=y
-# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
-# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
-# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
-# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
-# CONFIG_FEATURE_MODUTILS_ALIAS is not set
-# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set
-CONFIG_DEFAULT_MODULES_DIR="/lib/modules"
-CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
-
-#
-# Linux System Utilities
-#
-CONFIG_BLOCKDEV=y
-CONFIG_MDEV=y
-CONFIG_FEATURE_MDEV_CONF=y
-CONFIG_FEATURE_MDEV_RENAME=y
-CONFIG_FEATURE_MDEV_RENAME_REGEXP=y
-CONFIG_FEATURE_MDEV_EXEC=y
-CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
-CONFIG_REV=y
-CONFIG_ACPID=y
-CONFIG_FEATURE_ACPID_COMPAT=y
-CONFIG_BLKID=y
-CONFIG_FEATURE_BLKID_TYPE=y
-CONFIG_DMESG=y
-CONFIG_FEATURE_DMESG_PRETTY=y
-CONFIG_FBSET=y
-CONFIG_FEATURE_FBSET_FANCY=y
-CONFIG_FEATURE_FBSET_READMODE=y
-CONFIG_FDFLUSH=y
-CONFIG_FDFORMAT=y
-CONFIG_FDISK=y
-# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set
-CONFIG_FEATURE_FDISK_WRITABLE=y
-CONFIG_FEATURE_AIX_LABEL=y
-CONFIG_FEATURE_SGI_LABEL=y
-CONFIG_FEATURE_SUN_LABEL=y
-CONFIG_FEATURE_OSF_LABEL=y
-CONFIG_FEATURE_GPT_LABEL=y
-CONFIG_FEATURE_FDISK_ADVANCED=y
-CONFIG_FINDFS=y
-CONFIG_FLOCK=y
-CONFIG_FREERAMDISK=y
-# CONFIG_FSCK_MINIX is not set
-CONFIG_MKFS_EXT2=y
-# CONFIG_MKFS_MINIX is not set
-# CONFIG_FEATURE_MINIX2 is not set
-# CONFIG_MKFS_REISER is not set
-CONFIG_MKFS_VFAT=y
-CONFIG_GETOPT=y
-CONFIG_FEATURE_GETOPT_LONG=y
-CONFIG_HEXDUMP=y
-CONFIG_FEATURE_HEXDUMP_REVERSE=y
-CONFIG_HD=y
-CONFIG_HWCLOCK=y
-CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
-CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
-CONFIG_IPCRM=y
-CONFIG_IPCS=y
-CONFIG_LOSETUP=y
-CONFIG_LSPCI=y
-CONFIG_LSUSB=y
-CONFIG_MKSWAP=y
-CONFIG_FEATURE_MKSWAP_UUID=y
-CONFIG_MORE=y
-CONFIG_MOUNT=y
-CONFIG_FEATURE_MOUNT_FAKE=y
-CONFIG_FEATURE_MOUNT_VERBOSE=y
-CONFIG_FEATURE_MOUNT_HELPERS=y
-CONFIG_FEATURE_MOUNT_LABEL=y
-# CONFIG_FEATURE_MOUNT_NFS is not set
-CONFIG_FEATURE_MOUNT_CIFS=y
-CONFIG_FEATURE_MOUNT_FLAGS=y
-CONFIG_FEATURE_MOUNT_FSTAB=y
-CONFIG_PIVOT_ROOT=y
-CONFIG_RDATE=y
-# CONFIG_RDEV is not set
-# CONFIG_READPROFILE is not set
-CONFIG_RTCWAKE=y
-CONFIG_SCRIPT=y
-CONFIG_SCRIPTREPLAY=y
-CONFIG_SETARCH=y
-CONFIG_SWAPONOFF=y
-CONFIG_FEATURE_SWAPON_PRI=y
-CONFIG_SWITCH_ROOT=y
-CONFIG_UMOUNT=y
-CONFIG_FEATURE_UMOUNT_ALL=y
-
-#
-# Common options for mount/umount
-#
-CONFIG_FEATURE_MOUNT_LOOP=y
-CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
-CONFIG_FEATURE_MTAB_SUPPORT=y
-CONFIG_VOLUMEID=y
-
-#
-# Filesystem/Volume identification
-#
-CONFIG_FEATURE_VOLUMEID_EXT=y
-CONFIG_FEATURE_VOLUMEID_BTRFS=y
-# CONFIG_FEATURE_VOLUMEID_REISERFS is not set
-CONFIG_FEATURE_VOLUMEID_FAT=y
-CONFIG_FEATURE_VOLUMEID_EXFAT=y
-# CONFIG_FEATURE_VOLUMEID_HFS is not set
-# CONFIG_FEATURE_VOLUMEID_JFS is not set
-# CONFIG_FEATURE_VOLUMEID_XFS is not set
-# CONFIG_FEATURE_VOLUMEID_NILFS is not set
-CONFIG_FEATURE_VOLUMEID_NTFS=y
-CONFIG_FEATURE_VOLUMEID_ISO9660=y
-CONFIG_FEATURE_VOLUMEID_UDF=y
-# CONFIG_FEATURE_VOLUMEID_LUKS is not set
-CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
-CONFIG_FEATURE_VOLUMEID_CRAMFS=y
-CONFIG_FEATURE_VOLUMEID_ROMFS=y
-CONFIG_FEATURE_VOLUMEID_SQUASHFS=y
-CONFIG_FEATURE_VOLUMEID_SYSV=y
-CONFIG_FEATURE_VOLUMEID_OCFS2=y
-CONFIG_FEATURE_VOLUMEID_LINUXRAID=y
-
-#
-# Miscellaneous Utilities
-#
-# CONFIG_CONSPY is not set
-CONFIG_LESS=y
-CONFIG_FEATURE_LESS_MAXLINES=9999999
-CONFIG_FEATURE_LESS_BRACKETS=y
-CONFIG_FEATURE_LESS_FLAGS=y
-CONFIG_FEATURE_LESS_MARKS=y
-CONFIG_FEATURE_LESS_REGEXP=y
-CONFIG_FEATURE_LESS_WINCH=y
-CONFIG_FEATURE_LESS_ASK_TERMINAL=y
-CONFIG_FEATURE_LESS_DASHCMD=y
-CONFIG_FEATURE_LESS_LINENUMS=y
-# CONFIG_NANDWRITE is not set
-# CONFIG_NANDDUMP is not set
-CONFIG_SETSERIAL=y
-# CONFIG_UBIATTACH is not set
-# CONFIG_UBIDETACH is not set
-# CONFIG_UBIMKVOL is not set
-# CONFIG_UBIRMVOL is not set
-# CONFIG_UBIRSVOL is not set
-# CONFIG_UBIUPDATEVOL is not set
-CONFIG_ADJTIMEX=y
-# CONFIG_BBCONFIG is not set
-# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
-# CONFIG_BEEP is not set
-CONFIG_FEATURE_BEEP_FREQ=0
-CONFIG_FEATURE_BEEP_LENGTH_MS=0
-# CONFIG_CHAT is not set
-# CONFIG_FEATURE_CHAT_NOFAIL is not set
-# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
-# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set
-# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
-# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
-# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
-# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
-CONFIG_CHRT=y
-CONFIG_CROND=y
-CONFIG_FEATURE_CROND_D=y
-CONFIG_FEATURE_CROND_CALL_SENDMAIL=y
-CONFIG_FEATURE_CROND_DIR="/var/spool/cron"
-# CONFIG_CRONTAB is not set
-# CONFIG_DC is not set
-# CONFIG_FEATURE_DC_LIBM is not set
-# CONFIG_DEVFSD is not set
-# CONFIG_DEVFSD_MODLOAD is not set
-# CONFIG_DEVFSD_FG_NP is not set
-# CONFIG_DEVFSD_VERBOSE is not set
-# CONFIG_FEATURE_DEVFS is not set
-# CONFIG_DEVMEM is not set
-CONFIG_EJECT=y
-CONFIG_FEATURE_EJECT_SCSI=y
-# CONFIG_FBSPLASH is not set
-CONFIG_FLASHCP=y
-CONFIG_FLASH_LOCK=y
-CONFIG_FLASH_UNLOCK=y
-CONFIG_FLASH_ERASEALL=y
-CONFIG_IONICE=y
-# CONFIG_INOTIFYD is not set
-CONFIG_LAST=y
-# CONFIG_FEATURE_LAST_SMALL is not set
-CONFIG_FEATURE_LAST_FANCY=y
-CONFIG_HDPARM=y
-CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
-CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y
-CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
-CONFIG_MAKEDEVS=y
-# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
-CONFIG_FEATURE_MAKEDEVS_TABLE=y
-CONFIG_MAN=y
-CONFIG_MICROCOM=y
-CONFIG_MOUNTPOINT=y
-CONFIG_MT=y
-CONFIG_RAIDAUTORUN=y
-CONFIG_READAHEAD=y
-# CONFIG_RFKILL is not set
-CONFIG_RUNLEVEL=y
-CONFIG_RX=y
-CONFIG_SETSID=y
-CONFIG_STRINGS=y
-# CONFIG_TASKSET is not set
-# CONFIG_FEATURE_TASKSET_FANCY is not set
-CONFIG_TIME=y
-CONFIG_TIMEOUT=y
-CONFIG_TTYSIZE=y
-CONFIG_VOLNAME=y
-CONFIG_WALL=y
-CONFIG_WATCHDOG=y
-
-#
-# Networking Utilities
-#
-CONFIG_NAMEIF=y
-CONFIG_FEATURE_NAMEIF_EXTENDED=y
-CONFIG_NBDCLIENT=y
-CONFIG_NC=y
-CONFIG_NC_SERVER=y
-CONFIG_NC_EXTRA=y
-CONFIG_NC_110_COMPAT=y
-CONFIG_PING=y
-# CONFIG_PING6 is not set
-CONFIG_FEATURE_FANCY_PING=y
-CONFIG_WHOIS=y
-# CONFIG_FEATURE_IPV6 is not set
-CONFIG_FEATURE_UNIX_LOCAL=y
-# CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set
-CONFIG_VERBOSE_RESOLUTION_ERRORS=y
-CONFIG_ARP=y
-CONFIG_ARPING=y
-CONFIG_BRCTL=y
-CONFIG_FEATURE_BRCTL_FANCY=y
-CONFIG_FEATURE_BRCTL_SHOW=y
-# CONFIG_DNSD is not set
-CONFIG_ETHER_WAKE=y
-# CONFIG_FAKEIDENTD is not set
-CONFIG_FTPD=y
-CONFIG_FEATURE_FTP_WRITE=y
-CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y
-# CONFIG_FTPGET is not set
-# CONFIG_FTPPUT is not set
-# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
-CONFIG_HOSTNAME=y
-CONFIG_HTTPD=y
-CONFIG_FEATURE_HTTPD_RANGES=y
-CONFIG_FEATURE_HTTPD_USE_SENDFILE=y
-CONFIG_FEATURE_HTTPD_SETUID=y
-CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
-CONFIG_FEATURE_HTTPD_AUTH_MD5=y
-CONFIG_FEATURE_HTTPD_CGI=y
-CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y
-CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y
-CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y
-CONFIG_FEATURE_HTTPD_ERROR_PAGES=y
-CONFIG_FEATURE_HTTPD_PROXY=y
-CONFIG_FEATURE_HTTPD_GZIP=y
-CONFIG_IFCONFIG=y
-CONFIG_FEATURE_IFCONFIG_STATUS=y
-CONFIG_FEATURE_IFCONFIG_SLIP=y
-CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
-CONFIG_FEATURE_IFCONFIG_HW=y
-CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
-CONFIG_IFENSLAVE=y
-CONFIG_IFPLUGD=y
-CONFIG_IFUPDOWN=y
-CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
-CONFIG_FEATURE_IFUPDOWN_IP=y
-CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
-# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
-CONFIG_FEATURE_IFUPDOWN_IPV4=y
-# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
-CONFIG_FEATURE_IFUPDOWN_MAPPING=y
-CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP=y
-# CONFIG_INETD is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
-# CONFIG_FEATURE_INETD_RPC is not set
-CONFIG_IP=y
-CONFIG_FEATURE_IP_ADDRESS=y
-CONFIG_FEATURE_IP_LINK=y
-CONFIG_FEATURE_IP_ROUTE=y
-CONFIG_FEATURE_IP_TUNNEL=y
-CONFIG_FEATURE_IP_RULE=y
-CONFIG_FEATURE_IP_SHORT_FORMS=y
-CONFIG_FEATURE_IP_RARE_PROTOCOLS=y
-CONFIG_IPADDR=y
-CONFIG_IPLINK=y
-CONFIG_IPROUTE=y
-CONFIG_IPTUNNEL=y
-CONFIG_IPRULE=y
-# CONFIG_IPCALC is not set
-# CONFIG_FEATURE_IPCALC_FANCY is not set
-# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
-CONFIG_NETSTAT=y
-CONFIG_FEATURE_NETSTAT_WIDE=y
-CONFIG_FEATURE_NETSTAT_PRG=y
-CONFIG_NSLOOKUP=y
-CONFIG_NTPD=y
-CONFIG_FEATURE_NTPD_SERVER=y
-CONFIG_PSCAN=y
-CONFIG_ROUTE=y
-# CONFIG_SLATTACH is not set
-# CONFIG_TCPSVD is not set
-CONFIG_TELNET=y
-CONFIG_FEATURE_TELNET_TTYPE=y
-CONFIG_FEATURE_TELNET_AUTOLOGIN=y
-CONFIG_TELNETD=y
-CONFIG_FEATURE_TELNETD_STANDALONE=y
-CONFIG_FEATURE_TELNETD_INETD_WAIT=y
-CONFIG_TFTP=y
-CONFIG_TFTPD=y
-
-#
-# Common options for tftp/tftpd
-#
-CONFIG_FEATURE_TFTP_GET=y
-CONFIG_FEATURE_TFTP_PUT=y
-CONFIG_FEATURE_TFTP_BLOCKSIZE=y
-CONFIG_FEATURE_TFTP_PROGRESS_BAR=y
-CONFIG_TFTP_DEBUG=y
-CONFIG_TRACEROUTE=y
-# CONFIG_TRACEROUTE6 is not set
-CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
-CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y
-CONFIG_FEATURE_TRACEROUTE_USE_ICMP=y
-CONFIG_TUNCTL=y
-CONFIG_FEATURE_TUNCTL_UG=y
-# CONFIG_UDHCPC6 is not set
-CONFIG_UDHCPD=y
-CONFIG_DHCPRELAY=y
-CONFIG_DUMPLEASES=y
-CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y
-CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC=y
-CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases"
-CONFIG_UDHCPC=y
-CONFIG_FEATURE_UDHCPC_ARPING=y
-CONFIG_FEATURE_UDHCP_PORT=y
-CONFIG_UDHCP_DEBUG=9
-CONFIG_FEATURE_UDHCP_RFC3397=y
-CONFIG_FEATURE_UDHCP_8021Q=y
-CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
-CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
-CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n"
-# CONFIG_UDPSVD is not set
-CONFIG_VCONFIG=y
-CONFIG_WGET=y
-CONFIG_FEATURE_WGET_STATUSBAR=y
-CONFIG_FEATURE_WGET_AUTHENTICATION=y
-CONFIG_FEATURE_WGET_LONG_OPTIONS=y
-CONFIG_FEATURE_WGET_TIMEOUT=y
-CONFIG_ZCIP=y
-
-#
-# Print Utilities
-#
-# CONFIG_LPD is not set
-# CONFIG_LPR is not set
-# CONFIG_LPQ is not set
-
-#
-# Mail Utilities
-#
-# CONFIG_MAKEMIME is not set
-CONFIG_FEATURE_MIME_CHARSET=""
-# CONFIG_POPMAILDIR is not set
-# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set
-# CONFIG_REFORMIME is not set
-# CONFIG_FEATURE_REFORMIME_COMPAT is not set
-# CONFIG_SENDMAIL is not set
-
-#
-# Process Utilities
-#
-CONFIG_IOSTAT=y
-CONFIG_LSOF=y
-CONFIG_MPSTAT=y
-CONFIG_NMETER=y
-CONFIG_PMAP=y
-CONFIG_POWERTOP=y
-CONFIG_PSTREE=y
-CONFIG_PWDX=y
-# CONFIG_SMEMCAP is not set
-CONFIG_TOP=y
-CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
-CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
-CONFIG_FEATURE_TOP_SMP_CPU=y
-CONFIG_FEATURE_TOP_DECIMALS=y
-CONFIG_FEATURE_TOP_SMP_PROCESS=y
-CONFIG_FEATURE_TOPMEM=y
-CONFIG_UPTIME=y
-CONFIG_FEATURE_UPTIME_UTMP_SUPPORT=y
-CONFIG_FREE=y
-CONFIG_FUSER=y
-CONFIG_KILL=y
-CONFIG_KILLALL=y
-CONFIG_KILLALL5=y
-CONFIG_PGREP=y
-CONFIG_PIDOF=y
-CONFIG_FEATURE_PIDOF_SINGLE=y
-CONFIG_FEATURE_PIDOF_OMIT=y
-CONFIG_PKILL=y
-CONFIG_PS=y
-# CONFIG_FEATURE_PS_WIDE is not set
-# CONFIG_FEATURE_PS_LONG is not set
-CONFIG_FEATURE_PS_TIME=y
-CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y
-CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS=y
-CONFIG_RENICE=y
-CONFIG_BB_SYSCTL=y
-CONFIG_FEATURE_SHOW_THREADS=y
-CONFIG_WATCH=y
-
-#
-# Runit Utilities
-#
-# CONFIG_RUNSV is not set
-# CONFIG_RUNSVDIR is not set
-# CONFIG_FEATURE_RUNSVDIR_LOG is not set
-# CONFIG_SV is not set
-CONFIG_SV_DEFAULT_SERVICE_DIR=""
-# CONFIG_SVLOGD is not set
-# CONFIG_CHPST is not set
-CONFIG_SETUIDGID=y
-CONFIG_ENVUIDGID=y
-CONFIG_ENVDIR=y
-CONFIG_SOFTLIMIT=y
-# CONFIG_CHCON is not set
-# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
-# CONFIG_GETENFORCE is not set
-# CONFIG_GETSEBOOL is not set
-# CONFIG_LOAD_POLICY is not set
-# CONFIG_MATCHPATHCON is not set
-# CONFIG_RESTORECON is not set
-# CONFIG_RUNCON is not set
-# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
-# CONFIG_SELINUXENABLED is not set
-# CONFIG_SETENFORCE is not set
-# CONFIG_SETFILES is not set
-# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
-# CONFIG_SETSEBOOL is not set
-# CONFIG_SESTATUS is not set
-
-#
-# Shells
-#
-CONFIG_ASH=y
-CONFIG_ASH_BASH_COMPAT=y
-# CONFIG_ASH_IDLE_TIMEOUT is not set
-CONFIG_ASH_JOB_CONTROL=y
-CONFIG_ASH_ALIAS=y
-CONFIG_ASH_GETOPTS=y
-CONFIG_ASH_BUILTIN_ECHO=y
-CONFIG_ASH_BUILTIN_PRINTF=y
-CONFIG_ASH_BUILTIN_TEST=y
-CONFIG_ASH_CMDCMD=y
-# CONFIG_ASH_MAIL is not set
-CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
-CONFIG_ASH_RANDOM_SUPPORT=y
-CONFIG_ASH_EXPAND_PRMT=y
-CONFIG_CTTYHACK=y
-# CONFIG_HUSH is not set
-# CONFIG_HUSH_BASH_COMPAT is not set
-# CONFIG_HUSH_BRACE_EXPANSION is not set
-# CONFIG_HUSH_HELP is not set
-# CONFIG_HUSH_INTERACTIVE is not set
-# CONFIG_HUSH_SAVEHISTORY is not set
-# CONFIG_HUSH_JOB is not set
-# CONFIG_HUSH_TICK is not set
-# CONFIG_HUSH_IF is not set
-# CONFIG_HUSH_LOOPS is not set
-# CONFIG_HUSH_CASE is not set
-# CONFIG_HUSH_FUNCTIONS is not set
-# CONFIG_HUSH_LOCAL is not set
-# CONFIG_HUSH_RANDOM_SUPPORT is not set
-# CONFIG_HUSH_EXPORT_N is not set
-# CONFIG_HUSH_MODE_X is not set
-# CONFIG_MSH is not set
-CONFIG_FEATURE_SH_IS_ASH=y
-# CONFIG_FEATURE_SH_IS_HUSH is not set
-# CONFIG_FEATURE_SH_IS_NONE is not set
-# CONFIG_FEATURE_BASH_IS_ASH is not set
-# CONFIG_FEATURE_BASH_IS_HUSH is not set
-CONFIG_FEATURE_BASH_IS_NONE=y
-CONFIG_SH_MATH_SUPPORT=y
-CONFIG_SH_MATH_SUPPORT_64=y
-CONFIG_FEATURE_SH_EXTRA_QUIET=y
-CONFIG_FEATURE_SH_STANDALONE=y
-CONFIG_FEATURE_SH_NOFORK=y
-CONFIG_FEATURE_SH_HISTFILESIZE=y
-
-#
-# System Logging Utilities
-#
-CONFIG_SYSLOGD=y
-CONFIG_FEATURE_ROTATE_LOGFILE=y
-CONFIG_FEATURE_REMOTE_LOG=y
-CONFIG_FEATURE_SYSLOGD_DUP=y
-CONFIG_FEATURE_SYSLOGD_CFG=y
-CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
-CONFIG_FEATURE_IPC_SYSLOG=y
-CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
-CONFIG_LOGREAD=y
-CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
-CONFIG_FEATURE_KMSG_SYSLOG=y
-CONFIG_KLOGD=y
-
-#
-# klogd should not be used together with syslog to kernel printk buffer
-#
-CONFIG_FEATURE_KLOGD_KLOGCTL=y
-CONFIG_LOGGER=y
diff --git a/chromeos-base/cbor/cbor-0.0.1-r163.ebuild b/chromeos-base/cbor/cbor-0.0.1-r163.ebuild
deleted file mode 100644
index 4490f2e..0000000
--- a/chromeos-base/cbor/cbor-0.0.1-r163.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("f35f2919309cf11b0ddd9deb24a6b145d40d9254" "b88c63453b18ef3b6058377aee2cbb5152dda39b")
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "be0db62170e9578effaf0492f97a7568a50fe55e")
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform2"
-	"chromiumos/platform/cbor"
-)
-
-CROS_WORKON_LOCALNAME=(
-	"platform2"
-	"platform/cbor"
-)
-
-CROS_WORKON_DESTDIR=(
-	"${S}/platform2"
-	# This needs to be platform2/cbor instead of platform/cbor because we are
-	# using the platform2 build system.
-	"${S}/platform2/cbor"
-)
-
-CROS_WORKON_SUBTREE=("common-mk .gn" "")
-
-PLATFORM_SUBDIR="cbor"
-
-inherit cros-workon platform
-
-DESCRIPTION="Concise Binary Object Representation (CBOR) library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/cbor"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-src_install() {
-	dolib.so "${OUT}"/lib/libcbor.so
-	insinto /usr/include/chromeos/cbor/
-	doins ./*.h
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	doins "${OUT}"/obj/cbor/cbor.pc
-
-	local fuzzer_component_id="923964"
-	platform_fuzzer_install "${S}/OWNERS" "${OUT}"/reader_fuzzer \
-		--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/cbor_unittests"
-}
diff --git a/chromeos-base/cbor/cbor-0.0.1-r222.ebuild b/chromeos-base/cbor/cbor-0.0.1-r222.ebuild
new file mode 100644
index 0000000..60767af
--- /dev/null
+++ b/chromeos-base/cbor/cbor-0.0.1-r222.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("dbb1136242ba822d539eaf11493f3b68815adb7f" "35fe21779fddc0d376da13dab49e31fa3491205f")
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "fa22c2326c89f0ccbecf5d2e3635701867e62b85")
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform2"
+	"chromiumos/platform/cbor"
+)
+
+CROS_WORKON_LOCALNAME=(
+	"platform2"
+	"platform/cbor"
+)
+
+CROS_WORKON_DESTDIR=(
+	"${S}/platform2"
+	# This needs to be platform2/cbor instead of platform/cbor because we are
+	# using the platform2 build system.
+	"${S}/platform2/cbor"
+)
+
+CROS_WORKON_SUBTREE=("common-mk .gn" "")
+
+PLATFORM_SUBDIR="cbor"
+
+inherit cros-workon platform
+
+DESCRIPTION="Concise Binary Object Representation (CBOR) library for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/cbor"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+src_install() {
+	dolib.so "${OUT}"/lib/libcbor.so
+	insinto /usr/include/chromeos/cbor/
+	doins ./*.h
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins "${OUT}"/obj/cbor/cbor.pc
+
+	local fuzzer_component_id="923964"
+	platform_fuzzer_install "${S}/OWNERS" "${OUT}"/reader_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/cbor_unittests"
+}
diff --git a/chromeos-base/cbor/files/revision_bump b/chromeos-base/cbor/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/cbor/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/celltest-perf-endpoint/celltest-perf-endpoint-0.1-r3.ebuild b/chromeos-base/celltest-perf-endpoint/celltest-perf-endpoint-0.1-r3.ebuild
deleted file mode 100644
index de0406a..0000000
--- a/chromeos-base/celltest-perf-endpoint/celltest-perf-endpoint-0.1-r3.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-# Hand-install (with cros_package_to_live) on a device to make it an
-# endpoint in the cell testbed
-
-DESCRIPTION="Performance testing endpoint for cellular performance tests"
-HOMEPAGE="http://www.chromium.org/"
-SRC_URI=""
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm x86"
-IUSE=""
-
-RDEPEND="net-misc/iperf:2"
-DEPEND=""
-
-S=${WORKDIR}
-
-src_install() {
-	insinto /etc/init
-	doins "${FILESDIR}"/celltest-perf-endpoint-{network,iperf,webserver}.conf
-
-	dobin "${FILESDIR}"/celltest-perf-endpoint-webserver
-}
diff --git a/chromeos-base/celltest-perf-endpoint/files/celltest-perf-endpoint-iperf.conf b/chromeos-base/celltest-perf-endpoint/files/celltest-perf-endpoint-iperf.conf
deleted file mode 100644
index a5d987c..0000000
--- a/chromeos-base/celltest-perf-endpoint/files/celltest-perf-endpoint-iperf.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-description "Run iperf on endpoints in the cell testbed"
-author "chromium-os-dev@chromium.org"
-
-# This file is from the chromeos-base/celltest-perf-endpoint ebuild,
-# which is hand-installed on the relevant testbed machines.  The
-# testbed is documented at
-# https://docs.google.com/document/pub?id=1yG7j8Iw9PnQTH-93zP5BqB0qQRU08az11A_eN0acd70
-
-start on stopped celltest-perf-endpoint-network
-stop on stopping system-services
-
-respawn
-
-script
-  if [ -x /usr/local/bin/iperf ] ; then
-    IPERF=/usr/local/bin/iperf
-  else
-    IPERF=/usr/bin/iperf
-  fi
-  exec $IPERF -s
-end script
diff --git a/chromeos-base/celltest-perf-endpoint/files/celltest-perf-endpoint-network.conf b/chromeos-base/celltest-perf-endpoint/files/celltest-perf-endpoint-network.conf
deleted file mode 100644
index cb2fc72..0000000
--- a/chromeos-base/celltest-perf-endpoint/files/celltest-perf-endpoint-network.conf
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-description "Configure network for endpoints in the cell testbed."
-author "chromium-os-dev@chromium.org"
-
-# This file is from the chromeos-base/celltest-perf-endpoint ebuild,
-# which is hand-installed on the relevant testbed machines.  The
-# testbed is documented at
-# https://docs.google.com/document/pub?id=1yG7j8Iw9PnQTH-93zP5BqB0qQRU08az11A_eN0acd70
-
-# Needs to run after iptables starts up so that our changes aren't
-# overwritten.  But, running directly after that will potentially
-# interfere with openssh-server because mutliple simultaneous iptables
-# invocations can fail.  So run after openssh-server has started.
-
-start on stopped iptables and stopped ip6tables and started openssh-server
-
-script
-  # Bring up the air-side virtual interface
-  ifconfig eth0:1 192.168.2.254
-
-  # Open iperf port
-  iptables -A INPUT -p tcp -m tcp --dport 5001 -j ACCEPT
-  iptables -A INPUT -p udp -m udp --dport 5001 -j ACCEPT
-
-  # Open web server port
-  iptables -A INPUT -p tcp -m tcp --dport 80  -j ACCEPT
-end script
diff --git a/chromeos-base/celltest-perf-endpoint/files/celltest-perf-endpoint-webserver b/chromeos-base/celltest-perf-endpoint/files/celltest-perf-endpoint-webserver
deleted file mode 100755
index 3d4e511..0000000
--- a/chromeos-base/celltest-perf-endpoint/files/celltest-perf-endpoint-webserver
+++ /dev/null
@@ -1,127 +0,0 @@
-#!/usr/bin/python
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""A simple web server for cell modem tests
-
-Used for:
-  Connectivity tests
-  Bandwidth tests
-"""
-
-import BaseHTTPServer
-import socket
-import struct
-import urlparse
-
-import numpy.random
-
-
-_MAX_SINGLE_TRANSFER = 1 << 20
-
-
-def WriteBytes(out, n):
-  """Write n random bytes to out."""
-  remaining = n
-
-  while remaining:
-    if remaining > _MAX_SINGLE_TRANSFER:
-      # We use random bytes to defeat any compression that may be
-      # present.  This code using the random module was on the edge of
-      # too slow:
-      #     struct.pack('Q' * (n/8),
-      #                 *[random.getrandbits(64) for x in xrange(n/8)])
-      # so we use numpy.random.bytes instead.
-      out.write(numpy.random.bytes(_MAX_SINGLE_TRANSFER))
-      remaining -= _MAX_SINGLE_TRANSFER
-    else:
-      out.write(numpy.random.bytes(remaining))
-      remaining = 0
-
-
-class HttpHandler(BaseHTTPServer.BaseHTTPRequestHandler):
-  def address_string(self):
-    """Build address string without attempting a reverse DNS lookup."""
-    return str(self.client_address[0])
-
-  def _Dispatch(self, command):
-    """Parses query and dispatches a request to the relevant method."""
-    parsed = urlparse.urlparse(self.path)
-
-    # the last value specified for each key
-    self.query = dict(
-        [(k, v[-1]) for k,v in urlparse.parse_qs(parsed.query).items()])
-
-    dispatch_table = {
-        'GET': {
-            '/connectivity/index.html': self.Connectivity,
-            '/download': self.GetBytes,
-            },
-        'POST': {
-            '/upload': self.SinkBytes,
-            },
-        }
-    if parsed.path not in dispatch_table[command]:
-      self.send_error(404)
-      return
-    dispatch_table[command][parsed.path]()
-
-  def do_GET(self):
-    return self._Dispatch('GET')
-
-  def do_POST(self):
-    return self._Dispatch('POST')
-
-  def GetBytes(self):
-    try:
-      n = int(self.query['size'])
-    except KeyError:
-      self.send_error(400)
-      return
-    self.send_response(200)
-    self.send_header('Content-Length', n)
-    self.end_headers()
-    WriteBytes(self.wfile, n)
-
-  def SinkBytes(self):
-    remaining = int(self.headers['Content-Length'])
-
-    while remaining:
-      this_read = min(remaining, _MAX_SINGLE_TRANSFER)
-      got = self.rfile.read(this_read)
-      if not got:
-        break
-      remaining -= len(got)
-
-    self.send_response(200)
-    self.end_headers()
-
-  def Connectivity(self):
-    self.send_response(200)
-    self.send_header('Content-Type', 'text/plain')
-    self.end_headers()
-    self.wfile.write('Chromium')
-
-
-class BigBufferHTTPServer(BaseHTTPServer.HTTPServer):
-  """HTTP server with large buffer sizes.
-
-  Empirically, we see poor performance with cell emulators and default
-  buffer sizes.
-  """
-
-  def get_request(self):
-    """Overrides get_request to set buffer sizes.
-    Returns:
-        (socket, address), where socket has been modified for large buffers
-    """
-    # We can't use super() here because BaseHTTPServer.HTTPServer is an
-    # old-style class.
-    sock, addr = BaseHTTPServer.HTTPServer.get_request(self)
-    sock.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 1 << 24)
-    sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 1 << 24)
-    return sock, addr
-
-
-BigBufferHTTPServer(('', 80), HttpHandler).serve_forever()
diff --git a/chromeos-base/celltest-perf-endpoint/files/celltest-perf-endpoint-webserver.conf b/chromeos-base/celltest-perf-endpoint/files/celltest-perf-endpoint-webserver.conf
deleted file mode 100644
index a9c0ac5..0000000
--- a/chromeos-base/celltest-perf-endpoint/files/celltest-perf-endpoint-webserver.conf
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-description "Simple web server for cellular testbed tests"
-author "chromium-os-dev@chromium.org"
-
-# This file is from the chromeos-base/celltest-perf-endpoint ebuild,
-# which is hand-installed on the relevant testbed machines.  The
-# testbed is documented at
-# https://docs.google.com/document/pub?id=1yG7j8Iw9PnQTH-93zP5BqB0qQRU08az11A_eN0acd70
-
-start on stopped celltest-perf-endpoint-network
-stop on stopping system-services
-
-respawn
-
-exec celltest-perf-endpoint-webserver
diff --git a/chromeos-base/cfm-dfu-notification/cfm-dfu-notification-0.0.1-r161.ebuild b/chromeos-base/cfm-dfu-notification/cfm-dfu-notification-0.0.1-r161.ebuild
deleted file mode 100644
index 28a21f3..0000000
--- a/chromeos-base/cfm-dfu-notification/cfm-dfu-notification-0.0.1-r161.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "63862a9eebc1145ee434295657abeeefaf884645" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE="common-mk cfm-dfu-notification .gn"
-CROS_WORKON_DESTDIR="${S}/platform2"
-
-PLATFORM_SUBDIR="cfm-dfu-notification"
-
-inherit cros-workon platform
-
-DESCRIPTION="Library to send firmware update notifications to CFM"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
-
-src_install() {
-	dolib.so "${OUT}"/lib/libcfm_dfu_notification.so
-
-	"${S}"/platform2_preinstall.sh "${PV}" "/usr/include/chromeos" "${OUT}"
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	doins "${OUT}"/cfm-dfu-notification.pc
-
-	insinto "/usr/include/chromeos/cfm-dfu-notification"
-	doins ./*.h
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}"/cfm_dfu_notification_test
-}
diff --git a/chromeos-base/cfm-dfu-notification/cfm-dfu-notification-0.0.1-r218.ebuild b/chromeos-base/cfm-dfu-notification/cfm-dfu-notification-0.0.1-r218.ebuild
new file mode 100644
index 0000000..11eea20
--- /dev/null
+++ b/chromeos-base/cfm-dfu-notification/cfm-dfu-notification-0.0.1-r218.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "63862a9eebc1145ee434295657abeeefaf884645" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_SUBTREE="common-mk cfm-dfu-notification .gn"
+CROS_WORKON_DESTDIR="${S}/platform2"
+
+PLATFORM_SUBDIR="cfm-dfu-notification"
+
+inherit cros-workon platform
+
+DESCRIPTION="Library to send firmware update notifications to CFM"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+
+src_install() {
+	dolib.so "${OUT}"/lib/libcfm_dfu_notification.so
+
+	"${S}"/platform2_preinstall.sh "${PV}" "/usr/include/chromeos" "${OUT}"
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins "${OUT}"/cfm-dfu-notification.pc
+
+	insinto "/usr/include/chromeos/cfm-dfu-notification"
+	doins ./*.h
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}"/cfm_dfu_notification_test
+}
diff --git a/chromeos-base/cfm-dfu-notification/files/revision_bump b/chromeos-base/cfm-dfu-notification/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/cfm-dfu-notification/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/chameleon/chameleon-0.0.2-r496.ebuild b/chromeos-base/chameleon/chameleon-0.0.2-r496.ebuild
deleted file mode 100644
index 6c54c14..0000000
--- a/chromeos-base/chameleon/chameleon-0.0.2-r496.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-CROS_WORKON_COMMIT="012bee9575d5adfce68be6222df1d62f393b8b0d"
-CROS_WORKON_TREE="af8e59309380b8d62e41ba862bba807f6e3c451e"
-CROS_WORKON_PROJECT="chromiumos/platform/chameleon"
-
-inherit cros-workon
-
-DESCRIPTION="Chameleon bundle for Autotest lab deployment"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/chameleon/"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="dev-lang/python"
-DEPEND="${RDEPEND}"
-
-src_install() {
-	local base_dir="/usr/share/chameleon-bundle"
-	insinto "${base_dir}"
-	newins dist/chameleond-*.tar.gz chameleond-${PVR}.tar.gz
-}
diff --git a/chromeos-base/chameleon/chameleon-0.0.2-r526.ebuild b/chromeos-base/chameleon/chameleon-0.0.2-r526.ebuild
new file mode 100644
index 0000000..ddba954
--- /dev/null
+++ b/chromeos-base/chameleon/chameleon-0.0.2-r526.ebuild
@@ -0,0 +1,35 @@
+# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+CROS_WORKON_COMMIT="4aa3b8f6ca42b041a4014c140af44a4c42a435ca"
+CROS_WORKON_TREE="e30b387083c90748b28f9f231e7b262561bb57cf"
+CROS_WORKON_PROJECT="chromiumos/platform/chameleon"
+
+inherit cros-workon cros-sanitizers
+
+DESCRIPTION="Chameleon bundle for Autotest lab deployment"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/chameleon/"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="dev-lang/python"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
+src_install() {
+	local base_dir="/usr/share/chameleon-bundle"
+	insinto "${base_dir}"
+	newins dist/chameleond-*.tar.gz chameleond-${PVR}.tar.gz
+}
+
+# TODO(b/233251906): Update and uncomment src_test() once we have unit tests in this package.
+#src_test(){
+#}
diff --git a/chromeos-base/chameleon/chameleon-9999.ebuild b/chromeos-base/chameleon/chameleon-9999.ebuild
index 7940066..e99c1b1 100644
--- a/chromeos-base/chameleon/chameleon-9999.ebuild
+++ b/chromeos-base/chameleon/chameleon-9999.ebuild
@@ -4,7 +4,7 @@
 EAPI=4
 CROS_WORKON_PROJECT="chromiumos/platform/chameleon"
 
-inherit cros-workon
+inherit cros-workon cros-sanitizers
 
 DESCRIPTION="Chameleon bundle for Autotest lab deployment"
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/chameleon/"
@@ -17,8 +17,17 @@
 RDEPEND="dev-lang/python"
 DEPEND="${RDEPEND}"
 
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
 src_install() {
 	local base_dir="/usr/share/chameleon-bundle"
 	insinto "${base_dir}"
 	newins dist/chameleond-*.tar.gz chameleond-${PVR}.tar.gz
 }
+
+# TODO(b/233251906): Update and uncomment src_test() once we have unit tests in this package.
+#src_test(){
+#}
diff --git a/chromeos-base/chaps-client/chaps-client-0.0.1-r144.ebuild b/chromeos-base/chaps-client/chaps-client-0.0.1-r144.ebuild
new file mode 100644
index 0000000..ff7d14b
--- /dev/null
+++ b/chromeos-base/chaps-client/chaps-client-0.0.1-r144.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "2e72f56ad37eadb01ad2b42e9938beb23cb3a389" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk chaps .gn"
+
+PLATFORM_SUBDIR="chaps/client"
+
+inherit cros-workon platform
+
+DESCRIPTION="chaps D-Bus client library for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chaps/client/"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="cros_host"
+
+# D-Bus proxies generated by this client library depend on the code generator
+# itself (chromeos-dbus-bindings) and produce header files that rely on
+# libbrillo library, hence both dependencies. We require the particular
+# revision because libbrillo-0.0.1-r1 changed location of header files from
+# chromeos/ to brillo/ and chromeos-dbus-bindings-0.0.1-r1058 generates the
+# code using the new location.
+DEPEND="
+	cros_host? ( >=chromeos-base/chromeos-dbus-bindings-0.0.1-r1058 )
+	chromeos-base/libbrillo:=
+"
+
+RDEPEND="
+	chromeos-base/libbrillo:=
+"
+
+src_install() {
+	# Install D-Bus client library.
+	platform_install_dbus_client_lib "chaps"
+}
diff --git a/chromeos-base/chaps-client/chaps-client-0.0.1-r70.ebuild b/chromeos-base/chaps-client/chaps-client-0.0.1-r70.ebuild
deleted file mode 100644
index 55ac23b..0000000
--- a/chromeos-base/chaps-client/chaps-client-0.0.1-r70.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "b8893a9e8fdf8b402519c4496addb087f21fbe50" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk chaps .gn"
-
-PLATFORM_SUBDIR="chaps/client"
-
-inherit cros-workon platform
-
-DESCRIPTION="chaps D-Bus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/chaps/client/"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE="cros_host"
-
-# D-Bus proxies generated by this client library depend on the code generator
-# itself (chromeos-dbus-bindings) and produce header files that rely on
-# libbrillo library, hence both dependencies. We require the particular
-# revision because libbrillo-0.0.1-r1 changed location of header files from
-# chromeos/ to brillo/ and chromeos-dbus-bindings-0.0.1-r1058 generates the
-# code using the new location.
-DEPEND="
-	cros_host? ( >=chromeos-base/chromeos-dbus-bindings-0.0.1-r1058 )
-	chromeos-base/libbrillo:=
-"
-
-RDEPEND="
-	chromeos-base/libbrillo:=
-"
-
-src_install() {
-	# Install D-Bus client library.
-	platform_install_dbus_client_lib "chaps"
-}
diff --git a/chromeos-base/chaps-client/chaps-client-9999.ebuild b/chromeos-base/chaps-client/chaps-client-9999.ebuild
index 0e597fa..997bc80 100644
--- a/chromeos-base/chaps-client/chaps-client-9999.ebuild
+++ b/chromeos-base/chaps-client/chaps-client-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="chaps D-Bus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/chaps/client/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chaps/client/"
 
 LICENSE="BSD-Google"
 SLOT="0"
diff --git a/chromeos-base/chaps-client/files/revision_bump b/chromeos-base/chaps-client/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/chaps-client/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/chaps/chaps-0.0.1-r3584.ebuild b/chromeos-base/chaps/chaps-0.0.1-r3584.ebuild
deleted file mode 100644
index f83d35b..0000000
--- a/chromeos-base/chaps/chaps-0.0.1-r3584.ebuild
+++ /dev/null
@@ -1,151 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "b8893a9e8fdf8b402519c4496addb087f21fbe50" "fb2b8277318fb7e7eff84f5c7669a46bf60f19f5" "b1c7898d3f42051cbba6426c62b35476a8de5b72" "4a0dedab080195bdc122d2289118df4af3ddca2c" "97266a4772907835fdab5d56b3ca24ed9c1c7a0e" "2acba33c99f07fa000bb44a4df3a65a8fe313bb1" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_USE_VCSID=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk chaps libhwsec libhwsec-foundation metrics trunks tpm_manager .gn"
-
-PLATFORM_SUBDIR="chaps"
-
-inherit cros-workon platform systemd user
-
-DESCRIPTION="PKCS #11 layer over TrouSerS"
-HOMEPAGE="http://www.chromium.org/developers/design-documents/chaps-technical-design"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="systemd test tpm tpm_dynamic tpm2 fuzzer"
-
-REQUIRED_USE="
-	tpm_dynamic? ( tpm tpm2 )
-	!tpm_dynamic? ( ?? ( tpm tpm2 ) )
-"
-
-RDEPEND="
-	tpm? (
-		app-crypt/trousers:=
-	)
-	tpm2? (
-		chromeos-base/trunks:=
-	)
-	chromeos-base/chaps-client:=
-	chromeos-base/minijail:=
-	chromeos-base/system_api:=[fuzzer?]
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/tpm_manager:=
-	!dev-db/leveldb
-	dev-libs/leveldb:=
-	dev-libs/openssl:=
-	dev-libs/protobuf:=
-"
-
-# Note: We need dev-libs/nss and dev-libs/nspr for the pkcs11 headers.
-DEPEND="${RDEPEND}
-	test? (
-		app-arch/gzip
-		app-arch/tar
-	)
-	chromeos-base/system_api:=[fuzzer?]
-	fuzzer? ( dev-libs/libprotobuf-mutator )
-	tpm2? ( chromeos-base/trunks:=[test?] )
-	dev-libs/nss:=
-	dev-libs/nspr:=
-	"
-
-pkg_setup() {
-	enewgroup "chronos-access"
-	enewuser "chaps"
-	cros-workon_pkg_setup
-}
-
-src_compile() {
-	platform_src_compile
-
-	# After compile, check the output for link dependency on nss.
-	# We should NOT have any link dependency on nss because nss imports chaps.
-	local out=$(scanelf -qRyn "${OUT}" | grep nss)
-	[[ -n "${out}" ]] && die "No link dependency on nss allowed:\n${out}"
-	# No dependency on nspr as well, same as above.
-	out=$(scanelf -qRyn "${OUT}" | grep nspr)
-	[[ -n "${out}" ]] && die "No link dependency on nspr allowed:\n${out}"
-}
-
-src_install() {
-	platform_install
-
-	# Install init scripts for systemd the ones for upstart are installd via
-	# BUILD.gn.
-	if use systemd; then
-		systemd_dounit init/chapsd.service
-		systemd_enable_service boot-services.target chapsd.service
-		systemd_dotmpfilesd init/chapsd_directories.conf
-	fi
-
-	# Chaps keeps database inside the user's cryptohome.
-	local daemon_store="/etc/daemon-store/chaps"
-	dodir "${daemon_store}"
-	fperms 0750 "${daemon_store}"
-	fowners chaps:chronos-access "${daemon_store}"
-
-	local fuzzer_component_id="886041"
-	local fuzzers=(
-		chaps_attributes_fuzzer
-		chaps_object_store_fuzzer
-		chaps_utility_fuzzer
-		chaps_slot_manager_fuzzer
-		chaps_chaps_service_fuzzer
-	)
-	for fuzzer in "${fuzzers[@]}"; do
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/"${fuzzer}" \
-			--comp "${fuzzer_component_id}"
-	done
-}
-
-platform_pkg_test() {
-	local tests=(
-		chaps_test
-		chaps_service_test
-		slot_manager_test
-		session_test
-		object_test
-		object_policy_test
-		object_pool_test
-		object_store_test
-		opencryptoki_importer_test
-		isolate_login_client_test
-	)
-	use tpm2 && tests+=(
-		tpm2_utility_test
-	)
-
-	local gtest_filter_qemu=""
-	gtest_filter_qemu+="-*DeathTest*"
-	gtest_filter_qemu+=":*ImportSample*"
-	gtest_filter_qemu+=":TestSession.RSA*"
-	gtest_filter_qemu+=":TestSession.KeyTypeMismatch"
-	gtest_filter_qemu+=":TestSession.KeyFunctionPermission"
-	gtest_filter_qemu+=":TestSession.BadKeySize"
-	gtest_filter_qemu+=":TestSession.BadSignature.*"
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}" "" "" "${gtest_filter_qemu}"
-	done
-}
-
-pkg_preinst() {
-	local ug
-	for ug in attestation pkcs11 chaps; do
-		enewuser "${ug}"
-		enewgroup "${ug}"
-	done
-}
diff --git a/chromeos-base/chaps/chaps-0.0.1-r3768.ebuild b/chromeos-base/chaps/chaps-0.0.1-r3768.ebuild
new file mode 100644
index 0000000..ed9c4b8
--- /dev/null
+++ b/chromeos-base/chaps/chaps-0.0.1-r3768.ebuild
@@ -0,0 +1,152 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "2e72f56ad37eadb01ad2b42e9938beb23cb3a389" "2e036f417afe5d55dcbd138f7bfe2c98ab14403f" "8ca9c97a07408fdff5abf480fb1b2a15405b6bc0" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c" "944879c9353c2df8adb7022407a8d319671325c1" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_USE_VCSID=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk chaps libhwsec libhwsec-foundation metrics trunks tpm_manager .gn"
+
+PLATFORM_SUBDIR="chaps"
+
+inherit cros-workon platform systemd user
+
+DESCRIPTION="PKCS #11 layer over TrouSerS"
+HOMEPAGE="http://www.chromium.org/developers/design-documents/chaps-technical-design"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="systemd test tpm tpm_dynamic tpm_insecure_fallback tpm2 fuzzer"
+
+REQUIRED_USE="
+	tpm_dynamic? ( tpm tpm2 )
+	!tpm_dynamic? ( ?? ( tpm tpm2 ) )
+"
+
+RDEPEND="
+	tpm? (
+		app-crypt/trousers:=
+	)
+	tpm2? (
+		chromeos-base/trunks:=
+	)
+	chromeos-base/chaps-client:=
+	chromeos-base/libhwsec:=[test?]
+	chromeos-base/minijail:=
+	chromeos-base/system_api:=[fuzzer?]
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/tpm_manager:=
+	!dev-db/leveldb
+	dev-libs/leveldb:=
+	dev-libs/openssl:=
+	dev-libs/protobuf:=
+"
+
+# Note: We need dev-libs/nss and dev-libs/nspr for the pkcs11 headers.
+DEPEND="${RDEPEND}
+	test? (
+		app-arch/gzip
+		app-arch/tar
+	)
+	chromeos-base/system_api:=[fuzzer?]
+	fuzzer? ( dev-libs/libprotobuf-mutator )
+	tpm2? ( chromeos-base/trunks:=[test?] )
+	dev-libs/nss:=
+	dev-libs/nspr:=
+	"
+
+pkg_setup() {
+	enewgroup "chronos-access"
+	enewuser "chaps"
+	cros-workon_pkg_setup
+}
+
+src_compile() {
+	platform_src_compile
+
+	# After compile, check the output for link dependency on nss.
+	# We should NOT have any link dependency on nss because nss imports chaps.
+	local out=$(scanelf -qRyn "${OUT}" | grep nss)
+	[[ -n "${out}" ]] && die "No link dependency on nss allowed:\n${out}"
+	# No dependency on nspr as well, same as above.
+	out=$(scanelf -qRyn "${OUT}" | grep nspr)
+	[[ -n "${out}" ]] && die "No link dependency on nspr allowed:\n${out}"
+}
+
+src_install() {
+	platform_install
+
+	# Install init scripts for systemd the ones for upstart are installd via
+	# BUILD.gn.
+	if use systemd; then
+		systemd_dounit init/chapsd.service
+		systemd_enable_service boot-services.target chapsd.service
+		systemd_dotmpfilesd init/chapsd_directories.conf
+	fi
+
+	# Chaps keeps database inside the user's cryptohome.
+	local daemon_store="/etc/daemon-store/chaps"
+	dodir "${daemon_store}"
+	fperms 0750 "${daemon_store}"
+	fowners chaps:chronos-access "${daemon_store}"
+
+	local fuzzer_component_id="1188704"
+	local fuzzers=(
+		chaps_attributes_fuzzer
+		chaps_object_store_fuzzer
+		chaps_utility_fuzzer
+		chaps_slot_manager_fuzzer
+		chaps_chaps_service_fuzzer
+	)
+	for fuzzer in "${fuzzers[@]}"; do
+		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/"${fuzzer}" \
+			--comp "${fuzzer_component_id}"
+	done
+}
+
+platform_pkg_test() {
+	local tests=(
+		chaps_test
+		chaps_service_test
+		slot_manager_test
+		session_test
+		object_test
+		object_policy_test
+		object_pool_test
+		object_store_test
+		opencryptoki_importer_test
+		isolate_login_client_test
+	)
+	use tpm2 && tests+=(
+		tpm2_utility_test
+	)
+
+	local gtest_filter_qemu=""
+	gtest_filter_qemu+="-*DeathTest*"
+	gtest_filter_qemu+=":*ImportSample*"
+	gtest_filter_qemu+=":TestSession.RSA*"
+	gtest_filter_qemu+=":TestSession.KeyTypeMismatch"
+	gtest_filter_qemu+=":TestSession.KeyFunctionPermission"
+	gtest_filter_qemu+=":TestSession.BadKeySize"
+	gtest_filter_qemu+=":TestSession.BadSignature.*"
+
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}" "" "" "${gtest_filter_qemu}"
+	done
+}
+
+pkg_preinst() {
+	local ug
+	for ug in attestation pkcs11 chaps; do
+		enewuser "${ug}"
+		enewgroup "${ug}"
+	done
+}
diff --git a/chromeos-base/chaps/chaps-9999.ebuild b/chromeos-base/chaps/chaps-9999.ebuild
index f383fc4..1dbeae1a 100644
--- a/chromeos-base/chaps/chaps-9999.ebuild
+++ b/chromeos-base/chaps/chaps-9999.ebuild
@@ -21,7 +21,7 @@
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
-IUSE="systemd test tpm tpm_dynamic tpm2 fuzzer"
+IUSE="systemd test tpm tpm_dynamic tpm_insecure_fallback tpm2 fuzzer"
 
 REQUIRED_USE="
 	tpm_dynamic? ( tpm tpm2 )
@@ -36,6 +36,7 @@
 		chromeos-base/trunks:=
 	)
 	chromeos-base/chaps-client:=
+	chromeos-base/libhwsec:=[test?]
 	chromeos-base/minijail:=
 	chromeos-base/system_api:=[fuzzer?]
 	>=chromeos-base/metrics-0.0.1-r3152:=
@@ -94,7 +95,7 @@
 	fperms 0750 "${daemon_store}"
 	fowners chaps:chronos-access "${daemon_store}"
 
-	local fuzzer_component_id="886041"
+	local fuzzer_component_id="1188704"
 	local fuzzers=(
 		chaps_attributes_fuzzer
 		chaps_object_store_fuzzer
diff --git a/chromeos-base/chaps/files/revision_bump b/chromeos-base/chaps/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/chaps/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/chargesplash/OWNERS b/chromeos-base/chargesplash/OWNERS
new file mode 100644
index 0000000..9e406bd
--- /dev/null
+++ b/chromeos-base/chargesplash/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/chargesplash/OWNERS
diff --git a/chromeos-base/chargesplash/chargesplash-0.0.1-r33.ebuild b/chromeos-base/chargesplash/chargesplash-0.0.1-r33.ebuild
new file mode 100644
index 0000000..a5f27b4
--- /dev/null
+++ b/chromeos-base/chargesplash/chargesplash-0.0.1-r33.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "83e2bdd8b74ac9fdb0c801679693d2bb0745064c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk chargesplash .gn"
+
+PLATFORM_SUBDIR="chargesplash"
+
+inherit cros-workon platform
+
+DESCRIPTION="Frecon-based charging indicator"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chargesplash"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+
+DEPEND="
+	chromeos-base/libec:=
+"
+
+RDEPEND="
+	${DEPEND}
+	sys-apps/frecon
+"
+
+src_install() {
+	dobin "${OUT}/chargesplash"
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/chargesplash/chargesplash-9999.ebuild b/chromeos-base/chargesplash/chargesplash-9999.ebuild
new file mode 100644
index 0000000..54001d5
--- /dev/null
+++ b/chromeos-base/chargesplash/chargesplash-9999.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI="7"
+
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk chargesplash .gn"
+
+PLATFORM_SUBDIR="chargesplash"
+
+inherit cros-workon platform
+
+DESCRIPTION="Frecon-based charging indicator"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chargesplash"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="~*"
+
+DEPEND="
+	chromeos-base/libec:=
+"
+
+RDEPEND="
+	${DEPEND}
+	sys-apps/frecon
+"
+
+src_install() {
+	dobin "${OUT}/chargesplash"
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/chrome-binary-tests/chrome-binary-tests-0.0.1-r20.ebuild b/chromeos-base/chrome-binary-tests/chrome-binary-tests-0.0.1-r23.ebuild
similarity index 100%
rename from chromeos-base/chrome-binary-tests/chrome-binary-tests-0.0.1-r20.ebuild
rename to chromeos-base/chrome-binary-tests/chrome-binary-tests-0.0.1-r23.ebuild
diff --git a/chromeos-base/chrome-binary-tests/chrome-binary-tests-0.0.1.ebuild b/chromeos-base/chrome-binary-tests/chrome-binary-tests-0.0.1.ebuild
index 09ae814..125a04f 100644
--- a/chromeos-base/chrome-binary-tests/chrome-binary-tests-0.0.1.ebuild
+++ b/chromeos-base/chrome-binary-tests/chrome-binary-tests-0.0.1.ebuild
@@ -31,8 +31,10 @@
 	doexe "${BINARY_DIR}/capture_unittests"
 	doexe "${BINARY_DIR}/dawn_end2end_tests"
 	doexe "${BINARY_DIR}/dawn_unittests"
+	doexe "${BINARY_DIR}/fake_dmserver"
 	doexe "${BINARY_DIR}/jpeg_decode_accelerator_unittest"
 	doexe "${BINARY_DIR}/ozone_gl_unittests"
+	doexe "${BINARY_DIR}/ozone_integration_tests"
 	doexe "${BINARY_DIR}/sandbox_linux_unittests"
 	doexe "${BINARY_DIR}/wayland_client_integration_tests"
 	doexe "${BINARY_DIR}/wayland_client_perftests"
@@ -50,4 +52,8 @@
 		doexe "${BINARY_DIR}/decode_test"
 		doexe "${BINARY_DIR}/vaapi_unittest"
 	fi
+
+	if use v4l2_codec; then
+		doexe "${BINARY_DIR}/v4l2_stateless_decoder"
+	fi
 }
diff --git a/chromeos-base/chrome-icu/chrome-icu-101.0.4907.0_rc-r1.ebuild b/chromeos-base/chrome-icu/chrome-icu-101.0.4907.0_rc-r1.ebuild
deleted file mode 100644
index 55b2ca6..0000000
--- a/chromeos-base/chrome-icu/chrome-icu-101.0.4907.0_rc-r1.ebuild
+++ /dev/null
@@ -1,689 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This ebuild is based on "chromeos-chrome.ebuild" to compile the chrome/icu
-# package into shared libraries and install them. The essential difference is to
-# do "chrome_make icu" rather than "chrome_make chrome". Besides, some other
-# non-trivial modifications are:
-#   - "chromium-source.eclass" is used to download chrome source code. Because
-#     "chromeos-chrome.ebuild" and "chromium-source.eclass" download the chrome
-#     source into the same location, the variables of "chromeos-chrome.ebuild"
-#     are kept.
-#   - "Control-flow integrity" (|is_cfi=false| and |use_cfi_cast=false|) is
-#     turned off otherwise the generated .so will crash (Illegal instruction).
-#   - Unrelated resource downloads (like for telemetry) are removed.
-#   - Unrelated configuration (like ozone platforms) are removed.
-#   - Unrelated features (like nacl) are disabled.
-#   - Header folders and libraries are postfixed with "${CHROME_ICU_POSTFIX}".
-#
-# Significant changes from "chromeos-chrome.ebuild" are highlighted by "[Mod]".
-#
-# The GN output folder is named as "out_icu_${BOARD}".
-
-EAPI=5
-
-PYTHON_COMPAT=( python3_{6..8} )
-inherit binutils-funcs chromium-source cros-constants cros-sanitizers flag-o-matic multilib toolchain-funcs python-any-r1 multiprocessing
-
-DESCRIPTION="The ICU library copied from chrome/third_party"
-HOMEPAGE="https://cs.chromium.org/chromium/src/third_party/icu/"
-
-LICENSE="icu-58"
-
-SLOT="0/${PVR}"
-KEYWORDS="*"
-
-# [Mod] Most of non-related IUSE flags are removed.
-IUSE="
-	asan
-	chrome_internal
-	component_build
-	cups
-	+libcxx
-	msan
-	neon
-	+runhooks
-	thinlto
-	ubsan
-	verbose
-	xkbcommon
-	"
-
-# [Mod] clear REQUIRED_USE.
-REQUIRED_USE=""
-
-# [Mod] Ozone platform variables are removed.
-
-# The gclient hooks that run in src_prepare hit the network.
-# https://crbug.com/731905
-RESTRICT="network-sandbox mirror"
-
-# Portage version without optional portage suffix.
-CHROME_VERSION="${PV/_*/}"
-
-# chrome destination directory
-CHROME_DIR=/opt/google/chrome
-
-# For compilation
-BUILDTYPE="${BUILDTYPE:-Release}"
-BOARD="${BOARD:-${SYSROOT##/build/}}"
-# [Mod] GN output dir is named as "out_icu_${BOARD}".
-BUILD_OUT="${BUILD_OUT:-out_icu_${BOARD}}"
-
-# [Mod] Change from "c" to avoid potential conflict with chromeos-chrome.ebuild.
-BUILD_OUT_SYM="c_icu"
-
-# [Mod] To differentiate with the standard ICU, we postfix the include headers
-# folder and library names by "chrome". (see crbug.com/1059133 and b/151439301)
-CHROME_ICU_POSTFIX="-chrome"
-
-# [Mod] Order file and AFDO file variables/functions declared here are removed.
-
-# [Mod] chrome/icu depends on nothing. Blocking the canonical icu package can
-# let us notice the potential repetitions.
-# [Mod] Old Chrome ebuilds installed icudtl.dat.
-# Add `xkbcommon` related libraries to make xkbcommon handling identical with
-# chromeos-chrome. This will make it more likely to catch potential xkbcommon
-# related chromeos-icu.ebuild failures by testing chromeos-chrome.ebuild.
-RDEPEND="
-	!dev-libs/icu
-	!<chromeos-base/chromeos-chrome-83.0.4098.4
-	xkbcommon? (
-		x11-libs/libxkbcommon
-		x11-misc/xkeyboard-config
-	)
-"
-DEPEND="
-	net-print/cups
-	x11-libs/libdrm
-"
-
-# [Mod] NaCl utilities are removed.
-
-usetf()  { usex $1 true false ; }
-
-set_build_args() {
-	# [Mod] 1. Add a new arg "icu_disable_thin_archive=true".
-	#       2. Set the values according to IUSE default value but disable
-	#          unnecessary feature
-	#       3. Set "is_cfi=false".
-	BUILD_ARGS=(
-		"is_chromeos_device=true"
-		"icu_disable_thin_archive=true"
-
-		# is_official_build sometimes implies extra optimizations (e.g. it will allow
-		# ThinLTO to optimize more aggressively, if ThinLTO is enabled). Please note
-		# that, despite the name, it should be usable by external users.
-		#
-		# Sanitizers don't like official builds.
-		"is_official_build=$(use_sanitizers false true)"
-
-		"is_debug=false"
-		"${EXTRA_GN_ARGS}"
-		"use_ozone=true"
-		"use_evdev_gestures=false"
-		# Use the Chrome OS toolchain and not the one bundled with Chromium.
-		"linux_use_bundled_binutils=false"
-		"use_debug_fission=false"
-		"enable_remoting=false"
-		"enable_nacl=false"
-		"enable_nacl=false"
-		"icu_use_data_file=true"
-		# Add this to make xkbcommon handling identical with chromeos-chrome.
-		# This will make it more likely to catch potential xkbcommon related
-		# chromeos-icu.ebuild failures by testing chromeos-chrome.ebuild
-		"use_xkbcommon=$(usetf xkbcommon)"
-		# use_system_minigbm is set below.
-		# HarfBuzz and FreeType need to be built together in a specific way
-		# to get FreeType autohinting to work properly. Chromium bundles
-		# FreeType and HarfBuzz to meet that need.
-		# See crbug.com/694137 .
-		"use_system_harfbuzz=false"
-		"use_system_freetype=false"
-		"use_system_libsync=false"
-		"use_cups=$(usetf cups)"
-		"use_bundled_fontconfig=false"
-
-		# Clang features.
-		"is_asan=$(usetf asan)"
-		"is_msan=$(usetf msan)"
-		"is_ubsan=$(usetf ubsan)"
-		"use_thin_lto=$(usetf thinlto)"
-		"is_cfi=false"
-		"use_cfi_cast=false"
-		"use_cras=false"
-	)
-
-	# BUILD_STRING_ARGS needs appropriate quoting. So, we keep them separate and
-	# add them to BUILD_ARGS at the end.
-	BUILD_STRING_ARGS=(
-		"target_sysroot=${SYSROOT}"
-		"system_libdir=$(get_libdir)"
-		"pkg_config=$(tc-getPKG_CONFIG)"
-		"target_os=chromeos"
-		"host_pkg_config=$(tc-getBUILD_PKG_CONFIG)"
-	)
-
-	# [Mod] Ozone platform configrations are removed.
-
-	# Set proper build args for the arch
-	case "${ARCH}" in
-	x86)
-		BUILD_STRING_ARGS+=( "target_cpu=x86" )
-		;;
-	arm)
-		BUILD_ARGS+=(
-			"arm_use_neon=$(usetf neon)"
-			# To workaround the 4GB debug limit. crbug.com/792999.
-			"blink_symbol_level=1"
-		)
-		BUILD_STRING_ARGS+=(
-			"target_cpu=arm"
-			"arm_float_abi=hard"
-		)
-		local arm_arch=$(get-flag march)
-		if [[ -n "${arm_arch}" ]]; then
-			BUILD_STRING_ARGS+=( "arm_arch=${arm_arch}" )
-		fi
-		;;
-	arm64)
-		BUILD_STRING_ARGS+=(
-			"target_cpu=arm64"
-		)
-		local arm_arch=$(get-flag march)
-		if [[ -n "${arm_arch}" ]]; then
-			BUILD_STRING_ARGS+=( "arm_arch=${arm_arch}" )
-		fi
-		;;
-	amd64)
-		BUILD_STRING_ARGS+=( "target_cpu=x64" )
-		;;
-	mips)
-		local mips_arch target_arch
-
-		mips_arch="$($(tc-getCPP) ${CFLAGS} ${CPPFLAGS} -E -P - <<<_MIPS_ARCH)"
-		# Strip away any enclosing quotes.
-		mips_arch="${mips_arch//\"}"
-		# TODO(benchan): Use tc-endian from toolchain-func to determine endianess
-		# when Chrome later cares about big-endian.
-		case "${mips_arch}" in
-		mips64*)
-			target_arch=mips64el
-			;;
-		*)
-			target_arch=mipsel
-			;;
-		esac
-
-		BUILD_STRING_ARGS+=(
-			"target_cpu=${target_arch}"
-			"mips_arch_variant=${mips_arch}"
-		)
-		;;
-	*)
-		die "Unsupported architecture: ${ARCH}"
-		;;
-	esac
-
-	# [Mod] chrome_media configurations are removed.
-	if use chrome_internal; then
-		# Adding chrome branding specific variables.
-		BUILD_ARGS+=( "is_chrome_branded=true" )
-		# This test can only be build from internal sources.
-		BUILD_ARGS+=( "internal_gles2_conform_tests=true" )
-		export CHROMIUM_BUILD='_google_Chrome'
-		export OFFICIAL_BUILD='1'
-		export CHROME_BUILD_TYPE='_official'
-	fi
-
-	BUILD_ARGS+=(
-		"treat_warnings_as_errors=false"
-	)
-
-	if use component_build; then
-		BUILD_ARGS+=( "is_component_build=true" )
-	fi
-
-	# [Mod] goma is disabled.
-	BUILD_ARGS+=( "use_goma=false" )
-
-	# [Mod] chrome_debug and debug_fission configurations are removed.
-}
-
-# [Mod] Main content of unpack_chrome() is replaced by the unpack function in
-# chromium-source.eclass.
-unpack_chrome() {
-	# Add depot_tools to PATH, local chroot builds fail otherwise.
-	export PATH=${PATH}:${DEPOT_TOOLS}
-
-	chromium-source_src_unpack
-}
-
-decide_chrome_origin() {
-	if [[ "${PV}" == "9999" ]]; then
-		# LOCAL_SOURCE is the default for cros_workon
-		# Warn the user if CHROME_ORIGIN is already set
-		if [[ -n "${CHROME_ORIGIN}" && "${CHROME_ORIGIN}" != LOCAL_SOURCE ]]; then
-			ewarn "CHROME_ORIGIN is already set to ${CHROME_ORIGIN}."
-			ewarn "This will prevent you from building from your local checkout."
-			ewarn "Please run 'unset CHROME_ORIGIN' to reset Chrome"
-			ewarn "to the default source location."
-		fi
-		: "${CHROME_ORIGIN:=LOCAL_SOURCE}"
-	else
-		# By default, pull from server
-		: "${CHROME_ORIGIN:=SERVER_SOURCE}"
-	fi
-}
-
-sandboxless_ensure_directory() {
-	local dir
-	for dir in "$@"; do
-		if [[ ! -d "${dir}" ]] ; then
-			# We need root access to create these directories, so we need to
-			# use sudo. This implicitly disables the sandbox.
-			sudo mkdir -p "${dir}" || die
-			sudo chown "${PORTAGE_USERNAME}:portage" "${dir}" || die
-			sudo chmod 0755 "${dir}" || die
-		fi
-	done
-}
-
-src_unpack() {
-	tc-export CC CXX
-	local WHOAMI=$(whoami)
-
-	CHROME_SRC="chrome-src"
-	if use chrome_internal; then
-		CHROME_SRC+="-internal"
-	fi
-
-	# CHROME_CACHE_DIR is used for storing output artifacts, and is always a
-	# regular directory inside the chroot (i.e. it's never mounted in, so it's
-	# always safe to use cp -al for these artifacts).
-	: "${CHROME_CACHE_DIR:="/var/cache/chromeos-chrome/${CHROME_SRC}"}"
-	addwrite "${CHROME_CACHE_DIR}"
-
-	# CHROME_DISTDIR is used for storing the source code, if any source code
-	# needs to be unpacked at build time (e.g. in the SERVER_SOURCE scenario.)
-	# It will be mounted into the chroot, so it is never safe to use cp -al
-	# for these files.
-	: "${CHROME_DISTDIR:="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/${CHROME_SRC}"}"
-	addwrite "${CHROME_DISTDIR}"
-
-	# Create storage directories.
-	sandboxless_ensure_directory "${CHROME_DISTDIR}" "${CHROME_CACHE_DIR}"
-
-	# [Mod] Calls of cros-credentials_setup is removed.
-
-	decide_chrome_origin
-
-	# [Mod] LOCAL_BINARY is not supported because chromium-source.eclass does not
-	# support it.
-	case "${CHROME_ORIGIN}" in
-	LOCAL_SOURCE|SERVER_SOURCE)
-		einfo "CHROME_ORIGIN VALUE is ${CHROME_ORIGIN}"
-		;;
-	*)
-		die "CHROME_ORIGIN not one of LOCAL_SOURCE, SERVER_SOURCE"
-		;;
-	esac
-
-	# Prepare and set CHROME_ROOT based on CHROME_ORIGIN.
-	# CHROME_ROOT is the location where the source code is used for compilation.
-	# If we're in SERVER_SOURCE mode, CHROME_ROOT is CHROME_DISTDIR. In LOCAL_SOURCE
-	# mode, this directory may be set manually to any directory. It may be mounted
-	# into the chroot, so it is not safe to use cp -al for these files.
-	# These are set here because $(whoami) returns the proper user here,
-	# but 'root' at the root level of the file
-	case "${CHROME_ORIGIN}" in
-	(SERVER_SOURCE)
-		elog "Using CHROME_VERSION = ${CHROME_VERSION}"
-		if [[ ${WHOAMI} == "chrome-bot" ]]; then
-			# TODO: Should add a sanity check that the version checked out is
-			# what we actually want.  Not sure how to do that though.
-			elog "Skipping syncing as cbuildbot ran SyncChrome for us."
-		else
-			unpack_chrome
-		fi
-
-		elog "set the chrome source root to ${CHROME_DISTDIR}"
-		elog "From this point onwards there is no difference between \
-			SERVER_SOURCE and LOCAL_SOURCE, since the fetch is done"
-		CHROME_ROOT=${CHROME_DISTDIR}
-		;;
-	(LOCAL_SOURCE)
-		: "${CHROME_ROOT:=/home/${WHOAMI}/chrome_root}"
-		if [[ ! -d "${CHROME_ROOT}/src" ]]; then
-			die "${CHROME_ROOT} does not contain a valid chromium checkout!"
-		fi
-		addwrite "${CHROME_ROOT}"
-		;;
-	esac
-
-	# [Mod] Always call this because the case CHROME_ORIGIN=LOCAL_BINARY is
-	# excluded.
-	set_build_args
-
-	ln -sf "${CHROME_ROOT}" "${WORKDIR}/${P}"
-
-	# [Mod] Use flags internal_gles_conform, afdo_use, afdo_verify,
-	# orderfile_verify and orderfile_use are all disabled.
-	BUILD_STRING_ARGS+=( "chrome_orderfile_path=" )
-}
-
-# [Mod] add_api_keys() is removed because we do not need to access Google
-# services.
-
-# [Mod] src_prepare() is simplied because 1) we do not need to access Google
-# services; 2) we exclude the case CHROME_ORIGIN=LOCAL_BINARY and 3) we do
-# not need patches.
-src_prepare() {
-	cd "${CHROME_ROOT}/src" || die "Cannot chdir to ${CHROME_ROOT}"
-	mkdir -p "${CHROME_CACHE_DIR}/src/${BUILD_OUT}"
-	if [[ -n "${BUILD_OUT_SYM}" ]]; then
-		rm -rf "${BUILD_OUT_SYM}" || die "Could not remove symlink"
-		ln -sfT "${CHROME_CACHE_DIR}/src/${BUILD_OUT}" "${BUILD_OUT_SYM}" ||
-			die "Could not create symlink for output directory"
-	fi
-}
-
-# [Mod] setup_test_lists() is removed.
-
-# Handle all CFLAGS/CXXFLAGS/etc... munging here.
-setup_compile_flags() {
-	# Chrome controls its own optimization settings, so this would be a nop
-	# if we were to run it. Leave it here anyway as a grep-friendly marker.
-	# cros_optimize_package_for_speed
-
-	# The chrome makefiles specify -O and -g flags already, so remove the
-	# portage flags.
-	filter-flags -g -O*
-
-	# Remove unsupported arm64 linker flag on arm32 builds.
-	# https://crbug.com/889079
-	use arm && filter-flags "-Wl,--fix-cortex-a53-843419"
-
-	# There are some flags we want to only use in the ebuild.
-	# The rest will be exported to the simple chrome workflow.
-	EBUILD_CFLAGS=()
-	EBUILD_CXXFLAGS=()
-	EBUILD_LDFLAGS=()
-
-	# LLVM needs this when parsing profiles.
-	# See README on https://github.com/google/autofdo
-	# For ARM, we do not need this flag because we don't get profiles
-	# from ARM machines. And it triggers an llvm assertion when thinlto
-	# and debug fission is used together.
-	# See https://bugs.llvm.org/show_bug.cgi?id=37255
-	use arm || append-flags -fdebug-info-for-profiling
-
-	if use thinlto; then
-		# We need to change the default value of import-instr-limit in
-		# LLVM to limit the text size increase. The default value is
-		# 100, and we change it to 30 to reduce the text size increase
-		# from 25% to 10%. The performance number of page_cycler is the
-		# same on two of the thinLTO configurations, we got 1% slowdown
-		# on speedometer when changing import-instr-limit from 100 to 30.
-		# We need to further reduce it to 20 for arm to limit the size
-		# increase to 10%.
-		local thinlto_ldflag="-Wl,-plugin-opt,-import-instr-limit=30"
-		if use arm; then
-			thinlto_ldflag="-Wl,-plugin-opt,-import-instr-limit=20"
-			EBUILD_LDFLAGS+=( -gsplit-dwarf )
-		fi
-		EBUILD_LDFLAGS+=( "${thinlto_ldflag}" )
-		# if using thinlto, we need to pass the equivalent of
-		# -fdebug-types-section to the backend, to prevent out-of-range
-		# relocations (see
-		# https://bugs.chromium.org/p/chromium/issues/detail?id=1032159).
-		append-ldflags -Wl,-mllvm
-		append-ldflags -Wl,-generate-type-units
-	fi
-
-	# [Mod] Configurations related to orderfile_generate USE flag are removed.
-
-	# Turn off call graph profile sort (C3), when new pass manager is enabled.
-	# Only allow it when we want to generate orderfile.
-	# This is a temporary option and will need to be removed once orderfile is on.
-	EBUILD_LDFLAGS+=( "-Wl,--no-call-graph-profile-sort" )
-
-	# Enable std::vector []-operator bounds checking.
-	append-cxxflags -D__google_stl_debug_vector=1
-
-	# Chrome and Chrome OS versions of the compiler may not be in
-	# sync. So, don't complain if Chrome uses a diagnostic
-	# option that is not yet implemented in the compiler version used
-	# by Chrome OS.
-	# Turns out this is only really supported by Clang. See crosbug.com/615466
-	# Add "-faddrsig" flag required to efficiently support "--icf=all".
-	append-flags -faddrsig
-	append-flags -Wno-unknown-warning-option
-	export CXXFLAGS_host+=" -Wno-unknown-warning-option"
-	export CFLAGS_host+=" -Wno-unknown-warning-option"
-	if use libcxx; then
-		append-cxxflags "-stdlib=libc++"
-		append-ldflags "-stdlib=libc++"
-	fi
-
-	# Workaround: Disable fatal linker warnings on arm64/lld.
-	# https://crbug.com/913071
-	# [mod] vtable_verify is disabled.
-	use arm64 && append-ldflags "-Wl,--no-fatal-warnings"
-
-	local flags
-	einfo "Building with the compiler settings:"
-	for flags in {C,CXX,CPP,LD}FLAGS; do
-		einfo "  ${flags} = ${!flags}"
-	done
-}
-
-src_configure() {
-	tc-export CXX CC AR AS NM RANLIB STRIP
-	export CC_host=$(tc-getBUILD_CC)
-	export CXX_host=$(tc-getBUILD_CXX)
-	export NM_host=$(tc-getBUILD_NM)
-	export READELF="llvm-readelf"
-	export READELF_host="llvm-readelf"
-
-	# Use C++ compiler as the linker driver.
-	export LD="${CXX}"
-	export LD_host=${CXX_host}
-
-	# We need below change when USE="thinlto" is set. We set this globally
-	# so that users can turn on the "use_thin_lto" in the simplechrome
-	# flow more easily.
-	# use nm from llvm, https://crbug.com/917193
-	export NM="llvm-nm"
-	export NM_host="llvm-nm"
-	export AR="llvm-ar"
-	# USE=thinlto affects host build, we need to set host AR to
-	# llvm-ar to make sure host package builds with thinlto.
-	# crbug.com/731335
-	export AR_host="llvm-ar"
-	export RANLIB="llvm-ranlib"
-
-	# Set binutils path for goma.
-	CC_host+=" -B$(get_binutils_path "${LD_host}")"
-	CXX_host+=" -B$(get_binutils_path "${LD_host}")"
-
-	setup_compile_flags
-
-	# We might set BOTO_CONFIG in the builder environment in case the
-	# existing file needs modifications (e.g. for working with older
-	# branches). So don't overwrite it if it's already set.
-	# See https://crbug.com/847676 for details.
-	export BOTO_CONFIG="${BOTO_CONFIG:-/home/$(whoami)/.boto}"
-	export PATH=${PATH}:${DEPOT_TOOLS}
-
-	export DEPOT_TOOLS_GSUTIL_BIN_DIR="${CHROME_CACHE_DIR}/gsutil_bin"
-
-	# TODO(rcui): crosbug.com/20435. Investigate removal of runhooks
-	# useflag when chrome build switches to Ninja inside the chroot.
-	if use runhooks; then
-		local cmd=( "${EGCLIENT}" runhooks --force )
-		echo "${cmd[@]}"
-		CFLAGS="${CFLAGS} ${EBUILD_CFLAGS[*]}" \
-		CXXFLAGS="${CXXFLAGS} ${EBUILD_CXXFLAGS[*]}" \
-		LDFLAGS="${LDFLAGS} ${EBUILD_LDFLAGS[*]}" \
-		"${cmd[@]}" || die
-	fi
-
-	# [Mod] Unrelated V8 configurations are removed.
-	BUILD_STRING_ARGS+=(
-		"cros_target_ar=${AR}"
-		"cros_target_cc=${CC}"
-		"cros_target_cxx=${CXX}"
-		"host_toolchain=//build/toolchain/cros:host"
-		"custom_toolchain=//build/toolchain/cros:target"
-		"cros_target_ld=${LD}"
-		"cros_target_nm=${NM}"
-		"cros_target_readelf=${READELF}"
-		"cros_target_extra_cflags=${CFLAGS} ${EBUILD_CFLAGS[*]}"
-		"cros_target_extra_cppflags=${CPPFLAGS}"
-		"cros_target_extra_cxxflags=${CXXFLAGS} ${EBUILD_CXXFLAGS[*]}"
-		"cros_target_extra_ldflags=${LDFLAGS} ${EBUILD_LDFLAGS[*]}"
-		"cros_host_cc=${CC_host}"
-		"cros_host_cxx=${CXX_host}"
-		"cros_host_ar=${AR_host}"
-		"cros_host_ld=${LD_host}"
-		"cros_host_nm=${NM_host}"
-		"cros_host_readelf=${READELF_host}"
-		"cros_host_extra_cflags=${CFLAGS_host}"
-		"cros_host_extra_cxxflags=${CXXFLAGS_host}"
-		"cros_host_extra_cppflags=${CPPFLAGS_host}"
-		"cros_host_extra_ldflags=${LDFLAGS_host}"
-	)
-
-	local arg
-	for arg in "${BUILD_STRING_ARGS[@]}"; do
-		BUILD_ARGS+=("${arg%%=*}=\"${arg#*=}\"")
-	done
-	export GN_ARGS="${BUILD_ARGS[*]}"
-	einfo "GN_ARGS = ${GN_ARGS}"
-	local gn=(
-		"${CHROME_ROOT}/src/buildtools/linux64/gn" gen
-		"${CHROME_ROOT}/src/${BUILD_OUT_SYM}/${BUILDTYPE}"
-		--args="${GN_ARGS}" --root="${CHROME_ROOT}/src"
-		--root-target="//third_party/icu"
-	)
-	echo "${gn[@]}"
-	"${gn[@]}" || die
-
-	# [Mod] setup_test_lists and clang_tidy are removed.
-}
-
-chrome_make() {
-	local build_dir="${BUILD_OUT_SYM}/${BUILDTYPE}"
-
-	# If ThinLTO is enabled, we may have a cache from a previous link. Due
-	# to fears about lack of reproducibility, we don't allow cache reuse
-	# across rebuilds. The cache is still useful for artifacts shared
-	# between multiple links done by this build (e.g. tests).
-	use thinlto && rm -rf "${build_dir}/thinlto-cache"
-
-	local command=(
-		"${ENINJA}"
-		-j"$(makeopts_jobs)"
-		-C "${build_dir}"
-		$(usex verbose -v "")
-		"$@"
-	)
-
-	PATH=${PATH}:${DEPOT_TOOLS} "${command[@]}"
-	local ret=$?
-	[[ "${ret}" -eq 0 ]] || die
-}
-
-# [Mod] src_compile() is simplied because 1) the case CHROME_LOCAL=LOCAL_BINARY
-# is excluded. 2) we do not need nacl or tests.
-src_compile() {
-	cd "${CHROME_ROOT}"/src || die "Cannot chdir to ${CHROME_ROOT}/src"
-
-	chrome_make "icu"
-}
-
-# [Mod] src_install() is greatly simplied and totally new.
-src_install() {
-	local build_dir="src/${BUILD_OUT_SYM}/${BUILDTYPE}"
-	local icu_lib_dir="${build_dir}/obj/third_party/icu/"
-	mv "${icu_lib_dir}/libicui18n.a" "${icu_lib_dir}/libicui18n${CHROME_ICU_POSTFIX}.a"
-	mv "${icu_lib_dir}/libicuuc.a" "${icu_lib_dir}/libicuuc${CHROME_ICU_POSTFIX}.a"
-	dolib.a "${icu_lib_dir}/libicui18n${CHROME_ICU_POSTFIX}.a"
-	dolib.a "${icu_lib_dir}/libicuuc${CHROME_ICU_POSTFIX}.a"
-	# Install to chrome folder to make chrome work.
-	insinto "${CHROME_DIR}"
-	doins "${build_dir}/icudtl.dat"
-	doins "${build_dir}/icudtl.dat.hash"
-
-	# Install icu header to /usr/include/icu${CHROME_ICU_POSTFIX}/.
-	local icu_headers=(
-		"common/unicode/appendable.h"
-		"common/unicode/brkiter.h"
-		"common/unicode/bytestream.h"
-		"common/unicode/char16ptr.h"
-		"common/unicode/chariter.h"
-		"common/unicode/errorcode.h"
-		"common/unicode/localpointer.h"
-		"common/unicode/locid.h"
-		"common/unicode/parseerr.h"
-		"common/unicode/platform.h"
-		"common/unicode/ptypes.h"
-		"common/unicode/putil.h"
-		"common/unicode/rep.h"
-		"common/unicode/schriter.h"
-		"common/unicode/std_string.h"
-		"common/unicode/strenum.h"
-		"common/unicode/stringoptions.h"
-		"common/unicode/stringpiece.h"
-		"common/unicode/ubrk.h"
-		"common/unicode/uchar.h"
-		"common/unicode/uchriter.h"
-		"common/unicode/uclean.h"
-		"common/unicode/ucnv.h"
-		"common/unicode/ucnv_err.h"
-		"common/unicode/uconfig.h"
-		"common/unicode/ucpmap.h"
-		"common/unicode/ucurr.h"
-		"common/unicode/udata.h"
-		"common/unicode/udisplaycontext.h"
-		"common/unicode/uenum.h"
-		"common/unicode/uloc.h"
-		"common/unicode/umachine.h"
-		"common/unicode/umisc.h"
-		"common/unicode/unifilt.h"
-		"common/unicode/unifunct.h"
-		"common/unicode/unimatch.h"
-		"common/unicode/uniset.h"
-		"common/unicode/unistr.h"
-		"common/unicode/uobject.h"
-		"common/unicode/urename.h"
-		"common/unicode/ures.h"
-		"common/unicode/uscript.h"
-		"common/unicode/uset.h"
-		"common/unicode/utext.h"
-		"common/unicode/utf.h"
-		"common/unicode/utf16.h"
-		"common/unicode/utf8.h"
-		"common/unicode/utf_old.h"
-		"common/unicode/utypes.h"
-		"common/unicode/uvernum.h"
-		"common/unicode/uversion.h"
-		"i18n/unicode/calendar.h"
-		"i18n/unicode/gregocal.h"
-		"i18n/unicode/regex.h"
-		"i18n/unicode/timezone.h"
-		"i18n/unicode/ucal.h"
-		"i18n/unicode/ucsdet.h"
-		"i18n/unicode/ufieldpositer.h"
-		"i18n/unicode/uformattable.h"
-		"i18n/unicode/unum.h"
-		"i18n/unicode/uregex.h"
-	)
-	local f
-	for f in "${icu_headers[@]}"; do
-		insinto "/usr/include/icu${CHROME_ICU_POSTFIX}/${f%/*}"
-		doins "${CHROME_ROOT}/src/third_party/icu/source/${f}"
-	done
-}
diff --git a/chromeos-base/chrome-icu/chrome-icu-106.0.5229.0_rc-r2.ebuild b/chromeos-base/chrome-icu/chrome-icu-106.0.5229.0_rc-r2.ebuild
new file mode 100644
index 0000000..41ec751
--- /dev/null
+++ b/chromeos-base/chrome-icu/chrome-icu-106.0.5229.0_rc-r2.ebuild
@@ -0,0 +1,640 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This ebuild is based on "chromeos-chrome.ebuild" to compile the chrome/icu
+# package into shared libraries and install them. The essential difference is to
+# do "chrome_make icu" rather than "chrome_make chrome". Besides, some other
+# non-trivial modifications are:
+#   - "chromium-source.eclass" is used to download chrome source code. Because
+#     "chromeos-chrome.ebuild" and "chromium-source.eclass" download the chrome
+#     source into the same location, the variables of "chromeos-chrome.ebuild"
+#     are kept.
+#   - "Control-flow integrity" (|is_cfi=false| and |use_cfi_cast=false|) is
+#     turned off otherwise the generated .so will crash (Illegal instruction).
+#   - Unrelated resource downloads (like for telemetry) are removed.
+#   - Unrelated configuration (like ozone platforms) are removed.
+#   - Unrelated features (like nacl) are disabled.
+#   - Header folders and libraries are postfixed with "${CHROME_ICU_POSTFIX}".
+#
+# Significant changes from "chromeos-chrome.ebuild" are highlighted by "[Mod]".
+#
+# The GN output folder is named as "out_icu_${BOARD}".
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit binutils-funcs chromium-source cros-constants cros-sanitizers flag-o-matic multilib toolchain-funcs python-any-r1 multiprocessing
+
+DESCRIPTION="The ICU library copied from chrome/third_party"
+HOMEPAGE="https://cs.chromium.org/chromium/src/third_party/icu/"
+
+LICENSE="icu-58"
+
+SLOT="0/${PVR}"
+KEYWORDS="*"
+
+# [Mod] Most of non-related IUSE flags are removed.
+IUSE="
+	asan
+	chrome_internal
+	component_build
+	cups
+	+libcxx
+	msan
+	neon
+	+runhooks
+	thinlto
+	ubsan
+	verbose
+	xkbcommon
+	"
+
+# [Mod] clear REQUIRED_USE.
+REQUIRED_USE=""
+
+# [Mod] Ozone platform variables are removed.
+
+# The gclient hooks that run in src_prepare hit the network.
+# https://crbug.com/731905
+RESTRICT="network-sandbox mirror"
+
+# Portage version without optional portage suffix.
+CHROME_VERSION="${PV/_*/}"
+
+# chrome destination directory
+CHROME_DIR=/opt/google/chrome
+
+# For compilation
+BUILDTYPE="${BUILDTYPE:-Release}"
+BOARD="${BOARD:-${SYSROOT##/build/}}"
+# [Mod] GN output dir is named as "out_icu_${BOARD}".
+BUILD_OUT="${BUILD_OUT:-out_icu_${BOARD}}"
+
+# [Mod] Change from "c" to avoid potential conflict with chromeos-chrome.ebuild.
+BUILD_OUT_SYM="c_icu"
+
+# [Mod] To differentiate with the standard ICU, we postfix the include headers
+# folder and library names by "chrome". (see crbug.com/1059133 and b/151439301)
+CHROME_ICU_POSTFIX="-chrome"
+
+# [Mod] Order file and AFDO file variables/functions declared here are removed.
+
+# [Mod] chrome/icu depends on nothing. Blocking the canonical icu package can
+# let us notice the potential repetitions.
+# [Mod] Old Chrome ebuilds installed icudtl.dat.
+# Add `xkbcommon` related libraries to make xkbcommon handling identical with
+# chromeos-chrome. This will make it more likely to catch potential xkbcommon
+# related chromeos-icu.ebuild failures by testing chromeos-chrome.ebuild.
+RDEPEND="
+	!dev-libs/icu
+	!<chromeos-base/chromeos-chrome-83.0.4098.4
+	xkbcommon? (
+		x11-libs/libxkbcommon
+		x11-misc/xkeyboard-config
+	)
+"
+DEPEND="
+	net-print/cups
+	x11-libs/libdrm
+"
+
+usetf()  { usex "$1" true false ; }
+
+set_build_args() {
+	# [Mod] 1. Add a new arg "icu_disable_thin_archive=true".
+	#       2. Set the values according to IUSE default value but disable
+	#          unnecessary feature
+	#       3. Set "is_cfi=false".
+	BUILD_ARGS=(
+		"is_chromeos_device=true"
+		"icu_disable_thin_archive=true"
+
+		# is_official_build sometimes implies extra optimizations (e.g. it will allow
+		# ThinLTO to optimize more aggressively, if ThinLTO is enabled). Please note
+		# that, despite the name, it should be usable by external users.
+		#
+		# Sanitizers don't like official builds.
+		"is_official_build=$(use_sanitizers false true)"
+
+		"is_debug=false"
+		"${EXTRA_GN_ARGS}"
+		"use_ozone=true"
+		"use_evdev_gestures=false"
+		# Use the Chrome OS toolchain and not the one bundled with Chromium.
+		"linux_use_bundled_binutils=false"
+		"use_debug_fission=false"
+		"enable_remoting=false"
+		"enable_nacl=false"
+		"icu_use_data_file=true"
+		# Add this to make xkbcommon handling identical with chromeos-chrome.
+		# This will make it more likely to catch potential xkbcommon related
+		# chromeos-icu.ebuild failures by testing chromeos-chrome.ebuild
+		"use_xkbcommon=$(usetf xkbcommon)"
+		# use_system_minigbm is set below.
+		# HarfBuzz and FreeType need to be built together in a specific way
+		# to get FreeType autohinting to work properly. Chromium bundles
+		# FreeType and HarfBuzz to meet that need.
+		# See crbug.com/694137 .
+		"use_system_harfbuzz=false"
+		"use_system_freetype=false"
+		"use_system_libsync=false"
+		"use_cups=$(usetf cups)"
+		"use_bundled_fontconfig=false"
+
+		# Clang features.
+		"is_asan=$(usetf asan)"
+		"is_msan=$(usetf msan)"
+		"is_ubsan=$(usetf ubsan)"
+		"use_thin_lto=$(usetf thinlto)"
+		"is_cfi=false"
+		"use_cfi_cast=false"
+		"use_cras=false"
+	)
+
+	# BUILD_STRING_ARGS needs appropriate quoting. So, we keep them separate and
+	# add them to BUILD_ARGS at the end.
+	BUILD_STRING_ARGS=(
+		"target_sysroot=${SYSROOT}"
+		"system_libdir=$(get_libdir)"
+		"pkg_config=$(tc-getPKG_CONFIG)"
+		"target_os=chromeos"
+		"host_pkg_config=$(tc-getBUILD_PKG_CONFIG)"
+	)
+
+	# [Mod] Ozone platform configrations are removed.
+
+	# Set proper build args for the arch
+	case "${ARCH}" in
+	x86)
+		BUILD_STRING_ARGS+=( "target_cpu=x86" )
+		;;
+	arm)
+		BUILD_ARGS+=(
+			"arm_use_neon=$(usetf neon)"
+			# To workaround the 4GB debug limit. crbug.com/792999.
+			"blink_symbol_level=1"
+		)
+		BUILD_STRING_ARGS+=(
+			"target_cpu=arm"
+			"arm_float_abi=hard"
+		)
+		local arm_arch=$(get-flag march)
+		if [[ -n "${arm_arch}" ]]; then
+			BUILD_STRING_ARGS+=( "arm_arch=${arm_arch}" )
+		fi
+		;;
+	arm64)
+		BUILD_STRING_ARGS+=(
+			"target_cpu=arm64"
+		)
+		local arm_arch=$(get-flag march)
+		if [[ -n "${arm_arch}" ]]; then
+			BUILD_STRING_ARGS+=( "arm_arch=${arm_arch}" )
+		fi
+		;;
+	amd64)
+		BUILD_STRING_ARGS+=( "target_cpu=x64" )
+		;;
+	*)
+		die "Unsupported architecture: ${ARCH}"
+		;;
+	esac
+
+	# [Mod] chrome_media configurations are removed.
+	if use chrome_internal; then
+		# Adding chrome branding specific variables.
+		BUILD_ARGS+=( "is_chrome_branded=true" )
+		# This test can only be build from internal sources.
+		BUILD_ARGS+=( "internal_gles2_conform_tests=true" )
+		export CHROMIUM_BUILD='_google_Chrome'
+		export OFFICIAL_BUILD='1'
+		export CHROME_BUILD_TYPE='_official'
+	fi
+
+	BUILD_ARGS+=(
+		"treat_warnings_as_errors=false"
+	)
+
+	if use component_build; then
+		BUILD_ARGS+=( "is_component_build=true" )
+	fi
+
+	# [Mod] goma is disabled.
+	BUILD_ARGS+=( "use_goma=false" )
+
+	# [Mod] chrome_debug and debug_fission configurations are removed.
+}
+
+# [Mod] Main content of unpack_chrome() is replaced by the unpack function in
+# chromium-source.eclass.
+unpack_chrome() {
+	# Add depot_tools to PATH, local chroot builds fail otherwise.
+	export PATH=${PATH}:${DEPOT_TOOLS}
+
+	chromium-source_src_unpack
+}
+
+decide_chrome_origin() {
+	if [[ "${PV}" == "9999" ]]; then
+		# LOCAL_SOURCE is the default for cros_workon
+		# Warn the user if CHROME_ORIGIN is already set
+		if [[ -n "${CHROME_ORIGIN}" && "${CHROME_ORIGIN}" != LOCAL_SOURCE ]]; then
+			ewarn "CHROME_ORIGIN is already set to ${CHROME_ORIGIN}."
+			ewarn "This will prevent you from building from your local checkout."
+			ewarn "Please run 'unset CHROME_ORIGIN' to reset Chrome"
+			ewarn "to the default source location."
+		fi
+		: "${CHROME_ORIGIN:=LOCAL_SOURCE}"
+	else
+		# By default, pull from server
+		: "${CHROME_ORIGIN:=SERVER_SOURCE}"
+	fi
+}
+
+sandboxless_ensure_directory() {
+	local dir
+	for dir in "$@"; do
+		if [[ ! -d "${dir}" ]] ; then
+			# We need root access to create these directories, so we need to
+			# use sudo. This implicitly disables the sandbox.
+			sudo mkdir -p "${dir}" || die
+			sudo chown "${PORTAGE_USERNAME}:portage" "${dir}" || die
+			sudo chmod 0755 "${dir}" || die
+		fi
+	done
+}
+
+src_unpack() {
+	tc-export CC CXX
+	local WHOAMI=$(whoami)
+
+	CHROME_SRC="chrome-src"
+	if use chrome_internal; then
+		CHROME_SRC+="-internal"
+	fi
+
+	# CHROME_CACHE_DIR is used for storing output artifacts, and is always a
+	# regular directory inside the chroot (i.e. it's never mounted in, so it's
+	# always safe to use cp -al for these artifacts).
+	: "${CHROME_CACHE_DIR:="/var/cache/chromeos-chrome/${CHROME_SRC}"}"
+	addwrite "${CHROME_CACHE_DIR}"
+
+	# CHROME_DISTDIR is used for storing the source code, if any source code
+	# needs to be unpacked at build time (e.g. in the SERVER_SOURCE scenario.)
+	# It will be mounted into the chroot, so it is never safe to use cp -al
+	# for these files.
+	: "${CHROME_DISTDIR:="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/${CHROME_SRC}"}"
+	addwrite "${CHROME_DISTDIR}"
+
+	# Create storage directories.
+	sandboxless_ensure_directory "${CHROME_DISTDIR}" "${CHROME_CACHE_DIR}"
+
+	# [Mod] Calls of cros-credentials_setup is removed.
+
+	decide_chrome_origin
+
+	# [Mod] LOCAL_BINARY is not supported because chromium-source.eclass does not
+	# support it.
+	case "${CHROME_ORIGIN}" in
+	LOCAL_SOURCE|SERVER_SOURCE)
+		einfo "CHROME_ORIGIN VALUE is ${CHROME_ORIGIN}"
+		;;
+	*)
+		die "CHROME_ORIGIN not one of LOCAL_SOURCE, SERVER_SOURCE"
+		;;
+	esac
+
+	# Prepare and set CHROME_ROOT based on CHROME_ORIGIN.
+	# CHROME_ROOT is the location where the source code is used for compilation.
+	# If we're in SERVER_SOURCE mode, CHROME_ROOT is CHROME_DISTDIR. In LOCAL_SOURCE
+	# mode, this directory may be set manually to any directory. It may be mounted
+	# into the chroot, so it is not safe to use cp -al for these files.
+	# These are set here because $(whoami) returns the proper user here,
+	# but 'root' at the root level of the file
+	case "${CHROME_ORIGIN}" in
+	(SERVER_SOURCE)
+		elog "Using CHROME_VERSION = ${CHROME_VERSION}"
+		if [[ ${WHOAMI} == "chrome-bot" ]]; then
+			# TODO: Should add a sanity check that the version checked out is
+			# what we actually want.  Not sure how to do that though.
+			elog "Skipping syncing as cbuildbot ran SyncChrome for us."
+		else
+			unpack_chrome
+		fi
+
+		elog "set the chrome source root to ${CHROME_DISTDIR}"
+		elog "From this point onwards there is no difference between \
+			SERVER_SOURCE and LOCAL_SOURCE, since the fetch is done"
+		CHROME_ROOT=${CHROME_DISTDIR}
+		;;
+	(LOCAL_SOURCE)
+		: "${CHROME_ROOT:=/home/${WHOAMI}/chrome_root}"
+		if [[ ! -d "${CHROME_ROOT}/src" ]]; then
+			die "${CHROME_ROOT} does not contain a valid chromium checkout!"
+		fi
+		addwrite "${CHROME_ROOT}"
+		;;
+	esac
+
+	# [Mod] Always call this because the case CHROME_ORIGIN=LOCAL_BINARY is
+	# excluded.
+	set_build_args
+
+	ln -sf "${CHROME_ROOT}" "${WORKDIR}/${P}"
+
+	# [Mod] Use flags internal_gles_conform, afdo_use, afdo_verify,
+	# orderfile_verify and orderfile_use are all disabled.
+	BUILD_STRING_ARGS+=( "chrome_orderfile_path=" )
+}
+
+# [Mod] add_api_keys() is removed because we do not need to access Google
+# services.
+
+# [Mod] src_prepare() is simplied because 1) we do not need to access Google
+# services; 2) we exclude the case CHROME_ORIGIN=LOCAL_BINARY and 3) we do
+# not need patches.
+src_prepare() {
+	# Must call eapply_user in EAPI 7, but this function is a no-op here.
+	eapply_user
+
+	cd "${CHROME_ROOT}/src" || die "Cannot chdir to ${CHROME_ROOT}"
+	mkdir -p "${CHROME_CACHE_DIR}/src/${BUILD_OUT}"
+	if [[ -n "${BUILD_OUT_SYM}" ]]; then
+		rm -rf "${BUILD_OUT_SYM}" || die "Could not remove symlink"
+		ln -sfT "${CHROME_CACHE_DIR}/src/${BUILD_OUT}" "${BUILD_OUT_SYM}" ||
+			die "Could not create symlink for output directory"
+	fi
+}
+
+# [Mod] setup_test_lists() is removed.
+
+# Handle all CFLAGS/CXXFLAGS/etc... munging here.
+setup_compile_flags() {
+	# Chrome controls its own optimization settings, so this would be a nop
+	# if we were to run it. Leave it here anyway as a grep-friendly marker.
+	# cros_optimize_package_for_speed
+
+	# The chrome makefiles specify -O and -g flags already, so remove the
+	# portage flags.
+	filter-flags -g -O*
+
+	# Remove unsupported arm64 linker flag on arm32 builds.
+	# https://crbug.com/889079
+	use arm && filter-flags "-Wl,--fix-cortex-a53-843419"
+
+	# There are some flags we want to only use in the ebuild.
+	# The rest will be exported to the simple chrome workflow.
+	EBUILD_CFLAGS=()
+	EBUILD_CXXFLAGS=()
+	EBUILD_LDFLAGS=()
+
+	if use thinlto; then
+		# if using thinlto, we need to pass the equivalent of
+		# -fdebug-types-section to the backend, to prevent out-of-range
+		# relocations (see
+		# https://bugs.chromium.org/p/chromium/issues/detail?id=1032159).
+		append-ldflags -Wl,-mllvm
+		append-ldflags -Wl,-generate-type-units
+	else
+		# Non-ThinLTO builds with symbol_level=2 may have out-of-range
+		# relocations, too: crbug.com/1050819.
+		append-flags -fdebug-types-section
+	fi
+
+	# Enable std::vector []-operator bounds checking.
+	append-cxxflags -D__google_stl_debug_vector=1
+
+	# Chrome and Chrome OS versions of the compiler may not be in
+	# sync. So, don't complain if Chrome uses a diagnostic
+	# option that is not yet implemented in the compiler version used
+	# by Chrome OS.
+	# Turns out this is only really supported by Clang. See crosbug.com/615466
+	# Add "-faddrsig" flag required to efficiently support "--icf=all".
+	append-flags -faddrsig
+	append-flags -Wno-unknown-warning-option
+	export CXXFLAGS_host+=" -Wno-unknown-warning-option"
+	export CFLAGS_host+=" -Wno-unknown-warning-option"
+	if use libcxx; then
+		append-cxxflags "-stdlib=libc++"
+		append-ldflags "-stdlib=libc++"
+	fi
+
+	# Workaround: Disable fatal linker warnings on arm64/lld.
+	# https://crbug.com/913071
+	# [mod] vtable_verify is disabled.
+	use arm64 && append-ldflags "-Wl,--no-fatal-warnings"
+
+	local flags
+	einfo "Building with the compiler settings:"
+	for flags in {C,CXX,CPP,LD}FLAGS; do
+		einfo "  ${flags} = ${!flags}"
+	done
+}
+
+src_configure() {
+	tc-export CXX CC AR AS NM RANLIB STRIP
+	export CC_host=$(tc-getBUILD_CC)
+	export CXX_host=$(tc-getBUILD_CXX)
+	export NM_host=$(tc-getBUILD_NM)
+	export READELF="llvm-readelf"
+	export READELF_host="llvm-readelf"
+
+	# Use C++ compiler as the linker driver.
+	export LD="${CXX}"
+	export LD_host=${CXX_host}
+
+	# We need below change when USE="thinlto" is set. We set this globally
+	# so that users can turn on the "use_thin_lto" in the simplechrome
+	# flow more easily.
+	# use nm from llvm, https://crbug.com/917193
+	export NM="llvm-nm"
+	export NM_host="llvm-nm"
+	export AR="llvm-ar"
+	# USE=thinlto affects host build, we need to set host AR to
+	# llvm-ar to make sure host package builds with thinlto.
+	# crbug.com/731335
+	export AR_host="llvm-ar"
+	export RANLIB="llvm-ranlib"
+
+	# Set binutils path for goma.
+	CC_host+=" -B$(get_binutils_path "${LD_host}")"
+	CXX_host+=" -B$(get_binutils_path "${LD_host}")"
+
+	setup_compile_flags
+
+	# We might set BOTO_CONFIG in the builder environment in case the
+	# existing file needs modifications (e.g. for working with older
+	# branches). So don't overwrite it if it's already set.
+	# See https://crbug.com/847676 for details.
+	export BOTO_CONFIG="${BOTO_CONFIG:-/home/$(whoami)/.boto}"
+	export PATH=${PATH}:${DEPOT_TOOLS}
+
+	export DEPOT_TOOLS_GSUTIL_BIN_DIR="${CHROME_CACHE_DIR}/gsutil_bin"
+
+	# TODO(rcui): crosbug.com/20435. Investigate removal of runhooks
+	# useflag when chrome build switches to Ninja inside the chroot.
+	if use runhooks; then
+		local cmd=( "${EGCLIENT}" runhooks --force )
+		echo "${cmd[@]}"
+		CFLAGS="${CFLAGS} ${EBUILD_CFLAGS[*]}" \
+		CXXFLAGS="${CXXFLAGS} ${EBUILD_CXXFLAGS[*]}" \
+		LDFLAGS="${LDFLAGS} ${EBUILD_LDFLAGS[*]}" \
+		"${cmd[@]}" || die
+	fi
+
+	# [Mod] Unrelated V8 configurations are removed.
+	BUILD_STRING_ARGS+=(
+		"cros_target_ar=${AR}"
+		"cros_target_cc=${CC}"
+		"cros_target_cxx=${CXX}"
+		"host_toolchain=//build/toolchain/cros:host"
+		"custom_toolchain=//build/toolchain/cros:target"
+		"cros_target_ld=${LD}"
+		"cros_target_nm=${NM}"
+		"cros_target_readelf=${READELF}"
+		"cros_target_extra_cflags=${CFLAGS} ${EBUILD_CFLAGS[*]}"
+		"cros_target_extra_cppflags=${CPPFLAGS}"
+		"cros_target_extra_cxxflags=${CXXFLAGS} ${EBUILD_CXXFLAGS[*]}"
+		"cros_target_extra_ldflags=${LDFLAGS} ${EBUILD_LDFLAGS[*]}"
+		"cros_host_cc=${CC_host}"
+		"cros_host_cxx=${CXX_host}"
+		"cros_host_ar=${AR_host}"
+		"cros_host_ld=${LD_host}"
+		"cros_host_nm=${NM_host}"
+		"cros_host_readelf=${READELF_host}"
+		"cros_host_extra_cflags=${CFLAGS_host}"
+		"cros_host_extra_cxxflags=${CXXFLAGS_host}"
+		"cros_host_extra_cppflags=${CPPFLAGS_host}"
+		"cros_host_extra_ldflags=${LDFLAGS_host}"
+	)
+
+	local arg
+	for arg in "${BUILD_STRING_ARGS[@]}"; do
+		BUILD_ARGS+=("${arg%%=*}=\"${arg#*=}\"")
+	done
+	export GN_ARGS="${BUILD_ARGS[*]}"
+	einfo "GN_ARGS = ${GN_ARGS}"
+	local gn=(
+		"${CHROME_ROOT}/src/buildtools/linux64/gn" gen
+		"${CHROME_ROOT}/src/${BUILD_OUT_SYM}/${BUILDTYPE}"
+		--args="${GN_ARGS}" --root="${CHROME_ROOT}/src"
+		--root-target="//third_party/icu"
+	)
+	echo "${gn[@]}"
+	"${gn[@]}" || die
+
+	# [Mod] setup_test_lists and clang_tidy are removed.
+}
+
+chrome_make() {
+	local build_dir="${BUILD_OUT_SYM}/${BUILDTYPE}"
+
+	# If ThinLTO is enabled, we may have a cache from a previous link. Due
+	# to fears about lack of reproducibility, we don't allow cache reuse
+	# across rebuilds. The cache is still useful for artifacts shared
+	# between multiple links done by this build (e.g. tests).
+	use thinlto && rm -rf "${build_dir}/thinlto-cache"
+
+	local command=(
+		"${ENINJA}"
+		-j"$(makeopts_jobs)"
+		-C "${build_dir}"
+		$(usex verbose -v "")
+		"$@"
+	)
+
+	PATH=${PATH}:${DEPOT_TOOLS} "${command[@]}"
+	local ret=$?
+	[[ "${ret}" -eq 0 ]] || die
+}
+
+src_compile() {
+	cd "${CHROME_ROOT}"/src || die "Cannot chdir to ${CHROME_ROOT}/src"
+
+	chrome_make "icu"
+}
+
+# [Mod] src_install() is greatly simplied and totally new.
+src_install() {
+	local build_dir="src/${BUILD_OUT_SYM}/${BUILDTYPE}"
+	local icu_lib_dir="${build_dir}/obj/third_party/icu/"
+	mv "${icu_lib_dir}/libicui18n.a" "${icu_lib_dir}/libicui18n${CHROME_ICU_POSTFIX}.a"
+	mv "${icu_lib_dir}/libicuuc.a" "${icu_lib_dir}/libicuuc${CHROME_ICU_POSTFIX}.a"
+	dolib.a "${icu_lib_dir}/libicui18n${CHROME_ICU_POSTFIX}.a"
+	dolib.a "${icu_lib_dir}/libicuuc${CHROME_ICU_POSTFIX}.a"
+	# Install to chrome folder to make chrome work.
+	insinto "${CHROME_DIR}"
+	doins "${build_dir}/icudtl.dat"
+	doins "${build_dir}/icudtl.dat.hash"
+
+	# Install icu header to /usr/include/icu${CHROME_ICU_POSTFIX}/.
+	local icu_headers=(
+		"common/unicode/appendable.h"
+		"common/unicode/brkiter.h"
+		"common/unicode/bytestream.h"
+		"common/unicode/char16ptr.h"
+		"common/unicode/chariter.h"
+		"common/unicode/errorcode.h"
+		"common/unicode/localpointer.h"
+		"common/unicode/locid.h"
+		"common/unicode/parseerr.h"
+		"common/unicode/platform.h"
+		"common/unicode/ptypes.h"
+		"common/unicode/putil.h"
+		"common/unicode/rep.h"
+		"common/unicode/schriter.h"
+		"common/unicode/std_string.h"
+		"common/unicode/strenum.h"
+		"common/unicode/stringoptions.h"
+		"common/unicode/stringpiece.h"
+		"common/unicode/ubrk.h"
+		"common/unicode/uchar.h"
+		"common/unicode/uchriter.h"
+		"common/unicode/uclean.h"
+		"common/unicode/ucnv.h"
+		"common/unicode/ucnv_err.h"
+		"common/unicode/uconfig.h"
+		"common/unicode/ucpmap.h"
+		"common/unicode/ucurr.h"
+		"common/unicode/udata.h"
+		"common/unicode/udisplaycontext.h"
+		"common/unicode/uenum.h"
+		"common/unicode/uloc.h"
+		"common/unicode/umachine.h"
+		"common/unicode/umisc.h"
+		"common/unicode/unifilt.h"
+		"common/unicode/unifunct.h"
+		"common/unicode/unimatch.h"
+		"common/unicode/uniset.h"
+		"common/unicode/unistr.h"
+		"common/unicode/uobject.h"
+		"common/unicode/urename.h"
+		"common/unicode/ures.h"
+		"common/unicode/uscript.h"
+		"common/unicode/uset.h"
+		"common/unicode/utext.h"
+		"common/unicode/utf.h"
+		"common/unicode/utf16.h"
+		"common/unicode/utf8.h"
+		"common/unicode/utf_old.h"
+		"common/unicode/utypes.h"
+		"common/unicode/uvernum.h"
+		"common/unicode/uversion.h"
+		"i18n/unicode/calendar.h"
+		"i18n/unicode/gregocal.h"
+		"i18n/unicode/regex.h"
+		"i18n/unicode/timezone.h"
+		"i18n/unicode/ucal.h"
+		"i18n/unicode/ucsdet.h"
+		"i18n/unicode/ufieldpositer.h"
+		"i18n/unicode/uformattable.h"
+		"i18n/unicode/unum.h"
+		"i18n/unicode/uregex.h"
+	)
+	local f
+	for f in "${icu_headers[@]}"; do
+		insinto "/usr/include/icu${CHROME_ICU_POSTFIX}/${f%/*}"
+		doins "${CHROME_ROOT}/src/third_party/icu/source/${f}"
+	done
+}
diff --git a/chromeos-base/chrome-icu/chrome-icu-106.0.5239.0_rc-r1.ebuild b/chromeos-base/chrome-icu/chrome-icu-106.0.5239.0_rc-r1.ebuild
new file mode 100644
index 0000000..41ec751
--- /dev/null
+++ b/chromeos-base/chrome-icu/chrome-icu-106.0.5239.0_rc-r1.ebuild
@@ -0,0 +1,640 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This ebuild is based on "chromeos-chrome.ebuild" to compile the chrome/icu
+# package into shared libraries and install them. The essential difference is to
+# do "chrome_make icu" rather than "chrome_make chrome". Besides, some other
+# non-trivial modifications are:
+#   - "chromium-source.eclass" is used to download chrome source code. Because
+#     "chromeos-chrome.ebuild" and "chromium-source.eclass" download the chrome
+#     source into the same location, the variables of "chromeos-chrome.ebuild"
+#     are kept.
+#   - "Control-flow integrity" (|is_cfi=false| and |use_cfi_cast=false|) is
+#     turned off otherwise the generated .so will crash (Illegal instruction).
+#   - Unrelated resource downloads (like for telemetry) are removed.
+#   - Unrelated configuration (like ozone platforms) are removed.
+#   - Unrelated features (like nacl) are disabled.
+#   - Header folders and libraries are postfixed with "${CHROME_ICU_POSTFIX}".
+#
+# Significant changes from "chromeos-chrome.ebuild" are highlighted by "[Mod]".
+#
+# The GN output folder is named as "out_icu_${BOARD}".
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit binutils-funcs chromium-source cros-constants cros-sanitizers flag-o-matic multilib toolchain-funcs python-any-r1 multiprocessing
+
+DESCRIPTION="The ICU library copied from chrome/third_party"
+HOMEPAGE="https://cs.chromium.org/chromium/src/third_party/icu/"
+
+LICENSE="icu-58"
+
+SLOT="0/${PVR}"
+KEYWORDS="*"
+
+# [Mod] Most of non-related IUSE flags are removed.
+IUSE="
+	asan
+	chrome_internal
+	component_build
+	cups
+	+libcxx
+	msan
+	neon
+	+runhooks
+	thinlto
+	ubsan
+	verbose
+	xkbcommon
+	"
+
+# [Mod] clear REQUIRED_USE.
+REQUIRED_USE=""
+
+# [Mod] Ozone platform variables are removed.
+
+# The gclient hooks that run in src_prepare hit the network.
+# https://crbug.com/731905
+RESTRICT="network-sandbox mirror"
+
+# Portage version without optional portage suffix.
+CHROME_VERSION="${PV/_*/}"
+
+# chrome destination directory
+CHROME_DIR=/opt/google/chrome
+
+# For compilation
+BUILDTYPE="${BUILDTYPE:-Release}"
+BOARD="${BOARD:-${SYSROOT##/build/}}"
+# [Mod] GN output dir is named as "out_icu_${BOARD}".
+BUILD_OUT="${BUILD_OUT:-out_icu_${BOARD}}"
+
+# [Mod] Change from "c" to avoid potential conflict with chromeos-chrome.ebuild.
+BUILD_OUT_SYM="c_icu"
+
+# [Mod] To differentiate with the standard ICU, we postfix the include headers
+# folder and library names by "chrome". (see crbug.com/1059133 and b/151439301)
+CHROME_ICU_POSTFIX="-chrome"
+
+# [Mod] Order file and AFDO file variables/functions declared here are removed.
+
+# [Mod] chrome/icu depends on nothing. Blocking the canonical icu package can
+# let us notice the potential repetitions.
+# [Mod] Old Chrome ebuilds installed icudtl.dat.
+# Add `xkbcommon` related libraries to make xkbcommon handling identical with
+# chromeos-chrome. This will make it more likely to catch potential xkbcommon
+# related chromeos-icu.ebuild failures by testing chromeos-chrome.ebuild.
+RDEPEND="
+	!dev-libs/icu
+	!<chromeos-base/chromeos-chrome-83.0.4098.4
+	xkbcommon? (
+		x11-libs/libxkbcommon
+		x11-misc/xkeyboard-config
+	)
+"
+DEPEND="
+	net-print/cups
+	x11-libs/libdrm
+"
+
+usetf()  { usex "$1" true false ; }
+
+set_build_args() {
+	# [Mod] 1. Add a new arg "icu_disable_thin_archive=true".
+	#       2. Set the values according to IUSE default value but disable
+	#          unnecessary feature
+	#       3. Set "is_cfi=false".
+	BUILD_ARGS=(
+		"is_chromeos_device=true"
+		"icu_disable_thin_archive=true"
+
+		# is_official_build sometimes implies extra optimizations (e.g. it will allow
+		# ThinLTO to optimize more aggressively, if ThinLTO is enabled). Please note
+		# that, despite the name, it should be usable by external users.
+		#
+		# Sanitizers don't like official builds.
+		"is_official_build=$(use_sanitizers false true)"
+
+		"is_debug=false"
+		"${EXTRA_GN_ARGS}"
+		"use_ozone=true"
+		"use_evdev_gestures=false"
+		# Use the Chrome OS toolchain and not the one bundled with Chromium.
+		"linux_use_bundled_binutils=false"
+		"use_debug_fission=false"
+		"enable_remoting=false"
+		"enable_nacl=false"
+		"icu_use_data_file=true"
+		# Add this to make xkbcommon handling identical with chromeos-chrome.
+		# This will make it more likely to catch potential xkbcommon related
+		# chromeos-icu.ebuild failures by testing chromeos-chrome.ebuild
+		"use_xkbcommon=$(usetf xkbcommon)"
+		# use_system_minigbm is set below.
+		# HarfBuzz and FreeType need to be built together in a specific way
+		# to get FreeType autohinting to work properly. Chromium bundles
+		# FreeType and HarfBuzz to meet that need.
+		# See crbug.com/694137 .
+		"use_system_harfbuzz=false"
+		"use_system_freetype=false"
+		"use_system_libsync=false"
+		"use_cups=$(usetf cups)"
+		"use_bundled_fontconfig=false"
+
+		# Clang features.
+		"is_asan=$(usetf asan)"
+		"is_msan=$(usetf msan)"
+		"is_ubsan=$(usetf ubsan)"
+		"use_thin_lto=$(usetf thinlto)"
+		"is_cfi=false"
+		"use_cfi_cast=false"
+		"use_cras=false"
+	)
+
+	# BUILD_STRING_ARGS needs appropriate quoting. So, we keep them separate and
+	# add them to BUILD_ARGS at the end.
+	BUILD_STRING_ARGS=(
+		"target_sysroot=${SYSROOT}"
+		"system_libdir=$(get_libdir)"
+		"pkg_config=$(tc-getPKG_CONFIG)"
+		"target_os=chromeos"
+		"host_pkg_config=$(tc-getBUILD_PKG_CONFIG)"
+	)
+
+	# [Mod] Ozone platform configrations are removed.
+
+	# Set proper build args for the arch
+	case "${ARCH}" in
+	x86)
+		BUILD_STRING_ARGS+=( "target_cpu=x86" )
+		;;
+	arm)
+		BUILD_ARGS+=(
+			"arm_use_neon=$(usetf neon)"
+			# To workaround the 4GB debug limit. crbug.com/792999.
+			"blink_symbol_level=1"
+		)
+		BUILD_STRING_ARGS+=(
+			"target_cpu=arm"
+			"arm_float_abi=hard"
+		)
+		local arm_arch=$(get-flag march)
+		if [[ -n "${arm_arch}" ]]; then
+			BUILD_STRING_ARGS+=( "arm_arch=${arm_arch}" )
+		fi
+		;;
+	arm64)
+		BUILD_STRING_ARGS+=(
+			"target_cpu=arm64"
+		)
+		local arm_arch=$(get-flag march)
+		if [[ -n "${arm_arch}" ]]; then
+			BUILD_STRING_ARGS+=( "arm_arch=${arm_arch}" )
+		fi
+		;;
+	amd64)
+		BUILD_STRING_ARGS+=( "target_cpu=x64" )
+		;;
+	*)
+		die "Unsupported architecture: ${ARCH}"
+		;;
+	esac
+
+	# [Mod] chrome_media configurations are removed.
+	if use chrome_internal; then
+		# Adding chrome branding specific variables.
+		BUILD_ARGS+=( "is_chrome_branded=true" )
+		# This test can only be build from internal sources.
+		BUILD_ARGS+=( "internal_gles2_conform_tests=true" )
+		export CHROMIUM_BUILD='_google_Chrome'
+		export OFFICIAL_BUILD='1'
+		export CHROME_BUILD_TYPE='_official'
+	fi
+
+	BUILD_ARGS+=(
+		"treat_warnings_as_errors=false"
+	)
+
+	if use component_build; then
+		BUILD_ARGS+=( "is_component_build=true" )
+	fi
+
+	# [Mod] goma is disabled.
+	BUILD_ARGS+=( "use_goma=false" )
+
+	# [Mod] chrome_debug and debug_fission configurations are removed.
+}
+
+# [Mod] Main content of unpack_chrome() is replaced by the unpack function in
+# chromium-source.eclass.
+unpack_chrome() {
+	# Add depot_tools to PATH, local chroot builds fail otherwise.
+	export PATH=${PATH}:${DEPOT_TOOLS}
+
+	chromium-source_src_unpack
+}
+
+decide_chrome_origin() {
+	if [[ "${PV}" == "9999" ]]; then
+		# LOCAL_SOURCE is the default for cros_workon
+		# Warn the user if CHROME_ORIGIN is already set
+		if [[ -n "${CHROME_ORIGIN}" && "${CHROME_ORIGIN}" != LOCAL_SOURCE ]]; then
+			ewarn "CHROME_ORIGIN is already set to ${CHROME_ORIGIN}."
+			ewarn "This will prevent you from building from your local checkout."
+			ewarn "Please run 'unset CHROME_ORIGIN' to reset Chrome"
+			ewarn "to the default source location."
+		fi
+		: "${CHROME_ORIGIN:=LOCAL_SOURCE}"
+	else
+		# By default, pull from server
+		: "${CHROME_ORIGIN:=SERVER_SOURCE}"
+	fi
+}
+
+sandboxless_ensure_directory() {
+	local dir
+	for dir in "$@"; do
+		if [[ ! -d "${dir}" ]] ; then
+			# We need root access to create these directories, so we need to
+			# use sudo. This implicitly disables the sandbox.
+			sudo mkdir -p "${dir}" || die
+			sudo chown "${PORTAGE_USERNAME}:portage" "${dir}" || die
+			sudo chmod 0755 "${dir}" || die
+		fi
+	done
+}
+
+src_unpack() {
+	tc-export CC CXX
+	local WHOAMI=$(whoami)
+
+	CHROME_SRC="chrome-src"
+	if use chrome_internal; then
+		CHROME_SRC+="-internal"
+	fi
+
+	# CHROME_CACHE_DIR is used for storing output artifacts, and is always a
+	# regular directory inside the chroot (i.e. it's never mounted in, so it's
+	# always safe to use cp -al for these artifacts).
+	: "${CHROME_CACHE_DIR:="/var/cache/chromeos-chrome/${CHROME_SRC}"}"
+	addwrite "${CHROME_CACHE_DIR}"
+
+	# CHROME_DISTDIR is used for storing the source code, if any source code
+	# needs to be unpacked at build time (e.g. in the SERVER_SOURCE scenario.)
+	# It will be mounted into the chroot, so it is never safe to use cp -al
+	# for these files.
+	: "${CHROME_DISTDIR:="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/${CHROME_SRC}"}"
+	addwrite "${CHROME_DISTDIR}"
+
+	# Create storage directories.
+	sandboxless_ensure_directory "${CHROME_DISTDIR}" "${CHROME_CACHE_DIR}"
+
+	# [Mod] Calls of cros-credentials_setup is removed.
+
+	decide_chrome_origin
+
+	# [Mod] LOCAL_BINARY is not supported because chromium-source.eclass does not
+	# support it.
+	case "${CHROME_ORIGIN}" in
+	LOCAL_SOURCE|SERVER_SOURCE)
+		einfo "CHROME_ORIGIN VALUE is ${CHROME_ORIGIN}"
+		;;
+	*)
+		die "CHROME_ORIGIN not one of LOCAL_SOURCE, SERVER_SOURCE"
+		;;
+	esac
+
+	# Prepare and set CHROME_ROOT based on CHROME_ORIGIN.
+	# CHROME_ROOT is the location where the source code is used for compilation.
+	# If we're in SERVER_SOURCE mode, CHROME_ROOT is CHROME_DISTDIR. In LOCAL_SOURCE
+	# mode, this directory may be set manually to any directory. It may be mounted
+	# into the chroot, so it is not safe to use cp -al for these files.
+	# These are set here because $(whoami) returns the proper user here,
+	# but 'root' at the root level of the file
+	case "${CHROME_ORIGIN}" in
+	(SERVER_SOURCE)
+		elog "Using CHROME_VERSION = ${CHROME_VERSION}"
+		if [[ ${WHOAMI} == "chrome-bot" ]]; then
+			# TODO: Should add a sanity check that the version checked out is
+			# what we actually want.  Not sure how to do that though.
+			elog "Skipping syncing as cbuildbot ran SyncChrome for us."
+		else
+			unpack_chrome
+		fi
+
+		elog "set the chrome source root to ${CHROME_DISTDIR}"
+		elog "From this point onwards there is no difference between \
+			SERVER_SOURCE and LOCAL_SOURCE, since the fetch is done"
+		CHROME_ROOT=${CHROME_DISTDIR}
+		;;
+	(LOCAL_SOURCE)
+		: "${CHROME_ROOT:=/home/${WHOAMI}/chrome_root}"
+		if [[ ! -d "${CHROME_ROOT}/src" ]]; then
+			die "${CHROME_ROOT} does not contain a valid chromium checkout!"
+		fi
+		addwrite "${CHROME_ROOT}"
+		;;
+	esac
+
+	# [Mod] Always call this because the case CHROME_ORIGIN=LOCAL_BINARY is
+	# excluded.
+	set_build_args
+
+	ln -sf "${CHROME_ROOT}" "${WORKDIR}/${P}"
+
+	# [Mod] Use flags internal_gles_conform, afdo_use, afdo_verify,
+	# orderfile_verify and orderfile_use are all disabled.
+	BUILD_STRING_ARGS+=( "chrome_orderfile_path=" )
+}
+
+# [Mod] add_api_keys() is removed because we do not need to access Google
+# services.
+
+# [Mod] src_prepare() is simplied because 1) we do not need to access Google
+# services; 2) we exclude the case CHROME_ORIGIN=LOCAL_BINARY and 3) we do
+# not need patches.
+src_prepare() {
+	# Must call eapply_user in EAPI 7, but this function is a no-op here.
+	eapply_user
+
+	cd "${CHROME_ROOT}/src" || die "Cannot chdir to ${CHROME_ROOT}"
+	mkdir -p "${CHROME_CACHE_DIR}/src/${BUILD_OUT}"
+	if [[ -n "${BUILD_OUT_SYM}" ]]; then
+		rm -rf "${BUILD_OUT_SYM}" || die "Could not remove symlink"
+		ln -sfT "${CHROME_CACHE_DIR}/src/${BUILD_OUT}" "${BUILD_OUT_SYM}" ||
+			die "Could not create symlink for output directory"
+	fi
+}
+
+# [Mod] setup_test_lists() is removed.
+
+# Handle all CFLAGS/CXXFLAGS/etc... munging here.
+setup_compile_flags() {
+	# Chrome controls its own optimization settings, so this would be a nop
+	# if we were to run it. Leave it here anyway as a grep-friendly marker.
+	# cros_optimize_package_for_speed
+
+	# The chrome makefiles specify -O and -g flags already, so remove the
+	# portage flags.
+	filter-flags -g -O*
+
+	# Remove unsupported arm64 linker flag on arm32 builds.
+	# https://crbug.com/889079
+	use arm && filter-flags "-Wl,--fix-cortex-a53-843419"
+
+	# There are some flags we want to only use in the ebuild.
+	# The rest will be exported to the simple chrome workflow.
+	EBUILD_CFLAGS=()
+	EBUILD_CXXFLAGS=()
+	EBUILD_LDFLAGS=()
+
+	if use thinlto; then
+		# if using thinlto, we need to pass the equivalent of
+		# -fdebug-types-section to the backend, to prevent out-of-range
+		# relocations (see
+		# https://bugs.chromium.org/p/chromium/issues/detail?id=1032159).
+		append-ldflags -Wl,-mllvm
+		append-ldflags -Wl,-generate-type-units
+	else
+		# Non-ThinLTO builds with symbol_level=2 may have out-of-range
+		# relocations, too: crbug.com/1050819.
+		append-flags -fdebug-types-section
+	fi
+
+	# Enable std::vector []-operator bounds checking.
+	append-cxxflags -D__google_stl_debug_vector=1
+
+	# Chrome and Chrome OS versions of the compiler may not be in
+	# sync. So, don't complain if Chrome uses a diagnostic
+	# option that is not yet implemented in the compiler version used
+	# by Chrome OS.
+	# Turns out this is only really supported by Clang. See crosbug.com/615466
+	# Add "-faddrsig" flag required to efficiently support "--icf=all".
+	append-flags -faddrsig
+	append-flags -Wno-unknown-warning-option
+	export CXXFLAGS_host+=" -Wno-unknown-warning-option"
+	export CFLAGS_host+=" -Wno-unknown-warning-option"
+	if use libcxx; then
+		append-cxxflags "-stdlib=libc++"
+		append-ldflags "-stdlib=libc++"
+	fi
+
+	# Workaround: Disable fatal linker warnings on arm64/lld.
+	# https://crbug.com/913071
+	# [mod] vtable_verify is disabled.
+	use arm64 && append-ldflags "-Wl,--no-fatal-warnings"
+
+	local flags
+	einfo "Building with the compiler settings:"
+	for flags in {C,CXX,CPP,LD}FLAGS; do
+		einfo "  ${flags} = ${!flags}"
+	done
+}
+
+src_configure() {
+	tc-export CXX CC AR AS NM RANLIB STRIP
+	export CC_host=$(tc-getBUILD_CC)
+	export CXX_host=$(tc-getBUILD_CXX)
+	export NM_host=$(tc-getBUILD_NM)
+	export READELF="llvm-readelf"
+	export READELF_host="llvm-readelf"
+
+	# Use C++ compiler as the linker driver.
+	export LD="${CXX}"
+	export LD_host=${CXX_host}
+
+	# We need below change when USE="thinlto" is set. We set this globally
+	# so that users can turn on the "use_thin_lto" in the simplechrome
+	# flow more easily.
+	# use nm from llvm, https://crbug.com/917193
+	export NM="llvm-nm"
+	export NM_host="llvm-nm"
+	export AR="llvm-ar"
+	# USE=thinlto affects host build, we need to set host AR to
+	# llvm-ar to make sure host package builds with thinlto.
+	# crbug.com/731335
+	export AR_host="llvm-ar"
+	export RANLIB="llvm-ranlib"
+
+	# Set binutils path for goma.
+	CC_host+=" -B$(get_binutils_path "${LD_host}")"
+	CXX_host+=" -B$(get_binutils_path "${LD_host}")"
+
+	setup_compile_flags
+
+	# We might set BOTO_CONFIG in the builder environment in case the
+	# existing file needs modifications (e.g. for working with older
+	# branches). So don't overwrite it if it's already set.
+	# See https://crbug.com/847676 for details.
+	export BOTO_CONFIG="${BOTO_CONFIG:-/home/$(whoami)/.boto}"
+	export PATH=${PATH}:${DEPOT_TOOLS}
+
+	export DEPOT_TOOLS_GSUTIL_BIN_DIR="${CHROME_CACHE_DIR}/gsutil_bin"
+
+	# TODO(rcui): crosbug.com/20435. Investigate removal of runhooks
+	# useflag when chrome build switches to Ninja inside the chroot.
+	if use runhooks; then
+		local cmd=( "${EGCLIENT}" runhooks --force )
+		echo "${cmd[@]}"
+		CFLAGS="${CFLAGS} ${EBUILD_CFLAGS[*]}" \
+		CXXFLAGS="${CXXFLAGS} ${EBUILD_CXXFLAGS[*]}" \
+		LDFLAGS="${LDFLAGS} ${EBUILD_LDFLAGS[*]}" \
+		"${cmd[@]}" || die
+	fi
+
+	# [Mod] Unrelated V8 configurations are removed.
+	BUILD_STRING_ARGS+=(
+		"cros_target_ar=${AR}"
+		"cros_target_cc=${CC}"
+		"cros_target_cxx=${CXX}"
+		"host_toolchain=//build/toolchain/cros:host"
+		"custom_toolchain=//build/toolchain/cros:target"
+		"cros_target_ld=${LD}"
+		"cros_target_nm=${NM}"
+		"cros_target_readelf=${READELF}"
+		"cros_target_extra_cflags=${CFLAGS} ${EBUILD_CFLAGS[*]}"
+		"cros_target_extra_cppflags=${CPPFLAGS}"
+		"cros_target_extra_cxxflags=${CXXFLAGS} ${EBUILD_CXXFLAGS[*]}"
+		"cros_target_extra_ldflags=${LDFLAGS} ${EBUILD_LDFLAGS[*]}"
+		"cros_host_cc=${CC_host}"
+		"cros_host_cxx=${CXX_host}"
+		"cros_host_ar=${AR_host}"
+		"cros_host_ld=${LD_host}"
+		"cros_host_nm=${NM_host}"
+		"cros_host_readelf=${READELF_host}"
+		"cros_host_extra_cflags=${CFLAGS_host}"
+		"cros_host_extra_cxxflags=${CXXFLAGS_host}"
+		"cros_host_extra_cppflags=${CPPFLAGS_host}"
+		"cros_host_extra_ldflags=${LDFLAGS_host}"
+	)
+
+	local arg
+	for arg in "${BUILD_STRING_ARGS[@]}"; do
+		BUILD_ARGS+=("${arg%%=*}=\"${arg#*=}\"")
+	done
+	export GN_ARGS="${BUILD_ARGS[*]}"
+	einfo "GN_ARGS = ${GN_ARGS}"
+	local gn=(
+		"${CHROME_ROOT}/src/buildtools/linux64/gn" gen
+		"${CHROME_ROOT}/src/${BUILD_OUT_SYM}/${BUILDTYPE}"
+		--args="${GN_ARGS}" --root="${CHROME_ROOT}/src"
+		--root-target="//third_party/icu"
+	)
+	echo "${gn[@]}"
+	"${gn[@]}" || die
+
+	# [Mod] setup_test_lists and clang_tidy are removed.
+}
+
+chrome_make() {
+	local build_dir="${BUILD_OUT_SYM}/${BUILDTYPE}"
+
+	# If ThinLTO is enabled, we may have a cache from a previous link. Due
+	# to fears about lack of reproducibility, we don't allow cache reuse
+	# across rebuilds. The cache is still useful for artifacts shared
+	# between multiple links done by this build (e.g. tests).
+	use thinlto && rm -rf "${build_dir}/thinlto-cache"
+
+	local command=(
+		"${ENINJA}"
+		-j"$(makeopts_jobs)"
+		-C "${build_dir}"
+		$(usex verbose -v "")
+		"$@"
+	)
+
+	PATH=${PATH}:${DEPOT_TOOLS} "${command[@]}"
+	local ret=$?
+	[[ "${ret}" -eq 0 ]] || die
+}
+
+src_compile() {
+	cd "${CHROME_ROOT}"/src || die "Cannot chdir to ${CHROME_ROOT}/src"
+
+	chrome_make "icu"
+}
+
+# [Mod] src_install() is greatly simplied and totally new.
+src_install() {
+	local build_dir="src/${BUILD_OUT_SYM}/${BUILDTYPE}"
+	local icu_lib_dir="${build_dir}/obj/third_party/icu/"
+	mv "${icu_lib_dir}/libicui18n.a" "${icu_lib_dir}/libicui18n${CHROME_ICU_POSTFIX}.a"
+	mv "${icu_lib_dir}/libicuuc.a" "${icu_lib_dir}/libicuuc${CHROME_ICU_POSTFIX}.a"
+	dolib.a "${icu_lib_dir}/libicui18n${CHROME_ICU_POSTFIX}.a"
+	dolib.a "${icu_lib_dir}/libicuuc${CHROME_ICU_POSTFIX}.a"
+	# Install to chrome folder to make chrome work.
+	insinto "${CHROME_DIR}"
+	doins "${build_dir}/icudtl.dat"
+	doins "${build_dir}/icudtl.dat.hash"
+
+	# Install icu header to /usr/include/icu${CHROME_ICU_POSTFIX}/.
+	local icu_headers=(
+		"common/unicode/appendable.h"
+		"common/unicode/brkiter.h"
+		"common/unicode/bytestream.h"
+		"common/unicode/char16ptr.h"
+		"common/unicode/chariter.h"
+		"common/unicode/errorcode.h"
+		"common/unicode/localpointer.h"
+		"common/unicode/locid.h"
+		"common/unicode/parseerr.h"
+		"common/unicode/platform.h"
+		"common/unicode/ptypes.h"
+		"common/unicode/putil.h"
+		"common/unicode/rep.h"
+		"common/unicode/schriter.h"
+		"common/unicode/std_string.h"
+		"common/unicode/strenum.h"
+		"common/unicode/stringoptions.h"
+		"common/unicode/stringpiece.h"
+		"common/unicode/ubrk.h"
+		"common/unicode/uchar.h"
+		"common/unicode/uchriter.h"
+		"common/unicode/uclean.h"
+		"common/unicode/ucnv.h"
+		"common/unicode/ucnv_err.h"
+		"common/unicode/uconfig.h"
+		"common/unicode/ucpmap.h"
+		"common/unicode/ucurr.h"
+		"common/unicode/udata.h"
+		"common/unicode/udisplaycontext.h"
+		"common/unicode/uenum.h"
+		"common/unicode/uloc.h"
+		"common/unicode/umachine.h"
+		"common/unicode/umisc.h"
+		"common/unicode/unifilt.h"
+		"common/unicode/unifunct.h"
+		"common/unicode/unimatch.h"
+		"common/unicode/uniset.h"
+		"common/unicode/unistr.h"
+		"common/unicode/uobject.h"
+		"common/unicode/urename.h"
+		"common/unicode/ures.h"
+		"common/unicode/uscript.h"
+		"common/unicode/uset.h"
+		"common/unicode/utext.h"
+		"common/unicode/utf.h"
+		"common/unicode/utf16.h"
+		"common/unicode/utf8.h"
+		"common/unicode/utf_old.h"
+		"common/unicode/utypes.h"
+		"common/unicode/uvernum.h"
+		"common/unicode/uversion.h"
+		"i18n/unicode/calendar.h"
+		"i18n/unicode/gregocal.h"
+		"i18n/unicode/regex.h"
+		"i18n/unicode/timezone.h"
+		"i18n/unicode/ucal.h"
+		"i18n/unicode/ucsdet.h"
+		"i18n/unicode/ufieldpositer.h"
+		"i18n/unicode/uformattable.h"
+		"i18n/unicode/unum.h"
+		"i18n/unicode/uregex.h"
+	)
+	local f
+	for f in "${icu_headers[@]}"; do
+		insinto "/usr/include/icu${CHROME_ICU_POSTFIX}/${f%/*}"
+		doins "${CHROME_ROOT}/src/third_party/icu/source/${f}"
+	done
+}
diff --git a/chromeos-base/chrome-icu/chrome-icu-9999.ebuild b/chromeos-base/chrome-icu/chrome-icu-9999.ebuild
index cef296e..9658387 100644
--- a/chromeos-base/chrome-icu/chrome-icu-9999.ebuild
+++ b/chromeos-base/chrome-icu/chrome-icu-9999.ebuild
@@ -21,9 +21,9 @@
 #
 # The GN output folder is named as "out_icu_${BOARD}".
 
-EAPI=5
+EAPI=7
 
-PYTHON_COMPAT=( python3_{6..8} )
+PYTHON_COMPAT=( python3_{6..9} )
 inherit binutils-funcs chromium-source cros-constants cros-sanitizers flag-o-matic multilib toolchain-funcs python-any-r1 multiprocessing
 
 DESCRIPTION="The ICU library copied from chrome/third_party"
@@ -99,9 +99,7 @@
 	x11-libs/libdrm
 "
 
-# [Mod] NaCl utilities are removed.
-
-usetf()  { usex $1 true false ; }
+usetf()  { usex "$1" true false ; }
 
 set_build_args() {
 	# [Mod] 1. Add a new arg "icu_disable_thin_archive=true".
@@ -128,7 +126,6 @@
 		"use_debug_fission=false"
 		"enable_remoting=false"
 		"enable_nacl=false"
-		"enable_nacl=false"
 		"icu_use_data_file=true"
 		# Add this to make xkbcommon handling identical with chromeos-chrome.
 		# This will make it more likely to catch potential xkbcommon related
@@ -199,28 +196,6 @@
 	amd64)
 		BUILD_STRING_ARGS+=( "target_cpu=x64" )
 		;;
-	mips)
-		local mips_arch target_arch
-
-		mips_arch="$($(tc-getCPP) ${CFLAGS} ${CPPFLAGS} -E -P - <<<_MIPS_ARCH)"
-		# Strip away any enclosing quotes.
-		mips_arch="${mips_arch//\"}"
-		# TODO(benchan): Use tc-endian from toolchain-func to determine endianess
-		# when Chrome later cares about big-endian.
-		case "${mips_arch}" in
-		mips64*)
-			target_arch=mips64el
-			;;
-		*)
-			target_arch=mipsel
-			;;
-		esac
-
-		BUILD_STRING_ARGS+=(
-			"target_cpu=${target_arch}"
-			"mips_arch_variant=${mips_arch}"
-		)
-		;;
 	*)
 		die "Unsupported architecture: ${ARCH}"
 		;;
@@ -380,6 +355,9 @@
 # services; 2) we exclude the case CHROME_ORIGIN=LOCAL_BINARY and 3) we do
 # not need patches.
 src_prepare() {
+	# Must call eapply_user in EAPI 7, but this function is a no-op here.
+	eapply_user
+
 	cd "${CHROME_ROOT}/src" || die "Cannot chdir to ${CHROME_ROOT}"
 	mkdir -p "${CHROME_CACHE_DIR}/src/${BUILD_OUT}"
 	if [[ -n "${BUILD_OUT_SYM}" ]]; then
@@ -411,44 +389,19 @@
 	EBUILD_CXXFLAGS=()
 	EBUILD_LDFLAGS=()
 
-	# LLVM needs this when parsing profiles.
-	# See README on https://github.com/google/autofdo
-	# For ARM, we do not need this flag because we don't get profiles
-	# from ARM machines. And it triggers an llvm assertion when thinlto
-	# and debug fission is used together.
-	# See https://bugs.llvm.org/show_bug.cgi?id=37255
-	use arm || append-flags -fdebug-info-for-profiling
-
 	if use thinlto; then
-		# We need to change the default value of import-instr-limit in
-		# LLVM to limit the text size increase. The default value is
-		# 100, and we change it to 30 to reduce the text size increase
-		# from 25% to 10%. The performance number of page_cycler is the
-		# same on two of the thinLTO configurations, we got 1% slowdown
-		# on speedometer when changing import-instr-limit from 100 to 30.
-		# We need to further reduce it to 20 for arm to limit the size
-		# increase to 10%.
-		local thinlto_ldflag="-Wl,-plugin-opt,-import-instr-limit=30"
-		if use arm; then
-			thinlto_ldflag="-Wl,-plugin-opt,-import-instr-limit=20"
-			EBUILD_LDFLAGS+=( -gsplit-dwarf )
-		fi
-		EBUILD_LDFLAGS+=( "${thinlto_ldflag}" )
 		# if using thinlto, we need to pass the equivalent of
 		# -fdebug-types-section to the backend, to prevent out-of-range
 		# relocations (see
 		# https://bugs.chromium.org/p/chromium/issues/detail?id=1032159).
 		append-ldflags -Wl,-mllvm
 		append-ldflags -Wl,-generate-type-units
+	else
+		# Non-ThinLTO builds with symbol_level=2 may have out-of-range
+		# relocations, too: crbug.com/1050819.
+		append-flags -fdebug-types-section
 	fi
 
-	# [Mod] Configurations related to orderfile_generate USE flag are removed.
-
-	# Turn off call graph profile sort (C3), when new pass manager is enabled.
-	# Only allow it when we want to generate orderfile.
-	# This is a temporary option and will need to be removed once orderfile is on.
-	EBUILD_LDFLAGS+=( "-Wl,--no-call-graph-profile-sort" )
-
 	# Enable std::vector []-operator bounds checking.
 	append-cxxflags -D__google_stl_debug_vector=1
 
@@ -596,8 +549,6 @@
 	[[ "${ret}" -eq 0 ]] || die
 }
 
-# [Mod] src_compile() is simplied because 1) the case CHROME_LOCAL=LOCAL_BINARY
-# is excluded. 2) we do not need nacl or tests.
 src_compile() {
 	cd "${CHROME_ROOT}"/src || die "Cannot chdir to ${CHROME_ROOT}/src"
 
diff --git a/chromeos-base/chromeos-accelerometer-init/chromeos-accelerometer-init-0.0.1-r28.ebuild b/chromeos-base/chromeos-accelerometer-init/chromeos-accelerometer-init-0.0.1-r29.ebuild
similarity index 100%
rename from chromeos-base/chromeos-accelerometer-init/chromeos-accelerometer-init-0.0.1-r28.ebuild
rename to chromeos-base/chromeos-accelerometer-init/chromeos-accelerometer-init-0.0.1-r29.ebuild
diff --git a/chromeos-base/chromeos-accelerometer-init/chromeos-accelerometer-init-0.0.1.ebuild b/chromeos-base/chromeos-accelerometer-init/chromeos-accelerometer-init-0.0.1.ebuild
index 2701b03..58af6f33 100644
--- a/chromeos-base/chromeos-accelerometer-init/chromeos-accelerometer-init-0.0.1.ebuild
+++ b/chromeos-base/chromeos-accelerometer-init/chromeos-accelerometer-init-0.0.1.ebuild
@@ -1,13 +1,10 @@
 # Copyright 2014 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=5
-
-inherit udev
+EAPI=7
 
 DESCRIPTION="Chrome OS trigger allowing chrome to access cros-ec-accel device"
-HOMEPAGE="http://src.chromium.org"
-SRC_URI=""
+HOMEPAGE="https://dev.chromium.org/chromium-os"
 
 LICENSE="BSD-Google"
 SLOT="0"
@@ -17,25 +14,11 @@
 	!chromeos-base/iioservice
 	chromeos-base/mems_setup
 	virtual/chromeos-ec-driver-init
-	virtual/modutils
 	virtual/udev
 "
 
 S=${WORKDIR}
 
-src_test() {
-	local cmds=(
-		"${FILESDIR}"/tests/accelerometer-init-test.sh
-		"${FILESDIR}"/tests/light-init-test.sh
-	)
-	local cmd
-
-	for cmd in "${cmds[@]}"; do
-		echo "${cmd[@]}"
-		"${cmd[@]}" || die
-	done
-}
-
 src_install() {
 	insinto /etc/init
 	doins "${FILESDIR}"/init/cros-ec-accel.conf
diff --git a/chromeos-base/chromeos-base/chromeos-base-1-r11.ebuild b/chromeos-base/chromeos-base/chromeos-base-1-r13.ebuild
similarity index 100%
rename from chromeos-base/chromeos-base/chromeos-base-1-r11.ebuild
rename to chromeos-base/chromeos-base/chromeos-base-1-r13.ebuild
diff --git a/chromeos-base/chromeos-base/files/udev-rules/99-powerd-proximity.rules b/chromeos-base/chromeos-base/files/udev-rules/99-powerd-proximity.rules
index e16b369..8d0de53 100644
--- a/chromeos-base/chromeos-base/files/udev-rules/99-powerd-proximity.rules
+++ b/chromeos-base/chromeos-base/files/udev-rules/99-powerd-proximity.rules
@@ -1,4 +1,4 @@
-ACTION=="add", SUBSYSTEM=="iio", ATTR{name}=="sx9310|sx9311|sx932x|cros-ec-mkbp-proximity", \
+ACTION=="add", SUBSYSTEM=="iio", ATTR{name}=="sx9310|sx9311|sx9324|sx932x|cros-ec-mkbp-proximity", \
 ATTR{label}=="proximity-*" \
   SYMLINK+="%s{label}" \
   GROUP="power"
diff --git a/chromeos-base/chromeos-base/files/udev-rules/99-uinput.rules b/chromeos-base/chromeos-base/files/udev-rules/99-uinput.rules
index 05f3252..700410a 100644
--- a/chromeos-base/chromeos-base/files/udev-rules/99-uinput.rules
+++ b/chromeos-base/chromeos-base/files/udev-rules/99-uinput.rules
@@ -1,2 +1,3 @@
-# Make the /dev/uinput device only accessible by the uinput group.
-SUBSYSTEM=="misc", KERNEL=="uinput", OWNER="root", GROUP="uinput", MODE="0660"
+# Make the /dev/uinput device only accessible by the uinput group and notify
+# services it has been made accessible.
+ACTION=="add", SUBSYSTEM=="misc", KERNEL=="uinput", OWNER="root", GROUP="uinput", MODE="0660", RUN+="/sbin/initctl emit --no-wait uinput-added"
diff --git a/chromeos-base/chromeos-chrome/chromeos-chrome-100.0.4868.0_rc-r2.ebuild b/chromeos-base/chromeos-chrome/chromeos-chrome-100.0.4868.0_rc-r2.ebuild
deleted file mode 100644
index e33a64c..0000000
--- a/chromeos-base/chromeos-chrome/chromeos-chrome-100.0.4868.0_rc-r2.ebuild
+++ /dev/null
@@ -1,1436 +0,0 @@
-# Copyright 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-# Usage: by default, downloads chromium browser from the build server.
-# If CHROME_ORIGIN is set to one of {SERVER_SOURCE, LOCAL_SOURCE, LOCAL_BINARY},
-# the build comes from the chromimum source repository (gclient sync),
-# build server, locally provided source, or locally provided binary.
-# If you are using SERVER_SOURCE, a gclient template file that is in the files
-# directory which will be copied automatically during the build and used as
-# the .gclient for 'gclient sync'.
-# If building from LOCAL_SOURCE or LOCAL_BINARY specifying BUILDTYPE
-# will allow you to specify "Debug" or another build type; "Release" is
-# the default.
-
-EAPI=7
-
-# TODO(crbug.com/984182): We force Python 2 because depot_tools doesn't support Python 3.
-PYTHON_COMPAT=( python2_7 )
-inherit autotest-deponly binutils-funcs chromium-source cros-credentials cros-constants cros-sanitizers eutils flag-o-matic git-2 multilib toolchain-funcs user python-any-r1 multiprocessing
-
-DESCRIPTION="Open-source version of Google Chrome web browser"
-HOMEPAGE="http://www.chromium.org/"
-SRC_URI=""
-
-LICENSE="BSD-Google chrome_internal? ( Google-TOS )"
-SLOT="0"
-KEYWORDS="*"
-IUSE="
-	+afdo_use
-	afdo_verify
-	+accessibility
-	amd_oemcrypto
-	app_shell
-	asan
-	+authpolicy
-	+build_tests
-	cdm_factory_daemon
-	+chrome_debug
-	+cfi
-	cfm
-	chrome_debug_tests
-	chrome_dcheck
-	chrome_internal
-	chrome_media
-	+chrome_remoting
-	clang_tidy
-	component_build
-	cros-debug
-	debug_fission
-	+dwarf5
-	+fonts
-	hw_details
-	goma
-	goma_thinlto
-	+highdpi
-	iioservice
-	intel_oemcrypto
-	internal_gles_conform
-	+libcxx
-	libinput
-	mojo
-	msan
-	+nacl
-	neon
-	+oobe_config
-	opengl
-	opengles
-	orderfile_generate
-	+orderfile_use
-	orderfile_verify
-	remoteexec
-	+runhooks
-	strict_toolchain_checks
-	subpixel_rendering
-	+thinlto
-	touchview
-	tpm_dynamic
-	ubsan
-	v4l2_codec
-	v4lplugin
-	vaapi
-	verbose
-	vtable_verify
-	xkbcommon
-	"
-REQUIRED_USE="
-	cfi? ( thinlto )
-	afdo_verify? ( !afdo_use )
-	orderfile_generate? ( !orderfile_use )
-	?? ( goma remoteexec )
-	"
-
-OZONE_PLATFORM_PREFIX=ozone_platform_
-OZONE_PLATFORMS=(gbm cast headless egltest caca)
-IUSE_OZONE_PLATFORMS="${OZONE_PLATFORMS[@]/#/${OZONE_PLATFORM_PREFIX}}"
-IUSE+=" ${IUSE_OZONE_PLATFORMS}"
-OZONE_PLATFORM_DEFAULT_PREFIX=ozone_platform_default_
-IUSE_OZONE_PLATFORM_DEFAULTS="${OZONE_PLATFORMS[@]/#/${OZONE_PLATFORM_DEFAULT_PREFIX}}"
-IUSE+=" ${IUSE_OZONE_PLATFORM_DEFAULTS}"
-REQUIRED_USE+=" ^^ ( ${IUSE_OZONE_PLATFORM_DEFAULTS} )"
-
-# The gclient hooks that run in src_prepare hit the network.
-# https://crbug.com/731905
-RESTRICT="network-sandbox mirror"
-
-# Do not strip the nacl_helper_bootstrap binary because the binutils
-# objcopy/strip mangles the ELF program headers.
-# TODO(mcgrathr,vapier): This should be removed after portage's prepstrip
-# script is changed to use eu-strip instead of objcopy and strip.
-STRIP_MASK+=" */nacl_helper_bootstrap"
-
-# Portage version without optional portage suffix.
-CHROME_VERSION="${PV/_*/}"
-
-# chrome destination directory
-CHROME_DIR=/opt/google/chrome
-D_CHROME_DIR="${D}/${CHROME_DIR}"
-
-# For compilation/local chrome
-BUILDTYPE="${BUILDTYPE:-Release}"
-BOARD="${BOARD:-${SYSROOT##/build/}}"
-BUILD_OUT="${BUILD_OUT:-out_${BOARD}}"
-# WARNING: We are using a symlink now for the build directory to work around
-# command line length limits. This will cause problems if you are doing
-# parallel builds of different boards/variants.
-# Unsetting BUILD_OUT_SYM will revert this behavior
-BUILD_OUT_SYM="c"
-
-UNVETTED_ORDERFILE_LOCATION=${AFDO_GS_DIRECTORY:-"gs://chromeos-toolchain-artifacts/orderfile/unvetted"}
-
-# The following entry will be modified automatically for verifying orderfile or AFDO profile.
-UNVETTED_ORDERFILE=""
-UNVETTED_AFDO_FILE=""
-
-add_orderfiles() {
-	# For verify orderfile, only for a toolchain special build.
-	if [[ -n ${UNVETTED_ORDERFILE} ]]; then
-		SRC_URI+=" orderfile_verify? ( ${UNVETTED_ORDERFILE_LOCATION}/${UNVETTED_ORDERFILE}.xz )"
-	fi
-}
-
-add_orderfiles
-
-RDEPEND="${RDEPEND}
-	app-arch/bzip2
-	app-crypt/mit-krb5
-	app-misc/edid-decode
-	authpolicy? ( chromeos-base/authpolicy )
-	~chromeos-base/chrome-icu-${PV}
-	chromeos-base/gestures
-	chromeos-base/libevdev:=
-	fonts? ( chromeos-base/chromeos-fonts )
-	chrome_internal? ( chromeos-base/quickoffice )
-	dev-libs/nspr
-	>=dev-libs/nss-3.12.2
-	libinput? ( dev-libs/libinput:= )
-	>=media-libs/alsa-lib-1.0.19
-	media-libs/fontconfig
-	media-libs/libsync
-	x11-libs/libdrm
-	ozone_platform_gbm? ( media-libs/minigbm )
-	v4lplugin? ( media-libs/libv4lplugins )
-	>=media-sound/adhd-0.0.1-r310
-	net-print/cups
-	opengl? ( virtual/opengl )
-	opengles? ( virtual/opengles )
-	sys-apps/dbus
-	sys-apps/pciutils
-	virtual/udev
-	sys-libs/libcap
-	chrome_remoting? ( sys-libs/pam )
-	vaapi? ( x11-libs/libva )
-	xkbcommon? (
-		x11-libs/libxkbcommon
-		x11-misc/xkeyboard-config
-	)
-	accessibility? (
-		app-accessibility/brltty
-		app-accessibility/espeak-ng
-		app-accessibility/googletts
-	)
-	libcxx? (
-		sys-libs/libcxxabi
-		sys-libs/libcxx
-	)
-	oobe_config? ( chromeos-base/oobe_config )
-	iioservice? ( chromeos-base/iioservice )
-	"
-
-DEPEND="${DEPEND}
-	${RDEPEND}
-	chromeos-base/protofiles
-	>=dev-util/gperf-3.0.3
-	>=dev-util/pkgconfig-0.23
-	arm? ( x11-libs/libdrm )
-"
-
-PATCHES=()
-
-AUTOTEST_COMMON="src/chrome/test/chromeos/autotest/files"
-AUTOTEST_DEPS="${AUTOTEST_COMMON}/client/deps"
-AUTOTEST_DEPS_LIST="chrome_test telemetry_dep"
-
-IUSE="${IUSE} +autotest"
-
-
-QA_TEXTRELS="*"
-QA_EXECSTACK="*"
-QA_PRESTRIPPED="*"
-
-use_nacl() {
-	# 32bit asan conflicts with nacl: crosbug.com/38980
-	! (use asan && [[ ${ARCH} == "x86" ]]) && \
-	! use component_build && use nacl
-}
-
-# Like the `usex` helper:
-# Usage: echox [int] [echo-if-true] [echo-if-false]
-# If [int] is 0, then echo the 2nd arg (default of yes), else
-# echo the 3rd arg (default of no).
-echox() {
-	# Like the `usex` helper.
-	[[ ${1:-$?} -eq 0 ]] && echo "${2:-yes}" || echo "${3:-no}"
-}
-echotf() { echox ${1:-$?} true false ; }
-usetf()  { usex $1 true false ; }
-
-use_remoteexec() {
-	[[ "${USE_REMOTEEXEC:-$(usetf remoteexec)}" == "true" ]]
-}
-
-use_goma() {
-	[[ "${USE_GOMA:-$(usetf goma)}" == "true" ]]
-}
-
-should_upload_build_logs() {
-	[[ -n "${GOMA_TMP_DIR}" && -n "${GLOG_log_dir}" && \
-		"${GLOG_log_dir}" == "${GOMA_TMP_DIR}"* ]]
-}
-
-set_build_args() {
-	# use goma_thinlto says that if we are using Goma and ThinLTO, use
-	# Goma for distributed code generation. So only set the corresponding
-	# gn arg to true if all three conditions are met.
-	use_goma_thin_lto=$(use goma_thinlto && use_goma && use thinlto; echotf)
-	BUILD_ARGS=(
-		"is_chromeos_device=true"
-		# is_official_build sometimes implies extra optimizations (e.g. it will allow
-		# ThinLTO to optimize more aggressively, if ThinLTO is enabled). Please note
-		# that, despite the name, it should be usable by external users.
-		#
-		# Sanitizers don't like official builds.
-		"is_official_build=$(use_sanitizers false true)"
-
-		"is_debug=false"
-		"${EXTRA_GN_ARGS}"
-		"enable_pseudolocales=$(usetf cros-debug)"
-		"use_arc_protected_media=$(usetf amd_oemcrypto)"
-		"use_chromeos_protected_av1=$(usetf intel_oemcrypto)"
-		"use_chromeos_protected_media=$(usetf cdm_factory_daemon)"
-		"use_iioservice=$(usetf iioservice)"
-		"use_v4l2_codec=$(usetf v4l2_codec)"
-		"use_v4lplugin=$(usetf v4lplugin)"
-		"use_vaapi=$(usetf vaapi)"
-		"use_xkbcommon=$(usetf xkbcommon)"
-		"enable_remoting=$(usetf chrome_remoting)"
-		"enable_nacl=$(use_nacl; echotf)"
-		# use_system_minigbm is set below.
-
-		"is_cfm=$(usetf cfm)"
-
-		# Clang features.
-		"is_asan=$(usetf asan)"
-		"is_msan=$(usetf msan)"
-		"is_ubsan=$(usetf ubsan)"
-		"is_clang=true"
-		"use_thin_lto=$(usetf thinlto)"
-		"use_goma_thin_lto=${use_goma_thin_lto}"
-		"is_cfi=$(usetf cfi)"
-		"use_dwarf5=$(usetf dwarf5)"
-
-		# Assistant integration tests are only run on the Chromium bots,
-		# but they increase the size of libassistant.so by 1.3MB so we
-		# disable them here.
-		"enable_assistant_integration_tests=false"
-
-		# Generate debug info necessary for AutoFDO.
-		"clang_emit_debug_info_for_profiling=true"
-
-		# Add libinput to handle touchpad.
-		"use_libinput=$(usetf libinput)"
-
-		# Enable NSS slots software fallback when we are using runtime TPM selection.
-		"nss_slots_software_fallback=$(usetf tpm_dynamic)"
-
-		# Add hardware information to feedback logs and chrome://system.
-		"is_chromeos_with_hw_details=$(usetf hw_details)"
-	)
-
-	# BUILD_STRING_ARGS needs appropriate quoting. So, we keep them separate and
-	# add them to BUILD_ARGS at the end.
-	BUILD_STRING_ARGS=(
-		"target_sysroot=${SYSROOT}"
-		"system_libdir=$(get_libdir)"
-		"pkg_config=$(tc-getPKG_CONFIG)"
-		"target_os=chromeos"
-		"host_pkg_config=$(tc-getBUILD_PKG_CONFIG)"
-		"clang_diagnostic_dir=/tmp/clang_crash_diagnostics"
-	)
-	use internal_gles_conform && BUILD_ARGS+=( "internal_gles2_conform_tests=true" )
-
-	# Ozone platforms.
-	local platform
-	for platform in ${OZONE_PLATFORMS[@]}; do
-		local flag="${OZONE_PLATFORM_DEFAULT_PREFIX}${platform}"
-		if use "${flag}"; then
-			BUILD_STRING_ARGS+=( "ozone_platform=${platform}" )
-		fi
-	done
-	BUILD_ARGS+=(
-		"ozone_auto_platforms=false"
-	)
-	for platform in ${IUSE_OZONE_PLATFORMS}; do
-		if use "${platform}"; then
-			BUILD_ARGS+=( "${platform}=true" )
-		fi
-	done
-	if use "ozone_platform_gbm"; then
-		BUILD_ARGS+=( "use_system_minigbm=true" )
-		BUILD_ARGS+=( "use_system_libdrm=true" )
-	fi
-	if ! use "subpixel_rendering" || use "touchview"; then
-		BUILD_ARGS+=( "subpixel_font_rendering_disabled=true" )
-	fi
-
-	# Set proper build args for the arch
-	case "${ARCH}" in
-	x86)
-		BUILD_STRING_ARGS+=( "target_cpu=x86" )
-		;;
-	arm)
-		BUILD_ARGS+=(
-			"arm_use_neon=$(usetf neon)"
-			# To workaround the 4GB debug limit. crbug.com/792999.
-			"blink_symbol_level=1"
-		)
-		BUILD_STRING_ARGS+=(
-			"target_cpu=arm"
-			"arm_float_abi=hard"
-		)
-		local arm_arch=$(get-flag march)
-		if [[ -n "${arm_arch}" ]]; then
-			BUILD_STRING_ARGS+=( "arm_arch=${arm_arch}" )
-		fi
-		;;
-	arm64)
-		BUILD_STRING_ARGS+=(
-			"target_cpu=arm64"
-		)
-		local arm_arch=$(get-flag march)
-		if [[ -n "${arm_arch}" ]]; then
-			BUILD_STRING_ARGS+=( "arm_arch=${arm_arch}" )
-		fi
-		;;
-	amd64)
-		BUILD_STRING_ARGS+=( "target_cpu=x64" )
-		;;
-	mips)
-		local mips_arch target_arch
-
-		mips_arch="$($(tc-getCPP) ${CFLAGS} ${CPPFLAGS} -E -P - <<<_MIPS_ARCH)"
-		# Strip away any enclosing quotes.
-		mips_arch="${mips_arch//\"}"
-		# TODO(benchan): Use tc-endian from toolchain-func to determine endianess
-		# when Chrome later cares about big-endian.
-		case "${mips_arch}" in
-		mips64*)
-			target_arch=mips64el
-			;;
-		*)
-			target_arch=mipsel
-			;;
-		esac
-
-		BUILD_STRING_ARGS+=(
-			"target_cpu=${target_arch}"
-			"mips_arch_variant=${mips_arch}"
-		)
-		;;
-	*)
-		die "Unsupported architecture: ${ARCH}"
-		;;
-	esac
-
-	if use chrome_internal; then
-		# Adding chrome branding specific variables.
-		BUILD_ARGS+=( "is_chrome_branded=true" )
-		# This test can only be build from internal sources.
-		BUILD_ARGS+=( "internal_gles2_conform_tests=true" )
-		export CHROMIUM_BUILD='_google_Chrome'
-		export OFFICIAL_BUILD='1'
-		export CHROME_BUILD_TYPE='_official'
-	elif use chrome_media; then
-		echo "Building Chromium with additional media codecs and containers."
-		BUILD_ARGS+=( "proprietary_codecs=true" )
-		BUILD_STRING_ARGS+=( "ffmpeg_branding=ChromeOS" )
-	fi
-
-	if use component_build; then
-		BUILD_ARGS+=( "is_component_build=true" )
-	fi
-	if use_goma; then
-		BUILD_ARGS+=( "use_goma=true" )
-		BUILD_STRING_ARGS+=( "goma_dir=${GOMA_DIR:-/home/${WHOAMI}/goma}" )
-
-		# Goma compiler proxy runs outside of portage build.
-		# Practically, because TMPDIR is set in portage, it is
-		# different from the directory used when the compiler proxy
-		# started.
-		# If GOMA_TMP_DIR is not set, the compiler proxy uses
-		# TMPDIR/goma_${WHOAMI} for its tmpdir as fallback, which
-		# causes unexpected behavior.
-		# Specifically, named socket used to communicate with compiler
-		# proxy is ${GOMA_TMP_DIR}/goma.ipc by default, so the compiler
-		# proxy cannot be reached.
-		# Thus, here set GOMA_TMP_DIR to /tmp/goma_${WHOAMI} if it is
-		# not yet set.
-		if [[ -z "${GOMA_TMP_DIR}" ]]; then
-			export GOMA_TMP_DIR="/tmp/goma_${WHOAMI}"
-		fi
-	fi
-
-	if use_remoteexec; then
-		BUILD_ARGS+=(
-			"use_remoteexec=true"
-			"use_rbe=true"
-		)
-		BUILD_STRING_ARGS+=(
-			"rbe_cc_cfg_file=${CHROME_ROOT}/src/buildtools/reclient_cfgs/rewrapper_chroot_compile.cfg"
-		)
-	fi
-
-	if use chrome_debug; then
-		# Use debug fission to avoid 4GB limit of ELF32 (see crbug.com/595763).
-		# Using -g1 causes problems with crash server (see crbug.com/601854).
-		# Disable debug_fission for bots which generate AFDO profile. (see crbug.com/704602).
-		local debug_level=2
-		if use arm && ! use debug_fission; then
-			# Limit debug info to -g1 to keep the binary size within 4GB.
-			# Production builds do not use "-debug_fission". But it is used
-			# by the AFDO builders and AFDO tools are fine with debug_level=1.
-			debug_level=1
-		fi
-		BUILD_ARGS+=(
-			"use_debug_fission=$(usetf debug_fission)"
-			"symbol_level=${debug_level}"
-		)
-		if use debug_fission; then
-			# The breakpad cannot handle the debug files generated by
-			# llvm and debug fission properly. crosbug.com/710605
-			append-flags -fno-split-dwarf-inlining
-		fi
-	fi
-
-	# dcheck_always_on may default to true depending on the value of args
-	# above, which we might not want. So let the chrome_dcheck USE flag
-	# determine its value.
-	BUILD_ARGS+=("dcheck_always_on=$(usetf chrome_dcheck)")
-}
-
-unpack_chrome() {
-	# Add depot_tools to PATH, local chroot builds fail otherwise.
-	export PATH=${PATH}:${DEPOT_TOOLS}
-
-	local cmd=( "${CHROMITE_BIN_DIR}"/sync_chrome )
-	use chrome_internal && cmd+=( --internal )
-	if [[ "${CHROME_VERSION}" != "9999" ]]; then
-		cmd+=( "--tag=${CHROME_VERSION}" )
-	fi
-	# --reset tells sync_chrome to blow away local changes and to feel
-	# free to delete any directories that get in the way of syncing. This
-	# is needed for unattended operation.
-	cmd+=( --reset "--gclient=${EGCLIENT}" "${CHROME_DISTDIR}" )
-	elog "${cmd[*]}"
-	# TODO(crbug.com/1103048): Disable the sandbox when syncing the code.
-	# It seems to break gclient execution at random for unknown reasons.
-	# Children stop being tracked, or no git repos actually get cloned.
-	SANDBOX_ON=0 "${cmd[@]}" || die
-}
-
-decide_chrome_origin() {
-	if [[ "${PV}" == "9999" ]]; then
-		# LOCAL_SOURCE is the default for cros_workon.
-		# Warn the user if CHROME_ORIGIN is already set.
-		if [[ -n "${CHROME_ORIGIN}" && "${CHROME_ORIGIN}" != LOCAL_SOURCE ]]; then
-			ewarn "CHROME_ORIGIN is already set to ${CHROME_ORIGIN}."
-			ewarn "This will prevent you from building from your local checkout."
-			ewarn "Please run 'unset CHROME_ORIGIN' to reset Chrome"
-			ewarn "to the default source location."
-		fi
-		: "${CHROME_ORIGIN:=LOCAL_SOURCE}"
-	else
-		# By default, pull from server.
-		: "${CHROME_ORIGIN:=SERVER_SOURCE}"
-	fi
-}
-
-sandboxless_ensure_directory() {
-	local dir
-	for dir in "$@"; do
-		if [[ ! -d "${dir}" ]] ; then
-			# We need root access to create these directories, so we need to
-			# use sudo. This implicitly disables the sandbox.
-			sudo mkdir -p "${dir}" || die
-			sudo chown "${PORTAGE_USERNAME}:portage" "${dir}" || die
-			sudo chmod 0755 "${dir}" || die
-		fi
-	done
-}
-
-src_unpack() {
-	echo
-	ewarn "If you want to develop or hack on the browser itself, you should follow the"
-	ewarn "simple chrome workflow instead of using emerge:"
-	ewarn "https://chromium.googlesource.com/chromiumos/docs/+/master/simple_chrome_workflow.md"
-	echo
-
-	tc-export CC CXX
-	local WHOAMI=$(whoami)
-
-	CHROME_SRC="chrome-src"
-	if use chrome_internal; then
-		CHROME_SRC+="-internal"
-	fi
-
-	# CHROME_CACHE_DIR is used for storing output artifacts, and is always a
-	# regular directory inside the chroot (i.e. it's never mounted in, so it's
-	# always safe to use cp -al for these artifacts).
-	: "${CHROME_CACHE_DIR:="/var/cache/chromeos-chrome/${CHROME_SRC}"}"
-	addwrite "${CHROME_CACHE_DIR}"
-
-	# CHROME_DISTDIR is used for storing the source code, if any source code
-	# needs to be unpacked at build time (e.g. in the SERVER_SOURCE scenario.)
-	# It will be mounted into the chroot, so it is never safe to use cp -al
-	# for these files.
-	: "${CHROME_DISTDIR:="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/${CHROME_SRC}"}"
-	addwrite "${CHROME_DISTDIR}"
-
-	# Create storage directories.
-	sandboxless_ensure_directory "${CHROME_DISTDIR}" "${CHROME_CACHE_DIR}"
-
-	cros-credentials_setup
-
-	decide_chrome_origin
-
-	case "${CHROME_ORIGIN}" in
-	LOCAL_SOURCE|SERVER_SOURCE|LOCAL_BINARY)
-		einfo "CHROME_ORIGIN VALUE is ${CHROME_ORIGIN}"
-		;;
-	*)
-		die "CHROME_ORIGIN not one of LOCAL_SOURCE, SERVER_SOURCE, LOCAL_BINARY"
-		;;
-	esac
-
-	# Prepare and set CHROME_ROOT based on CHROME_ORIGIN.
-	# CHROME_ROOT is the location where the source code is used for compilation.
-	# If we're in SERVER_SOURCE mode, CHROME_ROOT is CHROME_DISTDIR. In LOCAL_SOURCE
-	# mode, this directory may be set manually to any directory. It may be mounted
-	# into the chroot, so it is not safe to use cp -al for these files.
-	# These are set here because $(whoami) returns the proper user here,
-	# but 'root' at the root level of the file
-	case "${CHROME_ORIGIN}" in
-	(SERVER_SOURCE)
-		elog "Using CHROME_VERSION = ${CHROME_VERSION}"
-		if [[ ${WHOAMI} == "chrome-bot" ]]; then
-			# TODO: Should add a sanity check that the version checked out is
-			# what we actually want.  Not sure how to do that though.
-			elog "Skipping syncing as cbuildbot ran SyncChrome for us."
-		else
-			unpack_chrome
-		fi
-
-		elog "set the chrome source root to ${CHROME_DISTDIR}"
-		elog "From this point onwards there is no difference between \
-			SERVER_SOURCE and LOCAL_SOURCE, since the fetch is done"
-		CHROME_ROOT=${CHROME_DISTDIR}
-		;;
-	(LOCAL_SOURCE)
-		: ${CHROME_ROOT:=/home/${WHOAMI}/chrome_root}
-		if [[ ! -d "${CHROME_ROOT}/src" ]]; then
-			die "${CHROME_ROOT} does not contain a valid chromium checkout!"
-		fi
-		addwrite "${CHROME_ROOT}"
-		;;
-	esac
-
-	case "${CHROME_ORIGIN}" in
-	LOCAL_SOURCE|SERVER_SOURCE)
-		set_build_args
-		;;
-	esac
-
-	# FIXME: This is the normal path where ebuild stores its working data.
-	# Chrome builds inside distfiles because of speed, so we at least make
-	# a symlink here to add compatibility with autotest eclass which uses this.
-	ln -sf "${CHROME_ROOT}" "${WORKDIR}/${P}"
-
-	if use internal_gles_conform; then
-		local CHROME_GLES2_CONFORM=${CHROME_ROOT}/src/third_party/gles2_conform
-		local CROS_GLES2_CONFORM=/home/${WHOAMI}/trunk/src/third_party/gles2_conform
-		if [[ ! -d "${CHROME_GLES2_CONFORM}" ]]; then
-			if [[ -d "${CROS_GLES2_CONFORM}" ]]; then
-				ln -s "${CROS_GLES2_CONFORM}" "${CHROME_GLES2_CONFORM}"
-				einfo "Using GLES2 conformance test suite from ${CROS_GLES2_CONFORM}"
-			else
-				die "Trying to build GLES2 conformance test suite without ${CHROME_GLES2_CONFORM} or ${CROS_GLES2_CONFORM}"
-			fi
-		fi
-	fi
-
-	if use afdo_use; then
-		# Use AFDO profile downloaded in Chromium source code
-		# If needed profiles other than "silvermont", please set the variable
-		# ${AFDO_PROFILE_SOURCE} accordingly.
-		local afdo_src="${AFDO_PROFILE_SOURCE:-atom}"
-		BUILD_ARGS+=( "clang_use_default_sample_profile=true" )
-		BUILD_STRING_ARGS+=( "chromeos_afdo_platform=${afdo_src}" )
-	fi
-
-	# Use to verify a local unvetted AFDO file.
-	if use afdo_verify; then
-		if [[ ! -e "${UNVETTED_AFDO_FILE}" ]]; then
-			die "Cannot find ${UNVETTED_AFDO_FILE} to build Chrome."
-		fi
-		BUILD_STRING_ARGS+=( "clang_sample_profile_path=${UNVETTED_AFDO_FILE}" )
-	fi
-
-	# Unpack unvetted orderfile.
-	if use orderfile_verify; then
-		local orderfile_dir="${WORKDIR}/orderfile"
-		mkdir "${orderfile_dir}"
-		local orderfile_file=${UNVETTED_ORDERFILE}
-		(cd "${orderfile_dir}" && unpack "${orderfile_file}.xz") || die
-
-		local orderfile_loc="${orderfile_dir}/${orderfile_file}"
-		einfo "Using ${orderfile_loc} as orderfile for ordering Chrome"
-
-		# Pass the path to orderfile to GN args.
-		BUILD_STRING_ARGS+=( "chrome_orderfile_path=${orderfile_loc}" )
-	fi
-
-	if ! use orderfile_use; then
-		# If not using orderfile, override the default orderfile path to empty.
-		BUILD_STRING_ARGS+=( "chrome_orderfile_path=" )
-	fi
-}
-
-add_api_keys() {
-	# awk script to extract the values out of the file.
-	local EXTRACT="{ gsub(/[',]/, \"\", \$2); print \$2 }"
-	local api_key=$(awk "/google_api_key/ ${EXTRACT}" "$1")
-	local client_id=$(awk "/google_default_client_id/ ${EXTRACT}" "$1")
-	local client_secret=$(awk "/google_default_client_secret/ ${EXTRACT}" "$1")
-
-	BUILD_STRING_ARGS+=(
-		"google_api_key=${api_key}"
-		"google_default_client_id=${client_id}"
-		"google_default_client_secret=${client_secret}"
-	)
-}
-
-src_prepare() {
-	# Must call eapply_user in EAPI 7, but this function is a no-op here.
-	eapply_user
-
-	if [[ "${CHROME_ORIGIN}" != "LOCAL_SOURCE" &&
-			"${CHROME_ORIGIN}" != "SERVER_SOURCE" ]]; then
-		return
-	fi
-
-	elog "${CHROME_ROOT} should be set here properly"
-	cd "${CHROME_ROOT}/src" || die "Cannot chdir to ${CHROME_ROOT}"
-
-	# We do symlink creation here if appropriate.
-	mkdir -p "${CHROME_CACHE_DIR}/src/${BUILD_OUT}"
-	if [[ ! -z "${BUILD_OUT_SYM}" ]]; then
-		rm -rf "${BUILD_OUT_SYM}" || die "Could not remove symlink"
-		ln -sfT "${CHROME_CACHE_DIR}/src/${BUILD_OUT}" "${BUILD_OUT_SYM}" ||
-			die "Could not create symlink for output directory"
-	fi
-
-
-	# Apply patches for non-localsource builds.
-	if [[ "${CHROME_ORIGIN}" == "SERVER_SOURCE" && ${#PATCHES[@]} -gt 0 ]]; then
-		eapply "${PATCHES[@]}"
-	fi
-
-	local WHOAMI=$(whoami)
-	# Get the credentials to fake home directory so that the version of chromium
-	# we build can access Google services. First, check for Chrome credentials.
-	if [[ ! -d google_apis/internal ]]; then
-		# Then look for Chrome OS supplied credentials.
-		local PRIVATE_OVERLAYS_DIR=/home/${WHOAMI}/trunk/src/private-overlays
-		local GAPI_CONFIG_FILE=${PRIVATE_OVERLAYS_DIR}/chromeos-overlay/googleapikeys
-		if [[ ! -f "${GAPI_CONFIG_FILE}" ]]; then
-			# Then developer credentials.
-			GAPI_CONFIG_FILE=/home/${WHOAMI}/.googleapikeys
-		fi
-		if [[ -f "${GAPI_CONFIG_FILE}" ]]; then
-			add_api_keys "${GAPI_CONFIG_FILE}"
-		fi
-	fi
-}
-
-setup_test_lists() {
-	TEST_FILES=(
-		capture_unittests
-		dawn_end2end_tests
-		dawn_unittests
-		gl_tests
-		jpeg_decode_accelerator_unittest
-		ozone_gl_unittests
-		sandbox_linux_unittests
-		wayland_client_integration_tests
-		wayland_client_perftests
-	)
-
-	TEST_FILES+=( ppapi/examples/video_decode )
-
-	if use vaapi || use v4l2_codec; then
-		TEST_FILES+=(
-			image_processor_test
-			jpeg_encode_accelerator_unittest
-			video_decode_accelerator_perf_tests
-			video_decode_accelerator_tests
-			video_encode_accelerator_perf_tests
-			video_encode_accelerator_tests
-		)
-	fi
-
-	if use vaapi; then
-		TEST_FILES+=(
-			decode_test
-			vaapi_unittest
-		)
-	fi
-
-	if use v4l2_codec; then
-		TEST_FILES+=(
-			v4l2_stateless_decoder
-		)
-	fi
-
-	# TODO(ihf): Figure out how to keep this in sync with telemetry.
-	TOOLS_TELEMETRY_BIN=(
-		bitmaptools
-		clear_system_cache
-		minidump_stackwalk
-	)
-
-	PPAPI_TEST_FILES=(
-		lib{32,64}
-		mock_nacl_gdb
-		ppapi_nacl_tests_{newlib,glibc}.nmf
-		ppapi_nacl_tests_{newlib,glibc}_{x32,x64,arm,arm64}.nexe
-		test_case.html
-		test_case.html.mock-http-headers
-		test_page.css
-		test_url_loader_data
-	)
-}
-
-# Handle all CFLAGS/CXXFLAGS/etc... munging here.
-setup_compile_flags() {
-	# Chrome controls its own optimization settings, so this would be a nop
-	# if we were to run it. Leave it here anyway as a grep-friendly marker.
-	# cros_optimize_package_for_speed
-
-	# The chrome makefiles specify -O and -g flags already, so remove the
-	# portage flags.
-	filter-flags -g "-O*"
-
-	# Remove unsupported arm64 linker flag on arm32 builds.
-	# https://crbug.com/889079
-	use arm && filter-flags "-Wl,--fix-cortex-a53-843419"
-
-	# There are some flags we want to only use in the ebuild.
-	# The rest will be exported to the simple chrome workflow.
-	EBUILD_CFLAGS=()
-	EBUILD_CXXFLAGS=()
-	EBUILD_LDFLAGS=()
-
-	if use thinlto; then
-		# if using thinlto, we need to pass the equivalent of
-		# -fdebug-types-section to the backend, to prevent out-of-range
-		# relocations (see
-		# https://bugs.chromium.org/p/chromium/issues/detail?id=1032159).
-		append-ldflags -Wl,-mllvm
-		append-ldflags -Wl,-generate-type-units
-	else
-		# Non-ThinLTO builds with symbol_level=2 may have out-of-range
-		# relocations, too: crbug.com/1050819.
-		append-flags -fdebug-types-section
-	fi
-
-	if use orderfile_generate; then
-		local chrome_outdir="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
-		BUILD_STRING_ARGS+=( "dump_call_chain_clustering_order=${chrome_outdir}/chrome.orderfile.txt" )
-		# Enable call graph profile sort (C3) to generate orderfile.
-		BUILD_ARGS+=( "enable_call_graph_profile_sort=true" )
-	fi
-
-	# Enable std::vector []-operator bounds checking.
-	append-cxxflags -D__google_stl_debug_vector=1
-
-	# Chrome and Chrome OS versions of the compiler may not be in
-	# sync. So, don't complain if Chrome uses a diagnostic
-	# option that is not yet implemented in the compiler version used
-	# by Chrome OS.
-	# Turns out this is only really supported by Clang. See crosbug.com/615466
-	# Add "-faddrsig" flag required to efficiently support "--icf=all".
-	append-flags -faddrsig
-	append-flags -Wno-unknown-warning-option
-	export CXXFLAGS_host+=" -Wno-unknown-warning-option"
-	export CFLAGS_host+=" -Wno-unknown-warning-option"
-	export LDFLAGS_host+=" --unwindlib=libgcc"
-	if use libcxx; then
-		append-cxxflags "-stdlib=libc++"
-		append-ldflags "-stdlib=libc++"
-	fi
-
-	# Workaround: Disable fatal linker warnings on arm64/lld.
-	# https://crbug.com/913071
-	use arm64 && append-ldflags "-Wl,--no-fatal-warnings"
-	# Workaround: Disable fatal linker warnings on arm/lld.
-	# https://crbug.com/1190544
-	use arm && append-ldflags "-Wl,--no-fatal-warnings"
-	use vtable_verify && append-ldflags -fvtable-verify=preinit
-
-	local flags
-	einfo "Building with the compiler settings:"
-	for flags in {C,CXX,CPP,LD}FLAGS; do
-		einfo "  ${flags} = ${!flags}"
-	done
-}
-
-src_configure() {
-	tc-export CXX CC AR AS NM RANLIB STRIP
-	export CC_host=$(tc-getBUILD_CC)
-	export CXX_host=$(tc-getBUILD_CXX)
-	export NM_host=$(tc-getBUILD_NM)
-	export READELF="llvm-readelf"
-	export READELF_host="llvm-readelf"
-
-	# Use C++ compiler as the linker driver.
-	export LD="${CXX}"
-	export LD_host=${CXX_host}
-
-	# We need below change when USE="thinlto" is set. We set this globally
-	# so that users can turn on the "use_thin_lto" in the simplechrome
-	# flow more easily.
-	# use nm from llvm, https://crbug.com/917193
-	export NM="llvm-nm"
-	export NM_host="llvm-nm"
-	export AR="llvm-ar"
-	# USE=thinlto affects host build, we need to set host AR to
-	# llvm-ar to make sure host package builds with thinlto.
-	# crbug.com/731335
-	export AR_host="llvm-ar"
-	export RANLIB="llvm-ranlib"
-	# Use llvm's objcopy instead of GNU
-	export OBJCOPY="llvm-objcopy"
-
-	# Set binutils path for goma.
-	CC_host+=" -B$(get_binutils_path "${LD_host}")"
-	CXX_host+=" -B$(get_binutils_path "${LD_host}")"
-
-	setup_compile_flags
-
-	# We might set BOTO_CONFIG in the builder environment in case the
-	# existing file needs modifications (e.g. for working with older
-	# branches). So don't overwrite it if it's already set.
-	# See https://crbug.com/847676 for details.
-	export BOTO_CONFIG="${BOTO_CONFIG:-/home/$(whoami)/.boto}"
-	export PATH=${PATH}:${DEPOT_TOOLS}
-
-	export DEPOT_TOOLS_GSUTIL_BIN_DIR="${CHROME_CACHE_DIR}/gsutil_bin"
-	# The venv logic seems to misbehave when cross-compiling.  Since our SDK
-	# should include all the necessary modules, just disable it (for now).
-	# https://crbug.com/808434
-	export VPYTHON_BYPASS="manually managed python not supported by chrome operations"
-
-	# TODO(rcui): crosbug.com/20435. Investigate removal of runhooks
-	# useflag when chrome build switches to Ninja inside the chroot.
-	if use runhooks; then
-		local cmd=( "${EGCLIENT}" runhooks --force )
-		echo "${cmd[@]}"
-		CFLAGS="${CFLAGS} ${EBUILD_CFLAGS[*]}" \
-		CXXFLAGS="${CXXFLAGS} ${EBUILD_CXXFLAGS[*]}" \
-		LDFLAGS="${LDFLAGS} ${EBUILD_LDFLAGS[*]}" \
-		"${cmd[@]}" || die
-	fi
-
-	BUILD_STRING_ARGS+=(
-		"cros_target_ar=${AR}"
-		"cros_target_cc=${CC}"
-		"cros_target_cxx=${CXX}"
-		"host_toolchain=//build/toolchain/cros:host"
-		"custom_toolchain=//build/toolchain/cros:target"
-		"v8_snapshot_toolchain=//build/toolchain/cros:v8_snapshot"
-		"cros_target_ld=${LD}"
-		"cros_target_nm=${NM}"
-		"cros_target_readelf=${READELF}"
-		"cros_target_extra_cflags=${CFLAGS} ${EBUILD_CFLAGS[*]}"
-		"cros_target_extra_cppflags=${CPPFLAGS}"
-		"cros_target_extra_cxxflags=${CXXFLAGS} ${EBUILD_CXXFLAGS[*]}"
-		"cros_target_extra_ldflags=${LDFLAGS} ${EBUILD_LDFLAGS[*]}"
-		"cros_host_cc=${CC_host}"
-		"cros_host_cxx=${CXX_host}"
-		"cros_host_ar=${AR_host}"
-		"cros_host_ld=${LD_host}"
-		"cros_host_nm=${NM_host}"
-		"cros_host_readelf=${READELF_host}"
-		"cros_host_extra_cflags=${CFLAGS_host}"
-		"cros_host_extra_cxxflags=${CXXFLAGS_host}"
-		"cros_host_extra_cppflags=${CPPFLAGS_host}"
-		"cros_host_extra_ldflags=${LDFLAGS_host}"
-		"cros_v8_snapshot_cc=${CC_host}"
-		"cros_v8_snapshot_cxx=${CXX_host}"
-		"cros_v8_snapshot_ar=${AR_host}"
-		"cros_v8_snapshot_ld=${LD_host}"
-		"cros_v8_snapshot_nm=${NM_host}"
-		"cros_v8_snapshot_readelf=${READELF_host}"
-		"cros_v8_snapshot_extra_cflags=${CFLAGS_host}"
-		"cros_v8_snapshot_extra_cxxflags=${CXXFLAGS_host}"
-		"cros_v8_snapshot_extra_cppflags=${CPPFLAGS_host}"
-		"cros_v8_snapshot_extra_ldflags=${LDFLAGS_host}"
-	)
-
-	local arg
-	for arg in "${BUILD_STRING_ARGS[@]}"; do
-		BUILD_ARGS+=("${arg%%=*}=\"${arg#*=}\"")
-	done
-	export GN_ARGS="${BUILD_ARGS[*]}"
-	einfo "GN_ARGS = ${GN_ARGS}"
-	local gn=(
-		"${CHROME_ROOT}/src/buildtools/linux64/gn" gen
-		"${CHROME_ROOT}/src/${BUILD_OUT_SYM}/${BUILDTYPE}"
-		--args="${GN_ARGS}" --root="${CHROME_ROOT}/src"
-	)
-	echo "${gn[@]}"
-	"${gn[@]}" || die
-
-	setup_test_lists
-
-	if use clang_tidy; then
-		export WITH_TIDY=1
-	fi
-}
-
-chrome_make() {
-	local build_dir="${BUILD_OUT_SYM}/${BUILDTYPE}"
-
-	# If ThinLTO is enabled, we may have a cache from a previous link. Due
-	# to fears about lack of reproducibility, we don't allow cache reuse
-	# across rebuilds. The cache is still useful for artifacts shared
-	# between multiple links done by this build (e.g. tests).
-	use thinlto && rm -rf "${build_dir}/thinlto-cache"
-
-	# If goma or remoteexec is enabled, increase the number of parallel
-	# run to 10 * {number of processors}. Though, if it is too large the
-	# performance gets slow down, so limit by 200 heuristically.
-	if use_goma || use_remoteexec; then
-		local num_parallel=$(($(nproc) * 10))
-		local j_limit=200
-		set -- -j $((num_parallel < j_limit ? num_parallel : j_limit)) "$@"
-	fi
-	local command=(
-		"${ENINJA}"
-		-j"$(makeopts_jobs)"
-		-C "${build_dir}"
-		$(usex verbose -v "")
-		-d "keeprsp"
-		"$@"
-	)
-	# If goma is used, log the command, cwd and env vars, which will be
-	# uploaded to the logging server.
-	if should_upload_build_logs; then
-		env --null > "${GLOG_log_dir}/ninja_env"
-		pwd > "${GLOG_log_dir}/ninja_cwd"
-		echo "${command[@]}" > "${GLOG_log_dir}/ninja_command"
-	fi
-	PATH=${PATH}:${DEPOT_TOOLS} "${command[@]}"
-	local ret=$?
-	if should_upload_build_logs; then
-		echo "${ret}" > "${GLOG_log_dir}/ninja_exit"
-		cp -p "${BUILD_OUT_SYM}/${BUILDTYPE}/.ninja_log" "${GLOG_log_dir}/ninja_log"
-	fi
-	[[ "${ret}" -eq 0 ]] || die
-
-	# Still use a script to check if the orderfile is used properly, i.e.
-	# Builtin_ functions are placed between the markers, etc.
-	if use strict_toolchain_checks && (use orderfile_use || use orderfile_verify); then
-		"${FILESDIR}/check_orderfile.py" "${build_dir}/chrome" || die
-	fi
-}
-
-src_compile() {
-	if [[ "${CHROME_ORIGIN}" != "LOCAL_SOURCE" &&
-			"${CHROME_ORIGIN}" != "SERVER_SOURCE" ]]; then
-		return
-	fi
-
-	cd "${CHROME_ROOT}"/src || die "Cannot chdir to ${CHROME_ROOT}/src"
-
-	local chrome_targets=( $(usex mojo "mojo_shell" "") )
-	if use app_shell; then
-		chrome_targets+=( app_shell )
-	else
-		chrome_targets+=( chrome )
-	fi
-	if use build_tests; then
-		chrome_targets+=(
-			"${TEST_FILES[@]}"
-			"${TOOLS_TELEMETRY_BIN[@]}"
-			chromedriver
-		)
-		if use chrome_internal; then
-			chrome_targets+=( libassistant_debug.so )
-		fi
-	fi
-	use_nacl && chrome_targets+=( nacl_helper_bootstrap nacl_helper )
-
-	chrome_make "${chrome_targets[@]}"
-
-	if use build_tests; then
-		install_chrome_test_resources "${WORKDIR}/test_src"
-		install_telemetry_dep_resources "${WORKDIR}/telemetry_src"
-
-		# NOTE: Since chrome is built inside distfiles, we have to get
-		# rid of the previous instance first.
-		# We remove only what we will overwrite with the mv below.
-		local deps="${WORKDIR}/${P}/${AUTOTEST_DEPS}"
-
-		rm -rf "${deps}/chrome_test/test_src"
-		mv "${WORKDIR}/test_src" "${deps}/chrome_test/"
-
-		rm -rf "${deps}/telemetry_dep/test_src"
-		mv "${WORKDIR}/telemetry_src" "${deps}/telemetry_dep/test_src"
-
-		# The autotest eclass wants this for some reason.
-		get_paths() { :; }
-
-		# HACK: It would make more sense to call autotest_src_prepare in
-		# src_prepare, but we need to call install_chrome_test_resources first.
-		autotest-deponly_src_prepare
-
-		# Remove .git dirs
-		find "${AUTOTEST_WORKDIR}" -type d -name .git -prune -exec rm -rf {} +
-
-		autotest_src_compile
-	fi
-}
-
-install_test_resources() {
-	# Install test resources from chrome source directory to destination.
-	# We keep a cache of test resources inside the chroot to avoid copying
-	# multiple times.
-	local test_dir="${1}"
-	einfo "install_test_resources to ${test_dir}"
-	shift
-
-	# To speed things up, we write the list of files to a temporary file so
-	# we can use rsync with --files-from.
-	local tmp_list_file="${T}/${test_dir##*/}.files"
-	printf "%s\n" "$@" > "${tmp_list_file}"
-
-	# Copy the specific files to the cache from the source directory.
-	# Note: we need to specify -r when using --files-from and -a to get a
-	# recursive copy.
-	# TODO(ihf): Make failures here fatal.
-	rsync -r -a --delete --exclude=.git --exclude="*.pyc" \
-		--files-from="${tmp_list_file}" "${CHROME_ROOT}/src/" \
-		"${CHROME_CACHE_DIR}/src/"
-
-	# Create hard links in the destination based on the cache.
-	# Note: we need to specify -r when using --files-from and -a to get a
-	# recursive copy.
-	# TODO(ihf): Make failures here fatal.
-	rsync -r -a --link-dest="${CHROME_CACHE_DIR}/src" \
-		--files-from="${tmp_list_file}" "${CHROME_CACHE_DIR}/src/" "${test_dir}/"
-}
-
-test_strip_install() {
-	local from="${1}"
-	local dest="${2}"
-	shift 2
-	mkdir -p "${dest}"
-	local f
-	for f in "$@"; do
-		$(tc-getSTRIP) --strip-debug \
-			"${from}"/${f} -o "${dest}/$(basename ${f})"
-	done
-}
-
-install_chrome_test_resources() {
-	# NOTE: This is a duplicate from src_install, because it's required here.
-	local from="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
-	local test_dir="${1}"
-	local dest="${test_dir}/out/Release"
-
-	echo Copying Chrome tests into "${test_dir}"
-
-	# Even if chrome_debug_tests is enabled, we don't need to include detailed
-	# debug info for tests in the binary package, so save some time by stripping
-	# everything but the symbol names. Developers who need more detailed debug
-	# info on the tests can use the original unstripped tests from the ${from}
-	# directory.
-	TEST_INSTALL_TARGETS=(
-		"${TEST_FILES[@]}"
-		"libppapi_tests.so" )
-
-	einfo "Installing test targets: ${TEST_INSTALL_TARGETS[@]}"
-	test_strip_install "${from}" "${dest}" "${TEST_INSTALL_TARGETS[@]}"
-
-	# Copy Chrome test data.
-	mkdir -p "${dest}"/test_data
-	# WARNING: Only copy subdirectories of |test_data|.
-	# The full |test_data| directory is huge and kills our VMs.
-	# Example:
-	# cp -al "${from}"/test_data/<subdir> "${test_dir}"/out/Release/<subdir>
-
-	for f in "${PPAPI_TEST_FILES[@]}"; do
-		cp -al "${from}/${f}" "${dest}"
-	done
-
-	# Install Chrome test resources.
-	# WARNING: Only install subdirectories of |chrome/test|.
-	# The full |chrome/test| directory is huge and kills our VMs.
-	install_test_resources "${test_dir}" \
-		base/base_paths_posix.cc \
-		chrome/test/data/chromeos \
-		chrome/test/functional \
-		chrome/third_party/mock4js/mock4js.js  \
-		content/common/gpu/testdata \
-		media/test/data \
-		content/test/data \
-		net/data/ssl/certificates \
-		ppapi/tests/test_case.html \
-		ppapi/tests/test_url_loader_data \
-		third_party/bidichecker/bidichecker_packaged.js \
-		third_party/accessibility-developer-tools/gen/axs_testing.js
-
-	# Add the pdf test data if needed.
-	if use chrome_internal; then
-		install_test_resources "${test_dir}" pdf/test
-	fi
-	# Add the gles_conform test data if needed.
-	if use chrome_internal || use internal_gles_conform; then
-		install_test_resources "${test_dir}" gpu/gles2_conform_support/gles2_conform_test_expectations.txt
-	fi
-
-	cp -a "${CHROME_ROOT}"/"${AUTOTEST_DEPS}"/chrome_test/setup_test_links.sh \
-		"${dest}"
-}
-
-install_telemetry_dep_resources() {
-	local test_dir="${1}"
-
-	TELEMETRY=${CHROME_ROOT}/src/third_party/catapult/telemetry
-	if [[ -r "${TELEMETRY}" ]]; then
-		echo "Copying Telemetry Framework into ${test_dir}"
-		mkdir -p "${test_dir}"
-		# We are going to call chromium code but can't trust that it is clean
-		# of precompiled code. See crbug.com/590762.
-		find "${TELEMETRY}" -name "*.pyc" -type f -delete
-		# Get deps from Chrome.
-		FIND_DEPS=${CHROME_ROOT}/src/tools/perf/find_dependencies
-		PERF_DEPS=${CHROME_ROOT}/src/tools/perf/bootstrap_deps
-		CROS_DEPS=${CHROME_ROOT}/src/tools/cros/bootstrap_deps
-		# sed removes the leading path including src/ converting it to relative.
-		# To avoid silent failures assert the success.
-		DEPS_LIST=$(python ${FIND_DEPS} ${PERF_DEPS} ${CROS_DEPS} | \
-			sed -e 's|^'${CHROME_ROOT}/src/'||'; assert)
-		install_test_resources "${test_dir}" "${DEPS_LIST}"
-		# For crosperf, which uses some tests only available on internal builds.
-		if use chrome_internal; then
-			install_test_resources "${test_dir}" \
-				data/page_cycler/morejs \
-				data/page_cycler/moz
-		fi
-	fi
-
-	local from="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
-	local dest="${test_dir}/src/out/${BUILDTYPE}"
-	einfo "Installing telemetry binaries: ${TOOLS_TELEMETRY_BIN[@]}"
-	test_strip_install "${from}" "${dest}" "${TOOLS_TELEMETRY_BIN[@]}"
-
-	# When copying only a portion of the Chrome source that telemetry needs,
-	# some symlinks can end up broken. Thus clean these up before packaging.
-	find -L "${test_dir}" -type l -delete
-}
-
-# Add any new artifacts generated by the Chrome build targets to deploy_chrome.py.
-# We deal with miscellaneous artifacts here in the ebuild.
-src_install() {
-	FROM="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
-
-	# Override default strip flags and lose the '-R .comment'
-	# in order to play nice with the crash server.
-	if [[ -z "${KEEP_CHROME_DEBUG_SYMBOLS}" ]]; then
-		if [[ "${STRIP}" == "llvm-strip" ]]; then
-			export PORTAGE_STRIP_FLAGS="--strip-all-gnu"
-		else
-			export PORTAGE_STRIP_FLAGS=""
-		fi
-	else
-		export PORTAGE_STRIP_FLAGS="--strip-debug"
-	fi
-	einfo "PORTAGE_STRIP_FLAGS=${PORTAGE_STRIP_FLAGS}"
-	LS=$(ls -alhS ${FROM})
-	einfo "CHROME_DIR after build\n${LS}"
-
-	# Copy a D-Bus config file that includes other configs that are installed to
-	# /opt/google/chrome/dbus by deploy_chrome.
-	insinto /etc/dbus-1/system.d
-	doins "${FILESDIR}"/chrome.conf
-
-	# Copy Quickoffice resources for official build.
-	# Quickoffice is not yet available for arm64, https://crbug.com/881489
-	if use chrome_internal && [[ "${ARCH}" != "arm64" ]]; then
-		local qo_install_root="/usr/share/chromeos-assets/quickoffice"
-		insinto "${qo_install_root}"
-		QUICKOFFICE="${CHROME_ROOT}"/src/chrome/browser/resources/chromeos/quickoffice
-		doins -r "${QUICKOFFICE}"/_locales
-		doins -r "${QUICKOFFICE}"/css
-		doins -r "${QUICKOFFICE}"/img
-		doins -r "${QUICKOFFICE}"/plugin
-		doins -r "${QUICKOFFICE}"/scripts
-		doins -r "${QUICKOFFICE}"/views
-
-		local qo_path=""
-		case "${ARCH}" in
-		arm)
-			qo_path="${QUICKOFFICE}"/_platform_specific/arm
-			;;
-		amd64)
-			qo_path="${QUICKOFFICE}"/_platform_specific/x86_64
-			;;
-		*)
-			die "Unsupported architecture: ${ARCH}"
-			;;
-		esac
-
-		# Compress the platform-specific NaCl binaries with squashfs to
-		# save space on the rootfs.
-		# - compress with LZO and 1M blocks to optimize trade-off
-		# between compression ratio and decompression speed.
-		# - use "-keep-as-directory" option so the squash file will
-		# include the folder with the name of the CPU architecture,
-		# which is expected by the scripts on device.
-		# - use "-root-mode 0755" to ensure that the mountpoint has
-		# permissions 0755 instead of the default 0777.
-		# - use "-4k-align" option so individual files inside the squash
-		# file will be aligned to 4K blocks, which improves the
-		# efficiency of the delta updates.
-		mksquashfs "${qo_path}" "${WORKDIR}/quickoffice.squash" \
-			-all-root -noappend -no-recovery -no-exports \
-			-exit-on-error -comp lzo -b 1M -keep-as-directory \
-			-4k-align -root-mode 0755 -no-progress \
-			|| die "Failed to create Quickoffice squashfs"
-
-		# The squashfs will be mounted at boot time by an upstart script
-		# installed by chromeos-base/quickoffice.
-		doins "${WORKDIR}/quickoffice.squash"
-	fi
-
-	# Chrome test resources
-	# Test binaries are only available when building chrome from source
-	if use build_tests && [[ "${CHROME_ORIGIN}" == "LOCAL_SOURCE" ||
-		"${CHROME_ORIGIN}" == "SERVER_SOURCE" ]]; then
-		autotest-deponly_src_install
-		#env -uRESTRICT prepstrip "${D}${AUTOTEST_BASE}"
-	fi
-
-	# Copy input_methods.txt for XkbToKcmConverter & auto-test.
-	if [[ "${CHROME_ORIGIN}" == "LOCAL_SOURCE" ||
-			"${CHROME_ORIGIN}" == "SERVER_SOURCE" ]]; then
-		insinto /usr/share/chromeos-assets/input_methods
-		sed -E -e '/^#/d' -e '/^$/d' -e 's:  +: :g' \
-			"${CHROME_ROOT}"/src/chromeos/ime/input_methods.txt > "${T}/input_methods.txt" || die
-		doins "${T}/input_methods.txt"
-	fi
-
-	# Fix some perms.
-	# TODO(rcui): Remove this - shouldn't be needed, and is just covering up
-	# potential permissions bugs.
-	chmod -R a+r "${D}"
-	find "${D}" -perm /111 -print0 | xargs -0 chmod a+x
-
-	# The following symlinks are needed in order to run chrome.
-	# TODO(rcui): Remove this.  Not needed for running Chrome.
-	dosym libnss3.so /usr/lib/libnss3.so.1d
-	dosym libnssutil3.so.12 /usr/lib/libnssutil3.so.1d
-	dosym libsmime3.so.12 /usr/lib/libsmime3.so.1d
-	dosym libssl3.so.12 /usr/lib/libssl3.so.1d
-	dosym libplds4.so /usr/lib/libplds4.so.0d
-	dosym libplc4.so /usr/lib/libplc4.so.0d
-	dosym libnspr4.so /usr/lib/libnspr4.so.0d
-
-	# Create the main Chrome install directory.
-	dodir "${CHROME_DIR}"
-	insinto "${CHROME_DIR}"
-
-	# Install the orderfile into the chrome directory
-	if use orderfile_generate; then
-		[[ -f "${FROM}/chrome.orderfile.txt" ]] || die "No orderfile generated."
-		doins "${FROM}/chrome.orderfile.txt"
-	fi
-
-	# Install the unvetted orderfile into the chrome directory for upload.
-	if use orderfile_verify; then
-		[[ -f "${DISTDIR}/${UNVETTED_ORDERFILE}.xz" ]] || die "Lost the unvetted orderfile."
-		doins "${DISTDIR}/${UNVETTED_ORDERFILE}.xz"
-	fi
-
-	# Use the deploy_chrome from the *Chrome* checkout.  The benefit of
-	# doing this is if a new buildspec of Chrome requires a non-backwards
-	# compatible change to deploy_chrome, we can commit the fix to
-	# deploy_chrome without breaking existing Chrome OS release builds,
-	# and then roll the DEPS for chromite in the Chrome checkout.
-	#
-	# Another benefit is each version of Chrome will have the right
-	# corresponding version of deploy_chrome.
-	local cmd=( "${CHROME_ROOT}"/src/third_party/chromite/bin/deploy_chrome )
-	# Disable stripping for now, as deploy_chrome doesn't generate splitdebug files.
-	cmd+=(
-		"--board=${BOARD}"
-		"--build-dir=${FROM}"
-		"--gn-args=${GN_ARGS}"
-		# If this is enabled, we need to re-enable `prepstrip` above for autotests.
-		# You'll also have to re-add "strip" to the RESTRICT at the top of the file.
-		--nostrip
-		"--staging-dir=${D_CHROME_DIR}"
-		"--staging-flags=${USE}"
-		--staging-only
-		"--strip-bin=${STRIP}"
-		"--strip-flags=${PORTAGE_STRIP_FLAGS}"
-		--verbose
-	)
-	einfo "${cmd[*]}"
-	"${cmd[@]}" || die
-	LS=$(ls -alhS ${D}/${CHROME_DIR})
-	einfo "CHROME_DIR after deploy_chrome\n${LS}"
-
-	# Keep the .dwp files with debug fission.
-	if use chrome_debug && use debug_fission; then
-		mkdir -p "${D}/usr/lib/debug/${CHROME_DIR}"
-		DWP="${CHOST}"-dwp
-		cd "${D}/${CHROME_DIR}"
-		# Iterate over all ELF files in current directory
-		while read i; do
-			cd "${FROM}"
-			# These files do not build with -gsplit-dwarf,
-			# so we do not need to get a .dwp file from them.
-			if [[ "${i}" == "./libassistant.so"		|| \
-				"${i}" == "./nacl_helper_nonsfi"	|| \
-				"${i}" == "./nacl_helper_bootstrap"	|| \
-				"${i}" == "./nacl_irt_arm.nexe"		|| \
-				"${i}" == "./nacl_irt_x86_64.exe"	|| \
-				"${i}" == "./nacl_irt_x86_64.nexe"	|| \
-				"${i}" == "./libmojo_core_arc64.so"	|| \
-				"${i}" == "./libmojo_core_arc32.so"	|| \
-				"${i}" == "./libwidevinecdm.so" ]] ; then
-				continue
-			fi
-			source="${i}"
-			${DWP} -e "${FROM}/${source}" -o "${D}/usr/lib/debug/${CHROME_DIR}/${i}.dwp" || die
-		done < <(scanelf -ByF '%F' ".")
-	fi
-
-	if use build_tests; then
-		# Install Chrome Driver to test image.
-		local chromedriver_dir='/usr/local/chromedriver'
-		dodir "${chromedriver_dir}"
-		cp -pPR "${FROM}"/chromedriver "${D}/${chromedriver_dir}" || die
-
-		if use chrome_internal; then
-			# Install LibAssistant test library to test image.
-			into /usr/local/
-			dolib.so "${FROM}"/libassistant_debug.so
-		fi
-
-		# Install a testing script to run Lacros from command line.
-		into /usr/local
-		dobin "${CHROME_ROOT}"/src/build/lacros/mojo_connection_lacros_launcher.py
-	fi
-	# The icu data is used by both chromeos-base/chrome-icu and this package.
-	# chromeos-base/chrome-icu is responsible for installing the icu
-	# data, so we remove it from ${D} here.
-	rm "${D_CHROME_DIR}/icudtl.dat" || die
-}
-
-pkg_preinst() {
-	enewuser "wayland"
-	enewgroup "wayland"
-	LS=$(ls -alhS ${ED}/${CHROME_DIR})
-	einfo "CHROME_DIR after installation\n${LS}"
-	CHROME_SIZE=$(stat --printf="%s" ${ED}/${CHROME_DIR}/chrome)
-	einfo "CHROME_SIZE = ${CHROME_SIZE}"
-
-	# Non-internal builds come with >10MB of unwinding info built-in. Size
-	# checks on those are less profitable.
-	if [[ ${CHROME_SIZE} -ge 250000000 && -z "${KEEP_CHROME_DEBUG_SYMBOLS}" ]] && use chrome_internal && ! use chrome_dcheck; then
-		die "Installed chrome binary got suspiciously large (size=${CHROME_SIZE})."
-	fi
-	if use arm; then
-		local files=$(find "${ED}/usr/lib/debug${CHROME_DIR}" -size +$((4 * 1024 * 1024 * 1024 - 1))c)
-		[[ -n ${files} ]] && die "Debug files exceed 4GiB: ${files}"
-	fi
-	# Verify that the elf program headers in splitdebug binary match the chrome
-	# binary, this is needed for correct symbolization in CWP.
-	# b/128861198, https://crbug.com/1007548 .
-	if [[ ${MERGE_TYPE} != binary ]] && use strict_toolchain_checks; then
-		local chrome_headers=$(${READELF} --program-headers --wide \
-			"${ED}/${CHROME_DIR}"/chrome | grep LOAD)
-		local chrome_debug_headers=$(${READELF} --program-headers --wide \
-			"${ED}/usr/lib/debug${CHROME_DIR}"/chrome.debug | grep LOAD)
-		[[ "${chrome_headers}" != "${chrome_debug_headers}" ]] && \
-			die "chrome program headers do not match chrome.debug"
-	fi
-}
-
-pkg_postinst() {
-	autotest_pkg_postinst
-}
diff --git a/chromeos-base/chromeos-chrome/chromeos-chrome-100.0.4880.0_rc-r2.ebuild b/chromeos-base/chromeos-chrome/chromeos-chrome-100.0.4880.0_rc-r2.ebuild
deleted file mode 100644
index d5d300e..0000000
--- a/chromeos-base/chromeos-chrome/chromeos-chrome-100.0.4880.0_rc-r2.ebuild
+++ /dev/null
@@ -1,1447 +0,0 @@
-# Copyright 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-# Usage: by default, downloads chromium browser from the build server.
-# If CHROME_ORIGIN is set to one of {SERVER_SOURCE, LOCAL_SOURCE, LOCAL_BINARY},
-# the build comes from the chromimum source repository (gclient sync),
-# build server, locally provided source, or locally provided binary.
-# If you are using SERVER_SOURCE, a gclient template file that is in the files
-# directory which will be copied automatically during the build and used as
-# the .gclient for 'gclient sync'.
-# If building from LOCAL_SOURCE or LOCAL_BINARY specifying BUILDTYPE
-# will allow you to specify "Debug" or another build type; "Release" is
-# the default.
-
-EAPI=7
-
-# TODO(crbug.com/984182): We force Python 2 because depot_tools doesn't support Python 3.
-PYTHON_COMPAT=( python2_7 )
-inherit autotest-deponly binutils-funcs chromium-source cros-credentials cros-constants cros-sanitizers eutils flag-o-matic git-2 multilib toolchain-funcs user python-any-r1 multiprocessing
-
-DESCRIPTION="Open-source version of Google Chrome web browser"
-HOMEPAGE="http://www.chromium.org/"
-SRC_URI=""
-
-LICENSE="BSD-Google chrome_internal? ( Google-TOS )"
-SLOT="0"
-KEYWORDS="*"
-IUSE="
-	+afdo_use
-	afdo_verify
-	+accessibility
-	amd_oemcrypto
-	app_shell
-	asan
-	+authpolicy
-	+build_tests
-	cdm_factory_daemon
-	+chrome_debug
-	+cfi
-	cfm
-	chrome_debug_tests
-	chrome_dcheck
-	chrome_internal
-	chrome_media
-	+chrome_remoting
-	clang_tidy
-	component_build
-	cros-debug
-	debug_fission
-	+dwarf5
-	+fonts
-	hibernate
-	hw_details
-	goma
-	goma_thinlto
-	+highdpi
-	iioservice
-	intel_oemcrypto
-	internal_gles_conform
-	+libcxx
-	libinput
-	mojo
-	msan
-	+nacl
-	neon
-	+oobe_config
-	opengl
-	opengles
-	orderfile_generate
-	+orderfile_use
-	orderfile_verify
-	remoteexec
-	+runhooks
-	strict_toolchain_checks
-	subpixel_rendering
-	+thinlto
-	touchview
-	tpm_dynamic
-	ubsan
-	v4l2_codec
-	v4lplugin
-	vaapi
-	verbose
-	vtable_verify
-	xkbcommon
-	"
-REQUIRED_USE="
-	cfi? ( thinlto )
-	afdo_verify? ( !afdo_use )
-	orderfile_generate? ( !orderfile_use )
-	?? ( goma remoteexec )
-	"
-
-OZONE_PLATFORM_PREFIX=ozone_platform_
-OZONE_PLATFORMS=(gbm cast headless egltest caca)
-IUSE_OZONE_PLATFORMS="${OZONE_PLATFORMS[@]/#/${OZONE_PLATFORM_PREFIX}}"
-IUSE+=" ${IUSE_OZONE_PLATFORMS}"
-OZONE_PLATFORM_DEFAULT_PREFIX=ozone_platform_default_
-IUSE_OZONE_PLATFORM_DEFAULTS="${OZONE_PLATFORMS[@]/#/${OZONE_PLATFORM_DEFAULT_PREFIX}}"
-IUSE+=" ${IUSE_OZONE_PLATFORM_DEFAULTS}"
-REQUIRED_USE+=" ^^ ( ${IUSE_OZONE_PLATFORM_DEFAULTS} )"
-
-# The gclient hooks that run in src_prepare hit the network.
-# https://crbug.com/731905
-RESTRICT="network-sandbox mirror"
-
-# Do not strip the nacl_helper_bootstrap binary because the binutils
-# objcopy/strip mangles the ELF program headers.
-# TODO(mcgrathr,vapier): This should be removed after portage's prepstrip
-# script is changed to use eu-strip instead of objcopy and strip.
-STRIP_MASK+=" */nacl_helper_bootstrap"
-
-# Portage version without optional portage suffix.
-CHROME_VERSION="${PV/_*/}"
-
-# chrome destination directory
-CHROME_DIR=/opt/google/chrome
-D_CHROME_DIR="${D}/${CHROME_DIR}"
-
-# For compilation/local chrome
-BUILDTYPE="${BUILDTYPE:-Release}"
-BOARD="${BOARD:-${SYSROOT##/build/}}"
-BUILD_OUT="${BUILD_OUT:-out_${BOARD}}"
-# WARNING: We are using a symlink now for the build directory to work around
-# command line length limits. This will cause problems if you are doing
-# parallel builds of different boards/variants.
-# Unsetting BUILD_OUT_SYM will revert this behavior
-BUILD_OUT_SYM="c"
-
-UNVETTED_ORDERFILE_LOCATION=${AFDO_GS_DIRECTORY:-"gs://chromeos-toolchain-artifacts/orderfile/unvetted"}
-
-# The following entry will be modified automatically for verifying orderfile or AFDO profile.
-UNVETTED_ORDERFILE=""
-UNVETTED_AFDO_FILE=""
-
-add_orderfiles() {
-	# For verify orderfile, only for a toolchain special build.
-	if [[ -n ${UNVETTED_ORDERFILE} ]]; then
-		SRC_URI+=" orderfile_verify? ( ${UNVETTED_ORDERFILE_LOCATION}/${UNVETTED_ORDERFILE}.xz )"
-	fi
-}
-
-add_orderfiles
-
-RDEPEND="${RDEPEND}
-	app-arch/bzip2
-	app-crypt/mit-krb5
-	app-misc/edid-decode
-	authpolicy? ( chromeos-base/authpolicy )
-	~chromeos-base/chrome-icu-${PV}
-	chromeos-base/gestures
-	chromeos-base/libevdev:=
-	fonts? ( chromeos-base/chromeos-fonts )
-	chrome_internal? ( chromeos-base/quickoffice )
-	dev-libs/nspr
-	>=dev-libs/nss-3.12.2
-	libinput? ( dev-libs/libinput:= )
-	>=media-libs/alsa-lib-1.0.19
-	media-libs/fontconfig
-	media-libs/libsync
-	x11-libs/libdrm
-	ozone_platform_gbm? ( media-libs/minigbm )
-	v4lplugin? ( media-libs/libv4lplugins )
-	>=media-sound/adhd-0.0.1-r310
-	net-print/cups
-	opengl? ( virtual/opengl )
-	opengles? ( virtual/opengles )
-	sys-apps/dbus
-	sys-apps/pciutils
-	virtual/udev
-	sys-libs/libcap
-	chrome_remoting? ( sys-libs/pam )
-	vaapi? ( x11-libs/libva )
-	xkbcommon? (
-		x11-libs/libxkbcommon
-		x11-misc/xkeyboard-config
-	)
-	accessibility? (
-		app-accessibility/brltty
-		app-accessibility/espeak-ng
-		app-accessibility/googletts
-	)
-	libcxx? (
-		sys-libs/libcxxabi
-		sys-libs/libcxx
-	)
-	oobe_config? ( chromeos-base/oobe_config )
-	iioservice? ( chromeos-base/iioservice )
-	hibernate? ( chromeos-base/hiberman )
-	"
-
-DEPEND="${DEPEND}
-	${RDEPEND}
-	chromeos-base/protofiles
-	>=dev-util/gperf-3.0.3
-	>=dev-util/pkgconfig-0.23
-	arm? ( x11-libs/libdrm )
-"
-
-PATCHES=()
-
-AUTOTEST_COMMON="src/chrome/test/chromeos/autotest/files"
-AUTOTEST_DEPS="${AUTOTEST_COMMON}/client/deps"
-AUTOTEST_DEPS_LIST="chrome_test telemetry_dep"
-
-IUSE="${IUSE} +autotest"
-
-
-QA_TEXTRELS="*"
-QA_EXECSTACK="*"
-QA_PRESTRIPPED="*"
-
-use_nacl() {
-	# 32bit asan conflicts with nacl: crosbug.com/38980
-	! (use asan && [[ ${ARCH} == "x86" ]]) && \
-	! use component_build && use nacl
-}
-
-# Like the `usex` helper:
-# Usage: echox [int] [echo-if-true] [echo-if-false]
-# If [int] is 0, then echo the 2nd arg (default of yes), else
-# echo the 3rd arg (default of no).
-echox() {
-	# Like the `usex` helper.
-	[[ ${1:-$?} -eq 0 ]] && echo "${2:-yes}" || echo "${3:-no}"
-}
-echotf() { echox ${1:-$?} true false ; }
-usetf()  { usex $1 true false ; }
-
-use_remoteexec() {
-	[[ "${USE_REMOTEEXEC:-$(usetf remoteexec)}" == "true" ]]
-}
-
-use_goma() {
-	[[ "${USE_GOMA:-$(usetf goma)}" == "true" ]]
-}
-
-should_upload_build_logs() {
-	[[ -n "${GOMA_TMP_DIR}" && -n "${GLOG_log_dir}" && \
-		"${GLOG_log_dir}" == "${GOMA_TMP_DIR}"* ]]
-}
-
-set_build_args() {
-	# use goma_thinlto says that if we are using Goma and ThinLTO, use
-	# Goma for distributed code generation. So only set the corresponding
-	# gn arg to true if all three conditions are met.
-	use_goma_thin_lto=$(use goma_thinlto && use_goma && use thinlto; echotf)
-	BUILD_ARGS=(
-		"is_chromeos_device=true"
-		# is_official_build sometimes implies extra optimizations (e.g. it will allow
-		# ThinLTO to optimize more aggressively, if ThinLTO is enabled). Please note
-		# that, despite the name, it should be usable by external users.
-		#
-		# Sanitizers don't like official builds.
-		"is_official_build=$(use_sanitizers false true)"
-
-		"is_debug=false"
-		"${EXTRA_GN_ARGS}"
-		"enable_pseudolocales=$(usetf cros-debug)"
-		"use_arc_protected_media=$(usetf amd_oemcrypto)"
-		"use_chromeos_protected_av1=$(usetf intel_oemcrypto)"
-		"use_chromeos_protected_media=$(usetf cdm_factory_daemon)"
-		"use_iioservice=$(usetf iioservice)"
-		"use_v4l2_codec=$(usetf v4l2_codec)"
-		"use_v4lplugin=$(usetf v4lplugin)"
-		"use_vaapi=$(usetf vaapi)"
-		"use_xkbcommon=$(usetf xkbcommon)"
-		"enable_remoting=$(usetf chrome_remoting)"
-		"enable_nacl=$(use_nacl; echotf)"
-		"enable_hibernate=$(usetf hibernate)"
-		# use_system_minigbm is set below.
-
-		"is_cfm=$(usetf cfm)"
-
-		# Clang features.
-		"is_asan=$(usetf asan)"
-		"is_msan=$(usetf msan)"
-		"is_ubsan=$(usetf ubsan)"
-		"is_clang=true"
-		"use_thin_lto=$(usetf thinlto)"
-		"use_goma_thin_lto=${use_goma_thin_lto}"
-		"is_cfi=$(usetf cfi)"
-		"use_dwarf5=$(usetf dwarf5)"
-
-		# Assistant integration tests are only run on the Chromium bots,
-		# but they increase the size of libassistant.so by 1.3MB so we
-		# disable them here.
-		"enable_assistant_integration_tests=false"
-
-		# Generate debug info necessary for AutoFDO.
-		"clang_emit_debug_info_for_profiling=true"
-
-		# Add libinput to handle touchpad.
-		"use_libinput=$(usetf libinput)"
-
-		# Enable NSS slots software fallback when we are using runtime TPM selection.
-		"nss_slots_software_fallback=$(usetf tpm_dynamic)"
-
-		# Add hardware information to feedback logs and chrome://system.
-		"is_chromeos_with_hw_details=$(usetf hw_details)"
-	)
-
-	# BUILD_STRING_ARGS needs appropriate quoting. So, we keep them separate and
-	# add them to BUILD_ARGS at the end.
-	BUILD_STRING_ARGS=(
-		"target_sysroot=${SYSROOT}"
-		"system_libdir=$(get_libdir)"
-		"pkg_config=$(tc-getPKG_CONFIG)"
-		"target_os=chromeos"
-		"host_pkg_config=$(tc-getBUILD_PKG_CONFIG)"
-		"clang_diagnostic_dir=/tmp/clang_crash_diagnostics"
-	)
-	use internal_gles_conform && BUILD_ARGS+=( "internal_gles2_conform_tests=true" )
-
-	# Ozone platforms.
-	local platform
-	for platform in ${OZONE_PLATFORMS[@]}; do
-		local flag="${OZONE_PLATFORM_DEFAULT_PREFIX}${platform}"
-		if use "${flag}"; then
-			BUILD_STRING_ARGS+=( "ozone_platform=${platform}" )
-		fi
-	done
-	BUILD_ARGS+=(
-		"ozone_auto_platforms=false"
-	)
-	for platform in ${IUSE_OZONE_PLATFORMS}; do
-		if use "${platform}"; then
-			BUILD_ARGS+=( "${platform}=true" )
-		fi
-	done
-	if use "ozone_platform_gbm"; then
-		BUILD_ARGS+=( "use_system_minigbm=true" )
-		BUILD_ARGS+=( "use_system_libdrm=true" )
-	fi
-	if ! use "subpixel_rendering" || use "touchview"; then
-		BUILD_ARGS+=( "subpixel_font_rendering_disabled=true" )
-	fi
-
-	# Set proper build args for the arch
-	case "${ARCH}" in
-	x86)
-		BUILD_STRING_ARGS+=( "target_cpu=x86" )
-		;;
-	arm)
-		BUILD_ARGS+=(
-			"arm_use_neon=$(usetf neon)"
-			# To workaround the 4GB debug limit. crbug.com/792999.
-			"blink_symbol_level=1"
-		)
-		BUILD_STRING_ARGS+=(
-			"target_cpu=arm"
-			"arm_float_abi=hard"
-		)
-		local arm_arch=$(get-flag march)
-		if [[ -n "${arm_arch}" ]]; then
-			BUILD_STRING_ARGS+=( "arm_arch=${arm_arch}" )
-		fi
-		;;
-	arm64)
-		BUILD_STRING_ARGS+=(
-			"target_cpu=arm64"
-		)
-		local arm_arch=$(get-flag march)
-		if [[ -n "${arm_arch}" ]]; then
-			BUILD_STRING_ARGS+=( "arm_arch=${arm_arch}" )
-		fi
-		;;
-	amd64)
-		BUILD_STRING_ARGS+=( "target_cpu=x64" )
-		;;
-	mips)
-		local mips_arch target_arch
-
-		mips_arch="$($(tc-getCPP) ${CFLAGS} ${CPPFLAGS} -E -P - <<<_MIPS_ARCH)"
-		# Strip away any enclosing quotes.
-		mips_arch="${mips_arch//\"}"
-		# TODO(benchan): Use tc-endian from toolchain-func to determine endianess
-		# when Chrome later cares about big-endian.
-		case "${mips_arch}" in
-		mips64*)
-			target_arch=mips64el
-			;;
-		*)
-			target_arch=mipsel
-			;;
-		esac
-
-		BUILD_STRING_ARGS+=(
-			"target_cpu=${target_arch}"
-			"mips_arch_variant=${mips_arch}"
-		)
-		;;
-	*)
-		die "Unsupported architecture: ${ARCH}"
-		;;
-	esac
-
-	if use chrome_internal; then
-		# Adding chrome branding specific variables.
-		BUILD_ARGS+=( "is_chrome_branded=true" )
-		# This test can only be build from internal sources.
-		BUILD_ARGS+=( "internal_gles2_conform_tests=true" )
-		export CHROMIUM_BUILD='_google_Chrome'
-		export OFFICIAL_BUILD='1'
-		export CHROME_BUILD_TYPE='_official'
-	elif use chrome_media; then
-		echo "Building Chromium with additional media codecs and containers."
-		BUILD_ARGS+=( "proprietary_codecs=true" )
-		BUILD_STRING_ARGS+=( "ffmpeg_branding=ChromeOS" )
-	fi
-
-	if use component_build; then
-		BUILD_ARGS+=( "is_component_build=true" )
-	fi
-	if use_goma; then
-		BUILD_ARGS+=( "use_goma=true" )
-		BUILD_STRING_ARGS+=( "goma_dir=${GOMA_DIR:-/home/${WHOAMI}/goma}" )
-
-		# Goma compiler proxy runs outside of portage build.
-		# Practically, because TMPDIR is set in portage, it is
-		# different from the directory used when the compiler proxy
-		# started.
-		# If GOMA_TMP_DIR is not set, the compiler proxy uses
-		# TMPDIR/goma_${WHOAMI} for its tmpdir as fallback, which
-		# causes unexpected behavior.
-		# Specifically, named socket used to communicate with compiler
-		# proxy is ${GOMA_TMP_DIR}/goma.ipc by default, so the compiler
-		# proxy cannot be reached.
-		# Thus, here set GOMA_TMP_DIR to /tmp/goma_${WHOAMI} if it is
-		# not yet set.
-		if [[ -z "${GOMA_TMP_DIR}" ]]; then
-			export GOMA_TMP_DIR="/tmp/goma_${WHOAMI}"
-		fi
-	fi
-
-	if use_remoteexec; then
-		BUILD_ARGS+=(
-			"use_remoteexec=true"
-			"use_rbe=true"
-		)
-		BUILD_STRING_ARGS+=(
-			"rbe_cc_cfg_file=${CHROME_ROOT}/src/buildtools/reclient_cfgs/rewrapper_chroot_compile.cfg"
-		)
-	fi
-
-	if use chrome_debug; then
-		# Use debug fission to avoid 4GB limit of ELF32 (see crbug.com/595763).
-		# Using -g1 causes problems with crash server (see crbug.com/601854).
-		# Disable debug_fission for bots which generate AFDO profile. (see crbug.com/704602).
-		local debug_level=2
-		if use arm && ! use debug_fission; then
-			# Limit debug info to -g1 to keep the binary size within 4GB.
-			# Production builds do not use "-debug_fission". But it is used
-			# by the AFDO builders and AFDO tools are fine with debug_level=1.
-			debug_level=1
-		fi
-		BUILD_ARGS+=(
-			"use_debug_fission=$(usetf debug_fission)"
-			"symbol_level=${debug_level}"
-		)
-		if use debug_fission; then
-			# The breakpad cannot handle the debug files generated by
-			# llvm and debug fission properly. crosbug.com/710605
-			append-flags -fno-split-dwarf-inlining
-		fi
-	fi
-
-	# dcheck_always_on may default to true depending on the value of args
-	# above, which we might not want. So let the chrome_dcheck USE flag
-	# determine its value.
-	BUILD_ARGS+=("dcheck_always_on=$(usetf chrome_dcheck)")
-}
-
-unpack_chrome() {
-	# Add depot_tools to PATH, local chroot builds fail otherwise.
-	export PATH=${PATH}:${DEPOT_TOOLS}
-
-	local cmd=( "${CHROMITE_BIN_DIR}"/sync_chrome )
-	use chrome_internal && cmd+=( --internal )
-	if [[ "${CHROME_VERSION}" != "9999" ]]; then
-		cmd+=( "--tag=${CHROME_VERSION}" )
-	fi
-	# --reset tells sync_chrome to blow away local changes and to feel
-	# free to delete any directories that get in the way of syncing. This
-	# is needed for unattended operation.
-	cmd+=( --reset "--gclient=${EGCLIENT}" "${CHROME_DISTDIR}" )
-	elog "${cmd[*]}"
-	# TODO(crbug.com/1103048): Disable the sandbox when syncing the code.
-	# It seems to break gclient execution at random for unknown reasons.
-	# Children stop being tracked, or no git repos actually get cloned.
-	SANDBOX_ON=0 "${cmd[@]}" || die
-}
-
-decide_chrome_origin() {
-	if [[ "${PV}" == "9999" ]]; then
-		# LOCAL_SOURCE is the default for cros_workon.
-		# Warn the user if CHROME_ORIGIN is already set.
-		if [[ -n "${CHROME_ORIGIN}" && "${CHROME_ORIGIN}" != LOCAL_SOURCE ]]; then
-			ewarn "CHROME_ORIGIN is already set to ${CHROME_ORIGIN}."
-			ewarn "This will prevent you from building from your local checkout."
-			ewarn "Please run 'unset CHROME_ORIGIN' to reset Chrome"
-			ewarn "to the default source location."
-		fi
-		: "${CHROME_ORIGIN:=LOCAL_SOURCE}"
-	else
-		# By default, pull from server.
-		: "${CHROME_ORIGIN:=SERVER_SOURCE}"
-	fi
-}
-
-sandboxless_ensure_directory() {
-	local dir
-	for dir in "$@"; do
-		if [[ ! -d "${dir}" ]] ; then
-			# We need root access to create these directories, so we need to
-			# use sudo. This implicitly disables the sandbox.
-			sudo mkdir -p "${dir}" || die
-			sudo chown "${PORTAGE_USERNAME}:portage" "${dir}" || die
-			sudo chmod 0755 "${dir}" || die
-		fi
-	done
-}
-
-src_unpack() {
-	echo
-	ewarn "If you want to develop or hack on the browser itself, you should follow the"
-	ewarn "simple chrome workflow instead of using emerge:"
-	ewarn "https://chromium.googlesource.com/chromiumos/docs/+/master/simple_chrome_workflow.md"
-	echo
-
-	tc-export CC CXX
-	local WHOAMI=$(whoami)
-
-	CHROME_SRC="chrome-src"
-	if use chrome_internal; then
-		CHROME_SRC+="-internal"
-	fi
-
-	# CHROME_CACHE_DIR is used for storing output artifacts, and is always a
-	# regular directory inside the chroot (i.e. it's never mounted in, so it's
-	# always safe to use cp -al for these artifacts).
-	: "${CHROME_CACHE_DIR:="/var/cache/chromeos-chrome/${CHROME_SRC}"}"
-	addwrite "${CHROME_CACHE_DIR}"
-
-	# CHROME_DISTDIR is used for storing the source code, if any source code
-	# needs to be unpacked at build time (e.g. in the SERVER_SOURCE scenario.)
-	# It will be mounted into the chroot, so it is never safe to use cp -al
-	# for these files.
-	: "${CHROME_DISTDIR:="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/${CHROME_SRC}"}"
-	addwrite "${CHROME_DISTDIR}"
-
-	# Create storage directories.
-	sandboxless_ensure_directory "${CHROME_DISTDIR}" "${CHROME_CACHE_DIR}"
-
-	cros-credentials_setup
-
-	decide_chrome_origin
-
-	case "${CHROME_ORIGIN}" in
-	LOCAL_SOURCE|SERVER_SOURCE|LOCAL_BINARY)
-		einfo "CHROME_ORIGIN VALUE is ${CHROME_ORIGIN}"
-		;;
-	*)
-		die "CHROME_ORIGIN not one of LOCAL_SOURCE, SERVER_SOURCE, LOCAL_BINARY"
-		;;
-	esac
-
-	# Prepare and set CHROME_ROOT based on CHROME_ORIGIN.
-	# CHROME_ROOT is the location where the source code is used for compilation.
-	# If we're in SERVER_SOURCE mode, CHROME_ROOT is CHROME_DISTDIR. In LOCAL_SOURCE
-	# mode, this directory may be set manually to any directory. It may be mounted
-	# into the chroot, so it is not safe to use cp -al for these files.
-	# These are set here because $(whoami) returns the proper user here,
-	# but 'root' at the root level of the file
-	case "${CHROME_ORIGIN}" in
-	(SERVER_SOURCE)
-		elog "Using CHROME_VERSION = ${CHROME_VERSION}"
-		if [[ ${WHOAMI} == "chrome-bot" ]]; then
-			# TODO: Should add a sanity check that the version checked out is
-			# what we actually want.  Not sure how to do that though.
-			elog "Skipping syncing as cbuildbot ran SyncChrome for us."
-		else
-			unpack_chrome
-		fi
-
-		elog "set the chrome source root to ${CHROME_DISTDIR}"
-		elog "From this point onwards there is no difference between \
-			SERVER_SOURCE and LOCAL_SOURCE, since the fetch is done"
-		CHROME_ROOT=${CHROME_DISTDIR}
-		;;
-	(LOCAL_SOURCE)
-		: ${CHROME_ROOT:=/home/${WHOAMI}/chrome_root}
-		if [[ ! -d "${CHROME_ROOT}/src" ]]; then
-			die "${CHROME_ROOT} does not contain a valid chromium checkout!"
-		fi
-		addwrite "${CHROME_ROOT}"
-		;;
-	esac
-
-	case "${CHROME_ORIGIN}" in
-	LOCAL_SOURCE|SERVER_SOURCE)
-		set_build_args
-		;;
-	esac
-
-	# FIXME: This is the normal path where ebuild stores its working data.
-	# Chrome builds inside distfiles because of speed, so we at least make
-	# a symlink here to add compatibility with autotest eclass which uses this.
-	ln -sf "${CHROME_ROOT}" "${WORKDIR}/${P}"
-
-	if use internal_gles_conform; then
-		local CHROME_GLES2_CONFORM=${CHROME_ROOT}/src/third_party/gles2_conform
-		local CROS_GLES2_CONFORM=/home/${WHOAMI}/trunk/src/third_party/gles2_conform
-		if [[ ! -d "${CHROME_GLES2_CONFORM}" ]]; then
-			if [[ -d "${CROS_GLES2_CONFORM}" ]]; then
-				ln -s "${CROS_GLES2_CONFORM}" "${CHROME_GLES2_CONFORM}"
-				einfo "Using GLES2 conformance test suite from ${CROS_GLES2_CONFORM}"
-			else
-				die "Trying to build GLES2 conformance test suite without ${CHROME_GLES2_CONFORM} or ${CROS_GLES2_CONFORM}"
-			fi
-		fi
-	fi
-
-	if use afdo_use; then
-		# Use AFDO profile downloaded in Chromium source code
-		# If needed profiles other than "silvermont", please set the variable
-		# ${AFDO_PROFILE_SOURCE} accordingly.
-		local afdo_src="${AFDO_PROFILE_SOURCE:-atom}"
-		BUILD_ARGS+=( "clang_use_default_sample_profile=true" )
-		BUILD_STRING_ARGS+=( "chromeos_afdo_platform=${afdo_src}" )
-	fi
-
-	# Use to verify a local unvetted AFDO file.
-	if use afdo_verify; then
-		if [[ ! -e "${UNVETTED_AFDO_FILE}" ]]; then
-			die "Cannot find ${UNVETTED_AFDO_FILE} to build Chrome."
-		fi
-		BUILD_STRING_ARGS+=( "clang_sample_profile_path=${UNVETTED_AFDO_FILE}" )
-	fi
-
-	# Unpack unvetted orderfile.
-	if use orderfile_verify; then
-		local orderfile_dir="${WORKDIR}/orderfile"
-		mkdir "${orderfile_dir}"
-		local orderfile_file=${UNVETTED_ORDERFILE}
-		(cd "${orderfile_dir}" && unpack "${orderfile_file}.xz") || die
-
-		local orderfile_loc="${orderfile_dir}/${orderfile_file}"
-		einfo "Using ${orderfile_loc} as orderfile for ordering Chrome"
-
-		# Pass the path to orderfile to GN args.
-		BUILD_STRING_ARGS+=( "chrome_orderfile_path=${orderfile_loc}" )
-	fi
-
-	if ! use orderfile_use; then
-		# If not using orderfile, override the default orderfile path to empty.
-		BUILD_STRING_ARGS+=( "chrome_orderfile_path=" )
-	fi
-}
-
-add_api_keys() {
-	# awk script to extract the values out of the file.
-	local EXTRACT="{ gsub(/[',]/, \"\", \$2); print \$2 }"
-	local api_key=$(awk "/google_api_key/ ${EXTRACT}" "$1")
-	local client_id=$(awk "/google_default_client_id/ ${EXTRACT}" "$1")
-	local client_secret=$(awk "/google_default_client_secret/ ${EXTRACT}" "$1")
-
-	BUILD_STRING_ARGS+=(
-		"google_api_key=${api_key}"
-		"google_default_client_id=${client_id}"
-		"google_default_client_secret=${client_secret}"
-	)
-}
-
-src_prepare() {
-	# Must call eapply_user in EAPI 7, but this function is a no-op here.
-	eapply_user
-
-	if [[ "${CHROME_ORIGIN}" != "LOCAL_SOURCE" &&
-			"${CHROME_ORIGIN}" != "SERVER_SOURCE" ]]; then
-		return
-	fi
-
-	elog "${CHROME_ROOT} should be set here properly"
-	cd "${CHROME_ROOT}/src" || die "Cannot chdir to ${CHROME_ROOT}"
-
-	# We do symlink creation here if appropriate.
-	mkdir -p "${CHROME_CACHE_DIR}/src/${BUILD_OUT}"
-	if [[ ! -z "${BUILD_OUT_SYM}" ]]; then
-		rm -rf "${BUILD_OUT_SYM}" || die "Could not remove symlink"
-		ln -sfT "${CHROME_CACHE_DIR}/src/${BUILD_OUT}" "${BUILD_OUT_SYM}" ||
-			die "Could not create symlink for output directory"
-	fi
-
-
-	# Apply patches for non-localsource builds.
-	if [[ "${CHROME_ORIGIN}" == "SERVER_SOURCE" && ${#PATCHES[@]} -gt 0 ]]; then
-		eapply "${PATCHES[@]}"
-	fi
-
-	local WHOAMI=$(whoami)
-	# Get the credentials to fake home directory so that the version of chromium
-	# we build can access Google services. First, check for Chrome credentials.
-	if [[ ! -d google_apis/internal ]]; then
-		# Then look for Chrome OS supplied credentials.
-		local PRIVATE_OVERLAYS_DIR=/home/${WHOAMI}/trunk/src/private-overlays
-		local GAPI_CONFIG_FILE=${PRIVATE_OVERLAYS_DIR}/chromeos-overlay/googleapikeys
-		if [[ ! -f "${GAPI_CONFIG_FILE}" ]]; then
-			# Then developer credentials.
-			GAPI_CONFIG_FILE=/home/${WHOAMI}/.googleapikeys
-		fi
-		if [[ -f "${GAPI_CONFIG_FILE}" ]]; then
-			add_api_keys "${GAPI_CONFIG_FILE}"
-		fi
-	fi
-}
-
-setup_test_lists() {
-	TEST_FILES=(
-		capture_unittests
-		dawn_end2end_tests
-		dawn_unittests
-		gl_tests
-		jpeg_decode_accelerator_unittest
-		ozone_gl_unittests
-		sandbox_linux_unittests
-		wayland_client_integration_tests
-		wayland_client_perftests
-	)
-
-	TEST_FILES+=( ppapi/examples/video_decode )
-
-	if use vaapi || use v4l2_codec; then
-		TEST_FILES+=(
-			image_processor_test
-			jpeg_encode_accelerator_unittest
-			video_decode_accelerator_perf_tests
-			video_decode_accelerator_tests
-			video_encode_accelerator_perf_tests
-			video_encode_accelerator_tests
-		)
-	fi
-
-	if use vaapi; then
-		TEST_FILES+=(
-			decode_test
-			vaapi_unittest
-		)
-	fi
-
-	if use v4l2_codec; then
-		TEST_FILES+=(
-			v4l2_stateless_decoder
-		)
-	fi
-
-	# TODO(ihf): Figure out how to keep this in sync with telemetry.
-	TOOLS_TELEMETRY_BIN=(
-		bitmaptools
-		clear_system_cache
-		minidump_stackwalk
-	)
-
-	PPAPI_TEST_FILES=(
-		lib{32,64}
-		mock_nacl_gdb
-		ppapi_nacl_tests_{newlib,glibc}.nmf
-		ppapi_nacl_tests_{newlib,glibc}_{x32,x64,arm,arm64}.nexe
-		test_case.html
-		test_case.html.mock-http-headers
-		test_page.css
-		test_url_loader_data
-	)
-}
-
-# Handle all CFLAGS/CXXFLAGS/etc... munging here.
-setup_compile_flags() {
-	# Chrome controls its own optimization settings, so this would be a nop
-	# if we were to run it. Leave it here anyway as a grep-friendly marker.
-	# cros_optimize_package_for_speed
-
-	# The chrome makefiles specify -O and -g flags already, so remove the
-	# portage flags.
-	filter-flags -g "-O*"
-
-	# Remove unsupported arm64 linker flag on arm32 builds.
-	# https://crbug.com/889079
-	use arm && filter-flags "-Wl,--fix-cortex-a53-843419"
-
-	# There are some flags we want to only use in the ebuild.
-	# The rest will be exported to the simple chrome workflow.
-	EBUILD_CFLAGS=()
-	EBUILD_CXXFLAGS=()
-	EBUILD_LDFLAGS=()
-
-	if use thinlto; then
-		# if using thinlto, we need to pass the equivalent of
-		# -fdebug-types-section to the backend, to prevent out-of-range
-		# relocations (see
-		# https://bugs.chromium.org/p/chromium/issues/detail?id=1032159).
-		append-ldflags -Wl,-mllvm
-		append-ldflags -Wl,-generate-type-units
-	else
-		# Non-ThinLTO builds with symbol_level=2 may have out-of-range
-		# relocations, too: crbug.com/1050819.
-		append-flags -fdebug-types-section
-	fi
-
-	if use orderfile_generate; then
-		local chrome_outdir="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
-		BUILD_STRING_ARGS+=( "dump_call_chain_clustering_order=${chrome_outdir}/chrome.orderfile.txt" )
-		# Enable call graph profile sort (C3) to generate orderfile.
-		BUILD_ARGS+=( "enable_call_graph_profile_sort=true" )
-	fi
-
-	# Enable std::vector []-operator bounds checking.
-	append-cxxflags -D__google_stl_debug_vector=1
-
-	# Chrome and Chrome OS versions of the compiler may not be in
-	# sync. So, don't complain if Chrome uses a diagnostic
-	# option that is not yet implemented in the compiler version used
-	# by Chrome OS.
-	# Turns out this is only really supported by Clang. See crosbug.com/615466
-	# Add "-faddrsig" flag required to efficiently support "--icf=all".
-	append-flags -faddrsig
-	append-flags -Wno-unknown-warning-option
-	export CXXFLAGS_host+=" -Wno-unknown-warning-option"
-	export CFLAGS_host+=" -Wno-unknown-warning-option"
-	export LDFLAGS_host+=" --unwindlib=libgcc"
-	if use libcxx; then
-		append-cxxflags "-stdlib=libc++"
-		append-ldflags "-stdlib=libc++"
-	fi
-
-	# Workaround: Disable fatal linker warnings on arm64/lld.
-	# https://crbug.com/913071
-	use arm64 && append-ldflags "-Wl,--no-fatal-warnings"
-	# Workaround: Disable fatal linker warnings on arm/lld.
-	# https://crbug.com/1190544
-	use arm && append-ldflags "-Wl,--no-fatal-warnings"
-	use vtable_verify && append-ldflags -fvtable-verify=preinit
-
-	local flags
-	einfo "Building with the compiler settings:"
-	for flags in {C,CXX,CPP,LD}FLAGS; do
-		einfo "  ${flags} = ${!flags}"
-	done
-}
-
-src_configure() {
-	tc-export CXX CC AR AS NM RANLIB STRIP
-	export CC_host=$(tc-getBUILD_CC)
-	export CXX_host=$(tc-getBUILD_CXX)
-	export NM_host=$(tc-getBUILD_NM)
-	export READELF="llvm-readelf"
-	export READELF_host="llvm-readelf"
-
-	# Use C++ compiler as the linker driver.
-	export LD="${CXX}"
-	export LD_host=${CXX_host}
-
-	# We need below change when USE="thinlto" is set. We set this globally
-	# so that users can turn on the "use_thin_lto" in the simplechrome
-	# flow more easily.
-	# use nm from llvm, https://crbug.com/917193
-	export NM="llvm-nm"
-	export NM_host="llvm-nm"
-	export AR="llvm-ar"
-	# USE=thinlto affects host build, we need to set host AR to
-	# llvm-ar to make sure host package builds with thinlto.
-	# crbug.com/731335
-	export AR_host="llvm-ar"
-	export RANLIB="llvm-ranlib"
-	# Use llvm's objcopy instead of GNU
-	export OBJCOPY="llvm-objcopy"
-
-	# Set binutils path for goma.
-	CC_host+=" -B$(get_binutils_path "${LD_host}")"
-	CXX_host+=" -B$(get_binutils_path "${LD_host}")"
-
-	setup_compile_flags
-
-	# We might set BOTO_CONFIG in the builder environment in case the
-	# existing file needs modifications (e.g. for working with older
-	# branches). So don't overwrite it if it's already set.
-	# See https://crbug.com/847676 for details.
-	export BOTO_CONFIG="${BOTO_CONFIG:-/home/$(whoami)/.boto}"
-	export PATH=${PATH}:${DEPOT_TOOLS}
-
-	export DEPOT_TOOLS_GSUTIL_BIN_DIR="${CHROME_CACHE_DIR}/gsutil_bin"
-	# The venv logic seems to misbehave when cross-compiling.  Since our SDK
-	# should include all the necessary modules, just disable it (for now).
-	# https://crbug.com/808434
-	export VPYTHON_BYPASS="manually managed python not supported by chrome operations"
-
-	# TODO(rcui): crosbug.com/20435. Investigate removal of runhooks
-	# useflag when chrome build switches to Ninja inside the chroot.
-	if use runhooks; then
-		local cmd=( "${EGCLIENT}" runhooks --force )
-		echo "${cmd[@]}"
-		CFLAGS="${CFLAGS} ${EBUILD_CFLAGS[*]}" \
-		CXXFLAGS="${CXXFLAGS} ${EBUILD_CXXFLAGS[*]}" \
-		LDFLAGS="${LDFLAGS} ${EBUILD_LDFLAGS[*]}" \
-		"${cmd[@]}" || die
-	fi
-
-	BUILD_STRING_ARGS+=(
-		"cros_target_ar=${AR}"
-		"cros_target_cc=${CC}"
-		"cros_target_cxx=${CXX}"
-		"host_toolchain=//build/toolchain/cros:host"
-		"custom_toolchain=//build/toolchain/cros:target"
-		"v8_snapshot_toolchain=//build/toolchain/cros:v8_snapshot"
-		"cros_target_ld=${LD}"
-		"cros_target_nm=${NM}"
-		"cros_target_readelf=${READELF}"
-		"cros_target_extra_cflags=${CFLAGS} ${EBUILD_CFLAGS[*]}"
-		"cros_target_extra_cppflags=${CPPFLAGS}"
-		"cros_target_extra_cxxflags=${CXXFLAGS} ${EBUILD_CXXFLAGS[*]}"
-		"cros_target_extra_ldflags=${LDFLAGS} ${EBUILD_LDFLAGS[*]}"
-		"cros_host_cc=${CC_host}"
-		"cros_host_cxx=${CXX_host}"
-		"cros_host_ar=${AR_host}"
-		"cros_host_ld=${LD_host}"
-		"cros_host_nm=${NM_host}"
-		"cros_host_readelf=${READELF_host}"
-		"cros_host_extra_cflags=${CFLAGS_host}"
-		"cros_host_extra_cxxflags=${CXXFLAGS_host}"
-		"cros_host_extra_cppflags=${CPPFLAGS_host}"
-		"cros_host_extra_ldflags=${LDFLAGS_host}"
-		"cros_v8_snapshot_cc=${CC_host}"
-		"cros_v8_snapshot_cxx=${CXX_host}"
-		"cros_v8_snapshot_ar=${AR_host}"
-		"cros_v8_snapshot_ld=${LD_host}"
-		"cros_v8_snapshot_nm=${NM_host}"
-		"cros_v8_snapshot_readelf=${READELF_host}"
-		"cros_v8_snapshot_extra_cflags=${CFLAGS_host}"
-		"cros_v8_snapshot_extra_cxxflags=${CXXFLAGS_host}"
-		"cros_v8_snapshot_extra_cppflags=${CPPFLAGS_host}"
-		"cros_v8_snapshot_extra_ldflags=${LDFLAGS_host}"
-	)
-
-	local arg
-	for arg in "${BUILD_STRING_ARGS[@]}"; do
-		BUILD_ARGS+=("${arg%%=*}=\"${arg#*=}\"")
-	done
-	export GN_ARGS="${BUILD_ARGS[*]}"
-	einfo "GN_ARGS = ${GN_ARGS}"
-	local gn=(
-		"${CHROME_ROOT}/src/buildtools/linux64/gn" gen
-		"${CHROME_ROOT}/src/${BUILD_OUT_SYM}/${BUILDTYPE}"
-		--args="${GN_ARGS}" --root="${CHROME_ROOT}/src"
-	)
-	echo "${gn[@]}"
-	"${gn[@]}" || die
-
-	setup_test_lists
-
-	if use clang_tidy; then
-		export WITH_TIDY=1
-	fi
-}
-
-chrome_make() {
-	local build_dir="${BUILD_OUT_SYM}/${BUILDTYPE}"
-
-	# If ThinLTO is enabled, we may have a cache from a previous link. Due
-	# to fears about lack of reproducibility, we don't allow cache reuse
-	# across rebuilds. The cache is still useful for artifacts shared
-	# between multiple links done by this build (e.g. tests).
-	use thinlto && rm -rf "${build_dir}/thinlto-cache"
-
-	# If goma or remoteexec is enabled, increase the number of parallel
-	# run to 10 * {number of processors}. Though, if it is too large the
-	# performance gets slow down, so limit by 200 heuristically.
-	if use_goma || use_remoteexec; then
-		local num_parallel=$(($(nproc) * 10))
-		local j_limit=200
-		set -- -j $((num_parallel < j_limit ? num_parallel : j_limit)) "$@"
-	fi
-	local command=(
-		"${ENINJA}"
-		-j"$(makeopts_jobs)"
-		-C "${build_dir}"
-		$(usex verbose -v "")
-		-d "keeprsp"
-		"$@"
-	)
-	# If goma is used, log the command, cwd and env vars, which will be
-	# uploaded to the logging server.
-	if should_upload_build_logs; then
-		env --null > "${GLOG_log_dir}/ninja_env"
-		pwd > "${GLOG_log_dir}/ninja_cwd"
-		echo "${command[@]}" > "${GLOG_log_dir}/ninja_command"
-	fi
-	PATH=${PATH}:${DEPOT_TOOLS} "${command[@]}"
-	local ret=$?
-	if should_upload_build_logs; then
-		echo "${ret}" > "${GLOG_log_dir}/ninja_exit"
-		cp -p "${BUILD_OUT_SYM}/${BUILDTYPE}/.ninja_log" "${GLOG_log_dir}/ninja_log"
-	fi
-	[[ "${ret}" -eq 0 ]] || die
-
-	# Still use a script to check if the orderfile is used properly, i.e.
-	# Builtin_ functions are placed between the markers, etc.
-	if use strict_toolchain_checks && (use orderfile_use || use orderfile_verify); then
-		"${FILESDIR}/check_orderfile.py" "${build_dir}/chrome" || die
-	fi
-}
-
-src_compile() {
-	if [[ "${CHROME_ORIGIN}" != "LOCAL_SOURCE" &&
-			"${CHROME_ORIGIN}" != "SERVER_SOURCE" ]]; then
-		return
-	fi
-
-	cd "${CHROME_ROOT}"/src || die "Cannot chdir to ${CHROME_ROOT}/src"
-
-	local chrome_targets=( $(usex mojo "mojo_shell" "") )
-	if use app_shell; then
-		chrome_targets+=( app_shell )
-	else
-		chrome_targets+=( chrome )
-	fi
-	if use build_tests; then
-		chrome_targets+=(
-			"${TEST_FILES[@]}"
-			"${TOOLS_TELEMETRY_BIN[@]}"
-			chromedriver
-		)
-		if use chrome_internal; then
-			chrome_targets+=( libassistant_debug.so )
-		fi
-	fi
-	use_nacl && chrome_targets+=( nacl_helper_bootstrap nacl_helper )
-
-	chrome_make "${chrome_targets[@]}"
-
-	if use build_tests; then
-		install_chrome_test_resources "${WORKDIR}/test_src"
-		install_telemetry_dep_resources "${WORKDIR}/telemetry_src"
-
-		# NOTE: Since chrome is built inside distfiles, we have to get
-		# rid of the previous instance first.
-		# We remove only what we will overwrite with the mv below.
-		local deps="${WORKDIR}/${P}/${AUTOTEST_DEPS}"
-
-		rm -rf "${deps}/chrome_test/test_src"
-		mv "${WORKDIR}/test_src" "${deps}/chrome_test/"
-
-		rm -rf "${deps}/telemetry_dep/test_src"
-		mv "${WORKDIR}/telemetry_src" "${deps}/telemetry_dep/test_src"
-
-		# The autotest eclass wants this for some reason.
-		get_paths() { :; }
-
-		# HACK: It would make more sense to call autotest_src_prepare in
-		# src_prepare, but we need to call install_chrome_test_resources first.
-		autotest-deponly_src_prepare
-
-		# Remove .git dirs
-		find "${AUTOTEST_WORKDIR}" -type d -name .git -prune -exec rm -rf {} +
-
-		autotest_src_compile
-	fi
-}
-
-install_test_resources() {
-	# Install test resources from chrome source directory to destination.
-	# We keep a cache of test resources inside the chroot to avoid copying
-	# multiple times.
-	local test_dir="${1}"
-	einfo "install_test_resources to ${test_dir}"
-	shift
-
-	# To speed things up, we write the list of files to a temporary file so
-	# we can use rsync with --files-from.
-	local tmp_list_file="${T}/${test_dir##*/}.files"
-	printf "%s\n" "$@" > "${tmp_list_file}"
-
-	# Copy the specific files to the cache from the source directory.
-	# Note: we need to specify -r when using --files-from and -a to get a
-	# recursive copy.
-	# TODO(ihf): Make failures here fatal.
-	rsync -r -a --delete --exclude=.git --exclude="*.pyc" \
-		--files-from="${tmp_list_file}" "${CHROME_ROOT}/src/" \
-		"${CHROME_CACHE_DIR}/src/"
-
-	# Create hard links in the destination based on the cache.
-	# Note: we need to specify -r when using --files-from and -a to get a
-	# recursive copy.
-	# TODO(ihf): Make failures here fatal.
-	rsync -r -a --link-dest="${CHROME_CACHE_DIR}/src" \
-		--files-from="${tmp_list_file}" "${CHROME_CACHE_DIR}/src/" "${test_dir}/"
-}
-
-test_strip_install() {
-	local from="${1}"
-	local dest="${2}"
-	shift 2
-	mkdir -p "${dest}"
-	local f
-	for f in "$@"; do
-		$(tc-getSTRIP) --strip-debug \
-			"${from}"/${f} -o "${dest}/$(basename ${f})"
-	done
-}
-
-install_chrome_test_resources() {
-	# NOTE: This is a duplicate from src_install, because it's required here.
-	local from="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
-	local test_dir="${1}"
-	local dest="${test_dir}/out/Release"
-
-	echo Copying Chrome tests into "${test_dir}"
-
-	# Even if chrome_debug_tests is enabled, we don't need to include detailed
-	# debug info for tests in the binary package, so save some time by stripping
-	# everything but the symbol names. Developers who need more detailed debug
-	# info on the tests can use the original unstripped tests from the ${from}
-	# directory.
-	TEST_INSTALL_TARGETS=(
-		"${TEST_FILES[@]}"
-		"libppapi_tests.so" )
-
-	einfo "Installing test targets: ${TEST_INSTALL_TARGETS[@]}"
-	test_strip_install "${from}" "${dest}" "${TEST_INSTALL_TARGETS[@]}"
-
-	# Copy Chrome test data.
-	mkdir -p "${dest}"/test_data
-	# WARNING: Only copy subdirectories of |test_data|.
-	# The full |test_data| directory is huge and kills our VMs.
-	# Example:
-	# cp -al "${from}"/test_data/<subdir> "${test_dir}"/out/Release/<subdir>
-
-	for f in "${PPAPI_TEST_FILES[@]}"; do
-		cp -al "${from}/${f}" "${dest}"
-	done
-
-	# Install Chrome test resources.
-	# WARNING: Only install subdirectories of |chrome/test|.
-	# The full |chrome/test| directory is huge and kills our VMs.
-	install_test_resources "${test_dir}" \
-		base/base_paths_posix.cc \
-		chrome/test/data/chromeos \
-		chrome/test/functional \
-		chrome/third_party/mock4js/mock4js.js  \
-		content/common/gpu/testdata \
-		media/test/data \
-		content/test/data \
-		net/data/ssl/certificates \
-		ppapi/tests/test_case.html \
-		ppapi/tests/test_url_loader_data \
-		third_party/bidichecker/bidichecker_packaged.js \
-		third_party/accessibility-developer-tools/gen/axs_testing.js
-
-	# Add the pdf test data if needed.
-	if use chrome_internal; then
-		install_test_resources "${test_dir}" pdf/test
-	fi
-	# Add the gles_conform test data if needed.
-	if use chrome_internal || use internal_gles_conform; then
-		install_test_resources "${test_dir}" gpu/gles2_conform_support/gles2_conform_test_expectations.txt
-	fi
-
-	cp -a "${CHROME_ROOT}"/"${AUTOTEST_DEPS}"/chrome_test/setup_test_links.sh \
-		"${dest}"
-}
-
-install_telemetry_dep_resources() {
-	local test_dir="${1}"
-
-	TELEMETRY=${CHROME_ROOT}/src/third_party/catapult/telemetry
-	if [[ -r "${TELEMETRY}" ]]; then
-		echo "Copying Telemetry Framework into ${test_dir}"
-		mkdir -p "${test_dir}"
-		# We are going to call chromium code but can't trust that it is clean
-		# of precompiled code. See crbug.com/590762.
-		find "${TELEMETRY}" -name "*.pyc" -type f -delete
-		# Get deps from Chrome.
-		FIND_DEPS=${CHROME_ROOT}/src/tools/perf/find_dependencies
-		PERF_DEPS=${CHROME_ROOT}/src/tools/perf/bootstrap_deps
-		CROS_DEPS=${CHROME_ROOT}/src/tools/cros/bootstrap_deps
-		# sed removes the leading path including src/ converting it to relative.
-		# To avoid silent failures assert the success.
-		DEPS_LIST=$(python ${FIND_DEPS} ${PERF_DEPS} ${CROS_DEPS} | \
-			sed -e 's|^'${CHROME_ROOT}/src/'||'; assert)
-		install_test_resources "${test_dir}" "${DEPS_LIST}"
-		# For crosperf, which uses some tests only available on internal builds.
-		if use chrome_internal; then
-			install_test_resources "${test_dir}" \
-				data/page_cycler/morejs \
-				data/page_cycler/moz
-		fi
-	fi
-
-	local from="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
-	local dest="${test_dir}/src/out/${BUILDTYPE}"
-	einfo "Installing telemetry binaries: ${TOOLS_TELEMETRY_BIN[@]}"
-	test_strip_install "${from}" "${dest}" "${TOOLS_TELEMETRY_BIN[@]}"
-
-	# When copying only a portion of the Chrome source that telemetry needs,
-	# some symlinks can end up broken. Thus clean these up before packaging.
-	einfo "Cleaning up broken symlinks in telemetry"
-	find -L "${test_dir}" -type l -delete
-
-	# Unfortunately we are sometimes provided with unrelated upstream directories
-	# and binaries taking a lot of space. Clean these up manually. Notice
-	# that Android and Linux directories might be needed so keep those.
-	einfo "Cleaning up non-Chrome OS directories in telemetry"
-	find -L "${test_dir}" -type d -regex ".*/\(mac\|mips\|mips64\|win\)" -exec rm -rfv {} \;
-	einfo "Finished installing telemetry dep resources"
-}
-
-# Add any new artifacts generated by the Chrome build targets to deploy_chrome.py.
-# We deal with miscellaneous artifacts here in the ebuild.
-src_install() {
-	FROM="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
-
-	# Override default strip flags and lose the '-R .comment'
-	# in order to play nice with the crash server.
-	if [[ -z "${KEEP_CHROME_DEBUG_SYMBOLS}" ]]; then
-		if [[ "${STRIP}" == "llvm-strip" ]]; then
-			export PORTAGE_STRIP_FLAGS="--strip-all-gnu"
-		else
-			export PORTAGE_STRIP_FLAGS=""
-		fi
-	else
-		export PORTAGE_STRIP_FLAGS="--strip-debug"
-	fi
-	einfo "PORTAGE_STRIP_FLAGS=${PORTAGE_STRIP_FLAGS}"
-	LS=$(ls -alhS ${FROM})
-	einfo "CHROME_DIR after build\n${LS}"
-
-	# Copy a D-Bus config file that includes other configs that are installed to
-	# /opt/google/chrome/dbus by deploy_chrome.
-	insinto /etc/dbus-1/system.d
-	doins "${FILESDIR}"/chrome.conf
-
-	# Copy Quickoffice resources for official build.
-	# Quickoffice is not yet available for arm64, https://crbug.com/881489
-	if use chrome_internal && [[ "${ARCH}" != "arm64" ]]; then
-		local qo_install_root="/usr/share/chromeos-assets/quickoffice"
-		insinto "${qo_install_root}"
-		QUICKOFFICE="${CHROME_ROOT}"/src/chrome/browser/resources/chromeos/quickoffice
-		doins -r "${QUICKOFFICE}"/_locales
-		doins -r "${QUICKOFFICE}"/css
-		doins -r "${QUICKOFFICE}"/img
-		doins -r "${QUICKOFFICE}"/plugin
-		doins -r "${QUICKOFFICE}"/scripts
-		doins -r "${QUICKOFFICE}"/views
-
-		local qo_path=""
-		case "${ARCH}" in
-		arm)
-			qo_path="${QUICKOFFICE}"/_platform_specific/arm
-			;;
-		amd64)
-			qo_path="${QUICKOFFICE}"/_platform_specific/x86_64
-			;;
-		*)
-			die "Unsupported architecture: ${ARCH}"
-			;;
-		esac
-
-		# Compress the platform-specific NaCl binaries with squashfs to
-		# save space on the rootfs.
-		# - compress with LZO and 1M blocks to optimize trade-off
-		# between compression ratio and decompression speed.
-		# - use "-keep-as-directory" option so the squash file will
-		# include the folder with the name of the CPU architecture,
-		# which is expected by the scripts on device.
-		# - use "-root-mode 0755" to ensure that the mountpoint has
-		# permissions 0755 instead of the default 0777.
-		# - use "-4k-align" option so individual files inside the squash
-		# file will be aligned to 4K blocks, which improves the
-		# efficiency of the delta updates.
-		mksquashfs "${qo_path}" "${WORKDIR}/quickoffice.squash" \
-			-all-root -noappend -no-recovery -no-exports \
-			-exit-on-error -comp lzo -b 1M -keep-as-directory \
-			-4k-align -root-mode 0755 -no-progress \
-			|| die "Failed to create Quickoffice squashfs"
-
-		# The squashfs will be mounted at boot time by an upstart script
-		# installed by chromeos-base/quickoffice.
-		doins "${WORKDIR}/quickoffice.squash"
-	fi
-
-	# Chrome test resources
-	# Test binaries are only available when building chrome from source
-	if use build_tests && [[ "${CHROME_ORIGIN}" == "LOCAL_SOURCE" ||
-		"${CHROME_ORIGIN}" == "SERVER_SOURCE" ]]; then
-		autotest-deponly_src_install
-		#env -uRESTRICT prepstrip "${D}${AUTOTEST_BASE}"
-	fi
-
-	# Copy input_methods.txt for XkbToKcmConverter & auto-test.
-	if [[ "${CHROME_ORIGIN}" == "LOCAL_SOURCE" ||
-			"${CHROME_ORIGIN}" == "SERVER_SOURCE" ]]; then
-		insinto /usr/share/chromeos-assets/input_methods
-		sed -E -e '/^#/d' -e '/^$/d' -e 's:  +: :g' \
-			"${CHROME_ROOT}"/src/chromeos/ime/input_methods.txt > "${T}/input_methods.txt" || die
-		doins "${T}/input_methods.txt"
-	fi
-
-	# Fix some perms.
-	# TODO(rcui): Remove this - shouldn't be needed, and is just covering up
-	# potential permissions bugs.
-	chmod -R a+r "${D}"
-	find "${D}" -perm /111 -print0 | xargs -0 chmod a+x
-
-	# The following symlinks are needed in order to run chrome.
-	# TODO(rcui): Remove this.  Not needed for running Chrome.
-	dosym libnss3.so /usr/lib/libnss3.so.1d
-	dosym libnssutil3.so.12 /usr/lib/libnssutil3.so.1d
-	dosym libsmime3.so.12 /usr/lib/libsmime3.so.1d
-	dosym libssl3.so.12 /usr/lib/libssl3.so.1d
-	dosym libplds4.so /usr/lib/libplds4.so.0d
-	dosym libplc4.so /usr/lib/libplc4.so.0d
-	dosym libnspr4.so /usr/lib/libnspr4.so.0d
-
-	# Create the main Chrome install directory.
-	dodir "${CHROME_DIR}"
-	insinto "${CHROME_DIR}"
-
-	# Install the orderfile into the chrome directory
-	if use orderfile_generate; then
-		[[ -f "${FROM}/chrome.orderfile.txt" ]] || die "No orderfile generated."
-		doins "${FROM}/chrome.orderfile.txt"
-	fi
-
-	# Install the unvetted orderfile into the chrome directory for upload.
-	if use orderfile_verify; then
-		[[ -f "${DISTDIR}/${UNVETTED_ORDERFILE}.xz" ]] || die "Lost the unvetted orderfile."
-		doins "${DISTDIR}/${UNVETTED_ORDERFILE}.xz"
-	fi
-
-	# Use the deploy_chrome from the *Chrome* checkout.  The benefit of
-	# doing this is if a new buildspec of Chrome requires a non-backwards
-	# compatible change to deploy_chrome, we can commit the fix to
-	# deploy_chrome without breaking existing Chrome OS release builds,
-	# and then roll the DEPS for chromite in the Chrome checkout.
-	#
-	# Another benefit is each version of Chrome will have the right
-	# corresponding version of deploy_chrome.
-	local cmd=( "${CHROME_ROOT}"/src/third_party/chromite/bin/deploy_chrome )
-	# Disable stripping for now, as deploy_chrome doesn't generate splitdebug files.
-	cmd+=(
-		"--board=${BOARD}"
-		"--build-dir=${FROM}"
-		"--gn-args=${GN_ARGS}"
-		# If this is enabled, we need to re-enable `prepstrip` above for autotests.
-		# You'll also have to re-add "strip" to the RESTRICT at the top of the file.
-		--nostrip
-		"--staging-dir=${D_CHROME_DIR}"
-		"--staging-flags=${USE}"
-		--staging-only
-		"--strip-bin=${STRIP}"
-		"--strip-flags=${PORTAGE_STRIP_FLAGS}"
-		--verbose
-	)
-	einfo "${cmd[*]}"
-	"${cmd[@]}" || die
-	LS=$(ls -alhS ${D}/${CHROME_DIR})
-	einfo "CHROME_DIR after deploy_chrome\n${LS}"
-
-	# Keep the .dwp files with debug fission.
-	if use chrome_debug && use debug_fission; then
-		mkdir -p "${D}/usr/lib/debug/${CHROME_DIR}"
-		DWP="${CHOST}"-dwp
-		cd "${D}/${CHROME_DIR}"
-		# Iterate over all ELF files in current directory
-		while read i; do
-			cd "${FROM}"
-			# These files do not build with -gsplit-dwarf,
-			# so we do not need to get a .dwp file from them.
-			if [[ "${i}" == "./libassistant.so"		|| \
-				"${i}" == "./nacl_helper_nonsfi"	|| \
-				"${i}" == "./nacl_helper_bootstrap"	|| \
-				"${i}" == "./nacl_irt_arm.nexe"		|| \
-				"${i}" == "./nacl_irt_x86_64.exe"	|| \
-				"${i}" == "./nacl_irt_x86_64.nexe"	|| \
-				"${i}" == "./libmojo_core_arc64.so"	|| \
-				"${i}" == "./libmojo_core_arc32.so"	|| \
-				"${i}" == "./libwidevinecdm.so" ]] ; then
-				continue
-			fi
-			source="${i}"
-			${DWP} -e "${FROM}/${source}" -o "${D}/usr/lib/debug/${CHROME_DIR}/${i}.dwp" || die
-		done < <(scanelf -ByF '%F' ".")
-	fi
-
-	if use build_tests; then
-		# Install Chrome Driver to test image.
-		local chromedriver_dir='/usr/local/chromedriver'
-		dodir "${chromedriver_dir}"
-		cp -pPR "${FROM}"/chromedriver "${D}/${chromedriver_dir}" || die
-
-		if use chrome_internal; then
-			# Install LibAssistant test library to test image.
-			into /usr/local/
-			dolib.so "${FROM}"/libassistant_debug.so
-		fi
-
-		# Install a testing script to run Lacros from command line.
-		into /usr/local
-		dobin "${CHROME_ROOT}"/src/build/lacros/mojo_connection_lacros_launcher.py
-	fi
-	# The icu data is used by both chromeos-base/chrome-icu and this package.
-	# chromeos-base/chrome-icu is responsible for installing the icu
-	# data, so we remove it from ${D} here.
-	rm "${D_CHROME_DIR}/icudtl.dat" || die
-}
-
-pkg_preinst() {
-	enewuser "wayland"
-	enewgroup "wayland"
-	LS=$(ls -alhS ${ED}/${CHROME_DIR})
-	einfo "CHROME_DIR after installation\n${LS}"
-	CHROME_SIZE=$(stat --printf="%s" ${ED}/${CHROME_DIR}/chrome)
-	einfo "CHROME_SIZE = ${CHROME_SIZE}"
-
-	# Non-internal builds come with >10MB of unwinding info built-in. Size
-	# checks on those are less profitable.
-	if [[ ${CHROME_SIZE} -ge 250000000 && -z "${KEEP_CHROME_DEBUG_SYMBOLS}" ]] && use chrome_internal && ! use chrome_dcheck; then
-		die "Installed chrome binary got suspiciously large (size=${CHROME_SIZE})."
-	fi
-	if use arm; then
-		local files=$(find "${ED}/usr/lib/debug${CHROME_DIR}" -size +$((4 * 1024 * 1024 * 1024 - 1))c)
-		[[ -n ${files} ]] && die "Debug files exceed 4GiB: ${files}"
-	fi
-	# Verify that the elf program headers in splitdebug binary match the chrome
-	# binary, this is needed for correct symbolization in CWP.
-	# b/128861198, https://crbug.com/1007548 .
-	if [[ ${MERGE_TYPE} != binary ]] && use strict_toolchain_checks; then
-		local chrome_headers=$(${READELF} --program-headers --wide \
-			"${ED}/${CHROME_DIR}"/chrome | grep LOAD)
-		local chrome_debug_headers=$(${READELF} --program-headers --wide \
-			"${ED}/usr/lib/debug${CHROME_DIR}"/chrome.debug | grep LOAD)
-		[[ "${chrome_headers}" != "${chrome_debug_headers}" ]] && \
-			die "chrome program headers do not match chrome.debug"
-	fi
-}
-
-pkg_postinst() {
-	autotest_pkg_postinst
-}
diff --git a/chromeos-base/chromeos-chrome/chromeos-chrome-100.0.4888.0_rc-r2.ebuild b/chromeos-base/chromeos-chrome/chromeos-chrome-100.0.4888.0_rc-r2.ebuild
deleted file mode 100644
index d712822..0000000
--- a/chromeos-base/chromeos-chrome/chromeos-chrome-100.0.4888.0_rc-r2.ebuild
+++ /dev/null
@@ -1,1447 +0,0 @@
-# Copyright 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-# Usage: by default, downloads chromium browser from the build server.
-# If CHROME_ORIGIN is set to one of {SERVER_SOURCE, LOCAL_SOURCE, LOCAL_BINARY},
-# the build comes from the chromimum source repository (gclient sync),
-# build server, locally provided source, or locally provided binary.
-# If you are using SERVER_SOURCE, a gclient template file that is in the files
-# directory which will be copied automatically during the build and used as
-# the .gclient for 'gclient sync'.
-# If building from LOCAL_SOURCE or LOCAL_BINARY specifying BUILDTYPE
-# will allow you to specify "Debug" or another build type; "Release" is
-# the default.
-
-EAPI=7
-
-# TODO(crbug.com/984182): We force Python 2 because depot_tools doesn't support Python 3.
-PYTHON_COMPAT=( python2_7 )
-inherit autotest-deponly binutils-funcs chromium-source cros-credentials cros-constants cros-sanitizers eutils flag-o-matic git-2 multilib toolchain-funcs user python-any-r1 multiprocessing
-
-DESCRIPTION="Open-source version of Google Chrome web browser"
-HOMEPAGE="http://www.chromium.org/"
-SRC_URI=""
-
-LICENSE="BSD-Google chrome_internal? ( Google-TOS )"
-SLOT="0"
-KEYWORDS="*"
-IUSE="
-	+afdo_use
-	afdo_verify
-	+accessibility
-	app_shell
-	arc_hw_oemcrypto
-	asan
-	+authpolicy
-	+build_tests
-	cdm_factory_daemon
-	+chrome_debug
-	+cfi
-	cfm
-	chrome_debug_tests
-	chrome_dcheck
-	chrome_internal
-	chrome_media
-	+chrome_remoting
-	clang_tidy
-	component_build
-	cros-debug
-	debug_fission
-	+dwarf5
-	+fonts
-	hibernate
-	hw_details
-	goma
-	goma_thinlto
-	+highdpi
-	iioservice
-	intel_oemcrypto
-	internal_gles_conform
-	+libcxx
-	libinput
-	mojo
-	msan
-	+nacl
-	neon
-	+oobe_config
-	opengl
-	opengles
-	orderfile_generate
-	+orderfile_use
-	orderfile_verify
-	remoteexec
-	+runhooks
-	strict_toolchain_checks
-	subpixel_rendering
-	+thinlto
-	touchview
-	tpm_dynamic
-	ubsan
-	v4l2_codec
-	v4lplugin
-	vaapi
-	verbose
-	vtable_verify
-	xkbcommon
-	"
-REQUIRED_USE="
-	cfi? ( thinlto )
-	afdo_verify? ( !afdo_use )
-	orderfile_generate? ( !orderfile_use )
-	?? ( goma remoteexec )
-	"
-
-OZONE_PLATFORM_PREFIX=ozone_platform_
-OZONE_PLATFORMS=(gbm cast headless egltest caca)
-IUSE_OZONE_PLATFORMS="${OZONE_PLATFORMS[@]/#/${OZONE_PLATFORM_PREFIX}}"
-IUSE+=" ${IUSE_OZONE_PLATFORMS}"
-OZONE_PLATFORM_DEFAULT_PREFIX=ozone_platform_default_
-IUSE_OZONE_PLATFORM_DEFAULTS="${OZONE_PLATFORMS[@]/#/${OZONE_PLATFORM_DEFAULT_PREFIX}}"
-IUSE+=" ${IUSE_OZONE_PLATFORM_DEFAULTS}"
-REQUIRED_USE+=" ^^ ( ${IUSE_OZONE_PLATFORM_DEFAULTS} )"
-
-# The gclient hooks that run in src_prepare hit the network.
-# https://crbug.com/731905
-RESTRICT="network-sandbox mirror"
-
-# Do not strip the nacl_helper_bootstrap binary because the binutils
-# objcopy/strip mangles the ELF program headers.
-# TODO(mcgrathr,vapier): This should be removed after portage's prepstrip
-# script is changed to use eu-strip instead of objcopy and strip.
-STRIP_MASK+=" */nacl_helper_bootstrap"
-
-# Portage version without optional portage suffix.
-CHROME_VERSION="${PV/_*/}"
-
-# chrome destination directory
-CHROME_DIR=/opt/google/chrome
-D_CHROME_DIR="${D}/${CHROME_DIR}"
-
-# For compilation/local chrome
-BUILDTYPE="${BUILDTYPE:-Release}"
-BOARD="${BOARD:-${SYSROOT##/build/}}"
-BUILD_OUT="${BUILD_OUT:-out_${BOARD}}"
-# WARNING: We are using a symlink now for the build directory to work around
-# command line length limits. This will cause problems if you are doing
-# parallel builds of different boards/variants.
-# Unsetting BUILD_OUT_SYM will revert this behavior
-BUILD_OUT_SYM="c"
-
-UNVETTED_ORDERFILE_LOCATION=${AFDO_GS_DIRECTORY:-"gs://chromeos-toolchain-artifacts/orderfile/unvetted"}
-
-# The following entry will be modified automatically for verifying orderfile or AFDO profile.
-UNVETTED_ORDERFILE=""
-UNVETTED_AFDO_FILE=""
-
-add_orderfiles() {
-	# For verify orderfile, only for a toolchain special build.
-	if [[ -n ${UNVETTED_ORDERFILE} ]]; then
-		SRC_URI+=" orderfile_verify? ( ${UNVETTED_ORDERFILE_LOCATION}/${UNVETTED_ORDERFILE}.xz )"
-	fi
-}
-
-add_orderfiles
-
-RDEPEND="${RDEPEND}
-	app-arch/bzip2
-	app-crypt/mit-krb5
-	app-misc/edid-decode
-	authpolicy? ( chromeos-base/authpolicy )
-	~chromeos-base/chrome-icu-${PV}
-	chromeos-base/gestures
-	chromeos-base/libevdev:=
-	fonts? ( chromeos-base/chromeos-fonts )
-	chrome_internal? ( chromeos-base/quickoffice )
-	dev-libs/nspr
-	>=dev-libs/nss-3.12.2
-	libinput? ( dev-libs/libinput:= )
-	>=media-libs/alsa-lib-1.0.19
-	media-libs/fontconfig
-	media-libs/libsync
-	x11-libs/libdrm
-	ozone_platform_gbm? ( media-libs/minigbm )
-	v4lplugin? ( media-libs/libv4lplugins )
-	>=media-sound/adhd-0.0.1-r310
-	net-print/cups
-	opengl? ( virtual/opengl )
-	opengles? ( virtual/opengles )
-	sys-apps/dbus
-	sys-apps/pciutils
-	virtual/udev
-	sys-libs/libcap
-	chrome_remoting? ( sys-libs/pam )
-	vaapi? ( x11-libs/libva )
-	xkbcommon? (
-		x11-libs/libxkbcommon
-		x11-misc/xkeyboard-config
-	)
-	accessibility? (
-		app-accessibility/brltty
-		app-accessibility/espeak-ng
-		app-accessibility/googletts
-	)
-	libcxx? (
-		sys-libs/libcxxabi
-		sys-libs/libcxx
-	)
-	oobe_config? ( chromeos-base/oobe_config )
-	iioservice? ( chromeos-base/iioservice )
-	hibernate? ( chromeos-base/hiberman )
-	"
-
-DEPEND="${DEPEND}
-	${RDEPEND}
-	chromeos-base/protofiles
-	>=dev-util/gperf-3.0.3
-	>=dev-util/pkgconfig-0.23
-	arm? ( x11-libs/libdrm )
-"
-
-PATCHES=()
-
-AUTOTEST_COMMON="src/chrome/test/chromeos/autotest/files"
-AUTOTEST_DEPS="${AUTOTEST_COMMON}/client/deps"
-AUTOTEST_DEPS_LIST="chrome_test telemetry_dep"
-
-IUSE="${IUSE} +autotest"
-
-
-QA_TEXTRELS="*"
-QA_EXECSTACK="*"
-QA_PRESTRIPPED="*"
-
-use_nacl() {
-	# 32bit asan conflicts with nacl: crosbug.com/38980
-	! (use asan && [[ ${ARCH} == "x86" ]]) && \
-	! use component_build && use nacl
-}
-
-# Like the `usex` helper:
-# Usage: echox [int] [echo-if-true] [echo-if-false]
-# If [int] is 0, then echo the 2nd arg (default of yes), else
-# echo the 3rd arg (default of no).
-echox() {
-	# Like the `usex` helper.
-	[[ ${1:-$?} -eq 0 ]] && echo "${2:-yes}" || echo "${3:-no}"
-}
-echotf() { echox ${1:-$?} true false ; }
-usetf()  { usex $1 true false ; }
-
-use_remoteexec() {
-	[[ "${USE_REMOTEEXEC:-$(usetf remoteexec)}" == "true" ]]
-}
-
-use_goma() {
-	[[ "${USE_GOMA:-$(usetf goma)}" == "true" ]]
-}
-
-should_upload_build_logs() {
-	[[ -n "${GOMA_TMP_DIR}" && -n "${GLOG_log_dir}" && \
-		"${GLOG_log_dir}" == "${GOMA_TMP_DIR}"* ]]
-}
-
-set_build_args() {
-	# use goma_thinlto says that if we are using Goma and ThinLTO, use
-	# Goma for distributed code generation. So only set the corresponding
-	# gn arg to true if all three conditions are met.
-	use_goma_thin_lto=$(use goma_thinlto && use_goma && use thinlto; echotf)
-	BUILD_ARGS=(
-		"is_chromeos_device=true"
-		# is_official_build sometimes implies extra optimizations (e.g. it will allow
-		# ThinLTO to optimize more aggressively, if ThinLTO is enabled). Please note
-		# that, despite the name, it should be usable by external users.
-		#
-		# Sanitizers don't like official builds.
-		"is_official_build=$(use_sanitizers false true)"
-
-		"is_debug=false"
-		"${EXTRA_GN_ARGS}"
-		"enable_pseudolocales=$(usetf cros-debug)"
-		"use_arc_protected_media=$(usetf arc_hw_oemcrypto)"
-		"use_chromeos_protected_av1=$(usetf intel_oemcrypto)"
-		"use_chromeos_protected_media=$(usetf cdm_factory_daemon)"
-		"use_iioservice=$(usetf iioservice)"
-		"use_v4l2_codec=$(usetf v4l2_codec)"
-		"use_v4lplugin=$(usetf v4lplugin)"
-		"use_vaapi=$(usetf vaapi)"
-		"use_xkbcommon=$(usetf xkbcommon)"
-		"enable_remoting=$(usetf chrome_remoting)"
-		"enable_nacl=$(use_nacl; echotf)"
-		"enable_hibernate=$(usetf hibernate)"
-		# use_system_minigbm is set below.
-
-		"is_cfm=$(usetf cfm)"
-
-		# Clang features.
-		"is_asan=$(usetf asan)"
-		"is_msan=$(usetf msan)"
-		"is_ubsan=$(usetf ubsan)"
-		"is_clang=true"
-		"use_thin_lto=$(usetf thinlto)"
-		"use_goma_thin_lto=${use_goma_thin_lto}"
-		"is_cfi=$(usetf cfi)"
-		"use_dwarf5=$(usetf dwarf5)"
-
-		# Assistant integration tests are only run on the Chromium bots,
-		# but they increase the size of libassistant.so by 1.3MB so we
-		# disable them here.
-		"enable_assistant_integration_tests=false"
-
-		# Generate debug info necessary for AutoFDO.
-		"clang_emit_debug_info_for_profiling=true"
-
-		# Add libinput to handle touchpad.
-		"use_libinput=$(usetf libinput)"
-
-		# Enable NSS slots software fallback when we are using runtime TPM selection.
-		"nss_slots_software_fallback=$(usetf tpm_dynamic)"
-
-		# Add hardware information to feedback logs and chrome://system.
-		"is_chromeos_with_hw_details=$(usetf hw_details)"
-	)
-
-	# BUILD_STRING_ARGS needs appropriate quoting. So, we keep them separate and
-	# add them to BUILD_ARGS at the end.
-	BUILD_STRING_ARGS=(
-		"target_sysroot=${SYSROOT}"
-		"system_libdir=$(get_libdir)"
-		"pkg_config=$(tc-getPKG_CONFIG)"
-		"target_os=chromeos"
-		"host_pkg_config=$(tc-getBUILD_PKG_CONFIG)"
-		"clang_diagnostic_dir=/tmp/clang_crash_diagnostics"
-	)
-	use internal_gles_conform && BUILD_ARGS+=( "internal_gles2_conform_tests=true" )
-
-	# Ozone platforms.
-	local platform
-	for platform in ${OZONE_PLATFORMS[@]}; do
-		local flag="${OZONE_PLATFORM_DEFAULT_PREFIX}${platform}"
-		if use "${flag}"; then
-			BUILD_STRING_ARGS+=( "ozone_platform=${platform}" )
-		fi
-	done
-	BUILD_ARGS+=(
-		"ozone_auto_platforms=false"
-	)
-	for platform in ${IUSE_OZONE_PLATFORMS}; do
-		if use "${platform}"; then
-			BUILD_ARGS+=( "${platform}=true" )
-		fi
-	done
-	if use "ozone_platform_gbm"; then
-		BUILD_ARGS+=( "use_system_minigbm=true" )
-		BUILD_ARGS+=( "use_system_libdrm=true" )
-	fi
-	if ! use "subpixel_rendering" || use "touchview"; then
-		BUILD_ARGS+=( "subpixel_font_rendering_disabled=true" )
-	fi
-
-	# Set proper build args for the arch
-	case "${ARCH}" in
-	x86)
-		BUILD_STRING_ARGS+=( "target_cpu=x86" )
-		;;
-	arm)
-		BUILD_ARGS+=(
-			"arm_use_neon=$(usetf neon)"
-			# To workaround the 4GB debug limit. crbug.com/792999.
-			"blink_symbol_level=1"
-		)
-		BUILD_STRING_ARGS+=(
-			"target_cpu=arm"
-			"arm_float_abi=hard"
-		)
-		local arm_arch=$(get-flag march)
-		if [[ -n "${arm_arch}" ]]; then
-			BUILD_STRING_ARGS+=( "arm_arch=${arm_arch}" )
-		fi
-		;;
-	arm64)
-		BUILD_STRING_ARGS+=(
-			"target_cpu=arm64"
-		)
-		local arm_arch=$(get-flag march)
-		if [[ -n "${arm_arch}" ]]; then
-			BUILD_STRING_ARGS+=( "arm_arch=${arm_arch}" )
-		fi
-		;;
-	amd64)
-		BUILD_STRING_ARGS+=( "target_cpu=x64" )
-		;;
-	mips)
-		local mips_arch target_arch
-
-		mips_arch="$($(tc-getCPP) ${CFLAGS} ${CPPFLAGS} -E -P - <<<_MIPS_ARCH)"
-		# Strip away any enclosing quotes.
-		mips_arch="${mips_arch//\"}"
-		# TODO(benchan): Use tc-endian from toolchain-func to determine endianess
-		# when Chrome later cares about big-endian.
-		case "${mips_arch}" in
-		mips64*)
-			target_arch=mips64el
-			;;
-		*)
-			target_arch=mipsel
-			;;
-		esac
-
-		BUILD_STRING_ARGS+=(
-			"target_cpu=${target_arch}"
-			"mips_arch_variant=${mips_arch}"
-		)
-		;;
-	*)
-		die "Unsupported architecture: ${ARCH}"
-		;;
-	esac
-
-	if use chrome_internal; then
-		# Adding chrome branding specific variables.
-		BUILD_ARGS+=( "is_chrome_branded=true" )
-		# This test can only be build from internal sources.
-		BUILD_ARGS+=( "internal_gles2_conform_tests=true" )
-		export CHROMIUM_BUILD='_google_Chrome'
-		export OFFICIAL_BUILD='1'
-		export CHROME_BUILD_TYPE='_official'
-	elif use chrome_media; then
-		echo "Building Chromium with additional media codecs and containers."
-		BUILD_ARGS+=( "proprietary_codecs=true" )
-		BUILD_STRING_ARGS+=( "ffmpeg_branding=ChromeOS" )
-	fi
-
-	if use component_build; then
-		BUILD_ARGS+=( "is_component_build=true" )
-	fi
-	if use_goma; then
-		BUILD_ARGS+=( "use_goma=true" )
-		BUILD_STRING_ARGS+=( "goma_dir=${GOMA_DIR:-/home/${WHOAMI}/goma}" )
-
-		# Goma compiler proxy runs outside of portage build.
-		# Practically, because TMPDIR is set in portage, it is
-		# different from the directory used when the compiler proxy
-		# started.
-		# If GOMA_TMP_DIR is not set, the compiler proxy uses
-		# TMPDIR/goma_${WHOAMI} for its tmpdir as fallback, which
-		# causes unexpected behavior.
-		# Specifically, named socket used to communicate with compiler
-		# proxy is ${GOMA_TMP_DIR}/goma.ipc by default, so the compiler
-		# proxy cannot be reached.
-		# Thus, here set GOMA_TMP_DIR to /tmp/goma_${WHOAMI} if it is
-		# not yet set.
-		if [[ -z "${GOMA_TMP_DIR}" ]]; then
-			export GOMA_TMP_DIR="/tmp/goma_${WHOAMI}"
-		fi
-	fi
-
-	if use_remoteexec; then
-		BUILD_ARGS+=(
-			"use_remoteexec=true"
-			"use_rbe=true"
-		)
-		BUILD_STRING_ARGS+=(
-			"rbe_cc_cfg_file=${CHROME_ROOT}/src/buildtools/reclient_cfgs/rewrapper_chroot_compile.cfg"
-		)
-	fi
-
-	if use chrome_debug; then
-		# Use debug fission to avoid 4GB limit of ELF32 (see crbug.com/595763).
-		# Using -g1 causes problems with crash server (see crbug.com/601854).
-		# Disable debug_fission for bots which generate AFDO profile. (see crbug.com/704602).
-		local debug_level=2
-		if use arm && ! use debug_fission; then
-			# Limit debug info to -g1 to keep the binary size within 4GB.
-			# Production builds do not use "-debug_fission". But it is used
-			# by the AFDO builders and AFDO tools are fine with debug_level=1.
-			debug_level=1
-		fi
-		BUILD_ARGS+=(
-			"use_debug_fission=$(usetf debug_fission)"
-			"symbol_level=${debug_level}"
-		)
-		if use debug_fission; then
-			# The breakpad cannot handle the debug files generated by
-			# llvm and debug fission properly. crosbug.com/710605
-			append-flags -fno-split-dwarf-inlining
-		fi
-	fi
-
-	# dcheck_always_on may default to true depending on the value of args
-	# above, which we might not want. So let the chrome_dcheck USE flag
-	# determine its value.
-	BUILD_ARGS+=("dcheck_always_on=$(usetf chrome_dcheck)")
-}
-
-unpack_chrome() {
-	# Add depot_tools to PATH, local chroot builds fail otherwise.
-	export PATH=${PATH}:${DEPOT_TOOLS}
-
-	local cmd=( "${CHROMITE_BIN_DIR}"/sync_chrome )
-	use chrome_internal && cmd+=( --internal )
-	if [[ "${CHROME_VERSION}" != "9999" ]]; then
-		cmd+=( "--tag=${CHROME_VERSION}" )
-	fi
-	# --reset tells sync_chrome to blow away local changes and to feel
-	# free to delete any directories that get in the way of syncing. This
-	# is needed for unattended operation.
-	cmd+=( --reset "--gclient=${EGCLIENT}" "${CHROME_DISTDIR}" )
-	elog "${cmd[*]}"
-	# TODO(crbug.com/1103048): Disable the sandbox when syncing the code.
-	# It seems to break gclient execution at random for unknown reasons.
-	# Children stop being tracked, or no git repos actually get cloned.
-	SANDBOX_ON=0 "${cmd[@]}" || die
-}
-
-decide_chrome_origin() {
-	if [[ "${PV}" == "9999" ]]; then
-		# LOCAL_SOURCE is the default for cros_workon.
-		# Warn the user if CHROME_ORIGIN is already set.
-		if [[ -n "${CHROME_ORIGIN}" && "${CHROME_ORIGIN}" != LOCAL_SOURCE ]]; then
-			ewarn "CHROME_ORIGIN is already set to ${CHROME_ORIGIN}."
-			ewarn "This will prevent you from building from your local checkout."
-			ewarn "Please run 'unset CHROME_ORIGIN' to reset Chrome"
-			ewarn "to the default source location."
-		fi
-		: "${CHROME_ORIGIN:=LOCAL_SOURCE}"
-	else
-		# By default, pull from server.
-		: "${CHROME_ORIGIN:=SERVER_SOURCE}"
-	fi
-}
-
-sandboxless_ensure_directory() {
-	local dir
-	for dir in "$@"; do
-		if [[ ! -d "${dir}" ]] ; then
-			# We need root access to create these directories, so we need to
-			# use sudo. This implicitly disables the sandbox.
-			sudo mkdir -p "${dir}" || die
-			sudo chown "${PORTAGE_USERNAME}:portage" "${dir}" || die
-			sudo chmod 0755 "${dir}" || die
-		fi
-	done
-}
-
-src_unpack() {
-	echo
-	ewarn "If you want to develop or hack on the browser itself, you should follow the"
-	ewarn "simple chrome workflow instead of using emerge:"
-	ewarn "https://chromium.googlesource.com/chromiumos/docs/+/master/simple_chrome_workflow.md"
-	echo
-
-	tc-export CC CXX
-	local WHOAMI=$(whoami)
-
-	CHROME_SRC="chrome-src"
-	if use chrome_internal; then
-		CHROME_SRC+="-internal"
-	fi
-
-	# CHROME_CACHE_DIR is used for storing output artifacts, and is always a
-	# regular directory inside the chroot (i.e. it's never mounted in, so it's
-	# always safe to use cp -al for these artifacts).
-	: "${CHROME_CACHE_DIR:="/var/cache/chromeos-chrome/${CHROME_SRC}"}"
-	addwrite "${CHROME_CACHE_DIR}"
-
-	# CHROME_DISTDIR is used for storing the source code, if any source code
-	# needs to be unpacked at build time (e.g. in the SERVER_SOURCE scenario.)
-	# It will be mounted into the chroot, so it is never safe to use cp -al
-	# for these files.
-	: "${CHROME_DISTDIR:="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/${CHROME_SRC}"}"
-	addwrite "${CHROME_DISTDIR}"
-
-	# Create storage directories.
-	sandboxless_ensure_directory "${CHROME_DISTDIR}" "${CHROME_CACHE_DIR}"
-
-	cros-credentials_setup
-
-	decide_chrome_origin
-
-	case "${CHROME_ORIGIN}" in
-	LOCAL_SOURCE|SERVER_SOURCE|LOCAL_BINARY)
-		einfo "CHROME_ORIGIN VALUE is ${CHROME_ORIGIN}"
-		;;
-	*)
-		die "CHROME_ORIGIN not one of LOCAL_SOURCE, SERVER_SOURCE, LOCAL_BINARY"
-		;;
-	esac
-
-	# Prepare and set CHROME_ROOT based on CHROME_ORIGIN.
-	# CHROME_ROOT is the location where the source code is used for compilation.
-	# If we're in SERVER_SOURCE mode, CHROME_ROOT is CHROME_DISTDIR. In LOCAL_SOURCE
-	# mode, this directory may be set manually to any directory. It may be mounted
-	# into the chroot, so it is not safe to use cp -al for these files.
-	# These are set here because $(whoami) returns the proper user here,
-	# but 'root' at the root level of the file
-	case "${CHROME_ORIGIN}" in
-	(SERVER_SOURCE)
-		elog "Using CHROME_VERSION = ${CHROME_VERSION}"
-		if [[ ${WHOAMI} == "chrome-bot" ]]; then
-			# TODO: Should add a sanity check that the version checked out is
-			# what we actually want.  Not sure how to do that though.
-			elog "Skipping syncing as cbuildbot ran SyncChrome for us."
-		else
-			unpack_chrome
-		fi
-
-		elog "set the chrome source root to ${CHROME_DISTDIR}"
-		elog "From this point onwards there is no difference between \
-			SERVER_SOURCE and LOCAL_SOURCE, since the fetch is done"
-		CHROME_ROOT=${CHROME_DISTDIR}
-		;;
-	(LOCAL_SOURCE)
-		: ${CHROME_ROOT:=/home/${WHOAMI}/chrome_root}
-		if [[ ! -d "${CHROME_ROOT}/src" ]]; then
-			die "${CHROME_ROOT} does not contain a valid chromium checkout!"
-		fi
-		addwrite "${CHROME_ROOT}"
-		;;
-	esac
-
-	case "${CHROME_ORIGIN}" in
-	LOCAL_SOURCE|SERVER_SOURCE)
-		set_build_args
-		;;
-	esac
-
-	# FIXME: This is the normal path where ebuild stores its working data.
-	# Chrome builds inside distfiles because of speed, so we at least make
-	# a symlink here to add compatibility with autotest eclass which uses this.
-	ln -sf "${CHROME_ROOT}" "${WORKDIR}/${P}"
-
-	if use internal_gles_conform; then
-		local CHROME_GLES2_CONFORM=${CHROME_ROOT}/src/third_party/gles2_conform
-		local CROS_GLES2_CONFORM=/home/${WHOAMI}/trunk/src/third_party/gles2_conform
-		if [[ ! -d "${CHROME_GLES2_CONFORM}" ]]; then
-			if [[ -d "${CROS_GLES2_CONFORM}" ]]; then
-				ln -s "${CROS_GLES2_CONFORM}" "${CHROME_GLES2_CONFORM}"
-				einfo "Using GLES2 conformance test suite from ${CROS_GLES2_CONFORM}"
-			else
-				die "Trying to build GLES2 conformance test suite without ${CHROME_GLES2_CONFORM} or ${CROS_GLES2_CONFORM}"
-			fi
-		fi
-	fi
-
-	if use afdo_use; then
-		# Use AFDO profile downloaded in Chromium source code
-		# If needed profiles other than "silvermont", please set the variable
-		# ${AFDO_PROFILE_SOURCE} accordingly.
-		local afdo_src="${AFDO_PROFILE_SOURCE:-atom}"
-		BUILD_ARGS+=( "clang_use_default_sample_profile=true" )
-		BUILD_STRING_ARGS+=( "chromeos_afdo_platform=${afdo_src}" )
-	fi
-
-	# Use to verify a local unvetted AFDO file.
-	if use afdo_verify; then
-		if [[ ! -e "${UNVETTED_AFDO_FILE}" ]]; then
-			die "Cannot find ${UNVETTED_AFDO_FILE} to build Chrome."
-		fi
-		BUILD_STRING_ARGS+=( "clang_sample_profile_path=${UNVETTED_AFDO_FILE}" )
-	fi
-
-	# Unpack unvetted orderfile.
-	if use orderfile_verify; then
-		local orderfile_dir="${WORKDIR}/orderfile"
-		mkdir "${orderfile_dir}"
-		local orderfile_file=${UNVETTED_ORDERFILE}
-		(cd "${orderfile_dir}" && unpack "${orderfile_file}.xz") || die
-
-		local orderfile_loc="${orderfile_dir}/${orderfile_file}"
-		einfo "Using ${orderfile_loc} as orderfile for ordering Chrome"
-
-		# Pass the path to orderfile to GN args.
-		BUILD_STRING_ARGS+=( "chrome_orderfile_path=${orderfile_loc}" )
-	fi
-
-	if ! use orderfile_use; then
-		# If not using orderfile, override the default orderfile path to empty.
-		BUILD_STRING_ARGS+=( "chrome_orderfile_path=" )
-	fi
-}
-
-add_api_keys() {
-	# awk script to extract the values out of the file.
-	local EXTRACT="{ gsub(/[',]/, \"\", \$2); print \$2 }"
-	local api_key=$(awk "/google_api_key/ ${EXTRACT}" "$1")
-	local client_id=$(awk "/google_default_client_id/ ${EXTRACT}" "$1")
-	local client_secret=$(awk "/google_default_client_secret/ ${EXTRACT}" "$1")
-
-	BUILD_STRING_ARGS+=(
-		"google_api_key=${api_key}"
-		"google_default_client_id=${client_id}"
-		"google_default_client_secret=${client_secret}"
-	)
-}
-
-src_prepare() {
-	# Must call eapply_user in EAPI 7, but this function is a no-op here.
-	eapply_user
-
-	if [[ "${CHROME_ORIGIN}" != "LOCAL_SOURCE" &&
-			"${CHROME_ORIGIN}" != "SERVER_SOURCE" ]]; then
-		return
-	fi
-
-	elog "${CHROME_ROOT} should be set here properly"
-	cd "${CHROME_ROOT}/src" || die "Cannot chdir to ${CHROME_ROOT}"
-
-	# We do symlink creation here if appropriate.
-	mkdir -p "${CHROME_CACHE_DIR}/src/${BUILD_OUT}"
-	if [[ ! -z "${BUILD_OUT_SYM}" ]]; then
-		rm -rf "${BUILD_OUT_SYM}" || die "Could not remove symlink"
-		ln -sfT "${CHROME_CACHE_DIR}/src/${BUILD_OUT}" "${BUILD_OUT_SYM}" ||
-			die "Could not create symlink for output directory"
-	fi
-
-
-	# Apply patches for non-localsource builds.
-	if [[ "${CHROME_ORIGIN}" == "SERVER_SOURCE" && ${#PATCHES[@]} -gt 0 ]]; then
-		eapply "${PATCHES[@]}"
-	fi
-
-	local WHOAMI=$(whoami)
-	# Get the credentials to fake home directory so that the version of chromium
-	# we build can access Google services. First, check for Chrome credentials.
-	if [[ ! -d google_apis/internal ]]; then
-		# Then look for Chrome OS supplied credentials.
-		local PRIVATE_OVERLAYS_DIR=/home/${WHOAMI}/trunk/src/private-overlays
-		local GAPI_CONFIG_FILE=${PRIVATE_OVERLAYS_DIR}/chromeos-overlay/googleapikeys
-		if [[ ! -f "${GAPI_CONFIG_FILE}" ]]; then
-			# Then developer credentials.
-			GAPI_CONFIG_FILE=/home/${WHOAMI}/.googleapikeys
-		fi
-		if [[ -f "${GAPI_CONFIG_FILE}" ]]; then
-			add_api_keys "${GAPI_CONFIG_FILE}"
-		fi
-	fi
-}
-
-setup_test_lists() {
-	TEST_FILES=(
-		capture_unittests
-		dawn_end2end_tests
-		dawn_unittests
-		gl_tests
-		jpeg_decode_accelerator_unittest
-		ozone_gl_unittests
-		sandbox_linux_unittests
-		wayland_client_integration_tests
-		wayland_client_perftests
-	)
-
-	TEST_FILES+=( ppapi/examples/video_decode )
-
-	if use vaapi || use v4l2_codec; then
-		TEST_FILES+=(
-			image_processor_test
-			jpeg_encode_accelerator_unittest
-			video_decode_accelerator_perf_tests
-			video_decode_accelerator_tests
-			video_encode_accelerator_perf_tests
-			video_encode_accelerator_tests
-		)
-	fi
-
-	if use vaapi; then
-		TEST_FILES+=(
-			decode_test
-			vaapi_unittest
-		)
-	fi
-
-	if use v4l2_codec; then
-		TEST_FILES+=(
-			v4l2_stateless_decoder
-		)
-	fi
-
-	# TODO(ihf): Figure out how to keep this in sync with telemetry.
-	TOOLS_TELEMETRY_BIN=(
-		bitmaptools
-		clear_system_cache
-		minidump_stackwalk
-	)
-
-	PPAPI_TEST_FILES=(
-		lib{32,64}
-		mock_nacl_gdb
-		ppapi_nacl_tests_{newlib,glibc}.nmf
-		ppapi_nacl_tests_{newlib,glibc}_{x32,x64,arm,arm64}.nexe
-		test_case.html
-		test_case.html.mock-http-headers
-		test_page.css
-		test_url_loader_data
-	)
-}
-
-# Handle all CFLAGS/CXXFLAGS/etc... munging here.
-setup_compile_flags() {
-	# Chrome controls its own optimization settings, so this would be a nop
-	# if we were to run it. Leave it here anyway as a grep-friendly marker.
-	# cros_optimize_package_for_speed
-
-	# The chrome makefiles specify -O and -g flags already, so remove the
-	# portage flags.
-	filter-flags -g "-O*"
-
-	# Remove unsupported arm64 linker flag on arm32 builds.
-	# https://crbug.com/889079
-	use arm && filter-flags "-Wl,--fix-cortex-a53-843419"
-
-	# There are some flags we want to only use in the ebuild.
-	# The rest will be exported to the simple chrome workflow.
-	EBUILD_CFLAGS=()
-	EBUILD_CXXFLAGS=()
-	EBUILD_LDFLAGS=()
-
-	if use thinlto; then
-		# if using thinlto, we need to pass the equivalent of
-		# -fdebug-types-section to the backend, to prevent out-of-range
-		# relocations (see
-		# https://bugs.chromium.org/p/chromium/issues/detail?id=1032159).
-		append-ldflags -Wl,-mllvm
-		append-ldflags -Wl,-generate-type-units
-	else
-		# Non-ThinLTO builds with symbol_level=2 may have out-of-range
-		# relocations, too: crbug.com/1050819.
-		append-flags -fdebug-types-section
-	fi
-
-	if use orderfile_generate; then
-		local chrome_outdir="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
-		BUILD_STRING_ARGS+=( "dump_call_chain_clustering_order=${chrome_outdir}/chrome.orderfile.txt" )
-		# Enable call graph profile sort (C3) to generate orderfile.
-		BUILD_ARGS+=( "enable_call_graph_profile_sort=true" )
-	fi
-
-	# Enable std::vector []-operator bounds checking.
-	append-cxxflags -D__google_stl_debug_vector=1
-
-	# Chrome and Chrome OS versions of the compiler may not be in
-	# sync. So, don't complain if Chrome uses a diagnostic
-	# option that is not yet implemented in the compiler version used
-	# by Chrome OS.
-	# Turns out this is only really supported by Clang. See crosbug.com/615466
-	# Add "-faddrsig" flag required to efficiently support "--icf=all".
-	append-flags -faddrsig
-	append-flags -Wno-unknown-warning-option
-	export CXXFLAGS_host+=" -Wno-unknown-warning-option"
-	export CFLAGS_host+=" -Wno-unknown-warning-option"
-	export LDFLAGS_host+=" --unwindlib=libgcc"
-	if use libcxx; then
-		append-cxxflags "-stdlib=libc++"
-		append-ldflags "-stdlib=libc++"
-	fi
-
-	# Workaround: Disable fatal linker warnings on arm64/lld.
-	# https://crbug.com/913071
-	use arm64 && append-ldflags "-Wl,--no-fatal-warnings"
-	# Workaround: Disable fatal linker warnings on arm/lld.
-	# https://crbug.com/1190544
-	use arm && append-ldflags "-Wl,--no-fatal-warnings"
-	use vtable_verify && append-ldflags -fvtable-verify=preinit
-
-	local flags
-	einfo "Building with the compiler settings:"
-	for flags in {C,CXX,CPP,LD}FLAGS; do
-		einfo "  ${flags} = ${!flags}"
-	done
-}
-
-src_configure() {
-	tc-export CXX CC AR AS NM RANLIB STRIP
-	export CC_host=$(tc-getBUILD_CC)
-	export CXX_host=$(tc-getBUILD_CXX)
-	export NM_host=$(tc-getBUILD_NM)
-	export READELF="llvm-readelf"
-	export READELF_host="llvm-readelf"
-
-	# Use C++ compiler as the linker driver.
-	export LD="${CXX}"
-	export LD_host=${CXX_host}
-
-	# We need below change when USE="thinlto" is set. We set this globally
-	# so that users can turn on the "use_thin_lto" in the simplechrome
-	# flow more easily.
-	# use nm from llvm, https://crbug.com/917193
-	export NM="llvm-nm"
-	export NM_host="llvm-nm"
-	export AR="llvm-ar"
-	# USE=thinlto affects host build, we need to set host AR to
-	# llvm-ar to make sure host package builds with thinlto.
-	# crbug.com/731335
-	export AR_host="llvm-ar"
-	export RANLIB="llvm-ranlib"
-	# Use llvm's objcopy instead of GNU
-	export OBJCOPY="llvm-objcopy"
-
-	# Set binutils path for goma.
-	CC_host+=" -B$(get_binutils_path "${LD_host}")"
-	CXX_host+=" -B$(get_binutils_path "${LD_host}")"
-
-	setup_compile_flags
-
-	# We might set BOTO_CONFIG in the builder environment in case the
-	# existing file needs modifications (e.g. for working with older
-	# branches). So don't overwrite it if it's already set.
-	# See https://crbug.com/847676 for details.
-	export BOTO_CONFIG="${BOTO_CONFIG:-/home/$(whoami)/.boto}"
-	export PATH=${PATH}:${DEPOT_TOOLS}
-
-	export DEPOT_TOOLS_GSUTIL_BIN_DIR="${CHROME_CACHE_DIR}/gsutil_bin"
-	# The venv logic seems to misbehave when cross-compiling.  Since our SDK
-	# should include all the necessary modules, just disable it (for now).
-	# https://crbug.com/808434
-	export VPYTHON_BYPASS="manually managed python not supported by chrome operations"
-
-	# TODO(rcui): crosbug.com/20435. Investigate removal of runhooks
-	# useflag when chrome build switches to Ninja inside the chroot.
-	if use runhooks; then
-		local cmd=( "${EGCLIENT}" runhooks --force )
-		echo "${cmd[@]}"
-		CFLAGS="${CFLAGS} ${EBUILD_CFLAGS[*]}" \
-		CXXFLAGS="${CXXFLAGS} ${EBUILD_CXXFLAGS[*]}" \
-		LDFLAGS="${LDFLAGS} ${EBUILD_LDFLAGS[*]}" \
-		"${cmd[@]}" || die
-	fi
-
-	BUILD_STRING_ARGS+=(
-		"cros_target_ar=${AR}"
-		"cros_target_cc=${CC}"
-		"cros_target_cxx=${CXX}"
-		"host_toolchain=//build/toolchain/cros:host"
-		"custom_toolchain=//build/toolchain/cros:target"
-		"v8_snapshot_toolchain=//build/toolchain/cros:v8_snapshot"
-		"cros_target_ld=${LD}"
-		"cros_target_nm=${NM}"
-		"cros_target_readelf=${READELF}"
-		"cros_target_extra_cflags=${CFLAGS} ${EBUILD_CFLAGS[*]}"
-		"cros_target_extra_cppflags=${CPPFLAGS}"
-		"cros_target_extra_cxxflags=${CXXFLAGS} ${EBUILD_CXXFLAGS[*]}"
-		"cros_target_extra_ldflags=${LDFLAGS} ${EBUILD_LDFLAGS[*]}"
-		"cros_host_cc=${CC_host}"
-		"cros_host_cxx=${CXX_host}"
-		"cros_host_ar=${AR_host}"
-		"cros_host_ld=${LD_host}"
-		"cros_host_nm=${NM_host}"
-		"cros_host_readelf=${READELF_host}"
-		"cros_host_extra_cflags=${CFLAGS_host}"
-		"cros_host_extra_cxxflags=${CXXFLAGS_host}"
-		"cros_host_extra_cppflags=${CPPFLAGS_host}"
-		"cros_host_extra_ldflags=${LDFLAGS_host}"
-		"cros_v8_snapshot_cc=${CC_host}"
-		"cros_v8_snapshot_cxx=${CXX_host}"
-		"cros_v8_snapshot_ar=${AR_host}"
-		"cros_v8_snapshot_ld=${LD_host}"
-		"cros_v8_snapshot_nm=${NM_host}"
-		"cros_v8_snapshot_readelf=${READELF_host}"
-		"cros_v8_snapshot_extra_cflags=${CFLAGS_host}"
-		"cros_v8_snapshot_extra_cxxflags=${CXXFLAGS_host}"
-		"cros_v8_snapshot_extra_cppflags=${CPPFLAGS_host}"
-		"cros_v8_snapshot_extra_ldflags=${LDFLAGS_host}"
-	)
-
-	local arg
-	for arg in "${BUILD_STRING_ARGS[@]}"; do
-		BUILD_ARGS+=("${arg%%=*}=\"${arg#*=}\"")
-	done
-	export GN_ARGS="${BUILD_ARGS[*]}"
-	einfo "GN_ARGS = ${GN_ARGS}"
-	local gn=(
-		"${CHROME_ROOT}/src/buildtools/linux64/gn" gen
-		"${CHROME_ROOT}/src/${BUILD_OUT_SYM}/${BUILDTYPE}"
-		--args="${GN_ARGS}" --root="${CHROME_ROOT}/src"
-	)
-	echo "${gn[@]}"
-	"${gn[@]}" || die
-
-	setup_test_lists
-
-	if use clang_tidy; then
-		export WITH_TIDY=1
-	fi
-}
-
-chrome_make() {
-	local build_dir="${BUILD_OUT_SYM}/${BUILDTYPE}"
-
-	# If ThinLTO is enabled, we may have a cache from a previous link. Due
-	# to fears about lack of reproducibility, we don't allow cache reuse
-	# across rebuilds. The cache is still useful for artifacts shared
-	# between multiple links done by this build (e.g. tests).
-	use thinlto && rm -rf "${build_dir}/thinlto-cache"
-
-	# If goma or remoteexec is enabled, increase the number of parallel
-	# run to 10 * {number of processors}. Though, if it is too large the
-	# performance gets slow down, so limit by 200 heuristically.
-	if use_goma || use_remoteexec; then
-		local num_parallel=$(($(nproc) * 10))
-		local j_limit=200
-		set -- -j $((num_parallel < j_limit ? num_parallel : j_limit)) "$@"
-	fi
-	local command=(
-		"${ENINJA}"
-		-j"$(makeopts_jobs)"
-		-C "${build_dir}"
-		$(usex verbose -v "")
-		-d "keeprsp"
-		"$@"
-	)
-	# If goma is used, log the command, cwd and env vars, which will be
-	# uploaded to the logging server.
-	if should_upload_build_logs; then
-		env --null > "${GLOG_log_dir}/ninja_env"
-		pwd > "${GLOG_log_dir}/ninja_cwd"
-		echo "${command[@]}" > "${GLOG_log_dir}/ninja_command"
-	fi
-	PATH=${PATH}:${DEPOT_TOOLS} "${command[@]}"
-	local ret=$?
-	if should_upload_build_logs; then
-		echo "${ret}" > "${GLOG_log_dir}/ninja_exit"
-		cp -p "${BUILD_OUT_SYM}/${BUILDTYPE}/.ninja_log" "${GLOG_log_dir}/ninja_log"
-	fi
-	[[ "${ret}" -eq 0 ]] || die
-
-	# Still use a script to check if the orderfile is used properly, i.e.
-	# Builtin_ functions are placed between the markers, etc.
-	if use strict_toolchain_checks && (use orderfile_use || use orderfile_verify); then
-		"${FILESDIR}/check_orderfile.py" "${build_dir}/chrome" || die
-	fi
-}
-
-src_compile() {
-	if [[ "${CHROME_ORIGIN}" != "LOCAL_SOURCE" &&
-			"${CHROME_ORIGIN}" != "SERVER_SOURCE" ]]; then
-		return
-	fi
-
-	cd "${CHROME_ROOT}"/src || die "Cannot chdir to ${CHROME_ROOT}/src"
-
-	local chrome_targets=( $(usex mojo "mojo_shell" "") )
-	if use app_shell; then
-		chrome_targets+=( app_shell )
-	else
-		chrome_targets+=( chrome )
-	fi
-	if use build_tests; then
-		chrome_targets+=(
-			"${TEST_FILES[@]}"
-			"${TOOLS_TELEMETRY_BIN[@]}"
-			chromedriver
-		)
-		if use chrome_internal; then
-			chrome_targets+=( libassistant_debug.so )
-		fi
-	fi
-	use_nacl && chrome_targets+=( nacl_helper_bootstrap nacl_helper )
-
-	chrome_make "${chrome_targets[@]}"
-
-	if use build_tests; then
-		install_chrome_test_resources "${WORKDIR}/test_src"
-		install_telemetry_dep_resources "${WORKDIR}/telemetry_src"
-
-		# NOTE: Since chrome is built inside distfiles, we have to get
-		# rid of the previous instance first.
-		# We remove only what we will overwrite with the mv below.
-		local deps="${WORKDIR}/${P}/${AUTOTEST_DEPS}"
-
-		rm -rf "${deps}/chrome_test/test_src"
-		mv "${WORKDIR}/test_src" "${deps}/chrome_test/"
-
-		rm -rf "${deps}/telemetry_dep/test_src"
-		mv "${WORKDIR}/telemetry_src" "${deps}/telemetry_dep/test_src"
-
-		# The autotest eclass wants this for some reason.
-		get_paths() { :; }
-
-		# HACK: It would make more sense to call autotest_src_prepare in
-		# src_prepare, but we need to call install_chrome_test_resources first.
-		autotest-deponly_src_prepare
-
-		# Remove .git dirs
-		find "${AUTOTEST_WORKDIR}" -type d -name .git -prune -exec rm -rf {} +
-
-		autotest_src_compile
-	fi
-}
-
-install_test_resources() {
-	# Install test resources from chrome source directory to destination.
-	# We keep a cache of test resources inside the chroot to avoid copying
-	# multiple times.
-	local test_dir="${1}"
-	einfo "install_test_resources to ${test_dir}"
-	shift
-
-	# To speed things up, we write the list of files to a temporary file so
-	# we can use rsync with --files-from.
-	local tmp_list_file="${T}/${test_dir##*/}.files"
-	printf "%s\n" "$@" > "${tmp_list_file}"
-
-	# Copy the specific files to the cache from the source directory.
-	# Note: we need to specify -r when using --files-from and -a to get a
-	# recursive copy.
-	# TODO(ihf): Make failures here fatal.
-	rsync -r -a --delete --exclude=.git --exclude="*.pyc" \
-		--files-from="${tmp_list_file}" "${CHROME_ROOT}/src/" \
-		"${CHROME_CACHE_DIR}/src/"
-
-	# Create hard links in the destination based on the cache.
-	# Note: we need to specify -r when using --files-from and -a to get a
-	# recursive copy.
-	# TODO(ihf): Make failures here fatal.
-	rsync -r -a --link-dest="${CHROME_CACHE_DIR}/src" \
-		--files-from="${tmp_list_file}" "${CHROME_CACHE_DIR}/src/" "${test_dir}/"
-}
-
-test_strip_install() {
-	local from="${1}"
-	local dest="${2}"
-	shift 2
-	mkdir -p "${dest}"
-	local f
-	for f in "$@"; do
-		$(tc-getSTRIP) --strip-debug \
-			"${from}"/${f} -o "${dest}/$(basename ${f})"
-	done
-}
-
-install_chrome_test_resources() {
-	# NOTE: This is a duplicate from src_install, because it's required here.
-	local from="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
-	local test_dir="${1}"
-	local dest="${test_dir}/out/Release"
-
-	echo Copying Chrome tests into "${test_dir}"
-
-	# Even if chrome_debug_tests is enabled, we don't need to include detailed
-	# debug info for tests in the binary package, so save some time by stripping
-	# everything but the symbol names. Developers who need more detailed debug
-	# info on the tests can use the original unstripped tests from the ${from}
-	# directory.
-	TEST_INSTALL_TARGETS=(
-		"${TEST_FILES[@]}"
-		"libppapi_tests.so" )
-
-	einfo "Installing test targets: ${TEST_INSTALL_TARGETS[@]}"
-	test_strip_install "${from}" "${dest}" "${TEST_INSTALL_TARGETS[@]}"
-
-	# Copy Chrome test data.
-	mkdir -p "${dest}"/test_data
-	# WARNING: Only copy subdirectories of |test_data|.
-	# The full |test_data| directory is huge and kills our VMs.
-	# Example:
-	# cp -al "${from}"/test_data/<subdir> "${test_dir}"/out/Release/<subdir>
-
-	for f in "${PPAPI_TEST_FILES[@]}"; do
-		cp -al "${from}/${f}" "${dest}"
-	done
-
-	# Install Chrome test resources.
-	# WARNING: Only install subdirectories of |chrome/test|.
-	# The full |chrome/test| directory is huge and kills our VMs.
-	install_test_resources "${test_dir}" \
-		base/base_paths_posix.cc \
-		chrome/test/data/chromeos \
-		chrome/test/functional \
-		chrome/third_party/mock4js/mock4js.js  \
-		content/common/gpu/testdata \
-		media/test/data \
-		content/test/data \
-		net/data/ssl/certificates \
-		ppapi/tests/test_case.html \
-		ppapi/tests/test_url_loader_data \
-		third_party/bidichecker/bidichecker_packaged.js \
-		third_party/accessibility-developer-tools/gen/axs_testing.js
-
-	# Add the pdf test data if needed.
-	if use chrome_internal; then
-		install_test_resources "${test_dir}" pdf/test
-	fi
-	# Add the gles_conform test data if needed.
-	if use chrome_internal || use internal_gles_conform; then
-		install_test_resources "${test_dir}" gpu/gles2_conform_support/gles2_conform_test_expectations.txt
-	fi
-
-	cp -a "${CHROME_ROOT}"/"${AUTOTEST_DEPS}"/chrome_test/setup_test_links.sh \
-		"${dest}"
-}
-
-install_telemetry_dep_resources() {
-	local test_dir="${1}"
-
-	TELEMETRY=${CHROME_ROOT}/src/third_party/catapult/telemetry
-	if [[ -r "${TELEMETRY}" ]]; then
-		echo "Copying Telemetry Framework into ${test_dir}"
-		mkdir -p "${test_dir}"
-		# We are going to call chromium code but can't trust that it is clean
-		# of precompiled code. See crbug.com/590762.
-		find "${TELEMETRY}" -name "*.pyc" -type f -delete
-		# Get deps from Chrome.
-		FIND_DEPS=${CHROME_ROOT}/src/tools/perf/find_dependencies
-		PERF_DEPS=${CHROME_ROOT}/src/tools/perf/bootstrap_deps
-		CROS_DEPS=${CHROME_ROOT}/src/tools/cros/bootstrap_deps
-		# sed removes the leading path including src/ converting it to relative.
-		# To avoid silent failures assert the success.
-		DEPS_LIST=$(python ${FIND_DEPS} ${PERF_DEPS} ${CROS_DEPS} | \
-			sed -e 's|^'${CHROME_ROOT}/src/'||'; assert)
-		install_test_resources "${test_dir}" "${DEPS_LIST}"
-		# For crosperf, which uses some tests only available on internal builds.
-		if use chrome_internal; then
-			install_test_resources "${test_dir}" \
-				data/page_cycler/morejs \
-				data/page_cycler/moz
-		fi
-	fi
-
-	local from="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
-	local dest="${test_dir}/src/out/${BUILDTYPE}"
-	einfo "Installing telemetry binaries: ${TOOLS_TELEMETRY_BIN[@]}"
-	test_strip_install "${from}" "${dest}" "${TOOLS_TELEMETRY_BIN[@]}"
-
-	# When copying only a portion of the Chrome source that telemetry needs,
-	# some symlinks can end up broken. Thus clean these up before packaging.
-	einfo "Cleaning up broken symlinks in telemetry"
-	find -L "${test_dir}" -type l -delete
-
-	# Unfortunately we are sometimes provided with unrelated upstream directories
-	# and binaries taking a lot of space. Clean these up manually. Notice
-	# that Android and Linux directories might be needed so keep those.
-	einfo "Cleaning up non-Chrome OS directories in telemetry"
-	find -L "${test_dir}" -type d -regex ".*/\(mac\|mips\|mips64\|win\)" -exec rm -rfv {} \;
-	einfo "Finished installing telemetry dep resources"
-}
-
-# Add any new artifacts generated by the Chrome build targets to deploy_chrome.py.
-# We deal with miscellaneous artifacts here in the ebuild.
-src_install() {
-	FROM="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
-
-	# Override default strip flags and lose the '-R .comment'
-	# in order to play nice with the crash server.
-	if [[ -z "${KEEP_CHROME_DEBUG_SYMBOLS}" ]]; then
-		if [[ "${STRIP}" == "llvm-strip" ]]; then
-			export PORTAGE_STRIP_FLAGS="--strip-all-gnu"
-		else
-			export PORTAGE_STRIP_FLAGS=""
-		fi
-	else
-		export PORTAGE_STRIP_FLAGS="--strip-debug"
-	fi
-	einfo "PORTAGE_STRIP_FLAGS=${PORTAGE_STRIP_FLAGS}"
-	LS=$(ls -alhS ${FROM})
-	einfo "CHROME_DIR after build\n${LS}"
-
-	# Copy a D-Bus config file that includes other configs that are installed to
-	# /opt/google/chrome/dbus by deploy_chrome.
-	insinto /etc/dbus-1/system.d
-	doins "${FILESDIR}"/chrome.conf
-
-	# Copy Quickoffice resources for official build.
-	# Quickoffice is not yet available for arm64, https://crbug.com/881489
-	if use chrome_internal && [[ "${ARCH}" != "arm64" ]]; then
-		local qo_install_root="/usr/share/chromeos-assets/quickoffice"
-		insinto "${qo_install_root}"
-		QUICKOFFICE="${CHROME_ROOT}"/src/chrome/browser/resources/chromeos/quickoffice
-		doins -r "${QUICKOFFICE}"/_locales
-		doins -r "${QUICKOFFICE}"/css
-		doins -r "${QUICKOFFICE}"/img
-		doins -r "${QUICKOFFICE}"/plugin
-		doins -r "${QUICKOFFICE}"/scripts
-		doins -r "${QUICKOFFICE}"/views
-
-		local qo_path=""
-		case "${ARCH}" in
-		arm)
-			qo_path="${QUICKOFFICE}"/_platform_specific/arm
-			;;
-		amd64)
-			qo_path="${QUICKOFFICE}"/_platform_specific/x86_64
-			;;
-		*)
-			die "Unsupported architecture: ${ARCH}"
-			;;
-		esac
-
-		# Compress the platform-specific NaCl binaries with squashfs to
-		# save space on the rootfs.
-		# - compress with LZO and 1M blocks to optimize trade-off
-		# between compression ratio and decompression speed.
-		# - use "-keep-as-directory" option so the squash file will
-		# include the folder with the name of the CPU architecture,
-		# which is expected by the scripts on device.
-		# - use "-root-mode 0755" to ensure that the mountpoint has
-		# permissions 0755 instead of the default 0777.
-		# - use "-4k-align" option so individual files inside the squash
-		# file will be aligned to 4K blocks, which improves the
-		# efficiency of the delta updates.
-		mksquashfs "${qo_path}" "${WORKDIR}/quickoffice.squash" \
-			-all-root -noappend -no-recovery -no-exports \
-			-exit-on-error -comp lzo -b 1M -keep-as-directory \
-			-4k-align -root-mode 0755 -no-progress \
-			|| die "Failed to create Quickoffice squashfs"
-
-		# The squashfs will be mounted at boot time by an upstart script
-		# installed by chromeos-base/quickoffice.
-		doins "${WORKDIR}/quickoffice.squash"
-	fi
-
-	# Chrome test resources
-	# Test binaries are only available when building chrome from source
-	if use build_tests && [[ "${CHROME_ORIGIN}" == "LOCAL_SOURCE" ||
-		"${CHROME_ORIGIN}" == "SERVER_SOURCE" ]]; then
-		autotest-deponly_src_install
-		#env -uRESTRICT prepstrip "${D}${AUTOTEST_BASE}"
-	fi
-
-	# Copy input_methods.txt for XkbToKcmConverter & auto-test.
-	if [[ "${CHROME_ORIGIN}" == "LOCAL_SOURCE" ||
-			"${CHROME_ORIGIN}" == "SERVER_SOURCE" ]]; then
-		insinto /usr/share/chromeos-assets/input_methods
-		sed -E -e '/^#/d' -e '/^$/d' -e 's:  +: :g' \
-			"${CHROME_ROOT}"/src/chromeos/ime/input_methods.txt > "${T}/input_methods.txt" || die
-		doins "${T}/input_methods.txt"
-	fi
-
-	# Fix some perms.
-	# TODO(rcui): Remove this - shouldn't be needed, and is just covering up
-	# potential permissions bugs.
-	chmod -R a+r "${D}"
-	find "${D}" -perm /111 -print0 | xargs -0 chmod a+x
-
-	# The following symlinks are needed in order to run chrome.
-	# TODO(rcui): Remove this.  Not needed for running Chrome.
-	dosym libnss3.so /usr/lib/libnss3.so.1d
-	dosym libnssutil3.so.12 /usr/lib/libnssutil3.so.1d
-	dosym libsmime3.so.12 /usr/lib/libsmime3.so.1d
-	dosym libssl3.so.12 /usr/lib/libssl3.so.1d
-	dosym libplds4.so /usr/lib/libplds4.so.0d
-	dosym libplc4.so /usr/lib/libplc4.so.0d
-	dosym libnspr4.so /usr/lib/libnspr4.so.0d
-
-	# Create the main Chrome install directory.
-	dodir "${CHROME_DIR}"
-	insinto "${CHROME_DIR}"
-
-	# Install the orderfile into the chrome directory
-	if use orderfile_generate; then
-		[[ -f "${FROM}/chrome.orderfile.txt" ]] || die "No orderfile generated."
-		doins "${FROM}/chrome.orderfile.txt"
-	fi
-
-	# Install the unvetted orderfile into the chrome directory for upload.
-	if use orderfile_verify; then
-		[[ -f "${DISTDIR}/${UNVETTED_ORDERFILE}.xz" ]] || die "Lost the unvetted orderfile."
-		doins "${DISTDIR}/${UNVETTED_ORDERFILE}.xz"
-	fi
-
-	# Use the deploy_chrome from the *Chrome* checkout.  The benefit of
-	# doing this is if a new buildspec of Chrome requires a non-backwards
-	# compatible change to deploy_chrome, we can commit the fix to
-	# deploy_chrome without breaking existing Chrome OS release builds,
-	# and then roll the DEPS for chromite in the Chrome checkout.
-	#
-	# Another benefit is each version of Chrome will have the right
-	# corresponding version of deploy_chrome.
-	local cmd=( "${CHROME_ROOT}"/src/third_party/chromite/bin/deploy_chrome )
-	# Disable stripping for now, as deploy_chrome doesn't generate splitdebug files.
-	cmd+=(
-		"--board=${BOARD}"
-		"--build-dir=${FROM}"
-		"--gn-args=${GN_ARGS}"
-		# If this is enabled, we need to re-enable `prepstrip` above for autotests.
-		# You'll also have to re-add "strip" to the RESTRICT at the top of the file.
-		--nostrip
-		"--staging-dir=${D_CHROME_DIR}"
-		"--staging-flags=${USE}"
-		--staging-only
-		"--strip-bin=${STRIP}"
-		"--strip-flags=${PORTAGE_STRIP_FLAGS}"
-		--verbose
-	)
-	einfo "${cmd[*]}"
-	"${cmd[@]}" || die
-	LS=$(ls -alhS ${D}/${CHROME_DIR})
-	einfo "CHROME_DIR after deploy_chrome\n${LS}"
-
-	# Keep the .dwp files with debug fission.
-	if use chrome_debug && use debug_fission; then
-		mkdir -p "${D}/usr/lib/debug/${CHROME_DIR}"
-		DWP="${CHOST}"-dwp
-		cd "${D}/${CHROME_DIR}"
-		# Iterate over all ELF files in current directory
-		while read i; do
-			cd "${FROM}"
-			# These files do not build with -gsplit-dwarf,
-			# so we do not need to get a .dwp file from them.
-			if [[ "${i}" == "./libassistant.so"		|| \
-				"${i}" == "./nacl_helper_nonsfi"	|| \
-				"${i}" == "./nacl_helper_bootstrap"	|| \
-				"${i}" == "./nacl_irt_arm.nexe"		|| \
-				"${i}" == "./nacl_irt_x86_64.exe"	|| \
-				"${i}" == "./nacl_irt_x86_64.nexe"	|| \
-				"${i}" == "./libmojo_core_arc64.so"	|| \
-				"${i}" == "./libmojo_core_arc32.so"	|| \
-				"${i}" == "./libwidevinecdm.so" ]] ; then
-				continue
-			fi
-			source="${i}"
-			${DWP} -e "${FROM}/${source}" -o "${D}/usr/lib/debug/${CHROME_DIR}/${i}.dwp" || die
-		done < <(scanelf -ByF '%F' ".")
-	fi
-
-	if use build_tests; then
-		# Install Chrome Driver to test image.
-		local chromedriver_dir='/usr/local/chromedriver'
-		dodir "${chromedriver_dir}"
-		cp -pPR "${FROM}"/chromedriver "${D}/${chromedriver_dir}" || die
-
-		if use chrome_internal; then
-			# Install LibAssistant test library to test image.
-			into /usr/local/
-			dolib.so "${FROM}"/libassistant_debug.so
-		fi
-
-		# Install a testing script to run Lacros from command line.
-		into /usr/local
-		dobin "${CHROME_ROOT}"/src/build/lacros/mojo_connection_lacros_launcher.py
-	fi
-	# The icu data is used by both chromeos-base/chrome-icu and this package.
-	# chromeos-base/chrome-icu is responsible for installing the icu
-	# data, so we remove it from ${D} here.
-	rm "${D_CHROME_DIR}/icudtl.dat" || die
-}
-
-pkg_preinst() {
-	enewuser "wayland"
-	enewgroup "wayland"
-	LS=$(ls -alhS ${ED}/${CHROME_DIR})
-	einfo "CHROME_DIR after installation\n${LS}"
-	CHROME_SIZE=$(stat --printf="%s" ${ED}/${CHROME_DIR}/chrome)
-	einfo "CHROME_SIZE = ${CHROME_SIZE}"
-
-	# Non-internal builds come with >10MB of unwinding info built-in. Size
-	# checks on those are less profitable.
-	if [[ ${CHROME_SIZE} -ge 250000000 && -z "${KEEP_CHROME_DEBUG_SYMBOLS}" ]] && use chrome_internal && ! use chrome_dcheck; then
-		die "Installed chrome binary got suspiciously large (size=${CHROME_SIZE})."
-	fi
-	if use arm; then
-		local files=$(find "${ED}/usr/lib/debug${CHROME_DIR}" -size +$((4 * 1024 * 1024 * 1024 - 1))c)
-		[[ -n ${files} ]] && die "Debug files exceed 4GiB: ${files}"
-	fi
-	# Verify that the elf program headers in splitdebug binary match the chrome
-	# binary, this is needed for correct symbolization in CWP.
-	# b/128861198, https://crbug.com/1007548 .
-	if [[ ${MERGE_TYPE} != binary ]] && use strict_toolchain_checks; then
-		local chrome_headers=$(${READELF} --program-headers --wide \
-			"${ED}/${CHROME_DIR}"/chrome | grep LOAD)
-		local chrome_debug_headers=$(${READELF} --program-headers --wide \
-			"${ED}/usr/lib/debug${CHROME_DIR}"/chrome.debug | grep LOAD)
-		[[ "${chrome_headers}" != "${chrome_debug_headers}" ]] && \
-			die "chrome program headers do not match chrome.debug"
-	fi
-}
-
-pkg_postinst() {
-	autotest_pkg_postinst
-}
diff --git a/chromeos-base/chromeos-chrome/chromeos-chrome-101.0.4907.0_rc-r2.ebuild b/chromeos-base/chromeos-chrome/chromeos-chrome-101.0.4907.0_rc-r2.ebuild
deleted file mode 100644
index 8943c2d..0000000
--- a/chromeos-base/chromeos-chrome/chromeos-chrome-101.0.4907.0_rc-r2.ebuild
+++ /dev/null
@@ -1,1448 +0,0 @@
-# Copyright 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-# Usage: by default, downloads chromium browser from the build server.
-# If CHROME_ORIGIN is set to one of {SERVER_SOURCE, LOCAL_SOURCE, LOCAL_BINARY},
-# the build comes from the chromimum source repository (gclient sync),
-# build server, locally provided source, or locally provided binary.
-# If you are using SERVER_SOURCE, a gclient template file that is in the files
-# directory which will be copied automatically during the build and used as
-# the .gclient for 'gclient sync'.
-# If building from LOCAL_SOURCE or LOCAL_BINARY specifying BUILDTYPE
-# will allow you to specify "Debug" or another build type; "Release" is
-# the default.
-
-EAPI=7
-
-# TODO(crbug.com/984182): We force Python 2 because depot_tools doesn't support Python 3.
-PYTHON_COMPAT=( python2_7 )
-inherit autotest-deponly binutils-funcs chromium-source cros-credentials cros-constants cros-sanitizers eutils flag-o-matic git-2 multilib toolchain-funcs user python-any-r1 multiprocessing
-
-DESCRIPTION="Open-source version of Google Chrome web browser"
-HOMEPAGE="http://www.chromium.org/"
-SRC_URI=""
-
-LICENSE="BSD-Google chrome_internal? ( Google-TOS )"
-SLOT="0"
-KEYWORDS="*"
-IUSE="
-	+afdo_use
-	afdo_verify
-	+accessibility
-	app_shell
-	arc_hw_oemcrypto
-	asan
-	+authpolicy
-	+build_tests
-	cdm_factory_daemon
-	+chrome_debug
-	+cfi
-	cfm
-	chrome_debug_tests
-	chrome_dcheck
-	chrome_internal
-	chrome_media
-	+chrome_remoting
-	clang_tidy
-	component_build
-	cros-debug
-	debug_fission
-	+dwarf5
-	+fonts
-	hibernate
-	hw_details
-	goma
-	goma_thinlto
-	+highdpi
-	iioservice
-	intel_oemcrypto
-	internal_gles_conform
-	+libcxx
-	libinput
-	mojo
-	msan
-	+nacl
-	neon
-	+oobe_config
-	opengl
-	opengles
-	orderfile_generate
-	+orderfile_use
-	orderfile_verify
-	remoteexec
-	+runhooks
-	strict_toolchain_checks
-	subpixel_rendering
-	+thinlto
-	touchview
-	tpm_dynamic
-	ubsan
-	v4l2_codec
-	v4lplugin
-	vaapi
-	verbose
-	vtable_verify
-	xkbcommon
-	"
-REQUIRED_USE="
-	cfi? ( thinlto )
-	afdo_verify? ( !afdo_use )
-	orderfile_generate? ( !orderfile_use )
-	?? ( goma remoteexec )
-	"
-
-OZONE_PLATFORM_PREFIX=ozone_platform_
-OZONE_PLATFORMS=(gbm cast headless egltest caca)
-IUSE_OZONE_PLATFORMS="${OZONE_PLATFORMS[@]/#/${OZONE_PLATFORM_PREFIX}}"
-IUSE+=" ${IUSE_OZONE_PLATFORMS}"
-OZONE_PLATFORM_DEFAULT_PREFIX=ozone_platform_default_
-IUSE_OZONE_PLATFORM_DEFAULTS="${OZONE_PLATFORMS[@]/#/${OZONE_PLATFORM_DEFAULT_PREFIX}}"
-IUSE+=" ${IUSE_OZONE_PLATFORM_DEFAULTS}"
-REQUIRED_USE+=" ^^ ( ${IUSE_OZONE_PLATFORM_DEFAULTS} )"
-
-# The gclient hooks that run in src_prepare hit the network.
-# https://crbug.com/731905
-RESTRICT="network-sandbox mirror"
-
-# Do not strip the nacl_helper_bootstrap binary because the binutils
-# objcopy/strip mangles the ELF program headers.
-# TODO(mcgrathr,vapier): This should be removed after portage's prepstrip
-# script is changed to use eu-strip instead of objcopy and strip.
-STRIP_MASK+=" */nacl_helper_bootstrap"
-
-# Portage version without optional portage suffix.
-CHROME_VERSION="${PV/_*/}"
-
-# chrome destination directory
-CHROME_DIR=/opt/google/chrome
-D_CHROME_DIR="${D}/${CHROME_DIR}"
-
-# For compilation/local chrome
-BUILDTYPE="${BUILDTYPE:-Release}"
-BOARD="${BOARD:-${SYSROOT##/build/}}"
-BUILD_OUT="${BUILD_OUT:-out_${BOARD}}"
-# WARNING: We are using a symlink now for the build directory to work around
-# command line length limits. This will cause problems if you are doing
-# parallel builds of different boards/variants.
-# Unsetting BUILD_OUT_SYM will revert this behavior
-BUILD_OUT_SYM="c"
-
-UNVETTED_ORDERFILE_LOCATION=${AFDO_GS_DIRECTORY:-"gs://chromeos-toolchain-artifacts/orderfile/unvetted"}
-
-# The following entry will be modified automatically for verifying orderfile or AFDO profile.
-UNVETTED_ORDERFILE=""
-UNVETTED_AFDO_FILE=""
-
-add_orderfiles() {
-	# For verify orderfile, only for a toolchain special build.
-	if [[ -n ${UNVETTED_ORDERFILE} ]]; then
-		SRC_URI+=" orderfile_verify? ( ${UNVETTED_ORDERFILE_LOCATION}/${UNVETTED_ORDERFILE}.xz )"
-	fi
-}
-
-add_orderfiles
-
-RDEPEND="${RDEPEND}
-	app-arch/bzip2
-	app-crypt/mit-krb5
-	app-misc/edid-decode
-	authpolicy? ( chromeos-base/authpolicy )
-	~chromeos-base/chrome-icu-${PV}
-	chromeos-base/gestures
-	chromeos-base/libevdev:=
-	fonts? ( chromeos-base/chromeos-fonts )
-	chrome_internal? ( chromeos-base/quickoffice )
-	dev-libs/nspr
-	>=dev-libs/nss-3.12.2
-	libinput? ( dev-libs/libinput:= )
-	>=media-libs/alsa-lib-1.0.19
-	media-libs/fontconfig
-	media-libs/libsync
-	x11-libs/libdrm
-	ozone_platform_gbm? ( media-libs/minigbm )
-	v4lplugin? ( media-libs/libv4lplugins )
-	>=media-sound/adhd-0.0.1-r310
-	net-print/cups
-	opengl? ( virtual/opengl )
-	opengles? ( virtual/opengles )
-	sys-apps/dbus
-	sys-apps/pciutils
-	virtual/udev
-	sys-libs/libcap
-	chrome_remoting? ( sys-libs/pam )
-	vaapi? ( x11-libs/libva )
-	xkbcommon? (
-		x11-libs/libxkbcommon
-		x11-misc/xkeyboard-config
-	)
-	accessibility? (
-		app-accessibility/brltty
-		app-accessibility/espeak-ng
-		app-accessibility/googletts
-	)
-	libcxx? (
-		sys-libs/libcxxabi
-		sys-libs/libcxx
-	)
-	oobe_config? ( chromeos-base/oobe_config )
-	iioservice? ( chromeos-base/iioservice )
-	hibernate? ( chromeos-base/hiberman )
-	"
-
-DEPEND="${DEPEND}
-	${RDEPEND}
-	chromeos-base/protofiles
-	>=dev-util/gperf-3.0.3
-	>=dev-util/pkgconfig-0.23
-	arm? ( x11-libs/libdrm )
-"
-
-PATCHES=()
-
-AUTOTEST_COMMON="src/chrome/test/chromeos/autotest/files"
-AUTOTEST_DEPS="${AUTOTEST_COMMON}/client/deps"
-AUTOTEST_DEPS_LIST="chrome_test telemetry_dep"
-
-IUSE="${IUSE} +autotest"
-
-
-QA_TEXTRELS="*"
-QA_EXECSTACK="*"
-QA_PRESTRIPPED="*"
-
-use_nacl() {
-	# 32bit asan conflicts with nacl: crosbug.com/38980
-	! (use asan && [[ ${ARCH} == "x86" ]]) && \
-	! use component_build && use nacl
-}
-
-# Like the `usex` helper:
-# Usage: echox [int] [echo-if-true] [echo-if-false]
-# If [int] is 0, then echo the 2nd arg (default of yes), else
-# echo the 3rd arg (default of no).
-echox() {
-	# Like the `usex` helper.
-	[[ ${1:-$?} -eq 0 ]] && echo "${2:-yes}" || echo "${3:-no}"
-}
-echotf() { echox ${1:-$?} true false ; }
-usetf()  { usex $1 true false ; }
-
-use_remoteexec() {
-	[[ "${USE_REMOTEEXEC:-$(usetf remoteexec)}" == "true" ]]
-}
-
-use_goma() {
-	[[ "${USE_GOMA:-$(usetf goma)}" == "true" ]]
-}
-
-should_upload_build_logs() {
-	[[ -n "${GOMA_TMP_DIR}" && -n "${GLOG_log_dir}" && \
-		"${GLOG_log_dir}" == "${GOMA_TMP_DIR}"* ]]
-}
-
-set_build_args() {
-	# use goma_thinlto says that if we are using Goma and ThinLTO, use
-	# Goma for distributed code generation. So only set the corresponding
-	# gn arg to true if all three conditions are met.
-	use_goma_thin_lto=$(use goma_thinlto && use_goma && use thinlto; echotf)
-	BUILD_ARGS=(
-		"is_chromeos_device=true"
-		# is_official_build sometimes implies extra optimizations (e.g. it will allow
-		# ThinLTO to optimize more aggressively, if ThinLTO is enabled). Please note
-		# that, despite the name, it should be usable by external users.
-		#
-		# Sanitizers don't like official builds.
-		"is_official_build=$(use_sanitizers false true)"
-
-		"is_debug=false"
-		"${EXTRA_GN_ARGS}"
-		"enable_pseudolocales=$(usetf cros-debug)"
-		"use_arc_protected_media=$(usetf arc_hw_oemcrypto)"
-		"use_chromeos_protected_av1=$(usetf intel_oemcrypto)"
-		"use_chromeos_protected_media=$(usetf cdm_factory_daemon)"
-		"use_iioservice=$(usetf iioservice)"
-		"use_v4l2_codec=$(usetf v4l2_codec)"
-		"use_v4lplugin=$(usetf v4lplugin)"
-		"use_vaapi=$(usetf vaapi)"
-		"use_xkbcommon=$(usetf xkbcommon)"
-		"enable_remoting=$(usetf chrome_remoting)"
-		"enable_nacl=$(use_nacl; echotf)"
-		"enable_hibernate=$(usetf hibernate)"
-		# use_system_minigbm is set below.
-
-		"is_cfm=$(usetf cfm)"
-
-		# Clang features.
-		"is_asan=$(usetf asan)"
-		"is_msan=$(usetf msan)"
-		"is_ubsan=$(usetf ubsan)"
-		"is_clang=true"
-		"use_thin_lto=$(usetf thinlto)"
-		"use_goma_thin_lto=${use_goma_thin_lto}"
-		"is_cfi=$(usetf cfi)"
-		"use_dwarf5=$(usetf dwarf5)"
-
-		# Assistant integration tests are only run on the Chromium bots,
-		# but they increase the size of libassistant.so by 1.3MB so we
-		# disable them here.
-		"enable_assistant_integration_tests=false"
-
-		# Generate debug info necessary for AutoFDO.
-		"clang_emit_debug_info_for_profiling=true"
-
-		# Add libinput to handle touchpad.
-		"use_libinput=$(usetf libinput)"
-
-		# Enable NSS slots software fallback when we are using runtime TPM selection.
-		"nss_slots_software_fallback=$(usetf tpm_dynamic)"
-
-		# Add hardware information to feedback logs and chrome://system.
-		"is_chromeos_with_hw_details=$(usetf hw_details)"
-	)
-
-	# BUILD_STRING_ARGS needs appropriate quoting. So, we keep them separate and
-	# add them to BUILD_ARGS at the end.
-	BUILD_STRING_ARGS=(
-		"target_sysroot=${SYSROOT}"
-		"system_libdir=$(get_libdir)"
-		"pkg_config=$(tc-getPKG_CONFIG)"
-		"target_os=chromeos"
-		"host_pkg_config=$(tc-getBUILD_PKG_CONFIG)"
-		"clang_diagnostic_dir=/tmp/clang_crash_diagnostics"
-	)
-	use internal_gles_conform && BUILD_ARGS+=( "internal_gles2_conform_tests=true" )
-
-	# Ozone platforms.
-	local platform
-	for platform in ${OZONE_PLATFORMS[@]}; do
-		local flag="${OZONE_PLATFORM_DEFAULT_PREFIX}${platform}"
-		if use "${flag}"; then
-			BUILD_STRING_ARGS+=( "ozone_platform=${platform}" )
-		fi
-	done
-	BUILD_ARGS+=(
-		"ozone_auto_platforms=false"
-	)
-	for platform in ${IUSE_OZONE_PLATFORMS}; do
-		if use "${platform}"; then
-			BUILD_ARGS+=( "${platform}=true" )
-		fi
-	done
-	if use "ozone_platform_gbm"; then
-		BUILD_ARGS+=( "use_system_minigbm=true" )
-		BUILD_ARGS+=( "use_system_libdrm=true" )
-	fi
-	if ! use "subpixel_rendering" || use "touchview"; then
-		BUILD_ARGS+=( "subpixel_font_rendering_disabled=true" )
-	fi
-
-	# Set proper build args for the arch
-	case "${ARCH}" in
-	x86)
-		BUILD_STRING_ARGS+=( "target_cpu=x86" )
-		;;
-	arm)
-		BUILD_ARGS+=(
-			"arm_use_neon=$(usetf neon)"
-			# To workaround the 4GB debug limit. crbug.com/792999.
-			"blink_symbol_level=1"
-		)
-		BUILD_STRING_ARGS+=(
-			"target_cpu=arm"
-			"arm_float_abi=hard"
-		)
-		local arm_arch=$(get-flag march)
-		if [[ -n "${arm_arch}" ]]; then
-			BUILD_STRING_ARGS+=( "arm_arch=${arm_arch}" )
-		fi
-		;;
-	arm64)
-		BUILD_STRING_ARGS+=(
-			"target_cpu=arm64"
-		)
-		local arm_arch=$(get-flag march)
-		if [[ -n "${arm_arch}" ]]; then
-			BUILD_STRING_ARGS+=( "arm_arch=${arm_arch}" )
-		fi
-		;;
-	amd64)
-		BUILD_STRING_ARGS+=( "target_cpu=x64" )
-		;;
-	mips)
-		local mips_arch target_arch
-
-		mips_arch="$($(tc-getCPP) ${CFLAGS} ${CPPFLAGS} -E -P - <<<_MIPS_ARCH)"
-		# Strip away any enclosing quotes.
-		mips_arch="${mips_arch//\"}"
-		# TODO(benchan): Use tc-endian from toolchain-func to determine endianess
-		# when Chrome later cares about big-endian.
-		case "${mips_arch}" in
-		mips64*)
-			target_arch=mips64el
-			;;
-		*)
-			target_arch=mipsel
-			;;
-		esac
-
-		BUILD_STRING_ARGS+=(
-			"target_cpu=${target_arch}"
-			"mips_arch_variant=${mips_arch}"
-		)
-		;;
-	*)
-		die "Unsupported architecture: ${ARCH}"
-		;;
-	esac
-
-	if use chrome_internal; then
-		# Adding chrome branding specific variables.
-		BUILD_ARGS+=( "is_chrome_branded=true" )
-		# This test can only be build from internal sources.
-		BUILD_ARGS+=( "internal_gles2_conform_tests=true" )
-		export CHROMIUM_BUILD='_google_Chrome'
-		export OFFICIAL_BUILD='1'
-		export CHROME_BUILD_TYPE='_official'
-	elif use chrome_media; then
-		echo "Building Chromium with additional media codecs and containers."
-		BUILD_ARGS+=( "proprietary_codecs=true" )
-		BUILD_STRING_ARGS+=( "ffmpeg_branding=ChromeOS" )
-	fi
-
-	if use component_build; then
-		BUILD_ARGS+=( "is_component_build=true" )
-	fi
-	if use_goma; then
-		BUILD_ARGS+=( "use_goma=true" )
-		BUILD_STRING_ARGS+=( "goma_dir=${GOMA_DIR:-/home/${WHOAMI}/goma}" )
-
-		# Goma compiler proxy runs outside of portage build.
-		# Practically, because TMPDIR is set in portage, it is
-		# different from the directory used when the compiler proxy
-		# started.
-		# If GOMA_TMP_DIR is not set, the compiler proxy uses
-		# TMPDIR/goma_${WHOAMI} for its tmpdir as fallback, which
-		# causes unexpected behavior.
-		# Specifically, named socket used to communicate with compiler
-		# proxy is ${GOMA_TMP_DIR}/goma.ipc by default, so the compiler
-		# proxy cannot be reached.
-		# Thus, here set GOMA_TMP_DIR to /tmp/goma_${WHOAMI} if it is
-		# not yet set.
-		if [[ -z "${GOMA_TMP_DIR}" ]]; then
-			export GOMA_TMP_DIR="/tmp/goma_${WHOAMI}"
-		fi
-	fi
-
-	if use_remoteexec; then
-		BUILD_ARGS+=(
-			"use_remoteexec=true"
-			"use_rbe=true"
-		)
-		BUILD_STRING_ARGS+=(
-			"rbe_cc_cfg_file=${CHROME_ROOT}/src/buildtools/reclient_cfgs/rewrapper_chroot_compile.cfg"
-		)
-	fi
-
-	if use chrome_debug; then
-		# Use debug fission to avoid 4GB limit of ELF32 (see crbug.com/595763).
-		# Using -g1 causes problems with crash server (see crbug.com/601854).
-		# Disable debug_fission for bots which generate AFDO profile. (see crbug.com/704602).
-		local debug_level=2
-		if use arm && ! use debug_fission; then
-			# Limit debug info to -g1 to keep the binary size within 4GB.
-			# Production builds do not use "-debug_fission". But it is used
-			# by the AFDO builders and AFDO tools are fine with debug_level=1.
-			debug_level=1
-		fi
-		BUILD_ARGS+=(
-			"use_debug_fission=$(usetf debug_fission)"
-			"symbol_level=${debug_level}"
-		)
-		if use debug_fission; then
-			# The breakpad cannot handle the debug files generated by
-			# llvm and debug fission properly. crosbug.com/710605
-			append-flags -fno-split-dwarf-inlining
-		fi
-	fi
-
-	# dcheck_always_on may default to true depending on the value of args
-	# above, which we might not want. So let the chrome_dcheck USE flag
-	# determine its value.
-	BUILD_ARGS+=("dcheck_always_on=$(usetf chrome_dcheck)")
-}
-
-unpack_chrome() {
-	# Add depot_tools to PATH, local chroot builds fail otherwise.
-	export PATH=${PATH}:${DEPOT_TOOLS}
-
-	local cmd=( "${CHROMITE_BIN_DIR}"/sync_chrome )
-	use chrome_internal && cmd+=( --internal )
-	if [[ "${CHROME_VERSION}" != "9999" ]]; then
-		cmd+=( "--tag=${CHROME_VERSION}" )
-	fi
-	# --reset tells sync_chrome to blow away local changes and to feel
-	# free to delete any directories that get in the way of syncing. This
-	# is needed for unattended operation.
-	cmd+=( --reset "--gclient=${EGCLIENT}" "${CHROME_DISTDIR}" )
-	elog "${cmd[*]}"
-	# TODO(crbug.com/1103048): Disable the sandbox when syncing the code.
-	# It seems to break gclient execution at random for unknown reasons.
-	# Children stop being tracked, or no git repos actually get cloned.
-	SANDBOX_ON=0 "${cmd[@]}" || die
-}
-
-decide_chrome_origin() {
-	if [[ "${PV}" == "9999" ]]; then
-		# LOCAL_SOURCE is the default for cros_workon.
-		# Warn the user if CHROME_ORIGIN is already set.
-		if [[ -n "${CHROME_ORIGIN}" && "${CHROME_ORIGIN}" != LOCAL_SOURCE ]]; then
-			ewarn "CHROME_ORIGIN is already set to ${CHROME_ORIGIN}."
-			ewarn "This will prevent you from building from your local checkout."
-			ewarn "Please run 'unset CHROME_ORIGIN' to reset Chrome"
-			ewarn "to the default source location."
-		fi
-		: "${CHROME_ORIGIN:=LOCAL_SOURCE}"
-	else
-		# By default, pull from server.
-		: "${CHROME_ORIGIN:=SERVER_SOURCE}"
-	fi
-}
-
-sandboxless_ensure_directory() {
-	local dir
-	for dir in "$@"; do
-		if [[ ! -d "${dir}" ]] ; then
-			# We need root access to create these directories, so we need to
-			# use sudo. This implicitly disables the sandbox.
-			sudo mkdir -p "${dir}" || die
-			sudo chown "${PORTAGE_USERNAME}:portage" "${dir}" || die
-			sudo chmod 0755 "${dir}" || die
-		fi
-	done
-}
-
-src_unpack() {
-	echo
-	ewarn "If you want to develop or hack on the browser itself, you should follow the"
-	ewarn "simple chrome workflow instead of using emerge:"
-	ewarn "https://chromium.googlesource.com/chromiumos/docs/+/master/simple_chrome_workflow.md"
-	echo
-
-	tc-export CC CXX
-	local WHOAMI=$(whoami)
-
-	CHROME_SRC="chrome-src"
-	if use chrome_internal; then
-		CHROME_SRC+="-internal"
-	fi
-
-	# CHROME_CACHE_DIR is used for storing output artifacts, and is always a
-	# regular directory inside the chroot (i.e. it's never mounted in, so it's
-	# always safe to use cp -al for these artifacts).
-	: "${CHROME_CACHE_DIR:="/var/cache/chromeos-chrome/${CHROME_SRC}"}"
-	addwrite "${CHROME_CACHE_DIR}"
-
-	# CHROME_DISTDIR is used for storing the source code, if any source code
-	# needs to be unpacked at build time (e.g. in the SERVER_SOURCE scenario.)
-	# It will be mounted into the chroot, so it is never safe to use cp -al
-	# for these files.
-	: "${CHROME_DISTDIR:="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/${CHROME_SRC}"}"
-	addwrite "${CHROME_DISTDIR}"
-
-	# Create storage directories.
-	sandboxless_ensure_directory "${CHROME_DISTDIR}" "${CHROME_CACHE_DIR}"
-
-	cros-credentials_setup
-
-	decide_chrome_origin
-
-	case "${CHROME_ORIGIN}" in
-	LOCAL_SOURCE|SERVER_SOURCE|LOCAL_BINARY)
-		einfo "CHROME_ORIGIN VALUE is ${CHROME_ORIGIN}"
-		;;
-	*)
-		die "CHROME_ORIGIN not one of LOCAL_SOURCE, SERVER_SOURCE, LOCAL_BINARY"
-		;;
-	esac
-
-	# Prepare and set CHROME_ROOT based on CHROME_ORIGIN.
-	# CHROME_ROOT is the location where the source code is used for compilation.
-	# If we're in SERVER_SOURCE mode, CHROME_ROOT is CHROME_DISTDIR. In LOCAL_SOURCE
-	# mode, this directory may be set manually to any directory. It may be mounted
-	# into the chroot, so it is not safe to use cp -al for these files.
-	# These are set here because $(whoami) returns the proper user here,
-	# but 'root' at the root level of the file
-	case "${CHROME_ORIGIN}" in
-	(SERVER_SOURCE)
-		elog "Using CHROME_VERSION = ${CHROME_VERSION}"
-		if [[ ${WHOAMI} == "chrome-bot" ]]; then
-			# TODO: Should add a sanity check that the version checked out is
-			# what we actually want.  Not sure how to do that though.
-			elog "Skipping syncing as cbuildbot ran SyncChrome for us."
-		else
-			unpack_chrome
-		fi
-
-		elog "set the chrome source root to ${CHROME_DISTDIR}"
-		elog "From this point onwards there is no difference between \
-			SERVER_SOURCE and LOCAL_SOURCE, since the fetch is done"
-		CHROME_ROOT=${CHROME_DISTDIR}
-		;;
-	(LOCAL_SOURCE)
-		: ${CHROME_ROOT:=/home/${WHOAMI}/chrome_root}
-		if [[ ! -d "${CHROME_ROOT}/src" ]]; then
-			die "${CHROME_ROOT} does not contain a valid chromium checkout!"
-		fi
-		addwrite "${CHROME_ROOT}"
-		;;
-	esac
-
-	case "${CHROME_ORIGIN}" in
-	LOCAL_SOURCE|SERVER_SOURCE)
-		set_build_args
-		;;
-	esac
-
-	# FIXME: This is the normal path where ebuild stores its working data.
-	# Chrome builds inside distfiles because of speed, so we at least make
-	# a symlink here to add compatibility with autotest eclass which uses this.
-	ln -sf "${CHROME_ROOT}" "${WORKDIR}/${P}"
-
-	if use internal_gles_conform; then
-		local CHROME_GLES2_CONFORM=${CHROME_ROOT}/src/third_party/gles2_conform
-		local CROS_GLES2_CONFORM=/home/${WHOAMI}/trunk/src/third_party/gles2_conform
-		if [[ ! -d "${CHROME_GLES2_CONFORM}" ]]; then
-			if [[ -d "${CROS_GLES2_CONFORM}" ]]; then
-				ln -s "${CROS_GLES2_CONFORM}" "${CHROME_GLES2_CONFORM}"
-				einfo "Using GLES2 conformance test suite from ${CROS_GLES2_CONFORM}"
-			else
-				die "Trying to build GLES2 conformance test suite without ${CHROME_GLES2_CONFORM} or ${CROS_GLES2_CONFORM}"
-			fi
-		fi
-	fi
-
-	if use afdo_use; then
-		# Use AFDO profile downloaded in Chromium source code
-		# If needed profiles other than "silvermont", please set the variable
-		# ${AFDO_PROFILE_SOURCE} accordingly.
-		local afdo_src="${AFDO_PROFILE_SOURCE:-atom}"
-		BUILD_ARGS+=( "clang_use_default_sample_profile=true" )
-		BUILD_STRING_ARGS+=( "chromeos_afdo_platform=${afdo_src}" )
-	fi
-
-	# Use to verify a local unvetted AFDO file.
-	if use afdo_verify; then
-		if [[ ! -e "${UNVETTED_AFDO_FILE}" ]]; then
-			die "Cannot find ${UNVETTED_AFDO_FILE} to build Chrome."
-		fi
-		BUILD_STRING_ARGS+=( "clang_sample_profile_path=${UNVETTED_AFDO_FILE}" )
-	fi
-
-	# Unpack unvetted orderfile.
-	if use orderfile_verify; then
-		local orderfile_dir="${WORKDIR}/orderfile"
-		mkdir "${orderfile_dir}"
-		local orderfile_file=${UNVETTED_ORDERFILE}
-		(cd "${orderfile_dir}" && unpack "${orderfile_file}.xz") || die
-
-		local orderfile_loc="${orderfile_dir}/${orderfile_file}"
-		einfo "Using ${orderfile_loc} as orderfile for ordering Chrome"
-
-		# Pass the path to orderfile to GN args.
-		BUILD_STRING_ARGS+=( "chrome_orderfile_path=${orderfile_loc}" )
-	fi
-
-	if ! use orderfile_use; then
-		# If not using orderfile, override the default orderfile path to empty.
-		BUILD_STRING_ARGS+=( "chrome_orderfile_path=" )
-	fi
-}
-
-add_api_keys() {
-	# awk script to extract the values out of the file.
-	local EXTRACT="{ gsub(/[',]/, \"\", \$2); print \$2 }"
-	local api_key=$(awk "/google_api_key/ ${EXTRACT}" "$1")
-	local client_id=$(awk "/google_default_client_id/ ${EXTRACT}" "$1")
-	local client_secret=$(awk "/google_default_client_secret/ ${EXTRACT}" "$1")
-
-	BUILD_STRING_ARGS+=(
-		"google_api_key=${api_key}"
-		"google_default_client_id=${client_id}"
-		"google_default_client_secret=${client_secret}"
-	)
-}
-
-src_prepare() {
-	# Must call eapply_user in EAPI 7, but this function is a no-op here.
-	eapply_user
-
-	if [[ "${CHROME_ORIGIN}" != "LOCAL_SOURCE" &&
-			"${CHROME_ORIGIN}" != "SERVER_SOURCE" ]]; then
-		return
-	fi
-
-	elog "${CHROME_ROOT} should be set here properly"
-	cd "${CHROME_ROOT}/src" || die "Cannot chdir to ${CHROME_ROOT}"
-
-	# We do symlink creation here if appropriate.
-	mkdir -p "${CHROME_CACHE_DIR}/src/${BUILD_OUT}"
-	if [[ ! -z "${BUILD_OUT_SYM}" ]]; then
-		rm -rf "${BUILD_OUT_SYM}" || die "Could not remove symlink"
-		ln -sfT "${CHROME_CACHE_DIR}/src/${BUILD_OUT}" "${BUILD_OUT_SYM}" ||
-			die "Could not create symlink for output directory"
-	fi
-
-
-	# Apply patches for non-localsource builds.
-	if [[ "${CHROME_ORIGIN}" == "SERVER_SOURCE" && ${#PATCHES[@]} -gt 0 ]]; then
-		eapply "${PATCHES[@]}"
-	fi
-
-	local WHOAMI=$(whoami)
-	# Get the credentials to fake home directory so that the version of chromium
-	# we build can access Google services. First, check for Chrome credentials.
-	if [[ ! -d google_apis/internal ]]; then
-		# Then look for Chrome OS supplied credentials.
-		local PRIVATE_OVERLAYS_DIR=/home/${WHOAMI}/trunk/src/private-overlays
-		local GAPI_CONFIG_FILE=${PRIVATE_OVERLAYS_DIR}/chromeos-overlay/googleapikeys
-		if [[ ! -f "${GAPI_CONFIG_FILE}" ]]; then
-			# Then developer credentials.
-			GAPI_CONFIG_FILE=/home/${WHOAMI}/.googleapikeys
-		fi
-		if [[ -f "${GAPI_CONFIG_FILE}" ]]; then
-			add_api_keys "${GAPI_CONFIG_FILE}"
-		fi
-	fi
-}
-
-setup_test_lists() {
-	TEST_FILES=(
-		capture_unittests
-		dawn_end2end_tests
-		dawn_unittests
-		gl_tests
-		jpeg_decode_accelerator_unittest
-		ozone_gl_unittests
-		sandbox_linux_unittests
-		wayland_client_integration_tests
-		wayland_client_perftests
-	)
-
-	TEST_FILES+=( ppapi/examples/video_decode )
-
-	if use vaapi || use v4l2_codec; then
-		TEST_FILES+=(
-			image_processor_test
-			jpeg_encode_accelerator_unittest
-			video_decode_accelerator_perf_tests
-			video_decode_accelerator_tests
-			video_encode_accelerator_perf_tests
-			video_encode_accelerator_tests
-		)
-	fi
-
-	if use vaapi; then
-		TEST_FILES+=(
-			decode_test
-			vaapi_unittest
-		)
-	fi
-
-	if use v4l2_codec; then
-		TEST_FILES+=(
-			v4l2_stateless_decoder
-		)
-	fi
-
-	# TODO(ihf): Figure out how to keep this in sync with telemetry.
-	TOOLS_TELEMETRY_BIN=(
-		bitmaptools
-		clear_system_cache
-		minidump_stackwalk
-	)
-
-	PPAPI_TEST_FILES=(
-		lib{32,64}
-		mock_nacl_gdb
-		ppapi_nacl_tests_{newlib,glibc}.nmf
-		ppapi_nacl_tests_{newlib,glibc}_{x32,x64,arm,arm64}.nexe
-		test_case.html
-		test_case.html.mock-http-headers
-		test_page.css
-		test_url_loader_data
-	)
-}
-
-# Handle all CFLAGS/CXXFLAGS/etc... munging here.
-setup_compile_flags() {
-	# Chrome controls its own optimization settings, so this would be a nop
-	# if we were to run it. Leave it here anyway as a grep-friendly marker.
-	# cros_optimize_package_for_speed
-
-	# The chrome makefiles specify -O and -g flags already, so remove the
-	# portage flags.
-	filter-flags -g "-O*"
-
-	# Remove unsupported arm64 linker flag on arm32 builds.
-	# https://crbug.com/889079
-	use arm && filter-flags "-Wl,--fix-cortex-a53-843419"
-
-	# There are some flags we want to only use in the ebuild.
-	# The rest will be exported to the simple chrome workflow.
-	EBUILD_CFLAGS=()
-	EBUILD_CXXFLAGS=()
-	EBUILD_LDFLAGS=()
-
-	if use thinlto; then
-		# if using thinlto, we need to pass the equivalent of
-		# -fdebug-types-section to the backend, to prevent out-of-range
-		# relocations (see
-		# https://bugs.chromium.org/p/chromium/issues/detail?id=1032159).
-		append-ldflags -Wl,-mllvm
-		append-ldflags -Wl,-generate-type-units
-	else
-		# Non-ThinLTO builds with symbol_level=2 may have out-of-range
-		# relocations, too: crbug.com/1050819.
-		append-flags -fdebug-types-section
-	fi
-
-	if use orderfile_generate; then
-		local chrome_outdir="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
-		BUILD_STRING_ARGS+=( "dump_call_chain_clustering_order=${chrome_outdir}/chrome.orderfile.txt" )
-		# Enable call graph profile sort (C3) to generate orderfile.
-		BUILD_ARGS+=( "enable_call_graph_profile_sort=true" )
-	fi
-
-	# Enable std::vector []-operator bounds checking.
-	append-cxxflags -D__google_stl_debug_vector=1
-
-	# Chrome and Chrome OS versions of the compiler may not be in
-	# sync. So, don't complain if Chrome uses a diagnostic
-	# option that is not yet implemented in the compiler version used
-	# by Chrome OS.
-	# Turns out this is only really supported by Clang. See crosbug.com/615466
-	# Add "-faddrsig" flag required to efficiently support "--icf=all".
-	append-flags -faddrsig
-	append-flags -Wno-unknown-warning-option
-	export CXXFLAGS_host+=" -Wno-unknown-warning-option"
-	export CFLAGS_host+=" -Wno-unknown-warning-option"
-	export LDFLAGS_host+=" --unwindlib=libgcc"
-	if use libcxx; then
-		append-cxxflags "-stdlib=libc++"
-		append-ldflags "-stdlib=libc++"
-	fi
-
-	# Workaround: Disable fatal linker warnings on arm64/lld.
-	# https://crbug.com/913071
-	use arm64 && append-ldflags "-Wl,--no-fatal-warnings"
-	# Workaround: Disable fatal linker warnings on arm/lld.
-	# https://crbug.com/1190544
-	use arm && append-ldflags "-Wl,--no-fatal-warnings"
-	use vtable_verify && append-ldflags -fvtable-verify=preinit
-
-	local flags
-	einfo "Building with the compiler settings:"
-	for flags in {C,CXX,CPP,LD}FLAGS; do
-		einfo "  ${flags} = ${!flags}"
-	done
-}
-
-src_configure() {
-	tc-export CXX CC AR AS NM RANLIB STRIP
-	export CC_host=$(tc-getBUILD_CC)
-	export CXX_host=$(tc-getBUILD_CXX)
-	export NM_host=$(tc-getBUILD_NM)
-	export READELF="llvm-readelf"
-	export READELF_host="llvm-readelf"
-
-	# Use C++ compiler as the linker driver.
-	export LD="${CXX}"
-	export LD_host=${CXX_host}
-
-	# We need below change when USE="thinlto" is set. We set this globally
-	# so that users can turn on the "use_thin_lto" in the simplechrome
-	# flow more easily.
-	# use nm from llvm, https://crbug.com/917193
-	export NM="llvm-nm"
-	export NM_host="llvm-nm"
-	export AR="llvm-ar"
-	# USE=thinlto affects host build, we need to set host AR to
-	# llvm-ar to make sure host package builds with thinlto.
-	# crbug.com/731335
-	export AR_host="llvm-ar"
-	export RANLIB="llvm-ranlib"
-	# Use llvm's objcopy instead of GNU
-	export OBJCOPY="llvm-objcopy"
-
-	# Set binutils path for goma.
-	CC_host+=" -B$(get_binutils_path "${LD_host}")"
-	CXX_host+=" -B$(get_binutils_path "${LD_host}")"
-
-	setup_compile_flags
-
-	# We might set BOTO_CONFIG in the builder environment in case the
-	# existing file needs modifications (e.g. for working with older
-	# branches). So don't overwrite it if it's already set.
-	# See https://crbug.com/847676 for details.
-	export BOTO_CONFIG="${BOTO_CONFIG:-/home/$(whoami)/.boto}"
-	export PATH=${PATH}:${DEPOT_TOOLS}
-
-	export DEPOT_TOOLS_GSUTIL_BIN_DIR="${CHROME_CACHE_DIR}/gsutil_bin"
-	# The venv logic seems to misbehave when cross-compiling.  Since our SDK
-	# should include all the necessary modules, just disable it (for now).
-	# https://crbug.com/808434
-	export VPYTHON_BYPASS="manually managed python not supported by chrome operations"
-
-	# TODO(rcui): crosbug.com/20435. Investigate removal of runhooks
-	# useflag when chrome build switches to Ninja inside the chroot.
-	if use runhooks; then
-		local cmd=( "${EGCLIENT}" runhooks --force )
-		echo "${cmd[@]}"
-		CFLAGS="${CFLAGS} ${EBUILD_CFLAGS[*]}" \
-		CXXFLAGS="${CXXFLAGS} ${EBUILD_CXXFLAGS[*]}" \
-		LDFLAGS="${LDFLAGS} ${EBUILD_LDFLAGS[*]}" \
-		"${cmd[@]}" || die
-	fi
-
-	BUILD_STRING_ARGS+=(
-		"cros_target_ar=${AR}"
-		"cros_target_cc=${CC}"
-		"cros_target_cxx=${CXX}"
-		"host_toolchain=//build/toolchain/cros:host"
-		"custom_toolchain=//build/toolchain/cros:target"
-		"v8_snapshot_toolchain=//build/toolchain/cros:v8_snapshot"
-		"cros_target_ld=${LD}"
-		"cros_target_nm=${NM}"
-		"cros_target_readelf=${READELF}"
-		"cros_target_extra_cflags=${CFLAGS} ${EBUILD_CFLAGS[*]}"
-		"cros_target_extra_cppflags=${CPPFLAGS}"
-		"cros_target_extra_cxxflags=${CXXFLAGS} ${EBUILD_CXXFLAGS[*]}"
-		"cros_target_extra_ldflags=${LDFLAGS} ${EBUILD_LDFLAGS[*]}"
-		"cros_host_cc=${CC_host}"
-		"cros_host_cxx=${CXX_host}"
-		"cros_host_ar=${AR_host}"
-		"cros_host_ld=${LD_host}"
-		"cros_host_nm=${NM_host}"
-		"cros_host_readelf=${READELF_host}"
-		"cros_host_extra_cflags=${CFLAGS_host}"
-		"cros_host_extra_cxxflags=${CXXFLAGS_host}"
-		"cros_host_extra_cppflags=${CPPFLAGS_host}"
-		"cros_host_extra_ldflags=${LDFLAGS_host}"
-		"cros_v8_snapshot_cc=${CC_host}"
-		"cros_v8_snapshot_cxx=${CXX_host}"
-		"cros_v8_snapshot_ar=${AR_host}"
-		"cros_v8_snapshot_ld=${LD_host}"
-		"cros_v8_snapshot_nm=${NM_host}"
-		"cros_v8_snapshot_readelf=${READELF_host}"
-		"cros_v8_snapshot_extra_cflags=${CFLAGS_host}"
-		"cros_v8_snapshot_extra_cxxflags=${CXXFLAGS_host}"
-		"cros_v8_snapshot_extra_cppflags=${CPPFLAGS_host}"
-		"cros_v8_snapshot_extra_ldflags=${LDFLAGS_host}"
-	)
-
-	local arg
-	for arg in "${BUILD_STRING_ARGS[@]}"; do
-		BUILD_ARGS+=("${arg%%=*}=\"${arg#*=}\"")
-	done
-	export GN_ARGS="${BUILD_ARGS[*]}"
-	einfo "GN_ARGS = ${GN_ARGS}"
-	local gn=(
-		"${CHROME_ROOT}/src/buildtools/linux64/gn" gen
-		"${CHROME_ROOT}/src/${BUILD_OUT_SYM}/${BUILDTYPE}"
-		--args="${GN_ARGS}" --root="${CHROME_ROOT}/src"
-	)
-	echo "${gn[@]}"
-	"${gn[@]}" || die
-
-	setup_test_lists
-
-	if use clang_tidy; then
-		export WITH_TIDY=1
-	fi
-}
-
-chrome_make() {
-	local build_dir="${BUILD_OUT_SYM}/${BUILDTYPE}"
-
-	# If ThinLTO is enabled, we may have a cache from a previous link. Due
-	# to fears about lack of reproducibility, we don't allow cache reuse
-	# across rebuilds. The cache is still useful for artifacts shared
-	# between multiple links done by this build (e.g. tests).
-	use thinlto && rm -rf "${build_dir}/thinlto-cache"
-
-	# If goma or remoteexec is enabled, increase the number of parallel
-	# run to 10 * {number of processors}. Though, if it is too large the
-	# performance gets slow down, so limit by 200 heuristically.
-	if use_goma || use_remoteexec; then
-		local num_parallel=$(($(nproc) * 10))
-		local j_limit=200
-		set -- -j $((num_parallel < j_limit ? num_parallel : j_limit)) "$@"
-	fi
-	local command=(
-		"${ENINJA}"
-		-j"$(makeopts_jobs)"
-		-C "${build_dir}"
-		$(usex verbose -v "")
-		-d "keeprsp"
-		"$@"
-	)
-	# If goma is used, log the command, cwd and env vars, which will be
-	# uploaded to the logging server.
-	if should_upload_build_logs; then
-		env --null > "${GLOG_log_dir}/ninja_env"
-		pwd > "${GLOG_log_dir}/ninja_cwd"
-		echo "${command[@]}" > "${GLOG_log_dir}/ninja_command"
-	fi
-	PATH=${PATH}:${DEPOT_TOOLS} "${command[@]}"
-	local ret=$?
-	if should_upload_build_logs; then
-		echo "${ret}" > "${GLOG_log_dir}/ninja_exit"
-		cp -p "${BUILD_OUT_SYM}/${BUILDTYPE}/.ninja_log" "${GLOG_log_dir}/ninja_log"
-	fi
-	[[ "${ret}" -eq 0 ]] || die
-
-	# Still use a script to check if the orderfile is used properly, i.e.
-	# Builtin_ functions are placed between the markers, etc.
-	if use strict_toolchain_checks && (use orderfile_use || use orderfile_verify); then
-		"${FILESDIR}/check_orderfile.py" "${build_dir}/chrome" || die
-	fi
-}
-
-src_compile() {
-	if [[ "${CHROME_ORIGIN}" != "LOCAL_SOURCE" &&
-			"${CHROME_ORIGIN}" != "SERVER_SOURCE" ]]; then
-		return
-	fi
-
-	cd "${CHROME_ROOT}"/src || die "Cannot chdir to ${CHROME_ROOT}/src"
-
-	local chrome_targets=( $(usex mojo "mojo_shell" "") )
-	if use app_shell; then
-		chrome_targets+=( app_shell )
-	else
-		chrome_targets+=( chrome )
-	fi
-	if use build_tests; then
-		chrome_targets+=(
-			"${TEST_FILES[@]}"
-			"${TOOLS_TELEMETRY_BIN[@]}"
-			chromedriver
-		)
-		if use chrome_internal; then
-			chrome_targets+=( libassistant_debug.so )
-		fi
-	fi
-	use_nacl && chrome_targets+=( nacl_helper_bootstrap nacl_helper )
-
-	chrome_make "${chrome_targets[@]}"
-
-	if use build_tests; then
-		install_chrome_test_resources "${WORKDIR}/test_src"
-		install_telemetry_dep_resources "${WORKDIR}/telemetry_src"
-
-		# NOTE: Since chrome is built inside distfiles, we have to get
-		# rid of the previous instance first.
-		# We remove only what we will overwrite with the mv below.
-		local deps="${WORKDIR}/${P}/${AUTOTEST_DEPS}"
-
-		rm -rf "${deps}/chrome_test/test_src"
-		mv "${WORKDIR}/test_src" "${deps}/chrome_test/"
-
-		rm -rf "${deps}/telemetry_dep/test_src"
-		mv "${WORKDIR}/telemetry_src" "${deps}/telemetry_dep/test_src"
-
-		# The autotest eclass wants this for some reason.
-		get_paths() { :; }
-
-		# HACK: It would make more sense to call autotest_src_prepare in
-		# src_prepare, but we need to call install_chrome_test_resources first.
-		autotest-deponly_src_prepare
-
-		# Remove .git dirs
-		find "${AUTOTEST_WORKDIR}" -type d -name .git -prune -exec rm -rf {} +
-
-		autotest_src_compile
-	fi
-}
-
-install_test_resources() {
-	# Install test resources from chrome source directory to destination.
-	# We keep a cache of test resources inside the chroot to avoid copying
-	# multiple times.
-	local test_dir="${1}"
-	einfo "install_test_resources to ${test_dir}"
-	shift
-
-	# To speed things up, we write the list of files to a temporary file so
-	# we can use rsync with --files-from.
-	local tmp_list_file="${T}/${test_dir##*/}.files"
-	printf "%s\n" "$@" > "${tmp_list_file}"
-
-	# Copy the specific files to the cache from the source directory.
-	# Note: we need to specify -r when using --files-from and -a to get a
-	# recursive copy.
-	# TODO(ihf): Make failures here fatal.
-	rsync -r -a --delete --exclude=.git --exclude="*.pyc" \
-		--files-from="${tmp_list_file}" "${CHROME_ROOT}/src/" \
-		"${CHROME_CACHE_DIR}/src/"
-
-	# Create hard links in the destination based on the cache.
-	# Note: we need to specify -r when using --files-from and -a to get a
-	# recursive copy.
-	# TODO(ihf): Make failures here fatal.
-	rsync -r -a --link-dest="${CHROME_CACHE_DIR}/src" \
-		--files-from="${tmp_list_file}" "${CHROME_CACHE_DIR}/src/" "${test_dir}/"
-}
-
-test_strip_install() {
-	local from="${1}"
-	local dest="${2}"
-	shift 2
-	mkdir -p "${dest}"
-	local f
-	for f in "$@"; do
-		$(tc-getSTRIP) --strip-debug \
-			"${from}"/${f} -o "${dest}/$(basename ${f})"
-	done
-}
-
-install_chrome_test_resources() {
-	# NOTE: This is a duplicate from src_install, because it's required here.
-	local from="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
-	local test_dir="${1}"
-	local dest="${test_dir}/out/Release"
-
-	echo Copying Chrome tests into "${test_dir}"
-
-	# Even if chrome_debug_tests is enabled, we don't need to include detailed
-	# debug info for tests in the binary package, so save some time by stripping
-	# everything but the symbol names. Developers who need more detailed debug
-	# info on the tests can use the original unstripped tests from the ${from}
-	# directory.
-	TEST_INSTALL_TARGETS=(
-		"${TEST_FILES[@]}"
-		"libppapi_tests.so" )
-
-	einfo "Installing test targets: ${TEST_INSTALL_TARGETS[@]}"
-	test_strip_install "${from}" "${dest}" "${TEST_INSTALL_TARGETS[@]}"
-
-	# Copy Chrome test data.
-	mkdir -p "${dest}"/test_data
-	# WARNING: Only copy subdirectories of |test_data|.
-	# The full |test_data| directory is huge and kills our VMs.
-	# Example:
-	# cp -al "${from}"/test_data/<subdir> "${test_dir}"/out/Release/<subdir>
-
-	for f in "${PPAPI_TEST_FILES[@]}"; do
-		cp -al "${from}/${f}" "${dest}"
-	done
-
-	# Install Chrome test resources.
-	# WARNING: Only install subdirectories of |chrome/test|.
-	# The full |chrome/test| directory is huge and kills our VMs.
-	install_test_resources "${test_dir}" \
-		base/base_paths_posix.cc \
-		chrome/test/data/chromeos \
-		chrome/test/functional \
-		chrome/third_party/mock4js/mock4js.js  \
-		content/common/gpu/testdata \
-		media/test/data \
-		content/test/data \
-		net/data/ssl/certificates \
-		ppapi/tests/test_case.html \
-		ppapi/tests/test_url_loader_data \
-		third_party/bidichecker/bidichecker_packaged.js \
-		third_party/accessibility-developer-tools/gen/axs_testing.js
-
-	# Add the pdf test data if needed.
-	if use chrome_internal; then
-		install_test_resources "${test_dir}" pdf/test
-	fi
-	# Add the gles_conform test data if needed.
-	if use chrome_internal || use internal_gles_conform; then
-		install_test_resources "${test_dir}" gpu/gles2_conform_support/gles2_conform_test_expectations.txt
-	fi
-
-	cp -a "${CHROME_ROOT}"/"${AUTOTEST_DEPS}"/chrome_test/setup_test_links.sh \
-		"${dest}"
-}
-
-install_telemetry_dep_resources() {
-	local test_dir="${1}"
-
-	TELEMETRY=${CHROME_ROOT}/src/third_party/catapult/telemetry
-	if [[ -r "${TELEMETRY}" ]]; then
-		echo "Copying Telemetry Framework into ${test_dir}"
-		mkdir -p "${test_dir}"
-		# We are going to call chromium code but can't trust that it is clean
-		# of precompiled code. See crbug.com/590762.
-		find "${TELEMETRY}" -name "*.pyc" -type f -delete
-		# Get deps from Chrome.
-		FIND_DEPS=${CHROME_ROOT}/src/tools/perf/find_dependencies
-		PERF_DEPS=${CHROME_ROOT}/src/tools/perf/bootstrap_deps
-		CROS_DEPS=${CHROME_ROOT}/src/tools/cros/bootstrap_deps
-		# sed removes the leading path including src/ converting it to relative.
-		# To avoid silent failures assert the success.
-		DEPS_LIST=$(python ${FIND_DEPS} ${PERF_DEPS} ${CROS_DEPS} | \
-			sed -e 's|^'${CHROME_ROOT}/src/'||'; assert)
-		install_test_resources "${test_dir}" "${DEPS_LIST}"
-		# For crosperf, which uses some tests only available on internal builds.
-		if use chrome_internal; then
-			install_test_resources "${test_dir}" \
-				data/page_cycler/morejs \
-				data/page_cycler/moz
-		fi
-	fi
-
-	local from="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
-	local dest="${test_dir}/src/out/${BUILDTYPE}"
-	einfo "Installing telemetry binaries: ${TOOLS_TELEMETRY_BIN[@]}"
-	test_strip_install "${from}" "${dest}" "${TOOLS_TELEMETRY_BIN[@]}"
-
-	# When copying only a portion of the Chrome source that telemetry needs,
-	# some symlinks can end up broken. Thus clean these up before packaging.
-	einfo "Cleaning up broken symlinks in telemetry"
-	find -L "${test_dir}" -type l -delete
-
-	# Unfortunately we are sometimes provided with unrelated upstream directories
-	# and binaries taking a lot of space. Clean these up manually. Notice
-	# that Android and Linux directories might be needed so keep those.
-	einfo "Cleaning up non-Chrome OS directories in telemetry"
-	find -L "${test_dir}" -type d -regex ".*/\(mac\|mips\|mips64\|win\)" -exec rm -rfv {} \;
-	einfo "Finished installing telemetry dep resources"
-}
-
-# Add any new artifacts generated by the Chrome build targets to deploy_chrome.py.
-# We deal with miscellaneous artifacts here in the ebuild.
-src_install() {
-	FROM="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
-
-	# Override default strip flags and lose the '-R .comment'
-	# in order to play nice with the crash server.
-	if [[ -z "${KEEP_CHROME_DEBUG_SYMBOLS}" ]]; then
-		if [[ "${STRIP}" == "llvm-strip" ]]; then
-			export PORTAGE_STRIP_FLAGS="--strip-all-gnu"
-		else
-			export PORTAGE_STRIP_FLAGS=""
-		fi
-	else
-		export PORTAGE_STRIP_FLAGS="--strip-debug"
-	fi
-	einfo "PORTAGE_STRIP_FLAGS=${PORTAGE_STRIP_FLAGS}"
-	LS=$(ls -alhS ${FROM})
-	einfo "CHROME_DIR after build\n${LS}"
-
-	# Copy a D-Bus config file that includes other configs that are installed to
-	# /opt/google/chrome/dbus by deploy_chrome.
-	insinto /etc/dbus-1/system.d
-	doins "${FILESDIR}"/chrome.conf
-
-	# Copy Quickoffice resources for official build.
-	# Quickoffice is not yet available for arm64, https://crbug.com/881489
-	if use chrome_internal && [[ "${ARCH}" != "arm64" ]]; then
-		local qo_install_root="/usr/share/chromeos-assets/quickoffice"
-		insinto "${qo_install_root}"
-		QUICKOFFICE="${CHROME_ROOT}"/src/chrome/browser/resources/chromeos/quickoffice
-		doins -r "${QUICKOFFICE}"/_locales
-		doins -r "${QUICKOFFICE}"/css
-		doins -r "${QUICKOFFICE}"/img
-		doins -r "${QUICKOFFICE}"/plugin
-		doins -r "${QUICKOFFICE}"/scripts
-		doins -r "${QUICKOFFICE}"/views
-
-		local qo_path=""
-		case "${ARCH}" in
-		arm)
-			qo_path="${QUICKOFFICE}"/_platform_specific/arm
-			;;
-		amd64)
-			qo_path="${QUICKOFFICE}"/_platform_specific/x86_64
-			;;
-		*)
-			die "Unsupported architecture: ${ARCH}"
-			;;
-		esac
-
-		# Compress the platform-specific NaCl binaries with squashfs to
-		# save space on the rootfs.
-		# - compress with LZO and 1M blocks to optimize trade-off
-		# between compression ratio and decompression speed.
-		# - use "-keep-as-directory" option so the squash file will
-		# include the folder with the name of the CPU architecture,
-		# which is expected by the scripts on device.
-		# - use "-root-mode 0755" to ensure that the mountpoint has
-		# permissions 0755 instead of the default 0777.
-		# - use "-4k-align" option so individual files inside the squash
-		# file will be aligned to 4K blocks, which improves the
-		# efficiency of the delta updates.
-		mksquashfs "${qo_path}" "${WORKDIR}/quickoffice.squash" \
-			-all-root -noappend -no-recovery -no-exports \
-			-exit-on-error -comp lzo -b 1M -keep-as-directory \
-			-4k-align -root-mode 0755 -no-progress \
-			|| die "Failed to create Quickoffice squashfs"
-
-		# The squashfs will be mounted at boot time by an upstart script
-		# installed by chromeos-base/quickoffice.
-		doins "${WORKDIR}/quickoffice.squash"
-	fi
-
-	# Chrome test resources
-	# Test binaries are only available when building chrome from source
-	if use build_tests && [[ "${CHROME_ORIGIN}" == "LOCAL_SOURCE" ||
-		"${CHROME_ORIGIN}" == "SERVER_SOURCE" ]]; then
-		autotest-deponly_src_install
-		#env -uRESTRICT prepstrip "${D}${AUTOTEST_BASE}"
-	fi
-
-	# Copy input_methods.txt for XkbToKcmConverter & auto-test.
-	if [[ "${CHROME_ORIGIN}" == "LOCAL_SOURCE" ||
-			"${CHROME_ORIGIN}" == "SERVER_SOURCE" ]]; then
-		insinto /usr/share/chromeos-assets/input_methods
-		sed -E -e '/^#/d' -e '/^$/d' -e 's:  +: :g' \
-			"${CHROME_ROOT}"/src/chromeos/ime/input_methods.txt > "${T}/input_methods.txt" || die
-		doins "${T}/input_methods.txt"
-	fi
-
-	# Fix some perms.
-	# TODO(rcui): Remove this - shouldn't be needed, and is just covering up
-	# potential permissions bugs.
-	chmod -R a+r "${D}"
-	find "${D}" -perm /111 -print0 | xargs -0 chmod a+x
-
-	# The following symlinks are needed in order to run chrome.
-	# TODO(rcui): Remove this.  Not needed for running Chrome.
-	dosym libnss3.so /usr/lib/libnss3.so.1d
-	dosym libnssutil3.so.12 /usr/lib/libnssutil3.so.1d
-	dosym libsmime3.so.12 /usr/lib/libsmime3.so.1d
-	dosym libssl3.so.12 /usr/lib/libssl3.so.1d
-	dosym libplds4.so /usr/lib/libplds4.so.0d
-	dosym libplc4.so /usr/lib/libplc4.so.0d
-	dosym libnspr4.so /usr/lib/libnspr4.so.0d
-
-	# Create the main Chrome install directory.
-	dodir "${CHROME_DIR}"
-	insinto "${CHROME_DIR}"
-
-	# Install the orderfile into the chrome directory
-	if use orderfile_generate; then
-		[[ -f "${FROM}/chrome.orderfile.txt" ]] || die "No orderfile generated."
-		doins "${FROM}/chrome.orderfile.txt"
-	fi
-
-	# Install the unvetted orderfile into the chrome directory for upload.
-	if use orderfile_verify; then
-		[[ -f "${DISTDIR}/${UNVETTED_ORDERFILE}.xz" ]] || die "Lost the unvetted orderfile."
-		doins "${DISTDIR}/${UNVETTED_ORDERFILE}.xz"
-	fi
-
-	# Use the deploy_chrome from the *Chrome* checkout.  The benefit of
-	# doing this is if a new buildspec of Chrome requires a non-backwards
-	# compatible change to deploy_chrome, we can commit the fix to
-	# deploy_chrome without breaking existing Chrome OS release builds,
-	# and then roll the DEPS for chromite in the Chrome checkout.
-	#
-	# Another benefit is each version of Chrome will have the right
-	# corresponding version of deploy_chrome.
-	local cmd=( "${CHROME_ROOT}"/src/third_party/chromite/bin/deploy_chrome )
-	# Disable stripping for now, as deploy_chrome doesn't generate splitdebug files.
-	cmd+=(
-		"--board=${BOARD}"
-		"--build-dir=${FROM}"
-		"--gn-args=${GN_ARGS}"
-		# If this is enabled, we need to re-enable `prepstrip` above for autotests.
-		# You'll also have to re-add "strip" to the RESTRICT at the top of the file.
-		--nostrip
-		"--staging-dir=${D_CHROME_DIR}"
-		"--staging-flags=${USE}"
-		--staging-only
-		"--strip-bin=${STRIP}"
-		"--strip-flags=${PORTAGE_STRIP_FLAGS}"
-		--verbose
-	)
-	einfo "${cmd[*]}"
-	"${cmd[@]}" || die
-	LS=$(ls -alhS ${D}/${CHROME_DIR})
-	einfo "CHROME_DIR after deploy_chrome\n${LS}"
-
-	# Keep the .dwp files with debug fission.
-	if use chrome_debug && use debug_fission; then
-		mkdir -p "${D}/usr/lib/debug/${CHROME_DIR}"
-		DWP="${CHOST}"-dwp
-		cd "${D}/${CHROME_DIR}"
-		# Iterate over all ELF files in current directory
-		while read i; do
-			cd "${FROM}"
-			# These files do not build with -gsplit-dwarf,
-			# so we do not need to get a .dwp file from them.
-			if [[ "${i}" == "./libassistant.so"		|| \
-				"${i}" == "./nacl_helper_nonsfi"	|| \
-				"${i}" == "./nacl_helper_bootstrap"	|| \
-				"${i}" == "./nacl_irt_arm.nexe"		|| \
-				"${i}" == "./nacl_irt_x86_64.exe"	|| \
-				"${i}" == "./nacl_irt_x86_64.nexe"	|| \
-				"${i}" == "./libmojo_core_arc64.so"	|| \
-				"${i}" == "./libmojo_core_arc32.so"	|| \
-				"${i}" == "./libwidevinecdm.so" ]] ; then
-				continue
-			fi
-			source="${i}"
-			${DWP} -e "${FROM}/${source}" -o "${D}/usr/lib/debug/${CHROME_DIR}/${i}.dwp" || die
-		done < <(scanelf -ByF '%F' ".")
-	fi
-
-	if use build_tests; then
-		# Install Chrome Driver to test image.
-		local chromedriver_dir='/usr/local/chromedriver'
-		dodir "${chromedriver_dir}"
-		cp -pPR "${FROM}"/chromedriver "${D}/${chromedriver_dir}" || die
-
-		if use chrome_internal; then
-			# Install LibAssistant test library to test image.
-			into /usr/local/
-			dolib.so "${FROM}"/libassistant_debug.so
-		fi
-
-		# Install a testing script to run Lacros from command line.
-		into /usr/local
-		dobin "${CHROME_ROOT}"/src/build/lacros/mojo_connection_lacros_launcher.py
-	fi
-	# The icu data is used by both chromeos-base/chrome-icu and this package.
-	# chromeos-base/chrome-icu is responsible for installing the icu
-	# data, so we remove it from ${D} here.
-	rm "${D_CHROME_DIR}/icudtl.dat" || die
-	rm "${D_CHROME_DIR}/icudtl.dat.hash" || die
-}
-
-pkg_preinst() {
-	enewuser "wayland"
-	enewgroup "wayland"
-	LS=$(ls -alhS ${ED}/${CHROME_DIR})
-	einfo "CHROME_DIR after installation\n${LS}"
-	CHROME_SIZE=$(stat --printf="%s" ${ED}/${CHROME_DIR}/chrome)
-	einfo "CHROME_SIZE = ${CHROME_SIZE}"
-
-	# Non-internal builds come with >10MB of unwinding info built-in. Size
-	# checks on those are less profitable.
-	if [[ ${CHROME_SIZE} -ge 300000000 && -z "${KEEP_CHROME_DEBUG_SYMBOLS}" ]] && use chrome_internal && ! use chrome_dcheck; then
-		die "Installed chrome binary got suspiciously large (size=${CHROME_SIZE})."
-	fi
-	if use arm; then
-		local files=$(find "${ED}/usr/lib/debug${CHROME_DIR}" -size +$((4 * 1024 * 1024 * 1024 - 1))c)
-		[[ -n ${files} ]] && die "Debug files exceed 4GiB: ${files}"
-	fi
-	# Verify that the elf program headers in splitdebug binary match the chrome
-	# binary, this is needed for correct symbolization in CWP.
-	# b/128861198, https://crbug.com/1007548 .
-	if [[ ${MERGE_TYPE} != binary ]] && use strict_toolchain_checks; then
-		local chrome_headers=$(${READELF} --program-headers --wide \
-			"${ED}/${CHROME_DIR}"/chrome | grep LOAD)
-		local chrome_debug_headers=$(${READELF} --program-headers --wide \
-			"${ED}/usr/lib/debug${CHROME_DIR}"/chrome.debug | grep LOAD)
-		[[ "${chrome_headers}" != "${chrome_debug_headers}" ]] && \
-			die "chrome program headers do not match chrome.debug"
-	fi
-}
-
-pkg_postinst() {
-	autotest_pkg_postinst
-}
diff --git a/chromeos-base/chromeos-chrome/chromeos-chrome-106.0.5239.0_rc-r1.ebuild b/chromeos-base/chromeos-chrome/chromeos-chrome-106.0.5239.0_rc-r1.ebuild
new file mode 100644
index 0000000..c7d2b6a
--- /dev/null
+++ b/chromeos-base/chromeos-chrome/chromeos-chrome-106.0.5239.0_rc-r1.ebuild
@@ -0,0 +1,1448 @@
+# Copyright 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+# Usage: by default, downloads chromium browser from the build server.
+# If CHROME_ORIGIN is set to one of {SERVER_SOURCE, LOCAL_SOURCE, LOCAL_BINARY},
+# the build comes from the chromimum source repository (gclient sync),
+# build server, locally provided source, or locally provided binary.
+# If you are using SERVER_SOURCE, a gclient template file that is in the files
+# directory which will be copied automatically during the build and used as
+# the .gclient for 'gclient sync'.
+# If building from LOCAL_SOURCE or LOCAL_BINARY specifying BUILDTYPE
+# will allow you to specify "Debug" or another build type; "Release" is
+# the default.
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit autotest-deponly binutils-funcs chromium-source cros-credentials cros-constants cros-sanitizers eutils flag-o-matic git-2 multilib toolchain-funcs user python-any-r1 multiprocessing
+
+DESCRIPTION="Open-source version of Google Chrome web browser"
+HOMEPAGE="http://www.chromium.org/"
+SRC_URI=""
+
+LICENSE="BSD-Google chrome_internal? ( Google-TOS )"
+SLOT="0"
+KEYWORDS="*"
+IUSE="
+	+afdo_use
+	afdo_verify
+	+accessibility
+	app_shell
+	arc_hw_oemcrypto
+	asan
+	+authpolicy
+	+build_tests
+	cdm_factory_daemon
+	+chrome_debug
+	+cfi
+	cfm
+	chrome_debug_tests
+	chrome_dcheck
+	chrome_internal
+	chrome_media
+	+chrome_remoting
+	clang_tidy
+	component_build
+	cros-debug
+	debug_fission
+	+dwarf5
+	+fonts
+	hibernate
+	hw_details
+	goma_thinlto
+	+highdpi
+	iioservice
+	intel_oemcrypto
+	internal_gles_conform
+	+libcxx
+	libinput
+	mojo
+	msan
+	+nacl
+	neon
+	+oobe_config
+	opengl
+	opengles
+	orderfile_generate
+	+orderfile_use
+	orderfile_verify
+	protected_av1
+	+runhooks
+	strict_toolchain_checks
+	subpixel_rendering
+	+thinlto
+	touchview
+	tpm_dynamic
+	ubsan
+	v4l2_codec
+	v4lplugin
+	vaapi
+	verbose
+	vtable_verify
+	xkbcommon
+	"
+REQUIRED_USE="
+	cfi? ( thinlto )
+	afdo_verify? ( !afdo_use )
+	orderfile_generate? ( !orderfile_use )
+	"
+
+OZONE_PLATFORM_PREFIX=ozone_platform_
+OZONE_PLATFORMS=(gbm cast headless egltest caca)
+IUSE_OZONE_PLATFORMS="${OZONE_PLATFORMS[*]/#/${OZONE_PLATFORM_PREFIX}}"
+IUSE+=" ${IUSE_OZONE_PLATFORMS}"
+OZONE_PLATFORM_DEFAULT_PREFIX=ozone_platform_default_
+IUSE_OZONE_PLATFORM_DEFAULTS="${OZONE_PLATFORMS[*]/#/${OZONE_PLATFORM_DEFAULT_PREFIX}}"
+IUSE+=" ${IUSE_OZONE_PLATFORM_DEFAULTS}"
+REQUIRED_USE+=" ^^ ( ${IUSE_OZONE_PLATFORM_DEFAULTS} )"
+
+# The gclient hooks that run in src_prepare hit the network.
+# https://crbug.com/731905
+RESTRICT="network-sandbox mirror"
+
+# Do not strip the nacl_helper_bootstrap binary because the binutils
+# objcopy/strip mangles the ELF program headers.
+# TODO(mcgrathr,vapier): This should be removed after portage's prepstrip
+# script is changed to use eu-strip instead of objcopy and strip.
+STRIP_MASK+=" */nacl_helper_bootstrap"
+
+# Portage version without optional portage suffix.
+CHROME_VERSION="${PV/_*/}"
+
+# chrome destination directory
+CHROME_DIR=/opt/google/chrome
+D_CHROME_DIR="${D}/${CHROME_DIR}"
+
+# For compilation/local chrome
+BUILDTYPE="${BUILDTYPE:-Release}"
+BOARD="${BOARD:-${SYSROOT##/build/}}"
+BUILD_OUT="${BUILD_OUT:-out_${BOARD}}"
+# WARNING: We are using a symlink now for the build directory to work around
+# command line length limits. This will cause problems if you are doing
+# parallel builds of different boards/variants.
+# Unsetting BUILD_OUT_SYM will revert this behavior
+BUILD_OUT_SYM="c"
+
+UNVETTED_ORDERFILE_LOCATION=${AFDO_GS_DIRECTORY:-"gs://chromeos-toolchain-artifacts/orderfile/unvetted"}
+
+# The following entry will be modified automatically for verifying orderfile or AFDO profile.
+UNVETTED_ORDERFILE=""
+UNVETTED_AFDO_FILE=""
+
+add_orderfiles() {
+	# For verify orderfile, only for a toolchain special build.
+	if [[ -n ${UNVETTED_ORDERFILE} ]]; then
+		SRC_URI+=" orderfile_verify? ( ${UNVETTED_ORDERFILE_LOCATION}/${UNVETTED_ORDERFILE}.xz )"
+	fi
+}
+
+add_orderfiles
+
+RDEPEND="${RDEPEND}
+	app-arch/bzip2
+	app-arch/sharutils
+	app-crypt/mit-krb5
+	app-misc/edid-decode
+	authpolicy? ( chromeos-base/authpolicy )
+	~chromeos-base/chrome-icu-${PV}
+	chromeos-base/gestures
+	chromeos-base/libevdev:=
+	fonts? ( chromeos-base/chromeos-fonts )
+	chrome_internal? ( chromeos-base/quickoffice )
+	dev-libs/nspr
+	>=dev-libs/nss-3.12.2
+	libinput? ( dev-libs/libinput:= )
+	>=media-libs/alsa-lib-1.0.19
+	media-libs/fontconfig
+	media-libs/libsync
+	x11-libs/libdrm
+	ozone_platform_gbm? ( media-libs/minigbm )
+	v4lplugin? ( media-libs/libv4lplugins )
+	>=media-sound/adhd-0.0.1-r310
+	net-print/cups
+	opengl? ( virtual/opengl )
+	opengles? ( virtual/opengles )
+	sys-apps/dbus
+	sys-apps/pciutils
+	virtual/udev
+	sys-libs/libcap
+	chrome_remoting? ( sys-libs/pam )
+	vaapi? ( x11-libs/libva )
+	xkbcommon? (
+		x11-libs/libxkbcommon
+		x11-misc/xkeyboard-config
+	)
+	accessibility? (
+		app-accessibility/brltty
+		app-accessibility/espeak-ng
+		app-accessibility/googletts
+	)
+	libcxx? (
+		sys-libs/libcxx
+	)
+	oobe_config? ( chromeos-base/oobe_config )
+	iioservice? ( chromeos-base/iioservice )
+	hibernate? ( chromeos-base/hiberman )
+	"
+
+DEPEND="${DEPEND}
+	${RDEPEND}
+	chromeos-base/protofiles
+	>=dev-util/gperf-3.0.3
+	arm? ( x11-libs/libdrm )
+"
+
+PATCHES=()
+
+AUTOTEST_COMMON="src/chrome/test/chromeos/autotest/files"
+AUTOTEST_DEPS="${AUTOTEST_COMMON}/client/deps"
+AUTOTEST_DEPS_LIST="chrome_test telemetry_dep"
+
+IUSE="${IUSE} +autotest"
+
+
+QA_TEXTRELS="*"
+QA_EXECSTACK="*"
+QA_PRESTRIPPED="*"
+
+use_nacl() {
+	# 32bit asan conflicts with nacl: crosbug.com/38980
+	! (use asan && [[ ${ARCH} == "x86" ]]) && \
+	! use component_build && use nacl
+}
+
+# Like the `usex` helper:
+# Usage: echox [int] [echo-if-true] [echo-if-false]
+# If [int] is 0, then echo the 2nd arg (default of yes), else
+# echo the 3rd arg (default of no).
+echox() {
+	# Like the `usex` helper.
+	[[ ${1:-$?} -eq 0 ]] && echo "${2:-yes}" || echo "${3:-no}"
+}
+# shellcheck disable=SC2120 # for suppressing a warning of never passed argument.
+echotf() { echox "${1:-$?}" true false ; }
+usetf()  { usex "$1" true false ; }
+
+use_remoteexec() {
+	[[ -n "${USE_REMOTEEXEC}" && "${USE_REMOTEEXEC}" == "true" ]]
+}
+
+use_goma() {
+	[[ -n "${USE_GOMA}" && "${USE_GOMA}" == "true" ]]
+}
+
+should_upload_build_logs() {
+	[[ -n "${GOMA_TMP_DIR}" && -n "${GLOG_log_dir}" && \
+		"${GLOG_log_dir}" == "${GOMA_TMP_DIR}"* ]]
+}
+
+set_build_args() {
+	# use goma_thinlto says that if we are using Goma and ThinLTO, use
+	# Goma for distributed code generation. So only set the corresponding
+	# gn arg to true if all three conditions are met.
+
+	# shellcheck disable=SC2119
+	# suppressing the false warning not to specify the optional argument of 'echotf".
+	use_goma_thin_lto=$(use goma_thinlto && use_goma && use thinlto; echotf)
+	# shellcheck disable=SC2119
+	# suppressing the false warning not to specify the optional argument of 'echotf".
+	use_protected_av1=$(use intel_oemcrypto || use protected_av1; echotf)
+	BUILD_ARGS=(
+		"is_chromeos_device=true"
+		# is_official_build sometimes implies extra optimizations (e.g. it will allow
+		# ThinLTO to optimize more aggressively, if ThinLTO is enabled). Please note
+		# that, despite the name, it should be usable by external users.
+		#
+		# Sanitizers don't like official builds.
+		"is_official_build=$(use_sanitizers false true)"
+
+		"is_debug=false"
+		"${EXTRA_GN_ARGS}"
+		"enable_pseudolocales=$(usetf cros-debug)"
+		"use_arc_protected_media=$(usetf arc_hw_oemcrypto)"
+		"use_chromeos_protected_av1=${use_protected_av1}"
+		"use_chromeos_protected_media=$(usetf cdm_factory_daemon)"
+		"use_iioservice=$(usetf iioservice)"
+		"use_v4l2_codec=$(usetf v4l2_codec)"
+		"use_v4lplugin=$(usetf v4lplugin)"
+		"use_vaapi=$(usetf vaapi)"
+		"use_xkbcommon=$(usetf xkbcommon)"
+		"enable_remoting=$(usetf chrome_remoting)"
+		# shellcheck disable=SC2119
+		# suppressing the false warning not to specify the optional argument of 'echotf".
+		"enable_nacl=$(use_nacl; echotf)"
+		"enable_hibernate=$(usetf hibernate)"
+		# use_system_minigbm is set below.
+
+		"is_cfm=$(usetf cfm)"
+
+		# Clang features.
+		"is_asan=$(usetf asan)"
+		"is_msan=$(usetf msan)"
+		"is_ubsan=$(usetf ubsan)"
+		"is_clang=true"
+		"use_thin_lto=$(usetf thinlto)"
+		"use_goma_thin_lto=${use_goma_thin_lto}"
+		"is_cfi=$(usetf cfi)"
+		"use_dwarf5=$(usetf dwarf5)"
+
+		# Assistant integration tests are only run on the Chromium bots,
+		# but they increase the size of libassistant.so by 1.3MB so we
+		# disable them here.
+		"enable_assistant_integration_tests=false"
+
+		# Generate debug info necessary for AutoFDO.
+		"clang_emit_debug_info_for_profiling=true"
+
+		# Add libinput to handle touchpad.
+		"use_libinput=$(usetf libinput)"
+
+		# Enable NSS slots software fallback when we are using runtime TPM selection.
+		"nss_slots_software_fallback=$(usetf tpm_dynamic)"
+
+		# Add hardware information to feedback logs and chrome://system.
+		"is_chromeos_with_hw_details=$(usetf hw_details)"
+	)
+
+	# BUILD_STRING_ARGS needs appropriate quoting. So, we keep them separate and
+	# add them to BUILD_ARGS at the end.
+	BUILD_STRING_ARGS=(
+		"target_sysroot=${SYSROOT}"
+		"system_libdir=$(get_libdir)"
+		"pkg_config=$(tc-getPKG_CONFIG)"
+		"target_os=chromeos"
+		"host_pkg_config=$(tc-getBUILD_PKG_CONFIG)"
+		"clang_diagnostic_dir=/tmp/clang_crash_diagnostics"
+	)
+	use internal_gles_conform && BUILD_ARGS+=( "internal_gles2_conform_tests=true" )
+
+	# Ozone platforms.
+	local platform
+	for platform in "${OZONE_PLATFORMS[@]}"; do
+		local flag="${OZONE_PLATFORM_DEFAULT_PREFIX}${platform}"
+		if use "${flag}"; then
+			BUILD_STRING_ARGS+=( "ozone_platform=${platform}" )
+		fi
+	done
+	BUILD_ARGS+=(
+		"ozone_auto_platforms=false"
+	)
+	for platform in ${IUSE_OZONE_PLATFORMS}; do
+		if use "${platform}"; then
+			BUILD_ARGS+=( "${platform}=true" )
+		fi
+	done
+	if use "ozone_platform_gbm"; then
+		BUILD_ARGS+=( "use_system_minigbm=true" )
+		BUILD_ARGS+=( "use_system_libdrm=true" )
+	fi
+	if ! use "subpixel_rendering" || use "touchview"; then
+		BUILD_ARGS+=( "subpixel_font_rendering_disabled=true" )
+	fi
+
+	# Set proper build args for the arch
+	case "${ARCH}" in
+	x86)
+		BUILD_STRING_ARGS+=( "target_cpu=x86" )
+		;;
+	arm)
+		BUILD_ARGS+=(
+			"arm_use_neon=$(usetf neon)"
+			# To workaround the 4GB debug limit. crbug.com/792999.
+			"blink_symbol_level=1"
+		)
+		BUILD_STRING_ARGS+=(
+			"target_cpu=arm"
+			"arm_float_abi=hard"
+		)
+		local arm_arch=$(get-flag march)
+		if [[ -n "${arm_arch}" ]]; then
+			BUILD_STRING_ARGS+=( "arm_arch=${arm_arch}" )
+			# Remove -march flag from {CC,CPP,CXX}FLAGS etc.
+			# Chromium will append -march=${arm_arch}.
+			filter-flags "-march=*"
+		fi
+		;;
+	arm64)
+		BUILD_STRING_ARGS+=(
+			"target_cpu=arm64"
+		)
+		local arm_arch=$(get-flag march)
+		if [[ -n "${arm_arch}" ]]; then
+			BUILD_STRING_ARGS+=( "arm_arch=${arm_arch}" )
+			# Remove -march flag from {CC,CPP,CXX}FLAGS etc.
+			# Chromium will append -march=${arm_arch}.
+			filter-flags "-march=*"
+		fi
+		;;
+	amd64)
+		BUILD_STRING_ARGS+=( "target_cpu=x64" )
+		;;
+	*)
+		die "Unsupported architecture: ${ARCH}"
+		;;
+	esac
+
+	if use chrome_internal; then
+		# Adding chrome branding specific variables.
+		BUILD_ARGS+=( "is_chrome_branded=true" )
+		# This test can only be build from internal sources.
+		BUILD_ARGS+=( "internal_gles2_conform_tests=true" )
+		export CHROMIUM_BUILD='_google_Chrome'
+		export OFFICIAL_BUILD='1'
+		export CHROME_BUILD_TYPE='_official'
+	elif use chrome_media; then
+		echo "Building Chromium with additional media codecs and containers."
+		BUILD_ARGS+=( "proprietary_codecs=true" )
+		BUILD_STRING_ARGS+=( "ffmpeg_branding=ChromeOS" )
+	fi
+
+	if use component_build; then
+		BUILD_ARGS+=( "is_component_build=true" )
+	fi
+	if use_goma; then
+		BUILD_ARGS+=( "use_goma=true" )
+		BUILD_STRING_ARGS+=( "goma_dir=${GOMA_DIR:-/home/${WHOAMI}/goma}" )
+
+		# Goma compiler proxy runs outside of portage build.
+		# Practically, because TMPDIR is set in portage, it is
+		# different from the directory used when the compiler proxy
+		# started.
+		# If GOMA_TMP_DIR is not set, the compiler proxy uses
+		# TMPDIR/goma_${WHOAMI} for its tmpdir as fallback, which
+		# causes unexpected behavior.
+		# Specifically, named socket used to communicate with compiler
+		# proxy is ${GOMA_TMP_DIR}/goma.ipc by default, so the compiler
+		# proxy cannot be reached.
+		# Thus, here set GOMA_TMP_DIR to /tmp/goma_${WHOAMI} if it is
+		# not yet set.
+		if [[ -z "${GOMA_TMP_DIR}" ]]; then
+			export GOMA_TMP_DIR="/tmp/goma_${WHOAMI}"
+		fi
+	fi
+
+	if use_remoteexec; then
+		BUILD_ARGS+=(
+			"use_remoteexec=true"
+		)
+		BUILD_STRING_ARGS+=(
+			"rbe_cc_cfg_file=${CHROME_ROOT}/src/buildtools/reclient_cfgs/rewrapper_chroot_compile.cfg"
+		)
+	fi
+
+	if use chrome_debug; then
+		# Use debug fission to avoid 4GB limit of ELF32 (see crbug.com/595763).
+		# Using -g1 causes problems with crash server (see crbug.com/601854).
+		# Disable debug_fission for bots which generate AFDO profile. (see crbug.com/704602).
+		local debug_level=2
+		if use arm && ! use debug_fission; then
+			# Limit debug info to -g1 to keep the binary size within 4GB.
+			# Production builds do not use "-debug_fission". But it is used
+			# by the AFDO builders and AFDO tools are fine with debug_level=1.
+			debug_level=1
+		fi
+		BUILD_ARGS+=(
+			"use_debug_fission=$(usetf debug_fission)"
+			"symbol_level=${debug_level}"
+		)
+		if use debug_fission; then
+			# The breakpad cannot handle the debug files generated by
+			# llvm and debug fission properly. crosbug.com/710605
+			append-flags -fno-split-dwarf-inlining
+		fi
+	fi
+
+	# dcheck_always_on may default to true depending on the value of args
+	# above, which we might not want. So let the chrome_dcheck USE flag
+	# determine its value.
+	BUILD_ARGS+=("dcheck_always_on=$(usetf chrome_dcheck)")
+}
+
+unpack_chrome() {
+	# Add depot_tools to PATH, local chroot builds fail otherwise.
+	export PATH=${PATH}:${DEPOT_TOOLS}
+
+	local cmd=( "${CHROMITE_BIN_DIR}"/sync_chrome )
+	use chrome_internal && cmd+=( --internal )
+	if [[ "${CHROME_VERSION}" != "9999" ]]; then
+		cmd+=( "--tag=${CHROME_VERSION}" )
+	fi
+	# --reset tells sync_chrome to blow away local changes and to feel
+	# free to delete any directories that get in the way of syncing. This
+	# is needed for unattended operation.
+	cmd+=( --reset "--gclient=${EGCLIENT}" "${CHROME_DISTDIR}" )
+	elog "${cmd[*]}"
+	# TODO(crbug.com/1103048): Disable the sandbox when syncing the code.
+	# It seems to break gclient execution at random for unknown reasons.
+	# Children stop being tracked, or no git repos actually get cloned.
+	SANDBOX_ON=0 "${cmd[@]}" || die
+}
+
+decide_chrome_origin() {
+	if [[ "${PV}" == "9999" ]]; then
+		# LOCAL_SOURCE is the default for cros_workon.
+		# Warn the user if CHROME_ORIGIN is already set.
+		if [[ -n "${CHROME_ORIGIN}" && "${CHROME_ORIGIN}" != LOCAL_SOURCE ]]; then
+			ewarn "CHROME_ORIGIN is already set to ${CHROME_ORIGIN}."
+			ewarn "This will prevent you from building from your local checkout."
+			ewarn "Please run 'unset CHROME_ORIGIN' to reset Chrome"
+			ewarn "to the default source location."
+		fi
+		: "${CHROME_ORIGIN:=LOCAL_SOURCE}"
+	else
+		# By default, pull from server.
+		: "${CHROME_ORIGIN:=SERVER_SOURCE}"
+	fi
+}
+
+sandboxless_ensure_directory() {
+	local dir
+	for dir in "$@"; do
+		if [[ ! -d "${dir}" ]] ; then
+			# We need root access to create these directories, so we need to
+			# use sudo. This implicitly disables the sandbox.
+			sudo mkdir -p "${dir}" || die
+			sudo chown "${PORTAGE_USERNAME}:portage" "${dir}" || die
+			sudo chmod 0755 "${dir}" || die
+		fi
+	done
+}
+
+src_unpack() {
+	echo
+	ewarn "If you want to develop or hack on the browser itself, you should follow the"
+	ewarn "simple chrome workflow instead of using emerge:"
+	ewarn "https://chromium.googlesource.com/chromiumos/docs/+/HEAD/simple_chrome_workflow.md"
+	ewarn ""
+	ewarn "Otherwise, if you have a Chrome checkout already present on your machine, you can"
+	ewarn "re-enter the cros_sdk with the --chrome-root arg and set CHROME_ORIGIN to"
+	ewarn "LOCAL_SOURCE. This will bypass the lengthy sync_chrome phase here."
+	ewarn "Note: when using --chrome-root, the ebuild won't update or modify the Chrome checkout."
+	ewarn "So make sure it's at a compatible Chrome version before proceeding."
+	echo
+
+	tc-export CC CXX
+	local WHOAMI=$(whoami)
+
+	CHROME_SRC="chrome-src"
+	if use chrome_internal; then
+		CHROME_SRC+="-internal"
+	fi
+
+	# CHROME_CACHE_DIR is used for storing output artifacts, and is always a
+	# regular directory inside the chroot (i.e. it's never mounted in, so it's
+	# always safe to use cp -al for these artifacts).
+	: "${CHROME_CACHE_DIR:="/var/cache/chromeos-chrome/${CHROME_SRC}"}"
+	addwrite "${CHROME_CACHE_DIR}"
+
+	# CHROME_DISTDIR is used for storing the source code, if any source code
+	# needs to be unpacked at build time (e.g. in the SERVER_SOURCE scenario.)
+	# It will be mounted into the chroot, so it is never safe to use cp -al
+	# for these files.
+	: "${CHROME_DISTDIR:="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/${CHROME_SRC}"}"
+	addwrite "${CHROME_DISTDIR}"
+
+	# Create storage directories.
+	sandboxless_ensure_directory "${CHROME_DISTDIR}" "${CHROME_CACHE_DIR}"
+
+	cros-credentials_setup
+
+	decide_chrome_origin
+
+	case "${CHROME_ORIGIN}" in
+	LOCAL_SOURCE|SERVER_SOURCE|LOCAL_BINARY)
+		einfo "CHROME_ORIGIN VALUE is ${CHROME_ORIGIN}"
+		;;
+	*)
+		die "CHROME_ORIGIN not one of LOCAL_SOURCE, SERVER_SOURCE, LOCAL_BINARY"
+		;;
+	esac
+
+	# Prepare and set CHROME_ROOT based on CHROME_ORIGIN.
+	# CHROME_ROOT is the location where the source code is used for compilation.
+	# If we're in SERVER_SOURCE mode, CHROME_ROOT is CHROME_DISTDIR. In LOCAL_SOURCE
+	# mode, this directory may be set manually to any directory. It may be mounted
+	# into the chroot, so it is not safe to use cp -al for these files.
+	# These are set here because $(whoami) returns the proper user here,
+	# but 'root' at the root level of the file
+	case "${CHROME_ORIGIN}" in
+	(SERVER_SOURCE)
+		elog "Using CHROME_VERSION = ${CHROME_VERSION}"
+		if [[ ${WHOAMI} == "chrome-bot" ]]; then
+			# TODO: Should add a sanity check that the version checked out is
+			# what we actually want.  Not sure how to do that though.
+			elog "Skipping syncing as cbuildbot ran SyncChrome for us."
+		else
+			unpack_chrome
+		fi
+
+		elog "set the chrome source root to ${CHROME_DISTDIR}"
+		elog "From this point onwards there is no difference between \
+			SERVER_SOURCE and LOCAL_SOURCE, since the fetch is done"
+		CHROME_ROOT=${CHROME_DISTDIR}
+		;;
+	(LOCAL_SOURCE)
+		: "${CHROME_ROOT:=/home/${WHOAMI}/chrome_root}"
+		if [[ ! -d "${CHROME_ROOT}/src" ]]; then
+			die "${CHROME_ROOT} does not contain a valid chromium checkout!"
+		fi
+		addwrite "${CHROME_ROOT}"
+		;;
+	esac
+
+	case "${CHROME_ORIGIN}" in
+	LOCAL_SOURCE|SERVER_SOURCE)
+		set_build_args
+		;;
+	esac
+
+	# FIXME: This is the normal path where ebuild stores its working data.
+	# Chrome builds inside distfiles because of speed, so we at least make
+	# a symlink here to add compatibility with autotest eclass which uses this.
+	ln -sf "${CHROME_ROOT}" "${WORKDIR}/${P}"
+
+	if use internal_gles_conform; then
+		local CHROME_GLES2_CONFORM=${CHROME_ROOT}/src/third_party/gles2_conform
+		local CROS_GLES2_CONFORM=/home/${WHOAMI}/trunk/src/third_party/gles2_conform
+		if [[ ! -d "${CHROME_GLES2_CONFORM}" ]]; then
+			if [[ -d "${CROS_GLES2_CONFORM}" ]]; then
+				ln -s "${CROS_GLES2_CONFORM}" "${CHROME_GLES2_CONFORM}"
+				einfo "Using GLES2 conformance test suite from ${CROS_GLES2_CONFORM}"
+			else
+				die "Trying to build GLES2 conformance test suite without ${CHROME_GLES2_CONFORM} or ${CROS_GLES2_CONFORM}"
+			fi
+		fi
+	fi
+
+	if use afdo_use; then
+		# Use AFDO profile downloaded in Chromium source code
+		# If needed profiles other than "silvermont", please set the variable
+		# ${AFDO_PROFILE_SOURCE} accordingly.
+		local afdo_src="${AFDO_PROFILE_SOURCE:-atom}"
+		BUILD_ARGS+=( "clang_use_default_sample_profile=true" )
+		BUILD_STRING_ARGS+=( "chromeos_afdo_platform=${afdo_src}" )
+	fi
+
+	# Use to verify a local unvetted AFDO file.
+	if use afdo_verify; then
+		if [[ ! -e "${UNVETTED_AFDO_FILE}" ]]; then
+			die "Cannot find ${UNVETTED_AFDO_FILE} to build Chrome."
+		fi
+		BUILD_STRING_ARGS+=( "clang_sample_profile_path=${UNVETTED_AFDO_FILE}" )
+	fi
+
+	# Unpack unvetted orderfile.
+	if use orderfile_verify; then
+		local orderfile_dir="${WORKDIR}/orderfile"
+		mkdir "${orderfile_dir}"
+		local orderfile_file=${UNVETTED_ORDERFILE}
+		(cd "${orderfile_dir}" && unpack "${orderfile_file}.xz") || die
+
+		local orderfile_loc="${orderfile_dir}/${orderfile_file}"
+		einfo "Using ${orderfile_loc} as orderfile for ordering Chrome"
+
+		# Pass the path to orderfile to GN args.
+		BUILD_STRING_ARGS+=( "chrome_orderfile_path=${orderfile_loc}" )
+	fi
+
+	if ! use orderfile_use; then
+		# If not using orderfile, override the default orderfile path to empty.
+		BUILD_STRING_ARGS+=( "chrome_orderfile_path=" )
+	fi
+}
+
+add_api_keys() {
+	# awk script to extract the values out of the file.
+	local EXTRACT="{ gsub(/[',]/, \"\", \$2); print \$2 }"
+	local api_key=$(awk "/google_api_key/ ${EXTRACT}" "$1")
+	local client_id=$(awk "/google_default_client_id/ ${EXTRACT}" "$1")
+	local client_secret=$(awk "/google_default_client_secret/ ${EXTRACT}" "$1")
+
+	BUILD_STRING_ARGS+=(
+		"google_api_key=${api_key}"
+		"google_default_client_id=${client_id}"
+		"google_default_client_secret=${client_secret}"
+	)
+}
+
+src_prepare() {
+	# Must call eapply_user in EAPI 7, but this function is a no-op here.
+	eapply_user
+
+	if [[ "${CHROME_ORIGIN}" != "LOCAL_SOURCE" &&
+			"${CHROME_ORIGIN}" != "SERVER_SOURCE" ]]; then
+		return
+	fi
+
+	elog "${CHROME_ROOT} should be set here properly"
+	cd "${CHROME_ROOT}/src" || die "Cannot chdir to ${CHROME_ROOT}"
+
+	# We do symlink creation here if appropriate.
+	mkdir -p "${CHROME_CACHE_DIR}/src/${BUILD_OUT}"
+	if [[ -n "${BUILD_OUT_SYM}" ]]; then
+		rm -rf "${BUILD_OUT_SYM}" || die "Could not remove symlink"
+		ln -sfT "${CHROME_CACHE_DIR}/src/${BUILD_OUT}" "${BUILD_OUT_SYM}" ||
+			die "Could not create symlink for output directory"
+	fi
+
+
+	# Apply patches for non-localsource builds.
+	if [[ "${CHROME_ORIGIN}" == "SERVER_SOURCE" && ${#PATCHES[@]} -gt 0 ]]; then
+		eapply "${PATCHES[@]}"
+	fi
+
+	local WHOAMI=$(whoami)
+	# Get the credentials to fake home directory so that the version of chromium
+	# we build can access Google services. First, check for Chrome credentials.
+	if [[ ! -d google_apis/internal ]]; then
+		# Then look for Chrome OS supplied credentials.
+		local PRIVATE_OVERLAYS_DIR=/home/${WHOAMI}/trunk/src/private-overlays
+		local GAPI_CONFIG_FILE=${PRIVATE_OVERLAYS_DIR}/chromeos-overlay/googleapikeys
+		if [[ ! -f "${GAPI_CONFIG_FILE}" ]]; then
+			# Then developer credentials.
+			GAPI_CONFIG_FILE=/home/${WHOAMI}/.googleapikeys
+		fi
+		if [[ -f "${GAPI_CONFIG_FILE}" ]]; then
+			add_api_keys "${GAPI_CONFIG_FILE}"
+		fi
+	fi
+}
+
+setup_test_lists() {
+	TEST_FILES=(
+		capture_unittests
+		dawn_end2end_tests
+		dawn_unittests
+		fake_dmserver
+		gl_tests
+		jpeg_decode_accelerator_unittest
+		ozone_gl_unittests
+		ozone_integration_tests
+		sandbox_linux_unittests
+		wayland_client_integration_tests
+		wayland_client_perftests
+	)
+
+	TEST_FILES+=( ppapi/examples/video_decode )
+
+	if use vaapi || use v4l2_codec; then
+		TEST_FILES+=(
+			image_processor_test
+			jpeg_encode_accelerator_unittest
+			video_decode_accelerator_perf_tests
+			video_decode_accelerator_tests
+			video_encode_accelerator_perf_tests
+			video_encode_accelerator_tests
+		)
+	fi
+
+	if use vaapi; then
+		TEST_FILES+=(
+			decode_test
+			vaapi_unittest
+		)
+	fi
+
+	if use v4l2_codec; then
+		TEST_FILES+=(
+			v4l2_stateless_decoder
+		)
+	fi
+
+	# TODO(ihf): Figure out how to keep this in sync with telemetry.
+	TOOLS_TELEMETRY_BIN=(
+		bitmaptools
+		clear_system_cache
+		minidump_stackwalk
+	)
+
+	PPAPI_TEST_FILES=(
+		lib{32,64}
+		mock_nacl_gdb
+		ppapi_nacl_tests_{newlib,glibc}.nmf
+		ppapi_nacl_tests_{newlib,glibc}_{x32,x64,arm,arm64}.nexe
+		test_case.html
+		test_case.html.mock-http-headers
+		test_page.css
+		test_url_loader_data
+	)
+}
+
+# Handle all CFLAGS/CXXFLAGS/etc... munging here.
+setup_compile_flags() {
+	# Chrome controls its own optimization settings, so this would be a nop
+	# if we were to run it. Leave it here anyway as a grep-friendly marker.
+	# cros_optimize_package_for_speed
+
+	# The chrome makefiles specify -O and -g flags already, so remove the
+	# portage flags.
+	filter-flags -g "-O*"
+
+	# Remove unsupported arm64 linker flag on arm32 builds.
+	# https://crbug.com/889079
+	use arm && filter-flags "-Wl,--fix-cortex-a53-843419"
+
+	# Chrome is expected to have its own sanitizer story independent of our
+	# $CFLAGS. Since we set `use_asan` and similar in `args.gn`, filter any
+	# sanitizers out here.
+	filter-flags '-fsanitize=*' '-fsanitize-trap=*'
+
+	# There are some flags we want to only use in the ebuild.
+	# The rest will be exported to the simple chrome workflow.
+	EBUILD_CFLAGS=()
+	EBUILD_CXXFLAGS=()
+	EBUILD_LDFLAGS=()
+
+	if use thinlto; then
+		# if using thinlto, we need to pass the equivalent of
+		# -fdebug-types-section to the backend, to prevent out-of-range
+		# relocations (see
+		# https://bugs.chromium.org/p/chromium/issues/detail?id=1032159).
+		append-ldflags -Wl,-mllvm
+		append-ldflags -Wl,-generate-type-units
+	else
+		# Non-ThinLTO builds with symbol_level=2 may have out-of-range
+		# relocations, too: crbug.com/1050819.
+		append-flags -fdebug-types-section
+	fi
+
+	if use orderfile_generate; then
+		local chrome_outdir="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
+		BUILD_STRING_ARGS+=( "dump_call_chain_clustering_order=${chrome_outdir}/chrome.orderfile.txt" )
+		# Enable call graph profile sort (C3) to generate orderfile.
+		BUILD_ARGS+=( "enable_call_graph_profile_sort=true" )
+	fi
+
+	# Enable std::vector []-operator bounds checking.
+	append-cxxflags -D__google_stl_debug_vector=1
+
+	# Chrome and Chrome OS versions of the compiler may not be in
+	# sync. So, don't complain if Chrome uses a diagnostic
+	# option that is not yet implemented in the compiler version used
+	# by Chrome OS.
+	# Turns out this is only really supported by Clang. See crosbug.com/615466
+	# Add "-faddrsig" flag required to efficiently support "--icf=all".
+	append-flags -faddrsig
+	append-flags -Wno-unknown-warning-option
+	export CXXFLAGS_host+=" -Wno-unknown-warning-option"
+	export CFLAGS_host+=" -Wno-unknown-warning-option"
+	export LDFLAGS_host+=" --unwindlib=libgcc"
+	if use libcxx; then
+		append-cxxflags "-stdlib=libc++"
+		append-ldflags "-stdlib=libc++"
+	fi
+
+	# Workaround: Disable fatal linker warnings on arm64/lld.
+	# https://crbug.com/913071
+	use arm64 && append-ldflags "-Wl,--no-fatal-warnings"
+	# Workaround: Disable fatal linker warnings on arm/lld.
+	# https://crbug.com/1190544
+	use arm && append-ldflags "-Wl,--no-fatal-warnings"
+	use vtable_verify && append-ldflags -fvtable-verify=preinit
+
+	local flags
+	einfo "Building with the compiler settings:"
+	for flags in {C,CXX,CPP,LD}FLAGS; do
+		einfo "  ${flags} = ${!flags}"
+	done
+}
+
+src_configure() {
+	tc-export CXX CC AR AS NM RANLIB STRIP
+	export CC_host=$(tc-getBUILD_CC)
+	export CXX_host=$(tc-getBUILD_CXX)
+	export NM_host=$(tc-getBUILD_NM)
+	export READELF="llvm-readelf"
+	export READELF_host="llvm-readelf"
+
+	# Use C++ compiler as the linker driver.
+	export LD="${CXX}"
+	export LD_host=${CXX_host}
+
+	# We need below change when USE="thinlto" is set. We set this globally
+	# so that users can turn on the "use_thin_lto" in the simplechrome
+	# flow more easily.
+	# use nm from llvm, https://crbug.com/917193
+	export NM="llvm-nm"
+	export NM_host="llvm-nm"
+	export AR="llvm-ar"
+	# USE=thinlto affects host build, we need to set host AR to
+	# llvm-ar to make sure host package builds with thinlto.
+	# crbug.com/731335
+	export AR_host="llvm-ar"
+	export RANLIB="llvm-ranlib"
+	# Use llvm's objcopy instead of GNU
+	export OBJCOPY="llvm-objcopy"
+
+	# Set binutils path for goma.
+	CC_host+=" -B$(get_binutils_path "${LD_host}")"
+	CXX_host+=" -B$(get_binutils_path "${LD_host}")"
+
+	setup_compile_flags
+
+	# We might set BOTO_CONFIG in the builder environment in case the
+	# existing file needs modifications (e.g. for working with older
+	# branches). So don't overwrite it if it's already set.
+	# See https://crbug.com/847676 for details.
+	export BOTO_CONFIG="${BOTO_CONFIG:-/home/$(whoami)/.boto}"
+	export PATH=${PATH}:${DEPOT_TOOLS}
+
+	export DEPOT_TOOLS_GSUTIL_BIN_DIR="${CHROME_CACHE_DIR}/gsutil_bin"
+
+	# TODO(rcui): crosbug.com/20435. Investigate removal of runhooks
+	# useflag when chrome build switches to Ninja inside the chroot.
+	if use runhooks; then
+		local cmd=( "${EGCLIENT}" runhooks --force )
+		echo "${cmd[@]}"
+		CFLAGS="${CFLAGS} ${EBUILD_CFLAGS[*]}" \
+		CXXFLAGS="${CXXFLAGS} ${EBUILD_CXXFLAGS[*]}" \
+		LDFLAGS="${LDFLAGS} ${EBUILD_LDFLAGS[*]}" \
+		"${cmd[@]}" || die
+	fi
+
+	BUILD_STRING_ARGS+=(
+		"cros_target_ar=${AR}"
+		"cros_target_cc=${CC}"
+		"cros_target_cxx=${CXX}"
+		"host_toolchain=//build/toolchain/cros:host"
+		"custom_toolchain=//build/toolchain/cros:target"
+		"v8_snapshot_toolchain=//build/toolchain/cros:v8_snapshot"
+		"cros_target_ld=${LD}"
+		"cros_target_nm=${NM}"
+		"cros_target_readelf=${READELF}"
+		"cros_target_extra_cflags=${CFLAGS} ${EBUILD_CFLAGS[*]}"
+		"cros_target_extra_cppflags=${CPPFLAGS}"
+		"cros_target_extra_cxxflags=${CXXFLAGS} ${EBUILD_CXXFLAGS[*]}"
+		"cros_target_extra_ldflags=${LDFLAGS} ${EBUILD_LDFLAGS[*]}"
+		"cros_host_cc=${CC_host}"
+		"cros_host_cxx=${CXX_host}"
+		"cros_host_ar=${AR_host}"
+		"cros_host_ld=${LD_host}"
+		"cros_host_nm=${NM_host}"
+		"cros_host_readelf=${READELF_host}"
+		"cros_host_extra_cflags=${CFLAGS_host}"
+		"cros_host_extra_cxxflags=${CXXFLAGS_host}"
+		"cros_host_extra_cppflags=${CPPFLAGS_host}"
+		"cros_host_extra_ldflags=${LDFLAGS_host}"
+		"cros_v8_snapshot_cc=${CC_host}"
+		"cros_v8_snapshot_cxx=${CXX_host}"
+		"cros_v8_snapshot_ar=${AR_host}"
+		"cros_v8_snapshot_ld=${LD_host}"
+		"cros_v8_snapshot_nm=${NM_host}"
+		"cros_v8_snapshot_readelf=${READELF_host}"
+		"cros_v8_snapshot_extra_cflags=${CFLAGS_host}"
+		"cros_v8_snapshot_extra_cxxflags=${CXXFLAGS_host}"
+		"cros_v8_snapshot_extra_cppflags=${CPPFLAGS_host}"
+		"cros_v8_snapshot_extra_ldflags=${LDFLAGS_host}"
+	)
+
+	local arg
+	for arg in "${BUILD_STRING_ARGS[@]}"; do
+		BUILD_ARGS+=("${arg%%=*}=\"${arg#*=}\"")
+	done
+	export GN_ARGS="${BUILD_ARGS[*]}"
+	einfo "GN_ARGS = ${GN_ARGS}"
+	local gn=(
+		"${CHROME_ROOT}/src/buildtools/linux64/gn" gen
+		"${CHROME_ROOT}/src/${BUILD_OUT_SYM}/${BUILDTYPE}"
+		--args="${GN_ARGS}" --root="${CHROME_ROOT}/src"
+	)
+	echo "${gn[@]}"
+	"${gn[@]}" || die
+
+	setup_test_lists
+
+	if use clang_tidy; then
+		export WITH_TIDY=1
+	fi
+}
+
+chrome_make() {
+	local build_dir="${BUILD_OUT_SYM}/${BUILDTYPE}"
+
+	# If ThinLTO is enabled, we may have a cache from a previous link. Due
+	# to fears about lack of reproducibility, we don't allow cache reuse
+	# across rebuilds. The cache is still useful for artifacts shared
+	# between multiple links done by this build (e.g. tests).
+	use thinlto && rm -rf "${build_dir}/thinlto-cache"
+
+	local parallelism="$(makeopts_jobs)"
+	# If goma or remoteexec is enabled, increase the number of parallel
+	# run to 10 * {number of processors}. Though, if it is too large the
+	# performance gets slow down, so limit by 200 heuristically.
+	if use_goma || use_remoteexec; then
+		local num_parallel=$(($(nproc) * 10))
+		local j_limit=200
+		parallelism=$((num_parallel < j_limit ? num_parallel : j_limit))
+	fi
+	local command=(
+		"${ENINJA}"
+		-j "${parallelism}"
+		-C "${build_dir}"
+		$(usex verbose -v "")
+		-d "keeprsp"
+		"$@"
+	)
+	# If goma is used, log the command, cwd and env vars, which will be
+	# uploaded to the logging server.
+	if should_upload_build_logs; then
+		env --null > "${GLOG_log_dir}/ninja_env"
+		pwd > "${GLOG_log_dir}/ninja_cwd"
+		echo "${command[@]}" > "${GLOG_log_dir}/ninja_command"
+	fi
+	PATH=${PATH}:${DEPOT_TOOLS} "${command[@]}"
+	local ret=$?
+	if should_upload_build_logs; then
+		echo "${ret}" > "${GLOG_log_dir}/ninja_exit"
+		cp -p "${BUILD_OUT_SYM}/${BUILDTYPE}/.ninja_log" "${GLOG_log_dir}/ninja_log"
+	fi
+	[[ "${ret}" -eq 0 ]] || die
+
+	# Still use a script to check if the orderfile is used properly, i.e.
+	# Builtin_ functions are placed between the markers, etc.
+	if use strict_toolchain_checks && (use orderfile_use || use orderfile_verify); then
+		einfo "Verifying orderfile..."
+		"${FILESDIR}/check_orderfile.py" "${build_dir}/chrome" || die
+	fi
+}
+
+src_compile() {
+	if [[ "${CHROME_ORIGIN}" != "LOCAL_SOURCE" &&
+			"${CHROME_ORIGIN}" != "SERVER_SOURCE" ]]; then
+		return
+	fi
+
+	cd "${CHROME_ROOT}"/src || die "Cannot chdir to ${CHROME_ROOT}/src"
+
+	local chrome_targets=( $(usex mojo "mojo_shell" "") )
+	if use app_shell; then
+		chrome_targets+=( app_shell )
+	else
+		chrome_targets+=( chrome )
+	fi
+	if use build_tests; then
+		chrome_targets+=(
+			"${TEST_FILES[@]}"
+			"${TOOLS_TELEMETRY_BIN[@]}"
+			chromedriver
+		)
+		if use chrome_internal; then
+			chrome_targets+=( libassistant_debug.so )
+		fi
+	fi
+	use_nacl && chrome_targets+=( nacl_helper_bootstrap nacl_helper )
+
+	chrome_make "${chrome_targets[@]}"
+
+	if use build_tests; then
+		install_chrome_test_resources "${WORKDIR}/test_src"
+		install_telemetry_dep_resources "${WORKDIR}/telemetry_src"
+
+		# NOTE: Since chrome is built inside distfiles, we have to get
+		# rid of the previous instance first.
+		# We remove only what we will overwrite with the mv below.
+		local deps="${WORKDIR}/${P}/${AUTOTEST_DEPS}"
+
+		rm -rf "${deps}/chrome_test/test_src"
+		mv "${WORKDIR}/test_src" "${deps}/chrome_test/"
+
+		rm -rf "${deps}/telemetry_dep/test_src"
+		mv "${WORKDIR}/telemetry_src" "${deps}/telemetry_dep/test_src"
+
+		# The autotest eclass wants this for some reason.
+		get_paths() { :; }
+
+		# HACK: It would make more sense to call autotest_src_prepare in
+		# src_prepare, but we need to call install_chrome_test_resources first.
+		autotest-deponly_src_prepare
+
+		# Remove .git dirs
+		# shellcheck disable=SC2154 # this is a bug in the linter.
+		find "${AUTOTEST_WORKDIR}" -type d -name .git -prune -exec rm -rf {} +
+
+		autotest_src_compile
+	fi
+}
+
+install_test_resources() {
+	# Install test resources from chrome source directory to destination.
+	# We keep a cache of test resources inside the chroot to avoid copying
+	# multiple times.
+	local test_dir="${1}"
+	einfo "install_test_resources to ${test_dir}"
+	shift
+
+	# To speed things up, we write the list of files to a temporary file so
+	# we can use rsync with --files-from.
+	local tmp_list_file="${T}/${test_dir##*/}.files"
+	printf "%s\n" "$@" > "${tmp_list_file}"
+
+	# Copy the specific files to the cache from the source directory.
+	# Note: we need to specify -r when using --files-from and -a to get a
+	# recursive copy.
+	# TODO(ihf): Make failures here fatal.
+	rsync -r -a --delete --exclude=.git --exclude="*.pyc" \
+		--files-from="${tmp_list_file}" "${CHROME_ROOT}/src/" \
+		"${CHROME_CACHE_DIR}/src/"
+
+	# Create hard links in the destination based on the cache.
+	# Note: we need to specify -r when using --files-from and -a to get a
+	# recursive copy.
+	# TODO(ihf): Make failures here fatal.
+	rsync -r -a --link-dest="${CHROME_CACHE_DIR}/src" \
+		--files-from="${tmp_list_file}" "${CHROME_CACHE_DIR}/src/" "${test_dir}/"
+}
+
+test_strip_install() {
+	local from="${1}"
+	local dest="${2}"
+	shift 2
+	mkdir -p "${dest}"
+	local f
+	for f in "$@"; do
+		$(tc-getSTRIP) --strip-debug \
+			"${from}/${f}" -o "${dest}/$(basename "${f}")"
+	done
+}
+
+install_chrome_test_resources() {
+	# NOTE: This is a duplicate from src_install, because it's required here.
+	local from="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
+	local test_dir="${1}"
+	local dest="${test_dir}/out/Release"
+
+	echo Copying Chrome tests into "${test_dir}"
+
+	# Even if chrome_debug_tests is enabled, we don't need to include detailed
+	# debug info for tests in the binary package, so save some time by stripping
+	# everything but the symbol names. Developers who need more detailed debug
+	# info on the tests can use the original unstripped tests from the ${from}
+	# directory.
+	TEST_INSTALL_TARGETS=(
+		"${TEST_FILES[@]}"
+		"libppapi_tests.so" )
+
+	einfo "Installing test targets: ${TEST_INSTALL_TARGETS[*]}"
+	test_strip_install "${from}" "${dest}" "${TEST_INSTALL_TARGETS[@]}"
+
+	# Copy Chrome test data.
+	mkdir -p "${dest}"/test_data
+	# WARNING: Only copy subdirectories of |test_data|.
+	# The full |test_data| directory is huge and kills our VMs.
+	# Example:
+	# cp -al "${from}"/test_data/<subdir> "${test_dir}"/out/Release/<subdir>
+
+	for f in "${PPAPI_TEST_FILES[@]}"; do
+		cp -al "${from}/${f}" "${dest}"
+	done
+
+	# Install Chrome test resources.
+	# WARNING: Only install subdirectories of |chrome/test|.
+	# The full |chrome/test| directory is huge and kills our VMs.
+	install_test_resources "${test_dir}" \
+		base/base_paths_posix.cc \
+		chrome/test/data/chromeos \
+		chrome/test/functional \
+		chrome/third_party/mock4js/mock4js.js  \
+		content/common/gpu/testdata \
+		media/test/data \
+		content/test/data \
+		net/data/ssl/certificates \
+		ppapi/tests/test_case.html \
+		ppapi/tests/test_url_loader_data \
+		third_party/bidichecker/bidichecker_packaged.js \
+		third_party/accessibility-developer-tools/gen/axs_testing.js
+
+	# Add the pdf test data if needed.
+	if use chrome_internal; then
+		install_test_resources "${test_dir}" pdf/test
+	fi
+	# Add the gles_conform test data if needed.
+	if use chrome_internal || use internal_gles_conform; then
+		install_test_resources "${test_dir}" gpu/gles2_conform_support/gles2_conform_test_expectations.txt
+	fi
+
+	cp -a "${CHROME_ROOT}"/"${AUTOTEST_DEPS}"/chrome_test/setup_test_links.sh \
+		"${dest}"
+}
+
+install_telemetry_dep_resources() {
+	local test_dir="${1}"
+
+	TELEMETRY=${CHROME_ROOT}/src/third_party/catapult/telemetry
+	if [[ -r "${TELEMETRY}" ]]; then
+		echo "Copying Telemetry Framework into ${test_dir}"
+		mkdir -p "${test_dir}"
+		# We are going to call chromium code but can't trust that it is clean
+		# of precompiled code. See crbug.com/590762.
+		find "${TELEMETRY}" -name "*.pyc" -type f -delete
+		# Get deps from Chrome.
+		FIND_DEPS=${CHROME_ROOT}/src/tools/perf/find_dependencies
+		PERF_DEPS=${CHROME_ROOT}/src/tools/perf/bootstrap_deps
+		CROS_DEPS=${CHROME_ROOT}/src/tools/cros/bootstrap_deps
+		# sed removes the leading path including src/ converting it to relative.
+		# To avoid silent failures assert the success.
+		DEPS_LIST=$(${FIND_DEPS} "${PERF_DEPS}" "${CROS_DEPS}" | \
+			sed -e "s|^${CHROME_ROOT}/src/||"; assert)
+		install_test_resources "${test_dir}" "${DEPS_LIST}"
+		# For crosperf, which uses some tests only available on internal builds.
+		if use chrome_internal; then
+			install_test_resources "${test_dir}" \
+				data/page_cycler/morejs \
+				data/page_cycler/moz
+		fi
+	fi
+
+	local from="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
+	local dest="${test_dir}/src/out/${BUILDTYPE}"
+	einfo "Installing telemetry binaries: ${TOOLS_TELEMETRY_BIN[*]}"
+	test_strip_install "${from}" "${dest}" "${TOOLS_TELEMETRY_BIN[@]}"
+
+	# When copying only a portion of the Chrome source that telemetry needs,
+	# some symlinks can end up broken. Thus clean these up before packaging.
+	einfo "Cleaning up broken symlinks in telemetry"
+	find -L "${test_dir}" -type l -delete
+
+	# Unfortunately we are sometimes provided with unrelated upstream directories
+	# and binaries taking a lot of space. Clean these up manually. Notice
+	# that Android and Linux directories might be needed so keep those.
+	einfo "Cleaning up non-Chrome OS directories in telemetry"
+	find -L "${test_dir}" -type d -regex ".*/\(mac\|mips\|mips64\|win\)" -exec rm -rfv {} \;
+	einfo "Finished installing telemetry dep resources"
+}
+
+# Add any new artifacts generated by the Chrome build targets to deploy_chrome.py.
+# We deal with miscellaneous artifacts here in the ebuild.
+src_install() {
+	FROM="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
+
+	# Override default strip flags and lose the '-R .comment'
+	# in order to play nice with the crash server.
+	if [[ -z "${KEEP_CHROME_DEBUG_SYMBOLS}" ]]; then
+		if [[ "$(tc-getSTRIP)" == "llvm-strip" ]]; then
+			export PORTAGE_STRIP_FLAGS="--strip-all-gnu"
+		else
+			export PORTAGE_STRIP_FLAGS=""
+		fi
+	else
+		export PORTAGE_STRIP_FLAGS="--strip-debug"
+	fi
+	einfo "PORTAGE_STRIP_FLAGS=${PORTAGE_STRIP_FLAGS}"
+	LS=$(ls -alhS "${FROM}")
+	einfo "CHROME_DIR after build\n${LS}"
+
+	# Copy a D-Bus config file that includes other configs that are installed to
+	# /opt/google/chrome/dbus by deploy_chrome.
+	insinto /etc/dbus-1/system.d
+	doins "${FILESDIR}"/chrome.conf
+
+	# Copy Quickoffice resources for official build.
+	# Quickoffice is not yet available for arm64, https://crbug.com/881489
+	if use chrome_internal && [[ "${ARCH}" != "arm64" ]]; then
+		local qo_install_root="/usr/share/chromeos-assets/quickoffice"
+		insinto "${qo_install_root}"
+		QUICKOFFICE="${CHROME_ROOT}"/src/chrome/browser/resources/chromeos/quickoffice
+		doins -r "${QUICKOFFICE}"/_locales
+		doins -r "${QUICKOFFICE}"/css
+		doins -r "${QUICKOFFICE}"/img
+		doins -r "${QUICKOFFICE}"/plugin
+		doins -r "${QUICKOFFICE}"/scripts
+		doins -r "${QUICKOFFICE}"/views
+
+		local qo_path=""
+		case "${ARCH}" in
+		arm)
+			qo_path="${QUICKOFFICE}"/_platform_specific/arm
+			;;
+		amd64)
+			qo_path="${QUICKOFFICE}"/_platform_specific/x86_64
+			;;
+		*)
+			die "Unsupported architecture: ${ARCH}"
+			;;
+		esac
+
+		# Compress the platform-specific NaCl binaries with squashfs to
+		# save space on the rootfs.
+		# - compress with LZO and 1M blocks to optimize trade-off
+		# between compression ratio and decompression speed.
+		# - use "-keep-as-directory" option so the squash file will
+		# include the folder with the name of the CPU architecture,
+		# which is expected by the scripts on device.
+		# - use "-root-mode 0755" to ensure that the mountpoint has
+		# permissions 0755 instead of the default 0777.
+		# - use "-4k-align" option so individual files inside the squash
+		# file will be aligned to 4K blocks, which improves the
+		# efficiency of the delta updates.
+		mksquashfs "${qo_path}" "${WORKDIR}/quickoffice.squash" \
+			-all-root -noappend -no-recovery -no-exports \
+			-exit-on-error -comp lzo -b 1M -keep-as-directory \
+			-4k-align -root-mode 0755 -no-progress \
+			|| die "Failed to create Quickoffice squashfs"
+
+		# The squashfs will be mounted at boot time by an upstart script
+		# installed by chromeos-base/quickoffice.
+		doins "${WORKDIR}/quickoffice.squash"
+	fi
+
+	# Chrome test resources
+	# Test binaries are only available when building chrome from source
+	if use build_tests && [[ "${CHROME_ORIGIN}" == "LOCAL_SOURCE" ||
+		"${CHROME_ORIGIN}" == "SERVER_SOURCE" ]]; then
+		autotest-deponly_src_install
+		#env -uRESTRICT prepstrip "${D}${AUTOTEST_BASE}"
+	fi
+
+	# Copy input_methods.txt for XkbToKcmConverter & auto-test.
+	if [[ "${CHROME_ORIGIN}" == "LOCAL_SOURCE" ||
+			"${CHROME_ORIGIN}" == "SERVER_SOURCE" ]]; then
+		insinto /usr/share/chromeos-assets/input_methods
+		sed -E -e '/^#/d' -e '/^$/d' -e 's:  +: :g' \
+			"${CHROME_ROOT}"/src/chromeos/ime/input_methods.txt > "${T}/input_methods.txt" || die
+		doins "${T}/input_methods.txt"
+	fi
+
+	# Fix some perms.
+	# TODO(rcui): Remove this - shouldn't be needed, and is just covering up
+	# potential permissions bugs.
+	chmod -R a+r "${D}"
+	find "${D}" -perm /111 -print0 | xargs -0 chmod a+x
+
+	# The following symlinks are needed in order to run chrome.
+	# TODO(rcui): Remove this.  Not needed for running Chrome.
+	dosym libnss3.so /usr/lib/libnss3.so.1d
+	dosym libnssutil3.so.12 /usr/lib/libnssutil3.so.1d
+	dosym libsmime3.so.12 /usr/lib/libsmime3.so.1d
+	dosym libssl3.so.12 /usr/lib/libssl3.so.1d
+	dosym libplds4.so /usr/lib/libplds4.so.0d
+	dosym libplc4.so /usr/lib/libplc4.so.0d
+	dosym libnspr4.so /usr/lib/libnspr4.so.0d
+
+	# Create the main Chrome install directory.
+	dodir "${CHROME_DIR}"
+	insinto "${CHROME_DIR}"
+
+	# Install the orderfile into the chrome directory
+	if use orderfile_generate; then
+		[[ -f "${FROM}/chrome.orderfile.txt" ]] || die "No orderfile generated."
+		doins "${FROM}/chrome.orderfile.txt"
+	fi
+
+	# Install the unvetted orderfile into the chrome directory for upload.
+	if use orderfile_verify; then
+		[[ -f "${DISTDIR}/${UNVETTED_ORDERFILE}.xz" ]] || die "Lost the unvetted orderfile."
+		doins "${DISTDIR}/${UNVETTED_ORDERFILE}.xz"
+	fi
+
+	# Use the deploy_chrome from the *Chrome* checkout.  The benefit of
+	# doing this is if a new buildspec of Chrome requires a non-backwards
+	# compatible change to deploy_chrome, we can commit the fix to
+	# deploy_chrome without breaking existing Chrome OS release builds,
+	# and then roll the DEPS for chromite in the Chrome checkout.
+	#
+	# Another benefit is each version of Chrome will have the right
+	# corresponding version of deploy_chrome.
+	local cmd=( "${CHROME_ROOT}"/src/third_party/chromite/bin/deploy_chrome )
+	# Disable stripping for now, as deploy_chrome doesn't generate splitdebug files.
+	cmd+=(
+		"--board=${BOARD}"
+		"--build-dir=${FROM}"
+		"--gn-args=${GN_ARGS}"
+		# If this is enabled, we need to re-enable `prepstrip` above for autotests.
+		# You'll also have to re-add "strip" to the RESTRICT at the top of the file.
+		--nostrip
+		"--staging-dir=${D_CHROME_DIR}"
+		"--staging-flags=${USE}"
+		--staging-only
+		"--strip-bin=${STRIP}"
+		"--strip-flags=${PORTAGE_STRIP_FLAGS}"
+		--verbose
+	)
+	einfo "${cmd[*]}"
+	"${cmd[@]}" || die
+	LS=$(ls -alhS "${D}/${CHROME_DIR}")
+	einfo "CHROME_DIR after deploy_chrome\n${LS}"
+
+	# Keep the .dwp files with debug fission.
+	if use chrome_debug && use debug_fission; then
+		mkdir -p "${D}/usr/lib/debug/${CHROME_DIR}"
+		DWP="${CHOST}"-dwp
+		cd "${D}/${CHROME_DIR}" || die
+		# Iterate over all ELF files in current directory
+		while read -r i; do
+			cd "${FROM}" || die
+			# These files do not build with -gsplit-dwarf,
+			# so we do not need to get a .dwp file from them.
+			if [[ "${i}" == "./libassistant.so"		|| \
+				"${i}" == "./nacl_helper_nonsfi"	|| \
+				"${i}" == "./nacl_helper_bootstrap"	|| \
+				"${i}" == "./nacl_irt_arm.nexe"		|| \
+				"${i}" == "./nacl_irt_x86_64.exe"	|| \
+				"${i}" == "./nacl_irt_x86_64.nexe"	|| \
+				"${i}" == "./libmojo_core_arc64.so"	|| \
+				"${i}" == "./libmojo_core_arc32.so"	|| \
+				"${i}" == "./libwidevinecdm.so" ]] ; then
+				continue
+			fi
+			source="${i}"
+			${DWP} -e "${FROM}/${source}" -o "${D}/usr/lib/debug/${CHROME_DIR}/${i}.dwp" || die
+		done < <(scanelf -ByF '%F' ".")
+	fi
+
+	if use build_tests; then
+		# Install Chrome Driver to test image.
+		local chromedriver_dir='/usr/local/chromedriver'
+		dodir "${chromedriver_dir}"
+		cp -pPR "${FROM}"/chromedriver "${D}/${chromedriver_dir}" || die
+
+		if use chrome_internal; then
+			# Install LibAssistant test library to test image.
+			into /usr/local/
+			dolib.so "${FROM}"/libassistant_debug.so
+		fi
+
+		# Install a testing script to run Lacros from command line.
+		into /usr/local
+		dobin "${CHROME_ROOT}"/src/build/lacros/mojo_connection_lacros_launcher.py
+	fi
+	# The icu data is used by both chromeos-base/chrome-icu and this package.
+	# chromeos-base/chrome-icu is responsible for installing the icu
+	# data, so we remove it from ${D} here.
+	rm "${D_CHROME_DIR}/icudtl.dat" || die
+	rm "${D_CHROME_DIR}/icudtl.dat.hash" || die
+}
+
+pkg_preinst() {
+	enewuser "wayland"
+	enewgroup "wayland"
+	LS=$(ls -alhS "${ED}/${CHROME_DIR}")
+	einfo "CHROME_DIR after installation\n${LS}"
+	CHROME_SIZE=$(stat --printf="%s" "${ED}/${CHROME_DIR}/chrome")
+	einfo "CHROME_SIZE = ${CHROME_SIZE}"
+
+	# Non-internal builds come with >10MB of unwinding info built-in. Size
+	# checks on those are less profitable.
+	if [[ ${CHROME_SIZE} -ge 300000000 && -z "${KEEP_CHROME_DEBUG_SYMBOLS}" ]] && use chrome_internal && ! use chrome_dcheck; then
+		die "Installed chrome binary got suspiciously large (size=${CHROME_SIZE})."
+	fi
+	if use arm; then
+		local files=$(find "${ED}/usr/lib/debug${CHROME_DIR}" -size +$((4 * 1024 * 1024 * 1024 - 1))c)
+		[[ -n ${files} ]] && die "Debug files exceed 4GiB: ${files}"
+	fi
+	# Verify that the elf program headers in splitdebug binary match the chrome
+	# binary, this is needed for correct symbolization in CWP.
+	# b/128861198, https://crbug.com/1007548 .
+	if [[ ${MERGE_TYPE} != binary ]] && use strict_toolchain_checks; then
+		local chrome_headers=$(${READELF} --program-headers --wide \
+			"${ED}/${CHROME_DIR}"/chrome | grep LOAD)
+		local chrome_debug_headers=$(${READELF} --program-headers --wide \
+			"${ED}/usr/lib/debug${CHROME_DIR}"/chrome.debug | grep LOAD)
+		[[ "${chrome_headers}" != "${chrome_debug_headers}" ]] && \
+			die "chrome program headers do not match chrome.debug"
+	fi
+}
+
+pkg_postinst() {
+	autotest_pkg_postinst
+}
diff --git a/chromeos-base/chromeos-chrome/chromeos-chrome-9999.ebuild b/chromeos-base/chromeos-chrome/chromeos-chrome-9999.ebuild
index 3d34a98..9c58713 100644
--- a/chromeos-base/chromeos-chrome/chromeos-chrome-9999.ebuild
+++ b/chromeos-base/chromeos-chrome/chromeos-chrome-9999.ebuild
@@ -14,8 +14,7 @@
 
 EAPI=7
 
-# TODO(crbug.com/984182): We force Python 2 because depot_tools doesn't support Python 3.
-PYTHON_COMPAT=( python2_7 )
+PYTHON_COMPAT=( python3_{6..9} )
 inherit autotest-deponly binutils-funcs chromium-source cros-credentials cros-constants cros-sanitizers eutils flag-o-matic git-2 multilib toolchain-funcs user python-any-r1 multiprocessing
 
 DESCRIPTION="Open-source version of Google Chrome web browser"
@@ -51,7 +50,6 @@
 	+fonts
 	hibernate
 	hw_details
-	goma
 	goma_thinlto
 	+highdpi
 	iioservice
@@ -69,7 +67,7 @@
 	orderfile_generate
 	+orderfile_use
 	orderfile_verify
-	remoteexec
+	protected_av1
 	+runhooks
 	strict_toolchain_checks
 	subpixel_rendering
@@ -88,15 +86,14 @@
 	cfi? ( thinlto )
 	afdo_verify? ( !afdo_use )
 	orderfile_generate? ( !orderfile_use )
-	?? ( goma remoteexec )
 	"
 
 OZONE_PLATFORM_PREFIX=ozone_platform_
 OZONE_PLATFORMS=(gbm cast headless egltest caca)
-IUSE_OZONE_PLATFORMS="${OZONE_PLATFORMS[@]/#/${OZONE_PLATFORM_PREFIX}}"
+IUSE_OZONE_PLATFORMS="${OZONE_PLATFORMS[*]/#/${OZONE_PLATFORM_PREFIX}}"
 IUSE+=" ${IUSE_OZONE_PLATFORMS}"
 OZONE_PLATFORM_DEFAULT_PREFIX=ozone_platform_default_
-IUSE_OZONE_PLATFORM_DEFAULTS="${OZONE_PLATFORMS[@]/#/${OZONE_PLATFORM_DEFAULT_PREFIX}}"
+IUSE_OZONE_PLATFORM_DEFAULTS="${OZONE_PLATFORMS[*]/#/${OZONE_PLATFORM_DEFAULT_PREFIX}}"
 IUSE+=" ${IUSE_OZONE_PLATFORM_DEFAULTS}"
 REQUIRED_USE+=" ^^ ( ${IUSE_OZONE_PLATFORM_DEFAULTS} )"
 
@@ -144,6 +141,7 @@
 
 RDEPEND="${RDEPEND}
 	app-arch/bzip2
+	app-arch/sharutils
 	app-crypt/mit-krb5
 	app-misc/edid-decode
 	authpolicy? ( chromeos-base/authpolicy )
@@ -181,7 +179,6 @@
 		app-accessibility/googletts
 	)
 	libcxx? (
-		sys-libs/libcxxabi
 		sys-libs/libcxx
 	)
 	oobe_config? ( chromeos-base/oobe_config )
@@ -193,7 +190,6 @@
 	${RDEPEND}
 	chromeos-base/protofiles
 	>=dev-util/gperf-3.0.3
-	>=dev-util/pkgconfig-0.23
 	arm? ( x11-libs/libdrm )
 "
 
@@ -224,15 +220,16 @@
 	# Like the `usex` helper.
 	[[ ${1:-$?} -eq 0 ]] && echo "${2:-yes}" || echo "${3:-no}"
 }
-echotf() { echox ${1:-$?} true false ; }
-usetf()  { usex $1 true false ; }
+# shellcheck disable=SC2120 # for suppressing a warning of never passed argument.
+echotf() { echox "${1:-$?}" true false ; }
+usetf()  { usex "$1" true false ; }
 
 use_remoteexec() {
-	[[ "${USE_REMOTEEXEC:-$(usetf remoteexec)}" == "true" ]]
+	[[ -n "${USE_REMOTEEXEC}" && "${USE_REMOTEEXEC}" == "true" ]]
 }
 
 use_goma() {
-	[[ "${USE_GOMA:-$(usetf goma)}" == "true" ]]
+	[[ -n "${USE_GOMA}" && "${USE_GOMA}" == "true" ]]
 }
 
 should_upload_build_logs() {
@@ -244,7 +241,13 @@
 	# use goma_thinlto says that if we are using Goma and ThinLTO, use
 	# Goma for distributed code generation. So only set the corresponding
 	# gn arg to true if all three conditions are met.
+
+	# shellcheck disable=SC2119
+	# suppressing the false warning not to specify the optional argument of 'echotf".
 	use_goma_thin_lto=$(use goma_thinlto && use_goma && use thinlto; echotf)
+	# shellcheck disable=SC2119
+	# suppressing the false warning not to specify the optional argument of 'echotf".
+	use_protected_av1=$(use intel_oemcrypto || use protected_av1; echotf)
 	BUILD_ARGS=(
 		"is_chromeos_device=true"
 		# is_official_build sometimes implies extra optimizations (e.g. it will allow
@@ -258,7 +261,7 @@
 		"${EXTRA_GN_ARGS}"
 		"enable_pseudolocales=$(usetf cros-debug)"
 		"use_arc_protected_media=$(usetf arc_hw_oemcrypto)"
-		"use_chromeos_protected_av1=$(usetf intel_oemcrypto)"
+		"use_chromeos_protected_av1=${use_protected_av1}"
 		"use_chromeos_protected_media=$(usetf cdm_factory_daemon)"
 		"use_iioservice=$(usetf iioservice)"
 		"use_v4l2_codec=$(usetf v4l2_codec)"
@@ -266,6 +269,8 @@
 		"use_vaapi=$(usetf vaapi)"
 		"use_xkbcommon=$(usetf xkbcommon)"
 		"enable_remoting=$(usetf chrome_remoting)"
+		# shellcheck disable=SC2119
+		# suppressing the false warning not to specify the optional argument of 'echotf".
 		"enable_nacl=$(use_nacl; echotf)"
 		"enable_hibernate=$(usetf hibernate)"
 		# use_system_minigbm is set below.
@@ -314,7 +319,7 @@
 
 	# Ozone platforms.
 	local platform
-	for platform in ${OZONE_PLATFORMS[@]}; do
+	for platform in "${OZONE_PLATFORMS[@]}"; do
 		local flag="${OZONE_PLATFORM_DEFAULT_PREFIX}${platform}"
 		if use "${flag}"; then
 			BUILD_STRING_ARGS+=( "ozone_platform=${platform}" )
@@ -354,6 +359,9 @@
 		local arm_arch=$(get-flag march)
 		if [[ -n "${arm_arch}" ]]; then
 			BUILD_STRING_ARGS+=( "arm_arch=${arm_arch}" )
+			# Remove -march flag from {CC,CPP,CXX}FLAGS etc.
+			# Chromium will append -march=${arm_arch}.
+			filter-flags "-march=*"
 		fi
 		;;
 	arm64)
@@ -363,33 +371,14 @@
 		local arm_arch=$(get-flag march)
 		if [[ -n "${arm_arch}" ]]; then
 			BUILD_STRING_ARGS+=( "arm_arch=${arm_arch}" )
+			# Remove -march flag from {CC,CPP,CXX}FLAGS etc.
+			# Chromium will append -march=${arm_arch}.
+			filter-flags "-march=*"
 		fi
 		;;
 	amd64)
 		BUILD_STRING_ARGS+=( "target_cpu=x64" )
 		;;
-	mips)
-		local mips_arch target_arch
-
-		mips_arch="$($(tc-getCPP) ${CFLAGS} ${CPPFLAGS} -E -P - <<<_MIPS_ARCH)"
-		# Strip away any enclosing quotes.
-		mips_arch="${mips_arch//\"}"
-		# TODO(benchan): Use tc-endian from toolchain-func to determine endianess
-		# when Chrome later cares about big-endian.
-		case "${mips_arch}" in
-		mips64*)
-			target_arch=mips64el
-			;;
-		*)
-			target_arch=mipsel
-			;;
-		esac
-
-		BUILD_STRING_ARGS+=(
-			"target_cpu=${target_arch}"
-			"mips_arch_variant=${mips_arch}"
-		)
-		;;
 	*)
 		die "Unsupported architecture: ${ARCH}"
 		;;
@@ -436,7 +425,6 @@
 	if use_remoteexec; then
 		BUILD_ARGS+=(
 			"use_remoteexec=true"
-			"use_rbe=true"
 		)
 		BUILD_STRING_ARGS+=(
 			"rbe_cc_cfg_file=${CHROME_ROOT}/src/buildtools/reclient_cfgs/rewrapper_chroot_compile.cfg"
@@ -525,7 +513,13 @@
 	echo
 	ewarn "If you want to develop or hack on the browser itself, you should follow the"
 	ewarn "simple chrome workflow instead of using emerge:"
-	ewarn "https://chromium.googlesource.com/chromiumos/docs/+/master/simple_chrome_workflow.md"
+	ewarn "https://chromium.googlesource.com/chromiumos/docs/+/HEAD/simple_chrome_workflow.md"
+	ewarn ""
+	ewarn "Otherwise, if you have a Chrome checkout already present on your machine, you can"
+	ewarn "re-enter the cros_sdk with the --chrome-root arg and set CHROME_ORIGIN to"
+	ewarn "LOCAL_SOURCE. This will bypass the lengthy sync_chrome phase here."
+	ewarn "Note: when using --chrome-root, the ebuild won't update or modify the Chrome checkout."
+	ewarn "So make sure it's at a compatible Chrome version before proceeding."
 	echo
 
 	tc-export CC CXX
@@ -589,7 +583,7 @@
 		CHROME_ROOT=${CHROME_DISTDIR}
 		;;
 	(LOCAL_SOURCE)
-		: ${CHROME_ROOT:=/home/${WHOAMI}/chrome_root}
+		: "${CHROME_ROOT:=/home/${WHOAMI}/chrome_root}"
 		if [[ ! -d "${CHROME_ROOT}/src" ]]; then
 			die "${CHROME_ROOT} does not contain a valid chromium checkout!"
 		fi
@@ -686,7 +680,7 @@
 
 	# We do symlink creation here if appropriate.
 	mkdir -p "${CHROME_CACHE_DIR}/src/${BUILD_OUT}"
-	if [[ ! -z "${BUILD_OUT_SYM}" ]]; then
+	if [[ -n "${BUILD_OUT_SYM}" ]]; then
 		rm -rf "${BUILD_OUT_SYM}" || die "Could not remove symlink"
 		ln -sfT "${CHROME_CACHE_DIR}/src/${BUILD_OUT}" "${BUILD_OUT_SYM}" ||
 			die "Could not create symlink for output directory"
@@ -720,9 +714,11 @@
 		capture_unittests
 		dawn_end2end_tests
 		dawn_unittests
+		fake_dmserver
 		gl_tests
 		jpeg_decode_accelerator_unittest
 		ozone_gl_unittests
+		ozone_integration_tests
 		sandbox_linux_unittests
 		wayland_client_integration_tests
 		wayland_client_perftests
@@ -787,6 +783,11 @@
 	# https://crbug.com/889079
 	use arm && filter-flags "-Wl,--fix-cortex-a53-843419"
 
+	# Chrome is expected to have its own sanitizer story independent of our
+	# $CFLAGS. Since we set `use_asan` and similar in `args.gn`, filter any
+	# sanitizers out here.
+	filter-flags '-fsanitize=*' '-fsanitize-trap=*'
+
 	# There are some flags we want to only use in the ebuild.
 	# The rest will be exported to the simple chrome workflow.
 	EBUILD_CFLAGS=()
@@ -888,10 +889,6 @@
 	export PATH=${PATH}:${DEPOT_TOOLS}
 
 	export DEPOT_TOOLS_GSUTIL_BIN_DIR="${CHROME_CACHE_DIR}/gsutil_bin"
-	# The venv logic seems to misbehave when cross-compiling.  Since our SDK
-	# should include all the necessary modules, just disable it (for now).
-	# https://crbug.com/808434
-	export VPYTHON_BYPASS="manually managed python not supported by chrome operations"
 
 	# TODO(rcui): crosbug.com/20435. Investigate removal of runhooks
 	# useflag when chrome build switches to Ninja inside the chroot.
@@ -970,17 +967,18 @@
 	# between multiple links done by this build (e.g. tests).
 	use thinlto && rm -rf "${build_dir}/thinlto-cache"
 
+	local parallelism="$(makeopts_jobs)"
 	# If goma or remoteexec is enabled, increase the number of parallel
 	# run to 10 * {number of processors}. Though, if it is too large the
 	# performance gets slow down, so limit by 200 heuristically.
 	if use_goma || use_remoteexec; then
 		local num_parallel=$(($(nproc) * 10))
 		local j_limit=200
-		set -- -j $((num_parallel < j_limit ? num_parallel : j_limit)) "$@"
+		parallelism=$((num_parallel < j_limit ? num_parallel : j_limit))
 	fi
 	local command=(
 		"${ENINJA}"
-		-j"$(makeopts_jobs)"
+		-j "${parallelism}"
 		-C "${build_dir}"
 		$(usex verbose -v "")
 		-d "keeprsp"
@@ -1004,6 +1002,7 @@
 	# Still use a script to check if the orderfile is used properly, i.e.
 	# Builtin_ functions are placed between the markers, etc.
 	if use strict_toolchain_checks && (use orderfile_use || use orderfile_verify); then
+		einfo "Verifying orderfile..."
 		"${FILESDIR}/check_orderfile.py" "${build_dir}/chrome" || die
 	fi
 }
@@ -1059,6 +1058,7 @@
 		autotest-deponly_src_prepare
 
 		# Remove .git dirs
+		# shellcheck disable=SC2154 # this is a bug in the linter.
 		find "${AUTOTEST_WORKDIR}" -type d -name .git -prune -exec rm -rf {} +
 
 		autotest_src_compile
@@ -1102,7 +1102,7 @@
 	local f
 	for f in "$@"; do
 		$(tc-getSTRIP) --strip-debug \
-			"${from}"/${f} -o "${dest}/$(basename ${f})"
+			"${from}/${f}" -o "${dest}/$(basename "${f}")"
 	done
 }
 
@@ -1123,7 +1123,7 @@
 		"${TEST_FILES[@]}"
 		"libppapi_tests.so" )
 
-	einfo "Installing test targets: ${TEST_INSTALL_TARGETS[@]}"
+	einfo "Installing test targets: ${TEST_INSTALL_TARGETS[*]}"
 	test_strip_install "${from}" "${dest}" "${TEST_INSTALL_TARGETS[@]}"
 
 	# Copy Chrome test data.
@@ -1183,8 +1183,8 @@
 		CROS_DEPS=${CHROME_ROOT}/src/tools/cros/bootstrap_deps
 		# sed removes the leading path including src/ converting it to relative.
 		# To avoid silent failures assert the success.
-		DEPS_LIST=$(python ${FIND_DEPS} ${PERF_DEPS} ${CROS_DEPS} | \
-			sed -e 's|^'${CHROME_ROOT}/src/'||'; assert)
+		DEPS_LIST=$(${FIND_DEPS} "${PERF_DEPS}" "${CROS_DEPS}" | \
+			sed -e "s|^${CHROME_ROOT}/src/||"; assert)
 		install_test_resources "${test_dir}" "${DEPS_LIST}"
 		# For crosperf, which uses some tests only available on internal builds.
 		if use chrome_internal; then
@@ -1196,7 +1196,7 @@
 
 	local from="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
 	local dest="${test_dir}/src/out/${BUILDTYPE}"
-	einfo "Installing telemetry binaries: ${TOOLS_TELEMETRY_BIN[@]}"
+	einfo "Installing telemetry binaries: ${TOOLS_TELEMETRY_BIN[*]}"
 	test_strip_install "${from}" "${dest}" "${TOOLS_TELEMETRY_BIN[@]}"
 
 	# When copying only a portion of the Chrome source that telemetry needs,
@@ -1220,7 +1220,7 @@
 	# Override default strip flags and lose the '-R .comment'
 	# in order to play nice with the crash server.
 	if [[ -z "${KEEP_CHROME_DEBUG_SYMBOLS}" ]]; then
-		if [[ "${STRIP}" == "llvm-strip" ]]; then
+		if [[ "$(tc-getSTRIP)" == "llvm-strip" ]]; then
 			export PORTAGE_STRIP_FLAGS="--strip-all-gnu"
 		else
 			export PORTAGE_STRIP_FLAGS=""
@@ -1229,7 +1229,7 @@
 		export PORTAGE_STRIP_FLAGS="--strip-debug"
 	fi
 	einfo "PORTAGE_STRIP_FLAGS=${PORTAGE_STRIP_FLAGS}"
-	LS=$(ls -alhS ${FROM})
+	LS=$(ls -alhS "${FROM}")
 	einfo "CHROME_DIR after build\n${LS}"
 
 	# Copy a D-Bus config file that includes other configs that are installed to
@@ -1361,17 +1361,17 @@
 	)
 	einfo "${cmd[*]}"
 	"${cmd[@]}" || die
-	LS=$(ls -alhS ${D}/${CHROME_DIR})
+	LS=$(ls -alhS "${D}/${CHROME_DIR}")
 	einfo "CHROME_DIR after deploy_chrome\n${LS}"
 
 	# Keep the .dwp files with debug fission.
 	if use chrome_debug && use debug_fission; then
 		mkdir -p "${D}/usr/lib/debug/${CHROME_DIR}"
 		DWP="${CHOST}"-dwp
-		cd "${D}/${CHROME_DIR}"
+		cd "${D}/${CHROME_DIR}" || die
 		# Iterate over all ELF files in current directory
-		while read i; do
-			cd "${FROM}"
+		while read -r i; do
+			cd "${FROM}" || die
 			# These files do not build with -gsplit-dwarf,
 			# so we do not need to get a .dwp file from them.
 			if [[ "${i}" == "./libassistant.so"		|| \
@@ -1416,9 +1416,9 @@
 pkg_preinst() {
 	enewuser "wayland"
 	enewgroup "wayland"
-	LS=$(ls -alhS ${ED}/${CHROME_DIR})
+	LS=$(ls -alhS "${ED}/${CHROME_DIR}")
 	einfo "CHROME_DIR after installation\n${LS}"
-	CHROME_SIZE=$(stat --printf="%s" ${ED}/${CHROME_DIR}/chrome)
+	CHROME_SIZE=$(stat --printf="%s" "${ED}/${CHROME_DIR}/chrome")
 	einfo "CHROME_SIZE = ${CHROME_SIZE}"
 
 	# Non-internal builds come with >10MB of unwinding info built-in. Size
diff --git a/chromeos-base/chromeos-chrome/files/check_orderfile.py b/chromeos-base/chromeos-chrome/files/check_orderfile.py
index 07de7bf..eefe301 100755
--- a/chromeos-base/chromeos-chrome/files/check_orderfile.py
+++ b/chromeos-base/chromeos-chrome/files/check_orderfile.py
@@ -1,47 +1,48 @@
-#!/usr/bin/env python2
-# -*- coding: utf-8 -*-
-#
+#!/usr/bin/env python3
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
-"""Ensures that V8's embedded blob is marked as hot.
+"""Ensures that Chrome has the ordering we expect.
+
+Chrome is ordered by an orderfile. This orderfile needs to do a few things:
+  - Ensure that markers are at each end of the ordered code, so Chrome can move
+    that to hugepages.
+  - Ensure that V8's builtins are somewhere between these markers.
+  - Ensure that the markers are in the correct order, since Chrome has strict
+    expectations about their relative ordering.
 
 This is important for performance, as we ensure that code marked as hot ends up
-in hugepages. If this isn't the case, there's a good chance that these builtins
-may 'accidentally' end up in hugepages, or won't end up in hugepages at all.
+in hugepages.
 """
 
-# As noted in Chrome's ebuild, this test is a temporary hack until we ship
-# orderfiles. Those will guarantee the ordering of this code/etc, so we don't
-# need a special hot section anymore.
-
 from __future__ import print_function
 
 import argparse
 import subprocess
 import sys
+from typing import List, Tuple
 
 
-def _parse_text_section_bounds(chrome_binary):
+def _parse_text_section_bounds(chrome_binary: str) -> Tuple[int, int]:
     """Find out the boundary of text section from readelf.
 
+    Section output looks like:
+        [Nr] Name  Type     Address  Off     Size    ES Flg Lk Inf Al
+        [16] .text PROGBITS 01070000 1070000 9f82cf6 00 AX  0  0   64
+
+    With offset being the fourth field, and size being the sixth field.
+
     Args:
-      chrome_binary: Path to unstripped Chrome binary.
+        chrome_binary: Path to unstripped Chrome binary.
 
     Returns:
-      (offset, size): offset and size of text section.
-
-    Examples:
-      Section output looks like:
-      [Nr] Name  Type     Address  Off     Size    ES Flg Lk Inf Al
-      [16] .text PROGBITS 01070000 1070000 9f82cf6 00 AX  0  0   64
-      With offset being the fourth field, and size being the sixth field.
+        (offset, size): offset and size of text section.
     """
     readelf = subprocess.check_output(
         ['llvm-readelf', '--sections', '--wide', chrome_binary]).splitlines()
     text = [x.strip() for x in readelf if b'.text' in x]
     if len(text) != 1:
-        raise ValueError('Expected exactly one .text section; got: %s' % text)
+        raise ValueError(f'Expected exactly one .text section; got: {text}')
 
     text_line = text[0]
     fields = text_line.split()
@@ -49,22 +50,22 @@
     return int(offset, 16), int(size, 16)
 
 
-def _parse_orderfile_marker_bounds(chrome_binary):
+def _parse_orderfile_marker_bounds(chrome_binary: str) -> Tuple[int, int]:
     """Find out the address of markers from orderfile in readelf.
 
+    We have to parse lines like:
+        Num:    Value            Size Type Bind  Vis     Ndx Name
+        403015: 0000000001070000 5    FUNC LOCAL DEFAULT 16  chrome_begin_[...]
+        403016: 00000000020e3dc0 5    FUNC LOCAL DEFAULT 16  chrome_end_[...]
+
+    Addresses are at the second field.
+
     Args:
-      chrome_binary: Path to unstripped Chrome binary.
+        chrome_binary: Path to unstripped Chrome binary.
 
     Returns:
-      (start, end): addresses of chrome_begin_ordered_code and
-      chrome_end_ordered_code.
-
-    Examples:
-      We have to parse lines like:
-      Num:    Value            Size Type Bind  Vis     Ndx Name
-      403015: 0000000001070000 5    FUNC LOCAL DEFAULT 16  chrome_begin_ordered_code
-      403016: 00000000020e3dc0 5    FUNC LOCAL DEFAULT 16  chrome_end_ordered_code
-      Addresses are at second field.
+        (start, end): addresses of chrome_begin_ordered_code and
+        chrome_end_ordered_code.
     """
     readelf = subprocess.check_output(
         ['readelf', '--symbols', '--wide', chrome_binary]).splitlines()
@@ -80,31 +81,31 @@
     if len(marker_end) != 1:
         raise ValueError('Expect exactly one chrome_end_ordered_code marker')
 
-    return int(marker_start[0].split()[1], 16), int(marker_end[0].split()[1],
-                                                    16)
+    parse_size = lambda x: int(x[0].split()[1], 16)
+    return parse_size(marker_start), parse_size(marker_end)
 
 
-def _parse_builtins_locations(chrome_binary):
+def _parse_builtins_locations(chrome_binary: str) -> List[Tuple[int, str]]:
     """Find out all the builtin functions and their locations
 
+    We have to parse lines like:
+           Num:    Value  Size Type    Bind   Vis      Ndx Name
+        470796: 00d21560     0 FUNC    LOCAL  DEFAULT   18 Builtins_Abort
+
+    We can rely on FUNC, LOCAL, and DEFAULT being consistent for all
+    `Builtins_`.
+
     Args:
-      chrome_binary: Path to unstripped Chrome binary.
+        chrome_binary: Path to unstripped Chrome binary.
 
     Returns:
-      List of (location, symbol_name): a list of tuples of the address and
-      names of builtin functions
-
-    Examples:
-      We have to parse lines like:
-         Num:    Value  Size Type    Bind   Vis      Ndx Name
-      470796: 00d21560     0 FUNC    LOCAL  DEFAULT   18 Builtins_Abort
-      We can rely on FUNC, LOCAL, and DEFAULT being consistent for all
-      `Builtins_`.
+        List of (location, symbol_name): a list of tuples of the address and
+        names of builtin functions
     """
     cmd = subprocess.Popen(['readelf', '--symbols', '--wide', chrome_binary],
                            stdout=subprocess.PIPE)
 
-    keys = [b'FUNC', b'LOCAL', b'DEFAULT']
+    keys = (b'FUNC', b'LOCAL', b'DEFAULT')
     ok = True
     try:
         for line in cmd.stdout:
@@ -133,10 +134,11 @@
 
 def _err(x):
     """Print error message."""
-    print('%s: error: %s' % (__file__, x), file=sys.stderr)
+    print(f'{__file__}: error: {x}', file=sys.stderr)
 
 
 def main(argv):
+    """Main function."""
     parser = argparse.ArgumentParser(description=__doc__)
     parser.add_argument('chrome', help='Path to an unstripped chrome binary.')
     opts = parser.parse_args(argv)
@@ -166,17 +168,17 @@
         return 1
 
     if not out_of_bounds:
-        print('[PASS]%d `Builtins_` functions are placed between the markers' %
-              num_found)
+        print(f'[PASS] {num_found} `Builtins_` functions are placed between '
+              'the markers')
         return 0
 
     out_of_bounds.sort()
-    _err('%d/%d builtins didn\'t land in between the markers' %
-         (len(out_of_bounds), num_found))
-    _err('chrome_begin_ordered_code: %#x' % marker_start)
-    _err('chrome_end_ordered_code: %#x' % marker_end)
+    _err(f"{len(out_of_bounds)}/{num_found} builtins didn't land in "
+         'between the markers')
+    _err(f'chrome_begin_ordered_code: {marker_start:#x}')
+    _err(f'chrome_end_ordered_code: {marker_end:#x}')
 
-    pretty_out_of_bounds = ('%#x: %s' % (offset, name)
+    pretty_out_of_bounds = (f'{offset:#x}: {name}'
                             for offset, name in out_of_bounds)
     _err('Builtins:\n\t' + '\n\t'.join(pretty_out_of_bounds))
     return 1
diff --git a/chromeos-base/chromeos-chrome/files/check_symbol_ordering.py b/chromeos-base/chromeos-chrome/files/check_symbol_ordering.py
deleted file mode 100755
index c7ca750..0000000
--- a/chromeos-base/chromeos-chrome/files/check_symbol_ordering.py
+++ /dev/null
@@ -1,124 +0,0 @@
-#!/usr/bin/env python2
-# -*- coding: utf-8 -*-
-#
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""Ensures that V8's embedded blob is marked as hot.
-
-This is important for performance, as we ensure that code marked as hot ends up
-in hugepages. If this isn't the case, there's a good chance that these builtins
-may 'accidentally' end up in hugepages, or won't end up in hugepages at all.
-"""
-
-# As noted in Chrome's ebuild, this test is a temporary hack until we ship
-# orderfiles. Those will guarantee the ordering of this code/etc, so we don't
-# need a special hot section anymore.
-
-from __future__ import print_function
-
-import argparse
-import subprocess
-import sys
-
-
-def _parse_text_hot_bounds(chrome_binary):
-    # Grep for the .text.hot section. There should be exactly one of these.
-    # Section output looks like:
-    # [18] .text.hot  PROGBITS   00b2d000 b2d000 5cb9b8 00  AX  0   0 32
-    # With offset being the fourth field, and size being the sixth field.
-    readelf = subprocess.check_output(
-        ['llvm-readelf', '--sections', '--wide', chrome_binary]).splitlines()
-
-    text_hot = [line.strip() for line in readelf if '.text.hot' in line]
-    if len(text_hot) != 1:
-        raise ValueError(
-            'Expected exactly one .text.hot section; got: %s' % text_hot)
-
-    hot_line = text_hot[0]
-    fields = hot_line.split()
-    offset, size = fields[3], fields[5]
-    return int(offset, 16), int(size, 16)
-
-
-def _parse_builtins_locations(chrome_binary):
-    # We have to parse lines like:
-    #    Num:    Value  Size Type    Bind   Vis      Ndx Name
-    # 470796: 00d21560     0 FUNC    LOCAL  DEFAULT   18 Builtins_Abort
-    #
-    # We can rely on FUNC, LOCAL, and DEFAULT being consistent for all
-    # `Builtins_`.
-    cmd = subprocess.Popen(['llvm-readelf', '--symbols', '--wide', chrome_binary],
-                           stdout=subprocess.PIPE)
-
-    keys = ['FUNC', 'LOCAL', 'DEFAULT']
-    ok = True
-    try:
-        for line in cmd.stdout:
-            fields = line.split()
-            if not fields:
-                continue
-
-            symbol_name = fields[-1]
-            if not symbol_name.startswith('Builtins_'):
-                continue
-
-            if any(key not in fields for key in keys):
-                continue
-
-            location = int(fields[1], 16)
-            yield location, symbol_name
-    except:
-        ok = False
-        cmd.kill()
-        raise
-    finally:
-        exit_code = cmd.wait()
-        if ok and exit_code:
-            raise subprocess.CalledProcessError(exit_code, cmd.args)
-
-
-def _err(x):
-    print(x, file=sys.stderr)
-
-
-def main():
-    parser = argparse.ArgumentParser(description=__doc__)
-    parser.add_argument('chrome', help='Path to an unstripped chrome binary.')
-    args = parser.parse_args()
-
-    chrome_binary = args.chrome
-
-    hot_begin, hot_size = _parse_text_hot_bounds(chrome_binary)
-    hot_end = hot_begin + hot_size
-
-    out_of_bounds = []
-    num_found = 0
-    for location, symbol_name in _parse_builtins_locations(chrome_binary):
-        num_found += 1
-        if location >= hot_end or location < hot_begin:
-            out_of_bounds.append((location, symbol_name))
-
-    if not num_found:
-        _err("No `Builtins_` found. Is the given chrome stripped?")
-        return 1
-
-    if not out_of_bounds:
-        print('%d `Builtins_` functions in .text.hot.' % num_found)
-        return 0
-
-    out_of_bounds.sort()
-    _err('%d/%d builtins didn\'t land in .text.hot.' % (len(out_of_bounds),
-                                                        num_found))
-    _err('.text.hot begin: %#x' % hot_begin)
-    _err('.text.hot end: %#x' % hot_end)
-
-    pretty_out_of_bounds = ('%#x: %s' % (offset, name)
-                            for offset, name in out_of_bounds)
-    _err('Builtins:\n\t' + '\n\t'.join(pretty_out_of_bounds))
-    return 1
-
-
-if __name__ == '__main__':
-    sys.exit(main())
diff --git a/chromeos-base/chromeos-common-script/OWNERS b/chromeos-base/chromeos-common-script/OWNERS
new file mode 100644
index 0000000..14ddc2f
--- /dev/null
+++ b/chromeos-base/chromeos-common-script/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/chromeos-common-script/OWNERS
diff --git a/chromeos-base/chromeos-common-script/chromeos-common-script-0.0.1-r339.ebuild b/chromeos-base/chromeos-common-script/chromeos-common-script-0.0.1-r339.ebuild
deleted file mode 100644
index 0963e17..0000000
--- a/chromeos-base/chromeos-common-script/chromeos-common-script-0.0.1-r339.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "6e637013ca230c728661cf58f7cf8271ce339711" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk chromeos-common-script .gn"
-
-PLATFORM_SUBDIR="chromeos-common-script"
-
-inherit cros-workon platform
-
-DESCRIPTION="Chrome OS storage info tools"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-common-script/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE="direncryption fsverity kernel-4_4 prjquota"
-
-REQUIRED_USE="prjquota? ( !kernel-4_4 )"
-
-src_install() {
-	insinto /usr/share/misc
-	doins share/chromeos-common.sh
-	doins share/lvm-utils.sh
-	if use direncryption; then
-		sed -i '/local direncryption_enabled=/s/false/true/' \
-			"${D}/usr/share/misc/chromeos-common.sh" ||
-			die "Can not set directory encryption in common library"
-	fi
-	if use fsverity; then
-		sed -i '/local fsverity_enabled=/s/false/true/' \
-			"${D}/usr/share/misc/chromeos-common.sh" ||
-			die "Can not set fs-verity in common library"
-	fi
-	if use prjquota; then
-		sed -i '/local prjquota_enabled=/s/false/true/' \
-			"${D}/usr/share/misc/chromeos-common.sh" ||
-			die "Can not set project quota in common library"
-	fi
-}
diff --git a/chromeos-base/chromeos-common-script/chromeos-common-script-0.0.1-r400.ebuild b/chromeos-base/chromeos-common-script/chromeos-common-script-0.0.1-r400.ebuild
new file mode 100644
index 0000000..675b607
--- /dev/null
+++ b/chromeos-base/chromeos-common-script/chromeos-common-script-0.0.1-r400.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "777454ed89f9fb3a7f25a3f844449983a1f6c3fa" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk chromeos-common-script .gn"
+
+PLATFORM_SUBDIR="chromeos-common-script"
+
+inherit cros-workon platform
+
+DESCRIPTION="Chrome OS storage info tools"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-common-script/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="direncryption fsverity kernel-4_4 prjquota"
+
+REQUIRED_USE="prjquota? ( !kernel-4_4 )"
+
+src_install() {
+	insinto /usr/share/misc
+	doins share/chromeos-common.sh
+	doins share/lvm-utils.sh
+	if use direncryption; then
+		sed -i '/local direncryption_enabled=/s/false/true/' \
+			"${D}/usr/share/misc/chromeos-common.sh" ||
+			die "Can not set directory encryption in common library"
+	fi
+	if use fsverity; then
+		sed -i '/local fsverity_enabled=/s/false/true/' \
+			"${D}/usr/share/misc/chromeos-common.sh" ||
+			die "Can not set fs-verity in common library"
+	fi
+	if use prjquota; then
+		sed -i '/local prjquota_enabled=/s/false/true/' \
+			"${D}/usr/share/misc/chromeos-common.sh" ||
+			die "Can not set project quota in common library"
+	fi
+}
diff --git a/chromeos-base/chromeos-common-script/chromeos-common-script-9999.ebuild b/chromeos-base/chromeos-common-script/chromeos-common-script-9999.ebuild
index b81fb80..4b4f3ef 100644
--- a/chromeos-base/chromeos-common-script/chromeos-common-script-9999.ebuild
+++ b/chromeos-base/chromeos-common-script/chromeos-common-script-9999.ebuild
@@ -13,7 +13,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Chrome OS storage info tools"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-common-script/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-common-script/"
 SRC_URI=""
 
 LICENSE="BSD-Google"
diff --git a/chromeos-base/chromeos-common-script/files/revision_bump b/chromeos-base/chromeos-common-script/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/chromeos-common-script/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/chromeos-config-host/chromeos-config-host-0.0.2-r674.ebuild b/chromeos-base/chromeos-config-host/chromeos-config-host-0.0.2-r674.ebuild
deleted file mode 100644
index 58c2288..0000000
--- a/chromeos-base/chromeos-config-host/chromeos-config-host-0.0.2-r674.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-CROS_WORKON_COMMIT="8faca5ee7bf8c37f22b9e95e65e5efd8be2e577e"
-CROS_WORKON_TREE="bea140d13f7cf1092e4c89a45011c04c28327972"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_SUBTREE="chromeos-config"
-
-PYTHON_COMPAT=( python{3_6,3_7} )
-
-inherit cros-workon distutils-r1
-
-DESCRIPTION="Chrome OS configuration host tools"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-config"
-
-LICENSE="BSD-Google"
-SLOT=0
-KEYWORDS="*"
-
-RDEPEND="
-	>=sys-fs/squashfs-tools-4.3
-	dev-python/jinja[${PYTHON_USEDEP}]
-	!<chromeos-base/chromeos-config-tools-0.0.4
-"
-
-DEPEND="
-	${RDEPEND}
-	dev-python/setuptools[${PYTHON_USEDEP}]
-"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-src_unpack() {
-	cros-workon_src_unpack
-	S+="/chromeos-config"
-}
diff --git a/chromeos-base/chromeos-config-host/chromeos-config-host-0.0.2-r723.ebuild b/chromeos-base/chromeos-config-host/chromeos-config-host-0.0.2-r723.ebuild
new file mode 100644
index 0000000..acdaf50
--- /dev/null
+++ b/chromeos-base/chromeos-config-host/chromeos-config-host-0.0.2-r723.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+CROS_WORKON_COMMIT="b78bd558637ebfc1ecb43bc06616f9b1370d4b33"
+CROS_WORKON_TREE="527abd7a988a45572305a6c44b5324d0d9cf8be2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="chromeos-config"
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-workon distutils-r1
+
+DESCRIPTION="Chrome OS configuration host tools"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-config"
+
+LICENSE="BSD-Google"
+SLOT=0
+KEYWORDS="*"
+
+RDEPEND="
+	>=sys-fs/squashfs-tools-4.3
+	dev-python/jinja[${PYTHON_USEDEP}]
+	!<chromeos-base/chromeos-config-tools-0.0.4
+"
+
+DEPEND="
+	${RDEPEND}
+	dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+src_unpack() {
+	cros-workon_src_unpack
+	S+="/chromeos-config"
+}
diff --git a/chromeos-base/chromeos-config-host/chromeos-config-host-9999.ebuild b/chromeos-base/chromeos-config-host/chromeos-config-host-9999.ebuild
index 755d9ac..ac1ba45 100644
--- a/chromeos-base/chromeos-config-host/chromeos-config-host-9999.ebuild
+++ b/chromeos-base/chromeos-config-host/chromeos-config-host-9999.ebuild
@@ -7,12 +7,12 @@
 CROS_WORKON_PROJECT="chromiumos/platform2"
 CROS_WORKON_SUBTREE="chromeos-config"
 
-PYTHON_COMPAT=( python{3_6,3_7} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 inherit cros-workon distutils-r1
 
 DESCRIPTION="Chrome OS configuration host tools"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-config"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-config"
 
 LICENSE="BSD-Google"
 SLOT=0
diff --git a/chromeos-base/chromeos-config-tools/chromeos-config-tools-0.0.4-r1969.ebuild b/chromeos-base/chromeos-config-tools/chromeos-config-tools-0.0.4-r1969.ebuild
deleted file mode 100644
index 1a1eedd..0000000
--- a/chromeos-base/chromeos-config-tools/chromeos-config-tools-0.0.4-r1969.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-CROS_WORKON_COMMIT=("b5af16fedbdbde464bfd67afa005d5d6537e5e5d" "b7463922626c7b358bcbea62cb229d571bc76201")
-CROS_WORKON_TREE=("4fdfdbe461ccedeaaf176391c0bbb0f74943be45" "a625767bb59509159091f2ab0b71f8b9b4b2e353" "bea140d13f7cf1092e4c89a45011c04c28327972" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "f48db0af4c70fe6ae23f1861b4b3989bc9fbf4ee" "795a5e0d84f739bfbce451f361ae0ebaff103c7b")
-CROS_WORKON_INCREMENTAL_BUILD=1
-
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform2"
-	"chromiumos/platform/dev-util"
-)
-CROS_WORKON_LOCALNAME=(
-	"platform2"
-	"platform/dev"
-)
-CROS_WORKON_SUBTREE=(
-	".clang-format common-mk chromeos-config .gn power_manager"
-	"test/gtest"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}/platform2"
-	"${S}/platform/dev"
-)
-PLATFORM_SUBDIR="chromeos-config"
-
-inherit cros-workon platform gtest
-
-DESCRIPTION="Chrome OS configuration tools"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-config"
-
-LICENSE="BSD-Google"
-SLOT=0
-KEYWORDS="*"
-IUSE="unibuild"
-
-GTEST_METADATA=(
-	libcros_config/cros_config_functional_test.yaml
-)
-
-GTEST_TEST_INSTALL_DIR="/usr/local/gtest/cros_config"
-
-RDEPEND=""
-
-DEPEND="${RDEPEND}"
-
-src_install() {
-	dolib.so "${OUT}/lib/libcros_config.so"
-
-	insinto "/usr/include/chromeos/chromeos-config/libcros_config"
-	doins "${S}"/libcros_config/*.h
-
-	"${S}"/platform2_preinstall.sh "${PV}" "/usr/include/chromeos" "${OUT}"
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	doins "${OUT}"/libcros_config.pc
-
-	insinto "/usr/include/cros_config"
-	doins "libcros_config/cros_config_interface.h"
-	doins "libcros_config/cros_config.h"
-	doins "libcros_config/fake_cros_config.h"
-
-	dobin "${OUT}"/cros_config
-	newbin cros_config_mock.sh cros_config_mock
-
-	if use unibuild; then
-		newsbin scripts/cros_config_setup.sh cros_config_setup
-	else
-		newsbin scripts/cros_config_setup_legacy.sh cros_config_setup
-	fi
-
-	if use test; then
-		exeinto "${GTEST_TEST_INSTALL_DIR}"
-		doexe  "${OUT}/cros_config_functional_test"
-
-		install_gtest_metadata "${GTEST_METADATA[@]}"
-	fi
-
-	# Install init scripts.
-	insinto /etc/init
-	doins init/*.conf
-}
-
-platform_pkg_test() {
-	local tests=(
-		fake_cros_config_test
-	)
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-	./run_tests.sh || die "cros_config unit tests have errors"
-}
diff --git a/chromeos-base/chromeos-config-tools/chromeos-config-tools-0.0.4-r2142.ebuild b/chromeos-base/chromeos-config-tools/chromeos-config-tools-0.0.4-r2142.ebuild
new file mode 100644
index 0000000..91b3680
--- /dev/null
+++ b/chromeos-base/chromeos-config-tools/chromeos-config-tools-0.0.4-r2142.ebuild
@@ -0,0 +1,94 @@
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+CROS_WORKON_COMMIT=("dbb1136242ba822d539eaf11493f3b68815adb7f" "a1298a3f48a90fb72cefbd674ebb0fcef18c214f")
+CROS_WORKON_TREE=("4fdfdbe461ccedeaaf176391c0bbb0f74943be45" "60fa47aebd6ebfb702012849bd560717fceddcd4" "527abd7a988a45572305a6c44b5324d0d9cf8be2" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "0bb1188da737e1a0399457e852e32dc8cfba2567" "f87095b8c1a06b38a8fe4183b31cdf15821ac9a1")
+CROS_WORKON_INCREMENTAL_BUILD=1
+
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform2"
+	"chromiumos/platform/dev-util"
+)
+CROS_WORKON_LOCALNAME=(
+	"platform2"
+	"platform/dev"
+)
+CROS_WORKON_SUBTREE=(
+	".clang-format common-mk chromeos-config .gn power_manager"
+	"test/gtest"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}/platform2"
+	"${S}/platform/dev"
+)
+PLATFORM_SUBDIR="chromeos-config"
+
+inherit cros-workon platform gtest
+
+DESCRIPTION="Chrome OS configuration tools"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-config"
+
+LICENSE="BSD-Google"
+SLOT=0
+KEYWORDS="*"
+IUSE="unibuild"
+
+GTEST_METADATA=(
+	libcros_config/cros_config_functional_test.yaml
+)
+
+GTEST_TEST_INSTALL_DIR="/usr/local/gtest/cros_config"
+
+RDEPEND=""
+
+DEPEND="${RDEPEND}"
+
+src_install() {
+	dolib.so "${OUT}/lib/libcros_config.so"
+
+	insinto "/usr/include/chromeos/chromeos-config/libcros_config"
+	doins "${S}"/libcros_config/*.h
+
+	"${S}"/platform2_preinstall.sh "${PV}" "/usr/include/chromeos" "${OUT}"
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins "${OUT}"/libcros_config.pc
+
+	insinto "/usr/include/cros_config"
+	doins "libcros_config/cros_config_interface.h"
+	doins "libcros_config/cros_config.h"
+	doins "libcros_config/fake_cros_config.h"
+
+	dobin "${OUT}"/cros_config
+	newbin cros_config_mock.sh cros_config_mock
+
+	if use unibuild; then
+		newsbin scripts/cros_config_setup.sh cros_config_setup
+	else
+		newsbin scripts/cros_config_setup_legacy.sh cros_config_setup
+	fi
+
+	if use test; then
+		exeinto "${GTEST_TEST_INSTALL_DIR}"
+		doexe  "${OUT}/cros_config_functional_test"
+
+		install_gtest_metadata "${GTEST_METADATA[@]}"
+	fi
+
+	# Install init scripts.
+	insinto /etc/init
+	doins init/*.conf
+}
+
+platform_pkg_test() {
+	local tests=(
+		fake_cros_config_test
+	)
+
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+	./run_tests.sh || die "cros_config unit tests have errors"
+}
diff --git a/chromeos-base/chromeos-config-tools/chromeos-config-tools-9999.ebuild b/chromeos-base/chromeos-config-tools/chromeos-config-tools-9999.ebuild
index d131f6d..3464d02 100644
--- a/chromeos-base/chromeos-config-tools/chromeos-config-tools-9999.ebuild
+++ b/chromeos-base/chromeos-config-tools/chromeos-config-tools-9999.ebuild
@@ -26,7 +26,7 @@
 inherit cros-workon platform gtest
 
 DESCRIPTION="Chrome OS configuration tools"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-config"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-config"
 
 LICENSE="BSD-Google"
 SLOT=0
diff --git a/chromeos-base/chromeos-config-tools/files/revision_bump b/chromeos-base/chromeos-config-tools/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/chromeos-config-tools/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/chromeos-config/chromeos-config-0.0.2-r160.ebuild b/chromeos-base/chromeos-config/chromeos-config-0.0.2-r160.ebuild
deleted file mode 100644
index f2db412..0000000
--- a/chromeos-base/chromeos-config/chromeos-config-0.0.2-r160.ebuild
+++ /dev/null
@@ -1,145 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="8faca5ee7bf8c37f22b9e95e65e5efd8be2e577e"
-CROS_WORKON_TREE="f66447c7ca0a56b9031eb22078e6469d7416349e"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_SUBTREE="chromeos-config/cros_config_host"
-
-inherit cros-unibuild cros-workon
-
-DESCRIPTION="Chromium OS-specific configuration"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/config/"
-SRC_URI=""
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="zephyr_poc"
-
-RDEPEND="chromeos-base/crosid"
-
-# This ebuild creates the Chrome OS master configuration file stored in
-# ${UNIBOARD_JSON_INSTALL_PATH}. See go/cros-unified-builds-design for
-# more information.
-
-# Run a Python utility from the cros_config_host directory.
-#
-# Doing this instead of calling the installed copy has multiple
-# benefits:
-# - Users who are making a schema change do not need to cros workon
-#   chromeos-base/chromeos-config-host, emerge that, and cros workon
-#   chromeos-base/chromeos-config for their board, and finally emerge
-#   that.  Historically, this was a common confusion point for
-#   developers.
-# - Schema permissions don't end up messed up if a user does a repo
-#   sync with a weird umask.
-# - Schema changes force the chromeos-base/chromeos-config package to
-#   get revbumped.
-#
-# Args:
-#    $1: The tool name to run (either cros_config_host or
-#        cros_config_schema).
-#    $@: The remaining arguments are passed directly to the tool.
-run_cros_config_tool() {
-	local tool="${1}"
-	shift
-
-	PYTHONPATH="${S}/chromeos-config/cros_config_host" \
-		python3 -m "${tool}" "$@"
-}
-
-# Merges all of the source YAML config files and generates the
-# corresponding build config and platform config files.
-src_compile() {
-	local yaml_files=( "${SYSROOT}${UNIBOARD_YAML_DIR}/"*.yaml )
-	local input_yaml_files=()
-	local schema_flags=()
-	local yaml="${WORKDIR}/config.yaml"
-	local configfs_image="${WORKDIR}/configfs.img"
-	local gen_yaml="${SYSROOT}${UNIBOARD_YAML_DIR}/config.yaml"
-
-	# Protobuf based configs generate JSON directly with no YAML.
-	if [[ -f "${SYSROOT}${UNIBOARD_YAML_DIR}/project-config.json" ]]; then
-		yaml_files=( "${SYSROOT}${UNIBOARD_YAML_DIR}/project-config.json" )
-	fi
-
-	for source_yaml in "${yaml_files[@]}"; do
-		if [[ -f "${source_yaml}" && "${source_yaml}" != "${gen_yaml}" ]]; then
-			einfo "Adding source YAML file ${source_yaml}"
-			# Order matters here.  This will control how YAML files
-			# are merged.  To control the order, change the name
-			# of the input files to be in the order desired.
-			input_yaml_files+=("${source_yaml}")
-		fi
-	done
-
-	if use zephyr_poc; then
-		schema_flags+=( --zephyr-ec-configs-only )
-	fi
-
-	if [[ "${#input_yaml_files[@]}" -ne 0 ]]; then
-		run_cros_config_tool cros_config_schema "${schema_flags[@]}" \
-			-o "${yaml}" \
-			-m "${input_yaml_files[@]}" \
-			|| die "cros_config_schema failed for build config."
-
-		run_cros_config_tool cros_config_schema -c "${yaml}" \
-			--configfs-output "${configfs_image}" -f "True" \
-			--identity-table-out "${WORKDIR}/identity.bin" \
-			|| die "cros_config_schema failed for platform config."
-	fi
-}
-
-src_install() {
-	# Get the directory name only, and use that as the install directory.
-	insinto "${UNIBOARD_JSON_INSTALL_PATH%/*}"
-	if [[ -e "${WORKDIR}/configfs.img" ]]; then
-		doins "${WORKDIR}/configfs.img"
-	fi
-	if [[ -e "${WORKDIR}/identity.bin" ]]; then
-		doins "${WORKDIR}/identity.bin"
-	fi
-
-	insinto "${UNIBOARD_YAML_DIR}"
-	if [[ -e "${WORKDIR}/config.yaml" ]]; then
-		doins "${WORKDIR}/config.yaml"
-	fi
-}
-
-# @FUNCTION: _verify_config_dump
-# @USAGE: [source-yaml] [expected-json]
-# @INTERNAL
-# @DESCRIPTION:
-# Dumps the cros_config_host contents and verifies expected file match.
-#   $1: Source YAML config file used to generate JSON dump.
-#   $2: Expected JSON output file that is verified against.
-_verify_config_dump() {
-	local source_yaml="$1"
-	local expected_json="$2"
-
-	local expected_path="${SYSROOT}${CROS_CONFIG_TEST_DIR}/${expected_json}"
-	local source_path="${SYSROOT}${UNIBOARD_YAML_DIR}/${source_yaml}"
-	local actual_path="${WORKDIR}/${expected_json}"
-	local merged_path="${WORKDIR}/${source_yaml}"
-	if [[ -e "${expected_path}" ]]; then
-		if [[ -e "${source_path}" ]]; then
-			run_cros_config_tool cros_config_schema -o "${merged_path}" \
-				-m "${source_path}" \
-				|| die "cros_config_schema failed for build config."
-			run_cros_config_tool cros_config_host \
-				-c "${merged_path}" dump-config > "${actual_path}"
-			verify_file_match "${expected_path}" "${actual_path}"
-		else
-			eerror "Source YAML ${source_path} doesn't exist for checking" \
-				"against expected JSON dump ${expected_path}"
-			die
-		fi
-	fi
-}
-
-src_test() {
-	_verify_config_dump model.yaml config_dump.json
-	_verify_config_dump private-model.yaml config_dump-private.json
-}
diff --git a/chromeos-base/chromeos-config/chromeos-config-0.0.2-r193.ebuild b/chromeos-base/chromeos-config/chromeos-config-0.0.2-r193.ebuild
new file mode 100644
index 0000000..c4733db
--- /dev/null
+++ b/chromeos-base/chromeos-config/chromeos-config-0.0.2-r193.ebuild
@@ -0,0 +1,145 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b78bd558637ebfc1ecb43bc06616f9b1370d4b33"
+CROS_WORKON_TREE="32074ceacef3ed31081924ce92b3791ac60dd74d"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="chromeos-config/cros_config_host"
+
+inherit cros-unibuild cros-workon
+
+DESCRIPTION="Chromium OS-specific configuration"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/config/"
+SRC_URI=""
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="zephyr_poc"
+
+RDEPEND="chromeos-base/crosid"
+
+# This ebuild creates the Chrome OS master configuration file stored in
+# ${UNIBOARD_JSON_INSTALL_PATH}. See go/cros-unified-builds-design for
+# more information.
+
+# Run a Python utility from the cros_config_host directory.
+#
+# Doing this instead of calling the installed copy has multiple
+# benefits:
+# - Users who are making a schema change do not need to cros workon
+#   chromeos-base/chromeos-config-host, emerge that, and cros workon
+#   chromeos-base/chromeos-config for their board, and finally emerge
+#   that.  Historically, this was a common confusion point for
+#   developers.
+# - Schema permissions don't end up messed up if a user does a repo
+#   sync with a weird umask.
+# - Schema changes force the chromeos-base/chromeos-config package to
+#   get revbumped.
+#
+# Args:
+#    $1: The tool name to run (either cros_config_host or
+#        cros_config_schema).
+#    $@: The remaining arguments are passed directly to the tool.
+run_cros_config_tool() {
+	local tool="${1}"
+	shift
+
+	PYTHONPATH="${S}/chromeos-config/cros_config_host" \
+		python3 -m "${tool}" "$@"
+}
+
+# Merges all of the source YAML config files and generates the
+# corresponding build config and platform config files.
+src_compile() {
+	local yaml_files=( "${SYSROOT}${UNIBOARD_YAML_DIR}/"*.yaml )
+	local input_yaml_files=()
+	local schema_flags=()
+	local yaml="${WORKDIR}/config.yaml"
+	local configfs_image="${WORKDIR}/configfs.img"
+	local gen_yaml="${SYSROOT}${UNIBOARD_YAML_DIR}/config.yaml"
+
+	# Protobuf based configs generate JSON directly with no YAML.
+	if [[ -f "${SYSROOT}${UNIBOARD_YAML_DIR}/project-config.json" ]]; then
+		yaml_files=( "${SYSROOT}${UNIBOARD_YAML_DIR}/project-config.json" )
+	fi
+
+	for source_yaml in "${yaml_files[@]}"; do
+		if [[ -f "${source_yaml}" && "${source_yaml}" != "${gen_yaml}" ]]; then
+			einfo "Adding source YAML file ${source_yaml}"
+			# Order matters here.  This will control how YAML files
+			# are merged.  To control the order, change the name
+			# of the input files to be in the order desired.
+			input_yaml_files+=("${source_yaml}")
+		fi
+	done
+
+	if use zephyr_poc; then
+		schema_flags+=( --zephyr-ec-configs-only )
+	fi
+
+	if [[ "${#input_yaml_files[@]}" -ne 0 ]]; then
+		run_cros_config_tool cros_config_schema "${schema_flags[@]}" \
+			-o "${yaml}" \
+			-m "${input_yaml_files[@]}" \
+			|| die "cros_config_schema failed for build config."
+
+		run_cros_config_tool cros_config_schema -c "${yaml}" \
+			--configfs-output "${configfs_image}" -f "True" \
+			--identity-table-out "${WORKDIR}/identity.bin" \
+			|| die "cros_config_schema failed for platform config."
+	fi
+}
+
+src_install() {
+	# Get the directory name only, and use that as the install directory.
+	insinto "${UNIBOARD_JSON_INSTALL_PATH%/*}"
+	if [[ -e "${WORKDIR}/configfs.img" ]]; then
+		doins "${WORKDIR}/configfs.img"
+	fi
+	if [[ -e "${WORKDIR}/identity.bin" ]]; then
+		doins "${WORKDIR}/identity.bin"
+	fi
+
+	insinto "${UNIBOARD_YAML_DIR}"
+	if [[ -e "${WORKDIR}/config.yaml" ]]; then
+		doins "${WORKDIR}/config.yaml"
+	fi
+}
+
+# @FUNCTION: _verify_config_dump
+# @USAGE: [source-yaml] [expected-json]
+# @INTERNAL
+# @DESCRIPTION:
+# Dumps the cros_config_host contents and verifies expected file match.
+#   $1: Source YAML config file used to generate JSON dump.
+#   $2: Expected JSON output file that is verified against.
+_verify_config_dump() {
+	local source_yaml="$1"
+	local expected_json="$2"
+
+	local expected_path="${SYSROOT}${CROS_CONFIG_TEST_DIR}/${expected_json}"
+	local source_path="${SYSROOT}${UNIBOARD_YAML_DIR}/${source_yaml}"
+	local actual_path="${WORKDIR}/${expected_json}"
+	local merged_path="${WORKDIR}/${source_yaml}"
+	if [[ -e "${expected_path}" ]]; then
+		if [[ -e "${source_path}" ]]; then
+			run_cros_config_tool cros_config_schema -o "${merged_path}" \
+				-m "${source_path}" \
+				|| die "cros_config_schema failed for build config."
+			run_cros_config_tool cros_config_host \
+				-c "${merged_path}" dump-config > "${actual_path}"
+			verify_file_match "${expected_path}" "${actual_path}"
+		else
+			eerror "Source YAML ${source_path} doesn't exist for checking" \
+				"against expected JSON dump ${expected_path}"
+			die
+		fi
+	fi
+}
+
+src_test() {
+	_verify_config_dump model.yaml config_dump.json
+	_verify_config_dump private-model.yaml config_dump-private.json
+}
diff --git a/chromeos-base/chromeos-cr50-dev/chromeos-cr50-dev-0.0.1-r392.ebuild b/chromeos-base/chromeos-cr50-dev/chromeos-cr50-dev-0.0.1-r392.ebuild
deleted file mode 100644
index a7402cb..0000000
--- a/chromeos-base/chromeos-cr50-dev/chromeos-cr50-dev-0.0.1-r392.ebuild
+++ /dev/null
@@ -1,209 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE.makefile file.
-
-EAPI="7"
-
-CROS_WORKON_COMMIT=("bba90682d743dd6947751dcfd50871525c2224a2" "a77bf0779e1005c9fd840955193ac7257d67bc05" "92221d4688ed01cc361f01d650b82bf7e28078b2")
-CROS_WORKON_TREE=("bc3dd60d00cdabff1bbcb0ff8e017ac39a1ed6a1" "f64a48b91fc35d5760bca966436e0effc9e5cacb" "2aeca3cffd0e69db866b5623819ecd5bf8db1232")
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform/ec"
-	"chromiumos/third_party/tpm2"
-	"chromiumos/third_party/cryptoc"
-)
-CROS_WORKON_LOCALNAME=(
-	"platform/cr50"
-	"third_party/tpm2"
-	"third_party/cryptoc"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}/platform/ec"
-	"${S}/third_party/tpm2"
-	"${S}/third_party/cryptoc"
-)
-CROS_WORKON_EGIT_BRANCH=(
-	"cr50_stab"
-	"main"
-	"main"
-)
-
-inherit coreboot-sdk cros-workon toolchain-funcs
-
-DESCRIPTION="Google Security Chip firmware code"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/ec/+/refs/heads/cr50_stab"
-MIRROR_PATH="gs://chromeos-localmirror/distfiles/"
-CR50_ROS=(cr50.prod.ro.A.0.0.11 cr50.prod.ro.B.0.0.11)
-SRC_URI="${CR50_ROS[*]/#/${MIRROR_PATH}}"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="asan cros_host fuzzer msan quiet reef ubsan verbose"
-
-COMMON_DEPEND="
-	dev-libs/openssl:0=
-	virtual/libusb:1=
-	fuzzer? (
-		dev-libs/protobuf:=
-	)
-"
-
-RDEPEND="
-	!<chromeos-base/chromeos-ec-0.0.2
-	!<chromeos-base/ec-utils-0.0.2
-	${COMMON_DEPEND}
-"
-
-# Need to control versions of chromeos-ec and chromeos-config packages to
-# prevent file collision in /firmware/cr50.
-DEPEND="
-	${COMMON_DEPEND}
-	fuzzer? ( dev-libs/libprotobuf-mutator:= )
-"
-
-# We don't want binchecks since we're cross-compiling firmware images using
-# non-standard layout.
-RESTRICT="binchecks"
-
-# Cr50 signer manifest converted into proper json format.
-CR50_JSON='prod.json'
-
-src_unpack() {
-	cros-workon_src_unpack
-	S+="/platform/ec"
-}
-
-set_build_env() {
-	cros_use_gcc
-
-	export CROSS_COMPILE=${COREBOOT_SDK_PREFIX_arm}
-
-	tc-export CC BUILD_CC PKG_CONFIG
-	export HOSTCC=${CC}
-	export BUILDCC=${BUILD_CC}
-
-	EC_OPTS=()
-	use quiet && EC_OPTS+=( -s 'V=0' )
-	use verbose && EC_OPTS+=( 'V=1' )
-}
-
-#
-# Convert internal representation of the signer manifest into conventional
-# json.
-#
-prepare_cr50_signer_aid () {
-	local signer_manifest="util/signer/ec_RW-manifest-prod.json"
-	local codesigner="cr50-codesigner"
-
-	elog "Converting prod manifest into json format"
-
-	if ! type -P "${codesigner}" >/dev/null; then
-		ewarn "${codesigner} not available, not preparing ${CR50_JSON}"
-		return
-	fi
-
-	"${codesigner}" --convert-json -i "${signer_manifest}" \
-			-o "${S}/${CR50_JSON}" || \
-		die "failed to convert signer manifest ${signer_manifest}"
-}
-
-src_compile() {
-	set_build_env
-
-	export BOARD=cr50
-	emake -C extra/usb_updater clean
-	emake -C extra/usb_updater gsctool
-
-	if use fuzzer ; then
-		local sanitizers=()
-		use asan && sanitizers+=( 'TEST_ASAN=y' )
-		use msan && sanitizers+=( 'TEST_MSAN=y' )
-		use ubsan && sanitizers+=( 'TEST_UBSAN=y' )
-		emake buildfuzztests "${sanitizers[@]}"
-	fi
-
-	if ! use reef; then
-		elog "Not building Cr50 binaries"
-		return
-	fi
-
-	emake clean
-	emake "${EC_OPTS[@]}"
-	prepare_cr50_signer_aid
-}
-
-#
-# Install additional files, necessary for Cr50 signer inputs.
-#
-install_cr50_signer_aid () {
-	local blob
-
-	if [[ ! -f ${S}/${CR50_JSON} ]]; then
-		ewarn "Not installing Cr50 support files"
-		return
-	fi
-
-	elog "Installing Cr50 signer support files"
-
-	for blob in "${CR50_ROS[@]}"; do
-		local dest_name
-
-		# Carve out prod.ro.? from the RO blob file name. It is known
-		# to follow the pattern of "*prod.ro.[AB]*".
-		dest_name="${blob/*prod.ro/prod.ro}"
-		newins "${DISTDIR}/${blob}" "${dest_name::9}"
-	done
-
-	doins "${S}/board/cr50/rma_key_blob".*.{prod,test}
-	doins "${S}/${CR50_JSON}"
-	doins "${S}/util/signer/fuses.xml"
-}
-
-src_install() {
-	local build_dir
-	local dest_dir
-
-	dosbin "extra/usb_updater/gsctool"
-	dosbin "util/chargen"
-	dosym "gsctool" "/usr/sbin/usb_updater"
-
-	if use fuzzer ; then
-		local f
-
-		insinto /usr/libexec/fuzzers
-		exeinto /usr/libexec/fuzzers
-		for f in build/host/*_fuzz/*_fuzz.exe; do
-			local fuzzer="$(basename "${f}")"
-			local custom_owners="${S}/fuzz/${fuzzer%exe}owners"
-			fuzzer="ec_${fuzzer%_fuzz.exe}_fuzzer"
-			newexe "${f}" "${fuzzer}"
-			einfo "CUSTOM OWNERS = '${custom_owners}'"
-			if [[ -f "${custom_owners}" ]]; then
-				newins "${custom_owners}" "${fuzzer}.owners"
-			else
-				newins "${S}/OWNERS" "${fuzzer}.owners"
-			fi
-		done
-	fi
-
-	if ! use cros_host; then
-		exeinto /usr/local/bin
-		doexe "util/ap_ro_hash.py"
-	fi
-
-	if ! use reef; then
-		elog "Not installing Cr50 binaries"
-		return
-	fi
-
-	build_dir="build/cr50"
-	dest_dir='/firmware/cr50'
-	einfo "Installing cr50 from ${build_dir} into ${dest_dir}"
-
-	insinto "${dest_dir}"
-	doins "${build_dir}/ec.bin"
-	doins "${build_dir}/RW/ec.RW.elf"
-	doins "${build_dir}/RW/ec.RW_B.elf"
-
-	install_cr50_signer_aid
-}
-
diff --git a/chromeos-base/chromeos-cr50-dev/chromeos-cr50-dev-0.0.1-r435.ebuild b/chromeos-base/chromeos-cr50-dev/chromeos-cr50-dev-0.0.1-r435.ebuild
new file mode 100644
index 0000000..f4e151b
--- /dev/null
+++ b/chromeos-base/chromeos-cr50-dev/chromeos-cr50-dev-0.0.1-r435.ebuild
@@ -0,0 +1,214 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE.makefile file.
+
+EAPI="7"
+
+CROS_WORKON_COMMIT=("caf0666a392c3601ec79e324d52187e17abbae61" "2de0a64491451f72c7ffe5eb92301f4da509d0ad" "11a97df4133f905bbdf9ddb48b5d56d617ec949b")
+CROS_WORKON_TREE=("3160ba00fb2574cb4a584b5da95c782200a542e1" "f6cadf087425f2c77af8879a7f83e722ab613a36" "cafc71cae4ef6b3e7e64648b257b3f0ca2300e1d")
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform/ec"
+	"chromiumos/third_party/tpm2"
+	"chromiumos/third_party/cryptoc"
+)
+CROS_WORKON_LOCALNAME=(
+	"platform/cr50"
+	"third_party/tpm2"
+	"third_party/cryptoc"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}/platform/ec"
+	"${S}/third_party/tpm2"
+	"${S}/third_party/cryptoc"
+)
+CROS_WORKON_EGIT_BRANCH=(
+	"cr50_stab"
+	"main"
+	"main"
+)
+
+inherit coreboot-sdk cros-workon toolchain-funcs cros-sanitizers
+
+DESCRIPTION="Google Security Chip firmware code"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/ec/+/refs/heads/cr50_stab"
+MIRROR_PATH="gs://chromeos-localmirror/distfiles/"
+CR50_ROS=(cr50.prod.ro.A.0.0.11 cr50.prod.ro.B.0.0.11)
+SRC_URI="${CR50_ROS[*]/#/${MIRROR_PATH}}"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="asan cros_host fuzzer msan quiet reef ubsan verbose"
+
+COMMON_DEPEND="
+	dev-libs/openssl:0=
+	virtual/libusb:1=
+	fuzzer? (
+		dev-libs/protobuf:=
+	)
+"
+
+RDEPEND="
+	!<chromeos-base/chromeos-ec-0.0.2
+	!<chromeos-base/ec-utils-0.0.2
+	${COMMON_DEPEND}
+"
+
+# Need to control versions of chromeos-ec and chromeos-config packages to
+# prevent file collision in /firmware/cr50.
+DEPEND="
+	${COMMON_DEPEND}
+	fuzzer? ( dev-libs/libprotobuf-mutator:= )
+"
+
+# We don't want binchecks since we're cross-compiling firmware images using
+# non-standard layout.
+RESTRICT="binchecks"
+
+# Cr50 signer manifest converted into proper json format.
+CR50_JSON='prod.json'
+
+src_unpack() {
+	cros-workon_src_unpack
+	S+="/platform/ec"
+}
+
+set_build_env() {
+	cros_use_gcc
+
+	export CROSS_COMPILE=${COREBOOT_SDK_PREFIX_arm}
+
+	tc-export CC BUILD_CC PKG_CONFIG
+	export HOSTCC=${CC}
+	export BUILDCC=${BUILD_CC}
+
+	EC_OPTS=()
+	use quiet && EC_OPTS+=( -s 'V=0' )
+	use verbose && EC_OPTS+=( 'V=1' )
+}
+
+#
+# Convert internal representation of the signer manifest into conventional
+# json.
+#
+prepare_cr50_signer_aid () {
+	local signer_manifest="util/signer/ec_RW-manifest-prod.json"
+	local codesigner="cr50-codesigner"
+
+	elog "Converting prod manifest into json format"
+
+	if ! type -P "${codesigner}" >/dev/null; then
+		ewarn "${codesigner} not available, not preparing ${CR50_JSON}"
+		return
+	fi
+
+	"${codesigner}" --convert-json -i "${signer_manifest}" \
+			-o "${S}/${CR50_JSON}" || \
+		die "failed to convert signer manifest ${signer_manifest}"
+}
+
+src_compile() {
+	set_build_env
+
+	export BOARD=cr50
+	emake -C extra/usb_updater clean
+	emake -C extra/usb_updater gsctool
+
+	if use fuzzer ; then
+		local sanitizers=()
+		use asan && sanitizers+=( 'TEST_ASAN=y' )
+		use msan && sanitizers+=( 'TEST_MSAN=y' )
+		use ubsan && sanitizers+=( 'TEST_UBSAN=y' )
+		emake buildfuzztests "${sanitizers[@]}"
+	fi
+
+	if ! use reef; then
+		elog "Not building Cr50 binaries"
+		return
+	fi
+
+	emake clean
+	emake "${EC_OPTS[@]}"
+	prepare_cr50_signer_aid
+}
+
+#
+# Install additional files, necessary for Cr50 signer inputs.
+#
+install_cr50_signer_aid () {
+	local blob
+
+	if [[ ! -f ${S}/${CR50_JSON} ]]; then
+		ewarn "Not installing Cr50 support files"
+		return
+	fi
+
+	elog "Installing Cr50 signer support files"
+
+	for blob in "${CR50_ROS[@]}"; do
+		local dest_name
+
+		# Carve out prod.ro.? from the RO blob file name. It is known
+		# to follow the pattern of "*prod.ro.[AB]*".
+		dest_name="${blob/*prod.ro/prod.ro}"
+		newins "${DISTDIR}/${blob}" "${dest_name::9}"
+	done
+
+	doins "${S}/board/cr50/rma_key_blob".*.{prod,test}
+	doins "${S}/${CR50_JSON}"
+	doins "${S}/util/signer/fuses.xml"
+}
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
+src_install() {
+	local build_dir
+	local dest_dir
+
+	dosbin "extra/usb_updater/gsctool"
+	dosbin "util/chargen"
+	dosym "gsctool" "/usr/sbin/usb_updater"
+
+	if use fuzzer ; then
+		local f
+
+		insinto /usr/libexec/fuzzers
+		exeinto /usr/libexec/fuzzers
+		for f in build/host/*_fuzz/*_fuzz.exe; do
+			local fuzzer="$(basename "${f}")"
+			local custom_owners="${S}/fuzz/${fuzzer%exe}owners"
+			fuzzer="ec_${fuzzer%_fuzz.exe}_fuzzer"
+			newexe "${f}" "${fuzzer}"
+			einfo "CUSTOM OWNERS = '${custom_owners}'"
+			if [[ -f "${custom_owners}" ]]; then
+				newins "${custom_owners}" "${fuzzer}.owners"
+			else
+				newins "${S}/OWNERS" "${fuzzer}.owners"
+			fi
+		done
+	fi
+
+	if ! use cros_host; then
+		exeinto /usr/local/bin
+		doexe "util/ap_ro_hash.py"
+	fi
+
+	if ! use reef; then
+		elog "Not installing Cr50 binaries"
+		return
+	fi
+
+	build_dir="build/cr50"
+	dest_dir='/firmware/cr50'
+	einfo "Installing cr50 from ${build_dir} into ${dest_dir}"
+
+	insinto "${dest_dir}"
+	doins "${build_dir}/ec.bin"
+	doins "${build_dir}/RW/ec.RW.elf"
+	doins "${build_dir}/RW/ec.RW_B.elf"
+
+	install_cr50_signer_aid
+}
+
diff --git a/chromeos-base/chromeos-cr50-dev/chromeos-cr50-dev-9999.ebuild b/chromeos-base/chromeos-cr50-dev/chromeos-cr50-dev-9999.ebuild
index 0650ab0..d012d52 100644
--- a/chromeos-base/chromeos-cr50-dev/chromeos-cr50-dev-9999.ebuild
+++ b/chromeos-base/chromeos-cr50-dev/chromeos-cr50-dev-9999.ebuild
@@ -25,7 +25,7 @@
 	"main"
 )
 
-inherit coreboot-sdk cros-workon toolchain-funcs
+inherit coreboot-sdk cros-workon toolchain-funcs cros-sanitizers
 
 DESCRIPTION="Google Security Chip firmware code"
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/ec/+/refs/heads/cr50_stab"
@@ -156,6 +156,11 @@
 	doins "${S}/util/signer/fuses.xml"
 }
 
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
 src_install() {
 	local build_dir
 	local dest_dir
diff --git a/chromeos-base/chromeos-cr50-scripts/chromeos-cr50-scripts-0.0.1-r79.ebuild b/chromeos-base/chromeos-cr50-scripts/chromeos-cr50-scripts-0.0.1-r92.ebuild
similarity index 100%
rename from chromeos-base/chromeos-cr50-scripts/chromeos-cr50-scripts-0.0.1-r79.ebuild
rename to chromeos-base/chromeos-cr50-scripts/chromeos-cr50-scripts-0.0.1-r92.ebuild
diff --git a/chromeos-base/chromeos-cr50-scripts/chromeos-cr50-scripts-0.0.1.ebuild b/chromeos-base/chromeos-cr50-scripts/chromeos-cr50-scripts-0.0.1.ebuild
index d374667..e61d868 100644
--- a/chromeos-base/chromeos-cr50-scripts/chromeos-cr50-scripts-0.0.1.ebuild
+++ b/chromeos-base/chromeos-cr50-scripts/chromeos-cr50-scripts-0.0.1.ebuild
@@ -10,7 +10,7 @@
 LICENSE="BSD-Google"
 SLOT="0"
 KEYWORDS="*"
-IUSE="generic_tpm2 cr50_disable_sleep_in_suspend"
+IUSE="generic_tpm2 cr50_onboard ti50_onboard cr50_disable_sleep_in_suspend"
 
 RDEPEND="
 	chromeos-base/ec-utils
@@ -50,7 +50,6 @@
 		cr50-disable-sleep.sh
 		cr50-flash-log.sh
 		cr50-get-name.sh
-		cr50-read-board-id.sh
 		cr50-read-rma-sn-bits.sh
 		cr50-reset.sh
 		cr50-set-board-id.sh
@@ -59,6 +58,7 @@
 		cr50-verify-ro.sh
 		tpm2-lock-space.sh
 		tpm2-nv-utils.sh
+		tpm2-read-board-id.sh
 		tpm2-read-space.sh
 		tpm2-write-space.sh
 	)
@@ -71,6 +71,15 @@
 	fi
 	done
 
+	if use ti50_onboard; then
+		f="ti50-constants.sh"
+	elif use cr50_onboard || use generic_tpm2; then
+		f="cr50-constants.sh"
+	else
+		die "Neither GSC nor generic TPM2 is used"
+	fi
+	newexe "${FILESDIR}/${f}" "gsc-constants.sh"
+
 	insinto /opt/google/cr50/ro_db
 	doins "${FILESDIR}"/ro_db/*.db
 }
diff --git a/chromeos-base/chromeos-cr50-scripts/files/cr50-constants.sh b/chromeos-base/chromeos-cr50-scripts/files/cr50-constants.sh
new file mode 100644
index 0000000..b8aed93
--- /dev/null
+++ b/chromeos-base/chromeos-cr50-scripts/files/cr50-constants.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This file defines the functions designated for Cr50 devices. The functions are
+# then used in the shared GSC scripts.
+
+gsc_name() {
+  printf "cr50"
+}
+
+gsc_image_base_name() {
+  printf "/opt/google/cr50/firmware/cr50.bin"
+}
+
+gsc_metrics_prefix() {
+  printf "Platform.Cr50"
+}
+
+gsctool_cmd() {
+  /usr/sbin/gsctool "$@"
+}
diff --git a/chromeos-base/chromeos-cr50-scripts/files/cr50-disable-sleep.sh b/chromeos-base/chromeos-cr50-scripts/files/cr50-disable-sleep.sh
index 4c9065b..48b6b39 100755
--- a/chromeos-base/chromeos-cr50-scripts/files/cr50-disable-sleep.sh
+++ b/chromeos-base/chromeos-cr50-scripts/files/cr50-disable-sleep.sh
@@ -10,8 +10,15 @@
 
 set -eu -o pipefail
 
+finish() {
+  if [[ -v COPROC_PID ]]; then
+    kill "${COPROC_PID}"
+    wait "${COPROC_PID}"
+  fi
+}
+
 # Remove SIGTERM trap to avoid recursion then kill process group
-trap 'trap - SIGTERM && kill -- -$$' SIGTERM EXIT
+trap finish EXIT
 
 script_name="$(basename "$0")"
 
@@ -34,14 +41,17 @@
   local interface='org.chromium.PowerManager'
   local signal='SuspendImminent'
 
+  coproc \
+    /sbin/minijail0 -u nobody -g nobody /usr/bin/dbus-monitor --system \
+      --profile "type='signal',interface='${interface}',member='${signal}'"
+
   logit "Start monitoring dbus for SuspendImminent signal"
-  while read -r line; do
+  while read -r -u "${COPROC[0]}" line; do
     if [ -z "${line##*${signal}*}" ]; then
       logit "SuspendImminent signal received"
       send_disable_deep_sleep_command_to_cr50
     fi
-  done < <(dbus-monitor --system --profile \
-    "type='signal',interface='${interface}',member='${signal}'")
+  done
 }
 
 main() {
diff --git a/chromeos-base/chromeos-cr50-scripts/files/cr50-flash-log.sh b/chromeos-base/chromeos-cr50-scripts/files/cr50-flash-log.sh
index 80582e2..44c8bd1 100755
--- a/chromeos-base/chromeos-cr50-scripts/files/cr50-flash-log.sh
+++ b/chromeos-base/chromeos-cr50-scripts/files/cr50-flash-log.sh
@@ -16,7 +16,6 @@
 TIMESTAMP_FILE_DIR="/mnt/stateful_partition/unencrypted/preserve"
 TIMESTAMP_FILE_BASE="cr50_flog_timestamp"
 TIMESTAMP_FILE="${TIMESTAMP_FILE_DIR}/${TIMESTAMP_FILE_BASE}"
-TOP_PID="$$"
 
 script_name="$(basename "$0")"
 
@@ -31,6 +30,8 @@
   exit 1
 }
 
+. "/usr/share/cros/gsc-constants.sh"
+
 main() {
   local exit_code
   local epoch_secs
@@ -44,7 +45,7 @@
 
   # Set Cr50 flash logger time base.
   epoch_secs="$(date '+%s')"
-  gsctool -a -T "${epoch_secs}" ||
+  gsctool_cmd -a -T "${epoch_secs}" ||
     die "Failed to set Cr50 flash log time base to ${epoch_secs}"
   logit "Set Cr50 flash log base time to ${epoch_secs}"
 
@@ -56,10 +57,11 @@
   # the log event ID.
   #
   # After awk processing below just the header is printed for each line.
-  gsctool -a -M -L "${prev_stamp}" | sed 's/:/ /g' | while read -r entry; do
+  gsctool_cmd -a -M -L "${prev_stamp}" | sed 's/:/ /g' | while read -r entry; do
     local event_id
     local new_stamp
 
+    # shellcheck disable=SC2086
     set -- ${entry}
 
     new_stamp=$1
@@ -76,7 +78,7 @@
       event_id="$(printf "%x" $(( 200 + 0x$3 )))"
     fi
 
-    metrics_client -s "Platform.Cr50.FlashLog" "0x${event_id}"
+    metrics_client -s "$(gsc_metrics_prefix).FlashLog" "0x${event_id}"
     exit_code="$?"
     if [ "${exit_code}" = 0 ]; then
       echo "${new_stamp}" > "${TIMESTAMP_FILE}"
diff --git a/chromeos-base/chromeos-cr50-scripts/files/cr50-get-name.sh b/chromeos-base/chromeos-cr50-scripts/files/cr50-get-name.sh
index 12777bb..d80ad61 100644
--- a/chromeos-base/chromeos-cr50-scripts/files/cr50-get-name.sh
+++ b/chromeos-base/chromeos-cr50-scripts/files/cr50-get-name.sh
@@ -15,10 +15,12 @@
 #
 # The output is the file name of the Cr50 image to use printed to stdout.
 #
+
+. "/usr/share/cros/gsc-constants.sh"
+
 cr50_get_name() {
   local board_flags
   local board_id
-  local cr50_image_base_name="/opt/google/cr50/firmware/cr50.bin"
   local ext="prod"  # Prod is a safer default option.
   local logger_tag="cr50_get_name"
   local updater="$1"
@@ -63,5 +65,5 @@
   logger -t "${logger_tag}" \
     "board_id: '${board_id}' board_flags: '${board_flags}', extension: '${ext}'"
 
-  printf "${cr50_image_base_name}.${ext}"
+  printf "%s.%s" "$(gsc_image_base_name)" "${ext}"
 }
diff --git a/chromeos-base/chromeos-cr50-scripts/files/cr50-metrics.conf b/chromeos-base/chromeos-cr50-scripts/files/cr50-metrics.conf
index 6f5c7fb..0236a90 100644
--- a/chromeos-base/chromeos-cr50-scripts/files/cr50-metrics.conf
+++ b/chromeos-base/chromeos-cr50-scripts/files/cr50-metrics.conf
@@ -15,6 +15,8 @@
 script
   status=0
 
+  . "/usr/share/cros/gsc-constants.sh"
+
   # 'cros_config / brand-code' generates a 4 ASCII symbols RLZ brand code.
   ascii_rlz="$(cros_config / brand-code)" || status="$?"
   if [ "${status}" != 0 ] || [ "${#ascii_rlz}" != 4 ]; then
@@ -25,7 +27,7 @@
 
   # gsctool '-i' option generates output of the following format:
   # Board ID space: <hex bid>:<inverted hex bid>:<hex flags>
-  bid_all="$(gsctool -a -i 2>&1)" || status="$?"
+  bid_all="$(gsctool_cmd -a -i 2>&1)" || status="$?"
   if [ "${status}" != 0 ]; then
     logger -t "${UPSTART_JOB}" \
       "Error: gsctool status $status, output \"${bid_all}\""
@@ -39,15 +41,15 @@
   flags="$(printf "${bid_all}" | awk -F: '{printf "0x"$4}')"
 
   # Always report the Cr50 board id type and flags.
-  metrics_client -s "Platform.Cr50.BoardIdFlags" "${flags}"
-  metrics_client -s "Platform.Cr50.BoardIdType" "${bid}"
+  metrics_client -s "$(gsc_metrics_prefix).BoardIdFlags" "${flags}"
+  metrics_client -s "$(gsc_metrics_prefix).BoardIdType" "${bid}"
 
   if [ "${bid}" != "${rlz}" ]; then
     # Misprogrammed Board ID/RLZ
-    metrics_client -s "Platform.Cr50.BoardIdOfRlzMismatch" "${bid}"
-    metrics_client -s "Platform.Cr50.RlzOfBoardIdMismatch" "${rlz}"
+    metrics_client -s "$(gsc_metrics_prefix).BoardIdOfRlzMismatch" "${bid}"
+    metrics_client -s "$(gsc_metrics_prefix).RlzOfBoardIdMismatch" "${rlz}"
   else
-    metrics_client -s "Platform.Cr50.MatchingBoardId" "${bid}"
+    metrics_client -s "$(gsc_metrics_prefix).MatchingBoardId" "${bid}"
   fi
 
   # Run the script to set up flash log time base and collect recent log
diff --git a/chromeos-base/chromeos-cr50-scripts/files/cr50-reset.sh b/chromeos-base/chromeos-cr50-scripts/files/cr50-reset.sh
index ca2894c..4341004 100755
--- a/chromeos-base/chromeos-cr50-scripts/files/cr50-reset.sh
+++ b/chromeos-base/chromeos-cr50-scripts/files/cr50-reset.sh
@@ -15,19 +15,24 @@
 # - Time in seconds to delay before generating another qrcode.
 RETRY_DELAY=10
 
+. "/usr/share/cros/gsc-constants.sh"
+
 gbb_force_dev_mode() {
   # Disable SW WP and set GBB_FLAG_FORCE_DEV_SWITCH_ON (0x8) to force boot in
   # developer mode after RMA reset.
   flashrom -p host --wp-disable --wp-range 0,0 > /dev/null 2>&1
-  local flags="$(/usr/share/vboot/bin/get_gbb_flags.sh 2>/dev/null \
+  local flags;
+  flags="$(/usr/share/vboot/bin/get_gbb_flags.sh 2>/dev/null \
     | awk '/Chrome OS GBB set flags:/ {print $NF}')"
-  local new_flags="$(printf '0x%x' "$(( ${flags} | 0x8 ))")"
+  local new_flags;
+  new_flags="$(printf '0x%x' "$(( flags | 0x8 ))")"
   /usr/share/vboot/bin/set_gbb_flags.sh "${new_flags}" > /dev/null 2>&1
 }
 
 cr50_reset() {
   # Make sure frecon is running.
-  local frecon_pid="$(cat /run/frecon/pid)"
+  local frecon_pid;
+  frecon_pid="$(cat /run/frecon/pid)"
 
   # This is the path to the pre-chroot filesystem. Since frecon is started
   # before the chroot, all files that frecon accesses must be copied to
@@ -52,10 +57,12 @@
   fi
 
   # Get HWID and replace whitespace with underscore.
-  local hwid="$(crossystem hwid 2>/dev/null | sed -e 's/ /_/g')"
+  local hwid;
+  hwid="$(crossystem hwid 2>/dev/null | sed -e 's/ /_/g')"
 
   # Get challenge string and remove "Challenge:".
-  local ch="$(gsctool -t -r | sed -e 's/.*://g')"
+  local ch;
+  ch="$(gsctool_cmd -t -r | sed -e 's/.*://g')"
 
   # Test if we have a challenge.
   if [ -z "${ch}" ]; then
@@ -84,20 +91,19 @@
 
   local n=0
   local ac
-  local status
-  while [ ${n} -lt ${MAX_RETRIES} ]; do
+  while [ "${n}" -lt "${MAX_RETRIES}" ]; do
     # Read authorization code. Show input in uppercase letters.
     echo
     printf "Enter authorization code: "
     stty olcuc
-    read -e ac
+    read -r -e ac
     stty -olcuc
 
     # The input string is still lowercase. Convert to uppercase.
-    ac_uppercase="$(echo "${ac}" | tr 'a-z' 'A-Z')"
+    ac_uppercase="$(echo "${ac}" | tr '[:lower:]' '[:upper:]')"
 
     # Test authorization code.
-    if gsctool -t -r "${ac_uppercase}"; then
+    if gsctool_cmd -t -r "${ac_uppercase}"; then
       # Force the next boot to be in developer mode so that we can boot to
       # RMA shim again.
       echo "The system will reboot shortly."
@@ -113,10 +119,10 @@
     echo
 
     : $(( n += 1 ))
-    if [ ${n} -eq ${MAX_RETRIES} ]; then
+    if [ "${n}" -eq "${MAX_RETRIES}" ]; then
       echo "Number of retries exceeded. Another qrcode will generate in 10s."
       local m=0
-      while [ ${m} -lt ${RETRY_DELAY} ]; do
+      while [ "${m}" -lt "${RETRY_DELAY}" ]; do
         printf "."
         sleep 1
         : $(( m += 1 ))
@@ -127,8 +133,7 @@
 }
 
 main() {
-  cr50_reset
-  if [ $? -ne 0 ]; then
+  if ! cr50_reset; then
     echo "Cr50 Reset Error."
   fi
 }
diff --git a/chromeos-base/chromeos-cr50-scripts/files/cr50-set-board-id.sh b/chromeos-base/chromeos-cr50-scripts/files/cr50-set-board-id.sh
index e4b6ad8..4456351 100755
--- a/chromeos-base/chromeos-cr50-scripts/files/cr50-set-board-id.sh
+++ b/chromeos-base/chromeos-cr50-scripts/files/cr50-set-board-id.sh
@@ -8,8 +8,7 @@
 
 PLATFORM_INDEX=false
 
-UPDATER="/usr/sbin/gsctool"
-BOARD_ID_NVRAM_READER="/usr/share/cros/cr50-read-board-id.sh"
+GENERIC_BOARD_ID_NVRAM_READER="/usr/share/cros/tpm2-read-board-id.sh"
 TPM_WRITESPACE="/usr/share/cros/tpm2-write-space.sh"
 TPM_LOCKSPACE="/usr/share/cros/tpm2-lock-space.sh"
 
@@ -19,6 +18,8 @@
 ERR_ALREADY_SET_DIFFERENT=3
 ERR_DEVICE_STATE=4
 
+. "/usr/share/cros/gsc-constants.sh"
+
 die_as() {
   local exit_value="$1"
   shift
@@ -35,19 +36,32 @@
 }
 
 hex_eq() {
-  [ $(printf '%d' "$1") = $(printf '%d' "$2") ]
+  [ "$(printf '%d' "$1")" = "$(printf '%d' "$2")" ]
 }
 
 cr50_check_board_id_and_flag() {
-  local new_board_id="$(char_to_hex $1)"
+  local new_board_id;
+  new_board_id="$(char_to_hex "$1")"
   local new_flag="$2"
+  local bid_cmd
 
-  # Note that it is supposed to output the same data layout as `gsctool -a -i`.
+  # Choose to use gsctool or generic tpm2 commands based on PLATFORM_INDEX.
+  # It's false for gsc devices and true for generic tpm2 devices.
+  # The same check is used below to choose between
+  # cr50_set_board_id_and_flag and generic_tpm2_set_board_id
+  if [ "${PLATFORM_INDEX}" = false ]; then
+    bid_cmd="gsctool_cmd -a -i"
+  else
+    # Note that it is supposed to output the same data layout as
+    # 'gsctool -a -i'.
+    bid_cmd="${GENERIC_BOARD_ID_NVRAM_READER}"
+  fi
+
+  local exit_status=0
   local output
-  output="$("${BOARD_ID_NVRAM_READER}")"
-  local status="$?"
-  if [ "${status}" != 0 ]; then
-    die "Failed to read board id."
+  output="$(${bid_cmd})" || exit_status="$?"
+  if [ "${exit_status}" != "0" ]; then
+    die "Failed to execute \"${bid_cmd}\", return code ${exit_status}"
   fi
 
   # Parse the output. E.g., 5a5a4146:a5a5beb9:0000ff00
@@ -85,8 +99,7 @@
   local flag="$2"
 
   local updater_arg="${board_id}:${flag}"
-  "${UPDATER}" -a -i "${updater_arg}" 2>&1
-  if [ $? != 0 ]; then
+  if ! gsctool_cmd -a -i "${updater_arg}" 2>&1; then
     die "Failed to update with ${updater_arg}"
   fi
 }
@@ -180,7 +193,7 @@
   local rw_version
   local target
 
-  output="$("${UPDATER}" -a -f -M 2>&1)" || exit_status="$?"
+  output="$(gsctool_cmd -a -f -M 2>&1)" || exit_status="$?"
   if [ "${exit_status}" != "0" ]; then
     die "Failed to get the version."
   fi
@@ -224,6 +237,7 @@
 }
 
 main() {
+  local exit_status=0
   local phase=""
   local rlz=""
 
@@ -255,14 +269,18 @@
       # on these old images would blow the board id type in addition to the
       # flags, and prevent setting the RLZ later. Exit here if the image doesn't
       # support partial board id.
-      check_cr50_support "0.3.24" "0.4.24" "partial board id"
+      if [ "$(gsc_name)" = "cr50" ]; then
+        check_cr50_support "0.3.24" "0.4.24" "partial board id"
+      fi
 
       rlz="0xffffffff"
       flag="0x3f80"
       ;;
     "whitelabel_dev_flags")
       # See "whitelabel_pvt_flags" for more details.
-      check_cr50_support "0.3.24" "0.4.24" "partial board id"
+      if [ "$(gsc_name)" = "cr50" ]; then
+        check_cr50_support "0.3.24" "0.4.24" "partial board id"
+      fi
 
       rlz="0xffffffff"
       # Per discussion in b/179626571
@@ -294,8 +312,8 @@
   # To provision board ID, we use RLZ brand code which is a four letter code
   # (see full list on go/crosrlz) from cros_config.
   if [ -z "${rlz}" ] ; then
-    rlz="$(cros_config / brand-code)"
-    if [ $? != 0 ]; then
+    rlz="$(cros_config / brand-code)" || exit_status="$?"
+    if [ "${exit_status}" != "0" ]; then
       die "cros_config returned non-zero."
     fi
   fi
diff --git a/chromeos-base/chromeos-cr50-scripts/files/cr50-set-sn-bits.sh b/chromeos-base/chromeos-cr50-scripts/files/cr50-set-sn-bits.sh
index 3cddda0..8291d25 100755
--- a/chromeos-base/chromeos-cr50-scripts/files/cr50-set-sn-bits.sh
+++ b/chromeos-base/chromeos-cr50-scripts/files/cr50-set-sn-bits.sh
@@ -10,7 +10,6 @@
 
 READ_RMA_SN_BITS="/usr/share/cros/cr50-read-rma-sn-bits.sh"
 READ_BOARD_ID_BITS="/usr/share/cros/cr50-read-board-id.sh"
-GSCTOOL="/usr/sbin/gsctool"
 TPM_WRITESPACE="/usr/share/cros/tpm2-write-space.sh"
 TPM_LOCKSPACE="/usr/share/cros/tpm2-lock-space.sh"
 
@@ -20,6 +19,8 @@
 ERR_ALREADY_SET_DIFFERENT=3
 ERR_MISSING_VPD_KEY=4
 
+. "/usr/share/cros/gsc-constants.sh"
+
 die_as() {
   local exit_value="$1"
   shift
@@ -79,8 +80,8 @@
   fi
 
   local output
-  if ! output="$("${GSCTOOL}" -a -i)"; then
-    die "Failed to execute ${GSCTOOL} -a -i"
+  if ! output="$(gsctool_cmd -a -i)"; then
+    die "Failed to execute gsctool_cmd -a -i"
   fi
 
   # Parse the output. E.g., 5a5a4146:a5a5beb9:0000ff00
@@ -155,7 +156,7 @@
   if [ "${PLATFORM_INDEX}" = true ]; then
     generic_tpm2_set_sn_bits "${sn_bits}"
   else
-    "${GSCTOOL}" -a -S "${sn_bits}" 2>&1
+    gsctool_cmd -a -S "${sn_bits}" 2>&1
   fi
   local status=$?
   if [ "${status}" -ne 0 ]; then
diff --git a/chromeos-base/chromeos-cr50-scripts/files/cr50-update.conf b/chromeos-base/chromeos-cr50-scripts/files/cr50-update.conf
index 5f691c0..130034b 100644
--- a/chromeos-base/chromeos-cr50-scripts/files/cr50-update.conf
+++ b/chromeos-base/chromeos-cr50-scripts/files/cr50-update.conf
@@ -25,6 +25,8 @@
 description     "Chromium OS startup file for cr50 firmware updater"
 author          "chromium-os-dev@chromium.org"
 
+oom score -100
+
 # Starts on boot-services by exception, since it triggers a long chain of
 # dependant tpm-related daemons that need to start early. Normally services
 # should start on 'starting system-services'.
@@ -46,6 +48,7 @@
   fi
 
   . /usr/share/cros/cr50-get-name.sh
+  . /usr/share/cros/gsc-constants.sh
 
   CROSSYSTEM="/usr/bin/crossystem"
   STATE_DIR="/var/cache"
@@ -67,7 +70,7 @@
 
   VERSIONF="${STATE_DIR}/cr50-version"
 
-  CR50_IMAGE="$(cr50_get_name "${UPDATER} -s")"
+  CR50_IMAGE="$(cr50_get_name "gsctool_cmd -a")"
 
   if [ ! -f "${CR50_IMAGE}" ]; then
     logit "${CR50_IMAGE} not found"
@@ -76,18 +79,21 @@
 
   # Write the current CCD state to a log file so that it can be included
   # in feedback reports.
-  "${UPDATER}" -s -I >"${STATE_DIR}/cr50-ccd" 2>&1
+  gsctool_cmd -a -I >"${STATE_DIR}/cr50-ccd" 2>&1
 
   # To keep track of the state of the update process across reboots let's keep
   # a counter of boot attempts for the current cr50 image
   logit "hashing ${CR50_IMAGE}"
+  # Try to print the version information. It'll print nothing if the command
+  # fails.
+  logit "ver:" $(gsctool_cmd -b "${CR50_IMAGE}" | tail +2)
 
   # File to keep state of the update process.
   STATEF="${STATE_DIR}/cr50.$(cat "${CR50_IMAGE}" | md5sum | cut -c-10).state"
 
   if [ ! -f "${STATEF}" ]; then
     # Must be a new image, get rid of the old state files.
-    rm -f "${STATE_DIR}"/cr50.*.state
+    rm -f "${STATE_DIR}"/cr50.*.state # croslint: disable
     logit "creating new state ${STATEF}"
     echo "0" > "${STATEF}"
   else
@@ -134,9 +140,8 @@
   #   present, or the bit is not set - the cr50 is dev signed.
 
 
-  # Let's always go over /dev/tpm0 here, it won't take long.
   exit_status=0
-  output="$("${UPDATER}" -s -f 2>&1)" || exit_status="$?"
+  output="$("gsctool_cmd" -a -f 2>&1)" || exit_status="$?"
   if [ "${exit_status}" = "0" ]; then
     logit "version retrieved: ${output}"
   else
@@ -155,11 +160,11 @@
   # that it does not reboot immediately after an update, but waits for the AP
   # to reset the system. When processing the next reset the Cr50 reboots to
   # pick up the new image.
-  usb_update_options="-s -u"
+  usb_update_options="-a -u"
 
-  logit "Will run ${UPDATER} ${usb_update_options} ${CR50_IMAGE}"
+  logit "Will run gsctool_cmd ${usb_update_options} ${CR50_IMAGE}"
   exit_status=0
-  output=$("${UPDATER}" ${usb_update_options} "${CR50_IMAGE}" 2>&1) || \
+  output="$(gsctool_cmd ${usb_update_options} "${CR50_IMAGE}" 2>&1)" || \
     exit_status="$?"
 
   if [ "${exit_status}" = "0" ]; then
diff --git a/chromeos-base/chromeos-cr50-scripts/files/cr50-update.sh b/chromeos-base/chromeos-cr50-scripts/files/cr50-update.sh
index d432645..63d4244 100755
--- a/chromeos-base/chromeos-cr50-scripts/files/cr50-update.sh
+++ b/chromeos-base/chromeos-cr50-scripts/files/cr50-update.sh
@@ -13,11 +13,9 @@
 script_dir="$(dirname "$0")"
 pid="$$"
 
+. "/usr/share/cros/gsc-constants.sh"
 . "${script_dir}/cr50-get-name.sh"
 
-# The mount point of the new image is passed in as the first parameter.
-root="$1"
-
 logit() {
   # TODO(vbendeb): use proper logger invocation once logger is fixed.
   logger -t "${script_name}" --id="${pid}" -- "$@"
@@ -25,17 +23,13 @@
 
 logit "Starting"
 
-GSCTOOL="/usr/sbin/gsctool"
 # Let's determine the best way to communicate with the Cr50.
-if "${GSCTOOL}" -f > /dev/null 2>&1; then
-  logit "Will use USB interface"
-  UPDATER="${GSCTOOL}"
-elif "${GSCTOOL}" -f -s > /dev/null 2>&1; then
+if gsctool_cmd -f -s > /dev/null 2>&1; then
   logit "Will use /dev/tpm0"
-  UPDATER="${GSCTOOL} -s"
-elif "${GSCTOOL}" -f -t > /dev/null 2>&1; then
+  UPDATER="gsctool_cmd -s"
+elif gsctool_cmd -f -t > /dev/null 2>&1; then
   logit "Will use trunks_send"
-  UPDATER="${GSCTOOL} -t"
+  UPDATER="gsctool_cmd -t"
 else
   logit "Could not communicate with Cr50"
   exit 1
diff --git a/chromeos-base/chromeos-cr50-scripts/files/cr50-verify-ro.sh b/chromeos-base/chromeos-cr50-scripts/files/cr50-verify-ro.sh
index cc16fea..5a36212 100755
--- a/chromeos-base/chromeos-cr50-scripts/files/cr50-verify-ro.sh
+++ b/chromeos-base/chromeos-cr50-scripts/files/cr50-verify-ro.sh
@@ -14,7 +14,7 @@
 # necessary. After that this script invokes gsctool to perform actual RO
 # verification.
 
-GSCTOOL="/usr/sbin/gsctool"
+. "/usr/share/cros/gsc-constants.sh"
 
 # Remember pid of the top level script to be able to terminate it from
 # subprocesses.
@@ -48,19 +48,19 @@
   local flags
   local xor
 
-  IFS=' ' flags=( $("${GSCTOOL}" -i |
+  IFS=' ' read -r -a flags <<< "$(gsctool_cmd -i |
     awk -F':' '
       /Board ID space: / {
         sub(" ", "", $2);
         print "0x"$2" 0x"$3" 0x"$4
-      }') )
+      }')"
 
   if [[ "${#flags[@]}" != 3 ]]; then
     die "Wrong format of chip flags: ${flags[*]}"
   fi
 
   # verify that board ID is intact
-  xor=$(( ( ${flags[0]} ^ ~${flags[1]} ) & 0xffffffff ))
+  xor=$(( ( flags[0] ^ ~flags[1] ) & 0xffffffff ))
   if [[ ${xor} != 0 ]]; then
     die "Invalid chip board ID value bid ${flags[0]}, ~bid ${flags[1]}"
   fi
@@ -77,7 +77,7 @@
 #
 
 get_chip_rlz_value() {
-  ${GSCTOOL} -i -M | grep BID_RLZ | sed -e 's/BID_RLZ=//g;'
+  gsctool_cmd -i -M | grep BID_RLZ | sed -e 's/BID_RLZ=//g;'
 }
 
 # Retrieve Cr50 binary's board ID and flags values.
@@ -97,12 +97,12 @@
   local image="${1}"
   local flags
 
-  IFS=':' flags=( $("${GSCTOOL}" -b "${image}" |
+  IFS=':' read -r -a flags <<< "$(gsctool_cmd -b "${image}" |
      awk '{
        if (match($0, /\[[^\]]+\]/)) {
          print substr($0, RSTART + 1, RLENGTH - 2)
        }
-     }') )
+     }')"
 
   if [[ "${#flags[@]}" != 3 ]]; then
     die "Wrong format of image flags: ${flags[*]}"
@@ -110,7 +110,7 @@
 
   if [[ "${#flags[0]}" == 4 ]]; then
     # Convert ASCII board name into hex.
-    flags[0]="$(printf "${flags[0]}" | hexdump -v -e '/1 "%02X"')"
+    flags[0]="$(printf "%s" "${flags[0]}" | hexdump -v -e '/1 "%02X"')"
   fi
   echo "${flags[@]/#/0x}"
 }
@@ -128,15 +128,15 @@
 
   image_file="$1"
 
-  # Retreive board ID header fields of the image file.
-  IFS=' ' image_values=( $(get_image_bid_values "${image_file}" ) )
+  # Retrieve board ID header fields of the image file.
+  IFS=' ' read -r -a image_values <<< "$(get_image_bid_values "${image_file}" )"
 
   image_bid="${image_values[0]}"
   image_mask="${image_values[1]}"
   image_flags="${image_values[2]}"
 
   # Retrieve board ID fields of the H1 on the DUT.
-  chip_values=( $(get_chip_bid_values) )
+  read -r -a chip_values <<< "$(get_chip_bid_values)"
 
   chip_bid="${chip_values[0]}"
   chip_flags="${chip_values[1]}"
@@ -154,7 +154,7 @@
     die "Image flags ${image_flags} incompatible with chip flags ${chip_flags}"
   fi
 
-  ${GSCTOOL} "${image_file}"
+  gsctool_cmd "${image_file}"
 }
 
 # Convert string version representation into ordinal number.
@@ -166,19 +166,19 @@
 # Where each field is a number. This function verifies the format and prints a
 # single number which is calculated as
 #
-# (epoch * 16 + major) * 16 + minor
+# (epoch * 256 + major) * 256 + minor
 version_to_ord() {
   local version="$1"
   local split_version
   local scale=256
 
-  if ! echo "${version}" | grep -qE "^([0-9]+\.){2}[0-9]+" ; then
+  if ! echo -n "${version}" | grep -qzE "^([0-9]+\.){2}[0-9]+$" ; then
     die "Wrong version string format: ${version}"
+  else
+    IFS='.' read -r -a split_version <<< "${version}"
+    echo "$(( (split_version[0] * scale + split_version[1]) * scale
+        + split_version[2] ))"
   fi
-
-  IFS='.' split_version=( ${version} )
-  echo "$(( (split_version[0] * scale + split_version[1]) * scale
-      + split_version[2] ))"
 }
 
 # Compare two version strings and return 0 (i.e. 'success' in bash terms) if
@@ -215,7 +215,7 @@
 
   # Retrieve Cr50 version running on the DUT. Reported in 'gsctool -f' output
   # as RW <epoch>.<major>.<minor>
-  dut_rw_version="$(${GSCTOOL} -f | awk '/^RW / {print $2}')"
+  dut_rw_version="$(gsctool_cmd -f | awk '/^RW / {print $2}')"
   if [[ -z "${dut_rw_version}" ]]; then
     die "Failed to retrieve DUT Cr50 version. Is DUT connected?"\
         "You may need to flip suzy-q cable if DUT is already attached."
@@ -228,7 +228,7 @@
   #
   # RW_A and RW_B versions are expected to match for the purposes of this
   # script.
-  image_rw_version="$(${GSCTOOL} -b "${new_image}" | awk '
+  image_rw_version="$(gsctool_cmd -b "${new_image}" | awk '
     /^RO_A/ {
       match($2, /:.*\[/);
       print substr($2, RSTART + 1, RLENGTH - 2)
@@ -242,17 +242,17 @@
     echo "Waiting for the DUT to restart"
     sleep 5 # Let it reboot.
     echo "Verifying that update succeeded"
-    dut_rw_version="$(${GSCTOOL} -f | awk '/^RW / {print $2}')"
+    dut_rw_version="$(gsctool_cmd -f | awk '/^RW / {print $2}')"
     if update_needed "${dut_rw_version}" "${image_rw_version}"; then
       die "Failed to update DUT to version ${image_rw_version}"
     fi
   fi
 
   # Retrieve board RLZ
-  rlz=( $(get_chip_rlz_value) )
+  rlz="$(get_chip_rlz_value)"
 
   # Run RO verification and report results.
-  if ${GSCTOOL} -O "${ro_descriptions}/verify_ro_${rlz}.db"; then
+  if gsctool_cmd -O "${ro_descriptions}/verify_ro_${rlz}.db"; then
     echo "${V_BOLD_GREEN}Hash verification succeeded${V_VIDOFF}"
     exit 0
   else
diff --git a/chromeos-base/chromeos-cr50-scripts/files/ti50-constants.sh b/chromeos-base/chromeos-cr50-scripts/files/ti50-constants.sh
new file mode 100644
index 0000000..e45c238
--- /dev/null
+++ b/chromeos-base/chromeos-cr50-scripts/files/ti50-constants.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This file defines the functions designated for Ti50 devices. The functions are
+# then used in the shared GSC scripts.
+
+gsc_name() {
+  printf "ti50"
+}
+
+gsc_image_base_name() {
+  printf "/opt/google/ti50/firmware/ti50.bin"
+}
+
+gsc_metrics_prefix() {
+  printf "Platform.Ti50"
+}
+
+gsctool_cmd() {
+  /usr/sbin/gsctool -D "$@"
+}
diff --git a/chromeos-base/chromeos-cr50-scripts/files/cr50-read-board-id.sh b/chromeos-base/chromeos-cr50-scripts/files/tpm2-read-board-id.sh
similarity index 100%
rename from chromeos-base/chromeos-cr50-scripts/files/cr50-read-board-id.sh
rename to chromeos-base/chromeos-cr50-scripts/files/tpm2-read-board-id.sh
diff --git a/chromeos-base/chromeos-cr50/Manifest b/chromeos-base/chromeos-cr50/Manifest
index ea610a8..b7014bb 100644
--- a/chromeos-base/chromeos-cr50/Manifest
+++ b/chromeos-base/chromeos-cr50/Manifest
@@ -1,2 +1,2 @@
-DIST cr50.r0.0.11.w0.5.93.tbz2 208255 BLAKE2B c044ddb005f72ad905ca7bc2070002d6fd6e2a64b2052529d7db02b206bce14582b61c93ca8a66eaee762a9da14a63d2f4eef4c5c00e54280901f21bb3e27f7a SHA512 320bacd5274653c4c39f756372e142e87212d2ab3ee316512855ef7f8e517c3044680785a6f42fed702d19a06e70b216e8371b892e480ccd2460a57946415cad
-DIST cr50.r0.0.11.w0.6.93_FFFF_00000000_00000010.tbz2 208247 BLAKE2B c4c607479ac4289f8fa4f1b52c37ed511c9ee227aa95eddb10b544ecb4943963f80b7ff6611ba01aad65a2ef6fcd1f6ef61411ba0b88c83e2dba364c0ee2d256 SHA512 ef48a6781662b35d165840e2eca2ca9bf1f60b8540ce0421534652ee44f8493c5a6937f44e6f7a7561ebb38cd0bb807f289297f1293fcb13414f6a134a7dfbd1
+DIST cr50.r0.0.11.w0.5.120.tbz2 209115 BLAKE2B c24aff7a58d28c44762a5027a255d7c519c9afcd490f89be0ecea5c4406cea48647caa3493cb72aa77b13e8b6352a8946bbf18474fc249c3ad54c342fb81d2fc SHA512 3ac9bc2af722ed517e3c427b1c4942ad981bd746aadc5c19e449a97dd3fdb18c5b5e1dc3275cbbc0f165ca13899971fb2cbc8af7a8233ba0050e2493430c1cd3
+DIST cr50.r0.0.11.w0.6.120_FFFF_00000000_00000010.tbz2 209360 BLAKE2B ed3b9a8e7143bdcef594ed2349ecbd45744a876cb1c78a6193fc18400c6c2fea5121e71c58b18ff818f897a92161dedab99faf3f46f61b8438b5ced52df17cb8 SHA512 20f9f890506aa62a51b48bdf8db46395ab9d4c52ec3d5705409703ef397b704c1c9f477bd8f0b1ee4290bc75d68bf0a84281d181c4a00432ef8f16e00c346c8e
diff --git a/chromeos-base/chromeos-cr50/chromeos-cr50-0.0.1-r1016.ebuild b/chromeos-base/chromeos-cr50/chromeos-cr50-0.0.1-r1025.ebuild
similarity index 100%
rename from chromeos-base/chromeos-cr50/chromeos-cr50-0.0.1-r1016.ebuild
rename to chromeos-base/chromeos-cr50/chromeos-cr50-0.0.1-r1025.ebuild
diff --git a/chromeos-base/chromeos-cr50/chromeos-cr50-0.0.1.ebuild b/chromeos-base/chromeos-cr50/chromeos-cr50-0.0.1.ebuild
index ff6cb9a..c23a971 100644
--- a/chromeos-base/chromeos-cr50/chromeos-cr50-0.0.1.ebuild
+++ b/chromeos-base/chromeos-cr50/chromeos-cr50-0.0.1.ebuild
@@ -8,17 +8,18 @@
 LICENSE="BSD-Google"
 SLOT="0"
 KEYWORDS="*"
+IUSE="cros_host"
 
 RDEPEND="chromeos-base/chromeos-cr50-dev
-	chromeos-base/chromeos-cr50-scripts"
+	!cros_host? ( chromeos-base/chromeos-cr50-scripts )"
 
 # There are two major types of images of Cr50, prod (used on most MP devices)
 # and pre-pvt, used on devices still not fully released.
 #
 # Some boards can be using their custom Cr50 images, for those board the image
 # name is overridden in the board's overlay chromeos-cr50 ebuild.
-PROD_IMAGE="cr50.r0.0.11.w0.5.93"
-PRE_PVT_IMAGE="cr50.r0.0.11.w0.6.93_FFFF_00000000_00000010"
+PROD_IMAGE="cr50.r0.0.11.w0.5.120"
+PRE_PVT_IMAGE="cr50.r0.0.11.w0.6.120_FFFF_00000000_00000010"
 
 # Let's make sure that both are pulled in and included in the manifest.
 CR50_BASE_NAMES=( "${PROD_IMAGE}" "${PRE_PVT_IMAGE}" )
diff --git a/chromeos-base/chromeos-dbus-bindings/chromeos-dbus-bindings-0.0.1-r2724.ebuild b/chromeos-base/chromeos-dbus-bindings/chromeos-dbus-bindings-0.0.1-r2724.ebuild
deleted file mode 100644
index 9028adb..0000000
--- a/chromeos-base/chromeos-dbus-bindings/chromeos-dbus-bindings-0.0.1-r2724.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-CROS_WORKON_COMMIT="da9f7231d7dd7f2f80b01f90fa1b62df4bac374b"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "6aa5fab60458b8bc2670f2776eb8f35061c01dfc" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk chromeos-dbus-bindings .gn"
-
-PLATFORM_SUBDIR="${PN}"
-PLATFORM_NATIVE_TEST="yes"
-
-inherit cros-workon platform
-
-DESCRIPTION="Utility for building Chrome D-Bus bindings from an XML description"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-dbus-bindings"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="
-	dev-libs/expat
-	sys-apps/dbus"
-DEPEND="${RDEPEND}"
-
-src_install() {
-	dobin "${OUT}"/generate-chromeos-dbus-bindings
-
-	local fuzzer_component_id="931982"
-	platform_fuzzer_install "${S}"/OWNERS \
-			"${OUT}"/chromeos_dbus_bindings_signature_fuzzer \
-			--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/chromeos_dbus_bindings_unittest"
-}
diff --git a/chromeos-base/chromeos-dbus-bindings/chromeos-dbus-bindings-0.0.1-r2771.ebuild b/chromeos-base/chromeos-dbus-bindings/chromeos-dbus-bindings-0.0.1-r2771.ebuild
new file mode 100644
index 0000000..59883b0
--- /dev/null
+++ b/chromeos-base/chromeos-dbus-bindings/chromeos-dbus-bindings-0.0.1-r2771.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+CROS_WORKON_COMMIT="b493dd5021f363e786ae38e91cf1aacac4be09cd"
+CROS_WORKON_TREE="f8f2bb698a2b96ec55bcd7e564b813aea6e1c7b5"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="chromeos-dbus-bindings"
+
+inherit cros-go cros-workon
+
+DESCRIPTION="Utility for building Chrome D-Bus bindings from an XML description"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-dbus-bindings"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+CROS_GO_BINARIES=(
+	"go.chromium.org/chromiumos/dbusbindings/cmd/generator:/usr/bin/go-generate-chromeos-dbus-bindings"
+)
+CROS_GO_TEST=(
+	"go.chromium.org/chromiumos/dbusbindings/..."
+)
+CROS_GO_VET=(
+	"${CROS_GO_TEST[@]}"
+)
+
+RDEPEND="dev-go/cmp"
+DEPEND="${RDEPEND}"
+
+src_unpack() {
+	cros-workon_src_unpack
+	CROS_GO_WORKSPACE="${S}/chromeos-dbus-bindings/go"
+}
diff --git a/chromeos-base/chromeos-dbus-bindings/chromeos-dbus-bindings-9999.ebuild b/chromeos-base/chromeos-dbus-bindings/chromeos-dbus-bindings-9999.ebuild
index 3eebb99..ff2c73b 100644
--- a/chromeos-base/chromeos-dbus-bindings/chromeos-dbus-bindings-9999.ebuild
+++ b/chromeos-base/chromeos-dbus-bindings/chromeos-dbus-bindings-9999.ebuild
@@ -7,35 +7,32 @@
 CROS_WORKON_LOCALNAME="platform2"
 CROS_WORKON_PROJECT="chromiumos/platform2"
 CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk chromeos-dbus-bindings .gn"
+CROS_WORKON_SUBTREE="chromeos-dbus-bindings"
 
-PLATFORM_SUBDIR="${PN}"
-PLATFORM_NATIVE_TEST="yes"
-
-inherit cros-workon platform
+inherit cros-go cros-workon
 
 DESCRIPTION="Utility for building Chrome D-Bus bindings from an XML description"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-dbus-bindings"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-dbus-bindings"
 
 LICENSE="BSD-Google"
 SLOT="0"
 KEYWORDS="~*"
 IUSE=""
 
-RDEPEND="
-	dev-libs/expat
-	sys-apps/dbus"
+CROS_GO_BINARIES=(
+	"go.chromium.org/chromiumos/dbusbindings/cmd/generator:/usr/bin/go-generate-chromeos-dbus-bindings"
+)
+CROS_GO_TEST=(
+	"go.chromium.org/chromiumos/dbusbindings/..."
+)
+CROS_GO_VET=(
+	"${CROS_GO_TEST[@]}"
+)
+
+RDEPEND="dev-go/cmp"
 DEPEND="${RDEPEND}"
 
-src_install() {
-	dobin "${OUT}"/generate-chromeos-dbus-bindings
-
-	local fuzzer_component_id="931982"
-	platform_fuzzer_install "${S}"/OWNERS \
-			"${OUT}"/chromeos_dbus_bindings_signature_fuzzer \
-			--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/chromeos_dbus_bindings_unittest"
+src_unpack() {
+	cros-workon_src_unpack
+	CROS_GO_WORKSPACE="${S}/chromeos-dbus-bindings/go"
 }
diff --git a/chromeos-base/chromeos-dbus-bindings/files/revision_bump b/chromeos-base/chromeos-dbus-bindings/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/chromeos-dbus-bindings/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/chromeos-ec-headers/chromeos-ec-headers-0.0.1-r7576.ebuild b/chromeos-base/chromeos-ec-headers/chromeos-ec-headers-0.0.1-r7576.ebuild
deleted file mode 100644
index 9ba5a30..0000000
--- a/chromeos-base/chromeos-ec-headers/chromeos-ec-headers-0.0.1-r7576.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("48813eba426326f9ee4a5b5f5e45310fe7597a70" "bba90682d743dd6947751dcfd50871525c2224a2")
-CROS_WORKON_TREE=("6ac0be6aa6885a6a72d008c64e4e07882535efe0" "bc3dd60d00cdabff1bbcb0ff8e017ac39a1ed6a1")
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform/ec"
-	"chromiumos/platform/ec"
-)
-CROS_WORKON_LOCALNAME=(
-	"platform/ec"
-	"platform/cr50"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}/platform/ec"
-	"${S}/platform/cr50"
-)
-CROS_WORKON_EGIT_BRANCH=(
-	"master"
-	"cr50_stab"
-)
-
-CROS_WORKON_INCREMENTAL_BUILD=1
-
-inherit cros-workon
-
-DESCRIPTION="Exported headers from the embedded controller codebase."
-HOMEPAGE="https://www.chromium.org/chromium-os/ec-development"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-DEPEND=""
-
-# No configuration or compilation necessary. This is a header only package.
-src_configure() { :; }
-src_compile() { :; }
-
-src_install() {
-	dir_ec=${CROS_WORKON_DESTDIR[0]}
-	dir_cr50=${CROS_WORKON_DESTDIR[1]}
-
-	insinto /usr/include/trunks/cr50_headers/
-	doins "${dir_cr50}"/include/pinweaver_types.h
-	doins "${dir_cr50}"/include/u2f.h
-	doins "${dir_cr50}"/board/cr50/tpm2/virtual_nvmem.h
-	insinto /usr/include/chromeos/ec/
-	doins "${dir_ec}"/include/ec_commands.h
-	doins "${dir_ec}"/util/cros_ec_dev.h
-}
diff --git a/chromeos-base/chromeos-ec-headers/chromeos-ec-headers-0.0.1-r9195.ebuild b/chromeos-base/chromeos-ec-headers/chromeos-ec-headers-0.0.1-r9195.ebuild
new file mode 100644
index 0000000..acaf1f2
--- /dev/null
+++ b/chromeos-base/chromeos-ec-headers/chromeos-ec-headers-0.0.1-r9195.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("d84b01e8075947e37272c041ce4bbeb905babffd" "caf0666a392c3601ec79e324d52187e17abbae61")
+CROS_WORKON_TREE=("8748ce26af15d46e1651525a4e299e4f3b46cb72" "3160ba00fb2574cb4a584b5da95c782200a542e1")
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform/ec"
+	"chromiumos/platform/ec"
+)
+CROS_WORKON_LOCALNAME=(
+	"platform/ec"
+	"platform/cr50"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}/platform/ec"
+	"${S}/platform/cr50"
+)
+CROS_WORKON_EGIT_BRANCH=(
+	"main"
+	"cr50_stab"
+)
+
+CROS_WORKON_INCREMENTAL_BUILD=1
+
+inherit cros-workon
+
+DESCRIPTION="Exported headers from the embedded controller codebase."
+HOMEPAGE="https://www.chromium.org/chromium-os/ec-development"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND=""
+DEPEND=""
+
+# No configuration or compilation necessary. This is a header only package.
+src_configure() { :; }
+src_compile() { :; }
+
+src_install() {
+	dir_ec=${CROS_WORKON_DESTDIR[0]}
+	dir_cr50=${CROS_WORKON_DESTDIR[1]}
+
+	insinto /usr/include/trunks/cr50_headers/
+	doins "${dir_cr50}"/include/pinweaver_types.h
+	doins "${dir_cr50}"/include/u2f.h
+	doins "${dir_cr50}"/board/cr50/tpm2/virtual_nvmem.h
+	insinto /usr/include/chromeos/ec/
+	doins "${dir_ec}"/include/ec_commands.h
+	doins "${dir_ec}"/util/cros_ec_dev.h
+}
diff --git a/chromeos-base/chromeos-ec-headers/chromeos-ec-headers-9999.ebuild b/chromeos-base/chromeos-ec-headers/chromeos-ec-headers-9999.ebuild
index 8cc857b..7b5ff23 100644
--- a/chromeos-base/chromeos-ec-headers/chromeos-ec-headers-9999.ebuild
+++ b/chromeos-base/chromeos-ec-headers/chromeos-ec-headers-9999.ebuild
@@ -17,7 +17,7 @@
 	"${S}/platform/cr50"
 )
 CROS_WORKON_EGIT_BRANCH=(
-	"master"
+	"main"
 	"cr50_stab"
 )
 
diff --git a/chromeos-base/chromeos-ec/chromeos-ec-0.0.2-r12165.ebuild b/chromeos-base/chromeos-ec/chromeos-ec-0.0.2-r12165.ebuild
deleted file mode 100644
index 4936676..0000000
--- a/chromeos-base/chromeos-ec/chromeos-ec-0.0.2-r12165.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright (C) 2012 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE.makefile file.
-
-# A note about this ebuild: this ebuild is Unified Build enabled but
-# not in the way in which most other ebuilds with Unified Build
-# knowledge are: the primary use for this ebuild is for engineer-local
-# work or firmware builder work. In both cases, the build might be
-# happening on a branch in which only one of many of the models are
-# available to build. The logic in this ebuild succeeds so long as one
-# of the many models successfully builds.
-
-# Increment the "eclass bug workaround count" below when you change
-# "cros-ec.eclass" to work around http://crbug.com/220902.
-#
-# eclass bug workaround count: 3
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("48813eba426326f9ee4a5b5f5e45310fe7597a70" "92221d4688ed01cc361f01d650b82bf7e28078b2")
-CROS_WORKON_TREE=("6ac0be6aa6885a6a72d008c64e4e07882535efe0" "2aeca3cffd0e69db866b5623819ecd5bf8db1232")
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform/ec"
-	"chromiumos/third_party/cryptoc"
-)
-CROS_WORKON_LOCALNAME=(
-	"platform/ec"
-	"third_party/cryptoc"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}/platform/ec"
-	"${S}/third_party/cryptoc"
-)
-
-inherit cros-ec cros-workon
-
-# Make sure config tools use the latest schema.
-BDEPEND=">=chromeos-base/chromeos-config-host-0.0.2"
-
-MIRROR_PATH="gs://chromeos-localmirror/distfiles/"
-DESCRIPTION="Embedded Controller firmware code"
-KEYWORDS="*"
-
-# Restrict strip because chromeos-ec package installs unstrippable firmware.
-RESTRICT="strip"
diff --git a/chromeos-base/chromeos-ec/chromeos-ec-0.0.2-r13758.ebuild b/chromeos-base/chromeos-ec/chromeos-ec-0.0.2-r13758.ebuild
new file mode 100644
index 0000000..8f6d7fe
--- /dev/null
+++ b/chromeos-base/chromeos-ec/chromeos-ec-0.0.2-r13758.ebuild
@@ -0,0 +1,45 @@
+# Copyright (C) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE.makefile file.
+
+# A note about this ebuild: this ebuild is Unified Build enabled but
+# not in the way in which most other ebuilds with Unified Build
+# knowledge are: the primary use for this ebuild is for engineer-local
+# work or firmware builder work. In both cases, the build might be
+# happening on a branch in which only one of many of the models are
+# available to build. The logic in this ebuild succeeds so long as one
+# of the many models successfully builds.
+
+# Increment the "eclass bug workaround count" below when you change
+# "cros-ec.eclass" to work around http://crbug.com/220902.
+#
+# eclass bug workaround count: 3
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("d84b01e8075947e37272c041ce4bbeb905babffd" "11a97df4133f905bbdf9ddb48b5d56d617ec949b")
+CROS_WORKON_TREE=("8748ce26af15d46e1651525a4e299e4f3b46cb72" "cafc71cae4ef6b3e7e64648b257b3f0ca2300e1d")
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform/ec"
+	"chromiumos/third_party/cryptoc"
+)
+CROS_WORKON_LOCALNAME=(
+	"platform/ec"
+	"third_party/cryptoc"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}/platform/ec"
+	"${S}/third_party/cryptoc"
+)
+
+inherit cros-ec cros-workon
+
+# Make sure config tools use the latest schema.
+BDEPEND=">=chromeos-base/chromeos-config-host-0.0.2"
+
+MIRROR_PATH="gs://chromeos-localmirror/distfiles/"
+DESCRIPTION="Embedded Controller firmware code"
+KEYWORDS="*"
+
+# Restrict strip because chromeos-ec package installs unstrippable firmware.
+RESTRICT="strip"
diff --git a/chromeos-base/chromeos-firewall-init/OWNERS b/chromeos-base/chromeos-firewall-init/OWNERS
new file mode 100644
index 0000000..b830d86
--- /dev/null
+++ b/chromeos-base/chromeos-firewall-init/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/patchpanel/OWNERS
diff --git a/chromeos-base/chromeos-firmware-null/chromeos-firmware-null-0.0.3-r168.ebuild b/chromeos-base/chromeos-firmware-null/chromeos-firmware-null-0.0.3-r168.ebuild
deleted file mode 100644
index b6682b0..0000000
--- a/chromeos-base/chromeos-firmware-null/chromeos-firmware-null-0.0.3-r168.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="9d333350199258e8de1ca877062c8c7e96d3310d"
-CROS_WORKON_TREE="a60750688361ddeadb27f402e186c3302cecc552"
-CROS_WORKON_LOCALNAME="platform/firmware"
-CROS_WORKON_PROJECT="chromiumos/platform/firmware"
-
-inherit cros-workon cros-firmware
-
-DESCRIPTION="Chrome OS Firmware (Template - change to board name)"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/firmware/"
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND=""
-
-### FIRMWARE IMAGES ###
-# Specify the firmware images to update. You can use file path or URLs (in
-# ebuild SRC_URI syntax). Most projects will use Binary Component Server (BCS)
-# links. To do that, archive only the image file as a tbz2 and upload to CPFE
-# web site (http://www.google.com/chromeos/partner/fe/) with relative path
-# chromeos-base/chromeos-firmware-${BOARD}. Then you can refer to the file as
-# "bcs://filename.tbz2".
-#
-# MAIN_IMAGE controls AP RO firmware (also RW if MAIN_RW_IMAGE is empty).
-# MAIN_RW_IMAGE controls AP RW firmware when you need different RO & RW.
-# EC_IMAGE controls EC RO firmware (RW will be synced from MAIN_[RW_]IMAGE).
-# For more details, read
-# https://chromium.googlesource.com/chromiumos/platform/firmware/+/master/README.md
-#
-# When you modify any image files below, please also update manifest file:
-#  (chroot) ebuild chromeos-firmware-${BOARD}-9999.ebuild manifest
-CROS_FIRMWARE_MAIN_IMAGE=""
-CROS_FIRMWARE_MAIN_RW_IMAGE=""
-CROS_FIRMWARE_EC_IMAGE=""
-
-### EXTRA FILES ###
-# ${FILESDIR}/extra will be automatically merged into updater package.
-# ${FILESDIR}/sbin will be automatically installed to /usr/sbin on rootfs.
-# Put board customization (updater_custom.sh) in ${FILESDIR}/extra.
-# If you need more files, define a CROS_FIRMWARE_EXTRA_LIST with the file names
-# and directory names to include, delimited by semicolon.
-
-cros-firmware_setup_source
-
-# Remove/Adapt script below here when using the template.
-src_unpack() {
-	einfo "Dummy implementation to replace cros-firmware.eclass"
-	cros-workon_src_unpack
-}
-
-src_compile() {
-	einfo "Dummy implementation to replace cros-firmware.eclass"
-}
-
-src_install() {
-	einfo "Dummy implementation to replace cros-firmware.eclass"
-}
diff --git a/chromeos-base/chromeos-firmware-null/chromeos-firmware-null-0.0.3-r175.ebuild b/chromeos-base/chromeos-firmware-null/chromeos-firmware-null-0.0.3-r175.ebuild
new file mode 100644
index 0000000..08becb8
--- /dev/null
+++ b/chromeos-base/chromeos-firmware-null/chromeos-firmware-null-0.0.3-r175.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="fc8caeb7b5c6f623afa3b6d4667c37c8b269807d"
+CROS_WORKON_TREE="721e80b4539e93692a985ab973ed288394f146c1"
+CROS_WORKON_LOCALNAME="platform/firmware"
+CROS_WORKON_PROJECT="chromiumos/platform/firmware"
+
+inherit cros-workon cros-firmware
+
+DESCRIPTION="Chrome OS Firmware (Template - change to board name)"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/firmware/"
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND=""
+
+### FIRMWARE IMAGES ###
+# Specify the firmware images to update. You can use file path or URLs (in
+# ebuild SRC_URI syntax). Most projects will use Binary Component Server (BCS)
+# links. To do that, archive only the image file as a tbz2 and upload to CPFE
+# web site (http://www.google.com/chromeos/partner/fe/) with relative path
+# chromeos-base/chromeos-firmware-${BOARD}. Then you can refer to the file as
+# "bcs://filename.tbz2".
+#
+# MAIN_IMAGE controls AP RO firmware (also RW if MAIN_RW_IMAGE is empty).
+# MAIN_RW_IMAGE controls AP RW firmware when you need different RO & RW.
+# EC_IMAGE controls EC RO firmware (RW will be synced from MAIN_[RW_]IMAGE).
+# For more details, read
+# https://chromium.googlesource.com/chromiumos/platform/firmware/+/master/README.md
+#
+# When you modify any image files below, please also update manifest file:
+#  (chroot) ebuild chromeos-firmware-${BOARD}-9999.ebuild manifest
+CROS_FIRMWARE_MAIN_IMAGE=""
+CROS_FIRMWARE_MAIN_RW_IMAGE=""
+CROS_FIRMWARE_EC_IMAGE=""
+
+### EXTRA FILES ###
+# ${FILESDIR}/extra will be automatically merged into updater package.
+# ${FILESDIR}/sbin will be automatically installed to /usr/sbin on rootfs.
+# Put board customization (updater_custom.sh) in ${FILESDIR}/extra.
+# If you need more files, define a CROS_FIRMWARE_EXTRA_LIST with the file names
+# and directory names to include, delimited by semicolon.
+
+cros-firmware_setup_source
+
+# Remove/Adapt script below here when using the template.
+src_unpack() {
+	einfo "Dummy implementation to replace cros-firmware.eclass"
+	cros-workon_src_unpack
+}
+
+src_compile() {
+	einfo "Dummy implementation to replace cros-firmware.eclass"
+}
+
+src_install() {
+	einfo "Dummy implementation to replace cros-firmware.eclass"
+}
diff --git a/chromeos-base/chromeos-fonts/chromeos-fonts-0.0.1-r49.ebuild b/chromeos-base/chromeos-fonts/chromeos-fonts-0.0.1-r52.ebuild
similarity index 100%
rename from chromeos-base/chromeos-fonts/chromeos-fonts-0.0.1-r49.ebuild
rename to chromeos-base/chromeos-fonts/chromeos-fonts-0.0.1-r52.ebuild
diff --git a/chromeos-base/chromeos-fonts/chromeos-fonts-0.0.1.ebuild b/chromeos-base/chromeos-fonts/chromeos-fonts-0.0.1.ebuild
index 90e83d0..303eca7 100644
--- a/chromeos-base/chromeos-fonts/chromeos-fonts-0.0.1.ebuild
+++ b/chromeos-base/chromeos-fonts/chromeos-fonts-0.0.1.ebuild
@@ -11,7 +11,7 @@
 LICENSE="GPL-2"
 SLOT="0"
 KEYWORDS="*"
-IUSE="cros_host internal"
+IUSE="cros_host extra_japanese_fonts internal"
 
 # List of font packages used in Chromium OS.  This list is separate
 # so that it can be shared between the host in
@@ -44,6 +44,10 @@
 	media-libs/fontconfig:=
 	!cros_host? ( sys-libs/gcc-libs:= )
 	cros_host? ( sys-libs/glibc:= )
+	extra_japanese_fonts? (
+		media-fonts/ipaex
+		media-fonts/morisawa-ud-fonts
+	)
 	"
 RDEPEND="${DEPEND}"
 
@@ -122,10 +126,11 @@
 #                   installed as a binpkg. Remove this section once fontconfig
 #                   no longer uses these .uuid files.
 pkg_setup() {
-	local fontdir fontdirs=( $(cd "${SYSROOT}"/usr/share/fonts; echo */) )
-	for fontdir in "${fontdirs[@]}"; do
-		uuidgen --sha1 -n @dns -N "$(usev cros_host)${fontdir}" > \
-			"${SYSROOT}"/usr/share/fonts/"${fontdir}"/.uuid
+	local fontdir fontname
+	for fontdir in "${SYSROOT}"/usr/share/fonts/*/; do
+		fontname=$(basename "${fontdir}")
+		uuidgen --sha1 -n @dns -N "$(usev cros_host)${fontname}" > \
+			"${fontdir}"/.uuid || die
 	done
 }
 
@@ -137,9 +142,11 @@
 	insinto /usr/share/cache/fontconfig
 	doins "${WORKDIR}"/out/*
 
-	local fontdir fontdirs=( $(cd "${SYSROOT}"/usr/share/fonts; echo */) )
-	for fontdir in "${fontdirs[@]}"; do
-		insinto "/usr/share/fonts/${fontdir}"
-		uuidgen --sha1 -n @dns -N "$(usev cros_host)${fontdir}" | newins - .uuid
+	local fontdir fontname
+	for fontdir in "${SYSROOT}"/usr/share/fonts/*/; do
+		fontname=$(basename "${fontdir}")
+		insinto "/usr/share/fonts/${fontname}"
+		(uuidgen --sha1 -n @dns -N "$(usev cros_host)${fontname}" || die) | \
+			newins - .uuid
 	done
 }
diff --git a/chromeos-base/chromeos-fpmcu-unittests/chromeos-fpmcu-unittests-0.0.1-r4022.ebuild b/chromeos-base/chromeos-fpmcu-unittests/chromeos-fpmcu-unittests-0.0.1-r4022.ebuild
deleted file mode 100644
index 42e51d0..0000000
--- a/chromeos-base/chromeos-fpmcu-unittests/chromeos-fpmcu-unittests-0.0.1-r4022.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE.makefile file.
-
-# Increment the "eclass bug workaround count" below when you change
-# "cros-ec.eclass" to work around http://crbug.com/220902.
-#
-# eclass bug workaround count: 2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("48813eba426326f9ee4a5b5f5e45310fe7597a70" "92221d4688ed01cc361f01d650b82bf7e28078b2")
-CROS_WORKON_TREE=("6ac0be6aa6885a6a72d008c64e4e07882535efe0" "2aeca3cffd0e69db866b5623819ecd5bf8db1232")
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform/ec"
-	"chromiumos/third_party/cryptoc"
-)
-CROS_WORKON_LOCALNAME=(
-	"platform/ec"
-	"third_party/cryptoc"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}/platform/ec"
-	"${S}/third_party/cryptoc"
-)
-
-inherit coreboot-sdk cros-ec cros-workon
-
-DESCRIPTION="ChromeOS fingerprint MCU unittest binaries"
-KEYWORDS="*"
-
-# Make sure config tools use the latest schema.
-BDEPEND=">=chromeos-base/chromeos-config-host-0.0.2"
-
-get_target_boards() {
-	# TODO(yichengli): Add other FPMCUs once the test lab has them.
-	EC_BOARDS=("bloonchipper")
-}
-
-src_compile() {
-	cros-ec_set_build_env
-	get_target_boards
-
-	# TODO(yichengli): Add other FPMCU boards once the test lab has them.
-	# NOTE: Any changes here must also be reflected in
-	# platform/ec/firmware_builder.py which is used for the ec cq
-	local target
-	einfo "Building FPMCU unittest binary for targets: ${EC_BOARDS[*]}"
-	for target in "${EC_BOARDS[@]}"; do
-		emake CROSS_COMPILE="${COREBOOT_SDK_PREFIX_arm}" BOARD="${target}" \
-			"${EC_OPTS[@]}" clean
-		emake CROSS_COMPILE="${COREBOOT_SDK_PREFIX_arm}" BOARD="${target}" \
-			"${EC_OPTS[@]}" tests
-	done
-}
-
-src_install() {
-	local target
-	for target in "${EC_BOARDS[@]}"; do
-		insinto /firmware/chromeos-fpmcu-unittests/"${target}"
-		doins build/"${target}"/*.bin
-	done
-}
-
-# Do not run cros-ec's tests.
-src_test() {
-	:
-}
diff --git a/chromeos-base/chromeos-fpmcu-unittests/chromeos-fpmcu-unittests-0.0.1-r5616.ebuild b/chromeos-base/chromeos-fpmcu-unittests/chromeos-fpmcu-unittests-0.0.1-r5616.ebuild
new file mode 100644
index 0000000..be37201
--- /dev/null
+++ b/chromeos-base/chromeos-fpmcu-unittests/chromeos-fpmcu-unittests-0.0.1-r5616.ebuild
@@ -0,0 +1,73 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE.makefile file.
+
+# Increment the "eclass bug workaround count" below when you change
+# "cros-ec.eclass" to work around http://crbug.com/220902.
+#
+# eclass bug workaround count: 2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("d84b01e8075947e37272c041ce4bbeb905babffd" "11a97df4133f905bbdf9ddb48b5d56d617ec949b")
+CROS_WORKON_TREE=("8748ce26af15d46e1651525a4e299e4f3b46cb72" "cafc71cae4ef6b3e7e64648b257b3f0ca2300e1d")
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform/ec"
+	"chromiumos/third_party/cryptoc"
+)
+CROS_WORKON_LOCALNAME=(
+	"platform/ec"
+	"third_party/cryptoc"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}/platform/ec"
+	"${S}/third_party/cryptoc"
+)
+
+inherit coreboot-sdk cros-ec cros-workon cros-sanitizers
+
+DESCRIPTION="ChromeOS fingerprint MCU unittest binaries"
+KEYWORDS="*"
+
+# Make sure config tools use the latest schema.
+BDEPEND=">=chromeos-base/chromeos-config-host-0.0.2"
+
+get_target_boards() {
+	# TODO(yichengli): Add other FPMCUs once the test lab has them.
+	EC_BOARDS=("bloonchipper")
+}
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
+src_compile() {
+	cros-ec_set_build_env
+	get_target_boards
+
+	# TODO(yichengli): Add other FPMCU boards once the test lab has them.
+	# NOTE: Any changes here must also be reflected in
+	# platform/ec/firmware_builder.py which is used for the ec cq
+	local target
+	einfo "Building FPMCU unittest binary for targets: ${EC_BOARDS[*]}"
+	for target in "${EC_BOARDS[@]}"; do
+		emake CROSS_COMPILE="${COREBOOT_SDK_PREFIX_arm}" BOARD="${target}" \
+			"${EC_OPTS[@]}" clean
+		emake CROSS_COMPILE="${COREBOOT_SDK_PREFIX_arm}" BOARD="${target}" \
+			"${EC_OPTS[@]}" tests
+	done
+}
+
+src_install() {
+	local target
+	for target in "${EC_BOARDS[@]}"; do
+		insinto /firmware/chromeos-fpmcu-unittests/"${target}"
+		doins build/"${target}"/*.bin
+	done
+}
+
+# Do not run cros-ec's tests.
+src_test() {
+	:
+}
diff --git a/chromeos-base/chromeos-fpmcu-unittests/chromeos-fpmcu-unittests-9999.ebuild b/chromeos-base/chromeos-fpmcu-unittests/chromeos-fpmcu-unittests-9999.ebuild
index 94263f0..b651db5 100644
--- a/chromeos-base/chromeos-fpmcu-unittests/chromeos-fpmcu-unittests-9999.ebuild
+++ b/chromeos-base/chromeos-fpmcu-unittests/chromeos-fpmcu-unittests-9999.ebuild
@@ -22,7 +22,7 @@
 	"${S}/third_party/cryptoc"
 )
 
-inherit coreboot-sdk cros-ec cros-workon
+inherit coreboot-sdk cros-ec cros-workon cros-sanitizers
 
 DESCRIPTION="ChromeOS fingerprint MCU unittest binaries"
 KEYWORDS="~*"
@@ -35,6 +35,11 @@
 	EC_BOARDS=("bloonchipper")
 }
 
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
 src_compile() {
 	cros-ec_set_build_env
 	get_target_boards
diff --git a/chromeos-base/chromeos-imageburner/chromeos-imageburner-0.0.1-r3192.ebuild b/chromeos-base/chromeos-imageburner/chromeos-imageburner-0.0.1-r3192.ebuild
deleted file mode 100644
index 19045b1..0000000
--- a/chromeos-base/chromeos-imageburner/chromeos-imageburner-0.0.1-r3192.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "3f549951f59cf658c62f70f4e1a93a61ebb06f64" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk image-burner .gn"
-
-PLATFORM_NATIVE_TEST="yes"
-PLATFORM_SUBDIR="image-burner"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Image-burning service for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/image-burner/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE="user_session_isolation"
-
-RDEPEND="
-	sys-apps/rootdev
-"
-DEPEND="${RDEPEND}
-	chromeos-base/system_api
-"
-
-pkg_preinst() {
-	# Create user and group for image-burner.
-	enewuser "image-burner"
-	enewgroup "image-burner"
-}
-
-src_install() {
-	platform_install
-
-	# TODO(crbug/766130): Remove the following sed block when non-root mount
-	# namespace is by default enabled.
-	# Remove the env var value related to mount namespace if USE flag
-	# user_session_isolation is not present.
-	if ! use user_session_isolation; then
-		sed -i -e "/env MNT_NS_ARGS=/s:=.*:=:" \
-			"${D}"/etc/init/image-burner.conf || die
-	fi
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/chromeos-imageburner/chromeos-imageburner-0.0.1-r3253.ebuild b/chromeos-base/chromeos-imageburner/chromeos-imageburner-0.0.1-r3253.ebuild
new file mode 100644
index 0000000..ff95b5d
--- /dev/null
+++ b/chromeos-base/chromeos-imageburner/chromeos-imageburner-0.0.1-r3253.ebuild
@@ -0,0 +1,54 @@
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "7de555b069d818f590b242435b6c4ec9630b8ead" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk image-burner .gn"
+
+PLATFORM_NATIVE_TEST="yes"
+PLATFORM_SUBDIR="image-burner"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Image-burning service for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/image-burner/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="user_session_isolation"
+
+RDEPEND="
+	sys-apps/rootdev
+"
+DEPEND="${RDEPEND}
+	chromeos-base/system_api
+"
+
+pkg_preinst() {
+	# Create user and group for image-burner.
+	enewuser "image-burner"
+	enewgroup "image-burner"
+}
+
+src_install() {
+	platform_install
+
+	# TODO(crbug/766130): Remove the following sed block when non-root mount
+	# namespace is by default enabled.
+	# Remove the env var value related to mount namespace if USE flag
+	# user_session_isolation is not present.
+	if ! use user_session_isolation; then
+		sed -i -e "/env MNT_NS_ARGS=/s:=.*:=:" \
+			"${D}"/etc/init/image-burner.conf || die
+	fi
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/chromeos-imageburner/chromeos-imageburner-9999.ebuild b/chromeos-base/chromeos-imageburner/chromeos-imageburner-9999.ebuild
index 51efff1..18b51b4 100644
--- a/chromeos-base/chromeos-imageburner/chromeos-imageburner-9999.ebuild
+++ b/chromeos-base/chromeos-imageburner/chromeos-imageburner-9999.ebuild
@@ -13,7 +13,7 @@
 inherit cros-workon platform user
 
 DESCRIPTION="Image-burning service for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/image-burner/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/image-burner/"
 SRC_URI=""
 
 LICENSE="BSD-Google"
diff --git a/chromeos-base/chromeos-imageburner/files/revision_bump b/chromeos-base/chromeos-imageburner/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/chromeos-imageburner/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/chromeos-init/OWNERS b/chromeos-base/chromeos-init/OWNERS
new file mode 100644
index 0000000..853fbbb
--- /dev/null
+++ b/chromeos-base/chromeos-init/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/init/OWNERS
diff --git a/chromeos-base/chromeos-init/chromeos-init-0.0.25-r4441.ebuild b/chromeos-base/chromeos-init/chromeos-init-0.0.25-r4441.ebuild
deleted file mode 100644
index 5d994c34..0000000
--- a/chromeos-base/chromeos-init/chromeos-init-0.0.25-r4441.ebuild
+++ /dev/null
@@ -1,239 +0,0 @@
-# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "28119455ecaa9c8afca0e45a700be020be9f70a7" "4a0dedab080195bdc122d2289118df4af3ddca2c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-# TODO(crbug.com/809389): Avoid #include-ing platform2 headers directly.
-CROS_WORKON_SUBTREE="common-mk init metrics .gn"
-
-PLATFORM_NATIVE_TEST="yes"
-PLATFORM_SUBDIR="init"
-
-inherit tmpfiles cros-workon platform user
-
-DESCRIPTION="Upstart init scripts for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/init/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="
-	arcpp arcvm cros_embedded direncryption +encrypted_stateful
-	+encrypted_reboot_vault frecon fsverity lvm_stateful_partition
-	+oobe_config prjquota -s3halt +syslog systemd tpm2 +udev vivid vtconsole"
-
-# secure-erase-file, vboot_reference, and rootdev are needed for clobber-state.
-# re2 is needed for process_killer.
-COMMON_DEPEND="
-	chromeos-base/bootstat:=
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/secure-erase-file:=
-	chromeos-base/vboot_reference:=
-	dev-libs/re2:=
-	sys-apps/rootdev:=
-"
-
-DEPEND="${COMMON_DEPEND}
-	test? (
-		sys-process/psmisc
-		dev-util/shflags
-		dev-util/shunit2
-		sys-apps/diffutils
-	)
-"
-
-RDEPEND="${COMMON_DEPEND}
-	app-arch/tar
-	app-misc/jq
-	!chromeos-base/chromeos-disableecho
-	chromeos-base/chromeos-common-script
-	chromeos-base/tty
-	oobe_config? ( chromeos-base/oobe_config )
-	sys-apps/upstart
-	!systemd? ( sys-apps/systemd-tmpfiles )
-	sys-process/lsof
-	virtual/chromeos-bootcomplete
-	!cros_embedded? (
-		chromeos-base/common-assets
-		chromeos-base/chromeos-storage-info
-		chromeos-base/swap-init
-		sys-fs/e2fsprogs
-	)
-	frecon? (
-		sys-apps/frecon
-	)
-"
-
-platform_pkg_test() {
-	local shell_tests=(
-		killers_unittest
-		tests/chromeos-disk-metrics-test.sh
-		tests/send-kernel-errors-test.sh
-	)
-
-	local test_bin
-	for test_bin in "${shell_tests[@]}"; do
-		platform_test "run" "./${test_bin}"
-	done
-
-	local cpp_tests=(
-		clobber_state_test
-		file_attrs_cleaner_test
-		periodic_scheduler_test
-		process_killer_test
-		usermode-helper_test
-		utils_test
-	)
-
-	for test_bin in "${cpp_tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-}
-
-src_install_upstart() {
-	insinto /etc/init
-
-	if use cros_embedded; then
-		doins upstart/startup.conf
-		dotmpfiles tmpfiles.d/chromeos.conf
-		doins upstart/embedded-init/boot-services.conf
-
-		doins upstart/report-boot-complete.conf
-		doins upstart/failsafe-delay.conf upstart/failsafe.conf
-		doins upstart/pre-shutdown.conf upstart/pre-startup.conf
-		doins upstart/pstore.conf upstart/reboot.conf
-		doins upstart/system-services.conf
-		doins upstart/uinput.conf
-		doins upstart/sysrq-init.conf
-
-		if use syslog; then
-			doins upstart/collect-early-logs.conf
-			doins upstart/log-rotate.conf upstart/syslog.conf
-			dotmpfiles tmpfiles.d/syslog.conf
-		fi
-		if use !systemd; then
-			doins upstart/cgroups.conf
-			doins upstart/dbus.conf
-			dotmpfiles tmpfiles.d/dbus.conf
-			if use udev; then
-				doins upstart/udev*.conf
-			fi
-		fi
-		if use frecon; then
-			doins upstart/boot-splash.conf
-		fi
-	else
-		doins upstart/*.conf
-		dotmpfiles tmpfiles.d/*.conf
-
-		if ! use arcpp && use arcvm; then
-			sed -i '/^env IS_ARCVM=/s:=0:=1:' \
-				"${D}/etc/init/rt-limits.conf" || \
-				die "Failed to replace is_arcvm in rt-limits.conf"
-		fi
-
-		dosbin chromeos-disk-metrics
-		dosbin chromeos-send-kernel-errors
-		dosbin display_low_battery_alert
-	fi
-
-	if use s3halt; then
-		newins upstart/halt/s3halt.conf halt.conf
-	else
-		doins upstart/halt/halt.conf
-	fi
-
-	if use vivid; then
-		doins upstart/vivid/vivid.conf
-	fi
-
-	use vtconsole && doins upstart/vtconsole/*.conf
-}
-
-src_install() {
-	# Install helper to run periodic tasks.
-	dobin "${OUT}"/periodic_scheduler
-	dobin "${OUT}"/process_killer
-
-	if use syslog; then
-		# Install log cleaning script and run it daily.
-		dosbin chromeos-cleanup-logs
-
-		insinto /etc
-		doins rsyslog.chromeos
-	fi
-
-	insinto /usr/share/cros
-	doins *_utils.sh
-
-	exeinto /usr/share/cros/init
-	doexe is_feature_enabled.sh
-
-	into /	# We want /sbin, not /usr/sbin, etc.
-
-	# Install various utility files.
-	dosbin killers
-
-	# Install various helper programs.
-	dosbin "${OUT}"/cros_sysrq_init
-	dosbin "${OUT}"/static_node_tool
-	dosbin "${OUT}"/net_poll_tool
-	dosbin "${OUT}"/file_attrs_cleaner_tool
-	dosbin "${OUT}"/usermode-helper
-
-	# Install startup/shutdown scripts.
-	dosbin "${OUT}"/chromeos_startup
-	dosbin chromeos_startup.sh
-	dosbin chromeos_shutdown
-
-	# Disable encrypted reboot vault if it is not used.
-	if ! use encrypted_reboot_vault; then
-		sed -i '/USE_ENCRYPTED_REBOOT_VAULT=/s:=1:=0:' \
-			"${D}/sbin/chromeos_startup.sh" ||
-			die "Failed to replace USE_ENCRYPTED_REBOOT_VAULT in chromeos_startup"
-	fi
-
-	# Enable lvm stateful partition.
-	if use lvm_stateful_partition; then
-		sed -i '/USE_LVM_STATEFUL_PARTITION=/s:=0:=1:' \
-			"${D}/sbin/chromeos_startup.sh" ||
-			die "Failed to replace USE_LVM_STATEFUL_PARTITION in chromeos_startup"
-	fi
-
-	dosbin "${OUT}"/clobber-state
-
-	dosbin clobber-log
-	dosbin chromeos-boot-alert
-
-	# Install Upstart scripts.
-	src_install_upstart
-
-	insinto /usr/share/cros
-	doins $(usex encrypted_stateful encrypted_stateful \
-		unencrypted_stateful)/startup_utils.sh
-
-	# Install LVM conf files.
-	insinto /etc/lvm
-	doins lvm.conf
-}
-
-pkg_preinst() {
-	# Add the syslog user
-	enewuser syslog
-	enewgroup syslog
-
-	# Create debugfs-access user and group, which is needed by the
-	# chromeos_startup script to mount /sys/kernel/debug.  This is needed
-	# by bootstat and ureadahead.
-	enewuser "debugfs-access"
-	enewgroup "debugfs-access"
-
-	# Create pstore-access group.
-	enewgroup pstore-access
-}
diff --git a/chromeos-base/chromeos-init/chromeos-init-0.0.25-r4582.ebuild b/chromeos-base/chromeos-init/chromeos-init-0.0.25-r4582.ebuild
new file mode 100644
index 0000000..ea1e692
--- /dev/null
+++ b/chromeos-base/chromeos-init/chromeos-init-0.0.25-r4582.ebuild
@@ -0,0 +1,239 @@
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "9f635b4066a77f92e74cc7d80516960224bdf700" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+# TODO(crbug.com/809389): Avoid #include-ing platform2 headers directly.
+CROS_WORKON_SUBTREE="common-mk init metrics .gn"
+
+PLATFORM_NATIVE_TEST="yes"
+PLATFORM_SUBDIR="init"
+
+inherit tmpfiles cros-workon platform user
+
+DESCRIPTION="Upstart init scripts for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/init/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="
+	arcpp arcvm cros_embedded direncryption +encrypted_stateful
+	+encrypted_reboot_vault frecon fsverity lvm_stateful_partition
+	+oobe_config prjquota -s3halt +syslog systemd tpm2 +udev vivid vtconsole"
+
+# secure-erase-file, vboot_reference, and rootdev are needed for clobber-state.
+# re2 is needed for process_killer.
+COMMON_DEPEND="
+	chromeos-base/bootstat:=
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/secure-erase-file:=
+	chromeos-base/vboot_reference:=
+	dev-libs/re2:=
+	sys-apps/rootdev:=
+"
+
+DEPEND="${COMMON_DEPEND}
+	test? (
+		sys-process/psmisc
+		dev-util/shflags
+		dev-util/shunit2
+		sys-apps/diffutils
+	)
+"
+
+RDEPEND="${COMMON_DEPEND}
+	app-arch/tar
+	app-misc/jq
+	!chromeos-base/chromeos-disableecho
+	chromeos-base/chromeos-common-script
+	chromeos-base/tty
+	oobe_config? ( chromeos-base/oobe_config )
+	sys-apps/upstart
+	!systemd? ( sys-apps/systemd-tmpfiles )
+	sys-process/lsof
+	virtual/chromeos-bootcomplete
+	!cros_embedded? (
+		chromeos-base/common-assets
+		chromeos-base/chromeos-storage-info
+		chromeos-base/swap-init
+		sys-fs/e2fsprogs
+	)
+	frecon? (
+		sys-apps/frecon
+	)
+"
+
+platform_pkg_test() {
+	local shell_tests=(
+		killers_unittest
+		tests/chromeos-disk-metrics-test.sh
+		tests/send-kernel-errors-test.sh
+	)
+
+	local test_bin
+	for test_bin in "${shell_tests[@]}"; do
+		platform_test "run" "./${test_bin}"
+	done
+
+	local cpp_tests=(
+		clobber_state_test
+		file_attrs_cleaner_test
+		periodic_scheduler_test
+		process_killer_test
+		usermode-helper_test
+		utils_test
+	)
+
+	for test_bin in "${cpp_tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+}
+
+src_install_upstart() {
+	insinto /etc/init
+
+	if use cros_embedded; then
+		doins upstart/startup.conf
+		dotmpfiles tmpfiles.d/chromeos.conf
+		doins upstart/embedded-init/boot-services.conf
+
+		doins upstart/report-boot-complete.conf
+		doins upstart/failsafe-delay.conf upstart/failsafe.conf
+		doins upstart/pre-shutdown.conf upstart/pre-startup.conf
+		doins upstart/pstore.conf upstart/reboot.conf
+		doins upstart/system-services.conf
+		doins upstart/uinput.conf
+		doins upstart/sysrq-init.conf
+
+		if use syslog; then
+			doins upstart/collect-early-logs.conf
+			doins upstart/log-rotate.conf upstart/syslog.conf
+			dotmpfiles tmpfiles.d/syslog.conf
+		fi
+		if use !systemd; then
+			doins upstart/cgroups.conf
+			doins upstart/dbus.conf
+			dotmpfiles tmpfiles.d/dbus.conf
+			if use udev; then
+				doins upstart/udev*.conf
+			fi
+		fi
+		if use frecon; then
+			doins upstart/boot-splash.conf
+		fi
+	else
+		doins upstart/*.conf
+		dotmpfiles tmpfiles.d/*.conf
+
+		if ! use arcpp && use arcvm; then
+			sed -i '/^env IS_ARCVM=/s:=0:=1:' \
+				"${D}/etc/init/rt-limits.conf" || \
+				die "Failed to replace is_arcvm in rt-limits.conf"
+		fi
+
+		dosbin chromeos-disk-metrics
+		dosbin chromeos-send-kernel-errors
+		dosbin display_low_battery_alert
+	fi
+
+	if use s3halt; then
+		newins upstart/halt/s3halt.conf halt.conf
+	else
+		doins upstart/halt/halt.conf
+	fi
+
+	if use vivid; then
+		doins upstart/vivid/vivid.conf
+	fi
+
+	use vtconsole && doins upstart/vtconsole/*.conf
+}
+
+src_install() {
+	# Install helper to run periodic tasks.
+	dobin "${OUT}"/periodic_scheduler
+	dobin "${OUT}"/process_killer
+
+	if use syslog; then
+		# Install log cleaning script and run it daily.
+		dosbin chromeos-cleanup-logs
+
+		insinto /etc
+		doins rsyslog.chromeos
+	fi
+
+	insinto /usr/share/cros
+	doins *_utils.sh
+
+	exeinto /usr/share/cros/init
+	doexe is_feature_enabled.sh
+
+	into /	# We want /sbin, not /usr/sbin, etc.
+
+	# Install various utility files.
+	dosbin killers
+
+	# Install various helper programs.
+	dosbin "${OUT}"/cros_sysrq_init
+	dosbin "${OUT}"/static_node_tool
+	dosbin "${OUT}"/net_poll_tool
+	dosbin "${OUT}"/file_attrs_cleaner_tool
+	dosbin "${OUT}"/usermode-helper
+
+	# Install startup/shutdown scripts.
+	dosbin "${OUT}"/chromeos_startup
+	dosbin chromeos_startup.sh
+	dosbin chromeos_shutdown
+
+	# Disable encrypted reboot vault if it is not used.
+	if ! use encrypted_reboot_vault; then
+		sed -i '/USE_ENCRYPTED_REBOOT_VAULT=/s:=1:=0:' \
+			"${D}/sbin/chromeos_startup.sh" ||
+			die "Failed to replace USE_ENCRYPTED_REBOOT_VAULT in chromeos_startup"
+	fi
+
+	# Enable lvm stateful partition.
+	if use lvm_stateful_partition; then
+		sed -i '/USE_LVM_STATEFUL_PARTITION=/s:=0:=1:' \
+			"${D}/sbin/chromeos_startup.sh" ||
+			die "Failed to replace USE_LVM_STATEFUL_PARTITION in chromeos_startup"
+	fi
+
+	dosbin "${OUT}"/clobber-state
+
+	dosbin clobber-log
+	dosbin chromeos-boot-alert
+
+	# Install Upstart scripts.
+	src_install_upstart
+
+	insinto /usr/share/cros
+	doins $(usex encrypted_stateful encrypted_stateful \
+		unencrypted_stateful)/startup_utils.sh
+
+	# Install LVM conf files.
+	insinto /etc/lvm
+	doins lvm.conf
+}
+
+pkg_preinst() {
+	# Add the syslog user
+	enewuser syslog
+	enewgroup syslog
+
+	# Create debugfs-access user and group, which is needed by the
+	# chromeos_startup script to mount /sys/kernel/debug.  This is needed
+	# by bootstat and ureadahead.
+	enewuser "debugfs-access"
+	enewgroup "debugfs-access"
+
+	# Create pstore-access group.
+	enewgroup pstore-access
+}
diff --git a/chromeos-base/chromeos-init/chromeos-init-9999.ebuild b/chromeos-base/chromeos-init/chromeos-init-9999.ebuild
index b38633f..2d8c6410 100644
--- a/chromeos-base/chromeos-init/chromeos-init-9999.ebuild
+++ b/chromeos-base/chromeos-init/chromeos-init-9999.ebuild
@@ -15,7 +15,7 @@
 inherit tmpfiles cros-workon platform user
 
 DESCRIPTION="Upstart init scripts for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/init/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/init/"
 SRC_URI=""
 
 LICENSE="BSD-Google"
diff --git a/chromeos-base/chromeos-init/files/revision_bump b/chromeos-base/chromeos-init/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/chromeos-init/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/chromeos-initramfs/OWNERS b/chromeos-base/chromeos-initramfs/OWNERS
index cbd6a79f..de5f89d 100644
--- a/chromeos-base/chromeos-initramfs/OWNERS
+++ b/chromeos-base/chromeos-initramfs/OWNERS
@@ -1 +1,2 @@
 include chromiumos/platform/initramfs:/OWNERS
+include chromiumos/platform/initramfs:/hypervisor/OWNERS
diff --git a/chromeos-base/chromeos-initramfs/chromeos-initramfs-0.0.1-r501.ebuild b/chromeos-base/chromeos-initramfs/chromeos-initramfs-0.0.1-r501.ebuild
deleted file mode 100644
index 074af63..0000000
--- a/chromeos-base/chromeos-initramfs/chromeos-initramfs-0.0.1-r501.ebuild
+++ /dev/null
@@ -1,195 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-CROS_WORKON_COMMIT="6082af278a873a1b3f8836cb9a18ffc9127ba22a"
-CROS_WORKON_TREE="18dcc60b8992094f4421681f4658c92c738f609d"
-CROS_WORKON_PROJECT="chromiumos/platform/initramfs"
-CROS_WORKON_LOCALNAME="platform/initramfs"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-
-inherit cros-workon cros-board cros-constants
-
-DESCRIPTION="Create Chrome OS initramfs"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/initramfs/"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE="+cros_ec_utils detachable device_tree +interactive_recovery"
-IUSE="${IUSE} legacy_firmware_ui -mtd +power_management"
-IUSE="${IUSE} physical_presence_power physical_presence_recovery"
-IUSE="${IUSE} unibuild +oobe_config no_factory_flow"
-
-# Build Targets
-TARGETS_IUSE="
-	factory_netboot_ramfs
-	factory_shim_ramfs
-	hypervisor_ramfs
-	recovery_ramfs
-	minios_ramfs
-	minios_test_ramfs
-"
-IUSE+=" ${TARGETS_IUSE}"
-REQUIRED_USE="|| ( ${TARGETS_IUSE} )"
-
-# Packages required for building recovery initramfs.
-RECOVERY_DEPENDS="
-	chromeos-base/chromeos-installer
-	chromeos-base/common-assets
-	chromeos-base/vboot_reference
-	chromeos-base/vpd
-	sys-apps/flashrom
-	sys-apps/pv
-	virtual/assets
-	virtual/chromeos-regions
-	"
-
-MINIOS_DEPENDS="
-	chromeos-base/minios
-	dev-util/strace
-	net-misc/curl
-	net-misc/dhcp
-	net-misc/dhcpcd
-	net-wireless/wpa_supplicant-cros
-	chromeos-base/minijail
-	chromeos-base/chromeos-installer
-	chromeos-base/factory_installer
-	chromeos-base/common-assets
-	chromeos-base/vboot_reference
-	chromeos-base/vpd
-	sys-apps/flashrom
-	sys-apps/pv
-	virtual/assets
-	virtual/chromeos-regions
-	"
-
-MINIOS_TEST_DEPENDS="
-	${MINIOS_DEPENDS}
-	chromeos-base/chromeos-test-root
-	virtual/target-os-test
-	"
-
-# Packages required for building factory installer shim initramfs.
-FACTORY_SHIM_DEPENDS="
-	chromeos-base/factory_installer
-	chromeos-base/vboot_reference
-	"
-
-# Packages required for building factory netboot installer initramfs.
-FACTORY_NETBOOT_DEPENDS="
-	app-arch/lbzip2
-	app-arch/pigz
-	app-arch/sharutils
-	app-misc/jq
-	app-shells/bash
-	chromeos-base/chromeos-base
-	chromeos-base/chromeos-installer
-	chromeos-base/chromeos-installshim
-	chromeos-base/chromeos-storage-info
-	chromeos-base/ec-utils
-	chromeos-base/factory_installer
-	chromeos-base/vboot_reference
-	chromeos-base/vpd
-	dev-libs/openssl:0=
-	dev-util/shflags
-	dev-util/xxd
-	net-misc/curl
-	net-misc/htpdate
-	net-misc/uftp
-	net-misc/wget
-	sys-apps/coreutils
-	sys-apps/flashrom
-	sys-apps/iproute2
-	sys-apps/mosys
-	sys-apps/util-linux
-	sys-fs/dosfstools
-	sys-fs/e2fsprogs
-	sys-libs/ncurses
-	virtual/udev
-	"
-
-# Packages required for building hypervisor initramfs.
-HYPERVISOR_DEPENDS="
-	chromeos-base/crosvm
-	chromeos-base/sirenia
-	sys-apps/coreboot-utils
-	virtual/linux-sources
-	"
-
-DEPEND="
-	!no_factory_flow? (
-		factory_netboot_ramfs? ( ${FACTORY_NETBOOT_DEPENDS} )
-		factory_shim_ramfs? ( ${FACTORY_SHIM_DEPENDS} )
-	)
-	recovery_ramfs? ( ${RECOVERY_DEPENDS} )
-	hypervisor_ramfs? ( ${HYPERVISOR_DEPENDS} )
-	minios_ramfs? ( ${MINIOS_DEPENDS} )
-	minios_test_ramfs? ( ${MINIOS_TEST_DEPENDS} )
-	sys-apps/busybox[-make-symlinks]
-	sys-fs/lvm2
-	virtual/chromeos-bsp-initramfs
-	chromeos-base/chromeos-init
-	sys-apps/frecon-lite
-	power_management? ( chromeos-base/power_manager )
-	unibuild? ( chromeos-base/chromeos-config )
-	chromeos-base/chromeos-config-tools"
-
-RDEPEND=""
-
-BDEPEND="
-	hypervisor_ramfs? ( chromeos-base/sirenia-tools )"
-
-src_prepare() {
-	export BUILD_LIBRARY_DIR="${CHROOT_SOURCE_ROOT}/src/scripts/build_library"
-	export INTERACTIVE_COMPLETE="$(usex interactive_recovery true false)"
-
-	# Need the lddtree from the chromite dir.
-	export PATH="${CHROMITE_BIN_DIR}:${PATH}"
-
-	eapply_user
-}
-
-src_compile() {
-	local deps=()
-	use mtd && deps+=(/usr/bin/cgpt)
-	if use factory_netboot_ramfs; then
-		if ! use no_factory_flow; then
-			use power_management && deps+=(/usr/bin/backlight_tool)
-		fi
-	fi
-
-	local targets=()
-	for target in ${TARGETS_IUSE}; do
-		use "${target}" && targets+=("${target%_ramfs}")
-	done
-	einfo "Building targets: ${targets[*]}"
-
-	local physical_presence
-	if use physical_presence_power ; then
-		physical_presence="power"
-	elif use physical_presence_recovery ; then
-		physical_presence="recovery"
-	else
-		physical_presence="keyboard"
-	fi
-
-	emake SYSROOT="${SYSROOT}" BOARD="$(get_current_board_with_variant)" \
-		INCLUDE_FIT_PICKER="$(usex device_tree 1 0)" \
-		INCLUDE_ECTOOL="$(usex cros_ec_utils 1 0)" \
-		DETACHABLE="$(usex detachable 1 0)" \
-		LEGACY_UI="$(usex legacy_firmware_ui 1 0)" \
-		UNIBUILD="$(usex unibuild 1 0)" \
-		OOBE_CONFIG="$(usex oobe_config 1 0)" \
-		PHYSICAL_PRESENCE="${physical_presence}" \
-		OUTPUT_DIR="${WORKDIR}" EXTRA_BIN_DEPS="${deps[*]}" \
-		LOCALE_LIST="${RECOVERY_LOCALES}" "${targets[@]}"
-}
-
-src_install() {
-	insinto /var/lib/initramfs
-	for target in ${TARGETS_IUSE}; do
-		use "${target}" &&
-			doins "${WORKDIR}/${target}.cpio.xz"
-	done
-}
diff --git a/chromeos-base/chromeos-initramfs/chromeos-initramfs-0.0.1-r581.ebuild b/chromeos-base/chromeos-initramfs/chromeos-initramfs-0.0.1-r581.ebuild
new file mode 100644
index 0000000..686776f
--- /dev/null
+++ b/chromeos-base/chromeos-initramfs/chromeos-initramfs-0.0.1-r581.ebuild
@@ -0,0 +1,212 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+CROS_WORKON_COMMIT="7a5d371ba3254b77bd073c5d32cc39f633606b03"
+CROS_WORKON_TREE="ccade7d0ab8756b8f5752b85efbfd460cce591c6"
+CROS_WORKON_PROJECT="chromiumos/platform/initramfs"
+CROS_WORKON_LOCALNAME="platform/initramfs"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+
+inherit cros-workon cros-board cros-constants
+
+DESCRIPTION="Create Chrome OS initramfs"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/initramfs/"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="+cros_ec_utils detachable device_tree +interactive_recovery"
+IUSE="${IUSE} legacy_firmware_ui -mtd +power_management"
+IUSE="${IUSE} unibuild +oobe_config no_factory_flow"
+IUSE="${IUSE} manatee_performance_tools nvme ufs"
+
+# Build Targets
+TARGETS_IUSE="
+	factory_netboot_ramfs
+	factory_shim_ramfs
+	hypervisor_ramfs
+	recovery_ramfs
+	minios_ramfs
+"
+IUSE="${IUSE} test ${TARGETS_IUSE}"
+# Allow absence of the build target when running tests via cros_run_unit_tests.
+REQUIRED_USE="|| ( test ${TARGETS_IUSE} )"
+
+# Packages required for building recovery initramfs.
+RECOVERY_DEPENDS="
+	chromeos-base/chromeos-installer
+	chromeos-base/common-assets
+	chromeos-base/vboot_reference
+	chromeos-base/vpd
+	sys-apps/flashrom
+	sys-apps/pv
+	virtual/assets
+	virtual/chromeos-regions
+	"
+
+MINIOS_DEPENDS="
+	chromeos-base/chromeos-installer
+	chromeos-base/common-assets
+	chromeos-base/factory_installer
+	chromeos-base/minijail
+	chromeos-base/minios
+	chromeos-base/update-utils
+	chromeos-base/vboot_reference
+	chromeos-base/vpd
+	dev-util/strace
+	net-misc/curl
+	net-misc/dhcp
+	net-misc/dhcpcd
+	net-wireless/wpa_supplicant-cros
+	nvme? ( sys-apps/nvme-cli )
+	sys-apps/flashrom
+	sys-apps/pv
+	virtual/assets
+	virtual/chromeos-regions
+	"
+
+# Packages required for building factory installer shim initramfs.
+FACTORY_SHIM_DEPENDS="
+	chromeos-base/factory_installer
+	chromeos-base/vboot_reference
+	"
+
+# Packages required for building factory netboot installer initramfs.
+FACTORY_NETBOOT_DEPENDS="
+	app-arch/lbzip2
+	app-arch/pigz
+	app-arch/sharutils
+	app-misc/jq
+	app-shells/bash
+	chromeos-base/chromeos-base
+	chromeos-base/chromeos-installer
+	chromeos-base/chromeos-installshim
+	chromeos-base/chromeos-storage-info
+	chromeos-base/ec-utils
+	chromeos-base/factory_installer
+	ufs? ( chromeos-base/factory_ufs )
+	chromeos-base/vboot_reference
+	chromeos-base/vpd
+	dev-libs/openssl:0=
+	dev-util/shflags
+	dev-util/xxd
+	net-misc/curl
+	net-misc/htpdate
+	net-misc/uftp
+	net-misc/wget
+	sys-apps/coreutils
+	sys-apps/flashrom
+	sys-apps/iproute2
+	sys-apps/mosys
+	sys-apps/util-linux
+	sys-fs/dosfstools
+	sys-fs/e2fsprogs
+	sys-libs/ncurses
+	virtual/udev
+	"
+
+# Packages required for building hypervisor initramfs.
+HYPERVISOR_DEPENDS="
+	chromeos-base/crosvm
+	chromeos-base/sirenia
+	sys-apps/coreboot-utils
+	virtual/linux-sources
+	virtual/manatee-apps
+	manatee_performance_tools? (
+		app-admin/sysstat
+		dev-util/strace
+		dev-util/turbostat
+		dev-util/perf
+		dev-util/trace-cmd
+		sys-process/htop
+		chromeos-base/perfetto
+	)
+	"
+
+DEPEND="
+	!no_factory_flow? (
+		factory_netboot_ramfs? ( ${FACTORY_NETBOOT_DEPENDS} )
+		factory_shim_ramfs? ( ${FACTORY_SHIM_DEPENDS} )
+	)
+	recovery_ramfs? ( ${RECOVERY_DEPENDS} )
+	hypervisor_ramfs? ( ${HYPERVISOR_DEPENDS} )
+	minios_ramfs? ( ${MINIOS_DEPENDS} )
+	sys-apps/busybox[-make-symlinks]
+	sys-fs/lvm2
+	virtual/chromeos-bsp-initramfs
+	chromeos-base/chromeos-init
+	sys-apps/frecon-lite
+	power_management? ( chromeos-base/power_manager )
+	unibuild? ( chromeos-base/chromeos-config )
+	chromeos-base/chromeos-config-tools
+	test? ( dev-util/shunit2 )"
+
+RDEPEND=""
+
+BDEPEND="
+	hypervisor_ramfs? ( chromeos-base/sirenia-tools )"
+
+src_prepare() {
+	export BUILD_LIBRARY_DIR="${CHROOT_SOURCE_ROOT}/src/scripts/build_library"
+	export INTERACTIVE_COMPLETE="$(usex interactive_recovery true false)"
+
+	# Need the lddtree from the chromite dir.
+	export PATH="${CHROMITE_BIN_DIR}:${PATH}"
+
+	eapply_user
+}
+
+src_compile() {
+	local deps=()
+	use mtd && deps+=(/usr/bin/cgpt)
+	if use factory_netboot_ramfs; then
+		if ! use no_factory_flow; then
+			use power_management && deps+=(/usr/bin/backlight_tool)
+		fi
+	fi
+
+	local targets=()
+	for target in ${TARGETS_IUSE}; do
+		use "${target}" && targets+=("${target%_ramfs}")
+	done
+	einfo "Building targets: ${targets[*]:-(only running tests)}"
+
+	if [[ ${#targets[@]} -gt 0 ]]; then
+		emake SYSROOT="${SYSROOT}" \
+			BOARD="$(get_current_board_with_variant)" \
+			DETACHABLE="$(usex detachable 1 0)" \
+			INCLUDE_ECTOOL="$(usex cros_ec_utils 1 0)" \
+			INCLUDE_FACTORY_UFS="$(usex ufs 1 0)" \
+			INCLUDE_FIT_PICKER="$(usex device_tree 1 0)" \
+			INCLUDE_NVME_CLI="$(usex nvme 1 0)" \
+			LEGACY_UI="$(usex legacy_firmware_ui 1 0)" \
+			LIBDIR="$(get_libdir)" \
+			LOCALE_LIST="${RECOVERY_LOCALES:-}" \
+			MANATEE_PERFORMANCE_TOOLS="$(usex manatee_performance_tools 1 0)" \
+			OOBE_CONFIG="$(usex oobe_config 1 0)" \
+			OUTPUT_DIR="${WORKDIR}" EXTRA_BIN_DEPS="${deps[*]}" \
+			UNIBUILD="$(usex unibuild 1 0)" \
+			"${targets[@]}"
+	fi
+}
+
+src_test() {
+	local targets=()
+	for target in ${TARGETS_IUSE}; do
+		use "${target}" && targets+=("${target%_ramfs}_check")
+	done
+	einfo "Testing targets: ${targets[*]}"
+
+	if [[ ${#targets[@]} -gt 0 ]]; then
+		emake SYSROOT="${SYSROOT}" "${targets[@]}"
+	fi
+}
+
+src_install() {
+	insinto /var/lib/initramfs
+	for target in ${TARGETS_IUSE}; do
+		use "${target}" &&
+			doins "${WORKDIR}/${target}.cpio"
+	done
+}
diff --git a/chromeos-base/chromeos-initramfs/chromeos-initramfs-9999.ebuild b/chromeos-base/chromeos-initramfs/chromeos-initramfs-9999.ebuild
index a91daf6..c8cafc5 100644
--- a/chromeos-base/chromeos-initramfs/chromeos-initramfs-9999.ebuild
+++ b/chromeos-base/chromeos-initramfs/chromeos-initramfs-9999.ebuild
@@ -16,8 +16,8 @@
 KEYWORDS="~*"
 IUSE="+cros_ec_utils detachable device_tree +interactive_recovery"
 IUSE="${IUSE} legacy_firmware_ui -mtd +power_management"
-IUSE="${IUSE} physical_presence_power physical_presence_recovery"
 IUSE="${IUSE} unibuild +oobe_config no_factory_flow"
+IUSE="${IUSE} manatee_performance_tools nvme ufs"
 
 # Build Targets
 TARGETS_IUSE="
@@ -26,10 +26,10 @@
 	hypervisor_ramfs
 	recovery_ramfs
 	minios_ramfs
-	minios_test_ramfs
 "
-IUSE+=" ${TARGETS_IUSE}"
-REQUIRED_USE="|| ( ${TARGETS_IUSE} )"
+IUSE="${IUSE} test ${TARGETS_IUSE}"
+# Allow absence of the build target when running tests via cros_run_unit_tests.
+REQUIRED_USE="|| ( test ${TARGETS_IUSE} )"
 
 # Packages required for building recovery initramfs.
 RECOVERY_DEPENDS="
@@ -44,30 +44,26 @@
 	"
 
 MINIOS_DEPENDS="
+	chromeos-base/chromeos-installer
+	chromeos-base/common-assets
+	chromeos-base/factory_installer
+	chromeos-base/minijail
 	chromeos-base/minios
+	chromeos-base/update-utils
+	chromeos-base/vboot_reference
+	chromeos-base/vpd
 	dev-util/strace
 	net-misc/curl
 	net-misc/dhcp
 	net-misc/dhcpcd
 	net-wireless/wpa_supplicant-cros
-	chromeos-base/minijail
-	chromeos-base/chromeos-installer
-	chromeos-base/factory_installer
-	chromeos-base/common-assets
-	chromeos-base/vboot_reference
-	chromeos-base/vpd
+	nvme? ( sys-apps/nvme-cli )
 	sys-apps/flashrom
 	sys-apps/pv
 	virtual/assets
 	virtual/chromeos-regions
 	"
 
-MINIOS_TEST_DEPENDS="
-	${MINIOS_DEPENDS}
-	chromeos-base/chromeos-test-root
-	virtual/target-os-test
-	"
-
 # Packages required for building factory installer shim initramfs.
 FACTORY_SHIM_DEPENDS="
 	chromeos-base/factory_installer
@@ -87,6 +83,7 @@
 	chromeos-base/chromeos-storage-info
 	chromeos-base/ec-utils
 	chromeos-base/factory_installer
+	ufs? ( chromeos-base/factory_ufs )
 	chromeos-base/vboot_reference
 	chromeos-base/vpd
 	dev-libs/openssl:0=
@@ -113,6 +110,16 @@
 	chromeos-base/sirenia
 	sys-apps/coreboot-utils
 	virtual/linux-sources
+	virtual/manatee-apps
+	manatee_performance_tools? (
+		app-admin/sysstat
+		dev-util/strace
+		dev-util/turbostat
+		dev-util/perf
+		dev-util/trace-cmd
+		sys-process/htop
+		chromeos-base/perfetto
+	)
 	"
 
 DEPEND="
@@ -123,7 +130,6 @@
 	recovery_ramfs? ( ${RECOVERY_DEPENDS} )
 	hypervisor_ramfs? ( ${HYPERVISOR_DEPENDS} )
 	minios_ramfs? ( ${MINIOS_DEPENDS} )
-	minios_test_ramfs? ( ${MINIOS_TEST_DEPENDS} )
 	sys-apps/busybox[-make-symlinks]
 	sys-fs/lvm2
 	virtual/chromeos-bsp-initramfs
@@ -131,7 +137,8 @@
 	sys-apps/frecon-lite
 	power_management? ( chromeos-base/power_manager )
 	unibuild? ( chromeos-base/chromeos-config )
-	chromeos-base/chromeos-config-tools"
+	chromeos-base/chromeos-config-tools
+	test? ( dev-util/shunit2 )"
 
 RDEPEND=""
 
@@ -161,33 +168,43 @@
 	for target in ${TARGETS_IUSE}; do
 		use "${target}" && targets+=("${target%_ramfs}")
 	done
-	einfo "Building targets: ${targets[*]}"
+	einfo "Building targets: ${targets[*]:-(only running tests)}"
 
-	local physical_presence
-	if use physical_presence_power ; then
-		physical_presence="power"
-	elif use physical_presence_recovery ; then
-		physical_presence="recovery"
-	else
-		physical_presence="keyboard"
+	if [[ ${#targets[@]} -gt 0 ]]; then
+		emake SYSROOT="${SYSROOT}" \
+			BOARD="$(get_current_board_with_variant)" \
+			DETACHABLE="$(usex detachable 1 0)" \
+			INCLUDE_ECTOOL="$(usex cros_ec_utils 1 0)" \
+			INCLUDE_FACTORY_UFS="$(usex ufs 1 0)" \
+			INCLUDE_FIT_PICKER="$(usex device_tree 1 0)" \
+			INCLUDE_NVME_CLI="$(usex nvme 1 0)" \
+			LEGACY_UI="$(usex legacy_firmware_ui 1 0)" \
+			LIBDIR="$(get_libdir)" \
+			LOCALE_LIST="${RECOVERY_LOCALES:-}" \
+			MANATEE_PERFORMANCE_TOOLS="$(usex manatee_performance_tools 1 0)" \
+			OOBE_CONFIG="$(usex oobe_config 1 0)" \
+			OUTPUT_DIR="${WORKDIR}" EXTRA_BIN_DEPS="${deps[*]}" \
+			UNIBUILD="$(usex unibuild 1 0)" \
+			"${targets[@]}"
 	fi
+}
 
-	emake SYSROOT="${SYSROOT}" BOARD="$(get_current_board_with_variant)" \
-		INCLUDE_FIT_PICKER="$(usex device_tree 1 0)" \
-		INCLUDE_ECTOOL="$(usex cros_ec_utils 1 0)" \
-		DETACHABLE="$(usex detachable 1 0)" \
-		LEGACY_UI="$(usex legacy_firmware_ui 1 0)" \
-		UNIBUILD="$(usex unibuild 1 0)" \
-		OOBE_CONFIG="$(usex oobe_config 1 0)" \
-		PHYSICAL_PRESENCE="${physical_presence}" \
-		OUTPUT_DIR="${WORKDIR}" EXTRA_BIN_DEPS="${deps[*]}" \
-		LOCALE_LIST="${RECOVERY_LOCALES}" "${targets[@]}"
+src_test() {
+	local targets=()
+	for target in ${TARGETS_IUSE}; do
+		use "${target}" && targets+=("${target%_ramfs}_check")
+	done
+	einfo "Testing targets: ${targets[*]}"
+
+	if [[ ${#targets[@]} -gt 0 ]]; then
+		emake SYSROOT="${SYSROOT}" "${targets[@]}"
+	fi
 }
 
 src_install() {
 	insinto /var/lib/initramfs
 	for target in ${TARGETS_IUSE}; do
 		use "${target}" &&
-			doins "${WORKDIR}/${target}.cpio.xz"
+			doins "${WORKDIR}/${target}.cpio"
 	done
 }
diff --git a/chromeos-base/chromeos-installer/chromeos-installer-0.0.3-r3567.ebuild b/chromeos-base/chromeos-installer/chromeos-installer-0.0.3-r3567.ebuild
deleted file mode 100644
index 00b099f..0000000
--- a/chromeos-base/chromeos-installer/chromeos-installer-0.0.3-r3567.ebuild
+++ /dev/null
@@ -1,102 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cros-constants
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "ef9e5cc7e9b9b963d2308f285e853f72a569615d" "6fc4c6b35e5c71304e6fed40a7a24e6401d38df3" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk installer verity .gn"
-
-PLATFORM_SUBDIR="installer"
-
-inherit cros-workon platform systemd
-
-DESCRIPTION="Chrome OS Installer"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/installer/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE="
-	cros_embedded
-	enable_slow_boot_notify
-	-mtd
-	pam
-	systemd
-	lvm_stateful_partition
-	postinstall_config_efi_and_legacy
-	manage_efi_boot_entries
-"
-
-COMMON_DEPEND="
-	chromeos-base/libbrillo:=
-	chromeos-base/vboot_reference
-	chromeos-base/verity
-	manage_efi_boot_entries? ( sys-libs/efivar )
-"
-
-DEPEND="${COMMON_DEPEND}
-	dev-libs/openssl:0=
-"
-
-RDEPEND="${COMMON_DEPEND}
-	pam? ( app-admin/sudo )
-	chromeos-base/chromeos-common-script
-	!cros_embedded? ( chromeos-base/chromeos-storage-info )
-	dev-libs/openssl:0=
-	dev-util/shflags
-	sys-apps/rootdev
-	sys-apps/util-linux
-	sys-apps/which
-	sys-fs/e2fsprogs"
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/cros_installer_test"
-}
-
-src_prepare() {
-	# The workdir is platform2/nnapi - we need to pop up one level in the stack
-	# to apply our patches.
-	pushd .. || exit
-	eapply -p1 "${FILESDIR}/installer-support-new-dm-format.patch"
-	eapply -p1 "${FILESDIR}/0001-Add-dm-mod.create.patch"
-	popd || exit
-
-	eapply_user
-}
-
-src_install() {
-	dobin "${OUT}"/cros_installer
-	if use mtd ; then
-		dobin "${OUT}"/nand_partition
-	fi
-	dosbin chromeos-* encrypted_import "${OUT}"/evwaitkey
-	dosym usr/sbin/chromeos-postinst /postinst
-
-	# Enable lvm stateful partition.
-	if use lvm_stateful_partition; then
-		sed -i '/DEFINE_boolean lvm_stateful "/s:\${FLAGS_FALSE}:\${FLAGS_TRUE}:' \
-			"${D}/usr/sbin/chromeos-install" ||
-			die "Failed to set 'lvm_stateful' in chromeos-install"
-	fi
-
-	# Install init scripts.
-	if use systemd; then
-		systemd_dounit init/install-completed.service
-		systemd_enable_service boot-services.target install-completed.service
-		systemd_dounit init/crx-import.service
-		systemd_enable_service system-services.target crx-import.service
-	else
-		insinto /etc/init
-		doins init/*.conf
-	fi
-	exeinto /usr/share/cros/init
-	doexe init/crx-import.sh
-}
diff --git a/chromeos-base/chromeos-installer/chromeos-installer-0.0.3-r3670.ebuild b/chromeos-base/chromeos-installer/chromeos-installer-0.0.3-r3670.ebuild
new file mode 100644
index 0000000..cc1627e
--- /dev/null
+++ b/chromeos-base/chromeos-installer/chromeos-installer-0.0.3-r3670.ebuild
@@ -0,0 +1,106 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("527abd7a988a45572305a6c44b5324d0d9cf8be2" "60fa47aebd6ebfb702012849bd560717fceddcd4" "aec60c261c19c132b6dda00ed40f61717c823a15" "a65107acb3c4cbbae51687d8409856f07b5dda27" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="chromeos-config common-mk installer verity .gn"
+
+PLATFORM_SUBDIR="installer"
+
+inherit cros-workon platform systemd
+
+DESCRIPTION="Chrome OS Installer"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/installer/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="
+	cros_embedded
+	enable_slow_boot_notify
+	-mtd
+	pam
+	systemd
+	lvm_stateful_partition
+	postinstall_config_efi_and_legacy
+	manage_efi_boot_entries
+"
+
+COMMON_DEPEND="
+	chromeos-base/libbrillo:=
+	chromeos-base/vboot_reference
+	chromeos-base/verity
+	manage_efi_boot_entries? ( chromeos-base/chromeos-config sys-libs/efivar )
+"
+
+DEPEND="${COMMON_DEPEND}
+	dev-libs/openssl:0=
+"
+
+RDEPEND="${COMMON_DEPEND}
+	pam? ( app-admin/sudo )
+	chromeos-base/chromeos-common-script
+	!cros_embedded? ( chromeos-base/chromeos-storage-info )
+	dev-libs/openssl:0=
+	dev-util/shflags
+	sys-apps/rootdev
+	sys-apps/util-linux
+	sys-apps/which
+	sys-fs/e2fsprogs"
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/cros_installer_test"
+}
+
+src_prepare() {
+	# The workdir is platform2/nnapi - we need to pop up one level in the stack
+	# to apply our patches.
+	pushd .. || exit
+	eapply -p1 "${FILESDIR}/installer-support-new-dm-format.patch"
+	eapply -p1 "${FILESDIR}/0001-Add-dm-mod.create.patch"
+	popd || exit
+
+	eapply_user
+}
+
+src_install() {
+	platform_src_install
+
+	dobin "${OUT}"/cros_installer
+	if use mtd ; then
+		dobin "${OUT}"/nand_partition
+	fi
+	dosbin chromeos-* encrypted_import "${OUT}"/evwaitkey
+	dosym usr/sbin/chromeos-postinst /postinst
+
+	# Enable lvm stateful partition.
+	if use lvm_stateful_partition; then
+		# We are replacing expansions in a shell file, and shellcheck thinks we want
+		# to expand those in this context. Ignore it.
+		# shellcheck disable=SC2016
+		sed -i '/DEFINE_boolean lvm_stateful "/s:\${FLAGS_FALSE}:\${FLAGS_TRUE}:' \
+			"${D}/usr/sbin/chromeos-install" ||
+			die "Failed to set 'lvm_stateful' in chromeos-install"
+	fi
+
+	# Install init scripts.
+	if use systemd; then
+		systemd_dounit init/install-completed.service
+		systemd_enable_service boot-services.target install-completed.service
+		systemd_dounit init/crx-import.service
+		systemd_enable_service system-services.target crx-import.service
+	else
+		insinto /etc/init
+		doins init/*.conf
+	fi
+	exeinto /usr/share/cros/init
+	doexe init/crx-import.sh
+}
diff --git a/chromeos-base/chromeos-installer/chromeos-installer-9999.ebuild b/chromeos-base/chromeos-installer/chromeos-installer-9999.ebuild
index 5419961..6f90b68 100644
--- a/chromeos-base/chromeos-installer/chromeos-installer-9999.ebuild
+++ b/chromeos-base/chromeos-installer/chromeos-installer-9999.ebuild
@@ -8,14 +8,14 @@
 CROS_WORKON_INCREMENTAL_BUILD=1
 CROS_WORKON_OUTOFTREE_BUILD=1
 # TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk installer verity .gn"
+CROS_WORKON_SUBTREE="chromeos-config common-mk installer verity .gn"
 
 PLATFORM_SUBDIR="installer"
 
 inherit cros-workon platform systemd
 
 DESCRIPTION="Chrome OS Installer"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/installer/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/installer/"
 SRC_URI=""
 
 LICENSE="BSD-Google"
@@ -36,7 +36,7 @@
 	chromeos-base/libbrillo:=
 	chromeos-base/vboot_reference
 	chromeos-base/verity
-	manage_efi_boot_entries? ( sys-libs/efivar )
+	manage_efi_boot_entries? ( chromeos-base/chromeos-config sys-libs/efivar )
 "
 
 DEPEND="${COMMON_DEPEND}
@@ -59,6 +59,8 @@
 }
 
 src_install() {
+	platform_src_install
+
 	dobin "${OUT}"/cros_installer
 	if use mtd ; then
 		dobin "${OUT}"/nand_partition
@@ -68,6 +70,9 @@
 
 	# Enable lvm stateful partition.
 	if use lvm_stateful_partition; then
+		# We are replacing expansions in a shell file, and shellcheck thinks we want
+		# to expand those in this context. Ignore it.
+		# shellcheck disable=SC2016
 		sed -i '/DEFINE_boolean lvm_stateful "/s:\${FLAGS_FALSE}:\${FLAGS_TRUE}:' \
 			"${D}/usr/sbin/chromeos-install" ||
 			die "Failed to set 'lvm_stateful' in chromeos-install"
diff --git a/chromeos-base/chromeos-installer/files/revision_bump b/chromeos-base/chromeos-installer/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/chromeos-installer/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/chromeos-installshim/chromeos-installshim-0.0.1-r19.ebuild b/chromeos-base/chromeos-installshim/chromeos-installshim-0.0.1-r21.ebuild
similarity index 100%
rename from chromeos-base/chromeos-installshim/chromeos-installshim-0.0.1-r19.ebuild
rename to chromeos-base/chromeos-installshim/chromeos-installshim-0.0.1-r21.ebuild
diff --git a/chromeos-base/chromeos-installshim/chromeos-installshim-0.0.1.ebuild b/chromeos-base/chromeos-installshim/chromeos-installshim-0.0.1.ebuild
index c4902bc..b66fc8f 100644
--- a/chromeos-base/chromeos-installshim/chromeos-installshim-0.0.1.ebuild
+++ b/chromeos-base/chromeos-installshim/chromeos-installshim-0.0.1.ebuild
@@ -1,12 +1,12 @@
 # Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=5
+EAPI=7
 
 DESCRIPTION="Chrome OS Install Shim (meta package)"
-HOMEPAGE="http://src.chromium.org"
+HOMEPAGE="https://dev.chromium.org/chromium-os"
 
-LICENSE="GPL-2"
+LICENSE="metapackage"
 SLOT="0"
 KEYWORDS="*"
 
@@ -19,6 +19,7 @@
 	tpm_slb9670
 	internal
 	+shill
+	ti50_onboard
 	tpm2"
 
 X86_DEPEND="
@@ -58,6 +59,7 @@
 	sys-apps/dbus
 	sys-apps/flashrom
 	sys-apps/grep
+	sys-apps/kmod[tools]
 	sys-apps/iproute2
 	sys-apps/mawk
 	sys-apps/mosys
@@ -75,9 +77,9 @@
 	sys-libs/libcxx
 	sys-process/lsof
 	sys-process/procps
+	ti50_onboard? ( media-gfx/qrencode )
 	virtual/chromeos-auth-config
 	virtual/chromeos-bsp
-	virtual/modutils
 	virtual/udev
 "
 
diff --git a/chromeos-base/chromeos-lacros/Manifest b/chromeos-base/chromeos-lacros/Manifest
index 7725e48..fb64931 100644
--- a/chromeos-base/chromeos-lacros/Manifest
+++ b/chromeos-base/chromeos-lacros/Manifest
@@ -1,4 +1,6 @@
-DIST chromeos-lacros-amd64-metadata-101.0.4916.0 78 BLAKE2B 29ae106b96922727e9e48309fb1462d116462acb8e9db258bc28d8c1c3cf3a908ec1b2a9541e2b5240296e2228e7198ea354644e5291e9e53148516ba441527e SHA512 4b48b37db152870215ac4d3930f6df14f77be7a360d8f4769d7771a9cbccf7cba27b3bf0831ba9760969b0c3cf5b695467be0d72e7a6e31b90b8202c592665a7
-DIST chromeos-lacros-amd64-squash-101.0.4916.0 140804096 BLAKE2B 1955da38a33b9dd1fa1008b19f20e5de1da726aa2d6247ce55029f6175c313a82c4d887d447cdef3b52a624eb462c8465446e5902bc0b54a66e2e041e992c2cd SHA512 abd5281a238c0ea79b09dab89bb0a41f5327199fbc9e8506531e5a12773a235605a99515ee4c0d6ce36c4f7c164f2ad1f7a4b08318162d0ec986c10a93226bd7
-DIST chromeos-lacros-arm-metadata-101.0.4916.0 78 BLAKE2B 29ae106b96922727e9e48309fb1462d116462acb8e9db258bc28d8c1c3cf3a908ec1b2a9541e2b5240296e2228e7198ea354644e5291e9e53148516ba441527e SHA512 4b48b37db152870215ac4d3930f6df14f77be7a360d8f4769d7771a9cbccf7cba27b3bf0831ba9760969b0c3cf5b695467be0d72e7a6e31b90b8202c592665a7
-DIST chromeos-lacros-arm-squash-101.0.4916.0 126496768 BLAKE2B f07d7852d52ed9ed4a80f99ec688e26773b84ba0374d6f3ea5dfd288eef4a88158077d4a9dcad159129f39d1e25acd2a42b9bb541b29cf8126b794a0fe1fed1e SHA512 e164dc48c06a511e91dd83e38596ebfddf17e8b179b7303642cebc74f00bf85260af03d72c0beb7df460a58a4b27ae630a0ced8e19f8f7bc87986657c3fff473
+DIST chromeos-lacros-amd64-metadata-106.0.5239.0 78 BLAKE2B b7a3a0b4b21aa3ca81340dea25dc87a90638b5b01b6475d138ecfd77e09e0fc39eddbc336753023132ef00fba9b059b24ec5454824e87b9909693b5487163f25 SHA512 70474eb09184750d00bef7a9df8184b45a537212395fece17686a074ec6ecb414710ba37cd95a88b65aac472095c26d267fdeba41ca112ded954e064c00354ee
+DIST chromeos-lacros-amd64-squash-106.0.5239.0 131751936 BLAKE2B ef79ceec6887e40105c86a2618e68bf33881f3666147fc9db9d1d7efa17583d789a77fb258be2edf3495b43f4f7ba84139b2f626552847a16ee8d33c955e598a SHA512 d8bdd9cab8765f2b0b8a10d472dd7bfa9801c2f79280474c6812e9e315172d8d8e3ec1aedb62705bae1088a4ae43709d634bc89589df5f2eb566d946780a7401
+DIST chromeos-lacros-arm-metadata-106.0.5239.0 78 BLAKE2B b7a3a0b4b21aa3ca81340dea25dc87a90638b5b01b6475d138ecfd77e09e0fc39eddbc336753023132ef00fba9b059b24ec5454824e87b9909693b5487163f25 SHA512 70474eb09184750d00bef7a9df8184b45a537212395fece17686a074ec6ecb414710ba37cd95a88b65aac472095c26d267fdeba41ca112ded954e064c00354ee
+DIST chromeos-lacros-arm-squash-106.0.5239.0 121094144 BLAKE2B 93baa2654bfd514cbc64e1b93899584d351da3d651a09cf5d16278ad84a28bf3d702f68587990c595cff8350a1eda2437c51256c15d33118b0e7e8e31ca3a574 SHA512 ed6ed26c88c725c296e677abff31d1b40dedf344f1abd43373e0919e6f9cd4171413896b0588a2620f9875e9842c9181a6909f7abf2a595bf06bc3ecf00afcc4
+DIST chromeos-lacros-arm64-metadata-106.0.5239.0 78 BLAKE2B b7a3a0b4b21aa3ca81340dea25dc87a90638b5b01b6475d138ecfd77e09e0fc39eddbc336753023132ef00fba9b059b24ec5454824e87b9909693b5487163f25 SHA512 70474eb09184750d00bef7a9df8184b45a537212395fece17686a074ec6ecb414710ba37cd95a88b65aac472095c26d267fdeba41ca112ded954e064c00354ee
+DIST chromeos-lacros-arm64-squash-106.0.5239.0 121266176 BLAKE2B 18e69b75e5df1453a39d4fa6d80400a71a1ba8be0a69224414c9d5902c987adc10871b73133c3d34184193abdf6fa75f38417aa463a40b186ce68cdf6cf74c2d SHA512 aad3d92f1d81e22f3d58d82ce124a1297106846eee9e7062ee9ba4ba82b0a0c95fa10394de9e8b8191a7c8ef9210bffd820c85913100fac45a9667498eda2871
diff --git a/chromeos-base/chromeos-lacros/chromeos-lacros-101.0.4916.0-r1.ebuild b/chromeos-base/chromeos-lacros/chromeos-lacros-101.0.4916.0-r1.ebuild
deleted file mode 100644
index 8fdc307..0000000
--- a/chromeos-base/chromeos-lacros/chromeos-lacros-101.0.4916.0-r1.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# No git repo for this so use empty-project.
-CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
-CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
-CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
-CROS_WORKON_LOCALNAME="platform/empty-project"
-
-inherit cros-workon
-
-DESCRIPTION="Rootfs lacros for all architectures"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-S="${WORKDIR}"
-
-# All runtime dependencies should already be part of
-# chromeos-base/chromeos-chrome, the ones that aren't will be handled in
-# crbug.com/1199441.
-RDEPEND="chromeos-base/chromeos-chrome"
-DEPEND=""
-
-if [[ ${PV} != 9999 ]]; then
-	ORIG_URI="gs://chrome-unsigned/desktop-5c0tCh"
-	# arm64 will use arm32 build of lacros.
-	SRC_URI="
-		amd64? (
-			${ORIG_URI}/${PV}/lacros64/lacros_compressed.squash -> ${PN}-amd64-squash-${PV}
-			${ORIG_URI}/${PV}/lacros64/metadata.json -> ${PN}-amd64-metadata-${PV}
-		)
-		arm? (
-			${ORIG_URI}/${PV}/lacros-arm32/lacros_compressed.squash -> ${PN}-arm-squash-${PV}
-			${ORIG_URI}/${PV}/lacros-arm32/metadata.json -> ${PN}-arm-metadata-${PV}
-		)
-		arm64? (
-			${ORIG_URI}/${PV}/lacros-arm32/lacros_compressed.squash -> ${PN}-arm-squash-${PV}
-			${ORIG_URI}/${PV}/lacros-arm32/metadata.json -> ${PN}-arm-metadata-${PV}
-		)
-	"
-fi
-
-# Don't need to unpack anything.
-# Also suppresses messages related to unpacking unrecognized formats.
-src_unpack() {
-	:
-}
-
-src_install() {
-	insinto /opt/google/lacros
-	if use amd64; then
-		newins "${DISTDIR}/${PN}-amd64-squash-${PV}" lacros.squash
-		newins "${DISTDIR}/${PN}-amd64-metadata-${PV}" metadata.json
-	elif use arm || use arm64; then
-		newins "${DISTDIR}/${PN}-arm-squash-${PV}" lacros.squash
-		newins "${DISTDIR}/${PN}-arm-metadata-${PV}" metadata.json
-	fi
-
-	# Upstart configuration
-	insinto /etc/init
-	doins "${FILESDIR}/lacros-mounter.conf"
-	doins "${FILESDIR}/lacros-unmounter.conf"
-
-	# D-Bus configuration
-	insinto /etc/dbus-1/system.d
-	doins "${FILESDIR}/Lacros.conf"
-}
diff --git a/chromeos-base/chromeos-lacros/chromeos-lacros-106.0.5239.0-r1.ebuild b/chromeos-base/chromeos-lacros/chromeos-lacros-106.0.5239.0-r1.ebuild
new file mode 100644
index 0000000..f052a73
--- /dev/null
+++ b/chromeos-base/chromeos-lacros/chromeos-lacros-106.0.5239.0-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# No git repo for this so use empty-project.
+CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
+CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="platform/empty-project"
+
+inherit cros-workon
+
+DESCRIPTION="Rootfs lacros for all architectures"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+S="${WORKDIR}"
+
+# All runtime dependencies should already be part of
+# chromeos-base/chromeos-chrome, the ones that aren't will be handled in
+# crbug.com/1199441.
+RDEPEND="chromeos-base/chromeos-chrome"
+DEPEND=""
+
+if [[ ${PV} != 9999 ]]; then
+	ORIG_URI="gs://chrome-unsigned/desktop-5c0tCh"
+	SRC_URI="
+		amd64? (
+			${ORIG_URI}/${PV}/lacros64/lacros_compressed.squash -> ${PN}-amd64-squash-${PV}
+			${ORIG_URI}/${PV}/lacros64/metadata.json -> ${PN}-amd64-metadata-${PV}
+		)
+		arm? (
+			${ORIG_URI}/${PV}/lacros-arm32/lacros_compressed.squash -> ${PN}-arm-squash-${PV}
+			${ORIG_URI}/${PV}/lacros-arm32/metadata.json -> ${PN}-arm-metadata-${PV}
+		)
+		arm64? (
+			${ORIG_URI}/${PV}/lacros-arm64/lacros_compressed.squash -> ${PN}-arm64-squash-${PV}
+			${ORIG_URI}/${PV}/lacros-arm64/metadata.json -> ${PN}-arm64-metadata-${PV}
+		)
+	"
+fi
+
+# Don't need to unpack anything.
+# Also suppresses messages related to unpacking unrecognized formats.
+src_unpack() {
+	:
+}
+
+src_install() {
+	insinto /opt/google/lacros
+	newins "${DISTDIR}/${PN}-${ARCH}-squash-${PV}" lacros.squash
+	newins "${DISTDIR}/${PN}-${ARCH}-metadata-${PV}" metadata.json
+
+	# Upstart configuration
+	insinto /etc/init
+	doins "${FILESDIR}/lacros-mounter.conf"
+	doins "${FILESDIR}/lacros-unmounter.conf"
+
+	# D-Bus configuration
+	insinto /etc/dbus-1/system.d
+	doins "${FILESDIR}/Lacros.conf"
+}
diff --git a/chromeos-base/chromeos-lacros/chromeos-lacros-9999.ebuild b/chromeos-base/chromeos-lacros/chromeos-lacros-9999.ebuild
index 4fcce9b..99f1d46 100644
--- a/chromeos-base/chromeos-lacros/chromeos-lacros-9999.ebuild
+++ b/chromeos-base/chromeos-lacros/chromeos-lacros-9999.ebuild
@@ -24,7 +24,6 @@
 
 if [[ ${PV} != 9999 ]]; then
 	ORIG_URI="gs://chrome-unsigned/desktop-5c0tCh"
-	# arm64 will use arm32 build of lacros.
 	SRC_URI="
 		amd64? (
 			${ORIG_URI}/${PV}/lacros64/lacros_compressed.squash -> ${PN}-amd64-squash-${PV}
@@ -35,8 +34,8 @@
 			${ORIG_URI}/${PV}/lacros-arm32/metadata.json -> ${PN}-arm-metadata-${PV}
 		)
 		arm64? (
-			${ORIG_URI}/${PV}/lacros-arm32/lacros_compressed.squash -> ${PN}-arm-squash-${PV}
-			${ORIG_URI}/${PV}/lacros-arm32/metadata.json -> ${PN}-arm-metadata-${PV}
+			${ORIG_URI}/${PV}/lacros-arm64/lacros_compressed.squash -> ${PN}-arm64-squash-${PV}
+			${ORIG_URI}/${PV}/lacros-arm64/metadata.json -> ${PN}-arm64-metadata-${PV}
 		)
 	"
 fi
@@ -49,13 +48,8 @@
 
 src_install() {
 	insinto /opt/google/lacros
-	if use amd64; then
-		newins "${DISTDIR}/${PN}-amd64-squash-${PV}" lacros.squash
-		newins "${DISTDIR}/${PN}-amd64-metadata-${PV}" metadata.json
-	elif use arm || use arm64; then
-		newins "${DISTDIR}/${PN}-arm-squash-${PV}" lacros.squash
-		newins "${DISTDIR}/${PN}-arm-metadata-${PV}" metadata.json
-	fi
+	newins "${DISTDIR}/${PN}-${ARCH}-squash-${PV}" lacros.squash
+	newins "${DISTDIR}/${PN}-${ARCH}-metadata-${PV}" metadata.json
 
 	# Upstart configuration
 	insinto /etc/init
diff --git a/chromeos-base/chromeos-login/chromeos-login-0.0.2-r4905.ebuild b/chromeos-base/chromeos-login/chromeos-login-0.0.2-r4905.ebuild
deleted file mode 100644
index 1aac225..0000000
--- a/chromeos-base/chromeos-login/chromeos-login-0.0.2-r4905.ebuild
+++ /dev/null
@@ -1,138 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "bea140d13f7cf1092e4c89a45011c04c28327972" "c483b9613962116a8881cefbe046d52ce851e598" "56dc9b3a788bc68f829c1e7a1d3b6cf067c7aaf9" "1a6128185802c1ad69c05ed98bd4a1d00a8e5206" "4a0dedab080195bdc122d2289118df4af3ddca2c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk chromeos-config libcontainer libpasswordprovider login_manager metrics .gn"
-
-PLATFORM_SUBDIR="login_manager"
-
-inherit tmpfiles cros-workon cros-unibuild platform systemd user
-
-DESCRIPTION="Login manager for Chromium OS."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-login/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="arc_adb_sideloading cheets client_id fuzzer systemd user_session_isolation"
-
-COMMON_DEPEND="chromeos-base/bootstat:=
-	chromeos-base/chromeos-config-tools:=
-	chromeos-base/minijail:=
-	chromeos-base/cryptohome:=
-	chromeos-base/libchromeos-ui:=
-	chromeos-base/libcontainer:=
-	chromeos-base/libpasswordprovider:=
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	dev-libs/nss:=
-	dev-libs/protobuf:=
-	fuzzer? ( dev-libs/libprotobuf-mutator:= )
-	sys-apps/util-linux:=
-"
-
-RDEPEND="${COMMON_DEPEND}
-	client_id? ( chromeos-base/client_id:= )
-"
-
-DEPEND="${COMMON_DEPEND}
-	>=chromeos-base/protofiles-0.0.43:=
-	chromeos-base/system_api:=[fuzzer?]
-	chromeos-base/vboot_reference:=
-"
-
-pkg_preinst() {
-	enewgroup policy-readers
-}
-
-platform_pkg_test() {
-	local tests=( session_manager_test )
-
-	# Qemu doesn't support signalfd currently, and it's not clear how
-	# feasible it is to implement :(.
-	# So, filter out the tests that rely on signalfd().
-	local gtest_qemu_filter=""
-	if ! use x86 && ! use amd64; then
-		gtest_qemu_filter+="-ChildExitHandlerTest.*"
-		gtest_qemu_filter+=":SessionManagerProcessTest.*"
-	fi
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}" "0" "" "${gtest_qemu_filter}"
-	done
-}
-
-src_install() {
-	into /
-	dosbin "${OUT}/keygen"
-	dosbin "${OUT}/session_manager"
-
-	# Install DBus configuration.
-	insinto /usr/share/dbus-1/interfaces
-	doins dbus_bindings/org.chromium.SessionManagerInterface.xml
-
-	insinto /etc/dbus-1/system.d
-	doins SessionManager.conf
-
-	# Adding init scripts.
-	if use systemd; then
-		systemd_dounit init/systemd/*
-		systemd_enable_service x-started.target
-		systemd_enable_service multi-user.target ui.target
-		systemd_enable_service ui.target ui.service
-		systemd_enable_service ui.service machine-info.service
-		systemd_enable_service login-prompt-visible.target send-uptime-metrics.service
-		systemd_enable_service login-prompt-visible.target ui-init-late.service
-		systemd_enable_service start-user-session.target login.service
-		systemd_enable_service system-services.target ui-collect-machine-info.service
-	else
-		insinto /etc/init
-		doins init/upstart/*.conf
-	fi
-	exeinto /usr/share/cros/init/
-	doexe init/scripts/*
-
-	dotmpfiles tmpfiles.d/chromeos-login.conf
-
-	# For user session processes.
-	dodir /etc/skel/log
-
-	# For user NSS database
-	diropts -m0700
-	# Need to dodir each directory in order to get the opts right.
-	dodir /etc/skel/.pki
-	dodir /etc/skel/.pki/nssdb
-	# Yes, the created (empty) DB does work on ARM, x86 and x86_64.
-	certutil -N -d "sql:${D}/etc/skel/.pki/nssdb" -f <(echo '') || die
-
-	insinto /etc
-	doins chrome_dev.conf
-
-	insinto /usr/share/power_manager
-	doins powerd_prefs/suspend_freezer_deps_*
-
-	# Create daemon store directories.
-	local daemon_store="/etc/daemon-store/session_manager"
-	dodir "${daemon_store}"
-	fperms 0700 "${daemon_store}"
-	fowners root:root "${daemon_store}"
-
-	local fuzzers=(
-		login_manager_validator_utils_fuzzer
-		login_manager_validator_utils_policy_desc_fuzzer
-	)
-
-	local fuzzer
-	for fuzzer in "${fuzzers[@]}"; do
-		# fuzzer_component_id is unknown/unlisted
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}/${fuzzer}"
-	done
-}
diff --git a/chromeos-base/chromeos-login/chromeos-login-0.0.2-r5083.ebuild b/chromeos-base/chromeos-login/chromeos-login-0.0.2-r5083.ebuild
new file mode 100644
index 0000000..1ab6d72
--- /dev/null
+++ b/chromeos-base/chromeos-login/chromeos-login-0.0.2-r5083.ebuild
@@ -0,0 +1,138 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "527abd7a988a45572305a6c44b5324d0d9cf8be2" "dbb4c5a189c098e0c692a1dee66f5a6b6ef33a32" "fb8e41991af9e4c6c88768b137a9b48e4e5e47da" "86c7faad3e91503ff0fd5d28ede2e13016668322" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk chromeos-config libcontainer libpasswordprovider login_manager metrics .gn"
+
+PLATFORM_SUBDIR="login_manager"
+
+inherit tmpfiles cros-workon cros-unibuild platform systemd user
+
+DESCRIPTION="Login manager for Chromium OS."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/login_manager/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="arc_adb_sideloading cheets flex_id fuzzer systemd user_session_isolation"
+
+COMMON_DEPEND="chromeos-base/bootstat:=
+	chromeos-base/chromeos-config-tools:=
+	chromeos-base/minijail:=
+	chromeos-base/cryptohome:=
+	chromeos-base/libchromeos-ui:=
+	chromeos-base/libcontainer:=
+	chromeos-base/libpasswordprovider:=
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	dev-libs/nss:=
+	dev-libs/protobuf:=
+	fuzzer? ( dev-libs/libprotobuf-mutator:= )
+	sys-apps/util-linux:=
+"
+
+RDEPEND="${COMMON_DEPEND}
+	flex_id? ( chromeos-base/flex_id:= )
+"
+
+DEPEND="${COMMON_DEPEND}
+	>=chromeos-base/protofiles-0.0.43:=
+	chromeos-base/system_api:=[fuzzer?]
+	chromeos-base/vboot_reference:=
+"
+
+pkg_preinst() {
+	enewgroup policy-readers
+}
+
+platform_pkg_test() {
+	local tests=( session_manager_test )
+
+	# Qemu doesn't support signalfd currently, and it's not clear how
+	# feasible it is to implement :(.
+	# So, filter out the tests that rely on signalfd().
+	local gtest_qemu_filter=""
+	if ! use x86 && ! use amd64; then
+		gtest_qemu_filter+="-ChildExitHandlerTest.*"
+		gtest_qemu_filter+=":SessionManagerProcessTest.*"
+	fi
+
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}" "0" "" "${gtest_qemu_filter}"
+	done
+}
+
+src_install() {
+	into /
+	dosbin "${OUT}/keygen"
+	dosbin "${OUT}/session_manager"
+
+	# Install DBus configuration.
+	insinto /usr/share/dbus-1/interfaces
+	doins dbus_bindings/org.chromium.SessionManagerInterface.xml
+
+	insinto /etc/dbus-1/system.d
+	doins SessionManager.conf
+
+	# Adding init scripts.
+	if use systemd; then
+		systemd_dounit init/systemd/*
+		systemd_enable_service x-started.target
+		systemd_enable_service multi-user.target ui.target
+		systemd_enable_service ui.target ui.service
+		systemd_enable_service ui.service machine-info.service
+		systemd_enable_service login-prompt-visible.target send-uptime-metrics.service
+		systemd_enable_service login-prompt-visible.target ui-init-late.service
+		systemd_enable_service start-user-session.target login.service
+		systemd_enable_service system-services.target ui-collect-machine-info.service
+	else
+		insinto /etc/init
+		doins init/upstart/*.conf
+	fi
+	exeinto /usr/share/cros/init/
+	doexe init/scripts/*
+
+	dotmpfiles tmpfiles.d/chromeos-login.conf
+
+	# For user session processes.
+	dodir /etc/skel/log
+
+	# For user NSS database
+	diropts -m0700
+	# Need to dodir each directory in order to get the opts right.
+	dodir /etc/skel/.pki
+	dodir /etc/skel/.pki/nssdb
+	# Yes, the created (empty) DB does work on ARM, x86 and x86_64.
+	certutil -N -d "sql:${D}/etc/skel/.pki/nssdb" -f <(echo '') || die
+
+	insinto /etc
+	doins chrome_dev.conf
+
+	insinto /usr/share/power_manager
+	doins powerd_prefs/suspend_freezer_deps_*
+
+	# Create daemon store directories.
+	local daemon_store="/etc/daemon-store/session_manager"
+	dodir "${daemon_store}"
+	fperms 0700 "${daemon_store}"
+	fowners root:root "${daemon_store}"
+
+	local fuzzers=(
+		login_manager_validator_utils_fuzzer
+		login_manager_validator_utils_policy_desc_fuzzer
+	)
+
+	local fuzzer
+	for fuzzer in "${fuzzers[@]}"; do
+		# fuzzer_component_id is unknown/unlisted
+		platform_fuzzer_install "${S}"/OWNERS "${OUT}/${fuzzer}"
+	done
+}
diff --git a/chromeos-base/chromeos-login/chromeos-login-9999.ebuild b/chromeos-base/chromeos-login/chromeos-login-9999.ebuild
index 1ffaeee..f500b9c 100644
--- a/chromeos-base/chromeos-login/chromeos-login-9999.ebuild
+++ b/chromeos-base/chromeos-login/chromeos-login-9999.ebuild
@@ -15,12 +15,12 @@
 inherit tmpfiles cros-workon cros-unibuild platform systemd user
 
 DESCRIPTION="Login manager for Chromium OS."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-login/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/login_manager/"
 SRC_URI=""
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
-IUSE="arc_adb_sideloading cheets client_id fuzzer systemd user_session_isolation"
+IUSE="arc_adb_sideloading cheets flex_id fuzzer systemd user_session_isolation"
 
 COMMON_DEPEND="chromeos-base/bootstat:=
 	chromeos-base/chromeos-config-tools:=
@@ -37,7 +37,7 @@
 "
 
 RDEPEND="${COMMON_DEPEND}
-	client_id? ( chromeos-base/client_id:= )
+	flex_id? ( chromeos-base/flex_id:= )
 "
 
 DEPEND="${COMMON_DEPEND}
diff --git a/chromeos-base/chromeos-login/files/revision_bump b/chromeos-base/chromeos-login/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/chromeos-login/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/chromeos-nvt-tcon-updater/chromeos-nvt-tcon-updater-0.0.1-r5.ebuild b/chromeos-base/chromeos-nvt-tcon-updater/chromeos-nvt-tcon-updater-0.0.1-r5.ebuild
deleted file mode 100644
index 63f760e..0000000
--- a/chromeos-base/chromeos-nvt-tcon-updater/chromeos-nvt-tcon-updater-0.0.1-r5.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the BSD license.
-
-EAPI="7"
-
-CROS_WORKON_COMMIT="c2e0a76ececf0566758e921a6e1791d201ee30f6"
-CROS_WORKON_TREE="46004e0e5781880050cd53e1f573fda1e540cec5"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE="chromeos-nvt-tcon-updater"
-
-inherit cros-workon user
-
-DESCRIPTION="Shell library for integrating the Novatek TCON Firmware updater"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-
-RDEPEND="
-	chromeos-base/chromeos-init
-	chromeos-base/common-assets
-	chromeos-base/minijail
-	sys-apps/novatek-tcon-fw-update-tool
-"
-
-pkg_preinst() {
-	enewgroup fwupdate-drm_dp_aux-i2c
-	enewuser fwupdate-drm_dp_aux-i2c
-}
-
-src_install() {
-	insinto "/opt/google/tcon/policies"
-	doins chromeos-nvt-tcon-updater/policies/"${ARCH}"/nvt-tcon-fw-updater.update.policy
-
-	insinto "/opt/google/tcon/scripts"
-	doins chromeos-nvt-tcon-updater/scripts/chromeos-nvt-tcon-firmware-update.sh
-}
diff --git a/chromeos-base/chromeos-nvt-tcon-updater/chromeos-nvt-tcon-updater-0.0.1-r7.ebuild b/chromeos-base/chromeos-nvt-tcon-updater/chromeos-nvt-tcon-updater-0.0.1-r7.ebuild
new file mode 100644
index 0000000..056832e
--- /dev/null
+++ b/chromeos-base/chromeos-nvt-tcon-updater/chromeos-nvt-tcon-updater-0.0.1-r7.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the BSD license.
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="d9d43a0414900ef0ac91d61ad9f0e9da7729787b"
+CROS_WORKON_TREE="7decdf4cfcc8b3e1c1e53ab5186dbb2ba4629f31"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_SUBTREE="chromeos-nvt-tcon-updater"
+
+inherit cros-workon user
+
+DESCRIPTION="Shell library for integrating the Novatek TCON Firmware updater"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+
+RDEPEND="
+	chromeos-base/chromeos-init
+	chromeos-base/common-assets
+	chromeos-base/minijail
+	sys-apps/novatek-tcon-fw-update-tool
+"
+
+pkg_preinst() {
+	enewgroup fwupdate-drm_dp_aux-i2c
+	enewuser fwupdate-drm_dp_aux-i2c
+}
+
+src_install() {
+	insinto "/opt/google/tcon/policies"
+	doins chromeos-nvt-tcon-updater/policies/"${ARCH}"/nvt-tcon-fw-updater.update.policy
+
+	insinto "/opt/google/tcon/scripts"
+	doins chromeos-nvt-tcon-updater/scripts/chromeos-nvt-tcon-firmware-update.sh
+}
diff --git a/chromeos-base/chromeos-nvt-touch-updater/Manifest b/chromeos-base/chromeos-nvt-touch-updater/Manifest
index a1ef6c6..817a447 100644
--- a/chromeos-base/chromeos-nvt-touch-updater/Manifest
+++ b/chromeos-base/chromeos-nvt-touch-updater/Manifest
@@ -1 +1 @@
-DIST chromeos-nvt-touch-updater-1.0.5.tar.gz 18554 BLAKE2B ef8b794459d256c4000d72b4b239f16ebd8f0a4419a3f54d2ae16da128c2d0cdda2d48531e65db27032f5f3d39d51de6c7588a26b9ee859acfcac740419bb725 SHA512 209653c3cdfc1eb90e338919e7feabc8cc40d08a3502f2e6425f2054c0cf6e5d45d08dad6491ca25d0a8b0c4f8c03e27aa67936ae398bb8de8aa8c3049e29b48
+DIST chromeos-nvt-touch-updater-1.0.7.tar.gz 18923 BLAKE2B a9e3ace3177128f449a7e2f59fe035c1a97bd1087a396b33bc4b3659e5dd62432cd72ab023b13cfead5acc8602f5921c42fd9c6aa0669c9da3ee823432e11193 SHA512 a0d9978cc49a3c1a832ddf276cfae7cb89f2582931208a088b156a56b08032c3a8645131afa55a7f761713dd6e80add3965a0dc1c17e48eaab413a9d450d21b8
diff --git a/chromeos-base/chromeos-nvt-touch-updater/chromeos-nvt-touch-updater-1.0.7-r1.ebuild b/chromeos-base/chromeos-nvt-touch-updater/chromeos-nvt-touch-updater-1.0.7-r1.ebuild
new file mode 120000
index 0000000..7424e55
--- /dev/null
+++ b/chromeos-base/chromeos-nvt-touch-updater/chromeos-nvt-touch-updater-1.0.7-r1.ebuild
@@ -0,0 +1 @@
+chromeos-nvt-touch-updater-1.0.7.ebuild
\ No newline at end of file
diff --git a/chromeos-base/chromeos-nvt-touch-updater/chromeos-nvt-touch-updater-1.0.5.ebuild b/chromeos-base/chromeos-nvt-touch-updater/chromeos-nvt-touch-updater-1.0.7.ebuild
similarity index 100%
rename from chromeos-base/chromeos-nvt-touch-updater/chromeos-nvt-touch-updater-1.0.5.ebuild
rename to chromeos-base/chromeos-nvt-touch-updater/chromeos-nvt-touch-updater-1.0.7.ebuild
diff --git a/chromeos-base/chromeos-oobe-assets/Manifest b/chromeos-base/chromeos-oobe-assets/Manifest
deleted file mode 100644
index ff78fe2..0000000
--- a/chromeos-base/chromeos-oobe-assets/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST chromeos-oobe-assets-default-20180919.tar.gz 235197 SHA256 2097bfa850116d15a3c78c448b7e3bd3a06a2e3d2540220d5d208a3492966b52 SHA512 9c441fe9405a48f6bf726bdf4c2290cf8d4a62dde5d25562729380e530c3327f67e6257edfbccdf36c6595707a51d8ef5b90b4686f4de6666be3b5abfe443ec2 WHIRLPOOL 36e1737643779233852eae2d10df3a55c999fbc3bee448dc1d0e705c59cbb289df7f890ca56bccba3ad320b0fb847778596fc405cbcf597461940d09f97e058f
diff --git a/chromeos-base/chromeos-oobe-assets/chromeos-oobe-assets-20180919.ebuild b/chromeos-base/chromeos-oobe-assets/chromeos-oobe-assets-20180919.ebuild
deleted file mode 100644
index a94272a..0000000
--- a/chromeos-base/chromeos-oobe-assets/chromeos-oobe-assets-20180919.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-DESCRIPTION="OOBE videos for Chrome OS"
-
-SRC_URI="gs://chromeos-localmirror/distfiles/${PN}-default-${PV}.tar.gz"
-S=${WORKDIR}
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-src_install() {
-	insinto /usr/share/chromeos-assets/oobe_videos
-	doins -r *
-}
diff --git a/chromeos-base/chromeos-ssh-testkeys/chromeos-ssh-testkeys-0.0.1-r2.ebuild b/chromeos-base/chromeos-ssh-testkeys/chromeos-ssh-testkeys-0.0.1-r3.ebuild
similarity index 100%
rename from chromeos-base/chromeos-ssh-testkeys/chromeos-ssh-testkeys-0.0.1-r2.ebuild
rename to chromeos-base/chromeos-ssh-testkeys/chromeos-ssh-testkeys-0.0.1-r3.ebuild
diff --git a/chromeos-base/chromeos-ssh-testkeys/chromeos-ssh-testkeys-0.0.1.ebuild b/chromeos-base/chromeos-ssh-testkeys/chromeos-ssh-testkeys-0.0.1.ebuild
index 2d713a9..b1a58ff 100644
--- a/chromeos-base/chromeos-ssh-testkeys/chromeos-ssh-testkeys-0.0.1.ebuild
+++ b/chromeos-base/chromeos-ssh-testkeys/chromeos-ssh-testkeys-0.0.1.ebuild
@@ -2,24 +2,24 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-EAPI="4"
+EAPI="7"
 
 DESCRIPTION="Install Chromium OS ssh test keys to a shared location."
-HOMEPAGE="http://www.chromium.org/"
+HOMEPAGE="https://dev.chromium.org/chromium-os/"
 
 LICENSE="BSD-Google"
 SLOT="0"
 KEYWORDS="*"
+IUSE="-generated_ssh_key"
 
 S="${WORKDIR}"
 
-IUSE="-generated_ssh_key"
 KEYSDIR="${FILESDIR}"
 
 generate_key_pair() {
 	einfo "Generating ssh key pair in ${S} ..."
 	ssh-keygen -t rsa -b 4096 -C "ChromeOS test key" -N "" \
-		-f "${S}"/testing_rsa
+		-f "${S}"/testing_rsa || die
 	KEYSDIR="${S}"
 }
 
diff --git a/chromeos-base/chromeos-storage-info/OWNERS b/chromeos-base/chromeos-storage-info/OWNERS
new file mode 100644
index 0000000..31c2b7a
--- /dev/null
+++ b/chromeos-base/chromeos-storage-info/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/storage_info/OWNERS
diff --git a/chromeos-base/chromeos-storage-info/chromeos-storage-info-0.0.1-r327.ebuild b/chromeos-base/chromeos-storage-info/chromeos-storage-info-0.0.1-r327.ebuild
deleted file mode 100644
index febf860..0000000
--- a/chromeos-base/chromeos-storage-info/chromeos-storage-info-0.0.1-r327.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "5677517e4588520ad730f2709f010c78505d8101" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk storage_info .gn"
-
-PLATFORM_SUBDIR="storage_info"
-
-inherit cros-workon platform
-
-DESCRIPTION="Chrome OS storage info tools"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/storage_info/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="mmc nvme +sata test"
-
-DEPEND=""
-
-RDEPEND="${DEPEND}
-	chromeos-base/chromeos-common-script
-	sata? ( sys-apps/hdparm sys-apps/smartmontools )
-	nvme? ( sys-apps/smartmontools )
-	mmc? ( sys-apps/mmc-utils )"
-
-platform_pkg_test() {
-	platform_test "run" "test/storage_info_unit_test"
-}
-
-src_install() {
-	insinto /usr/share/misc
-	doins share/storage-info-common.sh
-}
diff --git a/chromeos-base/chromeos-storage-info/chromeos-storage-info-0.0.1-r388.ebuild b/chromeos-base/chromeos-storage-info/chromeos-storage-info-0.0.1-r388.ebuild
new file mode 100644
index 0000000..3898ec8
--- /dev/null
+++ b/chromeos-base/chromeos-storage-info/chromeos-storage-info-0.0.1-r388.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "f008fb9e266cb811b8604fca21e59d8114dab267" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk storage_info .gn"
+
+PLATFORM_SUBDIR="storage_info"
+
+inherit cros-workon platform
+
+DESCRIPTION="Chrome OS storage info tools"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/storage_info/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="mmc nvme +sata test"
+
+DEPEND=""
+
+RDEPEND="${DEPEND}
+	chromeos-base/chromeos-common-script
+	sata? ( sys-apps/hdparm sys-apps/smartmontools )
+	nvme? ( sys-apps/smartmontools )
+	mmc? ( sys-apps/mmc-utils )"
+
+platform_pkg_test() {
+	platform_test "run" "test/storage_info_unit_test"
+}
+
+src_install() {
+	insinto /usr/share/misc
+	doins share/storage-info-common.sh
+}
diff --git a/chromeos-base/chromeos-storage-info/chromeos-storage-info-9999.ebuild b/chromeos-base/chromeos-storage-info/chromeos-storage-info-9999.ebuild
index dcbc0ac..a776ff0 100644
--- a/chromeos-base/chromeos-storage-info/chromeos-storage-info-9999.ebuild
+++ b/chromeos-base/chromeos-storage-info/chromeos-storage-info-9999.ebuild
@@ -13,7 +13,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Chrome OS storage info tools"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/storage_info/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/storage_info/"
 SRC_URI=""
 
 LICENSE="BSD-Google"
diff --git a/chromeos-base/chromeos-storage-info/files/revision_bump b/chromeos-base/chromeos-storage-info/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/chromeos-storage-info/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/chromeos-test-init/chromeos-test-init-0.0.1-r3164.ebuild b/chromeos-base/chromeos-test-init/chromeos-test-init-0.0.1-r3164.ebuild
deleted file mode 100644
index 1955507..0000000
--- a/chromeos-base/chromeos-test-init/chromeos-test-init-0.0.1-r3164.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-CROS_WORKON_COMMIT="63fa2b65ba2d5e10c8acb360e933fa0e23d26d0e"
-CROS_WORKON_TREE="8003c2b9367e0f055d0e2f89bb2a8de0784d8dde"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_DESTDIR="${S}"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="init/upstart/test-init"
-
-inherit cros-workon
-
-DESCRIPTION="Additional upstart jobs that will be installed on test images"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/init/"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE="+encrypted_stateful tpm2"
-
-# File cryptohome-dbus-perf.conf moved from hwsec-test-utils.
-RDEPEND="!<chromeos-base/hwsec-test-utils-0.0.1-r83"
-
-src_unpack() {
-	cros-workon_src_unpack
-	S+="/init"
-}
-
-src_install() {
-	insinto /etc/init
-	doins upstart/test-init/*.conf
-
-	insinto /usr/share/cros
-	doins upstart/test-init/*_utils.sh
-
-	if use encrypted_stateful && use tpm2; then
-		insinto /etc/init
-		doins upstart/test-init/encrypted_stateful/create-system-key.conf
-
-		insinto /usr/share/cros
-		doins upstart/test-init/encrypted_stateful/system_key_utils.sh
-	fi
-}
diff --git a/chromeos-base/chromeos-test-init/chromeos-test-init-0.0.1-r3166.ebuild b/chromeos-base/chromeos-test-init/chromeos-test-init-0.0.1-r3166.ebuild
new file mode 100644
index 0000000..11ab43e
--- /dev/null
+++ b/chromeos-base/chromeos-test-init/chromeos-test-init-0.0.1-r3166.ebuild
@@ -0,0 +1,45 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+CROS_WORKON_COMMIT="842dc3cff015ce18b874a32803498283e82fcaa3"
+CROS_WORKON_TREE="f4c86152d8c9c209f9fa46c547f797dd2e6549a4"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_DESTDIR="${S}"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="init/upstart/test-init"
+
+inherit cros-workon
+
+DESCRIPTION="Additional upstart jobs that will be installed on test images"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/init/"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="+encrypted_stateful tpm2"
+
+# File cryptohome-dbus-perf.conf moved from hwsec-test-utils.
+RDEPEND="!<chromeos-base/hwsec-test-utils-0.0.1-r83"
+
+src_unpack() {
+	cros-workon_src_unpack
+	S+="/init"
+}
+
+src_install() {
+	insinto /etc/init
+	doins upstart/test-init/*.conf
+
+	insinto /usr/share/cros
+	doins upstart/test-init/*_utils.sh
+
+	if use encrypted_stateful && use tpm2; then
+		insinto /etc/init
+		doins upstart/test-init/encrypted_stateful/create-system-key.conf
+
+		insinto /usr/share/cros
+		doins upstart/test-init/encrypted_stateful/system_key_utils.sh
+	fi
+}
diff --git a/chromeos-base/chromeos-test-init/chromeos-test-init-9999.ebuild b/chromeos-base/chromeos-test-init/chromeos-test-init-9999.ebuild
index 2a8bc88..32b8095 100644
--- a/chromeos-base/chromeos-test-init/chromeos-test-init-9999.ebuild
+++ b/chromeos-base/chromeos-test-init/chromeos-test-init-9999.ebuild
@@ -11,7 +11,7 @@
 inherit cros-workon
 
 DESCRIPTION="Additional upstart jobs that will be installed on test images"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/init/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/init/"
 
 LICENSE="BSD-Google"
 SLOT="0"
diff --git a/chromeos-base/chromeos-test-root/chromeos-test-root-0.0.1-r11.ebuild b/chromeos-base/chromeos-test-root/chromeos-test-root-0.0.1-r12.ebuild
similarity index 100%
rename from chromeos-base/chromeos-test-root/chromeos-test-root-0.0.1-r11.ebuild
rename to chromeos-base/chromeos-test-root/chromeos-test-root-0.0.1-r12.ebuild
diff --git a/chromeos-base/chromeos-test-root/chromeos-test-root-0.0.1.ebuild b/chromeos-base/chromeos-test-root/chromeos-test-root-0.0.1.ebuild
index 7fe8c1e..aba5ec3 100644
--- a/chromeos-base/chromeos-test-root/chromeos-test-root-0.0.1.ebuild
+++ b/chromeos-base/chromeos-test-root/chromeos-test-root-0.0.1.ebuild
@@ -17,12 +17,16 @@
 SLOT="0"
 # Include bootchart in the test image unless explicitly disabled. Bootchart is
 # disabled by default and enabled by the "cros_bootchart" kernel arg.
-IUSE="+bootchart"
+IUSE="
+	+bootchart
+	dlc
+"
 
 RDEPEND="
 	bootchart? ( app-benchmarks/bootchart )
 	chromeos-base/chromeos-test-init
 	chromeos-base/update-utils
+	dlc? ( chromeos-base/test-dlc )
 	virtual/chromeos-test-testauthkeys
 	virtual/chromeos-bsp-test-root
 "
diff --git a/chromeos-base/chromeos-ti50/Manifest b/chromeos-base/chromeos-ti50/Manifest
index fa2295e..9cda0e1 100644
--- a/chromeos-base/chromeos-ti50/Manifest
+++ b/chromeos-base/chromeos-ti50/Manifest
@@ -1 +1,2 @@
-DIST ti50.ro.0.0.17.rw.0.0.13.tar.xz 231896 BLAKE2B f39a9db014b87537542cdee1efafed6ee61ad530218a8e587c48a90cbf4e583bc97988053d5b67128b1ec803a2b502d154bc57909ecd4883377fdd1c864d2274 SHA512 ee411193ff4a218c73a1f4625db97b8c2033dc8dc9dafcfafd758e1b3618005e48e8526d894a6658b39c894bd4503fc179d0ed630275d5fcee1aabaaf8f235c8
+DIST ti50.ro.0.0.26.rw.0.21.0.tar.xz 328340 BLAKE2B f5339487fea74c3dffd05026d9b3241327ffc2c3ffd290b10d82493ff566e21716f66bd2004b49eedd2ad2b74123d27c8c7bfccd3bd69e9f616c14061e2257ba SHA512 b5250436092ca29943a118ac5bef412ca950482cf01f477241a3335ae69e4a2855c4a5ec5ceb3c186d0a166de9f5bbc80fc16b0e11a080d5a04b6b352d5fca15
+DIST ti50.ro.0.0.26.rw.0.22.3_FFFF_00000000_00000010.tar.xz 338520 BLAKE2B fbb1ecab8c3d40d2a4694f2c4a0e559ac3b4a1e52f93f4e5a8dd8e76c11393d3048f9827c6699e50e345b236ffefe5229e03047f06584f3ab35bd6d1fe403d28 SHA512 2cd5823c654ea1fa8cb9d6c2d6e46dc600b7aad77a3d3b3b328f313949037fa39f2d4adc5dd0d0aabd8e951d015de9d31a697311b065e840966b02dba1400737
diff --git a/chromeos-base/chromeos-ti50/chromeos-ti50-0.0.1-r6.ebuild b/chromeos-base/chromeos-ti50/chromeos-ti50-0.0.1-r16.ebuild
similarity index 100%
rename from chromeos-base/chromeos-ti50/chromeos-ti50-0.0.1-r6.ebuild
rename to chromeos-base/chromeos-ti50/chromeos-ti50-0.0.1-r16.ebuild
diff --git a/chromeos-base/chromeos-ti50/chromeos-ti50-0.0.1.ebuild b/chromeos-base/chromeos-ti50/chromeos-ti50-0.0.1.ebuild
index 3d792ca..9783459 100644
--- a/chromeos-base/chromeos-ti50/chromeos-ti50-0.0.1.ebuild
+++ b/chromeos-base/chromeos-ti50/chromeos-ti50-0.0.1.ebuild
@@ -8,20 +8,19 @@
 LICENSE="BSD-Google"
 SLOT="0"
 KEYWORDS="*"
+IUSE="cros_host"
 
 # CR50 and TI50 share the same development tools, e.g. gsctool
 RDEPEND="chromeos-base/chromeos-cr50-dev
-	chromeos-base/chromeos-cr50-scripts"
+	!cros_host? ( chromeos-base/chromeos-cr50-scripts )"
 
 # There are two major types of images of Ti50, prod (used on most MP devices)
 # and pre-pvt, used on devices still not fully released.
-#
-# For now only the PrePVT image is installed until ti50 development gets
-# further along
-PRE_PVT_IMAGE="ti50.ro.0.0.17.rw.0.0.13"
+PROD_IMAGE="ti50.ro.0.0.26.rw.0.21.0"
+PRE_PVT_IMAGE="ti50.ro.0.0.26.rw.0.22.3_FFFF_00000000_00000010"
 
 # Ensure all images and included in the manifest.
-TI50_BASE_NAMES=( "${PRE_PVT_IMAGE}" )
+TI50_BASE_NAMES=( "${PROD_IMAGE}" "${PRE_PVT_IMAGE}" )
 MIRROR_PATH="gs://chromeos-localmirror/distfiles/"
 SRC_URI="$(printf " ${MIRROR_PATH}/%s.tar.xz" "${TI50_BASE_NAMES[@]}")"
 
@@ -34,7 +33,8 @@
 
 	insinto /opt/google/ti50/firmware
 
-	einfo "Will install ${PRE_PVT_IMAGE}"
+	einfo "Will install ${PROD_IMAGE} and ${PRE_PVT_IMAGE}"
 
-	newins "${PRE_PVT_IMAGE}"/*.bin.prod ti50.bin.prepvt
+	newins "${PROD_IMAGE}"/*.bin.prod ti50.bin.prod
+	newins "${PRE_PVT_IMAGE}"/*.bin.prepvt ti50.bin.prepvt
 }
diff --git a/chromeos-base/chromeos-touch-common/chromeos-touch-common-0.0.1-r13.ebuild b/chromeos-base/chromeos-touch-common/chromeos-touch-common-0.0.1-r13.ebuild
deleted file mode 100644
index b6598cc..0000000
--- a/chromeos-base/chromeos-touch-common/chromeos-touch-common-0.0.1-r13.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright (c) 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the BSD license.
-
-EAPI=7
-CROS_WORKON_COMMIT="c7851332f4755c9bf6f29d60cdb1c1a21500175b"
-CROS_WORKON_TREE="7daad4c6871c83b2f58298b7981a5cd089025b4c"
-CROS_WORKON_PROJECT="chromiumos/platform/touch_updater"
-CROS_WORKON_LOCALNAME="touch_updater"
-CROS_WORKON_SUBTREE="common"
-CROS_WORKON_OUTOFTREE_BUILD=1
-
-inherit cros-workon
-
-DESCRIPTION="Common shell libraries for touch firmware updater wrapper scripts"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-
-RDEPEND="
-	sys-apps/mosys
-	!<chromeos-base/touch_updater-0.0.1-r167
-"
-
-src_install() {
-	insinto "/opt/google/touch/scripts"
-	doins common/scripts/*.sh
-}
diff --git a/chromeos-base/chromeos-touch-common/chromeos-touch-common-0.0.1-r14.ebuild b/chromeos-base/chromeos-touch-common/chromeos-touch-common-0.0.1-r14.ebuild
new file mode 100644
index 0000000..56cd63f
--- /dev/null
+++ b/chromeos-base/chromeos-touch-common/chromeos-touch-common-0.0.1-r14.ebuild
@@ -0,0 +1,29 @@
+# Copyright (c) 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the BSD license.
+
+EAPI=7
+CROS_WORKON_COMMIT="46049065b64833eea0586130ab0acbbd9e733052"
+CROS_WORKON_TREE="2f4b7841e05fce061d3991b0efb7c793cd33305a"
+CROS_WORKON_PROJECT="chromiumos/platform/touch_updater"
+CROS_WORKON_LOCALNAME="touch_updater"
+CROS_WORKON_SUBTREE="common"
+CROS_WORKON_OUTOFTREE_BUILD=1
+
+inherit cros-workon
+
+DESCRIPTION="Common shell libraries for touch firmware updater wrapper scripts"
+HOMEPAGE="https://www.chromium.org/chromium-os"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+
+RDEPEND="
+	sys-apps/mosys
+	!<chromeos-base/touch_updater-0.0.1-r167
+"
+
+src_install() {
+	insinto "/opt/google/touch/scripts"
+	doins common/scripts/*.sh
+}
diff --git a/chromeos-base/chromeos-touch-etphidiap/chromeos-touch-etphidiap-0.0.1-r16.ebuild b/chromeos-base/chromeos-touch-etphidiap/chromeos-touch-etphidiap-0.0.1-r16.ebuild
deleted file mode 100644
index b0fc225..0000000
--- a/chromeos-base/chromeos-touch-etphidiap/chromeos-touch-etphidiap-0.0.1-r16.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright (c) 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the BSD license.
-
-EAPI=7
-CROS_WORKON_COMMIT="51dd7b03b6d4fae7ba61749e0b6c461bfe552f04"
-CROS_WORKON_TREE="bb6c3b6c6859218ed93e22894b20eb95a36f7605"
-CROS_WORKON_PROJECT="chromiumos/platform/touch_updater"
-CROS_WORKON_LOCALNAME="touch_updater"
-CROS_WORKON_SUBTREE="etphidiap"
-CROS_WORKON_OUTOFTREE_BUILD=1
-
-inherit cros-workon user
-
-DESCRIPTION="Wrapper for etphidiap touch firmware updater."
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-
-RDEPEND="
-	chromeos-base/chromeos-touch-common
-	sys-apps/etphidiap
-	!<chromeos-base/touch_updater-0.0.1-r167
-"
-
-pkg_preinst() {
-	enewgroup fwupdate-i2c
-	enewuser fwupdate-i2c
-}
-
-src_install() {
-	exeinto "/opt/google/touch/scripts"
-	doexe etphidiap/scripts/*.sh
-
-	if [ -d "etphidiap/policies/${ARCH}" ]; then
-		insinto "/opt/google/touch/policies"
-		doins etphidiap/policies/"${ARCH}"/*.policy
-	fi
-}
diff --git a/chromeos-base/chromeos-touch-etphidiap/chromeos-touch-etphidiap-0.0.1-r17.ebuild b/chromeos-base/chromeos-touch-etphidiap/chromeos-touch-etphidiap-0.0.1-r17.ebuild
new file mode 100644
index 0000000..90efb8f
--- /dev/null
+++ b/chromeos-base/chromeos-touch-etphidiap/chromeos-touch-etphidiap-0.0.1-r17.ebuild
@@ -0,0 +1,40 @@
+# Copyright (c) 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the BSD license.
+
+EAPI=7
+CROS_WORKON_COMMIT="10b5a325917c30648cb21202b22144fe1dd3eae8"
+CROS_WORKON_TREE="0b0b1f88719b8298d8749ebe6834564f4b9f5b30"
+CROS_WORKON_PROJECT="chromiumos/platform/touch_updater"
+CROS_WORKON_LOCALNAME="touch_updater"
+CROS_WORKON_SUBTREE="etphidiap"
+CROS_WORKON_OUTOFTREE_BUILD=1
+
+inherit cros-workon user
+
+DESCRIPTION="Wrapper for etphidiap touch firmware updater."
+HOMEPAGE="https://www.chromium.org/chromium-os"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+
+RDEPEND="
+	chromeos-base/chromeos-touch-common
+	sys-apps/etphidiap
+	!<chromeos-base/touch_updater-0.0.1-r167
+"
+
+pkg_preinst() {
+	enewgroup fwupdate-i2c
+	enewuser fwupdate-i2c
+}
+
+src_install() {
+	exeinto "/opt/google/touch/scripts"
+	doexe etphidiap/scripts/*.sh
+
+	if [ -d "etphidiap/policies/${ARCH}" ]; then
+		insinto "/opt/google/touch/policies"
+		doins etphidiap/policies/"${ARCH}"/*.policy
+	fi
+}
diff --git a/chromeos-base/chromeos-touch-stupdate/chromeos-touch-stupdate-0.0.1-r12.ebuild b/chromeos-base/chromeos-touch-stupdate/chromeos-touch-stupdate-0.0.1-r12.ebuild
deleted file mode 100644
index 0b35d04..0000000
--- a/chromeos-base/chromeos-touch-stupdate/chromeos-touch-stupdate-0.0.1-r12.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright (c) 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the BSD license.
-
-EAPI=7
-CROS_WORKON_COMMIT="97e19f6c183413affb7dbef8b4265234b78f6365"
-CROS_WORKON_TREE="85c862c58d2ad4b07479b1b9ac509b5c1e65c538"
-CROS_WORKON_PROJECT="chromiumos/platform/touch_updater"
-CROS_WORKON_LOCALNAME="touch_updater"
-CROS_WORKON_SUBTREE="stupdate"
-CROS_WORKON_OUTOFTREE_BUILD=1
-
-inherit cros-workon user
-
-DESCRIPTION="Wrapper for ST touch firmware updater."
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-
-RDEPEND="
-	chromeos-base/chromeos-touch-common
-	sys-apps/st-touch-fw-updater
-	!<chromeos-base/touch_updater-0.0.1-r167
-"
-
-pkg_preinst() {
-	enewgroup fwupdate-i2c
-	enewuser fwupdate-i2c
-}
-
-src_install() {
-	exeinto "/opt/google/touch/scripts"
-	doexe stupdate/scripts/*.sh
-
-	if [ -d "stupdate/policies/${ARCH}" ]; then
-		insinto "/opt/google/touch/policies"
-		doins stupdate/policies/"${ARCH}"/*.policy
-	fi
-}
diff --git a/chromeos-base/chromeos-touch-stupdate/chromeos-touch-stupdate-0.0.1-r14.ebuild b/chromeos-base/chromeos-touch-stupdate/chromeos-touch-stupdate-0.0.1-r14.ebuild
new file mode 100644
index 0000000..5e64a09
--- /dev/null
+++ b/chromeos-base/chromeos-touch-stupdate/chromeos-touch-stupdate-0.0.1-r14.ebuild
@@ -0,0 +1,40 @@
+# Copyright (c) 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the BSD license.
+
+EAPI=7
+CROS_WORKON_COMMIT="10b5a325917c30648cb21202b22144fe1dd3eae8"
+CROS_WORKON_TREE="fce9491b27463f6bbbbf3954ea90eb6d674149d7"
+CROS_WORKON_PROJECT="chromiumos/platform/touch_updater"
+CROS_WORKON_LOCALNAME="touch_updater"
+CROS_WORKON_SUBTREE="stupdate"
+CROS_WORKON_OUTOFTREE_BUILD=1
+
+inherit cros-workon user
+
+DESCRIPTION="Wrapper for ST touch firmware updater."
+HOMEPAGE="https://www.chromium.org/chromium-os"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+
+RDEPEND="
+	chromeos-base/chromeos-touch-common
+	sys-apps/st-touch-fw-updater
+	!<chromeos-base/touch_updater-0.0.1-r167
+"
+
+pkg_preinst() {
+	enewgroup fwupdate-i2c
+	enewuser fwupdate-i2c
+}
+
+src_install() {
+	exeinto "/opt/google/touch/scripts"
+	doexe stupdate/scripts/*.sh
+
+	if [ -d "stupdate/policies/${ARCH}" ]; then
+		insinto "/opt/google/touch/policies"
+		doins stupdate/policies/"${ARCH}"/*.policy
+	fi
+}
diff --git a/chromeos-base/chromeos-trim/chromeos-trim-0.0.1-r1710.ebuild b/chromeos-base/chromeos-trim/chromeos-trim-0.0.1-r1710.ebuild
deleted file mode 100644
index 8f2fe72..0000000
--- a/chromeos-base/chromeos-trim/chromeos-trim-0.0.1-r1710.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "1e69ede3d074afd135fa6f2136ea5d99c425702b" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk trim .gn"
-
-PLATFORM_SUBDIR="trim"
-
-inherit cros-workon platform
-
-DESCRIPTION="Stateful partition periodic trimmer"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/trim/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND=""
-
-RDEPEND="${DEPEND}
-	chromeos-base/chromeos-common-script
-	chromeos-base/chromeos-init
-	sys-apps/util-linux"
-
-platform_pkg_test() {
-	platform_test "run" "tests/chromeos-trim-test"
-	platform_test "run" "tests/chromeos-do_trim-test"
-}
-
-src_install() {
-	insinto "/etc/init"
-	doins "init/trim.conf"
-
-	insinto "/usr/share/cros"
-	doins "share/trim_utils.sh"
-
-	dosbin "scripts/chromeos-trim"
-}
diff --git a/chromeos-base/chromeos-trim/chromeos-trim-0.0.1-r1768.ebuild b/chromeos-base/chromeos-trim/chromeos-trim-0.0.1-r1768.ebuild
new file mode 100644
index 0000000..9ee8792
--- /dev/null
+++ b/chromeos-base/chromeos-trim/chromeos-trim-0.0.1-r1768.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "1e69ede3d074afd135fa6f2136ea5d99c425702b" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk trim .gn"
+
+PLATFORM_SUBDIR="trim"
+
+inherit cros-workon platform
+
+DESCRIPTION="Stateful partition periodic trimmer"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/trim/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND=""
+
+RDEPEND="${DEPEND}
+	chromeos-base/chromeos-common-script
+	chromeos-base/chromeos-init
+	sys-apps/util-linux"
+
+platform_pkg_test() {
+	platform_test "run" "tests/chromeos-trim-test"
+	platform_test "run" "tests/chromeos-do_trim-test"
+}
+
+src_install() {
+	insinto "/etc/init"
+	doins "init/trim.conf"
+
+	insinto "/usr/share/cros"
+	doins "share/trim_utils.sh"
+
+	dosbin "scripts/chromeos-trim"
+}
diff --git a/chromeos-base/chromeos-trim/chromeos-trim-9999.ebuild b/chromeos-base/chromeos-trim/chromeos-trim-9999.ebuild
index 8a3af70..9937be7 100644
--- a/chromeos-base/chromeos-trim/chromeos-trim-9999.ebuild
+++ b/chromeos-base/chromeos-trim/chromeos-trim-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Stateful partition periodic trimmer"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/trim/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/trim/"
 SRC_URI=""
 
 LICENSE="BSD-Google"
diff --git a/chromeos-base/chromeos-trim/files/revision_bump b/chromeos-base/chromeos-trim/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/chromeos-trim/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/chromeos-zephyr/chromeos-zephyr-0.0.1-r2759.ebuild b/chromeos-base/chromeos-zephyr/chromeos-zephyr-0.0.1-r2759.ebuild
deleted file mode 100644
index 373f122..0000000
--- a/chromeos-base/chromeos-zephyr/chromeos-zephyr-0.0.1-r2759.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright (C) 2021 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE.makefile file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("0ba3e1d4fba6f8db0a52cd7cd0d1b708eefb1452" "0eef4c5574a033a5584a0711d332b41e01ab50c2" "bfa3b34f638375b505004095ea3e7a60b3cc7788" "8eb6edf6e05c2328605ad351da806fa37cefc068" "48813eba426326f9ee4a5b5f5e45310fe7597a70")
-CROS_WORKON_TREE=("ad801ffd521c4f622dca3b192b539d92238a3394" "b179ccd74d7d387aea458358f205107cb12fddd9" "0806a13ff4dc41aca5ba34176c1b41611c195645" "bea004e95973d9e20bbeb07189966519fc74e8e4" "6ac0be6aa6885a6a72d008c64e4e07882535efe0")
-CROS_WORKON_USE_VCSID=1
-CROS_WORKON_PROJECT=(
-	"chromiumos/third_party/zephyr"
-	"chromiumos/third_party/zephyr/cmsis"
-	"chromiumos/third_party/zephyr/hal_stm32"
-	"chromiumos/third_party/zephyr/nanopb"
-	"chromiumos/platform/ec"
-)
-
-CROS_WORKON_LOCALNAME=(
-	"third_party/zephyr/main/"
-	"third_party/zephyr/cmsis"
-	"third_party/zephyr/hal_stm32"
-	"third_party/zephyr/nanopb"
-	"platform/ec"
-)
-
-CROS_WORKON_DESTDIR=(
-	"${S}/zephyr-base"
-	"${S}/modules/cmsis"
-	"${S}/modules/hal_stm32"
-	"${S}/modules/nanopb"
-	"${S}/modules/ec"
-)
-
-inherit cros-workon cros-unibuild coreboot-sdk toolchain-funcs
-
-DESCRIPTION="Zephyr based Embedded Controller firmware"
-KEYWORDS="*"
-LICENSE="Apache-2.0 BSD-Google"
-IUSE="unibuild"
-REQUIRED_USE="unibuild"
-
-BDEPEND="
-	chromeos-base/zephyr-build-tools
-	dev-python/docopt
-	dev-python/pykwalify
-	dev-util/ninja
-"
-
-DEPEND="
-	chromeos-base/chromeos-config
-"
-RDEPEND="${DEPEND}"
-
-# Run zmake from the EC source directory, with default arguments for
-# modules and Zephyr base location for this ebuild.
-run_zmake() {
-	PYTHONPATH="${S}/modules/ec/zephyr/zmake" python3 -m zmake -D \
-		--modules-dir="${S}/modules" \
-		--zephyr-base="${S}/zephyr-base" \
-		"$@"
-}
-
-src_compile() {
-	tc-export CC
-
-	local project
-	local root_build_dir="build"
-	local projects=()
-
-	while read -r _ && read -r project; do
-		if [[ -z "${project}" ]]; then
-			continue
-		fi
-
-		projects+=("${project}")
-	done < <(cros_config_host "get-firmware-build-combinations" zephyr-ec || die)
-	run_zmake build -B "${root_build_dir}" "${projects[@]}" \
-		|| die "Failed to build ${projects[*]} in ${root_build_dir}."
-}
-
-src_install() {
-	local firmware_name project
-	local root_build_dir="build"
-
-	while read -r firmware_name && read -r project; do
-		if [[ -z "${project}" ]]; then
-			continue
-		fi
-
-		insinto "/firmware/${firmware_name}"
-		doins "${root_build_dir}/${project}"/output/*
-	done < <(cros_config_host "get-firmware-build-combinations" zephyr-ec || die)
-}
diff --git a/chromeos-base/chromeos-zephyr/chromeos-zephyr-0.0.1-r4487.ebuild b/chromeos-base/chromeos-zephyr/chromeos-zephyr-0.0.1-r4487.ebuild
new file mode 100644
index 0000000..5386b33
--- /dev/null
+++ b/chromeos-base/chromeos-zephyr/chromeos-zephyr-0.0.1-r4487.ebuild
@@ -0,0 +1,102 @@
+# Copyright (C) 2021 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE.makefile file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("dac4b821c92868ad2ca9636b01e7d5d61deac8df" "45216bc4be443ec7c48a26cd958cb1a951564dec" "74a5a2025e40b599ffc71a68efd3444b0daf30a9" "0cdcea9140d23ce6f739850f93dcf3a2f4f6e4d4" "d84b01e8075947e37272c041ce4bbeb905babffd")
+CROS_WORKON_TREE=("3bf5d4b7673f2eff6b21d24c0ab38cadad8785dc" "27307ed38fd548a34915387bf3477456118b7e2a" "fa09b2c5e1b0265e807e3348cf0c7a8caf850bb0" "b7cd5b19f195084b4849c677b63f4e4288042998" "8748ce26af15d46e1651525a4e299e4f3b46cb72")
+CROS_WORKON_USE_VCSID=1
+CROS_WORKON_PROJECT=(
+	"chromiumos/third_party/zephyr"
+	"chromiumos/third_party/zephyr/cmsis"
+	"chromiumos/third_party/zephyr/hal_stm32"
+	"chromiumos/third_party/zephyr/nanopb"
+	"chromiumos/platform/ec"
+)
+
+CROS_WORKON_LOCALNAME=(
+	"third_party/zephyr/main/"
+	"third_party/zephyr/cmsis"
+	"third_party/zephyr/hal_stm32"
+	"third_party/zephyr/nanopb"
+	"platform/ec"
+)
+
+CROS_WORKON_DESTDIR=(
+	"${S}/zephyr-base"
+	"${S}/modules/cmsis"
+	"${S}/modules/hal_stm32"
+	"${S}/modules/nanopb"
+	"${S}/modules/ec"
+)
+
+inherit cros-workon cros-unibuild coreboot-sdk toolchain-funcs
+
+DESCRIPTION="Zephyr based Embedded Controller firmware"
+KEYWORDS="*"
+LICENSE="Apache-2.0 BSD-Google"
+IUSE="unibuild"
+REQUIRED_USE="unibuild"
+
+BDEPEND="
+	chromeos-base/zephyr-build-tools
+	dev-python/docopt
+	dev-python/pykwalify
+	dev-util/ninja
+"
+
+DEPEND="
+	chromeos-base/chromeos-config
+"
+RDEPEND="${DEPEND}"
+
+echoit() {
+	echo "$@"
+	"$@"
+}
+
+# Run zmake from the EC source directory, with default arguments for
+# modules and Zephyr base location for this ebuild.
+run_zmake() {
+	echoit env PYTHONPATH="${S}/modules/ec/zephyr/zmake" python3 -m zmake -D \
+		--modules-dir="${S}/modules" \
+		--zephyr-base="${S}/zephyr-base" \
+		"$@"
+}
+
+src_compile() {
+	tc-export CC
+
+	local project
+	local root_build_dir="build"
+	local projects=()
+
+	while read -r _ && read -r project; do
+		if [[ -z "${project}" ]]; then
+			continue
+		fi
+
+		projects+=("${project}")
+	done < <(cros_config_host "get-firmware-build-combinations" zephyr-ec || die)
+	if [[ ${#projects[@]} -eq 0 ]]; then
+		einfo "No projects found."
+		return
+	fi
+	run_zmake build -B "${root_build_dir}" "${projects[@]}" \
+		|| die "Failed to build ${projects[*]} in ${root_build_dir}."
+}
+
+src_install() {
+	local firmware_name project
+	local root_build_dir="build"
+
+	while read -r firmware_name && read -r project; do
+		if [[ -z "${project}" ]]; then
+			continue
+		fi
+
+		insinto "/firmware/${firmware_name}"
+		doins "${root_build_dir}/${project}"/output/*
+	done < <(cros_config_host "get-firmware-build-combinations" zephyr-ec || die)
+}
diff --git a/chromeos-base/chromeos-zephyr/chromeos-zephyr-9999.ebuild b/chromeos-base/chromeos-zephyr/chromeos-zephyr-9999.ebuild
index 76fd0ba..d346ccb 100644
--- a/chromeos-base/chromeos-zephyr/chromeos-zephyr-9999.ebuild
+++ b/chromeos-base/chromeos-zephyr/chromeos-zephyr-9999.ebuild
@@ -49,10 +49,15 @@
 "
 RDEPEND="${DEPEND}"
 
+echoit() {
+	echo "$@"
+	"$@"
+}
+
 # Run zmake from the EC source directory, with default arguments for
 # modules and Zephyr base location for this ebuild.
 run_zmake() {
-	PYTHONPATH="${S}/modules/ec/zephyr/zmake" python3 -m zmake -D \
+	echoit env PYTHONPATH="${S}/modules/ec/zephyr/zmake" python3 -m zmake -D \
 		--modules-dir="${S}/modules" \
 		--zephyr-base="${S}/zephyr-base" \
 		"$@"
@@ -72,6 +77,10 @@
 
 		projects+=("${project}")
 	done < <(cros_config_host "get-firmware-build-combinations" zephyr-ec || die)
+	if [[ ${#projects[@]} -eq 0 ]]; then
+		einfo "No projects found."
+		return
+	fi
 	run_zmake build -B "${root_build_dir}" "${projects[@]}" \
 		|| die "Failed to build ${projects[*]} in ${root_build_dir}."
 }
diff --git a/chromeos-base/chromite-sdk/OWNERS b/chromeos-base/chromite-sdk/OWNERS
new file mode 100644
index 0000000..d39c14f
--- /dev/null
+++ b/chromeos-base/chromite-sdk/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/infra/OWNERS.build
diff --git a/chromeos-base/chromium-source/chromium-source-101.0.4907.0_rc-r1.ebuild b/chromeos-base/chromium-source/chromium-source-106.0.5239.0_rc-r1.ebuild
similarity index 100%
rename from chromeos-base/chromium-source/chromium-source-101.0.4907.0_rc-r1.ebuild
rename to chromeos-base/chromium-source/chromium-source-106.0.5239.0_rc-r1.ebuild
diff --git a/chromeos-base/chunnel/chunnel-0.1.0-r26.ebuild b/chromeos-base/chunnel/chunnel-0.1.0-r26.ebuild
deleted file mode 100644
index b8ed716..0000000
--- a/chromeos-base/chunnel/chunnel-0.1.0-r26.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="449229a4ea442ad787210adb9e33a551bf0b721c"
-CROS_WORKON_TREE="a65c0fd06be8412c4575b3876fce04b4aea5f562"
-CROS_RUST_SUBDIR="vm_tools/chunnel"
-
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
-
-inherit cros-workon cros-rust user
-
-DESCRIPTION="Tunnel between localhost in different netns"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/chunnel"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="kvm_host"
-
-DEPEND="
-	chromeos-base/system_api:=
-	dev-rust/libchromeos:=
-	dev-rust/sys_util:=
-	=dev-rust/dbus-0.9*:=
-	=dev-rust/dbus-tree-0.9*:=
-	=dev-rust/getopts-0.2*:=
-	=dev-rust/libc-0.2*:=
-	=dev-rust/log-0.4*:=
-	>=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3
-	>=dev-rust/protoc-rust-2.16.2:= <dev-rust/protoc-rust-3
-	=dev-rust/remain-0.2*:=
-	dev-rust/sys_util:=
-	=dev-rust/tempfile-3*:=
-"
-
-RDEPEND="sys-apps/dbus"
-
-src_compile() {
-	ecargo_build
-	use test && ecargo_test --no-run --workspace
-}
-
-src_test() {
-	cros-rust_src_test --workspace
-}
-
-src_install() {
-	local build_dir="$(cros-rust_get_build_dir)"
-
-	if use kvm_host; then
-		dobin "${build_dir}/chunneld"
-
-		insinto /etc/init
-		doins init/chunneld.conf
-
-		insinto /etc/dbus-1/system.d
-		doins dbus/org.chromium.Chunneld.conf
-
-		insinto /usr/share/policy
-		newins "seccomp/chunneld-seccomp-${ARCH}.policy" chunneld-seccomp.policy
-	else
-		dobin "${build_dir}/chunnel"
-	fi
-}
-
-pkg_preinst() {
-	if use kvm_host; then
-		enewuser chunneld
-		enewgroup chunneld
-	fi
-	cros-rust_pkg_preinst
-}
diff --git a/chromeos-base/chunnel/chunnel-0.1.0-r29.ebuild b/chromeos-base/chunnel/chunnel-0.1.0-r29.ebuild
new file mode 100644
index 0000000..2b04140
--- /dev/null
+++ b/chromeos-base/chunnel/chunnel-0.1.0-r29.ebuild
@@ -0,0 +1,76 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="d9d43a0414900ef0ac91d61ad9f0e9da7729787b"
+CROS_WORKON_TREE="b6bc357ae990db1306217b697725cb038957023a"
+CROS_RUST_SUBDIR="vm_tools/chunnel"
+
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
+
+inherit cros-workon cros-rust user
+
+DESCRIPTION="Tunnel between localhost in different netns"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/chunnel"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="kvm_host"
+
+DEPEND="
+	chromeos-base/system_api:=
+	dev-rust/libchromeos:=
+	dev-rust/sys_util:=
+	=dev-rust/dbus-0.9*:=
+	=dev-rust/dbus-tree-0.9*:=
+	=dev-rust/getopts-0.2*:=
+	=dev-rust/libc-0.2*:=
+	=dev-rust/log-0.4*:=
+	>=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3
+	>=dev-rust/protoc-rust-2.16.2:= <dev-rust/protoc-rust-3
+	=dev-rust/remain-0.2*:=
+	dev-rust/sys_util:=
+	=dev-rust/tempfile-3*:=
+"
+
+RDEPEND="sys-apps/dbus"
+
+src_compile() {
+	ecargo_build
+	use test && ecargo_test --no-run --workspace
+}
+
+src_test() {
+	cros-rust_src_test --workspace
+}
+
+src_install() {
+	local build_dir="$(cros-rust_get_build_dir)"
+
+	if use kvm_host; then
+		dobin "${build_dir}/chunneld"
+
+		insinto /etc/init
+		doins init/chunneld.conf
+
+		insinto /etc/dbus-1/system.d
+		doins dbus/org.chromium.Chunneld.conf
+
+		insinto /usr/share/policy
+		newins "seccomp/chunneld-seccomp-${ARCH}.policy" chunneld-seccomp.policy
+	else
+		dobin "${build_dir}/chunnel"
+	fi
+}
+
+pkg_preinst() {
+	if use kvm_host; then
+		enewuser chunneld
+		enewgroup chunneld
+	fi
+	cros-rust_pkg_preinst
+}
diff --git a/chromeos-base/client_id/client_id-0.0.1-r20.ebuild b/chromeos-base/client_id/client_id-0.0.1-r20.ebuild
deleted file mode 100644
index 14b2af2..0000000
--- a/chromeos-base/client_id/client_id-0.0.1-r20.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "44fee33df1d1e1d19aa6078be1f5c33590102ac8" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_SUBTREE="common-mk client_id .gn"
-
-PLATFORM_SUBDIR="client_id"
-
-inherit cros-workon platform
-
-DESCRIPTION="Utility to generate Client ID for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/client_id"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-src_install() {
-	dobin "${OUT}"/client_id
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/client_id_test"
-}
diff --git a/chromeos-base/client_id/client_id-9999.ebuild b/chromeos-base/client_id/client_id-9999.ebuild
deleted file mode 100644
index 2051745..0000000
--- a/chromeos-base/client_id/client_id-9999.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_SUBTREE="common-mk client_id .gn"
-
-PLATFORM_SUBDIR="client_id"
-
-inherit cros-workon platform
-
-DESCRIPTION="Utility to generate Client ID for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/client_id"
-
-LICENSE="BSD-Google"
-KEYWORDS="~*"
-IUSE=""
-
-src_install() {
-	dobin "${OUT}"/client_id
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/client_id_test"
-}
diff --git a/chromeos-base/client_id/files/revision_bump b/chromeos-base/client_id/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/client_id/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/codelab/codelab-0.0.1-r210.ebuild b/chromeos-base/codelab/codelab-0.0.1-r210.ebuild
deleted file mode 100644
index 39d865a..0000000
--- a/chromeos-base/codelab/codelab-0.0.1-r210.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "4437bdb33c7e5b4e68ee7e64a71ac1f216c0511c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_SUBTREE="common-mk codelab .gn"
-
-PLATFORM_SUBDIR="codelab"
-
-inherit cros-workon platform
-
-DESCRIPTION="Developer codelab for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/codelab/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-src_install() {
-	dobin "${OUT}"/codelab
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/codelab_test"
-}
diff --git a/chromeos-base/codelab/codelab-0.0.1-r271.ebuild b/chromeos-base/codelab/codelab-0.0.1-r271.ebuild
new file mode 100644
index 0000000..c2b4a46
--- /dev/null
+++ b/chromeos-base/codelab/codelab-0.0.1-r271.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "0bb4f1d027f4fd2368775ade6c2d929e5773cdf8" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk codelab .gn"
+
+CROS_WORKON_OUTOFTREE_BUILD="1"
+
+PLATFORM_SUBDIR="codelab"
+
+inherit cros-workon platform
+
+DESCRIPTION="Developer codelab for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/codelab/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+src_install() {
+	platform_src_install
+
+	dobin "${OUT}"/codelab
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/codelab_test"
+}
diff --git a/chromeos-base/codelab/codelab-9999.ebuild b/chromeos-base/codelab/codelab-9999.ebuild
index d6bb461..251be2e 100644
--- a/chromeos-base/codelab/codelab-9999.ebuild
+++ b/chromeos-base/codelab/codelab-9999.ebuild
@@ -7,18 +7,22 @@
 CROS_WORKON_DESTDIR="${S}/platform2"
 CROS_WORKON_SUBTREE="common-mk codelab .gn"
 
+CROS_WORKON_OUTOFTREE_BUILD="1"
+
 PLATFORM_SUBDIR="codelab"
 
 inherit cros-workon platform
 
 DESCRIPTION="Developer codelab for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/codelab/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/codelab/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
 IUSE=""
 
 src_install() {
+	platform_src_install
+
 	dobin "${OUT}"/codelab
 }
 
diff --git a/chromeos-base/codelab/files/revision_bump b/chromeos-base/codelab/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/codelab/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/crash-reporter/crash-reporter-0.0.1-r3722.ebuild b/chromeos-base/crash-reporter/crash-reporter-0.0.1-r3722.ebuild
deleted file mode 100644
index 1d05de4..0000000
--- a/chromeos-base/crash-reporter/crash-reporter-0.0.1-r3722.ebuild
+++ /dev/null
@@ -1,189 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="af52fce7e3f86fc8e8ced8d19ce51f33563fb028"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "f555048a76aed639a7a9113b23bd686aaf8520ba" "4a0dedab080195bdc122d2289118df4af3ddca2c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk crash-reporter metrics .gn"
-
-PLATFORM_SUBDIR="crash-reporter"
-
-inherit cros-arm64 cros-i686 cros-workon platform systemd udev user
-
-DESCRIPTION="Crash reporting service that uploads crash reports with debug information"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/crash-reporter/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="arcpp arcvm chromeless_tty cros_ec cros_embedded -direncryption kvm_guest systemd fuzzer test vm-containers"
-
-COMMON_DEPEND="
-	chromeos-base/minijail:=
-	chromeos-base/google-breakpad:=[cros_i686?,cros_arm64?]
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	dev-libs/protobuf:=
-	dev-libs/re2:=
-	kvm_guest? ( net-libs/grpc:= )
-	net-misc/curl:=
-	sys-libs/zlib:=
-"
-RDEPEND="${COMMON_DEPEND}
-	chromeos-base/chromeos-ca-certificates
-	direncryption? ( sys-apps/keyutils:= )
-	cros_ec? ( chromeos-base/ec-utils )
-"
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/debugd-client:=
-	chromeos-base/session_manager-client:=
-	chromeos-base/shill-client:=
-	chromeos-base/system_api:=[fuzzer?]
-	chromeos-base/vboot_reference:=
-	chromeos-base/vm_protos:=
-	test? (
-		app-arch/gzip
-	)
-"
-
-PATCHES="
-	${FILESDIR}/0001-crash-reporter-Fix-anomaly_detector-build.patch
-"
-
-src_configure() {
-	platform_src_configure
-	use arcpp && use_i686 && platform_src_configure_i686
-	use arcpp && use_arm64 && platform_src_configure_arm64
-}
-
-src_compile() {
-	platform_src_compile
-	use arcpp && use_i686 && platform_src_compile_i686 "core_collector"
-	use arcpp && use_arm64 && platform_src_compile_arm64 "core_collector"
-}
-
-pkg_setup() {
-	# Has to be done in pkg_setup() instead of pkg_preinst() since
-	# src_install() will need the crash user and group.
-	enewuser "crash"
-	enewgroup "crash"
-	# A group to manage file permissions for files that crash reporter
-	# components need to access.
-	enewgroup "crash-access"
-	# A group to grant access to the user's crash directory (in /home)
-	enewgroup "crash-user-access"
-	cros-workon_pkg_setup
-}
-
-src_install() {
-	into /
-	dosbin "${OUT}"/crash_reporter
-	if ! use vm-containers; then
-		dosbin "${OUT}"/crash_sender
-	fi
-
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.AnomalyEventService.conf
-
-	local daemon_store="/etc/daemon-store/crash"
-	dodir "${daemon_store}"
-	fperms 3770 "${daemon_store}"
-	fowners crash:crash-user-access "${daemon_store}"
-
-	into /usr
-	use cros_embedded || dobin "${OUT}"/anomaly_detector
-	dosbin kernel_log_collector.sh
-
-	if use arcpp; then
-		dobin "${OUT}"/core_collector
-		use_i686 && newbin "$(platform_out_i686)"/core_collector "core_collector32"
-		use_arm64 && newbin "$(platform_out_arm64)"/core_collector "core_collector64"
-	fi
-
-	if use systemd; then
-		systemd_dounit init/crash-reporter.service
-		systemd_dounit init/crash-boot-collect.service
-		systemd_enable_service multi-user.target crash-reporter.service
-		systemd_enable_service multi-user.target crash-boot-collect.service
-		if ! use vm-containers; then
-			systemd_dounit init/crash-sender.service
-			systemd_enable_service multi-user.target crash-sender.service
-			systemd_dounit init/crash-sender.timer
-			systemd_enable_service timers.target crash-sender.timer
-		fi
-		if ! use cros_embedded; then
-			systemd_dounit init/anomaly-detector.service
-			systemd_enable_service multi-user.target anomaly-detector.service
-		fi
-	else
-		insinto /etc/init
-		doins init/crash-reporter.conf
-		doins init/crash-reporter-early-init.conf
-		doins init/crash-boot-collect.conf
-		if ! use vm-containers; then
-			doins init/crash-sender.conf
-		fi
-		use cros_embedded || doins init/anomaly-detector.conf
-	fi
-
-	insinto /etc
-	doins crash_reporter_logs.conf
-
-	udev_dorules 99-crash-reporter.rules
-
-	# Install metrics/OWNERS as the owners file for the fuzzers.
-	# The owners files need to have actual email addresses, not
-	# an include-link.
-	local fuzzer_component_id="1032705"
-	platform_fuzzer_install "${S}"/../metrics/OWNERS \
-		"${OUT}"/crash_sender_base_fuzzer \
-		--comp "${fuzzer_component_id}"
-
-	platform_fuzzer_install "${S}"/../metrics/OWNERS \
-		"${OUT}"/crash_sender_fuzzer \
-		--dict "${S}"/crash_sender_fuzzer.dict \
-		--comp "${fuzzer_component_id}"
-
-	platform_fuzzer_install "${S}"/../metrics/OWNERS \
-		"${OUT}"/chrome_collector_fuzzer \
-		--dict "${S}"/chrome_collector_fuzzer.dict \
-		--comp "${fuzzer_component_id}"
-
-	platform_fuzzer_install "${S}"/../metrics/OWNERS \
-		"${OUT}"/kernel_collector_fuzzer \
-		--dict "${S}"/kernel_collector_fuzzer.dict \
-		--comp "${fuzzer_component_id}"
-
-	platform_fuzzer_install "${S}"/../metrics/OWNERS \
-		"${OUT}"/anomaly_detector_fuzzer \
-		--dict "${S}"/anomaly_detector_fuzzer.dict \
-		--comp "${fuzzer_component_id}"
-
-	platform_fuzzer_install "${S}"/../metrics/OWNERS \
-		"${OUT}"/missed_crash_collector_fuzzer \
-		--comp "${fuzzer_component_id}"
-
-	# Install crash_serializer into /usr/local/sbin, which is only present
-	# on test images. See:
-	# https://chromium.googlesource.com/chromiumos/platform2/+/refs/heads/master/dev-install/README.md#Environments
-	into /usr/local
-	dosbin "${OUT}"/crash_serializer
-}
-
-platform_pkg_test() {
-	local gtest_filter_user_tests="-*.RunAsRoot*:"
-	local gtest_filter_root_tests="*.RunAsRoot*-"
-
-	platform_test "run" "${OUT}/crash_reporter_test" "0" \
-		"${gtest_filter_user_tests}"
-	platform_test "run" "${OUT}/crash_reporter_test" "1" \
-		"${gtest_filter_root_tests}"
-	platform_test "run" "${OUT}/anomaly_detector_test"
-	platform_test "run" "${OUT}/anomaly_detector_text_file_reader_test"
-	platform_test "run" "${OUT}/anomaly_detector_log_reader_test"
-}
diff --git a/chromeos-base/crash-reporter/crash-reporter-0.0.1-r3846.ebuild b/chromeos-base/crash-reporter/crash-reporter-0.0.1-r3846.ebuild
new file mode 100644
index 0000000..b5a2b38
--- /dev/null
+++ b/chromeos-base/crash-reporter/crash-reporter-0.0.1-r3846.ebuild
@@ -0,0 +1,193 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "b6de0ed9bf68f24a62063f5dd296e2f6c23120cb" "3b33fc07daf512e548300eefbd028b622bc51b44" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk crash-reporter libcrossystem metrics .gn"
+
+PLATFORM_SUBDIR="crash-reporter"
+
+inherit cros-arm64 cros-i686 cros-workon platform systemd udev user
+
+DESCRIPTION="Crash reporting service that uploads crash reports with debug information"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/crash-reporter/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="arcpp arcvm chromeless_tty cros_ec cros_embedded -direncryption kvm_guest systemd fuzzer test vm-containers force_breakpad"
+
+COMMON_DEPEND="
+	chromeos-base/libcrossystem:=
+	chromeos-base/minijail:=
+	chromeos-base/google-breakpad:=[cros_i686?,cros_arm64?]
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	dev-libs/protobuf:=
+	dev-libs/re2:=
+	kvm_guest? ( net-libs/grpc:= )
+	net-misc/curl:=
+	sys-libs/zlib:=
+"
+RDEPEND="${COMMON_DEPEND}
+	chromeos-base/chromeos-ca-certificates
+	direncryption? ( sys-apps/keyutils:= )
+	cros_ec? ( chromeos-base/ec-utils )
+"
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/debugd-client:=
+	chromeos-base/session_manager-client:=
+	chromeos-base/shill-client:=
+	chromeos-base/system_api:=[fuzzer?]
+	chromeos-base/vboot_reference:=
+	chromeos-base/vm_protos:=
+	test? (
+		app-arch/gzip
+	)
+"
+
+PATCHES="
+	${FILESDIR}/0001-crash-reporter-Fix-anomaly_detector-build.patch
+"
+
+src_configure() {
+	platform_src_configure
+	use arcpp && use_i686 && platform_src_configure_i686
+	use arcpp && use_arm64 && platform_src_configure_arm64
+}
+
+src_compile() {
+	platform_src_compile
+	use arcpp && use_i686 && platform_src_compile_i686 "core_collector"
+	use arcpp && use_arm64 && platform_src_compile_arm64 "core_collector"
+}
+
+pkg_setup() {
+	# Has to be done in pkg_setup() instead of pkg_preinst() since
+	# src_install() will need the crash user and group.
+	enewuser "crash"
+	enewgroup "crash"
+	# A group to manage file permissions for files that crash reporter
+	# components need to access.
+	enewgroup "crash-access"
+	# A group to grant access to the user's crash directory (in /home)
+	enewgroup "crash-user-access"
+	cros-workon_pkg_setup
+}
+
+src_install() {
+	platform_src_install
+
+	into /
+	dosbin "${OUT}"/crash_reporter
+	if ! use vm-containers; then
+		dosbin "${OUT}"/crash_sender
+	fi
+
+	insinto /etc/dbus-1/system.d
+	doins dbus/org.chromium.AnomalyEventService.conf
+
+	local daemon_store="/etc/daemon-store/crash"
+	dodir "${daemon_store}"
+	fperms 3770 "${daemon_store}"
+	fowners crash:crash-user-access "${daemon_store}"
+
+	into /usr
+	use cros_embedded || dobin "${OUT}"/anomaly_detector
+	dosbin kernel_log_collector.sh
+
+	if use arcpp; then
+		dobin "${OUT}"/core_collector
+		use_i686 && newbin "$(platform_out_i686)"/core_collector "core_collector32"
+		use_arm64 && newbin "$(platform_out_arm64)"/core_collector "core_collector64"
+	fi
+
+	if use systemd; then
+		systemd_dounit init/crash-reporter.service
+		systemd_dounit init/crash-boot-collect.service
+		systemd_enable_service multi-user.target crash-reporter.service
+		systemd_enable_service multi-user.target crash-boot-collect.service
+		if ! use vm-containers; then
+			systemd_dounit init/crash-sender.service
+			systemd_enable_service multi-user.target crash-sender.service
+			systemd_dounit init/crash-sender.timer
+			systemd_enable_service timers.target crash-sender.timer
+		fi
+		if ! use cros_embedded; then
+			systemd_dounit init/anomaly-detector.service
+			systemd_enable_service multi-user.target anomaly-detector.service
+		fi
+	else
+		insinto /etc/init
+		doins init/crash-reporter.conf
+		doins init/crash-reporter-early-init.conf
+		doins init/crash-boot-collect.conf
+		if ! use vm-containers; then
+			doins init/crash-sender.conf
+			doins init/crash-sender-login.conf
+		fi
+		use cros_embedded || doins init/anomaly-detector.conf
+	fi
+
+	insinto /etc
+	doins crash_reporter_logs.conf
+
+	udev_dorules 99-crash-reporter.rules
+
+	# Install metrics/OWNERS as the owners file for the fuzzers.
+	# The owners files need to have actual email addresses, not
+	# an include-link.
+	local fuzzer_component_id="1032705"
+	platform_fuzzer_install "${S}"/../metrics/OWNERS \
+		"${OUT}"/crash_sender_base_fuzzer \
+		--comp "${fuzzer_component_id}"
+
+	platform_fuzzer_install "${S}"/../metrics/OWNERS \
+		"${OUT}"/crash_sender_fuzzer \
+		--dict "${S}"/crash_sender_fuzzer.dict \
+		--comp "${fuzzer_component_id}"
+
+	platform_fuzzer_install "${S}"/../metrics/OWNERS \
+		"${OUT}"/chrome_collector_fuzzer \
+		--dict "${S}"/chrome_collector_fuzzer.dict \
+		--comp "${fuzzer_component_id}"
+
+	platform_fuzzer_install "${S}"/../metrics/OWNERS \
+		"${OUT}"/kernel_collector_fuzzer \
+		--dict "${S}"/kernel_collector_fuzzer.dict \
+		--comp "${fuzzer_component_id}"
+
+	platform_fuzzer_install "${S}"/../metrics/OWNERS \
+		"${OUT}"/anomaly_detector_fuzzer \
+		--dict "${S}"/anomaly_detector_fuzzer.dict \
+		--comp "${fuzzer_component_id}"
+
+	platform_fuzzer_install "${S}"/../metrics/OWNERS \
+		"${OUT}"/missed_crash_collector_fuzzer \
+		--comp "${fuzzer_component_id}"
+
+	# Install crash_serializer into /usr/local/sbin, which is only present
+	# on test images. See:
+	# https://chromium.googlesource.com/chromiumos/platform2/+/refs/heads/master/dev-install/README.md#Environments
+	into /usr/local
+	dosbin "${OUT}"/crash_serializer
+}
+
+platform_pkg_test() {
+	local gtest_filter_user_tests="-*.RunAsRoot*:"
+	local gtest_filter_root_tests="*.RunAsRoot*-"
+
+	platform_test "run" "${OUT}/crash_reporter_test" "0" \
+		"${gtest_filter_user_tests}"
+	platform_test "run" "${OUT}/crash_reporter_test" "1" \
+		"${gtest_filter_root_tests}"
+	platform_test "run" "${OUT}/anomaly_detector_test"
+	platform_test "run" "${OUT}/anomaly_detector_text_file_reader_test"
+	platform_test "run" "${OUT}/anomaly_detector_log_reader_test"
+}
diff --git a/chromeos-base/crash-reporter/crash-reporter-9999.ebuild b/chromeos-base/crash-reporter/crash-reporter-9999.ebuild
index 92dc69a..6d7eb2c 100644
--- a/chromeos-base/crash-reporter/crash-reporter-9999.ebuild
+++ b/chromeos-base/crash-reporter/crash-reporter-9999.ebuild
@@ -8,7 +8,7 @@
 CROS_WORKON_PROJECT="chromiumos/platform2"
 CROS_WORKON_OUTOFTREE_BUILD=1
 # TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk crash-reporter metrics .gn"
+CROS_WORKON_SUBTREE="common-mk crash-reporter libcrossystem metrics .gn"
 
 PLATFORM_SUBDIR="crash-reporter"
 
@@ -19,9 +19,10 @@
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
-IUSE="arcpp arcvm chromeless_tty cros_ec cros_embedded -direncryption kvm_guest systemd fuzzer test vm-containers"
+IUSE="arcpp arcvm chromeless_tty cros_ec cros_embedded -direncryption kvm_guest systemd fuzzer test vm-containers force_breakpad"
 
 COMMON_DEPEND="
+	chromeos-base/libcrossystem:=
 	chromeos-base/minijail:=
 	chromeos-base/google-breakpad:=[cros_i686?,cros_arm64?]
 	>=chromeos-base/metrics-0.0.1-r3152:=
@@ -79,6 +80,8 @@
 }
 
 src_install() {
+	platform_src_install
+
 	into /
 	dosbin "${OUT}"/crash_reporter
 	if ! use vm-containers; then
@@ -125,6 +128,7 @@
 		doins init/crash-boot-collect.conf
 		if ! use vm-containers; then
 			doins init/crash-sender.conf
+			doins init/crash-sender-login.conf
 		fi
 		use cros_embedded || doins init/anomaly-detector.conf
 	fi
diff --git a/chromeos-base/crash-reporter/files/revision_bump b/chromeos-base/crash-reporter/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/crash-reporter/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/cronista/cronista-0.24.52-r12.ebuild b/chromeos-base/cronista/cronista-0.24.52-r12.ebuild
deleted file mode 100644
index cc84b2b..0000000
--- a/chromeos-base/cronista/cronista-0.24.52-r12.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="1b85f1f00a6b60023b250c8ec83a11de9e72eaa8"
-CROS_WORKON_TREE="c0c32f86c982a5e9ba24083659211862342462cc"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE="cronista"
-
-inherit user cros-workon cros-rust
-
-DESCRIPTION="Authenticated storage daemon."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cronista/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="manatee"
-
-RDEPEND="sys-apps/dbus"
-
-DEPEND="
-	chromeos-base/libsirenia:=
-	=dev-rust/anyhow-1*:=
-	=dev-rust/getopts-0.2*:=
-	dev-rust/libchromeos:=
-	>=dev-rust/openssl-0.10.25 <dev-rust/openssl-0.11.0_alpha:=
-	>=dev-rust/protobuf-2.16.2 <dev-rust/protobuf-3.0.0_alpha:=
-	>=dev-rust/protoc-rust-2.16.2 <dev-rust/protoc-rust-3.0.0_alpha:=
-	>=dev-rust/serde-1.0.114 <dev-rust/serde-2.0.0_alpha:=
-	>=dev-rust/serde_derive-1.0.114 <dev-rust/serde_derive-2.0.0_alpha:=
-	dev-rust/sys_util:=
-	>=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0_alpha:=
-"
-
-pkg_setup() {
-	enewuser cronista
-	enewgroup cronista
-	cros-rust_pkg_setup
-}
-
-src_install() {
-	local build_dir="$(cros-rust_get_build_dir)"
-	dobin "${build_dir}/cronista"
-
-	local daemon_store="/etc/daemon-store/cronista"
-	dodir "${daemon_store}"
-	fperms 0700 "${daemon_store}"
-	fowners cronista:cronista "${daemon_store}"
-
-	if use manatee ;  then
-		insinto /etc/init
-		doins upstart/cronista.conf
-	fi
-}
diff --git a/chromeos-base/cronista/cronista-0.24.52-r14.ebuild b/chromeos-base/cronista/cronista-0.24.52-r14.ebuild
new file mode 100644
index 0000000..313aede
--- /dev/null
+++ b/chromeos-base/cronista/cronista-0.24.52-r14.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="2bfc65dc69d4865464a25493e382b6d144415cf3"
+CROS_WORKON_TREE="98a25e3d9944b35d6018c91e0a335d5aef591547"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_SUBTREE="cronista"
+
+inherit user cros-workon cros-rust
+
+DESCRIPTION="Authenticated storage daemon."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cronista/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="manatee"
+
+RDEPEND="sys-apps/dbus"
+
+DEPEND="
+	chromeos-base/crosvm-base:=
+	chromeos-base/libsirenia:=
+	=dev-rust/anyhow-1*:=
+	=dev-rust/getopts-0.2*:=
+	dev-rust/libchromeos:=
+	=dev-rust/log-0.4*:=
+	=dev-rust/openssl-0.10*:=
+	=dev-rust/protobuf-2*:=
+	=dev-rust/protoc-rust-2*:=
+	=dev-rust/serde-1*:=
+	=dev-rust/serde_derive-1*:=
+	=dev-rust/thiserror-1*:=
+"
+
+pkg_setup() {
+	enewuser cronista
+	enewgroup cronista
+	cros-rust_pkg_setup
+}
+
+src_install() {
+	local build_dir="$(cros-rust_get_build_dir)"
+	dobin "${build_dir}/cronista"
+
+	local daemon_store="/etc/daemon-store/cronista"
+	dodir "${daemon_store}"
+	fperms 0700 "${daemon_store}"
+	fowners cronista:cronista "${daemon_store}"
+
+	if use manatee ;  then
+		insinto /etc/init
+		doins upstart/cronista.conf
+	fi
+}
diff --git a/chromeos-base/cronista/cronista-9999.ebuild b/chromeos-base/cronista/cronista-9999.ebuild
index fdf4c21..3059a5b 100644
--- a/chromeos-base/cronista/cronista-9999.ebuild
+++ b/chromeos-base/cronista/cronista-9999.ebuild
@@ -19,17 +19,18 @@
 RDEPEND="sys-apps/dbus"
 
 DEPEND="
+	chromeos-base/crosvm-base:=
 	chromeos-base/libsirenia:=
 	=dev-rust/anyhow-1*:=
 	=dev-rust/getopts-0.2*:=
 	dev-rust/libchromeos:=
-	>=dev-rust/openssl-0.10.25 <dev-rust/openssl-0.11.0_alpha:=
-	>=dev-rust/protobuf-2.16.2 <dev-rust/protobuf-3.0.0_alpha:=
-	>=dev-rust/protoc-rust-2.16.2 <dev-rust/protoc-rust-3.0.0_alpha:=
-	>=dev-rust/serde-1.0.114 <dev-rust/serde-2.0.0_alpha:=
-	>=dev-rust/serde_derive-1.0.114 <dev-rust/serde_derive-2.0.0_alpha:=
-	dev-rust/sys_util:=
-	>=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0_alpha:=
+	=dev-rust/log-0.4*:=
+	=dev-rust/openssl-0.10*:=
+	=dev-rust/protobuf-2*:=
+	=dev-rust/protoc-rust-2*:=
+	=dev-rust/serde-1*:=
+	=dev-rust/serde_derive-1*:=
+	=dev-rust/thiserror-1*:=
 "
 
 pkg_setup() {
diff --git a/chromeos-base/cros-camera-android-deps/cros-camera-android-deps-0.0.1-r155.ebuild b/chromeos-base/cros-camera-android-deps/cros-camera-android-deps-0.0.1-r155.ebuild
new file mode 100644
index 0000000..9826147
--- /dev/null
+++ b/chromeos-base/cros-camera-android-deps/cros-camera-android-deps-0.0.1-r155.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4be8d3ae5664634825afc2e6e4b8c24816ee9b9e" "efe904e8c621b150b9937196a1b506dfbdc10ece" "60fa47aebd6ebfb702012849bd560717fceddcd4")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_SUBTREE=".gn camera/build camera/android common-mk"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera/android"
+
+inherit cros-workon platform
+
+DESCRIPTION="Android dependencies needed by cros-camera service and vendor HALs"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="
+	!media-libs/cros-camera-android-headers
+	!media-libs/cros-camera-libcamera_client
+	!media-libs/cros-camera-libcamera_metadata
+"
+
+src_configure() {
+	cros_optimize_package_for_speed
+	platform_src_configure
+}
+
+src_install() {
+	platform_src_install
+
+	local include_dir="/usr/include/android"
+
+	insinto "${include_dir}"
+	doins -r header_files/include/*
+
+	insinto "${include_dir}"/system
+	doins libcamera_metadata/include/system/*.h
+	# Install into the system folder to avoid cros lint complaint of
+	# "include the directory when naming .h files"
+	doins libcamera_metadata/include/camera_metadata_hidden.h
+
+	insinto "${include_dir}"/camera
+	doins libcamera_client/include/camera/*.h
+
+	dolib.so "${OUT}"/lib/libcros_camera_android_deps.so
+
+	insinto /usr/"$(get_libdir)"/pkgconfig
+	doins "${OUT}"/obj/camera/android/libcros_camera_android_deps.pc
+}
diff --git a/chromeos-base/cros-camera-android-deps/cros-camera-android-deps-0.0.1-r92.ebuild b/chromeos-base/cros-camera-android-deps/cros-camera-android-deps-0.0.1-r92.ebuild
deleted file mode 100644
index 193799f..0000000
--- a/chromeos-base/cros-camera-android-deps/cros-camera-android-deps-0.0.1-r92.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "e5bab9aeb635f426a5f77597edb46ad386ad0f7c" "6675ee88e02a0fc7d69be0173e1d9af0812751f6" "a625767bb59509159091f2ab0b71f8b9b4b2e353")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE=".gn camera/build camera/android common-mk"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-PLATFORM_SUBDIR="camera/android"
-
-inherit cros-workon platform
-
-DESCRIPTION="Android dependencies needed by cros-camera service and vendor HALs"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="
-	!media-libs/cros-camera-android-headers
-	!media-libs/cros-camera-libcamera_client
-	!media-libs/cros-camera-libcamera_metadata
-"
-
-src_configure() {
-	cros_optimize_package_for_speed
-	platform_src_configure
-}
-
-src_install() {
-	platform_src_install
-
-	local include_dir="/usr/include/android"
-
-	insinto "${include_dir}"
-	doins -r header_files/include/*
-
-	insinto "${include_dir}"/system
-	doins libcamera_metadata/include/system/*.h
-	# Install into the system folder to avoid cros lint complaint of
-	# "include the directory when naming .h files"
-	doins libcamera_metadata/include/camera_metadata_hidden.h
-
-	insinto "${include_dir}"/camera
-	doins libcamera_client/include/camera/*.h
-
-	dolib.so "${OUT}"/lib/libcros_camera_android_deps.so
-
-	insinto /usr/"$(get_libdir)"/pkgconfig
-	doins "${OUT}"/obj/camera/android/libcros_camera_android_deps.pc
-}
diff --git a/chromeos-base/cros-camera-android-deps/files/revision_bump b/chromeos-base/cros-camera-android-deps/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/cros-camera-android-deps/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/cros-camera-libs/cros-camera-libs-0.0.1-r361.ebuild b/chromeos-base/cros-camera-libs/cros-camera-libs-0.0.1-r361.ebuild
deleted file mode 100644
index a86d189..0000000
--- a/chromeos-base/cros-camera-libs/cros-camera-libs-0.0.1-r361.ebuild
+++ /dev/null
@@ -1,139 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="1f9d9f4574a9655d844c7ef46f138da7228a93a9"
-CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "a625767bb59509159091f2ab0b71f8b9b4b2e353" "4a0dedab080195bdc122d2289118df4af3ddca2c" "e5bab9aeb635f426a5f77597edb46ad386ad0f7c" "a4c500ab9b3c0bc4232aa527a6cbd18f786338a4" "cb410200827b0e0e8a13e27ee2d8beee28948361" "8aea57128c1adc8ea0b845047ce01733cecaf5c1" "080361d5d45e74e7927e56bab774531748d1a569" "17c0af603db6e69e7d5b07fe21738237ebe29f3f" "bea140d13f7cf1092e4c89a45011c04c28327972" "8a9ef8758fbc933dbbb61914e0a924d6fd9626f6" "5344097beef866bd9f20e32d6264c0d33ea1623a")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE=".gn common-mk metrics camera/build camera/common camera/features camera/gpu camera/include camera/mojo chromeos-config iioservice/libiioservice_ipc iioservice/mojo"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-PLATFORM_SUBDIR="camera/common"
-
-inherit cros-camera cros-constants cros-workon platform
-
-DESCRIPTION="Chrome OS camera common libraries."
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-# 'camera_feature_*' and 'ipu6*' are passed to and used in BUILD.gn files.
-IUSE="camera_feature_auto_framing camera_feature_face_detection camera_feature_hdrnet camera_feature_portrait_mode ipu6 ipu6ep ipu6se"
-
-# Auto face framing depends on the face detection feature.
-REQUIRED_USE="camera_feature_auto_framing? ( camera_feature_face_detection )"
-
-BDEPEND="virtual/pkgconfig"
-
-# TODO: Remove the conflicting packages
-CONFLICTING_PACKAGES="
-	!media-libs/cros-camera-libcab
-	!media-libs/cros-camera-libcam_gpu_algo
-	!media-libs/cros-camera-libcamera_common
-	!media-libs/cros-camera-libcamera_connector
-	!media-libs/cros-camera-libcamera_exif
-	!media-libs/cros-camera-libcamera_ipc
-	!media-libs/cros-camera-libcamera_timezone
-	!media-libs/cros-camera-libcamera_v4l2_device
-	!media-libs/cros-camera-libcbm
-	!media-libs/cros-camera-libjda
-"
-
-RDEPEND="
-	${CONFLICTING_PACKAGES}
-	chromeos-base/chromeos-config-tools:=
-	chromeos-base/cros-camera-android-deps:=
-	camera_feature_auto_framing? ( media-libs/cros-camera-libautoframing:= )
-	camera_feature_hdrnet? ( media-libs/cros-camera-libgcam:= )
-	camera_feature_portrait_mode? ( media-libs/cros-camera-effect-portrait-mode:= )
-	media-libs/libexif:=
-	media-libs/libsync:=
-	media-libs/minigbm:=
-	media-libs/cros-camera-facessd:=
-	virtual/libudev:=
-	virtual/opengles:=
-	x11-libs/libdrm:=
-"
-
-DEPEND="
-	${RDEPEND}
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	media-libs/cros-camera-libcamera_connector_headers:=
-	media-libs/libyuv:=
-	x11-drivers/opengles-headers:=
-"
-
-src_configure() {
-	cros_optimize_package_for_speed
-	platform_src_configure
-}
-
-src_install() {
-	# Install the sandboxed algorithm service.
-	dobin "${OUT}"/cros_camera_algo
-
-	insinto /etc/init
-	doins init/cros-camera-algo.conf
-
-	insinto /etc/dbus-1/system.d
-	doins dbus/CrosCameraAlgo.conf
-
-	insinto /usr/share/policy
-	newins "seccomp_filter/cros-camera-algo-${ARCH}.policy" cros-camera-algo.policy
-
-	# The sandboxed GPU service is used by Portrait Mode feature and IPU6SE
-	# camera HAL.
-	if use camera_feature_portrait_mode || use ipu6se; then
-		insinto /etc/init
-		doins init/cros-camera-gpu-algo.conf
-
-		insinto /usr/share/policy
-		newins "seccomp_filter/cros-camera-gpu-algo-${ARCH}.policy" cros-camera-gpu-algo.policy
-	fi
-
-	# Install libcros_camera required by the camera HAL implementations.
-	insinto /usr/include/cros-camera/
-	doins -r ../include/cros-camera/*
-	# TODO(crbug.com/1197394): Remove after the issue is resolved.
-	camera_mojo_files=$(find "${OUT}"/gen/include/camera/mojo -name '*.mojom.h')
-	einfo "${camera_mojo_files}"
-	insinto /usr/include/cros-camera/mojo/camera
-	doins -r "${OUT}"/gen/include/camera/mojo
-
-	insinto /usr/include/cros-camera/mojo/iioservice
-	doins -r "${OUT}"/gen/include/iioservice/mojo
-
-	dolib.so "${OUT}"/lib/libcros_camera.so
-	dolib.a "${OUT}"/libcros_camera_mojom.a
-	# Project Pita libraries need libcamera_connector.so to run.
-	dosym libcros_camera.so /usr/"$(get_libdir)"/libcamera_connector.so
-
-	insinto /usr/"$(get_libdir)"/pkgconfig
-	doins "${OUT}"/obj/camera/common/libcros_camera.pc
-
-	local fuzzer_component_id="167281"
-	platform_fuzzer_install "${S}"/OWNERS \
-			"${OUT}"/camera_still_capture_processor_impl_fuzzer \
-			--comp "${fuzzer_component_id}"
-
-	platform_src_install
-}
-
-platform_pkg_test() {
-	local cros_camera_tests=(
-		camera_buffer_pool_test
-		camera_face_detection_test
-		camera_hal3_helpers_test
-		cbm_test
-		embed_file_toc_test
-		future_test
-		zsl_helper_test
-	)
-	local test_bin
-	for test_bin in "${cros_camera_tests[@]}"; do
-		platform_test run "${OUT}/${test_bin}"
-	done
-}
diff --git a/chromeos-base/cros-camera-libs/cros-camera-libs-0.0.1-r557.ebuild b/chromeos-base/cros-camera-libs/cros-camera-libs-0.0.1-r557.ebuild
new file mode 100644
index 0000000..7c7a4a3
--- /dev/null
+++ b/chromeos-base/cros-camera-libs/cros-camera-libs-0.0.1-r557.ebuild
@@ -0,0 +1,137 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="eddffb488e6b0e8ba6309122b37b341057179416"
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "60fa47aebd6ebfb702012849bd560717fceddcd4" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "4be8d3ae5664634825afc2e6e4b8c24816ee9b9e" "7093536475612fadc6a0afe16b8f5f4f4251e4c2" "f481c437e0dbbacc4832a55dfc3fda4c078162b2" "29d52c6d2464057e3fde8214a173f96d96f3b267" "2b7909959649540a63997338914ec45cf9c7d07c" "aae8bf048bbe1147ff2aa47f59de29bad1b6355d" "527abd7a988a45572305a6c44b5324d0d9cf8be2" "8a9ef8758fbc933dbbb61914e0a924d6fd9626f6" "6c730fa6bc9c00d204b80c4944f1951b8f35a48e")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_SUBTREE=".gn common-mk metrics camera/build camera/common camera/features camera/gpu camera/include camera/mojo chromeos-config iioservice/libiioservice_ipc iioservice/mojo"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera/common"
+
+inherit cros-camera cros-constants cros-workon platform
+
+DESCRIPTION="Chrome OS camera common libraries."
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+# 'camera_feature_*' and 'ipu6*' are passed to and used in BUILD.gn files.
+IUSE="camera_feature_auto_framing camera_feature_face_detection camera_feature_hdrnet camera_feature_portrait_mode ipu6 ipu6ep ipu6se qualcomm_camx"
+
+# Auto face framing depends on the face detection feature.
+REQUIRED_USE="camera_feature_auto_framing? ( camera_feature_face_detection )"
+
+BDEPEND="virtual/pkgconfig"
+
+# TODO: Remove the conflicting packages
+CONFLICTING_PACKAGES="
+	!media-libs/cros-camera-libcab
+	!media-libs/cros-camera-libcam_gpu_algo
+	!media-libs/cros-camera-libcamera_common
+	!media-libs/cros-camera-libcamera_connector
+	!media-libs/cros-camera-libcamera_exif
+	!media-libs/cros-camera-libcamera_ipc
+	!media-libs/cros-camera-libcamera_timezone
+	!media-libs/cros-camera-libcamera_v4l2_device
+	!media-libs/cros-camera-libcbm
+	!media-libs/cros-camera-libjda
+"
+
+RDEPEND="
+	${CONFLICTING_PACKAGES}
+	chromeos-base/chromeos-config-tools:=
+	chromeos-base/cros-camera-android-deps:=
+	media-libs/cros-camera-libfs:=
+	media-libs/libexif:=
+	media-libs/libsync:=
+	media-libs/minigbm:=
+	virtual/libudev:=
+	virtual/opengles:=
+	x11-libs/libdrm:=
+"
+
+DEPEND="
+	${RDEPEND}
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	media-libs/cros-camera-libcamera_connector_headers:=
+	media-libs/libyuv:=
+	x11-base/xorg-proto:=
+	x11-drivers/opengles-headers:=
+"
+
+src_configure() {
+	cros_optimize_package_for_speed
+	platform_src_configure
+}
+
+src_install() {
+	# Install the sandboxed algorithm service.
+	dobin "${OUT}"/cros_camera_algo
+
+	insinto /etc/init
+	doins init/cros-camera-algo.conf
+
+	insinto /etc/dbus-1/system.d
+	doins dbus/CrosCameraAlgo.conf
+
+	insinto /usr/share/policy
+	newins "seccomp_filter/cros-camera-algo-${ARCH}.policy" cros-camera-algo.policy
+
+	# The sandboxed GPU service is used by Portrait Mode feature, IPU6SE
+	# and Qualcomm Camx camera HAL.
+	if use camera_feature_portrait_mode || use ipu6se || use qualcomm_camx; then
+		insinto /etc/init
+		doins init/cros-camera-gpu-algo.conf
+
+		insinto /usr/share/policy
+		newins "seccomp_filter/cros-camera-gpu-algo-${ARCH}.policy" cros-camera-gpu-algo.policy
+	fi
+
+	# Install libcros_camera required by the camera HAL implementations.
+	insinto /usr/include/cros-camera/
+	doins -r ../include/cros-camera/*
+	# TODO(crbug.com/1197394): Remove after the issue is resolved.
+	camera_mojo_files=$(find "${OUT}"/gen/include/camera/mojo -name '*.mojom.h')
+	einfo "${camera_mojo_files}"
+	insinto /usr/include/cros-camera/mojo/camera
+	doins -r "${OUT}"/gen/include/camera/mojo
+
+	insinto /usr/include/cros-camera/mojo/iioservice
+	doins -r "${OUT}"/gen/include/iioservice/mojo
+
+	dolib.so "${OUT}"/lib/libcros_camera.so
+	dolib.a "${OUT}"/libcros_camera_mojom.a
+	# Project Pita libraries need libcamera_connector.so to run.
+	dosym libcros_camera.so /usr/"$(get_libdir)"/libcamera_connector.so
+
+	insinto /usr/"$(get_libdir)"/pkgconfig
+	doins "${OUT}"/obj/camera/common/libcros_camera.pc
+
+	local fuzzer_component_id="167281"
+	platform_fuzzer_install "${S}"/OWNERS \
+			"${OUT}"/camera_still_capture_processor_impl_fuzzer \
+			--comp "${fuzzer_component_id}"
+
+	platform_src_install
+}
+
+platform_pkg_test() {
+	local cros_camera_tests=(
+		camera_buffer_pool_test
+		camera_face_detection_test
+		camera_hal3_helpers_test
+		cbm_test
+		embed_file_toc_test
+		future_test
+		zsl_helper_test
+	)
+	local test_bin
+	for test_bin in "${cros_camera_tests[@]}"; do
+		platform_test run "${OUT}/${test_bin}"
+	done
+}
diff --git a/chromeos-base/cros-camera-libs/cros-camera-libs-9999.ebuild b/chromeos-base/cros-camera-libs/cros-camera-libs-9999.ebuild
index f4c2b2f..09ebdd0 100644
--- a/chromeos-base/cros-camera-libs/cros-camera-libs-9999.ebuild
+++ b/chromeos-base/cros-camera-libs/cros-camera-libs-9999.ebuild
@@ -19,7 +19,7 @@
 KEYWORDS="~*"
 
 # 'camera_feature_*' and 'ipu6*' are passed to and used in BUILD.gn files.
-IUSE="camera_feature_auto_framing camera_feature_face_detection camera_feature_hdrnet camera_feature_portrait_mode ipu6 ipu6ep ipu6se"
+IUSE="camera_feature_auto_framing camera_feature_face_detection camera_feature_hdrnet camera_feature_portrait_mode ipu6 ipu6ep ipu6se qualcomm_camx"
 
 # Auto face framing depends on the face detection feature.
 REQUIRED_USE="camera_feature_auto_framing? ( camera_feature_face_detection )"
@@ -44,13 +44,10 @@
 	${CONFLICTING_PACKAGES}
 	chromeos-base/chromeos-config-tools:=
 	chromeos-base/cros-camera-android-deps:=
-	camera_feature_auto_framing? ( media-libs/cros-camera-libautoframing:= )
-	camera_feature_hdrnet? ( media-libs/cros-camera-libgcam:= )
-	camera_feature_portrait_mode? ( media-libs/cros-camera-effect-portrait-mode:= )
+	media-libs/cros-camera-libfs:=
 	media-libs/libexif:=
 	media-libs/libsync:=
 	media-libs/minigbm:=
-	media-libs/cros-camera-facessd:=
 	virtual/libudev:=
 	virtual/opengles:=
 	x11-libs/libdrm:=
@@ -61,6 +58,7 @@
 	>=chromeos-base/metrics-0.0.1-r3152:=
 	media-libs/cros-camera-libcamera_connector_headers:=
 	media-libs/libyuv:=
+	x11-base/xorg-proto:=
 	x11-drivers/opengles-headers:=
 "
 
@@ -82,9 +80,9 @@
 	insinto /usr/share/policy
 	newins "seccomp_filter/cros-camera-algo-${ARCH}.policy" cros-camera-algo.policy
 
-	# The sandboxed GPU service is used by Portrait Mode feature and IPU6SE
-	# camera HAL.
-	if use camera_feature_portrait_mode || use ipu6se; then
+	# The sandboxed GPU service is used by Portrait Mode feature, IPU6SE
+	# and Qualcomm Camx camera HAL.
+	if use camera_feature_portrait_mode || use ipu6se || use qualcomm_camx; then
 		insinto /etc/init
 		doins init/cros-camera-gpu-algo.conf
 
diff --git a/chromeos-base/cros-camera-libs/files/revision_bump b/chromeos-base/cros-camera-libs/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/cros-camera-libs/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/media-libs/cros-camera-document-scanning/OWNERS b/chromeos-base/cros-camera-tool/OWNERS
similarity index 100%
copy from media-libs/cros-camera-document-scanning/OWNERS
copy to chromeos-base/cros-camera-tool/OWNERS
diff --git a/chromeos-base/cros-camera-tool/cros-camera-tool-0.0.1-r403.ebuild b/chromeos-base/cros-camera-tool/cros-camera-tool-0.0.1-r403.ebuild
deleted file mode 100644
index 50293fa..0000000
--- a/chromeos-base/cros-camera-tool/cros-camera-tool-0.0.1-r403.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="1f9d9f4574a9655d844c7ef46f138da7228a93a9"
-CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "e5bab9aeb635f426a5f77597edb46ad386ad0f7c" "4a17cb7a754b78de765e63bb30c619b74cd67d1d" "080361d5d45e74e7927e56bab774531748d1a569" "a625767bb59509159091f2ab0b71f8b9b4b2e353")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE=".gn camera/build camera/tools camera/include common-mk"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-PLATFORM_SUBDIR="camera/tools/cros_camera_tool"
-
-inherit cros-camera cros-workon platform
-
-DESCRIPTION="Chrome OS camera test utility."
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="chromeos-base/cros-camera-libs:="
-
-BDEPEND="virtual/pkgconfig"
-
-src_install() {
-	platform_src_install
-	dobin "${OUT}/cros-camera-tool"
-}
diff --git a/chromeos-base/cros-camera-tool/cros-camera-tool-0.0.1-r473.ebuild b/chromeos-base/cros-camera-tool/cros-camera-tool-0.0.1-r473.ebuild
new file mode 100644
index 0000000..14f6a672
--- /dev/null
+++ b/chromeos-base/cros-camera-tool/cros-camera-tool-0.0.1-r473.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="eddffb488e6b0e8ba6309122b37b341057179416"
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4be8d3ae5664634825afc2e6e4b8c24816ee9b9e" "2de57cadefcee72268944188060875f71560d058" "2b7909959649540a63997338914ec45cf9c7d07c" "60fa47aebd6ebfb702012849bd560717fceddcd4")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_SUBTREE=".gn camera/build camera/tools camera/include common-mk"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera/tools/cros_camera_tool"
+
+inherit cros-camera cros-workon platform
+
+DESCRIPTION="Chrome OS camera test utility."
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="chromeos-base/cros-camera-libs:="
+
+BDEPEND="virtual/pkgconfig"
+
+src_install() {
+	platform_src_install
+	dobin "${OUT}/cros-camera-tool"
+}
diff --git a/chromeos-base/cros-camera-tool/files/revision_bump b/chromeos-base/cros-camera-tool/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/cros-camera-tool/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/cros-camera/cros-camera-0.0.1-r1153.ebuild b/chromeos-base/cros-camera/cros-camera-0.0.1-r1153.ebuild
deleted file mode 100644
index 64677e1..0000000
--- a/chromeos-base/cros-camera/cros-camera-0.0.1-r1153.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="1f9d9f4574a9655d844c7ef46f138da7228a93a9"
-CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "e5bab9aeb635f426a5f77597edb46ad386ad0f7c" "a4c500ab9b3c0bc4232aa527a6cbd18f786338a4" "1fc2d79c469ce970cc8c648b9bc205d8320774cb" "27f07f8f694f6cd78b09e80103a5f7aecc3f2378" "080361d5d45e74e7927e56bab774531748d1a569" "17c0af603db6e69e7d5b07fe21738237ebe29f3f" "a625767bb59509159091f2ab0b71f8b9b4b2e353")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-# TODO(crbug.com/914263): camera/hal is unnecessary for this build but is
-# workaround for unexpected sandbox behavior.
-CROS_WORKON_SUBTREE=".gn camera/build camera/common camera/hal camera/hal_adapter camera/include camera/mojo common-mk"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-PLATFORM_SUBDIR="camera/hal_adapter"
-
-inherit cros-camera cros-constants cros-workon platform tmpfiles user udev
-
-DESCRIPTION="Chrome OS camera service. The service is in charge of accessing
-camera device. It uses unix domain socket to build a synchronous channel."
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="arc-camera1 cheets camera_feature_face_detection -libcamera"
-
-BDEPEND="virtual/pkgconfig"
-
-RDEPEND="
-	>=chromeos-base/cros-camera-libs-0.0.1-r34:=
-	chromeos-base/cros-camera-android-deps:=
-	media-libs/cros-camera-hal-usb:=
-	media-libs/libsync:=
-	libcamera? ( media-libs/libcamera )
-	!libcamera? (
-		virtual/cros-camera-hal
-		virtual/cros-camera-hal-configs
-	)"
-
-DEPEND="${RDEPEND}
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	media-libs/minigbm:=
-	x11-libs/libdrm:="
-
-src_configure() {
-	cros_optimize_package_for_speed
-	platform_src_configure
-}
-
-src_install() {
-	platform_src_install
-	dobin "${OUT}/cros_camera_service"
-
-	insinto /etc/init
-	doins init/cros-camera.conf
-	doins init/cros-camera-failsafe.conf
-
-	udev_dorules udev/99-camera.rules
-
-	# Install seccomp policy file.
-	insinto /usr/share/policy
-	newins "seccomp_filter/cros-camera-${ARCH}.policy" cros-camera.policy
-
-	dotmpfiles tmpfiles.d/*.conf
-
-	if use cheets && ! use arc-camera1; then
-		insinto "${ARC_VENDOR_DIR}/etc/init"
-		doins init/init.camera.rc
-	fi
-}
-
-pkg_preinst() {
-	enewuser "arc-camera"
-	enewgroup "arc-camera"
-}
diff --git a/chromeos-base/cros-camera/cros-camera-0.0.1-r1274.ebuild b/chromeos-base/cros-camera/cros-camera-0.0.1-r1274.ebuild
new file mode 100644
index 0000000..67d6484
--- /dev/null
+++ b/chromeos-base/cros-camera/cros-camera-0.0.1-r1274.ebuild
@@ -0,0 +1,75 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="eddffb488e6b0e8ba6309122b37b341057179416"
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4be8d3ae5664634825afc2e6e4b8c24816ee9b9e" "7093536475612fadc6a0afe16b8f5f4f4251e4c2" "b0ccef63d93d3f8d215dd201788aeebd15619f07" "0aff79d6a3216ce221fa82dfa9e8fda54a0df26a" "2b7909959649540a63997338914ec45cf9c7d07c" "aae8bf048bbe1147ff2aa47f59de29bad1b6355d" "60fa47aebd6ebfb702012849bd560717fceddcd4")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+# TODO(crbug.com/914263): camera/hal is unnecessary for this build but is
+# workaround for unexpected sandbox behavior.
+CROS_WORKON_SUBTREE=".gn camera/build camera/common camera/hal camera/hal_adapter camera/include camera/mojo common-mk"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera/hal_adapter"
+
+inherit cros-camera cros-constants cros-workon platform tmpfiles user udev
+
+DESCRIPTION="Chrome OS camera service. The service is in charge of accessing
+camera device. It uses unix domain socket to build a synchronous channel."
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="arc-camera1 cheets camera_feature_face_detection -libcamera"
+
+BDEPEND="virtual/pkgconfig"
+
+RDEPEND="
+	>=chromeos-base/cros-camera-libs-0.0.1-r34:=
+	chromeos-base/cros-camera-android-deps:=
+	media-libs/cros-camera-hal-usb:=
+	media-libs/libsync:=
+	libcamera? ( media-libs/libcamera )
+	!libcamera? (
+		virtual/cros-camera-hal
+		virtual/cros-camera-hal-configs
+	)"
+
+DEPEND="${RDEPEND}
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	media-libs/minigbm:=
+	x11-libs/libdrm:="
+
+src_configure() {
+	cros_optimize_package_for_speed
+	platform_src_configure
+}
+
+src_install() {
+	platform_src_install
+	dobin "${OUT}/cros_camera_service"
+
+	insinto /etc/init
+	doins init/cros-camera.conf
+	doins init/cros-camera-failsafe.conf
+
+	udev_dorules udev/99-camera.rules
+
+	# Install seccomp policy file.
+	insinto /usr/share/policy
+	newins "seccomp_filter/cros-camera-${ARCH}.policy" cros-camera.policy
+
+	dotmpfiles tmpfiles.d/*.conf
+
+	if use cheets && ! use arc-camera1; then
+		insinto "${ARC_VENDOR_DIR}/etc/init"
+		doins init/init.camera.rc
+	fi
+}
+
+pkg_preinst() {
+	enewuser "arc-camera"
+	enewgroup "arc-camera"
+}
diff --git a/chromeos-base/cros-camera/files/revision_bump b/chromeos-base/cros-camera/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/cros-camera/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/cros-config-api/cros-config-api-0.0.1-r362.ebuild b/chromeos-base/cros-config-api/cros-config-api-0.0.1-r362.ebuild
deleted file mode 100644
index f10ee15..0000000
--- a/chromeos-base/cros-config-api/cros-config-api-0.0.1-r362.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="111791c449aad1e6284d45ca7cbb66f5f0fc2a62"
-CROS_WORKON_TREE=("060563e90e9843d94603f66795083543b5498ec0" "fae695d8e3a56f06b723de0eda7b6751ae9acc37" "26ecfe17870e553da0c3f58b17b765b53d661823")
-CROS_WORKON_PROJECT="chromiumos/config"
-CROS_WORKON_LOCALNAME="config"
-CROS_WORKON_SUBTREE="python go test"
-
-PYTHON_COMPAT=( python3_{6..9} )
-DISTUTILS_USE_SETUPTOOLS=bdepend
-
-inherit cros-workon distutils-r1
-
-DESCRIPTION="Provides python and go bindings to the config API"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/config/+/master/python/"
-
-LICENSE="BSD-Google"
-SLOT=0
-KEYWORDS="*"
-
-RDEPEND="
-	dev-go/genproto
-"
-
-DEPEND="
-	${RDEPEND}
-"
-
-src_unpack() {
-	cros-workon_src_unpack
-	# distutils-r1 provides src_configure, src_install and src_test steps for
-	# python bindings, and they require S to be set to the Python source base
-	# directory.
-	S+="/python"
-}
-
-src_install() {
-	distutils-r1_src_install
-
-	# cros-go_src_install requires the directory names (which is also the go
-	# package name) match between the source and destination directories.
-	# However we want to add some prefix to the destination directory name.
-	# source: src/config/go/api...
-	# destination: src/go.chromium.org/chromiumos/config/go/api/...
-	# Therefore insinto/doins are directly called here, instead of using
-	# cros-go_src_install in cros-go.eclass.
-	insinto /usr/lib/gopath/src/go.chromium.org/chromiumos/config
-	# One directory up, because $S is modified in src_unpack in this file.
-	doins -r ../go
-}
diff --git a/chromeos-base/cros-config-api/cros-config-api-0.0.1-r422.ebuild b/chromeos-base/cros-config-api/cros-config-api-0.0.1-r422.ebuild
new file mode 100644
index 0000000..1e95757
--- /dev/null
+++ b/chromeos-base/cros-config-api/cros-config-api-0.0.1-r422.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="7f05c2f0254be615ce1ed3e81f3cca5fc9f1f0e5"
+CROS_WORKON_TREE=("360559203d537727a34f0267da818a5260a642fa" "8f40a2aae9fc5b3574838855130c910376c07ced" "135e1b74b93b7eca3633f0075e774ef4b57dd25d")
+CROS_WORKON_PROJECT="chromiumos/config"
+CROS_WORKON_LOCALNAME="config"
+CROS_WORKON_SUBTREE="python go test"
+
+PYTHON_COMPAT=( python3_{6..9} )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+
+inherit cros-workon distutils-r1
+
+DESCRIPTION="Provides python and go bindings to the config API"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/config/+/master/python/"
+
+LICENSE="BSD-Google"
+SLOT=0
+KEYWORDS="*"
+
+RDEPEND="
+	dev-go/genproto
+	dev-go/grpc
+	dev-go/protobuf-legacy-api
+"
+
+DEPEND="
+	${RDEPEND}
+"
+
+src_unpack() {
+	cros-workon_src_unpack
+	# distutils-r1 provides src_configure, src_install and src_test steps for
+	# python bindings, and they require S to be set to the Python source base
+	# directory.
+	S+="/python"
+}
+
+src_install() {
+	distutils-r1_src_install
+
+	# cros-go_src_install requires the directory names (which is also the go
+	# package name) match between the source and destination directories.
+	# However we want to add some prefix to the destination directory name.
+	# source: src/config/go/api...
+	# destination: src/go.chromium.org/chromiumos/config/go/api/...
+	# Therefore insinto/doins are directly called here, instead of using
+	# cros-go_src_install in cros-go.eclass.
+	insinto /usr/lib/gopath/src/go.chromium.org/chromiumos/config
+	# One directory up, because $S is modified in src_unpack in this file.
+	doins -r ../go
+}
diff --git a/chromeos-base/cros-config-api/cros-config-api-9999.ebuild b/chromeos-base/cros-config-api/cros-config-api-9999.ebuild
index 14c977c..a1ee70d 100644
--- a/chromeos-base/cros-config-api/cros-config-api-9999.ebuild
+++ b/chromeos-base/cros-config-api/cros-config-api-9999.ebuild
@@ -22,6 +22,8 @@
 
 RDEPEND="
 	dev-go/genproto
+	dev-go/grpc
+	dev-go/protobuf-legacy-api
 "
 
 DEPEND="
diff --git a/chromeos-base/cros-devutils/OWNERS b/chromeos-base/cros-devutils/OWNERS
index 995488c..d39c14f 100644
--- a/chromeos-base/cros-devutils/OWNERS
+++ b/chromeos-base/cros-devutils/OWNERS
@@ -1 +1 @@
-include chromiumos/chromite:/OWNERS.build
+include chromiumos/owners:v1:/infra/OWNERS.build
diff --git a/chromeos-base/cros-devutils/cros-devutils-1-r1256.ebuild b/chromeos-base/cros-devutils/cros-devutils-1-r1256.ebuild
deleted file mode 100644
index d66f3e9..0000000
--- a/chromeos-base/cros-devutils/cros-devutils-1-r1256.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_WORKON_COMMIT="35099049ef9ef0d26292c70fea3ad1c82a461d89"
-CROS_WORKON_TREE="ca49addb78c5c9e5dd77b6f3befa4bec0f841922"
-CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
-CROS_WORKON_LOCALNAME="platform/dev"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE="host"
-
-inherit cros-workon
-
-DESCRIPTION="Development utilities for ChromiumOS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/host/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="app-portage/gentoolkit
-	>=chromeos-base/devserver-0.0.2
-	dev-util/shflags
-	dev-util/toolchain-utils
-	"
-# These are all either bash / python scripts.  No actual builds DEPS.
-DEPEND=""
-
-src_compile() { :; }
-
-src_install() {
-	dobin host/cros_workon_make
-}
diff --git a/chromeos-base/cros-devutils/cros-devutils-1-r1257.ebuild b/chromeos-base/cros-devutils/cros-devutils-1-r1257.ebuild
new file mode 100644
index 0000000..4e00a72
--- /dev/null
+++ b/chromeos-base/cros-devutils/cros-devutils-1-r1257.ebuild
@@ -0,0 +1,35 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="07d40bb343fd554a07fd12f8f413e705cbb64ddf"
+CROS_WORKON_TREE="824a8482ee834dfa7f30e680bf9dd7e1686c7773"
+CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
+CROS_WORKON_LOCALNAME="platform/dev"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE="host"
+
+inherit cros-workon
+
+DESCRIPTION="Development utilities for ChromiumOS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/host/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="app-portage/gentoolkit
+	>=chromeos-base/devserver-0.0.2
+	dev-util/shflags
+	dev-util/toolchain-utils
+	"
+# These are all either bash / python scripts.  No actual builds DEPS.
+DEPEND=""
+
+src_compile() { :; }
+
+src_install() {
+	dobin host/cros_workon_make
+}
diff --git a/chromeos-base/cros-disks/cros-disks-0.0.1-r3353.ebuild b/chromeos-base/cros-disks/cros-disks-0.0.1-r3353.ebuild
deleted file mode 100644
index 221ce6e..0000000
--- a/chromeos-base/cros-disks/cros-disks-0.0.1-r3353.ebuild
+++ /dev/null
@@ -1,153 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "30a695a5e67a088447765d6b9ac6df1707bf65d5" "4a0dedab080195bdc122d2289118df4af3ddca2c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk cros-disks metrics .gn"
-
-PLATFORM_SUBDIR="cros-disks"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Disk mounting daemon for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/cros-disks/"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="chromeless_tty fuzzer +seccomp"
-
-COMMON_DEPEND="
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/minijail:=
-	chromeos-base/session_manager-client:=
-	sys-apps/rootdev:=
-	sys-apps/util-linux:=
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	net-fs/sshfs
-	sys-fs/dosfstools
-	sys-fs/exfat-utils
-	sys-fs/fuse-archive
-	sys-fs/fuse-exfat
-	sys-fs/mount-zip
-	sys-fs/ntfs3g
-	sys-fs/rar2fs
-	virtual/udev
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/system_api:=[fuzzer?]
-"
-
-pkg_preinst() {
-	enewuser "cros-disks"
-	enewgroup "cros-disks"
-
-	enewuser "ntfs-3g"
-	enewgroup "ntfs-3g"
-
-	enewuser "fuse-archivemount"
-	enewgroup "fuse-archivemount"
-
-	enewuser "fuse-exfat"
-	enewgroup "fuse-exfat"
-
-	enewuser "fuse-fusebox"
-	enewgroup "fuse-fusebox"
-
-	enewuser "fuse-rar2fs"
-	enewgroup "fuse-rar2fs"
-
-	enewuser "fuse-zip"
-	enewgroup "fuse-zip"
-
-	enewuser "fuse-sshfs"
-	enewgroup "fuse-sshfs"
-
-	enewuser "fuse-drivefs"
-	enewgroup "fuse-drivefs"
-
-	enewuser "mkfs"
-	enewgroup "mkfs"
-}
-
-src_install() {
-	platform_src_install
-
-	dobin "${OUT}"/cros-disks
-
-	# Install USB device IDs file.
-	insinto /usr/share/cros-disks
-	doins usb-device-info
-
-	# We invoke systemd-tmpfiles explicitly from the upstart config
-	# since it needs to run when /sys/fs/cgroup is available.
-	insinto /usr/lib/tmpfiles.d/on-demand
-	doins tmpfiles.d/*.conf
-
-	# Install seccomp policy files.
-	insinto /usr/share/policy
-	use seccomp && newins archivemount-seccomp-${ARCH}.policy archivemount-seccomp.policy
-	use seccomp && newins mount-zip-seccomp-${ARCH}.policy mount-zip-seccomp.policy
-	use seccomp && newins rar2fs-seccomp-${ARCH}.policy rar2fs-seccomp.policy
-	use seccomp && newins mkfs-seccomp-${ARCH}.policy mkfs-seccomp.policy
-
-	# Install upstart config file.
-	insinto /etc/init
-	doins cros-disks.conf
-	# Insert the --no-session-manager flag if needed.
-	if use chromeless_tty; then
-		sed -i -E "s/(CROS_DISKS_OPTS=')/\1--no_session_manager /" "${D}"/etc/init/cros-disks.conf || die
-	fi
-
-	# Install D-Bus config file.
-	insinto /etc/dbus-1/system.d
-	doins org.chromium.CrosDisks.conf
-
-	# Install setuid restrictions file.
-	insinto /usr/share/cros/startup/process_management_policies
-	doins setuid_restrictions/cros_disks_uid_allowlist.txt
-
-	# Install powerd prefs for FUSE freeze ordering.
-	insinto /usr/share/power_manager
-	doins powerd_prefs/suspend_freezer_deps_*
-
-	local fuzzers=(
-		filesystem_label_fuzzer
-		mount_info_fuzzer
-	)
-
-	local fuzzer
-	for fuzzer in "${fuzzers[@]}"; do
-		# fuzzer_component_id is unknown/unlisted
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}/${PN}_${fuzzer}"
-	done
-}
-
-platform_pkg_test() {
-	local gtest_filter_qemu_common=""
-	gtest_filter_qemu_common+="DiskManagerTest.*"
-	gtest_filter_qemu_common+=":ExternalMounterTest.*"
-	gtest_filter_qemu_common+=":UdevDeviceTest.*"
-	gtest_filter_qemu_common+=":MountInfoTest.RetrieveFromCurrentProcess"
-	gtest_filter_qemu_common+=":GlibProcessTest.*"
-
-	local gtest_filter_user_tests="-*RunAsRoot*:"
-	! use x86 && ! use amd64 && gtest_filter_user_tests+="${gtest_filter_qemu_common}"
-
-	local gtest_filter_root_tests="*RunAsRoot*-"
-	! use x86 && ! use amd64 && gtest_filter_root_tests+="${gtest_filter_qemu_common}"
-
-	platform_test "run" "${OUT}/disks_testrunner" "1" \
-		"${gtest_filter_root_tests}"
-	platform_test "run" "${OUT}/disks_testrunner" "0" \
-		"${gtest_filter_user_tests}"
-}
diff --git a/chromeos-base/cros-disks/cros-disks-0.0.1-r3515.ebuild b/chromeos-base/cros-disks/cros-disks-0.0.1-r3515.ebuild
new file mode 100644
index 0000000..0aa12ac
--- /dev/null
+++ b/chromeos-base/cros-disks/cros-disks-0.0.1-r3515.ebuild
@@ -0,0 +1,154 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "8f2675a7fb1f6b8b5dda4c1070aaa0b8de796429" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk cros-disks metrics .gn"
+
+PLATFORM_SUBDIR="cros-disks"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Disk mounting daemon for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cros-disks/"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="chromeless_tty fuzzer +seccomp"
+
+COMMON_DEPEND="
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/minijail:=
+	chromeos-base/session_manager-client:=
+	sys-apps/rootdev:=
+	sys-apps/util-linux:=
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	net-fs/sshfs
+	sys-fs/dosfstools
+	sys-fs/exfat-utils
+	sys-fs/fuse-archive
+	sys-fs/fuse-exfat
+	sys-fs/mount-zip
+	sys-fs/ntfs3g
+	sys-fs/rar2fs
+	virtual/udev
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/system_api:=[fuzzer?]
+"
+
+pkg_preinst() {
+	enewuser "cros-disks"
+	enewgroup "cros-disks"
+
+	enewuser "ntfs-3g"
+	enewgroup "ntfs-3g"
+
+	enewuser "fuse-archivemount"
+	enewgroup "fuse-archivemount"
+
+	enewuser "fuse-exfat"
+	enewgroup "fuse-exfat"
+
+	enewuser "fuse-fusebox"
+	enewgroup "fuse-fusebox"
+
+	enewuser "fuse-rar2fs"
+	enewgroup "fuse-rar2fs"
+
+	enewuser "fuse-zip"
+	enewgroup "fuse-zip"
+
+	enewuser "fuse-sshfs"
+	enewgroup "fuse-sshfs"
+
+	enewuser "fuse-drivefs"
+	enewgroup "fuse-drivefs"
+
+	enewuser "mkfs"
+	enewgroup "mkfs"
+}
+
+src_install() {
+	platform_src_install
+
+	dobin "${OUT}"/cros-disks
+
+	# Install USB device IDs file.
+	insinto /usr/share/cros-disks
+	doins usb-device-info
+
+	# We invoke systemd-tmpfiles explicitly from the upstart config
+	# since it needs to run when /sys/fs/cgroup is available.
+	insinto /usr/lib/tmpfiles.d/on-demand
+	doins tmpfiles.d/*.conf
+
+	# Install seccomp policy files.
+	insinto /usr/share/policy
+	use seccomp && newins "seccomp_policy/archivemount-seccomp-${ARCH}.policy" archivemount-seccomp.policy
+	use seccomp && newins "seccomp_policy/fusebox-seccomp-${ARCH}.policy"      fusebox-seccomp.policy
+	use seccomp && newins "seccomp_policy/mkfs-seccomp-${ARCH}.policy"         mkfs-seccomp.policy
+	use seccomp && newins "seccomp_policy/mount-zip-seccomp-${ARCH}.policy"    mount-zip-seccomp.policy
+	use seccomp && newins "seccomp_policy/rar2fs-seccomp-${ARCH}.policy"       rar2fs-seccomp.policy
+
+	# Install upstart config file.
+	insinto /etc/init
+	doins cros-disks.conf
+	# Insert the --no-session-manager flag if needed.
+	if use chromeless_tty; then
+		sed -i -E "s/(CROS_DISKS_OPTS=')/\1--no_session_manager /" "${D}"/etc/init/cros-disks.conf || die
+	fi
+
+	# Install D-Bus config file.
+	insinto /etc/dbus-1/system.d
+	doins org.chromium.CrosDisks.conf
+
+	# Install setuid restrictions file.
+	insinto /usr/share/cros/startup/process_management_policies
+	doins setuid_restrictions/cros_disks_uid_allowlist.txt
+
+	# Install powerd prefs for FUSE freeze ordering.
+	insinto /usr/share/power_manager
+	doins powerd_prefs/suspend_freezer_deps_*
+
+	local fuzzers=(
+		filesystem_label_fuzzer
+		mount_info_fuzzer
+	)
+
+	local fuzzer
+	for fuzzer in "${fuzzers[@]}"; do
+		# fuzzer_component_id is unknown/unlisted
+		platform_fuzzer_install "${S}"/OWNERS "${OUT}/${PN}_${fuzzer}"
+	done
+}
+
+platform_pkg_test() {
+	local gtest_filter_qemu_common=""
+	gtest_filter_qemu_common+="DiskManagerTest.*"
+	gtest_filter_qemu_common+=":ExternalMounterTest.*"
+	gtest_filter_qemu_common+=":UdevDeviceTest.*"
+	gtest_filter_qemu_common+=":MountInfoTest.RetrieveFromCurrentProcess"
+	gtest_filter_qemu_common+=":GlibProcessTest.*"
+
+	local gtest_filter_user_tests="-*RunAsRoot*:"
+	! use x86 && ! use amd64 && gtest_filter_user_tests+="${gtest_filter_qemu_common}"
+
+	local gtest_filter_root_tests="*RunAsRoot*-"
+	! use x86 && ! use amd64 && gtest_filter_root_tests+="${gtest_filter_qemu_common}"
+
+	platform_test "run" "${OUT}/disks_testrunner" "1" \
+		"${gtest_filter_root_tests}"
+	platform_test "run" "${OUT}/disks_testrunner" "0" \
+		"${gtest_filter_user_tests}"
+}
diff --git a/chromeos-base/cros-disks/cros-disks-9999.ebuild b/chromeos-base/cros-disks/cros-disks-9999.ebuild
index 5fb81d1..f0cd81f 100644
--- a/chromeos-base/cros-disks/cros-disks-9999.ebuild
+++ b/chromeos-base/cros-disks/cros-disks-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform user
 
 DESCRIPTION="Disk mounting daemon for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/cros-disks/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cros-disks/"
 LICENSE="BSD-Google"
 KEYWORDS="~*"
 IUSE="chromeless_tty fuzzer +seccomp"
@@ -93,10 +93,11 @@
 
 	# Install seccomp policy files.
 	insinto /usr/share/policy
-	use seccomp && newins archivemount-seccomp-${ARCH}.policy archivemount-seccomp.policy
-	use seccomp && newins mount-zip-seccomp-${ARCH}.policy mount-zip-seccomp.policy
-	use seccomp && newins rar2fs-seccomp-${ARCH}.policy rar2fs-seccomp.policy
-	use seccomp && newins mkfs-seccomp-${ARCH}.policy mkfs-seccomp.policy
+	use seccomp && newins "seccomp_policy/archivemount-seccomp-${ARCH}.policy" archivemount-seccomp.policy
+	use seccomp && newins "seccomp_policy/fusebox-seccomp-${ARCH}.policy"      fusebox-seccomp.policy
+	use seccomp && newins "seccomp_policy/mkfs-seccomp-${ARCH}.policy"         mkfs-seccomp.policy
+	use seccomp && newins "seccomp_policy/mount-zip-seccomp-${ARCH}.policy"    mount-zip-seccomp.policy
+	use seccomp && newins "seccomp_policy/rar2fs-seccomp-${ARCH}.policy"       rar2fs-seccomp.policy
 
 	# Install upstart config file.
 	insinto /etc/init
diff --git a/chromeos-base/cros-disks/files/revision_bump b/chromeos-base/cros-disks/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/cros-disks/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/cros-testutils/cros-testutils-0.0.1-r627.ebuild b/chromeos-base/cros-testutils/cros-testutils-0.0.1-r627.ebuild
deleted file mode 100644
index 433d469..0000000
--- a/chromeos-base/cros-testutils/cros-testutils-0.0.1-r627.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="25ad1e69d8af0959b71504eca5f3450b8b122bd3"
-CROS_WORKON_TREE="f3144acef13929bdf518eb34a9445bc8a4a334e1"
-CROS_WORKON_PROJECT="chromiumos/platform/crostestutils"
-CROS_WORKON_LOCALNAME="platform/crostestutils"
-
-inherit cros-workon
-
-DESCRIPTION="Host test utilities for ChromiumOS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crostestutils/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="
-	dev-python/django
-	"
-
-# These are all either bash / python scripts.  No actual builds DEPS.
-DEPEND=""
-
-# Use default src_compile and src_install which use Makefile.
diff --git a/chromeos-base/cros-testutils/cros-testutils-0.0.1-r637.ebuild b/chromeos-base/cros-testutils/cros-testutils-0.0.1-r637.ebuild
new file mode 100644
index 0000000..45ab8ef
--- /dev/null
+++ b/chromeos-base/cros-testutils/cros-testutils-0.0.1-r637.ebuild
@@ -0,0 +1,25 @@
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="5f94acd8734971354a2375a72c71ac52ec5f5954"
+CROS_WORKON_TREE="4b8e764fe9da4270606558d688cbcafba952567f"
+CROS_WORKON_PROJECT="chromiumos/platform/crostestutils"
+CROS_WORKON_LOCALNAME="platform/crostestutils"
+
+inherit cros-workon
+
+DESCRIPTION="Host test utilities for ChromiumOS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crostestutils/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="
+	dev-python/django
+	"
+
+# These are all either bash / python scripts.  No actual builds DEPS.
+DEPEND=""
+
+# Use default src_compile and src_install which use Makefile.
diff --git a/chromeos-base/cros_healthd-client/OWNERS b/chromeos-base/cros_healthd-client/OWNERS
index f7678b0..cf72a74 100644
--- a/chromeos-base/cros_healthd-client/OWNERS
+++ b/chromeos-base/cros_healthd-client/OWNERS
@@ -1 +1 @@
-include chromiumos/platform2:/diagnostics/OWNERS
\ No newline at end of file
+include chromiumos/platform2:/diagnostics/OWNERS
diff --git a/chromeos-base/cros_healthd-client/cros_healthd-client-0.0.1-r162.ebuild b/chromeos-base/cros_healthd-client/cros_healthd-client-0.0.1-r162.ebuild
new file mode 100644
index 0000000..cf75294
--- /dev/null
+++ b/chromeos-base/cros_healthd-client/cros_healthd-client-0.0.1-r162.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="71ddf055c1002feef322b5414a71d7c8aa368d57"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "22e73209a1f442bdb7f51b01281a5e5bae946c16" "aae4149b879c9ea92a2c1a8f3468f77a698d34c3" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="common-mk diagnostics/bindings diagnostics/mojom .gn"
+
+PLATFORM_SUBDIR="diagnostics/mojom"
+
+WANT_LIBBRILLO="no"
+inherit cros-workon platform
+
+DESCRIPTION="Chrome OS Mojo client for cros_healthd"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/diagnostics/mojo"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+src_install() {
+	# Install package config.
+	insinto /usr/"$(get_libdir)"/pkgconfig
+	doins cros_healthd-client.pc
+
+	# Install C++ headers.
+	insinto /usr/include/cros_healthd-client/diagnostics/mojom/public
+	doins "${S}"/public/*.mojom
+	doins "${OUT}"/gen/include/diagnostics/mojom/public/*.h
+	doins "${OUT}"/gen/include/diagnostics/mojom/public/*module
+
+	insinto /usr/include/cros_healthd-client/diagnostics/mojom/external
+	doins "${S}"/external/*.mojom
+	doins "${OUT}"/gen/include/diagnostics/mojom/external/*.h
+	doins "${OUT}"/gen/include/diagnostics/mojom/external/*module
+
+	# Install libraries linked by the C++ headers.
+	dolib.a "${OUT}"/*.a
+}
diff --git a/chromeos-base/cros_healthd-client/cros_healthd-client-0.0.1-r69.ebuild b/chromeos-base/cros_healthd-client/cros_healthd-client-0.0.1-r69.ebuild
deleted file mode 100644
index 1b81077..0000000
--- a/chromeos-base/cros_healthd-client/cros_healthd-client-0.0.1-r69.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "36b901d31b2b1858ec25d421e23ed3de8f75dcde" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_SUBTREE="common-mk diagnostics/mojom .gn"
-
-PLATFORM_SUBDIR="diagnostics/mojom"
-
-WANT_LIBBRILLO="no"
-inherit cros-workon platform
-
-DESCRIPTION="Chrome OS Mojo client for cros_healthd"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/diagnostics/mojo"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-src_install() {
-	# Install package config.
-	insinto /usr/"$(get_libdir)"/pkgconfig
-	doins cros_healthd-client.pc
-
-	# Install C++ headers.
-	insinto /usr/include/cros_healthd-client/diagnostics/mojom/public
-	doins "${S}"/public/*.mojom
-	doins "${OUT}"/gen/include/diagnostics/mojom/public/*.h
-	doins "${OUT}"/gen/include/diagnostics/mojom/public/*module
-
-	insinto /usr/include/cros_healthd-client/diagnostics/mojom/external
-	doins "${S}"/external/*.mojom
-	doins "${OUT}"/gen/include/diagnostics/mojom/external/*.h
-	doins "${OUT}"/gen/include/diagnostics/mojom/external/*module
-
-	# Install libraries linked by the C++ headers.
-	dolib.a "${OUT}"/*.a
-}
diff --git a/chromeos-base/cros_healthd-client/cros_healthd-client-9999.ebuild b/chromeos-base/cros_healthd-client/cros_healthd-client-9999.ebuild
index 73e0e55..e063109 100644
--- a/chromeos-base/cros_healthd-client/cros_healthd-client-9999.ebuild
+++ b/chromeos-base/cros_healthd-client/cros_healthd-client-9999.ebuild
@@ -7,7 +7,7 @@
 CROS_WORKON_LOCALNAME="platform2"
 CROS_WORKON_OUTOFTREE_BUILD=1
 CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_SUBTREE="common-mk diagnostics/mojom .gn"
+CROS_WORKON_SUBTREE="common-mk diagnostics/bindings diagnostics/mojom .gn"
 
 PLATFORM_SUBDIR="diagnostics/mojom"
 
diff --git a/chromeos-base/cros_healthd-client/files/revision_bump b/chromeos-base/cros_healthd-client/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/cros_healthd-client/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/croscomp/croscomp-0.1.0-r17.ebuild b/chromeos-base/croscomp/croscomp-0.1.0-r17.ebuild
deleted file mode 100644
index 660055a..0000000
--- a/chromeos-base/croscomp/croscomp-0.1.0-r17.ebuild
+++ /dev/null
@@ -1,130 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="dff13bf8763642be89bf67245a81224faf561543"
-CROS_WORKON_TREE="bf6d715752a340855c1d5c0824f00f144772dfe8"
-CROS_WORKON_PROJECT="chromiumos/platform/croscomp"
-CROS_WORKON_LOCALNAME="platform/croscomp"
-CROS_WORKON_INCREMENTAL_BUILD=1
-
-inherit meson cros-rust cros-workon
-
-DESCRIPTION="ChromeOS System Compositor"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/croscomp/"
-
-LICENSE="MIT BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
-
-COMMON_DEPEND="
-	>=x11-libs/libdrm-2.4.94:=
-	dev-libs/expat:=
-	dev-libs/libevdev:=
-	dev-libs/libinput:=
-	dev-libs/wayland:=
-	media-libs/lcms:=
-	sys-libs/mtdev:=
-	x11-libs/cairo:=
-	x11-libs/libxkbcommon:=
-	x11-libs/pango:=
-	x11-libs/pixman:=
-"
-
-RDEPEND="${COMMON_DEPEND}
-	virtual/opengles
-	|| ( media-libs/mesa[gbm] media-libs/minigbm )
-"
-
-# Deps for third party crates
-dlib_DEPEND="
-	=dev-rust/libloading-0.7*:=
-"
-
-wayland_scanner_DEPEND="
-	>=dev-rust/proc-macro2-1.0.11 <dev-rust/proc-macro2-2.0.0_alpha:=
-	=dev-rust/quote-1*:=
-	>=dev-rust/xml-rs-0.7.0 <dev-rust/xml-rs-0.9.0_alpha:=
-"
-
-wayland_commons_DEPEND="
-	=dev-rust/nix-0.23*:=
-	>=dev-rust/once_cell-1.1.0 <dev-rust/once_cell-2.0.0_alpha:=
-	=dev-rust/smallvec-1*:=
-"
-
-wayland_sys_DEPEND="
-	${dlib_DEPEND}
-	>=dev-rust/lazy_static-1.0.2 <dev-rust/lazy_static-2.0.0_alpha:=
-	=dev-rust/libc-0.2*:=
-	>=dev-rust/memoffset-0.6.4 <dev-rust/memoffset-0.7.0_alpha:=
-	>=dev-rust/pkg-config-0.3.7 <dev-rust/pkg-config-0.4.0_alpha:=
-"
-
-wayland_server_DEPEND="
-	=dev-rust/bitflags-1*:=
-	>=dev-rust/downcast-rs-1.0.4 <dev-rust/downcast-rs-2.0.0_alpha:=
-	>=dev-rust/lazy_static-1.0.2 <dev-rust/lazy_static-2.0.0_alpha:=
-	=dev-rust/libc-0.2*:=
-	=dev-rust/nix-0.23*:=
-	=dev-rust/parking_lot-0.11*:=
-	=dev-rust/scoped-tls-1*:=
-"
-
-DEPEND="${COMMON_DEPEND}
-	${wayland_scanner_DEPEND}
-	${wayland_commons_DEPEND}
-	${wayland_sys_DEPEND}
-	${wayland_server_DEPEND}
-
-	dev-libs/wayland-protocols:=
-	>=dev-rust/env_logger-0.8.3 <dev-rust/env_logger-0.9.0_alpha:=
-	>=dev-rust/nix-0.23.0 <dev-rust/nix-0.24.0_alpha:=
-	>=dev-rust/structopt-0.3.20 <dev-rust/structopt-0.4.0_alpha:=
-	virtual/bindgen:=
-	x11-drivers/opengles-headers:=
-"
-
-BDEPEND="
-	virtual/pkgconfig
-"
-
-src_unpack() {
-	# Unpack both the project and dependency source code
-	cros-workon_src_unpack
-	cros-rust_src_unpack
-}
-
-src_prepare() {
-	cros-rust_src_prepare
-	default
-}
-
-src_configure() {
-	export MESON_BUILD_DIR="${WORKDIR}/${P}-build"
-	EMESON_SOURCE=${S}/weston
-	meson_src_configure
-	cros-rust_src_configure
-}
-
-src_compile() {
-	export MESON_BUILD_DIR="${WORKDIR}/${P}-build"
-	meson_src_compile
-	ecargo_build -v -p croscomp
-}
-
-src_install() {
-	# cargo doesn't know how to install cross-compiled binaries.  It will
-	# always install native binaries for the host system.  Manually install
-	# crosvm instead.
-	local build_dir="$(cros-rust_get_build_dir)"
-	dobin "${build_dir}/croscomp"
-
-	insinto /etc/init
-	doins croscomp.conf
-	dobin croscomp-terminal
-
-	meson_src_install
-}
diff --git a/chromeos-base/croscomp/croscomp-0.1.0-r32.ebuild b/chromeos-base/croscomp/croscomp-0.1.0-r32.ebuild
new file mode 100644
index 0000000..d5aec12
--- /dev/null
+++ b/chromeos-base/croscomp/croscomp-0.1.0-r32.ebuild
@@ -0,0 +1,139 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="5846298ea42665c2c0b520d468d79d8fedd4a16f"
+CROS_WORKON_TREE="b11b9ea5c361845ea90f9b8f99f303208464ba69"
+CROS_WORKON_PROJECT="chromiumos/platform/croscomp"
+CROS_WORKON_LOCALNAME="platform/croscomp"
+CROS_WORKON_INCREMENTAL_BUILD=1
+
+inherit meson cros-rust cros-workon
+
+DESCRIPTION="ChromeOS System Compositor"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/croscomp/"
+
+LICENSE="MIT BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+COMMON_DEPEND="
+	>=x11-libs/libdrm-2.4.94:=
+	dev-libs/expat:=
+	dev-libs/libevdev:=
+	dev-libs/libinput:=
+	dev-libs/wayland:=
+	media-libs/lcms:=
+	media-libs/libpng:=
+	sys-libs/mtdev:=
+	x11-libs/cairo:=
+	x11-libs/libxkbcommon:=
+	x11-libs/pango:=
+	x11-libs/pixman:=
+"
+
+RDEPEND="${COMMON_DEPEND}
+	virtual/opengles
+	|| ( media-libs/mesa[gbm] media-libs/minigbm )
+"
+
+# Deps for third party crates
+dlib_DEPEND="
+	=dev-rust/libloading-0.7*:=
+"
+
+wayland_scanner_DEPEND="
+	>=dev-rust/proc-macro2-1.0.11 <dev-rust/proc-macro2-2.0.0_alpha:=
+	=dev-rust/quote-1*:=
+	>=dev-rust/xml-rs-0.7.0 <dev-rust/xml-rs-0.9.0_alpha:=
+"
+
+wayland_commons_DEPEND="
+	=dev-rust/nix-0.23*:=
+	>=dev-rust/once_cell-1.1.0 <dev-rust/once_cell-2.0.0_alpha:=
+	=dev-rust/smallvec-1*:=
+"
+
+wayland_sys_DEPEND="
+	${dlib_DEPEND}
+	>=dev-rust/lazy_static-1.0.2 <dev-rust/lazy_static-2.0.0_alpha:=
+	=dev-rust/libc-0.2*:=
+	>=dev-rust/memoffset-0.6.4 <dev-rust/memoffset-0.7.0_alpha:=
+	>=dev-rust/pkg-config-0.3.7 <dev-rust/pkg-config-0.4.0_alpha:=
+"
+
+wayland_server_DEPEND="
+	=dev-rust/bitflags-1*:=
+	>=dev-rust/downcast-rs-1.0.4 <dev-rust/downcast-rs-2.0.0_alpha:=
+	>=dev-rust/lazy_static-1.0.2 <dev-rust/lazy_static-2.0.0_alpha:=
+	=dev-rust/libc-0.2*:=
+	=dev-rust/nix-0.23*:=
+	=dev-rust/parking_lot-0.11*:=
+	=dev-rust/scoped-tls-1*:=
+"
+
+DEPEND="${COMMON_DEPEND}
+	${wayland_scanner_DEPEND}
+	${wayland_commons_DEPEND}
+	${wayland_sys_DEPEND}
+	${wayland_server_DEPEND}
+
+	dev-libs/wayland-protocols:=
+	>=dev-rust/env_logger-0.8.3 <dev-rust/env_logger-0.9.0_alpha:=
+	>=dev-rust/nix-0.23.0 <dev-rust/nix-0.24.0_alpha:=
+	>=dev-rust/structopt-0.3.20 <dev-rust/structopt-0.4.0_alpha:=
+	dev-rust/cbindgen:=
+	x11-drivers/opengles-headers:=
+	=dev-rust/cfg-if-1.0.0:=
+	=dev-rust/jobserver-0.1.16:=
+	=dev-rust/tokio-1*:=
+	=dev-rust/tokio-macros-1*:=
+"
+
+BDEPEND="
+	virtual/pkgconfig
+"
+
+src_unpack() {
+	# Unpack both the project and dependency source code
+	cros-workon_src_unpack
+	cros-rust_src_unpack
+}
+
+src_prepare() {
+	cros_optimize_package_for_speed
+	cros-rust_src_prepare
+	default
+}
+
+src_configure() {
+	sanitizers-setup-env || die
+	export MESON_BUILD_DIR="${WORKDIR}/${P}-build"
+	EMESON_SOURCE=${S}/weston
+	meson_src_configure
+	cros-rust_src_configure
+}
+
+src_compile() {
+	export MESON_BUILD_DIR="${WORKDIR}/${P}-build"
+	meson_src_compile
+	ecargo_build -v \
+		-p croscomp \
+		|| die "cargo build failed"
+}
+
+src_install() {
+	# cargo doesn't know how to install cross-compiled binaries.  It will
+	# always install native binaries for the host system.  Manually install
+	# crosvm instead.
+	local build_dir="$(cros-rust_get_build_dir)"
+	dobin "${build_dir}/croscomp"
+
+	insinto /etc/init
+	doins croscomp.conf
+	dobin croscomp-terminal
+
+	meson_src_install
+}
diff --git a/chromeos-base/croscomp/croscomp-9999.ebuild b/chromeos-base/croscomp/croscomp-9999.ebuild
index b13909a..66e5034 100644
--- a/chromeos-base/croscomp/croscomp-9999.ebuild
+++ b/chromeos-base/croscomp/croscomp-9999.ebuild
@@ -24,6 +24,7 @@
 	dev-libs/libinput:=
 	dev-libs/wayland:=
 	media-libs/lcms:=
+	media-libs/libpng:=
 	sys-libs/mtdev:=
 	x11-libs/cairo:=
 	x11-libs/libxkbcommon:=
@@ -81,8 +82,12 @@
 	>=dev-rust/env_logger-0.8.3 <dev-rust/env_logger-0.9.0_alpha:=
 	>=dev-rust/nix-0.23.0 <dev-rust/nix-0.24.0_alpha:=
 	>=dev-rust/structopt-0.3.20 <dev-rust/structopt-0.4.0_alpha:=
-	virtual/bindgen:=
+	dev-rust/cbindgen:=
 	x11-drivers/opengles-headers:=
+	=dev-rust/cfg-if-1.0.0:=
+	=dev-rust/jobserver-0.1.16:=
+	=dev-rust/tokio-1*:=
+	=dev-rust/tokio-macros-1*:=
 "
 
 BDEPEND="
@@ -96,11 +101,13 @@
 }
 
 src_prepare() {
+	cros_optimize_package_for_speed
 	cros-rust_src_prepare
 	default
 }
 
 src_configure() {
+	sanitizers-setup-env || die
 	export MESON_BUILD_DIR="${WORKDIR}/${P}-build"
 	EMESON_SOURCE=${S}/weston
 	meson_src_configure
@@ -110,7 +117,9 @@
 src_compile() {
 	export MESON_BUILD_DIR="${WORKDIR}/${P}-build"
 	meson_src_compile
-	ecargo_build -v -p croscomp
+	ecargo_build -v \
+		-p croscomp \
+		|| die "cargo build failed"
 }
 
 src_install() {
diff --git a/chromeos-base/crosdns/OWNERS b/chromeos-base/crosdns/OWNERS
new file mode 100644
index 0000000..ea29207
--- /dev/null
+++ b/chromeos-base/crosdns/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/crosdns/OWNERS
diff --git a/chromeos-base/crosdns/crosdns-0.0.2-r356.ebuild b/chromeos-base/crosdns/crosdns-0.0.2-r356.ebuild
deleted file mode 100644
index a96767d..0000000
--- a/chromeos-base/crosdns/crosdns-0.0.2-r356.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "ea1649cf014084f1675b205831e4ccd549c88864" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE="common-mk crosdns .gn"
-
-PLATFORM_SUBDIR="crosdns"
-
-inherit cros-fuzzer cros-sanitizers cros-workon platform tmpfiles user
-
-DESCRIPTION="Local hostname modifier service for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/crosdns"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="+seccomp asan fuzzer"
-
-COMMON_DEPEND="
-	chromeos-base/libbrillo:=[asan?,fuzzer?]
-	chromeos-base/minijail:="
-
-RDEPEND="${COMMON_DEPEND}"
-
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/system_api:=[fuzzer?]"
-
-src_install() {
-	# Install our binary.
-	dosbin "${OUT}"/crosdns
-
-	# Install D-Bus configuration.
-	insinto /etc/dbus-1/system.d
-	doins dbus_permissions/org.chromium.CrosDns.conf
-
-	# Install seccomp policy file.
-	insinto /usr/share/policy
-	if use seccomp; then
-		newins "init/crosdns-seccomp-${ARCH}.policy" crosdns-seccomp.policy
-	fi
-
-	# Install the init script.
-	insinto /etc/init
-	doins init/crosdns.conf
-
-	dotmpfiles tmpfiles.d/*.conf
-
-	# fuzzer_component_id is unknown/unlisted
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/hosts_modifier_fuzzer
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/run_tests"
-}
-
-pkg_preinst() {
-	enewuser "crosdns"
-	enewgroup "crosdns"
-}
diff --git a/chromeos-base/crosdns/crosdns-0.0.2-r416.ebuild b/chromeos-base/crosdns/crosdns-0.0.2-r416.ebuild
new file mode 100644
index 0000000..bacaeec
--- /dev/null
+++ b/chromeos-base/crosdns/crosdns-0.0.2-r416.ebuild
@@ -0,0 +1,66 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "8ef13102d74ef6d7591c8da21fadd38830971769" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE="common-mk crosdns .gn"
+
+PLATFORM_SUBDIR="crosdns"
+
+inherit cros-fuzzer cros-sanitizers cros-workon platform tmpfiles user
+
+DESCRIPTION="Local hostname modifier service for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/crosdns"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="+seccomp asan fuzzer"
+
+COMMON_DEPEND="
+	chromeos-base/libbrillo:=[asan?,fuzzer?]
+	chromeos-base/minijail:="
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/system_api:=[fuzzer?]"
+
+src_install() {
+	# Install our binary.
+	dosbin "${OUT}"/crosdns
+
+	# Install D-Bus configuration.
+	insinto /etc/dbus-1/system.d
+	doins dbus_permissions/org.chromium.CrosDns.conf
+
+	# Install seccomp policy file.
+	insinto /usr/share/policy
+	if use seccomp; then
+		newins "init/crosdns-seccomp-${ARCH}.policy" crosdns-seccomp.policy
+	fi
+
+	# Install the init script.
+	insinto /etc/init
+	doins init/crosdns.conf
+
+	dotmpfiles tmpfiles.d/*.conf
+
+	# fuzzer_component_id is unknown/unlisted
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/hosts_modifier_fuzzer
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/run_tests"
+}
+
+pkg_preinst() {
+	enewuser "crosdns"
+	enewgroup "crosdns"
+}
diff --git a/chromeos-base/crosdns/crosdns-9999.ebuild b/chromeos-base/crosdns/crosdns-9999.ebuild
index 2d4c9a5..841ade4 100644
--- a/chromeos-base/crosdns/crosdns-9999.ebuild
+++ b/chromeos-base/crosdns/crosdns-9999.ebuild
@@ -13,7 +13,7 @@
 inherit cros-fuzzer cros-sanitizers cros-workon platform tmpfiles user
 
 DESCRIPTION="Local hostname modifier service for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/crosdns"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/crosdns"
 
 LICENSE="BSD-Google"
 SLOT="0/0"
diff --git a/chromeos-base/crosdns/files/revision_bump b/chromeos-base/crosdns/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/crosdns/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/crosh-extension/Manifest b/chromeos-base/crosh-extension/Manifest
index a465813..76f8dfd 100644
--- a/chromeos-base/crosh-extension/Manifest
+++ b/chromeos-base/crosh-extension/Manifest
@@ -1,6 +1,7 @@
-DIST 0.41.tar.xz 12229544 BLAKE2B 60447ed9fbf35f160640aeb0c96b55f77901f95d8ee8f86e0b682ae3df3e3a03d2709cb4ebba2115877af26cd8c4ffb11f5c6e9cd84df0ab7c4b2c07efd0de7c SHA512 2620998d09cfef902e891289ae959bc697b31089a8fb4f8ac70eefbad590d0d9d43e05e7b5b46aabc8e79cef1b97f426d36498b07c08a3d6a343d9ffeb2bb401
-DIST 0.42.tar.xz 14409640 BLAKE2B e67b6964f99d0cf9345da708eeaaac7f920b0a015d220bbd733f76e2274c4b0ecc82931d83600ce4af8865828e1d34e51671524a226f6e2c04d309cb46b5a759 SHA512 8381fbe34eaa495e4bae950101b1dc8aeb1a97fe071bea52aa23258bc546e4b4f37d5826f73e95399d9719216bd05bd85fca213700740440ada86bf6bb705c41
+DIST 0.46.tar.xz 14524784 BLAKE2B 40dcc701e7b2988bbd2e32d4cd1bc5239be5f5b701d6651d6687b409ecd207d9f556e94ea0a639fd5a4680cf7bdd6d54095c3d9018374d9e9d8cf73a4d5232a3 SHA512 cb0c13bf974ca400d83353729d6c24319ad64a22607943848d90a7ada430143e9380daa3719c0964ef1655751d7fa19c5384cdfb02b0e4e899c33a96cbdcd3e3
+DIST 0.48.tar.xz 14531612 BLAKE2B cbce3231747dfb62004ea36884161bb3d6c9430cd2eac202eb50e075ddff6d6474974be6f00591c4a62dac7a722d430fd8a969ec70d3f7c5df2d49f59aef9c21 SHA512 c55416d6d95b6908c1ac9118c85857c5752153cd5bb36a0378a6533b5062b58bc5e6fb9fe63208e1e4a53350ad74aa089fe75d16095835d5b32d8c678ce334ff
+DIST ab9544e24e752d3d17f335fb7b2055062e582d11 32470960 BLAKE2B 250a80a348538461792a406c9f63844786ee9fc73789b7a19139468580d5e2a597607f2edb27ff78cc7fb602bea4a678d210e120992a6839a9b3d19dde721d1a SHA512 cdc8342f9dd81d3de06227729bca85f7dd01f824a8b1cd532cf07babcddb8d558fc6770470032279e9ecdf24267be28f66fbb344d1f9e544c2ec8869fab1b7c0
 DIST b2e40ddbac04d05baafbb007f203c6663c9d4ca9 33663330 BLAKE2B 6e5eead2c632ff65a2ef5a565ec7d5317eea9fe3b93f480815111e310563d6aace36611059c4e1d603e008a52275474a5fc248421ba70b2d2f26736b06e83808 SHA512 c56cfefc81e45e0e9dedd893422fcef067efc2e6ddc159010c852f955f1200d85e1ef606e88609d1667355de7c8b05e9063436d8d08e541201b0f806dfde9309
 DIST fonts-d6dc5eaf459abd058cd3aef1e25963fde893f9d87f5f55f340431697ce4b3506.tar.xz 620240 BLAKE2B eef8974714529c570ed44d334b4bda5969443c48b0295f9dd1c6ae878bf36359fbe43de460f477b042574be68be6f3a2f32b89462b7efef70e19d2e7c44590c8 SHA512 c0090b406d6a4113e0de0de062a95b54817754d18ea7775a477f1f7551c99930226ebda203cc79f9cd660a8fb207cc63e1a2617cd620afe6e620aa3e1019d959
-DIST node_modules-16e0b36c0c3d448c7fd00d1db3ba27ff8477007fb4b0eae31ae25960aeae3fbc.tar.xz 17908008 BLAKE2B b5140bbf8bd98f4e7d2c8437282a7660da0dafedd8af3ae71741cb55da690fe8cfaf47f157560eb7f183c919fa5dbd91cd95ffe24c2db3b2f527f963c08941d7 SHA512 3976154cae711505074f0faf656ab5ab48202fe63e206b11838ffd790eb10adbc6b91ae85c1bc86f323439b323c4739ec0715d0ffecc62235a3bef8b1431b0d6
-DIST node_modules-2cd2dd365999ae139b6b0fb62a5a09e2a7fb5ab1c0926cf1968a1dec9b74fea5.tar.xz 10898084 BLAKE2B ab2ed6e70183d59e257d7dc79e77c17b9636d4538705d17fb3483d29d4ea556c65125b948b09bb254eadfb2ca67245bc78fee1b3903f94dca92a111ef0bc7cf6 SHA512 155ce79bacf8723914c5ee5ce5772307d9130723f681e529710559c9e1f604c7b8426330232412836ce36adcddb534915275a81e51245ebc5f5fd0b94f80b0f1
+DIST node_modules-70ab4f912a599b4d3e01dc6548243857a812d0b858e4d2ea6bdfd036357ee0c9.tar.xz 19105956 BLAKE2B 91a445d9cc446bb066187d153218e2f01b2225b8d38f7ceacd3e96fa9b9b34bc1ccb7bdd25d7d6deef5ea2e4ad903c7b4fb122a9901d8c0ad5fddf1cd2cf038d SHA512 940d0d3e8b327de6760ee44cbea8526fe9d6e95d715ddf8188a823ce970eefdf1447d9df5b4030baa261d0a898a67ba1736b5447b16ec3ad252c815476592a4c
+DIST node_modules-7539e02265e046755ad0fffa36018f915c4feeb2c87f21346ded68a857f38153.tar.xz 18954396 BLAKE2B 1a352b9b116e6d2942e6a6603a51890e70e056bd8fd7f30558227297ae42a7462cdf97f4ec82c19fe2913379ef4af0d5517006b23e7c2d2734d7d2d7e6faec08 SHA512 42250e1347600ff09e61acd07476e8fdf4cda23b0eada5b17506bb2d27d7db9c0edb9c57a5904ff3028980dd84f96646570f7ab634db9e70b9950b8a311b2af4
diff --git a/chromeos-base/crosh-extension/crosh-extension-0.44-r1185.ebuild b/chromeos-base/crosh-extension/crosh-extension-0.44-r1185.ebuild
deleted file mode 100644
index ce247d2..0000000
--- a/chromeos-base/crosh-extension/crosh-extension-0.44-r1185.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="59ebfc90c93790a5404b575336c128369910d81e"
-CROS_WORKON_TREE=("106feab4dda3db44a9ac6743f7e67097731522b0" "689fa9b9751fad93fb0b135f354084d639b317ac" "ca37db968bad8c6e5a32fa92578fefb49534a4f3" "3927ce0ef74808ba93ee3662bacc36873a533a72" "bdd0506d02f0d5d832f36c6d468326f8f98e96b2")
-CROS_WORKON_PROJECT="apps/libapps"
-CROS_WORKON_LOCALNAME="third_party/libapps"
-CROS_WORKON_SUBTREE="libdot hterm nassh ssh_client terminal"
-
-inherit cros-workon
-
-DESCRIPTION="The Chromium OS Shell extension (the HTML/JS rendering part)"
-HOMEPAGE="https://chromium.googlesource.com/apps/libapps/+/master/nassh/doc/chromeos-crosh.md"
-# These are kept in sync with libdot.py settings.
-FONTS_HASHES=(
-	# Current one.
-	d6dc5eaf459abd058cd3aef1e25963fde893f9d87f5f55f340431697ce4b3506
-	# Next one.
-	d6dc5eaf459abd058cd3aef1e25963fde893f9d87f5f55f340431697ce4b3506
-)
-NPM_HASHES=(
-	# Current one.
-	2cd2dd365999ae139b6b0fb62a5a09e2a7fb5ab1c0926cf1968a1dec9b74fea5
-	# Next one.
-	16e0b36c0c3d448c7fd00d1db3ba27ff8477007fb4b0eae31ae25960aeae3fbc
-)
-PLUGIN_VERSIONS=(
-	# Current one.
-	0.41
-	# Next one.
-	0.42
-)
-SRC_URI="
-	https://storage.googleapis.com/chromium-nodejs/14.15.4/b2e40ddbac04d05baafbb007f203c6663c9d4ca9
-	$(printf 'https://storage.googleapis.com/chromeos-localmirror/secureshell/distfiles/fonts-%s.tar.xz ' \
-		"${FONTS_HASHES[@]}")
-	$(printf 'https://storage.googleapis.com/chromeos-localmirror/secureshell/distfiles/node_modules-%s.tar.xz ' \
-		"${NPM_HASHES[@]}")
-	$(printf 'https://storage.googleapis.com/chromeos-localmirror/secureshell/releases/%s.tar.xz ' \
-		"${PLUGIN_VERSIONS[@]}")
-"
-
-# The archives above live on Google maintained sites.
-RESTRICT="nomirror"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="!<chromeos-base/common-assets-0.0.2"
-
-e() {
-	echo "$@"
-	"$@" || die
-}
-
-src_compile() {
-	export VCSID="${CROS_WORKON_COMMIT:-${PF}}"
-	e ./nassh/bin/mkdist --crosh-only
-}
-
-src_install() {
-	local dir="/usr/share/chromeos-assets/crosh_builtin"
-	dodir "${dir}"
-	unzip -d "${D}${dir}" nassh/dist/crosh.zip || die
-	local pnacl="${D}${dir}/plugin/pnacl"
-	if ! use arm ; then
-		rm "${pnacl}/ssh_client_nl_arm.nexe"* || die
-	fi
-	if ! use x86 ; then
-		rm "${pnacl}/ssh_client_nl_x86_32.nexe"* || die
-	fi
-	if ! use amd64 ; then
-		rm "${pnacl}/ssh_client_nl_x86_64.nexe"* || die
-	fi
-}
diff --git a/chromeos-base/crosh-extension/crosh-extension-0.48-r1412.ebuild b/chromeos-base/crosh-extension/crosh-extension-0.48-r1412.ebuild
new file mode 100644
index 0000000..60fdef2
--- /dev/null
+++ b/chromeos-base/crosh-extension/crosh-extension-0.48-r1412.ebuild
@@ -0,0 +1,84 @@
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="fb894ce2fcbecab23071b4b52a2a845857b512ed"
+CROS_WORKON_TREE=("3d899703f696fcdfc099de06cedd32f6427689c6" "6ac5f9629491ef6eaf4c8e08b7b62116de4bf762" "c4bc04ecbc771a4c6af6aa6d749d2ef52d3522ee" "866f1553ef376ac21cd4b1b00f1efecbb8d0c132" "28693a3631abe53118a13a33584ef1a0e54eec37" "818feadd37d21ca7c3a3c3bf100ccfe0e63f1c8c" "857d22a5c676e2a1aef1eb8c878a5717f5ae6d0d")
+CROS_WORKON_PROJECT="apps/libapps"
+CROS_WORKON_LOCALNAME="third_party/libapps"
+CROS_WORKON_SUBTREE="libdot hterm nassh ssh_client terminal wasi-js-bindings wassh"
+
+inherit cros-workon
+
+DESCRIPTION="The Chromium OS Shell extension (the HTML/JS rendering part)"
+HOMEPAGE="https://chromium.googlesource.com/apps/libapps/+/master/nassh/doc/chromeos-crosh.md"
+# These are kept in sync with libdot.py settings.
+FONTS_HASHES=(
+	# Current one.
+	d6dc5eaf459abd058cd3aef1e25963fde893f9d87f5f55f340431697ce4b3506
+	# Next one.
+)
+NODE_HASHES=(
+	# Current one.
+	14.15.4/b2e40ddbac04d05baafbb007f203c6663c9d4ca9
+	# Next one.
+	16.13.0/ab9544e24e752d3d17f335fb7b2055062e582d11
+)
+NPM_HASHES=(
+	# Current one.
+	7539e02265e046755ad0fffa36018f915c4feeb2c87f21346ded68a857f38153
+	# Next one.
+	70ab4f912a599b4d3e01dc6548243857a812d0b858e4d2ea6bdfd036357ee0c9
+)
+PLUGIN_VERSIONS=(
+	# Current one.
+	0.46
+	# Next one.
+	0.48
+)
+SRC_URI="
+	$(printf 'https://storage.googleapis.com/chromium-nodejs/%s ' "${NODE_HASHES[@]}")
+	$(printf 'https://storage.googleapis.com/chromeos-localmirror/secureshell/distfiles/fonts-%s.tar.xz ' \
+		"${FONTS_HASHES[@]}")
+	$(printf 'https://storage.googleapis.com/chromeos-localmirror/secureshell/distfiles/node_modules-%s.tar.xz ' \
+		"${NPM_HASHES[@]}")
+	$(printf 'https://storage.googleapis.com/chromeos-localmirror/secureshell/releases/%s.tar.xz ' \
+		"${PLUGIN_VERSIONS[@]}")
+"
+
+# The archives above live on Google maintained sites.
+RESTRICT="nomirror"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="!<chromeos-base/common-assets-0.0.2"
+
+e() {
+	echo "$@"
+	"$@" || die
+}
+
+src_compile() {
+	export VCSID="${CROS_WORKON_COMMIT:-${PF}}"
+	e ./nassh/bin/mkdist --crosh-only
+}
+
+src_install() {
+	local dir="/usr/share/chromeos-assets/crosh_builtin"
+	dodir "${dir}"
+	unzip -d "${D}${dir}" nassh/dist/crosh.zip || die
+	local pnacl="${D}${dir}/plugin/pnacl"
+	if ! use arm ; then
+		rm "${pnacl}/ssh_client_nl_arm.nexe"* || die
+	fi
+	if ! use x86 ; then
+		rm "${pnacl}/ssh_client_nl_x86_32.nexe"* || die
+	fi
+	if ! use amd64 ; then
+		rm "${pnacl}/ssh_client_nl_x86_64.nexe"* || die
+	fi
+}
diff --git a/chromeos-base/crosh-extension/crosh-extension-9999.ebuild b/chromeos-base/crosh-extension/crosh-extension-9999.ebuild
index 178c85d..de7fef5 100644
--- a/chromeos-base/crosh-extension/crosh-extension-9999.ebuild
+++ b/chromeos-base/crosh-extension/crosh-extension-9999.ebuild
@@ -5,7 +5,7 @@
 
 CROS_WORKON_PROJECT="apps/libapps"
 CROS_WORKON_LOCALNAME="third_party/libapps"
-CROS_WORKON_SUBTREE="libdot hterm nassh ssh_client terminal"
+CROS_WORKON_SUBTREE="libdot hterm nassh ssh_client terminal wasi-js-bindings wassh"
 
 inherit cros-workon
 
@@ -16,22 +16,27 @@
 	# Current one.
 	d6dc5eaf459abd058cd3aef1e25963fde893f9d87f5f55f340431697ce4b3506
 	# Next one.
-	d6dc5eaf459abd058cd3aef1e25963fde893f9d87f5f55f340431697ce4b3506
+)
+NODE_HASHES=(
+	# Current one.
+	14.15.4/b2e40ddbac04d05baafbb007f203c6663c9d4ca9
+	# Next one.
+	16.13.0/ab9544e24e752d3d17f335fb7b2055062e582d11
 )
 NPM_HASHES=(
 	# Current one.
-	2cd2dd365999ae139b6b0fb62a5a09e2a7fb5ab1c0926cf1968a1dec9b74fea5
+	7539e02265e046755ad0fffa36018f915c4feeb2c87f21346ded68a857f38153
 	# Next one.
-	16e0b36c0c3d448c7fd00d1db3ba27ff8477007fb4b0eae31ae25960aeae3fbc
+	70ab4f912a599b4d3e01dc6548243857a812d0b858e4d2ea6bdfd036357ee0c9
 )
 PLUGIN_VERSIONS=(
 	# Current one.
-	0.41
+	0.46
 	# Next one.
-	0.42
+	0.48
 )
 SRC_URI="
-	https://storage.googleapis.com/chromium-nodejs/14.15.4/b2e40ddbac04d05baafbb007f203c6663c9d4ca9
+	$(printf 'https://storage.googleapis.com/chromium-nodejs/%s ' "${NODE_HASHES[@]}")
 	$(printf 'https://storage.googleapis.com/chromeos-localmirror/secureshell/distfiles/fonts-%s.tar.xz ' \
 		"${FONTS_HASHES[@]}")
 	$(printf 'https://storage.googleapis.com/chromeos-localmirror/secureshell/distfiles/node_modules-%s.tar.xz ' \
diff --git a/chromeos-base/crosh/crosh-0.24.52-r3062.ebuild b/chromeos-base/crosh/crosh-0.24.52-r3062.ebuild
deleted file mode 100644
index be1d5b2..0000000
--- a/chromeos-base/crosh/crosh-0.24.52-r3062.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="98dcba751ca715fbcc0fe35f707da01a61216a86"
-CROS_WORKON_TREE="e3db3d762aa48661ab2a7e725dd699b6ccda6c13"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_DESTDIR="${S}"
-CROS_WORKON_SUBTREE="crosh"
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Chrome OS developer command-line shell"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/crosh/"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="+rust-crosh"
-
-COMMON_DEPEND="
-	chromeos-base/vboot_reference:=
-	sys-apps/dbus
-"
-
-DEPEND="${COMMON_DEPEND}
-	>=dev-rust/bitflags-1.3.2 <dev-rust/bitflags-2.0.0_alpha:=
-	=dev-rust/chrono-0.4*:=
-	=dev-rust/dbus-0.9*:=
-	=dev-rust/getopts-0.2*:=
-	dev-rust/libchromeos:=
-	=dev-rust/rand-0.7*:=
-	>=dev-rust/regex-1.0.6 <dev-rust/regex-2.0.0_alpha:=
-	dev-rust/remain:=
-	=dev-rust/rustyline-7*:=
-	dev-rust/shell-words:=
-	dev-rust/sys_util:=
-	dev-rust/system_api:=
-	dev-rust/tempfile:=
-	>dev-rust/tlsdate_dbus-0.24.52-r8:=
-"
-RDEPEND="${COMMON_DEPEND}
-	app-admin/sudo
-	net-misc/iputils
-	net-misc/openssh
-	net-wireless/iw
-	sys-apps/net-tools
-"
-
-src_compile() {
-	# File order is important here.
-	sed \
-		-e '/^#/d' \
-		-e '/^$/d' \
-		inputrc.safe inputrc.extra \
-		> "${WORKDIR}"/inputrc.crosh || die
-
-	cros-rust_src_compile
-}
-
-src_test() {
-	./run_tests.sh || die
-
-	local args=()
-	# (b/197637613) reduce the number of futex calls to reduce the risk of a hang
-	# when running inside qemu.
-	if ! cros_rust_is_direct_exec; then
-		args+=( -- --test-threads=1 )
-	fi
-
-	cros-rust_src_test "${args[@]}"
-}
-
-src_install() {
-	if use rust-crosh; then
-		dobin "$(cros-rust_get_build_dir)/crosh"
-		newbin crosh crosh.sh
-	else
-		dobin crosh
-	fi
-	dobin network_diag
-	local d="/usr/share/crosh"
-	insinto "${d}/dev.d"
-	doins dev.d/*.sh
-	insinto "${d}/removable.d"
-	doins removable.d/*.sh
-	insinto "${d}"
-	doins "${WORKDIR}"/inputrc.crosh
-}
diff --git a/chromeos-base/crosh/crosh-0.24.52-r3104.ebuild b/chromeos-base/crosh/crosh-0.24.52-r3104.ebuild
new file mode 100644
index 0000000..9d3149a
--- /dev/null
+++ b/chromeos-base/crosh/crosh-0.24.52-r3104.ebuild
@@ -0,0 +1,74 @@
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="b71fbfdbc45d2471ec2ccae8fad2480663f246e0"
+CROS_WORKON_TREE="249590f655a6dec984d22ffa1bb6cf080af45f93"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_DESTDIR="${S}"
+CROS_WORKON_SUBTREE="crosh"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Chrome OS developer command-line shell"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/crosh/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+COMMON_DEPEND="
+	chromeos-base/vboot_reference:=
+	sys-apps/dbus
+"
+
+DEPEND="${COMMON_DEPEND}
+	>=dev-rust/bitflags-1.3.2 <dev-rust/bitflags-2.0.0_alpha:=
+	=dev-rust/chrono-0.4*:=
+	=dev-rust/dbus-0.9*:=
+	=dev-rust/getopts-0.2*:=
+	dev-rust/libchromeos:=
+	=dev-rust/rand-0.7*:=
+	>=dev-rust/regex-1.0.6 <dev-rust/regex-2.0.0_alpha:=
+	dev-rust/remain:=
+	=dev-rust/rustyline-9*:=
+	dev-rust/shell-words:=
+	dev-rust/sys_util:=
+	dev-rust/system_api:=
+	dev-rust/tempfile:=
+	>dev-rust/tlsdate_dbus-0.24.52-r8:=
+	=dev-rust/textwrap-0.11*:=
+"
+RDEPEND="${COMMON_DEPEND}
+	app-admin/sudo
+	net-misc/iputils
+	net-misc/openssh
+	net-wireless/iw
+	sys-apps/net-tools
+"
+
+src_test() {
+	./run_tests.sh || die
+
+	local args=()
+	# (b/197637613) reduce the number of futex calls to reduce the risk of a hang
+	# when running inside qemu.
+	if ! cros_rust_is_direct_exec; then
+		args+=( -- --test-threads=1 )
+	fi
+
+	cros-rust_src_test "${args[@]}"
+}
+
+src_install() {
+	dobin "$(cros-rust_get_build_dir)/crosh"
+	newbin crosh crosh.sh
+	dobin network_diag
+	local d="/usr/share/crosh"
+	insinto "${d}/dev.d"
+	doins dev.d/*.sh
+	insinto "${d}/removable.d"
+	doins removable.d/*.sh
+}
diff --git a/chromeos-base/crosh/crosh-9999.ebuild b/chromeos-base/crosh/crosh-9999.ebuild
index c4ee9b7..017641b 100644
--- a/chromeos-base/crosh/crosh-9999.ebuild
+++ b/chromeos-base/crosh/crosh-9999.ebuild
@@ -15,7 +15,7 @@
 LICENSE="BSD-Google"
 SLOT="0/0"
 KEYWORDS="~*"
-IUSE="+rust-crosh"
+IUSE=""
 
 COMMON_DEPEND="
 	chromeos-base/vboot_reference:=
@@ -31,12 +31,13 @@
 	=dev-rust/rand-0.7*:=
 	>=dev-rust/regex-1.0.6 <dev-rust/regex-2.0.0_alpha:=
 	dev-rust/remain:=
-	=dev-rust/rustyline-7*:=
+	=dev-rust/rustyline-9*:=
 	dev-rust/shell-words:=
 	dev-rust/sys_util:=
 	dev-rust/system_api:=
 	dev-rust/tempfile:=
 	>dev-rust/tlsdate_dbus-0.24.52-r8:=
+	=dev-rust/textwrap-0.11*:=
 "
 RDEPEND="${COMMON_DEPEND}
 	app-admin/sudo
@@ -46,17 +47,6 @@
 	sys-apps/net-tools
 "
 
-src_compile() {
-	# File order is important here.
-	sed \
-		-e '/^#/d' \
-		-e '/^$/d' \
-		inputrc.safe inputrc.extra \
-		> "${WORKDIR}"/inputrc.crosh || die
-
-	cros-rust_src_compile
-}
-
 src_test() {
 	./run_tests.sh || die
 
@@ -71,18 +61,12 @@
 }
 
 src_install() {
-	if use rust-crosh; then
-		dobin "$(cros-rust_get_build_dir)/crosh"
-		newbin crosh crosh.sh
-	else
-		dobin crosh
-	fi
+	dobin "$(cros-rust_get_build_dir)/crosh"
+	newbin crosh crosh.sh
 	dobin network_diag
 	local d="/usr/share/crosh"
 	insinto "${d}/dev.d"
 	doins dev.d/*.sh
 	insinto "${d}/removable.d"
 	doins removable.d/*.sh
-	insinto "${d}"
-	doins "${WORKDIR}"/inputrc.crosh
 }
diff --git a/chromeos-base/crosid/crosid-0.0.1-r29.ebuild b/chromeos-base/crosid/crosid-0.0.1-r29.ebuild
deleted file mode 100644
index 7f24fc8..0000000
--- a/chromeos-base/crosid/crosid-0.0.1-r29.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="8faca5ee7bf8c37f22b9e95e65e5efd8be2e577e"
-CROS_WORKON_TREE="bea140d13f7cf1092e4c89a45011c04c28327972"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE="chromeos-config"
-
-inherit cros-workon meson
-
-LICENSE="BSD-Google"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-config"
-KEYWORDS="*"
-
-src_unpack() {
-	cros-workon_src_unpack
-	export PYTHONPATH="${S}/platform2/chromeos-config"
-	S+="/platform2/chromeos-config/crosid"
-}
-
-src_configure() {
-	emesonargs+=( -Ddefault_library=both )
-	meson_src_configure
-}
-
-src_install() {
-	dobin "${BUILD_DIR}/crosid"
-	dolib.a "${BUILD_DIR}/libcrosid.a"
-	dolib.so "${BUILD_DIR}/libcrosid.so"
-	doheader "${S}/crosid.h"
-
-	meson_src_install
-}
-
-src_test() {
-	pytest --executable="${BUILD_DIR}/crosid.test" \
-		--llvm-coverage-out="${BUILD_DIR}/coverage.profdata" \
-		"${S}" \
-		|| die "e2e test suite failed"
-}
diff --git a/chromeos-base/crosid/crosid-0.0.1-r77.ebuild b/chromeos-base/crosid/crosid-0.0.1-r77.ebuild
new file mode 100644
index 0000000..c8aebf3
--- /dev/null
+++ b/chromeos-base/crosid/crosid-0.0.1-r77.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b78bd558637ebfc1ecb43bc06616f9b1370d4b33"
+CROS_WORKON_TREE="527abd7a988a45572305a6c44b5324d0d9cf8be2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE="chromeos-config"
+
+inherit cros-workon meson cros-sanitizers
+
+LICENSE="BSD-Google"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-config"
+KEYWORDS="*"
+
+src_unpack() {
+	cros-workon_src_unpack
+	export PYTHONPATH="${S}/platform2/chromeos-config"
+	S+="/platform2/chromeos-config/crosid"
+}
+
+src_configure() {
+	sanitizers-setup-env
+	emesonargs+=( -Ddefault_library=both )
+	meson_src_configure
+}
+
+src_install() {
+	dobin "${BUILD_DIR}/crosid"
+	dolib.a "${BUILD_DIR}/libcrosid.a"
+	dolib.so "${BUILD_DIR}/libcrosid.so"
+	doheader "${S}/crosid.h"
+
+	meson_src_install
+}
+
+src_test() {
+	pytest --executable="${BUILD_DIR}/crosid.test" \
+		--llvm-coverage-out="${BUILD_DIR}/coverage.profdata" \
+		"${S}" \
+		|| die "e2e test suite failed"
+}
diff --git a/chromeos-base/crosid/crosid-9999.ebuild b/chromeos-base/crosid/crosid-9999.ebuild
index 6f0b17c..4d5db52 100644
--- a/chromeos-base/crosid/crosid-9999.ebuild
+++ b/chromeos-base/crosid/crosid-9999.ebuild
@@ -10,7 +10,7 @@
 CROS_WORKON_INCREMENTAL_BUILD=1
 CROS_WORKON_SUBTREE="chromeos-config"
 
-inherit cros-workon meson
+inherit cros-workon meson cros-sanitizers
 
 LICENSE="BSD-Google"
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-config"
@@ -23,6 +23,7 @@
 }
 
 src_configure() {
+	sanitizers-setup-env
 	emesonargs+=( -Ddefault_library=both )
 	meson_src_configure
 }
diff --git a/chromeos-base/croslog/croslog-0.0.1-r257.ebuild b/chromeos-base/croslog/croslog-0.0.1-r257.ebuild
deleted file mode 100644
index 2701612..0000000
--- a/chromeos-base/croslog/croslog-0.0.1-r257.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "90cd734b0ad93c5348345a199d6f26e647956eaa" "4a0dedab080195bdc122d2289118df4af3ddca2c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE="common-mk croslog metrics .gn"
-
-PLATFORM_SUBDIR="croslog"
-
-inherit cros-workon platform
-
-DESCRIPTION="Log viewer for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/croslog"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND="
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	"
-
-src_install() {
-	platform_install
-
-	local fuzzer_component_id="931982"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/croslog_log_parser_fuzzer \
-			--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/croslog/croslog-0.0.1-r361.ebuild b/chromeos-base/croslog/croslog-0.0.1-r361.ebuild
new file mode 100644
index 0000000..864755d
--- /dev/null
+++ b/chromeos-base/croslog/croslog-0.0.1-r361.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "8ef7c6aabe0a8edeff8f6030f7c1b79ab3e32522" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE="common-mk croslog metrics .gn"
+
+PLATFORM_SUBDIR="croslog"
+
+inherit cros-workon platform
+
+DESCRIPTION="Log viewer for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/croslog"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	"
+
+src_install() {
+	platform_install
+	platform_src_install
+
+	local fuzzer_component_id="931982"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/croslog_log_parser_fuzzer \
+			--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/croslog/croslog-9999.ebuild b/chromeos-base/croslog/croslog-9999.ebuild
index cfdd44e..413ec3f 100644
--- a/chromeos-base/croslog/croslog-9999.ebuild
+++ b/chromeos-base/croslog/croslog-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Log viewer for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/croslog"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/croslog"
 
 LICENSE="BSD-Google"
 SLOT="0/0"
@@ -27,6 +27,7 @@
 
 src_install() {
 	platform_install
+	platform_src_install
 
 	local fuzzer_component_id="931982"
 	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/croslog_log_parser_fuzzer \
diff --git a/chromeos-base/croslog/files/revision_bump b/chromeos-base/croslog/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/croslog/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/crostini_client/crostini_client-0.1.0-r105.ebuild b/chromeos-base/crostini_client/crostini_client-0.1.0-r105.ebuild
new file mode 100644
index 0000000..0e2f388
--- /dev/null
+++ b/chromeos-base/crostini_client/crostini_client-0.1.0-r105.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+CROS_WORKON_COMMIT="a7bd535adf60b111f39925f3106150200ba9c18b"
+CROS_WORKON_TREE="8ab7bdc7d30992114e61f2d9c119b774886a0c66"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_SUBTREE="vm_tools/crostini_client"
+CROS_WORKON_INCREMENTAL_BUILD=1
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Command-line client for controlling crostini"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/crostini_client/"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+DEPEND="chromeos-base/system_api
+	=dev-rust/dbus-0.8*:=
+	=dev-rust/getopts-0.2*:=
+	=dev-rust/lazy_static-1*:=
+	>=dev-rust/libc-0.2.44:=
+	!>=dev-rust/libc-0.3
+	>=dev-rust/protobuf-2.16:= <dev-rust/protobuf-3
+	>=dev-rust/protoc-rust-2.16:= <dev-rust/protoc-rust-3
+"
+
+RDEPEND="sys-apps/dbus"
+
+src_unpack() {
+	cros-workon_src_unpack
+	# The compilation happens in the crostini_client subdirectory.
+	S+="/vm_tools/crostini_client"
+	cros-rust_src_unpack
+}
+
+src_compile() {
+	ecargo_build
+	use test && ecargo_test --no-run
+}
+
+src_test() {
+	if ! use x86 && ! use amd64 ; then
+		elog "Skipping unit tests on non-x86 platform"
+	else
+		ecargo_test --all
+	fi
+}
+
+src_install() {
+	local build_dir="$(cros-rust_get_build_dir)"
+	dobin "${build_dir}/crostini_client"
+	dosym "crostini_client" "/usr/bin/vmc"
+}
diff --git a/chromeos-base/crostini_client/crostini_client-0.1.0-r98.ebuild b/chromeos-base/crostini_client/crostini_client-0.1.0-r98.ebuild
deleted file mode 100644
index 5621411..0000000
--- a/chromeos-base/crostini_client/crostini_client-0.1.0-r98.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-CROS_WORKON_COMMIT="9e9958265e11b8790d35947ca41e7530cf9ee1af"
-CROS_WORKON_TREE="7c0ce00de37f9b2b72146296d138fa8c4af44f0d"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE="vm_tools/crostini_client"
-CROS_WORKON_INCREMENTAL_BUILD=1
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Command-line client for controlling crostini"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools/crostini_client/"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-DEPEND="chromeos-base/system_api
-	=dev-rust/dbus-0.8*:=
-	=dev-rust/getopts-0.2*:=
-	=dev-rust/lazy_static-1*:=
-	>=dev-rust/libc-0.2.44:=
-	!>=dev-rust/libc-0.3
-	>=dev-rust/protobuf-2.16:= <dev-rust/protobuf-3
-	>=dev-rust/protoc-rust-2.16:= <dev-rust/protoc-rust-3
-"
-
-RDEPEND="sys-apps/dbus"
-
-src_unpack() {
-	cros-workon_src_unpack
-	# The compilation happens in the crostini_client subdirectory.
-	S+="/vm_tools/crostini_client"
-	cros-rust_src_unpack
-}
-
-src_compile() {
-	ecargo_build
-	use test && ecargo_test --no-run
-}
-
-src_test() {
-	if ! use x86 && ! use amd64 ; then
-		elog "Skipping unit tests on non-x86 platform"
-	else
-		ecargo_test --all
-	fi
-}
-
-src_install() {
-	local build_dir="$(cros-rust_get_build_dir)"
-	dobin "${build_dir}/crostini_client"
-	dosym "crostini_client" "/usr/bin/vmc"
-}
diff --git a/chromeos-base/crostini_client/crostini_client-9999.ebuild b/chromeos-base/crostini_client/crostini_client-9999.ebuild
index 806b53a..7f9b2ac 100644
--- a/chromeos-base/crostini_client/crostini_client-9999.ebuild
+++ b/chromeos-base/crostini_client/crostini_client-9999.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2018 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=6
+EAPI="7"
 CROS_WORKON_PROJECT="chromiumos/platform2"
 CROS_WORKON_LOCALNAME="platform2"
 CROS_WORKON_SUBTREE="vm_tools/crostini_client"
@@ -10,7 +10,7 @@
 inherit cros-workon cros-rust
 
 DESCRIPTION="Command-line client for controlling crostini"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools/crostini_client/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/crostini_client/"
 
 LICENSE="BSD-Google"
 SLOT="0"
diff --git a/chromeos-base/crosvm-base/OWNERS b/chromeos-base/crosvm-base/OWNERS
new file mode 100644
index 0000000..0edda31
--- /dev/null
+++ b/chromeos-base/crosvm-base/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/crosvm:/OWNERS
diff --git a/chromeos-base/crosvm-base/crosvm-base-0.1.0-r1.ebuild b/chromeos-base/crosvm-base/crosvm-base-0.1.0-r1.ebuild
new file mode 100644
index 0000000..41431cc
--- /dev/null
+++ b/chromeos-base/crosvm-base/crosvm-base-0.1.0-r1.ebuild
@@ -0,0 +1,122 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Remove windows dependencies.
+CROS_WORKON_COMMIT="eb83ee79b68af5b315668b193cd7fb2dc334f73f"
+CROS_WORKON_TREE=("6c2513c16be66f88bf4499a5e4e6afc4c4423ed1" "a920b8bc18a923d5cfa6abfb5390bc903526beef")
+CROS_RUST_REMOVE_TARGET_CFG=1
+
+CROS_WORKON_LOCALNAME="platform/crosvm"
+CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_RUST_SUBDIR="base"
+CROS_WORKON_SUBDIRS_TO_COPY=("${CROS_RUST_SUBDIR}" .cargo)
+CROS_WORKON_SUBTREE="${CROS_WORKON_SUBDIRS_TO_COPY[*]}"
+
+# The version of this crate is pinned. See b/229016539 for details.
+CROS_WORKON_MANUAL_UPREV="1"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Small system utility modules for usage by other modules."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/base"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test"
+
+# ebuilds that install executables, import crosvm-base, and use the libcap
+# functionality need to RDEPEND on libcap
+#
+# The first group of DEPENDs is for base_event_token_derive.
+DEPEND="
+	=dev-rust/proc-macro2-1*:=
+	=dev-rust/quote-1*:=
+	=dev-rust/syn-1*:=
+
+	dev-rust/cfg-if:=
+	dev-rust/chrono:=
+	=dev-rust/env_logger-0.9*:=
+	dev-rust/data_model:=
+	=dev-rust/libc-0.2*:=
+	=dev-rust/log-0.4*:=
+	=dev-rust/once_cell-1*:=
+	=dev-rust/remain-0.2*:=
+	=dev-rust/serde-1*:=
+	=dev-rust/serde_json-1*:=
+	=dev-rust/smallvec-1*:=
+	dev-rust/sync:=
+	=dev-rust/tempfile-3*:=
+	=dev-rust/thiserror-1*:=
+	=dev-rust/uuid-0.8*:=
+	media-sound/audio_streams:=
+	sys-libs/libcap:=
+"
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+	cros-workon_src_unpack
+	if [ ! -e "${S}/${PN}" ]; then
+		(cd "${S}" && ln -s "./${CROS_RUST_SUBDIR}" "./${PN}") || die
+	fi
+	S+="/${PN}"
+
+	cros-rust_src_unpack
+}
+
+src_prepare() {
+	sed -i 's/name = "base"/name = "'"${PN}"'"/g' "${S}/Cargo.toml"
+	cros-rust_src_prepare
+}
+
+src_test() {
+	local skip_tests=()
+
+	(
+		cd base_event_token_derive || die
+		cros-rust_get_host_test_executables
+		cros-rust_src_test
+	)
+
+	# If syslog isn't available, skip the tests.
+	[[ -S /dev/log ]] || skip_tests+=(--skip "syslog::tests")
+
+	# Non direct exec architectures fail with:
+	#   Could not open '/lib/ld-linux-aarch64.so.1': No such file or directory
+	CROS_RUST_TEST_DIRECT_EXEC_ONLY="yes"
+	cros-rust_get_host_test_executables
+	cros-rust_src_test -- --test-threads=1 "${skip_tests[@]}"
+}
+
+src_install() {
+	(
+		cd base_event_token_derive || die
+		cros-rust_publish base_event_token_derive "$(cros-rust_get_crate_version .)"
+	)
+
+	cros-rust_src_install
+}
+
+pkg_preinst() {
+	cros-rust_pkg_preinst base_event_token_derive
+	cros-rust_pkg_preinst
+}
+
+pkg_postinst() {
+	cros-rust_pkg_postinst base_event_token_derive
+	cros-rust_pkg_postinst
+}
+
+pkg_prerm() {
+	cros-rust_pkg_prerm base_event_token_derive
+	cros-rust_pkg_prerm
+}
+
+pkg_postrm() {
+	cros-rust_pkg_postrm base_event_token_derive
+	cros-rust_pkg_postrm
+}
diff --git a/chromeos-base/crosvm-base/crosvm-base-9999.ebuild b/chromeos-base/crosvm-base/crosvm-base-9999.ebuild
new file mode 100644
index 0000000..2611607
--- /dev/null
+++ b/chromeos-base/crosvm-base/crosvm-base-9999.ebuild
@@ -0,0 +1,120 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Remove windows dependencies.
+CROS_RUST_REMOVE_TARGET_CFG=1
+
+CROS_WORKON_LOCALNAME="platform/crosvm"
+CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_RUST_SUBDIR="base"
+CROS_WORKON_SUBDIRS_TO_COPY=("${CROS_RUST_SUBDIR}" .cargo)
+CROS_WORKON_SUBTREE="${CROS_WORKON_SUBDIRS_TO_COPY[*]}"
+
+# The version of this crate is pinned. See b/229016539 for details.
+CROS_WORKON_MANUAL_UPREV="1"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Small system utility modules for usage by other modules."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/base"
+
+LICENSE="BSD-Google"
+KEYWORDS="~*"
+IUSE="test"
+
+# ebuilds that install executables, import crosvm-base, and use the libcap
+# functionality need to RDEPEND on libcap
+#
+# The first group of DEPENDs is for base_event_token_derive.
+DEPEND="
+	=dev-rust/proc-macro2-1*:=
+	=dev-rust/quote-1*:=
+	=dev-rust/syn-1*:=
+
+	dev-rust/cfg-if:=
+	dev-rust/chrono:=
+	=dev-rust/env_logger-0.9*:=
+	dev-rust/data_model:=
+	=dev-rust/libc-0.2*:=
+	=dev-rust/log-0.4*:=
+	=dev-rust/once_cell-1*:=
+	=dev-rust/remain-0.2*:=
+	=dev-rust/serde-1*:=
+	=dev-rust/serde_json-1*:=
+	=dev-rust/smallvec-1*:=
+	dev-rust/sync:=
+	=dev-rust/tempfile-3*:=
+	=dev-rust/thiserror-1*:=
+	=dev-rust/uuid-0.8*:=
+	media-sound/audio_streams:=
+	sys-libs/libcap:=
+"
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+	cros-workon_src_unpack
+	if [ ! -e "${S}/${PN}" ]; then
+		(cd "${S}" && ln -s "./${CROS_RUST_SUBDIR}" "./${PN}") || die
+	fi
+	S+="/${PN}"
+
+	cros-rust_src_unpack
+}
+
+src_prepare() {
+	sed -i 's/name = "base"/name = "'"${PN}"'"/g' "${S}/Cargo.toml"
+	cros-rust_src_prepare
+}
+
+src_test() {
+	local skip_tests=()
+
+	(
+		cd base_event_token_derive || die
+		cros-rust_get_host_test_executables
+		cros-rust_src_test
+	)
+
+	# If syslog isn't available, skip the tests.
+	[[ -S /dev/log ]] || skip_tests+=(--skip "syslog::tests")
+
+	# Non direct exec architectures fail with:
+	#   Could not open '/lib/ld-linux-aarch64.so.1': No such file or directory
+	CROS_RUST_TEST_DIRECT_EXEC_ONLY="yes"
+	cros-rust_get_host_test_executables
+	cros-rust_src_test -- --test-threads=1 "${skip_tests[@]}"
+}
+
+src_install() {
+	(
+		cd base_event_token_derive || die
+		cros-rust_publish base_event_token_derive "$(cros-rust_get_crate_version .)"
+	)
+
+	cros-rust_src_install
+}
+
+pkg_preinst() {
+	cros-rust_pkg_preinst base_event_token_derive
+	cros-rust_pkg_preinst
+}
+
+pkg_postinst() {
+	cros-rust_pkg_postinst base_event_token_derive
+	cros-rust_pkg_postinst
+}
+
+pkg_prerm() {
+	cros-rust_pkg_prerm base_event_token_derive
+	cros-rust_pkg_prerm
+}
+
+pkg_postrm() {
+	cros-rust_pkg_postrm base_event_token_derive
+	cros-rust_pkg_postrm
+}
diff --git a/chromeos-base/crosvm-base/files/chromeos-version.sh b/chromeos-base/crosvm-base/files/chromeos-version.sh
new file mode 100755
index 0000000..b374262
--- /dev/null
+++ b/chromeos-base/crosvm-base/files/chromeos-version.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+#
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Assumes the first 'version =' line in the Cargo.toml is the version for the
+# crate.
+awk '/^version = / { print $3 }' "$1/base/Cargo.toml" | head -n1 | tr -d '"'
diff --git a/chromeos-base/crosvm/Manifest b/chromeos-base/crosvm/Manifest
index 436d32c..462ef46 100644
--- a/chromeos-base/crosvm/Manifest
+++ b/chromeos-base/crosvm/Manifest
@@ -1,2 +1,4 @@
 DIST crosvm-testing-bzimage-x86_64-r0000 6262784 BLAKE2B e6ed7f7e472c1438c1bb7bbec31a9e9a343039236b54e7099cda2907e80388951663c67033e159722cdf052063595acb5b52e5b3df888e408c1d6a3c53d723d1 SHA512 57c6cc10e58c42b9ba444fc9aa2c7ea6a154f86310b84f59825410b547847e197e8b45e6dbd8048223614669cfcf93c6eb4219c57aacac6c0b6c84b2b7b9eba8
+DIST crosvm-testing-bzimage-x86_64-r0001 6266880 BLAKE2B 893e28d55ea92e3d209e689b4567a2dddc2a5f5e0d4c236b7c3e70c5b0742c3468acf4490c090c007fed2e3ff07b5f8779af108b922b698c182e3993ea946e86 SHA512 362def78122470415150c35ce60fe52f7011c7d13d6f9f14ee04526f41a2192077407151cab9a74d68a329ec033d32d1533077fa7c1a0daf9ca7458e7a95759d
 DIST crosvm-testing-rootfs-x86_64-r0000 4157440 BLAKE2B c820d1bc284bdfea71d545951027b8fde25e4177d4e265df86777abfeacdf44ee5580b0b2204f51f2d21f2b8ae08278e9ab5d01842a4676725aaf0be53e53606 SHA512 4ceb6de59926de5d78a2feb9cce0ae4e5063074c577c09a54e61e97edabeb9c3938241f2f9f5210d0ec99881530dc62f382607c65b27e8beaddc1390302eb9c1
+DIST crosvm-testing-rootfs-x86_64-r0001 4087808 BLAKE2B 37f1c5b4d41ba81da76b7555b47a6c3313b3912f9c2e042ba292285ec838e4a78688233ac8109c7e844ed56d15b64228beae2e72ee454c92333914d264fd3552 SHA512 b79964bfc23f8c7b38bd34c82e70ed1bf223c7090cf54e6e3fd01d491c7cad0c9e6e18fe750ccd27d8e3f5fb69c5c5ab5270d34f3e42864b466dbe3a2a3ecbf4
diff --git a/chromeos-base/crosvm/crosvm-0.1.0-r1641.ebuild b/chromeos-base/crosvm/crosvm-0.1.0-r1641.ebuild
deleted file mode 100644
index 016005a..0000000
--- a/chromeos-base/crosvm/crosvm-0.1.0-r1641.ebuild
+++ /dev/null
@@ -1,363 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f8ba4d599f05ac8cef7f7834e262901a5c1a5290"
-CROS_WORKON_TREE="80f9e4e3017742fbd3ac33518375b8856b695bab"
-CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
-CROS_WORKON_LOCALNAME="platform/crosvm"
-CROS_WORKON_INCREMENTAL_BUILD=1
-
-# We don't use CROS_WORKON_OUTOFTREE_BUILD here since crosvm/Cargo.toml is
-# using "# ignored by ebuild" macro which supported by cros-rust.
-
-inherit cros-fuzzer cros-rust cros-workon user
-
-PREBUILT_VERSION="r0000"
-KERNEL_FILE="crosvm-testing-bzimage-x86_64-${PREBUILT_VERSION}"
-ROOTFS_FILE="crosvm-testing-rootfs-x86_64-${PREBUILT_VERSION}"
-
-PREBUILT_URL="https://storage.googleapis.com/chromeos-localmirror"
-
-DESCRIPTION="Utility for running VMs on Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crosvm/"
-SRC_URI="
-	test? (
-		${PREBUILT_URL}/${KERNEL_FILE}
-		${PREBUILT_URL}/${ROOTFS_FILE}
-	)
-"
-
-# 'Apache-2.0' and 'BSD-vmm_vhost' are for third_party/vmm_vhost.
-LICENSE="BSD-Google Apache-2.0 BSD-vmm_vhost"
-KEYWORDS="*"
-IUSE="test cros-debug crosvm-gpu -crosvm-direct -crosvm-plugin +crosvm-power-monitor-powerd +crosvm-video-decoder +crosvm-video-encoder +crosvm-video-libvda +crosvm-wl-dmabuf fuzzer tpm2 android-vm-master arcvm_gce_l1"
-
-COMMON_DEPEND="
-	sys-apps/dtc:=
-	sys-libs/libcap:=
-	chromeos-base/libvda:=
-	chromeos-base/minijail:=
-	dev-libs/wayland:=
-	crosvm-gpu? (
-		media-libs/virglrenderer:=
-	)
-	crosvm-wl-dmabuf? ( media-libs/minigbm:= )
-	dev-rust/libchromeos:=
-	virtual/libusb:1=
-"
-
-RDEPEND="${COMMON_DEPEND}
-	!chromeos-base/crosvm-bin
-	crosvm-power-monitor-powerd? ( sys-apps/dbus )
-	tpm2? ( sys-apps/dbus )
-"
-
-DEPEND="${COMMON_DEPEND}
-	dev-libs/wayland-protocols:=
-	=dev-rust/android_log-sys-0.2*:=
-	>=dev-rust/anyhow-1.0.32:= <dev-rust/anyhow-2.0
-	>=dev-rust/argh-0.1.7:= <dev-rust/argh-0.2.0
-	=dev-rust/async-task-4*:=
-	=dev-rust/async-trait-0.1*:=
-	=dev-rust/bitflags-1*:=
-	>=dev-rust/cc-1.0.25 <dev-rust/cc-2_alpha:=
-	=dev-rust/cfg-if-1*:=
-	>=dev-rust/crc32fast-1.2.1:= <dev-rust/crc32fast-2
-	dev-rust/cros_fuzz:=
-	=dev-rust/dbus-0.8*:=
-	>=dev-rust/downcast-rs-1.2.0:= <dev-rust/downcast-rs-2.0
-	=dev-rust/enumn-0.1*:=
-	=dev-rust/futures-0.3*:=
-	dev-rust/intrusive-collections:=
-	=dev-rust/gdbstub-0.5*:=
-	>=dev-rust/gdbstub_arch-0.1.1:= <dev-rust/gdbstub_arch-0.2
-	~dev-rust/getopts-0.2.18:=
-	>=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0
-	>=dev-rust/memoffset-0.6:= <dev-rust/memoffset-1
-	dev-rust/minijail:=
-	>=dev-rust/mio-0.7.14 <dev-rust/mio-0.8.0_alpha:=
-	~dev-rust/num_cpus-1.9.0:=
-	>=dev-rust/once_cell-1.7.2:= <dev-rust/once_cell-2
-	dev-rust/p9:=
-	=dev-rust/paste-1*:=
-	=dev-rust/pin-utils-0.1*:=
-	~dev-rust/pkg-config-0.3.11:=
-	=dev-rust/proc-macro2-1*:=
-	>=dev-rust/protobuf-2.8:=
-	!>=dev-rust/protobuf-3
-	>=dev-rust/protoc-rust-2.8:=
-	!>=dev-rust/protoc-rust-3
-	=dev-rust/quote-1*:=
-	=dev-rust/rand-0.6*:=
-	>=dev-rust/scudo-0.1.2 <dev-rust/scudo-0.2_alpha:=
-	=dev-rust/serde-1*:=
-	=dev-rust/serde_json-1*:=
-	>=dev-rust/smallvec-1.6.1:= <dev-rust/smallvec-2
-	=dev-rust/syn-1*:=
-	=dev-rust/tempfile-3*:=
-	>=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
-	>=dev-rust/uuid-0.8.2:= <dev-rust/uuid-0.9
-	dev-rust/remain:=
-	dev-rust/system_api:=
-	tpm2? (
-		chromeos-base/tpm2:=
-		chromeos-base/trunks:=
-		=dev-rust/dbus-0.6*:=
-	)
-	media-sound/libcras:=
-	crosvm-power-monitor-powerd? (
-		chromeos-base/system_api
-		=dev-rust/dbus-0.6*:=
-	)
-"
-
-get_seccomp_path() {
-	local seccomp_arch="unknown"
-	case ${ARCH} in
-		amd64) seccomp_arch=x86_64;;
-		arm) seccomp_arch=arm;;
-		arm64) seccomp_arch=aarch64;;
-	esac
-
-	echo "seccomp/${seccomp_arch}"
-}
-
-FUZZERS=(
-	crosvm_block_fuzzer
-	crosvm_fs_server_fuzzer
-	crosvm_qcow_fuzzer
-	crosvm_usb_descriptor_fuzzer
-	crosvm_virtqueue_fuzzer
-	crosvm_zimage_fuzzer
-)
-
-src_unpack() {
-	# Unpack both the project and dependency source code
-	cros-workon_src_unpack
-	cros-rust_src_unpack
-}
-
-src_prepare() {
-	cros-rust_src_prepare
-
-	if use arcvm_gce_l1; then
-		eapply "${FILESDIR}"/0001-betty-arcvm-Loose-mprotect-mmap-for-software-renderi.patch
-	fi
-
-	default
-}
-
-src_configure() {
-	cros-rust_src_configure
-
-	# Change the path used for the minijail pivot root from /var/empty.
-	# See: https://crbug.com/934513
-	export DEFAULT_PIVOT_ROOT="/mnt/empty"
-}
-
-src_compile() {
-	local features=(
-		$(usex crosvm-gpu virgl_renderer "")
-		$(usex crosvm-gpu virgl_renderer_next "")
-		$(usex crosvm-plugin plugin "")
-		$(usex crosvm-power-monitor-powerd power-monitor-powerd "")
-		$(usex crosvm-video-decoder video-decoder "")
-		$(usex crosvm-video-encoder video-encoder "")
-		$(usex crosvm-video-libvda libvda "")
-		$(usex crosvm-wl-dmabuf wl-dmabuf "")
-		$(usex tpm2 tpm "")
-		$(usex cros-debug gdb "")
-		chromeos
-		$(usex android-vm-master composite-disk "")
-	)
-
-	local packages=(
-		qcow_utils
-		crosvm
-	)
-
-	for pkg in "${packages[@]}"; do
-		ecargo_build -v \
-			--features="${features[*]}" \
-			-p "${pkg}" \
-			|| die "cargo build failed"
-	done
-
-	if use crosvm-direct ; then
-		ecargo_build -v \
-			--no-default-features --features="direct" \
-			-p "crosvm" --bin crosvm-direct \
-			|| die "cargo build failed"
-	fi
-
-	if use fuzzer; then
-		cd crosvm-fuzz || die "failed to move directory"
-		local f
-		for f in "${FUZZERS[@]}"; do
-			ecargo_build_fuzzer --bin "${f}"
-		done
-		cd .. || die "failed to move directory"
-	fi
-}
-
-src_test() {
-	local test_opts=(
-		# TODO(b/211023371): Re-enable libvda tests.
-		--exclude libvda
-	)
-	use tpm2 || test_opts+=( --exclude tpm2 --exclude tpm2-sys )
-
-	# io_jail tests fork the process, which cause memory leak errors when
-	# run under sanitizers.
-	cros-rust_use_sanitizers && test_opts+=( --exclude io_jail )
-
-	# Pass kernel/rootfs prebuilts to integration tests.
-	# See crosvm/integration_tests/README.md for details.
-	local CROSVM_CARGO_TEST_PREBUILT_VERSION="${PREBUILT_VERSION}"
-	local kernel_binary="${DISTDIR}/${KERNEL_FILE}"
-	[[ -e "${kernel_binary}" ]] || die "expected to find kernel binary at ${kernel_binary}"
-	CROS_RUST_PLATFORM_TEST_ARGS+=(
-		"--env" "CROSVM_CARGO_TEST_KERNEL_BINARY=${kernel_binary}"
-	)
-
-	local rootfs_image="${DISTDIR}/${ROOTFS_FILE}"
-	[[ -e "${rootfs_image}" ]] || die "expected to find rootfs image at ${rootfs_image}"
-	CROS_RUST_PLATFORM_TEST_ARGS+=(
-		"--env" "CROSVM_CARGO_TEST_ROOTFS_IMAGE=${rootfs_image}"
-	)
-
-	# kernel versions between 5.1 and 5.10 have io_uring bugs, skip the io_uring
-	# integration test on these platforms.  See b/189879899
-	local cut_version=$(ver_cut 1-2 "$(uname -r)")
-	if ver_test 5.10 -gt "${cut_version}"; then
-		test_opts+=( --exclude "io_uring" )
-	fi
-
-	if ! use x86 && ! use amd64; then
-		test_opts+=( --exclude "x86_64" )
-		test_opts+=( --no-run )
-	fi
-
-	if ! use arm64; then
-		test_opts+=( --exclude "aarch64" )
-	fi
-
-	if ! use crosvm-plugin; then
-		test_opts+=( --exclude "crosvm_plugin" )
-	fi
-
-	# Excluding tests that run on a different arch, use /dev/kvm, /dev/dri,
-	# /dev/net/tun, or wayland access because the bots don't support these.
-	local args=(
-		--workspace -v
-		--exclude net_util
-		--exclude gpu_display
-		--exclude rutabaga_gfx
-		--exclude crosvm-fuzz
-		# Exclude crates that require KVM.
-		--exclude integration_tests
-		--exclude hypervisor
-		--exclude kvm
-		--exclude kvm_sys
-		# Also exclude the following since their tests are run in their ebuilds.
-		--exclude enumn
-		--exclude sys_util
-		"${test_opts[@]}"
-	)
-
-	# cargo test requires --skip options to be passed to the test itself (after the
-	# dividing -- option), so these are in a separate array from args.
-	local skip_tests=(
-		# Skip tests in devices that need KVM.
-		--skip "irqchip::kvm"
-		# Skip tests in x86_64 that need KVM.
-		--skip "cpuid::tests::feature_and_vendor_name"
-		--skip "test_integration::simple_kvm"
-	)
-
-	ecargo_test "${args[@]}" \
-		-- --test-threads=1 \
-		"${skip_tests[@]}" \
-		|| die "cargo test failed"
-
-	# Plugin tests all require /dev/kvm, but we want to make sure they build
-	# at least.
-	if use crosvm-plugin; then
-		ecargo_test --no-run --features plugin \
-			|| die "cargo build with plugin feature failed"
-	fi
-}
-
-src_install() {
-	# cargo doesn't know how to install cross-compiled binaries.  It will
-	# always install native binaries for the host system.  Manually install
-	# crosvm instead.
-	local build_dir="$(cros-rust_get_build_dir)"
-	dobin "${build_dir}/crosvm"
-
-	# Install seccomp policy files.
-	local seccomp_path="${S}/$(get_seccomp_path)"
-	if [[ -d "${seccomp_path}" ]] ; then
-		local policy
-		for policy in "${seccomp_path}"/*.policy; do
-			sed -i "s:/usr/share/policy/crosvm:${seccomp_path}:g" "${policy}" \
-				|| die "failed to modify seccomp policy ${policy}"
-		done
-		for policy in "${seccomp_path}"/*.policy; do
-			local policy_output="${policy%.policy}.bpf"
-			compile_seccomp_policy \
-				--arch-json "${SYSROOT}/build/share/constants.json" \
-				--default-action trap "${policy}" "${policy_output}" \
-				|| die "failed to compile seccomp policy ${policy}"
-		done
-		rm "${seccomp_path}"/common_device.bpf
-		insinto /usr/share/policy/crosvm
-		doins "${seccomp_path}"/*.bpf
-	fi
-
-	# Install qcow utils library, header, and pkgconfig files.
-	dolib.so "${build_dir}/deps/libqcow_utils.so"
-
-	local include_dir="/usr/include/crosvm"
-
-	"${S}"/qcow_utils/platform2_preinstall.sh "${PV}" "${include_dir}" \
-		"${WORKDIR}"
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	doins "${WORKDIR}/libqcow_utils.pc"
-
-	insinto "${include_dir}"
-	doins "${S}"/qcow_utils/src/qcow_utils.h
-
-	# Install plugin library, when requested.
-	if use crosvm-plugin ; then
-		insinto "${include_dir}"
-		doins "${S}/crosvm_plugin/crosvm.h"
-		dolib.so "${build_dir}/deps/libcrosvm_plugin.so"
-	fi
-
-	# Install crosvm-direct, when requested.
-	if use crosvm-direct ; then
-		into /build/manatee
-		dobin "${build_dir}/crosvm-direct"
-	fi
-
-	if use fuzzer; then
-		cd crosvm-fuzz || die "failed to move directory"
-		local f
-		for f in "${FUZZERS[@]}"; do
-			local fuzzer_component_id="982362"
-			fuzzer_install "${S}/crosvm-fuzz/OWNERS" \
-				"${build_dir}/${f}" \
-				--comp "${fuzzer_component_id}"
-		done
-		cd .. || die "failed to move directory"
-	fi
-}
-
-pkg_preinst() {
-	enewuser "crosvm"
-	enewgroup "crosvm"
-
-	cros-rust_pkg_preinst
-}
diff --git a/chromeos-base/crosvm/crosvm-0.1.0-r1752.ebuild b/chromeos-base/crosvm/crosvm-0.1.0-r1752.ebuild
new file mode 100644
index 0000000..b4674b8
--- /dev/null
+++ b/chromeos-base/crosvm/crosvm-0.1.0-r1752.ebuild
@@ -0,0 +1,387 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="2b1c44b5ca6f50123a5bbbab7d2522b2d83fa5bc"
+CROS_WORKON_TREE="62c91cc57f4bbb759cc97766a681ed0c7deac706"
+CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
+CROS_WORKON_LOCALNAME="platform/crosvm"
+CROS_WORKON_INCREMENTAL_BUILD=1
+
+# We don't use CROS_WORKON_OUTOFTREE_BUILD here since crosvm/Cargo.toml is
+# using "# ignored by ebuild" macro which supported by cros-rust.
+
+inherit cros-fuzzer cros-rust cros-workon user
+
+DESCRIPTION="Utility for running VMs on Chrome OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crosvm/"
+
+# 'Apache-2.0' and 'BSD-vmm_vhost' are for third_party/vmm_vhost.
+LICENSE="BSD-Google Apache-2.0 BSD-vmm_vhost"
+KEYWORDS="*"
+IUSE="test cros-debug crosvm-gpu -crosvm-direct -crosvm-plugin +crosvm-power-monitor-powerd +crosvm-video-decoder +crosvm-video-encoder -crosvm-video-ffmpeg +crosvm-video-libvda +crosvm-wl-dmabuf fuzzer tpm2 android-vm-master android-vm-tm arcvm_gce_l1"
+
+COMMON_DEPEND="
+	sys-apps/dtc:=
+	sys-libs/libcap:=
+	crosvm-video-ffmpeg? ( media-video/ffmpeg )
+	crosvm-video-libvda? ( chromeos-base/libvda )
+	chromeos-base/minijail:=
+	dev-libs/wayland:=
+	crosvm-gpu? (
+		media-libs/virglrenderer:=
+	)
+	crosvm-wl-dmabuf? ( media-libs/minigbm:= )
+	dev-rust/libchromeos:=
+	virtual/libusb:1=
+"
+
+RDEPEND="${COMMON_DEPEND}
+	!chromeos-base/crosvm-bin
+	crosvm-power-monitor-powerd? ( sys-apps/dbus )
+	tpm2? ( sys-apps/dbus )
+"
+
+DEPEND="${COMMON_DEPEND}
+	dev-libs/wayland-protocols:=
+	=dev-rust/android_log-sys-0.2*:=
+	>=dev-rust/anyhow-1.0.32:= <dev-rust/anyhow-2.0
+	>=dev-rust/argh-0.1.7:= <dev-rust/argh-0.2.0
+	=dev-rust/async-task-4*:=
+	=dev-rust/async-trait-0.1*:=
+	=dev-rust/bitflags-1*:=
+	>=dev-rust/bytes-1.1.0:= <dev-rust/bytes-2.0.0
+	dev-rust/cbindgen:=
+	>=dev-rust/cc-1.0.25 <dev-rust/cc-2_alpha:=
+	=dev-rust/cfg-if-1*:=
+	dev-rust/chrono:=
+	>=dev-rust/crc32fast-1.2.1:= <dev-rust/crc32fast-2
+	dev-rust/cros_fuzz:=
+	=dev-rust/crossbeam-utils-0.8*:=
+	=dev-rust/ctrlc-3.2*:=
+	=dev-rust/dbus-0.8*:=
+	>=dev-rust/downcast-rs-1.2.0:= <dev-rust/downcast-rs-2.0
+	=dev-rust/enumn-0.1*:=
+	=dev-rust/env_logger-0.9*:=
+	=dev-rust/futures-0.3*:=
+	=dev-rust/fnv-1*:=
+	>=dev-rust/gdbstub-0.6.1:= <dev-rust/gdbstub-0.7
+	>=dev-rust/gdbstub_arch-0.2.2:= <dev-rust/gdbstub_arch-0.3
+	~dev-rust/getopts-0.2.18:=
+	dev-rust/intrusive-collections:=
+	>=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0
+	dev-rust/libslirp-sys:=
+	>=dev-rust/libudev-0.2.0:= <dev-rust/libudev-0.3.0
+	>=dev-rust/memoffset-0.6:= <dev-rust/memoffset-1
+	dev-rust/minijail:=
+	>=dev-rust/mio-0.7.14 <dev-rust/mio-0.8.0_alpha:=
+	~dev-rust/num_cpus-1.9.0:=
+	=dev-rust/num-traits-0.2*:=
+	>=dev-rust/once_cell-1.7.2:= <dev-rust/once_cell-2
+	dev-rust/p9:=
+	=dev-rust/paste-1*:=
+	dev-rust/pcap-file:=
+	=dev-rust/pin-utils-0.1*:=
+	~dev-rust/pkg-config-0.3.11:=
+	=dev-rust/proc-macro2-1*:=
+	>=dev-rust/protobuf-2.8:=
+	!>=dev-rust/protobuf-3
+	>=dev-rust/protoc-rust-2.8:=
+	!>=dev-rust/protoc-rust-3
+	=dev-rust/quote-1*:=
+	=dev-rust/rand-0.8*:=
+	dev-rust/regex:=
+	dev-rust/remain:=
+	>=dev-rust/scudo-0.1.2 <dev-rust/scudo-0.2_alpha:=
+	=dev-rust/serde-1*:=
+	=dev-rust/serde_json-1*:=
+	>=dev-rust/smallvec-1.6.1:= <dev-rust/smallvec-2
+	=dev-rust/syn-1*:=
+	dev-rust/system_api:=
+	=dev-rust/tempfile-3*:=
+	>=dev-rust/terminal_size-0.1.17:=
+	>=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
+	>=dev-rust/uuid-0.8.2:= <dev-rust/uuid-0.9
+	dev-rust/winapi:=
+	>=dev-rust/windows-0.10.0:= <dev-rust/windows-0.11
+	dev-rust/wio:=
+	dev-rust/wmi:=
+	media-sound/libcras:=
+	tpm2? (
+		chromeos-base/tpm2:=
+		chromeos-base/trunks:=
+		=dev-rust/dbus-0.6*:=
+	)
+	crosvm-power-monitor-powerd? (
+		chromeos-base/system_api
+		=dev-rust/dbus-0.6*:=
+	)
+"
+
+get_seccomp_path() {
+	local seccomp_arch="unknown"
+	case ${ARCH} in
+	amd64) seccomp_arch=x86_64 ;;
+	arm) seccomp_arch=arm ;;
+	arm64) seccomp_arch=aarch64 ;;
+	esac
+
+	echo "seccomp/${seccomp_arch}"
+}
+
+FUZZERS=(
+	crosvm_block_fuzzer
+	crosvm_fs_server_fuzzer
+	crosvm_qcow_fuzzer
+	crosvm_usb_descriptor_fuzzer
+	crosvm_virtqueue_fuzzer
+	crosvm_zimage_fuzzer
+)
+
+src_unpack() {
+	# Unpack both the project and dependency source code
+	cros-workon_src_unpack
+	cros-rust_src_unpack
+}
+
+src_prepare() {
+	cros_optimize_package_for_speed
+	cros-rust_src_prepare
+
+	if use arcvm_gce_l1; then
+		eapply "${FILESDIR}"/0001-betty-arcvm-Loose-mprotect-mmap-for-software-renderi.patch
+	fi
+
+	default
+}
+
+src_configure() {
+	cros-rust_src_configure
+
+	# Change the path used for the minijail pivot root from /var/empty.
+	# See: https://crbug.com/934513
+	export DEFAULT_PIVOT_ROOT="/mnt/empty"
+}
+
+src_compile() {
+	local features=(
+		$(usex crosvm-gpu virgl_renderer "")
+		$(usex crosvm-gpu virgl_renderer_next "")
+		$(usex crosvm-plugin plugin "")
+		$(usex crosvm-power-monitor-powerd power-monitor-powerd "")
+		$(usex crosvm-video-decoder video-decoder "")
+		$(usex crosvm-video-encoder video-encoder "")
+		$(usex crosvm-video-libvda libvda "")
+		$(usex crosvm-video-ffmpeg ffmpeg "")
+		$(usex crosvm-wl-dmabuf wl-dmabuf "")
+		$(usex tpm2 tpm "")
+		$(usex cros-debug gdb "")
+		chromeos
+		$(usex android-vm-master composite-disk "")
+		$(usex android-vm-tm composite-disk "")
+	)
+
+	local packages=(
+		qcow_utils
+		crosvm
+		crosvm_control
+	)
+
+	# Remove other versions of crosvm_control so the header installation
+	# only picks up the most recently built version.
+	# TODO(b/188858559) Remove this once the header is installed directly by cargo
+	rm -rf "$(cros-rust_get_build_dir)/build/crosvm_control-*" || die "failed to remove old crosvm_control packages"
+
+	for pkg in "${packages[@]}"; do
+		ecargo_build -v \
+			--features="${features[*]}" \
+			-p "${pkg}" ||
+			die "cargo build failed"
+	done
+
+	if use crosvm-direct; then
+		ecargo_build -v \
+			--no-default-features --features="direct" \
+			-p "crosvm" --bin crosvm-direct ||
+			die "cargo build failed"
+	fi
+
+	if use fuzzer; then
+		cd crosvm-fuzz || die "failed to move directory"
+		local f
+		for f in "${FUZZERS[@]}"; do
+			ecargo_build_fuzzer --bin "${f}"
+		done
+		cd .. || die "failed to move directory"
+	fi
+}
+
+src_test() {
+	local test_opts=(
+		# TODO(b/211023371): Re-enable libvda tests.
+		--exclude libvda
+		# Disable VAAPI testing as it would require us to depend on libva.
+		--exclude libva
+	)
+	use tpm2 || test_opts+=(--exclude tpm2 --exclude tpm2-sys)
+	use crosvm-video-ffmpeg || test_opts+=(--exclude ffmpeg)
+
+	# io_jail tests fork the process, which cause memory leak errors when
+	# run under sanitizers.
+	cros-rust_use_sanitizers && test_opts+=(--exclude io_jail)
+
+	# kernel versions between 5.1 and 5.10 have io_uring bugs, skip the io_uring
+	# integration test on these platforms.  See b/189879899
+	local cut_version=$(ver_cut 1-2 "$(uname -r)")
+	if ver_test 5.10 -gt "${cut_version}"; then
+		test_opts+=(--exclude "io_uring")
+	fi
+
+	if ! use x86 && ! use amd64; then
+		test_opts+=(--exclude "x86_64")
+		test_opts+=(--no-run)
+	fi
+
+	if ! use arm64; then
+		test_opts+=(--exclude "aarch64")
+	fi
+
+	if ! use crosvm-plugin; then
+		test_opts+=(--exclude "crosvm_plugin")
+	fi
+
+	# Excluding tests that run on a different arch, use /dev/kvm, /dev/dri,
+	# /dev/net/tun, or wayland access because the bots don't support these.
+	local args=(
+		--workspace -v
+		--exclude net_util
+		--exclude gpu_display
+		--exclude rutabaga_gfx
+		--exclude crosvm-fuzz
+		# Exclude crates that require KVM.
+		--exclude integration_tests
+		--exclude hypervisor
+		--exclude kvm
+		--exclude kvm_sys
+		# Also exclude the following since their tests are run in their ebuilds.
+		--exclude enumn
+		--exclude sys_util
+		"${test_opts[@]}"
+	)
+
+	# cargo test requires --skip options to be passed to the test itself (after the
+	# dividing -- option), so these are in a separate array from args.
+	local skip_tests=(
+		# Skip tests in devices that need KVM.
+		--skip "irqchip::kvm"
+		# Skip tests in x86_64 that need KVM.
+		--skip "cpuid::tests::feature_and_vendor_name"
+		--skip "test_integration::simple_kvm"
+		--skip "test_integration::sys::unix::simple_kvm"
+		# Disabled since the test won't pass on builders with disabled
+		# cores. b/238787107
+		--skip "tsc::calibrate::tests"
+	)
+
+	# If syslog isn't available, skip the tests.
+	[[ -S /dev/log ]] || skip_tests+=(--skip "syslog")
+
+	if use crosvm-plugin; then
+		# crosvm_plugin is a cdylibs, so we need to use a profile
+		# that doesn't include panic=abort.
+		args+=(--profile release-test)
+	fi
+
+	ecargo_test "${args[@]}" \
+		-- --test-threads=1 \
+		"${skip_tests[@]}" ||
+		die "cargo test failed"
+
+	# Plugin tests all require /dev/kvm, but we want to make sure they build
+	# at least.
+	if use crosvm-plugin; then
+		ecargo_test --no-run --features plugin --profile release-test ||
+			die "cargo build with plugin feature failed"
+	fi
+}
+
+src_install() {
+	# cargo doesn't know how to install cross-compiled binaries.  It will
+	# always install native binaries for the host system.  Manually install
+	# crosvm instead.
+	local build_dir="$(cros-rust_get_build_dir)"
+	dobin "${build_dir}/crosvm"
+
+	# Install seccomp policy files.
+	local seccomp_path="${S}/$(get_seccomp_path)"
+	if [[ -d "${seccomp_path}" ]]; then
+		local policy
+		for policy in "${seccomp_path}"/*.policy; do
+			sed -i "s:/usr/share/policy/crosvm:${seccomp_path}:g" "${policy}" ||
+				die "failed to modify seccomp policy ${policy}"
+		done
+		for policy in "${seccomp_path}"/*.policy; do
+			local policy_output="${policy%.policy}.bpf"
+			compile_seccomp_policy \
+				--arch-json "${SYSROOT}/build/share/constants.json" \
+				--default-action trap "${policy}" "${policy_output}" ||
+				die "failed to compile seccomp policy ${policy}"
+		done
+		rm "${seccomp_path}"/common_device.bpf
+		insinto /usr/share/policy/crosvm
+		doins "${seccomp_path}"/*.bpf
+	fi
+
+	# Install qcow utils library, header, and pkgconfig files.
+	dolib.so "${build_dir}/deps/libqcow_utils.so"
+
+	local include_dir="/usr/include/crosvm"
+
+	"${S}"/qcow_utils/platform2_preinstall.sh "${PV}" "${include_dir}" \
+		"${WORKDIR}"
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins "${WORKDIR}/libqcow_utils.pc"
+
+	insinto "${include_dir}"
+	doins "${S}"/qcow_utils/src/qcow_utils.h
+
+	# Install crosvm_control header and library.
+	# Note: Old versions of the crosvm_control package are deleted at the
+	# beginning of the compile step, so this doins will only pick up the
+	# most recently built crosvm_control.h.
+	# TODO(b/188858559) Install the header directly from cargo using --out-dir once the feature is stable
+	doins "${build_dir}"/build/crosvm_control-*/out/crosvm_control.h
+	dolib.so "${build_dir}/deps/libcrosvm_control.so"
+
+	# Install plugin library, when requested.
+	if use crosvm-plugin; then
+		insinto "${include_dir}"
+		doins "${S}/crosvm_plugin/crosvm.h"
+		dolib.so "${build_dir}/deps/libcrosvm_plugin.so"
+	fi
+
+	# Install crosvm-direct, when requested.
+	if use crosvm-direct; then
+		into /build/manatee
+		dobin "${build_dir}/crosvm-direct"
+	fi
+
+	if use fuzzer; then
+		cd crosvm-fuzz || die "failed to move directory"
+		local f
+		for f in "${FUZZERS[@]}"; do
+			local fuzzer_component_id="982362"
+			fuzzer_install "${S}/crosvm-fuzz/OWNERS" \
+				"${build_dir}/${f}" \
+				--comp "${fuzzer_component_id}"
+		done
+		cd .. || die "failed to move directory"
+	fi
+}
+
+pkg_preinst() {
+	enewuser "crosvm"
+	enewgroup "crosvm"
+
+	cros-rust_pkg_preinst
+}
diff --git a/chromeos-base/crosvm/crosvm-9999.ebuild b/chromeos-base/crosvm/crosvm-9999.ebuild
index 2d65d5d..208e572 100644
--- a/chromeos-base/crosvm/crosvm-9999.ebuild
+++ b/chromeos-base/crosvm/crosvm-9999.ebuild
@@ -11,30 +11,19 @@
 
 inherit cros-fuzzer cros-rust cros-workon user
 
-PREBUILT_VERSION="r0000"
-KERNEL_FILE="crosvm-testing-bzimage-x86_64-${PREBUILT_VERSION}"
-ROOTFS_FILE="crosvm-testing-rootfs-x86_64-${PREBUILT_VERSION}"
-
-PREBUILT_URL="https://storage.googleapis.com/chromeos-localmirror"
-
 DESCRIPTION="Utility for running VMs on Chrome OS"
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crosvm/"
-SRC_URI="
-	test? (
-		${PREBUILT_URL}/${KERNEL_FILE}
-		${PREBUILT_URL}/${ROOTFS_FILE}
-	)
-"
 
 # 'Apache-2.0' and 'BSD-vmm_vhost' are for third_party/vmm_vhost.
 LICENSE="BSD-Google Apache-2.0 BSD-vmm_vhost"
 KEYWORDS="~*"
-IUSE="test cros-debug crosvm-gpu -crosvm-direct -crosvm-plugin +crosvm-power-monitor-powerd +crosvm-video-decoder +crosvm-video-encoder +crosvm-video-libvda +crosvm-wl-dmabuf fuzzer tpm2 android-vm-master arcvm_gce_l1"
+IUSE="test cros-debug crosvm-gpu -crosvm-direct -crosvm-plugin +crosvm-power-monitor-powerd +crosvm-video-decoder +crosvm-video-encoder -crosvm-video-ffmpeg +crosvm-video-libvda +crosvm-wl-dmabuf fuzzer tpm2 android-vm-master android-vm-tm arcvm_gce_l1"
 
 COMMON_DEPEND="
 	sys-apps/dtc:=
 	sys-libs/libcap:=
-	chromeos-base/libvda:=
+	crosvm-video-ffmpeg? ( media-video/ffmpeg )
+	crosvm-video-libvda? ( chromeos-base/libvda )
 	chromeos-base/minijail:=
 	dev-libs/wayland:=
 	crosvm-gpu? (
@@ -59,26 +48,37 @@
 	=dev-rust/async-task-4*:=
 	=dev-rust/async-trait-0.1*:=
 	=dev-rust/bitflags-1*:=
+	>=dev-rust/bytes-1.1.0:= <dev-rust/bytes-2.0.0
+	dev-rust/cbindgen:=
 	>=dev-rust/cc-1.0.25 <dev-rust/cc-2_alpha:=
 	=dev-rust/cfg-if-1*:=
+	dev-rust/chrono:=
 	>=dev-rust/crc32fast-1.2.1:= <dev-rust/crc32fast-2
 	dev-rust/cros_fuzz:=
+	=dev-rust/crossbeam-utils-0.8*:=
+	=dev-rust/ctrlc-3.2*:=
 	=dev-rust/dbus-0.8*:=
 	>=dev-rust/downcast-rs-1.2.0:= <dev-rust/downcast-rs-2.0
 	=dev-rust/enumn-0.1*:=
+	=dev-rust/env_logger-0.9*:=
 	=dev-rust/futures-0.3*:=
-	dev-rust/intrusive-collections:=
-	=dev-rust/gdbstub-0.5*:=
-	>=dev-rust/gdbstub_arch-0.1.1:= <dev-rust/gdbstub_arch-0.2
+	=dev-rust/fnv-1*:=
+	>=dev-rust/gdbstub-0.6.1:= <dev-rust/gdbstub-0.7
+	>=dev-rust/gdbstub_arch-0.2.2:= <dev-rust/gdbstub_arch-0.3
 	~dev-rust/getopts-0.2.18:=
+	dev-rust/intrusive-collections:=
 	>=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0
+	dev-rust/libslirp-sys:=
+	>=dev-rust/libudev-0.2.0:= <dev-rust/libudev-0.3.0
 	>=dev-rust/memoffset-0.6:= <dev-rust/memoffset-1
 	dev-rust/minijail:=
 	>=dev-rust/mio-0.7.14 <dev-rust/mio-0.8.0_alpha:=
 	~dev-rust/num_cpus-1.9.0:=
+	=dev-rust/num-traits-0.2*:=
 	>=dev-rust/once_cell-1.7.2:= <dev-rust/once_cell-2
 	dev-rust/p9:=
 	=dev-rust/paste-1*:=
+	dev-rust/pcap-file:=
 	=dev-rust/pin-utils-0.1*:=
 	~dev-rust/pkg-config-0.3.11:=
 	=dev-rust/proc-macro2-1*:=
@@ -87,23 +87,29 @@
 	>=dev-rust/protoc-rust-2.8:=
 	!>=dev-rust/protoc-rust-3
 	=dev-rust/quote-1*:=
-	=dev-rust/rand-0.6*:=
+	=dev-rust/rand-0.8*:=
+	dev-rust/regex:=
+	dev-rust/remain:=
 	>=dev-rust/scudo-0.1.2 <dev-rust/scudo-0.2_alpha:=
 	=dev-rust/serde-1*:=
 	=dev-rust/serde_json-1*:=
 	>=dev-rust/smallvec-1.6.1:= <dev-rust/smallvec-2
 	=dev-rust/syn-1*:=
+	dev-rust/system_api:=
 	=dev-rust/tempfile-3*:=
+	>=dev-rust/terminal_size-0.1.17:=
 	>=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
 	>=dev-rust/uuid-0.8.2:= <dev-rust/uuid-0.9
-	dev-rust/remain:=
-	dev-rust/system_api:=
+	dev-rust/winapi:=
+	>=dev-rust/windows-0.10.0:= <dev-rust/windows-0.11
+	dev-rust/wio:=
+	dev-rust/wmi:=
+	media-sound/libcras:=
 	tpm2? (
 		chromeos-base/tpm2:=
 		chromeos-base/trunks:=
 		=dev-rust/dbus-0.6*:=
 	)
-	media-sound/libcras:=
 	crosvm-power-monitor-powerd? (
 		chromeos-base/system_api
 		=dev-rust/dbus-0.6*:=
@@ -113,9 +119,9 @@
 get_seccomp_path() {
 	local seccomp_arch="unknown"
 	case ${ARCH} in
-		amd64) seccomp_arch=x86_64;;
-		arm) seccomp_arch=arm;;
-		arm64) seccomp_arch=aarch64;;
+	amd64) seccomp_arch=x86_64 ;;
+	arm) seccomp_arch=arm ;;
+	arm64) seccomp_arch=aarch64 ;;
 	esac
 
 	echo "seccomp/${seccomp_arch}"
@@ -137,6 +143,7 @@
 }
 
 src_prepare() {
+	cros_optimize_package_for_speed
 	cros-rust_src_prepare
 
 	if use arcvm_gce_l1; then
@@ -163,30 +170,38 @@
 		$(usex crosvm-video-decoder video-decoder "")
 		$(usex crosvm-video-encoder video-encoder "")
 		$(usex crosvm-video-libvda libvda "")
+		$(usex crosvm-video-ffmpeg ffmpeg "")
 		$(usex crosvm-wl-dmabuf wl-dmabuf "")
 		$(usex tpm2 tpm "")
 		$(usex cros-debug gdb "")
 		chromeos
 		$(usex android-vm-master composite-disk "")
+		$(usex android-vm-tm composite-disk "")
 	)
 
 	local packages=(
 		qcow_utils
 		crosvm
+		crosvm_control
 	)
 
+	# Remove other versions of crosvm_control so the header installation
+	# only picks up the most recently built version.
+	# TODO(b/188858559) Remove this once the header is installed directly by cargo
+	rm -rf "$(cros-rust_get_build_dir)/build/crosvm_control-*" || die "failed to remove old crosvm_control packages"
+
 	for pkg in "${packages[@]}"; do
 		ecargo_build -v \
 			--features="${features[*]}" \
-			-p "${pkg}" \
-			|| die "cargo build failed"
+			-p "${pkg}" ||
+			die "cargo build failed"
 	done
 
-	if use crosvm-direct ; then
+	if use crosvm-direct; then
 		ecargo_build -v \
 			--no-default-features --features="direct" \
-			-p "crosvm" --bin crosvm-direct \
-			|| die "cargo build failed"
+			-p "crosvm" --bin crosvm-direct ||
+			die "cargo build failed"
 	fi
 
 	if use fuzzer; then
@@ -203,46 +218,34 @@
 	local test_opts=(
 		# TODO(b/211023371): Re-enable libvda tests.
 		--exclude libvda
+		# Disable VAAPI testing as it would require us to depend on libva.
+		--exclude libva
 	)
-	use tpm2 || test_opts+=( --exclude tpm2 --exclude tpm2-sys )
+	use tpm2 || test_opts+=(--exclude tpm2 --exclude tpm2-sys)
+	use crosvm-video-ffmpeg || test_opts+=(--exclude ffmpeg)
 
 	# io_jail tests fork the process, which cause memory leak errors when
 	# run under sanitizers.
-	cros-rust_use_sanitizers && test_opts+=( --exclude io_jail )
-
-	# Pass kernel/rootfs prebuilts to integration tests.
-	# See crosvm/integration_tests/README.md for details.
-	local CROSVM_CARGO_TEST_PREBUILT_VERSION="${PREBUILT_VERSION}"
-	local kernel_binary="${DISTDIR}/${KERNEL_FILE}"
-	[[ -e "${kernel_binary}" ]] || die "expected to find kernel binary at ${kernel_binary}"
-	CROS_RUST_PLATFORM_TEST_ARGS+=(
-		"--env" "CROSVM_CARGO_TEST_KERNEL_BINARY=${kernel_binary}"
-	)
-
-	local rootfs_image="${DISTDIR}/${ROOTFS_FILE}"
-	[[ -e "${rootfs_image}" ]] || die "expected to find rootfs image at ${rootfs_image}"
-	CROS_RUST_PLATFORM_TEST_ARGS+=(
-		"--env" "CROSVM_CARGO_TEST_ROOTFS_IMAGE=${rootfs_image}"
-	)
+	cros-rust_use_sanitizers && test_opts+=(--exclude io_jail)
 
 	# kernel versions between 5.1 and 5.10 have io_uring bugs, skip the io_uring
 	# integration test on these platforms.  See b/189879899
 	local cut_version=$(ver_cut 1-2 "$(uname -r)")
 	if ver_test 5.10 -gt "${cut_version}"; then
-		test_opts+=( --exclude "io_uring" )
+		test_opts+=(--exclude "io_uring")
 	fi
 
 	if ! use x86 && ! use amd64; then
-		test_opts+=( --exclude "x86_64" )
-		test_opts+=( --no-run )
+		test_opts+=(--exclude "x86_64")
+		test_opts+=(--no-run)
 	fi
 
 	if ! use arm64; then
-		test_opts+=( --exclude "aarch64" )
+		test_opts+=(--exclude "aarch64")
 	fi
 
 	if ! use crosvm-plugin; then
-		test_opts+=( --exclude "crosvm_plugin" )
+		test_opts+=(--exclude "crosvm_plugin")
 	fi
 
 	# Excluding tests that run on a different arch, use /dev/kvm, /dev/dri,
@@ -272,18 +275,31 @@
 		# Skip tests in x86_64 that need KVM.
 		--skip "cpuid::tests::feature_and_vendor_name"
 		--skip "test_integration::simple_kvm"
+		--skip "test_integration::sys::unix::simple_kvm"
+		# Disabled since the test won't pass on builders with disabled
+		# cores. b/238787107
+		--skip "tsc::calibrate::tests"
 	)
 
+	# If syslog isn't available, skip the tests.
+	[[ -S /dev/log ]] || skip_tests+=(--skip "syslog")
+
+	if use crosvm-plugin; then
+		# crosvm_plugin is a cdylibs, so we need to use a profile
+		# that doesn't include panic=abort.
+		args+=(--profile release-test)
+	fi
+
 	ecargo_test "${args[@]}" \
 		-- --test-threads=1 \
-		"${skip_tests[@]}" \
-		|| die "cargo test failed"
+		"${skip_tests[@]}" ||
+		die "cargo test failed"
 
 	# Plugin tests all require /dev/kvm, but we want to make sure they build
 	# at least.
 	if use crosvm-plugin; then
-		ecargo_test --no-run --features plugin \
-			|| die "cargo build with plugin feature failed"
+		ecargo_test --no-run --features plugin --profile release-test ||
+			die "cargo build with plugin feature failed"
 	fi
 }
 
@@ -296,18 +312,18 @@
 
 	# Install seccomp policy files.
 	local seccomp_path="${S}/$(get_seccomp_path)"
-	if [[ -d "${seccomp_path}" ]] ; then
+	if [[ -d "${seccomp_path}" ]]; then
 		local policy
 		for policy in "${seccomp_path}"/*.policy; do
-			sed -i "s:/usr/share/policy/crosvm:${seccomp_path}:g" "${policy}" \
-				|| die "failed to modify seccomp policy ${policy}"
+			sed -i "s:/usr/share/policy/crosvm:${seccomp_path}:g" "${policy}" ||
+				die "failed to modify seccomp policy ${policy}"
 		done
 		for policy in "${seccomp_path}"/*.policy; do
 			local policy_output="${policy%.policy}.bpf"
 			compile_seccomp_policy \
 				--arch-json "${SYSROOT}/build/share/constants.json" \
-				--default-action trap "${policy}" "${policy_output}" \
-				|| die "failed to compile seccomp policy ${policy}"
+				--default-action trap "${policy}" "${policy_output}" ||
+				die "failed to compile seccomp policy ${policy}"
 		done
 		rm "${seccomp_path}"/common_device.bpf
 		insinto /usr/share/policy/crosvm
@@ -327,15 +343,23 @@
 	insinto "${include_dir}"
 	doins "${S}"/qcow_utils/src/qcow_utils.h
 
+	# Install crosvm_control header and library.
+	# Note: Old versions of the crosvm_control package are deleted at the
+	# beginning of the compile step, so this doins will only pick up the
+	# most recently built crosvm_control.h.
+	# TODO(b/188858559) Install the header directly from cargo using --out-dir once the feature is stable
+	doins "${build_dir}"/build/crosvm_control-*/out/crosvm_control.h
+	dolib.so "${build_dir}/deps/libcrosvm_control.so"
+
 	# Install plugin library, when requested.
-	if use crosvm-plugin ; then
+	if use crosvm-plugin; then
 		insinto "${include_dir}"
 		doins "${S}/crosvm_plugin/crosvm.h"
 		dolib.so "${build_dir}/deps/libcrosvm_plugin.so"
 	fi
 
 	# Install crosvm-direct, when requested.
-	if use crosvm-direct ; then
+	if use crosvm-direct; then
 		into /build/manatee
 		dobin "${build_dir}/crosvm-direct"
 	fi
diff --git a/chromeos-base/cryptohome-client/cryptohome-client-0.0.1-r1765.ebuild b/chromeos-base/cryptohome-client/cryptohome-client-0.0.1-r1765.ebuild
deleted file mode 100644
index 8dfe510..0000000
--- a/chromeos-base/cryptohome-client/cryptohome-client-0.0.1-r1765.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="1c6b26a6816e8735ba35b893e241e4e82dbced8f"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "964775e6e0db71595872056851302232fdba45da" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk cryptohome .gn"
-
-PLATFORM_SUBDIR="cryptohome/client"
-
-inherit cros-workon platform
-
-DESCRIPTION="Cryptohome D-Bus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/cryptohome"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-# D-Bus proxies generated by this client library depend on the code generator
-# itself (chromeos-dbus-bindings) and produce header files that rely on
-# libbrillo library, hence both dependencies.
-BDEPEND="
-	chromeos-base/chromeos-dbus-bindings
-"
-
-# r3700 because we moved the dbus headers for UserDataAuth from cryptohome into
-# cryptohome-client in that version.
-RDEPEND="
-	!<chromeos-base/cryptohome-0.0.1-r3700
-"
-
-src_install() {
-	# Install D-Bus client library.
-	platform_install_dbus_client_lib "user_data_auth"
-}
diff --git a/chromeos-base/cryptohome-client/cryptohome-client-0.0.1-r2064.ebuild b/chromeos-base/cryptohome-client/cryptohome-client-0.0.1-r2064.ebuild
new file mode 100644
index 0000000..1ca2a85
--- /dev/null
+++ b/chromeos-base/cryptohome-client/cryptohome-client-0.0.1-r2064.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "cae4613fb762e98fcafc23166e621aaa667b6729" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk cryptohome .gn"
+
+PLATFORM_SUBDIR="cryptohome/client"
+
+inherit cros-workon platform
+
+DESCRIPTION="Cryptohome D-Bus client library for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cryptohome"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+# D-Bus proxies generated by this client library depend on the code generator
+# itself (chromeos-dbus-bindings) and produce header files that rely on
+# libbrillo library, hence both dependencies.
+BDEPEND="
+	chromeos-base/chromeos-dbus-bindings
+"
+
+# r3700 because we moved the dbus headers for UserDataAuth from cryptohome into
+# cryptohome-client in that version.
+RDEPEND="
+	!<chromeos-base/cryptohome-0.0.1-r3700
+"
+
+src_install() {
+	# Install D-Bus client library.
+	platform_install_dbus_client_lib "user_data_auth"
+}
diff --git a/chromeos-base/cryptohome-client/cryptohome-client-9999.ebuild b/chromeos-base/cryptohome-client/cryptohome-client-9999.ebuild
index fd965e7..eca1ac0 100644
--- a/chromeos-base/cryptohome-client/cryptohome-client-9999.ebuild
+++ b/chromeos-base/cryptohome-client/cryptohome-client-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Cryptohome D-Bus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/cryptohome"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cryptohome"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/cryptohome-client/files/revision_bump b/chromeos-base/cryptohome-client/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/cryptohome-client/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/cryptohome-dev-utils/cryptohome-dev-utils-0.0.1-r1610.ebuild b/chromeos-base/cryptohome-dev-utils/cryptohome-dev-utils-0.0.1-r1610.ebuild
deleted file mode 100644
index 620d69d..0000000
--- a/chromeos-base/cryptohome-dev-utils/cryptohome-dev-utils-0.0.1-r1610.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="1c6b26a6816e8735ba35b893e241e4e82dbced8f"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "964775e6e0db71595872056851302232fdba45da" "fb2b8277318fb7e7eff84f5c7669a46bf60f19f5" "1454f5ebf6a159645127c22d8c4e382e8752569d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_INCREMENTAL_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk cryptohome libhwsec secure_erase_file .gn"
-
-PLATFORM_SUBDIR="cryptohome/dev-utils"
-
-inherit cros-workon platform
-
-DESCRIPTION="Cryptohome developer and testing utilities for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/cryptohome"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="tpm tpm_dynamic tpm2"
-
-REQUIRED_USE="
-	tpm_dynamic? ( tpm tpm2 )
-	!tpm_dynamic? ( ?? ( tpm tpm2 ) )
-"
-
-COMMON_DEPEND="
-	tpm? (
-		app-crypt/trousers:=
-	)
-	tpm2? (
-		chromeos-base/trunks:=
-	)
-	chromeos-base/attestation:=
-	chromeos-base/biod_proxy:=
-	chromeos-base/bootlockbox-client:=
-	chromeos-base/cbor:=
-	chromeos-base/chaps:=
-	chromeos-base/libhwsec:=
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/tpm_manager:=
-	chromeos-base/secure-erase-file:=
-	dev-libs/flatbuffers:=
-	dev-libs/glib:=
-	dev-libs/openssl:=
-	dev-libs/protobuf:=
-	sys-apps/keyutils:=
-	sys-fs/e2fsprogs:=
-	sys-fs/ecryptfs-utils:=
-"
-
-RDEPEND="${COMMON_DEPEND}"
-
-DEPEND="${COMMON_DEPEND}
-	chromeos-base/vboot_reference:=
-"
-
-src_install() {
-	platform_install
-}
diff --git a/chromeos-base/cryptohome-dev-utils/cryptohome-dev-utils-0.0.1-r1927.ebuild b/chromeos-base/cryptohome-dev-utils/cryptohome-dev-utils-0.0.1-r1927.ebuild
new file mode 100644
index 0000000..0d6fe27
--- /dev/null
+++ b/chromeos-base/cryptohome-dev-utils/cryptohome-dev-utils-0.0.1-r1927.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "cae4613fb762e98fcafc23166e621aaa667b6729" "2e036f417afe5d55dcbd138f7bfe2c98ab14403f" "8ca9c97a07408fdff5abf480fb1b2a15405b6bc0" "1454f5ebf6a159645127c22d8c4e382e8752569d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_INCREMENTAL_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk cryptohome libhwsec libhwsec-foundation secure_erase_file .gn"
+
+PLATFORM_SUBDIR="cryptohome/dev-utils"
+
+inherit cros-workon platform
+
+DESCRIPTION="Cryptohome developer and testing utilities for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cryptohome"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="tpm tpm_dynamic tpm2"
+
+REQUIRED_USE="
+	tpm_dynamic? ( tpm tpm2 )
+	!tpm_dynamic? ( ?? ( tpm tpm2 ) )
+"
+
+COMMON_DEPEND="
+	tpm? (
+		app-crypt/trousers:=
+	)
+	tpm2? (
+		chromeos-base/trunks:=
+	)
+	chromeos-base/attestation:=
+	chromeos-base/biod_proxy:=
+	chromeos-base/bootlockbox-client:=
+	chromeos-base/cbor:=
+	chromeos-base/chaps:=
+	chromeos-base/libhwsec:=
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/tpm_manager:=
+	chromeos-base/secure-erase-file:=
+	dev-libs/flatbuffers:=
+	dev-libs/glib:=
+	dev-libs/openssl:=
+	dev-libs/protobuf:=
+	sys-apps/keyutils:=
+	sys-fs/e2fsprogs:=
+	sys-fs/ecryptfs-utils:=
+"
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/vboot_reference:=
+"
+
+src_install() {
+	platform_install
+}
diff --git a/chromeos-base/cryptohome-dev-utils/cryptohome-dev-utils-9999.ebuild b/chromeos-base/cryptohome-dev-utils/cryptohome-dev-utils-9999.ebuild
index 1d4b23f..8e7c80f 100644
--- a/chromeos-base/cryptohome-dev-utils/cryptohome-dev-utils-9999.ebuild
+++ b/chromeos-base/cryptohome-dev-utils/cryptohome-dev-utils-9999.ebuild
@@ -8,14 +8,14 @@
 CROS_WORKON_DESTDIR="${S}/platform2"
 CROS_WORKON_INCREMENTAL_BUILD=1
 # TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk cryptohome libhwsec secure_erase_file .gn"
+CROS_WORKON_SUBTREE="common-mk cryptohome libhwsec libhwsec-foundation secure_erase_file .gn"
 
 PLATFORM_SUBDIR="cryptohome/dev-utils"
 
 inherit cros-workon platform
 
 DESCRIPTION="Cryptohome developer and testing utilities for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/cryptohome"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cryptohome"
 
 LICENSE="BSD-Google"
 SLOT="0/0"
diff --git a/chromeos-base/cryptohome-dev-utils/files/revision_bump b/chromeos-base/cryptohome-dev-utils/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/cryptohome-dev-utils/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/cryptohome/cryptohome-0.0.1-r4150.ebuild b/chromeos-base/cryptohome/cryptohome-0.0.1-r4150.ebuild
deleted file mode 100644
index b674741..0000000
--- a/chromeos-base/cryptohome/cryptohome-0.0.1-r4150.ebuild
+++ /dev/null
@@ -1,214 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="1c6b26a6816e8735ba35b893e241e4e82dbced8f"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "964775e6e0db71595872056851302232fdba45da" "fb2b8277318fb7e7eff84f5c7669a46bf60f19f5" "b1c7898d3f42051cbba6426c62b35476a8de5b72" "1454f5ebf6a159645127c22d8c4e382e8752569d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_INCREMENTAL_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk cryptohome libhwsec libhwsec-foundation secure_erase_file .gn"
-
-PLATFORM_NATIVE_TEST="yes"
-PLATFORM_SUBDIR="cryptohome"
-
-inherit tmpfiles cros-workon cros-unibuild platform systemd udev user
-
-DESCRIPTION="Encrypted home directories for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/cryptohome/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="-cert_provision +device_mapper -direncription_allow_v2 -direncryption
-	double_extend_pcr_issue +downloads_bind_mount fuzzer
-	generic_tpm2 kernel-5_15 kernel-5_10 kernel-5_4 kernel-upstream
-	lvm_stateful_partition mount_oop pinweaver selinux slow_mount systemd
-	test tpm tpm_dynamic tpm2 uprev-4-to-5 user_session_isolation
-	+vault_legacy_mount"
-
-REQUIRED_USE="
-	device_mapper
-	tpm_dynamic? ( tpm tpm2 )
-	!tpm_dynamic? ( ?? ( tpm tpm2 ) )
-"
-
-COMMON_DEPEND="
-	!chromeos-base/chromeos-cryptohome
-	tpm? (
-		app-crypt/trousers:=
-	)
-	fuzzer? (
-		app-crypt/trousers:=
-	)
-	tpm2? (
-		chromeos-base/trunks:=
-	)
-	selinux? (
-		sys-libs/libselinux:=
-	)
-	chromeos-base/attestation:=
-	chromeos-base/biod_proxy:=
-	chromeos-base/bootlockbox-client:=
-	chromeos-base/cbor:=
-	chromeos-base/chaps:=
-	chromeos-base/chromeos-config-tools:=
-	chromeos-base/libhwsec:=
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/secure-erase-file:=
-	chromeos-base/tpm_manager:=
-	>=dev-libs/flatbuffers-2.0.0-r1:=
-	dev-libs/openssl:=
-	dev-libs/protobuf:=
-	sys-apps/flashmap:=
-	sys-apps/keyutils:=
-	sys-apps/rootdev:=
-	sys-fs/e2fsprogs:=
-	sys-fs/ecryptfs-utils:=
-	sys-fs/lvm2:=
-"
-
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}
-	tpm2? ( chromeos-base/trunks:=[test?] )
-	chromeos-base/attestation-client:=
-	chromeos-base/cryptohome-client:=
-	chromeos-base/power_manager-client:=
-	chromeos-base/protofiles:=
-	chromeos-base/system_api:=[fuzzer?]
-	chromeos-base/tpm_manager-client:=
-	chromeos-base/vboot_reference:=
-	chromeos-base/libhwsec:=
-"
-
-src_install() {
-	pushd "${OUT}" || die
-	dosbin cryptohomed cryptohome cryptohome-path homedirs_initializer \
-		lockbox-cache tpm-manager
-	dosbin cryptohome-namespace-mounter
-	dosbin mount-encrypted
-	dosbin encrypted-reboot-vault
-	dosbin bootlockboxd bootlockboxtool
-	if use cert_provision; then
-		dolib.so lib/libcert_provision.so
-		dosbin cert_provision_client
-	fi
-	popd >/dev/null
-
-	insinto /etc/dbus-1/system.d
-	doins etc/org.chromium.UserDataAuth.conf
-	doins etc/BootLockbox.conf
-
-	if use direncription_allow_v2 && ( (use !kernel-5_4 && use !kernel-5_10 && use !kernel-5_15 && use !kernel-upstream) || use uprev-4-to-5); then
-		die "direncription_allow_v2 is enabled where it shouldn't be. Do you need to change the board overlay? Note, uprev boards should have it disabled!"
-	fi
-
-	if use !direncription_allow_v2 && (use kernel-5_4 || use kernel-5_10 || use kernel-5_15 || use kernel-upstream) && use !uprev-4-to-5; then
-		die "direncription_allow_v2 is not enabled where it should be. Do you need to change the board overlay? Note, uprev boards should have it disabled!"
-	fi
-
-	# Install init scripts
-	if use systemd; then
-		if use tpm2; then
-			sed 's/tcsd.service/attestationd.service/' \
-				init/cryptohomed.service \
-				> "${T}/cryptohomed.service"
-			systemd_dounit "${T}/cryptohomed.service"
-		else
-			systemd_dounit init/cryptohomed.service
-		fi
-		systemd_dounit init/mount-encrypted.service
-		systemd_dounit init/lockbox-cache.service
-		systemd_enable_service boot-services.target cryptohomed.service
-		systemd_enable_service system-services.target mount-encrypted.service
-		systemd_enable_service ui.target lockbox-cache.service
-	else
-		insinto /etc/init
-		doins bootlockbox/bootlockboxd.conf
-		doins init/cryptohomed-client.conf
-		doins init/cryptohomed.conf
-		doins init/init-homedirs.conf
-		doins init/mount-encrypted.conf
-		doins init/send-mount-encrypted-metrics.conf
-		if use tpm_dynamic; then
-			newins init/lockbox-cache.conf.tpm_dynamic lockbox-cache.conf
-		else
-			doins init/lockbox-cache.conf
-		fi
-
-		if use direncryption; then
-			sed -i '/env DIRENCRYPTION_FLAG=/s:=.*:="--direncryption":' \
-				"${D}/etc/init/cryptohomed.conf" ||
-				die "Can't replace direncryption flag in cryptohomed.conf"
-		fi
-		if use !vault_legacy_mount; then
-			sed -i '/env NO_LEGACY_MOUNT_FLAG=/s:=.*:="--nolegacymount":' \
-				"${D}/etc/init/cryptohomed.conf" ||
-				die "Can't replace nolegacymount flag in cryptohomed.conf"
-		fi
-		if use !downloads_bind_mount; then
-			sed -i '/env NO_DOWNLOAD_BINDMOUNT_FLAG=/s:=.*:="--no_downloads_bind_mount":' \
-				"${D}/etc/init/cryptohomed.conf" ||
-				die "Can't replace no_downloads_bind_mount flag in cryptohomed.conf"
-		fi
-		if use direncription_allow_v2; then
-			sed -i '/env FSCRYPT_V2_FLAG=/s:=.*:="--fscrypt_v2":' \
-				"${D}/etc/init/cryptohomed.conf" ||
-				die "Can't replace fscrypt_v2 flag in cryptohomed.conf"
-		fi
-	fi
-	exeinto /usr/share/cros/init
-	if use tpm_dynamic; then
-		newexe init/lockbox-cache.sh.tpm_dynamic lockbox-cache.sh
-	else
-		doexe init/lockbox-cache.sh
-	fi
-	if use cert_provision; then
-		insinto /usr/include/cryptohome
-		doins cert_provision.h
-	fi
-
-	# Install seccomp policy for bootlockboxd
-	insinto /usr/share/policy
-	newins "bootlockbox/seccomp/bootlockboxd-seccomp-${ARCH}.policy" \
-		bootlockboxd-seccomp.policy
-
-	dotmpfiles tmpfiles.d/cryptohome.conf
-
-	local fuzzer_component_id="886041"
-	platform_fuzzer_install "${S}"/OWNERS \
-		"${OUT}"/cryptohome_cryptolib_rsa_oaep_decrypt_fuzzer \
-		--comp "${fuzzer_component_id}" \
-		fuzzers/data/*
-
-	platform_fuzzer_install "${S}"/OWNERS \
-		"${OUT}"/cryptohome_cryptolib_blob_to_hex_fuzzer \
-		--comp "${fuzzer_component_id}"
-
-	platform_fuzzer_install "${S}"/OWNERS \
-		"${OUT}"/cryptohome_tpm1_cmk_migration_parser_fuzzer \
-		--comp "${fuzzer_component_id}" \
-		fuzzers/data/*
-
-	platform_fuzzer_install "${S}"/OWNERS \
-		"${OUT}"/cryptohome_user_secret_stash_parser_fuzzer \
-		--comp "${fuzzer_component_id}"
-}
-
-pkg_preinst() {
-	enewuser "bootlockboxd"
-	enewgroup "bootlockboxd"
-	enewuser "cryptohome"
-	enewgroup "cryptohome"
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/fake_platform_unittest"
-	platform_test "run" "${OUT}/cryptohome_testrunner"
-	platform_test "run" "${OUT}/mount_encrypted_unittests"
-	platform_test "run" "${OUT}/boot_lockbox_unittests"
-}
diff --git a/chromeos-base/cryptohome/cryptohome-0.0.1-r4470.ebuild b/chromeos-base/cryptohome/cryptohome-0.0.1-r4470.ebuild
new file mode 100644
index 0000000..67b85ca
--- /dev/null
+++ b/chromeos-base/cryptohome/cryptohome-0.0.1-r4470.ebuild
@@ -0,0 +1,226 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "cae4613fb762e98fcafc23166e621aaa667b6729" "2e036f417afe5d55dcbd138f7bfe2c98ab14403f" "8ca9c97a07408fdff5abf480fb1b2a15405b6bc0" "1454f5ebf6a159645127c22d8c4e382e8752569d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_INCREMENTAL_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk cryptohome libhwsec libhwsec-foundation secure_erase_file .gn"
+
+PLATFORM_NATIVE_TEST="yes"
+PLATFORM_SUBDIR="cryptohome"
+
+inherit tmpfiles cros-workon cros-unibuild platform systemd udev user
+
+DESCRIPTION="Encrypted home directories for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cryptohome/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="-cert_provision +device_mapper -direncription_allow_v2 -direncryption
+	double_extend_pcr_issue +downloads_bind_mount fuzzer
+	generic_tpm2 kernel-5_15 kernel-5_10 kernel-5_4 kernel-upstream
+	lvm_stateful_partition mount_oop pinweaver selinux slow_mount systemd
+	test tpm tpm_dynamic tpm_insecure_fallback tpm2 tpm2_simulator uprev-4-to-5
+	user_session_isolation uss_migration +vault_legacy_mount vtpm_proxy"
+
+REQUIRED_USE="
+	device_mapper
+	tpm_dynamic? ( tpm tpm2 )
+	!tpm_dynamic? ( ?? ( tpm tpm2 ) )
+"
+
+COMMON_DEPEND="
+	!chromeos-base/chromeos-cryptohome
+	tpm? (
+		app-crypt/trousers:=
+	)
+	fuzzer? (
+		app-crypt/trousers:=
+	)
+	tpm2? (
+		chromeos-base/trunks:=
+	)
+	selinux? (
+		sys-libs/libselinux:=
+		chromeos-base/selinux-policy:=
+	)
+	chromeos-base/attestation:=
+	chromeos-base/biod_proxy:=
+	chromeos-base/bootlockbox-client:=
+	chromeos-base/cbor:=
+	chromeos-base/chaps:=
+	chromeos-base/chromeos-config-tools:=
+	chromeos-base/libhwsec:=[test?]
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/secure-erase-file:=
+	chromeos-base/tpm_manager:=
+	>=dev-libs/flatbuffers-2.0.0-r1:=
+	dev-libs/openssl:=
+	dev-libs/protobuf:=
+	sys-apps/flashmap:=
+	sys-apps/keyutils:=
+	sys-apps/rootdev:=
+	sys-fs/e2fsprogs:=
+	sys-fs/ecryptfs-utils:=
+	sys-fs/lvm2:=
+"
+
+RDEPEND="${COMMON_DEPEND}"
+
+# TODO(b/230430190): Remove shill-client dependency after experiment ended.
+DEPEND="${COMMON_DEPEND}
+	test? (
+		app-shells/dash:=
+		chromeos-base/chromeos-base:=
+	)
+	tpm2? ( chromeos-base/trunks:=[test?] )
+	chromeos-base/attestation-client:=
+	chromeos-base/cryptohome-client:=
+	chromeos-base/power_manager-client:=
+	chromeos-base/protofiles:=
+	chromeos-base/shill-client:=
+	chromeos-base/system_api:=[fuzzer?]
+	chromeos-base/tpm_manager-client:=
+	chromeos-base/vboot_reference:=
+	chromeos-base/libhwsec:=
+"
+
+src_install() {
+	pushd "${OUT}" || die
+	dosbin cryptohomed cryptohome cryptohome-path homedirs_initializer \
+		lockbox-cache tpm-manager stateful-recovery
+	dosbin cryptohome-namespace-mounter
+	dosbin mount-encrypted
+	dosbin encrypted-reboot-vault
+	dosbin bootlockboxd bootlockboxtool
+	if use cert_provision; then
+		dolib.so lib/libcert_provision.so
+		dosbin cert_provision_client
+	fi
+	popd >/dev/null || die
+
+	insinto /etc/dbus-1/system.d
+	doins etc/org.chromium.UserDataAuth.conf
+	doins etc/BootLockbox.conf
+
+	if use direncription_allow_v2 && ( (use !kernel-5_4 && use !kernel-5_10 && use !kernel-5_15 && use !kernel-upstream) || use uprev-4-to-5); then
+		die "direncription_allow_v2 is enabled where it shouldn't be. Do you need to change the board overlay? Note, uprev boards should have it disabled!"
+	fi
+
+	if use !direncription_allow_v2 && (use kernel-5_4 || use kernel-5_10 || use kernel-5_15 || use kernel-upstream) && use !uprev-4-to-5; then
+		die "direncription_allow_v2 is not enabled where it should be. Do you need to change the board overlay? Note, uprev boards should have it disabled!"
+	fi
+
+	# Install init scripts
+	if use systemd; then
+		if use tpm2; then
+			sed 's/tcsd.service/attestationd.service/' \
+				init/cryptohomed.service \
+				> "${T}/cryptohomed.service"
+			systemd_dounit "${T}/cryptohomed.service"
+		else
+			systemd_dounit init/cryptohomed.service
+		fi
+		systemd_dounit init/mount-encrypted.service
+		systemd_dounit init/lockbox-cache.service
+		systemd_enable_service boot-services.target cryptohomed.service
+		systemd_enable_service system-services.target mount-encrypted.service
+		systemd_enable_service ui.target lockbox-cache.service
+	else
+		insinto /etc/init
+		doins bootlockbox/bootlockboxd.conf
+		doins init/cryptohomed-client.conf
+		doins init/cryptohomed.conf
+		doins init/init-homedirs.conf
+		doins init/mount-encrypted.conf
+		doins init/send-mount-encrypted-metrics.conf
+		if use tpm_dynamic; then
+			newins init/lockbox-cache.conf.tpm_dynamic lockbox-cache.conf
+		else
+			doins init/lockbox-cache.conf
+		fi
+
+		if use direncryption; then
+			sed -i '/env DIRENCRYPTION_FLAG=/s:=.*:="--direncryption":' \
+				"${D}/etc/init/cryptohomed.conf" ||
+				die "Can't replace direncryption flag in cryptohomed.conf"
+		fi
+		if use !vault_legacy_mount; then
+			sed -i '/env NO_LEGACY_MOUNT_FLAG=/s:=.*:="--nolegacymount":' \
+				"${D}/etc/init/cryptohomed.conf" ||
+				die "Can't replace nolegacymount flag in cryptohomed.conf"
+		fi
+		if use !downloads_bind_mount; then
+			sed -i '/env NO_DOWNLOAD_BINDMOUNT_FLAG=/s:=.*:="--no_downloads_bind_mount":' \
+				"${D}/etc/init/cryptohomed.conf" ||
+				die "Can't replace no_downloads_bind_mount flag in cryptohomed.conf"
+		fi
+		if use direncription_allow_v2; then
+			sed -i '/env FSCRYPT_V2_FLAG=/s:=.*:="--fscrypt_v2":' \
+				"${D}/etc/init/cryptohomed.conf" ||
+				die "Can't replace fscrypt_v2 flag in cryptohomed.conf"
+		fi
+	fi
+	exeinto /usr/share/cros/init
+	if use tpm_dynamic; then
+		newexe init/lockbox-cache.sh.tpm_dynamic lockbox-cache.sh
+	else
+		doexe init/lockbox-cache.sh
+	fi
+	if use cert_provision; then
+		insinto /usr/include/cryptohome
+		doins cert_provision.h
+	fi
+
+    # Install udev rules for cryptohome.
+	udev_dorules udev/50-dm-cryptohome.rules
+
+	# Install seccomp policy for bootlockboxd
+	insinto /usr/share/policy
+	newins "bootlockbox/seccomp/bootlockboxd-seccomp-${ARCH}.policy" \
+		bootlockboxd-seccomp.policy
+
+	dotmpfiles tmpfiles.d/cryptohome.conf
+
+	local fuzzer_component_id="1188704"
+	platform_fuzzer_install "${S}"/OWNERS \
+		"${OUT}"/cryptohome_cryptolib_rsa_oaep_decrypt_fuzzer \
+		--comp "${fuzzer_component_id}" \
+		fuzzers/data/*
+
+	platform_fuzzer_install "${S}"/OWNERS \
+		"${OUT}"/cryptohome_cryptolib_blob_to_hex_fuzzer \
+		--comp "${fuzzer_component_id}"
+
+	platform_fuzzer_install "${S}"/OWNERS \
+		"${OUT}"/cryptohome_tpm1_cmk_migration_parser_fuzzer \
+		--comp "${fuzzer_component_id}" \
+		fuzzers/data/*
+
+	platform_fuzzer_install "${S}"/OWNERS \
+		"${OUT}"/cryptohome_user_secret_stash_parser_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
+
+pkg_preinst() {
+	enewuser "bootlockboxd"
+	enewgroup "bootlockboxd"
+	enewuser "cryptohome"
+	enewgroup "cryptohome"
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/boot_lockbox_unittests"
+	platform_test "run" "${OUT}/cryptohome_testrunner"
+	platform_test "run" "${OUT}/fake_platform_unittest"
+	platform_test "run" "${OUT}/mount_encrypted_unittests"
+	platform_test "run" "${OUT}/stateful_recovery_unittests"
+}
diff --git a/chromeos-base/cryptohome/cryptohome-9999.ebuild b/chromeos-base/cryptohome/cryptohome-9999.ebuild
index e23572f..f5e752b 100644
--- a/chromeos-base/cryptohome/cryptohome-9999.ebuild
+++ b/chromeos-base/cryptohome/cryptohome-9999.ebuild
@@ -16,7 +16,7 @@
 inherit tmpfiles cros-workon cros-unibuild platform systemd udev user
 
 DESCRIPTION="Encrypted home directories for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/cryptohome/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cryptohome/"
 SRC_URI=""
 
 LICENSE="BSD-Google"
@@ -26,8 +26,8 @@
 	double_extend_pcr_issue +downloads_bind_mount fuzzer
 	generic_tpm2 kernel-5_15 kernel-5_10 kernel-5_4 kernel-upstream
 	lvm_stateful_partition mount_oop pinweaver selinux slow_mount systemd
-	test tpm tpm_dynamic tpm2 uprev-4-to-5 user_session_isolation
-	+vault_legacy_mount"
+	test tpm tpm_dynamic tpm_insecure_fallback tpm2 tpm2_simulator uprev-4-to-5
+	user_session_isolation uss_migration +vault_legacy_mount vtpm_proxy"
 
 REQUIRED_USE="
 	device_mapper
@@ -48,6 +48,7 @@
 	)
 	selinux? (
 		sys-libs/libselinux:=
+		chromeos-base/selinux-policy:=
 	)
 	chromeos-base/attestation:=
 	chromeos-base/biod_proxy:=
@@ -55,7 +56,7 @@
 	chromeos-base/cbor:=
 	chromeos-base/chaps:=
 	chromeos-base/chromeos-config-tools:=
-	chromeos-base/libhwsec:=
+	chromeos-base/libhwsec:=[test?]
 	>=chromeos-base/metrics-0.0.1-r3152:=
 	chromeos-base/secure-erase-file:=
 	chromeos-base/tpm_manager:=
@@ -71,12 +72,19 @@
 "
 
 RDEPEND="${COMMON_DEPEND}"
+
+# TODO(b/230430190): Remove shill-client dependency after experiment ended.
 DEPEND="${COMMON_DEPEND}
+	test? (
+		app-shells/dash:=
+		chromeos-base/chromeos-base:=
+	)
 	tpm2? ( chromeos-base/trunks:=[test?] )
 	chromeos-base/attestation-client:=
 	chromeos-base/cryptohome-client:=
 	chromeos-base/power_manager-client:=
 	chromeos-base/protofiles:=
+	chromeos-base/shill-client:=
 	chromeos-base/system_api:=[fuzzer?]
 	chromeos-base/tpm_manager-client:=
 	chromeos-base/vboot_reference:=
@@ -86,7 +94,7 @@
 src_install() {
 	pushd "${OUT}" || die
 	dosbin cryptohomed cryptohome cryptohome-path homedirs_initializer \
-		lockbox-cache tpm-manager
+		lockbox-cache tpm-manager stateful-recovery
 	dosbin cryptohome-namespace-mounter
 	dosbin mount-encrypted
 	dosbin encrypted-reboot-vault
@@ -95,7 +103,7 @@
 		dolib.so lib/libcert_provision.so
 		dosbin cert_provision_client
 	fi
-	popd >/dev/null
+	popd >/dev/null || die
 
 	insinto /etc/dbus-1/system.d
 	doins etc/org.chromium.UserDataAuth.conf
@@ -170,6 +178,9 @@
 		doins cert_provision.h
 	fi
 
+    # Install udev rules for cryptohome.
+	udev_dorules udev/50-dm-cryptohome.rules
+
 	# Install seccomp policy for bootlockboxd
 	insinto /usr/share/policy
 	newins "bootlockbox/seccomp/bootlockboxd-seccomp-${ARCH}.policy" \
@@ -177,7 +188,7 @@
 
 	dotmpfiles tmpfiles.d/cryptohome.conf
 
-	local fuzzer_component_id="886041"
+	local fuzzer_component_id="1188704"
 	platform_fuzzer_install "${S}"/OWNERS \
 		"${OUT}"/cryptohome_cryptolib_rsa_oaep_decrypt_fuzzer \
 		--comp "${fuzzer_component_id}" \
@@ -205,8 +216,9 @@
 }
 
 platform_pkg_test() {
-	platform_test "run" "${OUT}/fake_platform_unittest"
-	platform_test "run" "${OUT}/cryptohome_testrunner"
-	platform_test "run" "${OUT}/mount_encrypted_unittests"
 	platform_test "run" "${OUT}/boot_lockbox_unittests"
+	platform_test "run" "${OUT}/cryptohome_testrunner"
+	platform_test "run" "${OUT}/fake_platform_unittest"
+	platform_test "run" "${OUT}/mount_encrypted_unittests"
+	platform_test "run" "${OUT}/stateful_recovery_unittests"
 }
diff --git a/chromeos-base/cryptohome/files/revision_bump b/chromeos-base/cryptohome/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/cryptohome/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/debugd-client/debugd-client-0.0.1-r2168.ebuild b/chromeos-base/debugd-client/debugd-client-0.0.1-r2168.ebuild
deleted file mode 100644
index 59a314e..0000000
--- a/chromeos-base/debugd-client/debugd-client-0.0.1-r2168.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="d24ade58dab8ad0320dc4c61ffa759e11ec287c8"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "5c7b1787b7d1d6d95fa789fdf2e0b7f1a9dcc46b" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk debugd .gn"
-
-PLATFORM_NATIVE_TEST="yes"
-PLATFORM_SUBDIR="debugd/client"
-
-inherit cros-workon platform
-
-DESCRIPTION="Chrome OS debugd client library"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/debugd/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="cros_host"
-
-# D-Bus proxies generated by this client library depend on the code generator
-# itself (chromeos-dbus-bindings) and produce header files that rely on
-# libbrillo library, hence both dependencies. We require the particular
-# revision because libbrillo-0.0.1-r1 changed location of header files from
-# chromeos/ to brillo/ and chromeos-dbus-bindings-0.0.1-r1058 generates the
-# code using the new location.
-BDEPEND="
-	chromeos-base/chromeos-dbus-bindings
-"
-
-src_install() {
-  # Install DBus client library.
-  platform_install_dbus_client_lib "debugd"
-}
diff --git a/chromeos-base/debugd-client/debugd-client-0.0.1-r2283.ebuild b/chromeos-base/debugd-client/debugd-client-0.0.1-r2283.ebuild
new file mode 100644
index 0000000..85b3aa3
--- /dev/null
+++ b/chromeos-base/debugd-client/debugd-client-0.0.1-r2283.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="c43f07a38fe2055c10c95b0a6aeebdfbe73e2e38"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "9a6a63bdae61e619e74357a4cd21ab4674791490" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk debugd .gn"
+
+PLATFORM_SUBDIR="debugd/client"
+
+inherit cros-workon platform
+
+DESCRIPTION="Chrome OS debugd client library"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/debugd/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+# D-Bus proxies generated by this client library depend on the code generator
+# itself (chromeos-dbus-bindings) and produce header files that rely on
+# libbrillo library, hence both dependencies. We require the particular
+# revision because libbrillo-0.0.1-r1 changed location of header files from
+# chromeos/ to brillo/ and chromeos-dbus-bindings-0.0.1-r1058 generates the
+# code using the new location.
+BDEPEND="
+	chromeos-base/chromeos-dbus-bindings
+"
+
+src_install() {
+	platform_install
+	# Install DBus client library.
+	platform_install_dbus_client_lib "debugd"
+}
diff --git a/chromeos-base/debugd-client/debugd-client-9999.ebuild b/chromeos-base/debugd-client/debugd-client-9999.ebuild
index 492f4cc..be4ae0a 100644
--- a/chromeos-base/debugd-client/debugd-client-9999.ebuild
+++ b/chromeos-base/debugd-client/debugd-client-9999.ebuild
@@ -9,18 +9,16 @@
 CROS_WORKON_OUTOFTREE_BUILD=1
 CROS_WORKON_SUBTREE="common-mk debugd .gn"
 
-PLATFORM_NATIVE_TEST="yes"
 PLATFORM_SUBDIR="debugd/client"
 
 inherit cros-workon platform
 
 DESCRIPTION="Chrome OS debugd client library"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/debugd/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/debugd/"
 SRC_URI=""
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
-IUSE="cros_host"
 
 # D-Bus proxies generated by this client library depend on the code generator
 # itself (chromeos-dbus-bindings) and produce header files that rely on
@@ -33,6 +31,7 @@
 "
 
 src_install() {
-  # Install DBus client library.
-  platform_install_dbus_client_lib "debugd"
+	platform_install
+	# Install DBus client library.
+	platform_install_dbus_client_lib "debugd"
 }
diff --git a/chromeos-base/debugd-client/files/revision_bump b/chromeos-base/debugd-client/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/debugd-client/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/debugd/debugd-0.0.1-r3198.ebuild b/chromeos-base/debugd/debugd-0.0.1-r3198.ebuild
deleted file mode 100644
index 3d61f96..0000000
--- a/chromeos-base/debugd/debugd-0.0.1-r3198.ebuild
+++ /dev/null
@@ -1,140 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="d24ade58dab8ad0320dc4c61ffa759e11ec287c8"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "5c7b1787b7d1d6d95fa789fdf2e0b7f1a9dcc46b" "4a0dedab080195bdc122d2289118df4af3ddca2c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk debugd metrics .gn"
-
-PLATFORM_SUBDIR="debugd"
-
-inherit cros-workon platform tmpfiles user
-
-DESCRIPTION="Chrome OS debugging service"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/debugd/"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="arcvm cellular iwlwifi_dump nvme sata tpm"
-
-COMMON_DEPEND="
-	chromeos-base/chromeos-login:=
-	chromeos-base/cryptohome-client:=
-	chromeos-base/minijail:=
-	chromeos-base/metrics:=
-	chromeos-base/shill-client:=
-	chromeos-base/vboot_reference:=
-	dev-libs/protobuf:=
-	dev-libs/re2:=
-	net-libs/libpcap:=
-	net-wireless/iw:=
-	sys-apps/rootdev:=
-	sys-libs/libcap:=
-	sata? ( sys-apps/smartmontools:= )
-"
-RDEPEND="${COMMON_DEPEND}
-	iwlwifi_dump? ( chromeos-base/intel-wifi-fw-dump )
-	nvme? ( sys-apps/nvme-cli )
-	chromeos-base/chromeos-ssh-testkeys
-	chromeos-base/chromeos-sshd-init
-	!chromeos-base/workarounds
-	sys-apps/iproute2
-	sys-apps/memtester
-"
-DEPEND="${COMMON_DEPEND}
-	chromeos-base/debugd-client:=
-	chromeos-base/system_api:=
-	sys-apps/dbus:="
-
-pkg_setup() {
-	# Has to be done in pkg_setup() instead of pkg_preinst() since
-	# src_install() needs debugd.
-	enewuser "debugd"
-	enewgroup "debugd"
-
-	cros-workon_pkg_setup
-}
-
-pkg_preinst() {
-	enewuser "debugd-logs"
-	enewgroup "debugd-logs"
-
-	enewgroup "daemon-store"
-	enewgroup "logs-access"
-}
-
-src_install() {
-	dobin "${OUT}"/generate_logs
-
-	into /
-	dosbin "${OUT}"/debugd
-
-	exeinto /usr/libexec/debugd/helpers
-	doexe "${OUT}"/audit_log_filter
-	doexe "${OUT}"/capture_packets
-	doexe "${OUT}"/cups_uri_helper
-	doexe "${OUT}"/dev_features_chrome_remote_debugging
-	doexe "${OUT}"/dev_features_password
-	doexe "${OUT}"/dev_features_rootfs_verification
-	doexe "${OUT}"/dev_features_ssh
-	doexe "${OUT}"/dev_features_usb_boot
-	doexe "${OUT}"/folder_size_dump
-	doexe "${OUT}"/icmp
-	doexe "${OUT}"/netif
-	doexe "${OUT}"/network_status
-	doexe "${OUT}"/typec_connector_class_helper
-	doexe "${OUT}"/usb4_devinfo_helper
-	doexe "${OUT}"/bt_usb_disconnect_helper
-
-	doexe src/helpers/{capture_utility,minijail-setuid-hack,systrace}.sh
-
-	local debugd_seccomp_dir="src/helpers/seccomp"
-
-	# Install scheduler configuration helper and seccomp policy.
-	if use amd64 ; then
-		exeinto /usr/libexec/debugd/helpers
-		doexe "${OUT}"/scheduler_configuration_helper
-	fi
-
-	# Install seccomp policies.
-	insinto /usr/share/policy
-	local policy
-	for policy in "${debugd_seccomp_dir}"/*-${ARCH}.policy; do
-		local policy_basename="${policy##*/}"
-		local policy_name="${policy_basename/-${ARCH}}"
-		newins "${policy}" "${policy_name}"
-	done
-
-
-	# Install DBus configuration.
-	insinto /etc/dbus-1/system.d
-	doins share/org.chromium.debugd.conf
-
-	insinto /etc/init
-	doins share/{debugd,trace_marker-test}.conf share/kernel-features.json
-
-	insinto /etc/perf_commands
-	doins -r share/perf_commands/*
-
-	dotmpfiles tmpfiles.d/*.conf
-
-	local daemon_store="/etc/daemon-store/debugd"
-	dodir "${daemon_store}"
-	fperms 0660 "${daemon_store}"
-	fowners debugd:debugd "${daemon_store}"
-
-	local fuzzer_component_id="960619"
-	platform_fuzzer_install "${S}"/OWNERS \
-			"${OUT}"/debugd_cups_uri_helper_utils_fuzzer \
-			--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	pushd "${S}/src" >/dev/null
-	platform_test "run" "${OUT}/debugd_testrunner"
-	./helpers/capture_utility_test.sh || die
-	popd >/dev/null
-}
diff --git a/chromeos-base/debugd/debugd-0.0.1-r3350.ebuild b/chromeos-base/debugd/debugd-0.0.1-r3350.ebuild
new file mode 100644
index 0000000..c7ff084
--- /dev/null
+++ b/chromeos-base/debugd/debugd-0.0.1-r3350.ebuild
@@ -0,0 +1,145 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="c43f07a38fe2055c10c95b0a6aeebdfbe73e2e38"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "9a6a63bdae61e619e74357a4cd21ab4674791490" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk debugd metrics .gn"
+
+PLATFORM_SUBDIR="debugd"
+
+inherit cros-workon platform tmpfiles user
+
+DESCRIPTION="Chrome OS debugging service"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/debugd/"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="arcvm cellular iwlwifi_dump nvme sata tpm ufs"
+
+COMMON_DEPEND="
+	chromeos-base/chromeos-login:=
+	chromeos-base/cryptohome-client:=
+	chromeos-base/minijail:=
+	chromeos-base/metrics:=
+	chromeos-base/shill-client:=
+	chromeos-base/vboot_reference:=
+	dev-libs/protobuf:=
+	dev-libs/re2:=
+	net-libs/libpcap:=
+	net-wireless/iw:=
+	sys-apps/rootdev:=
+	sys-libs/libcap:=
+	sata? ( sys-apps/smartmontools:= )
+"
+RDEPEND="${COMMON_DEPEND}
+	iwlwifi_dump? ( chromeos-base/intel-wifi-fw-dump )
+	nvme? ( sys-apps/nvme-cli )
+	ufs? (
+		sys-apps/sg3_utils
+		sys-apps/ufs-utils
+	)
+	chromeos-base/chromeos-ssh-testkeys
+	chromeos-base/chromeos-sshd-init
+	!chromeos-base/workarounds
+	sys-apps/iproute2
+	sys-apps/memtester
+"
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/debugd-client:=
+	chromeos-base/system_api:=
+	sys-apps/dbus:="
+
+pkg_setup() {
+	# Has to be done in pkg_setup() instead of pkg_preinst() since
+	# src_install() needs debugd.
+	enewuser "debugd"
+	enewgroup "debugd"
+
+	cros-workon_pkg_setup
+}
+
+pkg_preinst() {
+	enewuser "debugd-logs"
+	enewgroup "debugd-logs"
+
+	enewgroup "daemon-store"
+	enewgroup "logs-access"
+}
+
+src_install() {
+	dobin "${OUT}"/generate_logs
+
+	into /
+	dosbin "${OUT}"/debugd
+
+	exeinto /usr/libexec/debugd/helpers
+	doexe "${OUT}"/audit_log_filter
+	doexe "${OUT}"/capture_packets
+	doexe "${OUT}"/cups_uri_helper
+	doexe "${OUT}"/dev_features_chrome_remote_debugging
+	doexe "${OUT}"/dev_features_password
+	doexe "${OUT}"/dev_features_rootfs_verification
+	doexe "${OUT}"/dev_features_ssh
+	doexe "${OUT}"/dev_features_usb_boot
+	doexe "${OUT}"/folder_size_dump
+	doexe "${OUT}"/icmp
+	doexe "${OUT}"/modetest_helper
+	doexe "${OUT}"/netif
+	doexe "${OUT}"/network_status
+	doexe "${OUT}"/typec_connector_class_helper
+	doexe "${OUT}"/usb4_devinfo_helper
+	doexe "${OUT}"/bt_usb_disconnect_helper
+
+	doexe src/helpers/{capture_utility,minijail-setuid-hack,systrace}.sh
+
+	local debugd_seccomp_dir="src/helpers/seccomp"
+
+	# Install scheduler configuration helper and seccomp policy.
+	if use amd64 ; then
+		exeinto /usr/libexec/debugd/helpers
+		doexe "${OUT}"/scheduler_configuration_helper
+	fi
+
+	# Install seccomp policies.
+	insinto /usr/share/policy
+	local policy
+	for policy in "${debugd_seccomp_dir}"/*-"${ARCH}".policy; do
+		local policy_basename="${policy##*/}"
+		local policy_name="${policy_basename/-${ARCH}}"
+		newins "${policy}" "${policy_name}"
+	done
+
+
+	# Install DBus configuration.
+	insinto /etc/dbus-1/system.d
+	doins share/org.chromium.debugd.conf
+
+	insinto /etc/init
+	doins share/debugd.conf share/kernel-features.json
+
+	insinto /etc/perf_commands
+	doins -r share/perf_commands/*
+
+	dotmpfiles tmpfiles.d/*.conf
+
+	local daemon_store="/etc/daemon-store/debugd"
+	dodir "${daemon_store}"
+	fperms 0660 "${daemon_store}"
+	fowners debugd:debugd "${daemon_store}"
+
+	local fuzzer_component_id="960619"
+	platform_fuzzer_install "${S}"/OWNERS \
+			"${OUT}"/debugd_cups_uri_helper_utils_fuzzer \
+			--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	pushd "${S}/src" >/dev/null || die
+	platform_test "run" "${OUT}/debugd_testrunner"
+	./helpers/capture_utility_test.sh || die
+	popd >/dev/null || die
+}
diff --git a/chromeos-base/debugd/debugd-9999.ebuild b/chromeos-base/debugd/debugd-9999.ebuild
index c5f4961..ff07597 100644
--- a/chromeos-base/debugd/debugd-9999.ebuild
+++ b/chromeos-base/debugd/debugd-9999.ebuild
@@ -13,10 +13,10 @@
 inherit cros-workon platform tmpfiles user
 
 DESCRIPTION="Chrome OS debugging service"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/debugd/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/debugd/"
 LICENSE="BSD-Google"
 KEYWORDS="~*"
-IUSE="arcvm cellular iwlwifi_dump nvme sata tpm"
+IUSE="arcvm cellular iwlwifi_dump nvme sata tpm ufs"
 
 COMMON_DEPEND="
 	chromeos-base/chromeos-login:=
@@ -36,6 +36,10 @@
 RDEPEND="${COMMON_DEPEND}
 	iwlwifi_dump? ( chromeos-base/intel-wifi-fw-dump )
 	nvme? ( sys-apps/nvme-cli )
+	ufs? (
+		sys-apps/sg3_utils
+		sys-apps/ufs-utils
+	)
 	chromeos-base/chromeos-ssh-testkeys
 	chromeos-base/chromeos-sshd-init
 	!chromeos-base/workarounds
@@ -81,6 +85,7 @@
 	doexe "${OUT}"/dev_features_usb_boot
 	doexe "${OUT}"/folder_size_dump
 	doexe "${OUT}"/icmp
+	doexe "${OUT}"/modetest_helper
 	doexe "${OUT}"/netif
 	doexe "${OUT}"/network_status
 	doexe "${OUT}"/typec_connector_class_helper
@@ -100,7 +105,7 @@
 	# Install seccomp policies.
 	insinto /usr/share/policy
 	local policy
-	for policy in "${debugd_seccomp_dir}"/*-${ARCH}.policy; do
+	for policy in "${debugd_seccomp_dir}"/*-"${ARCH}".policy; do
 		local policy_basename="${policy##*/}"
 		local policy_name="${policy_basename/-${ARCH}}"
 		newins "${policy}" "${policy_name}"
@@ -112,7 +117,7 @@
 	doins share/org.chromium.debugd.conf
 
 	insinto /etc/init
-	doins share/{debugd,trace_marker-test}.conf share/kernel-features.json
+	doins share/debugd.conf share/kernel-features.json
 
 	insinto /etc/perf_commands
 	doins -r share/perf_commands/*
@@ -131,8 +136,8 @@
 }
 
 platform_pkg_test() {
-	pushd "${S}/src" >/dev/null
+	pushd "${S}/src" >/dev/null || die
 	platform_test "run" "${OUT}/debugd_testrunner"
 	./helpers/capture_utility_test.sh || die
-	popd >/dev/null
+	popd >/dev/null || die
 }
diff --git a/chromeos-base/debugd/files/revision_bump b/chromeos-base/debugd/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/debugd/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/dev-install/dev-install-0.0.1-r1284.ebuild b/chromeos-base/dev-install/dev-install-0.0.1-r1284.ebuild
deleted file mode 100644
index 28b92e0..0000000
--- a/chromeos-base/dev-install/dev-install-0.0.1-r1284.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "5fa61fa3694f6c6a2bf3e6c16e733017e055daa7" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk dev-install .gn"
-
-PLATFORM_SUBDIR="dev-install"
-
-inherit cros-workon platform
-
-DESCRIPTION="Chromium OS Developer Packages installer"
-HOMEPAGE="http://dev.chromium.org/chromium-os/how-tos-and-troubleshooting/install-software-on-base-images"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND="chromeos-base/vboot_reference:="
-RDEPEND="${DEPEND}
-	app-arch/bzip2
-	app-arch/tar
-	net-misc/curl"
-
-fixup_make_defaults() {
-	local file=$1
-
-	sed -i \
-		-e "s/@IUSE_IMPLICIT@/${IUSE_IMPLICIT}/g" \
-		-e "s/@ARCH@/${ARCH}/g" \
-		-e "s/@ELIBC@/${ELIBC}/g" \
-		-e "s/@USERLAND@/${USERLAND}/g" \
-		-e "s/@KERNEL@/${KERNEL}/g" \
-		-e "s/@USE_EXPAND_IMPLICIT@/${USE_EXPAND_IMPLICIT}/g" \
-		${file} || die
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/dev_install_test"
-}
-
-src_install() {
-	dobin "${OUT}/dev_install"
-
-	cd "${S}/share" || die
-	insinto /usr/share/${PN}/portage/make.profile
-	doins make.defaults
-
-	fixup_make_defaults "${ED}"/usr/share/${PN}/portage/make.profile/make.defaults
-
-	insinto /etc/bash/bashrc.d/
-	newins bashrc ${PN}.sh
-
-	insinto /etc/env.d
-	doins 99devinstall
-	sed -i "s:@LIBDIR@:$(get_libdir):g" "${ED}"/etc/env.d/99devinstall
-}
-
-pkg_preinst() {
-	if [[ $(cros_target) == "target_image" ]]; then
-		# We don't want to install these files into the normal /build/
-		# dir because we need different settings at build time vs what
-		# we want at runtime in release images.  Thus, install the files
-		# into /usr/share but symlink them into /etc for the images.
-		dosym "/usr/share/${PN}/portage" /etc/portage
-
-		# The parent file content needs to be kept in sync with the
-		# dev_install code.
-		dodir /usr/local/etc/portage/make.profile
-		echo /etc/portage/make.profile \
-			>"${D}"/usr/local/etc/portage/make.profile/parent || die
-	fi
-}
diff --git a/chromeos-base/dev-install/dev-install-0.0.1-r1343.ebuild b/chromeos-base/dev-install/dev-install-0.0.1-r1343.ebuild
new file mode 100644
index 0000000..1d58f5f
--- /dev/null
+++ b/chromeos-base/dev-install/dev-install-0.0.1-r1343.ebuild
@@ -0,0 +1,80 @@
+# Copyright 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "42d7c5735687e4d0b875e7985955ca1da771f93f" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk dev-install .gn"
+
+PLATFORM_SUBDIR="dev-install"
+
+inherit cros-workon platform
+
+DESCRIPTION="Chromium OS Developer Packages installer"
+HOMEPAGE="http://dev.chromium.org/chromium-os/how-tos-and-troubleshooting/install-software-on-base-images"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="chromeos-base/vboot_reference:="
+RDEPEND="${DEPEND}
+	app-arch/bzip2
+	app-arch/tar
+	net-misc/curl"
+
+fixup_make_defaults() {
+	local file=$1
+
+	sed -i \
+		-e "s/@IUSE_IMPLICIT@/${IUSE_IMPLICIT}/g" \
+		-e "s/@ARCH@/${ARCH}/g" \
+		-e "s/@ELIBC@/${ELIBC}/g" \
+		-e "s/@USERLAND@/${USERLAND}/g" \
+		-e "s/@KERNEL@/${KERNEL}/g" \
+		-e "s/@USE_EXPAND_IMPLICIT@/${USE_EXPAND_IMPLICIT}/g" \
+		${file} || die
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/dev_install_test"
+}
+
+src_install() {
+	dobin "${OUT}/dev_install"
+
+	cd "${S}/share" || die
+	insinto /usr/share/${PN}/portage/make.profile
+	doins make.defaults
+
+	fixup_make_defaults "${ED}"/usr/share/${PN}/portage/make.profile/make.defaults
+
+	insinto /etc/bash/bashrc.d/
+	newins bashrc ${PN}.sh
+
+	insinto /etc/env.d
+	doins 99devinstall
+	sed -i "s:@LIBDIR@:$(get_libdir):g" "${ED}"/etc/env.d/99devinstall
+}
+
+pkg_preinst() {
+	if [[ $(cros_target) == "target_image" ]]; then
+		# We don't want to install these files into the normal /build/
+		# dir because we need different settings at build time vs what
+		# we want at runtime in release images.  Thus, install the files
+		# into /usr/share but symlink them into /etc for the images.
+		dosym "/usr/share/${PN}/portage" /etc/portage
+
+		# The parent file content needs to be kept in sync with the
+		# dev_install code.
+		dodir /usr/local/etc/portage/make.profile
+		echo /etc/portage/make.profile \
+			>"${D}"/usr/local/etc/portage/make.profile/parent || die
+	fi
+}
diff --git a/chromeos-base/dev-install/files/revision_bump b/chromeos-base/dev-install/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/dev-install/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/devserver/devserver-0.0.3-r1236.ebuild b/chromeos-base/devserver/devserver-0.0.3-r1236.ebuild
deleted file mode 100644
index 50bb3d8..0000000
--- a/chromeos-base/devserver/devserver-0.0.3-r1236.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="b7463922626c7b358bcbea62cb229d571bc76201"
-CROS_WORKON_TREE="f1eaf98d7a24cd7142d4517c40faebc588a2c61f"
-CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
-CROS_WORKON_LOCALNAME="platform/dev"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-
-inherit cros-workon
-
-DESCRIPTION="Server to cache Chromium OS build artifacts from Google Storage."
-HOMEPAGE="http://dev.chromium.org/chromium-os/how-tos-and-troubleshooting/using-the-dev-server"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="
-	dev-lang/python
-	dev-python/protobuf-python
-	dev-python/cherrypy
-	net-misc/gsutil
-	!<chromeos-base/cros-devutils-1
-"
-DEPEND="
-	dev-python/psutil
-"
-
-src_install() {
-	emake install DESTDIR="${D}"
-}
-
-src_test() {
-	# Run the unit tests.
-	./run_unittests || die
-}
diff --git a/chromeos-base/devserver/devserver-0.0.3-r1432.ebuild b/chromeos-base/devserver/devserver-0.0.3-r1432.ebuild
new file mode 100644
index 0000000..3aba2a2
--- /dev/null
+++ b/chromeos-base/devserver/devserver-0.0.3-r1432.ebuild
@@ -0,0 +1,37 @@
+# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="a1298a3f48a90fb72cefbd674ebb0fcef18c214f"
+CROS_WORKON_TREE="3ebd1bcdfcefa8558aaa5c66da3bd9ccf4f50405"
+CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
+CROS_WORKON_LOCALNAME="platform/dev"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+
+inherit cros-workon
+
+DESCRIPTION="Server to cache Chromium OS build artifacts from Google Storage."
+HOMEPAGE="http://dev.chromium.org/chromium-os/how-tos-and-troubleshooting/using-the-dev-server"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="
+	dev-lang/python
+	dev-python/protobuf-python
+	dev-python/cherrypy
+	net-misc/gsutil
+	!<chromeos-base/cros-devutils-1
+"
+DEPEND="
+	dev-python/psutil
+"
+
+src_install() {
+	emake install DESTDIR="${D}"
+}
+
+src_test() {
+	# Run the unit tests.
+	./run_unittests || die
+}
diff --git a/chromeos-base/diagnostics-dpsl-test/OWNERS b/chromeos-base/diagnostics-dpsl-test/OWNERS
new file mode 100644
index 0000000..cf72a74
--- /dev/null
+++ b/chromeos-base/diagnostics-dpsl-test/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/diagnostics/OWNERS
diff --git a/chromeos-base/diagnostics-dpsl-test/diagnostics-dpsl-test-0.0.1-r1026.ebuild b/chromeos-base/diagnostics-dpsl-test/diagnostics-dpsl-test-0.0.1-r1026.ebuild
new file mode 100644
index 0000000..b8ba13c
--- /dev/null
+++ b/chromeos-base/diagnostics-dpsl-test/diagnostics-dpsl-test-0.0.1-r1026.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CROS_WORKON_COMMIT="71ddf055c1002feef322b5414a71d7c8aa368d57"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "ab5bf458d33d9fd75a653fd0b130cc21ef57744f" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="common-mk diagnostics .gn"
+
+PLATFORM_SUBDIR="diagnostics/dpsl"
+
+inherit cros-workon platform
+
+DESCRIPTION="Diagnostics DPSL test designed to be run inside VM"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/diagnostics/dpsl/"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="
+	chromeos-base/libbrillo:=
+"
+RDEPEND="
+	net-libs/grpc:=
+	dev-libs/protobuf:=
+"
+
+src_install() {
+	dobin "${OUT}/diagnostics_dpsl_test_listener"
+	dobin "${OUT}/diagnostics_dpsl_test_requester"
+}
+
+platform_pkg_test() {
+	local tests=(
+		libdpsl_test
+	)
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+}
diff --git a/chromeos-base/diagnostics-dpsl-test/diagnostics-dpsl-test-0.0.1-r857.ebuild b/chromeos-base/diagnostics-dpsl-test/diagnostics-dpsl-test-0.0.1-r857.ebuild
deleted file mode 100644
index 1da9f52..0000000
--- a/chromeos-base/diagnostics-dpsl-test/diagnostics-dpsl-test-0.0.1-r857.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "9e66382b03347c75c26c85bc14db150d365a0be6" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_SUBTREE="common-mk diagnostics .gn"
-
-PLATFORM_SUBDIR="diagnostics/dpsl"
-
-inherit cros-workon platform
-
-DESCRIPTION="Diagnostics DPSL test designed to be run inside VM"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/diagnostics/dpsl/"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND="
-	chromeos-base/libbrillo:=
-"
-RDEPEND="
-	net-libs/grpc:=
-	dev-libs/protobuf:=
-"
-
-src_install() {
-	dobin "${OUT}/diagnostics_dpsl_test_listener"
-	dobin "${OUT}/diagnostics_dpsl_test_requester"
-}
-
-platform_pkg_test() {
-	local tests=(
-		libdpsl_test
-	)
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-}
diff --git a/chromeos-base/diagnostics-dpsl-test/diagnostics-dpsl-test-9999.ebuild b/chromeos-base/diagnostics-dpsl-test/diagnostics-dpsl-test-9999.ebuild
index 5b36ce7..849c328 100644
--- a/chromeos-base/diagnostics-dpsl-test/diagnostics-dpsl-test-9999.ebuild
+++ b/chromeos-base/diagnostics-dpsl-test/diagnostics-dpsl-test-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Diagnostics DPSL test designed to be run inside VM"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/diagnostics/dpsl/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/diagnostics/dpsl/"
 
 LICENSE="BSD-Google"
 SLOT="0"
diff --git a/chromeos-base/diagnostics-dpsl-test/files/revision_bump b/chromeos-base/diagnostics-dpsl-test/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/diagnostics-dpsl-test/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/diagnostics-test/OWNERS b/chromeos-base/diagnostics-test/OWNERS
new file mode 100644
index 0000000..cf72a74
--- /dev/null
+++ b/chromeos-base/diagnostics-test/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/diagnostics/OWNERS
diff --git a/chromeos-base/diagnostics-test/diagnostics-test-0.0.1-r150.ebuild b/chromeos-base/diagnostics-test/diagnostics-test-0.0.1-r150.ebuild
new file mode 100644
index 0000000..fe9b208
--- /dev/null
+++ b/chromeos-base/diagnostics-test/diagnostics-test-0.0.1-r150.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="71ddf055c1002feef322b5414a71d7c8aa368d57"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "ab5bf458d33d9fd75a653fd0b130cc21ef57744f" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk diagnostics .gn"
+PLATFORM_SUBDIR="diagnostics/testing"
+
+inherit cros-workon platform
+
+DESCRIPTION="Test utility for cros-healthd"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/diagnostics"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="
+	chromeos-base/diagnostics:=
+"
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/diagnostics-test/diagnostics-test-9999.ebuild b/chromeos-base/diagnostics-test/diagnostics-test-9999.ebuild
new file mode 100644
index 0000000..f6085b8d
--- /dev/null
+++ b/chromeos-base/diagnostics-test/diagnostics-test-9999.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk diagnostics .gn"
+PLATFORM_SUBDIR="diagnostics/testing"
+
+inherit cros-workon platform
+
+DESCRIPTION="Test utility for cros-healthd"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/diagnostics"
+
+LICENSE="BSD-Google"
+KEYWORDS="~*"
+IUSE=""
+
+DEPEND="
+	chromeos-base/diagnostics:=
+"
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/diagnostics/OWNERS b/chromeos-base/diagnostics/OWNERS
new file mode 100644
index 0000000..cf72a74
--- /dev/null
+++ b/chromeos-base/diagnostics/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/diagnostics/OWNERS
diff --git a/chromeos-base/diagnostics/diagnostics-0.0.1-r1259.ebuild b/chromeos-base/diagnostics/diagnostics-0.0.1-r1259.ebuild
deleted file mode 100644
index 69de6a9..0000000
--- a/chromeos-base/diagnostics/diagnostics-0.0.1-r1259.ebuild
+++ /dev/null
@@ -1,169 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "bea140d13f7cf1092e4c89a45011c04c28327972" "9e66382b03347c75c26c85bc14db150d365a0be6" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-# TODO(crbug.com/1044813): Remove chromeos-config once its public headers are fixed.
-CROS_WORKON_SUBTREE="common-mk chromeos-config diagnostics .gn"
-
-PLATFORM_SUBDIR="diagnostics"
-
-inherit cros-workon cros-unibuild platform udev user
-
-DESCRIPTION="Device telemetry and diagnostics for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/diagnostics"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="fuzzer wilco mesa_reven"
-
-# TODO(204734015): Remove app-arch/zstd:=.
-COMMON_DEPEND="
-	chromeos-base/chromeos-config-tools:=
-	chromeos-base/minijail:=
-	chromeos-base/missive:=
-	dev-libs/protobuf:=
-	dev-libs/re2:=
-	net-libs/grpc:=
-	virtual/libudev:=
-	sys-apps/pciutils:=
-	virtual/libusb:1=
-	virtual/opengles:=
-	app-arch/zstd:=
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/attestation-client:=
-	chromeos-base/debugd-client:=
-	chromeos-base/tpm_manager-client:=
-	chromeos-base/system_api:=[fuzzer?]
-	media-sound/adhd:=
-	x11-drivers/opengles-headers:=
-"
-
-# TODO(crbug/1085169): Replace sys-block/fio dependency with an alternative as
-# it is very large. It is currently only a dependency of wilco as it is
-# currently the only client.
-RDEPEND="
-	${COMMON_DEPEND}
-	dev-util/stressapptest
-	wilco? (
-		sys-block/fio
-		chromeos-base/chromeos-dtc-vm
-		chromeos-base/vpd
-	)
-"
-
-# @FUNCTION: inst_seccomp
-# @USAGE: <policy-file-path>
-# @DESCRIPTION:
-# Given a seccomp policy file <policy-file-path>, compile it, and install it
-# into current install location.
-inst_seccomp() {
-	local path="$1"
-	local arch_path="${path%.policy}-${ARCH}.policy"
-	local file="$(basename "${path}")"
-
-	compile_seccomp_policy \
-		--arch-json "${SYSROOT}/build/share/constants.json" \
-		"${arch_path}" /dev/null \
-		|| die "failed to compile seccomp policy ${arch_path}"
-	newins "${arch_path}" "${file}"
-	einfo "The seccomp policy file ${arch_path} was installed successfully as ${file}."
-}
-
-pkg_preinst() {
-	enewgroup cros_ec-access
-	enewuser cros_healthd
-	enewgroup cros_healthd
-	enewuser healthd_ec
-	enewgroup healthd_ec
-
-	if use wilco; then
-		enewuser wilco_dtc
-		enewgroup wilco_dtc
-	fi
-}
-
-src_install() {
-	dobin "${OUT}/cros_healthd"
-	dobin "${OUT}/cros-health-tool"
-
-	if use wilco; then
-		dobin "${OUT}/wilco_dtc_supportd"
-
-		# Install seccomp policy files.
-		insinto /usr/share/policy
-		inst_seccomp "init/wilco_dtc_supportd-seccomp.policy"
-		inst_seccomp "init/wilco-dtc-e2fsck-seccomp.policy"
-		inst_seccomp "init/wilco-dtc-resize2fs-seccomp.policy"
-
-		# Install D-Bus configuration file.
-		insinto /etc/dbus-1/system.d
-		doins dbus/org.chromium.WilcoDtcSupportd.conf
-		doins dbus/WilcoDtcUpstart.conf
-
-		# Install the init scripts.
-		insinto /etc/init
-		doins init/wilco_dtc_dispatcher.conf
-		doins init/wilco_dtc_supportd.conf
-		doins init/wilco_dtc.conf
-
-		# Install udev rules.
-		udev_dorules udev/99-ec_driver_files.rules
-	fi
-
-	# Install seccomp policy files.
-	insinto /usr/share/policy
-	inst_seccomp "init/cros_healthd-seccomp.policy"
-	inst_seccomp "cros_healthd/seccomp/ectool_i2cread-seccomp.policy"
-	inst_seccomp "cros_healthd/seccomp/ectool_pwmgetfanrpm-seccomp.policy"
-	inst_seccomp "cros_healthd/seccomp/memtester-seccomp.policy"
-	inst_seccomp "cros_healthd/seccomp/iw-seccomp.policy"
-
-	# Install D-Bus configuration file.
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.CrosHealthd.conf
-
-	# Install the init scripts.
-	insinto /etc/init
-	doins init/cros_healthd.conf
-
-	# Install the diagnostic routine executables.
-	exeinto /usr/libexec/diagnostics
-	doexe "${OUT}/floating-point-accuracy"
-	doexe "${OUT}/prime-search"
-	doexe "${OUT}/smartctl-check"
-	doexe "${OUT}/urandom"
-
-	# Install udev rules.
-	udev_dorules udev/99-chown_dmi_dir.rules
-
-	# Install fuzzers.
-	local fuzzer_component_id="982097"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/fetch_system_info_fuzzer \
-		--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	local tests=(
-		cros_healthd_test
-	)
-	if use wilco; then
-		tests+=(
-			wilco_dtc_supportd_test
-		)
-	fi
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-}
diff --git a/chromeos-base/diagnostics/diagnostics-0.0.1-r1472.ebuild b/chromeos-base/diagnostics/diagnostics-0.0.1-r1472.ebuild
new file mode 100644
index 0000000..10a0ea1
--- /dev/null
+++ b/chromeos-base/diagnostics/diagnostics-0.0.1-r1472.ebuild
@@ -0,0 +1,98 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="71ddf055c1002feef322b5414a71d7c8aa368d57"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "527abd7a988a45572305a6c44b5324d0d9cf8be2" "ab5bf458d33d9fd75a653fd0b130cc21ef57744f" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+# TODO(crbug.com/1044813): Remove chromeos-config once its public headers are fixed.
+CROS_WORKON_SUBTREE="common-mk chromeos-config diagnostics .gn"
+
+PLATFORM_SUBDIR="diagnostics"
+
+inherit cros-workon cros-unibuild platform udev user
+
+DESCRIPTION="Device telemetry and diagnostics for Chrome OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/diagnostics"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="fuzzer wilco mesa_reven"
+
+# TODO(204734015): Remove app-arch/zstd:=.
+COMMON_DEPEND="
+	chromeos-base/chromeos-config-tools:=
+	chromeos-base/minijail:=
+	chromeos-base/missive:=
+	dev-libs/libevdev:=
+	dev-libs/protobuf:=
+	dev-libs/re2:=
+	net-libs/grpc:=
+	virtual/libudev:=
+	sys-apps/pciutils:=
+	virtual/libusb:1=
+	virtual/opengles:=
+	app-arch/zstd:=
+	sys-apps/fwupd:=
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/attestation-client:=
+	chromeos-base/debugd-client:=
+	chromeos-base/tpm_manager-client:=
+	chromeos-base/system_api:=[fuzzer?]
+	media-sound/adhd:=
+	x11-drivers/opengles-headers:=
+"
+
+# TODO(crbug/1085169): Replace sys-block/fio dependency with an alternative as
+# it is very large. It is currently only a dependency of wilco as it is
+# currently the only client.
+RDEPEND="
+	${COMMON_DEPEND}
+	dev-util/stressapptest
+	wilco? (
+		sys-block/fio
+		chromeos-base/chromeos-dtc-vm
+		chromeos-base/vpd
+	)
+"
+
+pkg_preinst() {
+	enewgroup cros_ec-access
+	enewuser cros_healthd
+	enewgroup cros_healthd
+	enewuser healthd_ec
+	enewgroup healthd_ec
+
+	if use wilco; then
+		enewuser wilco_dtc
+		enewgroup wilco_dtc
+	fi
+}
+
+src_install() {
+	platform_install
+
+	if use wilco; then
+		# Install udev rules.
+		udev_dorules udev/99-ec_driver_files.rules
+	fi
+
+	# Install udev rules.
+	udev_dorules udev/99-chown_dmi_dir.rules
+
+	# Install fuzzers.
+	local fuzzer_component_id="982097"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/fetch_system_info_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/diagnostics/diagnostics-9999.ebuild b/chromeos-base/diagnostics/diagnostics-9999.ebuild
index ff50bf0..b4e6570 100644
--- a/chromeos-base/diagnostics/diagnostics-9999.ebuild
+++ b/chromeos-base/diagnostics/diagnostics-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-workon cros-unibuild platform udev user
 
 DESCRIPTION="Device telemetry and diagnostics for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/diagnostics"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/diagnostics"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
@@ -26,6 +26,7 @@
 	chromeos-base/chromeos-config-tools:=
 	chromeos-base/minijail:=
 	chromeos-base/missive:=
+	dev-libs/libevdev:=
 	dev-libs/protobuf:=
 	dev-libs/re2:=
 	net-libs/grpc:=
@@ -34,6 +35,7 @@
 	virtual/libusb:1=
 	virtual/opengles:=
 	app-arch/zstd:=
+	sys-apps/fwupd:=
 "
 
 DEPEND="
@@ -59,24 +61,6 @@
 	)
 "
 
-# @FUNCTION: inst_seccomp
-# @USAGE: <policy-file-path>
-# @DESCRIPTION:
-# Given a seccomp policy file <policy-file-path>, compile it, and install it
-# into current install location.
-inst_seccomp() {
-	local path="$1"
-	local arch_path="${path%.policy}-${ARCH}.policy"
-	local file="$(basename "${path}")"
-
-	compile_seccomp_policy \
-		--arch-json "${SYSROOT}/build/share/constants.json" \
-		"${arch_path}" /dev/null \
-		|| die "failed to compile seccomp policy ${arch_path}"
-	newins "${arch_path}" "${file}"
-	einfo "The seccomp policy file ${arch_path} was installed successfully as ${file}."
-}
-
 pkg_preinst() {
 	enewgroup cros_ec-access
 	enewuser cros_healthd
@@ -91,56 +75,13 @@
 }
 
 src_install() {
-	dobin "${OUT}/cros_healthd"
-	dobin "${OUT}/cros-health-tool"
+	platform_install
 
 	if use wilco; then
-		dobin "${OUT}/wilco_dtc_supportd"
-
-		# Install seccomp policy files.
-		insinto /usr/share/policy
-		inst_seccomp "init/wilco_dtc_supportd-seccomp.policy"
-		inst_seccomp "init/wilco-dtc-e2fsck-seccomp.policy"
-		inst_seccomp "init/wilco-dtc-resize2fs-seccomp.policy"
-
-		# Install D-Bus configuration file.
-		insinto /etc/dbus-1/system.d
-		doins dbus/org.chromium.WilcoDtcSupportd.conf
-		doins dbus/WilcoDtcUpstart.conf
-
-		# Install the init scripts.
-		insinto /etc/init
-		doins init/wilco_dtc_dispatcher.conf
-		doins init/wilco_dtc_supportd.conf
-		doins init/wilco_dtc.conf
-
 		# Install udev rules.
 		udev_dorules udev/99-ec_driver_files.rules
 	fi
 
-	# Install seccomp policy files.
-	insinto /usr/share/policy
-	inst_seccomp "init/cros_healthd-seccomp.policy"
-	inst_seccomp "cros_healthd/seccomp/ectool_i2cread-seccomp.policy"
-	inst_seccomp "cros_healthd/seccomp/ectool_pwmgetfanrpm-seccomp.policy"
-	inst_seccomp "cros_healthd/seccomp/memtester-seccomp.policy"
-	inst_seccomp "cros_healthd/seccomp/iw-seccomp.policy"
-
-	# Install D-Bus configuration file.
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.CrosHealthd.conf
-
-	# Install the init scripts.
-	insinto /etc/init
-	doins init/cros_healthd.conf
-
-	# Install the diagnostic routine executables.
-	exeinto /usr/libexec/diagnostics
-	doexe "${OUT}/floating-point-accuracy"
-	doexe "${OUT}/prime-search"
-	doexe "${OUT}/smartctl-check"
-	doexe "${OUT}/urandom"
-
 	# Install udev rules.
 	udev_dorules udev/99-chown_dmi_dir.rules
 
@@ -151,17 +92,5 @@
 }
 
 platform_pkg_test() {
-	local tests=(
-		cros_healthd_test
-	)
-	if use wilco; then
-		tests+=(
-			wilco_dtc_supportd_test
-		)
-	fi
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
+	platform test_all
 }
diff --git a/chromeos-base/diagnostics/files/revision_bump b/chromeos-base/diagnostics/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/diagnostics/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/discod/OWNERS b/chromeos-base/discod/OWNERS
new file mode 100644
index 0000000..6679c3c
--- /dev/null
+++ b/chromeos-base/discod/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/discod/OWNERS
diff --git a/chromeos-base/discod/discod-0.0.1-r17.ebuild b/chromeos-base/discod/discod-0.0.1-r17.ebuild
new file mode 100644
index 0000000..a12def2
--- /dev/null
+++ b/chromeos-base/discod/discod-0.0.1-r17.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "8b4967427a3d2dad96feaf0caf2e514e9e6f052e" "8ca9c97a07408fdff5abf480fb1b2a15405b6bc0" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk discod libhwsec-foundation metrics .gn"
+
+PLATFORM_SUBDIR="discod"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Disk Control daemon for ChromiumOS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/discod/"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+COMMON_DEPEND="
+	chromeos-base/libhwsec-foundation:=
+	chromeos-base/metrics:=
+	sys-apps/rootdev:=
+"
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/system_api:=
+"
+
+pkg_preinst() {
+	enewuser "disco"
+	enewgroup "disco"
+}
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/discod/discod-9999.ebuild b/chromeos-base/discod/discod-9999.ebuild
new file mode 100644
index 0000000..2851598
--- /dev/null
+++ b/chromeos-base/discod/discod-9999.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk discod libhwsec-foundation metrics .gn"
+
+PLATFORM_SUBDIR="discod"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Disk Control daemon for ChromiumOS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/discod/"
+LICENSE="BSD-Google"
+KEYWORDS="~*"
+IUSE=""
+
+COMMON_DEPEND="
+	chromeos-base/libhwsec-foundation:=
+	chromeos-base/metrics:=
+	sys-apps/rootdev:=
+"
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/system_api:=
+"
+
+pkg_preinst() {
+	enewuser "disco"
+	enewgroup "disco"
+}
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/disk_updater/disk_updater-0.0.1-r3140.ebuild b/chromeos-base/disk_updater/disk_updater-0.0.1-r3140.ebuild
deleted file mode 100644
index 1ad31d0..0000000
--- a/chromeos-base/disk_updater/disk_updater-0.0.1-r3140.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "0c5a8625f66e9dd776c8fd52f54c5c18b6158123" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk disk_updater .gn"
-
-PLATFORM_SUBDIR="disk_updater"
-
-inherit cros-workon platform
-
-DESCRIPTION="Root disk firmware updater"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/disk_updater/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="+sata mmc nvme"
-
-DEPEND="
-	test? (
-		sys-apps/diffutils
-	)
-"
-
-RDEPEND="
-	chromeos-base/chromeos-common-script
-	dev-util/shflags
-	sata? ( sys-apps/hdparm )
-	mmc? ( sys-apps/mmc-utils )
-	nvme? ( sys-apps/nvme-cli )
-"
-
-platform_pkg_test() {
-	# We can test all, even if mmc or nvme are not installed.
-	local tests=( 'ata' 'mmc' 'nvme')
-
-	local test_type
-	for test_type in "${tests[@]}"; do
-		platform_test "run" "tests/chromeos-disk-firmware-${test_type}-test.sh"
-	done
-}
-
-src_install() {
-	insinto "/etc/init"
-	doins "scripts/chromeos-disk-firmware-update.conf"
-
-	dosbin "scripts/chromeos-disk-firmware-update.sh"
-}
diff --git a/chromeos-base/disk_updater/disk_updater-0.0.1-r3199.ebuild b/chromeos-base/disk_updater/disk_updater-0.0.1-r3199.ebuild
new file mode 100644
index 0000000..d80f7d3
--- /dev/null
+++ b/chromeos-base/disk_updater/disk_updater-0.0.1-r3199.ebuild
@@ -0,0 +1,53 @@
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "7222defad0516675cbd74df61b74d388be5eae64" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk disk_updater .gn"
+
+PLATFORM_SUBDIR="disk_updater"
+
+inherit cros-workon platform
+
+DESCRIPTION="Root disk firmware updater"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/disk_updater/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="+sata mmc nvme"
+
+DEPEND="
+	test? (
+		sys-apps/diffutils
+	)
+"
+
+RDEPEND="
+	chromeos-base/chromeos-common-script
+	dev-util/shflags
+	sata? ( sys-apps/hdparm )
+	mmc? ( sys-apps/mmc-utils )
+	nvme? ( sys-apps/nvme-cli )
+"
+
+platform_pkg_test() {
+	# We can test all, even if mmc or nvme are not installed.
+	local tests=( 'ata' 'mmc' 'nvme')
+
+	local test_type
+	for test_type in "${tests[@]}"; do
+		platform_test "run" "tests/chromeos-disk-firmware-${test_type}-test.sh"
+	done
+}
+
+src_install() {
+	insinto "/etc/init"
+	doins "scripts/chromeos-disk-firmware-update.conf"
+
+	dosbin "scripts/chromeos-disk-firmware-update.sh"
+}
diff --git a/chromeos-base/disk_updater/disk_updater-9999.ebuild b/chromeos-base/disk_updater/disk_updater-9999.ebuild
index 160e74b..86c63e3 100644
--- a/chromeos-base/disk_updater/disk_updater-9999.ebuild
+++ b/chromeos-base/disk_updater/disk_updater-9999.ebuild
@@ -12,7 +12,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Root disk firmware updater"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/disk_updater/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/disk_updater/"
 SRC_URI=""
 
 LICENSE="BSD-Google"
diff --git a/chromeos-base/disk_updater/files/revision_bump b/chromeos-base/disk_updater/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/disk_updater/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/dlcservice-client/OWNERS b/chromeos-base/dlcservice-client/OWNERS
new file mode 100644
index 0000000..43aa1b5
--- /dev/null
+++ b/chromeos-base/dlcservice-client/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/dlcservice/OWNERS
diff --git a/chromeos-base/dlcservice-client/dlcservice-client-0.0.1-r527.ebuild b/chromeos-base/dlcservice-client/dlcservice-client-0.0.1-r527.ebuild
deleted file mode 100644
index a777417..0000000
--- a/chromeos-base/dlcservice-client/dlcservice-client-0.0.1-r527.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "7c08c9f91be28208831f8bd0e18e399cec7d4562" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk dlcservice .gn"
-
-PLATFORM_SUBDIR="dlcservice/client"
-
-inherit cros-workon platform
-
-DESCRIPTION="DlcService D-Bus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/dlcservice/client"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-# D-Bus proxies generated by this client library depend on the code generator
-# itself (chromeos-dbus-bindings) and produce header files that rely on
-# libbrillo library.
-DEPEND="
-	chromeos-base/chromeos-dbus-bindings
-"
-
-src_install() {
-	# Install DBus client library.
-	platform_install_dbus_client_lib "dlcservice"
-}
diff --git a/chromeos-base/dlcservice-client/dlcservice-client-0.0.1-r603.ebuild b/chromeos-base/dlcservice-client/dlcservice-client-0.0.1-r603.ebuild
new file mode 100644
index 0000000..e45d928
--- /dev/null
+++ b/chromeos-base/dlcservice-client/dlcservice-client-0.0.1-r603.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+CROS_WORKON_COMMIT="39bc3565fa9b2c8979c17d868d164966b29041b3"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "a66b767a2b19d7eeb270c9a193d4f8bf9365060c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk dlcservice .gn"
+
+PLATFORM_SUBDIR="dlcservice/client"
+
+inherit cros-workon platform
+
+DESCRIPTION="DlcService D-Bus client library for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/dlcservice/client"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+# D-Bus proxies generated by this client library depend on the code generator
+# itself (chromeos-dbus-bindings) and produce header files that rely on
+# libbrillo library.
+DEPEND="
+	chromeos-base/chromeos-dbus-bindings
+"
+
+src_install() {
+	# Install DBus client library.
+	platform_install_dbus_client_lib "dlcservice"
+}
diff --git a/chromeos-base/dlcservice-client/dlcservice-client-9999.ebuild b/chromeos-base/dlcservice-client/dlcservice-client-9999.ebuild
index d421982..862b967 100644
--- a/chromeos-base/dlcservice-client/dlcservice-client-9999.ebuild
+++ b/chromeos-base/dlcservice-client/dlcservice-client-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="DlcService D-Bus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/dlcservice/client"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/dlcservice/client"
 
 LICENSE="BSD-Google"
 SLOT="0"
diff --git a/chromeos-base/dlcservice-client/files/revision_bump b/chromeos-base/dlcservice-client/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/dlcservice-client/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/dlcservice/OWNERS b/chromeos-base/dlcservice/OWNERS
new file mode 100644
index 0000000..43aa1b5
--- /dev/null
+++ b/chromeos-base/dlcservice/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/dlcservice/OWNERS
diff --git a/chromeos-base/dlcservice/dlcservice-0.0.1-r683.ebuild b/chromeos-base/dlcservice/dlcservice-0.0.1-r683.ebuild
deleted file mode 100644
index 9885501..0000000
--- a/chromeos-base/dlcservice/dlcservice-0.0.1-r683.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "7c08c9f91be28208831f8bd0e18e399cec7d4562" "4a0dedab080195bdc122d2289118df4af3ddca2c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid #include-ing platform2 headers directly.
-CROS_WORKON_SUBTREE="common-mk dlcservice metrics .gn"
-
-PLATFORM_SUBDIR="dlcservice"
-
-inherit cros-workon platform user
-
-DESCRIPTION="A D-Bus service for Downloadable Content (DLC)"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/dlcservice/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="fuzzer"
-
-RDEPEND="
-	chromeos-base/imageloader:=
-	chromeos-base/minijail:=
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	dev-libs/protobuf:="
-
-DEPEND="${RDEPEND}
-	chromeos-base/dlcservice-client:=
-	chromeos-base/imageloader-client:=
-	chromeos-base/system_api:=[fuzzer?]
-	chromeos-base/session_manager-client:=
-	chromeos-base/update_engine-client:="
-
-src_install() {
-	dosbin "${OUT}/dlcservice"
-	# Technically we don't need the dlcservice_util in rootfs, but the QA team
-	# will need this to test with sample-dlc.
-	dobin "${OUT}/dlcservice_util"
-
-	# Seccomp policy files.
-	insinto /usr/share/policy
-	newins seccomp/dlcservice-seccomp-${ARCH}.policy \
-		dlcservice-seccomp.policy
-
-	# Upstart configuration
-	insinto /etc/init
-	doins dlcservice.conf
-
-	# D-Bus configuration
-	insinto /etc/dbus-1/system.d
-	doins org.chromium.DlcService.conf
-
-	local fuzzer_component_id="908242"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/dlcservice_boot_device_fuzzer \
-		--comp "${fuzzer_component_id}"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/dlcservice_boot_slot_fuzzer \
-		--comp "${fuzzer_component_id}"
-
-	into /usr/local
-	dobin "${S}/tools/dlctool"
-	dobin "${OUT}/dlcverify"
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/dlcservice_tests"
-	platform_fuzzer_test "${OUT}"/dlcservice_boot_device_fuzzer
-	platform_fuzzer_test "${OUT}"/dlcservice_boot_slot_fuzzer
-}
-
-pkg_preinst() {
-	enewuser "dlcservice"
-	enewgroup "dlcservice"
-}
diff --git a/chromeos-base/dlcservice/dlcservice-0.0.1-r797.ebuild b/chromeos-base/dlcservice/dlcservice-0.0.1-r797.ebuild
new file mode 100644
index 0000000..4a6dccf
--- /dev/null
+++ b/chromeos-base/dlcservice/dlcservice-0.0.1-r797.ebuild
@@ -0,0 +1,88 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="39bc3565fa9b2c8979c17d868d164966b29041b3"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "a66b767a2b19d7eeb270c9a193d4f8bf9365060c" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid #include-ing platform2 headers directly.
+CROS_WORKON_SUBTREE="common-mk dlcservice metrics .gn"
+
+PLATFORM_SUBDIR="dlcservice"
+
+inherit cros-workon platform tmpfiles user
+
+DESCRIPTION="A D-Bus service for Downloadable Content (DLC)"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/dlcservice/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="
+	fuzzer
+	lvm_stateful_partition
+"
+
+RDEPEND="
+	chromeos-base/imageloader:=
+	lvm_stateful_partition? ( chromeos-base/lvmd:= )
+	chromeos-base/minijail:=
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	dev-libs/protobuf:="
+
+DEPEND="${RDEPEND}
+	chromeos-base/dlcservice-client:=
+	chromeos-base/imageloader-client:=
+	lvm_stateful_partition? ( chromeos-base/lvmd-client:= )
+	chromeos-base/system_api:=[fuzzer?]
+	chromeos-base/session_manager-client:=
+	chromeos-base/update_engine-client:=
+	chromeos-base/vboot_reference:=
+"
+
+src_install() {
+	dosbin "${OUT}/dlcservice"
+	# Technically we don't need the dlcservice_util in rootfs, but the QA team
+	# will need this to test with sample-dlc.
+	dobin "${OUT}/dlcservice_util"
+
+	# Seccomp policy files.
+	insinto /usr/share/policy
+	newins "seccomp/dlcservice-seccomp-${ARCH}.policy" \
+		dlcservice-seccomp.policy
+
+	# Upstart configuration
+	insinto /etc/init
+	doins dlcservice.conf
+
+	# Tmpfiles.d configuration
+	dotmpfiles tmpfiles.d/*.conf
+
+	# D-Bus configuration
+	insinto /etc/dbus-1/system.d
+	doins org.chromium.DlcService.conf
+
+	local fuzzer_component_id="908242"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/dlcservice_boot_device_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/dlcservice_boot_slot_fuzzer \
+		--comp "${fuzzer_component_id}"
+
+	into /usr/local
+	dobin "${S}/tools/dlctool"
+	dobin "${OUT}/dlcverify"
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/dlcservice_tests"
+	platform_fuzzer_test "${OUT}"/dlcservice_boot_device_fuzzer
+	platform_fuzzer_test "${OUT}"/dlcservice_boot_slot_fuzzer
+}
+
+pkg_preinst() {
+	enewuser "dlcservice"
+	enewgroup "dlcservice"
+}
diff --git a/chromeos-base/dlcservice/dlcservice-9999.ebuild b/chromeos-base/dlcservice/dlcservice-9999.ebuild
index 9845a2c..ed85209 100644
--- a/chromeos-base/dlcservice/dlcservice-9999.ebuild
+++ b/chromeos-base/dlcservice/dlcservice-9999.ebuild
@@ -12,17 +12,21 @@
 
 PLATFORM_SUBDIR="dlcservice"
 
-inherit cros-workon platform user
+inherit cros-workon platform tmpfiles user
 
 DESCRIPTION="A D-Bus service for Downloadable Content (DLC)"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/dlcservice/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/dlcservice/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
-IUSE="fuzzer"
+IUSE="
+	fuzzer
+	lvm_stateful_partition
+"
 
 RDEPEND="
 	chromeos-base/imageloader:=
+	lvm_stateful_partition? ( chromeos-base/lvmd:= )
 	chromeos-base/minijail:=
 	>=chromeos-base/metrics-0.0.1-r3152:=
 	dev-libs/protobuf:="
@@ -30,9 +34,12 @@
 DEPEND="${RDEPEND}
 	chromeos-base/dlcservice-client:=
 	chromeos-base/imageloader-client:=
+	lvm_stateful_partition? ( chromeos-base/lvmd-client:= )
 	chromeos-base/system_api:=[fuzzer?]
 	chromeos-base/session_manager-client:=
-	chromeos-base/update_engine-client:="
+	chromeos-base/update_engine-client:=
+	chromeos-base/vboot_reference:=
+"
 
 src_install() {
 	dosbin "${OUT}/dlcservice"
@@ -42,13 +49,16 @@
 
 	# Seccomp policy files.
 	insinto /usr/share/policy
-	newins seccomp/dlcservice-seccomp-${ARCH}.policy \
+	newins "seccomp/dlcservice-seccomp-${ARCH}.policy" \
 		dlcservice-seccomp.policy
 
 	# Upstart configuration
 	insinto /etc/init
 	doins dlcservice.conf
 
+	# Tmpfiles.d configuration
+	dotmpfiles tmpfiles.d/*.conf
+
 	# D-Bus configuration
 	insinto /etc/dbus-1/system.d
 	doins org.chromium.DlcService.conf
diff --git a/chromeos-base/dlcservice/files/revision_bump b/chromeos-base/dlcservice/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/dlcservice/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/dlp/dlp-0.0.1-r102.ebuild b/chromeos-base/dlp/dlp-0.0.1-r102.ebuild
deleted file mode 100644
index 5c0aef9..0000000
--- a/chromeos-base/dlp/dlp-0.0.1-r102.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "d29a527ccad50f4fcb2948220674062299d13b5a" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk dlp .gn"
-
-PLATFORM_SUBDIR="dlp"
-
-inherit cros-workon libchrome platform user
-
-DESCRIPTION="A daemon that provides support for Data Leak Prevention restrictions for file accesses."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/dlp/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="fuzzer"
-
-COMMON_DEPEND="
-	chromeos-base/minijail:=
-	!dev-db/leveldb
-	dev-libs/leveldb:=
-	dev-libs/protobuf:=
-"
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}
-	chromeos-base/session_manager-client:=
-	chromeos-base/system_api:=
-	sys-apps/dbus:=
-	fuzzer? ( dev-libs/libprotobuf-mutator:= )
-"
-
-src_install() {
-	dosbin "${OUT}"/dlp
-
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.Dlp.conf
-
-	insinto /usr/share/dbus-1/system-services
-	doins dbus/org.chromium.Dlp.service
-
-	insinto /etc/init
-	doins init/dlp.conf
-
-	local daemon_store="/etc/daemon-store/dlp"
-	dodir "${daemon_store}"
-	fperms 0700 "${daemon_store}"
-	fowners dlp:dlp "${daemon_store}"
-
-	local fuzzer_component_id="892101"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/dlp_adaptor_fuzzer \
-		--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	local gtest_filter_user_tests="-*.RunAsRoot*:"
-	local gtest_filter_root_tests="*.RunAsRoot*-"
-
-	platform_test "run" "${OUT}/dlp_test" "0" "${gtest_filter_user_tests}"
-	platform_test "run" "${OUT}/dlp_test" "1" "${gtest_filter_root_tests}"
-}
-
-pkg_setup() {
-	enewuser "dlp"
-	enewgroup "dlp"
-	cros-workon_pkg_setup
-}
diff --git a/chromeos-base/dlp/dlp-0.0.1-r168.ebuild b/chromeos-base/dlp/dlp-0.0.1-r168.ebuild
new file mode 100644
index 0000000..abefef1
--- /dev/null
+++ b/chromeos-base/dlp/dlp-0.0.1-r168.ebuild
@@ -0,0 +1,73 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "179a073f51a15a90cbbdf56fba124d9d71ba4c92" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk dlp .gn"
+
+PLATFORM_SUBDIR="dlp"
+
+inherit cros-workon libchrome platform user
+
+DESCRIPTION="A daemon that provides support for Data Leak Prevention restrictions for file accesses."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/dlp/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="fuzzer"
+
+COMMON_DEPEND="
+	chromeos-base/minijail:=
+	!dev-db/leveldb
+	dev-libs/leveldb:=
+	dev-libs/protobuf:=
+"
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/session_manager-client:=
+	chromeos-base/system_api:=
+	sys-apps/dbus:=
+	fuzzer? ( dev-libs/libprotobuf-mutator:= )
+"
+
+src_install() {
+	dosbin "${OUT}"/dlp
+
+	insinto /etc/dbus-1/system.d
+	doins dbus/org.chromium.Dlp.conf
+
+	insinto /usr/share/dbus-1/system-services
+	doins dbus/org.chromium.Dlp.service
+
+	insinto /etc/init
+	doins init/dlp.conf
+
+	local daemon_store="/etc/daemon-store/dlp"
+	dodir "${daemon_store}"
+	fperms 0700 "${daemon_store}"
+	fowners dlp:dlp "${daemon_store}"
+
+	local fuzzer_component_id="892101"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/dlp_adaptor_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	local gtest_filter_user_tests="-*.RunAsRoot*:"
+	local gtest_filter_root_tests="*.RunAsRoot*-"
+
+	platform_test "run" "${OUT}/dlp_test" "0" "${gtest_filter_user_tests}"
+	platform_test "run" "${OUT}/dlp_test" "1" "${gtest_filter_root_tests}"
+}
+
+pkg_setup() {
+	enewuser "dlp"
+	enewgroup "dlp"
+	cros-workon_pkg_setup
+}
diff --git a/chromeos-base/dlp/dlp-9999.ebuild b/chromeos-base/dlp/dlp-9999.ebuild
index 11d78d5..c92a58f 100644
--- a/chromeos-base/dlp/dlp-9999.ebuild
+++ b/chromeos-base/dlp/dlp-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon libchrome platform user
 
 DESCRIPTION="A daemon that provides support for Data Leak Prevention restrictions for file accesses."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/dlp/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/dlp/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/dlp/files/revision_bump b/chromeos-base/dlp/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/dlp/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/dns-proxy/dns-proxy-0.0.1-r215.ebuild b/chromeos-base/dns-proxy/dns-proxy-0.0.1-r215.ebuild
deleted file mode 100644
index 99814e4..0000000
--- a/chromeos-base/dns-proxy/dns-proxy-0.0.1-r215.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "d274a7315cff6ee42e7706a0046d32232706e42e" "4a0dedab080195bdc122d2289118df4af3ddca2c" "df2875ccc771270175813bb56bd8288194e09568" "959cf5c9e5c2eee5a1601125f7f3288e2f7a7c61" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk dns-proxy metrics shill/dbus/client shill/net .gn"
-
-PLATFORM_SUBDIR="dns-proxy"
-
-inherit cros-workon platform user
-
-DESCRIPTION="A daemon that provides DNS proxying services."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/dns-proxy/"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-
-COMMON_DEPEND="
-	chromeos-base/metrics:=
-	chromeos-base/minijail:=
-	chromeos-base/patchpanel:=
-	chromeos-base/patchpanel-client:=
-	chromeos-base/shill-dbus-client:=
-	chromeos-base/shill-net:=
-	dev-libs/protobuf:=
-	dev-libs/dbus-glib:=
-	sys-apps/dbus:=
-	net-misc/curl:=
-"
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/permission_broker-client:=
-"
-
-pkg_preinst() {
-	enewuser "dns-proxy"
-	enewgroup "dns-proxy"
-}
-
-src_install() {
-	dosbin "${OUT}"/dnsproxyd
-
-	insinto /etc/init
-	doins init/dns-proxy.conf
-
-	insinto /usr/share/policy
-	newins seccomp/dns-proxy-seccomp-"${ARCH}".policy dns-proxy-seccomp.policy
-
-	local fuzzer_component_id="156085"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/ares_client_fuzzer \
-		--comp "${fuzzer_component_id}"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/doh_curl_client_fuzzer \
-		--comp "${fuzzer_component_id}"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/resolver_fuzzer \
-		--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/dns-proxy_test"
-}
diff --git a/chromeos-base/dns-proxy/dns-proxy-0.0.1-r345.ebuild b/chromeos-base/dns-proxy/dns-proxy-0.0.1-r345.ebuild
new file mode 100644
index 0000000..55116f1
--- /dev/null
+++ b/chromeos-base/dns-proxy/dns-proxy-0.0.1-r345.ebuild
@@ -0,0 +1,68 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "235fefd7a1a3627928bea9ea768909f97eb5a889" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "62f84a7b4216d539df553a5bafe00d85969a9f63" "bf11ffe5bade82cef5574e57f94fd0e7e38b716c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk dns-proxy metrics shill/dbus/client shill/net .gn"
+
+PLATFORM_SUBDIR="dns-proxy"
+
+inherit cros-workon platform user
+
+DESCRIPTION="A daemon that provides DNS proxying services."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/dns-proxy/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+
+COMMON_DEPEND="
+	chromeos-base/metrics:=
+	chromeos-base/minijail:=
+	chromeos-base/patchpanel:=
+	chromeos-base/patchpanel-client:=
+	chromeos-base/shill-dbus-client:=
+	chromeos-base/shill-net:=
+	dev-libs/protobuf:=
+	dev-libs/dbus-glib:=
+	sys-apps/dbus:=
+	net-misc/curl:=
+"
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/permission_broker-client:=
+"
+
+pkg_preinst() {
+	enewuser "dns-proxy"
+	enewgroup "dns-proxy"
+}
+
+src_install() {
+	dosbin "${OUT}"/dnsproxyd
+
+	insinto /etc/init
+	doins init/dns-proxy.conf
+
+	insinto /usr/share/policy
+	newins seccomp/dns-proxy-seccomp-"${ARCH}".policy dns-proxy-seccomp.policy
+
+	local fuzzer_component_id="156085"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/ares_client_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/doh_curl_client_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/resolver_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/dns-proxy_test"
+}
diff --git a/chromeos-base/dns-proxy/files/revision_bump b/chromeos-base/dns-proxy/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/dns-proxy/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/drm-tests/drm-tests-0.0.1-r250.ebuild b/chromeos-base/drm-tests/drm-tests-0.0.1-r250.ebuild
deleted file mode 100644
index 3fc21d8..0000000
--- a/chromeos-base/drm-tests/drm-tests-0.0.1-r250.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-CROS_WORKON_COMMIT="a509e48c0421b0e0279c8cd3726c073805a37bf0"
-CROS_WORKON_TREE="bfb6a7aa062f0b6e0f72cd324e35c0c9d9f3af5e"
-CROS_WORKON_PROJECT="chromiumos/platform/drm-tests"
-CROS_WORKON_LOCALNAME="platform/drm-tests"
-
-inherit cros-sanitizers cros-workon toolchain-funcs
-
-DESCRIPTION="Chrome OS DRM Tests"
-
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/drm-tests/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE="
-	v4lplugin
-	vulkan
-	"
-
-RDEPEND="virtual/opengles
-	|| ( media-libs/mesa[gbm] media-libs/minigbm )
-	media-libs/libsync
-	v4lplugin? ( media-libs/libv4lplugins )
-	vulkan? (
-		media-libs/vulkan-loader
-		virtual/vulkan-icd
-	)"
-DEPEND="${RDEPEND}
-	x11-drivers/opengles-headers"
-
-src_configure() {
-	sanitizers-setup-env
-	default
-}
-
-src_compile() {
-	tc-export CC
-	if use v4lplugin; then
-		einfo "- Using libv4l2plugin"
-		append-flags "-DUSE_V4LPLUGIN"
-	fi
-	emake USE_VULKAN="$(usex vulkan 1 0)" USE_V4LPLUGIN="$(usex v4lplugin 1 0)"
-}
-
-src_install() {
-	cd build-opt-local || return
-	dobin atomictest \
-		drm_cursor_test \
-		dmabuf_test \
-		gamma_test \
-		linear_bo_test \
-		mapped_access_perf_test \
-		mapped_texture_test \
-		mmap_test \
-		null_platform_test \
-		plane_test \
-		synctest swrast_test \
-		v4l2_stateful_decoder \
-		v4l2_stateful_encoder \
-		udmabuf_create_test
-
-	if use vulkan; then
-		dobin vk_glow
-	fi
-}
diff --git a/chromeos-base/drm-tests/drm-tests-0.0.1-r268.ebuild b/chromeos-base/drm-tests/drm-tests-0.0.1-r268.ebuild
new file mode 100644
index 0000000..ac8abca
--- /dev/null
+++ b/chromeos-base/drm-tests/drm-tests-0.0.1-r268.ebuild
@@ -0,0 +1,72 @@
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+CROS_WORKON_COMMIT="e5c5d569337ad3d1c6e9aea9d509bec818421bb1"
+CROS_WORKON_TREE="d041420585751c20526d016355047acbdaacc6ab"
+CROS_WORKON_PROJECT="chromiumos/platform/drm-tests"
+CROS_WORKON_LOCALNAME="platform/drm-tests"
+
+inherit cros-sanitizers cros-workon toolchain-funcs
+
+DESCRIPTION="Chrome OS DRM Tests"
+
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/drm-tests/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="
+	v4lplugin
+	vulkan
+	"
+
+RDEPEND="virtual/opengles
+	|| ( media-libs/mesa[gbm] media-libs/minigbm )
+	media-libs/libsync
+	v4lplugin? ( media-libs/libv4lplugins )
+	vulkan? (
+		media-libs/vulkan-loader
+		virtual/vulkan-icd
+	)"
+DEPEND="${RDEPEND}
+	x11-drivers/opengles-headers"
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
+src_compile() {
+	tc-export CC
+	if use v4lplugin; then
+		einfo "- Using libv4l2plugin"
+		append-flags "-DUSE_V4LPLUGIN"
+	fi
+	emake USE_VULKAN="$(usex vulkan 1 0)" USE_V4LPLUGIN="$(usex v4lplugin 1 0)"
+}
+
+src_install() {
+	cd build-opt-local || return
+	dobin atomictest \
+		drm_cursor_test \
+		dmabuf_test \
+		gamma_test \
+		linear_bo_test \
+		mali_stats \
+		mapped_access_perf_test \
+		mapped_texture_test \
+		mmap_test \
+		mtk_dram_tool \
+		null_platform_test \
+		plane_test \
+		synctest swrast_test \
+		v4l2_stateful_decoder \
+		v4l2_stateful_encoder \
+		udmabuf_create_test
+
+	if use vulkan; then
+		dobin vk_glow
+	fi
+}
diff --git a/chromeos-base/drm-tests/drm-tests-9999.ebuild b/chromeos-base/drm-tests/drm-tests-9999.ebuild
index 65817c4..8a34b22 100644
--- a/chromeos-base/drm-tests/drm-tests-9999.ebuild
+++ b/chromeos-base/drm-tests/drm-tests-9999.ebuild
@@ -52,9 +52,11 @@
 		dmabuf_test \
 		gamma_test \
 		linear_bo_test \
+		mali_stats \
 		mapped_access_perf_test \
 		mapped_texture_test \
 		mmap_test \
+		mtk_dram_tool \
 		null_platform_test \
 		plane_test \
 		synctest swrast_test \
diff --git a/chromeos-base/easy-unlock/easy-unlock-0.0.1-r3040.ebuild b/chromeos-base/easy-unlock/easy-unlock-0.0.1-r3040.ebuild
deleted file mode 100644
index 4d04ddb..0000000
--- a/chromeos-base/easy-unlock/easy-unlock-0.0.1-r3040.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "fb008405766fe5622d85f42194c2fb6f302453f7" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_USE_VCSID=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk easy-unlock .gn"
-
-PLATFORM_SUBDIR="easy-unlock"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Service for supporting Easy Unlock in Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/easy-unlock/"
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
-
-COMMON_DEPEND="
-	chromeos-base/easy-unlock-crypto:=
-"
-
-RDEPEND="${COMMON_DEPEND}"
-
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/system_api:=
-"
-
-pkg_preinst() {
-	enewuser easy-unlock
-	enewgroup easy-unlock
-}
-
-src_install() {
-	platform_install
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/easy-unlock/easy-unlock-0.0.1-r3102.ebuild b/chromeos-base/easy-unlock/easy-unlock-0.0.1-r3102.ebuild
new file mode 100644
index 0000000..1571a53
--- /dev/null
+++ b/chromeos-base/easy-unlock/easy-unlock-0.0.1-r3102.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "ead09467b3f58a6e812f692940d708f1c286b94d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_USE_VCSID=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk easy-unlock .gn"
+
+PLATFORM_SUBDIR="easy-unlock"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Service for supporting Easy Unlock in Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/easy-unlock/"
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+COMMON_DEPEND="
+	chromeos-base/easy-unlock-crypto:=
+"
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/system_api:=
+"
+
+pkg_preinst() {
+	enewuser easy-unlock
+	enewgroup easy-unlock
+}
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/easy-unlock/easy-unlock-9999.ebuild b/chromeos-base/easy-unlock/easy-unlock-9999.ebuild
index fe379e3..eabd5b8 100644
--- a/chromeos-base/easy-unlock/easy-unlock-9999.ebuild
+++ b/chromeos-base/easy-unlock/easy-unlock-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-workon platform user
 
 DESCRIPTION="Service for supporting Easy Unlock in Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/easy-unlock/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/easy-unlock/"
 LICENSE="BSD-Google"
 SLOT="0/0"
 KEYWORDS="~*"
diff --git a/chromeos-base/easy-unlock/files/revision_bump b/chromeos-base/easy-unlock/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/easy-unlock/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/ec-devutils/ec-devutils-0.0.2-r10169.ebuild b/chromeos-base/ec-devutils/ec-devutils-0.0.2-r10169.ebuild
deleted file mode 100644
index a647d1c..0000000
--- a/chromeos-base/ec-devutils/ec-devutils-0.0.2-r10169.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-CROS_WORKON_COMMIT="48813eba426326f9ee4a5b5f5e45310fe7597a70"
-CROS_WORKON_TREE="6ac0be6aa6885a6a72d008c64e4e07882535efe0"
-CROS_WORKON_PROJECT="chromiumos/platform/ec"
-CROS_WORKON_LOCALNAME="platform/ec"
-PYTHON_COMPAT=( python3_6 )
-
-inherit cros-workon distutils-r1
-
-DESCRIPTION="Host development utilities for Chromium OS EC"
-HOMEPAGE="https://www.chromium.org/chromium-os/ec-development"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE="hammerd"
-
-DEPEND="virtual/libusb:1=
-	sys-apps/flashmap:=
-	"
-RDEPEND="
-	${DEPEND}
-	app-mobilephone/dfu-util
-	sys-firmware/servo-firmware
-	sys-apps/flashrom
-	!<chromeos-base/ec-utils-0.0.1-r6153
-	chromeos-base/ec-utils
-	>=dev-python/pyusb-1.0.2[${PYTHON_USEDEP}]
-	"
-BDEPEND="
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	virtual/pkgconfig
-	"
-
-set_board() {
-	# No need to be board specific, no tools below build code that is
-	# EC specific. However, the EC build system must ensure that all
-	# utilities in this package are built for a given board. We ensure this
-	# for the host board.
-	export BOARD="host"
-}
-
-src_configure() {
-	distutils-r1_src_configure
-}
-
-src_compile() {
-	tc-export AR CC PKG_CONFIG RANLIB
-	# In platform/ec Makefile, it uses "CC" to specify target chipset and
-	# "HOSTCC" to compile the utility program because it assumes developers
-	# want to run the utility from same host (build machine).
-	# In this ebuild file, we only build utility
-	# and we may want to build it so it can
-	# be executed on target devices (i.e., arm/x86/amd64), not the build
-	# host (BUILDCC, amd64). So we need to override HOSTCC by target "CC".
-	export HOSTCC="${CC}"
-	set_board
-	emake utils-host
-	# Add usb_updater2 for servo or hammer updates.
-	emake -C extra/usb_updater usb_updater2
-	if use hammerd; then
-		# Add touchpad_updater for TP update on hammer.
-		emake -C extra/touchpad_updater touchpad_updater
-	fi
-	distutils-r1_src_compile
-}
-
-src_install() {
-	set_board
-	dobin "build/${BOARD}/util/stm32mon"
-	dobin "build/${BOARD}/util/ec_parse_panicinfo"
-	dobin "build/${BOARD}/util/uartupdatetool"
-	dobin "build/${BOARD}/util/iteflash"
-
-	# Add usb_updater2 for servo or hammer updates.
-	dosbin "extra/usb_updater/usb_updater2"
-	if use hammerd; then
-		# Add touchpad_updater for TP update on hammer.
-		newsbin "extra/touchpad_updater/touchpad_updater" ec_touchpad_updater
-	fi
-
-	dobin "util/flash_ec"
-	dobin "util/uart_stress_tester.py"
-	insinto /usr/share/ec-devutils
-	doins util/openocd/*
-
-	distutils-r1_src_install
-}
diff --git a/chromeos-base/ec-devutils/ec-devutils-0.0.2-r11763.ebuild b/chromeos-base/ec-devutils/ec-devutils-0.0.2-r11763.ebuild
new file mode 100644
index 0000000..9dc6b71
--- /dev/null
+++ b/chromeos-base/ec-devutils/ec-devutils-0.0.2-r11763.ebuild
@@ -0,0 +1,91 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+CROS_WORKON_COMMIT="d84b01e8075947e37272c041ce4bbeb905babffd"
+CROS_WORKON_TREE="8748ce26af15d46e1651525a4e299e4f3b46cb72"
+CROS_WORKON_PROJECT="chromiumos/platform/ec"
+CROS_WORKON_LOCALNAME="platform/ec"
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-workon distutils-r1
+
+DESCRIPTION="Host development utilities for Chromium OS EC"
+HOMEPAGE="https://www.chromium.org/chromium-os/ec-development"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="hammerd"
+
+DEPEND="virtual/libusb:1=
+	sys-apps/flashmap:=
+	"
+RDEPEND="
+	${DEPEND}
+	app-mobilephone/dfu-util
+	sys-firmware/servo-firmware
+	sys-apps/flashrom
+	!<chromeos-base/ec-utils-0.0.1-r6153
+	chromeos-base/ec-utils
+	>=dev-python/pyusb-1.0.2[${PYTHON_USEDEP}]
+	"
+BDEPEND="
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	virtual/pkgconfig
+	"
+
+set_board() {
+	# No need to be board specific, no tools below build code that is
+	# EC specific. However, the EC build system must ensure that all
+	# utilities in this package are built for a given board. We ensure this
+	# for the host board.
+	export BOARD="host"
+}
+
+src_configure() {
+	distutils-r1_src_configure
+}
+
+src_compile() {
+	tc-export AR CC PKG_CONFIG RANLIB
+	# In platform/ec Makefile, it uses "CC" to specify target chipset and
+	# "HOSTCC" to compile the utility program because it assumes developers
+	# want to run the utility from same host (build machine).
+	# In this ebuild file, we only build utility
+	# and we may want to build it so it can
+	# be executed on target devices (i.e., arm/x86/amd64), not the build
+	# host (BUILDCC, amd64). So we need to override HOSTCC by target "CC".
+	export HOSTCC="${CC}"
+	set_board
+	emake CC="${CC}" utils-host
+	# Add usb_updater2 for servo or hammer updates.
+	emake -C extra/usb_updater usb_updater2
+	if use hammerd; then
+		# Add touchpad_updater for TP update on hammer.
+		emake -C extra/touchpad_updater touchpad_updater
+	fi
+	distutils-r1_src_compile
+}
+
+src_install() {
+	set_board
+	dobin "build/${BOARD}/util/stm32mon"
+	dobin "build/${BOARD}/util/ec_parse_panicinfo"
+	dobin "build/${BOARD}/util/uartupdatetool"
+	dobin "build/${BOARD}/util/iteflash"
+
+	# Add usb_updater2 for servo or hammer updates.
+	dosbin "extra/usb_updater/usb_updater2"
+	if use hammerd; then
+		# Add touchpad_updater for TP update on hammer.
+		newsbin "extra/touchpad_updater/touchpad_updater" ec_touchpad_updater
+	fi
+
+	dobin "util/flash_ec"
+	dobin "util/uart_stress_tester.py"
+	insinto /usr/share/ec-devutils
+	doins util/openocd/*
+
+	distutils-r1_src_install
+}
diff --git a/chromeos-base/ec-devutils/ec-devutils-9999.ebuild b/chromeos-base/ec-devutils/ec-devutils-9999.ebuild
index e54df81..8938ef6 100644
--- a/chromeos-base/ec-devutils/ec-devutils-9999.ebuild
+++ b/chromeos-base/ec-devutils/ec-devutils-9999.ebuild
@@ -4,7 +4,7 @@
 EAPI="7"
 CROS_WORKON_PROJECT="chromiumos/platform/ec"
 CROS_WORKON_LOCALNAME="platform/ec"
-PYTHON_COMPAT=( python3_6 )
+PYTHON_COMPAT=( python3_{6..9} )
 
 inherit cros-workon distutils-r1
 
@@ -56,7 +56,7 @@
 	# host (BUILDCC, amd64). So we need to override HOSTCC by target "CC".
 	export HOSTCC="${CC}"
 	set_board
-	emake utils-host
+	emake CC="${CC}" utils-host
 	# Add usb_updater2 for servo or hammer updates.
 	emake -C extra/usb_updater usb_updater2
 	if use hammerd; then
diff --git a/chromeos-base/ec-utils-test/ec-utils-test-0.0.1-r10868.ebuild b/chromeos-base/ec-utils-test/ec-utils-test-0.0.1-r10868.ebuild
new file mode 100644
index 0000000..39bcfad
--- /dev/null
+++ b/chromeos-base/ec-utils-test/ec-utils-test-0.0.1-r10868.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="d84b01e8075947e37272c041ce4bbeb905babffd"
+CROS_WORKON_TREE="8748ce26af15d46e1651525a4e299e4f3b46cb72"
+CROS_WORKON_PROJECT="chromiumos/platform/ec"
+CROS_WORKON_LOCALNAME="platform/ec"
+CROS_WORKON_INCREMENTAL_BUILD=1
+PYTHON_COMPAT=( python3_{6..9} pypy3 )
+
+inherit cros-workon python-r1
+
+DESCRIPTION="Chrome OS EC Utility Helper"
+
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/ec/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="biod -cr50_onboard"
+
+# flash_fp_mcu depends on stm32mon (ec-devutils)
+RDEPEND="
+	${PYTHON_DEPS}
+	chromeos-base/ec-utils
+	biod? (
+		chromeos-base/ec-devutils
+		dev-util/shflags
+	      )
+"
+
+src_compile() {
+	tc-export CC
+
+	if use cr50_onboard; then
+		emake -C extra/rma_reset
+	fi
+}
+
+src_install() {
+	dobin "util/battery_temp"
+	dosbin "util/inject-keys.py"
+
+	if use cr50_onboard; then
+		dobin "extra/rma_reset/rma_reset"
+	fi
+
+	if use biod; then
+		einfo "Installing flash_fp_mcu and fptool"
+		dobin "util/flash_fp_mcu"
+		newbin "util/fptool.py" "fptool"
+	fi
+}
diff --git a/chromeos-base/ec-utils-test/ec-utils-test-0.0.1-r9275.ebuild b/chromeos-base/ec-utils-test/ec-utils-test-0.0.1-r9275.ebuild
deleted file mode 100644
index 7b09655..0000000
--- a/chromeos-base/ec-utils-test/ec-utils-test-0.0.1-r9275.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="48813eba426326f9ee4a5b5f5e45310fe7597a70"
-CROS_WORKON_TREE="6ac0be6aa6885a6a72d008c64e4e07882535efe0"
-CROS_WORKON_PROJECT="chromiumos/platform/ec"
-CROS_WORKON_LOCALNAME="platform/ec"
-CROS_WORKON_INCREMENTAL_BUILD=1
-PYTHON_COMPAT=( python3_{6,7,8} pypy3 )
-
-inherit cros-workon python-r1
-
-DESCRIPTION="Chrome OS EC Utility Helper"
-
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/ec/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="biod -cr50_onboard"
-
-# flash_fp_mcu depends on stm32mon (ec-devutils)
-RDEPEND="
-	${PYTHON_DEPS}
-	chromeos-base/ec-utils
-	biod? (
-		chromeos-base/ec-devutils
-		dev-util/shflags
-	      )
-"
-
-src_compile() {
-	tc-export CC
-
-	if use cr50_onboard; then
-		emake -C extra/rma_reset
-	fi
-}
-
-src_install() {
-	dobin "util/battery_temp"
-	dosbin "util/inject-keys.py"
-
-	if use cr50_onboard; then
-		dobin "extra/rma_reset/rma_reset"
-	fi
-
-	if use biod; then
-		einfo "Installing flash_fp_mcu and fptool"
-		dobin "util/flash_fp_mcu"
-		newbin "util/fptool.py" "fptool"
-	fi
-}
diff --git a/chromeos-base/ec-utils-test/ec-utils-test-9999.ebuild b/chromeos-base/ec-utils-test/ec-utils-test-9999.ebuild
index 6bef6a3..1823386 100644
--- a/chromeos-base/ec-utils-test/ec-utils-test-9999.ebuild
+++ b/chromeos-base/ec-utils-test/ec-utils-test-9999.ebuild
@@ -5,7 +5,7 @@
 CROS_WORKON_PROJECT="chromiumos/platform/ec"
 CROS_WORKON_LOCALNAME="platform/ec"
 CROS_WORKON_INCREMENTAL_BUILD=1
-PYTHON_COMPAT=( python3_{6,7,8} pypy3 )
+PYTHON_COMPAT=( python3_{6..9} pypy3 )
 
 inherit cros-workon python-r1
 
diff --git a/chromeos-base/ec-utils/ec-utils-0.0.2-r12103.ebuild b/chromeos-base/ec-utils/ec-utils-0.0.2-r12103.ebuild
deleted file mode 100644
index 7d5b31b..0000000
--- a/chromeos-base/ec-utils/ec-utils-0.0.2-r12103.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="48813eba426326f9ee4a5b5f5e45310fe7597a70"
-CROS_WORKON_TREE="6ac0be6aa6885a6a72d008c64e4e07882535efe0"
-CROS_WORKON_PROJECT="chromiumos/platform/ec"
-CROS_WORKON_LOCALNAME="platform/ec"
-
-inherit cros-workon user
-
-DESCRIPTION="Chrome OS EC Utility"
-
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/ec/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="static -updater_utils"
-IUSE="${IUSE} cros_host +cros_ec_utils"
-
-COMMON_DEPEND="dev-embedded/libftdi:=
-	dev-libs/openssl:0=
-	sys-libs/zlib:=
-	virtual/libusb:1="
-DEPEND="${COMMON_DEPEND}"
-RDEPEND="${COMMON_DEPEND}"
-
-pkg_preinst() {
-	enewgroup "dialout"
-}
-
-src_compile_cros_ec_utils() {
-	BOARD=host emake utils-host CC="${CC}"
-}
-
-src_compile() {
-	tc-export AR CC PKG_CONFIG RANLIB
-	# In platform/ec Makefile, it uses "CC" to specify target chipset and
-	# "HOSTCC" to compile the utility program because it assumes developers
-	# want to run the utility from same host (build machine).
-	# In this ebuild file, we only build utility
-	# and we may want to build it so it can
-	# be executed on target devices (i.e., arm/x86/amd64), not the build
-	# host (BUILDCC, amd64). So we need to override HOSTCC by target "CC".
-	export HOSTCC="${CC} $(usex static '-static' '')"
-
-	# Build Chromium EC utilities.
-	use cros_ec_utils && src_compile_cros_ec_utils
-}
-
-src_install_cros_ec_utils() {
-	if use cros_host; then
-		dobin "build/host/util/cbi-util"
-	else
-		dosbin "build/host/util/ectool"
-		dosbin "build/host/util/ec_parse_panicinfo"
-		dosbin "build/host/util/ec_sb_firmware_update"
-	fi
-}
-
-src_install() {
-	# Install Chromium EC utilities.
-	use cros_ec_utils && src_install_cros_ec_utils
-}
-
-pkg_postinst() {
-	if ! $(id -Gn "$(logname)" | grep -qw "dialout") ; then
-		usermod -a -G "dialout" "$(logname)"
-		einfo "A new group, dialout is added." \
-			"Please re-login to apply this change."
-	fi
-}
diff --git a/chromeos-base/ec-utils/ec-utils-0.0.2-r13696.ebuild b/chromeos-base/ec-utils/ec-utils-0.0.2-r13696.ebuild
new file mode 100644
index 0000000..0a4fdf3
--- /dev/null
+++ b/chromeos-base/ec-utils/ec-utils-0.0.2-r13696.ebuild
@@ -0,0 +1,73 @@
+# Copyright 2012 The ChromiumOS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="d84b01e8075947e37272c041ce4bbeb905babffd"
+CROS_WORKON_TREE="8748ce26af15d46e1651525a4e299e4f3b46cb72"
+CROS_WORKON_PROJECT="chromiumos/platform/ec"
+CROS_WORKON_LOCALNAME="platform/ec"
+
+inherit cros-workon user
+
+DESCRIPTION="Chrome OS EC Utility"
+
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/ec/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="static -updater_utils"
+IUSE="${IUSE} cros_host +cros_ec_utils"
+
+COMMON_DEPEND="dev-embedded/libftdi:=
+	dev-libs/openssl:0=
+	sys-libs/zlib:=
+	virtual/libusb:1="
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+
+pkg_preinst() {
+	enewgroup "dialout"
+}
+
+src_compile_cros_ec_utils() {
+	BOARD=host emake utils-host CC="${CC}"
+}
+
+src_compile() {
+	tc-export AR CC PKG_CONFIG RANLIB
+	# In platform/ec Makefile, it uses "CC" to specify target chipset and
+	# "HOSTCC" to compile the utility program because it assumes developers
+	# want to run the utility from same host (build machine).
+	# In this ebuild file, we only build utility
+	# and we may want to build it so it can
+	# be executed on target devices (i.e., arm/x86/amd64), not the build
+	# host (BUILDCC, amd64). So we need to override HOSTCC by target "CC".
+	export HOSTCC="${CC} $(usex static '-static' '')"
+
+	# Build Chromium EC utilities.
+	use cros_ec_utils && src_compile_cros_ec_utils
+}
+
+src_install_cros_ec_utils() {
+	if use cros_host; then
+		dobin "build/host/util/cbi-util"
+	else
+		dosbin "build/host/util/ectool"
+		dosbin "build/host/util/ec_parse_panicinfo"
+		dosbin "build/host/util/ec_sb_firmware_update"
+	fi
+}
+
+src_install() {
+	# Install Chromium EC utilities.
+	use cros_ec_utils && src_install_cros_ec_utils
+}
+
+pkg_postinst() {
+	if ! $(id -Gn "$(logname)" | grep -qw "dialout") ; then
+		usermod -a -G "dialout" "$(logname)"
+		einfo "A new group, dialout is added." \
+			"Please re-login to apply this change."
+	fi
+}
diff --git a/chromeos-base/ec-utils/ec-utils-9999.ebuild b/chromeos-base/ec-utils/ec-utils-9999.ebuild
index 1c9fdd0..6dcba4bea 100644
--- a/chromeos-base/ec-utils/ec-utils-9999.ebuild
+++ b/chromeos-base/ec-utils/ec-utils-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2012 The Chromium OS Authors. All rights reserved.
+# Copyright 2012 The ChromiumOS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
diff --git a/chromeos-base/elan_i2chid_tools/Manifest b/chromeos-base/elan_i2chid_tools/Manifest
index a157d31..7c9c772 100644
--- a/chromeos-base/elan_i2chid_tools/Manifest
+++ b/chromeos-base/elan_i2chid_tools/Manifest
@@ -1 +1 @@
-DIST elan_i2chid_tools-1.14.tar.gz 73770 BLAKE2B c9c4090d9e3c2c58dec9816e03160d8f87815ea8927bfcd6f096328a456cd6d2a3865b1c2f45658a130cdac61a2c39cb14bd4bc0a06eab591ca92528906f634f SHA512 320ae408fd043c32a3d2f070abe6346ad786d5df443f898ce1c48f58f1d14de85a695eb26fb1d65c0dc30154dbe3c53c011e89caf13987cc4310ce0f2822ea4f
+DIST elan_i2chid_tools-1.16.tar.gz 74320 BLAKE2B 22a96b3682043479cd9dd8d0a14314bb18b1351b9a762c998a5f4898c888f0c7ff11c229f1a99dc97ebdfd88db61490d583c9a3a1a9db40f18e7b1004c55bc76 SHA512 da547669ed924db8636aebe0a042bf514631a0048f8da97888342b176d888fa1846ba4c7d88ff06b1019db06b64982196cfe5d0068eae0a3777dcd2f8e3738b8
diff --git a/chromeos-base/elan_i2chid_tools/elan_i2chid_tools-1.14-r12.ebuild b/chromeos-base/elan_i2chid_tools/elan_i2chid_tools-1.16-r9.ebuild
similarity index 100%
rename from chromeos-base/elan_i2chid_tools/elan_i2chid_tools-1.14-r12.ebuild
rename to chromeos-base/elan_i2chid_tools/elan_i2chid_tools-1.16-r9.ebuild
diff --git a/chromeos-base/elan_i2chid_tools/files/fwid_mapping_table.txt b/chromeos-base/elan_i2chid_tools/files/fwid_mapping_table.txt
index e90656d..4fd2161 100644
--- a/chromeos-base/elan_i2chid_tools/files/fwid_mapping_table.txt
+++ b/chromeos-base/elan_i2chid_tools/files/fwid_mapping_table.txt
@@ -1,40 +1,58 @@
 manufacturer.product,chrome_fwid,windows_fwid,
 04f3.2ca6,33f3,,
-06af.8fa4,3572,,
+06af.239b,,,
 06af.3d24,,,
 06af.3d31,2fca,2e36,
 06af.3d32,,,
 06af.3d40,,,
+06af.5c40,381f,,
 06af.5c61,,,
+06af.639c,37b9,,
+06af.89f5,3888,,
 06af.8b81,,,
+06af.8fa4,3572,,
+06af.8fcb,,,
 06af.917e,3616,,
 06af.995a,,,
 06af.99a1,08fc,,
 06af.9b23,,,
-06af.9edd,35ec,,
+06af.9d45,3776,,
+06af.9edd,35ed,,
 06af.a072,35ec,,
-09e5.b109,3573,,
+06af.a185,,,
+06af.a64c,392a,,
+06af.ed21,3682,,
+09e5.060b,387A,,
 09e5.160a,,,
-09e5.2d08,1fa6,,
+09e5.1d0a,38f6,,
+09e5.250a,,,
 09e5.2909,3216,,
+09e5.2d08,1fa6,,
+09e5.3a0a,38f5,,
 09e5.5d0a,08fd,,
 09e5.6609,,,
+09e5.6a0a,38f4,,
 09e5.760a,,,
 09e5.7e08,328f,328d,
-09e5.da08,,,
+09e5.b109,3573,,
 09e5.bc08,1f6a,,
+09e5.da08,,,
 09e5.fa08,1eb9,,
 0dae.0214,3558,,
 0dae.0614,,,
+0dae.0814,,,
+0dae.114c,,,
 0dae.1816,3860,,
 0dae.3314,,,
 0dae.4a11,3615,,
+0dae.4d15,3889,,
 0dae.c013,,,
+0dae.d414,35a9,,
 0dae.e814,,,
 0dae.e914,30e4,2e3e,
-0dae.d414,35a9,,
-0e6f.0413,1eb9,,
+0e6f.0413,,,
 1805.5405,,,
+26cf.4d8c,3722,,
 26cf.c634,,,
 26cf.c734,,,
 26cf.d234,,,
diff --git a/chromeos-base/factory-deps/OWNERS b/chromeos-base/factory-deps/OWNERS
new file mode 100644
index 0000000..b2cda88
--- /dev/null
+++ b/chromeos-base/factory-deps/OWNERS
@@ -0,0 +1 @@
+include /chromiumos/platform/factory:/OWNERS
diff --git a/chromeos-base/factory-deps/factory-deps-1-r12.ebuild b/chromeos-base/factory-deps/factory-deps-1-r14.ebuild
similarity index 100%
rename from chromeos-base/factory-deps/factory-deps-1-r12.ebuild
rename to chromeos-base/factory-deps/factory-deps-1-r14.ebuild
diff --git a/chromeos-base/factory-deps/factory-deps-1.ebuild b/chromeos-base/factory-deps/factory-deps-1.ebuild
index d724fc2..a6408e6 100644
--- a/chromeos-base/factory-deps/factory-deps-1.ebuild
+++ b/chromeos-base/factory-deps/factory-deps-1.ebuild
@@ -46,6 +46,7 @@
 	net-misc/htpdate
 	sys-apps/iproute2
 	sys-apps/lshw
+	sys-apps/mosys
 "
 
 # Packages used by audio related tests
@@ -104,6 +105,12 @@
 	chromeos-base/cros-config-api
 "
 
+# Packages used for Widevine keybox provisioning tests.
+FACTORY_TEST_RDEPEND+="
+	dev-python/crcmod
+	dev-python/pycryptodome
+"
+
 ################################################################################
 # Assemble the final RDEPEND variable for portage
 ################################################################################
diff --git a/chromeos-base/factory-mini/factory-mini-0.0.1-r2522.ebuild b/chromeos-base/factory-mini/factory-mini-0.0.1-r2522.ebuild
deleted file mode 100644
index 0fc37ec..0000000
--- a/chromeos-base/factory-mini/factory-mini-0.0.1-r2522.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# factory-mini is a subset of the factory software that can
-# be used to run utilities like gooftool, hwid, and regcode, which may
-# be useful in the CrOS test environment.  For instance, this would
-# allow "gooftool probe" to be used to probe hardware components in
-# Moblab.
-#
-# We don't want to install the entire chromeos-factory package in the
-# test image, since it is quite large, so this package comprises a
-# small ".par" file (/usr/local/factory-mini/factory-mini.par)
-# containing the necessary subset of factory Python code, and symlinks
-# from /usr/local/bin to that file.
-
-EAPI=7
-CROS_WORKON_COMMIT="33ef935dd0e92ed4d78cb5831bc567e122b2f834"
-CROS_WORKON_TREE="7a08d5b4ce22019a7f4cf5645c6bf6f8bd4a749e"
-CROS_WORKON_PROJECT="chromiumos/platform/factory"
-CROS_WORKON_LOCALNAME="platform/factory"
-PYTHON_COMPAT=( python3_{4,5,6,7} )
-
-inherit cros-workon python-r1
-
-# TODO(b/155841952): Merge installer and factory-mini.par
-
-# External dependencies (sync with factory.ebuild)
-LOCAL_MIRROR_URL="http://commondatastorage.googleapis.com/chromeos-localmirror/"
-WEBGL_AQUARIUM_URI="${LOCAL_MIRROR_URL}/distfiles/webgl-aquarium-20130524.tar.bz2"
-SRC_URI="${WEBGL_AQUARIUM_URI}"
-
-DESCRIPTION="Subset of factory software to be installed in test images"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND="${PYTHON_DEPS}
-	dev-python/jsonrpclib:=
-	dev-python/pyyaml:=
-	dev-python/protobuf-python:=
-	virtual/chromeos-bsp-factory:=
-	virtual/chromeos-regions:=
-"
-
-pkg_setup() {
-	cros-workon_pkg_setup
-	python_setup
-}
-
-src_unpack() {
-	cros-workon_src_unpack
-	default
-}
-
-src_configure() {
-	default
-
-	# Export build settings
-	export PYTHON="${EPYTHON}"
-	export PYTHON_SITEDIR="${ESYSROOT}$(python_get_sitedir)"
-	export SRCROOT="${CROS_WORKON_SRCROOT}"
-	export FROM_EBUILD=1
-
-	# Export factory toolkit build settings
-	export BOARD="${SYSROOT##*/}"
-	export TARGET_DIR=/usr/local/factory
-	export WEBGL_AQUARIUM_DIR="${WORKDIR}/webgl_aquarium_static"
-}
-
-src_compile() {
-	emake par MAKE_PAR_ARGS=--mini PAR_NAME=factory-mini.par
-
-	emake toolkit
-}
-
-src_install() {
-	exeinto /usr/local/factory-mini
-	doexe build/par/factory-mini.par
-
-	# Sanity check: make sure we can run gooftool --help with only
-	# the -mini.par file.
-	build/par/factory-mini.par gooftool --help |
-		grep -q "^usage: gooftool" || die
-
-	# Install only symlinks for binaries usable with factory-mini.par.
-	"${S}/bin/install_symlinks" \
-		--mode mini --target ../factory-mini/factory-mini.par \
-		"${D}"/usr/local/bin || die
-
-	exeinto /usr/local/factory-toolkit
-	doexe build/install_factory_toolkit.run
-}
diff --git a/chromeos-base/factory-mini/factory-mini-0.0.1-r2774.ebuild b/chromeos-base/factory-mini/factory-mini-0.0.1-r2774.ebuild
new file mode 100644
index 0000000..37ae681
--- /dev/null
+++ b/chromeos-base/factory-mini/factory-mini-0.0.1-r2774.ebuild
@@ -0,0 +1,94 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# factory-mini is a subset of the factory software that can
+# be used to run utilities like gooftool, hwid, and regcode, which may
+# be useful in the CrOS test environment.  For instance, this would
+# allow "gooftool probe" to be used to probe hardware components in
+# Moblab.
+#
+# We don't want to install the entire chromeos-factory package in the
+# test image, since it is quite large, so this package comprises a
+# small ".par" file (/usr/local/factory-mini/factory-mini.par)
+# containing the necessary subset of factory Python code, and symlinks
+# from /usr/local/bin to that file.
+
+EAPI=7
+CROS_WORKON_COMMIT="0579eaa8097283074c99600c84de8d506683465e"
+CROS_WORKON_TREE="2f51113b10e8654ea39e27bd5e62c28477cf9c08"
+CROS_WORKON_PROJECT="chromiumos/platform/factory"
+CROS_WORKON_LOCALNAME="platform/factory"
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-workon python-r1
+
+# TODO(b/155841952): Merge installer and factory-mini.par
+
+# External dependencies (sync with factory.ebuild)
+LOCAL_MIRROR_URL="http://commondatastorage.googleapis.com/chromeos-localmirror/"
+WEBGL_AQUARIUM_URI="${LOCAL_MIRROR_URL}/distfiles/webgl-aquarium-20130524.tar.bz2"
+SRC_URI="${WEBGL_AQUARIUM_URI}"
+
+DESCRIPTION="Subset of factory software to be installed in test images"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="${PYTHON_DEPS}
+	dev-python/jsonrpclib:=
+	dev-python/pyyaml:=
+	dev-python/protobuf-python:=
+	virtual/chromeos-bsp-factory:=
+	virtual/chromeos-regions:=
+"
+
+pkg_setup() {
+	cros-workon_pkg_setup
+	python_setup
+}
+
+src_unpack() {
+	cros-workon_src_unpack
+	default
+}
+
+src_configure() {
+	default
+
+	# Export build settings
+	export PYTHON="${EPYTHON}"
+	export PYTHON_SITEDIR="${ESYSROOT}$(python_get_sitedir)"
+	export SRCROOT="${CROS_WORKON_SRCROOT}"
+	export FROM_EBUILD=1
+
+	# Export factory toolkit build settings
+	export BOARD="${SYSROOT##*/}"
+	export TARGET_DIR=/usr/local/factory
+	export WEBGL_AQUARIUM_DIR="${WORKDIR}/webgl_aquarium_static"
+}
+
+src_compile() {
+	emake par MAKE_PAR_ARGS=--mini PAR_NAME=factory-mini.par
+
+	emake toolkit
+}
+
+src_install() {
+	exeinto /usr/local/factory-mini
+	doexe build/par/factory-mini.par
+
+	# Sanity check: make sure we can run gooftool --help with only
+	# the -mini.par file.
+	build/par/factory-mini.par gooftool --help |
+		grep -q "^usage: gooftool" || die
+
+	# Install only symlinks for binaries usable with factory-mini.par.
+	"${S}/bin/install_symlinks" \
+		--mode mini --target ../factory-mini/factory-mini.par \
+		"${D}"/usr/local/bin || die
+
+	exeinto /usr/local/factory-toolkit
+	doexe build/install_factory_toolkit.run
+}
diff --git a/chromeos-base/factory-mini/factory-mini-9999.ebuild b/chromeos-base/factory-mini/factory-mini-9999.ebuild
index e9b5278..870ce7d 100644
--- a/chromeos-base/factory-mini/factory-mini-9999.ebuild
+++ b/chromeos-base/factory-mini/factory-mini-9999.ebuild
@@ -17,7 +17,7 @@
 EAPI=7
 CROS_WORKON_PROJECT="chromiumos/platform/factory"
 CROS_WORKON_LOCALNAME="platform/factory"
-PYTHON_COMPAT=( python3_{4,5,6,7} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 inherit cros-workon python-r1
 
diff --git a/chromeos-base/factory/factory-0.2.0-r2455.ebuild b/chromeos-base/factory/factory-0.2.0-r2455.ebuild
deleted file mode 100644
index d3f3c6d..0000000
--- a/chromeos-base/factory/factory-0.2.0-r2455.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="33ef935dd0e92ed4d78cb5831bc567e122b2f834"
-CROS_WORKON_TREE="7a08d5b4ce22019a7f4cf5645c6bf6f8bd4a749e"
-CROS_WORKON_PROJECT="chromiumos/platform/factory"
-CROS_WORKON_LOCALNAME="platform/factory"
-CROS_WORKON_OUTOFTREE_BUILD=1
-
-# TODO(crbug.com/999876): Upgrade to Python 3 at some point.
-PYTHON_COMPAT=( python3_{4,5,6,7} )
-
-inherit cros-workon python-r1 cros-constants cros-factory
-
-# External dependencies
-LOCAL_MIRROR_URL=http://commondatastorage.googleapis.com/chromeos-localmirror/
-WEBGL_AQUARIUM_URI=${LOCAL_MIRROR_URL}/distfiles/webgl-aquarium-20130524.tar.bz2
-
-DESCRIPTION="Chrome OS Factory Software Platform"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/factory/"
-SRC_URI="${WEBGL_AQUARIUM_URI}"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-DEPEND="virtual/chromeos-bsp-factory:=
-	virtual/chromeos-regions:=
-	dev-python/jsonrpclib:=
-	dev-python/pyyaml:=
-	dev-python/protobuf-python:=
-"
-
-BUILD_DIR="${WORKDIR}/build"
-
-pkg_setup() {
-	cros-workon_pkg_setup
-	python_setup
-}
-
-src_prepare() {
-	default
-	# Need the lddtree from the chromite dir.
-	export PATH="${CHROMITE_BIN_DIR}:${PATH}"
-}
-
-src_configure() {
-	default
-
-	# Export build settings
-	export BOARD="${SYSROOT##*/}"
-	export OUTOFTREE_BUILD="${CROS_WORKON_OUTOFTREE_BUILD}"
-	export PYTHON="${EPYTHON}"
-	export PYTHON_SITEDIR="${ESYSROOT}$(python_get_sitedir)"
-	export SRCROOT="${CROS_WORKON_SRCROOT}"
-	export TARGET_DIR=/usr/local/factory
-	export WEBGL_AQUARIUM_DIR="${WORKDIR}/webgl_aquarium_static"
-	export FROM_EBUILD=1
-
-	# Support out-of-tree build.
-	export BUILD_DIR="${WORKDIR}/build"
-
-	export BUNDLE_DIR="${WORKDIR}/bundle"
-}
-
-src_unpack() {
-	cros-workon_src_unpack
-	default
-}
-
-src_compile() {
-	emake bundle
-	emake project-toolkits
-}
-
-src_test() {
-	emake ebuild-test
-}
-
-src_install() {
-	# The path of bundle is defined in chromite/cbuildbot/commands.py
-	local bundle_dest
-	bundle_dest="${ED}/usr/local/factory"
-	mkdir -p "${bundle_dest}"
-	mv "${WORKDIR}/bundle" "${bundle_dest}"
-
-	shopt -s nullglob
-	local list_of_toolkits=("${BUILD_DIR}/"*"_install_factory_toolkit.run")
-	shopt -u nullglob
-	if [[ "${#list_of_toolkits[@]}" -ne 0 ]]; then
-		local GZ=pigz
-		type pigz >/dev/null 2>&1 || GZ=gzip
-
-		local archive_path="${WORKDIR}/factory_project_toolkits.tar.gz"
-		local list_of_toolkit_names=()
-		local toolkit
-		for toolkit in "${list_of_toolkits[@]}"; do
-			list_of_toolkit_names+=( "$(basename "${toolkit}")" )
-		done
-		tar -I "${GZ}" -cvf "${archive_path}" \
-			-C "${BUILD_DIR}" "${list_of_toolkit_names[@]}" || die
-		exeinto "${TARGET_DIR}/project_toolkits"
-		doexe "${archive_path}"
-	fi
-
-	insinto "${CROS_FACTORY_BOARD_RESOURCES_DIR}"
-	doins "${BUILD_DIR}/resource/installer.tar"
-}
diff --git a/chromeos-base/factory/factory-0.2.0-r2707.ebuild b/chromeos-base/factory/factory-0.2.0-r2707.ebuild
new file mode 100644
index 0000000..fe4cd097
--- /dev/null
+++ b/chromeos-base/factory/factory-0.2.0-r2707.ebuild
@@ -0,0 +1,107 @@
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="0579eaa8097283074c99600c84de8d506683465e"
+CROS_WORKON_TREE="2f51113b10e8654ea39e27bd5e62c28477cf9c08"
+CROS_WORKON_PROJECT="chromiumos/platform/factory"
+CROS_WORKON_LOCALNAME="platform/factory"
+CROS_WORKON_OUTOFTREE_BUILD=1
+
+# TODO(crbug.com/999876): Upgrade to Python 3 at some point.
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-workon python-r1 cros-constants cros-factory
+
+# External dependencies
+LOCAL_MIRROR_URL=http://commondatastorage.googleapis.com/chromeos-localmirror/
+WEBGL_AQUARIUM_URI=${LOCAL_MIRROR_URL}/distfiles/webgl-aquarium-20130524.tar.bz2
+
+DESCRIPTION="Chrome OS Factory Software Platform"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/factory/"
+SRC_URI="${WEBGL_AQUARIUM_URI}"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+DEPEND="virtual/chromeos-bsp-factory:=
+	virtual/chromeos-regions:=
+	dev-python/jsonrpclib:=
+	dev-python/pyyaml:=
+	dev-python/protobuf-python:=
+"
+
+BUILD_DIR="${WORKDIR}/build"
+
+pkg_setup() {
+	cros-workon_pkg_setup
+	python_setup
+}
+
+src_prepare() {
+	default
+	# Need the lddtree from the chromite dir.
+	export PATH="${CHROMITE_BIN_DIR}:${PATH}"
+}
+
+src_configure() {
+	default
+
+	# Export build settings
+	export BOARD="${SYSROOT##*/}"
+	export OUTOFTREE_BUILD="${CROS_WORKON_OUTOFTREE_BUILD}"
+	export PYTHON="${EPYTHON}"
+	export PYTHON_SITEDIR="${ESYSROOT}$(python_get_sitedir)"
+	export SRCROOT="${CROS_WORKON_SRCROOT}"
+	export TARGET_DIR=/usr/local/factory
+	export WEBGL_AQUARIUM_DIR="${WORKDIR}/webgl_aquarium_static"
+	export FROM_EBUILD=1
+
+	# Support out-of-tree build.
+	export BUILD_DIR="${WORKDIR}/build"
+
+	export BUNDLE_DIR="${WORKDIR}/bundle"
+}
+
+src_unpack() {
+	cros-workon_src_unpack
+	default
+}
+
+src_compile() {
+	emake bundle
+	emake project-toolkits
+}
+
+src_test() {
+	emake ebuild-test
+}
+
+src_install() {
+	# The path of bundle is defined in chromite/cbuildbot/commands.py
+	local bundle_dest
+	bundle_dest="${ED}/usr/local/factory"
+	mkdir -p "${bundle_dest}"
+	mv "${WORKDIR}/bundle" "${bundle_dest}"
+
+	shopt -s nullglob
+	local list_of_toolkits=("${BUILD_DIR}/"*"_install_factory_toolkit.run")
+	shopt -u nullglob
+	if [[ "${#list_of_toolkits[@]}" -ne 0 ]]; then
+		local GZ=pigz
+		type pigz >/dev/null 2>&1 || GZ=gzip
+
+		local archive_path="${WORKDIR}/factory_project_toolkits.tar.gz"
+		local list_of_toolkit_names=()
+		local toolkit
+		for toolkit in "${list_of_toolkits[@]}"; do
+			list_of_toolkit_names+=( "$(basename "${toolkit}")" )
+		done
+		tar -I "${GZ}" -cvf "${archive_path}" \
+			-C "${BUILD_DIR}" "${list_of_toolkit_names[@]}" || die
+		exeinto "${TARGET_DIR}/project_toolkits"
+		doexe "${archive_path}"
+	fi
+
+	insinto "${CROS_FACTORY_BOARD_RESOURCES_DIR}"
+	doins "${BUILD_DIR}/resource/installer.tar"
+}
diff --git a/chromeos-base/factory/factory-9999.ebuild b/chromeos-base/factory/factory-9999.ebuild
index e7a3dbf..fd8dbda 100644
--- a/chromeos-base/factory/factory-9999.ebuild
+++ b/chromeos-base/factory/factory-9999.ebuild
@@ -7,7 +7,7 @@
 CROS_WORKON_OUTOFTREE_BUILD=1
 
 # TODO(crbug.com/999876): Upgrade to Python 3 at some point.
-PYTHON_COMPAT=( python3_{4,5,6,7} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 inherit cros-workon python-r1 cros-constants cros-factory
 
diff --git a/chromeos-base/factory_installer/OWNERS b/chromeos-base/factory_installer/OWNERS
new file mode 100644
index 0000000..b2cda88
--- /dev/null
+++ b/chromeos-base/factory_installer/OWNERS
@@ -0,0 +1 @@
+include /chromiumos/platform/factory:/OWNERS
diff --git a/chromeos-base/factory_installer/factory_installer-0.0.1-r182.ebuild b/chromeos-base/factory_installer/factory_installer-0.0.1-r182.ebuild
deleted file mode 100644
index 73371c29..0000000
--- a/chromeos-base/factory_installer/factory_installer-0.0.1-r182.ebuild
+++ /dev/null
@@ -1,183 +0,0 @@
-# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="420417d0c27e4b13dd944d3ce97a7069241ced91"
-CROS_WORKON_TREE="4c6fa66135d03b585b8e0bfe8bf5cd357a42b0e9"
-CROS_WORKON_PROJECT="chromiumos/platform/factory_installer"
-CROS_WORKON_LOCALNAME="platform/factory_installer"
-
-inherit cros-sanitizers cros-workon toolchain-funcs cros-factory
-
-DESCRIPTION="Chrome OS Factory Installer"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/factory_installer/"
-SRC_URI=""
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-USE_PREFIX="tty_console_"
-ALL_PORTS=(
-	ttyAMA{0..5}
-	ttyHSL{0..5}
-	ttyMSM{0..5}
-	ttymxc{0..5}
-	ttyO{0..5}
-	ttyS{0..5}
-	ttySAC{0..5}
-	ttyUSB{0..5}
-	tty{0..5}
-)
-IUSE_PORTS="${ALL_PORTS[@]/#/${USE_PREFIX}}"
-IUSE="${IUSE_PORTS} -asan test"
-
-# Factory install images operate by downloading content from a
-# server.  In some cases, the downloaded content contains programs
-# to be executed.  The downloaded programs may not be complete;
-# they could have dependencies on shared libraries or commands
-# that must be present in the factory install image.
-#
-# PROVIDED_DEPEND captures a minimal set of packages promised to be
-# provided for use by any downloaded program.  The list must contain
-# any package depended on by any downloaded program.
-#
-# Currently, the only downloaded program is the firmware installer;
-# the dependencies below are gleaned from eclass/cros-firmware.eclass.
-# Changes in that eclass must be reflected here.
-PROVIDED_DEPEND="
-	app-arch/gzip
-	app-arch/sharutils
-	app-arch/tar
-	app-misc/figlet
-	chromeos-base/chromeos-config-tools
-	chromeos-base/vboot_reference
-	sys-apps/mosys
-	sys-apps/util-linux"
-
-# Tests are run on the build host and execute the "secure-wipe.sh" from
-# the build directory.  Unfortunately that script, in turn, includes
-# "/usr/share/misc/chromeos-common.sh" via an absolute path which requires
-# the script to be present on the build host itself.  Let's make sure it's
-# there.
-BDEPEND="
-	test? ( chromeos-base/chromeos-common-script )"
-
-# COMMON_DEPEND tracks dependencies common to both DEPEND and
-# RDEPEND.
-#
-# For chromeos-init there's a runtime dependency because the factory
-# jobs depend on upstart jobs in that package.  There's a build-time
-# dependency because pkg_postinst in this ebuild edits specifc jobs
-# in that package.
-COMMON_DEPEND="
-	chromeos-base/chromeos-init:=
-	!chromeos-base/chromeos-factoryinstall
-	!chromeos-base/chromeos-factory"
-
-DEPEND="${COMMON_DEPEND}
-	chromeos-base/factory:=
-	test? ( chromeos-base/secure-wipe:= )
-	x86? ( sys-boot/syslinux:= )"
-
-RDEPEND="${COMMON_DEPEND}
-	${PROVIDED_DEPEND}
-	app-arch/lbzip2
-	app-arch/pigz
-	app-misc/jq
-	chromeos-base/chromeos-installer
-	chromeos-base/chromeos-storage-info
-	chromeos-base/dlcservice
-	chromeos-base/ec-utils
-	chromeos-base/secure-wipe
-	chromeos-base/vpd
-	dev-util/stressapptest
-	net-misc/htpdate
-	net-wireless/iw
-	sys-apps/flashrom
-	sys-apps/net-tools
-	sys-apps/upstart
-	sys-apps/util-linux
-	sys-block/parted
-	sys-fs/e2fsprogs"
-
-
-src_configure() {
-	sanitizers-setup-env
-	default
-}
-
-src_compile() {
-	tc-export AR CC CXX RANLIB
-	emake
-}
-
-src_test() {
-	tests/secure-wipe.sh || die "integration test failed"
-}
-
-src_install() {
-	local service_file="factory_tty.sh"
-	local tmp_service_file="${T}/${service_file}"
-	local scripts=(*.sh)
-	scripts=(${scripts[@]#${service_file}})
-
-	if [[ -n "${TTY_CONSOLE}" ]]; then
-		local item ports=()
-		for item in ${IUSE_PORTS}; do
-			if use ${item}; then
-				ports+=("${item#${USE_PREFIX}}")
-			fi
-		done
-		sed -e "s/^TTY_CONSOLE=.*$/TTY_CONSOLE=\"${ports[*]}\"/" \
-			"${service_file}" >"${tmp_service_file}" || \
-			die "Failed to change TTY_CONSOLE"
-		service_file="${tmp_service_file}"
-		einfo "Changed TTY_CONSOLE to ${ports[*]}."
-	fi
-	dosbin "${scripts[@]}" "${service_file}"
-
-	insinto /usr/share/factory_installer/tpm
-	doins tpm/*.sh
-
-	insinto /usr/share/factory_installer/init
-	doins init/*.conf
-
-	insinto /root
-	newins $FILESDIR/dot.factory_installer .factory_installer
-	# install PMBR code
-	case "$(tc-arch)" in
-		"x86")
-		einfo "using x86 PMBR code from syslinux"
-		PMBR_SOURCE="${ROOT}/usr/share/syslinux/gptmbr.bin"
-		;;
-		*)
-		einfo "using default PMBR code"
-		PMBR_SOURCE=$FILESDIR/dot.pmbr_code
-		;;
-	esac
-	newins $PMBR_SOURCE .pmbr_code
-
-	einfo "Install resources from chromeos-base/factory."
-	factory_unpack_resource installer "${ED}/usr"
-
-	if [[ -f "$(factory_get_resource_archive_path installer-board)" ]]; then
-		einfo "Install resources from chromeos-base/factory-board."
-		factory_unpack_resource installer-board "${ED}"
-	fi
-}
-
-pkg_postinst() {
-	[[ "$(cros_target)" != "target_image" ]] && return 0
-
-	STATEFUL="${ROOT}/usr/local"
-	STATEFUL_LSB="${STATEFUL}/etc/lsb-factory"
-
-	: "${FACTORY_SERVER:=$(hostname -f)}"
-
-	mkdir -p "${STATEFUL}/etc"
-	sudo dd of="${STATEFUL_LSB}" <<EOF
-CHROMEOS_AUSERVER=http://${FACTORY_SERVER}:8080/update
-CHROMEOS_DEVSERVER=http://${FACTORY_SERVER}:8080/update
-FACTORY_INSTALL=1
-HTTP_SERVER_OVERRIDE=true
-EOF
-}
diff --git a/chromeos-base/factory_installer/factory_installer-0.0.1-r219.ebuild b/chromeos-base/factory_installer/factory_installer-0.0.1-r219.ebuild
new file mode 100644
index 0000000..58fe033
--- /dev/null
+++ b/chromeos-base/factory_installer/factory_installer-0.0.1-r219.ebuild
@@ -0,0 +1,209 @@
+# Copyright 2010 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+CROS_WORKON_COMMIT="5157666de939bc298ac12925891a55062f92e262"
+CROS_WORKON_TREE="973913527c97518feffdeea7eafd58e0e4d9955f"
+CROS_WORKON_PROJECT="chromiumos/platform/factory_installer"
+CROS_WORKON_LOCALNAME="platform/factory_installer"
+CROS_RUST_CRATE_NAME="factory_installer"
+CROS_RUST_SUBDIR="rust"
+
+inherit cros-workon cros-rust cros-factory
+
+DESCRIPTION="Chrome OS Factory Installer"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/factory_installer/"
+SRC_URI=""
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+USE_PREFIX="tty_console_"
+ALL_PORTS=(
+	ttyAMA{0..5}
+	ttyHSL{0..5}
+	ttyMSM{0..5}
+	ttymxc{0..5}
+	ttyO{0..5}
+	ttyS{0..5}
+	ttySAC{0..5}
+	ttyUSB{0..5}
+	tty{0..5}
+)
+IUSE_PORTS="${ALL_PORTS[*]/#/${USE_PREFIX}}"
+IUSE="${IUSE_PORTS} -asan test"
+
+# Factory install images operate by downloading content from a
+# server.  In some cases, the downloaded content contains programs
+# to be executed.  The downloaded programs may not be complete;
+# they could have dependencies on shared libraries or commands
+# that must be present in the factory install image.
+#
+# PROVIDED_DEPEND captures a minimal set of packages promised to be
+# provided for use by any downloaded program.  The list must contain
+# any package depended on by any downloaded program.
+#
+# Currently, the only downloaded program is the firmware installer;
+# the dependencies below are gleaned from eclass/cros-firmware.eclass.
+# Changes in that eclass must be reflected here.
+PROVIDED_DEPEND="
+	app-arch/gzip
+	app-arch/sharutils
+	app-arch/tar
+	app-misc/figlet
+	chromeos-base/chromeos-config-tools
+	chromeos-base/vboot_reference
+	sys-apps/mosys
+	sys-apps/util-linux"
+
+# Tests are run on the build host and execute the "secure-wipe.sh" from
+# the build directory.  Unfortunately that script, in turn, includes
+# "/usr/share/misc/chromeos-common.sh" via an absolute path which requires
+# the script to be present on the build host itself.  Let's make sure it's
+# there.
+BDEPEND="
+	test? ( chromeos-base/chromeos-common-script )"
+
+# COMMON_DEPEND tracks dependencies common to both DEPEND and
+# RDEPEND.
+#
+# For chromeos-init there's a runtime dependency because the factory
+# jobs depend on upstart jobs in that package.  There's a build-time
+# dependency because pkg_postinst in this ebuild edits specifc jobs
+# in that package.
+COMMON_DEPEND="
+	chromeos-base/chromeos-init:=
+	!chromeos-base/chromeos-factoryinstall
+	!chromeos-base/chromeos-factory"
+
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/factory:=
+	chromeos-base/factory_rust
+	test? ( chromeos-base/secure-wipe:= )
+	x86? ( sys-boot/syslinux:= )"
+
+RDEPEND="${COMMON_DEPEND}
+	${PROVIDED_DEPEND}
+	app-arch/lbzip2
+	app-arch/pigz
+	app-misc/jq
+	chromeos-base/chromeos-installer
+	chromeos-base/chromeos-storage-info
+	chromeos-base/dlcservice
+	chromeos-base/ec-utils
+	chromeos-base/secure-wipe
+	chromeos-base/vpd
+	dev-util/stressapptest
+	net-misc/htpdate
+	net-wireless/iw
+	sys-apps/flashrom
+	sys-apps/net-tools
+	sys-apps/upstart
+	sys-apps/util-linux
+	sys-block/parted
+	sys-fs/e2fsprogs
+	sys-kernel/linux-firmware"
+
+
+src_unpack() {
+	cros-workon_src_unpack
+	cros-rust_src_unpack
+}
+
+src_configure() {
+	sanitizers-setup-env
+	cd "${CROS_RUST_SUBDIR}" || die
+	cros-rust_src_configure
+	cd "${S}" || die
+}
+
+src_compile() {
+	tc-export AR CC CXX RANLIB
+	cd "${CROS_RUST_SUBDIR}" || die
+	cros-rust_src_compile --no-default-features --features="factory-fai" \
+		--bin="factory_fai"
+	cd "${S}" || die
+	emake
+}
+
+src_test() {
+	tests/secure-wipe.sh || die "integration test failed"
+	cd "${CROS_RUST_SUBDIR}" || die
+	cros-rust_src_test --all-features
+	cd "${S}" || die
+}
+
+src_install() {
+	local service_file="factory_tty.sh"
+	local tmp_service_file="${T}/${service_file}"
+	local scripts=(*.sh)
+	scripts=( "${scripts[@]# ${service_file}}" )
+
+	if [[ -n "${TTY_CONSOLE}" ]]; then
+		local item ports=()
+		for item in ${IUSE_PORTS}; do
+			if use "${item}"; then
+				ports+=("${item#${USE_PREFIX}}")
+			fi
+		done
+		sed -e "s/^TTY_CONSOLE=.*$/TTY_CONSOLE=\"${ports[*]}\"/" \
+			"${service_file}" >"${tmp_service_file}" || \
+			die "Failed to change TTY_CONSOLE"
+		service_file="${tmp_service_file}"
+		einfo "Changed TTY_CONSOLE to ${ports[*]}."
+	fi
+	dosbin "${scripts[@]}" "${service_file}"
+
+	# install factory_fai
+	cd "${CROS_RUST_SUBDIR}" || die
+	cros-rust_publish "${CROS_RUST_CRATE_NAME}" \
+		"$(cros-rust_get_crate_version "${S}/${CROS_RUST_SUBDIR}")"
+	dosbin "$(cros-rust_get_build_dir)/factory_fai"
+	cd "${S}" || die
+
+	insinto /usr/share/factory_installer/tpm
+	doins tpm/*.sh
+
+	insinto /usr/share/factory_installer/init
+	doins init/*.conf
+
+	insinto /root
+	newins "${FILESDIR}/dot.factory_installer" .factory_installer
+	# install PMBR code
+	case "$(tc-arch)" in
+		"x86")
+		einfo "using x86 PMBR code from syslinux"
+		PMBR_SOURCE="${ROOT}/usr/share/syslinux/gptmbr.bin"
+		;;
+		*)
+		einfo "using default PMBR code"
+		PMBR_SOURCE="${FILESDIR}/dot.pmbr_code"
+		;;
+	esac
+	newins "${PMBR_SOURCE}" .pmbr_code
+
+	einfo "Install resources from chromeos-base/factory."
+	factory_unpack_resource installer "${ED}/usr"
+
+	if [[ -f "$(factory_get_resource_archive_path installer-board)" ]]; then
+		einfo "Install resources from chromeos-base/factory-board."
+		factory_unpack_resource installer-board "${ED}"
+	fi
+}
+
+pkg_postinst() {
+	[[ "$(cros_target)" != "target_image" ]] && return 0
+
+	STATEFUL="${ROOT}/usr/local"
+	STATEFUL_LSB="${STATEFUL}/etc/lsb-factory"
+
+	: "${FACTORY_SERVER:=$(hostname -f)}"
+
+	mkdir -p "${STATEFUL}/etc"
+	sudo dd of="${STATEFUL_LSB}" <<EOF
+CHROMEOS_AUSERVER=http://${FACTORY_SERVER}:8080/update
+CHROMEOS_DEVSERVER=http://${FACTORY_SERVER}:8080/update
+FACTORY_INSTALL=1
+HTTP_SERVER_OVERRIDE=true
+EOF
+}
diff --git a/chromeos-base/factory_installer/factory_installer-9999.ebuild b/chromeos-base/factory_installer/factory_installer-9999.ebuild
index b0ccec9..4b02c68 100644
--- a/chromeos-base/factory_installer/factory_installer-9999.ebuild
+++ b/chromeos-base/factory_installer/factory_installer-9999.ebuild
@@ -1,11 +1,14 @@
-# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
+# Copyright 2010 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
 
 EAPI=7
 CROS_WORKON_PROJECT="chromiumos/platform/factory_installer"
 CROS_WORKON_LOCALNAME="platform/factory_installer"
+CROS_RUST_CRATE_NAME="factory_installer"
+CROS_RUST_SUBDIR="rust"
 
-inherit cros-sanitizers cros-workon toolchain-funcs cros-factory
+inherit cros-workon cros-rust cros-factory
 
 DESCRIPTION="Chrome OS Factory Installer"
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/factory_installer/"
@@ -25,7 +28,7 @@
 	ttyUSB{0..5}
 	tty{0..5}
 )
-IUSE_PORTS="${ALL_PORTS[@]/#/${USE_PREFIX}}"
+IUSE_PORTS="${ALL_PORTS[*]/#/${USE_PREFIX}}"
 IUSE="${IUSE_PORTS} -asan test"
 
 # Factory install images operate by downloading content from a
@@ -73,6 +76,7 @@
 
 DEPEND="${COMMON_DEPEND}
 	chromeos-base/factory:=
+	chromeos-base/factory_rust
 	test? ( chromeos-base/secure-wipe:= )
 	x86? ( sys-boot/syslinux:= )"
 
@@ -95,33 +99,48 @@
 	sys-apps/upstart
 	sys-apps/util-linux
 	sys-block/parted
-	sys-fs/e2fsprogs"
+	sys-fs/e2fsprogs
+	sys-kernel/linux-firmware"
 
 
+src_unpack() {
+	cros-workon_src_unpack
+	cros-rust_src_unpack
+}
+
 src_configure() {
 	sanitizers-setup-env
-	default
+	cd "${CROS_RUST_SUBDIR}" || die
+	cros-rust_src_configure
+	cd "${S}" || die
 }
 
 src_compile() {
 	tc-export AR CC CXX RANLIB
+	cd "${CROS_RUST_SUBDIR}" || die
+	cros-rust_src_compile --no-default-features --features="factory-fai" \
+		--bin="factory_fai"
+	cd "${S}" || die
 	emake
 }
 
 src_test() {
 	tests/secure-wipe.sh || die "integration test failed"
+	cd "${CROS_RUST_SUBDIR}" || die
+	cros-rust_src_test --all-features
+	cd "${S}" || die
 }
 
 src_install() {
 	local service_file="factory_tty.sh"
 	local tmp_service_file="${T}/${service_file}"
 	local scripts=(*.sh)
-	scripts=(${scripts[@]#${service_file}})
+	scripts=( "${scripts[@]# ${service_file}}" )
 
 	if [[ -n "${TTY_CONSOLE}" ]]; then
 		local item ports=()
 		for item in ${IUSE_PORTS}; do
-			if use ${item}; then
+			if use "${item}"; then
 				ports+=("${item#${USE_PREFIX}}")
 			fi
 		done
@@ -133,6 +152,13 @@
 	fi
 	dosbin "${scripts[@]}" "${service_file}"
 
+	# install factory_fai
+	cd "${CROS_RUST_SUBDIR}" || die
+	cros-rust_publish "${CROS_RUST_CRATE_NAME}" \
+		"$(cros-rust_get_crate_version "${S}/${CROS_RUST_SUBDIR}")"
+	dosbin "$(cros-rust_get_build_dir)/factory_fai"
+	cd "${S}" || die
+
 	insinto /usr/share/factory_installer/tpm
 	doins tpm/*.sh
 
@@ -140,7 +166,7 @@
 	doins init/*.conf
 
 	insinto /root
-	newins $FILESDIR/dot.factory_installer .factory_installer
+	newins "${FILESDIR}/dot.factory_installer" .factory_installer
 	# install PMBR code
 	case "$(tc-arch)" in
 		"x86")
@@ -149,10 +175,10 @@
 		;;
 		*)
 		einfo "using default PMBR code"
-		PMBR_SOURCE=$FILESDIR/dot.pmbr_code
+		PMBR_SOURCE="${FILESDIR}/dot.pmbr_code"
 		;;
 	esac
-	newins $PMBR_SOURCE .pmbr_code
+	newins "${PMBR_SOURCE}" .pmbr_code
 
 	einfo "Install resources from chromeos-base/factory."
 	factory_unpack_resource installer "${ED}/usr"
diff --git a/chromeos-base/factory_runtime_probe/factory_runtime_probe-0.0.1-r169.ebuild b/chromeos-base/factory_runtime_probe/factory_runtime_probe-0.0.1-r169.ebuild
deleted file mode 100644
index d25be8a..0000000
--- a/chromeos-base/factory_runtime_probe/factory_runtime_probe-0.0.1-r169.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="d24ade58dab8ad0320dc4c61ffa759e11ec287c8"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "bea140d13f7cf1092e4c89a45011c04c28327972" "1aed0c3c60315dba4d781aa861490bd01a1d53f6" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk chromeos-config runtime_probe .gn"
-
-PLATFORM_SUBDIR="runtime_probe"
-
-inherit cros-workon cros-unibuild platform
-
-DESCRIPTION="Device component probe tool **for factory environment**."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/runtime_probe/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="cros-debug +factory_runtime_probe"
-
-# TODO(yhong): Extract common parts with runtime_probe-9999.ebuild to a shared
-#     eclass.
-
-COMMON_DEPEND="
-	chromeos-base/chromeos-config-tools:=
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/ec-utils
-"
-
-# Add vboot_reference as build time dependency to read cros_debug status
-DEPEND="${COMMON_DEPEND}
-	chromeos-base/debugd-client:=
-	chromeos-base/shill-client:=
-	chromeos-base/system_api:=
-	chromeos-base/vboot_reference:=
-"
-
-pkg_setup() {
-	cros-workon_pkg_setup
-
-	# Assert that the package is not "directly" installed into Chrome OS
-	# images.  We currently only anticipate that files introduced by this
-	# package being used as the source materials for other packages.
-	if [[ "$(cros_target)" != "board_sysroot" ]]; then
-		die "${PN} should never be installed into Chrome OS images directly."
-	fi
-}
-
-src_install() {
-	platform_install
-}
diff --git a/chromeos-base/factory_runtime_probe/factory_runtime_probe-0.0.1-r295.ebuild b/chromeos-base/factory_runtime_probe/factory_runtime_probe-0.0.1-r295.ebuild
new file mode 100644
index 0000000..648b30a
--- /dev/null
+++ b/chromeos-base/factory_runtime_probe/factory_runtime_probe-0.0.1-r295.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "527abd7a988a45572305a6c44b5324d0d9cf8be2" "1dbf281b6523338c1a11135ebaf00796f0f664e4" "7cab0a8a8eaf018de16dca9470abb154f82697a6" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk chromeos-config libec runtime_probe .gn"
+
+PLATFORM_SUBDIR="runtime_probe/factory_runtime_probe"
+
+inherit cros-workon cros-unibuild platform
+
+DESCRIPTION="Device component probe tool **for factory environment**."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/runtime_probe/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="cros-debug"
+
+# TODO(yhong): Extract common parts with runtime_probe-9999.ebuild to a shared
+#     eclass.
+
+COMMON_DEPEND="
+	chromeos-base/chromeos-config-tools:=
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/ec-utils
+"
+
+# Add vboot_reference as build time dependency to read cros_debug status
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/debugd-client:=
+	chromeos-base/libec:=
+	chromeos-base/shill-client:=
+	chromeos-base/system_api:=
+	chromeos-base/vboot_reference:=
+	media-libs/minigbm:=
+"
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/factory_runtime_probe/factory_runtime_probe-9999.ebuild b/chromeos-base/factory_runtime_probe/factory_runtime_probe-9999.ebuild
index cbb73cc..e5610084 100644
--- a/chromeos-base/factory_runtime_probe/factory_runtime_probe-9999.ebuild
+++ b/chromeos-base/factory_runtime_probe/factory_runtime_probe-9999.ebuild
@@ -7,9 +7,9 @@
 CROS_WORKON_LOCALNAME="platform2"
 CROS_WORKON_PROJECT="chromiumos/platform2"
 CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk chromeos-config runtime_probe .gn"
+CROS_WORKON_SUBTREE="common-mk chromeos-config libec runtime_probe .gn"
 
-PLATFORM_SUBDIR="runtime_probe"
+PLATFORM_SUBDIR="runtime_probe/factory_runtime_probe"
 
 inherit cros-workon cros-unibuild platform
 
@@ -18,7 +18,7 @@
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
-IUSE="cros-debug +factory_runtime_probe"
+IUSE="cros-debug"
 
 # TODO(yhong): Extract common parts with runtime_probe-9999.ebuild to a shared
 #     eclass.
@@ -35,22 +35,17 @@
 # Add vboot_reference as build time dependency to read cros_debug status
 DEPEND="${COMMON_DEPEND}
 	chromeos-base/debugd-client:=
+	chromeos-base/libec:=
 	chromeos-base/shill-client:=
 	chromeos-base/system_api:=
 	chromeos-base/vboot_reference:=
+	media-libs/minigbm:=
 "
 
-pkg_setup() {
-	cros-workon_pkg_setup
-
-	# Assert that the package is not "directly" installed into Chrome OS
-	# images.  We currently only anticipate that files introduced by this
-	# package being used as the source materials for other packages.
-	if [[ "$(cros_target)" != "board_sysroot" ]]; then
-		die "${PN} should never be installed into Chrome OS images directly."
-	fi
-}
-
 src_install() {
 	platform_install
 }
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/factory_runtime_probe/files/revision_bump b/chromeos-base/factory_runtime_probe/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/factory_runtime_probe/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/factory_rust/OWNERS b/chromeos-base/factory_rust/OWNERS
new file mode 100644
index 0000000..b2cda88
--- /dev/null
+++ b/chromeos-base/factory_rust/OWNERS
@@ -0,0 +1 @@
+include /chromiumos/platform/factory:/OWNERS
diff --git a/chromeos-base/factory_rust/factory_rust-0.0.1-r4.ebuild b/chromeos-base/factory_rust/factory_rust-0.0.1-r4.ebuild
new file mode 100644
index 0000000..2c72381
--- /dev/null
+++ b/chromeos-base/factory_rust/factory_rust-0.0.1-r4.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
+CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="platform/empty-project"
+
+inherit cros-workon
+
+DESCRIPTION="This ebuild defines the rust dependencies used in factory_installer dir."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/factory_installer/"
+SRC_URI=""
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="
+	=dev-rust/anyhow-1*:=
+	>=dev-rust/bincode-1.0.1 <dev-rust/bincode-1.1.0_alpha:=
+	>=dev-rust/byteorder-1.4.3 <dev-rust/byteorder-2.0.0_alpha:=
+	>=dev-rust/clap-3.1.0 <dev-rust/clap-4.0.0_alpha:=
+	=dev-rust/glob-0.3*:=
+	>=dev-rust/hmac-sha256-0.1.7 <dev-rust/hmac-sha256-0.2.0_alpha:=
+	=dev-rust/libc-0.2*:=
+	=dev-rust/num-derive-0.3*:=
+	=dev-rust/num-traits-0.2*:=
+	=dev-rust/regex-1*:=
+	=dev-rust/serde-1*:=
+	=dev-rust/serde_json-1*:=
+	>=dev-rust/tempdir-0.3.7 <dev-rust/tempdir-0.4.0_alpha:=
+	>=dev-rust/tempfile-3.2.0 <dev-rust/tempfile-4.0.0_alpha:=
+"
diff --git a/chromeos-base/factory_rust/factory_rust-9999.ebuild b/chromeos-base/factory_rust/factory_rust-9999.ebuild
new file mode 100644
index 0000000..42eea3f
--- /dev/null
+++ b/chromeos-base/factory_rust/factory_rust-9999.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="platform/empty-project"
+
+inherit cros-workon
+
+DESCRIPTION="This ebuild defines the rust dependencies used in factory_installer dir."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/factory_installer/"
+SRC_URI=""
+LICENSE="BSD-Google"
+KEYWORDS="~*"
+IUSE=""
+
+DEPEND="
+	=dev-rust/anyhow-1*:=
+	>=dev-rust/bincode-1.0.1 <dev-rust/bincode-1.1.0_alpha:=
+	>=dev-rust/byteorder-1.4.3 <dev-rust/byteorder-2.0.0_alpha:=
+	>=dev-rust/clap-3.1.0 <dev-rust/clap-4.0.0_alpha:=
+	=dev-rust/glob-0.3*:=
+	>=dev-rust/hmac-sha256-0.1.7 <dev-rust/hmac-sha256-0.2.0_alpha:=
+	=dev-rust/libc-0.2*:=
+	=dev-rust/num-derive-0.3*:=
+	=dev-rust/num-traits-0.2*:=
+	=dev-rust/regex-1*:=
+	=dev-rust/serde-1*:=
+	=dev-rust/serde_json-1*:=
+	>=dev-rust/tempdir-0.3.7 <dev-rust/tempdir-0.4.0_alpha:=
+	>=dev-rust/tempfile-3.2.0 <dev-rust/tempfile-4.0.0_alpha:=
+"
diff --git a/chromeos-base/factory_ufs/OWNERS b/chromeos-base/factory_ufs/OWNERS
new file mode 100644
index 0000000..b2cda88
--- /dev/null
+++ b/chromeos-base/factory_ufs/OWNERS
@@ -0,0 +1 @@
+include /chromiumos/platform/factory:/OWNERS
diff --git a/chromeos-base/factory_ufs/factory_ufs-0.0.1-r29.ebuild b/chromeos-base/factory_ufs/factory_ufs-0.0.1-r29.ebuild
new file mode 100644
index 0000000..b3cc726
--- /dev/null
+++ b/chromeos-base/factory_ufs/factory_ufs-0.0.1-r29.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="5157666de939bc298ac12925891a55062f92e262"
+CROS_WORKON_TREE="973913527c97518feffdeea7eafd58e0e4d9955f"
+CROS_WORKON_PROJECT="chromiumos/platform/factory_installer"
+CROS_WORKON_LOCALNAME="platform/factory_installer"
+CROS_RUST_CRATE_NAME="factory_ufs"
+CROS_RUST_SUBDIR="rust"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="A binary for UFS provisioning written in Rust"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/factory_installer/"
+SRC_URI=""
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="chromeos-base/factory_rust"
+RDEPEND="
+	sys-apps/ufs-utils
+"
+
+src_test() {
+	cros-rust_src_test --no-default-features --features="factory-ufs" \
+		--lib
+}
+
+src_compile() {
+	cros-rust_src_compile --no-default-features --features="factory-ufs" \
+		--bin="factory_ufs"
+}
+
+src_install() {
+	dosbin "$(cros-rust_get_build_dir)/factory_ufs"
+}
diff --git a/chromeos-base/factory_ufs/factory_ufs-9999.ebuild b/chromeos-base/factory_ufs/factory_ufs-9999.ebuild
new file mode 100644
index 0000000..3303240
--- /dev/null
+++ b/chromeos-base/factory_ufs/factory_ufs-9999.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_PROJECT="chromiumos/platform/factory_installer"
+CROS_WORKON_LOCALNAME="platform/factory_installer"
+CROS_RUST_CRATE_NAME="factory_ufs"
+CROS_RUST_SUBDIR="rust"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="A binary for UFS provisioning written in Rust"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/factory_installer/"
+SRC_URI=""
+LICENSE="BSD-Google"
+KEYWORDS="~*"
+IUSE=""
+
+DEPEND="chromeos-base/factory_rust"
+RDEPEND="
+	sys-apps/ufs-utils
+"
+
+src_test() {
+	cros-rust_src_test --no-default-features --features="factory-ufs" \
+		--lib
+}
+
+src_compile() {
+	cros-rust_src_compile --no-default-features --features="factory-ufs" \
+		--bin="factory_ufs"
+}
+
+src_install() {
+	dosbin "$(cros-rust_get_build_dir)/factory_ufs"
+}
diff --git a/chromeos-base/feature_usage/feature_usage-0.0.1-r79.ebuild b/chromeos-base/feature_usage/feature_usage-0.0.1-r79.ebuild
new file mode 100644
index 0000000..a7d0314
--- /dev/null
+++ b/chromeos-base/feature_usage/feature_usage-0.0.1-r79.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "9487cb70b8720982545a04ade6a4f464cdde53ac" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk feature_usage metrics .gn"
+
+PLATFORM_SUBDIR="feature_usage"
+
+inherit cros-workon platform
+
+DESCRIPTION="Provides a unified approach to report feature usage events"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+
+RDEPEND="
+	chromeos-base/metrics:=
+"
+
+DEPEND="
+	${RDEPEND}
+"
+
+src_install() {
+	# Install the static library
+	dolib.a "${OUT}"/libfeature_usage_static.a
+
+	# Install the header
+	insinto "/usr/include/feature_usage"
+	doins feature_usage_metrics.h
+
+	# Install the pc file
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins "${OUT}/obj/feature_usage/libfeature_usage.pc"
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/feature_usage/feature_usage-9999.ebuild b/chromeos-base/feature_usage/feature_usage-9999.ebuild
new file mode 100644
index 0000000..d0f20f6
--- /dev/null
+++ b/chromeos-base/feature_usage/feature_usage-9999.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk feature_usage metrics .gn"
+
+PLATFORM_SUBDIR="feature_usage"
+
+inherit cros-workon platform
+
+DESCRIPTION="Provides a unified approach to report feature usage events"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="~*"
+
+RDEPEND="
+	chromeos-base/metrics:=
+"
+
+DEPEND="
+	${RDEPEND}
+"
+
+src_install() {
+	# Install the static library
+	dolib.a "${OUT}"/libfeature_usage_static.a
+
+	# Install the header
+	insinto "/usr/include/feature_usage"
+	doins feature_usage_metrics.h
+
+	# Install the pc file
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins "${OUT}/obj/feature_usage/libfeature_usage.pc"
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/featured/featured-0.0.1-r126.ebuild b/chromeos-base/featured/featured-0.0.1-r126.ebuild
new file mode 100644
index 0000000..0d38291
--- /dev/null
+++ b/chromeos-base/featured/featured-0.0.1-r126.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "545d67a6429090226f1d6ac899f5f2d86bd38b99" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk featured .gn"
+
+PLATFORM_SUBDIR="featured"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Chrome OS feature management service"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/featured/"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test"
+
+DEPEND="
+	chromeos-base/system_api:=
+	sys-apps/dbus:="
+
+src_install() {
+	into /
+	dosbin "${OUT}"/featured
+
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	dolib.so "${OUT}/lib/libfeatures.so"
+	dolib.so "${OUT}/lib/libfeatures_c.so"
+	local v="$(libchrome_ver)"
+	./platform2_preinstall.sh "${OUT}" "${v}"
+	doins "${OUT}/lib/libfeatures.pc"
+	doins "${OUT}/lib/libfeatures_c.pc"
+
+	insinto "/usr/include/featured"
+	doins feature_export.h
+	doins c_feature_library.h
+	doins feature_library.h
+
+	# Install DBus configuration.
+	insinto /etc/dbus-1/system.d
+	doins share/org.chromium.featured.conf
+
+	insinto /etc/init
+	doins share/featured.conf share/featured-chrome-restart.conf\
+		share/platform-features.json
+
+	local fuzzer_component_id="1096648"
+	platform_fuzzer_install "${S}"/OWNERS \
+			"${OUT}"/featured_json_feature_parser_fuzzer \
+			--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/feature_library_test"
+	platform_test "run" "${OUT}/service_test"
+}
diff --git a/chromeos-base/featured/featured-0.0.1-r56.ebuild b/chromeos-base/featured/featured-0.0.1-r56.ebuild
deleted file mode 100644
index 0004e8d..0000000
--- a/chromeos-base/featured/featured-0.0.1-r56.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e6d3266e1144e97a3914f1e4116368b08b29b4c6" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk featured .gn"
-
-PLATFORM_SUBDIR="featured"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Chrome OS feature management service"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/featured/"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test"
-
-DEPEND="
-	chromeos-base/system_api:=
-	sys-apps/dbus:="
-
-src_install() {
-	into /
-	dosbin "${OUT}"/featured
-
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	dolib.so "${OUT}/lib/libfeatures.so"
-	dolib.so "${OUT}/lib/libfeatures_c.so"
-	local v="$(libchrome_ver)"
-	./platform2_preinstall.sh "${OUT}" "${v}"
-	doins "${OUT}/lib/libfeatures.pc"
-	doins "${OUT}/lib/libfeatures_c.pc"
-
-	insinto "/usr/include/featured"
-	doins feature_export.h
-	doins c_feature_library.h
-	doins feature_library.h
-
-	# Install DBus configuration.
-	insinto /etc/dbus-1/system.d
-	doins share/org.chromium.featured.conf
-
-	insinto /etc/init
-	doins share/featured.conf share/platform-features.json
-
-	local fuzzer_component_id="1096648"
-	platform_fuzzer_install "${S}"/OWNERS \
-			"${OUT}"/featured_json_feature_parser_fuzzer \
-			--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/feature_library_test"
-}
diff --git a/chromeos-base/featured/featured-9999.ebuild b/chromeos-base/featured/featured-9999.ebuild
index 59f5551..c7f3b11 100644
--- a/chromeos-base/featured/featured-9999.ebuild
+++ b/chromeos-base/featured/featured-9999.ebuild
@@ -44,7 +44,8 @@
 	doins share/org.chromium.featured.conf
 
 	insinto /etc/init
-	doins share/featured.conf share/platform-features.json
+	doins share/featured.conf share/featured-chrome-restart.conf\
+		share/platform-features.json
 
 	local fuzzer_component_id="1096648"
 	platform_fuzzer_install "${S}"/OWNERS \
@@ -54,4 +55,5 @@
 
 platform_pkg_test() {
 	platform_test "run" "${OUT}/feature_library_test"
+	platform_test "run" "${OUT}/service_test"
 }
diff --git a/chromeos-base/featured/files/revision_bump b/chromeos-base/featured/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/featured/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/federated-service/federated-service-0.0.1-r144.ebuild b/chromeos-base/federated-service/federated-service-0.0.1-r144.ebuild
new file mode 100644
index 0000000..09210d9
--- /dev/null
+++ b/chromeos-base/federated-service/federated-service-0.0.1-r144.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "01406a223aab1eb5a4a224b0e216d352c178037f" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk federated .gn"
+
+PLATFORM_SUBDIR="federated"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Federated Computation service for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/federated"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="local-federated-server"
+
+RDEPEND="
+	dev-db/sqlite:=
+	chromeos-base/dlcservice-client:=
+	chromeos-base/session_manager-client:=
+	chromeos-base/system_api:=
+	sys-cluster/fcp:=
+"
+
+DEPEND="
+	${RDEPEND}
+"
+
+pkg_setup() {
+	# Has to be done in pkg_setup() instead of pkg_preinst() since
+	# src_install() needs the federated-service user and group.
+	enewuser "federated-service"
+	enewgroup "federated-service"
+	cros-workon_pkg_setup
+}
+
+src_install() {
+	platform_install
+
+	# Storage path for examples, will be mounted as
+	# /run/daemon-store/federated/<user_hash> after user logs in.
+	local daemon_store="/etc/daemon-store/federated"
+	dodir "${daemon_store}"
+	fperms 0700 "${daemon_store}"
+	fowners federated-service:federated-service "${daemon_store}"
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/federated-service/federated-service-0.0.1-r79.ebuild b/chromeos-base/federated-service/federated-service-0.0.1-r79.ebuild
deleted file mode 100644
index 28e3cb2..0000000
--- a/chromeos-base/federated-service/federated-service-0.0.1-r79.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "2d45a0de6653d89c37f70dd2250802291bc61805" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_SUBTREE="common-mk federated .gn"
-
-PLATFORM_SUBDIR="federated"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Federated Computation service for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/federated"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="
-	dev-db/sqlite:=
-	chromeos-base/dlcservice-client:=
-	chromeos-base/session_manager-client:=
-	chromeos-base/system_api:=
-	sys-cluster/fcp:=
-"
-
-DEPEND="
-	${RDEPEND}
-"
-
-pkg_setup() {
-	# Has to be done in pkg_setup() instead of pkg_preinst() since
-	# src_install() needs the federated-service user and group.
-	enewuser "federated-service"
-	enewgroup "federated-service"
-	cros-workon_pkg_setup
-}
-
-src_install() {
-	platform_install
-
-	# Storage path for examples, will be mounted as
-	# /run/daemon-store/federated/<user_hash> after user logs in.
-	local daemon_store="/etc/daemon-store/federated"
-	dodir "${daemon_store}"
-	fperms 0700 "${daemon_store}"
-	fowners federated-service:federated-service "${daemon_store}"
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/federated-service/federated-service-9999.ebuild b/chromeos-base/federated-service/federated-service-9999.ebuild
index ff3534c9..ed803f4 100644
--- a/chromeos-base/federated-service/federated-service-9999.ebuild
+++ b/chromeos-base/federated-service/federated-service-9999.ebuild
@@ -17,7 +17,7 @@
 LICENSE="BSD-Google"
 SLOT="0"
 KEYWORDS="~*"
-IUSE=""
+IUSE="local-federated-server"
 
 RDEPEND="
 	dev-db/sqlite:=
diff --git a/chromeos-base/federated-service/files/revision_bump b/chromeos-base/federated-service/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/federated-service/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/feedback/feedback-0.0.1-r879.ebuild b/chromeos-base/feedback/feedback-0.0.1-r879.ebuild
deleted file mode 100644
index d67fb94..0000000
--- a/chromeos-base/feedback/feedback-0.0.1-r879.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "f37832d93b823c501c57ba16589eb76b00bb61ae" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_SUBTREE="common-mk feedback .gn"
-
-PLATFORM_SUBDIR="feedback"
-
-inherit cros-workon platform
-
-DESCRIPTION="Feedback service for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/feedback/"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND=""
-DEPEND="chromeos-base/system_api:="
-
-src_install() {
-	platform_install
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/feedback/feedback-0.0.1-r940.ebuild b/chromeos-base/feedback/feedback-0.0.1-r940.ebuild
new file mode 100644
index 0000000..9eea571
--- /dev/null
+++ b/chromeos-base/feedback/feedback-0.0.1-r940.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "5395cfe3ef077195924f7da08cada1ec5b1ded6d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk feedback .gn"
+
+PLATFORM_SUBDIR="feedback"
+
+inherit cros-workon platform
+
+DESCRIPTION="Feedback service for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/feedback/"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND=""
+DEPEND="chromeos-base/system_api:="
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/feedback/feedback-9999.ebuild b/chromeos-base/feedback/feedback-9999.ebuild
index 77b0482..0e0f650 100644
--- a/chromeos-base/feedback/feedback-9999.ebuild
+++ b/chromeos-base/feedback/feedback-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Feedback service for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/feedback/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/feedback/"
 LICENSE="BSD-Google"
 KEYWORDS="~*"
 
diff --git a/chromeos-base/feedback/files/revision_bump b/chromeos-base/feedback/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/feedback/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/fingerprint_study/fingerprint_study-0.0.1-r38.ebuild b/chromeos-base/fingerprint_study/fingerprint_study-0.0.1-r38.ebuild
deleted file mode 100644
index 5442cda..0000000
--- a/chromeos-base/fingerprint_study/fingerprint_study-0.0.1-r38.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="4804a1360484a4a56f1d51a38b022624cc34a60b"
-CROS_WORKON_TREE="ea5b9b141ca3d4d54fe56c9527757e5294cd32fe"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_SUBTREE="biod/study"
-PYTHON_COMPAT=( python3_{6,7,8} pypy3 )
-
-inherit cros-workon python-r1
-
-DESCRIPTION="Chromium OS Fingerprint user study software"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/biod/study"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-# The fingerprint study can optionally make use of the private package
-# virtual/chromeos-fpmcu-test, which holds the C+python fputils lib.
-# This library is also used for factory tests, thus it was labeled fpmcu-test.
-# The chromeos-base/ec-utils pkg provides ectool.
-# The chromeos-base/ec-utils-test pkg provides flash_fp_mcu for test operator.
-DEPEND=""
-RDEPEND="
-	${PYTHON_DEPS}
-	chromeos-base/ec-utils
-	chromeos-base/ec-utils-test
-	dev-python/cherrypy[${PYTHON_USEDEP}]
-	dev-python/python-gnupg[${PYTHON_USEDEP}]
-	dev-python/ws4py[${PYTHON_USEDEP}]
-	virtual/chromeos-fpmcu-test
-	"
-
-src_unpack() {
-	cros-workon_src_unpack
-	S+="/biod/study"
-}
-
-src_install() {
-	# install the study local server
-	exeinto /opt/google/fingerprint_study
-	newexe study_serve.py study_serve
-
-	# Content to serve
-	insinto /opt/google/fingerprint_study/html
-	doins html/index.html
-	doins html/bootstrap-3.3.7.min.css
-	doins html/fingerprint.svg
-
-	insinto /etc/init
-	doins init/fingerprint_study.conf
-	doins init/syslog_fingerprint_study.conf
-
-	insinto /etc/bash/bashrc.d
-	doins shell-audit.sh
-
-	insinto /etc/rsyslog.d
-	doins rsyslog.fpstudy-audit.conf
-}
diff --git a/chromeos-base/fingerprint_study/fingerprint_study-0.0.1-r44.ebuild b/chromeos-base/fingerprint_study/fingerprint_study-0.0.1-r44.ebuild
new file mode 100644
index 0000000..05472f6
--- /dev/null
+++ b/chromeos-base/fingerprint_study/fingerprint_study-0.0.1-r44.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="6cdfe429dca4e684e13002765174db59e2de1e4c"
+CROS_WORKON_TREE="59e36e58b088d26027bc817efae5b518acb09e06"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="biod/study"
+PYTHON_COMPAT=( python3_{6..9} pypy3 )
+
+inherit cros-workon python-r1
+
+DESCRIPTION="Chromium OS Fingerprint user study software"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/biod/study"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+# The fingerprint study can optionally make use of the private package
+# virtual/chromeos-fpmcu-test, which holds the C+python fputils lib.
+# This library is also used for factory tests, thus it was labeled fpmcu-test.
+# The chromeos-base/ec-utils pkg provides ectool.
+# The chromeos-base/ec-utils-test pkg provides flash_fp_mcu for test operator.
+DEPEND=""
+RDEPEND="
+	${PYTHON_DEPS}
+	chromeos-base/ec-utils
+	chromeos-base/ec-utils-test
+	dev-python/cherrypy[${PYTHON_USEDEP}]
+	dev-python/python-gnupg[${PYTHON_USEDEP}]
+	dev-python/ws4py[${PYTHON_USEDEP}]
+	virtual/chromeos-fpmcu-test
+	"
+
+src_unpack() {
+	cros-workon_src_unpack
+	S+="/biod/study"
+}
+
+src_install() {
+	# install the study local server
+	exeinto /opt/google/fingerprint_study
+	newexe study_serve.py study_serve
+
+	# Content to serve
+	insinto /opt/google/fingerprint_study/html
+	doins html/index.html
+	doins html/bootstrap-3.3.7.min.css
+	doins html/fingerprint.svg
+
+	insinto /etc/init
+	doins init/fingerprint_study.conf
+	doins init/syslog_fingerprint_study.conf
+
+	insinto /etc/bash/bashrc.d
+	doins shell-audit.sh
+
+	insinto /etc/rsyslog.d
+	doins rsyslog.fpstudy-audit.conf
+}
diff --git a/chromeos-base/fingerprint_study/fingerprint_study-9999.ebuild b/chromeos-base/fingerprint_study/fingerprint_study-9999.ebuild
index 7cc14a5..2b87bfb0 100644
--- a/chromeos-base/fingerprint_study/fingerprint_study-9999.ebuild
+++ b/chromeos-base/fingerprint_study/fingerprint_study-9999.ebuild
@@ -5,12 +5,12 @@
 CROS_WORKON_LOCALNAME="platform2"
 CROS_WORKON_PROJECT="chromiumos/platform2"
 CROS_WORKON_SUBTREE="biod/study"
-PYTHON_COMPAT=( python3_{6,7,8} pypy3 )
+PYTHON_COMPAT=( python3_{6..9} pypy3 )
 
 inherit cros-workon python-r1
 
 DESCRIPTION="Chromium OS Fingerprint user study software"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/biod/study"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/biod/study"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/client_id/OWNERS b/chromeos-base/flex_id/OWNERS
similarity index 100%
rename from chromeos-base/client_id/OWNERS
rename to chromeos-base/flex_id/OWNERS
diff --git a/chromeos-base/flex_id/flex_id-0.0.1-r58.ebuild b/chromeos-base/flex_id/flex_id-0.0.1-r58.ebuild
new file mode 100644
index 0000000..3eddb7c
--- /dev/null
+++ b/chromeos-base/flex_id/flex_id-0.0.1-r58.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "c5a49444cc51d4d5d217c797f33502ff7e8a3dbc" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk flex_id .gn"
+
+PLATFORM_SUBDIR="flex_id"
+
+inherit cros-workon platform
+
+DESCRIPTION="Utility to generate Flex ID for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/flex_id"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="!chromeos-base/client_id"
+
+src_install() {
+	dobin "${OUT}"/flex_id_tool
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/flex_id_test"
+}
diff --git a/chromeos-base/flex_id/flex_id-9999.ebuild b/chromeos-base/flex_id/flex_id-9999.ebuild
new file mode 100644
index 0000000..8c1db79
--- /dev/null
+++ b/chromeos-base/flex_id/flex_id-9999.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk flex_id .gn"
+
+PLATFORM_SUBDIR="flex_id"
+
+inherit cros-workon platform
+
+DESCRIPTION="Utility to generate Flex ID for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/flex_id"
+
+LICENSE="BSD-Google"
+KEYWORDS="~*"
+IUSE=""
+
+RDEPEND="!chromeos-base/client_id"
+
+src_install() {
+	dobin "${OUT}"/flex_id_tool
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/flex_id_test"
+}
diff --git a/chromeos-base/foomatic_shell/files/revision_bump b/chromeos-base/foomatic_shell/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/foomatic_shell/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/foomatic_shell/foomatic_shell-0.0.1-r122.ebuild b/chromeos-base/foomatic_shell/foomatic_shell-0.0.1-r122.ebuild
deleted file mode 100644
index 815a476..0000000
--- a/chromeos-base/foomatic_shell/foomatic_shell-0.0.1-r122.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "3b4d7f82f5d68f35d2412d679e794ec15a3a45e0" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk foomatic_shell .gn"
-
-PLATFORM_SUBDIR="foomatic_shell"
-
-inherit cros-workon platform
-
-DESCRIPTION="Mini shell used by foomatic-rip to execute scripts in PPD files."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/foomatic_shell/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-src_install() {
-	dobin "${OUT}/foomatic_shell"
-
-	# Install fuzzer
-	local fuzzer_component_id="167231"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/foomatic_shell_fuzzer \
-		--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/foomatic_shell_test"
-}
diff --git a/chromeos-base/foomatic_shell/foomatic_shell-0.0.1-r179.ebuild b/chromeos-base/foomatic_shell/foomatic_shell-0.0.1-r179.ebuild
new file mode 100644
index 0000000..4a4d2cc
--- /dev/null
+++ b/chromeos-base/foomatic_shell/foomatic_shell-0.0.1-r179.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "3b4d7f82f5d68f35d2412d679e794ec15a3a45e0" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk foomatic_shell .gn"
+
+PLATFORM_SUBDIR="foomatic_shell"
+
+inherit cros-workon platform
+
+DESCRIPTION="Mini shell used by foomatic-rip to execute scripts in PPD files."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/foomatic_shell/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+src_install() {
+	dobin "${OUT}/foomatic_shell"
+
+	# Install fuzzer
+	local fuzzer_component_id="167231"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/foomatic_shell_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/foomatic_shell_test"
+}
diff --git a/chromeos-base/fusebox/files/revision_bump b/chromeos-base/fusebox/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/fusebox/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/fusebox/fusebox-0.0.2-r139.ebuild b/chromeos-base/fusebox/fusebox-0.0.2-r139.ebuild
deleted file mode 100644
index 36ab9b1..0000000
--- a/chromeos-base/fusebox/fusebox-0.0.2-r139.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "36ffab952cda77c99492dfe25badf06c272e7d46" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_SUBTREE="common-mk fusebox .gn"
-
-PLATFORM_SUBDIR="fusebox"
-
-inherit cros-workon platform user
-
-DESCRIPTION="FuseBox service"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/main/fusebox"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-IUSE="test"
-
-COMMON_DEPEND="
-	dev-libs/protobuf:=
-	sys-apps/dbus:=
-	=sys-fs/fuse-2.9*:=
-"
-
-RDEPEND="${COMMON_DEPEND}"
-
-DEPEND="${COMMON_DEPEND}
-	chromeos-base/system_api
-"
-
-src_install() {
-	dobin "${OUT}"/fusebox
-
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.FuseBoxService.conf dbus/org.chromium.FuseBoxClient.conf
-}
-
-platform_pkg_test() {
-	local tests=(fusebox_test)
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-}
diff --git a/chromeos-base/fusebox/fusebox-0.0.2-r237.ebuild b/chromeos-base/fusebox/fusebox-0.0.2-r237.ebuild
new file mode 100644
index 0000000..edf16c4
--- /dev/null
+++ b/chromeos-base/fusebox/fusebox-0.0.2-r237.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "86c75ff12317f1fc3eae5f0d87b89682b86dd88e" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_SUBTREE="common-mk fusebox .gn"
+
+PLATFORM_SUBDIR="fusebox"
+
+inherit cros-workon platform user
+
+DESCRIPTION="FuseBox service"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/main/fusebox"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+IUSE="test"
+
+COMMON_DEPEND="
+	dev-libs/protobuf:=
+	sys-apps/dbus:=
+	=sys-fs/fuse-2.9*:=
+"
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/system_api
+"
+
+src_install() {
+	dobin "${OUT}"/fusebox
+
+	insinto /etc/dbus-1/system.d
+	doins dbus/org.chromium.FuseBoxReverseService.conf
+}
+
+platform_pkg_test() {
+	local tests=(fusebox_test)
+
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+}
diff --git a/chromeos-base/fusebox/fusebox-9999.ebuild b/chromeos-base/fusebox/fusebox-9999.ebuild
index 392aee6..3c35c79 100644
--- a/chromeos-base/fusebox/fusebox-9999.ebuild
+++ b/chromeos-base/fusebox/fusebox-9999.ebuild
@@ -37,7 +37,7 @@
 	dobin "${OUT}"/fusebox
 
 	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.FuseBoxService.conf dbus/org.chromium.FuseBoxClient.conf
+	doins dbus/org.chromium.FuseBoxReverseService.conf
 }
 
 platform_pkg_test() {
diff --git a/chromeos-base/g2f_tools/files/revision_bump b/chromeos-base/g2f_tools/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/g2f_tools/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/g2f_tools/g2f_tools-0.0.1-r721.ebuild b/chromeos-base/g2f_tools/g2f_tools-0.0.1-r721.ebuild
deleted file mode 100644
index 7c49744..0000000
--- a/chromeos-base/g2f_tools/g2f_tools-0.0.1-r721.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "fb2b8277318fb7e7eff84f5c7669a46bf60f19f5" "4a0dedab080195bdc122d2289118df4af3ddca2c" "97266a4772907835fdab5d56b3ca24ed9c1c7a0e" "31eed1e89a0f52385e3ced51c05a2551b866a0c4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk libhwsec metrics trunks u2fd .gn"
-
-PLATFORM_SUBDIR="u2fd"
-
-inherit cros-workon platform
-
-DESCRIPTION="G2F gnubby (U2F+GCSE) development and testing tools"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/u2fd"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="cr50_onboard ti50_onboard"
-
-COMMON_DEPEND="
-	chromeos-base/libhwsec:=
-	dev-libs/hidapi:=
-	"
-
-RDEPEND="${COMMON_DEPEND}"
-
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/chromeos-ec-headers:=
-	chromeos-base/u2fd:=
-	"
-
-src_install() {
-	platform_install
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/g2f_tools/g2f_tools-0.0.1-r894.ebuild b/chromeos-base/g2f_tools/g2f_tools-0.0.1-r894.ebuild
new file mode 100644
index 0000000..302bbb1
--- /dev/null
+++ b/chromeos-base/g2f_tools/g2f_tools-0.0.1-r894.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "2e036f417afe5d55dcbd138f7bfe2c98ab14403f" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c" "b5881b78580dbead29183a70fdc260387f29d82a" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk libhwsec metrics trunks u2fd .gn"
+
+PLATFORM_SUBDIR="u2fd"
+
+inherit cros-workon platform
+
+DESCRIPTION="G2F gnubby (U2F+GCSE) development and testing tools"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/u2fd"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="cr50_onboard ti50_onboard"
+
+COMMON_DEPEND="
+	chromeos-base/libhwsec:=
+	dev-libs/hidapi:=
+	"
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/chromeos-ec-headers:=
+	chromeos-base/u2fd:=
+	"
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/g2f_tools/g2f_tools-9999.ebuild b/chromeos-base/g2f_tools/g2f_tools-9999.ebuild
index 0b0bd38..3e8c79e 100644
--- a/chromeos-base/g2f_tools/g2f_tools-9999.ebuild
+++ b/chromeos-base/g2f_tools/g2f_tools-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="G2F gnubby (U2F+GCSE) development and testing tools"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/u2fd"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/u2fd"
 
 LICENSE="BSD-Google"
 SLOT="0/0"
diff --git a/chromeos-base/gestures-conf/OWNERS b/chromeos-base/gestures-conf/OWNERS
new file mode 100644
index 0000000..25070db
--- /dev/null
+++ b/chromeos-base/gestures-conf/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/xorg-conf:/OWNERS
diff --git a/chromeos-base/gestures-conf/gestures-conf-0.0.1-r149.ebuild b/chromeos-base/gestures-conf/gestures-conf-0.0.1-r149.ebuild
deleted file mode 100644
index b71799f..0000000
--- a/chromeos-base/gestures-conf/gestures-conf-0.0.1-r149.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="947b0fe90f19bd1e69a0e7692891b7a88e2b71f5"
-CROS_WORKON_TREE="cb60c936877f2e933b02e277aa12fde33c24c79b"
-CROS_WORKON_LOCALNAME="platform/xorg-conf"
-CROS_WORKON_PROJECT="chromiumos/platform/xorg-conf"
-CROS_WORKON_OUTOFTREE_BUILD=1
-
-inherit cros-board cros-workon user
-
-DESCRIPTION="Board specific gestures library configuration file."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/xorg-conf/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="elan"
-
-RDEPEND="!chromeos-base/touchpad-linearity"
-DEPEND=""
-
-src_install() {
-	local board=$(get_current_board_no_variant)
-	local board_variant=$(get_current_board_with_variant)
-
-	insinto /etc/gesture
-
-	# Some boards have experimental variants, such as -cheets, -arcnext,
-	# -campfire, -kvm, -kernelnext or -arm64, which are running on the same
-	# hardware as their base boards. As opposed to board variants, which use
-	# underscore to separate from board name, they use a dash, so we can just
-	# strip anything matching.
-	board_variant=${board_variant%%-*}
-	board=${board%%-*}
-
-	# Enable exactly one evdev-compatible X input touchpad driver.
-	#
-	# Note: If possible, use the following xorg config names to allow
-	# this ebuild to install them automatically:
-	#    - 50-touchpad-cmt-$BOARD.conf
-	#    - 60-touchpad-cmt-$BOARD_VARIANT.conf
-	# e.g. daisy_skate will include the files:
-	#    - 50-touchpad-cmt-daisy.conf
-	#    - 60-touchpad-cmt-daisy_skate.conf
-	doins 40-touchpad-cmt.conf
-	if use elan; then
-		doins 50-touchpad-cmt-elan.conf
-	elif [[ "${board}" = "reven" ]]; then
-		doins 50-touchpad-cmt-reven.conf
-		# Since reven could be run on Chrome OS devices, it may as well
-		# include configs for their touchpads, so long as those configs
-		# have MatchDMIProduct lines.
-		doins 50-touchpad-cmt-samus.conf
-	else
-		if [ -f "50-touchpad-cmt-${board}.conf" ]; then
-			doins "50-touchpad-cmt-${board}.conf"
-		fi
-		if [ -f "60-touchpad-cmt-${board_variant}.conf" ]; then
-			doins "60-touchpad-cmt-${board_variant}.conf"
-		fi
-	fi
-	doins 20-mouse.conf
-
-	insinto "/usr/share/gestures"
-	case ${board} in
-	daisy)
-		doins "files/daisy_linearity.dat" ;;
-	esac
-}
diff --git a/chromeos-base/gestures-conf/gestures-conf-0.0.1-r154.ebuild b/chromeos-base/gestures-conf/gestures-conf-0.0.1-r154.ebuild
new file mode 100644
index 0000000..13368b5
--- /dev/null
+++ b/chromeos-base/gestures-conf/gestures-conf-0.0.1-r154.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="7b597423567a1ae8c201069476c0526ba73d5ce6"
+CROS_WORKON_TREE="6a9e4da35e7547cb642ca611c6490e18789128bc"
+CROS_WORKON_LOCALNAME="platform/xorg-conf"
+CROS_WORKON_PROJECT="chromiumos/platform/xorg-conf"
+CROS_WORKON_OUTOFTREE_BUILD=1
+
+inherit cros-board cros-workon
+
+DESCRIPTION="Board specific gestures library configuration file."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/xorg-conf/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="elan"
+
+RDEPEND="!chromeos-base/touchpad-linearity"
+DEPEND=""
+
+src_install() {
+	local board=$(get_current_board_no_variant)
+	local board_variant=$(get_current_board_with_variant)
+
+	insinto /etc/gesture
+
+	# Some boards have experimental variants, such as -cheets, -arcnext,
+	# -campfire, -kvm, -kernelnext or -arm64, which are running on the same
+	# hardware as their base boards. As opposed to board variants, which use
+	# underscore to separate from board name, they use a dash, so we can just
+	# strip anything matching.
+	board_variant=${board_variant%%-*}
+	board=${board%%-*}
+
+	# Enable exactly one evdev-compatible X input touchpad driver.
+	#
+	# Note: If possible, use the following xorg config names to allow
+	# this ebuild to install them automatically:
+	#    - 50-touchpad-cmt-$BOARD.conf
+	#    - 60-touchpad-cmt-$BOARD_VARIANT.conf
+	# e.g. daisy_skate will include the files:
+	#    - 50-touchpad-cmt-daisy.conf
+	#    - 60-touchpad-cmt-daisy_skate.conf
+	doins 40-touchpad-cmt.conf
+	if use elan; then
+		doins 50-touchpad-cmt-elan.conf
+	elif [[ "${board}" = "reven" ]]; then
+		doins 50-touchpad-cmt-reven.conf
+		# Since reven could be run on Chrome OS devices, it may as well
+		# include configs for their touchpads, so long as those configs
+		# have MatchDMIProduct lines.
+		doins 50-touchpad-cmt-samus.conf
+	else
+		if [ -f "50-touchpad-cmt-${board}.conf" ]; then
+			doins "50-touchpad-cmt-${board}.conf"
+		fi
+		if [ -f "60-touchpad-cmt-${board_variant}.conf" ]; then
+			doins "60-touchpad-cmt-${board_variant}.conf"
+		fi
+	fi
+	doins 20-mouse.conf
+}
diff --git a/chromeos-base/gestures-conf/gestures-conf-9999.ebuild b/chromeos-base/gestures-conf/gestures-conf-9999.ebuild
index 3b01c78..2033349 100644
--- a/chromeos-base/gestures-conf/gestures-conf-9999.ebuild
+++ b/chromeos-base/gestures-conf/gestures-conf-9999.ebuild
@@ -6,7 +6,7 @@
 CROS_WORKON_PROJECT="chromiumos/platform/xorg-conf"
 CROS_WORKON_OUTOFTREE_BUILD=1
 
-inherit cros-board cros-workon user
+inherit cros-board cros-workon
 
 DESCRIPTION="Board specific gestures library configuration file."
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/xorg-conf/"
@@ -60,10 +60,4 @@
 		fi
 	fi
 	doins 20-mouse.conf
-
-	insinto "/usr/share/gestures"
-	case ${board} in
-	daisy)
-		doins "files/daisy_linearity.dat" ;;
-	esac
 }
diff --git a/chromeos-base/gestures/gestures-0.0.1-r613.ebuild b/chromeos-base/gestures/gestures-0.0.1-r613.ebuild
deleted file mode 100644
index 0df540b..0000000
--- a/chromeos-base/gestures/gestures-0.0.1-r613.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="403c0982d87ff92be457b5040644444795e0c6a8"
-CROS_WORKON_TREE="8088b222860ac74bf737de79db3ef2bdfa3c498b"
-CROS_WORKON_PROJECT="chromiumos/platform/gestures"
-CROS_WORKON_LOCALNAME="platform/gestures"
-CROS_WORKON_USE_VCSID=1
-
-inherit toolchain-funcs cros-debug cros-sanitizers cros-workon
-
-DESCRIPTION="Gesture recognizer library"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/gestures/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="-asan +X"
-
-RDEPEND="chromeos-base/gestures-conf:=
-	chromeos-base/libevdev:=
-	dev-libs/jsoncpp:=
-	virtual/udev"
-DEPEND="dev-cpp/gtest:=
-	X? ( x11-libs/libXi:= )
-	${RDEPEND}"
-
-# The last dir must be named "gestures" for include path reasons.
-S="${WORKDIR}/gestures"
-
-src_configure() {
-	cros_optimize_package_for_speed
-	sanitizers-setup-env
-	export USE_X11=$(usex X 1 0)
-	tc-export CXX PKG_CONFIG
-	cros-debug-add-NDEBUG
-	default
-}
-
-src_compile() {
-	emake clean  # TODO(adlr): remove when a better solution exists
-	emake
-}
-
-src_test() {
-	emake test
-
-	if ! use x86 && ! use amd64 ; then
-		einfo "Skipping tests on non-x86 platform..."
-	else
-		# This is an ugly hack that happens to work, but should not be copied.
-		LD_LIBRARY_PATH="${SYSROOT}/usr/$(get_libdir)" \
-		./test || die
-	fi
-}
-
-src_install() {
-	emake DESTDIR="${D}" LIBDIR="/usr/$(get_libdir)" install
-}
diff --git a/chromeos-base/gestures/gestures-0.0.1-r621.ebuild b/chromeos-base/gestures/gestures-0.0.1-r621.ebuild
new file mode 100644
index 0000000..51a4d98
--- /dev/null
+++ b/chromeos-base/gestures/gestures-0.0.1-r621.ebuild
@@ -0,0 +1,60 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="d6d2adb8833821a4d35ab85b8534383e6ffcbc71"
+CROS_WORKON_TREE="32642fa85639ac49bd21b28378671493e96efc87"
+CROS_WORKON_PROJECT="chromiumos/platform/gestures"
+CROS_WORKON_LOCALNAME="platform/gestures"
+CROS_WORKON_USE_VCSID=1
+
+inherit toolchain-funcs cros-debug cros-sanitizers cros-workon
+
+DESCRIPTION="Gesture recognizer library"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/gestures/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="-asan +X"
+
+RDEPEND="chromeos-base/gestures-conf:=
+	chromeos-base/libevdev:=
+	dev-libs/jsoncpp:=
+	virtual/udev"
+DEPEND="dev-cpp/gtest:=
+	X? ( x11-libs/libXi:= )
+	${RDEPEND}"
+
+# The last dir must be named "gestures" for include path reasons.
+S="${WORKDIR}/gestures"
+
+src_configure() {
+	cros_optimize_package_for_speed
+	sanitizers-setup-env
+	export USE_X11=$(usex X 1 0)
+	tc-export CXX PKG_CONFIG
+	cros-debug-add-NDEBUG
+	default
+}
+
+src_compile() {
+	emake clean  # TODO(adlr): remove when a better solution exists
+	emake
+}
+
+src_test() {
+	emake test
+
+	if ! use x86 && ! use amd64 ; then
+		einfo "Skipping tests on non-x86 platform..."
+	else
+		# This is an ugly hack that happens to work, but should not be copied.
+		LD_LIBRARY_PATH="${SYSROOT}/usr/$(get_libdir)" \
+		./test || die
+	fi
+}
+
+src_install() {
+	emake DESTDIR="${D}" LIBDIR="/usr/$(get_libdir)" install
+}
diff --git a/chromeos-base/gfxreconstruct/Manifest b/chromeos-base/gfxreconstruct/Manifest
new file mode 100644
index 0000000..0fa5a91
--- /dev/null
+++ b/chromeos-base/gfxreconstruct/Manifest
@@ -0,0 +1 @@
+DIST gfxreconstruct-761837794a1e57f918a85af7000b12e531b178ae.tar.gz 4664412 BLAKE2B 2dff06ab92c243b9b2d109b8b7ffc47ccfe2b6363a0cdba66dcab2f3f00e5a103d76a92e609e1165e532e338de2d8b24cb861b460a5f4f8f8bd73a004eab395b SHA512 d7ead8d9cca581160ae2fe70c2be993dabe2a288b6bb24711f77b74bf043c4dade98ba0b4611daf59b59c3ce99fbd028de0d04f79c08caa8654b3fa180c7ad09
diff --git a/chromeos-base/gfxreconstruct/OWNERS b/chromeos-base/gfxreconstruct/OWNERS
new file mode 100644
index 0000000..876adb5
--- /dev/null
+++ b/chromeos-base/gfxreconstruct/OWNERS
@@ -0,0 +1 @@
+mpolney@google.com
diff --git a/chromeos-base/gfxreconstruct/files/gfxreconstruct-0.9.11-0000-headers.patch b/chromeos-base/gfxreconstruct/files/gfxreconstruct-0.9.11-0000-headers.patch
new file mode 100644
index 0000000..6f4d990
--- /dev/null
+++ b/chromeos-base/gfxreconstruct/files/gfxreconstruct-0.9.11-0000-headers.patch
@@ -0,0 +1,37 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a2d4637..e311ad8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -98,7 +98,7 @@ endif()
+ 
+ configure_file("${CMAKE_SOURCE_DIR}/project_version.h.in" "${CMAKE_BINARY_DIR}/project_version.h")
+ 
+-option(BUILD_WERROR "Build with warnings as errors" ON)
++option(BUILD_WERROR "Build with warnings as errors" OFF)
+ 
+ # Code checks
+ include("CodeStyle")
+diff --git a/cmake/FindVulkanVersion.cmake b/cmake/FindVulkanVersion.cmake
+index 38ff455..7972d19 100644
+--- a/cmake/FindVulkanVersion.cmake
++++ b/cmake/FindVulkanVersion.cmake
+@@ -9,8 +9,7 @@ set(VULKAN_VERSION_PATCH "")
+ find_file (VULKAN_HEADER
+             vulkan_core.h
+             HINTS
+-                external/Vulkan-Headers/include/vulkan
+-                ../external/Vulkan-Headers/include/vulkan)
++                /usr/include/vulkan)
+ 
+ MESSAGE(STATUS "Vulkan Header = ${VULKAN_HEADER}")
+ 
+@@ -20,8 +19,7 @@ else()
+     find_file(VULKAN_HEADER
+                 vulkan.h
+                 HINTS
+-                    external/Vulkan-Headers/include/vulkan
+-                    ../external/Vulkan-Headers/include/vulkan)
++                    /usr/include/vulkan)
+     set(VulkanHeaders_main_header ${VULKAN_HEADER})
+ endif()
+
diff --git a/chromeos-base/gfxreconstruct/files/gfxreconstruct-0.9.11-0001-generated.patch b/chromeos-base/gfxreconstruct/files/gfxreconstruct-0.9.11-0001-generated.patch
new file mode 100644
index 0000000..18a195f
--- /dev/null
+++ b/chromeos-base/gfxreconstruct/files/gfxreconstruct-0.9.11-0001-generated.patch
@@ -0,0 +1,4164 @@
+diff --git a/framework/format/api_call_id.h b/framework/format/api_call_id.h
+index 67cb8f4..6f798d3 100644
+--- a/framework/format/api_call_id.h
++++ b/framework/format/api_call_id.h
+@@ -11,8 +11,6 @@
+ **
+ ** The above copyright notice and this permission notice shall be included in
+ ** all copies or substantial portions of the Software.
+-**
+-** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ ** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+@@ -589,6 +587,9 @@ enum ApiCallId : uint32_t
+     ApiCall_vkGetDeviceBufferMemoryRequirements                                                   = MakeApiCallId(ApiFamily_Vulkan, 0x126f),
+     ApiCall_vkGetDeviceImageMemoryRequirements                                                    = MakeApiCallId(ApiFamily_Vulkan, 0x1270),
+     ApiCall_vkGetDeviceImageSparseMemoryRequirements                                              = MakeApiCallId(ApiFamily_Vulkan, 0x1271),
++    ApiCall_vkGetDescriptorSetLayoutHostMappingInfoVALVE                                          = MakeApiCallId(ApiFamily_Vulkan, 0x1272),
++    ApiCall_vkGetDescriptorSetHostMappingVALVE                                                    = MakeApiCallId(ApiFamily_Vulkan, 0x1273),
++
+ 
+     ApiCall_VulkanLast
+     // clang-format on
+diff --git a/framework/generated/generated_decode_pnext_struct.cpp b/framework/generated/generated_decode_pnext_struct.cpp
+index 2fb6740..cd0be3b 100644
+--- a/framework/generated/generated_decode_pnext_struct.cpp
++++ b/framework/generated/generated_decode_pnext_struct.cpp
+@@ -74,6 +74,10 @@ size_t DecodePNextStruct(const uint8_t* parameter_buffer, size_t buffer_size,  P
+                 // TODO: This may need to be a fatal error
+                 GFXRECON_LOG_ERROR("Failed to decode pNext value with unrecognized VkStructureType = %s", (util::ToString(*sType).c_str()));
+                 break;
++            case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO:
++                (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkShaderModuleCreateInfo>>();
++                bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
++                break;
+             case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
+                 (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkPhysicalDeviceSubgroupProperties>>();
+                 bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
+@@ -642,6 +646,10 @@ size_t DecodePNextStruct(const uint8_t* parameter_buffer, size_t buffer_size,  P
+                 (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>>();
+                 bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
+                 break;
++            case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR:
++                (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkPipelineLibraryCreateInfoKHR>>();
++                bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
++                break;
+             case VK_STRUCTURE_TYPE_PRESENT_ID_KHR:
+                 (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkPresentIdKHR>>();
+                 bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
+@@ -786,6 +794,10 @@ size_t DecodePNextStruct(const uint8_t* parameter_buffer, size_t buffer_size,  P
+                 (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkPipelineRasterizationDepthClipStateCreateInfoEXT>>();
+                 bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
+                 break;
++            case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT:
++                (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkDebugUtilsObjectNameInfoEXT>>();
++                bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
++                break;
+             case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
+                 (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkDebugUtilsMessengerCreateInfoEXT>>();
+                 bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
+@@ -1202,6 +1214,18 @@ size_t DecodePNextStruct(const uint8_t* parameter_buffer, size_t buffer_size,  P
+                 (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkDeviceDiagnosticsConfigCreateInfoNV>>();
+                 bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
+                 break;
++            case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT:
++                (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT>>();
++                bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
++                break;
++            case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT:
++                (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT>>();
++                bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
++                break;
++            case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT:
++                (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkGraphicsPipelineLibraryCreateInfoEXT>>();
++                bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
++                break;
+             case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV:
+                 (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>>();
+                 bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
+@@ -1306,6 +1330,10 @@ size_t DecodePNextStruct(const uint8_t* parameter_buffer, size_t buffer_size,  P
+                 (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkPipelineColorWriteCreateInfoEXT>>();
+                 bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
+                 break;
++            case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT:
++                (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT>>();
++                bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
++                break;
+             case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT:
+                 (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkPhysicalDeviceImageViewMinLodFeaturesEXT>>();
+                 bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
+@@ -1322,6 +1350,10 @@ size_t DecodePNextStruct(const uint8_t* parameter_buffer, size_t buffer_size,  P
+                 (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkPhysicalDeviceMultiDrawPropertiesEXT>>();
+                 bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
+                 break;
++            case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT:
++                (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkPhysicalDeviceImage2DViewOf3DFeaturesEXT>>();
++                bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
++                break;
+             case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT:
+                 (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>>();
+                 bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
+@@ -1334,6 +1366,10 @@ size_t DecodePNextStruct(const uint8_t* parameter_buffer, size_t buffer_size,  P
+                 (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT>>();
+                 bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
+                 break;
++            case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE:
++                (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>>();
++                bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
++                break;
+             case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM:
+                 (*pNext) = DecodeAllocator::Allocate<PNextTypedNode<Decoded_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>>();
+                 bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size);
+diff --git a/framework/generated/generated_encode_pnext_struct.cpp b/framework/generated/generated_encode_pnext_struct.cpp
+index f4f1b32..9563f1a 100644
+--- a/framework/generated/generated_encode_pnext_struct.cpp
++++ b/framework/generated/generated_encode_pnext_struct.cpp
+@@ -70,6 +70,9 @@ void EncodePNextStruct(ParameterEncoder* encoder, const void* value)
+                 EncodePNextStruct(encoder, base->pNext);
+             }
+             break;
++        case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO:
++            EncodeStructPtr(encoder, reinterpret_cast<const VkShaderModuleCreateInfo*>(base));
++            break;
+         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
+             EncodeStructPtr(encoder, reinterpret_cast<const VkPhysicalDeviceSubgroupProperties*>(base));
+             break;
+@@ -496,6 +499,9 @@ void EncodePNextStruct(ParameterEncoder* encoder, const void* value)
+         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR:
+             EncodeStructPtr(encoder, reinterpret_cast<const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR*>(base));
+             break;
++        case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR:
++            EncodeStructPtr(encoder, reinterpret_cast<const VkPipelineLibraryCreateInfoKHR*>(base));
++            break;
+         case VK_STRUCTURE_TYPE_PRESENT_ID_KHR:
+             EncodeStructPtr(encoder, reinterpret_cast<const VkPresentIdKHR*>(base));
+             break;
+@@ -604,6 +610,9 @@ void EncodePNextStruct(ParameterEncoder* encoder, const void* value)
+         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT:
+             EncodeStructPtr(encoder, reinterpret_cast<const VkPipelineRasterizationDepthClipStateCreateInfoEXT*>(base));
+             break;
++        case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT:
++            EncodeStructPtr(encoder, reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT*>(base));
++            break;
+         case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
+             EncodeStructPtr(encoder, reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT*>(base));
+             break;
+@@ -916,6 +925,15 @@ void EncodePNextStruct(ParameterEncoder* encoder, const void* value)
+         case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV:
+             EncodeStructPtr(encoder, reinterpret_cast<const VkDeviceDiagnosticsConfigCreateInfoNV*>(base));
+             break;
++        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT:
++            EncodeStructPtr(encoder, reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT*>(base));
++            break;
++        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT:
++            EncodeStructPtr(encoder, reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT*>(base));
++            break;
++        case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT:
++            EncodeStructPtr(encoder, reinterpret_cast<const VkGraphicsPipelineLibraryCreateInfoEXT*>(base));
++            break;
+         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV:
+             EncodeStructPtr(encoder, reinterpret_cast<const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV*>(base));
+             break;
+@@ -994,6 +1012,9 @@ void EncodePNextStruct(ParameterEncoder* encoder, const void* value)
+         case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT:
+             EncodeStructPtr(encoder, reinterpret_cast<const VkPipelineColorWriteCreateInfoEXT*>(base));
+             break;
++        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT:
++            EncodeStructPtr(encoder, reinterpret_cast<const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT*>(base));
++            break;
+         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT:
+             EncodeStructPtr(encoder, reinterpret_cast<const VkPhysicalDeviceImageViewMinLodFeaturesEXT*>(base));
+             break;
+@@ -1006,6 +1027,9 @@ void EncodePNextStruct(ParameterEncoder* encoder, const void* value)
+         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT:
+             EncodeStructPtr(encoder, reinterpret_cast<const VkPhysicalDeviceMultiDrawPropertiesEXT*>(base));
+             break;
++        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT:
++            EncodeStructPtr(encoder, reinterpret_cast<const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT*>(base));
++            break;
+         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT:
+             EncodeStructPtr(encoder, reinterpret_cast<const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT*>(base));
+             break;
+@@ -1015,6 +1039,9 @@ void EncodePNextStruct(ParameterEncoder* encoder, const void* value)
+         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT:
+             EncodeStructPtr(encoder, reinterpret_cast<const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT*>(base));
+             break;
++        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE:
++            EncodeStructPtr(encoder, reinterpret_cast<const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE*>(base));
++            break;
+         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM:
+             EncodeStructPtr(encoder, reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM*>(base));
+             break;
+diff --git a/framework/generated/generated_layer_func_table.h b/framework/generated/generated_layer_func_table.h
+index 0277847..e76b367 100644
+--- a/framework/generated/generated_layer_func_table.h
++++ b/framework/generated/generated_layer_func_table.h
+@@ -535,6 +535,8 @@ const std::unordered_map<std::string, PFN_vkVoidFunction> func_table = {
+     { "vkCmdDrawMultiEXT",                                                                                   reinterpret_cast<PFN_vkVoidFunction>(encode::CmdDrawMultiEXT) },
+     { "vkCmdDrawMultiIndexedEXT",                                                                            reinterpret_cast<PFN_vkVoidFunction>(encode::CmdDrawMultiIndexedEXT) },
+     { "vkSetDeviceMemoryPriorityEXT",                                                                        reinterpret_cast<PFN_vkVoidFunction>(encode::SetDeviceMemoryPriorityEXT) },
++    { "vkGetDescriptorSetLayoutHostMappingInfoVALVE",                                                        reinterpret_cast<PFN_vkVoidFunction>(encode::GetDescriptorSetLayoutHostMappingInfoVALVE) },
++    { "vkGetDescriptorSetHostMappingVALVE",                                                                  reinterpret_cast<PFN_vkVoidFunction>(encode::GetDescriptorSetHostMappingVALVE) },
+     { "vkCreateAccelerationStructureKHR",                                                                    reinterpret_cast<PFN_vkVoidFunction>(encode::CreateAccelerationStructureKHR) },
+     { "vkDestroyAccelerationStructureKHR",                                                                   reinterpret_cast<PFN_vkVoidFunction>(encode::DestroyAccelerationStructureKHR) },
+     { "vkCmdBuildAccelerationStructuresKHR",                                                                 reinterpret_cast<PFN_vkVoidFunction>(encode::CmdBuildAccelerationStructuresKHR) },
+diff --git a/framework/generated/generated_vulkan_api_call_encoders.cpp b/framework/generated/generated_vulkan_api_call_encoders.cpp
+index 997a75d..9a89d25 100644
+--- a/framework/generated/generated_vulkan_api_call_encoders.cpp
++++ b/framework/generated/generated_vulkan_api_call_encoders.cpp
+@@ -14997,6 +14997,59 @@ VKAPI_ATTR void VKAPI_CALL SetDeviceMemoryPriorityEXT(
+     CustomEncoderPostCall<format::ApiCallId::ApiCall_vkSetDeviceMemoryPriorityEXT>::Dispatch(VulkanCaptureManager::Get(), device, memory, priority);
+ }
+ 
++VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutHostMappingInfoVALVE(
++    VkDevice                                    device,
++    const VkDescriptorSetBindingReferenceVALVE* pBindingReference,
++    VkDescriptorSetLayoutHostMappingInfoVALVE*  pHostMapping)
++{
++    auto state_lock = VulkanCaptureManager::Get()->AcquireSharedStateLock();
++
++    CustomEncoderPreCall<format::ApiCallId::ApiCall_vkGetDescriptorSetLayoutHostMappingInfoVALVE>::Dispatch(VulkanCaptureManager::Get(), device, pBindingReference, pHostMapping);
++
++    auto handle_unwrap_memory = VulkanCaptureManager::Get()->GetHandleUnwrapMemory();
++    VkDevice device_unwrapped = GetWrappedHandle<VkDevice>(device);
++    const VkDescriptorSetBindingReferenceVALVE* pBindingReference_unwrapped = UnwrapStructPtrHandles(pBindingReference, handle_unwrap_memory);
++
++    GetDeviceTable(device)->GetDescriptorSetLayoutHostMappingInfoVALVE(device_unwrapped, pBindingReference_unwrapped, pHostMapping);
++
++    auto encoder = VulkanCaptureManager::Get()->BeginApiCallCapture(format::ApiCallId::ApiCall_vkGetDescriptorSetLayoutHostMappingInfoVALVE);
++    if (encoder)
++    {
++        encoder->EncodeHandleValue(device);
++        EncodeStructPtr(encoder, pBindingReference);
++        EncodeStructPtr(encoder, pHostMapping);
++        VulkanCaptureManager::Get()->EndApiCallCapture();
++    }
++
++    CustomEncoderPostCall<format::ApiCallId::ApiCall_vkGetDescriptorSetLayoutHostMappingInfoVALVE>::Dispatch(VulkanCaptureManager::Get(), device, pBindingReference, pHostMapping);
++}
++
++VKAPI_ATTR void VKAPI_CALL GetDescriptorSetHostMappingVALVE(
++    VkDevice                                    device,
++    VkDescriptorSet                             descriptorSet,
++    void**                                      ppData)
++{
++    auto state_lock = VulkanCaptureManager::Get()->AcquireSharedStateLock();
++
++    CustomEncoderPreCall<format::ApiCallId::ApiCall_vkGetDescriptorSetHostMappingVALVE>::Dispatch(VulkanCaptureManager::Get(), device, descriptorSet, ppData);
++
++    VkDevice device_unwrapped = GetWrappedHandle<VkDevice>(device);
++    VkDescriptorSet descriptorSet_unwrapped = GetWrappedHandle<VkDescriptorSet>(descriptorSet);
++
++    GetDeviceTable(device)->GetDescriptorSetHostMappingVALVE(device_unwrapped, descriptorSet_unwrapped, ppData);
++
++    auto encoder = VulkanCaptureManager::Get()->BeginApiCallCapture(format::ApiCallId::ApiCall_vkGetDescriptorSetHostMappingVALVE);
++    if (encoder)
++    {
++        encoder->EncodeHandleValue(device);
++        encoder->EncodeHandleValue(descriptorSet);
++        encoder->EncodeVoidPtrPtr(ppData);
++        VulkanCaptureManager::Get()->EndApiCallCapture();
++    }
++
++    CustomEncoderPostCall<format::ApiCallId::ApiCall_vkGetDescriptorSetHostMappingVALVE>::Dispatch(VulkanCaptureManager::Get(), device, descriptorSet, ppData);
++}
++
+ VKAPI_ATTR VkResult VKAPI_CALL CreateAccelerationStructureKHR(
+     VkDevice                                    device,
+     const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
+diff --git a/framework/generated/generated_vulkan_api_call_encoders.h b/framework/generated/generated_vulkan_api_call_encoders.h
+index a41b7af..2369f85 100644
+--- a/framework/generated/generated_vulkan_api_call_encoders.h
++++ b/framework/generated/generated_vulkan_api_call_encoders.h
+@@ -2695,6 +2695,16 @@ VKAPI_ATTR void VKAPI_CALL SetDeviceMemoryPriorityEXT(
+     VkDeviceMemory                              memory,
+     float                                       priority);
+ 
++VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutHostMappingInfoVALVE(
++    VkDevice                                    device,
++    const VkDescriptorSetBindingReferenceVALVE* pBindingReference,
++    VkDescriptorSetLayoutHostMappingInfoVALVE*  pHostMapping);
++
++VKAPI_ATTR void VKAPI_CALL GetDescriptorSetHostMappingVALVE(
++    VkDevice                                    device,
++    VkDescriptorSet                             descriptorSet,
++    void**                                      ppData);
++
+ VKAPI_ATTR VkResult VKAPI_CALL CreateAccelerationStructureKHR(
+     VkDevice                                    device,
+     const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
+diff --git a/framework/generated/generated_vulkan_ascii_consumer.cpp b/framework/generated/generated_vulkan_ascii_consumer.cpp
+index 0209643..3ed3491 100644
+--- a/framework/generated/generated_vulkan_ascii_consumer.cpp
++++ b/framework/generated/generated_vulkan_ascii_consumer.cpp
+@@ -10107,6 +10107,44 @@ void VulkanAsciiConsumer::Process_vkSetDeviceMemoryPriorityEXT(
+     );
+ }
+ 
++void VulkanAsciiConsumer::Process_vkGetDescriptorSetLayoutHostMappingInfoVALVE(
++    format::HandleId                            device,
++    StructPointerDecoder<Decoded_VkDescriptorSetBindingReferenceVALVE>* pBindingReference,
++    StructPointerDecoder<Decoded_VkDescriptorSetLayoutHostMappingInfoVALVE>* pHostMapping)
++{
++    using namespace gfxrecon::util;
++    ToStringFlags toStringFlags = kToString_Default;
++    uint32_t tabCount = 0;
++    uint32_t tabSize = 4;
++    WriteApiCallToFile("vkGetDescriptorSetLayoutHostMappingInfoVALVE", toStringFlags, tabCount, tabSize,
++        [&](std::stringstream& strStrm)
++        {
++            FieldToString(strStrm, true, "device", toStringFlags, tabCount, tabSize, HandleIdToString(device));
++            FieldToString(strStrm, false, "pBindingReference", toStringFlags, tabCount, tabSize, PointerDecoderToString(pBindingReference, toStringFlags, tabCount, tabSize));
++            FieldToString(strStrm, false, "[out]pHostMapping", toStringFlags, tabCount, tabSize, PointerDecoderToString(pHostMapping, toStringFlags, tabCount, tabSize));
++        }
++    );
++}
++
++void VulkanAsciiConsumer::Process_vkGetDescriptorSetHostMappingVALVE(
++    format::HandleId                            device,
++    format::HandleId                            descriptorSet,
++    PointerDecoder<uint64_t, void*>*            ppData)
++{
++    using namespace gfxrecon::util;
++    ToStringFlags toStringFlags = kToString_Default;
++    uint32_t tabCount = 0;
++    uint32_t tabSize = 4;
++    WriteApiCallToFile("vkGetDescriptorSetHostMappingVALVE", toStringFlags, tabCount, tabSize,
++        [&](std::stringstream& strStrm)
++        {
++            FieldToString(strStrm, true, "device", toStringFlags, tabCount, tabSize, HandleIdToString(device));
++            FieldToString(strStrm, false, "descriptorSet", toStringFlags, tabCount, tabSize, HandleIdToString(descriptorSet));
++            FieldToString(strStrm, false, "[out]ppData", toStringFlags, tabCount, tabSize, DataPointerDecoderToString(ppData));
++        }
++    );
++}
++
+ void VulkanAsciiConsumer::Process_vkCreateAccelerationStructureKHR(
+     VkResult                                    returnValue,
+     format::HandleId                            device,
+diff --git a/framework/generated/generated_vulkan_ascii_consumer.h b/framework/generated/generated_vulkan_ascii_consumer.h
+index 6c30233..a23ab59 100644
+--- a/framework/generated/generated_vulkan_ascii_consumer.h
++++ b/framework/generated/generated_vulkan_ascii_consumer.h
+@@ -2918,6 +2918,16 @@ class VulkanAsciiConsumer : public VulkanAsciiConsumerBase
+         format::HandleId                            memory,
+         float                                       priority) override;
+ 
++    virtual void Process_vkGetDescriptorSetLayoutHostMappingInfoVALVE(
++        format::HandleId                            device,
++        StructPointerDecoder<Decoded_VkDescriptorSetBindingReferenceVALVE>* pBindingReference,
++        StructPointerDecoder<Decoded_VkDescriptorSetLayoutHostMappingInfoVALVE>* pHostMapping) override;
++
++    virtual void Process_vkGetDescriptorSetHostMappingVALVE(
++        format::HandleId                            device,
++        format::HandleId                            descriptorSet,
++        PointerDecoder<uint64_t, void*>*            ppData) override;
++
+     virtual void Process_vkCreateAccelerationStructureKHR(
+         VkResult                                    returnValue,
+         format::HandleId                            device,
+diff --git a/framework/generated/generated_vulkan_consumer.h b/framework/generated/generated_vulkan_consumer.h
+index c006222..b343d8c 100644
+--- a/framework/generated/generated_vulkan_consumer.h
++++ b/framework/generated/generated_vulkan_consumer.h
+@@ -2918,6 +2918,16 @@ class VulkanConsumer : public VulkanConsumerBase
+         format::HandleId                            memory,
+         float                                       priority) {}
+ 
++    virtual void Process_vkGetDescriptorSetLayoutHostMappingInfoVALVE(
++        format::HandleId                            device,
++        StructPointerDecoder<Decoded_VkDescriptorSetBindingReferenceVALVE>* pBindingReference,
++        StructPointerDecoder<Decoded_VkDescriptorSetLayoutHostMappingInfoVALVE>* pHostMapping) {}
++
++    virtual void Process_vkGetDescriptorSetHostMappingVALVE(
++        format::HandleId                            device,
++        format::HandleId                            descriptorSet,
++        PointerDecoder<uint64_t, void*>*            ppData) {}
++
+     virtual void Process_vkCreateAccelerationStructureKHR(
+         VkResult                                    returnValue,
+         format::HandleId                            device,
+diff --git a/framework/generated/generated_vulkan_decoder.cpp b/framework/generated/generated_vulkan_decoder.cpp
+index ea997b4..34f8b6e 100644
+--- a/framework/generated/generated_vulkan_decoder.cpp
++++ b/framework/generated/generated_vulkan_decoder.cpp
+@@ -10642,6 +10642,46 @@ size_t VulkanDecoder::Decode_vkSetDeviceMemoryPriorityEXT(const uint8_t* paramet
+     return bytes_read;
+ }
+ 
++size_t VulkanDecoder::Decode_vkGetDescriptorSetLayoutHostMappingInfoVALVE(const uint8_t* parameter_buffer, size_t buffer_size)
++{
++    size_t bytes_read = 0;
++
++    format::HandleId device;
++    StructPointerDecoder<Decoded_VkDescriptorSetBindingReferenceVALVE> pBindingReference;
++    StructPointerDecoder<Decoded_VkDescriptorSetLayoutHostMappingInfoVALVE> pHostMapping;
++
++    bytes_read += ValueDecoder::DecodeHandleIdValue((parameter_buffer + bytes_read), (buffer_size - bytes_read), &device);
++    bytes_read += pBindingReference.Decode((parameter_buffer + bytes_read), (buffer_size - bytes_read));
++    bytes_read += pHostMapping.Decode((parameter_buffer + bytes_read), (buffer_size - bytes_read));
++
++    for (auto consumer : GetConsumers())
++    {
++        consumer->Process_vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, &pBindingReference, &pHostMapping);
++    }
++
++    return bytes_read;
++}
++
++size_t VulkanDecoder::Decode_vkGetDescriptorSetHostMappingVALVE(const uint8_t* parameter_buffer, size_t buffer_size)
++{
++    size_t bytes_read = 0;
++
++    format::HandleId device;
++    format::HandleId descriptorSet;
++    PointerDecoder<uint64_t, void*> ppData;
++
++    bytes_read += ValueDecoder::DecodeHandleIdValue((parameter_buffer + bytes_read), (buffer_size - bytes_read), &device);
++    bytes_read += ValueDecoder::DecodeHandleIdValue((parameter_buffer + bytes_read), (buffer_size - bytes_read), &descriptorSet);
++    bytes_read += ppData.DecodeVoidPtr((parameter_buffer + bytes_read), (buffer_size - bytes_read));
++
++    for (auto consumer : GetConsumers())
++    {
++        consumer->Process_vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, &ppData);
++    }
++
++    return bytes_read;
++}
++
+ size_t VulkanDecoder::Decode_vkCreateAccelerationStructureKHR(const uint8_t* parameter_buffer, size_t buffer_size)
+ {
+     size_t bytes_read = 0;
+@@ -12573,6 +12613,12 @@ void VulkanDecoder::DecodeFunctionCall(format::ApiCallId             call_id,
+     case format::ApiCallId::ApiCall_vkSetDeviceMemoryPriorityEXT:
+         Decode_vkSetDeviceMemoryPriorityEXT(parameter_buffer, buffer_size);
+         break;
++    case format::ApiCallId::ApiCall_vkGetDescriptorSetLayoutHostMappingInfoVALVE:
++        Decode_vkGetDescriptorSetLayoutHostMappingInfoVALVE(parameter_buffer, buffer_size);
++        break;
++    case format::ApiCallId::ApiCall_vkGetDescriptorSetHostMappingVALVE:
++        Decode_vkGetDescriptorSetHostMappingVALVE(parameter_buffer, buffer_size);
++        break;
+     case format::ApiCallId::ApiCall_vkCreateAccelerationStructureKHR:
+         Decode_vkCreateAccelerationStructureKHR(parameter_buffer, buffer_size);
+         break;
+diff --git a/framework/generated/generated_vulkan_decoder.h b/framework/generated/generated_vulkan_decoder.h
+index 6248a9b..c6b0584 100644
+--- a/framework/generated/generated_vulkan_decoder.h
++++ b/framework/generated/generated_vulkan_decoder.h
+@@ -1020,6 +1020,10 @@ class VulkanDecoder : public VulkanDecoderBase
+ 
+     size_t Decode_vkSetDeviceMemoryPriorityEXT(const uint8_t* parameter_buffer, size_t buffer_size);
+ 
++    size_t Decode_vkGetDescriptorSetLayoutHostMappingInfoVALVE(const uint8_t* parameter_buffer, size_t buffer_size);
++
++    size_t Decode_vkGetDescriptorSetHostMappingVALVE(const uint8_t* parameter_buffer, size_t buffer_size);
++
+     size_t Decode_vkCreateAccelerationStructureKHR(const uint8_t* parameter_buffer, size_t buffer_size);
+ 
+     size_t Decode_vkDestroyAccelerationStructureKHR(const uint8_t* parameter_buffer, size_t buffer_size);
+diff --git a/framework/generated/generated_vulkan_dispatch_table.h b/framework/generated/generated_vulkan_dispatch_table.h
+index 3fa2a0b..ca60654 100644
+--- a/framework/generated/generated_vulkan_dispatch_table.h
++++ b/framework/generated/generated_vulkan_dispatch_table.h
+@@ -549,6 +549,8 @@ static VKAPI_ATTR void                                    VKAPI_CALL CmdSetColor
+ static VKAPI_ATTR void VKAPI_CALL CmdDrawMultiEXT(VkCommandBuffer, uint32_t, const VkMultiDrawInfoEXT*, uint32_t, uint32_t, uint32_t) { GFXRECON_LOG_WARNING("Unsupported function vkCmdDrawMultiEXT was called, resulting in no-op behavior."); }
+ static VKAPI_ATTR void VKAPI_CALL CmdDrawMultiIndexedEXT(VkCommandBuffer, uint32_t, const VkMultiDrawIndexedInfoEXT*, uint32_t, uint32_t, uint32_t, const int32_t*) { GFXRECON_LOG_WARNING("Unsupported function vkCmdDrawMultiIndexedEXT was called, resulting in no-op behavior."); }
+ static VKAPI_ATTR void VKAPI_CALL SetDeviceMemoryPriorityEXT(VkDevice, VkDeviceMemory, float) { GFXRECON_LOG_WARNING("Unsupported function vkSetDeviceMemoryPriorityEXT was called, resulting in no-op behavior."); }
++static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutHostMappingInfoVALVE(VkDevice, const VkDescriptorSetBindingReferenceVALVE*, VkDescriptorSetLayoutHostMappingInfoVALVE*) { GFXRECON_LOG_WARNING("Unsupported function vkGetDescriptorSetLayoutHostMappingInfoVALVE was called, resulting in no-op behavior."); }
++static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetHostMappingVALVE(VkDevice, VkDescriptorSet, void**) { GFXRECON_LOG_WARNING("Unsupported function vkGetDescriptorSetHostMappingVALVE was called, resulting in no-op behavior."); }
+ static VKAPI_ATTR VkResult VKAPI_CALL CreateAccelerationStructureKHR(VkDevice, const VkAccelerationStructureCreateInfoKHR*, const VkAllocationCallbacks*, VkAccelerationStructureKHR*) { GFXRECON_LOG_WARNING("Unsupported function vkCreateAccelerationStructureKHR was called, resulting in no-op behavior."); return VK_SUCCESS; }
+ static VKAPI_ATTR void VKAPI_CALL DestroyAccelerationStructureKHR(VkDevice, VkAccelerationStructureKHR, const VkAllocationCallbacks*) { GFXRECON_LOG_WARNING("Unsupported function vkDestroyAccelerationStructureKHR was called, resulting in no-op behavior."); }
+ static VKAPI_ATTR void VKAPI_CALL CmdBuildAccelerationStructuresKHR(VkCommandBuffer, uint32_t, const VkAccelerationStructureBuildGeometryInfoKHR*, const VkAccelerationStructureBuildRangeInfoKHR* const*) { GFXRECON_LOG_WARNING("Unsupported function vkCmdBuildAccelerationStructuresKHR was called, resulting in no-op behavior."); }
+@@ -1076,6 +1078,8 @@ struct DeviceTable
+     PFN_vkCmdDrawMultiEXT CmdDrawMultiEXT{ noop::CmdDrawMultiEXT };
+     PFN_vkCmdDrawMultiIndexedEXT CmdDrawMultiIndexedEXT{ noop::CmdDrawMultiIndexedEXT };
+     PFN_vkSetDeviceMemoryPriorityEXT SetDeviceMemoryPriorityEXT{ noop::SetDeviceMemoryPriorityEXT };
++    PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE GetDescriptorSetLayoutHostMappingInfoVALVE{ noop::GetDescriptorSetLayoutHostMappingInfoVALVE };
++    PFN_vkGetDescriptorSetHostMappingVALVE GetDescriptorSetHostMappingVALVE{ noop::GetDescriptorSetHostMappingVALVE };
+     PFN_vkCreateAccelerationStructureKHR CreateAccelerationStructureKHR{ noop::CreateAccelerationStructureKHR };
+     PFN_vkDestroyAccelerationStructureKHR DestroyAccelerationStructureKHR{ noop::DestroyAccelerationStructureKHR };
+     PFN_vkCmdBuildAccelerationStructuresKHR CmdBuildAccelerationStructuresKHR{ noop::CmdBuildAccelerationStructuresKHR };
+@@ -1610,6 +1614,8 @@ static void LoadDeviceTable(PFN_vkGetDeviceProcAddr gpa, VkDevice device, Device
+     LoadFunction(gpa, device, "vkCmdDrawMultiEXT", &table->CmdDrawMultiEXT);
+     LoadFunction(gpa, device, "vkCmdDrawMultiIndexedEXT", &table->CmdDrawMultiIndexedEXT);
+     LoadFunction(gpa, device, "vkSetDeviceMemoryPriorityEXT", &table->SetDeviceMemoryPriorityEXT);
++    LoadFunction(gpa, device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE", &table->GetDescriptorSetLayoutHostMappingInfoVALVE);
++    LoadFunction(gpa, device, "vkGetDescriptorSetHostMappingVALVE", &table->GetDescriptorSetHostMappingVALVE);
+     LoadFunction(gpa, device, "vkCreateAccelerationStructureKHR", &table->CreateAccelerationStructureKHR);
+     LoadFunction(gpa, device, "vkDestroyAccelerationStructureKHR", &table->DestroyAccelerationStructureKHR);
+     LoadFunction(gpa, device, "vkCmdBuildAccelerationStructuresKHR", &table->CmdBuildAccelerationStructuresKHR);
+diff --git a/framework/generated/generated_vulkan_enum_to_string.cpp b/framework/generated/generated_vulkan_enum_to_string.cpp
+index f3159df..cecff93 100644
+--- a/framework/generated/generated_vulkan_enum_to_string.cpp
++++ b/framework/generated/generated_vulkan_enum_to_string.cpp
+@@ -900,11 +900,11 @@ template <> std::string ToString<VkImageAspectFlagBits>(const VkImageAspectFlagB
+     case VK_IMAGE_ASPECT_PLANE_0_BIT: return "VK_IMAGE_ASPECT_PLANE_0_BIT";
+     case VK_IMAGE_ASPECT_PLANE_1_BIT: return "VK_IMAGE_ASPECT_PLANE_1_BIT";
+     case VK_IMAGE_ASPECT_PLANE_2_BIT: return "VK_IMAGE_ASPECT_PLANE_2_BIT";
++    case VK_IMAGE_ASPECT_NONE: return "VK_IMAGE_ASPECT_NONE";
+     case VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT: return "VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT";
+     case VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT: return "VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT";
+     case VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT: return "VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT";
+     case VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT: return "VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT";
+-    case VK_IMAGE_ASPECT_NONE_KHR: return "VK_IMAGE_ASPECT_NONE_KHR";
+     default: break;
+     }
+     return "Unhandled VkImageAspectFlagBits";
+@@ -933,6 +933,7 @@ template <> std::string ToString<VkImageCreateFlagBits>(const VkImageCreateFlagB
+     case VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV: return "VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV";
+     case VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT: return "VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT";
+     case VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT: return "VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT";
++    case VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT: return "VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT";
+     case VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM: return "VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM";
+     default: break;
+     }
+@@ -1073,6 +1074,20 @@ template <> std::string ToString<VkIndexType>(const VkIndexType& value, ToString
+     return "Unhandled VkIndexType";
+ }
+ 
++template <> std::string ToString<VkInstanceCreateFlagBits>(const VkInstanceCreateFlagBits& value, ToStringFlags, uint32_t, uint32_t)
++{
++    switch (value) {
++    case VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR: return "VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR";
++    default: break;
++    }
++    return "Unhandled VkInstanceCreateFlagBits";
++}
++
++template <> std::string ToString<VkInstanceCreateFlagBits>(VkFlags vkFlags, ToStringFlags, uint32_t, uint32_t)
++{
++    return BitmaskToString<VkInstanceCreateFlagBits>(vkFlags);
++}
++
+ template <> std::string ToString<VkInternalAllocationType>(const VkInternalAllocationType& value, ToStringFlags, uint32_t, uint32_t)
+ {
+     switch (value) {
+@@ -1283,6 +1298,8 @@ template <> std::string ToString<VkPipelineCreateFlagBits>(const VkPipelineCreat
+     case VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR: return "VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR";
+     case VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV: return "VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV";
+     case VK_PIPELINE_CREATE_LIBRARY_BIT_KHR: return "VK_PIPELINE_CREATE_LIBRARY_BIT_KHR";
++    case VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT: return "VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT";
++    case VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT: return "VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT";
+     case VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV: return "VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV";
+     default: break;
+     }
+@@ -1309,6 +1326,20 @@ template <> std::string ToString<VkPipelineDepthStencilStateCreateFlagBits>(VkFl
+     return BitmaskToString<VkPipelineDepthStencilStateCreateFlagBits>(vkFlags);
+ }
+ 
++template <> std::string ToString<VkPipelineLayoutCreateFlagBits>(const VkPipelineLayoutCreateFlagBits& value, ToStringFlags, uint32_t, uint32_t)
++{
++    switch (value) {
++    case VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT: return "VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT";
++    default: break;
++    }
++    return "Unhandled VkPipelineLayoutCreateFlagBits";
++}
++
++template <> std::string ToString<VkPipelineLayoutCreateFlagBits>(VkFlags vkFlags, ToStringFlags, uint32_t, uint32_t)
++{
++    return BitmaskToString<VkPipelineLayoutCreateFlagBits>(vkFlags);
++}
++
+ template <> std::string ToString<VkPipelineShaderStageCreateFlagBits>(const VkPipelineShaderStageCreateFlagBits& value, ToStringFlags, uint32_t, uint32_t)
+ {
+     switch (value) {
+@@ -1465,6 +1496,7 @@ template <> std::string ToString<VkQueryType>(const VkQueryType& value, ToString
+     case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV: return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV";
+     case VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL: return "VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL";
+     case VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR: return "VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR";
++    case VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT: return "VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT";
+     default: break;
+     }
+     return "Unhandled VkQueryType";
+@@ -1968,6 +2000,7 @@ template <> std::string ToString<VkStructureType>(const VkStructureType& value,
+     case VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR";
+     case VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR";
+     case VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR";
++    case VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR";
+     case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV";
+     case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV";
+     case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV";
+@@ -1980,7 +2013,6 @@ template <> std::string ToString<VkStructureType>(const VkStructureType& value,
+     case VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX: return "VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX";
+     case VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX: return "VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX";
+     case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT";
+-    case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT";
+@@ -1990,20 +2022,19 @@ template <> std::string ToString<VkStructureType>(const VkStructureType& value,
+     case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT";
++    case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT";
+-    case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT";
+-    case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT";
++    case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT";
+-    case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT";
+@@ -2166,7 +2197,6 @@ template <> std::string ToString<VkStructureType>(const VkStructureType& value,
+     case VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT: return "VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT";
+     case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD";
+     case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT";
+-    case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT";
+     case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT";
+@@ -2276,10 +2306,14 @@ template <> std::string ToString<VkStructureType>(const VkStructureType& value,
+     case VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR";
+     case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR";
+     case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR";
++    case VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR";
+     case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV";
+     case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV";
+     case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV";
+     case VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV: return "VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV";
++    case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT";
++    case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT";
++    case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT";
+     case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR";
+     case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV";
+     case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV";
+@@ -2330,13 +2364,18 @@ template <> std::string ToString<VkStructureType>(const VkStructureType& value,
+     case VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX: return "VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX";
+     case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT";
+     case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT";
++    case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT";
+     case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT";
+     case VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT";
+     case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT";
+     case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT";
++    case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT";
+     case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT";
+     case VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT";
+     case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT";
++    case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE";
++    case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE";
++    case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE";
+     case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM";
+     case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM";
+     case VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM: return "VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM";
+@@ -2794,16 +2833,6 @@ template <> std::string ToString<VkPipelineCreationFeedbackFlagBits>(VkFlags vkF
+     return BitmaskToString<VkPipelineCreationFeedbackFlagBits>(vkFlags);
+ }
+ 
+-template <> std::string ToString<VkPrivateDataSlotCreateFlagBits>(const VkPrivateDataSlotCreateFlagBits& value, ToStringFlags, uint32_t, uint32_t)
+-{
+-    return "Unhandled VkPrivateDataSlotCreateFlagBits";
+-}
+-
+-template <> std::string ToString<VkPrivateDataSlotCreateFlagBits>(VkFlags vkFlags, ToStringFlags, uint32_t, uint32_t)
+-{
+-    return BitmaskToString<VkPrivateDataSlotCreateFlagBits>(vkFlags);
+-}
+-
+ template <> std::string ToString<VkRenderingFlagBits>(const VkRenderingFlagBits& value, ToStringFlags, uint32_t, uint32_t)
+ {
+     switch (value) {
+@@ -3787,6 +3816,23 @@ template <> std::string ToString<VkDeviceDiagnosticsConfigFlagBitsNV>(VkFlags vk
+     return BitmaskToString<VkDeviceDiagnosticsConfigFlagBitsNV>(vkFlags);
+ }
+ 
++template <> std::string ToString<VkGraphicsPipelineLibraryFlagBitsEXT>(const VkGraphicsPipelineLibraryFlagBitsEXT& value, ToStringFlags, uint32_t, uint32_t)
++{
++    switch (value) {
++    case VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT: return "VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT";
++    case VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT: return "VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT";
++    case VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT: return "VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT";
++    case VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT: return "VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT";
++    default: break;
++    }
++    return "Unhandled VkGraphicsPipelineLibraryFlagBitsEXT";
++}
++
++template <> std::string ToString<VkGraphicsPipelineLibraryFlagBitsEXT>(VkFlags vkFlags, ToStringFlags, uint32_t, uint32_t)
++{
++    return BitmaskToString<VkGraphicsPipelineLibraryFlagBitsEXT>(vkFlags);
++}
++
+ template <> std::string ToString<VkFragmentShadingRateNV>(const VkFragmentShadingRateNV& value, ToStringFlags, uint32_t, uint32_t)
+ {
+     switch (value) {
+diff --git a/framework/generated/generated_vulkan_enum_to_string.h b/framework/generated/generated_vulkan_enum_to_string.h
+index cb82238..223b68d 100644
+--- a/framework/generated/generated_vulkan_enum_to_string.h
++++ b/framework/generated/generated_vulkan_enum_to_string.h
+@@ -96,6 +96,8 @@ template <> std::string ToString<VkImageViewCreateFlagBits>(const VkImageViewCre
+ template <> std::string ToString<VkImageViewCreateFlagBits>(VkFlags vkFlags, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkImageViewType>(const VkImageViewType& value, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkIndexType>(const VkIndexType& value, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
++template <> std::string ToString<VkInstanceCreateFlagBits>(const VkInstanceCreateFlagBits& value, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
++template <> std::string ToString<VkInstanceCreateFlagBits>(VkFlags vkFlags, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkInternalAllocationType>(const VkInternalAllocationType& value, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkLogicOp>(const VkLogicOp& value, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkMemoryHeapFlagBits>(const VkMemoryHeapFlagBits& value, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+@@ -114,6 +116,8 @@ template <> std::string ToString<VkPipelineCreateFlagBits>(const VkPipelineCreat
+ template <> std::string ToString<VkPipelineCreateFlagBits>(VkFlags vkFlags, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkPipelineDepthStencilStateCreateFlagBits>(const VkPipelineDepthStencilStateCreateFlagBits& value, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkPipelineDepthStencilStateCreateFlagBits>(VkFlags vkFlags, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
++template <> std::string ToString<VkPipelineLayoutCreateFlagBits>(const VkPipelineLayoutCreateFlagBits& value, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
++template <> std::string ToString<VkPipelineLayoutCreateFlagBits>(VkFlags vkFlags, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkPipelineShaderStageCreateFlagBits>(const VkPipelineShaderStageCreateFlagBits& value, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkPipelineShaderStageCreateFlagBits>(VkFlags vkFlags, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkPipelineStageFlagBits>(const VkPipelineStageFlagBits& value, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+@@ -195,8 +199,6 @@ template <> std::string ToString<VkSemaphoreWaitFlagBits>(VkFlags vkFlags, ToStr
+ template <> std::string ToString<VkShaderFloatControlsIndependence>(const VkShaderFloatControlsIndependence& value, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkPipelineCreationFeedbackFlagBits>(const VkPipelineCreationFeedbackFlagBits& value, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkPipelineCreationFeedbackFlagBits>(VkFlags vkFlags, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+-template <> std::string ToString<VkPrivateDataSlotCreateFlagBits>(const VkPrivateDataSlotCreateFlagBits& value, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+-template <> std::string ToString<VkPrivateDataSlotCreateFlagBits>(VkFlags vkFlags, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkRenderingFlagBits>(const VkRenderingFlagBits& value, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkRenderingFlagBits>(VkFlags vkFlags, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkSubmitFlagBits>(const VkSubmitFlagBits& value, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+@@ -292,6 +294,8 @@ template <> std::string ToString<VkIndirectStateFlagBitsNV>(VkFlags vkFlags, ToS
+ template <> std::string ToString<VkDeviceMemoryReportEventTypeEXT>(const VkDeviceMemoryReportEventTypeEXT& value, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkDeviceDiagnosticsConfigFlagBitsNV>(const VkDeviceDiagnosticsConfigFlagBitsNV& value, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkDeviceDiagnosticsConfigFlagBitsNV>(VkFlags vkFlags, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
++template <> std::string ToString<VkGraphicsPipelineLibraryFlagBitsEXT>(const VkGraphicsPipelineLibraryFlagBitsEXT& value, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
++template <> std::string ToString<VkGraphicsPipelineLibraryFlagBitsEXT>(VkFlags vkFlags, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkFragmentShadingRateNV>(const VkFragmentShadingRateNV& value, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkFragmentShadingRateTypeNV>(const VkFragmentShadingRateTypeNV& value, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkAccelerationStructureMotionInstanceTypeNV>(const VkAccelerationStructureMotionInstanceTypeNV& value, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize);
+diff --git a/framework/generated/generated_vulkan_feature_util.cpp b/framework/generated/generated_vulkan_feature_util.cpp
+index 18ba2b6..397847d 100644
+--- a/framework/generated/generated_vulkan_feature_util.cpp
++++ b/framework/generated/generated_vulkan_feature_util.cpp
+@@ -2007,6 +2007,19 @@ void RemoveUnsupportedFeatures(VkPhysicalDevice physicalDevice, PFN_vkGetPhysica
+                 }
+                 break;
+              }
++            case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT:
++            {
++                const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* currentNext = reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT*>(next);
++                VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT query = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT, nullptr };
++                physicalDeviceFeatures2.pNext = &query;
++                GetPhysicalDeviceFeatures2(physicalDevice, &physicalDeviceFeatures2);
++                if ((currentNext->graphicsPipelineLibrary == VK_TRUE) && (query.graphicsPipelineLibrary == VK_FALSE))
++                {
++                    GFXRECON_LOG_WARNING("Feature graphicsPipelineLibrary, which is not supported by the replay device, will not be enabled");
++                    const_cast<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT*>(currentNext)->graphicsPipelineLibrary = VK_FALSE;
++                }
++                break;
++             }
+             case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV:
+             {
+                 const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV* currentNext = reinterpret_cast<const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV*>(next);
+@@ -2247,6 +2260,29 @@ void RemoveUnsupportedFeatures(VkPhysicalDevice physicalDevice, PFN_vkGetPhysica
+                 }
+                 break;
+              }
++            case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT:
++            {
++                const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT* currentNext = reinterpret_cast<const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT*>(next);
++                VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT query = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT, nullptr };
++                physicalDeviceFeatures2.pNext = &query;
++                GetPhysicalDeviceFeatures2(physicalDevice, &physicalDeviceFeatures2);
++                if ((currentNext->primitivesGeneratedQuery == VK_TRUE) && (query.primitivesGeneratedQuery == VK_FALSE))
++                {
++                    GFXRECON_LOG_WARNING("Feature primitivesGeneratedQuery, which is not supported by the replay device, will not be enabled");
++                    const_cast<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT*>(currentNext)->primitivesGeneratedQuery = VK_FALSE;
++                }
++                if ((currentNext->primitivesGeneratedQueryWithRasterizerDiscard == VK_TRUE) && (query.primitivesGeneratedQueryWithRasterizerDiscard == VK_FALSE))
++                {
++                    GFXRECON_LOG_WARNING("Feature primitivesGeneratedQueryWithRasterizerDiscard, which is not supported by the replay device, will not be enabled");
++                    const_cast<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT*>(currentNext)->primitivesGeneratedQueryWithRasterizerDiscard = VK_FALSE;
++                }
++                if ((currentNext->primitivesGeneratedQueryWithNonZeroStreams == VK_TRUE) && (query.primitivesGeneratedQueryWithNonZeroStreams == VK_FALSE))
++                {
++                    GFXRECON_LOG_WARNING("Feature primitivesGeneratedQueryWithNonZeroStreams, which is not supported by the replay device, will not be enabled");
++                    const_cast<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT*>(currentNext)->primitivesGeneratedQueryWithNonZeroStreams = VK_FALSE;
++                }
++                break;
++             }
+             case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT:
+             {
+                 const VkPhysicalDeviceImageViewMinLodFeaturesEXT* currentNext = reinterpret_cast<const VkPhysicalDeviceImageViewMinLodFeaturesEXT*>(next);
+@@ -2273,6 +2309,24 @@ void RemoveUnsupportedFeatures(VkPhysicalDevice physicalDevice, PFN_vkGetPhysica
+                 }
+                 break;
+              }
++            case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT:
++            {
++                const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT* currentNext = reinterpret_cast<const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT*>(next);
++                VkPhysicalDeviceImage2DViewOf3DFeaturesEXT query = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT, nullptr };
++                physicalDeviceFeatures2.pNext = &query;
++                GetPhysicalDeviceFeatures2(physicalDevice, &physicalDeviceFeatures2);
++                if ((currentNext->image2DViewOf3D == VK_TRUE) && (query.image2DViewOf3D == VK_FALSE))
++                {
++                    GFXRECON_LOG_WARNING("Feature image2DViewOf3D, which is not supported by the replay device, will not be enabled");
++                    const_cast<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT*>(currentNext)->image2DViewOf3D = VK_FALSE;
++                }
++                if ((currentNext->sampler2DViewOf3D == VK_TRUE) && (query.sampler2DViewOf3D == VK_FALSE))
++                {
++                    GFXRECON_LOG_WARNING("Feature sampler2DViewOf3D, which is not supported by the replay device, will not be enabled");
++                    const_cast<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT*>(currentNext)->sampler2DViewOf3D = VK_FALSE;
++                }
++                break;
++             }
+             case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT:
+             {
+                 const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT* currentNext = reinterpret_cast<const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT*>(next);
+@@ -2304,6 +2358,19 @@ void RemoveUnsupportedFeatures(VkPhysicalDevice physicalDevice, PFN_vkGetPhysica
+                 }
+                 break;
+              }
++            case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE:
++            {
++                const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE* currentNext = reinterpret_cast<const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE*>(next);
++                VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE query = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE, nullptr };
++                physicalDeviceFeatures2.pNext = &query;
++                GetPhysicalDeviceFeatures2(physicalDevice, &physicalDeviceFeatures2);
++                if ((currentNext->descriptorSetHostMapping == VK_TRUE) && (query.descriptorSetHostMapping == VK_FALSE))
++                {
++                    GFXRECON_LOG_WARNING("Feature descriptorSetHostMapping, which is not supported by the replay device, will not be enabled");
++                    const_cast<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE*>(currentNext)->descriptorSetHostMapping = VK_FALSE;
++                }
++                break;
++             }
+             case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM:
+             {
+                 const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM* currentNext = reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM*>(next);
+diff --git a/framework/generated/generated_vulkan_pnext_to_string.cpp b/framework/generated/generated_vulkan_pnext_to_string.cpp
+index 1436898..a74aab2 100644
+--- a/framework/generated/generated_vulkan_pnext_to_string.cpp
++++ b/framework/generated/generated_vulkan_pnext_to_string.cpp
+@@ -38,6 +38,8 @@ std::string PNextToString(const void* pNext, ToStringFlags toStringFlags, uint32
+     {
+         switch (reinterpret_cast<const VkBaseInStructure*>(pNext)->sType)
+         {
++        case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO:
++            return ToString(*reinterpret_cast<const VkShaderModuleCreateInfo*>(pNext), toStringFlags, tabCount, tabSize);
+         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
+             return ToString(*reinterpret_cast<const VkPhysicalDeviceSubgroupProperties*>(pNext), toStringFlags, tabCount, tabSize);
+         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
+@@ -322,6 +324,8 @@ std::string PNextToString(const void* pNext, ToStringFlags toStringFlags, uint32
+             return ToString(*reinterpret_cast<const VkPhysicalDevicePresentWaitFeaturesKHR*>(pNext), toStringFlags, tabCount, tabSize);
+         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR:
+             return ToString(*reinterpret_cast<const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR*>(pNext), toStringFlags, tabCount, tabSize);
++        case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR:
++            return ToString(*reinterpret_cast<const VkPipelineLibraryCreateInfoKHR*>(pNext), toStringFlags, tabCount, tabSize);
+         case VK_STRUCTURE_TYPE_PRESENT_ID_KHR:
+             return ToString(*reinterpret_cast<const VkPresentIdKHR*>(pNext), toStringFlags, tabCount, tabSize);
+         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR:
+@@ -394,6 +398,8 @@ std::string PNextToString(const void* pNext, ToStringFlags toStringFlags, uint32
+             return ToString(*reinterpret_cast<const VkPhysicalDeviceDepthClipEnableFeaturesEXT*>(pNext), toStringFlags, tabCount, tabSize);
+         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT:
+             return ToString(*reinterpret_cast<const VkPipelineRasterizationDepthClipStateCreateInfoEXT*>(pNext), toStringFlags, tabCount, tabSize);
++        case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT:
++            return ToString(*reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT*>(pNext), toStringFlags, tabCount, tabSize);
+         case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
+             return ToString(*reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT*>(pNext), toStringFlags, tabCount, tabSize);
+         case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID:
+@@ -602,6 +608,12 @@ std::string PNextToString(const void* pNext, ToStringFlags toStringFlags, uint32
+             return ToString(*reinterpret_cast<const VkPhysicalDeviceDiagnosticsConfigFeaturesNV*>(pNext), toStringFlags, tabCount, tabSize);
+         case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV:
+             return ToString(*reinterpret_cast<const VkDeviceDiagnosticsConfigCreateInfoNV*>(pNext), toStringFlags, tabCount, tabSize);
++        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT:
++            return ToString(*reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT*>(pNext), toStringFlags, tabCount, tabSize);
++        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT:
++            return ToString(*reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT*>(pNext), toStringFlags, tabCount, tabSize);
++        case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT:
++            return ToString(*reinterpret_cast<const VkGraphicsPipelineLibraryCreateInfoEXT*>(pNext), toStringFlags, tabCount, tabSize);
+         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV:
+             return ToString(*reinterpret_cast<const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV*>(pNext), toStringFlags, tabCount, tabSize);
+         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV:
+@@ -654,6 +666,8 @@ std::string PNextToString(const void* pNext, ToStringFlags toStringFlags, uint32
+             return ToString(*reinterpret_cast<const VkPhysicalDeviceColorWriteEnableFeaturesEXT*>(pNext), toStringFlags, tabCount, tabSize);
+         case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT:
+             return ToString(*reinterpret_cast<const VkPipelineColorWriteCreateInfoEXT*>(pNext), toStringFlags, tabCount, tabSize);
++        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT:
++            return ToString(*reinterpret_cast<const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT*>(pNext), toStringFlags, tabCount, tabSize);
+         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT:
+             return ToString(*reinterpret_cast<const VkPhysicalDeviceImageViewMinLodFeaturesEXT*>(pNext), toStringFlags, tabCount, tabSize);
+         case VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT:
+@@ -662,12 +676,16 @@ std::string PNextToString(const void* pNext, ToStringFlags toStringFlags, uint32
+             return ToString(*reinterpret_cast<const VkPhysicalDeviceMultiDrawFeaturesEXT*>(pNext), toStringFlags, tabCount, tabSize);
+         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT:
+             return ToString(*reinterpret_cast<const VkPhysicalDeviceMultiDrawPropertiesEXT*>(pNext), toStringFlags, tabCount, tabSize);
++        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT:
++            return ToString(*reinterpret_cast<const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT*>(pNext), toStringFlags, tabCount, tabSize);
+         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT:
+             return ToString(*reinterpret_cast<const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT*>(pNext), toStringFlags, tabCount, tabSize);
+         case VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT:
+             return ToString(*reinterpret_cast<const VkSamplerBorderColorComponentMappingCreateInfoEXT*>(pNext), toStringFlags, tabCount, tabSize);
+         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT:
+             return ToString(*reinterpret_cast<const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT*>(pNext), toStringFlags, tabCount, tabSize);
++        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE:
++            return ToString(*reinterpret_cast<const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE*>(pNext), toStringFlags, tabCount, tabSize);
+         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM:
+             return ToString(*reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM*>(pNext), toStringFlags, tabCount, tabSize);
+         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM:
+diff --git a/framework/generated/generated_vulkan_replay_consumer.cpp b/framework/generated/generated_vulkan_replay_consumer.cpp
+index f35abda..b57ac3a 100644
+--- a/framework/generated/generated_vulkan_replay_consumer.cpp
++++ b/framework/generated/generated_vulkan_replay_consumer.cpp
+@@ -60,6 +60,7 @@ void VulkanReplayConsumer::Process_vkDestroyInstance(
+     VkInstance in_instance = MapHandle<InstanceInfo>(instance, &VulkanObjectInfoTable::GetInstanceInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_instance)->DestroyInstance(in_instance, in_pAllocator);
+     RemoveHandle(instance, &VulkanObjectInfoTable::RemoveInstanceInfo);
+ }
+@@ -90,6 +91,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceFeatures(
+     VkPhysicalDevice in_physicalDevice = MapHandle<PhysicalDeviceInfo>(physicalDevice, &VulkanObjectInfoTable::GetPhysicalDeviceInfo);
+     VkPhysicalDeviceFeatures* out_pFeatures = pFeatures->IsNull() ? nullptr : pFeatures->AllocateOutputData(1);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceFeatures(in_physicalDevice, out_pFeatures);
+ }
+ 
+@@ -101,6 +103,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceFormatProperties(
+     VkPhysicalDevice in_physicalDevice = MapHandle<PhysicalDeviceInfo>(physicalDevice, &VulkanObjectInfoTable::GetPhysicalDeviceInfo);
+     VkFormatProperties* out_pFormatProperties = pFormatProperties->IsNull() ? nullptr : pFormatProperties->AllocateOutputData(1);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceFormatProperties(in_physicalDevice, format, out_pFormatProperties);
+ }
+ 
+@@ -128,6 +131,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceProperties(
+     auto in_physicalDevice = GetObjectInfoTable().GetPhysicalDeviceInfo(physicalDevice);
+     pProperties->IsNull() ? nullptr : pProperties->AllocateOutputData(1);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideGetPhysicalDeviceProperties(GetInstanceTable(in_physicalDevice->handle)->GetPhysicalDeviceProperties, in_physicalDevice, pProperties);
+ }
+ 
+@@ -140,6 +144,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceQueueFamilyProperties(
+     uint32_t* out_pQueueFamilyPropertyCount = pQueueFamilyPropertyCount->IsNull() ? nullptr : pQueueFamilyPropertyCount->AllocateOutputData(1, GetOutputArrayCount<uint32_t, PhysicalDeviceInfo>("vkGetPhysicalDeviceQueueFamilyProperties", VK_SUCCESS, physicalDevice, kPhysicalDeviceArrayGetPhysicalDeviceQueueFamilyProperties, pQueueFamilyPropertyCount, pQueueFamilyProperties, &VulkanObjectInfoTable::GetPhysicalDeviceInfo));
+     VkQueueFamilyProperties* out_pQueueFamilyProperties = pQueueFamilyProperties->IsNull() ? nullptr : pQueueFamilyProperties->AllocateOutputData(*out_pQueueFamilyPropertyCount);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceQueueFamilyProperties(in_physicalDevice, out_pQueueFamilyPropertyCount, out_pQueueFamilyProperties);
+ 
+     if (pQueueFamilyProperties->IsNull()) { SetOutputArrayCount<PhysicalDeviceInfo>(physicalDevice, kPhysicalDeviceArrayGetPhysicalDeviceQueueFamilyProperties, *out_pQueueFamilyPropertyCount, &VulkanObjectInfoTable::GetPhysicalDeviceInfo); }
+@@ -152,6 +157,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceMemoryProperties(
+     auto in_physicalDevice = GetObjectInfoTable().GetPhysicalDeviceInfo(physicalDevice);
+     pMemoryProperties->IsNull() ? nullptr : pMemoryProperties->AllocateOutputData(1);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideGetPhysicalDeviceMemoryProperties(GetInstanceTable(in_physicalDevice->handle)->GetPhysicalDeviceMemoryProperties, in_physicalDevice, pMemoryProperties);
+ }
+ 
+@@ -181,6 +187,7 @@ void VulkanReplayConsumer::Process_vkDestroyDevice(
+ {
+     auto in_device = GetObjectInfoTable().GetDeviceInfo(device);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideDestroyDevice(GetDeviceTable(in_device->handle)->DestroyDevice, in_device, pAllocator);
+     RemoveHandle(device, &VulkanObjectInfoTable::RemoveDeviceInfo);
+ }
+@@ -195,6 +202,7 @@ void VulkanReplayConsumer::Process_vkGetDeviceQueue(
+     if (!pQueue->IsNull()) { pQueue->SetHandleLength(1); }
+     VkQueue* out_pQueue = pQueue->GetHandlePointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetDeviceQueue(in_device, queueFamilyIndex, queueIndex, out_pQueue);
+ 
+     AddHandle<QueueInfo>(device, pQueue->GetPointer(), out_pQueue, &VulkanObjectInfoTable::AddQueueInfo);
+@@ -264,6 +272,7 @@ void VulkanReplayConsumer::Process_vkFreeMemory(
+     auto in_device = GetObjectInfoTable().GetDeviceInfo(device);
+     auto in_memory = GetObjectInfoTable().GetDeviceMemoryInfo(memory);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideFreeMemory(GetDeviceTable(in_device->handle)->FreeMemory, in_device, in_memory, pAllocator);
+     RemoveHandle(memory, &VulkanObjectInfoTable::RemoveDeviceMemoryInfo);
+ }
+@@ -294,6 +303,7 @@ void VulkanReplayConsumer::Process_vkUnmapMemory(
+     auto in_device = GetObjectInfoTable().GetDeviceInfo(device);
+     auto in_memory = GetObjectInfoTable().GetDeviceMemoryInfo(memory);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideUnmapMemory(GetDeviceTable(in_device->handle)->UnmapMemory, in_device, in_memory);
+ }
+ 
+@@ -334,6 +344,7 @@ void VulkanReplayConsumer::Process_vkGetDeviceMemoryCommitment(
+     VkDeviceMemory in_memory = MapHandle<DeviceMemoryInfo>(memory, &VulkanObjectInfoTable::GetDeviceMemoryInfo);
+     VkDeviceSize* out_pCommittedMemoryInBytes = pCommittedMemoryInBytes->IsNull() ? nullptr : pCommittedMemoryInBytes->AllocateOutputData(1, static_cast<VkDeviceSize>(0));
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetDeviceMemoryCommitment(in_device, in_memory, out_pCommittedMemoryInBytes);
+ }
+ 
+@@ -376,6 +387,7 @@ void VulkanReplayConsumer::Process_vkGetBufferMemoryRequirements(
+     VkBuffer in_buffer = MapHandle<BufferInfo>(buffer, &VulkanObjectInfoTable::GetBufferInfo);
+     VkMemoryRequirements* out_pMemoryRequirements = pMemoryRequirements->IsNull() ? nullptr : pMemoryRequirements->AllocateOutputData(1);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetBufferMemoryRequirements(in_device, in_buffer, out_pMemoryRequirements);
+ }
+ 
+@@ -388,6 +400,7 @@ void VulkanReplayConsumer::Process_vkGetImageMemoryRequirements(
+     VkImage in_image = MapHandle<ImageInfo>(image, &VulkanObjectInfoTable::GetImageInfo);
+     VkMemoryRequirements* out_pMemoryRequirements = pMemoryRequirements->IsNull() ? nullptr : pMemoryRequirements->AllocateOutputData(1);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetImageMemoryRequirements(in_device, in_image, out_pMemoryRequirements);
+ }
+ 
+@@ -402,6 +415,7 @@ void VulkanReplayConsumer::Process_vkGetImageSparseMemoryRequirements(
+     uint32_t* out_pSparseMemoryRequirementCount = pSparseMemoryRequirementCount->IsNull() ? nullptr : pSparseMemoryRequirementCount->AllocateOutputData(1, GetOutputArrayCount<uint32_t, ImageInfo>("vkGetImageSparseMemoryRequirements", VK_SUCCESS, image, kImageArrayGetImageSparseMemoryRequirements, pSparseMemoryRequirementCount, pSparseMemoryRequirements, &VulkanObjectInfoTable::GetImageInfo));
+     VkSparseImageMemoryRequirements* out_pSparseMemoryRequirements = pSparseMemoryRequirements->IsNull() ? nullptr : pSparseMemoryRequirements->AllocateOutputData(*out_pSparseMemoryRequirementCount);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetImageSparseMemoryRequirements(in_device, in_image, out_pSparseMemoryRequirementCount, out_pSparseMemoryRequirements);
+ 
+     if (pSparseMemoryRequirements->IsNull()) { SetOutputArrayCount<ImageInfo>(image, kImageArrayGetImageSparseMemoryRequirements, *out_pSparseMemoryRequirementCount, &VulkanObjectInfoTable::GetImageInfo); }
+@@ -421,6 +435,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceSparseImageFormatPropertie
+     uint32_t* out_pPropertyCount = pPropertyCount->IsNull() ? nullptr : pPropertyCount->AllocateOutputData(1, GetOutputArrayCount<uint32_t, PhysicalDeviceInfo>("vkGetPhysicalDeviceSparseImageFormatProperties", VK_SUCCESS, physicalDevice, kPhysicalDeviceArrayGetPhysicalDeviceSparseImageFormatProperties, pPropertyCount, pProperties, &VulkanObjectInfoTable::GetPhysicalDeviceInfo));
+     VkSparseImageFormatProperties* out_pProperties = pProperties->IsNull() ? nullptr : pProperties->AllocateOutputData(*out_pPropertyCount);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceSparseImageFormatProperties(in_physicalDevice, format, type, samples, usage, tiling, out_pPropertyCount, out_pProperties);
+ 
+     if (pProperties->IsNull()) { SetOutputArrayCount<PhysicalDeviceInfo>(physicalDevice, kPhysicalDeviceArrayGetPhysicalDeviceSparseImageFormatProperties, *out_pPropertyCount, &VulkanObjectInfoTable::GetPhysicalDeviceInfo); }
+@@ -470,6 +485,7 @@ void VulkanReplayConsumer::Process_vkDestroyFence(
+     VkFence in_fence = MapHandle<FenceInfo>(fence, &VulkanObjectInfoTable::GetFenceInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroyFence(in_device, in_fence, in_pAllocator);
+     RemoveHandle(fence, &VulkanObjectInfoTable::RemoveFenceInfo);
+ }
+@@ -542,6 +558,7 @@ void VulkanReplayConsumer::Process_vkDestroySemaphore(
+     VkSemaphore in_semaphore = MapHandle<SemaphoreInfo>(semaphore, &VulkanObjectInfoTable::GetSemaphoreInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroySemaphore(in_device, in_semaphore, in_pAllocator);
+     RemoveHandle(semaphore, &VulkanObjectInfoTable::RemoveSemaphoreInfo);
+ }
+@@ -574,6 +591,7 @@ void VulkanReplayConsumer::Process_vkDestroyEvent(
+     VkEvent in_event = MapHandle<EventInfo>(event, &VulkanObjectInfoTable::GetEventInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroyEvent(in_device, in_event, in_pAllocator);
+     RemoveHandle(event, &VulkanObjectInfoTable::RemoveEventInfo);
+ }
+@@ -642,6 +660,7 @@ void VulkanReplayConsumer::Process_vkDestroyQueryPool(
+     VkQueryPool in_queryPool = MapHandle<QueryPoolInfo>(queryPool, &VulkanObjectInfoTable::GetQueryPoolInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroyQueryPool(in_device, in_queryPool, in_pAllocator);
+     RemoveHandle(queryPool, &VulkanObjectInfoTable::RemoveQueryPoolInfo);
+ }
+@@ -693,6 +712,7 @@ void VulkanReplayConsumer::Process_vkDestroyBuffer(
+     auto in_device = GetObjectInfoTable().GetDeviceInfo(device);
+     auto in_buffer = GetObjectInfoTable().GetBufferInfo(buffer);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideDestroyBuffer(GetDeviceTable(in_device->handle)->DestroyBuffer, in_device, in_buffer, pAllocator);
+     RemoveHandle(buffer, &VulkanObjectInfoTable::RemoveBufferInfo);
+ }
+@@ -726,6 +746,7 @@ void VulkanReplayConsumer::Process_vkDestroyBufferView(
+     VkBufferView in_bufferView = MapHandle<BufferViewInfo>(bufferView, &VulkanObjectInfoTable::GetBufferViewInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroyBufferView(in_device, in_bufferView, in_pAllocator);
+     RemoveHandle(bufferView, &VulkanObjectInfoTable::RemoveBufferViewInfo);
+ }
+@@ -758,6 +779,7 @@ void VulkanReplayConsumer::Process_vkDestroyImage(
+     auto in_device = GetObjectInfoTable().GetDeviceInfo(device);
+     auto in_image = GetObjectInfoTable().GetImageInfo(image);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideDestroyImage(GetDeviceTable(in_device->handle)->DestroyImage, in_device, in_image, pAllocator);
+     RemoveHandle(image, &VulkanObjectInfoTable::RemoveImageInfo);
+ }
+@@ -772,6 +794,7 @@ void VulkanReplayConsumer::Process_vkGetImageSubresourceLayout(
+     auto in_image = GetObjectInfoTable().GetImageInfo(image);
+     pLayout->IsNull() ? nullptr : pLayout->AllocateOutputData(1);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideGetImageSubresourceLayout(GetDeviceTable(in_device->handle)->GetImageSubresourceLayout, in_device, in_image, pSubresource, pLayout);
+ }
+ 
+@@ -804,6 +827,7 @@ void VulkanReplayConsumer::Process_vkDestroyImageView(
+     VkImageView in_imageView = MapHandle<ImageViewInfo>(imageView, &VulkanObjectInfoTable::GetImageViewInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroyImageView(in_device, in_imageView, in_pAllocator);
+     RemoveHandle(imageView, &VulkanObjectInfoTable::RemoveImageViewInfo);
+ }
+@@ -837,6 +861,7 @@ void VulkanReplayConsumer::Process_vkDestroyShaderModule(
+     VkShaderModule in_shaderModule = MapHandle<ShaderModuleInfo>(shaderModule, &VulkanObjectInfoTable::GetShaderModuleInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroyShaderModule(in_device, in_shaderModule, in_pAllocator);
+     RemoveHandle(shaderModule, &VulkanObjectInfoTable::RemoveShaderModuleInfo);
+ }
+@@ -868,6 +893,7 @@ void VulkanReplayConsumer::Process_vkDestroyPipelineCache(
+     VkPipelineCache in_pipelineCache = MapHandle<PipelineCacheInfo>(pipelineCache, &VulkanObjectInfoTable::GetPipelineCacheInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroyPipelineCache(in_device, in_pipelineCache, in_pAllocator);
+     RemoveHandle(pipelineCache, &VulkanObjectInfoTable::RemovePipelineCacheInfo);
+ }
+@@ -960,6 +986,7 @@ void VulkanReplayConsumer::Process_vkDestroyPipeline(
+     VkPipeline in_pipeline = MapHandle<PipelineInfo>(pipeline, &VulkanObjectInfoTable::GetPipelineInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroyPipeline(in_device, in_pipeline, in_pAllocator);
+     RemoveHandle(pipeline, &VulkanObjectInfoTable::RemovePipelineInfo);
+ }
+@@ -993,6 +1020,7 @@ void VulkanReplayConsumer::Process_vkDestroyPipelineLayout(
+     VkPipelineLayout in_pipelineLayout = MapHandle<PipelineLayoutInfo>(pipelineLayout, &VulkanObjectInfoTable::GetPipelineLayoutInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroyPipelineLayout(in_device, in_pipelineLayout, in_pAllocator);
+     RemoveHandle(pipelineLayout, &VulkanObjectInfoTable::RemovePipelineLayoutInfo);
+ }
+@@ -1026,6 +1054,7 @@ void VulkanReplayConsumer::Process_vkDestroySampler(
+     VkSampler in_sampler = MapHandle<SamplerInfo>(sampler, &VulkanObjectInfoTable::GetSamplerInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroySampler(in_device, in_sampler, in_pAllocator);
+     RemoveHandle(sampler, &VulkanObjectInfoTable::RemoveSamplerInfo);
+ }
+@@ -1059,6 +1088,7 @@ void VulkanReplayConsumer::Process_vkDestroyDescriptorSetLayout(
+     VkDescriptorSetLayout in_descriptorSetLayout = MapHandle<DescriptorSetLayoutInfo>(descriptorSetLayout, &VulkanObjectInfoTable::GetDescriptorSetLayoutInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroyDescriptorSetLayout(in_device, in_descriptorSetLayout, in_pAllocator);
+     RemoveHandle(descriptorSetLayout, &VulkanObjectInfoTable::RemoveDescriptorSetLayoutInfo);
+ }
+@@ -1089,6 +1119,7 @@ void VulkanReplayConsumer::Process_vkDestroyDescriptorPool(
+     auto in_device = GetObjectInfoTable().GetDeviceInfo(device);
+     auto in_descriptorPool = GetObjectInfoTable().GetDescriptorPoolInfo(descriptorPool);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideDestroyDescriptorPool(GetDeviceTable(in_device->handle)->DestroyDescriptorPool, in_device, in_descriptorPool, pAllocator);
+     RemovePoolHandle<DescriptorPoolInfo>(descriptorPool, &VulkanObjectInfoTable::GetDescriptorPoolInfo, &VulkanObjectInfoTable::RemoveDescriptorPoolInfo, &VulkanObjectInfoTable::RemoveDescriptorSetInfo);
+ }
+@@ -1154,6 +1185,7 @@ void VulkanReplayConsumer::Process_vkUpdateDescriptorSets(
+     const VkCopyDescriptorSet* in_pDescriptorCopies = pDescriptorCopies->GetPointer();
+     MapStructArrayHandles(pDescriptorCopies->GetMetaStructPointer(), pDescriptorCopies->GetLength(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->UpdateDescriptorSets(in_device, descriptorWriteCount, in_pDescriptorWrites, descriptorCopyCount, in_pDescriptorCopies);
+ }
+ 
+@@ -1186,6 +1218,7 @@ void VulkanReplayConsumer::Process_vkDestroyFramebuffer(
+     VkFramebuffer in_framebuffer = MapHandle<FramebufferInfo>(framebuffer, &VulkanObjectInfoTable::GetFramebufferInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroyFramebuffer(in_device, in_framebuffer, in_pAllocator);
+     RemoveHandle(framebuffer, &VulkanObjectInfoTable::RemoveFramebufferInfo);
+ }
+@@ -1218,6 +1251,7 @@ void VulkanReplayConsumer::Process_vkDestroyRenderPass(
+     VkRenderPass in_renderPass = MapHandle<RenderPassInfo>(renderPass, &VulkanObjectInfoTable::GetRenderPassInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroyRenderPass(in_device, in_renderPass, in_pAllocator);
+     RemoveHandle(renderPass, &VulkanObjectInfoTable::RemoveRenderPassInfo);
+ }
+@@ -1231,6 +1265,7 @@ void VulkanReplayConsumer::Process_vkGetRenderAreaGranularity(
+     VkRenderPass in_renderPass = MapHandle<RenderPassInfo>(renderPass, &VulkanObjectInfoTable::GetRenderPassInfo);
+     VkExtent2D* out_pGranularity = pGranularity->IsNull() ? nullptr : pGranularity->AllocateOutputData(1);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetRenderAreaGranularity(in_device, in_renderPass, out_pGranularity);
+ }
+ 
+@@ -1262,6 +1297,7 @@ void VulkanReplayConsumer::Process_vkDestroyCommandPool(
+     VkCommandPool in_commandPool = MapHandle<CommandPoolInfo>(commandPool, &VulkanObjectInfoTable::GetCommandPoolInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroyCommandPool(in_device, in_commandPool, in_pAllocator);
+     RemovePoolHandle<CommandPoolInfo>(commandPool, &VulkanObjectInfoTable::GetCommandPoolInfo, &VulkanObjectInfoTable::RemoveCommandPoolInfo, &VulkanObjectInfoTable::RemoveCommandBufferInfo);
+ }
+@@ -1308,6 +1344,7 @@ void VulkanReplayConsumer::Process_vkFreeCommandBuffers(
+     VkCommandPool in_commandPool = MapHandle<CommandPoolInfo>(commandPool, &VulkanObjectInfoTable::GetCommandPoolInfo);
+     const VkCommandBuffer* in_pCommandBuffers = MapHandles<CommandBufferInfo>(pCommandBuffers, commandBufferCount, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->FreeCommandBuffers(in_device, in_commandPool, commandBufferCount, in_pCommandBuffers);
+     RemovePoolHandles<CommandPoolInfo, CommandBufferInfo>(commandPool, pCommandBuffers, commandBufferCount, &VulkanObjectInfoTable::GetCommandPoolInfo, &VulkanObjectInfoTable::RemoveCommandBufferInfo);
+ }
+@@ -1354,6 +1391,7 @@ void VulkanReplayConsumer::Process_vkCmdBindPipeline(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkPipeline in_pipeline = MapHandle<PipelineInfo>(pipeline, &VulkanObjectInfoTable::GetPipelineInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBindPipeline(in_commandBuffer, pipelineBindPoint, in_pipeline);
+ }
+ 
+@@ -1366,6 +1404,7 @@ void VulkanReplayConsumer::Process_vkCmdSetViewport(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkViewport* in_pViewports = pViewports->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetViewport(in_commandBuffer, firstViewport, viewportCount, in_pViewports);
+ }
+ 
+@@ -1378,6 +1417,7 @@ void VulkanReplayConsumer::Process_vkCmdSetScissor(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkRect2D* in_pScissors = pScissors->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetScissor(in_commandBuffer, firstScissor, scissorCount, in_pScissors);
+ }
+ 
+@@ -1387,6 +1427,7 @@ void VulkanReplayConsumer::Process_vkCmdSetLineWidth(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetLineWidth(in_commandBuffer, lineWidth);
+ }
+ 
+@@ -1398,6 +1439,7 @@ void VulkanReplayConsumer::Process_vkCmdSetDepthBias(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetDepthBias(in_commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);
+ }
+ 
+@@ -1408,6 +1450,7 @@ void VulkanReplayConsumer::Process_vkCmdSetBlendConstants(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const float* in_blendConstants = blendConstants->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetBlendConstants(in_commandBuffer, in_blendConstants);
+ }
+ 
+@@ -1418,6 +1461,7 @@ void VulkanReplayConsumer::Process_vkCmdSetDepthBounds(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetDepthBounds(in_commandBuffer, minDepthBounds, maxDepthBounds);
+ }
+ 
+@@ -1428,6 +1472,7 @@ void VulkanReplayConsumer::Process_vkCmdSetStencilCompareMask(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetStencilCompareMask(in_commandBuffer, faceMask, compareMask);
+ }
+ 
+@@ -1438,6 +1483,7 @@ void VulkanReplayConsumer::Process_vkCmdSetStencilWriteMask(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetStencilWriteMask(in_commandBuffer, faceMask, writeMask);
+ }
+ 
+@@ -1448,6 +1494,7 @@ void VulkanReplayConsumer::Process_vkCmdSetStencilReference(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetStencilReference(in_commandBuffer, faceMask, reference);
+ }
+ 
+@@ -1466,6 +1513,7 @@ void VulkanReplayConsumer::Process_vkCmdBindDescriptorSets(
+     const VkDescriptorSet* in_pDescriptorSets = MapHandles<DescriptorSetInfo>(pDescriptorSets, descriptorSetCount, &VulkanObjectInfoTable::GetDescriptorSetInfo);
+     const uint32_t* in_pDynamicOffsets = pDynamicOffsets->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBindDescriptorSets(in_commandBuffer, pipelineBindPoint, in_layout, firstSet, descriptorSetCount, in_pDescriptorSets, dynamicOffsetCount, in_pDynamicOffsets);
+ }
+ 
+@@ -1478,6 +1526,7 @@ void VulkanReplayConsumer::Process_vkCmdBindIndexBuffer(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkBuffer in_buffer = MapHandle<BufferInfo>(buffer, &VulkanObjectInfoTable::GetBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBindIndexBuffer(in_commandBuffer, in_buffer, offset, indexType);
+ }
+ 
+@@ -1492,6 +1541,7 @@ void VulkanReplayConsumer::Process_vkCmdBindVertexBuffers(
+     const VkBuffer* in_pBuffers = MapHandles<BufferInfo>(pBuffers, bindingCount, &VulkanObjectInfoTable::GetBufferInfo);
+     const VkDeviceSize* in_pOffsets = pOffsets->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBindVertexBuffers(in_commandBuffer, firstBinding, bindingCount, in_pBuffers, in_pOffsets);
+ }
+ 
+@@ -1504,6 +1554,7 @@ void VulkanReplayConsumer::Process_vkCmdDraw(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDraw(in_commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance);
+ }
+ 
+@@ -1517,6 +1568,7 @@ void VulkanReplayConsumer::Process_vkCmdDrawIndexed(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDrawIndexed(in_commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);
+ }
+ 
+@@ -1530,6 +1582,7 @@ void VulkanReplayConsumer::Process_vkCmdDrawIndirect(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkBuffer in_buffer = MapHandle<BufferInfo>(buffer, &VulkanObjectInfoTable::GetBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDrawIndirect(in_commandBuffer, in_buffer, offset, drawCount, stride);
+ }
+ 
+@@ -1543,6 +1596,7 @@ void VulkanReplayConsumer::Process_vkCmdDrawIndexedIndirect(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkBuffer in_buffer = MapHandle<BufferInfo>(buffer, &VulkanObjectInfoTable::GetBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDrawIndexedIndirect(in_commandBuffer, in_buffer, offset, drawCount, stride);
+ }
+ 
+@@ -1554,6 +1608,7 @@ void VulkanReplayConsumer::Process_vkCmdDispatch(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDispatch(in_commandBuffer, groupCountX, groupCountY, groupCountZ);
+ }
+ 
+@@ -1565,6 +1620,7 @@ void VulkanReplayConsumer::Process_vkCmdDispatchIndirect(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkBuffer in_buffer = MapHandle<BufferInfo>(buffer, &VulkanObjectInfoTable::GetBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDispatchIndirect(in_commandBuffer, in_buffer, offset);
+ }
+ 
+@@ -1580,6 +1636,7 @@ void VulkanReplayConsumer::Process_vkCmdCopyBuffer(
+     VkBuffer in_dstBuffer = MapHandle<BufferInfo>(dstBuffer, &VulkanObjectInfoTable::GetBufferInfo);
+     const VkBufferCopy* in_pRegions = pRegions->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdCopyBuffer(in_commandBuffer, in_srcBuffer, in_dstBuffer, regionCount, in_pRegions);
+ }
+ 
+@@ -1597,6 +1654,7 @@ void VulkanReplayConsumer::Process_vkCmdCopyImage(
+     VkImage in_dstImage = MapHandle<ImageInfo>(dstImage, &VulkanObjectInfoTable::GetImageInfo);
+     const VkImageCopy* in_pRegions = pRegions->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdCopyImage(in_commandBuffer, in_srcImage, srcImageLayout, in_dstImage, dstImageLayout, regionCount, in_pRegions);
+ }
+ 
+@@ -1615,6 +1673,7 @@ void VulkanReplayConsumer::Process_vkCmdBlitImage(
+     VkImage in_dstImage = MapHandle<ImageInfo>(dstImage, &VulkanObjectInfoTable::GetImageInfo);
+     const VkImageBlit* in_pRegions = pRegions->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBlitImage(in_commandBuffer, in_srcImage, srcImageLayout, in_dstImage, dstImageLayout, regionCount, in_pRegions, filter);
+ }
+ 
+@@ -1631,6 +1690,7 @@ void VulkanReplayConsumer::Process_vkCmdCopyBufferToImage(
+     VkImage in_dstImage = MapHandle<ImageInfo>(dstImage, &VulkanObjectInfoTable::GetImageInfo);
+     const VkBufferImageCopy* in_pRegions = pRegions->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdCopyBufferToImage(in_commandBuffer, in_srcBuffer, in_dstImage, dstImageLayout, regionCount, in_pRegions);
+ }
+ 
+@@ -1647,6 +1707,7 @@ void VulkanReplayConsumer::Process_vkCmdCopyImageToBuffer(
+     VkBuffer in_dstBuffer = MapHandle<BufferInfo>(dstBuffer, &VulkanObjectInfoTable::GetBufferInfo);
+     const VkBufferImageCopy* in_pRegions = pRegions->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdCopyImageToBuffer(in_commandBuffer, in_srcImage, srcImageLayout, in_dstBuffer, regionCount, in_pRegions);
+ }
+ 
+@@ -1661,6 +1722,7 @@ void VulkanReplayConsumer::Process_vkCmdUpdateBuffer(
+     VkBuffer in_dstBuffer = MapHandle<BufferInfo>(dstBuffer, &VulkanObjectInfoTable::GetBufferInfo);
+     const void* in_pData = pData->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdUpdateBuffer(in_commandBuffer, in_dstBuffer, dstOffset, dataSize, in_pData);
+ }
+ 
+@@ -1674,6 +1736,7 @@ void VulkanReplayConsumer::Process_vkCmdFillBuffer(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkBuffer in_dstBuffer = MapHandle<BufferInfo>(dstBuffer, &VulkanObjectInfoTable::GetBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdFillBuffer(in_commandBuffer, in_dstBuffer, dstOffset, size, data);
+ }
+ 
+@@ -1690,6 +1753,7 @@ void VulkanReplayConsumer::Process_vkCmdClearColorImage(
+     const VkClearColorValue* in_pColor = pColor->GetPointer();
+     const VkImageSubresourceRange* in_pRanges = pRanges->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdClearColorImage(in_commandBuffer, in_image, imageLayout, in_pColor, rangeCount, in_pRanges);
+ }
+ 
+@@ -1706,6 +1770,7 @@ void VulkanReplayConsumer::Process_vkCmdClearDepthStencilImage(
+     const VkClearDepthStencilValue* in_pDepthStencil = pDepthStencil->GetPointer();
+     const VkImageSubresourceRange* in_pRanges = pRanges->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdClearDepthStencilImage(in_commandBuffer, in_image, imageLayout, in_pDepthStencil, rangeCount, in_pRanges);
+ }
+ 
+@@ -1720,6 +1785,7 @@ void VulkanReplayConsumer::Process_vkCmdClearAttachments(
+     const VkClearAttachment* in_pAttachments = pAttachments->GetPointer();
+     const VkClearRect* in_pRects = pRects->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdClearAttachments(in_commandBuffer, attachmentCount, in_pAttachments, rectCount, in_pRects);
+ }
+ 
+@@ -1737,6 +1803,7 @@ void VulkanReplayConsumer::Process_vkCmdResolveImage(
+     VkImage in_dstImage = MapHandle<ImageInfo>(dstImage, &VulkanObjectInfoTable::GetImageInfo);
+     const VkImageResolve* in_pRegions = pRegions->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdResolveImage(in_commandBuffer, in_srcImage, srcImageLayout, in_dstImage, dstImageLayout, regionCount, in_pRegions);
+ }
+ 
+@@ -1748,6 +1815,7 @@ void VulkanReplayConsumer::Process_vkCmdSetEvent(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkEvent in_event = MapHandle<EventInfo>(event, &VulkanObjectInfoTable::GetEventInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetEvent(in_commandBuffer, in_event, stageMask);
+ }
+ 
+@@ -1759,6 +1827,7 @@ void VulkanReplayConsumer::Process_vkCmdResetEvent(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkEvent in_event = MapHandle<EventInfo>(event, &VulkanObjectInfoTable::GetEventInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdResetEvent(in_commandBuffer, in_event, stageMask);
+ }
+ 
+@@ -1783,6 +1852,7 @@ void VulkanReplayConsumer::Process_vkCmdWaitEvents(
+     const VkImageMemoryBarrier* in_pImageMemoryBarriers = pImageMemoryBarriers->GetPointer();
+     MapStructArrayHandles(pImageMemoryBarriers->GetMetaStructPointer(), pImageMemoryBarriers->GetLength(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdWaitEvents(in_commandBuffer, eventCount, in_pEvents, srcStageMask, dstStageMask, memoryBarrierCount, in_pMemoryBarriers, bufferMemoryBarrierCount, in_pBufferMemoryBarriers, imageMemoryBarrierCount, in_pImageMemoryBarriers);
+ }
+ 
+@@ -1805,6 +1875,7 @@ void VulkanReplayConsumer::Process_vkCmdPipelineBarrier(
+     const VkImageMemoryBarrier* in_pImageMemoryBarriers = pImageMemoryBarriers->GetPointer();
+     MapStructArrayHandles(pImageMemoryBarriers->GetMetaStructPointer(), pImageMemoryBarriers->GetLength(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdPipelineBarrier(in_commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, in_pMemoryBarriers, bufferMemoryBarrierCount, in_pBufferMemoryBarriers, imageMemoryBarrierCount, in_pImageMemoryBarriers);
+ }
+ 
+@@ -1817,6 +1888,7 @@ void VulkanReplayConsumer::Process_vkCmdBeginQuery(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkQueryPool in_queryPool = MapHandle<QueryPoolInfo>(queryPool, &VulkanObjectInfoTable::GetQueryPoolInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBeginQuery(in_commandBuffer, in_queryPool, query, flags);
+ }
+ 
+@@ -1828,6 +1900,7 @@ void VulkanReplayConsumer::Process_vkCmdEndQuery(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkQueryPool in_queryPool = MapHandle<QueryPoolInfo>(queryPool, &VulkanObjectInfoTable::GetQueryPoolInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdEndQuery(in_commandBuffer, in_queryPool, query);
+ }
+ 
+@@ -1840,6 +1913,7 @@ void VulkanReplayConsumer::Process_vkCmdResetQueryPool(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkQueryPool in_queryPool = MapHandle<QueryPoolInfo>(queryPool, &VulkanObjectInfoTable::GetQueryPoolInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdResetQueryPool(in_commandBuffer, in_queryPool, firstQuery, queryCount);
+ }
+ 
+@@ -1852,6 +1926,7 @@ void VulkanReplayConsumer::Process_vkCmdWriteTimestamp(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkQueryPool in_queryPool = MapHandle<QueryPoolInfo>(queryPool, &VulkanObjectInfoTable::GetQueryPoolInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdWriteTimestamp(in_commandBuffer, pipelineStage, in_queryPool, query);
+ }
+ 
+@@ -1869,6 +1944,7 @@ void VulkanReplayConsumer::Process_vkCmdCopyQueryPoolResults(
+     VkQueryPool in_queryPool = MapHandle<QueryPoolInfo>(queryPool, &VulkanObjectInfoTable::GetQueryPoolInfo);
+     VkBuffer in_dstBuffer = MapHandle<BufferInfo>(dstBuffer, &VulkanObjectInfoTable::GetBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdCopyQueryPoolResults(in_commandBuffer, in_queryPool, firstQuery, queryCount, in_dstBuffer, dstOffset, stride, flags);
+ }
+ 
+@@ -1884,6 +1960,7 @@ void VulkanReplayConsumer::Process_vkCmdPushConstants(
+     VkPipelineLayout in_layout = MapHandle<PipelineLayoutInfo>(layout, &VulkanObjectInfoTable::GetPipelineLayoutInfo);
+     const void* in_pValues = pValues->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdPushConstants(in_commandBuffer, in_layout, stageFlags, offset, size, in_pValues);
+ }
+ 
+@@ -1896,6 +1973,7 @@ void VulkanReplayConsumer::Process_vkCmdBeginRenderPass(
+     const VkRenderPassBeginInfo* in_pRenderPassBegin = pRenderPassBegin->GetPointer();
+     MapStructHandles(pRenderPassBegin->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBeginRenderPass(in_commandBuffer, in_pRenderPassBegin, contents);
+ }
+ 
+@@ -1905,6 +1983,7 @@ void VulkanReplayConsumer::Process_vkCmdNextSubpass(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdNextSubpass(in_commandBuffer, contents);
+ }
+ 
+@@ -1913,6 +1992,7 @@ void VulkanReplayConsumer::Process_vkCmdEndRenderPass(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdEndRenderPass(in_commandBuffer);
+ }
+ 
+@@ -1924,6 +2004,7 @@ void VulkanReplayConsumer::Process_vkCmdExecuteCommands(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkCommandBuffer* in_pCommandBuffers = MapHandles<CommandBufferInfo>(pCommandBuffers, commandBufferCount, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdExecuteCommands(in_commandBuffer, commandBufferCount, in_pCommandBuffers);
+ }
+ 
+@@ -1965,6 +2046,7 @@ void VulkanReplayConsumer::Process_vkGetDeviceGroupPeerMemoryFeatures(
+     VkDevice in_device = MapHandle<DeviceInfo>(device, &VulkanObjectInfoTable::GetDeviceInfo);
+     VkPeerMemoryFeatureFlags* out_pPeerMemoryFeatures = pPeerMemoryFeatures->IsNull() ? nullptr : pPeerMemoryFeatures->AllocateOutputData(1, static_cast<VkPeerMemoryFeatureFlags>(0));
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetDeviceGroupPeerMemoryFeatures(in_device, heapIndex, localDeviceIndex, remoteDeviceIndex, out_pPeerMemoryFeatures);
+ }
+ 
+@@ -1974,6 +2056,7 @@ void VulkanReplayConsumer::Process_vkCmdSetDeviceMask(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetDeviceMask(in_commandBuffer, deviceMask);
+ }
+ 
+@@ -1988,6 +2071,7 @@ void VulkanReplayConsumer::Process_vkCmdDispatchBase(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDispatchBase(in_commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
+ }
+ 
+@@ -2019,6 +2103,7 @@ void VulkanReplayConsumer::Process_vkGetImageMemoryRequirements2(
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+     VkMemoryRequirements2* out_pMemoryRequirements = pMemoryRequirements->IsNull() ? nullptr : pMemoryRequirements->AllocateOutputData(1, { VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetImageMemoryRequirements2(in_device, in_pInfo, out_pMemoryRequirements);
+ }
+ 
+@@ -2032,6 +2117,7 @@ void VulkanReplayConsumer::Process_vkGetBufferMemoryRequirements2(
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+     VkMemoryRequirements2* out_pMemoryRequirements = pMemoryRequirements->IsNull() ? nullptr : pMemoryRequirements->AllocateOutputData(1, { VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetBufferMemoryRequirements2(in_device, in_pInfo, out_pMemoryRequirements);
+ }
+ 
+@@ -2047,6 +2133,7 @@ void VulkanReplayConsumer::Process_vkGetImageSparseMemoryRequirements2(
+     uint32_t* out_pSparseMemoryRequirementCount = pSparseMemoryRequirementCount->IsNull() ? nullptr : pSparseMemoryRequirementCount->AllocateOutputData(1, GetOutputArrayCount<uint32_t, DeviceInfo>("vkGetImageSparseMemoryRequirements2", VK_SUCCESS, device, kDeviceArrayGetImageSparseMemoryRequirements2, pSparseMemoryRequirementCount, pSparseMemoryRequirements, &VulkanObjectInfoTable::GetDeviceInfo));
+     VkSparseImageMemoryRequirements2* out_pSparseMemoryRequirements = pSparseMemoryRequirements->IsNull() ? nullptr : pSparseMemoryRequirements->AllocateOutputData(*out_pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2{ VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetImageSparseMemoryRequirements2(in_device, in_pInfo, out_pSparseMemoryRequirementCount, out_pSparseMemoryRequirements);
+ 
+     if (pSparseMemoryRequirements->IsNull()) { SetOutputArrayCount<DeviceInfo>(device, kDeviceArrayGetImageSparseMemoryRequirements2, *out_pSparseMemoryRequirementCount, &VulkanObjectInfoTable::GetDeviceInfo); }
+@@ -2059,6 +2146,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceFeatures2(
+     VkPhysicalDevice in_physicalDevice = MapHandle<PhysicalDeviceInfo>(physicalDevice, &VulkanObjectInfoTable::GetPhysicalDeviceInfo);
+     VkPhysicalDeviceFeatures2* out_pFeatures = pFeatures->IsNull() ? nullptr : pFeatures->AllocateOutputData(1, { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceFeatures2(in_physicalDevice, out_pFeatures);
+ }
+ 
+@@ -2069,6 +2157,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceProperties2(
+     auto in_physicalDevice = GetObjectInfoTable().GetPhysicalDeviceInfo(physicalDevice);
+     pProperties->IsNull() ? nullptr : pProperties->AllocateOutputData(1, { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideGetPhysicalDeviceProperties2(GetInstanceTable(in_physicalDevice->handle)->GetPhysicalDeviceProperties2, in_physicalDevice, pProperties);
+ }
+ 
+@@ -2080,6 +2169,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceFormatProperties2(
+     VkPhysicalDevice in_physicalDevice = MapHandle<PhysicalDeviceInfo>(physicalDevice, &VulkanObjectInfoTable::GetPhysicalDeviceInfo);
+     VkFormatProperties2* out_pFormatProperties = pFormatProperties->IsNull() ? nullptr : pFormatProperties->AllocateOutputData(1, { VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceFormatProperties2(in_physicalDevice, format, out_pFormatProperties);
+ }
+ 
+@@ -2106,6 +2196,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceQueueFamilyProperties2(
+     uint32_t* out_pQueueFamilyPropertyCount = pQueueFamilyPropertyCount->IsNull() ? nullptr : pQueueFamilyPropertyCount->AllocateOutputData(1, GetOutputArrayCount<uint32_t, PhysicalDeviceInfo>("vkGetPhysicalDeviceQueueFamilyProperties2", VK_SUCCESS, physicalDevice, kPhysicalDeviceArrayGetPhysicalDeviceQueueFamilyProperties2, pQueueFamilyPropertyCount, pQueueFamilyProperties, &VulkanObjectInfoTable::GetPhysicalDeviceInfo));
+     VkQueueFamilyProperties2* out_pQueueFamilyProperties = pQueueFamilyProperties->IsNull() ? nullptr : pQueueFamilyProperties->AllocateOutputData(*out_pQueueFamilyPropertyCount, VkQueueFamilyProperties2{ VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceQueueFamilyProperties2(in_physicalDevice, out_pQueueFamilyPropertyCount, out_pQueueFamilyProperties);
+ 
+     if (pQueueFamilyProperties->IsNull()) { SetOutputArrayCount<PhysicalDeviceInfo>(physicalDevice, kPhysicalDeviceArrayGetPhysicalDeviceQueueFamilyProperties2, *out_pQueueFamilyPropertyCount, &VulkanObjectInfoTable::GetPhysicalDeviceInfo); }
+@@ -2118,6 +2209,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceMemoryProperties2(
+     auto in_physicalDevice = GetObjectInfoTable().GetPhysicalDeviceInfo(physicalDevice);
+     pMemoryProperties->IsNull() ? nullptr : pMemoryProperties->AllocateOutputData(1, { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideGetPhysicalDeviceMemoryProperties2(GetInstanceTable(in_physicalDevice->handle)->GetPhysicalDeviceMemoryProperties2, in_physicalDevice, pMemoryProperties);
+ }
+ 
+@@ -2132,6 +2224,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceSparseImageFormatPropertie
+     uint32_t* out_pPropertyCount = pPropertyCount->IsNull() ? nullptr : pPropertyCount->AllocateOutputData(1, GetOutputArrayCount<uint32_t, PhysicalDeviceInfo>("vkGetPhysicalDeviceSparseImageFormatProperties2", VK_SUCCESS, physicalDevice, kPhysicalDeviceArrayGetPhysicalDeviceSparseImageFormatProperties2, pPropertyCount, pProperties, &VulkanObjectInfoTable::GetPhysicalDeviceInfo));
+     VkSparseImageFormatProperties2* out_pProperties = pProperties->IsNull() ? nullptr : pProperties->AllocateOutputData(*out_pPropertyCount, VkSparseImageFormatProperties2{ VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceSparseImageFormatProperties2(in_physicalDevice, in_pFormatInfo, out_pPropertyCount, out_pProperties);
+ 
+     if (pProperties->IsNull()) { SetOutputArrayCount<PhysicalDeviceInfo>(physicalDevice, kPhysicalDeviceArrayGetPhysicalDeviceSparseImageFormatProperties2, *out_pPropertyCount, &VulkanObjectInfoTable::GetPhysicalDeviceInfo); }
+@@ -2145,6 +2238,7 @@ void VulkanReplayConsumer::Process_vkTrimCommandPool(
+     VkDevice in_device = MapHandle<DeviceInfo>(device, &VulkanObjectInfoTable::GetDeviceInfo);
+     VkCommandPool in_commandPool = MapHandle<CommandPoolInfo>(commandPool, &VulkanObjectInfoTable::GetCommandPoolInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->TrimCommandPool(in_device, in_commandPool, flags);
+ }
+ 
+@@ -2158,6 +2252,7 @@ void VulkanReplayConsumer::Process_vkGetDeviceQueue2(
+     if (!pQueue->IsNull()) { pQueue->SetHandleLength(1); }
+     VkQueue* out_pQueue = pQueue->GetHandlePointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetDeviceQueue2(in_device, in_pQueueInfo, out_pQueue);
+ 
+     AddHandle<QueueInfo>(device, pQueue->GetPointer(), out_pQueue, &VulkanObjectInfoTable::AddQueueInfo);
+@@ -2191,6 +2286,7 @@ void VulkanReplayConsumer::Process_vkDestroySamplerYcbcrConversion(
+     VkSamplerYcbcrConversion in_ycbcrConversion = MapHandle<SamplerYcbcrConversionInfo>(ycbcrConversion, &VulkanObjectInfoTable::GetSamplerYcbcrConversionInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroySamplerYcbcrConversion(in_device, in_ycbcrConversion, in_pAllocator);
+     RemoveHandle(ycbcrConversion, &VulkanObjectInfoTable::RemoveSamplerYcbcrConversionInfo);
+ }
+@@ -2223,6 +2319,7 @@ void VulkanReplayConsumer::Process_vkDestroyDescriptorUpdateTemplate(
+     auto in_device = GetObjectInfoTable().GetDeviceInfo(device);
+     auto in_descriptorUpdateTemplate = GetObjectInfoTable().GetDescriptorUpdateTemplateInfo(descriptorUpdateTemplate);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideDestroyDescriptorUpdateTemplate(GetDeviceTable(in_device->handle)->DestroyDescriptorUpdateTemplate, in_device, in_descriptorUpdateTemplate, pAllocator);
+     RemoveHandle(descriptorUpdateTemplate, &VulkanObjectInfoTable::RemoveDescriptorUpdateTemplateInfo);
+ }
+@@ -2236,6 +2333,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceExternalBufferProperties(
+     const VkPhysicalDeviceExternalBufferInfo* in_pExternalBufferInfo = pExternalBufferInfo->GetPointer();
+     VkExternalBufferProperties* out_pExternalBufferProperties = pExternalBufferProperties->IsNull() ? nullptr : pExternalBufferProperties->AllocateOutputData(1, { VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceExternalBufferProperties(in_physicalDevice, in_pExternalBufferInfo, out_pExternalBufferProperties);
+ }
+ 
+@@ -2248,6 +2346,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceExternalFenceProperties(
+     const VkPhysicalDeviceExternalFenceInfo* in_pExternalFenceInfo = pExternalFenceInfo->GetPointer();
+     VkExternalFenceProperties* out_pExternalFenceProperties = pExternalFenceProperties->IsNull() ? nullptr : pExternalFenceProperties->AllocateOutputData(1, { VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceExternalFenceProperties(in_physicalDevice, in_pExternalFenceInfo, out_pExternalFenceProperties);
+ }
+ 
+@@ -2260,6 +2359,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceExternalSemaphorePropertie
+     const VkPhysicalDeviceExternalSemaphoreInfo* in_pExternalSemaphoreInfo = pExternalSemaphoreInfo->GetPointer();
+     VkExternalSemaphoreProperties* out_pExternalSemaphoreProperties = pExternalSemaphoreProperties->IsNull() ? nullptr : pExternalSemaphoreProperties->AllocateOutputData(1, { VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceExternalSemaphoreProperties(in_physicalDevice, in_pExternalSemaphoreInfo, out_pExternalSemaphoreProperties);
+ }
+ 
+@@ -2273,6 +2373,7 @@ void VulkanReplayConsumer::Process_vkGetDescriptorSetLayoutSupport(
+     MapStructHandles(pCreateInfo->GetMetaStructPointer(), GetObjectInfoTable());
+     VkDescriptorSetLayoutSupport* out_pSupport = pSupport->IsNull() ? nullptr : pSupport->AllocateOutputData(1, { VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetDescriptorSetLayoutSupport(in_device, in_pCreateInfo, out_pSupport);
+ }
+ 
+@@ -2289,6 +2390,7 @@ void VulkanReplayConsumer::Process_vkCmdDrawIndirectCount(
+     VkBuffer in_buffer = MapHandle<BufferInfo>(buffer, &VulkanObjectInfoTable::GetBufferInfo);
+     VkBuffer in_countBuffer = MapHandle<BufferInfo>(countBuffer, &VulkanObjectInfoTable::GetBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDrawIndirectCount(in_commandBuffer, in_buffer, offset, in_countBuffer, countBufferOffset, maxDrawCount, stride);
+ }
+ 
+@@ -2305,6 +2407,7 @@ void VulkanReplayConsumer::Process_vkCmdDrawIndexedIndirectCount(
+     VkBuffer in_buffer = MapHandle<BufferInfo>(buffer, &VulkanObjectInfoTable::GetBufferInfo);
+     VkBuffer in_countBuffer = MapHandle<BufferInfo>(countBuffer, &VulkanObjectInfoTable::GetBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDrawIndexedIndirectCount(in_commandBuffer, in_buffer, offset, in_countBuffer, countBufferOffset, maxDrawCount, stride);
+ }
+ 
+@@ -2337,6 +2440,7 @@ void VulkanReplayConsumer::Process_vkCmdBeginRenderPass2(
+     MapStructHandles(pRenderPassBegin->GetMetaStructPointer(), GetObjectInfoTable());
+     const VkSubpassBeginInfo* in_pSubpassBeginInfo = pSubpassBeginInfo->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBeginRenderPass2(in_commandBuffer, in_pRenderPassBegin, in_pSubpassBeginInfo);
+ }
+ 
+@@ -2349,6 +2453,7 @@ void VulkanReplayConsumer::Process_vkCmdNextSubpass2(
+     const VkSubpassBeginInfo* in_pSubpassBeginInfo = pSubpassBeginInfo->GetPointer();
+     const VkSubpassEndInfo* in_pSubpassEndInfo = pSubpassEndInfo->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdNextSubpass2(in_commandBuffer, in_pSubpassBeginInfo, in_pSubpassEndInfo);
+ }
+ 
+@@ -2359,6 +2464,7 @@ void VulkanReplayConsumer::Process_vkCmdEndRenderPass2(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkSubpassEndInfo* in_pSubpassEndInfo = pSubpassEndInfo->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdEndRenderPass2(in_commandBuffer, in_pSubpassEndInfo);
+ }
+ 
+@@ -2371,6 +2477,7 @@ void VulkanReplayConsumer::Process_vkResetQueryPool(
+     VkDevice in_device = MapHandle<DeviceInfo>(device, &VulkanObjectInfoTable::GetDeviceInfo);
+     VkQueryPool in_queryPool = MapHandle<QueryPoolInfo>(queryPool, &VulkanObjectInfoTable::GetQueryPoolInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->ResetQueryPool(in_device, in_queryPool, firstQuery, queryCount);
+ }
+ 
+@@ -2424,6 +2531,7 @@ void VulkanReplayConsumer::Process_vkGetBufferDeviceAddress(
+ 
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideGetBufferDeviceAddress(GetDeviceTable(in_device->handle)->GetBufferDeviceAddress, in_device, pInfo);
+ }
+ 
+@@ -2436,6 +2544,7 @@ void VulkanReplayConsumer::Process_vkGetBufferOpaqueCaptureAddress(
+     const VkBufferDeviceAddressInfo* in_pInfo = pInfo->GetPointer();
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetBufferOpaqueCaptureAddress(in_device, in_pInfo);
+ }
+ 
+@@ -2448,6 +2557,7 @@ void VulkanReplayConsumer::Process_vkGetDeviceMemoryOpaqueCaptureAddress(
+     const VkDeviceMemoryOpaqueCaptureAddressInfo* in_pInfo = pInfo->GetPointer();
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetDeviceMemoryOpaqueCaptureAddress(in_device, in_pInfo);
+ }
+ 
+@@ -2495,6 +2605,7 @@ void VulkanReplayConsumer::Process_vkDestroyPrivateDataSlot(
+     VkPrivateDataSlot in_privateDataSlot = MapHandle<PrivateDataSlotInfo>(privateDataSlot, &VulkanObjectInfoTable::GetPrivateDataSlotInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroyPrivateDataSlot(in_device, in_privateDataSlot, in_pAllocator);
+     RemoveHandle(privateDataSlot, &VulkanObjectInfoTable::RemovePrivateDataSlotInfo);
+ }
+@@ -2525,6 +2636,7 @@ void VulkanReplayConsumer::Process_vkGetPrivateData(
+     VkPrivateDataSlot in_privateDataSlot = MapHandle<PrivateDataSlotInfo>(privateDataSlot, &VulkanObjectInfoTable::GetPrivateDataSlotInfo);
+     uint64_t* out_pData = pData->IsNull() ? nullptr : pData->AllocateOutputData(1, static_cast<uint64_t>(0));
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetPrivateData(in_device, objectType, objectHandle, in_privateDataSlot, out_pData);
+ }
+ 
+@@ -2538,6 +2650,7 @@ void VulkanReplayConsumer::Process_vkCmdSetEvent2(
+     const VkDependencyInfo* in_pDependencyInfo = pDependencyInfo->GetPointer();
+     MapStructHandles(pDependencyInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetEvent2(in_commandBuffer, in_event, in_pDependencyInfo);
+ }
+ 
+@@ -2549,6 +2662,7 @@ void VulkanReplayConsumer::Process_vkCmdResetEvent2(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkEvent in_event = MapHandle<EventInfo>(event, &VulkanObjectInfoTable::GetEventInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdResetEvent2(in_commandBuffer, in_event, stageMask);
+ }
+ 
+@@ -2563,6 +2677,7 @@ void VulkanReplayConsumer::Process_vkCmdWaitEvents2(
+     const VkDependencyInfo* in_pDependencyInfos = pDependencyInfos->GetPointer();
+     MapStructArrayHandles(pDependencyInfos->GetMetaStructPointer(), pDependencyInfos->GetLength(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdWaitEvents2(in_commandBuffer, eventCount, in_pEvents, in_pDependencyInfos);
+ }
+ 
+@@ -2574,6 +2689,7 @@ void VulkanReplayConsumer::Process_vkCmdPipelineBarrier2(
+     const VkDependencyInfo* in_pDependencyInfo = pDependencyInfo->GetPointer();
+     MapStructHandles(pDependencyInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdPipelineBarrier2(in_commandBuffer, in_pDependencyInfo);
+ }
+ 
+@@ -2586,6 +2702,7 @@ void VulkanReplayConsumer::Process_vkCmdWriteTimestamp2(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkQueryPool in_queryPool = MapHandle<QueryPoolInfo>(queryPool, &VulkanObjectInfoTable::GetQueryPoolInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdWriteTimestamp2(in_commandBuffer, stage, in_queryPool, query);
+ }
+ 
+@@ -2613,6 +2730,7 @@ void VulkanReplayConsumer::Process_vkCmdCopyBuffer2(
+     const VkCopyBufferInfo2* in_pCopyBufferInfo = pCopyBufferInfo->GetPointer();
+     MapStructHandles(pCopyBufferInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdCopyBuffer2(in_commandBuffer, in_pCopyBufferInfo);
+ }
+ 
+@@ -2624,6 +2742,7 @@ void VulkanReplayConsumer::Process_vkCmdCopyImage2(
+     const VkCopyImageInfo2* in_pCopyImageInfo = pCopyImageInfo->GetPointer();
+     MapStructHandles(pCopyImageInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdCopyImage2(in_commandBuffer, in_pCopyImageInfo);
+ }
+ 
+@@ -2635,6 +2754,7 @@ void VulkanReplayConsumer::Process_vkCmdCopyBufferToImage2(
+     const VkCopyBufferToImageInfo2* in_pCopyBufferToImageInfo = pCopyBufferToImageInfo->GetPointer();
+     MapStructHandles(pCopyBufferToImageInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdCopyBufferToImage2(in_commandBuffer, in_pCopyBufferToImageInfo);
+ }
+ 
+@@ -2646,6 +2766,7 @@ void VulkanReplayConsumer::Process_vkCmdCopyImageToBuffer2(
+     const VkCopyImageToBufferInfo2* in_pCopyImageToBufferInfo = pCopyImageToBufferInfo->GetPointer();
+     MapStructHandles(pCopyImageToBufferInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdCopyImageToBuffer2(in_commandBuffer, in_pCopyImageToBufferInfo);
+ }
+ 
+@@ -2657,6 +2778,7 @@ void VulkanReplayConsumer::Process_vkCmdBlitImage2(
+     const VkBlitImageInfo2* in_pBlitImageInfo = pBlitImageInfo->GetPointer();
+     MapStructHandles(pBlitImageInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBlitImage2(in_commandBuffer, in_pBlitImageInfo);
+ }
+ 
+@@ -2668,6 +2790,7 @@ void VulkanReplayConsumer::Process_vkCmdResolveImage2(
+     const VkResolveImageInfo2* in_pResolveImageInfo = pResolveImageInfo->GetPointer();
+     MapStructHandles(pResolveImageInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdResolveImage2(in_commandBuffer, in_pResolveImageInfo);
+ }
+ 
+@@ -2679,6 +2802,7 @@ void VulkanReplayConsumer::Process_vkCmdBeginRendering(
+     const VkRenderingInfo* in_pRenderingInfo = pRenderingInfo->GetPointer();
+     MapStructHandles(pRenderingInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBeginRendering(in_commandBuffer, in_pRenderingInfo);
+ }
+ 
+@@ -2687,6 +2811,7 @@ void VulkanReplayConsumer::Process_vkCmdEndRendering(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdEndRendering(in_commandBuffer);
+ }
+ 
+@@ -2696,6 +2821,7 @@ void VulkanReplayConsumer::Process_vkCmdSetCullMode(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetCullMode(in_commandBuffer, cullMode);
+ }
+ 
+@@ -2705,6 +2831,7 @@ void VulkanReplayConsumer::Process_vkCmdSetFrontFace(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetFrontFace(in_commandBuffer, frontFace);
+ }
+ 
+@@ -2714,6 +2841,7 @@ void VulkanReplayConsumer::Process_vkCmdSetPrimitiveTopology(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetPrimitiveTopology(in_commandBuffer, primitiveTopology);
+ }
+ 
+@@ -2725,6 +2853,7 @@ void VulkanReplayConsumer::Process_vkCmdSetViewportWithCount(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkViewport* in_pViewports = pViewports->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetViewportWithCount(in_commandBuffer, viewportCount, in_pViewports);
+ }
+ 
+@@ -2736,6 +2865,7 @@ void VulkanReplayConsumer::Process_vkCmdSetScissorWithCount(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkRect2D* in_pScissors = pScissors->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetScissorWithCount(in_commandBuffer, scissorCount, in_pScissors);
+ }
+ 
+@@ -2754,6 +2884,7 @@ void VulkanReplayConsumer::Process_vkCmdBindVertexBuffers2(
+     const VkDeviceSize* in_pSizes = pSizes->GetPointer();
+     const VkDeviceSize* in_pStrides = pStrides->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBindVertexBuffers2(in_commandBuffer, firstBinding, bindingCount, in_pBuffers, in_pOffsets, in_pSizes, in_pStrides);
+ }
+ 
+@@ -2763,6 +2894,7 @@ void VulkanReplayConsumer::Process_vkCmdSetDepthTestEnable(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetDepthTestEnable(in_commandBuffer, depthTestEnable);
+ }
+ 
+@@ -2772,6 +2904,7 @@ void VulkanReplayConsumer::Process_vkCmdSetDepthWriteEnable(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetDepthWriteEnable(in_commandBuffer, depthWriteEnable);
+ }
+ 
+@@ -2781,6 +2914,7 @@ void VulkanReplayConsumer::Process_vkCmdSetDepthCompareOp(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetDepthCompareOp(in_commandBuffer, depthCompareOp);
+ }
+ 
+@@ -2790,6 +2924,7 @@ void VulkanReplayConsumer::Process_vkCmdSetDepthBoundsTestEnable(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetDepthBoundsTestEnable(in_commandBuffer, depthBoundsTestEnable);
+ }
+ 
+@@ -2799,6 +2934,7 @@ void VulkanReplayConsumer::Process_vkCmdSetStencilTestEnable(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetStencilTestEnable(in_commandBuffer, stencilTestEnable);
+ }
+ 
+@@ -2812,6 +2948,7 @@ void VulkanReplayConsumer::Process_vkCmdSetStencilOp(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetStencilOp(in_commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp);
+ }
+ 
+@@ -2821,6 +2958,7 @@ void VulkanReplayConsumer::Process_vkCmdSetRasterizerDiscardEnable(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetRasterizerDiscardEnable(in_commandBuffer, rasterizerDiscardEnable);
+ }
+ 
+@@ -2830,6 +2968,7 @@ void VulkanReplayConsumer::Process_vkCmdSetDepthBiasEnable(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetDepthBiasEnable(in_commandBuffer, depthBiasEnable);
+ }
+ 
+@@ -2839,6 +2978,7 @@ void VulkanReplayConsumer::Process_vkCmdSetPrimitiveRestartEnable(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetPrimitiveRestartEnable(in_commandBuffer, primitiveRestartEnable);
+ }
+ 
+@@ -2852,6 +2992,7 @@ void VulkanReplayConsumer::Process_vkGetDeviceBufferMemoryRequirements(
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+     VkMemoryRequirements2* out_pMemoryRequirements = pMemoryRequirements->IsNull() ? nullptr : pMemoryRequirements->AllocateOutputData(1, { VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetDeviceBufferMemoryRequirements(in_device, in_pInfo, out_pMemoryRequirements);
+ }
+ 
+@@ -2865,6 +3006,7 @@ void VulkanReplayConsumer::Process_vkGetDeviceImageMemoryRequirements(
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+     VkMemoryRequirements2* out_pMemoryRequirements = pMemoryRequirements->IsNull() ? nullptr : pMemoryRequirements->AllocateOutputData(1, { VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetDeviceImageMemoryRequirements(in_device, in_pInfo, out_pMemoryRequirements);
+ }
+ 
+@@ -2880,6 +3022,7 @@ void VulkanReplayConsumer::Process_vkGetDeviceImageSparseMemoryRequirements(
+     uint32_t* out_pSparseMemoryRequirementCount = pSparseMemoryRequirementCount->IsNull() ? nullptr : pSparseMemoryRequirementCount->AllocateOutputData(1, GetOutputArrayCount<uint32_t, DeviceInfo>("vkGetDeviceImageSparseMemoryRequirements", VK_SUCCESS, device, kDeviceArrayGetDeviceImageSparseMemoryRequirements, pSparseMemoryRequirementCount, pSparseMemoryRequirements, &VulkanObjectInfoTable::GetDeviceInfo));
+     VkSparseImageMemoryRequirements2* out_pSparseMemoryRequirements = pSparseMemoryRequirements->IsNull() ? nullptr : pSparseMemoryRequirements->AllocateOutputData(*out_pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2{ VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetDeviceImageSparseMemoryRequirements(in_device, in_pInfo, out_pSparseMemoryRequirementCount, out_pSparseMemoryRequirements);
+ 
+     if (pSparseMemoryRequirements->IsNull()) { SetOutputArrayCount<DeviceInfo>(device, kDeviceArrayGetDeviceImageSparseMemoryRequirements, *out_pSparseMemoryRequirementCount, &VulkanObjectInfoTable::GetDeviceInfo); }
+@@ -2893,6 +3036,7 @@ void VulkanReplayConsumer::Process_vkDestroySurfaceKHR(
+     auto in_instance = GetObjectInfoTable().GetInstanceInfo(instance);
+     auto in_surface = GetObjectInfoTable().GetSurfaceKHRInfo(surface);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideDestroySurfaceKHR(GetInstanceTable(in_instance->handle)->DestroySurfaceKHR, in_instance, in_surface, pAllocator);
+     RemoveHandle(surface, &VulkanObjectInfoTable::RemoveSurfaceKHRInfo);
+ }
+@@ -2993,6 +3137,7 @@ void VulkanReplayConsumer::Process_vkDestroySwapchainKHR(
+     auto in_device = GetObjectInfoTable().GetDeviceInfo(device);
+     auto in_swapchain = GetObjectInfoTable().GetSwapchainKHRInfo(swapchain);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideDestroySwapchainKHR(GetDeviceTable(in_device->handle)->DestroySwapchainKHR, in_device, in_swapchain, pAllocator);
+     RemoveHandle(swapchain, &VulkanObjectInfoTable::RemoveSwapchainKHRInfo);
+ }
+@@ -3288,6 +3433,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceXlibPresentationSupportKHR
+     auto in_physicalDevice = GetObjectInfoTable().GetPhysicalDeviceInfo(physicalDevice);
+     Display* in_dpy = static_cast<Display*>(PreProcessExternalObject(dpy, format::ApiCallId::ApiCall_vkGetPhysicalDeviceXlibPresentationSupportKHR, "vkGetPhysicalDeviceXlibPresentationSupportKHR"));
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideGetPhysicalDeviceXlibPresentationSupportKHR(GetInstanceTable(in_physicalDevice->handle)->GetPhysicalDeviceXlibPresentationSupportKHR, in_physicalDevice, queueFamilyIndex, in_dpy, visualID);
+ }
+ 
+@@ -3319,6 +3465,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceXcbPresentationSupportKHR(
+     auto in_physicalDevice = GetObjectInfoTable().GetPhysicalDeviceInfo(physicalDevice);
+     xcb_connection_t* in_connection = static_cast<xcb_connection_t*>(PreProcessExternalObject(connection, format::ApiCallId::ApiCall_vkGetPhysicalDeviceXcbPresentationSupportKHR, "vkGetPhysicalDeviceXcbPresentationSupportKHR"));
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideGetPhysicalDeviceXcbPresentationSupportKHR(GetInstanceTable(in_physicalDevice->handle)->GetPhysicalDeviceXcbPresentationSupportKHR, in_physicalDevice, queueFamilyIndex, in_connection, visual_id);
+ }
+ 
+@@ -3349,6 +3496,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceWaylandPresentationSupport
+     auto in_physicalDevice = GetObjectInfoTable().GetPhysicalDeviceInfo(physicalDevice);
+     struct wl_display* in_display = static_cast<struct wl_display*>(PreProcessExternalObject(display, format::ApiCallId::ApiCall_vkGetPhysicalDeviceWaylandPresentationSupportKHR, "vkGetPhysicalDeviceWaylandPresentationSupportKHR"));
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideGetPhysicalDeviceWaylandPresentationSupportKHR(GetInstanceTable(in_physicalDevice->handle)->GetPhysicalDeviceWaylandPresentationSupportKHR, in_physicalDevice, queueFamilyIndex, in_display);
+ }
+ 
+@@ -3395,6 +3543,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceWin32PresentationSupportKH
+ {
+     auto in_physicalDevice = GetObjectInfoTable().GetPhysicalDeviceInfo(physicalDevice);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideGetPhysicalDeviceWin32PresentationSupportKHR(GetInstanceTable(in_physicalDevice->handle)->GetPhysicalDeviceWin32PresentationSupportKHR, in_physicalDevice, queueFamilyIndex);
+ }
+ 
+@@ -3406,6 +3555,7 @@ void VulkanReplayConsumer::Process_vkCmdBeginRenderingKHR(
+     const VkRenderingInfo* in_pRenderingInfo = pRenderingInfo->GetPointer();
+     MapStructHandles(pRenderingInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBeginRenderingKHR(in_commandBuffer, in_pRenderingInfo);
+ }
+ 
+@@ -3414,6 +3564,7 @@ void VulkanReplayConsumer::Process_vkCmdEndRenderingKHR(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdEndRenderingKHR(in_commandBuffer);
+ }
+ 
+@@ -3424,6 +3575,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceFeatures2KHR(
+     VkPhysicalDevice in_physicalDevice = MapHandle<PhysicalDeviceInfo>(physicalDevice, &VulkanObjectInfoTable::GetPhysicalDeviceInfo);
+     VkPhysicalDeviceFeatures2* out_pFeatures = pFeatures->IsNull() ? nullptr : pFeatures->AllocateOutputData(1, { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceFeatures2KHR(in_physicalDevice, out_pFeatures);
+ }
+ 
+@@ -3434,6 +3586,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceProperties2KHR(
+     auto in_physicalDevice = GetObjectInfoTable().GetPhysicalDeviceInfo(physicalDevice);
+     pProperties->IsNull() ? nullptr : pProperties->AllocateOutputData(1, { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideGetPhysicalDeviceProperties2(GetInstanceTable(in_physicalDevice->handle)->GetPhysicalDeviceProperties2KHR, in_physicalDevice, pProperties);
+ }
+ 
+@@ -3445,6 +3598,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceFormatProperties2KHR(
+     VkPhysicalDevice in_physicalDevice = MapHandle<PhysicalDeviceInfo>(physicalDevice, &VulkanObjectInfoTable::GetPhysicalDeviceInfo);
+     VkFormatProperties2* out_pFormatProperties = pFormatProperties->IsNull() ? nullptr : pFormatProperties->AllocateOutputData(1, { VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceFormatProperties2KHR(in_physicalDevice, format, out_pFormatProperties);
+ }
+ 
+@@ -3471,6 +3625,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceQueueFamilyProperties2KHR(
+     uint32_t* out_pQueueFamilyPropertyCount = pQueueFamilyPropertyCount->IsNull() ? nullptr : pQueueFamilyPropertyCount->AllocateOutputData(1, GetOutputArrayCount<uint32_t, PhysicalDeviceInfo>("vkGetPhysicalDeviceQueueFamilyProperties2KHR", VK_SUCCESS, physicalDevice, kPhysicalDeviceArrayGetPhysicalDeviceQueueFamilyProperties2KHR, pQueueFamilyPropertyCount, pQueueFamilyProperties, &VulkanObjectInfoTable::GetPhysicalDeviceInfo));
+     VkQueueFamilyProperties2* out_pQueueFamilyProperties = pQueueFamilyProperties->IsNull() ? nullptr : pQueueFamilyProperties->AllocateOutputData(*out_pQueueFamilyPropertyCount, VkQueueFamilyProperties2{ VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceQueueFamilyProperties2KHR(in_physicalDevice, out_pQueueFamilyPropertyCount, out_pQueueFamilyProperties);
+ 
+     if (pQueueFamilyProperties->IsNull()) { SetOutputArrayCount<PhysicalDeviceInfo>(physicalDevice, kPhysicalDeviceArrayGetPhysicalDeviceQueueFamilyProperties2KHR, *out_pQueueFamilyPropertyCount, &VulkanObjectInfoTable::GetPhysicalDeviceInfo); }
+@@ -3483,6 +3638,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceMemoryProperties2KHR(
+     auto in_physicalDevice = GetObjectInfoTable().GetPhysicalDeviceInfo(physicalDevice);
+     pMemoryProperties->IsNull() ? nullptr : pMemoryProperties->AllocateOutputData(1, { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideGetPhysicalDeviceMemoryProperties2(GetInstanceTable(in_physicalDevice->handle)->GetPhysicalDeviceMemoryProperties2KHR, in_physicalDevice, pMemoryProperties);
+ }
+ 
+@@ -3497,6 +3653,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceSparseImageFormatPropertie
+     uint32_t* out_pPropertyCount = pPropertyCount->IsNull() ? nullptr : pPropertyCount->AllocateOutputData(1, GetOutputArrayCount<uint32_t, PhysicalDeviceInfo>("vkGetPhysicalDeviceSparseImageFormatProperties2KHR", VK_SUCCESS, physicalDevice, kPhysicalDeviceArrayGetPhysicalDeviceSparseImageFormatProperties2KHR, pPropertyCount, pProperties, &VulkanObjectInfoTable::GetPhysicalDeviceInfo));
+     VkSparseImageFormatProperties2* out_pProperties = pProperties->IsNull() ? nullptr : pProperties->AllocateOutputData(*out_pPropertyCount, VkSparseImageFormatProperties2{ VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceSparseImageFormatProperties2KHR(in_physicalDevice, in_pFormatInfo, out_pPropertyCount, out_pProperties);
+ 
+     if (pProperties->IsNull()) { SetOutputArrayCount<PhysicalDeviceInfo>(physicalDevice, kPhysicalDeviceArrayGetPhysicalDeviceSparseImageFormatProperties2KHR, *out_pPropertyCount, &VulkanObjectInfoTable::GetPhysicalDeviceInfo); }
+@@ -3512,6 +3669,7 @@ void VulkanReplayConsumer::Process_vkGetDeviceGroupPeerMemoryFeaturesKHR(
+     VkDevice in_device = MapHandle<DeviceInfo>(device, &VulkanObjectInfoTable::GetDeviceInfo);
+     VkPeerMemoryFeatureFlags* out_pPeerMemoryFeatures = pPeerMemoryFeatures->IsNull() ? nullptr : pPeerMemoryFeatures->AllocateOutputData(1, static_cast<VkPeerMemoryFeatureFlags>(0));
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetDeviceGroupPeerMemoryFeaturesKHR(in_device, heapIndex, localDeviceIndex, remoteDeviceIndex, out_pPeerMemoryFeatures);
+ }
+ 
+@@ -3521,6 +3679,7 @@ void VulkanReplayConsumer::Process_vkCmdSetDeviceMaskKHR(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetDeviceMaskKHR(in_commandBuffer, deviceMask);
+ }
+ 
+@@ -3535,6 +3694,7 @@ void VulkanReplayConsumer::Process_vkCmdDispatchBaseKHR(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDispatchBaseKHR(in_commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
+ }
+ 
+@@ -3546,6 +3706,7 @@ void VulkanReplayConsumer::Process_vkTrimCommandPoolKHR(
+     VkDevice in_device = MapHandle<DeviceInfo>(device, &VulkanObjectInfoTable::GetDeviceInfo);
+     VkCommandPool in_commandPool = MapHandle<CommandPoolInfo>(commandPool, &VulkanObjectInfoTable::GetCommandPoolInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->TrimCommandPoolKHR(in_device, in_commandPool, flags);
+ }
+ 
+@@ -3576,6 +3737,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceExternalBufferPropertiesKH
+     const VkPhysicalDeviceExternalBufferInfo* in_pExternalBufferInfo = pExternalBufferInfo->GetPointer();
+     VkExternalBufferProperties* out_pExternalBufferProperties = pExternalBufferProperties->IsNull() ? nullptr : pExternalBufferProperties->AllocateOutputData(1, { VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceExternalBufferPropertiesKHR(in_physicalDevice, in_pExternalBufferInfo, out_pExternalBufferProperties);
+ }
+ 
+@@ -3649,6 +3811,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceExternalSemaphorePropertie
+     const VkPhysicalDeviceExternalSemaphoreInfo* in_pExternalSemaphoreInfo = pExternalSemaphoreInfo->GetPointer();
+     VkExternalSemaphoreProperties* out_pExternalSemaphoreProperties = pExternalSemaphoreProperties->IsNull() ? nullptr : pExternalSemaphoreProperties->AllocateOutputData(1, { VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceExternalSemaphorePropertiesKHR(in_physicalDevice, in_pExternalSemaphoreInfo, out_pExternalSemaphoreProperties);
+ }
+ 
+@@ -3723,6 +3886,7 @@ void VulkanReplayConsumer::Process_vkCmdPushDescriptorSetKHR(
+     const VkWriteDescriptorSet* in_pDescriptorWrites = pDescriptorWrites->GetPointer();
+     MapStructArrayHandles(pDescriptorWrites->GetMetaStructPointer(), pDescriptorWrites->GetLength(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdPushDescriptorSetKHR(in_commandBuffer, pipelineBindPoint, in_layout, set, descriptorWriteCount, in_pDescriptorWrites);
+ }
+ 
+@@ -3754,6 +3918,7 @@ void VulkanReplayConsumer::Process_vkDestroyDescriptorUpdateTemplateKHR(
+     auto in_device = GetObjectInfoTable().GetDeviceInfo(device);
+     auto in_descriptorUpdateTemplate = GetObjectInfoTable().GetDescriptorUpdateTemplateInfo(descriptorUpdateTemplate);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideDestroyDescriptorUpdateTemplate(GetDeviceTable(in_device->handle)->DestroyDescriptorUpdateTemplateKHR, in_device, in_descriptorUpdateTemplate, pAllocator);
+     RemoveHandle(descriptorUpdateTemplate, &VulkanObjectInfoTable::RemoveDescriptorUpdateTemplateInfo);
+ }
+@@ -3787,6 +3952,7 @@ void VulkanReplayConsumer::Process_vkCmdBeginRenderPass2KHR(
+     MapStructHandles(pRenderPassBegin->GetMetaStructPointer(), GetObjectInfoTable());
+     const VkSubpassBeginInfo* in_pSubpassBeginInfo = pSubpassBeginInfo->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBeginRenderPass2KHR(in_commandBuffer, in_pRenderPassBegin, in_pSubpassBeginInfo);
+ }
+ 
+@@ -3799,6 +3965,7 @@ void VulkanReplayConsumer::Process_vkCmdNextSubpass2KHR(
+     const VkSubpassBeginInfo* in_pSubpassBeginInfo = pSubpassBeginInfo->GetPointer();
+     const VkSubpassEndInfo* in_pSubpassEndInfo = pSubpassEndInfo->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdNextSubpass2KHR(in_commandBuffer, in_pSubpassBeginInfo, in_pSubpassEndInfo);
+ }
+ 
+@@ -3809,6 +3976,7 @@ void VulkanReplayConsumer::Process_vkCmdEndRenderPass2KHR(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkSubpassEndInfo* in_pSubpassEndInfo = pSubpassEndInfo->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdEndRenderPass2KHR(in_commandBuffer, in_pSubpassEndInfo);
+ }
+ 
+@@ -3834,6 +4002,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceExternalFencePropertiesKHR
+     const VkPhysicalDeviceExternalFenceInfo* in_pExternalFenceInfo = pExternalFenceInfo->GetPointer();
+     VkExternalFenceProperties* out_pExternalFenceProperties = pExternalFenceProperties->IsNull() ? nullptr : pExternalFenceProperties->AllocateOutputData(1, { VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceExternalFencePropertiesKHR(in_physicalDevice, in_pExternalFenceInfo, out_pExternalFenceProperties);
+ }
+ 
+@@ -3924,6 +4093,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceQueueFamilyPerformanceQuer
+     const VkQueryPoolPerformanceCreateInfoKHR* in_pPerformanceQueryCreateInfo = pPerformanceQueryCreateInfo->GetPointer();
+     uint32_t* out_pNumPasses = pNumPasses->IsNull() ? nullptr : pNumPasses->AllocateOutputData(1, static_cast<uint32_t>(0));
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(in_physicalDevice, in_pPerformanceQueryCreateInfo, out_pNumPasses);
+ }
+ 
+@@ -3944,6 +4114,7 @@ void VulkanReplayConsumer::Process_vkReleaseProfilingLockKHR(
+ {
+     VkDevice in_device = MapHandle<DeviceInfo>(device, &VulkanObjectInfoTable::GetDeviceInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->ReleaseProfilingLockKHR(in_device);
+ }
+ 
+@@ -4059,6 +4230,7 @@ void VulkanReplayConsumer::Process_vkGetImageMemoryRequirements2KHR(
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+     VkMemoryRequirements2* out_pMemoryRequirements = pMemoryRequirements->IsNull() ? nullptr : pMemoryRequirements->AllocateOutputData(1, { VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetImageMemoryRequirements2KHR(in_device, in_pInfo, out_pMemoryRequirements);
+ }
+ 
+@@ -4072,6 +4244,7 @@ void VulkanReplayConsumer::Process_vkGetBufferMemoryRequirements2KHR(
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+     VkMemoryRequirements2* out_pMemoryRequirements = pMemoryRequirements->IsNull() ? nullptr : pMemoryRequirements->AllocateOutputData(1, { VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetBufferMemoryRequirements2KHR(in_device, in_pInfo, out_pMemoryRequirements);
+ }
+ 
+@@ -4087,6 +4260,7 @@ void VulkanReplayConsumer::Process_vkGetImageSparseMemoryRequirements2KHR(
+     uint32_t* out_pSparseMemoryRequirementCount = pSparseMemoryRequirementCount->IsNull() ? nullptr : pSparseMemoryRequirementCount->AllocateOutputData(1, GetOutputArrayCount<uint32_t, DeviceInfo>("vkGetImageSparseMemoryRequirements2KHR", VK_SUCCESS, device, kDeviceArrayGetImageSparseMemoryRequirements2KHR, pSparseMemoryRequirementCount, pSparseMemoryRequirements, &VulkanObjectInfoTable::GetDeviceInfo));
+     VkSparseImageMemoryRequirements2* out_pSparseMemoryRequirements = pSparseMemoryRequirements->IsNull() ? nullptr : pSparseMemoryRequirements->AllocateOutputData(*out_pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2{ VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetImageSparseMemoryRequirements2KHR(in_device, in_pInfo, out_pSparseMemoryRequirementCount, out_pSparseMemoryRequirements);
+ 
+     if (pSparseMemoryRequirements->IsNull()) { SetOutputArrayCount<DeviceInfo>(device, kDeviceArrayGetImageSparseMemoryRequirements2KHR, *out_pSparseMemoryRequirementCount, &VulkanObjectInfoTable::GetDeviceInfo); }
+@@ -4120,6 +4294,7 @@ void VulkanReplayConsumer::Process_vkDestroySamplerYcbcrConversionKHR(
+     VkSamplerYcbcrConversion in_ycbcrConversion = MapHandle<SamplerYcbcrConversionInfo>(ycbcrConversion, &VulkanObjectInfoTable::GetSamplerYcbcrConversionInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroySamplerYcbcrConversionKHR(in_device, in_ycbcrConversion, in_pAllocator);
+     RemoveHandle(ycbcrConversion, &VulkanObjectInfoTable::RemoveSamplerYcbcrConversionInfo);
+ }
+@@ -4162,6 +4337,7 @@ void VulkanReplayConsumer::Process_vkGetDescriptorSetLayoutSupportKHR(
+     MapStructHandles(pCreateInfo->GetMetaStructPointer(), GetObjectInfoTable());
+     VkDescriptorSetLayoutSupport* out_pSupport = pSupport->IsNull() ? nullptr : pSupport->AllocateOutputData(1, { VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetDescriptorSetLayoutSupportKHR(in_device, in_pCreateInfo, out_pSupport);
+ }
+ 
+@@ -4178,6 +4354,7 @@ void VulkanReplayConsumer::Process_vkCmdDrawIndirectCountKHR(
+     VkBuffer in_buffer = MapHandle<BufferInfo>(buffer, &VulkanObjectInfoTable::GetBufferInfo);
+     VkBuffer in_countBuffer = MapHandle<BufferInfo>(countBuffer, &VulkanObjectInfoTable::GetBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDrawIndirectCountKHR(in_commandBuffer, in_buffer, offset, in_countBuffer, countBufferOffset, maxDrawCount, stride);
+ }
+ 
+@@ -4194,6 +4371,7 @@ void VulkanReplayConsumer::Process_vkCmdDrawIndexedIndirectCountKHR(
+     VkBuffer in_buffer = MapHandle<BufferInfo>(buffer, &VulkanObjectInfoTable::GetBufferInfo);
+     VkBuffer in_countBuffer = MapHandle<BufferInfo>(countBuffer, &VulkanObjectInfoTable::GetBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDrawIndexedIndirectCountKHR(in_commandBuffer, in_buffer, offset, in_countBuffer, countBufferOffset, maxDrawCount, stride);
+ }
+ 
+@@ -4263,6 +4441,7 @@ void VulkanReplayConsumer::Process_vkCmdSetFragmentShadingRateKHR(
+     const VkExtent2D* in_pFragmentSize = pFragmentSize->GetPointer();
+     const VkFragmentShadingRateCombinerOpKHR* in_combinerOps = combinerOps->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetFragmentShadingRateKHR(in_commandBuffer, in_pFragmentSize, in_combinerOps);
+ }
+ 
+@@ -4290,6 +4469,7 @@ void VulkanReplayConsumer::Process_vkGetBufferDeviceAddressKHR(
+ 
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideGetBufferDeviceAddress(GetDeviceTable(in_device->handle)->GetBufferDeviceAddressKHR, in_device, pInfo);
+ }
+ 
+@@ -4302,6 +4482,7 @@ void VulkanReplayConsumer::Process_vkGetBufferOpaqueCaptureAddressKHR(
+     const VkBufferDeviceAddressInfo* in_pInfo = pInfo->GetPointer();
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetBufferOpaqueCaptureAddressKHR(in_device, in_pInfo);
+ }
+ 
+@@ -4314,6 +4495,7 @@ void VulkanReplayConsumer::Process_vkGetDeviceMemoryOpaqueCaptureAddressKHR(
+     const VkDeviceMemoryOpaqueCaptureAddressInfo* in_pInfo = pInfo->GetPointer();
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetDeviceMemoryOpaqueCaptureAddressKHR(in_device, in_pInfo);
+ }
+ 
+@@ -4343,6 +4525,7 @@ void VulkanReplayConsumer::Process_vkDestroyDeferredOperationKHR(
+     VkDeferredOperationKHR in_operation = MapHandle<DeferredOperationKHRInfo>(operation, &VulkanObjectInfoTable::GetDeferredOperationKHRInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroyDeferredOperationKHR(in_device, in_operation, in_pAllocator);
+     RemoveHandle(operation, &VulkanObjectInfoTable::RemoveDeferredOperationKHRInfo);
+ }
+@@ -4355,6 +4538,7 @@ void VulkanReplayConsumer::Process_vkGetDeferredOperationMaxConcurrencyKHR(
+     VkDevice in_device = MapHandle<DeviceInfo>(device, &VulkanObjectInfoTable::GetDeviceInfo);
+     VkDeferredOperationKHR in_operation = MapHandle<DeferredOperationKHRInfo>(operation, &VulkanObjectInfoTable::GetDeferredOperationKHRInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetDeferredOperationMaxConcurrencyKHR(in_device, in_operation);
+ }
+ 
+@@ -4449,6 +4633,7 @@ void VulkanReplayConsumer::Process_vkCmdSetEvent2KHR(
+     const VkDependencyInfo* in_pDependencyInfo = pDependencyInfo->GetPointer();
+     MapStructHandles(pDependencyInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetEvent2KHR(in_commandBuffer, in_event, in_pDependencyInfo);
+ }
+ 
+@@ -4460,6 +4645,7 @@ void VulkanReplayConsumer::Process_vkCmdResetEvent2KHR(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkEvent in_event = MapHandle<EventInfo>(event, &VulkanObjectInfoTable::GetEventInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdResetEvent2KHR(in_commandBuffer, in_event, stageMask);
+ }
+ 
+@@ -4474,6 +4660,7 @@ void VulkanReplayConsumer::Process_vkCmdWaitEvents2KHR(
+     const VkDependencyInfo* in_pDependencyInfos = pDependencyInfos->GetPointer();
+     MapStructArrayHandles(pDependencyInfos->GetMetaStructPointer(), pDependencyInfos->GetLength(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdWaitEvents2KHR(in_commandBuffer, eventCount, in_pEvents, in_pDependencyInfos);
+ }
+ 
+@@ -4485,6 +4672,7 @@ void VulkanReplayConsumer::Process_vkCmdPipelineBarrier2KHR(
+     const VkDependencyInfo* in_pDependencyInfo = pDependencyInfo->GetPointer();
+     MapStructHandles(pDependencyInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdPipelineBarrier2KHR(in_commandBuffer, in_pDependencyInfo);
+ }
+ 
+@@ -4497,6 +4685,7 @@ void VulkanReplayConsumer::Process_vkCmdWriteTimestamp2KHR(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkQueryPool in_queryPool = MapHandle<QueryPoolInfo>(queryPool, &VulkanObjectInfoTable::GetQueryPoolInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdWriteTimestamp2KHR(in_commandBuffer, stage, in_queryPool, query);
+ }
+ 
+@@ -4526,6 +4715,7 @@ void VulkanReplayConsumer::Process_vkCmdWriteBufferMarker2AMD(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkBuffer in_dstBuffer = MapHandle<BufferInfo>(dstBuffer, &VulkanObjectInfoTable::GetBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdWriteBufferMarker2AMD(in_commandBuffer, stage, in_dstBuffer, dstOffset, marker);
+ }
+ 
+@@ -4538,6 +4728,7 @@ void VulkanReplayConsumer::Process_vkGetQueueCheckpointData2NV(
+     uint32_t* out_pCheckpointDataCount = pCheckpointDataCount->IsNull() ? nullptr : pCheckpointDataCount->AllocateOutputData(1, GetOutputArrayCount<uint32_t, QueueInfo>("vkGetQueueCheckpointData2NV", VK_SUCCESS, queue, kQueueArrayGetQueueCheckpointData2NV, pCheckpointDataCount, pCheckpointData, &VulkanObjectInfoTable::GetQueueInfo));
+     VkCheckpointData2NV* out_pCheckpointData = pCheckpointData->IsNull() ? nullptr : pCheckpointData->AllocateOutputData(*out_pCheckpointDataCount, VkCheckpointData2NV{ VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_queue)->GetQueueCheckpointData2NV(in_queue, out_pCheckpointDataCount, out_pCheckpointData);
+ 
+     if (pCheckpointData->IsNull()) { SetOutputArrayCount<QueueInfo>(queue, kQueueArrayGetQueueCheckpointData2NV, *out_pCheckpointDataCount, &VulkanObjectInfoTable::GetQueueInfo); }
+@@ -4551,6 +4742,7 @@ void VulkanReplayConsumer::Process_vkCmdCopyBuffer2KHR(
+     const VkCopyBufferInfo2* in_pCopyBufferInfo = pCopyBufferInfo->GetPointer();
+     MapStructHandles(pCopyBufferInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdCopyBuffer2KHR(in_commandBuffer, in_pCopyBufferInfo);
+ }
+ 
+@@ -4562,6 +4754,7 @@ void VulkanReplayConsumer::Process_vkCmdCopyImage2KHR(
+     const VkCopyImageInfo2* in_pCopyImageInfo = pCopyImageInfo->GetPointer();
+     MapStructHandles(pCopyImageInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdCopyImage2KHR(in_commandBuffer, in_pCopyImageInfo);
+ }
+ 
+@@ -4573,6 +4766,7 @@ void VulkanReplayConsumer::Process_vkCmdCopyBufferToImage2KHR(
+     const VkCopyBufferToImageInfo2* in_pCopyBufferToImageInfo = pCopyBufferToImageInfo->GetPointer();
+     MapStructHandles(pCopyBufferToImageInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdCopyBufferToImage2KHR(in_commandBuffer, in_pCopyBufferToImageInfo);
+ }
+ 
+@@ -4584,6 +4778,7 @@ void VulkanReplayConsumer::Process_vkCmdCopyImageToBuffer2KHR(
+     const VkCopyImageToBufferInfo2* in_pCopyImageToBufferInfo = pCopyImageToBufferInfo->GetPointer();
+     MapStructHandles(pCopyImageToBufferInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdCopyImageToBuffer2KHR(in_commandBuffer, in_pCopyImageToBufferInfo);
+ }
+ 
+@@ -4595,6 +4790,7 @@ void VulkanReplayConsumer::Process_vkCmdBlitImage2KHR(
+     const VkBlitImageInfo2* in_pBlitImageInfo = pBlitImageInfo->GetPointer();
+     MapStructHandles(pBlitImageInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBlitImage2KHR(in_commandBuffer, in_pBlitImageInfo);
+ }
+ 
+@@ -4606,6 +4802,7 @@ void VulkanReplayConsumer::Process_vkCmdResolveImage2KHR(
+     const VkResolveImageInfo2* in_pResolveImageInfo = pResolveImageInfo->GetPointer();
+     MapStructHandles(pResolveImageInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdResolveImage2KHR(in_commandBuffer, in_pResolveImageInfo);
+ }
+ 
+@@ -4619,6 +4816,7 @@ void VulkanReplayConsumer::Process_vkGetDeviceBufferMemoryRequirementsKHR(
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+     VkMemoryRequirements2* out_pMemoryRequirements = pMemoryRequirements->IsNull() ? nullptr : pMemoryRequirements->AllocateOutputData(1, { VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetDeviceBufferMemoryRequirementsKHR(in_device, in_pInfo, out_pMemoryRequirements);
+ }
+ 
+@@ -4632,6 +4830,7 @@ void VulkanReplayConsumer::Process_vkGetDeviceImageMemoryRequirementsKHR(
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+     VkMemoryRequirements2* out_pMemoryRequirements = pMemoryRequirements->IsNull() ? nullptr : pMemoryRequirements->AllocateOutputData(1, { VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetDeviceImageMemoryRequirementsKHR(in_device, in_pInfo, out_pMemoryRequirements);
+ }
+ 
+@@ -4647,6 +4846,7 @@ void VulkanReplayConsumer::Process_vkGetDeviceImageSparseMemoryRequirementsKHR(
+     uint32_t* out_pSparseMemoryRequirementCount = pSparseMemoryRequirementCount->IsNull() ? nullptr : pSparseMemoryRequirementCount->AllocateOutputData(1, GetOutputArrayCount<uint32_t, DeviceInfo>("vkGetDeviceImageSparseMemoryRequirementsKHR", VK_SUCCESS, device, kDeviceArrayGetDeviceImageSparseMemoryRequirementsKHR, pSparseMemoryRequirementCount, pSparseMemoryRequirements, &VulkanObjectInfoTable::GetDeviceInfo));
+     VkSparseImageMemoryRequirements2* out_pSparseMemoryRequirements = pSparseMemoryRequirements->IsNull() ? nullptr : pSparseMemoryRequirements->AllocateOutputData(*out_pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2{ VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetDeviceImageSparseMemoryRequirementsKHR(in_device, in_pInfo, out_pSparseMemoryRequirementCount, out_pSparseMemoryRequirements);
+ 
+     if (pSparseMemoryRequirements->IsNull()) { SetOutputArrayCount<DeviceInfo>(device, kDeviceArrayGetDeviceImageSparseMemoryRequirementsKHR, *out_pSparseMemoryRequirementCount, &VulkanObjectInfoTable::GetDeviceInfo); }
+@@ -4679,6 +4879,7 @@ void VulkanReplayConsumer::Process_vkDestroyDebugReportCallbackEXT(
+     VkDebugReportCallbackEXT in_callback = MapHandle<DebugReportCallbackEXTInfo>(callback, &VulkanObjectInfoTable::GetDebugReportCallbackEXTInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_instance)->DestroyDebugReportCallbackEXT(in_instance, in_callback, in_pAllocator);
+     RemoveHandle(callback, &VulkanObjectInfoTable::RemoveDebugReportCallbackEXTInfo);
+ }
+@@ -4698,6 +4899,7 @@ void VulkanReplayConsumer::Process_vkDebugReportMessageEXT(
+     const char* in_pLayerPrefix = pLayerPrefix->GetPointer();
+     const char* in_pMessage = pMessage->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_instance)->DebugReportMessageEXT(in_instance, flags, objectType, in_object, location, messageCode, in_pLayerPrefix, in_pMessage);
+ }
+ 
+@@ -4734,6 +4936,7 @@ void VulkanReplayConsumer::Process_vkCmdDebugMarkerBeginEXT(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkDebugMarkerMarkerInfoEXT* in_pMarkerInfo = pMarkerInfo->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDebugMarkerBeginEXT(in_commandBuffer, in_pMarkerInfo);
+ }
+ 
+@@ -4742,6 +4945,7 @@ void VulkanReplayConsumer::Process_vkCmdDebugMarkerEndEXT(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDebugMarkerEndEXT(in_commandBuffer);
+ }
+ 
+@@ -4752,6 +4956,7 @@ void VulkanReplayConsumer::Process_vkCmdDebugMarkerInsertEXT(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkDebugMarkerMarkerInfoEXT* in_pMarkerInfo = pMarkerInfo->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDebugMarkerInsertEXT(in_commandBuffer, in_pMarkerInfo);
+ }
+ 
+@@ -4768,6 +4973,7 @@ void VulkanReplayConsumer::Process_vkCmdBindTransformFeedbackBuffersEXT(
+     const VkDeviceSize* in_pOffsets = pOffsets->GetPointer();
+     const VkDeviceSize* in_pSizes = pSizes->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBindTransformFeedbackBuffersEXT(in_commandBuffer, firstBinding, bindingCount, in_pBuffers, in_pOffsets, in_pSizes);
+ }
+ 
+@@ -4782,6 +4988,7 @@ void VulkanReplayConsumer::Process_vkCmdBeginTransformFeedbackEXT(
+     const VkBuffer* in_pCounterBuffers = MapHandles<BufferInfo>(pCounterBuffers, counterBufferCount, &VulkanObjectInfoTable::GetBufferInfo);
+     const VkDeviceSize* in_pCounterBufferOffsets = pCounterBufferOffsets->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBeginTransformFeedbackEXT(in_commandBuffer, firstCounterBuffer, counterBufferCount, in_pCounterBuffers, in_pCounterBufferOffsets);
+ }
+ 
+@@ -4796,6 +5003,7 @@ void VulkanReplayConsumer::Process_vkCmdEndTransformFeedbackEXT(
+     const VkBuffer* in_pCounterBuffers = MapHandles<BufferInfo>(pCounterBuffers, counterBufferCount, &VulkanObjectInfoTable::GetBufferInfo);
+     const VkDeviceSize* in_pCounterBufferOffsets = pCounterBufferOffsets->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdEndTransformFeedbackEXT(in_commandBuffer, firstCounterBuffer, counterBufferCount, in_pCounterBuffers, in_pCounterBufferOffsets);
+ }
+ 
+@@ -4809,6 +5017,7 @@ void VulkanReplayConsumer::Process_vkCmdBeginQueryIndexedEXT(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkQueryPool in_queryPool = MapHandle<QueryPoolInfo>(queryPool, &VulkanObjectInfoTable::GetQueryPoolInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBeginQueryIndexedEXT(in_commandBuffer, in_queryPool, query, flags, index);
+ }
+ 
+@@ -4821,6 +5030,7 @@ void VulkanReplayConsumer::Process_vkCmdEndQueryIndexedEXT(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkQueryPool in_queryPool = MapHandle<QueryPoolInfo>(queryPool, &VulkanObjectInfoTable::GetQueryPoolInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdEndQueryIndexedEXT(in_commandBuffer, in_queryPool, query, index);
+ }
+ 
+@@ -4836,6 +5046,7 @@ void VulkanReplayConsumer::Process_vkCmdDrawIndirectByteCountEXT(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkBuffer in_counterBuffer = MapHandle<BufferInfo>(counterBuffer, &VulkanObjectInfoTable::GetBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDrawIndirectByteCountEXT(in_commandBuffer, instanceCount, firstInstance, in_counterBuffer, counterBufferOffset, counterOffset, vertexStride);
+ }
+ 
+@@ -4848,6 +5059,7 @@ void VulkanReplayConsumer::Process_vkGetImageViewHandleNVX(
+     const VkImageViewHandleInfoNVX* in_pInfo = pInfo->GetPointer();
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetImageViewHandleNVX(in_device, in_pInfo);
+ }
+ 
+@@ -4878,6 +5090,7 @@ void VulkanReplayConsumer::Process_vkCmdDrawIndirectCountAMD(
+     VkBuffer in_buffer = MapHandle<BufferInfo>(buffer, &VulkanObjectInfoTable::GetBufferInfo);
+     VkBuffer in_countBuffer = MapHandle<BufferInfo>(countBuffer, &VulkanObjectInfoTable::GetBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDrawIndirectCountAMD(in_commandBuffer, in_buffer, offset, in_countBuffer, countBufferOffset, maxDrawCount, stride);
+ }
+ 
+@@ -4894,6 +5107,7 @@ void VulkanReplayConsumer::Process_vkCmdDrawIndexedIndirectCountAMD(
+     VkBuffer in_buffer = MapHandle<BufferInfo>(buffer, &VulkanObjectInfoTable::GetBufferInfo);
+     VkBuffer in_countBuffer = MapHandle<BufferInfo>(countBuffer, &VulkanObjectInfoTable::GetBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDrawIndexedIndirectCountAMD(in_commandBuffer, in_buffer, offset, in_countBuffer, countBufferOffset, maxDrawCount, stride);
+ }
+ 
+@@ -4998,6 +5212,7 @@ void VulkanReplayConsumer::Process_vkCmdBeginConditionalRenderingEXT(
+     const VkConditionalRenderingBeginInfoEXT* in_pConditionalRenderingBegin = pConditionalRenderingBegin->GetPointer();
+     MapStructHandles(pConditionalRenderingBegin->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBeginConditionalRenderingEXT(in_commandBuffer, in_pConditionalRenderingBegin);
+ }
+ 
+@@ -5006,6 +5221,7 @@ void VulkanReplayConsumer::Process_vkCmdEndConditionalRenderingEXT(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdEndConditionalRenderingEXT(in_commandBuffer);
+ }
+ 
+@@ -5018,6 +5234,7 @@ void VulkanReplayConsumer::Process_vkCmdSetViewportWScalingNV(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkViewportWScalingNV* in_pViewportWScalings = pViewportWScalings->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetViewportWScalingNV(in_commandBuffer, firstViewport, viewportCount, in_pViewportWScalings);
+ }
+ 
+@@ -5194,6 +5411,7 @@ void VulkanReplayConsumer::Process_vkCmdSetDiscardRectangleEXT(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkRect2D* in_pDiscardRectangles = pDiscardRectangles->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetDiscardRectangleEXT(in_commandBuffer, firstDiscardRectangle, discardRectangleCount, in_pDiscardRectangles);
+ }
+ 
+@@ -5207,6 +5425,7 @@ void VulkanReplayConsumer::Process_vkSetHdrMetadataEXT(
+     const VkSwapchainKHR* in_pSwapchains = MapHandles<SwapchainKHRInfo>(pSwapchains, swapchainCount, &VulkanObjectInfoTable::GetSwapchainKHRInfo);
+     const VkHdrMetadataEXT* in_pMetadata = pMetadata->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->SetHdrMetadataEXT(in_device, swapchainCount, in_pSwapchains, in_pMetadata);
+ }
+ 
+@@ -5281,6 +5500,7 @@ void VulkanReplayConsumer::Process_vkQueueBeginDebugUtilsLabelEXT(
+     VkQueue in_queue = MapHandle<QueueInfo>(queue, &VulkanObjectInfoTable::GetQueueInfo);
+     const VkDebugUtilsLabelEXT* in_pLabelInfo = pLabelInfo->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_queue)->QueueBeginDebugUtilsLabelEXT(in_queue, in_pLabelInfo);
+ }
+ 
+@@ -5289,6 +5509,7 @@ void VulkanReplayConsumer::Process_vkQueueEndDebugUtilsLabelEXT(
+ {
+     VkQueue in_queue = MapHandle<QueueInfo>(queue, &VulkanObjectInfoTable::GetQueueInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_queue)->QueueEndDebugUtilsLabelEXT(in_queue);
+ }
+ 
+@@ -5299,6 +5520,7 @@ void VulkanReplayConsumer::Process_vkQueueInsertDebugUtilsLabelEXT(
+     VkQueue in_queue = MapHandle<QueueInfo>(queue, &VulkanObjectInfoTable::GetQueueInfo);
+     const VkDebugUtilsLabelEXT* in_pLabelInfo = pLabelInfo->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_queue)->QueueInsertDebugUtilsLabelEXT(in_queue, in_pLabelInfo);
+ }
+ 
+@@ -5309,6 +5531,7 @@ void VulkanReplayConsumer::Process_vkCmdBeginDebugUtilsLabelEXT(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkDebugUtilsLabelEXT* in_pLabelInfo = pLabelInfo->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBeginDebugUtilsLabelEXT(in_commandBuffer, in_pLabelInfo);
+ }
+ 
+@@ -5317,6 +5540,7 @@ void VulkanReplayConsumer::Process_vkCmdEndDebugUtilsLabelEXT(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdEndDebugUtilsLabelEXT(in_commandBuffer);
+ }
+ 
+@@ -5327,6 +5551,7 @@ void VulkanReplayConsumer::Process_vkCmdInsertDebugUtilsLabelEXT(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkDebugUtilsLabelEXT* in_pLabelInfo = pLabelInfo->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdInsertDebugUtilsLabelEXT(in_commandBuffer, in_pLabelInfo);
+ }
+ 
+@@ -5357,6 +5582,7 @@ void VulkanReplayConsumer::Process_vkDestroyDebugUtilsMessengerEXT(
+     VkDebugUtilsMessengerEXT in_messenger = MapHandle<DebugUtilsMessengerEXTInfo>(messenger, &VulkanObjectInfoTable::GetDebugUtilsMessengerEXTInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_instance)->DestroyDebugUtilsMessengerEXT(in_instance, in_messenger, in_pAllocator);
+     RemoveHandle(messenger, &VulkanObjectInfoTable::RemoveDebugUtilsMessengerEXTInfo);
+ }
+@@ -5370,6 +5596,7 @@ void VulkanReplayConsumer::Process_vkSubmitDebugUtilsMessageEXT(
+     VkInstance in_instance = MapHandle<InstanceInfo>(instance, &VulkanObjectInfoTable::GetInstanceInfo);
+     const VkDebugUtilsMessengerCallbackDataEXT* in_pCallbackData = pCallbackData->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_instance)->SubmitDebugUtilsMessageEXT(in_instance, messageSeverity, messageTypes, in_pCallbackData);
+ }
+ 
+@@ -5411,6 +5638,7 @@ void VulkanReplayConsumer::Process_vkCmdSetSampleLocationsEXT(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkSampleLocationsInfoEXT* in_pSampleLocationsInfo = pSampleLocationsInfo->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetSampleLocationsEXT(in_commandBuffer, in_pSampleLocationsInfo);
+ }
+ 
+@@ -5422,6 +5650,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceMultisamplePropertiesEXT(
+     VkPhysicalDevice in_physicalDevice = MapHandle<PhysicalDeviceInfo>(physicalDevice, &VulkanObjectInfoTable::GetPhysicalDeviceInfo);
+     VkMultisamplePropertiesEXT* out_pMultisampleProperties = pMultisampleProperties->IsNull() ? nullptr : pMultisampleProperties->AllocateOutputData(1, { VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceMultisamplePropertiesEXT(in_physicalDevice, samples, out_pMultisampleProperties);
+ }
+ 
+@@ -5467,6 +5696,7 @@ void VulkanReplayConsumer::Process_vkDestroyValidationCacheEXT(
+     VkValidationCacheEXT in_validationCache = MapHandle<ValidationCacheEXTInfo>(validationCache, &VulkanObjectInfoTable::GetValidationCacheEXTInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroyValidationCacheEXT(in_device, in_validationCache, in_pAllocator);
+     RemoveHandle(validationCache, &VulkanObjectInfoTable::RemoveValidationCacheEXTInfo);
+ }
+@@ -5512,6 +5742,7 @@ void VulkanReplayConsumer::Process_vkCmdBindShadingRateImageNV(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkImageView in_imageView = MapHandle<ImageViewInfo>(imageView, &VulkanObjectInfoTable::GetImageViewInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBindShadingRateImageNV(in_commandBuffer, in_imageView, imageLayout);
+ }
+ 
+@@ -5524,6 +5755,7 @@ void VulkanReplayConsumer::Process_vkCmdSetViewportShadingRatePaletteNV(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkShadingRatePaletteNV* in_pShadingRatePalettes = pShadingRatePalettes->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetViewportShadingRatePaletteNV(in_commandBuffer, firstViewport, viewportCount, in_pShadingRatePalettes);
+ }
+ 
+@@ -5536,6 +5768,7 @@ void VulkanReplayConsumer::Process_vkCmdSetCoarseSampleOrderNV(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkCoarseSampleOrderCustomNV* in_pCustomSampleOrders = pCustomSampleOrders->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetCoarseSampleOrderNV(in_commandBuffer, sampleOrderType, customSampleOrderCount, in_pCustomSampleOrders);
+ }
+ 
+@@ -5568,6 +5801,7 @@ void VulkanReplayConsumer::Process_vkDestroyAccelerationStructureNV(
+     VkAccelerationStructureNV in_accelerationStructure = MapHandle<AccelerationStructureNVInfo>(accelerationStructure, &VulkanObjectInfoTable::GetAccelerationStructureNVInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroyAccelerationStructureNV(in_device, in_accelerationStructure, in_pAllocator);
+     RemoveHandle(accelerationStructure, &VulkanObjectInfoTable::RemoveAccelerationStructureNVInfo);
+ }
+@@ -5582,6 +5816,7 @@ void VulkanReplayConsumer::Process_vkGetAccelerationStructureMemoryRequirementsN
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+     VkMemoryRequirements2KHR* out_pMemoryRequirements = pMemoryRequirements->IsNull() ? nullptr : pMemoryRequirements->AllocateOutputData(1);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetAccelerationStructureMemoryRequirementsNV(in_device, in_pInfo, out_pMemoryRequirements);
+ }
+ 
+@@ -5618,6 +5853,7 @@ void VulkanReplayConsumer::Process_vkCmdBuildAccelerationStructureNV(
+     VkAccelerationStructureNV in_src = MapHandle<AccelerationStructureNVInfo>(src, &VulkanObjectInfoTable::GetAccelerationStructureNVInfo);
+     VkBuffer in_scratch = MapHandle<BufferInfo>(scratch, &VulkanObjectInfoTable::GetBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBuildAccelerationStructureNV(in_commandBuffer, in_pInfo, in_instanceData, instanceOffset, update, in_dst, in_src, in_scratch, scratchOffset);
+ }
+ 
+@@ -5631,6 +5867,7 @@ void VulkanReplayConsumer::Process_vkCmdCopyAccelerationStructureNV(
+     VkAccelerationStructureNV in_dst = MapHandle<AccelerationStructureNVInfo>(dst, &VulkanObjectInfoTable::GetAccelerationStructureNVInfo);
+     VkAccelerationStructureNV in_src = MapHandle<AccelerationStructureNVInfo>(src, &VulkanObjectInfoTable::GetAccelerationStructureNVInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdCopyAccelerationStructureNV(in_commandBuffer, in_dst, in_src, mode);
+ }
+ 
+@@ -5657,6 +5894,7 @@ void VulkanReplayConsumer::Process_vkCmdTraceRaysNV(
+     VkBuffer in_hitShaderBindingTableBuffer = MapHandle<BufferInfo>(hitShaderBindingTableBuffer, &VulkanObjectInfoTable::GetBufferInfo);
+     VkBuffer in_callableShaderBindingTableBuffer = MapHandle<BufferInfo>(callableShaderBindingTableBuffer, &VulkanObjectInfoTable::GetBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdTraceRaysNV(in_commandBuffer, in_raygenShaderBindingTableBuffer, raygenShaderBindingOffset, in_missShaderBindingTableBuffer, missShaderBindingOffset, missShaderBindingStride, in_hitShaderBindingTableBuffer, hitShaderBindingOffset, hitShaderBindingStride, in_callableShaderBindingTableBuffer, callableShaderBindingOffset, callableShaderBindingStride, width, height, depth);
+ }
+ 
+@@ -5744,6 +5982,7 @@ void VulkanReplayConsumer::Process_vkCmdWriteAccelerationStructuresPropertiesNV(
+     const VkAccelerationStructureNV* in_pAccelerationStructures = MapHandles<AccelerationStructureNVInfo>(pAccelerationStructures, accelerationStructureCount, &VulkanObjectInfoTable::GetAccelerationStructureNVInfo);
+     VkQueryPool in_queryPool = MapHandle<QueryPoolInfo>(queryPool, &VulkanObjectInfoTable::GetQueryPoolInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdWriteAccelerationStructuresPropertiesNV(in_commandBuffer, accelerationStructureCount, in_pAccelerationStructures, queryType, in_queryPool, firstQuery);
+ }
+ 
+@@ -5785,6 +6024,7 @@ void VulkanReplayConsumer::Process_vkCmdWriteBufferMarkerAMD(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkBuffer in_dstBuffer = MapHandle<BufferInfo>(dstBuffer, &VulkanObjectInfoTable::GetBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdWriteBufferMarkerAMD(in_commandBuffer, pipelineStage, in_dstBuffer, dstOffset, marker);
+ }
+ 
+@@ -5828,6 +6068,7 @@ void VulkanReplayConsumer::Process_vkCmdDrawMeshTasksNV(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDrawMeshTasksNV(in_commandBuffer, taskCount, firstTask);
+ }
+ 
+@@ -5841,6 +6082,7 @@ void VulkanReplayConsumer::Process_vkCmdDrawMeshTasksIndirectNV(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkBuffer in_buffer = MapHandle<BufferInfo>(buffer, &VulkanObjectInfoTable::GetBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDrawMeshTasksIndirectNV(in_commandBuffer, in_buffer, offset, drawCount, stride);
+ }
+ 
+@@ -5857,6 +6099,7 @@ void VulkanReplayConsumer::Process_vkCmdDrawMeshTasksIndirectCountNV(
+     VkBuffer in_buffer = MapHandle<BufferInfo>(buffer, &VulkanObjectInfoTable::GetBufferInfo);
+     VkBuffer in_countBuffer = MapHandle<BufferInfo>(countBuffer, &VulkanObjectInfoTable::GetBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDrawMeshTasksIndirectCountNV(in_commandBuffer, in_buffer, offset, in_countBuffer, countBufferOffset, maxDrawCount, stride);
+ }
+ 
+@@ -5869,6 +6112,7 @@ void VulkanReplayConsumer::Process_vkCmdSetExclusiveScissorNV(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkRect2D* in_pExclusiveScissors = pExclusiveScissors->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetExclusiveScissorNV(in_commandBuffer, firstExclusiveScissor, exclusiveScissorCount, in_pExclusiveScissors);
+ }
+ 
+@@ -5879,6 +6123,7 @@ void VulkanReplayConsumer::Process_vkCmdSetCheckpointNV(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const void* in_pCheckpointMarker = PreProcessExternalObject(pCheckpointMarker, format::ApiCallId::ApiCall_vkCmdSetCheckpointNV, "vkCmdSetCheckpointNV");
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetCheckpointNV(in_commandBuffer, in_pCheckpointMarker);
+ }
+ 
+@@ -5891,6 +6136,7 @@ void VulkanReplayConsumer::Process_vkGetQueueCheckpointDataNV(
+     uint32_t* out_pCheckpointDataCount = pCheckpointDataCount->IsNull() ? nullptr : pCheckpointDataCount->AllocateOutputData(1, GetOutputArrayCount<uint32_t, QueueInfo>("vkGetQueueCheckpointDataNV", VK_SUCCESS, queue, kQueueArrayGetQueueCheckpointDataNV, pCheckpointDataCount, pCheckpointData, &VulkanObjectInfoTable::GetQueueInfo));
+     VkCheckpointDataNV* out_pCheckpointData = pCheckpointData->IsNull() ? nullptr : pCheckpointData->AllocateOutputData(*out_pCheckpointDataCount, VkCheckpointDataNV{ VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_queue)->GetQueueCheckpointDataNV(in_queue, out_pCheckpointDataCount, out_pCheckpointData);
+ 
+     if (pCheckpointData->IsNull()) { SetOutputArrayCount<QueueInfo>(queue, kQueueArrayGetQueueCheckpointDataNV, *out_pCheckpointDataCount, &VulkanObjectInfoTable::GetQueueInfo); }
+@@ -5913,6 +6159,7 @@ void VulkanReplayConsumer::Process_vkUninitializePerformanceApiINTEL(
+ {
+     VkDevice in_device = MapHandle<DeviceInfo>(device, &VulkanObjectInfoTable::GetDeviceInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->UninitializePerformanceApiINTEL(in_device);
+ }
+ 
+@@ -6014,6 +6261,7 @@ void VulkanReplayConsumer::Process_vkSetLocalDimmingAMD(
+     VkDevice in_device = MapHandle<DeviceInfo>(device, &VulkanObjectInfoTable::GetDeviceInfo);
+     VkSwapchainKHR in_swapChain = MapHandle<SwapchainKHRInfo>(swapChain, &VulkanObjectInfoTable::GetSwapchainKHRInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->SetLocalDimmingAMD(in_device, in_swapChain, localDimmingEnable);
+ }
+ 
+@@ -6064,6 +6312,7 @@ void VulkanReplayConsumer::Process_vkGetBufferDeviceAddressEXT(
+     const VkBufferDeviceAddressInfo* in_pInfo = pInfo->GetPointer();
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetBufferDeviceAddressEXT(in_device, in_pInfo);
+ }
+ 
+@@ -6201,6 +6450,7 @@ void VulkanReplayConsumer::Process_vkCmdSetLineStippleEXT(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetLineStippleEXT(in_commandBuffer, lineStippleFactor, lineStipplePattern);
+ }
+ 
+@@ -6213,6 +6463,7 @@ void VulkanReplayConsumer::Process_vkResetQueryPoolEXT(
+     VkDevice in_device = MapHandle<DeviceInfo>(device, &VulkanObjectInfoTable::GetDeviceInfo);
+     VkQueryPool in_queryPool = MapHandle<QueryPoolInfo>(queryPool, &VulkanObjectInfoTable::GetQueryPoolInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->ResetQueryPoolEXT(in_device, in_queryPool, firstQuery, queryCount);
+ }
+ 
+@@ -6222,6 +6473,7 @@ void VulkanReplayConsumer::Process_vkCmdSetCullModeEXT(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetCullModeEXT(in_commandBuffer, cullMode);
+ }
+ 
+@@ -6231,6 +6483,7 @@ void VulkanReplayConsumer::Process_vkCmdSetFrontFaceEXT(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetFrontFaceEXT(in_commandBuffer, frontFace);
+ }
+ 
+@@ -6240,6 +6493,7 @@ void VulkanReplayConsumer::Process_vkCmdSetPrimitiveTopologyEXT(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetPrimitiveTopologyEXT(in_commandBuffer, primitiveTopology);
+ }
+ 
+@@ -6251,6 +6505,7 @@ void VulkanReplayConsumer::Process_vkCmdSetViewportWithCountEXT(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkViewport* in_pViewports = pViewports->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetViewportWithCountEXT(in_commandBuffer, viewportCount, in_pViewports);
+ }
+ 
+@@ -6262,6 +6517,7 @@ void VulkanReplayConsumer::Process_vkCmdSetScissorWithCountEXT(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkRect2D* in_pScissors = pScissors->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetScissorWithCountEXT(in_commandBuffer, scissorCount, in_pScissors);
+ }
+ 
+@@ -6280,6 +6536,7 @@ void VulkanReplayConsumer::Process_vkCmdBindVertexBuffers2EXT(
+     const VkDeviceSize* in_pSizes = pSizes->GetPointer();
+     const VkDeviceSize* in_pStrides = pStrides->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBindVertexBuffers2EXT(in_commandBuffer, firstBinding, bindingCount, in_pBuffers, in_pOffsets, in_pSizes, in_pStrides);
+ }
+ 
+@@ -6289,6 +6546,7 @@ void VulkanReplayConsumer::Process_vkCmdSetDepthTestEnableEXT(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetDepthTestEnableEXT(in_commandBuffer, depthTestEnable);
+ }
+ 
+@@ -6298,6 +6556,7 @@ void VulkanReplayConsumer::Process_vkCmdSetDepthWriteEnableEXT(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetDepthWriteEnableEXT(in_commandBuffer, depthWriteEnable);
+ }
+ 
+@@ -6307,6 +6566,7 @@ void VulkanReplayConsumer::Process_vkCmdSetDepthCompareOpEXT(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetDepthCompareOpEXT(in_commandBuffer, depthCompareOp);
+ }
+ 
+@@ -6316,6 +6576,7 @@ void VulkanReplayConsumer::Process_vkCmdSetDepthBoundsTestEnableEXT(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetDepthBoundsTestEnableEXT(in_commandBuffer, depthBoundsTestEnable);
+ }
+ 
+@@ -6325,6 +6586,7 @@ void VulkanReplayConsumer::Process_vkCmdSetStencilTestEnableEXT(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetStencilTestEnableEXT(in_commandBuffer, stencilTestEnable);
+ }
+ 
+@@ -6338,6 +6600,7 @@ void VulkanReplayConsumer::Process_vkCmdSetStencilOpEXT(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetStencilOpEXT(in_commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp);
+ }
+ 
+@@ -6351,6 +6614,7 @@ void VulkanReplayConsumer::Process_vkGetGeneratedCommandsMemoryRequirementsNV(
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+     VkMemoryRequirements2* out_pMemoryRequirements = pMemoryRequirements->IsNull() ? nullptr : pMemoryRequirements->AllocateOutputData(1, { VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetGeneratedCommandsMemoryRequirementsNV(in_device, in_pInfo, out_pMemoryRequirements);
+ }
+ 
+@@ -6362,6 +6626,7 @@ void VulkanReplayConsumer::Process_vkCmdPreprocessGeneratedCommandsNV(
+     const VkGeneratedCommandsInfoNV* in_pGeneratedCommandsInfo = pGeneratedCommandsInfo->GetPointer();
+     MapStructHandles(pGeneratedCommandsInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdPreprocessGeneratedCommandsNV(in_commandBuffer, in_pGeneratedCommandsInfo);
+ }
+ 
+@@ -6374,6 +6639,7 @@ void VulkanReplayConsumer::Process_vkCmdExecuteGeneratedCommandsNV(
+     const VkGeneratedCommandsInfoNV* in_pGeneratedCommandsInfo = pGeneratedCommandsInfo->GetPointer();
+     MapStructHandles(pGeneratedCommandsInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdExecuteGeneratedCommandsNV(in_commandBuffer, isPreprocessed, in_pGeneratedCommandsInfo);
+ }
+ 
+@@ -6386,6 +6652,7 @@ void VulkanReplayConsumer::Process_vkCmdBindPipelineShaderGroupNV(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkPipeline in_pipeline = MapHandle<PipelineInfo>(pipeline, &VulkanObjectInfoTable::GetPipelineInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBindPipelineShaderGroupNV(in_commandBuffer, pipelineBindPoint, in_pipeline, groupIndex);
+ }
+ 
+@@ -6418,6 +6685,7 @@ void VulkanReplayConsumer::Process_vkDestroyIndirectCommandsLayoutNV(
+     VkIndirectCommandsLayoutNV in_indirectCommandsLayout = MapHandle<IndirectCommandsLayoutNVInfo>(indirectCommandsLayout, &VulkanObjectInfoTable::GetIndirectCommandsLayoutNVInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroyIndirectCommandsLayoutNV(in_device, in_indirectCommandsLayout, in_pAllocator);
+     RemoveHandle(indirectCommandsLayout, &VulkanObjectInfoTable::RemoveIndirectCommandsLayoutNVInfo);
+ }
+@@ -6480,6 +6748,7 @@ void VulkanReplayConsumer::Process_vkDestroyPrivateDataSlotEXT(
+     VkPrivateDataSlot in_privateDataSlot = MapHandle<PrivateDataSlotInfo>(privateDataSlot, &VulkanObjectInfoTable::GetPrivateDataSlotInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroyPrivateDataSlotEXT(in_device, in_privateDataSlot, in_pAllocator);
+     RemoveHandle(privateDataSlot, &VulkanObjectInfoTable::RemovePrivateDataSlotInfo);
+ }
+@@ -6512,6 +6781,7 @@ void VulkanReplayConsumer::Process_vkGetPrivateDataEXT(
+     VkPrivateDataSlot in_privateDataSlot = MapHandle<PrivateDataSlotInfo>(privateDataSlot, &VulkanObjectInfoTable::GetPrivateDataSlotInfo);
+     uint64_t* out_pData = pData->IsNull() ? nullptr : pData->AllocateOutputData(1, static_cast<uint64_t>(0));
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetPrivateDataEXT(in_device, objectType, in_objectHandle, in_privateDataSlot, out_pData);
+ }
+ 
+@@ -6523,6 +6793,7 @@ void VulkanReplayConsumer::Process_vkCmdSetFragmentShadingRateEnumNV(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkFragmentShadingRateCombinerOpKHR* in_combinerOps = combinerOps->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetFragmentShadingRateEnumNV(in_commandBuffer, shadingRate, in_combinerOps);
+ }
+ 
+@@ -6582,6 +6853,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceDirectFBPresentationSuppor
+     VkPhysicalDevice in_physicalDevice = MapHandle<PhysicalDeviceInfo>(physicalDevice, &VulkanObjectInfoTable::GetPhysicalDeviceInfo);
+     IDirectFB* in_dfb = static_cast<IDirectFB*>(PreProcessExternalObject(dfb, format::ApiCallId::ApiCall_vkGetPhysicalDeviceDirectFBPresentationSupportEXT, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT"));
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceDirectFBPresentationSupportEXT(in_physicalDevice, queueFamilyIndex, in_dfb);
+ }
+ 
+@@ -6596,6 +6868,7 @@ void VulkanReplayConsumer::Process_vkCmdSetVertexInputEXT(
+     const VkVertexInputBindingDescription2EXT* in_pVertexBindingDescriptions = pVertexBindingDescriptions->GetPointer();
+     const VkVertexInputAttributeDescription2EXT* in_pVertexAttributeDescriptions = pVertexAttributeDescriptions->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetVertexInputEXT(in_commandBuffer, vertexBindingDescriptionCount, in_pVertexBindingDescriptions, vertexAttributeDescriptionCount, in_pVertexAttributeDescriptions);
+ }
+ 
+@@ -6664,6 +6937,7 @@ void VulkanReplayConsumer::Process_vkCmdBindInvocationMaskHUAWEI(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     VkImageView in_imageView = MapHandle<ImageViewInfo>(imageView, &VulkanObjectInfoTable::GetImageViewInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBindInvocationMaskHUAWEI(in_commandBuffer, in_imageView, imageLayout);
+ }
+ 
+@@ -6690,6 +6964,7 @@ void VulkanReplayConsumer::Process_vkCmdSetPatchControlPointsEXT(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetPatchControlPointsEXT(in_commandBuffer, patchControlPoints);
+ }
+ 
+@@ -6699,6 +6974,7 @@ void VulkanReplayConsumer::Process_vkCmdSetRasterizerDiscardEnableEXT(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetRasterizerDiscardEnableEXT(in_commandBuffer, rasterizerDiscardEnable);
+ }
+ 
+@@ -6708,6 +6984,7 @@ void VulkanReplayConsumer::Process_vkCmdSetDepthBiasEnableEXT(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetDepthBiasEnableEXT(in_commandBuffer, depthBiasEnable);
+ }
+ 
+@@ -6717,6 +6994,7 @@ void VulkanReplayConsumer::Process_vkCmdSetLogicOpEXT(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetLogicOpEXT(in_commandBuffer, logicOp);
+ }
+ 
+@@ -6726,6 +7004,7 @@ void VulkanReplayConsumer::Process_vkCmdSetPrimitiveRestartEnableEXT(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetPrimitiveRestartEnableEXT(in_commandBuffer, primitiveRestartEnable);
+ }
+ 
+@@ -6757,6 +7036,7 @@ void VulkanReplayConsumer::Process_vkGetPhysicalDeviceScreenPresentationSupportQ
+     VkPhysicalDevice in_physicalDevice = MapHandle<PhysicalDeviceInfo>(physicalDevice, &VulkanObjectInfoTable::GetPhysicalDeviceInfo);
+     struct _screen_window* in_window = static_cast<struct _screen_window*>(PreProcessExternalObject(window, format::ApiCallId::ApiCall_vkGetPhysicalDeviceScreenPresentationSupportQNX, "vkGetPhysicalDeviceScreenPresentationSupportQNX"));
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetInstanceTable(in_physicalDevice)->GetPhysicalDeviceScreenPresentationSupportQNX(in_physicalDevice, queueFamilyIndex, in_window);
+ }
+ 
+@@ -6768,6 +7048,7 @@ void VulkanReplayConsumer::Process_vkCmdSetColorWriteEnableEXT(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkBool32* in_pColorWriteEnables = pColorWriteEnables->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetColorWriteEnableEXT(in_commandBuffer, attachmentCount, in_pColorWriteEnables);
+ }
+ 
+@@ -6782,6 +7063,7 @@ void VulkanReplayConsumer::Process_vkCmdDrawMultiEXT(
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+     const VkMultiDrawInfoEXT* in_pVertexInfo = pVertexInfo->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDrawMultiEXT(in_commandBuffer, drawCount, in_pVertexInfo, instanceCount, firstInstance, stride);
+ }
+ 
+@@ -6798,6 +7080,7 @@ void VulkanReplayConsumer::Process_vkCmdDrawMultiIndexedEXT(
+     const VkMultiDrawIndexedInfoEXT* in_pIndexInfo = pIndexInfo->GetPointer();
+     const int32_t* in_pVertexOffset = pVertexOffset->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdDrawMultiIndexedEXT(in_commandBuffer, drawCount, in_pIndexInfo, instanceCount, firstInstance, stride, in_pVertexOffset);
+ }
+ 
+@@ -6809,9 +7092,39 @@ void VulkanReplayConsumer::Process_vkSetDeviceMemoryPriorityEXT(
+     VkDevice in_device = MapHandle<DeviceInfo>(device, &VulkanObjectInfoTable::GetDeviceInfo);
+     VkDeviceMemory in_memory = MapHandle<DeviceMemoryInfo>(memory, &VulkanObjectInfoTable::GetDeviceMemoryInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->SetDeviceMemoryPriorityEXT(in_device, in_memory, priority);
+ }
+ 
++void VulkanReplayConsumer::Process_vkGetDescriptorSetLayoutHostMappingInfoVALVE(
++    format::HandleId                            device,
++    StructPointerDecoder<Decoded_VkDescriptorSetBindingReferenceVALVE>* pBindingReference,
++    StructPointerDecoder<Decoded_VkDescriptorSetLayoutHostMappingInfoVALVE>* pHostMapping)
++{
++    VkDevice in_device = MapHandle<DeviceInfo>(device, &VulkanObjectInfoTable::GetDeviceInfo);
++    const VkDescriptorSetBindingReferenceVALVE* in_pBindingReference = pBindingReference->GetPointer();
++    MapStructHandles(pBindingReference->GetMetaStructPointer(), GetObjectInfoTable());
++    VkDescriptorSetLayoutHostMappingInfoVALVE* out_pHostMapping = pHostMapping->IsNull() ? nullptr : pHostMapping->AllocateOutputData(1, { VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE, nullptr });
++
++    VkResult replay_result = VK_SUCCESS;
++    GetDeviceTable(in_device)->GetDescriptorSetLayoutHostMappingInfoVALVE(in_device, in_pBindingReference, out_pHostMapping);
++}
++
++void VulkanReplayConsumer::Process_vkGetDescriptorSetHostMappingVALVE(
++    format::HandleId                            device,
++    format::HandleId                            descriptorSet,
++    PointerDecoder<uint64_t, void*>*            ppData)
++{
++    VkDevice in_device = MapHandle<DeviceInfo>(device, &VulkanObjectInfoTable::GetDeviceInfo);
++    VkDescriptorSet in_descriptorSet = MapHandle<DescriptorSetInfo>(descriptorSet, &VulkanObjectInfoTable::GetDescriptorSetInfo);
++    void** out_ppData = ppData->IsNull() ? nullptr : ppData->AllocateOutputData(1);
++
++    VkResult replay_result = VK_SUCCESS;
++    GetDeviceTable(in_device)->GetDescriptorSetHostMappingVALVE(in_device, in_descriptorSet, out_ppData);
++
++    PostProcessExternalObject(replay_result, (*ppData->GetPointer()), *ppData->GetOutputPointer(), format::ApiCallId::ApiCall_vkGetDescriptorSetHostMappingVALVE, "vkGetDescriptorSetHostMappingVALVE");
++}
++
+ void VulkanReplayConsumer::Process_vkCreateAccelerationStructureKHR(
+     VkResult                                    returnValue,
+     format::HandleId                            device,
+@@ -6841,6 +7154,7 @@ void VulkanReplayConsumer::Process_vkDestroyAccelerationStructureKHR(
+     VkAccelerationStructureKHR in_accelerationStructure = MapHandle<AccelerationStructureKHRInfo>(accelerationStructure, &VulkanObjectInfoTable::GetAccelerationStructureKHRInfo);
+     const VkAllocationCallbacks* in_pAllocator = GetAllocationCallbacks(pAllocator);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->DestroyAccelerationStructureKHR(in_device, in_accelerationStructure, in_pAllocator);
+     RemoveHandle(accelerationStructure, &VulkanObjectInfoTable::RemoveAccelerationStructureKHRInfo);
+ }
+@@ -6856,6 +7170,7 @@ void VulkanReplayConsumer::Process_vkCmdBuildAccelerationStructuresKHR(
+     MapStructArrayHandles(pInfos->GetMetaStructPointer(), pInfos->GetLength(), GetObjectInfoTable());
+     const VkAccelerationStructureBuildRangeInfoKHR* const* in_ppBuildRangeInfos = ppBuildRangeInfos->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBuildAccelerationStructuresKHR(in_commandBuffer, infoCount, in_pInfos, in_ppBuildRangeInfos);
+ }
+ 
+@@ -6874,6 +7189,7 @@ void VulkanReplayConsumer::Process_vkCmdBuildAccelerationStructuresIndirectKHR(
+     const uint32_t* in_pIndirectStrides = pIndirectStrides->GetPointer();
+     const uint32_t* const* in_ppMaxPrimitiveCounts = ppMaxPrimitiveCounts->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdBuildAccelerationStructuresIndirectKHR(in_commandBuffer, infoCount, in_pInfos, in_pIndirectDeviceAddresses, in_pIndirectStrides, in_ppMaxPrimitiveCounts);
+ }
+ 
+@@ -6933,6 +7249,7 @@ void VulkanReplayConsumer::Process_vkCmdCopyAccelerationStructureKHR(
+     const VkCopyAccelerationStructureInfoKHR* in_pInfo = pInfo->GetPointer();
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdCopyAccelerationStructureKHR(in_commandBuffer, in_pInfo);
+ }
+ 
+@@ -6944,6 +7261,7 @@ void VulkanReplayConsumer::Process_vkCmdCopyAccelerationStructureToMemoryKHR(
+     const VkCopyAccelerationStructureToMemoryInfoKHR* in_pInfo = pInfo->GetPointer();
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdCopyAccelerationStructureToMemoryKHR(in_commandBuffer, in_pInfo);
+ }
+ 
+@@ -6955,6 +7273,7 @@ void VulkanReplayConsumer::Process_vkCmdCopyMemoryToAccelerationStructureKHR(
+     const VkCopyMemoryToAccelerationStructureInfoKHR* in_pInfo = pInfo->GetPointer();
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdCopyMemoryToAccelerationStructureKHR(in_commandBuffer, in_pInfo);
+ }
+ 
+@@ -6967,6 +7286,7 @@ void VulkanReplayConsumer::Process_vkGetAccelerationStructureDeviceAddressKHR(
+ 
+     MapStructHandles(pInfo->GetMetaStructPointer(), GetObjectInfoTable());
+ 
++    VkResult replay_result = VK_SUCCESS;
+     OverrideGetAccelerationStructureDeviceAddressKHR(GetDeviceTable(in_device->handle)->GetAccelerationStructureDeviceAddressKHR, in_device, pInfo);
+ }
+ 
+@@ -6982,6 +7302,7 @@ void VulkanReplayConsumer::Process_vkCmdWriteAccelerationStructuresPropertiesKHR
+     const VkAccelerationStructureKHR* in_pAccelerationStructures = MapHandles<AccelerationStructureKHRInfo>(pAccelerationStructures, accelerationStructureCount, &VulkanObjectInfoTable::GetAccelerationStructureKHRInfo);
+     VkQueryPool in_queryPool = MapHandle<QueryPoolInfo>(queryPool, &VulkanObjectInfoTable::GetQueryPoolInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdWriteAccelerationStructuresPropertiesKHR(in_commandBuffer, accelerationStructureCount, in_pAccelerationStructures, queryType, in_queryPool, firstQuery);
+ }
+ 
+@@ -6994,6 +7315,7 @@ void VulkanReplayConsumer::Process_vkGetDeviceAccelerationStructureCompatibility
+     const VkAccelerationStructureVersionInfoKHR* in_pVersionInfo = pVersionInfo->GetPointer();
+     VkAccelerationStructureCompatibilityKHR* out_pCompatibility = pCompatibility->IsNull() ? nullptr : pCompatibility->AllocateOutputData(1, static_cast<VkAccelerationStructureCompatibilityKHR>(0));
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetDeviceAccelerationStructureCompatibilityKHR(in_device, in_pVersionInfo, out_pCompatibility);
+ }
+ 
+@@ -7010,6 +7332,7 @@ void VulkanReplayConsumer::Process_vkGetAccelerationStructureBuildSizesKHR(
+     const uint32_t* in_pMaxPrimitiveCounts = pMaxPrimitiveCounts->GetPointer();
+     VkAccelerationStructureBuildSizesInfoKHR* out_pSizeInfo = pSizeInfo->IsNull() ? nullptr : pSizeInfo->AllocateOutputData(1, { VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR, nullptr });
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetAccelerationStructureBuildSizesKHR(in_device, buildType, in_pBuildInfo, in_pMaxPrimitiveCounts, out_pSizeInfo);
+ }
+ 
+@@ -7029,6 +7352,7 @@ void VulkanReplayConsumer::Process_vkCmdTraceRaysKHR(
+     const VkStridedDeviceAddressRegionKHR* in_pHitShaderBindingTable = pHitShaderBindingTable->GetPointer();
+     const VkStridedDeviceAddressRegionKHR* in_pCallableShaderBindingTable = pCallableShaderBindingTable->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdTraceRaysKHR(in_commandBuffer, in_pRaygenShaderBindingTable, in_pMissShaderBindingTable, in_pHitShaderBindingTable, in_pCallableShaderBindingTable, width, height, depth);
+ }
+ 
+@@ -7088,6 +7412,7 @@ void VulkanReplayConsumer::Process_vkCmdTraceRaysIndirectKHR(
+     const VkStridedDeviceAddressRegionKHR* in_pHitShaderBindingTable = pHitShaderBindingTable->GetPointer();
+     const VkStridedDeviceAddressRegionKHR* in_pCallableShaderBindingTable = pCallableShaderBindingTable->GetPointer();
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdTraceRaysIndirectKHR(in_commandBuffer, in_pRaygenShaderBindingTable, in_pMissShaderBindingTable, in_pHitShaderBindingTable, in_pCallableShaderBindingTable, indirectDeviceAddress);
+ }
+ 
+@@ -7101,6 +7426,7 @@ void VulkanReplayConsumer::Process_vkGetRayTracingShaderGroupStackSizeKHR(
+     VkDevice in_device = MapHandle<DeviceInfo>(device, &VulkanObjectInfoTable::GetDeviceInfo);
+     VkPipeline in_pipeline = MapHandle<PipelineInfo>(pipeline, &VulkanObjectInfoTable::GetPipelineInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_device)->GetRayTracingShaderGroupStackSizeKHR(in_device, in_pipeline, group, groupShader);
+ }
+ 
+@@ -7110,6 +7436,7 @@ void VulkanReplayConsumer::Process_vkCmdSetRayTracingPipelineStackSizeKHR(
+ {
+     VkCommandBuffer in_commandBuffer = MapHandle<CommandBufferInfo>(commandBuffer, &VulkanObjectInfoTable::GetCommandBufferInfo);
+ 
++    VkResult replay_result = VK_SUCCESS;
+     GetDeviceTable(in_commandBuffer)->CmdSetRayTracingPipelineStackSizeKHR(in_commandBuffer, pipelineStackSize);
+ }
+ 
+diff --git a/framework/generated/generated_vulkan_replay_consumer.h b/framework/generated/generated_vulkan_replay_consumer.h
+index 2fc9449..00682f8 100644
+--- a/framework/generated/generated_vulkan_replay_consumer.h
++++ b/framework/generated/generated_vulkan_replay_consumer.h
+@@ -2918,6 +2918,16 @@ class VulkanReplayConsumer : public VulkanReplayConsumerBase
+         format::HandleId                            memory,
+         float                                       priority) override;
+ 
++    virtual void Process_vkGetDescriptorSetLayoutHostMappingInfoVALVE(
++        format::HandleId                            device,
++        StructPointerDecoder<Decoded_VkDescriptorSetBindingReferenceVALVE>* pBindingReference,
++        StructPointerDecoder<Decoded_VkDescriptorSetLayoutHostMappingInfoVALVE>* pHostMapping) override;
++
++    virtual void Process_vkGetDescriptorSetHostMappingVALVE(
++        format::HandleId                            device,
++        format::HandleId                            descriptorSet,
++        PointerDecoder<uint64_t, void*>*            ppData) override;
++
+     virtual void Process_vkCreateAccelerationStructureKHR(
+         VkResult                                    returnValue,
+         format::HandleId                            device,
+diff --git a/framework/generated/generated_vulkan_struct_decoders.cpp b/framework/generated/generated_vulkan_struct_decoders.cpp
+index 624fbdd..33f5691 100644
+--- a/framework/generated/generated_vulkan_struct_decoders.cpp
++++ b/framework/generated/generated_vulkan_struct_decoders.cpp
+@@ -10970,6 +10970,52 @@ size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkDeviceD
+     return bytes_read;
+ }
+ 
++size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* wrapper)
++{
++    assert((wrapper != nullptr) && (wrapper->decoded_value != nullptr));
++
++    size_t bytes_read = 0;
++    VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* value = wrapper->decoded_value;
++
++    bytes_read += ValueDecoder::DecodeEnumValue((buffer + bytes_read), (buffer_size - bytes_read), &(value->sType));
++    bytes_read += DecodePNextStruct((buffer + bytes_read), (buffer_size - bytes_read), &(wrapper->pNext));
++    value->pNext = wrapper->pNext ? wrapper->pNext->GetPointer() : nullptr;
++    bytes_read += ValueDecoder::DecodeVkBool32Value((buffer + bytes_read), (buffer_size - bytes_read), &(value->graphicsPipelineLibrary));
++
++    return bytes_read;
++}
++
++size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT* wrapper)
++{
++    assert((wrapper != nullptr) && (wrapper->decoded_value != nullptr));
++
++    size_t bytes_read = 0;
++    VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT* value = wrapper->decoded_value;
++
++    bytes_read += ValueDecoder::DecodeEnumValue((buffer + bytes_read), (buffer_size - bytes_read), &(value->sType));
++    bytes_read += DecodePNextStruct((buffer + bytes_read), (buffer_size - bytes_read), &(wrapper->pNext));
++    value->pNext = wrapper->pNext ? wrapper->pNext->GetPointer() : nullptr;
++    bytes_read += ValueDecoder::DecodeVkBool32Value((buffer + bytes_read), (buffer_size - bytes_read), &(value->graphicsPipelineLibraryFastLinking));
++    bytes_read += ValueDecoder::DecodeVkBool32Value((buffer + bytes_read), (buffer_size - bytes_read), &(value->graphicsPipelineLibraryIndependentInterpolationDecoration));
++
++    return bytes_read;
++}
++
++size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkGraphicsPipelineLibraryCreateInfoEXT* wrapper)
++{
++    assert((wrapper != nullptr) && (wrapper->decoded_value != nullptr));
++
++    size_t bytes_read = 0;
++    VkGraphicsPipelineLibraryCreateInfoEXT* value = wrapper->decoded_value;
++
++    bytes_read += ValueDecoder::DecodeEnumValue((buffer + bytes_read), (buffer_size - bytes_read), &(value->sType));
++    bytes_read += DecodePNextStruct((buffer + bytes_read), (buffer_size - bytes_read), &(wrapper->pNext));
++    value->pNext = wrapper->pNext ? wrapper->pNext->GetPointer() : nullptr;
++    bytes_read += ValueDecoder::DecodeFlagsValue((buffer + bytes_read), (buffer_size - bytes_read), &(value->flags));
++
++    return bytes_read;
++}
++
+ size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV* wrapper)
+ {
+     assert((wrapper != nullptr) && (wrapper->decoded_value != nullptr));
+@@ -11649,6 +11695,23 @@ size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkPipelin
+     return bytes_read;
+ }
+ 
++size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT* wrapper)
++{
++    assert((wrapper != nullptr) && (wrapper->decoded_value != nullptr));
++
++    size_t bytes_read = 0;
++    VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT* value = wrapper->decoded_value;
++
++    bytes_read += ValueDecoder::DecodeEnumValue((buffer + bytes_read), (buffer_size - bytes_read), &(value->sType));
++    bytes_read += DecodePNextStruct((buffer + bytes_read), (buffer_size - bytes_read), &(wrapper->pNext));
++    value->pNext = wrapper->pNext ? wrapper->pNext->GetPointer() : nullptr;
++    bytes_read += ValueDecoder::DecodeVkBool32Value((buffer + bytes_read), (buffer_size - bytes_read), &(value->primitivesGeneratedQuery));
++    bytes_read += ValueDecoder::DecodeVkBool32Value((buffer + bytes_read), (buffer_size - bytes_read), &(value->primitivesGeneratedQueryWithRasterizerDiscard));
++    bytes_read += ValueDecoder::DecodeVkBool32Value((buffer + bytes_read), (buffer_size - bytes_read), &(value->primitivesGeneratedQueryWithNonZeroStreams));
++
++    return bytes_read;
++}
++
+ size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkPhysicalDeviceImageViewMinLodFeaturesEXT* wrapper)
+ {
+     assert((wrapper != nullptr) && (wrapper->decoded_value != nullptr));
+@@ -11736,6 +11799,22 @@ size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkMultiDr
+     return bytes_read;
+ }
+ 
++size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkPhysicalDeviceImage2DViewOf3DFeaturesEXT* wrapper)
++{
++    assert((wrapper != nullptr) && (wrapper->decoded_value != nullptr));
++
++    size_t bytes_read = 0;
++    VkPhysicalDeviceImage2DViewOf3DFeaturesEXT* value = wrapper->decoded_value;
++
++    bytes_read += ValueDecoder::DecodeEnumValue((buffer + bytes_read), (buffer_size - bytes_read), &(value->sType));
++    bytes_read += DecodePNextStruct((buffer + bytes_read), (buffer_size - bytes_read), &(wrapper->pNext));
++    value->pNext = wrapper->pNext ? wrapper->pNext->GetPointer() : nullptr;
++    bytes_read += ValueDecoder::DecodeVkBool32Value((buffer + bytes_read), (buffer_size - bytes_read), &(value->image2DViewOf3D));
++    bytes_read += ValueDecoder::DecodeVkBool32Value((buffer + bytes_read), (buffer_size - bytes_read), &(value->sampler2DViewOf3D));
++
++    return bytes_read;
++}
++
+ size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkPhysicalDeviceBorderColorSwizzleFeaturesEXT* wrapper)
+ {
+     assert((wrapper != nullptr) && (wrapper->decoded_value != nullptr));
+@@ -11785,6 +11864,54 @@ size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkPhysica
+     return bytes_read;
+ }
+ 
++size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE* wrapper)
++{
++    assert((wrapper != nullptr) && (wrapper->decoded_value != nullptr));
++
++    size_t bytes_read = 0;
++    VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE* value = wrapper->decoded_value;
++
++    bytes_read += ValueDecoder::DecodeEnumValue((buffer + bytes_read), (buffer_size - bytes_read), &(value->sType));
++    bytes_read += DecodePNextStruct((buffer + bytes_read), (buffer_size - bytes_read), &(wrapper->pNext));
++    value->pNext = wrapper->pNext ? wrapper->pNext->GetPointer() : nullptr;
++    bytes_read += ValueDecoder::DecodeVkBool32Value((buffer + bytes_read), (buffer_size - bytes_read), &(value->descriptorSetHostMapping));
++
++    return bytes_read;
++}
++
++size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkDescriptorSetBindingReferenceVALVE* wrapper)
++{
++    assert((wrapper != nullptr) && (wrapper->decoded_value != nullptr));
++
++    size_t bytes_read = 0;
++    VkDescriptorSetBindingReferenceVALVE* value = wrapper->decoded_value;
++
++    bytes_read += ValueDecoder::DecodeEnumValue((buffer + bytes_read), (buffer_size - bytes_read), &(value->sType));
++    bytes_read += DecodePNextStruct((buffer + bytes_read), (buffer_size - bytes_read), &(wrapper->pNext));
++    value->pNext = wrapper->pNext ? wrapper->pNext->GetPointer() : nullptr;
++    bytes_read += ValueDecoder::DecodeHandleIdValue((buffer + bytes_read), (buffer_size - bytes_read), &(wrapper->descriptorSetLayout));
++    value->descriptorSetLayout = VK_NULL_HANDLE;
++    bytes_read += ValueDecoder::DecodeUInt32Value((buffer + bytes_read), (buffer_size - bytes_read), &(value->binding));
++
++    return bytes_read;
++}
++
++size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkDescriptorSetLayoutHostMappingInfoVALVE* wrapper)
++{
++    assert((wrapper != nullptr) && (wrapper->decoded_value != nullptr));
++
++    size_t bytes_read = 0;
++    VkDescriptorSetLayoutHostMappingInfoVALVE* value = wrapper->decoded_value;
++
++    bytes_read += ValueDecoder::DecodeEnumValue((buffer + bytes_read), (buffer_size - bytes_read), &(value->sType));
++    bytes_read += DecodePNextStruct((buffer + bytes_read), (buffer_size - bytes_read), &(wrapper->pNext));
++    value->pNext = wrapper->pNext ? wrapper->pNext->GetPointer() : nullptr;
++    bytes_read += ValueDecoder::DecodeSizeTValue((buffer + bytes_read), (buffer_size - bytes_read), &(value->descriptorOffset));
++    bytes_read += ValueDecoder::DecodeUInt32Value((buffer + bytes_read), (buffer_size - bytes_read), &(value->descriptorSize));
++
++    return bytes_read;
++}
++
+ size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM* wrapper)
+ {
+     assert((wrapper != nullptr) && (wrapper->decoded_value != nullptr));
+diff --git a/framework/generated/generated_vulkan_struct_decoders.h b/framework/generated/generated_vulkan_struct_decoders.h
+index 604ce46..1efc282 100644
+--- a/framework/generated/generated_vulkan_struct_decoders.h
++++ b/framework/generated/generated_vulkan_struct_decoders.h
+@@ -6024,6 +6024,33 @@ struct Decoded_VkDeviceDiagnosticsConfigCreateInfoNV
+     PNextNode* pNext{ nullptr };
+ };
+ 
++struct Decoded_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT
++{
++    using struct_type = VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT;
++
++    VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* decoded_value{ nullptr };
++
++    PNextNode* pNext{ nullptr };
++};
++
++struct Decoded_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT
++{
++    using struct_type = VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT;
++
++    VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT* decoded_value{ nullptr };
++
++    PNextNode* pNext{ nullptr };
++};
++
++struct Decoded_VkGraphicsPipelineLibraryCreateInfoEXT
++{
++    using struct_type = VkGraphicsPipelineLibraryCreateInfoEXT;
++
++    VkGraphicsPipelineLibraryCreateInfoEXT* decoded_value{ nullptr };
++
++    PNextNode* pNext{ nullptr };
++};
++
+ struct Decoded_VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
+ {
+     using struct_type = VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
+@@ -6389,6 +6416,15 @@ struct Decoded_VkPipelineColorWriteCreateInfoEXT
+     PointerDecoder<VkBool32> pColorWriteEnables;
+ };
+ 
++struct Decoded_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT
++{
++    using struct_type = VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT;
++
++    VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT* decoded_value{ nullptr };
++
++    PNextNode* pNext{ nullptr };
++};
++
+ typedef Decoded_VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR Decoded_VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT;
+ 
+ typedef Decoded_VkQueueFamilyGlobalPriorityPropertiesKHR Decoded_VkQueueFamilyGlobalPriorityPropertiesEXT;
+@@ -6443,6 +6479,15 @@ struct Decoded_VkMultiDrawIndexedInfoEXT
+     VkMultiDrawIndexedInfoEXT* decoded_value{ nullptr };
+ };
+ 
++struct Decoded_VkPhysicalDeviceImage2DViewOf3DFeaturesEXT
++{
++    using struct_type = VkPhysicalDeviceImage2DViewOf3DFeaturesEXT;
++
++    VkPhysicalDeviceImage2DViewOf3DFeaturesEXT* decoded_value{ nullptr };
++
++    PNextNode* pNext{ nullptr };
++};
++
+ struct Decoded_VkPhysicalDeviceBorderColorSwizzleFeaturesEXT
+ {
+     using struct_type = VkPhysicalDeviceBorderColorSwizzleFeaturesEXT;
+@@ -6471,6 +6516,34 @@ struct Decoded_VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
+     PNextNode* pNext{ nullptr };
+ };
+ 
++struct Decoded_VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE
++{
++    using struct_type = VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE;
++
++    VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE* decoded_value{ nullptr };
++
++    PNextNode* pNext{ nullptr };
++};
++
++struct Decoded_VkDescriptorSetBindingReferenceVALVE
++{
++    using struct_type = VkDescriptorSetBindingReferenceVALVE;
++
++    VkDescriptorSetBindingReferenceVALVE* decoded_value{ nullptr };
++
++    PNextNode* pNext{ nullptr };
++    format::HandleId descriptorSetLayout{ format::kNullHandleId };
++};
++
++struct Decoded_VkDescriptorSetLayoutHostMappingInfoVALVE
++{
++    using struct_type = VkDescriptorSetLayoutHostMappingInfoVALVE;
++
++    VkDescriptorSetLayoutHostMappingInfoVALVE* decoded_value{ nullptr };
++
++    PNextNode* pNext{ nullptr };
++};
++
+ struct Decoded_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM
+ {
+     using struct_type = VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM;
+diff --git a/framework/generated/generated_vulkan_struct_decoders_forward.h b/framework/generated/generated_vulkan_struct_decoders_forward.h
+index 23523b0..a92deae 100644
+--- a/framework/generated/generated_vulkan_struct_decoders_forward.h
++++ b/framework/generated/generated_vulkan_struct_decoders_forward.h
+@@ -1464,6 +1464,14 @@ struct Decoded_VkDeviceDiagnosticsConfigCreateInfoNV;
+ size_t DecodeStruct(const uint8_t* parameter_buffer, size_t buffer_size, Decoded_VkPhysicalDeviceDiagnosticsConfigFeaturesNV* wrapper);
+ size_t DecodeStruct(const uint8_t* parameter_buffer, size_t buffer_size, Decoded_VkDeviceDiagnosticsConfigCreateInfoNV* wrapper);
+ 
++struct Decoded_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT;
++struct Decoded_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT;
++struct Decoded_VkGraphicsPipelineLibraryCreateInfoEXT;
++
++size_t DecodeStruct(const uint8_t* parameter_buffer, size_t buffer_size, Decoded_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* wrapper);
++size_t DecodeStruct(const uint8_t* parameter_buffer, size_t buffer_size, Decoded_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT* wrapper);
++size_t DecodeStruct(const uint8_t* parameter_buffer, size_t buffer_size, Decoded_VkGraphicsPipelineLibraryCreateInfoEXT* wrapper);
++
+ struct Decoded_VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
+ struct Decoded_VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
+ struct Decoded_VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
+@@ -1584,6 +1592,10 @@ struct Decoded_VkPipelineColorWriteCreateInfoEXT;
+ size_t DecodeStruct(const uint8_t* parameter_buffer, size_t buffer_size, Decoded_VkPhysicalDeviceColorWriteEnableFeaturesEXT* wrapper);
+ size_t DecodeStruct(const uint8_t* parameter_buffer, size_t buffer_size, Decoded_VkPipelineColorWriteCreateInfoEXT* wrapper);
+ 
++struct Decoded_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT;
++
++size_t DecodeStruct(const uint8_t* parameter_buffer, size_t buffer_size, Decoded_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT* wrapper);
++
+ struct Decoded_VkPhysicalDeviceImageViewMinLodFeaturesEXT;
+ struct Decoded_VkImageViewMinLodCreateInfoEXT;
+ 
+@@ -1600,6 +1612,10 @@ size_t DecodeStruct(const uint8_t* parameter_buffer, size_t buffer_size, Decoded
+ size_t DecodeStruct(const uint8_t* parameter_buffer, size_t buffer_size, Decoded_VkMultiDrawInfoEXT* wrapper);
+ size_t DecodeStruct(const uint8_t* parameter_buffer, size_t buffer_size, Decoded_VkMultiDrawIndexedInfoEXT* wrapper);
+ 
++struct Decoded_VkPhysicalDeviceImage2DViewOf3DFeaturesEXT;
++
++size_t DecodeStruct(const uint8_t* parameter_buffer, size_t buffer_size, Decoded_VkPhysicalDeviceImage2DViewOf3DFeaturesEXT* wrapper);
++
+ struct Decoded_VkPhysicalDeviceBorderColorSwizzleFeaturesEXT;
+ struct Decoded_VkSamplerBorderColorComponentMappingCreateInfoEXT;
+ 
+@@ -1610,6 +1626,14 @@ struct Decoded_VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT;
+ 
+ size_t DecodeStruct(const uint8_t* parameter_buffer, size_t buffer_size, Decoded_VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT* wrapper);
+ 
++struct Decoded_VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE;
++struct Decoded_VkDescriptorSetBindingReferenceVALVE;
++struct Decoded_VkDescriptorSetLayoutHostMappingInfoVALVE;
++
++size_t DecodeStruct(const uint8_t* parameter_buffer, size_t buffer_size, Decoded_VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE* wrapper);
++size_t DecodeStruct(const uint8_t* parameter_buffer, size_t buffer_size, Decoded_VkDescriptorSetBindingReferenceVALVE* wrapper);
++size_t DecodeStruct(const uint8_t* parameter_buffer, size_t buffer_size, Decoded_VkDescriptorSetLayoutHostMappingInfoVALVE* wrapper);
++
+ struct Decoded_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM;
+ struct Decoded_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM;
+ struct Decoded_VkSubpassFragmentDensityMapOffsetEndInfoQCOM;
+diff --git a/framework/generated/generated_vulkan_struct_encoders.cpp b/framework/generated/generated_vulkan_struct_encoders.cpp
+index d5af16e..bd52692 100644
+--- a/framework/generated/generated_vulkan_struct_encoders.cpp
++++ b/framework/generated/generated_vulkan_struct_encoders.cpp
+@@ -5613,6 +5613,28 @@ void EncodeStruct(ParameterEncoder* encoder, const VkDeviceDiagnosticsConfigCrea
+     encoder->EncodeFlagsValue(value.flags);
+ }
+ 
++void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT& value)
++{
++    encoder->EncodeEnumValue(value.sType);
++    EncodePNextStruct(encoder, value.pNext);
++    encoder->EncodeVkBool32Value(value.graphicsPipelineLibrary);
++}
++
++void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT& value)
++{
++    encoder->EncodeEnumValue(value.sType);
++    EncodePNextStruct(encoder, value.pNext);
++    encoder->EncodeVkBool32Value(value.graphicsPipelineLibraryFastLinking);
++    encoder->EncodeVkBool32Value(value.graphicsPipelineLibraryIndependentInterpolationDecoration);
++}
++
++void EncodeStruct(ParameterEncoder* encoder, const VkGraphicsPipelineLibraryCreateInfoEXT& value)
++{
++    encoder->EncodeEnumValue(value.sType);
++    EncodePNextStruct(encoder, value.pNext);
++    encoder->EncodeFlagsValue(value.flags);
++}
++
+ void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& value)
+ {
+     encoder->EncodeEnumValue(value.sType);
+@@ -5945,6 +5967,15 @@ void EncodeStruct(ParameterEncoder* encoder, const VkPipelineColorWriteCreateInf
+     encoder->EncodeVkBool32Array(value.pColorWriteEnables, value.attachmentCount);
+ }
+ 
++void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT& value)
++{
++    encoder->EncodeEnumValue(value.sType);
++    EncodePNextStruct(encoder, value.pNext);
++    encoder->EncodeVkBool32Value(value.primitivesGeneratedQuery);
++    encoder->EncodeVkBool32Value(value.primitivesGeneratedQueryWithRasterizerDiscard);
++    encoder->EncodeVkBool32Value(value.primitivesGeneratedQueryWithNonZeroStreams);
++}
++
+ void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceImageViewMinLodFeaturesEXT& value)
+ {
+     encoder->EncodeEnumValue(value.sType);
+@@ -5986,6 +6017,14 @@ void EncodeStruct(ParameterEncoder* encoder, const VkMultiDrawIndexedInfoEXT& va
+     encoder->EncodeInt32Value(value.vertexOffset);
+ }
+ 
++void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT& value)
++{
++    encoder->EncodeEnumValue(value.sType);
++    EncodePNextStruct(encoder, value.pNext);
++    encoder->EncodeVkBool32Value(value.image2DViewOf3D);
++    encoder->EncodeVkBool32Value(value.sampler2DViewOf3D);
++}
++
+ void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT& value)
+ {
+     encoder->EncodeEnumValue(value.sType);
+@@ -6009,6 +6048,29 @@ void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDevicePageableDevic
+     encoder->EncodeVkBool32Value(value.pageableDeviceLocalMemory);
+ }
+ 
++void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE& value)
++{
++    encoder->EncodeEnumValue(value.sType);
++    EncodePNextStruct(encoder, value.pNext);
++    encoder->EncodeVkBool32Value(value.descriptorSetHostMapping);
++}
++
++void EncodeStruct(ParameterEncoder* encoder, const VkDescriptorSetBindingReferenceVALVE& value)
++{
++    encoder->EncodeEnumValue(value.sType);
++    EncodePNextStruct(encoder, value.pNext);
++    encoder->EncodeHandleValue(value.descriptorSetLayout);
++    encoder->EncodeUInt32Value(value.binding);
++}
++
++void EncodeStruct(ParameterEncoder* encoder, const VkDescriptorSetLayoutHostMappingInfoVALVE& value)
++{
++    encoder->EncodeEnumValue(value.sType);
++    EncodePNextStruct(encoder, value.pNext);
++    encoder->EncodeSizeTValue(value.descriptorOffset);
++    encoder->EncodeUInt32Value(value.descriptorSize);
++}
++
+ void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& value)
+ {
+     encoder->EncodeEnumValue(value.sType);
+diff --git a/framework/generated/generated_vulkan_struct_encoders.h b/framework/generated/generated_vulkan_struct_encoders.h
+index 13c5884..d43a6cd 100644
+--- a/framework/generated/generated_vulkan_struct_encoders.h
++++ b/framework/generated/generated_vulkan_struct_encoders.h
+@@ -755,6 +755,10 @@ void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceCustomBorderC
+ void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceDiagnosticsConfigFeaturesNV& value);
+ void EncodeStruct(ParameterEncoder* encoder, const VkDeviceDiagnosticsConfigCreateInfoNV& value);
+ 
++void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT& value);
++void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT& value);
++void EncodeStruct(ParameterEncoder* encoder, const VkGraphicsPipelineLibraryCreateInfoEXT& value);
++
+ void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& value);
+ void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV& value);
+ void EncodeStruct(ParameterEncoder* encoder, const VkPipelineFragmentShadingRateEnumStateCreateInfoNV& value);
+@@ -815,6 +819,8 @@ void EncodeStruct(ParameterEncoder* encoder, const VkScreenSurfaceCreateInfoQNX&
+ void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceColorWriteEnableFeaturesEXT& value);
+ void EncodeStruct(ParameterEncoder* encoder, const VkPipelineColorWriteCreateInfoEXT& value);
+ 
++void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT& value);
++
+ void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceImageViewMinLodFeaturesEXT& value);
+ void EncodeStruct(ParameterEncoder* encoder, const VkImageViewMinLodCreateInfoEXT& value);
+ 
+@@ -823,11 +829,17 @@ void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceMultiDrawProp
+ void EncodeStruct(ParameterEncoder* encoder, const VkMultiDrawInfoEXT& value);
+ void EncodeStruct(ParameterEncoder* encoder, const VkMultiDrawIndexedInfoEXT& value);
+ 
++void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT& value);
++
+ void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT& value);
+ void EncodeStruct(ParameterEncoder* encoder, const VkSamplerBorderColorComponentMappingCreateInfoEXT& value);
+ 
+ void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT& value);
+ 
++void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE& value);
++void EncodeStruct(ParameterEncoder* encoder, const VkDescriptorSetBindingReferenceVALVE& value);
++void EncodeStruct(ParameterEncoder* encoder, const VkDescriptorSetLayoutHostMappingInfoVALVE& value);
++
+ void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& value);
+ void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& value);
+ void EncodeStruct(ParameterEncoder* encoder, const VkSubpassFragmentDensityMapOffsetEndInfoQCOM& value);
+diff --git a/framework/generated/generated_vulkan_struct_handle_mappers.cpp b/framework/generated/generated_vulkan_struct_handle_mappers.cpp
+index 9f64b52..ea0598c 100644
+--- a/framework/generated/generated_vulkan_struct_handle_mappers.cpp
++++ b/framework/generated/generated_vulkan_struct_handle_mappers.cpp
+@@ -1403,6 +1403,16 @@ void MapStructHandles(Decoded_VkMemoryGetRemoteAddressInfoNV* wrapper, const Vul
+     }
+ }
+ 
++void MapStructHandles(Decoded_VkDescriptorSetBindingReferenceVALVE* wrapper, const VulkanObjectInfoTable& object_info_table)
++{
++    if ((wrapper != nullptr) && (wrapper->decoded_value != nullptr))
++    {
++        VkDescriptorSetBindingReferenceVALVE* value = wrapper->decoded_value;
++
++        value->descriptorSetLayout = handle_mapping::MapHandle<DescriptorSetLayoutInfo>(wrapper->descriptorSetLayout, object_info_table, &VulkanObjectInfoTable::GetDescriptorSetLayoutInfo);
++    }
++}
++
+ void MapStructHandles(Decoded_VkAccelerationStructureBuildGeometryInfoKHR* wrapper, const VulkanObjectInfoTable& object_info_table)
+ {
+     if ((wrapper != nullptr) && (wrapper->decoded_value != nullptr))
+@@ -1504,6 +1514,9 @@ void MapPNextStructHandles(const void* value, void* wrapper, const VulkanObjectI
+         default:
+             // TODO: Report or raise fatal error for unrecongized sType?
+             break;
++        case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO:
++            MapStructHandles(reinterpret_cast<Decoded_VkShaderModuleCreateInfo*>(wrapper), object_info_table);
++            break;
+         case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
+             MapStructHandles(reinterpret_cast<Decoded_VkMemoryDedicatedAllocateInfo*>(wrapper), object_info_table);
+             break;
+@@ -1531,6 +1544,9 @@ void MapPNextStructHandles(const void* value, void* wrapper, const VulkanObjectI
+         case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR:
+             MapStructHandles(reinterpret_cast<Decoded_VkWin32KeyedMutexAcquireReleaseInfoKHR*>(wrapper), object_info_table);
+             break;
++        case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR:
++            MapStructHandles(reinterpret_cast<Decoded_VkPipelineLibraryCreateInfoKHR*>(wrapper), object_info_table);
++            break;
+         case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:
+             MapStructHandles(reinterpret_cast<Decoded_VkDedicatedAllocationMemoryAllocateInfoNV*>(wrapper), object_info_table);
+             break;
+diff --git a/framework/generated/generated_vulkan_struct_handle_mappers.h b/framework/generated/generated_vulkan_struct_handle_mappers.h
+index 61d8c81..450a193 100644
+--- a/framework/generated/generated_vulkan_struct_handle_mappers.h
++++ b/framework/generated/generated_vulkan_struct_handle_mappers.h
+@@ -288,6 +288,8 @@ void MapStructHandles(Decoded_VkSemaphoreGetZirconHandleInfoFUCHSIA* wrapper, co
+ 
+ void MapStructHandles(Decoded_VkMemoryGetRemoteAddressInfoNV* wrapper, const VulkanObjectInfoTable& object_info_table);
+ 
++void MapStructHandles(Decoded_VkDescriptorSetBindingReferenceVALVE* wrapper, const VulkanObjectInfoTable& object_info_table);
++
+ void MapStructHandles(Decoded_VkAccelerationStructureBuildGeometryInfoKHR* wrapper, const VulkanObjectInfoTable& object_info_table);
+ 
+ void MapStructHandles(Decoded_VkAccelerationStructureCreateInfoKHR* wrapper, const VulkanObjectInfoTable& object_info_table);
+diff --git a/framework/generated/generated_vulkan_struct_handle_wrappers.cpp b/framework/generated/generated_vulkan_struct_handle_wrappers.cpp
+index 8869d41..f939f2c 100644
+--- a/framework/generated/generated_vulkan_struct_handle_wrappers.cpp
++++ b/framework/generated/generated_vulkan_struct_handle_wrappers.cpp
+@@ -1195,6 +1195,14 @@ void UnwrapStructHandles(VkMemoryGetRemoteAddressInfoNV* value, HandleUnwrapMemo
+     }
+ }
+ 
++void UnwrapStructHandles(VkDescriptorSetBindingReferenceVALVE* value, HandleUnwrapMemory* unwrap_memory)
++{
++    if (value != nullptr)
++    {
++        value->descriptorSetLayout = GetWrappedHandle<VkDescriptorSetLayout>(value->descriptorSetLayout);
++    }
++}
++
+ void UnwrapStructHandles(VkAccelerationStructureBuildGeometryInfoKHR* value, HandleUnwrapMemory* unwrap_memory)
+ {
+     if (value != nullptr)
+@@ -1285,6 +1293,9 @@ VkBaseInStructure* CopyPNextStruct(const VkBaseInStructure* base, HandleUnwrapMe
+     case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO:
+         copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkLayerDeviceCreateInfo*>(base), 1, unwrap_memory));
+         break;
++    case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO:
++        copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkShaderModuleCreateInfo*>(base), 1, unwrap_memory));
++        break;
+     case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
+         copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkPhysicalDeviceSubgroupProperties*>(base), 1, unwrap_memory));
+         break;
+@@ -1711,6 +1722,9 @@ VkBaseInStructure* CopyPNextStruct(const VkBaseInStructure* base, HandleUnwrapMe
+     case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR:
+         copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR*>(base), 1, unwrap_memory));
+         break;
++    case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR:
++        copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkPipelineLibraryCreateInfoKHR*>(base), 1, unwrap_memory));
++        break;
+     case VK_STRUCTURE_TYPE_PRESENT_ID_KHR:
+         copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkPresentIdKHR*>(base), 1, unwrap_memory));
+         break;
+@@ -1819,6 +1833,9 @@ VkBaseInStructure* CopyPNextStruct(const VkBaseInStructure* base, HandleUnwrapMe
+     case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT:
+         copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkPipelineRasterizationDepthClipStateCreateInfoEXT*>(base), 1, unwrap_memory));
+         break;
++    case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT:
++        copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT*>(base), 1, unwrap_memory));
++        break;
+     case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
+         copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT*>(base), 1, unwrap_memory));
+         break;
+@@ -2131,6 +2148,15 @@ VkBaseInStructure* CopyPNextStruct(const VkBaseInStructure* base, HandleUnwrapMe
+     case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV:
+         copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkDeviceDiagnosticsConfigCreateInfoNV*>(base), 1, unwrap_memory));
+         break;
++    case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT:
++        copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT*>(base), 1, unwrap_memory));
++        break;
++    case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT:
++        copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT*>(base), 1, unwrap_memory));
++        break;
++    case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT:
++        copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkGraphicsPipelineLibraryCreateInfoEXT*>(base), 1, unwrap_memory));
++        break;
+     case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV:
+         copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV*>(base), 1, unwrap_memory));
+         break;
+@@ -2209,6 +2235,9 @@ VkBaseInStructure* CopyPNextStruct(const VkBaseInStructure* base, HandleUnwrapMe
+     case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT:
+         copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkPipelineColorWriteCreateInfoEXT*>(base), 1, unwrap_memory));
+         break;
++    case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT:
++        copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT*>(base), 1, unwrap_memory));
++        break;
+     case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT:
+         copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkPhysicalDeviceImageViewMinLodFeaturesEXT*>(base), 1, unwrap_memory));
+         break;
+@@ -2221,6 +2250,9 @@ VkBaseInStructure* CopyPNextStruct(const VkBaseInStructure* base, HandleUnwrapMe
+     case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT:
+         copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkPhysicalDeviceMultiDrawPropertiesEXT*>(base), 1, unwrap_memory));
+         break;
++    case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT:
++        copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT*>(base), 1, unwrap_memory));
++        break;
+     case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT:
+         copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT*>(base), 1, unwrap_memory));
+         break;
+@@ -2230,6 +2262,9 @@ VkBaseInStructure* CopyPNextStruct(const VkBaseInStructure* base, HandleUnwrapMe
+     case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT:
+         copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT*>(base), 1, unwrap_memory));
+         break;
++    case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE:
++        copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE*>(base), 1, unwrap_memory));
++        break;
+     case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM:
+         copy = reinterpret_cast<VkBaseInStructure*>(MakeUnwrapStructs(reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM*>(base), 1, unwrap_memory));
+         break;
+@@ -2283,6 +2318,8 @@ const void* UnwrapPNextStructHandles(const void* value, HandleUnwrapMemory* unwr
+             }
+             return copy;
+         }
++        case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO:
++            return UnwrapStructPtrHandles(reinterpret_cast<const VkShaderModuleCreateInfo*>(base), unwrap_memory);
+         case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
+             return UnwrapStructPtrHandles(reinterpret_cast<const VkMemoryDedicatedAllocateInfo*>(base), unwrap_memory);
+         case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
+@@ -2301,6 +2338,8 @@ const void* UnwrapPNextStructHandles(const void* value, HandleUnwrapMemory* unwr
+             return UnwrapStructPtrHandles(reinterpret_cast<const VkRenderingFragmentDensityMapAttachmentInfoEXT*>(base), unwrap_memory);
+         case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR:
+             return UnwrapStructPtrHandles(reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoKHR*>(base), unwrap_memory);
++        case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR:
++            return UnwrapStructPtrHandles(reinterpret_cast<const VkPipelineLibraryCreateInfoKHR*>(base), unwrap_memory);
+         case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:
+             return UnwrapStructPtrHandles(reinterpret_cast<const VkDedicatedAllocationMemoryAllocateInfoNV*>(base), unwrap_memory);
+         case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV:
+diff --git a/framework/generated/generated_vulkan_struct_handle_wrappers.h b/framework/generated/generated_vulkan_struct_handle_wrappers.h
+index 8fd4125..45ddcec 100644
+--- a/framework/generated/generated_vulkan_struct_handle_wrappers.h
++++ b/framework/generated/generated_vulkan_struct_handle_wrappers.h
+@@ -288,6 +288,8 @@ void UnwrapStructHandles(VkSemaphoreGetZirconHandleInfoFUCHSIA* value, HandleUnw
+ 
+ void UnwrapStructHandles(VkMemoryGetRemoteAddressInfoNV* value, HandleUnwrapMemory* unwrap_memory);
+ 
++void UnwrapStructHandles(VkDescriptorSetBindingReferenceVALVE* value, HandleUnwrapMemory* unwrap_memory);
++
+ void UnwrapStructHandles(VkAccelerationStructureBuildGeometryInfoKHR* value, HandleUnwrapMemory* unwrap_memory);
+ 
+ void UnwrapStructHandles(VkAccelerationStructureCreateInfoKHR* value, HandleUnwrapMemory* unwrap_memory);
+diff --git a/framework/generated/generated_vulkan_struct_to_string.cpp b/framework/generated/generated_vulkan_struct_to_string.cpp
+index ffea4da..0548381 100644
+--- a/framework/generated/generated_vulkan_struct_to_string.cpp
++++ b/framework/generated/generated_vulkan_struct_to_string.cpp
+@@ -8452,6 +8452,43 @@ template <> std::string ToString<VkDeviceDiagnosticsConfigCreateInfoNV>(const Vk
+     );
+ }
+ 
++template <> std::string ToString<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT>(const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT& obj, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize)
++{
++    return ObjectToString(toStringFlags, tabCount, tabSize,
++        [&](std::stringstream& strStrm)
++        {
++            FieldToString(strStrm, true, "sType", toStringFlags, tabCount, tabSize, '"' + ToString(obj.sType, toStringFlags, tabCount, tabSize) + '"');
++            FieldToString(strStrm, false, "pNext", toStringFlags, tabCount, tabSize, PNextToString(obj.pNext, toStringFlags, tabCount, tabSize));
++            FieldToString(strStrm, false, "graphicsPipelineLibrary", toStringFlags, tabCount, tabSize, ToString(obj.graphicsPipelineLibrary, toStringFlags, tabCount, tabSize));
++        }
++    );
++}
++
++template <> std::string ToString<VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT>(const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT& obj, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize)
++{
++    return ObjectToString(toStringFlags, tabCount, tabSize,
++        [&](std::stringstream& strStrm)
++        {
++            FieldToString(strStrm, true, "sType", toStringFlags, tabCount, tabSize, '"' + ToString(obj.sType, toStringFlags, tabCount, tabSize) + '"');
++            FieldToString(strStrm, false, "pNext", toStringFlags, tabCount, tabSize, PNextToString(obj.pNext, toStringFlags, tabCount, tabSize));
++            FieldToString(strStrm, false, "graphicsPipelineLibraryFastLinking", toStringFlags, tabCount, tabSize, ToString(obj.graphicsPipelineLibraryFastLinking, toStringFlags, tabCount, tabSize));
++            FieldToString(strStrm, false, "graphicsPipelineLibraryIndependentInterpolationDecoration", toStringFlags, tabCount, tabSize, ToString(obj.graphicsPipelineLibraryIndependentInterpolationDecoration, toStringFlags, tabCount, tabSize));
++        }
++    );
++}
++
++template <> std::string ToString<VkGraphicsPipelineLibraryCreateInfoEXT>(const VkGraphicsPipelineLibraryCreateInfoEXT& obj, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize)
++{
++    return ObjectToString(toStringFlags, tabCount, tabSize,
++        [&](std::stringstream& strStrm)
++        {
++            FieldToString(strStrm, true, "sType", toStringFlags, tabCount, tabSize, '"' + ToString(obj.sType, toStringFlags, tabCount, tabSize) + '"');
++            FieldToString(strStrm, false, "pNext", toStringFlags, tabCount, tabSize, PNextToString(obj.pNext, toStringFlags, tabCount, tabSize));
++            FieldToString(strStrm, false, "flags", toStringFlags, tabCount, tabSize, ToString(obj.flags, toStringFlags, tabCount, tabSize));
++        }
++    );
++}
++
+ template <> std::string ToString<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>(const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& obj, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize)
+ {
+     return ObjectToString(toStringFlags, tabCount, tabSize,
+@@ -8979,6 +9016,20 @@ template <> std::string ToString<VkPipelineColorWriteCreateInfoEXT>(const VkPipe
+     );
+ }
+ 
++template <> std::string ToString<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT>(const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT& obj, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize)
++{
++    return ObjectToString(toStringFlags, tabCount, tabSize,
++        [&](std::stringstream& strStrm)
++        {
++            FieldToString(strStrm, true, "sType", toStringFlags, tabCount, tabSize, '"' + ToString(obj.sType, toStringFlags, tabCount, tabSize) + '"');
++            FieldToString(strStrm, false, "pNext", toStringFlags, tabCount, tabSize, PNextToString(obj.pNext, toStringFlags, tabCount, tabSize));
++            FieldToString(strStrm, false, "primitivesGeneratedQuery", toStringFlags, tabCount, tabSize, ToString(obj.primitivesGeneratedQuery, toStringFlags, tabCount, tabSize));
++            FieldToString(strStrm, false, "primitivesGeneratedQueryWithRasterizerDiscard", toStringFlags, tabCount, tabSize, ToString(obj.primitivesGeneratedQueryWithRasterizerDiscard, toStringFlags, tabCount, tabSize));
++            FieldToString(strStrm, false, "primitivesGeneratedQueryWithNonZeroStreams", toStringFlags, tabCount, tabSize, ToString(obj.primitivesGeneratedQueryWithNonZeroStreams, toStringFlags, tabCount, tabSize));
++        }
++    );
++}
++
+ template <> std::string ToString<VkPhysicalDeviceImageViewMinLodFeaturesEXT>(const VkPhysicalDeviceImageViewMinLodFeaturesEXT& obj, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize)
+ {
+     return ObjectToString(toStringFlags, tabCount, tabSize,
+@@ -9050,6 +9101,19 @@ template <> std::string ToString<VkMultiDrawIndexedInfoEXT>(const VkMultiDrawInd
+     );
+ }
+ 
++template <> std::string ToString<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT>(const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT& obj, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize)
++{
++    return ObjectToString(toStringFlags, tabCount, tabSize,
++        [&](std::stringstream& strStrm)
++        {
++            FieldToString(strStrm, true, "sType", toStringFlags, tabCount, tabSize, '"' + ToString(obj.sType, toStringFlags, tabCount, tabSize) + '"');
++            FieldToString(strStrm, false, "pNext", toStringFlags, tabCount, tabSize, PNextToString(obj.pNext, toStringFlags, tabCount, tabSize));
++            FieldToString(strStrm, false, "image2DViewOf3D", toStringFlags, tabCount, tabSize, ToString(obj.image2DViewOf3D, toStringFlags, tabCount, tabSize));
++            FieldToString(strStrm, false, "sampler2DViewOf3D", toStringFlags, tabCount, tabSize, ToString(obj.sampler2DViewOf3D, toStringFlags, tabCount, tabSize));
++        }
++    );
++}
++
+ template <> std::string ToString<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>(const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT& obj, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize)
+ {
+     return ObjectToString(toStringFlags, tabCount, tabSize,
+@@ -9088,6 +9152,44 @@ template <> std::string ToString<VkPhysicalDevicePageableDeviceLocalMemoryFeatur
+     );
+ }
+ 
++template <> std::string ToString<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>(const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE& obj, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize)
++{
++    return ObjectToString(toStringFlags, tabCount, tabSize,
++        [&](std::stringstream& strStrm)
++        {
++            FieldToString(strStrm, true, "sType", toStringFlags, tabCount, tabSize, '"' + ToString(obj.sType, toStringFlags, tabCount, tabSize) + '"');
++            FieldToString(strStrm, false, "pNext", toStringFlags, tabCount, tabSize, PNextToString(obj.pNext, toStringFlags, tabCount, tabSize));
++            FieldToString(strStrm, false, "descriptorSetHostMapping", toStringFlags, tabCount, tabSize, ToString(obj.descriptorSetHostMapping, toStringFlags, tabCount, tabSize));
++        }
++    );
++}
++
++template <> std::string ToString<VkDescriptorSetBindingReferenceVALVE>(const VkDescriptorSetBindingReferenceVALVE& obj, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize)
++{
++    return ObjectToString(toStringFlags, tabCount, tabSize,
++        [&](std::stringstream& strStrm)
++        {
++            FieldToString(strStrm, true, "sType", toStringFlags, tabCount, tabSize, '"' + ToString(obj.sType, toStringFlags, tabCount, tabSize) + '"');
++            FieldToString(strStrm, false, "pNext", toStringFlags, tabCount, tabSize, PNextToString(obj.pNext, toStringFlags, tabCount, tabSize));
++            FieldToString(strStrm, false, "descriptorSetLayout", toStringFlags, tabCount, tabSize, '"' + VkHandleToString(obj.descriptorSetLayout) + '"');
++            FieldToString(strStrm, false, "binding", toStringFlags, tabCount, tabSize, ToString(obj.binding, toStringFlags, tabCount, tabSize));
++        }
++    );
++}
++
++template <> std::string ToString<VkDescriptorSetLayoutHostMappingInfoVALVE>(const VkDescriptorSetLayoutHostMappingInfoVALVE& obj, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize)
++{
++    return ObjectToString(toStringFlags, tabCount, tabSize,
++        [&](std::stringstream& strStrm)
++        {
++            FieldToString(strStrm, true, "sType", toStringFlags, tabCount, tabSize, '"' + ToString(obj.sType, toStringFlags, tabCount, tabSize) + '"');
++            FieldToString(strStrm, false, "pNext", toStringFlags, tabCount, tabSize, PNextToString(obj.pNext, toStringFlags, tabCount, tabSize));
++            FieldToString(strStrm, false, "descriptorOffset", toStringFlags, tabCount, tabSize, ToString(obj.descriptorOffset, toStringFlags, tabCount, tabSize));
++            FieldToString(strStrm, false, "descriptorSize", toStringFlags, tabCount, tabSize, ToString(obj.descriptorSize, toStringFlags, tabCount, tabSize));
++        }
++    );
++}
++
+ template <> std::string ToString<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>(const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& obj, ToStringFlags toStringFlags, uint32_t tabCount, uint32_t tabSize)
+ {
+     return ObjectToString(toStringFlags, tabCount, tabSize,
+diff --git a/framework/generated/generated_vulkan_struct_to_string.h b/framework/generated/generated_vulkan_struct_to_string.h
+index aba0819..31fab3d 100644
+--- a/framework/generated/generated_vulkan_struct_to_string.h
++++ b/framework/generated/generated_vulkan_struct_to_string.h
+@@ -617,6 +617,9 @@ template <> std::string ToString<VkPhysicalDeviceCustomBorderColorPropertiesEXT>
+ template <> std::string ToString<VkPhysicalDeviceCustomBorderColorFeaturesEXT>(const VkPhysicalDeviceCustomBorderColorFeaturesEXT& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(const VkPhysicalDeviceDiagnosticsConfigFeaturesNV& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkDeviceDiagnosticsConfigCreateInfoNV>(const VkDeviceDiagnosticsConfigCreateInfoNV& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
++template <> std::string ToString<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT>(const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
++template <> std::string ToString<VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT>(const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
++template <> std::string ToString<VkGraphicsPipelineLibraryCreateInfoEXT>(const VkGraphicsPipelineLibraryCreateInfoEXT& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>(const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV>(const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkPipelineFragmentShadingRateEnumStateCreateInfoNV>(const VkPipelineFragmentShadingRateEnumStateCreateInfoNV& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
+@@ -656,15 +659,20 @@ template <> std::string ToString<VkPhysicalDeviceExtendedDynamicState2FeaturesEX
+ template <> std::string ToString<VkScreenSurfaceCreateInfoQNX>(const VkScreenSurfaceCreateInfoQNX& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkPhysicalDeviceColorWriteEnableFeaturesEXT>(const VkPhysicalDeviceColorWriteEnableFeaturesEXT& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkPipelineColorWriteCreateInfoEXT>(const VkPipelineColorWriteCreateInfoEXT& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
++template <> std::string ToString<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT>(const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkPhysicalDeviceImageViewMinLodFeaturesEXT>(const VkPhysicalDeviceImageViewMinLodFeaturesEXT& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkImageViewMinLodCreateInfoEXT>(const VkImageViewMinLodCreateInfoEXT& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkPhysicalDeviceMultiDrawFeaturesEXT>(const VkPhysicalDeviceMultiDrawFeaturesEXT& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkPhysicalDeviceMultiDrawPropertiesEXT>(const VkPhysicalDeviceMultiDrawPropertiesEXT& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkMultiDrawInfoEXT>(const VkMultiDrawInfoEXT& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkMultiDrawIndexedInfoEXT>(const VkMultiDrawIndexedInfoEXT& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
++template <> std::string ToString<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT>(const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>(const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkSamplerBorderColorComponentMappingCreateInfoEXT>(const VkSamplerBorderColorComponentMappingCreateInfoEXT& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT>(const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
++template <> std::string ToString<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>(const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
++template <> std::string ToString<VkDescriptorSetBindingReferenceVALVE>(const VkDescriptorSetBindingReferenceVALVE& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
++template <> std::string ToString<VkDescriptorSetLayoutHostMappingInfoVALVE>(const VkDescriptorSetLayoutHostMappingInfoVALVE& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>(const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>(const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
+ template <> std::string ToString<VkSubpassFragmentDensityMapOffsetEndInfoQCOM>(const VkSubpassFragmentDensityMapOffsetEndInfoQCOM& obj, ToStringFlags toStriingFlags, uint32_t tabCount, uint32_t tabSize);
+diff --git a/framework/generated/vulkan_generators/vulkan_replay_consumer_body_generator.py b/framework/generated/vulkan_generators/vulkan_replay_consumer_body_generator.py
+index d1b5597..856139d 100644
+--- a/framework/generated/vulkan_generators/vulkan_replay_consumer_body_generator.py
++++ b/framework/generated/vulkan_generators/vulkan_replay_consumer_body_generator.py
+@@ -232,6 +232,7 @@ class VulkanReplayConsumerBodyGenerator(
+                 name
+             )
+         else:
++            body += '    VkResult replay_result = VK_SUCCESS;\n'
+             body += '    {};\n'.format(call_expr)
+         if postexpr:
+             body += '\n'
diff --git a/chromeos-base/gfxreconstruct/files/gfxreconstruct-0.9.11-0002-layer_config.patch b/chromeos-base/gfxreconstruct/files/gfxreconstruct-0.9.11-0002-layer_config.patch
new file mode 100644
index 0000000..ebf919a
--- /dev/null
+++ b/chromeos-base/gfxreconstruct/files/gfxreconstruct-0.9.11-0002-layer_config.patch
@@ -0,0 +1,13 @@
+diff --git a/cmake/GenerateLayerJson.cmake b/cmake/GenerateLayerJson.cmake
+index 8e70868..e4a300c 100644
+--- a/cmake/GenerateLayerJson.cmake
++++ b/cmake/GenerateLayerJson.cmake
+@@ -14,7 +14,7 @@ function(GENERATE_LAYER_JSON_FILE TARGET RELATIVE_PATH_PREFIX LAYER_BINARY IN_FI
+         -DGFXRECONSTRUCT_VERSION=${GFXRECONSTRUCT_LAYER_JSON_VERSION}
+         -DGFXRECONSTRUCT_VERSION_STRING=${GFXRECONSTRUCT_PROJECT_VERSION_MAJOR}.${GFXRECONSTRUCT_PROJECT_VERSION_MINOR}.${GFXRECONSTRUCT_PROJECT_VERSION_PATCH}${GFXRECON_PROJECT_VERSION_DESIGNATION}
+         -DOUTPUT_FILE=${OUT_FILE}
+-        -DRELATIVE_LAYER_BINARY=${RELATIVE_PATH_PREFIX}${LAYER_BINARY}
++        -DRELATIVE_LAYER_BINARY=${LAYER_BINARY}
+     )
+     add_custom_target(${TARGET} ALL COMMAND ${CMAKE_COMMAND} ${CONFIG_DEFINES} -P "${CMAKE_CURRENT_BINARY_DIR}/generator.cmake")
+ endfunction()
diff --git a/chromeos-base/gfxreconstruct/gfxreconstruct-0.9.11-r1.ebuild b/chromeos-base/gfxreconstruct/gfxreconstruct-0.9.11-r1.ebuild
new file mode 120000
index 0000000..d77001d
--- /dev/null
+++ b/chromeos-base/gfxreconstruct/gfxreconstruct-0.9.11-r1.ebuild
@@ -0,0 +1 @@
+gfxreconstruct-0.9.11.ebuild
\ No newline at end of file
diff --git a/chromeos-base/gfxreconstruct/gfxreconstruct-0.9.11.ebuild b/chromeos-base/gfxreconstruct/gfxreconstruct-0.9.11.ebuild
new file mode 100644
index 0000000..26d142f
--- /dev/null
+++ b/chromeos-base/gfxreconstruct/gfxreconstruct-0.9.11.ebuild
@@ -0,0 +1,66 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils flag-o-matic unpacker
+
+DESCRIPTION="Vulkan API Capture and Replay Tools"
+HOMEPAGE="https://github.com/LunarG/gfxreconstruct"
+GIT_HASH="761837794a1e57f918a85af7000b12e531b178ae"
+SRC_URI="https://github.com/LunarG/gfxreconstruct/archive/${GIT_HASH}.tar.gz -> gfxreconstruct-${GIT_HASH}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="*"
+IUSE=""
+SLOT="0"
+
+S="${WORKDIR}/gfxreconstruct-${GIT_HASH}"
+
+DEPEND="x11-libs/libxcb
+	sys-libs/zlib
+	app-arch/zstd"
+RDEPEND="${DEPEND}"
+BDEPEND="
+	x11-libs/xcb-util-keysyms
+	dev-util/vulkan-headers"
+
+PATCHES=(
+	# Look for Vulkan headers in the right place during build.
+	"${FILESDIR}/gfxreconstruct-0.9.11-0000-headers.patch"
+	# Update generated code for ChromeOS.
+	"${FILESDIR}/gfxreconstruct-0.9.11-0001-generated.patch"
+	# Fix library path in layer manifest.
+	"${FILESDIR}/gfxreconstruct-0.9.11-0002-layer_config.patch"
+)
+
+src_prepare() {
+	cmake-utils_src_prepare
+}
+
+src_configure() {
+	cros_enable_cxx_exceptions
+	cmake-utils_src_configure
+}
+
+src_compile() {
+	cmake-utils_src_compile
+}
+
+src_install() {
+	local OUTDIR="${WORKDIR}/gfxreconstruct-0.9.11_build"
+	local TOOLSDIR="${OUTDIR}/tools"
+
+	dobin "${TOOLSDIR}/replay/gfxrecon-replay"
+	dobin "${TOOLSDIR}/compress/gfxrecon-compress"
+	dobin "${TOOLSDIR}/optimize/gfxrecon-optimize"
+	dobin "${TOOLSDIR}/replay/gfxrecon-replay"
+	dobin "${TOOLSDIR}/capture/gfxrecon-capture.py"
+	dobin "${TOOLSDIR}/toascii/gfxrecon-toascii"
+	dobin "${TOOLSDIR}/extract/gfxrecon-extract"
+	dobin "${TOOLSDIR}/info/gfxrecon-info"
+
+	dolib.so "${OUTDIR}/layer/libVkLayer_gfxreconstruct.so"
+	insinto /usr/share/vulkan/explicit_layer.d
+	doins "${OUTDIR}/layer/VkLayer_gfxreconstruct.json"
+}
diff --git a/chromeos-base/glbench/glbench-0.0.1-r24.ebuild b/chromeos-base/glbench/glbench-0.0.1-r24.ebuild
deleted file mode 100644
index 5629e59..0000000
--- a/chromeos-base/glbench/glbench-0.0.1-r24.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 2019 The Chromium OS Authros. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="b80527734ad996fdf369af9fc3b171fe997f3858"
-CROS_WORKON_TREE="8b161c6f7b90a49e76c005b5e32f25a84345576c"
-CROS_WORKON_PROJECT="chromiumos/platform/glbench"
-CROS_WORKON_LOCALNAME="platform/glbench"
-
-inherit cros-workon
-
-DESCRIPTION="Microbenchmark for opengl/gles"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/glbench/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="opengl opengles"
-
-COMMON_DEPEND="
-	>=dev-cpp/gflags-2.0:=
-	media-libs/libpng:=
-	virtual/opengles:=
-	media-libs/waffle:="
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}
-	x11-drivers/opengles-headers:="
-
-src_compile() {
-	emake -C src
-}
-
-src_install() {
-	local glbench_dir="/usr/local/${PN}"
-
-	# Install the executable.
-	exeinto "${glbench_dir}/bin"
-	doexe glbench windowmanagertest
-	insinto "${glbench_dir}/bin"
-	doins -r runtime
-
-	# Install the list files.
-	insinto "${glbench_dir}/files"
-	doins glbench_fixedbad_images.txt
-	doins glbench_knownbad_images.txt
-	doins glbench_reference_images.txt
-}
diff --git a/chromeos-base/glbench/glbench-0.0.1-r30.ebuild b/chromeos-base/glbench/glbench-0.0.1-r30.ebuild
new file mode 100644
index 0000000..b7ffb15
--- /dev/null
+++ b/chromeos-base/glbench/glbench-0.0.1-r30.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2019 The Chromium OS Authros. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="cc945410df567f5da924247d04b87928ca8926a1"
+CROS_WORKON_TREE="77ea444324f8e06bbf322cf767674ac416396177"
+CROS_WORKON_PROJECT="chromiumos/platform/glbench"
+CROS_WORKON_LOCALNAME="platform/glbench"
+
+inherit cros-workon
+
+DESCRIPTION="Microbenchmark for opengl/gles"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/glbench/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="opengl opengles"
+
+COMMON_DEPEND="
+	>=dev-cpp/gflags-2.0:=
+	media-libs/libpng:=
+	virtual/opengles:=
+	media-libs/waffle:="
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}
+	x11-drivers/opengles-headers:="
+
+src_compile() {
+	emake -C src
+}
+
+src_install() {
+	local glbench_dir="/usr/local/${PN}"
+
+	# Install the executable.
+	exeinto "${glbench_dir}/bin"
+	doexe glbench windowmanagertest
+	insinto "${glbench_dir}/bin"
+	doins -r runtime
+
+	# Install the list files.
+	insinto "${glbench_dir}/files"
+	doins glbench_fixedbad_images.txt
+	doins glbench_knownbad_images.txt
+	doins glbench_reference_images.txt
+}
diff --git a/chromeos-base/glib-bridge/files/revision_bump b/chromeos-base/glib-bridge/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/glib-bridge/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/glib-bridge/glib-bridge-0.0.1-r263.ebuild b/chromeos-base/glib-bridge/glib-bridge-0.0.1-r263.ebuild
deleted file mode 100644
index 6d83ba9..0000000
--- a/chromeos-base/glib-bridge/glib-bridge-0.0.1-r263.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "ee86bced1316f6a39f5e8b884ff29cb26138128d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk glib-bridge .gn"
-
-PLATFORM_SUBDIR="glib-bridge"
-
-inherit cros-workon platform
-
-DESCRIPTION="libchrome-glib message loop bridge"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/glib-bridge"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="
-	dev-libs/glib:="
-
-DEPEND="${RDEPEND}"
-
-src_install() {
-	dolib.so "${OUT}"/lib/libglib_bridge.so
-
-	# Install headers.
-	insinto /usr/include/glib-bridge
-	doins *.h
-
-	# Install pc file.
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	doins "${OUT}"/obj/glib-bridge/libglib_bridge.pc
-}
-
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/glib_bridge_test_runner"
-}
diff --git a/chromeos-base/glib-bridge/glib-bridge-0.0.1-r322.ebuild b/chromeos-base/glib-bridge/glib-bridge-0.0.1-r322.ebuild
new file mode 100644
index 0000000..4e6d697
--- /dev/null
+++ b/chromeos-base/glib-bridge/glib-bridge-0.0.1-r322.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "36dc2ec558e1f7491a9167556fd841be0c78aec5" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk glib-bridge .gn"
+
+PLATFORM_SUBDIR="glib-bridge"
+
+inherit cros-workon platform
+
+DESCRIPTION="libchrome-glib message loop bridge"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/glib-bridge"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="
+	dev-libs/glib:="
+
+DEPEND="${RDEPEND}"
+
+src_install() {
+	dolib.so "${OUT}"/lib/libglib_bridge.so
+
+	# Install headers.
+	insinto /usr/include/glib-bridge
+	doins *.h
+
+	# Install pc file.
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins "${OUT}"/obj/glib-bridge/libglib_bridge.pc
+}
+
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/glib_bridge_test_runner"
+}
diff --git a/chromeos-base/glib-bridge/glib-bridge-9999.ebuild b/chromeos-base/glib-bridge/glib-bridge-9999.ebuild
index f5fcfc5..d5f3411 100644
--- a/chromeos-base/glib-bridge/glib-bridge-9999.ebuild
+++ b/chromeos-base/glib-bridge/glib-bridge-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="libchrome-glib message loop bridge"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/glib-bridge"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/glib-bridge"
 
 LICENSE="BSD-Google"
 SLOT="0"
diff --git a/chromeos-base/goldfishd/files/revision_bump b/chromeos-base/goldfishd/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/goldfishd/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/goldfishd/goldfishd-0.0.1-r568.ebuild b/chromeos-base/goldfishd/goldfishd-0.0.1-r568.ebuild
deleted file mode 100644
index f1ec987..0000000
--- a/chromeos-base/goldfishd/goldfishd-0.0.1-r568.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "d73e948ee4d98ed9a0b228cf85588b9ceeae13c3" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk goldfishd .gn"
-
-PLATFORM_SUBDIR="goldfishd"
-
-inherit cros-workon platform
-
-DESCRIPTION="Android Emulator Daemon for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/goldfishd/"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-
-RDEPEND="
-	chromeos-base/autotest-client
-	"
-
-src_install() {
-	platform_install
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/goldfishd/goldfishd-0.0.1-r626.ebuild b/chromeos-base/goldfishd/goldfishd-0.0.1-r626.ebuild
new file mode 100644
index 0000000..8f01aa2
--- /dev/null
+++ b/chromeos-base/goldfishd/goldfishd-0.0.1-r626.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "d73e948ee4d98ed9a0b228cf85588b9ceeae13c3" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk goldfishd .gn"
+
+PLATFORM_SUBDIR="goldfishd"
+
+inherit cros-workon platform
+
+DESCRIPTION="Android Emulator Daemon for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/goldfishd/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+
+RDEPEND="
+	chromeos-base/autotest-client
+	"
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/goldfishd/goldfishd-9999.ebuild b/chromeos-base/goldfishd/goldfishd-9999.ebuild
index 29fd2b7..f169084 100644
--- a/chromeos-base/goldfishd/goldfishd-9999.ebuild
+++ b/chromeos-base/goldfishd/goldfishd-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Android Emulator Daemon for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/goldfishd/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/goldfishd/"
 
 LICENSE="BSD-Google"
 SLOT="0/0"
diff --git a/chromeos-base/google-breakpad/google-breakpad-2021.08.09.232412-r207.ebuild b/chromeos-base/google-breakpad/google-breakpad-2021.08.09.232412-r207.ebuild
deleted file mode 100644
index 32ac08a..0000000
--- a/chromeos-base/google-breakpad/google-breakpad-2021.08.09.232412-r207.ebuild
+++ /dev/null
@@ -1,159 +0,0 @@
-# Copyright 2011 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("bc7ddae23425cee8999e4e8ed61f77a62f058cbf" "e1e7b0ad8ee99a875b272c8e33e308472e897660")
-CROS_WORKON_TREE=("3f31ee606d96ec70db0a8bbe95886810917284eb" "c2034bc1106379848e2c8c7b68f40d13b3c09097")
-CROS_WORKON_PROJECT=(
-	"breakpad/breakpad"
-	"linux-syscall-support"
-)
-CROS_WORKON_LOCALNAME=(
-	"third_party/breakpad"
-	"third_party/breakpad/src/third_party/lss"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}"
-	"${S}/src/third_party/lss"
-)
-
-inherit cros-arm64 cros-i686 cros-workon flag-o-matic multiprocessing
-
-DESCRIPTION="Google crash reporting"
-HOMEPAGE="https://chromium.googlesource.com/breakpad/breakpad"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="-alltests cros_host test"
-
-COMMON_DEPEND="net-misc/curl:="
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}
-	test? (
-		dev-cpp/gtest:=
-	)
-"
-
-src_prepare() {
-	default
-	find "${S}" -type f -exec touch -r "${S}"/configure {} +
-}
-
-src_configure() {
-	append-flags -g
-
-	# Disable flaky tests by default.  Do it here because the CPPFLAGS
-	# are recorded at configure time and not read on the fly.
-	# http://crbug.com/359999
-	use alltests && append-cppflags -DENABLE_FLAKY_TESTS
-
-	multijob_init
-
-	mkdir build
-	pushd build >/dev/null || die
-	ECONF_SOURCE=${S} multijob_child_init econf --enable-system-test-libs \
-		--bindir="$(usex cros_host /usr/bin /usr/local/bin)"
-	popd >/dev/null || die
-
-	if use cros_host || use_i686; then
-		# The mindump code is still wordsize specific.  Needs to be redone
-		# like https://chromium.googlesource.com/breakpad/breakpad/+/4116671cbff9e99fbd834a1b2cdd174226b78c7c
-		einfo "Configuring 32-bit build"
-		mkdir work32
-		pushd work32 >/dev/null
-		use cros_host && append-flags "-m32"
-		use_i686 && push_i686_env
-		ECONF_SOURCE=${S} multijob_child_init econf
-		use_i686 && pop_i686_env
-		use cros_host && filter-flags "-m32"
-		popd >/dev/null
-	fi
-
-	if use_arm64; then
-		# The mindump code is still wordsize specific.  Needs to be redone
-		# like https://chromium.googlesource.com/breakpad/breakpad/+/4116671cbff9e99fbd834a1b2cdd174226b78c7c
-		einfo "Configuring 64-bit build"
-		mkdir work64
-		pushd work64 >/dev/null
-		use_arm64 && push_arm64_env
-		ECONF_SOURCE=${S} multijob_child_init econf
-		use_arm64 && pop_arm64_env
-		popd >/dev/null
-	fi
-
-	multijob_finish
-}
-
-src_compile() {
-	emake -C build
-
-	if use cros_host; then
-		einfo "Building 32-bit tools"
-		emake -C work32 \
-			src/tools/linux/md2core/minidump-2-core
-	fi
-
-	if use_i686; then
-		einfo "Building 32-bit library"
-		push_i686_env
-		emake -C work32 src/client/linux/libbreakpad_client.a
-		pop_i686_env
-	fi
-
-	if use_arm64; then
-		einfo "Building 64-bit library"
-		push_arm64_env
-		emake -C work64 src/client/linux/libbreakpad_client.a
-		pop_arm64_env
-	fi
-}
-
-src_test() {
-	if ! use x86 && ! use amd64 ; then
-		einfo Skipping unit tests on non-x86 platform
-		return
-	fi
-	emake -C build check
-}
-
-src_install() {
-	emake -C build DESTDIR="${D}" install
-
-	# Move core2md to the rootfs. It's not only for tests but also used on
-	# shipped devices.
-	dodir /usr/bin
-	if ! use cros_host; then
-		mv "${D}/usr/local/bin/core2md" "${D}/usr/bin/core2md" || die
-	fi
-
-	insinto /usr/include/google-breakpad/client/linux/handler
-	doins src/client/linux/handler/*.h
-	insinto /usr/include/google-breakpad/client/linux/crash_generation
-	doins src/client/linux/crash_generation/*.h
-	insinto /usr/include/google-breakpad/common/linux
-	doins src/common/linux/*.h
-	insinto /usr/include/google-breakpad/processor
-	doins src/processor/*.h
-
-	if use cros_host; then
-		newbin work32/src/tools/linux/md2core/minidump-2-core \
-		       minidump-2-core.32
-	fi
-
-	if use_i686; then
-		push_i686_env
-		dolib.a work32/src/client/linux/libbreakpad_client.a
-		pop_i686_env
-	fi
-
-	if use_arm64; then
-		push_arm64_env
-		dolib.a work64/src/client/linux/libbreakpad_client.a
-		pop_arm64_env
-	fi
-
-	find "${ED}/usr" -name breakpad-client.pc \
-		-exec sed -i '/^Libs:/s/-L${libdir} //g' {} + || die
-}
diff --git a/chromeos-base/google-breakpad/google-breakpad-2022.07.13.054504-r211.ebuild b/chromeos-base/google-breakpad/google-breakpad-2022.07.13.054504-r211.ebuild
new file mode 100644
index 0000000..0f85236
--- /dev/null
+++ b/chromeos-base/google-breakpad/google-breakpad-2022.07.13.054504-r211.ebuild
@@ -0,0 +1,170 @@
+# Copyright 2011 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("335e61656fa6034fabc3431a91e5800ba6fc3dc9" "e1e7b0ad8ee99a875b272c8e33e308472e897660")
+CROS_WORKON_TREE=("75d62b1d79d030850963909b7c2f1ccc00dafa46" "c2034bc1106379848e2c8c7b68f40d13b3c09097")
+CROS_WORKON_PROJECT=(
+	"breakpad/breakpad"
+	"linux-syscall-support"
+)
+CROS_WORKON_LOCALNAME=(
+	"third_party/breakpad"
+	"third_party/breakpad/src/third_party/lss"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}"
+	"${S}/src/third_party/lss"
+)
+
+inherit cros-arm64 cros-i686 cros-workon cros-sanitizers flag-o-matic multiprocessing
+
+DESCRIPTION="Google crash reporting"
+HOMEPAGE="https://chromium.googlesource.com/breakpad/breakpad"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="-alltests cros_host +rustc-demangle test"
+
+COMMON_DEPEND="
+	rustc-demangle? ( dev-rust/rustc-demangle-capi:= )
+	net-misc/curl:=
+"
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}
+	test? (
+		dev-cpp/gtest:=
+	)
+"
+
+src_prepare() {
+	default
+	find "${S}" -type f -exec touch -r "${S}"/configure {} +
+}
+
+src_configure() {
+	sanitizers-setup-env
+
+	# -fno-sanitize=alignment since this package interprets ELF binaries
+	# directly, which often involves `reinterpret_cast`s on `ptr+offset`
+	# pairs that make no attempt to guarantee alignment.
+	append-flags -g -fno-sanitize=alignment
+
+	# Disable flaky tests by default.  Do it here because the CPPFLAGS
+	# are recorded at configure time and not read on the fly.
+	# http://crbug.com/359999
+	use alltests && append-cppflags -DENABLE_FLAKY_TESTS
+
+	multijob_init
+
+	mkdir build
+	pushd build >/dev/null || die
+	ECONF_SOURCE=${S} multijob_child_init econf --enable-system-test-libs \
+		$(use_enable rustc-demangle system-rustc-demangle) \
+		--bindir="$(usex cros_host /usr/bin /usr/local/bin)"
+	popd >/dev/null || die
+
+	if use cros_host || use_i686; then
+		# The mindump code is still wordsize specific.  Needs to be redone
+		# like https://chromium.googlesource.com/breakpad/breakpad/+/4116671cbff9e99fbd834a1b2cdd174226b78c7c
+		einfo "Configuring 32-bit build"
+		mkdir work32
+		pushd work32 >/dev/null || die
+		use cros_host && append-flags "-m32"
+		use_i686 && push_i686_env
+		ECONF_SOURCE=${S} multijob_child_init econf
+		use_i686 && pop_i686_env
+		use cros_host && filter-flags "-m32"
+		popd >/dev/null || die
+	fi
+
+	if use_arm64; then
+		# The mindump code is still wordsize specific.  Needs to be redone
+		# like https://chromium.googlesource.com/breakpad/breakpad/+/4116671cbff9e99fbd834a1b2cdd174226b78c7c
+		einfo "Configuring 64-bit build"
+		mkdir work64
+		pushd work64 >/dev/null || die
+		use_arm64 && push_arm64_env
+		ECONF_SOURCE=${S} multijob_child_init econf
+		use_arm64 && pop_arm64_env
+		popd >/dev/null || die
+	fi
+
+	multijob_finish
+}
+
+src_compile() {
+	emake -C build
+
+	if use cros_host; then
+		einfo "Building 32-bit tools"
+		emake -C work32 \
+			src/tools/linux/md2core/minidump-2-core
+	fi
+
+	if use_i686; then
+		einfo "Building 32-bit library"
+		push_i686_env
+		emake -C work32 src/client/linux/libbreakpad_client.a
+		pop_i686_env
+	fi
+
+	if use_arm64; then
+		einfo "Building 64-bit library"
+		push_arm64_env
+		emake -C work64 src/client/linux/libbreakpad_client.a
+		pop_arm64_env
+	fi
+}
+
+src_test() {
+	if ! use x86 && ! use amd64 ; then
+		einfo Skipping unit tests on non-x86 platform
+		return
+	fi
+	# VERBOSE controls the test log output.
+	emake -C build VERBOSE=1 check
+}
+
+src_install() {
+	emake -C build DESTDIR="${D}" install
+
+	# Move core2md to the rootfs. It's not only for tests but also used on
+	# shipped devices.
+	dodir /usr/bin
+	if ! use cros_host; then
+		mv "${D}/usr/local/bin/core2md" "${D}/usr/bin/core2md" || die
+	fi
+
+	insinto /usr/include/google-breakpad/client/linux/handler
+	doins src/client/linux/handler/*.h
+	insinto /usr/include/google-breakpad/client/linux/crash_generation
+	doins src/client/linux/crash_generation/*.h
+	insinto /usr/include/google-breakpad/common/linux
+	doins src/common/linux/*.h
+	insinto /usr/include/google-breakpad/processor
+	doins src/processor/*.h
+
+	if use cros_host; then
+		newbin work32/src/tools/linux/md2core/minidump-2-core \
+		       minidump-2-core.32
+	fi
+
+	if use_i686; then
+		push_i686_env
+		dolib.a work32/src/client/linux/libbreakpad_client.a
+		pop_i686_env
+	fi
+
+	if use_arm64; then
+		push_arm64_env
+		dolib.a work64/src/client/linux/libbreakpad_client.a
+		pop_arm64_env
+	fi
+
+	# shellcheck disable=SC2016 # we don't want `${libdir}` to expand below.
+	find "${ED}/usr" -name breakpad-client.pc \
+		-exec sed -i '/^Libs:/s/-L${libdir} //g' {} + || die
+}
diff --git a/chromeos-base/google-breakpad/google-breakpad-9999.ebuild b/chromeos-base/google-breakpad/google-breakpad-9999.ebuild
index 7718dc4..9e52fff 100644
--- a/chromeos-base/google-breakpad/google-breakpad-9999.ebuild
+++ b/chromeos-base/google-breakpad/google-breakpad-9999.ebuild
@@ -16,7 +16,7 @@
 	"${S}/src/third_party/lss"
 )
 
-inherit cros-arm64 cros-i686 cros-workon flag-o-matic multiprocessing
+inherit cros-arm64 cros-i686 cros-workon cros-sanitizers flag-o-matic multiprocessing
 
 DESCRIPTION="Google crash reporting"
 HOMEPAGE="https://chromium.googlesource.com/breakpad/breakpad"
@@ -24,9 +24,12 @@
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
-IUSE="-alltests cros_host test"
+IUSE="-alltests cros_host +rustc-demangle test"
 
-COMMON_DEPEND="net-misc/curl:="
+COMMON_DEPEND="
+	rustc-demangle? ( dev-rust/rustc-demangle-capi:= )
+	net-misc/curl:=
+"
 RDEPEND="${COMMON_DEPEND}"
 DEPEND="${COMMON_DEPEND}
 	test? (
@@ -40,7 +43,12 @@
 }
 
 src_configure() {
-	append-flags -g
+	sanitizers-setup-env
+
+	# -fno-sanitize=alignment since this package interprets ELF binaries
+	# directly, which often involves `reinterpret_cast`s on `ptr+offset`
+	# pairs that make no attempt to guarantee alignment.
+	append-flags -g -fno-sanitize=alignment
 
 	# Disable flaky tests by default.  Do it here because the CPPFLAGS
 	# are recorded at configure time and not read on the fly.
@@ -52,6 +60,7 @@
 	mkdir build
 	pushd build >/dev/null || die
 	ECONF_SOURCE=${S} multijob_child_init econf --enable-system-test-libs \
+		$(use_enable rustc-demangle system-rustc-demangle) \
 		--bindir="$(usex cros_host /usr/bin /usr/local/bin)"
 	popd >/dev/null || die
 
@@ -60,13 +69,13 @@
 		# like https://chromium.googlesource.com/breakpad/breakpad/+/4116671cbff9e99fbd834a1b2cdd174226b78c7c
 		einfo "Configuring 32-bit build"
 		mkdir work32
-		pushd work32 >/dev/null
+		pushd work32 >/dev/null || die
 		use cros_host && append-flags "-m32"
 		use_i686 && push_i686_env
 		ECONF_SOURCE=${S} multijob_child_init econf
 		use_i686 && pop_i686_env
 		use cros_host && filter-flags "-m32"
-		popd >/dev/null
+		popd >/dev/null || die
 	fi
 
 	if use_arm64; then
@@ -74,11 +83,11 @@
 		# like https://chromium.googlesource.com/breakpad/breakpad/+/4116671cbff9e99fbd834a1b2cdd174226b78c7c
 		einfo "Configuring 64-bit build"
 		mkdir work64
-		pushd work64 >/dev/null
+		pushd work64 >/dev/null || die
 		use_arm64 && push_arm64_env
 		ECONF_SOURCE=${S} multijob_child_init econf
 		use_arm64 && pop_arm64_env
-		popd >/dev/null
+		popd >/dev/null || die
 	fi
 
 	multijob_finish
@@ -113,7 +122,8 @@
 		einfo Skipping unit tests on non-x86 platform
 		return
 	fi
-	emake -C build check
+	# VERBOSE controls the test log output.
+	emake -C build VERBOSE=1 check
 }
 
 src_install() {
@@ -152,6 +162,7 @@
 		pop_arm64_env
 	fi
 
+	# shellcheck disable=SC2016 # we don't want `${libdir}` to expand below.
 	find "${ED}/usr" -name breakpad-client.pc \
 		-exec sed -i '/^Libs:/s/-L${libdir} //g' {} + || die
 }
diff --git a/chromeos-base/graphics-expectations/OWNERS b/chromeos-base/graphics-expectations/OWNERS
new file mode 100644
index 0000000..df5be23
--- /dev/null
+++ b/chromeos-base/graphics-expectations/OWNERS
@@ -0,0 +1,3 @@
+set noparent
+include chromiumos/platform/graphics:/OWNERS.graphics
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/chromeos-base/graphics-expectations/graphics-expectations-0.0.1-r19.ebuild b/chromeos-base/graphics-expectations/graphics-expectations-0.0.1-r19.ebuild
new file mode 100644
index 0000000..1ab2a5c
--- /dev/null
+++ b/chromeos-base/graphics-expectations/graphics-expectations-0.0.1-r19.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="88348728b7f47edc9125a506f1982f1b1682ad20"
+CROS_WORKON_TREE="5080a5539179d6fcad0eb6edafcdf77b5ac72f74"
+CROS_WORKON_PROJECT="chromiumos/platform/graphics"
+CROS_WORKON_LOCALNAME="platform/graphics"
+
+inherit cros-workon
+
+DESCRIPTION="Installs shared expectations for graphics tests."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/graphics/"
+
+LICENSE="BSD-Google"
+SLOT=0
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND=""
+
+DEPEND="
+	${RDEPEND}
+"
+
+BDEPEND=""
+
+INSTALL_DIR="/usr/local/graphics"
+
+src_unpack() {
+	cros-workon_src_unpack
+}
+
+src_install() {
+	insinto "${INSTALL_DIR}"
+	doins -r expectations
+}
diff --git a/chromeos-base/graphics-expectations/graphics-expectations-9999.ebuild b/chromeos-base/graphics-expectations/graphics-expectations-9999.ebuild
new file mode 100644
index 0000000..cd4d4fd
--- /dev/null
+++ b/chromeos-base/graphics-expectations/graphics-expectations-9999.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_PROJECT="chromiumos/platform/graphics"
+CROS_WORKON_LOCALNAME="platform/graphics"
+
+inherit cros-workon
+
+DESCRIPTION="Installs shared expectations for graphics tests."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/graphics/"
+
+LICENSE="BSD-Google"
+SLOT=0
+KEYWORDS="~*"
+IUSE=""
+
+RDEPEND=""
+
+DEPEND="
+	${RDEPEND}
+"
+
+BDEPEND=""
+
+INSTALL_DIR="/usr/local/graphics"
+
+src_unpack() {
+	cros-workon_src_unpack
+}
+
+src_install() {
+	insinto "${INSTALL_DIR}"
+	doins -r expectations
+}
diff --git a/chromeos-base/graphics-utils-go/graphics-utils-go-0.0.1-r114.ebuild b/chromeos-base/graphics-utils-go/graphics-utils-go-0.0.1-r114.ebuild
deleted file mode 100644
index 8bc4976..0000000
--- a/chromeos-base/graphics-utils-go/graphics-utils-go-0.0.1-r114.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="8715c12d2b275f7dac1f6c022f0326d062c017d2"
-CROS_WORKON_TREE="74272bf342ba8f37910569d478cbdcfa8d7125db"
-CROS_WORKON_PROJECT="chromiumos/platform/graphics"
-CROS_WORKON_LOCALNAME="platform/graphics"
-
-INSTALL_DIR="/usr/local/graphics"
-
-CROS_GO_BINARIES=(
-	# Add more apps here.
-	"platform_decoding/cmd/validate:${INSTALL_DIR}/validate"
-	"sanity/cmd/pass:${INSTALL_DIR}/pass"
-	"trace_profiling/cmd/analyze:${INSTALL_DIR}/analyze"
-	"trace_profiling/cmd/gen_db_result:${INSTALL_DIR}/get_device_info"
-	"trace_profiling/cmd/harvest:${INSTALL_DIR}/harvest"
-	"trace_profiling/cmd/merge:${INSTALL_DIR}/merge"
-	"trace_profiling/cmd/profile:${INSTALL_DIR}/profile"
-	"trace_replay/cmd/trace_replay:${INSTALL_DIR}/trace_replay"
-)
-
-CROS_GO_TEST=(
-	"platform_decoding/cmd/validate"
-	"sanity/cmd/pass"
-	"trace_profiling/cmd/analyze"
-	"trace_profiling/cmd/gen_db_result"
-	"trace_profiling/cmd/merge"
-	"trace_profiling/cmd/profile"
-	"trace_replay/cmd/trace_replay"
-)
-
-CROS_GO_VET=(
-	"${CROS_GO_TEST[@]}"
-)
-
-inherit cros-go cros-workon
-SRC_URI="$(cros-go_src_uri)"
-
-DESCRIPTION="Portable graphics utils written in go"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/graphics/"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND="
-	chromeos-base/cros-config-api
-	dev-go/crypto
-	dev-go/fogleman-gg
-	dev-go/go-image
-	dev-go/gofpdf
-	dev-go/golang-freetype
-	dev-go/gonum-plot
-	dev-go/protobuf
-	dev-go/readline
-	dev-go/svgo
-	dev-go/uuid
-"
-
-RDEPEND="${DEPEND}"
-
-src_prepare() {
-	# Disable cgo and PIE on building Tast binaries. See:
-	# https://crbug.com/976196
-	# https://github.com/golang/go/issues/30986#issuecomment-475626018
-	export CGO_ENABLED=0
-	export GOPIE=0
-
-	default
-}
diff --git a/chromeos-base/graphics-utils-go/graphics-utils-go-0.0.1-r142.ebuild b/chromeos-base/graphics-utils-go/graphics-utils-go-0.0.1-r142.ebuild
new file mode 100644
index 0000000..98a41bd
--- /dev/null
+++ b/chromeos-base/graphics-utils-go/graphics-utils-go-0.0.1-r142.ebuild
@@ -0,0 +1,77 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="88348728b7f47edc9125a506f1982f1b1682ad20"
+CROS_WORKON_TREE="5080a5539179d6fcad0eb6edafcdf77b5ac72f74"
+CROS_WORKON_PROJECT="chromiumos/platform/graphics"
+CROS_WORKON_LOCALNAME="platform/graphics"
+
+INSTALL_DIR="/usr/local/graphics"
+
+CROS_GO_BINARIES=(
+	# Add more apps here.
+	"go.chromium.org/chromiumos/graphics-utils-go/hardware_probe/cmd/hardware_probe:${INSTALL_DIR}/hardware_probe"
+	"go.chromium.org/chromiumos/graphics-utils-go/platform_decoding/cmd/ffmpeg_md5sum:${INSTALL_DIR}/ffmpeg_md5sum"
+	"go.chromium.org/chromiumos/graphics-utils-go/platform_decoding/cmd/validate:${INSTALL_DIR}/validate"
+	"go.chromium.org/chromiumos/graphics-utils-go/sanity/cmd/pass:${INSTALL_DIR}/pass"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_profiling/cmd/analyze:${INSTALL_DIR}/analyze"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_profiling/cmd/gen_db_result:${INSTALL_DIR}/get_device_info"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_profiling/cmd/harvest:${INSTALL_DIR}/harvest"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_profiling/cmd/merge:${INSTALL_DIR}/merge"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_profiling/cmd/profile:${INSTALL_DIR}/profile"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_replay/cmd/trace_replay:${INSTALL_DIR}/trace_replay"
+)
+
+CROS_GO_TEST=(
+	"go.chromium.org/chromiumos/graphics-utils-go/hardware_probe/cmd/hardware_probe"
+	"go.chromium.org/chromiumos/graphics-utils-go/platform_decoding/cmd/validate"
+	"go.chromium.org/chromiumos/graphics-utils-go/sanity/cmd/pass"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_profiling/cmd/analyze"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_profiling/cmd/gen_db_result"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_profiling/cmd/merge"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_profiling/cmd/profile"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_replay/cmd/trace_replay"
+)
+
+CROS_GO_VET=(
+	"${CROS_GO_TEST[@]}"
+)
+
+inherit cros-go cros-workon
+SRC_URI="$(cros-go_src_uri)"
+
+DESCRIPTION="Portable graphics utils written in go"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/graphics/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="
+	chromeos-base/cros-config-api
+	dev-go/crypto
+	dev-go/fogleman-gg
+	dev-go/go-image
+	dev-go/go-pdf
+	dev-go/golang-freetype
+	dev-go/gonum-plot
+	dev-go/protobuf
+	dev-go/protobuf-legacy-api
+	dev-go/readline
+	dev-go/svgo
+	dev-go/uuid
+"
+
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+	# Disable cgo and PIE on building Tast binaries. See:
+	# https://crbug.com/976196
+	# https://github.com/golang/go/issues/30986#issuecomment-475626018
+	export CGO_ENABLED=0
+	export GOPIE=0
+
+	default
+}
diff --git a/chromeos-base/graphics-utils-go/graphics-utils-go-9999.ebuild b/chromeos-base/graphics-utils-go/graphics-utils-go-9999.ebuild
index 06ffe85..d64bdd1 100644
--- a/chromeos-base/graphics-utils-go/graphics-utils-go-9999.ebuild
+++ b/chromeos-base/graphics-utils-go/graphics-utils-go-9999.ebuild
@@ -9,24 +9,27 @@
 
 CROS_GO_BINARIES=(
 	# Add more apps here.
-	"platform_decoding/cmd/validate:${INSTALL_DIR}/validate"
-	"sanity/cmd/pass:${INSTALL_DIR}/pass"
-	"trace_profiling/cmd/analyze:${INSTALL_DIR}/analyze"
-	"trace_profiling/cmd/gen_db_result:${INSTALL_DIR}/get_device_info"
-	"trace_profiling/cmd/harvest:${INSTALL_DIR}/harvest"
-	"trace_profiling/cmd/merge:${INSTALL_DIR}/merge"
-	"trace_profiling/cmd/profile:${INSTALL_DIR}/profile"
-	"trace_replay/cmd/trace_replay:${INSTALL_DIR}/trace_replay"
+	"go.chromium.org/chromiumos/graphics-utils-go/hardware_probe/cmd/hardware_probe:${INSTALL_DIR}/hardware_probe"
+	"go.chromium.org/chromiumos/graphics-utils-go/platform_decoding/cmd/ffmpeg_md5sum:${INSTALL_DIR}/ffmpeg_md5sum"
+	"go.chromium.org/chromiumos/graphics-utils-go/platform_decoding/cmd/validate:${INSTALL_DIR}/validate"
+	"go.chromium.org/chromiumos/graphics-utils-go/sanity/cmd/pass:${INSTALL_DIR}/pass"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_profiling/cmd/analyze:${INSTALL_DIR}/analyze"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_profiling/cmd/gen_db_result:${INSTALL_DIR}/get_device_info"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_profiling/cmd/harvest:${INSTALL_DIR}/harvest"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_profiling/cmd/merge:${INSTALL_DIR}/merge"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_profiling/cmd/profile:${INSTALL_DIR}/profile"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_replay/cmd/trace_replay:${INSTALL_DIR}/trace_replay"
 )
 
 CROS_GO_TEST=(
-	"platform_decoding/cmd/validate"
-	"sanity/cmd/pass"
-	"trace_profiling/cmd/analyze"
-	"trace_profiling/cmd/gen_db_result"
-	"trace_profiling/cmd/merge"
-	"trace_profiling/cmd/profile"
-	"trace_replay/cmd/trace_replay"
+	"go.chromium.org/chromiumos/graphics-utils-go/hardware_probe/cmd/hardware_probe"
+	"go.chromium.org/chromiumos/graphics-utils-go/platform_decoding/cmd/validate"
+	"go.chromium.org/chromiumos/graphics-utils-go/sanity/cmd/pass"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_profiling/cmd/analyze"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_profiling/cmd/gen_db_result"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_profiling/cmd/merge"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_profiling/cmd/profile"
+	"go.chromium.org/chromiumos/graphics-utils-go/trace_replay/cmd/trace_replay"
 )
 
 CROS_GO_VET=(
@@ -49,10 +52,11 @@
 	dev-go/crypto
 	dev-go/fogleman-gg
 	dev-go/go-image
-	dev-go/gofpdf
+	dev-go/go-pdf
 	dev-go/golang-freetype
 	dev-go/gonum-plot
 	dev-go/protobuf
+	dev-go/protobuf-legacy-api
 	dev-go/readline
 	dev-go/svgo
 	dev-go/uuid
diff --git a/chromeos-base/graphics-utils-python/graphics-utils-python-0.0.1-r5.ebuild b/chromeos-base/graphics-utils-python/graphics-utils-python-0.0.1-r5.ebuild
deleted file mode 100644
index d6e53c2..0000000
--- a/chromeos-base/graphics-utils-python/graphics-utils-python-0.0.1-r5.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_WORKON_COMMIT="0d0758e67707f61ebd3bf67d28db95a90790c53d"
-CROS_WORKON_TREE="95b75597932a73a3f6a2fb6eb32a171a8362990f"
-CROS_WORKON_PROJECT="chromiumos/platform/graphics"
-CROS_WORKON_LOCALNAME="platform/graphics"
-CROS_WORKON_SUBTREE="src/results_database"
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-inherit cros-workon distutils-r1
-
-DESCRIPTION="Graphics utilities written in python"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/graphics/"
-
-LICENSE="BSD-Google"
-SLOT=0
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="chromeos-base/cros-config-api"
-
-DEPEND="
-	${RDEPEND}
-"
-
-BDEPEND="
-	dev-python/setuptools[${PYTHON_USEDEP}]
-"
-
-src_unpack() {
-	cros-workon_src_unpack
-	S+="/src/results_database"
-}
-
-src_install() {
-	dobin bq_insert_pb.py
-	dobin generate_trace_info.py
-	dobin record_machine_info.py
-	dobin record_package_override.py
-	dobin record_software_config.py
-	dobin summarize_apitrace_log.py
-
-	distutils-r1_src_install
-}
diff --git a/chromeos-base/graphics-utils-python/graphics-utils-python-0.0.1-r6.ebuild b/chromeos-base/graphics-utils-python/graphics-utils-python-0.0.1-r6.ebuild
new file mode 100644
index 0000000..2e93ed9
--- /dev/null
+++ b/chromeos-base/graphics-utils-python/graphics-utils-python-0.0.1-r6.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="6ae8fc5c6e9b8cfc268b2b18447114b770229c3b"
+CROS_WORKON_TREE="95b75597932a73a3f6a2fb6eb32a171a8362990f"
+CROS_WORKON_PROJECT="chromiumos/platform/graphics"
+CROS_WORKON_LOCALNAME="platform/graphics"
+CROS_WORKON_SUBTREE="src/results_database"
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-workon distutils-r1
+
+DESCRIPTION="Graphics utilities written in python"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/graphics/"
+
+LICENSE="BSD-Google"
+SLOT=0
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="chromeos-base/cros-config-api"
+
+DEPEND="
+	${RDEPEND}
+"
+
+BDEPEND="
+	dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+src_unpack() {
+	cros-workon_src_unpack
+	S+="/src/results_database"
+}
+
+src_install() {
+	dobin bq_insert_pb.py
+	dobin generate_trace_info.py
+	dobin record_machine_info.py
+	dobin record_package_override.py
+	dobin record_software_config.py
+	dobin summarize_apitrace_log.py
+
+	distutils-r1_src_install
+}
diff --git a/chromeos-base/graphics-utils-python/graphics-utils-python-9999.ebuild b/chromeos-base/graphics-utils-python/graphics-utils-python-9999.ebuild
index 6b6993e..98dd896 100644
--- a/chromeos-base/graphics-utils-python/graphics-utils-python-9999.ebuild
+++ b/chromeos-base/graphics-utils-python/graphics-utils-python-9999.ebuild
@@ -7,7 +7,7 @@
 CROS_WORKON_LOCALNAME="platform/graphics"
 CROS_WORKON_SUBTREE="src/results_database"
 
-PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 inherit cros-workon distutils-r1
 
diff --git a/chromeos-base/graphyte/graphyte-0.0.1-r39.ebuild b/chromeos-base/graphyte/graphyte-0.0.1-r39.ebuild
deleted file mode 100644
index 1340374..0000000
--- a/chromeos-base/graphyte/graphyte-0.0.1-r39.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f661990d0379f1030bdaa93c573ef4a50e9c6e66"
-CROS_WORKON_TREE="f05776e43faaedc4b58f8b38e20bdf050a59b264"
-CROS_WORKON_PROJECT="chromiumos/graphyte"
-CROS_WORKON_LOCALNAME="platform/graphyte"
-PYTHON_COMPAT=( python3_{6,7} )
-
-inherit cros-workon distutils-r1
-
-DESCRIPTION="Graphyte RF testing framework"
-HOMEPAGE="https://sites.google.com/a/google.com/graphyte/home"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND=""
-BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/chromeos-base/graphyte/graphyte-0.0.1-r40.ebuild b/chromeos-base/graphyte/graphyte-0.0.1-r40.ebuild
new file mode 100644
index 0000000..7c4f3f0
--- /dev/null
+++ b/chromeos-base/graphyte/graphyte-0.0.1-r40.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="f661990d0379f1030bdaa93c573ef4a50e9c6e66"
+CROS_WORKON_TREE="f05776e43faaedc4b58f8b38e20bdf050a59b264"
+CROS_WORKON_PROJECT="chromiumos/graphyte"
+CROS_WORKON_LOCALNAME="platform/graphyte"
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-workon distutils-r1
+
+DESCRIPTION="Graphyte RF testing framework"
+HOMEPAGE="https://sites.google.com/a/google.com/graphyte/home"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND=""
+BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/chromeos-base/graphyte/graphyte-9999.ebuild b/chromeos-base/graphyte/graphyte-9999.ebuild
index cbe925b..78d5277 100644
--- a/chromeos-base/graphyte/graphyte-9999.ebuild
+++ b/chromeos-base/graphyte/graphyte-9999.ebuild
@@ -4,7 +4,7 @@
 EAPI=7
 CROS_WORKON_PROJECT="chromiumos/graphyte"
 CROS_WORKON_LOCALNAME="platform/graphyte"
-PYTHON_COMPAT=( python3_{6,7} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 inherit cros-workon distutils-r1
 
diff --git a/chromeos-base/hammerd-test-utils/files/revision_bump b/chromeos-base/hammerd-test-utils/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/hammerd-test-utils/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/hammerd-test-utils/hammerd-test-utils-0.0.1-r638.ebuild b/chromeos-base/hammerd-test-utils/hammerd-test-utils-0.0.1-r638.ebuild
deleted file mode 100644
index ec603a0..0000000
--- a/chromeos-base/hammerd-test-utils/hammerd-test-utils-0.0.1-r638.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "23df230842a4c3dc7f151ee7495072f999bd7ddd" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_SUBTREE="common-mk hammerd .gn"
-
-PLATFORM_SUBDIR="hammerd"
-
-PYTHON_COMPAT=( python3_{6..8} )
-
-inherit cros-workon platform distutils-r1
-
-DESCRIPTION="Python wrapper of hammerd API and some python utility scripts."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/hammerd/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="+hammerd_api"
-
-BDEPEND="
-	dev-python/setuptools[${PYTHON_USEDEP}]
-"
-RDEPEND="
-	chromeos-base/hammerd:=
-"
-DEPEND="${RDEPEND}"
-
-src_configure() {
-	platform_src_configure
-	distutils-r1_src_configure
-}
-
-src_compile() {
-	platform_src_compile
-	distutils-r1_src_compile
-}
-
-src_install() {
-	# Install exposed API.
-	dolib.so "${OUT}"/lib/libhammerd-api.so
-	insinto /usr/include/hammerd/
-	doins hammerd_api.h
-	distutils-r1_src_install
-
-	# Install hammer base tests on dut
-	dodir /usr/local/bin/hammertests
-	cp -R "${S}/hammertests" "${D}/usr/local/bin"
-}
diff --git a/chromeos-base/hammerd-test-utils/hammerd-test-utils-0.0.1-r703.ebuild b/chromeos-base/hammerd-test-utils/hammerd-test-utils-0.0.1-r703.ebuild
new file mode 100644
index 0000000..5927c41
--- /dev/null
+++ b/chromeos-base/hammerd-test-utils/hammerd-test-utils-0.0.1-r703.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "012c74a2d8eae81ede02bdd5d5fdcdaeafd46f34" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk hammerd .gn"
+
+PLATFORM_SUBDIR="hammerd"
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-workon platform distutils-r1
+
+DESCRIPTION="Python wrapper of hammerd API and some python utility scripts."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hammerd/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="+hammerd_api"
+
+BDEPEND="
+	dev-python/setuptools[${PYTHON_USEDEP}]
+"
+RDEPEND="
+	chromeos-base/hammerd:=
+"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+	platform_src_configure
+	distutils-r1_src_configure
+}
+
+src_compile() {
+	platform_src_compile
+	distutils-r1_src_compile
+}
+
+src_install() {
+	# Install exposed API.
+	dolib.so "${OUT}"/lib/libhammerd-api.so
+	insinto /usr/include/hammerd/
+	doins hammerd_api.h
+	distutils-r1_src_install
+
+	# Install hammer base tests on dut
+	dodir /usr/local/bin/hammertests
+	cp -R "${S}/hammertests" "${D}/usr/local/bin"
+}
diff --git a/chromeos-base/hammerd-test-utils/hammerd-test-utils-9999.ebuild b/chromeos-base/hammerd-test-utils/hammerd-test-utils-9999.ebuild
index 9e5b295..bdd2f61 100644
--- a/chromeos-base/hammerd-test-utils/hammerd-test-utils-9999.ebuild
+++ b/chromeos-base/hammerd-test-utils/hammerd-test-utils-9999.ebuild
@@ -11,12 +11,12 @@
 
 PLATFORM_SUBDIR="hammerd"
 
-PYTHON_COMPAT=( python3_{6..8} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 inherit cros-workon platform distutils-r1
 
 DESCRIPTION="Python wrapper of hammerd API and some python utility scripts."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/hammerd/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hammerd/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/hammerd/files/revision_bump b/chromeos-base/hammerd/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/hammerd/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/hammerd/hammerd-0.0.1-r1101.ebuild b/chromeos-base/hammerd/hammerd-0.0.1-r1101.ebuild
deleted file mode 100644
index c949bb1..0000000
--- a/chromeos-base/hammerd/hammerd-0.0.1-r1101.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "23df230842a4c3dc7f151ee7495072f999bd7ddd" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_SUBTREE="common-mk hammerd .gn"
-
-PLATFORM_SUBDIR="hammerd"
-
-inherit cros-workon platform user
-
-DESCRIPTION="A daemon to update EC firmware of hammer, the base of the detachable."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/hammerd/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="-hammerd_api fuzzer"
-
-RDEPEND="
-	chromeos-base/ec-utils:=
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/vboot_reference:=
-	dev-libs/openssl:0=
-	sys-apps/flashmap:=
-"
-DEPEND="
-	${RDEPEND}
-	chromeos-base/system_api:=[fuzzer?]
-"
-
-pkg_preinst() {
-	# Create user and group for hammerd
-	enewuser "hammerd"
-	enewgroup "hammerd"
-}
-
-src_install() {
-	platform_install
-
-	local fuzzer_component_id="167114"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/hammerd_load_ec_image_fuzzer \
-		--comp "${fuzzer_component_id}"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/hammerd_update_fw_fuzzer \
-		--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/hammerd/hammerd-0.0.1-r1165.ebuild b/chromeos-base/hammerd/hammerd-0.0.1-r1165.ebuild
new file mode 100644
index 0000000..c37a9bb
--- /dev/null
+++ b/chromeos-base/hammerd/hammerd-0.0.1-r1165.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "012c74a2d8eae81ede02bdd5d5fdcdaeafd46f34" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk hammerd .gn"
+
+PLATFORM_SUBDIR="hammerd"
+
+inherit cros-workon platform user
+
+DESCRIPTION="A daemon to update EC firmware of hammer, the base of the detachable."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hammerd/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="-hammerd_api fuzzer"
+
+RDEPEND="
+	chromeos-base/ec-utils:=
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/vboot_reference:=
+	dev-libs/openssl:0=
+	sys-apps/flashmap:=
+"
+DEPEND="
+	${RDEPEND}
+	chromeos-base/system_api:=[fuzzer?]
+"
+
+pkg_preinst() {
+	# Create user and group for hammerd
+	enewuser "hammerd"
+	enewgroup "hammerd"
+}
+
+src_install() {
+	platform_install
+
+	local fuzzer_component_id="167114"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/hammerd_load_ec_image_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/hammerd_update_fw_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/hammerd/hammerd-9999.ebuild b/chromeos-base/hammerd/hammerd-9999.ebuild
index ec5b698..3de005a 100644
--- a/chromeos-base/hammerd/hammerd-9999.ebuild
+++ b/chromeos-base/hammerd/hammerd-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform user
 
 DESCRIPTION="A daemon to update EC firmware of hammer, the base of the detachable."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/hammerd/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hammerd/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/hardware_verifier/files/revision_bump b/chromeos-base/hardware_verifier/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/hardware_verifier/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/hardware_verifier/hardware_verifier-0.0.1-r432.ebuild b/chromeos-base/hardware_verifier/hardware_verifier-0.0.1-r432.ebuild
deleted file mode 100644
index ec0a3f6..0000000
--- a/chromeos-base/hardware_verifier/hardware_verifier-0.0.1-r432.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "bea140d13f7cf1092e4c89a45011c04c28327972" "1b6791d8f3bd43faefbaff3664ccf8eeabdfa502" "4a0dedab080195bdc122d2289118df4af3ddca2c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk chromeos-config hardware_verifier metrics .gn"
-
-PLATFORM_SUBDIR="hardware_verifier"
-
-inherit cros-workon cros-unibuild platform user
-
-DESCRIPTION="Hardware Verifier Tool/Lib for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/hardware_verifier/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-DEPEND="
-	chromeos-base/chromeos-config-tools:=
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/system_api:=
-	chromeos-base/vboot_reference:=
-"
-
-pkg_preinst() {
-	# Create user and group for hardware_verifier
-	enewuser "hardware_verifier"
-	enewgroup "hardware_verifier"
-}
-
-src_install() {
-	dobin "${OUT}/hardware_verifier"
-
-	insinto /etc/init
-	doins init/hardware_verifier.conf
-	doins init/hardware_verifier-dbus.conf
-
-	# Install D-Bus configuration file.
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.HardwareVerifier.conf
-
-	# Install D-Bus service activation configuration.
-	insinto /usr/share/dbus-1/system-services
-	doins dbus/org.chromium.HardwareVerifier.service
-
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/unittest_runner"
-}
diff --git a/chromeos-base/hardware_verifier/hardware_verifier-0.0.1-r577.ebuild b/chromeos-base/hardware_verifier/hardware_verifier-0.0.1-r577.ebuild
new file mode 100644
index 0000000..0e9d1f7
--- /dev/null
+++ b/chromeos-base/hardware_verifier/hardware_verifier-0.0.1-r577.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "527abd7a988a45572305a6c44b5324d0d9cf8be2" "68361c6922909c829d679a3b5f79a5a64e977c35" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk chromeos-config hardware_verifier metrics .gn"
+
+PLATFORM_SUBDIR="hardware_verifier"
+
+inherit cros-workon cros-unibuild platform user
+
+DESCRIPTION="Hardware Verifier Tool/Lib for Chrome OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hardware_verifier/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+DEPEND="
+	chromeos-base/chromeos-config-tools:=
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/runtime_probe-client:=
+	chromeos-base/system_api:=
+	chromeos-base/vboot_reference:=
+"
+
+pkg_preinst() {
+	# Create user and group for hardware_verifier
+	enewuser "hardware_verifier"
+	enewgroup "hardware_verifier"
+}
+
+src_install() {
+	platform_src_install
+
+	dobin "${OUT}/hardware_verifier"
+
+	insinto /etc/init
+	doins init/hardware_verifier.conf
+	doins init/hardware_verifier-dbus.conf
+
+	# Install D-Bus configuration file.
+	insinto /etc/dbus-1/system.d
+	doins dbus/org.chromium.HardwareVerifier.conf
+
+	# Install D-Bus service activation configuration.
+	insinto /usr/share/dbus-1/system-services
+	doins dbus/org.chromium.HardwareVerifier.service
+
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/unittest_runner"
+}
diff --git a/chromeos-base/hardware_verifier/hardware_verifier-9999.ebuild b/chromeos-base/hardware_verifier/hardware_verifier-9999.ebuild
index ce4279a..2705871 100644
--- a/chromeos-base/hardware_verifier/hardware_verifier-9999.ebuild
+++ b/chromeos-base/hardware_verifier/hardware_verifier-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon cros-unibuild platform user
 
 DESCRIPTION="Hardware Verifier Tool/Lib for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/hardware_verifier/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hardware_verifier/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
@@ -22,6 +22,7 @@
 DEPEND="
 	chromeos-base/chromeos-config-tools:=
 	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/runtime_probe-client:=
 	chromeos-base/system_api:=
 	chromeos-base/vboot_reference:=
 "
@@ -33,6 +34,8 @@
 }
 
 src_install() {
+	platform_src_install
+
 	dobin "${OUT}/hardware_verifier"
 
 	insinto /etc/init
diff --git a/chromeos-base/hardware_verifier_proto/files/revision_bump b/chromeos-base/hardware_verifier_proto/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/hardware_verifier_proto/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/hardware_verifier_proto/hardware_verifier_proto-0.0.1-r284.ebuild b/chromeos-base/hardware_verifier_proto/hardware_verifier_proto-0.0.1-r284.ebuild
deleted file mode 100644
index 0d214d4..0000000
--- a/chromeos-base/hardware_verifier_proto/hardware_verifier_proto-0.0.1-r284.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "1b6791d8f3bd43faefbaff3664ccf8eeabdfa502" "4a0dedab080195bdc122d2289118df4af3ddca2c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_GO_PACKAGES=(
-	"chromiumos/hardware_verifier/..."
-)
-
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk hardware_verifier metrics .gn"
-
-PLATFORM_SUBDIR="hardware_verifier/proto"
-
-inherit cros-workon cros-go platform
-
-DESCRIPTION="Hardware Verifier go proto for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/hardware_verifier/proto"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-DEPEND="
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/system_api:=
-	chromeos-base/vboot_reference:=
-	dev-go/protobuf
-"
-
-src_unpack() {
-	platform_src_unpack
-	CROS_GO_WORKSPACE="${OUT}/gen/go"
-}
-
-src_install() {
-	cros-go_src_install
-}
diff --git a/chromeos-base/hardware_verifier_proto/hardware_verifier_proto-0.0.1-r385.ebuild b/chromeos-base/hardware_verifier_proto/hardware_verifier_proto-0.0.1-r385.ebuild
new file mode 100644
index 0000000..4a37668
--- /dev/null
+++ b/chromeos-base/hardware_verifier_proto/hardware_verifier_proto-0.0.1-r385.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "68361c6922909c829d679a3b5f79a5a64e977c35" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_GO_PACKAGES=(
+	"chromiumos/hardware_verifier/..."
+)
+
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk hardware_verifier metrics .gn"
+
+PLATFORM_SUBDIR="hardware_verifier/proto"
+
+inherit cros-workon cros-go platform
+
+DESCRIPTION="Hardware Verifier go proto for Chrome OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hardware_verifier/proto"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+DEPEND="
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/system_api:=
+	chromeos-base/vboot_reference:=
+	dev-go/protobuf
+	dev-go/protobuf-legacy-api
+"
+
+src_unpack() {
+	platform_src_unpack
+	CROS_GO_WORKSPACE="${OUT}/gen/go"
+}
+
+src_install() {
+	cros-go_src_install
+}
diff --git a/chromeos-base/hardware_verifier_proto/hardware_verifier_proto-9999.ebuild b/chromeos-base/hardware_verifier_proto/hardware_verifier_proto-9999.ebuild
index e0d699e..411a10d 100644
--- a/chromeos-base/hardware_verifier_proto/hardware_verifier_proto-9999.ebuild
+++ b/chromeos-base/hardware_verifier_proto/hardware_verifier_proto-9999.ebuild
@@ -17,7 +17,7 @@
 inherit cros-workon cros-go platform
 
 DESCRIPTION="Hardware Verifier go proto for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/hardware_verifier/proto"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hardware_verifier/proto"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
@@ -27,6 +27,7 @@
 	chromeos-base/system_api:=
 	chromeos-base/vboot_reference:=
 	dev-go/protobuf
+	dev-go/protobuf-legacy-api
 "
 
 src_unpack() {
diff --git a/chromeos-base/hiberman-client/files/revision_bump b/chromeos-base/hiberman-client/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/hiberman-client/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/hiberman-client/hiberman-client-0.0.1-r24.ebuild b/chromeos-base/hiberman-client/hiberman-client-0.0.1-r24.ebuild
deleted file mode 100644
index 1a03676..0000000
--- a/chromeos-base/hiberman-client/hiberman-client-0.0.1-r24.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e6e638284933bbc1a4d011036e9cfaa09b4813eb" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk hiberman .gn"
-
-PLATFORM_NATIVE_TEST="yes"
-PLATFORM_SUBDIR="hiberman/client"
-
-inherit cros-workon platform
-
-DESCRIPTION="Hibernate manager DBus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hiberman/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="cros_host"
-
-DEPEND=""
-RDEPEND=""
-
-BDEPEND="
-	chromeos-base/chromeos-dbus-bindings:=
-"
-
-src_install() {
-	# Install DBus client library.
-	platform_install_dbus_client_lib "hibernate"
-}
diff --git a/chromeos-base/hiberman-client/hiberman-client-0.0.1-r98.ebuild b/chromeos-base/hiberman-client/hiberman-client-0.0.1-r98.ebuild
new file mode 100644
index 0000000..29abf2b
--- /dev/null
+++ b/chromeos-base/hiberman-client/hiberman-client-0.0.1-r98.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "08bdf83cf4f403dd53e27531e66f3a1fd9a23881" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk hiberman .gn"
+
+PLATFORM_NATIVE_TEST="yes"
+PLATFORM_SUBDIR="hiberman/client"
+
+inherit cros-workon platform
+
+DESCRIPTION="Hibernate manager DBus client library for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hiberman/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="cros_host"
+
+DEPEND=""
+RDEPEND=""
+
+BDEPEND="
+	chromeos-base/chromeos-dbus-bindings:=
+"
+
+src_install() {
+	# Install DBus client library.
+	platform_install_dbus_client_lib "hibernate"
+}
diff --git a/chromeos-base/hiberman/files/hiberman.conf b/chromeos-base/hiberman/files/hiberman.conf
new file mode 100644
index 0000000..69c5101
--- /dev/null
+++ b/chromeos-base/hiberman/files/hiberman.conf
@@ -0,0 +1,17 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+description   "Start hibernate resume manager"
+author        "chromium-os-dev@chromium.org"
+
+start on starting system-services
+stop on stopping system-services
+
+# The hiberman resume service deliberately soaks up available memory trying to
+# preload the hibernate image upon resume. It attempts to always leave enough
+# memory free to continue system operations. If this service is killed, the
+# system will be unable to resume from this hibernation.
+oom score -500
+
+exec /usr/sbin/hiberman resume
diff --git a/chromeos-base/hiberman/hiberman-0.0.1-r25.ebuild b/chromeos-base/hiberman/hiberman-0.0.1-r25.ebuild
new file mode 100644
index 0000000..de73f68
--- /dev/null
+++ b/chromeos-base/hiberman/hiberman-0.0.1-r25.ebuild
@@ -0,0 +1,70 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="be0a51c6f8bf94ab19e7d38c575e1a602652383d"
+CROS_WORKON_TREE="08bdf83cf4f403dd53e27531e66f3a1fd9a23881"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_SUBTREE="hiberman"
+
+inherit cros-workon cros-rust user
+
+DESCRIPTION="The hibernate service manager."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hiberman/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="
+	dev-libs/openssl:=
+	=dev-rust/anyhow-1*:=
+	dev-rust/chromeos-dbus-bindings:=
+	=dev-rust/dbus-0.9*:=
+	=dev-rust/dbus-crossroads-0.5*:=
+	=dev-rust/getopts-0.2*
+	>=dev-rust/libc-0.2.94 <dev-rust/libc-0.3.0_alpha:=
+	=dev-rust/log-0.4*:=
+	=dev-rust/once_cell-1*:=
+	=dev-rust/stderrlog-0.5*:=
+	=dev-rust/syslog-6*:=
+	=dev-rust/openssl-0.10*:=
+	=dev-rust/protobuf-2*:=
+	=dev-rust/serde-1*:=
+	dev-rust/serde_derive:=
+	=dev-rust/serde_json-1*:=
+	dev-rust/sync:=
+	dev-rust/sys_util:=
+	dev-rust/system_api:=
+	>=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:=
+	>=dev-rust/zeroize-1.5.1 <dev-rust/zeroize-2.0.0_alpha:=
+"
+RDEPEND="${DEPEND}
+	sys-apps/dbus
+"
+
+src_install() {
+	local build_dir="$(cros-rust_get_build_dir)"
+	dosbin "${build_dir}/hiberman"
+
+	insinto /etc/dbus-1/system.d
+	doins dbus/org.chromium.Hibernate.conf
+
+	insinto /etc/init
+	doins "${FILESDIR}/hiberman.conf"
+}
+
+pkg_setup() {
+	enewuser hiberman
+	enewgroup hiberman
+	cros-rust_pkg_setup
+}
+
+pkg_preinst() {
+	local mnt_dir="${ROOT}/mnt/hibernate"
+	[[ -d "{mnt_dir}" ]] || \
+		install -d --mode=0700 --owner=hiberman --group=hiberman "${mnt_dir}"
+}
diff --git a/chromeos-base/hiberman/hiberman-0.0.1-r6.ebuild b/chromeos-base/hiberman/hiberman-0.0.1-r6.ebuild
deleted file mode 100644
index bc806be..0000000
--- a/chromeos-base/hiberman/hiberman-0.0.1-r6.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="3076d813c2333c867034e448ec86013750905950"
-CROS_WORKON_TREE="e6e638284933bbc1a4d011036e9cfaa09b4813eb"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE="hiberman"
-
-inherit cros-workon cros-rust user
-
-DESCRIPTION="The hibernate service manager."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hiberman/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND="
-	dev-libs/openssl:=
-	=dev-rust/anyhow-1*:=
-	dev-rust/chromeos-dbus-bindings:=
-	=dev-rust/dbus-0.9*:=
-	=dev-rust/dbus-crossroads-0.5*:=
-	=dev-rust/getopts-0.2*
-	>=dev-rust/libc-0.2.94 <dev-rust/libc-0.3.0_alpha:=
-	=dev-rust/log-0.4*:=
-	=dev-rust/once_cell-1*:=
-	dev-rust/syslog:=
-	=dev-rust/openssl-0.10*:=
-	=dev-rust/protobuf-2*:=
-	=dev-rust/serde-1*:=
-	dev-rust/serde_derive:=
-	=dev-rust/serde_json-1*:=
-	dev-rust/sync:=
-	dev-rust/sys_util:=
-	dev-rust/system_api:=
-	>=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:=
-	>=dev-rust/zeroize-1.5.1 <dev-rust/zeroize-2.0.0_alpha:=
-"
-RDEPEND="${DEPEND}
-	sys-apps/dbus
-"
-
-src_install() {
-	local build_dir="$(cros-rust_get_build_dir)"
-	dosbin "${build_dir}/hiberman"
-
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.Hibernate.conf
-}
-
-pkg_setup() {
-	enewuser hiberman
-	enewgroup hiberman
-	cros-rust_pkg_setup
-}
diff --git a/chromeos-base/hiberman/hiberman-9999.ebuild b/chromeos-base/hiberman/hiberman-9999.ebuild
index 812d350..b3f71d6 100644
--- a/chromeos-base/hiberman/hiberman-9999.ebuild
+++ b/chromeos-base/hiberman/hiberman-9999.ebuild
@@ -27,7 +27,8 @@
 	>=dev-rust/libc-0.2.94 <dev-rust/libc-0.3.0_alpha:=
 	=dev-rust/log-0.4*:=
 	=dev-rust/once_cell-1*:=
-	dev-rust/syslog:=
+	=dev-rust/stderrlog-0.5*:=
+	=dev-rust/syslog-6*:=
 	=dev-rust/openssl-0.10*:=
 	=dev-rust/protobuf-2*:=
 	=dev-rust/serde-1*:=
@@ -49,6 +50,9 @@
 
 	insinto /etc/dbus-1/system.d
 	doins dbus/org.chromium.Hibernate.conf
+
+	insinto /etc/init
+	doins "${FILESDIR}/hiberman.conf"
 }
 
 pkg_setup() {
@@ -56,3 +60,9 @@
 	enewgroup hiberman
 	cros-rust_pkg_setup
 }
+
+pkg_preinst() {
+	local mnt_dir="${ROOT}/mnt/hibernate"
+	[[ -d "{mnt_dir}" ]] || \
+		install -d --mode=0700 --owner=hiberman --group=hiberman "${mnt_dir}"
+}
diff --git a/chromeos-base/hps-firmware-images/hps-firmware-images-0.0.1-r19.ebuild b/chromeos-base/hps-firmware-images/hps-firmware-images-0.0.1-r19.ebuild
deleted file mode 100644
index a2cc257..0000000
--- a/chromeos-base/hps-firmware-images/hps-firmware-images-0.0.1-r19.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="2b51d6dc0025a2ecad9303b508f3b8bf87f81d48"
-CROS_WORKON_TREE="4c623ad83bb42ce52ae0fa54630da22ad319b1d8"
-CROS_WORKON_PROJECT="chromiumos/platform/hps-firmware-images"
-CROS_WORKON_LOCALNAME="platform/hps-firmware-images"
-
-inherit cros-workon
-
-DESCRIPTION="Chrome OS HPS firmware"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/hps-firmware-images/+/HEAD"
-
-# For more details about the license, please refer to b/194344208#comment10.
-LICENSE="BSD-Google BSD-2 Apache-2.0 MIT 0BSD BSD ISC"
-KEYWORDS="*"
-
-src_install() {
-	# Generate a single combined LICENSE file from all applicable license texts,
-	# so that the Chrome OS license scanner can find it.
-	cat <<-EOF > LICENSE
-	HPS firmware source code is available under the Apache License 2.0.
-	HPS firmware binaries also incorporate source code from several
-	other projects under other licenses:
-	EOF
-	cat licenses/third-party/* >> LICENSE
-
-	dobin "${S}"/bin/*
-}
diff --git a/chromeos-base/hps-firmware-images/hps-firmware-images-0.0.1-r40.ebuild b/chromeos-base/hps-firmware-images/hps-firmware-images-0.0.1-r40.ebuild
new file mode 100644
index 0000000..42879a1
--- /dev/null
+++ b/chromeos-base/hps-firmware-images/hps-firmware-images-0.0.1-r40.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="4ee72fddab81ee0f22df360c86fd7c3c13e833d8"
+CROS_WORKON_TREE="7113c8558041fad75b61ed7f430dfc96090943b2"
+CROS_WORKON_PROJECT="chromiumos/platform/hps-firmware-images"
+CROS_WORKON_LOCALNAME="platform/hps-firmware-images"
+
+inherit cros-workon
+
+DESCRIPTION="Chrome OS HPS firmware"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/hps-firmware-images/+/HEAD"
+
+# For more details about the license, please refer to b/194344208#comment10.
+LICENSE="BSD-Google BSD-2 Apache-2.0 MIT 0BSD BSD ISC"
+KEYWORDS="*"
+
+# before signing firmware files were installed from this source ebuild
+RDEPEND="
+	!<chromeos-base/hps-firmware-0.1.0-r296
+"
+
+src_install() {
+	# Generate a single combined LICENSE file from all applicable license texts,
+	# so that the Chrome OS license scanner can find it.
+	cat <<-EOF > LICENSE
+	HPS firmware source code is available under the Apache License 2.0.
+	HPS firmware binaries also incorporate source code from several
+	other projects under other licenses:
+	EOF
+	cat licenses/third-party/* >> LICENSE
+
+	# Extract stage1 version (currently this is just the first 4 bytes of the
+	# stage1 signature).
+	python3 -c "with open('firmware-signed/mcu_stage1.bin', 'rb') as f:
+		f.seek(20);
+		print(int.from_bytes(f.read(4), 'big'))" \
+		>firmware-signed/mcu_stage1.version.txt || die
+
+	# Compress firmware images to save space. hpsd will decompress these on the fly.
+	# hpsd limits decompression memory to 20MiB. xz(1) explains:
+	# "The settings used when compressing a file determine the memory
+	# requirements of the decompressor.  Typically the decompressor needs
+	# 5 % to 20 % of the amount of memory that the compressor needed when
+	# creating the file." Thus we apply a limit of 80MiB when compressing.
+	xz -9 --memlimit-compress=80MiB \
+		firmware-signed/fpga_application.bin \
+		firmware-signed/fpga_bitstream.bin \
+		firmware-signed/mcu_stage1.bin
+
+	insinto "/usr/lib/firmware/hps"
+	doins "${S}/firmware-signed/fpga_application.bin.xz"
+	doins "${S}/firmware-signed/fpga_bitstream.bin.xz"
+	doins "${S}/firmware-signed/mcu_stage1.bin.xz"
+	doins "${S}/firmware-signed/mcu_stage1.version.txt"
+	doins "${S}/firmware-signed/manifest.txt"
+}
diff --git a/chromeos-base/hps-firmware-images/hps-firmware-images-9999.ebuild b/chromeos-base/hps-firmware-images/hps-firmware-images-9999.ebuild
index c3d1fa8..b39adb2 100644
--- a/chromeos-base/hps-firmware-images/hps-firmware-images-9999.ebuild
+++ b/chromeos-base/hps-firmware-images/hps-firmware-images-9999.ebuild
@@ -14,6 +14,11 @@
 LICENSE="BSD-Google BSD-2 Apache-2.0 MIT 0BSD BSD ISC"
 KEYWORDS="~*"
 
+# before signing firmware files were installed from this source ebuild
+RDEPEND="
+	!<chromeos-base/hps-firmware-0.1.0-r296
+"
+
 src_install() {
 	# Generate a single combined LICENSE file from all applicable license texts,
 	# so that the Chrome OS license scanner can find it.
@@ -24,5 +29,28 @@
 	EOF
 	cat licenses/third-party/* >> LICENSE
 
-	dobin "${S}"/bin/*
+	# Extract stage1 version (currently this is just the first 4 bytes of the
+	# stage1 signature).
+	python3 -c "with open('firmware-signed/mcu_stage1.bin', 'rb') as f:
+		f.seek(20);
+		print(int.from_bytes(f.read(4), 'big'))" \
+		>firmware-signed/mcu_stage1.version.txt || die
+
+	# Compress firmware images to save space. hpsd will decompress these on the fly.
+	# hpsd limits decompression memory to 20MiB. xz(1) explains:
+	# "The settings used when compressing a file determine the memory
+	# requirements of the decompressor.  Typically the decompressor needs
+	# 5 % to 20 % of the amount of memory that the compressor needed when
+	# creating the file." Thus we apply a limit of 80MiB when compressing.
+	xz -9 --memlimit-compress=80MiB \
+		firmware-signed/fpga_application.bin \
+		firmware-signed/fpga_bitstream.bin \
+		firmware-signed/mcu_stage1.bin
+
+	insinto "/usr/lib/firmware/hps"
+	doins "${S}/firmware-signed/fpga_application.bin.xz"
+	doins "${S}/firmware-signed/fpga_bitstream.bin.xz"
+	doins "${S}/firmware-signed/mcu_stage1.bin.xz"
+	doins "${S}/firmware-signed/mcu_stage1.version.txt"
+	doins "${S}/firmware-signed/manifest.txt"
 }
diff --git a/chromeos-base/hps-firmware-tools/hps-firmware-tools-0.0.1-r169.ebuild b/chromeos-base/hps-firmware-tools/hps-firmware-tools-0.0.1-r169.ebuild
new file mode 100644
index 0000000..26b2cbf
--- /dev/null
+++ b/chromeos-base/hps-firmware-tools/hps-firmware-tools-0.0.1-r169.ebuild
@@ -0,0 +1,164 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="837f41291bc26e933fe4e301025a96530c931f47"
+CROS_WORKON_TREE="fb710f2e0908c3029361faef0d4897ab303db6dd"
+CROS_WORKON_PROJECT="chromiumos/platform/hps-firmware"
+CROS_WORKON_LOCALNAME="platform/hps-firmware2"
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-workon cros-rust python-any-r1
+
+DESCRIPTION="HPS firmware tools for development and testing"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/hps-firmware"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+BDEPEND="
+	dev-embedded/hps-sdk
+	dev-rust/svd2rust
+	>=sci-electronics/nextpnr-0.1_p20220210
+	sci-electronics/nmigen
+	sci-electronics/prjoxide
+	sci-electronics/yosys
+	sci-electronics/yosys-f4pga-plugins
+	$(python_gen_any_dep '
+		sci-electronics/litespi[${PYTHON_USEDEP}]
+		sci-electronics/litex[${PYTHON_USEDEP}]
+		sci-electronics/pythondata-cpu-vexriscv[${PYTHON_USEDEP}]
+	')
+"
+
+python_check_deps() {
+	has_version -b "sci-electronics/litespi[${PYTHON_USEDEP}]" &&
+		has_version -b "sci-electronics/litex[${PYTHON_USEDEP}]" &&
+		has_version -b "sci-electronics/pythondata-cpu-vexriscv[${PYTHON_USEDEP}]"
+}
+
+
+DEPEND="
+	>=dev-rust/anyhow-1.0.38:= <dev-rust/anyhow-2.0.0
+	>=dev-rust/bayer-0.1.5 <dev-rust/bayer-0.2.0_alpha:=
+	=dev-rust/bindgen-0.59*
+	>=dev-rust/bitflags-1.3.2:= <dev-rust/bitflags-2.0.0
+	=dev-rust/clap-3.0.0_beta2:=
+	=dev-rust/colored-2*:=
+	>=dev-rust/cortex-m-0.7.1:= <dev-rust/cortex-m-0.8.0
+	>=dev-rust/cortex-m-rt-0.6.13:= <dev-rust/cortex-m-rt-0.7.0
+	>=dev-rust/cortex-m-rtic-1.1.3:= <dev-rust/cortex-m-rtic-2.0.0
+	=dev-rust/crc-2*:=
+	>=dev-rust/defmt-0.2.1:= <dev-rust/defmt-0.3.0
+	=dev-rust/defmt-rtt-0.2*:=
+	=dev-rust/ed25519-compact-1*:=
+	>=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0
+	=dev-rust/embedded-hal-mock-0.8*:=
+	>=dev-rust/hmac-sha256-0.1.6:= <dev-rust/hmac-sha256-0.2.0
+	>=dev-rust/image-0.23.14:= <dev-rust/image-0.24
+	>=dev-rust/indicatif-0.16.2:= <dev-rust/indicatif-0.17
+	>=dev-rust/linux-embedded-hal-0.3.1:= <dev-rust/linux-embedded-hal-0.4
+	>=dev-rust/log-0.4.14:= <dev-rust/log-0.5
+	>=dev-rust/num_enum-0.5.1:= <dev-rust/num_enum-0.6.0
+	=dev-rust/nb-1*:=
+	=dev-rust/panic-halt-0.2*:=
+	=dev-rust/panic-reset-0.1*:=
+	=dev-rust/riscv-0.7*:=
+	=dev-rust/riscv-rt-0.8*:=
+	>=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9
+	=dev-rust/rustyline-9*:=
+	>=dev-rust/simple_logger-1.13.0:= <dev-rust/simple_logger-2
+	>=dev-rust/spi-memory-0.2.0:= <dev-rust/spi-memory-0.3.0
+	=dev-rust/stm32g0xx-hal-0.1*:=
+	=dev-rust/ufmt-0.1*:=
+	=dev-rust/ufmt-write-0.1*:=
+	>=dev-rust/panic-rtt-target-0.1.2:= <dev-rust/panic-rtt-target-0.2.0
+	>=dev-rust/rtt-target-0.3.1:= <dev-rust/rtt-target-0.4.0
+"
+
+# host tools used to live in hps-firmware
+# hps-factory used to live in hps-firmware-images
+RDEPEND="
+	!<chromeos-base/hps-firmware-0.1.0-r244
+	!<chromeos-base/hps-firmware-images-0.0.1-r28
+"
+
+src_unpack() {
+	cros-workon_src_unpack
+	cros-rust_src_unpack
+}
+
+src_prepare() {
+	# Not using cros-rust_src_prepare because it wrongly assumes Cargo.toml is
+	# in the root of ${S} and we don't need its manipulations anyway.
+
+	# config.toml is intended for use when running `cargo` directly but would
+	# mess with the ebuild if we didn't delete it.
+	rm -f rust/.cargo/config.toml
+
+	default
+}
+
+src_configure() {
+	# Use Python helper modules from CFU-Playground. These are developed
+	# upstream but are intimately tied to the HPS accelerator code.
+	export PYTHONPATH="${S}/third_party/python/CFU-Playground"
+
+	# Use Rust from hps-sdk, since the main Chrome OS Rust compiler
+	# does not yet support RISC-V.
+	export PATH="/opt/hps-sdk/bin:${PATH}"
+
+	# CROS_BASE_RUSTFLAGS are for the AP, they are not applicable to
+	# HPS firmware, which is cross-compiled for STM32
+	unset CROS_BASE_RUSTFLAGS
+	cros-rust_configure_cargo
+
+	# Override some unwanted rustflags configured by cros-rust_configure_cargo.
+	# For our Cortex-M0 target, we need "fat" LTO and opt-level=z (smallest) to
+	# make everything small enough to fit. Debug assertions and
+	# integer overflow checks introduce panicking paths into the firmware,
+	# which bloats the size of the images with extra strings in .rodata.
+	# TODO(dcallagh): tidy this up properly in cros-rust.eclass.
+	# CROS_BASE_RUSTFLAGS are the same problem.
+	# asan and ubsan are also the same problem.
+	# shellcheck disable=SC2154 # ECARGO_HOME is defined in cros-rust.eclass
+	cat <<- EOF >> "${ECARGO_HOME}/config"
+	[target.'cfg(all(target_arch = "arm", target_os = "none"))']
+	rustflags = [
+		"-Clto=yes",
+		"-Copt-level=z",
+		"-Coverflow-checks=off",
+		"-Cdebug-assertions=off",
+		"-Ccodegen-units=1",
+	]
+	EOF
+
+	# cros-rust_update_cargo_lock tries to handle Cargo.lock but it assumes
+	# there is only one Cargo.lock in the root of the source tree, which is not
+	# true for hps-firmware. For now just delete the ones we have.
+	rm rust/Cargo.lock rust/mcu/Cargo.lock rust/riscv/Cargo.lock
+}
+
+src_compile() {
+	# hps-factory needs an FPGA bitstream.
+	einfo "Building FPGA bitstream"
+	python -m soc.hps_soc || die
+
+	for tool in hps-factory hps-mon hps-util ; do (
+		cd rust/${tool} || die
+		einfo "Building ${tool}"
+		ecargo_build
+	) done
+}
+
+src_test() {
+	# The hps-firmware ebuild runs all unit tests (including for host tools),
+	# nothing more to do here.
+	:
+}
+
+src_install() {
+	dobin "$(cros-rust_get_build_dir)/hps-factory"
+	dobin "$(cros-rust_get_build_dir)/hps-mon"
+	dobin "$(cros-rust_get_build_dir)/hps-util"
+}
diff --git a/chromeos-base/hps-firmware-tools/hps-firmware-tools-0.0.1-r46.ebuild b/chromeos-base/hps-firmware-tools/hps-firmware-tools-0.0.1-r46.ebuild
deleted file mode 100644
index 1384495..0000000
--- a/chromeos-base/hps-firmware-tools/hps-firmware-tools-0.0.1-r46.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="9a38c2d76df6e341d5e43d0593acb39b9553fcab"
-CROS_WORKON_TREE="fd03a23a7e50b0866af8fc37ff13fb946c9bde0f"
-CROS_WORKON_PROJECT="chromiumos/platform/hps-firmware"
-CROS_WORKON_LOCALNAME="platform/hps-firmware2"
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="HPS firmware tools for development and testing"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/hps-firmware"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/anyhow-1.0.38:= <dev-rust/anyhow-2.0.0
-	>=dev-rust/bayer-0.1.5 <dev-rust/bayer-0.2.0_alpha:=
-	=dev-rust/bindgen-0.59*
-	>=dev-rust/bitflags-1.3.2:= <dev-rust/bitflags-2.0.0
-	=dev-rust/clap-3*:=
-	=dev-rust/colored-2*:=
-	>=dev-rust/cortex-m-0.7.1:= <dev-rust/cortex-m-0.8.0
-	>=dev-rust/cortex-m-rt-0.6.13:= <dev-rust/cortex-m-rt-0.7.0
-	>=dev-rust/cortex-m-rtic-0.5.5:= <dev-rust/cortex-m-rtic-0.6.0
-	=dev-rust/crc-2*:=
-	>=dev-rust/defmt-0.2.1:= <dev-rust/defmt-0.3.0
-	=dev-rust/defmt-rtt-0.2*:=
-	=dev-rust/ed25519-compact-1*:=
-	>=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0
-	=dev-rust/embedded-hal-mock-0.8*:=
-	>=dev-rust/hmac-sha256-0.1.6:= <dev-rust/hmac-sha256-0.2.0
-	>=dev-rust/image-0.23.14:= <dev-rust/image-0.24
-	>=dev-rust/linux-embedded-hal-0.3.1:= <dev-rust/linux-embedded-hal-0.4
-	>=dev-rust/num_enum-0.5.1:= <dev-rust/num_enum-0.6.0
-	=dev-rust/nb-1*:=
-	=dev-rust/panic-halt-0.2*:=
-	=dev-rust/panic-reset-0.1*:=
-	=dev-rust/riscv-0.7*:=
-	=dev-rust/riscv-rt-0.8*:=
-	>=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9
-	=dev-rust/rustyline-9*:=
-	>=dev-rust/serialport-4.0.1:= <dev-rust/serialport-5
-	>=dev-rust/spi-memory-0.2.0:= <dev-rust/spi-memory-0.3.0
-	=dev-rust/stm32g0xx-hal-0.1*:=
-	=dev-rust/ufmt-0.1*:=
-	=dev-rust/ufmt-write-0.1*:=
-	>=dev-rust/panic-rtt-target-0.1.2:= <dev-rust/panic-rtt-target-0.2.0
-	>=dev-rust/rtt-target-0.3.1:= <dev-rust/rtt-target-0.4.0
-"
-
-# host tools used to live in hps-firmware
-RDEPEND="
-	!<chromeos-base/hps-firmware-0.1.0-r244
-"
-
-src_unpack() {
-	cros-workon_src_unpack
-	cros-rust_src_unpack
-}
-
-src_prepare() {
-	# Not using cros-rust_src_prepare because it wrongly assumes Cargo.toml is
-	# in the root of ${S} and we don't need its manipulations anyway.
-
-	# Delete the top-level workspace Cargo.toml. This avoids build breakages if
-	# that workspace, which includes various development tools not built in
-	# ChromeOS, uses dependencies for which we don't yet have ebuilds. We don't
-	# currently delete rust/mcu/Cargo.toml, since it includes the optimization
-	# settings used for stage0 and stage1_app.
-	rm rust/Cargo.toml
-
-	# Delete some optional dependencies that are not packaged in Chromium OS.
-	sed -i \
-		-e '/ optional = true/d' \
-		-e '/^direct /d' \
-		rust/hps-mon/Cargo.toml
-
-	default
-}
-
-src_configure() {
-	cros-rust_configure_cargo
-
-	# cros-rust_update_cargo_lock tries to handle Cargo.lock but it assumes
-	# there is only one Cargo.lock in the root of the source tree, which is not
-	# true for hps-firmware. For now just delete the ones we have.
-	rm rust/Cargo.lock rust/mcu/Cargo.lock rust/riscv/Cargo.lock
-}
-
-src_compile() {
-	for tool in hps-mon hps-util sign-rom ; do (
-		cd rust/${tool} || die
-		einfo "Building ${tool}"
-		ecargo_build
-	) done
-}
-
-src_test() {
-	# TODO invoke ecargo_test once we have complete workspace deps satisfied
-	:
-}
-
-src_install() {
-	newbin "$(cros-rust_get_build_dir)/sign-rom" hps-sign-rom
-	dobin "$(cros-rust_get_build_dir)/hps-mon"
-	dobin "$(cros-rust_get_build_dir)/hps-util"
-}
diff --git a/chromeos-base/hps-firmware-tools/hps-firmware-tools-9999.ebuild b/chromeos-base/hps-firmware-tools/hps-firmware-tools-9999.ebuild
index 5fd4fc0..906fedc 100644
--- a/chromeos-base/hps-firmware-tools/hps-firmware-tools-9999.ebuild
+++ b/chromeos-base/hps-firmware-tools/hps-firmware-tools-9999.ebuild
@@ -4,8 +4,9 @@
 EAPI=7
 CROS_WORKON_PROJECT="chromiumos/platform/hps-firmware"
 CROS_WORKON_LOCALNAME="platform/hps-firmware2"
+PYTHON_COMPAT=( python3_{6..9} )
 
-inherit cros-workon cros-rust
+inherit cros-workon cros-rust python-any-r1
 
 DESCRIPTION="HPS firmware tools for development and testing"
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/hps-firmware"
@@ -13,16 +14,38 @@
 LICENSE="BSD-Google"
 KEYWORDS="~*"
 
+BDEPEND="
+	dev-embedded/hps-sdk
+	dev-rust/svd2rust
+	>=sci-electronics/nextpnr-0.1_p20220210
+	sci-electronics/nmigen
+	sci-electronics/prjoxide
+	sci-electronics/yosys
+	sci-electronics/yosys-f4pga-plugins
+	$(python_gen_any_dep '
+		sci-electronics/litespi[${PYTHON_USEDEP}]
+		sci-electronics/litex[${PYTHON_USEDEP}]
+		sci-electronics/pythondata-cpu-vexriscv[${PYTHON_USEDEP}]
+	')
+"
+
+python_check_deps() {
+	has_version -b "sci-electronics/litespi[${PYTHON_USEDEP}]" &&
+		has_version -b "sci-electronics/litex[${PYTHON_USEDEP}]" &&
+		has_version -b "sci-electronics/pythondata-cpu-vexriscv[${PYTHON_USEDEP}]"
+}
+
+
 DEPEND="
 	>=dev-rust/anyhow-1.0.38:= <dev-rust/anyhow-2.0.0
 	>=dev-rust/bayer-0.1.5 <dev-rust/bayer-0.2.0_alpha:=
 	=dev-rust/bindgen-0.59*
 	>=dev-rust/bitflags-1.3.2:= <dev-rust/bitflags-2.0.0
-	=dev-rust/clap-3*:=
+	=dev-rust/clap-3.0.0_beta2:=
 	=dev-rust/colored-2*:=
 	>=dev-rust/cortex-m-0.7.1:= <dev-rust/cortex-m-0.8.0
 	>=dev-rust/cortex-m-rt-0.6.13:= <dev-rust/cortex-m-rt-0.7.0
-	>=dev-rust/cortex-m-rtic-0.5.5:= <dev-rust/cortex-m-rtic-0.6.0
+	>=dev-rust/cortex-m-rtic-1.1.3:= <dev-rust/cortex-m-rtic-2.0.0
 	=dev-rust/crc-2*:=
 	>=dev-rust/defmt-0.2.1:= <dev-rust/defmt-0.3.0
 	=dev-rust/defmt-rtt-0.2*:=
@@ -31,7 +54,9 @@
 	=dev-rust/embedded-hal-mock-0.8*:=
 	>=dev-rust/hmac-sha256-0.1.6:= <dev-rust/hmac-sha256-0.2.0
 	>=dev-rust/image-0.23.14:= <dev-rust/image-0.24
+	>=dev-rust/indicatif-0.16.2:= <dev-rust/indicatif-0.17
 	>=dev-rust/linux-embedded-hal-0.3.1:= <dev-rust/linux-embedded-hal-0.4
+	>=dev-rust/log-0.4.14:= <dev-rust/log-0.5
 	>=dev-rust/num_enum-0.5.1:= <dev-rust/num_enum-0.6.0
 	=dev-rust/nb-1*:=
 	=dev-rust/panic-halt-0.2*:=
@@ -40,7 +65,7 @@
 	=dev-rust/riscv-rt-0.8*:=
 	>=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9
 	=dev-rust/rustyline-9*:=
-	>=dev-rust/serialport-4.0.1:= <dev-rust/serialport-5
+	>=dev-rust/simple_logger-1.13.0:= <dev-rust/simple_logger-2
 	>=dev-rust/spi-memory-0.2.0:= <dev-rust/spi-memory-0.3.0
 	=dev-rust/stm32g0xx-hal-0.1*:=
 	=dev-rust/ufmt-0.1*:=
@@ -50,8 +75,10 @@
 "
 
 # host tools used to live in hps-firmware
+# hps-factory used to live in hps-firmware-images
 RDEPEND="
 	!<chromeos-base/hps-firmware-0.1.0-r244
+	!<chromeos-base/hps-firmware-images-0.0.1-r28
 "
 
 src_unpack() {
@@ -63,25 +90,47 @@
 	# Not using cros-rust_src_prepare because it wrongly assumes Cargo.toml is
 	# in the root of ${S} and we don't need its manipulations anyway.
 
-	# Delete the top-level workspace Cargo.toml. This avoids build breakages if
-	# that workspace, which includes various development tools not built in
-	# ChromeOS, uses dependencies for which we don't yet have ebuilds. We don't
-	# currently delete rust/mcu/Cargo.toml, since it includes the optimization
-	# settings used for stage0 and stage1_app.
-	rm rust/Cargo.toml
-
-	# Delete some optional dependencies that are not packaged in Chromium OS.
-	sed -i \
-		-e '/ optional = true/d' \
-		-e '/^direct /d' \
-		rust/hps-mon/Cargo.toml
+	# config.toml is intended for use when running `cargo` directly but would
+	# mess with the ebuild if we didn't delete it.
+	rm -f rust/.cargo/config.toml
 
 	default
 }
 
 src_configure() {
+	# Use Python helper modules from CFU-Playground. These are developed
+	# upstream but are intimately tied to the HPS accelerator code.
+	export PYTHONPATH="${S}/third_party/python/CFU-Playground"
+
+	# Use Rust from hps-sdk, since the main Chrome OS Rust compiler
+	# does not yet support RISC-V.
+	export PATH="/opt/hps-sdk/bin:${PATH}"
+
+	# CROS_BASE_RUSTFLAGS are for the AP, they are not applicable to
+	# HPS firmware, which is cross-compiled for STM32
+	unset CROS_BASE_RUSTFLAGS
 	cros-rust_configure_cargo
 
+	# Override some unwanted rustflags configured by cros-rust_configure_cargo.
+	# For our Cortex-M0 target, we need "fat" LTO and opt-level=z (smallest) to
+	# make everything small enough to fit. Debug assertions and
+	# integer overflow checks introduce panicking paths into the firmware,
+	# which bloats the size of the images with extra strings in .rodata.
+	# TODO(dcallagh): tidy this up properly in cros-rust.eclass.
+	# CROS_BASE_RUSTFLAGS are the same problem.
+	# asan and ubsan are also the same problem.
+	# shellcheck disable=SC2154 # ECARGO_HOME is defined in cros-rust.eclass
+	cat <<- EOF >> "${ECARGO_HOME}/config"
+	[target.'cfg(all(target_arch = "arm", target_os = "none"))']
+	rustflags = [
+		"-Clto=yes",
+		"-Copt-level=z",
+		"-Coverflow-checks=off",
+		"-Cdebug-assertions=off",
+		"-Ccodegen-units=1",
+	]
+	EOF
+
 	# cros-rust_update_cargo_lock tries to handle Cargo.lock but it assumes
 	# there is only one Cargo.lock in the root of the source tree, which is not
 	# true for hps-firmware. For now just delete the ones we have.
@@ -89,7 +138,11 @@
 }
 
 src_compile() {
-	for tool in hps-mon hps-util sign-rom ; do (
+	# hps-factory needs an FPGA bitstream.
+	einfo "Building FPGA bitstream"
+	python -m soc.hps_soc || die
+
+	for tool in hps-factory hps-mon hps-util ; do (
 		cd rust/${tool} || die
 		einfo "Building ${tool}"
 		ecargo_build
@@ -97,12 +150,13 @@
 }
 
 src_test() {
-	# TODO invoke ecargo_test once we have complete workspace deps satisfied
+	# The hps-firmware ebuild runs all unit tests (including for host tools),
+	# nothing more to do here.
 	:
 }
 
 src_install() {
-	newbin "$(cros-rust_get_build_dir)/sign-rom" hps-sign-rom
+	dobin "$(cros-rust_get_build_dir)/hps-factory"
 	dobin "$(cros-rust_get_build_dir)/hps-mon"
 	dobin "$(cros-rust_get_build_dir)/hps-util"
 }
diff --git a/chromeos-base/hps-firmware/hps-firmware-0.1.0-r288.ebuild b/chromeos-base/hps-firmware/hps-firmware-0.1.0-r288.ebuild
deleted file mode 100644
index 01f8ed9..0000000
--- a/chromeos-base/hps-firmware/hps-firmware-0.1.0-r288.ebuild
+++ /dev/null
@@ -1,232 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="9a38c2d76df6e341d5e43d0593acb39b9553fcab"
-CROS_WORKON_TREE="fd03a23a7e50b0866af8fc37ff13fb946c9bde0f"
-CROS_WORKON_PROJECT="chromiumos/platform/hps-firmware"
-CROS_WORKON_LOCALNAME="platform/hps-firmware2"
-
-inherit cros-workon cros-rust toolchain-funcs
-
-DESCRIPTION="HPS firmware and tooling"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/hps-firmware"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-SRC_URI="
-	https://github.com/riscv-collab/riscv-gnu-toolchain/archive/refs/tags/2021.04.23.tar.gz -> riscv-gnu-toolchain-2021.04.23.tar.gz
-	https://github.com/riscv-collab/riscv-binutils-gdb/archive/f35674005e609660f5f45005a9e095541ca4c5fe.tar.gz -> riscv-binutils-gdb-f35674005e609660f5f45005a9e095541ca4c5fe.tar.gz
-	https://github.com/riscv-collab/riscv-gcc/archive/03cb20e5433cd8e65af6a1a6baaf3fe4c72785f6.tar.gz -> riscv-gcc-03cb20e5433cd8e65af6a1a6baaf3fe4c72785f6.tar.gz
-	ftp://sourceware.org/pub/newlib/newlib-4.1.0.tar.gz
-"
-
-BDEPEND="
-	dev-embedded/hps-sdk
-	dev-rust/svd2rust
-	>=sci-electronics/litespi-2021.12_p20220215
-	sci-electronics/litex
-	>=sci-electronics/nextpnr-0.1_p20220210
-	sci-electronics/nmigen
-	sci-electronics/prjoxide
-	sci-electronics/pythondata-cpu-vexriscv
-	sci-electronics/yosys
-"
-
-DEPEND="
-	>=dev-rust/anyhow-1.0.38:= <dev-rust/anyhow-2.0.0
-	>=dev-rust/bayer-0.1.5 <dev-rust/bayer-0.2.0_alpha:=
-	=dev-rust/bindgen-0.59*
-	>=dev-rust/bitflags-1.3.2:= <dev-rust/bitflags-2.0.0
-	=dev-rust/clap-3*:=
-	=dev-rust/colored-2*:=
-	>=dev-rust/cortex-m-0.6.2:= <dev-rust/cortex-m-0.7.0
-	>=dev-rust/cortex-m-rt-0.6.13:= <dev-rust/cortex-m-rt-0.7.0
-	>=dev-rust/cortex-m-rtic-0.5.5:= <dev-rust/cortex-m-rtic-0.6.0
-	=dev-rust/crc-2*:=
-	>=dev-rust/defmt-0.2.1:= <dev-rust/defmt-0.3.0
-	=dev-rust/defmt-rtt-0.2*:=
-	=dev-rust/ed25519-compact-1*:=
-	>=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0
-	=dev-rust/embedded-hal-mock-0.8*:=
-	>=dev-rust/hmac-sha256-0.1.6:= <dev-rust/hmac-sha256-0.2.0
-	>=dev-rust/image-0.23.14:= <dev-rust/image-0.24
-	>=dev-rust/linux-embedded-hal-0.3.1:= <dev-rust/linux-embedded-hal-0.4
-	>=dev-rust/num_enum-0.5.1:= <dev-rust/num_enum-0.6.0
-	=dev-rust/nb-1*:=
-	=dev-rust/panic-halt-0.2*:=
-	=dev-rust/panic-reset-0.1*:=
-	=dev-rust/riscv-0.7*:=
-	=dev-rust/riscv-rt-0.8*:=
-	>=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9
-	=dev-rust/rustyline-9*:=
-	>=dev-rust/serialport-4.0.1:= <dev-rust/serialport-5
-	>=dev-rust/spi-memory-0.2.0:= <dev-rust/spi-memory-0.3.0
-	=dev-rust/stm32g0xx-hal-0.1*:=
-	=dev-rust/ufmt-0.1*:=
-	=dev-rust/ufmt-write-0.1*:=
-	>=dev-rust/panic-rtt-target-0.1.2:= <dev-rust/panic-rtt-target-0.2.0
-	>=dev-rust/rtt-target-0.3.1:= <dev-rust/rtt-target-0.4.0
-"
-
-# /usr/lib/firmware/hps/fpga_bitstream.bin and
-# /usr/lib/firmware/hps/fpga_application.bin
-# moved from hps-firmware-images to here
-RDEPEND="
-	!<chromeos-base/hps-firmware-images-0.0.1-r17
-"
-
-src_unpack() {
-	cros-workon_src_unpack
-	cros-rust_src_unpack
-}
-
-src_prepare() {
-	# Not using cros-rust_src_prepare because it wrongly assumes Cargo.toml is
-	# in the root of ${S} and we don't need its manipulations anyway.
-
-	# Delete the top-level workspace Cargo.toml. This avoids build breakages if
-	# that workspace, which includes various development tools not built in
-	# ChromeOS, uses dependencies for which we don't yet have ebuilds. We don't
-	# currently delete rust/mcu/Cargo.toml, since it includes the optimization
-	# settings used for stage0 and stage1_app.
-	rm rust/Cargo.toml
-
-	# Delete some optional dependencies that are not packaged in Chromium OS.
-	sed -i \
-		-e '/ optional = true/d' \
-		-e '/^direct /d' \
-		rust/hps-mon/Cargo.toml
-
-	default
-}
-
-src_configure() {
-	# Use Rust from hps-sdk, since the main Chrome OS Rust compiler
-	# does not yet support RISC-V.
-	export PATH="/opt/hps-sdk/bin:${PATH}"
-
-	# CROS_BASE_RUSTFLAGS are for the AP, they are not applicable to
-	# HPS firmware, which is cross-compiled for STM32
-	unset CROS_BASE_RUSTFLAGS
-	cros-rust_configure_cargo
-
-	# Override some unwanted rustflags configured by cros-rust_configure_cargo.
-	# For our Cortex-M0 target, we need "fat" LTO and opt-level=z (smallest) to
-	# make everything small enough to fit. Debug assertions and
-	# integer overflow checks introduce panicking paths into the firmware,
-	# which bloats the size of the images with extra strings in .rodata.
-	# TODO(dcallagh): tidy this up properly in cros-rust.eclass.
-	# CROS_BASE_RUSTFLAGS are the same problem.
-	# asan and ubsan are also the same problem.
-	# shellcheck disable=SC2154 # ECARGO_HOME is defined in cros-rust.eclass
-	cat <<- EOF >> "${ECARGO_HOME}/config"
-	[target.'cfg(all(target_arch = "arm", target_os = "none"))']
-	rustflags = [
-		"-Clto=yes",
-		"-Copt-level=z",
-		"-Coverflow-checks=off",
-		"-Cdebug-assertions=off",
-	]
-	EOF
-
-	# cros-rust_update_cargo_lock tries to handle Cargo.lock but it assumes
-	# there is only one Cargo.lock in the root of the source tree, which is not
-	# true for hps-firmware. For now just delete the ones we have.
-	rm rust/Cargo.lock rust/mcu/Cargo.lock rust/riscv/Cargo.lock
-
-	# Configure riscv-gnu-toolchain
-	(
-		cd "${WORKDIR}/riscv-gnu-toolchain-2021.04.23" || die
-		econf_build \
-			--prefix="${WORKDIR}/riscv-gnu-toolchain-installed" \
-			--with-host="${CBUILD}" \
-			--with-multilib-generator="rv32im-ilp32--" \
-			--with-binutils-src="${WORKDIR}/riscv-binutils-gdb-f35674005e609660f5f45005a9e095541ca4c5fe" \
-			--with-gcc-src="${WORKDIR}/riscv-gcc-03cb20e5433cd8e65af6a1a6baaf3fe4c72785f6" \
-			--with-newlib-src="${WORKDIR}/newlib-4.1.0" \
-			--disable-gdb
-	)
-}
-
-src_compile() {
-	# Build riscv-gnu-toolchain to get a C++ compiler
-	(
-		cd "${WORKDIR}/riscv-gnu-toolchain-2021.04.23" || die
-		# Work around a defective check in libiberty ./configure which invokes unprefixed 'cc'
-		export ac_cv_prog_cc_x86_64_pc_linux_gnu_clang_c_o=yes
-		export ac_cv_prog_cc_cc_c_o=yes
-		tc-env_build emake
-	)
-	export PATH="${PATH}:${WORKDIR}/riscv-gnu-toolchain-installed/bin"
-
-	# Build FPGA bitstream
-	einfo "Building FPGA bitstream"
-	PYTHONPATH="third_party/python/CFU-Playground" \
-		python -m soc.hps_soc --build --no-compile-software || die
-
-	# Build FPGA application
-	einfo "Building FPGA application"
-	(
-		cd rust/riscv/fpga_rom || die
-		ecargo build --release
-	)
-	# shellcheck disable=SC2154 # CARGO_TARGET_DIR is defined in cros-rust.eclass
-	llvm-objcopy -O binary \
-		"${CARGO_TARGET_DIR}/riscv32i-unknown-none-elf/release/fpga_rom" \
-		"${S}/build/hps_platform/fpga_rom.bin" || die
-
-	# Build signing tool for the build host, so that we can use it below
-	(
-		cd rust/sign-rom || die
-		einfo "Building sign-rom for build host"
-		# TODO(b/218953559): this should be --target=$CBUILD, fix hps-sdk
-		ecargo build --target=x86_64-unknown-linux-gnu --release
-	)
-
-	# Build MCU firmware
-	for crate in stage0 stage1_app ; do (
-		einfo "Building MCU firmware ${crate}"
-		cd rust/mcu/${crate} || die
-		HPS_SPI_BIT="${S}/build/hps_platform/gateware/hps_platform.bit" \
-			HPS_SPI_BIN="${S}/build/hps_platform/fpga_rom.bin" \
-			ecargo build \
-			--target="thumbv6m-none-eabi" \
-			--release
-		einfo "Flattening MCU firmware image ${crate}"
-		# shellcheck disable=SC2154 # CARGO_TARGET_DIR is defined in cros-rust.eclass
-		llvm-objcopy -O binary \
-			"${CARGO_TARGET_DIR}/thumbv6m-none-eabi/release/${crate}" \
-			"${CARGO_TARGET_DIR}/thumbv6m-none-eabi/release/${crate}.bin" || die
-	) done
-
-	# Sign MCU stage1 firmware with dev key
-	# shellcheck disable=SC2154 # CARGO_TARGET_DIR is defined in cros-rust.eclass
-	"${CARGO_TARGET_DIR}/x86_64-unknown-linux-gnu/release/sign-rom" \
-		--input "${CARGO_TARGET_DIR}/thumbv6m-none-eabi/release/stage1_app.bin" \
-		--output "${CARGO_TARGET_DIR}/thumbv6m-none-eabi/release/stage1_app.bin.signed" \
-		--use-insecure-dev-key \
-		|| die
-}
-
-src_test() {
-	# TODO invoke ecargo_test once we have complete workspace deps satisfied
-	:
-}
-
-src_install() {
-	insinto "/usr/lib/firmware/hps"
-	# shellcheck disable=SC2154 # CARGO_TARGET_DIR is defined in cros-rust.eclass
-	newins "${CARGO_TARGET_DIR}/thumbv6m-none-eabi/release/stage1_app.bin.signed" "mcu_stage1.bin"
-	newins build/hps_platform/gateware/hps_platform.bit fpga_bitstream.bin
-	newins build/hps_platform/fpga_rom.bin fpga_application.bin
-	doins build/hps_platform/gateware/hps_platform_build.metadata
-
-	# install into /firmware as part of signing process
-	insinto "/firmware/hps"
-	# shellcheck disable=SC2154 # CARGO_TARGET_DIR is defined in cros-rust.eclass
-	newins "${CARGO_TARGET_DIR}/thumbv6m-none-eabi/release/stage1_app.bin.signed" "mcu_stage1.bin"
-	newins build/hps_platform/gateware/hps_platform.bit fpga_bitstream.bin
-	newins build/hps_platform/fpga_rom.bin fpga_application.bin
-}
diff --git a/chromeos-base/hps-firmware/hps-firmware-0.1.0-r414.ebuild b/chromeos-base/hps-firmware/hps-firmware-0.1.0-r414.ebuild
new file mode 100644
index 0000000..093082c
--- /dev/null
+++ b/chromeos-base/hps-firmware/hps-firmware-0.1.0-r414.ebuild
@@ -0,0 +1,222 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="837f41291bc26e933fe4e301025a96530c931f47"
+CROS_WORKON_TREE="fb710f2e0908c3029361faef0d4897ab303db6dd"
+CROS_WORKON_PROJECT="chromiumos/platform/hps-firmware"
+CROS_WORKON_LOCALNAME="platform/hps-firmware2"
+CROS_WORKON_USE_VCSID=1
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-workon cros-rust toolchain-funcs python-any-r1
+
+DESCRIPTION="HPS firmware and tooling"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/hps-firmware"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+BDEPEND="
+	chromeos-base/hps-sign-rom
+	dev-embedded/hps-sdk
+	dev-rust/svd2rust
+	sci-electronics/amaranth
+	>=sci-electronics/nextpnr-0.1_p20220210
+	sci-electronics/prjoxide
+	sci-electronics/yosys
+	sci-electronics/yosys-f4pga-plugins
+	$(python_gen_any_dep '
+		sci-electronics/litespi[${PYTHON_USEDEP}]
+		sci-electronics/litex[${PYTHON_USEDEP}]
+		sci-electronics/pythondata-cpu-vexriscv[${PYTHON_USEDEP}]
+	')
+"
+
+python_check_deps() {
+	has_version -b "sci-electronics/litespi[${PYTHON_USEDEP}]" &&
+		has_version -b "sci-electronics/litex[${PYTHON_USEDEP}]" &&
+		has_version -b "sci-electronics/pythondata-cpu-vexriscv[${PYTHON_USEDEP}]"
+}
+
+DEPEND="
+	>=dev-rust/anyhow-1.0.38:= <dev-rust/anyhow-2.0.0
+	>=dev-rust/bayer-0.1.5 <dev-rust/bayer-0.2.0_alpha:=
+	=dev-rust/bindgen-0.59*
+	>=dev-rust/bitflags-1.3.2:= <dev-rust/bitflags-2.0.0
+	=dev-rust/clap-3.0.0_beta2:=
+	=dev-rust/colored-2*:=
+	>=dev-rust/cortex-m-0.6.2:= <dev-rust/cortex-m-0.7.0
+	>=dev-rust/cortex-m-rt-0.6.13:= <dev-rust/cortex-m-rt-0.7.0
+	>=dev-rust/cortex-m-rtic-1.1.3:= <dev-rust/cortex-m-rtic-2.0.0
+	=dev-rust/crc-2*:=
+	>=dev-rust/defmt-0.2.1:= <dev-rust/defmt-0.3.0
+	=dev-rust/defmt-rtt-0.2*:=
+	=dev-rust/ed25519-compact-1*:=
+	>=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0
+	=dev-rust/embedded-hal-mock-0.8*:=
+	>=dev-rust/hmac-sha256-0.1.6:= <dev-rust/hmac-sha256-0.2.0
+	>=dev-rust/image-0.23.14:= <dev-rust/image-0.24
+	>=dev-rust/indicatif-0.16.2:= <dev-rust/indicatif-0.17
+	>=dev-rust/linux-embedded-hal-0.3.1:= <dev-rust/linux-embedded-hal-0.4
+	>=dev-rust/log-0.4.14:= <dev-rust/log-0.5
+	>=dev-rust/num_enum-0.5.1:= <dev-rust/num_enum-0.6.0
+	=dev-rust/nb-1*:=
+	=dev-rust/panic-halt-0.2*:=
+	=dev-rust/panic-reset-0.1*:=
+	=dev-rust/riscv-0.7*:=
+	=dev-rust/riscv-rt-0.8*:=
+	>=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9
+	=dev-rust/rustyline-9*:=
+	>=dev-rust/simple_logger-1.13.0:= <dev-rust/simple_logger-2
+	>=dev-rust/spi-memory-0.2.0:= <dev-rust/spi-memory-0.3.0
+	=dev-rust/stm32g0xx-hal-0.1*:=
+	=dev-rust/ufmt-0.1*:=
+	=dev-rust/ufmt-write-0.1*:=
+	>=dev-rust/panic-rtt-target-0.1.2:= <dev-rust/panic-rtt-target-0.2.0
+	>=dev-rust/rtt-target-0.3.1:= <dev-rust/rtt-target-0.4.0
+"
+
+# /usr/lib/firmware/hps/fpga_bitstream.bin and
+# /usr/lib/firmware/hps/fpga_application.bin
+# moved from hps-firmware-images to here
+RDEPEND="
+	!<chromeos-base/hps-firmware-images-0.0.1-r17
+"
+
+src_unpack() {
+	cros-workon_src_unpack
+	cros-rust_src_unpack
+}
+
+src_prepare() {
+	# Not using cros-rust_src_prepare because it wrongly assumes Cargo.toml is
+	# in the root of ${S} and we don't need its manipulations anyway.
+
+	# config.toml is intended for use when running `cargo` directly but would
+	# mess with the ebuild if we didn't delete it.
+	rm -f rust/.cargo/config.toml
+
+	default
+}
+
+src_configure() {
+	# Use Python helper modules from CFU-Playground. These are developed
+	# upstream but are intimately tied to the HPS accelerator code.
+	export PYTHONPATH="${S}/third_party/python/CFU-Playground"
+
+	# Use Rust and GCC from hps-sdk, since the main Chrome OS compilers
+	# do not yet support RISC-V.
+	export PATH="/opt/hps-sdk/bin:${PATH}"
+
+	# CROS_BASE_RUSTFLAGS are for the AP, they are not applicable to
+	# HPS firmware, which is cross-compiled for STM32
+	unset CROS_BASE_RUSTFLAGS
+	cros-rust_configure_cargo
+
+	# Override some unwanted rustflags configured by cros-rust_configure_cargo.
+	# For our Cortex-M0 target, we need "fat" LTO and opt-level=z (smallest) to
+	# make everything small enough to fit. Debug assertions and
+	# integer overflow checks introduce panicking paths into the firmware,
+	# which bloats the size of the images with extra strings in .rodata.
+	# TODO(dcallagh): tidy this up properly in cros-rust.eclass.
+	# CROS_BASE_RUSTFLAGS are the same problem.
+	# asan and ubsan are also the same problem.
+	# shellcheck disable=SC2154 # ECARGO_HOME is defined in cros-rust.eclass
+	cat <<- EOF >> "${ECARGO_HOME}/config"
+	[target.'cfg(all(target_arch = "arm", target_os = "none"))']
+	rustflags = [
+		"-Clto=yes",
+		"-Copt-level=z",
+		"-Coverflow-checks=off",
+		"-Cdebug-assertions=off",
+		"-Ccodegen-units=1",
+	]
+	EOF
+
+	# cros-rust_update_cargo_lock tries to handle Cargo.lock but it assumes
+	# there is only one Cargo.lock in the root of the source tree, which is not
+	# true for hps-firmware. For now just delete the ones we have.
+	rm rust/Cargo.lock rust/mcu/Cargo.lock rust/riscv/Cargo.lock
+}
+
+src_compile() {
+	# Build FPGA bitstream
+	einfo "Building FPGA bitstream"
+	python -m soc.hps_soc --build --no-compile-software || die
+
+	# Build FPGA application
+	einfo "Building FPGA application"
+	(
+		cd rust/riscv/fpga_rom || die
+		ecargo build --release
+	)
+	# shellcheck disable=SC2154 # CARGO_TARGET_DIR is defined in cros-rust.eclass
+	llvm-objcopy -O binary \
+		"${CARGO_TARGET_DIR}/riscv32i-unknown-none-elf/release/fpga_rom" \
+		"${S}/build/hps_platform/fpga_rom.bin" || die
+
+	# Build MCU firmware
+	for crate in stage0 stage1_app ; do (
+		einfo "Building MCU firmware ${crate}"
+		cd rust/mcu/${crate} || die
+		HPS_SPI_BIT="${S}/build/hps_platform/gateware/hps_platform.bit" \
+			HPS_SPI_BIN="${S}/build/hps_platform/fpga_rom.bin" \
+			ecargo build \
+			--target="thumbv6m-none-eabi" \
+			--release
+		einfo "Flattening MCU firmware image ${crate}"
+		# shellcheck disable=SC2154 # CARGO_TARGET_DIR is defined in cros-rust.eclass
+		llvm-objcopy -O binary \
+			"${CARGO_TARGET_DIR}/thumbv6m-none-eabi/release/${crate}" \
+			"${CARGO_TARGET_DIR}/thumbv6m-none-eabi/release/${crate}.bin" || die
+	) done
+
+	# Sign MCU stage1 firmware with dev key
+	# shellcheck disable=SC2154 # CARGO_TARGET_DIR is defined in cros-rust.eclass
+	hps-sign-rom \
+		--input "${CARGO_TARGET_DIR}/thumbv6m-none-eabi/release/stage1_app.bin" \
+		--output "${CARGO_TARGET_DIR}/thumbv6m-none-eabi/release/stage1_app.bin.signed" \
+		--use-insecure-dev-key \
+		|| die
+}
+
+src_test() {
+	einfo "Running gateware unit tests"
+	python -m unittest -v soc/*.py || die
+
+	einfo "Running Rust tests"
+	cd rust || die
+	RUST_BACKTRACE=1 ecargo_test
+}
+
+src_install() {
+	# Extract stage1 version (currently this is just the first 4 bytes of the
+	# stage1 signature).
+	# shellcheck disable=SC2154 # CARGO_TARGET_DIR is defined in cros-rust.eclass
+	python3 -c "with open('${CARGO_TARGET_DIR}/thumbv6m-none-eabi/release/stage1_app.bin.signed', 'rb') as f:
+		f.seek(20);
+		print(int.from_bytes(f.read(4), 'big'))" \
+		>mcu_stage1.version.txt || die
+
+	# install build metadata for use by:
+	# https://source.corp.google.com/chromeos_internal/src/platform/tast-tests-private/src/chromiumos/tast/local/bundles/crosint/hps/fpga_gateware_stats.go
+	insinto "/usr/lib/firmware/hps"
+	doins build/hps_platform/gateware/hps_platform_build.metadata
+
+	# Generate and install the build manifest.
+	# shellcheck disable=SC2154 # VCSID is supplied by cros-workon.eclass
+	echo "${VCSID}" > manifest.txt
+	cat models/manifest.txt >> manifest.txt
+
+	# install into /firmware as part of signing process
+	# signed release firmware is installed by hps-firmware-images ebuild
+	insinto "/firmware/hps"
+	# shellcheck disable=SC2154 # CARGO_TARGET_DIR is defined in cros-rust.eclass
+	newins "${CARGO_TARGET_DIR}/thumbv6m-none-eabi/release/stage0.bin" "mcu_stage0.bin"
+	newins "${CARGO_TARGET_DIR}/thumbv6m-none-eabi/release/stage1_app.bin.signed" "mcu_stage1.bin"
+	doins mcu_stage1.version.txt
+	doins manifest.txt
+	newins build/hps_platform/gateware/hps_platform.bit fpga_bitstream.bin
+	newins build/hps_platform/fpga_rom.bin fpga_application.bin
+}
diff --git a/chromeos-base/hps-firmware/hps-firmware-9999.ebuild b/chromeos-base/hps-firmware/hps-firmware-9999.ebuild
index d1d31af..b1d462a 100644
--- a/chromeos-base/hps-firmware/hps-firmware-9999.ebuild
+++ b/chromeos-base/hps-firmware/hps-firmware-9999.ebuild
@@ -4,8 +4,10 @@
 EAPI=7
 CROS_WORKON_PROJECT="chromiumos/platform/hps-firmware"
 CROS_WORKON_LOCALNAME="platform/hps-firmware2"
+CROS_WORKON_USE_VCSID=1
+PYTHON_COMPAT=( python3_{6..9} )
 
-inherit cros-workon cros-rust toolchain-funcs
+inherit cros-workon cros-rust toolchain-funcs python-any-r1
 
 DESCRIPTION="HPS firmware and tooling"
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/hps-firmware"
@@ -13,35 +15,38 @@
 LICENSE="BSD-Google"
 KEYWORDS="~*"
 
-SRC_URI="
-	https://github.com/riscv-collab/riscv-gnu-toolchain/archive/refs/tags/2021.04.23.tar.gz -> riscv-gnu-toolchain-2021.04.23.tar.gz
-	https://github.com/riscv-collab/riscv-binutils-gdb/archive/f35674005e609660f5f45005a9e095541ca4c5fe.tar.gz -> riscv-binutils-gdb-f35674005e609660f5f45005a9e095541ca4c5fe.tar.gz
-	https://github.com/riscv-collab/riscv-gcc/archive/03cb20e5433cd8e65af6a1a6baaf3fe4c72785f6.tar.gz -> riscv-gcc-03cb20e5433cd8e65af6a1a6baaf3fe4c72785f6.tar.gz
-	ftp://sourceware.org/pub/newlib/newlib-4.1.0.tar.gz
-"
-
 BDEPEND="
+	chromeos-base/hps-sign-rom
 	dev-embedded/hps-sdk
 	dev-rust/svd2rust
-	>=sci-electronics/litespi-2021.12_p20220215
-	sci-electronics/litex
+	sci-electronics/amaranth
 	>=sci-electronics/nextpnr-0.1_p20220210
-	sci-electronics/nmigen
 	sci-electronics/prjoxide
-	sci-electronics/pythondata-cpu-vexriscv
 	sci-electronics/yosys
+	sci-electronics/yosys-f4pga-plugins
+	$(python_gen_any_dep '
+		sci-electronics/litespi[${PYTHON_USEDEP}]
+		sci-electronics/litex[${PYTHON_USEDEP}]
+		sci-electronics/pythondata-cpu-vexriscv[${PYTHON_USEDEP}]
+	')
 "
 
+python_check_deps() {
+	has_version -b "sci-electronics/litespi[${PYTHON_USEDEP}]" &&
+		has_version -b "sci-electronics/litex[${PYTHON_USEDEP}]" &&
+		has_version -b "sci-electronics/pythondata-cpu-vexriscv[${PYTHON_USEDEP}]"
+}
+
 DEPEND="
 	>=dev-rust/anyhow-1.0.38:= <dev-rust/anyhow-2.0.0
 	>=dev-rust/bayer-0.1.5 <dev-rust/bayer-0.2.0_alpha:=
 	=dev-rust/bindgen-0.59*
 	>=dev-rust/bitflags-1.3.2:= <dev-rust/bitflags-2.0.0
-	=dev-rust/clap-3*:=
+	=dev-rust/clap-3.0.0_beta2:=
 	=dev-rust/colored-2*:=
 	>=dev-rust/cortex-m-0.6.2:= <dev-rust/cortex-m-0.7.0
 	>=dev-rust/cortex-m-rt-0.6.13:= <dev-rust/cortex-m-rt-0.7.0
-	>=dev-rust/cortex-m-rtic-0.5.5:= <dev-rust/cortex-m-rtic-0.6.0
+	>=dev-rust/cortex-m-rtic-1.1.3:= <dev-rust/cortex-m-rtic-2.0.0
 	=dev-rust/crc-2*:=
 	>=dev-rust/defmt-0.2.1:= <dev-rust/defmt-0.3.0
 	=dev-rust/defmt-rtt-0.2*:=
@@ -50,7 +55,9 @@
 	=dev-rust/embedded-hal-mock-0.8*:=
 	>=dev-rust/hmac-sha256-0.1.6:= <dev-rust/hmac-sha256-0.2.0
 	>=dev-rust/image-0.23.14:= <dev-rust/image-0.24
+	>=dev-rust/indicatif-0.16.2:= <dev-rust/indicatif-0.17
 	>=dev-rust/linux-embedded-hal-0.3.1:= <dev-rust/linux-embedded-hal-0.4
+	>=dev-rust/log-0.4.14:= <dev-rust/log-0.5
 	>=dev-rust/num_enum-0.5.1:= <dev-rust/num_enum-0.6.0
 	=dev-rust/nb-1*:=
 	=dev-rust/panic-halt-0.2*:=
@@ -59,7 +66,7 @@
 	=dev-rust/riscv-rt-0.8*:=
 	>=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9
 	=dev-rust/rustyline-9*:=
-	>=dev-rust/serialport-4.0.1:= <dev-rust/serialport-5
+	>=dev-rust/simple_logger-1.13.0:= <dev-rust/simple_logger-2
 	>=dev-rust/spi-memory-0.2.0:= <dev-rust/spi-memory-0.3.0
 	=dev-rust/stm32g0xx-hal-0.1*:=
 	=dev-rust/ufmt-0.1*:=
@@ -84,25 +91,20 @@
 	# Not using cros-rust_src_prepare because it wrongly assumes Cargo.toml is
 	# in the root of ${S} and we don't need its manipulations anyway.
 
-	# Delete the top-level workspace Cargo.toml. This avoids build breakages if
-	# that workspace, which includes various development tools not built in
-	# ChromeOS, uses dependencies for which we don't yet have ebuilds. We don't
-	# currently delete rust/mcu/Cargo.toml, since it includes the optimization
-	# settings used for stage0 and stage1_app.
-	rm rust/Cargo.toml
-
-	# Delete some optional dependencies that are not packaged in Chromium OS.
-	sed -i \
-		-e '/ optional = true/d' \
-		-e '/^direct /d' \
-		rust/hps-mon/Cargo.toml
+	# config.toml is intended for use when running `cargo` directly but would
+	# mess with the ebuild if we didn't delete it.
+	rm -f rust/.cargo/config.toml
 
 	default
 }
 
 src_configure() {
-	# Use Rust from hps-sdk, since the main Chrome OS Rust compiler
-	# does not yet support RISC-V.
+	# Use Python helper modules from CFU-Playground. These are developed
+	# upstream but are intimately tied to the HPS accelerator code.
+	export PYTHONPATH="${S}/third_party/python/CFU-Playground"
+
+	# Use Rust and GCC from hps-sdk, since the main Chrome OS compilers
+	# do not yet support RISC-V.
 	export PATH="/opt/hps-sdk/bin:${PATH}"
 
 	# CROS_BASE_RUSTFLAGS are for the AP, they are not applicable to
@@ -126,6 +128,7 @@
 		"-Copt-level=z",
 		"-Coverflow-checks=off",
 		"-Cdebug-assertions=off",
+		"-Ccodegen-units=1",
 	]
 	EOF
 
@@ -133,36 +136,12 @@
 	# there is only one Cargo.lock in the root of the source tree, which is not
 	# true for hps-firmware. For now just delete the ones we have.
 	rm rust/Cargo.lock rust/mcu/Cargo.lock rust/riscv/Cargo.lock
-
-	# Configure riscv-gnu-toolchain
-	(
-		cd "${WORKDIR}/riscv-gnu-toolchain-2021.04.23" || die
-		econf_build \
-			--prefix="${WORKDIR}/riscv-gnu-toolchain-installed" \
-			--with-host="${CBUILD}" \
-			--with-multilib-generator="rv32im-ilp32--" \
-			--with-binutils-src="${WORKDIR}/riscv-binutils-gdb-f35674005e609660f5f45005a9e095541ca4c5fe" \
-			--with-gcc-src="${WORKDIR}/riscv-gcc-03cb20e5433cd8e65af6a1a6baaf3fe4c72785f6" \
-			--with-newlib-src="${WORKDIR}/newlib-4.1.0" \
-			--disable-gdb
-	)
 }
 
 src_compile() {
-	# Build riscv-gnu-toolchain to get a C++ compiler
-	(
-		cd "${WORKDIR}/riscv-gnu-toolchain-2021.04.23" || die
-		# Work around a defective check in libiberty ./configure which invokes unprefixed 'cc'
-		export ac_cv_prog_cc_x86_64_pc_linux_gnu_clang_c_o=yes
-		export ac_cv_prog_cc_cc_c_o=yes
-		tc-env_build emake
-	)
-	export PATH="${PATH}:${WORKDIR}/riscv-gnu-toolchain-installed/bin"
-
 	# Build FPGA bitstream
 	einfo "Building FPGA bitstream"
-	PYTHONPATH="third_party/python/CFU-Playground" \
-		python -m soc.hps_soc --build --no-compile-software || die
+	python -m soc.hps_soc --build --no-compile-software || die
 
 	# Build FPGA application
 	einfo "Building FPGA application"
@@ -175,14 +154,6 @@
 		"${CARGO_TARGET_DIR}/riscv32i-unknown-none-elf/release/fpga_rom" \
 		"${S}/build/hps_platform/fpga_rom.bin" || die
 
-	# Build signing tool for the build host, so that we can use it below
-	(
-		cd rust/sign-rom || die
-		einfo "Building sign-rom for build host"
-		# TODO(b/218953559): this should be --target=$CBUILD, fix hps-sdk
-		ecargo build --target=x86_64-unknown-linux-gnu --release
-	)
-
 	# Build MCU firmware
 	for crate in stage0 stage1_app ; do (
 		einfo "Building MCU firmware ${crate}"
@@ -201,7 +172,7 @@
 
 	# Sign MCU stage1 firmware with dev key
 	# shellcheck disable=SC2154 # CARGO_TARGET_DIR is defined in cros-rust.eclass
-	"${CARGO_TARGET_DIR}/x86_64-unknown-linux-gnu/release/sign-rom" \
+	hps-sign-rom \
 		--input "${CARGO_TARGET_DIR}/thumbv6m-none-eabi/release/stage1_app.bin" \
 		--output "${CARGO_TARGET_DIR}/thumbv6m-none-eabi/release/stage1_app.bin.signed" \
 		--use-insecure-dev-key \
@@ -209,22 +180,41 @@
 }
 
 src_test() {
-	# TODO invoke ecargo_test once we have complete workspace deps satisfied
-	:
+	einfo "Running gateware unit tests"
+	python -m unittest -v soc/*.py || die
+
+	einfo "Running Rust tests"
+	cd rust || die
+	RUST_BACKTRACE=1 ecargo_test
 }
 
 src_install() {
-	insinto "/usr/lib/firmware/hps"
+	# Extract stage1 version (currently this is just the first 4 bytes of the
+	# stage1 signature).
 	# shellcheck disable=SC2154 # CARGO_TARGET_DIR is defined in cros-rust.eclass
-	newins "${CARGO_TARGET_DIR}/thumbv6m-none-eabi/release/stage1_app.bin.signed" "mcu_stage1.bin"
-	newins build/hps_platform/gateware/hps_platform.bit fpga_bitstream.bin
-	newins build/hps_platform/fpga_rom.bin fpga_application.bin
+	python3 -c "with open('${CARGO_TARGET_DIR}/thumbv6m-none-eabi/release/stage1_app.bin.signed', 'rb') as f:
+		f.seek(20);
+		print(int.from_bytes(f.read(4), 'big'))" \
+		>mcu_stage1.version.txt || die
+
+	# install build metadata for use by:
+	# https://source.corp.google.com/chromeos_internal/src/platform/tast-tests-private/src/chromiumos/tast/local/bundles/crosint/hps/fpga_gateware_stats.go
+	insinto "/usr/lib/firmware/hps"
 	doins build/hps_platform/gateware/hps_platform_build.metadata
 
+	# Generate and install the build manifest.
+	# shellcheck disable=SC2154 # VCSID is supplied by cros-workon.eclass
+	echo "${VCSID}" > manifest.txt
+	cat models/manifest.txt >> manifest.txt
+
 	# install into /firmware as part of signing process
+	# signed release firmware is installed by hps-firmware-images ebuild
 	insinto "/firmware/hps"
 	# shellcheck disable=SC2154 # CARGO_TARGET_DIR is defined in cros-rust.eclass
+	newins "${CARGO_TARGET_DIR}/thumbv6m-none-eabi/release/stage0.bin" "mcu_stage0.bin"
 	newins "${CARGO_TARGET_DIR}/thumbv6m-none-eabi/release/stage1_app.bin.signed" "mcu_stage1.bin"
+	doins mcu_stage1.version.txt
+	doins manifest.txt
 	newins build/hps_platform/gateware/hps_platform.bit fpga_bitstream.bin
 	newins build/hps_platform/fpga_rom.bin fpga_application.bin
 }
diff --git a/dev-rust/serialport/OWNERS b/chromeos-base/hps-sign-rom/OWNERS
similarity index 100%
copy from dev-rust/serialport/OWNERS
copy to chromeos-base/hps-sign-rom/OWNERS
diff --git a/chromeos-base/hps-sign-rom/files/chromeos-version.sh b/chromeos-base/hps-sign-rom/files/chromeos-version.sh
new file mode 100644
index 0000000..775d67e
--- /dev/null
+++ b/chromeos-base/hps-sign-rom/files/chromeos-version.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Assumes the first 'version =' line in the Cargo.toml is the version for the
+# crate.
+awk '/^version = / { print $3; exit }' "$1/rust/sign-rom/Cargo.toml" | tr -d '"'
diff --git a/chromeos-base/hps-sign-rom/hps-sign-rom-0.1.0-r28.ebuild b/chromeos-base/hps-sign-rom/hps-sign-rom-0.1.0-r28.ebuild
new file mode 100644
index 0000000..c0a6e73
--- /dev/null
+++ b/chromeos-base/hps-sign-rom/hps-sign-rom-0.1.0-r28.ebuild
@@ -0,0 +1,79 @@
+# Copyright 2022 The Chromium OS Authors.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="837f41291bc26e933fe4e301025a96530c931f47"
+CROS_WORKON_TREE="fb710f2e0908c3029361faef0d4897ab303db6dd"
+CROS_WORKON_PROJECT="chromiumos/platform/hps-firmware"
+CROS_WORKON_LOCALNAME="platform/hps-firmware2"
+CROS_RUST_SUBDIR="rust/sign-rom"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Tool to sign HPS firmware"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/hps-firmware"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/anyhow-1.0.38:= <dev-rust/anyhow-2.0.0
+	>=dev-rust/bayer-0.1.5 <dev-rust/bayer-0.2.0_alpha:=
+	=dev-rust/bindgen-0.59*
+	>=dev-rust/bitflags-1.3.2:= <dev-rust/bitflags-2.0.0
+	=dev-rust/clap-3.0.0_beta2:=
+	=dev-rust/colored-2*:=
+	>=dev-rust/cortex-m-0.6.2:= <dev-rust/cortex-m-0.7.0
+	>=dev-rust/cortex-m-rt-0.6.13:= <dev-rust/cortex-m-rt-0.7.0
+	>=dev-rust/cortex-m-rtic-1.1.3:= <dev-rust/cortex-m-rtic-2.0.0
+	=dev-rust/crc-2*:=
+	>=dev-rust/defmt-0.2.1:= <dev-rust/defmt-0.3.0
+	=dev-rust/defmt-rtt-0.2*:=
+	=dev-rust/ed25519-compact-1*:=
+	>=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0
+	=dev-rust/embedded-hal-mock-0.8*:=
+	>=dev-rust/hmac-sha256-0.1.6:= <dev-rust/hmac-sha256-0.2.0
+	>=dev-rust/image-0.23.14:= <dev-rust/image-0.24
+	>=dev-rust/indicatif-0.16.2:= <dev-rust/indicatif-0.17
+	>=dev-rust/linux-embedded-hal-0.3.1:= <dev-rust/linux-embedded-hal-0.4
+	>=dev-rust/log-0.4.14:= <dev-rust/log-0.5
+	>=dev-rust/num_enum-0.5.1:= <dev-rust/num_enum-0.6.0
+	=dev-rust/nb-1*:=
+	=dev-rust/panic-halt-0.2*:=
+	=dev-rust/panic-reset-0.1*:=
+	=dev-rust/riscv-0.7*:=
+	=dev-rust/riscv-rt-0.8*:=
+	>=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9
+	=dev-rust/rustyline-9*:=
+	>=dev-rust/simple_logger-1.13.0:= <dev-rust/simple_logger-2
+	>=dev-rust/spi-memory-0.2.0:= <dev-rust/spi-memory-0.3.0
+	=dev-rust/stm32g0xx-hal-0.1*:=
+	=dev-rust/ufmt-0.1*:=
+	=dev-rust/ufmt-write-0.1*:=
+	>=dev-rust/panic-rtt-target-0.1.2:= <dev-rust/panic-rtt-target-0.2.0
+	>=dev-rust/rtt-target-0.3.1:= <dev-rust/rtt-target-0.4.0
+"
+
+# /usr/bin/hps-sign-rom moved from hps-firmware-tools to here
+RDEPEND="
+	!<chromeos-base/hps-firmware-tools-0.0.1-r141
+"
+
+src_prepare() {
+	# config.toml is intended for use when running `cargo` directly but would
+	# mess with the ebuild if we didn't delete it.
+	rm -f ../.cargo/config.toml
+
+	cros-rust_src_prepare
+}
+
+src_test() {
+	# All Rust unit tests (including the ones for sign-rom)
+	# are executed by src_test in the hps-firmware package.
+	# Nothing else to do here.
+	:
+}
+
+src_install() {
+	newbin "$(cros-rust_get_build_dir)/sign-rom" hps-sign-rom
+}
diff --git a/chromeos-base/hps-sign-rom/hps-sign-rom-9999.ebuild b/chromeos-base/hps-sign-rom/hps-sign-rom-9999.ebuild
new file mode 100644
index 0000000..93b3f27
--- /dev/null
+++ b/chromeos-base/hps-sign-rom/hps-sign-rom-9999.ebuild
@@ -0,0 +1,77 @@
+# Copyright 2022 The Chromium OS Authors.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_PROJECT="chromiumos/platform/hps-firmware"
+CROS_WORKON_LOCALNAME="platform/hps-firmware2"
+CROS_RUST_SUBDIR="rust/sign-rom"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Tool to sign HPS firmware"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/hps-firmware"
+
+LICENSE="BSD-Google"
+KEYWORDS="~*"
+
+DEPEND="
+	>=dev-rust/anyhow-1.0.38:= <dev-rust/anyhow-2.0.0
+	>=dev-rust/bayer-0.1.5 <dev-rust/bayer-0.2.0_alpha:=
+	=dev-rust/bindgen-0.59*
+	>=dev-rust/bitflags-1.3.2:= <dev-rust/bitflags-2.0.0
+	=dev-rust/clap-3.0.0_beta2:=
+	=dev-rust/colored-2*:=
+	>=dev-rust/cortex-m-0.6.2:= <dev-rust/cortex-m-0.7.0
+	>=dev-rust/cortex-m-rt-0.6.13:= <dev-rust/cortex-m-rt-0.7.0
+	>=dev-rust/cortex-m-rtic-1.1.3:= <dev-rust/cortex-m-rtic-2.0.0
+	=dev-rust/crc-2*:=
+	>=dev-rust/defmt-0.2.1:= <dev-rust/defmt-0.3.0
+	=dev-rust/defmt-rtt-0.2*:=
+	=dev-rust/ed25519-compact-1*:=
+	>=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0
+	=dev-rust/embedded-hal-mock-0.8*:=
+	>=dev-rust/hmac-sha256-0.1.6:= <dev-rust/hmac-sha256-0.2.0
+	>=dev-rust/image-0.23.14:= <dev-rust/image-0.24
+	>=dev-rust/indicatif-0.16.2:= <dev-rust/indicatif-0.17
+	>=dev-rust/linux-embedded-hal-0.3.1:= <dev-rust/linux-embedded-hal-0.4
+	>=dev-rust/log-0.4.14:= <dev-rust/log-0.5
+	>=dev-rust/num_enum-0.5.1:= <dev-rust/num_enum-0.6.0
+	=dev-rust/nb-1*:=
+	=dev-rust/panic-halt-0.2*:=
+	=dev-rust/panic-reset-0.1*:=
+	=dev-rust/riscv-0.7*:=
+	=dev-rust/riscv-rt-0.8*:=
+	>=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9
+	=dev-rust/rustyline-9*:=
+	>=dev-rust/simple_logger-1.13.0:= <dev-rust/simple_logger-2
+	>=dev-rust/spi-memory-0.2.0:= <dev-rust/spi-memory-0.3.0
+	=dev-rust/stm32g0xx-hal-0.1*:=
+	=dev-rust/ufmt-0.1*:=
+	=dev-rust/ufmt-write-0.1*:=
+	>=dev-rust/panic-rtt-target-0.1.2:= <dev-rust/panic-rtt-target-0.2.0
+	>=dev-rust/rtt-target-0.3.1:= <dev-rust/rtt-target-0.4.0
+"
+
+# /usr/bin/hps-sign-rom moved from hps-firmware-tools to here
+RDEPEND="
+	!<chromeos-base/hps-firmware-tools-0.0.1-r141
+"
+
+src_prepare() {
+	# config.toml is intended for use when running `cargo` directly but would
+	# mess with the ebuild if we didn't delete it.
+	rm -f ../.cargo/config.toml
+
+	cros-rust_src_prepare
+}
+
+src_test() {
+	# All Rust unit tests (including the ones for sign-rom)
+	# are executed by src_test in the hps-firmware package.
+	# Nothing else to do here.
+	:
+}
+
+src_install() {
+	newbin "$(cros-rust_get_build_dir)/sign-rom" hps-sign-rom
+}
diff --git a/chromeos-base/hps-tool/files/revision_bump b/chromeos-base/hps-tool/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/hps-tool/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/hps-tool/hps-tool-0.0.1-r226.ebuild b/chromeos-base/hps-tool/hps-tool-0.0.1-r226.ebuild
deleted file mode 100644
index 41e5b15..0000000
--- a/chromeos-base/hps-tool/hps-tool-0.0.1-r226.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "373107fcd9ff3dbb7ab268aebeca33accdf65ed1" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4a0dedab080195bdc122d2289118df4af3ddca2c")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE="common-mk hps .gn metrics"
-
-PLATFORM_SUBDIR="hps/util"
-
-inherit cros-workon platform
-
-DESCRIPTION="HPS utilities and tool"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/main/hps"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-
-COMMON_DEPEND="
-	chromeos-base/metrics:=
-	virtual/libusb:1
-	"
-
-RDEPEND="${COMMON_DEPEND}"
-
-DEPEND="${COMMON_DEPEND}"
-
-src_install() {
-	platform_src_install
-
-	dobin "${OUT}"/hps
-}
diff --git a/chromeos-base/hps-tool/hps-tool-0.0.1-r351.ebuild b/chromeos-base/hps-tool/hps-tool-0.0.1-r351.ebuild
new file mode 100644
index 0000000..50937ab
--- /dev/null
+++ b/chromeos-base/hps-tool/hps-tool-0.0.1-r351.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "ddbdbd7f7519a0d8da3e33b0eaf9c5a88dc3084e" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE="common-mk hps .gn metrics"
+
+PLATFORM_SUBDIR="hps/util"
+
+inherit cros-workon platform
+
+DESCRIPTION="HPS utilities and tool"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/main/hps"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+
+COMMON_DEPEND="
+	chromeos-base/metrics:=
+	virtual/libusb:1
+	"
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="${COMMON_DEPEND}"
+
+src_install() {
+	platform_src_install
+
+	dobin "${OUT}"/hps
+}
diff --git a/chromeos-base/hpsd/files/revision_bump b/chromeos-base/hpsd/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/hpsd/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/hpsd/hpsd-0.0.1-r213.ebuild b/chromeos-base/hpsd/hpsd-0.0.1-r213.ebuild
deleted file mode 100644
index 905952c..0000000
--- a/chromeos-base/hpsd/hpsd-0.0.1-r213.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "373107fcd9ff3dbb7ab268aebeca33accdf65ed1" "a625767bb59509159091f2ab0b71f8b9b4b2e353" "4a0dedab080195bdc122d2289118df4af3ddca2c")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE=".gn hps common-mk metrics"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-PLATFORM_SUBDIR="hps"
-
-inherit cros-workon platform udev user
-
-DESCRIPTION="Chrome OS HPS daemon."
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="hpsd-roflash"
-
-RDEPEND="
-	chromeos-base/metrics:=
-	hpsd-roflash? (
-		dev-libs/libgpiod
-	)
-	virtual/libusb:1
-"
-
-DEPEND="${RDEPEND}
-	chromeos-base/system_api:=
-"
-
-pkg_preinst() {
-	enewuser "hpsd"
-	enewgroup "hpsd"
-}
-
-src_install() {
-	platform_src_install
-
-	dosbin "${OUT}"/hpsd
-
-	# Install upstart configuration.
-	insinto /etc/init
-	doins daemon/init/hpsd.conf
-
-	if use hpsd-roflash ; then
-		doins daemon/init/hpsd_roflash.conf
-	fi
-
-	insinto /etc/dbus-1/system.d
-	doins daemon/dbus/org.chromium.Hps.conf
-
-	exeinto "$(get_udevdir)"
-	doexe udev/*.sh
-	udev_dorules udev/*.rules
-}
-
-platform_pkg_test() {
-	local tests=(
-		dev_test
-		hps_test
-		hps_metrics_test
-		hps_daemon_test
-		hps_filter_test
-	)
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test run "${OUT}/${test_bin}"
-	done
-}
diff --git a/chromeos-base/hpsd/hpsd-0.0.1-r339.ebuild b/chromeos-base/hpsd/hpsd-0.0.1-r339.ebuild
new file mode 100644
index 0000000..ee8962e
--- /dev/null
+++ b/chromeos-base/hpsd/hpsd-0.0.1-r339.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "ddbdbd7f7519a0d8da3e33b0eaf9c5a88dc3084e" "60fa47aebd6ebfb702012849bd560717fceddcd4" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_SUBTREE=".gn hps common-mk metrics"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="hps"
+
+inherit cros-workon platform udev user
+
+DESCRIPTION="Chrome OS HPS daemon."
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="
+	chromeos-base/metrics:=
+	virtual/libusb:1
+"
+
+DEPEND="${RDEPEND}
+	chromeos-base/system_api:=
+"
+
+pkg_preinst() {
+	enewuser "hpsd"
+	enewgroup "hpsd"
+}
+
+src_install() {
+	platform_src_install
+
+	dosbin "${OUT}"/hpsd
+
+	# Install upstart configuration.
+	insinto /etc/init
+	doins daemon/init/hpsd.conf
+
+	insinto /etc/dbus-1/system.d
+	doins daemon/dbus/org.chromium.Hps.conf
+
+	exeinto "$(get_udevdir)"
+	doexe udev/*.sh
+	udev_dorules udev/*.rules
+}
+
+platform_pkg_test() {
+	local tests=(
+		dev_test
+		hps_test
+		hps_metrics_test
+		hps_daemon_test
+		hps_filter_test
+	)
+
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test run "${OUT}/${test_bin}"
+	done
+}
diff --git a/chromeos-base/hpsd/hpsd-9999.ebuild b/chromeos-base/hpsd/hpsd-9999.ebuild
index 015485b..72b2b91 100644
--- a/chromeos-base/hpsd/hpsd-9999.ebuild
+++ b/chromeos-base/hpsd/hpsd-9999.ebuild
@@ -17,13 +17,9 @@
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
-IUSE="hpsd-roflash"
 
 RDEPEND="
 	chromeos-base/metrics:=
-	hpsd-roflash? (
-		dev-libs/libgpiod
-	)
 	virtual/libusb:1
 "
 
@@ -45,10 +41,6 @@
 	insinto /etc/init
 	doins daemon/init/hpsd.conf
 
-	if use hpsd-roflash ; then
-		doins daemon/init/hpsd_roflash.conf
-	fi
-
 	insinto /etc/dbus-1/system.d
 	doins daemon/dbus/org.chromium.Hps.conf
 
diff --git a/chromeos-base/hwid_extractor/hwid_extractor-0.0.1-r1360.ebuild b/chromeos-base/hwid_extractor/hwid_extractor-0.0.1-r1360.ebuild
new file mode 100644
index 0000000..b6567f5
--- /dev/null
+++ b/chromeos-base/hwid_extractor/hwid_extractor-0.0.1-r1360.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT=("0579eaa8097283074c99600c84de8d506683465e" "1684376ee32d183fd4ac5f595b99f30b09e9006b")
+CROS_WORKON_TREE=("efc9d7208bf0ffc87de181aca5f5ed6b14a27b2f" "a330cffda307faf662807a5e28688533cb922085" "5328e03abfd1af165a3a26805d1ff6b213a3ca48" "28e022f9ce27e2e0075d8f726856c964d4460dd8" "047aec16e03eb36312cc201dc75d33e25ece833d")
+CROS_WORKON_PROJECT=("chromiumos/platform/factory" "chromiumos/chromite")
+CROS_WORKON_LOCALNAME=("platform/factory" "../chromite")
+CROS_WORKON_SUBTREE=("py" "lib bin scripts PRESUBMIT.cfg")
+CROS_WORKON_DESTDIR=("${S}" "${S}/chromite")
+
+inherit cros-workon
+
+DESCRIPTION="Chrome OS HWID Extractor"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/factory/"
+SRC_URI=""
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="cros_host"
+
+RDEPEND="chromeos-base/vboot_reference
+	chromeos-base/vpd
+	dev-python/pyserial
+	dev-util/hdctools
+	sys-apps/flashrom
+"
+
+src_install() {
+	local lib="/usr/local"
+	if use cros_host; then
+		lib="/usr/lib"
+	fi
+	emake -C py/hwid_extractor \
+		DESTDIR="${D}" \
+		LIB_DIR="${lib}" \
+		CHROMITE_PATH="${S}/chromite" \
+		CHROMITE_SRC_PATH="${S}/chromite/lib" \
+		install
+}
diff --git a/chromeos-base/hwid_extractor/hwid_extractor-0.0.1-r836.ebuild b/chromeos-base/hwid_extractor/hwid_extractor-0.0.1-r836.ebuild
deleted file mode 100644
index f1ddeff..0000000
--- a/chromeos-base/hwid_extractor/hwid_extractor-0.0.1-r836.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT=("33ef935dd0e92ed4d78cb5831bc567e122b2f834" "bbbf9f230494bfb1aa37a45b18218106fa44a425")
-CROS_WORKON_TREE=("6800d1802b6e73248c400a79e98c2d7234dd7515" "a58f4c6a970f9c1d926bf95ac3144fd3f0e20fe2" "9dc51c42f7c3bc915dba587092317fd6391e1477" "559ac58cdfbc906b59b51655ea2fbe6c57faea6e" "9a7af1d1341bf696f721159ae6aa221f639b5478")
-CROS_WORKON_PROJECT=("chromiumos/platform/factory" "chromiumos/chromite")
-CROS_WORKON_LOCALNAME=("platform/factory" "../chromite")
-CROS_WORKON_SUBTREE=("py" "lib bin scripts PRESUBMIT.cfg")
-CROS_WORKON_DESTDIR=("${S}" "${S}/chromite")
-
-inherit cros-workon
-
-DESCRIPTION="Chrome OS HWID Extractor"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/factory/"
-SRC_URI=""
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="cros_host"
-
-RDEPEND="chromeos-base/vboot_reference
-	chromeos-base/vpd
-	dev-python/pyserial
-	dev-util/hdctools
-	sys-apps/flashrom
-"
-
-src_install() {
-	local lib="/usr/local"
-	if use cros_host; then
-		lib="/usr/lib"
-	fi
-	emake -C py/hwid_extractor \
-		DESTDIR="${D}" \
-		LIB_DIR="${lib}" \
-		CHROMITE_PATH="${S}/chromite" \
-		CHROMITE_SRC_PATH="${S}/chromite/lib" \
-		install
-}
diff --git a/chromeos-base/hwsec-test-utils/files/revision_bump b/chromeos-base/hwsec-test-utils/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/hwsec-test-utils/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/hwsec-test-utils/hwsec-test-utils-0.0.1-r367.ebuild b/chromeos-base/hwsec-test-utils/hwsec-test-utils-0.0.1-r367.ebuild
deleted file mode 100644
index 6c768a3..0000000
--- a/chromeos-base/hwsec-test-utils/hwsec-test-utils-0.0.1-r367.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("3e8ec46db7a894d8f90bf457f66dbe4e3efad0e1" "a625767bb59509159091f2ab0b71f8b9b4b2e353" "6b093b609ed7d0c59dd0e0b5656c9fe306ad3127" "fb2b8277318fb7e7eff84f5c7669a46bf60f19f5" "b1c7898d3f42051cbba6426c62b35476a8de5b72" "97266a4772907835fdab5d56b3ca24ed9c1c7a0e" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="attestation common-mk hwsec-test-utils libhwsec libhwsec-foundation trunks .gn"
-
-PLATFORM_SUBDIR="hwsec-test-utils"
-
-inherit cros-workon platform
-
-DESCRIPTION="Hwsec-related test-only features. This package resides in test images only."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/hwsec-test-utils/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test tpm tpm_dynamic tpm2"
-REQUIRED_USE="
-	tpm_dynamic? ( tpm tpm2 )
-	!tpm_dynamic? ( ?? ( tpm tpm2 ) )
-"
-
-RDEPEND="
-	tpm2? (
-		chromeos-base/trunks:=
-	)
-	tpm? (
-		app-crypt/trousers:=
-	)
-"
-
-DEPEND="${RDEPEND}
-	tpm2? (
-		chromeos-base/trunks:=[test?]
-	)
-	chromeos-base/attestation:=
-	chromeos-base/libhwsec-foundation:=
-	chromeos-base/system_api:=
-	dev-libs/openssl:=
-	dev-libs/protobuf:=
-"
-
-src_install() {
-	platform_install
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/hwsec-test-utils/hwsec-test-utils-0.0.1-r528.ebuild b/chromeos-base/hwsec-test-utils/hwsec-test-utils-0.0.1-r528.ebuild
new file mode 100644
index 0000000..b5f5c9e
--- /dev/null
+++ b/chromeos-base/hwsec-test-utils/hwsec-test-utils-0.0.1-r528.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("46debaa1a374952167d5a2ca0bdf36013f053bc3" "60fa47aebd6ebfb702012849bd560717fceddcd4" "d3dca65ea14d72be7cfe4a01dcee20b783804e56" "2e036f417afe5d55dcbd138f7bfe2c98ab14403f" "8ca9c97a07408fdff5abf480fb1b2a15405b6bc0" "944879c9353c2df8adb7022407a8d319671325c1" "0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="attestation common-mk hwsec-test-utils libhwsec libhwsec-foundation tpm_manager trunks .gn"
+
+PLATFORM_SUBDIR="hwsec-test-utils"
+
+inherit cros-workon platform
+
+DESCRIPTION="Hwsec-related test-only features. This package resides in test images only."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hwsec-test-utils/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test tpm tpm_dynamic tpm2"
+REQUIRED_USE="
+	tpm_dynamic? ( tpm tpm2 )
+	!tpm_dynamic? ( ?? ( tpm tpm2 ) )
+"
+
+RDEPEND="
+	tpm2? (
+		chromeos-base/trunks:=
+	)
+	tpm? (
+		app-crypt/trousers:=
+	)
+	chromeos-base/libhwsec:=
+"
+
+DEPEND="${RDEPEND}
+	tpm2? (
+		chromeos-base/trunks:=[test?]
+	)
+	chromeos-base/attestation:=
+	chromeos-base/libhwsec-foundation:=
+	chromeos-base/system_api:=
+	dev-libs/openssl:=
+	dev-libs/protobuf:=
+"
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/hwsec-test-utils/hwsec-test-utils-9999.ebuild b/chromeos-base/hwsec-test-utils/hwsec-test-utils-9999.ebuild
index d051537..a8d7da4 100644
--- a/chromeos-base/hwsec-test-utils/hwsec-test-utils-9999.ebuild
+++ b/chromeos-base/hwsec-test-utils/hwsec-test-utils-9999.ebuild
@@ -8,14 +8,14 @@
 CROS_WORKON_LOCALNAME="platform2"
 CROS_WORKON_PROJECT="chromiumos/platform2"
 CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="attestation common-mk hwsec-test-utils libhwsec libhwsec-foundation trunks .gn"
+CROS_WORKON_SUBTREE="attestation common-mk hwsec-test-utils libhwsec libhwsec-foundation tpm_manager trunks .gn"
 
 PLATFORM_SUBDIR="hwsec-test-utils"
 
 inherit cros-workon platform
 
 DESCRIPTION="Hwsec-related test-only features. This package resides in test images only."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/hwsec-test-utils/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hwsec-test-utils/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
@@ -32,6 +32,7 @@
 	tpm? (
 		app-crypt/trousers:=
 	)
+	chromeos-base/libhwsec:=
 "
 
 DEPEND="${RDEPEND}
diff --git a/chromeos-base/hwsec-utils/OWNERS b/chromeos-base/hwsec-utils/OWNERS
new file mode 100644
index 0000000..f81cc5c
--- /dev/null
+++ b/chromeos-base/hwsec-utils/OWNERS
@@ -0,0 +1,2 @@
+hcyang@google.com
+yich@google.com
diff --git a/chromeos-base/hwsec-utils/files/chromeos-version.sh b/chromeos-base/hwsec-utils/files/chromeos-version.sh
new file mode 100644
index 0000000..cbf33de
--- /dev/null
+++ b/chromeos-base/hwsec-utils/files/chromeos-version.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+#
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Assumes the first 'version =' line in the Cargo.toml is the version for the
+# crate.
+awk '/^version = / { print $3; exit }' "$1/hwsec-utils/Cargo.toml" | tr -d '"'
diff --git a/chromeos-base/hwsec-utils/hwsec-utils-0.1.0-r2.ebuild b/chromeos-base/hwsec-utils/hwsec-utils-0.1.0-r2.ebuild
new file mode 100644
index 0000000..73806aa
--- /dev/null
+++ b/chromeos-base/hwsec-utils/hwsec-utils-0.1.0-r2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="2a82f0f01c4d374f742de533013b6431a5fbef5d"
+CROS_WORKON_TREE="54dc28b2ba07f905cdf8b247981361b1187bfa18"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="hwsec-utils"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Hwsec-related features."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hwsec-utils/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test cr50_onboard"
+
+
+
+DEPEND=""
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}
+	cr50_onboard? ( chromeos-base/chromeos-cr50 )
+"
+
+
+src_install() {
+	cros-rust_src_install
+	dobin "$(cros-rust_get_build_dir)/tpm2_read_board_id"
+}
+
+src_test() {
+	cros-rust_src_test
+}
diff --git a/chromeos-base/hwsec-utils/hwsec-utils-9999.ebuild b/chromeos-base/hwsec-utils/hwsec-utils-9999.ebuild
new file mode 100644
index 0000000..394cc71
--- /dev/null
+++ b/chromeos-base/hwsec-utils/hwsec-utils-9999.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="hwsec-utils"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Hwsec-related features."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hwsec-utils/"
+
+LICENSE="BSD-Google"
+KEYWORDS="~*"
+IUSE="test cr50_onboard"
+
+
+
+DEPEND=""
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}
+	cr50_onboard? ( chromeos-base/chromeos-cr50 )
+"
+
+
+src_install() {
+	cros-rust_src_install
+	dobin "$(cros-rust_get_build_dir)/tpm2_read_board_id"
+}
+
+src_test() {
+	cros-rust_src_test
+}
diff --git a/chromeos-base/iioservice/files/revision_bump b/chromeos-base/iioservice/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/iioservice/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/iioservice/iioservice-0.0.1-r284.ebuild b/chromeos-base/iioservice/iioservice-0.0.1-r284.ebuild
deleted file mode 100644
index 53e78e2..0000000
--- a/chromeos-base/iioservice/iioservice-0.0.1-r284.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("f35f2919309cf11b0ddd9deb24a6b145d40d9254" "8300206169b81cf8f6600886bc1f5a86e62ace98")
-CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "04d918571ad6d12563589ccf1b8c0e79b65521aa" "f09f4711e5043f57c202260d0214f64c0eab5431" "a625767bb59509159091f2ab0b71f8b9b4b2e353" "4a0dedab080195bdc122d2289118df4af3ddca2c" "7b1902bfd171c628068c91fc41e253d0c08df363")
-inherit cros-constants
-
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform2"
-	"aosp/platform/frameworks/native"
-)
-CROS_WORKON_LOCALNAME=(
-	"platform2"
-	"aosp/frameworks/native"
-)
-CROS_WORKON_REPO=(
-	"${CROS_GIT_HOST_URL}"
-	"${CROS_GIT_HOST_URL}"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}/platform2"
-	"${S}/platform2/aosp/frameworks/native"
-)
-CROS_WORKON_EGIT_BRANCH=(
-	"main"
-	"master"
-)
-# TODO(crbug.com/809389): Remove libmems from this list.
-CROS_WORKON_SUBTREE=(".gn iioservice libmems common-mk metrics" "")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-PLATFORM_SUBDIR="iioservice/daemon"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Chrome OS sensor HAL IPC util."
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="+seccomp"
-
-RDEPEND="
-	!chromeos-base/chromeos-accelerometer-init
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/libiioservice_ipc:=
-	chromeos-base/libmems:=
-	chromeos-base/mems_setup
-	virtual/chromeos-ec-driver-init
-"
-
-DEPEND="${RDEPEND}
-	chromeos-base/system_api:=
-"
-
-pkg_preinst() {
-	enewuser "iioservice"
-	enewgroup "iioservice"
-}
-
-src_install() {
-	platform_install
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/iioservice/iioservice-0.0.1-r408.ebuild b/chromeos-base/iioservice/iioservice-0.0.1-r408.ebuild
new file mode 100644
index 0000000..6564a83
--- /dev/null
+++ b/chromeos-base/iioservice/iioservice-0.0.1-r408.ebuild
@@ -0,0 +1,68 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("dbb1136242ba822d539eaf11493f3b68815adb7f" "5e9a89d06c41edf5cf43da8acf5f26ed104887e6")
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "a97bd01dbd0e88c337336d29105ee63b03a4ef9f" "4d8f590bd987ed599a906fe078fb08b51c7c7f9c" "60fa47aebd6ebfb702012849bd560717fceddcd4" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "693bb2d63562c6eff050d04f75aab1e9251e6548")
+inherit cros-constants
+
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform2"
+	"aosp/platform/frameworks/native"
+)
+CROS_WORKON_LOCALNAME=(
+	"platform2"
+	"aosp/frameworks/native"
+)
+CROS_WORKON_REPO=(
+	"${CROS_GIT_HOST_URL}"
+	"${CROS_GIT_HOST_URL}"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}/platform2"
+	"${S}/platform2/aosp/frameworks/native"
+)
+CROS_WORKON_EGIT_BRANCH=(
+	"main"
+	"master"
+)
+# TODO(crbug.com/809389): Remove libmems from this list.
+CROS_WORKON_SUBTREE=(".gn iioservice libmems common-mk metrics" "")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="iioservice/daemon"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Chrome OS sensor HAL IPC util."
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="+seccomp"
+
+RDEPEND="
+	!chromeos-base/chromeos-accelerometer-init
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/libiioservice_ipc:=
+	chromeos-base/libmems:=
+	chromeos-base/mems_setup
+	virtual/chromeos-ec-driver-init
+"
+
+DEPEND="${RDEPEND}
+	chromeos-base/system_api:=
+"
+
+pkg_preinst() {
+	enewuser "iioservice"
+	enewgroup "iioservice"
+}
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/iioservice_simpleclient/files/revision_bump b/chromeos-base/iioservice_simpleclient/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/iioservice_simpleclient/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/iioservice_simpleclient/iioservice_simpleclient-0.0.1-r197.ebuild b/chromeos-base/iioservice_simpleclient/iioservice_simpleclient-0.0.1-r197.ebuild
deleted file mode 100644
index cd6289b..0000000
--- a/chromeos-base/iioservice_simpleclient/iioservice_simpleclient-0.0.1-r197.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "04d918571ad6d12563589ccf1b8c0e79b65521aa" "f09f4711e5043f57c202260d0214f64c0eab5431" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Remove libmems from this list.
-CROS_WORKON_SUBTREE="common-mk iioservice libmems .gn"
-
-PLATFORM_SUBDIR="iioservice/iioservice_simpleclient"
-
-inherit cros-workon platform
-
-DESCRIPTION="A simple client to test iioservice's mojo IPC for Chromium OS."
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="
-	chromeos-base/libiioservice_ipc:=
-	chromeos-base/libmems:=
-"
-
-DEPEND="${RDEPEND}
-	chromeos-base/system_api:=
-"
-
-src_install() {
-	dosbin "${OUT}"/iioservice_simpleclient
-	dosbin "${OUT}"/iioservice_query
-}
diff --git a/chromeos-base/iioservice_simpleclient/iioservice_simpleclient-0.0.1-r284.ebuild b/chromeos-base/iioservice_simpleclient/iioservice_simpleclient-0.0.1-r284.ebuild
new file mode 100644
index 0000000..47ef11d
--- /dev/null
+++ b/chromeos-base/iioservice_simpleclient/iioservice_simpleclient-0.0.1-r284.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "a97bd01dbd0e88c337336d29105ee63b03a4ef9f" "4d8f590bd987ed599a906fe078fb08b51c7c7f9c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Remove libmems from this list.
+CROS_WORKON_SUBTREE="common-mk iioservice libmems .gn"
+
+PLATFORM_SUBDIR="iioservice/iioservice_simpleclient"
+
+inherit cros-workon platform
+
+DESCRIPTION="A simple client to test iioservice's mojo IPC for Chromium OS."
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="
+	chromeos-base/libiioservice_ipc:=
+	chromeos-base/libmems:=
+"
+
+DEPEND="${RDEPEND}
+	chromeos-base/system_api:=
+"
+
+src_install() {
+	platform_install
+}
diff --git a/chromeos-base/iioservice_simpleclient/iioservice_simpleclient-9999.ebuild b/chromeos-base/iioservice_simpleclient/iioservice_simpleclient-9999.ebuild
index d8afa1f..fae3b04 100644
--- a/chromeos-base/iioservice_simpleclient/iioservice_simpleclient-9999.ebuild
+++ b/chromeos-base/iioservice_simpleclient/iioservice_simpleclient-9999.ebuild
@@ -30,6 +30,5 @@
 "
 
 src_install() {
-	dosbin "${OUT}"/iioservice_simpleclient
-	dosbin "${OUT}"/iioservice_query
+	platform_install
 }
diff --git a/chromeos-base/imageloader-client/files/revision_bump b/chromeos-base/imageloader-client/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/imageloader-client/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/imageloader-client/imageloader-client-0.0.1-r717.ebuild b/chromeos-base/imageloader-client/imageloader-client-0.0.1-r717.ebuild
deleted file mode 100644
index b36b506..0000000
--- a/chromeos-base/imageloader-client/imageloader-client-0.0.1-r717.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "8ea0cb6f8586f7be81d2137768a413a43d525e2d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk imageloader .gn"
-
-PLATFORM_SUBDIR="imageloader/client"
-
-inherit cros-workon platform
-
-DESCRIPTION="ImageLoader DBus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/imageloader/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="cros_host"
-
-# D-Bus proxies generated by this client library depend on the code generator
-# itself (chromeos-dbus-bindings) and produce header files that rely on
-# libbrillo library.
-DEPEND="
-	cros_host? ( chromeos-base/chromeos-dbus-bindings:= )
-"
-
-RDEPEND="chromeos-base/imageloader"
-
-src_install() {
-	# Install DBus client library.
-	platform_install_dbus_client_lib "imageloader"
-}
diff --git a/chromeos-base/imageloader-client/imageloader-client-0.0.1-r787.ebuild b/chromeos-base/imageloader-client/imageloader-client-0.0.1-r787.ebuild
new file mode 100644
index 0000000..0edbfe9
--- /dev/null
+++ b/chromeos-base/imageloader-client/imageloader-client-0.0.1-r787.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "bc5f4dc1eac5097a6d543202f4a5a5a4460f724b" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk imageloader .gn"
+
+PLATFORM_SUBDIR="imageloader/client"
+
+inherit cros-workon platform
+
+DESCRIPTION="ImageLoader DBus client library for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/imageloader/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="cros_host"
+
+# D-Bus proxies generated by this client library depend on the code generator
+# itself (chromeos-dbus-bindings) and produce header files that rely on
+# libbrillo library.
+DEPEND="
+	cros_host? ( chromeos-base/chromeos-dbus-bindings:= )
+"
+
+RDEPEND="chromeos-base/imageloader"
+
+src_install() {
+	# Install DBus client library.
+	platform_install_dbus_client_lib "imageloader"
+}
diff --git a/chromeos-base/imageloader-client/imageloader-client-9999.ebuild b/chromeos-base/imageloader-client/imageloader-client-9999.ebuild
index 998a978..6641a60 100644
--- a/chromeos-base/imageloader-client/imageloader-client-9999.ebuild
+++ b/chromeos-base/imageloader-client/imageloader-client-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="ImageLoader DBus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/imageloader/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/imageloader/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/imageloader/files/revision_bump b/chromeos-base/imageloader/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/imageloader/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/imageloader/imageloader-0.0.1-r1677.ebuild b/chromeos-base/imageloader/imageloader-0.0.1-r1677.ebuild
deleted file mode 100644
index baff7a5..0000000
--- a/chromeos-base/imageloader/imageloader-0.0.1-r1677.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "8ea0cb6f8586f7be81d2137768a413a43d525e2d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk imageloader .gn"
-
-PLATFORM_SUBDIR="imageloader"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Allow mounting verified utility images"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/imageloader/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="fuzzer"
-
-RDEPEND="
-	chromeos-base/vboot_reference:=
-	chromeos-base/minijail:=
-	dev-libs/openssl:=
-	dev-libs/protobuf:=
-	fuzzer? ( dev-libs/libprotobuf-mutator:= )
-	sys-fs/lvm2:="
-
-DEPEND="${RDEPEND}
-	chromeos-base/system_api:=[fuzzer?]"
-
-src_install() {
-	platform_install
-
-	local fuzzer_component_id="188251"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/imageloader_helper_process_receiver_fuzzer \
-		--comp "${fuzzer_component_id}"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/imageloader_manifest_fuzzer \
-		--dict "${S}"/fuzz/manifest.dict \
-		--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	platform test_all
-}
-
-pkg_preinst() {
-	enewuser "imageloaderd"
-	enewgroup "imageloaderd"
-}
diff --git a/chromeos-base/imageloader/imageloader-0.0.1-r1747.ebuild b/chromeos-base/imageloader/imageloader-0.0.1-r1747.ebuild
new file mode 100644
index 0000000..d9485e6
--- /dev/null
+++ b/chromeos-base/imageloader/imageloader-0.0.1-r1747.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "bc5f4dc1eac5097a6d543202f4a5a5a4460f724b" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk imageloader .gn"
+
+PLATFORM_SUBDIR="imageloader"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Allow mounting verified utility images"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/imageloader/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="fuzzer"
+
+RDEPEND="
+	chromeos-base/vboot_reference:=
+	chromeos-base/minijail:=
+	dev-libs/openssl:=
+	dev-libs/protobuf:=
+	fuzzer? ( dev-libs/libprotobuf-mutator:= )
+	sys-fs/lvm2:="
+
+DEPEND="${RDEPEND}
+	chromeos-base/system_api:=[fuzzer?]"
+
+src_install() {
+	platform_install
+
+	local fuzzer_component_id="188251"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/imageloader_helper_process_receiver_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/imageloader_manifest_fuzzer \
+		--dict "${S}"/fuzz/manifest.dict \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	platform test_all
+}
+
+pkg_preinst() {
+	enewuser "imageloaderd"
+	enewgroup "imageloaderd"
+}
diff --git a/chromeos-base/imageloader/imageloader-9999.ebuild b/chromeos-base/imageloader/imageloader-9999.ebuild
index cc2526b..df92315 100644
--- a/chromeos-base/imageloader/imageloader-9999.ebuild
+++ b/chromeos-base/imageloader/imageloader-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform user
 
 DESCRIPTION="Allow mounting verified utility images"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/imageloader/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/imageloader/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/infineon-firmware-updater/files/wno-error.patch b/chromeos-base/infineon-firmware-updater/files/wno-error.patch
new file mode 100644
index 0000000..7301a7f
--- /dev/null
+++ b/chromeos-base/infineon-firmware-updater/files/wno-error.patch
@@ -0,0 +1,13 @@
+diff --git a/TPMFactoryUpd/makefile b/TPMFactoryUpd/makefile
+index 07ff460..37cfdd7 100755
+--- a/TPMFactoryUpd/makefile
++++ b/TPMFactoryUpd/makefile
+@@ -22,7 +22,7 @@ CFLAGS+= \
+ 	-Wextra \
+ 	-std=gnu1x -Wpedantic \
+ 	-Wno-missing-field-initializers \
+-	-Werror \
++	-Wno-error \
+ 	-Wshadow \
+ 	-Wcast-align \
+ 	-Wswitch-default \
diff --git a/chromeos-base/infineon-firmware-updater/infineon-firmware-updater-1.1.2459.0-r32.ebuild b/chromeos-base/infineon-firmware-updater/infineon-firmware-updater-1.1.2459.0-r34.ebuild
similarity index 100%
rename from chromeos-base/infineon-firmware-updater/infineon-firmware-updater-1.1.2459.0-r32.ebuild
rename to chromeos-base/infineon-firmware-updater/infineon-firmware-updater-1.1.2459.0-r34.ebuild
diff --git a/chromeos-base/infineon-firmware-updater/infineon-firmware-updater-1.1.2459.0.ebuild b/chromeos-base/infineon-firmware-updater/infineon-firmware-updater-1.1.2459.0.ebuild
index 4604eb7..0c5e985 100644
--- a/chromeos-base/infineon-firmware-updater/infineon-firmware-updater-1.1.2459.0.ebuild
+++ b/chromeos-base/infineon-firmware-updater/infineon-firmware-updater-1.1.2459.0.ebuild
@@ -34,9 +34,12 @@
 	epatch "${FILESDIR}"/ignore-error-on-complete-option.patch
 	epatch "${FILESDIR}"/update-type-ownerauth.patch
 	epatch "${FILESDIR}"/openssl-1.1.patch
+	epatch "${FILESDIR}"/wno-error.patch
 }
 
 src_configure() {
+	# Disable -Wstrict-prototypes, b/230345382.
+	append-flags -Wno-strict-prototypes
 	tc-export AR CC
 }
 
diff --git a/chromeos-base/intel-nnhal/files/revision_bump b/chromeos-base/intel-nnhal/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/intel-nnhal/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/intel-nnhal/intel-nnhal-0.0.1-r115.ebuild b/chromeos-base/intel-nnhal/intel-nnhal-0.0.1-r115.ebuild
deleted file mode 100644
index b37e037..0000000
--- a/chromeos-base/intel-nnhal/intel-nnhal-0.0.1-r115.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-inherit base cros-workon platform unpacker
-
-DESCRIPTION="Intel NNAPI HAL"
-HOMEPAGE="https://github.com/intel/nn-hal"
-NNHAL_GIT_HASH="311f5d1ce6243751a04eee920e353314875f839e"
-NNHAL_GIT_SHORT_HASH=${NNHAL_GIT_HASH::8}
-OPENVINO_GIT_HASH="a4a1bff1cc5a6b22f806adac8845d2806772dacd"
-OPENVINO_GIT_SHORT_HASH=${OPENVINO_GIT_HASH::8}
-SRC_URI="
-	https://github.com/intel/nn-hal/archive/${NNHAL_GIT_HASH}.tar.gz -> intel-nn-hal-${NNHAL_GIT_SHORT_HASH}.tar.gz
-	https://github.com/openvinotoolkit/openvino/archive/${OPENVINO_GIT_HASH}.tar.xz -> intel-openvino-${OPENVINO_GIT_SHORT_HASH}.tar.xz
-"
-
-
-LICENSE="BSD-Google"
-KEYWORDS="-* amd64"
-IUSE="vendor-nnhal"
-RESTRICT="strip"
-
-CROS_WORKON_PROJECT=("chromiumos/platform2")
-CROS_WORKON_LOCALNAME=("platform2")
-CROS_WORKON_DESTDIR=("${S}/platform2")
-CROS_WORKON_SUBTREE=("common-mk .gn")
-
-PLATFORM_SUBDIR="nn-hal-${NNHAL_GIT_HASH}"
-
-RDEPEND="
-	chromeos-base/aosp-frameworks-ml-nn
-	chromeos-base/intel-openvino
-	chromeos-base/intel-gnalib
-"
-
-DEPEND="
-	${RDEPEND}
-"
-src_unpack() {
-	platform_src_unpack
-
-	# Need to unpack the SRC_URI's into the platform2 dir
-	cd "${WORKDIR}/${PN}-${PV}/platform2"
-	unpacker_src_unpack
-}
-
-src_configure() {
-	if use x86 || use amd64; then
-		append-cppflags "-D_Float16=__fp16"
-		append-cxxflags "-Xclang -fnative-half-type"
-		append-cxxflags "-Xclang -fallow-half-arguments-and-returns"
-	fi
-	platform_src_configure
-}
-
-src_prepare() {
-	cros_enable_cxx_exceptions
-	eapply_user
-}
-
-src_install() {
-	if use vendor-nnhal ; then
-		einfo "Installing Intel GNA vendor hal."
-		dolib.so "${OUT}/lib/libvendor-nn-hal.so"
-		dolib.so "${OUT}/lib/libintel_nnhal.so"
-	fi
-}
diff --git a/chromeos-base/intel-nnhal/intel-nnhal-0.0.1-r172.ebuild b/chromeos-base/intel-nnhal/intel-nnhal-0.0.1-r172.ebuild
new file mode 100644
index 0000000..2f93940
--- /dev/null
+++ b/chromeos-base/intel-nnhal/intel-nnhal-0.0.1-r172.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+inherit base cros-workon platform unpacker
+
+DESCRIPTION="Intel NNAPI HAL"
+HOMEPAGE="https://github.com/intel/nn-hal"
+NNHAL_GIT_HASH="311f5d1ce6243751a04eee920e353314875f839e"
+NNHAL_GIT_SHORT_HASH=${NNHAL_GIT_HASH::8}
+OPENVINO_GIT_HASH="a4a1bff1cc5a6b22f806adac8845d2806772dacd"
+OPENVINO_GIT_SHORT_HASH=${OPENVINO_GIT_HASH::8}
+SRC_URI="
+	https://github.com/intel/nn-hal/archive/${NNHAL_GIT_HASH}.tar.gz -> intel-nn-hal-${NNHAL_GIT_SHORT_HASH}.tar.gz
+	https://github.com/openvinotoolkit/openvino/archive/${OPENVINO_GIT_HASH}.tar.xz -> intel-openvino-${OPENVINO_GIT_SHORT_HASH}.tar.xz
+"
+
+
+LICENSE="BSD-Google"
+KEYWORDS="-* amd64"
+IUSE="vendor-nnhal"
+RESTRICT="strip"
+
+CROS_WORKON_PROJECT=("chromiumos/platform2")
+CROS_WORKON_LOCALNAME=("platform2")
+CROS_WORKON_DESTDIR=("${S}/platform2")
+CROS_WORKON_SUBTREE=("common-mk .gn")
+
+PLATFORM_SUBDIR="nn-hal-${NNHAL_GIT_HASH}"
+
+RDEPEND="
+	chromeos-base/aosp-frameworks-ml-nn
+	chromeos-base/intel-openvino
+	chromeos-base/intel-gnalib
+"
+
+DEPEND="
+	${RDEPEND}
+"
+src_unpack() {
+	platform_src_unpack
+
+	# Need to unpack the SRC_URI's into the platform2 dir
+	cd "${WORKDIR}/${PN}-${PV}/platform2"
+	unpacker_src_unpack
+}
+
+src_configure() {
+	if use x86 || use amd64; then
+		append-cppflags "-D_Float16=__fp16"
+		append-cxxflags "-Xclang -fnative-half-type"
+		append-cxxflags "-Xclang -fallow-half-arguments-and-returns"
+	fi
+	platform_src_configure
+}
+
+src_prepare() {
+	cros_enable_cxx_exceptions
+	eapply_user
+}
+
+src_install() {
+	if use vendor-nnhal ; then
+		einfo "Installing Intel GNA vendor hal."
+		dolib.so "${OUT}/lib/libvendor-nn-hal.so"
+		dolib.so "${OUT}/lib/libintel_nnhal.so"
+	fi
+}
diff --git a/net-print/ippsample/OWNERS b/chromeos-base/ippusb_bridge/OWNERS
similarity index 100%
copy from net-print/ippsample/OWNERS
copy to chromeos-base/ippusb_bridge/OWNERS
diff --git a/chromeos-base/ippusb_bridge/ippusb_bridge-0.0.1-r47.ebuild b/chromeos-base/ippusb_bridge/ippusb_bridge-0.0.1-r47.ebuild
deleted file mode 100644
index d2d3835..0000000
--- a/chromeos-base/ippusb_bridge/ippusb_bridge-0.0.1-r47.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="449229a4ea442ad787210adb9e33a551bf0b721c"
-CROS_WORKON_TREE="236482b6860489c83e10afb39ba9aa78efe3f47b"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_SUBTREE="ippusb_bridge"
-
-inherit cros-workon cros-rust udev user
-
-DESCRIPTION="A proxy for HTTP traffic over an IPP-USB printer connection"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/ippusb_bridge/"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
-
-COMMON_DEPEND="
-	virtual/libusb:1=
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	!chromeos-base/ippusb_manager
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-	>=dev-rust/chunked_transfer-1:= <dev-rust/chunked_transfer-2
-	>=dev-rust/getopts-0.2.18:= <dev-rust/getopts-0.3
-	>=dev-rust/httparse-1.3.4:= <dev-rust/httparse-1.4
-	>=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3
-	>=dev-rust/rusb-0.6.2:= <dev-rust/rusb-0.7
-	dev-rust/sync:=
-	dev-rust/sys_util:=
-	>=dev-rust/tiny_http-0.8:= <dev-rust/tiny_http-0.9
-"
-
-pkg_preinst() {
-	enewgroup ippusb
-	enewuser ippusb
-
-	cros-rust_pkg_preinst
-}
-
-src_install() {
-	dobin "$(cros-rust_get_build_dir)"/ippusb_bridge
-
-	# Install policy files.
-	insinto /usr/share/policy
-	newins "seccomp/ippusb-bridge-seccomp-${ARCH}.policy" \
-		ippusb-bridge-seccomp.policy
-
-	udev_dorules udev/*.rules
-
-	insinto /etc/init
-	newins "init/ippusb-bridge.conf" "ippusb-bridge.conf"
-
-	exeinto /usr/libexec/ippusb
-	doexe "init/bridge_start"
-	doexe "init/bridge_stop"
-}
diff --git a/chromeos-base/ippusb_bridge/ippusb_bridge-0.0.1-r56.ebuild b/chromeos-base/ippusb_bridge/ippusb_bridge-0.0.1-r56.ebuild
new file mode 100644
index 0000000..6e0937e
--- /dev/null
+++ b/chromeos-base/ippusb_bridge/ippusb_bridge-0.0.1-r56.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="21ef314f166d1c49a4b388e89bace09ac13e3d50"
+CROS_WORKON_TREE="9f52ac3e563d9881b5a0bcb553f5dc83d8ae8d10"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="ippusb_bridge"
+
+inherit cros-workon cros-rust udev user
+
+DESCRIPTION="A proxy for HTTP traffic over an IPP-USB printer connection"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/ippusb_bridge/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+COMMON_DEPEND="
+	virtual/libusb:1=
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	!chromeos-base/ippusb_manager
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+	>=dev-rust/chunked_transfer-1:= <dev-rust/chunked_transfer-2
+	>=dev-rust/getopts-0.2.18:= <dev-rust/getopts-0.3
+	>=dev-rust/httparse-1.3.4:= <dev-rust/httparse-1.4
+	>=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3
+	>=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9
+	dev-rust/sync:=
+	dev-rust/sys_util:=
+	>=dev-rust/tiny_http-0.8:= <dev-rust/tiny_http-0.9
+"
+
+pkg_preinst() {
+	enewgroup ippusb
+	enewuser ippusb
+
+	cros-rust_pkg_preinst
+}
+
+src_install() {
+	dobin "$(cros-rust_get_build_dir)"/ippusb_bridge
+
+	# install tmpfiles.d
+	insinto /usr/lib/tmpfiles.d/on-demand/
+	newins "tmpfiles.d/on-demand/ippusb-bridge.conf" "ippusb-bridge.conf"
+
+	# Install policy files.
+	insinto /usr/share/policy
+	newins "seccomp/ippusb-bridge-seccomp-${ARCH}.policy" \
+		ippusb-bridge-seccomp.policy
+
+	udev_dorules udev/*.rules
+
+	insinto /etc/init
+	newins "init/ippusb-bridge.conf" "ippusb-bridge.conf"
+
+	insinto /usr/share/ippusb_bridge
+	newins "init/ippusb-bridge-debug.conf" "ippusb-bridge-debug.conf"
+
+	exeinto /usr/libexec/ippusb
+	doexe "init/bridge_start"
+	doexe "init/bridge_stop"
+}
diff --git a/chromeos-base/ippusb_bridge/ippusb_bridge-9999.ebuild b/chromeos-base/ippusb_bridge/ippusb_bridge-9999.ebuild
index b66ae2c..a02c9f6 100644
--- a/chromeos-base/ippusb_bridge/ippusb_bridge-9999.ebuild
+++ b/chromeos-base/ippusb_bridge/ippusb_bridge-9999.ebuild
@@ -33,7 +33,7 @@
 	>=dev-rust/getopts-0.2.18:= <dev-rust/getopts-0.3
 	>=dev-rust/httparse-1.3.4:= <dev-rust/httparse-1.4
 	>=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3
-	>=dev-rust/rusb-0.6.2:= <dev-rust/rusb-0.7
+	>=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9
 	dev-rust/sync:=
 	dev-rust/sys_util:=
 	>=dev-rust/tiny_http-0.8:= <dev-rust/tiny_http-0.9
@@ -49,6 +49,10 @@
 src_install() {
 	dobin "$(cros-rust_get_build_dir)"/ippusb_bridge
 
+	# install tmpfiles.d
+	insinto /usr/lib/tmpfiles.d/on-demand/
+	newins "tmpfiles.d/on-demand/ippusb-bridge.conf" "ippusb-bridge.conf"
+
 	# Install policy files.
 	insinto /usr/share/policy
 	newins "seccomp/ippusb-bridge-seccomp-${ARCH}.policy" \
@@ -59,6 +63,9 @@
 	insinto /etc/init
 	newins "init/ippusb-bridge.conf" "ippusb-bridge.conf"
 
+	insinto /usr/share/ippusb_bridge
+	newins "init/ippusb-bridge-debug.conf" "ippusb-bridge-debug.conf"
+
 	exeinto /usr/libexec/ippusb
 	doexe "init/bridge_start"
 	doexe "init/bridge_stop"
diff --git a/chromeos-base/kerberos/files/revision_bump b/chromeos-base/kerberos/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/kerberos/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/kerberos/kerberos-0.0.1-r451.ebuild b/chromeos-base/kerberos/kerberos-0.0.1-r451.ebuild
deleted file mode 100644
index 5d22bac..0000000
--- a/chromeos-base/kerberos/kerberos-0.0.1-r451.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "1f42c8aafc4ed5cf73379b9cf55d7f1da941d9ce" "56dc9b3a788bc68f829c1e7a1d3b6cf067c7aaf9" "4a0dedab080195bdc122d2289118df4af3ddca2c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk kerberos libpasswordprovider metrics .gn"
-
-PLATFORM_SUBDIR="kerberos"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Requests and manages Kerberos tickets to enable Kerberos SSO"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/kerberos/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="asan fuzzer"
-
-COMMON_DEPEND="
-	app-crypt/mit-krb5:=
-	chromeos-base/libbrillo:=[asan?,fuzzer?]
-	chromeos-base/libpasswordprovider:=
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/minijail:=
-	dev-libs/protobuf:=
-	sys-apps/dbus:=
-"
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/protofiles:=
-	chromeos-base/session_manager-client:=
-	chromeos-base/system_api:=[fuzzer?]
-"
-
-pkg_setup() {
-	# Has to be done in pkg_setup() instead of pkg_preinst() since
-	# src_install() needs kerberosd.
-	enewuser kerberosd
-	enewgroup kerberosd
-	enewuser kerberosd-exec
-	enewgroup kerberosd-exec
-	cros-workon_pkg_setup
-}
-
-src_install() {
-	dosbin "${OUT}"/kerberosd
-
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.Kerberos.conf
-
-	insinto /usr/share/dbus-1/system-services
-	doins dbus/org.chromium.Kerberos.service
-
-	insinto /etc/init
-	doins init/kerberosd.conf
-
-	insinto /usr/share/policy
-	newins seccomp/kerberosd-seccomp-"${ARCH}".policy kerberosd-seccomp.policy
-
-	insinto /usr/share/cros/startup/process_management_policies
-	doins setuid_restrictions/kerberosd_uid_allowlist.txt
-
-	# Create daemon store folder prototype, see
-	# https://chromium.googlesource.com/chromiumos/docs/+/master/sandboxing.md#securely-mounting-cryptohome-daemon-store-folders
-	local daemon_store="/etc/daemon-store/kerberosd"
-	dodir "${daemon_store}"
-	fperms 0770 "${daemon_store}"
-	fowners kerberosd:kerberosd "${daemon_store}"
-
-	# fuzzer_component_id is unknown/unlisted
-	platform_fuzzer_install "${S}/OWNERS" "${OUT}"/config_parser_fuzzer \
-		--dict "${S}"/config_parser_fuzzer.dict || die
-}
-
-platform_pkg_test() {
-	local tests=(
-		kerberos_test
-	)
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-}
diff --git a/chromeos-base/kerberos/kerberos-0.0.1-r554.ebuild b/chromeos-base/kerberos/kerberos-0.0.1-r554.ebuild
new file mode 100644
index 0000000..7e5f074
--- /dev/null
+++ b/chromeos-base/kerberos/kerberos-0.0.1-r554.ebuild
@@ -0,0 +1,91 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "ac73f1a95b3439bdecc48d4cf6569e1f971592eb" "fb8e41991af9e4c6c88768b137a9b48e4e5e47da" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk kerberos libpasswordprovider metrics .gn"
+
+PLATFORM_SUBDIR="kerberos"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Requests and manages Kerberos tickets to enable Kerberos SSO"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/kerberos/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="asan fuzzer"
+
+COMMON_DEPEND="
+	app-crypt/mit-krb5:=
+	chromeos-base/libbrillo:=[asan?,fuzzer?]
+	chromeos-base/libpasswordprovider:=
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/minijail:=
+	dev-libs/protobuf:=
+	sys-apps/dbus:=
+"
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/protofiles:=
+	chromeos-base/session_manager-client:=
+	chromeos-base/system_api:=[fuzzer?]
+"
+
+pkg_setup() {
+	# Has to be done in pkg_setup() instead of pkg_preinst() since
+	# src_install() needs kerberosd.
+	enewuser kerberosd
+	enewgroup kerberosd
+	enewuser kerberosd-exec
+	enewgroup kerberosd-exec
+	cros-workon_pkg_setup
+}
+
+src_install() {
+	dosbin "${OUT}"/kerberosd
+
+	insinto /etc/dbus-1/system.d
+	doins dbus/org.chromium.Kerberos.conf
+
+	insinto /usr/share/dbus-1/system-services
+	doins dbus/org.chromium.Kerberos.service
+
+	insinto /etc/init
+	doins init/kerberosd.conf
+
+	insinto /usr/share/policy
+	newins seccomp/kerberosd-seccomp-"${ARCH}".policy kerberosd-seccomp.policy
+
+	insinto /usr/share/cros/startup/process_management_policies
+	doins setuid_restrictions/kerberosd_uid_allowlist.txt
+
+	# Create daemon store folder prototype, see
+	# https://chromium.googlesource.com/chromiumos/docs/+/HEAD/sandboxing.md#securely-mounting-cryptohome-daemon-store-folders
+	local daemon_store="/etc/daemon-store/kerberosd"
+	dodir "${daemon_store}"
+	fperms 0770 "${daemon_store}"
+	fowners kerberosd:kerberosd "${daemon_store}"
+
+	# fuzzer_component_id is unknown/unlisted
+	platform_fuzzer_install "${S}/OWNERS" "${OUT}"/config_parser_fuzzer \
+		--dict "${S}"/config_parser_fuzzer.dict || die
+}
+
+platform_pkg_test() {
+	local tests=(
+		kerberos_test
+	)
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+}
diff --git a/chromeos-base/kerberos/kerberos-9999.ebuild b/chromeos-base/kerberos/kerberos-9999.ebuild
index 574f745..2a9e2df 100644
--- a/chromeos-base/kerberos/kerberos-9999.ebuild
+++ b/chromeos-base/kerberos/kerberos-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-workon platform user
 
 DESCRIPTION="Requests and manages Kerberos tickets to enable Kerberos SSO"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/kerberos/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/kerberos/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
@@ -67,7 +67,7 @@
 	doins setuid_restrictions/kerberosd_uid_allowlist.txt
 
 	# Create daemon store folder prototype, see
-	# https://chromium.googlesource.com/chromiumos/docs/+/master/sandboxing.md#securely-mounting-cryptohome-daemon-store-folders
+	# https://chromium.googlesource.com/chromiumos/docs/+/HEAD/sandboxing.md#securely-mounting-cryptohome-daemon-store-folders
 	local daemon_store="/etc/daemon-store/kerberosd"
 	dodir "${daemon_store}"
 	fperms 0770 "${daemon_store}"
diff --git a/chromeos-base/lexmark-fax-pnh/files/revision_bump b/chromeos-base/lexmark-fax-pnh/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/lexmark-fax-pnh/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/lexmark-fax-pnh/lexmark-fax-pnh-0.0.1-r126.ebuild b/chromeos-base/lexmark-fax-pnh/lexmark-fax-pnh-0.0.1-r126.ebuild
deleted file mode 100644
index dd66887..0000000
--- a/chromeos-base/lexmark-fax-pnh/lexmark-fax-pnh-0.0.1-r126.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("f35f2919309cf11b0ddd9deb24a6b145d40d9254" "f131d8f851366e6a2f8e8fa8f3042285d021d6c6")
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4c04b0ebf35112629d2f6bc7e478514dcb5805cb")
-CROS_WORKON_LOCALNAME=("platform2" "third_party/lexmark-fax-pnh")
-CROS_WORKON_EGIT_BRANCH=("main" "master")
-CROS_WORKON_PROJECT=("chromiumos/platform2" "chromiumos/third_party/lexmark-fax-pnh")
-CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/lexmark-fax-pnh")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE=("common-mk .gn" "")
-
-PLATFORM_SUBDIR="lexmark-fax-pnh"
-
-inherit cros-workon platform
-
-DESCRIPTION="ChromeOS implementation of the Lexmark fax-pnh-filter"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/lexmark-fax-pnh/"
-
-LICENSE="MPL-2.0"
-KEYWORDS="*"
-
-IUSE=""
-
-RDEPEND="
-	net-print/cups
-"
-DEPEND="${RDEPEND}"
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/token_replacer_testrunner"
-}
-
-src_install() {
-	exeinto /usr/libexec/cups/filter
-	doexe "${OUT}"/fax-pnh-filter
-}
diff --git a/chromeos-base/lexmark-fax-pnh/lexmark-fax-pnh-0.0.1-r183.ebuild b/chromeos-base/lexmark-fax-pnh/lexmark-fax-pnh-0.0.1-r183.ebuild
new file mode 100644
index 0000000..68f8ce0
--- /dev/null
+++ b/chromeos-base/lexmark-fax-pnh/lexmark-fax-pnh-0.0.1-r183.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("dbb1136242ba822d539eaf11493f3b68815adb7f" "f131d8f851366e6a2f8e8fa8f3042285d021d6c6")
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4c04b0ebf35112629d2f6bc7e478514dcb5805cb")
+CROS_WORKON_LOCALNAME=("platform2" "third_party/lexmark-fax-pnh")
+CROS_WORKON_EGIT_BRANCH=("main" "master")
+CROS_WORKON_PROJECT=("chromiumos/platform2" "chromiumos/third_party/lexmark-fax-pnh")
+CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/lexmark-fax-pnh")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE=("common-mk .gn" "")
+
+PLATFORM_SUBDIR="lexmark-fax-pnh"
+
+inherit cros-workon platform
+
+DESCRIPTION="ChromeOS implementation of the Lexmark fax-pnh-filter"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/lexmark-fax-pnh/"
+
+LICENSE="MPL-2.0"
+KEYWORDS="*"
+
+IUSE=""
+
+RDEPEND="
+	net-print/cups
+"
+DEPEND="${RDEPEND}"
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/token_replacer_testrunner"
+}
+
+src_install() {
+	exeinto /usr/libexec/cups/filter
+	doexe "${OUT}"/fax-pnh-filter
+}
diff --git a/chromeos-base/libbrillo/files/revision_bump b/chromeos-base/libbrillo/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/libbrillo/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/libbrillo/libbrillo-0.0.1-r1924.ebuild b/chromeos-base/libbrillo/libbrillo-0.0.1-r1924.ebuild
deleted file mode 100644
index 1b4c0d3..0000000
--- a/chromeos-base/libbrillo/libbrillo-0.0.1-r1924.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "612e813a03deb8074ea50200112a45acb3131c70" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk libbrillo .gn"
-
-PLATFORM_SUBDIR="libbrillo"
-
-# platform.eclass automatically add dependency to libbrillo by default,
-# but this package should not have the dependency.
-WANT_LIBBRILLO="no"
-
-inherit cros-workon platform
-
-DESCRIPTION="Base library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/libbrillo/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="cros_host +dbus +device_mapper fuzzer -lvm_stateful_partition +udev"
-
-COMMON_DEPEND="
-	chromeos-base/minijail:=
-	chromeos-base/vboot_reference:=
-	dbus? ( dev-libs/dbus-glib:= )
-	dev-libs/openssl:=
-	dev-libs/protobuf:=
-	net-libs/grpc:=
-	net-misc/curl:=
-	sys-apps/rootdev:=
-	device_mapper? ( sys-fs/lvm2:=[thin] )
-	lvm_stateful_partition? ( sys-fs/lvm2:= )
-	udev? ( virtual/libudev )
-"
-RDEPEND="
-	${COMMON_DEPEND}
-	!cros_host? ( chromeos-base/libchromeos-use-flags )
-	chromeos-base/chromeos-ca-certificates
-	!chromeos-base/libchromeos
-"
-DEPEND="
-	${COMMON_DEPEND}
-	>=chromeos-base/protofiles-0.0.55:=
-	dbus? ( chromeos-base/system_api:=[fuzzer?] )
-	dev-libs/modp_b64:=
-"
-
-src_install() {
-	insinto "/usr/$(get_libdir)/pkgconfig"
-
-	dolib.so "${OUT}"/lib/lib{brillo,installattributes,policy}*.so
-	dolib.a "${OUT}"/libbrillo*.a
-	# Install libbrillo with and without version number as a temporary
-	# measure.
-	doins "${OUT}"/obj/libbrillo/libbrillo*.pc
-
-	# Install all the header files from libbrillo/brillo/*.h into
-	# /usr/include/brillo (recursively, with sub-directories).
-	local dir
-	while read -d $'\0' -r dir; do
-		insinto "/usr/include/${dir}"
-		doins "${dir}"/*.h
-	done < <(find brillo -type d -print0)
-
-	insinto /usr/include/policy
-	doins policy/*.h
-	insinto /usr/include/install_attributes
-	doins install_attributes/libinstallattributes.h
-
-	# fuzzer_component_id is unknown/unlisted
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/libbrillo_cryptohome_fuzzer
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/libbrillo_data_encoding_fuzzer
-	platform_fuzzer_install "${S}"/OWNERS \
-		"${OUT}"/libbrillo_dbus_data_serialization_fuzzer
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/libbrillo_http_form_data_fuzzer
-}
-
-platform_pkg_test() {
-	local gtest_filter_qemu="-*DeathTest*"
-	platform_test "run" "${OUT}/libbrillo_tests" "" "" "${gtest_filter_qemu}"
-	platform_test "run" "${OUT}/libinstallattributes_tests"
-	platform_test "run" "${OUT}/libpolicy_tests"
-	platform_test "run" "${OUT}/libbrillo-grpc_tests"
-}
diff --git a/chromeos-base/libbrillo/libbrillo-0.0.1-r2033.ebuild b/chromeos-base/libbrillo/libbrillo-0.0.1-r2033.ebuild
new file mode 100644
index 0000000..6385151
--- /dev/null
+++ b/chromeos-base/libbrillo/libbrillo-0.0.1-r2033.ebuild
@@ -0,0 +1,91 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="d57bfdd77a8d7282bc3b1d11c270ee09696eeb5c"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "abc7d0936bf74ade075dcbf17a34a8be5ea99b5f" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk libbrillo .gn"
+
+PLATFORM_SUBDIR="libbrillo"
+
+# platform.eclass automatically add dependency to libbrillo by default,
+# but this package should not have the dependency.
+WANT_LIBBRILLO="no"
+
+inherit cros-workon platform
+
+DESCRIPTION="Base library for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libbrillo/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="cros_host +dbus +device_mapper fuzzer -lvm_stateful_partition +udev usb"
+
+COMMON_DEPEND="
+	chromeos-base/minijail:=
+	dbus? ( dev-libs/dbus-glib:= )
+	dev-libs/openssl:=
+	dev-libs/protobuf:=
+	net-libs/grpc:=
+	net-misc/curl:=
+	sys-apps/rootdev:=
+	device_mapper? ( sys-fs/lvm2:=[thin] )
+	lvm_stateful_partition? ( sys-fs/lvm2:= )
+	udev? ( virtual/libudev )
+	usb? ( virtual/libusb:1= )
+"
+RDEPEND="
+	${COMMON_DEPEND}
+	!cros_host? ( chromeos-base/libchromeos-use-flags )
+	chromeos-base/chromeos-ca-certificates
+	!chromeos-base/libchromeos
+"
+DEPEND="
+	${COMMON_DEPEND}
+	>=chromeos-base/protofiles-0.0.60:=
+	dbus? ( chromeos-base/system_api:=[fuzzer?] )
+	dev-libs/modp_b64:=
+"
+
+src_install() {
+	insinto "/usr/$(get_libdir)/pkgconfig"
+
+	dolib.so "${OUT}"/lib/lib{brillo,installattributes,policy}*.so
+	dolib.a "${OUT}"/libbrillo*.a
+	# Install libbrillo with and without version number as a temporary
+	# measure.
+	doins "${OUT}"/obj/libbrillo/libbrillo*.pc
+
+	# Install all the header files from libbrillo/brillo/*.h into
+	# /usr/include/brillo (recursively, with sub-directories).
+	local dir
+	while read -d $'\0' -r dir; do
+		insinto "/usr/include/${dir}"
+		doins "${dir}"/*.h
+	done < <(find brillo -type d -print0)
+
+	insinto /usr/include/policy
+	doins policy/*.h
+	insinto /usr/include/install_attributes
+	doins install_attributes/libinstallattributes.h
+
+	# fuzzer_component_id is unknown/unlisted
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/libbrillo_cryptohome_fuzzer
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/libbrillo_data_encoding_fuzzer
+	platform_fuzzer_install "${S}"/OWNERS \
+		"${OUT}"/libbrillo_dbus_data_serialization_fuzzer
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/libbrillo_http_form_data_fuzzer
+}
+
+platform_pkg_test() {
+	local gtest_filter_qemu="-*DeathTest*"
+	platform_test "run" "${OUT}/libbrillo_tests" "" "" "${gtest_filter_qemu}"
+	platform_test "run" "${OUT}/libinstallattributes_tests"
+	platform_test "run" "${OUT}/libpolicy_tests"
+	platform_test "run" "${OUT}/libbrillo-grpc_tests"
+}
diff --git a/chromeos-base/libbrillo/libbrillo-9999.ebuild b/chromeos-base/libbrillo/libbrillo-9999.ebuild
index 6226f79..f404967 100644
--- a/chromeos-base/libbrillo/libbrillo-9999.ebuild
+++ b/chromeos-base/libbrillo/libbrillo-9999.ebuild
@@ -18,15 +18,14 @@
 inherit cros-workon platform
 
 DESCRIPTION="Base library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/libbrillo/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libbrillo/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
-IUSE="cros_host +dbus +device_mapper fuzzer -lvm_stateful_partition +udev"
+IUSE="cros_host +dbus +device_mapper fuzzer -lvm_stateful_partition +udev usb"
 
 COMMON_DEPEND="
 	chromeos-base/minijail:=
-	chromeos-base/vboot_reference:=
 	dbus? ( dev-libs/dbus-glib:= )
 	dev-libs/openssl:=
 	dev-libs/protobuf:=
@@ -36,6 +35,7 @@
 	device_mapper? ( sys-fs/lvm2:=[thin] )
 	lvm_stateful_partition? ( sys-fs/lvm2:= )
 	udev? ( virtual/libudev )
+	usb? ( virtual/libusb:1= )
 "
 RDEPEND="
 	${COMMON_DEPEND}
@@ -45,7 +45,7 @@
 "
 DEPEND="
 	${COMMON_DEPEND}
-	>=chromeos-base/protofiles-0.0.55:=
+	>=chromeos-base/protofiles-0.0.60:=
 	dbus? ( chromeos-base/system_api:=[fuzzer?] )
 	dev-libs/modp_b64:=
 "
diff --git a/chromeos-base/libchrome/files/revision_bump b/chromeos-base/libchrome/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/libchrome/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/libchrome/libchrome-0.0.1-r305.ebuild b/chromeos-base/libchrome/libchrome-0.0.1-r305.ebuild
deleted file mode 100644
index b7d6c4b7..0000000
--- a/chromeos-base/libchrome/libchrome-0.0.1-r305.ebuild
+++ /dev/null
@@ -1,280 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_WORKON_COMMIT=("162f22363bb018fb620828cb16ad138477a33a22" "56f96fe0efd8d0c6dfae28df63042bb3122c4c67")
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "3bfa6e62b0800f4426c0fc71d9cccabdcd43d79e")
-CROS_WORKON_PROJECT=("chromiumos/platform2" "aosp/platform/external/libchrome")
-CROS_WORKON_LOCALNAME=("platform2" "aosp/external/libchrome")
-CROS_WORKON_EGIT_BRANCH=("main" "master")
-CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/libchrome")
-CROS_WORKON_SUBTREE=("common-mk .gn" "")
-
-WANT_LIBCHROME="no"
-IS_LIBCHROME="yes"
-inherit cros-workon libchrome-version platform
-
-DESCRIPTION="Chrome base/ and dbus/ libraries extracted for use on Chrome OS"
-HOMEPAGE="http://dev.chromium.org/chromium-os/packages/libchrome"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-# TODO(b/204383858): remove 'endeavour' when patch
-# backward-compatibility-add-base-AdaptCallbackForRepaeting.patch is not needed
-IUSE="cros_host +crypto +dbus fuzzer +mojo libchrome_b182295239 media_perception board_use_mistral"
-
-PLATFORM_SUBDIR="libchrome"
-
-# TODO(avakulenko): Put dev-libs/nss behind a USE flag to make sure NSS is
-# pulled only into the configurations that require it.
-# TODO(fqj): remove !chromeos-base/libchrome-${BASE_VER} on next uprev to r680000.
-RDEPEND="
-	>=chromeos-base/perfetto-21.0-r4:=
-	>=dev-cpp/absl-20200923-r4:=
-	dev-libs/double-conversion:=
-	dev-libs/glib:2=
-	dev-libs/libevent:=
-	dev-libs/modp_b64:=
-	crypto? (
-		dev-libs/nss:=
-		dev-libs/openssl:=
-	)
-	dbus? (
-		sys-apps/dbus:=
-		dev-libs/protobuf:=
-	)
-	dev-libs/re2:=
-	!~chromeos-base/libchrome-576279
-	!chromeos-base/libchrome:576279
-	!chromeos-base/libchrome:462023
-	!chromeos-base/libchrome:456626
-	!chromeos-base/libchrome:395517
-"
-DEPEND="${RDEPEND}
-	dev-cpp/gtest:=
-"
-
-# libmojo used to be in a separate package, which now conflicts with libchrome.
-# Add softblocker here, to resolve the conflict, in case building the package
-# on the environment where old libmojo is installed.
-# TODO(hidehiko): Clean up the blocker after certain period.
-RDEPEND="${RDEPEND}
-	!chromeos-base/libmojo"
-
-# libmojo depends on libbase-crypto.
-REQUIRED_USE="mojo? ( crypto )"
-
-src_prepare() {
-	# Apply patches
-	while read -ra patch_config; do
-		local patch="${patch_config[0]}"
-		local use_flag="${patch_config[1]}"
-		if [ -n "${use_flag}" ]; then
-			if ! use "${use_flag}"; then
-				einfo "Skipped ${patch}"
-				continue
-			fi
-		fi
-		eapply "${S}/libchrome_tools/patches/${patch}" || die "failed to patch ${patch}"
-	done < <(grep -E '^[^#]' "${S}/libchrome_tools/patches/patches")
-	eapply_user
-}
-
-src_configure() {
-	cros_optimize_package_for_speed
-	# TODO(b/182295239): Revert when root cause is identified.
-	# For reasons unknown yet at b/182295239, gale didn't boot if getrandom is called.
-	# Currently we suspect some seccomp filters or kernel/glibc version but
-	# there's no deterministic evidence to point to any of them.
-	# Use this workaround to skip to /dev/urandom fallback.
-	if use libchrome_b182295239; then
-		append-cxxflags "-DLIBCHROME_USE_DEV_URANDOM"
-	fi
-	platform_src_configure
-}
-
-src_test() {
-	pushd libchrome_tools || die
-	python3 -m unittest check_libchrome_test || die "failed python3 check-libchrome-test.py"
-	pushd uprev || die
-	python3 ./run_tests.py || die "failed python3 libchrome/uprev/run_tests.py"
-	popd || die
-	popd || die
-	platform_test "run" "${OUT}/optional_unittests"
-}
-
-src_install() {
-	export BASE_VER="$(cat BASE_VER)"
-	dolib.so "${OUT}"/lib/libbase*.so
-	dolib.a "${OUT}"/libbase*.a
-
-	local mojom_dirs=()
-	local header_dirs=(
-		base
-		base/allocator
-		base/allocator/partition_allocator
-		base/allocator/partition_allocator/starscan
-		base/containers
-		base/debug
-		base/files
-		base/functional
-		base/hash
-		base/i18n
-		base/json
-		base/memory
-		base/message_loop
-		base/metrics
-		base/numerics
-		base/posix
-		base/process
-		base/ranges
-		base/strings
-		base/synchronization
-		base/system
-		base/task
-		base/task/common
-		base/task/sequence_manager
-		base/task/thread_pool
-		base/third_party/icu
-		base/third_party/nspr
-		base/third_party/valgrind
-		base/threading
-		base/time
-		base/timer
-		base/trace_event
-		base/trace_event/common
-		base/types
-		build
-		components/policy
-		components/policy/core/common
-		testing/gmock/include/gmock
-		testing/gtest/include/gtest
-		third_party/abseil-cpp/absl/types
-		third_party/perfetto/include/perfetto/tracing/
-		third_party/perfetto/include/perfetto/protozero/
-		third_party/perfetto/protos/perfetto/trace/track_event/
-	)
-	use dbus && header_dirs+=( dbus )
-
-	insinto /usr/include/libchrome/base/test
-	doins \
-		base/test/bind.h \
-		base/test/task_environment.h \
-		base/test/scoped_chromeos_version_info.h \
-		base/test/scoped_running_on_chromeos.h \
-		base/test/scoped_run_loop_timeout.h \
-		base/test/simple_test_clock.h \
-		base/test/simple_test_tick_clock.h \
-		base/test/task_environment.h \
-		base/test/test_file_util.h \
-		base/test/test_mock_time_task_runner.h \
-		base/test/test_pending_task.h \
-		base/test/test_switches.h \
-		base/test/test_timeouts.h \
-
-	if use crypto; then
-		insinto /usr/include/libchrome/crypto
-		doins \
-			crypto/crypto_export.h \
-			crypto/hmac.h \
-			crypto/libcrypto-compat.h \
-			crypto/nss_key_util.h \
-			crypto/nss_util.h \
-			crypto/nss_util_internal.h \
-			crypto/openssl_util.h \
-			crypto/p224.h \
-			crypto/p224_spake.h \
-			crypto/random.h \
-			crypto/rsa_private_key.h \
-			crypto/scoped_nss_types.h \
-			crypto/scoped_openssl_types.h \
-			crypto/scoped_test_nss_db.h \
-			crypto/secure_hash.h \
-			crypto/secure_util.h \
-			crypto/sha2.h \
-			crypto/signature_creator.h \
-			crypto/signature_verifier.h
-	fi
-
-	insinto /usr/$(get_libdir)/pkgconfig
-	doins "${OUT}"/obj/libchrome/libchrome*.pc
-
-	# Install libmojo.
-	if use mojo; then
-		# Install binary.
-		dolib.so "${OUT}"/lib/libmojo.so
-
-		# Install headers.
-		header_dirs+=(
-			ipc
-			mojo/core/
-			mojo/core/embedder
-			mojo/core/ports
-			mojo/public/c/system
-			mojo/public/cpp/base
-			mojo/public/cpp/bindings
-			mojo/public/cpp/bindings/lib
-			mojo/public/cpp/platform
-			mojo/public/cpp/system
-		)
-		mojom_dirs+=(
-			mojo/public/interfaces/bindings
-			mojo/public/mojom/base
-		)
-
-		# Install libmojo.pc.
-		insinto /usr/$(get_libdir)/pkgconfig
-		doins "${OUT}"/obj/libchrome/libmojo.pc
-
-		# Install generate_mojom_bindings.
-		# TODO(hidehiko): Clean up tools' install directory.
-		insinto /usr/src/libmojo/mojo
-		doins -r mojo/public/tools/bindings/*
-		doins -r mojo/public/tools/mojom/*
-		doins build/gn_helpers.py
-		doins -r build/android/gyp/util
-		doins -r build/android/pylib
-		exeinto /usr/src/libmojo/mojo
-		doexe libchrome_tools/mojom_generate_type_mappings.py
-
-		insinto /usr/src/libmojo/third_party
-		doins -r third_party/jinja2
-		doins -r third_party/markupsafe
-		doins -r third_party/ply
-
-		# Mark scripts executable.
-		fperms +x \
-			/usr/src/libmojo/mojo/generate_type_mappings.py \
-			/usr/src/libmojo/mojo/mojom_bindings_generator.py \
-			/usr/src/libmojo/mojo/mojom_parser.py
-	fi
-
-	# Install header files.
-	local d
-	for d in "${header_dirs[@]}" ; do
-		insinto /usr/include/libchrome/"${d}"
-		doins "${d}"/*.h
-	done
-	for d in "${mojom_dirs[@]}"; do
-		insinto /usr/include/libchrome/"${d}"
-		doins "${OUT}"/gen/include/"${d}"/*.h
-		# Not to install mojom and pickle file to prevent misuse until Chromium IPC
-		# team is ready to have a stable mojo_base. see crbug.com/1055379
-		# insinto /usr/src/libchrome/mojom/"${d}"
-		# doins "${S}"/"${d}"/*.mojom
-		# insinto /usr/share/libchrome/pickle/"${d}"
-		# doins "${OUT}"/gen/include/"${d}"/*.p
-	done
-
-	# TODO(fqj): Revisit later for type mapping (see libchrome/BUILD.gn)
-	# Install libchrome base type mojo mapping
-	# if use mojo; then
-		# insinto /usr/share/libchrome/mojom_type_mappings_typemapping
-		# doins "${OUT}"/gen/libchrome/mojom_type_mappings_typemapping
-	# fi
-
-	insinto /usr/share/libchrome
-	doins BASE_VER
-}
diff --git a/chromeos-base/libchrome/libchrome-0.0.1-r419.ebuild b/chromeos-base/libchrome/libchrome-0.0.1-r419.ebuild
new file mode 100644
index 0000000..c83e200
--- /dev/null
+++ b/chromeos-base/libchrome/libchrome-0.0.1-r419.ebuild
@@ -0,0 +1,250 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT=("dbb1136242ba822d539eaf11493f3b68815adb7f" "036c6524d3b0cbd41e781612fb1be87f2b46027a")
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "021b14c95e2a0a46d07c3d8a1e749be44c1e96b4")
+CROS_WORKON_PROJECT=("chromiumos/platform2" "chromiumos/platform/libchrome")
+CROS_WORKON_LOCALNAME=("platform2" "platform/libchrome")
+CROS_WORKON_EGIT_BRANCH=("main" "main")
+CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/libchrome")
+CROS_WORKON_SUBTREE=("common-mk .gn" "")
+
+WANT_LIBCHROME="no"
+inherit cros-workon platform
+
+DESCRIPTION="Chrome base/ and dbus/ libraries extracted for use on Chrome OS"
+HOMEPAGE="http://dev.chromium.org/chromium-os/packages/libchrome"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+# TODO(b/204383858): remove 'endeavour' when patch
+# backward-compatibility-add-base-AdaptCallbackForRepaeting.patch is not needed
+IUSE="cros_host +crypto +dbus fuzzer +mojo libchrome_b182295239 media_perception board_use_mistral"
+
+PLATFORM_SUBDIR="libchrome"
+
+# TODO(avakulenko): Put dev-libs/nss behind a USE flag to make sure NSS is
+# pulled only into the configurations that require it.
+# TODO(fqj): remove !chromeos-base/libchrome-${BASE_VER} on next uprev to r680000.
+RDEPEND="
+	>=chromeos-base/perfetto-21.0-r4:=
+	>=dev-cpp/abseil-cpp-20200923-r4:=
+	dev-libs/double-conversion:=
+	dev-libs/glib:2=
+	dev-libs/libevent:=
+	dev-libs/modp_b64:=
+	crypto? (
+		dev-libs/nss:=
+		dev-libs/openssl:=
+	)
+	dbus? (
+		sys-apps/dbus:=
+		dev-libs/protobuf:=
+	)
+	dev-libs/re2:=
+	!~chromeos-base/libchrome-576279
+	!chromeos-base/libchrome:576279
+	!chromeos-base/libchrome:462023
+	!chromeos-base/libchrome:456626
+	!chromeos-base/libchrome:395517
+"
+DEPEND="${RDEPEND}
+	dev-cpp/gtest:=
+"
+
+# libmojo used to be in a separate package, which now conflicts with libchrome.
+# Add softblocker here, to resolve the conflict, in case building the package
+# on the environment where old libmojo is installed.
+# TODO(hidehiko): Clean up the blocker after certain period.
+RDEPEND="${RDEPEND}
+	!chromeos-base/libmojo"
+
+# libmojo depends on libbase-crypto.
+REQUIRED_USE="mojo? ( crypto )"
+
+src_prepare() {
+	# Apply patches
+	while read -ra patch_config; do
+		local patch="${patch_config[0]}"
+		local use_flag="${patch_config[1]}"
+		if [ -n "${use_flag}" ]; then
+			if ! use "${use_flag}"; then
+				einfo "Skipped ${patch}"
+				continue
+			fi
+		fi
+		if [[ ${patch} == *.patch ]]; then
+			eapply "${S}/libchrome_tools/patches/${patch}"
+		elif [[ -x "${S}/libchrome_tools/patches/${patch}" ]]; then
+			einfo "Applying ${patch} ..."
+			"${S}/libchrome_tools/patches/${patch}" || die "failed to patch by running script ${patch}"
+		else
+			die "Invalid patch file ${patch}"
+		fi
+	done < <(grep -E '^[^#]' "${S}/libchrome_tools/patches/patches")
+	eapply_user
+}
+
+src_configure() {
+	cros_optimize_package_for_speed
+	# TODO(b/182295239): Revert when root cause is identified.
+	# For reasons unknown yet at b/182295239, gale didn't boot if getrandom is called.
+	# Currently we suspect some seccomp filters or kernel/glibc version but
+	# there's no deterministic evidence to point to any of them.
+	# Use this workaround to skip to /dev/urandom fallback.
+	if use libchrome_b182295239; then
+		append-cxxflags "-DLIBCHROME_USE_DEV_URANDOM"
+	fi
+	platform_src_configure
+}
+
+src_test() {
+	pushd libchrome_tools || die
+	python3 -m unittest check_libchrome_test || die "failed python3 check-libchrome-test.py"
+	pushd uprev || die
+	python3 ./run_tests.py || die "failed python3 libchrome/uprev/run_tests.py"
+	popd || die
+	pushd developer-tools || die
+	python3 -m unittest test_change_header || die "failed python3 test_change_headerpy"
+	popd || die
+	popd || die
+	platform_test "run" "${OUT}/optional_unittests"
+}
+
+src_install() {
+	platform_install
+
+	dolib.so "${OUT}"/lib/libbase*.so
+	dolib.a "${OUT}"/libbase*.a
+
+	local mojom_dirs=()
+	local header_dirs=(
+		base
+		base/allocator
+		base/allocator/partition_allocator
+		base/allocator/partition_allocator/starscan
+		base/containers
+		base/debug
+		base/files
+		base/functional
+		base/hash
+		base/i18n
+		base/json
+		base/memory
+		base/message_loop
+		base/metrics
+		base/numerics
+		base/posix
+		base/power_monitor
+		base/process
+		base/profiler
+		base/ranges
+		base/strings
+		base/synchronization
+		base/system
+		base/task
+		base/task/common
+		base/task/sequence_manager
+		base/task/thread_pool
+		base/third_party/icu
+		base/third_party/nspr
+		base/third_party/valgrind
+		base/threading
+		base/time
+		base/timer
+		base/trace_event
+		base/trace_event/common
+		base/types
+		build
+		components/policy
+		components/policy/core/common
+		testing/gmock/include/gmock
+		testing/gtest/include/gtest
+		third_party/abseil-cpp/absl/synchronization
+		third_party/abseil-cpp/absl/types
+		third_party/perfetto/include/perfetto/tracing/
+		third_party/perfetto/include/perfetto/protozero/
+		third_party/perfetto/protos/perfetto/trace/track_event/
+	)
+	use dbus && header_dirs+=( dbus )
+
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins "${OUT}"/obj/libchrome/libchrome*.pc
+
+	# Install libmojo.
+	if use mojo; then
+		# Install binary.
+		dolib.so "${OUT}"/lib/libmojo.so
+
+		# Install headers.
+		header_dirs+=(
+			ipc
+			mojo/core/
+			mojo/core/embedder
+			mojo/core/ports
+			mojo/public/c/system
+			mojo/public/cpp/base
+			mojo/public/cpp/bindings
+			mojo/public/cpp/bindings/lib
+			mojo/public/cpp/platform
+			mojo/public/cpp/system
+		)
+		mojom_dirs+=(
+			mojo/public/interfaces/bindings
+			mojo/public/mojom/base
+		)
+
+		# Install libmojo.pc.
+		insinto "/usr/$(get_libdir)/pkgconfig"
+		doins "${OUT}"/obj/libchrome/libmojo.pc
+
+		# Install generate_mojom_bindings.
+		# TODO(hidehiko): Clean up tools' install directory.
+		insinto /usr/src/libmojo/mojo
+		doins -r mojo/public/tools/bindings/*
+		doins -r mojo/public/tools/mojom/*
+		doins build/gn_helpers.py
+		doins -r build/android/gyp/util
+		doins -r build/android/pylib
+		exeinto /usr/src/libmojo/mojo
+		doexe libchrome_tools/mojom_generate_type_mappings.py
+
+		insinto /usr/src/libmojo/third_party
+		doins -r third_party/jinja2
+		doins -r third_party/markupsafe
+		doins -r third_party/ply
+
+		# Mark scripts executable.
+		fperms +x \
+			/usr/src/libmojo/mojo/generate_type_mappings.py \
+			/usr/src/libmojo/mojo/mojom_bindings_generator.py \
+			/usr/src/libmojo/mojo/mojom_parser.py
+	fi
+
+	# Install header files.
+	local d
+	for d in "${header_dirs[@]}" ; do
+		insinto /usr/include/libchrome/"${d}"
+		doins "${d}"/*.h
+	done
+	for d in "${mojom_dirs[@]}"; do
+		insinto /usr/include/libchrome/"${d}"
+		doins "${OUT}"/gen/include/"${d}"/*.h
+		# Not to install mojom and pickle file to prevent misuse until Chromium IPC
+		# team is ready to have a stable mojo_base. see crbug.com/1055379
+		# insinto /usr/src/libchrome/mojom/"${d}"
+		# doins "${S}"/"${d}"/*.mojom
+		# insinto /usr/share/libchrome/pickle/"${d}"
+		# doins "${OUT}"/gen/include/"${d}"/*.p
+	done
+
+	# TODO(fqj): Revisit later for type mapping (see libchrome/BUILD.gn)
+	# Install libchrome base type mojo mapping
+	# if use mojo; then
+		# insinto /usr/share/libchrome/mojom_type_mappings_typemapping
+		# doins "${OUT}"/gen/libchrome/mojom_type_mappings_typemapping
+	# fi
+}
diff --git a/chromeos-base/libchrome/libchrome-9999.ebuild b/chromeos-base/libchrome/libchrome-9999.ebuild
index 1341429..23082ca 100644
--- a/chromeos-base/libchrome/libchrome-9999.ebuild
+++ b/chromeos-base/libchrome/libchrome-9999.ebuild
@@ -3,15 +3,14 @@
 
 EAPI="7"
 
-CROS_WORKON_PROJECT=("chromiumos/platform2" "aosp/platform/external/libchrome")
-CROS_WORKON_LOCALNAME=("platform2" "aosp/external/libchrome")
-CROS_WORKON_EGIT_BRANCH=("main" "master")
+CROS_WORKON_PROJECT=("chromiumos/platform2" "chromiumos/platform/libchrome")
+CROS_WORKON_LOCALNAME=("platform2" "platform/libchrome")
+CROS_WORKON_EGIT_BRANCH=("main" "main")
 CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/libchrome")
 CROS_WORKON_SUBTREE=("common-mk .gn" "")
 
 WANT_LIBCHROME="no"
-IS_LIBCHROME="yes"
-inherit cros-workon libchrome-version platform
+inherit cros-workon platform
 
 DESCRIPTION="Chrome base/ and dbus/ libraries extracted for use on Chrome OS"
 HOMEPAGE="http://dev.chromium.org/chromium-os/packages/libchrome"
@@ -30,7 +29,7 @@
 # TODO(fqj): remove !chromeos-base/libchrome-${BASE_VER} on next uprev to r680000.
 RDEPEND="
 	>=chromeos-base/perfetto-21.0-r4:=
-	>=dev-cpp/absl-20200923-r4:=
+	>=dev-cpp/abseil-cpp-20200923-r4:=
 	dev-libs/double-conversion:=
 	dev-libs/glib:2=
 	dev-libs/libevent:=
@@ -75,7 +74,14 @@
 				continue
 			fi
 		fi
-		eapply "${S}/libchrome_tools/patches/${patch}" || die "failed to patch ${patch}"
+		if [[ ${patch} == *.patch ]]; then
+			eapply "${S}/libchrome_tools/patches/${patch}"
+		elif [[ -x "${S}/libchrome_tools/patches/${patch}" ]]; then
+			einfo "Applying ${patch} ..."
+			"${S}/libchrome_tools/patches/${patch}" || die "failed to patch by running script ${patch}"
+		else
+			die "Invalid patch file ${patch}"
+		fi
 	done < <(grep -E '^[^#]' "${S}/libchrome_tools/patches/patches")
 	eapply_user
 }
@@ -99,12 +105,16 @@
 	pushd uprev || die
 	python3 ./run_tests.py || die "failed python3 libchrome/uprev/run_tests.py"
 	popd || die
+	pushd developer-tools || die
+	python3 -m unittest test_change_header || die "failed python3 test_change_headerpy"
+	popd || die
 	popd || die
 	platform_test "run" "${OUT}/optional_unittests"
 }
 
 src_install() {
-	export BASE_VER="$(cat BASE_VER)"
+	platform_install
+
 	dolib.so "${OUT}"/lib/libbase*.so
 	dolib.a "${OUT}"/libbase*.a
 
@@ -126,7 +136,9 @@
 		base/metrics
 		base/numerics
 		base/posix
+		base/power_monitor
 		base/process
+		base/profiler
 		base/ranges
 		base/strings
 		base/synchronization
@@ -149,6 +161,7 @@
 		components/policy/core/common
 		testing/gmock/include/gmock
 		testing/gtest/include/gtest
+		third_party/abseil-cpp/absl/synchronization
 		third_party/abseil-cpp/absl/types
 		third_party/perfetto/include/perfetto/tracing/
 		third_party/perfetto/include/perfetto/protozero/
@@ -156,47 +169,7 @@
 	)
 	use dbus && header_dirs+=( dbus )
 
-	insinto /usr/include/libchrome/base/test
-	doins \
-		base/test/bind.h \
-		base/test/task_environment.h \
-		base/test/scoped_chromeos_version_info.h \
-		base/test/scoped_running_on_chromeos.h \
-		base/test/scoped_run_loop_timeout.h \
-		base/test/simple_test_clock.h \
-		base/test/simple_test_tick_clock.h \
-		base/test/task_environment.h \
-		base/test/test_file_util.h \
-		base/test/test_mock_time_task_runner.h \
-		base/test/test_pending_task.h \
-		base/test/test_switches.h \
-		base/test/test_timeouts.h \
-
-	if use crypto; then
-		insinto /usr/include/libchrome/crypto
-		doins \
-			crypto/crypto_export.h \
-			crypto/hmac.h \
-			crypto/libcrypto-compat.h \
-			crypto/nss_key_util.h \
-			crypto/nss_util.h \
-			crypto/nss_util_internal.h \
-			crypto/openssl_util.h \
-			crypto/p224.h \
-			crypto/p224_spake.h \
-			crypto/random.h \
-			crypto/rsa_private_key.h \
-			crypto/scoped_nss_types.h \
-			crypto/scoped_openssl_types.h \
-			crypto/scoped_test_nss_db.h \
-			crypto/secure_hash.h \
-			crypto/secure_util.h \
-			crypto/sha2.h \
-			crypto/signature_creator.h \
-			crypto/signature_verifier.h
-	fi
-
-	insinto /usr/$(get_libdir)/pkgconfig
+	insinto "/usr/$(get_libdir)/pkgconfig"
 	doins "${OUT}"/obj/libchrome/libchrome*.pc
 
 	# Install libmojo.
@@ -223,7 +196,7 @@
 		)
 
 		# Install libmojo.pc.
-		insinto /usr/$(get_libdir)/pkgconfig
+		insinto "/usr/$(get_libdir)/pkgconfig"
 		doins "${OUT}"/obj/libchrome/libmojo.pc
 
 		# Install generate_mojom_bindings.
@@ -272,7 +245,4 @@
 		# insinto /usr/share/libchrome/mojom_type_mappings_typemapping
 		# doins "${OUT}"/gen/libchrome/mojom_type_mappings_typemapping
 	# fi
-
-	insinto /usr/share/libchrome
-	doins BASE_VER
 }
diff --git a/chromeos-base/libchromeos-ui/OWNERS b/chromeos-base/libchromeos-ui/OWNERS
new file mode 100644
index 0000000..32809ea
--- /dev/null
+++ b/chromeos-base/libchromeos-ui/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/libchromeos-ui/OWNERS
diff --git a/chromeos-base/libchromeos-ui/files/revision_bump b/chromeos-base/libchromeos-ui/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/libchromeos-ui/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/libchromeos-ui/libchromeos-ui-0.0.1-r1866.ebuild b/chromeos-base/libchromeos-ui/libchromeos-ui-0.0.1-r1866.ebuild
deleted file mode 100644
index 3bad123..0000000
--- a/chromeos-base/libchromeos-ui/libchromeos-ui-0.0.1-r1866.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "a88378f84563bfeb2d78d1d3f104fb180c574c1b" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_SUBTREE="common-mk libchromeos-ui .gn"
-
-PLATFORM_NATIVE_TEST="yes"
-PLATFORM_SUBDIR="libchromeos-ui"
-
-inherit cros-workon platform
-
-DESCRIPTION="Library used to start Chromium-based UIs"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/libchromeos-ui/"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="chromeos-base/bootstat"
-DEPEND=""
-
-src_install() {
-	local v="$(libchrome_ver)"
-
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	./platform2_preinstall.sh "${OUT}" "${v}"
-	dolib.so "${OUT}"/lib/libchromeos-ui.so
-	doins "${OUT}"/lib/libchromeos-ui.pc
-
-	insinto /usr/include/chromeos/ui
-	doins "${S}"/chromeos/ui/*.h
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/libchromeos-ui-test"
-}
diff --git a/chromeos-base/libchromeos-ui/libchromeos-ui-0.0.1-r1929.ebuild b/chromeos-base/libchromeos-ui/libchromeos-ui-0.0.1-r1929.ebuild
new file mode 100644
index 0000000..6baa775
--- /dev/null
+++ b/chromeos-base/libchromeos-ui/libchromeos-ui-0.0.1-r1929.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "2361f68127fc1aaed7591baf3a4ad462108f161a" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk libchromeos-ui .gn"
+
+PLATFORM_NATIVE_TEST="yes"
+PLATFORM_SUBDIR="libchromeos-ui"
+
+inherit cros-workon platform
+
+DESCRIPTION="Library used to start Chromium-based UIs"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libchromeos-ui/"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="chromeos-base/bootstat"
+DEPEND=""
+
+src_install() {
+	local v="$(libchrome_ver)"
+
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	./platform2_preinstall.sh "${OUT}" "${v}"
+	dolib.so "${OUT}"/lib/libchromeos-ui.so
+	doins "${OUT}"/lib/libchromeos-ui.pc
+
+	insinto /usr/include/chromeos/ui
+	doins "${S}"/chromeos/ui/*.h
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/libchromeos-ui-test"
+}
diff --git a/chromeos-base/libchromeos-ui/libchromeos-ui-9999.ebuild b/chromeos-base/libchromeos-ui/libchromeos-ui-9999.ebuild
index b393cd1..9074c72f 100644
--- a/chromeos-base/libchromeos-ui/libchromeos-ui-9999.ebuild
+++ b/chromeos-base/libchromeos-ui/libchromeos-ui-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Library used to start Chromium-based UIs"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/libchromeos-ui/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libchromeos-ui/"
 LICENSE="BSD-Google"
 KEYWORDS="~*"
 IUSE=""
diff --git a/chromeos-base/libchromeos-use-flags/OWNERS b/chromeos-base/libchromeos-use-flags/OWNERS
new file mode 100644
index 0000000..32809ea
--- /dev/null
+++ b/chromeos-base/libchromeos-use-flags/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/libchromeos-ui/OWNERS
diff --git a/chromeos-base/libchromeos-use-flags/libchromeos-use-flags-1-r36.ebuild b/chromeos-base/libchromeos-use-flags/libchromeos-use-flags-1-r36.ebuild
deleted file mode 100644
index f552c63..0000000
--- a/chromeos-base/libchromeos-use-flags/libchromeos-use-flags-1-r36.ebuild
+++ /dev/null
@@ -1,127 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
-# the canonical empty project.
-CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
-CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
-CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
-CROS_WORKON_LOCALNAME="platform/empty-project"
-
-inherit cros-workon
-
-DESCRIPTION="Text file listing USE flags for chromeos-base/libchromeos"
-
-LICENSE="BSD-Google"
-# Nothing depends on this package for build info.  All the files are used at
-# runtime only by design.
-SLOT="0/0"
-KEYWORDS="*"
-
-# NB: Flags listed here are off by default unless prefixed with a '+'.
-# This list is lengthy since it determines the USE flags that will be written to
-# the /etc/ui_use_flags.txt file that's used to generate Chrome's command line.
-IUSE="
-	allow_consumer_kiosk
-	arc
-	arc_adb_sideloading
-	arc_disable_cros_video_decoder
-	arc_force_2x_scaling
-	arc_native_bridge_64bit_support_experiment
-	arc_transition_m_to_n
-	arcpp
-	arcvm
-	asan
-	background_blur
-	big_little
-	biod
-	borealis_host
-	broken_24hours_wake
-	cfm_enabled_device
-	cheets
-	clear_fast_ink_buffer
-	compupdates
-	diagnostics
-	disable_background_blur
-	disable_cros_video_decoder
-	disable_explicit_dma_fences
-	disable_native_gpu_memory_buffers
-	disable_instant_tethering
-	disable_spectre_variant2_mitigation
-	drm_atomic
-	edge_touch_filtering
-	enable_dsp_hotword
-	enable_heuristic_palm_detection_filter
-	enable_neural_palm_detection_filter
-	force_breakpad
-	gpu_sandbox_allow_sysv_shm
-	gpu_sandbox_failures_not_fatal
-	gpu_sandbox_start_early
-	houdini
-	houdini64
-	houdini_dlc
-	kvm_guest
-	kvm_host
-	kvm_transition
-	lacros
-	legacy_keyboard
-	legacy_power_button
-	ml_service
-	moblab
-	native_gpu_memory_buffers
-	natural_scroll_default
-	ndk_translation
-	ndk_translation64
-	neon
-	ondevice_document_scanner
-	ondevice_handwriting
-	ondevice_handwriting_dlc
-	ondevice_speech
-	oobe_skip_postlogin
-	oobe_skip_to_login
-	opengles
-	os_install_service
-	passive_event_listeners
-	pita
-	pita-camera
-	pita-microphone
-	reven_branding
-	rialto
-	scheduler_configuration_performance
-	screenshare_sw_codec
-	set_hw_overlay_strategy_none
-	shelf-hotseat
-	smartdim
-	tablet_form_factor
-	touch_centric_device
-	touchscreen_wakeup
-	touchview
-	tpm_dynamic
-	video_capture_use_gpu_memory_buffer
-	virtio_gpu
-	webui-tab-strip
-	wilco
-"
-
-src_install() {
-	# Install a file containing a list of currently-set USE flags that
-	# ChromiumCommandBuilder reads at runtime while constructing Chrome's
-	# command line.
-	local path="${WORKDIR}/ui_use_flags.txt"
-	cat <<EOF >"${path}"
-# This file is just for libchromeos's ChromiumCommandBuilder class.
-# Don't use it for anything else. Your code will break.
-EOF
-
-	# If you need to use a new flag, add it to $IUSE at the top of the file.
-	local flags=( ${IUSE} )
-	local flag
-	for flag in "${flags[@]/#[-+]}" ; do
-		usev ${flag}
-	done | sort -u >>"${path}"
-
-	insinto /etc
-	doins "${path}"
-}
diff --git a/chromeos-base/libchromeos-use-flags/libchromeos-use-flags-1-r42.ebuild b/chromeos-base/libchromeos-use-flags/libchromeos-use-flags-1-r42.ebuild
new file mode 100644
index 0000000..b328133
--- /dev/null
+++ b/chromeos-base/libchromeos-use-flags/libchromeos-use-flags-1-r42.ebuild
@@ -0,0 +1,129 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
+# the canonical empty project.
+CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
+CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="platform/empty-project"
+
+inherit cros-workon
+
+DESCRIPTION="Text file listing USE flags for chromeos-base/libchromeos"
+
+LICENSE="BSD-Google"
+# Nothing depends on this package for build info.  All the files are used at
+# runtime only by design.
+SLOT="0/0"
+KEYWORDS="*"
+
+# NB: Flags listed here are off by default unless prefixed with a '+'.
+# This list is lengthy since it determines the USE flags that will be written to
+# the /etc/ui_use_flags.txt file that's used to generate Chrome's command line.
+IUSE="
+	allow_consumer_kiosk
+	arc
+	arc_adb_sideloading
+	arc_disable_cros_video_decoder
+	arc_force_2x_scaling
+	arc_transition_m_to_n
+	arcpp
+	arcvm
+	arcvm_virtio_blk_data
+	asan
+	background_blur
+	big_little
+	biod
+	borealis_host
+	broken_24hours_wake
+	cfm_enabled_device
+	cheets
+	clear_fast_ink_buffer
+	compupdates
+	diagnostics
+	disable_background_blur
+	disable_cros_video_decoder
+	disable_explicit_dma_fences
+	disable_native_gpu_memory_buffers
+	disable_instant_tethering
+	disable_spectre_variant2_mitigation
+	drm_atomic
+	edge_touch_filtering
+	enable_dsp_hotword
+	enable_heuristic_palm_detection_filter
+	enable_neural_palm_detection_filter
+	force_breakpad
+	gpu_sandbox_allow_sysv_shm
+	gpu_sandbox_failures_not_fatal
+	gpu_sandbox_start_early
+	houdini
+	houdini64
+	houdini_dlc
+	kvm_guest
+	kvm_host
+	lacros
+	legacy_keyboard
+	legacy_power_button
+	ml_service
+	moblab
+	mojo_service_manager
+	native_gpu_memory_buffers
+	natural_scroll_default
+	ndk_translation
+	ndk_translation64
+	neon
+	ondevice_document_scanner
+	ondevice_document_scanner_dlc
+	ondevice_grammar
+	ondevice_handwriting
+	ondevice_handwriting_dlc
+	ondevice_speech
+	oobe_skip_postlogin
+	oobe_skip_to_login
+	opengles
+	os_install_service
+	passive_event_listeners
+	pita
+	pita-camera
+	pita-microphone
+	reven_branding
+	rialto
+	scheduler_configuration_performance
+	screenshare_sw_codec
+	set_hw_overlay_strategy_none
+	shelf-hotseat
+	smartdim
+	tablet_form_factor
+	touch_centric_device
+	touchscreen_wakeup
+	touchview
+	tpm_dynamic
+	video_capture_use_gpu_memory_buffer
+	virtio_gpu
+	webui-tab-strip
+	wilco
+"
+
+src_install() {
+	# Install a file containing a list of currently-set USE flags that
+	# ChromiumCommandBuilder reads at runtime while constructing Chrome's
+	# command line.
+	local path="${WORKDIR}/ui_use_flags.txt"
+	cat <<EOF >"${path}"
+# This file is just for libchromeos's ChromiumCommandBuilder class.
+# Don't use it for anything else. Your code will break.
+EOF
+
+	# If you need to use a new flag, add it to $IUSE at the top of the file.
+	local flags=( ${IUSE} )
+	local flag
+	for flag in "${flags[@]/#[-+]}" ; do
+		usev "${flag}"
+	done | sort -u >>"${path}"
+
+	insinto /etc
+	doins "${path}"
+}
diff --git a/chromeos-base/libchromeos-use-flags/libchromeos-use-flags-9999.ebuild b/chromeos-base/libchromeos-use-flags/libchromeos-use-flags-9999.ebuild
index 34f8b2d..b6d2f37 100644
--- a/chromeos-base/libchromeos-use-flags/libchromeos-use-flags-9999.ebuild
+++ b/chromeos-base/libchromeos-use-flags/libchromeos-use-flags-9999.ebuild
@@ -27,10 +27,10 @@
 	arc_adb_sideloading
 	arc_disable_cros_video_decoder
 	arc_force_2x_scaling
-	arc_native_bridge_64bit_support_experiment
 	arc_transition_m_to_n
 	arcpp
 	arcvm
+	arcvm_virtio_blk_data
 	asan
 	background_blur
 	big_little
@@ -62,18 +62,20 @@
 	houdini_dlc
 	kvm_guest
 	kvm_host
-	kvm_transition
 	lacros
 	legacy_keyboard
 	legacy_power_button
 	ml_service
 	moblab
+	mojo_service_manager
 	native_gpu_memory_buffers
 	natural_scroll_default
 	ndk_translation
 	ndk_translation64
 	neon
 	ondevice_document_scanner
+	ondevice_document_scanner_dlc
+	ondevice_grammar
 	ondevice_handwriting
 	ondevice_handwriting_dlc
 	ondevice_speech
@@ -117,7 +119,7 @@
 	local flags=( ${IUSE} )
 	local flag
 	for flag in "${flags[@]/#[-+]}" ; do
-		usev ${flag}
+		usev "${flag}"
 	done | sort -u >>"${path}"
 
 	insinto /etc
diff --git a/chromeos-base/libcontainer/files/revision_bump b/chromeos-base/libcontainer/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/libcontainer/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/libcontainer/libcontainer-0.0.1-r1632.ebuild b/chromeos-base/libcontainer/libcontainer-0.0.1-r1632.ebuild
deleted file mode 100644
index d98774b..0000000
--- a/chromeos-base/libcontainer/libcontainer-0.0.1-r1632.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "c483b9613962116a8881cefbe046d52ce851e598" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk libcontainer .gn"
-
-PLATFORM_SUBDIR="libcontainer"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Library to run jailed containers on Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/libcontainer/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="+device-mapper"
-
-# Need lvm2 for devmapper.
-RDEPEND="chromeos-base/minijail:=
-	device-mapper? ( sys-fs/lvm2:= )"
-DEPEND="${RDEPEND}"
-
-src_install() {
-	into /
-	dolib.so "${OUT}"/lib/libcontainer.so
-
-	"${S}"/platform2_preinstall.sh "${PV}" "/usr/include/chromeos" "${OUT}"
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	doins "${OUT}"/libcontainer.pc
-
-	insinto "/usr/include/chromeos"
-	doins libcontainer.h
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}"/libcontainer_test
-}
diff --git a/chromeos-base/libcontainer/libcontainer-0.0.1-r1694.ebuild b/chromeos-base/libcontainer/libcontainer-0.0.1-r1694.ebuild
new file mode 100644
index 0000000..d1787fd
--- /dev/null
+++ b/chromeos-base/libcontainer/libcontainer-0.0.1-r1694.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "dbb4c5a189c098e0c692a1dee66f5a6b6ef33a32" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk libcontainer .gn"
+
+PLATFORM_SUBDIR="libcontainer"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Library to run jailed containers on Chrome OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libcontainer/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="+device-mapper"
+
+# Need lvm2 for devmapper.
+RDEPEND="chromeos-base/minijail:=
+	device-mapper? ( sys-fs/lvm2:= )"
+DEPEND="${RDEPEND}"
+
+src_install() {
+	into /
+	dolib.so "${OUT}"/lib/libcontainer.so
+
+	"${S}"/platform2_preinstall.sh "${PV}" "/usr/include/chromeos" "${OUT}"
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins "${OUT}"/libcontainer.pc
+
+	insinto "/usr/include/chromeos"
+	doins libcontainer.h
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}"/libcontainer_test
+}
diff --git a/chromeos-base/libcontainer/libcontainer-9999.ebuild b/chromeos-base/libcontainer/libcontainer-9999.ebuild
index 9ee82f5..a632b36 100644
--- a/chromeos-base/libcontainer/libcontainer-9999.ebuild
+++ b/chromeos-base/libcontainer/libcontainer-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform user
 
 DESCRIPTION="Library to run jailed containers on Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/libcontainer/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libcontainer/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/libcrossystem/OWNERS b/chromeos-base/libcrossystem/OWNERS
new file mode 100644
index 0000000..5add3a0
--- /dev/null
+++ b/chromeos-base/libcrossystem/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/libbrillo/OWNERS
diff --git a/chromeos-base/libcrossystem/libcrossystem-0.0.1-r52.ebuild b/chromeos-base/libcrossystem/libcrossystem-0.0.1-r52.ebuild
new file mode 100644
index 0000000..b9b4ff9
--- /dev/null
+++ b/chromeos-base/libcrossystem/libcrossystem-0.0.1-r52.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "3b33fc07daf512e548300eefbd028b622bc51b44" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_USE_VCSID="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk libcrossystem .gn"
+
+PLATFORM_SUBDIR="libcrossystem"
+
+inherit cros-workon platform
+
+DESCRIPTION="Library to get Chromium OS system properties"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libcrossystem"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+COMMON_DEPEND=""
+
+RDEPEND="
+	${COMMON_DEPEND}
+	"
+
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/vboot_reference:=
+"
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/libcrossystem/libcrossystem-9999.ebuild b/chromeos-base/libcrossystem/libcrossystem-9999.ebuild
new file mode 100644
index 0000000..a3a56a4
--- /dev/null
+++ b/chromeos-base/libcrossystem/libcrossystem-9999.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_USE_VCSID="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk libcrossystem .gn"
+
+PLATFORM_SUBDIR="libcrossystem"
+
+inherit cros-workon platform
+
+DESCRIPTION="Library to get Chromium OS system properties"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libcrossystem"
+
+LICENSE="BSD-Google"
+KEYWORDS="~*"
+
+COMMON_DEPEND=""
+
+RDEPEND="
+	${COMMON_DEPEND}
+	"
+
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/vboot_reference:=
+"
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/libec/files/revision_bump b/chromeos-base/libec/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/libec/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/libec/libec-0.0.1-r133.ebuild b/chromeos-base/libec/libec-0.0.1-r133.ebuild
deleted file mode 100644
index 7b1ade3..0000000
--- a/chromeos-base/libec/libec-0.0.1-r133.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("cdd343a1b2fde0b4ac6e0df05b61873de776969a" "a625767bb59509159091f2ab0b71f8b9b4b2e353" "b2a628a7e6e84c75bbb6593f7e7d6c7baa8ccba0" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_USE_VCSID="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="biod common-mk libec .gn"
-
-PLATFORM_SUBDIR="libec"
-
-inherit cros-workon platform
-
-DESCRIPTION="Embedded Controller Library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libec"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-COMMON_DEPEND=""
-
-RDEPEND="
-	${COMMON_DEPEND}
-	"
-
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/chromeos-ec-headers:=
-"
-
-src_install() {
-	platform_install
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/libec/libec-0.0.1-r239.ebuild b/chromeos-base/libec/libec-0.0.1-r239.ebuild
new file mode 100644
index 0000000..925590d
--- /dev/null
+++ b/chromeos-base/libec/libec-0.0.1-r239.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("3e7613ea6e002e2ed9003c451537961ee1ec8c06" "60fa47aebd6ebfb702012849bd560717fceddcd4" "1dbf281b6523338c1a11135ebaf00796f0f664e4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_USE_VCSID="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="biod common-mk libec .gn"
+
+PLATFORM_SUBDIR="libec"
+
+inherit cros-workon platform
+
+DESCRIPTION="Embedded Controller Library for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libec"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+COMMON_DEPEND=""
+
+RDEPEND="
+	${COMMON_DEPEND}
+	"
+
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/chromeos-ec-headers:=
+	chromeos-base/power_manager-client:=
+"
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/libec/libec-9999.ebuild b/chromeos-base/libec/libec-9999.ebuild
index ae9c531..be4de48 100644
--- a/chromeos-base/libec/libec-9999.ebuild
+++ b/chromeos-base/libec/libec-9999.ebuild
@@ -27,6 +27,7 @@
 DEPEND="
 	${COMMON_DEPEND}
 	chromeos-base/chromeos-ec-headers:=
+	chromeos-base/power_manager-client:=
 "
 
 src_install() {
diff --git a/chromeos-base/libhwsec-foundation/files/revision_bump b/chromeos-base/libhwsec-foundation/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/libhwsec-foundation/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/libhwsec-foundation/libhwsec-foundation-0.0.1-r175.ebuild b/chromeos-base/libhwsec-foundation/libhwsec-foundation-0.0.1-r175.ebuild
deleted file mode 100644
index 8a05f6d..0000000
--- a/chromeos-base/libhwsec-foundation/libhwsec-foundation-0.0.1-r175.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "4a0dedab080195bdc122d2289118df4af3ddca2c" "fb2b8277318fb7e7eff84f5c7669a46bf60f19f5" "b1c7898d3f42051cbba6426c62b35476a8de5b72" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug/1184685): "libhwsec" is not necessary; remove it after solving
-# the bug.
-CROS_WORKON_SUBTREE="common-mk metrics libhwsec libhwsec-foundation .gn"
-
-PLATFORM_SUBDIR="libhwsec-foundation"
-
-inherit cros-workon platform
-
-DESCRIPTION="Crypto and utility functions used in TPM related daemons."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/libhwsec-foundation/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test tpm tpm_dynamic tpm2"
-
-RDEPEND="
-	>=chromeos-base/metrics-0.0.1-r3152
-	chromeos-base/system_api
-	chromeos-base/tpm_manager-client
-	"
-
-src_install() {
-	# Install header files.
-	local header_dirs=(
-		.
-		status
-		status/impl
-		syscaller
-		tpm_error
-		utility
-		error
-		tpm
-	)
-	local d
-	for d in "${header_dirs[@]}" ; do
-		insinto /usr/include/libhwsec-foundation/"${d}"
-		doins "${d}"/*.h
-	done
-
-	dolib.so "${OUT}"/lib/libhwsec-foundation.so
-
-	dosbin "${OUT}"/tpm_version_client
-
-	if use tpm_dynamic; then
-		dosbin tool/tpm_version
-
-		insinto /etc/init
-		doins init/no-tpm-checker.conf
-	fi
-}
-
-platform_pkg_test() {
-	local tests=(
-		hwsec-foundation_testrunner
-	)
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-}
diff --git a/chromeos-base/libhwsec-foundation/libhwsec-foundation-0.0.1-r313.ebuild b/chromeos-base/libhwsec-foundation/libhwsec-foundation-0.0.1-r313.ebuild
new file mode 100644
index 0000000..0439d11
--- /dev/null
+++ b/chromeos-base/libhwsec-foundation/libhwsec-foundation-0.0.1-r313.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "2e036f417afe5d55dcbd138f7bfe2c98ab14403f" "8ca9c97a07408fdff5abf480fb1b2a15405b6bc0" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug/1184685): "libhwsec" is not necessary; remove it after solving
+# the bug.
+CROS_WORKON_SUBTREE="common-mk metrics libhwsec libhwsec-foundation .gn"
+
+PLATFORM_SUBDIR="libhwsec-foundation"
+
+inherit cros-workon platform
+
+DESCRIPTION="Crypto and utility functions used in TPM related daemons."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libhwsec-foundation/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="profiling test tpm tpm_dynamic tpm2"
+
+RDEPEND="
+	>=chromeos-base/metrics-0.0.1-r3152
+	chromeos-base/system_api
+	chromeos-base/tpm_manager-client
+	"
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/libhwsec-foundation/libhwsec-foundation-9999.ebuild b/chromeos-base/libhwsec-foundation/libhwsec-foundation-9999.ebuild
index fbedb36..dc735ff 100644
--- a/chromeos-base/libhwsec-foundation/libhwsec-foundation-9999.ebuild
+++ b/chromeos-base/libhwsec-foundation/libhwsec-foundation-9999.ebuild
@@ -17,11 +17,11 @@
 inherit cros-workon platform
 
 DESCRIPTION="Crypto and utility functions used in TPM related daemons."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/libhwsec-foundation/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libhwsec-foundation/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
-IUSE="test tpm tpm_dynamic tpm2"
+IUSE="profiling test tpm tpm_dynamic tpm2"
 
 RDEPEND="
 	>=chromeos-base/metrics-0.0.1-r3152
@@ -30,41 +30,9 @@
 	"
 
 src_install() {
-	# Install header files.
-	local header_dirs=(
-		.
-		status
-		status/impl
-		syscaller
-		tpm_error
-		utility
-		error
-		tpm
-	)
-	local d
-	for d in "${header_dirs[@]}" ; do
-		insinto /usr/include/libhwsec-foundation/"${d}"
-		doins "${d}"/*.h
-	done
-
-	dolib.so "${OUT}"/lib/libhwsec-foundation.so
-
-	dosbin "${OUT}"/tpm_version_client
-
-	if use tpm_dynamic; then
-		dosbin tool/tpm_version
-
-		insinto /etc/init
-		doins init/no-tpm-checker.conf
-	fi
+	platform_install
 }
 
 platform_pkg_test() {
-	local tests=(
-		hwsec-foundation_testrunner
-	)
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
+	platform test_all
 }
diff --git a/chromeos-base/libhwsec/files/revision_bump b/chromeos-base/libhwsec/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/libhwsec/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/libhwsec/libhwsec-0.0.1-r302.ebuild b/chromeos-base/libhwsec/libhwsec-0.0.1-r302.ebuild
deleted file mode 100644
index be472eb..0000000
--- a/chromeos-base/libhwsec/libhwsec-0.0.1-r302.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "fb2b8277318fb7e7eff84f5c7669a46bf60f19f5" "b1c7898d3f42051cbba6426c62b35476a8de5b72" "97266a4772907835fdab5d56b3ca24ed9c1c7a0e" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk libhwsec libhwsec-foundation trunks .gn"
-
-PLATFORM_SUBDIR="libhwsec"
-
-inherit cros-workon platform
-
-DESCRIPTION="Crypto and utility functions used in TPM related daemons."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/libhwsec/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test fuzzer tpm tpm2 tpm_dynamic"
-
-COMMON_DEPEND="
-	chromeos-base/libhwsec-foundation
-	dev-libs/openssl:0=
-	tpm2? ( chromeos-base/trunks:= )
-	tpm? ( app-crypt/trousers:= )
-	fuzzer? (
-		app-crypt/trousers:=
-		chromeos-base/trunks:=
-	)
-"
-
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}"
-
-src_install() {
-	platform_install
-}
-
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/libhwsec/libhwsec-0.0.1-r441.ebuild b/chromeos-base/libhwsec/libhwsec-0.0.1-r441.ebuild
new file mode 100644
index 0000000..74f3d15
--- /dev/null
+++ b/chromeos-base/libhwsec/libhwsec-0.0.1-r441.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "2e036f417afe5d55dcbd138f7bfe2c98ab14403f" "8ca9c97a07408fdff5abf480fb1b2a15405b6bc0" "944879c9353c2df8adb7022407a8d319671325c1" "b2ae20cf5a237ca246eecb61de48d18247370fd5" "0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk libhwsec libhwsec-foundation tpm_manager tpm2-simulator trunks .gn"
+
+PLATFORM_SUBDIR="libhwsec"
+
+inherit cros-workon platform
+
+DESCRIPTION="Crypto and utility functions used in TPM related daemons."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libhwsec/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test fuzzer tpm tpm2 tpm_dynamic"
+
+COMMON_DEPEND="
+	chromeos-base/libhwsec-foundation
+	chromeos-base/tpm_manager-client
+	dev-libs/openssl:0=
+	dev-libs/flatbuffers
+	tpm2? (
+		chromeos-base/pinweaver:=
+		chromeos-base/trunks:=[test?]
+	)
+	tpm? ( app-crypt/trousers:= )
+	fuzzer? (
+		app-crypt/trousers:=
+		chromeos-base/trunks:=
+	)
+	test? (
+		chromeos-base/pinweaver:=
+		chromeos-base/trunks:=[test]
+		chromeos-base/tpm2-simulator:=[test]
+	)
+"
+
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}"
+
+src_install() {
+	platform_install
+}
+
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/libhwsec/libhwsec-9999.ebuild b/chromeos-base/libhwsec/libhwsec-9999.ebuild
index 5886bc3..1431cc3 100644
--- a/chromeos-base/libhwsec/libhwsec-9999.ebuild
+++ b/chromeos-base/libhwsec/libhwsec-9999.ebuild
@@ -8,14 +8,14 @@
 CROS_WORKON_LOCALNAME="platform2"
 CROS_WORKON_PROJECT="chromiumos/platform2"
 CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk libhwsec libhwsec-foundation trunks .gn"
+CROS_WORKON_SUBTREE="common-mk libhwsec libhwsec-foundation tpm_manager tpm2-simulator trunks .gn"
 
 PLATFORM_SUBDIR="libhwsec"
 
 inherit cros-workon platform
 
 DESCRIPTION="Crypto and utility functions used in TPM related daemons."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/libhwsec/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libhwsec/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
@@ -23,13 +23,23 @@
 
 COMMON_DEPEND="
 	chromeos-base/libhwsec-foundation
+	chromeos-base/tpm_manager-client
 	dev-libs/openssl:0=
-	tpm2? ( chromeos-base/trunks:= )
+	dev-libs/flatbuffers
+	tpm2? (
+		chromeos-base/pinweaver:=
+		chromeos-base/trunks:=[test?]
+	)
 	tpm? ( app-crypt/trousers:= )
 	fuzzer? (
 		app-crypt/trousers:=
 		chromeos-base/trunks:=
 	)
+	test? (
+		chromeos-base/pinweaver:=
+		chromeos-base/trunks:=[test]
+		chromeos-base/tpm2-simulator:=[test]
+	)
 "
 
 RDEPEND="${COMMON_DEPEND}"
diff --git a/chromeos-base/libiioservice_ipc/files/revision_bump b/chromeos-base/libiioservice_ipc/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/libiioservice_ipc/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/libiioservice_ipc/libiioservice_ipc-0.0.1-r243.ebuild b/chromeos-base/libiioservice_ipc/libiioservice_ipc-0.0.1-r243.ebuild
deleted file mode 100644
index 906d1a5..0000000
--- a/chromeos-base/libiioservice_ipc/libiioservice_ipc-0.0.1-r243.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "04d918571ad6d12563589ccf1b8c0e79b65521aa" "a625767bb59509159091f2ab0b71f8b9b4b2e353")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE=".gn iioservice common-mk"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-PLATFORM_SUBDIR="iioservice/libiioservice_ipc"
-
-inherit cros-workon platform
-
-DESCRIPTION="Chrome OS sensor HAL IPC util."
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND=""
-
-DEPEND="${RDEPEND}
-	virtual/pkgconfig
-"
-
-src_install() {
-	dolib.so "${OUT}/lib/libiioservice_ipc.so"
-	dolib.a "${OUT}/libiioservice_ipc_mojom.a"
-}
diff --git a/chromeos-base/libiioservice_ipc/libiioservice_ipc-0.0.1-r327.ebuild b/chromeos-base/libiioservice_ipc/libiioservice_ipc-0.0.1-r327.ebuild
new file mode 100644
index 0000000..44cafcd
--- /dev/null
+++ b/chromeos-base/libiioservice_ipc/libiioservice_ipc-0.0.1-r327.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "a97bd01dbd0e88c337336d29105ee63b03a4ef9f" "60fa47aebd6ebfb702012849bd560717fceddcd4")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_SUBTREE=".gn iioservice common-mk"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="iioservice/libiioservice_ipc"
+
+inherit cros-workon platform
+
+DESCRIPTION="Chrome OS sensor HAL IPC util."
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND=""
+
+DEPEND="${RDEPEND}
+	virtual/pkgconfig
+"
+
+src_install() {
+	dolib.so "${OUT}/lib/libiioservice_ipc.so"
+	dolib.a "${OUT}/libiioservice_ipc_mojom.a"
+}
diff --git a/chromeos-base/libipp/files/revision_bump b/chromeos-base/libipp/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/libipp/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/libipp/libipp-0.0.1-r215.ebuild b/chromeos-base/libipp/libipp-0.0.1-r215.ebuild
deleted file mode 100644
index 91f2bd9..0000000
--- a/chromeos-base/libipp/libipp-0.0.1-r215.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "d97dfe0923014fa72bd59f759082482c55f7690d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk libipp .gn"
-
-PLATFORM_SUBDIR="libipp"
-
-inherit cros-workon platform
-
-DESCRIPTION="The library for building and parsing IPP (Internet Printing Protocol) frames."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/libipp/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-src_install() {
-	platform_install
-
-	# Install fuzzer
-	local fuzzer_component_id="167231"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/libipp_fuzzer \
-		--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/libipp/libipp-0.0.1-r280.ebuild b/chromeos-base/libipp/libipp-0.0.1-r280.ebuild
new file mode 100644
index 0000000..ad420c5
--- /dev/null
+++ b/chromeos-base/libipp/libipp-0.0.1-r280.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "a6691fe1e00666995d1480ebcc515c990861e702" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk libipp .gn"
+
+PLATFORM_SUBDIR="libipp"
+
+inherit cros-workon platform
+
+DESCRIPTION="The library for building and parsing IPP (Internet Printing Protocol) frames."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libipp/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+src_install() {
+	platform_install
+
+	# Install fuzzer
+	local fuzzer_component_id="167231"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/libipp_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/libipp/libipp-9999.ebuild b/chromeos-base/libipp/libipp-9999.ebuild
index 1421130..ecfe16e 100644
--- a/chromeos-base/libipp/libipp-9999.ebuild
+++ b/chromeos-base/libipp/libipp-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="The library for building and parsing IPP (Internet Printing Protocol) frames."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/libipp/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libipp/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/libmems/files/revision_bump b/chromeos-base/libmems/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/libmems/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/libmems/libmems-0.0.1-r256.ebuild b/chromeos-base/libmems/libmems-0.0.1-r256.ebuild
deleted file mode 100644
index 1ab230f..0000000
--- a/chromeos-base/libmems/libmems-0.0.1-r256.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "f09f4711e5043f57c202260d0214f64c0eab5431" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk libmems .gn"
-
-PLATFORM_SUBDIR="libmems"
-
-inherit cros-workon platform
-
-DESCRIPTION="MEMS support library for Chromium OS."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/libmems"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-COMMON_DEPEND="
-	net-libs/libiio:="
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}
-	chromeos-base/system_api:="
-
-src_install() {
-	platform_install
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/libmems/libmems-0.0.1-r320.ebuild b/chromeos-base/libmems/libmems-0.0.1-r320.ebuild
new file mode 100644
index 0000000..704419e
--- /dev/null
+++ b/chromeos-base/libmems/libmems-0.0.1-r320.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "4d8f590bd987ed599a906fe078fb08b51c7c7f9c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk libmems .gn"
+
+PLATFORM_SUBDIR="libmems"
+
+inherit cros-workon platform
+
+DESCRIPTION="MEMS support library for Chromium OS."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libmems"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+COMMON_DEPEND="
+	net-libs/libiio:="
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/system_api:="
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/libmems/libmems-9999.ebuild b/chromeos-base/libmems/libmems-9999.ebuild
index 19bcc38..429d79b 100644
--- a/chromeos-base/libmems/libmems-9999.ebuild
+++ b/chromeos-base/libmems/libmems-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="MEMS support library for Chromium OS."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/libmems"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libmems"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/libpasswordprovider/files/revision_bump b/chromeos-base/libpasswordprovider/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/libpasswordprovider/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/libpasswordprovider/libpasswordprovider-0.0.1-r502.ebuild b/chromeos-base/libpasswordprovider/libpasswordprovider-0.0.1-r502.ebuild
deleted file mode 100644
index 55d8507..0000000
--- a/chromeos-base/libpasswordprovider/libpasswordprovider-0.0.1-r502.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "56dc9b3a788bc68f829c1e7a1d3b6cf067c7aaf9" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk libpasswordprovider .gn"
-
-PLATFORM_SUBDIR="libpasswordprovider"
-
-inherit cros-workon platform
-
-DESCRIPTION="Library for storing and retrieving user password"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/libpasswordprovider"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="
-	sys-apps/keyutils:=
-"
-
-DEPEND="${RDEPEND}"
-
-src_install() {
-	dolib.so "${OUT}/lib/libpasswordprovider.so"
-
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	doins libpasswordprovider.pc
-
-	insinto "/usr/include/libpasswordprovider"
-	doins *.h
-}
-
-platform_pkg_test() {
-
-	platform_test "run" "${OUT}/${test_bin}" "0" "${gtest_filter}"
-}
-
-platform_pkg_test() {
-	local gtest_filter=""
-	if ! use x86 && ! use amd64 ; then
-		# PasswordProvider tests fail on qemu due to unsupported system calls to keyrings.
-		# Run only the Password unit tests on qemu since keyrings are not supported yet.
-		# https://crbug.com/792699
-		einfo "Skipping PasswordProvider unit tests on non-x86 platform"
-		gtest_filter+="Password.*"
-	fi
-
-	local tests=(
-		password_provider_test
-	)
-
-	local test_bin
-		for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}" 0 "${gtest_filter}"
-	done
-}
diff --git a/chromeos-base/libpasswordprovider/libpasswordprovider-0.0.1-r562.ebuild b/chromeos-base/libpasswordprovider/libpasswordprovider-0.0.1-r562.ebuild
new file mode 100644
index 0000000..05a1dc0
--- /dev/null
+++ b/chromeos-base/libpasswordprovider/libpasswordprovider-0.0.1-r562.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "fb8e41991af9e4c6c88768b137a9b48e4e5e47da" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk libpasswordprovider .gn"
+
+PLATFORM_SUBDIR="libpasswordprovider"
+
+inherit cros-workon platform
+
+DESCRIPTION="Library for storing and retrieving user password"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libpasswordprovider"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="
+	sys-apps/keyutils:=
+"
+
+DEPEND="${RDEPEND}"
+
+src_install() {
+	dolib.so "${OUT}/lib/libpasswordprovider.so"
+
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins libpasswordprovider.pc
+
+	insinto "/usr/include/libpasswordprovider"
+	doins *.h
+}
+
+platform_pkg_test() {
+
+	platform_test "run" "${OUT}/${test_bin}" "0" "${gtest_filter}"
+}
+
+platform_pkg_test() {
+	local gtest_filter=""
+	if ! use x86 && ! use amd64 ; then
+		# PasswordProvider tests fail on qemu due to unsupported system calls to keyrings.
+		# Run only the Password unit tests on qemu since keyrings are not supported yet.
+		# https://crbug.com/792699
+		einfo "Skipping PasswordProvider unit tests on non-x86 platform"
+		gtest_filter+="Password.*"
+	fi
+
+	local tests=(
+		password_provider_test
+	)
+
+	local test_bin
+		for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}" 0 "${gtest_filter}"
+	done
+}
diff --git a/chromeos-base/libpasswordprovider/libpasswordprovider-9999.ebuild b/chromeos-base/libpasswordprovider/libpasswordprovider-9999.ebuild
index 6306701..8ebcb2a 100644
--- a/chromeos-base/libpasswordprovider/libpasswordprovider-9999.ebuild
+++ b/chromeos-base/libpasswordprovider/libpasswordprovider-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Library for storing and retrieving user password"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/libpasswordprovider"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libpasswordprovider"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/libsirenia/libsirenia-0.1.0-r71.ebuild b/chromeos-base/libsirenia/libsirenia-0.1.0-r71.ebuild
deleted file mode 100644
index 6465e9b..0000000
--- a/chromeos-base/libsirenia/libsirenia-0.1.0-r71.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="58de4db55435188137d70061b1381b61c6c3797f"
-CROS_WORKON_TREE="d3de10836a8b0ca3a02380f57201253d9ec56744"
-CROS_RUST_SUBDIR="sirenia/libsirenia"
-
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="The support library for the ManaTEE runtime environment."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/libsirenia"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND="
-	chromeos-base/sirenia-rpc-macros:=
-	=dev-rust/anyhow-1*:=
-	>=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:=
-	=dev-rust/base64-0.13*:=
-	=dev-rust/chrono-0.4*:=
-	=dev-rust/flexbuffers-2*:=
-	=dev-rust/getopts-0.2*:=
-	>=dev-rust/libc-0.2.44 <dev-rust/libc-0.3_alpha:=
-	dev-rust/libchromeos:=
-	>=dev-rust/minijail-0.2.3:=
-	>=dev-rust/openssl-0.10.25 <dev-rust/openssl-0.11.0_alpha:=
-	>=dev-rust/serde-1.0.114 <dev-rust/serde-2_alpha:=
-	=dev-rust/serde_derive-1*:=
-	>=dev-rust/serde_json-1.0.64 <dev-rust/serde_json-2.0.0_alpha:=
-	dev-rust/sys_util:=
-	>=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0_alpha:=
-"
-# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
-# installing binpkgs since the full source tree is required to use the crate.
-RDEPEND="${DEPEND}"
-
-# We skip the vsock test because it requires the vsock kernel modules to be
-# loaded.
-src_test() {
-	cros-rust_src_test -- --skip transport::tests::vsocktransport \
-		--skip sandbox::tests::sandbox_unpriviledged
-
-	# TODO(crbug.com/1171078) Run this with the other tests.
-	(
-		local timeout_millis=5000
-		CROS_RUST_PLATFORM_TEST_ARGS=(
-			"${CROS_RUST_PLATFORM_TEST_ARGS[@]}"
-			--env RUST_TEST_TIME_UNIT="${timeout_millis},${timeout_millis}"
-		)
-		cros-rust_src_test -- --nocapture \
-			-Z unstable-options --ensure-time \
-			sandbox::tests::sandbox_unpriviledged
-	)
-
-	if cros_rust_is_direct_exec; then
-		# Run tests for sirenia-rpc-macros here since the tests depend on libsirenia
-		# and libsirenia depends on sirenia-rpc-macros.
-		(
-			cd sirenia-rpc-macros || die
-			cros-rust_src_test
-		)
-	fi
-}
diff --git a/chromeos-base/libsirenia/libsirenia-0.1.0-r94.ebuild b/chromeos-base/libsirenia/libsirenia-0.1.0-r94.ebuild
new file mode 100644
index 0000000..4c4d6e6
--- /dev/null
+++ b/chromeos-base/libsirenia/libsirenia-0.1.0-r94.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="fb2684977ad7b4d2d15246542fd123b2e3217941"
+CROS_WORKON_TREE="651aeeaca36ae686d43f70f7b06f4464e3606813"
+CROS_RUST_SUBDIR="sirenia/libsirenia"
+
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="The support library for the ManaTEE runtime environment."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/libsirenia"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="
+	chromeos-base/crosvm-base:=
+	chromeos-base/sirenia-rpc-macros:=
+	=dev-rust/anyhow-1*:=
+	=dev-rust/assert_matches-1*:=
+	=dev-rust/base64-0.13*:=
+	=dev-rust/chrono-0.4*:=
+	=dev-rust/flexbuffers-2*:=
+	=dev-rust/getopts-0.2*:=
+	=dev-rust/libc-0.2*:=
+	dev-rust/libchromeos:=
+	=dev-rust/log-0.4*:=
+	>=dev-rust/minijail-0.2.3:=
+	=dev-rust/openssl-0.10*:=
+	=dev-rust/serde-1*:=
+	=dev-rust/serde_bytes-0.10*:=
+	=dev-rust/serde_derive-1*:=
+	=dev-rust/serde_json-1*:=
+	=dev-rust/thiserror-1*:=
+"
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}"
+
+# We skip the vsock test because it requires the vsock kernel modules to be
+# loaded.
+src_test() {
+	cros-rust_src_test -- --skip transport::tests::vsocktransport \
+		--skip sandbox::tests::sandbox_unpriviledged
+
+	# TODO(crbug.com/1171078) Run this with the other tests.
+	(
+		local timeout_millis=5000
+		CROS_RUST_PLATFORM_TEST_ARGS=(
+			"${CROS_RUST_PLATFORM_TEST_ARGS[@]}"
+			--env RUST_TEST_TIME_UNIT="${timeout_millis},${timeout_millis}"
+		)
+		cros-rust_src_test -- --nocapture \
+			-Z unstable-options --ensure-time \
+			sandbox::tests::sandbox_unpriviledged
+	)
+
+	if cros_rust_is_direct_exec; then
+		# Run tests for sirenia-rpc-macros here since the tests depend on libsirenia
+		# and libsirenia depends on sirenia-rpc-macros.
+		(
+			cd sirenia-rpc-macros || die
+			cros-rust_src_test
+		)
+	fi
+}
diff --git a/chromeos-base/libsirenia/libsirenia-9999.ebuild b/chromeos-base/libsirenia/libsirenia-9999.ebuild
index 197b568..a8ad852 100644
--- a/chromeos-base/libsirenia/libsirenia-9999.ebuild
+++ b/chromeos-base/libsirenia/libsirenia-9999.ebuild
@@ -20,22 +20,24 @@
 IUSE=""
 
 DEPEND="
+	chromeos-base/crosvm-base:=
 	chromeos-base/sirenia-rpc-macros:=
 	=dev-rust/anyhow-1*:=
-	>=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:=
+	=dev-rust/assert_matches-1*:=
 	=dev-rust/base64-0.13*:=
 	=dev-rust/chrono-0.4*:=
 	=dev-rust/flexbuffers-2*:=
 	=dev-rust/getopts-0.2*:=
-	>=dev-rust/libc-0.2.44 <dev-rust/libc-0.3_alpha:=
+	=dev-rust/libc-0.2*:=
 	dev-rust/libchromeos:=
+	=dev-rust/log-0.4*:=
 	>=dev-rust/minijail-0.2.3:=
-	>=dev-rust/openssl-0.10.25 <dev-rust/openssl-0.11.0_alpha:=
-	>=dev-rust/serde-1.0.114 <dev-rust/serde-2_alpha:=
+	=dev-rust/openssl-0.10*:=
+	=dev-rust/serde-1*:=
+	=dev-rust/serde_bytes-0.10*:=
 	=dev-rust/serde_derive-1*:=
-	>=dev-rust/serde_json-1.0.64 <dev-rust/serde_json-2.0.0_alpha:=
-	dev-rust/sys_util:=
-	>=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0_alpha:=
+	=dev-rust/serde_json-1*:=
+	=dev-rust/thiserror-1*:=
 "
 # (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
 # installing binpkgs since the full source tree is required to use the crate.
diff --git a/chromeos-base/libtpmcrypto/files/revision_bump b/chromeos-base/libtpmcrypto/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/libtpmcrypto/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/libtpmcrypto/libtpmcrypto-0.0.1-r442.ebuild b/chromeos-base/libtpmcrypto/libtpmcrypto-0.0.1-r442.ebuild
deleted file mode 100644
index 270cf63..0000000
--- a/chromeos-base/libtpmcrypto/libtpmcrypto-0.0.1-r442.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "fb2b8277318fb7e7eff84f5c7669a46bf60f19f5" "b1c7898d3f42051cbba6426c62b35476a8de5b72" "99cb261212fa3c73badb7ce5bd2da101c2567206" "97266a4772907835fdab5d56b3ca24ed9c1c7a0e" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk libhwsec libhwsec-foundation libtpmcrypto trunks .gn"
-
-PLATFORM_SUBDIR="libtpmcrypto"
-
-inherit cros-workon platform
-
-DESCRIPTION="Encrypts/Decrypts data to a serialized proto with TPM sealed key."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/libtpmcrypto/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="tpm tpm_dynamic tpm2"
-REQUIRED_USE="
-	tpm_dynamic? ( tpm tpm2 )
-	!tpm_dynamic? ( ?? ( tpm tpm2 ) )
-"
-
-# This depends on protobuf because it uses protoc and needs to be rebuilt
-# whenever the protobuf library is updated since generated source files may be
-# incompatible across different versions of the protobuf library.
-COMMON_DEPEND="
-	tpm2? (
-		chromeos-base/trunks:=
-	)
-	tpm? (
-		app-crypt/trousers:=
-	)
-	chromeos-base/libhwsec-foundation:=
-	dev-libs/protobuf:=
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-"
-
-src_install() {
-	dolib.so "${OUT}/lib/libtpmcrypto.so"
-
-	"${S}"/platform2_preinstall.sh "${PV}" "/usr/include/chromeos" "${OUT}"
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	doins "${OUT}/libtpmcrypto.pc"
-
-	insinto "/usr/include/libtpmcrypto"
-	doins *.h
-}
-
-platform_pkg_test() {
-	local tests=(
-		tpmcrypto_test
-	)
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-}
diff --git a/chromeos-base/libtpmcrypto/libtpmcrypto-0.0.1-r568.ebuild b/chromeos-base/libtpmcrypto/libtpmcrypto-0.0.1-r568.ebuild
new file mode 100644
index 0000000..150022e
--- /dev/null
+++ b/chromeos-base/libtpmcrypto/libtpmcrypto-0.0.1-r568.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "2e036f417afe5d55dcbd138f7bfe2c98ab14403f" "8ca9c97a07408fdff5abf480fb1b2a15405b6bc0" "b90d0e8f789e8cfe86794cb3f36ae69967b7dc36" "0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk libhwsec libhwsec-foundation libtpmcrypto trunks .gn"
+
+PLATFORM_SUBDIR="libtpmcrypto"
+
+inherit cros-workon platform
+
+DESCRIPTION="Encrypts/Decrypts data to a serialized proto with TPM sealed key."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libtpmcrypto/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="tpm tpm_dynamic tpm2"
+REQUIRED_USE="
+	tpm_dynamic? ( tpm tpm2 )
+	!tpm_dynamic? ( ?? ( tpm tpm2 ) )
+"
+
+# This depends on protobuf because it uses protoc and needs to be rebuilt
+# whenever the protobuf library is updated since generated source files may be
+# incompatible across different versions of the protobuf library.
+COMMON_DEPEND="
+	tpm2? (
+		chromeos-base/trunks:=
+	)
+	tpm? (
+		app-crypt/trousers:=
+	)
+	chromeos-base/libhwsec-foundation:=
+	dev-libs/protobuf:=
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+"
+
+src_install() {
+	dolib.so "${OUT}/lib/libtpmcrypto.so"
+
+	"${S}"/platform2_preinstall.sh "${PV}" "/usr/include/chromeos" "${OUT}"
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins "${OUT}/libtpmcrypto.pc"
+
+	insinto "/usr/include/libtpmcrypto"
+	doins *.h
+}
+
+platform_pkg_test() {
+	local tests=(
+		tpmcrypto_test
+	)
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+}
diff --git a/chromeos-base/libtpmcrypto/libtpmcrypto-9999.ebuild b/chromeos-base/libtpmcrypto/libtpmcrypto-9999.ebuild
index 7368ea8..71e7992 100644
--- a/chromeos-base/libtpmcrypto/libtpmcrypto-9999.ebuild
+++ b/chromeos-base/libtpmcrypto/libtpmcrypto-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Encrypts/Decrypts data to a serialized proto with TPM sealed key."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/libtpmcrypto/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libtpmcrypto/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/libva-fake-driver/libva-fake-driver-0.0.1-r1.ebuild b/chromeos-base/libva-fake-driver/libva-fake-driver-0.0.1-r1.ebuild
deleted file mode 100644
index 08bb427..0000000
--- a/chromeos-base/libva-fake-driver/libva-fake-driver-0.0.1-r1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="7754dd6e00355bb0d7bb5f597b482b6d5ff5cab5"
-CROS_WORKON_TREE="770f83539238977e8d6999b4807bb0ef596f4ec2"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform/libva-fake-driver"
-CROS_WORKON_PROJECT="chromiumos/platform/libva-fake-driver"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-
-inherit cros-workon cros-common.mk
-
-DESCRIPTION="Chrome OS fake LibVA driver; intended as a backend replacement for VMs and other test fixtures"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/libva-fake-driver/ "
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND=">=x11-libs/libva-2.6.0:="
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-src_install() {
-	dolib.so "${OUT}"/fake_drv_video.so
-
-	# Needs to be visible from /usr/lib64/va/drivers/
-	dosym /usr/$(get_libdir)/fake_drv_video.so /usr/$(get_libdir)/va/drivers/fake_drv_video.so
-}
diff --git a/chromeos-base/libva-fake-driver/libva-fake-driver-0.0.1-r2.ebuild b/chromeos-base/libva-fake-driver/libva-fake-driver-0.0.1-r2.ebuild
new file mode 100644
index 0000000..b8d13e4
--- /dev/null
+++ b/chromeos-base/libva-fake-driver/libva-fake-driver-0.0.1-r2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="7754dd6e00355bb0d7bb5f597b482b6d5ff5cab5"
+CROS_WORKON_TREE="770f83539238977e8d6999b4807bb0ef596f4ec2"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform/libva-fake-driver"
+CROS_WORKON_PROJECT="chromiumos/platform/libva-fake-driver"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+
+inherit cros-workon cros-common.mk cros-sanitizers
+
+DESCRIPTION="Chrome OS fake LibVA driver; intended as a backend replacement for VMs and other test fixtures"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/libva-fake-driver/ "
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND=">=x11-libs/libva-2.6.0:="
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
+src_install() {
+	dolib.so "${OUT}"/fake_drv_video.so
+
+	# Needs to be visible from /usr/lib64/va/drivers/
+	dosym /usr/$(get_libdir)/fake_drv_video.so /usr/$(get_libdir)/va/drivers/fake_drv_video.so
+}
diff --git a/chromeos-base/libva-fake-driver/libva-fake-driver-9999.ebuild b/chromeos-base/libva-fake-driver/libva-fake-driver-9999.ebuild
index ba0fd86..2f72bba 100644
--- a/chromeos-base/libva-fake-driver/libva-fake-driver-9999.ebuild
+++ b/chromeos-base/libva-fake-driver/libva-fake-driver-9999.ebuild
@@ -8,7 +8,7 @@
 CROS_WORKON_PROJECT="chromiumos/platform/libva-fake-driver"
 CROS_WORKON_OUTOFTREE_BUILD="1"
 
-inherit cros-workon cros-common.mk
+inherit cros-workon cros-common.mk cros-sanitizers
 
 DESCRIPTION="Chrome OS fake LibVA driver; intended as a backend replacement for VMs and other test fixtures"
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/libva-fake-driver/ "
@@ -20,6 +20,11 @@
 DEPEND="${RDEPEND}"
 BDEPEND="virtual/pkgconfig"
 
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
 src_install() {
 	dolib.so "${OUT}"/fake_drv_video.so
 
diff --git a/chromeos-base/libvda-gpu-tests/files/revision_bump b/chromeos-base/libvda-gpu-tests/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/libvda-gpu-tests/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/libvda-gpu-tests/libvda-gpu-tests-0.0.1-r299.ebuild b/chromeos-base/libvda-gpu-tests/libvda-gpu-tests-0.0.1-r299.ebuild
deleted file mode 100644
index fe155bc..0000000
--- a/chromeos-base/libvda-gpu-tests/libvda-gpu-tests-0.0.1-r299.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "1325424e92ae114997c41128a4ca1ae401bd107b" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/vm/libvda .gn"
-
-PLATFORM_SUBDIR="arc/vm/libvda"
-
-inherit cros-workon platform
-
-DESCRIPTION="libvda Chrome GPU tests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/libvda"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="
-	chromeos-base/libbrillo:=
-	media-libs/minigbm:=
-"
-
-DEPEND="
-	${RDEPEND}
-	chromeos-base/system_api:=
-"
-
-src_compile() {
-	platform "compile" "libvda_gpu_unittest"
-}
-
-src_install() {
-	exeinto /usr/libexec/libvda-gpu-tests
-	doexe "${OUT}/libvda_gpu_unittest"
-}
diff --git a/chromeos-base/libvda-gpu-tests/libvda-gpu-tests-0.0.1-r361.ebuild b/chromeos-base/libvda-gpu-tests/libvda-gpu-tests-0.0.1-r361.ebuild
new file mode 100644
index 0000000..5d62881
--- /dev/null
+++ b/chromeos-base/libvda-gpu-tests/libvda-gpu-tests-0.0.1-r361.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "4b86eae6fc1a2faee58169d41c841c86ad9bc73c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/vm/libvda .gn"
+
+PLATFORM_SUBDIR="arc/vm/libvda"
+
+inherit cros-workon platform
+
+DESCRIPTION="libvda Chrome GPU tests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/libvda"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="
+	chromeos-base/libbrillo:=
+	media-libs/minigbm:=
+"
+
+DEPEND="
+	${RDEPEND}
+	chromeos-base/system_api:=
+"
+
+src_compile() {
+	platform "compile" "libvda_gpu_unittest"
+}
+
+src_install() {
+	exeinto /usr/libexec/libvda-gpu-tests
+	doexe "${OUT}/libvda_gpu_unittest"
+}
diff --git a/chromeos-base/libvda-gpu-tests/libvda-gpu-tests-9999.ebuild b/chromeos-base/libvda-gpu-tests/libvda-gpu-tests-9999.ebuild
index b1f3632..620598d 100644
--- a/chromeos-base/libvda-gpu-tests/libvda-gpu-tests-9999.ebuild
+++ b/chromeos-base/libvda-gpu-tests/libvda-gpu-tests-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="libvda Chrome GPU tests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/libvda"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/libvda"
 
 LICENSE="BSD-Google"
 SLOT="0"
diff --git a/chromeos-base/libvda/files/revision_bump b/chromeos-base/libvda/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/libvda/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/libvda/libvda-0.0.1-r306.ebuild b/chromeos-base/libvda/libvda-0.0.1-r306.ebuild
deleted file mode 100644
index 3524e3f..0000000
--- a/chromeos-base/libvda/libvda-0.0.1-r306.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "1325424e92ae114997c41128a4ca1ae401bd107b" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/vm/libvda .gn"
-
-PLATFORM_SUBDIR="arc/vm/libvda"
-
-inherit cros-workon platform
-
-DESCRIPTION="libvda CrOS video decoding library"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/libvda"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="libvda_test"
-
-COMMON_DEPEND="
-	media-libs/minigbm:=
-"
-
-RDEPEND="${COMMON_DEPEND}"
-
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/system_api:=
-"
-
-src_install() {
-	dolib.so "${OUT}"/lib/libvda.so
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	doins "${OUT}"/obj/arc/vm/libvda/libvda.pc
-
-	local fuzzer_component_id="632502"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/libvda_fuzzer \
-		--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/libvda_fake_unittest"
-
-	platform_fuzzer_test "${OUT}"/libvda_fuzzer
-}
diff --git a/chromeos-base/libvda/libvda-0.0.1-r368.ebuild b/chromeos-base/libvda/libvda-0.0.1-r368.ebuild
new file mode 100644
index 0000000..19ddc2d
--- /dev/null
+++ b/chromeos-base/libvda/libvda-0.0.1-r368.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "4b86eae6fc1a2faee58169d41c841c86ad9bc73c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/vm/libvda .gn"
+
+PLATFORM_SUBDIR="arc/vm/libvda"
+
+inherit cros-workon platform
+
+DESCRIPTION="libvda CrOS video decoding library"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/libvda"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="libvda_test"
+
+COMMON_DEPEND="
+	media-libs/minigbm:=
+"
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/system_api:=
+"
+
+src_install() {
+	dolib.so "${OUT}"/lib/libvda.so
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins "${OUT}"/obj/arc/vm/libvda/libvda.pc
+
+	local fuzzer_component_id="632502"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/libvda_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/libvda_fake_unittest"
+
+	platform_fuzzer_test "${OUT}"/libvda_fuzzer
+}
diff --git a/chromeos-base/libvda/libvda-9999.ebuild b/chromeos-base/libvda/libvda-9999.ebuild
index 05f9001..a021ccf 100644
--- a/chromeos-base/libvda/libvda-9999.ebuild
+++ b/chromeos-base/libvda/libvda-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="libvda CrOS video decoding library"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/libvda"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/libvda"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/lorgnette-wwcb-tests/lorgnette-wwcb-tests-0.0.1-r17.ebuild b/chromeos-base/lorgnette-wwcb-tests/lorgnette-wwcb-tests-0.0.1-r17.ebuild
deleted file mode 100644
index f3b98fd..0000000
--- a/chromeos-base/lorgnette-wwcb-tests/lorgnette-wwcb-tests-0.0.1-r17.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="89598cf1079a84cc38c28141488903748a010e89"
-CROS_WORKON_TREE="eed948040edc46de104c2d2371d6a87c1a486e28"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE="lorgnette/hwtests"
-
-CROS_GO_WORKSPACE="${S}/lorgnette/hwtests"
-
-CROS_GO_TEST=(
-	"chromiumos/scanning/hwtests"
-	"chromiumos/scanning/utils"
-)
-
-CROS_GO_BINARIES=(
-	"chromiumos/scanning/scripts/test_scan_source"
-	"chromiumos/scanning/scripts/test_scanner_capabilities"
-)
-
-inherit cros-go cros-workon
-
-DESCRIPTION="Works with Chromebook test suite for scanners"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/lorgnette/hwtests"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-SLOT="0/0"
-
-DEPEND="
-	dev-go/cmp
-"
-RDEPEND="
-	chromeos-base/lorgnette_cli
-"
diff --git a/chromeos-base/lorgnette-wwcb-tests/lorgnette-wwcb-tests-0.0.1-r18.ebuild b/chromeos-base/lorgnette-wwcb-tests/lorgnette-wwcb-tests-0.0.1-r18.ebuild
new file mode 100644
index 0000000..5d52d27
--- /dev/null
+++ b/chromeos-base/lorgnette-wwcb-tests/lorgnette-wwcb-tests-0.0.1-r18.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="ec354fe845cd2224cbfd4be83858114703733ddc"
+CROS_WORKON_TREE="acecd2f5487e6023edf52d615bd9c21483504124"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_SUBTREE="lorgnette/hwtests"
+
+CROS_GO_WORKSPACE="${S}/lorgnette/hwtests"
+
+CROS_GO_TEST=(
+	"chromiumos/scanning/hwtests"
+	"chromiumos/scanning/utils"
+)
+
+CROS_GO_BINARIES=(
+	"chromiumos/scanning/scripts/test_scan_source"
+	"chromiumos/scanning/scripts/test_scanner_capabilities"
+)
+
+inherit cros-go cros-workon
+
+DESCRIPTION="Works with Chromebook test suite for scanners"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/lorgnette/hwtests"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+SLOT="0/0"
+
+DEPEND="
+	dev-go/cmp
+"
+RDEPEND="
+	chromeos-base/lorgnette_cli
+"
diff --git a/net-print/ippsample/OWNERS b/chromeos-base/lorgnette/OWNERS
similarity index 100%
rename from net-print/ippsample/OWNERS
rename to chromeos-base/lorgnette/OWNERS
diff --git a/chromeos-base/lorgnette/files/revision_bump b/chromeos-base/lorgnette/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/lorgnette/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/lorgnette/lorgnette-0.0.1-r3196.ebuild b/chromeos-base/lorgnette/lorgnette-0.0.1-r3196.ebuild
deleted file mode 100644
index 05502d0..0000000
--- a/chromeos-base/lorgnette/lorgnette-0.0.1-r3196.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "1540b1aa5d7bb259f0fd0c8c23b218607a506186" "4a0dedab080195bdc122d2289118df4af3ddca2c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk lorgnette metrics .gn"
-
-PLATFORM_SUBDIR="lorgnette"
-
-inherit cros-workon platform user udev
-
-DESCRIPTION="Document Scanning service for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/lorgnette/"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test"
-
-COMMON_DEPEND="
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	media-libs/libpng:=
-	media-gfx/sane-airscan:=
-	media-gfx/sane-backends:=
-	virtual/jpeg:0=
-	virtual/libusb:1
-"
-
-RDEPEND="${COMMON_DEPEND}
-	chromeos-base/minijail
-	test? (
-		chromeos-base/sane-backends-test
-		media-gfx/perceptualdiff:=
-	)
-"
-
-DEPEND="${COMMON_DEPEND}
-	chromeos-base/permission_broker-client:=
-	chromeos-base/system_api:=
-"
-
-pkg_preinst() {
-	enewgroup ippusb
-	enewgroup usbprinter
-}
-
-src_install() {
-	platform_src_install
-	platform_install
-	udev_dorules udev/*.rules
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/lorgnette_unittest"
-}
diff --git a/chromeos-base/lorgnette/lorgnette-0.0.1-r3301.ebuild b/chromeos-base/lorgnette/lorgnette-0.0.1-r3301.ebuild
new file mode 100644
index 0000000..0c2e34a
--- /dev/null
+++ b/chromeos-base/lorgnette/lorgnette-0.0.1-r3301.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "2ebd98a342da634118dbe0c2147061dadbacd722" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk lorgnette metrics .gn"
+
+PLATFORM_SUBDIR="lorgnette"
+
+inherit cros-workon platform user udev
+
+DESCRIPTION="Document Scanning service for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/lorgnette/"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test"
+
+COMMON_DEPEND="
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	media-libs/libpng:=
+	media-gfx/sane-airscan:=
+	media-gfx/sane-backends:=
+	virtual/jpeg:0=
+	virtual/libusb:1
+"
+
+RDEPEND="${COMMON_DEPEND}
+	chromeos-base/minijail
+	test? (
+		chromeos-base/sane-backends-test
+		media-gfx/perceptualdiff:=
+	)
+"
+
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/permission_broker-client:=
+	chromeos-base/system_api:=
+"
+
+pkg_preinst() {
+	enewgroup ippusb
+	enewgroup usbprinter
+}
+
+src_install() {
+	platform_src_install
+	platform_install
+	udev_dorules udev/*.rules
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/lorgnette_unittest"
+}
diff --git a/chromeos-base/lorgnette/lorgnette-9999.ebuild b/chromeos-base/lorgnette/lorgnette-9999.ebuild
index 87a5c3b..2912510 100644
--- a/chromeos-base/lorgnette/lorgnette-9999.ebuild
+++ b/chromeos-base/lorgnette/lorgnette-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform user udev
 
 DESCRIPTION="Document Scanning service for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/lorgnette/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/lorgnette/"
 LICENSE="BSD-Google"
 KEYWORDS="~*"
 IUSE="test"
diff --git a/chromeos-base/lorgnette_cli/files/revision_bump b/chromeos-base/lorgnette_cli/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/lorgnette_cli/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/lorgnette_cli/lorgnette_cli-0.0.1-r241.ebuild b/chromeos-base/lorgnette_cli/lorgnette_cli-0.0.1-r241.ebuild
deleted file mode 100644
index ea50381..0000000
--- a/chromeos-base/lorgnette_cli/lorgnette_cli-0.0.1-r241.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "1540b1aa5d7bb259f0fd0c8c23b218607a506186" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_SUBTREE="common-mk lorgnette .gn"
-
-PLATFORM_SUBDIR="lorgnette"
-
-inherit cros-workon platform
-
-DESCRIPTION="Command line interface to scanning service for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/lorgnette"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-SLOT="0/0"
-
-RDEPEND="
-	chromeos-base/lorgnette
-"
-
-src_install() {
-	dobin "${OUT}"/lorgnette_cli
-}
diff --git a/chromeos-base/lorgnette_cli/lorgnette_cli-0.0.1-r307.ebuild b/chromeos-base/lorgnette_cli/lorgnette_cli-0.0.1-r307.ebuild
new file mode 100644
index 0000000..d12e834
--- /dev/null
+++ b/chromeos-base/lorgnette_cli/lorgnette_cli-0.0.1-r307.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "2ebd98a342da634118dbe0c2147061dadbacd722" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk lorgnette .gn"
+
+PLATFORM_SUBDIR="lorgnette"
+
+inherit cros-workon platform
+
+DESCRIPTION="Command line interface to scanning service for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/lorgnette"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+SLOT="0/0"
+
+RDEPEND="
+	chromeos-base/lorgnette
+"
+
+src_install() {
+	dobin "${OUT}"/lorgnette_cli
+}
diff --git a/chromeos-base/lvmd-client/OWNERS b/chromeos-base/lvmd-client/OWNERS
new file mode 100644
index 0000000..a66355b
--- /dev/null
+++ b/chromeos-base/lvmd-client/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/lvmd/OWNERS
diff --git a/chromeos-base/lvmd-client/lvmd-client-0.0.1-r11.ebuild b/chromeos-base/lvmd-client/lvmd-client-0.0.1-r11.ebuild
new file mode 100644
index 0000000..12b91f6
--- /dev/null
+++ b/chromeos-base/lvmd-client/lvmd-client-0.0.1-r11.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "9e73e8a72352b1b1983427c5dcadad86102dae9f" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk lvmd .gn"
+
+# This is where BUILD.gn is located.
+# For platform2 projects, this indicates that GN should be used to build this
+# package.
+PLATFORM_SUBDIR="lvmd/client"
+
+inherit cros-workon platform
+
+DESCRIPTION="Lvmd DBus client library"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/lvmd/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND=""
+DEPEND="
+	chromeos-base/chromeos-dbus-bindings:=
+"
+
+src_install() {
+	# Install DBus client library.
+	platform_install_dbus_client_lib "lvmd"
+}
diff --git a/chromeos-base/lvmd-client/lvmd-client-9999.ebuild b/chromeos-base/lvmd-client/lvmd-client-9999.ebuild
new file mode 100644
index 0000000..757a973
--- /dev/null
+++ b/chromeos-base/lvmd-client/lvmd-client-9999.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk lvmd .gn"
+
+# This is where BUILD.gn is located.
+# For platform2 projects, this indicates that GN should be used to build this
+# package.
+PLATFORM_SUBDIR="lvmd/client"
+
+inherit cros-workon platform
+
+DESCRIPTION="Lvmd DBus client library"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/lvmd/"
+
+LICENSE="BSD-Google"
+KEYWORDS="~*"
+
+RDEPEND=""
+DEPEND="
+	chromeos-base/chromeos-dbus-bindings:=
+"
+
+src_install() {
+	# Install DBus client library.
+	platform_install_dbus_client_lib "lvmd"
+}
diff --git a/chromeos-base/lvmd/OWNERS b/chromeos-base/lvmd/OWNERS
new file mode 100644
index 0000000..a66355b
--- /dev/null
+++ b/chromeos-base/lvmd/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/lvmd/OWNERS
diff --git a/chromeos-base/lvmd/lvmd-0.0.1-r12.ebuild b/chromeos-base/lvmd/lvmd-0.0.1-r12.ebuild
new file mode 100644
index 0000000..025b6f09
--- /dev/null
+++ b/chromeos-base/lvmd/lvmd-0.0.1-r12.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "9e73e8a72352b1b1983427c5dcadad86102dae9f" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk lvmd .gn"
+
+# This is where BUILD.gn is located.
+# For platform2 projects, this indicates that GN should be used to build this
+# package.
+PLATFORM_SUBDIR="lvmd"
+
+inherit cros-workon platform
+
+DESCRIPTION="A D-Bus service daemon for LVM"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/lvmd/"
+
+LICENSE="BSD-Google"
+# Only installs lvmd related binaries/files, so set slotting to 0.
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="sys-fs/lvm2:="
+DEPEND="
+	${RDEPEND}
+	chromeos-base/lvmd-client:=
+	chromeos-base/system_api:="
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/lvmd/lvmd-9999.ebuild b/chromeos-base/lvmd/lvmd-9999.ebuild
new file mode 100644
index 0000000..b952365
--- /dev/null
+++ b/chromeos-base/lvmd/lvmd-9999.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk lvmd .gn"
+
+# This is where BUILD.gn is located.
+# For platform2 projects, this indicates that GN should be used to build this
+# package.
+PLATFORM_SUBDIR="lvmd"
+
+inherit cros-workon platform
+
+DESCRIPTION="A D-Bus service daemon for LVM"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/lvmd/"
+
+LICENSE="BSD-Google"
+# Only installs lvmd related binaries/files, so set slotting to 0.
+SLOT="0"
+KEYWORDS="~*"
+
+RDEPEND="sys-fs/lvm2:="
+DEPEND="
+	${RDEPEND}
+	chromeos-base/lvmd-client:=
+	chromeos-base/system_api:="
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/manatee-client/files/revision_bump b/chromeos-base/manatee-client/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/manatee-client/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/manatee-client/manatee-client-0.0.1-r187.ebuild b/chromeos-base/manatee-client/manatee-client-0.0.1-r187.ebuild
deleted file mode 100644
index d9b3977..0000000
--- a/chromeos-base/manatee-client/manatee-client-0.0.1-r187.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "68c18dcb5d0981cfd8fb60b1fc6f360c59d61bbc" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk sirenia .gn"
-
-PLATFORM_NATIVE_TEST="yes"
-PLATFORM_SUBDIR="sirenia/manatee-client"
-
-inherit cros-workon platform
-
-DESCRIPTION="Chrome OS ManaTEE D-Bus client library"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-BDEPEND="
-	chromeos-base/chromeos-dbus-bindings
-"
-
-src_install() {
-	# Install D-Bus client library.
-	platform_install_dbus_client_lib "manatee"
-}
diff --git a/chromeos-base/manatee-client/manatee-client-0.0.1-r278.ebuild b/chromeos-base/manatee-client/manatee-client-0.0.1-r278.ebuild
new file mode 100644
index 0000000..3dd5e16
--- /dev/null
+++ b/chromeos-base/manatee-client/manatee-client-0.0.1-r278.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "9c2074e601aedb8358ee3b7c367c62042409c577" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk sirenia .gn"
+
+PLATFORM_NATIVE_TEST="yes"
+PLATFORM_SUBDIR="sirenia/manatee-client"
+
+inherit cros-workon platform
+
+DESCRIPTION="Chrome OS ManaTEE D-Bus client library"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+BDEPEND="
+	chromeos-base/chromeos-dbus-bindings
+"
+
+src_install() {
+	# Install D-Bus client library.
+	platform_install_dbus_client_lib "manatee"
+}
diff --git a/chromeos-base/manatee-runtime/manatee-runtime-0.1.0-r21.ebuild b/chromeos-base/manatee-runtime/manatee-runtime-0.1.0-r21.ebuild
deleted file mode 100644
index 8c4d4dd..0000000
--- a/chromeos-base/manatee-runtime/manatee-runtime-0.1.0-r21.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="cbdd2f6ce7aede2f3e2903219be65140e821abe1"
-CROS_WORKON_TREE="64da81af0b167f173bc429cd5753323771e15f12"
-CROS_RUST_SUBDIR="sirenia/manatee-runtime"
-
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Library for TEE apps to interact with sirenia."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/manatee-runtime/"
-
-LICENSE="BSD-Google"
-SLOT="0/${PVR}"
-KEYWORDS="*"
-IUSE="cros_host manatee"
-
-DEPEND="
-	chromeos-base/libsirenia:=
-	=dev-rust/anyhow-1*:=
-	>=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:=
-	dev-rust/libchromeos:=
-	>=dev-rust/serde-1.0.114 <dev-rust/serde-2.0.0_alpha:=
-	dev-rust/sync:=
-	dev-rust/sys_util:=
-"
-RDEPEND="${DEPEND}"
-
-BDEPEND="chromeos-base/sirenia-tools"
-
-src_install() {
-	# Install the crate.
-	cros-rust_src_install
-
-	# Install demo_app.
-	local build_dir="$(cros-rust_get_build_dir)"
-	dobin "${build_dir}/demo_app"
-
-	# Install app manifest.
-	local APP_MANIFEST="${S}/src/demo-app.json"
-	tee_app_info_lint -R "${D}" -c "${APP_MANIFEST}" || die
-	insinto /usr/share/manatee/templates
-	doins "${APP_MANIFEST}"
-}
diff --git a/chromeos-base/manatee-runtime/manatee-runtime-0.1.0-r28.ebuild b/chromeos-base/manatee-runtime/manatee-runtime-0.1.0-r28.ebuild
new file mode 100644
index 0000000..368c9d3
--- /dev/null
+++ b/chromeos-base/manatee-runtime/manatee-runtime-0.1.0-r28.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="f134bc2ffdc19b34568dcb1dfbdb841198b6c8be"
+CROS_WORKON_TREE="8422c1eb4cbea0ef6d84e0211fbff62d0186a98a"
+CROS_RUST_SUBDIR="sirenia/manatee-runtime"
+
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Library for TEE apps to interact with sirenia."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/manatee-runtime/"
+
+LICENSE="BSD-Google"
+SLOT="0/${PVR}"
+KEYWORDS="*"
+IUSE="cros_host manatee"
+
+DEPEND="
+	chromeos-base/libsirenia:=
+	=dev-rust/anyhow-1*:=
+	=dev-rust/assert_matches-1*:=
+	dev-rust/libchromeos:=
+	=dev-rust/log-0.4*:=
+	=dev-rust/once_cell-1*:=
+	=dev-rust/serde-1*:=
+	=dev-rust/serde_bytes-0.10*:=
+	=dev-rust/stderrlog-0.5*:=
+	dev-rust/sync:=
+"
+RDEPEND="${DEPEND}"
+
+BDEPEND="chromeos-base/sirenia-tools"
+
+src_install() {
+	# Install the crate.
+	cros-rust_src_install
+
+	# Install demo_app.
+	local build_dir="$(cros-rust_get_build_dir)"
+	dobin "${build_dir}/demo_app"
+
+	# Install app manifest.
+	local APP_MANIFEST="${S}/src/demo-app.json"
+	tee_app_info_lint -R "${D}" -c "${APP_MANIFEST}" || die
+	insinto /usr/share/manatee/templates
+	doins "${APP_MANIFEST}"
+}
diff --git a/chromeos-base/manatee-runtime/manatee-runtime-9999.ebuild b/chromeos-base/manatee-runtime/manatee-runtime-9999.ebuild
index b7abb47..65ae062 100644
--- a/chromeos-base/manatee-runtime/manatee-runtime-9999.ebuild
+++ b/chromeos-base/manatee-runtime/manatee-runtime-9999.ebuild
@@ -22,11 +22,14 @@
 DEPEND="
 	chromeos-base/libsirenia:=
 	=dev-rust/anyhow-1*:=
-	>=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:=
+	=dev-rust/assert_matches-1*:=
 	dev-rust/libchromeos:=
-	>=dev-rust/serde-1.0.114 <dev-rust/serde-2.0.0_alpha:=
+	=dev-rust/log-0.4*:=
+	=dev-rust/once_cell-1*:=
+	=dev-rust/serde-1*:=
+	=dev-rust/serde_bytes-0.10*:=
+	=dev-rust/stderrlog-0.5*:=
 	dev-rust/sync:=
-	dev-rust/sys_util:=
 "
 RDEPEND="${DEPEND}"
 
diff --git a/chromeos-base/mcastd/OWNERS b/chromeos-base/mcastd/OWNERS
new file mode 100644
index 0000000..b830d86
--- /dev/null
+++ b/chromeos-base/mcastd/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/patchpanel/OWNERS
diff --git a/chromeos-base/mcastd/files/revision_bump b/chromeos-base/mcastd/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/mcastd/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/mcastd/mcastd-0.0.1-r349.ebuild b/chromeos-base/mcastd/mcastd-0.0.1-r349.ebuild
deleted file mode 100644
index 414e694..0000000
--- a/chromeos-base/mcastd/mcastd-0.0.1-r349.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "49c48c6a3ecaa1c5c5d4762c8275d21891e7c40d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk patchpanel .gn"
-
-PLATFORM_SUBDIR="patchpanel/mcastd"
-
-inherit cros-workon libchrome platform
-
-DESCRIPTION="Multicast forwarder daemon"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/network/"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-COMMON_DEPEND="
-	dev-libs/protobuf:=
-	chromeos-base/libbrillo:=
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-"
-
-src_install() {
-	platform_install
-}
diff --git a/chromeos-base/mcastd/mcastd-0.0.1-r432.ebuild b/chromeos-base/mcastd/mcastd-0.0.1-r432.ebuild
new file mode 100644
index 0000000..7223bb0
--- /dev/null
+++ b/chromeos-base/mcastd/mcastd-0.0.1-r432.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "f03ea3ffcf6f08a1cad9dffba29095b0b988ec0d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk patchpanel .gn"
+
+PLATFORM_SUBDIR="patchpanel/mcastd"
+
+inherit cros-workon libchrome platform
+
+DESCRIPTION="Multicast forwarder daemon"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/network/"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+COMMON_DEPEND="
+	dev-libs/protobuf:=
+	chromeos-base/libbrillo:=
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+"
+
+src_install() {
+	platform_install
+}
diff --git a/chromeos-base/mcastd/mcastd-9999.ebuild b/chromeos-base/mcastd/mcastd-9999.ebuild
index 6cd8ad9..139f3eb 100644
--- a/chromeos-base/mcastd/mcastd-9999.ebuild
+++ b/chromeos-base/mcastd/mcastd-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon libchrome platform
 
 DESCRIPTION="Multicast forwarder daemon"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/network/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/network/"
 LICENSE="BSD-Google"
 KEYWORDS="~*"
 
diff --git a/chromeos-base/memd/memd-0.1.0-r161.ebuild b/chromeos-base/memd/memd-0.1.0-r161.ebuild
deleted file mode 100644
index 917d71f..0000000
--- a/chromeos-base/memd/memd-0.1.0-r161.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("dd1155feccf95c9b2518b57939d4ed1b7b5c3dc0" "a625767bb59509159091f2ab0b71f8b9b4b2e353")
-CROS_RUST_SUBDIR="metrics/memd"
-
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} common-mk"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_OUTOFTREE_BUILD=1
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Fine-grain memory metrics collector"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/metrics/memd/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="+seccomp"
-
-DEPEND="chromeos-base/system_api:=
-	sys-apps/dbus:=
-	>=dev-rust/chrono-0.4.2:= <dev-rust/chrono-0.5.0
-	>=dev-rust/dbus-0.6.1:= <dev-rust/dbus-0.7.0
-	=dev-rust/env_logger-0.6*:=
-	>=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0
-	>=dev-rust/log-0.4.5:= <dev-rust/log-0.5.0
-	>=dev-rust/protobuf-2.3:= <dev-rust/protobuf-3.0
-	>=dev-rust/protoc-rust-2.3:= <dev-rust/protoc-rust-3
-	=dev-rust/syslog-4*:=
-	=dev-rust/tempfile-3*:=
-	>=dev-rust/time-0.1.40:= <dev-rust/time-0.2.0
-	"
-RDEPEND="sys-apps/dbus"
-
-src_install() {
-	# cargo doesn't know how to install cross-compiled binaries.  It will
-	# always install native binaries for the host system.  Install manually
-	# instead.
-	local build_dir="$(cros-rust_get_build_dir)"
-	dobin "${build_dir}/memd"
-	insinto /etc/init
-	doins init/memd.conf
-	insinto /usr/share/policy
-	use seccomp && \
-		newins "init/memd-seccomp-${ARCH}.policy" memd-seccomp.policy
-}
diff --git a/chromeos-base/memd/memd-0.1.0-r221.ebuild b/chromeos-base/memd/memd-0.1.0-r221.ebuild
new file mode 100644
index 0000000..8ecbf7c
--- /dev/null
+++ b/chromeos-base/memd/memd-0.1.0-r221.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("01b50a59e273ec24dbcb97c99f0613495bec8cd2" "60fa47aebd6ebfb702012849bd560717fceddcd4")
+CROS_RUST_SUBDIR="metrics/memd"
+
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} common-mk"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_OUTOFTREE_BUILD=1
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Fine-grain memory metrics collector"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/metrics/memd/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="+seccomp"
+
+DEPEND="chromeos-base/system_api:=
+	sys-apps/dbus:=
+	>=dev-rust/chrono-0.4.2:= <dev-rust/chrono-0.5.0
+	>=dev-rust/dbus-0.6.1:= <dev-rust/dbus-0.7.0
+	=dev-rust/env_logger-0.9*:=
+	>=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0
+	>=dev-rust/log-0.4.5:= <dev-rust/log-0.5.0
+	>=dev-rust/protobuf-2.3:= <dev-rust/protobuf-3.0
+	>=dev-rust/protoc-rust-2.3:= <dev-rust/protoc-rust-3
+	=dev-rust/syslog-6*:=
+	=dev-rust/tempfile-3*:=
+	=dev-rust/time-0.3*:=
+	"
+RDEPEND="sys-apps/dbus"
+
+src_install() {
+	# cargo doesn't know how to install cross-compiled binaries.  It will
+	# always install native binaries for the host system.  Install manually
+	# instead.
+	local build_dir="$(cros-rust_get_build_dir)"
+	dobin "${build_dir}/memd"
+	insinto /etc/init
+	doins init/memd.conf
+	insinto /usr/share/policy
+	use seccomp && \
+		newins "init/memd-seccomp-${ARCH}.policy" memd-seccomp.policy
+}
diff --git a/chromeos-base/memd/memd-9999.ebuild b/chromeos-base/memd/memd-9999.ebuild
index 7383574..f5a959e 100644
--- a/chromeos-base/memd/memd-9999.ebuild
+++ b/chromeos-base/memd/memd-9999.ebuild
@@ -24,14 +24,14 @@
 	sys-apps/dbus:=
 	>=dev-rust/chrono-0.4.2:= <dev-rust/chrono-0.5.0
 	>=dev-rust/dbus-0.6.1:= <dev-rust/dbus-0.7.0
-	=dev-rust/env_logger-0.6*:=
+	=dev-rust/env_logger-0.9*:=
 	>=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0
 	>=dev-rust/log-0.4.5:= <dev-rust/log-0.5.0
 	>=dev-rust/protobuf-2.3:= <dev-rust/protobuf-3.0
 	>=dev-rust/protoc-rust-2.3:= <dev-rust/protoc-rust-3
-	=dev-rust/syslog-4*:=
+	=dev-rust/syslog-6*:=
 	=dev-rust/tempfile-3*:=
-	>=dev-rust/time-0.1.40:= <dev-rust/time-0.2.0
+	=dev-rust/time-0.3*:=
 	"
 RDEPEND="sys-apps/dbus"
 
diff --git a/chromeos-base/mems_setup/files/revision_bump b/chromeos-base/mems_setup/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/mems_setup/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/mems_setup/mems_setup-0.0.1-r411.ebuild b/chromeos-base/mems_setup/mems_setup-0.0.1-r411.ebuild
deleted file mode 100644
index f26ede6..0000000
--- a/chromeos-base/mems_setup/mems_setup-0.0.1-r411.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "bea140d13f7cf1092e4c89a45011c04c28327972" "04d918571ad6d12563589ccf1b8c0e79b65521aa" "c624960a2c8270e05dbfc93b37f1ac2a8f8fa0bd" "f09f4711e5043f57c202260d0214f64c0eab5431" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Remove libmems from this list.
-CROS_WORKON_SUBTREE="common-mk chromeos-config iioservice mems_setup libmems .gn"
-
-PLATFORM_SUBDIR="mems_setup"
-
-inherit cros-workon cros-unibuild platform udev
-
-DESCRIPTION="MEMS Setup for Chromium OS."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/mems_setup"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="fuzzer iioservice"
-
-COMMON_DEPEND="
-	chromeos-base/libmems:=
-	net-libs/libiio:=
-	dev-libs/re2:=
-"
-
-RDEPEND="${COMMON_DEPEND}"
-
-DEPEND="${COMMON_DEPEND}
-	chromeos-base/system_api:="
-
-src_install() {
-	udev_dorules 99-mems_setup.rules
-	dosbin "${OUT}"/mems_setup
-	if use iioservice; then
-		dosbin "${OUT}"/mems_remove
-	fi
-
-	# Install fuzzers
-	local fuzzer_component_id="811602"
-	insinto /usr/libexec/fuzzers
-	for fuzzer in "${OUT}"/*_fuzzer; do
-		platform_fuzzer_install "${S}"/OWNERS "${fuzzer}" \
-				--comp "${fuzzer_component_id}"
-	done
-}
-
-platform_pkg_test() {
-	local tests=(
-		mems_setup_testrunner
-	)
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-}
diff --git a/chromeos-base/mems_setup/mems_setup-0.0.1-r543.ebuild b/chromeos-base/mems_setup/mems_setup-0.0.1-r543.ebuild
new file mode 100644
index 0000000..3ade11b
--- /dev/null
+++ b/chromeos-base/mems_setup/mems_setup-0.0.1-r543.ebuild
@@ -0,0 +1,62 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "527abd7a988a45572305a6c44b5324d0d9cf8be2" "a97bd01dbd0e88c337336d29105ee63b03a4ef9f" "59907d1e2a26ebb55ffe31e1bb4154906a2a8b80" "4d8f590bd987ed599a906fe078fb08b51c7c7f9c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Remove libmems from this list.
+CROS_WORKON_SUBTREE="common-mk chromeos-config iioservice mems_setup libmems .gn"
+
+PLATFORM_SUBDIR="mems_setup"
+
+inherit cros-workon cros-unibuild platform udev
+
+DESCRIPTION="MEMS Setup for Chromium OS."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/mems_setup"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="fuzzer iioservice"
+
+COMMON_DEPEND="
+	chromeos-base/libmems:=
+	net-libs/libiio:=
+	dev-libs/re2:=
+"
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/system_api:="
+
+src_install() {
+	udev_dorules 99-mems_setup.rules
+	dosbin "${OUT}"/mems_setup
+	if use iioservice; then
+		dosbin "${OUT}"/mems_remove
+	fi
+
+	# Install fuzzers
+	local fuzzer_component_id="811602"
+	insinto /usr/libexec/fuzzers
+	for fuzzer in "${OUT}"/*_fuzzer; do
+		platform_fuzzer_install "${S}"/OWNERS "${fuzzer}" \
+				--comp "${fuzzer_component_id}"
+	done
+}
+
+platform_pkg_test() {
+	local tests=(
+		mems_setup_testrunner
+	)
+
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+}
diff --git a/chromeos-base/mems_setup/mems_setup-9999.ebuild b/chromeos-base/mems_setup/mems_setup-9999.ebuild
index 2f4d698..672ff59 100644
--- a/chromeos-base/mems_setup/mems_setup-9999.ebuild
+++ b/chromeos-base/mems_setup/mems_setup-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-workon cros-unibuild platform udev
 
 DESCRIPTION="MEMS Setup for Chromium OS."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/mems_setup"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/mems_setup"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/metrics/files/revision_bump b/chromeos-base/metrics/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/metrics/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/metrics/metrics-0.0.1-r3368.ebuild b/chromeos-base/metrics/metrics-0.0.1-r3368.ebuild
deleted file mode 100644
index d03efd9..0000000
--- a/chromeos-base/metrics/metrics-0.0.1-r3368.ebuild
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "4a0dedab080195bdc122d2289118df4af3ddca2c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_SUBTREE="common-mk metrics .gn"
-
-PLATFORM_SUBDIR="metrics"
-
-inherit cros-constants cros-workon libchrome-version platform tmpfiles systemd user
-
-DESCRIPTION="Metrics aggregation service for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/metrics/"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="fuzzer metrics_uploader +passive_metrics systemd"
-
-COMMON_DEPEND="
-	dev-libs/protobuf:=
-	dev-libs/re2:=
-	sys-apps/rootdev:=
-	"
-
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/session_manager-client:=
-	chromeos-base/system_api:=[fuzzer?]
-	chromeos-base/vboot_reference:=
-	"
-
-src_install() {
-	dobin "${OUT}"/metrics_client
-	dobin "${OUT}"/chromeos-pgmem
-
-	if use passive_metrics; then
-		dobin "${OUT}"/metrics_daemon
-		if use systemd; then
-			systemd_dounit init/metrics-daemon.service
-			systemd_enable_service multi-user.target metrics-daemon.service
-			systemd_dotmpfilesd init/metrics.conf
-		else
-			dotmpfiles tmpfiles.d/metrics_daemon_dirs.conf
-			insinto /etc/init
-			doins init/metrics_library.conf init/metrics_daemon.conf
-		fi
-
-		if use metrics_uploader; then
-			if use systemd; then
-				sed -i '/ExecStart=/s:metrics_daemon:metrics_daemon -uploader:' \
-					"${D}"/usr/lib/systemd/system/metrics-daemon.service || die
-			else
-				sed -i '/DAEMON_FLAGS=/s:=.*:="-uploader":' \
-					"${D}"/etc/init/metrics_daemon.conf || die
-			fi
-		fi
-	fi
-
-	local daemon_store="/etc/daemon-store/uma-consent"
-	dodir "${daemon_store}"
-	fperms 0774 "${daemon_store}"
-	fowners chronos:chronos-access "${daemon_store}"
-
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	local v="$(libchrome_ver)"
-	./platform2_preinstall.sh "${OUT}" "${v}"
-	dolib.so "${OUT}/lib/libmetrics.so"
-	doins "${OUT}/lib/libmetrics.pc"
-	dolib.so "${OUT}/lib/libstructuredmetrics.so"
-
-	dotmpfiles tmpfiles.d/structured_metrics.conf
-
-	insinto /usr/include/metrics
-	doins c_metrics_library.h \
-		cumulative_metrics.h \
-		metrics_library{,_mock}.h \
-		persistent_integer.h \
-		structured/c_structured_metrics.h \
-		timer{,_mock}.h \
-		"${OUT}"/gen/include/metrics/structured/structured_events.h
-
-	# Install the protobuf so that autotests can have access to it.
-	insinto /usr/include/metrics/proto
-	doins uploader/proto/*.proto
-
-	local fuzzer_component_id="1087262"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/metrics_library_consent_id_fuzzer \
-		--comp "${fuzzer_component_id}"
-	platform_fuzzer_install "${S}"/OWNERS \
-		"${OUT}"/metrics_serialization_utils_fuzzer \
-		--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	local tests=(
-		cumulative_metrics_test
-		metrics_library_test
-		$(usex passive_metrics 'metrics_daemon_test' '')
-		persistent_integer_test
-		process_meter_test
-		timer_test
-		upload_service_test
-	)
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-}
-
-pkg_preinst() {
-	enewuser metrics
-	enewgroup metrics
-}
diff --git a/chromeos-base/metrics/metrics-0.0.1-r3468.ebuild b/chromeos-base/metrics/metrics-0.0.1-r3468.ebuild
new file mode 100644
index 0000000..fa43c5b
--- /dev/null
+++ b/chromeos-base/metrics/metrics-0.0.1-r3468.ebuild
@@ -0,0 +1,133 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk metrics .gn"
+
+PLATFORM_SUBDIR="metrics"
+
+inherit cros-constants cros-workon platform tmpfiles systemd user
+
+DESCRIPTION="Metrics aggregation service for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/metrics/"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="fuzzer metrics_uploader +passive_metrics systemd"
+
+COMMON_DEPEND="
+	dev-libs/protobuf:=
+	dev-libs/re2:=
+	sys-apps/rootdev:=
+	"
+
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/session_manager-client:=
+	chromeos-base/system_api:=[fuzzer?]
+	chromeos-base/vboot_reference:=
+	"
+
+src_install() {
+	platform_src_install
+
+	dobin "${OUT}"/metrics_client
+	dobin "${OUT}"/chromeos-pgmem
+
+	if use passive_metrics; then
+		dobin "${OUT}"/metrics_daemon
+		if use systemd; then
+			systemd_dounit init/metrics-daemon.service
+			systemd_enable_service multi-user.target metrics-daemon.service
+			systemd_dotmpfilesd init/metrics.conf
+		else
+			dotmpfiles tmpfiles.d/metrics_daemon_dirs.conf
+			insinto /etc/init
+			doins init/metrics_library.conf init/metrics_daemon.conf
+		fi
+
+		if use metrics_uploader; then
+			if use systemd; then
+				sed -i '/ExecStart=/s:metrics_daemon:metrics_daemon -uploader:' \
+					"${D}"/usr/lib/systemd/system/metrics-daemon.service || die
+			else
+				sed -i '/DAEMON_FLAGS=/s:=.*:="-uploader":' \
+					"${D}"/etc/init/metrics_daemon.conf || die
+			fi
+		fi
+	fi
+
+	local daemon_store="/etc/daemon-store/uma-consent"
+	dodir "${daemon_store}"
+	fperms 0774 "${daemon_store}"
+	fowners chronos:chronos-access "${daemon_store}"
+
+	local appsync_daemon_store="/etc/daemon-store/appsync-consent"
+	dodir "${appsync_daemon_store}"
+	fperms 0774 "${appsync_daemon_store}"
+	fowners chronos:chronos-access "${appsync_daemon_store}"
+
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	dolib.so "${OUT}/lib/libmetrics.so"
+	doins "${S}/libmetrics.pc"
+	dolib.so "${OUT}/lib/libstructuredmetrics.so"
+	doins "${OUT}"/obj/metrics/structured/libstructuredmetrics.pc
+
+	dotmpfiles tmpfiles.d/structured_metrics.conf
+
+	insinto /usr/include/metrics
+	doins c_metrics_library.h \
+		cumulative_metrics.h \
+		metrics_library{,_mock}.h \
+		persistent_integer.h \
+		structured/c_structured_metrics.h \
+		timer{,_mock}.h \
+		"${OUT}"/gen/include/metrics/structured/structured_events.h
+
+	insinto /usr/include/metrics/structured
+	doins structured/event_base.h
+
+	insinto /usr/include/metrics/structured/proto
+	doins "${OUT}"/gen/include/metrics/structured/proto/storage.pb.h \
+		"${OUT}"/gen/include/metrics/structured/proto/structured_data.pb.h
+
+	# Install the protobuf so that autotests can have access to it.
+	insinto /usr/include/metrics/proto
+	doins uploader/proto/*.proto
+
+	local fuzzer_component_id="1087262"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/metrics_library_consent_id_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS \
+		"${OUT}"/metrics_serialization_utils_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	local tests=(
+		cumulative_metrics_test
+		metrics_library_test
+		$(usex passive_metrics 'metrics_daemon_test' '')
+		persistent_integer_test
+		process_meter_test
+		timer_test
+		upload_service_test
+	)
+
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+}
+
+pkg_preinst() {
+	enewuser metrics
+	enewgroup metrics
+}
diff --git a/chromeos-base/metrics/metrics-9999.ebuild b/chromeos-base/metrics/metrics-9999.ebuild
index 7dddc7a..43a4272 100644
--- a/chromeos-base/metrics/metrics-9999.ebuild
+++ b/chromeos-base/metrics/metrics-9999.ebuild
@@ -11,10 +11,10 @@
 
 PLATFORM_SUBDIR="metrics"
 
-inherit cros-constants cros-workon libchrome-version platform tmpfiles systemd user
+inherit cros-constants cros-workon platform tmpfiles systemd user
 
 DESCRIPTION="Metrics aggregation service for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/metrics/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/metrics/"
 LICENSE="BSD-Google"
 KEYWORDS="~*"
 IUSE="fuzzer metrics_uploader +passive_metrics systemd"
@@ -34,6 +34,8 @@
 	"
 
 src_install() {
+	platform_src_install
+
 	dobin "${OUT}"/metrics_client
 	dobin "${OUT}"/chromeos-pgmem
 
@@ -65,12 +67,16 @@
 	fperms 0774 "${daemon_store}"
 	fowners chronos:chronos-access "${daemon_store}"
 
+	local appsync_daemon_store="/etc/daemon-store/appsync-consent"
+	dodir "${appsync_daemon_store}"
+	fperms 0774 "${appsync_daemon_store}"
+	fowners chronos:chronos-access "${appsync_daemon_store}"
+
 	insinto "/usr/$(get_libdir)/pkgconfig"
-	local v="$(libchrome_ver)"
-	./platform2_preinstall.sh "${OUT}" "${v}"
 	dolib.so "${OUT}/lib/libmetrics.so"
-	doins "${OUT}/lib/libmetrics.pc"
+	doins "${S}/libmetrics.pc"
 	dolib.so "${OUT}/lib/libstructuredmetrics.so"
+	doins "${OUT}"/obj/metrics/structured/libstructuredmetrics.pc
 
 	dotmpfiles tmpfiles.d/structured_metrics.conf
 
@@ -83,6 +89,13 @@
 		timer{,_mock}.h \
 		"${OUT}"/gen/include/metrics/structured/structured_events.h
 
+	insinto /usr/include/metrics/structured
+	doins structured/event_base.h
+
+	insinto /usr/include/metrics/structured/proto
+	doins "${OUT}"/gen/include/metrics/structured/proto/storage.pb.h \
+		"${OUT}"/gen/include/metrics/structured/proto/structured_data.pb.h
+
 	# Install the protobuf so that autotests can have access to it.
 	insinto /usr/include/metrics/proto
 	doins uploader/proto/*.proto
diff --git a/chromeos-base/midis/files/revision_bump b/chromeos-base/midis/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/midis/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/midis/midis-0.0.1-r1230.ebuild b/chromeos-base/midis/midis-0.0.1-r1230.ebuild
deleted file mode 100644
index 8ec0953..0000000
--- a/chromeos-base/midis/midis-0.0.1-r1230.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT=("f35f2919309cf11b0ddd9deb24a6b145d40d9254" "77cc36d72b2a07ce056c6dc57290b2e094db7931")
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "1dc86efdcfdaf1aa0f9cbaf949d36e5901dc6513" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4baf7cba90f916c94dd07c5746355f65e2ee0d8e")
-CROS_WORKON_LOCALNAME=(
-	"platform2"
-	"chromium/src/media/midi"
-)
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform2"
-	"chromium/src/media/midi"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}/platform2"
-	"${S}/platform2/media/midi"
-)
-CROS_WORKON_EGIT_BRANCH="main"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE=(
-	"common-mk midis .gn"
-	""
-)
-
-PLATFORM_SUBDIR="midis"
-
-inherit cros-workon platform user
-
-DESCRIPTION="MIDI Server for Chromium OS"
-HOMEPAGE=""
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="+seccomp asan fuzzer"
-
-COMMON_DEPEND="
-	media-libs/alsa-lib:=
-	chromeos-base/libbrillo:=[asan?,fuzzer?]
-"
-
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}"
-
-src_install() {
-	platform_install
-
-	# fuzzer_component_id is unknown/unlisted
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/midis_seq_handler_fuzzer
-}
-
-pkg_preinst() {
-	enewuser midis
-	enewgroup midis
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/midis/midis-0.0.1-r1290.ebuild b/chromeos-base/midis/midis-0.0.1-r1290.ebuild
new file mode 100644
index 0000000..a82f4e9
--- /dev/null
+++ b/chromeos-base/midis/midis-0.0.1-r1290.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT=("dbb1136242ba822d539eaf11493f3b68815adb7f" "77cc36d72b2a07ce056c6dc57290b2e094db7931")
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "31231d9b91954e1332b0c70e98f518eed9f27186" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4baf7cba90f916c94dd07c5746355f65e2ee0d8e")
+CROS_WORKON_LOCALNAME=(
+	"platform2"
+	"chromium/src/media/midi"
+)
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform2"
+	"chromium/src/media/midi"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}/platform2"
+	"${S}/platform2/media/midi"
+)
+CROS_WORKON_EGIT_BRANCH="main"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE=(
+	"common-mk midis .gn"
+	""
+)
+
+PLATFORM_SUBDIR="midis"
+
+inherit cros-workon platform user
+
+DESCRIPTION="MIDI Server for Chromium OS"
+HOMEPAGE=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="+seccomp asan fuzzer"
+
+COMMON_DEPEND="
+	media-libs/alsa-lib:=
+	chromeos-base/libbrillo:=[asan?,fuzzer?]
+"
+
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}"
+
+src_install() {
+	platform_install
+
+	# fuzzer_component_id is unknown/unlisted
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/midis_seq_handler_fuzzer
+}
+
+pkg_preinst() {
+	enewuser midis
+	enewgroup midis
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/minijail/OWNERS b/chromeos-base/minijail/OWNERS
new file mode 100644
index 0000000..c4ae2ff
--- /dev/null
+++ b/chromeos-base/minijail/OWNERS
@@ -0,0 +1 @@
+include aosp/platform/external/minijail:upstream:/OWNERS_GENERAL
diff --git a/chromeos-base/minijail/files/chromeos-version.sh b/chromeos-base/minijail/files/chromeos-version.sh
deleted file mode 100755
index e289018..0000000
--- a/chromeos-base/minijail/files/chromeos-version.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# Look at the set of minijail tags (ignore Android ones) and grab the latest.
-git --git-dir="$1/.git" tag --list 'linux-v*' | \
-  sed 's:^linux-v::' | \
-  sort -V | \
-  tail -n1
diff --git a/chromeos-base/minijail/minijail-17-r28.ebuild b/chromeos-base/minijail/minijail-17-r28.ebuild
deleted file mode 100644
index 04468da..0000000
--- a/chromeos-base/minijail/minijail-17-r28.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="138761fdcc8c2c074bef7700e39b47b44cc5bcc0"
-CROS_WORKON_TREE="aafa68f31c18627726261f3af23594488e94aaba"
-inherit cros-constants
-
-CROS_WORKON_MANUAL_UPREV=1
-CROS_WORKON_LOCALNAME="aosp/external/minijail"
-CROS_WORKON_PROJECT="platform/external/minijail"
-CROS_WORKON_EGIT_BRANCH="master"
-CROS_WORKON_REPO="${CROS_GIT_AOSP_URL}"
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-# TODO(crbug.com/689060): Re-enable on ARM.
-CROS_COMMON_MK_NATIVE_TEST="yes"
-
-DISTUTILS_OPTIONAL=1
-DISTUTILS_SINGLE_IMPL=1
-
-inherit cros-debug cros-sanitizers cros-workon cros-common.mk toolchain-funcs distutils-r1
-
-DESCRIPTION="helper binary and library for sandboxing & restricting privs of services"
-HOMEPAGE="https://android.googlesource.com/platform/external/minijail"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="asan cros-debug default-ret-log +seccomp test"
-
-REQUIRED_USE="default-ret-log? ( cros-debug )"
-
-COMMON_DEPEND="sys-libs/libcap:=
-	!<chromeos-base/chromeos-minijail-1"
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}
-	cros_host? (
-		${PYTHON_DEPS}
-		$(python_gen_cond_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
-	)
-	test? (
-		dev-cpp/gtest:=
-	)"
-
-src_configure() {
-	sanitizers-setup-env
-	cros-common.mk_src_configure
-	export LIBDIR="/$(get_libdir)"
-	export USE_seccomp=$(usex seccomp)
-	export ALLOW_DEBUG_LOGGING=$(usex cros-debug)
-	export SECCOMP_DEFAULT_RET_LOG=$(usex default-ret-log)
-	export USE_SYSTEM_GTEST=yes
-	export DEFAULT_PIVOT_ROOT=/mnt/empty
-}
-
-# Use qemu-user to run the platform-specific dump_constants binary in order to
-# generate constants.json.
-generate_constants_json() {
-	local cmd
-	case "${ARCH}" in
-	x86)   cmd=( "${OUT}"/dump_constants ) ;;
-	amd64) cmd=( "${WORKDIR}"/sdk/dump_constants ) ;;
-	arm)   cmd=( qemu-arm "${OUT}"/dump_constants ) ;;
-	arm64) cmd=( qemu-aarch64 "${OUT}"/dump_constants ) ;;
-	*) die "Unsupported architecture in generate_constants_json(): ${ARCH}."
-	esac
-	echo "+" "${cmd[@]}" ">${OUT}/constants.json"
-	"${cmd[@]}" >"${OUT}"/constants.json || die
-}
-
-src_compile() {
-	# Avoid confusing people with our docs.
-	sed -i "s:/var/empty:${DEFAULT_PIVOT_ROOT}:g" minijail0.[15] || die
-
-	local minijail_targets=( all )
-
-	# We need to generate & run dump_constants.  Intel/AMD targets often use newer
-	# ISAs than our build systems & QEMU supports.  The constants care about kernel
-	# headers (for the most part), and our build keeps SDK & board headers in sync,
-	# so using the SDK compiler here should be safe for our needs.
-	if ! use cros_host; then
-		if use amd64; then
-			tc-env_build emake OUT="${WORKDIR}/sdk" dump_constants
-		else
-			minijail_targets+=( dump_constants )
-		fi
-	fi
-
-	cros-common.mk_src_compile "${minijail_targets[@]}"
-	if use cros_host ; then
-		BUILD_DIR="${OUT}" distutils-r1_python_compile
-	else
-		generate_constants_json
-	fi
-}
-
-src_install() {
-	into /
-	dosbin "${OUT}"/minijail0
-	dolib.so "${OUT}"/libminijail{,preload}.so
-
-	doman minijail0.[15]
-
-	if use cros_host ; then
-		distutils-r1_python_install
-	else
-		insinto /build/share
-		doins "${OUT}"/constants.json
-	fi
-
-	local include_dir="/usr/include/chromeos"
-
-	"${S}"/platform2_preinstall.sh "${PV}" "${include_dir}"
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	doins libminijail.pc
-
-	insinto "${include_dir}"
-	doins libminijail.h
-	doins scoped_minijail.h
-}
diff --git a/chromeos-base/minijail/minijail-18-r12.ebuild b/chromeos-base/minijail/minijail-18-r12.ebuild
new file mode 100644
index 0000000..82ec095
--- /dev/null
+++ b/chromeos-base/minijail/minijail-18-r12.ebuild
@@ -0,0 +1,120 @@
+# Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b5464b7ce00d13209504968a1161c94fe61da9d6"
+CROS_WORKON_TREE="2c7fbae3490573a0292d6a29b44f767f217685ea"
+inherit cros-constants
+
+CROS_WORKON_LOCALNAME="../platform/minijail"
+CROS_WORKON_PROJECT="chromiumos/platform/minijail"
+CROS_WORKON_EGIT_BRANCH="main"
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+# TODO(crbug.com/689060): Re-enable on ARM.
+CROS_COMMON_MK_NATIVE_TEST="yes"
+
+DISTUTILS_OPTIONAL=1
+DISTUTILS_SINGLE_IMPL=1
+
+inherit cros-debug cros-sanitizers cros-workon cros-common.mk toolchain-funcs distutils-r1
+
+DESCRIPTION="helper binary and library for sandboxing & restricting privs of services"
+HOMEPAGE="https://google.github.io/minijail/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="asan cros-debug default-ret-log +seccomp test"
+
+REQUIRED_USE="default-ret-log? ( cros-debug )"
+
+COMMON_DEPEND="sys-libs/libcap:=
+	!<chromeos-base/chromeos-minijail-1"
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}
+	cros_host? (
+		${PYTHON_DEPS}
+		$(python_gen_cond_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
+	)
+	test? (
+		dev-cpp/gtest:=
+	)"
+
+src_configure() {
+	sanitizers-setup-env
+	cros-common.mk_src_configure
+	export LIBDIR="/$(get_libdir)"
+	export USE_seccomp=$(usex seccomp)
+	export ALLOW_DEBUG_LOGGING=$(usex cros-debug)
+	export SECCOMP_DEFAULT_RET_LOG=$(usex default-ret-log)
+	export USE_SYSTEM_GTEST=yes
+	export DEFAULT_PIVOT_ROOT=/mnt/empty
+}
+
+# Use qemu-user to run the platform-specific dump_constants binary in order to
+# generate constants.json.
+generate_constants_json() {
+	local cmd
+	case "${ARCH}" in
+	x86)   cmd=( "${OUT}"/dump_constants ) ;;
+	amd64) cmd=( "${WORKDIR}"/sdk/dump_constants ) ;;
+	arm)   cmd=( qemu-arm "${OUT}"/dump_constants ) ;;
+	arm64) cmd=( qemu-aarch64 "${OUT}"/dump_constants ) ;;
+	*) die "Unsupported architecture in generate_constants_json(): ${ARCH}."
+	esac
+	echo "+" "${cmd[@]}" ">${OUT}/constants.json"
+	"${cmd[@]}" >"${OUT}"/constants.json || die
+}
+
+src_compile() {
+	# Avoid confusing people with our docs.
+	sed -i "s:/var/empty:${DEFAULT_PIVOT_ROOT}:g" minijail0.[15] || die
+
+	local minijail_targets=( all )
+
+	# We need to generate & run dump_constants.  Intel/AMD targets often use newer
+	# ISAs than our build systems & QEMU supports.  The constants care about kernel
+	# headers (for the most part), and our build keeps SDK & board headers in sync,
+	# so using the SDK compiler here should be safe for our needs.
+	if ! use cros_host; then
+		if use amd64; then
+			tc-env_build emake OUT="${WORKDIR}/sdk" dump_constants
+		else
+			minijail_targets+=( dump_constants )
+		fi
+	fi
+
+	cros-common.mk_src_compile "${minijail_targets[@]}"
+	if use cros_host ; then
+		BUILD_DIR="${OUT}" distutils-r1_python_compile
+	else
+		generate_constants_json
+	fi
+}
+
+src_install() {
+	into /
+	dosbin "${OUT}"/minijail0
+	dolib.so "${OUT}"/libminijail{,preload}.so
+
+	doman minijail0.[15]
+
+	if use cros_host ; then
+		distutils-r1_python_install
+	else
+		insinto /build/share
+		doins "${OUT}"/constants.json
+	fi
+
+	local include_dir="/usr/include/chromeos"
+
+	"${S}"/platform2_preinstall.sh "${PV}" "${include_dir}"
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins libminijail.pc
+
+	insinto "${include_dir}"
+	doins libminijail.h
+	doins scoped_minijail.h
+}
diff --git a/chromeos-base/minijail/minijail-9999.ebuild b/chromeos-base/minijail/minijail-9999.ebuild
index b3d1634..817b045 100644
--- a/chromeos-base/minijail/minijail-9999.ebuild
+++ b/chromeos-base/minijail/minijail-9999.ebuild
@@ -5,13 +5,11 @@
 
 inherit cros-constants
 
-CROS_WORKON_MANUAL_UPREV=1
-CROS_WORKON_LOCALNAME="aosp/external/minijail"
-CROS_WORKON_PROJECT="platform/external/minijail"
-CROS_WORKON_EGIT_BRANCH="master"
-CROS_WORKON_REPO="${CROS_GIT_AOSP_URL}"
+CROS_WORKON_LOCALNAME="../platform/minijail"
+CROS_WORKON_PROJECT="chromiumos/platform/minijail"
+CROS_WORKON_EGIT_BRANCH="main"
 
-PYTHON_COMPAT=( python3_{6,7} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 # TODO(crbug.com/689060): Re-enable on ARM.
 CROS_COMMON_MK_NATIVE_TEST="yes"
@@ -22,7 +20,7 @@
 inherit cros-debug cros-sanitizers cros-workon cros-common.mk toolchain-funcs distutils-r1
 
 DESCRIPTION="helper binary and library for sandboxing & restricting privs of services"
-HOMEPAGE="https://android.googlesource.com/platform/external/minijail"
+HOMEPAGE="https://google.github.io/minijail/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/minios/files/revision_bump b/chromeos-base/minios/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/minios/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/minios/minios-0.0.1-r186.ebuild b/chromeos-base/minios/minios-0.0.1-r186.ebuild
deleted file mode 100644
index c371d07..0000000
--- a/chromeos-base/minios/minios-0.0.1-r186.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "4a0dedab080195bdc122d2289118df4af3ddca2c" "2666aac28fb7f5fda601ac383ea8a1a97b6a0142" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk metrics minios .gn"
-
-PLATFORM_SUBDIR="minios"
-
-inherit cros-workon platform
-
-DESCRIPTION="The miniOS main logic."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/minios/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="minios"
-REQUIRED_USE="minios"
-
-COMMON_DEPEND="
-	chromeos-base/metrics:=
-	chromeos-base/shill-client:=
-	chromeos-base/update_engine-client:=
-	x11-libs/libxkbcommon:=
-	x11-misc/xkeyboard-config:=
-"
-
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}
-	chromeos-base/system_api:="
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/minios_test"
-}
-
-src_install() {
-	into "/build/initramfs"
-	dobin "${OUT}/minios"
-	dobin "${OUT}/minios_client"
-	dobin scripts/root_partition_for_recovery
-	dobin scripts/stateful_partition_for_recovery
-
-	# D-Bus configuration
-	insinto "/build/initramfs/etc/dbus-1/system.d"
-	doins org.chromium.MiniOs.conf
-	insinto "/build/initramfs/"
-	doins -r ramfs/*
-}
diff --git a/chromeos-base/minios/minios-0.0.1-r295.ebuild b/chromeos-base/minios/minios-0.0.1-r295.ebuild
new file mode 100644
index 0000000..8778d53
--- /dev/null
+++ b/chromeos-base/minios/minios-0.0.1-r295.ebuild
@@ -0,0 +1,70 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "267f4c31778cc992ff3cbbff6a8147c24cad8a2c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk metrics minios .gn"
+
+PLATFORM_SUBDIR="minios"
+
+inherit cros-workon platform
+
+DESCRIPTION="The miniOS main logic."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/minios/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="
+	lvm_stateful_partition
+	minios
+"
+REQUIRED_USE="minios"
+
+COMMON_DEPEND="
+	chromeos-base/metrics:=
+	chromeos-base/shill-client:=
+	chromeos-base/update_engine-client:=
+	x11-libs/libxkbcommon:=
+	x11-misc/xkeyboard-config:=
+"
+
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/system_api:=
+	chromeos-base/vboot_reference:=
+"
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/minios_test"
+}
+
+src_install() {
+	platform_src_install
+
+	into "/build/initramfs"
+	dobin "${OUT}/minios"
+	dobin "${OUT}/minios_client"
+	dobin scripts/root_partition_for_recovery
+	dobin scripts/stateful_partition_for_recovery
+
+	if use lvm_stateful_partition; then
+		# shellcheck disable=SC2016
+		# Replace lvm_stateful flag in stateful_partition_for_recovery to true.
+		sed -i \
+			'/DEFINE_boolean lvm_stateful "/s:\${FLAGS_FALSE}:\${FLAGS_TRUE}:' \
+			"${D}/build/initramfs/bin/stateful_partition_for_recovery" ||
+			die "Failed to set lvm_stateful in stateful_partition_for_recovery"
+	fi
+
+	# D-Bus configuration
+	insinto "/build/initramfs/etc/dbus-1/system.d"
+	doins org.chromium.MiniOs.conf
+	insinto "/build/initramfs/"
+	doins -r ramfs/*
+}
diff --git a/chromeos-base/minios/minios-9999.ebuild b/chromeos-base/minios/minios-9999.ebuild
index 004a09b..a04a91c 100644
--- a/chromeos-base/minios/minios-9999.ebuild
+++ b/chromeos-base/minios/minios-9999.ebuild
@@ -18,7 +18,10 @@
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
-IUSE="minios"
+IUSE="
+	lvm_stateful_partition
+	minios
+"
 REQUIRED_USE="minios"
 
 COMMON_DEPEND="
@@ -31,19 +34,32 @@
 
 RDEPEND="${COMMON_DEPEND}"
 DEPEND="${COMMON_DEPEND}
-	chromeos-base/system_api:="
+	chromeos-base/system_api:=
+	chromeos-base/vboot_reference:=
+"
 
 platform_pkg_test() {
 	platform_test "run" "${OUT}/minios_test"
 }
 
 src_install() {
+	platform_src_install
+
 	into "/build/initramfs"
 	dobin "${OUT}/minios"
 	dobin "${OUT}/minios_client"
 	dobin scripts/root_partition_for_recovery
 	dobin scripts/stateful_partition_for_recovery
 
+	if use lvm_stateful_partition; then
+		# shellcheck disable=SC2016
+		# Replace lvm_stateful flag in stateful_partition_for_recovery to true.
+		sed -i \
+			'/DEFINE_boolean lvm_stateful "/s:\${FLAGS_FALSE}:\${FLAGS_TRUE}:' \
+			"${D}/build/initramfs/bin/stateful_partition_for_recovery" ||
+			die "Failed to set lvm_stateful in stateful_partition_for_recovery"
+	fi
+
 	# D-Bus configuration
 	insinto "/build/initramfs/etc/dbus-1/system.d"
 	doins org.chromium.MiniOs.conf
diff --git a/chromeos-base/missive/files/revision_bump b/chromeos-base/missive/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/missive/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/missive/missive-0.0.1-r173.ebuild b/chromeos-base/missive/missive-0.0.1-r173.ebuild
deleted file mode 100644
index 94f2446..0000000
--- a/chromeos-base/missive/missive-0.0.1-r173.ebuild
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "681110dc099a5f8294c98964bbb8d664be4e73b6" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_SUBTREE="common-mk missive .gn"
-
-PLATFORM_SUBDIR="missive"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Daemon to encrypt, store, and forward reporting events for managed devices."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/missive/"
-
-LICENSE="BSD-Google"
-SLOT=0/0
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="
-	app-arch/snappy
-	chromeos-base/minijail:=
-	dev-libs/protobuf:=
-"
-
-DEPEND="
-	${RDEPEND}
-	chromeos-base/system_api:=
-"
-
-pkg_preinst() {
-	enewuser missived
-	enewgroup missived
-}
-
-src_install() {
-	# Installs the client libraries
-	dolib.a "${OUT}/libmissiveclientlib.a"
-	dolib.a "${OUT}/libmissiveprotostatus.a"
-	dolib.a "${OUT}/libmissiveprotorecordconstants.a"
-	dolib.a "${OUT}/libmissiveprotorecord.a"
-	dolib.a "${OUT}/libmissiveprotointerface.a"
-
-	# Installs the header files to /usr/include/missive/.
-	local header_files=(
-		"client/missive_client.h"
-		"client/report_queue_configuration.h"
-		"client/report_queue_factory.h"
-		"client/report_queue.h"
-		"util/status.h"
-		"util/status_macros.h"
-		"util/statusor.h"
-	)
-	local pd_header_files=(
-		"${OUT}/gen/include/missive/proto/record_constants.pb.h"
-		"${OUT}/gen/include/missive/proto/record.pb.h"
-		"${OUT}/gen/include/missive/proto/status.pb.h"
-	)
-	local f
-	for f in "${header_files[@]}"; do
-		insinto "/usr/include/missive/${f%/*}"
-		doins "${f}"
-	done
-	for f in "${pd_header_files[@]}"; do
-		insinto "/usr/include/missive/proto"
-		doins "${f}"
-	done
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	doins "${OUT}/obj/missive/libmissiveclient.pc"
-
-	# Install binary
-	dobin "${OUT}"/missived
-
-	# Install upstart configurations
-	insinto /etc/init
-	doins init/missived.conf
-
-	# TODO(zatrudo): Generate at end of devleopment before release.
-	# Install seccomp policy file.
-	#insinto /usr/share/policy
-	#newins "seccomp/missived-seccomp-${ARCH}.policy" missived-seccomp.policy
-
-	# Install D-Bus configuration file.
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.Missived.conf
-
-	# Install D-Bus service activation configuration.
-	insinto /usr/share/dbus-1/system-services
-	doins dbus/org.chromium.Missived.service
-
-	# Install rsyslog config.
-	# TODO(zatrudo): Determine if logs from this daemon should be redirected.
-	#insinto /etc/rsyslog.d
-	#doins rsyslog/rsyslog.missived.conf
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/missived_testrunner"
-}
diff --git a/chromeos-base/missive/missive-0.0.1-r300.ebuild b/chromeos-base/missive/missive-0.0.1-r300.ebuild
new file mode 100644
index 0000000..c99c7b6
--- /dev/null
+++ b/chromeos-base/missive/missive-0.0.1-r300.ebuild
@@ -0,0 +1,114 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "193c9f869b11ef9acebdda75fc70f0f0e79c54ee" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk missive .gn"
+
+PLATFORM_SUBDIR="missive"
+
+inherit cros-workon platform tmpfiles user
+
+DESCRIPTION="Daemon to encrypt, store, and forward reporting events for managed devices."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/missive/"
+
+LICENSE="BSD-Google"
+SLOT=0/0
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="
+	app-arch/snappy
+	chromeos-base/metrics:=
+	chromeos-base/minijail:=
+	dev-libs/protobuf:=
+"
+
+DEPEND="
+	${RDEPEND}
+	chromeos-base/system_api:=
+"
+
+pkg_preinst() {
+	enewuser missived
+	enewgroup missived
+	enewgroup missived_senders
+}
+
+src_install() {
+	# Installs the client libraries
+	dolib.a "${OUT}/libmissiveclientlib.a"
+	dolib.a "${OUT}/libmissiveprotohealth.a"
+	dolib.a "${OUT}/libmissiveprotointerface.a"
+	dolib.a "${OUT}/libmissiveprotorecord.a"
+	dolib.a "${OUT}/libmissiveprotorecordconstants.a"
+	dolib.a "${OUT}/libmissiveprotosecurityevents.a"
+	dolib.a "${OUT}/libmissiveprotostatus.a"
+
+	# Installs the header files to /usr/include/missive/.
+	local header_files=(
+		"client/missive_client.h"
+		"client/report_queue_configuration.h"
+		"client/report_queue_factory.h"
+		"client/report_queue.h"
+		"util/status.h"
+		"util/status_macros.h"
+		"util/statusor.h"
+	)
+	local pd_header_files=(
+		"${OUT}/gen/include/missive/proto/health.pb.h"
+		"${OUT}/gen/include/missive/proto/record.pb.h"
+		"${OUT}/gen/include/missive/proto/record_constants.pb.h"
+		"${OUT}/gen/include/missive/proto/security_events.pb.h"
+		"${OUT}/gen/include/missive/proto/status.pb.h"
+	)
+	local f
+	for f in "${header_files[@]}"; do
+		insinto "/usr/include/missive/${f%/*}"
+		doins "${f}"
+	done
+	for f in "${pd_header_files[@]}"; do
+		insinto "/usr/include/missive/proto"
+		doins "${f}"
+	done
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins "${OUT}/obj/missive/libmissiveclient.pc"
+
+	# Install binary
+	dobin "${OUT}"/missived
+
+	# Install upstart configurations
+	insinto /etc/init
+	doins init/missived.conf
+
+	# Install tmpfiles
+	dotmpfiles tmpfiles.d/missived.conf
+
+	# TODO(zatrudo): Generate at end of devleopment before release.
+	# Install seccomp policy file.
+	#insinto /usr/share/policy
+	#newins "seccomp/missived-seccomp-${ARCH}.policy" missived-seccomp.policy
+
+	# Install D-Bus configuration file.
+	insinto /etc/dbus-1/system.d
+	doins dbus/org.chromium.Missived.conf
+
+	# Install D-Bus service activation configuration.
+	insinto /usr/share/dbus-1/system-services
+	doins dbus/org.chromium.Missived.service
+
+	# Install rsyslog config.
+	# TODO(zatrudo): Determine if logs from this daemon should be redirected.
+	#insinto /etc/rsyslog.d
+	#doins rsyslog/rsyslog.missived.conf
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/missived_testrunner"
+}
diff --git a/chromeos-base/missive/missive-9999.ebuild b/chromeos-base/missive/missive-9999.ebuild
index d82bc96..ce38fd4 100644
--- a/chromeos-base/missive/missive-9999.ebuild
+++ b/chromeos-base/missive/missive-9999.ebuild
@@ -11,7 +11,7 @@
 
 PLATFORM_SUBDIR="missive"
 
-inherit cros-workon platform user
+inherit cros-workon platform tmpfiles user
 
 DESCRIPTION="Daemon to encrypt, store, and forward reporting events for managed devices."
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/missive/"
@@ -23,6 +23,7 @@
 
 RDEPEND="
 	app-arch/snappy
+	chromeos-base/metrics:=
 	chromeos-base/minijail:=
 	dev-libs/protobuf:=
 "
@@ -35,15 +36,18 @@
 pkg_preinst() {
 	enewuser missived
 	enewgroup missived
+	enewgroup missived_senders
 }
 
 src_install() {
 	# Installs the client libraries
 	dolib.a "${OUT}/libmissiveclientlib.a"
-	dolib.a "${OUT}/libmissiveprotostatus.a"
-	dolib.a "${OUT}/libmissiveprotorecordconstants.a"
-	dolib.a "${OUT}/libmissiveprotorecord.a"
+	dolib.a "${OUT}/libmissiveprotohealth.a"
 	dolib.a "${OUT}/libmissiveprotointerface.a"
+	dolib.a "${OUT}/libmissiveprotorecord.a"
+	dolib.a "${OUT}/libmissiveprotorecordconstants.a"
+	dolib.a "${OUT}/libmissiveprotosecurityevents.a"
+	dolib.a "${OUT}/libmissiveprotostatus.a"
 
 	# Installs the header files to /usr/include/missive/.
 	local header_files=(
@@ -56,8 +60,10 @@
 		"util/statusor.h"
 	)
 	local pd_header_files=(
-		"${OUT}/gen/include/missive/proto/record_constants.pb.h"
+		"${OUT}/gen/include/missive/proto/health.pb.h"
 		"${OUT}/gen/include/missive/proto/record.pb.h"
+		"${OUT}/gen/include/missive/proto/record_constants.pb.h"
+		"${OUT}/gen/include/missive/proto/security_events.pb.h"
 		"${OUT}/gen/include/missive/proto/status.pb.h"
 	)
 	local f
@@ -79,6 +85,9 @@
 	insinto /etc/init
 	doins init/missived.conf
 
+	# Install tmpfiles
+	dotmpfiles tmpfiles.d/missived.conf
+
 	# TODO(zatrudo): Generate at end of devleopment before release.
 	# Install seccomp policy file.
 	#insinto /usr/share/policy
diff --git a/chromeos-base/mist/files/revision_bump b/chromeos-base/mist/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/mist/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/mist/mist-0.0.1-r3205.ebuild b/chromeos-base/mist/mist-0.0.1-r3205.ebuild
deleted file mode 100644
index 6b4b425..0000000
--- a/chromeos-base/mist/mist-0.0.1-r3205.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "4a0dedab080195bdc122d2289118df4af3ddca2c" "1c2495a946b9d6151daff52a17cbc3548d26aa94" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk metrics mist .gn"
-
-PLATFORM_SUBDIR="mist"
-
-inherit cros-workon platform udev
-
-DESCRIPTION="Chromium OS Modem Interface Switching Tool"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/mist/"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="
-	chromeos-base/libbrillo:=[udev]
-	>=chromeos-base/metrics-0.0.1-r3152
-	dev-libs/protobuf:=
-	net-dialup/ppp
-	virtual/libusb:1
-	virtual/udev
-"
-
-DEPEND="${RDEPEND}"
-
-platform_pkg_test() {
-	platform test_all
-}
-
-src_install() {
-	platform_install
-
-	udev_dorules 51-mist.rules
-}
diff --git a/chromeos-base/mist/mist-0.0.1-r3304.ebuild b/chromeos-base/mist/mist-0.0.1-r3304.ebuild
new file mode 100644
index 0000000..f6a2ca0
--- /dev/null
+++ b/chromeos-base/mist/mist-0.0.1-r3304.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "4ec2fa4d5c39ef8f7ff31b3d41e38249461e55f7" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk metrics mist .gn"
+
+PLATFORM_SUBDIR="mist"
+
+inherit cros-workon platform udev
+
+DESCRIPTION="Chromium OS Modem Interface Switching Tool"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/mist/"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="
+	chromeos-base/libbrillo:=[udev]
+	>=chromeos-base/metrics-0.0.1-r3152
+	dev-libs/protobuf:=
+	net-dialup/ppp
+	virtual/libusb:1
+	virtual/udev
+"
+
+DEPEND="${RDEPEND}"
+
+platform_pkg_test() {
+	platform test_all
+}
+
+src_install() {
+	platform_install
+
+	udev_dorules 51-mist.rules
+}
diff --git a/chromeos-base/mist/mist-9999.ebuild b/chromeos-base/mist/mist-9999.ebuild
index 8a3a9a4..c639cb5 100644
--- a/chromeos-base/mist/mist-9999.ebuild
+++ b/chromeos-base/mist/mist-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform udev
 
 DESCRIPTION="Chromium OS Modem Interface Switching Tool"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/mist/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/mist/"
 
 LICENSE="BSD-Google"
 SLOT="0"
diff --git a/chromeos-base/mk-payload/Manifest b/chromeos-base/mk-payload/Manifest
new file mode 100644
index 0000000..3d22130
--- /dev/null
+++ b/chromeos-base/mk-payload/Manifest
@@ -0,0 +1 @@
+DIST mk-payload-0.0.1.gz 6789099 BLAKE2B 437f080680d5d1f0e9ab7c8b94726fe3105c5cefd07a87fe9ed5185ea9cb816668d4632af7fb1c3c826a6c7eb67c9693a86cfd3f4fa07cfc1b91d1a2f3d36bfb SHA512 c344500ea333850ad9f59f6d0d1b1dd83fbf92cba941d19aceac65a4d91cd90bcc48aba3fe4820bcb20d9e7af78896afd93b2b7e60326911193fdb050d702057
diff --git a/chromeos-base/mk-payload/OWNERS b/chromeos-base/mk-payload/OWNERS
new file mode 100644
index 0000000..4db5cad
--- /dev/null
+++ b/chromeos-base/mk-payload/OWNERS
@@ -0,0 +1,2 @@
+hashimoto@google.com
+richardfung@google.com
diff --git a/chromeos-base/mk-payload/README.md b/chromeos-base/mk-payload/README.md
new file mode 100644
index 0000000..91a28da
--- /dev/null
+++ b/chromeos-base/mk-payload/README.md
@@ -0,0 +1,24 @@
+mk_payload is a binary used by ARCVM to create a composite disk of using apexes.
+See [go/arcvm-block-apex](http://go/arcvm-block-apex) for more background.
+
+To update the mk_payload binary used by CrOS builders, do the following
+
+To update to a newer version of mk_payload, you'll need to
+* Download push_to_device.zip from an Android builder (e.g
+    ab/git_master-arc-dev). Make sure to include the version # nocheck
+    used here in your commit.
+    * If you want to build this manually, you can run `m mk_payload` from your
+      lunch'd Android checkout. However, you should only upload a binary
+      from a builder.
+* Unzip it
+    * unzip -d ptd push_to_device.zip
+* run the files/gather.sh script
+    * files/gather.sh ptd/bin/mk_payload <NEW_VERSION>
+* rename the ebuild, incrementing the version
+    * e.g. if incrementing from 0.0.3 -> 0.0.4, you would do
+      `git mv mk-payload-0.0.3.ebuild mk-payload-0.0.4.ebuild`
+* cros_sdk
+* (inside chroot) sudo ebuild <PATH_TO_THIS_EBUILD> manifest
+
+The only place this is used is inside board_specific_setup, so to test locally
+you'll have to manually create a new image with it.
diff --git a/chromeos-base/mk-payload/files/gather.sh b/chromeos-base/mk-payload/files/gather.sh
new file mode 100755
index 0000000..db38eab
--- /dev/null
+++ b/chromeos-base/mk-payload/files/gather.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+#
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# This will upload the mk_payload binary in the mirror which will be downloaded
+# and installed by the ebuild and used by CrOS builders.
+#
+# You should run this script whenever there are changes to mk_payload. Such
+# changes should be rare but if that changes it would be worthwhile to automate
+# this process.
+
+set -e
+
+if [[ -z "$1" || -z "$2" ]]; then
+  echo 'Usage: ./gather.sh <path_to_mk_payload> <version>'
+  echo '  version should correspond to the ebuild version the binary will be'
+  echo '  used with. For example, if we are upreving to 0.0.4, this should'
+  echo '  be 0.0.4.'
+  exit 1
+fi
+
+TMP_FILE=$(mktemp)
+gzip -c "$1" > "${TMP_FILE}"
+
+PACKET_VERSION="$2"
+GCS_PATH='gs://chromeos-localmirror/distfiles/'
+GCS_PATH+="mk-payload-${PACKET_VERSION}.gz"
+if gsutil ls "${GCS_PATH}" &> /dev/null; then
+  echo "${GCS_PATH} already exists!"
+  echo 'If you want to delete it then run'
+  echo "    gsutil rm ${GCS_PATH}"
+  exit 1
+fi
+gsutil cp -n -a public-read "${TMP_FILE}" "${GCS_PATH}"
+
+echo "Success! File was uploaded to ${GCS_PATH}"
+
+rm "${TMP_FILE}"
diff --git a/chromeos-base/mk-payload/mk-payload-0.0.1.ebuild b/chromeos-base/mk-payload/mk-payload-0.0.1.ebuild
new file mode 100644
index 0000000..2299f2b
--- /dev/null
+++ b/chromeos-base/mk-payload/mk-payload-0.0.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+#
+# To update this ebuild, you should first run files/gather.sh which
+# will update the binary in the bucket. Then, you can change the
+# ebuild to the current date.
+
+EAPI=7
+
+DESCRIPTION="Ebuild for Android mk_payload tool."
+
+# Files will be uploaded here by gather.sh
+SRC_URI="gs://chromeos-localmirror/distfiles/${P}.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="-* amd64"
+IUSE=""
+
+S="${WORKDIR}"
+
+QA_PREBUILT="*"
+
+src_install() {
+	# Install mk_payload into /opt/bin alongside the other prebuilt
+	# binaries.
+	into '/opt'
+	newbin "${P}" 'mk_payload'
+}
diff --git a/chromeos-base/ml-benchmark/files/revision_bump b/chromeos-base/ml-benchmark/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/ml-benchmark/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/ml-benchmark/ml-benchmark-0.0.1-r157.ebuild b/chromeos-base/ml-benchmark/ml-benchmark-0.0.1-r157.ebuild
deleted file mode 100644
index 59391a6..0000000
--- a/chromeos-base/ml-benchmark/ml-benchmark-0.0.1-r157.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "fdd0209826719268c01d190ed7bbfa76b177f2f5" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_SUBTREE="common-mk ml_benchmark .gn"
-
-DESCRIPTION="Chrome OS ML Benchmarking Suite"
-
-PLATFORM_SUBDIR="ml_benchmark"
-
-inherit cros-workon platform
-
-# chromeos-base/ml_benchmark blocked due to package rename
-RDEPEND="
-	!chromeos-base/ml_benchmark
-	vulkan? ( media-libs/clvk )
-"
-
-DEPEND="${RDEPEND}
-	dev-libs/protobuf:=
-"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="vulkan"
-
-src_install() {
-	platform_install
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/ml-benchmark/ml-benchmark-0.0.1-r219.ebuild b/chromeos-base/ml-benchmark/ml-benchmark-0.0.1-r219.ebuild
new file mode 100644
index 0000000..cfa09f2
--- /dev/null
+++ b/chromeos-base/ml-benchmark/ml-benchmark-0.0.1-r219.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "363badc7f07136727d95cdd25b229e9282328f00" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk ml_benchmark .gn"
+
+DESCRIPTION="Chrome OS ML Benchmarking Suite"
+
+PLATFORM_SUBDIR="ml_benchmark"
+
+inherit cros-workon platform
+
+# chromeos-base/ml_benchmark blocked due to package rename
+RDEPEND="
+	!chromeos-base/ml_benchmark
+	vulkan? ( media-libs/clvk )
+"
+
+DEPEND="${RDEPEND}
+	dev-libs/protobuf:=
+"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="vulkan"
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/ml-client/files/revision_bump b/chromeos-base/ml-client/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/ml-client/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/ml-client/ml-client-0.0.1-r120.ebuild b/chromeos-base/ml-client/ml-client-0.0.1-r120.ebuild
deleted file mode 100644
index 0601ebb..0000000
--- a/chromeos-base/ml-client/ml-client-0.0.1-r120.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "c9e5f91317203c51c0b741bb06a86cd64bf542c2" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk ml .gn"
-
-PLATFORM_SUBDIR="ml/ml-client"
-
-inherit cros-workon platform
-
-DESCRIPTION="ML Service D-Bus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/main/ml/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-BDEPEND="
-	chromeos-base/chromeos-dbus-bindings:=
-"
-
-src_install() {
-	# Install D-Bus client library.
-	platform_install_dbus_client_lib "ml"
-}
diff --git a/chromeos-base/ml-client/ml-client-0.0.1-r201.ebuild b/chromeos-base/ml-client/ml-client-0.0.1-r201.ebuild
new file mode 100644
index 0000000..abfa4ce
--- /dev/null
+++ b/chromeos-base/ml-client/ml-client-0.0.1-r201.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "efb8748309392ad76f174d36f109b9866bcf8241" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk ml .gn"
+
+PLATFORM_SUBDIR="ml/ml-client"
+
+inherit cros-workon platform
+
+DESCRIPTION="ML Service D-Bus client library for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/main/ml/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+BDEPEND="
+	chromeos-base/chromeos-dbus-bindings:=
+"
+
+src_install() {
+	# Install D-Bus client library.
+	platform_install_dbus_client_lib "ml"
+}
diff --git a/chromeos-base/ml-cmdline/files/revision_bump b/chromeos-base/ml-cmdline/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/ml-cmdline/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/ml-cmdline/ml-cmdline-0.0.1-r362.ebuild b/chromeos-base/ml-cmdline/ml-cmdline-0.0.1-r362.ebuild
deleted file mode 100644
index f07dec8..0000000
--- a/chromeos-base/ml-cmdline/ml-cmdline-0.0.1-r362.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "c9e5f91317203c51c0b741bb06a86cd64bf542c2" "fdd0209826719268c01d190ed7bbfa76b177f2f5" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_SUBTREE="common-mk ml ml_benchmark .gn"
-
-PLATFORM_SUBDIR="ml"
-
-inherit cros-workon platform
-
-DESCRIPTION="Command line interface to machine learning service for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/main/ml"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-SLOT="0/0"
-IUSE="internal"
-
-RDEPEND="
-	chromeos-base/chrome-icu:=
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/ml:=
-	sci-libs/tensorflow:=
-"
-
-DEPEND="
-	${RDEPEND}
-"
-
-src_install() {
-	platform_install
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/ml-cmdline/ml-cmdline-0.0.1-r445.ebuild b/chromeos-base/ml-cmdline/ml-cmdline-0.0.1-r445.ebuild
new file mode 100644
index 0000000..957b861
--- /dev/null
+++ b/chromeos-base/ml-cmdline/ml-cmdline-0.0.1-r445.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "efb8748309392ad76f174d36f109b9866bcf8241" "363badc7f07136727d95cdd25b229e9282328f00" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk ml ml_benchmark .gn"
+
+PLATFORM_SUBDIR="ml"
+
+inherit cros-workon platform
+
+DESCRIPTION="Command line interface to machine learning service for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/main/ml"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+SLOT="0/0"
+IUSE="internal"
+
+RDEPEND="
+	chromeos-base/chrome-icu:=
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/ml:=
+	sci-libs/tensorflow:=
+"
+
+DEPEND="
+	${RDEPEND}
+"
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/ml/files/revision_bump b/chromeos-base/ml/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/ml/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/ml/ml-0.0.1-r680.ebuild b/chromeos-base/ml/ml-0.0.1-r680.ebuild
deleted file mode 100644
index fe580cf..0000000
--- a/chromeos-base/ml/ml-0.0.1-r680.ebuild
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "c9e5f91317203c51c0b741bb06a86cd64bf542c2" "fdd0209826719268c01d190ed7bbfa76b177f2f5" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-# TODO(amoylan): Set CROS_WORKON_OUTOFTREE_BUILD=1 after crbug.com/833675.
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_SUBTREE="common-mk ml ml_benchmark .gn"
-
-PLATFORM_SUBDIR="ml"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Machine learning service for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/main/ml"
-
-# Clients of the ML service should place the URIs of their model files into
-# MODELS_TO_INSTALL if they are installed into rootfs (built-in models), or
-# DOWNLOADABLE_MODELS if they are downloaded via component updater (downloadable
-# models).
-MODELS_TO_INSTALL=(
-	"gs://chromeos-localmirror/distfiles/mlservice-model-test_add-20180914.tflite"
-	"gs://chromeos-localmirror/distfiles/mlservice-model-search_ranker-20190923.tflite"
-	"gs://chromeos-localmirror/distfiles/mlservice-model-smart_dim-20190521-v3.tflite"
-	"gs://chromeos-localmirror/distfiles/mlservice-model-adaptive_charging-20211105.tflite"
-)
-
-DOWNLOADABLE_MODELS=(
-	"gs://chromeos-localmirror/distfiles/mlservice-model-smart_dim-20200206-downloadable.tflite"
-	"gs://chromeos-localmirror/distfiles/mlservice-model-smart_dim-20210201-downloadable.tflite"
-)
-
-# Clients that want ml-service to do the feature preprocessing should place the
-# URIs of their preprocessor config pb files into PREPROCESSOR_PB_TO_INSTALL.
-# Config pb files that are used in unit test should be placed into
-# PREPROCESSOR_PB_FOR_TEST.
-PREPROCESSOR_PB_TO_INSTALL=(
-	"gs://chromeos-localmirror/distfiles/mlservice-model-adaptive_charging-20211105-preprocessor.pb"
-)
-
-PREPROCESSOR_PB_FOR_TEST=(
-	"gs://chromeos-localmirror/distfiles/mlservice-model-smart_dim-20190521-preprocessor.pb"
-)
-
-SRC_URI="
-	${DOWNLOADABLE_MODELS[*]}
-	${MODELS_TO_INSTALL[*]}
-	${PREPROCESSOR_PB_TO_INSTALL[*]}
-	${PREPROCESSOR_PB_FOR_TEST[*]}
-"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="
-	dlc
-	fuzzer
-	internal
-	ml_benchmark_drivers
-	nnapi
-	ondevice_document_scanner
-	ondevice_grammar
-	ondevice_handwriting
-	ondevice_handwriting_dlc
-	ondevice_speech
-	ondevice_text_suggestions
-"
-
-RDEPEND="
-	chromeos-base/chrome-icu:=
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/minijail:=
-	internal? ( ondevice_speech? ( chromeos-soda/libsoda:=[dlc=] ) )
-	nnapi? ( chromeos-base/aosp-frameworks-ml-nn )
-	media-libs/cros-camera-document-scanning:=[ondevice_document_scanner=]
-	>=dev-libs/libgrammar-0.0.4:=[ondevice_grammar=]
-	dev-libs/libhandwriting:=[ondevice_handwriting=,ondevice_handwriting_dlc=]
-	>=dev-libs/libsuggest-0.0.9:=[ondevice_text_suggestions=]
-	>=dev-libs/libtextclassifier-0.0.1-r79:=
-	sci-libs/tensorflow:=
-"
-
-DEPEND="
-	${RDEPEND}
-	chromeos-base/system_api:=[fuzzer?]
-	dev-cpp/absl:=
-	dev-libs/libutf:=
-	dev-libs/marisa-aosp:=
-	fuzzer? ( dev-libs/libprotobuf-mutator )
-"
-
-# SODA will not be supported on rootfs and only be supported through DLC.
-REQUIRED_USE="ondevice_speech? ( dlc )"
-
-src_install() {
-	dobin "${OUT}"/ml_service
-
-	# Install upstart configuration.
-	insinto /etc/init
-	doins init/*.conf
-
-	# Install seccomp policy files.
-	insinto /usr/share/policy
-	newins "seccomp/ml_service-seccomp-${ARCH}.policy" ml_service-seccomp.policy
-	newins "seccomp/ml_service-BuiltinModel-seccomp-${ARCH}.policy" ml_service-BuiltinModel-seccomp.policy
-	newins "seccomp/ml_service-DocumentScanner-seccomp-${ARCH}.policy" ml_service-DocumentScanner-seccomp.policy
-	newins "seccomp/ml_service-FlatBufferModel-seccomp-${ARCH}.policy" ml_service-FlatBufferModel-seccomp.policy
-	newins "seccomp/ml_service-HandwritingModel-seccomp-${ARCH}.policy" ml_service-HandwritingModel-seccomp.policy
-	newins "seccomp/ml_service-WebPlatformHandwritingModel-seccomp-${ARCH}.policy" ml_service-WebPlatformHandwritingModel-seccomp.policy
-	newins "seccomp/ml_service-SodaModel-seccomp-${ARCH}.policy" ml_service-SodaModel-seccomp.policy
-	newins "seccomp/ml_service-TextClassifierModel-seccomp-${ARCH}.policy" ml_service-TextClassifierModel-seccomp.policy
-	newins "seccomp/ml_service-GrammarCheckerModel-seccomp-${ARCH}.policy" ml_service-GrammarCheckerModel-seccomp.policy
-
-	# Install D-Bus configuration file.
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.MachineLearning.conf
-
-	# Install D-Bus service activation configuration.
-	insinto /usr/share/dbus-1/system-services
-	doins dbus/org.chromium.MachineLearning.service
-	doins dbus/org.chromium.MachineLearning.AdaptiveCharging.service
-
-	# Create distfile array of model filepaths.
-	local model_files=( "${MODELS_TO_INSTALL[@]##*/}" "${PREPROCESSOR_PB_TO_INSTALL[@]##*/}" )
-	local distfile_array=( "${model_files[@]/#/${DISTDIR}/}" )
-
-	# Install system ML models.
-	insinto /opt/google/chrome/ml_models
-	doins "${distfile_array[@]}"
-
-	# Install system ML models to fuzzer dir.
-	insinto /usr/libexec/fuzzers
-	doins "${distfile_array[@]}"
-
-	# Install fuzzer targets.
-	for fuzzer in "${OUT}"/*_fuzzer; do
-		local fuzzer_component_id="187682"
-		platform_fuzzer_install "${S}"/OWNERS "${fuzzer}" \
-			--comp "${fuzzer_component_id}"
-	done
-
-	if use ml_benchmark_drivers; then
-		insinto /usr/local/ml_benchmark/ml_service
-		insopts -m0755
-		doins "${OUT}"/lib/libml_for_benchmark.so
-		insopts -m0644
-	fi
-}
-
-pkg_preinst() {
-	enewuser "ml-service"
-	enewgroup "ml-service"
-	enewuser "ml-service-dbus"
-	enewgroup "ml-service-dbus"
-}
-
-platform_pkg_test() {
-	# Recreate model dir in the temp directory and copy both
-	# MODELS_TO_INSTALL and DOWNLOADABLE_MODELS into it for use in unit
-	# tests.
-	mkdir "${T}/ml_models" || die
-	local all_test_models=(
-		"${DOWNLOADABLE_MODELS[@]}"
-		"${MODELS_TO_INSTALL[@]}"
-		"${PREPROCESSOR_PB_TO_INSTALL[@]}"
-		"${PREPROCESSOR_PB_FOR_TEST[@]}"
-	)
-	local distfile_uri
-	for distfile_uri in "${all_test_models[@]}"; do
-		cp "${DISTDIR}/${distfile_uri##*/}" "${T}/ml_models" || die
-	done
-
-	# The third argument equaling 1 means "run as root". This is needed for
-	# multiprocess unit test.
-	platform_test "run" "${OUT}/ml_service_test" 1
-}
diff --git a/chromeos-base/ml/ml-0.0.1-r765.ebuild b/chromeos-base/ml/ml-0.0.1-r765.ebuild
new file mode 100644
index 0000000..49119a2
--- /dev/null
+++ b/chromeos-base/ml/ml-0.0.1-r765.ebuild
@@ -0,0 +1,190 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "efb8748309392ad76f174d36f109b9866bcf8241" "363badc7f07136727d95cdd25b229e9282328f00" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+# TODO(amoylan): Set CROS_WORKON_OUTOFTREE_BUILD=1 after crbug.com/833675.
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk ml ml_benchmark .gn"
+
+PLATFORM_SUBDIR="ml"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Machine learning service for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/main/ml"
+
+# Clients of the ML service should place the URIs of their model files into
+# MODELS_TO_INSTALL if they are installed into rootfs (built-in models), or
+# DOWNLOADABLE_MODELS if they are downloaded via component updater (downloadable
+# models).
+MODELS_TO_INSTALL=(
+	"gs://chromeos-localmirror/distfiles/mlservice-model-test_add-20180914.tflite"
+	"gs://chromeos-localmirror/distfiles/mlservice-model-search_ranker-20190923.tflite"
+	"gs://chromeos-localmirror/distfiles/mlservice-model-smart_dim-20190521-v3.tflite"
+	"gs://chromeos-localmirror/distfiles/mlservice-model-adaptive_charging-20211105.tflite"
+)
+
+DOWNLOADABLE_MODELS=(
+	"gs://chromeos-localmirror/distfiles/mlservice-model-smart_dim-20200206-downloadable.tflite"
+	"gs://chromeos-localmirror/distfiles/mlservice-model-smart_dim-20210201-downloadable.tflite"
+)
+
+# Clients that want ml-service to do the feature preprocessing should place the
+# URIs of their preprocessor config pb files into PREPROCESSOR_PB_TO_INSTALL.
+# Config pb files that are used in unit test should be placed into
+# PREPROCESSOR_PB_FOR_TEST.
+PREPROCESSOR_PB_TO_INSTALL=(
+	"gs://chromeos-localmirror/distfiles/mlservice-model-adaptive_charging-20211105-preprocessor.pb"
+)
+
+PREPROCESSOR_PB_FOR_TEST=(
+	"gs://chromeos-localmirror/distfiles/mlservice-model-smart_dim-20190521-preprocessor.pb"
+)
+
+SRC_URI="
+	${DOWNLOADABLE_MODELS[*]}
+	${MODELS_TO_INSTALL[*]}
+	${PREPROCESSOR_PB_TO_INSTALL[*]}
+	${PREPROCESSOR_PB_FOR_TEST[*]}
+"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="
+	dlc
+	fuzzer
+	internal
+	march_alderlake
+	ml_benchmark_drivers
+	nnapi
+	ondevice_document_scanner
+	ondevice_document_scanner_dlc
+	ondevice_grammar
+	ondevice_handwriting
+	ondevice_handwriting_dlc
+	ondevice_speech
+	ondevice_text_suggestions
+"
+
+RDEPEND="
+	chromeos-base/chrome-icu:=
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/minijail:=
+	internal? ( ondevice_speech? ( chromeos-soda/libsoda:=[dlc=] ) )
+	nnapi? ( chromeos-base/aosp-frameworks-ml-nn )
+	dlc? (
+		ondevice_document_scanner_dlc? ( media-libs/cros-camera-document-scanner-dlc )
+	)
+	media-libs/cros-camera-libfs:=[ondevice_document_scanner=,ondevice_document_scanner_dlc=]
+	>=dev-libs/libgrammar-0.0.4:=[ondevice_grammar=]
+	dev-libs/libhandwriting:=[ondevice_handwriting=,ondevice_handwriting_dlc=]
+	>=dev-libs/libsuggest-0.0.9:=[ondevice_text_suggestions=]
+	>=dev-libs/libtextclassifier-0.0.1-r79:=
+	sci-libs/tensorflow:=
+"
+
+DEPEND="
+	${RDEPEND}
+	chromeos-base/system_api:=[fuzzer?]
+	dev-cpp/abseil-cpp:=
+	dev-libs/libutf:=
+	dev-libs/marisa-aosp:=
+	fuzzer? ( dev-libs/libprotobuf-mutator )
+"
+
+# SODA will not be supported on rootfs and only be supported through DLC.
+REQUIRED_USE="ondevice_speech? ( dlc )"
+
+src_install() {
+	dobin "${OUT}"/ml_service
+
+	# Install upstart configuration.
+	insinto /etc/init
+	doins init/*.conf
+
+	# Install seccomp policy files.
+	insinto /usr/share/policy
+	newins "seccomp/ml_service-seccomp-${ARCH}.policy" ml_service-seccomp.policy
+	newins "seccomp/ml_service-BuiltinModel-seccomp-${ARCH}.policy" ml_service-BuiltinModel-seccomp.policy
+	newins "seccomp/ml_service-DocumentScanner-seccomp-${ARCH}.policy" ml_service-DocumentScanner-seccomp.policy
+	newins "seccomp/ml_service-FlatBufferModel-seccomp-${ARCH}.policy" ml_service-FlatBufferModel-seccomp.policy
+	newins "seccomp/ml_service-HandwritingModel-seccomp-${ARCH}.policy" ml_service-HandwritingModel-seccomp.policy
+	newins "seccomp/ml_service-WebPlatformHandwritingModel-seccomp-${ARCH}.policy" ml_service-WebPlatformHandwritingModel-seccomp.policy
+	newins "seccomp/ml_service-SodaModel-seccomp-${ARCH}.policy" ml_service-SodaModel-seccomp.policy
+	newins "seccomp/ml_service-TextClassifierModel-seccomp-${ARCH}.policy" ml_service-TextClassifierModel-seccomp.policy
+	newins "seccomp/ml_service-GrammarCheckerModel-seccomp-${ARCH}.policy" ml_service-GrammarCheckerModel-seccomp.policy
+	newins "seccomp/ml_service-WebPlatformFlatBufferModel-seccomp-${ARCH}.policy" ml_service-WebPlatformFlatBufferModel-seccomp.policy
+
+	# Install D-Bus configuration file.
+	insinto /etc/dbus-1/system.d
+	doins dbus/org.chromium.MachineLearning.conf
+
+	# Install D-Bus service activation configuration.
+	insinto /usr/share/dbus-1/system-services
+	doins dbus/org.chromium.MachineLearning.service
+	doins dbus/org.chromium.MachineLearning.AdaptiveCharging.service
+
+	# Create distfile array of model filepaths.
+	local model_files=( "${MODELS_TO_INSTALL[@]##*/}" "${PREPROCESSOR_PB_TO_INSTALL[@]##*/}" )
+	local distfile_array=( "${model_files[@]/#/${DISTDIR}/}" )
+
+	# Install system ML models.
+	insinto /opt/google/chrome/ml_models
+	doins "${distfile_array[@]}"
+
+	# Install system ML models to fuzzer dir.
+	insinto /usr/libexec/fuzzers
+	doins "${distfile_array[@]}"
+
+	# Install fuzzer targets.
+	for fuzzer in "${OUT}"/*_fuzzer; do
+		local fuzzer_component_id="187682"
+		platform_fuzzer_install "${S}"/OWNERS "${fuzzer}" \
+			--comp "${fuzzer_component_id}"
+	done
+
+	if use ml_benchmark_drivers; then
+		insinto /usr/local/ml_benchmark/ml_service
+		insopts -m0755
+		doins "${OUT}"/lib/libml_for_benchmark.so
+		insopts -m0644
+	fi
+}
+
+pkg_preinst() {
+	enewuser "ml-service"
+	enewgroup "ml-service"
+	enewuser "ml-service-dbus"
+	enewgroup "ml-service-dbus"
+}
+
+platform_pkg_test() {
+	# TODO(b/183455993): Re-enable when unit tests requiring instructions not
+	# supported by the build machine can be run.
+	if use march_alderlake; then
+		return
+	fi
+
+	# Recreate model dir in the temp directory and copy both
+	# MODELS_TO_INSTALL and DOWNLOADABLE_MODELS into it for use in unit
+	# tests.
+	mkdir "${T}/ml_models" || die
+	local all_test_models=(
+		"${DOWNLOADABLE_MODELS[@]}"
+		"${MODELS_TO_INSTALL[@]}"
+		"${PREPROCESSOR_PB_TO_INSTALL[@]}"
+		"${PREPROCESSOR_PB_FOR_TEST[@]}"
+	)
+	local distfile_uri
+	for distfile_uri in "${all_test_models[@]}"; do
+		cp "${DISTDIR}/${distfile_uri##*/}" "${T}/ml_models" || die
+	done
+
+	# The third argument equaling 1 means "run as root". This is needed for
+	# multiprocess unit test.
+	platform_test "run" "${OUT}/ml_service_test" 1
+}
diff --git a/chromeos-base/ml/ml-9999.ebuild b/chromeos-base/ml/ml-9999.ebuild
index 66c1656..659610e 100644
--- a/chromeos-base/ml/ml-9999.ebuild
+++ b/chromeos-base/ml/ml-9999.ebuild
@@ -56,9 +56,11 @@
 	dlc
 	fuzzer
 	internal
+	march_alderlake
 	ml_benchmark_drivers
 	nnapi
 	ondevice_document_scanner
+	ondevice_document_scanner_dlc
 	ondevice_grammar
 	ondevice_handwriting
 	ondevice_handwriting_dlc
@@ -72,7 +74,10 @@
 	chromeos-base/minijail:=
 	internal? ( ondevice_speech? ( chromeos-soda/libsoda:=[dlc=] ) )
 	nnapi? ( chromeos-base/aosp-frameworks-ml-nn )
-	media-libs/cros-camera-document-scanning:=[ondevice_document_scanner=]
+	dlc? (
+		ondevice_document_scanner_dlc? ( media-libs/cros-camera-document-scanner-dlc )
+	)
+	media-libs/cros-camera-libfs:=[ondevice_document_scanner=,ondevice_document_scanner_dlc=]
 	>=dev-libs/libgrammar-0.0.4:=[ondevice_grammar=]
 	dev-libs/libhandwriting:=[ondevice_handwriting=,ondevice_handwriting_dlc=]
 	>=dev-libs/libsuggest-0.0.9:=[ondevice_text_suggestions=]
@@ -83,7 +88,7 @@
 DEPEND="
 	${RDEPEND}
 	chromeos-base/system_api:=[fuzzer?]
-	dev-cpp/absl:=
+	dev-cpp/abseil-cpp:=
 	dev-libs/libutf:=
 	dev-libs/marisa-aosp:=
 	fuzzer? ( dev-libs/libprotobuf-mutator )
@@ -110,6 +115,7 @@
 	newins "seccomp/ml_service-SodaModel-seccomp-${ARCH}.policy" ml_service-SodaModel-seccomp.policy
 	newins "seccomp/ml_service-TextClassifierModel-seccomp-${ARCH}.policy" ml_service-TextClassifierModel-seccomp.policy
 	newins "seccomp/ml_service-GrammarCheckerModel-seccomp-${ARCH}.policy" ml_service-GrammarCheckerModel-seccomp.policy
+	newins "seccomp/ml_service-WebPlatformFlatBufferModel-seccomp-${ARCH}.policy" ml_service-WebPlatformFlatBufferModel-seccomp.policy
 
 	# Install D-Bus configuration file.
 	insinto /etc/dbus-1/system.d
@@ -155,6 +161,12 @@
 }
 
 platform_pkg_test() {
+	# TODO(b/183455993): Re-enable when unit tests requiring instructions not
+	# supported by the build machine can be run.
+	if use march_alderlake; then
+		return
+	fi
+
 	# Recreate model dir in the temp directory and copy both
 	# MODELS_TO_INSTALL and DOWNLOADABLE_MODELS into it for use in unit
 	# tests.
diff --git a/chromeos-base/modem-utilities/files/revision_bump b/chromeos-base/modem-utilities/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/modem-utilities/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/modem-utilities/modem-utilities-0.0.1-r2880.ebuild b/chromeos-base/modem-utilities/modem-utilities-0.0.1-r2880.ebuild
deleted file mode 100644
index 26c7908..0000000
--- a/chromeos-base/modem-utilities/modem-utilities-0.0.1-r2880.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "80dae67b133604ca4e0625a9a26fb3410f705e45" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_DESTDIR="${S}"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk modem-utilities .gn"
-
-PLATFORM_SUBDIR="modem-utilities"
-
-inherit cros-workon tmpfiles platform
-
-DESCRIPTION="Chromium OS modem utilities"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/modem-utilities/"
-SRC_URI=""
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-COMMON_DEPEND="
-	sys-apps/dbus:=
-"
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}"
-
-src_install() {
-	platform_install
-
-	dotmpfiles tmpfiles.d/*.conf
-}
diff --git a/chromeos-base/modem-utilities/modem-utilities-0.0.1-r2939.ebuild b/chromeos-base/modem-utilities/modem-utilities-0.0.1-r2939.ebuild
new file mode 100644
index 0000000..a46bbd5
--- /dev/null
+++ b/chromeos-base/modem-utilities/modem-utilities-0.0.1-r2939.ebuild
@@ -0,0 +1,33 @@
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e2b936a0514f5beabb11c1b2b5bbe45470430604" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_DESTDIR="${S}"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk modem-utilities .gn"
+
+PLATFORM_SUBDIR="modem-utilities"
+
+inherit cros-workon tmpfiles platform
+
+DESCRIPTION="Chromium OS modem utilities"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/modem-utilities/"
+SRC_URI=""
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+COMMON_DEPEND="
+	sys-apps/dbus:=
+"
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}"
+
+src_install() {
+	platform_install
+
+	dotmpfiles tmpfiles.d/*.conf
+}
diff --git a/chromeos-base/modem-utilities/modem-utilities-9999.ebuild b/chromeos-base/modem-utilities/modem-utilities-9999.ebuild
index 2f436f3..ed96f03 100644
--- a/chromeos-base/modem-utilities/modem-utilities-9999.ebuild
+++ b/chromeos-base/modem-utilities/modem-utilities-9999.ebuild
@@ -13,7 +13,7 @@
 inherit cros-workon tmpfiles platform
 
 DESCRIPTION="Chromium OS modem utilities"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/modem-utilities/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/modem-utilities/"
 SRC_URI=""
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/modemfwd-proto/files/revision_bump b/chromeos-base/modemfwd-proto/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/modemfwd-proto/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/modemfwd-proto/modemfwd-proto-0.0.1-r150.ebuild b/chromeos-base/modemfwd-proto/modemfwd-proto-0.0.1-r150.ebuild
new file mode 100644
index 0000000..73867a4
--- /dev/null
+++ b/chromeos-base/modemfwd-proto/modemfwd-proto-0.0.1-r150.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "f9d7642be5b503d284cb5ac683ec681e06938c01" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_GO_PACKAGES=(
+	"chromiumos/modemfwd/..."
+)
+
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk modemfwd .gn"
+
+PLATFORM_SUBDIR="modemfwd/proto"
+
+inherit cros-workon cros-go platform
+
+DESCRIPTION="modemfwd go proto for Chrome OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/main/modemfwd"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="
+	dev-libs/protobuf:=
+"
+
+DEPEND="
+	${RDEPEND}
+	dev-go/protobuf
+	dev-go/protobuf-legacy-api
+"
+
+src_unpack() {
+	platform_src_unpack
+	CROS_GO_WORKSPACE="${OUT}/gen/go"
+}
+
+src_install() {
+	cros-go_src_install
+}
diff --git a/chromeos-base/modemfwd-proto/modemfwd-proto-0.0.1-r66.ebuild b/chromeos-base/modemfwd-proto/modemfwd-proto-0.0.1-r66.ebuild
deleted file mode 100644
index dabc8d5..0000000
--- a/chromeos-base/modemfwd-proto/modemfwd-proto-0.0.1-r66.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="ce5f95b33dfb857a5a8a3be8a0c9325b85286ccc"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "4a29f76a6b306682c769f8c829a71004118a79da" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_GO_PACKAGES=(
-	"chromiumos/modemfwd/..."
-)
-
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk modemfwd .gn"
-
-PLATFORM_SUBDIR="modemfwd/proto"
-
-inherit cros-workon cros-go platform
-
-DESCRIPTION="modemfwd go proto for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/main/modemfwd"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="
-	dev-libs/protobuf:=
-"
-
-DEPEND="
-	${RDEPEND}
-	dev-go/protobuf
-"
-
-src_unpack() {
-	platform_src_unpack
-	CROS_GO_WORKSPACE="${OUT}/gen/go"
-}
-
-src_install() {
-	cros-go_src_install
-}
diff --git a/chromeos-base/modemfwd-proto/modemfwd-proto-9999.ebuild b/chromeos-base/modemfwd-proto/modemfwd-proto-9999.ebuild
index 34994e6..874437f 100644
--- a/chromeos-base/modemfwd-proto/modemfwd-proto-9999.ebuild
+++ b/chromeos-base/modemfwd-proto/modemfwd-proto-9999.ebuild
@@ -29,6 +29,7 @@
 DEPEND="
 	${RDEPEND}
 	dev-go/protobuf
+	dev-go/protobuf-legacy-api
 "
 
 src_unpack() {
diff --git a/chromeos-base/modemfwd/files/revision_bump b/chromeos-base/modemfwd/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/modemfwd/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/modemfwd/modemfwd-0.0.1-r1123.ebuild b/chromeos-base/modemfwd/modemfwd-0.0.1-r1123.ebuild
new file mode 100644
index 0000000..714577c
--- /dev/null
+++ b/chromeos-base/modemfwd/modemfwd-0.0.1-r1123.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "527abd7a988a45572305a6c44b5324d0d9cf8be2" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "f9d7642be5b503d284cb5ac683ec681e06938c01" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk chromeos-config metrics modemfwd .gn"
+
+PLATFORM_SUBDIR="modemfwd"
+
+inherit cros-workon platform tmpfiles user
+
+DESCRIPTION="Modem firmware updater daemon"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/modemfwd"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="fuzzer"
+
+COMMON_DEPEND="
+	app-arch/xz-utils:=
+	chromeos-base/chromeos-config:=
+	chromeos-base/chromeos-config-tools:=
+	chromeos-base/dlcservice-client:=
+	chromeos-base/metrics:=
+	dev-libs/protobuf:=
+	net-misc/modemmanager-next:=
+"
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/shill-client:=
+	chromeos-base/system_api:=[fuzzer?]
+	fuzzer? ( dev-libs/libprotobuf-mutator:= )
+"
+
+src_install() {
+	platform_install
+
+	dotmpfiles tmpfiles.d/*.conf
+
+	local fuzzer_component_id="167157"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/firmware_manifest_v2_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/modemfwd/modemfwd-0.0.1-r962.ebuild b/chromeos-base/modemfwd/modemfwd-0.0.1-r962.ebuild
deleted file mode 100644
index 79cda4e..0000000
--- a/chromeos-base/modemfwd/modemfwd-0.0.1-r962.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="ce5f95b33dfb857a5a8a3be8a0c9325b85286ccc"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "bea140d13f7cf1092e4c89a45011c04c28327972" "4a29f76a6b306682c769f8c829a71004118a79da" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk chromeos-config modemfwd .gn"
-
-PLATFORM_SUBDIR="modemfwd"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Modem firmware updater daemon"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/modemfwd"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="fuzzer"
-
-COMMON_DEPEND="
-	app-arch/xz-utils:=
-	chromeos-base/chromeos-config:=
-	chromeos-base/chromeos-config-tools:=
-	dev-libs/protobuf:=
-	net-misc/modemmanager-next:=
-"
-
-RDEPEND="${COMMON_DEPEND}"
-
-DEPEND="${COMMON_DEPEND}
-	chromeos-base/shill-client:=
-	chromeos-base/system_api:=[fuzzer?]
-	fuzzer? ( dev-libs/libprotobuf-mutator:= )
-"
-
-src_install() {
-	platform_install
-
-	local fuzzer_component_id="167157"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/firmware_manifest_v2_fuzzer \
-		--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/modemfwd/modemfwd-9999.ebuild b/chromeos-base/modemfwd/modemfwd-9999.ebuild
index 55da9c5..bffe912 100644
--- a/chromeos-base/modemfwd/modemfwd-9999.ebuild
+++ b/chromeos-base/modemfwd/modemfwd-9999.ebuild
@@ -3,17 +3,18 @@
 
 EAPI=7
 
+CROS_WORKON_INCREMENTAL_BUILD=1
 CROS_WORKON_LOCALNAME="platform2"
 CROS_WORKON_PROJECT="chromiumos/platform2"
 CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk chromeos-config modemfwd .gn"
+CROS_WORKON_SUBTREE="common-mk chromeos-config metrics modemfwd .gn"
 
 PLATFORM_SUBDIR="modemfwd"
 
-inherit cros-workon platform user
+inherit cros-workon platform tmpfiles user
 
 DESCRIPTION="Modem firmware updater daemon"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/modemfwd"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/modemfwd"
 
 LICENSE="BSD-Google"
 SLOT="0/0"
@@ -24,6 +25,8 @@
 	app-arch/xz-utils:=
 	chromeos-base/chromeos-config:=
 	chromeos-base/chromeos-config-tools:=
+	chromeos-base/dlcservice-client:=
+	chromeos-base/metrics:=
 	dev-libs/protobuf:=
 	net-misc/modemmanager-next:=
 "
@@ -39,6 +42,8 @@
 src_install() {
 	platform_install
 
+	dotmpfiles tmpfiles.d/*.conf
+
 	local fuzzer_component_id="167157"
 	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/firmware_manifest_v2_fuzzer \
 		--comp "${fuzzer_component_id}"
diff --git a/chromeos-base/mojo-tools/mojo-tools-0.0.1-r11.ebuild b/chromeos-base/mojo-tools/mojo-tools-0.0.1-r11.ebuild
new file mode 100644
index 0000000..c064740
--- /dev/null
+++ b/chromeos-base/mojo-tools/mojo-tools-0.0.1-r11.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="036c6524d3b0cbd41e781612fb1be87f2b46027a"
+CROS_WORKON_TREE="40b2972d075c5d64fe39d57608ae33c47c2f05cf"
+CROS_WORKON_PROJECT=("chromiumos/platform/libchrome")
+CROS_WORKON_LOCALNAME=("platform/libchrome")
+CROS_WORKON_EGIT_BRANCH=("main")
+CROS_WORKON_SUBTREE=("mojo/public/tools")
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-workon python-r1
+
+DESCRIPTION="Mojo python tools for binding generating."
+HOMEPAGE="https://chromium.googlesource.com/chromium/src/+/HEAD/mojo/public/tools/mojom/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="
+	dev-python/jinja[${PYTHON_USEDEP}]
+"
+
+src_install() {
+	install_python() {
+		python_domodule mojo/public/tools/mojom/mojom
+		python_domodule mojo/public/tools/bindings/generators
+	}
+	python_foreach_impl install_python
+}
diff --git a/chromeos-base/mojo-tools/mojo-tools-0.0.1-r3.ebuild b/chromeos-base/mojo-tools/mojo-tools-0.0.1-r3.ebuild
deleted file mode 100644
index 16d0990..0000000
--- a/chromeos-base/mojo-tools/mojo-tools-0.0.1-r3.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_WORKON_COMMIT="2a60bd89ca23703cb8cc358988783b5a77efda7d"
-CROS_WORKON_TREE="db6d87dad1e5bd24016004a74d55f4108b3fac74"
-CROS_WORKON_PROJECT=("aosp/platform/external/libchrome")
-CROS_WORKON_LOCALNAME=("aosp/external/libchrome")
-CROS_WORKON_EGIT_BRANCH=("master")
-CROS_WORKON_SUBTREE=("mojo/public/tools")
-PYTHON_COMPAT=( python3_{6..9} )
-
-inherit cros-workon python-r1
-
-DESCRIPTION="Mojo python tools for binding generating."
-HOMEPAGE="https://chromium.googlesource.com/chromium/src/+/HEAD/mojo/public/tools/mojom/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="
-	dev-python/jinja[${PYTHON_USEDEP}]
-"
-
-src_install() {
-	install_python() {
-		python_domodule mojo/public/tools/mojom/mojom
-		python_domodule mojo/public/tools/bindings/generators
-	}
-	python_foreach_impl install_python
-}
diff --git a/chromeos-base/mojo-tools/mojo-tools-9999.ebuild b/chromeos-base/mojo-tools/mojo-tools-9999.ebuild
index c35d151..188a4d1 100644
--- a/chromeos-base/mojo-tools/mojo-tools-9999.ebuild
+++ b/chromeos-base/mojo-tools/mojo-tools-9999.ebuild
@@ -3,9 +3,9 @@
 
 EAPI="7"
 
-CROS_WORKON_PROJECT=("aosp/platform/external/libchrome")
-CROS_WORKON_LOCALNAME=("aosp/external/libchrome")
-CROS_WORKON_EGIT_BRANCH=("master")
+CROS_WORKON_PROJECT=("chromiumos/platform/libchrome")
+CROS_WORKON_LOCALNAME=("platform/libchrome")
+CROS_WORKON_EGIT_BRANCH=("main")
 CROS_WORKON_SUBTREE=("mojo/public/tools")
 PYTHON_COMPAT=( python3_{6..9} )
 
diff --git a/chromeos-base/mojo_service_manager/OWNERS b/chromeos-base/mojo_service_manager/OWNERS
new file mode 100644
index 0000000..5569419
--- /dev/null
+++ b/chromeos-base/mojo_service_manager/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/mojo_service_manager/OWNERS
diff --git a/chromeos-base/mojo_service_manager/files/revision_bump b/chromeos-base/mojo_service_manager/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/mojo_service_manager/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/mojo_service_manager/mojo_service_manager-0.0.1-r83.ebuild b/chromeos-base/mojo_service_manager/mojo_service_manager-0.0.1-r83.ebuild
new file mode 100644
index 0000000..d98ae37
--- /dev/null
+++ b/chromeos-base/mojo_service_manager/mojo_service_manager-0.0.1-r83.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e5479e7b2bbc0ce8164e799c7f1bc50ec3216a48" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk mojo_service_manager .gn"
+PLATFORM_SUBDIR="mojo_service_manager"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Daemon to manage mojo interfaces"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/mojo_service_manager/README.md"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="
+	chromeos-base/vboot_reference:=
+"
+
+pkg_preinst() {
+	enewuser mojo-service-manager
+	enewgroup mojo-service-manager
+}
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/mojo_service_manager/mojo_service_manager-9999.ebuild b/chromeos-base/mojo_service_manager/mojo_service_manager-9999.ebuild
new file mode 100644
index 0000000..a253f9e
--- /dev/null
+++ b/chromeos-base/mojo_service_manager/mojo_service_manager-9999.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk mojo_service_manager .gn"
+PLATFORM_SUBDIR="mojo_service_manager"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Daemon to manage mojo interfaces"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/mojo_service_manager/README.md"
+
+LICENSE="BSD-Google"
+KEYWORDS="~*"
+IUSE=""
+
+DEPEND="
+	chromeos-base/vboot_reference:=
+"
+
+pkg_preinst() {
+	enewuser mojo-service-manager
+	enewgroup mojo-service-manager
+}
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/mount-passthrough/files/revision_bump b/chromeos-base/mount-passthrough/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/mount-passthrough/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/mount-passthrough/mount-passthrough-0.0.2-r533.ebuild b/chromeos-base/mount-passthrough/mount-passthrough-0.0.2-r533.ebuild
deleted file mode 100644
index 9a35874..0000000
--- a/chromeos-base/mount-passthrough/mount-passthrough-0.0.2-r533.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "348e1bcce3f170ce3e4e0be69882434a861acfbd" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/mount-passthrough .gn"
-
-PLATFORM_SUBDIR="arc/mount-passthrough"
-
-inherit cros-workon platform
-
-DESCRIPTION="Mounts the specified directory with different owner UID and GID"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/mount-passthrough"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-COMMON_DEPEND="=sys-fs/fuse-2*
-	sys-libs/libcap:="
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}"
-
-src_install() {
-	platform_install
-}
diff --git a/chromeos-base/mount-passthrough/mount-passthrough-0.0.2-r597.ebuild b/chromeos-base/mount-passthrough/mount-passthrough-0.0.2-r597.ebuild
new file mode 100644
index 0000000..264f65c
--- /dev/null
+++ b/chromeos-base/mount-passthrough/mount-passthrough-0.0.2-r597.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "f783dc02e17f522e5e62cbc3a6f56aa96082b0c2" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/mount-passthrough .gn"
+
+PLATFORM_SUBDIR="arc/mount-passthrough"
+
+inherit cros-workon platform
+
+DESCRIPTION="Mounts the specified directory with different owner UID and GID"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/mount-passthrough"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+IUSE="arcpp"
+
+COMMON_DEPEND="=sys-fs/fuse-2*
+	sys-libs/libcap:="
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}"
+
+src_install() {
+	platform_install
+}
diff --git a/chromeos-base/mount-passthrough/mount-passthrough-9999.ebuild b/chromeos-base/mount-passthrough/mount-passthrough-9999.ebuild
index dacb324..09955f0 100644
--- a/chromeos-base/mount-passthrough/mount-passthrough-9999.ebuild
+++ b/chromeos-base/mount-passthrough/mount-passthrough-9999.ebuild
@@ -14,11 +14,13 @@
 inherit cros-workon platform
 
 DESCRIPTION="Mounts the specified directory with different owner UID and GID"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/mount-passthrough"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/mount-passthrough"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
 
+IUSE="arcpp"
+
 COMMON_DEPEND="=sys-fs/fuse-2*
 	sys-libs/libcap:="
 RDEPEND="${COMMON_DEPEND}"
diff --git a/chromeos-base/mri_package/files/revision_bump b/chromeos-base/mri_package/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/mri_package/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/mri_package/files/rtanalytics.policy b/chromeos-base/mri_package/files/rtanalytics.policy
index 4af4be4..28bea51d 100644
--- a/chromeos-base/mri_package/files/rtanalytics.policy
+++ b/chromeos-base/mri_package/files/rtanalytics.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 access: 1
 alarm: 1
 arch_prctl: 1
diff --git a/chromeos-base/mri_package/mri_package-0.0.1-r358.ebuild b/chromeos-base/mri_package/mri_package-0.0.1-r358.ebuild
deleted file mode 100644
index ec140a2b..0000000
--- a/chromeos-base/mri_package/mri_package-0.0.1-r358.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "46fa8bf62d6bab381954c1aeda3e376de7030f85" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_SUBTREE="common-mk media_perception .gn"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_OUTOFTREE_BUILD=1
-
-PLATFORM_SUBDIR="media_perception"
-
-inherit cros-workon platform udev user
-
-LIB_VERSION=72.0.0
-
-DESCRIPTION="Media perception service"
-SRC_URI="internal? ( gs://chromeos-localmirror-private/distfiles/${PN}-${LIB_VERSION}.tar.gz )"
-RESTRICT="mirror"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="internal"
-
-RDEPEND="
-	media-sound/adhd:=
-	>=sys-apps/dbus-1.0:=
-"
-DEPEND="${RDEPEND}"
-
-src_unpack() {
-	if use internal; then
-		unpack "${A}"
-	fi
-
-	platform_src_unpack
-}
-
-src_compile() {
-	if use internal; then
-		# Copy the library downloaded from chromeos-localmirror-private to the
-		# platform compile directory.
-		cp "${WORKDIR}"/librtanalytics.so "${OUT}" || die
-	fi
-
-	platform_src_compile
-}
-
-pkg_preinst() {
-	enewgroup rtanalytics
-	enewuser rtanalytics
-	enewgroup apex-access
-}
-
-src_install() {
-	insinto /etc/init/
-	doins "${FILESDIR}"/rtanalytics.conf
-
-	insinto /etc/dbus-1/system.d/
-	doins "${FILESDIR}"/org.chromium.MediaPerception.conf
-
-	insinto /usr/share/policy/
-	doins "${FILESDIR}"/rtanalytics.policy
-
-	udev_dorules "${FILESDIR}"/99-apex.rules
-}
diff --git a/chromeos-base/mri_package/mri_package-0.0.1-r424.ebuild b/chromeos-base/mri_package/mri_package-0.0.1-r424.ebuild
new file mode 100644
index 0000000..bc32583
--- /dev/null
+++ b/chromeos-base/mri_package/mri_package-0.0.1-r424.ebuild
@@ -0,0 +1,70 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "55e711ea347453c157ecfbeaa434f6236e83a8f6" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="common-mk media_perception .gn"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_OUTOFTREE_BUILD=1
+
+PLATFORM_SUBDIR="media_perception"
+
+inherit cros-workon platform udev user
+
+LIB_VERSION=72.0.0
+
+DESCRIPTION="Media perception service"
+SRC_URI="internal? ( gs://chromeos-localmirror-private/distfiles/${PN}-${LIB_VERSION}.tar.gz )"
+RESTRICT="mirror"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="internal"
+
+RDEPEND="
+	media-sound/adhd:=
+	>=sys-apps/dbus-1.0:=
+"
+DEPEND="${RDEPEND}"
+
+src_unpack() {
+	if use internal; then
+		unpack "${A}"
+	fi
+
+	platform_src_unpack
+}
+
+src_compile() {
+	if use internal; then
+		# Copy the library downloaded from chromeos-localmirror-private to the
+		# platform compile directory.
+		cp "${WORKDIR}"/librtanalytics.so "${OUT}" || die
+	fi
+
+	platform_src_compile
+}
+
+pkg_preinst() {
+	enewgroup rtanalytics
+	enewuser rtanalytics
+	enewgroup apex-access
+}
+
+src_install() {
+	insinto /etc/init/
+	doins "${FILESDIR}"/rtanalytics.conf
+
+	insinto /etc/dbus-1/system.d/
+	doins "${FILESDIR}"/org.chromium.MediaPerception.conf
+
+	insinto /usr/share/policy/
+	doins "${FILESDIR}"/rtanalytics.policy
+
+	udev_dorules "${FILESDIR}"/99-apex.rules
+}
diff --git a/chromeos-base/mtpd/files/revision_bump b/chromeos-base/mtpd/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/mtpd/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/mtpd/mtpd-0.0.1-r1058.ebuild b/chromeos-base/mtpd/mtpd-0.0.1-r1058.ebuild
new file mode 100644
index 0000000..42ee516
--- /dev/null
+++ b/chromeos-base/mtpd/mtpd-0.0.1-r1058.ebuild
@@ -0,0 +1,63 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "19fd4b7d746a3e6652d8d74ce0ca72cba5b79156" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE="common-mk mtpd .gn"
+PLATFORM_SUBDIR="mtpd"
+PLATFORM_NATIVE_TEST="yes"
+
+inherit cros-workon platform systemd user
+
+DESCRIPTION="MTP daemon for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/mtpd"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="-asan +seccomp systemd test"
+
+COMMON_DEPEND="
+	dev-libs/protobuf:=
+	media-libs/libmtp:=
+	virtual/udev
+"
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/system_api:="
+
+src_install() {
+	dosbin "${OUT}"/mtpd
+
+	# Install seccomp policy file.
+	insinto /usr/share/policy
+	use seccomp && newins "mtpd-seccomp-${ARCH}.policy" mtpd-seccomp.policy
+
+	# Install the init scripts.
+	if use systemd; then
+		systemd_dounit mtpd.service
+		systemd_enable_service system-services.target mtpd.service
+	else
+		insinto /etc/init
+		doins mtpd.conf
+	fi
+
+	# Install D-Bus config file.
+	insinto /etc/dbus-1/system.d
+	doins dbus/org.chromium.Mtpd.conf
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/mtpd_testrunner"
+}
+
+pkg_preinst() {
+	enewuser "mtp"
+	enewgroup "mtp"
+}
diff --git a/chromeos-base/mtpd/mtpd-0.0.1-r996.ebuild b/chromeos-base/mtpd/mtpd-0.0.1-r996.ebuild
deleted file mode 100644
index dac8f3f..0000000
--- a/chromeos-base/mtpd/mtpd-0.0.1-r996.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "06cc27d6b24f1793991fbf918e9bf52a57a6c78d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE="common-mk mtpd .gn"
-PLATFORM_SUBDIR="mtpd"
-PLATFORM_NATIVE_TEST="yes"
-
-inherit cros-workon platform systemd user
-
-DESCRIPTION="MTP daemon for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/mtpd"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="-asan +seccomp systemd test"
-
-COMMON_DEPEND="
-	dev-libs/protobuf:=
-	media-libs/libmtp:=
-	virtual/udev
-"
-
-RDEPEND="${COMMON_DEPEND}"
-
-DEPEND="${COMMON_DEPEND}
-	chromeos-base/system_api:="
-
-src_install() {
-	dosbin "${OUT}"/mtpd
-
-	# Install seccomp policy file.
-	insinto /usr/share/policy
-	use seccomp && newins "mtpd-seccomp-${ARCH}.policy" mtpd-seccomp.policy
-
-	# Install the init scripts.
-	if use systemd; then
-		systemd_dounit mtpd.service
-		systemd_enable_service system-services.target mtpd.service
-	else
-		insinto /etc/init
-		doins mtpd.conf
-	fi
-
-	# Install D-Bus config file.
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.Mtpd.conf
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/mtpd_testrunner"
-}
-
-pkg_preinst() {
-	enewuser "mtp"
-	enewgroup "mtp"
-}
diff --git a/chromeos-base/mtpd/mtpd-9999.ebuild b/chromeos-base/mtpd/mtpd-9999.ebuild
index 083aa2d..a7e3d89 100644
--- a/chromeos-base/mtpd/mtpd-9999.ebuild
+++ b/chromeos-base/mtpd/mtpd-9999.ebuild
@@ -13,7 +13,7 @@
 inherit cros-workon platform systemd user
 
 DESCRIPTION="MTP daemon for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/mtpd"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/mtpd"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/ndproxyd/OWNERS b/chromeos-base/ndproxyd/OWNERS
new file mode 100644
index 0000000..b830d86
--- /dev/null
+++ b/chromeos-base/ndproxyd/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/patchpanel/OWNERS
diff --git a/chromeos-base/ndproxyd/files/revision_bump b/chromeos-base/ndproxyd/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/ndproxyd/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/ndproxyd/ndproxyd-0.0.1-r349.ebuild b/chromeos-base/ndproxyd/ndproxyd-0.0.1-r349.ebuild
deleted file mode 100644
index 4b64dd6..0000000
--- a/chromeos-base/ndproxyd/ndproxyd-0.0.1-r349.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "49c48c6a3ecaa1c5c5d4762c8275d21891e7c40d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk patchpanel .gn"
-
-PLATFORM_SUBDIR="patchpanel/ndproxyd"
-
-inherit cros-workon libchrome platform
-
-DESCRIPTION="NDProxy daemon"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/network/"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-COMMON_DEPEND="
-	dev-libs/protobuf:=
-	chromeos-base/libbrillo:=
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-"
-
-src_install() {
-	platform_install
-}
diff --git a/chromeos-base/ndproxyd/ndproxyd-0.0.1-r432.ebuild b/chromeos-base/ndproxyd/ndproxyd-0.0.1-r432.ebuild
new file mode 100644
index 0000000..14dffa8
--- /dev/null
+++ b/chromeos-base/ndproxyd/ndproxyd-0.0.1-r432.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "f03ea3ffcf6f08a1cad9dffba29095b0b988ec0d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk patchpanel .gn"
+
+PLATFORM_SUBDIR="patchpanel/ndproxyd"
+
+inherit cros-workon libchrome platform
+
+DESCRIPTION="NDProxy daemon"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/network/"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+COMMON_DEPEND="
+	dev-libs/protobuf:=
+	chromeos-base/libbrillo:=
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+"
+
+src_install() {
+	platform_install
+}
diff --git a/chromeos-base/ndproxyd/ndproxyd-9999.ebuild b/chromeos-base/ndproxyd/ndproxyd-9999.ebuild
index b4b0504..240252c 100644
--- a/chromeos-base/ndproxyd/ndproxyd-9999.ebuild
+++ b/chromeos-base/ndproxyd/ndproxyd-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon libchrome platform
 
 DESCRIPTION="NDProxy daemon"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/network/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/network/"
 LICENSE="BSD-Google"
 KEYWORDS="~*"
 
diff --git a/chromeos-base/nnapi/README.md b/chromeos-base/nnapi/README.md
index cc46054..d680cf4 100644
--- a/chromeos-base/nnapi/README.md
+++ b/chromeos-base/nnapi/README.md
@@ -102,6 +102,7 @@
 1.  Do a non-ff git merge from `origin/upstream`.
 1.  Upload to gerrit.
 1.  Force submit / 'chump' the change since CQ won't process it.
+2.  If you do not have owner permissions then reach out to the [oncall sheriff](go/cros-oncall) and politely ask them for an owners override on your CL.
 1.  Within a few minutes, copybara should update `libcutils` and `libutils`.
 1.  Check the [Copybara dashboard](https://copybara.corp.google.com/list-jobs?piperConfigPath=%2F%2Fdepot%2Fgoogle3%2Fthird_party%2Fcopybara-gsubtreed%2Faosp%2Fcopy.bara.sky).
 
@@ -140,3 +141,47 @@
     output of the `get_gid_ids.sh` script.
 1.  Fix any build issues by creating ebuild patches (see the `files` dir).
 1.  Upload to gerrit and review as normal.
+
+### Uprev aosp-frameworks-ml-nn
+
+The majority of times someone will be following this documentation the ultimate goal is
+to update the aosp-framework-ml-nn package from the upstream branch. If this is the case
+continue on with the following instructions.
+
+First, up-rev the neuralnetworks package on which aosp-frameworks-ml-nn depends:
+```bash
+cd src/aosp/hardware/interfaces/neuralnetworks
+git checkout -b merge cros/main
+git merge cros/upstream/master --no-ff
+```
+This may result in a few merge conflicts that can not be automatically resolved. Manually
+fix any conflicts. The correct way to merge any conflicts may only become apparent after
+trying to build and test the aosp-frameworks-ml-nn package. Be prepared to redo the merge
+if you inadvetently leave in/remove the wrong parts.
+
+Now, lets up-rev the aosp-frameworks-ml-nn package:
+```bash
+cd src/aosp/frameworks/ml
+git checkout -b merge cros/main
+git merge cros/upstream/master --no-ff
+```
+The last command will likely generate a bunch of conflicts. Manually resolve them, taking
+note of any comments that exist around the point of conflict which perhaps indicates why
+the previous developer intentionally changed things.
+
+When all files have been merged we need to build and test the nnapi package and the
+aosp-frameworks-ml-nn package. Run
+```bash
+FEATURES=test emerge-$BOARD nnapi
+```
+Resolve any test failures or linking errors that may be reported. Linking errors may require
+edits to the BUILD.gn file to include newly added files, or update paths for files that
+have been moved around. Once NNAPI is passing, do the same things for aosp-frameworks-ml-nn
+```bash
+FEATURES=test emerge-$BOARD aosp-frameworks-ml-nn
+```
+You are quite likely to see build and test failures after this step. Inspect the updates
+for the symbols which the linker may be complaining about and update the BUILD.gn file.
+Some tests may fail if trying to use anything related to Telemetry or Hardware buffers.
+These tests should either be disabled; some code removed which uses these constructs; or
+wrapped in macros which are turned on only if `__ANDROID__` is defined.
diff --git a/chromeos-base/nnapi/files/00011-libutils-lightrefbase.patch b/chromeos-base/nnapi/files/00011-libutils-lightrefbase.patch
new file mode 100644
index 0000000..f8ef2ec
--- /dev/null
+++ b/chromeos-base/nnapi/files/00011-libutils-lightrefbase.patch
@@ -0,0 +1,23 @@
+Fixes the following build error:
+
+In file included from /build/brya/usr/include/aosp/utils/RefBase.h:221:
+/build/brya/usr/include/aosp/utils/LightRefBase.h:48:43: error: definition or redeclaration of 'memory_order_acquire' not allowed inside a function
+            std::atomic_thread_fence(std::memory_order_acquire);
+                                     ~~~~~^
+/usr/lib64/clang/14.0.0/include/stdatomic.h:73:62: note: expanded from macro 'atomic_thread_fence'
+#define atomic_thread_fence(order) __c11_atomic_thread_fence(order)
+                                                             ^~~~~
+
+diff --git a/platform2/aosp/system/core/libutils/include/utils/LightRefBase.h b/platform2/aosp/system/core/libutils/include/utils/LightRefBase.h
+index 40edf67..5a47f8b 100644
+--- a/platform2/aosp/system/core/libutils/include/utils/LightRefBase.h
++++ b/platform2/aosp/system/core/libutils/include/utils/LightRefBase.h
+@@ -45,7 +45,7 @@ public:
+     }
+     inline void decStrong(__attribute__((unused)) const void* id) const {
+         if (mCount.fetch_sub(1, std::memory_order_release) == 1) {
+-            std::atomic_thread_fence(std::memory_order_acquire);
++            atomic_thread_fence(std::memory_order_acquire);
+             delete static_cast<const T*>(this);
+         }
+     }
diff --git a/chromeos-base/nnapi/files/revision_bump b/chromeos-base/nnapi/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/nnapi/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/nnapi/nnapi-0.0.2-r5.ebuild b/chromeos-base/nnapi/nnapi-0.0.2-r5.ebuild
deleted file mode 100644
index 39a9cc1..0000000
--- a/chromeos-base/nnapi/nnapi-0.0.2-r5.ebuild
+++ /dev/null
@@ -1,183 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("6432a85a94d15c4128e64b040ccad970d3aa5c90" "8300206169b81cf8f6600886bc1f5a86e62ace98" "e50a8af67660544144c9e572d563c0c6ae8a8ddf" "02110e5625e05439f6008a01ba40e812cf1c03df" "2cba90a13babf861385364d191710eadab30a50d" "88e224a8203eea9ed9fa38a0e4c0260ecd9b69e7" "471609b486435ebb3b1136dfe24fca24a48c74ff" "47a22f5a8ab194749f2e4faedff997dab344534f")
-CROS_WORKON_TREE=("a3d79a5641e6cda7da95a9316f5d29998cc84865" "f735b73d41b17c5c309f6dc632a9491131208d47" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "7b1902bfd171c628068c91fc41e253d0c08df363" "050ba80727394b4c61589662e7e89333a0022cd9" "81192a924ab8c0627a67df8adaf8e6f68bd1d19b" "3628c32fe8388012af3c4322912f5b3bfb7c16fa" "cabdebe334f485c590ae0279805a523ec5021a3d" "19196bf22a93d302a71314ea2ee52f398d486b0a" "21bb97d372054e0717410c37ebf2528fc1afb8fa")
-inherit cros-constants
-
-CROS_WORKON_MANUAL_UPREV="1"
-
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform2"
-	"aosp/platform/frameworks/native"
-	"aosp/platform/system/core/libcutils"
-	"aosp/platform/system/core/libutils"
-	"aosp/platform/system/libbase"
-	"aosp/platform/system/libfmq"
-	"aosp/platform/system/libhidl"
-	"aosp/platform/system/logging"
-)
-CROS_WORKON_REPO=(
-	"${CROS_GIT_HOST_URL}"
-	"${CROS_GIT_HOST_URL}"
-	"${CROS_GIT_HOST_URL}"
-	"${CROS_GIT_HOST_URL}"
-	"${CROS_GIT_HOST_URL}"
-	"${CROS_GIT_HOST_URL}"
-	"${CROS_GIT_HOST_URL}"
-	"${CROS_GIT_HOST_URL}"
-)
-CROS_WORKON_LOCALNAME=(
-	"platform2"
-	"aosp/frameworks/native"
-	"aosp/system/core/libcutils"
-	"aosp/system/core/libutils"
-	"aosp/system/libbase"
-	"aosp/system/libfmq"
-	"aosp/system/libhidl"
-	"aosp/system/logging"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}/platform2"
-	"${S}/platform2/aosp/frameworks/native"
-	"${S}/platform2/aosp/system/core/libcutils"
-	"${S}/platform2/aosp/system/core/libutils"
-	"${S}/platform2/aosp/system/libbase"
-	"${S}/platform2/aosp/system/libfmq"
-	"${S}/platform2/aosp/system/libhidl"
-	"${S}/platform2/aosp/system/logging"
-)
-CROS_WORKON_SUBTREE=(
-	"common-mk nnapi .gn"
-	""
-	""
-	""
-	""
-	""
-	""
-	""
-)
-
-PLATFORM_SUBDIR="nnapi"
-
-inherit cros-workon platform
-
-DESCRIPTION="Chrome OS support utils for Android Neural Network API"
-HOMEPAGE="https://developer.android.com/ndk/guides/neuralnetworks"
-
-LICENSE="BSD-Google  Apache-2.0"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="
-"
-
-DEPEND="
-	${RDEPEND}
-"
-
-PATCHES=(
-	"${FILESDIR}/00001-libbase-fix-stderr-logging.patch"
-	"${FILESDIR}/00002-libhidl-callstack.patch"
-	"${FILESDIR}/00003-libutils-callstack.patch"
-	"${FILESDIR}/00004-libfmq-page-size.patch"
-	"${FILESDIR}/00005-libcutils-ashmemtests.patch"
-	"${FILESDIR}/00006-libhidl-cast-interface.patch"
-	"${FILESDIR}/00007-libbase-get-property-from-envvar.patch"
-	"${FILESDIR}/00008-libutils-memory-leak.patch"
-	"${FILESDIR}/00009-libutils-timer-cast.patch"
-	"${FILESDIR}/00010-libutils-clock-test.patch"
-)
-
-src_prepare() {
-	# The workdir is platform2/nnapi - we need to pop up one level in the stack
-	# to apply our patches.
-	pushd .. || exit
-	eapply -p2 "${FILESDIR}/00001-libbase-fix-stderr-logging.patch"
-	eapply -p2 "${FILESDIR}/00002-libhidl-callstack.patch"
-	eapply -p2 "${FILESDIR}/00003-libutils-callstack.patch"
-	eapply -p2 "${FILESDIR}/00004-libfmq-page-size.patch"
-	eapply -p2 "${FILESDIR}/00005-libcutils-ashmemtests.patch"
-	eapply -p2 "${FILESDIR}/00006-libhidl-cast-interface.patch"
-	eapply -p2 "${FILESDIR}/00007-libbase-get-property-from-envvar.patch"
-	eapply -p2 "${FILESDIR}/00008-libutils-memory-leak.patch"
-	eapply -p2 "${FILESDIR}/00009-libutils-timer-cast.patch"
-	eapply -p2 "${FILESDIR}/00010-libutils-clock-test.patch"
-	popd || exit
-
-	eapply_user
-}
-
-src_install() {
-	einfo "Installing Android headers."
-	insinto /usr/include/aosp
-	doins -r includes/*
-	doins -r ../aosp/frameworks/native/libs/arect/include/*
-	doins -r ../aosp/frameworks/native/libs/nativewindow/include/*
-	doins -r ../aosp/system/core/libcutils/include/*
-	doins -r ../aosp/system/core/libutils/include/*
-	doins -r ../aosp/system/libbase/include/*
-	doins -r ../aosp/system/libfmq/include/*
-	doins -r ../aosp/system/libfmq/base/*
-	doins -r ../aosp/system/libhidl/base/include/*
-	doins -r ../aosp/system/libhidl/libhidlmemory/include/*
-	doins -r ../aosp/system/logging/liblog/include/*
-	# Selectively install one off headers
-	insinto /usr/include/aosp/android
-	doins ../aosp/frameworks/native/include/android/sharedmem.h
-
-	einfo "Installing the shared library."
-	dolib.so "${OUT}/lib/libnnapi-support.so"
-
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	doins "${OUT}/obj/nnapi/libnnapi-support.pc"
-}
-
-platform_pkg_test() {
-	local tests=(
-		base cutils fmq hidl hwbuf log utils
-	)
-
-	# When running in qemu, these tests freeze the emulator when hitting
-	# EventFlag::wake from libfmq. The error printed is:
-	# Error in event flag wake attempt: Function not implemented
-	# This is a known issue, see:
-	# https://chromium.googlesource.com/chromiumos/docs/+/master/testing/running_unit_tests.md#caveats
-	local qemu_gtest_excl_filter="-"
-	qemu_gtest_excl_filter+="BlockingReadWrites.SmallInputTest1:"
-
-	local gtest_excl_filter="-"
-	if use asan; then
-		# The sharedbuffer tests deliberately allocate too much memory:
-		# AddressSanitizer: requested allocation size 0xfffffffffffffffe
-		# We can't use allocator_may_return_null=1 as it prints a warning that the
-		# toolchain considers an error.
-		gtest_excl_filter+="SharedBufferTest.alloc_null:"
-		gtest_excl_filter+="SharedBufferTest.alloc_big:"
-		gtest_excl_filter+="SharedBufferTest.alloc_max:"
-		gtest_excl_filter+="SharedBufferTest.editResize_null:"
-		gtest_excl_filter+="SharedBufferTest.editResize_death:"
-
-		# These tests expects an exit before the memory is cleaned up,
-		# so asan picks this up as a leak, but it's intentional.
-		gtest_excl_filter+="StrongPointer*.AssertStrongRefExists:"
-		gtest_excl_filter+="RefBase.AssertWeakRefExistsDeath:"
-
-		# ForkSafe leaves some threads running which results in warning printed:
-		# ==26==Running thread 23 was not suspended. False leaks are possible.
-		# Toolchain considers anything in the asan output as an error.
-		gtest_excl_filter+="logging.ForkSafe:"
-
-		# The queue created in this test cannot be deleted without crashing in
-		# the hidl library. lsan_suppressions doesn't work due to the lack of
-		# /usr/bin/llvm-symbolizer, so just exclude the test.
-		gtest_excl_filter+="BadQueueConfig.QueueSizeTooLarge:"
-	fi
-
-	local test_target
-	for test_target in "${tests[@]}"; do
-		platform_test "run" "${OUT}/lib${test_target}_testrunner" "0" "${gtest_excl_filter}" "${qemu_gtest_excl_filter}"
-	done
-}
diff --git a/chromeos-base/nnapi/nnapi-0.0.2-r7.ebuild b/chromeos-base/nnapi/nnapi-0.0.2-r7.ebuild
new file mode 100644
index 0000000..19dd88d
--- /dev/null
+++ b/chromeos-base/nnapi/nnapi-0.0.2-r7.ebuild
@@ -0,0 +1,194 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("e0ef165c6e571b406b51eb0cef086d51d069c0c0" "5e9a89d06c41edf5cf43da8acf5f26ed104887e6" "dcc518ef32993d0171d0849bd3677c9d0948f8bb" "6518555263253e9fdf7e37d26866cbe75bc11e97" "9537e373c71c26c5495be60d267dff5eb88b180f" "1d72513a44e4cb856c1cc70f95f9b1e88b1b4a78" "49005468bfa1d0c3ed69d8a61b8d0fbaafd1e836" "2e909ccdf779939e5caa5ab52851f38f22037ae9")
+CROS_WORKON_TREE=("20fecf8e8aefa548043f2cb501f222213c15929d" "bdc8fc4c0d82b11e24d0a4048a1cac7f17a7cc12" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "693bb2d63562c6eff050d04f75aab1e9251e6548" "1a77f7f025502657540bbec1f57cbbb6478be4b4" "6e40c8c1bb5c4bf8a74175e2f1cf12ca9071319a" "6fadd8addab8504349cdeefe51b583b97c2ae7f4" "420490156b9efe3f015ad092cc203f7d8bbdd6cf" "94b4cc4a6205839e2c297f30d0a2e62b1c221a04" "ae1614ebb22b8aa59ecd0d29e1a0e162deaa2d09")
+
+inherit cros-constants
+
+CROS_WORKON_MANUAL_UPREV="1"
+
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform2"
+	"aosp/platform/frameworks/native"
+	"aosp/platform/system/core/libcutils"
+	"aosp/platform/system/core/libutils"
+	"aosp/platform/system/libbase"
+	"aosp/platform/system/libfmq"
+	"aosp/platform/system/libhidl"
+	"aosp/platform/system/logging"
+)
+CROS_WORKON_REPO=(
+	"${CROS_GIT_HOST_URL}"
+	"${CROS_GIT_HOST_URL}"
+	"${CROS_GIT_HOST_URL}"
+	"${CROS_GIT_HOST_URL}"
+	"${CROS_GIT_HOST_URL}"
+	"${CROS_GIT_HOST_URL}"
+	"${CROS_GIT_HOST_URL}"
+	"${CROS_GIT_HOST_URL}"
+)
+CROS_WORKON_LOCALNAME=(
+	"platform2"
+	"aosp/frameworks/native"
+	"aosp/system/core/libcutils"
+	"aosp/system/core/libutils"
+	"aosp/system/libbase"
+	"aosp/system/libfmq"
+	"aosp/system/libhidl"
+	"aosp/system/logging"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}/platform2"
+	"${S}/platform2/aosp/frameworks/native"
+	"${S}/platform2/aosp/system/core/libcutils"
+	"${S}/platform2/aosp/system/core/libutils"
+	"${S}/platform2/aosp/system/libbase"
+	"${S}/platform2/aosp/system/libfmq"
+	"${S}/platform2/aosp/system/libhidl"
+	"${S}/platform2/aosp/system/logging"
+)
+CROS_WORKON_SUBTREE=(
+	"common-mk nnapi .gn"
+	""
+	""
+	""
+	""
+	""
+	""
+	""
+)
+CROS_WORKON_EGIT_BRANCH=(
+	"main"
+	"master"
+	"master"
+	"master"
+	"master"
+	"master"
+	"master"
+	"master"
+)
+
+PLATFORM_SUBDIR="nnapi"
+
+inherit cros-workon platform
+
+DESCRIPTION="Chrome OS support utils for Android Neural Network API"
+HOMEPAGE="https://developer.android.com/ndk/guides/neuralnetworks"
+
+LICENSE="BSD-Google  Apache-2.0"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="
+"
+
+DEPEND="
+	${RDEPEND}
+"
+
+PATCHES=(
+	"${FILESDIR}/00001-libbase-fix-stderr-logging.patch"
+	"${FILESDIR}/00002-libhidl-callstack.patch"
+	"${FILESDIR}/00003-libutils-callstack.patch"
+	"${FILESDIR}/00004-libfmq-page-size.patch"
+	"${FILESDIR}/00005-libcutils-ashmemtests.patch"
+	"${FILESDIR}/00006-libhidl-cast-interface.patch"
+	"${FILESDIR}/00007-libbase-get-property-from-envvar.patch"
+	"${FILESDIR}/00008-libutils-memory-leak.patch"
+	"${FILESDIR}/00009-libutils-timer-cast.patch"
+	"${FILESDIR}/00010-libutils-clock-test.patch"
+)
+
+src_prepare() {
+	# The workdir is platform2/nnapi - we need to pop up one level in the stack
+	# to apply our patches.
+	pushd .. || exit
+	eapply -p2 "${FILESDIR}/00001-libbase-fix-stderr-logging.patch"
+	eapply -p2 "${FILESDIR}/00002-libhidl-callstack.patch"
+	eapply -p2 "${FILESDIR}/00003-libutils-callstack.patch"
+	eapply -p2 "${FILESDIR}/00004-libfmq-page-size.patch"
+	eapply -p2 "${FILESDIR}/00005-libcutils-ashmemtests.patch"
+	eapply -p2 "${FILESDIR}/00006-libhidl-cast-interface.patch"
+	eapply -p2 "${FILESDIR}/00007-libbase-get-property-from-envvar.patch"
+	eapply -p2 "${FILESDIR}/00008-libutils-memory-leak.patch"
+	eapply -p2 "${FILESDIR}/00009-libutils-timer-cast.patch"
+	eapply -p2 "${FILESDIR}/00010-libutils-clock-test.patch"
+	popd || exit
+
+	eapply_user
+}
+
+src_install() {
+	einfo "Installing Android headers."
+	insinto /usr/include/aosp
+	doins -r includes/*
+	doins -r ../aosp/frameworks/native/libs/arect/include/*
+	doins -r ../aosp/frameworks/native/libs/nativewindow/include/*
+	doins -r ../aosp/system/core/libcutils/include/*
+	doins -r ../aosp/system/core/libutils/include/*
+	doins -r ../aosp/system/libbase/include/*
+	doins -r ../aosp/system/libfmq/include/*
+	doins -r ../aosp/system/libfmq/base/*
+	doins -r ../aosp/system/libhidl/base/include/*
+	doins -r ../aosp/system/libhidl/libhidlmemory/include/*
+	doins -r ../aosp/system/logging/liblog/include/*
+	# Selectively install one off headers
+	insinto /usr/include/aosp/android
+	doins ../aosp/frameworks/native/include/android/sharedmem.h
+
+	einfo "Installing the shared library."
+	dolib.so "${OUT}/lib/libnnapi-support.so"
+
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins "${OUT}/obj/nnapi/libnnapi-support.pc"
+}
+
+platform_pkg_test() {
+	local tests=(
+		base cutils fmq hidl hwbuf log utils
+	)
+
+	# When running in qemu, these tests freeze the emulator when hitting
+	# EventFlag::wake from libfmq. The error printed is:
+	# Error in event flag wake attempt: Function not implemented
+	# This is a known issue, see:
+	# https://chromium.googlesource.com/chromiumos/docs/+/master/testing/running_unit_tests.md#caveats
+	local qemu_gtest_excl_filter="-"
+	qemu_gtest_excl_filter+="BlockingReadWrites.SmallInputTest1:"
+
+	local gtest_excl_filter="-"
+	if use asan; then
+		# The sharedbuffer tests deliberately allocate too much memory:
+		# AddressSanitizer: requested allocation size 0xfffffffffffffffe
+		# We can't use allocator_may_return_null=1 as it prints a warning that the
+		# toolchain considers an error.
+		gtest_excl_filter+="SharedBufferTest.alloc_null:"
+		gtest_excl_filter+="SharedBufferTest.alloc_big:"
+		gtest_excl_filter+="SharedBufferTest.alloc_max:"
+		gtest_excl_filter+="SharedBufferTest.editResize_null:"
+		gtest_excl_filter+="SharedBufferTest.editResize_death:"
+
+		# These tests expects an exit before the memory is cleaned up,
+		# so asan picks this up as a leak, but it's intentional.
+		gtest_excl_filter+="StrongPointer*.AssertStrongRefExists:"
+		gtest_excl_filter+="RefBase.AssertWeakRefExistsDeath:"
+
+		# ForkSafe leaves some threads running which results in warning printed:
+		# ==26==Running thread 23 was not suspended. False leaks are possible.
+		# Toolchain considers anything in the asan output as an error.
+		gtest_excl_filter+="logging.ForkSafe:"
+
+		# The queue created in this test cannot be deleted without crashing in
+		# the hidl library. lsan_suppressions doesn't work due to the lack of
+		# /usr/bin/llvm-symbolizer, so just exclude the test.
+		gtest_excl_filter+="BadQueueConfig.QueueSizeTooLarge:"
+	fi
+
+	local test_target
+	for test_target in "${tests[@]}"; do
+		platform_test "run" "${OUT}/lib${test_target}_testrunner" "0" "${gtest_excl_filter}" "${qemu_gtest_excl_filter}"
+	done
+}
diff --git a/chromeos-base/nnapi/nnapi-9999.ebuild b/chromeos-base/nnapi/nnapi-9999.ebuild
index 73c5a2c..f7d30b0 100644
--- a/chromeos-base/nnapi/nnapi-9999.ebuild
+++ b/chromeos-base/nnapi/nnapi-9999.ebuild
@@ -97,6 +97,7 @@
 	"${FILESDIR}/00008-libutils-memory-leak.patch"
 	"${FILESDIR}/00009-libutils-timer-cast.patch"
 	"${FILESDIR}/00010-libutils-clock-test.patch"
+	"${FILESDIR}/00011-libutils-lightrefbase.patch"
 )
 
 src_prepare() {
@@ -113,6 +114,7 @@
 	eapply -p2 "${FILESDIR}/00008-libutils-memory-leak.patch"
 	eapply -p2 "${FILESDIR}/00009-libutils-timer-cast.patch"
 	eapply -p2 "${FILESDIR}/00010-libutils-clock-test.patch"
+	eapply -p2 "${FILESDIR}/00011-libutils-lightrefbase.patch"
 	popd || exit
 
 	eapply_user
@@ -145,7 +147,7 @@
 
 platform_pkg_test() {
 	local tests=(
-		base cutils fmq hidl hwbuf log utils
+		base cutils fmq hidl hwbuf log utils native
 	)
 
 	# When running in qemu, these tests freeze the emulator when hitting
diff --git a/net-print/cups-filters/OWNERS b/chromeos-base/ocr/OWNERS
similarity index 100%
copy from net-print/cups-filters/OWNERS
copy to chromeos-base/ocr/OWNERS
diff --git a/chromeos-base/ocr/files/revision_bump b/chromeos-base/ocr/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/ocr/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/ocr/ocr-0.0.1-r129.ebuild b/chromeos-base/ocr/ocr-0.0.1-r129.ebuild
deleted file mode 100644
index 45798d0..0000000
--- a/chromeos-base/ocr/ocr-0.0.1-r129.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "71ac4fba03d3ae469f2a9b2474be4fe0eee115f4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_SUBTREE="common-mk ocr .gn"
-CROS_WORKON_OUTOFTREE_BUILD=1
-
-PLATFORM_SUBDIR="ocr"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Optical Character Recognition service for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/ocr/"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="fuzzer"
-
-COMMON_DEPEND="
-	app-text/tesseract:=
-"
-
-RDEPEND="${COMMON_DEPEND}"
-
-DEPEND="${COMMON_DEPEND}
-	chromeos-base/system_api:=
-"
-
-pkg_preinst() {
-	enewuser ocr_service
-	enewgroup ocr_service
-}
-
-src_install() {
-	dobin "${OUT}"/ocr_service
-
-	dobin "${OUT}"/ocr_tool
-
-	# Install upstart configuration except for fuzzer builds.
-	insinto /etc/init
-	use fuzzer || doins init/ocr_service.conf
-
-	# Install D-Bus configuration file.
-	insinto /etc/dbus-1/system.d
-	doins dbus_permissions/org.chromium.OpticalCharacterRecognition.conf
-
-	# Install D-Bus service activation configuration.
-	insinto /usr/share/dbus-1/system-services
-	doins dbus_permissions/org.chromium.OpticalCharacterRecognition.service
-
-	# Install the fuzzer
-	local comp="860616"
-	platform_fuzzer_install "${S}/OWNERS" "${OUT}/ocr_service_fuzzer" \
-		--comp "${comp}"
-}
-
-platform_pkg_test() {
-	local tests=(
-		"ocr_service_test"
-	)
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-}
diff --git a/chromeos-base/ocr/ocr-0.0.1-r186.ebuild b/chromeos-base/ocr/ocr-0.0.1-r186.ebuild
new file mode 100644
index 0000000..91bd3cb
--- /dev/null
+++ b/chromeos-base/ocr/ocr-0.0.1-r186.ebuild
@@ -0,0 +1,73 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "71ac4fba03d3ae469f2a9b2474be4fe0eee115f4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="common-mk ocr .gn"
+CROS_WORKON_OUTOFTREE_BUILD=1
+
+PLATFORM_SUBDIR="ocr"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Optical Character Recognition service for Chrome OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/ocr/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="fuzzer"
+
+COMMON_DEPEND="
+	app-text/tesseract:=
+"
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/system_api:=
+"
+
+pkg_preinst() {
+	enewuser ocr_service
+	enewgroup ocr_service
+}
+
+src_install() {
+	dobin "${OUT}"/ocr_service
+
+	dobin "${OUT}"/ocr_tool
+
+	# Install upstart configuration except for fuzzer builds.
+	insinto /etc/init
+	use fuzzer || doins init/ocr_service.conf
+
+	# Install D-Bus configuration file.
+	insinto /etc/dbus-1/system.d
+	doins dbus_permissions/org.chromium.OpticalCharacterRecognition.conf
+
+	# Install D-Bus service activation configuration.
+	insinto /usr/share/dbus-1/system-services
+	doins dbus_permissions/org.chromium.OpticalCharacterRecognition.service
+
+	# Install the fuzzer
+	local comp="860616"
+	platform_fuzzer_install "${S}/OWNERS" "${OUT}/ocr_service_fuzzer" \
+		--comp "${comp}"
+}
+
+platform_pkg_test() {
+	local tests=(
+		"ocr_service_test"
+	)
+
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+}
diff --git a/chromeos-base/oobe_config/files/revision_bump b/chromeos-base/oobe_config/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/oobe_config/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/oobe_config/oobe_config-0.0.1-r572.ebuild b/chromeos-base/oobe_config/oobe_config-0.0.1-r572.ebuild
deleted file mode 100644
index 53acea5..0000000
--- a/chromeos-base/oobe_config/oobe_config-0.0.1-r572.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "b3a023015c49fe955aac7adb3fb687fa5aaff377" "4a0dedab080195bdc122d2289118df4af3ddca2c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk oobe_config metrics .gn"
-
-PLATFORM_SUBDIR="oobe_config"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Provides utilities to save and restore OOBE config."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/oobe_config/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="tpm tpm_dynamic tpm2"
-REQUIRED_USE="
-	tpm_dynamic? ( tpm tpm2 )
-	!tpm_dynamic? ( ?? ( tpm tpm2 ) )
-"
-
-COMMMON_DEPEND="
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	sys-apps/dbus:=
-"
-RDEPEND="${COMMMON_DEPEND}"
-DEPEND="
-	${COMMMON_DEPEND}
-	chromeos-base/power_manager-client:=
-	chromeos-base/system_api:=
-"
-
-pkg_preinst() {
-	enewuser "oobe_config_save"
-	enewuser "oobe_config_restore"
-	enewgroup "oobe_config_save"
-	enewgroup "oobe_config_restore"
-}
-
-src_install() {
-	dosbin "${OUT}"/rollback_prepare_save
-	dosbin "${OUT}"/oobe_config_save
-	dosbin "${OUT}"/oobe_config_restore
-	dosbin "${OUT}"/rollback_finish_restore
-
-	insinto /etc/dbus-1/system.d
-	doins etc/dbus-1/org.chromium.OobeConfigRestore.conf
-
-	insinto /etc/init
-	doins etc/init/oobe_config_restore.conf
-	doins etc/init/oobe_config_save.conf
-	if use tpm2; then
-		sed -i 's/and started tcsd//' \
-			"${D}/etc/init/oobe_config_restore.conf" ||
-			die "Can't remove upstart dependency on tcsd"
-
-		sed -i 's/-b \/run\/tcsd//' \
-			"${D}/etc/init/oobe_config_restore.conf" ||
-			die "Can't remove /run/tcsd bind mount"
-
-		sed -i 's/-b \/run\/tcsd//' \
-			"${D}/etc/init/oobe_config_save.conf" ||
-			die "Can't remove /run/tcsd bind mount"
-	fi
-
-	insinto /usr/share/policy
-	newins seccomp_filters/oobe_config_restore-seccomp-"${ARCH}".policy \
-		oobe_config_restore-seccomp.policy
-	newins seccomp_filters/oobe_config_save-seccomp-"${ARCH}".policy \
-		oobe_config_save-seccomp.policy
-}
-
-platform_pkg_test() {
-	local tests=(
-		oobe_config_test
-	)
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-}
diff --git a/chromeos-base/oobe_config/oobe_config-0.0.1-r676.ebuild b/chromeos-base/oobe_config/oobe_config-0.0.1-r676.ebuild
new file mode 100644
index 0000000..e2cf29e
--- /dev/null
+++ b/chromeos-base/oobe_config/oobe_config-0.0.1-r676.ebuild
@@ -0,0 +1,95 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "23e26d72db170ceb92e4d3682dbad1c73030acfa" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk oobe_config metrics .gn"
+
+PLATFORM_SUBDIR="oobe_config"
+
+inherit cros-workon platform tmpfiles user
+
+DESCRIPTION="Provides utilities to save and restore OOBE config."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/oobe_config/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="tpm tpm_dynamic tpm2"
+REQUIRED_USE="
+	tpm_dynamic? ( tpm tpm2 )
+	!tpm_dynamic? ( ?? ( tpm tpm2 ) )
+"
+
+COMMMON_DEPEND="
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	sys-apps/dbus:=
+"
+RDEPEND="${COMMMON_DEPEND}"
+DEPEND="
+	${COMMMON_DEPEND}
+	chromeos-base/power_manager-client:=
+	chromeos-base/system_api:=
+"
+
+pkg_preinst() {
+	enewuser "oobe_config_save"
+	enewuser "oobe_config_restore"
+	enewgroup "oobe_config_save"
+	enewgroup "oobe_config_restore"
+}
+
+src_install() {
+	platform_src_install
+
+	dosbin "${OUT}"/rollback_prepare_save
+	dosbin "${OUT}"/oobe_config_save
+	dosbin "${OUT}"/oobe_config_restore
+	dosbin "${OUT}"/rollback_finish_restore
+
+	insinto /etc/dbus-1/system.d
+	doins etc/dbus-1/org.chromium.OobeConfigRestore.conf
+
+	insinto /etc/init
+	doins etc/init/oobe_config_restore.conf
+	doins etc/init/oobe_config_save.conf
+	if use tpm2; then
+		sed -i 's/and started tcsd//' \
+			"${D}/etc/init/oobe_config_restore.conf" ||
+			die "Can't remove upstart dependency on tcsd"
+
+		sed -i 's/-b \/run\/tcsd//' \
+			"${D}/etc/init/oobe_config_restore.conf" ||
+			die "Can't remove /run/tcsd bind mount"
+
+		sed -i 's/-b \/run\/tcsd//' \
+			"${D}/etc/init/oobe_config_save.conf" ||
+			die "Can't remove /run/tcsd bind mount"
+	fi
+
+	insinto /usr/share/policy
+	newins seccomp_filters/oobe_config_restore-seccomp-"${ARCH}".policy \
+		oobe_config_restore-seccomp.policy
+	newins seccomp_filters/oobe_config_save-seccomp-"${ARCH}".policy \
+		oobe_config_save-seccomp.policy
+
+	insinto /usr/lib/tmpfiles.d/on-demand
+	doins tmpfiles.d/on-demand/oobe_config_restore.conf
+	doins tmpfiles.d/on-demand/oobe_config_save.conf
+}
+
+platform_pkg_test() {
+	local tests=(
+		oobe_config_test
+	)
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+}
diff --git a/chromeos-base/oobe_config/oobe_config-9999.ebuild b/chromeos-base/oobe_config/oobe_config-9999.ebuild
index b3c76f5..4dc5325 100644
--- a/chromeos-base/oobe_config/oobe_config-9999.ebuild
+++ b/chromeos-base/oobe_config/oobe_config-9999.ebuild
@@ -12,10 +12,10 @@
 
 PLATFORM_SUBDIR="oobe_config"
 
-inherit cros-workon platform user
+inherit cros-workon platform tmpfiles user
 
 DESCRIPTION="Provides utilities to save and restore OOBE config."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/oobe_config/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/oobe_config/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
@@ -44,6 +44,8 @@
 }
 
 src_install() {
+	platform_src_install
+
 	dosbin "${OUT}"/rollback_prepare_save
 	dosbin "${OUT}"/oobe_config_save
 	dosbin "${OUT}"/oobe_config_restore
@@ -74,6 +76,10 @@
 		oobe_config_restore-seccomp.policy
 	newins seccomp_filters/oobe_config_save-seccomp-"${ARCH}".policy \
 		oobe_config_save-seccomp.policy
+
+	insinto /usr/lib/tmpfiles.d/on-demand
+	doins tmpfiles.d/on-demand/oobe_config_restore.conf
+	doins tmpfiles.d/on-demand/oobe_config_save.conf
 }
 
 platform_pkg_test() {
diff --git a/chromeos-base/openssh-server-init/openssh-server-init-0.0.1-r25.ebuild b/chromeos-base/openssh-server-init/openssh-server-init-0.0.1-r26.ebuild
similarity index 100%
rename from chromeos-base/openssh-server-init/openssh-server-init-0.0.1-r25.ebuild
rename to chromeos-base/openssh-server-init/openssh-server-init-0.0.1-r26.ebuild
diff --git a/chromeos-base/openssh-server-init/openssh-server-init-0.0.1.ebuild b/chromeos-base/openssh-server-init/openssh-server-init-0.0.1.ebuild
index 373e924..2a163b7 100644
--- a/chromeos-base/openssh-server-init/openssh-server-init-0.0.1.ebuild
+++ b/chromeos-base/openssh-server-init/openssh-server-init-0.0.1.ebuild
@@ -1,12 +1,12 @@
 # Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="4"
+EAPI="7"
 
 inherit systemd
 
 DESCRIPTION="Install the upstart job that launches the openssh-server."
-HOMEPAGE="http://www.chromium.org/"
+HOMEPAGE="https://dev.chromium.org/chromium-os"
 
 LICENSE="BSD-Google"
 SLOT="0"
diff --git a/chromeos-base/os_install_service/os_install_service-1.0.0-r14.ebuild b/chromeos-base/os_install_service/os_install_service-1.0.0-r14.ebuild
deleted file mode 100644
index 9e5e109..0000000
--- a/chromeos-base/os_install_service/os_install_service-1.0.0-r14.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="c660c2ae3f65dfe127d9c9773d53dcbbf24d0d92"
-CROS_WORKON_TREE="5035102ea3b2071cfbdc99275b59d4317aa05439"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_SUBTREE="os_install_service"
-
-inherit cros-workon cros-rust tmpfiles
-
-LICENSE="BSD-Google"
-SLOT="0/${PVR}"
-KEYWORDS="*"
-IUSE="test"
-
-DEPEND="
-	chromeos-base/system_api:=
-	=dev-rust/anyhow-1.0*:=
-	=dev-rust/chrono-0.4*:=
-	=dev-rust/crossbeam-channel-0.5*:=
-	=dev-rust/dbus-0.8*:=
-	=dev-rust/lazy_static-1.4*:=
-	=dev-rust/log-0.4*:=
-	=dev-rust/nix-0.19*:=
-	=dev-rust/serde-1.0*:=
-	=dev-rust/serde_json-1.0*:=
-	dev-rust/sys_util:=
-	=dev-rust/tempfile-3*:=
-	=dev-rust/thiserror-1.0*:=
-"
-
-RDEPEND="
-	chromeos-base/chromeos-installer
-	sys-apps/util-linux
-	sys-block/parted
-"
-
-src_install() {
-	insinto /etc/dbus-1/system.d
-	doins conf/org.chromium.OsInstallService.conf
-
-	insinto /usr/share/policy
-	newins "conf/os_install_service-seccomp-${ARCH}.policy" os_install_service-seccomp.policy
-
-	insinto /etc/init
-	doins conf/os_install_service.conf
-
-	newtmpfiles conf/tmpfiles.conf os_install_service.conf
-
-	dosbin "$(cros-rust_get_build_dir)/is_running_from_installer"
-	dosbin "$(cros-rust_get_build_dir)/os_install_service"
-}
diff --git a/chromeos-base/os_install_service/os_install_service-1.0.0-r19.ebuild b/chromeos-base/os_install_service/os_install_service-1.0.0-r19.ebuild
new file mode 100644
index 0000000..b49ab32
--- /dev/null
+++ b/chromeos-base/os_install_service/os_install_service-1.0.0-r19.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="cc8316dec4c8389d0e6f86f267d04566aa98ff03"
+CROS_WORKON_TREE="3b94d21015b70ad2a11e890fd58495debfd58afb"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="os_install_service"
+
+inherit cros-workon cros-rust tmpfiles
+
+LICENSE="BSD-Google"
+SLOT="0/${PVR}"
+KEYWORDS="*"
+IUSE="test"
+
+DEPEND="
+	chromeos-base/system_api:=
+	=dev-rust/anyhow-1.0*:=
+	=dev-rust/chrono-0.4*:=
+	=dev-rust/crossbeam-channel-0.5*:=
+	=dev-rust/dbus-0.8*:=
+	=dev-rust/lazy_static-1.4*:=
+	=dev-rust/log-0.4*:=
+	=dev-rust/nix-0.23*:=
+	=dev-rust/serde-1.0*:=
+	=dev-rust/serde_json-1.0*:=
+	dev-rust/sys_util:=
+	=dev-rust/tempfile-3*:=
+	=dev-rust/thiserror-1.0*:=
+"
+
+RDEPEND="
+	chromeos-base/chromeos-installer
+	sys-apps/util-linux
+	sys-block/parted
+"
+
+src_install() {
+	insinto /etc/dbus-1/system.d
+	doins conf/org.chromium.OsInstallService.conf
+
+	insinto /usr/share/policy
+	newins "conf/os_install_service-seccomp-${ARCH}.policy" os_install_service-seccomp.policy
+
+	insinto /etc/init
+	doins conf/os_install_service.conf
+
+	newtmpfiles conf/tmpfiles.conf os_install_service.conf
+
+	dosbin "$(cros-rust_get_build_dir)/is_running_from_installer"
+	dosbin "$(cros-rust_get_build_dir)/os_install_service"
+}
diff --git a/chromeos-base/os_install_service/os_install_service-9999.ebuild b/chromeos-base/os_install_service/os_install_service-9999.ebuild
index e3411fe..41dc4e5 100644
--- a/chromeos-base/os_install_service/os_install_service-9999.ebuild
+++ b/chromeos-base/os_install_service/os_install_service-9999.ebuild
@@ -23,7 +23,7 @@
 	=dev-rust/dbus-0.8*:=
 	=dev-rust/lazy_static-1.4*:=
 	=dev-rust/log-0.4*:=
-	=dev-rust/nix-0.19*:=
+	=dev-rust/nix-0.23*:=
 	=dev-rust/serde-1.0*:=
 	=dev-rust/serde_json-1.0*:=
 	dev-rust/sys_util:=
diff --git a/chromeos-base/p2p/files/revision_bump b/chromeos-base/p2p/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/p2p/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/p2p/p2p-0.0.1-r3420.ebuild b/chromeos-base/p2p/p2p-0.0.1-r3420.ebuild
deleted file mode 100644
index 6c33c8b..0000000
--- a/chromeos-base/p2p/p2p-0.0.1-r3420.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "4a0dedab080195bdc122d2289118df4af3ddca2c" "cb6d891fb3788db7b72539467ccd7cfb17069afc" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk metrics p2p .gn"
-
-PLATFORM_SUBDIR="p2p"
-
-inherit cros-debug cros-workon platform user
-
-DESCRIPTION="Chromium OS P2P"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/p2p/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
-
-COMMON_DEPEND=">=chromeos-base/metrics-0.0.1-r3152:=
-	dev-libs/glib:=
-	net-dns/avahi-daemon:=
-	net-firewall/iptables:="
-
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}"
-
-platform_pkg_test() {
-	local tests=(
-		p2p-client-unittests
-		p2p-server-unittests
-		p2p-http-server-unittests
-		p2p-common-unittests
-	)
-
-	local test_bin
-	cd "${OUT}"
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "./${test_bin}"
-	done
-}
-
-pkg_preinst() {
-	# Groups are managed in the central account database.
-	enewgroup p2p
-	enewuser p2p
-}
-
-src_install() {
-	dosbin "${OUT}"/p2p-client
-	dosbin "${OUT}"/p2p-server
-	dosbin "${OUT}"/p2p-http-server
-
-	insinto /etc/init
-	doins data/p2p.conf
-
-	# Install fuzzer
-	local fuzzer_component_id="908319"
-	platform_fuzzer_install "${S}"/OWNERS \
-			"${OUT}"/p2p_http_server_fuzzer \
-			--comp "${fuzzer_component_id}"
-}
diff --git a/chromeos-base/p2p/p2p-0.0.1-r3519.ebuild b/chromeos-base/p2p/p2p-0.0.1-r3519.ebuild
new file mode 100644
index 0000000..33fd4e1
--- /dev/null
+++ b/chromeos-base/p2p/p2p-0.0.1-r3519.ebuild
@@ -0,0 +1,70 @@
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "d8f47448cc0c72d3398c8e958cf3ce08eba6f1d5" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk metrics p2p .gn"
+
+PLATFORM_SUBDIR="p2p"
+
+inherit cros-debug cros-workon platform user
+
+DESCRIPTION="Chromium OS P2P"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/p2p/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+COMMON_DEPEND=">=chromeos-base/metrics-0.0.1-r3152:=
+	dev-libs/glib:=
+	net-dns/avahi-daemon:=
+	net-firewall/iptables:="
+
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}"
+
+platform_pkg_test() {
+	local tests=(
+		p2p-client-unittests
+		p2p-server-unittests
+		p2p-http-server-unittests
+		p2p-common-unittests
+	)
+
+	local test_bin
+	cd "${OUT}"
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "./${test_bin}"
+	done
+}
+
+pkg_preinst() {
+	# Groups are managed in the central account database.
+	enewgroup p2p
+	enewuser p2p
+}
+
+src_install() {
+	dosbin "${OUT}"/p2p-client
+	dosbin "${OUT}"/p2p-server
+	dosbin "${OUT}"/p2p-http-server
+
+	insinto /etc/init
+	doins data/p2p.conf
+
+	# Install fuzzer
+	local fuzzer_component_id="908319"
+	platform_fuzzer_install "${S}"/OWNERS \
+			"${OUT}"/p2p_http_server_fuzzer \
+			--comp "${fuzzer_component_id}"
+}
diff --git a/chromeos-base/p2p/p2p-9999.ebuild b/chromeos-base/p2p/p2p-9999.ebuild
index 6545c8c..1010c01 100644
--- a/chromeos-base/p2p/p2p-9999.ebuild
+++ b/chromeos-base/p2p/p2p-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-debug cros-workon platform user
 
 DESCRIPTION="Chromium OS P2P"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/p2p/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/p2p/"
 SRC_URI=""
 
 LICENSE="BSD-Google"
diff --git a/chromeos-base/patchpanel-client/OWNERS b/chromeos-base/patchpanel-client/OWNERS
new file mode 100644
index 0000000..b830d86
--- /dev/null
+++ b/chromeos-base/patchpanel-client/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/patchpanel/OWNERS
diff --git a/chromeos-base/patchpanel-client/files/revision_bump b/chromeos-base/patchpanel-client/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/patchpanel-client/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/patchpanel-client/patchpanel-client-0.0.1-r265.ebuild b/chromeos-base/patchpanel-client/patchpanel-client-0.0.1-r265.ebuild
deleted file mode 100644
index 004e36c..0000000
--- a/chromeos-base/patchpanel-client/patchpanel-client-0.0.1-r265.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "49c48c6a3ecaa1c5c5d4762c8275d21891e7c40d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk patchpanel .gn"
-
-PLATFORM_SUBDIR="patchpanel/dbus"
-
-inherit cros-workon platform
-
-DESCRIPTION="Patchpanel network connectivity management D-Bus client"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/patchpanel/dbus/"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-# These USE flags are used in patchpanel/dbus/BUILD.gn
-IUSE="fuzzer"
-
-COMMON_DEPEND="
-	dev-libs/protobuf:=
-"
-
-# libpatchpanel-client.so and libpatchpanel-client.pc moved from
-# chromeos-base/patchpanel.
-RDEPEND="
-	!<chromeos-base/patchpanel-0.0.2
-	${COMMON_DEPEND}
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/system_api:=[fuzzer?]
-"
-
-patchpanel_client_header() {
-	doins "$1"
-	sed -i '/.pb.h/! s:patchpanel/:chromeos/patchpanel/:g' \
-		"${D}/usr/include/chromeos/patchpanel/dbus/$1" || die
-}
-
-src_install() {
-	# Libraries.
-	dolib.so "${OUT}"/lib/libpatchpanel-client.so
-
-	"${S}"/preinstall.sh "${PV}" "/usr/include/chromeos" "${OUT}" || die
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	doins "${OUT}"/libpatchpanel-client.pc
-
-	insinto /usr/include/chromeos/patchpanel/dbus
-	patchpanel_client_header client.h
-	patchpanel_client_header fake_client.h
-
-	local fuzzer
-	for fuzzer in "${OUT}"/*_fuzzer; do
-		local fuzzer_component_id="156085"
-		platform_fuzzer_install "${S}"/OWNERS "${fuzzer}" \
-			--comp "${fuzzer_component_id}"
-	done
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/patchpanel-client_testrunner"
-}
diff --git a/chromeos-base/patchpanel-client/patchpanel-client-0.0.1-r348.ebuild b/chromeos-base/patchpanel-client/patchpanel-client-0.0.1-r348.ebuild
new file mode 100644
index 0000000..e640507
--- /dev/null
+++ b/chromeos-base/patchpanel-client/patchpanel-client-0.0.1-r348.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "f03ea3ffcf6f08a1cad9dffba29095b0b988ec0d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk patchpanel .gn"
+
+PLATFORM_SUBDIR="patchpanel/dbus"
+
+inherit cros-workon platform
+
+DESCRIPTION="Patchpanel network connectivity management D-Bus client"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/patchpanel/dbus/"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+# These USE flags are used in patchpanel/dbus/BUILD.gn
+IUSE="fuzzer"
+
+COMMON_DEPEND="
+	dev-libs/protobuf:=
+"
+
+# libpatchpanel-client.so and libpatchpanel-client.pc moved from
+# chromeos-base/patchpanel.
+RDEPEND="
+	!<chromeos-base/patchpanel-0.0.2
+	${COMMON_DEPEND}
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/system_api:=[fuzzer?]
+	chromeos-base/vboot_reference:=
+"
+
+patchpanel_client_header() {
+	doins "$1"
+	sed -i '/.pb.h/! s:patchpanel/:chromeos/patchpanel/:g' \
+		"${D}/usr/include/chromeos/patchpanel/dbus/$1" || die
+}
+
+src_install() {
+	# Libraries.
+	dolib.so "${OUT}"/lib/libpatchpanel-client.so
+
+	"${S}"/preinstall.sh "${PV}" "/usr/include/chromeos" "${OUT}" || die
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins "${OUT}"/libpatchpanel-client.pc
+
+	insinto /usr/include/chromeos/patchpanel/dbus
+	patchpanel_client_header client.h
+	patchpanel_client_header fake_client.h
+
+	local fuzzer
+	for fuzzer in "${OUT}"/*_fuzzer; do
+		local fuzzer_component_id="156085"
+		platform_fuzzer_install "${S}"/OWNERS "${fuzzer}" \
+			--comp "${fuzzer_component_id}"
+	done
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/patchpanel-client_testrunner"
+}
diff --git a/chromeos-base/patchpanel-client/patchpanel-client-9999.ebuild b/chromeos-base/patchpanel-client/patchpanel-client-9999.ebuild
index d78edde..843a6f5 100644
--- a/chromeos-base/patchpanel-client/patchpanel-client-9999.ebuild
+++ b/chromeos-base/patchpanel-client/patchpanel-client-9999.ebuild
@@ -35,6 +35,7 @@
 DEPEND="
 	${COMMON_DEPEND}
 	chromeos-base/system_api:=[fuzzer?]
+	chromeos-base/vboot_reference:=
 "
 
 patchpanel_client_header() {
diff --git a/chromeos-base/patchpanel/OWNERS b/chromeos-base/patchpanel/OWNERS
new file mode 100644
index 0000000..b830d86
--- /dev/null
+++ b/chromeos-base/patchpanel/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/patchpanel/OWNERS
diff --git a/chromeos-base/patchpanel/files/revision_bump b/chromeos-base/patchpanel/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/patchpanel/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/patchpanel/patchpanel-0.0.2-r430.ebuild b/chromeos-base/patchpanel/patchpanel-0.0.2-r430.ebuild
deleted file mode 100644
index d89baa1..0000000
--- a/chromeos-base/patchpanel/patchpanel-0.0.2-r430.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "4a0dedab080195bdc122d2289118df4af3ddca2c" "49c48c6a3ecaa1c5c5d4762c8275d21891e7c40d" "959cf5c9e5c2eee5a1601125f7f3288e2f7a7c61" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk metrics patchpanel shill/net .gn"
-
-PLATFORM_SUBDIR="patchpanel"
-
-inherit cros-workon libchrome platform user
-
-DESCRIPTION="Patchpanel network connectivity management daemon"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/patchpanel/"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-# These USE flags are used in patchpanel/BUILD.gn
-IUSE="fuzzer arcvm"
-
-COMMON_DEPEND="
-	dev-libs/protobuf:=
-	chromeos-base/metrics:=
-	chromeos-base/shill-net:=
-	chromeos-base/system_api:=[fuzzer?]
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/shill
-	net-firewall/iptables
-	net-misc/bridge-utils
-	sys-apps/iproute2
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/session_manager-client:=
-	chromeos-base/shill-client:=
-	chromeos-base/system_api:=[fuzzer?]
-"
-
-patchpanel_header() {
-	doins "$1"
-	sed -i '/.pb.h/! s:patchpanel/:chromeos/patchpanel/:g' \
-		"${D}/usr/include/chromeos/patchpanel/$1" || die
-}
-
-src_install() {
-	# Main binary.
-	dobin "${OUT}"/patchpaneld
-
-	# Libraries.
-	dolib.so "${OUT}"/lib/libpatchpanel-util.so
-
-	"${S}"/preinstall.sh "${PV}" "/usr/include/chromeos" "${OUT}"
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	doins "${OUT}"/libpatchpanel-util.pc
-
-	insinto /usr/include/chromeos/patchpanel/
-	patchpanel_header address_manager.h
-	patchpanel_header guest_type.h
-	patchpanel_header mac_address_generator.h
-	patchpanel_header net_util.h
-	patchpanel_header socket.h
-	patchpanel_header socket_forwarder.h
-	patchpanel_header subnet.h
-	patchpanel_header subnet_pool.h
-
-	insinto /usr/include/chromeos/patchpanel/dns
-	patchpanel_header dns/dns_protocol.h
-	patchpanel_header dns/dns_query.h
-	patchpanel_header dns/dns_response.h
-	patchpanel_header dns/io_buffer.h
-
-	insinto /etc/init
-	doins "${S}"/init/patchpanel.conf
-
-	insinto /etc/dbus-1/system.d
-	doins dbus/*.conf
-
-	local fuzzer
-	for fuzzer in "${OUT}"/*_fuzzer; do
-		local fuzzer_component_id="156085"
-		platform_fuzzer_install "${S}"/OWNERS "${fuzzer}" \
-			--comp "${fuzzer_component_id}"
-	done
-}
-
-pkg_preinst() {
-	# Service account used for privilege separation.
-	enewuser patchpaneld
-	enewgroup patchpaneld
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/patchpanel_testrunner"
-}
diff --git a/chromeos-base/patchpanel/patchpanel-0.0.2-r564.ebuild b/chromeos-base/patchpanel/patchpanel-0.0.2-r564.ebuild
new file mode 100644
index 0000000..5b5312b
--- /dev/null
+++ b/chromeos-base/patchpanel/patchpanel-0.0.2-r564.ebuild
@@ -0,0 +1,106 @@
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "f03ea3ffcf6f08a1cad9dffba29095b0b988ec0d" "bf11ffe5bade82cef5574e57f94fd0e7e38b716c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk metrics patchpanel shill/net .gn"
+
+PLATFORM_SUBDIR="patchpanel"
+
+inherit cros-workon libchrome platform user
+
+DESCRIPTION="Patchpanel network connectivity management daemon"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/patchpanel/"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+# These USE flags are used in patchpanel/BUILD.gn
+IUSE="fuzzer arcvm"
+
+COMMON_DEPEND="
+	dev-libs/protobuf:=
+	chromeos-base/metrics:=
+	chromeos-base/shill-net:=
+	chromeos-base/system_api:=[fuzzer?]
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/shill
+	net-firewall/iptables
+	net-misc/bridge-utils
+	sys-apps/iproute2
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/session_manager-client:=
+	chromeos-base/shill-client:=
+	chromeos-base/system_api:=[fuzzer?]
+	chromeos-base/vboot_reference:=
+"
+
+patchpanel_header() {
+	doins "$1"
+	sed -i '/.pb.h/! s:patchpanel/:chromeos/patchpanel/:g' \
+		"${D}/usr/include/chromeos/patchpanel/$1" || die
+}
+
+src_install() {
+	platform_src_install
+
+	# Main binary.
+	dobin "${OUT}"/patchpaneld
+
+	# Libraries.
+	dolib.so "${OUT}"/lib/libpatchpanel-util.so
+
+	"${S}"/preinstall.sh "${PV}" "/usr/include/chromeos" "${OUT}"
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins "${OUT}"/libpatchpanel-util.pc
+
+	insinto /usr/include/chromeos/patchpanel/
+	patchpanel_header address_manager.h
+	patchpanel_header guest_type.h
+	patchpanel_header mac_address_generator.h
+	patchpanel_header net_util.h
+	patchpanel_header socket.h
+	patchpanel_header socket_forwarder.h
+	patchpanel_header subnet.h
+	patchpanel_header subnet_pool.h
+
+	insinto /usr/include/chromeos/patchpanel/dns
+	patchpanel_header dns/dns_protocol.h
+	patchpanel_header dns/dns_query.h
+	patchpanel_header dns/dns_response.h
+	patchpanel_header dns/io_buffer.h
+
+	insinto /etc/init
+	doins "${S}"/init/patchpanel.conf
+
+	insinto /etc/dbus-1/system.d
+	doins dbus/*.conf
+
+	local fuzzer
+	for fuzzer in "${OUT}"/*_fuzzer; do
+		local fuzzer_component_id="156085"
+		platform_fuzzer_install "${S}"/OWNERS "${fuzzer}" \
+			--comp "${fuzzer_component_id}"
+	done
+}
+
+pkg_preinst() {
+	# Service account used for privilege separation.
+	enewuser patchpaneld
+	enewgroup patchpaneld
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/patchpanel_testrunner"
+}
diff --git a/chromeos-base/patchpanel/patchpanel-9999.ebuild b/chromeos-base/patchpanel/patchpanel-9999.ebuild
index 836cdfe..8ea62d5 100644
--- a/chromeos-base/patchpanel/patchpanel-9999.ebuild
+++ b/chromeos-base/patchpanel/patchpanel-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon libchrome platform user
 
 DESCRIPTION="Patchpanel network connectivity management daemon"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/patchpanel/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/patchpanel/"
 LICENSE="BSD-Google"
 KEYWORDS="~*"
 
@@ -41,6 +41,7 @@
 	chromeos-base/session_manager-client:=
 	chromeos-base/shill-client:=
 	chromeos-base/system_api:=[fuzzer?]
+	chromeos-base/vboot_reference:=
 "
 
 patchpanel_header() {
@@ -50,6 +51,8 @@
 }
 
 src_install() {
+	platform_src_install
+
 	# Main binary.
 	dobin "${OUT}"/patchpaneld
 
diff --git a/chromeos-base/pciguard/files/revision_bump b/chromeos-base/pciguard/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/pciguard/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/pciguard/pciguard-0.0.1-r112.ebuild b/chromeos-base/pciguard/pciguard-0.0.1-r112.ebuild
deleted file mode 100644
index e7a9ae7..0000000
--- a/chromeos-base/pciguard/pciguard-0.0.1-r112.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "67e7be6d23006bdd5f08190f90facd1bcfaf157d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_SUBTREE="common-mk pciguard .gn"
-
-PLATFORM_SUBDIR="pciguard"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Chrome OS External PCI device security daemon"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/pciguard/"
-
-LICENSE="BSD-Google"
-SLOT=0
-KEYWORDS="*"
-
-DEPEND="
-	chromeos-base/session_manager-client:=
-	chromeos-base/system_api:=
-"
-
-src_install() {
-	# Install the binary
-	dosbin "${OUT}"/pciguard
-
-	# Install the seccomp policy
-	insinto /usr/share/policy
-	newins "${S}/seccomp/pciguard-seccomp-${ARCH}.policy" pciguard-seccomp.policy
-
-	# Install the minijail configuration file
-	insinto /usr/share/minijail
-	newins "${S}/minijail/pciguard.config" pciguard.config
-
-	# Install the upstart configuration files
-	insinto /etc/init
-	doins "${S}"/init/*.conf
-
-	# Install the dbus configuration
-	insinto /etc/dbus-1/system.d
-	doins "${S}/dbus/pciguard-dbus.conf"
-}
-
-pkg_preinst() {
-	enewuser pciguard
-	enewgroup pciguard
-	cros-workon_pkg_setup
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/pciguard_testrunner"
-}
diff --git a/chromeos-base/pciguard/pciguard-0.0.1-r171.ebuild b/chromeos-base/pciguard/pciguard-0.0.1-r171.ebuild
new file mode 100644
index 0000000..3ea0f85
--- /dev/null
+++ b/chromeos-base/pciguard/pciguard-0.0.1-r171.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "ab158a900aa41e259ccbdbc58b75bfc3ae136f3b" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk pciguard .gn"
+
+PLATFORM_SUBDIR="pciguard"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Chrome OS External PCI device security daemon"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/pciguard/"
+
+LICENSE="BSD-Google"
+SLOT=0
+KEYWORDS="*"
+
+DEPEND="
+	chromeos-base/session_manager-client:=
+	chromeos-base/system_api:=
+"
+
+src_install() {
+	# Install the binary
+	dosbin "${OUT}"/pciguard
+
+	# Install the seccomp policy
+	insinto /usr/share/policy
+	newins "${S}/seccomp/pciguard-seccomp-${ARCH}.policy" pciguard-seccomp.policy
+
+	# Install the upstart configuration files
+	insinto /etc/init
+	doins "${S}"/init/*.conf
+
+	# Install the dbus configuration
+	insinto /etc/dbus-1/system.d
+	doins "${S}/dbus/pciguard-dbus.conf"
+}
+
+pkg_preinst() {
+	enewuser pciguard
+	enewgroup pciguard
+	cros-workon_pkg_setup
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/pciguard_testrunner"
+}
diff --git a/chromeos-base/pciguard/pciguard-9999.ebuild b/chromeos-base/pciguard/pciguard-9999.ebuild
index 7456f38..f7603c1 100644
--- a/chromeos-base/pciguard/pciguard-9999.ebuild
+++ b/chromeos-base/pciguard/pciguard-9999.ebuild
@@ -33,10 +33,6 @@
 	insinto /usr/share/policy
 	newins "${S}/seccomp/pciguard-seccomp-${ARCH}.policy" pciguard-seccomp.policy
 
-	# Install the minijail configuration file
-	insinto /usr/share/minijail
-	newins "${S}/minijail/pciguard.config" pciguard.config
-
 	# Install the upstart configuration files
 	insinto /etc/init
 	doins "${S}"/init/*.conf
diff --git a/chromeos-base/percetto/files/FROMLIST-fix-build-issues-with-v28.0-sdk.patch b/chromeos-base/percetto/files/FROMLIST-fix-build-issues-with-v28.0-sdk.patch
new file mode 100644
index 0000000..7f28825
--- /dev/null
+++ b/chromeos-base/percetto/files/FROMLIST-fix-build-issues-with-v28.0-sdk.patch
@@ -0,0 +1,55 @@
+From 90912f0e119f7b067e0e4a3d1d540225df8936e6 Mon Sep 17 00:00:00 2001
+From: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri, 12 Aug 2022 22:02:34 -0700
+Subject: [PATCH] fix build issues with v28.0 sdk
+
+---
+ src/percetto.cc | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/src/percetto.cc b/src/percetto.cc
+index 39237b0..063329a 100644
+--- a/src/percetto.cc
++++ b/src/percetto.cc
+@@ -56,7 +56,6 @@ namespace {
+ using perfetto::protos::gen::TrackDescriptor;
+ using perfetto::protos::gen::TrackEventConfig;
+ using perfetto::protos::pbzero::BuiltinClock;
+-using perfetto::protos::pbzero::CounterDescriptor_Unit_UNIT_COUNT;
+ using perfetto::protos::pbzero::DataSourceDescriptor;
+ using perfetto::protos::pbzero::TracePacket;
+ using perfetto::protos::pbzero::TrackEvent;
+@@ -399,10 +398,10 @@ class PercettoDataSource
+         AddCategoryGroup(event, category);
+       }
+ 
+-      if (type == TrackEvent::Type::TrackEvent_Type_TYPE_COUNTER) {
++      if (type == TrackEvent::TYPE_COUNTER) {
+         event->set_counter_value(extra);
+       } else {
+-        if (type != TrackEvent::Type::TrackEvent_Type_TYPE_SLICE_END)
++        if (type != TrackEvent::TYPE_SLICE_END)
+           event->set_name(name, strlen(name));
+         if (extra != 0)
+           event->add_flow_ids(static_cast<uint64_t>(extra));
+@@ -724,7 +723,7 @@ void percetto_event_begin(struct percetto_category* category,
+                           uint32_t sessions,
+                           const char* name) {
+   PercettoDataSource::TraceTrackEvent(
+-      category, sessions, TrackEvent::Type::TrackEvent_Type_TYPE_SLICE_BEGIN,
++      category, sessions, TrackEvent::TYPE_SLICE_BEGIN,
+       name, GetTimestampNs(), NULL, 0, NULL);
+ }
+ 
+@@ -732,7 +731,7 @@ extern "C"
+ void percetto_event_end(struct percetto_category* category,
+                         uint32_t sessions) {
+   PercettoDataSource::TraceTrackEvent(
+-      category, sessions, TrackEvent::Type::TrackEvent_Type_TYPE_SLICE_END,
++      category, sessions, TrackEvent::TYPE_SLICE_END,
+       NULL, GetTimestampNs(), NULL, 0, NULL);
+ }
+ 
+-- 
+2.37.1.595.g718a3a8f04-goog
+
diff --git a/chromeos-base/percetto/percetto-0.1.6-r1.ebuild b/chromeos-base/percetto/percetto-0.1.6-r1.ebuild
deleted file mode 100644
index 19e8bdf..0000000
--- a/chromeos-base/percetto/percetto-0.1.6-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit cros-debug meson
-
-DESCRIPTION="Percetto is a C wrapper for Perfetto SDK."
-HOMEPAGE="https://github.com/olvaffe/percetto"
-
-SRC_URI="https://github.com/olvaffe/percetto/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-KEYWORDS="*"
-LICENSE="Apache-2.0"
-SLOT="0"
-
-COMMON_DEPEND="
-	>=chromeos-base/perfetto-22.0
-"
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}"
-
-src_configure() {
-	# If not building with cros-debug, the SDK should be built with NDEBUG as
-	# well.
-	cros-debug-add-NDEBUG
-
-	local emesonargs=(
-		-Dperfetto-sdk="${SYSROOT}/usr/include/perfetto/"
-		-Dwerror=false
-	)
-	meson_src_configure
-}
diff --git a/chromeos-base/percetto/percetto-0.1.6-r2.ebuild b/chromeos-base/percetto/percetto-0.1.6-r2.ebuild
new file mode 100644
index 0000000..9e33b74
--- /dev/null
+++ b/chromeos-base/percetto/percetto-0.1.6-r2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit cros-debug meson
+
+DESCRIPTION="Percetto is a C wrapper for Perfetto SDK."
+HOMEPAGE="https://github.com/olvaffe/percetto"
+
+SRC_URI="https://github.com/olvaffe/percetto/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+KEYWORDS="*"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+COMMON_DEPEND="
+	>=chromeos-base/perfetto-22.0
+"
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}"
+
+PATCHES=(
+	"${FILESDIR}"/FROMLIST-fix-build-issues-with-v28.0-sdk.patch
+)
+
+src_configure() {
+	# If not building with cros-debug, the SDK should be built with NDEBUG as
+	# well.
+	cros-debug-add-NDEBUG
+
+	local emesonargs=(
+		-Dperfetto-sdk="${SYSROOT}/usr/include/perfetto/"
+		-Dwerror=false
+	)
+	meson_src_configure
+}
diff --git a/chromeos-base/perfetto/files/init/traced.conf b/chromeos-base/perfetto/files/init/traced.conf
index 8ab308e..39c5a53 100644
--- a/chromeos-base/perfetto/files/init/traced.conf
+++ b/chromeos-base/perfetto/files/init/traced.conf
@@ -47,14 +47,15 @@
 # -k tmpfs,/run,tmpfs,MS_NOSUID|MS_NODEV|MS_NOEXEC: mount tmpfs at /run.
 # -b ${PERFETTO_SOCK_DIR},,1: bind mount ${PERFETTO_SOCK_DIR} that hosts the
 #    socket files.
-# -p: enter a new PID namespace.
 # -S /usr/share/policy/traced.policy: set up seccomp policy.
+# Note that option -p is deliberately omitted to make traced run in the root PID
+# namespace. This is needed for tracing processes running in PID namespaces
+# correctly (design doc: http://go/crosetto-pid-ns).
 exec /sbin/minijail0 -u traced -g traced \
   -G -c 0 -i -l -N -e --uts -n \
   --profile=minimalistic-mountns -t \
   -k 'tmpfs,/run,tmpfs,MS_NOSUID|MS_NODEV|MS_NOEXEC' \
   -b "${PERFETTO_SOCK_DIR}",,1 \
-  -p \
   -S /usr/share/policy/traced.policy \
   -- /usr/bin/traced \
     --set-socket-permissions traced-producer:0666:traced-consumer:0660
diff --git a/chromeos-base/perfetto/files/init/traced_probes.conf b/chromeos-base/perfetto/files/init/traced_probes.conf
index 67e471d..90126e9 100644
--- a/chromeos-base/perfetto/files/init/traced_probes.conf
+++ b/chromeos-base/perfetto/files/init/traced_probes.conf
@@ -20,7 +20,7 @@
 env PERFETTO_PRODUCER_SOCK_NAME=/run/perfetto/traced-producer.sock
 
 pre-start script
-  tracefs_root="/sys/kernel/debug/tracing"
+  tracefs_root="/sys/kernel/tracing"
   # traced_probes needs to read the following files.
   chgrp debugfs-access "${tracefs_root}"/per_cpu/cpu*/trace \
     "${tracefs_root}"/per_cpu/cpu*/trace_pipe_raw \
@@ -56,7 +56,6 @@
 
   # Bind-mount /sys/class/power_supply for getting battery counters.
   # /sys/class/power_supply/ subdirectories are symlinks to /sys/devices/.
-  sysfs_mnt_args="${sysfs_mnt_args} -k tmpfs,/sys/class,tmpfs,${tmpfs_flags}"
   sysfs_mnt_args="${sysfs_mnt_args} -b /sys/class/power_supply"
 
   # /sys/class/ for bind-mounting /sys/class/devfreq (on ARM).
@@ -64,14 +63,8 @@
     sysfs_mnt_args="${sysfs_mnt_args} -b /sys/class/devfreq"
   fi
 
-  # Create tmpfs at /sys/kernel as the basedir of tracefs
-  sysfs_mnt_args="${sysfs_mnt_args} -k tmpfs,/sys/kernel,tmpfs,${tmpfs_flags}"
-  # Bind mount /sys/kernel/debug/tracing to /sys/kernel/tracing. traced_probes
-  # doesn't use debugfs and supports using tracefs from
-  # /sys/kernel/debug/tracing or /sys/kernel/tracing. Bind-mount
-  # /sys/kernel/debug/tracing to /sys/kernel/tracing so this works regardless of
-  # whether the kernel has separate tracefs (v4.1) or ftrace is part of debugfs.
-  sysfs_mnt_args="${sysfs_mnt_args} -b /sys/kernel/debug/tracing,/sys/kernel/tracing,1"
+  # Bind mount /sys/kernel/tracing.
+  sysfs_mnt_args="${sysfs_mnt_args} -b /sys/kernel/tracing,,1"
 
   # minijail0 args.
   # -u traced-probes -g traced-probes: run as user: traced-probes,
@@ -86,8 +79,7 @@
   # traced_probes runs without -p because it needs to see the PID of the traced
   # processes.
   # -n: set no new_privs.
-  # -b /sys: bind mount sysfs.
-  # ${tracefs_mnt_args}: mount tracefs.
+  # ${sysfs_mnt_args}: mount tracefs and other parts os /sys.
   exec /sbin/minijail0 -u traced-probes -g traced-probes \
     -G -c 0 -i -l -N -e --uts -n \
     --profile=minimalistic-mountns -t \
diff --git a/chromeos-base/perfetto/files/seccomp/traced-amd64.policy b/chromeos-base/perfetto/files/seccomp/traced-amd64.policy
index a98b2ce..a7549e5 100644
--- a/chromeos-base/perfetto/files/seccomp/traced-amd64.policy
+++ b/chromeos-base/perfetto/files/seccomp/traced-amd64.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 clock_gettime: 1
 clock_getres: 1
 clock_nanosleep: 1
diff --git a/chromeos-base/perfetto/files/seccomp/traced-arm.policy b/chromeos-base/perfetto/files/seccomp/traced-arm.policy
index 9104763..19452fc 100644
--- a/chromeos-base/perfetto/files/seccomp/traced-arm.policy
+++ b/chromeos-base/perfetto/files/seccomp/traced-arm.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 clock_gettime: 1
 clock_gettime64: 1
 clock_getres: 1
diff --git a/chromeos-base/perfetto/files/seccomp/traced-arm64.policy b/chromeos-base/perfetto/files/seccomp/traced-arm64.policy
index 8e10bbc..0270ef1 100644
--- a/chromeos-base/perfetto/files/seccomp/traced-arm64.policy
+++ b/chromeos-base/perfetto/files/seccomp/traced-arm64.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 clock_gettime: 1
 clock_getres: 1
 clock_nanosleep: 1
diff --git a/chromeos-base/perfetto/files/seccomp/traced_probes-amd64.policy b/chromeos-base/perfetto/files/seccomp/traced_probes-amd64.policy
index 09425c6..356f422 100644
--- a/chromeos-base/perfetto/files/seccomp/traced_probes-amd64.policy
+++ b/chromeos-base/perfetto/files/seccomp/traced_probes-amd64.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 clock_gettime: 1
 clock_getres: 1
 clock_nanosleep: 1
diff --git a/chromeos-base/perfetto/files/seccomp/traced_probes-arm.policy b/chromeos-base/perfetto/files/seccomp/traced_probes-arm.policy
index 6f285ec..8896298 100644
--- a/chromeos-base/perfetto/files/seccomp/traced_probes-arm.policy
+++ b/chromeos-base/perfetto/files/seccomp/traced_probes-arm.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 clock_gettime: 1
 clock_gettime64: 1
 clock_getres: 1
diff --git a/chromeos-base/perfetto/files/seccomp/traced_probes-arm64.policy b/chromeos-base/perfetto/files/seccomp/traced_probes-arm64.policy
index e1b2936..0e37e65 100644
--- a/chromeos-base/perfetto/files/seccomp/traced_probes-arm64.policy
+++ b/chromeos-base/perfetto/files/seccomp/traced_probes-arm64.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 clock_gettime: 1
 clock_getres: 1
 clock_nanosleep: 1
diff --git a/chromeos-base/perfetto/perfetto-24.2-r1.ebuild b/chromeos-base/perfetto/perfetto-24.2-r2.ebuild
similarity index 100%
rename from chromeos-base/perfetto/perfetto-24.2-r1.ebuild
rename to chromeos-base/perfetto/perfetto-24.2-r2.ebuild
diff --git a/chromeos-base/perfetto_simple_producer/files/revision_bump b/chromeos-base/perfetto_simple_producer/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/perfetto_simple_producer/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/perfetto_simple_producer/perfetto_simple_producer-0.0.1-r138.ebuild b/chromeos-base/perfetto_simple_producer/perfetto_simple_producer-0.0.1-r138.ebuild
new file mode 100644
index 0000000..2bd2e6e
--- /dev/null
+++ b/chromeos-base/perfetto_simple_producer/perfetto_simple_producer-0.0.1-r138.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "1288ac713c854ca0f3e6c2cd1c77e98a5a194e74" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk perfetto_simple_producer .gn"
+
+IUSE="cros-debug"
+
+PLATFORM_SUBDIR="perfetto_simple_producer"
+
+inherit cros-workon platform
+
+DESCRIPTION="Simple Producer of Perfetto for Chromium OS."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/perfetto_simple_producer"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+DEPEND="
+	chromeos-base/perfetto:="
+
+src_install() {
+	dobin "${OUT}"/perfetto_simple_producer
+}
diff --git a/chromeos-base/perfetto_simple_producer/perfetto_simple_producer-0.0.1-r81.ebuild b/chromeos-base/perfetto_simple_producer/perfetto_simple_producer-0.0.1-r81.ebuild
deleted file mode 100644
index b2abc32..0000000
--- a/chromeos-base/perfetto_simple_producer/perfetto_simple_producer-0.0.1-r81.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "1288ac713c854ca0f3e6c2cd1c77e98a5a194e74" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk perfetto_simple_producer .gn"
-
-IUSE="cros-debug"
-
-PLATFORM_SUBDIR="perfetto_simple_producer"
-
-inherit cros-workon platform
-
-DESCRIPTION="Simple Producer of Perfetto for Chromium OS."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/perfetto_simple_producer"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-DEPEND="
-	chromeos-base/perfetto:="
-
-src_install() {
-	dobin "${OUT}"/perfetto_simple_producer
-}
diff --git a/chromeos-base/permission_broker-client/files/revision_bump b/chromeos-base/permission_broker-client/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/permission_broker-client/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/permission_broker-client/permission_broker-client-0.0.1-r1949.ebuild b/chromeos-base/permission_broker-client/permission_broker-client-0.0.1-r1949.ebuild
deleted file mode 100644
index d5a221f..0000000
--- a/chromeos-base/permission_broker-client/permission_broker-client-0.0.1-r1949.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "ee30bffa5e7b68afe08820cc3b668f209a688a4b" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk permission_broker .gn"
-
-PLATFORM_NATIVE_TEST="yes"
-PLATFORM_SUBDIR="permission_broker/client"
-
-inherit cros-workon platform
-
-DESCRIPTION="Permission Broker DBus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/permission_broker/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="cros_host"
-
-# D-Bus proxies generated by this client library depend on the code generator
-# itself (chromeos-dbus-bindings) and produce header files that rely on
-# libbrillo library, hence both dependencies.
-DEPEND="
-	cros_host? ( chromeos-base/chromeos-dbus-bindings:= )
-"
-
-src_install() {
-	# Install DBus client library.
-	platform_install_dbus_client_lib "permission_broker"
-}
diff --git a/chromeos-base/permission_broker-client/permission_broker-client-0.0.1-r2026.ebuild b/chromeos-base/permission_broker-client/permission_broker-client-0.0.1-r2026.ebuild
new file mode 100644
index 0000000..a6b6bfa
--- /dev/null
+++ b/chromeos-base/permission_broker-client/permission_broker-client-0.0.1-r2026.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "f4e705a84c3c965c7fdb404c95aaf83f31e7316d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk permission_broker .gn"
+
+PLATFORM_NATIVE_TEST="yes"
+PLATFORM_SUBDIR="permission_broker/client"
+
+inherit cros-workon platform
+
+DESCRIPTION="Permission Broker DBus client library for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/permission_broker/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="cros_host"
+
+# D-Bus proxies generated by this client library depend on the code generator
+# itself (chromeos-dbus-bindings) and produce header files that rely on
+# libbrillo library, hence both dependencies.
+DEPEND="
+	cros_host? ( chromeos-base/chromeos-dbus-bindings:= )
+"
+
+src_install() {
+	# Install DBus client library.
+	platform_install_dbus_client_lib "permission_broker"
+}
diff --git a/chromeos-base/permission_broker-client/permission_broker-client-9999.ebuild b/chromeos-base/permission_broker-client/permission_broker-client-9999.ebuild
index eb7b59f..5ba408c 100644
--- a/chromeos-base/permission_broker-client/permission_broker-client-9999.ebuild
+++ b/chromeos-base/permission_broker-client/permission_broker-client-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Permission Broker DBus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/permission_broker/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/permission_broker/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/permission_broker/files/revision_bump b/chromeos-base/permission_broker/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/permission_broker/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/permission_broker/permission_broker-0.0.1-r3202.ebuild b/chromeos-base/permission_broker/permission_broker-0.0.1-r3202.ebuild
deleted file mode 100644
index 1595c98..0000000
--- a/chromeos-base/permission_broker/permission_broker-0.0.1-r3202.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "ee30bffa5e7b68afe08820cc3b668f209a688a4b" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk permission_broker .gn"
-
-PLATFORM_NATIVE_TEST="yes"
-PLATFORM_SUBDIR="${PN}"
-
-inherit cros-workon platform udev user
-
-DESCRIPTION="Permission Broker for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/permission_broker/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="cfm_enabled_device fuzzer"
-
-COMMMON_DEPEND="
-	chromeos-base/patchpanel-client:=
-	sys-apps/dbus:=
-	virtual/libusb:1
-	virtual/udev
-"
-
-RDEPEND="${COMMMON_DEPEND}"
-DEPEND="${COMMMON_DEPEND}
-	chromeos-base/system_api:=[fuzzer?]
-	sys-kernel/linux-headers:=
-"
-
-src_install() {
-	dobin "${OUT}"/permission_broker
-
-	# Install upstart configuration
-	insinto /etc/init
-	doins permission_broker.conf
-
-	# DBus configuration
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.PermissionBroker.conf
-
-	# Udev rules for hidraw nodes
-	udev_dorules "${FILESDIR}/99-hidraw.rules"
-
-	# Fuzzer.
-	local fuzzer_component_id="156085"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/port_tracker_fuzzer \
-		--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	local tests=(
-		permission_broker_test
-	)
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-}
-
-pkg_preinst() {
-	enewuser "devbroker"
-	enewgroup "devbroker"
-}
diff --git a/chromeos-base/permission_broker/permission_broker-0.0.1-r3280.ebuild b/chromeos-base/permission_broker/permission_broker-0.0.1-r3280.ebuild
new file mode 100644
index 0000000..c08810d
--- /dev/null
+++ b/chromeos-base/permission_broker/permission_broker-0.0.1-r3280.ebuild
@@ -0,0 +1,75 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "f4e705a84c3c965c7fdb404c95aaf83f31e7316d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk permission_broker .gn"
+
+PLATFORM_NATIVE_TEST="yes"
+PLATFORM_SUBDIR="${PN}"
+
+inherit cros-workon platform udev user
+
+DESCRIPTION="Permission Broker for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/permission_broker/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="cfm_enabled_device fuzzer"
+
+COMMMON_DEPEND="
+	chromeos-base/patchpanel-client:=
+	sys-apps/dbus:=
+	virtual/libusb:1
+	virtual/udev
+"
+
+RDEPEND="${COMMMON_DEPEND}"
+DEPEND="${COMMMON_DEPEND}
+	chromeos-base/system_api:=[fuzzer?]
+	sys-kernel/linux-headers:=
+"
+
+src_install() {
+	platform_src_install
+
+	dobin "${OUT}"/permission_broker
+
+	# Install upstart configuration
+	insinto /etc/init
+	doins permission_broker.conf
+
+	# DBus configuration
+	insinto /etc/dbus-1/system.d
+	doins dbus/org.chromium.PermissionBroker.conf
+
+	# Udev rules for hidraw nodes
+	udev_dorules "${FILESDIR}/99-hidraw.rules"
+
+	# Fuzzer.
+	local fuzzer_component_id="156085"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/port_tracker_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	local tests=(
+		permission_broker_test
+	)
+
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+}
+
+pkg_preinst() {
+	enewuser "devbroker"
+	enewgroup "devbroker"
+}
diff --git a/chromeos-base/permission_broker/permission_broker-9999.ebuild b/chromeos-base/permission_broker/permission_broker-9999.ebuild
index 1a0ff04..0d5b940 100644
--- a/chromeos-base/permission_broker/permission_broker-9999.ebuild
+++ b/chromeos-base/permission_broker/permission_broker-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-workon platform udev user
 
 DESCRIPTION="Permission Broker for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/permission_broker/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/permission_broker/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
@@ -35,6 +35,8 @@
 "
 
 src_install() {
+	platform_src_install
+
 	dobin "${OUT}"/permission_broker
 
 	# Install upstart configuration
diff --git a/chromeos-base/pinweaver/files/revision_bump b/chromeos-base/pinweaver/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/pinweaver/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/pinweaver/pinweaver-0.0.1-r25.ebuild b/chromeos-base/pinweaver/pinweaver-0.0.1-r25.ebuild
deleted file mode 100644
index 8c8db96..0000000
--- a/chromeos-base/pinweaver/pinweaver-0.0.1-r25.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("f35f2919309cf11b0ddd9deb24a6b145d40d9254" "fc39c8b509da8a45869d7c0e44b263dd631c6fb4")
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "0976a2b7b2acb179add29936ed65851ab6662c95")
-inherit cros-constants
-
-CROS_WORKON_LOCALNAME=(
-	"platform2"
-	"platform/pinweaver"
-)
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform2"
-	"chromiumos/platform/pinweaver"
-)
-CROS_WORKON_OPTIONAL_CHECKOUT=(
-	"true"
-	"true"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}/platform2"
-	"${S}/platform2/pinweaver"
-)
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE=(
-	"common-mk .gn"
-	""
-)
-PLATFORM_SUBDIR="pinweaver"
-
-inherit cros-workon platform
-
-DESCRIPTION="PinWeaver code that can be used across implementation platforms."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/pinweaver/+/main/"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-
-DEPEND="${RDEPEND}"
-
-src_install() {
-	dolib.a "${OUT}"/libpinweaver.a
-
-	insinto /usr/include/pinweaver
-	doins eal/tpm_storage/pinweaver_eal_types.h
-	doins pinweaver.h
-	doins pinweaver_eal.h
-	doins pinweaver_types.h
-}
diff --git a/chromeos-base/pinweaver/pinweaver-0.0.1-r89.ebuild b/chromeos-base/pinweaver/pinweaver-0.0.1-r89.ebuild
new file mode 100644
index 0000000..68d0c23
--- /dev/null
+++ b/chromeos-base/pinweaver/pinweaver-0.0.1-r89.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("dbb1136242ba822d539eaf11493f3b68815adb7f" "3abfd77090d24ca8d2d7260d6ba6aaec2e4c35ae")
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "86f25a69ccb900fd0f5da1a8861df68696c36330")
+inherit cros-constants
+
+CROS_WORKON_LOCALNAME=(
+	"platform2"
+	"platform/pinweaver"
+)
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform2"
+	"chromiumos/platform/pinweaver"
+)
+CROS_WORKON_OPTIONAL_CHECKOUT=(
+	"true"
+	"true"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}/platform2"
+	"${S}/platform2/pinweaver"
+)
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE=(
+	"common-mk .gn"
+	""
+)
+PLATFORM_SUBDIR="pinweaver"
+
+inherit cros-workon platform
+
+DESCRIPTION="PinWeaver code that can be used across implementation platforms."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/pinweaver/+/main/"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND=""
+
+DEPEND="${RDEPEND}"
+
+src_install() {
+	dolib.a "${OUT}"/libpinweaver.a
+
+	insinto /usr/include/pinweaver
+	doins eal/tpm_storage/pinweaver_eal_types.h
+	doins pinweaver.h
+	doins pinweaver_eal.h
+	doins pinweaver_types.h
+}
diff --git a/chromeos-base/policy-go-proto/files/revision_bump b/chromeos-base/policy-go-proto/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/policy-go-proto/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/policy-go-proto/policy-go-proto-0.0.1-r268.ebuild b/chromeos-base/policy-go-proto/policy-go-proto-0.0.1-r268.ebuild
deleted file mode 100644
index b545b05..0000000
--- a/chromeos-base/policy-go-proto/policy-go-proto-0.0.1-r268.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "f6e985347a838bbbdd2997e97c4b4940571f2dd2" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_GO_PACKAGES=(
-	"chromiumos/policy/..."
-)
-
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk policy_proto .gn"
-
-PLATFORM_SUBDIR="policy_proto"
-
-inherit cros-go cros-workon platform
-
-DESCRIPTION="Chrome OS policy protocol buffer binding for go"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/policy_proto"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-DEPEND="
-	>=chromeos-base/protofiles-0.0.48:=
-	dev-go/protobuf:=
-	dev-libs/protobuf:=
-"
-
-src_install() {
-	cros-go_src_install
-}
-
-src_unpack() {
-	platform_src_unpack
-	CROS_GO_WORKSPACE="${OUT}/gen/go"
-}
diff --git a/chromeos-base/policy-go-proto/policy-go-proto-0.0.1-r327.ebuild b/chromeos-base/policy-go-proto/policy-go-proto-0.0.1-r327.ebuild
new file mode 100644
index 0000000..f21a6a6
--- /dev/null
+++ b/chromeos-base/policy-go-proto/policy-go-proto-0.0.1-r327.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "f6e985347a838bbbdd2997e97c4b4940571f2dd2" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_GO_PACKAGES=(
+	"chromiumos/policy/..."
+)
+
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk policy_proto .gn"
+
+PLATFORM_SUBDIR="policy_proto"
+
+inherit cros-go cros-workon platform
+
+DESCRIPTION="Chrome OS policy protocol buffer binding for go"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/policy_proto"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+DEPEND="
+	>=chromeos-base/protofiles-0.0.48:=
+	dev-go/protobuf:=
+	dev-go/protobuf-legacy-api:=
+	dev-libs/protobuf:=
+"
+
+src_install() {
+	cros-go_src_install
+}
+
+src_unpack() {
+	platform_src_unpack
+	CROS_GO_WORKSPACE="${OUT}/gen/go"
+}
diff --git a/chromeos-base/policy-go-proto/policy-go-proto-9999.ebuild b/chromeos-base/policy-go-proto/policy-go-proto-9999.ebuild
index 33faf31..ab98e83 100644
--- a/chromeos-base/policy-go-proto/policy-go-proto-9999.ebuild
+++ b/chromeos-base/policy-go-proto/policy-go-proto-9999.ebuild
@@ -17,13 +17,14 @@
 inherit cros-go cros-workon platform
 
 DESCRIPTION="Chrome OS policy protocol buffer binding for go"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/policy_proto"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/policy_proto"
 LICENSE="BSD-Google"
 KEYWORDS="~*"
 
 DEPEND="
 	>=chromeos-base/protofiles-0.0.48:=
 	dev-go/protobuf:=
+	dev-go/protobuf-legacy-api:=
 	dev-libs/protobuf:=
 "
 
diff --git a/chromeos-base/policy-testserver/OWNERS b/chromeos-base/policy-testserver/OWNERS
new file mode 100644
index 0000000..76731a2
--- /dev/null
+++ b/chromeos-base/policy-testserver/OWNERS
@@ -0,0 +1 @@
+include /chromeos-base/protofiles/OWNERS
diff --git a/chromeos-base/policy-testserver/files/policy_testserver.py b/chromeos-base/policy-testserver/files/policy_testserver.py
index e1fcf22..e1b6130 100644
--- a/chromeos-base/policy-testserver/files/policy_testserver.py
+++ b/chromeos-base/policy-testserver/files/policy_testserver.py
@@ -1332,6 +1332,10 @@
     if user_affiliation_ids:
       policy_data.user_affiliation_ids.extend(user_affiliation_ids)
 
+    directory_api_id = policy.get('directory_api_id')
+    if directory_api_id:
+      policy_data.directory_api_id = directory_api_id
+
     if msg.policy_type == 'google/chromeos/device':
       # Fill |obfuscated_customer_id| for PolicyData in device policy fetches.
       # Verified Access attestation using the Enterprise Machine Key (EMK)
diff --git a/chromeos-base/policy-testserver/policy-testserver-0.0.10-r2.ebuild b/chromeos-base/policy-testserver/policy-testserver-0.0.10-r2.ebuild
deleted file mode 100644
index 4d9c153..0000000
--- a/chromeos-base/policy-testserver/policy-testserver-0.0.10-r2.ebuild
+++ /dev/null
@@ -1,114 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 python{3_6,3_7} )
-
-CROS_WORKON_PROJECT=(
-	"chromium/src/third_party/tlslite"
-	"chromium/src/net/tools/testserver"
-	"chromium/src/components/policy"
-
-	# private_membership and shell-encryption are not used in Chrome OS at
-	# the moment. They are just required to compile the proto files. An
-	# uprev will only be necessary if the respective proto files change.
-	"chromium/src/third_party/private_membership"
-	"chromium/src/third_party/shell-encryption"
-)
-CROS_WORKON_LOCALNAME=(
-	"chromium/src/third_party/tlslite"
-	"chromium/src/net/tools/testserver"
-	"chromium/src/components/policy"
-	"chromium/src/third_party/private_membership"
-	"chromium/src/third_party/shell-encryption"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}/third_party/tlslite"
-	"${S}/net/tools/testserver"
-	"${S}/components/policy"
-	"${S}/private_membership"
-	"${S}/shell-encryption"
-)
-CROS_WORKON_MANUAL_UPREV="1"
-
-CROS_WORKON_COMMIT=(
-	"05d9f22315757117685ad2f5265148f900f18034"
-	"8599944a086c503a4e31a95e226e967f5db560f7"
-	"b5c4e21ac0906e56c1acba28538b0b26a4622444"
-	"dd7f8ad1e3ee47c4baffdab73521862a18f55508"
-	"ee74da4528c53f8482b70716afd83861bfdb29c3"
-)
-# Must define CROS_WORKON_* variables before inheriting cros-workon.
-inherit cros-constants cros-workon python-any-r1
-
-DESCRIPTION="Dependencies needed by the policy_testserver"
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-POLICY_DIR="${S}/components/policy"
-
-PRIVATE_MEMBERSHIP_DIR="${S}/private_membership/src"
-SHELL_ENCRYPTION_DIR="${S}/shell-encryption/src"
-
-# Destination on DUT is /usr/local/share/policy_testserver.
-TESTSERVER_DIR="/usr/share/policy_testserver"
-
-DEPEND="
-	dev-libs/protobuf:=
-"
-
-RDEPEND="
-	dev-python/protobuf-python
-"
-src_compile() {
-	# Generate cloud_policy.proto with --all-chrome-versions option.
-	"${POLICY_DIR}/tools/generate_policy_source.py" \
-		--cloud-policy-protobuf="${WORKDIR}/cloud_policy.proto" \
-		--all-chrome-versions \
-		--target-platform="chrome_os" \
-		--policy-templates-file="${POLICY_DIR}/resources/policy_templates.json" \
-		|| die
-
-	# Create Python bindings needed for policy_testserver.py.
-	protoc --proto_path="${POLICY_DIR}/proto" \
-		--proto_path="${PRIVATE_MEMBERSHIP_DIR}"\
-		--proto_path="${SHELL_ENCRYPTION_DIR}"\
-		--python_out="${WORKDIR}" \
-		"${POLICY_DIR}/proto/chrome_device_policy.proto" \
-		"${POLICY_DIR}/proto/device_management_backend.proto" \
-		"${POLICY_DIR}/proto/chrome_extension_policy.proto" \
-		"${POLICY_DIR}/proto/policy_common_definitions.proto" \
-		"${PRIVATE_MEMBERSHIP_DIR}/private_membership_rlwe.proto" \
-		"${PRIVATE_MEMBERSHIP_DIR}/private_membership.proto" \
-		"${SHELL_ENCRYPTION_DIR}/serialization.proto" \
-		|| die
-	protoc --proto_path="${WORKDIR}" --proto_path="${POLICY_DIR}/proto" \
-		--python_out="${WORKDIR}" \
-		"${WORKDIR}/cloud_policy.proto" \
-		|| die
-}
-
-src_install() {
-	insinto "${TESTSERVER_DIR}"
-	doins -r "${S}"/third_party/tlslite
-	doins -r "${S}"/net/tools/testserver
-
-	# b/216072837 The Chromium version of policy_testserver.py is not compatible
-	# with cryptography in Chromium OS.
-	# Use a local copy created from the last working commit:
-	# bc9342741b561ff42d5798d58c679af2b47f6d67
-	doins -r "${FILESDIR}"/policy_testserver.py
-	doins -r "${FILESDIR}"/asn1der.py
-
-	insinto "${TESTSERVER_DIR}/proto_bindings"
-	doins "${WORKDIR}/chrome_device_policy_pb2.py"
-	doins "${WORKDIR}/device_management_backend_pb2.py"
-	doins "${WORKDIR}/chrome_extension_policy_pb2.py"
-	doins "${WORKDIR}/policy_common_definitions_pb2.py"
-	doins "${WORKDIR}/cloud_policy_pb2.py"
-	doins "${WORKDIR}/private_membership_rlwe_pb2.py"
-	doins "${WORKDIR}/private_membership_pb2.py"
-	doins "${WORKDIR}/serialization_pb2.py"
-}
diff --git a/chromeos-base/policy-testserver/policy-testserver-0.0.21.ebuild b/chromeos-base/policy-testserver/policy-testserver-0.0.21.ebuild
new file mode 100644
index 0000000..cba4ebd
--- /dev/null
+++ b/chromeos-base/policy-testserver/policy-testserver-0.0.21.ebuild
@@ -0,0 +1,119 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python{3_6,3_7} )
+
+CROS_WORKON_PROJECT=(
+	"chromium/src/third_party/tlslite"
+	"chromium/src/net/tools/testserver"
+	"chromium/src/components/policy"
+
+	# private_membership and shell-encryption are not used in Chrome OS at
+	# the moment. They are just required to compile the proto files. An
+	# uprev will only be necessary if the respective proto files change.
+	"chromium/src/third_party/private_membership"
+	"chromium/src/third_party/shell-encryption"
+)
+CROS_WORKON_LOCALNAME=(
+	"chromium/src/third_party/tlslite"
+	"chromium/src/net/tools/testserver"
+	"chromium/src/components/policy"
+	"chromium/src/third_party/private_membership"
+	"chromium/src/third_party/shell-encryption"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}/third_party/tlslite"
+	"${S}/net/tools/testserver"
+	"${S}/components/policy"
+	"${S}/private_membership"
+	"${S}/shell-encryption"
+)
+CROS_WORKON_MANUAL_UPREV="1"
+
+CROS_WORKON_COMMIT=(
+	"05d9f22315757117685ad2f5265148f900f18034" # tlslite
+	"8599944a086c503a4e31a95e226e967f5db560f7" # testserver
+	"2abe61e3fd23797ab5e7caf28ed8d3e6a873d2d2" # policy
+	"acb07d8034884b0f5e6d3b4379f6032fdb733e44" # private_membership
+	"04a46b48f70713db831b32da1581437d587f4081" # shell-encryption
+)
+# Must define CROS_WORKON_* variables before inheriting cros-workon.
+inherit cros-constants cros-workon python-any-r1
+
+DESCRIPTION="Dependencies needed by the policy_testserver"
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+POLICY_DIR="${S}/components/policy"
+
+PRIVATE_MEMBERSHIP_DIR="${S}/private_membership/src"
+SHELL_ENCRYPTION_DIR="${S}/shell-encryption/src"
+
+# Destination on DUT is /usr/local/share/policy_testserver.
+TESTSERVER_DIR="/usr/share/policy_testserver"
+
+DEPEND="
+	dev-libs/protobuf:=
+"
+
+RDEPEND="
+	dev-python/protobuf-python
+"
+src_compile() {
+	# Generate policy_templates.json
+	"${POLICY_DIR}/resources/policy_templates.py" \
+		--dest="${POLICY_DIR}/resources/generated_policy_templates.json" \
+		|| die "Failed to generate policy_templates.json"
+
+	# Generate cloud_policy.proto with --all-chrome-versions option.
+	"${POLICY_DIR}/tools/generate_policy_source.py" \
+		--cloud-policy-protobuf="${WORKDIR}/cloud_policy.proto" \
+		--all-chrome-versions \
+		--target-platform="chrome_os" \
+		--policy-templates-file="${POLICY_DIR}/resources/generated_policy_templates.json" \
+		|| die
+
+	# Create Python bindings needed for policy_testserver.py.
+	protoc --proto_path="${POLICY_DIR}/proto" \
+		--proto_path="${PRIVATE_MEMBERSHIP_DIR}"\
+		--proto_path="${SHELL_ENCRYPTION_DIR}"\
+		--python_out="${WORKDIR}" \
+		"${POLICY_DIR}/proto/chrome_device_policy.proto" \
+		"${POLICY_DIR}/proto/device_management_backend.proto" \
+		"${POLICY_DIR}/proto/chrome_extension_policy.proto" \
+		"${POLICY_DIR}/proto/policy_common_definitions.proto" \
+		"${PRIVATE_MEMBERSHIP_DIR}/private_membership_rlwe.proto" \
+		"${PRIVATE_MEMBERSHIP_DIR}/private_membership.proto" \
+		"${SHELL_ENCRYPTION_DIR}/serialization.proto" \
+		|| die
+	protoc --proto_path="${WORKDIR}" --proto_path="${POLICY_DIR}/proto" \
+		--python_out="${WORKDIR}" \
+		"${WORKDIR}/cloud_policy.proto" \
+		|| die
+}
+
+src_install() {
+	insinto "${TESTSERVER_DIR}"
+	doins -r "${S}"/third_party/tlslite
+	doins -r "${S}"/net/tools/testserver
+
+	# b/216072837 The Chromium version of policy_testserver.py is not compatible
+	# with cryptography in Chromium OS.
+	# Use a local copy created from the last working commit:
+	# bc9342741b561ff42d5798d58c679af2b47f6d67
+	doins -r "${FILESDIR}"/policy_testserver.py
+	doins -r "${FILESDIR}"/asn1der.py
+
+	insinto "${TESTSERVER_DIR}/proto_bindings"
+	doins "${WORKDIR}/chrome_device_policy_pb2.py"
+	doins "${WORKDIR}/device_management_backend_pb2.py"
+	doins "${WORKDIR}/chrome_extension_policy_pb2.py"
+	doins "${WORKDIR}/policy_common_definitions_pb2.py"
+	doins "${WORKDIR}/cloud_policy_pb2.py"
+	doins "${WORKDIR}/private_membership_rlwe_pb2.py"
+	doins "${WORKDIR}/private_membership_pb2.py"
+	doins "${WORKDIR}/serialization_pb2.py"
+}
diff --git a/chromeos-base/policy-testserver/policy-testserver-9999.ebuild b/chromeos-base/policy-testserver/policy-testserver-9999.ebuild
index 9b8591f..50f487f 100644
--- a/chromeos-base/policy-testserver/policy-testserver-9999.ebuild
+++ b/chromeos-base/policy-testserver/policy-testserver-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=6
 
-PYTHON_COMPAT=( python2_7 python{3_6,3_7} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 CROS_WORKON_PROJECT=(
 	"chromium/src/third_party/tlslite"
@@ -56,12 +56,17 @@
 	dev-python/protobuf-python
 "
 src_compile() {
+	# Generate policy_templates.json
+	"${POLICY_DIR}/resources/policy_templates.py" \
+		--dest="${POLICY_DIR}/resources/generated_policy_templates.json" \
+		|| die "Failed to generate policy_templates.json"
+
 	# Generate cloud_policy.proto with --all-chrome-versions option.
 	"${POLICY_DIR}/tools/generate_policy_source.py" \
 		--cloud-policy-protobuf="${WORKDIR}/cloud_policy.proto" \
 		--all-chrome-versions \
 		--target-platform="chrome_os" \
-		--policy-templates-file="${POLICY_DIR}/resources/policy_templates.json" \
+		--policy-templates-file="${POLICY_DIR}/resources/generated_policy_templates.json" \
 		|| die
 
 	# Create Python bindings needed for policy_testserver.py.
diff --git a/chromeos-base/policy_utils/files/revision_bump b/chromeos-base/policy_utils/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/policy_utils/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/policy_utils/policy_utils-0.0.1-r270.ebuild b/chromeos-base/policy_utils/policy_utils-0.0.1-r270.ebuild
deleted file mode 100644
index 6d554df..0000000
--- a/chromeos-base/policy_utils/policy_utils-0.0.1-r270.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "1e1e0c6f92d27a5c185ea1ba3cdfc88575ce4182" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_SUBTREE="common-mk policy_utils .gn"
-
-PLATFORM_SUBDIR="policy_utils"
-
-inherit cros-workon platform
-
-DESCRIPTION="Device-policy-management library and tool for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/policy_utils/"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-
-COMMON_DEPEND="
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/system_api
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-"
-
-src_install() {
-	dosbin "${OUT}/policy"
-}
-
-platform_pkg_test() {
-	local tests=(
-		libmgmt_test
-	)
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-}
diff --git a/chromeos-base/policy_utils/policy_utils-0.0.1-r330.ebuild b/chromeos-base/policy_utils/policy_utils-0.0.1-r330.ebuild
new file mode 100644
index 0000000..21324fd
--- /dev/null
+++ b/chromeos-base/policy_utils/policy_utils-0.0.1-r330.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "8fbdaea8ad40677acc8a26ad43f036ed7ece2ec8" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="common-mk policy_utils .gn"
+
+PLATFORM_SUBDIR="policy_utils"
+
+inherit cros-workon platform
+
+DESCRIPTION="Device-policy-management library and tool for Chrome OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/policy_utils/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+
+COMMON_DEPEND="
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/system_api
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+"
+
+src_install() {
+	dosbin "${OUT}/policy"
+}
+
+platform_pkg_test() {
+	local tests=(
+		libmgmt_test
+	)
+
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+}
diff --git a/chromeos-base/policy_utils/policy_utils-9999.ebuild b/chromeos-base/policy_utils/policy_utils-9999.ebuild
index 3ccc1a4..782dc6d 100644
--- a/chromeos-base/policy_utils/policy_utils-9999.ebuild
+++ b/chromeos-base/policy_utils/policy_utils-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Device-policy-management library and tool for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/policy_utils/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/policy_utils/"
 
 LICENSE="BSD-Google"
 SLOT="0/0"
diff --git a/chromeos-base/power_manager-client/files/revision_bump b/chromeos-base/power_manager-client/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/power_manager-client/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/power_manager-client/power_manager-client-0.0.1-r2288.ebuild b/chromeos-base/power_manager-client/power_manager-client-0.0.1-r2288.ebuild
deleted file mode 100644
index 08386d2..0000000
--- a/chromeos-base/power_manager-client/power_manager-client-0.0.1-r2288.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="b5af16fedbdbde464bfd67afa005d5d6537e5e5d"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "f48db0af4c70fe6ae23f1861b4b3989bc9fbf4ee" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk power_manager .gn"
-
-PLATFORM_NATIVE_TEST="yes"
-PLATFORM_SUBDIR="power_manager/client"
-
-inherit cros-workon platform
-
-DESCRIPTION="Power manager DBus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/power_manager/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="cros_host"
-
-DEPEND=""
-RDEPEND=""
-
-BDEPEND="
-	chromeos-base/chromeos-dbus-bindings:=
-"
-
-src_install() {
-	# Install DBus client library.
-	platform_install_dbus_client_lib "power_manager"
-}
diff --git a/chromeos-base/power_manager-client/power_manager-client-0.0.1-r2419.ebuild b/chromeos-base/power_manager-client/power_manager-client-0.0.1-r2419.ebuild
new file mode 100644
index 0000000..e3e062a
--- /dev/null
+++ b/chromeos-base/power_manager-client/power_manager-client-0.0.1-r2419.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "0bb1188da737e1a0399457e852e32dc8cfba2567" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk power_manager .gn"
+
+PLATFORM_NATIVE_TEST="yes"
+PLATFORM_SUBDIR="power_manager/client"
+
+inherit cros-workon platform
+
+DESCRIPTION="Power manager DBus client library for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/power_manager/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="cros_host"
+
+DEPEND=""
+RDEPEND=""
+
+BDEPEND="
+	chromeos-base/chromeos-dbus-bindings:=
+"
+
+src_install() {
+	# Install DBus client library.
+	platform_install_dbus_client_lib "power_manager"
+}
diff --git a/chromeos-base/power_manager-client/power_manager-client-9999.ebuild b/chromeos-base/power_manager-client/power_manager-client-9999.ebuild
index ce89d20..f8b2950 100644
--- a/chromeos-base/power_manager-client/power_manager-client-9999.ebuild
+++ b/chromeos-base/power_manager-client/power_manager-client-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Power manager DBus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/power_manager/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/power_manager/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/power_manager/files/revision_bump b/chromeos-base/power_manager/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/power_manager/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/power_manager/power_manager-0.0.2-r4066.ebuild b/chromeos-base/power_manager/power_manager-0.0.2-r4066.ebuild
deleted file mode 100644
index c72d86b..0000000
--- a/chromeos-base/power_manager/power_manager-0.0.2-r4066.ebuild
+++ /dev/null
@@ -1,190 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="b5af16fedbdbde464bfd67afa005d5d6537e5e5d"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "bea140d13f7cf1092e4c89a45011c04c28327972" "04d918571ad6d12563589ccf1b8c0e79b65521aa" "b2a628a7e6e84c75bbb6593f7e7d6c7baa8ccba0" "4a0dedab080195bdc122d2289118df4af3ddca2c" "f48db0af4c70fe6ae23f1861b4b3989bc9fbf4ee" "df2875ccc771270175813bb56bd8288194e09568" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_USE_VCSID="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk chromeos-config iioservice libec metrics power_manager shill/dbus/client .gn"
-
-PLATFORM_NATIVE_TEST="yes"
-PLATFORM_SUBDIR="power_manager"
-
-inherit tmpfiles cros-workon cros-unibuild platform systemd udev user
-
-DESCRIPTION="Power Manager for Chromium OS"
-HOMEPAGE="http://dev.chromium.org/chromium-os/packages/power_manager"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="-als cellular +cras cros_embedded +display_backlight fuzzer -has_keyboard_backlight iioservice -keyboard_includes_side_buttons keyboard_convertible_no_side_buttons -legacy_power_button -powerd_manual_eventlog_add +powerknobs systemd +touchpad_wakeup -touchscreen_wakeup unibuild wilco qrtr -has_machine_quirks"
-REQUIRED_USE="
-	?? ( keyboard_includes_side_buttons keyboard_convertible_no_side_buttons )"
-
-COMMON_DEPEND="
-	chromeos-base/chromeos-config-tools:=
-	chromeos-base/libec:=
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/shill-dbus-client:=
-	chromeos-base/tpm_manager-client:=
-	dev-libs/libnl:=
-	dev-libs/protobuf:=
-	dev-libs/re2:=
-	cras? ( media-sound/adhd:= )
-	virtual/udev
-	cellular? ( net-misc/modemmanager-next:= )"
-
-RDEPEND="${COMMON_DEPEND}
-	chromeos-base/ec-utils
-	iioservice? ( chromeos-base/libiioservice_ipc:= )
-	powerd_manual_eventlog_add? ( sys-apps/coreboot-utils )
-	qrtr? ( net-libs/libqrtr:= )
-"
-
-DEPEND="${COMMON_DEPEND}
-	chromeos-base/chromeos-ec-headers:=
-	chromeos-base/system_api:=[fuzzer?]
-	qrtr? ( sys-apps/upstart:= )
-"
-
-pkg_setup() {
-	# Create the 'power' user and group here in pkg_setup as src_install needs
-	# them to change the ownership of power manager files.
-	enewuser "power"
-	enewgroup "power"
-	# Ensure that this group exists so that power_manager can access
-	# /dev/cros_ec.
-	enewgroup "cros_ec-access"
-	cros-workon_pkg_setup
-}
-
-src_install() {
-	# Binaries for production
-	dobin "${OUT}"/backlight_tool  # boot-splash, chromeos-boot-alert
-	dobin "${OUT}"/cpufreq_config
-	dobin "${OUT}"/dump_power_status  # crosh's battery_test command
-	dobin "${OUT}"/powerd
-	dobin "${OUT}"/powerd_setuid_helper
-	dobin "${OUT}"/power_supply_info  # feedback
-	dobin "${OUT}"/set_cellular_transmit_power
-	dobin "${OUT}"/set_wifi_transmit_power
-	fowners root:power /usr/bin/powerd_setuid_helper
-	fperms 4750 /usr/bin/powerd_setuid_helper
-
-	# Binaries for testing and debugging
-	dobin "${OUT}"/check_powerd_config
-	use amd64 && dobin "${OUT}"/dump_intel_rapl_consumption
-	dobin "${OUT}"/inject_powerd_input_event
-	dobin "${OUT}"/memory_suspend_test
-	dobin "${OUT}"/powerd_dbus_suspend
-	dobin "${OUT}"/send_debug_power_status
-	dobin "${OUT}"/set_power_policy
-	dobin "${OUT}"/suspend_delay_sample
-
-	# Scripts for production
-	dobin powerd/powerd_suspend
-	dobin tools/print_sysfs_power_supply_data  # feedback
-	dobin tools/send_metrics_on_resume
-	dobin tools/thermal_zone_config
-
-	# Scripts for testing and debugging
-	dobin tools/activate_short_dark_resume
-	dobin tools/debug_sleep_quickly
-	dobin tools/set_short_powerd_timeouts
-	dobin tools/suspend_stress_test
-
-	# Scripts called from init scripts
-	exeinto /usr/share/cros/init/
-	doexe tools/temp_logger.sh
-
-	# Preferences
-	insinto /usr/share/power_manager
-	doins default_prefs/*
-	use als && doins optional_prefs/has_ambient_light_sensor
-	use cras && doins optional_prefs/use_cras
-	use display_backlight || doins optional_prefs/external_display_only
-	use has_keyboard_backlight && doins optional_prefs/has_keyboard_backlight
-	use legacy_power_button && doins optional_prefs/legacy_power_button
-	use powerd_manual_eventlog_add && doins optional_prefs/manual_eventlog_add
-	use has_machine_quirks && doins optional_prefs/has_machine_quirks
-
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.PowerManager.conf
-
-	# udev scripts and rules.
-	exeinto "$(get_udevdir)"
-	doexe udev/*.sh
-	udev_dorules udev/*.rules
-
-	if use powerknobs; then
-		udev/gen_autosuspend_rules.py > "${T}"/98-autosuspend.rules || die
-		udev_dorules "${T}"/98-autosuspend.rules
-		udev_dorules udev/optional/98-powerknobs.rules
-		dobin udev/optional/set_blkdev_pm
-	fi
-	if use keyboard_includes_side_buttons; then
-		udev_dorules udev/optional/93-powerd-tags-keyboard-side-buttons.rules
-	elif use keyboard_convertible_no_side_buttons; then
-		udev_dorules udev/optional/93-powerd-tags-keyboard-convertible.rules
-	fi
-
-	if ! use touchpad_wakeup; then
-		udev_dorules udev/optional/93-powerd-tags-no-touchpad-wakeup.rules
-	elif use unibuild; then
-		udev_dorules udev/optional/93-powerd-tags-unibuild-touchpad-wakeup.rules
-	fi
-
-	if use touchscreen_wakeup; then
-		udev_dorules udev/optional/93-powerd-tags-touchscreen-wakeup.rules
-	elif use unibuild; then
-		udev_dorules udev/optional/93-powerd-tags-unibuild-touchscreen-wakeup.rules
-	fi
-
-	if use wilco; then
-		udev_dorules udev/optional/93-powerd-wilco-ec-files.rules
-
-		exeinto /usr/share/cros/init/optional
-		doexe init/shared/optional/powerd-pre-start-wilco.sh
-	fi
-
-	# Init scripts
-	if use systemd; then
-		systemd_dounit init/systemd/*.service
-		systemd_enable_service boot-services.target powerd.service
-		systemd_enable_service system-services.target report-power-metrics.service
-		systemd_dotmpfilesd init/systemd/powerd_directories.conf
-	else
-		insinto /etc/init
-		doins init/upstart/*.conf
-	fi
-	exeinto /usr/share/cros/init
-	doexe init/shared/powerd-pre-start.sh
-
-	dotmpfiles tmpfiles.d/*.conf
-
-	# Install fuzz targets.
-	local fuzzer
-	for fuzzer in "${OUT}"/*_fuzzer; do
-		local fuzzer_component_id="167191"
-		platform_fuzzer_install "${S}"/OWNERS "${fuzzer}" \
-			--comp "${fuzzer_component_id}"
-	done
-}
-
-platform_pkg_test() {
-	local tests=(
-		power_manager_daemon_test
-		power_manager_policy_test
-		power_manager_system_test
-		power_manager_util_test
-	)
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-}
diff --git a/chromeos-base/power_manager/power_manager-0.0.2-r4328.ebuild b/chromeos-base/power_manager/power_manager-0.0.2-r4328.ebuild
new file mode 100644
index 0000000..4bdaafe
--- /dev/null
+++ b/chromeos-base/power_manager/power_manager-0.0.2-r4328.ebuild
@@ -0,0 +1,190 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "527abd7a988a45572305a6c44b5324d0d9cf8be2" "a97bd01dbd0e88c337336d29105ee63b03a4ef9f" "1dbf281b6523338c1a11135ebaf00796f0f664e4" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "0bb1188da737e1a0399457e852e32dc8cfba2567" "62f84a7b4216d539df553a5bafe00d85969a9f63" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_USE_VCSID="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk chromeos-config iioservice libec metrics power_manager shill/dbus/client .gn"
+
+PLATFORM_NATIVE_TEST="yes"
+PLATFORM_SUBDIR="power_manager"
+
+inherit tmpfiles cros-workon cros-unibuild platform systemd udev user
+
+DESCRIPTION="Power Manager for Chromium OS"
+HOMEPAGE="http://dev.chromium.org/chromium-os/packages/power_manager"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="-als cellular +cras cros_embedded +display_backlight fuzzer -has_keyboard_backlight iioservice -keyboard_includes_side_buttons keyboard_convertible_no_side_buttons -legacy_power_button -powerd_manual_eventlog_add +powerknobs systemd +touchpad_wakeup -touchscreen_wakeup unibuild wilco qrtr"
+REQUIRED_USE="
+	?? ( keyboard_includes_side_buttons keyboard_convertible_no_side_buttons )"
+
+COMMON_DEPEND="
+	chromeos-base/chromeos-config-tools:=
+	chromeos-base/libec:=
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/ml-client:=
+	chromeos-base/shill-dbus-client:=
+	chromeos-base/tpm_manager-client:=
+	dev-libs/libnl:=
+	dev-libs/protobuf:=
+	dev-libs/re2:=
+	cras? ( media-sound/adhd:= )
+	virtual/udev
+	cellular? ( net-misc/modemmanager-next:= )"
+
+RDEPEND="${COMMON_DEPEND}
+	chromeos-base/ec-utils
+	iioservice? ( chromeos-base/libiioservice_ipc:= )
+	powerd_manual_eventlog_add? ( sys-apps/coreboot-utils )
+	qrtr? ( net-libs/libqrtr:= )
+"
+
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/chromeos-ec-headers:=
+	chromeos-base/system_api:=[fuzzer?]
+	qrtr? ( sys-apps/upstart:= )
+"
+
+pkg_setup() {
+	# Create the 'power' user and group here in pkg_setup as src_install needs
+	# them to change the ownership of power manager files.
+	enewuser "power"
+	enewgroup "power"
+	# Ensure that this group exists so that power_manager can access
+	# /dev/cros_ec.
+	enewgroup "cros_ec-access"
+	cros-workon_pkg_setup
+}
+
+src_install() {
+	# Binaries for production
+	dobin "${OUT}"/backlight_tool  # boot-splash, chromeos-boot-alert
+	dobin "${OUT}"/cpufreq_config
+	dobin "${OUT}"/dump_power_status  # crosh's battery_test command
+	dobin "${OUT}"/powerd
+	dobin "${OUT}"/powerd_setuid_helper
+	dobin "${OUT}"/power_supply_info  # feedback
+	dobin "${OUT}"/set_cellular_transmit_power
+	dobin "${OUT}"/set_wifi_transmit_power
+	fowners root:power /usr/bin/powerd_setuid_helper
+	fperms 4750 /usr/bin/powerd_setuid_helper
+
+	# Binaries for testing and debugging
+	dobin "${OUT}"/check_powerd_config
+	use amd64 && dobin "${OUT}"/dump_intel_rapl_consumption
+	dobin "${OUT}"/inject_powerd_input_event
+	dobin "${OUT}"/memory_suspend_test
+	dobin "${OUT}"/powerd_dbus_suspend
+	dobin "${OUT}"/send_debug_power_status
+	dobin "${OUT}"/set_power_policy
+	dobin "${OUT}"/suspend_delay_sample
+
+	# Scripts for production
+	dobin powerd/powerd_suspend
+	dobin tools/print_sysfs_power_supply_data  # feedback
+	dobin tools/send_metrics_on_resume
+	dobin tools/thermal_zone_config
+
+	# Scripts for testing and debugging
+	dobin tools/activate_short_dark_resume
+	dobin tools/debug_sleep_quickly
+	dobin tools/set_short_powerd_timeouts
+	dobin tools/suspend_stress_test
+
+	# Scripts called from init scripts
+	exeinto /usr/share/cros/init/
+	doexe tools/temp_logger.sh
+
+	# Preferences
+	insinto /usr/share/power_manager
+	doins default_prefs/*
+	use als && doins optional_prefs/has_ambient_light_sensor
+	use cras && doins optional_prefs/use_cras
+	use display_backlight || doins optional_prefs/external_display_only
+	use has_keyboard_backlight && doins optional_prefs/has_keyboard_backlight
+	use legacy_power_button && doins optional_prefs/legacy_power_button
+	use powerd_manual_eventlog_add && doins optional_prefs/manual_eventlog_add
+
+	insinto /etc/dbus-1/system.d
+	doins dbus/org.chromium.PowerManager.conf
+
+	# udev scripts and rules.
+	exeinto "$(get_udevdir)"
+	doexe udev/*.sh
+	udev_dorules udev/*.rules
+
+	if use powerknobs; then
+		udev/gen_autosuspend_rules.py > "${T}"/98-autosuspend.rules || die
+		udev_dorules "${T}"/98-autosuspend.rules
+		udev_dorules udev/optional/98-powerknobs.rules
+		dobin udev/optional/set_blkdev_pm
+	fi
+	if use keyboard_includes_side_buttons; then
+		udev_dorules udev/optional/93-powerd-tags-keyboard-side-buttons.rules
+	elif use keyboard_convertible_no_side_buttons; then
+		udev_dorules udev/optional/93-powerd-tags-keyboard-convertible.rules
+	fi
+
+	if ! use touchpad_wakeup; then
+		udev_dorules udev/optional/93-powerd-tags-no-touchpad-wakeup.rules
+	elif use unibuild; then
+		udev_dorules udev/optional/93-powerd-tags-unibuild-touchpad-wakeup.rules
+	fi
+
+	if use touchscreen_wakeup; then
+		udev_dorules udev/optional/93-powerd-tags-touchscreen-wakeup.rules
+	elif use unibuild; then
+		udev_dorules udev/optional/93-powerd-tags-unibuild-touchscreen-wakeup.rules
+	fi
+
+	if use wilco; then
+		udev_dorules udev/optional/93-powerd-wilco-ec-files.rules
+
+		exeinto /usr/share/cros/init/optional
+		doexe init/shared/optional/powerd-pre-start-wilco.sh
+	fi
+
+	# Init scripts
+	if use systemd; then
+		systemd_dounit init/systemd/*.service
+		systemd_enable_service boot-services.target powerd.service
+		systemd_enable_service system-services.target report-power-metrics.service
+		systemd_dotmpfilesd init/systemd/powerd_directories.conf
+	else
+		insinto /etc/init
+		doins init/upstart/*.conf
+	fi
+	exeinto /usr/share/cros/init
+	doexe init/shared/powerd-pre-start.sh
+
+	dotmpfiles tmpfiles.d/*.conf
+
+	# Install fuzz targets.
+	local fuzzer
+	for fuzzer in "${OUT}"/*_fuzzer; do
+		local fuzzer_component_id="167191"
+		platform_fuzzer_install "${S}"/OWNERS "${fuzzer}" \
+			--comp "${fuzzer_component_id}"
+	done
+}
+
+platform_pkg_test() {
+	local tests=(
+		power_manager_daemon_test
+		power_manager_policy_test
+		power_manager_system_test
+		power_manager_util_test
+	)
+
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+}
diff --git a/chromeos-base/power_manager/power_manager-9999.ebuild b/chromeos-base/power_manager/power_manager-9999.ebuild
index e3781da..ea0e50a 100644
--- a/chromeos-base/power_manager/power_manager-9999.ebuild
+++ b/chromeos-base/power_manager/power_manager-9999.ebuild
@@ -19,7 +19,7 @@
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
-IUSE="-als cellular +cras cros_embedded +display_backlight fuzzer -has_keyboard_backlight iioservice -keyboard_includes_side_buttons keyboard_convertible_no_side_buttons -legacy_power_button -powerd_manual_eventlog_add +powerknobs systemd +touchpad_wakeup -touchscreen_wakeup unibuild wilco qrtr -has_machine_quirks"
+IUSE="-als cellular +cras cros_embedded +display_backlight fuzzer -has_keyboard_backlight iioservice -keyboard_includes_side_buttons keyboard_convertible_no_side_buttons -legacy_power_button -powerd_manual_eventlog_add +powerknobs systemd +touchpad_wakeup -touchscreen_wakeup unibuild wilco qrtr"
 REQUIRED_USE="
 	?? ( keyboard_includes_side_buttons keyboard_convertible_no_side_buttons )"
 
@@ -27,6 +27,7 @@
 	chromeos-base/chromeos-config-tools:=
 	chromeos-base/libec:=
 	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/ml-client:=
 	chromeos-base/shill-dbus-client:=
 	chromeos-base/tpm_manager-client:=
 	dev-libs/libnl:=
@@ -108,7 +109,6 @@
 	use has_keyboard_backlight && doins optional_prefs/has_keyboard_backlight
 	use legacy_power_button && doins optional_prefs/legacy_power_button
 	use powerd_manual_eventlog_add && doins optional_prefs/manual_eventlog_add
-	use has_machine_quirks && doins optional_prefs/has_machine_quirks
 
 	insinto /etc/dbus-1/system.d
 	doins dbus/org.chromium.PowerManager.conf
diff --git a/chromeos-base/print_tools/files/revision_bump b/chromeos-base/print_tools/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/print_tools/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/print_tools/print_tools-0.0.1-r197.ebuild b/chromeos-base/print_tools/print_tools-0.0.1-r197.ebuild
deleted file mode 100644
index 9afdc65..0000000
--- a/chromeos-base/print_tools/print_tools-0.0.1-r197.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "16ed628a2ab08887298d13700ab8efe04c8cd38f" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk print_tools .gn"
-
-PLATFORM_SUBDIR="print_tools"
-
-inherit cros-workon platform
-
-DESCRIPTION="Various tools for the native printing system."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/print_tools/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-COMMON_DEPEND="
-	chromeos-base/libipp:=
-"
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}"
-
-src_install() {
-	dobin "${OUT}"/printer_diag
-}
diff --git a/chromeos-base/print_tools/print_tools-0.0.1-r260.ebuild b/chromeos-base/print_tools/print_tools-0.0.1-r260.ebuild
new file mode 100644
index 0000000..38cd8cd
--- /dev/null
+++ b/chromeos-base/print_tools/print_tools-0.0.1-r260.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "13183fe914ad9f617d493ad25fe9b7db7b0078ab" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk print_tools .gn"
+
+PLATFORM_SUBDIR="print_tools"
+
+inherit cros-workon platform
+
+DESCRIPTION="Various tools for the native printing system."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/print_tools/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+COMMON_DEPEND="
+	chromeos-base/libipp:=
+"
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}"
+
+src_install() {
+	dobin "${OUT}"/printer_diag
+}
diff --git a/chromeos-base/print_tools/print_tools-9999.ebuild b/chromeos-base/print_tools/print_tools-9999.ebuild
index 0d2908b..28ac0ee 100644
--- a/chromeos-base/print_tools/print_tools-9999.ebuild
+++ b/chromeos-base/print_tools/print_tools-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Various tools for the native printing system."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/print_tools/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/print_tools/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/protofiles/OWNERS b/chromeos-base/protofiles/OWNERS
new file mode 100644
index 0000000..e316301
--- /dev/null
+++ b/chromeos-base/protofiles/OWNERS
@@ -0,0 +1,8 @@
+asumaneev@google.com
+crisguerrero@chromium.org
+igorcov@chromium.org
+janagrill@google.com
+mpolzer@google.com
+rbock@google.com
+sergiyb@chromium.org
+vsavu@google.com
diff --git a/chromeos-base/protofiles/files/VERSION b/chromeos-base/protofiles/files/VERSION
index 7cd2ae3..8eba71a 100644
--- a/chromeos-base/protofiles/files/VERSION
+++ b/chromeos-base/protofiles/files/VERSION
@@ -1,4 +1,4 @@
-MAJOR=100
+MAJOR=106
 MINOR=0
-BUILD=4868
+BUILD=5222
 PATCH=0
diff --git a/chromeos-base/protofiles/protofiles-0.0.57.ebuild b/chromeos-base/protofiles/protofiles-0.0.57.ebuild
deleted file mode 100644
index 49b8e1f..0000000
--- a/chromeos-base/protofiles/protofiles-0.0.57.ebuild
+++ /dev/null
@@ -1,155 +0,0 @@
-# Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-# This project checks out the proto files from the read only repositories
-# linked to the following directories of the Chromium project:
-
-#   - src/components/policy
-
-# This project is not cros-work-able: if changes to the protobufs are needed
-# then they should be done in the Chromium repository, and the commits below
-# should be updated.
-
-EAPI="7"
-
-CROS_WORKON_PROJECT=(
-	"chromium/src/components/policy"
-
-	# private_membership and shell-encryption are not used in Chrome OS at
-	# the moment. They are just required to compile the proto files. An
-	# uprev will only be necessary if the respective proto files change.
-	"chromium/src/third_party/private_membership"
-	"chromium/src/third_party/shell-encryption"
-)
-
-CROS_WORKON_LOCALNAME=(
-	"chromium/src/components/policy"
-	"chromium/src/third_party/private_membership"
-	"chromium/src/third_party/shell-encryption"
-)
-
-CROS_WORKON_DESTDIR=(
-	"${S}/cloud/policy"
-	"${S}/private_membership"
-	"${S}/shell-encryption"
-)
-
-CROS_WORKON_EGIT_BRANCH=(
-	"main"
-	"main"
-	"main"
-)
-
-CROS_WORKON_MANUAL_UPREV=1
-
-# If you uprev these repos, please also:
-# - Update files/VERSION to the corresponding revision of
-#   chromium/src/chrome/VERSION in the Chromium code base.
-#   Only the MAJOR version matters, really. This is necessary so policy
-#   code builders have the right set of policies.
-# - Update authpolicy/policy/device_policy_encoder[_unittest].cc to
-#   include new device policies. The unit test tells you missing ones:
-#     FEATURES=test emerge-$BOARD authpolicy
-#   If you see unrelated test failures, make sure to rebuild the
-#   authpolicy package and its dependencies (in particular, libbrillo
-#   which provides libpolicy for accessing device policy) against the
-#   updated protofiles package.
-#   User policy is generated and doesn't have to be updated manually.
-# - Bump the package version:
-#     git mv protofiles-0.0.N.ebuild protofiles-0.0.N+1.ebuild
-# - Bump the DEPEND version number for protofiles in all ebuilds for
-#   packages that rely on the new policies. If you added new device
-#   policy encodings above that will at least be authpolicy.
-CROS_WORKON_COMMIT=(
-	"86cca45ec599dcde8e53754260c269ff1ce306e1"
-	"dd7f8ad1e3ee47c4baffdab73521862a18f55508"
-	"ee74da4528c53f8482b70716afd83861bfdb29c3"
-)
-# git rev-parse $HASH:./
-CROS_WORKON_TREE=(
-	"c994783f3b462cbf186408b7eb831008c4c9c35e"
-	"2b33c6c1b6529c83b4dee92c4c581b0844325591"
-	"36b1891707e49195ca9114e1465dc2c0add9eb8b"
-)
-
-PYTHON_COMPAT=( python{3_6,3_7} )
-
-inherit cros-constants cros-workon eutils python-any-r1
-
-DESCRIPTION="Protobuf installer for the device policy proto definitions."
-HOMEPAGE="https://chromium.googlesource.com/chromium/src/components/policy"
-
-LICENSE="BSD-Google"
-SLOT="0/${PV}"
-KEYWORDS="*"
-IUSE=""
-
-POLICY_DIR="${S}/cloud/policy"
-
-PRIVATE_MEMBERSHIP_DIR="${S}/private_membership/src"
-SHELL_ENCRYPTION_DIR="${S}/shell-encryption/src"
-
-# A list of the static protobuf files that exist in Chromium.
-POLICY_DIR_PROTO_FILES=(
-	"chrome_device_policy.proto"
-	"chrome_extension_policy.proto"
-	"device_management_backend.proto"
-	"install_attributes.proto"
-	"policy_common_definitions.proto"
-	"policy_signing_key.proto"
-	"secure_connect.proto"
-)
-
-RDEPEND="!<chromeos-base/chromeos-chrome-82.0.4056.0_rc-r1"
-
-src_compile() {
-	# Generate cloud_policy.proto.
-	"${POLICY_DIR}/tools/generate_policy_source.py" \
-		--cloud-policy-protobuf="${WORKDIR}/cloud_policy.proto" \
-		--chrome-version-file="${FILESDIR}/VERSION" \
-		--policy-templates-file="${POLICY_DIR}/resources/policy_templates.json" \
-		--target-platform="chrome_os" \
-		|| die "Failed to generate cloud_policy.proto"
-}
-
-src_install() {
-	insinto /usr/include/proto
-	doins "${POLICY_DIR}"/proto/chrome_device_policy.proto
-	doins "${POLICY_DIR}"/proto/chrome_extension_policy.proto
-	doins "${POLICY_DIR}"/proto/install_attributes.proto
-	doins "${POLICY_DIR}"/proto/policy_signing_key.proto
-	doins "${POLICY_DIR}"/proto/device_management_backend.proto
-	doins "${PRIVATE_MEMBERSHIP_DIR}"/private_membership_rlwe.proto
-	doins "${PRIVATE_MEMBERSHIP_DIR}"/private_membership.proto
-	doins "${SHELL_ENCRYPTION_DIR}"/serialization.proto
-	insinto /usr/share/protofiles
-	doins "${POLICY_DIR}"/proto/chrome_device_policy.proto
-	doins "${POLICY_DIR}"/proto/policy_common_definitions.proto
-	doins "${POLICY_DIR}"/proto/device_management_backend.proto
-	doins "${POLICY_DIR}"/proto/chrome_extension_policy.proto
-	doins "${PRIVATE_MEMBERSHIP_DIR}"/private_membership_rlwe.proto
-	doins "${PRIVATE_MEMBERSHIP_DIR}"/private_membership.proto
-	doins "${SHELL_ENCRYPTION_DIR}"/serialization.proto
-	doins "${WORKDIR}"/cloud_policy.proto
-	insinto /usr/share/policy_resources
-	doins "${POLICY_DIR}"/resources/policy_templates.json
-	doins "${FILESDIR}"/VERSION
-	exeinto /usr/share/policy_tools
-	doexe "${POLICY_DIR}"/tools/generate_policy_source.py
-
-	# Retrieve the proto files which exist in that path, with their full paths.
-	local policy_dir_proto_files=( "${POLICY_DIR}"/proto/*.proto )
-
-	# Convert policy_dir_proto_files into an array, and retrieving the files names, instead of their full path.
-	policy_dir_proto_files=( "${policy_dir_proto_files[@]##*/}" )
-
-	# Check whether all protobuf files that exist in Chromium side has already been installed in protofiles package or
-	# not. And to verify that the list in autotests package, which is using these protobuf files are up-to-date.
-	sorter() {
-		printf '%s\n' "$@" | LC_ALL=C sort
-	}
-	if [[ "$(sorter "${policy_dir_proto_files[@]}")" != "$(sorter "${POLICY_DIR_PROTO_FILES[@]}")" ]]; then
-		die "Add all new protobuf files into the sorted list of chromium protobuf files, which exist in protofiles package.
-			Please update all the imported protobuf files in autotest package in policy_protos.py file."
-	fi
-}
diff --git a/chromeos-base/protofiles/protofiles-0.0.68.ebuild b/chromeos-base/protofiles/protofiles-0.0.68.ebuild
new file mode 100644
index 0000000..d0a2059
--- /dev/null
+++ b/chromeos-base/protofiles/protofiles-0.0.68.ebuild
@@ -0,0 +1,161 @@
+# Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+# This project checks out the proto files from the read only repositories
+# linked to the following directories of the Chromium project:
+
+#   - src/components/policy
+
+# This project is not cros-work-able: if changes to the protobufs are needed
+# then they should be done in the Chromium repository, and the commits below
+# should be updated.
+
+EAPI="7"
+
+CROS_WORKON_PROJECT=(
+	"chromium/src/components/policy"
+
+	# private_membership and shell-encryption are not used in Chrome OS at
+	# the moment. They are just required to compile the proto files. An
+	# uprev will only be necessary if the respective proto files change.
+	"chromium/src/third_party/private_membership"
+	"chromium/src/third_party/shell-encryption"
+)
+
+CROS_WORKON_LOCALNAME=(
+	"chromium/src/components/policy"
+	"chromium/src/third_party/private_membership"
+	"chromium/src/third_party/shell-encryption"
+)
+
+CROS_WORKON_DESTDIR=(
+	"${S}/cloud/policy"
+	"${S}/private_membership"
+	"${S}/shell-encryption"
+)
+
+CROS_WORKON_EGIT_BRANCH=(
+	"main"
+	"main"
+	"main"
+)
+
+CROS_WORKON_MANUAL_UPREV=1
+
+# If you uprev these repos, please also:
+# - Update files/VERSION to the corresponding revision of
+#   chromium/src/chrome/VERSION in the Chromium code base.
+#   Only the MAJOR version matters, really. This is necessary so policy
+#   code builders have the right set of policies.
+# - Update authpolicy/policy/device_policy_encoder[_unittest].cc to
+#   include new device policies. The unit test tells you missing ones:
+#     FEATURES=test emerge-$BOARD authpolicy
+#   If you see unrelated test failures, make sure to rebuild the
+#   authpolicy package and its dependencies (in particular, libbrillo
+#   which provides libpolicy for accessing device policy) against the
+#   updated protofiles package.
+#   User policy is generated and doesn't have to be updated manually.
+# - Bump the package version:
+#     git mv protofiles-0.0.N.ebuild protofiles-0.0.N+1.ebuild
+# - Bump the DEPEND version number for protofiles in all ebuilds for
+#   packages that rely on the new policies. If you added new device
+#   policy encodings above that will at least be authpolicy.
+CROS_WORKON_COMMIT=(
+	"2abe61e3fd23797ab5e7caf28ed8d3e6a873d2d2" # policy
+	"acb07d8034884b0f5e6d3b4379f6032fdb733e44" # private_membership
+	"04a46b48f70713db831b32da1581437d587f4081" # shell-encryption
+)
+# git rev-parse $HASH:./
+CROS_WORKON_TREE=(
+	"a6e16b51c45b12815ab48eeb9c96cd3040850d9b" # policy
+	"b8d20bc0d11609ffe2bc40bb4b3613cf94b6bd6d" # private_membership
+	"f684c7405b47af0d6f74e4bc062845fca1359fe4" # shell-encryption
+)
+
+PYTHON_COMPAT=( python{3_6,3_7} )
+
+inherit cros-constants cros-workon eutils python-any-r1
+
+DESCRIPTION="Protobuf installer for the device policy proto definitions."
+HOMEPAGE="https://chromium.googlesource.com/chromium/src/components/policy"
+
+LICENSE="BSD-Google"
+SLOT="0/${PV}"
+KEYWORDS="*"
+IUSE=""
+
+POLICY_DIR="${S}/cloud/policy"
+
+PRIVATE_MEMBERSHIP_DIR="${S}/private_membership/src"
+SHELL_ENCRYPTION_DIR="${S}/shell-encryption/src"
+
+# A list of the static protobuf files that exist in Chromium.
+POLICY_DIR_PROTO_FILES=(
+	"chrome_device_policy.proto"
+	"chrome_extension_policy.proto"
+	"device_management_backend.proto"
+	"install_attributes.proto"
+	"policy_common_definitions.proto"
+	"policy_signing_key.proto"
+	"secure_connect.proto"
+)
+
+RDEPEND="!<chromeos-base/chromeos-chrome-82.0.4056.0_rc-r1"
+
+src_compile() {
+	# Generate policy_templates.json
+	"${POLICY_DIR}/resources/policy_templates.py" \
+		--dest="${POLICY_DIR}/resources/generated_policy_templates.json" \
+		|| die "Failed to generate policy_templates.json"
+
+	# Generate cloud_policy.proto.
+	"${POLICY_DIR}/tools/generate_policy_source.py" \
+		--cloud-policy-protobuf="${WORKDIR}/cloud_policy.proto" \
+		--chrome-version-file="${FILESDIR}/VERSION" \
+		--policy-templates-file="${POLICY_DIR}/resources/generated_policy_templates.json" \
+		--target-platform="chrome_os" \
+		|| die "Failed to generate cloud_policy.proto"
+}
+
+src_install() {
+	insinto /usr/include/proto
+	doins "${POLICY_DIR}"/proto/chrome_device_policy.proto
+	doins "${POLICY_DIR}"/proto/chrome_extension_policy.proto
+	doins "${POLICY_DIR}"/proto/install_attributes.proto
+	doins "${POLICY_DIR}"/proto/policy_signing_key.proto
+	doins "${POLICY_DIR}"/proto/device_management_backend.proto
+	doins "${PRIVATE_MEMBERSHIP_DIR}"/private_membership_rlwe.proto
+	doins "${PRIVATE_MEMBERSHIP_DIR}"/private_membership.proto
+	doins "${SHELL_ENCRYPTION_DIR}"/serialization.proto
+	insinto /usr/share/protofiles
+	doins "${POLICY_DIR}"/proto/chrome_device_policy.proto
+	doins "${POLICY_DIR}"/proto/policy_common_definitions.proto
+	doins "${POLICY_DIR}"/proto/device_management_backend.proto
+	doins "${POLICY_DIR}"/proto/chrome_extension_policy.proto
+	doins "${PRIVATE_MEMBERSHIP_DIR}"/private_membership_rlwe.proto
+	doins "${PRIVATE_MEMBERSHIP_DIR}"/private_membership.proto
+	doins "${SHELL_ENCRYPTION_DIR}"/serialization.proto
+	doins "${WORKDIR}"/cloud_policy.proto
+	insinto /usr/share/policy_resources
+	doins "${POLICY_DIR}"/resources/policy_templates.json
+	doins "${POLICY_DIR}"/resources/generated_policy_templates.json
+	doins "${FILESDIR}"/VERSION
+	exeinto /usr/share/policy_tools
+	doexe "${POLICY_DIR}"/tools/generate_policy_source.py
+
+	# Retrieve the proto files which exist in that path, with their full paths.
+	local policy_dir_proto_files=( "${POLICY_DIR}"/proto/*.proto )
+
+	# Convert policy_dir_proto_files into an array, and retrieving the files names, instead of their full path.
+	policy_dir_proto_files=( "${policy_dir_proto_files[@]##*/}" )
+
+	# Check whether all protobuf files that exist in Chromium side has already been installed in protofiles package or
+	# not. And to verify that the list in autotests package, which is using these protobuf files are up-to-date.
+	sorter() {
+		printf '%s\n' "$@" | LC_ALL=C sort
+	}
+	if [[ "$(sorter "${policy_dir_proto_files[@]}")" != "$(sorter "${POLICY_DIR_PROTO_FILES[@]}")" ]]; then
+		die "Add all new protobuf files into the sorted list of chromium protobuf files, which exist in protofiles package.
+			Please update all the imported protobuf files in autotest package in policy_protos.py file."
+	fi
+}
diff --git a/chromeos-base/protofiles/protofiles-9999.ebuild b/chromeos-base/protofiles/protofiles-9999.ebuild
index 89cadcb..bf8f2d1 100644
--- a/chromeos-base/protofiles/protofiles-9999.ebuild
+++ b/chromeos-base/protofiles/protofiles-9999.ebuild
@@ -42,7 +42,7 @@
 
 CROS_WORKON_MANUAL_UPREV=1
 
-PYTHON_COMPAT=( python{3_6,3_7} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 inherit cros-constants cros-workon eutils python-any-r1
 
@@ -73,11 +73,16 @@
 RDEPEND="!<chromeos-base/chromeos-chrome-82.0.4056.0_rc-r1"
 
 src_compile() {
+	# Generate policy_templates.json
+	"${POLICY_DIR}/resources/policy_templates.py" \
+		--dest="${POLICY_DIR}/resources/generated_policy_templates.json" \
+		|| die "Failed to generate policy_templates.json"
+
 	# Generate cloud_policy.proto.
 	"${POLICY_DIR}/tools/generate_policy_source.py" \
 		--cloud-policy-protobuf="${WORKDIR}/cloud_policy.proto" \
 		--chrome-version-file="${FILESDIR}/VERSION" \
-		--policy-templates-file="${POLICY_DIR}/resources/policy_templates.json" \
+		--policy-templates-file="${POLICY_DIR}/resources/generated_policy_templates.json" \
 		--target-platform="chrome_os" \
 		|| die "Failed to generate cloud_policy.proto"
 }
@@ -103,6 +108,7 @@
 	doins "${WORKDIR}"/cloud_policy.proto
 	insinto /usr/share/policy_resources
 	doins "${POLICY_DIR}"/resources/policy_templates.json
+	doins "${POLICY_DIR}"/resources/generated_policy_templates.json
 	doins "${FILESDIR}"/VERSION
 	exeinto /usr/share/policy_tools
 	doexe "${POLICY_DIR}"/tools/generate_policy_source.py
diff --git a/chromeos-base/qc-modemfwd-helper/OWNERS b/chromeos-base/qc-modemfwd-helper/OWNERS
new file mode 100644
index 0000000..a112b56
--- /dev/null
+++ b/chromeos-base/qc-modemfwd-helper/OWNERS
@@ -0,0 +1,2 @@
+pholla@google.com
+ejcaruso@chromium.org
diff --git a/chromeos-base/qc-modemfwd-helper/qc-modemfwd-helper-0.0.1-r16.ebuild b/chromeos-base/qc-modemfwd-helper/qc-modemfwd-helper-0.0.1-r16.ebuild
new file mode 100644
index 0000000..b312de5
--- /dev/null
+++ b/chromeos-base/qc-modemfwd-helper/qc-modemfwd-helper-0.0.1-r16.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "f9d7642be5b503d284cb5ac683ec681e06938c01" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk modemfwd .gn"
+
+PLATFORM_SUBDIR="modemfwd/helpers/qc-modemfwd-helper"
+
+inherit cros-cellular cros-workon platform
+
+DESCRIPTION="modemfwd helper for Qualcomm modems"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/modemfwd"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+
+RDEPEND="
+"
+
+DEPEND="${RDEPEND}"
+
+FIBOCOM_DIR="/opt/fibocom"
+
+src_install() {
+	exeinto "${FIBOCOM_DIR}"
+	cellular_dohelper "${OUT}/qc-modemfwd-helper"
+}
diff --git a/chromeos-base/qc-modemfwd-helper/qc-modemfwd-helper-9999.ebuild b/chromeos-base/qc-modemfwd-helper/qc-modemfwd-helper-9999.ebuild
new file mode 100644
index 0000000..8355714
--- /dev/null
+++ b/chromeos-base/qc-modemfwd-helper/qc-modemfwd-helper-9999.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk modemfwd .gn"
+
+PLATFORM_SUBDIR="modemfwd/helpers/qc-modemfwd-helper"
+
+inherit cros-cellular cros-workon platform
+
+DESCRIPTION="modemfwd helper for Qualcomm modems"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/modemfwd"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="~*"
+
+RDEPEND="
+"
+
+DEPEND="${RDEPEND}"
+
+FIBOCOM_DIR="/opt/fibocom"
+
+src_install() {
+	exeinto "${FIBOCOM_DIR}"
+	cellular_dohelper "${OUT}/qc-modemfwd-helper"
+}
diff --git a/chromeos-base/quipper/DIR_METADATA b/chromeos-base/quipper/DIR_METADATA
new file mode 100644
index 0000000..f58c1e4
--- /dev/null
+++ b/chromeos-base/quipper/DIR_METADATA
@@ -0,0 +1,13 @@
+# Metadata information for this directory.
+#
+# For more information on DIR_METADATA files, see:
+#   https://source.chromium.org/chromium/infra/infra/+/HEAD:go/src/infra/tools/dirmd/README.md
+#
+# For the schema of this file, see Metadata message:
+#   https://source.chromium.org/chromium/infra/infra/+/HEAD:go/src/infra/tools/dirmd/proto/dir_metadata.proto
+
+buganizer {
+  component_id: 87200  # Language Platforms > Profiling > ChromeOS-Wide Profiling (CWP)
+}
+
+team_email: "cwp-team@google.com"
diff --git a/chromeos-base/quipper/Manifest b/chromeos-base/quipper/Manifest
index cc8c57d..772d9c9 100644
--- a/chromeos-base/quipper/Manifest
+++ b/chromeos-base/quipper/Manifest
@@ -1 +1 @@
-DIST quipper-9e1c26cb7912122f0a61a41fea86453b1aebeed1.tar.gz 83367819 BLAKE2B 8ef7d7f97b0b8082e2d8f9a07d058ffe19d11a481c11ed04b20cf62dda885d6e66e53cc2270aa15dcd16e37350847396e5acec2cd40c61310a1a7d097592c44d SHA512 cd61454420b0f047dd3400545fc8b5634b620ff6e7c435110cecd5560b9ff4d6839d86377a7ea795f039d8d21d35f2ae7a0057ecfee78cdb58162becf10fe956
+DIST quipper-3a630ff16ba6a8ba8e834d9a2acf3f06a879cadf.tar.gz 88409890 BLAKE2B 55122ab44047379c1b827763aa3121dff3e5d963218802d811ed642e99a4e2a40e28f405d8151ccbf729a6d219c1ec79fda9f61eb3ad40e3b8da177835b1e538 SHA512 b79612c2e9b39cbe6eedffa6d0cec84b00a013f164532605836012d7781745ec6ed66bd3f04919bc2ca6462354ad873d30f472e8c849439c8e7c98fbf08e5159
diff --git a/chromeos-base/quipper/OWNERS b/chromeos-base/quipper/OWNERS
new file mode 100644
index 0000000..9a57ca1
--- /dev/null
+++ b/chromeos-base/quipper/OWNERS
@@ -0,0 +1 @@
+shantuo@google.com
diff --git a/chromeos-base/quipper/files/quipper-arraysize.patch b/chromeos-base/quipper/files/quipper-arraysize.patch
deleted file mode 100644
index d57f64b..0000000
--- a/chromeos-base/quipper/files/quipper-arraysize.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/compat/test.h b/compat/test.h
-index 8a912c9..d778e0e 100644
---- a/compat/test.h
-+++ b/compat/test.h
-@@ -7,4 +7,10 @@
- 
- #include <gtest/gtest.h>
- 
-+#include <base/macros.h>
-+#ifndef arraysize
-+#include <iterator>
-+#define arraysize(x) (std::size((x)))
-+#endif
-+
- #endif  // CHROMIUMOS_WIDE_PROFILING_COMPAT_TEST_H_
diff --git a/chromeos-base/quipper/files/revision_bump b/chromeos-base/quipper/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/quipper/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/quipper/quipper-0.0.1-r2731.ebuild b/chromeos-base/quipper/quipper-0.0.1-r2731.ebuild
deleted file mode 100644
index 8d7a1d9..0000000
--- a/chromeos-base/quipper/quipper-0.0.1-r2731.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-# Don't use Makefile.external here as it fetches from the network.
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-# chromiumos-wide-profiling directory is in $SRC_URI, not in platform2.
-CROS_WORKON_SUBTREE="common-mk .gn"
-
-PLATFORM_SUBDIR="chromiumos-wide-profiling"
-
-inherit cros-workon platform
-
-DESCRIPTION="quipper: chromiumos wide profiling"
-HOMEPAGE="http://www.chromium.org/chromium-os/profiling-in-chromeos"
-
-GIT_SHA1="9e1c26cb7912122f0a61a41fea86453b1aebeed1"
-SRC="quipper-${GIT_SHA1}.tar.gz"
-SRC_URI="gs://chromeos-localmirror/distfiles/${SRC}"
-SRC_DIR="src/${PN}"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-COMMON_DEPEND="
-	>=dev-cpp/gflags-2.0:=
-	>=dev-libs/glib-2.30:=
-	dev-libs/openssl:=
-	dev-libs/protobuf:=
-	dev-libs/re2:=
-	dev-util/perf:=
-"
-
-RDEPEND="${COMMON_DEPEND}"
-
-DEPEND="${COMMON_DEPEND}
-	chromeos-base/protofiles:=
-	test? ( app-shells/dash )
-"
-
-src_unpack() {
-	platform_src_unpack
-	mkdir "${S}"
-
-	pushd "${S}" >/dev/null
-	unpack ${SRC}
-	mv "${SRC_DIR}"/{.[!.],}* ./ || die
-	eapply "${FILESDIR}"/quipper-disable-flaky-tests.patch
-	eapply "${FILESDIR}"/quipper-arraysize.patch
-	eapply "${FILESDIR}"/quipper-check-header.patch
-	popd >/dev/null
-}
-
-src_compile() {
-	# ARM tests run on qemu which is much slower. Exclude some large test
-	# data files for non-x86 boards.
-	if use x86 || use amd64 ; then
-		append-cppflags -DTEST_LARGE_PERF_DATA
-	fi
-
-	platform_src_compile
-}
-
-src_install() {
-	dobin "${OUT}"/quipper
-}
-
-platform_pkg_test() {
-	local tests=(
-		integration_tests
-		perf_recorder_test
-		unit_tests
-	)
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}" "1"
-	done
-}
diff --git a/chromeos-base/quipper/quipper-0.0.1-r2793.ebuild b/chromeos-base/quipper/quipper-0.0.1-r2793.ebuild
new file mode 100644
index 0000000..62055cc
--- /dev/null
+++ b/chromeos-base/quipper/quipper-0.0.1-r2793.ebuild
@@ -0,0 +1,84 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+# Don't use Makefile.external here as it fetches from the network.
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+# chromiumos-wide-profiling directory is in $SRC_URI, not in platform2.
+CROS_WORKON_SUBTREE="common-mk .gn"
+
+PLATFORM_SUBDIR="chromiumos-wide-profiling"
+
+inherit cros-workon platform
+
+DESCRIPTION="quipper: chromiumos wide profiling"
+HOMEPAGE="http://www.chromium.org/chromium-os/profiling-in-chromeos"
+
+GIT_SHA1="3a630ff16ba6a8ba8e834d9a2acf3f06a879cadf"
+SRC="quipper-${GIT_SHA1}.tar.gz"
+SRC_URI="gs://chromeos-localmirror/distfiles/${SRC}"
+SRC_DIR="src/${PN}"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+COMMON_DEPEND="
+	>=dev-cpp/gflags-2.0:=
+	>=dev-libs/glib-2.30:=
+	dev-libs/openssl:=
+	dev-libs/protobuf:=
+	dev-libs/re2:=
+	dev-util/perf:=
+"
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/protofiles:=
+	test? ( app-shells/dash )
+"
+
+src_unpack() {
+	platform_src_unpack
+	mkdir "${S}"
+
+	pushd "${S}" >/dev/null || die
+	unpack ${SRC}
+	mv "${SRC_DIR}"/{.[!.],}* ./ || die
+	eapply "${FILESDIR}"/quipper-disable-flaky-tests.patch
+	eapply "${FILESDIR}"/quipper-check-header.patch
+	popd >/dev/null || die
+}
+
+src_compile() {
+	# ARM tests run on qemu which is much slower. Exclude some large test
+	# data files for non-x86 boards.
+	if use x86 || use amd64 ; then
+		append-cppflags -DTEST_LARGE_PERF_DATA
+	fi
+
+	platform_src_compile
+}
+
+src_install() {
+	dobin "${OUT}"/quipper
+}
+
+platform_pkg_test() {
+	local tests=(
+		integration_tests
+		perf_recorder_test
+		unit_tests
+	)
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}" "1"
+	done
+}
diff --git a/chromeos-base/quipper/quipper-9999.ebuild b/chromeos-base/quipper/quipper-9999.ebuild
index 7c94ca8..19e3390 100644
--- a/chromeos-base/quipper/quipper-9999.ebuild
+++ b/chromeos-base/quipper/quipper-9999.ebuild
@@ -19,7 +19,7 @@
 DESCRIPTION="quipper: chromiumos wide profiling"
 HOMEPAGE="http://www.chromium.org/chromium-os/profiling-in-chromeos"
 
-GIT_SHA1="9e1c26cb7912122f0a61a41fea86453b1aebeed1"
+GIT_SHA1="3a630ff16ba6a8ba8e834d9a2acf3f06a879cadf"
 SRC="quipper-${GIT_SHA1}.tar.gz"
 SRC_URI="gs://chromeos-localmirror/distfiles/${SRC}"
 SRC_DIR="src/${PN}"
@@ -48,13 +48,12 @@
 	platform_src_unpack
 	mkdir "${S}"
 
-	pushd "${S}" >/dev/null
+	pushd "${S}" >/dev/null || die
 	unpack ${SRC}
 	mv "${SRC_DIR}"/{.[!.],}* ./ || die
 	eapply "${FILESDIR}"/quipper-disable-flaky-tests.patch
-	eapply "${FILESDIR}"/quipper-arraysize.patch
 	eapply "${FILESDIR}"/quipper-check-header.patch
-	popd >/dev/null
+	popd >/dev/null || die
 }
 
 src_compile() {
diff --git a/chromeos-base/regions/regions-0.0.1-r2025.ebuild b/chromeos-base/regions/regions-0.0.1-r2025.ebuild
deleted file mode 100644
index fc56c18..0000000
--- a/chromeos-base/regions/regions-0.0.1-r2025.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="26b86945b43d70b82340f1e4b34cf33e96129ede"
-CROS_WORKON_TREE="a7f68cef55f958d3a2648d89630c39072a943a37"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_DESTDIR="${S}"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="regions"
-
-PLATFORM_SUBDIR="regions"
-
-inherit cros-workon
-
-DESCRIPTION="Chromium OS Region Data"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/regions/"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-IUSE="cros-debug"
-
-# 'jq' allows command line tools to access the JSON database.
-RDEPEND="app-misc/jq"
-DEPEND=""
-
-src_unpack() {
-	cros-workon_src_unpack
-	S+="/regions"
-}
-
-src_compile() {
-	./regions.py --format=json --output "${WORKDIR}/cros-regions.json" $(usex cros-debug "--include_pseudolocales" "")
-}
-
-src_test() {
-	./regions_unittest.py
-}
-
-src_install() {
-	dobin cros_region_data
-
-	insinto /usr/share/misc
-	doins "${WORKDIR}/cros-regions.json"
-}
diff --git a/chromeos-base/regions/regions-0.0.1-r2027.ebuild b/chromeos-base/regions/regions-0.0.1-r2027.ebuild
new file mode 100644
index 0000000..f786400
--- /dev/null
+++ b/chromeos-base/regions/regions-0.0.1-r2027.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="09c5bc2d23a4e625fdd74032e385e630e9caa0bb"
+CROS_WORKON_TREE="980c6c483b08452d1fc206a2c489640cfe042d13"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_DESTDIR="${S}"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="regions"
+
+PLATFORM_SUBDIR="regions"
+
+inherit cros-workon
+
+DESCRIPTION="Chromium OS Region Data"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/regions/"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+IUSE="cros-debug"
+
+# 'jq' allows command line tools to access the JSON database.
+RDEPEND="app-misc/jq"
+DEPEND=""
+
+src_unpack() {
+	cros-workon_src_unpack
+	S+="/regions"
+}
+
+src_compile() {
+	./regions.py --format=json --output "${WORKDIR}/cros-regions.json" $(usex cros-debug "--include_pseudolocales" "")
+}
+
+src_test() {
+	./regions_unittest.py
+}
+
+src_install() {
+	dobin cros_region_data
+
+	insinto /usr/share/misc
+	doins "${WORKDIR}/cros-regions.json"
+}
diff --git a/chromeos-base/regions/regions-9999.ebuild b/chromeos-base/regions/regions-9999.ebuild
index 7309f06..046826d 100644
--- a/chromeos-base/regions/regions-9999.ebuild
+++ b/chromeos-base/regions/regions-9999.ebuild
@@ -13,7 +13,7 @@
 inherit cros-workon
 
 DESCRIPTION="Chromium OS Region Data"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/regions/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/regions/"
 LICENSE="BSD-Google"
 KEYWORDS="~*"
 
diff --git a/chromeos-base/rendernodehost/files/revision_bump b/chromeos-base/rendernodehost/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/rendernodehost/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/rendernodehost/rendernodehost-0.0.1-r242.ebuild b/chromeos-base/rendernodehost/rendernodehost-0.0.1-r242.ebuild
deleted file mode 100644
index 15eb3ce..0000000
--- a/chromeos-base/rendernodehost/rendernodehost-0.0.1-r242.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk rendernodehost .gn"
-
-PLATFORM_SUBDIR="rendernodehost"
-WANT_LIBCHROME="no"
-
-inherit cros-workon platform
-
-DESCRIPTION="host service for render node forwarding"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/rendernodehost/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-DEPEND="x11-libs/libdrm:="
-
-src_install() {
-	dolib.a "${OUT}"/librendernodehost.a
-}
diff --git a/chromeos-base/rendernodehost/rendernodehost-0.0.1-r300.ebuild b/chromeos-base/rendernodehost/rendernodehost-0.0.1-r300.ebuild
new file mode 100644
index 0000000..7755637
--- /dev/null
+++ b/chromeos-base/rendernodehost/rendernodehost-0.0.1-r300.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk rendernodehost .gn"
+
+PLATFORM_SUBDIR="rendernodehost"
+WANT_LIBCHROME="no"
+
+inherit cros-workon platform
+
+DESCRIPTION="host service for render node forwarding"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/rendernodehost/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+DEPEND="x11-libs/libdrm:="
+
+src_install() {
+	dolib.a "${OUT}"/librendernodehost.a
+}
diff --git a/chromeos-base/rendernodehost/rendernodehost-9999.ebuild b/chromeos-base/rendernodehost/rendernodehost-9999.ebuild
index da26d1d..b7660e8 100644
--- a/chromeos-base/rendernodehost/rendernodehost-9999.ebuild
+++ b/chromeos-base/rendernodehost/rendernodehost-9999.ebuild
@@ -16,7 +16,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="host service for render node forwarding"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/rendernodehost/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/rendernodehost/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/resourced/resourced-0.1.0-r47.ebuild b/chromeos-base/resourced/resourced-0.1.0-r47.ebuild
deleted file mode 100644
index 954f7e1..0000000
--- a/chromeos-base/resourced/resourced-0.1.0-r47.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="d0154b5cb1cbaee8fb3e55f2d53fa88d64593094"
-CROS_WORKON_TREE="a940640b2120af021ea7161dd1b12594012f706a"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-# We don't use CROS_WORKON_OUTOFTREE_BUILD here since project's Cargo.toml is
-# using "provided by ebuild" macro which supported by cros-rust.
-CROS_WORKON_SUBTREE="resourced"
-
-inherit cros-workon cros-rust user
-
-DESCRIPTION="ChromeOS Resource Management Daemon"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/resourced/"
-
-LICENSE="BSD-Google"
-SLOT="0/${PVR}"
-KEYWORDS="*"
-IUSE="+seccomp"
-
-DEPEND="
-	=dev-rust/anyhow-1*:=
-	=dev-rust/dbus-0.9*:=
-	=dev-rust/dbus-tree-0.9*:=
-	=dev-rust/glob-0.3*:=
-	=dev-rust/once_cell-1.7*:=
-	=dev-rust/regex-1.5*:=
-	dev-rust/sys_util:=
-"
-
-src_install() {
-	dobin "$(cros-rust_get_build_dir)/resourced"
-
-	# D-Bus configuration.
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.ResourceManager.conf
-
-	# init script.
-	insinto /etc/init
-	doins init/resourced.conf
-
-	# seccomp policy file.
-	insinto /usr/share/policy
-	if use seccomp; then
-		newins "seccomp/resourced-seccomp-${ARCH}.policy" resourced-seccomp.policy
-	fi
-}
-
-pkg_preinst() {
-	enewuser "resourced"
-	enewgroup "resourced"
-
-	cros-rust_pkg_preinst
-}
diff --git a/chromeos-base/resourced/resourced-0.1.0-r76.ebuild b/chromeos-base/resourced/resourced-0.1.0-r76.ebuild
new file mode 100644
index 0000000..b0b12b2
--- /dev/null
+++ b/chromeos-base/resourced/resourced-0.1.0-r76.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="144a3456d3088846c6f953a52175b762a852f1db"
+CROS_WORKON_TREE="1fa9c5f073e1ebe58a00a06080a16b4c6823c052"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+# We don't use CROS_WORKON_OUTOFTREE_BUILD here since project's Cargo.toml is
+# using "provided by ebuild" macro which supported by cros-rust.
+CROS_WORKON_SUBTREE="resourced"
+
+inherit cros-workon cros-rust udev user
+
+DESCRIPTION="ChromeOS Resource Management Daemon"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/resourced/"
+
+LICENSE="BSD-Google"
+SLOT="0/${PVR}"
+KEYWORDS="*"
+IUSE="+seccomp"
+
+DEPEND="
+	=dev-rust/anyhow-1*:=
+	=dev-rust/dbus-0.9*:=
+	=dev-rust/dbus-tree-0.9*:=
+	dev-rust/featured:=
+	=dev-rust/glob-0.3*:=
+	=dev-rust/once_cell-1.7*:=
+	=dev-rust/regex-1.5*:=
+	dev-rust/sys_util:=
+"
+
+src_install() {
+	dobin "$(cros-rust_get_build_dir)/resourced"
+
+	# D-Bus configuration.
+	insinto /etc/dbus-1/system.d
+	doins dbus/org.chromium.ResourceManager.conf
+
+	# init script.
+	insinto /etc/init
+	doins init/resourced.conf
+
+	# Install udev rules.
+	udev_dorules udev/99-resourced-permissions.rules
+
+	if [[ -d tmpfiles.d ]]; then
+		insinto /usr/lib/tmpfiles.d
+		doins -r tmpfiles.d/*
+	fi
+
+	# seccomp policy file.
+	insinto /usr/share/policy
+	if use seccomp; then
+		newins "seccomp/resourced-seccomp-${ARCH}.policy" resourced-seccomp.policy
+	fi
+}
+
+pkg_preinst() {
+	enewuser "resourced"
+	enewgroup "resourced"
+
+	cros-rust_pkg_preinst
+}
diff --git a/chromeos-base/resourced/resourced-9999.ebuild b/chromeos-base/resourced/resourced-9999.ebuild
index 8aad63b..2f1bf46 100644
--- a/chromeos-base/resourced/resourced-9999.ebuild
+++ b/chromeos-base/resourced/resourced-9999.ebuild
@@ -10,7 +10,7 @@
 # using "provided by ebuild" macro which supported by cros-rust.
 CROS_WORKON_SUBTREE="resourced"
 
-inherit cros-workon cros-rust user
+inherit cros-workon cros-rust udev user
 
 DESCRIPTION="ChromeOS Resource Management Daemon"
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/resourced/"
@@ -24,6 +24,7 @@
 	=dev-rust/anyhow-1*:=
 	=dev-rust/dbus-0.9*:=
 	=dev-rust/dbus-tree-0.9*:=
+	dev-rust/featured:=
 	=dev-rust/glob-0.3*:=
 	=dev-rust/once_cell-1.7*:=
 	=dev-rust/regex-1.5*:=
@@ -41,6 +42,14 @@
 	insinto /etc/init
 	doins init/resourced.conf
 
+	# Install udev rules.
+	udev_dorules udev/99-resourced-permissions.rules
+
+	if [[ -d tmpfiles.d ]]; then
+		insinto /usr/lib/tmpfiles.d
+		doins -r tmpfiles.d/*
+	fi
+
 	# seccomp policy file.
 	insinto /usr/share/policy
 	if use seccomp; then
diff --git a/chromeos-base/rgbkbd/OWNERS b/chromeos-base/rgbkbd/OWNERS
new file mode 100644
index 0000000..632f9ad
--- /dev/null
+++ b/chromeos-base/rgbkbd/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/rgbkbd/OWNERS
diff --git a/chromeos-base/rgbkbd/rgbkbd-0.0.1-r127.ebuild b/chromeos-base/rgbkbd/rgbkbd-0.0.1-r127.ebuild
new file mode 100644
index 0000000..7eedb1a
--- /dev/null
+++ b/chromeos-base/rgbkbd/rgbkbd-0.0.1-r127.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "1dbf281b6523338c1a11135ebaf00796f0f664e4" "58bdeaa3004ba5dc3bf524c1d0a3d444f4984d28" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="common-mk libec rgbkbd .gn"
+CROS_WORKON_OUTOFTREE_BUILD=1
+
+PLATFORM_SUBDIR="rgbkbd"
+
+inherit cros-workon platform tmpfiles user udev
+
+DESCRIPTION="A daemon for controlling an RGB backlit keyboard."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/rgbkbd/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND=""
+
+DEPEND="
+	${RDEPEND}
+	chromeos-base/libec:=
+	chromeos-base/system_api:=
+"
+
+pkg_preinst() {
+	# Ensure that this group exists so that rgbkbd can access /dev/cros_ec.
+	enewgroup "cros_ec-access"
+	# Create user and group for RGBKBD.
+	enewuser "rgbkbd"
+	enewgroup "rgbkbd"
+}
+
+src_install() {
+	platform_install
+
+	# Create tmpfiles for testing.
+	dotmpfiles tmpfiles.d/rgbkbd.conf
+
+	udev_dorules udev/*.rules
+
+	if use fuzzer; then
+		local fuzzer_component_id="1131926"
+		platform_fuzzer_install "${S}"/OWNERS \
+			"${OUT}"/rgb_daemon_fuzzer \
+			--comp "${fuzzer_component_id}"
+	fi
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/rgbkbd/rgbkbd-9999.ebuild b/chromeos-base/rgbkbd/rgbkbd-9999.ebuild
new file mode 100644
index 0000000..c47a11e
--- /dev/null
+++ b/chromeos-base/rgbkbd/rgbkbd-9999.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="common-mk libec rgbkbd .gn"
+CROS_WORKON_OUTOFTREE_BUILD=1
+
+PLATFORM_SUBDIR="rgbkbd"
+
+inherit cros-workon platform tmpfiles user udev
+
+DESCRIPTION="A daemon for controlling an RGB backlit keyboard."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/rgbkbd/"
+
+LICENSE="BSD-Google"
+KEYWORDS="~*"
+IUSE=""
+
+RDEPEND=""
+
+DEPEND="
+	${RDEPEND}
+	chromeos-base/libec:=
+	chromeos-base/system_api:=
+"
+
+pkg_preinst() {
+	# Ensure that this group exists so that rgbkbd can access /dev/cros_ec.
+	enewgroup "cros_ec-access"
+	# Create user and group for RGBKBD.
+	enewuser "rgbkbd"
+	enewgroup "rgbkbd"
+}
+
+src_install() {
+	platform_install
+
+	# Create tmpfiles for testing.
+	dotmpfiles tmpfiles.d/rgbkbd.conf
+
+	udev_dorules udev/*.rules
+
+	if use fuzzer; then
+		local fuzzer_component_id="1131926"
+		platform_fuzzer_install "${S}"/OWNERS \
+			"${OUT}"/rgb_daemon_fuzzer \
+			--comp "${fuzzer_component_id}"
+	fi
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/rmad/files/revision_bump b/chromeos-base/rmad/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/rmad/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/rmad/rmad-0.0.1-r285.ebuild b/chromeos-base/rmad/rmad-0.0.1-r285.ebuild
deleted file mode 100644
index a3fbd16..0000000
--- a/chromeos-base/rmad/rmad-0.0.1-r285.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "bea140d13f7cf1092e4c89a45011c04c28327972" "1b6791d8f3bd43faefbaff3664ccf8eeabdfa502" "f09f4711e5043f57c202260d0214f64c0eab5431" "4a0dedab080195bdc122d2289118df4af3ddca2c" "f582e95c139364975d4a1e0bdd9881f1baabd68c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk chromeos-config hardware_verifier libmems metrics rmad .gn"
-
-PLATFORM_SUBDIR="rmad"
-
-inherit cros-workon cros-unibuild platform tmpfiles user
-
-DESCRIPTION="ChromeOS RMA daemon."
-HOMEPAGE=""
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="cr50_onboard iioservice ti50_onboard"
-
-COMMON_DEPEND="
-	chromeos-base/chromeos-config-tools:=
-	chromeos-base/minijail:=
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	cr50_onboard? ( chromeos-base/chromeos-cr50 )
-	iioservice? ( chromeos-base/iioservice_simpleclient )
-	ti50_onboard? ( chromeos-base/chromeos-ti50 )
-	chromeos-base/croslog
-	chromeos-base/hardware_verifier
-	chromeos-base/libmems
-	chromeos-base/runtime_probe
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/cryptohome-client:=
-	chromeos-base/metrics:=
-	chromeos-base/shill-client:=
-	chromeos-base/system_api:=
-	chromeos-base/tpm_manager-client:=
-	chromeos-base/vboot_reference:=
-"
-
-pkg_preinst() {
-	# Create user and group for RMA.
-	enewuser "rmad"
-	enewgroup "rmad"
-}
-
-src_install() {
-	platform_install
-
-	dotmpfiles tmpfiles.d/*.conf
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/rmad/rmad-0.0.1-r492.ebuild b/chromeos-base/rmad/rmad-0.0.1-r492.ebuild
new file mode 100644
index 0000000..81f0711
--- /dev/null
+++ b/chromeos-base/rmad/rmad-0.0.1-r492.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "527abd7a988a45572305a6c44b5324d0d9cf8be2" "68361c6922909c829d679a3b5f79a5a64e977c35" "4d8f590bd987ed599a906fe078fb08b51c7c7f9c" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "bdcd86d7f8af0e0cfd82183af63cd1006e593a1a" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk chromeos-config hardware_verifier libmems metrics rmad .gn"
+
+PLATFORM_SUBDIR="rmad"
+
+inherit cros-workon cros-unibuild platform tmpfiles user
+
+DESCRIPTION="ChromeOS RMA daemon."
+HOMEPAGE=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="cr50_onboard iioservice ti50_onboard"
+
+COMMON_DEPEND="
+	chromeos-base/chromeos-config-tools:=
+	chromeos-base/minijail:=
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	cr50_onboard? ( chromeos-base/chromeos-cr50 )
+	iioservice? ( chromeos-base/iioservice_simpleclient )
+	ti50_onboard? ( chromeos-base/chromeos-ti50 )
+	chromeos-base/croslog
+	chromeos-base/hardware_verifier
+	chromeos-base/libmems
+	chromeos-base/runtime_probe
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/cryptohome-client:=
+	chromeos-base/metrics:=
+	chromeos-base/runtime_probe-client:=
+	chromeos-base/shill-client:=
+	chromeos-base/system_api:=
+	chromeos-base/tpm_manager-client:=
+	chromeos-base/vboot_reference:=
+"
+
+pkg_preinst() {
+	# Create user and group for RMA.
+	enewuser "rmad"
+	enewgroup "rmad"
+}
+
+src_install() {
+	platform_install
+
+	dotmpfiles tmpfiles.d/*.conf
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/rmad/rmad-9999.ebuild b/chromeos-base/rmad/rmad-9999.ebuild
index 0a17a1e..211f686 100644
--- a/chromeos-base/rmad/rmad-9999.ebuild
+++ b/chromeos-base/rmad/rmad-9999.ebuild
@@ -41,6 +41,7 @@
 	${COMMON_DEPEND}
 	chromeos-base/cryptohome-client:=
 	chromeos-base/metrics:=
+	chromeos-base/runtime_probe-client:=
 	chromeos-base/shill-client:=
 	chromeos-base/system_api:=
 	chromeos-base/tpm_manager-client:=
diff --git a/chromeos-base/rmi4utils/Manifest b/chromeos-base/rmi4utils/Manifest
index dfbc540..cd80056 100644
--- a/chromeos-base/rmi4utils/Manifest
+++ b/chromeos-base/rmi4utils/Manifest
@@ -1 +1 @@
-DIST rmi4utils-1.3.8.tar.gz 45299 BLAKE2B 4d18562729a35aa8ab5ad0ee231a4df492951692387cf666c223de0585f76bbfa4dc2d65a974cff1cfc8b5cf336253f52a2b80208e569f955200d6cf0b5911aa SHA512 b0b915590f92e1846f086932c5c1dee643606bcd3d3641ce26642f108770f1ea34f673bbe8d3ec4658057e6353d2556d19b93f836b02924b25abbf9668eff8f1
+DIST rmi4utils-1.3.9.tar.gz 45722 BLAKE2B b50d025a7a33a97447d996b0a6fd993f6d999ea1d9e9421130b7cdf722ee1fc9ce1c2bf5261164a968cf3359b871f2e067d0bda8732679f44427ab99cf5e9ec6 SHA512 5ae23ed1a77bc383b09edcb48e78fc589de5545da23b31d180a53231e150f1576d4563c6fced513cad815deb31e18c14026c7aca5852a8e102219495ae0ce559
diff --git a/chromeos-base/rmi4utils/rmi4utils-1.3.8-r1.ebuild b/chromeos-base/rmi4utils/rmi4utils-1.3.9-r1.ebuild
similarity index 100%
rename from chromeos-base/rmi4utils/rmi4utils-1.3.8-r1.ebuild
rename to chromeos-base/rmi4utils/rmi4utils-1.3.9-r1.ebuild
diff --git a/chromeos-base/run_oci/files/revision_bump b/chromeos-base/run_oci/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/run_oci/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/run_oci/run_oci-0.0.1-r1179.ebuild b/chromeos-base/run_oci/run_oci-0.0.1-r1179.ebuild
deleted file mode 100644
index 0832dfe..0000000
--- a/chromeos-base/run_oci/run_oci-0.0.1-r1179.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "c483b9613962116a8881cefbe046d52ce851e598" "bc0cbbb23284a0282bf0a3ec43e3db3e016afcfd" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk libcontainer run_oci .gn"
-
-PLATFORM_SUBDIR="run_oci"
-
-inherit cros-workon libchrome platform
-
-DESCRIPTION="Utility for running OCI-compatible containers"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
-
-COMMON_DEPEND="
-	chromeos-base/libcontainer:=
-	chromeos-base/minijail:=
-	sys-apps/util-linux:=
-	sys-libs/libcap:=
-"
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}"
-
-src_install() {
-	platform_install
-	# Component maps to ChromeOS>Software>ARC++>Core
-	local fuzzer_component_id="488493"
-	platform_fuzzer_install "${S}/OWNERS" "${OUT}/run_oci_utils_fuzzer" \
-		--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/run_oci/run_oci-0.0.1-r1243.ebuild b/chromeos-base/run_oci/run_oci-0.0.1-r1243.ebuild
new file mode 100644
index 0000000..311dab2
--- /dev/null
+++ b/chromeos-base/run_oci/run_oci-0.0.1-r1243.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "dbb4c5a189c098e0c692a1dee66f5a6b6ef33a32" "a6cf87161b285bcef270a8d37f2240ab6eb2952e" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk libcontainer run_oci .gn"
+
+PLATFORM_SUBDIR="run_oci"
+
+inherit cros-workon libchrome platform
+
+DESCRIPTION="Utility for running OCI-compatible containers"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+COMMON_DEPEND="
+	chromeos-base/libcontainer:=
+	chromeos-base/minijail:=
+	sys-apps/util-linux:=
+	sys-libs/libcap:=
+"
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}"
+
+src_install() {
+	platform_install
+	# Component maps to ChromeOS>Software>ARC++>Core
+	local fuzzer_component_id="488493"
+	platform_fuzzer_install "${S}/OWNERS" "${OUT}/run_oci_utils_fuzzer" \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/runtime_probe-client/OWNERS b/chromeos-base/runtime_probe-client/OWNERS
new file mode 100644
index 0000000..f428e3a
--- /dev/null
+++ b/chromeos-base/runtime_probe-client/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/runtime_probe/OWNERS
diff --git a/chromeos-base/runtime_probe-client/files/revision_bump b/chromeos-base/runtime_probe-client/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/runtime_probe-client/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/runtime_probe-client/runtime_probe-client-0.0.1-r20.ebuild b/chromeos-base/runtime_probe-client/runtime_probe-client-0.0.1-r20.ebuild
new file mode 100644
index 0000000..0cbb2ac
--- /dev/null
+++ b/chromeos-base/runtime_probe-client/runtime_probe-client-0.0.1-r20.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "7cab0a8a8eaf018de16dca9470abb154f82697a6" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="common-mk runtime_probe .gn"
+
+PLATFORM_NATIVE_TEST="yes"
+PLATFORM_SUBDIR="runtime_probe/client"
+
+inherit cros-workon platform
+
+DESCRIPTION="Runtime Probe D-Bus client library for ChromiumOS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/runtime_probe/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="
+	chromeos-base/runtime_probe
+"
+
+BDEPEND="
+	chromeos-base/chromeos-dbus-bindings:=
+"
+
+src_install() {
+	platform_install
+	platform_install_dbus_client_lib "runtime_probe"
+}
diff --git a/chromeos-base/runtime_probe-client/runtime_probe-client-9999.ebuild b/chromeos-base/runtime_probe-client/runtime_probe-client-9999.ebuild
new file mode 100644
index 0000000..ba45d8d
--- /dev/null
+++ b/chromeos-base/runtime_probe-client/runtime_probe-client-9999.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="common-mk runtime_probe .gn"
+
+PLATFORM_NATIVE_TEST="yes"
+PLATFORM_SUBDIR="runtime_probe/client"
+
+inherit cros-workon platform
+
+DESCRIPTION="Runtime Probe D-Bus client library for ChromiumOS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/runtime_probe/"
+
+LICENSE="BSD-Google"
+KEYWORDS="~*"
+IUSE=""
+
+RDEPEND="
+	chromeos-base/runtime_probe
+"
+
+BDEPEND="
+	chromeos-base/chromeos-dbus-bindings:=
+"
+
+src_install() {
+	platform_install
+	platform_install_dbus_client_lib "runtime_probe"
+}
diff --git a/chromeos-base/runtime_probe/files/revision_bump b/chromeos-base/runtime_probe/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/runtime_probe/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/runtime_probe/runtime_probe-0.0.1-r718.ebuild b/chromeos-base/runtime_probe/runtime_probe-0.0.1-r718.ebuild
deleted file mode 100644
index 2a506cd..0000000
--- a/chromeos-base/runtime_probe/runtime_probe-0.0.1-r718.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="d24ade58dab8ad0320dc4c61ffa759e11ec287c8"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "bea140d13f7cf1092e4c89a45011c04c28327972" "b2a628a7e6e84c75bbb6593f7e7d6c7baa8ccba0" "1aed0c3c60315dba4d781aa861490bd01a1d53f6" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk chromeos-config libec runtime_probe .gn"
-
-PLATFORM_SUBDIR="runtime_probe"
-
-inherit cros-workon cros-unibuild platform user udev
-
-DESCRIPTION="Runtime probing on device componenets."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/runtime_probe/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="asan fuzzer"
-
-COMMON_DEPEND="
-	chromeos-base/chromeos-config-tools:=
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/ec-utils
-"
-
-# Add vboot_reference as build time dependency to read cros_debug status
-DEPEND="${COMMON_DEPEND}
-	chromeos-base/debugd-client:=
-	chromeos-base/libec:=
-	chromeos-base/shill-client:=
-	chromeos-base/system_api:=[fuzzer?]
-	chromeos-base/vboot_reference:=
-"
-
-pkg_preinst() {
-	# Create user and group for runtime_probe
-	enewuser "runtime_probe"
-	enewgroup "cros_ec-access"
-	enewgroup "runtime_probe"
-}
-
-src_install() {
-	dobin "${OUT}/runtime_probe"
-
-	# Install upstart configs and scripts.
-	insinto /etc/init
-	doins init/*.conf
-
-	# Install D-Bus configuration file.
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.RuntimeProbe.conf
-
-	# Install D-Bus service activation configuration.
-	insinto /usr/share/dbus-1/system-services
-	doins dbus/org.chromium.RuntimeProbe.service
-
-
-	# Install sandbox information.
-	insinto /etc/runtime_probe/sandbox
-	doins sandbox/"${ARCH}"/args.json
-	doins sandbox/"${ARCH}"/*-seccomp.policy
-
-	# Install seccomp policy file.
-	insinto /usr/share/policy
-	newins "seccomp/runtime_probe-seccomp-${ARCH}.policy" \
-	runtime_probe-seccomp.policy
-
-	# Install udev rules.
-	udev_dorules udev/*.rules
-
-	local fuzzer
-	for fuzzer in "${OUT}"/*_fuzzer; do
-		local fuzzer_component_id="606088"
-		platform_fuzzer_install "${S}"/OWNERS "${fuzzer}" \
-			--comp "${fuzzer_component_id}"
-	done
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/unittest_runner"
-}
diff --git a/chromeos-base/runtime_probe/runtime_probe-0.0.1-r867.ebuild b/chromeos-base/runtime_probe/runtime_probe-0.0.1-r867.ebuild
new file mode 100644
index 0000000..4b82873
--- /dev/null
+++ b/chromeos-base/runtime_probe/runtime_probe-0.0.1-r867.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "527abd7a988a45572305a6c44b5324d0d9cf8be2" "1dbf281b6523338c1a11135ebaf00796f0f664e4" "7cab0a8a8eaf018de16dca9470abb154f82697a6" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk chromeos-config libec runtime_probe .gn"
+
+PLATFORM_SUBDIR="runtime_probe"
+
+inherit cros-workon cros-unibuild platform user udev
+
+DESCRIPTION="Runtime probing on device componenets."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/runtime_probe/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="asan fuzzer"
+
+COMMON_DEPEND="
+	chromeos-base/chromeos-config-tools:=
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/ec-utils
+"
+
+# Add vboot_reference as build time dependency to read cros_debug status
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/debugd-client:=
+	chromeos-base/libec:=
+	chromeos-base/shill-client:=
+	chromeos-base/system_api:=[fuzzer?]
+	chromeos-base/vboot_reference:=
+	media-libs/minigbm:=
+"
+
+pkg_preinst() {
+	# Create user and group for runtime_probe
+	enewuser "runtime_probe"
+	enewgroup "cros_ec-access"
+	enewgroup "runtime_probe"
+}
+
+src_install() {
+	platform_install
+
+	# Install udev rules.
+	udev_dorules udev/*.rules
+
+	local fuzzer
+	for fuzzer in "${OUT}"/*_fuzzer; do
+		local fuzzer_component_id="606088"
+		platform_fuzzer_install "${S}"/OWNERS "${fuzzer}" \
+			--comp "${fuzzer_component_id}"
+	done
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/runtime_probe/runtime_probe-9999.ebuild b/chromeos-base/runtime_probe/runtime_probe-9999.ebuild
index 3f0f9b7..a489197 100644
--- a/chromeos-base/runtime_probe/runtime_probe-9999.ebuild
+++ b/chromeos-base/runtime_probe/runtime_probe-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon cros-unibuild platform user udev
 
 DESCRIPTION="Runtime probing on device componenets."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/runtime_probe/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/runtime_probe/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
@@ -36,6 +36,7 @@
 	chromeos-base/shill-client:=
 	chromeos-base/system_api:=[fuzzer?]
 	chromeos-base/vboot_reference:=
+	media-libs/minigbm:=
 "
 
 pkg_preinst() {
@@ -46,30 +47,7 @@
 }
 
 src_install() {
-	dobin "${OUT}/runtime_probe"
-
-	# Install upstart configs and scripts.
-	insinto /etc/init
-	doins init/*.conf
-
-	# Install D-Bus configuration file.
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.RuntimeProbe.conf
-
-	# Install D-Bus service activation configuration.
-	insinto /usr/share/dbus-1/system-services
-	doins dbus/org.chromium.RuntimeProbe.service
-
-
-	# Install sandbox information.
-	insinto /etc/runtime_probe/sandbox
-	doins sandbox/"${ARCH}"/args.json
-	doins sandbox/"${ARCH}"/*-seccomp.policy
-
-	# Install seccomp policy file.
-	insinto /usr/share/policy
-	newins "seccomp/runtime_probe-seccomp-${ARCH}.policy" \
-	runtime_probe-seccomp.policy
+	platform_install
 
 	# Install udev rules.
 	udev_dorules udev/*.rules
@@ -83,5 +61,5 @@
 }
 
 platform_pkg_test() {
-	platform_test "run" "${OUT}/unittest_runner"
+	platform test_all
 }
diff --git a/chromeos-base/sample-dlc/OWNERS b/chromeos-base/sample-dlc/OWNERS
new file mode 100644
index 0000000..43aa1b5
--- /dev/null
+++ b/chromeos-base/sample-dlc/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/dlcservice/OWNERS
diff --git a/chromeos-base/screen-capture-utils/files/revision_bump b/chromeos-base/screen-capture-utils/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/screen-capture-utils/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/screen-capture-utils/screen-capture-utils-0.0.1-r189.ebuild b/chromeos-base/screen-capture-utils/screen-capture-utils-0.0.1-r189.ebuild
deleted file mode 100644
index 26ff6bf35..0000000
--- a/chromeos-base/screen-capture-utils/screen-capture-utils-0.0.1-r189.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "356f1f6294b75be3dc79348a1cf68b07c023df79" "4a0dedab080195bdc122d2289118df4af3ddca2c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-# TODO(crbug.com/809389): remove 'metrics' pulled in from header dependency.
-CROS_WORKON_SUBTREE="common-mk screen-capture-utils metrics .gn"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-
-PLATFORM_SUBDIR="screen-capture-utils"
-
-inherit cros-workon platform
-
-DESCRIPTION="Utilities for screen capturing"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/screen-capture-utils/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-# Mark the old screenshot package as blocker so it gets automatically removed in
-# incremental builds.
-RDEPEND="
-	chromeos-base/metrics
-	!chromeos-base/screenshot
-	media-libs/libpng:0=
-	media-libs/minigbm:=
-	net-libs/libvncserver
-	x11-libs/libdrm:=
-	virtual/opengles"
-
-DEPEND="${RDEPEND}
-	x11-drivers/opengles-headers"
-
-src_install() {
-	platform_install
-
-	# Component: ARC++ > Eng Velocity.
-	local fuzzer_component_id="515942"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/screen-capture_png_fuzzer \
-		--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/screen-capture-utils/screen-capture-utils-0.0.1-r254.ebuild b/chromeos-base/screen-capture-utils/screen-capture-utils-0.0.1-r254.ebuild
new file mode 100644
index 0000000..502c205
--- /dev/null
+++ b/chromeos-base/screen-capture-utils/screen-capture-utils-0.0.1-r254.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "b996d22037bb49a510f4dbf3139a179f8727ed59" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="common-mk screen-capture-utils .gn"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+
+PLATFORM_SUBDIR="screen-capture-utils"
+
+inherit cros-workon platform
+
+DESCRIPTION="Utilities for screen capturing"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/screen-capture-utils/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+# Mark the old screenshot package as blocker so it gets automatically removed in
+# incremental builds.
+RDEPEND="
+	!chromeos-base/screenshot
+	media-libs/libpng:0=
+	media-libs/minigbm:=
+	net-libs/libvncserver
+	x11-libs/libdrm:=
+	virtual/opengles"
+
+DEPEND="${RDEPEND}
+	x11-drivers/opengles-headers"
+
+src_install() {
+	platform_install
+
+	# Component: ARC++ > Eng Velocity.
+	local fuzzer_component_id="515942"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/screen-capture_png_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/screen-capture-utils/screen-capture-utils-9999.ebuild b/chromeos-base/screen-capture-utils/screen-capture-utils-9999.ebuild
index 15012b4..18e7c72 100644
--- a/chromeos-base/screen-capture-utils/screen-capture-utils-9999.ebuild
+++ b/chromeos-base/screen-capture-utils/screen-capture-utils-9999.ebuild
@@ -5,8 +5,7 @@
 
 CROS_WORKON_LOCALNAME="platform2"
 CROS_WORKON_PROJECT="chromiumos/platform2"
-# TODO(crbug.com/809389): remove 'metrics' pulled in from header dependency.
-CROS_WORKON_SUBTREE="common-mk screen-capture-utils metrics .gn"
+CROS_WORKON_SUBTREE="common-mk screen-capture-utils .gn"
 CROS_WORKON_OUTOFTREE_BUILD=1
 CROS_WORKON_INCREMENTAL_BUILD=1
 
@@ -24,7 +23,6 @@
 # Mark the old screenshot package as blocker so it gets automatically removed in
 # incremental builds.
 RDEPEND="
-	chromeos-base/metrics
 	!chromeos-base/screenshot
 	media-libs/libpng:0=
 	media-libs/minigbm:=
diff --git a/chromeos-base/sealed_storage/files/revision_bump b/chromeos-base/sealed_storage/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/sealed_storage/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/sealed_storage/sealed_storage-0.0.1-r486.ebuild b/chromeos-base/sealed_storage/sealed_storage-0.0.1-r486.ebuild
deleted file mode 100644
index 89080f7..0000000
--- a/chromeos-base/sealed_storage/sealed_storage-0.0.1-r486.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "68093a4cbee15674cd95edc8eef76f1342433dfd" "2acba33c99f07fa000bb44a4df3a65a8fe313bb1" "97266a4772907835fdab5d56b3ca24ed9c1c7a0e" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk sealed_storage tpm_manager trunks .gn"
-
-PLATFORM_SUBDIR="sealed_storage"
-
-inherit cros-workon platform
-
-DESCRIPTION="Library for sealing data to device identity and state"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/sealed_storage"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-IUSE="test tpm2"
-
-REQUIRED_USE="tpm2"
-COMMON_DEPEND="
-	chromeos-base/tpm_manager:=[test?]
-	chromeos-base/trunks:=[test?]
-"
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}
-	chromeos-base/protofiles:=
-	chromeos-base/system_api:=
-"
-
-src_install() {
-	platform_install
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/sealed_storage/sealed_storage-0.0.1-r591.ebuild b/chromeos-base/sealed_storage/sealed_storage-0.0.1-r591.ebuild
new file mode 100644
index 0000000..738535d
--- /dev/null
+++ b/chromeos-base/sealed_storage/sealed_storage-0.0.1-r591.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "ebd80d3e9a0d5136bc9154864fc7c23cea4a5861" "944879c9353c2df8adb7022407a8d319671325c1" "0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk sealed_storage tpm_manager trunks .gn"
+
+PLATFORM_SUBDIR="sealed_storage"
+
+inherit cros-workon platform
+
+DESCRIPTION="Library for sealing data to device identity and state"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sealed_storage"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+IUSE="test tpm2"
+
+REQUIRED_USE="tpm2"
+COMMON_DEPEND="
+	chromeos-base/tpm_manager:=[test?]
+	chromeos-base/trunks:=[test?]
+"
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/protofiles:=
+	chromeos-base/system_api:=
+"
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/sealed_storage/sealed_storage-9999.ebuild b/chromeos-base/sealed_storage/sealed_storage-9999.ebuild
index 3c49399..acc1f3b 100644
--- a/chromeos-base/sealed_storage/sealed_storage-9999.ebuild
+++ b/chromeos-base/sealed_storage/sealed_storage-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Library for sealing data to device identity and state"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/sealed_storage"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sealed_storage"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/secanomalyd/files/revision_bump b/chromeos-base/secanomalyd/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/secanomalyd/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/secanomalyd/secanomalyd-0.0.1-r156.ebuild b/chromeos-base/secanomalyd/secanomalyd-0.0.1-r156.ebuild
deleted file mode 100644
index 0286702..0000000
--- a/chromeos-base/secanomalyd/secanomalyd-0.0.1-r156.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "4a0dedab080195bdc122d2289118df4af3ddca2c" "5550ececb8b1aa955a1a0cbbaf76fb26937aa9c8" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk metrics secanomalyd .gn"
-
-PLATFORM_SUBDIR="secanomalyd"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Chrome OS security-anomaly detection daemon"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/secanomalyd/"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-COMMON_DEPEND="
-	chromeos-base/metrics:=
-	chromeos-base/vboot_reference:=
-"
-RDEPEND="${COMMON_DEPEND}
-	chromeos-base/minijail:=
-"
-DEPEND="${COMMON_DEPEND}"
-
-pkg_setup() {
-	enewuser "secanomaly"
-	enewgroup "secanomaly"
-
-	cros-workon_pkg_setup
-}
-
-src_install() {
-	dosbin "${OUT}"/secanomalyd
-
-	# Install Upstart configuration.
-	insinto /etc/init
-	doins secanomalyd.conf
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/secanomalyd_testrunner"
-}
diff --git a/chromeos-base/secanomalyd/secanomalyd-0.0.1-r262.ebuild b/chromeos-base/secanomalyd/secanomalyd-0.0.1-r262.ebuild
new file mode 100644
index 0000000..5181f70
--- /dev/null
+++ b/chromeos-base/secanomalyd/secanomalyd-0.0.1-r262.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "49734b00bc3c6d6877429cc25d1d504275e3a151" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk metrics secanomalyd .gn"
+
+PLATFORM_SUBDIR="secanomalyd"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Chrome OS security-anomaly detection daemon"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/secanomalyd/"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+COMMON_DEPEND="
+	chromeos-base/metrics:=
+	chromeos-base/vboot_reference:=
+"
+RDEPEND="${COMMON_DEPEND}
+	chromeos-base/minijail:=
+"
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/session_manager-client:=
+"
+
+pkg_setup() {
+	enewuser "secanomaly"
+	enewgroup "secanomaly"
+
+	cros-workon_pkg_setup
+}
+
+src_install() {
+	dosbin "${OUT}"/secanomalyd
+
+	# Install Upstart configuration.
+	insinto /etc/init
+	doins secanomalyd.conf
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/secanomalyd_testrunner"
+}
diff --git a/chromeos-base/secanomalyd/secanomalyd-9999.ebuild b/chromeos-base/secanomalyd/secanomalyd-9999.ebuild
index 1fdff92..2292ca0 100644
--- a/chromeos-base/secanomalyd/secanomalyd-9999.ebuild
+++ b/chromeos-base/secanomalyd/secanomalyd-9999.ebuild
@@ -25,7 +25,9 @@
 RDEPEND="${COMMON_DEPEND}
 	chromeos-base/minijail:=
 "
-DEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/session_manager-client:=
+"
 
 pkg_setup() {
 	enewuser "secanomaly"
diff --git a/chromeos-base/secure-erase-file/files/revision_bump b/chromeos-base/secure-erase-file/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/secure-erase-file/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/secure-erase-file/secure-erase-file-0.0.1-r1045.ebuild b/chromeos-base/secure-erase-file/secure-erase-file-0.0.1-r1045.ebuild
new file mode 100644
index 0000000..970d5ef
--- /dev/null
+++ b/chromeos-base/secure-erase-file/secure-erase-file-0.0.1-r1045.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "1454f5ebf6a159645127c22d8c4e382e8752569d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk secure_erase_file .gn"
+
+PLATFORM_SUBDIR="secure_erase_file"
+
+inherit cros-workon platform
+
+DESCRIPTION="Secure file erasure for Chrome OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/secure_erase_file/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="
+"
+
+RDEPEND="
+"
+
+src_install() {
+	platform_install
+}
diff --git a/chromeos-base/secure-erase-file/secure-erase-file-0.0.1-r987.ebuild b/chromeos-base/secure-erase-file/secure-erase-file-0.0.1-r987.ebuild
deleted file mode 100644
index 738af58..0000000
--- a/chromeos-base/secure-erase-file/secure-erase-file-0.0.1-r987.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "1454f5ebf6a159645127c22d8c4e382e8752569d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk secure_erase_file .gn"
-
-PLATFORM_SUBDIR="secure_erase_file"
-
-inherit cros-workon platform
-
-DESCRIPTION="Secure file erasure for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/secure_erase_file/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND="
-"
-
-RDEPEND="
-"
-
-src_install() {
-	platform_install
-}
diff --git a/chromeos-base/secure-erase-file/secure-erase-file-9999.ebuild b/chromeos-base/secure-erase-file/secure-erase-file-9999.ebuild
index ec0acd5..909e995 100644
--- a/chromeos-base/secure-erase-file/secure-erase-file-9999.ebuild
+++ b/chromeos-base/secure-erase-file/secure-erase-file-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Secure file erasure for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/secure_erase_file/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/secure_erase_file/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/secure-wipe/files/revision_bump b/chromeos-base/secure-wipe/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/secure-wipe/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/secure-wipe/secure-wipe-0.0.1-r206.ebuild b/chromeos-base/secure-wipe/secure-wipe-0.0.1-r206.ebuild
deleted file mode 100644
index 741d3a3..0000000
--- a/chromeos-base/secure-wipe/secure-wipe-0.0.1-r206.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "898687cfd878621b0aa42a27138c8a6c72210b16" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_SUBTREE="common-mk secure-wipe .gn"
-
-PLATFORM_SUBDIR="secure-wipe"
-
-inherit cros-workon platform
-
-DESCRIPTION="Secure wipe"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/secure-wipe/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="mmc nvme sata test"
-
-DEPEND=""
-
-RDEPEND="
-	app-misc/jq
-	sata? ( sys-apps/hdparm )
-	mmc? ( sys-apps/mmc-utils )
-	nvme? ( sys-apps/nvme-cli )
-	sys-apps/util-linux
-	sys-block/fio"
-
-src_test() {
-	tests/factory_verify_test.sh || die "unittest failed"
-}
-
-src_install() {
-	dosbin secure-wipe.sh
-	dosbin wipe_disk
-}
diff --git a/chromeos-base/secure-wipe/secure-wipe-0.0.1-r264.ebuild b/chromeos-base/secure-wipe/secure-wipe-0.0.1-r264.ebuild
new file mode 100644
index 0000000..62b05bd
--- /dev/null
+++ b/chromeos-base/secure-wipe/secure-wipe-0.0.1-r264.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "898687cfd878621b0aa42a27138c8a6c72210b16" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_SUBTREE="common-mk secure-wipe .gn"
+
+PLATFORM_SUBDIR="secure-wipe"
+
+inherit cros-workon platform
+
+DESCRIPTION="Secure wipe"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/secure-wipe/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="mmc nvme sata test"
+
+DEPEND=""
+
+RDEPEND="
+	app-misc/jq
+	sata? ( sys-apps/hdparm )
+	mmc? ( sys-apps/mmc-utils )
+	nvme? ( sys-apps/nvme-cli )
+	sys-apps/util-linux
+	sys-block/fio"
+
+src_test() {
+	tests/factory_verify_test.sh || die "unittest failed"
+}
+
+src_install() {
+	dosbin secure-wipe.sh
+	dosbin wipe_disk
+}
diff --git a/chromeos-base/secure-wipe/secure-wipe-9999.ebuild b/chromeos-base/secure-wipe/secure-wipe-9999.ebuild
index 5ebf929..46fc0f4 100644
--- a/chromeos-base/secure-wipe/secure-wipe-9999.ebuild
+++ b/chromeos-base/secure-wipe/secure-wipe-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Secure wipe"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/secure-wipe/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/secure-wipe/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/selinux-policy/selinux-policy-0.0.1-r388.ebuild b/chromeos-base/selinux-policy/selinux-policy-0.0.1-r388.ebuild
deleted file mode 100644
index 7d8f568..0000000
--- a/chromeos-base/selinux-policy/selinux-policy-0.0.1-r388.ebuild
+++ /dev/null
@@ -1,395 +0,0 @@
-# Copyright 2018 The Chromium Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE="09afce24b1ce93b3070ecf07ad536dee7ac6331d"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_SUBTREE="sepolicy"
-
-inherit cros-workon udev
-
-DESCRIPTION="Chrome OS SELinux Policy Package"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-# Keep this in sync with has_arc().
-IUSE="
-	android-container-pi
-	android-vm-master
-	android-vm-rvc
-	android-vm-sc
-	selinux_audit_all selinux_develop selinux_experimental
-	arc_first_release_n
-	nocheck
-	cheets_user cheets_user_64
-"
-DEPEND="
-	android-container-pi? ( chromeos-base/android-container-pi:0= )
-	android-vm-master? ( chromeos-base/android-vm-master:0= )
-	android-vm-rvc? ( chromeos-base/android-vm-rvc:0= )
-	android-vm-sc? ( chromeos-base/android-vm-sc:0= )
-"
-
-RDEPEND="
-	${DEPEND}
-	sys-apps/restorecon
-	sys-process/audit
-"
-
-SELINUX_VERSION="30"
-SEPOLICY_FILENAME="policy.${SELINUX_VERSION}"
-
-MLS_NUM_SENS=1
-MLS_NUM_CATS=1024
-CHROME_POLICY_FILES_PATTERN=(
-	security_classes
-	initial_sids
-	access_vectors
-	global_macros
-	chromeos_macros
-	neverallow_macros
-	mls_macros
-	mls_decl
-	mls
-	policy_capabilities
-	te_macros
-	attributes
-	ioctl_defines
-	ioctl_macros
-	chromeos_ioctl_defines
-	chromeos_ioctl_macros
-	"*.te"
-	roles_decl
-	roles
-	users
-	initial_sid_contexts
-	fs_use
-	genfs_contexts
-)
-
-# Files under $SEPATH are built by android-container-* in DEPEND.
-SEPATH="${SYSROOT}/etc/selinux/intermediates/"
-
-# -M Build MLS policy.
-# -G expand and remove auto-generated attributes.
-# -N ignore neverallow rules (checked during Android build)
-# -m allow multiple declaration (combination of rules of multiple source)
-SECILC_ARGS=(
-	-M true -G -N -m
-	-c "${SELINUX_VERSION}"
-	-o "${SEPOLICY_FILENAME}"
-	-f /dev/null
-)
-
-SECILC_ARGS_CHECK_NEVERALLOW=(
-	-M true -G -m
-	-c "${SELINUX_VERSION}"
-	-o /dev/null
-	-f /dev/null
-)
-
-# Common flags for m4
-M4_COMMON_FLAGS=(
-)
-
-# Remove all lines existed in $1 from /dev/stdin.
-# and remove all lines begin with "^;" (cil comment)
-# remove cil comment is necessary for clearing unmatched line marker
-# after base policy definitions are removed.
-# Also preserve type definitions since secilc can handle duplicates on
-# definition of types.
-filter_file_line_by_line() {
-	perl -e '
-		my @reflines;
-		open(my $ref, "<", $ARGV[0]);
-		while(<$ref>) { push @reflines, $_; }
-		while(<STDIN>) {
-			if ( m/^\(type / ) { print; next; }
-			if ( m/^;/ ) { next; }
-			if ($_ ~~ @reflines) { next; }
-			print
-		}
-	' "$1"
-}
-
-# Quick hack for conflicting generated base_typeattr_XX with
-# non-versioned Android cil.
-# A better solution could be to use libsepol to parse and process
-# cil to modify it.
-version_cil() {
-	sed -e 's/base_typeattr_\([0-9]*\)/base_typeattr_cros_\1/g'
-}
-
-# Keep this in sync with IUSE/DEPEND.
-has_arc() {
-	use android-container-pi ||
-	use android-vm-rvc ||
-	use android-vm-sc ||
-	use android-vm-master
-}
-
-gen_m4_flags() {
-	M4_COMMON_FLAGS=()
-	local arc_version="none"
-	if use android-container-pi; then
-		arc_version="p"
-	elif use android-vm-rvc; then
-		arc_version="r"
-	elif use android-vm-sc; then
-		arc_version="s"
-	elif use android-vm-master; then
-		arc_version="master"
-	fi
-	M4_COMMON_FLAGS+=(
-		"-Darc_version=${arc_version}"
-		"-Duse_selinux_develop=$(usex selinux_develop y n)"
-		"-Duse_arc_first_release_n=$(usex arc_first_release_n y n)"
-	)
-	einfo "m4 flags: ${M4_COMMON_FLAGS[*]}"
-}
-
-# Build SELinux intermediate language files.
-# Look into SELinux policies in given directories, and
-# pre-compile with m4 macro preprocessor, and merge them into
-# a monothilic SELinux policy, and then compile it into
-# intermediate files using checkpolicy compiler.
-build_cil() {
-	local policy_files=()
-	local ciltype="$1"
-	shift
-	local output="$1"
-	shift
-	local pattern
-	for pattern in "${CHROME_POLICY_FILES_PATTERN[@]}"; do
-		local path
-		for path in "$@"; do
-			local file
-			while read -r -d $'\0' file; do
-				policy_files+=("${file}")
-			done < <(find "${path}" -xtype f -name "${pattern}" -print0)
-		done
-	done
-	m4 "-Dmls_num_sens=${MLS_NUM_SENS}" "-Dmls_num_cats=${MLS_NUM_CATS}" \
-		"${M4_COMMON_FLAGS[@]}" \
-		"-Dciltype=${ciltype}" \
-		-s "${policy_files[@]}" > "${output}.conf" \
-		|| die "failed to generate ${output}.conf"
-	checkpolicy -M -C -c "${SELINUX_VERSION}" "${output}.conf" \
-		-o "${output}" || die "failed to build $output"
-}
-
-build_android_reqd_cil() {
-	build_cil reqd "android_reqd.cil" "sepolicy/policy/base/" "sepolicy/policy/mask_only/"
-}
-
-build_chromeos_policy() {
-	build_android_reqd_cil
-
-	build_cil cros "chromeos.raw.cil" "sepolicy/policy/base/" "sepolicy/policy/chromeos_base" "sepolicy/policy/chromeos/"
-	version_cil < chromeos.raw.cil > chromeos.raw.versioned.cil
-	secilc "${SECILC_ARGS_CHECK_NEVERALLOW[@]}" chromeos.raw.cil ||
-		die "some Chrome OS neverallows are not satisfied"
-	filter_file_line_by_line android_reqd.cil < chromeos.raw.versioned.cil > chromeos.cil ||
-		die "failed to convert raw cil to filtered cil"
-}
-
-build_file_contexts() {
-	einfo "Compiling chromeos_file_contexts"
-	m4 "${M4_COMMON_FLAGS[@]}" "sepolicy/file_contexts/macros" \
-		"sepolicy/file_contexts/chromeos_file_contexts" > chromeos_file_contexts ||
-		die "failed to build chromeos file contexts"
-}
-
-check_filetrans_defined_in_file_contexts() {
-	einfo "Verifying policy and file_contexts for filetrans_pattern"
-	_is_empty() {
-		local err=0
-		while read line; do
-			if [[ "$err" -eq "0" ]]; then
-				ewarn "Expected to find these lines in file_contexts, but were not found:"
-				err=1
-			fi
-			ewarn "$line"
-		done
-		return $err
-	}
-	# filetrans is a kind of typetransition. Typetrasition is described like
-	# the following in a .cil file:
-	# (typetransition source target class new_type) or
-	# (typetransition source target class object_name new_type)
-	# We only want to verify where
-	#  - both source and target are not tmpfs-related.
-	#  - source is not unconfined domain: chromeos
-	#  - type is not process since we only care file typetransition.
-	cat chromeos.cil | awk '
-		/^\(typetransition/	{
-						context=substr($NF,0,length($NF)-1)
-						if ($4=="process"||$2=="chromeos") next;
-						if(context ~/cros_.*tmp_file/) next; # Created an cros_.*_tmp_file
-						if(context ~/(device|rootfs|tmpfs)/) next; # Created a file labeled as device, tmpfs, or rootfs.
-						if($3 ~/^(cros_run(_.*)?|cros_.*tmp_file|tmpfs|arc_dir)$/) next; # Create a file in tmpfs.
-						if(NF==6) { print substr($5,2,length($5)-2) ".*u:object_r:" context ":s0" }
-						else { print "u:object_r:" context ":s0" }
-					}
-	' | sort -u | xargs -d'\n' -n 1 sh -c 'grep $0 file_contexts >/dev/null || echo $0' | _is_empty
-}
-
-# cat cil-file | get_attributed_type(attribute) => types separated by spaces
-get_attributed_type() {
-	local attr="$1"
-	grep "(typeattributeset ${attr} (" | sed -e "s/^(typeattributeset ${attr} (//g" | sed -e 's/ ))$//g'
-}
-
-# check_attribute_include attr subattr1 subattr2 subattr3 ... excluded_type1 excluded_type2 ...
-check_attribute_include() {
-	local poolname="$1"
-	shift 1
-	einfo "Checking type set (attribute ${poolname}) equals to union of type sets of (attribute $@)"
-	local pool="$(cat chromeos.cil | get_attributed_type "${poolname}" | tr ' ' '\n')"
-	local remaining_types="$pool"
-	for attr in $@; do
-		remaining_types="$(echo "$remaining_types" | egrep -v "^$attr$")"
-		for t in `cat chromeos.cil | get_attributed_type "${attr}"`; do
-			if ! grep "$t" <(echo "$pool") >/dev/null; then
-				die "${t} type should have attribute ${poolname} to have attribute ${attr}"
-			fi
-			remaining_types="$(echo "$remaining_types" | egrep -v "^$t$")"
-		done
-	done
-	if ! [[ -z "$remaining_types" ]]; then
-		die "Types with attribute $poolname should have at least one of $@, but these doesn't: \n$(echo "${remaining_types}" | tr '\n' ' ')"
-	fi
-}
-
-check_file_type_and_attribute() {
-	einfo "Checking file types and their attributes"
-	check_attribute_include file_type cros_file_type unlabeled system_data_file media_data_file android_file_type
-	check_attribute_include cros_file_type cros_system_file_type cros_tmpfile_type cros_home_file_type cros_var_file_type cros_run_file_type cros_uncategorized_file_type
-}
-
-src_compile() {
-	gen_m4_flags
-
-	build_chromeos_policy
-	build_file_contexts
-
-	cp -r "${SEPATH}" intermediate_policy
-
-	if use selinux_audit_all; then
-		find intermediate_policy/ -xtype f -name '*.cil' -exec \
-			sed -i 's/^(dontaudit .*//g' {} \;
-		sed -i 's/^(dontaudit .*//g' chromeos.cil
-		sed -i 's/^(dontaudit .*//g' chromeos.raw.cil
-	fi
-
-	local cilpath="$(pwd)/intermediate_policy"
-
-	if has_arc; then
-		einfo "Removing duplicate nnp_nosuid_transition policycap from Android cil"
-		sed -i '/^(policycap nnp_nosuid_transition)$/d' "${cilpath}"/*.cil || die
-
-		einfo "Combining Chrome OS and Android SELinux policy"
-		secilc "${SECILC_ARGS[@]}" "${cilpath}/plat_sepolicy.cil" \
-			"${cilpath}/mapping.cil" \
-			"${cilpath}/plat_pub_versioned.cil" \
-			"${cilpath}/vendor_sepolicy.cil" \
-			chromeos.cil || die "fail to build sepolicy"
-
-		# Add header/footer around ARC++ contexts, so they can be
-		# correctly replaced when pushing new Android builds using
-		# push_to_device.py.
-		(
-			cat "chromeos_file_contexts" &&
-			echo -e "\n# BEGIN_ARC_FILE_CONTEXTS" &&
-			cat "${SYSROOT}/etc/selinux/intermediates/arc_file_contexts" &&
-			echo -e "\n# END_ARC_FILE_CONTEXTS"
-		) > file_contexts || die "failed to combine *_file_contexts files"
-
-	else
-		# Chrome OS without ARC++ only.
-		einfo "Use Chrome OS-only SELinux policy."
-
-		secilc "${SECILC_ARGS[@]}" chromeos.raw.cil || die "fail to build sepolicy"
-		cp "chromeos_file_contexts" file_contexts \
-			|| die "didn't find chromeos_file_contexts for file_contexts"
-	fi
-
-	check_filetrans_defined_in_file_contexts \
-		|| die "failed to check consistency between filetrans_pattern and file_contexts"
-
-	if use nocheck; then
-		ewarn "Some post-compile checks are skipped. Please remove nocheck from your USE flag"
-	else
-		einfo 'Use USE="$USE nocheck" emerge-$BOARD selinux-policy to speed up emerge for development purpose'.
-		check_file_type_and_attribute
-	fi
-}
-
-src_install() {
-	insinto /etc/selinux/arc/contexts/files
-	doins file_contexts
-
-	insinto /etc/selinux
-	if use selinux_experimental; then
-		newins "${FILESDIR}/selinux_config_experimental" config
-	else
-		newins "${FILESDIR}/selinux_config" config
-	fi
-
-	insinto /etc/selinux/arc/policy
-	doins "${SEPOLICY_FILENAME}"
-
-	if use selinux_develop; then
-		insinto /etc/init
-		doins "${FILESDIR}/selinux_debug.conf"
-		dobin "${FILESDIR}/audit_log_since_boot"
-	fi
-
-	if has_arc; then
-		# Install ChromeOS cil so push_to_device.py can compile a new
-		# version of SELinux policy.
-		insinto /etc/selinux/intermediates.raw/
-		doins chromeos.cil
-	fi
-
-	udev_dorules "${FILESDIR}/50-selinux.rules"
-}
-
-# Check policy violation for neverallow rules extracted from CTS SELinuxNeverallowRulesTest.
-src_test() {
-	if ! use android-container-pi; then
-		# Skipping the test for ARCVM.
-		# We only run SELinux CTS against the guest-side policy of ARCVM.
-		return
-	fi
-
-	local neverallowjava="${SYSROOT}/etc/selinux/intermediates/SELinuxNeverallowRulesTest.java"
-	if [ ! -f "${SYSROOT}/etc/selinux/intermediates/SELinuxNeverallowRulesTest.java" ]; then
-		ewarn "No SELinuxNeverallowRulesTest.java found. CTS neverallow pre-test is skipped."
-		return
-	fi
-
-	# Extract 'String neverallowRule = "neverallow ...";' lines from the Java source code and
-	# write the extracted lines to ./neverallows.
-	(
-		grep "boolean compatiblePropertyOnly = false;" -B 2 |
-		grep "boolean fullTrebleOnly = false;" -B 1 |
-		grep neverallowRule |
-		sed -E 's/.*"(neverallow.*)";/\1/g'
-	) < "${neverallowjava}" > neverallows
-
-	local loc="$(wc -l neverallows | awk '{print $1;}')"
-	if [[ "${loc}" -lt "100" ]]; then
-		die "too few test cases. something is wrong."
-	fi
-	local cur=0
-	while read -r rule; do
-		cur=$((cur+1))
-		printf "Checking neverallow rules: %d/%d\r" "$cur" "$loc"
-		sepolicy-analyze "${SEPOLICY_FILENAME}" neverallow -n "$rule" || (echo failed for "$rule"; die)
-	done < neverallows
-}
diff --git a/chromeos-base/selinux-policy/selinux-policy-0.0.1-r438.ebuild b/chromeos-base/selinux-policy/selinux-policy-0.0.1-r438.ebuild
new file mode 100644
index 0000000..db9ed33
--- /dev/null
+++ b/chromeos-base/selinux-policy/selinux-policy-0.0.1-r438.ebuild
@@ -0,0 +1,400 @@
+# Copyright 2018 The Chromium Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="842dc3cff015ce18b874a32803498283e82fcaa3"
+CROS_WORKON_TREE="f12060545b7fb31186af841e4fccdb50cbaaec5a"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="sepolicy"
+
+inherit cros-workon udev
+
+DESCRIPTION="Chrome OS SELinux Policy Package"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+# Keep this in sync with has_arc().
+IUSE="
+	android-container-pi
+	android-vm-master
+	android-vm-rvc
+	android-vm-sc
+	android-vm-tm
+	selinux_audit_all selinux_develop selinux_experimental
+	arc_first_release_n
+	nocheck
+	cheets_user cheets_user_64
+"
+DEPEND="
+	android-container-pi? ( chromeos-base/android-container-pi:0= )
+	android-vm-master? ( chromeos-base/android-vm-master:0= )
+	android-vm-rvc? ( chromeos-base/android-vm-rvc:0= )
+	android-vm-sc? ( chromeos-base/android-vm-sc:0= )
+	android-vm-tm? ( chromeos-base/android-vm-tm:0= )
+"
+
+RDEPEND="
+	${DEPEND}
+	sys-apps/restorecon
+	sys-process/audit
+"
+
+SELINUX_VERSION="30"
+SEPOLICY_FILENAME="policy.${SELINUX_VERSION}"
+
+MLS_NUM_SENS=1
+MLS_NUM_CATS=1024
+CHROME_POLICY_FILES_PATTERN=(
+	security_classes
+	initial_sids
+	access_vectors
+	global_macros
+	chromeos_macros
+	neverallow_macros
+	mls_macros
+	mls_decl
+	mls
+	policy_capabilities
+	te_macros
+	attributes
+	ioctl_defines
+	ioctl_macros
+	chromeos_ioctl_defines
+	chromeos_ioctl_macros
+	"*.te"
+	roles_decl
+	roles
+	users
+	initial_sid_contexts
+	fs_use
+	genfs_contexts
+)
+
+# Files under $SEPATH are built by android-container-* in DEPEND.
+SEPATH="${SYSROOT}/etc/selinux/intermediates/"
+
+# -M Build MLS policy.
+# -G expand and remove auto-generated attributes.
+# -N ignore neverallow rules (checked during Android build)
+# -m allow multiple declaration (combination of rules of multiple source)
+SECILC_ARGS=(
+	-M true -G -N -m
+	-c "${SELINUX_VERSION}"
+	-o "${SEPOLICY_FILENAME}"
+	-f /dev/null
+)
+
+SECILC_ARGS_CHECK_NEVERALLOW=(
+	-M true -G -m
+	-c "${SELINUX_VERSION}"
+	-o /dev/null
+	-f /dev/null
+)
+
+# Common flags for m4
+M4_COMMON_FLAGS=(
+)
+
+# Remove all lines existed in $1 from /dev/stdin.
+# and remove all lines begin with "^;" (cil comment)
+# remove cil comment is necessary for clearing unmatched line marker
+# after base policy definitions are removed.
+# Also preserve type definitions since secilc can handle duplicates on
+# definition of types.
+filter_file_line_by_line() {
+	perl -e '
+		my @reflines;
+		open(my $ref, "<", $ARGV[0]);
+		while(<$ref>) { push @reflines, $_; }
+		while(<STDIN>) {
+			if ( m/^\(type / ) { print; next; }
+			if ( m/^;/ ) { next; }
+			if ($_ ~~ @reflines) { next; }
+			print
+		}
+	' "$1"
+}
+
+# Quick hack for conflicting generated base_typeattr_XX with
+# non-versioned Android cil.
+# A better solution could be to use libsepol to parse and process
+# cil to modify it.
+version_cil() {
+	sed -e 's/base_typeattr_\([0-9]*\)/base_typeattr_cros_\1/g'
+}
+
+# Keep this in sync with IUSE/DEPEND.
+has_arc() {
+	use android-container-pi ||
+	use android-vm-rvc ||
+	use android-vm-sc ||
+	use android-vm-tm ||
+	use android-vm-master
+}
+
+gen_m4_flags() {
+	M4_COMMON_FLAGS=()
+	local arc_version="none"
+	if use android-container-pi; then
+		arc_version="p"
+	elif use android-vm-rvc; then
+		arc_version="r"
+	elif use android-vm-sc; then
+		arc_version="s"
+	elif use android-vm-tm; then
+		arc_version="t"
+	elif use android-vm-master; then
+		arc_version="master"
+	fi
+	M4_COMMON_FLAGS+=(
+		"-Darc_version=${arc_version}"
+		"-Duse_selinux_develop=$(usex selinux_develop y n)"
+		"-Duse_arc_first_release_n=$(usex arc_first_release_n y n)"
+	)
+	einfo "m4 flags: ${M4_COMMON_FLAGS[*]}"
+}
+
+# Build SELinux intermediate language files.
+# Look into SELinux policies in given directories, and
+# pre-compile with m4 macro preprocessor, and merge them into
+# a monothilic SELinux policy, and then compile it into
+# intermediate files using checkpolicy compiler.
+build_cil() {
+	local policy_files=()
+	local ciltype="$1"
+	shift
+	local output="$1"
+	shift
+	local pattern
+	for pattern in "${CHROME_POLICY_FILES_PATTERN[@]}"; do
+		local path
+		for path in "$@"; do
+			local file
+			while read -r -d $'\0' file; do
+				policy_files+=("${file}")
+			done < <(find "${path}" -xtype f -name "${pattern}" -print0)
+		done
+	done
+	m4 "-Dmls_num_sens=${MLS_NUM_SENS}" "-Dmls_num_cats=${MLS_NUM_CATS}" \
+		"${M4_COMMON_FLAGS[@]}" \
+		"-Dciltype=${ciltype}" \
+		-s "${policy_files[@]}" > "${output}.conf" \
+		|| die "failed to generate ${output}.conf"
+	checkpolicy -M -C -c "${SELINUX_VERSION}" "${output}.conf" \
+		-o "${output}" || die "failed to build $output"
+}
+
+build_android_reqd_cil() {
+	build_cil reqd "android_reqd.cil" "sepolicy/policy/base/" "sepolicy/policy/mask_only/"
+}
+
+build_chromeos_policy() {
+	build_android_reqd_cil
+
+	build_cil cros "chromeos.raw.cil" "sepolicy/policy/base/" "sepolicy/policy/chromeos_base" "sepolicy/policy/chromeos/"
+	version_cil < chromeos.raw.cil > chromeos.raw.versioned.cil
+	secilc "${SECILC_ARGS_CHECK_NEVERALLOW[@]}" chromeos.raw.cil ||
+		die "some Chrome OS neverallows are not satisfied"
+	filter_file_line_by_line android_reqd.cil < chromeos.raw.versioned.cil > chromeos.cil ||
+		die "failed to convert raw cil to filtered cil"
+}
+
+build_file_contexts() {
+	einfo "Compiling chromeos_file_contexts"
+	m4 "${M4_COMMON_FLAGS[@]}" "sepolicy/file_contexts/macros" \
+		"sepolicy/file_contexts/chromeos_file_contexts" > chromeos_file_contexts ||
+		die "failed to build chromeos file contexts"
+}
+
+check_filetrans_defined_in_file_contexts() {
+	einfo "Verifying policy and file_contexts for filetrans_pattern"
+	_is_empty() {
+		local err=0
+		while read line; do
+			if [[ "$err" -eq "0" ]]; then
+				ewarn "Expected to find these lines in file_contexts, but were not found:"
+				err=1
+			fi
+			ewarn "$line"
+		done
+		return $err
+	}
+	# filetrans is a kind of typetransition. Typetrasition is described like
+	# the following in a .cil file:
+	# (typetransition source target class new_type) or
+	# (typetransition source target class object_name new_type)
+	# We only want to verify where
+	#  - both source and target are not tmpfs-related.
+	#  - source is not unconfined domain: chromeos
+	#  - type is not process since we only care file typetransition.
+	cat chromeos.cil | awk '
+		/^\(typetransition/	{
+						context=substr($NF,0,length($NF)-1)
+						if ($4=="process"||$2=="chromeos") next;
+						if(context ~/cros_.*tmp_file/) next; # Created an cros_.*_tmp_file
+						if(context ~/(device|rootfs|tmpfs)/) next; # Created a file labeled as device, tmpfs, or rootfs.
+						if($3 ~/^(cros_run(_.*)?|cros_.*tmp_file|tmpfs|arc_dir)$/) next; # Create a file in tmpfs.
+						if(NF==6) { print substr($5,2,length($5)-2) ".*u:object_r:" context ":s0" }
+						else { print "u:object_r:" context ":s0" }
+					}
+	' | sort -u | xargs -d'\n' -n 1 sh -c 'grep $0 file_contexts >/dev/null || echo $0' | _is_empty
+}
+
+# cat cil-file | get_attributed_type(attribute) => types separated by spaces
+get_attributed_type() {
+	local attr="$1"
+	grep "(typeattributeset ${attr} (" | sed -e "s/^(typeattributeset ${attr} (//g" | sed -e 's/ ))$//g'
+}
+
+# check_attribute_include attr subattr1 subattr2 subattr3 ... excluded_type1 excluded_type2 ...
+check_attribute_include() {
+	local poolname="$1"
+	shift 1
+	einfo "Checking type set (attribute ${poolname}) equals to union of type sets of (attribute $@)"
+	local pool="$(cat chromeos.cil | get_attributed_type "${poolname}" | tr ' ' '\n')"
+	local remaining_types="$pool"
+	for attr in $@; do
+		remaining_types="$(echo "$remaining_types" | egrep -v "^$attr$")"
+		for t in `cat chromeos.cil | get_attributed_type "${attr}"`; do
+			if ! grep "$t" <(echo "$pool") >/dev/null; then
+				die "${t} type should have attribute ${poolname} to have attribute ${attr}"
+			fi
+			remaining_types="$(echo "$remaining_types" | egrep -v "^$t$")"
+		done
+	done
+	if ! [[ -z "$remaining_types" ]]; then
+		die "Types with attribute $poolname should have at least one of $@, but these doesn't: \n$(echo "${remaining_types}" | tr '\n' ' ')"
+	fi
+}
+
+check_file_type_and_attribute() {
+	einfo "Checking file types and their attributes"
+	check_attribute_include file_type cros_file_type unlabeled system_data_file media_data_file android_file_type
+	check_attribute_include cros_file_type cros_system_file_type cros_tmpfile_type cros_home_file_type cros_var_file_type cros_run_file_type cros_uncategorized_file_type
+}
+
+src_compile() {
+	gen_m4_flags
+
+	build_chromeos_policy
+	build_file_contexts
+
+	cp -r "${SEPATH}" intermediate_policy
+
+	if use selinux_audit_all; then
+		find intermediate_policy/ -xtype f -name '*.cil' -exec \
+			sed -i 's/^(dontaudit .*//g' {} \;
+		sed -i 's/^(dontaudit .*//g' chromeos.cil
+		sed -i 's/^(dontaudit .*//g' chromeos.raw.cil
+	fi
+
+	local cilpath="$(pwd)/intermediate_policy"
+
+	if has_arc; then
+		einfo "Removing duplicate nnp_nosuid_transition policycap from Android cil"
+		sed -i '/^(policycap nnp_nosuid_transition)$/d' "${cilpath}"/*.cil || die
+
+		einfo "Combining Chrome OS and Android SELinux policy"
+		secilc "${SECILC_ARGS[@]}" "${cilpath}/plat_sepolicy.cil" \
+			"${cilpath}/mapping.cil" \
+			"${cilpath}/plat_pub_versioned.cil" \
+			"${cilpath}/vendor_sepolicy.cil" \
+			chromeos.cil || die "fail to build sepolicy"
+
+		# Add header/footer around ARC++ contexts, so they can be
+		# correctly replaced when pushing new Android builds using
+		# push_to_device.py.
+		(
+			cat "chromeos_file_contexts" &&
+			echo -e "\n# BEGIN_ARC_FILE_CONTEXTS" &&
+			cat "${SYSROOT}/etc/selinux/intermediates/arc_file_contexts" &&
+			echo -e "\n# END_ARC_FILE_CONTEXTS"
+		) > file_contexts || die "failed to combine *_file_contexts files"
+
+	else
+		# Chrome OS without ARC++ only.
+		einfo "Use Chrome OS-only SELinux policy."
+
+		secilc "${SECILC_ARGS[@]}" chromeos.raw.cil || die "fail to build sepolicy"
+		cp "chromeos_file_contexts" file_contexts \
+			|| die "didn't find chromeos_file_contexts for file_contexts"
+	fi
+
+	check_filetrans_defined_in_file_contexts \
+		|| die "failed to check consistency between filetrans_pattern and file_contexts"
+
+	if use nocheck; then
+		ewarn "Some post-compile checks are skipped. Please remove nocheck from your USE flag"
+	else
+		einfo 'Use USE="$USE nocheck" emerge-$BOARD selinux-policy to speed up emerge for development purpose'.
+		check_file_type_and_attribute
+	fi
+}
+
+src_install() {
+	insinto /etc/selinux/arc/contexts/files
+	doins file_contexts
+
+	insinto /etc/selinux
+	if use selinux_experimental; then
+		newins "${FILESDIR}/selinux_config_experimental" config
+	else
+		newins "${FILESDIR}/selinux_config" config
+	fi
+
+	insinto /etc/selinux/arc/policy
+	doins "${SEPOLICY_FILENAME}"
+
+	if use selinux_develop; then
+		insinto /etc/init
+		doins "${FILESDIR}/selinux_debug.conf"
+		dobin "${FILESDIR}/audit_log_since_boot"
+	fi
+
+	if has_arc; then
+		# Install ChromeOS cil so push_to_device.py can compile a new
+		# version of SELinux policy.
+		insinto /etc/selinux/intermediates.raw/
+		doins chromeos.cil
+	fi
+
+	udev_dorules "${FILESDIR}/50-selinux.rules"
+}
+
+# Check policy violation for neverallow rules extracted from CTS SELinuxNeverallowRulesTest.
+src_test() {
+	if ! use android-container-pi; then
+		# Skipping the test for ARCVM.
+		# We only run SELinux CTS against the guest-side policy of ARCVM.
+		return
+	fi
+
+	local neverallowjava="${SYSROOT}/etc/selinux/intermediates/SELinuxNeverallowRulesTest.java"
+	if [ ! -f "${SYSROOT}/etc/selinux/intermediates/SELinuxNeverallowRulesTest.java" ]; then
+		ewarn "No SELinuxNeverallowRulesTest.java found. CTS neverallow pre-test is skipped."
+		return
+	fi
+
+	# Extract 'String neverallowRule = "neverallow ...";' lines from the Java source code and
+	# write the extracted lines to ./neverallows.
+	(
+		grep "boolean compatiblePropertyOnly = false;" -B 2 |
+		grep "boolean fullTrebleOnly = false;" -B 1 |
+		grep neverallowRule |
+		sed -E 's/.*"(neverallow.*)";/\1/g'
+	) < "${neverallowjava}" > neverallows
+
+	local loc="$(wc -l neverallows | awk '{print $1;}')"
+	if [[ "${loc}" -lt "100" ]]; then
+		die "too few test cases. something is wrong."
+	fi
+	local cur=0
+	while read -r rule; do
+		cur=$((cur+1))
+		printf "Checking neverallow rules: %d/%d\r" "$cur" "$loc"
+		sepolicy-analyze "${SEPOLICY_FILENAME}" neverallow -n "$rule" || (echo failed for "$rule"; die)
+	done < neverallows
+}
diff --git a/chromeos-base/selinux-policy/selinux-policy-9999.ebuild b/chromeos-base/selinux-policy/selinux-policy-9999.ebuild
index 61e7c06..168f7bb 100644
--- a/chromeos-base/selinux-policy/selinux-policy-9999.ebuild
+++ b/chromeos-base/selinux-policy/selinux-policy-9999.ebuild
@@ -20,6 +20,7 @@
 	android-vm-master
 	android-vm-rvc
 	android-vm-sc
+	android-vm-tm
 	selinux_audit_all selinux_develop selinux_experimental
 	arc_first_release_n
 	nocheck
@@ -30,6 +31,7 @@
 	android-vm-master? ( chromeos-base/android-vm-master:0= )
 	android-vm-rvc? ( chromeos-base/android-vm-rvc:0= )
 	android-vm-sc? ( chromeos-base/android-vm-sc:0= )
+	android-vm-tm? ( chromeos-base/android-vm-tm:0= )
 "
 
 RDEPEND="
@@ -127,6 +129,7 @@
 	use android-container-pi ||
 	use android-vm-rvc ||
 	use android-vm-sc ||
+	use android-vm-tm ||
 	use android-vm-master
 }
 
@@ -139,6 +142,8 @@
 		arc_version="r"
 	elif use android-vm-sc; then
 		arc_version="s"
+	elif use android-vm-tm; then
+		arc_version="t"
 	elif use android-vm-master; then
 		arc_version="master"
 	fi
diff --git a/chromeos-base/session_manager-client/files/revision_bump b/chromeos-base/session_manager-client/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/session_manager-client/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/session_manager-client/session_manager-client-0.0.1-r2264.ebuild b/chromeos-base/session_manager-client/session_manager-client-0.0.1-r2264.ebuild
deleted file mode 100644
index 8ec989f..0000000
--- a/chromeos-base/session_manager-client/session_manager-client-0.0.1-r2264.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "1a6128185802c1ad69c05ed98bd4a1d00a8e5206" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk login_manager .gn"
-
-PLATFORM_NATIVE_TEST="yes"
-PLATFORM_SUBDIR="login_manager/session_manager-client"
-
-inherit cros-workon platform
-
-DESCRIPTION="Session manager (chromeos-login) DBus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/login_manager/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="cros_host"
-
-# D-Bus proxies generated by this client library depend on the code generator
-# itself (chromeos-dbus-bindings) and produce header files that rely on
-# libbrillo library, hence both dependencies.
-DEPEND="
-	cros_host? ( chromeos-base/chromeos-dbus-bindings:= )
-"
-
-RDEPEND="
-	!<chromeos-base/chromeos-login-0.0.2
-"
-
-src_install() {
-	# Install DBus client library.
-	platform_install_dbus_client_lib "session_manager"
-}
diff --git a/chromeos-base/session_manager-client/session_manager-client-0.0.1-r2358.ebuild b/chromeos-base/session_manager-client/session_manager-client-0.0.1-r2358.ebuild
new file mode 100644
index 0000000..60431b4
--- /dev/null
+++ b/chromeos-base/session_manager-client/session_manager-client-0.0.1-r2358.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "86c7faad3e91503ff0fd5d28ede2e13016668322" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk login_manager .gn"
+
+PLATFORM_NATIVE_TEST="yes"
+PLATFORM_SUBDIR="login_manager/session_manager-client"
+
+inherit cros-workon platform
+
+DESCRIPTION="Session manager (chromeos-login) DBus client library for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/login_manager/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="cros_host"
+
+# D-Bus proxies generated by this client library depend on the code generator
+# itself (chromeos-dbus-bindings) and produce header files that rely on
+# libbrillo library, hence both dependencies.
+DEPEND="
+	cros_host? ( chromeos-base/chromeos-dbus-bindings:= )
+"
+
+RDEPEND="
+	!<chromeos-base/chromeos-login-0.0.2
+"
+
+src_install() {
+	# Install DBus client library.
+	platform_install_dbus_client_lib "session_manager"
+}
diff --git a/chromeos-base/session_manager-client/session_manager-client-9999.ebuild b/chromeos-base/session_manager-client/session_manager-client-9999.ebuild
index 726e4c8..6127f49 100644
--- a/chromeos-base/session_manager-client/session_manager-client-9999.ebuild
+++ b/chromeos-base/session_manager-client/session_manager-client-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Session manager (chromeos-login) DBus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/login_manager/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/login_manager/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/shill-client/OWNERS b/chromeos-base/shill-client/OWNERS
new file mode 100644
index 0000000..18ad1e5
--- /dev/null
+++ b/chromeos-base/shill-client/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/shill/OWNERS
diff --git a/chromeos-base/shill-client/files/revision_bump b/chromeos-base/shill-client/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/shill-client/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/shill-client/shill-client-0.0.1-r2926.ebuild b/chromeos-base/shill-client/shill-client-0.0.1-r2926.ebuild
deleted file mode 100644
index 6fbe6e8..0000000
--- a/chromeos-base/shill-client/shill-client-0.0.1-r2926.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="0eaf865334121ae5efba543025a429b9f8a5130e"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "91229756774a69d68bb9cfc49171cf88062fdf15" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_SUBTREE="common-mk shill .gn"
-
-PLATFORM_NATIVE_TEST="yes"
-PLATFORM_SUBDIR="shill/client"
-
-inherit cros-workon platform
-
-DESCRIPTION="Shill DBus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/shill/"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE="cros_host"
-
-RDEPEND="
-	!<chromeos-base/shill-0.0.2
-"
-
-BDEPEND="
-	chromeos-base/chromeos-dbus-bindings:=
-"
-
-src_install() {
-	# Install DBus client library.
-	platform_install_dbus_client_lib "shill"
-}
diff --git a/chromeos-base/shill-client/shill-client-0.0.1-r3204.ebuild b/chromeos-base/shill-client/shill-client-0.0.1-r3204.ebuild
new file mode 100644
index 0000000..1c7cfd6
--- /dev/null
+++ b/chromeos-base/shill-client/shill-client-0.0.1-r3204.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="eddffb488e6b0e8ba6309122b37b341057179416"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "9a3daa495c363b563765cfb1fcc30ac93eef90c6" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="common-mk shill .gn"
+
+PLATFORM_NATIVE_TEST="yes"
+PLATFORM_SUBDIR="shill/client"
+
+inherit cros-workon platform
+
+DESCRIPTION="Shill DBus client library for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="cros_host"
+
+RDEPEND="
+	!<chromeos-base/shill-0.0.2
+"
+
+BDEPEND="
+	chromeos-base/chromeos-dbus-bindings:=
+"
+
+src_install() {
+	# Install DBus client library.
+	platform_install_dbus_client_lib "shill"
+}
diff --git a/chromeos-base/shill-client/shill-client-9999.ebuild b/chromeos-base/shill-client/shill-client-9999.ebuild
index b3a3e39..088ad4b 100644
--- a/chromeos-base/shill-client/shill-client-9999.ebuild
+++ b/chromeos-base/shill-client/shill-client-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Shill DBus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/shill/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/"
 
 LICENSE="BSD-Google"
 SLOT="0"
diff --git a/chromeos-base/shill-dbus-client/OWNERS b/chromeos-base/shill-dbus-client/OWNERS
new file mode 100644
index 0000000..18ad1e5
--- /dev/null
+++ b/chromeos-base/shill-dbus-client/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/shill/OWNERS
diff --git a/chromeos-base/shill-dbus-client/files/revision_bump b/chromeos-base/shill-dbus-client/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/shill-dbus-client/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/shill-dbus-client/shill-dbus-client-0.0.1-r699.ebuild b/chromeos-base/shill-dbus-client/shill-dbus-client-0.0.1-r699.ebuild
deleted file mode 100644
index fc1857b..0000000
--- a/chromeos-base/shill-dbus-client/shill-dbus-client-0.0.1-r699.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="0eaf865334121ae5efba543025a429b9f8a5130e"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "91229756774a69d68bb9cfc49171cf88062fdf15" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE="common-mk shill .gn"
-
-PLATFORM_SUBDIR="shill/dbus/client"
-
-inherit cros-workon platform
-
-DESCRIPTION="Shill DBus client interface library"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/dbus/client"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND="
-	chromeos-base/shill-client:=
-	chromeos-base/shill-net
-"
-RDEPEND="${DEPEND}"
-
-src_install() {
-	# Install libshill-dbus-client library.
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	local v="$(libchrome_ver)"
-	./preinstall.sh "${OUT}" "${v}"
-	dolib.so "${OUT}/lib/libshill-dbus-client.so"
-	doins "${OUT}/lib/libshill-dbus-client.pc"
-
-	# Install header files from libshill-dbus-client.
-	insinto /usr/include/shill/dbus/client
-	doins ./*.h
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/libshill-dbus-client_test"
-}
diff --git a/chromeos-base/shill-dbus-client/shill-dbus-client-0.0.1-r976.ebuild b/chromeos-base/shill-dbus-client/shill-dbus-client-0.0.1-r976.ebuild
new file mode 100644
index 0000000..bc6cf9c
--- /dev/null
+++ b/chromeos-base/shill-dbus-client/shill-dbus-client-0.0.1-r976.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="eddffb488e6b0e8ba6309122b37b341057179416"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "9a3daa495c363b563765cfb1fcc30ac93eef90c6" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE="common-mk shill .gn"
+
+PLATFORM_SUBDIR="shill/dbus/client"
+
+inherit cros-workon platform
+
+DESCRIPTION="Shill DBus client interface library"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/dbus/client"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="
+	chromeos-base/shill-client:=
+	chromeos-base/shill-net
+"
+RDEPEND="${DEPEND}"
+
+src_install() {
+	# Install libshill-dbus-client library.
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	local v="$(libchrome_ver)"
+	./preinstall.sh "${OUT}" "${v}"
+	dolib.so "${OUT}/lib/libshill-dbus-client.so"
+	doins "${OUT}/lib/libshill-dbus-client.pc"
+
+	# Install header files from libshill-dbus-client.
+	insinto /usr/include/shill/dbus/client
+	doins ./*.h
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/libshill-dbus-client_test"
+}
diff --git a/chromeos-base/shill-net/OWNERS b/chromeos-base/shill-net/OWNERS
new file mode 100644
index 0000000..caa380a
--- /dev/null
+++ b/chromeos-base/shill-net/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/shill/net/OWNERS
diff --git a/chromeos-base/shill-net/files/revision_bump b/chromeos-base/shill-net/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/shill-net/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/shill-net/shill-net-0.0.1-r1052.ebuild b/chromeos-base/shill-net/shill-net-0.0.1-r1052.ebuild
new file mode 100644
index 0000000..70e8741
--- /dev/null
+++ b/chromeos-base/shill-net/shill-net-0.0.1-r1052.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="eddffb488e6b0e8ba6309122b37b341057179416"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "9a3daa495c363b563765cfb1fcc30ac93eef90c6" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE="common-mk shill .gn"
+
+PLATFORM_SUBDIR="shill/net"
+
+inherit cros-workon platform
+
+DESCRIPTION="Shill networking component interface library"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/net"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="fuzzer +wifi"
+
+DEPEND="
+	dev-libs/re2:=
+"
+RDEPEND="
+	!<chromeos-base/shill-0.0.5
+"
+
+src_install() {
+	# Install libshill-net library.
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	local v="$(libchrome_ver)"
+	./preinstall.sh "${OUT}" "${v}"
+	dolib.so "${OUT}/lib/libshill-net.so"
+	doins "${OUT}/lib/libshill-net.pc"
+
+	# Install header files from libshill-net.
+	insinto /usr/include/shill/net
+	doins ./*.h
+
+	local platform_network_component_id="167325"
+	local platform_wifi_component_id="893827"
+
+	# These each have different listed component ids.
+	platform_fuzzer_install "${S}"/../OWNERS "${OUT}/arp_client_fuzzer" \
+		--comp "${platform_network_component_id}"
+	platform_fuzzer_install "${S}"/../OWNERS "${OUT}/ip_address_fuzzer" \
+		--comp "${platform_network_component_id}"
+	platform_fuzzer_install "${S}"/../OWNERS "${OUT}/netlink_attribute_list_fuzzer" \
+		--comp "${platform_network_component_id}"
+	platform_fuzzer_install "${S}"/../OWNERS "${OUT}/nl80211_message_fuzzer" \
+		--comp "${platform_wifi_component_id}"
+	platform_fuzzer_install "${S}"/../OWNERS "${OUT}/rtnl_handler_fuzzer" \
+		--comp "${platform_network_component_id}"
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/shill_net_test"
+}
diff --git a/chromeos-base/shill-net/shill-net-0.0.1-r775.ebuild b/chromeos-base/shill-net/shill-net-0.0.1-r775.ebuild
deleted file mode 100644
index 90b2e6b..0000000
--- a/chromeos-base/shill-net/shill-net-0.0.1-r775.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="0eaf865334121ae5efba543025a429b9f8a5130e"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "91229756774a69d68bb9cfc49171cf88062fdf15" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE="common-mk shill .gn"
-
-PLATFORM_SUBDIR="shill/net"
-
-inherit cros-workon platform
-
-DESCRIPTION="Shill networking component interface library"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/net"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE="fuzzer +wifi"
-
-DEPEND="
-	dev-libs/re2:=
-"
-RDEPEND="
-	!<chromeos-base/shill-0.0.5
-"
-
-src_install() {
-	# Install libshill-net library.
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	local v="$(libchrome_ver)"
-	./preinstall.sh "${OUT}" "${v}"
-	dolib.so "${OUT}/lib/libshill-net.so"
-	doins "${OUT}/lib/libshill-net.pc"
-
-	# Install header files from libshill-net.
-	insinto /usr/include/shill/net
-	doins ./*.h
-
-	local platform_network_component_id="167325"
-	local platform_wifi_component_id="893827"
-
-	# These each have different listed component ids.
-	platform_fuzzer_install "${S}"/../OWNERS "${OUT}/arp_client_fuzzer" \
-		--comp "${platform_network_component_id}"
-	platform_fuzzer_install "${S}"/../OWNERS "${OUT}/ip_address_fuzzer" \
-		--comp "${platform_network_component_id}"
-	platform_fuzzer_install "${S}"/../OWNERS "${OUT}/netlink_attribute_list_fuzzer" \
-		--comp "${platform_network_component_id}"
-	platform_fuzzer_install "${S}"/../OWNERS "${OUT}/nl80211_message_fuzzer" \
-		--comp "${platform_wifi_component_id}"
-	platform_fuzzer_install "${S}"/../OWNERS "${OUT}/rtnl_handler_fuzzer" \
-		--comp "${platform_network_component_id}"
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/shill_net_test"
-}
diff --git a/chromeos-base/shill-test-scripts/OWNERS b/chromeos-base/shill-test-scripts/OWNERS
new file mode 100644
index 0000000..18ad1e5
--- /dev/null
+++ b/chromeos-base/shill-test-scripts/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/shill/OWNERS
diff --git a/chromeos-base/shill-test-scripts/shill-test-scripts-0.0.1-r3162.ebuild b/chromeos-base/shill-test-scripts/shill-test-scripts-0.0.1-r3162.ebuild
deleted file mode 100644
index 3c09e33..0000000
--- a/chromeos-base/shill-test-scripts/shill-test-scripts-0.0.1-r3162.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-CROS_WORKON_COMMIT="cfa411ca2eaaa5d1e9730af72df0c91972f0fef7"
-CROS_WORKON_TREE="ec9037e2aa74f4b5acf28ea062272f5c6a90b02e"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_SUBTREE="shill/test-scripts"
-
-PYTHON_COMPAT=( python3_{6..9} )
-
-inherit cros-workon python-single-r1
-
-DESCRIPTION="shill's test scripts"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/shill/"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="${PYTHON_DEPS}
-	$(python_gen_cond_dep 'dev-python/dbus-python[${PYTHON_USEDEP}]')
-	>=chromeos-base/shill-0.0.1-r2205
-	net-dns/dnsmasq
-	sys-apps/iproute2"
-
-src_compile() {
-	# We only install scripts here, so no need to compile.
-	:
-}
-
-src_install() {
-	exeinto /usr/lib/flimflam/test
-	doexe shill/test-scripts/*
-}
diff --git a/chromeos-base/shill-test-scripts/shill-test-scripts-0.0.1-r3165.ebuild b/chromeos-base/shill-test-scripts/shill-test-scripts-0.0.1-r3165.ebuild
new file mode 100644
index 0000000..597a214
--- /dev/null
+++ b/chromeos-base/shill-test-scripts/shill-test-scripts-0.0.1-r3165.ebuild
@@ -0,0 +1,40 @@
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CROS_WORKON_COMMIT="6cdfe429dca4e684e13002765174db59e2de1e4c"
+CROS_WORKON_TREE="97268c525992d3c32c7bf9e675aecf6d48ea31f3"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="shill/test-scripts"
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-workon python-single-r1
+
+DESCRIPTION="shill's test scripts"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="${PYTHON_DEPS}
+	$(python_gen_cond_dep 'dev-python/dbus-python[${PYTHON_USEDEP}]')
+	>=chromeos-base/shill-0.0.1-r2205
+	net-dns/dnsmasq
+	sys-apps/iproute2"
+
+src_compile() {
+	# We only install scripts here, so no need to compile.
+	:
+}
+
+src_install() {
+	exeinto /usr/lib/flimflam/test
+	doexe shill/test-scripts/*
+}
diff --git a/chromeos-base/shill-test-scripts/shill-test-scripts-9999.ebuild b/chromeos-base/shill-test-scripts/shill-test-scripts-9999.ebuild
index 5a6fb64..76118fd 100644
--- a/chromeos-base/shill-test-scripts/shill-test-scripts-9999.ebuild
+++ b/chromeos-base/shill-test-scripts/shill-test-scripts-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon python-single-r1
 
 DESCRIPTION="shill's test scripts"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/shill/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/"
 
 LICENSE="BSD-Google"
 SLOT="0"
diff --git a/chromeos-base/shill/files/revision_bump b/chromeos-base/shill/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/shill/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/shill/shill-0.0.5-r3103.ebuild b/chromeos-base/shill/shill-0.0.5-r3103.ebuild
deleted file mode 100644
index aa29130..0000000
--- a/chromeos-base/shill/shill-0.0.5-r3103.ebuild
+++ /dev/null
@@ -1,247 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="0eaf865334121ae5efba543025a429b9f8a5130e"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "b8893a9e8fdf8b402519c4496addb087f21fbe50" "56dc9b3a788bc68f829c1e7a1d3b6cf067c7aaf9" "4a0dedab080195bdc122d2289118df4af3ddca2c" "91229756774a69d68bb9cfc49171cf88062fdf15" "b77be93bd5b9a461cc8508aa57571afd308e97ce" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk chaps libpasswordprovider metrics shill vpn-manager .gn"
-
-PLATFORM_SUBDIR="shill"
-
-inherit cros-workon platform systemd tmpfiles udev user
-
-DESCRIPTION="Shill Connection Manager for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/shill/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="cellular fuzzer pppoe sae_h2e systemd +tpm +vpn +wake_on_wifi +wifi +wired_8021x +wpa3_sae +wireguard"
-
-# Sorted by the package we depend on. (Not by use flag!)
-COMMON_DEPEND="
-	chromeos-base/bootstat:=
-	chromeos-base/chaps:=
-	chromeos-base/minijail:=
-	chromeos-base/libpasswordprovider:=
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/nsswitch:=
-	chromeos-base/patchpanel-client:=
-	chromeos-base/shill-net:=
-	dev-libs/re2:=
-	cellular? ( net-dialup/ppp:= )
-	pppoe? ( net-dialup/ppp:= )
-	vpn? ( net-dialup/ppp:= )
-	net-dns/c-ares:=
-	net-libs/libtirpc:=
-	net-firewall/conntrack-tools:=
-	net-firewall/iptables:=
-	wifi? ( virtual/wpa_supplicant )
-	wired_8021x? ( virtual/wpa_supplicant )
-	sys-apps/rootdev:=
-	cellular? ( net-misc/modemmanager-next:= )
-"
-
-RDEPEND="${COMMON_DEPEND}
-	net-misc/dhcpcd
-	vpn? ( net-vpn/openvpn )
-	wireguard? ( net-vpn/wireguard-tools )
-"
-DEPEND="${COMMON_DEPEND}
-	chromeos-base/shill-client:=
-	chromeos-base/power_manager-client:=
-	chromeos-base/system_api:=[fuzzer?]
-	vpn? ( chromeos-base/vpn-manager:= )
-"
-PDEPEND="chromeos-base/patchpanel"
-
-REQUIRED_USE="
-	fuzzer? ( wifi )
-"
-
-pkg_setup() {
-	enewgroup "shill"
-	enewuser "shill"
-	cros-workon_pkg_setup
-}
-
-pkg_preinst() {
-	enewgroup "shill-crypto"
-	enewuser "shill-crypto"
-	enewgroup "shill-scripts"
-	enewuser "shill-scripts"
-	enewgroup "nfqueue"
-	enewuser "nfqueue"
-	enewgroup "vpn"
-	enewuser "vpn"
-}
-
-get_dependent_services() {
-	local dependent_services=()
-	if use wifi || use wired_8021x; then
-		dependent_services+=(wpasupplicant)
-	fi
-	if use systemd; then
-		echo "network-services.service ${dependent_services[*]/%/.service }"
-	else
-		echo "started network-services " \
-			"${dependent_services[*]/#/and started }"
-	fi
-}
-
-src_configure() {
-	cros_optimize_package_for_speed
-	platform_src_configure
-}
-
-src_install() {
-	platform_src_install
-
-	dobin bin/ff_debug
-
-	if use cellular; then
-		dobin bin/set_apn
-		dobin bin/set_cellular_ppp
-	fi
-
-	dosbin bin/set_wifi_regulatory
-	dobin bin/set_arpgw
-	dobin bin/set_wake_on_lan
-	dobin bin/shill_login_user
-	dobin bin/shill_logout_user
-	if use wifi || use wired_8021x; then
-		dobin bin/wpa_debug
-	fi
-	dobin "${OUT}"/shill
-
-	local shims_dir=/usr/$(get_libdir)/shill/shims
-	exeinto "${shims_dir}"
-
-	use vpn && doexe "${OUT}"/openvpn-script
-	if use cellular || use pppoe || use vpn; then
-		newexe "${OUT}"/lib/libshill-pppd-plugin.so shill-pppd-plugin.so
-	fi
-
-	use cellular && doexe "${OUT}"/set-apn-helper
-
-	if use wifi || use wired_8021x; then
-		sed \
-			"s,@libdir@,/usr/$(get_libdir)", \
-			shims/wpa_supplicant.conf.in \
-			> "${D}/${shims_dir}/wpa_supplicant.conf"
-	fi
-
-	if use sae_h2e; then
-		# If supplicant's version is recent enough (July 2021 rebase
-		# or newer), change the default value of sae_pwe to support both
-		# hunting-and-pecking and hash-to-element, which is required
-		# for newer standards.
-		echo "sae_pwe=2" >> "${D}/${shims_dir}/wpa_supplicant.conf"
-	fi
-
-	dosym /run/shill/resolv.conf /etc/resolv.conf
-	insinto /etc/dbus-1/system.d
-	doins shims/org.chromium.flimflam.conf
-
-	if use cellular; then
-		insinto /usr/share/shill
-		doins "${OUT}"/serviceproviders.pbf
-		insinto /usr/share/protofiles
-		doins "${S}/mobile_operator_db/mobile_operator_db.proto"
-	fi
-
-	# Install introspection XML
-	insinto /usr/share/dbus-1/interfaces
-	doins dbus_bindings/org.chromium.flimflam.*.dbus-xml
-	doins dbus_bindings/dbus-service-config.json
-
-	# Replace template parameters inside init scripts
-	local shill_name="shill.$(usex systemd service conf)"
-	sed \
-		"s,@expected_started_services@,$(get_dependent_services)," \
-		"init/${shill_name}.in" \
-		> "${T}/${shill_name}"
-
-	# Install init scripts
-	if use systemd; then
-		systemd_dounit init/shill-start-user-session.service
-		systemd_dounit init/shill-stop-user-session.service
-
-		local dependent_services=$(get_dependent_services)
-		systemd_dounit "${T}/shill.service"
-		for dependent_service in ${dependent_services}; do
-			systemd_enable_service "${dependent_service}" shill.service
-		done
-		systemd_enable_service shill.service network.target
-
-		systemd_dounit init/network-services.service
-		systemd_enable_service boot-services.target network-services.service
-	else
-		insinto /etc/init
-
-		doins "${T}"/*.conf
-		doins \
-			init/network-services.conf \
-			init/shill-event.conf \
-			init/shill-start-user-session.conf \
-			init/shill-stop-user-session.conf \
-			init/shill_respawn.conf
-	fi
-	exeinto /usr/share/cros/init
-	doexe init/*.sh
-	dotmpfiles tmpfiles.d/*.conf
-
-	insinto /usr/share/cros/startup/process_management_policies
-	doins setuid_restrictions/shill_uid_allowlist.txt
-
-	udev_dorules udev/*.rules
-
-	# Shill keeps profiles inside the user's cryptohome.
-	local daemon_store="/etc/daemon-store/shill"
-	dodir "${daemon_store}"
-	fperms 0700 "${daemon_store}"
-	fowners shill:shill "${daemon_store}"
-
-	local cellular_fuzzer_component_id="167157"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}/cellular_pco_fuzzer" \
-		--comp "${cellular_fuzzer_component_id}"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}/verizon_subscription_state_fuzzer" \
-		--comp "${cellular_fuzzer_component_id}"
-
-	local wifi_fuzzer_component_id="893827"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}/wifi_ies_fuzzer" \
-		--comp "${wifi_fuzzer_component_id}"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}/wifi_service_fuzzer" \
-		--comp "${wifi_fuzzer_component_id}"
-
-	local chromeos_platform_connectivity_network_component_id="167325"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}/dhcpv4_static_routes_fuzzer" \
-		--comp "${chromeos_platform_connectivity_network_component_id}"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}/shill_profile_fuzzer" \
-		--comp "${chromeos_platform_connectivity_network_component_id}"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}/shill_http_url_fuzzer" \
-		--comp "${chromeos_platform_connectivity_network_component_id}"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}/shill_service_fuzzer" \
-		--comp "${chromeos_platform_connectivity_network_component_id}"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}/shill_technology_fuzzer" \
-		--comp "${chromeos_platform_connectivity_network_component_id}"
-
-	if use vpn; then
-		local vpn_fuzzer_component_id="156085"
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}/openvpn_management_server_fuzzer" \
-			--comp "${vpn_fuzzer_component_id}"
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}/vpn_ipsec_connection_fuzzer" \
-			--comp "${vpn_fuzzer_component_id}"
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}/vpn_l2tp_ipsec_driver_fuzzer" \
-			--comp "${vpn_fuzzer_component_id}"
-	fi
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/shill_unittest"
-}
diff --git a/chromeos-base/shill/shill-0.0.5-r3426.ebuild b/chromeos-base/shill/shill-0.0.5-r3426.ebuild
new file mode 100644
index 0000000..8b78b03
--- /dev/null
+++ b/chromeos-base/shill/shill-0.0.5-r3426.ebuild
@@ -0,0 +1,246 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="eddffb488e6b0e8ba6309122b37b341057179416"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "2e72f56ad37eadb01ad2b42e9938beb23cb3a389" "fb8e41991af9e4c6c88768b137a9b48e4e5e47da" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "9a3daa495c363b563765cfb1fcc30ac93eef90c6" "462cb7ad367bdc196dd234e5bae863472f6d704b" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk chaps libpasswordprovider metrics shill vpn-manager .gn"
+
+PLATFORM_SUBDIR="shill"
+
+inherit cros-workon platform systemd tmpfiles udev user
+
+DESCRIPTION="Shill Connection Manager for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="cellular fuzzer sae_h2e systemd +tpm +vpn +wake_on_wifi +wifi +wired_8021x +wpa3_sae +wireguard"
+
+# Sorted by the package we depend on. (Not by use flag!)
+COMMON_DEPEND="
+	chromeos-base/bootstat:=
+	chromeos-base/chaps:=
+	chromeos-base/minijail:=
+	chromeos-base/libpasswordprovider:=
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/nsswitch:=
+	chromeos-base/patchpanel-client:=
+	chromeos-base/shill-net:=
+	dev-libs/re2:=
+	cellular? ( net-dialup/ppp:= )
+	vpn? ( net-dialup/ppp:= )
+	net-dns/c-ares:=
+	net-libs/libtirpc:=
+	net-firewall/conntrack-tools:=
+	net-firewall/iptables:=
+	wifi? ( virtual/wpa_supplicant )
+	wired_8021x? ( virtual/wpa_supplicant )
+	sys-apps/rootdev:=
+	cellular? ( net-misc/modemmanager-next:= )
+"
+
+RDEPEND="${COMMON_DEPEND}
+	net-misc/dhcpcd
+	vpn? ( net-vpn/openvpn )
+	wireguard? ( net-vpn/wireguard-tools )
+"
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/shill-client:=
+	chromeos-base/power_manager-client:=
+	chromeos-base/system_api:=[fuzzer?]
+	vpn? ( chromeos-base/vpn-manager:= )
+"
+PDEPEND="chromeos-base/patchpanel"
+
+REQUIRED_USE="
+	fuzzer? ( wifi )
+"
+
+pkg_setup() {
+	enewgroup "shill"
+	enewuser "shill"
+	cros-workon_pkg_setup
+}
+
+pkg_preinst() {
+	enewgroup "shill-crypto"
+	enewuser "shill-crypto"
+	enewgroup "shill-scripts"
+	enewuser "shill-scripts"
+	enewgroup "nfqueue"
+	enewuser "nfqueue"
+	enewgroup "vpn"
+	enewuser "vpn"
+}
+
+get_dependent_services() {
+	local dependent_services=()
+	if use wifi || use wired_8021x; then
+		dependent_services+=(wpasupplicant)
+	fi
+	if use systemd; then
+		echo "network-services.service ${dependent_services[*]/%/.service }"
+	else
+		echo "started network-services " \
+			"${dependent_services[*]/#/and started }"
+	fi
+}
+
+src_configure() {
+	cros_optimize_package_for_speed
+	platform_src_configure
+}
+
+src_install() {
+	platform_src_install
+
+	dobin bin/ff_debug
+
+	if use cellular; then
+		dobin bin/set_apn
+		dobin bin/set_cellular_ppp
+	fi
+
+	dosbin bin/set_wifi_regulatory
+	dobin bin/set_arpgw
+	dobin bin/set_wake_on_lan
+	dobin bin/shill_login_user
+	dobin bin/shill_logout_user
+	if use wifi || use wired_8021x; then
+		dobin bin/wpa_debug
+	fi
+	dobin "${OUT}"/shill
+
+	local shims_dir=/usr/$(get_libdir)/shill/shims
+	exeinto "${shims_dir}"
+
+	use vpn && doexe "${OUT}"/openvpn-script
+	if use cellular || use vpn; then
+		newexe "${OUT}"/lib/libshill-pppd-plugin.so shill-pppd-plugin.so
+	fi
+
+	use cellular && doexe "${OUT}"/set-apn-helper
+
+	if use wifi || use wired_8021x; then
+		sed \
+			"s,@libdir@,/usr/$(get_libdir)", \
+			shims/wpa_supplicant.conf.in \
+			> "${D}/${shims_dir}/wpa_supplicant.conf"
+	fi
+
+	if use sae_h2e; then
+		# If supplicant's version is recent enough (July 2021 rebase
+		# or newer), change the default value of sae_pwe to support both
+		# hunting-and-pecking and hash-to-element, which is required
+		# for newer standards.
+		echo "sae_pwe=2" >> "${D}/${shims_dir}/wpa_supplicant.conf"
+	fi
+
+	dosym /run/shill/resolv.conf /etc/resolv.conf
+	insinto /etc/dbus-1/system.d
+	doins shims/org.chromium.flimflam.conf
+
+	if use cellular; then
+		insinto /usr/share/shill
+		doins "${OUT}"/serviceproviders.pbf
+		insinto /usr/share/protofiles
+		doins "${S}/mobile_operator_db/mobile_operator_db.proto"
+	fi
+
+	# Install introspection XML
+	insinto /usr/share/dbus-1/interfaces
+	doins dbus_bindings/org.chromium.flimflam.*.dbus-xml
+	doins dbus_bindings/dbus-service-config.json
+
+	# Replace template parameters inside init scripts
+	local shill_name="shill.$(usex systemd service conf)"
+	sed \
+		"s,@expected_started_services@,$(get_dependent_services)," \
+		"init/${shill_name}.in" \
+		> "${T}/${shill_name}"
+
+	# Install init scripts
+	if use systemd; then
+		systemd_dounit init/shill-start-user-session.service
+		systemd_dounit init/shill-stop-user-session.service
+
+		local dependent_services=$(get_dependent_services)
+		systemd_dounit "${T}/shill.service"
+		for dependent_service in ${dependent_services}; do
+			systemd_enable_service "${dependent_service}" shill.service
+		done
+		systemd_enable_service shill.service network.target
+
+		systemd_dounit init/network-services.service
+		systemd_enable_service boot-services.target network-services.service
+	else
+		insinto /etc/init
+
+		doins "${T}"/*.conf
+		doins \
+			init/network-services.conf \
+			init/shill-event.conf \
+			init/shill-start-user-session.conf \
+			init/shill-stop-user-session.conf \
+			init/shill_respawn.conf
+	fi
+	exeinto /usr/share/cros/init
+	doexe init/*.sh
+	dotmpfiles tmpfiles.d/*.conf
+
+	insinto /usr/share/cros/startup/process_management_policies
+	doins setuid_restrictions/shill_uid_allowlist.txt
+
+	udev_dorules udev/*.rules
+
+	# Shill keeps profiles inside the user's cryptohome.
+	local daemon_store="/etc/daemon-store/shill"
+	dodir "${daemon_store}"
+	fperms 0700 "${daemon_store}"
+	fowners shill:shill "${daemon_store}"
+
+	local cellular_fuzzer_component_id="167157"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}/cellular_pco_fuzzer" \
+		--comp "${cellular_fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}/verizon_subscription_state_fuzzer" \
+		--comp "${cellular_fuzzer_component_id}"
+
+	local wifi_fuzzer_component_id="893827"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}/wifi_ies_fuzzer" \
+		--comp "${wifi_fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}/wifi_service_fuzzer" \
+		--comp "${wifi_fuzzer_component_id}"
+
+	local chromeos_platform_connectivity_network_component_id="167325"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}/dhcpv4_static_routes_fuzzer" \
+		--comp "${chromeos_platform_connectivity_network_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}/shill_profile_fuzzer" \
+		--comp "${chromeos_platform_connectivity_network_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}/shill_http_url_fuzzer" \
+		--comp "${chromeos_platform_connectivity_network_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}/shill_service_fuzzer" \
+		--comp "${chromeos_platform_connectivity_network_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}/shill_technology_fuzzer" \
+		--comp "${chromeos_platform_connectivity_network_component_id}"
+
+	if use vpn; then
+		local vpn_fuzzer_component_id="156085"
+		platform_fuzzer_install "${S}"/OWNERS "${OUT}/openvpn_management_server_fuzzer" \
+			--comp "${vpn_fuzzer_component_id}"
+		platform_fuzzer_install "${S}"/OWNERS "${OUT}/vpn_ipsec_connection_fuzzer" \
+			--comp "${vpn_fuzzer_component_id}"
+		platform_fuzzer_install "${S}"/OWNERS "${OUT}/vpn_l2tp_ipsec_driver_fuzzer" \
+			--comp "${vpn_fuzzer_component_id}"
+	fi
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/shill_unittest"
+}
diff --git a/chromeos-base/shill/shill-9999.ebuild b/chromeos-base/shill/shill-9999.ebuild
index bd6544a..f87fe8f 100644
--- a/chromeos-base/shill/shill-9999.ebuild
+++ b/chromeos-base/shill/shill-9999.ebuild
@@ -15,11 +15,11 @@
 inherit cros-workon platform systemd tmpfiles udev user
 
 DESCRIPTION="Shill Connection Manager for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/shill/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
-IUSE="cellular fuzzer pppoe sae_h2e systemd +tpm +vpn +wake_on_wifi +wifi +wired_8021x +wpa3_sae +wireguard"
+IUSE="cellular fuzzer sae_h2e systemd +tpm +vpn +wake_on_wifi +wifi +wired_8021x +wpa3_sae +wireguard"
 
 # Sorted by the package we depend on. (Not by use flag!)
 COMMON_DEPEND="
@@ -33,7 +33,6 @@
 	chromeos-base/shill-net:=
 	dev-libs/re2:=
 	cellular? ( net-dialup/ppp:= )
-	pppoe? ( net-dialup/ppp:= )
 	vpn? ( net-dialup/ppp:= )
 	net-dns/c-ares:=
 	net-libs/libtirpc:=
@@ -121,7 +120,7 @@
 	exeinto "${shims_dir}"
 
 	use vpn && doexe "${OUT}"/openvpn-script
-	if use cellular || use pppoe || use vpn; then
+	if use cellular || use vpn; then
 		newexe "${OUT}"/lib/libshill-pppd-plugin.so shill-pppd-plugin.so
 	fi
 
diff --git a/chromeos-base/sirenia-rpc-macros/sirenia-rpc-macros-0.1.0-r7.ebuild b/chromeos-base/sirenia-rpc-macros/sirenia-rpc-macros-0.1.0-r7.ebuild
deleted file mode 100644
index 879e813..0000000
--- a/chromeos-base/sirenia-rpc-macros/sirenia-rpc-macros-0.1.0-r7.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# This is used to break a circular dependency caused by tests.
-CROS_WORKON_COMMIT="1b85f1f00a6b60023b250c8ec83a11de9e72eaa8"
-CROS_WORKON_TREE="ef44b842f0a62ba1f23f27bd16848b9105cec045"
-CROS_RUST_REMOVE_DEV_DEPS=1
-CROS_RUST_SUBDIR="sirenia/libsirenia/sirenia-rpc-macros"
-
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Macros for generating the RPC implementation for Sirenia."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/libsirenia/sirenia-rpc-macros"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND="
-	=dev-rust/anyhow-1*:=
-	>=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:=
-	=dev-rust/proc-macro2-1*:=
-	=dev-rust/quote-1*:=
-	=dev-rust/syn-1*:=
-"
-# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
-# installing binpkgs since the full source tree is required to use the crate.
-RDEPEND="${DEPEND}"
-
-# cros-rust_src_compile isn't used because it builds the unit tests.
-src_compile() {
-	ecargo_build
-}
-
-# The tests are run in libsirenia since they depend on libsirenia which depends
-# on this ebuild.
-src_test() { :; }
diff --git a/chromeos-base/sirenia-rpc-macros/sirenia-rpc-macros-0.1.0-r9.ebuild b/chromeos-base/sirenia-rpc-macros/sirenia-rpc-macros-0.1.0-r9.ebuild
new file mode 100644
index 0000000..a84171d
--- /dev/null
+++ b/chromeos-base/sirenia-rpc-macros/sirenia-rpc-macros-0.1.0-r9.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# This is used to break a circular dependency caused by tests.
+CROS_WORKON_COMMIT="dfd81ad0b536a7a262dd724d71d2ba3435ed6509"
+CROS_WORKON_TREE="6cfc12a6cca1f0d1ddeabc20c89c96fc7bfdf49f"
+CROS_RUST_REMOVE_DEV_DEPS=1
+CROS_RUST_SUBDIR="sirenia/libsirenia/sirenia-rpc-macros"
+
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Macros for generating the RPC implementation for Sirenia."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/libsirenia/sirenia-rpc-macros"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="
+	=dev-rust/anyhow-1*:=
+	>=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:=
+	=dev-rust/proc-macro2-1*:=
+	=dev-rust/quote-1*:=
+	=dev-rust/syn-1*:=
+"
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}"
+
+# cros-rust_src_compile isn't used because it builds the unit tests.
+src_compile() {
+	ecargo_build
+}
+
+# The tests are run in libsirenia since they depend on libsirenia which depends
+# on this ebuild.
+src_test() { :; }
diff --git a/chromeos-base/sirenia-tools/sirenia-tools-0.0.1-r45.ebuild b/chromeos-base/sirenia-tools/sirenia-tools-0.0.1-r45.ebuild
deleted file mode 100644
index f2d0b5f..0000000
--- a/chromeos-base/sirenia-tools/sirenia-tools-0.0.1-r45.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="58de4db55435188137d70061b1381b61c6c3797f"
-CROS_WORKON_TREE="68c18dcb5d0981cfd8fb60b1fc6f360c59d61bbc"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE="sirenia"
-CROS_RUST_SUBDIR="${CROS_WORKON_SUBTREE}"
-
-inherit cros-workon cros-rust user
-
-DESCRIPTION="Build tools for the ManaTEE runtime environment."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-DEPEND="
-	chromeos-base/libsirenia:=
-	dev-libs/openssl:0=
-	=dev-rust/anyhow-1*:=
-	=dev-rust/base64-0.13*:=
-	dev-rust/chromeos-dbus-bindings:=
-	=dev-rust/dbus-0.8*:=
-	>=dev-rust/flexbuffers-0.1.1:= <dev-rust/flexbuffers-0.2.0
-	=dev-rust/getopts-0.2*:=
-	dev-rust/libchromeos:=
-	=dev-rust/log-0.4*:=
-	=dev-rust/openssl-0.10*:=
-	>=dev-rust/serde-1.0.114:= <dev-rust/serde-2
-	=dev-rust/serde_derive-1*:=
-	>=dev-rust/serde_json-1.0.64:= <dev-rust/serde_json-2.0.0
-	=dev-rust/stderrlog-0.5*:=
-	dev-rust/sys_util:=
-	>=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
-"
-RDEPEND="
-	sys-apps/dbus
-"
-
-src_compile() {
-	cros-rust_src_compile --no-default-features --features sdk
-}
-
-src_test() {
-	cros-rust_src_test --no-default-features --features sdk
-}
-
-src_install() {
-	local build_dir="$(cros-rust_get_build_dir)"
-	dobin "${build_dir}/tee_app_info_lint"
-}
diff --git a/chromeos-base/sirenia-tools/sirenia-tools-0.0.1-r82.ebuild b/chromeos-base/sirenia-tools/sirenia-tools-0.0.1-r82.ebuild
new file mode 100644
index 0000000..4777e2a
--- /dev/null
+++ b/chromeos-base/sirenia-tools/sirenia-tools-0.0.1-r82.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="48dafe0185e0519022cce18049bca60f30dd94f1"
+CROS_WORKON_TREE="9c2074e601aedb8358ee3b7c367c62042409c577"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_SUBTREE="sirenia"
+CROS_RUST_SUBDIR="${CROS_WORKON_SUBTREE}"
+
+inherit cros-workon cros-rust user
+
+DESCRIPTION="Build tools for the ManaTEE runtime environment."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="cros_host"
+
+DEPEND="
+	chromeos-base/crosvm-base:=
+	chromeos-base/libsirenia:=
+	dev-libs/openssl:0=
+	=dev-rust/anyhow-1*:=
+	=dev-rust/assert_matches-1*:=
+	dev-rust/balloon_control:=
+	dev-rust/chromeos-dbus-bindings:=
+	dev-rust/data_model:=
+	=dev-rust/dbus-0.9*:=
+	=dev-rust/dbus-crossroads-0.5*:=
+	=dev-rust/flexbuffers-2*:=
+	=dev-rust/getopts-0.2*:=
+	=dev-rust/libc-0.2*:=
+	dev-rust/libchromeos:=
+	=dev-rust/log-0.4*:=
+	=dev-rust/multi_log-0.1*:=
+	=dev-rust/serde-1*:=
+	=dev-rust/serde_derive-1*:=
+	=dev-rust/serde_json-1*:=
+	=dev-rust/stderrlog-0.5*:=
+	=dev-rust/thiserror-1*:=
+"
+# Add host deps in RDEPEND so that they are installed by default in SDK.
+RDEPEND="
+	sys-apps/dbus
+	cros_host? ( ${DEPEND} )
+"
+
+src_compile() {
+	cros-rust_src_compile --no-default-features --features sdk
+}
+
+src_test() {
+	cros-rust_src_test --no-default-features --features sdk
+}
+
+src_install() {
+	local build_dir="$(cros-rust_get_build_dir)"
+	dobin "${build_dir}/tee_app_info_lint"
+}
diff --git a/chromeos-base/sirenia-tools/sirenia-tools-9999.ebuild b/chromeos-base/sirenia-tools/sirenia-tools-9999.ebuild
index 09fe935..b69d149 100644
--- a/chromeos-base/sirenia-tools/sirenia-tools-9999.ebuild
+++ b/chromeos-base/sirenia-tools/sirenia-tools-9999.ebuild
@@ -17,28 +17,35 @@
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
+IUSE="cros_host"
 
 DEPEND="
+	chromeos-base/crosvm-base:=
 	chromeos-base/libsirenia:=
 	dev-libs/openssl:0=
 	=dev-rust/anyhow-1*:=
-	=dev-rust/base64-0.13*:=
+	=dev-rust/assert_matches-1*:=
+	dev-rust/balloon_control:=
 	dev-rust/chromeos-dbus-bindings:=
-	=dev-rust/dbus-0.8*:=
-	>=dev-rust/flexbuffers-0.1.1:= <dev-rust/flexbuffers-0.2.0
+	dev-rust/data_model:=
+	=dev-rust/dbus-0.9*:=
+	=dev-rust/dbus-crossroads-0.5*:=
+	=dev-rust/flexbuffers-2*:=
 	=dev-rust/getopts-0.2*:=
+	=dev-rust/libc-0.2*:=
 	dev-rust/libchromeos:=
 	=dev-rust/log-0.4*:=
-	=dev-rust/openssl-0.10*:=
-	>=dev-rust/serde-1.0.114:= <dev-rust/serde-2
+	=dev-rust/multi_log-0.1*:=
+	=dev-rust/serde-1*:=
 	=dev-rust/serde_derive-1*:=
-	>=dev-rust/serde_json-1.0.64:= <dev-rust/serde_json-2.0.0
+	=dev-rust/serde_json-1*:=
 	=dev-rust/stderrlog-0.5*:=
-	dev-rust/sys_util:=
-	>=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
+	=dev-rust/thiserror-1*:=
 "
+# Add host deps in RDEPEND so that they are installed by default in SDK.
 RDEPEND="
 	sys-apps/dbus
+	cros_host? ( ${DEPEND} )
 "
 
 src_compile() {
diff --git a/chromeos-base/sirenia/sirenia-0.24.52-r128.ebuild b/chromeos-base/sirenia/sirenia-0.24.52-r128.ebuild
deleted file mode 100644
index b8b40e0..0000000
--- a/chromeos-base/sirenia/sirenia-0.24.52-r128.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="58de4db55435188137d70061b1381b61c6c3797f"
-CROS_WORKON_TREE="68c18dcb5d0981cfd8fb60b1fc6f360c59d61bbc"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE="sirenia"
-
-inherit cros-workon cros-rust user
-
-DESCRIPTION="The runtime environment and middleware for ManaTEE."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="cros_host manatee"
-
-DEPEND="
-	chromeos-base/libsirenia:=
-	dev-libs/openssl:0=
-	=dev-rust/anyhow-1*:=
-	>=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:=
-	dev-rust/chromeos-dbus-bindings:=
-	=dev-rust/dbus-0.9*:=
-	=dev-rust/dbus-crossroads-0.5*:=
-	=dev-rust/flexbuffers-2*:=
-	=dev-rust/getopts-0.2*:=
-	>=dev-rust/libc-0.2.94 <dev-rust/libc-0.3.0_alpha:=
-	dev-rust/libchromeos:=
-	=dev-rust/log-0.4*:=
-	>=dev-rust/serde-1.0.114 <dev-rust/serde-2_alpha:=
-	=dev-rust/serde_derive-1*:=
-	>=dev-rust/serde_json-1.0.64 <dev-rust/serde_json-2.0.0_alpha:=
-	=dev-rust/stderrlog-0.5*:=
-	dev-rust/sys_util:=
-	>=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:=
-"
-# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
-# installing binpkgs since the full source tree is required to use the crate.
-RDEPEND="${DEPEND}
-	chromeos-base/cronista
-	chromeos-base/manatee-runtime
-	dev-rust/manatee-client
-	sys-apps/dbus
-"
-BDEPEND="chromeos-base/sirenia-tools"
-
-src_install() {
-	local build_dir="$(cros-rust_get_build_dir)"
-	dobin "${build_dir}/dugong"
-
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.ManaTEE.conf
-
-	# Needed for initramfs, but not for the root-fs.
-	if use cros_host ; then
-		# /build is not allowed when installing to the host.
-		exeinto "/bin"
-	else
-		exeinto "/build/initramfs"
-	fi
-
-	if use manatee ;  then
-		insinto /etc/init
-		doins upstart/dugong.conf
-		doexe "${build_dir}/trichechus"
-	else
-		dobin "${build_dir}/trichechus"
-	fi
-}
-
-pkg_setup() {
-	enewuser dugong
-	enewgroup dugong
-	cros-rust_pkg_setup
-}
diff --git a/chromeos-base/sirenia/sirenia-0.24.52-r164.ebuild b/chromeos-base/sirenia/sirenia-0.24.52-r164.ebuild
new file mode 100644
index 0000000..17f9166
--- /dev/null
+++ b/chromeos-base/sirenia/sirenia-0.24.52-r164.ebuild
@@ -0,0 +1,98 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="48dafe0185e0519022cce18049bca60f30dd94f1"
+CROS_WORKON_TREE="9c2074e601aedb8358ee3b7c367c62042409c577"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_SUBTREE="sirenia"
+
+inherit cros-workon cros-rust user
+
+DESCRIPTION="The runtime environment and middleware for ManaTEE."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="cros_host manatee sirenia"
+
+DEPEND="
+	chromeos-base/crosvm-base:=
+	chromeos-base/libsirenia:=
+	dev-libs/openssl:0=
+	=dev-rust/anyhow-1*:=
+	=dev-rust/assert_matches-1*:=
+	dev-rust/balloon_control:=
+	dev-rust/chromeos-dbus-bindings:=
+	dev-rust/data_model:=
+	=dev-rust/dbus-0.9*:=
+	=dev-rust/dbus-crossroads-0.5*:=
+	=dev-rust/flexbuffers-2*:=
+	=dev-rust/getopts-0.2*:=
+	=dev-rust/libc-0.2*:=
+	dev-rust/libchromeos:=
+	=dev-rust/log-0.4*:=
+	=dev-rust/serde-1*:=
+	=dev-rust/serde_bytes-0.10*:=
+	=dev-rust/serde_derive-1*:=
+	=dev-rust/serde_json-1*:=
+	=dev-rust/stderrlog-0.5*:=
+	=dev-rust/thiserror-1*:=
+"
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}
+	chromeos-base/cronista
+	chromeos-base/manatee-runtime
+	dev-rust/manatee-client
+	sys-apps/dbus
+"
+BDEPEND="chromeos-base/sirenia-tools"
+
+# Don't support USE=manatee on the host.
+REQUIRED_USE="cros_host? ( !manatee )"
+
+src_install() {
+	local build_dir="$(cros-rust_get_build_dir)"
+	dobin "${build_dir}/dugong"
+
+	insinto /etc/dbus-1/system.d
+	doins dbus/org.chromium.ManaTEE.conf
+
+	insinto /etc/rsyslog.d
+	doins rsyslog/rsyslog.manatee.conf
+
+	insinto /usr/lib/tmpfiles.d
+	doins tmpfiles.d/*.conf
+
+	# In USE=sirenia, install trichichus and manatee_memory_service in the
+	# root filesystem.
+	if use sirenia; then
+		dobin "${build_dir}/trichechus"
+		dobin "${build_dir}/manatee_crash_handler"
+		dobin "${build_dir}/manatee_memory_service"
+	fi
+
+	# In USE=manatee builds, install trichichus and manatee_memory_service
+	# into the hypervisor's initramfs.
+	if use manatee ;  then
+		# Start dugong with the system.
+		insinto /etc/init
+		doins upstart/dugong.conf
+
+		# Install binaries in the initramfs.
+		exeinto "/build/initramfs"
+		doexe "${build_dir}/trichechus"
+		doexe "${build_dir}/manatee_crash_handler"
+		doexe "${build_dir}/manatee_memory_service"
+	fi
+}
+
+pkg_setup() {
+	enewuser dugong
+	enewgroup dugong
+	cros-rust_pkg_setup
+}
diff --git a/chromeos-base/sirenia/sirenia-9999.ebuild b/chromeos-base/sirenia/sirenia-9999.ebuild
index 47c3082..b9a4ddd 100644
--- a/chromeos-base/sirenia/sirenia-9999.ebuild
+++ b/chromeos-base/sirenia/sirenia-9999.ebuild
@@ -15,27 +15,30 @@
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
-IUSE="cros_host manatee"
+IUSE="cros_host manatee sirenia"
 
 DEPEND="
+	chromeos-base/crosvm-base:=
 	chromeos-base/libsirenia:=
 	dev-libs/openssl:0=
 	=dev-rust/anyhow-1*:=
-	>=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:=
+	=dev-rust/assert_matches-1*:=
+	dev-rust/balloon_control:=
 	dev-rust/chromeos-dbus-bindings:=
+	dev-rust/data_model:=
 	=dev-rust/dbus-0.9*:=
 	=dev-rust/dbus-crossroads-0.5*:=
 	=dev-rust/flexbuffers-2*:=
 	=dev-rust/getopts-0.2*:=
-	>=dev-rust/libc-0.2.94 <dev-rust/libc-0.3.0_alpha:=
+	=dev-rust/libc-0.2*:=
 	dev-rust/libchromeos:=
 	=dev-rust/log-0.4*:=
-	>=dev-rust/serde-1.0.114 <dev-rust/serde-2_alpha:=
+	=dev-rust/serde-1*:=
+	=dev-rust/serde_bytes-0.10*:=
 	=dev-rust/serde_derive-1*:=
-	>=dev-rust/serde_json-1.0.64 <dev-rust/serde_json-2.0.0_alpha:=
+	=dev-rust/serde_json-1*:=
 	=dev-rust/stderrlog-0.5*:=
-	dev-rust/sys_util:=
-	>=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:=
+	=dev-rust/thiserror-1*:=
 "
 # (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
 # installing binpkgs since the full source tree is required to use the crate.
@@ -47,6 +50,9 @@
 "
 BDEPEND="chromeos-base/sirenia-tools"
 
+# Don't support USE=manatee on the host.
+REQUIRED_USE="cros_host? ( !manatee )"
+
 src_install() {
 	local build_dir="$(cros-rust_get_build_dir)"
 	dobin "${build_dir}/dugong"
@@ -54,20 +60,32 @@
 	insinto /etc/dbus-1/system.d
 	doins dbus/org.chromium.ManaTEE.conf
 
-	# Needed for initramfs, but not for the root-fs.
-	if use cros_host ; then
-		# /build is not allowed when installing to the host.
-		exeinto "/bin"
-	else
-		exeinto "/build/initramfs"
+	insinto /etc/rsyslog.d
+	doins rsyslog/rsyslog.manatee.conf
+
+	insinto /usr/lib/tmpfiles.d
+	doins tmpfiles.d/*.conf
+
+	# In USE=sirenia, install trichichus and manatee_memory_service in the
+	# root filesystem.
+	if use sirenia; then
+		dobin "${build_dir}/trichechus"
+		dobin "${build_dir}/manatee_crash_handler"
+		dobin "${build_dir}/manatee_memory_service"
 	fi
 
+	# In USE=manatee builds, install trichichus and manatee_memory_service
+	# into the hypervisor's initramfs.
 	if use manatee ;  then
+		# Start dugong with the system.
 		insinto /etc/init
 		doins upstart/dugong.conf
+
+		# Install binaries in the initramfs.
+		exeinto "/build/initramfs"
 		doexe "${build_dir}/trichechus"
-	else
-		dobin "${build_dir}/trichechus"
+		doexe "${build_dir}/manatee_crash_handler"
+		doexe "${build_dir}/manatee_memory_service"
 	fi
 }
 
diff --git a/chromeos-base/smbfs/files/revision_bump b/chromeos-base/smbfs/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/smbfs/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/smbfs/smbfs-0.0.1-r279.ebuild b/chromeos-base/smbfs/smbfs-0.0.1-r279.ebuild
deleted file mode 100644
index f4ca6f1..0000000
--- a/chromeos-base/smbfs/smbfs-0.0.1-r279.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "56dc9b3a788bc68f829c1e7a1d3b6cf067c7aaf9" "e081a9a32efeea3d0632a35e698e01d73a40e10d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk libpasswordprovider smbfs .gn"
-
-PLATFORM_SUBDIR="smbfs"
-
-inherit cros-workon platform user
-
-DESCRIPTION="FUSE filesystem to mount SMB shares."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/smbfs/"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-
-COMMON_DEPEND="
-	=sys-fs/fuse-2.9*:=
-	net-fs/samba:=
-"
-
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/system_api:=
-	chromeos-base/libpasswordprovider:=
-"
-
-pkg_setup() {
-	# Has to be done in pkg_setup() instead of pkg_preinst() since
-	# src_install() needs <daemon_user> and <daemon_group>.
-	enewuser "fuse-smbfs"
-	enewgroup "fuse-smbfs"
-	cros-workon_pkg_setup
-}
-
-src_install() {
-	dosbin "${OUT}"/smbfs
-
-	insinto /usr/share/policy
-	newins seccomp_filters/smbfs-seccomp-"${ARCH}".policy smbfs-seccomp.policy
-
-	local daemon_store="/etc/daemon-store/smbfs"
-	dodir "${daemon_store}"
-	fperms 0700 "${daemon_store}"
-	fowners fuse-smbfs:fuse-smbfs "${daemon_store}"
-}
-
-platform_pkg_test() {
-	local tests=(
-		smbfs_test
-	)
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-}
diff --git a/chromeos-base/smbfs/smbfs-0.0.1-r346.ebuild b/chromeos-base/smbfs/smbfs-0.0.1-r346.ebuild
new file mode 100644
index 0000000..9580eaa
--- /dev/null
+++ b/chromeos-base/smbfs/smbfs-0.0.1-r346.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "fb8e41991af9e4c6c88768b137a9b48e4e5e47da" "081f3cb6a8b89d84bcb58dd2f4af48252bc9af8b" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk libpasswordprovider smbfs .gn"
+
+PLATFORM_SUBDIR="smbfs"
+
+inherit cros-workon platform user
+
+DESCRIPTION="FUSE filesystem to mount SMB shares."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/smbfs/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+
+COMMON_DEPEND="
+	=sys-fs/fuse-2.9*:=
+	net-fs/samba:=
+"
+
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/system_api:=
+	chromeos-base/libpasswordprovider:=
+"
+
+pkg_setup() {
+	# Has to be done in pkg_setup() instead of pkg_preinst() since
+	# src_install() needs <daemon_user> and <daemon_group>.
+	enewuser "fuse-smbfs"
+	enewgroup "fuse-smbfs"
+	cros-workon_pkg_setup
+}
+
+src_install() {
+	dosbin "${OUT}"/smbfs
+
+	insinto /usr/share/policy
+	newins seccomp_filters/smbfs-seccomp-"${ARCH}".policy smbfs-seccomp.policy
+
+	local daemon_store="/etc/daemon-store/smbfs"
+	dodir "${daemon_store}"
+	fperms 0700 "${daemon_store}"
+	fowners fuse-smbfs:fuse-smbfs "${daemon_store}"
+}
+
+platform_pkg_test() {
+	local tests=(
+		smbfs_test
+	)
+
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+}
diff --git a/chromeos-base/smbfs/smbfs-9999.ebuild b/chromeos-base/smbfs/smbfs-9999.ebuild
index 087c334..4bb6716 100644
--- a/chromeos-base/smbfs/smbfs-9999.ebuild
+++ b/chromeos-base/smbfs/smbfs-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-workon platform user
 
 DESCRIPTION="FUSE filesystem to mount SMB shares."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/smbfs/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/smbfs/"
 
 LICENSE="BSD-Google"
 SLOT="0/0"
diff --git a/chromeos-base/smbprovider/files/revision_bump b/chromeos-base/smbprovider/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/smbprovider/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/smbprovider/smbprovider-0.0.1-r785.ebuild b/chromeos-base/smbprovider/smbprovider-0.0.1-r785.ebuild
deleted file mode 100644
index 32630df..0000000
--- a/chromeos-base/smbprovider/smbprovider-0.0.1-r785.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "56dc9b3a788bc68f829c1e7a1d3b6cf067c7aaf9" "e9b14182f9c7386624de46f7621bce9672f3ab0d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(allenvic): Remove libpasswordprovider from here once crbug.com/833675 is resolved.
-CROS_WORKON_SUBTREE="common-mk libpasswordprovider smbprovider .gn"
-
-PLATFORM_SUBDIR="smbprovider"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Provides access to Samba file share"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/smbprovider/"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="fuzzer"
-
-COMMON_DEPEND="
-	dev-libs/protobuf:=
-	>=net-fs/samba-4.5.3-r6
-	sys-apps/dbus:=
-"
-
-RDEPEND="${COMMON_DEPEND}"
-
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/protofiles:=
-	chromeos-base/system_api:=[fuzzer?]
-	chromeos-base/libpasswordprovider:=
-"
-
-pkg_setup() {
-	# Has to be done in pkg_setup() instead of pkg_preinst() since
-	# src_install() needs smbproviderd:smbproviderd.
-	enewuser "smbproviderd"
-	enewgroup "smbproviderd"
-	cros-workon_pkg_setup
-}
-
-src_install() {
-	platform_install
-
-	# fuzzer_component_id is unknown/unlisted
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/netbios_packet_fuzzer
-
-	local daemon_store="/etc/daemon-store/smbproviderd"
-	dodir "${daemon_store}"
-	fperms 0700 "${daemon_store}"
-	fowners smbproviderd:smbproviderd "${daemon_store}"
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/smbprovider/smbprovider-0.0.1-r850.ebuild b/chromeos-base/smbprovider/smbprovider-0.0.1-r850.ebuild
new file mode 100644
index 0000000..94ead19
--- /dev/null
+++ b/chromeos-base/smbprovider/smbprovider-0.0.1-r850.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "fb8e41991af9e4c6c88768b137a9b48e4e5e47da" "2e66ddb9236626115d901c320e96774023921bb0" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(allenvic): Remove libpasswordprovider from here once crbug.com/833675 is resolved.
+CROS_WORKON_SUBTREE="common-mk libpasswordprovider smbprovider .gn"
+
+PLATFORM_SUBDIR="smbprovider"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Provides access to Samba file share"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/smbprovider/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="fuzzer"
+
+COMMON_DEPEND="
+	dev-libs/protobuf:=
+	>=net-fs/samba-4.5.3-r6
+	sys-apps/dbus:=
+"
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/protofiles:=
+	chromeos-base/system_api:=[fuzzer?]
+	chromeos-base/libpasswordprovider:=
+"
+
+pkg_setup() {
+	# Has to be done in pkg_setup() instead of pkg_preinst() since
+	# src_install() needs smbproviderd:smbproviderd.
+	enewuser "smbproviderd"
+	enewgroup "smbproviderd"
+	cros-workon_pkg_setup
+}
+
+src_install() {
+	platform_install
+
+	# fuzzer_component_id is unknown/unlisted
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/netbios_packet_fuzzer
+
+	local daemon_store="/etc/daemon-store/smbproviderd"
+	dodir "${daemon_store}"
+	fperms 0700 "${daemon_store}"
+	fowners smbproviderd:smbproviderd "${daemon_store}"
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/smbprovider/smbprovider-9999.ebuild b/chromeos-base/smbprovider/smbprovider-9999.ebuild
index 9c3c71f..058ec14 100644
--- a/chromeos-base/smbprovider/smbprovider-9999.ebuild
+++ b/chromeos-base/smbprovider/smbprovider-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-workon platform user
 
 DESCRIPTION="Provides access to Samba file share"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/smbprovider/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/smbprovider/"
 
 LICENSE="BSD-Google"
 SLOT="0/0"
diff --git a/chromeos-base/smogcheck/OWNERS b/chromeos-base/smogcheck/OWNERS
new file mode 100644
index 0000000..aa8a92a
--- /dev/null
+++ b/chromeos-base/smogcheck/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/smogcheck/OWNERS
diff --git a/chromeos-base/smogcheck/smogcheck-0.0.1-r3123.ebuild b/chromeos-base/smogcheck/smogcheck-0.0.1-r3123.ebuild
deleted file mode 100644
index b912386..0000000
--- a/chromeos-base/smogcheck/smogcheck-0.0.1-r3123.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "25b90cd13b01122d778a1d55d814c5b001b88d22" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE="common-mk smogcheck .gn"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-
-inherit cros-common.mk cros-sanitizers cros-workon cros-debug
-
-DESCRIPTION="TPM SmogCheck library"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/smogcheck/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="-asan"
-
-src_unpack() {
-	cros-workon_src_unpack
-	S+="/smogcheck"
-}
-
-src_configure() {
-	sanitizers-setup-env
-	cros-common.mk_src_configure
-}
-
-src_install() {
-	emake DESTDIR="${D}" LIBDIR="$(get_libdir)" install
-}
diff --git a/chromeos-base/smogcheck/smogcheck-0.0.1-r3180.ebuild b/chromeos-base/smogcheck/smogcheck-0.0.1-r3180.ebuild
new file mode 100644
index 0000000..12abb8a
--- /dev/null
+++ b/chromeos-base/smogcheck/smogcheck-0.0.1-r3180.ebuild
@@ -0,0 +1,35 @@
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "25b90cd13b01122d778a1d55d814c5b001b88d22" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_SUBTREE="common-mk smogcheck .gn"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+
+inherit cros-common.mk cros-sanitizers cros-workon cros-debug
+
+DESCRIPTION="TPM SmogCheck library"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/smogcheck/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="-asan"
+
+src_unpack() {
+	cros-workon_src_unpack
+	S+="/smogcheck"
+}
+
+src_configure() {
+	sanitizers-setup-env
+	cros-common.mk_src_configure
+}
+
+src_install() {
+	emake DESTDIR="${D}" LIBDIR="$(get_libdir)" install
+}
diff --git a/chromeos-base/smogcheck/smogcheck-9999.ebuild b/chromeos-base/smogcheck/smogcheck-9999.ebuild
index 6e36ca9..dec47b6 100644
--- a/chromeos-base/smogcheck/smogcheck-9999.ebuild
+++ b/chromeos-base/smogcheck/smogcheck-9999.ebuild
@@ -12,7 +12,7 @@
 inherit cros-common.mk cros-sanitizers cros-workon cros-debug
 
 DESCRIPTION="TPM SmogCheck library"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/smogcheck/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/smogcheck/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/sommelier/OWNERS b/chromeos-base/sommelier/OWNERS
new file mode 100644
index 0000000..9b6c853
--- /dev/null
+++ b/chromeos-base/sommelier/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/vm_tools/sommelier/OWNERS
diff --git a/chromeos-base/sommelier/files/revision_bump b/chromeos-base/sommelier/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/sommelier/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/sommelier/sommelier-0.0.1-r233.ebuild b/chromeos-base/sommelier/sommelier-0.0.1-r233.ebuild
deleted file mode 100644
index 7ace937..0000000
--- a/chromeos-base/sommelier/sommelier-0.0.1-r233.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "332ccf98f5ef8cbc4fcaf7ad9d3aaa3130a62d38" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_SUBTREE="common-mk vm_tools/sommelier .gn"
-
-PLATFORM_SUBDIR="vm_tools/sommelier"
-
-inherit cros-workon platform
-
-DESCRIPTION="A Wayland compositor for use in CrOS VMs"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools/sommelier"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="kvm_guest"
-
-# This ebuild should only be used on VM guest boards.
-REQUIRED_USE="kvm_guest"
-
-COMMON_DEPEND="
-	dev-libs/libevdev:=
-	x11-libs/libxkbcommon:=
-	x11-libs/libxcb:=
-	x11-libs/pixman:=
-	x11-libs/libdrm:=
-	dev-libs/wayland:=
-	|| (
-		media-libs/mesa:=[gbm]
-		media-libs/minigbm:=
-	)
-	!fuzzer? (
-		x11-base/xwayland:=
-	)
-"
-
-RDEPEND="
-	!<chromeos-base/vm_guest_tools-0.0.2-r722
-	${COMMON_DEPEND}
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/perfetto
-	dev-util/meson
-	dev-util/ninja
-"
-
-src_install() {
-	dobin "${OUT}"/sommelier
-
-	# TODO(sidereal) This fuzzer isn't useful without a re-design
-	# of sommelier's error handling and memory management. Disable
-	# it for now.
-	# platform_fuzzer_install "${S}"/OWNERS "${OUT}"/sommelier_wayland_fuzzer
-}
-
-platform_pkg_test() {
-	local tests=(
-		sommelier_test
-	)
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-
-	# Ensure the meson build script continues to work.
-	if ! use x86 && ! use amd64 ; then
-		elog "Skipping meson tests on non-x86 platform"
-	else
-		meson tmp_build_dir -Dgamepad=true -Dtracing=true -Dcommit_loop_fix=true \
-				-Dblack_screen_fix=true \
-				|| die "Failed to configure meson build"
-		ninja -C tmp_build_dir || die "Failed to build sommelier with meson"
-		[ -f tmp_build_dir/sommelier ] || die "Target 'sommelier' was not built by meson"
-		platform_test "run" tmp_build_dir/sommelier_test || die "Tests failed"
-	fi
-}
diff --git a/chromeos-base/sommelier/sommelier-0.0.1-r316.ebuild b/chromeos-base/sommelier/sommelier-0.0.1-r316.ebuild
new file mode 100644
index 0000000..1d1b260
--- /dev/null
+++ b/chromeos-base/sommelier/sommelier-0.0.1-r316.ebuild
@@ -0,0 +1,86 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "f81fd2f617fbb538b0e48736020d89814f047321" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk vm_tools/sommelier .gn"
+
+PLATFORM_SUBDIR="vm_tools/sommelier"
+
+inherit cros-workon platform
+
+DESCRIPTION="A Wayland compositor for use in CrOS VMs"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/sommelier"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="kvm_guest"
+
+# This ebuild should only be used on VM guest boards.
+REQUIRED_USE="kvm_guest"
+
+COMMON_DEPEND="
+	dev-libs/libevdev:=
+	x11-libs/libxkbcommon:=
+	x11-libs/libxcb:=
+	x11-libs/pixman:=
+	x11-libs/libdrm:=
+	dev-libs/wayland:=
+	|| (
+		media-libs/mesa:=[gbm]
+		media-libs/minigbm:=
+	)
+	!fuzzer? (
+		x11-base/xwayland:=
+	)
+"
+
+RDEPEND="
+	!<chromeos-base/vm_guest_tools-0.0.2-r722
+	${COMMON_DEPEND}
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/perfetto
+	dev-util/meson
+	dev-util/ninja
+"
+
+src_install() {
+	dobin "${OUT}"/sommelier
+
+	# TODO(sidereal) This fuzzer isn't useful without a re-design
+	# of sommelier's error handling and memory management. Disable
+	# it for now.
+	# platform_fuzzer_install "${S}"/OWNERS "${OUT}"/sommelier_wayland_fuzzer
+}
+
+platform_pkg_test() {
+	local tests=(
+		sommelier_test
+	)
+
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+
+	# Ensure the meson build script continues to work.
+	if ! use x86 && ! use amd64 ; then
+		elog "Skipping meson tests on non-x86 platform"
+	else
+		meson tmp_build_dir -Dgamepad=true -Dtracing=true -Dcommit_loop_fix=true \
+				-Dblack_screen_fix=true \
+				|| die "Failed to configure meson build"
+		ninja -C tmp_build_dir || die "Failed to build sommelier with meson"
+		[ -f tmp_build_dir/sommelier ] || die "Target 'sommelier' was not built by meson"
+		platform_test "run" tmp_build_dir/sommelier_test || die "Tests failed"
+	fi
+}
diff --git a/chromeos-base/sommelier/sommelier-9999.ebuild b/chromeos-base/sommelier/sommelier-9999.ebuild
index 615e587..0872ecf 100644
--- a/chromeos-base/sommelier/sommelier-9999.ebuild
+++ b/chromeos-base/sommelier/sommelier-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="A Wayland compositor for use in CrOS VMs"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools/sommelier"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/sommelier"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/spaced/files/revision_bump b/chromeos-base/spaced/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/spaced/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/spaced/spaced-0.0.1-r135.ebuild b/chromeos-base/spaced/spaced-0.0.1-r135.ebuild
new file mode 100644
index 0000000..345162a
--- /dev/null
+++ b/chromeos-base/spaced/spaced-0.0.1-r135.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "350cc434223a8fc7e7852f0b810bac3e4cb660ce" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk spaced .gn"
+
+PLATFORM_SUBDIR="spaced"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Disk space information daemon for Chrome OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/spaced/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="+seccomp"
+
+pkg_preinst() {
+	enewuser "spaced"
+	enewgroup "spaced"
+}
+
+src_install() {
+	platform_install
+
+	if use seccomp; then
+		local policy="seccomp/spaced-seccomp-${ARCH}.policy"
+		local policy_out="${ED}/usr/share/policy/spaced-seccomp.policy.bpf"
+		dodir /usr/share/policy
+		compile_seccomp_policy \
+			--arch-json "${SYSROOT}/build/share/constants.json" \
+			--default-action trap "${policy}" "${policy_out}" \
+			|| die "failed to compile seccomp policy ${policy}"
+	fi
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/spaced/spaced-0.0.1-r72.ebuild b/chromeos-base/spaced/spaced-0.0.1-r72.ebuild
deleted file mode 100644
index 06eea058..0000000
--- a/chromeos-base/spaced/spaced-0.0.1-r72.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "5dc05fbca65f19ba10ddb8d67988cb5ba2f80127" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk spaced .gn"
-
-PLATFORM_SUBDIR="spaced"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Disk space information daemon for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/spaced/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="+seccomp"
-
-pkg_preinst() {
-	enewuser "spaced"
-	enewgroup "spaced"
-}
-
-src_install() {
-	platform_install
-
-	if use seccomp; then
-		local policy="seccomp/spaced-seccomp-${ARCH}.policy"
-		local policy_out="${ED}/usr/share/policy/spaced-seccomp.policy.bpf"
-		dodir /usr/share/policy
-		compile_seccomp_policy \
-			--arch-json "${SYSROOT}/build/share/constants.json" \
-			--default-action trap "${policy}" "${policy_out}" \
-			|| die "failed to compile seccomp policy ${policy}"
-	fi
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/spirv-cross/Manifest b/chromeos-base/spirv-cross/Manifest
new file mode 100644
index 0000000..850af80
--- /dev/null
+++ b/chromeos-base/spirv-cross/Manifest
@@ -0,0 +1 @@
+DIST spirv-cross-sdk-1.3.216.0.tar.gz 1608013 BLAKE2B 796389df18f8ede5857c4aae27ace65dac9842694079eaaf1a94c33c5da4905f69a28ae17d0ab5f94e252fb25d33d591a10210611e77e0954955284079b0bdfb SHA512 746bc4560c02d2658b4b9c2ed589e028fcd5708030a751343906076825bda0ae6547aa54c3f0128bbc00198c0c2d5dbc22409eeb0e99bf623696e2771c0cf158
diff --git a/chromeos-base/spirv-cross/OWNERS b/chromeos-base/spirv-cross/OWNERS
new file mode 100644
index 0000000..876adb5
--- /dev/null
+++ b/chromeos-base/spirv-cross/OWNERS
@@ -0,0 +1 @@
+mpolney@google.com
diff --git a/chromeos-base/spirv-cross/spirv-cross-1.3.216.0.ebuild b/chromeos-base/spirv-cross/spirv-cross-1.3.216.0.ebuild
new file mode 100644
index 0000000..02ed4f2
--- /dev/null
+++ b/chromeos-base/spirv-cross/spirv-cross-1.3.216.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+inherit cmake-utils
+
+DESCRIPTION="SPIR-V Decompiler"
+HOMEPAGE="https://github.com/KhronosGroup/SPIRV-Cross"
+SRC_URI="https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/sdk-${PV}.tar.gz -> spirv-cross-sdk-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+KEYWORDS="*"
+IUSE=""
+SLOT="0"
+
+S="${WORKDIR}/SPIRV-Cross-sdk-${PV}"
+
+src_configure() {
+	cros_enable_cxx_exceptions
+	cmake-utils_src_configure
+}
+
+src_install() {
+	local OUTDIR="${WORKDIR}/spirv-cross-${PV}_build"
+
+	dobin "${OUTDIR}/spirv-cross"
+}
diff --git a/chromeos-base/st_flash/files/revision_bump b/chromeos-base/st_flash/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/st_flash/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/st_flash/st_flash-0.0.1-r1314.ebuild b/chromeos-base/st_flash/st_flash-0.0.1-r1314.ebuild
deleted file mode 100644
index 733f211..0000000
--- a/chromeos-base/st_flash/st_flash-0.0.1-r1314.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "0f74874dbc6607278e98259190322851828be09a" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_SUBTREE="common-mk st_flash .gn"
-
-PLATFORM_SUBDIR="st_flash"
-
-inherit cros-workon platform
-
-DESCRIPTION="STM32 IAP firmware updater for Chrome OS touchpads"
-HOMEPAGE=""
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-src_install() {
-	platform_install
-}
diff --git a/chromeos-base/st_flash/st_flash-0.0.1-r1371.ebuild b/chromeos-base/st_flash/st_flash-0.0.1-r1371.ebuild
new file mode 100644
index 0000000..bfbe003
--- /dev/null
+++ b/chromeos-base/st_flash/st_flash-0.0.1-r1371.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "0f74874dbc6607278e98259190322851828be09a" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_SUBTREE="common-mk st_flash .gn"
+
+PLATFORM_SUBDIR="st_flash"
+
+inherit cros-workon platform
+
+DESCRIPTION="STM32 IAP firmware updater for Chrome OS touchpads"
+HOMEPAGE=""
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+src_install() {
+	platform_install
+}
diff --git a/chromeos-base/swap-init/files/init/swap.sh b/chromeos-base/swap-init/files/init/swap.sh
index 74104b3..c03e03f 100755
--- a/chromeos-base/swap-init/files/init/swap.sh
+++ b/chromeos-base/swap-init/files/init/swap.sh
@@ -3,68 +3,39 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-# Set margin for low-memory notifier (for tab discarder)
-# Configure and start swap if SWAP_ENABLE_FILE exists.
-# SWAP_ENABLE_FILE may optionally contain the uncompressed swap size (in Mb).
-# Otherwise it is set to 1.5 times total RAM.
+SWAP_ENABLE_FILE="/var/lib/swap/swap_enabled"
+ZRAM_BACKING_DEV="/sys/block/zram0/backing_dev"
+ZRAM_WRITEBACK_NAME="zram-writeback"
+ZRAM_INTEGRITY_NAME="zram-integrity"
+ZRAM_WRITEBACK_DEV_ENC="/dev/mapper/${ZRAM_WRITEBACK_NAME}"
+ZRAM_WRITEBACK_INTEGRITY_MOUNT="/run/zram-integrity"
+ZRAM_INTEGRITY_DEV="/dev/mapper/${ZRAM_INTEGRITY_NAME}"
+LOOP_BLOCK_OPEN_PREFIX="__block_open_on_autoclear__"
+STATEFUL_PARTITION_DIR="/mnt/stateful_partition/unencrypted/userspace_swap.tmp"
+MB=1048576
 
-PER_BOARD_OVERRIDE_DIR=/etc/swap
-PER_DEVICE_OVERRIDE_DIR=/var/lib/swap
+# Never allow swapping to disk when the overall free diskspace is less
+# than 15% of the overall capacity.
+MIN_FREE_DISKSPACE_PCT=15
 
-SWAP_SIZE_BOARD_OVERRIDE_FILE="${PER_BOARD_OVERRIDE_DIR}/swap_size_mb"
-SWAP_ENABLE_FILE="${PER_DEVICE_OVERRIDE_DIR}/swap_enabled"
-DISK_BASED_SWAP_FILE="/proc/sys/vm/disk_based_swap"
-SWAP_DIR="/mnt/stateful_partition/unencrypted/swap"
+# Never allow more than 15% of the FREE diskspace to be used for swap.
+MAX_PCT_OF_FREE_DISKSPACE=15
 
-MARGIN_MAX=20000  # MiB
-MARGIN_CONVERSION=1
-MARGIN_OVERRIDE_FILE="${PER_DEVICE_OVERRIDE_DIR}/lowmem_margin"
-MARGIN_BOARD_OVERRIDE_FILE="${PER_BOARD_OVERRIDE_DIR}/lowmem_margin"
+# We default to 1gb of writeback space.
+DEFAULT_WRITEBACK_SIZE_MB=1024
+
+# Don't allow more than 6GB to be configured.
+MAX_ZRAM_WRITEBACK_SIZE_MB=6144
+
+# Don't allow a size less than 128MB to be configured.
+MIN_ZRAM_WRITEBACK_SIZE_MB=128
+
 MARGIN_SPECIAL_FILE="/sys/kernel/mm/chromeos-low_mem/margin"
-
-margin_default_generator() {
-  default_low_memory_margin "$(get_mem_total)"  # MiB
-}
-
-MIN_FILELIST_MAX=1000  # MiB
-MIN_FILELIST_CONVERSION=1024
-MIN_FILELIST_OVERRIDE_FILE="${PER_DEVICE_OVERRIDE_DIR}/min_filelist_kbytes"
-MIN_FILELIST_BOARD_OVERRIDE_FILE="${PER_BOARD_OVERRIDE_DIR}/min_filelist_kbytes"
 MIN_FILELIST_SPECIAL_FILE="/proc/sys/vm/min_filelist_kbytes"
-
-min_filelist_default_generator() {
-  # Check if ARC++ is running.  But don't check if it's not installed.
-  if grep -q CHROMEOS_ARC_VERSION /etc/lsb-release && \
-      [ "$(initctl status arcpp-post-login-services)" = \
-           "arcpp-post-login-services start/running" ]; then
-    echo 400000  # KiB
-  else
-    echo 100000  # KiB
-  fi
-}
-
-EXTRA_FREE_MAX=20000  # MiB
-EXTRA_FREE_CONVERSION=1024
-EXTRA_FREE_OVERRIDE_FILE="${PER_DEVICE_OVERRIDE_DIR}/extra_free_kbytes"
-EXTRA_FREE_BOARD_OVERRIDE_FILE="${PER_BOARD_OVERRIDE_DIR}/extra_free_kbytes"
+MIN_FILELSIT_DEFAULT_VALUE_KB=100000
 EXTRA_FREE_SPECIAL_FILE="/proc/sys/vm/extra_free_kbytes"
-
-extra_free_default_generator() {
-  echo 0
-}
-
-RAM_VS_SWAP_WEIGHT_MAX=256
-RAM_VS_SWAP_WEIGHT_CONVERSION=1
-RAM_VS_SWAP_WEIGHT_OVERRIDE_FILE="${PER_DEVICE_OVERRIDE_DIR}/ram_vs_swap_weight"
-RAM_VS_SWAP_WEIGHT_BOARD_OVERRIDE_FILE="${PER_BOARD_OVERRIDE_DIR}/ram_vs_swap_weight"
 RAM_VS_SWAP_WEIGHT_SPECIAL_FILE="/sys/kernel/mm/chromeos-low_mem/ram_vs_swap_weight"
 
-ram_vs_swap_weight_default_generator() {
-  # Historically we've found that zram compresses approximately at this ratio
-  # which is why this is the current default.
-  echo 4
-}
-
 HIST_MIN=100
 HIST_MAX=10000
 HIST_BUCKETS=50
@@ -73,11 +44,6 @@
 # so set it here too.
 JOB="swap"
 
-# Takes a string S and returns the value of ${S}.
-expand_var() {
-  eval echo "\"\$$1\""
-}
-
 get_mem_total() {
   # Extract second field of MemTotal entry in /proc/meminfo.
   # NOTE: this could be done with "read", "case", and a function
@@ -103,54 +69,6 @@
   echo "${critical_margin} ${moderate_margin}"
 }
 
-
-# Gets the target value of a kernel memory manager parameter, whose name is
-# passed in $1.
-#
-# Each parameter <P> has a default value, computed by <P>_default_generator.
-# The default value can be overridden by a board-specific value contained
-# in <P>_BOARD_OVERRIDE_FILE, or (with higher priority) a device-specific file,
-# <P>_OVERRIDE_FILE which a user may have set, typically for the purpose of
-# experimentation.
-get_target_value() {
-  local PARAM="$(echo "$1" | tr '[a-z]' '[A-Z]')"
-  local value
-  local override_file="$(expand_var "${PARAM}_OVERRIDE_FILE")"
-  local board_override_file="$(expand_var "${PARAM}_BOARD_OVERRIDE_FILE")"
-  local default_generator="$1"_default_generator
-
-  if [ -e "${override_file}" ]; then
-    rm -f "${override_file}" 2> /dev/null
-  fi
-
-  # We no longer allow per-user overrides because they were causing issues
-  # where users were unaware of kernel changes requiring new parameters.
-  # Additionally, user overrides prevent finch based experimentation.
-  if [ -e "${board_override_file}" ]; then
-    value=$(cat "${board_override_file}")
-  else
-    value=$(${default_generator})
-  fi
-  echo "${value}"
-}
-
-
-# Sets the kernel value of a memory manager parameter, whose name is passed in
-# $1, via a procfs or sysfs entry.
-initialize_parameter() {
-  local value="$(get_target_value "$1")"
-  local PARAM="$(echo "$1" | tr '[:lower:]' '[:upper:]')"
-  local special_file="$(expand_var "${PARAM}_SPECIAL_FILE")"
-
-  # Older kernels don't support all parameters.
-  if [ ! -e "${special_file}" ]; then
-    return 0
-  fi
-
-  echo "${value}" > "${special_file}"
-}
-
-
 create_write_file() {
   file="$1"
   dir=$(dirname "${file}")
@@ -161,50 +79,35 @@
   echo "${content}" > "${file}"
 }
 
-disk_based_swap_supported() {
-  # Can be set in the ebuild.
-  local disk_based_swap_enabled=false
-
-  # Return true if kernel supports disk based swap.
-  if [ "${disk_based_swap_enabled}" = "true" ] &&
-     [ -e "${DISK_BASED_SWAP_FILE}" ]; then
-    echo 1 > "${DISK_BASED_SWAP_FILE}"
-  else
-    disk_based_swap_enabled=false
-  fi
-  ${disk_based_swap_enabled}
-}
-
-swap_to_micron() {
-  local micron_swap=false
-
-  # Return true if micron dual namespace is configured.
-  if [ -b "/dev/nvme0n1" ] && [ -b "/dev/nvme0n2" ]; then
-    local dev_dir model
-    dev_dir="/sys/block/nvme0n1"
-    model="$(sed -E 's/[ \t]+$//' "${dev_dir}"/device/model)"
-    if [ "${model}" = "MTFDHBK256TDP" ] || [ "${model}" = "MTFDHBK128TDP" ]; then
-      micron_swap=true
-    fi
-  else
-    micron_swap=false
-  fi
-  ${micron_swap}
-}
-
+# Log an error and exit.
 die() {
-  message="$1"
-  logger -t "${JOB}" "${message}"
+  log_error "$*"
   exit 1
 }
 
+# Log a info level log message.
+log_info() {
+  logger -p daemon.info -t "${JOB}" -- "$*"
+}
+
+# Log a warning level log message.
+log_warning() {
+  logger -p daemon.warning -t "${JOB}" -- "$*"
+}
+
+# Log an error level log message.
+log_error() {
+  logger -p daemon.err -t "${JOB}" -- "$*"
+}
+
 start() {
-  local mem_total param
+  local mem_total low_mem_margin
   mem_total=$(get_mem_total)
 
-  for param in margin min_filelist extra_free; do
-    initialize_parameter "${param}"
-  done
+  # Initialize the MM tunables
+  low_mem_margin=$(default_low_memory_margin "${mem_total}")  # MiB
+  echo "${low_mem_margin}" > "${MARGIN_SPECIAL_FILE}"
+  echo "${MIN_FILELSIT_DEFAULT_VALUE_KB}" > "${MIN_FILELIST_SPECIAL_FILE}"
 
   # Allocate zram (compressed ram disk) for swap.
   # SWAP_ENABLE_FILE contains the zram size in MB.
@@ -215,19 +118,10 @@
   local requested_size_mb size_kb
   # For security, only read first few bytes of SWAP_ENABLE_FILE.
   requested_size_mb="$(head -c 5 "${SWAP_ENABLE_FILE}")" || :
-  # If SWAP_ENABLE_FILE does not exist or is empty, try the board override.
-  if [ -z "${requested_size_mb}" ]; then
-    requested_size_mb=$(cat "${SWAP_SIZE_BOARD_OVERRIDE_FILE}") || :
-  fi
   # If still empty, compute swap based on RAM size.
   if [ -z "${requested_size_mb}" ]; then
     # Default multiplier for zram size. (Shell math is integer only.)
     local multiplier="3 / 2"
-    # On ARM32 / ARM64 CPUs graphics memory is not reclaimable, so use a smaller
-    # size.
-    if arch | grep -qiE "arm|aarch64"; then
-      multiplier="1"
-    fi
     # The multiplier may be an expression, so it MUST use the $ expansion.
     size_kb=$(( mem_total * ${multiplier} ))
   elif [ "${requested_size_mb}" = "0" ]; then
@@ -237,47 +131,25 @@
     size_kb=$(( requested_size_mb * 1024 ))
   fi
 
-  local swap_device=
+  # Load zram module.  Ignore failure (it could be compiled in the kernel).
+  modprobe zram || logger -t "${JOB}" "modprobe zram failed (compiled?)"
 
-  if disk_based_swap_supported && swap_to_micron; then
-    swap_device=/dev/nvme0n1
-  fi
+  logger -t "${JOB}" "setting zram size to ${size_kb} Kb"
+  # Approximate the kilobyte to byte conversion to avoid issues
+  # with 32-bit signed integer overflow.
+  echo "${size_kb}000" >/sys/block/zram0/disksize ||
+  logger -t "${JOB}" "failed to set zram size"
 
-  if [ -z "${swap_device}" ]; then
-    # Load zram module.  Ignore failure (it could be compiled in the kernel).
-    modprobe zram || logger -t "${JOB}" "modprobe zram failed (compiled?)"
-
-    logger -t "${JOB}" "setting zram size to ${size_kb} Kb"
-    # Approximate the kilobyte to byte conversion to avoid issues
-    # with 32-bit signed integer overflow.
-    echo "${size_kb}000" >/sys/block/zram0/disksize ||
-        logger -t "${JOB}" "failed to set zram size"
-
-    mkswap /dev/zram0 || logger -t "${JOB}" "mkswap /dev/zram0 failed"
-    # Swapon may fail because of races with other programs that inspect all
-    # block devices, so try several times.
-    local tries=0
-    while [ ${tries} -le 10 ]; do
-      swapon /dev/zram0 && break
-      : $(( tries += 1 ))
-      logger -t "${JOB}" "swapon /dev/zram0 failed, try ${tries}"
-      sleep 0.1
-    done
-  else
-    local table
-    table="0 $(blockdev --getsz "${swap_device}") crypt aes-xts-plain64 \
-      $(tr -dc 'A-F0-9' < /dev/urandom | fold -w 64 | head -n 1) \
-      0 ${swap_device} 0 2 allow_discards submit_from_crypt_cpus"
-    /sbin/dmsetup create enc-swap --table "${table}" ||
-      die "/sbin/dmsetup create enc-swap failed"
-    mkswap "/dev/mapper/enc-swap" ||
-      die "mkswap /dev/mapper/enc-swap failed"
-    swapon -d "/dev/mapper/enc-swap" ||
-      die "swapon /dev/mapper/enc-swap failed"
-    echo 1 > /sys/module/zswap/parameters/enabled
-    echo z3fold > /sys/module/zswap/parameters/zpool
-    echo 1 > /sys/kernel/mm/chromeos-low_mem/ram_vs_swap_weight
-  fi
+  mkswap /dev/zram0 || logger -t "${JOB}" "mkswap /dev/zram0 failed"
+  # Swapon may fail because of races with other programs that inspect all
+  # block devices, so try several times.
+  local tries=0
+  while [ "${tries}" -le 10 ]; do
+    swapon /dev/zram0 && break
+    : $(( tries += 1 ))
+    logger -t "${JOB}" "swapon /dev/zram0 failed, try ${tries}"
+    sleep 0.1
+  done
 
   local swaptotalkb
   swaptotalkb=$(awk '/SwapTotal/ { print $2 }' /proc/meminfo)
@@ -294,6 +166,8 @@
   if [ -b "/dev/zram0" ]; then
     # When we start up, we try to configure zram0, but it doesn't like to
     # be reconfigured on the fly.  Reset it so we can changes its params.
+    # If there was a backing device being used, it will be automatically
+    # removed because after it's created it was removed with deferred remove.
     echo 1 > /sys/block/zram0/reset || :
   fi
 }
@@ -320,11 +194,6 @@
     printf '\ntop-level entries in %s:\n' "${dir}"
     cd "${dir}"
     grep -s '^' * || :
-  elif [ -e "/sys/kernel/debug/zswap" ]; then
-    local dir="/sys/kernel/debug/zswap"
-    printf '\ntop-level entries in %s:\n' "${dir}"
-    cd "${dir}"
-    grep -s '^' * || :
   fi
 }
 
@@ -351,60 +220,210 @@
   create_write_file "${SWAP_ENABLE_FILE}" "0"
 }
 
-set_parameter() {
-  local param="$1"
-  local value="$2"
-  case "${param}" in
-  margin|min_filelist|extra_free|ram_vs_swap_weight)
-    # We're good.
-    ;;
-  *)
-    echo "invalid parameter ${param}" >&2
-    exit 1
-    ;;
-  esac
-  local PARAM="$(echo "${param}" | tr '[:lower:]' '[:upper:]')"
-  local max="$(expand_var "${PARAM}_MAX")"
-  local special_file="$(expand_var "${PARAM}_SPECIAL_FILE")"
-  local conversion="$(expand_var "${PARAM}_CONVERSION")"
-  local default_generator=${param}_default_generator
+# Round up multiple will round the first argument (number) up to the next
+# multiple of the second argument (alignment).
+roundup_multiple() {
+  local number=$1
+  local alignment=$2
+  echo $(( ( ( number + (alignment - 1) ) / alignment ) * alignment ))
+}
 
-  # Don't try to set the parameter if the kernel doesn't support it.
-  if [ ! -e "${special_file}" ]; then
-    return 0
+INTEGRITY_LOOP_DEV=""
+DATA_LOOP_DEV=""
+# If we're unable to setup writeback just make sure we clean up any
+# mounts or devices which may have been left.
+cleanup_writeback_and_die() {
+  # During cleanup we want to allow failures as we're unsure of the state
+  # of the system we want the chance to clean everything up.
+  set +e
+
+  # If there is an error we want to make sure we cleanup.
+  /sbin/dmsetup remove --deferred "${ZRAM_WRITEBACK_NAME}" 2>/dev/null
+  /sbin/dmsetup remove --deferred "${ZRAM_INTEGRITY_NAME}" 2>/dev/null
+
+  if [ -n "${INTEGRITY_LOOP_DEV}" ]; then
+    losetup -d "${INTEGRITY_LOOP_DEV}" 2>/dev/null
+  fi
+  if [ -n "${DATA_LOOP_DEV}" ]; then
+    losetup -d "${DATA_LOOP_DEV}" 2>/dev/null
   fi
 
-  if [ "${value}" -gt "${max}" ]; then
-    echo "${JOB}: invalid set ${param} to ${value} (MiB), max is ${max}" >&2
-    exit 1
+  umount "${ZRAM_WRITEBACK_INTEGRITY_MOUNT}" 2>/dev/null
+  rm -rf "${ZRAM_WRITEBACK_INTEGRITY_MOUNT}" 2>/dev/null
+
+  # echo it to stderr (this is for debugd).
+  echo "$*" >&2
+
+  die "$*"
+}
+
+# Wait for up to 5 seconds for a dm device to become available,
+# if it doesn't then die. This is needed because dm devices may take a
+# few seconds to become visible at /dev/mapper after the table is switched.
+wait_for_dm_device_or_die() {
+  local device=$1
+  local timeout=5
+  local path="/dev/mapper/${device}"
+  for _ in $(seq 1 "${timeout}"); do
+    if [ -e "${path}" ]; then
+      return
+    fi
+    sleep 1
+  done
+  cleanup_writeback_and_die "Device ${path} was not available in ${timeout} sec"
+}
+
+# Enable zram writeback with a given |size| specified in MB.
+enable_zram_writeback() {
+  local writeback_size_mb
+  writeback_size_mb="$1"
+
+  if [ -z "${writeback_size_mb}" ]; then
+    die "zram writeback requires a size param"
+  elif [ "${writeback_size_mb}" -lt 0 ]; then
+    log_info "enabling zram writeback with default size ${DEFAULT_WRITEBACK_SIZE_MB}MB"
+    writeback_size_mb=${DEFAULT_WRITEBACK_SIZE_MB}
   fi
 
-  # We no longer allow per-user overrides because they were causing issues
-  # where users were unaware of kernel changes requiring new parameters.
-  # Additionally, user overrides prevent finch based experimentation.
-  local system_value
-  if [ "${value}" = "-1" ]; then
-    system_value=$(get_target_value "${param}")
-  else
-    # User units (always MiB) may differ from system units (sometimes KiB).
-    system_value=$(( value * conversion ))
+  if [ ! -e "${ZRAM_BACKING_DEV}" ]; then
+    die "missing ${ZRAM_BACKING_DEV}"
+  elif [ "$(cat "${ZRAM_BACKING_DEV}")" != "none" ]; then
+    die "zram already has a backing device assigned"
+  elif [ -e "${ZRAM_WRITEBACK_INTEGRITY_MOUNT}" ]; then
+    mountpoint -q "${ZRAM_WRITEBACK_INTEGRITY_MOUNT}" && die "zram writeback integrity ramfs is mounted"
+    rm -rf "${ZRAM_WRITEBACK_INTEGRITY_MOUNT}" 2>/dev/null || die "unable to rm dir ${ZRAM_WRITEBACK_INTEGRITY_MOUNT}"
   fi
-  echo "${system_value}" > "${special_file}"
-  value=$(( system_value / conversion ))
-  logger "changed ${param} to ${value} MiB"
+
+  local total_blocks free_blocks block_size pct_free
+  # shellcheck disable=2046
+  set -- $(stat -fc "%b %f %s" "${STATEFUL_PARTITION_DIR}")
+  total_blocks="$1"
+  free_blocks="$2"
+  block_size="$3"
+  pct_free=$(( 100 * free_blocks / total_blocks ))
+
+  if [ "${pct_free}" -lt "${MIN_FREE_DISKSPACE_PCT}" ]; then
+    die "zram writeback cannot be enabled free disk space" \
+        "${pct_free}% is less than the minimum ${MIN_FREE_DISKSPACE_PCT}%"
+  fi
+
+  if [ "${writeback_size_mb}" -lt "${MIN_ZRAM_WRITEBACK_SIZE_MB}" ] ||
+       [ "${writeback_size_mb}" -gt "${MAX_ZRAM_WRITEBACK_SIZE_MB}" ]; then
+    die "zram writeback size ${writeback_size_mb}MB is not between" \
+        "${MIN_ZRAM_WRITEBACK_SIZE_MB} and ${MAX_ZRAM_WRITEBACK_SIZE_MB}"
+  fi
+
+  # Now we need to make sure that the size we're using is never more than
+  # MAX_PCT_OF_FREE_DISKSPACE. This is the percent of the FREE diskspace.
+  local blocks_to_use pct_of_free writeback_size_bytes
+  blocks_to_use=$(( ( writeback_size_mb * MB ) / block_size ))
+  pct_of_free=$(( ( blocks_to_use * 100 ) / free_blocks ))
+
+  if [ "${pct_of_free}" -gt "${MAX_PCT_OF_FREE_DISKSPACE}" ]; then
+    local old_size="${writeback_size_mb}"
+    blocks_to_use=$(( MAX_PCT_OF_FREE_DISKSPACE * ( free_blocks / 100 ) ))
+    writeback_size_mb=$(( ( blocks_to_use * block_size ) / MB ))
+    log_warning "zram writeback, requested size of ${old_size}MB" \
+         "is ${pct_of_free}% of the free disk space. Size will be reduced to ${writeback_size_mb}MB"
+  fi
+  writeback_size_bytes=$(roundup_multiple $((writeback_size_mb * MB)) "${block_size}")
+
+  # Because we rounded up writeback_size bytes recalculate the number of blocks used.
+  blocks_to_use=$((writeback_size_bytes / block_size))
+
+  # Create the actual writeback space on the stateful partition.
+  local data_filename table
+  data_filename=$(mktemp -p "${STATEFUL_PARTITION_DIR}" -t "zram_writeback.XXXXXX.swp")
+  fallocate -l "${writeback_size_bytes}" "${data_filename}" ||
+       cleanup_writeback_and_die "unable to fallocate writeback file"
+
+  # See drivers/block/loop.c:230
+  #  We support direct I/O only if lo_offset is aligned with the
+  #  logical I/O size of backing device, and the logical block
+  #  size of loop is bigger than the backing device's and the loop
+  #  needn't transform transfer.
+  DATA_LOOP_DEV=$(losetup --show --direct-io=on --sector-size="${block_size}" -f "${data_filename}")
+  if [ -z "${DATA_LOOP_DEV}" ]; then
+    cleanup_writeback_and_die "zram writeback unable to setup loop device"
+  fi
+  rm "${data_filename}" || cleanup_writeback_and_die "error: unable to unlink zram writeback file"
+
+  # Create a dm-integrity device to use with dm-crypt.
+  local integrity_table ramfs_size_bytes
+  # AES-GCM uses a fixed 12 byte IV. The other 12 bytes are auth tag.
+  local integrity_bytes_per_block=24
+  # Eight 512 byte sectors are required for the superblock and eight padding sectors.
+  local initial_size=$((16*512))
+  ramfs_size_bytes=$(roundup_multiple $(( blocks_to_use * integrity_bytes_per_block + initial_size)) "${MB}")
+
+  # shellcheck disable=2174
+  mkdir -p "${ZRAM_WRITEBACK_INTEGRITY_MOUNT}" -m 0700 || cleanup_writeback_and_die "cannot create integrity mount"
+  mount -t ramfs -n \
+      -o size="${ramfs_size_bytes},noexec,nosuid,noatime,mode=0700" \
+      "zram-writeback-integrity" "${ZRAM_WRITEBACK_INTEGRITY_MOUNT}" \
+        || cleanup_writeback_and_die "unable to mount ramfs"
+  integrity_filename=$(mktemp -p "${ZRAM_WRITEBACK_INTEGRITY_MOUNT}" -t "${LOOP_BLOCK_OPEN_PREFIX}zram_writeback.integrity.XXXXXX.swp")
+  dd if=/dev/zero of="${integrity_filename}" iflag=count_bytes count="${ramfs_size_bytes}" status=none \
+    || cleanup_writeback_and_die "unable to zero integrity file"
+
+  INTEGRITY_LOOP_DEV=$(losetup --show -f "${integrity_filename}")
+  if [ -z "${INTEGRITY_LOOP_DEV}" ]; then
+    cleanup_writeback_and_die "ram writeback unable to setup integrity loop device"
+  fi
+  rm "${integrity_filename}" || cleanup_writeback_and_die "unable to unlink zram writeback integrity file"
+
+  integrity_table="0 $(blockdev --getsz "${DATA_LOOP_DEV}") integrity \
+      ${DATA_LOOP_DEV} 0 ${integrity_bytes_per_block} \
+      D 2 block_size:${block_size} meta_device:${INTEGRITY_LOOP_DEV}"
+  /sbin/dmsetup create "${ZRAM_INTEGRITY_NAME}" --table "${integrity_table}" ||
+      cleanup_writeback_and_die "/sbin/dmsetup unable to create zram integrity device"
+  wait_for_dm_device_or_die "${ZRAM_INTEGRITY_NAME}"
+
+  # Both loop devices have been taken by the dm-integrity device, let's close them.
+  losetup -d "${DATA_LOOP_DEV}" || cleanup_writeback_and_die "Unable to remove loop"
+  losetup -d "${INTEGRITY_LOOP_DEV}" || cleanup_writeback_and_die "Unable to remove loop"
+
+  # We can now clear these as they don't need to be cleaned up.
+  DATA_LOOP_DEV=""
+  INTEGRITY_LOOP_DEV=""
+
+  table="0 $(blockdev --getsz "${ZRAM_INTEGRITY_DEV}") crypt capi:gcm(aes)-random \
+      $(openssl rand -hex 32) \
+      0 ${ZRAM_INTEGRITY_DEV} 0 4 allow_discards submit_from_crypt_cpus \
+      sector_size:${block_size} integrity:${integrity_bytes_per_block}:aead"
+  /sbin/dmsetup create "${ZRAM_WRITEBACK_NAME}" --table "${table}" ||
+    cleanup_writeback_and_die "/sbin/dmsetup create ${ZRAM_WRITEBACK_NAME} failed"
+  wait_for_dm_device_or_die "${ZRAM_WRITEBACK_NAME}"
+
+  echo "${ZRAM_WRITEBACK_DEV_ENC}" > "${ZRAM_BACKING_DEV}" ||
+    cleanup_writeback_and_die "unable to enable zram writeback with ${ZRAM_WRITEBACK_DEV_ENC}"
+
+  # Now that the dm-crypt device has been opened by zram we can issue
+  # a deferred remove which will cause it to be automatically removed
+  # when it's closed.
+  /sbin/dmsetup remove --deferred "${ZRAM_WRITEBACK_NAME}"
+  /sbin/dmsetup remove --deferred "${ZRAM_INTEGRITY_NAME}"
+
+  log_info "Enabled swap zram writeback with size ${writeback_size_mb}MB"
+
+  # Make sure debugd can forward a success message.
+  echo "Enabled writeback with size ${writeback_size_mb}MB"
 }
 
 usage() {
   cat <<EOF
-Usage: $0 <start|stop|status|enable <size>|disable|
-           set_parameter <margin|min_filelist|extra_free|ram_vs_swap_weight> <value>>|
-           get_target_value <margin|min_filelist|extra_free|ram_vs_swap_weight> <value>>
+Usage: $0  command <params>
 
-Start or stop the use of the compressed swap file, or persistently set
-various memory manager tunable parameters, or get their chosen values.
+       Available Commands:
+           start
+           stop
+           status
+           enable <size>
+           disable
+           enable_zram_writeback <size_mb>
 
-A value of -1 for "enable" or "set_parameter <p>" results in removing any local
-persistent setting of the parameter, thus reverting to its factory default.
+Start or stop the use of the compressed swap file and get memory manager
+tunable values.
 
 The start phase is normally invoked by init during boot, but we never run the
 stop phase when shutting down (since there's no point).  The stop phase is used
@@ -434,16 +453,11 @@
       usage 1
     fi
     ;;
-  enable|get_target_value)
+  enable|enable_zram_writeback)
     if [ $# -ne 1 ]; then
       usage 1
     fi
     ;;
-  set_parameter)
-    if [ $# -ne 2 ]; then
-      usage 1
-    fi
-    ;;
   *)
     usage 1
     ;;
diff --git a/chromeos-base/swap-init/swap-init-0.0.1-r42.ebuild b/chromeos-base/swap-init/swap-init-0.0.1-r45.ebuild
similarity index 100%
rename from chromeos-base/swap-init/swap-init-0.0.1-r42.ebuild
rename to chromeos-base/swap-init/swap-init-0.0.1-r45.ebuild
diff --git a/chromeos-base/swap-init/swap-init-0.0.1.ebuild b/chromeos-base/swap-init/swap-init-0.0.1.ebuild
index 19a4565..61ecb4e 100644
--- a/chromeos-base/swap-init/swap-init-0.0.1.ebuild
+++ b/chromeos-base/swap-init/swap-init-0.0.1.ebuild
@@ -10,11 +10,11 @@
 LICENSE="BSD-Google"
 SLOT="0"
 KEYWORDS="*"
-IUSE="diskswap systemd"
+IUSE="systemd"
 
 RDEPEND="
 	sys-apps/util-linux
-	diskswap? ( sys-fs/cryptsetup )
+	sys-fs/cryptsetup
 	"
 
 S=${WORKDIR}
@@ -29,8 +29,4 @@
 	fi
 	exeinto /usr/share/cros/init
 	doexe "${FILESDIR}"/init/swap.sh
-	if use diskswap; then
-		sed -i '/local disk_based_swap_enabled=/s/false/true/' \
-			"${D}/usr/share/cros/init/swap.sh" || die
-	fi
 }
diff --git a/chromeos-base/syslog-cat/files/revision_bump b/chromeos-base/syslog-cat/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/syslog-cat/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/syslog-cat/syslog-cat-0.0.1-r107.ebuild b/chromeos-base/syslog-cat/syslog-cat-0.0.1-r107.ebuild
deleted file mode 100644
index f20ca40..0000000
--- a/chromeos-base/syslog-cat/syslog-cat-0.0.1-r107.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "08b91a2f1e0d6e18374c6c9f0f6a1e1f30e21bee" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE="common-mk syslog-cat .gn"
-
-PLATFORM_SUBDIR="syslog-cat"
-
-inherit cros-workon platform
-
-DESCRIPTION="Simple command to forward stdout/err to syslog"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/syslog-cat"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
-
-src_install() {
-	platform_install
-}
-
-platform_pkg_test() {
-	platform test_all
-}
-
diff --git a/chromeos-base/syslog-cat/syslog-cat-0.0.1-r166.ebuild b/chromeos-base/syslog-cat/syslog-cat-0.0.1-r166.ebuild
new file mode 100644
index 0000000..8fd2c1e
--- /dev/null
+++ b/chromeos-base/syslog-cat/syslog-cat-0.0.1-r166.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "14d6946889ebac09c54e1fba8bc1e1b13ab78411" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE="common-mk syslog-cat .gn"
+
+PLATFORM_SUBDIR="syslog-cat"
+
+inherit cros-workon platform
+
+DESCRIPTION="Simple command to forward stdout/err to syslog"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/syslog-cat"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
+
diff --git a/chromeos-base/syslog-cat/syslog-cat-9999.ebuild b/chromeos-base/syslog-cat/syslog-cat-9999.ebuild
index 458e576..f6c8f67 100644
--- a/chromeos-base/syslog-cat/syslog-cat-9999.ebuild
+++ b/chromeos-base/syslog-cat/syslog-cat-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Simple command to forward stdout/err to syslog"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/syslog-cat"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/syslog-cat"
 
 LICENSE="BSD-Google"
 SLOT="0/0"
diff --git a/chromeos-base/system-proxy/OWNERS b/chromeos-base/system-proxy/OWNERS
new file mode 100644
index 0000000..a1618e7
--- /dev/null
+++ b/chromeos-base/system-proxy/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/system-proxy/OWNERS
diff --git a/chromeos-base/system-proxy/files/revision_bump b/chromeos-base/system-proxy/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/system-proxy/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/system-proxy/system-proxy-0.0.1-r285.ebuild b/chromeos-base/system-proxy/system-proxy-0.0.1-r285.ebuild
deleted file mode 100644
index b269613..0000000
--- a/chromeos-base/system-proxy/system-proxy-0.0.1-r285.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "56dc9b3a788bc68f829c1e7a1d3b6cf067c7aaf9" "47e08d746e33c555317ae5a3c41f75d09c94ad07" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk libpasswordprovider system-proxy .gn"
-
-PLATFORM_SUBDIR="system-proxy"
-
-inherit cros-workon platform user
-
-DESCRIPTION="A daemon that provides authentication support for system services
-and ARC apps behind an authenticated web proxy."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/system-proxy/"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="fuzzer"
-
-COMMON_DEPEND="
-	chromeos-base/libpasswordprovider:=
-	chromeos-base/minijail:=
-	chromeos-base/patchpanel:=
-	chromeos-base/patchpanel-client:=
-	dev-libs/protobuf:=
-	sys-apps/dbus:=
-	net-misc/curl:=
-"
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/permission_broker-client:=
-	fuzzer? ( dev-libs/libprotobuf-mutator:= )
-"
-
-pkg_preinst() {
-	enewuser "system-proxy"
-	enewgroup "system-proxy"
-}
-
-src_install() {
-	platform_install
-
-	if use fuzzer; then
-		local fuzzer_component_id="156085"
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/system_proxy_connect_headers_parser_fuzzer \
-			--comp "${fuzzer_component_id}"
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/system_proxy_worker_config_fuzzer \
-			--comp "${fuzzer_component_id}"
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/system_proxy_http_util_fuzzer \
-			--comp "${fuzzer_component_id}"
-	fi
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/system-proxy/system-proxy-0.0.1-r350.ebuild b/chromeos-base/system-proxy/system-proxy-0.0.1-r350.ebuild
new file mode 100644
index 0000000..1eef5c9
--- /dev/null
+++ b/chromeos-base/system-proxy/system-proxy-0.0.1-r350.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "fb8e41991af9e4c6c88768b137a9b48e4e5e47da" "70b0fead532fb2583dfa6edeaabc09c1d55d2fc7" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk libpasswordprovider system-proxy .gn"
+
+PLATFORM_SUBDIR="system-proxy"
+
+inherit cros-workon platform user
+
+DESCRIPTION="A daemon that provides authentication support for system services
+and ARC apps behind an authenticated web proxy."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/system-proxy/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="fuzzer"
+
+COMMON_DEPEND="
+	chromeos-base/libpasswordprovider:=
+	chromeos-base/minijail:=
+	chromeos-base/patchpanel:=
+	chromeos-base/patchpanel-client:=
+	dev-libs/protobuf:=
+	sys-apps/dbus:=
+	net-misc/curl:=
+"
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/permission_broker-client:=
+	fuzzer? ( dev-libs/libprotobuf-mutator:= )
+"
+
+pkg_preinst() {
+	enewuser "system-proxy"
+	enewgroup "system-proxy"
+}
+
+src_install() {
+	platform_install
+
+	if use fuzzer; then
+		local fuzzer_component_id="156085"
+		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/system_proxy_connect_headers_parser_fuzzer \
+			--comp "${fuzzer_component_id}"
+		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/system_proxy_worker_config_fuzzer \
+			--comp "${fuzzer_component_id}"
+		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/system_proxy_http_util_fuzzer \
+			--comp "${fuzzer_component_id}"
+	fi
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/system-proxy/system-proxy-9999.ebuild b/chromeos-base/system-proxy/system-proxy-9999.ebuild
index 742543a..698c1f2 100644
--- a/chromeos-base/system-proxy/system-proxy-9999.ebuild
+++ b/chromeos-base/system-proxy/system-proxy-9999.ebuild
@@ -15,7 +15,7 @@
 
 DESCRIPTION="A daemon that provides authentication support for system services
 and ARC apps behind an authenticated web proxy."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/system-proxy/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/system-proxy/"
 
 LICENSE="BSD-Google"
 SLOT="0/0"
diff --git a/chromeos-base/system_api/OWNERS b/chromeos-base/system_api/OWNERS
new file mode 100644
index 0000000..bca24cd
--- /dev/null
+++ b/chromeos-base/system_api/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/system_api/OWNERS
diff --git a/chromeos-base/system_api/files/revision_bump b/chromeos-base/system_api/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/system_api/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/system_api/system_api-0.0.1-r4627.ebuild b/chromeos-base/system_api/system_api-0.0.1-r4627.ebuild
deleted file mode 100644
index be21421..0000000
--- a/chromeos-base/system_api/system_api-0.0.1-r4627.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="7b36ac47e88fa7b264e8fb56026ddd0142cb2597"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e3e5fe456f70f36ffbf9a76df75279cb21db3213" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_GO_PACKAGES=(
-	"chromiumos/system_api/..."
-)
-
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk system_api .gn"
-
-PLATFORM_SUBDIR="system_api"
-WANT_LIBBRILLO="no"
-
-inherit cros-fuzzer cros-go cros-workon platform
-
-DESCRIPTION="Chrome OS system API (D-Bus service names, etc.)"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/system_api/"
-LICENSE="BSD-Google"
-# The subslot should be manually bumped any time protobuf is upgraded
-# to a newer version whose libraries are incompatible with the
-# generated sources of the previous version. As a rule of thumb if the
-# minor version of protobuf has changed, the subslot should be incremented.
-SLOT="0/1"
-KEYWORDS="*"
-IUSE="cros_host"
-
-RDEPEND="
-	dev-libs/protobuf:=
-	cros_host? ( net-libs/grpc:= )
-"
-
-DEPEND="${RDEPEND}
-	dev-go/protobuf:=
-"
-
-src_unpack() {
-	platform_src_unpack
-	CROS_GO_WORKSPACE="${OUT}/gen/go"
-}
-
-src_install() {
-	insinto /usr/"$(get_libdir)"/pkgconfig
-	doins system_api.pc
-
-	insinto /usr/include/chromeos
-	doins -r dbus switches constants
-	find "${D}" -name OWNERS -delete || die
-
-	# Install the dbus-constants.h files in the respective daemons' client library
-	# include directory. Users will need to include the corresponding client
-	# library to access these files.
-	local dir dirs=(
-		arc-data-snapshotd
-		anomaly_detector
-		attestation
-		biod
-		chunneld
-		cros-disks
-		cros_healthd
-		cryptohome
-		debugd
-		dlcservice
-		kerberos
-		login_manager
-		lorgnette
-		oobe_config
-		runtime_probe
-		pciguard
-		permission_broker
-		power_manager
-		rmad
-		shill
-		smbprovider
-		tpm_manager
-		update_engine
-		wilco_dtc_supportd
-	)
-	for dir in "${dirs[@]}"; do
-		insinto /usr/include/"${dir}"-client/"${dir}"
-		doins dbus/"${dir}"/dbus-constants.h
-	done
-
-	# These are files/projects installed in the common dir.
-	dirs=( system_api )
-
-	# These are project-specific files.
-	dirs+=( $(
-		cd "${S}/dbus" || die
-		dirname */*.proto | sort -u
-	) )
-
-	for dir in "${dirs[@]}"; do
-		insinto /usr/include/"${dir}"/proto_bindings
-		doins "${OUT}"/gen/include/"${dir}"/proto_bindings/*.h
-
-		if [[ "${dir}" == "system_api" ]]; then
-			dolib.a "${OUT}/libsystem_api-protos.a"
-		else
-			dolib.a "${OUT}/libsystem_api-${dir}-protos.a"
-		fi
-	done
-
-	dolib.so "${OUT}/lib/libsystem_api.so"
-
-	cros-go_src_install
-}
diff --git a/chromeos-base/system_api/system_api-0.0.1-r4859.ebuild b/chromeos-base/system_api/system_api-0.0.1-r4859.ebuild
new file mode 100644
index 0000000..4f55fa6
--- /dev/null
+++ b/chromeos-base/system_api/system_api-0.0.1-r4859.ebuild
@@ -0,0 +1,115 @@
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "1341afbe61e8ddabb7a86b15e553b65d92db921d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_GO_PACKAGES=(
+	"chromiumos/system_api/..."
+)
+
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk system_api .gn"
+
+PLATFORM_SUBDIR="system_api"
+WANT_LIBBRILLO="no"
+
+inherit cros-fuzzer cros-go cros-workon platform
+
+DESCRIPTION="Chrome OS system API (D-Bus service names, etc.)"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/system_api/"
+LICENSE="BSD-Google"
+# The subslot should be manually bumped any time protobuf is upgraded
+# to a newer version whose libraries are incompatible with the
+# generated sources of the previous version. As a rule of thumb if the
+# minor version of protobuf has changed, the subslot should be incremented.
+SLOT="0/1"
+KEYWORDS="*"
+IUSE="cros_host"
+
+RDEPEND="
+	dev-libs/protobuf:=
+	cros_host? ( net-libs/grpc:= )
+"
+
+DEPEND="${RDEPEND}
+	dev-go/protobuf:=
+	dev-go/protobuf-legacy-api:=
+"
+
+src_unpack() {
+	platform_src_unpack
+	CROS_GO_WORKSPACE="${OUT}/gen/go"
+}
+
+src_install() {
+	insinto /usr/"$(get_libdir)"/pkgconfig
+	doins system_api.pc
+
+	insinto /usr/include/chromeos
+	doins -r dbus switches constants mojo
+	find "${D}" -name OWNERS -delete || die
+
+	# Install the dbus-constants.h files in the respective daemons' client library
+	# include directory. Users will need to include the corresponding client
+	# library to access these files.
+	local dir dirs=(
+		arc-data-snapshotd
+		anomaly_detector
+		attestation
+		biod
+		chunneld
+		cros-disks
+		cros_healthd
+		cryptohome
+		debugd
+		discod
+		dlcservice
+		kerberos
+		login_manager
+		lorgnette
+		oobe_config
+		runtime_probe
+		pciguard
+		permission_broker
+		power_manager
+		rgbkbd
+		rmad
+		shill
+		smbprovider
+		tpm_manager
+		update_engine
+		wilco_dtc_supportd
+	)
+	for dir in "${dirs[@]}"; do
+		insinto /usr/include/"${dir}"-client/"${dir}"
+		doins dbus/"${dir}"/dbus-constants.h
+	done
+
+	# These are files/projects installed in the common dir.
+	dirs=( system_api )
+
+	# These are project-specific files.
+	dirs+=( $(
+		cd "${S}/dbus" || die
+		dirname */*.proto | sort -u
+	) )
+
+	for dir in "${dirs[@]}"; do
+		insinto /usr/include/"${dir}"/proto_bindings
+		doins "${OUT}"/gen/include/"${dir}"/proto_bindings/*.h
+
+		if [[ "${dir}" == "system_api" ]]; then
+			dolib.a "${OUT}/libsystem_api-protos.a"
+		else
+			dolib.a "${OUT}/libsystem_api-${dir}-protos.a"
+		fi
+	done
+
+	dolib.so "${OUT}/lib/libsystem_api.so"
+
+	cros-go_src_install
+}
diff --git a/chromeos-base/system_api/system_api-9999.ebuild b/chromeos-base/system_api/system_api-9999.ebuild
index 7e3d4d8..849c515 100644
--- a/chromeos-base/system_api/system_api-9999.ebuild
+++ b/chromeos-base/system_api/system_api-9999.ebuild
@@ -18,7 +18,7 @@
 inherit cros-fuzzer cros-go cros-workon platform
 
 DESCRIPTION="Chrome OS system API (D-Bus service names, etc.)"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/system_api/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/system_api/"
 LICENSE="BSD-Google"
 # The subslot should be manually bumped any time protobuf is upgraded
 # to a newer version whose libraries are incompatible with the
@@ -35,6 +35,7 @@
 
 DEPEND="${RDEPEND}
 	dev-go/protobuf:=
+	dev-go/protobuf-legacy-api:=
 "
 
 src_unpack() {
@@ -47,7 +48,7 @@
 	doins system_api.pc
 
 	insinto /usr/include/chromeos
-	doins -r dbus switches constants
+	doins -r dbus switches constants mojo
 	find "${D}" -name OWNERS -delete || die
 
 	# Install the dbus-constants.h files in the respective daemons' client library
@@ -63,6 +64,7 @@
 		cros_healthd
 		cryptohome
 		debugd
+		discod
 		dlcservice
 		kerberos
 		login_manager
@@ -72,6 +74,7 @@
 		pciguard
 		permission_broker
 		power_manager
+		rgbkbd
 		rmad
 		shill
 		smbprovider
diff --git a/chromeos-base/tast-build-deps/tast-build-deps-2-r16.ebuild b/chromeos-base/tast-build-deps/tast-build-deps-2-r16.ebuild
deleted file mode 100644
index 076ddfe..0000000
--- a/chromeos-base/tast-build-deps/tast-build-deps-2-r16.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
-# the canonical empty project.
-CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
-CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
-CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
-CROS_WORKON_LOCALNAME="platform/empty-project"
-
-inherit cros-workon
-
-DESCRIPTION="Build-time dependencies of Tast binaries"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND="
-	chromeos-base/aosp-frameworks-base-proto
-	chromeos-base/cros-config-api
-	chromeos-base/hardware_verifier_proto
-	chromeos-base/modemfwd-proto
-	chromeos-base/policy-go-proto
-	chromeos-base/system_api
-	chromeos-base/vm_protos
-	chromeos-base/wilco-dtc-grpc-protos
-	dev-go/boringssl-acvptool
-	dev-go/cdp
-	dev-go/clock
-	dev-go/cmp
-	dev-go/crypto
-	dev-go/dbus
-	dev-go/docker
-	dev-go/dst
-	dev-go/exif
-	dev-go/fscrypt
-	dev-go/gapi-drive
-	dev-go/genproto
-	dev-go/godebug
-	dev-go/golang-evdev
-	dev-go/golint
-	dev-go/gopacket
-	dev-go/gopsutil
-	dev-go/go-matroska
-	dev-go/go-sys
-	dev-go/grpc
-	dev-go/mdns
-	dev-go/mock
-	dev-go/mp4
-	dev-go/oauth2
-	dev-go/perfetto-protos
-	dev-go/protobuf
-	dev-go/selinux
-	dev-go/subcommands
-	dev-go/sync
-	dev-go/tarm-serial
-	dev-go/uuid
-	dev-go/vnc2video
-	dev-go/vsock
-	dev-go/yaml:0
-"
-
-RDEPEND="${DEPEND}"
diff --git a/chromeos-base/tast-build-deps/tast-build-deps-2-r20.ebuild b/chromeos-base/tast-build-deps/tast-build-deps-2-r20.ebuild
new file mode 100644
index 0000000..8726f1b
--- /dev/null
+++ b/chromeos-base/tast-build-deps/tast-build-deps-2-r20.ebuild
@@ -0,0 +1,70 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
+# the canonical empty project.
+CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
+CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="platform/empty-project"
+
+inherit cros-workon
+
+DESCRIPTION="Build-time dependencies of Tast binaries"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="
+	chromeos-base/aosp-frameworks-base-proto
+	chromeos-base/cros-config-api
+	chromeos-base/hardware_verifier_proto
+	chromeos-base/modemfwd-proto
+	chromeos-base/policy-go-proto
+	chromeos-base/system_api
+	chromeos-base/vm_protos
+	chromeos-base/wilco-dtc-grpc-protos
+	dev-go/boringssl-acvptool
+	dev-go/cdp
+	dev-go/clock
+	dev-go/cmp
+	dev-go/crypto
+	dev-go/dbus
+	dev-go/docker
+	dev-go/dst
+	dev-go/exif
+	dev-go/fscrypt
+	dev-go/gapi
+	dev-go/gax
+	dev-go/genproto
+	dev-go/godebug
+	dev-go/golang-evdev
+	dev-go/golint
+	dev-go/gopacket
+	dev-go/gopsutil
+	dev-go/go-matroska
+	dev-go/go-sys
+	dev-go/grpc
+	dev-go/mdns
+	dev-go/mock
+	dev-go/mp4
+	dev-go/oauth2
+	dev-go/opencensus
+	dev-go/perfetto-protos
+	dev-go/protobuf
+	dev-go/protobuf-legacy-api
+	dev-go/selinux
+	dev-go/subcommands
+	dev-go/sync
+	dev-go/tarm-serial
+	dev-go/uuid
+	dev-go/vnc2video
+	dev-go/vsock
+	dev-go/yaml:0
+"
+
+RDEPEND="${DEPEND}"
diff --git a/chromeos-base/tast-build-deps/tast-build-deps-9999.ebuild b/chromeos-base/tast-build-deps/tast-build-deps-9999.ebuild
index 753bdeb..6b9bba6 100644
--- a/chromeos-base/tast-build-deps/tast-build-deps-9999.ebuild
+++ b/chromeos-base/tast-build-deps/tast-build-deps-9999.ebuild
@@ -36,7 +36,8 @@
 	dev-go/dst
 	dev-go/exif
 	dev-go/fscrypt
-	dev-go/gapi-drive
+	dev-go/gapi
+	dev-go/gax
 	dev-go/genproto
 	dev-go/godebug
 	dev-go/golang-evdev
@@ -50,8 +51,10 @@
 	dev-go/mock
 	dev-go/mp4
 	dev-go/oauth2
+	dev-go/opencensus
 	dev-go/perfetto-protos
 	dev-go/protobuf
+	dev-go/protobuf-legacy-api
 	dev-go/selinux
 	dev-go/subcommands
 	dev-go/sync
diff --git a/chromeos-base/tast-cmd/tast-cmd-0.0.1-r1472.ebuild b/chromeos-base/tast-cmd/tast-cmd-0.0.1-r1472.ebuild
deleted file mode 100644
index 86970e9..0000000
--- a/chromeos-base/tast-cmd/tast-cmd-0.0.1-r1472.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="9e62f787bdb066d6f6d187ba4c5614e81a2289c7"
-CROS_WORKON_TREE="22dce69eb9b87f1074930ff8ca5592eb2312c7da"
-CROS_WORKON_PROJECT="chromiumos/platform/tast"
-CROS_WORKON_LOCALNAME="platform/tast"
-
-CROS_GO_BINARIES=(
-	"chromiumos/tast/cmd/remote_test_runner"
-	"chromiumos/tast/cmd/tast"
-)
-
-CROS_GO_VERSION="${PF}"
-
-CROS_GO_TEST=(
-	"chromiumos/tast/cmd/remote_test_runner/..."
-	"chromiumos/tast/cmd/tast/..."
-	# Also test common code.
-	"chromiumos/tast/..."
-)
-CROS_GO_VET=(
-	"${CROS_GO_TEST[@]}"
-)
-
-inherit cros-go cros-workon
-
-DESCRIPTION="Host executables for running integration tests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast/"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
-
-# Build-time dependencies should be added to tast-build-deps, not here.
-DEPEND="chromeos-base/tast-build-deps:="
-
-RDEPEND="
-	app-arch/tar
-	app-arch/xz-utils
-	chromeos-base/google-breakpad
-	chromeos-base/tast-build-deps
-	chromeos-base/tast-vars
-	net-misc/gsutil
-	!chromeos-base/tast-common
-"
-
-src_prepare() {
-	# Disable cgo and PIE on building Tast binaries. See:
-	# https://crbug.com/976196
-	# https://github.com/golang/go/issues/30986#issuecomment-475626018
-	export CGO_ENABLED=0
-	export GOPIE=0
-
-	default
-}
diff --git a/chromeos-base/tast-cmd/tast-cmd-0.0.1-r1640.ebuild b/chromeos-base/tast-cmd/tast-cmd-0.0.1-r1640.ebuild
new file mode 100644
index 0000000..7515c7b
--- /dev/null
+++ b/chromeos-base/tast-cmd/tast-cmd-0.0.1-r1640.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="af699a2a75b8905cb30cd7c6a0be61cdb1593d3e"
+CROS_WORKON_TREE="85ff64bf9199aa5473db461312b3208004cbb7e0"
+CROS_WORKON_PROJECT="chromiumos/platform/tast"
+CROS_WORKON_LOCALNAME="platform/tast"
+
+CROS_GO_BINARIES=(
+	"chromiumos/tast/cmd/remote_test_runner"
+	"chromiumos/tast/cmd/tast"
+)
+
+CROS_GO_VERSION="${PF}"
+
+CROS_GO_TEST=(
+	"chromiumos/tast/cmd/remote_test_runner/..."
+	"chromiumos/tast/cmd/tast/..."
+	# Also test common code.
+	"chromiumos/tast/..."
+)
+CROS_GO_VET=(
+	"${CROS_GO_TEST[@]}"
+)
+
+inherit cros-go cros-workon
+
+DESCRIPTION="Host executables for running integration tests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+# Build-time dependencies should be added to tast-build-deps, not here.
+DEPEND="chromeos-base/tast-build-deps:="
+
+RDEPEND="
+	app-arch/tar
+	app-arch/xz-utils
+	chromeos-base/google-breakpad
+	chromeos-base/tast-build-deps
+	chromeos-base/tast-vars
+	net-misc/gsutil
+	!chromeos-base/tast-common
+"
+
+src_prepare() {
+	# Disable cgo and PIE on building Tast binaries. See:
+	# https://crbug.com/976196
+	# https://github.com/golang/go/issues/30986#issuecomment-475626018
+	export CGO_ENABLED=0
+	export GOPIE=0
+
+	default
+}
diff --git a/chromeos-base/tast-local-apks-cros/tast-local-apks-cros-0.0.1-r159.ebuild b/chromeos-base/tast-local-apks-cros/tast-local-apks-cros-0.0.1-r159.ebuild
deleted file mode 100644
index a98ba9a..0000000
--- a/chromeos-base/tast-local-apks-cros/tast-local-apks-cros-0.0.1-r159.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_WORKON_COMMIT="e6079f506ae298ef1f3846afa1604aa76feb1560"
-CROS_WORKON_TREE="45262c01452bad952727f0e3926f20740fa2357e"
-CROS_WORKON_PROJECT="chromiumos/platform/tast-tests"
-CROS_WORKON_LOCALNAME="platform/tast-tests"
-CROS_WORKON_SUBTREE="android"
-
-inherit cros-workon
-
-DESCRIPTION="Compiled apks used by local Tast tests in the cros bundle"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/master/android"
-
-LICENSE="BSD-Google GPL-3"
-SLOT="0"
-KEYWORDS="*"
-
-BDEPEND="
-	chromeos-base/android-sdk
-	dev-util/gn
-	virtual/jdk:1.8
-"
-RDEPEND=""
-DEPEND="${RDEPEND}"
-OUT=$(cros-workon_get_build_dir)
-
-src_compile() {
-	# Java 8 is deprecated and no longer setup as a system/user VM. Gentoo
-	# recommends configuring manually if it is still needed. Built-in tools
-	# like java-config and eselect will not show them.
-	export GENTOO_VM=icedtea-bin-8
-	gn gen "${OUT}" --root="${S}"/android || die "gn failed"
-	ninja -C "${OUT}" || die "build failed"
-}
-
-src_install() {
-	if [ ! -d "${OUT}/apks" ]; then
-		ewarn "There is no apk."
-		ewarn "If you want to add a helper APK, add it under tast-tests/android"
-		ewarn "and modify BUILD.gn."
-		return
-	fi
-	insinto /usr/libexec/tast/apks/local/cros
-	doins "${OUT}"/apks/*
-}
-
diff --git a/chromeos-base/tast-local-apks-cros/tast-local-apks-cros-0.0.1-r178.ebuild b/chromeos-base/tast-local-apks-cros/tast-local-apks-cros-0.0.1-r178.ebuild
new file mode 100644
index 0000000..6a9b7ff
--- /dev/null
+++ b/chromeos-base/tast-local-apks-cros/tast-local-apks-cros-0.0.1-r178.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="928ca1f44b5d37cc8c96390a22898b1aaf7799e8"
+CROS_WORKON_TREE="05be63a2ed7556ce123985aeb711421a9556b120"
+CROS_WORKON_PROJECT="chromiumos/platform/tast-tests"
+CROS_WORKON_LOCALNAME="platform/tast-tests"
+CROS_WORKON_SUBTREE="android"
+
+inherit cros-workon
+
+DESCRIPTION="Compiled apks used by local Tast tests in the cros bundle"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/master/android"
+
+LICENSE="BSD-Google GPL-3"
+SLOT="0"
+KEYWORDS="*"
+
+BDEPEND="
+	chromeos-base/android-sdk
+	dev-util/gn
+	virtual/jdk:1.8
+"
+RDEPEND=""
+DEPEND="${RDEPEND}"
+OUT=$(cros-workon_get_build_dir)
+
+src_compile() {
+	# Java 8 is deprecated and no longer setup as a system/user VM. Gentoo
+	# recommends configuring manually if it is still needed. Built-in tools
+	# like java-config and eselect will not show them.
+	export GENTOO_VM=icedtea-bin-8
+	gn gen "${OUT}" --root="${S}"/android || die "gn failed"
+	ninja -C "${OUT}" || die "build failed"
+}
+
+src_install() {
+	if [ ! -d "${OUT}/apks" ]; then
+		ewarn "There is no apk."
+		ewarn "If you want to add a helper APK, add it under tast-tests/android"
+		ewarn "and modify BUILD.gn."
+		return
+	fi
+	insinto /usr/libexec/tast/apks/local/cros
+	doins "${OUT}"/apks/*
+}
+
diff --git a/chromeos-base/tast-local-helpers-cros/files/revision_bump b/chromeos-base/tast-local-helpers-cros/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/tast-local-helpers-cros/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/tast-local-helpers-cros/tast-local-helpers-cros-0.0.1-r267.ebuild b/chromeos-base/tast-local-helpers-cros/tast-local-helpers-cros-0.0.1-r267.ebuild
deleted file mode 100644
index 6336bc8..0000000
--- a/chromeos-base/tast-local-helpers-cros/tast-local-helpers-cros-0.0.1-r267.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("f35f2919309cf11b0ddd9deb24a6b145d40d9254" "a5946a4009b91b50b21566f3c45ca89f9b1fca33")
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "dea91ab048f26f8102ca8ec3d71e4e48841abafe")
-CROS_WORKON_PROJECT=("chromiumos/platform2" "chromiumos/platform/tast-tests")
-CROS_WORKON_LOCALNAME=("platform2" "platform/tast-tests")
-CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/tast-tests")
-CROS_WORKON_SUBTREE=("common-mk .gn" "helpers")
-
-PLATFORM_SUBDIR="tast-tests/helpers/local"
-
-inherit cros-workon platform
-
-DESCRIPTION="Compiled executables used by local Tast tests in the cros bundle"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/master/helpers"
-
-LICENSE="BSD-Google GPL-3"
-SLOT="0/0"
-KEYWORDS="*"
-
-COMMON_DEPEND="
-	dev-cpp/gtest:=
-	media-libs/minigbm:=
-	x11-libs/libdrm:=
-"
-RDEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/goldctl
-	media-video/ffmpeg
-"
-DEPEND="${RDEPEND}"
-
-src_install() {
-	# Executable files' names take the form <category>.<TestName>.<bin_name>.
-	exeinto /usr/libexec/tast/helpers/local/cros
-	doexe "${OUT}"/*.[A-Z]*.*
-	# Install symbol list file to the location required by minidump_stackwalk.
-	# See https://www.chromium.org/developers/decoding-crash-dumps for details.
-	local crasher_exec="${OUT}/platform.UserCrash.crasher"
-	local id=$(head -n1 "${crasher_exec}.sym" | cut -d' ' -f 4)
-	insinto "/usr/libexec/tast/helpers/local/cros/symbols/${crasher_exec##*/}/${id}"
-	doins "${crasher_exec}.sym"
-}
diff --git a/chromeos-base/tast-local-helpers-cros/tast-local-helpers-cros-0.0.1-r326.ebuild b/chromeos-base/tast-local-helpers-cros/tast-local-helpers-cros-0.0.1-r326.ebuild
new file mode 100644
index 0000000..31bff19
--- /dev/null
+++ b/chromeos-base/tast-local-helpers-cros/tast-local-helpers-cros-0.0.1-r326.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("dbb1136242ba822d539eaf11493f3b68815adb7f" "f0233f823e10ba5e459e4cd68dfc993934b2559c")
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "bf03aea0f861ec5a30ee63b5814057ceee176ad9")
+CROS_WORKON_PROJECT=("chromiumos/platform2" "chromiumos/platform/tast-tests")
+CROS_WORKON_LOCALNAME=("platform2" "platform/tast-tests")
+CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/tast-tests")
+CROS_WORKON_SUBTREE=("common-mk .gn" "helpers")
+
+PLATFORM_SUBDIR="tast-tests/helpers/local"
+
+inherit cros-workon platform
+
+DESCRIPTION="Compiled executables used by local Tast tests in the cros bundle"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/master/helpers"
+
+LICENSE="BSD-Google GPL-3"
+SLOT="0/0"
+KEYWORDS="*"
+
+COMMON_DEPEND="
+	dev-cpp/gtest:=
+	media-libs/minigbm:=
+	x11-libs/libdrm:=
+"
+RDEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/goldctl
+	media-video/ffmpeg
+"
+DEPEND="${RDEPEND}"
+
+src_install() {
+	# Executable files' names take the form <category>.<TestName>.<bin_name>.
+	exeinto /usr/libexec/tast/helpers/local/cros
+	doexe "${OUT}"/*.[A-Z]*.*
+	# Install symbol list file to the location required by minidump_stackwalk.
+	# See https://www.chromium.org/developers/decoding-crash-dumps for details.
+	local crasher_exec="${OUT}/platform.UserCrash.crasher"
+	local id=$(head -n1 "${crasher_exec}.sym" | cut -d' ' -f 4)
+	insinto "/usr/libexec/tast/helpers/local/cros/symbols/${crasher_exec##*/}/${id}"
+	doins "${crasher_exec}.sym"
+}
diff --git a/chromeos-base/tast-local-test-runner/tast-local-test-runner-0.0.1-r1423.ebuild b/chromeos-base/tast-local-test-runner/tast-local-test-runner-0.0.1-r1423.ebuild
deleted file mode 100644
index 6bc58c4..0000000
--- a/chromeos-base/tast-local-test-runner/tast-local-test-runner-0.0.1-r1423.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="9e62f787bdb066d6f6d187ba4c5614e81a2289c7"
-CROS_WORKON_TREE="22dce69eb9b87f1074930ff8ca5592eb2312c7da"
-CROS_WORKON_PROJECT="chromiumos/platform/tast"
-CROS_WORKON_LOCALNAME="platform/tast"
-
-CROS_GO_BINARIES=(
-	"chromiumos/tast/cmd/local_test_runner"
-)
-
-CROS_GO_TEST=(
-	"chromiumos/tast/cmd/local_test_runner/..."
-)
-CROS_GO_VET=(
-	"${CROS_GO_TEST[@]}"
-)
-
-inherit cros-go cros-workon
-
-DESCRIPTION="Runner for local integration tests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast/"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
-
-# Build-time dependencies should be added to tast-build-deps, not here.
-DEPEND="chromeos-base/tast-build-deps:="
-
-RDEPEND="
-	app-arch/tar
-	!chromeos-base/tast-common
-"
-
-src_prepare() {
-	# Disable cgo and PIE on building Tast binaries. See:
-	# https://crbug.com/976196
-	# https://github.com/golang/go/issues/30986#issuecomment-475626018
-	export CGO_ENABLED=0
-	export GOPIE=0
-
-	default
-}
diff --git a/chromeos-base/tast-local-test-runner/tast-local-test-runner-0.0.1-r1591.ebuild b/chromeos-base/tast-local-test-runner/tast-local-test-runner-0.0.1-r1591.ebuild
new file mode 100644
index 0000000..d1510c7
--- /dev/null
+++ b/chromeos-base/tast-local-test-runner/tast-local-test-runner-0.0.1-r1591.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="af699a2a75b8905cb30cd7c6a0be61cdb1593d3e"
+CROS_WORKON_TREE="85ff64bf9199aa5473db461312b3208004cbb7e0"
+CROS_WORKON_PROJECT="chromiumos/platform/tast"
+CROS_WORKON_LOCALNAME="platform/tast"
+
+CROS_GO_BINARIES=(
+	"chromiumos/tast/cmd/local_test_runner"
+)
+
+CROS_GO_TEST=(
+	"chromiumos/tast/cmd/local_test_runner/..."
+)
+CROS_GO_VET=(
+	"${CROS_GO_TEST[@]}"
+)
+
+inherit cros-go cros-workon
+
+DESCRIPTION="Runner for local integration tests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+# Build-time dependencies should be added to tast-build-deps, not here.
+DEPEND="chromeos-base/tast-build-deps:="
+
+RDEPEND="
+	app-arch/tar
+	!chromeos-base/tast-common
+"
+
+src_prepare() {
+	# Disable cgo and PIE on building Tast binaries. See:
+	# https://crbug.com/976196
+	# https://github.com/golang/go/issues/30986#issuecomment-475626018
+	export CGO_ENABLED=0
+	export GOPIE=0
+
+	default
+}
diff --git a/chromeos-base/tast-local-tests-cros/tast-local-tests-cros-0.0.2-r11879.ebuild b/chromeos-base/tast-local-tests-cros/tast-local-tests-cros-0.0.2-r11879.ebuild
new file mode 100644
index 0000000..9cf0299
--- /dev/null
+++ b/chromeos-base/tast-local-tests-cros/tast-local-tests-cros-0.0.2-r11879.ebuild
@@ -0,0 +1,72 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT=("d21f15e3a9844e3be7bd2ded8ea6e090384a3152" "af699a2a75b8905cb30cd7c6a0be61cdb1593d3e")
+CROS_WORKON_TREE=("367245af7887704ceaac16dda4adc88673310eea" "85ff64bf9199aa5473db461312b3208004cbb7e0")
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform/tast-tests"
+	"chromiumos/platform/tast"
+)
+CROS_WORKON_LOCALNAME=(
+	"platform/tast-tests"
+	"platform/tast"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}"
+	"${S}/tast-base"
+)
+
+CROS_GO_WORKSPACE=(
+	"${CROS_WORKON_DESTDIR[@]}"
+)
+
+CROS_GO_TEST=(
+	# Also test support packages that live above local/bundles/.
+	"chromiumos/tast/..."
+)
+CROS_GO_VET=(
+	"${CROS_GO_TEST[@]}"
+)
+
+TAST_BUNDLE_EXCLUDE_DATA_FILES="1"
+
+inherit cros-workon tast-bundle
+
+DESCRIPTION="Bundle of local integration tests for Chrome OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast-tests/"
+
+LICENSE="Apache-2.0 BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="arc chromeless_tty chromeless_tests cups"
+
+# Build-time dependencies should be added to tast-build-deps, not here.
+DEPEND="chromeos-base/tast-build-deps:="
+
+RDEPEND="
+	chromeos-base/policy-testserver
+	chromeos-base/tast-local-helpers-cros
+	chromeos-base/tast-tests-local-data
+	chromeos-base/virtual-usb-printer
+	chromeos-base/wprgo
+	!chromeless_tty? (
+		!chromeless_tests? (
+			chromeos-base/drm-tests
+		)
+	)
+	dev-libs/openssl:0=
+	dev-python/pyftdi
+	arc? (
+		chromeos-base/tast-local-apks-cros
+		dev-util/android-tools
+		dev-util/android-uiautomator-server
+	)
+	net-misc/curl
+	cups? (
+		net-print/ippsample
+	)
+	sys-apps/memtester
+	sys-apps/rootdev
+	virtual/udev
+"
diff --git a/chromeos-base/tast-local-tests-cros/tast-local-tests-cros-0.0.2-r9582.ebuild b/chromeos-base/tast-local-tests-cros/tast-local-tests-cros-0.0.2-r9582.ebuild
deleted file mode 100644
index 42aa8c5..0000000
--- a/chromeos-base/tast-local-tests-cros/tast-local-tests-cros-0.0.2-r9582.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT=("45e1d1e1d8426d5a23926257afd9c869029cdbd0" "9e62f787bdb066d6f6d187ba4c5614e81a2289c7")
-CROS_WORKON_TREE=("2ec62aa486b986d29921c17cc96d19a2e1aa0657" "22dce69eb9b87f1074930ff8ca5592eb2312c7da")
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform/tast-tests"
-	"chromiumos/platform/tast"
-)
-CROS_WORKON_LOCALNAME=(
-	"platform/tast-tests"
-	"platform/tast"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}"
-	"${S}/tast-base"
-)
-
-CROS_GO_WORKSPACE=(
-	"${CROS_WORKON_DESTDIR[@]}"
-)
-
-CROS_GO_TEST=(
-	# Also test support packages that live above local/bundles/.
-	"chromiumos/tast/..."
-)
-CROS_GO_VET=(
-	"${CROS_GO_TEST[@]}"
-)
-
-TAST_BUNDLE_EXCLUDE_DATA_FILES="1"
-
-inherit cros-workon tast-bundle
-
-DESCRIPTION="Bundle of local integration tests for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast-tests/"
-
-LICENSE="Apache-2.0 BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="arc chromeless_tty chromeless_tests cups"
-
-# Build-time dependencies should be added to tast-build-deps, not here.
-DEPEND="chromeos-base/tast-build-deps:="
-
-RDEPEND="
-	chromeos-base/policy-testserver
-	chromeos-base/tast-local-helpers-cros
-	chromeos-base/tast-tests-local-data
-	chromeos-base/virtual-usb-printer
-	chromeos-base/wprgo
-	!chromeless_tty? (
-		!chromeless_tests? (
-			chromeos-base/drm-tests
-		)
-	)
-	dev-libs/openssl:0=
-	arc? (
-		chromeos-base/tast-local-apks-cros
-		dev-util/android-tools
-		dev-util/android-uiautomator-server
-	)
-	net-misc/curl
-	cups? (
-		net-print/ippsample
-	)
-	sys-apps/memtester
-	sys-apps/rootdev
-	virtual/udev
-"
diff --git a/chromeos-base/tast-local-tests-cros/tast-local-tests-cros-9999.ebuild b/chromeos-base/tast-local-tests-cros/tast-local-tests-cros-9999.ebuild
index c4eb253..5ad1a54 100644
--- a/chromeos-base/tast-local-tests-cros/tast-local-tests-cros-9999.ebuild
+++ b/chromeos-base/tast-local-tests-cros/tast-local-tests-cros-9999.ebuild
@@ -54,6 +54,7 @@
 		)
 	)
 	dev-libs/openssl:0=
+	dev-python/pyftdi
 	arc? (
 		chromeos-base/tast-local-apks-cros
 		dev-util/android-tools
diff --git a/chromeos-base/tast-proto/tast-proto-0.0.1-r339.ebuild b/chromeos-base/tast-proto/tast-proto-0.0.1-r339.ebuild
deleted file mode 100644
index 86e8b9f..0000000
--- a/chromeos-base/tast-proto/tast-proto-0.0.1-r339.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="9e62f787bdb066d6f6d187ba4c5614e81a2289c7"
-CROS_WORKON_TREE="22dce69eb9b87f1074930ff8ca5592eb2312c7da"
-CROS_WORKON_PROJECT="chromiumos/platform/tast"
-CROS_WORKON_LOCALNAME="platform/tast"
-
-inherit cros-go cros-workon
-
-CROS_GO_VERSION="${PF}"
-
-CROS_GO_PACKAGES=(
-	"chromiumos/tast/framework/protocol/..."
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-DESCRIPTION="Provides go bindings to proto APIs for tast"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast/"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND=""
-
-RDEPEND=""
-
-src_install() {
-	insinto /usr/lib/gopath/src/
-	cros-go_src_install
-}
diff --git a/chromeos-base/tast-proto/tast-proto-0.0.1-r509.ebuild b/chromeos-base/tast-proto/tast-proto-0.0.1-r509.ebuild
new file mode 100644
index 0000000..0dd9334
--- /dev/null
+++ b/chromeos-base/tast-proto/tast-proto-0.0.1-r509.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="af699a2a75b8905cb30cd7c6a0be61cdb1593d3e"
+CROS_WORKON_TREE="85ff64bf9199aa5473db461312b3208004cbb7e0"
+CROS_WORKON_PROJECT="chromiumos/platform/tast"
+CROS_WORKON_LOCALNAME="platform/tast"
+
+inherit cros-go cros-workon
+
+CROS_GO_VERSION="${PF}"
+
+CROS_GO_PACKAGES=(
+	"chromiumos/tast/framework/protocol/..."
+)
+
+CROS_GO_TEST=(
+	"${CROS_GO_PACKAGES[@]}"
+)
+
+DESCRIPTION="Provides go bindings to proto APIs for tast"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="
+	dev-go/protobuf-legacy-api
+	dev-go/text
+"
+
+RDEPEND=""
+
+src_install() {
+	insinto /usr/lib/gopath/src/
+	cros-go_src_install
+}
diff --git a/chromeos-base/tast-proto/tast-proto-9999.ebuild b/chromeos-base/tast-proto/tast-proto-9999.ebuild
index e95ea2b..109db79 100644
--- a/chromeos-base/tast-proto/tast-proto-9999.ebuild
+++ b/chromeos-base/tast-proto/tast-proto-9999.ebuild
@@ -25,7 +25,10 @@
 KEYWORDS="~*"
 IUSE=""
 
-DEPEND=""
+DEPEND="
+	dev-go/protobuf-legacy-api
+	dev-go/text
+"
 
 RDEPEND=""
 
diff --git a/chromeos-base/tast-remote-tests-cros/tast-remote-tests-cros-0.0.2-r11981.ebuild b/chromeos-base/tast-remote-tests-cros/tast-remote-tests-cros-0.0.2-r11981.ebuild
new file mode 100644
index 0000000..2374dba
--- /dev/null
+++ b/chromeos-base/tast-remote-tests-cros/tast-remote-tests-cros-0.0.2-r11981.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT=("d21f15e3a9844e3be7bd2ded8ea6e090384a3152" "af699a2a75b8905cb30cd7c6a0be61cdb1593d3e" "fdcd88182cfd3d40596011819c24bb4927e82d1e")
+CROS_WORKON_TREE=("367245af7887704ceaac16dda4adc88673310eea" "85ff64bf9199aa5473db461312b3208004cbb7e0" "3b88e01b4c689a52c6a8eed97043023877ad2278")
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform/tast-tests"
+	"chromiumos/platform/tast"
+	"chromiumos/platform/fw-testing-configs"
+)
+CROS_WORKON_LOCALNAME=(
+	"platform/tast-tests"
+	"platform/tast"
+	"platform/tast-tests/src/chromiumos/tast/remote/firmware/data/fw-testing-configs"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}"
+	"${S}/tast-base"
+	"${S}/src/chromiumos/tast/remote/firmware/data/fw-testing-configs"
+)
+
+CROS_GO_WORKSPACE=(
+	"${CROS_WORKON_DESTDIR[@]}"
+)
+
+CROS_GO_TEST=(
+	# Also test support packages that live above remote/bundles/.
+	"chromiumos/tast/..."
+)
+CROS_GO_VET=(
+	"${CROS_GO_TEST[@]}"
+)
+
+TAST_BUNDLE_EXCLUDE_DATA_FILES="1"
+
+inherit cros-workon tast-bundle
+
+DESCRIPTION="Bundle of remote integration tests for Chrome OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast-tests/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+# Build-time dependencies should be added to tast-build-deps, not here.
+DEPEND="chromeos-base/tast-build-deps:="
+
+RDEPEND="
+	chromeos-base/tast-tests-remote-data
+	dev-python/pillow
+	media-libs/opencv
+"
diff --git a/chromeos-base/tast-remote-tests-cros/tast-remote-tests-cros-0.0.2-r9667.ebuild b/chromeos-base/tast-remote-tests-cros/tast-remote-tests-cros-0.0.2-r9667.ebuild
deleted file mode 100644
index c0c37c0..0000000
--- a/chromeos-base/tast-remote-tests-cros/tast-remote-tests-cros-0.0.2-r9667.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT=("45e1d1e1d8426d5a23926257afd9c869029cdbd0" "9e62f787bdb066d6f6d187ba4c5614e81a2289c7" "7a01213d5fdc415d99fe5060a0f06fccdcee018a")
-CROS_WORKON_TREE=("2ec62aa486b986d29921c17cc96d19a2e1aa0657" "22dce69eb9b87f1074930ff8ca5592eb2312c7da" "dad0497090bce4480ce6b88ada1f4187c960ccf2")
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform/tast-tests"
-	"chromiumos/platform/tast"
-	"chromiumos/platform/fw-testing-configs"
-)
-CROS_WORKON_LOCALNAME=(
-	"platform/tast-tests"
-	"platform/tast"
-	"platform/tast-tests/src/chromiumos/tast/remote/firmware/data/fw-testing-configs"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}"
-	"${S}/tast-base"
-	"${S}/src/chromiumos/tast/remote/firmware/data/fw-testing-configs"
-)
-
-CROS_GO_WORKSPACE=(
-	"${CROS_WORKON_DESTDIR[@]}"
-)
-
-CROS_GO_TEST=(
-	# Also test support packages that live above remote/bundles/.
-	"chromiumos/tast/..."
-)
-CROS_GO_VET=(
-	"${CROS_GO_TEST[@]}"
-)
-
-TAST_BUNDLE_EXCLUDE_DATA_FILES="1"
-
-inherit cros-workon tast-bundle
-
-DESCRIPTION="Bundle of remote integration tests for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast-tests/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-# Build-time dependencies should be added to tast-build-deps, not here.
-DEPEND="chromeos-base/tast-build-deps:="
-
-RDEPEND="
-	chromeos-base/tast-tests-remote-data
-	dev-python/pillow
-	media-libs/opencv
-"
diff --git a/chromeos-base/tast-remote-tests/OWNERS b/chromeos-base/tast-remote-tests/OWNERS
new file mode 100644
index 0000000..dc74cf1
--- /dev/null
+++ b/chromeos-base/tast-remote-tests/OWNERS
@@ -0,0 +1,2 @@
+# Owned by Tast framework OWNERs.
+include chromiumos/platform/tast:/OWNERS
diff --git a/chromeos-base/tast-remote-tests/tast-remote-tests-1-r1.ebuild b/chromeos-base/tast-remote-tests/tast-remote-tests-1-r1.ebuild
new file mode 120000
index 0000000..ebbff7b
--- /dev/null
+++ b/chromeos-base/tast-remote-tests/tast-remote-tests-1-r1.ebuild
@@ -0,0 +1 @@
+./tast-remote-tests-1.ebuild
\ No newline at end of file
diff --git a/chromeos-base/tast-remote-tests/tast-remote-tests-1.ebuild b/chromeos-base/tast-remote-tests/tast-remote-tests-1.ebuild
new file mode 100644
index 0000000..ab6a123
--- /dev/null
+++ b/chromeos-base/tast-remote-tests/tast-remote-tests-1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="All Tast remote test bundles"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast/"
+
+LICENSE="Apache-2.0 BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="
+	chromeos-base/tast-remote-tests-cros
+	virtual/tast-remote-tests
+"
+DEPEND="${RDEPEND}"
diff --git a/chromeos-base/tast-tests-local-data/tast-tests-local-data-0.0.1-r2000.ebuild b/chromeos-base/tast-tests-local-data/tast-tests-local-data-0.0.1-r2000.ebuild
deleted file mode 100644
index 0aac7c8..0000000
--- a/chromeos-base/tast-tests-local-data/tast-tests-local-data-0.0.1-r2000.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="45e1d1e1d8426d5a23926257afd9c869029cdbd0"
-CROS_WORKON_TREE="757d502015ac5c6ac042bb6cb35e8bfed1ebe1d5"
-CROS_WORKON_PROJECT=("chromiumos/platform/tast-tests")
-CROS_WORKON_LOCALNAME=("platform/tast-tests")
-CROS_WORKON_DESTDIR=("${S}")
-CROS_WORKON_SUBTREE=("src/chromiumos/tast/local")
-
-inherit cros-workon tast-bundle-data
-
-DESCRIPTION="Data files for local Tast tests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast-tests"
-
-LICENSE="BSD-Google GPL-3"
-SLOT="0/0"
-KEYWORDS="*"
-
-DEPEND=""
-
-# data files were pulled from chromeos-base/tast-local-tests-cros in
-# https://crrev.com/c/2975193.
-RDEPEND="!<chromeos-base/tast-local-tests-cros-0.0.2"
diff --git a/chromeos-base/tast-tests-local-data/tast-tests-local-data-0.0.1-r3976.ebuild b/chromeos-base/tast-tests-local-data/tast-tests-local-data-0.0.1-r3976.ebuild
new file mode 100644
index 0000000..48c0e64
--- /dev/null
+++ b/chromeos-base/tast-tests-local-data/tast-tests-local-data-0.0.1-r3976.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="d21f15e3a9844e3be7bd2ded8ea6e090384a3152"
+CROS_WORKON_TREE="6fccd26e7e693106ece8b6f367d7b42005d70bfd"
+CROS_WORKON_PROJECT=("chromiumos/platform/tast-tests")
+CROS_WORKON_LOCALNAME=("platform/tast-tests")
+CROS_WORKON_DESTDIR=("${S}")
+CROS_WORKON_SUBTREE=("src/chromiumos/tast/local")
+
+inherit cros-workon tast-bundle-data
+
+DESCRIPTION="Data files for local Tast tests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast-tests"
+
+LICENSE="BSD-Google GPL-3"
+SLOT="0/0"
+KEYWORDS="*"
+
+DEPEND=""
+
+# data files were pulled from chromeos-base/tast-local-tests-cros in
+# https://crrev.com/c/2975193.
+RDEPEND="!<chromeos-base/tast-local-tests-cros-0.0.2"
diff --git a/chromeos-base/tast-tests-remote-data/tast-tests-remote-data-0.0.1-r2260.ebuild b/chromeos-base/tast-tests-remote-data/tast-tests-remote-data-0.0.1-r2260.ebuild
deleted file mode 100644
index e0192bf..0000000
--- a/chromeos-base/tast-tests-remote-data/tast-tests-remote-data-0.0.1-r2260.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("45e1d1e1d8426d5a23926257afd9c869029cdbd0" "7a01213d5fdc415d99fe5060a0f06fccdcee018a")
-CROS_WORKON_TREE="c839ba85c9fbcec62c3cc6f779193cbedea08d8c"
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform/tast-tests"
-	"chromiumos/platform/fw-testing-configs"
-)
-CROS_WORKON_LOCALNAME=(
-	"platform/tast-tests"
-	"platform/tast-tests/src/chromiumos/tast/remote/firmware/data/fw-testing-configs"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}"
-	"${S}/src/chromiumos/tast/remote/firmware/data/fw-testing-configs"
-)
-
-# There are symlinks between remote data to local data, so we can't make the
-# subtree "src/chromiumos/tast/remote".
-# TODO(oka): have a clear separation between local and remote, and make that
-# happen.
-CROS_WORKON_SUBTREE=("src/chromiumos/tast")
-
-inherit cros-workon tast-bundle-data
-
-DESCRIPTION="Data files for remote Tast tests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast-tests"
-
-LICENSE="BSD-Google GPL-3"
-SLOT="0/0"
-KEYWORDS="*"
-
-DEPEND="sys-firmware/ap-firmware-config:="
-RDEPEND="!<chromeos-base/tast-remote-tests-cros-0.0.2"
-
-src_install() {
-	tast-bundle-data_src_install
-	insinto /usr/share/tast/data/chromiumos/tast/remote/bundles/cros/firmware/data
-	doins /usr/share/ap_firmware_config/fw-config.json
-}
diff --git a/chromeos-base/tast-tests-remote-data/tast-tests-remote-data-0.0.1-r4473.ebuild b/chromeos-base/tast-tests-remote-data/tast-tests-remote-data-0.0.1-r4473.ebuild
new file mode 100644
index 0000000..27ed630
--- /dev/null
+++ b/chromeos-base/tast-tests-remote-data/tast-tests-remote-data-0.0.1-r4473.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("d21f15e3a9844e3be7bd2ded8ea6e090384a3152" "fdcd88182cfd3d40596011819c24bb4927e82d1e")
+CROS_WORKON_TREE="22b3019f33fbfce4bb5e1447b988225df5580e2d"
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform/tast-tests"
+	"chromiumos/platform/fw-testing-configs"
+)
+CROS_WORKON_LOCALNAME=(
+	"platform/tast-tests"
+	"platform/tast-tests/src/chromiumos/tast/remote/firmware/data/fw-testing-configs"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}"
+	"${S}/src/chromiumos/tast/remote/firmware/data/fw-testing-configs"
+)
+
+# There are symlinks between remote data to local data, so we can't make the
+# subtree "src/chromiumos/tast/remote".
+# TODO(oka): have a clear separation between local and remote, and make that
+# happen.
+CROS_WORKON_SUBTREE=("src/chromiumos/tast")
+
+inherit cros-workon tast-bundle-data
+
+DESCRIPTION="Data files for remote Tast tests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast-tests"
+
+LICENSE="BSD-Google GPL-3"
+SLOT="0/0"
+KEYWORDS="*"
+
+DEPEND="sys-firmware/ap-firmware-config:="
+RDEPEND="!<chromeos-base/tast-remote-tests-cros-0.0.2"
+
+src_install() {
+	tast-bundle-data_src_install
+	insinto /usr/share/tast/data/chromiumos/tast/remote/bundles/cros/firmware/data
+	doins /usr/share/ap_firmware_config/fw-config.json
+}
diff --git a/chromeos-base/tast-use-flags/tast-use-flags-1-r72.ebuild b/chromeos-base/tast-use-flags/tast-use-flags-1-r72.ebuild
deleted file mode 100644
index 775a66e..0000000
--- a/chromeos-base/tast-use-flags/tast-use-flags-1-r72.ebuild
+++ /dev/null
@@ -1,175 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
-# the canonical empty project.
-CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
-CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
-CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
-CROS_WORKON_LOCALNAME="platform/empty-project"
-
-inherit cros-workon
-
-DESCRIPTION="Text file listing USE flags for Tast test dependencies"
-
-LICENSE="BSD-Google"
-# Nothing depends on this package for build info.  All the files are used at
-# runtime only by design.
-SLOT="0/0"
-KEYWORDS="*"
-
-# NB: Flags listed here are off by default unless prefixed with a '+'.
-IUSE="
-	amd64
-	android-container-pi
-	android-vm-pi
-	android-vm-rvc
-	arc
-	arc-camera1
-	arc-camera3
-	arc-launched-32bit-abi
-	arcpp
-	arcvm
-	arm
-	arm64
-	asan
-	betty
-	biod
-	borealis_host
-	camera_feature_hdrnet
-	cdm_factory_daemon
-	cert_provision
-	cheets_user
-	cheets_user_64
-	cheets_userdebug
-	cheets_userdebug_64
-	chrome_dcheck
-	chrome_internal
-	chrome_media
-	chromeless_tty
-	containers
-	coresched
-	cr50_onboard
-	+cras
-	crosvm-gpu
-	cups
-	diagnostics
-	disable_cros_video_decoder
-	dptf
-	elm-kernelnext
-	direncription_allow_v2
-	dlc
-	dlc_test
-	+drivefs
-	drm_atomic
-	elm
-	fizz
-	force_breakpad
-	fwupd
-	gboard_decoder
-	grunt
-	hammerd
-	hana
-	hana-kernelnext
-	houdini
-	houdini64
-	hps
-	iioservice
-	inference_accuracy_eval
-	internal
-	iwlwifi_rescan
-	kernel-4_4
-	kernel-4_14
-	kernel-4_19
-	kernel-5_4
-	kernel-5_10
-	kernel-5_15
-	kernel-upstream
-	kukui
-	kvm_host
-	kvm_transition
-	lvm_stateful_partition
-	lxc
-	manatee
-	+mbo
-	memd
-	ml_benchmark_drivers
-	ml_service
-	moblab
-	mocktpm
-	modemfwd
-	msan
-	+nacl
-	ndk_translation
-	ndk_translation64
-	nnapi
-	no_factory_flow
-	nvme
-	nyan_kitty
-	ocr
-	octopus
-	ondevice_document_scanner
-	ondevice_handwriting
-	ondevice_speech
-	pinweaver_csme
-	pita
-	racc
-	rialto
-	rk3399
-	sata
-	selinux
-	selinux_experimental
-	sirenia
-	skate
-	smartdim
-	snow
-	spring
-	+storage_wearout_detect
-	tablet_form_factor
-	tpm2
-	tpm2_simulator
-	tpm_dynamic
-	transparent_hugepage
-	ubsan
-	unibuild
-	usbguard
-	v4l2_codec
-	vaapi
-	veyron_mickey
-	veyron_rialto
-	video_cards_amdgpu
-	video_cards_iHD
-	video_cards_intel
-	video_cards_mediatek
-	video_cards_msm
-	virtio_gpu
-	vulkan
-	watchdog
-	wifi_hostap_test
-	wilco
-	+wired_8021x
-	+wpa3_sae
-	zork
-"
-
-src_install() {
-	# Install a file containing a list of currently-set USE flags.
-	local path="${WORKDIR}/tast_use_flags.txt"
-	cat <<EOF >"${path}"
-# This file is used by the Tast integration testing system to
-# determine which software features are present in the system image.
-# Don't use it for anything else. Your code will break.
-EOF
-
-	# If you need to inspect a new flag, add it to $IUSE at the top of the file.
-	local flags=( ${IUSE} )
-	local flag
-	for flag in "${flags[@]/#[-+]}" ; do
-		usev ${flag}
-	done | sort -u >>"${path}"
-
-	insinto /etc
-	doins "${path}"
-}
diff --git a/chromeos-base/tast-use-flags/tast-use-flags-1-r84.ebuild b/chromeos-base/tast-use-flags/tast-use-flags-1-r84.ebuild
new file mode 100644
index 0000000..579046c
--- /dev/null
+++ b/chromeos-base/tast-use-flags/tast-use-flags-1-r84.ebuild
@@ -0,0 +1,185 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
+# the canonical empty project.
+CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
+CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="platform/empty-project"
+
+inherit cros-workon
+
+DESCRIPTION="Text file listing USE flags for Tast test dependencies"
+
+LICENSE="BSD-Google"
+# Nothing depends on this package for build info.  All the files are used at
+# runtime only by design.
+SLOT="0/0"
+KEYWORDS="*"
+
+# NB: Flags listed here are off by default unless prefixed with a '+'.
+IUSE="
+	amd64
+	android-container-pi
+	android-vm-pi
+	android-vm-rvc
+	android-vm-tm
+	arc
+	arc-camera1
+	arc-camera3
+	arc-launched-32bit-abi
+	arcpp
+	arcvm
+	arcvm_virtio_blk_data
+	arm
+	arm64
+	asan
+	betty
+	biod
+	borealis_host
+	camera_feature_auto_framing
+	camera_feature_hdrnet
+	camera_feature_portrait_mode
+	cdm_factory_daemon
+	cert_provision
+	cheets_user
+	cheets_user_64
+	cheets_userdebug
+	cheets_userdebug_64
+	chrome_dcheck
+	chrome_internal
+	chrome_media
+	chromeless_tty
+	containers
+	coresched
+	cr50_onboard
+	+cras
+	crosvm-gpu
+	cups
+	diagnostics
+	disable_cros_video_decoder
+	dptf
+	elm-kernelnext
+	direncription_allow_v2
+	dlc
+	dlc_test
+	+drivefs
+	drm_atomic
+	elm
+	fizz
+	flex_id
+	force_breakpad
+	fwupd
+	grunt
+	hammerd
+	hana
+	hana-kernelnext
+	houdini
+	houdini64
+	hps
+	iioservice
+	inference_accuracy_eval
+	internal
+	iwlwifi_rescan
+	kernel-4_4
+	kernel-4_14
+	kernel-4_19
+	kernel-5_4
+	kernel-5_10
+	kernel-5_15
+	kernel-upstream
+	kukui
+	kvm_host
+	lvm_stateful_partition
+	lxc
+	manatee
+	+mbo
+	memd
+	ml_benchmark_drivers
+	ml_service
+	moblab
+	mocktpm
+	modemfwd
+	mojo_service_manager
+	msan
+	+nacl
+	ndk_translation
+	ndk_translation64
+	nnapi
+	no_factory_flow
+	nvme
+	nyan_kitty
+	ocr
+	octopus
+	ondevice_document_scanner
+	ondevice_document_scanner_dlc
+	ondevice_grammar
+	ondevice_handwriting
+	ondevice_speech
+	ondevice_text_suggestions
+	pinweaver_csme
+	pita
+	racc
+	rialto
+	rk3399
+	sata
+	selinux
+	selinux_experimental
+	sirenia
+	skate
+	smartdim
+	snow
+	spring
+	+storage_wearout_detect
+	tablet_form_factor
+	ti50_onboard
+	tpm2
+	tpm2_simulator
+	tpm_dynamic
+	transparent_hugepage
+	ubsan
+	unibuild
+	usbguard
+	v4l2_codec
+	vaapi
+	veyron_mickey
+	veyron_rialto
+	video_cards_amdgpu
+	video_cards_iHD
+	video_cards_intel
+	video_cards_mediatek
+	video_cards_msm
+	virtio_gpu
+	vkms
+	vulkan
+	watchdog
+	wifi_hostap_test
+	wilco
+	+wired_8021x
+	+wpa3_sae
+	zork
+"
+
+src_install() {
+	# Install a file containing a list of currently-set USE flags.
+	local path="${WORKDIR}/tast_use_flags.txt"
+	cat <<EOF >"${path}"
+# This file is used by the Tast integration testing system to
+# determine which software features are present in the system image.
+# Don't use it for anything else. Your code will break.
+EOF
+
+	# If you need to inspect a new flag, add it to $IUSE at the top of the file.
+	# shellcheck disable=SC2206
+	local flags=( ${IUSE} )
+	local flag
+	for flag in "${flags[@]/#[-+]}" ; do
+		usev "${flag}"
+	done | sort -u >>"${path}"
+
+	insinto /etc
+	doins "${path}"
+}
diff --git a/chromeos-base/tast-use-flags/tast-use-flags-9999.ebuild b/chromeos-base/tast-use-flags/tast-use-flags-9999.ebuild
index 1c4d5a8..14115b0 100644
--- a/chromeos-base/tast-use-flags/tast-use-flags-9999.ebuild
+++ b/chromeos-base/tast-use-flags/tast-use-flags-9999.ebuild
@@ -24,19 +24,23 @@
 	android-container-pi
 	android-vm-pi
 	android-vm-rvc
+	android-vm-tm
 	arc
 	arc-camera1
 	arc-camera3
 	arc-launched-32bit-abi
 	arcpp
 	arcvm
+	arcvm_virtio_blk_data
 	arm
 	arm64
 	asan
 	betty
 	biod
 	borealis_host
+	camera_feature_auto_framing
 	camera_feature_hdrnet
+	camera_feature_portrait_mode
 	cdm_factory_daemon
 	cert_provision
 	cheets_user
@@ -64,9 +68,9 @@
 	drm_atomic
 	elm
 	fizz
+	flex_id
 	force_breakpad
 	fwupd
-	gboard_decoder
 	grunt
 	hammerd
 	hana
@@ -87,7 +91,6 @@
 	kernel-upstream
 	kukui
 	kvm_host
-	kvm_transition
 	lvm_stateful_partition
 	lxc
 	manatee
@@ -98,6 +101,7 @@
 	moblab
 	mocktpm
 	modemfwd
+	mojo_service_manager
 	msan
 	+nacl
 	ndk_translation
@@ -109,8 +113,11 @@
 	ocr
 	octopus
 	ondevice_document_scanner
+	ondevice_document_scanner_dlc
+	ondevice_grammar
 	ondevice_handwriting
 	ondevice_speech
+	ondevice_text_suggestions
 	pinweaver_csme
 	pita
 	racc
@@ -126,6 +133,7 @@
 	spring
 	+storage_wearout_detect
 	tablet_form_factor
+	ti50_onboard
 	tpm2
 	tpm2_simulator
 	tpm_dynamic
@@ -143,6 +151,7 @@
 	video_cards_mediatek
 	video_cards_msm
 	virtio_gpu
+	vkms
 	vulkan
 	watchdog
 	wifi_hostap_test
@@ -162,10 +171,11 @@
 EOF
 
 	# If you need to inspect a new flag, add it to $IUSE at the top of the file.
+	# shellcheck disable=SC2206
 	local flags=( ${IUSE} )
 	local flag
 	for flag in "${flags[@]/#[-+]}" ; do
-		usev ${flag}
+		usev "${flag}"
 	done | sort -u >>"${path}"
 
 	insinto /etc
diff --git a/chromeos-base/termina-dlc/Manifest b/chromeos-base/termina-dlc/Manifest
index b58862f..939e2d6 100644
--- a/chromeos-base/termina-dlc/Manifest
+++ b/chromeos-base/termina-dlc/Manifest
@@ -1,2 +1,2 @@
-DIST termina_amd64.tbz 124229124 BLAKE2B b51adb7249fb1c7aec882239fba7e15ed8d1d852d615947cba26a5b691dc546abe5f39a8e1481d16ed899ce041d2c483fbe577755c978e5c3956dac8e6d1cf21 SHA512 b27fc3e93647873c230cde84a6c80bc1d8941b1c2a24a71c3394f5a108017e6d3c31e6cfa9036edf262ea73e44de8d317dd730a2438a0df1c33bfddf2f556478
-DIST termina_arm.tbz 81366893 BLAKE2B 97f95f970702d782d2facb097c4f9ceeed52dfbd6b1abe64f00ef62b68691db0bfab23ac49a3b7c9cc1cfd7ef088217e99e5ba2298be39076b4e9576ea93d436 SHA512 7d641886f58635ee199eae05d05c02f7ad62d79f2908c2814c74eee599ecb51642c64f7f6e1fd56b9c95b4c50c045d34481ac3e163b821b823546293ebb6f2ee
+DIST termina_amd64.tbz 130802185 BLAKE2B e0124982c2884226c1e8be8ad360ba59fcc154a919b80d47b83584ea1c352a428af1762d6b28704db22e1e25926acf187ccbe71cfca82c6830b100713c910701 SHA512 6b0ae37024ef76dfe539564699f4be66249a10d48c6e06c6447a66ff9bee259e3f5b0016c9afa93026d09fdcb5527dd3f362ab840a817e42dc4e9ce2f2804c37
+DIST termina_arm.tbz 121934144 BLAKE2B a8b4d7b6cb9027b61211d7c1124a199619134bc7b6a8ac893e7498676ccdec13acb71c605bff0e46a3780435b0b267c988b1eb95a488ac6abb2ac824885ceccb SHA512 eca5701f087babe570ce25492ff6c0e193c620152c8e2d1ffc8adff4815df2a609938b5f5fc6e04d8d20f2f8f7ea6467c2274eb761294a9a319a2ef354127857
diff --git a/chromeos-base/termina-dlc/VERSION-PIN b/chromeos-base/termina-dlc/VERSION-PIN
index f790b16..fe839ff 100644
--- a/chromeos-base/termina-dlc/VERSION-PIN
+++ b/chromeos-base/termina-dlc/VERSION-PIN
@@ -1 +1 @@
-101.14539.0.0
\ No newline at end of file
+106.15046.0.0
\ No newline at end of file
diff --git a/chromeos-base/termina-dlc/termina-dlc-101.14539.0.0-r1.ebuild b/chromeos-base/termina-dlc/termina-dlc-101.14539.0.0-r1.ebuild
deleted file mode 100644
index 410320f..0000000
--- a/chromeos-base/termina-dlc/termina-dlc-101.14539.0.0-r1.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-# A DLC package for distributing termina.
-
-EAPI=7
-
-inherit dlc cros-workon
-
-# This ebuild is upreved via PuPR, so disable the normal uprev process for
-# cros-workon ebuilds.
-CROS_WORKON_MANUAL_UPREV="1"
-
-# "cros_workon info" expects these variables to be set, but we don't have a git
-# repo, so use the standard empty project.
-CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
-CROS_WORKON_LOCALNAME="platform/empty-project"
-
-DESCRIPTION="DLC package for termina."
-
-if [[ ${PV} == 9999 ]]; then
-	SRC_URI=""
-else
-	SRC_URI="
-		amd64? ( gs://termina-component-testing/uprev-test/amd64/${PV}/guest-vm-base.tbz -> termina_amd64.tbz )
-		arm? ( gs://termina-component-testing/uprev-test/arm/${PV}/guest-vm-base.tbz -> termina_arm.tbz )
-		arm64? ( gs://termina-component-testing/uprev-test/arm/${PV}/guest-vm-base.tbz -> termina_arm.tbz )
-	"
-fi
-
-RESTRICT="nomirror"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-S="${WORKDIR}"
-
-IUSE="kvm_host dlc amd64 arm manatee"
-REQUIRED_USE="
-	dlc
-	kvm_host
-	^^ ( amd64 arm arm64 )
-"
-
-# Termina now contains 2 copies of LXD, pulling the image size up to
-# ~135 MiB. Test builds need extra space for test utilities.
-#
-# To check the current size, run "file" on a deployed DLC image. The
-# output will tell you the size of the squashfs filesystem.
-#
-# 1MiB = 256 x 4KiB blocks
-if [[ ${PV} == 9999 ]]; then
-	DLC_PREALLOC_BLOCKS="$((200 * 256))"
-else
-	DLC_PREALLOC_BLOCKS="$((150 * 256))"
-fi
-
-DLC_PRELOAD=true
-
-# We need to inherit from cros-workon so people can do "cros-workon-${BOARD}
-# start termina-dlc", but we don't want to actually run any of the cros-workon
-# steps, so we override pkg_setup and src_unpack with the default
-# implementations.
-pkg_setup() {
-	return
-}
-
-src_unpack() {
-	if [[ -n ${A} ]]; then
-		# $A should be tokenised here as it may contain multiple files
-		# shellcheck disable=SC2086
-		unpack ${A}
-	fi
-}
-
-src_compile() {
-	if [[ ${PV} == 9999 ]]; then
-		if use amd64; then
-			vm_board="tatl"
-		else
-			vm_board="tael"
-		fi
-		image_path="/mnt/host/source/src/build/images/${vm_board}/latest/chromiumos_test_image.bin"
-		[[ ! -f "${image_path}" ]] && die "Couldn't find VM image at ${image_path}, try building a test image for ${vm_board} first"
-
-		/mnt/host/source/src/platform/container-guest-tools/termina/termina_build_image.py "${image_path}" "${S}/vm"
-	fi
-
-	if use manatee; then
-		local digest
-		digest="$(sha256sum "${WORKDIR}/guest-vm-base/vm_kernel" | cut -f1 -d' ' | grep -o .. | \
-			awk 'BEGIN { printf "[" } NR!=1 { printf ", " } { printf("%d", strtonum("0x"$0)) } END { printf "]" }')"
-		sed -e "s/@kernel_digest@/${digest}/" "${FILESDIR}/termina.json.in" > termina.json
-	fi
-}
-
-src_install() {
-	if use manatee; then
-		insinto "/usr/share/manatee/templates"
-		doins termina.json
-	fi
-
-	# This is the subpath underneath the location that dlc mounts the image,
-	# so we dont need additional directories.
-	local install_dir="/"
-	into "$(dlc_add_path ${install_dir})"
-	insinto "$(dlc_add_path ${install_dir})"
-	exeinto "$(dlc_add_path ${install_dir})"
-	doins "${WORKDIR}"/*/*
-	dlc_src_install
-}
diff --git a/chromeos-base/termina-dlc/termina-dlc-106.15036.0.0-r1.ebuild b/chromeos-base/termina-dlc/termina-dlc-106.15036.0.0-r1.ebuild
new file mode 100644
index 0000000..e1e1809
--- /dev/null
+++ b/chromeos-base/termina-dlc/termina-dlc-106.15036.0.0-r1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+# A DLC package for distributing termina.
+
+EAPI=7
+
+inherit dlc cros-workon
+
+# This ebuild is upreved via PuPR, so disable the normal uprev process for
+# cros-workon ebuilds.
+CROS_WORKON_MANUAL_UPREV="1"
+
+# "cros_workon info" expects these variables to be set, but we don't have a git
+# repo, so use the standard empty project.
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="platform/empty-project"
+
+DESCRIPTION="DLC package for termina."
+
+if [[ ${PV} == 9999 ]]; then
+	SRC_URI=""
+else
+	SRC_URI="
+		amd64? ( gs://termina-component-testing/uprev-test/amd64/${PV}/guest-vm-base.tbz -> termina_amd64.tbz )
+		arm? ( gs://termina-component-testing/uprev-test/arm/${PV}/guest-vm-base.tbz -> termina_arm.tbz )
+		arm64? ( gs://termina-component-testing/uprev-test/arm/${PV}/guest-vm-base.tbz -> termina_arm.tbz )
+	"
+fi
+
+RESTRICT="nomirror"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+S="${WORKDIR}"
+
+IUSE="kvm_host dlc amd64 arm manatee"
+REQUIRED_USE="
+	dlc
+	kvm_host
+	^^ ( amd64 arm arm64 )
+"
+
+# Termina now contains 2 copies of LXD, pulling the image size up to
+# ~135 MiB. Test builds need extra space for test utilities.
+#
+# To check the current size, run "file" on a deployed DLC image. The
+# output will tell you the size of the squashfs filesystem.
+#
+# 1MiB = 256 x 4KiB blocks
+if [[ ${PV} == 9999 ]]; then
+	DLC_PREALLOC_BLOCKS="$((200 * 256))"
+else
+	DLC_PREALLOC_BLOCKS="$((150 * 256))"
+fi
+
+DLC_PRELOAD=true
+
+# We need to inherit from cros-workon so people can do "cros-workon-${BOARD}
+# start termina-dlc", but we don't want to actually run any of the cros-workon
+# steps, so we override pkg_setup and src_unpack with the default
+# implementations.
+pkg_setup() {
+	return
+}
+
+src_unpack() {
+	if [[ -n ${A} ]]; then
+		# $A should be tokenised here as it may contain multiple files
+		# shellcheck disable=SC2086
+		unpack ${A}
+	fi
+}
+
+src_compile() {
+	if [[ ${PV} == 9999 ]]; then
+		if use amd64; then
+			vm_board="tatl"
+		else
+			vm_board="tael"
+		fi
+		image_path="/mnt/host/source/src/build/images/${vm_board}/latest/chromiumos_test_image.bin"
+		[[ ! -f "${image_path}" ]] && die "Couldn't find VM image at ${image_path}, try building a test image for ${vm_board} first"
+
+		/mnt/host/source/src/platform/container-guest-tools/termina/termina_build_image.py "${image_path}" "${S}/vm"
+	fi
+
+	if use manatee; then
+		local subdir=guest-vm-base
+		if [[ ${PV} == 9999 ]]; then
+			subdir=vm
+		fi
+		local digest
+		digest="$(sha256sum "${WORKDIR}/${subdir}/vm_kernel" | cut -f1 -d' ' | grep -o .. | \
+			awk 'BEGIN { printf "[" } NR!=1 { printf ", " } { printf("%d", strtonum("0x"$0)) } END { printf "]" }')"
+		sed -e "s/@kernel_digest@/${digest}/" "${FILESDIR}/termina.json.in" > termina.json
+	fi
+}
+
+src_install() {
+	if use manatee; then
+		insinto "/usr/share/manatee/templates"
+		doins termina.json
+	fi
+
+	# This is the subpath underneath the location that dlc mounts the image,
+	# so we dont need additional directories.
+	local install_dir="/"
+	into "$(dlc_add_path ${install_dir})"
+	insinto "$(dlc_add_path ${install_dir})"
+	exeinto "$(dlc_add_path ${install_dir})"
+	doins "${WORKDIR}"/*/*
+	dlc_src_install
+}
diff --git a/chromeos-base/termina-dlc/termina-dlc-9999.ebuild b/chromeos-base/termina-dlc/termina-dlc-9999.ebuild
index c167f55..fae8fa6 100644
--- a/chromeos-base/termina-dlc/termina-dlc-9999.ebuild
+++ b/chromeos-base/termina-dlc/termina-dlc-9999.ebuild
@@ -87,8 +87,12 @@
 	fi
 
 	if use manatee; then
+		local subdir=guest-vm-base
+		if [[ ${PV} == 9999 ]]; then
+			subdir=vm
+		fi
 		local digest
-		digest="$(sha256sum "${WORKDIR}/guest-vm-base/vm_kernel" | cut -f1 -d' ' | grep -o .. | \
+		digest="$(sha256sum "${WORKDIR}/${subdir}/vm_kernel" | cut -f1 -d' ' | grep -o .. | \
 			awk 'BEGIN { printf "[" } NR!=1 { printf ", " } { printf("%d", strtonum("0x"$0)) } END { printf "]" }')"
 		sed -e "s/@kernel_digest@/${digest}/" "${FILESDIR}/termina.json.in" > termina.json
 	fi
diff --git a/chromeos-base/termina-tools-dlc/Manifest b/chromeos-base/termina-tools-dlc/Manifest
index b58862f..939e2d6 100644
--- a/chromeos-base/termina-tools-dlc/Manifest
+++ b/chromeos-base/termina-tools-dlc/Manifest
@@ -1,2 +1,2 @@
-DIST termina_amd64.tbz 124229124 BLAKE2B b51adb7249fb1c7aec882239fba7e15ed8d1d852d615947cba26a5b691dc546abe5f39a8e1481d16ed899ce041d2c483fbe577755c978e5c3956dac8e6d1cf21 SHA512 b27fc3e93647873c230cde84a6c80bc1d8941b1c2a24a71c3394f5a108017e6d3c31e6cfa9036edf262ea73e44de8d317dd730a2438a0df1c33bfddf2f556478
-DIST termina_arm.tbz 81366893 BLAKE2B 97f95f970702d782d2facb097c4f9ceeed52dfbd6b1abe64f00ef62b68691db0bfab23ac49a3b7c9cc1cfd7ef088217e99e5ba2298be39076b4e9576ea93d436 SHA512 7d641886f58635ee199eae05d05c02f7ad62d79f2908c2814c74eee599ecb51642c64f7f6e1fd56b9c95b4c50c045d34481ac3e163b821b823546293ebb6f2ee
+DIST termina_amd64.tbz 130802185 BLAKE2B e0124982c2884226c1e8be8ad360ba59fcc154a919b80d47b83584ea1c352a428af1762d6b28704db22e1e25926acf187ccbe71cfca82c6830b100713c910701 SHA512 6b0ae37024ef76dfe539564699f4be66249a10d48c6e06c6447a66ff9bee259e3f5b0016c9afa93026d09fdcb5527dd3f362ab840a817e42dc4e9ce2f2804c37
+DIST termina_arm.tbz 121934144 BLAKE2B a8b4d7b6cb9027b61211d7c1124a199619134bc7b6a8ac893e7498676ccdec13acb71c605bff0e46a3780435b0b267c988b1eb95a488ac6abb2ac824885ceccb SHA512 eca5701f087babe570ce25492ff6c0e193c620152c8e2d1ffc8adff4815df2a609938b5f5fc6e04d8d20f2f8f7ea6467c2274eb761294a9a319a2ef354127857
diff --git a/chromeos-base/termina-tools-dlc/termina-tools-dlc-101.14539.0.0-r1.ebuild b/chromeos-base/termina-tools-dlc/termina-tools-dlc-106.15036.0.0-r1.ebuild
similarity index 100%
rename from chromeos-base/termina-tools-dlc/termina-tools-dlc-101.14539.0.0-r1.ebuild
rename to chromeos-base/termina-tools-dlc/termina-tools-dlc-106.15036.0.0-r1.ebuild
diff --git a/chromeos-base/test-dlc/OWNERS b/chromeos-base/test-dlc/OWNERS
new file mode 100644
index 0000000..43aa1b5
--- /dev/null
+++ b/chromeos-base/test-dlc/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/dlcservice/OWNERS
diff --git a/chromeos-base/test-server/test-server-0.0.1-r138.ebuild b/chromeos-base/test-server/test-server-0.0.1-r138.ebuild
deleted file mode 100644
index e8edb6f..0000000
--- a/chromeos-base/test-server/test-server-0.0.1-r138.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="1b888ab4fcd72c6c4edd61ab5282756be5a8f0f5"
-CROS_WORKON_TREE="deaf62ac70faaf18ace949c7830a18f80afaea89"
-CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
-CROS_WORKON_LOCALNAME="platform/dev"
-CROS_WORKON_SUBTREE="src"
-
-inherit cros-workon
-
-# TODO(shapiroc): Delete after SDK migrated test-services package
-DESCRIPTION="Obsolete (to remove)"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
diff --git a/chromeos-base/test-server/test-server-0.0.1-r215.ebuild b/chromeos-base/test-server/test-server-0.0.1-r215.ebuild
new file mode 100644
index 0000000..8f97914
--- /dev/null
+++ b/chromeos-base/test-server/test-server-0.0.1-r215.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="6d09c3d7ced419a80157d7488c826c7086cd078c"
+CROS_WORKON_TREE="451aa817520c1ec50b61a36767a7ac50517b5f64"
+CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
+CROS_WORKON_LOCALNAME="platform/dev"
+CROS_WORKON_SUBTREE="src"
+
+inherit cros-workon
+
+# TODO(shapiroc): Delete after SDK migrated test-services package
+DESCRIPTION="Obsolete (to remove)"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
diff --git a/chromeos-base/timberslide/files/revision_bump b/chromeos-base/timberslide/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/timberslide/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/timberslide/timberslide-0.0.1-r1657.ebuild b/chromeos-base/timberslide/timberslide-0.0.1-r1657.ebuild
deleted file mode 100644
index cdf4109..0000000
--- a/chromeos-base/timberslide/timberslide-0.0.1-r1657.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "4a0dedab080195bdc122d2289118df4af3ddca2c" "03fa7b4f0634999ce6aec1391ba9d90f1b0395dc" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(https://crbug.com/809389)
-CROS_WORKON_SUBTREE="common-mk metrics timberslide .gn"
-
-PLATFORM_SUBDIR="timberslide"
-
-inherit cros-workon platform
-
-DESCRIPTION="EC log concatenator for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/timberslide/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	dev-libs/re2:=
-"
-
-DEPEND="${RDEPEND}"
-
-src_install() {
-	platform_install
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/timberslide/timberslide-0.0.1-r1754.ebuild b/chromeos-base/timberslide/timberslide-0.0.1-r1754.ebuild
new file mode 100644
index 0000000..b398bb6
--- /dev/null
+++ b/chromeos-base/timberslide/timberslide-0.0.1-r1754.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "03fa7b4f0634999ce6aec1391ba9d90f1b0395dc" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(https://crbug.com/809389)
+CROS_WORKON_SUBTREE="common-mk metrics timberslide .gn"
+
+PLATFORM_SUBDIR="timberslide"
+
+inherit cros-workon platform
+
+DESCRIPTION="EC log concatenator for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/timberslide/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	dev-libs/re2:=
+"
+
+DEPEND="${RDEPEND}"
+
+src_install() {
+	platform_install
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/timberslide/timberslide-9999.ebuild b/chromeos-base/timberslide/timberslide-9999.ebuild
index cddcfe3..4abb04d 100644
--- a/chromeos-base/timberslide/timberslide-9999.ebuild
+++ b/chromeos-base/timberslide/timberslide-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="EC log concatenator for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/timberslide/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/timberslide/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/toolchain-tests/files/llvm-profdata-test.py b/chromeos-base/toolchain-tests/files/llvm-profdata-test.py
new file mode 100755
index 0000000..368b4c2
--- /dev/null
+++ b/chromeos-base/toolchain-tests/files/llvm-profdata-test.py
@@ -0,0 +1,127 @@
+#!/usr/bin/env python3
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+"""Basic functionality tests for llvm-profdata."""
+
+import os
+import subprocess
+import unittest
+from pathlib import Path
+
+# Example taken from LLVM's llvm/Transforms/SampleProfile/Inputs/summary.prof
+_EXAMPLE_PROFILE_DATA = """
+bar:100:3
+ 1: 100
+foo:200:1
+ 1: 200
+baz:600:1
+ 1: 0
+ 2: 300
+ 1: bar:300
+  1: 300
+"""
+
+# A clang program that doesn't _completely_ match the profile above, but should
+# prompt clang to at least load the entries from it.
+_CLANG_PROGRAM = """
+int foo(int i) {
+  if (i)
+    return 1;
+  return 2;
+}
+int bar(int i) {
+  if (i)
+    return 1;
+  return 2;
+}
+int baz(int i) {
+  if (i)
+    return 1;
+  return 2;
+}
+"""
+
+
+class Test(unittest.TestCase):
+    """Tests for llvm-profdata."""
+
+    def create_test_case_tempdir(self) -> Path:
+        """Creates a tempdir unique to the given test."""
+        t = os.getenv('T')
+        assert t, '$T should be set'
+        dir_path = Path(t) / 'llvm-profdata-test' / self.id()
+        dir_path.mkdir(parents=True, exist_ok=False)
+        # Don't worry about cleaning this up; portage will handle it if
+        # appropriate.
+        return dir_path
+
+    def _test_conversion_succeeds(self, conversion_flag):
+        """Tests that a given profile format seems to work.
+
+        Work, in this case, means that we can convert to it from a text
+        profile, and that clang can parse the result.
+        """
+        tempdir = self.create_test_case_tempdir()
+        input_file = tempdir / 'input.proftxt'
+        output_file = tempdir / 'converted-output'
+        input_file.write_text(_EXAMPLE_PROFILE_DATA, encoding='utf-8')
+
+        # Unfortunately, testing for roundtripability doesn't work with some of
+        # the formats we care about (e.g., extbinary). Just be sure that
+        # llvm-profdata can emit a profile in a suitable format, and that clang
+        # can _load_ it.
+        subprocess.run(
+            [
+                'llvm-profdata',
+                'merge',
+                '--sample',
+                conversion_flag,
+                f'--output={output_file}',
+                str(input_file),
+            ],
+            check=True,
+        )
+
+        cc = os.getenv('CC')
+        assert cc, 'need $CC set'
+        subprocess.run(
+            [
+                cc,
+                '-c',
+                '-O2',
+                f'-fprofile-sample-use={output_file}',
+                '-x',
+                'c',
+                '-',
+                '-o',
+                '/dev/null',
+            ],
+            check=True,
+            encoding='utf-8',
+            input=_CLANG_PROGRAM,
+            stderr=subprocess.DEVNULL,
+        )
+
+    def test_text_conversion_works(self):
+        """Tests that text profile conversion works.
+
+        In theory, it's a nop, but it's cheap to just be sure.
+        """
+        self._test_conversion_succeeds('--text')
+
+    def test_binary_conversion_works(self):
+        """Tests that regular binary profile conversion works."""
+        self._test_conversion_succeeds('--binary')
+
+    def test_compbinary_conversion_works(self):
+        """Tests that compbinary profile conversion works."""
+        self._test_conversion_succeeds('--compbinary')
+
+    def test_extbinary_conversion_works(self):
+        """Tests that extbinary profile conversion works."""
+        self._test_conversion_succeeds('--compbinary')
+
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/chromeos-base/toolchain-tests/toolchain-tests-0.0.1-r6117.ebuild b/chromeos-base/toolchain-tests/toolchain-tests-0.0.1-r6117.ebuild
deleted file mode 100644
index f41f1f4..0000000
--- a/chromeos-base/toolchain-tests/toolchain-tests-0.0.1-r6117.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="60ac81314efc8b9afa57bfed98402b9250a51128"
-CROS_WORKON_TREE="72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2"
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
-
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon python-any-r1
-
-DESCRIPTION="Compilation and runtime tests for toolchain"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-src_unpack() {
-	cros-workon_src_unpack
-	S+="/client/site_tests/platform_ToolchainTests/src"
-}
diff --git a/chromeos-base/toolchain-tests/toolchain-tests-0.0.1-r6828.ebuild b/chromeos-base/toolchain-tests/toolchain-tests-0.0.1-r6828.ebuild
new file mode 100644
index 0000000..9b451ae
--- /dev/null
+++ b/chromeos-base/toolchain-tests/toolchain-tests-0.0.1-r6828.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="97f5d3a696dbbd15847d2e23692290c9b43dcffe"
+CROS_WORKON_TREE="e2c200b37b72780b72fd07a23555aedf104222cf"
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon python-any-r1
+
+DESCRIPTION="Compilation and runtime tests for toolchain"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+src_unpack() {
+	cros-workon_src_unpack
+	S+="/client/site_tests/platform_ToolchainTests/src"
+}
+
+src_test() {
+	einfo "Testing llvm-profdata..."
+	"${FILESDIR}/llvm-profdata-test.py" || die
+	default
+}
diff --git a/chromeos-base/toolchain-tests/toolchain-tests-9999.ebuild b/chromeos-base/toolchain-tests/toolchain-tests-9999.ebuild
index e8931047..170c1e5 100644
--- a/chromeos-base/toolchain-tests/toolchain-tests-9999.ebuild
+++ b/chromeos-base/toolchain-tests/toolchain-tests-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-PYTHON_COMPAT=( python2_7 python{3_6,3_7,3_8} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
 CROS_WORKON_LOCALNAME="third_party/autotest/files"
@@ -20,3 +20,9 @@
 	cros-workon_src_unpack
 	S+="/client/site_tests/platform_ToolchainTests/src"
 }
+
+src_test() {
+	einfo "Testing llvm-profdata..."
+	"${FILESDIR}/llvm-profdata-test.py" || die
+	default
+}
diff --git a/chromeos-base/touch_firmware_calibration/files/revision_bump b/chromeos-base/touch_firmware_calibration/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/touch_firmware_calibration/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/touch_firmware_calibration/touch_firmware_calibration-0.0.1-r1010.ebuild b/chromeos-base/touch_firmware_calibration/touch_firmware_calibration-0.0.1-r1010.ebuild
new file mode 100644
index 0000000..ccd96a2
--- /dev/null
+++ b/chromeos-base/touch_firmware_calibration/touch_firmware_calibration-0.0.1-r1010.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "55f3832e43104006d40fb50872f058e8cd27f233" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk touch_firmware_calibration .gn"
+
+PLATFORM_SUBDIR="touch_firmware_calibration"
+
+inherit cros-workon platform user udev
+
+DESCRIPTION="Touch Firmware Calibration"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/touch_firmware_calibration/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+pkg_preinst() {
+	# Set up touch_firmware_calibration user and group which will be used to
+	# run tools for calibration.
+	enewuser touch_firmware_calibration
+	enewgroup touch_firmware_calibration
+}
+
+src_install() {
+	# Install a tool to override max pressure.
+	exeinto "$(get_udevdir)"
+	doexe "${OUT}/override-max-pressure"
+
+	# Install the correct seccomp policy for this architecture.
+	insinto "/usr/share/policy"
+	newins "seccomp/override-max-pressure-seccomp-${ARCH}.policy" override-max-pressure-seccomp.policy
+}
diff --git a/chromeos-base/touch_firmware_calibration/touch_firmware_calibration-0.0.1-r951.ebuild b/chromeos-base/touch_firmware_calibration/touch_firmware_calibration-0.0.1-r951.ebuild
deleted file mode 100644
index 9e29c5d..0000000
--- a/chromeos-base/touch_firmware_calibration/touch_firmware_calibration-0.0.1-r951.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "c0f8db1d4e6470300faa1aca4149c872dd57c1ad" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk touch_firmware_calibration .gn"
-
-PLATFORM_SUBDIR="touch_firmware_calibration"
-
-inherit cros-workon platform user udev
-
-DESCRIPTION="Touch Firmware Calibration"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/touch_firmware_calibration/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-pkg_preinst() {
-	# Set up touch_firmware_calibration user and group which will be used to
-	# run tools for calibration.
-	enewuser touch_firmware_calibration
-	enewgroup touch_firmware_calibration
-}
-
-src_install() {
-	# Install a tool to override max pressure.
-	exeinto "$(get_udevdir)"
-	doexe "${OUT}/override-max-pressure"
-
-	# Install the correct seccomp policy for this architecture.
-	insinto "/usr/share/policy"
-	newins "seccomp/override-max-pressure-seccomp-${ARCH}.policy" override-max-pressure-seccomp.policy
-}
diff --git a/chromeos-base/touch_firmware_calibration/touch_firmware_calibration-9999.ebuild b/chromeos-base/touch_firmware_calibration/touch_firmware_calibration-9999.ebuild
index b6e592a..c4e3f47 100644
--- a/chromeos-base/touch_firmware_calibration/touch_firmware_calibration-9999.ebuild
+++ b/chromeos-base/touch_firmware_calibration/touch_firmware_calibration-9999.ebuild
@@ -13,7 +13,7 @@
 inherit cros-workon platform user udev
 
 DESCRIPTION="Touch Firmware Calibration"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/touch_firmware_calibration/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/touch_firmware_calibration/"
 SRC_URI=""
 
 LICENSE="BSD-Google"
diff --git a/chromeos-base/touch_firmware_test/touch_firmware_test-0.0.1-r120.ebuild b/chromeos-base/touch_firmware_test/touch_firmware_test-0.0.1-r120.ebuild
deleted file mode 100644
index 923e6d1..0000000
--- a/chromeos-base/touch_firmware_test/touch_firmware_test-0.0.1-r120.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="2385881e6a19a904687ced52f27541b716e8168c"
-CROS_WORKON_TREE="09eb58ea97822c5589c961d0bd338c40927ee224"
-CROS_WORKON_PROJECT="chromiumos/platform/touch_firmware_test"
-CROS_WORKON_LOCALNAME="platform/touch_firmware_test"
-
-PYTHON_COMPAT=( python2_7 python3_{6..8} )
-inherit cros-sanitizers cros-workon cros-constants cros-debug distutils-r1
-
-DESCRIPTION="Chromium OS multitouch utilities"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="-asan"
-
-RDEPEND=""
-
-DEPEND=${RDEPEND}
-
-src_configure() {
-	sanitizers-setup-env
-	cros-debug-add-NDEBUG
-	default
-}
-
-src_install() {
-	# install the remote package
-	distutils-r1_src_install
-
-	# install the webplot script
-	exeinto /usr/local/bin
-	newexe webplot/chromeos_wrapper.sh webplot
-
-	# install the heatmapplot script
-	newexe heatmap/chromeos_heatmapplot_wrapper.sh heatmapplot
-
-	# install to autotest deps directory for dependency
-	DESTDIR="${D}${AUTOTEST_BASE}/client/deps/touchpad-tests/touch_firmware_test"
-	mkdir -p "${DESTDIR}"
-	echo "CMD:" cp -Rp "${S}"/* "${DESTDIR}"
-	cp -Rp "${S}"/* "${DESTDIR}"
-}
diff --git a/chromeos-base/touch_firmware_test/touch_firmware_test-0.0.1-r123.ebuild b/chromeos-base/touch_firmware_test/touch_firmware_test-0.0.1-r123.ebuild
new file mode 100644
index 0000000..792be0d
--- /dev/null
+++ b/chromeos-base/touch_firmware_test/touch_firmware_test-0.0.1-r123.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="b8b2c09a7965e530eeeba1e7adac51ef542264ee"
+CROS_WORKON_TREE="90bdf7bf8277a134d32c41f8816b2551cceb66a3"
+CROS_WORKON_PROJECT="chromiumos/platform/touch_firmware_test"
+CROS_WORKON_LOCALNAME="platform/touch_firmware_test"
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cros-sanitizers cros-workon cros-constants cros-debug distutils-r1
+
+DESCRIPTION="Chromium OS multitouch utilities"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="-asan"
+
+RDEPEND=""
+
+DEPEND=${RDEPEND}
+
+src_configure() {
+	sanitizers-setup-env
+	cros-debug-add-NDEBUG
+	default
+}
+
+src_install() {
+	# install the remote package
+	distutils-r1_src_install
+
+	# install the webplot script
+	exeinto /usr/local/bin
+	newexe webplot/chromeos_wrapper.sh webplot
+
+	# install the heatmapplot script
+	newexe heatmap/chromeos_heatmapplot_wrapper.sh heatmapplot
+
+	# install to autotest deps directory for dependency
+	DESTDIR="${D}${AUTOTEST_BASE}/client/deps/touchpad-tests/touch_firmware_test"
+	mkdir -p "${DESTDIR}"
+	echo "CMD:" cp -Rp "${S}"/* "${DESTDIR}"
+	cp -Rp "${S}"/* "${DESTDIR}"
+}
diff --git a/chromeos-base/touch_firmware_test/touch_firmware_test-9999.ebuild b/chromeos-base/touch_firmware_test/touch_firmware_test-9999.ebuild
index 91150aa..18deb2f 100644
--- a/chromeos-base/touch_firmware_test/touch_firmware_test-9999.ebuild
+++ b/chromeos-base/touch_firmware_test/touch_firmware_test-9999.ebuild
@@ -5,7 +5,7 @@
 CROS_WORKON_PROJECT="chromiumos/platform/touch_firmware_test"
 CROS_WORKON_LOCALNAME="platform/touch_firmware_test"
 
-PYTHON_COMPAT=( python2_7 python3_{6..8} )
+PYTHON_COMPAT=( python3_{6..9} )
 inherit cros-sanitizers cros-workon cros-constants cros-debug distutils-r1
 
 DESCRIPTION="Chromium OS multitouch utilities"
diff --git a/chromeos-base/touch_updater/touch_updater-0.0.1-r243.ebuild b/chromeos-base/touch_updater/touch_updater-0.0.1-r243.ebuild
deleted file mode 100644
index f0e2302..0000000
--- a/chromeos-base/touch_updater/touch_updater-0.0.1-r243.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="13b91b4924a41f52a3060c115b1e29f6a2925fd0"
-CROS_WORKON_TREE=("824f3c5b3117a27dae643bee78a60aea65ef9b43" "8be5f648b1d2ee7c4afaf96a61b010fed415df31")
-CROS_WORKON_LOCALNAME="platform/touch_updater"
-CROS_WORKON_PROJECT="chromiumos/platform/touch_updater"
-CROS_WORKON_SUBTREE="policies scripts"
-CROS_WORKON_OUTOFTREE_BUILD=1
-
-inherit cros-workon user
-
-DESCRIPTION="Touch firmware and config updater"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="
-	input_devices_synaptics
-	input_devices_wacom
-	input_devices_etphidiap
-	input_devices_st
-	input_devices_st_touchscreen
-	input_devices_weida
-	input_devices_goodix
-	input_devices_sis
-	input_devices_pixart
-	input_devices_g2touch
-	input_devices_cirque
-	input_devices_elan_i2chid
-	input_devices_melfas
-	input_devices_emright
-	input_devices_eps2pstiap
-	input_devices_zinitix
-	input_devices_himax
-	input_devices_nvt_ts
-"
-
-# Third party firmware updaters usually belong in sys-apps/.  If you just
-# checked in a new one to chromeos-base/, please move it to sys-apps/ before
-# adding it as a dependency here.
-RDEPEND="
-	chromeos-base/chromeos-touch-common
-	input_devices_synaptics? ( chromeos-base/rmi4utils )
-	input_devices_wacom? ( chromeos-base/wacom_fw_flash )
-	input_devices_etphidiap? ( chromeos-base/chromeos-touch-etphidiap )
-	input_devices_st? ( chromeos-base/st_flash )
-	input_devices_st_touchscreen? ( chromeos-base/chromeos-touch-stupdate )
-	input_devices_weida? ( chromeos-base/weida_wdt_util )
-	input_devices_goodix? ( chromeos-base/gdix_hid_firmware_update )
-	input_devices_sis? ( chromeos-base/sisConsoletool )
-	input_devices_pixart? ( chromeos-base/pixart_tpfwup )
-	input_devices_g2touch? ( chromeos-base/g2update_tool )
-	input_devices_cirque? ( chromeos-base/cirque_fw_update )
-	input_devices_elan_i2chid? ( chromeos-base/elan_i2chid_tools )
-	input_devices_melfas? ( chromeos-base/mfs-console-tool )
-	input_devices_emright? ( chromeos-base/emright_fw_updater )
-	input_devices_eps2pstiap? ( chromeos-base/epstps2iap )
-	input_devices_zinitix? ( chromeos-base/zinitix_fw_updater )
-	input_devices_himax? ( chromeos-base/hx_hid_util )
-	input_devices_nvt_ts? ( chromeos-base/chromeos-nvt-touch-updater )
-"
-
-pkg_preinst() {
-	if use input_devices_elan_i2chid || use input_devices_melfas || use input_devices_emright || use input_devices_zinitix || use input_devices_nvt_ts; then
-		enewgroup fwupdate-hidraw
-		enewuser fwupdate-hidraw
-	fi
-	if use input_devices_sis; then
-		enewgroup sisfwupdate
-		enewuser sisfwupdate
-	fi
-	if use input_devices_pixart; then
-		enewgroup pixfwupdate
-		enewuser pixfwupdate
-	fi
-	if use input_devices_g2touch; then
-		enewgroup g2touch
-		enewuser g2touch
-	fi
-	if use input_devices_goodix; then
-		enewgroup goodixfwupdate
-		enewuser goodixfwupdate
-	fi
-	if use input_devices_cirque; then
-		enewgroup cirque
-		enewuser cirque
-	fi
-	if use input_devices_eps2pstiap; then
-		enewgroup fwupdate-serio
-		enewuser fwupdate-serio
-	fi
-	if use input_devices_himax; then
-		enewgroup fwupdate-i2c
-		enewuser fwupdate-i2c
-	fi
-}
-
-src_install() {
-	exeinto "/opt/google/touch/scripts"
-	doexe scripts/*.sh
-
-	if [ -d "policies/${ARCH}" ]; then
-		insinto "/opt/google/touch/policies"
-		doins policies/${ARCH}/*.policy
-	fi
-}
diff --git a/chromeos-base/touch_updater/touch_updater-0.0.1-r250.ebuild b/chromeos-base/touch_updater/touch_updater-0.0.1-r250.ebuild
new file mode 100644
index 0000000..cf35da5
--- /dev/null
+++ b/chromeos-base/touch_updater/touch_updater-0.0.1-r250.ebuild
@@ -0,0 +1,110 @@
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="3dfdc20fcfb31379845631a0de76bd6b1ab98638"
+CROS_WORKON_TREE=("fd6d899d42e4b40b437dbb32dd304e68bdfdc583" "10bc8533947cc221add91d7399b8a07827aec86e")
+CROS_WORKON_LOCALNAME="platform/touch_updater"
+CROS_WORKON_PROJECT="chromiumos/platform/touch_updater"
+CROS_WORKON_SUBTREE="policies scripts"
+CROS_WORKON_OUTOFTREE_BUILD=1
+
+inherit cros-workon user
+
+DESCRIPTION="Touch firmware and config updater"
+HOMEPAGE="https://www.chromium.org/chromium-os"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="
+	input_devices_synaptics
+	input_devices_wacom
+	input_devices_etphidiap
+	input_devices_st
+	input_devices_st_touchscreen
+	input_devices_weida
+	input_devices_goodix
+	input_devices_sis
+	input_devices_pixart
+	input_devices_g2touch
+	input_devices_cirque
+	input_devices_elan_i2chid
+	input_devices_melfas
+	input_devices_emright
+	input_devices_eps2pstiap
+	input_devices_zinitix
+	input_devices_himax
+	input_devices_nvt_ts
+"
+
+# Third party firmware updaters usually belong in sys-apps/.  If you just
+# checked in a new one to chromeos-base/, please move it to sys-apps/ before
+# adding it as a dependency here.
+RDEPEND="
+	chromeos-base/chromeos-touch-common
+	input_devices_synaptics? ( chromeos-base/rmi4utils )
+	input_devices_wacom? ( chromeos-base/wacom_fw_flash )
+	input_devices_etphidiap? ( chromeos-base/chromeos-touch-etphidiap )
+	input_devices_st? ( chromeos-base/st_flash )
+	input_devices_st_touchscreen? ( chromeos-base/chromeos-touch-stupdate )
+	input_devices_weida? ( chromeos-base/weida_wdt_util )
+	input_devices_goodix? ( chromeos-base/gdix_hid_firmware_update )
+	input_devices_sis? ( chromeos-base/sisConsoletool )
+	input_devices_pixart? ( chromeos-base/pixart_tpfwup )
+	input_devices_g2touch? ( chromeos-base/g2update_tool )
+	input_devices_cirque? ( chromeos-base/cirque_fw_update )
+	input_devices_elan_i2chid? ( chromeos-base/elan_i2chid_tools )
+	input_devices_melfas? ( chromeos-base/mfs-console-tool )
+	input_devices_emright? ( chromeos-base/emright_fw_updater )
+	input_devices_eps2pstiap? ( chromeos-base/epstps2iap )
+	input_devices_zinitix? ( chromeos-base/zinitix_fw_updater )
+	input_devices_himax? ( chromeos-base/hx_hid_util )
+	input_devices_nvt_ts? ( chromeos-base/chromeos-nvt-touch-updater )
+"
+
+pkg_preinst() {
+	if use input_devices_elan_i2chid || use input_devices_melfas || use input_devices_emright || use input_devices_zinitix || use input_devices_nvt_ts; then
+		enewgroup fwupdate-hidraw
+		enewuser fwupdate-hidraw
+	fi
+	if use input_devices_sis; then
+		enewgroup sisfwupdate
+		enewuser sisfwupdate
+	fi
+	if use input_devices_pixart; then
+		enewgroup pixfwupdate
+		enewuser pixfwupdate
+	fi
+	if use input_devices_g2touch; then
+		enewgroup g2touch
+		enewuser g2touch
+	fi
+	if use input_devices_goodix; then
+		enewgroup goodixfwupdate
+		enewuser goodixfwupdate
+	fi
+	if use input_devices_cirque; then
+		enewgroup cirque
+		enewuser cirque
+	fi
+	if use input_devices_eps2pstiap; then
+		enewgroup fwupdate-serio
+		enewuser fwupdate-serio
+	fi
+	if use input_devices_himax; then
+		enewgroup fwupdate-i2c
+		enewuser fwupdate-i2c
+	fi
+}
+
+src_install() {
+	exeinto "/opt/google/touch/scripts"
+	doexe scripts/*.sh
+
+	if [ -d "policies/${ARCH}" ]; then
+		insinto "/opt/google/touch/policies"
+		doins policies/${ARCH}/*.policy
+	fi
+}
diff --git a/chromeos-base/tpm-check/tpm-check-0.0.1-r2075.ebuild b/chromeos-base/tpm-check/tpm-check-0.0.1-r2075.ebuild
deleted file mode 100644
index 8351fae..0000000
--- a/chromeos-base/tpm-check/tpm-check-0.0.1-r2075.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="c31013768eb4ed052c54df50c398f70f2d7ef36d"
-CROS_WORKON_TREE="2ef2be6db7746b10beaf42e9a60b3706d653f9b6"
-CROS_WORKON_PROJECT="chromiumos/platform/vboot_reference"
-
-inherit cros-workon autotest
-
-DESCRIPTION="tpm check test"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/vboot_reference/"
-SRC_URI=""
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-# Enable autotest by default.
-IUSE="${IUSE} +autotest"
-
-IUSE_TESTS="
-	+tests_hardware_TPMCheck
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-CROS_WORKON_LOCALNAME=platform/vboot_reference
-
-# path from root of repo
-AUTOTEST_CLIENT_SITE_TESTS=autotest/client
diff --git a/chromeos-base/tpm-check/tpm-check-0.0.1-r2142.ebuild b/chromeos-base/tpm-check/tpm-check-0.0.1-r2142.ebuild
new file mode 100644
index 0000000..4e4754c
--- /dev/null
+++ b/chromeos-base/tpm-check/tpm-check-0.0.1-r2142.ebuild
@@ -0,0 +1,29 @@
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="67f613b922e4ccff6019de318c154a377afbe822"
+CROS_WORKON_TREE="13350f1d92d867a643e89ff2eac4e50ed31c18ab"
+CROS_WORKON_PROJECT="chromiumos/platform/vboot_reference"
+
+inherit cros-workon autotest
+
+DESCRIPTION="tpm check test"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/vboot_reference/"
+SRC_URI=""
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+# Enable autotest by default.
+IUSE="${IUSE} +autotest"
+
+IUSE_TESTS="
+	+tests_hardware_TPMCheck
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+CROS_WORKON_LOCALNAME=platform/vboot_reference
+
+# path from root of repo
+AUTOTEST_CLIENT_SITE_TESTS=autotest/client
diff --git a/chromeos-base/tpm-firmware-tests/tpm-firmware-tests-0.0.1-r2095.ebuild b/chromeos-base/tpm-firmware-tests/tpm-firmware-tests-0.0.1-r2095.ebuild
deleted file mode 100644
index 38facd7..0000000
--- a/chromeos-base/tpm-firmware-tests/tpm-firmware-tests-0.0.1-r2095.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="c31013768eb4ed052c54df50c398f70f2d7ef36d"
-CROS_WORKON_TREE="2ef2be6db7746b10beaf42e9a60b3706d653f9b6"
-CROS_WORKON_PROJECT="chromiumos/platform/vboot_reference"
-
-inherit cros-workon autotest
-
-DESCRIPTION="TPM firmware tests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/vboot_reference/"
-SRC_URI=""
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-DEPEND="
-	app-crypt/trousers:=
-	chromeos-base/tpm:=
-"
-
-# Enable autotest by default.
-IUSE="${IUSE} +autotest"
-
-IUSE_TESTS="
-	+tests_hardware_TPMFirmware
-	+tests_hardware_TPMFirmwareServer
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-CROS_WORKON_LOCALNAME=vboot_reference
-
-# path from root of repo
-AUTOTEST_CLIENT_SITE_TESTS=autotest/client
-AUTOTEST_SERVER_SITE_TESTS=autotest/server
-
-function src_compile {
-	# for Makefile
-	export VBOOT_DIR=${WORKDIR}/${P}
-	export MINIMAL=1  # Makefile requires this for cross-compiling
-	autotest_src_compile
-}
-
-
diff --git a/chromeos-base/tpm-firmware-tests/tpm-firmware-tests-9999.ebuild b/chromeos-base/tpm-firmware-tests/tpm-firmware-tests-9999.ebuild
deleted file mode 100644
index fa72ae0..0000000
--- a/chromeos-base/tpm-firmware-tests/tpm-firmware-tests-9999.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_PROJECT="chromiumos/platform/vboot_reference"
-
-inherit cros-workon autotest
-
-DESCRIPTION="TPM firmware tests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/vboot_reference/"
-SRC_URI=""
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="~*"
-DEPEND="
-	app-crypt/trousers:=
-	chromeos-base/tpm:=
-"
-
-# Enable autotest by default.
-IUSE="${IUSE} +autotest"
-
-IUSE_TESTS="
-	+tests_hardware_TPMFirmware
-	+tests_hardware_TPMFirmwareServer
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-CROS_WORKON_LOCALNAME=vboot_reference
-
-# path from root of repo
-AUTOTEST_CLIENT_SITE_TESTS=autotest/client
-AUTOTEST_SERVER_SITE_TESTS=autotest/server
-
-function src_compile {
-	# for Makefile
-	export VBOOT_DIR=${WORKDIR}/${P}
-	export MINIMAL=1  # Makefile requires this for cross-compiling
-	autotest_src_compile
-}
-
-
diff --git a/chromeos-base/tpm2-simulator/files/revision_bump b/chromeos-base/tpm2-simulator/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/tpm2-simulator/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/tpm2-simulator/tpm2-simulator-0.0.1-r1890.ebuild b/chromeos-base/tpm2-simulator/tpm2-simulator-0.0.1-r1890.ebuild
deleted file mode 100644
index c5eb72f..0000000
--- a/chromeos-base/tpm2-simulator/tpm2-simulator-0.0.1-r1890.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "30dbe432f5e7874ebed1557763eb0d2f7e311249" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk tpm2-simulator .gn"
-
-PLATFORM_SUBDIR="tpm2-simulator"
-
-inherit cros-workon platform user
-
-DESCRIPTION="TPM 2.0 Simulator"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/tpm2-simulator/"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-
-IUSE="tpm tpm2"
-
-COMMON_DEPEND="
-	tpm? ( dev-libs/libtpms:= )
-	tpm2? ( chromeos-base/tpm2:=[tpm2_simulator,tpm2_simulator_manufacturer] )
-	chromeos-base/minijail:=
-	chromeos-base/pinweaver:=
-	chromeos-base/vboot_reference:=[tpm2_simulator]
-	dev-libs/openssl:0=
-	sys-libs/libselinux:=
-	"
-
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}"
-
-src_install() {
-	platform_install
-}
-
-pkg_preinst() {
-	enewuser tpm2-simulator
-	enewgroup tpm2-simulator
-}
diff --git a/chromeos-base/tpm2-simulator/tpm2-simulator-0.0.1-r1953.ebuild b/chromeos-base/tpm2-simulator/tpm2-simulator-0.0.1-r1953.ebuild
new file mode 100644
index 0000000..f79a0ce
--- /dev/null
+++ b/chromeos-base/tpm2-simulator/tpm2-simulator-0.0.1-r1953.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "b2ae20cf5a237ca246eecb61de48d18247370fd5" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk tpm2-simulator .gn"
+
+PLATFORM_SUBDIR="tpm2-simulator"
+
+inherit cros-workon platform user
+
+DESCRIPTION="TPM 2.0 Simulator"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/tpm2-simulator/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+
+IUSE="selinux tpm tpm2 test tpm2_simulator tpm2_simulator_manufacturer"
+
+COMMON_DEPEND="
+	tpm? ( !test? ( dev-libs/libtpms:= ) )
+	tpm2? (
+		chromeos-base/tpm2:=[tpm2_simulator?]
+		chromeos-base/tpm2:=[tpm2_simulator_manufacturer?]
+	)
+	test? ( chromeos-base/tpm2:=[test] )
+	chromeos-base/minijail:=
+	chromeos-base/pinweaver:=
+	chromeos-base/vboot_reference:=[tpm2_simulator?]
+	dev-libs/openssl:0=
+	sys-libs/libselinux:=
+	"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	selinux? (
+		chromeos-base/selinux-policy
+	)
+"
+DEPEND="${COMMON_DEPEND}"
+
+src_install() {
+	platform_install
+}
+
+pkg_preinst() {
+	enewuser tpm2-simulator
+	enewgroup tpm2-simulator
+}
diff --git a/chromeos-base/tpm2-simulator/tpm2-simulator-9999.ebuild b/chromeos-base/tpm2-simulator/tpm2-simulator-9999.ebuild
index ca63b7c..ae21166 100644
--- a/chromeos-base/tpm2-simulator/tpm2-simulator-9999.ebuild
+++ b/chromeos-base/tpm2-simulator/tpm2-simulator-9999.ebuild
@@ -14,25 +14,34 @@
 inherit cros-workon platform user
 
 DESCRIPTION="TPM 2.0 Simulator"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/tpm2-simulator/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/tpm2-simulator/"
 
 LICENSE="BSD-Google"
 SLOT="0/0"
 KEYWORDS="~*"
 
-IUSE="tpm tpm2"
+IUSE="selinux tpm tpm2 test tpm2_simulator tpm2_simulator_manufacturer"
 
 COMMON_DEPEND="
-	tpm? ( dev-libs/libtpms:= )
-	tpm2? ( chromeos-base/tpm2:=[tpm2_simulator,tpm2_simulator_manufacturer] )
+	tpm? ( !test? ( dev-libs/libtpms:= ) )
+	tpm2? (
+		chromeos-base/tpm2:=[tpm2_simulator?]
+		chromeos-base/tpm2:=[tpm2_simulator_manufacturer?]
+	)
+	test? ( chromeos-base/tpm2:=[test] )
 	chromeos-base/minijail:=
 	chromeos-base/pinweaver:=
-	chromeos-base/vboot_reference:=[tpm2_simulator]
+	chromeos-base/vboot_reference:=[tpm2_simulator?]
 	dev-libs/openssl:0=
 	sys-libs/libselinux:=
 	"
 
-RDEPEND="${COMMON_DEPEND}"
+RDEPEND="
+	${COMMON_DEPEND}
+	selinux? (
+		chromeos-base/selinux-policy
+	)
+"
 DEPEND="${COMMON_DEPEND}"
 
 src_install() {
diff --git a/chromeos-base/tpm2/tpm2-0.0.1-r145.ebuild b/chromeos-base/tpm2/tpm2-0.0.1-r145.ebuild
deleted file mode 100644
index 7741952..0000000
--- a/chromeos-base/tpm2/tpm2-0.0.1-r145.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="a77bf0779e1005c9fd840955193ac7257d67bc05"
-CROS_WORKON_TREE="f64a48b91fc35d5760bca966436e0effc9e5cacb"
-CROS_WORKON_PROJECT="chromiumos/third_party/tpm2"
-CROS_WORKON_LOCALNAME="third_party/tpm2"
-
-inherit cros-workon toolchain-funcs
-
-DESCRIPTION="TPM2.0 library"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/tpm2/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="generic_tpm2 test tpm2_simulator tpm2_simulator_manufacturer"
-
-DEPEND="dev-libs/openssl:0="
-
-src_compile() {
-	if use tpm2_simulator_manufacturer ; then
-		export TPM2_SIMULATOR_MANUFACTURER=1
-	fi
-	if use generic_tpm2 ; then
-		export TCG_EK_CERT_INDICES=1
-	fi
-	tc-export CC AR RANLIB
-	emake
-}
-
-src_install() {
-	dolib.a build/libtpm2.a
-
-	"${S}"/thirdparty_preinstall.sh "${PV}" "$(cros-workon_get_build_dir)"
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	doins "$(cros-workon_get_build_dir)/libtpm2.pc"
-
-	insinto /usr/include/tpm2
-	doins BaseTypes.h
-	doins Capabilities.h
-	doins ExecCommand_fp.h
-	doins GetCommandCodeString_fp.h
-	doins Implementation.h
-	doins Manufacture_fp.h
-	doins Platform.h
-	doins TPMB.h
-	doins TPM_Types.h
-	doins Tpm.h
-	doins TpmBuildSwitches.h
-	doins TpmError.h
-	doins _TPM_Init_fp.h
-	doins bool.h
-	doins swap.h
-	doins tpm_generated.h
-	doins tpm_types.h
-	if use test || use tpm2_simulator; then
-		doins tpm_manufacture.h
-		doins tpm_simulator.hpp
-	fi
-}
diff --git a/chromeos-base/tpm2/tpm2-0.0.1-r146.ebuild b/chromeos-base/tpm2/tpm2-0.0.1-r146.ebuild
new file mode 100644
index 0000000..d881a00
--- /dev/null
+++ b/chromeos-base/tpm2/tpm2-0.0.1-r146.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="2de0a64491451f72c7ffe5eb92301f4da509d0ad"
+CROS_WORKON_TREE="f6cadf087425f2c77af8879a7f83e722ab613a36"
+CROS_WORKON_PROJECT="chromiumos/third_party/tpm2"
+CROS_WORKON_LOCALNAME="third_party/tpm2"
+
+inherit cros-workon toolchain-funcs
+
+DESCRIPTION="TPM2.0 library"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/tpm2/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="generic_tpm2 test tpm2_simulator tpm2_simulator_manufacturer"
+
+DEPEND="dev-libs/openssl:0="
+
+src_compile() {
+	if use tpm2_simulator_manufacturer ; then
+		export TPM2_SIMULATOR_MANUFACTURER=1
+	fi
+	if use generic_tpm2 ; then
+		export TCG_EK_CERT_INDICES=1
+	fi
+	tc-export CC AR RANLIB
+	emake
+}
+
+src_install() {
+	dolib.a build/libtpm2.a
+
+	"${S}"/thirdparty_preinstall.sh "${PV}" "$(cros-workon_get_build_dir)"
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins "$(cros-workon_get_build_dir)/libtpm2.pc"
+
+	insinto /usr/include/tpm2
+	doins BaseTypes.h
+	doins Capabilities.h
+	doins ExecCommand_fp.h
+	doins GetCommandCodeString_fp.h
+	doins Implementation.h
+	doins Manufacture_fp.h
+	doins Platform.h
+	doins TPMB.h
+	doins TPM_Types.h
+	doins Tpm.h
+	doins TpmBuildSwitches.h
+	doins TpmError.h
+	doins _TPM_Init_fp.h
+	doins bool.h
+	doins swap.h
+	doins tpm_generated.h
+	doins tpm_types.h
+	if use test || use tpm2_simulator; then
+		doins tpm_manufacture.h
+		doins tpm_simulator.hpp
+	fi
+}
diff --git a/chromeos-base/tpm_manager-client/files/revision_bump b/chromeos-base/tpm_manager-client/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/tpm_manager-client/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/tpm_manager-client/tpm_manager-client-0.0.1-r358.ebuild b/chromeos-base/tpm_manager-client/tpm_manager-client-0.0.1-r358.ebuild
deleted file mode 100644
index 65e51bd..0000000
--- a/chromeos-base/tpm_manager-client/tpm_manager-client-0.0.1-r358.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "b1c7898d3f42051cbba6426c62b35476a8de5b72" "2acba33c99f07fa000bb44a4df3a65a8fe313bb1" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk libhwsec-foundation tpm_manager .gn"
-
-PLATFORM_SUBDIR="tpm_manager/client"
-
-inherit cros-workon platform
-
-DESCRIPTION="TPM Manager D-Bus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/tpm_manager/client/"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE="cros_host test tpm tpm2 fuzzer"
-
-# D-Bus proxies generated by this client library depend on the code generator
-# itself (chromeos-dbus-bindings) and produce header files that rely on
-# libbrillo library, hence both dependencies. We require the particular
-# revision because libbrillo-0.0.1-r1 changed location of header files from
-# chromeos/ to brillo/ and chromeos-dbus-bindings-0.0.1-r1058 generates the
-# code using the new location.
-DEPEND="
-	cros_host? ( >=chromeos-base/chromeos-dbus-bindings-0.0.1-r1058 )
-	chromeos-base/libbrillo:=
-"
-
-# Note that for RDEPEND, we conflict with tpm_manager package older than
-# 0.0.1 because this client is incompatible with daemon older than version
-# 0.0.1. We didn't RDEPEND on tpm_manager version 0.0.1 or greater because
-# we don't want to create circular dependency in case the package tpm_manager
-# depends on some package foo that also depend on this package.
-RDEPEND="
-	!<chromeos-base/tpm_manager-0.0.1-r2238
-	chromeos-base/libbrillo:=
-	chromeos-base/system_api:=[fuzzer?]
-"
-
-src_install() {
-	# Install D-Bus client library.
-	platform_install_dbus_client_lib "tpm_manager"
-
-	dobin "${OUT}"/tpm_manager_client
-
-	dolib.so "${OUT}"/lib/libtpm_manager.so
-
-	# Install header files.
-	insinto /usr/include/tpm_manager/client
-	doins ./*.h
-	insinto /usr/include/tpm_manager/common
-	doins ../common/*.h
-	doins "${OUT}"/gen/tpm_manager/common/*.h
-}
-
-platform_pkg_test() {
-	local tests=(
-		tpm_manager-client_testrunner
-	)
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-}
diff --git a/chromeos-base/tpm_manager-client/tpm_manager-client-0.0.1-r453.ebuild b/chromeos-base/tpm_manager-client/tpm_manager-client-0.0.1-r453.ebuild
new file mode 100644
index 0000000..b9c1f69
--- /dev/null
+++ b/chromeos-base/tpm_manager-client/tpm_manager-client-0.0.1-r453.ebuild
@@ -0,0 +1,73 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "8ca9c97a07408fdff5abf480fb1b2a15405b6bc0" "944879c9353c2df8adb7022407a8d319671325c1" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk libhwsec-foundation tpm_manager .gn"
+
+PLATFORM_SUBDIR="tpm_manager/client"
+
+inherit cros-workon platform
+
+DESCRIPTION="TPM Manager D-Bus client library for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/tpm_manager/client/"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="cros_host test tpm tpm2 fuzzer"
+
+# D-Bus proxies generated by this client library depend on the code generator
+# itself (chromeos-dbus-bindings) and produce header files that rely on
+# libbrillo library, hence both dependencies. We require the particular
+# revision because libbrillo-0.0.1-r1 changed location of header files from
+# chromeos/ to brillo/ and chromeos-dbus-bindings-0.0.1-r1058 generates the
+# code using the new location.
+DEPEND="
+	cros_host? ( >=chromeos-base/chromeos-dbus-bindings-0.0.1-r1058 )
+	chromeos-base/libbrillo:=
+"
+
+# Note that for RDEPEND, we conflict with tpm_manager package older than
+# 0.0.1 because this client is incompatible with daemon older than version
+# 0.0.1. We didn't RDEPEND on tpm_manager version 0.0.1 or greater because
+# we don't want to create circular dependency in case the package tpm_manager
+# depends on some package foo that also depend on this package.
+RDEPEND="
+	!<chromeos-base/tpm_manager-0.0.1-r2238
+	chromeos-base/libbrillo:=
+	chromeos-base/system_api:=[fuzzer?]
+"
+
+src_install() {
+	# Install D-Bus client library.
+	platform_install_dbus_client_lib "tpm_manager"
+
+	dobin "${OUT}"/tpm_manager_client
+
+	dolib.so "${OUT}"/lib/libtpm_manager.so
+
+	# Install header files.
+	insinto /usr/include/tpm_manager/client
+	doins ./*.h
+	insinto /usr/include/tpm_manager/common
+	doins ../common/*.h
+	doins "${OUT}"/gen/tpm_manager/common/*.h
+}
+
+platform_pkg_test() {
+	local tests=(
+		tpm_manager-client_testrunner
+	)
+
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+}
diff --git a/chromeos-base/tpm_manager-client/tpm_manager-client-9999.ebuild b/chromeos-base/tpm_manager-client/tpm_manager-client-9999.ebuild
index d23a4c0..32ec579 100644
--- a/chromeos-base/tpm_manager-client/tpm_manager-client-9999.ebuild
+++ b/chromeos-base/tpm_manager-client/tpm_manager-client-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="TPM Manager D-Bus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/tpm_manager/client/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/tpm_manager/client/"
 
 LICENSE="BSD-Google"
 SLOT="0"
diff --git a/chromeos-base/tpm_manager/files/revision_bump b/chromeos-base/tpm_manager/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/tpm_manager/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/tpm_manager/tpm_manager-0.0.1-r2440.ebuild b/chromeos-base/tpm_manager/tpm_manager-0.0.1-r2440.ebuild
deleted file mode 100644
index 4fe779f1..0000000
--- a/chromeos-base/tpm_manager/tpm_manager-0.0.1-r2440.ebuild
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "fb2b8277318fb7e7eff84f5c7669a46bf60f19f5" "b1c7898d3f42051cbba6426c62b35476a8de5b72" "99cb261212fa3c73badb7ce5bd2da101c2567206" "4a0dedab080195bdc122d2289118df4af3ddca2c" "2acba33c99f07fa000bb44a4df3a65a8fe313bb1" "97266a4772907835fdab5d56b3ca24ed9c1c7a0e" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk libhwsec libhwsec-foundation libtpmcrypto metrics tpm_manager trunks .gn"
-
-PLATFORM_SUBDIR="tpm_manager"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Daemon to manage TPM ownership."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/tpm_manager/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="*"
-IUSE="cr50_onboard pinweaver_csme test tpm tpm_dynamic tpm2 fuzzer"
-
-REQUIRED_USE="
-	?? ( cr50_onboard pinweaver_csme )
-	tpm_dynamic? ( tpm tpm2 )
-	!tpm_dynamic? ( ?? ( tpm tpm2 ) )
-"
-
-RDEPEND="
-	tpm? ( app-crypt/trousers )
-	tpm2? (
-		chromeos-base/trunks
-	)
-	>=chromeos-base/metrics-0.0.1-r3152
-	chromeos-base/minijail
-	chromeos-base/libhwsec
-	chromeos-base/libtpmcrypto
-	chromeos-base/system_api:=[fuzzer?]
-	chromeos-base/tpm_manager-client
-	"
-
-DEPEND="${RDEPEND}
-	tpm2? ( chromeos-base/trunks[test?] )
-	fuzzer? ( dev-libs/libprotobuf-mutator )
-	"
-
-pkg_preinst() {
-	enewuser tpm_manager
-	enewgroup tpm_manager
-}
-
-src_install() {
-	# Install D-Bus configuration file.
-	insinto /etc/dbus-1/system.d
-	doins server/org.chromium.TpmManager.conf
-
-	# Install upstart config file.
-	insinto /etc/init
-	doins server/tpm_managerd.conf
-	if use tpm_dynamic; then
-		conds=("started no-tpm-checker")
-		if use tpm; then
-			conds+=("started tcsd")
-		fi
-		if use tpm2; then
-			conds+=("started trunksd")
-		fi
-		cond=$(printf " or %s" "${conds[@]}")
-		cond=${cond:4}
-		sed -i "s/started tcsd/(${cond})/" \
-			"${D}/etc/init/tpm_managerd.conf" ||
-			die "Can't replace 'started tcsd' with '${cond}' in tpm_managerd.conf"
-	elif use tpm2; then
-		dep_job="trunksd"
-		if use pinweaver_csme; then
-			dep_job="tpm_tunneld"
-		fi
-		sed -i "s/started tcsd/started ${dep_job}/" \
-			"${D}/etc/init/tpm_managerd.conf" ||
-			die "Can't replace tcsd with ${dep_job} in tpm_managerd.conf"
-	fi
-
-	# Install the executables provided by TpmManager
-	dosbin "${OUT}"/tpm_managerd
-	dosbin "${OUT}"/local_data_migration
-
-	# Install seccomp policy files.
-	insinto /usr/share/policy
-	newins server/tpm_managerd-seccomp-${ARCH}.policy tpm_managerd-seccomp.policy
-
-	# Install fuzzer.
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/tpm_manager_service_fuzzer
-}
-
-platform_pkg_test() {
-	local tests=(
-		tpm_manager_testrunner
-	)
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-}
diff --git a/chromeos-base/tpm_manager/tpm_manager-0.0.1-r2616.ebuild b/chromeos-base/tpm_manager/tpm_manager-0.0.1-r2616.ebuild
new file mode 100644
index 0000000..e044973
--- /dev/null
+++ b/chromeos-base/tpm_manager/tpm_manager-0.0.1-r2616.ebuild
@@ -0,0 +1,112 @@
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "2e036f417afe5d55dcbd138f7bfe2c98ab14403f" "8ca9c97a07408fdff5abf480fb1b2a15405b6bc0" "b90d0e8f789e8cfe86794cb3f36ae69967b7dc36" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "944879c9353c2df8adb7022407a8d319671325c1" "0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk libhwsec libhwsec-foundation libtpmcrypto metrics tpm_manager trunks .gn"
+
+PLATFORM_SUBDIR="tpm_manager"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Daemon to manage TPM ownership."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/tpm_manager/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE="cr50_onboard double_extend_pcr_issue pinweaver_csme profiling test tpm tpm_dynamic
+	tpm_insecure_fallback tpm2 tpm2_simulator fuzzer os_install_service
+"
+
+REQUIRED_USE="
+	?? ( cr50_onboard pinweaver_csme )
+	tpm_dynamic? ( tpm tpm2 )
+	!tpm_dynamic? ( ?? ( tpm tpm2 ) )
+"
+
+RDEPEND="
+	tpm? ( app-crypt/trousers )
+	tpm2? (
+		chromeos-base/trunks
+	)
+	tpm2_simulator? ( chromeos-base/tpm2-simulator:= )
+	>=chromeos-base/metrics-0.0.1-r3152
+	chromeos-base/minijail
+	chromeos-base/libhwsec[test?]
+	chromeos-base/libhwsec-foundation
+	chromeos-base/libtpmcrypto
+	chromeos-base/system_api:=[fuzzer?]
+	chromeos-base/tpm_manager-client
+	"
+
+DEPEND="${RDEPEND}
+	tpm2? ( chromeos-base/trunks[test?] )
+	fuzzer? ( dev-libs/libprotobuf-mutator )
+	"
+
+pkg_preinst() {
+	enewuser tpm_manager
+	enewgroup tpm_manager
+}
+
+src_install() {
+	# Install D-Bus configuration file.
+	insinto /etc/dbus-1/system.d
+	doins server/org.chromium.TpmManager.conf
+
+	# Install upstart config file.
+	insinto /etc/init
+	doins server/tpm_managerd.conf
+	if use tpm_dynamic; then
+		conds=("started no-tpm-checker")
+		if use tpm; then
+			conds+=("started tcsd")
+		fi
+		if use tpm2; then
+			conds+=("started trunksd")
+		fi
+		cond=$(printf " or %s" "${conds[@]}")
+		cond=${cond:4}
+		sed -i "s/started tcsd/(${cond})/" \
+			"${D}/etc/init/tpm_managerd.conf" ||
+			die "Can't replace 'started tcsd' with '${cond}' in tpm_managerd.conf"
+	elif use tpm2; then
+		dep_job="trunksd"
+		if use pinweaver_csme; then
+			dep_job="tpm_tunneld"
+		fi
+		sed -i "s/started tcsd/started ${dep_job}/" \
+			"${D}/etc/init/tpm_managerd.conf" ||
+			die "Can't replace tcsd with ${dep_job} in tpm_managerd.conf"
+	fi
+
+	# Install the executables provided by TpmManager
+	dosbin "${OUT}"/tpm_managerd
+	dosbin "${OUT}"/local_data_migration
+
+	# Install seccomp policy files.
+	insinto /usr/share/policy
+	newins "server/tpm_managerd-seccomp-${ARCH}.policy" tpm_managerd-seccomp.policy
+
+	# Install fuzzer.
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/tpm_manager_service_fuzzer
+}
+
+platform_pkg_test() {
+	local tests=(
+		tpm_manager_testrunner
+	)
+
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+}
diff --git a/chromeos-base/tpm_manager/tpm_manager-9999.ebuild b/chromeos-base/tpm_manager/tpm_manager-9999.ebuild
index 1f6a70f..3542f3a 100644
--- a/chromeos-base/tpm_manager/tpm_manager-9999.ebuild
+++ b/chromeos-base/tpm_manager/tpm_manager-9999.ebuild
@@ -15,12 +15,14 @@
 inherit cros-workon platform user
 
 DESCRIPTION="Daemon to manage TPM ownership."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/tpm_manager/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/tpm_manager/"
 
 LICENSE="Apache-2.0"
 SLOT="0"
 KEYWORDS="~*"
-IUSE="cr50_onboard pinweaver_csme test tpm tpm_dynamic tpm2 fuzzer"
+IUSE="cr50_onboard double_extend_pcr_issue pinweaver_csme profiling test tpm tpm_dynamic
+	tpm_insecure_fallback tpm2 tpm2_simulator fuzzer os_install_service
+"
 
 REQUIRED_USE="
 	?? ( cr50_onboard pinweaver_csme )
@@ -33,9 +35,11 @@
 	tpm2? (
 		chromeos-base/trunks
 	)
+	tpm2_simulator? ( chromeos-base/tpm2-simulator:= )
 	>=chromeos-base/metrics-0.0.1-r3152
 	chromeos-base/minijail
-	chromeos-base/libhwsec
+	chromeos-base/libhwsec[test?]
+	chromeos-base/libhwsec-foundation
 	chromeos-base/libtpmcrypto
 	chromeos-base/system_api:=[fuzzer?]
 	chromeos-base/tpm_manager-client
@@ -88,7 +92,7 @@
 
 	# Install seccomp policy files.
 	insinto /usr/share/policy
-	newins server/tpm_managerd-seccomp-${ARCH}.policy tpm_managerd-seccomp.policy
+	newins "server/tpm_managerd-seccomp-${ARCH}.policy" tpm_managerd-seccomp.policy
 
 	# Install fuzzer.
 	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/tpm_manager_service_fuzzer
diff --git a/chromeos-base/tpm_softclear_utils/files/revision_bump b/chromeos-base/tpm_softclear_utils/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/tpm_softclear_utils/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/tpm_softclear_utils/tpm_softclear_utils-0.0.1-r362.ebuild b/chromeos-base/tpm_softclear_utils/tpm_softclear_utils-0.0.1-r362.ebuild
deleted file mode 100644
index 92086ee..0000000
--- a/chromeos-base/tpm_softclear_utils/tpm_softclear_utils-0.0.1-r362.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "fb2b8277318fb7e7eff84f5c7669a46bf60f19f5" "b1c7898d3f42051cbba6426c62b35476a8de5b72" "269119352150a99393faf5787ab5b2e2ea5ed872" "97266a4772907835fdab5d56b3ca24ed9c1c7a0e" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk libhwsec libhwsec-foundation tpm_softclear_utils trunks .gn"
-
-PLATFORM_SUBDIR="tpm_softclear_utils"
-
-inherit cros-workon platform
-
-DESCRIPTION="Utilities for soft-clearing TPM. This package resides in test images only."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/tpm_softclear_utils/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test tpm tpm_dynamic tpm2"
-REQUIRED_USE="
-	tpm_dynamic? ( tpm tpm2 )
-	!tpm_dynamic? ( ?? ( tpm tpm2 ) )
-"
-
-RDEPEND="
-	tpm2? (
-		chromeos-base/trunks:=
-	)
-	tpm? (
-		app-crypt/trousers:=
-	)
-	chromeos-base/libhwsec-foundation:=
-"
-
-DEPEND="${RDEPEND}
-	tpm2? (
-		chromeos-base/system_api:=
-		chromeos-base/trunks:=[test?]
-	)
-"
-
-src_install() {
-	# Installs the utilities executable.
-	insinto /usr/local/bin
-	doins "${OUT}/tpm_softclear"
-	chmod u+x "${D}/usr/local/bin/tpm_softclear"
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/tpm_softclear_utils_testrunner"
-}
diff --git a/chromeos-base/tpm_softclear_utils/tpm_softclear_utils-0.0.1-r487.ebuild b/chromeos-base/tpm_softclear_utils/tpm_softclear_utils-0.0.1-r487.ebuild
new file mode 100644
index 0000000..d3db280
--- /dev/null
+++ b/chromeos-base/tpm_softclear_utils/tpm_softclear_utils-0.0.1-r487.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "2e036f417afe5d55dcbd138f7bfe2c98ab14403f" "8ca9c97a07408fdff5abf480fb1b2a15405b6bc0" "e92f2290c63a51a33949ed1a9610b7c26e83d813" "0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk libhwsec libhwsec-foundation tpm_softclear_utils trunks .gn"
+
+PLATFORM_SUBDIR="tpm_softclear_utils"
+
+inherit cros-workon platform
+
+DESCRIPTION="Utilities for soft-clearing TPM. This package resides in test images only."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/tpm_softclear_utils/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test tpm tpm_dynamic tpm2"
+REQUIRED_USE="
+	tpm_dynamic? ( tpm tpm2 )
+	!tpm_dynamic? ( ?? ( tpm tpm2 ) )
+"
+
+RDEPEND="
+	tpm2? (
+		chromeos-base/trunks:=
+	)
+	tpm? (
+		app-crypt/trousers:=
+	)
+	chromeos-base/libhwsec-foundation:=
+"
+
+DEPEND="${RDEPEND}
+	tpm2? (
+		chromeos-base/system_api:=
+		chromeos-base/trunks:=[test?]
+	)
+"
+
+src_install() {
+	# Installs the utilities executable.
+	insinto /usr/local/bin
+	doins "${OUT}/tpm_softclear"
+	chmod u+x "${D}/usr/local/bin/tpm_softclear"
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/tpm_softclear_utils_testrunner"
+}
diff --git a/chromeos-base/tpm_softclear_utils/tpm_softclear_utils-9999.ebuild b/chromeos-base/tpm_softclear_utils/tpm_softclear_utils-9999.ebuild
index 31e61a1..7d3ede9 100644
--- a/chromeos-base/tpm_softclear_utils/tpm_softclear_utils-9999.ebuild
+++ b/chromeos-base/tpm_softclear_utils/tpm_softclear_utils-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Utilities for soft-clearing TPM. This package resides in test images only."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/tpm_softclear_utils/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/tpm_softclear_utils/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/tremplin/tremplin-0.0.1-r152.ebuild b/chromeos-base/tremplin/tremplin-0.0.1-r152.ebuild
deleted file mode 100644
index 4985ce4..0000000
--- a/chromeos-base/tremplin/tremplin-0.0.1-r152.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="df7c7ad42fa9ed6506d441e3a2c941523496ef44"
-CROS_WORKON_TREE="372aa326e02d79e28e1f272682a1f410838b024b"
-CROS_WORKON_PROJECT="chromiumos/platform/tremplin"
-CROS_WORKON_LOCALNAME="platform/tremplin"
-CROS_GO_BINARIES="chromiumos/tremplin"
-
-CROS_GO_TEST=(
-	"chromiumos/tremplin/..."
-)
-CROS_GO_VET=(
-	"${CROS_GO_TEST[@]}"
-)
-
-inherit cros-workon cros-go
-
-DESCRIPTION="Tremplin LXD client with gRPC support"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tremplin/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-COMMON_DEPEND="
-	app-emulation/lxd:0
-	app-emulation/lxd:4
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/vm_guest_tools:=
-	chromeos-base/vm_protos:=
-	dev-go/go-libaudit:=
-	dev-go/go-sys:=
-	dev-go/grpc:=
-	dev-go/kobject:=
-	dev-go/netlink:=
-	dev-go/vsock:=
-	dev-go/yaml:0
-"
-
-RDEPEND="${COMMON_DEPEND}"
diff --git a/chromeos-base/tremplin/tremplin-0.0.1-r158.ebuild b/chromeos-base/tremplin/tremplin-0.0.1-r158.ebuild
new file mode 100644
index 0000000..adce785
--- /dev/null
+++ b/chromeos-base/tremplin/tremplin-0.0.1-r158.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="ffb5466ae2cf8e2e677c3ecb06f9a1bd811a4736"
+CROS_WORKON_TREE="9bdae8272896bdccd819ae02aed5b074f95ecb47"
+CROS_WORKON_PROJECT="chromiumos/platform/tremplin"
+CROS_WORKON_LOCALNAME="platform/tremplin"
+CROS_GO_BINARIES="chromiumos/tremplin"
+
+CROS_GO_TEST=(
+	"chromiumos/tremplin/..."
+)
+CROS_GO_VET=(
+	"${CROS_GO_TEST[@]}"
+)
+
+inherit cros-workon cros-go
+
+DESCRIPTION="Tremplin LXD client with gRPC support"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tremplin/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+COMMON_DEPEND="
+	app-emulation/lxd:0
+	app-emulation/lxd:4
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/vm_guest_tools:=
+	chromeos-base/vm_protos:=
+	dev-go/go-libaudit:=
+	dev-go/go-sys:=
+	dev-go/grpc:=
+	dev-go/kobject:=
+	dev-go/netlink:=
+	dev-go/vsock:=
+	dev-go/yaml:0
+"
+
+RDEPEND="${COMMON_DEPEND}"
diff --git a/chromeos-base/trunks/files/revision_bump b/chromeos-base/trunks/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/trunks/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/trunks/trunks-0.0.1-r3130.ebuild b/chromeos-base/trunks/trunks-0.0.1-r3130.ebuild
deleted file mode 100644
index c3a9344..0000000
--- a/chromeos-base/trunks/trunks-0.0.1-r3130.ebuild
+++ /dev/null
@@ -1,175 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "fb2b8277318fb7e7eff84f5c7669a46bf60f19f5" "b1c7898d3f42051cbba6426c62b35476a8de5b72" "4a0dedab080195bdc122d2289118df4af3ddca2c" "97266a4772907835fdab5d56b3ca24ed9c1c7a0e" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug/1184685): "libhwsec" is not necessary; remove it after solving
-# the bug.
-CROS_WORKON_SUBTREE="common-mk libhwsec libhwsec-foundation metrics trunks .gn"
-
-PLATFORM_SUBDIR="trunks"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Trunks service for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/trunks/"
-
-LICENSE="Apache-2.0"
-KEYWORDS="*"
-IUSE="
-	cr50_onboard
-	csme_emulator
-	fuzzer
-	ftdi_tpm
-	generic_tpm2
-	pinweaver_csme
-	test
-	ti50_onboard
-	tpm_dynamic
-	tpm2_simulator
-"
-
-REQUIRED_USE="
-	?? ( cr50_onboard pinweaver_csme )
-"
-
-# This depends on protobuf because it uses protoc and needs to be rebuilt
-# whenever the protobuf library is updated since generated source files may be
-# incompatible across different versions of the protobuf library.
-COMMON_DEPEND="
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/minijail:=
-	chromeos-base/power_manager-client:=
-	ftdi_tpm? ( dev-embedded/libftdi:= )
-	test? ( chromeos-base/tpm2:=[test] )
-	tpm2_simulator? ( chromeos-base/tpm2-simulator:= )
-	dev-libs/protobuf:=
-	fuzzer? (
-		dev-cpp/gtest:=
-	)
-	"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	cr50_onboard? ( chromeos-base/chromeos-cr50 )
-	ti50_onboard? ( chromeos-base/chromeos-ti50 )
-	generic_tpm2? ( chromeos-base/chromeos-cr50-scripts )
-	!tpm_dynamic? ( !app-crypt/tpm-tools )
-	chromeos-base/libhwsec-foundation
-	"
-
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/chromeos-ec-headers:=
-	"
-
-src_install() {
-	insinto /etc/dbus-1/system.d
-	doins org.chromium.Trunks.conf
-
-	insinto /etc/init
-	if use cr50_onboard || use ti50_onboard; then
-		newins trunksd.conf.cr50 trunksd.conf
-	else
-		doins trunksd.conf
-	fi
-
-	if use tpm_dynamic; then
-		sed -i '/env TPM_DYNAMIC=/s:=.*:=true:' \
-			"${D}/etc/init/trunksd.conf" ||
-			die "Can't activate tpm_dynamic in trunksd.conf"
-	fi
-
-	if use pinweaver_csme && use generic_tpm2; then
-		newins csme/tpm_tunneld.conf tpm_tunneld.conf
-	fi
-
-	dosbin "${OUT}"/pinweaver_client
-	dosbin "${OUT}"/trunks_client
-	dosbin "${OUT}"/trunks_send
-	if use tpm_dynamic; then
-		newsbin tpm_version tpm2_version
-	else
-		dosbin tpm_version
-	fi
-	dosbin "${OUT}"/trunksd
-	dolib.so "${OUT}"/lib/libtrunks.so
-	# trunks_test library implements trunks mocks which
-	# are used by unittest and fuzzer.
-	if use test || use fuzzer; then
-		dolib.a "${OUT}"/libtrunks_test.a
-		dolib.a "${OUT}"/libtrunksd_lib.a
-	fi
-
-	if use pinweaver_csme && use generic_tpm2; then
-		dosbin "${OUT}"/pinweaver_provision
-		dosbin "${OUT}"/tpm_tunneld
-	fi
-
-	insinto /usr/share/policy
-	newins "trunksd-seccomp-${ARCH}.policy" trunksd-seccomp.policy
-
-	if use pinweaver_csme && use generic_tpm2; then
-		newins "csme/tpm_tunneld-seccomp-${ARCH}.policy" tpm_tunneld-seccomp.policy
-	fi
-
-	insinto /usr/include/trunks
-	doins *.h
-	doins "${OUT}"/gen/include/trunks/*.h
-
-	insinto /usr/include/trunks/csme
-	doins csme/pinweaver_provision.h
-	doins csme/pinweaver_provision_impl.h
-
-	insinto /usr/include/proto
-	doins "${S}"/pinweaver.proto
-
-	insinto /usr/include/chromeos/dbus/trunks
-	doins "${S}"/trunks_interface.proto
-
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	doins "${OUT}"/obj/trunks/libtrunks.pc
-	local fuzzer_component_id="886041"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/trunks_creation_blob_fuzzer \
-		--comp "${fuzzer_component_id}"
-	platform_fuzzer_install "${S}"/OWNERS \
-		"${OUT}"/trunks_hmac_authorization_delegate_fuzzer \
-		--comp "${fuzzer_component_id}"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/trunks_key_blob_fuzzer \
-		--comp "${fuzzer_component_id}"
-	platform_fuzzer_install "${S}"/OWNERS \
-		"${OUT}"/trunks_password_authorization_delegate_fuzzer \
-		--comp "${fuzzer_component_id}"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/trunks_resource_manager_fuzzer \
-		--comp "${fuzzer_component_id}"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/trunks_tpm_pinweaver_fuzzer \
-		--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	"${S}/generator/generator_test.py" || die
-
-	local tests=(
-		trunks_testrunner
-	)
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-}
-
-pkg_preinst() {
-	enewuser trunks
-	enewgroup trunks
-	if use pinweaver_csme && use generic_tpm2; then
-		enewuser tpm_tunneld
-		enewgroup tpm_tunneld
-	fi
-}
diff --git a/chromeos-base/trunks/trunks-0.0.1-r3292.ebuild b/chromeos-base/trunks/trunks-0.0.1-r3292.ebuild
new file mode 100644
index 0000000..dc6f888
--- /dev/null
+++ b/chromeos-base/trunks/trunks-0.0.1-r3292.ebuild
@@ -0,0 +1,176 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "2e036f417afe5d55dcbd138f7bfe2c98ab14403f" "8ca9c97a07408fdff5abf480fb1b2a15405b6bc0" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug/1184685): "libhwsec" is not necessary; remove it after solving
+# the bug.
+CROS_WORKON_SUBTREE="common-mk libhwsec libhwsec-foundation metrics trunks .gn"
+
+PLATFORM_SUBDIR="trunks"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Trunks service for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/trunks/"
+
+LICENSE="Apache-2.0"
+KEYWORDS="*"
+IUSE="
+	cr50_onboard
+	csme_emulator
+	fuzzer
+	ftdi_tpm
+	generic_tpm2
+	pinweaver_csme
+	test
+	ti50_onboard
+	tpm_dynamic
+	tpm2_simulator
+"
+
+REQUIRED_USE="
+	?? ( cr50_onboard pinweaver_csme )
+"
+
+# This depends on protobuf because it uses protoc and needs to be rebuilt
+# whenever the protobuf library is updated since generated source files may be
+# incompatible across different versions of the protobuf library.
+COMMON_DEPEND="
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/minijail:=
+	chromeos-base/power_manager-client:=
+	ftdi_tpm? ( dev-embedded/libftdi:= )
+	test? ( chromeos-base/tpm2:=[test] )
+	tpm2_simulator? ( chromeos-base/tpm2-simulator:= )
+	dev-libs/protobuf:=
+	fuzzer? (
+		dev-cpp/gtest:=
+	)
+	chromeos-base/pinweaver:=
+	"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	cr50_onboard? ( chromeos-base/chromeos-cr50 )
+	ti50_onboard? ( chromeos-base/chromeos-ti50 )
+	generic_tpm2? ( chromeos-base/chromeos-cr50-scripts )
+	!tpm_dynamic? ( !app-crypt/tpm-tools )
+	chromeos-base/libhwsec-foundation
+	"
+
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/chromeos-ec-headers:=
+	"
+
+src_install() {
+	insinto /etc/dbus-1/system.d
+	doins org.chromium.Trunks.conf
+
+	insinto /etc/init
+	if use cr50_onboard || use ti50_onboard; then
+		newins trunksd.conf.cr50 trunksd.conf
+	else
+		doins trunksd.conf
+	fi
+
+	if use tpm_dynamic; then
+		sed -i '/env TPM_DYNAMIC=/s:=.*:=true:' \
+			"${D}/etc/init/trunksd.conf" ||
+			die "Can't activate tpm_dynamic in trunksd.conf"
+	fi
+
+	if use pinweaver_csme && use generic_tpm2; then
+		newins csme/tpm_tunneld.conf tpm_tunneld.conf
+	fi
+
+	dosbin "${OUT}"/pinweaver_client
+	dosbin "${OUT}"/trunks_client
+	dosbin "${OUT}"/trunks_send
+	if use tpm_dynamic; then
+		newsbin tpm_version tpm2_version
+	else
+		dosbin tpm_version
+	fi
+	dosbin "${OUT}"/trunksd
+	dolib.so "${OUT}"/lib/libtrunks.so
+	# trunks_test library implements trunks mocks which
+	# are used by unittest and fuzzer.
+	if use test || use fuzzer; then
+		dolib.a "${OUT}"/libtrunks_test.a
+		dolib.a "${OUT}"/libtrunksd_lib.a
+	fi
+
+	if use pinweaver_csme && use generic_tpm2; then
+		dosbin "${OUT}"/pinweaver_provision
+		dosbin "${OUT}"/tpm_tunneld
+	fi
+
+	insinto /usr/share/policy
+	newins "trunksd-seccomp-${ARCH}.policy" trunksd-seccomp.policy
+
+	if use pinweaver_csme && use generic_tpm2; then
+		newins "csme/tpm_tunneld-seccomp-${ARCH}.policy" tpm_tunneld-seccomp.policy
+	fi
+
+	insinto /usr/include/trunks
+	doins ./*.h
+	doins "${OUT}"/gen/include/trunks/*.h
+
+	insinto /usr/include/trunks/csme
+	doins csme/pinweaver_provision.h
+	doins csme/pinweaver_provision_impl.h
+
+	insinto /usr/include/proto
+	doins "${S}"/pinweaver.proto
+
+	insinto /usr/include/chromeos/dbus/trunks
+	doins "${S}"/trunks_interface.proto
+
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins "${OUT}"/obj/trunks/libtrunks.pc
+	local fuzzer_component_id="1188704"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/trunks_creation_blob_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS \
+		"${OUT}"/trunks_hmac_authorization_delegate_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/trunks_key_blob_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS \
+		"${OUT}"/trunks_password_authorization_delegate_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/trunks_resource_manager_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/trunks_tpm_pinweaver_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	"${S}/generator/generator_test.py" || die
+
+	local tests=(
+		trunks_testrunner
+	)
+
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+}
+
+pkg_preinst() {
+	enewuser trunks
+	enewgroup trunks
+	if use pinweaver_csme && use generic_tpm2; then
+		enewuser tpm_tunneld
+		enewgroup tpm_tunneld
+	fi
+}
diff --git a/chromeos-base/trunks/trunks-9999.ebuild b/chromeos-base/trunks/trunks-9999.ebuild
index 1bacb1f..23849a4 100644
--- a/chromeos-base/trunks/trunks-9999.ebuild
+++ b/chromeos-base/trunks/trunks-9999.ebuild
@@ -16,7 +16,7 @@
 inherit cros-workon platform user
 
 DESCRIPTION="Trunks service for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/trunks/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/trunks/"
 
 LICENSE="Apache-2.0"
 KEYWORDS="~*"
@@ -51,6 +51,7 @@
 	fuzzer? (
 		dev-cpp/gtest:=
 	)
+	chromeos-base/pinweaver:=
 	"
 
 RDEPEND="
@@ -118,7 +119,7 @@
 	fi
 
 	insinto /usr/include/trunks
-	doins *.h
+	doins ./*.h
 	doins "${OUT}"/gen/include/trunks/*.h
 
 	insinto /usr/include/trunks/csme
@@ -133,7 +134,7 @@
 
 	insinto "/usr/$(get_libdir)/pkgconfig"
 	doins "${OUT}"/obj/trunks/libtrunks.pc
-	local fuzzer_component_id="886041"
+	local fuzzer_component_id="1188704"
 	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/trunks_creation_blob_fuzzer \
 		--comp "${fuzzer_component_id}"
 	platform_fuzzer_install "${S}"/OWNERS \
diff --git a/chromeos-base/typecd/files/revision_bump b/chromeos-base/typecd/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/typecd/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/typecd/typecd-0.0.1-r278.ebuild b/chromeos-base/typecd/typecd-0.0.1-r278.ebuild
deleted file mode 100644
index 243e81d..0000000
--- a/chromeos-base/typecd/typecd-0.0.1-r278.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "943933c3a4bbde8abb4628b4739df0904ac8f4b0" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_SUBTREE="common-mk typecd .gn"
-
-PLATFORM_SUBDIR="typecd"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Chrome OS USB Type C daemon"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/typecd/"
-
-LICENSE="BSD-Google"
-SLOT=0
-KEYWORDS="*"
-IUSE="+seccomp"
-
-RDEPEND=">=chromeos-base/metrics-0.0.1-r3152:="
-
-DEPEND="
-	${RDEPEND}
-	chromeos-base/debugd-client:=
-	chromeos-base/session_manager-client:=
-	chromeos-base/system_api:=
-"
-
-src_install() {
-	dobin "${OUT}"/typecd
-
-	insinto /usr/share/dbus-1/system-services
-	doins dbus/org.chromium.typecd.service
-
-	insinto /etc/init
-	doins init/*.conf
-
-	# Install seccomp policy files.
-	insinto /usr/share/policy
-	if use seccomp; then
-		newins "seccomp/typecd-seccomp-${ARCH}.policy" typecd-seccomp.policy
-		newins "seccomp/ectool_typec-seccomp-${ARCH}.policy" ectool_typec-seccomp.policy
-	fi
-
-	# Install rsyslog config.
-	insinto /etc/rsyslog.d
-	doins rsyslog/rsyslog.typecd.conf
-
-	# Install D-Bus permission config.
-	insinto /etc/dbus-1/system.d
-	doins dbus/typecd.conf
-
-	# Install fuzzers.
-	local fuzzer_component_id="958036"
-	local fuzz_targets=(
-		"typecd_cable_fuzzer"
-		"typecd_cros_ec_util_fuzzer"
-		"typecd_partner_fuzzer"
-		"typecd_port_fuzzer"
-		"typecd_port_manager_fuzzer"
-		"typecd_session_manager_proxy_fuzzer"
-		"typecd_udev_monitor_fuzzer"
-		"typecd_usb_monitor_fuzzer"
-	)
-	local fuzz_target
-	for fuzz_target in "${fuzz_targets[@]}"; do
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/"${fuzz_target}" \
-			--comp "${fuzzer_component_id}"
-	done
-}
-
-pkg_preinst() {
-	enewuser typecd
-	enewgroup typecd
-
-	# This group is required for debugd EC Type C tool to access /dev/cros_ec.
-	enewgroup cros_ec-access
-	# Add user and group for debugd Type C commands.
-	enewuser typecd_ec
-	enewgroup typecd_ec
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/typecd_testrunner"
-}
diff --git a/chromeos-base/typecd/typecd-0.0.1-r359.ebuild b/chromeos-base/typecd/typecd-0.0.1-r359.ebuild
new file mode 100644
index 0000000..2cfc1c4
--- /dev/null
+++ b/chromeos-base/typecd/typecd-0.0.1-r359.ebuild
@@ -0,0 +1,91 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "fa7554557aaddd2c63ee2c755c84e72a366d4302" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk typecd .gn"
+
+PLATFORM_SUBDIR="typecd"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Chrome OS USB Type C daemon"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/typecd/"
+
+LICENSE="BSD-Google"
+SLOT=0
+KEYWORDS="*"
+IUSE="+seccomp"
+
+RDEPEND=">=chromeos-base/metrics-0.0.1-r3152:="
+
+DEPEND="
+	${RDEPEND}
+	chromeos-base/debugd-client:=
+	chromeos-base/session_manager-client:=
+	chromeos-base/system_api:=
+"
+
+src_install() {
+	dobin "${OUT}"/typecd
+
+	insinto /usr/share/dbus-1/system-services
+	doins dbus/org.chromium.typecd.service
+
+	insinto /etc/init
+	doins init/*.conf
+
+	# Install seccomp policy files.
+	insinto /usr/share/policy
+	if use seccomp; then
+		newins "seccomp/typecd-seccomp-${ARCH}.policy" typecd-seccomp.policy
+		newins "seccomp/ectool_typec-seccomp-${ARCH}.policy" ectool_typec-seccomp.policy
+	fi
+
+	# Install rsyslog config.
+	insinto /etc/rsyslog.d
+	doins rsyslog/rsyslog.typecd.conf
+
+	# Install D-Bus permission config.
+	insinto /etc/dbus-1/system.d
+	doins dbus/typecd.conf
+
+	# Install fuzzers.
+	local fuzzer_component_id="958036"
+	local fuzz_targets=(
+		"typecd_cable_fuzzer"
+		"typecd_cros_ec_util_fuzzer"
+		"typecd_partner_fuzzer"
+		"typecd_port_fuzzer"
+		"typecd_port_manager_fuzzer"
+		"typecd_session_manager_proxy_fuzzer"
+		"typecd_udev_monitor_fuzzer"
+		"typecd_usb_monitor_fuzzer"
+	)
+	local fuzz_target
+	for fuzz_target in "${fuzz_targets[@]}"; do
+		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/"${fuzz_target}" \
+			--comp "${fuzzer_component_id}"
+	done
+}
+
+pkg_preinst() {
+	enewuser typecd
+	enewgroup typecd
+
+	# This group is required for debugd EC Type C tool to access /dev/cros_ec.
+	enewgroup cros_ec-access
+	# Add user and group for debugd Type C commands.
+	enewuser typecd_ec
+	enewgroup typecd_ec
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/typecd_testrunner"
+}
diff --git a/chromeos-base/u2fd-client/OWNERS b/chromeos-base/u2fd-client/OWNERS
new file mode 100644
index 0000000..4a35594
--- /dev/null
+++ b/chromeos-base/u2fd-client/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/u2fd/OWNERS
diff --git a/chromeos-base/u2fd-client/u2fd-client-0.0.1-r71.ebuild b/chromeos-base/u2fd-client/u2fd-client-0.0.1-r71.ebuild
new file mode 100644
index 0000000..d293f7d
--- /dev/null
+++ b/chromeos-base/u2fd-client/u2fd-client-0.0.1-r71.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c" "b5881b78580dbead29183a70fdc260387f29d82a" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_USE_VCSID="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk trunks u2fd .gn"
+
+PLATFORM_SUBDIR="u2fd/client"
+
+inherit cros-workon platform
+
+DESCRIPTION="U2FHID library used by the internal corp U2F library"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/u2fd/client/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="fuzzer cr50_onboard ti50_onboard"
+
+COMMON_DEPEND="
+	fuzzer? (
+		chromeos-base/trunks:=
+	)
+	cr50_onboard? (
+		chromeos-base/trunks:=
+	)
+	ti50_onboard? (
+		chromeos-base/trunks:=
+	)
+"
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="${COMMON_DEPEND}
+	>=chromeos-base/protofiles-0.0.43:=
+	chromeos-base/system_api:=
+"
+
+src_install() {
+	platform_install
+}
diff --git a/chromeos-base/u2fd-client/u2fd-client-9999.ebuild b/chromeos-base/u2fd-client/u2fd-client-9999.ebuild
new file mode 100644
index 0000000..1650434
--- /dev/null
+++ b/chromeos-base/u2fd-client/u2fd-client-9999.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_USE_VCSID="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk trunks u2fd .gn"
+
+PLATFORM_SUBDIR="u2fd/client"
+
+inherit cros-workon platform
+
+DESCRIPTION="U2FHID library used by the internal corp U2F library"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/u2fd/client/"
+
+LICENSE="BSD-Google"
+KEYWORDS="~*"
+IUSE="fuzzer cr50_onboard ti50_onboard"
+
+COMMON_DEPEND="
+	fuzzer? (
+		chromeos-base/trunks:=
+	)
+	cr50_onboard? (
+		chromeos-base/trunks:=
+	)
+	ti50_onboard? (
+		chromeos-base/trunks:=
+	)
+"
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="${COMMON_DEPEND}
+	>=chromeos-base/protofiles-0.0.43:=
+	chromeos-base/system_api:=
+"
+
+src_install() {
+	platform_install
+}
diff --git a/chromeos-base/u2fd/files/revision_bump b/chromeos-base/u2fd/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/u2fd/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/u2fd/u2fd-0.0.1-r1347.ebuild b/chromeos-base/u2fd/u2fd-0.0.1-r1347.ebuild
deleted file mode 100644
index 3928920..0000000
--- a/chromeos-base/u2fd/u2fd-0.0.1-r1347.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "97266a4772907835fdab5d56b3ca24ed9c1c7a0e" "fb2b8277318fb7e7eff84f5c7669a46bf60f19f5" "4a0dedab080195bdc122d2289118df4af3ddca2c" "2acba33c99f07fa000bb44a4df3a65a8fe313bb1" "31eed1e89a0f52385e3ced51c05a2551b866a0c4" "b1c7898d3f42051cbba6426c62b35476a8de5b72" "fb2b8277318fb7e7eff84f5c7669a46bf60f19f5" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_USE_VCSID="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk trunks libhwsec metrics tpm_manager u2fd libhwsec-foundation libhwsec .gn"
-
-PLATFORM_SUBDIR="u2fd"
-
-inherit cros-workon platform user
-
-DESCRIPTION="U2FHID Emulation Daemon"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/u2fhid"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="fuzzer tpm cr50_onboard ti50_onboard"
-
-COMMON_DEPEND="
-	tpm? (
-		app-crypt/trousers:=
-	)
-	cr50_onboard? (
-		chromeos-base/trunks:=
-	)
-	ti50_onboard? (
-		chromeos-base/trunks:=
-	)
-	chromeos-base/attestation:=
-	chromeos-base/attestation-client:=
-	chromeos-base/cbor:=
-	chromeos-base/cryptohome-client:=
-	chromeos-base/libhwsec:=
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/power_manager-client:=
-	chromeos-base/tpm_manager:=
-	dev-libs/hidapi:=
-"
-
-RDEPEND="${COMMON_DEPEND}"
-
-DEPEND="${COMMON_DEPEND}
-	chromeos-base/attestation-client:=
-	>=chromeos-base/protofiles-0.0.43:=
-	chromeos-base/system_api:=[fuzzer?]
-"
-
-pkg_setup() {
-	# Has to be done in pkg_setup() instead of pkg_preinst() since
-	# src_install() needs the u2f user and group.
-	enewuser "u2f"
-	enewgroup "u2f"
-	cros-workon_pkg_setup
-}
-
-src_install() {
-	dobin "${OUT}"/u2fd
-
-	insinto /etc/init
-	doins init/*.conf
-
-	insinto /etc/dbus-1/system.d
-	doins org.chromium.U2F.conf
-
-	local daemon_store="/etc/daemon-store/u2f"
-	dodir "${daemon_store}"
-	fperms 0700 "${daemon_store}"
-	fowners u2f:u2f "${daemon_store}"
-
-	if use cr50_onboard || use ti50_onboard; then
-		local fuzzer_component_id="886041"
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/u2f_apdu_fuzzer \
-			--comp "${fuzzer_component_id}"
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/u2fhid_fuzzer \
-			--comp "${fuzzer_component_id}"
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/u2f_msg_handler_fuzzer \
-			--comp "${fuzzer_component_id}"
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/u2f_webauthn_fuzzer \
-			--comp "${fuzzer_component_id}"
-	fi
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/u2fd_test_runner"
-}
diff --git a/chromeos-base/u2fd/u2fd-0.0.1-r1545.ebuild b/chromeos-base/u2fd/u2fd-0.0.1-r1545.ebuild
new file mode 100644
index 0000000..fe3f2ed
--- /dev/null
+++ b/chromeos-base/u2fd/u2fd-0.0.1-r1545.ebuild
@@ -0,0 +1,95 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c" "2e036f417afe5d55dcbd138f7bfe2c98ab14403f" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "944879c9353c2df8adb7022407a8d319671325c1" "b5881b78580dbead29183a70fdc260387f29d82a" "8ca9c97a07408fdff5abf480fb1b2a15405b6bc0" "2e036f417afe5d55dcbd138f7bfe2c98ab14403f" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_USE_VCSID="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk trunks libhwsec metrics tpm_manager u2fd libhwsec-foundation libhwsec .gn"
+
+PLATFORM_SUBDIR="u2fd"
+
+inherit cros-workon platform user
+
+DESCRIPTION="U2FHID Emulation Daemon"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/u2fd/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="fuzzer tpm cr50_onboard ti50_onboard"
+
+COMMON_DEPEND="
+	tpm? (
+		app-crypt/trousers:=
+	)
+	fuzzer? (
+		chromeos-base/trunks:=
+	)
+	cr50_onboard? (
+		chromeos-base/trunks:=
+	)
+	ti50_onboard? (
+		chromeos-base/trunks:=
+	)
+	chromeos-base/attestation:=
+	chromeos-base/attestation-client:=
+	chromeos-base/cbor:=
+	chromeos-base/chromeos-ec-headers:=
+	chromeos-base/cryptohome-client:=
+	chromeos-base/libhwsec:=
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/power_manager-client:=
+	chromeos-base/tpm_manager:=
+	chromeos-base/u2fd-client:=
+	dev-libs/hidapi:=
+"
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/attestation-client:=
+	>=chromeos-base/protofiles-0.0.43:=
+	chromeos-base/system_api:=[fuzzer?]
+"
+
+pkg_setup() {
+	# Has to be done in pkg_setup() instead of pkg_preinst() since
+	# src_install() needs the u2f user and group.
+	enewuser "u2f"
+	enewgroup "u2f"
+	cros-workon_pkg_setup
+}
+
+src_install() {
+	dobin "${OUT}"/u2fd
+
+	insinto /etc/init
+	doins init/*.conf
+
+	insinto /etc/dbus-1/system.d
+	doins org.chromium.U2F.conf
+
+	local daemon_store="/etc/daemon-store/u2f"
+	dodir "${daemon_store}"
+	fperms 0700 "${daemon_store}"
+	fowners u2f:u2f "${daemon_store}"
+
+	local fuzzer_component_id="1188704"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/u2f_apdu_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/u2fhid_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/u2f_msg_handler_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/u2f_webauthn_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/u2fd_test_runner"
+}
diff --git a/chromeos-base/u2fd/u2fd-9999.ebuild b/chromeos-base/u2fd/u2fd-9999.ebuild
index d207953..4d3532a 100644
--- a/chromeos-base/u2fd/u2fd-9999.ebuild
+++ b/chromeos-base/u2fd/u2fd-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-workon platform user
 
 DESCRIPTION="U2FHID Emulation Daemon"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/u2fhid"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/u2fd/"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
@@ -25,6 +25,9 @@
 	tpm? (
 		app-crypt/trousers:=
 	)
+	fuzzer? (
+		chromeos-base/trunks:=
+	)
 	cr50_onboard? (
 		chromeos-base/trunks:=
 	)
@@ -34,11 +37,13 @@
 	chromeos-base/attestation:=
 	chromeos-base/attestation-client:=
 	chromeos-base/cbor:=
+	chromeos-base/chromeos-ec-headers:=
 	chromeos-base/cryptohome-client:=
 	chromeos-base/libhwsec:=
 	>=chromeos-base/metrics-0.0.1-r3152:=
 	chromeos-base/power_manager-client:=
 	chromeos-base/tpm_manager:=
+	chromeos-base/u2fd-client:=
 	dev-libs/hidapi:=
 "
 
@@ -72,17 +77,15 @@
 	fperms 0700 "${daemon_store}"
 	fowners u2f:u2f "${daemon_store}"
 
-	if use cr50_onboard || use ti50_onboard; then
-		local fuzzer_component_id="886041"
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/u2f_apdu_fuzzer \
-			--comp "${fuzzer_component_id}"
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/u2fhid_fuzzer \
-			--comp "${fuzzer_component_id}"
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/u2f_msg_handler_fuzzer \
-			--comp "${fuzzer_component_id}"
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/u2f_webauthn_fuzzer \
-			--comp "${fuzzer_component_id}"
-	fi
+	local fuzzer_component_id="1188704"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/u2f_apdu_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/u2fhid_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/u2f_msg_handler_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/u2f_webauthn_fuzzer \
+		--comp "${fuzzer_component_id}"
 }
 
 platform_pkg_test() {
diff --git a/chromeos-base/update-policy-chromeos/OWNERS b/chromeos-base/update-policy-chromeos/OWNERS
new file mode 100644
index 0000000..16d6476
--- /dev/null
+++ b/chromeos-base/update-policy-chromeos/OWNERS
@@ -0,0 +1 @@
+include chromiumos/chromite:/OWNERS.au
diff --git a/chromeos-base/update-policy-embedded/OWNERS b/chromeos-base/update-policy-embedded/OWNERS
new file mode 100644
index 0000000..16d6476
--- /dev/null
+++ b/chromeos-base/update-policy-embedded/OWNERS
@@ -0,0 +1 @@
+include chromiumos/chromite:/OWNERS.au
diff --git a/chromeos-base/update-utils/OWNERS b/chromeos-base/update-utils/OWNERS
new file mode 100644
index 0000000..16d6476
--- /dev/null
+++ b/chromeos-base/update-utils/OWNERS
@@ -0,0 +1 @@
+include chromiumos/chromite:/OWNERS.au
diff --git a/chromeos-base/update-utils/update-utils-0.0.1-r59.ebuild b/chromeos-base/update-utils/update-utils-0.0.1-r59.ebuild
deleted file mode 100644
index fbfc024..0000000
--- a/chromeos-base/update-utils/update-utils-0.0.1-r59.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-# This ebuild is for running tast DLC test in the lab and local dev setup.
-# For future DLC autotests, a new installation process needs to be re-designed.
-
-EAPI=6
-
-CROS_WORKON_COMMIT="f2d6ab30f74b6de9f45b3671d2beaf8462381a0c"
-CROS_WORKON_TREE="6987e5426556116433db68183c448e72bf83583b"
-PYTHON_COMPAT=( python2_7 python3_{6,7} )
-
-CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
-CROS_WORKON_LOCALNAME="platform/dev"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE="nebraska"
-
-inherit cros-workon python-r1
-
-DESCRIPTION="A set of utilities for updating Chrome OS."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="!chromeos-base/gmerge"
-
-# Add an empty src_compile() so we bypass compile stage.
-src_compile() { :; }
-
-src_install() {
-	into /usr/local
-	dobin nebraska/nebraska.py
-
-	insinto /etc/init
-	doins nebraska/nebraska.conf
-}
-
-src_test() {
-	# Run the unit tests.
-	python_test() {
-		"$PYTHON" nebraska/nebraska_unittest.py || die
-	}
-	python_foreach_impl python_test
-}
diff --git a/chromeos-base/update-utils/update-utils-0.0.1-r63.ebuild b/chromeos-base/update-utils/update-utils-0.0.1-r63.ebuild
new file mode 100644
index 0000000..4368975
--- /dev/null
+++ b/chromeos-base/update-utils/update-utils-0.0.1-r63.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+# This ebuild is for running tast DLC test in the lab and local dev setup.
+# For future DLC autotests, a new installation process needs to be re-designed.
+
+EAPI=6
+
+CROS_WORKON_COMMIT="c7af711745f36297f6bdf6e3003db16afe891271"
+CROS_WORKON_TREE="ea708c8d92d9f462c714b43ec46137da4de835ab"
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
+CROS_WORKON_LOCALNAME="platform/dev"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE="nebraska"
+
+inherit cros-workon python-r1
+
+DESCRIPTION="A set of utilities for updating Chrome OS."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="!chromeos-base/gmerge"
+
+# Add an empty src_compile() so we bypass compile stage.
+src_compile() { :; }
+
+src_install() {
+	into /usr/local
+	dobin nebraska/nebraska.py
+
+	insinto /etc/init
+	doins nebraska/nebraska.conf
+	sed -i "s:@LIBDIR@:$(get_libdir):g" "${ED}"/etc/init/nebraska.conf || die
+}
+
+src_test() {
+	# Run the unit tests.
+	python_test() {
+		"${PYTHON}" nebraska/nebraska_unittest.py || die
+	}
+	python_foreach_impl python_test
+}
diff --git a/chromeos-base/update-utils/update-utils-9999.ebuild b/chromeos-base/update-utils/update-utils-9999.ebuild
index a390390..9a72b19 100644
--- a/chromeos-base/update-utils/update-utils-9999.ebuild
+++ b/chromeos-base/update-utils/update-utils-9999.ebuild
@@ -6,7 +6,7 @@
 
 EAPI=6
 
-PYTHON_COMPAT=( python2_7 python3_{6,7} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
 CROS_WORKON_LOCALNAME="platform/dev"
@@ -34,12 +34,13 @@
 
 	insinto /etc/init
 	doins nebraska/nebraska.conf
+	sed -i "s:@LIBDIR@:$(get_libdir):g" "${ED}"/etc/init/nebraska.conf || die
 }
 
 src_test() {
 	# Run the unit tests.
 	python_test() {
-		"$PYTHON" nebraska/nebraska_unittest.py || die
+		"${PYTHON}" nebraska/nebraska_unittest.py || die
 	}
 	python_foreach_impl python_test
 }
diff --git a/chromeos-base/update_engine-client/OWNERS b/chromeos-base/update_engine-client/OWNERS
new file mode 100644
index 0000000..16d6476
--- /dev/null
+++ b/chromeos-base/update_engine-client/OWNERS
@@ -0,0 +1 @@
+include chromiumos/chromite:/OWNERS.au
diff --git a/chromeos-base/update_engine-client/files/revision_bump b/chromeos-base/update_engine-client/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/update_engine-client/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/update_engine-client/update_engine-client-0.0.1-r2012.ebuild b/chromeos-base/update_engine-client/update_engine-client-0.0.1-r2012.ebuild
deleted file mode 100644
index d76613c..0000000
--- a/chromeos-base/update_engine-client/update_engine-client-0.0.1-r2012.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("f35f2919309cf11b0ddd9deb24a6b145d40d9254" "88eb7c328c56af2abeb32308957ed2f22d43a617")
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "405a9012a5bd76dfc4c3f8d2377c6d63eb6e6f51")
-CROS_WORKON_LOCALNAME=("platform2" "aosp/system/update_engine")
-CROS_WORKON_PROJECT=("chromiumos/platform2" "aosp/platform/system/update_engine")
-CROS_WORKON_EGIT_BRANCH=("main" "master")
-CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/update_engine")
-CROS_WORKON_USE_VCSID=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE=("common-mk .gn" "")
-
-PLATFORM_NATIVE_TEST="yes"
-PLATFORM_SUBDIR="update_engine/client-headers"
-
-inherit cros-debug cros-workon platform
-
-DESCRIPTION="Chrome OS Update Engine client library"
-HOMEPAGE="https://chromium.googlesource.com/aosp/platform/system/update_engine/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE="cros_host"
-
-RDEPEND="
-	!<chromeos-base/update_engine-0.0.3
-"
-
-BDEPEND="
-	chromeos-base/chromeos-dbus-bindings:=
-"
-
-src_install() {
-	# Install DBus client library.
-	platform_install_dbus_client_lib "update_engine"
-}
diff --git a/chromeos-base/update_engine-client/update_engine-client-0.0.1-r2086.ebuild b/chromeos-base/update_engine-client/update_engine-client-0.0.1-r2086.ebuild
new file mode 100644
index 0000000..42a8ef3
--- /dev/null
+++ b/chromeos-base/update_engine-client/update_engine-client-0.0.1-r2086.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("dbb1136242ba822d539eaf11493f3b68815adb7f" "b1ecaff8d71f1229a4cf9a311003e4bc3ded78cf")
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "372f10e79ea2c24a73cc3a7dc6e2a620e1486ac5")
+CROS_WORKON_LOCALNAME=("platform2" "aosp/system/update_engine")
+CROS_WORKON_PROJECT=("chromiumos/platform2" "aosp/platform/system/update_engine")
+CROS_WORKON_EGIT_BRANCH=("main" "master")
+CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/update_engine")
+CROS_WORKON_USE_VCSID=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE=("common-mk .gn" "")
+
+PLATFORM_NATIVE_TEST="yes"
+PLATFORM_SUBDIR="update_engine/client-headers"
+
+inherit cros-debug cros-workon platform
+
+DESCRIPTION="Chrome OS Update Engine client library"
+HOMEPAGE="https://chromium.googlesource.com/aosp/platform/system/update_engine/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="cros_host"
+
+RDEPEND="
+	!<chromeos-base/update_engine-0.0.3
+"
+
+BDEPEND="
+	chromeos-base/chromeos-dbus-bindings:=
+"
+
+src_install() {
+	# Install DBus client library.
+	platform_install_dbus_client_lib "update_engine"
+}
diff --git a/chromeos-base/update_engine/OWNERS b/chromeos-base/update_engine/OWNERS
new file mode 100644
index 0000000..16d6476
--- /dev/null
+++ b/chromeos-base/update_engine/OWNERS
@@ -0,0 +1 @@
+include chromiumos/chromite:/OWNERS.au
diff --git a/chromeos-base/update_engine/files/revision_bump b/chromeos-base/update_engine/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/update_engine/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/update_engine/update_engine-0.0.3-r3977.ebuild b/chromeos-base/update_engine/update_engine-0.0.3-r3977.ebuild
deleted file mode 100644
index b06479f..0000000
--- a/chromeos-base/update_engine/update_engine-0.0.3-r3977.ebuild
+++ /dev/null
@@ -1,149 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("f35f2919309cf11b0ddd9deb24a6b145d40d9254" "88eb7c328c56af2abeb32308957ed2f22d43a617")
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "9e66382b03347c75c26c85bc14db150d365a0be6" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "405a9012a5bd76dfc4c3f8d2377c6d63eb6e6f51")
-CROS_WORKON_LOCALNAME=("platform2" "aosp/system/update_engine")
-CROS_WORKON_PROJECT=("chromiumos/platform2" "aosp/platform/system/update_engine")
-CROS_WORKON_EGIT_BRANCH=("main" "master")
-CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/update_engine")
-CROS_WORKON_USE_VCSID=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE=("common-mk diagnostics .gn" "")
-
-PLATFORM_SUBDIR="update_engine"
-
-inherit cros-debug cros-workon platform systemd
-
-DESCRIPTION="Chrome OS Update Engine"
-HOMEPAGE="https://chromium.googlesource.com/aosp/platform/system/update_engine/"
-SRC_URI=""
-
-LICENSE="Apache-2.0"
-KEYWORDS="*"
-IUSE="cfm cros_host cros_p2p dlc fuzzer hw_details -hwid_override minios +power_management systemd"
-
-COMMON_DEPEND="
-	app-arch/bzip2:=
-	chromeos-base/chromeos-ca-certificates:=
-	hw_details? ( chromeos-base/diagnostics:= )
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/vboot_reference:=
-	cros_p2p? ( chromeos-base/p2p:= )
-	dev-libs/expat:=
-	dev-libs/openssl:=
-	dev-libs/protobuf:=
-	dev-libs/xz-embedded:=
-	dev-util/bsdiff:=
-	dev-util/puffin:=
-	net-misc/curl:=
-	sys-apps/rootdev:="
-
-DEPEND="
-	app-arch/xz-utils:=
-	chromeos-base/debugd-client:=
-	dlc? ( chromeos-base/dlcservice-client:= )
-	chromeos-base/power_manager-client:=
-	chromeos-base/session_manager-client:=
-	chromeos-base/shill-client:=
-	chromeos-base/system_api:=[fuzzer?]
-	chromeos-base/update_engine-client:=
-	test? ( sys-fs/squashfs-tools )
-	${COMMON_DEPEND}"
-
-DELTA_GENERATOR_RDEPEND="
-	app-arch/unzip:=
-	app-arch/xz-utils:=
-	|| (
-		>=sys-fs/e2fsprogs-1.46.4-r5:=
-		sys-libs/e2fsprogs-libs:=
-	)
-	sys-fs/squashfs-tools
-"
-
-RDEPEND="
-	!cros_host? ( chromeos-base/chromeos-installer )
-	${COMMON_DEPEND}
-	cros_host? ( ${DELTA_GENERATOR_RDEPEND} )
-	power_management? ( chromeos-base/power_manager:= )
-	virtual/update-policy:=
-"
-
-platform_pkg_test() {
-	local unittests_binary="${OUT}"/update_engine_unittests
-
-	# The unittests will try to exec `./helpers`, so make sure we're in
-	# the right dir to execute things.
-	cd "${OUT}"
-	# The tests also want keys to be in the current dir.
-	# .pub.pem files are generated on the "gen" directory.
-	cp "${S}"/unittest_key*.pem ./ || die
-	cp gen/include/update_engine/unittest_key*.pub.pem ./ || die
-
-	# The unit tests check to make sure the minor version value in
-	# update_engine.conf match the constants in update engine, so we need to be
-	# able to access this file.
-	cp "${S}/update_engine.conf" ./
-
-	# If GTEST_FILTER isn't provided, we run two subsets of tests
-	# separately: the set of non-privileged  tests (run normally)
-	# followed by the set of privileged tests (run as root).
-	# Otherwise, we pass the GTEST_FILTER environment variable as
-	# an argument and run all the tests as root; while this might
-	# lead to tests running with excess privileges, it is necessary
-	# in order to be able to run every test, including those that
-	# need to be run with root privileges.
-	if [[ -z "${GTEST_FILTER}" ]]; then
-		platform_test "run" "${unittests_binary}" 0 '-*.RunAsRoot*'
-		platform_test "run" "${unittests_binary}" 1 '*.RunAsRoot*'
-	else
-		platform_test "run" "${unittests_binary}" 1 "${GTEST_FILTER}"
-	fi
-
-	for f in "omaha_request_action" "delta_performer"; do
-		platform_fuzzer_test "${OUT}/update_engine_${f}_fuzzer"
-	done
-}
-
-src_install() {
-	dosbin "${OUT}"/update_engine
-	dobin "${OUT}"/update_engine_client
-
-	if use cros_host; then
-		dobin "${OUT}"/delta_generator
-	fi
-
-	insinto /etc
-	newins update_engine.conf.chromeos update_engine.conf
-
-	if use systemd; then
-		systemd_dounit "${FILESDIR}"/update-engine.service
-		systemd_enable_service multi-user.target update-engine.service
-	else
-		# Install upstart script
-		insinto /etc/init
-		doins init/update-engine.conf
-	fi
-
-	# Install DBus configuration
-	insinto /etc/dbus-1/system.d
-	doins UpdateEngine.conf
-
-	# TODO(b/182168271): Remove minios flag and public key from update_engine.
-	# Add the public key only when signing for MiniOs.
-	if use minios; then
-		insinto "/build/initramfs"
-		doins scripts/update_payload/update-payload-key.pub.pem
-	fi
-
-	local fuzzer_component_id="908319"
-	platform_fuzzer_install "${S}"/OWNERS \
-				"${OUT}"/update_engine_omaha_request_action_fuzzer \
-				--dict "${S}"/fuzz/xml.dict \
-				--comp "${fuzzer_component_id}"
-	platform_fuzzer_install "${S}"/OWNERS \
-				"${OUT}"/update_engine_delta_performer_fuzzer \
-				--comp "${fuzzer_component_id}"
-}
diff --git a/chromeos-base/update_engine/update_engine-0.0.3-r4163.ebuild b/chromeos-base/update_engine/update_engine-0.0.3-r4163.ebuild
new file mode 100644
index 0000000..2a11577
--- /dev/null
+++ b/chromeos-base/update_engine/update_engine-0.0.3-r4163.ebuild
@@ -0,0 +1,152 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("71ddf055c1002feef322b5414a71d7c8aa368d57" "b1ecaff8d71f1229a4cf9a311003e4bc3ded78cf")
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "ab5bf458d33d9fd75a653fd0b130cc21ef57744f" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "372f10e79ea2c24a73cc3a7dc6e2a620e1486ac5")
+CROS_WORKON_LOCALNAME=("platform2" "aosp/system/update_engine")
+CROS_WORKON_PROJECT=("chromiumos/platform2" "aosp/platform/system/update_engine")
+CROS_WORKON_EGIT_BRANCH=("main" "master")
+CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/update_engine")
+CROS_WORKON_USE_VCSID=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE=("common-mk diagnostics .gn" "")
+
+PLATFORM_SUBDIR="update_engine"
+
+inherit cros-debug cros-workon platform systemd
+
+DESCRIPTION="Chrome OS Update Engine"
+HOMEPAGE="https://chromium.googlesource.com/aosp/platform/system/update_engine/"
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+KEYWORDS="*"
+IUSE="cfm cros_host cros_p2p dlc fuzzer hw_details -hwid_override minios +power_management report_requisition systemd"
+
+COMMON_DEPEND="
+	app-arch/bzip2:=
+	chromeos-base/chromeos-ca-certificates:=
+	hw_details? ( chromeos-base/diagnostics:= )
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/vboot_reference:=
+	cros_p2p? ( chromeos-base/p2p:= )
+	dev-libs/expat:=
+	dev-libs/openssl:=
+	dev-libs/protobuf:=
+	dev-libs/xz-embedded:=
+	dev-util/bsdiff:=
+	dev-util/puffin:=
+	net-misc/curl:=
+	sys-apps/rootdev:="
+
+DEPEND="
+	app-arch/xz-utils:=
+	chromeos-base/debugd-client:=
+	dlc? ( chromeos-base/dlcservice-client:= )
+	chromeos-base/power_manager-client:=
+	chromeos-base/session_manager-client:=
+	chromeos-base/shill-client:=
+	chromeos-base/system_api:=[fuzzer?]
+	chromeos-base/update_engine-client:=
+	test? ( sys-fs/squashfs-tools )
+	${COMMON_DEPEND}"
+
+DELTA_GENERATOR_RDEPEND="
+	app-arch/unzip:=
+	app-arch/xz-utils:=
+	|| (
+		>=sys-fs/e2fsprogs-1.46.4-r5:=
+		sys-libs/e2fsprogs-libs:=
+	)
+	sys-fs/squashfs-tools
+"
+
+RDEPEND="
+	!cros_host? ( chromeos-base/chromeos-installer )
+	${COMMON_DEPEND}
+	cros_host? (
+		${DEPEND}
+		${DELTA_GENERATOR_RDEPEND}
+	)
+	power_management? ( chromeos-base/power_manager:= )
+	virtual/update-policy:=
+"
+
+platform_pkg_test() {
+	local unittests_binary="${OUT}"/update_engine_unittests
+
+	# The unittests will try to exec `./helpers`, so make sure we're in
+	# the right dir to execute things.
+	cd "${OUT}" || die
+	# The tests also want keys to be in the current dir.
+	# .pub.pem files are generated on the "gen" directory.
+	cp "${S}"/unittest_key*.pem ./ || die
+	cp gen/include/update_engine/unittest_key*.pub.pem ./ || die
+
+	# The unit tests check to make sure the minor version value in
+	# update_engine.conf match the constants in update engine, so we need to be
+	# able to access this file.
+	cp "${S}/update_engine.conf" ./
+
+	# If GTEST_FILTER isn't provided, we run two subsets of tests
+	# separately: the set of non-privileged  tests (run normally)
+	# followed by the set of privileged tests (run as root).
+	# Otherwise, we pass the GTEST_FILTER environment variable as
+	# an argument and run all the tests as root; while this might
+	# lead to tests running with excess privileges, it is necessary
+	# in order to be able to run every test, including those that
+	# need to be run with root privileges.
+	if [[ -z "${GTEST_FILTER}" ]]; then
+		platform_test "run" "${unittests_binary}" 0 '-*.RunAsRoot*'
+		platform_test "run" "${unittests_binary}" 1 '*.RunAsRoot*'
+	else
+		platform_test "run" "${unittests_binary}" 1 "${GTEST_FILTER}"
+	fi
+
+	for f in "omaha_request_action" "delta_performer"; do
+		platform_fuzzer_test "${OUT}/update_engine_${f}_fuzzer"
+	done
+}
+
+src_install() {
+	dosbin "${OUT}"/update_engine
+	dobin "${OUT}"/update_engine_client
+
+	if use cros_host; then
+		dobin "${OUT}"/delta_generator
+	fi
+
+	insinto /etc
+	newins update_engine.conf.chromeos update_engine.conf
+
+	if use systemd; then
+		systemd_dounit "${FILESDIR}"/update-engine.service
+		systemd_enable_service multi-user.target update-engine.service
+	else
+		# Install upstart script
+		insinto /etc/init
+		doins init/update-engine.conf
+	fi
+
+	# Install DBus configuration
+	insinto /etc/dbus-1/system.d
+	doins UpdateEngine.conf
+
+	# TODO(b/182168271): Remove minios flag and public key from update_engine.
+	# Add the public key only when signing for MiniOs.
+	if use minios; then
+		insinto "/build/initramfs"
+		doins scripts/update_payload/update-payload-key.pub.pem
+	fi
+
+	local fuzzer_component_id="908319"
+	platform_fuzzer_install "${S}"/OWNERS \
+				"${OUT}"/update_engine_omaha_request_action_fuzzer \
+				--dict "${S}"/fuzz/xml.dict \
+				--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS \
+				"${OUT}"/update_engine_delta_performer_fuzzer \
+				--comp "${fuzzer_component_id}"
+}
diff --git a/chromeos-base/update_engine/update_engine-9999.ebuild b/chromeos-base/update_engine/update_engine-9999.ebuild
index 462fa8f..86db254 100644
--- a/chromeos-base/update_engine/update_engine-9999.ebuild
+++ b/chromeos-base/update_engine/update_engine-9999.ebuild
@@ -21,7 +21,7 @@
 
 LICENSE="Apache-2.0"
 KEYWORDS="~*"
-IUSE="cfm cros_host cros_p2p dlc fuzzer hw_details -hwid_override minios +power_management systemd"
+IUSE="cfm cros_host cros_p2p dlc fuzzer hw_details -hwid_override minios +power_management report_requisition systemd"
 
 COMMON_DEPEND="
 	app-arch/bzip2:=
@@ -64,7 +64,10 @@
 RDEPEND="
 	!cros_host? ( chromeos-base/chromeos-installer )
 	${COMMON_DEPEND}
-	cros_host? ( ${DELTA_GENERATOR_RDEPEND} )
+	cros_host? (
+		${DEPEND}
+		${DELTA_GENERATOR_RDEPEND}
+	)
 	power_management? ( chromeos-base/power_manager:= )
 	virtual/update-policy:=
 "
@@ -74,7 +77,7 @@
 
 	# The unittests will try to exec `./helpers`, so make sure we're in
 	# the right dir to execute things.
-	cd "${OUT}"
+	cd "${OUT}" || die
 	# The tests also want keys to be in the current dir.
 	# .pub.pem files are generated on the "gen" directory.
 	cp "${S}"/unittest_key*.pem ./ || die
diff --git a/chromeos-base/update_payload/OWNERS b/chromeos-base/update_payload/OWNERS
new file mode 100644
index 0000000..16d6476
--- /dev/null
+++ b/chromeos-base/update_payload/OWNERS
@@ -0,0 +1 @@
+include chromiumos/chromite:/OWNERS.au
diff --git a/chromeos-base/update_payload/update_payload-0.0.1-r440.ebuild b/chromeos-base/update_payload/update_payload-0.0.1-r440.ebuild
deleted file mode 100644
index 8941714..0000000
--- a/chromeos-base/update_payload/update_payload-0.0.1-r440.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="88eb7c328c56af2abeb32308957ed2f22d43a617"
-CROS_WORKON_TREE="405a9012a5bd76dfc4c3f8d2377c6d63eb6e6f51"
-PYTHON_COMPAT=( python3_{6,7} )
-
-CROS_WORKON_LOCALNAME="aosp/system/update_engine"
-CROS_WORKON_PROJECT="aosp/platform/system/update_engine"
-CROS_WORKON_EGIT_BRANCH="master"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-
-inherit cros-workon python-r1
-
-DESCRIPTION="Chrome OS Update Engine Update Payload Scripts"
-HOMEPAGE="https://chromium.googlesource.com/aosp/platform/system/update_engine"
-
-LICENSE="Apache-2.0"
-KEYWORDS="*"
-
-RDEPEND="
-	dev-python/protobuf-python[${PYTHON_USEDEP}]
-	!<chromeos-base/devserver-0.0.3
-"
-DEPEND=""
-
-src_install() {
-	# Install update_payload scripts.
-	install_update_payload() {
-		# TODO(crbug.com/771085): Clear the SYSROOT var as python will use
-		# that to define the sitedir which means we end up installing into
-		# a path like /build/$BOARD/build/$BOARD/xxx.  This is a bug in the
-		# core python logic, but this is breaking moblab, so hack it for now.
-		insinto "$(python_get_sitedir | sed "s:^${SYSROOT}::")/update_payload"
-		doins $(printf '%s\n' scripts/update_payload/*.py | grep -v unittest)
-		doins scripts/update_payload/update-payload-key.pub.pem
-	}
-	python_foreach_impl install_update_payload
-
-	# Install paycheck.py script as check_update_payload.
-	newbin scripts/paycheck.py check_update_payload
-}
-
-src_test() {
-	# Run update_payload unittests.
-	cd "${T}" || die
-	unpack "${S}"/sample_images/{sample_payloads.tar.xz,sample_images.tar.bz2}
-	cd "${S}"/scripts || die
-	python_test() {
-		./run_unittests || die
-	}
-	python_foreach_impl python_test
-}
diff --git a/chromeos-base/update_payload/update_payload-0.0.1-r459.ebuild b/chromeos-base/update_payload/update_payload-0.0.1-r459.ebuild
new file mode 100644
index 0000000..619223a
--- /dev/null
+++ b/chromeos-base/update_payload/update_payload-0.0.1-r459.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b1ecaff8d71f1229a4cf9a311003e4bc3ded78cf"
+CROS_WORKON_TREE="372f10e79ea2c24a73cc3a7dc6e2a620e1486ac5"
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_LOCALNAME="aosp/system/update_engine"
+CROS_WORKON_PROJECT="aosp/platform/system/update_engine"
+CROS_WORKON_EGIT_BRANCH="master"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+
+inherit cros-workon python-r1
+
+DESCRIPTION="Chrome OS Update Engine Update Payload Scripts"
+HOMEPAGE="https://chromium.googlesource.com/aosp/platform/system/update_engine"
+
+LICENSE="Apache-2.0"
+KEYWORDS="*"
+
+RDEPEND="
+	dev-python/protobuf-python[${PYTHON_USEDEP}]
+	!<chromeos-base/devserver-0.0.3
+"
+DEPEND=""
+
+src_install() {
+	# Install update_payload scripts.
+	install_update_payload() {
+		# TODO(crbug.com/771085): Clear the SYSROOT var as python will use
+		# that to define the sitedir which means we end up installing into
+		# a path like /build/$BOARD/build/$BOARD/xxx.  This is a bug in the
+		# core python logic, but this is breaking moblab, so hack it for now.
+		insinto "$(python_get_sitedir | sed "s:^${SYSROOT}::")/update_payload"
+		doins $(printf '%s\n' scripts/update_payload/*.py | grep -v unittest)
+		doins scripts/update_payload/update-payload-key.pub.pem
+	}
+	python_foreach_impl install_update_payload
+
+	# Install paycheck.py script as check_update_payload.
+	newbin scripts/paycheck.py check_update_payload
+}
+
+src_test() {
+	# Run update_payload unittests.
+	cd "${T}" || die
+	unpack "${S}"/sample_images/{sample_payloads.tar.xz,sample_images.tar.bz2}
+	cd "${S}"/scripts || die
+	python_test() {
+		./run_unittests || die
+	}
+	python_foreach_impl python_test
+}
diff --git a/chromeos-base/update_payload/update_payload-9999.ebuild b/chromeos-base/update_payload/update_payload-9999.ebuild
index a1909fa..a4db5f8 100644
--- a/chromeos-base/update_payload/update_payload-9999.ebuild
+++ b/chromeos-base/update_payload/update_payload-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-PYTHON_COMPAT=( python3_{6,7} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 CROS_WORKON_LOCALNAME="aosp/system/update_engine"
 CROS_WORKON_PROJECT="aosp/platform/system/update_engine"
diff --git a/chromeos-base/ureadahead-diff/files/revision_bump b/chromeos-base/ureadahead-diff/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/ureadahead-diff/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/ureadahead-diff/ureadahead-diff-0.0.1-r155.ebuild b/chromeos-base/ureadahead-diff/ureadahead-diff-0.0.1-r155.ebuild
deleted file mode 100644
index 065b707..0000000
--- a/chromeos-base/ureadahead-diff/ureadahead-diff-0.0.1-r155.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "a3eac5d15a46a63784099b3fe4af44a89d376a6f" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk ureadahead-diff .gn"
-
-PLATFORM_SUBDIR="ureadahead-diff"
-
-inherit cros-workon platform
-
-DESCRIPTION="Calculate common part and difference of two ureadahead packs"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/ureadahead-diff"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-
-src_install() {
-	dobin "${OUT}"/ureadahead-diff
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/ureadahead-diff_testrunner"
-}
diff --git a/chromeos-base/ureadahead-diff/ureadahead-diff-0.0.1-r213.ebuild b/chromeos-base/ureadahead-diff/ureadahead-diff-0.0.1-r213.ebuild
new file mode 100644
index 0000000..9470586
--- /dev/null
+++ b/chromeos-base/ureadahead-diff/ureadahead-diff-0.0.1-r213.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "a3eac5d15a46a63784099b3fe4af44a89d376a6f" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk ureadahead-diff .gn"
+
+PLATFORM_SUBDIR="ureadahead-diff"
+
+inherit cros-workon platform
+
+DESCRIPTION="Calculate common part and difference of two ureadahead packs"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/ureadahead-diff"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+
+src_install() {
+	dobin "${OUT}"/ureadahead-diff
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/ureadahead-diff_testrunner"
+}
diff --git a/chromeos-base/ureadahead-diff/ureadahead-diff-9999.ebuild b/chromeos-base/ureadahead-diff/ureadahead-diff-9999.ebuild
index e6a94e1..a18d41d 100644
--- a/chromeos-base/ureadahead-diff/ureadahead-diff-9999.ebuild
+++ b/chromeos-base/ureadahead-diff/ureadahead-diff-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Calculate common part and difference of two ureadahead packs"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/ureadahead-diff"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/ureadahead-diff"
 
 LICENSE="BSD-Google"
 SLOT="0/0"
diff --git a/chromeos-base/usb_bouncer/files/revision_bump b/chromeos-base/usb_bouncer/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/usb_bouncer/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/usb_bouncer/usb_bouncer-0.0.1-r457.ebuild b/chromeos-base/usb_bouncer/usb_bouncer-0.0.1-r457.ebuild
deleted file mode 100644
index 2ffc2e9..0000000
--- a/chromeos-base/usb_bouncer/usb_bouncer-0.0.1-r457.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "4a0dedab080195bdc122d2289118df4af3ddca2c" "8cd7defb988caf6502019d5c83e26cc585ef1fc3" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk metrics usb_bouncer .gn"
-
-PLATFORM_SUBDIR="usb_bouncer"
-
-inherit tmpfiles cros-workon platform user cros-fuzzer cros-sanitizers
-
-DESCRIPTION="Manage the usbguard whitelist"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/usb_bouncer/"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="fuzzer"
-
-COMMON_DEPEND="
-	fuzzer? ( dev-libs/libprotobuf-mutator:= )
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/minijail:=
-	dev-libs/openssl:0=
-	sys-apps/usbguard:=
-"
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}
-	chromeos-base/session_manager-client:="
-
-src_install() {
-	insinto /lib/udev/rules.d
-	doins "${S}/40-usb-bouncer.rules"
-
-	dotmpfiles tmpfiles.d/*.conf
-
-	cd "${OUT}" || die
-	dosbin usb_bouncer
-
-	insinto /etc/dbus-1/system.d
-	doins "${S}/UsbBouncer.conf"
-
-	insinto /usr/share/policy
-	newins "${S}/seccomp/usb_bouncer-seccomp-${ARCH}.policy" usb_bouncer-seccomp.policy
-
-	insinto /etc/init
-	doins "${S}"/init/usb_bouncer.conf
-
-	local daemon_store="/etc/daemon-store/usb_bouncer"
-	dodir "${daemon_store}"
-	fperms 0700 "${daemon_store}"
-	fowners usb_bouncer:usb_bouncer "${daemon_store}"
-
-	local f="${OUT}/usb_bouncer_fuzzer"
-	local fuzzer_component_id="1048474"
-	fuzzer_install "${S}/OWNERS" "${f}" \
-		--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/run_tests"
-}
-
-pkg_setup() {
-	enewuser usb_bouncer
-	enewgroup usb_bouncer
-	cros-workon_pkg_setup
-}
diff --git a/chromeos-base/usb_bouncer/usb_bouncer-0.0.1-r558.ebuild b/chromeos-base/usb_bouncer/usb_bouncer-0.0.1-r558.ebuild
new file mode 100644
index 0000000..930686a
--- /dev/null
+++ b/chromeos-base/usb_bouncer/usb_bouncer-0.0.1-r558.ebuild
@@ -0,0 +1,75 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "974e43385202b259caed149a94f511942d087201" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk metrics usb_bouncer .gn"
+
+PLATFORM_SUBDIR="usb_bouncer"
+
+inherit tmpfiles cros-workon platform user cros-fuzzer cros-sanitizers
+
+DESCRIPTION="Manage the usbguard whitelist"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/usb_bouncer/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="fuzzer"
+
+COMMON_DEPEND="
+	fuzzer? ( dev-libs/libprotobuf-mutator:= )
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/minijail:=
+	dev-libs/openssl:0=
+	sys-apps/usbguard:=
+"
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/session_manager-client:="
+
+src_install() {
+	insinto /lib/udev/rules.d
+	doins "${S}/40-usb-bouncer.rules"
+
+	dotmpfiles tmpfiles.d/*.conf
+
+	cd "${OUT}" || die
+	dosbin usb_bouncer
+
+	insinto /etc/dbus-1/system.d
+	doins "${S}/UsbBouncer.conf"
+
+	insinto /usr/share/policy
+	newins "${S}/seccomp/usb_bouncer-seccomp-${ARCH}.policy" usb_bouncer-seccomp.policy
+
+	insinto /etc/init
+	doins "${S}"/init/usb_bouncer.conf
+
+	local daemon_store="/etc/daemon-store/usb_bouncer"
+	dodir "${daemon_store}"
+	fperms 0700 "${daemon_store}"
+	fowners usb_bouncer:usb_bouncer "${daemon_store}"
+
+	local f="${OUT}/usb_bouncer_fuzzer"
+	local fuzzer_component_id="1048474"
+	fuzzer_install "${S}/OWNERS" "${f}" \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/run_tests"
+}
+
+pkg_setup() {
+	enewuser usb_bouncer
+	enewgroup usb_bouncer
+	cros-workon_pkg_setup
+}
diff --git a/chromeos-base/usb_bouncer/usb_bouncer-9999.ebuild b/chromeos-base/usb_bouncer/usb_bouncer-9999.ebuild
index 5a86e438..633e778 100644
--- a/chromeos-base/usb_bouncer/usb_bouncer-9999.ebuild
+++ b/chromeos-base/usb_bouncer/usb_bouncer-9999.ebuild
@@ -15,7 +15,7 @@
 inherit tmpfiles cros-workon platform user cros-fuzzer cros-sanitizers
 
 DESCRIPTION="Manage the usbguard whitelist"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/usb_bouncer/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/usb_bouncer/"
 
 LICENSE="BSD-Google"
 SLOT="0/0"
diff --git a/chromeos-base/userfeedback/userfeedback-0.0.1-r2903.ebuild b/chromeos-base/userfeedback/userfeedback-0.0.1-r2903.ebuild
deleted file mode 100644
index 0466cfc..0000000
--- a/chromeos-base/userfeedback/userfeedback-0.0.1-r2903.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="a4c6bc10dd3a06cf1ce3a08ef4177b540579d126"
-CROS_WORKON_TREE="1931320fd5d91a0266effb9cc31122c0724c0b93"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_DESTDIR="${S}"
-CROS_WORKON_SUBTREE="userfeedback"
-
-inherit cros-workon systemd
-
-DESCRIPTION="Log scripts used by userfeedback to report cros system information"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/userfeedback/"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="systemd X"
-
-RDEPEND="chromeos-base/chromeos-init
-	chromeos-base/crash-reporter
-	chromeos-base/modem-utilities
-	chromeos-base/vboot_reference
-	media-libs/fontconfig
-	media-sound/alsa-utils
-	sys-apps/coreboot-utils
-	sys-apps/net-tools
-	sys-apps/pciutils
-	sys-apps/usbutils
-	X? ( x11-apps/setxkbmap )"
-
-DEPEND=""
-
-src_unpack() {
-	cros-workon_src_unpack
-	S+="/userfeedback"
-}
-
-src_install() {
-	exeinto /usr/share/userfeedback/scripts
-	doexe scripts/*
-
-	# Install init scripts.
-	if use systemd; then
-		local units=("firmware-version.service")
-		systemd_dounit init/*.service
-		for unit in "${units[@]}"; do
-			systemd_enable_service system-services.target ${unit}
-		done
-	else
-		insinto /etc/init
-		doins init/*.conf
-	fi
-}
diff --git a/chromeos-base/userfeedback/userfeedback-0.0.1-r2905.ebuild b/chromeos-base/userfeedback/userfeedback-0.0.1-r2905.ebuild
new file mode 100644
index 0000000..4c5f7db
--- /dev/null
+++ b/chromeos-base/userfeedback/userfeedback-0.0.1-r2905.ebuild
@@ -0,0 +1,56 @@
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="49bab8560863df281c5edacac43032f62dbb21fb"
+CROS_WORKON_TREE="f94d6fc9421e2ff3795caf5e2cf743fcea891f2e"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_DESTDIR="${S}"
+CROS_WORKON_SUBTREE="userfeedback"
+
+inherit cros-workon systemd
+
+DESCRIPTION="Log scripts used by userfeedback to report cros system information"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/userfeedback/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="systemd X"
+
+RDEPEND="chromeos-base/chromeos-init
+	chromeos-base/crash-reporter
+	chromeos-base/modem-utilities
+	chromeos-base/vboot_reference
+	media-libs/fontconfig
+	media-sound/alsa-utils
+	sys-apps/coreboot-utils
+	sys-apps/net-tools
+	sys-apps/pciutils
+	sys-apps/usbutils
+	X? ( x11-apps/setxkbmap )"
+
+DEPEND=""
+
+src_unpack() {
+	cros-workon_src_unpack
+	S+="/userfeedback"
+}
+
+src_install() {
+	exeinto /usr/share/userfeedback/scripts
+	doexe scripts/*
+
+	# Install init scripts.
+	if use systemd; then
+		local units=("firmware-version.service")
+		systemd_dounit init/*.service
+		for unit in "${units[@]}"; do
+			systemd_enable_service system-services.target ${unit}
+		done
+	else
+		insinto /etc/init
+		doins init/*.conf
+	fi
+}
diff --git a/chromeos-base/userfeedback/userfeedback-9999.ebuild b/chromeos-base/userfeedback/userfeedback-9999.ebuild
index d5db25fbd..04c6b3d 100644
--- a/chromeos-base/userfeedback/userfeedback-9999.ebuild
+++ b/chromeos-base/userfeedback/userfeedback-9999.ebuild
@@ -10,7 +10,7 @@
 inherit cros-workon systemd
 
 DESCRIPTION="Log scripts used by userfeedback to report cros system information"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/userfeedback/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/userfeedback/"
 
 LICENSE="BSD-Google"
 SLOT="0/0"
diff --git a/chromeos-base/userspace_touchpad/files/revision_bump b/chromeos-base/userspace_touchpad/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/userspace_touchpad/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/userspace_touchpad/userspace_touchpad-0.0.1-r1297.ebuild b/chromeos-base/userspace_touchpad/userspace_touchpad-0.0.1-r1297.ebuild
deleted file mode 100644
index 9488238..0000000
--- a/chromeos-base/userspace_touchpad/userspace_touchpad-0.0.1-r1297.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_DESTDIR="${S}"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk userspace_touchpad .gn"
-
-PLATFORM_SUBDIR="userspace_touchpad"
-
-inherit cros-workon platform
-
-DESCRIPTION="Userspace Touchpad"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/userspace_touchpad/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-IUSE=""
-KEYWORDS="*"
-
-src_install() {
-	dobin "${OUT}/userspace_touchpad"
-
-	insinto "/etc/init"
-	doins "userspace_touchpad.conf"
-}
diff --git a/chromeos-base/userspace_touchpad/userspace_touchpad-0.0.1-r1355.ebuild b/chromeos-base/userspace_touchpad/userspace_touchpad-0.0.1-r1355.ebuild
new file mode 100644
index 0000000..7f15651
--- /dev/null
+++ b/chromeos-base/userspace_touchpad/userspace_touchpad-0.0.1-r1355.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_DESTDIR="${S}"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk userspace_touchpad .gn"
+
+PLATFORM_SUBDIR="userspace_touchpad"
+
+inherit cros-workon platform
+
+DESCRIPTION="Userspace Touchpad"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/userspace_touchpad/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+IUSE=""
+KEYWORDS="*"
+
+src_install() {
+	dobin "${OUT}/userspace_touchpad"
+
+	insinto "/etc/init"
+	doins "userspace_touchpad.conf"
+}
diff --git a/chromeos-base/userspace_touchpad/userspace_touchpad-9999.ebuild b/chromeos-base/userspace_touchpad/userspace_touchpad-9999.ebuild
index 34209ee..67d7403 100644
--- a/chromeos-base/userspace_touchpad/userspace_touchpad-9999.ebuild
+++ b/chromeos-base/userspace_touchpad/userspace_touchpad-9999.ebuild
@@ -13,7 +13,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Userspace Touchpad"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/userspace_touchpad/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/userspace_touchpad/"
 SRC_URI=""
 
 LICENSE="BSD-Google"
diff --git a/chromeos-base/usi-test/usi-test-0.0.1-r2.ebuild b/chromeos-base/usi-test/usi-test-0.0.1-r2.ebuild
deleted file mode 100644
index 4384480..0000000
--- a/chromeos-base/usi-test/usi-test-0.0.1-r2.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="ca7b4b66c18c97e1d7e21b36a9c76239ea0530ef"
-CROS_WORKON_TREE="3df4e9ea258213e789b984b837eac63585d8bb8e"
-PYTHON_COMPAT=( python3_{6..8} )
-
-CROS_WORKON_PROJECT="chromiumos/platform/usi-test"
-CROS_WORKON_LOCALNAME="platform/usi-test"
-
-inherit cros-workon distutils-r1
-
-DESCRIPTION="Universal Stylus Initiative (USI) Certification Tool"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/usi-test/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="-"
-
-RDEPEND="~dev-python/hid-tools-0.2[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
diff --git a/chromeos-base/usi-test/usi-test-0.0.1-r5.ebuild b/chromeos-base/usi-test/usi-test-0.0.1-r5.ebuild
new file mode 100644
index 0000000..fb90315
--- /dev/null
+++ b/chromeos-base/usi-test/usi-test-0.0.1-r5.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="36e36575ca053ff30cdd29ee9bce01def40b7c5e"
+CROS_WORKON_TREE="b0f121faef567b7be3620e5ddf9b7b1a6d6b5bee"
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_PROJECT="chromiumos/platform/usi-test"
+CROS_WORKON_LOCALNAME="platform/usi-test"
+
+inherit cros-workon distutils-r1
+
+DESCRIPTION="Universal Stylus Initiative (USI) Certification Tool"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/usi-test/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="-"
+
+RDEPEND="~dev-python/hid-tools-0.2[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
diff --git a/chromeos-base/usi-test/usi-test-9999.ebuild b/chromeos-base/usi-test/usi-test-9999.ebuild
index 91f2cef..23df436 100644
--- a/chromeos-base/usi-test/usi-test-9999.ebuild
+++ b/chromeos-base/usi-test/usi-test-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-PYTHON_COMPAT=( python3_{6..8} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 CROS_WORKON_PROJECT="chromiumos/platform/usi-test"
 CROS_WORKON_LOCALNAME="platform/usi-test"
diff --git a/chromeos-base/vboot_reference-tests/vboot_reference-tests-0.0.1-r2096.ebuild b/chromeos-base/vboot_reference-tests/vboot_reference-tests-0.0.1-r2096.ebuild
deleted file mode 100644
index a15b7b6..0000000
--- a/chromeos-base/vboot_reference-tests/vboot_reference-tests-0.0.1-r2096.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="c31013768eb4ed052c54df50c398f70f2d7ef36d"
-CROS_WORKON_TREE="2ef2be6db7746b10beaf42e9a60b3706d653f9b6"
-CROS_WORKON_PROJECT="chromiumos/platform/vboot_reference"
-CROS_WORKON_LOCALNAME="platform/vboot_reference"
-
-inherit cros-workon
-
-DESCRIPTION="vboot tests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/vboot_reference/"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-COMMON_DEPEND="dev-libs/libzip:=
-	dev-libs/openssl:=
-	sys-apps/flashrom:=
-	sys-apps/util-linux:="
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}"
-
-get_build_dir() {
-	echo "${S}/build-main"
-}
-
-src_compile() {
-	mkdir "$(get_build_dir)"
-	tc-export CC AR CXX PKG_CONFIG
-	# vboot_reference knows the flags to use
-	unset CFLAGS
-	emake BUILD="$(get_build_dir)" tests
-}
-
-src_install() {
-	emake BUILD="$(get_build_dir)" DESTDIR="${D}" install_dut_test
-}
diff --git a/chromeos-base/vboot_reference-tests/vboot_reference-tests-0.0.1-r2164.ebuild b/chromeos-base/vboot_reference-tests/vboot_reference-tests-0.0.1-r2164.ebuild
new file mode 100644
index 0000000..38c9510
--- /dev/null
+++ b/chromeos-base/vboot_reference-tests/vboot_reference-tests-0.0.1-r2164.ebuild
@@ -0,0 +1,44 @@
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="67f613b922e4ccff6019de318c154a377afbe822"
+CROS_WORKON_TREE="13350f1d92d867a643e89ff2eac4e50ed31c18ab"
+CROS_WORKON_PROJECT="chromiumos/platform/vboot_reference"
+CROS_WORKON_LOCALNAME="platform/vboot_reference"
+
+inherit cros-workon cros-sanitizers
+
+DESCRIPTION="vboot tests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/vboot_reference/"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+COMMON_DEPEND="dev-libs/libzip:=
+	dev-libs/openssl:=
+	sys-apps/flashrom:=
+	sys-apps/util-linux:="
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}"
+
+get_build_dir() {
+	echo "${S}/build-main"
+}
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
+src_compile() {
+	mkdir "$(get_build_dir)"
+	tc-export CC AR CXX PKG_CONFIG
+	# vboot_reference knows the flags to use
+	unset CFLAGS
+	emake BUILD="$(get_build_dir)" tests
+}
+
+src_install() {
+	emake BUILD="$(get_build_dir)" DESTDIR="${D}" install_dut_test
+}
diff --git a/chromeos-base/vboot_reference-tests/vboot_reference-tests-9999.ebuild b/chromeos-base/vboot_reference-tests/vboot_reference-tests-9999.ebuild
index 1d01b95..f835eeb 100644
--- a/chromeos-base/vboot_reference-tests/vboot_reference-tests-9999.ebuild
+++ b/chromeos-base/vboot_reference-tests/vboot_reference-tests-9999.ebuild
@@ -6,7 +6,7 @@
 CROS_WORKON_PROJECT="chromiumos/platform/vboot_reference"
 CROS_WORKON_LOCALNAME="platform/vboot_reference"
 
-inherit cros-workon
+inherit cros-workon cros-sanitizers
 
 DESCRIPTION="vboot tests"
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/vboot_reference/"
@@ -24,6 +24,11 @@
 	echo "${S}/build-main"
 }
 
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
 src_compile() {
 	mkdir "$(get_build_dir)"
 	tc-export CC AR CXX PKG_CONFIG
diff --git a/chromeos-base/vboot_reference/vboot_reference-1.0-r2238.ebuild b/chromeos-base/vboot_reference/vboot_reference-1.0-r2238.ebuild
deleted file mode 100644
index a4abdd7..0000000
--- a/chromeos-base/vboot_reference/vboot_reference-1.0-r2238.ebuild
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="c31013768eb4ed052c54df50c398f70f2d7ef36d"
-CROS_WORKON_TREE="2ef2be6db7746b10beaf42e9a60b3706d653f9b6"
-CROS_WORKON_PROJECT="chromiumos/platform/vboot_reference"
-CROS_WORKON_LOCALNAME="platform/vboot_reference"
-
-inherit cros-debug cros-fuzzer cros-sanitizers cros-workon
-
-DESCRIPTION="Chrome OS verified boot tools"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="cros_host dev_debug_force fuzzer pd_sync test tpmtests tpm tpm_dynamic tpm2 tpm2_simulator vtpm_proxy"
-
-REQUIRED_USE="
-	tpm_dynamic? ( tpm tpm2 )
-	!tpm_dynamic? ( ?? ( tpm tpm2 ) )
-"
-
-COMMON_DEPEND="
-	chromeos-base/crosid:=
-	dev-libs/libzip:=
-	dev-libs/openssl:=
-	sys-apps/flashrom:=
-	sys-apps/util-linux:="
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}"
-
-get_build_dir() {
-	echo "${S}/build-main"
-}
-
-src_configure() {
-	# Determine sanitizer flags. This is necessary because the Makefile
-	# purposely ignores CFLAGS from the environment. So we collect the
-	# sanitizer flags and pass just them to the Makefile explicitly.
-	SANITIZER_CFLAGS=
-	append-flags() {
-		SANITIZER_CFLAGS+=" $*"
-	}
-	sanitizers-setup-env
-	if use_sanitizers; then
-		# Disable alignment sanitization, https://crbug.com/1015908 .
-		SANITIZER_CFLAGS+=" -fno-sanitize=alignment"
-
-		# Run sanitizers with useful log output.
-		SANITIZER_CFLAGS+=" -DVBOOT_DEBUG"
-
-		# Suppressions for unit tests.
-		if use test; then
-			# Do not check memory leaks or odr violations in address sanitizer.
-			# https://crbug.com/1015908 .
-			export ASAN_OPTIONS+=":detect_leaks=0:detect_odr_violation=0:"
-			# Suppress array bound checks, https://crbug.com/1082636 .
-			SANITIZER_CFLAGS+=" -fno-sanitize=array-bounds"
-		fi
-	fi
-	cros-debug-add-NDEBUG
-	default
-}
-
-vemake() {
-	emake \
-		SRCDIR="${S}" \
-		LIBDIR="$(get_libdir)" \
-		ARCH=$(tc-arch) \
-		SDK_BUILD=$(usev cros_host) \
-		TPM2_MODE=$(usev tpm2) \
-		PD_SYNC=$(usev pd_sync) \
-		DEV_DEBUG_FORCE=$(usev dev_debug_force) \
-		TPM2_SIMULATOR="$(usev tpm2_simulator)" \
-		VTPM_PROXY="$(usev vtpm_proxy)" \
-		FUZZ_FLAGS="${SANITIZER_CFLAGS}" \
-		"$@"
-}
-
-src_compile() {
-	mkdir "$(get_build_dir)"
-	tc-export CC AR CXX PKG_CONFIG
-	# vboot_reference knows the flags to use
-	unset CFLAGS
-	vemake BUILD="$(get_build_dir)" all $(usex fuzzer fuzzers '')
-}
-
-src_test() {
-	! use amd64 && ! use x86 && ewarn "Skipping unittests for non-x86" && return 0
-
-	vemake BUILD="$(get_build_dir)" USE_PLATFORM2_TEST_WRAPPER=1 runtests
-}
-
-src_install() {
-	einfo "Installing programs"
-	vemake \
-		BUILD="$(get_build_dir)" \
-		DESTDIR="${D}" \
-		install install_dev
-
-	if use tpmtests; then
-		into /usr
-		# copy files starting with tpmtest, but skip .d files.
-		dobin "$(get_build_dir)"/tests/tpm_lite/tpmtest*[^.]?
-		dobin "$(get_build_dir)"/utility/tpm_set_readsrkpub
-	fi
-
-	if use fuzzer; then
-		einfo "Installing fuzzers"
-		local fuzzer_component_id="167186"
-		fuzzer_install "${S}"/OWNERS "$(get_build_dir)"/tests/cgpt_fuzzer \
-			--comp "${fuzzer_component_id}"
-		fuzzer_install "${S}"/OWNERS "$(get_build_dir)"/tests/vb2_keyblock_fuzzer \
-			--comp "${fuzzer_component_id}"
-		fuzzer_install "${S}"/OWNERS "$(get_build_dir)"/tests/vb2_preamble_fuzzer \
-			--comp "${fuzzer_component_id}"
-	fi
-}
diff --git a/chromeos-base/vboot_reference/vboot_reference-1.0-r2306.ebuild b/chromeos-base/vboot_reference/vboot_reference-1.0-r2306.ebuild
new file mode 100644
index 0000000..6884150
--- /dev/null
+++ b/chromeos-base/vboot_reference/vboot_reference-1.0-r2306.ebuild
@@ -0,0 +1,121 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="67f613b922e4ccff6019de318c154a377afbe822"
+CROS_WORKON_TREE="13350f1d92d867a643e89ff2eac4e50ed31c18ab"
+CROS_WORKON_PROJECT="chromiumos/platform/vboot_reference"
+CROS_WORKON_LOCALNAME="platform/vboot_reference"
+
+inherit cros-debug cros-fuzzer cros-sanitizers cros-workon
+
+DESCRIPTION="Chrome OS verified boot tools"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="cros_host dev_debug_force fuzzer pd_sync test tpmtests tpm tpm_dynamic tpm2 tpm2_simulator vtpm_proxy"
+
+REQUIRED_USE="
+	tpm_dynamic? ( tpm tpm2 )
+	!tpm_dynamic? ( ?? ( tpm tpm2 ) )
+"
+
+COMMON_DEPEND="
+	chromeos-base/crosid:=
+	app-arch/libarchive:=
+	dev-libs/libzip:=
+	dev-libs/openssl:=
+	sys-apps/coreboot-utils:=
+	sys-apps/flashrom:=
+	sys-apps/util-linux:="
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}"
+
+get_build_dir() {
+	echo "${S}/build-main"
+}
+
+src_configure() {
+	# Determine sanitizer flags. This is necessary because the Makefile
+	# purposely ignores CFLAGS from the environment. So we collect the
+	# sanitizer flags and pass just them to the Makefile explicitly.
+	SANITIZER_CFLAGS=
+	append-flags() {
+		SANITIZER_CFLAGS+=" $*"
+	}
+	sanitizers-setup-env
+	if use_sanitizers; then
+		# Disable alignment sanitization, https://crbug.com/1015908 .
+		SANITIZER_CFLAGS+=" -fno-sanitize=alignment"
+
+		# Run sanitizers with useful log output.
+		SANITIZER_CFLAGS+=" -DVBOOT_DEBUG"
+
+		# Suppressions for unit tests.
+		if use test; then
+			# Do not check memory leaks or odr violations in address sanitizer.
+			# https://crbug.com/1015908 .
+			export ASAN_OPTIONS+=":detect_leaks=0:detect_odr_violation=0:"
+			# Suppress array bound checks, https://crbug.com/1082636 .
+			SANITIZER_CFLAGS+=" -fno-sanitize=array-bounds"
+		fi
+	fi
+	cros-debug-add-NDEBUG
+	default
+}
+
+vemake() {
+	emake \
+		SRCDIR="${S}" \
+		LIBDIR="$(get_libdir)" \
+		ARCH=$(tc-arch) \
+		SDK_BUILD=$(usev cros_host) \
+		TPM2_MODE=$(usev tpm2) \
+		PD_SYNC=$(usev pd_sync) \
+		DEV_DEBUG_FORCE=$(usev dev_debug_force) \
+		TPM2_SIMULATOR="$(usev tpm2_simulator)" \
+		VTPM_PROXY="$(usev vtpm_proxy)" \
+		FUZZ_FLAGS="${SANITIZER_CFLAGS}" \
+		"$@"
+}
+
+src_compile() {
+	mkdir "$(get_build_dir)"
+	tc-export CC AR CXX PKG_CONFIG
+	# vboot_reference knows the flags to use
+	unset CFLAGS
+	vemake BUILD="$(get_build_dir)" all $(usex fuzzer fuzzers '')
+}
+
+src_test() {
+	! use amd64 && ! use x86 && ewarn "Skipping unittests for non-x86" && return 0
+
+	vemake BUILD="$(get_build_dir)" USE_PLATFORM2_TEST_WRAPPER=1 runtests
+}
+
+src_install() {
+	einfo "Installing programs"
+	vemake \
+		BUILD="$(get_build_dir)" \
+		DESTDIR="${D}" \
+		install install_dev
+
+	if use tpmtests; then
+		into /usr
+		# copy files starting with tpmtest, but skip .d files.
+		dobin "$(get_build_dir)"/tests/tpm_lite/tpmtest*[^.]?
+		dobin "$(get_build_dir)"/utility/tpm_set_readsrkpub
+	fi
+
+	if use fuzzer; then
+		einfo "Installing fuzzers"
+		local fuzzer_component_id="167186"
+		fuzzer_install "${S}"/OWNERS "$(get_build_dir)"/tests/cgpt_fuzzer \
+			--comp "${fuzzer_component_id}"
+		fuzzer_install "${S}"/OWNERS "$(get_build_dir)"/tests/vb2_keyblock_fuzzer \
+			--comp "${fuzzer_component_id}"
+		fuzzer_install "${S}"/OWNERS "$(get_build_dir)"/tests/vb2_preamble_fuzzer \
+			--comp "${fuzzer_component_id}"
+	fi
+}
diff --git a/chromeos-base/vboot_reference/vboot_reference-9999.ebuild b/chromeos-base/vboot_reference/vboot_reference-9999.ebuild
index 4610684..0af19e3 100644
--- a/chromeos-base/vboot_reference/vboot_reference-9999.ebuild
+++ b/chromeos-base/vboot_reference/vboot_reference-9999.ebuild
@@ -21,8 +21,10 @@
 
 COMMON_DEPEND="
 	chromeos-base/crosid:=
+	app-arch/libarchive:=
 	dev-libs/libzip:=
 	dev-libs/openssl:=
+	sys-apps/coreboot-utils:=
 	sys-apps/flashrom:=
 	sys-apps/util-linux:="
 RDEPEND="${COMMON_DEPEND}"
diff --git a/chromeos-base/verity/files/revision_bump b/chromeos-base/verity/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/verity/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/verity/verity-0.0.1-r250.ebuild b/chromeos-base/verity/verity-0.0.1-r250.ebuild
deleted file mode 100644
index 0354877..0000000
--- a/chromeos-base/verity/verity-0.0.1-r250.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cros-constants
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "6fc4c6b35e5c71304e6fed40a7a24e6401d38df3" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-#CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_REPO="${CROS_GIT_HOST_URL}"
-#CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk verity .gn"
-CROS_WORKON_DESTDIR="${S}/platform2"
-CROS_WORKON_EGIT_BRANCH="main"
-
-PLATFORM_SUBDIR="verity"
-
-inherit cros-workon platform
-
-DESCRIPTION="File system integrity image generator for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/verity/"
-
-LICENSE="BSD-Google GPL-2"
-KEYWORDS="*"
-
-PATCHES=(
-	"${FILESDIR}/verity-print.patch"
-)
-
-src_prepare() {
-	# The workdir is platform2/nnapi - we need to pop up one level in the stack
-	# to apply our patches.
-	pushd .. || exit
-	eapply -p1 "${FILESDIR}/support-new-dm-verity-format.patch"
-	eapply -p1 "${FILESDIR}/0001-Add-version-to-PrintTable-and-GetTable.patch"
-	popd || exit
-
-	eapply_user
-}
-
-src_install() {
-	dobin "${OUT}"/verity
-
-	dolib.so "${OUT}"/lib/libdm-bht.so
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	doins libdm-bht.pc
-
-	insinto /usr/include/verity
-	doins dm-bht.h dm-bht-userspace.h file_hasher.h
-	cd include || die
-	doins -r asm-generic
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/verity_tests"
-}
diff --git a/chromeos-base/verity/verity-0.0.1-r307.ebuild b/chromeos-base/verity/verity-0.0.1-r307.ebuild
new file mode 100644
index 0000000..83a4866
--- /dev/null
+++ b/chromeos-base/verity/verity-0.0.1-r307.ebuild
@@ -0,0 +1,57 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "a65107acb3c4cbbae51687d8409856f07b5dda27" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_REPO="${CROS_GIT_HOST_URL}"
+#CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk verity .gn"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_EGIT_BRANCH="main"
+
+PLATFORM_SUBDIR="verity"
+
+inherit cros-workon platform
+
+DESCRIPTION="File system integrity image generator for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/verity/"
+
+LICENSE="BSD-Google GPL-2"
+KEYWORDS="*"
+
+PATCHES=(
+	"${FILESDIR}/verity-print.patch"
+)
+
+src_prepare() {
+	# The workdir is platform2/nnapi - we need to pop up one level in the stack
+	# to apply our patches.
+	pushd .. || exit
+	eapply -p1 "${FILESDIR}/support-new-dm-verity-format.patch"
+	eapply -p1 "${FILESDIR}/0001-Add-version-to-PrintTable-and-GetTable.patch"
+	popd || exit
+
+	eapply_user
+}
+
+src_install() {
+	dobin "${OUT}"/verity
+
+	dolib.so "${OUT}"/lib/libdm-bht.so
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins libdm-bht.pc
+
+	insinto /usr/include/verity
+	doins dm-bht.h dm-bht-userspace.h file_hasher.h
+	cd include || die
+	doins -r asm-generic
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/verity_tests"
+}
diff --git a/chromeos-base/virtual-file-provider/files/revision_bump b/chromeos-base/virtual-file-provider/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/virtual-file-provider/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/virtual-file-provider/virtual-file-provider-0.0.1-r886.ebuild b/chromeos-base/virtual-file-provider/virtual-file-provider-0.0.1-r886.ebuild
deleted file mode 100644
index 92fe782..0000000
--- a/chromeos-base/virtual-file-provider/virtual-file-provider-0.0.1-r886.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "edd0270df5e8c0f2a18acf652fca864457636112" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk virtual_file_provider .gn"
-
-PLATFORM_SUBDIR="virtual_file_provider"
-
-inherit cros-workon platform user
-
-DESCRIPTION="D-Bus service to provide virtual file"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/virtual_file_provider"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="arcvm"
-
-RDEPEND="
-	sys-fs/fuse:=
-	sys-libs/libcap:=
-"
-
-DEPEND="${RDEPEND}
-	chromeos-base/system_api:="
-
-
-src_install() {
-	dobin "${OUT}"/virtual-file-provider
-	if use arcvm; then
-		newbin virtual-file-provider-jailed-arcvm.sh virtual-file-provider-jailed
-	else
-		newbin virtual-file-provider-jailed.sh virtual-file-provider-jailed
-	fi
-
-	insinto /etc/dbus-1/system.d
-	doins org.chromium.VirtualFileProvider.conf
-
-	insinto /etc/init
-	doins init/virtual-file-provider.conf
-	doins init/virtual-file-provider-cgroup.conf
-
-	insinto /usr/share/power_manager
-	doins powerd_prefs/suspend_freezer_deps_virtual-file-provider
-}
-
-pkg_preinst() {
-	enewuser "virtual-file-provider"
-	enewgroup "virtual-file-provider"
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/virtual-file-provider_testrunner"
-}
diff --git a/chromeos-base/virtual-file-provider/virtual-file-provider-0.0.1-r948.ebuild b/chromeos-base/virtual-file-provider/virtual-file-provider-0.0.1-r948.ebuild
new file mode 100644
index 0000000..e1ac3da
--- /dev/null
+++ b/chromeos-base/virtual-file-provider/virtual-file-provider-0.0.1-r948.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "fc293354fb8ad9a9192d7ebfab15a03e8f0799ba" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk virtual_file_provider .gn"
+
+PLATFORM_SUBDIR="virtual_file_provider"
+
+inherit cros-workon platform user
+
+DESCRIPTION="D-Bus service to provide virtual file"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/virtual_file_provider"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="arcvm"
+
+RDEPEND="
+	sys-fs/fuse:=
+	sys-libs/libcap:=
+"
+
+DEPEND="${RDEPEND}
+	chromeos-base/system_api:="
+
+
+src_install() {
+	dobin "${OUT}"/virtual-file-provider
+	if use arcvm; then
+		newbin virtual-file-provider-jailed-arcvm.sh virtual-file-provider-jailed
+	else
+		newbin virtual-file-provider-jailed.sh virtual-file-provider-jailed
+	fi
+
+	insinto /etc/dbus-1/system.d
+	doins org.chromium.VirtualFileProvider.conf
+
+	insinto /etc/init
+	doins init/virtual-file-provider.conf
+	doins init/virtual-file-provider-cgroup.conf
+
+	insinto /usr/share/power_manager
+	doins powerd_prefs/suspend_freezer_deps_virtual-file-provider
+}
+
+pkg_preinst() {
+	enewuser "virtual-file-provider"
+	enewgroup "virtual-file-provider"
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/virtual-file-provider_testrunner"
+}
diff --git a/chromeos-base/virtual-file-provider/virtual-file-provider-9999.ebuild b/chromeos-base/virtual-file-provider/virtual-file-provider-9999.ebuild
index 545f2ed..ad53469 100644
--- a/chromeos-base/virtual-file-provider/virtual-file-provider-9999.ebuild
+++ b/chromeos-base/virtual-file-provider/virtual-file-provider-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform user
 
 DESCRIPTION="D-Bus service to provide virtual file"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/virtual_file_provider"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/virtual_file_provider"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/virtual-usb-printer/files/revision_bump b/chromeos-base/virtual-usb-printer/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/virtual-usb-printer/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/virtual-usb-printer/virtual-usb-printer-0.0.1-r354.ebuild b/chromeos-base/virtual-usb-printer/virtual-usb-printer-0.0.1-r354.ebuild
deleted file mode 100644
index efbaad9..0000000
--- a/chromeos-base/virtual-usb-printer/virtual-usb-printer-0.0.1-r354.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("f35f2919309cf11b0ddd9deb24a6b145d40d9254" "697fd1a26dca19ca7180b3ce20a25cd58f3fdabf")
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "771d5213f60555b35b26fa8e733af71361c96435")
-CROS_WORKON_LOCALNAME=("platform2" "third_party/virtual-usb-printer")
-CROS_WORKON_PROJECT=("chromiumos/platform2" "chromiumos/third_party/virtual-usb-printer")
-CROS_WORKON_EGIT_BRANCH=("main" "master")
-CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/virtual-usb-printer")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE=("common-mk .gn" "")
-
-PLATFORM_SUBDIR="virtual-usb-printer"
-
-inherit cros-workon platform
-
-DESCRIPTION="Used with USBIP to provide a virtual USB printer for testing."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/virtual-usb-printer/"
-
-LICENSE="GPL-2"
-KEYWORDS="*"
-
-IUSE=""
-
-RDEPEND="
-	chromeos-base/libipp:=
-	dev-libs/libxml2:=
-	dev-libs/protobuf:=
-	net-misc/usbip:=
-	virtual/jpeg:0=
-"
-
-DEPEND="${RDEPEND}"
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/escl-manager-testrunner"
-	platform_test "run" "${OUT}/http-util-testrunner"
-	platform_test "run" "${OUT}/ipp-manager-testrunner"
-	platform_test "run" "${OUT}/ipp-util-testrunner"
-	platform_test "run" "${OUT}/jpeg-util-testrunner"
-	platform_test "run" "${OUT}/load-config-testrunner"
-	platform_test "run" "${OUT}/mock-printer-testrunner"
-	platform_test "run" "${OUT}/smart-buffer-testrunner"
-}
-
-src_install() {
-	# Install main files into /usr/local even though the ebuild is being
-	# installed on the rootfs.
-	into /usr/local
-	dobin "${OUT}"/virtual-usb-printer
-
-	insinto /usr/local/etc/virtual-usb-printer
-	doins config/escl_capabilities.json
-	doins config/escl_capabilities_large_paper_sizes.json
-	doins config/escl_capabilities_left_justified.json
-	doins config/escl_capabilities_center_justified.json
-	doins config/escl_capabilities_right_justified.json
-	doins config/ipp_attributes.json
-	doins config/ippusb_printer.json
-	doins config/usb_printer.json
-
-	# Install upstart files into rootfs, since upstart won't look in
-	# /usr/local/etc.
-	insinto /etc/init
-	doins init/virtual-usb-printer.conf
-}
diff --git a/chromeos-base/virtual-usb-printer/virtual-usb-printer-0.0.1-r428.ebuild b/chromeos-base/virtual-usb-printer/virtual-usb-printer-0.0.1-r428.ebuild
new file mode 100644
index 0000000..b9262c7
--- /dev/null
+++ b/chromeos-base/virtual-usb-printer/virtual-usb-printer-0.0.1-r428.ebuild
@@ -0,0 +1,70 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("dbb1136242ba822d539eaf11493f3b68815adb7f" "768c633a4cdfd3ef1cb779e18997eac36152dd83")
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "a5bcfc0f633bf4f53ef09fcf2f8045ecbd51ab93")
+CROS_WORKON_LOCALNAME=("platform2" "third_party/virtual-usb-printer")
+CROS_WORKON_PROJECT=("chromiumos/platform2" "chromiumos/third_party/virtual-usb-printer")
+CROS_WORKON_EGIT_BRANCH=("main" "chromeos")
+CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/virtual-usb-printer")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE=("common-mk .gn" "")
+
+PLATFORM_SUBDIR="virtual-usb-printer"
+
+inherit cros-workon platform
+
+DESCRIPTION="Used with USBIP to provide a virtual USB printer for testing."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/virtual-usb-printer/"
+
+LICENSE="GPL-2"
+KEYWORDS="*"
+
+IUSE=""
+
+RDEPEND="
+	chromeos-base/libipp:=
+	dev-libs/libxml2:=
+	dev-libs/protobuf:=
+	net-misc/usbip:=
+	virtual/jpeg:0=
+"
+
+DEPEND="${RDEPEND}"
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/escl-manager-testrunner"
+	platform_test "run" "${OUT}/http-util-testrunner"
+	platform_test "run" "${OUT}/ipp-manager-testrunner"
+	platform_test "run" "${OUT}/ipp-util-testrunner"
+	platform_test "run" "${OUT}/jpeg-util-testrunner"
+	platform_test "run" "${OUT}/load-config-testrunner"
+	platform_test "run" "${OUT}/mock-printer-testrunner"
+	platform_test "run" "${OUT}/smart-buffer-testrunner"
+}
+
+src_install() {
+	# Install main files into /usr/local even though the ebuild is being
+	# installed on the rootfs.
+	into /usr/local
+	dobin "${OUT}"/virtual-usb-printer
+
+	insinto /usr/local/etc/virtual-usb-printer
+	doins config/escl_capabilities.json
+	doins config/escl_capabilities_large_paper_sizes.json
+	doins config/escl_capabilities_left_justified.json
+	doins config/escl_capabilities_center_justified.json
+	doins config/escl_capabilities_right_justified.json
+	doins config/ipp_attributes.json
+	doins config/ippusb_printer.json
+	doins config/ippusb_backflip_printer.json
+	doins config/ippusb_printer_plus_storage.json
+	doins config/usb_printer.json
+
+	# Install upstart files into rootfs, since upstart won't look in
+	# /usr/local/etc.
+	insinto /etc/init
+	doins init/virtual-usb-printer.conf
+}
diff --git a/chromeos-base/virtual-usb-printer/virtual-usb-printer-9999.ebuild b/chromeos-base/virtual-usb-printer/virtual-usb-printer-9999.ebuild
index b53435e..29a4df4 100644
--- a/chromeos-base/virtual-usb-printer/virtual-usb-printer-9999.ebuild
+++ b/chromeos-base/virtual-usb-printer/virtual-usb-printer-9999.ebuild
@@ -5,7 +5,7 @@
 
 CROS_WORKON_LOCALNAME=("platform2" "third_party/virtual-usb-printer")
 CROS_WORKON_PROJECT=("chromiumos/platform2" "chromiumos/third_party/virtual-usb-printer")
-CROS_WORKON_EGIT_BRANCH=("main" "master")
+CROS_WORKON_EGIT_BRANCH=("main" "chromeos")
 CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/virtual-usb-printer")
 CROS_WORKON_INCREMENTAL_BUILD=1
 CROS_WORKON_SUBTREE=("common-mk .gn" "")
@@ -57,6 +57,8 @@
 	doins config/escl_capabilities_right_justified.json
 	doins config/ipp_attributes.json
 	doins config/ippusb_printer.json
+	doins config/ippusb_backflip_printer.json
+	doins config/ippusb_printer_plus_storage.json
 	doins config/usb_printer.json
 
 	# Install upstart files into rootfs, since upstart won't look in
diff --git a/chromeos-base/vkbench/vkbench-0.0.1-r11.ebuild b/chromeos-base/vkbench/vkbench-0.0.1-r11.ebuild
deleted file mode 100644
index 34cf29b..0000000
--- a/chromeos-base/vkbench/vkbench-0.0.1-r11.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="96811b97cb9e532d6149f2c0bd5c18987cef3eef"
-CROS_WORKON_TREE="ab77730e73c6c56c3bacf7fa3c48942ed762d970"
-CROS_WORKON_LOCALNAME="platform/vkbench"
-CROS_WORKON_PROJECT="chromiumos/platform/vkbench"
-
-inherit cros-workon cmake-utils
-
-DESCRIPTION="Microbenchmark for vulkan"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/vkbench/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="vulkan"
-
-REQUIRED_USE="vulkan"
-
-BDEPEND="
-	dev-util/glslang
-"
-
-RDEPEND="
-	dev-libs/libfmt:=
-	media-libs/libpng:=
-	media-libs/vulkan-loader:=
-	virtual/vulkan-icd:=
-"
-DEPEND="${RDEPEND}"
diff --git a/chromeos-base/vkbench/vkbench-0.0.1-r12.ebuild b/chromeos-base/vkbench/vkbench-0.0.1-r12.ebuild
new file mode 100644
index 0000000..f84dfaf
--- /dev/null
+++ b/chromeos-base/vkbench/vkbench-0.0.1-r12.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="04181fbbee6d5d36a39a6dcc576eef7556c93436"
+CROS_WORKON_TREE="3e8df131b1195f7ca731d3b2c080287c7474ab87"
+CROS_WORKON_LOCALNAME="platform/vkbench"
+CROS_WORKON_PROJECT="chromiumos/platform/vkbench"
+
+inherit cros-workon cmake-utils
+
+DESCRIPTION="Microbenchmark for vulkan"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/vkbench/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="vulkan"
+
+REQUIRED_USE="vulkan"
+
+BDEPEND="
+	dev-util/glslang
+"
+
+RDEPEND="
+	dev-libs/libfmt:=
+	media-libs/libpng:=
+	media-libs/vulkan-loader:=
+	virtual/vulkan-icd:=
+"
+DEPEND="${RDEPEND}"
diff --git a/chromeos-base/vm_guest_tools/files/revision_bump b/chromeos-base/vm_guest_tools/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/vm_guest_tools/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/vm_guest_tools/vm_guest_tools-0.0.2-r1268.ebuild b/chromeos-base/vm_guest_tools/vm_guest_tools-0.0.2-r1268.ebuild
deleted file mode 100644
index cdf7600..0000000
--- a/chromeos-base/vm_guest_tools/vm_guest_tools-0.0.2-r1268.ebuild
+++ /dev/null
@@ -1,143 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "7ef75a42aba67052842459f221271e681184cc89" "0865c9d3ea1e3df829430fe6bc25ecbc3bc865ca" "c1bde153626532428bf7409bc0597e79452c5eb8" "5159f439e8516f904859190cfd0375b7a4d05db2" "cd3dcc2c1e2f23d9c5783064e46a13be49ee9221" "97190407ff6df6ae497a54e632369afdf09cd621" "6e5ecc305ec4e5430265bd3e928a6de4fb0a4a72" "ea7cf24b770b6e9776290ee8900a3b0fe537275f" "332ccf98f5ef8cbc4fcaf7ad9d3aaa3130a62d38" "fa62109f340296eacfec7022cbe3242f1bd4879d" "b423643df4afaa0a936886bdc3d6b1749c0b6e7a" "889e63b35e958b34d6cf15f62b243d442f1bac83" "68b86394265699731d795155ad6e998ec55e5463" "81465f23987dd2c482006411430ef171e856c5fe" "a01dc69a1e1fa54805fe9b48ce5c278a7e70de0c")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-
-PLATFORM2_PATHS=(
-	common-mk
-	.gn
-
-	vm_tools/BUILD.gn
-	vm_tools/guest
-	vm_tools/common
-
-	vm_tools/demos
-	vm_tools/garcon
-	vm_tools/guest_service_failure_notifier
-	vm_tools/maitred
-	vm_tools/notificationd
-	vm_tools/sommelier
-	vm_tools/syslog
-	vm_tools/upgrade_container
-	vm_tools/virtwl_guest_proxy
-	vm_tools/vsh
-
-	# Required by the fuzzer
-	vm_tools/OWNERS
-	vm_tools/testdata
-)
-CROS_WORKON_SUBTREE="${PLATFORM2_PATHS[*]}"
-
-PLATFORM_SUBDIR="vm_tools"
-
-inherit cros-go cros-workon platform user
-
-DESCRIPTION="VM guest tools for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="kvm_guest vm-containers fuzzer vm_borealis"
-
-# This ebuild should only be used on VM guest boards.
-REQUIRED_USE="kvm_guest"
-
-COMMON_DEPEND="
-	!!chromeos-base/vm_tools
-	chromeos-base/minijail:=
-	net-libs/grpc:=
-	dev-libs/protobuf:=
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	vm-containers? (
-		chromeos-base/crash-reporter
-	)
-	!fuzzer? (
-		chromeos-base/sommelier
-	)
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-	dev-go/grpc:=
-	dev-go/protobuf:=
-	sys-kernel/linux-headers:=
-	chromeos-base/vm_protos:=
-"
-
-src_install() {
-	platform_src_install
-
-	dobin "${OUT}"/vm_syslog
-	dosbin "${OUT}"/vshd
-
-	if use vm-containers || use vm_borealis; then
-		dobin "${OUT}"/garcon
-	fi
-	if use vm-containers; then
-		dobin "${OUT}"/guest_service_failure_notifier
-		dobin "${OUT}"/notificationd
-		dobin "${OUT}"/upgrade_container
-		dobin "${OUT}"/virtwl_guest_proxy
-		dobin "${OUT}"/wayland_demo
-		dobin "${OUT}"/x11_demo
-	fi
-
-	# fuzzer_component_id is unknown/unlisted
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/garcon_desktop_file_fuzzer \
-		--dict "${S}"/testdata/garcon_desktop_file_fuzzer.dict
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/garcon_icon_index_file_fuzzer \
-		--dict "${S}"/testdata/garcon_icon_index_file_fuzzer.dict
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/garcon_ini_parse_util_fuzzer
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/garcon_mime_types_parser_fuzzer
-
-	into /
-	newsbin "${OUT}"/maitred init
-
-	# Create a folder for process configs to be launched at VM startup.
-	dodir /etc/maitred/
-
-	use fuzzer || dosym /run/resolv.conf /etc/resolv.conf
-
-	CROS_GO_WORKSPACE="${OUT}/gen/go"
-	cros-go_src_install
-}
-
-platform_pkg_test() {
-	local tests=(
-		maitred_service_test
-		maitred_syslog_test
-	)
-
-	local container_tests=(
-		garcon_desktop_file_test
-		garcon_icon_index_file_test
-		garcon_icon_finder_test
-		garcon_mime_types_parser_test
-		notificationd_test
-	)
-
-	if use vm-containers || use vm_borealis; then
-		tests+=( "${container_tests[@]}" )
-	fi
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-}
-
-pkg_preinst() {
-	# We need the syslog user and group for both host and guest builds.
-	enewuser syslog
-	enewgroup syslog
-}
diff --git a/chromeos-base/vm_guest_tools/vm_guest_tools-0.0.2-r1376.ebuild b/chromeos-base/vm_guest_tools/vm_guest_tools-0.0.2-r1376.ebuild
new file mode 100644
index 0000000..dee128b
--- /dev/null
+++ b/chromeos-base/vm_guest_tools/vm_guest_tools-0.0.2-r1376.ebuild
@@ -0,0 +1,145 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "7ef75a42aba67052842459f221271e681184cc89" "8c8679f9db77b724d522f2d6a76d3bfdfeae827e" "78a28564de27e03edbd93427ebc24aede3905082" "5159f439e8516f904859190cfd0375b7a4d05db2" "7c108bfa432bb4ff83e68e2ea1f884213ef29868" "97190407ff6df6ae497a54e632369afdf09cd621" "12dbe2245d86e86471aa84fb7656d3f422e1d6b6" "49733aa1ca831c8f507f6c0eae190e74c4c188d3" "f81fd2f617fbb538b0e48736020d89814f047321" "8ead32c3d109ae63ef89e4aa3b818aeb38b51d14" "aeddba56bfc6b1475cd7c298400145765f327a2f" "889e63b35e958b34d6cf15f62b243d442f1bac83" "64eb467661fb048cf581eb28e5ee0423136b4a02" "81465f23987dd2c482006411430ef171e856c5fe" "a01dc69a1e1fa54805fe9b48ce5c278a7e70de0c")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+
+PLATFORM2_PATHS=(
+	common-mk
+	.gn
+
+	vm_tools/BUILD.gn
+	vm_tools/guest
+	vm_tools/common
+
+	vm_tools/demos
+	vm_tools/garcon
+	vm_tools/guest_service_failure_notifier
+	vm_tools/maitred
+	vm_tools/notificationd
+	vm_tools/sommelier
+	vm_tools/syslog
+	vm_tools/upgrade_container
+	vm_tools/virtwl_guest_proxy
+	vm_tools/vsh
+
+	# Required by the fuzzer
+	vm_tools/OWNERS
+	vm_tools/testdata
+)
+CROS_WORKON_SUBTREE="${PLATFORM2_PATHS[*]}"
+
+PLATFORM_SUBDIR="vm_tools"
+
+inherit cros-go cros-workon platform user
+
+DESCRIPTION="VM guest tools for Chrome OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="kvm_guest vm-containers fuzzer vm_borealis"
+
+# This ebuild should only be used on VM guest boards.
+REQUIRED_USE="kvm_guest"
+
+COMMON_DEPEND="
+	!!chromeos-base/vm_tools
+	chromeos-base/minijail:=
+	net-libs/grpc:=
+	dev-libs/protobuf:=
+	dev-go/protobuf-legacy-api:=
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	vm-containers? (
+		chromeos-base/crash-reporter
+	)
+	!fuzzer? (
+		chromeos-base/sommelier
+	)
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+	dev-go/grpc:=
+	dev-go/protobuf:=
+	sys-kernel/linux-headers:=
+	chromeos-base/vm_protos:=
+"
+
+src_install() {
+	platform_src_install
+
+	dobin "${OUT}"/vm_syslog
+	dosbin "${OUT}"/vshd
+
+	if use vm-containers || use vm_borealis; then
+		dobin "${OUT}"/garcon
+	fi
+	if use vm-containers; then
+		dobin "${OUT}"/guest_service_failure_notifier
+		dobin "${OUT}"/notificationd
+		dobin "${OUT}"/upgrade_container
+		dobin "${OUT}"/virtwl_guest_proxy
+		dobin "${OUT}"/wayland_demo
+		dobin "${OUT}"/x11_demo
+	fi
+
+	# fuzzer_component_id is unknown/unlisted
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/garcon_desktop_file_fuzzer \
+		--dict "${S}"/testdata/garcon_desktop_file_fuzzer.dict
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/garcon_icon_index_file_fuzzer \
+		--dict "${S}"/testdata/garcon_icon_index_file_fuzzer.dict
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/garcon_ini_parse_util_fuzzer
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/garcon_mime_types_parser_fuzzer
+
+	into /
+	newsbin "${OUT}"/maitred init
+
+	# Create a folder for process configs to be launched at VM startup.
+	dodir /etc/maitred/
+
+	use fuzzer || dosym /run/resolv.conf /etc/resolv.conf
+
+	CROS_GO_WORKSPACE="${OUT}/gen/go"
+	cros-go_src_install
+}
+
+platform_pkg_test() {
+	local tests=(
+		maitred_init_test
+		maitred_service_test
+		maitred_syslog_test
+	)
+
+	local container_tests=(
+		garcon_desktop_file_test
+		garcon_icon_index_file_test
+		garcon_icon_finder_test
+		garcon_mime_types_parser_test
+		notificationd_test
+	)
+
+	if use vm-containers || use vm_borealis; then
+		tests+=( "${container_tests[@]}" )
+	fi
+
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+}
+
+pkg_preinst() {
+	# We need the syslog user and group for both host and guest builds.
+	enewuser syslog
+	enewgroup syslog
+}
diff --git a/chromeos-base/vm_guest_tools/vm_guest_tools-9999.ebuild b/chromeos-base/vm_guest_tools/vm_guest_tools-9999.ebuild
index bd605ce..dca0468 100644
--- a/chromeos-base/vm_guest_tools/vm_guest_tools-9999.ebuild
+++ b/chromeos-base/vm_guest_tools/vm_guest_tools-9999.ebuild
@@ -38,7 +38,7 @@
 inherit cros-go cros-workon platform user
 
 DESCRIPTION="VM guest tools for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
@@ -52,6 +52,7 @@
 	chromeos-base/minijail:=
 	net-libs/grpc:=
 	dev-libs/protobuf:=
+	dev-go/protobuf-legacy-api:=
 "
 
 RDEPEND="
@@ -112,6 +113,7 @@
 
 platform_pkg_test() {
 	local tests=(
+		maitred_init_test
 		maitred_service_test
 		maitred_syslog_test
 	)
diff --git a/chromeos-base/vm_host_tools/files/revision_bump b/chromeos-base/vm_host_tools/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/vm_host_tools/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/vm_host_tools/vm_host_tools-0.0.2-r1559.ebuild b/chromeos-base/vm_host_tools/vm_host_tools-0.0.2-r1559.ebuild
deleted file mode 100644
index e2a4a7b..0000000
--- a/chromeos-base/vm_host_tools/vm_host_tools-0.0.2-r1559.ebuild
+++ /dev/null
@@ -1,221 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e6d3266e1144e97a3914f1e4116368b08b29b4c6" "4a0dedab080195bdc122d2289118df4af3ddca2c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "68c18dcb5d0981cfd8fb60b1fc6f360c59d61bbc" "7ef75a42aba67052842459f221271e681184cc89" "cace8f1b0c58eccc16a704fec623e5d41eae0022" "c1bde153626532428bf7409bc0597e79452c5eb8" "3ace6fdf4b70f625dc47e81c194b8f92e840b623" "ac29cd690c008065789426e0f02d71068ceba848" "49d30ddddeef5feefdad25e5c32cfd8b7b40b9d5" "af4e33c298acaf7af5278dc52d5814329c624f44" "e2598f8160f0e1089268ae21cb458eb6bc46d71e" "3a57293314fa7ffce092cd9ce0b29e1d51e1080b" "9810247054961cb8639bad6bc185331754e21bb1" "fa62109f340296eacfec7022cbe3242f1bd4879d" "af7c9c6d25610d01525f53b4c72445fb15f79f03" "4b930736bc7da8c301f27c7a82718e7d605de289" "68b86394265699731d795155ad6e998ec55e5463" "81465f23987dd2c482006411430ef171e856c5fe")
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-
-PLATFORM2_PATHS=(
-	common-mk
-	featured
-	metrics
-	.gn
-	sirenia
-
-	vm_tools/BUILD.gn
-	vm_tools/host
-	vm_tools/common
-
-	vm_tools/cicerone
-	vm_tools/concierge
-	vm_tools/dbus
-	vm_tools/init
-	vm_tools/maitred/client.cc
-	vm_tools/pstore_dump
-	vm_tools/seneschal
-	vm_tools/syslog
-	vm_tools/tmpfiles.d
-	vm_tools/udev
-	vm_tools/vsh
-
-	# Required by the fuzzer
-	vm_tools/OWNERS
-)
-CROS_WORKON_SUBTREE="${PLATFORM2_PATHS[*]}"
-
-PLATFORM_SUBDIR="vm_tools"
-
-inherit tmpfiles cros-workon platform udev user arc-build-constants
-
-DESCRIPTION="VM host tools for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-# The crosvm-wl-dmabuf and crosvm-virtio-video USE flags
-# are used when preprocessing concierge source.
-IUSE="+kvm_host +seccomp +crosvm-wl-dmabuf fuzzer wilco +crosvm-virtio-video vulkan libglvnd"
-REQUIRED_USE="kvm_host"
-
-COMMON_DEPEND="
-	app-arch/libarchive:=
-	!!chromeos-base/vm_tools
-	chromeos-base/chunnel:=
-	chromeos-base/crosvm:=
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/minijail:=
-	chromeos-base/patchpanel:=
-	chromeos-base/patchpanel-client:=
-	net-libs/grpc:=
-	dev-libs/protobuf:=
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	dev-rust/s9
-"
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/dlcservice-client:=
-	chromeos-base/featured:=
-	chromeos-base/manatee-client:=
-	chromeos-base/shill-client:=
-	chromeos-base/system_api:=[fuzzer?]
-	chromeos-base/vm_protos:=
-	fuzzer? ( dev-libs/libprotobuf-mutator:= )
-"
-
-get_vmlog_forwarder_start_services() {
-	local start_services="starting vm_concierge"
-	if use wilco; then
-		start_services+=" or starting wilco_dtc_dispatcher"
-	fi
-	echo "${start_services}"
-}
-
-get_vmlog_forwarder_stop_services() {
-	local stop_services="stopped vm_concierge"
-	if use wilco; then
-		stop_services+=" and stopped wilco_dtc_dispatcher"
-	fi
-	echo "${stop_services}"
-}
-
-pkg_setup() {
-	# Duplicated from the crosvm ebuild. These are necessary here in order
-	# to create the daemon-store folder for concierge in src_install().
-	enewuser crosvm
-	enewgroup crosvm
-	enewuser pluginvm
-	cros-workon_pkg_setup
-
-	enewuser crosvm-root
-	enewgroup crosvm-root
-}
-
-src_install() {
-	platform_src_install
-
-	dobin "${OUT}"/cicerone_client
-	dobin "${OUT}"/concierge_client
-	dobin "${OUT}"/maitred_client
-	dobin "${OUT}"/seneschal
-	dobin "${OUT}"/seneschal_client
-	dobin "${OUT}"/vm_cicerone
-	dobin "${OUT}"/vm_concierge
-	dobin "${OUT}"/vmlog_forwarder
-	dobin "${OUT}"/vsh
-
-	if use arcvm; then
-		dobin "${OUT}"/vm_pstore_dump
-		dobin "${OUT}"/vshd
-	fi
-
-	# fuzzer_component_id is unknown/unlisted
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/cicerone_container_listener_fuzzer
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/vsh_client_fuzzer
-
-	# Install header for passing USB devices to plugin VMs.
-	insinto /usr/include/vm_concierge
-	doins concierge/plugin_vm_usb.h
-
-	insinto /etc/init
-	doins init/seneschal.conf
-	doins init/vm_cicerone.conf
-	doins init/vm_concierge.conf
-
-	dotmpfiles tmpfiles.d/*.conf
-
-	# Modify vmlog_forwarder starting and stopping conditions based on USE flags.
-	sed \
-		"-e s,@dependent_start_services@,$(get_vmlog_forwarder_start_services),"\
-		"-e s,@dependent_stop_services@,$(get_vmlog_forwarder_stop_services)," \
-		init/vmlog_forwarder.conf.in | newins - vmlog_forwarder.conf
-
-	insinto /etc/dbus-1/system.d
-	doins dbus/*.conf
-
-	insinto /usr/local/vms/etc
-	doins init/arcvm_dev.conf
-
-	# TODO(b/159953121): File and steps below should be removed later.
-	insinto /etc
-	newins init/arcvm_dev.conf_deprecated arcvm_dev.conf
-
-	insinto /usr/share/policy
-	if use seccomp; then
-		newins "init/vm_cicerone-seccomp-${ARCH}.policy" vm_cicerone-seccomp.policy
-	fi
-
-	udev_dorules udev/99-vm.rules
-
-	keepdir /opt/google/vms
-
-	# Create daemon store folder for crosvm and pvm
-	local crosvm_store="/etc/daemon-store/crosvm"
-	dodir "${crosvm_store}"
-	fperms 0700 "${crosvm_store}"
-	fowners crosvm:crosvm "${crosvm_store}"
-
-	local pvm_store="/etc/daemon-store/pvm"
-	dodir "${pvm_store}"
-	fperms 0770 "${pvm_store}"
-	fowners pluginvm:crosvm "${pvm_store}"
-}
-
-platform_pkg_test() {
-	local tests=(
-		cicerone_test
-		concierge_test
-		syslog_forwarder_test
-	)
-	if use arcvm; then
-		tests+=(
-			vm_pstore_dump_test
-		)
-	fi
-
-	# Running a gRPC server under qemu-user causes flake, at least with the
-	# combination of gRPC 1.16.1 and qemu 3.0.0. Disable TerminaVmTest.* while
-	# running under qemu to avoid triggering this flake.
-	# TODO(crbug.com/1066425): Reenable gRPC server tests under qemu-user.
-	local qemu_gtest_filter="-TerminaVmTest.*"
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}" "0" "" "${qemu_gtest_filter}"
-	done
-}
-
-pkg_preinst() {
-	# We need the syslog user and group for both host and guest builds.
-	enewuser syslog
-	enewgroup syslog
-
-	enewuser vm_cicerone
-	enewgroup vm_cicerone
-
-	enewuser seneschal
-	enewgroup seneschal
-	enewuser seneschal-dbus
-	enewgroup seneschal-dbus
-
-	enewuser pluginvm
-	enewgroup pluginvm
-
-	enewgroup virtaccess
-}
diff --git a/chromeos-base/vm_host_tools/vm_host_tools-0.0.2-r1827.ebuild b/chromeos-base/vm_host_tools/vm_host_tools-0.0.2-r1827.ebuild
new file mode 100644
index 0000000..fedbc57
--- /dev/null
+++ b/chromeos-base/vm_host_tools/vm_host_tools-0.0.2-r1827.ebuild
@@ -0,0 +1,224 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "545d67a6429090226f1d6ac899f5f2d86bd38b99" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "9c2074e601aedb8358ee3b7c367c62042409c577" "3b33fc07daf512e548300eefbd028b622bc51b44" "7ef75a42aba67052842459f221271e681184cc89" "876b666eae5a63a4d1573c7d9fb1196a78dd6fad" "78a28564de27e03edbd93427ebc24aede3905082" "f2f8d1e7f3179d4c0673c8fe56b7ae0478f065ef" "59d684e9494215dbc87a3be67ed3ef4ee21a39da" "369b6c3d6ddd2bbf6b89585b7e1a156954faebd9" "10821612029dc3c4e863c760f918e55433e669cf" "e2598f8160f0e1089268ae21cb458eb6bc46d71e" "7cae38f61d328484fe9d49f19fc2cb49eb89e883" "1ff86d1c03040927751e5f099ac70d0a3194f21b" "8ead32c3d109ae63ef89e4aa3b818aeb38b51d14" "477938c1f2459147988d2039df85eeda34202514" "bc7248c2839eb191c34aa68d63e57ed5eb70768d" "64eb467661fb048cf581eb28e5ee0423136b4a02" "81465f23987dd2c482006411430ef171e856c5fe")
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+
+PLATFORM2_PATHS=(
+	common-mk
+	featured
+	metrics
+	.gn
+	sirenia
+	libcrossystem
+
+	vm_tools/BUILD.gn
+	vm_tools/host
+	vm_tools/common
+
+	vm_tools/cicerone
+	vm_tools/concierge
+	vm_tools/dbus
+	vm_tools/init
+	vm_tools/maitred/client.cc
+	vm_tools/pstore_dump
+	vm_tools/seneschal
+	vm_tools/syslog
+	vm_tools/tmpfiles.d
+	vm_tools/udev
+	vm_tools/vsh
+
+	# Required by the fuzzer
+	vm_tools/OWNERS
+)
+CROS_WORKON_SUBTREE="${PLATFORM2_PATHS[*]}"
+
+PLATFORM_SUBDIR="vm_tools"
+
+inherit tmpfiles cros-workon platform udev user arc-build-constants
+
+DESCRIPTION="VM host tools for Chrome OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+# The crosvm-wl-dmabuf and crosvm-virtio-video USE flags
+# are used when preprocessing concierge source.
+IUSE="+kvm_host +seccomp +crosvm-wl-dmabuf fuzzer wilco +crosvm-virtio-video vulkan libglvnd crosvm_siblings virtgpu_native_context iioservice"
+REQUIRED_USE="kvm_host"
+
+COMMON_DEPEND="
+	app-arch/libarchive:=
+	!!chromeos-base/vm_tools
+	chromeos-base/chunnel:=
+	chromeos-base/crosvm:=
+	chromeos-base/libcrossystem:=
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/minijail:=
+	chromeos-base/patchpanel:=
+	chromeos-base/patchpanel-client:=
+	net-libs/grpc:=
+	dev-libs/protobuf:=
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	dev-rust/s9
+"
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/dlcservice-client:=
+	chromeos-base/featured:=
+	chromeos-base/manatee-client:=
+	chromeos-base/shill-client:=
+	chromeos-base/system_api:=[fuzzer?]
+	chromeos-base/vboot_reference:=
+	chromeos-base/vm_protos:=
+	fuzzer? ( dev-libs/libprotobuf-mutator:= )
+"
+
+get_vmlog_forwarder_start_services() {
+	local start_services="starting vm_concierge"
+	if use wilco; then
+		start_services+=" or starting wilco_dtc_dispatcher"
+	fi
+	echo "${start_services}"
+}
+
+get_vmlog_forwarder_stop_services() {
+	local stop_services="stopped vm_concierge"
+	if use wilco; then
+		stop_services="stopping system-services"
+	fi
+	echo "${stop_services}"
+}
+
+pkg_setup() {
+	# Duplicated from the crosvm ebuild. These are necessary here in order
+	# to create the daemon-store folder for concierge in src_install().
+	enewuser crosvm
+	enewgroup crosvm
+	enewuser pluginvm
+	cros-workon_pkg_setup
+
+	enewuser crosvm-root
+	enewgroup crosvm-root
+}
+
+src_install() {
+	platform_src_install
+
+	dobin "${OUT}"/cicerone_client
+	dobin "${OUT}"/concierge_client
+	dobin "${OUT}"/maitred_client
+	dobin "${OUT}"/seneschal
+	dobin "${OUT}"/seneschal_client
+	dobin "${OUT}"/vm_cicerone
+	dobin "${OUT}"/vm_concierge
+	dobin "${OUT}"/vmlog_forwarder
+	dobin "${OUT}"/vsh
+
+	if use arcvm; then
+		dobin "${OUT}"/vm_pstore_dump
+		dobin "${OUT}"/vshd
+	fi
+
+	# fuzzer_component_id is unknown/unlisted
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/cicerone_container_listener_fuzzer
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/vsh_client_fuzzer
+
+	# Install header for passing USB devices to plugin VMs.
+	insinto /usr/include/vm_concierge
+	doins concierge/plugin_vm_usb.h
+
+	insinto /etc/init
+	doins init/seneschal.conf
+	doins init/vm_cicerone.conf
+	doins init/vm_concierge.conf
+
+	dotmpfiles tmpfiles.d/*.conf
+
+	# Modify vmlog_forwarder starting and stopping conditions based on USE flags.
+	sed \
+		"-e s,@dependent_start_services@,$(get_vmlog_forwarder_start_services),"\
+		"-e s,@dependent_stop_services@,$(get_vmlog_forwarder_stop_services)," \
+		init/vmlog_forwarder.conf.in | newins - vmlog_forwarder.conf
+
+	insinto /etc/dbus-1/system.d
+	doins dbus/*.conf
+
+	insinto /usr/local/vms/etc
+	doins init/arcvm_dev.conf
+
+	# TODO(b/159953121): File and steps below should be removed later.
+	insinto /etc
+	newins init/arcvm_dev.conf_deprecated arcvm_dev.conf
+
+	insinto /usr/share/policy
+	if use seccomp; then
+		newins "init/vm_cicerone-seccomp-${ARCH}.policy" vm_cicerone-seccomp.policy
+	fi
+
+	udev_dorules udev/99-vm.rules
+
+	keepdir /opt/google/vms
+
+	# Create daemon store folder for crosvm and pvm
+	local crosvm_store="/etc/daemon-store/crosvm"
+	dodir "${crosvm_store}"
+	fperms 0700 "${crosvm_store}"
+	fowners crosvm:crosvm "${crosvm_store}"
+
+	local pvm_store="/etc/daemon-store/pvm"
+	dodir "${pvm_store}"
+	fperms 0770 "${pvm_store}"
+	fowners pluginvm:crosvm "${pvm_store}"
+}
+
+platform_pkg_test() {
+	local tests=(
+		cicerone_test
+		concierge_test
+		syslog_forwarder_test
+	)
+	if use arcvm; then
+		tests+=(
+			vm_pstore_dump_test
+		)
+	fi
+
+	# Running a gRPC server under qemu-user causes flake, at least with the
+	# combination of gRPC 1.16.1 and qemu 3.0.0. Disable TerminaVmTest.* while
+	# running under qemu to avoid triggering this flake.
+	# TODO(crbug.com/1066425): Reenable gRPC server tests under qemu-user.
+	local qemu_gtest_filter="-TerminaVmTest.*"
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}" "0" "" "${qemu_gtest_filter}"
+	done
+}
+
+pkg_preinst() {
+	# We need the syslog user and group for both host and guest builds.
+	enewuser syslog
+	enewgroup syslog
+
+	enewuser vm_cicerone
+	enewgroup vm_cicerone
+
+	enewuser seneschal
+	enewgroup seneschal
+	enewuser seneschal-dbus
+	enewgroup seneschal-dbus
+
+	enewuser pluginvm
+	enewgroup pluginvm
+
+	enewgroup virtaccess
+}
diff --git a/chromeos-base/vm_host_tools/vm_host_tools-9999.ebuild b/chromeos-base/vm_host_tools/vm_host_tools-9999.ebuild
index 0a5bd64..44a677e 100644
--- a/chromeos-base/vm_host_tools/vm_host_tools-9999.ebuild
+++ b/chromeos-base/vm_host_tools/vm_host_tools-9999.ebuild
@@ -14,6 +14,7 @@
 	metrics
 	.gn
 	sirenia
+	libcrossystem
 
 	vm_tools/BUILD.gn
 	vm_tools/host
@@ -41,13 +42,13 @@
 inherit tmpfiles cros-workon platform udev user arc-build-constants
 
 DESCRIPTION="VM host tools for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
 # The crosvm-wl-dmabuf and crosvm-virtio-video USE flags
 # are used when preprocessing concierge source.
-IUSE="+kvm_host +seccomp +crosvm-wl-dmabuf fuzzer wilco +crosvm-virtio-video vulkan libglvnd"
+IUSE="+kvm_host +seccomp +crosvm-wl-dmabuf fuzzer wilco +crosvm-virtio-video vulkan libglvnd crosvm_siblings virtgpu_native_context iioservice"
 REQUIRED_USE="kvm_host"
 
 COMMON_DEPEND="
@@ -55,6 +56,7 @@
 	!!chromeos-base/vm_tools
 	chromeos-base/chunnel:=
 	chromeos-base/crosvm:=
+	chromeos-base/libcrossystem:=
 	>=chromeos-base/metrics-0.0.1-r3152:=
 	chromeos-base/minijail:=
 	chromeos-base/patchpanel:=
@@ -74,6 +76,7 @@
 	chromeos-base/manatee-client:=
 	chromeos-base/shill-client:=
 	chromeos-base/system_api:=[fuzzer?]
+	chromeos-base/vboot_reference:=
 	chromeos-base/vm_protos:=
 	fuzzer? ( dev-libs/libprotobuf-mutator:= )
 "
@@ -89,7 +92,7 @@
 get_vmlog_forwarder_stop_services() {
 	local stop_services="stopped vm_concierge"
 	if use wilco; then
-		stop_services+=" and stopped wilco_dtc_dispatcher"
+		stop_services="stopping system-services"
 	fi
 	echo "${stop_services}"
 }
diff --git a/chromeos-base/vm_protos/files/revision_bump b/chromeos-base/vm_protos/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/vm_protos/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/vm_protos/vm_protos-0.0.1-r271.ebuild b/chromeos-base/vm_protos/vm_protos-0.0.1-r271.ebuild
deleted file mode 100644
index 83d5952..0000000
--- a/chromeos-base/vm_protos/vm_protos-0.0.1-r271.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "1a8a220b87d8f6e4d420e937fa0391999d00e449" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_GO_PACKAGES=(
-	"chromiumos/vm_tools/..."
-)
-
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk vm_tools/proto .gn"
-
-PLATFORM_SUBDIR="vm_tools/proto"
-
-inherit cros-go cros-workon platform
-
-DESCRIPTION="Chrome OS VM protobuf API"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools/proto"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="fuzzer"
-
-RDEPEND="
-	dev-libs/protobuf:=
-	net-libs/grpc:=
-	!<chromeos-base/vm_guest_tools-0.0.2
-	!<chromeos-base/vm_host_tools-0.0.2
-"
-DEPEND="
-	${RDEPEND}
-	dev-go/protobuf:=
-	dev-go/grpc:=
-"
-
-src_unpack() {
-	platform_src_unpack
-	CROS_GO_WORKSPACE="${OUT}/gen/go"
-}
-
-src_install() {
-	insinto /usr/"$(get_libdir)"/pkgconfig
-	doins vm_protos.pc
-
-	insinto /usr/include/vm_protos/proto_bindings
-	doins "${OUT}"/gen/include/vm_protos/proto_bindings/*.h
-
-	dolib.a "${OUT}"/*.a
-
-	cros-go_src_install
-}
diff --git a/chromeos-base/vm_protos/vm_protos-0.0.1-r338.ebuild b/chromeos-base/vm_protos/vm_protos-0.0.1-r338.ebuild
new file mode 100644
index 0000000..ac0cc58
--- /dev/null
+++ b/chromeos-base/vm_protos/vm_protos-0.0.1-r338.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "00ae29506296382180cec355ee3acb3662874ea9" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_GO_PACKAGES=(
+	"chromiumos/vm_tools/..."
+)
+
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk vm_tools/proto .gn"
+
+PLATFORM_SUBDIR="vm_tools/proto"
+
+inherit cros-go cros-workon platform
+
+DESCRIPTION="Chrome OS VM protobuf API"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/proto"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="fuzzer"
+
+RDEPEND="
+	dev-libs/protobuf:=
+	net-libs/grpc:=
+	!<chromeos-base/vm_guest_tools-0.0.2
+	!<chromeos-base/vm_host_tools-0.0.2
+"
+DEPEND="
+	${RDEPEND}
+	dev-go/protobuf:=
+	dev-go/protobuf-legacy-api:=
+	dev-go/grpc:=
+"
+
+src_unpack() {
+	platform_src_unpack
+	CROS_GO_WORKSPACE="${OUT}/gen/go"
+}
+
+src_install() {
+	insinto /usr/"$(get_libdir)"/pkgconfig
+	doins vm_protos.pc
+
+	insinto /usr/include/vm_protos/proto_bindings
+	doins "${OUT}"/gen/include/vm_protos/proto_bindings/*.h
+
+	dolib.a "${OUT}"/*.a
+
+	cros-go_src_install
+}
diff --git a/chromeos-base/vm_protos/vm_protos-9999.ebuild b/chromeos-base/vm_protos/vm_protos-9999.ebuild
index 0f90b8b..7deb8b2 100644
--- a/chromeos-base/vm_protos/vm_protos-9999.ebuild
+++ b/chromeos-base/vm_protos/vm_protos-9999.ebuild
@@ -17,7 +17,7 @@
 inherit cros-go cros-workon platform
 
 DESCRIPTION="Chrome OS VM protobuf API"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools/proto"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/proto"
 LICENSE="BSD-Google"
 KEYWORDS="~*"
 IUSE="fuzzer"
@@ -31,6 +31,7 @@
 DEPEND="
 	${RDEPEND}
 	dev-go/protobuf:=
+	dev-go/protobuf-legacy-api:=
 	dev-go/grpc:=
 "
 
diff --git a/chromeos-base/vpn-manager/OWNERS b/chromeos-base/vpn-manager/OWNERS
new file mode 100644
index 0000000..70a9728
--- /dev/null
+++ b/chromeos-base/vpn-manager/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/vpn-manager/OWNERS
diff --git a/chromeos-base/vpn-manager/files/revision_bump b/chromeos-base/vpn-manager/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/vpn-manager/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/vpn-manager/vpn-manager-0.0.1-r2862.ebuild b/chromeos-base/vpn-manager/vpn-manager-0.0.1-r2862.ebuild
deleted file mode 100644
index 4f158d5..0000000
--- a/chromeos-base/vpn-manager/vpn-manager-0.0.1-r2862.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "b77be93bd5b9a461cc8508aa57571afd308e97ce" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk vpn-manager .gn"
-
-PLATFORM_SUBDIR="vpn-manager"
-
-inherit cros-workon platform
-
-DESCRIPTION="L2TP/IPsec VPN manager for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/vpn-manager/"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="
-	net-dialup/ppp:=
-	net-dialup/xl2tpd:=
-	net-vpn/strongswan:=
-"
-
-DEPEND="${RDEPEND}"
-
-src_install() {
-	insinto /usr/include/chromeos/vpn-manager
-	doins service_error.h
-	dosbin "${OUT}"/l2tpipsec_vpn
-	exeinto /usr/libexec/l2tpipsec_vpn
-	doexe bin/pluto_updown
-
-	local fuzzer_component_id="156085"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/vpn_manager_ipsec_manager_fuzzer \
-		--comp "${fuzzer_component_id}"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/vpn_manager_service_manager_fuzzer \
-		--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}"/vpn_manager_test
-}
diff --git a/chromeos-base/vpn-manager/vpn-manager-0.0.1-r2922.ebuild b/chromeos-base/vpn-manager/vpn-manager-0.0.1-r2922.ebuild
new file mode 100644
index 0000000..24d2046
--- /dev/null
+++ b/chromeos-base/vpn-manager/vpn-manager-0.0.1-r2922.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "462cb7ad367bdc196dd234e5bae863472f6d704b" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk vpn-manager .gn"
+
+PLATFORM_SUBDIR="vpn-manager"
+
+inherit cros-workon platform
+
+DESCRIPTION="L2TP/IPsec VPN manager for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vpn-manager/"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="
+	net-dialup/ppp:=
+	net-dialup/xl2tpd:=
+	net-vpn/strongswan:=
+"
+
+DEPEND="${RDEPEND}"
+
+src_install() {
+	insinto /usr/include/chromeos/vpn-manager
+	doins service_error.h
+	dosbin "${OUT}"/l2tpipsec_vpn
+	exeinto /usr/libexec/l2tpipsec_vpn
+	doexe bin/pluto_updown
+
+	local fuzzer_component_id="156085"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/vpn_manager_ipsec_manager_fuzzer \
+		--comp "${fuzzer_component_id}"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/vpn_manager_service_manager_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}"/vpn_manager_test
+}
diff --git a/chromeos-base/vpn-manager/vpn-manager-9999.ebuild b/chromeos-base/vpn-manager/vpn-manager-9999.ebuild
index 7b48e13..7102abb 100644
--- a/chromeos-base/vpn-manager/vpn-manager-9999.ebuild
+++ b/chromeos-base/vpn-manager/vpn-manager-9999.ebuild
@@ -13,7 +13,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="L2TP/IPsec VPN manager for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/vpn-manager/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vpn-manager/"
 LICENSE="BSD-Google"
 KEYWORDS="~*"
 IUSE=""
diff --git a/chromeos-base/vtpm/OWNERS b/chromeos-base/vtpm/OWNERS
new file mode 100644
index 0000000..2acb68f
--- /dev/null
+++ b/chromeos-base/vtpm/OWNERS
@@ -0,0 +1 @@
+cylai@chromium.org
diff --git a/chromeos-base/vtpm/vtpm-0.0.1-r89.ebuild b/chromeos-base/vtpm/vtpm-0.0.1-r89.ebuild
new file mode 100644
index 0000000..4d35a8b
--- /dev/null
+++ b/chromeos-base/vtpm/vtpm-0.0.1-r89.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "46debaa1a374952167d5a2ca0bdf36013f053bc3" "944879c9353c2df8adb7022407a8d319671325c1" "0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c" "5807b49f2a89205c10a0208e1124edffbff205af" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk attestation tpm_manager trunks vtpm .gn"
+
+PLATFORM_SUBDIR="vtpm"
+
+inherit tmpfiles cros-workon libchrome platform user
+
+DESCRIPTION="Virtual TPM service for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vtpm/"
+
+LICENSE="Apache-2.0"
+KEYWORDS="*"
+IUSE="test"
+
+RDEPEND="
+	chromeos-base/attestation:=[test?]
+	chromeos-base/system_api:=
+	chromeos-base/tpm_manager:=
+	chromeos-base/trunks:=
+	"
+
+DEPEND="
+	${RDEPEND}
+	chromeos-base/attestation-client:=
+	chromeos-base/trunks:=[test?]
+	"
+
+pkg_preinst() {
+	# Create user and group for vtpm.
+	enewuser "vtpm"
+	enewgroup "vtpm"
+}
+
+src_install() {
+	platform_install
+
+	dotmpfiles tmpflies.d/vtpm.conf
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/vtpm/vtpm-9999.ebuild b/chromeos-base/vtpm/vtpm-9999.ebuild
new file mode 100644
index 0000000..a9be759
--- /dev/null
+++ b/chromeos-base/vtpm/vtpm-9999.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk attestation tpm_manager trunks vtpm .gn"
+
+PLATFORM_SUBDIR="vtpm"
+
+inherit tmpfiles cros-workon libchrome platform user
+
+DESCRIPTION="Virtual TPM service for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vtpm/"
+
+LICENSE="Apache-2.0"
+KEYWORDS="~*"
+IUSE="test"
+
+RDEPEND="
+	chromeos-base/attestation:=[test?]
+	chromeos-base/system_api:=
+	chromeos-base/tpm_manager:=
+	chromeos-base/trunks:=
+	"
+
+DEPEND="
+	${RDEPEND}
+	chromeos-base/attestation-client:=
+	chromeos-base/trunks:=[test?]
+	"
+
+pkg_preinst() {
+	# Create user and group for vtpm.
+	enewuser "vtpm"
+	enewgroup "vtpm"
+}
+
+src_install() {
+	platform_install
+
+	dotmpfiles tmpflies.d/vtpm.conf
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/webserver/files/revision_bump b/chromeos-base/webserver/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/webserver/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/webserver/webserver-0.0.1-r2407.ebuild b/chromeos-base/webserver/webserver-0.0.1-r2407.ebuild
deleted file mode 100644
index 0a03efa..0000000
--- a/chromeos-base/webserver/webserver-0.0.1-r2407.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "ee30bffa5e7b68afe08820cc3b668f209a688a4b" "be6b72e4e8d4c78a70e2d560138706266e4f3a18" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk permission_broker webserver .gn"
-
-PLATFORM_SUBDIR="webserver"
-
-inherit cros-workon platform user
-
-DESCRIPTION="HTTP sever interface library"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/webserver/"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="
-	chromeos-base/permission_broker:=
-	net-libs/libmicrohttpd:=
-	!chromeos-base/libwebserv:=
-"
-
-DEPEND="
-	${RDEPEND}
-	chromeos-base/permission_broker-client:=
-"
-
-pkg_preinst() {
-	# Create user and group for webservd.
-	enewuser "webservd"
-	enewgroup "webservd"
-}
-
-src_install() {
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	local v="$(libchrome_ver)"
-	libwebserv/preinstall.sh "${OUT}" "${v}"
-	dolib.so "${OUT}/lib/libwebserv.so"
-	doins "${OUT}/lib/libwebserv.pc"
-
-	# Install header files from libwebserv
-	insinto /usr/include/libwebserv
-	doins libwebserv/*.h
-
-	# Install init scripts for webservd.
-	insinto /etc/init
-	doins webservd/etc/init/webservd.conf
-
-	# Install DBus configuration files.
-	insinto /etc/dbus-1/system.d
-	doins webservd/etc/dbus-1/org.chromium.WebServer.conf
-
-	# Install seccomp filter for webservd.
-	insinto /usr/share/filters
-	doins webservd/usr/share/filters/webservd-seccomp.policy
-
-	# Install web server daemon.
-	dobin "${OUT}"/webservd
-}
-
-platform_pkg_test() {
-	local tests=(
-		libwebserv_testrunner
-		webservd_testrunner
-	)
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-}
diff --git a/chromeos-base/webserver/webserver-0.0.1-r2488.ebuild b/chromeos-base/webserver/webserver-0.0.1-r2488.ebuild
new file mode 100644
index 0000000..294633d
--- /dev/null
+++ b/chromeos-base/webserver/webserver-0.0.1-r2488.ebuild
@@ -0,0 +1,78 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "f4e705a84c3c965c7fdb404c95aaf83f31e7316d" "78e6b102575514dd562d53f188ae1ed43deb839c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk permission_broker webserver .gn"
+
+PLATFORM_SUBDIR="webserver"
+
+inherit cros-workon platform user
+
+DESCRIPTION="HTTP sever interface library"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/webserver/"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="
+	chromeos-base/permission_broker:=
+	net-libs/libmicrohttpd:=
+	!chromeos-base/libwebserv:=
+"
+
+DEPEND="
+	${RDEPEND}
+	chromeos-base/permission_broker-client:=
+"
+
+pkg_preinst() {
+	# Create user and group for webservd.
+	enewuser "webservd"
+	enewgroup "webservd"
+}
+
+src_install() {
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	local v="$(libchrome_ver)"
+	libwebserv/preinstall.sh "${OUT}" "${v}"
+	dolib.so "${OUT}/lib/libwebserv.so"
+	doins "${OUT}/lib/libwebserv.pc"
+
+	# Install header files from libwebserv
+	insinto /usr/include/libwebserv
+	doins libwebserv/*.h
+
+	# Install init scripts for webservd.
+	insinto /etc/init
+	doins webservd/etc/init/webservd.conf
+
+	# Install DBus configuration files.
+	insinto /etc/dbus-1/system.d
+	doins webservd/etc/dbus-1/org.chromium.WebServer.conf
+
+	# Install seccomp filter for webservd.
+	insinto /usr/share/filters
+	doins webservd/usr/share/filters/webservd-seccomp.policy
+
+	# Install web server daemon.
+	dobin "${OUT}"/webservd
+}
+
+platform_pkg_test() {
+	local tests=(
+		libwebserv_testrunner
+		webservd_testrunner
+	)
+
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+}
diff --git a/chromeos-base/webserver/webserver-9999.ebuild b/chromeos-base/webserver/webserver-9999.ebuild
index 5a06039..ba3dda3 100644
--- a/chromeos-base/webserver/webserver-9999.ebuild
+++ b/chromeos-base/webserver/webserver-9999.ebuild
@@ -15,7 +15,7 @@
 inherit cros-workon platform user
 
 DESCRIPTION="HTTP sever interface library"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/webserver/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/webserver/"
 LICENSE="BSD-Google"
 KEYWORDS="~*"
 
diff --git a/chromeos-base/wilco-dtc-grpc-protos/OWNERS b/chromeos-base/wilco-dtc-grpc-protos/OWNERS
new file mode 100644
index 0000000..cf72a74
--- /dev/null
+++ b/chromeos-base/wilco-dtc-grpc-protos/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/diagnostics/OWNERS
diff --git a/chromeos-base/wilco-dtc-grpc-protos/files/revision_bump b/chromeos-base/wilco-dtc-grpc-protos/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/chromeos-base/wilco-dtc-grpc-protos/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/chromeos-base/wilco-dtc-grpc-protos/wilco-dtc-grpc-protos-0.0.1-r211.ebuild b/chromeos-base/wilco-dtc-grpc-protos/wilco-dtc-grpc-protos-0.0.1-r211.ebuild
deleted file mode 100644
index 1e06b5e..0000000
--- a/chromeos-base/wilco-dtc-grpc-protos/wilco-dtc-grpc-protos-0.0.1-r211.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "59c17a65a89d8ba657de6454bc8dce70a1052ca1" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_GO_PACKAGES=(
-	"chromiumos/wilco_dtc/..."
-)
-
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk diagnostics/grpc .gn"
-
-PLATFORM_SUBDIR="diagnostics/grpc"
-
-WANT_LIBCHROME="no"
-WANT_LIBBRILLO="no"
-inherit cros-go cros-workon platform
-
-DESCRIPTION="Chrome OS Wilco DTC proto/gRPC API"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/diagnostics/grpc"
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="
-	dev-libs/protobuf:=
-	net-libs/grpc:=
-"
-DEPEND="
-	${RDEPEND}
-	dev-go/protobuf
-	dev-go/grpc
-"
-
-src_unpack() {
-	platform_src_unpack
-	CROS_GO_WORKSPACE="${OUT}/gen/go"
-}
-
-src_install() {
-	insinto /usr/"$(get_libdir)"/pkgconfig
-	doins wilco_dtc_grpc_protos.pc
-
-	insinto /usr/include/wilco_dtc/proto_bindings
-	doins "${OUT}"/gen/include/*.h
-
-	dolib.a "${OUT}"/*.a
-
-	cros-go_src_install
-}
diff --git a/chromeos-base/wilco-dtc-grpc-protos/wilco-dtc-grpc-protos-0.0.1-r271.ebuild b/chromeos-base/wilco-dtc-grpc-protos/wilco-dtc-grpc-protos-0.0.1-r271.ebuild
new file mode 100644
index 0000000..833b2a9
--- /dev/null
+++ b/chromeos-base/wilco-dtc-grpc-protos/wilco-dtc-grpc-protos-0.0.1-r271.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "48152c166377a472e88e63a8996aeb920ac44e0a" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_GO_PACKAGES=(
+	"chromiumos/wilco_dtc/..."
+)
+
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk diagnostics/grpc .gn"
+
+PLATFORM_SUBDIR="diagnostics/grpc"
+
+WANT_LIBCHROME="no"
+WANT_LIBBRILLO="no"
+inherit cros-go cros-workon platform
+
+DESCRIPTION="Chrome OS Wilco DTC proto/gRPC API"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/diagnostics/grpc"
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="
+	dev-libs/protobuf:=
+	dev-go/protobuf-legacy-api:=
+	net-libs/grpc:=
+"
+DEPEND="
+	${RDEPEND}
+	dev-go/protobuf
+	dev-go/grpc
+"
+
+src_unpack() {
+	platform_src_unpack
+	CROS_GO_WORKSPACE="${OUT}/gen/go"
+}
+
+src_install() {
+	insinto /usr/"$(get_libdir)"/pkgconfig
+	doins wilco_dtc_grpc_protos.pc
+
+	insinto /usr/include/wilco_dtc/proto_bindings
+	doins "${OUT}"/gen/include/*.h
+
+	dolib.a "${OUT}"/*.a
+
+	cros-go_src_install
+}
diff --git a/chromeos-base/wilco-dtc-grpc-protos/wilco-dtc-grpc-protos-9999.ebuild b/chromeos-base/wilco-dtc-grpc-protos/wilco-dtc-grpc-protos-9999.ebuild
index 22bd5c6..a0c76f9 100644
--- a/chromeos-base/wilco-dtc-grpc-protos/wilco-dtc-grpc-protos-9999.ebuild
+++ b/chromeos-base/wilco-dtc-grpc-protos/wilco-dtc-grpc-protos-9999.ebuild
@@ -19,13 +19,14 @@
 inherit cros-go cros-workon platform
 
 DESCRIPTION="Chrome OS Wilco DTC proto/gRPC API"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/diagnostics/grpc"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/diagnostics/grpc"
 LICENSE="BSD-Google"
 SLOT="0"
 KEYWORDS="~*"
 
 RDEPEND="
 	dev-libs/protobuf:=
+	dev-go/protobuf-legacy-api:=
 	net-libs/grpc:=
 "
 DEPEND="
diff --git a/chromeos-base/zephyr-build-tools/zephyr-build-tools-0.0.1-r171.ebuild b/chromeos-base/zephyr-build-tools/zephyr-build-tools-0.0.1-r171.ebuild
deleted file mode 100644
index db10f9d..0000000
--- a/chromeos-base/zephyr-build-tools/zephyr-build-tools-0.0.1-r171.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="8679d57fcada1ab04a202785c12824a86ca7a215"
-CROS_WORKON_TREE="586d5b0ed6f4ce531019a56882c098d1c08d1e5d"
-CROS_WORKON_PROJECT="chromiumos/platform/ec"
-CROS_WORKON_LOCALNAME="platform/ec"
-CROS_WORKON_SUBTREE="zephyr/zmake"
-
-PYTHON_COMPAT=( python{3_6,3_7,3_8,3_9} )
-
-inherit cros-workon distutils-r1
-
-DESCRIPTION="Tools used for building Zephyr OS"
-HOMEPAGE="http://src.chromium.org"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-RDEPEND="
-	dev-embedded/binman
-	dev-python/black[${PYTHON_USEDEP}]
-	dev-python/colorama[${PYTHON_USEDEP}]
-	dev-python/docopt[${PYTHON_USEDEP}]
-	dev-python/flake8[${PYTHON_USEDEP}]
-	dev-python/hypothesis[${PYTHON_USEDEP}]
-	dev-python/isort[${PYTHON_USEDEP}]
-	dev-python/jsonschema[${PYTHON_USEDEP}]
-	dev-python/pykwalify[${PYTHON_USEDEP}]
-	dev-python/pytest[${PYTHON_USEDEP}]
-	dev-python/pyyaml[${PYTHON_USEDEP}]
-	dev-python/testfixtures[${PYTHON_USEDEP}]
-	dev-util/ninja
-	sys-apps/dtc
-"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-src_unpack() {
-	cros-workon_src_unpack
-	S+="/zephyr/zmake"
-}
-
-src_test() {
-	python3 -m pytest tests/*.py -v || die "Tests fail with ${EPYTHON}"
-}
diff --git a/chromeos-base/zephyr-build-tools/zephyr-build-tools-0.0.1-r212.ebuild b/chromeos-base/zephyr-build-tools/zephyr-build-tools-0.0.1-r212.ebuild
new file mode 100644
index 0000000..e28c4a3
--- /dev/null
+++ b/chromeos-base/zephyr-build-tools/zephyr-build-tools-0.0.1-r212.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="7e5aadb239c9809a783d2e73f1eb032247a7d052"
+CROS_WORKON_TREE="beb648de92385c06b6faf2ec8a7d9ce65020f80c"
+CROS_WORKON_PROJECT="chromiumos/platform/ec"
+CROS_WORKON_LOCALNAME="platform/ec"
+CROS_WORKON_SUBTREE="zephyr/zmake"
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-workon distutils-r1
+
+DESCRIPTION="Tools used for building Zephyr OS"
+HOMEPAGE="http://src.chromium.org"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="
+	dev-embedded/binman
+	dev-python/black[${PYTHON_USEDEP}]
+	dev-python/colorama[${PYTHON_USEDEP}]
+	dev-python/docopt[${PYTHON_USEDEP}]
+	dev-python/flake8[${PYTHON_USEDEP}]
+	dev-python/hypothesis[${PYTHON_USEDEP}]
+	dev-python/isort[${PYTHON_USEDEP}]
+	dev-python/jsonschema[${PYTHON_USEDEP}]
+	dev-python/pykwalify[${PYTHON_USEDEP}]
+	dev-python/pytest[${PYTHON_USEDEP}]
+	dev-python/pyyaml[${PYTHON_USEDEP}]
+	dev-python/testfixtures[${PYTHON_USEDEP}]
+	dev-util/ninja
+	sys-apps/dtc
+"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+src_unpack() {
+	cros-workon_src_unpack
+	S+="/zephyr/zmake"
+}
+
+src_test() {
+	python3 -m pytest tests/*.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/chromeos-base/zephyr-build-tools/zephyr-build-tools-9999.ebuild b/chromeos-base/zephyr-build-tools/zephyr-build-tools-9999.ebuild
index 01d3e9e..5625012 100644
--- a/chromeos-base/zephyr-build-tools/zephyr-build-tools-9999.ebuild
+++ b/chromeos-base/zephyr-build-tools/zephyr-build-tools-9999.ebuild
@@ -8,7 +8,7 @@
 CROS_WORKON_LOCALNAME="platform/ec"
 CROS_WORKON_SUBTREE="zephyr/zmake"
 
-PYTHON_COMPAT=( python{3_6,3_7,3_8,3_9} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 inherit cros-workon distutils-r1
 
diff --git a/chromeos-languagepacks/handwriting-am/Manifest b/chromeos-languagepacks/handwriting-am/Manifest
deleted file mode 100644
index ef7d3f4..0000000
--- a/chromeos-languagepacks/handwriting-am/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-am-20220203.tar.xz 12791052 BLAKE2B ec5fef4bef8f98514936338d299e62ef89fe4608bf99146604832e7b2399165ab3fd547efee0c9dbb1956ecc50226491367113fd41a8391044ab80224b65bcab SHA512 9b7a1868e5319c8e4168da666b22309ad76b2c20a9562599e7bf90cbda232710f96f1f93722a67c1304235f9196556eab8a41b549c6a0017a11fb070ab791295
diff --git a/chromeos-languagepacks/handwriting-am/handwriting-am-20220203.ebuild b/chromeos-languagepacks/handwriting-am/handwriting-am-20220203.ebuild
deleted file mode 100644
index 2809b7d..0000000
--- a/chromeos-languagepacks/handwriting-am/handwriting-am-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting am Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-am-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for am.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-ar/Manifest b/chromeos-languagepacks/handwriting-ar/Manifest
deleted file mode 100644
index 49470ba..0000000
--- a/chromeos-languagepacks/handwriting-ar/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-ar-20220203.tar.xz 11533556 BLAKE2B 53ae7e5c98a6a947b968ddb8da727860bbf5f63eccf052c54a45bde247eb1c5d1968af8beb2108e7372aeabbb09d920f1be92d6dcfd13ed225038076da9c7460 SHA512 bd04465bc83398ef864f9c8d27fe3faa776829f31cbf8c6b1c83f71f71f15175cc0ab546487a5701b1eb1f3e00db2bba618566e20b3f35a0a552675a0f5383a0
diff --git a/chromeos-languagepacks/handwriting-ar/handwriting-ar-20220203.ebuild b/chromeos-languagepacks/handwriting-ar/handwriting-ar-20220203.ebuild
deleted file mode 100644
index 498f8ac..0000000
--- a/chromeos-languagepacks/handwriting-ar/handwriting-ar-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting ar Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-ar-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for ar.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-base/Manifest b/chromeos-languagepacks/handwriting-base/Manifest
new file mode 100644
index 0000000..a0e0282
--- /dev/null
+++ b/chromeos-languagepacks/handwriting-base/Manifest
@@ -0,0 +1 @@
+DIST libhandwriting-0.0.15.tar.gz 23360055 BLAKE2B 32741f5285cdfb07fff5eb2627bd7584d786a148fe5f7d4cbfb343c1424c2a25d45174641c14eb9a72bd2a2283befc332df81d356654ddae46451062f5b44703 SHA512 6007b82215718e562f637ed1f3b49e871fa32bae44393902b718315c2998e09bcf4aff9d28da007445989afa622e84b4cdb4c7046c844b4f69dd0f7045fa4d90
diff --git a/chromeos-languagepacks/handwriting-base/handwriting-base-0.0.15.ebuild b/chromeos-languagepacks/handwriting-base/handwriting-base-0.0.15.ebuild
new file mode 100644
index 0000000..ce7825d
--- /dev/null
+++ b/chromeos-languagepacks/handwriting-base/handwriting-base-0.0.15.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dlc
+
+# This ebuild is referring to the same resource as package:
+# src/third_party/chromiumos-overlay/dev-libs/libhandwriting/
+# We keep two ebuilds while we migrate from nacl to Language Packs.
+
+DESCRIPTION="Handwriting Library used by Language Pack for Chromium OS"
+
+SRC_URI="gs://chromeos-localmirror/distfiles/libhandwriting-${PV}.tar.gz"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+IUSE="dlc ondevice_handwriting"
+REQUIRED_USE="dlc ondevice_handwriting"
+
+# DLC variables.
+# Allocate 4KB * 7500 = 30MB
+DLC_PREALLOC_BLOCKS="7500"
+
+S="${WORKDIR}"
+
+src_install() {
+	# This DLC is enabled only if ondevice handwriting is enabled.
+	if ! use ondevice_handwriting; then
+		return
+	fi
+
+	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
+	insinto "$(dlc_add_path /)"
+
+	# Install handwriting library.
+	insopts -m0755
+	newins "libhandwriting-${ARCH}.so" "libhandwriting.so"
+	insopts -m0644
+
+	# This command packages the files into a DLC.
+	dlc_src_install
+}
diff --git a/chromeos-languagepacks/handwriting-be/Manifest b/chromeos-languagepacks/handwriting-be/Manifest
deleted file mode 100644
index b44633a..0000000
--- a/chromeos-languagepacks/handwriting-be/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-be-20220203.tar.xz 12394020 BLAKE2B 581acfbca462001dfd270a6fad25c5e5a79d4ad6305b9bc1db6f3dd53a03abf3c3b8462af81ca5e95266e427b78c439d3c035eab9b330433ba12f6184bcc872a SHA512 d72264966785c13e9c555f44c2593851bb68437e49cb09a97dc5853fcb1242508effb445e7bed9c25f7ce43e75b332f51239ed4d2e0ccb5e962c1bea032837c5
diff --git a/chromeos-languagepacks/handwriting-be/handwriting-be-20220203.ebuild b/chromeos-languagepacks/handwriting-be/handwriting-be-20220203.ebuild
deleted file mode 100644
index 7da9dc6..0000000
--- a/chromeos-languagepacks/handwriting-be/handwriting-be-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting be Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-be-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for be.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-bg/Manifest b/chromeos-languagepacks/handwriting-bg/Manifest
deleted file mode 100644
index eda7374..0000000
--- a/chromeos-languagepacks/handwriting-bg/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-bg-20220203.tar.xz 12612700 BLAKE2B 84706fedc3443a3f079553d119d8e25b95a37824a0e8e77b12e7aebc10df8a065dc73c13f66ab81f02fa2ee3b48ddc8a945c73f5f9d3f44f7f40df48187a6b07 SHA512 4371b0ee5dd5c2439570d000fd3a3aa0bd6c1fbbc5d1fe046c6ac0e026892a2995f8923ece54d01667ac4a57d851ece319bdcbc04c197264e872fdd99b2b0e23
diff --git a/chromeos-languagepacks/handwriting-bg/handwriting-bg-20220203.ebuild b/chromeos-languagepacks/handwriting-bg/handwriting-bg-20220203.ebuild
deleted file mode 100644
index 953350e..0000000
--- a/chromeos-languagepacks/handwriting-bg/handwriting-bg-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting bg Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-bg-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for bg.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-bn/Manifest b/chromeos-languagepacks/handwriting-bn/Manifest
deleted file mode 100644
index 30ee035..0000000
--- a/chromeos-languagepacks/handwriting-bn/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-bn-20220203.tar.xz 11747040 BLAKE2B 50b41643611f31d64280a31d52aae65a4af2cf07c377433ec9e01924b3e64a79e093b84a653f3c231a07a7e6314b29c0a1111e4207f2ba7c511aa5c75a0bfa92 SHA512 f56e3fa9c2ee61887f928d76e9aa8e999b808048f05f154945693fdaf7ba9229132736451e8043a6329022eaeecd29f82e84caa608cdf2026e1ac51d7b81bc03
diff --git a/chromeos-languagepacks/handwriting-bn/handwriting-bn-20220203.ebuild b/chromeos-languagepacks/handwriting-bn/handwriting-bn-20220203.ebuild
deleted file mode 100644
index 04935cd..0000000
--- a/chromeos-languagepacks/handwriting-bn/handwriting-bn-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting bn Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-bn-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for bn.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-ca/Manifest b/chromeos-languagepacks/handwriting-ca/Manifest
deleted file mode 100644
index d68d074..0000000
--- a/chromeos-languagepacks/handwriting-ca/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-ca-20220203.tar.xz 12982756 BLAKE2B 8343e248eac5cbe1b606d7ff2d9530d3ad177667eac17ddc1cdc8a59be8402b0bf73ff0ecf569f716fc3c2a3fa776924f828d980d1f9bc45c28e6d789bebde93 SHA512 bb4f4c58415006505657b2bda97f7c4825470bd59abbef6411c129b08fd25b8ac7e6af14a2c5e1c009ac99d44ea1fe6603b612938a32a18b50d27e20d39b746c
diff --git a/chromeos-languagepacks/handwriting-ca/handwriting-ca-20220203.ebuild b/chromeos-languagepacks/handwriting-ca/handwriting-ca-20220203.ebuild
deleted file mode 100644
index b56292f..0000000
--- a/chromeos-languagepacks/handwriting-ca/handwriting-ca-20220203.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting ca Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-ca-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for ca.
-	doins compact.fst.local latin_indy.tflite latin_indy_conf.tflite
-	doins latin_indy_seg.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-cs/Manifest b/chromeos-languagepacks/handwriting-cs/Manifest
deleted file mode 100644
index 32dba96..0000000
--- a/chromeos-languagepacks/handwriting-cs/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-cs-20220203.tar.xz 13063044 BLAKE2B bc7f57e65ee3b0fb89eb95244af18eae09f3ee18876a6510e85a5066ae09cd3cb86a343f2deda507fc277d9d93c36de859afbe9c486ce8098a8ccb0425c816af SHA512 7697ecfdef14a4ea987ce6a5c4bc3caca100f7b02f8a9de518cd9b3560d0756e343fb5923bc34eea9b849d127edb563793f4e4e93df5deeb13c129e8d998b833
diff --git a/chromeos-languagepacks/handwriting-cs/handwriting-cs-20220203.ebuild b/chromeos-languagepacks/handwriting-cs/handwriting-cs-20220203.ebuild
deleted file mode 100644
index 8554e0b..0000000
--- a/chromeos-languagepacks/handwriting-cs/handwriting-cs-20220203.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting cs Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-cs-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for cs.
-	doins compact.fst.local latin_indy.tflite latin_indy_conf.tflite
-	doins latin_indy_seg.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-el/Manifest b/chromeos-languagepacks/handwriting-el/Manifest
deleted file mode 100644
index 5f0ff98..0000000
--- a/chromeos-languagepacks/handwriting-el/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-el-20220203.tar.xz 10535456 BLAKE2B 7ab5fbfefc0e10a7b94a1f2f5cbc309c410fc79a47ebc5d61d7045488ee3b11c07543fb6e711e627423be95710c57c763ff6f86bcf34d38d1d86d97787a1fcd4 SHA512 5eeef6f1844ec5f8ab970f834c44d7d46d1f93740d1c3f7f38fccc30ddbaab4e6ff2aaf6714fcf18cc282911e38f601c0ce92eb9844a47d508eecbf103ae5802
diff --git a/chromeos-languagepacks/handwriting-el/handwriting-el-20220203.ebuild b/chromeos-languagepacks/handwriting-el/handwriting-el-20220203.ebuild
deleted file mode 100644
index 5e33527..0000000
--- a/chromeos-languagepacks/handwriting-el/handwriting-el-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting el Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-el-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for el.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-es/handwriting-es-20220203-r1.ebuild b/chromeos-languagepacks/handwriting-es/handwriting-es-20220203-r1.ebuild
new file mode 120000
index 0000000..fccf5a6
--- /dev/null
+++ b/chromeos-languagepacks/handwriting-es/handwriting-es-20220203-r1.ebuild
@@ -0,0 +1 @@
+handwriting-es-20220203.ebuild
\ No newline at end of file
diff --git a/chromeos-languagepacks/handwriting-es/handwriting-es-20220203.ebuild b/chromeos-languagepacks/handwriting-es/handwriting-es-20220203.ebuild
index fed1f3c..e97737c 100644
--- a/chromeos-languagepacks/handwriting-es/handwriting-es-20220203.ebuild
+++ b/chromeos-languagepacks/handwriting-es/handwriting-es-20220203.ebuild
@@ -24,6 +24,9 @@
 # Allocate 4KB * 8750 = 35MB
 DLC_PREALLOC_BLOCKS="8750"
 
+# Spanish Handwriting is used for Tast tests.
+DLC_PRELOAD=true
+
 S="${WORKDIR}"
 src_unpack() {
 	local archive="${SRC_URI##*/}"
diff --git a/chromeos-languagepacks/handwriting-et/Manifest b/chromeos-languagepacks/handwriting-et/Manifest
deleted file mode 100644
index 103ac7e..0000000
--- a/chromeos-languagepacks/handwriting-et/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-et-20220203.tar.xz 12703116 BLAKE2B 7d27211b0819797efa23483620ded973c93a07e81f19e3c260db69d7c98644f0c47e3a624db955c8991a399e8bea1139b2feca6dadcc5e5090fc49ba44f787eb SHA512 25deba111cba31890dbf8300741321cc1e08eaf4ba1118416f745d967fdf1b5b0c751517e3cfcb5b283a714dd18c3afdca0fc9277b2d4598ce1ce0e6dacafed0
diff --git a/chromeos-languagepacks/handwriting-et/handwriting-et-20220203.ebuild b/chromeos-languagepacks/handwriting-et/handwriting-et-20220203.ebuild
deleted file mode 100644
index 049d086..0000000
--- a/chromeos-languagepacks/handwriting-et/handwriting-et-20220203.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting et Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-et-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for et.
-	doins compact.fst.local latin_indy.tflite latin_indy_conf.tflite
-	doins latin_indy_seg.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-fa/Manifest b/chromeos-languagepacks/handwriting-fa/Manifest
deleted file mode 100644
index e6f2ef8..0000000
--- a/chromeos-languagepacks/handwriting-fa/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-fa-20220203.tar.xz 11572056 BLAKE2B c1b797b03786a3b3e9c3bd7eeb2dc29e6be7d26c846c35a7f8253f116c7b5eeaa55c236a1e03822cec38aed2c5ca3797e4cb07a20de0db2050ed91e389b3aade SHA512 da84c6d0115ffa7c2badc1f53ed4e41aad3b5d7dfa9f0db27aac2eb47f9b60a1b591fc02367c9556e8566e01506248babe99e51145e10e46cd08de369f664499
diff --git a/chromeos-languagepacks/handwriting-fa/handwriting-fa-20220203.ebuild b/chromeos-languagepacks/handwriting-fa/handwriting-fa-20220203.ebuild
deleted file mode 100644
index 1d52726..0000000
--- a/chromeos-languagepacks/handwriting-fa/handwriting-fa-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting fa Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-fa-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for fa.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-ga/Manifest b/chromeos-languagepacks/handwriting-ga/Manifest
deleted file mode 100644
index 8b76ce7..0000000
--- a/chromeos-languagepacks/handwriting-ga/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-ga-20220203.tar.xz 12137604 BLAKE2B 44ff32579a060601485b242c6b98aff7e8f955b3117fe16084316c2a2cc28eafdfd0a5a6cc097f0aac0529630dc2d4b4d2135f745f733395874228e468a688f3 SHA512 5f1aabca159abc1c366d4dddbe4895400f4470dc81a163800734fc33b6bdcea26065b7ad03c47788b5056c909be708535e890354324d371f046e83977635387c
diff --git a/chromeos-languagepacks/handwriting-ga/handwriting-ga-20220203.ebuild b/chromeos-languagepacks/handwriting-ga/handwriting-ga-20220203.ebuild
deleted file mode 100644
index 616a21b..0000000
--- a/chromeos-languagepacks/handwriting-ga/handwriting-ga-20220203.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting ga Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-ga-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for ga.
-	doins compact.fst.local latin_indy.tflite latin_indy_conf.tflite
-	doins latin_indy_seg.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-gu/Manifest b/chromeos-languagepacks/handwriting-gu/Manifest
deleted file mode 100644
index 86c2416..0000000
--- a/chromeos-languagepacks/handwriting-gu/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-gu-20220203.tar.xz 9628500 BLAKE2B 9963db051ddcb6dd061ae095a8348d5111f58721d9b785da198ebc71d7b223f2db6c837d30d3752ab1b6b8208987d54bd75bf1de5ae2b9d244763df0bed70f1c SHA512 f04d9939964431709941a3e013e7b4ee01bd8d84fd057218630d7d34530149157aee6a89ac46e7076de4fccbc38cdf8505416e25090af36695b6c46e306229e6
diff --git a/chromeos-languagepacks/handwriting-gu/handwriting-gu-20220203.ebuild b/chromeos-languagepacks/handwriting-gu/handwriting-gu-20220203.ebuild
deleted file mode 100644
index 1a95c28..0000000
--- a/chromeos-languagepacks/handwriting-gu/handwriting-gu-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting gu Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-gu-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for gu.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-hi/Manifest b/chromeos-languagepacks/handwriting-hi/Manifest
deleted file mode 100644
index d840311..0000000
--- a/chromeos-languagepacks/handwriting-hi/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-hi-20220203.tar.xz 11675580 BLAKE2B f8ad39ece8847dc139f83e9e0f2654b34a84d729481ffebe5899b48adfd3655896b2f4f677b0aa4f451c1660e75b053b20244a5b216266c14d34281524684764 SHA512 1d09530c233d73ab0239e684ac1e5ae5cb3d32dd318dfbf00f06c41c7fcc13d7ac661225522de0e32e6733fccc1f7cb0ffc2593af94be700289d6a6805b19ccc
diff --git a/chromeos-languagepacks/handwriting-hi/handwriting-hi-20220203.ebuild b/chromeos-languagepacks/handwriting-hi/handwriting-hi-20220203.ebuild
deleted file mode 100644
index 2d13698..0000000
--- a/chromeos-languagepacks/handwriting-hi/handwriting-hi-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting hi Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-hi-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for hi.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-hr/Manifest b/chromeos-languagepacks/handwriting-hr/Manifest
deleted file mode 100644
index 6ccb4ff..0000000
--- a/chromeos-languagepacks/handwriting-hr/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-hr-20220203.tar.xz 12338900 BLAKE2B f3d6937c5b1ceef5ee9a31691be7e8e971476efc60fed01e6b8d7c485eff1b243705d61bc09b1e7604a821c7ccc02218244b924c713c43db8eb3260497181b82 SHA512 23a29e5de4eaeefa56286ed35db1f46ea4f15c58a4246b5756478d496e0299f92e70b86dc5af5dce91d2e19fa7e817839628aa23e48e19444808b3b18ed5cac2
diff --git a/chromeos-languagepacks/handwriting-hr/handwriting-hr-20220203.ebuild b/chromeos-languagepacks/handwriting-hr/handwriting-hr-20220203.ebuild
deleted file mode 100644
index 31d39dc..0000000
--- a/chromeos-languagepacks/handwriting-hr/handwriting-hr-20220203.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting hr Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-hr-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for hr.
-	doins compact.fst.local latin_indy.tflite latin_indy_conf.tflite
-	doins latin_indy_seg.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-hu/Manifest b/chromeos-languagepacks/handwriting-hu/Manifest
deleted file mode 100644
index 8e427ff..0000000
--- a/chromeos-languagepacks/handwriting-hu/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-hu-20220203.tar.xz 13087488 BLAKE2B b71b4103092c7661adeaccd56d330bdd2de7047bf6cbcbce6ab9e4dd71b1f0bb7614b340c89b5b76f6cd692d15e969df331a0ea9fcdae885cfc7f20be677aa5a SHA512 23f817b2c03427b8b72f48e84f32867b34abe8d402ceaad5da84f45d5a1d538fcbb06f2ffd407fa30510d5a8045662b887e9a6a78744d76288fc8532b0bdc0d2
diff --git a/chromeos-languagepacks/handwriting-hu/handwriting-hu-20220203.ebuild b/chromeos-languagepacks/handwriting-hu/handwriting-hu-20220203.ebuild
deleted file mode 100644
index cfa1d52..0000000
--- a/chromeos-languagepacks/handwriting-hu/handwriting-hu-20220203.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting hu Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-hu-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for hu.
-	doins compact.fst.local latin_indy.tflite latin_indy_conf.tflite
-	doins latin_indy_seg.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-hy/Manifest b/chromeos-languagepacks/handwriting-hy/Manifest
deleted file mode 100644
index 178798f..0000000
--- a/chromeos-languagepacks/handwriting-hy/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-hy-20220203.tar.xz 8220580 BLAKE2B 2c283fe4d79159b6ea722f472626c4a5266a8d18e62db60d7b17bebd2849423edc025ce7f2ddda521eb55d7a62027944b55012e442a318fe430aef9d34bc2877 SHA512 7b6208a1c5909a82542c4dc1d69cd83a589f7ee77cf8e9cdaf7d4fe1cc15469273c2b6c666d93649726209ac2c6b75945c36dea8001ae18ef6053eb8f26900ab
diff --git a/chromeos-languagepacks/handwriting-hy/handwriting-hy-20220203.ebuild b/chromeos-languagepacks/handwriting-hy/handwriting-hy-20220203.ebuild
deleted file mode 100644
index f2546b4..0000000
--- a/chromeos-languagepacks/handwriting-hy/handwriting-hy-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting hy Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-hy-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for hy.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-id/Manifest b/chromeos-languagepacks/handwriting-id/Manifest
deleted file mode 100644
index fb20ec7..0000000
--- a/chromeos-languagepacks/handwriting-id/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-id-20220203.tar.xz 11397184 BLAKE2B 2883c413901ce7e61a4dfd7030ad7bc730364d77a233cf8a5e2d349797b9c75d7e8d1311625060a8b3e6de88fd3b0f40d1cdc2effa1f3a9c58aea3e8a031f652 SHA512 f8f4948de4ec3d4cfa810019c68f13331c424977f2cb69919b42dc2907d3a7b1b8f7bc71d4146517b5f693e27d13d1cb14ea859157ebc50ef34d91c18c341114
diff --git a/chromeos-languagepacks/handwriting-id/handwriting-id-20220203.ebuild b/chromeos-languagepacks/handwriting-id/handwriting-id-20220203.ebuild
deleted file mode 100644
index d77fc77..0000000
--- a/chromeos-languagepacks/handwriting-id/handwriting-id-20220203.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting id Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-id-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for id.
-	doins compact.fst.local latin_indy.tflite latin_indy_conf.tflite
-	doins latin_indy_seg.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-is/Manifest b/chromeos-languagepacks/handwriting-is/Manifest
deleted file mode 100644
index c01ff04..0000000
--- a/chromeos-languagepacks/handwriting-is/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-is-20220203.tar.xz 12113396 BLAKE2B 684d64cf2409594c873e21608106527829b608ae4185b569a6caa38df6a7681db7320469615c2fd181835ef850753ceaaa320ffcdbbf930f5b98b4c2d889d8cd SHA512 bb2ae2cda9a03d9cb94d9c52ff3126ba1358593fe6047faf03b3a418ed6281df5511412c5932df146d796c097ddb7466a30d5a879aa877be2f601537a2de7655
diff --git a/chromeos-languagepacks/handwriting-is/handwriting-is-20220203.ebuild b/chromeos-languagepacks/handwriting-is/handwriting-is-20220203.ebuild
deleted file mode 100644
index 2f55ced..0000000
--- a/chromeos-languagepacks/handwriting-is/handwriting-is-20220203.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting is Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-is-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for is.
-	doins compact.fst.local latin_indy.tflite latin_indy_conf.tflite
-	doins latin_indy_seg.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-iw/Manifest b/chromeos-languagepacks/handwriting-iw/Manifest
deleted file mode 100644
index 25ae2bf..0000000
--- a/chromeos-languagepacks/handwriting-iw/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-iw-20220203.tar.xz 9402616 BLAKE2B abf099b445faa24a3333860fecc229fd63f6deb60288ec4c1f1dcbcba7fcc99bd2b890bf15c68379188815fdd1987d83047255ad5b09915890453cf72cf668e8 SHA512 84f549ece7be06b15fab8a5c8c7b27ca39051bacb6b6d6b1b926e771b6561e2e254402b258bcff57bee31178ecaadb690651052dc7e1bc634b93bbde1986b884
diff --git a/chromeos-languagepacks/handwriting-iw/handwriting-iw-20220203.ebuild b/chromeos-languagepacks/handwriting-iw/handwriting-iw-20220203.ebuild
deleted file mode 100644
index 6ac276e..0000000
--- a/chromeos-languagepacks/handwriting-iw/handwriting-iw-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting iw Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-iw-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for iw.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-ka/Manifest b/chromeos-languagepacks/handwriting-ka/Manifest
deleted file mode 100644
index 5ef34b2..0000000
--- a/chromeos-languagepacks/handwriting-ka/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-ka-20220203.tar.xz 7708468 BLAKE2B e627b54563226d09e0e6cb2b80503080c5e489efbdd06db9cc76493b28578c2d1f3dcb4c427093371585f444b17e149ff6b6fae1d36c24eccab9cc31f554c0c3 SHA512 783c2a05c64254f710eeffbdcf870f26f0efc3fcd25489acf814046f240c092e07d6a50dae16eec34a2da8de08298260c7f0e30a0cddbfc48a8e71b268b8159e
diff --git a/chromeos-languagepacks/handwriting-ka/handwriting-ka-20220203.ebuild b/chromeos-languagepacks/handwriting-ka/handwriting-ka-20220203.ebuild
deleted file mode 100644
index 6b13087..0000000
--- a/chromeos-languagepacks/handwriting-ka/handwriting-ka-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting ka Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-ka-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for ka.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-kk/Manifest b/chromeos-languagepacks/handwriting-kk/Manifest
deleted file mode 100644
index 60790c7..0000000
--- a/chromeos-languagepacks/handwriting-kk/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-kk-20220203.tar.xz 12321112 BLAKE2B 60f40245a88c5e1b318c65a8795c4344e371dc6c319bb32dba67546e7f437866ee009ed448db07d6860890a1edf9c4f6f5c5071d490c73817ad6221a86cf31bf SHA512 10660ad22e4adb4f5caec9cd40589b4d038b0d1aa21c7d844a7230be5b9b3cc8d2551981702fe1f0ea2990d35de4bd6af34149d00b0d6a188c739d4a84da1800
diff --git a/chromeos-languagepacks/handwriting-kk/handwriting-kk-20220203.ebuild b/chromeos-languagepacks/handwriting-kk/handwriting-kk-20220203.ebuild
deleted file mode 100644
index 9a11ff1..0000000
--- a/chromeos-languagepacks/handwriting-kk/handwriting-kk-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting kk Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-kk-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for kk.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-km/Manifest b/chromeos-languagepacks/handwriting-km/Manifest
deleted file mode 100644
index a4986e9..0000000
--- a/chromeos-languagepacks/handwriting-km/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-km-20220203.tar.xz 10355924 BLAKE2B 8bcbc2bb483ad0f80a3b0a83287f83e97a783ad9ab314856998f7aaa3ace8937f1686aebf77ecfee5c5d1289c66b623b9fd41cc30584055bdfbac83e8c319d72 SHA512 7f2b36c7c9130629fbee774d2025c943ed26b60504e392ae18702dd864b23fc98030e8c1a0678fee7a2d8d293abf1ab0152816c2ff4057132a13bab5d85d3ab3
diff --git a/chromeos-languagepacks/handwriting-km/handwriting-km-20220203.ebuild b/chromeos-languagepacks/handwriting-km/handwriting-km-20220203.ebuild
deleted file mode 100644
index fc77549..0000000
--- a/chromeos-languagepacks/handwriting-km/handwriting-km-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting km Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-km-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for km.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-kn/Manifest b/chromeos-languagepacks/handwriting-kn/Manifest
deleted file mode 100644
index e428d30..0000000
--- a/chromeos-languagepacks/handwriting-kn/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-kn-20220203.tar.xz 10160504 BLAKE2B cfa413beb231c660e689815f940184040f92c66d42b7e4bd52ce9d30b6f0d97d5334ec4a195bd989a51bcd8b6cb3ab1d47eb7376225f1097525bf02b8b159a95 SHA512 7e8a8987989dc4cd58648e04338c0cb2b829d4f84724860dd8dd4cb7855fa346a964964ab82b62e7cc1e28a6fb706dc67f75109b5289cb2054e5b90875414cff
diff --git a/chromeos-languagepacks/handwriting-kn/handwriting-kn-20220203.ebuild b/chromeos-languagepacks/handwriting-kn/handwriting-kn-20220203.ebuild
deleted file mode 100644
index 17dd9a6..0000000
--- a/chromeos-languagepacks/handwriting-kn/handwriting-kn-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting kn Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-kn-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for kn.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-ko/Manifest b/chromeos-languagepacks/handwriting-ko/Manifest
deleted file mode 100644
index decc744..0000000
--- a/chromeos-languagepacks/handwriting-ko/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-ko-20220203.tar.xz 13683180 BLAKE2B adb7b15bff692896c5421512c0c66483ce4fd6c4821bdb78a83473260435143d8e1f65276fcf4f2a4e8fce76b545d105d0971a16c0cb7bd703d7f5143c9be633 SHA512 1cacb108c879b9ec9eea49935e03093643d2cc071dc558ff204ebc113ccd39d2b07f647bb3dabae8ba73863ff2bf9d77c1450f0a356dd10cf93d256a12190bcf
diff --git a/chromeos-languagepacks/handwriting-ko/handwriting-ko-20220203.ebuild b/chromeos-languagepacks/handwriting-ko/handwriting-ko-20220203.ebuild
deleted file mode 100644
index 12c995d..0000000
--- a/chromeos-languagepacks/handwriting-ko/handwriting-ko-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting ko Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-ko-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for ko.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-lo/Manifest b/chromeos-languagepacks/handwriting-lo/Manifest
deleted file mode 100644
index d7b2af5..0000000
--- a/chromeos-languagepacks/handwriting-lo/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-lo-20220203.tar.xz 11678256 BLAKE2B 520dac8cf0a922d08cb3290346d500f482e08bb2c75d63249bba7f3e8dab469e99db0f6b10531b24eb264435477f2bdf75b26c4d1f573b75a8dca064f35597c1 SHA512 85b0b34a29f724e9fb6d7032ab6dcff7bb632a4cbea452cb1705c16754221f5d128231965b4bd1d7f8a52e320c4ce41fe0356120b67e1ada011d4efec7da7ad2
diff --git a/chromeos-languagepacks/handwriting-lo/handwriting-lo-20220203.ebuild b/chromeos-languagepacks/handwriting-lo/handwriting-lo-20220203.ebuild
deleted file mode 100644
index 020157c..0000000
--- a/chromeos-languagepacks/handwriting-lo/handwriting-lo-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting lo Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-lo-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for lo.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-lt/Manifest b/chromeos-languagepacks/handwriting-lt/Manifest
deleted file mode 100644
index a2d0c0f..0000000
--- a/chromeos-languagepacks/handwriting-lt/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-lt-20220203.tar.xz 12656892 BLAKE2B d8376b7e40b608cccb73410a4a411bacbcb825a4ec92269083bbc15f322cefd07f8573d8ddbd39718fcfa77aa4906e5658fa64f87903abe6eff4e6f7ee548acc SHA512 0d75eb3ca71bf819f4e05ab5410000983bdab12b43e5915b64b97715b57d83393adc64cbdfcb900768529b2f82197036f89b96f1d4976c3db8cf91f51b044d6f
diff --git a/chromeos-languagepacks/handwriting-lt/handwriting-lt-20220203.ebuild b/chromeos-languagepacks/handwriting-lt/handwriting-lt-20220203.ebuild
deleted file mode 100644
index 9f2d2a7..0000000
--- a/chromeos-languagepacks/handwriting-lt/handwriting-lt-20220203.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting lt Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-lt-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for lt.
-	doins compact.fst.local latin_indy.tflite latin_indy_conf.tflite
-	doins latin_indy_seg.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-lv/Manifest b/chromeos-languagepacks/handwriting-lv/Manifest
deleted file mode 100644
index 5c979f6..0000000
--- a/chromeos-languagepacks/handwriting-lv/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-lv-20220203.tar.xz 12910156 BLAKE2B e1d5c15b080920fe1d33ef7b06bb7d459264005531ac04aae13c9e953e16983413411dad8f07240be2bb85a1007730be54b8c164e4875af85167728b3615f80a SHA512 a86522c1e8723b9aac6f82f8e675bd673dd0fe0532b686d518d80538fb82884c8cf306150979140cdec04a068be672c2b4144de4ccd5eb3364d00009645e3ca9
diff --git a/chromeos-languagepacks/handwriting-lv/handwriting-lv-20220203.ebuild b/chromeos-languagepacks/handwriting-lv/handwriting-lv-20220203.ebuild
deleted file mode 100644
index 3ccddb9..0000000
--- a/chromeos-languagepacks/handwriting-lv/handwriting-lv-20220203.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting lv Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-lv-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for lv.
-	doins compact.fst.local latin_indy.tflite latin_indy_conf.tflite
-	doins latin_indy_seg.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-ml/Manifest b/chromeos-languagepacks/handwriting-ml/Manifest
deleted file mode 100644
index f64c508..0000000
--- a/chromeos-languagepacks/handwriting-ml/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-ml-20220203.tar.xz 10575696 BLAKE2B 32ea0fb6084c5a1800c2edd4350201cbf7455ea51078313f70347748612473fed8036df47a9e5e3aa9f437200a65b2ce5c0dece54129eddfeb22a0d7e96bc756 SHA512 cea77e68dc488fefea2a5e0ca77d718efd47072eb17582c137283c40047949a527efa1c3bbd64bbd76e4b089afacc09b621a8466a3cd3af4782b03adef021569
diff --git a/chromeos-languagepacks/handwriting-ml/handwriting-ml-20220203.ebuild b/chromeos-languagepacks/handwriting-ml/handwriting-ml-20220203.ebuild
deleted file mode 100644
index dd6d5d15..0000000
--- a/chromeos-languagepacks/handwriting-ml/handwriting-ml-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting ml Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-ml-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for ml.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-mn/Manifest b/chromeos-languagepacks/handwriting-mn/Manifest
deleted file mode 100644
index 6c46f55..0000000
--- a/chromeos-languagepacks/handwriting-mn/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-mn-20220203.tar.xz 12295564 BLAKE2B 811f4aff728977ccb804e94300d93b38498b19b15ee196cc357a1a733908c9e4a1ee541f110d2651735b4d4c51babc13932dfbc972f8f5c1453680070022c5ba SHA512 48bc9ed25124c435ee2ea3f7977f87d0b26678994fa78792466bde81b3de018b6a2d19ff058471d6fefa1ad84852149a50e198bbc84a336450c30c721fd3026b
diff --git a/chromeos-languagepacks/handwriting-mn/handwriting-mn-20220203.ebuild b/chromeos-languagepacks/handwriting-mn/handwriting-mn-20220203.ebuild
deleted file mode 100644
index 95852b9..0000000
--- a/chromeos-languagepacks/handwriting-mn/handwriting-mn-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting mn Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-mn-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for mn.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-mr/Manifest b/chromeos-languagepacks/handwriting-mr/Manifest
deleted file mode 100644
index 4ca6bd4..0000000
--- a/chromeos-languagepacks/handwriting-mr/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-mr-20220203.tar.xz 11616944 BLAKE2B 09932eb21af646e2a70a987391d04f651b97d91ebd37b4ef83d8d075d3b89635bc3a5e10179922d20f8892f21282ac54309c809cbddf84b99b647a4212815c0d SHA512 b71088606329d14acefe1a6ec153467b13aa81794b4c32787288e58a1d542380b4b492437d66b3aeb26b33dff245ad2bdcdff9428291d1b69fc01c4a49718c5f
diff --git a/chromeos-languagepacks/handwriting-mr/handwriting-mr-20220203.ebuild b/chromeos-languagepacks/handwriting-mr/handwriting-mr-20220203.ebuild
deleted file mode 100644
index e500bdd..0000000
--- a/chromeos-languagepacks/handwriting-mr/handwriting-mr-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting mr Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-mr-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for mr.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-ms/Manifest b/chromeos-languagepacks/handwriting-ms/Manifest
deleted file mode 100644
index d283f4e7..0000000
--- a/chromeos-languagepacks/handwriting-ms/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-ms-20220203.tar.xz 12851336 BLAKE2B 1b08ee6aa93c806a3c6f36127f92776d640755134bf86ad2755c16f88aa08f2195b4d7eab42c9f13f53e1850f8d0e089a0b58fb6dd91419a284486e9022660a0 SHA512 20c623147e034ef861252c27ef066c7048f07963eb673795a2bc6a0cafbcf0d5ea661317f87e64942a11c09a463f6cd30ada9ffa743011675815f2aaa06e2e95
diff --git a/chromeos-languagepacks/handwriting-ms/handwriting-ms-20220203.ebuild b/chromeos-languagepacks/handwriting-ms/handwriting-ms-20220203.ebuild
deleted file mode 100644
index 71e6da4..0000000
--- a/chromeos-languagepacks/handwriting-ms/handwriting-ms-20220203.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting ms Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-ms-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for ms.
-	doins compact.fst.local latin_indy.tflite latin_indy_conf.tflite
-	doins latin_indy_seg.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-mt/Manifest b/chromeos-languagepacks/handwriting-mt/Manifest
deleted file mode 100644
index 05b9f0f..0000000
--- a/chromeos-languagepacks/handwriting-mt/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-mt-20220203.tar.xz 12271024 BLAKE2B 6bd9eec21569721bf1c837df78702ab0eb1c57f615eb23cd5fc61163465634c83c729152df9153a393b5bf6aae6dc99527f76a0cba874480372c7095e9240d7b SHA512 d69b550782c8184ad5722e2eaf087610d8cbfa09c4f5ea15f333913f880d63b4f4824c799d1ddafcf1e31949f4e1cd1eeb033e89f558158736350bd55d3060a5
diff --git a/chromeos-languagepacks/handwriting-mt/handwriting-mt-20220203.ebuild b/chromeos-languagepacks/handwriting-mt/handwriting-mt-20220203.ebuild
deleted file mode 100644
index 4b514d5..0000000
--- a/chromeos-languagepacks/handwriting-mt/handwriting-mt-20220203.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting mt Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-mt-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for mt.
-	doins compact.fst.local latin_indy.tflite latin_indy_conf.tflite
-	doins latin_indy_seg.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-my/Manifest b/chromeos-languagepacks/handwriting-my/Manifest
deleted file mode 100644
index 8b2e5cd..0000000
--- a/chromeos-languagepacks/handwriting-my/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-my-20220203.tar.xz 10848892 BLAKE2B 6ecbae438a425b6ad7d75b253ce1697903cff83cc00c1942c6fad279e298cbdd9f1a29efb052ff933ba078ab959cbd232dc84a2d4c45d80cac6c6035abc30c67 SHA512 1b9c0416a039d2ffddd6bfb3bc042764fb10a9d85deea46b1b0ac8cb7e1103ef709e499140da7a5c0c5ff22ff418ba51053db23d84d91d3bcbe638541d87e3b1
diff --git a/chromeos-languagepacks/handwriting-my/handwriting-my-20220203.ebuild b/chromeos-languagepacks/handwriting-my/handwriting-my-20220203.ebuild
deleted file mode 100644
index 9d242db..0000000
--- a/chromeos-languagepacks/handwriting-my/handwriting-my-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting my Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-my-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for my.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-ne/Manifest b/chromeos-languagepacks/handwriting-ne/Manifest
deleted file mode 100644
index 97e85f2..0000000
--- a/chromeos-languagepacks/handwriting-ne/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-ne-20220203.tar.xz 12029760 BLAKE2B 0ac0d1ef9d35663daa6446a9e6a4c8d0932fb3ad397b60fdf0278dd24289d3620e34cc0156c3ff616cd1559b2132c257f8c068601cd96dac1b40227eab3d9098 SHA512 43429f6609138e88c55d406608a406b815386994ba75264056e77b13e7d5c66932eb4656ad335bd1a573a6fbabe9d073e1b15e5d240f1a5b9281e1f91eeece39
diff --git a/chromeos-languagepacks/handwriting-ne/handwriting-ne-20220203.ebuild b/chromeos-languagepacks/handwriting-ne/handwriting-ne-20220203.ebuild
deleted file mode 100644
index ff109c4..0000000
--- a/chromeos-languagepacks/handwriting-ne/handwriting-ne-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting ne Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-ne-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for ne.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-no/Manifest b/chromeos-languagepacks/handwriting-no/Manifest
deleted file mode 100644
index a57fad5..0000000
--- a/chromeos-languagepacks/handwriting-no/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-no-20220203.tar.xz 12790696 BLAKE2B 5e68bea4c723fd376f53b80e037d1fc1b36e7e186658bbdf7c5e07d08fe7c60154617e5e3ced7d4f13aba8eacd47b3d45fe485e7c6212cca8c41a36a7517cf7c SHA512 f67d4a692990fb5dda97b5817c546c71069ee8f0d01b6aaadae7b6bc87bced8e5991c0ec0a079769398360d2a6b40da6ea16a7904d531d79d4ad4a0d4051151b
diff --git a/chromeos-languagepacks/handwriting-no/handwriting-no-20220203.ebuild b/chromeos-languagepacks/handwriting-no/handwriting-no-20220203.ebuild
deleted file mode 100644
index 00df642..0000000
--- a/chromeos-languagepacks/handwriting-no/handwriting-no-20220203.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting no Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-no-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for no.
-	doins compact.fst.local latin_indy.tflite latin_indy_conf.tflite
-	doins latin_indy_seg.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-or/Manifest b/chromeos-languagepacks/handwriting-or/Manifest
deleted file mode 100644
index 06342ed..0000000
--- a/chromeos-languagepacks/handwriting-or/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-or-20220203.tar.xz 11962144 BLAKE2B 9a8ce07934170d1eb3fa2cc3aba7afbd7b26bc2b983f3517884c2f49495a3dd022ed2122c97ff9d7980589d37f49c34d2634ef64a8a44ada231f0e90e335f180 SHA512 c4e6fc8c20eb3b14713d4fd966800bc0875198b3689419392ce5c0a29a7fc8828e4bf986a0eb878dc66d37d9914f28e72062da07933fbc28d48c7992e8b51f6b
diff --git a/chromeos-languagepacks/handwriting-or/handwriting-or-20220203.ebuild b/chromeos-languagepacks/handwriting-or/handwriting-or-20220203.ebuild
deleted file mode 100644
index 3226c42..0000000
--- a/chromeos-languagepacks/handwriting-or/handwriting-or-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting or Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-or-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for or.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-pa/Manifest b/chromeos-languagepacks/handwriting-pa/Manifest
deleted file mode 100644
index 5a1d71d..0000000
--- a/chromeos-languagepacks/handwriting-pa/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-pa-20220203.tar.xz 9691644 BLAKE2B 397a1664d858ae3d528c9d3c51061065e6e785bf46eacaf73e14acdbc3ec067ac11b99294165c4fe04fd79a888d68b7ecd2f3f464e259117487ef63384e62e3e SHA512 e84e16fd08b95e0e49f7fb4b1894fe93b8ad81865aef5d48cd9973eb1d3851072917e76b07c32a3a67afb20d390359ef8ce117a708d14869d85d56d8c6874f40
diff --git a/chromeos-languagepacks/handwriting-pa/handwriting-pa-20220203.ebuild b/chromeos-languagepacks/handwriting-pa/handwriting-pa-20220203.ebuild
deleted file mode 100644
index 18e843f..0000000
--- a/chromeos-languagepacks/handwriting-pa/handwriting-pa-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting pa Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-pa-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for pa.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-pl/Manifest b/chromeos-languagepacks/handwriting-pl/Manifest
deleted file mode 100644
index 36ad53f..0000000
--- a/chromeos-languagepacks/handwriting-pl/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-pl-20220203.tar.xz 12957176 BLAKE2B 39c892ff9b81cce0ab10fc3122df62628a0b3eb8e58cef447fac580c6e05e58a4656f35aaa5b13fc728f085afe918ed11afda80c846ae72ce843c2598ed0dd03 SHA512 0274dd9887b8f2392293d8f951235857d1d3586367a018078862dec7d2725a00ac244c4b7a0d6c8056ad9fbd2f25253c87bb95ef85b07419f12a606ecb2a46dd
diff --git a/chromeos-languagepacks/handwriting-pl/handwriting-pl-20220203.ebuild b/chromeos-languagepacks/handwriting-pl/handwriting-pl-20220203.ebuild
deleted file mode 100644
index f40f46b..0000000
--- a/chromeos-languagepacks/handwriting-pl/handwriting-pl-20220203.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting pl Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-pl-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for pl.
-	doins compact.fst.local latin_indy.tflite latin_indy_conf.tflite
-	doins latin_indy_seg.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-ro/Manifest b/chromeos-languagepacks/handwriting-ro/Manifest
deleted file mode 100644
index 769a63a..0000000
--- a/chromeos-languagepacks/handwriting-ro/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-ro-20220203.tar.xz 12873888 BLAKE2B 6734728d7bd2a4be0b04f1035cd8e419deab25290a8abb211de86d400f1156185920274b84cf3786b4199a16992ace500bdf5811b40f8682ef8f93ff53b0c752 SHA512 9759c24d8bc78f95e253092f1fdc3a4cebf623255e02ddc637ec91c8156c45f173521117b99c857fb88f984457724d738d11f59b23aafc9aa7b1e53eb69d2946
diff --git a/chromeos-languagepacks/handwriting-ro/handwriting-ro-20220203.ebuild b/chromeos-languagepacks/handwriting-ro/handwriting-ro-20220203.ebuild
deleted file mode 100644
index b897550..0000000
--- a/chromeos-languagepacks/handwriting-ro/handwriting-ro-20220203.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting ro Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-ro-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for ro.
-	doins compact.fst.local latin_indy.tflite latin_indy_conf.tflite
-	doins latin_indy_seg.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-ru/Manifest b/chromeos-languagepacks/handwriting-ru/Manifest
deleted file mode 100644
index 52ef8ef..0000000
--- a/chromeos-languagepacks/handwriting-ru/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-ru-20220203.tar.xz 12430168 BLAKE2B 030cc3c7eff1a72d0fcba773b1116c3fda030bb5a9d871ae5767eb9adb99c08f5eb758749be9c04bbcaabaa021399ed5a563d110b7bf43e62ad2a18cbf22d84f SHA512 e40add265e654a00be035c7e9230c6e547b2f5634a34abc53a4d07a1569ab319a724f7d1a6e548868121dc3e45c12f5d81e92865dfc9004fd7e5137d65bf6e95
diff --git a/chromeos-languagepacks/handwriting-ru/handwriting-ru-20220203.ebuild b/chromeos-languagepacks/handwriting-ru/handwriting-ru-20220203.ebuild
deleted file mode 100644
index fb37aa0..0000000
--- a/chromeos-languagepacks/handwriting-ru/handwriting-ru-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting ru Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-ru-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for ru.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-si/Manifest b/chromeos-languagepacks/handwriting-si/Manifest
deleted file mode 100644
index b82fa00..0000000
--- a/chromeos-languagepacks/handwriting-si/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-si-20220203.tar.xz 9820508 BLAKE2B ea176a676891177122f41bc6b2d8a598a5c101eb53ee7abe8452da03e17a65432dd6dfda682ae0c1adeffa42d3571998cd34df043546efc89ce1eb8d63119354 SHA512 befce034904ae75af421e325b0f689c80339b85602ab42c1ba54abefff4e44c94a419d9227b37bf0f2bfc49b4f7a10e346ef0a5baf0e24178ee115ac0a4537e7
diff --git a/chromeos-languagepacks/handwriting-si/handwriting-si-20220203.ebuild b/chromeos-languagepacks/handwriting-si/handwriting-si-20220203.ebuild
deleted file mode 100644
index fa85e3f..0000000
--- a/chromeos-languagepacks/handwriting-si/handwriting-si-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting si Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-si-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for si.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-sk/Manifest b/chromeos-languagepacks/handwriting-sk/Manifest
deleted file mode 100644
index b195082..0000000
--- a/chromeos-languagepacks/handwriting-sk/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-sk-20220203.tar.xz 11402480 BLAKE2B 35a2b54fc9402aad98545346f38b2a2e864e9eb51d8d49ffb58d91532f850b4afd688070a7e41929d9a6394b531398d6eceef07758a6226974170dd252d806ec SHA512 984e0dad11dd3cfd11f4c087ea8ad10f5d710d4913af054cfde0e96f1301c1d759e4d2140d7e1a5b9189310bbe004f45cf447acfaeedd8907cf68eb6f50a1e1b
diff --git a/chromeos-languagepacks/handwriting-sk/handwriting-sk-20220203.ebuild b/chromeos-languagepacks/handwriting-sk/handwriting-sk-20220203.ebuild
deleted file mode 100644
index 1b2a854..0000000
--- a/chromeos-languagepacks/handwriting-sk/handwriting-sk-20220203.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting sk Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-sk-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for sk.
-	doins compact.fst.local latin_indy.tflite latin_indy_conf.tflite
-	doins latin_indy_seg.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-sl/Manifest b/chromeos-languagepacks/handwriting-sl/Manifest
deleted file mode 100644
index a402296..0000000
--- a/chromeos-languagepacks/handwriting-sl/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-sl-20220203.tar.xz 12945816 BLAKE2B 43f65edc41010f5588c18bd5561ddfab17bff7cbfce468e971ec807bfc7b208076a3f9bbe729f608e280db725078b869e739670268a75ad29b12e2924df95219 SHA512 46ae24925f20681305d4d14a9dcdfa9a289baab8c4bad4350395f6fe16daee17e140fd99df23f75e31230125a8371c75c16200fcc8e21922dc5417efbd4257d4
diff --git a/chromeos-languagepacks/handwriting-sl/handwriting-sl-20220203.ebuild b/chromeos-languagepacks/handwriting-sl/handwriting-sl-20220203.ebuild
deleted file mode 100644
index 045a513..0000000
--- a/chromeos-languagepacks/handwriting-sl/handwriting-sl-20220203.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting sl Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-sl-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for sl.
-	doins compact.fst.local latin_indy.tflite latin_indy_conf.tflite
-	doins latin_indy_seg.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-sr/Manifest b/chromeos-languagepacks/handwriting-sr/Manifest
deleted file mode 100644
index 472ea41..0000000
--- a/chromeos-languagepacks/handwriting-sr/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-sr-20220203.tar.xz 12211256 BLAKE2B 449cddfb312936484be7dfffa8bf34dc8c144c25a24f10388959a5964f27462f51f190daf2f5be510c847e19fdcaf9f1075772f717c9e04bcbe9f83aac683cd7 SHA512 390a429ca87c2e94dd8a8836cf7b17c0270486c7d08da3bd67ca13d3c70e9acc55ef5c5a47e11fb4bad62038a320a33b392b0a6725f0731b9dd9c69569e18709
diff --git a/chromeos-languagepacks/handwriting-sr/handwriting-sr-20220203.ebuild b/chromeos-languagepacks/handwriting-sr/handwriting-sr-20220203.ebuild
deleted file mode 100644
index 74d4ee7..0000000
--- a/chromeos-languagepacks/handwriting-sr/handwriting-sr-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting sr Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-sr-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for sr.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-ta/Manifest b/chromeos-languagepacks/handwriting-ta/Manifest
deleted file mode 100644
index f25cd32..0000000
--- a/chromeos-languagepacks/handwriting-ta/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-ta-20220203.tar.xz 9991912 BLAKE2B 3ba1fb4cf8d073602cae561384d9698f9ca963fef17521198e9a4fd9f28af1b20217e44d62ea34078c9754183434602e456288f1112a9d38e3974dd1515ceb3a SHA512 303420e242ec2ca3d875f6597b49a6d463ac9aa365fe156b6687c99264776a6920aec63fbed5d30ae1da830d7ccc4cfe433030eab7c2a11791f1a2ace63d080b
diff --git a/chromeos-languagepacks/handwriting-ta/handwriting-ta-20220203.ebuild b/chromeos-languagepacks/handwriting-ta/handwriting-ta-20220203.ebuild
deleted file mode 100644
index e4faded..0000000
--- a/chromeos-languagepacks/handwriting-ta/handwriting-ta-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting ta Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-ta-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for ta.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-te/Manifest b/chromeos-languagepacks/handwriting-te/Manifest
deleted file mode 100644
index d4737cd..0000000
--- a/chromeos-languagepacks/handwriting-te/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-te-20220203.tar.xz 11527344 BLAKE2B 820c461eb882d3a8cce8c883bd137b3c586ebcbe0809c863b66707d7341e3d68db19c55953b6b1df21b2152a32627e3cd66e401f26f99cc589d43228693fb1c3 SHA512 cb696617a784c3752a871330ebbeb333d1968b7fcc61a8402e3cb793baaaf8edd7e2073e2895278004bc1c20dc1991738eef6df8e8f0e0cff55e87f1560e06c5
diff --git a/chromeos-languagepacks/handwriting-te/handwriting-te-20220203.ebuild b/chromeos-languagepacks/handwriting-te/handwriting-te-20220203.ebuild
deleted file mode 100644
index 8b8722a..0000000
--- a/chromeos-languagepacks/handwriting-te/handwriting-te-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting te Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-te-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for te.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-th/Manifest b/chromeos-languagepacks/handwriting-th/Manifest
deleted file mode 100644
index 1746442..0000000
--- a/chromeos-languagepacks/handwriting-th/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-th-20220203.tar.xz 10877728 BLAKE2B a438de472921411737c53a0751a46d18f9430cbb5369eedbdc7fe1bbe305dd1329c1c0d2807f583a1856d88b3824b388bdeb60eb5cafa02c416bb36753bd16b8 SHA512 88a366fc0d3b0e262df500020ce7ed5d46816bd851b3a929c6152dfacea5dda24d8b64b3112df4b08311e4f293a8d2520efba88218b6f50212043c0f8ebb2dbf
diff --git a/chromeos-languagepacks/handwriting-th/handwriting-th-20220203.ebuild b/chromeos-languagepacks/handwriting-th/handwriting-th-20220203.ebuild
deleted file mode 100644
index 42d56d2..0000000
--- a/chromeos-languagepacks/handwriting-th/handwriting-th-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting th Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-th-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for th.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-ti/Manifest b/chromeos-languagepacks/handwriting-ti/Manifest
deleted file mode 100644
index d694ef7..0000000
--- a/chromeos-languagepacks/handwriting-ti/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-ti-20220203.tar.xz 2844420 BLAKE2B 6e6852f85e8eeba76d02a90b83d3621d17e8c1cb2088a65523c829d29e8e5220568b0d747cf7dfc96c12f2234c83f3c176ccfcaf6a7a16bf25e0bb2a2fb6602c SHA512 bf6ba6938260fef335d54c1f2080bc41c003aff1f6bfa22fed9f9fffaacfc6f73285d643de544e60311aa7e89837d3fc538a8ae835b1f13708c5a72d4ff472ba
diff --git a/chromeos-languagepacks/handwriting-ti/handwriting-ti-20220203.ebuild b/chromeos-languagepacks/handwriting-ti/handwriting-ti-20220203.ebuild
deleted file mode 100644
index 76e00d3..0000000
--- a/chromeos-languagepacks/handwriting-ti/handwriting-ti-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting ti Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-ti-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for ti.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-tl/Manifest b/chromeos-languagepacks/handwriting-tl/Manifest
deleted file mode 100644
index 887cc8e..0000000
--- a/chromeos-languagepacks/handwriting-tl/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-tl-20220203.tar.xz 12755852 BLAKE2B 86b829a9e0b6a34da31061c272e00dea76b4c99ad6ec587af217adc5219b775e4cc9431c9eb00069e0067993657a1cdf4b08e1fbc8e888be6b26152a92a9ecdc SHA512 b3db93e469d8c40c19954d56060e23e59aa26927bc597a3281cd933c9875f8bd0c09b392ac15a57f44d8b7a5642592546bfa5396801b7d6ee67308fb516b0d09
diff --git a/chromeos-languagepacks/handwriting-tl/handwriting-tl-20220203.ebuild b/chromeos-languagepacks/handwriting-tl/handwriting-tl-20220203.ebuild
deleted file mode 100644
index 23bc9b1..0000000
--- a/chromeos-languagepacks/handwriting-tl/handwriting-tl-20220203.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting tl Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-tl-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for tl.
-	doins compact.fst.local latin_indy.tflite latin_indy_conf.tflite
-	doins latin_indy_seg.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-tr/Manifest b/chromeos-languagepacks/handwriting-tr/Manifest
deleted file mode 100644
index e2eb59d..0000000
--- a/chromeos-languagepacks/handwriting-tr/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-tr-20220203.tar.xz 13082848 BLAKE2B 58312b9ab9d0f8b7e82f29cd7bac34352bae6d46694fc71e877cec949946f704cb78db12749562bff8d1279dddc71b8e6993f5b08fc8e5d8c41d8d8ac41a8b68 SHA512 b5a8af4df603eb375c8fd1f5d920642cee3ecefe6d7b627899ea1e9ce301decebab0dbbd7111a3701ae7337f4dbedf57032160fedaa1c29b50b35516a7887d10
diff --git a/chromeos-languagepacks/handwriting-tr/handwriting-tr-20220203.ebuild b/chromeos-languagepacks/handwriting-tr/handwriting-tr-20220203.ebuild
deleted file mode 100644
index 000095b..0000000
--- a/chromeos-languagepacks/handwriting-tr/handwriting-tr-20220203.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting tr Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-tr-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for tr.
-	doins compact.fst.local latin_indy.tflite latin_indy_conf.tflite
-	doins latin_indy_seg.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-uk/Manifest b/chromeos-languagepacks/handwriting-uk/Manifest
deleted file mode 100644
index 77ade72..0000000
--- a/chromeos-languagepacks/handwriting-uk/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-uk-20220203.tar.xz 12295872 BLAKE2B 3d8f2afe6f6632811f80943c2e8f2064d9f3610d35f34de7886a0683d1e5fc9f56690cdfd1d23a26ddaeeb573aa81492b6ec9bc4ec8081fc29c3b909dfd669f9 SHA512 608d89b240e599d151f68a7628abe2556ed82643c18394dbd003f2c628afc78a5d2f803fe20a865dd0dfe7ae5c67f6c9767cdc3f7f3f2ad9bb321590551d2f8a
diff --git a/chromeos-languagepacks/handwriting-uk/handwriting-uk-20220203.ebuild b/chromeos-languagepacks/handwriting-uk/handwriting-uk-20220203.ebuild
deleted file mode 100644
index 3f16b48..0000000
--- a/chromeos-languagepacks/handwriting-uk/handwriting-uk-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting uk Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-uk-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for uk.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-ur/Manifest b/chromeos-languagepacks/handwriting-ur/Manifest
deleted file mode 100644
index 83257d3..0000000
--- a/chromeos-languagepacks/handwriting-ur/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-ur-20220203.tar.xz 11755488 BLAKE2B fc901e07a8f2697e1aeee47c8a3afec8632050c4d6dee8c77da3e362098eed99d88aea94dd81ee94917c73ae4f29ac2bcf4bec38548541dd65eaa3da4c81457c SHA512 81b459d903a35772201e5415310e506743969fd91e5918dffd74efb2463f4567e90ecc22ef07b3a06472e15473ec5d47df806d3cfe125f71ded56d127dc6e99b
diff --git a/chromeos-languagepacks/handwriting-ur/handwriting-ur-20220203.ebuild b/chromeos-languagepacks/handwriting-ur/handwriting-ur-20220203.ebuild
deleted file mode 100644
index c7f802f..0000000
--- a/chromeos-languagepacks/handwriting-ur/handwriting-ur-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting ur Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-ur-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for ur.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-vi/Manifest b/chromeos-languagepacks/handwriting-vi/Manifest
deleted file mode 100644
index 4dfa9ca..0000000
--- a/chromeos-languagepacks/handwriting-vi/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-vi-20220203.tar.xz 8880640 BLAKE2B 2f0b51c3351dc7b4293647006103935d1c9ef02bb73ea9f00e3c8440bf502fb90104d80d2ea174097df49d388f736346ce6de6efe4263addbf7743956612f18a SHA512 5a43611c74c6a5b96f2630ab83eb1820d631edfb6baf5c9859bdeef40be1cbe3e0d67643821775efd8b02358adf18460f6755c217c7872bc4dd10a8d3cc59851
diff --git a/chromeos-languagepacks/handwriting-vi/handwriting-vi-20220203.ebuild b/chromeos-languagepacks/handwriting-vi/handwriting-vi-20220203.ebuild
deleted file mode 100644
index 5389744..0000000
--- a/chromeos-languagepacks/handwriting-vi/handwriting-vi-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting vi Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-vi-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for vi.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/handwriting-zh/Manifest b/chromeos-languagepacks/handwriting-zh/Manifest
deleted file mode 100644
index 97906cc..0000000
--- a/chromeos-languagepacks/handwriting-zh/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST languagepack-handwriting-zh-20220203.tar.xz 15826300 BLAKE2B 4b004e46933afa808ed4852fe0e686c32d95af49ab02f30e3559fbcfcc54abc88a8bd5e2da7540bf52f8280af50b943ee0573d0f638bcc7515f7781d1d13dd0a SHA512 59d18d06786e5b8af56208d71570063862187ed42249ca394e3fa8e48fe59826fde5626dd71722ff231a9c2430c879a36ca8ca4e7bfc0e3009f5bc2959f5b714
diff --git a/chromeos-languagepacks/handwriting-zh/handwriting-zh-20220203.ebuild b/chromeos-languagepacks/handwriting-zh/handwriting-zh-20220203.ebuild
deleted file mode 100644
index df8dae9..0000000
--- a/chromeos-languagepacks/handwriting-zh/handwriting-zh-20220203.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit dlc
-
-DESCRIPTION="Handwriting zh Language Pack for Chromium OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-# Clients of Language Packs (Handwriting) need to update this path when new
-# versions are available.
-SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-handwriting-zh-${PV}.tar.xz"
-
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="dlc ondevice_handwriting"
-REQUIRED_USE="dlc ondevice_handwriting"
-
-# DLC variables.
-# Allocate 4KB * 8750 = 35MB
-DLC_PREALLOC_BLOCKS="8750"
-
-S="${WORKDIR}"
-src_unpack() {
-	local archive="${SRC_URI##*/}"
-	unpack ${archive}
-}
-
-src_install() {
-	# This DLC is enabled only if ondevice handwriting is enabled.
-	if ! use ondevice_handwriting; then
-		return
-	fi
-
-	# Setup DLC paths. We don't need any subdirectory inside the DLC path.
-	into "$(dlc_add_path /)"
-	insinto "$(dlc_add_path /)"
-	exeinto "$(dlc_add_path /)"
-
-	# Install handwriting models for zh.
-	doins compact.fst.local latin_indy.tflite qrnn.recospec.local
-
-	# This command packages the files into a DLC.
-	dlc_src_install
-}
diff --git a/chromeos-languagepacks/metadata.xml b/chromeos-languagepacks/metadata.xml
deleted file mode 100644
index d436d04..0000000
--- a/chromeos-languagepacks/metadata.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The chromeos-languagepacks category contains Language Packs for ChromeOS.
-	</longdescription>
-</catmetadata>
\ No newline at end of file
diff --git a/chromeos-languagepacks/tts-es-us/Manifest b/chromeos-languagepacks/tts-es-us/Manifest
new file mode 100644
index 0000000..a8f5aff
--- /dev/null
+++ b/chromeos-languagepacks/tts-es-us/Manifest
@@ -0,0 +1 @@
+DIST languagepack-tts-es-us-37.tar.xz 7284388 BLAKE2B 7116da10375d9ea642d213d65cee757e461c2930e207025d551fb9377201565099ca446f2c513a0d7dcbd87c0cd8ecc32354176e05d5c13de61c31a5c0564f5b SHA512 f2715f7b6e33432e41c1591e6da2749d11cdf32ac53bae8e668587859a76c396285d776a346ab0a337903322939e36aac19c1ddc6589d4eb6d798c79ba79638e
diff --git a/chromeos-languagepacks/tts-es-us/tts-es-us-37.ebuild b/chromeos-languagepacks/tts-es-us/tts-es-us-37.ebuild
new file mode 100644
index 0000000..ee39f17
--- /dev/null
+++ b/chromeos-languagepacks/tts-es-us/tts-es-us-37.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dlc
+
+DESCRIPTION="TTS es-us Language Pack for Chromium OS"
+HOMEPAGE="https://www.chromium.org/chromium-os"
+SRC_URI="gs://chromeos-localmirror/distfiles/languagepack-tts-es-us-${PV}.tar.xz"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+IUSE="dlc"
+REQUIRED_USE="dlc"
+
+# ALlocate 1.5x the 4 KiB blocks needed for the initial version.
+DLC_PREALLOC_BLOCKS="2425"
+
+# Override S, as we store everything in the root directory of the archive.
+S="${WORKDIR}"
+
+src_install() {
+	# Setup DLC paths.
+	insinto "$(dlc_add_path /)"
+
+	doins voice.zvoice
+
+	dlc_src_install
+}
diff --git a/chromeos/OWNERS b/chromeos/OWNERS
deleted file mode 100644
index 42648f7..0000000
--- a/chromeos/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-set noparent
-include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/chromeos/binhost/host/OWNERS b/chromeos/binhost/host/OWNERS
index d707f8c..ac2cde9 100644
--- a/chromeos/binhost/host/OWNERS
+++ b/chromeos/binhost/host/OWNERS
@@ -5,3 +5,6 @@
 # TODO(b/217208150): it's unclear that we want to keep the following owner, but
 # # adding it lets us unblock the SDK builder.
 per-file sdk_version.conf = chromeos-ci-prod@chromeos-bot.iam.gserviceaccount.com
+# Allow the toolchain team to make changes to this file, since we sometimes need
+# to do manual updates for e.g., Rust rolls.
+per-file sdk_version.conf = file:/chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/chromeos/binhost/host/sdk_version.conf b/chromeos/binhost/host/sdk_version.conf
index 0f7c62f..5895dcf 100644
--- a/chromeos/binhost/host/sdk_version.conf
+++ b/chromeos/binhost/host/sdk_version.conf
@@ -1,3 +1,7 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
 # The last version of the sdk that we built & tested.
 SDK_LATEST_VERSION="105/17324.0.0/sdk/cros-sdk-17324.0.0"
 
diff --git a/chromeos/binhost/target/amd64-generic-POSTSUBMIT_BINHOST.conf b/chromeos/binhost/target/amd64-generic-POSTSUBMIT_BINHOST.conf
index 4c3761e..bbfd42c 100644
--- a/chromeos/binhost/target/amd64-generic-POSTSUBMIT_BINHOST.conf
+++ b/chromeos/binhost/target/amd64-generic-POSTSUBMIT_BINHOST.conf
@@ -1 +1 @@
-POSTSUBMIT_BINHOST="gs://chromeos-prebuilt/board/amd64-generic/postsubmit-R101-14541.0.0-31058-8820938503498392369/packages"
\ No newline at end of file
+POSTSUBMIT_BINHOST="gs://chromeos-prebuilt/board/amd64-generic/postsubmit-R106-15046.0.0-38547-8805859452640624161/packages"
\ No newline at end of file
diff --git a/chromeos/binhost/target/arm-generic-POSTSUBMIT_BINHOST.conf b/chromeos/binhost/target/arm-generic-POSTSUBMIT_BINHOST.conf
index 66c2faa..08b8099 100644
--- a/chromeos/binhost/target/arm-generic-POSTSUBMIT_BINHOST.conf
+++ b/chromeos/binhost/target/arm-generic-POSTSUBMIT_BINHOST.conf
@@ -1 +1 @@
-POSTSUBMIT_BINHOST="gs://chromeos-prebuilt/board/arm-generic/postsubmit-R101-14541.0.0-31058-8820938241892124049/packages"
\ No newline at end of file
+POSTSUBMIT_BINHOST="gs://chromeos-prebuilt/board/arm-generic/postsubmit-R106-15046.0.0-38547-8805859186823295425/packages"
\ No newline at end of file
diff --git a/chromeos/binhost/target/arm64-generic-POSTSUBMIT_BINHOST.conf b/chromeos/binhost/target/arm64-generic-POSTSUBMIT_BINHOST.conf
index 168a5fd..bbd8300 100644
--- a/chromeos/binhost/target/arm64-generic-POSTSUBMIT_BINHOST.conf
+++ b/chromeos/binhost/target/arm64-generic-POSTSUBMIT_BINHOST.conf
@@ -1 +1 @@
-POSTSUBMIT_BINHOST="gs://chromeos-prebuilt/board/arm64-generic/postsubmit-R101-14541.0.0-31058-8820938012597247025/packages"
\ No newline at end of file
+POSTSUBMIT_BINHOST="gs://chromeos-prebuilt/board/arm64-generic/postsubmit-R106-15046.0.0-38547-8805858955054256689/packages"
\ No newline at end of file
diff --git a/chromeos/binhost/target/tael-POSTSUBMIT_BINHOST.conf b/chromeos/binhost/target/tael-POSTSUBMIT_BINHOST.conf
index aabd647..c8de1d5 100644
--- a/chromeos/binhost/target/tael-POSTSUBMIT_BINHOST.conf
+++ b/chromeos/binhost/target/tael-POSTSUBMIT_BINHOST.conf
@@ -1 +1 @@
-POSTSUBMIT_BINHOST="gs://chromeos-prebuilt/board/tael/postsubmit-R101-14541.0.0-31058-8820936058520169265/packages"
\ No newline at end of file
+POSTSUBMIT_BINHOST="gs://chromeos-prebuilt/board/tael/postsubmit-R106-15046.0.0-38547-8805856701085842721/packages"
\ No newline at end of file
diff --git a/chromeos/binhost/target/tatl-POSTSUBMIT_BINHOST.conf b/chromeos/binhost/target/tatl-POSTSUBMIT_BINHOST.conf
index dbc5a97..438bc75 100644
--- a/chromeos/binhost/target/tatl-POSTSUBMIT_BINHOST.conf
+++ b/chromeos/binhost/target/tatl-POSTSUBMIT_BINHOST.conf
@@ -1 +1 @@
-POSTSUBMIT_BINHOST="gs://chromeos-prebuilt/board/tatl/postsubmit-R101-14541.0.0-31058-8820936042137459985/packages"
\ No newline at end of file
+POSTSUBMIT_BINHOST="gs://chromeos-prebuilt/board/tatl/postsubmit-R106-15046.0.0-38547-8805856684591524689/packages"
\ No newline at end of file
diff --git a/chromeos/config/OWNERS b/chromeos/config/OWNERS
index 1dccd4b..5f523bf 100644
--- a/chromeos/config/OWNERS
+++ b/chromeos/config/OWNERS
@@ -5,3 +5,6 @@
 per-file make.conf.amd64-host=chromeos-ci-prod@chromeos-bot.iam.gserviceaccount.com
 # ChromeOS release bot
 per-file chromeos_version.sh=chromeos-ci-release@chromeos-bot.iam.gserviceaccount.com
+# Allow the toolchain team to make changes to this file, since we sometimes need
+# to do manual updates for e.g., Rust rolls.
+per-file make.conf.amd64-host=file:/chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/chromeos/config/chromeos_version.sh b/chromeos/config/chromeos_version.sh
index bc6dab7..148b4d9 100755
--- a/chromeos/config/chromeos_version.sh
+++ b/chromeos/config/chromeos_version.sh
@@ -15,7 +15,7 @@
 if [ -z "${FLAGS_version}" ]; then
   # Release Build number.
   # Increment by 1 for every release build.
-  CHROMEOS_BUILD=14542
+  CHROMEOS_BUILD=15047
 
   # Release Branch number.
   # Increment by 1 for every release build on a branch.
@@ -31,7 +31,7 @@
   if [ ${CHROMEOS_OFFICIAL:-0} -ne 1 ]; then
     # For developer builds, overwrite CHROMEOS_PATCH with a date string
     # for use by auto-updater.
-    CHROMEOS_PATCH=$(date +%Y_%m_%d_%H%M)
+    CHROMEOS_PATCH="${CHROMEOS_PATCH}"-d$(date +%Y_%m_%d_%H%M%S)
   fi
 
   # Version string. Not indentied to appease bash.
diff --git a/chromeos/config/env/dev-libs/re2 b/chromeos/config/env/dev-libs/re2
new file mode 100644
index 0000000..ec2f53c
--- /dev/null
+++ b/chromeos/config/env/dev-libs/re2
@@ -0,0 +1,8 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# re2 is hot; optimize it for speed.
+cros_pre_src_configure_mark_as_hot() {
+	cros_optimize_package_for_speed
+}
diff --git a/chromeos/config/env/media-gfx/deqp-android11 b/chromeos/config/env/media-gfx/deqp-android11
new file mode 100644
index 0000000..407a37d
--- /dev/null
+++ b/chromeos/config/env/media-gfx/deqp-android11
@@ -0,0 +1,7 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+cros_pre_src_prepare_enable_cxx_exceptions() {
+	cros_enable_cxx_exceptions
+}
diff --git a/chromeos/config/env/sys-apps/hwids b/chromeos/config/env/sys-apps/hwids
deleted file mode 100644
index 6acea73..0000000
--- a/chromeos/config/env/sys-apps/hwids
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# Mask compressed database files as everything uses the uncompressed copies.
-hwids_mask="
-  /usr/share/misc/pci.ids.gz
-  /usr/share/misc/usb.ids.gz
-"
-
-PKG_INSTALL_MASK+=" ${hwids_mask}"
-INSTALL_MASK+=" ${hwids_mask}"
-unset hwids_mask
diff --git a/chromeos/config/make.conf.amd64-host b/chromeos/config/make.conf.amd64-host
index c65c06d..4020128 100644
--- a/chromeos/config/make.conf.amd64-host
+++ b/chromeos/config/make.conf.amd64-host
@@ -11,8 +11,8 @@
 # glibc ebuilds.
 PORTDIR_OVERLAY="
   /usr/local/portage/crossdev
-  /usr/local/portage/chromiumos
-  /usr/local/portage/eclass-overlay
+  /mnt/host/source/src/third_party/chromiumos-overlay
+  /mnt/host/source/src/third_party/eclass-overlay
 "
 
 # Where to store built packages.
@@ -20,7 +20,7 @@
 
 PORT_LOGDIR="/var/log/portage"
 
-source /usr/local/portage/chromiumos/chromeos/binhost/host/amd64-PREFLIGHT_BINHOST.conf
+source /mnt/host/source/src/third_party/chromiumos-overlay/chromeos/binhost/host/amd64-PREFLIGHT_BINHOST.conf
 FULL_BINHOST="gs://cos-prebuilt/105/17324.0.0/sdk"
 PORTAGE_BINHOST="$PREFLIGHT_BINHOST $FULL_BINHOST"
 
diff --git a/chromeos/config/make.conf.common b/chromeos/config/make.conf.common
index 4e14c69..643446a 100644
--- a/chromeos/config/make.conf.common
+++ b/chromeos/config/make.conf.common
@@ -9,16 +9,31 @@
 
 LDFLAGS="-Wl,-O2 -Wl,--as-needed ${LDFLAGS}"
 
-PORTDIR="/usr/local/portage/stable"
+PORTDIR="/mnt/host/source/src/third_party/portage-stable"
 
 # Adding packages to the @world set causes people more trouble than it's
 # worth in our setup -- we rarely have people add custom packages outside
 # of the ChromiumOS set.  You can use "--select" to override this.
 EMERGE_DEFAULT_OPTS="--oneshot --autounmask-backtrack=y --autounmask=n"
 
-# Use parallel bzip2 for portage if available
-PORTAGE_BZIP2_COMMAND="pbzip2"
-PORTAGE_BUNZIP2_COMMAND="pbunzip2 --ignore-trailing-garbage=1"
+# Compression settings for creating binpkgs.
+# NB: BINPKG_COMPRESS selects an algorithm, not a command.
+BINPKG_COMPRESS="zstd"
+BINPKG_COMPRESS_FLAGS="-3"
+
+# Command for compressing installed documentation, including man pages.
+# That means compression algorithm selection is restricted by whatever man-db
+# supports, and currently that is gzip/bzip2/xz/lzip.
+# We don't need high compression levels here as the amount of documentation
+# in total is not huge (<500 MB uncompressed), so a smallish & fast approach
+# works well enough.
+PORTAGE_COMPRESS="pigz"
+PORTAGE_COMPRESS_FLAGS="-3"
+
+# Use parallel bzip2 for portage whenever bzip2 is needed.
+# This is usually for decompressing source archives.
+PORTAGE_BZIP2_COMMAND="lbzip2 -z"
+PORTAGE_BUNZIP2_COMMAND="lbzip2 -d"
 
 FETCHCOMMAND_GS='/mnt/host/source/chromite/bin/gs_fetch_binpkg --boto "/home/${PORTAGE_USERNAME}/.boto" "\${URI}" "\${DISTDIR}/\${FILE}"'
 RESUMECOMMAND_GS="${FETCHCOMMAND_GS}"
diff --git a/chromeos/config/make.conf.generic-target b/chromeos/config/make.conf.generic-target
index d239d4d..2606fb6 100644
--- a/chromeos/config/make.conf.generic-target
+++ b/chromeos/config/make.conf.generic-target
@@ -29,8 +29,8 @@
 PORTAGE_WORKDIR_MODE="0755"
 
 PORTDIR_OVERLAY="
-  /usr/local/portage/chromiumos
-  /usr/local/portage/eclass-overlay
+  /mnt/host/source/src/third_party/chromiumos-overlay
+  /mnt/host/source/src/third_party/eclass-overlay
   ${BOARD_OVERLAY}
 "
 
@@ -83,5 +83,9 @@
 
 CROS_BASE_RUSTFLAGS="${BOARD_RUSTFLAGS}"
 
+# We maintain the list of SDK packages explicitly and update them in parallel.
+# Disable BDEPEND support when building for boards to speed things up.
+EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} --with-bdepends=n"
+
 # Allow the user to override or define additional settings.
 source make.conf.user
diff --git a/dev-cpp/OWNERS b/dev-cpp/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/dev-cpp/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20210324.2-r1.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20210324.2-r1.ebuild
deleted file mode 120000
index d2ab2e4..0000000
--- a/dev-cpp/abseil-cpp/abseil-cpp-20210324.2-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-abseil-cpp-20210324.2.ebuild
\ No newline at end of file
diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20210324.2.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20210324.2.ebuild
deleted file mode 100644
index d8eb840..0000000
--- a/dev-cpp/abseil-cpp/abseil-cpp-20210324.2.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8,9} )
-
-inherit cmake flag-o-matic python-any-r1 toolchain-funcs
-
-# yes, it needs SOURCE, not just installed one
-GTEST_COMMIT="aee0f9d9b5b87796ee8a0ab26b7587ec30e8858e"
-GTEST_FILE="gtest-1.10.0_p20200702.tar.gz"
-
-DESCRIPTION="Abseil Common Libraries (C++), LTS Branch"
-HOMEPAGE="https://abseil.io"
-SRC_URI="https://github.com/abseil/abseil-cpp/archive/${PV}.tar.gz -> ${P}.tar.gz
-	test? ( https://github.com/google/googletest/archive/${GTEST_COMMIT}.tar.gz -> ${GTEST_FILE} )"
-
-LICENSE="
-	Apache-2.0
-	test? ( BSD )
-"
-SLOT="0/${PV%%.*}"
-KEYWORDS="*"
-IUSE="test"
-
-DEPEND="!=dev-cpp/absl-20210324.1"
-RDEPEND="${DEPEND}"
-
-BDEPEND="
-	${PYTHON_DEPS}
-	test? ( sys-libs/timezone-data )
-"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-20200923-arm_no_crypto.patch"
-)
-
-ABSLDIR="${WORKDIR}/${P}_build/absl"
-
-src_prepare() {
-	# Workaround to avoid conflict with other packages: see also b/184603259
-	grep -l -R -Z "absl::" . | xargs -0 sed -i 's/absl::/absl::ABSL_OPTION_INLINE_NAMESPACE_NAME::/g'
-
-	cmake_src_prepare
-
-	# un-hardcode abseil compiler flags
-	sed -i \
-		-e '/"-maes",/d' \
-		-e '/"-msse4.1",/d' \
-		-e '/"-mfpu=neon"/d' \
-		-e '/"-march=armv8-a+crypto"/d' \
-		absl/copts/copts.py || die
-
-	# now generate cmake files
-	python_fix_shebang absl/copts/generate_copts.py
-	absl/copts/generate_copts.py || die
-
-	if use test; then
-		sed -i 's/-Werror//g' \
-			"${WORKDIR}/googletest-${GTEST_COMMIT}"/googletest/cmake/internal_utils.cmake || die
-	fi
-}
-
-src_configure() {
-	if use arm || use arm64; then
-		# bug #778926
-		if [[ $($(tc-getCXX) ${CXXFLAGS} -E -P - <<<$'#if defined(__ARM_FEATURE_CRYPTO)\nHAVE_ARM_FEATURE_CRYPTO\n#endif') != *HAVE_ARM_FEATURE_CRYPTO* ]]; then
-			append-cxxflags -DABSL_ARCH_ARM_NO_CRYPTO
-		fi
-	fi
-
-	local mycmakeargs=(
-		-DABSL_ENABLE_INSTALL=TRUE
-		-DABSL_LOCAL_GOOGLETEST_DIR="${WORKDIR}/googletest-${GTEST_COMMIT}"
-		-DCMAKE_CXX_STANDARD=17
-		$(usex test -DBUILD_TESTING=ON '') #intentional usex
-	)
-	cmake_src_configure
-}
-
-src_compile() {
-	cmake_src_compile
-
-	local libs=( "${ABSLDIR}"/*/libabsl_*.so )
-	[[ ${#libs[@]} -le 1 ]] && die
-	local linklibs="$(echo "${libs[*]}" | sed -E -e 's|[^ ]*/lib([^ ]*)\.so|-l\1|g')"
-	sed -e "s/@LIBS@/${linklibs}/g" -e "s/@PV@/${PV}/g" \
-		"${FILESDIR}/absl.pc.in" > absl.pc || die
-}
-
-src_install() {
-	cmake_src_install
-
-	insinto /usr/$(get_libdir)/pkgconfig
-	doins absl.pc
-}
diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20211102.0-r4.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20211102.0-r4.ebuild
new file mode 100644
index 0000000..b72ce4b
--- /dev/null
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20211102.0-r4.ebuild
@@ -0,0 +1,95 @@
+# Copyright 2020-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cmake python-any-r1
+
+# yes, it needs SOURCE, not just installed one
+# and no, 1.11.0 is not enough
+GTEST_COMMIT="1b18723e874b256c1e39378c6774a90701d70f7a"
+GTEST_FILE="gtest-${GTEST_COMMIT}.tar.gz"
+
+DESCRIPTION="Abseil Common Libraries (C++), LTS Branch"
+HOMEPAGE="https://abseil.io"
+SRC_URI="https://github.com/abseil/abseil-cpp/archive/${PV}.tar.gz -> ${P}.tar.gz
+	test? ( https://github.com/google/googletest/archive/${GTEST_COMMIT}.tar.gz -> ${GTEST_FILE} )"
+
+LICENSE="
+	Apache-2.0
+	test? ( BSD )
+"
+SLOT="0/${PVR}"
+KEYWORDS="*"
+IUSE="test"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+	!<dev-cpp/absl-${PV}
+"
+
+BDEPEND="
+	${PYTHON_DEPS}
+	test? ( sys-libs/timezone-data )
+"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-20211102.0-fix-cuda-nvcc-build.patch"
+	"${FILESDIR}/${PN}-20211102.0-fix-pkgconfig.patch"
+	"${FILESDIR}/use-std-optional.patch"
+)
+
+ABSLDIR="${WORKDIR}/${P}_build/absl"
+
+src_prepare() {
+	cmake_src_prepare
+
+	# un-hardcode abseil compiler flags
+	sed -i \
+		-e '/"-maes",/d' \
+		-e '/"-msse4.1",/d' \
+		-e '/"-mfpu=neon"/d' \
+		-e '/"-march=armv8-a+crypto"/d' \
+		absl/copts/copts.py || die
+
+	# now generate cmake files
+	python_fix_shebang absl/copts/generate_copts.py
+	absl/copts/generate_copts.py || die
+
+	if use test; then
+		sed -i 's/-Werror//g' \
+			"${WORKDIR}/googletest-${GTEST_COMMIT}"/googletest/cmake/internal_utils.cmake || die
+	fi
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DABSL_ENABLE_INSTALL=TRUE
+		-DABSL_LOCAL_GOOGLETEST_DIR="${WORKDIR}/googletest-${GTEST_COMMIT}"
+		-DCMAKE_CXX_STANDARD=17
+		-DABSL_PROPAGATE_CXX_STD=TRUE
+		$(usex test -DBUILD_TESTING=ON '') #intentional usex
+	)
+	cmake_src_configure
+}
+
+src_compile() {
+	cmake_src_compile
+
+	local libs=( "${ABSLDIR}"/*/libabsl_*.so )
+	[[ ${#libs[@]} -le 1 ]] && die
+	local linklibs="$(echo "${libs[*]}" | sed -E -e 's|[^ ]*/lib([^ ]*)\.so|-l\1|g')"
+	sed -e "s/@LIBS@/${linklibs}/g" -e "s/@PV@/${PV}/g" \
+		"${FILESDIR}/absl.pc.in" > absl.pc || die
+}
+
+src_install() {
+	cmake_src_install
+
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins absl.pc
+}
diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-20200923-arm_no_crypto.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-20200923-arm_no_crypto.patch
deleted file mode 100644
index 762476a..0000000
--- a/dev-cpp/abseil-cpp/files/abseil-cpp-20200923-arm_no_crypto.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Don't assume all ARM CPUs have crypto extensions.
-
-Requires an accompanying change in the ebuild to disable crypto
-extensions (by passing -DABSL_ARCH_ARM_NO_CRYPTO). This could
-be done by the build system instead in future.
-
-https://bugs.gentoo.org/778926
---- /absl/random/internal/randen_hwaes.cc
-+++ /absl/random/internal/randen_hwaes.cc
-@@ -50,8 +50,11 @@
-     (defined(__ARM_NEON) && defined(__ARM_FEATURE_CRYPTO))
- #define ABSL_RANDEN_HWAES_IMPL 1
- 
--#elif ABSL_RANDOM_INTERNAL_AES_DISPATCH && !defined(__APPLE__) && \
--    (defined(__GNUC__) && __GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ > 9)
-+// When ABSL_ARCH_ARM_NO_CRYPTO is defined, then ARM CPU without
-+// crypto extension is assumed.
-+#elif !defined(ABSL_ARCH_ARM_NO_CRYPTO) && \
-+    (ABSL_RANDOM_INTERNAL_AES_DISPATCH && !defined(__APPLE__) && \
-+    (defined(__GNUC__) && __GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ > 9))
- // ...or, on GCC, we can use an ASM directive to
- // instruct the assember to allow crypto instructions.
- #define ABSL_RANDEN_HWAES_IMPL 1
diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-20210324.1-glibc-2.34.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-20210324.1-glibc-2.34.patch
deleted file mode 100644
index 99b868d3..0000000
--- a/dev-cpp/abseil-cpp/files/abseil-cpp-20210324.1-glibc-2.34.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-https://bugs.gentoo.org/823990
-https://github.com/abseil/abseil-cpp/commit/a9831f1cbf93fb18dd951453635f488037454ce9.patch
---- a/absl/debugging/failure_signal_handler.cc
-+++ b/absl/debugging/failure_signal_handler.cc
-@@ -136,7 +136,8 @@ static bool SetupAlternateStackOnce() {
- #else
-   const size_t page_mask = sysconf(_SC_PAGESIZE) - 1;
- #endif
--  size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
-+  size_t stack_size =
-+      (std::max<size_t>(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
- #if defined(ABSL_HAVE_ADDRESS_SANITIZER) || \
-     defined(ABSL_HAVE_MEMORY_SANITIZER) || defined(ABSL_HAVE_THREAD_SANITIZER)
-   // Account for sanitizer instrumentation requiring additional stack space.
diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-fix-cuda-nvcc-build.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-fix-cuda-nvcc-build.patch
new file mode 100644
index 0000000..45a9fc5
--- /dev/null
+++ b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-fix-cuda-nvcc-build.patch
@@ -0,0 +1,58 @@
+Fixes compile failure with CUDA nvcc
+https://github.com/abseil/abseil-cpp/commit/5202173ca7671ebe241cb4d9447dc4b1f2d3ec10
+https://github.com/tensorflow/tensorflow/commit/e45ca6adf2458d4759e5c40f1f27bbf9505a3c79#diff-b79a9a542260a33fd122a5d1cdb923e08e16cbe321d69c014a9acdde34052b3dR235
+
+From 5202173ca7671ebe241cb4d9447dc4b1f2d3ec10 Mon Sep 17 00:00:00 2001
+From: Abseil Team <absl-team@google.com>
+Date: Tue, 1 Feb 2022 13:52:49 -0800
+Subject: [PATCH] Export of internal Abseil changes
+
+--
+121db1a08321eaa3006726cc32b459cf17880e35 by Derek Mauro <dmauro@google.com>:
+
+Internal change
+
+PiperOrigin-RevId: 425707805
+
+--
+0dec484389bbb75aae0a412146e3564bf833a739 by Derek Mauro <dmauro@google.com>:
+
+macOS CI: Avoid depending on external sites like GitHub by prepopulating
+dependencies and setting --distdir
+
+Our Linux CI does this, but for some reason was never enabled on macOS
+
+PiperOrigin-RevId: 425668638
+GitOrigin-RevId: 121db1a08321eaa3006726cc32b459cf17880e35
+Change-Id: Id51645df90b6a0808dd5b18eb636a10f798e24ea
+---
+ absl/container/internal/inlined_vector.h |  8 ++++----
+ ci/macos_xcode_bazel.sh                  | 10 +++++++++-
+ 2 files changed, 13 insertions(+), 5 deletions(-)
+
+diff --git a/absl/container/internal/inlined_vector.h b/absl/container/internal/inlined_vector.h
+index cd34a413a..2baf26f3e 100644
+--- a/absl/container/internal/inlined_vector.h
++++ b/absl/container/internal/inlined_vector.h
+@@ -925,8 +925,8 @@ auto Storage<T, N, A>::Swap(Storage* other_storage_ptr) -> void {
+                            inlined_ptr->GetSize());
+     }
+     ABSL_INTERNAL_CATCH_ANY {
+-      allocated_ptr->SetAllocation(
+-          {allocated_storage_view.data, allocated_storage_view.capacity});
++      allocated_ptr->SetAllocation(Allocation<A>{
++          allocated_storage_view.data, allocated_storage_view.capacity});
+       ABSL_INTERNAL_RETHROW;
+     }
+ 
+@@ -934,8 +934,8 @@ auto Storage<T, N, A>::Swap(Storage* other_storage_ptr) -> void {
+                                        inlined_ptr->GetInlinedData(),
+                                        inlined_ptr->GetSize());
+ 
+-    inlined_ptr->SetAllocation(
+-        {allocated_storage_view.data, allocated_storage_view.capacity});
++    inlined_ptr->SetAllocation(Allocation<A>{allocated_storage_view.data,
++                                             allocated_storage_view.capacity});
+   }
+ 
+   swap(GetSizeAndIsAllocated(), other_storage_ptr->GetSizeAndIsAllocated());
diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-fix-pkgconfig.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-fix-pkgconfig.patch
new file mode 100644
index 0000000..7e8fb58
--- /dev/null
+++ b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-fix-pkgconfig.patch
@@ -0,0 +1,52 @@
+Only include Cflags for absl_config since it is required by all the sub
+libraries. This prevents the resulting CFLAGS from being >800 entries
+which can lead to flags being truncated.
+
+Author: Allen Webb <allenwebb@google.com>
+diff --git a/CMake/AbseilHelpers.cmake b/CMake/AbseilHelpers.cmake
+index f2ce5675..3767a3ad 100644
+--- a/CMake/AbseilHelpers.cmake
++++ b/CMake/AbseilHelpers.cmake
+@@ -158,16 +158,23 @@ function(absl_cc_library)
+           set(PC_DEPS "${PC_DEPS} absl_${CMAKE_MATCH_1} = ${PC_VERSION}")
+         endif()
+       endforeach()
+-      foreach(cflag ${ABSL_CC_LIB_COPTS})
+-        if(${cflag} MATCHES "^(-Wno|/wd)")
+-          # These flags are needed to suppress warnings that might fire in our headers.
+-          set(PC_CFLAGS "${PC_CFLAGS} ${cflag}")
+-        elseif(${cflag} MATCHES "^(-W|/w[1234eo])")
+-          # Don't impose our warnings on others.
+-        else()
+-          set(PC_CFLAGS "${PC_CFLAGS} ${cflag}")
+-        endif()
+-      endforeach()
++      # Only include CFLAGS once in absl_config since it is required by everything else.
++      if(_NAME STREQUAL "conf")
++        set(PC_CFLAGS "${PC_CFLAGS} ${cflag}")
++        foreach(cflag ${ABSL_CC_LIB_COPTS})
++          if(${cflag} MATCHES "^(-Wno|/wd)")
++            # These flags are needed to suppress warnings that might fire in our headers.
++            set(PC_CFLAGS "${PC_CFLAGS} ${cflag}")
++          elseif(${cflag} MATCHES "^(-W|/w[1234eo])")
++            # Don't impose our warnings on others.
++          else()
++            set(PC_CFLAGS "${PC_CFLAGS} ${cflag}")
++          endif()
++        endforeach()
++        set(PC_CFLAGS "${PC_CFLAGS}\n")
++      else()
++        set(PC_CFLAGS "")
++      endif()
+       FILE(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/lib/pkgconfig/absl_${_NAME}.pc" CONTENT "\
+ prefix=${CMAKE_INSTALL_PREFIX}\n\
+ exec_prefix=\${prefix}\n\
+@@ -180,7 +187,7 @@ URL: https://abseil.io/\n\
+ Version: ${PC_VERSION}\n\
+ Requires:${PC_DEPS}\n\
+ Libs: -L\${libdir} $<JOIN:${ABSL_CC_LIB_LINKOPTS}, > $<$<NOT:$<BOOL:${ABSL_CC_LIB_IS_INTERFACE}>>:-labsl_${_NAME}>\n\
+-Cflags: -I\${includedir}${PC_CFLAGS}\n")
++${PC_CFLAGS}")
+       INSTALL(FILES "${CMAKE_BINARY_DIR}/lib/pkgconfig/absl_${_NAME}.pc"
+               DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+     endif()
diff --git a/dev-cpp/abseil-cpp/files/use-std-optional.patch b/dev-cpp/abseil-cpp/files/use-std-optional.patch
new file mode 100644
index 0000000..6e121fd
--- /dev/null
+++ b/dev-cpp/abseil-cpp/files/use-std-optional.patch
@@ -0,0 +1,11 @@
+--- /absl/base/options.h	2021-06-30 10:39:27.504944873 +0900
++++ /absl/base/options.h	2021-06-30 10:40:00.293122622 +0900
+@@ -127,7 +127,7 @@
+ // absl::optional is a typedef of std::optional, use the feature macro
+ // ABSL_USES_STD_OPTIONAL.
+ 
+-#define ABSL_OPTION_USE_STD_OPTIONAL 2
++#define ABSL_OPTION_USE_STD_OPTIONAL 1
+ 
+ 
+ // ABSL_OPTION_USE_STD_STRING_VIEW
diff --git a/dev-cpp/absl/Manifest b/dev-cpp/absl/Manifest
deleted file mode 100644
index 91748cb..0000000
--- a/dev-cpp/absl/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST absl-20210324.1.tar.gz 1774134 BLAKE2B 8dd42b3d60a38995eeeeb72ba8aaa367c3caff118d88069dba9df24b155318ffd6c4e289c263346899bf7fc0bf6e8332380407a8a93c77f8cade0e8e74743b84 SHA512 fe593ed98eeea5461abca95ebb9dd3f7e8eedaa15e009f776945fdbb6ed489c61966611c1c72558d2ccdd541b952a345e51885d522ff29542cbcc837cf565866
diff --git a/dev-cpp/absl/absl-20210324.1-r1.ebuild b/dev-cpp/absl/absl-20210324.1-r1.ebuild
deleted file mode 120000
index 3dfa0ff..0000000
--- a/dev-cpp/absl/absl-20210324.1-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-absl-20210324.1.ebuild
\ No newline at end of file
diff --git a/dev-cpp/absl/absl-20210324.1.ebuild b/dev-cpp/absl/absl-20210324.1.ebuild
deleted file mode 100644
index 7bd358e..0000000
--- a/dev-cpp/absl/absl-20210324.1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils toolchain-funcs
-
-DESCRIPTION="Abseil - C++ Common Libraries"
-HOMEPAGE="https://abseil.io"
-SRC_URI="https://github.com/abseil/abseil-cpp/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-DEPEND=""
-
-S="${WORKDIR}/abseil-cpp-${PV}"
-ABSLDIR="${WORKDIR}/${P}_build/absl"
-
-src_prepare() {
-	# Workaround to avoid conflict with other packages: see also b/184603259
-	grep -l -R -Z "absl::" . | xargs -0 sed -i 's/absl::/absl::ABSL_OPTION_INLINE_NAMESPACE_NAME::/g'
-	epatch "${FILESDIR}"/use-std-optional.patch
-	default
-}
-
-src_configure() {
-	local mycmakeargs=(
-		-DBUILD_SHARED_LIBS=on
-		-DCMAKE_CXX_STANDARD=17
-	)
-
-	cmake-utils_src_configure
-}
-
-src_compile() {
-	cmake-utils_src_compile
-
-	local libs=( "${ABSLDIR}"/*/libabsl_*.so )
-	[[ ${#libs[@]} -le 1 ]] && die
-	local linklibs="$(echo "${libs[*]}" | sed -E -e 's|[^ ]*/lib([^ ]*)\.so|-l\1|g')"
-	sed -e "s/@LIBS@/${linklibs}/g" "${FILESDIR}/absl.pc.in" > absl.pc || die
-}
-
-src_install() {
-	cmake-utils_src_install
-
-	insinto /usr/$(get_libdir)/pkgconfig
-	doins absl.pc
-}
diff --git a/dev-cpp/absl/files/absl.pc.in b/dev-cpp/absl/files/absl.pc.in
deleted file mode 100644
index 3cf2744f..0000000
--- a/dev-cpp/absl/files/absl.pc.in
+++ /dev/null
@@ -1,4 +0,0 @@
-Name: absl
-Description: Abseil
-Version: 20200923
-Libs: @LIBS@
diff --git a/dev-cpp/absl/files/use-std-optional.patch b/dev-cpp/absl/files/use-std-optional.patch
deleted file mode 100644
index 7bdebb6..0000000
--- a/dev-cpp/absl/files/use-std-optional.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- absl/base/options.h	2021-06-30 10:39:27.504944873 +0900
-+++ absl/base/options.h	2021-06-30 10:40:00.293122622 +0900
-@@ -127,7 +127,7 @@
- // absl::optional is a typedef of std::optional, use the feature macro
- // ABSL_USES_STD_OPTIONAL.
- 
--#define ABSL_OPTION_USE_STD_OPTIONAL 2
-+#define ABSL_OPTION_USE_STD_OPTIONAL 1
- 
- 
- // ABSL_OPTION_USE_STD_STRING_VIEW
diff --git a/dev-cpp/benchmark/metadata.xml b/dev-cpp/benchmark/metadata.xml
index ac75eea..353d3ae 100644
--- a/dev-cpp/benchmark/metadata.xml
+++ b/dev-cpp/benchmark/metadata.xml
@@ -7,7 +7,7 @@
 	</maintainer>
 	<upstream>
 		<bugs-to>https://github.com/google/benchmark/issues</bugs-to>
-		<doc lang="en">https://github.com/google/benchmark/tree/master/docs/</doc>
+		<doc lang="en">https://github.com/google/benchmark/tree/HEAD/docs/</doc>
 		<remote-id type="github">google/benchmark</remote-id>
 	</upstream>
 </pkgmetadata>
diff --git a/dev-cpp/gtest/metadata.xml b/dev-cpp/gtest/metadata.xml
index f40cfed..2cc508a 100644
--- a/dev-cpp/gtest/metadata.xml
+++ b/dev-cpp/gtest/metadata.xml
@@ -10,7 +10,7 @@
 		<name>Proxy Maintainers</name>
 	</maintainer>
 	<upstream>
-		<doc lang="en">https://github.com/google/googletest/tree/master/googletest/docs</doc>
+		<doc lang="en">https://github.com/google/googletest/tree/HEAD/googletest/docs</doc>
 		<remote-id type="github">google/googletest</remote-id>
 	</upstream>
 </pkgmetadata>
diff --git a/dev-cpp/metadata.xml b/dev-cpp/metadata.xml
deleted file mode 100644
index 643f761..0000000
--- a/dev-cpp/metadata.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The dev-cpp category contains libraries and utilities relevant to the
-		c++ programming language.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie dev-cpp enthält Bibliotheken und Werkzeuge für die 
-		Programmiersprache C++.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría dev-cpp contiene librerias y utilidades referentes al
-		lenguaje de programación C++.
-	</longdescription>
-	<longdescription lang="ja">
-		dev-cpp カテゴリーにはC++プログラミング言語に関連したライブラリーと
-		ユーティリティが含まれます。
-	</longdescription>
-	<longdescription lang="nl">
-		De dev-cpp categorie bevat bibliotheken en hulpmiddelen voor het gebruik
-		van de programmeertaal C++.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm dev-cpp chứa các thư viện và tiện ích liên quan
-		đến ngôn ngữ lập trình C++.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria dev-cpp contiene librerie e utilità per illinguaggio C++.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria dev-cpp contém bibliotecas e utilitários para a
-		linguagem de programação C++.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria dev-cpp zawiera biblioteki i narzędzia związane z językiem
-		programowania c++.
-	</longdescription>
-</catmetadata>
-
diff --git a/dev-db/metadata.xml b/dev-db/metadata.xml
deleted file mode 100644
index 7ef0dd9..0000000
--- a/dev-db/metadata.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The dev-db category contains libraries and utilities for database
-		related programming.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie dev-db enhält Bibliotheken und Werkzeuge für die
-		Datenbank-Programmierung.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría dev-db contiene librerias y utilidades para programación
-		referente a bases de datos.
-	</longdescription>
-	<longdescription lang="ja">
-		dev-dbカテゴリーにはデータベース・プログラミングに関連したライブラリーと
-		ユーティリティが含まれます。
-	</longdescription>
-	<longdescription lang="nl">
-		De dev-db categorie bevat bibliotheken en hulpmiddelen voor het gebruik
-		van verschillende database-programmeertalen.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm dev-db chứa các thư viện và tiện ích liên quan
-		đến Cơ sở dữ liệu.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria dev-db contiene librerie ed utilità per la programmazione di basi di dati.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria dev-db contém bibliotecas e utilitários para a
-		programação relacionada a bancos de dados.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria dev-db zawiera biblioteki i narzędzia związane z
-		programowaniem związanym z bazami danych.
-	</longdescription>
-</catmetadata>
-
diff --git a/dev-embedded/OWNERS b/dev-embedded/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/dev-embedded/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/dev-embedded/binman/binman-0.0.1-r6.ebuild b/dev-embedded/binman/binman-0.0.1-r6.ebuild
deleted file mode 100644
index cd80f9d..0000000
--- a/dev-embedded/binman/binman-0.0.1-r6.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="39ce6d27ad29fd324793a8d0c7db8ae712cc027c"
-CROS_WORKON_TREE="16384d991c25985ca4c0345c6b9fb7df570ff40c"
-CROS_WORKON_PROJECT="chromiumos/third_party/u-boot"
-CROS_WORKON_LOCALNAME="u-boot/files"
-CROS_WORKON_SUBTREE="tools/binman"
-
-PYTHON_COMPAT=( python3_6 python3_7 python3_8 )
-
-inherit cros-workon distutils-r1
-
-DESCRIPTION="Binman tool (from U-Boot) for creating / adjusting firmware images"
-HOMEPAGE="https://www.denx.de/wiki/U-Boot"
-
-LICENSE="GPL-2"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
-
-BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-RDEPEND="
-	dev-embedded/dtoc
-	dev-vcs/patman
-"
-
-src_unpack() {
-	cros-workon_src_unpack
-
-	S+=/tools/binman
-}
diff --git a/dev-embedded/binman/binman-0.0.1-r8.ebuild b/dev-embedded/binman/binman-0.0.1-r8.ebuild
new file mode 100644
index 0000000..1df422d
--- /dev/null
+++ b/dev-embedded/binman/binman-0.0.1-r8.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="d637294e264adfeb29f390dfc393106fd4d41b17"
+CROS_WORKON_TREE="41d467c36587f7a865d87ea4817675a0aa4a9163"
+CROS_WORKON_PROJECT="chromiumos/third_party/u-boot"
+CROS_WORKON_LOCALNAME="u-boot/files"
+CROS_WORKON_SUBTREE="tools/binman"
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-workon distutils-r1
+
+DESCRIPTION="Binman tool (from U-Boot) for creating / adjusting firmware images"
+HOMEPAGE="https://www.denx.de/wiki/U-Boot"
+
+LICENSE="GPL-2"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="
+	dev-embedded/dtoc
+	dev-vcs/patman
+"
+
+src_unpack() {
+	cros-workon_src_unpack
+
+	S+=/tools/binman
+}
diff --git a/dev-embedded/binman/binman-9999.ebuild b/dev-embedded/binman/binman-9999.ebuild
index 0e5bd4e..ad4938e 100644
--- a/dev-embedded/binman/binman-9999.ebuild
+++ b/dev-embedded/binman/binman-9999.ebuild
@@ -8,7 +8,7 @@
 CROS_WORKON_LOCALNAME="u-boot/files"
 CROS_WORKON_SUBTREE="tools/binman"
 
-PYTHON_COMPAT=( python3_6 python3_7 python3_8 )
+PYTHON_COMPAT=( python3_{6..9} )
 
 inherit cros-workon distutils-r1
 
diff --git a/dev-embedded/dtoc/dtoc-0.0.1-r3.ebuild b/dev-embedded/dtoc/dtoc-0.0.1-r3.ebuild
deleted file mode 100644
index 22d60bc..0000000
--- a/dev-embedded/dtoc/dtoc-0.0.1-r3.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="ff8cb34d79384524ed81027f7d07a31f7405c27d"
-CROS_WORKON_TREE="b9d094a27545777931d3af534417c065aa9d9985"
-CROS_WORKON_PROJECT="chromiumos/third_party/u-boot"
-CROS_WORKON_LOCALNAME="u-boot/files"
-CROS_WORKON_SUBTREE="tools/dtoc"
-
-PYTHON_COMPAT=( python3_6 python3_7 python3_8 )
-
-inherit cros-workon distutils-r1
-
-DESCRIPTION="Dtoc tool (from U-Boot) for converting devicetree files to C"
-HOMEPAGE="https://www.denx.de/wiki/U-Boot"
-
-LICENSE="GPL-2"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
-
-BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-RDEPEND="dev-vcs/patman"
-
-src_unpack() {
-	cros-workon_src_unpack
-
-	S+=/tools/dtoc
-}
diff --git a/dev-embedded/dtoc/dtoc-0.0.1-r5.ebuild b/dev-embedded/dtoc/dtoc-0.0.1-r5.ebuild
new file mode 100644
index 0000000..20736b3
--- /dev/null
+++ b/dev-embedded/dtoc/dtoc-0.0.1-r5.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="d637294e264adfeb29f390dfc393106fd4d41b17"
+CROS_WORKON_TREE="5ea09cc328ef299f1d252026d4ea9982e53dd496"
+CROS_WORKON_PROJECT="chromiumos/third_party/u-boot"
+CROS_WORKON_LOCALNAME="u-boot/files"
+CROS_WORKON_SUBTREE="tools/dtoc"
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-workon distutils-r1
+
+DESCRIPTION="Dtoc tool (from U-Boot) for converting devicetree files to C"
+HOMEPAGE="https://www.denx.de/wiki/U-Boot"
+
+LICENSE="GPL-2"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-vcs/patman"
+
+src_unpack() {
+	cros-workon_src_unpack
+
+	S+=/tools/dtoc
+}
diff --git a/dev-embedded/dtoc/dtoc-9999.ebuild b/dev-embedded/dtoc/dtoc-9999.ebuild
index c76e041..3b06a90 100644
--- a/dev-embedded/dtoc/dtoc-9999.ebuild
+++ b/dev-embedded/dtoc/dtoc-9999.ebuild
@@ -8,7 +8,7 @@
 CROS_WORKON_LOCALNAME="u-boot/files"
 CROS_WORKON_SUBTREE="tools/dtoc"
 
-PYTHON_COMPAT=( python3_6 python3_7 python3_8 )
+PYTHON_COMPAT=( python3_{6..9} )
 
 inherit cros-workon distutils-r1
 
diff --git a/dev-embedded/hps-sdk/Manifest b/dev-embedded/hps-sdk/Manifest
index 8acebe8..ce0c3e8 100644
--- a/dev-embedded/hps-sdk/Manifest
+++ b/dev-embedded/hps-sdk/Manifest
@@ -1,4 +1,7 @@
-DIST cargo-1.57.0-x86_64-unknown-linux-gnu.tar.xz 6577964 BLAKE2B c1bd5ddb72b38b397d49c9145df8d0bc62a1252e47d8f7acf30d7acfef5279939a1f0718c53e63e61ab2fd3d0dda2faa7f3ca4b515ea481fd8278f784bc7f562 SHA512 ca84cfc9f0d52443aa41da1e18fe013d1c0412882e061b391d80b6a2fcc3c6858c923ee2dd53174c60c845fbd26523b62a9e1279b888bdc3c409702754d94557
-DIST rust-std-1.57.0-x86_64-unknown-linux-gnu.tar.xz 26072452 BLAKE2B a597ac6039bf69cf083755637c865d3e0429938491b9084376b49117d1bcadb888c7f3cfcec56d791b892d566e0b454cecede2188655d3797ae6c1881572c8e4 SHA512 1257ab3648d6569c827096253b60075b32ac3529e42fc68220cd0b83cecc2fda1a8187c716f81556069cd931d4a79cc4f8b7f7ea89cb8f0d1f244b41f0d4a15c
-DIST rustc-1.57.0-x86_64-unknown-linux-gnu.tar.xz 56556820 BLAKE2B d07484d8c789cb1f2042bee99435e197a4bb21b7733f809ff2450234754761321e2ec8f2aed19809b2dd5e684b81295e2fc6938185efc59b66806a201f74dadc SHA512 dca0cf813d42bec4f0b5395c7bc1e0f0049d987247120dcbc87b5234ae32178e1b95b5ae955ec99125ab9e88e8c60d2665becd971c43b30a25ef2c63fc6de1c1
-DIST rustc-1.58.1-src.tar.gz 183834489 BLAKE2B ecc926726ac323cfadd72551ec6df7e435d1d4d6e57f4612d0959f3125182fcf98a4cd70fd25d09781bac22b9857a3a6629a97c7f902d71c345fc9c38dbaa21a SHA512 556de73500bb66796e1d6ec063f26d60e7fe03d496e0783b3b92b54d1aea8354999a6eff325a68eabdaa61cf2b356168768686bfc2ccb48766308490f9c4d945
+DIST cargo-1.59.0-x86_64-unknown-linux-gnu.tar.xz 6401340 BLAKE2B 63c5ed8b361133e4693b795acc676a10f65800a4a3041dea3cd378a8f42c6fda344496e0c2bb4677cc32812e0f1b3eb3273527442f3e52994aff8cb70faf8e1d SHA512 38f0d18e52ac7a273b4986f11dde911e4f5159ffad54c0f7eb45459c977b4132f4ed8601d2de120aafa87d27f2b2de8dadc640d43e493f99fe3aab44e1fd92b0
+DIST newlib-4.1.0.tar.gz 18648429 BLAKE2B c4d4d734bceeacf05b75d450d4316392d0000266812f98f99cd3f9f0926ac9848e1dc145361827d1d6951edfe5f109923c982d9f284f927ffc5fd5e5edaf8be6 SHA512 6a24b64bb8136e4cd9d21b8720a36f87a34397fd952520af66903e183455c5cf19bb0ee4607c12a05d139c6c59382263383cb62c461a839f969d23d3bc4b1d34
+DIST riscv-binutils-gdb-f35674005e609660f5f45005a9e095541ca4c5fe.tar.gz 61443261 BLAKE2B c46dc3d197330d94ca5474c3bfb7cf01be03672055e1efc56876434dd44b7f90bcf8008c9c9fee59a4a7dfac1882dbad94a8fa1420fb2023be3ea0078661ef5d SHA512 cdb5c3c8322a408dc6bfb19af9044f0ebbff6996ebd52efb8621b685a24d309e36583666234617b39a13858e3292b53035ac3173b048edb34a447f4dcdd98b33
+DIST riscv-gcc-03cb20e5433cd8e65af6a1a6baaf3fe4c72785f6.tar.gz 118715295 BLAKE2B 5d7c1a655696ef84e372099ac4aa7223cde6fdb78d9876d485aa954d9431f5f93e25a1746260e4bab70a0d2de369fbd40e85d331670cc50d228bab211dafd4b0 SHA512 816e452765ca46cb0e440068fdad1bc8a7efcf58ba78ff8cc5f5c4af8364df91803bea8737d4985f635b29f3ec8ccfa610a08d7b7ff208af6c41029d753fa02b
+DIST rust-std-1.59.0-x86_64-unknown-linux-gnu.tar.xz 26960876 BLAKE2B e2de1591bc6081b71943a2008df628809c0d7dfbce98c3119afcf51157b48f0dd3bf446a3d5a1727831da4c80f164c99ceee4ae11aa1149f7314dc74e7ebd4ff SHA512 e69bd90556f2f2aa0ca3a4f1b9aa53f48632851bdac074f4678f980be23cb039427c284d440e6d9a09035a12ece0193fbca2d308a2644e629c775809d9964586
+DIST rustc-1.59.0-x86_64-unknown-linux-gnu.tar.xz 56368640 BLAKE2B ab921cc309150f8370abddfeaae1cd9d05226edeea32cda950ae08751f1bfeef96ba2f8c31855014a2fcf4a250c2ceef30d15aef1522d84ba2a23ddc19427de3 SHA512 3a565599e1b95b14e7421f13dd564069a51b91bc60e9ed53caf23e79b172f48cf3da43d404c7794372efafb390d7f878541492936d789a248f0dc3fa2c1f5d21
+DIST rustc-1.60.0-src.tar.gz 202376973 BLAKE2B 5e0f3aaab0ce87fc6068cdf1aa22f2e707cffe96584bc6d6bd75539c99aa39308d28e77efa5a32b2cfc7b595c0aa40ba4b3f860060f48ab4e79e9bfc85b77225 SHA512 ae626482287949eb73a5467245b8e21b7624713a29d4bbdf1c1e1232e10f5497ba3435427e08df4fd5d2277c456213e5d04529e841d50924a4211fdb8c6acfd0
diff --git a/dev-embedded/hps-sdk/files/gcc-10.2.0-avoid-unprefixed-ld-in-configure-checks.patch b/dev-embedded/hps-sdk/files/gcc-10.2.0-avoid-unprefixed-ld-in-configure-checks.patch
new file mode 100644
index 0000000..0de6436
--- /dev/null
+++ b/dev-embedded/hps-sdk/files/gcc-10.2.0-avoid-unprefixed-ld-in-configure-checks.patch
@@ -0,0 +1,157 @@
+From 4d286d5ab38636f83cf394876cdf6f1355398148 Mon Sep 17 00:00:00 2001
+From: Dan Callaghan <dcallagh@google.com>
+Date: Tue, 10 May 2022 16:03:32 +1000
+Subject: [PATCH] avoid unprefixed ld in configure checks
+
+During the GCC build process itself, using ./gcc/xgcc, invoking
+$CC -print-prog-name=ld does not actually find the linker because the
+intermediate compiler has not been installed so does not yet know how to
+find its helper programs. The check should just be using $LD instead.
+
+This check originates in libtool.m4.
+---
+ gcc/configure                  | 2 +-
+ libcc1/configure               | 2 +-
+ libffi/configure               | 2 +-
+ libhsail-rt/configure          | 2 +-
+ libitm/configure               | 2 +-
+ liboffloadmic/configure        | 2 +-
+ liboffloadmic/plugin/configure | 2 +-
+ libsanitizer/configure         | 2 +-
+ libstdc++-v3/configure         | 2 +-
+ libvtv/configure               | 2 +-
+ 10 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/gcc/configure b/gcc/configure
+index 5624b8a2fc1..6dd969a53a0 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -19745,7 +19745,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
+         wlarc='${wl}'
+ 
+         # ancient GNU ld didn't support --whole-archive et. al.
+-        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
++        if eval "$LD --help 2>&1" |
+ 	  $GREP 'no-whole-archive' > /dev/null; then
+           whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+         else
+diff --git a/libcc1/configure b/libcc1/configure
+index 64fdc445163..2af5d0ae6c5 100755
+--- a/libcc1/configure
++++ b/libcc1/configure
+@@ -11899,7 +11899,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
+         wlarc='${wl}'
+ 
+         # ancient GNU ld didn't support --whole-archive et. al.
+-        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
++        if eval "$LD --help 2>&1" |
+ 	  $GREP 'no-whole-archive' > /dev/null; then
+           whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+         else
+diff --git a/libffi/configure b/libffi/configure
+index f0051505d10..8e7b1713616 100755
+--- a/libffi/configure
++++ b/libffi/configure
+@@ -12274,7 +12274,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
+         wlarc='${wl}'
+ 
+         # ancient GNU ld didn't support --whole-archive et. al.
+-        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
++        if eval "$LD --help 2>&1" |
+ 	  $GREP 'no-whole-archive' > /dev/null; then
+           whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+         else
+diff --git a/libhsail-rt/configure b/libhsail-rt/configure
+index 49d529c8f5f..d604fa1c33f 100755
+--- a/libhsail-rt/configure
++++ b/libhsail-rt/configure
+@@ -11952,7 +11952,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
+         wlarc='${wl}'
+ 
+         # ancient GNU ld didn't support --whole-archive et. al.
+-        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
++        if eval "$LD --help 2>&1" |
+ 	  $GREP 'no-whole-archive' > /dev/null; then
+           whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+         else
+diff --git a/libitm/configure b/libitm/configure
+index 97db1bc8845..45e8cda956f 100755
+--- a/libitm/configure
++++ b/libitm/configure
+@@ -12777,7 +12777,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
+         wlarc='${wl}'
+ 
+         # ancient GNU ld didn't support --whole-archive et. al.
+-        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
++        if eval "$LD --help 2>&1" |
+ 	  $GREP 'no-whole-archive' > /dev/null; then
+           whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+         else
+diff --git a/liboffloadmic/configure b/liboffloadmic/configure
+index cd011799a6c..e30e6cfc1f5 100644
+--- a/liboffloadmic/configure
++++ b/liboffloadmic/configure
+@@ -12143,7 +12143,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
+         wlarc='${wl}'
+ 
+         # ancient GNU ld didn't support --whole-archive et. al.
+-        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
++        if eval "$LD --help 2>&1" |
+ 	  $GREP 'no-whole-archive' > /dev/null; then
+           whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+         else
+diff --git a/liboffloadmic/plugin/configure b/liboffloadmic/plugin/configure
+index cf485223f41..5c793a1a459 100644
+--- a/liboffloadmic/plugin/configure
++++ b/liboffloadmic/plugin/configure
+@@ -11790,7 +11790,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
+         wlarc='${wl}'
+ 
+         # ancient GNU ld didn't support --whole-archive et. al.
+-        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
++        if eval "$LD --help 2>&1" |
+ 	  $GREP 'no-whole-archive' > /dev/null; then
+           whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+         else
+diff --git a/libsanitizer/configure b/libsanitizer/configure
+index 0c56bdf2d7d..8e4ffe317c3 100755
+--- a/libsanitizer/configure
++++ b/libsanitizer/configure
+@@ -13074,7 +13074,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
+         wlarc='${wl}'
+ 
+         # ancient GNU ld didn't support --whole-archive et. al.
+-        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
++        if eval "$LD --help 2>&1" |
+ 	  $GREP 'no-whole-archive' > /dev/null; then
+           whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+         else
+diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
+index 9f9c5a2419a..3055385abed 100755
+--- a/libstdc++-v3/configure
++++ b/libstdc++-v3/configure
+@@ -12772,7 +12772,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
+         wlarc='${wl}'
+ 
+         # ancient GNU ld didn't support --whole-archive et. al.
+-        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
++        if eval "$LD --help 2>&1" |
+ 	  $GREP 'no-whole-archive' > /dev/null; then
+           whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+         else
+diff --git a/libvtv/configure b/libvtv/configure
+index fc969525da0..0702d7de7f8 100755
+--- a/libvtv/configure
++++ b/libvtv/configure
+@@ -12975,7 +12975,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
+         wlarc='${wl}'
+ 
+         # ancient GNU ld didn't support --whole-archive et. al.
+-        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
++        if eval "$LD --help 2>&1" |
+ 	  $GREP 'no-whole-archive' > /dev/null; then
+           whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+         else
+-- 
+2.36.0.512.ge40c2bad7a-goog
+
diff --git a/dev-embedded/hps-sdk/files/rust-1.58.1-fix-libunwind-backtrace-visibility.patch b/dev-embedded/hps-sdk/files/rust-1.58.1-fix-libunwind-backtrace-visibility.patch
deleted file mode 100644
index 1c170b0..0000000
--- a/dev-embedded/hps-sdk/files/rust-1.58.1-fix-libunwind-backtrace-visibility.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/library/unwind/src/libunwind.rs
-+++ b/library/unwind/src/libunwind.rs
-@@ -246,6 +246,7 @@ if #[cfg(not(all(target_os = "ios", target_arch = "arm")))] {
-     extern "C-unwind" {
-         pub fn _Unwind_RaiseException(exception: *mut _Unwind_Exception) -> _Unwind_Reason_Code;
-     }
-+    #[link(name = "unwind", kind = "static", modifiers = "-bundle")]
-     extern "C" {
-         pub fn _Unwind_Backtrace(trace: _Unwind_Trace_Fn,
-                                  trace_argument: *mut c_void)
diff --git a/dev-lang/rust/files/rust-1.58.1-Handle-sparse-git-repo-without-erroring.patch b/dev-embedded/hps-sdk/files/rust-1.60.0-Handle-sparse-git-repo-without-erroring.patch
similarity index 100%
copy from dev-lang/rust/files/rust-1.58.1-Handle-sparse-git-repo-without-erroring.patch
copy to dev-embedded/hps-sdk/files/rust-1.60.0-Handle-sparse-git-repo-without-erroring.patch
diff --git a/dev-lang/rust/files/rust-1.58.1-Revert-CMake-Unconditionally-add-.h-and-.td-files-to.patch b/dev-embedded/hps-sdk/files/rust-1.60.0-Revert-CMake-Unconditionally-add-.h-and-.td-files-to.patch
similarity index 100%
copy from dev-lang/rust/files/rust-1.58.1-Revert-CMake-Unconditionally-add-.h-and-.td-files-to.patch
copy to dev-embedded/hps-sdk/files/rust-1.60.0-Revert-CMake-Unconditionally-add-.h-and-.td-files-to.patch
diff --git a/dev-embedded/hps-sdk/files/rust-1.60.0-Revert-DebugInfo-Re-enable-instruction-referencing-f.patch b/dev-embedded/hps-sdk/files/rust-1.60.0-Revert-DebugInfo-Re-enable-instruction-referencing-f.patch
new file mode 100644
index 0000000..bbc3974
--- /dev/null
+++ b/dev-embedded/hps-sdk/files/rust-1.60.0-Revert-DebugInfo-Re-enable-instruction-referencing-f.patch
@@ -0,0 +1,37 @@
+From fcfa6ac4ca21c9331f715ed2dc5f8feebef3754e Mon Sep 17 00:00:00 2001
+From: Michael Benfield <mbenfield@google.com>
+Date: Sat, 2 Jul 2022 20:18:01 +0000
+Subject: [PATCH] Revert "[DebugInfo] Re-enable instruction referencing for
+ x86_64"
+
+This reverts commit a03ffad5d34c6d1df14e25df17f18ea2fa437c0c.
+
+The above refers to a commit in the rust-lang clone of the llvm-project
+repository.
+
+See b/237879898.
+
+
+---
+ src/llvm-project/llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp | 5 -----
+ 2 files changed, 0 insertions(+), 5 deletions(-)
+
+diff --git a/src/llvm-project/llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp b/src/llvm-project/llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
+index 40770b15aa35..8f697611a82c 100644
+--- a/src/llvm-project/llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
++++ b/src/llvm-project/llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
+@@ -123,11 +123,6 @@ bool LiveDebugValues::runOnMachineFunction(MachineFunction &MF) {
+ }
+ 
+ bool llvm::debuginfoShouldUseDebugInstrRef(const Triple &T) {
+-  // Enable by default on x86_64, disable if explicitly turned off on cmdline.
+-  if (T.getArch() == llvm::Triple::x86_64 &&
+-      ValueTrackingVariableLocations != cl::boolOrDefault::BOU_FALSE)
+-    return true;
+-
+   // Enable if explicitly requested on command line.
+   return ValueTrackingVariableLocations == cl::boolOrDefault::BOU_TRUE;
+ }
+-- 
+2.37.0.rc0.161.g10f37bed90-goog
+
diff --git a/dev-lang/rust/files/rust-1.58.1-add-armv7a-sanitizers.patch b/dev-embedded/hps-sdk/files/rust-1.60.0-add-armv7a-sanitizers.patch
similarity index 100%
copy from dev-lang/rust/files/rust-1.58.1-add-armv7a-sanitizers.patch
copy to dev-embedded/hps-sdk/files/rust-1.60.0-add-armv7a-sanitizers.patch
diff --git a/dev-embedded/hps-sdk/files/rust-1.58.1-add-cros-targets.patch b/dev-embedded/hps-sdk/files/rust-1.60.0-add-cros-targets.patch
similarity index 100%
rename from dev-embedded/hps-sdk/files/rust-1.58.1-add-cros-targets.patch
rename to dev-embedded/hps-sdk/files/rust-1.60.0-add-cros-targets.patch
diff --git a/dev-embedded/hps-sdk/files/rust-1.60.0-cc.patch b/dev-embedded/hps-sdk/files/rust-1.60.0-cc.patch
new file mode 100644
index 0000000..24bd78d
--- /dev/null
+++ b/dev-embedded/hps-sdk/files/rust-1.60.0-cc.patch
@@ -0,0 +1,60 @@
+From 2b042cce4bd22392acf013f10a7effcfbaf8b513 Mon Sep 17 00:00:00 2001
+From: George Burgess IV <gbiv@google.com>
+Date: Fri, 30 Jul 2021 01:01:54 +0000
+Subject: [PATCH 4/8] cc.patch
+
+---
+ compiler/rustc_codegen_ssa/src/back/link.rs | 25 ++++++++++++---------
+ 1 file changed, 14 insertions(+), 11 deletions(-)
+
+diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs.orig b/compiler/rustc_codegen_ssa/src/back/link.rs
+index 58e0667..61f6788 100644
+--- a/compiler/rustc_codegen_ssa/src/back/link.rs.orig
++++ b/compiler/rustc_codegen_ssa/src/back/link.rs
+@@ -1123,12 +1123,12 @@ pub fn linker_and_flavor(sess: &Session) -> (PathBuf, LinkerFlavor) {
+             (Some(linker), Some(flavor)) => Some((linker, flavor)),
+             // only the linker flavor is known; use the default linker for the selected flavor
+             (None, Some(flavor)) => Some((
+-                PathBuf::from(match flavor {
++                match flavor {
+                     LinkerFlavor::Em => {
+                         if cfg!(windows) {
+-                            "emcc.bat"
++                            "emcc.bat".into()
+                         } else {
+-                            "emcc"
++                            "emcc".into()
+                         }
+                     }
+                     LinkerFlavor::Gcc => {
+@@ -1139,18 +1139,21 @@ pub fn linker_and_flavor(sess: &Session) -> (PathBuf, LinkerFlavor) {
+                             // and many modern illumos distributions today
+                             // ship GCC as "gcc" without also making it
+                             // available as "cc".
+-                            "gcc"
++                            "gcc".into()
+                         } else {
+-                            "cc"
++                            match env::var_os("CC") {
++                                Some(path) => path.into(),
++                                None => "cc".into(),
++                            }
+                         }
+                     }
+-                    LinkerFlavor::Ld => "ld",
+-                    LinkerFlavor::Msvc => "link.exe",
+-                    LinkerFlavor::Lld(_) => "lld",
+-                    LinkerFlavor::PtxLinker => "rust-ptx-linker",
+-                    LinkerFlavor::BpfLinker => "bpf-linker",
+-                    LinkerFlavor::L4Bender => "l4-bender",
+-                }),
++                    LinkerFlavor::Ld => "ld".into(),
++                    LinkerFlavor::Msvc => "link.exe".into(),
++                    LinkerFlavor::Lld(_) => "lld".into(),
++                    LinkerFlavor::PtxLinker => "rust-ptx-linker".into(),
++                    LinkerFlavor::BpfLinker => "bpf-linker".into(),
++                    LinkerFlavor::L4Bender => "l4-bender".into(),
++                 },
+                 flavor,
+             )),
+             (Some(linker), None) => {
diff --git a/dev-lang/rust/files/rust-1.58.1-disable-mutable-noalias.patch b/dev-embedded/hps-sdk/files/rust-1.60.0-disable-mutable-noalias.patch
similarity index 100%
copy from dev-lang/rust/files/rust-1.58.1-disable-mutable-noalias.patch
copy to dev-embedded/hps-sdk/files/rust-1.60.0-disable-mutable-noalias.patch
diff --git a/dev-embedded/hps-sdk/files/rust-1.60.0-fix-libunwind-backtrace-visibility.patch b/dev-embedded/hps-sdk/files/rust-1.60.0-fix-libunwind-backtrace-visibility.patch
new file mode 100644
index 0000000..d5baff2
--- /dev/null
+++ b/dev-embedded/hps-sdk/files/rust-1.60.0-fix-libunwind-backtrace-visibility.patch
@@ -0,0 +1,13 @@
+A backport of https://github.com/rust-lang/rust/pull/93350 from rust.
+This was merged upstream as 1ca8d0bf8c154b0f602fadac8c38f14df5dea77a.
+
+--- a/library/unwind/src/libunwind.rs
++++ b/library/unwind/src/libunwind.rs
+@@ -246,6 +246,7 @@ if #[cfg(not(all(target_os = "ios", target_arch = "arm")))] {
+     extern "C-unwind" {
+         pub fn _Unwind_RaiseException(exception: *mut _Unwind_Exception) -> _Unwind_Reason_Code;
+     }
++    #[link(name = "unwind", kind = "static", modifiers = "-bundle")]
+     extern "C" {
+         pub fn _Unwind_Backtrace(trace: _Unwind_Trace_Fn,
+                                  trace_argument: *mut c_void)
diff --git a/dev-embedded/hps-sdk/files/rust-1.60.0-fix-rpath.patch b/dev-embedded/hps-sdk/files/rust-1.60.0-fix-rpath.patch
new file mode 100644
index 0000000..1ac11d0
--- /dev/null
+++ b/dev-embedded/hps-sdk/files/rust-1.60.0-fix-rpath.patch
@@ -0,0 +1,17 @@
+Around the line of code this patches there is a long explanation of the rpath
+but the gist of it was that better handling of the rpath would be done in the
+future. For now, we just add the proper rpath.
+
+diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
+index d0eed3f12d1..63c8c6ea0b0 100644
+--- a/src/bootstrap/builder.rs
++++ b/src/bootstrap/builder.rs
+@@ -1186,7 +1186,7 @@ impl<'a> Builder<'a> {
+                 Some("-Wl,-rpath,@loader_path/../lib")
+             } else if !target.contains("windows") {
+                 rustflags.arg("-Clink-args=-Wl,-z,origin");
+-                Some("-Wl,-rpath,$ORIGIN/../lib")
++                Some("-Wl,-rpath,$ORIGIN/../lib:/usr/lib64/rust/rustlib/x86_64-unknown-linux-gnu/lib")
+             } else {
+                 None
+             };
diff --git a/dev-embedded/hps-sdk/files/rust-1.60.0-ld-argv0.patch b/dev-embedded/hps-sdk/files/rust-1.60.0-ld-argv0.patch
new file mode 100644
index 0000000..4625921
--- /dev/null
+++ b/dev-embedded/hps-sdk/files/rust-1.60.0-ld-argv0.patch
@@ -0,0 +1,63 @@
+From 7f8a36c0a9d997d625ba887e3ae492bc2fa2888b Mon Sep 17 00:00:00 2001
+From: George Burgess IV <gbiv@google.com>
+Date: Sun, 1 Aug 2021 07:12:17 +0000
+Subject: [PATCH 7/8] ld-argv0.patch
+
+---
+ library/std/src/sys/unix/os.rs | 35 +++++++++++++++++++++++++++++++++-
+ 1 file changed, 34 insertions(+), 1 deletion(-)
+
+diff --git a/library/std/src/sys/unix/os.rs b/library/std/src/sys/unix/os.rs
+index 41ca97623..ffe3b99cd 100644
+--- a/library/std/src/sys/unix/os.rs
++++ b/library/std/src/sys/unix/os.rs
+@@ -352,12 +352,45 @@
+ 
+ #[cfg(any(target_os = "linux", target_os = "android", target_os = "emscripten"))]
+ pub fn current_exe() -> io::Result<PathBuf> {
++    let is_ld_so = |p: &crate::path::Path| -> Option<bool> {
++        let parent_dir_name = p.parent()?.file_name()?;
++        if parent_dir_name != OsStr::new("lib") {
++            return Some(false);
++        }
++        // We assume that the `ld.so` path is always valid unicode, since there's... no reason for
++        // it not to be. :)
++        let file_name = p.file_name()?.to_str()?;
++        Some(
++            file_name.starts_with("ld-linux-")
++                && (file_name.ends_with(".so") || file_name.contains(".so.")),
++        )
++    };
++
+     match crate::fs::read_link("/proc/self/exe") {
+         Err(ref e) if e.kind() == io::ErrorKind::NotFound => Err(io::const_io_error!(
+             io::ErrorKind::Uncategorized,
+             "no /proc/self/exe available. Is /proc mounted?",
+         )),
+-        other => other,
++        Err(x) => Err(x),
++        Ok(p) => {
++            // Chrome OS-specific: in some configurations, Rust binaries are invoked through
++            // `ld.so`. In these cases, we want to present the user with the path to the Rust
++            // binary that was invoked.
++            //
++            // Because the ld.so wrappers _generally_ don't want to invoke things with absolute
++            // paths, this is _generally_ a path relative to dirname(ld.so).
++            if is_ld_so(&p) == Some(true) {
++                if let Some(relative_to_ld) = crate::env::var_os("LD_ARGV0_REL") {
++                    let relative_to_ld = PathBuf::from(relative_to_ld);
++                    if relative_to_ld.is_absolute() {
++                        return Ok(relative_to_ld);
++                    }
++                    // safety: is_ld_so checks the parent directory of `p`.
++                    return Ok(p.parent().unwrap().join(relative_to_ld));
++                }
++            }
++            Ok(p)
++        }
+     }
+ }
+ 
+-- 
+2.32.0.554.ge1b32706d8-goog
+
diff --git a/dev-lang/rust/files/rust-1.58.1-no-test-on-build.patch b/dev-embedded/hps-sdk/files/rust-1.60.0-no-test-on-build.patch
similarity index 100%
copy from dev-lang/rust/files/rust-1.58.1-no-test-on-build.patch
copy to dev-embedded/hps-sdk/files/rust-1.60.0-no-test-on-build.patch
diff --git a/dev-embedded/hps-sdk/files/rust-1.60.0-passes-only-in-pre-link.patch b/dev-embedded/hps-sdk/files/rust-1.60.0-passes-only-in-pre-link.patch
new file mode 100644
index 0000000..c6e6192
--- /dev/null
+++ b/dev-embedded/hps-sdk/files/rust-1.60.0-passes-only-in-pre-link.patch
@@ -0,0 +1,31 @@
+From 6738434de3e4dacedeb330a5cf878e0a196be864 Mon Sep 17 00:00:00 2001
+From: Bob Haarman <rust@inglorion.net>
+Date: Fri, 10 Jun 2022 11:53:25 -0700
+Subject: [PATCH] Make -Cpasses= only apply to pre-link optimization
+
+This change causes passes specified in -Cpasses= to be applied
+only during pre-link optimization, not during LTO. This avoids
+such passes running multiple times, which they may not be
+designed for.
+
+Fixes https://github.com/rust-lang/rust/issues/97713
+---
+ compiler/rustc_codegen_llvm/src/back/write.rs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/compiler/rustc_codegen_llvm/src/back/write.rs b/compiler/rustc_codegen_llvm/src/back/write.rs
+index 99e30531c22..f456408ca3a 100644
+--- a/compiler/rustc_codegen_llvm/src/back/write.rs
++++ b/compiler/rustc_codegen_llvm/src/back/write.rs
+@@ -467,7 +467,7 @@ pub(crate) unsafe fn optimize_with_new_llvm_pass_manager(
+     let llvm_selfprofiler =
+         llvm_profiler.as_mut().map(|s| s as *mut _ as *mut c_void).unwrap_or(std::ptr::null_mut());
+ 
+-    let extra_passes = config.passes.join(",");
++    let extra_passes = if !is_lto { config.passes.join(",") } else { "".to_string() };
+ 
+     let llvm_plugins = config.llvm_plugins.join(",");
+ 
+-- 
+2.36.1.476.g0c4daa206d-goog
+
diff --git a/dev-lang/rust/files/rust-1.58.1-revert-libunwind-build.patch b/dev-embedded/hps-sdk/files/rust-1.60.0-revert-libunwind-build.patch
similarity index 100%
copy from dev-lang/rust/files/rust-1.58.1-revert-libunwind-build.patch
copy to dev-embedded/hps-sdk/files/rust-1.60.0-revert-libunwind-build.patch
diff --git a/dev-lang/rust/files/rust-1.58.1-sanitizer-supported.patch b/dev-embedded/hps-sdk/files/rust-1.60.0-sanitizer-supported.patch
similarity index 100%
copy from dev-lang/rust/files/rust-1.58.1-sanitizer-supported.patch
copy to dev-embedded/hps-sdk/files/rust-1.60.0-sanitizer-supported.patch
diff --git a/dev-embedded/hps-sdk/hps-sdk-0.0.1-r4.ebuild b/dev-embedded/hps-sdk/hps-sdk-0.0.1-r4.ebuild
new file mode 120000
index 0000000..918afb3
--- /dev/null
+++ b/dev-embedded/hps-sdk/hps-sdk-0.0.1-r4.ebuild
@@ -0,0 +1 @@
+hps-sdk-0.0.1.ebuild
\ No newline at end of file
diff --git a/dev-embedded/hps-sdk/hps-sdk-0.0.1.ebuild b/dev-embedded/hps-sdk/hps-sdk-0.0.1.ebuild
index 9eb282b..cdafa34 100644
--- a/dev-embedded/hps-sdk/hps-sdk-0.0.1.ebuild
+++ b/dev-embedded/hps-sdk/hps-sdk-0.0.1.ebuild
@@ -9,19 +9,27 @@
 
 DESCRIPTION="Compilers for building HPS firmware"
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/hps-firmware"
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
+LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA GPL-3 LGPL-3 libgcc FDL-1.2"
 KEYWORDS="*"
 SLOT="0"
 
-RUST_VERSION="1.58.1"
-RUST_BOOTSTRAP_VERSION="1.57.0"
+RUST_VERSION="1.60.0"
+RUST_BOOTSTRAP_VERSION="1.59.0"
 RUST_BOOTSTRAP_HOST_TRIPLE="x86_64-unknown-linux-gnu"
 
+# These revisions match the submodules in
+# https://github.com/riscv-collab/riscv-gnu-toolchain/tree/2021.04.23
+BINUTILS_REV="f35674005e609660f5f45005a9e095541ca4c5fe"
+GCC_REV="03cb20e5433cd8e65af6a1a6baaf3fe4c72785f6"
+
 SRC_URI="
 	https://static.rust-lang.org/dist/rustc-${RUST_VERSION}-src.tar.gz
 	https://static.rust-lang.org/dist/rustc-${RUST_BOOTSTRAP_VERSION}-${RUST_BOOTSTRAP_HOST_TRIPLE}.tar.xz
 	https://static.rust-lang.org/dist/rust-std-${RUST_BOOTSTRAP_VERSION}-${RUST_BOOTSTRAP_HOST_TRIPLE}.tar.xz
 	https://static.rust-lang.org/dist/cargo-${RUST_BOOTSTRAP_VERSION}-${RUST_BOOTSTRAP_HOST_TRIPLE}.tar.xz
+	https://github.com/riscv-collab/riscv-binutils-gdb/archive/${BINUTILS_REV}.tar.gz -> riscv-binutils-gdb-${BINUTILS_REV}.tar.gz
+	https://github.com/riscv-collab/riscv-gcc/archive/${GCC_REV}.tar.gz -> riscv-gcc-${GCC_REV}.tar.gz
+	ftp://sourceware.org/pub/newlib/newlib-4.1.0.tar.gz
 "
 
 S="${WORKDIR}"
@@ -33,6 +41,8 @@
 src_unpack() {
 	default
 
+	### RUST ###
+
 	# Copy bootstrap std to where bootstrap rustc will find it
 	local rust_std_dir="${WORKDIR}/rust-std-${RUST_BOOTSTRAP_VERSION}-${RUST_BOOTSTRAP_HOST_TRIPLE}/rust-std-${RUST_BOOTSTRAP_HOST_TRIPLE}"
 	local rustc_dir="${WORKDIR}/rustc-${RUST_BOOTSTRAP_VERSION}-${RUST_BOOTSTRAP_HOST_TRIPLE}/rustc"
@@ -45,10 +55,9 @@
 src_prepare() {
 	default
 
-	cd "${WORKDIR}/rustc-${RUST_VERSION}-src" || die
+	### RUST ###
 
-	eapply "${FILESDIR}/rust-1.58.1-fix-libunwind-backtrace-visibility.patch"
-	eapply "${FILESDIR}/rust-1.58.1-add-cros-targets.patch"
+	cd "${WORKDIR}/rustc-${RUST_VERSION}-src" || die
 
 	# Copy "unknown" vendor targets to create cros_sdk target triple
 	# variants as referred to in 0001-add-cros-targets.patch and RUSTC_TARGET_TRIPLES.
@@ -62,6 +71,21 @@
 	sed -e 's:"unknown":"cros":g' aarch64_unknown_linux_gnu.rs >aarch64_cros_linux_gnu.rs || die
 	popd || die
 
+	eapply "${FILESDIR}/rust-${RUST_VERSION}-add-cros-targets.patch"
+	eapply "${FILESDIR}/rust-${RUST_VERSION}-fix-rpath.patch"
+	eapply "${FILESDIR}/rust-${RUST_VERSION}-Revert-CMake-Unconditionally-add-.h-and-.td-files-to.patch"
+	eapply "${FILESDIR}/rust-${RUST_VERSION}-no-test-on-build.patch"
+	eapply "${FILESDIR}/rust-${RUST_VERSION}-sanitizer-supported.patch"
+	eapply "${FILESDIR}/rust-${RUST_VERSION}-cc.patch"
+	eapply "${FILESDIR}/rust-${RUST_VERSION}-revert-libunwind-build.patch"
+	eapply "${FILESDIR}/rust-${RUST_VERSION}-ld-argv0.patch"
+	eapply "${FILESDIR}/rust-${RUST_VERSION}-Handle-sparse-git-repo-without-erroring.patch"
+	eapply "${FILESDIR}/rust-${RUST_VERSION}-disable-mutable-noalias.patch"
+	eapply "${FILESDIR}/rust-${RUST_VERSION}-add-armv7a-sanitizers.patch"
+	eapply "${FILESDIR}/rust-${RUST_VERSION}-fix-libunwind-backtrace-visibility.patch"
+	eapply "${FILESDIR}/rust-${RUST_VERSION}-passes-only-in-pre-link.patch"
+	eapply "${FILESDIR}/rust-${RUST_VERSION}-Revert-DebugInfo-Re-enable-instruction-referencing-f.patch"
+
 	# For the rustc_llvm module, the build will link with -nodefaultlibs and manually choose the
 	# std C++ library. For x86_64 Linux, the build script always chooses libstdc++ which will not
 	# work if LLVM was built with USE="default-libcxx". This snippet changes that choice to libc++
@@ -69,31 +93,48 @@
 	if "${CXX}" -### -x c++ - < /dev/null 2>&1 | grep -q -e '-lc++'; then
 		sed -i 's:"stdc++":"c++":g' compiler/rustc_llvm/build.rs || die
 	fi
+
+	### GCC ###
+
+	cd "${WORKDIR}/riscv-gcc-${GCC_REV}" || die
+	eapply "${FILESDIR}/gcc-10.2.0-avoid-unprefixed-ld-in-configure-checks.patch"
 }
 
 src_configure() {
+	### RUST ###
+
+	tc-export PKG_CONFIG
+
 	cd "${WORKDIR}/rustc-${RUST_VERSION}-src" || die
 	cat >config.toml <<EOF
 [build]
-target = ["x86_64-unknown-linux-gnu", "x86_64-cros-linux-gnu", "thumbv6m-none-eabi", "riscv32i-unknown-none-elf"]
+target = [
+	"x86_64-unknown-linux-gnu",
+	"aarch64-cros-linux-gnu",
+	"armv7a-cros-linux-gnueabihf",
+	"x86_64-cros-linux-gnu",
+	"thumbv6m-none-eabi",
+	"riscv32i-unknown-none-elf",
+]
 cargo = "${WORKDIR}/cargo-${RUST_BOOTSTRAP_VERSION}-${RUST_BOOTSTRAP_HOST_TRIPLE}/cargo/bin/cargo"
 rustc = "${WORKDIR}/rustc-${RUST_BOOTSTRAP_VERSION}-${RUST_BOOTSTRAP_HOST_TRIPLE}/rustc/bin/rustc"
 docs = false
 submodules = false
 python = "${EPYTHON}"
 vendor = true
-extended = false
-tools = ["cargo"]
+extended = true
+tools = ["cargo", "cargo-miri", "miri", "src"]
 sanitizers = false
 profiler = false
 
 [llvm]
 ninja = true
-targets = "ARM;RISCV;X86"
+targets = "AArch64;ARM;RISCV;X86"
 experimental-targets = ""
 
 [install]
 prefix = "${D}/opt/hps-sdk"
+sysconfdir = "etc"
 mandir = "share/man"
 
 [rust]
@@ -112,6 +153,16 @@
 cxx = "${CBUILD}-clang++"
 linker = "${CBUILD}-clang++"
 
+[target.aarch64-cros-linux-gnu]
+cc = "aarch64-cros-linux-gnu-clang"
+cxx = "aarch64-cros-linux-gnu-clang++"
+linker = "aarch64-cros-linux-gnu-clang++"
+
+[target.armv7a-cros-linux-gnueabihf]
+cc = "armv7a-cros-linux-gnueabihf-clang"
+cxx = "armv7a-cros-linux-gnueabihf-clang++"
+linker = "armv7a-cros-linux-gnueabihf-clang++"
+
 [target.x86_64-cros-linux-gnu]
 cc = "x86_64-cros-linux-gnu-clang"
 cxx = "x86_64-cros-linux-gnu-clang++"
@@ -127,14 +178,145 @@
 cxx = "clang++"
 linker = "ld.lld"
 EOF
+
+	### GCC ###
+
+	# Work around a defective check in libiberty ./configure which invokes unprefixed 'cc'
+	export ac_cv_prog_cc_x86_64_pc_linux_gnu_clang_c_o=yes
+	export ac_cv_prog_cc_cc_c_o=yes
 }
 
 src_compile() {
+	### RUST ###
+
 	cd "${WORKDIR}/rustc-${RUST_VERSION}-src" || die
 	${EPYTHON} x.py build --stage 2 || die
+
+	### GCC ###
+
+	# Build binutils
+	mkdir "${WORKDIR}/build-binutils" || die
+	(
+		cd "${WORKDIR}/build-binutils" || die
+		"${WORKDIR}/riscv-binutils-gdb-${BINUTILS_REV}/configure" \
+			--host="${CHOST}" \
+			--target=riscv64-unknown-elf \
+			--prefix=/opt/hps-sdk \
+			--disable-werror \
+			--disable-gdb \
+			--disable-sim \
+			--disable-libdecnumber \
+			--disable-readline \
+			|| die
+		emake
+		# Install under $WORKDIR so that GCC stage 1 can find it.
+		# We install for real under $D in src_install.
+		emake install DESTDIR="${WORKDIR}/installed-stage1"
+	)
+
+	# Build GCC stage 1
+	mkdir "${WORKDIR}/build-gcc-stage1" || die
+	(
+		# shellcheck disable=SC2030,SC2031  # subshell is intentional
+		export PATH="${WORKDIR}/installed-stage1/opt/hps-sdk/bin:${PATH}"
+		cd "${WORKDIR}/build-gcc-stage1" || die
+		"${WORKDIR}/riscv-gcc-${GCC_REV}/configure" \
+			--host="${CHOST}" \
+			--target=riscv64-unknown-elf \
+			--prefix="${WORKDIR}/installed-stage1/opt/hps-sdk" \
+			--with-sysroot="${WORKDIR}/installed-stage1/opt/hps-sdk/riscv64-unknown-elf" \
+			--disable-shared \
+			--disable-threads \
+			--disable-tls \
+			--enable-languages=c,c++ \
+			--with-system-zlib \
+			--with-newlib \
+			--disable-libmudflap \
+			--disable-libssp \
+			--disable-libquadmath \
+			--disable-libgomp \
+			--disable-nls \
+			--disable-tm-clone-registry \
+			--src="${WORKDIR}/riscv-gcc-${GCC_REV}" \
+			--enable-multilib \
+			--with-multilib-generator="rv32im-ilp32--" \
+			CFLAGS_FOR_TARGET="-Os" \
+			CXXFLAGS_FOR_TARGET="-Os" \
+			|| die
+		emake all-gcc
+		emake install-gcc
+	)
+
+	# Build newlib
+	mkdir "${WORKDIR}/build-newlib" || die
+	(
+		# shellcheck disable=SC2030,SC2031  # subshell is intentional
+		export PATH="${WORKDIR}/installed-stage1/opt/hps-sdk/bin:${PATH}"
+		cd "${WORKDIR}/build-newlib" || die
+		# TODO(dcallagh): should use the "nano" configuration with -Os probably
+		"${WORKDIR}/newlib-4.1.0/configure" \
+			--host="${CHOST}" \
+			--target=riscv64-unknown-elf \
+			--prefix=/opt/hps-sdk \
+			--enable-newlib-io-long-double \
+			--enable-newlib-io-long-long \
+			--enable-newlib-io-c99-formats \
+			--enable-newlib-register-fini \
+			CFLAGS_FOR_TARGET="-O2 -D_POSIX_MODE" \
+			CXXFLAGS_FOR_TARGET="-O2 -D_POSIX_MODE" \
+			|| die
+		emake
+		emake install DESTDIR="${WORKDIR}/installed-stage1"
+	)
+
+	# Build GCC stage 2
+	mkdir "${WORKDIR}/build-gcc-stage2" || die
+	(
+		# shellcheck disable=SC2030,SC2031  # subshell is intentional
+		export PATH="${WORKDIR}/installed-stage1/opt/hps-sdk/bin:${PATH}"
+		cd "${WORKDIR}/build-gcc-stage2" || die
+		# TODO(dcallagh): the riscv-gnu-toolchain Makefile passes --enable-tls
+		# here, but I don't think it's wanted and I don't see how it could work
+		"${WORKDIR}/riscv-gcc-${GCC_REV}/configure" \
+			--host="${CHOST}" \
+			--target=riscv64-unknown-elf \
+			--prefix=/opt/hps-sdk \
+			--with-sysroot=/opt/hps-sdk/riscv64-unknown-elf \
+			--with-build-sysroot="${WORKDIR}/installed-stage1/opt/hps-sdk/riscv64-unknown-elf" \
+			--with-native-system-header-dir=/include \
+			--disable-shared \
+			--disable-threads \
+			--disable-tls \
+			--enable-languages=c,c++ \
+			--with-system-zlib \
+			--with-newlib \
+			--disable-libmudflap \
+			--disable-libssp \
+			--disable-libquadmath \
+			--disable-libgomp \
+			--disable-nls \
+			--disable-tm-clone-registry \
+			--src="${WORKDIR}/riscv-gcc-${GCC_REV}" \
+			--enable-multilib \
+			--with-multilib-generator="rv32im-ilp32--" \
+			CFLAGS_FOR_TARGET="-Os" \
+			CXXFLAGS_FOR_TARGET="-Os" \
+			|| die
+		emake
+	)
 }
 
 src_install() {
+	### RUST ###
+
 	cd "${WORKDIR}/rustc-${RUST_VERSION}-src" || die
 	${EPYTHON} x.py install || die
+
+	### GCC ###
+
+	# shellcheck disable=SC2030,SC2031  # subshell is intentional
+	export PATH="${WORKDIR}/installed-stage1/opt/hps-sdk/bin:${PATH}"
+	emake -C "${WORKDIR}/build-binutils" install DESTDIR="${D}"
+	emake -C "${WORKDIR}/build-newlib" install DESTDIR="${D}"
+	emake -C "${WORKDIR}/build-gcc-stage2" install DESTDIR="${D}"
 }
diff --git a/dev-embedded/metadata.xml b/dev-embedded/metadata.xml
deleted file mode 100644
index e2e461a..0000000
--- a/dev-embedded/metadata.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The dev-embedded category contains libraries and utilities relevant to
-		embedded programming.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie dev-embedded enhält Bibliotheken und Werkzeuge für die
-		Embedded-Programmierung.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría dev-embedded contiene librerias y utilidades referentes a
-		embedded-programming.
-	</longdescription>
-	<longdescription lang="ja">
-		dev-embeddedカテゴリーには組み込みプログラミングに関連したライブラリーと
-		ユーティリティが含まれます。
-	</longdescription>
-	<longdescription lang="nl">
-		De dev-embedded categorie bevat bibliotheken en hulpmiddelen voor het
-		programmeren in een "embedded" omgeving.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm dev-embedded chứa các thư viện và tiện ích liên quan
-		đến lập trình nhúng.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria dev-embedded contiene librerie ed utilità per la programmazione di sistemi embedded.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria dev-embedded contém bibliotecas e utilitários
-		referentes a programação de dispositivos embedded.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria dev-embedded zawiera biblioteki i narzędzia związane z
-		programowaniem dla urządzeń osadzonych.
-	</longdescription>
-</catmetadata>
-
diff --git a/dev-embedded/openocd/Manifest b/dev-embedded/openocd/Manifest
index a53746c..399fea8 100644
--- a/dev-embedded/openocd/Manifest
+++ b/dev-embedded/openocd/Manifest
@@ -1 +1 @@
-DIST openocd-0.10.0.tar.gz 6124274 SHA256 eda3b03919cc0ffb70e7de9c877092a0311aaaa4e1532937e9f86ac1863fe526 SHA512 44b303b0df1d7c13bc18b8995493de64fed7a853704455d484dfc4a74a1ba4b0d42b4679a7009ec015dc71c47152e5556a1a02665cfafe7af80c608b68d8310a WHIRLPOOL 535fd53cc2a6b9e2f8fe5705806cad39832d3b7911f97a705c968ddf27981d000bfa0f707110645739aa2d792b2fbb46e6adf12dcbff394a07f9fb7376b37259
+DIST openocd-0.11.0.tar.gz 7233889 BLAKE2B 272088c261a066d0a99cbbf2ebbc324fc34bc168290bbf0beb4012655b6b54848cc48324f36c65860518160c3fe43abb8c9a5f5b03f0cbaf7cdfb928f8fb8eea SHA512 667c5bea4144653f7c1309457b3aed1e14713f222dab8f2bb67a8e6c69e124a0efc24cd8f76e2b929d4ced045de14517f3587870682d0394ec95ba52e343e19b
diff --git a/dev-rust/serialport/OWNERS b/dev-embedded/openocd/OWNERS
similarity index 100%
copy from dev-rust/serialport/OWNERS
copy to dev-embedded/openocd/OWNERS
diff --git a/dev-embedded/openocd/README.md b/dev-embedded/openocd/README.md
new file mode 100644
index 0000000..348ac78d
--- /dev/null
+++ b/dev-embedded/openocd/README.md
@@ -0,0 +1,3 @@
+Moved to `chromiumos-overlay` because
+* 0.11.0 ebuild removed built-in support J-link interfaces
+* Added patch to support NPCX targets to match 0.10.0 patch
diff --git a/dev-embedded/openocd/files/5950-npcx.patch b/dev-embedded/openocd/files/5950-npcx.patch
new file mode 100644
index 0000000..9ad3dc0
--- /dev/null
+++ b/dev-embedded/openocd/files/5950-npcx.patch
@@ -0,0 +1,1469 @@
+From 49378b6c185691faf0db7a9aa03dba77ed46e733 Mon Sep 17 00:00:00 2001
+From: Wealian Liao <WHLIAO@nuvoton.com>
+Date: Thu, 26 Nov 2020 10:25:09 +0800
+Subject: [PATCH] flash/nor: add support for Nuvoton NPCX series flash
+
+Added NPCX flash driver to support the Nuvoton NPCX series
+microcontrollers. Add config file for NPCX series.
+
+Change-Id: Ia10b019a3521f59ad1e10ccdc56827ba30c3eac8
+Signed-off-by: Wealian Liao <WHLIAO@nuvoton.com>
+Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
+Reviewed-on: https://review.openocd.org/c/openocd/+/5950
+Tested-by: jenkins
+Reviewed-by: Oleksij Rempel <linux@rempel-privat.de>
+---
+ contrib/loaders/flash/npcx/Makefile           |  65 +++
+ contrib/loaders/flash/npcx/npcx_algo.inc      |  60 ++
+ contrib/loaders/flash/npcx/npcx_flash.c       | 342 ++++++++++++
+ contrib/loaders/flash/npcx/npcx_flash.h       | 179 ++++++
+ contrib/loaders/flash/npcx/npcx_flash.lds     |  58 ++
+ .../loaders/flash/npcx/npcx_flash_config.h    |  31 ++
+ doc/openocd.texi                              |  13 +-
+ src/flash/nor/Makefile.am                     |   1 +
+ src/flash/nor/drivers.c                       |   2 +
+ src/flash/nor/npcx.c                          | 524 ++++++++++++++++++
+ tcl/board/npcx_evb.cfg                        |   8 +
+ tcl/target/npcx.cfg                           |  51 ++
+ 12 files changed, 1333 insertions(+), 1 deletion(-)
+ create mode 100644 contrib/loaders/flash/npcx/Makefile
+ create mode 100644 contrib/loaders/flash/npcx/npcx_algo.inc
+ create mode 100644 contrib/loaders/flash/npcx/npcx_flash.c
+ create mode 100644 contrib/loaders/flash/npcx/npcx_flash.h
+ create mode 100644 contrib/loaders/flash/npcx/npcx_flash.lds
+ create mode 100644 contrib/loaders/flash/npcx/npcx_flash_config.h
+ create mode 100644 src/flash/nor/npcx.c
+ create mode 100644 tcl/board/npcx_evb.cfg
+ create mode 100644 tcl/target/npcx.cfg
+
+diff --git a/contrib/loaders/flash/npcx/Makefile b/contrib/loaders/flash/npcx/Makefile
+new file mode 100644
+index 000000000..293bd02da
+--- /dev/null
++++ b/contrib/loaders/flash/npcx/Makefile
+@@ -0,0 +1,65 @@
++# SPDX-License-Identifier: GPL-2.0-or-later
++
++BIN2C = ../../../../src/helper/bin2char.sh
++
++# Toolchain used in makefile
++CROSS_COMPILE ?= arm-none-eabi-
++CC             = $(CROSS_COMPILE)gcc
++CPLUS          = $(CROSS_COMPILE)g++
++CPP            = $(CROSS_COMPILE)cpp
++LD             = $(CROSS_COMPILE)gcc
++AS             = $(CROSS_COMPILE)as
++OBJCOPY        = $(CROSS_COMPILE)objcopy
++OBJDUMP        = $(CROSS_COMPILE)objdump
++OBJSIZE        = $(CROSS_COMPILE)size
++
++TARGET         = npcx_algo
++OBJS          := npcx_flash.o
++FLAGS          = -mthumb -Os -ffunction-sections -fdata-sections -g -gdwarf-3 --specs=nano.specs
++FLAGS         += -gstrict-dwarf -Wall -fno-strict-aliasing --asm
++
++CFLAGS         = -c -I. -mcpu=cortex-m4 -fpack-struct
++
++PRE_LD_FILE    = npcx_flash.lds
++LD_FILE        = npcx_flash_generated.lds
++LDFLAGS        = -Wl,-Map,lfw.map -Wl,-T$(LD_FILE) -nostartfiles
++
++all: $(TARGET).inc
++
++# Implicit rules
++%.o: %.c
++	-@ echo CC $@ from $<
++	@$(CC) $< $(FLAGS) $(CFLAGS) -o $@
++
++ $(LD_FILE): $(PRE_LD_FILE)
++	-@ echo Generate $@ from $<
++	-@$(CPP) $(PRE_LD_FILE) | grep -v '^#' >>$(LD_FILE)
++
++$(TARGET).elf: $(OBJS) $(LD_FILE)
++	-@ echo LD  $@ from $<
++	@$(LD) -o $@ $< $(FLAGS) $(LDFLAGS)
++
++%.bin: %.elf
++	-@ echo OBJCOPY $@ from $<
++	-@ $(OBJCOPY) $< -O binary $@
++	-@ $(OBJSIZE) $< --format=berkeley
++
++%.inc: %.bin
++	@echo 'Building target: $@'
++	@echo 'Invoking Bin2Char Script'
++	$(BIN2C) < $< > $@
++	rm $< $*.elf
++	@echo 'Finished building target: $@'
++	@echo ' '
++
++clean:
++	@echo 'Cleaning Targets and Build Artifacts'
++	rm -rf *.inc *.bin *.elf *.map
++	rm -rf *.o *.d
++	rm -rf $(LD_FILE)
++	@echo 'Finished clean'
++	@echo ' '
++
++.PRECIOUS: %.bin
++
++.PHONY: all clean
+diff --git a/contrib/loaders/flash/npcx/npcx_algo.inc b/contrib/loaders/flash/npcx/npcx_algo.inc
+new file mode 100644
+index 000000000..4312fdb1b
+--- /dev/null
++++ b/contrib/loaders/flash/npcx/npcx_algo.inc
+@@ -0,0 +1,60 @@
++/* Autogenerated with ../../../../src/helper/bin2char.sh */
++0x08,0xb5,0xdf,0xf8,0x08,0xd0,0x00,0xf0,0x2f,0xf9,0x00,0x00,0x48,0x15,0x0c,0x20,
++0x03,0x4b,0x18,0x70,0x19,0x72,0x08,0x33,0x1a,0x78,0xd2,0x09,0xfc,0xd1,0x70,0x47,
++0x16,0x00,0x02,0x40,0x70,0xb5,0x11,0x4c,0x23,0x78,0x03,0xf0,0xfd,0x03,0x23,0x70,
++0xc0,0x21,0x05,0x20,0xff,0xf7,0xec,0xff,0x0d,0x4a,0x0e,0x49,0x6f,0xf0,0x7f,0x43,
++0x6f,0xf0,0x2e,0x05,0x10,0x46,0x15,0x70,0x06,0x78,0xf6,0x09,0xfc,0xd1,0x0e,0x78,
++0xf6,0x07,0x01,0xd5,0x01,0x3b,0xf6,0xd1,0x22,0x78,0x42,0xf0,0x02,0x02,0x00,0x2b,
++0x22,0x70,0x0c,0xbf,0x03,0x20,0x00,0x20,0x70,0xbd,0x00,0xbf,0x1f,0x00,0x02,0x40,
++0x1e,0x00,0x02,0x40,0x1a,0x00,0x02,0x40,0x08,0xb5,0xc0,0x21,0x06,0x20,0xff,0xf7,
++0xc7,0xff,0xff,0xf7,0xcf,0xff,0x28,0xb9,0x03,0x4b,0x1b,0x78,0x13,0xf0,0x02,0x0f,
++0x08,0xbf,0x02,0x20,0x08,0xbd,0x00,0xbf,0x1a,0x00,0x02,0x40,0xf8,0xb5,0x12,0x4c,
++0x23,0x78,0x03,0xf0,0xfd,0x03,0x23,0x70,0x10,0x4b,0x17,0x46,0xc0,0xf3,0x07,0x42,
++0x1a,0x70,0xc0,0xf3,0x07,0x22,0xc0,0xb2,0x03,0xf8,0x01,0x2c,0x0e,0x46,0x03,0xf8,
++0x02,0x0c,0xe8,0x21,0x02,0x20,0xff,0xf7,0xa3,0xff,0x00,0x25,0xae,0x42,0x04,0xd8,
++0x23,0x78,0x43,0xf0,0x02,0x03,0x23,0x70,0xf8,0xbd,0x78,0x5d,0xe0,0x21,0xff,0xf7,
++0x97,0xff,0x01,0x35,0xf2,0xe7,0x00,0xbf,0x1f,0x00,0x02,0x40,0x19,0x00,0x02,0x40,
++0x70,0x47,0x2d,0xe9,0xf0,0x41,0x00,0xf1,0xff,0x06,0x26,0xf0,0xff,0x06,0x34,0x1a,
++0x8c,0x42,0x28,0xbf,0x0c,0x46,0x80,0x46,0x0d,0x46,0x17,0x46,0x5c,0xb1,0xff,0xf7,
++0xb3,0xff,0x58,0xb9,0x3a,0x46,0xa1,0xb2,0x40,0x46,0xff,0xf7,0xbf,0xff,0xff,0xf7,
++0x81,0xff,0x18,0xb9,0x27,0x44,0x2c,0x1b,0x14,0xb9,0x20,0x46,0xbd,0xe8,0xf0,0x81,
++0xb4,0xf5,0x80,0x7f,0x25,0x46,0x28,0xbf,0x4f,0xf4,0x80,0x75,0xff,0xf7,0x9c,0xff,
++0x00,0x28,0xf3,0xd1,0x3a,0x46,0xa9,0xb2,0x30,0x46,0xff,0xf7,0xa7,0xff,0xff,0xf7,
++0x69,0xff,0x00,0x28,0xea,0xd1,0x2f,0x44,0x2e,0x44,0x64,0x1b,0xe4,0xe7,0x00,0x00,
++0x2d,0xe9,0xf0,0x47,0x14,0x4e,0x15,0x4f,0xdf,0xf8,0x54,0x80,0x05,0x46,0x0c,0x46,
++0x8a,0x46,0x05,0xeb,0x04,0x09,0xa9,0xeb,0x0a,0x09,0xba,0xf1,0x00,0x0f,0x02,0xd1,
++0x50,0x46,0xbd,0xe8,0xf0,0x87,0xff,0xf7,0x77,0xff,0x00,0x28,0xf9,0xd1,0xc9,0xf3,
++0x07,0x43,0x33,0x70,0xc9,0xf3,0x07,0x23,0x5f,0xfa,0x89,0xf9,0x3b,0x70,0xc8,0x21,
++0x20,0x20,0x88,0xf8,0x00,0x90,0xff,0xf7,0x33,0xff,0xff,0xf7,0x3b,0xff,0x00,0x28,
++0xe7,0xd1,0xaa,0xf5,0x80,0x5a,0xdc,0xe7,0x19,0x00,0x02,0x40,0x18,0x00,0x02,0x40,
++0x17,0x00,0x02,0x40,0x08,0xb5,0xff,0xf7,0x57,0xff,0x38,0xb9,0xc0,0x21,0xc7,0x20,
++0xff,0xf7,0x1e,0xff,0xbd,0xe8,0x08,0x40,0xff,0xf7,0x24,0xbf,0x08,0xbd,0x00,0x00,
++0x38,0xb5,0xff,0xf7,0x49,0xff,0x04,0x46,0xc0,0xb9,0x0d,0x4b,0x0d,0x4d,0xf2,0x21,
++0x28,0x70,0x18,0x70,0x01,0x20,0xff,0xf7,0x0b,0xff,0xff,0xf7,0x13,0xff,0x04,0x46,
++0x60,0xb9,0xc1,0x21,0x05,0x20,0xff,0xf7,0x03,0xff,0x2b,0x78,0x2b,0xb9,0xc1,0x21,
++0x35,0x20,0xff,0xf7,0xfd,0xfe,0x2b,0x78,0x03,0xb1,0x02,0x24,0x20,0x46,0x38,0xbd,
++0x1b,0x00,0x02,0x40,0x1a,0x00,0x02,0x40,0x10,0xb5,0xc3,0x21,0x04,0x46,0x9f,0x20,
++0xff,0xf7,0xee,0xfe,0x06,0x4b,0x07,0x4a,0x19,0x78,0x01,0x33,0x00,0x20,0x1b,0x78,
++0x12,0x78,0x1b,0x02,0x43,0xea,0x01,0x43,0x13,0x43,0x23,0x60,0x10,0xbd,0x00,0xbf,
++0x1a,0x00,0x02,0x40,0x1c,0x00,0x02,0x40,0x08,0xb5,0x10,0x22,0x00,0x21,0x00,0xf0,
++0x4d,0xf8,0x00,0x20,0x08,0xbd,0x00,0x00,0x73,0xb5,0x21,0x48,0x20,0x4c,0xff,0xf7,
++0xf3,0xff,0x20,0x4a,0x13,0x78,0x43,0xf0,0x80,0x03,0x13,0x70,0xff,0xf7,0xb0,0xff,
++0x05,0x46,0x58,0xb9,0x1c,0x4e,0xe3,0x68,0x00,0x2b,0xfc,0xd0,0xa3,0x68,0x01,0x3b,
++0x03,0x2b,0x2a,0xd8,0xdf,0xe8,0x03,0xf0,0x04,0x18,0x20,0x23,0xe5,0x60,0xfd,0xe7,
++0x01,0xa8,0xff,0xf7,0xc1,0xff,0xa8,0xb9,0x01,0x9b,0x33,0x70,0x1a,0x0a,0x1b,0x0c,
++0x72,0x70,0xb3,0x70,0xf0,0x70,0x23,0x7b,0x25,0x73,0x63,0x7b,0x65,0x73,0xa3,0x7b,
++0xa5,0x73,0xe3,0x7b,0xe5,0x73,0xde,0xe7,0x20,0x68,0x61,0x68,0xff,0xf7,0x48,0xff,
++0x00,0x28,0xf0,0xd0,0xe0,0x60,0xfe,0xe7,0xff,0xf7,0x74,0xff,0xf8,0xe7,0x20,0x68,
++0x61,0x68,0x32,0x46,0xff,0xf7,0x05,0xff,0xf2,0xe7,0x01,0x20,0xf2,0xe7,0x00,0xbf,
++0x00,0x00,0x0c,0x20,0x10,0x30,0x0c,0x40,0x10,0x00,0x0c,0x20,0xf0,0xb5,0x05,0x00,
++0x83,0x07,0x4e,0xd0,0x54,0x1e,0x00,0x2a,0x46,0xd0,0x0a,0x06,0x12,0x0e,0x03,0x00,
++0x03,0x26,0x02,0xe0,0x01,0x35,0x01,0x3c,0x3e,0xd3,0x01,0x33,0x2a,0x70,0x33,0x42,
++0xf8,0xd1,0x03,0x2c,0x2f,0xd9,0xff,0x22,0x0a,0x40,0x15,0x02,0x15,0x43,0x2a,0x04,
++0x15,0x43,0x0f,0x2c,0x38,0xd9,0x27,0x00,0x10,0x3f,0x3f,0x09,0x3e,0x01,0xb4,0x46,
++0x1e,0x00,0x1a,0x00,0x10,0x36,0x66,0x44,0x15,0x60,0x55,0x60,0x95,0x60,0xd5,0x60,
++0x10,0x32,0xb2,0x42,0xf8,0xd1,0x0f,0x26,0x0c,0x22,0x01,0x37,0x3f,0x01,0x26,0x40,
++0xdb,0x19,0x37,0x00,0x22,0x42,0x1a,0xd0,0x3e,0x1f,0xb6,0x08,0xb4,0x00,0xa4,0x46,
++0x1a,0x00,0x1c,0x1d,0x64,0x44,0x20,0xc2,0xa2,0x42,0xfc,0xd1,0x03,0x24,0x01,0x36,
++0xb6,0x00,0x9b,0x19,0x3c,0x40,0x00,0x2c,0x06,0xd0,0x09,0x06,0x1c,0x19,0x09,0x0e,
++0x19,0x70,0x01,0x33,0x9c,0x42,0xfb,0xd1,0xf0,0xbc,0x02,0xbc,0x08,0x47,0x34,0x00,
++0xf1,0xe7,0x14,0x00,0x03,0x00,0xbc,0xe7,0x27,0x00,0xdd,0xe7,
+diff --git a/contrib/loaders/flash/npcx/npcx_flash.c b/contrib/loaders/flash/npcx/npcx_flash.c
+new file mode 100644
+index 000000000..d60624ae8
+--- /dev/null
++++ b/contrib/loaders/flash/npcx/npcx_flash.c
+@@ -0,0 +1,342 @@
++/* SPDX-License-Identifier: GPL-2.0-or-later */
++
++/*
++ * Copyright (C) 2020 by Nuvoton Technology Corporation
++ * Mulin Chao <mlchao@nuvoton.com>
++ * Wealian Liao <WHLIAO@nuvoton.com>
++ */
++
++#include <stdint.h>
++#include <string.h>
++#include "npcx_flash.h"
++
++/*----------------------------------------------------------------------------
++ *                             NPCX flash driver
++ *----------------------------------------------------------------------------*/
++static void flash_execute_cmd(uint8_t code, uint8_t cts)
++{
++	/* Set UMA code */
++	NPCX_UMA_CODE = code;
++	/* Execute UMA flash transaction by CTS setting */
++	NPCX_UMA_CTS = cts;
++	/* Wait for transaction completed */
++	while (NPCX_IS_BIT_SET(NPCX_UMA_CTS, NPCX_UMA_CTS_EXEC_DONE))
++		;
++}
++
++static void flash_cs_level(uint8_t level)
++{
++	/* Program chip select pin to high/low level */
++	if (level)
++		NPCX_SET_BIT(NPCX_UMA_ECTS, NPCX_UMA_ECTS_SW_CS1);
++	else
++		NPCX_CLEAR_BIT(NPCX_UMA_ECTS, NPCX_UMA_ECTS_SW_CS1);
++}
++
++static void flash_set_address(uint32_t dest_addr)
++{
++	uint8_t *addr = (uint8_t *)&dest_addr;
++
++	/* Set target flash address */
++	NPCX_UMA_AB2 = addr[2];
++	NPCX_UMA_AB1 = addr[1];
++	NPCX_UMA_AB0 = addr[0];
++}
++
++void delay(uint32_t i)
++{
++	while (i--)
++		;
++}
++
++static int flash_wait_ready(uint32_t timeout)
++{
++	/* Chip Select down. -- Burst mode */
++	flash_cs_level(0);
++
++	/* Command for Read status register */
++	flash_execute_cmd(NPCX_CMD_READ_STATUS_REG, NPCX_MASK_CMD_ONLY);
++	while (timeout > 0) {
++		/* Read status register */
++		NPCX_UMA_CTS = NPCX_MASK_RD_1BYTE;
++		while (NPCX_IS_BIT_SET(NPCX_UMA_CTS, NPCX_UMA_CTS_EXEC_DONE))
++			;
++
++		if (!(NPCX_UMA_DB0 & NPCX_SPI_FLASH_SR1_BUSY))
++			break;
++
++		if (--timeout > 0)
++			delay(100);
++
++	}; /* Wait for Busy clear */
++
++	/* Chip Select high. */
++	flash_cs_level(1);
++
++	if (timeout == 0)
++		return NPCX_FLASH_STATUS_FAILED_TIMEOUT;
++
++	return NPCX_FLASH_STATUS_OK;
++}
++
++static int flash_write_enable(void)
++{
++	/* Write enable command */
++	flash_execute_cmd(NPCX_CMD_WRITE_EN, NPCX_MASK_CMD_ONLY);
++
++	/* Wait for flash is not busy */
++	int status = flash_wait_ready(NPCX_FLASH_ABORT_TIMEOUT);
++	if (status != NPCX_FLASH_STATUS_OK)
++		return status;
++
++	if (NPCX_UMA_DB0 & NPCX_SPI_FLASH_SR1_WEL)
++		return NPCX_FLASH_STATUS_OK;
++	else
++		return NPCX_FLASH_STATUS_FAILED;
++}
++
++static void flash_burst_write(uint32_t dest_addr, uint16_t bytes,
++		const uint8_t *data)
++{
++	/* Chip Select down -- Burst mode */
++	flash_cs_level(0);
++
++	/* Set write address */
++	flash_set_address(dest_addr);
++	/* Start programming */
++	flash_execute_cmd(NPCX_CMD_FLASH_PROGRAM, NPCX_MASK_CMD_WR_ADR);
++	for (uint32_t i = 0; i < bytes; i++) {
++		flash_execute_cmd(*data, NPCX_MASK_CMD_WR_ONLY);
++		data++;
++	}
++
++	/* Chip Select up */
++	flash_cs_level(1);
++}
++
++/* The data to write cannot cross 256 Bytes boundary */
++static int flash_program_write(uint32_t addr, uint32_t size,
++		const uint8_t *data)
++{
++	int status = flash_write_enable();
++	if (status != NPCX_FLASH_STATUS_OK)
++		return status;
++
++	flash_burst_write(addr, size, data);
++	return flash_wait_ready(NPCX_FLASH_ABORT_TIMEOUT);
++}
++
++int flash_physical_write(uint32_t offset, uint32_t size, const uint8_t *data)
++{
++	int status;
++	uint32_t trunk_start = (offset + 0xff) & ~0xff;
++
++	/* write head */
++	uint32_t dest_addr = offset;
++	uint32_t write_len = ((trunk_start - offset) > size) ? size : (trunk_start - offset);
++
++	if (write_len) {
++		status = flash_program_write(dest_addr, write_len, data);
++		if (status != NPCX_FLASH_STATUS_OK)
++			return status;
++		data += write_len;
++	}
++
++	dest_addr = trunk_start;
++	size -= write_len;
++
++	/* write remaining data*/
++	while (size > 0) {
++		write_len = (size > NPCX_FLASH_WRITE_SIZE) ?
++					NPCX_FLASH_WRITE_SIZE : size;
++
++		status = flash_program_write(dest_addr, write_len, data);
++		if (status != NPCX_FLASH_STATUS_OK)
++			return status;
++
++		data      += write_len;
++		dest_addr += write_len;
++		size      -= write_len;
++	}
++
++	return NPCX_FLASH_STATUS_OK;
++}
++
++int flash_physical_erase(uint32_t offset, uint32_t size)
++{
++	/* Alignment has been checked in upper layer */
++	for (; size > 0; size -= NPCX_FLASH_ERASE_SIZE,
++		offset += NPCX_FLASH_ERASE_SIZE) {
++		/* Enable write */
++		int status = flash_write_enable();
++		if (status != NPCX_FLASH_STATUS_OK)
++			return status;
++
++		/* Set erase address */
++		flash_set_address(offset);
++		/* Start erase */
++		flash_execute_cmd(NPCX_CMD_SECTOR_ERASE, NPCX_MASK_CMD_ADR);
++		/* Wait erase completed */
++		status = flash_wait_ready(NPCX_FLASH_ABORT_TIMEOUT);
++		if (status != NPCX_FLASH_STATUS_OK)
++			return status;
++	}
++
++	return NPCX_FLASH_STATUS_OK;
++}
++
++int flash_physical_erase_all(void)
++{
++	/* Enable write */
++	int status = flash_write_enable();
++	if (status != NPCX_FLASH_STATUS_OK)
++		return status;
++
++	/* Start erase */
++	flash_execute_cmd(NPCX_CMD_CHIP_ERASE, NPCX_MASK_CMD_ONLY);
++
++	/* Wait erase completed */
++	status = flash_wait_ready(NPCX_FLASH_ABORT_TIMEOUT);
++	if (status != NPCX_FLASH_STATUS_OK)
++		return status;
++
++	return NPCX_FLASH_STATUS_OK;
++}
++
++int flash_physical_clear_stsreg(void)
++{
++	/* Enable write */
++	int status = flash_write_enable();
++	if (status != NPCX_FLASH_STATUS_OK)
++		return status;
++
++	NPCX_UMA_DB0 = 0x0;
++	NPCX_UMA_DB1 = 0x0;
++
++	/* Write status register 1/2 */
++	flash_execute_cmd(NPCX_CMD_WRITE_STATUS_REG, NPCX_MASK_CMD_WR_2BYTE);
++
++	/* Wait writing completed */
++	status = flash_wait_ready(NPCX_FLASH_ABORT_TIMEOUT);
++	if (status != NPCX_FLASH_STATUS_OK)
++		return status;
++
++	/* Read status register 1/2 for checking */
++	flash_execute_cmd(NPCX_CMD_READ_STATUS_REG, NPCX_MASK_CMD_RD_1BYTE);
++	if (NPCX_UMA_DB0 != 0x00)
++		return NPCX_FLASH_STATUS_FAILED;
++	flash_execute_cmd(NPCX_CMD_READ_STATUS_REG2, NPCX_MASK_CMD_RD_1BYTE);
++	if (NPCX_UMA_DB0 != 0x00)
++		return NPCX_FLASH_STATUS_FAILED;
++
++	return NPCX_FLASH_STATUS_OK;
++}
++
++int flash_get_id(uint32_t *id)
++{
++	flash_execute_cmd(NPCX_CMD_READ_ID, NPCX_MASK_CMD_RD_3BYTE);
++	*id = NPCX_UMA_DB0 << 16 | NPCX_UMA_DB1 << 8 | NPCX_UMA_DB2;
++
++	return NPCX_FLASH_STATUS_OK;
++}
++
++/*----------------------------------------------------------------------------
++ *                             flash loader function
++ *----------------------------------------------------------------------------*/
++uint32_t flashloader_init(struct npcx_flash_params *params)
++{
++	/* Initialize params buffers */
++	memset(params, 0, sizeof(struct npcx_flash_params));
++
++	return NPCX_FLASH_STATUS_OK;
++}
++
++/*----------------------------------------------------------------------------
++ *                                      Functions
++ *----------------------------------------------------------------------------*/
++/* flashloader parameter structure */
++__attribute__ ((section(".buffers.g_cfg")))
++volatile struct npcx_flash_params g_cfg;
++/* data buffer */
++__attribute__ ((section(".buffers.g_buf")))
++uint8_t g_buf[NPCX_FLASH_LOADER_BUFFER_SIZE];
++
++int main(void)
++{
++	uint32_t id;
++
++	/* set buffer */
++	flashloader_init((struct npcx_flash_params *)&g_cfg);
++
++	/* Avoid F_CS0 toggles while programming the internal flash. */
++	NPCX_SET_BIT(NPCX_DEVALT(0), NPCX_DEVALT0_NO_F_SPI);
++
++	/* clear flash status registers */
++	int status = flash_physical_clear_stsreg();
++	if (status != NPCX_FLASH_STATUS_OK) {
++		while (1)
++			g_cfg.sync = status;
++	}
++
++	while (1) {
++		/* wait command*/
++		while (g_cfg.sync == NPCX_FLASH_LOADER_WAIT)
++			;
++
++		/* command handler */
++		switch (g_cfg.cmd) {
++		case NPCX_FLASH_CMD_GET_FLASH_ID:
++			status = flash_get_id(&id);
++			if (status == NPCX_FLASH_STATUS_OK) {
++				g_buf[0] = id & 0xff;
++				g_buf[1] = (id >> 8) & 0xff;
++				g_buf[2] = (id >> 16) & 0xff;
++				g_buf[3] = 0x00;
++			}
++			break;
++		case NPCX_FLASH_CMD_ERASE_SECTORS:
++			status = flash_physical_erase(g_cfg.addr, g_cfg.len);
++			break;
++		case NPCX_FLASH_CMD_ERASE_ALL:
++			status = flash_physical_erase_all();
++			break;
++		case NPCX_FLASH_CMD_PROGRAM:
++			status = flash_physical_write(g_cfg.addr,
++							g_cfg.len,
++							g_buf);
++			break;
++		default:
++			status = NPCX_FLASH_STATUS_FAILED_UNKNOWN_COMMAND;
++			break;
++		}
++
++		/* clear & set result for next command */
++		if (status != NPCX_FLASH_STATUS_OK) {
++			g_cfg.sync = status;
++			while (1)
++				;
++		} else {
++			g_cfg.sync = NPCX_FLASH_LOADER_WAIT;
++		}
++	}
++
++	return 0;
++}
++
++__attribute__ ((section(".stack")))
++__attribute__ ((used))
++static uint32_t stack[NPCX_FLASH_LOADER_STACK_SIZE / 4];
++extern uint32_t _estack;
++extern uint32_t _bss;
++extern uint32_t _ebss;
++
++__attribute__ ((section(".entry")))
++void entry(void)
++{
++	/* set sp from end of stack */
++	__asm(" ldr sp, =_estack - 4");
++
++	main();
++
++	__asm(" bkpt #0x00");
++}
+diff --git a/contrib/loaders/flash/npcx/npcx_flash.h b/contrib/loaders/flash/npcx/npcx_flash.h
+new file mode 100644
+index 000000000..cc4f1ad50
+--- /dev/null
++++ b/contrib/loaders/flash/npcx/npcx_flash.h
+@@ -0,0 +1,179 @@
++/* SPDX-License-Identifier: GPL-2.0-or-later */
++
++/*
++ * Copyright (C) 2020 by Nuvoton Technology Corporation
++ * Mulin Chao <mlchao@nuvoton.com>
++ * Wealian Liao <WHLIAO@nuvoton.com>
++ */
++
++#ifndef OPENOCD_LOADERS_FLASH_NPCX_NPCX_FLASH_H
++#define OPENOCD_LOADERS_FLASH_NPCX_NPCX_FLASH_H
++
++#include "npcx_flash_config.h"
++
++/* Bit functions */
++#define NPCX_SET_BIT(reg, bit)           ((reg) |= (0x1 << (bit)))
++#define NPCX_CLEAR_BIT(reg, bit)         ((reg) &= (~(0x1 << (bit))))
++#define NPCX_IS_BIT_SET(reg, bit)        (((reg) >> (bit)) & (0x1))
++
++/* Field functions */
++#define NPCX_GET_POS_FIELD(pos, size)    (pos)
++#define NPCX_GET_SIZE_FIELD(pos, size)   (size)
++#define NPCX_FIELD_POS(field)            NPCX_GET_POS_##field
++#define NPCX_FIELD_SIZE(field)           NPCX_GET_SIZE_##field
++/* Read field functions */
++#define NPCX_GET_FIELD(reg, field) \
++	_NPCX_GET_FIELD_((reg), NPCX_FIELD_POS(field), NPCX_FIELD_SIZE(field))
++#define _NPCX_GET_FIELD_(reg, f_pos, f_size) \
++	(((reg) >> (f_pos)) & ((1 << (f_size)) - 1))
++/* Write field functions */
++#define NPCX_SET_FIELD(reg, field, value) \
++	_NPCX_SET_FIELD_((reg), NPCX_FIELD_POS(field), NPCX_FIELD_SIZE(field), (value))
++#define _NPCX_SET_FIELD_(reg, f_pos, f_size, value) \
++	((reg) = ((reg) & (~(((1 << (f_size)) - 1) << (f_pos)))) | ((value) << (f_pos)))
++
++/* Register definitions */
++#define NPCX_REG32_ADDR(addr)            ((volatile uint32_t *)(addr))
++#define NPCX_REG16_ADDR(addr)            ((volatile uint16_t *)(addr))
++#define NPCX_REG8_ADDR(addr)             ((volatile uint8_t  *)(addr))
++
++#define NPCX_HW_BYTE(addr)               (*NPCX_REG8_ADDR(addr))
++#define NPCX_HW_WORD(addr)               (*NPCX_REG16_ADDR(addr))
++#define NPCX_HW_DWORD(addr)              (*NPCX_REG32_ADDR(addr))
++
++/* Devalt */
++#define NPCX_SCFG_BASE_ADDR  0x400C3000
++#define NPCX_DEVCNT          NPCX_HW_BYTE(NPCX_SCFG_BASE_ADDR + 0x000)
++#define NPCX_DEVALT(n)	     NPCX_HW_BYTE(NPCX_SCFG_BASE_ADDR + 0x010 + (n))
++
++#define NPCX_DEVCNT_HIF_TYP_SEL_FIELD    FIELD(2, 2)
++#define NPCX_DEVCNT_JEN0_HEN             4
++#define NPCX_DEVCNT_JEN1_HEN             5
++#define NPCX_DEVCNT_F_SPI_TRIS           6
++
++/* Pin-mux for SPI/FIU */
++#define NPCX_DEVALT0_SPIP_SL             0
++#define NPCX_DEVALT0_GPIO_NO_SPIP        3
++#define NPCX_DEVALT0_F_SPI_CS1_2         4
++#define NPCX_DEVALT0_F_SPI_CS1_1         5
++#define NPCX_DEVALT0_F_SPI_QUAD          6
++#define NPCX_DEVALT0_NO_F_SPI            7
++
++/* Flash Interface Unit (FIU) registers */
++#define NPCX_FIU_BASE_ADDR   0x40020000
++#define NPCX_FIU_CFG         NPCX_HW_BYTE(NPCX_FIU_BASE_ADDR + 0x000)
++#define NPCX_BURST_CFG       NPCX_HW_BYTE(NPCX_FIU_BASE_ADDR + 0x001)
++#define NPCX_RESP_CFG        NPCX_HW_BYTE(NPCX_FIU_BASE_ADDR + 0x002)
++#define NPCX_SPI_FL_CFG      NPCX_HW_BYTE(NPCX_FIU_BASE_ADDR + 0x014)
++#define NPCX_UMA_CODE        NPCX_HW_BYTE(NPCX_FIU_BASE_ADDR + 0x016)
++#define NPCX_UMA_AB0         NPCX_HW_BYTE(NPCX_FIU_BASE_ADDR + 0x017)
++#define NPCX_UMA_AB1         NPCX_HW_BYTE(NPCX_FIU_BASE_ADDR + 0x018)
++#define NPCX_UMA_AB2         NPCX_HW_BYTE(NPCX_FIU_BASE_ADDR + 0x019)
++#define NPCX_UMA_DB0         NPCX_HW_BYTE(NPCX_FIU_BASE_ADDR + 0x01A)
++#define NPCX_UMA_DB1         NPCX_HW_BYTE(NPCX_FIU_BASE_ADDR + 0x01B)
++#define NPCX_UMA_DB2         NPCX_HW_BYTE(NPCX_FIU_BASE_ADDR + 0x01C)
++#define NPCX_UMA_DB3         NPCX_HW_BYTE(NPCX_FIU_BASE_ADDR + 0x01D)
++#define NPCX_UMA_CTS         NPCX_HW_BYTE(NPCX_FIU_BASE_ADDR + 0x01E)
++#define NPCX_UMA_ECTS        NPCX_HW_BYTE(NPCX_FIU_BASE_ADDR + 0x01F)
++#define NPCX_UMA_DB0_3      NPCX_HW_DWORD(NPCX_FIU_BASE_ADDR + 0x020)
++#define NPCX_FIU_RD_CMD      NPCX_HW_BYTE(NPCX_FIU_BASE_ADDR + 0x030)
++#define NPCX_FIU_DMM_CYC     NPCX_HW_BYTE(NPCX_FIU_BASE_ADDR + 0x032)
++#define NPCX_FIU_EXT_CFG     NPCX_HW_BYTE(NPCX_FIU_BASE_ADDR + 0x033)
++#define NPCX_FIU_UMA_AB0_3  NPCX_HW_DWORD(NPCX_FIU_BASE_ADDR + 0x034)
++
++/* FIU register fields */
++#define NPCX_RESP_CFG_IAD_EN             0
++#define NPCX_RESP_CFG_DEV_SIZE_EX        2
++#define NPCX_UMA_CTS_A_SIZE              3
++#define NPCX_UMA_CTS_C_SIZE              4
++#define NPCX_UMA_CTS_RD_WR               5
++#define NPCX_UMA_CTS_DEV_NUM             6
++#define NPCX_UMA_CTS_EXEC_DONE           7
++#define NPCX_UMA_ECTS_SW_CS0             0
++#define NPCX_UMA_ECTS_SW_CS1             1
++#define NPCX_UMA_ECTS_SEC_CS             2
++#define NPCX_UMA_ECTS_UMA_LOCK           3
++
++/* Flash UMA commands for npcx internal SPI flash */
++#define NPCX_CMD_READ_ID                 0x9F
++#define NPCX_CMD_READ_MAN_DEV_ID         0x90
++#define NPCX_CMD_WRITE_EN                0x06
++#define NPCX_CMD_WRITE_STATUS            0x50
++#define NPCX_CMD_READ_STATUS_REG         0x05
++#define NPCX_CMD_READ_STATUS_REG2        0x35
++#define NPCX_CMD_WRITE_STATUS_REG        0x01
++#define NPCX_CMD_FLASH_PROGRAM           0x02
++#define NPCX_CMD_SECTOR_ERASE            0x20
++#define NPCX_CMD_PROGRAM_UINT_SIZE       0x08
++#define NPCX_CMD_PAGE_SIZE               0x00
++#define NPCX_CMD_READ_ID_TYPE            0x47
++#define NPCX_CMD_FAST_READ               0x0B
++#define NPCX_CMD_CHIP_ERASE              0xC7
++
++/*
++ * Status registers for SPI flash
++ */
++#define NPCX_SPI_FLASH_SR2_SUS           (1 << 7)
++#define NPCX_SPI_FLASH_SR2_CMP           (1 << 6)
++#define NPCX_SPI_FLASH_SR2_LB3           (1 << 5)
++#define NPCX_SPI_FLASH_SR2_LB2           (1 << 4)
++#define NPCX_SPI_FLASH_SR2_LB1           (1 << 3)
++#define NPCX_SPI_FLASH_SR2_QE            (1 << 1)
++#define NPCX_SPI_FLASH_SR2_SRP1          (1 << 0)
++#define NPCX_SPI_FLASH_SR1_SRP0          (1 << 7)
++#define NPCX_SPI_FLASH_SR1_SEC           (1 << 6)
++#define NPCX_SPI_FLASH_SR1_TB            (1 << 5)
++#define NPCX_SPI_FLASH_SR1_BP2           (1 << 4)
++#define NPCX_SPI_FLASH_SR1_BP1           (1 << 3)
++#define NPCX_SPI_FLASH_SR1_BP0           (1 << 2)
++#define NPCX_SPI_FLASH_SR1_WEL           (1 << 1)
++#define NPCX_SPI_FLASH_SR1_BUSY          (1 << 0)
++
++#define NPCX_MASK_CMD_ONLY               (0xC0)
++#define NPCX_MASK_CMD_ADR                (0xC0 | 0x08)
++#define NPCX_MASK_CMD_ADR_WR             (0xC0 | 0x20 | 0x08 | 0x01)
++#define NPCX_MASK_RD_1BYTE               (0xC0 | 0x10 | 0x01)
++#define NPCX_MASK_RD_2BYTE               (0xC0 | 0x10 | 0x02)
++#define NPCX_MASK_RD_3BYTE               (0xC0 | 0x10 | 0x03)
++#define NPCX_MASK_RD_4BYTE               (0xC0 | 0x10 | 0x04)
++#define NPCX_MASK_CMD_RD_1BYTE           (0xC0 | 0x01)
++#define NPCX_MASK_CMD_RD_2BYTE           (0xC0 | 0x02)
++#define NPCX_MASK_CMD_RD_3BYTE           (0xC0 | 0x03)
++#define NPCX_MASK_CMD_RD_4BYTE           (0xC0 | 0x04)
++#define NPCX_MASK_CMD_WR_ONLY            (0xC0 | 0x20)
++#define NPCX_MASK_CMD_WR_1BYTE           (0xC0 | 0x20 | 0x10 | 0x01)
++#define NPCX_MASK_CMD_WR_2BYTE           (0xC0 | 0x20 | 0x10 | 0x02)
++#define NPCX_MASK_CMD_WR_ADR             (0xC0 | 0x20 | 0x08)
++
++/* Flash loader parameters */
++struct __attribute__((__packed__)) npcx_flash_params {
++	uint32_t addr; /* Address in flash */
++	uint32_t len;  /* Number of bytes */
++	uint32_t cmd;  /* Command */
++	uint32_t sync; /* Handshake signal */
++};
++
++/* Flash trigger signal */
++enum npcx_flash_handshake {
++	NPCX_FLASH_LOADER_WAIT    = 0x0,       /* Idle */
++	NPCX_FLASH_LOADER_EXECUTE = 0xFFFFFFFF /* Execute Command */
++};
++
++/* Flash loader command */
++enum npcx_flash_commands {
++	NPCX_FLASH_CMD_NO_ACTION = 0, /* No action, default value */
++	NPCX_FLASH_CMD_GET_FLASH_ID,  /* Get the internal flash ID */
++	NPCX_FLASH_CMD_ERASE_SECTORS, /* Erase unprotected sectors */
++	NPCX_FLASH_CMD_ERASE_ALL,     /* Erase all */
++	NPCX_FLASH_CMD_PROGRAM,       /* Program data */
++};
++
++/* Status */
++enum npcx_flash_status {
++	NPCX_FLASH_STATUS_OK = 0,
++	NPCX_FLASH_STATUS_FAILED_UNKNOWN_COMMAND,
++	NPCX_FLASH_STATUS_FAILED,
++	NPCX_FLASH_STATUS_FAILED_TIMEOUT,
++};
++
++#endif /* OPENOCD_LOADERS_FLASH_NPCX_NPCX_FLASH_H */
+diff --git a/contrib/loaders/flash/npcx/npcx_flash.lds b/contrib/loaders/flash/npcx/npcx_flash.lds
+new file mode 100644
+index 000000000..0d782523a
+--- /dev/null
++++ b/contrib/loaders/flash/npcx/npcx_flash.lds
+@@ -0,0 +1,58 @@
++/* SPDX-License-Identifier: GPL-2.0-or-later */
++
++#include "npcx_flash_config.h"
++
++/* Application memory map */
++MEMORY {
++	/* buffer + parameters */
++    BUFFER (RWX)  : ORIGIN = NPCX_FLASH_LOADER_PARAMS_ADDR,
++                      LENGTH = NPCX_FLASH_LOADER_PARAMS_SIZE + NPCX_FLASH_LOADER_BUFFER_SIZE
++
++    PROGRAM (RWX)  : ORIGIN = NPCX_FLASH_LOADER_PROGRAM_ADDR,
++                     LENGTH = NPCX_FLASH_LOADER_PROGRAM_SIZE
++}
++
++/* Sections used for flashing */
++SECTIONS
++{
++	.buffers (NOLOAD) :
++	{
++		_buffers = .;
++		*(.buffers.g_cfg)
++		*(.buffers.g_buf)
++		*(.buffers*)
++		_ebuffers = .;
++	} > BUFFER
++
++	.text :
++	{
++		_text = .;
++		*(.entry*)
++		*(.text*)
++		_etext = .;
++	} > PROGRAM
++
++	.data :
++	{	_data = .;
++		*(.rodata*)
++		*(.data*)
++		_edata = .;
++	} > PROGRAM
++
++	.bss :
++	{
++		__bss_start__ = .;
++		_bss = .;
++		*(.bss*)
++		*(COMMON)
++		_ebss = .;
++		__bss_end__ = .;
++	} > PROGRAM
++
++	.stack (NOLOAD) :
++	{
++		_stack = .;
++		*(.stack*)
++		_estack = .;
++	} > PROGRAM
++}
+diff --git a/contrib/loaders/flash/npcx/npcx_flash_config.h b/contrib/loaders/flash/npcx/npcx_flash_config.h
+new file mode 100644
+index 000000000..9ec1c5e33
+--- /dev/null
++++ b/contrib/loaders/flash/npcx/npcx_flash_config.h
+@@ -0,0 +1,31 @@
++/* SPDX-License-Identifier: GPL-2.0-or-later */
++
++/*
++ * Copyright (C) 2021 by Nuvoton Technology Corporation
++ * Mulin Chao <mlchao@nuvoton.com>
++ * Wealian Liao <WHLIAO@nuvoton.com>
++ */
++
++#ifndef OPENOCD_LOADERS_FLASH_NPCX_NPCX_FLASH_CONFIG_H
++#define OPENOCD_LOADERS_FLASH_NPCX_NPCX_FLASH_CONFIG_H
++
++#define NPCX_FLASH_ABORT_TIMEOUT 0xFFFFFF
++
++/* NPCX chip information */
++#define NPCX_FLASH_WRITE_SIZE 256L   /* One page size for write */
++#define NPCX_FLASH_ERASE_SIZE 0x1000
++
++/* NPCX flash loader information */
++#define NPCX_FLASH_LOADER_WORKING_ADDR 0x200C0000
++#define NPCX_FLASH_LOADER_PARAMS_ADDR NPCX_FLASH_LOADER_WORKING_ADDR
++#define NPCX_FLASH_LOADER_PARAMS_SIZE 16
++#define NPCX_FLASH_LOADER_BUFFER_ADDR (NPCX_FLASH_LOADER_PARAMS_ADDR + NPCX_FLASH_LOADER_PARAMS_SIZE)
++#define NPCX_FLASH_LOADER_BUFFER_SIZE NPCX_FLASH_ERASE_SIZE
++#define NPCX_FLASH_LOADER_PROGRAM_ADDR (NPCX_FLASH_LOADER_BUFFER_ADDR + NPCX_FLASH_LOADER_BUFFER_SIZE)
++#define NPCX_FLASH_LOADER_PROGRAM_SIZE 0x1000
++
++/* Stack size in byte. 4 byte size alignment */
++#define NPCX_FLASH_LOADER_STACK_SIZE 400
++
++
++#endif /* OPENOCD_LOADERS_FLASH_NPCX_NPCX_FLASH_CONFIG_H */
+diff --git a/doc/openocd.texi b/doc/openocd.texi
+index a5b94362f..0c31f8a77 100644
+--- a/doc/openocd.texi
++++ b/doc/openocd.texi
+@@ -6679,7 +6679,18 @@ Show information about flash driver.
+ 
+ @end deffn
+ 
+-@deffn {Flash Driver} nrf5
++@deffn {Flash Driver} {npcx}
++All versions of the NPCX microcontroller families from Nuvoton include internal
++flash. The NPCX flash driver supports the NPCX family of devices. The driver
++automatically recognizes the specific version's flash parameters and
++autoconfigures itself. The flash bank starts at address 0x64000000.
++
++@example
++flash bank $_FLASHNAME npcx 0x64000000 0 0 0 $_TARGETNAME
++@end example
++@end deffn
++
++@deffn {Flash Driver} {nrf5}
+ All members of the nRF51 microcontroller families from Nordic Semiconductor
+ include internal flash and use ARM Cortex-M0 core.
+ Also, the nRF52832 microcontroller from Nordic Semiconductor, which include
+diff --git a/src/flash/nor/Makefile.am b/src/flash/nor/Makefile.am
+index 8c9b2b7ab..5d86caff6 100644
+--- a/src/flash/nor/Makefile.am
++++ b/src/flash/nor/Makefile.am
+@@ -44,6 +44,7 @@ NOR_DRIVERS = \
+ 	%D%/mrvlqspi.c \
+ 	%D%/niietcm4.c \
+ 	%D%/non_cfi.c \
++	%D%/npcx.c \
+ 	%D%/nrf5.c \
+ 	%D%/numicro.c \
+ 	%D%/ocl.c \
+diff --git a/src/flash/nor/drivers.c b/src/flash/nor/drivers.c
+index 570861ec5..217775af2 100644
+--- a/src/flash/nor/drivers.c
++++ b/src/flash/nor/drivers.c
+@@ -56,6 +56,7 @@ extern const struct flash_driver mdr_flash;
+ extern const struct flash_driver mrvlqspi_flash;
+ extern const struct flash_driver msp432_flash;
+ extern const struct flash_driver niietcm4_flash;
++extern const struct flash_driver npcx_flash;
+ extern const struct flash_driver nrf5_flash;
+ extern const struct flash_driver nrf51_flash;
+ extern const struct flash_driver numicro_flash;
+@@ -129,6 +130,7 @@ static const struct flash_driver * const flash_drivers[] = {
+ 	&mrvlqspi_flash,
+ 	&msp432_flash,
+ 	&niietcm4_flash,
++	&npcx_flash,
+ 	&nrf5_flash,
+ 	&nrf51_flash,
+ 	&numicro_flash,
+diff --git a/src/flash/nor/npcx.c b/src/flash/nor/npcx.c
+new file mode 100644
+index 000000000..af623e577
+--- /dev/null
++++ b/src/flash/nor/npcx.c
+@@ -0,0 +1,524 @@
++/* SPDX-License-Identifier: GPL-2.0-or-later */
++
++/*
++ * Copyright (C) 2020 by Nuvoton Technology Corporation
++ * Mulin Chao <mlchao@nuvoton.com>
++ * Wealian Liao <WHLIAO@nuvoton.com>
++ */
++
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif
++
++#include "imp.h"
++#include <helper/binarybuffer.h>
++#include <helper/time_support.h>
++#include <target/armv7m.h>
++#include "../../../contrib/loaders/flash/npcx/npcx_flash.h"
++
++/* NPCX flash loader */
++const uint8_t npcx_algo[] = {
++#include "../../../contrib/loaders/flash/npcx/npcx_algo.inc"
++};
++
++#define NPCX_FLASH_TIMEOUT_MS 8000
++#define NPCX_FLASH_BASE_ADDR 0x64000000
++
++/* flash list */
++enum npcx_flash_device_index {
++	NPCX_FLASH_256KB = 0,
++	NPCX_FLASH_512KB = 1,
++	NPCX_FLASH_1MB = 2,
++	NPCX_FLASH_UNKNOWN,
++};
++
++struct npcx_flash_bank {
++	const char *family_name;
++	uint32_t sector_length;
++	bool probed;
++	enum npcx_flash_device_index flash;
++	struct working_area *working_area;
++	struct armv7m_algorithm armv7m_info;
++	const uint8_t *algo_code;
++	uint32_t algo_size;
++	uint32_t algo_working_size;
++	uint32_t buffer_addr;
++	uint32_t params_addr;
++};
++
++struct npcx_flash_info {
++	char *name;
++	uint32_t id;
++	uint32_t size;
++};
++
++static const struct npcx_flash_info flash_info[] = {
++	[NPCX_FLASH_256KB] = {
++		.name = "256KB Flash",
++		.id = 0xEF4012,
++		.size = 256 * 1024,
++	},
++	[NPCX_FLASH_512KB] = {
++		.name = "512KB Flash",
++		.id = 0xEF4013,
++		.size = 512 * 1024,
++	},
++	[NPCX_FLASH_1MB] = {
++		.name = "1MB Flash",
++		.id = 0xEF4014,
++		.size = 1024 * 1024,
++	},
++	[NPCX_FLASH_UNKNOWN] = {
++		.name = "Unknown Flash",
++		.size = 0xFFFFFFFF,
++	},
++};
++
++static int npcx_init(struct flash_bank *bank)
++{
++	struct target *target = bank->target;
++	struct npcx_flash_bank *npcx_bank = bank->driver_priv;
++
++	/* Check for working area to use for flash helper algorithm */
++	if (npcx_bank->working_area) {
++		target_free_working_area(target, npcx_bank->working_area);
++		npcx_bank->working_area = NULL;
++	}
++
++	int retval = target_alloc_working_area(target, npcx_bank->algo_working_size,
++				&npcx_bank->working_area);
++	if (retval != ERROR_OK)
++		return retval;
++
++	/* Confirm the defined working address is the area we need to use */
++	if (npcx_bank->working_area->address != NPCX_FLASH_LOADER_WORKING_ADDR) {
++		LOG_ERROR("%s: Invalid working address", npcx_bank->family_name);
++		LOG_INFO("Hint: Use '-work-area-phys 0x%" PRIx32 "' in your target configuration",
++			NPCX_FLASH_LOADER_WORKING_ADDR);
++		target_free_working_area(target, npcx_bank->working_area);
++		npcx_bank->working_area = NULL;
++		return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
++	}
++
++	/* Write flash helper algorithm into target memory */
++	retval = target_write_buffer(target, NPCX_FLASH_LOADER_PROGRAM_ADDR,
++				npcx_bank->algo_size, npcx_bank->algo_code);
++	if (retval != ERROR_OK) {
++		LOG_ERROR("%s: Failed to load flash helper algorithm",
++			npcx_bank->family_name);
++		target_free_working_area(target, npcx_bank->working_area);
++		npcx_bank->working_area = NULL;
++		return retval;
++	}
++
++	/* Initialize the ARMv7 specific info to run the algorithm */
++	npcx_bank->armv7m_info.common_magic = ARMV7M_COMMON_MAGIC;
++	npcx_bank->armv7m_info.core_mode = ARM_MODE_THREAD;
++
++	/* Begin executing the flash helper algorithm */
++	retval = target_start_algorithm(target, 0, NULL, 0, NULL,
++				NPCX_FLASH_LOADER_PROGRAM_ADDR, 0,
++				&npcx_bank->armv7m_info);
++	if (retval != ERROR_OK) {
++		LOG_ERROR("%s: Failed to start flash helper algorithm",
++			npcx_bank->family_name);
++		target_free_working_area(target, npcx_bank->working_area);
++		npcx_bank->working_area = NULL;
++		return retval;
++	}
++
++	/*
++	 * At this point, the algorithm is running on the target and
++	 * ready to receive commands and data to flash the target
++	 */
++
++	return retval;
++}
++
++static int npcx_quit(struct flash_bank *bank)
++{
++	struct target *target = bank->target;
++	struct npcx_flash_bank *npcx_bank = bank->driver_priv;
++
++	/* Regardless of the algo's status, attempt to halt the target */
++	(void)target_halt(target);
++
++	/* Now confirm target halted and clean up from flash helper algorithm */
++	int retval = target_wait_algorithm(target, 0, NULL, 0, NULL, 0,
++					NPCX_FLASH_TIMEOUT_MS, &npcx_bank->armv7m_info);
++
++	target_free_working_area(target, npcx_bank->working_area);
++	npcx_bank->working_area = NULL;
++
++	return retval;
++}
++
++static int npcx_wait_algo_done(struct flash_bank *bank, uint32_t params_addr)
++{
++	struct target *target = bank->target;
++	struct npcx_flash_bank *npcx_bank = bank->driver_priv;
++	uint32_t status_addr = params_addr + offsetof(struct npcx_flash_params, sync);
++	uint32_t status;
++	int64_t start_ms = timeval_ms();
++
++	do {
++		int retval = target_read_u32(target, status_addr, &status);
++		if (retval != ERROR_OK)
++			return retval;
++
++		keep_alive();
++
++		int64_t elapsed_ms = timeval_ms() - start_ms;
++		if (elapsed_ms > NPCX_FLASH_TIMEOUT_MS)
++			break;
++	} while (status == NPCX_FLASH_LOADER_EXECUTE);
++
++	if (status != NPCX_FLASH_LOADER_WAIT) {
++		LOG_ERROR("%s: Flash operation failed, status=0x%" PRIx32,
++				npcx_bank->family_name,
++				status);
++		return ERROR_FAIL;
++	}
++
++	return ERROR_OK;
++}
++
++static enum npcx_flash_device_index npcx_get_flash_id(struct flash_bank *bank, uint32_t *flash_id)
++{
++	struct target *target = bank->target;
++	struct npcx_flash_bank *npcx_bank = bank->driver_priv;
++	struct npcx_flash_params algo_params;
++
++	if (target->state != TARGET_HALTED) {
++		LOG_ERROR("Target not halted");
++		return ERROR_TARGET_NOT_HALTED;
++	}
++
++	int retval = npcx_init(bank);
++	if (retval != ERROR_OK)
++		return retval;
++
++	/* Set up algorithm parameters for get flash ID command */
++	target_buffer_set_u32(target, (uint8_t *)&algo_params.cmd, NPCX_FLASH_CMD_GET_FLASH_ID);
++	target_buffer_set_u32(target, (uint8_t *)&algo_params.sync, NPCX_FLASH_LOADER_WAIT);
++
++	/* Issue flash helper algorithm parameters for get flash ID */
++	retval = target_write_buffer(target, npcx_bank->params_addr,
++				sizeof(algo_params), (uint8_t *)&algo_params);
++	if (retval != ERROR_OK) {
++		(void)npcx_quit(bank);
++		return retval;
++	}
++
++	target_buffer_set_u32(target, (uint8_t *)&algo_params.sync, NPCX_FLASH_LOADER_EXECUTE);
++	retval = target_write_buffer(target, npcx_bank->params_addr,
++				sizeof(algo_params), (uint8_t *)&algo_params);
++
++	/* If no error, wait for finishing */
++	if (retval == ERROR_OK) {
++		retval = npcx_wait_algo_done(bank, npcx_bank->params_addr);
++		if (retval == ERROR_OK)
++			target_read_u32(target, NPCX_FLASH_LOADER_BUFFER_ADDR, flash_id);
++	}
++
++	/* Regardless of errors, try to close down algo */
++	(void)npcx_quit(bank);
++
++	return retval;
++}
++
++static int npcx_get_flash(uint32_t flash_id)
++{
++	for (uint32_t i = 0; i < ARRAY_SIZE(flash_info) - 1; i++) {
++		if (flash_info[i].id == flash_id)
++			return i;
++	}
++
++	return NPCX_FLASH_UNKNOWN;
++}
++
++static int npcx_probe(struct flash_bank *bank)
++{
++	struct npcx_flash_bank *npcx_bank = bank->driver_priv;
++	uint32_t sector_length = NPCX_FLASH_ERASE_SIZE;
++	uint32_t flash_id;
++
++	/* Set up appropriate flash helper algorithm */
++	npcx_bank->algo_code = npcx_algo;
++	npcx_bank->algo_size = sizeof(npcx_algo);
++	npcx_bank->algo_working_size = NPCX_FLASH_LOADER_PARAMS_SIZE +
++					NPCX_FLASH_LOADER_BUFFER_SIZE +
++					NPCX_FLASH_LOADER_PROGRAM_SIZE;
++	npcx_bank->buffer_addr = NPCX_FLASH_LOADER_BUFFER_ADDR;
++	npcx_bank->params_addr = NPCX_FLASH_LOADER_PARAMS_ADDR;
++
++	int retval = npcx_get_flash_id(bank, &flash_id);
++	if (retval != ERROR_OK)
++		return retval;
++
++	npcx_bank->flash = npcx_get_flash(flash_id);
++
++	unsigned int num_sectors = flash_info[npcx_bank->flash].size / sector_length;
++
++	bank->sectors = calloc(num_sectors, sizeof(struct flash_sector));
++	if (!bank->sectors) {
++		LOG_ERROR("Out of memory");
++		return ERROR_FAIL;
++	}
++
++	bank->base = NPCX_FLASH_BASE_ADDR;
++	bank->num_sectors = num_sectors;
++	bank->size = num_sectors * sector_length;
++	bank->write_start_alignment = 0;
++	bank->write_end_alignment = 0;
++	npcx_bank->sector_length = sector_length;
++
++	for (unsigned int i = 0; i < num_sectors; i++) {
++		bank->sectors[i].offset = i * sector_length;
++		bank->sectors[i].size = sector_length;
++		bank->sectors[i].is_erased = -1;
++		bank->sectors[i].is_protected = 0;
++	}
++
++	/* We've successfully determined the stats on the flash bank */
++	npcx_bank->probed = true;
++
++	/* If we fall through to here, then all went well */
++	return ERROR_OK;
++}
++
++static int npcx_auto_probe(struct flash_bank *bank)
++{
++	struct npcx_flash_bank *npcx_bank = bank->driver_priv;
++	int retval = ERROR_OK;
++
++	if (!npcx_bank->probed)
++		retval = npcx_probe(bank);
++
++	return retval;
++}
++
++FLASH_BANK_COMMAND_HANDLER(npcx_flash_bank_command)
++{
++	struct npcx_flash_bank *npcx_bank;
++
++	if (CMD_ARGC < 6)
++		return ERROR_COMMAND_SYNTAX_ERROR;
++
++	npcx_bank = calloc(1, sizeof(struct npcx_flash_bank));
++	if (!npcx_bank) {
++		LOG_ERROR("Out of memory");
++		return ERROR_FAIL;
++	}
++
++	/* Initialize private flash information */
++	npcx_bank->family_name = "npcx";
++	npcx_bank->sector_length = NPCX_FLASH_ERASE_SIZE;
++
++	/* Finish initialization of bank */
++	bank->driver_priv = npcx_bank;
++	bank->next = NULL;
++
++	return ERROR_OK;
++}
++
++static int npcx_chip_erase(struct flash_bank *bank)
++{
++	struct target *target = bank->target;
++	struct npcx_flash_bank *npcx_bank = bank->driver_priv;
++	struct npcx_flash_params algo_params;
++
++	if (target->state != TARGET_HALTED) {
++		LOG_ERROR("Target not halted");
++		return ERROR_TARGET_NOT_HALTED;
++	}
++
++	/* Make sure we've probed the flash to get the device and size */
++	int retval = npcx_auto_probe(bank);
++	if (retval != ERROR_OK)
++		return retval;
++
++	retval = npcx_init(bank);
++	if (retval != ERROR_OK)
++		return retval;
++
++	/* Set up algorithm parameters for chip erase command */
++	target_buffer_set_u32(target, (uint8_t *)&algo_params.cmd, NPCX_FLASH_CMD_ERASE_ALL);
++	target_buffer_set_u32(target, (uint8_t *)&algo_params.sync, NPCX_FLASH_LOADER_WAIT);
++
++	/* Set algorithm parameters */
++	retval = target_write_buffer(target, npcx_bank->params_addr,
++				sizeof(algo_params), (uint8_t *)&algo_params);
++	if (retval != ERROR_OK) {
++		(void)npcx_quit(bank);
++		return retval;
++	}
++
++	/* Issue flash helper algorithm parameters for chip erase */
++	target_buffer_set_u32(target, (uint8_t *)&algo_params.sync, NPCX_FLASH_LOADER_EXECUTE);
++	retval = target_write_buffer(target, npcx_bank->params_addr,
++				sizeof(algo_params), (uint8_t *)&algo_params);
++
++	/* If no error, wait for chip erase finish */
++	if (retval == ERROR_OK)
++		retval = npcx_wait_algo_done(bank, npcx_bank->params_addr);
++
++	/* Regardless of errors, try to close down algo */
++	(void)npcx_quit(bank);
++
++	return retval;
++}
++
++static int npcx_erase(struct flash_bank *bank, unsigned int first,
++		unsigned int last)
++{
++	struct target *target = bank->target;
++	struct npcx_flash_bank *npcx_bank = bank->driver_priv;
++	struct npcx_flash_params algo_params;
++
++	if (target->state != TARGET_HALTED) {
++		LOG_ERROR("Target not halted");
++		return ERROR_TARGET_NOT_HALTED;
++	}
++
++	if ((first == 0) && (last == (bank->num_sectors - 1))) {
++		/* Request chip erase */
++		return npcx_chip_erase(bank);
++	}
++
++	uint32_t address = first * npcx_bank->sector_length;
++	uint32_t length = (last - first + 1) * npcx_bank->sector_length;
++
++	/* Make sure we've probed the flash to get the device and size */
++	int retval = npcx_auto_probe(bank);
++	if (retval != ERROR_OK)
++		return retval;
++
++	retval = npcx_init(bank);
++	if (retval != ERROR_OK)
++		return retval;
++
++	/* Set up algorithm parameters for erase command */
++	target_buffer_set_u32(target, (uint8_t *)&algo_params.addr, address);
++	target_buffer_set_u32(target, (uint8_t *)&algo_params.len, length);
++	target_buffer_set_u32(target, (uint8_t *)&algo_params.cmd, NPCX_FLASH_CMD_ERASE_SECTORS);
++	target_buffer_set_u32(target, (uint8_t *)&algo_params.sync, NPCX_FLASH_LOADER_WAIT);
++
++	/* Set algorithm parameters */
++	retval = target_write_buffer(target, npcx_bank->params_addr,
++				sizeof(algo_params), (uint8_t *)&algo_params);
++	if (retval != ERROR_OK) {
++		(void)npcx_quit(bank);
++		return retval;
++	}
++
++	/* Issue flash helper algorithm parameters for erase */
++	target_buffer_set_u32(target, (uint8_t *)&algo_params.sync, NPCX_FLASH_LOADER_EXECUTE);
++	retval = target_write_buffer(target, npcx_bank->params_addr,
++				sizeof(algo_params), (uint8_t *)&algo_params);
++
++	/* If no error, wait for erase to finish */
++	if (retval == ERROR_OK)
++		retval = npcx_wait_algo_done(bank, npcx_bank->params_addr);
++
++	/* Regardless of errors, try to close down algo */
++	(void)npcx_quit(bank);
++
++	return retval;
++}
++
++static int npcx_write(struct flash_bank *bank, const uint8_t *buffer,
++	uint32_t offset, uint32_t count)
++{
++	struct target *target = bank->target;
++	struct npcx_flash_bank *npcx_bank = bank->driver_priv;
++	struct npcx_flash_params algo_params;
++
++	if (target->state != TARGET_HALTED) {
++		LOG_ERROR("Target not halted");
++		return ERROR_TARGET_NOT_HALTED;
++	}
++
++	/* Make sure we've probed the flash to get the device and size */
++	int retval = npcx_auto_probe(bank);
++	if (retval != ERROR_OK)
++		return retval;
++
++	retval = npcx_init(bank);
++	if (retval != ERROR_OK)
++		return retval;
++
++	/* Initialize algorithm parameters to default values */
++	target_buffer_set_u32(target, (uint8_t *)&algo_params.cmd, NPCX_FLASH_CMD_PROGRAM);
++
++	uint32_t address = offset;
++
++	while (count > 0) {
++		uint32_t size = (count > NPCX_FLASH_LOADER_BUFFER_SIZE) ?
++							NPCX_FLASH_LOADER_BUFFER_SIZE : count;
++
++		/* Put the data into buffer */
++		retval = target_write_buffer(target, npcx_bank->buffer_addr,
++					size, buffer);
++		if (retval != ERROR_OK) {
++			LOG_ERROR("Unable to write data to target memory");
++			break;
++		}
++
++		/* Update algo parameters for flash write */
++		target_buffer_set_u32(target, (uint8_t *)&algo_params.addr, address);
++		target_buffer_set_u32(target, (uint8_t *)&algo_params.len, size);
++		target_buffer_set_u32(target, (uint8_t *)&algo_params.sync, NPCX_FLASH_LOADER_WAIT);
++
++		/* Set algorithm parameters */
++		retval = target_write_buffer(target, npcx_bank->params_addr,
++				sizeof(algo_params), (uint8_t *)&algo_params);
++		if (retval != ERROR_OK)
++			break;
++
++		/* Issue flash helper algorithm parameters for flash write */
++		target_buffer_set_u32(target, (uint8_t *)&algo_params.sync, NPCX_FLASH_LOADER_EXECUTE);
++		retval = target_write_buffer(target, npcx_bank->params_addr,
++				sizeof(algo_params), (uint8_t *)&algo_params);
++		if (retval != ERROR_OK)
++			break;
++
++		/* Wait for flash write finish */
++		retval = npcx_wait_algo_done(bank, npcx_bank->params_addr);
++		if (retval != ERROR_OK)
++			break;
++
++		count -= size;
++		buffer += size;
++		address += size;
++	}
++
++	/* Regardless of errors, try to close down algo */
++	(void)npcx_quit(bank);
++
++	return retval;
++}
++
++static int npcx_info(struct flash_bank *bank, struct command_invocation *cmd)
++{
++	struct npcx_flash_bank *npcx_bank = bank->driver_priv;
++
++	command_print_sameline(cmd, "%s flash: %s\n",
++					npcx_bank->family_name,
++					flash_info[npcx_bank->flash].name);
++
++	return ERROR_OK;
++}
++
++const struct flash_driver npcx_flash = {
++	.name = "npcx",
++	.flash_bank_command = npcx_flash_bank_command,
++	.erase = npcx_erase,
++	.write = npcx_write,
++	.read = default_flash_read,
++	.probe = npcx_probe,
++	.auto_probe = npcx_auto_probe,
++	.erase_check = default_flash_blank_check,
++	.info = npcx_info,
++	.free_driver_priv = default_flash_free_driver_priv,
++};
+diff --git a/tcl/board/npcx_evb.cfg b/tcl/board/npcx_evb.cfg
+new file mode 100644
+index 000000000..4f28bc964
+--- /dev/null
++++ b/tcl/board/npcx_evb.cfg
+@@ -0,0 +1,8 @@
++# SPDX-License-Identifier: GPL-2.0-or-later
++
++# Nuvoton NPCX Evaluation Board
++
++source [find interface/jlink.cfg]
++transport select swd
++
++source [find target/npcx.cfg]
+diff --git a/tcl/target/npcx.cfg b/tcl/target/npcx.cfg
+new file mode 100644
+index 000000000..1a21e1f7f
+--- /dev/null
++++ b/tcl/target/npcx.cfg
+@@ -0,0 +1,51 @@
++# SPDX-License-Identifier: GPL-2.0-or-later
++
++# script for Nuvoton NPCX Cortex-M4 Series
++
++# Adapt based on what transport is active.
++source [find target/swj-dp.tcl]
++
++# Set Chipname
++if { [info exists CHIPNAME] } {
++	set _CHIPNAME $CHIPNAME
++} else {
++	set _CHIPNAME NPCX_M4
++}
++
++# SWD DAP ID of Nuvoton NPCX Cortex-M4.
++if { [info exists CPUDAPID ] } {
++   set _CPUDAPID $CPUDAPID
++} else {
++   set _CPUDAPID 0x4BA00477
++}
++
++# Work-area is a space in RAM used for flash programming
++# By default use 32kB
++if { [info exists WORKAREASIZE] } {
++   set _WORKAREASIZE $WORKAREASIZE
++} else {
++   set _WORKAREASIZE 0x8000
++}
++
++# Debug Adapter Target Settings
++swj_newdap $_CHIPNAME cpu -irlen 4 -expected-id $_CPUDAPID
++dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
++set _TARGETNAME $_CHIPNAME.cpu
++target create $_TARGETNAME cortex_m -endian little -dap $_CHIPNAME.dap
++
++$_TARGETNAME configure -work-area-phys 0x200c0000 -work-area-size $_WORKAREASIZE -work-area-backup 0
++
++# Initial JTAG/SWD speed
++# For safety purposes, set for the lowest cpu clock configuration
++# 4MHz / 6 = 666KHz, so use 600KHz for it
++adapter speed 600
++
++# For safety purposes, set for the lowest cpu clock configuration
++$_TARGETNAME configure -event reset-start {adapter speed 600}
++
++# use sysresetreq to perform a system reset
++cortex_m reset_config sysresetreq
++
++# flash configuration
++set _FLASHNAME $_CHIPNAME.flash
++flash bank $_FLASHNAME npcx 0x64000000 0 0 0 $_TARGETNAME
+-- 
+2.36.1.476.g0c4daa206d-goog
+
diff --git a/dev-embedded/openocd/files/openocd-0.10.0-add-stm32h7x-config-file.patch b/dev-embedded/openocd/files/openocd-0.10.0-add-stm32h7x-config-file.patch
deleted file mode 100644
index 32b7010..0000000
--- a/dev-embedded/openocd/files/openocd-0.10.0-add-stm32h7x-config-file.patch
+++ /dev/null
@@ -1,173 +0,0 @@
-From b6f9101aba52de945f7c115cec0e0831eea20f4e Mon Sep 17 00:00:00 2001
-From: Alexandre TORGUE <alexandre.torgue@st.com>
-Date: Mon, 17 Jul 2017 13:59:16 +0200
-Subject: [PATCH 2/2] Add stm32h7x.cfg config file
-
-Change-Id: I2aae2c5acff4f3ff8e1bf232fda5a11a87f71703
-Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com>
----
- tcl/target/stm32h7x.cfg | 152 ++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 152 insertions(+)
- create mode 100644 tcl/target/stm32h7x.cfg
-
-diff --git a/tcl/target/stm32h7x.cfg b/tcl/target/stm32h7x.cfg
-new file mode 100644
-index 00000000..a50d956f
---- /dev/null
-+++ b/tcl/target/stm32h7x.cfg
-@@ -0,0 +1,152 @@
-+# script for stm32h7x family
-+
-+#
-+# stm32h7 devices support both JTAG and SWD transports.
-+#
-+source [find target/swj-dp.tcl]
-+source [find mem_helper.tcl]
-+
-+if { [info exists CHIPNAME] } {
-+   set _CHIPNAME $CHIPNAME
-+} else {
-+   set _CHIPNAME stm32h7x
-+}
-+
-+set _ENDIAN little
-+
-+# Work-area is a space in RAM used for flash programming
-+# By default use 64kB
-+if { [info exists WORKAREASIZE] } {
-+   set _WORKAREASIZE $WORKAREASIZE
-+} else {
-+   set _WORKAREASIZE 0x10000
-+}
-+
-+#jtag scan chain
-+if { [info exists CPUTAPID] } {
-+   set _CPUTAPID $CPUTAPID
-+} else {
-+   if { [using_jtag] } {
-+	  set _CPUTAPID 0x6ba00477
-+   } {
-+      set _CPUTAPID 0x6ba02477
-+   }
-+}
-+
-+swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
-+
-+if { [info exists BSTAPID] } {
-+   set _BSTAPID1 $BSTAPID
-+} else {
-+  # See STM Document RM0399
-+  # Section 40.6.1
-+  # STM32H74xxI
-+  set _BSTAPID1 0x06450041
-+}
-+
-+if {[using_jtag]} {
-+ swj_newdap $_CHIPNAME bs -irlen 5 -expected-id $_BSTAPID1
-+}
-+
-+set _TARGETNAME $_CHIPNAME.cpu
-+target create $_TARGETNAME cortex_m -endian $_ENDIAN -chain-position $_TARGETNAME
-+
-+$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0
-+
-+set _FLASHNAME $_CHIPNAME.flash
-+flash bank $_FLASHNAME stm32h7x 0x08000000 0 0 0 $_TARGETNAME
-+
-+# check for second flash bank
-+if { [regexp -nocase {stm32h74..i..|stm32h75..i..} $_CHIPNAME] } {
-+	# STM32H7xxxI 2Mo have a dual bank flash.
-+	# Add the second flash bank.
-+	set _FLASHNAME $_CHIPNAME.flash1
-+	flash bank $_FLASHNAME stm32h7x 0x08100000 0 0 0 $_TARGETNAME
-+}
-+
-+
-+# Clock after reset is HSI at 64 MHz, no need of PLL
-+if { [info exists CLOCK_FREQ] } {
-+	set _CLOCK_FREQ $CLOCK_FREQ
-+} else {
-+	set _CLOCK_FREQ 1800
-+}
-+adapter_khz 1800
-+
-+
-+adapter_nsrst_delay 100
-+if {[using_jtag]} {
-+ jtag_ntrst_delay 100
-+}
-+
-+if {![using_hla]} {
-+   # if srst is not fitted use SYSRESETREQ to
-+   # perform a soft reset
-+   cortex_m reset_config sysresetreq
-+}
-+
-+$_TARGETNAME configure -event trace-config {
-+	# Set TRACE_CLKEN; TRACE_MODE is set to async; when using sync
-+	# change this value accordingly to configure trace pins
-+	# assignment
-+	mmw 0x5C001004 0x00100000 0
-+}
-+
-+$_TARGETNAME configure -event reset-init {
-+global ENABLE_LOW_POWER
-+global STOP_WATCHDOG
-+global _CLOCK_FREQ
-+
-+	# Not done in target examine-end because device can be under reset and we get comm errors
-+
-+	# Enable D3 and D1 DBG clocks
-+	# DBGMCU_CR |= DBG_CKEN_D3 | DBG_CKEN_D1
-+	mmw 0x5C001004 0x00600000 0
-+
-+	if { [expr ($ENABLE_LOW_POWER == 1)] } {
-+		# Enable debug during low power modes (uses more power)
-+		# DBGMCU_CR |= DBG_STANDBY | DBG_STOP | DBG_SLEEP in D3, D2 & D1 Domains
-+		mmw 0x5C001004 0x000001BF 0
-+	}
-+	if { [expr ($ENABLE_LOW_POWER == 0)] } {
-+		# Disable debug during low power modes
-+		# DBGMCU_CR |= ~(DBG_STANDBY | DBG_STOP | DBG_SLEEP)
-+		mmw 0x5C001004 0 0x000001BF
-+	}
-+	if { [expr ($STOP_WATCHDOG == 1)] } {
-+		# Stop watchdog counters during halt
-+		# DBGMCU_D1APB1_FZ |= DBG_WWDG1_STOP
-+		mmw 0x5C001034 0x00000040 0
-+		# DBGMCU_D2APB1_FZ |= DBG_WWDG2_STOP
-+		mmw 0x5C00103C 0x00000800 0
-+		# DBGMCU_D3APB1_FZ |= DBG_WDGLSD2_STOP | DBG_WDGLSD1_STOP
-+		mmw 0x5C001054 0x000C0000 0
-+	}
-+	if { [expr ($STOP_WATCHDOG == 0)] } {
-+		# Don't stop watchdog counters during halt
-+		# DBGMCU_D1APB1_FZ |= ~DBG_WWDG1_STOP
-+		mmw 0x5C001034 0 0x00000040
-+		# DBGMCU_D2APB1_FZ |= ~DBG_WWDG2_STOP
-+		mmw 0x5C00103C 0 0x00000800
-+		# DBGMCU_D3APB1_FZ |= ~(DBG_WDGLSD2_STOP | DBG_WDGLSD1_STOP)
-+		mmw 0x5C001054 0 0x000C0000
-+	}
-+	if { [expr ($ENABLE_LOW_POWER == 0)] && [expr ($STOP_WATCHDOG == 0)] } {
-+		# Disable D3 and D1 DBG clocks
-+		# DBGMCU_CR |= ~(DBG_CKEN_D3 | DBG_CKEN_D1)
-+		mmw 0x5C001004 0 0x00600000
-+	}
-+
-+	# Clock after reset is HSI at 64 MHz, no need of PLL
-+	adapter_khz $_CLOCK_FREQ
-+}
-+
-+$_TARGETNAME configure -event gdb-attach {
-+global CONNECT_UNDER_RESET
-+
-+	# Needed to be able to use the connect_assert_srst in reset_config
-+	# otherwise, can't read device flash size register
-+	if { [expr ($CONNECT_UNDER_RESET == 1)] } {
-+		reset init
-+	}
-+}
--- 
-2.14.1.821.g8fa685d3b7-goog
-
diff --git a/dev-embedded/openocd/files/openocd-0.10.0-add-stm32h7x-driver-support.patch b/dev-embedded/openocd/files/openocd-0.10.0-add-stm32h7x-driver-support.patch
deleted file mode 100644
index 8e393b3..0000000
--- a/dev-embedded/openocd/files/openocd-0.10.0-add-stm32h7x-driver-support.patch
+++ /dev/null
@@ -1,1348 +0,0 @@
-From 5aceb7b2b44be4e135221afe0f5e04d47ab560c8 Mon Sep 17 00:00:00 2001
-From: Alexandre TORGUE <alexandre.torgue@st.com>
-Date: Mon, 17 Jul 2017 13:56:18 +0200
-Subject: [PATCH 1/2] flash: Add new stm32h7x driver support
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Add basic support for:
-     -STM32H7x (Embedded flash 2M)
-
-Erase and write tested on stm32h743.
-
-Change-Id: Ie8d8786227cdeee39fcf5663167a053ad8dcef4c
-Signed-off-by: Rémi Prud'homme <remi.prudhomme@st.com>
-Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com>
----
- doc/openocd.texi          |   27 +
- Makefile.in               |    5 ++++-
- src/flash/nor/Makefile.am |    1 +
- src/flash/nor/drivers.c   |    2 +
- src/flash/nor/stm32h7x.c  | 1214 +++++++++++++++++++++++++++++++++++++++++++++
- 5 files changed, 1248 insertions(+), 1 deletion(-)
- create mode 100644 src/flash/nor/stm32h7x.c
-
-diff --git a/doc/openocd.texi b/doc/openocd.texi
-index 45b341c4..4c85f389 100644
---- a/doc/openocd.texi
-+++ b/doc/openocd.texi
-@@ -5868,6 +5868,33 @@ two halfwords (of FLASH_OPTCR1).
- @end deffn
- @end deffn
- 
-+@deffn {Flash Driver} stm32h7x
-+All members of the STM32H7 microcontroller families from ST Microelectronics
-+include internal flash and use ARM Cortex-M7 core.
-+The driver automatically recognizes a number of these chips using
-+the chip identification register, and autoconfigures itself.
-+
-+Note that some devices have been found that have a flash size register that contains
-+an invalid value, to workaround this issue you can override the probed value used by
-+the flash driver.
-+
-+@example
-+flash bank $_FLASHNAME stm32h7x 0 0x20000 0 0 $_TARGETNAME
-+@end example
-+
-+Some stm32h7x-specific commands are defined:
-+
-+@deffn Command {stm32h7x lock} num
-+Locks the entire stm32 device.
-+The @var{num} parameter is a value shown by @command{flash banks}.
-+@end deffn
-+
-+@deffn Command {stm32h7x unlock} num
-+Unlocks the entire stm32 device.
-+The @var{num} parameter is a value shown by @command{flash banks}.
-+@end deffn
-+@end deffn
-+
- @deffn {Flash Driver} stm32lx
- All members of the STM32L microcontroller families from ST Microelectronics
- include internal flash and use ARM Cortex-M3 and Cortex-M0+ cores.
-diff --git a/src/flash/nor/Makefile.am b/src/flash/nor/Makefile.am
-index 727e4f2f..22999006 100644
---- a/src/flash/nor/Makefile.am
-+++ b/src/flash/nor/Makefile.am
-@@ -48,6 +48,7 @@ NOR_DRIVERS = \
- 	%D%/stm32f2x.c \
- 	%D%/stm32lx.c \
- 	%D%/stm32l4x.c \
-+	%D%/stm32h7x.c \
- 	%D%/str7x.c \
- 	%D%/str9x.c \
- 	%D%/str9xpec.c \
-diff --git a/Makefile.in b/Makefile.in
-index 3c393aa..74b684f 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -251,7 +251,7 @@ am__objects_3 = src/flash/nor/aduc702x.lo src/flash/nor/aducm360.lo \
- 	src/flash/nor/psoc4.lo src/flash/nor/sim3x.lo \
- 	src/flash/nor/spi.lo src/flash/nor/stmsmi.lo \
- 	src/flash/nor/stellaris.lo src/flash/nor/stm32f1x.lo \
--	src/flash/nor/stm32f2x.lo src/flash/nor/stm32lx.lo \
-+	src/flash/nor/stm32f2x.lo src/flash/nor/stm32h7x.lo src/flash/nor/stm32lx.lo \
- 	src/flash/nor/stm32l4x.lo src/flash/nor/str7x.lo \
- 	src/flash/nor/str9x.lo src/flash/nor/str9xpec.lo \
- 	src/flash/nor/tms470.lo src/flash/nor/virtual.lo \
-@@ -1504,6 +1504,7 @@ NOR_DRIVERS = \
- 	src/flash/nor/stellaris.c \
- 	src/flash/nor/stm32f1x.c \
- 	src/flash/nor/stm32f2x.c \
-+	src/flash/nor/stm32h7x.c \
- 	src/flash/nor/stm32lx.c \
- 	src/flash/nor/stm32l4x.c \
- 	src/flash/nor/str7x.c \
-@@ -1793,6 +1794,8 @@ src/flash/nor/stm32f1x.lo: src/flash/nor/$(am__dirstamp) \
- 	src/flash/nor/$(DEPDIR)/$(am__dirstamp)
- src/flash/nor/stm32f2x.lo: src/flash/nor/$(am__dirstamp) \
- 	src/flash/nor/$(DEPDIR)/$(am__dirstamp)
-+src/flash/nor/stm32h7x.lo: src/flash/nor/$(am__dirstamp) \
-+	src/flash/nor/$(DEPDIR)/$(am__dirstamp)
- src/flash/nor/stm32lx.lo: src/flash/nor/$(am__dirstamp) \
- 	src/flash/nor/$(DEPDIR)/$(am__dirstamp)
- src/flash/nor/stm32l4x.lo: src/flash/nor/$(am__dirstamp) \
-diff --git a/src/flash/nor/drivers.c b/src/flash/nor/drivers.c
-index 56a5cb24..b9bc7323 100644
---- a/src/flash/nor/drivers.c
-+++ b/src/flash/nor/drivers.c
-@@ -58,6 +58,7 @@ extern struct flash_driver stm32f1x_flash;
- extern struct flash_driver stm32f2x_flash;
- extern struct flash_driver stm32lx_flash;
- extern struct flash_driver stm32l4x_flash;
-+extern struct flash_driver stm32h7x_flash;
- extern struct flash_driver stmsmi_flash;
- extern struct flash_driver str7x_flash;
- extern struct flash_driver str9x_flash;
-@@ -110,6 +111,7 @@ static struct flash_driver *flash_drivers[] = {
- 	&stm32f2x_flash,
- 	&stm32lx_flash,
- 	&stm32l4x_flash,
-+	&stm32h7x_flash,
- 	&stmsmi_flash,
- 	&str7x_flash,
- 	&str9x_flash,
-diff --git a/src/flash/nor/stm32h7x.c b/src/flash/nor/stm32h7x.c
-new file mode 100644
-index 00000000..2298e4d0
---- /dev/null
-+++ b/src/flash/nor/stm32h7x.c
-@@ -0,0 +1,1214 @@
-+/***************************************************************************
-+ *                                                                         *
-+ *   This program is free software; you can redistribute it and/or modify  *
-+ *   it under the terms of the GNU General Public License as published by  *
-+ *   the Free Software Foundation; either version 2 of the License, or     *
-+ *   (at your option) any later version.                                   *
-+ *                                                                         *
-+ *   This program is distributed in the hope that it will be useful,       *
-+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
-+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
-+ *   GNU General Public License for more details.                          *
-+ *                                                                         *
-+ ***************************************************************************/
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
-+#include "imp.h"
-+#include <helper/binarybuffer.h>
-+#include <target/algorithm.h>
-+#include <target/armv7m.h>
-+
-+/* Erase time can be as high as 1000ms, 10x this and it's toast... */
-+#define FLASH_ERASE_TIMEOUT 10000
-+#define FLASH_WRITE_TIMEOUT 5
-+
-+/* RM 399 */
-+#define FLASH_ACR       0x00
-+#define FLASH_KEYR      0x04
-+#define FLASH_OPTKEYR   0x08
-+#define FLASH_CR        0x0C
-+#define FLASH_SR        0x10
-+#define FLASH_CCR       0x14
-+#define FLASH_OPTCR     0x18
-+#define FLASH_OPTCUR    0x1C
-+#define FLASH_OPTPRG    0x20
-+#define FLASH_OPTCCR    0x24
-+#define FLASH_WPSNCUR   0x38
-+#define FLASH_WPSNPRG   0x3C
-+
-+/* FLASH_CR register bits */
-+#define FLASH_LOCK     (1 << 0)
-+#define FLASH_PG       (1 << 1)
-+#define FLASH_SER      (1 << 2)
-+#define FLASH_BER_CMD  (1 << 3)
-+#define FLASH_PSIZE_8  (0 << 4)
-+#define FLASH_PSIZE_16 (1 << 4)
-+#define FLASH_PSIZE_32 (2 << 4)
-+#define FLASH_PSIZE_64 (3 << 4)
-+#define FLASH_FW       (1 << 6)
-+#define FLASH_START    (1 << 7)
-+
-+#define FLASH_SNB(a)   ((((a) >= 8) ? (((a) - 8) << 8) : (a)) << 8)
-+
-+/* FLASH_SR register bits */
-+#define FLASH_BSY      (1 << 0)  /* Operation in progress */
-+#define FLASH_EOP      (1 << 16) /* End of OPeration */
-+#define FLASH_WRPERR   (1 << 17) /* Write protection error */
-+#define FLASH_PGSERR   (1 << 18) /* Programming sequence error */
-+#define FLASH_STRBERR  (1 << 19) /* Strobe error */
-+#define FLASH_INCERR   (1 << 21) /* Increment error */
-+#define FLASH_OPERR    (1 << 22) /* Operation error */
-+#define FLASH_RDPERR   (1 << 23) /* Read Protection error */
-+#define FLASH_RDSERR   (1 << 24) /* Secure Protection error */
-+#define FLASH_SNECCERR (1 << 25) /* Single ECC error */
-+#define FLASH_DBECCERR (1 << 26) /* Double ECC error */
-+
-+#define FLASH_ERROR (FLASH_WRPERR | FLASH_PGSERR | FLASH_STRBERR | FLASH_INCERR | FLASH_OPERR | \
-+					 FLASH_RDPERR | FLASH_RDSERR | FLASH_SNECCERR | FLASH_DBECCERR)
-+
-+/* FLASH_OPTCR register bits */
-+#define OPT_LOCK       (1 << 0)
-+#define OPT_START      (1 << 1)
-+
-+/* FLASH_OPTCUR bit definitions (reading) */
-+#define OPT_BUSY       (1 << 0)
-+#define OPT_BOR0       (1 << 2)
-+#define OPT_BOR1       (1 << 3)
-+#define IDWG1_SW       (1 << 4)
-+#define IDWG2_SW       (1 << 5)
-+#define RSTSTOP_D1     (1 << 6)
-+#define RSTSTBY_D1     (1 << 7)
-+#define FZ_IWDGSTOP    (1 << 16)
-+#define FZ_IWDGSTBY    (1 << 17)
-+#define RSTSTOP_D2     (1 << 24)
-+#define RSTSTBY_D2     (1 << 25)
-+#define CHANGE_ERR     (1 << 30)
-+#define SWAP_BANK      (1 << 31)
-+
-+/* register unlock keys */
-+#define KEY1           0x45670123
-+#define KEY2           0xCDEF89AB
-+
-+/* option register unlock key */
-+#define OPTKEY1        0x08192A3B
-+#define OPTKEY2        0x4C5D6E7F
-+
-+#define DBGMCU_IDCODE_REGISTER  0x5C001000
-+#define FLASH_BANK0_ADDRESS     0x08000000
-+#define FLASH_BANK1_ADDRESS     0x08100000
-+#define FLASH_REG_BASE_B0       0x52002000
-+#define FLASH_REG_BASE_B1       0x52002100
-+
-+#define FLASH_BLOCK_SIZE        32
-+
-+struct stm32h7x_rev {
-+	uint16_t rev;
-+	const char *str;
-+};
-+
-+struct stm32x_options {
-+	uint8_t RDP;
-+	uint32_t protection;  /* bank1 WRP */
-+	uint32_t protection2; /* bank2 WRP */
-+	uint8_t user_options;
-+	uint8_t user2_options;
-+	uint8_t user3_options;
-+	uint8_t independent_watchdog_selection;
-+	uint8_t independent_watchdog_selection2;
-+};
-+
-+struct stm32h7x_part_info {
-+	uint16_t id;
-+	const char *device_str;
-+	const struct stm32h7x_rev *revs;
-+	size_t num_revs;
-+	unsigned int page_size;
-+	unsigned int pages_per_sector;
-+	uint16_t max_flash_size_kb;
-+	uint8_t has_dual_bank;
-+	uint16_t first_bank_size_kb; /* Used when has_dual_bank is true */
-+	uint32_t flash_base;         /* Flash controller registers location */
-+	uint32_t fsize_base;         /* Location of FSIZE register */
-+};
-+
-+struct stm32h7x_flash_bank {
-+	int probed;
-+	uint32_t idcode;
-+	uint32_t user_bank_size;
-+	uint32_t flash_base;    /* Address of flash reg controller */
-+	struct stm32x_options option_bytes;
-+	const struct stm32h7x_part_info *part_info;
-+};
-+
-+static const struct stm32h7x_rev stm32_450_revs[] = {
-+	{ 0x1000, "A" }, { 0x1001, "Z" }, { 0x1003, "Y" },
-+};
-+
-+static const struct stm32h7x_part_info stm32h7x_parts[] = {
-+	{
-+		.id					= 0x450,
-+		.revs				= stm32_450_revs,
-+		.num_revs			= ARRAY_SIZE(stm32_450_revs),
-+		.device_str			= "STM32H7xx 2M",
-+		.page_size			= 128,  /* 128 KB */
-+		.max_flash_size_kb	= 2048,
-+		.first_bank_size_kb	= 1024,
-+		.has_dual_bank		= 1,
-+		.flash_base			= 0x52002000,
-+		.fsize_base			= 0x1FF1E880,
-+	},
-+};
-+
-+static int stm32x_unlock_reg(struct flash_bank *bank);
-+static int stm32x_lock_reg(struct flash_bank *bank);
-+static int stm32x_probe(struct flash_bank *bank);
-+
-+/* flash bank stm32x <base> <size> 0 0 <target#> */
-+
-+FLASH_BANK_COMMAND_HANDLER(stm32x_flash_bank_command)
-+{
-+	struct stm32h7x_flash_bank *stm32x_info;
-+
-+	if (CMD_ARGC < 6)
-+		return ERROR_COMMAND_SYNTAX_ERROR;
-+
-+	stm32x_info = malloc(sizeof(struct stm32h7x_flash_bank));
-+	bank->driver_priv = stm32x_info;
-+
-+	stm32x_info->probed = 0;
-+	stm32x_info->user_bank_size = bank->size;
-+
-+	return ERROR_OK;
-+}
-+
-+static inline int stm32x_get_flash_reg(struct flash_bank *bank, uint32_t reg)
-+{
-+	struct stm32h7x_flash_bank *stm32x_info = bank->driver_priv;
-+	return reg + stm32x_info->flash_base;
-+}
-+
-+static inline int stm32x_get_flash_status(struct flash_bank *bank, uint32_t *status)
-+{
-+	struct target *target = bank->target;
-+	return target_read_u32(target, stm32x_get_flash_reg(bank, FLASH_SR), status);
-+}
-+
-+static int stm32x_wait_status_busy(struct flash_bank *bank, int timeout)
-+{
-+	struct target *target = bank->target;
-+	struct stm32h7x_flash_bank *stm32x_info = bank->driver_priv;
-+	uint32_t status;
-+	int retval;
-+
-+	/* wait for busy to clear */
-+	for (;;) {
-+		retval = stm32x_get_flash_status(bank, &status);
-+		if (retval != ERROR_OK) {
-+			LOG_INFO("wait_status_busy, target_read_u32 : error : remote address 0x%x", stm32x_info->flash_base);
-+			return retval;
-+		}
-+
-+		if ((status & FLASH_BSY) == 0)
-+			break;
-+
-+		if (timeout-- <= 0) {
-+			LOG_INFO("wait_status_busy, time out expired, status: 0x%" PRIx32 "", status);
-+			return ERROR_FAIL;
-+		}
-+		alive_sleep(1);
-+	}
-+
-+	if (status & FLASH_WRPERR) {
-+		LOG_INFO("wait_status_busy, WRPERR : error : remote address 0x%x", stm32x_info->flash_base);
-+		retval = ERROR_FAIL;
-+	}
-+
-+	/* Clear error + EOP flags but report errors */
-+	if (status & FLASH_ERROR) {
-+		/* If this operation fails, we ignore it and report the original retval */
-+		target_write_u32(target, stm32x_get_flash_reg(bank, FLASH_CCR), status);
-+	}
-+	return retval;
-+}
-+
-+static int stm32x_unlock_reg(struct flash_bank *bank)
-+{
-+	uint32_t ctrl;
-+	struct target *target = bank->target;
-+
-+	/* first check if not already unlocked
-+	 * otherwise writing on FLASH_KEYR will fail
-+	 */
-+	int retval = target_read_u32(target, stm32x_get_flash_reg(bank, FLASH_CR), &ctrl);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	if ((ctrl & FLASH_LOCK) == 0)
-+		return ERROR_OK;
-+
-+	/* unlock flash registers for bank */
-+	retval = target_write_u32(target, stm32x_get_flash_reg(bank, FLASH_KEYR), KEY1);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	retval = target_write_u32(target, stm32x_get_flash_reg(bank, FLASH_KEYR), KEY2);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	retval = target_read_u32(target, stm32x_get_flash_reg(bank, FLASH_CR), &ctrl);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	if (ctrl & FLASH_LOCK) {
-+		LOG_ERROR("flash not unlocked STM32_FLASH_CRx: %" PRIx32, ctrl);
-+		return ERROR_TARGET_FAILURE;
-+	}
-+	return ERROR_OK;
-+}
-+
-+static int stm32x_unlock_option_reg(struct flash_bank *bank)
-+{
-+	uint32_t ctrl;
-+	struct target *target = bank->target;
-+
-+	int retval = target_read_u32(target, FLASH_REG_BASE_B0 + FLASH_OPTCR, &ctrl);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	if ((ctrl & OPT_LOCK) == 0)
-+		return ERROR_OK;
-+
-+	/* unlock option registers */
-+	retval = target_write_u32(target, FLASH_REG_BASE_B0 + FLASH_OPTKEYR, OPTKEY1);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	retval = target_write_u32(target, FLASH_REG_BASE_B0 + FLASH_OPTKEYR, OPTKEY2);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	retval = target_read_u32(target, FLASH_REG_BASE_B0 + FLASH_OPTCR, &ctrl);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	if (ctrl & OPT_LOCK) {
-+		LOG_ERROR("options not unlocked STM32_FLASH_OPTCR: %" PRIx32, ctrl);
-+		return ERROR_TARGET_FAILURE;
-+	}
-+
-+	return ERROR_OK;
-+}
-+
-+static int stm32x_lock_reg(struct flash_bank *bank)
-+{
-+	struct target *target = bank->target;
-+
-+	/* Lock bank reg */
-+	int retval = target_write_u32(target, stm32x_get_flash_reg(bank, FLASH_CR), FLASH_LOCK);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	return ERROR_OK;
-+}
-+
-+static int stm32x_read_options(struct flash_bank *bank)
-+{
-+	uint32_t optiondata;
-+	struct stm32h7x_flash_bank *stm32x_info = NULL;
-+	struct target *target = bank->target;
-+
-+	stm32x_info = bank->driver_priv;
-+
-+	/* read current option bytes */
-+	int retval = target_read_u32(target, FLASH_REG_BASE_B0 + FLASH_OPTCUR, &optiondata);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	/* decode option data */
-+	stm32x_info->option_bytes.user_options = optiondata & 0xfc;
-+	stm32x_info->option_bytes.RDP = (optiondata >> 8) & 0xff;
-+	stm32x_info->option_bytes.user2_options = (optiondata >> 16) & 0xff;
-+	stm32x_info->option_bytes.user3_options = (optiondata >> 24) & 0x83;
-+
-+	if (optiondata & IDWG1_SW)
-+		stm32x_info->option_bytes.independent_watchdog_selection = 1;
-+	else
-+		stm32x_info->option_bytes.independent_watchdog_selection = 0;
-+
-+	if (optiondata & IDWG2_SW)
-+		stm32x_info->option_bytes.independent_watchdog_selection2 = 1;
-+	else
-+		stm32x_info->option_bytes.independent_watchdog_selection2 = 0;
-+
-+	if (stm32x_info->option_bytes.RDP != 0xAA)
-+		LOG_INFO("Device Security Bit Set");
-+
-+	/* read current WPSN option bytes */
-+	retval = target_read_u32(target, FLASH_REG_BASE_B0 + FLASH_WPSNCUR, &optiondata);
-+	if (retval != ERROR_OK)
-+		return retval;
-+	stm32x_info->option_bytes.protection = optiondata & 0xff;
-+
-+	/* read current WPSN2 option bytes */
-+	retval = target_read_u32(target, FLASH_REG_BASE_B1 + FLASH_WPSNCUR, &optiondata);
-+	if (retval != ERROR_OK)
-+		return retval;
-+	stm32x_info->option_bytes.protection2 = optiondata & 0xff;
-+
-+	return ERROR_OK;
-+}
-+
-+static int stm32x_write_options(struct flash_bank *bank)
-+{
-+	struct stm32h7x_flash_bank *stm32x_info = NULL;
-+	struct target *target = bank->target;
-+	uint32_t optiondata;
-+
-+	stm32x_info = bank->driver_priv;
-+
-+	int retval = stm32x_unlock_option_reg(bank);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	/* rebuild option data */
-+	optiondata = stm32x_info->option_bytes.user_options;
-+	optiondata |= (stm32x_info->option_bytes.RDP << 8);
-+	optiondata |= (stm32x_info->option_bytes.user2_options & 0xff) << 16;
-+	optiondata |= (stm32x_info->option_bytes.user3_options & 0x83) << 24;
-+
-+	if (stm32x_info->option_bytes.independent_watchdog_selection)
-+		optiondata |= IDWG1_SW;
-+	else
-+		optiondata &= ~IDWG1_SW;
-+
-+	if (stm32x_info->option_bytes.independent_watchdog_selection2)
-+		optiondata |= IDWG2_SW;
-+	else
-+		optiondata &= ~IDWG2_SW;
-+
-+	/* program options */
-+	retval = target_write_u32(target, FLASH_REG_BASE_B0 + FLASH_OPTPRG, optiondata);
-+		if (retval != ERROR_OK)
-+			return retval;
-+
-+	optiondata = stm32x_info->option_bytes.protection & 0xff;
-+	/* Program protection WPSNPRG */
-+	retval = target_write_u32(target, FLASH_REG_BASE_B0 + FLASH_WPSNPRG, optiondata);
-+		if (retval != ERROR_OK)
-+			return retval;
-+
-+	optiondata = stm32x_info->option_bytes.protection2 & 0xff;
-+	/* Program protection WPSNPRG2 */
-+	retval = target_write_u32(target, FLASH_REG_BASE_B1 + FLASH_WPSNPRG, optiondata);
-+		if (retval != ERROR_OK)
-+			return retval;
-+
-+	optiondata = 0x40000000;
-+	/* Remove OPT error flag before programming */
-+	retval = target_write_u32(target, FLASH_REG_BASE_B0 + FLASH_OPTCCR, optiondata);
-+		if (retval != ERROR_OK)
-+			return retval;
-+
-+	/* start programming cycle */
-+	retval = target_write_u32(target, FLASH_REG_BASE_B0 + FLASH_OPTCR, OPT_START);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	/* wait for completion */
-+	int timeout = FLASH_ERASE_TIMEOUT;
-+	for (;;) {
-+		uint32_t status;
-+		retval = target_read_u32(target, FLASH_REG_BASE_B0 + FLASH_SR, &status);
-+		if (retval != ERROR_OK) {
-+			LOG_INFO("stm32x_write_options: wait_status_busy : error");
-+			return retval;
-+		}
-+		if ((status & FLASH_BSY) == 0)
-+			break;
-+
-+		if (timeout-- <= 0) {
-+			LOG_INFO("wait_status_busy, time out expired, status: 0x%" PRIx32 "", status);
-+			return ERROR_FAIL;
-+		}
-+		alive_sleep(1);
-+	}
-+
-+	/* relock option registers */
-+	retval = target_write_u32(target, FLASH_REG_BASE_B0 + FLASH_OPTCR, OPT_LOCK);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	return ERROR_OK;
-+}
-+
-+static int stm32x_protect_check(struct flash_bank *bank)
-+{
-+	struct stm32h7x_flash_bank *stm32x_info = bank->driver_priv;
-+
-+	/* read 'write protection' settings */
-+	int retval = stm32x_read_options(bank);
-+	if (retval != ERROR_OK) {
-+		LOG_DEBUG("unable to read option bytes");
-+		return retval;
-+	}
-+
-+	for (int i = 0; i < bank->num_sectors; i++) {
-+		if (stm32x_info->flash_base == FLASH_REG_BASE_B0) {
-+			if (stm32x_info->option_bytes.protection & (1 << i))
-+				bank->sectors[i].is_protected = 0;
-+			else
-+				bank->sectors[i].is_protected = 1;
-+		} else {
-+			if (stm32x_info->option_bytes.protection2 & (1 << i))
-+				bank->sectors[i].is_protected = 0;
-+			else
-+				bank->sectors[i].is_protected = 1;
-+		}
-+	}
-+	return ERROR_OK;
-+}
-+
-+static int stm32x_erase(struct flash_bank *bank, int first, int last)
-+{
-+	struct target *target = bank->target;
-+	int retval;
-+
-+	assert(first < bank->num_sectors);
-+	assert(last < bank->num_sectors);
-+
-+	if (bank->target->state != TARGET_HALTED)
-+		return ERROR_TARGET_NOT_HALTED;
-+
-+	retval = stm32x_unlock_reg(bank);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	/*
-+	Sector Erase
-+	To erase a sector, follow the procedure below:
-+	1. Check that no Flash memory operation is ongoing by checking the BSY bit in the
-+	  FLASH_SR register
-+	2. Set the SER bit and select the sector
-+	  you wish to erase (SNB) in the FLASH_CR register
-+	3. Set the STRT bit in the FLASH_CR register
-+	4. Wait for the BSY bit to be cleared
-+	 */
-+	for (int i = first; i <= last; i++) {
-+		LOG_DEBUG("erase sector %d", i);
-+		retval = target_write_u32(target, stm32x_get_flash_reg(bank, FLASH_CR),
-+				FLASH_SER | FLASH_SNB(i) | FLASH_PSIZE_64);
-+		if (retval != ERROR_OK) {
-+			LOG_ERROR("Error erase sector %d", i);
-+			return retval;
-+		}
-+		retval = target_write_u32(target, stm32x_get_flash_reg(bank, FLASH_CR),
-+				FLASH_SER | FLASH_SNB(i) | FLASH_PSIZE_64 | FLASH_START);
-+		if (retval != ERROR_OK) {
-+			LOG_ERROR("Error erase sector %d", i);
-+			return retval;
-+		}
-+		retval = stm32x_wait_status_busy(bank, FLASH_ERASE_TIMEOUT);
-+
-+		if (retval != ERROR_OK) {
-+			LOG_ERROR("erase time-out error sector %d", i);
-+			return retval;
-+		}
-+		bank->sectors[i].is_erased = 1;
-+	}
-+
-+	retval = stm32x_lock_reg(bank);
-+	if (retval != ERROR_OK) {
-+		LOG_ERROR("error during the lock of flash");
-+		return retval;
-+	}
-+
-+	return ERROR_OK;
-+}
-+
-+static int stm32x_protect(struct flash_bank *bank, int set, int first, int last)
-+{
-+	struct target *target = bank->target;
-+	struct stm32h7x_flash_bank *stm32x_info = bank->driver_priv;
-+
-+	if (target->state != TARGET_HALTED) {
-+		LOG_ERROR("Target not halted");
-+		return ERROR_TARGET_NOT_HALTED;
-+	}
-+	/* read protection settings */
-+	int retval = stm32x_read_options(bank);
-+	if (retval != ERROR_OK) {
-+		LOG_DEBUG("unable to read option bytes");
-+		return retval;
-+	}
-+
-+	for (int i = first; i <= last; i++) {
-+		if (stm32x_info->flash_base == FLASH_REG_BASE_B0) {
-+			if (set)
-+				stm32x_info->option_bytes.protection &= ~(1 << i);
-+			else
-+				stm32x_info->option_bytes.protection |= (1 << i);
-+		} else {
-+			if (set)
-+				stm32x_info->option_bytes.protection2 &= ~(1 << i);
-+			else
-+				stm32x_info->option_bytes.protection2 |= (1 << i);
-+		}
-+	}
-+
-+	LOG_INFO("stm32x_protect, option_bytes written WRP1 0x%x , WRP2 0x%x",
-+	  (stm32x_info->option_bytes.protection & 0xff), (stm32x_info->option_bytes.protection2 & 0xff));
-+
-+	retval = stm32x_write_options(bank);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	return ERROR_OK;
-+}
-+
-+static int stm32x_write_block(struct flash_bank *bank, const uint8_t *buffer,
-+		uint32_t offset, uint32_t count)
-+{
-+	struct target *target = bank->target;
-+	uint32_t buffer_size = 16392;
-+	struct working_area *write_algorithm;
-+	struct working_area *source;
-+	uint32_t address = bank->base + offset;
-+	struct reg_param reg_params[5];
-+	struct armv7m_algorithm armv7m_info;
-+	struct stm32h7x_flash_bank *stm32x_info = bank->driver_priv;
-+
-+	int retval = ERROR_OK;
-+
-+	/* see contrib/loaders/flash/smt32h7x.S for src */
-+	static const uint8_t stm32x_flash_write_code[] = {
-+								/*  <wait_fifo>: */
-+		0xd0, 0xf8, 0x00, 0x80,	/* ldr		r8, [r0, #0] */
-+		0xb8, 0xf1, 0x00, 0x0f,	/* cmp		r8, #0 */
-+		0x25, 0xd0,				/* beq		exit */
-+		0x47, 0x68,				/* ldr		r7, [r0, #4] */
-+		0xb8, 0xeb, 0x07, 0x06,	/* subs		r6, r8, r7 */
-+		0x1f, 0x2e,				/* cmp		r6, #31 */
-+		0xf5, 0xd3,				/* bcc		wait_fifo */
-+
-+		0x4f, 0xf0, 0x32, 0x06,	/* mov		r6, #STM32_PROG */
-+		0xe6, 0x60,				/* str		r6, [r4, #STM32_FLASH_CR_OFFSET] */
-+
-+		0x4f, 0xf0, 0x08, 0x05,	/* mov		r5, #8 */
-+								/* <write_flash>: */
-+		0x57, 0xf8, 0x04, 0x6b,	/* ldr		r6, [r7], #0x04 */
-+		0x42, 0xf8, 0x04, 0x6b,	/* str		r6, [r2], #0x04 */
-+		0xbf, 0xf3, 0x4f, 0x8f,	/* dsb */
-+		0x01, 0x3d,				/* subs		r5, r5, #1 */
-+		0xf7, 0xd1,				/* bne		write_flash */
-+
-+								/* <busy>: */
-+		0x26, 0x69,				/* ldr		r6, [r4, #STM32_FLASH_SR_OFFSET] */
-+		0x16, 0xf0, 0x01, 0x0f,	/* tst		r6, #0x1 */
-+		0xfb, 0xd1,				/* bne		busy */
-+		0x16, 0xf0, 0xf7, 0x7f,	/* tst		r6, #0x01ee0000 */
-+		0x0a, 0xd1,				/* bne		error */
-+		0x16, 0xf0, 0x00, 0x7f,	/* tst		r6, #0x02000000 */
-+		0x07, 0xd1,				/* bne		error */
-+
-+		0x8f, 0x42,				/* cmp		r7, r1 */
-+		0x28, 0xbf,				/* it		cs */
-+		0x00, 0xf1, 0x08, 0x07,	/* addcs	r7, r0, #8 */
-+		0x47, 0x60,				/* str		r7, [r0, #4] */
-+		0x01, 0x3b,				/* subs		r3, r3, #1 */
-+		0x13, 0xb1,				/* cbz		r3, exit */
-+		0xd6, 0xe7,				/* b		wait_fifo */
-+								/* <error>: */
-+		0x00, 0x21,				/* movs		r1, #0 */
-+		0x41, 0x60,				/* str		r1, [r0, #4] */
-+								/* <exit>: */
-+		0x30, 0x46,				/* mov		r0, r6 */
-+		0x00, 0xbe				/* bkpt		#0x00 */
-+	};
-+
-+	if (target_alloc_working_area(target, sizeof(stm32x_flash_write_code),
-+			&write_algorithm) != ERROR_OK) {
-+		LOG_WARNING("no working area available, can't do block memory writes");
-+		return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
-+	}
-+
-+	retval = target_write_buffer(target, write_algorithm->address,
-+			sizeof(stm32x_flash_write_code),
-+			stm32x_flash_write_code);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	/* memory buffer */
-+	while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK) {
-+		buffer_size /= 2;
-+		if (buffer_size <= 256) {
-+			/* we already allocated the writing code, but failed to get a
-+			 * buffer, free the algorithm */
-+			target_free_working_area(target, write_algorithm);
-+
-+			LOG_WARNING("no large enough working area available, can't do block memory writes");
-+			return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
-+		}
-+	}
-+
-+	LOG_DEBUG("target_alloc_working_area_try : buffer_size -> 0x%x", buffer_size);
-+
-+	armv7m_info.common_magic = ARMV7M_COMMON_MAGIC;
-+	armv7m_info.core_mode = ARM_MODE_THREAD;
-+
-+	init_reg_param(&reg_params[0], "r0", 32, PARAM_IN_OUT);		/* buffer start, status (out) */
-+	init_reg_param(&reg_params[1], "r1", 32, PARAM_OUT);		/* buffer end */
-+	init_reg_param(&reg_params[2], "r2", 32, PARAM_OUT);		/* target address */
-+	init_reg_param(&reg_params[3], "r3", 32, PARAM_OUT);		/* count (word-256 bits) */
-+	init_reg_param(&reg_params[4], "r4", 32, PARAM_OUT);		/* flash reg base */
-+
-+	buf_set_u32(reg_params[0].value, 0, 32, source->address);
-+	buf_set_u32(reg_params[1].value, 0, 32, source->address + source->size);
-+	buf_set_u32(reg_params[2].value, 0, 32, address);
-+	buf_set_u32(reg_params[3].value, 0, 32, count);
-+	buf_set_u32(reg_params[4].value, 0, 32, stm32x_info->flash_base);
-+
-+	retval = target_run_flash_async_algorithm(target,
-+						  buffer,
-+						  count,
-+						  FLASH_BLOCK_SIZE,
-+						  0, NULL,
-+						  5, reg_params,
-+						  source->address, source->size,
-+						  write_algorithm->address, 0,
-+						  &armv7m_info);
-+
-+	if (retval == ERROR_FLASH_OPERATION_FAILED) {
-+		LOG_INFO("error executing stm32h7x flash write algorithm");
-+
-+		uint32_t flash_sr = buf_get_u32(reg_params[0].value, 0, 32);
-+
-+		if (flash_sr & FLASH_WRPERR)
-+			LOG_ERROR("flash memory write protected");
-+
-+		if ((flash_sr & FLASH_ERROR) != 0) {
-+			LOG_ERROR("flash write failed, FLASH_SR = %08" PRIx32, flash_sr);
-+			/* Clear error + EOP flags but report errors */
-+			target_write_u32(target, stm32x_get_flash_reg(bank, FLASH_CCR), flash_sr);
-+			retval = ERROR_FAIL;
-+		}
-+	}
-+
-+	target_free_working_area(target, source);
-+	target_free_working_area(target, write_algorithm);
-+
-+	destroy_reg_param(&reg_params[0]);
-+	destroy_reg_param(&reg_params[1]);
-+	destroy_reg_param(&reg_params[2]);
-+	destroy_reg_param(&reg_params[3]);
-+	destroy_reg_param(&reg_params[4]);
-+	return retval;
-+}
-+
-+static int stm32x_write(struct flash_bank *bank, const uint8_t *buffer,
-+		uint32_t offset, uint32_t count)
-+{
-+	struct target *target = bank->target;
-+	uint32_t address = bank->base + offset;
-+	int retval;
-+
-+	if (bank->target->state != TARGET_HALTED) {
-+		LOG_ERROR("Target not halted");
-+		return ERROR_TARGET_NOT_HALTED;
-+	}
-+
-+	if (offset % FLASH_BLOCK_SIZE) {
-+		LOG_WARNING("offset 0x%" PRIx32 " breaks required 32-byte alignment", offset);
-+		return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
-+	}
-+
-+	retval = stm32x_unlock_reg(bank);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	/* small transfer */
-+	if (count < FLASH_BLOCK_SIZE) {
-+		LOG_DEBUG("write %d bytes", count);
-+		retval = target_write_u32(target, stm32x_get_flash_reg(bank, FLASH_CR), FLASH_PG | FLASH_PSIZE_64);
-+		if (retval != ERROR_OK)
-+			return retval;
-+
-+		retval = target_write_buffer(target, address, count, buffer);
-+		if (retval != ERROR_OK)
-+			return retval;
-+
-+		/* Force Write buffer of 32 bytes (padding with 0xff value automatically) */
-+		retval = target_write_u32(target, stm32x_get_flash_reg(bank, FLASH_CR), FLASH_PG | FLASH_PSIZE_64 | FLASH_FW);
-+		if (retval != ERROR_OK)
-+			return retval;
-+
-+		retval = stm32x_wait_status_busy(bank, FLASH_WRITE_TIMEOUT);
-+		if (retval != ERROR_OK)
-+			return retval;
-+
-+		return ERROR_OK;
-+	}
-+
-+	uint32_t blocks_remaining = count / FLASH_BLOCK_SIZE;
-+	uint32_t bytes_remaining = count % FLASH_BLOCK_SIZE;
-+
-+	/* multiple words (32-bytes) to be programmed */
-+	if (blocks_remaining > 0) {
-+		/* try using a block write */
-+		retval = stm32x_write_block(bank, buffer, offset, blocks_remaining);
-+		if (retval != ERROR_OK) {
-+			if (retval == ERROR_TARGET_RESOURCE_NOT_AVAILABLE) {
-+				/* if block write failed (no sufficient working area),
-+				 * we use normal (slow) dword accesses */
-+				LOG_WARNING("couldn't use block writes, falling back to single memory accesses");
-+			}
-+		} else {
-+			buffer += blocks_remaining * FLASH_BLOCK_SIZE;
-+			address += blocks_remaining * FLASH_BLOCK_SIZE;
-+			blocks_remaining = 0;
-+		}
-+	}
-+	if ((retval != ERROR_OK) && (retval != ERROR_TARGET_RESOURCE_NOT_AVAILABLE))
-+		return retval;
-+
-+	/*
-+	Standard programming
-+	The Flash memory programming sequence is as follows:
-+	1. Check that no main Flash memory operation is ongoing by checking the BSY bit in the
-+	  FLASH_SR register.
-+	2. Set the PG bit in the FLASH_CR register
-+	3. 8 x Word access (or Force Write FW)
-+	   Wait for the BSY bit to be cleared
-+	*/
-+	while (blocks_remaining > 0) {
-+		retval = target_write_u32(target, stm32x_get_flash_reg(bank, FLASH_CR), FLASH_PG | FLASH_PSIZE_64);
-+		if (retval != ERROR_OK)
-+			return retval;
-+
-+		retval = target_write_buffer(target, address, FLASH_BLOCK_SIZE, buffer);
-+		if (retval != ERROR_OK)
-+			return retval;
-+
-+		retval = stm32x_wait_status_busy(bank, FLASH_WRITE_TIMEOUT);
-+		if (retval != ERROR_OK)
-+			return retval;
-+
-+		buffer += FLASH_BLOCK_SIZE;
-+		address += FLASH_BLOCK_SIZE;
-+		blocks_remaining--;
-+	}
-+
-+	if (bytes_remaining) {
-+		retval = target_write_u32(target, stm32x_get_flash_reg(bank, FLASH_CR), FLASH_PG | FLASH_PSIZE_64);
-+		if (retval != ERROR_OK)
-+			return retval;
-+
-+		LOG_DEBUG("bytes_remaining %d", bytes_remaining);
-+		retval = target_write_buffer(target, address, bytes_remaining, buffer);
-+		if (retval != ERROR_OK)
-+			return retval;
-+
-+		/* Force Write buffer of FLASH_BLOCK_SIZE = 32 bytes */
-+		retval = target_write_u32(target, stm32x_get_flash_reg(bank, FLASH_CR), FLASH_PG | FLASH_PSIZE_64 | FLASH_FW);
-+		if (retval != ERROR_OK)
-+			return retval;
-+
-+		retval = stm32x_wait_status_busy(bank, FLASH_WRITE_TIMEOUT);
-+		if (retval != ERROR_OK)
-+			return retval;
-+	}
-+
-+	retval = stm32x_lock_reg(bank);
-+	if (retval != ERROR_OK)
-+		LOG_ERROR("error during the lock of flash");
-+
-+	return retval;
-+}
-+
-+static void setup_sector(struct flash_bank *bank, int start, int num, int size)
-+{
-+	for (int i = start; i < (start + num) ; i++) {
-+		assert(i < bank->num_sectors);
-+		bank->sectors[i].offset = bank->size;
-+		bank->sectors[i].size = size;
-+		bank->size += bank->sectors[i].size;
-+	}
-+}
-+
-+static int stm32x_read_id_code(struct flash_bank *bank, uint32_t *id)
-+{
-+	/* read stm32 device id register */
-+	int retval = target_read_u32(bank->target, DBGMCU_IDCODE_REGISTER, id);
-+	if (retval != ERROR_OK)
-+		return retval;
-+	return ERROR_OK;
-+}
-+
-+static int stm32x_probe(struct flash_bank *bank)
-+{
-+	struct target *target = bank->target;
-+	struct stm32h7x_flash_bank *stm32x_info = bank->driver_priv;
-+	int i;
-+	uint16_t flash_size_in_kb;
-+	uint32_t device_id;
-+	uint32_t base_address = FLASH_BANK0_ADDRESS;
-+	uint32_t second_bank_base;
-+
-+	stm32x_info->probed = 0;
-+	stm32x_info->part_info = NULL;
-+
-+	int retval = stm32x_read_id_code(bank, &stm32x_info->idcode);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	LOG_DEBUG("device id = 0x%08" PRIx32 "", stm32x_info->idcode);
-+
-+	device_id = stm32x_info->idcode & 0xfff;
-+
-+	for (unsigned int n = 0; n < ARRAY_SIZE(stm32h7x_parts); n++) {
-+		if (device_id == stm32h7x_parts[n].id)
-+			stm32x_info->part_info = &stm32h7x_parts[n];
-+	}
-+	if (!stm32x_info->part_info) {
-+		LOG_WARNING("Cannot identify target as a STM32H7xx family.");
-+		return ERROR_FAIL;
-+	} else {
-+		LOG_INFO("Device: %s", stm32x_info->part_info->device_str);
-+	}
-+
-+	/* update the address of controller from data base */
-+	stm32x_info->flash_base = stm32x_info->part_info->flash_base;
-+
-+	/* get flash size from target */
-+	retval = target_read_u16(target, stm32x_info->part_info->fsize_base, &flash_size_in_kb);
-+	if (retval != ERROR_OK) {
-+		/* read error when device has invalid value, set max flash size */
-+		flash_size_in_kb = stm32x_info->part_info->max_flash_size_kb;
-+	} else
-+		LOG_INFO("flash size probed value %d", flash_size_in_kb);
-+
-+	/* Lower flash size devices are single bank */
-+	if (stm32x_info->part_info->has_dual_bank && (flash_size_in_kb > stm32x_info->part_info->first_bank_size_kb)) {
-+		/* Use the configured base address to determine if this is the first or second flash bank.
-+		 * Verify that the base address is reasonably correct and determine the flash bank size
-+		 */
-+		second_bank_base = base_address + stm32x_info->part_info->first_bank_size_kb * 1024;
-+		if (bank->base == second_bank_base) {
-+			/* This is the second bank  */
-+			base_address = second_bank_base;
-+			flash_size_in_kb = flash_size_in_kb - stm32x_info->part_info->first_bank_size_kb;
-+			/* bank1 also uses a register offset */
-+			stm32x_info->flash_base = FLASH_REG_BASE_B1;
-+		} else if (bank->base == base_address) {
-+			/* This is the first bank */
-+			flash_size_in_kb = stm32x_info->part_info->first_bank_size_kb;
-+		} else {
-+			LOG_WARNING("STM32H flash bank base address config is incorrect."
-+				    " 0x%" PRIx32 " but should rather be 0x%" PRIx32 " or 0x%" PRIx32,
-+					bank->base, base_address, second_bank_base);
-+			return ERROR_FAIL;
-+		}
-+		LOG_INFO("STM32H flash has dual banks. Bank (%d) size is %dkb, base address is 0x%" PRIx32,
-+				bank->bank_number, flash_size_in_kb, base_address);
-+	} else
-+		LOG_INFO("STM32H flash size is %dkb, base address is 0x%" PRIx32, flash_size_in_kb, base_address);
-+
-+	/* if the user sets the size manually then ignore the probed value
-+	 * this allows us to work around devices that have an invalid flash size register value */
-+	if (stm32x_info->user_bank_size) {
-+		LOG_INFO("ignoring flash probed value, using configured bank size");
-+		flash_size_in_kb = stm32x_info->user_bank_size / 1024;
-+	} else if (flash_size_in_kb == 0xffff) {
-+		/* die flash size */
-+		flash_size_in_kb = stm32x_info->part_info->max_flash_size_kb;
-+	}
-+
-+	/* did we assign flash size? */
-+	assert(flash_size_in_kb != 0xffff);
-+
-+	/* calculate numbers of pages */
-+	int num_pages = flash_size_in_kb / stm32x_info->part_info->page_size;
-+
-+	/* check that calculation result makes sense */
-+	assert(num_pages > 0);
-+
-+	if (bank->sectors) {
-+		free(bank->sectors);
-+		bank->sectors = NULL;
-+	}
-+
-+	bank->base = base_address;
-+	bank->num_sectors = num_pages;
-+	bank->sectors = malloc(sizeof(struct flash_sector) * num_pages);
-+	if (bank->sectors == NULL) {
-+		LOG_ERROR("failed to allocate bank sectors");
-+		return ERROR_FAIL;
-+	}
-+	bank->size = 0;
-+
-+	/* fixed memory */
-+	setup_sector(bank, 0, num_pages, stm32x_info->part_info->page_size * 1024);
-+
-+	for (i = 0; i < num_pages; i++) {
-+		bank->sectors[i].is_erased = -1;
-+		bank->sectors[i].is_protected = 0;
-+	}
-+
-+	stm32x_info->probed = 1;
-+	return ERROR_OK;
-+}
-+
-+static int stm32x_auto_probe(struct flash_bank *bank)
-+{
-+	struct stm32h7x_flash_bank *stm32x_info = bank->driver_priv;
-+
-+	if (stm32x_info->probed)
-+		return ERROR_OK;
-+
-+	return stm32x_probe(bank);
-+}
-+
-+/* This method must return a string displaying information about the bank */
-+static int stm32x_get_info(struct flash_bank *bank, char *buf, int buf_size)
-+{
-+	struct stm32h7x_flash_bank *stm32x_info = bank->driver_priv;
-+	const struct stm32h7x_part_info *info = stm32x_info->part_info;
-+
-+	if (!stm32x_info->probed) {
-+		int retval = stm32x_probe(bank);
-+		if (retval != ERROR_OK) {
-+			snprintf(buf, buf_size, "Unable to find bank information.");
-+			return retval;
-+		}
-+	}
-+
-+	if (info) {
-+		const char *rev_str = NULL;
-+		uint16_t rev_id = stm32x_info->idcode >> 16;
-+
-+		for (unsigned int i = 0; i < info->num_revs; i++)
-+			if (rev_id == info->revs[i].rev)
-+				rev_str = info->revs[i].str;
-+
-+		if (rev_str != NULL) {
-+			snprintf(buf, buf_size, "%s - Rev: %s",
-+				stm32x_info->part_info->device_str, rev_str);
-+		} else {
-+			snprintf(buf, buf_size,
-+				 "%s - Rev: unknown (0x%04x)",
-+				stm32x_info->part_info->device_str, rev_id);
-+		}
-+	} else {
-+	  snprintf(buf, buf_size, "Cannot identify target as a STM32H7x");
-+	  return ERROR_FAIL;
-+	}
-+	return ERROR_OK;
-+}
-+
-+COMMAND_HANDLER(stm32x_handle_lock_command)
-+{
-+	struct target *target = NULL;
-+	struct stm32h7x_flash_bank *stm32x_info = NULL;
-+
-+	if (CMD_ARGC < 1)
-+		return ERROR_COMMAND_SYNTAX_ERROR;
-+
-+	struct flash_bank *bank;
-+	int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
-+	if (ERROR_OK != retval)
-+		return retval;
-+
-+	stm32x_info = bank->driver_priv;
-+	target = bank->target;
-+
-+	/* if we have a dual flash bank device then
-+	 * we need to perform option byte lock on bank0 only */
-+	if (stm32x_info->flash_base != FLASH_REG_BASE_B0) {
-+		LOG_ERROR("Option Byte Lock Operation must use bank0");
-+		return ERROR_FLASH_OPERATION_FAILED;
-+	}
-+
-+	if (target->state != TARGET_HALTED) {
-+		LOG_ERROR("Target not halted");
-+		return ERROR_TARGET_NOT_HALTED;
-+	}
-+
-+	if (stm32x_read_options(bank) != ERROR_OK) {
-+		command_print(CMD_CTX, "%s failed to read options",
-+			      bank->driver->name);
-+		return ERROR_OK;
-+	}
-+	/* set readout protection */
-+	stm32x_info->option_bytes.RDP = 0;
-+
-+	if (stm32x_write_options(bank) != ERROR_OK) {
-+		command_print(CMD_CTX, "%s failed to lock device",
-+			      bank->driver->name);
-+		return ERROR_OK;
-+	}
-+	command_print(CMD_CTX, "%s locked", bank->driver->name);
-+
-+	return ERROR_OK;
-+}
-+
-+COMMAND_HANDLER(stm32x_handle_unlock_command)
-+{
-+	struct target *target = NULL;
-+	struct stm32h7x_flash_bank *stm32x_info = NULL;
-+
-+	if (CMD_ARGC < 1)
-+		return ERROR_COMMAND_SYNTAX_ERROR;
-+
-+	struct flash_bank *bank;
-+	int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
-+	if (ERROR_OK != retval)
-+		return retval;
-+
-+	stm32x_info = bank->driver_priv;
-+	target = bank->target;
-+
-+	/* if we have a dual flash bank device then
-+	 * we need to perform option byte unlock on bank0 only */
-+	if (stm32x_info->flash_base != FLASH_REG_BASE_B0) {
-+		LOG_ERROR("Option Byte Unlock Operation must use bank0");
-+		return ERROR_FLASH_OPERATION_FAILED;
-+	}
-+
-+	if (target->state != TARGET_HALTED) {
-+		LOG_ERROR("Target not halted");
-+		return ERROR_TARGET_NOT_HALTED;
-+	}
-+
-+	if (stm32x_read_options(bank) != ERROR_OK) {
-+		command_print(CMD_CTX, "%s failed to read options", bank->driver->name);
-+		return ERROR_OK;
-+	}
-+
-+	/* clear readout protection option byte
-+	 * this will also force a device unlock if set */
-+	stm32x_info->option_bytes.RDP = 0xAA;
-+
-+	if (stm32x_write_options(bank) != ERROR_OK) {
-+		command_print(CMD_CTX, "%s failed to unlock device", bank->driver->name);
-+		return ERROR_OK;
-+	}
-+	command_print(CMD_CTX, "%s unlocked.\n", bank->driver->name);
-+
-+	return ERROR_OK;
-+}
-+
-+static int stm32x_mass_erase(struct flash_bank *bank)
-+{
-+	int retval;
-+	struct target *target = bank->target;
-+
-+	if (target->state != TARGET_HALTED) {
-+		LOG_ERROR("Target not halted");
-+		return ERROR_TARGET_NOT_HALTED;
-+	}
-+
-+	retval = stm32x_unlock_reg(bank);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	/* mass erase flash memory bank */
-+	retval = target_write_u32(target, stm32x_get_flash_reg(bank, FLASH_CR), FLASH_BER_CMD | FLASH_PSIZE_64);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	retval = target_write_u32(target, stm32x_get_flash_reg(bank, FLASH_CR),
-+							  FLASH_BER_CMD | FLASH_PSIZE_64 | FLASH_START);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	retval = stm32x_wait_status_busy(bank, 30000);
-+	if (retval != ERROR_OK)
-+		return retval;
-+
-+	retval = stm32x_lock_reg(bank);
-+	if (retval != ERROR_OK) {
-+		LOG_ERROR("error during the lock of flash");
-+		return retval;
-+	}
-+	return ERROR_OK;
-+}
-+
-+COMMAND_HANDLER(stm32x_handle_mass_erase_command)
-+{
-+	int i;
-+
-+	if (CMD_ARGC < 1) {
-+		command_print(CMD_CTX, "stm32h7x mass_erase <bank>");
-+		return ERROR_COMMAND_SYNTAX_ERROR;
-+	}
-+
-+	struct flash_bank *bank;
-+	int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
-+	if (ERROR_OK != retval)
-+		return retval;
-+
-+	retval = stm32x_mass_erase(bank);
-+	if (retval == ERROR_OK) {
-+		/* set all sectors as erased */
-+		for (i = 0; i < bank->num_sectors; i++)
-+			bank->sectors[i].is_erased = 1;
-+
-+		command_print(CMD_CTX, "stm32h7x mass erase complete");
-+	} else {
-+		command_print(CMD_CTX, "stm32h7x mass erase failed");
-+	}
-+
-+	return retval;
-+}
-+
-+static const struct command_registration stm32x_exec_command_handlers[] = {
-+	{
-+		.name = "lock",
-+		.handler = stm32x_handle_lock_command,
-+		.mode = COMMAND_EXEC,
-+		.usage = "bank_id",
-+		.help = "Lock entire flash device.",
-+	},
-+	{
-+		.name = "unlock",
-+		.handler = stm32x_handle_unlock_command,
-+		.mode = COMMAND_EXEC,
-+		.usage = "bank_id",
-+		.help = "Unlock entire protected flash device.",
-+	},
-+	{
-+		.name = "mass_erase",
-+		.handler = stm32x_handle_mass_erase_command,
-+		.mode = COMMAND_EXEC,
-+		.usage = "bank_id",
-+		.help = "Erase entire flash device.",
-+	},
-+	COMMAND_REGISTRATION_DONE
-+};
-+
-+static const struct command_registration stm32x_command_handlers[] = {
-+	{
-+		.name = "stm32h7x",
-+		.mode = COMMAND_ANY,
-+		.help = "stm32h7x flash command group",
-+		.usage = "",
-+		.chain = stm32x_exec_command_handlers,
-+	},
-+	COMMAND_REGISTRATION_DONE
-+};
-+
-+struct flash_driver stm32h7x_flash = {
-+	.name = "stm32h7x",
-+	.commands = stm32x_command_handlers,
-+	.flash_bank_command = stm32x_flash_bank_command,
-+	.erase = stm32x_erase,
-+	.protect = stm32x_protect,
-+	.write = stm32x_write,
-+	.read = default_flash_read,
-+	.probe = stm32x_probe,
-+	.auto_probe = stm32x_auto_probe,
-+	.erase_check = default_flash_blank_check,
-+	.protect_check = stm32x_protect_check,
-+	.info = stm32x_get_info,
-+};
--- 
-2.14.1.821.g8fa685d3b7-goog
-
diff --git a/dev-embedded/openocd/files/openocd-0.8.0-jimtcl-0.75.patch b/dev-embedded/openocd/files/openocd-0.8.0-jimtcl-0.75.patch
deleted file mode 100644
index 1791cab..0000000
--- a/dev-embedded/openocd/files/openocd-0.8.0-jimtcl-0.75.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-Apply upstream patch for jimtcl-0.75 compatibility
-
-X-Gentoo-Bug: 509902
-X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=509902
-Link: http://repo.or.cz/w/openocd.git/commitdiff/92ea548aafee840e1507306a3ffb38625f427ec5
-
-Signed-off-by: Markos Chandras <hwoarang@gentoo.org>
-
-From 92ea548aafee840e1507306a3ffb38625f427ec5 Mon Sep 17 00:00:00 2001
-From: Paul Fertser <fercerpav@gmail.com>
-Date: Mon, 28 Apr 2014 14:34:47 +0400
-Subject: [PATCH] Update to the current Jim Tcl
-
-This is a post-release version but hopefully some fixes that went in
-are worth it; also the changes here make OpenOCD compatible with stock
-0.75 version if a distro maintainer decides to use it.
-
-Change-Id: I7ad1814c7c4868198475cdca4750c3d0ee4f5f8b
-Signed-off-by: Paul Fertser <fercerpav@gmail.com>
-Reviewed-on: http://openocd.zylin.com/2121
-Tested-by: jenkins
-Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
----
- jimtcl               |    2 +-
- src/helper/command.c |    2 +-
- src/helper/command.h |    4 ++--
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/helper/command.c b/src/helper/command.c
-index 21362a6..137ac7e 100644
---- a/src/helper/command.c
-+++ b/src/helper/command.c
-@@ -365,7 +365,7 @@ static int register_command_handler(struct command_context *cmd_ctx,
- 
- 	LOG_DEBUG("registering '%s'...", ocd_name);
- 
--	Jim_CmdProc func = c->handler ? &script_command : &command_unknown;
-+	Jim_CmdProc *func = c->handler ? &script_command : &command_unknown;
- 	int retval = Jim_CreateCommand(interp, ocd_name, func, c, NULL);
- 	free(ocd_name);
- 	if (JIM_OK != retval)
-diff --git a/src/helper/command.h b/src/helper/command.h
-index 0f0edbb..0eda5b5 100644
---- a/src/helper/command.h
-+++ b/src/helper/command.h
-@@ -168,7 +168,7 @@ struct command {
- 	struct command *parent;
- 	struct command *children;
- 	command_handler_t handler;
--	Jim_CmdProc jim_handler;
-+	Jim_CmdProc *jim_handler;
- 	void *jim_handler_data;
- 	enum command_mode mode;
- 	struct command *next;
-@@ -204,7 +204,7 @@ char *command_name(struct command *c, char delim);
- struct command_registration {
- 	const char *name;
- 	command_handler_t handler;
--	Jim_CmdProc jim_handler;
-+	Jim_CmdProc *jim_handler;
- 	void *jim_handler_data;
- 	enum command_mode mode;
- 	const char *help;
--- 
-1.7.6.6.GIT
-
diff --git a/dev-embedded/openocd/metadata.xml b/dev-embedded/openocd/metadata.xml
index 78e604f..2e7d935 100644
--- a/dev-embedded/openocd/metadata.xml
+++ b/dev-embedded/openocd/metadata.xml
@@ -1,28 +1,25 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
 	<maintainer type="project">
 		<email>embedded@gentoo.org</email>
 		<name>Embedded Gentoo</name>
 	</maintainer>
-	<maintainer type="person">
+	<maintainer type="person" proxied="yes">
 		<email>fercerpav@gmail.com</email>
 		<name>Paul Fertser</name>
-		<description>Upstream contact. CC him on bugs</description>
+	</maintainer>
+	<maintainer type="person">
+		<email>dlan@gentoo.org</email>
+		<name>Yixun Lan</name>
 	</maintainer>
 	<use>
-		<flag name="blaster">Enable support for Altera USE-Blaster</flag>
+		<flag name="capstone">Use <pkg>dev-libs/capstone</pkg> for disassembly support</flag>
 		<flag name="cmsis-dap">Support for CMSIS-DAP compliant adapters</flag>
 		<flag name="dummy">Build the dummy port driver</flag>
 		<flag name="jlink"> Build the SEGGER J-Link driver</flag>
-		<flag name="minidriver">Build the dummy minidriver</flag>
-		<flag name="ftd2xx">Enable support for USB FTDI chips via <pkg>dev-embedded/libftd2xx</pkg></flag>
 		<flag name="ftdi">Enable support for USB FTDI chips via <pkg>dev-embedded/libftdi</pkg></flag>
 		<flag name="parport">Enable support for parport JTAG devices</flag>
-		<flag name="presto">Enable support for AXIS PRESTO devices</flag>
-		<flag name="segger">Enable support for the Segger J-Link JTAG</flag>
-		<flag name="stlink">Enable building support for the ST-Link JTAG Programmer</flag>
-		<flag name="versaloon">Enable building support for the Versallon-lInk JTAG</flag>
 		<flag name="verbose-io">Verbose IO and comm JTAG and USB messages</flag>
 	</use>
 	<upstream>
diff --git a/dev-embedded/openocd/openocd-0.10.0-r3.ebuild b/dev-embedded/openocd/openocd-0.10.0-r3.ebuild
deleted file mode 120000
index c5e52da..0000000
--- a/dev-embedded/openocd/openocd-0.10.0-r3.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-openocd-0.10.0.ebuild
\ No newline at end of file
diff --git a/dev-embedded/openocd/openocd-0.10.0.ebuild b/dev-embedded/openocd/openocd-0.10.0.ebuild
deleted file mode 100644
index bb708e6..0000000
--- a/dev-embedded/openocd/openocd-0.10.0.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils multilib flag-o-matic toolchain-funcs udev user
-
-# One ebuild to rule them all
-if [[ ${PV} == "9999" ]] ; then
-	inherit autotools git-2
-	EGIT_REPO_URI="git://git.code.sf.net/p/${PN}/code"
-	EGIT_PROJECT="${PN}"
-else
-	MY_PV="${PV/_/-}"
-	MY_P="${PN}-${MY_PV}"
-	S="${WORKDIR}"/${MY_P}
-	KEYWORDS="*"
-	SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${MY_PV}/${MY_P}.tar.gz"
-fi
-
-DESCRIPTION="OpenOCD - Open On-Chip Debugger"
-HOMEPAGE="http://openocd.sourceforge.net"
-
-LICENSE="GPL-2+"
-SLOT="0"
-IUSE="+cmsis-dap dummy +ftdi +jlink parport +usb verbose-io"
-RESTRICT="strip" # includes non-native binaries
-
-RDEPEND=">=dev-lang/jimtcl-0.76
-	cmsis-dap? ( dev-libs/hidapi )
-	jlink? ( dev-embedded/libjaylink )
-	usb? (
-		virtual/libusb:0
-		virtual/libusb:1
-	)
-	ftdi? ( dev-embedded/libftdi:= )"
-
-DEPEND="${RDEPEND}
-	virtual/pkgconfig"
-[[ ${PV} == "9999" ]] && DEPEND+=" >=sys-apps/texinfo-5" #549946
-
-pkg_setup() {
-	enewgroup plugdev
-}
-
-src_prepare() {
-	epatch "${FILESDIR}/${P}-add-stm32h7x-driver-support.patch"
-	EPATCH_OPTS="-p1" epatch "${FILESDIR}/${P}-add-stm32h7x-config-file.patch"
-	epatch_user
-
-	if [[ ${PV} == "9999" ]] ; then
-		AT_NO_RECURSIVE=yes eautoreconf
-	fi
-}
-
-src_configure() {
-	# Here are some defaults
-	local myconf=(
-		--enable-buspirate
-		--disable-werror
-		--disable-internal-jimtcl
-		--disable-internal-libjaylink
-		--enable-amtjtagaccel
-		--enable-ep93xx
-		--enable-at91rm9200
-		--enable-gw16012
-		--enable-arm-jtag-ew
-		--enable-sysfsgpio
-		--enable-bcm2835gpio
-	)
-
-	# Adapters requiring usb/libusb-1.X support
-	if use usb; then
-		myconf+=(
-			--enable-aice
-			--enable-usb-blaster-2
-			--enable-ftdi
-			--enable-ti-icdi
-			--enable-ulink
-			--enable-osbdm
-			--enable-opendous
-			--enable-usbprog
-			--enable-rlink
-			--enable-stlink
-			--enable-vsllink
-			--enable-armjtagew
-			$(use_enable verbose-io verbose-usb-io)
-			$(use_enable verbose-io verbose_usb_comms)
-		)
-	else
-		myconf+=(
-			--disable-aice
-			--disable-usb-blaster-2
-			--disable-ftdi
-			--disable-ti-icdi
-			--disable-ulink
-			--disable-osbdm
-			--disable-opendous
-			--disable-usbprog
-			--disable-rlink
-			--disable-stlink
-			--disable-vsllink
-			--disable-armjtagew
-		)
-	fi
-
-	if use jlink; then
-		myconf+=(
-			--enable-jlink
-		)
-	else
-		myconf+=(
-			--disable-jlink
-		)
-	fi
-
-	if use ftdi; then
-		myconf+=(
-			--enable-usb-blaster
-			--enable-openjtag
-			--enable-presto
-		)
-	else
-		myconf+=(
-			--disable-openjtag
-			--disable-presto
-			--disable-usb-blaster
-		)
-	fi
-
-	econf \
-		$(use_enable dummy) \
-		$(use_enable cmsis-dap) \
-		$(use_enable parport) \
-		$(use_enable parport parport_ppdev) \
-		$(use_enable verbose-io verbose-jtag-io) \
-		"${myconf[@]}"
-}
-
-src_install() {
-	default
-	env -uRESTRICT prepstrip "${ED}"/usr/bin
-	udev_dorules "${D}"/usr/share/${PN}/contrib/*.rules
-}
-
-pkg_postinst() {
-	elog "To access openocd devices as user you must be in the plugdev group"
-}
diff --git a/dev-embedded/openocd/openocd-0.11.0.ebuild b/dev-embedded/openocd/openocd-0.11.0.ebuild
new file mode 100644
index 0000000..db51297
--- /dev/null
+++ b/dev-embedded/openocd/openocd-0.11.0.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+EAPI=7
+inherit autotools udev
+if [[ ${PV} == *9999 ]] ; then
+	inherit git-r3
+	EGIT_REPO_URI="	https://repo.or.cz/openocd.git"
+else
+	MY_PV="${PV/_/-}"
+	MY_P="${PN}-${MY_PV}"
+	S="${WORKDIR}"/${MY_P}
+	KEYWORDS="*"
+	SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${MY_PV}/${MY_P}.tar.gz"
+fi
+DESCRIPTION="OpenOCD - Open On-Chip Debugger"
+HOMEPAGE="http://openocd.sourceforge.net"
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="capstone +cmsis-dap dummy +ftdi parport +usb verbose-io"
+RESTRICT="strip" # includes non-native binaries
+RDEPEND="
+	acct-group/plugdev
+	>=dev-lang/jimtcl-0.76:=
+	<dev-lang/jimtcl-0.80:=
+	capstone? ( dev-libs/capstone )
+	cmsis-dap? ( dev-libs/hidapi )
+	usb? (
+		virtual/libusb:0
+		virtual/libusb:1
+	)
+	ftdi? ( dev-embedded/libftdi:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+PATCHES=(
+	"${FILESDIR}/5950-npcx.patch"
+)
+src_prepare() {
+	default
+	AT_NO_RECURSIVE=yes eautoreconf
+}
+src_configure() {
+	local myconf=(
+		--enable-amtjtagaccel
+		--enable-arm-jtag-ew
+		--enable-at91rm9200
+		--enable-bcm2835gpio
+		--enable-buspirate
+		--enable-ep93xx
+		--enable-gw16012
+		--enable-jlink
+		--enable-sysfsgpio
+		--disable-internal-jimtcl
+		--disable-werror
+		$(use_with capstone)
+		$(use_enable cmsis-dap)
+		$(use_enable dummy)
+		$(use_enable ftdi openjtag)
+		$(use_enable ftdi presto)
+		$(use_enable ftdi usb-blaster)
+		$(use_enable parport)
+		$(use_enable parport parport_ppdev)
+		$(use_enable usb aice)
+		$(use_enable usb armjtagew)
+		$(use_enable usb ftdi)
+		$(use_enable usb osbdm)
+		$(use_enable usb opendous)
+		$(use_enable usb rlink)
+		$(use_enable usb stlink)
+		$(use_enable usb ti-icdi)
+		$(use_enable usb usbprog)
+		$(use_enable usb usb-blaster-2)
+		$(use_enable usb ulink)
+		$(use_enable usb vsllink)
+		$(use_enable verbose-io verbose-jtag-io)
+		$(use_enable verbose-io verbose-usb-io)
+		$(use_enable verbose-io verbose_usb_comms)
+	)
+	econf "${myconf[@]}"
+}
+src_install() {
+	default
+	dostrip /usr/bin
+	udev_dorules "${ED}"/usr/share/${PN}/contrib/*.rules
+}
+pkg_postinst() {
+	elog "To access openocd devices as user you must be in the plugdev group"
+}
diff --git a/dev-embedded/ti50-sdk/Manifest b/dev-embedded/ti50-sdk/Manifest
index 2d000aa..9508200 100644
--- a/dev-embedded/ti50-sdk/Manifest
+++ b/dev-embedded/ti50-sdk/Manifest
@@ -1,7 +1,7 @@
 DIST llvm-bb852a09ae36-src.tar.xz 79528080 BLAKE2B 245b0f5a802f8bc8c0097d0dc22dec277530f859a596fb19853cbdc2cebb1a429eb845d65c1592a2e06c4036d6f3dfc70796034c8a9027d232b42a2c9cff570e SHA512 54545c6e9c6769735840900216a5a98912a6e9892356fcf3bc12b27e33075d5ca5e28ac513aa3fa57b5b9e918a7f4a56dcd6756f7b0e658c9b73138bfa447faa
 DIST newlib-1debd4d635c2-src.tar.xz 7487188 BLAKE2B a6423aadb17e98ec4aee5140710e5cf80a34a46ca9ce70eb4ea9c91ce4a03114adf124b31ed0f5b0da06c56f6f3ea4f07270a768ef5cffe8a406cafbda31be63 SHA512 9aa5a81582036437f0d2611175339117b28d5e48c0a617e9b2d96e386d135069fda0b04ff800f30df9ec311800df3b22e90dad853b037e6b9f15c4c6b8c0e94e
-DIST rust-acbe4443cc4c-cargo-beta-x86_64-unknown-linux-gnu.tar.xz 6488452 BLAKE2B 512939b3f7aa45738b3aaaa68906943d396365d1f4d6e40291645e0d2fefefbcab4ac775b177157dd899b3ae0368fd5f6b40f22674f12ff355338e402bfc0595 SHA512 0a9c76df30d66c9c3a075453ebae8395043d3b5813f4b36c63300d87787e4ddc0e31cf00a800696a415da8e6cad607f7860a7819849e77570bdb5c8665908b70
-DIST rust-acbe4443cc4c-rust-std-beta-x86_64-unknown-linux-gnu.tar.xz 27229456 BLAKE2B 7d6d92b2d28c8fe53255270c86ca7df6d44758d37d9fed45101d2d01e5acef57a6d91cea56a0041e14e6829817e420dc4832595ac65cd75df952e0d3cc117814 SHA512 85a146cd530f2d0875676f8017af45888c8fd2fe84f4b69c0515edc909ff35cbd67d9fe20bc5f2548b4bbd0fe5ae10bda9ac902c068b3580397d8636449a77dc
-DIST rust-acbe4443cc4c-rustc-acbe4443cc4c-src.tar.xz 143315392 BLAKE2B 5f057258397907695cd67e9d5d8cfaef3b9d0c4bcade28981f7854861a929f4a983338d90cb7369787817f44191f91aa6d85871f48e01b020815bad13cb69433 SHA512 af2950b32a4a2a91dacf6dfae61f79e1061283a6d2ba9cde008e22095be3e2f658883a6612bbe8e3eb30d1583e3aaba31f1ef90c606337f4266004c934f51548
-DIST rust-acbe4443cc4c-rustc-beta-x86_64-unknown-linux-gnu.tar.xz 57228520 BLAKE2B 786f094efc3e28d2999ac484c0dc74eb3ceb448cd566edd43f36543b4a86355dcb37ddc3f4b4a8d0bde01ba84e875094acb973f3880569ab265228211cce03c8 SHA512 e724b13c3e5d389b92f715c2adfb6e2655e3c6037ef6688353697f6b8bb09db362e84588b86a8f79e7563c5f2ba6489ccbcc0cf6a319d212df7d48faa574d083
-DIST rust-acbe4443cc4c-rustfmt-beta-x86_64-unknown-linux-gnu.tar.xz 4090112 BLAKE2B 4179f0c588aaa5ea5f9a069cf2def33e8644cad30c9ba4e712d1a4cbb9de05432d03c0a31eb013054d0ca443fcac39313c193e2812619096e6ee9d1220e129c2 SHA512 71aaa82c601ec4e0c3a0cc44b5ca951bcaa57ff33ab98497d84b2b15d6381bd66cc1fa1cfb9c44ff2c9f20761750378f993fd9c126d248b792681239ed09c841
+DIST rust-7737e0b5c410-cargo-1.59.0-x86_64-unknown-linux-gnu.tar.xz 6401340 BLAKE2B 63c5ed8b361133e4693b795acc676a10f65800a4a3041dea3cd378a8f42c6fda344496e0c2bb4677cc32812e0f1b3eb3273527442f3e52994aff8cb70faf8e1d SHA512 38f0d18e52ac7a273b4986f11dde911e4f5159ffad54c0f7eb45459c977b4132f4ed8601d2de120aafa87d27f2b2de8dadc640d43e493f99fe3aab44e1fd92b0
+DIST rust-7737e0b5c410-rust-std-1.59.0-x86_64-unknown-linux-gnu.tar.xz 26960876 BLAKE2B e2de1591bc6081b71943a2008df628809c0d7dfbce98c3119afcf51157b48f0dd3bf446a3d5a1727831da4c80f164c99ceee4ae11aa1149f7314dc74e7ebd4ff SHA512 e69bd90556f2f2aa0ca3a4f1b9aa53f48632851bdac074f4678f980be23cb039427c284d440e6d9a09035a12ece0193fbca2d308a2644e629c775809d9964586
+DIST rust-7737e0b5c410-rustc-1.59.0-x86_64-unknown-linux-gnu.tar.xz 56368640 BLAKE2B ab921cc309150f8370abddfeaae1cd9d05226edeea32cda950ae08751f1bfeef96ba2f8c31855014a2fcf4a250c2ceef30d15aef1522d84ba2a23ddc19427de3 SHA512 3a565599e1b95b14e7421f13dd564069a51b91bc60e9ed53caf23e79b172f48cf3da43d404c7794372efafb390d7f878541492936d789a248f0dc3fa2c1f5d21
+DIST rust-7737e0b5c410-rustc-7737e0b5c410-src.tar.xz 149126724 BLAKE2B b4364d0529d0a56bb0c1f0be8ad577e3ae4fa0f0ecc4f959c0051f8a0953614568b91c61840c3dd0529b1cd56b1fcc22aa6f45b7d872b5277454912ca92f9d63 SHA512 689134b7bd6051e672b68e0ab062dd1801e42b5ed4ef192ac9b775971c575f6df13851bf157ddc298ca46a2d8eb6711de1dec0b8aa533bc8c9e30aac6c83d032
+DIST rust-7737e0b5c410-rustfmt-1.59.0-x86_64-unknown-linux-gnu.tar.xz 3980888 BLAKE2B 722aaf3869024cca78bb8ffa40ea50e766e721a4b87278c09a58e128af691e20ec74f458d8b3cfc39c3f24e90b758695c3b3b6c8f3b500d3c864c7149d2420f0 SHA512 907129a4f01f88b537f0e985128ec3112a3479dec9bb037e993ebf48c3cd86bcdae12d8b8a9fc098a0e62a76345ffa7a1e1793eb78f6890321b8fd30f7b4d582
diff --git a/dev-embedded/ti50-sdk/files/D100835.patch b/dev-embedded/ti50-sdk/files/D100835.patch
new file mode 100644
index 0000000..e962db7
--- /dev/null
+++ b/dev-embedded/ti50-sdk/files/D100835.patch
@@ -0,0 +1,952 @@
+diff --git lld/ELF/Arch/RISCV.cpp lld/ELF/Arch/RISCV.cpp
+--- lld/ELF/Arch/RISCV.cpp
++++ lld/ELF/Arch/RISCV.cpp
+@@ -7,6 +7,7 @@
+ //===----------------------------------------------------------------------===//
+ 
+ #include "InputFiles.h"
++#include "OutputSections.h"
+ #include "Symbols.h"
+ #include "SyntheticSections.h"
+ #include "Target.h"
+@@ -36,6 +37,7 @@
+                      const uint8_t *loc) const override;
+   void relocate(uint8_t *loc, const Relocation &rel,
+                 uint64_t val) const override;
++  void finalizeSections() const override;
+ };
+ 
+ } // end anonymous namespace
+@@ -54,6 +56,7 @@
+ 
+ enum Reg {
+   X_RA = 1,
++  X_GP = 3,
+   X_T0 = 5,
+   X_T1 = 6,
+   X_T2 = 7,
+@@ -267,16 +270,11 @@
+   case R_RISCV_TPREL_LO12_I:
+   case R_RISCV_TPREL_LO12_S:
+     return R_TPREL;
+-  case R_RISCV_RELAX:
+   case R_RISCV_TPREL_ADD:
+     return R_NONE;
++  case R_RISCV_RELAX:
+   case R_RISCV_ALIGN:
+-    // Not just a hint; always padded to the worst-case number of NOPs, so may
+-    // not currently be aligned, and without linker relaxation support we can't
+-    // delete NOPs to realign.
+-    errorOrWarn(getErrorLocation(loc) + "relocation R_RISCV_ALIGN requires "
+-                "unimplemented linker relaxation; recompile with -mno-relax");
+-    return R_NONE;
++    return R_RELAX_HINT;
+   default:
+     error(getErrorLocation(loc) + "unknown relocation (" + Twine(type) +
+           ") against symbol " + toString(s));
+@@ -469,6 +467,7 @@
+     break;
+ 
+   case R_RISCV_RELAX:
++  case R_RISCV_TPREL_ADD:
+     return; // Ignored (for now)
+ 
+   default:
+@@ -476,6 +475,306 @@
+   }
+ }
+ 
++static uint64_t maxOutputSectionAlignment() {
++  uint64_t maxAlign = 1;
++  for (auto *os : outputSections) {
++    maxAlign = std::max<uint64_t>(maxAlign, os->alignment);
++  }
++
++  return maxAlign;
++}
++
++static void setRs1(uint8_t *buf, int rs1) {
++  write32le(buf, (read32le(buf) & 0xfff07fff) | rs1 << 15);
++}
++
++static int64_t addWorstCaseAlignment(int64_t offset, uint64_t alignment) {
++  return offset >= 0 ? offset + alignment : offset - alignment;
++}
++
++using DeleteRanges = std::vector<InputSectionBase::DeleteRange>;
++
++static void addDeleteRange(DeleteRanges &ranges, uint64_t offset,
++                           uint64_t size) {
++  ranges.push_back({offset, size});
++}
++
++// Relax R_RISCV_CALL to jal or c.jal.
++//
++// We always assume during relaxation the symbols can only come closer modulo
++// the effects of alignment.
++static bool relaxCall(InputSection *is, Relocation &rel,
++                      DeleteRanges &deleteRanges) {
++  auto *sym = dyn_cast_or_null<Defined>(rel.sym);
++  if (!sym || !sym->section)
++    return false;
++
++  uint64_t pc = is->getVA(rel.offset);
++  uint64_t target = sym->getVA(rel.addend);
++  int64_t offset = target - pc;
++
++  // As the call site and callee may reside in different sections, we need to
++  // consider the worst case possible offset caused by alignment.
++  if (is->getOutputSection() != sym->getOutputSection()) {
++    offset = addWorstCaseAlignment(offset, maxOutputSectionAlignment());
++  } else if (is != sym->section) {
++    offset = addWorstCaseAlignment(offset, is->getOutputSection()->alignment);
++  }
++
++  bool rvc = config->eflags & EF_RISCV_RVC;
++  unsigned rd =
++      (read32le(is->data().data() + rel.offset + 4) & 0x00000fe0) >> 7;
++
++  // Convert to c.j or c.jal (RV32-only) if offset fits in 12 bits.
++  if (rvc && isInt<12>(offset) && rd == 0) {
++    write16le(is->mutableData().data() + rel.offset, 0xa001); // c.j 0
++    addDeleteRange(deleteRanges, rel.offset + 2, 6);
++    rel.type = R_RISCV_RVC_JUMP;
++    return true;
++  }
++
++  if (!config->is64 && rvc && isInt<12>(offset) && rd == 1) {
++    write16le(is->mutableData().data() + rel.offset, 0x2001); // c.jal 0
++    addDeleteRange(deleteRanges, rel.offset + 2, 6);
++    rel.type = R_RISCV_RVC_JUMP;
++    return true;
++  }
++
++  // Convert to jal if offset fits in 21 bits.
++  if (isInt<21>(offset)) {
++    write32le(is->mutableData().data() + rel.offset,
++              0x0000006f | rd << 7); // jal rd, 0
++    addDeleteRange(deleteRanges, rel.offset + 4, 4);
++    rel.type = R_RISCV_JAL;
++    return true;
++  }
++
++  return false;
++}
++
++// For R_RISCV_HI20 and R_RISCV_LO12_[IS], only relax to GP-relative form if
++// __global_pointer$ symbol is defined and the target symbol is within the
++// same section as gp. This assumes the offset between gp and the target
++// symbol is static during relaxation.
++static bool relaxHi20Lo12(InputSection *is, Relocation &rel,
++                          DeleteRanges &deleteRanges) {
++  bool rvc = config->eflags & EF_RISCV_RVC;
++  uint64_t target = rel.sym->getVA(rel.addend);
++
++  Defined *gp = ElfSym::riscvGlobalPointer;
++
++  auto relaxToCLui = [&]() -> bool {
++    unsigned rd = (read32le(is->data().data() + rel.offset) & 0x00000fe0) >> 7;
++    if (rvc &&
++        isInt<6>(SignExtend64(target + 0x800, config->wordsize * 8) >> 12) &&
++        rd != 0 && rd != 2 && target != 0) {
++      write16le(is->mutableData().data() + rel.offset,
++                0x6001 | rd << 7); // c.lui rd, 0
++      addDeleteRange(deleteRanges, rel.offset + 2, 2);
++      rel.type = R_RISCV_RVC_LUI;
++      return true;
++    }
++    return false;
++  };
++
++  if (!gp || rel.sym->getOutputSection() != gp->section->getOutputSection())
++    return rel.type == R_RISCV_HI20 ? relaxToCLui() : false;
++
++  uint64_t offset = target - gp->getVA();
++
++  if (isInt<12>(offset)) {
++    if (rel.type == R_RISCV_HI20) {
++      addDeleteRange(deleteRanges, rel.offset, 4);
++      rel.type = R_RISCV_NONE;
++      rel.expr = R_NONE;
++    } else { // R_RISCV_LO12_[IS]
++      setRs1(is->mutableData().data() + rel.offset, X_GP);
++      rel.expr = R_RISCV_GPREL;
++    }
++    return true;
++  }
++
++  return false;
++}
++
++// Relaxing PCREL relocations requires two passes due to the linkage from
++// LO12 to HI20. The first pass only relaxes PCREL_LO12 and the second one
++// relaxes PCREL_HI20.
++static bool relaxPcrel(InputSection *is, Relocation &rel,
++                       DeleteRanges &deleteRanges) {
++  Defined *gp = ElfSym::riscvGlobalPointer;
++  if (!gp)
++    return false;
++
++  const Relocation *hi20 = &rel;
++  if (rel.type == R_RISCV_PCREL_LO12_I || rel.type == R_RISCV_PCREL_LO12_S) {
++    hi20 = getRISCVPCRelHi20(rel.sym, rel.addend);
++    if (!hi20)
++      return false;
++  }
++
++  if (hi20->sym->getOutputSection() != gp->section->getOutputSection())
++    return false;
++
++  uint64_t target = hi20->sym->getVA(hi20->addend);
++  uint64_t offset = target - gp->getVA();
++
++  if (isInt<12>(offset)) {
++    if (rel.type == R_RISCV_PCREL_HI20) {
++      addDeleteRange(deleteRanges, rel.offset, 4);
++      rel.type = R_RISCV_NONE;
++      rel.expr = R_NONE;
++    } else {
++      setRs1(is->mutableData().data() + rel.offset, X_GP);
++      rel.sym = hi20->sym;
++      rel.addend = hi20->addend + rel.addend;
++      rel.type =
++          rel.type == R_RISCV_PCREL_LO12_I ? R_RISCV_LO12_I : R_RISCV_LO12_S;
++      rel.expr = R_RISCV_GPREL;
++    }
++    return true;
++  }
++
++  return false;
++}
++
++template <typename F>
++void processRelaxations(MutableArrayRef<Relocation> rels, F f) {
++  if (rels.empty())
++    return;
++
++  for (auto *r = rels.begin() + 1, *e = rels.end(); r != e; ++r) {
++    if (r->type != R_RISCV_RELAX)
++      continue;
++
++    Relocation *rel = std::prev(r);
++    if (r->offset != rel->offset)
++      continue;
++
++    if (f(*rel)) {
++      r->type = R_RISCV_NONE;
++      r->expr = R_NONE;
++    }
++  }
++}
++
++static bool relax() {
++  bool changed = false;
++
++  for (OutputSection *os : outputSections) {
++    for (InputSection *is : getInputSections(*os)) {
++      if (!(is->flags & SHF_EXECINSTR))
++        continue;
++
++      DeleteRanges deleteRanges;
++      processRelaxations(is->relocations, [&](Relocation &rel) {
++        switch (rel.type) {
++        case R_RISCV_CALL:
++        case R_RISCV_CALL_PLT:
++          return relaxCall(is, rel, deleteRanges);
++        case R_RISCV_HI20:
++        case R_RISCV_LO12_I:
++        case R_RISCV_LO12_S:
++          return relaxHi20Lo12(is, rel, deleteRanges);
++        case R_RISCV_PCREL_LO12_I:
++        case R_RISCV_PCREL_LO12_S:
++          return relaxPcrel(is, rel, deleteRanges);
++        }
++
++        return false;
++      });
++
++      // The second-pass for PCREL_HI20 relaxation.
++      processRelaxations(is->relocations, [&](Relocation &rel) {
++        if (rel.type != R_RISCV_PCREL_HI20)
++          return false;
++
++        return relaxPcrel(is, rel, deleteRanges);
++      });
++
++      using DeleteRange = InputSectionBase::DeleteRange;
++      llvm::sort(deleteRanges,
++                 [](const DeleteRange &lhs, const DeleteRange &rhs) {
++                   return lhs.offset < rhs.offset;
++                 });
++
++      is->deleteRanges(deleteRanges);
++      script->assignAddresses();
++      changed |= !deleteRanges.empty();
++    }
++  }
++
++  return changed;
++}
++
++static void relaxAlign() {
++  bool rvc = config->eflags & EF_RISCV_RVC;
++
++  for (OutputSection *os : outputSections) {
++    for (InputSection *is : getInputSections(*os)) {
++      if (!(is->flags & SHF_EXECINSTR))
++        continue;
++
++      uint64_t bytesDeleted = 0;
++      DeleteRanges deleteRanges;
++      for (auto &rel : is->relocations) {
++        if (rel.type == R_RISCV_ALIGN && rel.addend > 0) {
++          uint64_t pc = is->getVA(rel.offset) - bytesDeleted;
++          uint64_t alignment = PowerOf2Ceil(rel.addend + 2);
++          uint64_t nopBytes = alignTo(pc, alignment) - pc;
++
++          if (nopBytes % 2 != 0 || (!rvc && nopBytes % 4 != 0)) {
++            errorOrWarn(is->getObjMsg(rel.offset) + ": alignment requires " +
++                        Twine(nopBytes) + " of nop");
++            break;
++          }
++
++          if (nopBytes > (uint64_t)rel.addend) {
++            errorOrWarn(is->getObjMsg(rel.offset) + ": alignment requires " +
++                        Twine(nopBytes) + " of nop, but only " +
++                        Twine(rel.addend) + " bytes are available");
++            break;
++          }
++          uint64_t bytesToDelete = rel.addend - nopBytes;
++
++          if (bytesToDelete > 0) {
++            addDeleteRange(deleteRanges, rel.offset + nopBytes, bytesToDelete);
++            bytesDeleted += bytesToDelete;
++          }
++
++          uint8_t *buf = is->mutableData().data() + rel.offset;
++          while (nopBytes != 0) {
++            if (nopBytes >= 4) {
++              write32le(buf, 0x00000013); // nop
++              nopBytes -= 4;
++              buf += 4;
++            } else if (rvc && nopBytes == 2) {
++              write16le(buf, 0x0001); // c.nop
++              nopBytes -= 2;
++              buf += 2;
++            }
++          }
++        }
++      }
++
++      is->deleteRanges(deleteRanges);
++      script->assignAddresses();
++    }
++  }
++}
++
++void RISCV::finalizeSections() const {
++  // Can't perform relaxation if it is not a final link.
++  if (config->relocatable)
++    return;
++
++  if (config->relax)
++    while (relax())
++      ;
++
++  relaxAlign();
++}
++
+ TargetInfo *elf::getRISCVTargetInfo() {
+   static RISCV target;
+   return &target;
+diff --git lld/ELF/InputSection.h lld/ELF/InputSection.h
+--- lld/ELF/InputSection.h
++++ lld/ELF/InputSection.h
+@@ -12,7 +12,9 @@
+ #include "Config.h"
+ #include "Relocations.h"
+ #include "Thunks.h"
++#include "lld/Common/CommonLinkerContext.h"
+ #include "lld/Common/LLVM.h"
++#include "lld/Common/Memory.h"
+ #include "llvm/ADT/CachedHashString.h"
+ #include "llvm/ADT/DenseSet.h"
+ #include "llvm/ADT/TinyPtrVector.h"
+@@ -162,6 +164,29 @@
+     return rawData;
+   }
+ 
++  MutableArrayRef<uint8_t> mutableData() const {
++    if (!copiedData) {
++      size_t size = data().size();
++      uint8_t *mutData = context().bAlloc.Allocate<uint8_t>(size);
++      memcpy(mutData, data().data(), size);
++      rawData = llvm::makeArrayRef(mutData, size);
++      copiedData = true;
++    }
++
++    return llvm::makeMutableArrayRef(const_cast<uint8_t *>(rawData.data()),
++                                     rawData.size());
++  }
++
++  // A pair of range to delete in (offset, size)
++  struct DeleteRange {
++    uint64_t offset;
++    uint64_t size;
++  };
++
++  // Delete ranges and adjust section content, symbols and relocations.
++  // The deleteRanges must be sorted by offset and must not overlap.
++  void deleteRanges(ArrayRef<DeleteRange> deleteRanges);
++
+   // The next member in the section group if this section is in a group. This is
+   // used by --gc-sections.
+   InputSectionBase *nextInSectionGroup = nullptr;
+@@ -229,6 +254,7 @@
+   void uncompress() const;
+ 
+   mutable ArrayRef<uint8_t> rawData;
++  mutable bool copiedData;
+ 
+   // This field stores the uncompressed size of the compressed data in rawData,
+   // or -1 if rawData is not compressed (either because the section wasn't
+@@ -383,7 +409,7 @@
+   template <class ELFT> void copyShtGroup(uint8_t *buf);
+ };
+ 
+-static_assert(sizeof(InputSection) <= 160, "InputSection is too big");
++static_assert(sizeof(InputSection) <= 168, "InputSection is too big");
+ 
+ inline bool isDebugSection(const InputSectionBase &sec) {
+   return (sec.flags & llvm::ELF::SHF_ALLOC) == 0 &&
+@@ -398,6 +424,7 @@
+ // STT_SECTION symbol associated to the .toc input section.
+ extern llvm::DenseSet<std::pair<const Symbol *, uint64_t>> ppc64noTocRelax;
+ 
++Relocation *getRISCVPCRelHi20(const Symbol *sym, uint64_t addend);
+ } // namespace elf
+ 
+ std::string toString(const elf::InputSectionBase *);
+diff --git lld/ELF/InputSection.cpp lld/ELF/InputSection.cpp
+--- lld/ELF/InputSection.cpp
++++ lld/ELF/InputSection.cpp
+@@ -56,7 +56,7 @@
+                                    StringRef name, Kind sectionKind)
+     : SectionBase(sectionKind, name, flags, entsize, alignment, type, info,
+                   link),
+-      file(file), rawData(data) {
++      file(file), rawData(data), copiedData(false) {
+   // In order to reduce memory allocation, we assume that mergeable
+   // sections are smaller than 4 GiB, which is not an unreasonable
+   // assumption as of 2017.
+@@ -150,6 +150,86 @@
+   return ret;
+ }
+ 
++void InputSectionBase::deleteRanges(ArrayRef<DeleteRange> ranges) {
++  if (ranges.empty())
++    return;
++
++  // Adjust all symbol offsets and sizes within the InputSection, using the
++  // following algorithm to avoid quadratic behavior.
++
++  // Gather all symbols within the section.
++  SmallVector<Defined *> symbols;
++  for (auto &sym : file->getSymbols()) {
++    auto *dr = dyn_cast<Defined>(sym);
++    if (!dr || dr->section != this)
++      continue;
++
++    symbols.push_back(dr);
++  }
++
++  // Sort symbols by their starting address.
++  llvm::sort(symbols, [](const Defined *a, const Defined *b) {
++    return a->value < b->value;
++  });
++
++  // Adjust each symbol's address by bytes deleted and also enlarge the symbol's
++  // size to keep its "end" fixed.
++  {
++    uint64_t removedBytes = 0;
++    const auto *r = ranges.begin(), *rend = ranges.end();
++    for (auto *dr : symbols) {
++      for (; r != rend && r->offset < dr->value; ++r)
++        removedBytes += r->size;
++
++      dr->value -= removedBytes;
++      dr->size += removedBytes;
++    }
++  }
++
++  const auto endOff = [](const Defined *dr) { return dr->value + dr->size; };
++
++  // Sort symbols by their "end" address before relaxation.
++  llvm::sort(symbols, [&](const Defined *a, const Defined *b) {
++    return endOff(a) < endOff(b);
++  });
++
++  // Adjust each symbol's end address to their actual end by reducing size.
++  {
++    uint64_t removedBytes = 0;
++    const auto *r = ranges.begin(), *rend = ranges.end();
++    for (auto *dr : symbols) {
++      for (; r != rend && r->offset < endOff(dr); ++r)
++        removedBytes += r->size;
++
++      dr->size -= removedBytes;
++    }
++  }
++
++  // Adjust relocation offsets within the section.
++  uint64_t removedBytes = 0;
++  const auto *r = ranges.begin(), *rend = ranges.end();
++  for (auto &rel : relocations) {
++    for (; r != rend && r->offset < rel.offset; ++r)
++      removedBytes += r->size;
++
++    rel.offset -= removedBytes;
++  }
++
++  // Adjust section content piece-wise and resize the section.
++  MutableArrayRef<uint8_t> buf = this->mutableData();
++  auto *dst = buf.begin() + ranges.begin()->offset;
++  for (auto it = ranges.begin(), e = ranges.end(); it != e; ++it) {
++    auto *from = buf.begin() + it->offset + it->size;
++    auto *to = std::next(it) != ranges.end()
++                   ? (buf.begin() + std::next(it)->offset)
++                   : buf.end();
++    dst = std::copy(from, to, dst);
++  }
++
++  // Resize the section
++  rawData = makeArrayRef(data().data(), dst);
++}
++
+ uint64_t SectionBase::getOffset(uint64_t offset) const {
+   switch (kind()) {
+   case Output: {
+@@ -554,7 +634,7 @@
+ //
+ // This function returns the R_RISCV_PCREL_HI20 relocation from
+ // R_RISCV_PCREL_LO12's symbol and addend.
+-static Relocation *getRISCVPCRelHi20(const Symbol *sym, uint64_t addend) {
++Relocation *lld::elf::getRISCVPCRelHi20(const Symbol *sym, uint64_t addend) {
+   const Defined *d = cast<Defined>(sym);
+   if (!d->section) {
+     error("R_RISCV_PCREL_LO12 relocation points to an absolute symbol: " +
+@@ -717,6 +797,13 @@
+     uint64_t val = sym.isUndefWeak() ? p + a : sym.getVA(a);
+     return getAArch64Page(val) - getAArch64Page(p);
+   }
++  case R_RISCV_GPREL: {
++    if (!ElfSym::riscvGlobalPointer)
++      llvm_unreachable(
++          "Cannot compute R_RISCV_GPREL if __global_pointer$ is not set");
++
++    return sym.getVA(a) - ElfSym::riscvGlobalPointer->getVA();
++  }
+   case R_RISCV_PC_INDIRECT: {
+     if (const Relocation *hiRel = getRISCVPCRelHi20(&sym, a))
+       return getRelocTargetVA(file, hiRel->type, hiRel->addend, sym.getVA(),
+@@ -997,7 +1084,7 @@
+   AArch64Relaxer aarch64relaxer(relocations);
+   for (size_t i = 0, size = relocations.size(); i != size; ++i) {
+     const Relocation &rel = relocations[i];
+-    if (rel.expr == R_NONE)
++    if (rel.expr == R_NONE || rel.expr == R_RELAX_HINT)
+       continue;
+     uint64_t offset = rel.offset;
+     uint8_t *bufLoc = buf + offset;
+diff --git lld/ELF/Relocations.h lld/ELF/Relocations.h
+--- lld/ELF/Relocations.h
++++ lld/ELF/Relocations.h
+@@ -46,6 +46,7 @@
+   R_PLT,
+   R_PLT_PC,
+   R_PLT_GOTPLT,
++  R_RELAX_HINT,
+   R_RELAX_GOT_PC,
+   R_RELAX_GOT_PC_NOPIC,
+   R_RELAX_TLS_GD_TO_IE,
+@@ -101,6 +102,7 @@
+   R_PPC64_TOCBASE,
+   R_PPC64_RELAX_GOT_PC,
+   R_RISCV_ADD,
++  R_RISCV_GPREL,
+   R_RISCV_PC_INDIRECT,
+ };
+ 
+diff --git lld/ELF/Relocations.cpp lld/ELF/Relocations.cpp
+--- lld/ELF/Relocations.cpp
++++ lld/ELF/Relocations.cpp
+@@ -960,7 +960,8 @@
+             R_MIPS_GOT_OFF, R_MIPS_GOT_OFF32, R_MIPS_GOT_GP_PC,
+             R_AARCH64_GOT_PAGE_PC, R_GOT_PC, R_GOTONLY_PC, R_GOTPLTONLY_PC,
+             R_PLT_PC, R_PLT_GOTPLT, R_PPC32_PLTREL, R_PPC64_CALL_PLT,
+-            R_PPC64_RELAX_TOC, R_RISCV_ADD, R_AARCH64_GOT_PAGE>(e))
++            R_PPC64_RELAX_TOC, R_RISCV_ADD, R_RELAX_HINT, R_AARCH64_GOT_PAGE>(
++          e))
+     return true;
+ 
+   // These never do, except if the entire file is position dependent or if
+diff --git lld/ELF/Target.h lld/ELF/Target.h
+--- lld/ELF/Target.h
++++ lld/ELF/Target.h
+@@ -92,6 +92,8 @@
+   virtual void applyJumpInstrMod(uint8_t *loc, JumpModType type,
+                                  JumpModType val) const {}
+ 
++  virtual void finalizeSections() const {}
++
+   virtual ~TargetInfo();
+ 
+   // This deletes a jump insn at the end of the section if it is a fall thru to
+diff --git lld/ELF/Writer.cpp lld/ELF/Writer.cpp
+--- lld/ELF/Writer.cpp
++++ lld/ELF/Writer.cpp
+@@ -1628,6 +1628,8 @@
+   if (config->emachine == EM_HEXAGON)
+     hexagonTLSSymbolUpdate(outputSections);
+ 
++  target->finalizeSections();
++
+   int assignPasses = 0;
+   for (;;) {
+     bool changed = target->needsThunks && tc.createThunks(outputSections);
+diff --git lld/test/ELF/riscv-gp.s lld/test/ELF/riscv-gp.s
+--- lld/test/ELF/riscv-gp.s
++++ lld/test/ELF/riscv-gp.s
+@@ -1,14 +1,16 @@
+ # REQUIRES: riscv
+-# RUN: llvm-mc -filetype=obj -triple=riscv32 %s -o %t.32.o
++# RUN: llvm-mc -filetype=obj -triple=riscv32 -mattr=+relax %s -o %t.32.o
+ # RUN: ld.lld -pie %t.32.o -o %t.32
+ # RUN: llvm-readelf -s %t.32 | FileCheck --check-prefix=SYM32 %s
+ # RUN: llvm-readelf -S %t.32 | FileCheck --check-prefix=SEC32 %s
++# RUN: llvm-objdump -d --print-imm-hex %t.32 | FileCheck --check-prefix=DIS32 %s
+ # RUN: not ld.lld -shared %t.32.o -o /dev/null 2>&1 | FileCheck --check-prefix=ERR %s
+ 
+-# RUN: llvm-mc -filetype=obj -triple=riscv64 %s -o %t.64.o
++# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+relax %s -o %t.64.o
+ # RUN: ld.lld -pie %t.64.o -o %t.64
+ # RUN: llvm-readelf -s %t.64 | FileCheck --check-prefix=SYM64 %s
+ # RUN: llvm-readelf -S %t.64 | FileCheck --check-prefix=SEC64 %s
++# RUN: llvm-objdump -d %t.64 | FileCheck --check-prefix=DIS64 %s
+ # RUN: not ld.lld -shared %t.64.o -o /dev/null 2>&1 | FileCheck --check-prefix=ERR %s
+ 
+ ## __global_pointer$ = .sdata+0x800 = 0x39c0
+@@ -18,12 +20,15 @@
+ # SEC64: [ 7] .sdata PROGBITS {{0*}}000032e0
+ # SYM64: {{0*}}00003ae0 0 NOTYPE GLOBAL DEFAULT 7 __global_pointer$
+ 
+-## __global_pointer$ - 0x1000 = 4096*3-2048
+-# DIS:      1000: auipc gp, 3
+-# DIS-NEXT:       addi gp, gp, -2048
++# DIS32:      auipc gp, 3
++# DIS32-NEXT: addi gp, gp, -1968
++
++# DIS64:      auipc gp, 3
++# DIS64-NEXT: addi gp, gp, -1896
+ 
+ # ERR: error: relocation R_RISCV_PCREL_HI20 cannot be used against symbol '__global_pointer$'; recompile with -fPIC
+ 
++.option norelax
+ lla gp, __global_pointer$
+ 
+ .section .sdata,"aw"
+diff --git lld/test/ELF/riscv-relax-align-rvc.s lld/test/ELF/riscv-relax-align-rvc.s
+new file mode 100644
+--- /dev/null
++++ lld/test/ELF/riscv-relax-align-rvc.s
+@@ -0,0 +1,31 @@
++# REQUIRES: riscv
++
++# RUN: llvm-mc -filetype=obj -triple=riscv32-unknown-elf -mattr=+c,+relax %s -o %t.rv32.o
++# RUN: llvm-mc -filetype=obj -triple=riscv64-unknown-elf -mattr=+c,+relax %s -o %t.rv64.o
++
++# RUN: ld.lld %t.rv32.o -o %t.rv32
++# RUN: ld.lld %t.rv64.o -o %t.rv64
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t.rv32 | FileCheck %s
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t.rv64 | FileCheck %s
++
++# CHECK:      c.add   a0, a1
++# CHECK-NEXT: addi    zero, zero, 0
++# CHECK-NEXT: addi    zero, zero, 0
++# CHECK-NEXT: addi    zero, zero, 0
++# CHECK-NEXT: c.nop
++# CHECK-NEXT: c.add   s0, s1
++# CHECK-NEXT: c.add   s2, s3
++# CHECK-NEXT: c.add   s4, s5
++# CHECK-NEXT: c.nop
++# CHECK-NEXT: c.add   t0, t1
++
++.global _start
++_start:
++.balign 4
++  c.add a0, a1
++.balign 16
++  c.add s0, s1
++  c.add s2, s3
++  c.add s4, s5
++.balign 8
++  c.add t0, t1
+diff --git lld/test/ELF/riscv-relax-align.s lld/test/ELF/riscv-relax-align.s
+new file mode 100644
+--- /dev/null
++++ lld/test/ELF/riscv-relax-align.s
+@@ -0,0 +1,33 @@
++# REQUIRES: riscv
++
++# RUN: llvm-mc -filetype=obj -triple=riscv32-unknown-elf -mattr=+relax %s -o %t.rv32.o
++# RUN: llvm-mc -filetype=obj -triple=riscv64-unknown-elf -mattr=+relax %s -o %t.rv64.o
++
++# RUN: ld.lld %t.rv32.o -o %t.rv32
++# RUN: ld.lld %t.rv64.o -o %t.rv64
++# RUN: llvm-objdump -d --no-show-raw-insn %t.rv32 | FileCheck %s
++# RUN: llvm-objdump -d --no-show-raw-insn %t.rv64 | FileCheck %s
++
++# Check that alignment is always handled regardless of --relax option
++# RUN: ld.lld --no-relax %t.rv32.o -o %t-no-relax.rv32
++# RUN: ld.lld --no-relax %t.rv64.o -o %t-no-relax.rv64
++# RUN: llvm-objdump -d --no-show-raw-insn %t-no-relax.rv32 | FileCheck %s
++# RUN: llvm-objdump -d --no-show-raw-insn %t-no-relax.rv64 | FileCheck %s
++
++# CHECK:      add     a0, a1, a2
++# CHECK-NEXT: add     a3, a4, a5
++# CHECK-NEXT: nop
++# CHECK-NEXT: nop
++# CHECK-NEXT: add     s0, s1, s2
++# CHECK-NEXT: add     t0, t1, t2
++
++.global _start
++_start:
++.balign 4
++  add a0, a1, a2
++  add a3, a4, a5
++.balign 16
++  add s0, s1, s2
++.balign 4
++.balign 4
++  add t0, t1, t2
+diff --git lld/test/ELF/riscv-relax-call.s lld/test/ELF/riscv-relax-call.s
+new file mode 100644
+--- /dev/null
++++ lld/test/ELF/riscv-relax-call.s
+@@ -0,0 +1,72 @@
++# REQUIRES: riscv
++
++# RUN: llvm-mc -filetype=obj -triple=riscv32-unknown-elf -mattr=+relax %s -o %t.rv32.o
++# RUN: llvm-mc -filetype=obj -triple=riscv64-unknown-elf -mattr=+relax %s -o %t.rv64.o
++# RUN: llvm-mc -filetype=obj -triple=riscv32-unknown-elf -mattr=+c,+relax %s -o %t.rv32c.o
++# RUN: llvm-mc -filetype=obj -triple=riscv64-unknown-elf -mattr=+c,+relax %s -o %t.rv64c.o
++
++# jal relaxation
++# RUN: ld.lld %t.rv32.o --defsym foo=_start+20 -o %t.rv32
++# RUN: ld.lld %t.rv64.o --defsym foo=_start+20 -o %t.rv64
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t.rv32 | FileCheck --check-prefix=JAL %s
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t.rv64 | FileCheck --check-prefix=JAL %s
++# JAL:      jal     ra, {{.*}} <foo>
++# JAL-NEXT: jal     zero, {{.*}} <foo>
++
++# c.j and c.jal (RV32C-only) relaxation
++# RUN: ld.lld %t.rv32c.o --defsym foo=_start+20 -o %t.rv32c
++# RUN: ld.lld %t.rv64c.o --defsym foo=_start+20 -o %t.rv64c
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t.rv32c | FileCheck --check-prefix=RV32C %s
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t.rv64c | FileCheck --check-prefix=RV64C %s
++# RV32C:      c.jal     {{.*}} <foo>
++# RV32C-NEXT: c.j       {{.*}} <foo>
++# RV64C:      jal       ra, {{.*}} <foo>
++# RV64C-NEXT: c.j       {{.*}} <foo>
++
++# Don't relax to c.j/c.jal if out of range
++# RUN: ld.lld %t.rv32c.o --defsym foo=_start+0x1004 -o %t.rv32c
++# RUN: ld.lld %t.rv64c.o --defsym foo=_start+0x1004 -o %t.rv64c
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t.rv32c | FileCheck --check-prefix=JAL %s
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t.rv64c | FileCheck --check-prefix=JAL %s
++
++# Don't relax if out of range (for the first call)
++# RUN: ld.lld %t.rv32c.o --defsym foo=_start+0x100000 -o %t-boundary.rv32
++# RUN: ld.lld %t.rv64c.o --defsym foo=_start+0x100000 -o %t-boundary.rv64
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t-boundary.rv32 | FileCheck --check-prefix=BOUNDARY %s
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t-boundary.rv64 | FileCheck --check-prefix=BOUNDARY %s
++# BOUNDARY:      auipc  ra, 256
++# BOUNDARY-NEXT: jalr   ra, 0(ra)
++# BOUNDARY-NEXT: jal    zero, {{.*}} <foo>
++
++# Check relaxation works across output sections
++# RUN: echo 'SECTIONS { .text 0x100000 : { *(.text) } .foo : ALIGN(8) { foo = .; } }' > %t-cross-section.lds
++# RUN: ld.lld %t.rv32c.o %t-cross-section.lds -o %t-cross-section.rv32
++# RUN: ld.lld %t.rv64c.o %t-cross-section.lds -o %t-cross-section.rv64
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t-cross-section.rv32 | FileCheck --check-prefix=RV32C %s
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t-cross-section.rv64 | FileCheck --check-prefix=RV64C %s
++
++# Test for output section alignment checking during relaxation. The .foo section
++# cannot be moved closer due to alignment so lld must not relax the call, even
++# though it seems it may be in range before relaxation.
++
++# RUN: echo 'SECTIONS { .text 0x100000 : { *(.text); } .foo : ALIGN(0x100000) { foo = .; } }' > %t-cross-section-out-of-range.lds
++# RUN: ld.lld %t.rv32c.o %t-cross-section-out-of-range.lds -o %t-cross-section-out-of-range.rv32
++# RUN: ld.lld %t.rv64c.o %t-cross-section-out-of-range.lds -o %t-cross-section-out-of-range.rv64
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t-cross-section-out-of-range.rv32 | FileCheck --check-prefix=NORELAX %s
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t-cross-section-out-of-range.rv64 | FileCheck --check-prefix=NORELAX %s
++# NORELAX:      auipc  ra, {{.*}}
++# NORELAX-NEXT: jalr   ra, {{.*}}(ra)
++# NORELAX:      auipc  t1, {{.*}}
++# NORELAX-NEXT: jalr   zero, {{.*}}(t1)
++
++# Don't relax to absolute symbols
++# RUN: ld.lld %t.rv32c.o -Ttext=0x100000 --defsym foo=0x100000 -o %t-abs.rv32
++# RUN: ld.lld %t.rv64c.o -Ttext=0x100000 --defsym foo=0x100000 -o %t-abs.rv64
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t-abs.rv32 | FileCheck --check-prefix=NORELAX %s
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t-abs.rv64 | FileCheck --check-prefix=NORELAX %s
++
++.global _start
++.p2align 3
++_start:
++  call foo
++  tail foo
+diff --git lld/test/ELF/riscv-relax-hi20-lo12.s lld/test/ELF/riscv-relax-hi20-lo12.s
+new file mode 100644
+--- /dev/null
++++ lld/test/ELF/riscv-relax-hi20-lo12.s
+@@ -0,0 +1,51 @@
++# REQUIRES: riscv
++
++# RUN: llvm-mc -filetype=obj -triple=riscv32-unknown-elf -mattr=+relax %s -o %t.rv32.o
++# RUN: llvm-mc -filetype=obj -triple=riscv64-unknown-elf -mattr=+relax %s -o %t.rv64.o
++# RUN: llvm-mc -filetype=obj -triple=riscv32-unknown-elf -mattr=+c,+relax %s -o %t.rv32c.o
++# RUN: llvm-mc -filetype=obj -triple=riscv64-unknown-elf -mattr=+c,+relax %s -o %t.rv64c.o
++
++# RUN: echo 'SECTIONS { .text : { *(.text) } .sdata 0x200000 : { foo = .; } }' > %t.lds
++# RUN: ld.lld --undefined=__global_pointer$ %t.rv32.o %t.lds -o %t.rv32
++# RUN: ld.lld --undefined=__global_pointer$ %t.rv64.o %t.lds -o %t.rv64
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t.rv32 | FileCheck --check-prefix=GP %s
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t.rv64 | FileCheck --check-prefix=GP %s
++# GP-NOT:  lui
++# GP:      addi    a0, gp, -2048
++# GP-NEXT: lw      a0, -2048(gp)
++# GP-NEXT: sw      a0, -2048(gp)
++
++# RUN: echo 'SECTIONS { .text : { *(.text) } .sdata 0x200000 : { foo = . + 4096; } }' > %t-out-of-range.lds
++# RUN: ld.lld --undefined=__global_pointer$ %t.rv32.o %t-out-of-range.lds -o %t.rv32-out-of-range
++# RUN: ld.lld --undefined=__global_pointer$ %t.rv64.o %t-out-of-range.lds -o %t.rv64-out-of-range
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t.rv32-out-of-range | FileCheck --check-prefix=NORELAX %s
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t.rv64-out-of-range | FileCheck --check-prefix=NORELAX %s
++# NORELAX:      lui     a0, 513
++# NORELAX-NEXT: addi    a0, a0, 0
++# NORELAX-NEXT: lw      a0, 0(a0)
++# NORELAX-NEXT: sw      a0, 0(a0)
++
++# RUN: ld.lld --defsym=foo=0x1000 %t.rv32c.o -o %t.rv32-clui
++# RUN: ld.lld --defsym=foo=0x1000 %t.rv64c.o -o %t.rv64-clui
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t.rv32-clui | FileCheck --check-prefix=CLUI %s
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t.rv64-clui | FileCheck --check-prefix=CLUI %s
++# CLUI:      c.lui   a0, 1
++# CLUI-NEXT: addi    a0, a0, 0
++# CLUI-NEXT: lw      a0, 0(a0)
++# CLUI-NEXT: sw      a0, 0(a0)
++
++# RUN: ld.lld --defsym=foo=0x10 %t.rv32c.o -o %t.rv32-cli
++# RUN: ld.lld --defsym=foo=0x10 %t.rv64c.o -o %t.rv64-cli
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t.rv32-cli | FileCheck --check-prefix=CLI %s
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t.rv64-cli | FileCheck --check-prefix=CLI %s
++# CLI:      c.li    a0, 0
++# CLI-NEXT: addi    a0, a0, 16
++# CLI-NEXT: lw      a0, 16(a0)
++# CLI-NEXT: sw      a0, 16(a0)
++
++.global _start
++_start:
++  lui a0, %hi(foo)
++  addi a0, a0, %lo(foo)
++  lw a0, %lo(foo)(a0)
++  sw a0, %lo(foo)(a0)
+diff --git lld/test/ELF/riscv-relax-pcrel.s lld/test/ELF/riscv-relax-pcrel.s
+new file mode 100644
+--- /dev/null
++++ lld/test/ELF/riscv-relax-pcrel.s
+@@ -0,0 +1,28 @@
++# REQUIRES: riscv
++
++# RUN: llvm-mc -filetype=obj -triple=riscv32-unknown-elf -mattr=+relax %s -o %t.rv32.o
++# RUN: llvm-mc -filetype=obj -triple=riscv64-unknown-elf -mattr=+relax %s -o %t.rv64.o
++
++# RUN: echo 'SECTIONS { .text 0x100000 : { *(.text) } .sdata 0x200000 : { foo = .; } }' > %t.lds
++# RUN: ld.lld --undefined=__global_pointer$ %t.rv32.o %t.lds -o %t.rv32
++# RUN: ld.lld --undefined=__global_pointer$ %t.rv64.o %t.lds -o %t.rv64
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t.rv32 | FileCheck --check-prefix=GP %s
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t.rv64 | FileCheck --check-prefix=GP %s
++# GP-NOT:  auipc
++# GP:      addi    a0, gp, -2048
++# GP-NEXT: sw      a0, -2048(gp)
++
++# RUN: echo 'SECTIONS { .text 0x100000 : { *(.text) } .sdata 0x200000 : { foo = . + 4096; } }' > %t-norelax.lds
++# RUN: ld.lld --undefined=__global_pointer$ %t.rv32.o %t-norelax.lds -o %t-norelax.rv32
++# RUN: ld.lld --undefined=__global_pointer$ %t.rv64.o %t-norelax.lds -o %t-norelax.rv64
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t-norelax.rv32 | FileCheck --check-prefix=NORELAX %s
++# RUN: llvm-objdump -d -M no-aliases --no-show-raw-insn %t-norelax.rv64 | FileCheck --check-prefix=NORELAX %s
++# NORELAX:      auipc   a0, 257
++# NORELAX-NEXT: addi    a0, a0, 0
++# NORELAX-NEXT: sw      a0, 0(a0)
++
++.global _start
++_start:
++  auipc a0, %pcrel_hi(foo)
++  addi a0, a0, %pcrel_lo(_start)
++  sw a0, %pcrel_lo(_start)(a0)
+diff --git lld/test/ELF/riscv-relax-syms.s lld/test/ELF/riscv-relax-syms.s
+new file mode 100644
+--- /dev/null
++++ lld/test/ELF/riscv-relax-syms.s
+@@ -0,0 +1,32 @@
++# REQUIRES: riscv
++
++// Check that relaxation correctly adjusts symbol addresses and sizes.
++
++# RUN: llvm-mc -filetype=obj -triple=riscv32-unknown-elf -mattr=+relax %s -o %t.rv32.o
++# RUN: llvm-mc -filetype=obj -triple=riscv64-unknown-elf -mattr=+relax %s -o %t.rv64.o
++# RUN: ld.lld -Ttext=0x100000 %t.rv32.o -o %t.rv32
++# RUN: ld.lld -Ttext=0x100000 %t.rv64.o -o %t.rv64
++
++# RUN: llvm-readelf -s %t.rv32 | FileCheck %s
++# RUN: llvm-readelf -s %t.rv64 | FileCheck %s
++
++# CHECK: 100000     4 NOTYPE  LOCAL  DEFAULT     1 a
++# CHECK: 100000     8 NOTYPE  LOCAL  DEFAULT     1 b
++# CHECK: 100004     4 NOTYPE  LOCAL  DEFAULT     1 c
++# CHECK: 100004     8 NOTYPE  LOCAL  DEFAULT     1 d
++# CHECK: 100000    12 NOTYPE  GLOBAL DEFAULT     1 _start
++
++.global _start
++_start:
++a:
++b:
++  add  a0, a1, a2
++.size a, . - a
++c:
++d:
++  call _start
++.size b, . - b
++.size c, . - c
++  add a0, a1, a2
++.size d, . - d
++.size _start, . - _start
+diff --git lld/test/ELF/riscv-reloc-align.s lld/test/ELF/riscv-reloc-align.s
+deleted file mode 100644
+--- lld/test/ELF/riscv-reloc-align.s
++++ /dev/null
+@@ -1,12 +0,0 @@
+-# REQUIRES: riscv
+-
+-# RUN: llvm-mc -filetype=obj -triple=riscv32 -mattr=+relax %s -o %t.o
+-# RUN: not ld.lld %t.o -o /dev/null 2>&1 | FileCheck %s
+-
+-# CHECK: relocation R_RISCV_ALIGN requires unimplemented linker relaxation
+-
+-.global _start
+-_start:
+-    nop
+-    .balign 8
+-    nop
+
diff --git a/dev-embedded/ti50-sdk/ti50-sdk-0.0.3-r2.ebuild b/dev-embedded/ti50-sdk/ti50-sdk-0.0.3-r2.ebuild
deleted file mode 120000
index ff36612..0000000
--- a/dev-embedded/ti50-sdk/ti50-sdk-0.0.3-r2.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-ti50-sdk-0.0.3.ebuild
\ No newline at end of file
diff --git a/dev-embedded/ti50-sdk/ti50-sdk-0.0.3.ebuild b/dev-embedded/ti50-sdk/ti50-sdk-0.0.3.ebuild
deleted file mode 100644
index 22ddf169..0000000
--- a/dev-embedded/ti50-sdk/ti50-sdk-0.0.3.ebuild
+++ /dev/null
@@ -1,140 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-
-inherit cros-constants python-any-r1 toolchain-funcs
-
-DESCRIPTION="Ebuild that installs Ti50's SDK"
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
-KEYWORDS="*"
-SLOT="0"
-
-# The llvm src tarball was manually packed from a checkout of
-# https://github.com/llvm/llvm-project at ${LLVM_SHA}, using
-# ${FILESDIR}/pack_git_tarball.py.
-LLVM_SHA="bb852a09ae36"
-LLVM_SRC_TARBALL_NAME="llvm-${LLVM_SHA}-src"
-SRC_URI="https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/${LLVM_SRC_TARBALL_NAME}.tar.xz"
-
-
-# The rust src tarball was manually packed from a checkout of
-# https://github.com/rust-lang/rust at ${RUST_SHA}, using
-# ${FILESDIR}/pack_git_tarball.py with |--post-copy-command 'cargo vendor'|.
-BOOTSTRAP_HOST_TRIPLE="x86_64-unknown-linux-gnu"
-RUST_SHA="acbe4443cc4c"
-# See https://github.com/rust-lang/rust/tree/${RUST_SHA}/src/stage0.json
-RUST_STAGE0_DATE="2021-11-30"
-
-RUST_PREFIX="rust-${RUST_SHA}"
-RUST_SRC_TARBALL_NAME="rustc-${RUST_SHA}-src"
-RUST_CARGO_TARBALL_NAME="cargo-beta-${BOOTSTRAP_HOST_TRIPLE}"
-RUST_STAGE0_TARBALL_NAME="rustc-beta-${BOOTSTRAP_HOST_TRIPLE}"
-RUST_STD_TARBALL_NAME="rust-std-beta-${BOOTSTRAP_HOST_TRIPLE}"
-RUST_RUSTFMT_TARBALL_NAME="rustfmt-beta-${BOOTSTRAP_HOST_TRIPLE}"
-SRC_URI+="
-	https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/${RUST_PREFIX}-${RUST_SRC_TARBALL_NAME}.tar.xz
-	https://static.rust-lang.org/dist/${RUST_STAGE0_DATE}/${RUST_CARGO_TARBALL_NAME}.tar.xz -> ${RUST_PREFIX}-${RUST_CARGO_TARBALL_NAME}.tar.xz
-	https://static.rust-lang.org/dist/${RUST_STAGE0_DATE}/${RUST_STAGE0_TARBALL_NAME}.tar.xz -> ${RUST_PREFIX}-${RUST_STAGE0_TARBALL_NAME}.tar.xz
-	https://static.rust-lang.org/dist/${RUST_STAGE0_DATE}/${RUST_STD_TARBALL_NAME}.tar.xz -> ${RUST_PREFIX}-${RUST_STD_TARBALL_NAME}.tar.xz
-	https://static.rust-lang.org/dist/${RUST_STAGE0_DATE}/${RUST_RUSTFMT_TARBALL_NAME}.tar.xz -> ${RUST_PREFIX}-${RUST_RUSTFMT_TARBALL_NAME}.tar.xz
-"
-
-# The newlib src tarball was manually packed from a checkout of
-# https://sourceware.org/git/newlib-cygwin.git at ${NEWLIB_SHA}, using
-# ${FILESDIR}/pack_git_tarball.py.
-NEWLIB_SHA="1debd4d635c2"
-NEWLIB_SRC_TARBALL_NAME="newlib-${NEWLIB_SHA}-src"
-SRC_URI+=" https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/${NEWLIB_SRC_TARBALL_NAME}.tar.xz"
-
-SRC_ROOT="${WORKDIR}/${P}/src"
-INSTALL_ROOT="${WORKDIR}/${P}/install"
-INSTALL_PREFIX="opt/${PN}"
-
-# N.B., this toolchain is built entirely independently of the host's Rust
-# toolchain, so no dev-lang/rust dependency is needed.
-DEPEND="sys-libs/zlib
-	>=sys-libs/ncurses-5.9-r3
-	sys-devel/binutils"
-BDEPEND="${PYTHON_DEPS}
-	dev-lang/perl
-	sys-devel/gnuconfig
-	$(python_gen_any_dep 'dev-python/sphinx[${PYTHON_USEDEP}]')
-	>=dev-libs/libxml2-2.9.6
-	>=dev-lang/perl-5.0"
-
-pkg_setup() {
-	python-any-r1_pkg_setup
-}
-
-src_unpack() {
-	default
-
-	mkdir -p "${SRC_ROOT}" || die
-
-	mv "${WORKDIR}/${LLVM_SRC_TARBALL_NAME}" "${SRC_ROOT}/llvm" || die
-	mv "${WORKDIR}/${NEWLIB_SRC_TARBALL_NAME}" "${SRC_ROOT}/newlib" || die
-
-	mv "${WORKDIR}/${RUST_SRC_TARBALL_NAME}" "${SRC_ROOT}/rustc" || die
-	cp -r \
-		"${WORKDIR}/${RUST_STD_TARBALL_NAME}/rust-std-${BOOTSTRAP_HOST_TRIPLE}/lib/rustlib/${BOOTSTRAP_HOST_TRIPLE}" \
-		"${WORKDIR}/${RUST_STAGE0_TARBALL_NAME}/rustc/lib/rustlib" \
-		|| die
-}
-
-src_prepare() {
-	cd "${SRC_ROOT}/llvm" || die
-	eapply "${FILESDIR}/llvm11-10122020-soteria.patch"
-
-	cd "${SRC_ROOT}/rustc" || die
-
-	# Copy "unknown" vendor targets to create cros_sdk target triples applied later.
-	local spec_dir="compiler/rustc_target/src/spec"
-	sed -e 's|"unknown"|"pc"|g' "${spec_dir}/x86_64_unknown_linux_gnu.rs" \
-		> "${spec_dir}/x86_64_pc_linux_gnu.rs" \
-		|| die
-
-	eapply "${FILESDIR}/rust-add-cros-targets.patch"
-	sed -i 's|"stdc++"|"c++"|g' "compiler/rustc_llvm/build.rs" || die
-
-	cd "${SRC_ROOT}" || die
-	eapply_user
-}
-
-# src_configure is elided, since this package is actually building a few things
-# at once, and there are dependencies between these things. Ideally, each of
-# these would be their own ebuild, but we're trying to keep this as small and
-# self-contained as possible for the moment.
-
-src_compile() {
-	tc-export PKG_CONFIG
-
-	# In iterative development via `ebuild compile`, our clang toolchain
-	# might already be fully built. Don't rebuild it if that's the case.
-	if [[ ! -e "${INSTALL_ROOT}/bin/clang" ]]; then
-		"${FILESDIR}/build_clang_toolchain.py" \
-			--install-dir="${INSTALL_ROOT}" \
-			--llvm-dir="${SRC_ROOT}/llvm" \
-			--newlib-dir="${SRC_ROOT}/newlib" \
-			--work-dir="${SRC_ROOT}/llvm/build" \
-			|| die
-	fi
-
-	"${FILESDIR}/build_rust_toolchain.py" \
-		--install-dir="${INSTALL_ROOT}" \
-		--install-prefix="${ED}${INSTALL_PREFIX}" \
-		--rust-src="${SRC_ROOT}/rustc" \
-		--rv-clang-bin="${INSTALL_ROOT}/bin" \
-		--cargo="${WORKDIR}/${RUST_CARGO_TARBALL_NAME}/cargo/bin/cargo" \
-		--rustc="${WORKDIR}/${RUST_STAGE0_TARBALL_NAME}/rustc/bin/rustc" \
-		--rustfmt="${WORKDIR}/${RUST_RUSTFMT_TARBALL_NAME}/rustfmt-preview/bin/rustfmt" \
-		|| die
-}
-
-src_install() {
-	dodir "/${INSTALL_PREFIX}"
-	cp -a "${INSTALL_ROOT}"/* "${D}/${INSTALL_PREFIX}" || die
-}
diff --git a/dev-embedded/ti50-sdk/ti50-sdk-0.0.4-r1.ebuild b/dev-embedded/ti50-sdk/ti50-sdk-0.0.4-r1.ebuild
new file mode 120000
index 0000000..8bdc787
--- /dev/null
+++ b/dev-embedded/ti50-sdk/ti50-sdk-0.0.4-r1.ebuild
@@ -0,0 +1 @@
+ti50-sdk-0.0.4.ebuild
\ No newline at end of file
diff --git a/dev-embedded/ti50-sdk/ti50-sdk-0.0.4.ebuild b/dev-embedded/ti50-sdk/ti50-sdk-0.0.4.ebuild
new file mode 100644
index 0000000..df813d2
--- /dev/null
+++ b/dev-embedded/ti50-sdk/ti50-sdk-0.0.4.ebuild
@@ -0,0 +1,144 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-constants python-any-r1 toolchain-funcs
+
+DESCRIPTION="Ebuild that installs Ti50's SDK"
+LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
+KEYWORDS="*"
+SLOT="0"
+
+# The llvm src tarball was manually packed from a checkout of
+# https://github.com/llvm/llvm-project at ${LLVM_SHA}, using
+# ${FILESDIR}/pack_git_tarball.py.
+LLVM_SHA="bb852a09ae36"
+LLVM_SRC_TARBALL_NAME="llvm-${LLVM_SHA}-src"
+SRC_URI="https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/${LLVM_SRC_TARBALL_NAME}.tar.xz"
+
+
+# The rust src tarball was manually packed from a checkout of
+# https://github.com/rust-lang/rust at ${RUST_SHA}, using
+# ${FILESDIR}/pack_git_tarball.py with |--post-copy-command 'cargo vendor'|.
+BOOTSTRAP_HOST_TRIPLE="x86_64-unknown-linux-gnu"
+RUST_SHA="7737e0b5c410"
+# See https://github.com/rust-lang/rust/tree/${RUST_SHA}/src/stage0.json
+RUST_STAGE0_DATE="2022-02-24"
+RUST_STAGE0_VERSION="1.59.0"
+
+RUST_PREFIX="rust-${RUST_SHA}"
+RUST_SRC_TARBALL_NAME="rustc-${RUST_SHA}-src"
+RUST_CARGO_TARBALL_NAME="cargo-${RUST_STAGE0_VERSION}-${BOOTSTRAP_HOST_TRIPLE}"
+RUST_STAGE0_TARBALL_NAME="rustc-${RUST_STAGE0_VERSION}-${BOOTSTRAP_HOST_TRIPLE}"
+RUST_STD_TARBALL_NAME="rust-std-${RUST_STAGE0_VERSION}-${BOOTSTRAP_HOST_TRIPLE}"
+RUST_RUSTFMT_TARBALL_NAME="rustfmt-${RUST_STAGE0_VERSION}-${BOOTSTRAP_HOST_TRIPLE}"
+SRC_URI+="
+	https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/${RUST_PREFIX}-${RUST_SRC_TARBALL_NAME}.tar.xz
+	https://static.rust-lang.org/dist/${RUST_STAGE0_DATE}/${RUST_CARGO_TARBALL_NAME}.tar.xz -> ${RUST_PREFIX}-${RUST_CARGO_TARBALL_NAME}.tar.xz
+	https://static.rust-lang.org/dist/${RUST_STAGE0_DATE}/${RUST_STAGE0_TARBALL_NAME}.tar.xz -> ${RUST_PREFIX}-${RUST_STAGE0_TARBALL_NAME}.tar.xz
+	https://static.rust-lang.org/dist/${RUST_STAGE0_DATE}/${RUST_STD_TARBALL_NAME}.tar.xz -> ${RUST_PREFIX}-${RUST_STD_TARBALL_NAME}.tar.xz
+	https://static.rust-lang.org/dist/${RUST_STAGE0_DATE}/${RUST_RUSTFMT_TARBALL_NAME}.tar.xz -> ${RUST_PREFIX}-${RUST_RUSTFMT_TARBALL_NAME}.tar.xz
+"
+
+# The newlib src tarball was manually packed from a checkout of
+# https://sourceware.org/git/newlib-cygwin.git at ${NEWLIB_SHA}, using
+# ${FILESDIR}/pack_git_tarball.py.
+NEWLIB_SHA="1debd4d635c2"
+NEWLIB_SRC_TARBALL_NAME="newlib-${NEWLIB_SHA}-src"
+SRC_URI+=" https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/${NEWLIB_SRC_TARBALL_NAME}.tar.xz"
+
+SRC_ROOT="${WORKDIR}/${P}/src"
+INSTALL_ROOT="${WORKDIR}/${P}/install"
+INSTALL_PREFIX="opt/${PN}"
+
+# N.B., this toolchain is built entirely independently of the host's Rust
+# toolchain, so no dev-lang/rust dependency is needed.
+DEPEND="sys-libs/zlib
+	>=sys-libs/ncurses-5.9-r3
+	sys-devel/binutils"
+BDEPEND="${PYTHON_DEPS}
+	dev-lang/perl
+	sys-devel/gnuconfig
+	$(python_gen_any_dep 'dev-python/sphinx[${PYTHON_USEDEP}]')
+	>=dev-libs/libxml2-2.9.6
+	>=dev-lang/perl-5.0"
+
+pkg_setup() {
+	python-any-r1_pkg_setup
+}
+
+src_unpack() {
+	default
+
+	mkdir -p "${SRC_ROOT}" || die
+
+	mv "${WORKDIR}/${LLVM_SRC_TARBALL_NAME}" "${SRC_ROOT}/llvm" || die
+	mv "${WORKDIR}/${NEWLIB_SRC_TARBALL_NAME}" "${SRC_ROOT}/newlib" || die
+
+	mv "${WORKDIR}/${RUST_SRC_TARBALL_NAME}" "${SRC_ROOT}/rustc" || die
+	cp -r \
+		"${WORKDIR}/${RUST_STD_TARBALL_NAME}/rust-std-${BOOTSTRAP_HOST_TRIPLE}/lib/rustlib/${BOOTSTRAP_HOST_TRIPLE}" \
+		"${WORKDIR}/${RUST_STAGE0_TARBALL_NAME}/rustc/lib/rustlib" \
+		|| die
+}
+
+src_prepare() {
+	cd "${SRC_ROOT}/llvm" || die
+	eapply "${FILESDIR}/llvm11-10122020-soteria.patch"
+
+	cd "${SRC_ROOT}/rustc" || die
+
+	# Copy "unknown" vendor targets to create cros_sdk target triples applied later.
+	local spec_dir="compiler/rustc_target/src/spec"
+	sed -e 's|"unknown"|"pc"|g' "${spec_dir}/x86_64_unknown_linux_gnu.rs" \
+		> "${spec_dir}/x86_64_pc_linux_gnu.rs" \
+		|| die
+
+	eapply "${FILESDIR}/rust-add-cros-targets.patch"
+	sed -i 's|"stdc++"|"c++"|g' "compiler/rustc_llvm/build.rs" || die
+
+	cd "${SRC_ROOT}/rustc/src/llvm-project/lld" || die
+	eapply "${FILESDIR}/D100835.patch" # Linker relaxation patch
+
+	cd "${SRC_ROOT}" || die
+	eapply_user
+}
+
+# src_configure is elided, since this package is actually building a few things
+# at once, and there are dependencies between these things. Ideally, each of
+# these would be their own ebuild, but we're trying to keep this as small and
+# self-contained as possible for the moment.
+
+src_compile() {
+	tc-export PKG_CONFIG
+
+	# In iterative development via `ebuild compile`, our clang toolchain
+	# might already be fully built. Don't rebuild it if that's the case.
+	if [[ ! -e "${INSTALL_ROOT}/bin/clang" ]]; then
+		"${FILESDIR}/build_clang_toolchain.py" \
+			--install-dir="${INSTALL_ROOT}" \
+			--llvm-dir="${SRC_ROOT}/llvm" \
+			--newlib-dir="${SRC_ROOT}/newlib" \
+			--work-dir="${SRC_ROOT}/llvm/build" \
+			|| die
+	fi
+
+	"${FILESDIR}/build_rust_toolchain.py" \
+		--install-dir="${INSTALL_ROOT}" \
+		--install-prefix="${ED}${INSTALL_PREFIX}" \
+		--rust-src="${SRC_ROOT}/rustc" \
+		--rv-clang-bin="${INSTALL_ROOT}/bin" \
+		--cargo="${WORKDIR}/${RUST_CARGO_TARBALL_NAME}/cargo/bin/cargo" \
+		--rustc="${WORKDIR}/${RUST_STAGE0_TARBALL_NAME}/rustc/bin/rustc" \
+		--rustfmt="${WORKDIR}/${RUST_RUSTFMT_TARBALL_NAME}/rustfmt-preview/bin/rustfmt" \
+		|| die
+}
+
+src_install() {
+	dodir "/${INSTALL_PREFIX}"
+	cp -a "${INSTALL_ROOT}"/* "${D}/${INSTALL_PREFIX}" || die
+}
diff --git a/dev-go/OWNERS b/dev-go/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/dev-go/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/dev-go/afero/Manifest b/dev-go/afero/Manifest
new file mode 100644
index 0000000..ab3f05f
--- /dev/null
+++ b/dev-go/afero/Manifest
@@ -0,0 +1 @@
+DIST github.com-spf13-afero-v1.8.2.tar.gz 91568 BLAKE2B 68cd655c61d060be0b36dd0f781ff19adf339f6148a78d8192ff1713b5c7e3d8ef0730eb8c959620b1b769770b1a7e00a2912f0838c32aeec0a037e806e985c3 SHA512 9a62fcf6c9050d18eaa85ae04e22dc03b44fc004ba3c1518d60f13f5d1e9b89e53fc43fff42650fd769aa19f460f2a2e58132bca15c7319bff4016c6b49d6599
diff --git a/dev-go/afero/OWNERS b/dev-go/afero/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/afero/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/afero/afero-1.8.2-r2.ebuild b/dev-go/afero/afero-1.8.2-r2.ebuild
new file mode 120000
index 0000000..5241d7e
--- /dev/null
+++ b/dev-go/afero/afero-1.8.2-r2.ebuild
@@ -0,0 +1 @@
+afero-1.8.2.ebuild
\ No newline at end of file
diff --git a/dev-go/afero/afero-1.8.2.ebuild b/dev-go/afero/afero-1.8.2.ebuild
new file mode 100644
index 0000000..ec97fe1
--- /dev/null
+++ b/dev-go/afero/afero-1.8.2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/spf13/afero v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/spf13/afero"
+	"github.com/spf13/afero/mem"
+	"github.com/spf13/afero/gcsfs"
+)
+
+# temp workaround to allow circular afero -> gcp-storage -> afero
+# when migrating to modules mode this can be dropped because
+# the upstream Go modules system supports circular deps
+CROS_GO_SKIP_DEP_CHECK="1"
+
+inherit cros-go
+
+DESCRIPTION="A FileSystem Abstraction System for Go"
+HOMEPAGE="https://github.com/spf13/afero"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND="
+	dev-go/crypto
+	dev-go/gapi
+	dev-go/oauth2
+	dev-go/sftp
+	dev-go/text
+"
+RDEPEND=""
diff --git a/dev-go/appengine/appengine-1.6.7-r2.ebuild b/dev-go/appengine/appengine-1.6.7-r2.ebuild
new file mode 120000
index 0000000..420572d
--- /dev/null
+++ b/dev-go/appengine/appengine-1.6.7-r2.ebuild
@@ -0,0 +1 @@
+appengine-1.6.7.ebuild
\ No newline at end of file
diff --git a/dev-go/appengine/appengine-1.6.7.ebuild b/dev-go/appengine/appengine-1.6.7.ebuild
index 9fb53ba..b695dae 100644
--- a/dev-go/appengine/appengine-1.6.7.ebuild
+++ b/dev-go/appengine/appengine-1.6.7.ebuild
@@ -15,8 +15,12 @@
 	"google.golang.org/appengine/internal/log"
 	"google.golang.org/appengine/internal/modules"
 	"google.golang.org/appengine/internal/remote_api"
+	"google.golang.org/appengine/internal/socket"
+	"google.golang.org/appengine/internal/urlfetch"
 	"google.golang.org/appengine/datastore/internal/cloudkey"
 	"google.golang.org/appengine/datastore/internal/cloudpb"
+	"google.golang.org/appengine/socket"
+	"google.golang.org/appengine/urlfetch"
 )
 
 inherit cros-go
@@ -30,5 +34,9 @@
 KEYWORDS="*"
 IUSE=""
 
-DEPEND=""
+DEPEND="
+	dev-go/net
+	dev-go/protobuf-legacy-api
+	dev-go/text
+"
 RDEPEND="${DEPEND}"
diff --git a/dev-go/blackfriday/Manifest b/dev-go/blackfriday/Manifest
new file mode 100644
index 0000000..d204f59
--- /dev/null
+++ b/dev-go/blackfriday/Manifest
@@ -0,0 +1 @@
+DIST github.com-russross-blackfriday-v2.1.0.tar.gz 92896 BLAKE2B 0b079d81b0852a707281b77ddf7789336ad982fbd272f18504cdb38777c35ee1b84f488313b06bd27587c8f41faec96c749ed264e685038716e2708e21f6ccc9 SHA512 579a7e2af5c6fdc07eff1f7c89864c62a7fdf01b1e47963adc44eca5c91d1442687028ef4b80c150916c6aa7c973978b8db67bdd4623a09a30ff65c1025c67aa
diff --git a/dev-go/blackfriday/OWNERS b/dev-go/blackfriday/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/blackfriday/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/blackfriday/blackfriday-2.1.0.ebuild b/dev-go/blackfriday/blackfriday-2.1.0.ebuild
new file mode 100644
index 0000000..7785184
--- /dev/null
+++ b/dev-go/blackfriday/blackfriday-2.1.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/russross/blackfriday:github.com/russross/blackfriday/v2 v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/russross/blackfriday/v2"
+)
+
+inherit cros-go
+
+DESCRIPTION="Blackfriday is a Markdown processor implemented in Go."
+HOMEPAGE="https://github.com/russross/blackfriday"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="*"
+IUSE="test"
+RESTRICT="binchecks strip"
diff --git a/dev-go/bufseekio/bufseekio-0.0.1-r1.ebuild b/dev-go/bufseekio/bufseekio-0.0.1-r2.ebuild
similarity index 100%
rename from dev-go/bufseekio/bufseekio-0.0.1-r1.ebuild
rename to dev-go/bufseekio/bufseekio-0.0.1-r2.ebuild
diff --git a/dev-go/bufseekio/bufseekio-0.0.1.ebuild b/dev-go/bufseekio/bufseekio-0.0.1.ebuild
index b2c3a20..794af5e 100644
--- a/dev-go/bufseekio/bufseekio-0.0.1.ebuild
+++ b/dev-go/bufseekio/bufseekio-0.0.1.ebuild
@@ -21,5 +21,5 @@
 IUSE=""
 RESTRICT="binchecks strip"
 
-DEPEND=""
+DEPEND="dev-go/testify"
 RDEPEND=""
diff --git a/dev-go/cdp/cdp-0.31.0-r1.ebuild b/dev-go/cdp/cdp-0.31.0-r2.ebuild
similarity index 100%
rename from dev-go/cdp/cdp-0.31.0-r1.ebuild
rename to dev-go/cdp/cdp-0.31.0-r2.ebuild
diff --git a/dev-go/cdp/cdp-0.31.0.ebuild b/dev-go/cdp/cdp-0.31.0.ebuild
index 57e4b25..f4ca395 100644
--- a/dev-go/cdp/cdp-0.31.0.ebuild
+++ b/dev-go/cdp/cdp-0.31.0.ebuild
@@ -37,7 +37,9 @@
 RESTRICT="binchecks strip"
 
 DEPEND="
+	dev-go/go-tools
 	dev-go/misspell
+	dev-go/mod
 	test? (
 		dev-go/cmp
 		dev-go/sync
diff --git a/dev-go/cli/Manifest b/dev-go/cli/Manifest
index dce171d..bcf2e21 100644
--- a/dev-go/cli/Manifest
+++ b/dev-go/cli/Manifest
@@ -1 +1 @@
-DIST github.com-urfave-cli-v1.20.0.tar.gz 58397 SHA256 c5ba59f5742c99618b5ba34211699287cd3e80c41488bb267035ce0163e3bade SHA512 0a47a47121e25bceb6ebdf10a55ab3bc7531214284b1669fe20237c3ac938c7cd154ebc408759202d936688350e27e47d14f6a6b0793271c10534f2e90bd1fb5 WHIRLPOOL 407510ce83cf886c15d22889f55eaa2f6d422c29f6c9dc36818f94b2622997710cafb0351649fd3a13e88009ca9d4b79dfc0976465322c4a486c45b49b5b4b9a
+DIST github.com-urfave-cli-v1.22.5.tar.gz 78125 BLAKE2B 7658e61f845843939308eba3520795081e642e5591df2a53a73c5aa29add83ff5ad218369a91371590fb7b54a9b71d3ab3d9b9ae0d4a51caf703cb20bc579a94 SHA512 38d8b93b32dd5065d78ec3dc57a93dc45eef5cb47e9d5974628107ecdc12a3dcba9bb8ea4d26d1ea4e88de0a5ae01b33a1363b03fa6bdd2b5a400d2b6f0683a5
diff --git a/dev-go/cli/cli-1.20.0.ebuild b/dev-go/cli/cli-1.20.0.ebuild
deleted file mode 100644
index d22913c..0000000
--- a/dev-go/cli/cli-1.20.0.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=6
-
-CROS_GO_SOURCE="github.com/urfave/cli v${PV}"
-
-CROS_GO_PACKAGES=(
-	"github.com/urfave/cli"
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-inherit cros-go
-
-DESCRIPTION="A simple, fast, and fun package for building command line apps in Go"
-HOMEPAGE="https://github.com/urfave/cli"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND=""
-RDEPEND=""
diff --git a/dev-go/cli/cli-1.22.5-r1.ebuild b/dev-go/cli/cli-1.22.5-r1.ebuild
new file mode 120000
index 0000000..cd12658
--- /dev/null
+++ b/dev-go/cli/cli-1.22.5-r1.ebuild
@@ -0,0 +1 @@
+cli-1.22.5.ebuild
\ No newline at end of file
diff --git a/dev-go/cli/cli-1.22.5.ebuild b/dev-go/cli/cli-1.22.5.ebuild
new file mode 100644
index 0000000..650fa6b
--- /dev/null
+++ b/dev-go/cli/cli-1.22.5.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=6
+
+CROS_GO_SOURCE="github.com/urfave/cli v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/urfave/cli"
+)
+
+CROS_GO_TEST=(
+	"${CROS_GO_PACKAGES[@]}"
+)
+
+inherit cros-go
+
+DESCRIPTION="A simple, fast, and fun package for building command line apps in Go"
+HOMEPAGE="https://github.com/urfave/cli"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="
+	dev-go/toml
+	dev-go/yaml:0
+	dev-go/go-md2man
+"
+RDEPEND=""
diff --git a/dev-go/cmp/cmp-0.5.6-r1.ebuild b/dev-go/cmp/cmp-0.5.6-r2.ebuild
similarity index 100%
rename from dev-go/cmp/cmp-0.5.6-r1.ebuild
rename to dev-go/cmp/cmp-0.5.6-r2.ebuild
diff --git a/dev-go/cmp/cmp-0.5.6.ebuild b/dev-go/cmp/cmp-0.5.6.ebuild
index 7bac4b5..0a77379 100644
--- a/dev-go/cmp/cmp-0.5.6.ebuild
+++ b/dev-go/cmp/cmp-0.5.6.ebuild
@@ -21,5 +21,5 @@
 IUSE=""
 RESTRICT="binchecks strip"
 
-DEPEND=""
+DEPEND="dev-go/xerrors"
 RDEPEND=""
diff --git a/dev-go/cncf-xds/cncf-xds-0.0.1-r4.ebuild b/dev-go/cncf-xds/cncf-xds-0.0.1-r5.ebuild
similarity index 100%
rename from dev-go/cncf-xds/cncf-xds-0.0.1-r4.ebuild
rename to dev-go/cncf-xds/cncf-xds-0.0.1-r5.ebuild
diff --git a/dev-go/cncf-xds/cncf-xds-0.0.1.ebuild b/dev-go/cncf-xds/cncf-xds-0.0.1.ebuild
index c35f7723..292982a 100644
--- a/dev-go/cncf-xds/cncf-xds-0.0.1.ebuild
+++ b/dev-go/cncf-xds/cncf-xds-0.0.1.ebuild
@@ -3,15 +3,15 @@
 
 EAPI=7
 
-# The dev-go/gcp* packages are all built from this repo. They should
-# be updated together.
 CROS_GO_SOURCE="github.com/cncf/xds:github.com/cncf/xds 01c748900fbb8fd467c4f091385123c4715312fb"
 
 CROS_GO_PACKAGES=(
 	"github.com/cncf/xds/go/udpa/annotations"
 	"github.com/cncf/xds/go/xds/annotations/v3"
 	"github.com/cncf/xds/go/xds/core/v3"
+	"github.com/cncf/xds/go/xds/data/orca/v3"
 	"github.com/cncf/xds/go/xds/type/matcher/v3"
+	"github.com/cncf/xds/go/xds/type/v3"
 )
 
 CROS_GO_TEST=(
diff --git a/dev-go/containerd/Manifest b/dev-go/containerd/Manifest
new file mode 100644
index 0000000..64e7099
--- /dev/null
+++ b/dev-go/containerd/Manifest
@@ -0,0 +1 @@
+DIST github.com-containerd-containerd-v1.5.1.tar.gz 7667135 BLAKE2B 4ddea5adec7b290145ec8da40a8fa07a8f9fd7e4cef611074b97b7be5f3544c45ffe1de1a151c5da17a73584b34f823bcbc552a839c5fb52d9b68679aac7ba1c SHA512 457e3059638af7479aebc88bb8aea148d93b0a42de3b3ea78b7ee81e9af8132bedaeb53a1cc06763a13158d0cacf2a1f788820b49d899d5f0eed7ed3a65dc271
diff --git a/dev-go/containerd/OWNERS b/dev-go/containerd/OWNERS
new file mode 100644
index 0000000..5bdb162
--- /dev/null
+++ b/dev-go/containerd/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/tast:/OWNERS
diff --git a/dev-go/containerd/containerd-1.5.1-r2.ebuild b/dev-go/containerd/containerd-1.5.1-r2.ebuild
new file mode 120000
index 0000000..5c63c23
--- /dev/null
+++ b/dev-go/containerd/containerd-1.5.1-r2.ebuild
@@ -0,0 +1 @@
+containerd-1.5.1.ebuild
\ No newline at end of file
diff --git a/dev-go/containerd/containerd-1.5.1.ebuild b/dev-go/containerd/containerd-1.5.1.ebuild
new file mode 100644
index 0000000..df92ec8
--- /dev/null
+++ b/dev-go/containerd/containerd-1.5.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/containerd/containerd v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/containerd/containerd/errdefs"
+)
+
+inherit cros-go
+
+DESCRIPTION="An open and reliable container runtime"
+HOMEPAGE="https://github.com/containerd/containerd"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE="test"
+RESTRICT="binchecks strip"
+DEPEND="
+	dev-go/errcheck
+	dev-go/grpc
+"
+RDEPEND="!<=dev-go/docker-20.10.8-r1"
diff --git a/dev-go/dbus/dbus-5.0.3_p20200215-r1.ebuild b/dev-go/dbus/dbus-5.0.3_p20200215-r3.ebuild
similarity index 100%
rename from dev-go/dbus/dbus-5.0.3_p20200215-r1.ebuild
rename to dev-go/dbus/dbus-5.0.3_p20200215-r3.ebuild
diff --git a/dev-go/dbus/dbus-5.0.3_p20200215.ebuild b/dev-go/dbus/dbus-5.0.3_p20200215.ebuild
index dc89b3c..03150fa 100644
--- a/dev-go/dbus/dbus-5.0.3_p20200215.ebuild
+++ b/dev-go/dbus/dbus-5.0.3_p20200215.ebuild
@@ -3,12 +3,10 @@
 
 EAPI=5
 
-CROS_GO_SOURCE="github.com/godbus/dbus 06fc4b473149e499166adbb9e31c7365a8ea146f"
+CROS_GO_SOURCE="github.com/godbus/dbus:github.com/godbus/dbus/v5 06fc4b473149e499166adbb9e31c7365a8ea146f"
 
 CROS_GO_PACKAGES=(
-	"github.com/godbus/dbus"
-	"github.com/godbus/dbus/prop"
-	"github.com/godbus/dbus/introspect"
+	"github.com/godbus/dbus/..."
 )
 
 inherit cros-go
diff --git a/dev-go/delve/Manifest b/dev-go/delve/Manifest
index 9c15d6f..73d7c6e 100644
--- a/dev-go/delve/Manifest
+++ b/dev-go/delve/Manifest
@@ -1 +1 @@
-DIST github.com-go-delve-delve-v1.7.2.tar.gz 8527848 BLAKE2B 04527796bd82287b2b8e795b0b232b0fc6e9fbc9fd42ac81c83feda5f2198a8e601496eb9f2f7e21adfafd0756a9abd842c38c6732c824faee434978ec281acd SHA512 2d070e51732df10d8f8c05e4cc26ce43ea1ea4085b5c0b7343420838c7de89e8990a2c7320e8dc54c5780b68a9527ebfd5c4ae225e71abb06406b2a7d6f3bc5a
+DIST github.com-go-delve-delve-v1.8.3.tar.gz 9975030 BLAKE2B 4a371cb6da61d7f2ed4cea012ff8f1e7eb28a4cc10518aea7919fdb0781238adead7f6cf31df0300773773d7e5b922f1cdb3529a97956641b7f2e227ef958225 SHA512 188f677218b74a7e1858447843d76439da26da7b830eca4ed61bb5ab3ed478091e91b38c638cc3495a4a58ecdd564d24befdb445a4b52a65230d989f7c235aa1
diff --git a/dev-go/delve/delve-1.7.2.ebuild b/dev-go/delve/delve-1.8.3.ebuild
similarity index 100%
rename from dev-go/delve/delve-1.7.2.ebuild
rename to dev-go/delve/delve-1.8.3.ebuild
diff --git a/dev-go/demangle/Manifest b/dev-go/demangle/Manifest
new file mode 100644
index 0000000..c8a0187
--- /dev/null
+++ b/dev-go/demangle/Manifest
@@ -0,0 +1 @@
+DIST github.com-ianlancetaylor-demangle-b7f99f1dbc9644095cd3254251eccb314d1a81f7.tar.gz 669564 BLAKE2B 212cf30333ef4be421c65d88fc2ef9cb1789c9e57561ab3fb8814ebf8ded05986c7889f4f0adb21d14b9142989b0511ac8823453b79472558b557f4895a23865 SHA512 d58172d88716f66cc8cf5f50cbe0645df09da87e72a1d4a41f1187f6a32556a429effd2cc5964d8034692c4d365d8c236935208c46d725f8fa1e686e0493a62a
diff --git a/dev-go/demangle/OWNERS b/dev-go/demangle/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/demangle/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/demangle/demangle-0.0.1-r1.ebuild b/dev-go/demangle/demangle-0.0.1-r1.ebuild
new file mode 120000
index 0000000..8ee6c82
--- /dev/null
+++ b/dev-go/demangle/demangle-0.0.1-r1.ebuild
@@ -0,0 +1 @@
+demangle-0.0.1.ebuild
\ No newline at end of file
diff --git a/dev-go/demangle/demangle-0.0.1.ebuild b/dev-go/demangle/demangle-0.0.1.ebuild
new file mode 100644
index 0000000..e575c38
--- /dev/null
+++ b/dev-go/demangle/demangle-0.0.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/ianlancetaylor/demangle b7f99f1dbc9644095cd3254251eccb314d1a81f7"
+
+CROS_GO_PACKAGES=(
+	"github.com/ianlancetaylor/demangle"
+)
+
+inherit cros-go
+
+DESCRIPTION="C++ symbol name demangler written in Go "
+HOMEPAGE="https://github.com/ianlancetaylor/demangle"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-go/distribution/Manifest b/dev-go/distribution/Manifest
new file mode 100644
index 0000000..5633fad
--- /dev/null
+++ b/dev-go/distribution/Manifest
@@ -0,0 +1 @@
+DIST github.com-docker-distribution-v2.7.1.tar.gz 1996699 BLAKE2B 2e22db69f476be5a4688f5b3d6b41fbbf71460351543ae849f707dd5b3d56624f674815a25214002886b057f0859f75fd197bb275a7b3cc8a7787422f716ad0e SHA512 f6baf0e7aa96ebe828c628f7dfd84ee899331c3c1bdab86662aef595b092702b6d9b2c9be766a6de6d153ff4ca55d85c5fd8785a0968f285f56a32a50092c754
diff --git a/dev-go/distribution/OWNERS b/dev-go/distribution/OWNERS
new file mode 100644
index 0000000..5bdb162
--- /dev/null
+++ b/dev-go/distribution/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/tast:/OWNERS
diff --git a/dev-go/distribution/distribution-2.7.1-r2.ebuild b/dev-go/distribution/distribution-2.7.1-r2.ebuild
new file mode 120000
index 0000000..ce91b7b
--- /dev/null
+++ b/dev-go/distribution/distribution-2.7.1-r2.ebuild
@@ -0,0 +1 @@
+distribution-2.7.1.ebuild
\ No newline at end of file
diff --git a/dev-go/distribution/distribution-2.7.1.ebuild b/dev-go/distribution/distribution-2.7.1.ebuild
new file mode 100644
index 0000000..7cecce0
--- /dev/null
+++ b/dev-go/distribution/distribution-2.7.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/docker/distribution:github.com/docker/distribution/v2 v${PV}"
+
+PATCHES=(
+	"${FILESDIR}"/distribution-2.7.1-add-distribution-major-ver.patch
+)
+
+CROS_GO_PACKAGES=(
+	"github.com/docker/distribution/v2/digestset"
+	"github.com/docker/distribution/v2/reference"
+	"github.com/docker/distribution/v2/registry/api/errcode"
+)
+
+inherit cros-go
+
+DESCRIPTION="The toolkit to pack, ship, store, and deliver container content"
+HOMEPAGE="https://github.com/docker/distribution"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE="test"
+RESTRICT="binchecks strip"
+DEPEND=""
+RDEPEND="!<=dev-go/docker-20.10.8-r1"
diff --git a/dev-go/distribution/files/distribution-2.7.1-add-distribution-major-ver.patch b/dev-go/distribution/files/distribution-2.7.1-add-distribution-major-ver.patch
new file mode 100644
index 0000000..d7174bc6
--- /dev/null
+++ b/dev-go/distribution/files/distribution-2.7.1-add-distribution-major-ver.patch
@@ -0,0 +1,41 @@
+From c689bdb8393173ea0797acc9004e3701996c72cf Mon Sep 17 00:00:00 2001
+From: Adrian Ratiu <adrian.ratiu@collabora.com>
+Date: Sat, 16 Apr 2022 00:16:20 +0300
+Subject: [PATCH] distribution: add module major version
+
+Upstream docker does not yet support Go modules but in ChromeOS
+we want to enable modules across the tree. Doing this is
+relatively straightforward in projects, we just need to
+update the import paths to respect module requirements.
+
+The main requirement docker upstream does not respect is
+adding the major version of dependencies as suffixes in
+the import paths. For github.com/docker/distribution the
+major version suffix is v2.
+
+Fixing all docker code to properly support modules is a
+much bigger effort, but this is enough to get ChromeOS
+working. This patch should be dropped when docker finally
+supports modules.
+
+Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
+---
+ reference/normalize.go | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/github.com/docker/distribution/v2/reference/normalize.go b/src/github.com/docker/distribution/v2/reference/normalize.go
+index 2d71fc5e..730e196a 100644
+--- a/src/github.com/docker/distribution/v2/reference/normalize.go
++++ b/src/github.com/docker/distribution/v2/reference/normalize.go
+@@ -5,7 +5,7 @@ import (
+ 	"fmt"
+ 	"strings"
+ 
+-	"github.com/docker/distribution/digestset"
++	"github.com/docker/distribution/v2/digestset"
+ 	"github.com/opencontainers/go-digest"
+ )
+ 
+-- 
+2.35.1
+
diff --git a/dev-go/dns/Manifest b/dev-go/dns/Manifest
index 19caf96..0b6f064 100644
--- a/dev-go/dns/Manifest
+++ b/dev-go/dns/Manifest
@@ -1 +1 @@
-DIST github.com-miekg-dns-v1.1.1.tar.gz 3880802 SHA256 38b31613c6e92a56767755284c214cd575a14dc2b551eca4561c45c43c74420a SHA512 72bf22052be855bd5e09865be5317f0c1f7559bec4815c01f75492a8077b90a28e83e99e3c075c3ecf14e909ef9f1ce132b1db4be3aa58d0f6336569f53cebe6 WHIRLPOOL 6f8bf0a8eac8e8877b92f4f31183e7cbe78f09a31ea6a7e8b518b451516715b44da2e2af06e731bc15fb5c03cfc7254ec98fdcfb6d1a9b85efa345d4ebb7d3c3
+DIST github.com-miekg-dns-v1.1.41.tar.gz 199522 BLAKE2B 3333d87c1f132b6ab153eeeb6bd9127f5fd4e9180b32a4b90130b3685b58d35e8ed073e7c3e17bed65a137f1456d11f9905cf00a466bb3280756f1b820f10e63 SHA512 03747c182f629f6866fe35445a40fef0275a24918f8d82c9981f45727f480e6410919204c1a7b7c688f64ae05cd676fa20c16b39cb012a75f3884e6587b8a433
diff --git a/dev-go/dns/dns-1.1.1.ebuild b/dev-go/dns/dns-1.1.1.ebuild
deleted file mode 100644
index 530eac5..0000000
--- a/dev-go/dns/dns-1.1.1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=5
-
-CROS_GO_SOURCE="github.com/miekg/dns v${PV}"
-
-CROS_GO_PACKAGES=(
-	"github.com/miekg/dns"
-	"github.com/miekg/dns/dnsutil"
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-inherit cros-go
-
-DESCRIPTION="DNS library in Go"
-HOMEPAGE="https://github.com/miekg/dns"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND="
-	dev-go/crypto
-	dev-go/go-sys
-	dev-go/net"
-RDEPEND="${DEPEND}"
diff --git a/dev-go/dns/dns-1.1.41-r1.ebuild b/dev-go/dns/dns-1.1.41-r1.ebuild
new file mode 120000
index 0000000..baf96e4
--- /dev/null
+++ b/dev-go/dns/dns-1.1.41-r1.ebuild
@@ -0,0 +1 @@
+dns-1.1.41.ebuild
\ No newline at end of file
diff --git a/dev-go/dns/dns-1.1.41.ebuild b/dev-go/dns/dns-1.1.41.ebuild
new file mode 100644
index 0000000..6a745ed
--- /dev/null
+++ b/dev-go/dns/dns-1.1.41.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/miekg/dns v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/miekg/dns"
+	"github.com/miekg/dns/dnsutil"
+)
+
+CROS_GO_TEST=(
+	"${CROS_GO_PACKAGES[@]}"
+)
+
+inherit cros-go
+
+DESCRIPTION="DNS library in Go"
+HOMEPAGE="https://github.com/miekg/dns"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND="
+	dev-go/crypto
+	dev-go/go-sys
+	dev-go/net
+	dev-go/sync
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-go/docker/docker-20.10.8-r3.ebuild b/dev-go/docker/docker-20.10.8-r3.ebuild
new file mode 120000
index 0000000..ad0da82
--- /dev/null
+++ b/dev-go/docker/docker-20.10.8-r3.ebuild
@@ -0,0 +1 @@
+docker-20.10.8.ebuild
\ No newline at end of file
diff --git a/dev-go/docker/docker-20.10.8.ebuild b/dev-go/docker/docker-20.10.8.ebuild
index aea064e..affa889 100644
--- a/dev-go/docker/docker-20.10.8.ebuild
+++ b/dev-go/docker/docker-20.10.8.ebuild
@@ -1,24 +1,16 @@
 # Copyright 2021 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2.
 
-EAPI=5
+EAPI=7
 CROS_GO_SOURCE=(
 	"github.com/moby/moby:github.com/docker/docker 5f0703c549935d2cfec42b468b858d822b58a27e"
-	"github.com/containerd/containerd v1.5.1"
-	"github.com/docker/distribution v2.7.1"
-	"github.com/docker/go-connections 88e5af338bb1e6c7f51b69cc1864249d1e8f4786"
-	"github.com/docker/go-units 519db1ee28dcc9fd2474ae59fca29a810482bfb1"
-	"github.com/gogo/protobuf 226206f39bd7276e88ec684ea0028c18ec2c91ae"
-	"github.com/opencontainers/go-digest v1.0.0"
-	"github.com/opencontainers/image-spec v1.0.1"
-	"github.com/sirupsen/logrus v1.8.1"
+)
+
+PATCHES=(
+	"${FILESDIR}"/docker-20.10.8-add-distribution-major-ver.patch
 )
 
 CROS_GO_PACKAGES=(
-	"github.com/containerd/containerd/errdefs"
-	"github.com/docker/distribution/digestset"
-	"github.com/docker/distribution/reference"
-	"github.com/docker/distribution/registry/api/errcode"
 	"github.com/docker/docker/api"
 	"github.com/docker/docker/api/types"
 	"github.com/docker/docker/api/types/blkiodev"
@@ -37,15 +29,6 @@
 	"github.com/docker/docker/api/types/volume"
 	"github.com/docker/docker/client"
 	"github.com/docker/docker/errdefs"
-	"github.com/docker/go-connections/nat"
-	"github.com/docker/go-connections/sockets"
-	"github.com/docker/go-connections/tlsconfig"
-	"github.com/docker/go-units"
-	"github.com/gogo/protobuf/proto"
-	"github.com/opencontainers/go-digest"
-	"github.com/opencontainers/image-spec/specs-go"
-	"github.com/opencontainers/image-spec/specs-go/v1"
-	"github.com/sirupsen/logrus"
 )
 
 inherit cros-go
@@ -65,12 +48,21 @@
 RESTRICT="binchecks strip"
 
 DEPEND="
-	dev-go/protobuf
+	dev-go/containerd
 	dev-go/crypto
-	dev-go/grpc
-	dev-go/text
-	dev-go/net
-	dev-go/go-sys
+	dev-go/distribution
 	dev-go/errors
+	dev-go/go-connections
+	dev-go/go-digest
+	dev-go/go-sys
+	dev-go/go-units
+	dev-go/gogo-protobuf
+	dev-go/grpc
+	dev-go/image-spec
+	dev-go/logrus
+	dev-go/net
+	dev-go/protobuf
+	dev-go/protobuf-legacy-api
+	dev-go/text
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-go/docker/files/docker-20.10.8-add-distribution-major-ver.patch b/dev-go/docker/files/docker-20.10.8-add-distribution-major-ver.patch
new file mode 100644
index 0000000..1171d0a
--- /dev/null
+++ b/dev-go/docker/files/docker-20.10.8-add-distribution-major-ver.patch
@@ -0,0 +1,167 @@
+From a08aa194d1140010e07cba5391f6a979a53c1e23 Mon Sep 17 00:00:00 2001
+From: Adrian Ratiu <adrian.ratiu@collabora.com>
+Date: Sat, 16 Apr 2022 17:11:25 +0300
+Subject: [PATCH] client: add distribution module major version
+
+Upstream docker does not yet support Go modules but in ChromeOS
+we want to enable modules across the tree. Doing this is
+relatively straightforward in projects, we just need to
+update the import paths to respect module requirements.
+
+The main requirement docker upstream does not respect is
+adding the major version of dependencies as suffixes in
+the import paths. For github.com/docker/distribution the
+major version suffix is v2.
+
+Fixing all docker code to properly support modules is a
+much bigger effort, but this is enough to get ChromeOS
+working. This patch should be dropped when docker finally
+supports modules.
+
+Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
+---
+ client/container_commit.go | 2 +-
+ client/image_create.go     | 2 +-
+ client/image_import.go     | 2 +-
+ client/image_pull.go       | 2 +-
+ client/image_push.go       | 2 +-
+ client/image_tag.go        | 2 +-
+ client/plugin_install.go   | 2 +-
+ client/plugin_upgrade.go   | 2 +-
+ client/service_create.go   | 2 +-
+ errdefs/http_helpers.go    | 2 +-
+ 10 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/src/github.com/docker/docker/client/container_commit.go b/src/github.com/docker/docker/client/container_commit.go
+index 2966e88c8e..e14e1f783f 100644
+--- a/src/github.com/docker/docker/client/container_commit.go
++++ b/src/github.com/docker/docker/client/container_commit.go
+@@ -6,7 +6,7 @@ import (
+ 	"errors"
+ 	"net/url"
+ 
+-	"github.com/docker/distribution/reference"
++	"github.com/docker/distribution/v2/reference"
+ 	"github.com/docker/docker/api/types"
+ )
+ 
+diff --git a/src/github.com/docker/docker/client/image_create.go b/src/github.com/docker/docker/client/image_create.go
+index 239380474e..4166a29c56 100644
+--- a/src/github.com/docker/docker/client/image_create.go
++++ b/src/github.com/docker/docker/client/image_create.go
+@@ -6,7 +6,7 @@ import (
+ 	"net/url"
+ 	"strings"
+ 
+-	"github.com/docker/distribution/reference"
++	"github.com/docker/distribution/v2/reference"
+ 	"github.com/docker/docker/api/types"
+ )
+ 
+diff --git a/src/github.com/docker/docker/client/image_import.go b/src/github.com/docker/docker/client/image_import.go
+index d3336d4106..474abc731e 100644
+--- a/src/github.com/docker/docker/client/image_import.go
++++ b/src/github.com/docker/docker/client/image_import.go
+@@ -6,7 +6,7 @@ import (
+ 	"net/url"
+ 	"strings"
+ 
+-	"github.com/docker/distribution/reference"
++	"github.com/docker/distribution/v2/reference"
+ 	"github.com/docker/docker/api/types"
+ )
+ 
+diff --git a/src/github.com/docker/docker/client/image_pull.go b/src/github.com/docker/docker/client/image_pull.go
+index a23975591b..2aa3460079 100644
+--- a/src/github.com/docker/docker/client/image_pull.go
++++ b/src/github.com/docker/docker/client/image_pull.go
+@@ -6,7 +6,7 @@ import (
+ 	"net/url"
+ 	"strings"
+ 
+-	"github.com/docker/distribution/reference"
++	"github.com/docker/distribution/v2/reference"
+ 	"github.com/docker/docker/api/types"
+ 	"github.com/docker/docker/errdefs"
+ )
+diff --git a/src/github.com/docker/docker/client/image_push.go b/src/github.com/docker/docker/client/image_push.go
+index 845580d4a4..81963e6e8a 100644
+--- a/src/github.com/docker/docker/client/image_push.go
++++ b/src/github.com/docker/docker/client/image_push.go
+@@ -6,7 +6,7 @@ import (
+ 	"io"
+ 	"net/url"
+ 
+-	"github.com/docker/distribution/reference"
++	"github.com/docker/distribution/v2/reference"
+ 	"github.com/docker/docker/api/types"
+ 	"github.com/docker/docker/errdefs"
+ )
+diff --git a/src/github.com/docker/docker/client/image_tag.go b/src/github.com/docker/docker/client/image_tag.go
+index 5652bfc252..5f3dac1706 100644
+--- a/src/github.com/docker/docker/client/image_tag.go
++++ b/src/github.com/docker/docker/client/image_tag.go
+@@ -4,7 +4,7 @@ import (
+ 	"context"
+ 	"net/url"
+ 
+-	"github.com/docker/distribution/reference"
++	"github.com/docker/distribution/v2/reference"
+ 	"github.com/pkg/errors"
+ )
+ 
+diff --git a/src/github.com/docker/docker/client/plugin_install.go b/src/github.com/docker/docker/client/plugin_install.go
+index 012afe61ca..a2d20a265f 100644
+--- a/src/github.com/docker/docker/client/plugin_install.go
++++ b/src/github.com/docker/docker/client/plugin_install.go
+@@ -6,7 +6,7 @@ import (
+ 	"io"
+ 	"net/url"
+ 
+-	"github.com/docker/distribution/reference"
++	"github.com/docker/distribution/v2/reference"
+ 	"github.com/docker/docker/api/types"
+ 	"github.com/docker/docker/errdefs"
+ 	"github.com/pkg/errors"
+diff --git a/src/github.com/docker/docker/client/plugin_upgrade.go b/src/github.com/docker/docker/client/plugin_upgrade.go
+index 115cea945b..48787e2b1f 100644
+--- a/src/github.com/docker/docker/client/plugin_upgrade.go
++++ b/src/github.com/docker/docker/client/plugin_upgrade.go
+@@ -5,7 +5,7 @@ import (
+ 	"io"
+ 	"net/url"
+ 
+-	"github.com/docker/distribution/reference"
++	"github.com/docker/distribution/v2/reference"
+ 	"github.com/docker/docker/api/types"
+ 	"github.com/pkg/errors"
+ )
+diff --git a/src/github.com/docker/docker/client/service_create.go b/src/github.com/docker/docker/client/service_create.go
+index e0428bf98b..b84c241338 100644
+--- a/src/github.com/docker/docker/client/service_create.go
++++ b/src/github.com/docker/docker/client/service_create.go
+@@ -6,7 +6,7 @@ import (
+ 	"fmt"
+ 	"strings"
+ 
+-	"github.com/docker/distribution/reference"
++	"github.com/docker/distribution/v2/reference"
+ 	"github.com/docker/docker/api/types"
+ 	"github.com/docker/docker/api/types/swarm"
+ 	digest "github.com/opencontainers/go-digest"
+diff --git a/errdefs/http_helpers.go b/errdefs/http_helpers.go
+index 07552f1cc1..49bb663ed8 100644
+--- a/src/github.com/docker/docker/errdefs/http_helpers.go
++++ b/src/github.com/docker/docker/errdefs/http_helpers.go
+@@ -5,7 +5,7 @@ import (
+ 	"net/http"
+ 
+ 	containerderrors "github.com/containerd/containerd/errdefs"
+-	"github.com/docker/distribution/registry/api/errcode"
++	"github.com/docker/distribution/v2/registry/api/errcode"
+ 	"github.com/sirupsen/logrus"
+ 	"google.golang.org/grpc/codes"
+ 	"google.golang.org/grpc/status"
+-- 
+2.35.1
+
diff --git a/dev-go/dst/dst-0.23.1-r1.ebuild b/dev-go/dst/dst-0.23.1-r1.ebuild
new file mode 120000
index 0000000..6f1a0ca
--- /dev/null
+++ b/dev-go/dst/dst-0.23.1-r1.ebuild
@@ -0,0 +1 @@
+dst-0.23.1.ebuild
\ No newline at end of file
diff --git a/dev-go/dst/dst-0.23.1.ebuild b/dev-go/dst/dst-0.23.1.ebuild
index bd51004..c5b9125 100644
--- a/dev-go/dst/dst-0.23.1.ebuild
+++ b/dev-go/dst/dst-0.23.1.ebuild
@@ -22,7 +22,13 @@
 RESTRICT="binchecks strip"
 
 DEPEND="
+	dev-go/crypto
+	dev-go/demangle
+	dev-go/go-arch
+	dev-go/go-billy
+	dev-go/go-diff
+	dev-go/go-tools
 	dev-go/jennifer
-	>=dev-go/go-tools-0.0.1-r13
+	dev-go/pprof
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-go/ep-gcp/ep-gcp-0.10.0-r1.ebuild b/dev-go/ep-gcp/ep-gcp-0.10.0-r3.ebuild
similarity index 100%
rename from dev-go/ep-gcp/ep-gcp-0.10.0-r1.ebuild
rename to dev-go/ep-gcp/ep-gcp-0.10.0-r3.ebuild
diff --git a/dev-go/ep-gcp/ep-gcp-0.10.0.ebuild b/dev-go/ep-gcp/ep-gcp-0.10.0.ebuild
index 6067d41..fb5c8e8 100644
--- a/dev-go/ep-gcp/ep-gcp-0.10.0.ebuild
+++ b/dev-go/ep-gcp/ep-gcp-0.10.0.ebuild
@@ -37,6 +37,11 @@
 DEPEND="
 	dev-go/cncf-xds
 	dev-go/ep-pvg
-	dev-go/genproto-api-expr
+	dev-go/genproto
+	dev-go/go-sys
+	dev-go/net
+	dev-go/protobuf
+	dev-go/protobuf-legacy-api
+	dev-go/testify
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-go/ep-pvg/ep-pvg-0.6.2-r1.ebuild b/dev-go/ep-pvg/ep-pvg-0.6.2-r3.ebuild
similarity index 100%
rename from dev-go/ep-pvg/ep-pvg-0.6.2-r1.ebuild
rename to dev-go/ep-pvg/ep-pvg-0.6.2-r3.ebuild
diff --git a/dev-go/ep-pvg/ep-pvg-0.6.2.ebuild b/dev-go/ep-pvg/ep-pvg-0.6.2.ebuild
index 8874652..cab0db1 100644
--- a/dev-go/ep-pvg/ep-pvg-0.6.2.ebuild
+++ b/dev-go/ep-pvg/ep-pvg-0.6.2.ebuild
@@ -28,6 +28,9 @@
 RESTRICT="binchecks"
 
 DEPEND="
+	dev-go/afero
 	dev-go/protobuf
+	dev-go/protobuf-legacy-api
+	dev-go/strcase
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-go/errcheck/Manifest b/dev-go/errcheck/Manifest
new file mode 100644
index 0000000..81b23f8
--- /dev/null
+++ b/dev-go/errcheck/Manifest
@@ -0,0 +1 @@
+DIST github.com-kisielk-errcheck-v1.6.0.tar.gz 18975 BLAKE2B 0f9924a9cee77b503935bf21f161cd266a9bcf346ae68a3ad09b7b2b89c406da19ac533f4c38a3e8a8909d187f825d501c611d8db1fbb131321e46f9f90fbeba SHA512 ae150e67c3b81fb7ffbaf417bd4e876bbfc58868d965302f5370fd911d5692db0244aae160938ec9155cadda5976f6e14ab91f4fd4bf787fddd1e488a3218eff
diff --git a/dev-go/errcheck/OWNERS b/dev-go/errcheck/OWNERS
new file mode 100644
index 0000000..5bdb162
--- /dev/null
+++ b/dev-go/errcheck/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/tast:/OWNERS
diff --git a/dev-go/errcheck/errcheck-1.6.0-r1.ebuild b/dev-go/errcheck/errcheck-1.6.0-r1.ebuild
new file mode 120000
index 0000000..8785ba5
--- /dev/null
+++ b/dev-go/errcheck/errcheck-1.6.0-r1.ebuild
@@ -0,0 +1 @@
+errcheck-1.6.0.ebuild
\ No newline at end of file
diff --git a/dev-go/errcheck/errcheck-1.6.0.ebuild b/dev-go/errcheck/errcheck-1.6.0.ebuild
new file mode 100644
index 0000000..a7f63c4
--- /dev/null
+++ b/dev-go/errcheck/errcheck-1.6.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/kisielk/errcheck v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/kisielk/errcheck"
+	"github.com/kisielk/errcheck/errcheck"
+)
+
+CROS_GO_BINARIES=(
+	"github.com/kisielk/errcheck"
+)
+
+inherit cros-go
+
+DESCRIPTION=" errcheck checks that you checked errors. "
+HOMEPAGE="https://github.com/kisielk/errcheck"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+IUSE="test"
+RESTRICT="binchecks strip"
+DEPEND="
+	dev-go/go-tools
+"
+RDEPEND="!<=dev-go/docker-20.10.8-r1"
diff --git a/dev-go/fscrypt/fscrypt-0.2.9-r1.ebuild b/dev-go/fscrypt/fscrypt-0.2.9-r3.ebuild
similarity index 100%
rename from dev-go/fscrypt/fscrypt-0.2.9-r1.ebuild
rename to dev-go/fscrypt/fscrypt-0.2.9-r3.ebuild
diff --git a/dev-go/fscrypt/fscrypt-0.2.9.ebuild b/dev-go/fscrypt/fscrypt-0.2.9.ebuild
index 00bc87f..6540f6f 100644
--- a/dev-go/fscrypt/fscrypt-0.2.9.ebuild
+++ b/dev-go/fscrypt/fscrypt-0.2.9.ebuild
@@ -24,9 +24,15 @@
 RESTRICT="binchecks strip"
 
 DEPEND="
-	dev-go/misspell
+	dev-go/cli
 	dev-go/crypto
+	dev-go/errors
+	dev-go/go-tools
 	dev-go/go-sys
+	dev-go/golint
+	dev-go/misspell
+	dev-go/protobuf-legacy-api
+	dev-go/staticcheck
 	sys-libs/pam:=
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-go/gapi-bigquery/Manifest b/dev-go/gapi-bigquery/Manifest
deleted file mode 100644
index 3798d8c..0000000
--- a/dev-go/gapi-bigquery/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST github.com-google-google-api-go-client-068431dcab1a5817548dd244d9795788a98329f4.tar.gz 7357858 SHA256 156d1dcafcffbd44f6c80357571d7753c52431a6a7f588b392979425e531e45c SHA512 106b0d84ed39800e360400e831980b77de07595f833842cd2ae161c36b6a62bbdd750dfaba583da0c6b63a477022f15157314c2e20688138af0b06875046b0a5 WHIRLPOOL 82f1ef7f0bb91d00c304d2e515e8f00b4bf37067fcaecfb74c6b59394132b8d03726cc1d1d9edf9d480e6fc6ba34387bd884d6617199a9967a783ae708684dba
diff --git a/dev-go/gapi-bigquery/gapi-bigquery-0.0.1-r2.ebuild b/dev-go/gapi-bigquery/gapi-bigquery-0.0.1-r2.ebuild
deleted file mode 120000
index ccfffeb..0000000
--- a/dev-go/gapi-bigquery/gapi-bigquery-0.0.1-r2.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-gapi-bigquery-0.0.1.ebuild
\ No newline at end of file
diff --git a/dev-go/gapi-bigquery/gapi-bigquery-0.0.1.ebuild b/dev-go/gapi-bigquery/gapi-bigquery-0.0.1.ebuild
deleted file mode 100644
index feb0229..0000000
--- a/dev-go/gapi-bigquery/gapi-bigquery-0.0.1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=5
-
-# The dev-go/gapi* packages are all built from this repo.  They should
-# be updated together.
-CROS_GO_SOURCE="github.com/google/google-api-go-client:google.golang.org/api 068431dcab1a5817548dd244d9795788a98329f4"
-
-CROS_GO_PACKAGES=(
-	"google.golang.org/api/bigquery/v2"
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-inherit cros-go
-
-DESCRIPTION="Auto-generated Google APIs for Go"
-HOMEPAGE="https://github.com/google/google-api-go-client"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND="
-	dev-go/gapi-gensupport
-	dev-go/gapi-googleapi
-	dev-go/net
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-go/gapi-bundler/Manifest b/dev-go/gapi-bundler/Manifest
deleted file mode 100644
index 3798d8c..0000000
--- a/dev-go/gapi-bundler/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST github.com-google-google-api-go-client-068431dcab1a5817548dd244d9795788a98329f4.tar.gz 7357858 SHA256 156d1dcafcffbd44f6c80357571d7753c52431a6a7f588b392979425e531e45c SHA512 106b0d84ed39800e360400e831980b77de07595f833842cd2ae161c36b6a62bbdd750dfaba583da0c6b63a477022f15157314c2e20688138af0b06875046b0a5 WHIRLPOOL 82f1ef7f0bb91d00c304d2e515e8f00b4bf37067fcaecfb74c6b59394132b8d03726cc1d1d9edf9d480e6fc6ba34387bd884d6617199a9967a783ae708684dba
diff --git a/dev-go/gapi-bundler/gapi-bundler-0.0.1-r2.ebuild b/dev-go/gapi-bundler/gapi-bundler-0.0.1-r2.ebuild
deleted file mode 120000
index a346e54..0000000
--- a/dev-go/gapi-bundler/gapi-bundler-0.0.1-r2.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-gapi-bundler-0.0.1.ebuild
\ No newline at end of file
diff --git a/dev-go/gapi-bundler/gapi-bundler-0.0.1.ebuild b/dev-go/gapi-bundler/gapi-bundler-0.0.1.ebuild
deleted file mode 100644
index 099cfe5..0000000
--- a/dev-go/gapi-bundler/gapi-bundler-0.0.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=5
-
-# The dev-go/gapi* packages are all built from this repo.  They should
-# be updated together.
-CROS_GO_SOURCE="github.com/google/google-api-go-client:google.golang.org/api 068431dcab1a5817548dd244d9795788a98329f4"
-
-CROS_GO_PACKAGES=(
-	"google.golang.org/api/support/bundler"
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-inherit cros-go
-
-DESCRIPTION="Auto-generated Google APIs for Go"
-HOMEPAGE="https://github.com/google/google-api-go-client"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND="
-	dev-go/net
-	dev-go/sync
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-go/gapi-discovery/Manifest b/dev-go/gapi-discovery/Manifest
deleted file mode 100644
index 8804eff..0000000
--- a/dev-go/gapi-discovery/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz 22697754 BLAKE2B 3e75798323a11fced644da871c656a53daac11c10f8b2085509c46e49a095209e1910d7f48410c23d92fee8e4ef106f820d0e2f3ea62961b4e14f2c4c19b5d0a SHA512 390636f178b38ec328a01c131d7c74c1cd7e5d146c9254c3fd48e262950b0e86c10834d1b51732390bd306f526d86812ae62d421b4f9234c72eda81828e77e4f
diff --git a/dev-go/gapi-discovery/gapi-discovery-0.60.0-r1.ebuild b/dev-go/gapi-discovery/gapi-discovery-0.60.0-r1.ebuild
deleted file mode 120000
index b974d39..0000000
--- a/dev-go/gapi-discovery/gapi-discovery-0.60.0-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-gapi-discovery-0.60.0.ebuild
\ No newline at end of file
diff --git a/dev-go/gapi-discovery/gapi-discovery-0.60.0.ebuild b/dev-go/gapi-discovery/gapi-discovery-0.60.0.ebuild
deleted file mode 100644
index 3bc1de8..0000000
--- a/dev-go/gapi-discovery/gapi-discovery-0.60.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=7
-
-# The dev-go/gapi* packages are all built from this repo.  They should
-# be updated together.
-CROS_GO_SOURCE="github.com/google/google-api-go-client:google.golang.org/api ccca5aa6d9d9aba8ad11c879ccea89c94663ea39"
-
-CROS_GO_PACKAGES=(
-	"google.golang.org/api/discovery/v1"
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-inherit cros-go
-
-DESCRIPTION="Auto-generated Google APIs for Go"
-HOMEPAGE="https://github.com/google/google-api-go-client"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND="
-	dev-go/gapi-gensupport:=
-	dev-go/gapi-internal
-	dev-go/gapi-transport:=
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-go/gapi-drive/Manifest b/dev-go/gapi-drive/Manifest
deleted file mode 100644
index 3798d8c..0000000
--- a/dev-go/gapi-drive/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST github.com-google-google-api-go-client-068431dcab1a5817548dd244d9795788a98329f4.tar.gz 7357858 SHA256 156d1dcafcffbd44f6c80357571d7753c52431a6a7f588b392979425e531e45c SHA512 106b0d84ed39800e360400e831980b77de07595f833842cd2ae161c36b6a62bbdd750dfaba583da0c6b63a477022f15157314c2e20688138af0b06875046b0a5 WHIRLPOOL 82f1ef7f0bb91d00c304d2e515e8f00b4bf37067fcaecfb74c6b59394132b8d03726cc1d1d9edf9d480e6fc6ba34387bd884d6617199a9967a783ae708684dba
diff --git a/dev-go/gapi-drive/gapi-drive-0.0.1-r1.ebuild b/dev-go/gapi-drive/gapi-drive-0.0.1-r1.ebuild
deleted file mode 120000
index 40e4792..0000000
--- a/dev-go/gapi-drive/gapi-drive-0.0.1-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-gapi-drive-0.0.1.ebuild
\ No newline at end of file
diff --git a/dev-go/gapi-drive/gapi-drive-0.0.1.ebuild b/dev-go/gapi-drive/gapi-drive-0.0.1.ebuild
deleted file mode 100644
index 401e278..0000000
--- a/dev-go/gapi-drive/gapi-drive-0.0.1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=5
-
-# The dev-go/gapi* packages are all built from this repo.  They should
-# be updated together.
-CROS_GO_SOURCE="github.com/google/google-api-go-client:google.golang.org/api 068431dcab1a5817548dd244d9795788a98329f4"
-
-CROS_GO_PACKAGES=(
-	"google.golang.org/api/drive/v3"
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-inherit cros-go
-
-DESCRIPTION="Auto-generated Google APIs for Go"
-HOMEPAGE="https://github.com/google/google-api-go-client"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND="
-	dev-go/gapi-gensupport
-	dev-go/gapi-googleapi
-	dev-go/net
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-go/gapi-gensupport/Manifest b/dev-go/gapi-gensupport/Manifest
deleted file mode 100644
index 3798d8c..0000000
--- a/dev-go/gapi-gensupport/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST github.com-google-google-api-go-client-068431dcab1a5817548dd244d9795788a98329f4.tar.gz 7357858 SHA256 156d1dcafcffbd44f6c80357571d7753c52431a6a7f588b392979425e531e45c SHA512 106b0d84ed39800e360400e831980b77de07595f833842cd2ae161c36b6a62bbdd750dfaba583da0c6b63a477022f15157314c2e20688138af0b06875046b0a5 WHIRLPOOL 82f1ef7f0bb91d00c304d2e515e8f00b4bf37067fcaecfb74c6b59394132b8d03726cc1d1d9edf9d480e6fc6ba34387bd884d6617199a9967a783ae708684dba
diff --git a/dev-go/gapi-gensupport/gapi-gensupport-0.0.1-r2.ebuild b/dev-go/gapi-gensupport/gapi-gensupport-0.0.1-r2.ebuild
deleted file mode 120000
index a59e3b8..0000000
--- a/dev-go/gapi-gensupport/gapi-gensupport-0.0.1-r2.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-gapi-gensupport-0.0.1.ebuild
\ No newline at end of file
diff --git a/dev-go/gapi-gensupport/gapi-gensupport-0.0.1.ebuild b/dev-go/gapi-gensupport/gapi-gensupport-0.0.1.ebuild
deleted file mode 100644
index 56ff5bf..0000000
--- a/dev-go/gapi-gensupport/gapi-gensupport-0.0.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=5
-
-# The dev-go/gapi* packages are all built from this repo.  They should
-# be updated together.
-CROS_GO_SOURCE="github.com/google/google-api-go-client:google.golang.org/api 068431dcab1a5817548dd244d9795788a98329f4"
-
-CROS_GO_PACKAGES=(
-	"google.golang.org/api/gensupport"
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-inherit cros-go
-
-DESCRIPTION="Auto-generated Google APIs for Go"
-HOMEPAGE="https://github.com/google/google-api-go-client"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND="
-	dev-go/gapi-googleapi
-	dev-go/net
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-go/gapi-googleapi/gapi-googleapi-0.60.0-r1.ebuild b/dev-go/gapi-googleapi/gapi-googleapi-0.60.0-r1.ebuild
deleted file mode 120000
index 39904db..0000000
--- a/dev-go/gapi-googleapi/gapi-googleapi-0.60.0-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-gapi-googleapi-0.60.0.ebuild
\ No newline at end of file
diff --git a/dev-go/gapi-googleapi/gapi-googleapi-0.60.0.ebuild b/dev-go/gapi-googleapi/gapi-googleapi-0.60.0.ebuild
deleted file mode 100644
index b06ac17..0000000
--- a/dev-go/gapi-googleapi/gapi-googleapi-0.60.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=5
-
-# The dev-go/gapi* packages are all built from this repo.  They should
-# be updated together.
-CROS_GO_SOURCE="github.com/google/google-api-go-client:google.golang.org/api ccca5aa6d9d9aba8ad11c879ccea89c94663ea39"
-
-CROS_GO_PACKAGES=(
-	"google.golang.org/api/googleapi"
-	"google.golang.org/api/googleapi/transport"
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-inherit cros-go
-
-DESCRIPTION="Auto-generated Google APIs for Go"
-HOMEPAGE="https://github.com/google/google-api-go-client"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND="
-	dev-go/gapi-internal-thirdparty
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-go/gapi-iamcredentials/Manifest b/dev-go/gapi-iamcredentials/Manifest
deleted file mode 100644
index 8804eff..0000000
--- a/dev-go/gapi-iamcredentials/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz 22697754 BLAKE2B 3e75798323a11fced644da871c656a53daac11c10f8b2085509c46e49a095209e1910d7f48410c23d92fee8e4ef106f820d0e2f3ea62961b4e14f2c4c19b5d0a SHA512 390636f178b38ec328a01c131d7c74c1cd7e5d146c9254c3fd48e262950b0e86c10834d1b51732390bd306f526d86812ae62d421b4f9234c72eda81828e77e4f
diff --git a/dev-go/gapi-iamcredentials/gapi-iamcredentials-0.60.0-r1.ebuild b/dev-go/gapi-iamcredentials/gapi-iamcredentials-0.60.0-r1.ebuild
deleted file mode 120000
index a0bdcbb..0000000
--- a/dev-go/gapi-iamcredentials/gapi-iamcredentials-0.60.0-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-gapi-iamcredentials-0.60.0.ebuild
\ No newline at end of file
diff --git a/dev-go/gapi-iamcredentials/gapi-iamcredentials-0.60.0.ebuild b/dev-go/gapi-iamcredentials/gapi-iamcredentials-0.60.0.ebuild
deleted file mode 100644
index 9d39119..0000000
--- a/dev-go/gapi-iamcredentials/gapi-iamcredentials-0.60.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=7
-
-# The dev-go/gapi* packages are all built from this repo.  They should
-# be updated together.
-CROS_GO_SOURCE="github.com/google/google-api-go-client:google.golang.org/api ccca5aa6d9d9aba8ad11c879ccea89c94663ea39"
-
-CROS_GO_PACKAGES=(
-	"google.golang.org/api/iamcredentials/v1"
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-inherit cros-go
-
-DESCRIPTION="Auto-generated Google APIs for Go"
-HOMEPAGE="https://github.com/google/google-api-go-client"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
diff --git a/dev-go/gapi-internal-thirdparty/Manifest b/dev-go/gapi-internal-thirdparty/Manifest
deleted file mode 100644
index 8804eff..0000000
--- a/dev-go/gapi-internal-thirdparty/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz 22697754 BLAKE2B 3e75798323a11fced644da871c656a53daac11c10f8b2085509c46e49a095209e1910d7f48410c23d92fee8e4ef106f820d0e2f3ea62961b4e14f2c4c19b5d0a SHA512 390636f178b38ec328a01c131d7c74c1cd7e5d146c9254c3fd48e262950b0e86c10834d1b51732390bd306f526d86812ae62d421b4f9234c72eda81828e77e4f
diff --git a/dev-go/gapi-internal-thirdparty/gapi-internal-thirdparty-0.60.0-r1.ebuild b/dev-go/gapi-internal-thirdparty/gapi-internal-thirdparty-0.60.0-r1.ebuild
deleted file mode 120000
index 62ce882..0000000
--- a/dev-go/gapi-internal-thirdparty/gapi-internal-thirdparty-0.60.0-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-gapi-internal-thirdparty-0.60.0.ebuild
\ No newline at end of file
diff --git a/dev-go/gapi-internal-thirdparty/gapi-internal-thirdparty-0.60.0.ebuild b/dev-go/gapi-internal-thirdparty/gapi-internal-thirdparty-0.60.0.ebuild
deleted file mode 100644
index 2a0f104..0000000
--- a/dev-go/gapi-internal-thirdparty/gapi-internal-thirdparty-0.60.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=7
-
-# The dev-go/gapi* packages are all built from this repo. They should
-# be updated together.
-CROS_GO_SOURCE="github.com/google/google-api-go-client:google.golang.org/api ccca5aa6d9d9aba8ad11c879ccea89c94663ea39"
-
-CROS_GO_PACKAGES=(
-	"google.golang.org/api/internal/third_party/uritemplates"
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-inherit cros-go
-
-DESCRIPTION="Auto-generated Google APIs for Go"
-HOMEPAGE="https://github.com/google/google-api-go-client"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
diff --git a/dev-go/gapi-internal/Manifest b/dev-go/gapi-internal/Manifest
deleted file mode 100644
index 8804eff..0000000
--- a/dev-go/gapi-internal/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz 22697754 BLAKE2B 3e75798323a11fced644da871c656a53daac11c10f8b2085509c46e49a095209e1910d7f48410c23d92fee8e4ef106f820d0e2f3ea62961b4e14f2c4c19b5d0a SHA512 390636f178b38ec328a01c131d7c74c1cd7e5d146c9254c3fd48e262950b0e86c10834d1b51732390bd306f526d86812ae62d421b4f9234c72eda81828e77e4f
diff --git a/dev-go/gapi-internal/gapi-internal-0.60.0-r1.ebuild b/dev-go/gapi-internal/gapi-internal-0.60.0-r1.ebuild
deleted file mode 120000
index ea95575..0000000
--- a/dev-go/gapi-internal/gapi-internal-0.60.0-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-gapi-internal-0.60.0.ebuild
\ No newline at end of file
diff --git a/dev-go/gapi-internal/gapi-internal-0.60.0.ebuild b/dev-go/gapi-internal/gapi-internal-0.60.0.ebuild
deleted file mode 100644
index d837b0a..0000000
--- a/dev-go/gapi-internal/gapi-internal-0.60.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=5
-
-# The dev-go/gapi* packages are all built from this repo.  They should
-# be updated together.
-CROS_GO_SOURCE="github.com/google/google-api-go-client:google.golang.org/api ccca5aa6d9d9aba8ad11c879ccea89c94663ea39"
-
-CROS_GO_PACKAGES=(
-	"google.golang.org/api/internal"
-	"google.golang.org/api/internal/gensupport"
-	"google.golang.org/api/internal/impersonate"
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-inherit cros-go
-
-DESCRIPTION="Auto-generated Google APIs for Go"
-HOMEPAGE="https://github.com/google/google-api-go-client"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND="
-	dev-go/cmp
-	dev-go/gax
-	dev-go/grpc
-	dev-go/oauth2
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-go/gapi-iterator/Manifest b/dev-go/gapi-iterator/Manifest
deleted file mode 100644
index 8804eff..0000000
--- a/dev-go/gapi-iterator/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz 22697754 BLAKE2B 3e75798323a11fced644da871c656a53daac11c10f8b2085509c46e49a095209e1910d7f48410c23d92fee8e4ef106f820d0e2f3ea62961b4e14f2c4c19b5d0a SHA512 390636f178b38ec328a01c131d7c74c1cd7e5d146c9254c3fd48e262950b0e86c10834d1b51732390bd306f526d86812ae62d421b4f9234c72eda81828e77e4f
diff --git a/dev-go/gapi-iterator/gapi-iterator-0.60.0-r1.ebuild b/dev-go/gapi-iterator/gapi-iterator-0.60.0-r1.ebuild
deleted file mode 120000
index ddf4bf0..0000000
--- a/dev-go/gapi-iterator/gapi-iterator-0.60.0-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-gapi-iterator-0.60.0.ebuild
\ No newline at end of file
diff --git a/dev-go/gapi-iterator/gapi-iterator-0.60.0.ebuild b/dev-go/gapi-iterator/gapi-iterator-0.60.0.ebuild
deleted file mode 100644
index 0c69d10..0000000
--- a/dev-go/gapi-iterator/gapi-iterator-0.60.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=5
-
-# The dev-go/gapi* packages are all built from this repo.  They should
-# be updated together.
-CROS_GO_SOURCE="github.com/google/google-api-go-client:google.golang.org/api ccca5aa6d9d9aba8ad11c879ccea89c94663ea39"
-
-CROS_GO_PACKAGES=(
-	"google.golang.org/api/iterator"
-	"google.golang.org/api/iterator/testing"
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-inherit cros-go
-
-DESCRIPTION="Auto-generated Google APIs for Go"
-HOMEPAGE="https://github.com/google/google-api-go-client"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND="dev-go/net"
-RDEPEND="${DEPEND}"
diff --git a/dev-go/gapi-option/Manifest b/dev-go/gapi-option/Manifest
deleted file mode 100644
index 8804eff..0000000
--- a/dev-go/gapi-option/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz 22697754 BLAKE2B 3e75798323a11fced644da871c656a53daac11c10f8b2085509c46e49a095209e1910d7f48410c23d92fee8e4ef106f820d0e2f3ea62961b4e14f2c4c19b5d0a SHA512 390636f178b38ec328a01c131d7c74c1cd7e5d146c9254c3fd48e262950b0e86c10834d1b51732390bd306f526d86812ae62d421b4f9234c72eda81828e77e4f
diff --git a/dev-go/gapi-option/gapi-option-0.60.0-r1.ebuild b/dev-go/gapi-option/gapi-option-0.60.0-r1.ebuild
deleted file mode 120000
index b4d2718..0000000
--- a/dev-go/gapi-option/gapi-option-0.60.0-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-gapi-option-0.60.0.ebuild
\ No newline at end of file
diff --git a/dev-go/gapi-option/gapi-option-0.60.0.ebuild b/dev-go/gapi-option/gapi-option-0.60.0.ebuild
deleted file mode 100644
index a9952cf..0000000
--- a/dev-go/gapi-option/gapi-option-0.60.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=5
-
-# The dev-go/gapi* packages are all built from this repo.  They should
-# be updated together.
-CROS_GO_SOURCE="github.com/google/google-api-go-client:google.golang.org/api ccca5aa6d9d9aba8ad11c879ccea89c94663ea39"
-
-CROS_GO_PACKAGES=(
-	"google.golang.org/api/option"
-	"google.golang.org/api/option/internaloption"
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-inherit cros-go
-
-DESCRIPTION="Auto-generated Google APIs for Go"
-HOMEPAGE="https://github.com/google/google-api-go-client"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND="
-	dev-go/gapi-internal
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-go/gapi-storage/Manifest b/dev-go/gapi-storage/Manifest
deleted file mode 100644
index 8804eff..0000000
--- a/dev-go/gapi-storage/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz 22697754 BLAKE2B 3e75798323a11fced644da871c656a53daac11c10f8b2085509c46e49a095209e1910d7f48410c23d92fee8e4ef106f820d0e2f3ea62961b4e14f2c4c19b5d0a SHA512 390636f178b38ec328a01c131d7c74c1cd7e5d146c9254c3fd48e262950b0e86c10834d1b51732390bd306f526d86812ae62d421b4f9234c72eda81828e77e4f
diff --git a/dev-go/gapi-storage/gapi-storage-0.60.0-r1.ebuild b/dev-go/gapi-storage/gapi-storage-0.60.0-r1.ebuild
deleted file mode 120000
index 2203ef5..0000000
--- a/dev-go/gapi-storage/gapi-storage-0.60.0-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-gapi-storage-0.60.0.ebuild
\ No newline at end of file
diff --git a/dev-go/gapi-storage/gapi-storage-0.60.0.ebuild b/dev-go/gapi-storage/gapi-storage-0.60.0.ebuild
deleted file mode 100644
index cd1b17b..0000000
--- a/dev-go/gapi-storage/gapi-storage-0.60.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=5
-
-# The dev-go/gapi* packages are all built from this repo.  They should
-# be updated together.
-CROS_GO_SOURCE="github.com/google/google-api-go-client:google.golang.org/api ccca5aa6d9d9aba8ad11c879ccea89c94663ea39"
-
-CROS_GO_PACKAGES=(
-	"google.golang.org/api/storage/v1"
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-inherit cros-go
-
-DESCRIPTION="Auto-generated Google APIs for Go"
-HOMEPAGE="https://github.com/google/google-api-go-client"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND="
-	dev-go/gapi-gensupport
-	dev-go/gapi-googleapi
-	dev-go/net
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-go/gapi-transport/Manifest b/dev-go/gapi-transport/Manifest
deleted file mode 100644
index 8804eff..0000000
--- a/dev-go/gapi-transport/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz 22697754 BLAKE2B 3e75798323a11fced644da871c656a53daac11c10f8b2085509c46e49a095209e1910d7f48410c23d92fee8e4ef106f820d0e2f3ea62961b4e14f2c4c19b5d0a SHA512 390636f178b38ec328a01c131d7c74c1cd7e5d146c9254c3fd48e262950b0e86c10834d1b51732390bd306f526d86812ae62d421b4f9234c72eda81828e77e4f
diff --git a/dev-go/gapi-transport/gapi-transport-0.60.0-r1.ebuild b/dev-go/gapi-transport/gapi-transport-0.60.0-r1.ebuild
deleted file mode 120000
index 104ad42..0000000
--- a/dev-go/gapi-transport/gapi-transport-0.60.0-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-gapi-transport-0.60.0.ebuild
\ No newline at end of file
diff --git a/dev-go/gapi-transport/gapi-transport-0.60.0.ebuild b/dev-go/gapi-transport/gapi-transport-0.60.0.ebuild
deleted file mode 100644
index d10f9d9..0000000
--- a/dev-go/gapi-transport/gapi-transport-0.60.0.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=5
-
-# The dev-go/gapi* packages are all built from this repo.  They should
-# be updated together.
-CROS_GO_SOURCE="github.com/google/google-api-go-client:google.golang.org/api ccca5aa6d9d9aba8ad11c879ccea89c94663ea39"
-
-CROS_GO_PACKAGES=(
-	"google.golang.org/api/transport"
-	"google.golang.org/api/transport/cert"
-	"google.golang.org/api/transport/grpc"
-	"google.golang.org/api/transport/http"
-	"google.golang.org/api/transport/http/internal/propagation"
-	"google.golang.org/api/transport/internal/dca"
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-inherit cros-go
-
-DESCRIPTION="Auto-generated Google APIs for Go"
-HOMEPAGE="https://github.com/google/google-api-go-client"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND="
-	dev-go/gapi-googleapi
-	dev-go/gapi-internal
-	dev-go/gapi-option
-	dev-go/grpc
-	dev-go/opencensus
-"
-RDEPEND="
-	${DEPEND}
-	!dev-go/grpc-credentials-oauth
-"
diff --git a/dev-go/gapi-googleapi/Manifest b/dev-go/gapi/Manifest
similarity index 100%
rename from dev-go/gapi-googleapi/Manifest
rename to dev-go/gapi/Manifest
diff --git a/dev-go/gapi/gapi-0.60.0-r1.ebuild b/dev-go/gapi/gapi-0.60.0-r1.ebuild
new file mode 120000
index 0000000..dd4f349
--- /dev/null
+++ b/dev-go/gapi/gapi-0.60.0-r1.ebuild
@@ -0,0 +1 @@
+gapi-0.60.0.ebuild
\ No newline at end of file
diff --git a/dev-go/gapi/gapi-0.60.0.ebuild b/dev-go/gapi/gapi-0.60.0.ebuild
new file mode 100644
index 0000000..3f88370
--- /dev/null
+++ b/dev-go/gapi/gapi-0.60.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/google/google-api-go-client:google.golang.org/api ccca5aa6d9d9aba8ad11c879ccea89c94663ea39"
+
+# temporary cyclic dep workaround until we switch to modules mode
+# which can correctly handle for eg gapi -> opencensus -> gapi
+CROS_GO_SKIP_DEP_CHECK="1"
+
+CROS_GO_PACKAGES=(
+	"google.golang.org/api/bigquery/v2"
+	"google.golang.org/api/support/bundler"
+	"google.golang.org/api/discovery/v1"
+	"google.golang.org/api/drive/v3"
+	"google.golang.org/api/googleapi"
+	"google.golang.org/api/googleapi/transport"
+	"google.golang.org/api/iamcredentials/v1"
+	"google.golang.org/api/internal"
+	"google.golang.org/api/internal/gensupport"
+	"google.golang.org/api/internal/impersonate"
+	"google.golang.org/api/internal/third_party/uritemplates"
+	"google.golang.org/api/iterator"
+	"google.golang.org/api/iterator/testing"
+	"google.golang.org/api/option"
+	"google.golang.org/api/option/internaloption"
+	"google.golang.org/api/storage/v1"
+	"google.golang.org/api/transport"
+	"google.golang.org/api/transport/cert"
+	"google.golang.org/api/transport/grpc"
+	"google.golang.org/api/transport/http"
+	"google.golang.org/api/transport/http/internal/propagation"
+	"google.golang.org/api/transport/internal/dca"
+)
+
+CROS_GO_TEST=(
+	"${CROS_GO_PACKAGES[@]}"
+)
+
+inherit cros-go
+
+DESCRIPTION="Auto-generated Google APIs for Go"
+HOMEPAGE="https://github.com/google/google-api-go-client"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks"
+
+DEPEND="
+	dev-go/appengine
+	dev-go/genproto
+	dev-go/golang-groupcache
+	dev-go/cmp
+	dev-go/net
+"
+RDEPEND="
+	!dev-go/gapi-bigquery
+	!dev-go/gapi-bundler
+	!dev-go/gapi-discovery
+	!dev-go/gapi-drive
+	!dev-go/gapi-gensupport
+	!dev-go/gapi-googleapi
+	!dev-go/gapi-iamcredentials
+	!dev-go/gapi-internal
+	!dev-go/gapi-internal-thirdparty
+	!dev-go/gapi-iterator
+	!dev-go/gapi-option
+	!dev-go/gapi-storage
+	!dev-go/gapi-transport
+"
diff --git a/dev-go/gax/gax-1.0.1-r1.ebuild b/dev-go/gax/gax-1.0.1-r1.ebuild
new file mode 120000
index 0000000..511be03
--- /dev/null
+++ b/dev-go/gax/gax-1.0.1-r1.ebuild
@@ -0,0 +1 @@
+gax-1.0.1.ebuild
\ No newline at end of file
diff --git a/dev-go/gax/gax-1.0.1.ebuild b/dev-go/gax/gax-1.0.1.ebuild
new file mode 100644
index 0000000..ad84ed3
--- /dev/null
+++ b/dev-go/gax/gax-1.0.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+# these are v1.0 compatible bindings implemented using the v2 API
+# and shipped together with v2, see the dev-go/gax:0 dependency
+CROS_GO_SOURCE="github.com/googleapis/gax-go v2.1.1"
+
+CROS_GO_PACKAGES=(
+	"github.com/googleapis/gax-go"
+)
+
+CROS_GO_TEST=(
+	"${CROS_GO_PACKAGES[@]}"
+)
+
+inherit cros-go
+
+DESCRIPTION="Google API Extensions for Go"
+HOMEPAGE="https://github.com/googleapis/gax-go"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD-Google"
+SLOT="1"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND="
+	dev-go/gax:0
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-go/gax/gax-2.1.1-r2.ebuild b/dev-go/gax/gax-2.1.1-r5.ebuild
similarity index 100%
rename from dev-go/gax/gax-2.1.1-r2.ebuild
rename to dev-go/gax/gax-2.1.1-r5.ebuild
diff --git a/dev-go/gax/gax-2.1.1.ebuild b/dev-go/gax/gax-2.1.1.ebuild
index f98d0ca..bbd30dc 100644
--- a/dev-go/gax/gax-2.1.1.ebuild
+++ b/dev-go/gax/gax-2.1.1.ebuild
@@ -1,12 +1,11 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2.
 
-EAPI=5
+EAPI=7
 
 CROS_GO_SOURCE="github.com/googleapis/gax-go v${PV}"
 
 CROS_GO_PACKAGES=(
-	"github.com/googleapis/gax-go"
 	"github.com/googleapis/gax-go/v2"
 	"github.com/googleapis/gax-go/v2/apierror"
 	"github.com/googleapis/gax-go/v2/apierror/internal/proto"
@@ -29,8 +28,13 @@
 RESTRICT="binchecks strip"
 
 DEPEND="
-	dev-go/gapi-googleapi
+	dev-go/gapi
+	dev-go/genproto
+	dev-go/go-tools
+	dev-go/golint
 	dev-go/grpc
+	dev-go/net
+	dev-go/protobuf
 	dev-go/yaml:0
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-go/gcp-bigquery/gcp-bigquery-0.18.0-r4.ebuild b/dev-go/gcp-bigquery/gcp-bigquery-0.18.0-r6.ebuild
similarity index 100%
rename from dev-go/gcp-bigquery/gcp-bigquery-0.18.0-r4.ebuild
rename to dev-go/gcp-bigquery/gcp-bigquery-0.18.0-r6.ebuild
diff --git a/dev-go/gcp-bigquery/gcp-bigquery-0.18.0.ebuild b/dev-go/gcp-bigquery/gcp-bigquery-0.18.0.ebuild
index 52f2914..55e0171 100644
--- a/dev-go/gcp-bigquery/gcp-bigquery-0.18.0.ebuild
+++ b/dev-go/gcp-bigquery/gcp-bigquery-0.18.0.ebuild
@@ -28,14 +28,8 @@
 RESTRICT="binchecks strip"
 
 DEPEND="
-	dev-go/gapi-bigquery
-	dev-go/gapi-googleapi
-	dev-go/gapi-iterator
-	dev-go/gapi-option
-	dev-go/gapi-storage
-	dev-go/gapi-transport
-	dev-go/gcp-civil
-	dev-go/gcp-internal
+	dev-go/gapi
+	dev-go/gcp
 	dev-go/genproto
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-go/gcp-civil/Manifest b/dev-go/gcp-civil/Manifest
deleted file mode 100644
index c605aaa..0000000
--- a/dev-go/gcp-civil/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST github.com-GoogleCloudPlatform-google-cloud-go-v0.18.0.tar.gz 1001983 SHA256 e1dd18d83dc6ae4e51b556086504987e35c7a06cfb13129fab4ea9d9905e7bfe SHA512 b7169e1851adc49d59b329d01a49bd9c12f0978f8066943627a37f9c30136c44e3eed45a3bf257cd1ea112674c47bb3135f165f1338a420f0aabf22053c5b471 WHIRLPOOL 982b74fccc80627b0107af60839131c208ae8a181463a897205922eee4a623e6de72b974e194867a3e81a9b5c6e510a7554e1f25b3ae94b9d633436e4e1f0e8f
diff --git a/dev-go/gcp-civil/gcp-civil-0.18.0-r3.ebuild b/dev-go/gcp-civil/gcp-civil-0.18.0-r3.ebuild
deleted file mode 120000
index 73f2875..0000000
--- a/dev-go/gcp-civil/gcp-civil-0.18.0-r3.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-gcp-civil-0.18.0.ebuild
\ No newline at end of file
diff --git a/dev-go/gcp-civil/gcp-civil-0.18.0.ebuild b/dev-go/gcp-civil/gcp-civil-0.18.0.ebuild
deleted file mode 100644
index cbfd4e5..0000000
--- a/dev-go/gcp-civil/gcp-civil-0.18.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=5
-
-# The dev-go/gcp* packages are all built from this repo.  They should
-# be updated together.
-CROS_GO_SOURCE="github.com/GoogleCloudPlatform/google-cloud-go:cloud.google.com/go v${PV}"
-
-CROS_GO_PACKAGES=(
-	"cloud.google.com/go/civil"
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-inherit cros-go
-
-DESCRIPTION="Google Cloud Client Libraries for Go"
-HOMEPAGE="https://code.googlesource.com/gocloud"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND="dev-go/cmp"
-RDEPEND="${DEPEND}"
diff --git a/dev-go/gcp-compute/gcp-compute-0.97.0-r1.ebuild b/dev-go/gcp-compute/gcp-compute-0.97.0-r2.ebuild
similarity index 100%
rename from dev-go/gcp-compute/gcp-compute-0.97.0-r1.ebuild
rename to dev-go/gcp-compute/gcp-compute-0.97.0-r2.ebuild
diff --git a/dev-go/gcp-compute/gcp-compute-0.97.0.ebuild b/dev-go/gcp-compute/gcp-compute-0.97.0.ebuild
index 0d303dc..eeda8f3 100644
--- a/dev-go/gcp-compute/gcp-compute-0.97.0.ebuild
+++ b/dev-go/gcp-compute/gcp-compute-0.97.0.ebuild
@@ -27,5 +27,7 @@
 IUSE=""
 RESTRICT="binchecks strip"
 
-DEPEND="dev-go/net"
+DEPEND="
+	dev-go/net
+"
 RDEPEND="${DEPEND}"
diff --git a/dev-go/gcp-iam/gcp-iam-0.18.0-r1.ebuild b/dev-go/gcp-iam/gcp-iam-0.18.0-r3.ebuild
similarity index 100%
rename from dev-go/gcp-iam/gcp-iam-0.18.0-r1.ebuild
rename to dev-go/gcp-iam/gcp-iam-0.18.0-r3.ebuild
diff --git a/dev-go/gcp-iam/gcp-iam-0.18.0.ebuild b/dev-go/gcp-iam/gcp-iam-0.18.0.ebuild
index 3dbe488..6a355e7 100644
--- a/dev-go/gcp-iam/gcp-iam-0.18.0.ebuild
+++ b/dev-go/gcp-iam/gcp-iam-0.18.0.ebuild
@@ -28,9 +28,11 @@
 RESTRICT="binchecks strip"
 
 DEPEND="
-	dev-go/gax
+	dev-go/gapi
+	dev-go/gax:1
 	dev-go/genproto
 	dev-go/grpc
 	dev-go/net
+	dev-go/protobuf-legacy-api
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-go/gcp-internal/gcp-internal-0.97.0-r1.ebuild b/dev-go/gcp-internal/gcp-internal-0.97.0-r1.ebuild
deleted file mode 120000
index 88f54f4..0000000
--- a/dev-go/gcp-internal/gcp-internal-0.97.0-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-gcp-internal-0.97.0.ebuild
\ No newline at end of file
diff --git a/dev-go/gcp-internal/gcp-internal-0.97.0.ebuild b/dev-go/gcp-internal/gcp-internal-0.97.0.ebuild
deleted file mode 100644
index d2d3c23..0000000
--- a/dev-go/gcp-internal/gcp-internal-0.97.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=5
-
-# The dev-go/gcp* packages are all built from this repo.  They should
-# be updated together.
-CROS_GO_SOURCE="github.com/GoogleCloudPlatform/google-cloud-go:cloud.google.com/go v${PV}"
-
-CROS_GO_PACKAGES=(
-	"cloud.google.com/go/internal"
-	"cloud.google.com/go/internal/fields"
-	"cloud.google.com/go/internal/optional"
-	"cloud.google.com/go/internal/trace"
-	"cloud.google.com/go/internal/version"
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-inherit cros-go
-
-DESCRIPTION="Google Cloud Client Libraries for Go"
-HOMEPAGE="https://code.googlesource.com/gocloud"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND="
-	dev-go/gapi-googleapi
-	dev-go/gapi-iterator
-	dev-go/gapi-transport
-	dev-go/grpc
-	dev-go/gax
-	dev-go/genproto
-	dev-go/net
-	dev-go/opencensus
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-go/gcp-monitoring/gcp-monitoring-0.97.0-r1.ebuild b/dev-go/gcp-monitoring/gcp-monitoring-0.97.0-r4.ebuild
similarity index 100%
rename from dev-go/gcp-monitoring/gcp-monitoring-0.97.0-r1.ebuild
rename to dev-go/gcp-monitoring/gcp-monitoring-0.97.0-r4.ebuild
diff --git a/dev-go/gcp-monitoring/gcp-monitoring-0.97.0.ebuild b/dev-go/gcp-monitoring/gcp-monitoring-0.97.0.ebuild
index a64be72..056257d 100644
--- a/dev-go/gcp-monitoring/gcp-monitoring-0.97.0.ebuild
+++ b/dev-go/gcp-monitoring/gcp-monitoring-0.97.0.ebuild
@@ -28,9 +28,7 @@
 RESTRICT="binchecks strip"
 
 DEPEND="
-	dev-go/gapi-iterator
-	dev-go/gapi-option
-	dev-go/gapi-transport
-	dev-go/gax
+	dev-go/gapi
+	dev-go/gax:1
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-go/gcp-pubsub/gcp-pubsub-0.18.0-r1.ebuild b/dev-go/gcp-pubsub/gcp-pubsub-0.18.0-r5.ebuild
similarity index 100%
rename from dev-go/gcp-pubsub/gcp-pubsub-0.18.0-r1.ebuild
rename to dev-go/gcp-pubsub/gcp-pubsub-0.18.0-r5.ebuild
diff --git a/dev-go/gcp-pubsub/gcp-pubsub-0.18.0.ebuild b/dev-go/gcp-pubsub/gcp-pubsub-0.18.0.ebuild
index fc13722..531e739 100644
--- a/dev-go/gcp-pubsub/gcp-pubsub-0.18.0.ebuild
+++ b/dev-go/gcp-pubsub/gcp-pubsub-0.18.0.ebuild
@@ -30,18 +30,16 @@
 RESTRICT="binchecks strip"
 
 DEPEND="
-	dev-go/gapi-bundler
-	dev-go/gapi-iterator
-	dev-go/gapi-option
-	dev-go/gapi-transport
-	dev-go/gax
+	dev-go/gapi
+	dev-go/gax:1
+	dev-go/gcp
 	dev-go/gcp-iam
-	dev-go/gcp-internal
 	dev-go/genproto
 	dev-go/grpc
 	dev-go/net
 	dev-go/opencensus
 	dev-go/protobuf
+	dev-go/protobuf-legacy-api
 	dev-go/sync
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-go/gcp-storage/gcp-storage-1.18.2-r1.ebuild b/dev-go/gcp-storage/gcp-storage-1.18.2-r4.ebuild
similarity index 100%
rename from dev-go/gcp-storage/gcp-storage-1.18.2-r1.ebuild
rename to dev-go/gcp-storage/gcp-storage-1.18.2-r4.ebuild
diff --git a/dev-go/gcp-storage/gcp-storage-1.18.2.ebuild b/dev-go/gcp-storage/gcp-storage-1.18.2.ebuild
index dc98969..3cdf145 100644
--- a/dev-go/gcp-storage/gcp-storage-1.18.2.ebuild
+++ b/dev-go/gcp-storage/gcp-storage-1.18.2.ebuild
@@ -10,6 +10,7 @@
 CROS_GO_PACKAGES=(
 	"cloud.google.com/go/storage"
 	"cloud.google.com/go/storage/internal/apiv2"
+	"cloud.google.com/go/storage/internal/test/conformance"
 )
 
 CROS_GO_TEST=(
@@ -29,11 +30,9 @@
 RESTRICT="binchecks"
 
 DEPEND="
-	dev-go/gapi-iamcredentials
-	dev-go/gapi-storage
-	dev-go/gapi-transport
+	dev-go/gapi
+	dev-go/gcp
 	dev-go/gcp-iam
-	dev-go/gcp-internal
 	dev-go/gcp-trace
 	dev-go/genproto
 "
diff --git a/dev-go/gcp-trace/gcp-trace-0.97.0-r1.ebuild b/dev-go/gcp-trace/gcp-trace-0.97.0-r4.ebuild
similarity index 100%
rename from dev-go/gcp-trace/gcp-trace-0.97.0-r1.ebuild
rename to dev-go/gcp-trace/gcp-trace-0.97.0-r4.ebuild
diff --git a/dev-go/gcp-trace/gcp-trace-0.97.0.ebuild b/dev-go/gcp-trace/gcp-trace-0.97.0.ebuild
index 28a6681..771f74b 100644
--- a/dev-go/gcp-trace/gcp-trace-0.97.0.ebuild
+++ b/dev-go/gcp-trace/gcp-trace-0.97.0.ebuild
@@ -29,11 +29,11 @@
 
 DEPEND="
 	dev-go/cmp
-	dev-go/gapi-option
-	dev-go/gapi-transport
-	dev-go/gax
+	dev-go/gapi
+	dev-go/gax:1
 	dev-go/genproto
 	dev-go/grpc
 	dev-go/net
+	dev-go/opencensus
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-go/gcp-internal/Manifest b/dev-go/gcp/Manifest
similarity index 100%
rename from dev-go/gcp-internal/Manifest
rename to dev-go/gcp/Manifest
diff --git a/dev-go/gcp/gcp-0.97.0-r2.ebuild b/dev-go/gcp/gcp-0.97.0-r2.ebuild
new file mode 120000
index 0000000..a9054d2
--- /dev/null
+++ b/dev-go/gcp/gcp-0.97.0-r2.ebuild
@@ -0,0 +1 @@
+gcp-0.97.0.ebuild
\ No newline at end of file
diff --git a/dev-go/gcp/gcp-0.97.0.ebuild b/dev-go/gcp/gcp-0.97.0.ebuild
new file mode 100644
index 0000000..ef8de63
--- /dev/null
+++ b/dev-go/gcp/gcp-0.97.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+# The dev-go/gcp* packages are all built from this repo.  They should
+# be updated together.
+CROS_GO_SOURCE="github.com/GoogleCloudPlatform/google-cloud-go:cloud.google.com/go v${PV}"
+
+CROS_GO_PACKAGES=(
+	"cloud.google.com/go/civil"
+	"cloud.google.com/go/internal"
+	"cloud.google.com/go/internal/fields"
+	"cloud.google.com/go/internal/optional"
+	"cloud.google.com/go/internal/trace"
+	"cloud.google.com/go/internal/testutil"
+	"cloud.google.com/go/internal/uid"
+	"cloud.google.com/go/internal/version"
+	"cloud.google.com/go/httpreplay/..."
+)
+
+CROS_GO_TEST=(
+	"${CROS_GO_PACKAGES[@]}"
+)
+
+# temporary cyclic dep workaround until we switch to modules mode
+CROS_GO_SKIP_DEP_CHECK="1"
+
+inherit cros-go
+
+DESCRIPTION="Google Cloud Client Libraries for Go"
+HOMEPAGE="https://code.googlesource.com/gocloud"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND="
+	dev-go/cmp
+	dev-go/gapi
+	dev-go/genproto
+	dev-go/net
+	dev-go/protoc-gen-go-grpc
+"
+RDEPEND="
+	${DEPEND}
+	!dev-go/gcp-internal
+	!dev-go/gcp-civil
+"
diff --git a/dev-go/genproto-api-expr/Manifest b/dev-go/genproto-api-expr/Manifest
deleted file mode 100644
index 3ff5933..0000000
--- a/dev-go/genproto-api-expr/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST github.com-google-go-genproto-848deb03c04d9a338463a46b71f28a63b81c461b.tar.gz 12214714 BLAKE2B 6ece7f1ee036b5962c11dd0e493831f295a6a90e35d3b1a5a9be250a72a78227bb4c5f5d2bad10981dee2313f7d74c1c7a3569a5d5b280d0fb57c6a51b76fa65 SHA512 2fa1dec6180b5f26b0088a71686310a9bc503a0623bf7b363d644a74f830bba4cc09542d862d6c240da0e978dc020e4a9c937caf6718ea28f49b01334f7afc53
diff --git a/dev-go/genproto-api-expr/genproto-api-expr-0.0.1-r1.ebuild b/dev-go/genproto-api-expr/genproto-api-expr-0.0.1-r1.ebuild
deleted file mode 120000
index f01eac1..0000000
--- a/dev-go/genproto-api-expr/genproto-api-expr-0.0.1-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-genproto-api-expr-0.0.1.ebuild
\ No newline at end of file
diff --git a/dev-go/genproto-api-expr/genproto-api-expr-0.0.1.ebuild b/dev-go/genproto-api-expr/genproto-api-expr-0.0.1.ebuild
deleted file mode 100644
index 43f0067..0000000
--- a/dev-go/genproto-api-expr/genproto-api-expr-0.0.1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=7
-
-# The dev-go/genproto* packages are all built from this repo.  They should
-# be updated together.
-CROS_GO_SOURCE="github.com/google/go-genproto:google.golang.org/genproto 848deb03c04d9a338463a46b71f28a63b81c461b"
-
-CROS_GO_PACKAGES=(
-	"google.golang.org/genproto/googleapis/api/expr/v1alpha1"
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-inherit cros-go
-
-DESCRIPTION="Go generated proto packages"
-HOMEPAGE="https://github.com/googleapis/googleapis/"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks"
-
-DEPEND="
-	dev-go/genproto-rpc
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-go/genproto-rpc/Manifest b/dev-go/genproto-rpc/Manifest
deleted file mode 100644
index 3ff5933..0000000
--- a/dev-go/genproto-rpc/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST github.com-google-go-genproto-848deb03c04d9a338463a46b71f28a63b81c461b.tar.gz 12214714 BLAKE2B 6ece7f1ee036b5962c11dd0e493831f295a6a90e35d3b1a5a9be250a72a78227bb4c5f5d2bad10981dee2313f7d74c1c7a3569a5d5b280d0fb57c6a51b76fa65 SHA512 2fa1dec6180b5f26b0088a71686310a9bc503a0623bf7b363d644a74f830bba4cc09542d862d6c240da0e978dc020e4a9c937caf6718ea28f49b01334f7afc53
diff --git a/dev-go/genproto-rpc/genproto-rpc-0.0.1-r2.ebuild b/dev-go/genproto-rpc/genproto-rpc-0.0.1-r2.ebuild
deleted file mode 120000
index ed6de57..0000000
--- a/dev-go/genproto-rpc/genproto-rpc-0.0.1-r2.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-genproto-rpc-0.0.1.ebuild
\ No newline at end of file
diff --git a/dev-go/genproto-rpc/genproto-rpc-0.0.1.ebuild b/dev-go/genproto-rpc/genproto-rpc-0.0.1.ebuild
deleted file mode 100644
index d4d6dba..0000000
--- a/dev-go/genproto-rpc/genproto-rpc-0.0.1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=5
-
-# The dev-go/genproto* packages are all built from this repo.  They should
-# be updated together.
-CROS_GO_SOURCE="github.com/google/go-genproto:google.golang.org/genproto 848deb03c04d9a338463a46b71f28a63b81c461b"
-
-CROS_GO_PACKAGES=(
-	"google.golang.org/genproto/googleapis/rpc/code"
-	"google.golang.org/genproto/googleapis/rpc/errdetails"
-	"google.golang.org/genproto/googleapis/rpc/status"
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-inherit cros-go
-
-DESCRIPTION="Go generated proto packages"
-HOMEPAGE="https://github.com/googleapis/googleapis/"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND="dev-go/protobuf"
-RDEPEND="
-	${DEPEND}
-"
diff --git a/dev-go/genproto/Manifest b/dev-go/genproto/Manifest
index 3ff5933..a8132e3 100644
--- a/dev-go/genproto/Manifest
+++ b/dev-go/genproto/Manifest
@@ -1 +1 @@
-DIST github.com-google-go-genproto-848deb03c04d9a338463a46b71f28a63b81c461b.tar.gz 12214714 BLAKE2B 6ece7f1ee036b5962c11dd0e493831f295a6a90e35d3b1a5a9be250a72a78227bb4c5f5d2bad10981dee2313f7d74c1c7a3569a5d5b280d0fb57c6a51b76fa65 SHA512 2fa1dec6180b5f26b0088a71686310a9bc503a0623bf7b363d644a74f830bba4cc09542d862d6c240da0e978dc020e4a9c937caf6718ea28f49b01334f7afc53
+DIST github.com-google-go-genproto-43724f9ea8cfe9ecde3dd00c5b763498f9840a03.tar.gz 12806209 BLAKE2B e25256d2aeae2825ba63e5caffafdf877eba88fd17449b0d416885f71e7228cf8e59f58529ae05f58633501930ff1d4c347570f6c8283f3f2e126a941d0e7469 SHA512 707807337256ca92821009197fcd42abfc527aadc38c9148ebeef4077ee0cef5328a9fd2893451354d2171881acc8cdf51880e96c7ccc13657f3d2ffdb294e8c
diff --git a/dev-go/genproto/genproto-0.0.1-r7.ebuild b/dev-go/genproto/genproto-0.0.1-r9.ebuild
similarity index 100%
rename from dev-go/genproto/genproto-0.0.1-r7.ebuild
rename to dev-go/genproto/genproto-0.0.1-r9.ebuild
diff --git a/dev-go/genproto/genproto-0.0.1.ebuild b/dev-go/genproto/genproto-0.0.1.ebuild
index be6da91..cd78f1e 100644
--- a/dev-go/genproto/genproto-0.0.1.ebuild
+++ b/dev-go/genproto/genproto-0.0.1.ebuild
@@ -1,24 +1,27 @@
 # Copyright 2017 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2.
 
-EAPI=5
+EAPI=7
 
-# The dev-go/genproto* packages are all built from this repo.  They should
-# be updated together.
-CROS_GO_SOURCE="github.com/google/go-genproto:google.golang.org/genproto 848deb03c04d9a338463a46b71f28a63b81c461b"
+CROS_GO_SOURCE="github.com/google/go-genproto:google.golang.org/genproto 43724f9ea8cfe9ecde3dd00c5b763498f9840a03"
 
 CROS_GO_PACKAGES=(
 	"google.golang.org/genproto/googleapis/api"
 	"google.golang.org/genproto/googleapis/api/annotations"
 	"google.golang.org/genproto/googleapis/api/distribution"
+	"google.golang.org/genproto/googleapis/api/expr/v1alpha1"
 	"google.golang.org/genproto/googleapis/api/label"
 	"google.golang.org/genproto/googleapis/api/metric"
 	"google.golang.org/genproto/googleapis/api/monitoredres"
+	"google.golang.org/genproto/googleapis/chromeos/uidetection/v1/..."
 	"google.golang.org/genproto/googleapis/devtools/cloudtrace/v2"
 	"google.golang.org/genproto/googleapis/iam/v1"
 	"google.golang.org/genproto/googleapis/longrunning"
 	"google.golang.org/genproto/googleapis/monitoring/v3"
 	"google.golang.org/genproto/googleapis/pubsub/v1"
+	"google.golang.org/genproto/googleapis/rpc/code"
+	"google.golang.org/genproto/googleapis/rpc/errdetails"
+	"google.golang.org/genproto/googleapis/rpc/status"
 	"google.golang.org/genproto/googleapis/storage/v2"
 	"google.golang.org/genproto/googleapis/type/calendarperiod"
 	"google.golang.org/genproto/googleapis/type/date"
@@ -36,6 +39,8 @@
 HOMEPAGE="https://github.com/googleapis/googleapis/"
 SRC_URI="$(cros-go_src_uri)"
 
+CROS_GO_SKIP_DEP_CHECK="1"
+
 LICENSE="BSD-Google"
 SLOT="0"
 KEYWORDS="*"
@@ -43,7 +48,9 @@
 RESTRICT="binchecks strip"
 
 DEPEND="
-	dev-go/genproto-rpc
-	dev-go/grpc
+	dev-go/protobuf-legacy-api
+	!dev-go/genproto-rpc
+	!dev-go/genproto-api-expr
+	!dev-go/genproto-chromeosuidetection
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-go/github.com-mitchellh-go-wordwrap-v1.0.1.tar.gz b/dev-go/github.com-mitchellh-go-wordwrap-v1.0.1.tar.gz
deleted file mode 100644
index 44e8b7a..0000000
--- a/dev-go/github.com-mitchellh-go-wordwrap-v1.0.1.tar.gz
+++ /dev/null
Binary files differ
diff --git a/dev-go/glog/Manifest b/dev-go/glog/Manifest
index 0a33e64..255bbcb 100644
--- a/dev-go/glog/Manifest
+++ b/dev-go/glog/Manifest
@@ -1 +1 @@
-DIST github.com-golang-glog-44145f04b68cf362d9c4df2182967c2275eaefed.tar.gz 19648 SHA256 9339c2c779e8d27fd122b1b1bf5c5df108bbe658a403d1df9356a993ed1c7505 SHA512 feacbe0efdf1ea45f7b5581505424a674bb23ea79784985844c40028ed27eda23f2d693caa81a6d4981c3de09ee498c5f664d77b25db7d7a14c93aad1223f4d9 WHIRLPOOL 566a469f1c3738391bed2ea8fb63a605e670d52f65919e61d5c6a84bab6d0b03bfd1a1ea7c2344f981dffb0498ab2d46e39b45cda0dd90699fd42e8477ab0bde
+DIST github.com-golang-glog-v1.0.0.tar.gz 19759 BLAKE2B c9bf2ed3c92891179de05c13c89384e56ffa385defcf00fa253b4b9754fa95fcba39f065637d3dbfdb97c2a2462e278faa25002dcb6c393279a5749fa9c16878 SHA512 4fde76292b698f64e9cf5074c135f08164fe5f7c72196a6f7a4abb72b612edf0af1780316611404c4649241094329264816e94e3669d33497307dcbfefa7f561
diff --git a/dev-go/glog/glog-0.0.1-r4.ebuild b/dev-go/glog/glog-0.0.1-r4.ebuild
deleted file mode 120000
index 8e64ae1..0000000
--- a/dev-go/glog/glog-0.0.1-r4.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-glog-0.0.1.ebuild
\ No newline at end of file
diff --git a/dev-go/glog/glog-0.0.1.ebuild b/dev-go/glog/glog-0.0.1.ebuild
deleted file mode 100644
index 7a745f4..0000000
--- a/dev-go/glog/glog-0.0.1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=5
-
-CROS_GO_SOURCE="github.com/golang/glog 44145f04b68cf362d9c4df2182967c2275eaefed"
-
-CROS_GO_PACKAGES=(
-	"github.com/golang/glog"
-)
-
-inherit cros-go
-
-DESCRIPTION="Leveled execution logs for Go"
-HOMEPAGE="https://github.com/golang/glog"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND=""
-RDEPEND=""
diff --git a/dev-go/glog/glog-1.0.0-r1.ebuild b/dev-go/glog/glog-1.0.0-r1.ebuild
new file mode 120000
index 0000000..21883ce
--- /dev/null
+++ b/dev-go/glog/glog-1.0.0-r1.ebuild
@@ -0,0 +1 @@
+glog-1.0.0.ebuild
\ No newline at end of file
diff --git a/dev-go/glog/glog-1.0.0.ebuild b/dev-go/glog/glog-1.0.0.ebuild
new file mode 100644
index 0000000..7b3f08f
--- /dev/null
+++ b/dev-go/glog/glog-1.0.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=5
+
+CROS_GO_SOURCE="github.com/golang/glog v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/golang/glog"
+)
+
+inherit cros-go
+
+DESCRIPTION="Leveled execution logs for Go"
+HOMEPAGE="https://github.com/golang/glog"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-go/go-arch/Manifest b/dev-go/go-arch/Manifest
new file mode 100644
index 0000000..2a29381
--- /dev/null
+++ b/dev-go/go-arch/Manifest
@@ -0,0 +1 @@
+DIST go.googlesource.com-arch-cbf565b21d1e6f86b3114f28f516032b201c97fa.tar.gz 826866 BLAKE2B 891b6bb74c38748c5d6e07c4ae3d4780117e48d929a7464c01293a62156646d014a333eea0a8c8c56493f8785da7f431478587078794e9779b984d82ee1ecdc3 SHA512 19a80997f78f9eca6a207b1b0ea428dfa34e8bdc696be3910a58cc32eccd4ce653d4b2cecd324fdc7193986f67f2376686a412dd175acdc39854232abbcce2a5
diff --git a/dev-go/go-arch/OWNERS b/dev-go/go-arch/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/go-arch/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/go-arch/go-arch-0.0.1-r1.ebuild b/dev-go/go-arch/go-arch-0.0.1-r1.ebuild
new file mode 120000
index 0000000..b53ce43
--- /dev/null
+++ b/dev-go/go-arch/go-arch-0.0.1-r1.ebuild
@@ -0,0 +1 @@
+go-arch-0.0.1.ebuild
\ No newline at end of file
diff --git a/dev-go/go-arch/go-arch-0.0.1.ebuild b/dev-go/go-arch/go-arch-0.0.1.ebuild
new file mode 100644
index 0000000..cf416f4
--- /dev/null
+++ b/dev-go/go-arch/go-arch-0.0.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=5
+
+CROS_GO_SOURCE="go.googlesource.com/arch:golang.org/x/arch cbf565b21d1e6f86b3114f28f516032b201c97fa"
+
+CROS_GO_PACKAGES=(
+	"golang.org/x/arch/arm/..."
+	"golang.org/x/arch/arm64/..."
+	"golang.org/x/arch/x86/..."
+)
+
+inherit cros-go
+
+DESCRIPTION="Machine architecture information used by the Go toolchain."
+HOMEPAGE="https://golang.org/x/arch"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND="dev-go/rsc-io-pdf"
+RDEPEND=""
diff --git a/dev-go/go-billy/Manifest b/dev-go/go-billy/Manifest
new file mode 100644
index 0000000..7c9fb3e
--- /dev/null
+++ b/dev-go/go-billy/Manifest
@@ -0,0 +1 @@
+DIST github.com-src-d-go-billy-v4.3.2.tar.gz 28022 BLAKE2B 93234bed64b3a477b9e6f9c572accfcbd1815c61b8a21c47f0523523d32eb1e8f91ef55f7272f7d42b5a66057894aee7dfc3d1a91aa908e2a5dec3bc351d08d6 SHA512 623e92785480272a9344edeb4c15e13174ec7e429f8147653b484103331370b4400c00d054e2beff60cc6d482cc7c6b4e9e5260a6f13c676ebb4fa0445c949e7
diff --git a/dev-go/go-billy/OWNERS b/dev-go/go-billy/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/go-billy/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/go-billy/files/0001-build-with-latest-go-versions-and-clean-go.mod.patch b/dev-go/go-billy/files/0001-build-with-latest-go-versions-and-clean-go.mod.patch
new file mode 100644
index 0000000..3a1fc37
--- /dev/null
+++ b/dev-go/go-billy/files/0001-build-with-latest-go-versions-and-clean-go.mod.patch
@@ -0,0 +1,62 @@
+From d5f30fb8d06df5f8f609fb27db38467d517c6741 Mon Sep 17 00:00:00 2001
+From: Javi Fontan <jfontan@gmail.com>
+Date: Thu, 10 Oct 2019 12:41:56 +0200
+Subject: [PATCH] *: build with latest go versions and clean go.mod
+
+[Adrian: backported from upstream d5f30fb8d06df5f8f609fb27db38467d517c6741]
+
+Signed-off-by: Javi Fontan <jfontan@gmail.com>
+---
+ .travis.yml | 4 ++--
+ go.mod      | 1 -
+ go.sum      | 5 +----
+ 3 files changed, 3 insertions(+), 7 deletions(-)
+
+diff --git a/src/gopkg.in/src-d/go-billy.v4/.travis.yml b/src/gopkg.in/src-d/go-billy.v4/.travis.yml
+index a70b470..a05d224 100644
+--- a/src/gopkg.in/src-d/go-billy.v4/.travis.yml
++++ b/src/gopkg.in/src-d/go-billy.v4/.travis.yml
+@@ -1,8 +1,8 @@
+ language: go
+ 
+ go:
+-  - 1.9.x
+-  - 1.10.x
++  - 1.12.x
++  - 1.13.x
+ 
+ go_import_path: gopkg.in/src-d/go-billy.v4
+ 
+diff --git a/src/gopkg.in/src-d/go-billy.v4/go.mod b/src/gopkg.in/src-d/go-billy.v4/go.mod
+index e5227de..6025d18 100644
+--- a/src/gopkg.in/src-d/go-billy.v4/go.mod
++++ b/src/gopkg.in/src-d/go-billy.v4/go.mod
+@@ -2,7 +2,6 @@ module gopkg.in/src-d/go-billy.v4
+ 
+ require (
+ 	github.com/kr/pretty v0.1.0 // indirect
+-	github.com/kr/pty v1.1.8 // indirect
+ 	golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e
+ 	gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127
+ )
+diff --git a/src/gopkg.in/src-d/go-billy.v4/go.sum b/src/gopkg.in/src-d/go-billy.v4/go.sum
+index 5e9ed21..e77a3db 100644
+--- a/src/gopkg.in/src-d/go-billy.v4/go.sum
++++ b/src/gopkg.in/src-d/go-billy.v4/go.sum
+@@ -1,12 +1,9 @@
+-github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
+ github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
+ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
+ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
+-github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
+ github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
+ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
+-golang.org/x/sys v0.0.0-20180903190138-2b024373dcd9 h1:lkiLiLBHGoH3XnqSLUIaBsilGMUjI+Uy2Xu2JLUtTas=
+-golang.org/x/sys v0.0.0-20180903190138-2b024373dcd9/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
++golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e h1:D5TXcfTk7xF7hvieo4QErS3qqCB4teTffacDWr7CI+0=
+ golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
+ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+-- 
+2.35.1
+
diff --git a/dev-go/go-billy/go-billy-4.3.2-r1.ebuild b/dev-go/go-billy/go-billy-4.3.2-r1.ebuild
new file mode 120000
index 0000000..80ba487
--- /dev/null
+++ b/dev-go/go-billy/go-billy-4.3.2-r1.ebuild
@@ -0,0 +1 @@
+go-billy-4.3.2.ebuild
\ No newline at end of file
diff --git a/dev-go/go-billy/go-billy-4.3.2.ebuild b/dev-go/go-billy/go-billy-4.3.2.ebuild
new file mode 100644
index 0000000..4e3dfcf
--- /dev/null
+++ b/dev-go/go-billy/go-billy-4.3.2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/src-d/go-billy:gopkg.in/src-d/go-billy.v4 v${PV}"
+
+CROS_GO_PACKAGES=(
+	"gopkg.in/src-d/go-billy.v4/..."
+)
+
+PATCHES=(
+	"${FILESDIR}/0001-build-with-latest-go-versions-and-clean-go.mod.patch"
+)
+
+inherit cros-go
+
+DESCRIPTION="The missing interface filesystem abstraction for Go"
+HOMEPAGE="https://github.com/src-d/go-billy"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND="
+	dev-go/pretty
+	dev-go/pty
+	dev-go/go-sys
+	dev-go/check
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-go/go-connections/Manifest b/dev-go/go-connections/Manifest
new file mode 100644
index 0000000..61b57d1
--- /dev/null
+++ b/dev-go/go-connections/Manifest
@@ -0,0 +1 @@
+DIST github.com-docker-go-connections-88e5af338bb1e6c7f51b69cc1864249d1e8f4786.tar.gz 32787 BLAKE2B bceeea90a6b1f3dd81d709d467fbe95fccd7f229e516926bb00d287d79844660a02821cff32ef5f0674c8e97b266fd39c1764d4ff5f63dc67f5182e64556e243 SHA512 adcc7abc285fb2bc3b34e011744cb506c84ee2c51588c096a57c83d4b5f491166fca1ea07435d65f2519a2228ce99a120a5115451db156520b5c55209dc53b6b
diff --git a/dev-go/go-connections/OWNERS b/dev-go/go-connections/OWNERS
new file mode 100644
index 0000000..5bdb162
--- /dev/null
+++ b/dev-go/go-connections/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/tast:/OWNERS
diff --git a/dev-go/go-connections/go-connections-0.4.0-r1.ebuild b/dev-go/go-connections/go-connections-0.4.0-r1.ebuild
new file mode 120000
index 0000000..d44e932
--- /dev/null
+++ b/dev-go/go-connections/go-connections-0.4.0-r1.ebuild
@@ -0,0 +1 @@
+go-connections-0.4.0.ebuild
\ No newline at end of file
diff --git a/dev-go/go-connections/go-connections-0.4.0.ebuild b/dev-go/go-connections/go-connections-0.4.0.ebuild
new file mode 100644
index 0000000..007d40c
--- /dev/null
+++ b/dev-go/go-connections/go-connections-0.4.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+# this revision is a bit newer than the 0.4.0 tagged released commit, it is the
+# original revision used before the CrOS Go modules conversion, to avoid breakages
+# bt future upgrades should use the tagged release commits
+CROS_GO_SOURCE="github.com/docker/go-connections 88e5af338bb1e6c7f51b69cc1864249d1e8f4786"
+
+CROS_GO_PACKAGES=(
+	"github.com/docker/go-connections/nat"
+	"github.com/docker/go-connections/sockets"
+	"github.com/docker/go-connections/tlsconfig"
+)
+
+inherit cros-go
+
+DESCRIPTION="Utility package to work with network connections"
+HOMEPAGE="https://github.com/docker/go-connections"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE="test"
+RESTRICT="binchecks strip"
+DEPEND="dev-go/errors"
+RDEPEND="!<=dev-go/docker-20.10.8-r1"
diff --git a/dev-go/go-diff/Manifest b/dev-go/go-diff/Manifest
new file mode 100644
index 0000000..1a68952
--- /dev/null
+++ b/dev-go/go-diff/Manifest
@@ -0,0 +1 @@
+DIST github.com-sergi-go-diff-v1.2.0.tar.gz 1333585 BLAKE2B 4ad7269fac0c226a58fe287029b34418414bdd464827dc9591ab184002ce0a1680e2b7f98aab69d39be5729eb3dda47f349e6ed1edfac9c739bb5b3027368856 SHA512 b59255315396c872bd7606034955a748ebec00f8a585975ee165b8ef43b5dcef7e1fe9634d0e09b06b98cf19b1b635cc7ca252e5bf5b92f94c31f46c1fba5bee
diff --git a/dev-go/go-diff/OWNERS b/dev-go/go-diff/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/go-diff/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/go-diff/go-diff-1.2.0-r1.ebuild b/dev-go/go-diff/go-diff-1.2.0-r1.ebuild
new file mode 120000
index 0000000..d8585fc5
--- /dev/null
+++ b/dev-go/go-diff/go-diff-1.2.0-r1.ebuild
@@ -0,0 +1 @@
+go-diff-1.2.0.ebuild
\ No newline at end of file
diff --git a/dev-go/go-diff/go-diff-1.2.0.ebuild b/dev-go/go-diff/go-diff-1.2.0.ebuild
new file mode 100644
index 0000000..c974ce4
--- /dev/null
+++ b/dev-go/go-diff/go-diff-1.2.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/sergi/go-diff v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/sergi/go-diff/diffmatchpatch"
+)
+
+inherit cros-go
+
+DESCRIPTION="go-diff offers algorithms to perform operations required for synchronizing plain text"
+HOMEPAGE="https://github.com/sergi/go-diff"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND="
+	dev-go/go-spew
+	dev-go/pretty
+	dev-go/testify
+	dev-go/check
+	dev-go/yaml:0
+"
+RDEPEND=""
diff --git a/dev-go/go-difflib/Manifest b/dev-go/go-difflib/Manifest
new file mode 100644
index 0000000..a24d434
--- /dev/null
+++ b/dev-go/go-difflib/Manifest
@@ -0,0 +1 @@
+DIST github.com-pmezard-go-difflib-v1.0.0.tar.gz 11398 BLAKE2B 8f317c172d615e07c92337dd814c07c772347de3fe81b952bbc4fd1a643d495cfb6ec5b694a531f2745e1601eca2d4977ea2c1202ac7fb1e3cdba31e90c4ea34 SHA512 283927de73a3d0405bbca8b5b0c24137dde2f1063539c6ce4437331ed99e732175b2a384e5a70cb9a87cc74da94f5347e2a9785fbf3e46ec2431dc5071c3f045
diff --git a/dev-go/go-difflib/OWNERS b/dev-go/go-difflib/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/go-difflib/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/go-difflib/go-difflib-1.0.0.ebuild b/dev-go/go-difflib/go-difflib-1.0.0.ebuild
new file mode 100644
index 0000000..c78bbf2
--- /dev/null
+++ b/dev-go/go-difflib/go-difflib-1.0.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/pmezard/go-difflib v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/pmezard/go-difflib/difflib"
+)
+
+inherit cros-go
+
+DESCRIPTION="Go-difflib is a partial port of python 3 difflib package."
+HOMEPAGE="https://github.com/pmezard/go-difflib"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-go/go-digest/Manifest b/dev-go/go-digest/Manifest
new file mode 100644
index 0000000..aceb9a7
--- /dev/null
+++ b/dev-go/go-digest/Manifest
@@ -0,0 +1 @@
+DIST github.com-opencontainers-go-digest-v1.0.0.tar.gz 24456 BLAKE2B a3229398e3a91ef76fbc67131182b30f5de4a6bd2777e75223c9b5c174d1d744523e52d2ba7f2fa8ea8660c03de924c3aef0fa20ea1a71d4894678a8eaf8363d SHA512 ae6a8d1d3f4925eb6570a193b65429a2acde587d09ffb7b5c9d7568423c9931067fce6401f59d0664f0563bb0bb1f76595085dade2bd030f33189fd3310382e6
diff --git a/dev-go/go-digest/OWNERS b/dev-go/go-digest/OWNERS
new file mode 100644
index 0000000..5bdb162
--- /dev/null
+++ b/dev-go/go-digest/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/tast:/OWNERS
diff --git a/dev-go/go-digest/go-digest-1.0.0-r1.ebuild b/dev-go/go-digest/go-digest-1.0.0-r1.ebuild
new file mode 120000
index 0000000..640925f
--- /dev/null
+++ b/dev-go/go-digest/go-digest-1.0.0-r1.ebuild
@@ -0,0 +1 @@
+go-digest-1.0.0.ebuild
\ No newline at end of file
diff --git a/dev-go/go-digest/go-digest-1.0.0.ebuild b/dev-go/go-digest/go-digest-1.0.0.ebuild
new file mode 100644
index 0000000..18fdd12
--- /dev/null
+++ b/dev-go/go-digest/go-digest-1.0.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/opencontainers/go-digest v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/opencontainers/go-digest"
+)
+
+inherit cros-go
+
+DESCRIPTION="Common digest package used across the container ecosystem"
+HOMEPAGE="https://github.com/opencontainers/go-digest"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE="test"
+RESTRICT="binchecks strip"
+DEPEND=""
+RDEPEND="!<=dev-go/docker-20.10.8-r1"
diff --git a/dev-go/go-fonts-liberation/Manifest b/dev-go/go-fonts-liberation/Manifest
new file mode 100644
index 0000000..3ce6228
--- /dev/null
+++ b/dev-go/go-fonts-liberation/Manifest
@@ -0,0 +1 @@
+DIST github.com-go-fonts-liberation-v0.2.0.tar.gz 4179267 BLAKE2B acf92bd6899f1b10725d210b45bf927400f88866043be1dbd14b2f52c7bb86e897ef7ffd4fb5db2e55406cd5f255be9072e8d4335d2e0b570e6e4b94f9c83353 SHA512 e57cdb3d06ada4685483f67372aa0e1c72c4d6ecb9073380df844092aefe3e44b031b30e0f4fbd998c92366a1dae28c510971dc0ca90e71f0989316fb99ad2c9
diff --git a/dev-go/go-fonts-liberation/OWNERS b/dev-go/go-fonts-liberation/OWNERS
new file mode 100644
index 0000000..0a35c6e
--- /dev/null
+++ b/dev-go/go-fonts-liberation/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/graphics:/OWNERS.graphics
diff --git a/dev-go/go-fonts-liberation/go-fonts-liberation-0.2.0.ebuild b/dev-go/go-fonts-liberation/go-fonts-liberation-0.2.0.ebuild
new file mode 100644
index 0000000..4eff6d8
--- /dev/null
+++ b/dev-go/go-fonts-liberation/go-fonts-liberation-0.2.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/go-fonts/liberation v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/go-fonts/liberation/..."
+)
+
+CROS_GO_TEST=(
+	"${CROS_GO_PACKAGES[@]}"
+)
+
+inherit cros-go
+
+DESCRIPTION="Liberation fonts for Go"
+HOMEPAGE="https://github.com/go-fonts/liberation"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND="dev-go/go-image"
+RDEPEND=""
diff --git a/dev-go/go-image/Manifest b/dev-go/go-image/Manifest
index 13d8fed..181e9d2 100644
--- a/dev-go/go-image/Manifest
+++ b/dev-go/go-image/Manifest
@@ -1 +1 @@
-DIST go.googlesource.com-image-9130b4cfad522142c86367afe5e34ce811a85a4b.tar.gz 4884051 BLAKE2B adeae7091b41e7fa9c38c911d9e6e500c7f00aeab370ebaba6863218a8f4c9740f393c371868ac5adfaa0b3b183717dd7d4ad27c0bde2fcff8cb6ba2ebc3e617 SHA512 dbd56166e25af52bc07a8197f3f68226e8d635b3d9ab652d6f63e8dd4cc0f0393de2889186103fd3a75a5a63306bc72828a8bbbe3388648c02687622bc8ad09e
+DIST go.googlesource.com-image-a66eb6448b8d7557efb0c974c8d4d72085371c58.tar.gz 4892372 BLAKE2B d95601c951dc95253872cd0dd2cf39ac39ce77a4688503f2f481c04698159eb310f779e36a55e4816701babb3de6f745d1f695eb3459ac733f84a5d62dee65ea SHA512 232d5019a46625c77e883d9d85c1820144d61dfffc9179f8b6230f8457fa35576672f67a95b8df5813e767662a3ac4ecdc276177362e582e28e529fde295aa4f
diff --git a/dev-go/go-image/go-image-0.0.1-r1.ebuild b/dev-go/go-image/go-image-0.0.1-r1.ebuild
new file mode 120000
index 0000000..7e7ef93
--- /dev/null
+++ b/dev-go/go-image/go-image-0.0.1-r1.ebuild
@@ -0,0 +1 @@
+go-image-0.0.1.ebuild
\ No newline at end of file
diff --git a/dev-go/go-image/go-image-0.0.1.ebuild b/dev-go/go-image/go-image-0.0.1.ebuild
index 5eebbb5..edd6da6 100644
--- a/dev-go/go-image/go-image-0.0.1.ebuild
+++ b/dev-go/go-image/go-image-0.0.1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=5
 
-CROS_GO_SOURCE="go.googlesource.com/image:golang.org/x/image 9130b4cfad522142c86367afe5e34ce811a85a4b"
+CROS_GO_SOURCE="go.googlesource.com/image:golang.org/x/image a66eb6448b8d7557efb0c974c8d4d72085371c58"
 
 CROS_GO_PACKAGES=(
 	"golang.org/x/image/..."
diff --git a/dev-go/go-latex/Manifest b/dev-go/go-latex/Manifest
new file mode 100644
index 0000000..7829a36
--- /dev/null
+++ b/dev-go/go-latex/Manifest
@@ -0,0 +1 @@
+DIST github.com-go-latex-latex-fdd06906368d258859329d1a962a071ea194800b.tar.gz 358617 BLAKE2B a3d31bccf9d54c1068f0ae567461a9e7c28103eafb6552ff3141a0afefe1fb08b0511456b7a7fa9969e753e106eb4a6fb7cef9a2d015ee12457706fc3b36e8c5 SHA512 125d2a8819a3427ef0ef42cd0051f47a3ccf737b6ccbcfddcad4d52e48d6abee67d706d449b96e17303bda2cac3ac7ed99970fc2f630e83f0a81f1f739989e29
diff --git a/dev-go/go-latex/OWNERS b/dev-go/go-latex/OWNERS
new file mode 100644
index 0000000..0a35c6e
--- /dev/null
+++ b/dev-go/go-latex/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/graphics:/OWNERS.graphics
diff --git a/dev-go/go-latex/go-latex-0.0.1.ebuild b/dev-go/go-latex/go-latex-0.0.1.ebuild
new file mode 100644
index 0000000..2eca32d
--- /dev/null
+++ b/dev-go/go-latex/go-latex-0.0.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/go-latex/latex fdd06906368d258859329d1a962a071ea194800b"
+
+CROS_GO_PACKAGES=(
+	"github.com/go-latex/latex"
+	"github.com/go-latex/latex/ast"
+	"github.com/go-latex/latex/drawtex"
+	"github.com/go-latex/latex/font"
+	"github.com/go-latex/latex/font/ttf"
+	"github.com/go-latex/latex/internal/tex2unicode"
+	"github.com/go-latex/latex/mtex"
+	"github.com/go-latex/latex/mtex/symbols"
+	"github.com/go-latex/latex/tex"
+	"github.com/go-latex/latex/token"
+)
+
+inherit cros-go
+
+DESCRIPTION="Go package for LaTeX"
+HOMEPAGE="https://github.com/go-latex/latex"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND="
+	dev-go/go-fonts-liberation
+	dev-go/go-image
+	dev-go/gofpdf
+	dev-go/fogleman-gg
+"
+RDEPEND=""
diff --git a/dev-go/go-md2man/Manifest b/dev-go/go-md2man/Manifest
new file mode 100644
index 0000000..1ed8693
--- /dev/null
+++ b/dev-go/go-md2man/Manifest
@@ -0,0 +1 @@
+DIST github.com-cpuguy83-go-md2man-v2.0.1.tar.gz 64220 BLAKE2B 3377148e358c707cc2132d540c6c8fe64f7354ac1bb85dd546778794b45ebaed0d84dda689db3588c2b407bdd129899aeecc3312559c9c98a7f6aabee94551ca SHA512 293141da791cddd56e9b92d936cbd6105675e8c1ebf6fa95e79a3651ff28d050596b31d48256414e2a8e70d8054ee163885808635b8bb029ec49f5f81678d390
diff --git a/dev-go/go-md2man/OWNERS b/dev-go/go-md2man/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/go-md2man/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/go-md2man/go-md2man-2.0.1.ebuild b/dev-go/go-md2man/go-md2man-2.0.1.ebuild
new file mode 100644
index 0000000..1c4b1c4
--- /dev/null
+++ b/dev-go/go-md2man/go-md2man-2.0.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/cpuguy83/go-md2man:github.com/cpuguy83/go-md2man/v2 v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/cpuguy83/go-md2man/v2"
+	"github.com/cpuguy83/go-md2man/v2/md2man"
+)
+
+inherit cros-go
+
+DESCRIPTION="Converts markdown into roff (man pages)."
+HOMEPAGE="https://github.com/cpuguy83/go-md2man"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+IUSE="test"
+RESTRICT="binchecks strip"
+DEPEND="
+	dev-go/blackfriday
+"
diff --git a/dev-go/go-pdf/Manifest b/dev-go/go-pdf/Manifest
new file mode 100644
index 0000000..9bba075
--- /dev/null
+++ b/dev-go/go-pdf/Manifest
@@ -0,0 +1 @@
+DIST github.com-go-pdf-fpdf-v0.5.0.tar.gz 2805828 BLAKE2B 6da326ba9372cb5b016f9d1cdd4adb7b7ff6620df9e0e04cda889972a50140b9a81c215d3f8003d77517b670e3370f7acbe1ffae2f3afcfe6a60fb7df3eec1d6 SHA512 f6be32d3ca721da1bc45b63ca4cdf4d35f5c1ae6232b8f3c92f9bccf3c6affde7e059c42519223168e45a54c2251b1f0d9e7625edf4aeae275157acac0a76a6a
diff --git a/dev-go/go-pdf/OWNERS b/dev-go/go-pdf/OWNERS
new file mode 100644
index 0000000..0a35c6e
--- /dev/null
+++ b/dev-go/go-pdf/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/graphics:/OWNERS.graphics
diff --git a/dev-go/go-pdf/go-pdf-0.5.0.ebuild b/dev-go/go-pdf/go-pdf-0.5.0.ebuild
new file mode 100644
index 0000000..4908f70
--- /dev/null
+++ b/dev-go/go-pdf/go-pdf-0.5.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=5
+
+CROS_GO_SOURCE="github.com/go-pdf/fpdf v0.5.0"
+
+CROS_GO_PACKAGES=(
+	"github.com/go-pdf/fpdf"
+	"github.com/go-pdf/fpdf/internal/..."
+	"github.com/go-pdf/fpdf/list"
+	"github.com/go-pdf/fpdf/contrib/gofpdi"
+)
+
+inherit cros-go
+
+DESCRIPTION="A PDF document generator with high level support for text, drawing and images"
+HOMEPAGE="https://github.com/go-pdf/fpdf"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND="
+	dev-go/go-image
+	dev-go/gofpdi
+"
+RDEPEND=""
diff --git a/dev-go/go-spew/Manifest b/dev-go/go-spew/Manifest
new file mode 100644
index 0000000..16e114a
--- /dev/null
+++ b/dev-go/go-spew/Manifest
@@ -0,0 +1 @@
+DIST github.com-davecgh-go-spew-v1.1.1.tar.gz 42152 BLAKE2B 3c6689b3d2861fbc4a70b8ab25b790d132865e4ec34062fd80005fc7d62c1b4cd77df534c27a2d8b1c42c63f8a551fc7d98e3649bf902d176fd965e933faf6be SHA512 b00621d2f11c4cc858e69fda3e6975f910deb375c4f2305a45b230e2d9be73f183db5d2ce4f5e30a14b27e11e79380233ee68fceeef0d855c64fca966e68111e
diff --git a/dev-go/go-spew/OWNERS b/dev-go/go-spew/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/go-spew/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/go-spew/go-spew-1.1.1.ebuild b/dev-go/go-spew/go-spew-1.1.1.ebuild
new file mode 100644
index 0000000..34d3ddb
--- /dev/null
+++ b/dev-go/go-spew/go-spew-1.1.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/davecgh/go-spew v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/davecgh/go-spew/spew"
+)
+
+inherit cros-go
+
+DESCRIPTION="Go-spew implements a deep pretty printer for Go data structures to aid in debugging."
+HOMEPAGE="https://github.com/davecgh/go-spew"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="*"
+IUSE="test"
+RESTRICT="binchecks strip"
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-go/go-tools/go-tools-0.1.11.ebuild b/dev-go/go-tools/go-tools-0.1.11.ebuild
index 3276f77..c53bd94 100644
--- a/dev-go/go-tools/go-tools-0.1.11.ebuild
+++ b/dev-go/go-tools/go-tools-0.1.11.ebuild
@@ -57,7 +57,7 @@
 CROS_GO_BINARIES=(
 	"golang.org/x/tools/cmd/godoc"
 	"golang.org/x/tools/cmd/goimports"
-	"golang.org/x/tools/cmd/guru:goguru"
+	"golang.org/x/tools/cmd/guru:/usr/bin/goguru"
 	"golang.org/x/tools/cmd/stringer"
 )
 
diff --git a/dev-go/go-units/Manifest b/dev-go/go-units/Manifest
new file mode 100644
index 0000000..12089c4
--- /dev/null
+++ b/dev-go/go-units/Manifest
@@ -0,0 +1 @@
+DIST github.com-docker-go-units-v0.4.0.tar.gz 11514 BLAKE2B b1a734c813b59d8de4ec80f3ded93a73a2d2ac57d6cd65a733033fda049a0c315c04704dea3bb826e9e5821a022e1fcb09e5e8efdd6502bd1741efd80b70e10b SHA512 7b714811b2821f68ecca4cc220f564cda871c19ba043b7b1a69ac70d103bd9002cc698121bbc2a15936e96af862430eed47e2fea022c44005ffe5dfdf9cf0e27
diff --git a/dev-go/go-units/OWNERS b/dev-go/go-units/OWNERS
new file mode 100644
index 0000000..5bdb162
--- /dev/null
+++ b/dev-go/go-units/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/tast:/OWNERS
diff --git a/dev-go/go-units/go-units-0.4.0-r1.ebuild b/dev-go/go-units/go-units-0.4.0-r1.ebuild
new file mode 120000
index 0000000..9a0ec6d
--- /dev/null
+++ b/dev-go/go-units/go-units-0.4.0-r1.ebuild
@@ -0,0 +1 @@
+go-units-0.4.0.ebuild
\ No newline at end of file
diff --git a/dev-go/go-units/go-units-0.4.0.ebuild b/dev-go/go-units/go-units-0.4.0.ebuild
new file mode 100644
index 0000000..bd57caf
--- /dev/null
+++ b/dev-go/go-units/go-units-0.4.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/docker/go-units v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/docker/go-units"
+)
+
+inherit cros-go
+
+DESCRIPTION="Parse and print size and time units in human-readable format."
+HOMEPAGE="https://github.com/docker/go-units"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE="test"
+RESTRICT="binchecks strip"
+DEPEND=""
+RDEPEND="!<=dev-go/docker-20.10.8-r1"
diff --git a/dev-go/gofpdi/Manifest b/dev-go/gofpdi/Manifest
new file mode 100644
index 0000000..3eb17f9
--- /dev/null
+++ b/dev-go/gofpdi/Manifest
@@ -0,0 +1 @@
+DIST github.com-phpdave11-gofpdi-v1.0.13.tar.gz 18319 BLAKE2B 861db43fbd73de32136653536a0565f7f81a9362261e27a7b513f7c6fa61e26d68ce1e7f0de008a99449b4ae9051a456cc91ba7b88aed21679f8e30702adbe3f SHA512 e5857548a794f90c8bc0765fe9efd41d15e90bedd318b327bd71db1a0fc03ec91bdca0f680459f0f1650930c7fde5f72b641f9743bea3e0b49960bc5b2863b3e
diff --git a/dev-go/gofpdi/OWNERS b/dev-go/gofpdi/OWNERS
new file mode 100644
index 0000000..0a35c6e
--- /dev/null
+++ b/dev-go/gofpdi/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/graphics:/OWNERS.graphics
diff --git a/dev-go/gofpdi/gofpdi-1.0.13.ebuild b/dev-go/gofpdi/gofpdi-1.0.13.ebuild
new file mode 100644
index 0000000..67a6d45
--- /dev/null
+++ b/dev-go/gofpdi/gofpdi-1.0.13.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/phpdave11/gofpdi v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/phpdave11/gofpdi/..."
+)
+
+inherit cros-go
+
+DESCRIPTION="Go Free PDF Document Importer"
+HOMEPAGE="https://github.com/phpdave11/gofpdi"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-go/gogo-protobuf/Manifest b/dev-go/gogo-protobuf/Manifest
new file mode 100644
index 0000000..0bf9624
--- /dev/null
+++ b/dev-go/gogo-protobuf/Manifest
@@ -0,0 +1 @@
+DIST github.com-gogo-protobuf-226206f39bd7276e88ec684ea0028c18ec2c91ae.tar.gz 2042486 BLAKE2B 7de7ca21218a7aecbd96ec7f2a055ea1b1ca9bd21f681773c9a925f55c093ef9ff917adf09cbf2910c88b2d577809bc586322ddc02098aeb618bd5689818bd3d SHA512 1b08357715c11fe9728b0dfce359066b3451fcbe191064d60e47384e9b2137274f76df2380937ff85a2bcacbdf985511317ecfd947877d6d8baa369a1a6572a0
diff --git a/dev-go/gogo-protobuf/OWNERS b/dev-go/gogo-protobuf/OWNERS
new file mode 100644
index 0000000..5bdb162
--- /dev/null
+++ b/dev-go/gogo-protobuf/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/tast:/OWNERS
diff --git a/dev-go/gogo-protobuf/gogo-protobuf-1.3.2-r1.ebuild b/dev-go/gogo-protobuf/gogo-protobuf-1.3.2-r1.ebuild
new file mode 120000
index 0000000..8ae43c4
--- /dev/null
+++ b/dev-go/gogo-protobuf/gogo-protobuf-1.3.2-r1.ebuild
@@ -0,0 +1 @@
+gogo-protobuf-1.3.2.ebuild
\ No newline at end of file
diff --git a/dev-go/gogo-protobuf/gogo-protobuf-1.3.2.ebuild b/dev-go/gogo-protobuf/gogo-protobuf-1.3.2.ebuild
new file mode 100644
index 0000000..bb7ed83
--- /dev/null
+++ b/dev-go/gogo-protobuf/gogo-protobuf-1.3.2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+# this revision is a bit newer than the 1.3.2 tagged released commit, it is the
+# original revision used before the CrOS Go modules conversion, to avoid breakages
+# bt future upgrades should use the tagged release commits
+CROS_GO_SOURCE="github.com/gogo/protobuf 226206f39bd7276e88ec684ea0028c18ec2c91ae"
+
+CROS_GO_PACKAGES=(
+	"github.com/gogo/protobuf/proto"
+)
+
+inherit cros-go
+
+DESCRIPTION="Protocol Buffers for Go with Gadgets."
+HOMEPAGE="https://github.com/gogo/protobuf"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="test"
+RESTRICT="binchecks strip"
+DEPEND="
+	dev-go/errcheck
+	dev-go/go-tools
+"
+RDEPEND="!<=dev-go/docker-20.10.8-r1"
diff --git a/dev-go/goldmark/goldmark-1.4.1-r1.ebuild b/dev-go/goldmark/goldmark-1.4.1-r2.ebuild
similarity index 100%
rename from dev-go/goldmark/goldmark-1.4.1-r1.ebuild
rename to dev-go/goldmark/goldmark-1.4.1-r2.ebuild
diff --git a/dev-go/goldmark/goldmark-1.4.1.ebuild b/dev-go/goldmark/goldmark-1.4.1.ebuild
index 27fa508..1482d23 100644
--- a/dev-go/goldmark/goldmark-1.4.1.ebuild
+++ b/dev-go/goldmark/goldmark-1.4.1.ebuild
@@ -12,6 +12,7 @@
 	"github.com/yuin/goldmark/renderer"
 	"github.com/yuin/goldmark/renderer/html"
 	"github.com/yuin/goldmark/text"
+	"github.com/yuin/goldmark/testutil"
 	"github.com/yuin/goldmark/util"
 )
 
diff --git a/dev-go/golint/Manifest b/dev-go/golint/Manifest
index 7bdbdf4..1674db3 100644
--- a/dev-go/golint/Manifest
+++ b/dev-go/golint/Manifest
@@ -1 +1 @@
-DIST go.googlesource.com-lint-5906bd5c48cd840279ace88b165057fbbd7fb35a.tar.gz 31888 SHA256 08956d4e57c521a80bb55d306774b202923dd6524d90e0494a961a9c8ea96b79 SHA512 a863d4ab804db9dd0e0f73b39376273e6685a9721aa9922749cb36a0c8b9c0c9276bd74e3ce200b62f2d47bbbc6fa8e853c252a30adc26473edc49ca4ca151db WHIRLPOOL e5e10734965b2ae599e140e22c2cd062911045c43e2578279075afe5c323fbc785c7d1ffdff3642398e0f0a5a5846eb5a3c894dcf966b3360cb8c43b099bd30c
+DIST go.googlesource.com-lint-6edffad5e6160f5949cdefc81710b2706fbcd4f6.tar.gz 31957 BLAKE2B f698f7b917424688691c0e0af95cb7917e019d7032f63a76da29a9dd60411b9a93b5cb888411b7eaff55532d7962faf98b7c8ebafdbe7af1a8a07e228fbb6499 SHA512 e01daa90448010b4fcb220a272b31f3b7fd0e5a21367a59182df4dd0492e5d27dd06f7a9d40b2f6c4a48371e7108f2be4900846b6fa227462d0f93f33ed8b700
diff --git a/dev-go/golint/golint-0.0.1-r6.ebuild b/dev-go/golint/golint-0.0.1-r8.ebuild
similarity index 100%
rename from dev-go/golint/golint-0.0.1-r6.ebuild
rename to dev-go/golint/golint-0.0.1-r8.ebuild
diff --git a/dev-go/golint/golint-0.0.1.ebuild b/dev-go/golint/golint-0.0.1.ebuild
index c6189d8..24b63cc 100644
--- a/dev-go/golint/golint-0.0.1.ebuild
+++ b/dev-go/golint/golint-0.0.1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=5
 
-CROS_GO_SOURCE="go.googlesource.com/lint:golang.org/x/lint 5906bd5c48cd840279ace88b165057fbbd7fb35a"
+CROS_GO_SOURCE="go.googlesource.com/lint:golang.org/x/lint 6edffad5e6160f5949cdefc81710b2706fbcd4f6"
 
 CROS_GO_BINARIES=(
 	"golang.org/x/lint/golint"
@@ -11,6 +11,7 @@
 
 CROS_GO_PACKAGES=(
 	"golang.org/x/lint"
+	"golang.org/x/lint/golint"
 )
 
 inherit cros-go
diff --git a/dev-go/gonum-plot/Manifest b/dev-go/gonum-plot/Manifest
index 2246aeed..078b0ff 100644
--- a/dev-go/gonum-plot/Manifest
+++ b/dev-go/gonum-plot/Manifest
@@ -1 +1 @@
-DIST github.com-gonum-plot-4abb28f724d5129237103b5844685e7d60f93cfd.tar.gz 6743957 BLAKE2B cd8dc390c9ebc0c121abc1c4249accf9ce13d78c16507734a53b92c09e71078594da742d7f9a840a7d0542bb70090991809d01a91367c70ce937aa972fcb47dd SHA512 966b0496c6d25225c6665863ccec6b63768178a121856bc7730e3beccf40c8cdf787a5d0d29f65377ee3c7e42d163d51192ac973791e13839218576754ac25c3
+DIST github.com-gonum-plot-v0.10.0.tar.gz 4149130 BLAKE2B ce7334b927ad95396ae2573d16eee43724b968b9eb9d687df4d4ef4f5bc0e9af63e6e66bf095ac3e45c3cf9be3cac5585550d71f31d9547f485a02cea34d36ee SHA512 514b5dcb0b35cec8cef7941adf2f68d2c6e80fda8af63223143bc3fa4ac242ae7472c99ce326022d911443ba8702f17bcf5d86ac2ea1bad9d8fb31a11a8e7e0b
diff --git a/dev-go/gonum-plot/gonum-plot-0.0.1.ebuild b/dev-go/gonum-plot/gonum-plot-0.0.1.ebuild
deleted file mode 100644
index d2d32f3..0000000
--- a/dev-go/gonum-plot/gonum-plot-0.0.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=5
-
-CROS_GO_SOURCE="github.com/gonum/plot:gonum.org/v1/plot 4abb28f724d5129237103b5844685e7d60f93cfd"
-
-CROS_GO_PACKAGES=(
-	"gonum.org/v1/plot"
-	"gonum.org/v1/plot/palette"
-	"gonum.org/v1/plot/plotter"
-	"gonum.org/v1/plot/tools/..."
-	"gonum.org/v1/plot/vg/..."
-)
-
-CROS_GO_TEST=(
-	"gonum.org/v1/plot"
-	"gonum.org/v1/plot/cmpimg"
-)
-
-inherit cros-go
-
-DESCRIPTION="Provides an API for setting up plots, and primitives for drawing on plots"
-HOMEPAGE="https://www.gonum.org/"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD MIT"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND="
-	dev-go/fogleman-gg
-	dev-go/rsc-io-pdf
-	dev-go/svgo
-"
-
-RDEPEND=""
diff --git a/dev-go/gonum-plot/gonum-plot-0.10.0.ebuild b/dev-go/gonum-plot/gonum-plot-0.10.0.ebuild
new file mode 100644
index 0000000..a267f2b
--- /dev/null
+++ b/dev-go/gonum-plot/gonum-plot-0.10.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=5
+
+CROS_GO_SOURCE="github.com/gonum/plot:gonum.org/v1/plot v${PV}"
+
+# Skip dep failures due to liberation font and latex which are not used
+CROS_GO_SKIP_DEP_CHECK="1"
+
+CROS_GO_PACKAGES=(
+	"gonum.org/v1/plot"
+	"gonum.org/v1/plot/font"
+	"gonum.org/v1/plot/font/liberation"
+	"gonum.org/v1/plot/palette"
+	"gonum.org/v1/plot/plotter"
+	"gonum.org/v1/plot/text"
+	"gonum.org/v1/plot/tools/..."
+	"gonum.org/v1/plot/vg/..."
+)
+
+CROS_GO_TEST=(
+	"gonum.org/v1/plot"
+	"gonum.org/v1/plot/cmpimg"
+)
+
+inherit cros-go
+
+DESCRIPTION="Provides an API for setting up plots, and primitives for drawing on plots"
+HOMEPAGE="https://www.gonum.org/"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD MIT"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND="
+	dev-go/go-image
+	dev-go/go-fonts-liberation
+	dev-go/go-latex
+	dev-go/gonum
+	dev-go/golang-freetype
+	dev-go/fogleman-gg
+	dev-go/rsc-io-pdf
+	dev-go/svgo
+"
+
+RDEPEND=""
diff --git a/dev-go/gonum/Manifest b/dev-go/gonum/Manifest
new file mode 100644
index 0000000..8c01cfc
--- /dev/null
+++ b/dev-go/gonum/Manifest
@@ -0,0 +1 @@
+DIST github.com-gonum-gonum-v0.11.0.tar.gz 3432273 BLAKE2B 229cedb80dacda932ddce85f73e1d130bb16b8810212c4499a1d8c8e3f44b03d38830df87b63a83cc09d1179a5228c53daadf8c2ee4ddeb1a3aac9b3d54b38ef SHA512 a74aafbd1b7ff41bbd2d6d1c7272c64b7ed78504858e250be42fa5a550efa4f6fadfe16f37ac2bb5cccd95da1082104aa25a2d9d0af2a72ded63fed13f3a1187
diff --git a/dev-go/gonum/OWNERS b/dev-go/gonum/OWNERS
new file mode 100644
index 0000000..0a35c6e
--- /dev/null
+++ b/dev-go/gonum/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/graphics:/OWNERS.graphics
diff --git a/dev-go/gonum/gonum-0.11.0.ebuild b/dev-go/gonum/gonum-0.11.0.ebuild
new file mode 100644
index 0000000..46a5d03
--- /dev/null
+++ b/dev-go/gonum/gonum-0.11.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=5
+
+CROS_GO_SOURCE="github.com/gonum/gonum:gonum.org/v1/gonum v${PV}"
+
+CROS_GO_PACKAGES=(
+	"gonum.org/v1/gonum/blas"
+	"gonum.org/v1/gonum/blas/blas32"
+	"gonum.org/v1/gonum/blas/blas64"
+	"gonum.org/v1/gonum/blas/cblas128"
+	"gonum.org/v1/gonum/blas/cblas64"
+	"gonum.org/v1/gonum/blas/gonum"
+	"gonum.org/v1/gonum/internal/asm/..."
+	"gonum.org/v1/gonum/internal/cmplx64"
+	"gonum.org/v1/gonum/internal/math32"
+	"gonum.org/v1/gonum/floats/..."
+	"gonum.org/v1/gonum/lapack"
+	"gonum.org/v1/gonum/lapack/gonum"
+	"gonum.org/v1/gonum/lapack/lapack64"
+	"gonum.org/v1/gonum/mat"
+)
+
+CROS_GO_TEST=(
+	"gonum.org/v1/gonum"
+)
+
+inherit cros-go
+
+DESCRIPTION="The core packages of the Gonum suite are written in pure Go with some assembly."
+HOMEPAGE="https://www.gonum.org/"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND="
+	dev-go/cmp
+	dev-go/go-tools
+	dev-go/golang-freetype
+	dev-go/svgo
+"
+
+RDEPEND=""
diff --git a/dev-go/gopsutil/Manifest b/dev-go/gopsutil/Manifest
index 50c7c05..f5ed291 100644
--- a/dev-go/gopsutil/Manifest
+++ b/dev-go/gopsutil/Manifest
@@ -1 +1 @@
-DIST github.com-shirou-gopsutil-v3.21.7.tar.gz 296094 BLAKE2B 85fb33906011b5bd17a274bd2af80c3790ac8394f2ce0f0b361916dec19144f39556ecece2e3c7696e4a17ea0c6844a823f9fc1316f2e1d63f4808d96ffcdbcb SHA512 745b7dca75fc2db8f6a6a6ddfaa09e704bea00c538804d85b725743e3c1308ff6730a318daf8c241537f36e15587c1e1428fc1c47824e0cd0e8e11cdbc02c0d9
+DIST github.com-shirou-gopsutil-v3.21.12.tar.gz 166650 BLAKE2B e1b1cb67da6068c3c8a391d2c3d33cb18326ce12f95996d6c74d6db23d3caaf127f9e468e82077bb842adc8adb95f0a2b7659946c215abe68c6e30d4614c1195 SHA512 9459226d225d01e3bef63882902e885fa9744fd087dde1ee997d14f696c8fd36f869288b10f024110e27a40450d7b3525704183db912bfa63a8deb656d121fc7
diff --git a/dev-go/gopsutil/gopsutil-3.21.12-r2.ebuild b/dev-go/gopsutil/gopsutil-3.21.12-r2.ebuild
new file mode 120000
index 0000000..d370c3f
--- /dev/null
+++ b/dev-go/gopsutil/gopsutil-3.21.12-r2.ebuild
@@ -0,0 +1 @@
+gopsutil-3.21.12.ebuild
\ No newline at end of file
diff --git a/dev-go/gopsutil/gopsutil-3.21.12.ebuild b/dev-go/gopsutil/gopsutil-3.21.12.ebuild
new file mode 100644
index 0000000..6f444c4
--- /dev/null
+++ b/dev-go/gopsutil/gopsutil-3.21.12.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=5
+
+CROS_GO_SOURCE="github.com/shirou/gopsutil:github.com/shirou/gopsutil/v3 v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/shirou/gopsutil/v3/..."
+)
+
+CROS_GO_TEST=(
+	"github.com/shirou/gopsutil/v3/cpu"
+	"github.com/shirou/gopsutil//v3disk"
+	# host fails due to missing /var/run/utmp in chroot.
+	"github.com/shirou/gopsutil/v3/internal/..."
+	"github.com/shirou/gopsutil/v3/load"
+	# mem, net, and process require github.com/stretchr/testify/assert.
+)
+
+inherit cros-go
+
+DESCRIPTION="Cross-platform lib for process and system monitoring in Go"
+HOMEPAGE="https://github.com/shirou/gopsutil"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="*"
+IUSE="test"
+RESTRICT="binchecks strip"
+
+DEPEND="
+	dev-go/cmp
+	dev-go/errcheck
+	dev-go/go-sys
+	dev-go/go-sysconf
+	dev-go/testify
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-go/gopsutil/gopsutil-3.21.7-r1.ebuild b/dev-go/gopsutil/gopsutil-3.21.7-r1.ebuild
deleted file mode 120000
index 864ecb5..0000000
--- a/dev-go/gopsutil/gopsutil-3.21.7-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-gopsutil-3.21.7.ebuild
\ No newline at end of file
diff --git a/dev-go/gopsutil/gopsutil-3.21.7.ebuild b/dev-go/gopsutil/gopsutil-3.21.7.ebuild
deleted file mode 100644
index 17864af..0000000
--- a/dev-go/gopsutil/gopsutil-3.21.7.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=5
-
-CROS_GO_SOURCE="github.com/shirou/gopsutil v${PV}"
-
-CROS_GO_PACKAGES=(
-	"github.com/shirou/gopsutil/cpu"
-	"github.com/shirou/gopsutil/disk"
-	"github.com/shirou/gopsutil/host"
-	"github.com/shirou/gopsutil/internal/..."
-	"github.com/shirou/gopsutil/load"
-	"github.com/shirou/gopsutil/mem"
-	"github.com/shirou/gopsutil/net"
-	"github.com/shirou/gopsutil/process"
-)
-
-CROS_GO_TEST=(
-	"github.com/shirou/gopsutil/cpu"
-	"github.com/shirou/gopsutil/disk"
-	# host fails due to missing /var/run/utmp in chroot.
-	"github.com/shirou/gopsutil/internal/..."
-	"github.com/shirou/gopsutil/load"
-	# mem, net, and process require github.com/stretchr/testify/assert.
-)
-
-inherit cros-go
-
-DESCRIPTION="Cross-platform lib for process and system monitoring in Go"
-HOMEPAGE="https://github.com/shirou/gopsutil"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="*"
-IUSE="test"
-RESTRICT="binchecks strip"
-
-DEPEND="
-	test? ( dev-go/go-sys )
-	dev-go/go-sysconf
-"
-RDEPEND="
-	dev-go/go-sys
-	dev-go/go-sysconf
-"
diff --git a/dev-go/grpc/grpc-1.42.0-r2.ebuild b/dev-go/grpc/grpc-1.42.0-r6.ebuild
similarity index 100%
rename from dev-go/grpc/grpc-1.42.0-r2.ebuild
rename to dev-go/grpc/grpc-1.42.0-r6.ebuild
diff --git a/dev-go/grpc/grpc-1.42.0.ebuild b/dev-go/grpc/grpc-1.42.0.ebuild
index 14973fb..38d3f37 100644
--- a/dev-go/grpc/grpc-1.42.0.ebuild
+++ b/dev-go/grpc/grpc-1.42.0.ebuild
@@ -22,12 +22,18 @@
 	"google.golang.org/grpc/credentials"
 	"google.golang.org/grpc/credentials/alts/..."
 	"google.golang.org/grpc/credentials/google"
+	"google.golang.org/grpc/credentials/insecure"
+	"google.golang.org/grpc/credentials/local"
 	"google.golang.org/grpc/credentials/oauth"
-	"google.golang.org/grpc/credentials/tls/certprovider"
+	"google.golang.org/grpc/credentials/tls/certprovider/..."
+	"google.golang.org/grpc/credentials/xds"
 	"google.golang.org/grpc/encoding"
+	"google.golang.org/grpc/encoding/gzip"
 	"google.golang.org/grpc/encoding/proto"
 	"google.golang.org/grpc/grpclog"
 	"google.golang.org/grpc/internal/..."
+	"google.golang.org/grpc/interop/grpc_testing"
+	"google.golang.org/grpc/interop/grpc_testing/core"
 	"google.golang.org/grpc/keepalive"
 	"google.golang.org/grpc/metadata"
 	"google.golang.org/grpc/peer"
@@ -37,7 +43,9 @@
 	"google.golang.org/grpc/stats"
 	"google.golang.org/grpc/status"
 	"google.golang.org/grpc/tap"
+	"google.golang.org/grpc/test/codec_perf"
 	"google.golang.org/grpc/test/grpc_testing"
+	"google.golang.org/grpc/testdata"
 )
 
 CROS_GO_TEST=(
@@ -57,11 +65,17 @@
 RESTRICT="binchecks strip"
 
 DEPEND="
+	dev-go/cmp
+	dev-go/cncf-xds
+	dev-go/glog
 	dev-go/ep-gcp
-	dev-go/genproto-rpc
+	dev-go/genproto
 	dev-go/go-sys
 	dev-go/net
 	dev-go/oauth2
+	dev-go/protobuf-legacy-api
+	dev-go/uuid
+	dev-go/xxhash
 	dev-go/yaml:0
 "
 RDEPEND="
diff --git a/dev-go/httprouter/Manifest b/dev-go/httprouter/Manifest
index 3211275..89695de 100644
--- a/dev-go/httprouter/Manifest
+++ b/dev-go/httprouter/Manifest
@@ -1 +1 @@
-DIST github.com-julienschmidt-httprouter-348b672cd90d8190f8240323e372ecd1e66b59dc.tar.gz 22919 SHA256 169cf52235231e26f79d720a3dea7535be2cf8bca0d713a2c37510e7ac32090c SHA512 50ba00f0ce2cc5f2e476bda7175c243e209b9a60cf2190bde1e07bdeee66cacc0c72013a61339d6f2c2a07d83b045811e40cb19560cc63e100a14496f70c0e9a WHIRLPOOL 1b7e8f2aa8bdf6cde1db94aff8b0a61517218ec6e94481ad3f9eb664b86b3b457a9d44de9bf83db923f21798e13f0d8bab0a646bc1d39982924d179269bd6cad
+DIST github.com-julienschmidt-httprouter-v1.3.0.tar.gz 23889 BLAKE2B c4a25bd1ff8a5f74d1eb02bd72f7fef47edd611a19d9e95a4b25e20c1208c5c1f57218ccc303a1c0969be9e5cb247c873efd0a3f78be1511a92d98daa7b04af8 SHA512 71529722382598c69a69b2cf0e92f406698f3ec6effb82a0453beb3fa9578603895028b804c53ca17e0d5306235e83d7b954beef7189a79fad70bc27815b5e76
diff --git a/dev-go/httprouter/httprouter-0.0.1-r1.ebuild b/dev-go/httprouter/httprouter-0.0.1-r1.ebuild
deleted file mode 120000
index e2150a3..0000000
--- a/dev-go/httprouter/httprouter-0.0.1-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-httprouter-0.0.1.ebuild
\ No newline at end of file
diff --git a/dev-go/httprouter/httprouter-0.0.1.ebuild b/dev-go/httprouter/httprouter-0.0.1.ebuild
deleted file mode 100644
index 96db3ba..0000000
--- a/dev-go/httprouter/httprouter-0.0.1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=5
-
-CROS_GO_SOURCE="github.com/julienschmidt/httprouter 348b672cd90d8190f8240323e372ecd1e66b59dc"
-
-CROS_GO_PACKAGES=(
-	"github.com/julienschmidt/httprouter"
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-inherit cros-go
-
-DESCRIPTION="A high performance HTTP request router that scales well"
-HOMEPAGE="https://github.com/julienschmidt/httprouter"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND="!<app-emulation/lxd-3.0.0-r4"
-RDEPEND="${DEPEND}"
diff --git a/dev-go/httprouter/httprouter-1.3.0-r1.ebuild b/dev-go/httprouter/httprouter-1.3.0-r1.ebuild
new file mode 120000
index 0000000..f5fb173
--- /dev/null
+++ b/dev-go/httprouter/httprouter-1.3.0-r1.ebuild
@@ -0,0 +1 @@
+httprouter-1.3.0.ebuild
\ No newline at end of file
diff --git a/dev-go/httprouter/httprouter-1.3.0.ebuild b/dev-go/httprouter/httprouter-1.3.0.ebuild
new file mode 100644
index 0000000..8bba944
--- /dev/null
+++ b/dev-go/httprouter/httprouter-1.3.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/julienschmidt/httprouter v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/julienschmidt/httprouter"
+)
+
+CROS_GO_TEST=(
+	"${CROS_GO_PACKAGES[@]}"
+)
+
+inherit cros-go
+
+DESCRIPTION="A high performance HTTP request router that scales well"
+HOMEPAGE="https://github.com/julienschmidt/httprouter"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND="!<app-emulation/lxd-3.0.0-r4"
+RDEPEND="${DEPEND}"
diff --git a/dev-go/image-spec/Manifest b/dev-go/image-spec/Manifest
new file mode 100644
index 0000000..d8351f6
--- /dev/null
+++ b/dev-go/image-spec/Manifest
@@ -0,0 +1 @@
+DIST github.com-opencontainers-image-spec-v1.0.1.tar.gz 138674 BLAKE2B 4cc13e304c7b328e03b59433b698940094a8d583fc8c7ac1b7245c5dc121c9d6b1b8ed98916b3cb9b2c16ba2c857f613dcfcbb8c3ead2b4bff2fe3d001d289a2 SHA512 762dce11fa262f0417e9bdd20ad4d75b3efa505705b2dd357889e14b4e0120c7655468dc1b998c8dd824ca1ba1f0293671e80d4ab6b21375c80c3ff89cee6d27
diff --git a/dev-go/image-spec/OWNERS b/dev-go/image-spec/OWNERS
new file mode 100644
index 0000000..5bdb162
--- /dev/null
+++ b/dev-go/image-spec/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/tast:/OWNERS
diff --git a/dev-go/image-spec/image-spec-1.0.1-r1.ebuild b/dev-go/image-spec/image-spec-1.0.1-r1.ebuild
new file mode 120000
index 0000000..ebfbc7d
--- /dev/null
+++ b/dev-go/image-spec/image-spec-1.0.1-r1.ebuild
@@ -0,0 +1 @@
+image-spec-1.0.1.ebuild
\ No newline at end of file
diff --git a/dev-go/image-spec/image-spec-1.0.1.ebuild b/dev-go/image-spec/image-spec-1.0.1.ebuild
new file mode 100644
index 0000000..578bb0a
--- /dev/null
+++ b/dev-go/image-spec/image-spec-1.0.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/opencontainers/image-spec v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/opencontainers/image-spec/specs-go"
+	"github.com/opencontainers/image-spec/specs-go/v1"
+)
+
+inherit cros-go
+
+DESCRIPTION="OCI Image Format"
+HOMEPAGE="https://github.com/opencontainers/image-spec"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE="test"
+RESTRICT="binchecks strip"
+DEPEND="
+	dev-go/blackfriday
+	dev-go/errors
+	dev-go/go-digest
+	dev-go/go-spew
+	dev-go/testify
+	dev-go/yaml:3
+"
+RDEPEND="!<=dev-go/docker-20.10.8-r1"
diff --git a/dev-go/infra-proto/infra-proto-0.0.1-r1.ebuild b/dev-go/infra-proto/infra-proto-0.0.1-r2.ebuild
similarity index 100%
rename from dev-go/infra-proto/infra-proto-0.0.1-r1.ebuild
rename to dev-go/infra-proto/infra-proto-0.0.1-r2.ebuild
diff --git a/dev-go/infra-proto/infra-proto-0.0.1.ebuild b/dev-go/infra-proto/infra-proto-0.0.1.ebuild
index 373bfd3..a50d66c 100644
--- a/dev-go/infra-proto/infra-proto-0.0.1.ebuild
+++ b/dev-go/infra-proto/infra-proto-0.0.1.ebuild
@@ -28,5 +28,13 @@
 IUSE=""
 
 DEPEND="
+	chromeos-base/cros-config-api
+	dev-go/genproto
+	dev-go/go-sys
+	dev-go/grpc
+	dev-go/net
+	dev-go/protobuf
+	dev-go/protobuf-legacy-api
+	dev-go/text
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-go/kr-fs/Manifest b/dev-go/kr-fs/Manifest
new file mode 100644
index 0000000..bfa5f6c
--- /dev/null
+++ b/dev-go/kr-fs/Manifest
@@ -0,0 +1 @@
+DIST github.com-kr-fs-v0.1.0.tar.gz 4405 BLAKE2B 9690c456a93d2f298cb7a35e9ed171dbefe11ddca350cbbe8707eb30d89ffe8b73477a2132b1244fa05a3c0187bbd993ed9c3f10fdfe67f721fda644044e2f17 SHA512 1d1d11a08e18272420d739c663a30abaed76d033d8f943459397ade5315244428eadc4cf04c4adb3b65897497c81643d83418ad32802722122a4036427f4a773
diff --git a/dev-go/kr-fs/OWNERS b/dev-go/kr-fs/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/kr-fs/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/kr-fs/kr-fs-0.1.0-r1.ebuild b/dev-go/kr-fs/kr-fs-0.1.0-r1.ebuild
new file mode 120000
index 0000000..01b7e1c
--- /dev/null
+++ b/dev-go/kr-fs/kr-fs-0.1.0-r1.ebuild
@@ -0,0 +1 @@
+kr-fs-0.1.0.ebuild
\ No newline at end of file
diff --git a/dev-go/kr-fs/kr-fs-0.1.0.ebuild b/dev-go/kr-fs/kr-fs-0.1.0.ebuild
new file mode 100644
index 0000000..a687a7b
--- /dev/null
+++ b/dev-go/kr-fs/kr-fs-0.1.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/kr/fs v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/kr/fs"
+)
+
+inherit cros-go
+
+DESCRIPTION="Package fs provides filesystem-related functions."
+HOMEPAGE="https://github.com/kr/fs"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-go/levenshtein/Manifest b/dev-go/levenshtein/Manifest
index 8ec7b0f..88a2424 100644
--- a/dev-go/levenshtein/Manifest
+++ b/dev-go/levenshtein/Manifest
@@ -1 +1 @@
-DIST github.com-texttheater-golang-levenshtein-eb6844b05fc6f7e10932b0621c7f5f7e8890541d.tar.gz 4811 BLAKE2B dec3a8b39249ba2233383149fccf24079e4749721353a67c22898b5704c04aed1e1e149db07ecd0ed15309af377bd6f2e91068d8f6a329f7b80f1b48ffec1856 SHA512 f25f8e351baa659cee514d19cbf30cbb2ded67aececdedcf99be2d08c7fe0ce870d878a076bec3531bec349f4e295839f7131335190d135827f034c314ba37ef
+DIST github.com-texttheater-golang-levenshtein-v1.0.1.tar.gz 4857 BLAKE2B f17a6b131c1b110a9dabfc565df36ba28d8308f8f525a10959970b14afa2b1a575400f6c5bc624f897160983270e8f61dc5b69167578d4a0c1d3d14bf4c01666 SHA512 737f8adc74bfb2164799021e90ecef8e7955653f246431cd5f1c4a026b731a3ca1e3cca30b00ab4885d7833918d399b99bb4dd3490c7333d04b800665e5d4b04
diff --git a/dev-go/levenshtein/levenshtein-0.0.1.ebuild b/dev-go/levenshtein/levenshtein-0.0.1.ebuild
deleted file mode 100644
index 5d88a5e..0000000
--- a/dev-go/levenshtein/levenshtein-0.0.1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=7
-
-CROS_GO_SOURCE=(
-	"github.com/texttheater/golang-levenshtein eb6844b05fc6f7e10932b0621c7f5f7e8890541d"
-)
-
-CROS_GO_PACKAGES=(
-	"github.com/texttheater/golang-levenshtein/levenshtein"
-)
-
-inherit cros-go
-
-DESCRIPTION="Go subcommand library"
-HOMEPAGE="https://github.com/texttheater/golang-levenshtein/levenshtein"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
diff --git a/dev-go/levenshtein/levenshtein-1.0.1-r1.ebuild b/dev-go/levenshtein/levenshtein-1.0.1-r1.ebuild
new file mode 120000
index 0000000..6c1866e
--- /dev/null
+++ b/dev-go/levenshtein/levenshtein-1.0.1-r1.ebuild
@@ -0,0 +1 @@
+levenshtein-1.0.1.ebuild
\ No newline at end of file
diff --git a/dev-go/levenshtein/levenshtein-1.0.1.ebuild b/dev-go/levenshtein/levenshtein-1.0.1.ebuild
new file mode 100644
index 0000000..8f81e72
--- /dev/null
+++ b/dev-go/levenshtein/levenshtein-1.0.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE=(
+	"github.com/texttheater/golang-levenshtein v${PV}"
+)
+
+CROS_GO_PACKAGES=(
+	"github.com/texttheater/golang-levenshtein/levenshtein"
+)
+
+inherit cros-go
+
+DESCRIPTION="Go subcommand library"
+HOMEPAGE="https://github.com/texttheater/golang-levenshtein/levenshtein"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
diff --git a/dev-go/logex/Manifest b/dev-go/logex/Manifest
new file mode 100644
index 0000000..92be0ea
--- /dev/null
+++ b/dev-go/logex/Manifest
@@ -0,0 +1 @@
+DIST github.com-chzyer-logex-v1.2.0.tar.gz 5187 BLAKE2B 56d6e83fd4fabe849d2289cf93c5f78b5647decbb0d17d18cca74d8c40d5d5333e0c660f11cc5c9c1c76efdb95544c157ff74f2631e52ba6d76a3885566fdd09 SHA512 123b6ea64f653777eab3b68ebf9156955725296ea9c01df56cac70f7f3d0aa748a48b727ae28d41c7a0e84c8997cf3ec6090cd4d2247c9a64c5096beaeee5f05
diff --git a/dev-go/logex/OWNERS b/dev-go/logex/OWNERS
new file mode 100644
index 0000000..634b013
--- /dev/null
+++ b/dev-go/logex/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/dev-util:/src/OWNERS
diff --git a/dev-go/logex/logex-1.2.0-r1.ebuild b/dev-go/logex/logex-1.2.0-r1.ebuild
new file mode 120000
index 0000000..204b8b9
--- /dev/null
+++ b/dev-go/logex/logex-1.2.0-r1.ebuild
@@ -0,0 +1 @@
+logex-1.2.0.ebuild
\ No newline at end of file
diff --git a/dev-go/logex/logex-1.2.0.ebuild b/dev-go/logex/logex-1.2.0.ebuild
new file mode 100644
index 0000000..0d4bdbd
--- /dev/null
+++ b/dev-go/logex/logex-1.2.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/chzyer/logex v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/chzyer/logex"
+)
+
+inherit cros-go
+
+DESCRIPTION="An golang log lib, supports tracing and level, wrap by standard log lib."
+HOMEPAGE="https://github.com/chzyer/logex"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+IUSE="test"
+RESTRICT="binchecks strip"
diff --git a/dev-go/logrus/Manifest b/dev-go/logrus/Manifest
new file mode 100644
index 0000000..4cfd65f
--- /dev/null
+++ b/dev-go/logrus/Manifest
@@ -0,0 +1 @@
+DIST github.com-sirupsen-logrus-v1.8.1.tar.gz 47161 BLAKE2B de318638c429c911b472bcf889a41ef5fb53d1399a495f674ac0893bf4c08c267d45f0053be831c81407d9c13403e494ae6273a1f5e3914695340b54861359be SHA512 025e4cc81d32ea3afdf49643180217989be0e842fd5c92c26e10a2dd5dc55a1e6c4102c6af202f65a86dcd061160bc20e66c58a4381325f36b9590ce04c0be39
diff --git a/dev-go/logrus/OWNERS b/dev-go/logrus/OWNERS
new file mode 100644
index 0000000..5bdb162
--- /dev/null
+++ b/dev-go/logrus/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/tast:/OWNERS
diff --git a/dev-go/logrus/logrus-1.8.1-r1.ebuild b/dev-go/logrus/logrus-1.8.1-r1.ebuild
new file mode 120000
index 0000000..01ee594
--- /dev/null
+++ b/dev-go/logrus/logrus-1.8.1-r1.ebuild
@@ -0,0 +1 @@
+logrus-1.8.1.ebuild
\ No newline at end of file
diff --git a/dev-go/logrus/logrus-1.8.1.ebuild b/dev-go/logrus/logrus-1.8.1.ebuild
new file mode 100644
index 0000000..e46f751
--- /dev/null
+++ b/dev-go/logrus/logrus-1.8.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/sirupsen/logrus v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/sirupsen/logrus"
+)
+
+inherit cros-go
+
+DESCRIPTION="Logrus is a structured logger for Go (golang), completely API compatible with the standard library logger."
+HOMEPAGE="https://github.com/sirupsen/logrus"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+IUSE="test"
+RESTRICT="binchecks strip"
+DEPEND="
+	dev-go/go-spew
+	dev-go/go-sys
+	dev-go/testify
+"
+RDEPEND="!<=dev-go/docker-20.10.8-r1"
diff --git a/dev-go/luci-go-common/luci-go-common-0.0.1-r4.ebuild b/dev-go/luci-go-common/luci-go-common-0.0.1-r7.ebuild
similarity index 100%
rename from dev-go/luci-go-common/luci-go-common-0.0.1-r4.ebuild
rename to dev-go/luci-go-common/luci-go-common-0.0.1-r7.ebuild
diff --git a/dev-go/luci-go-common/luci-go-common-0.0.1.ebuild b/dev-go/luci-go-common/luci-go-common-0.0.1.ebuild
index 4570d1e..7f6d196 100644
--- a/dev-go/luci-go-common/luci-go-common-0.0.1.ebuild
+++ b/dev-go/luci-go-common/luci-go-common-0.0.1.ebuild
@@ -16,6 +16,7 @@
 	"go.chromium.org/luci/common/flag"
 	"go.chromium.org/luci/common/iotools"
 	"go.chromium.org/luci/common/logging"
+	"go.chromium.org/luci/common/logging/memlogger"
 	"go.chromium.org/luci/common/proto"
 	"go.chromium.org/luci/common/retry"
 	"go.chromium.org/luci/common/retry/transient"
@@ -51,11 +52,12 @@
 
 DEPEND="
 	dev-go/appengine
-	dev-go/gapi-googleapi
+	dev-go/gapi
 	dev-go/grpc
 	dev-go/httprouter
 	dev-go/klauspost-compress
 	dev-go/protobuf
+	dev-go/protobuf-legacy-api
 	dev-go/starlark-go
 	dev-go/txtpbfmt
 	dev-go/yaml:0
diff --git a/dev-go/martian/Manifest b/dev-go/martian/Manifest
new file mode 100644
index 0000000..e9e7452
--- /dev/null
+++ b/dev-go/martian/Manifest
@@ -0,0 +1 @@
+DIST github.com-google-martian-v3.2.1.tar.gz 160520 BLAKE2B 2fc359d1b48c41ba30b4bfa7155707975c57108707bbba8ac87d9a2a3f9c611e26c7cdbe00a799761501a63944dd5d32a62e280fcae70752fce1a376869dc509 SHA512 88c121dbef194c8f4ed0cb3c0427e98d4cdb5445ef46c54174008fdf0f67da236e55a1ea5a170705e44225a36e42f239d5df95224dabdcca4494401a99e1c44d
diff --git a/dev-go/martian/OWNERS b/dev-go/martian/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/martian/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/martian/martian-3.2.1-r1.ebuild b/dev-go/martian/martian-3.2.1-r1.ebuild
new file mode 120000
index 0000000..cef4bbd
--- /dev/null
+++ b/dev-go/martian/martian-3.2.1-r1.ebuild
@@ -0,0 +1 @@
+martian-3.2.1.ebuild
\ No newline at end of file
diff --git a/dev-go/martian/martian-3.2.1.ebuild b/dev-go/martian/martian-3.2.1.ebuild
new file mode 100644
index 0000000..0f094bd
--- /dev/null
+++ b/dev-go/martian/martian-3.2.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/google/martian:github.com/google/martian/v3 v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/google/martian/v3/..."
+)
+
+CROS_GO_TEST=(
+	"${CROS_GO_PACKAGES[@]}"
+)
+
+inherit cros-go
+
+DESCRIPTION="Martian Proxy is a programmable HTTP proxy designed to be used for testing."
+HOMEPAGE="https://github.com/google/martian"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND="
+	dev-go/protobuf
+	dev-go/protobuf-legacy-api
+	dev-go/snappy
+	dev-go/net
+	dev-go/grpc
+"
+RDEPEND=""
diff --git a/dev-go/maruel-subcommands/Manifest b/dev-go/maruel-subcommands/Manifest
index ccf5bff..84eaec5 100644
--- a/dev-go/maruel-subcommands/Manifest
+++ b/dev-go/maruel-subcommands/Manifest
@@ -1 +1 @@
-DIST github.com-maruel-subcommands-de1d40e70d4b89b9c560a4d308e0bc9f5c9e18d7.tar.gz 14303 BLAKE2B e043f1a18b1e566f62e528e3aa8835de28ed1992215d70ce73366d9558c62f0e8d23a292e0359d59ddaf2a680bba9e4d0345cd6d2795c7c41cf931fd5e8eb8fd SHA512 ce040f09b77f141c6ac89ffca33f571459a47af742567b276c3c333fa89b125db954c14ac4f90e1e6edb531f735cbc85c7badb63de94f820d88c38d0b47e207a
+DIST github.com-maruel-subcommands-v1.1.0.tar.gz 19756 BLAKE2B 2586fb96d335ed1abb9ad3cd6d4e376053b76411e1b271238fd3f18b4de13bb7bd5d5f20dd9764976ea126bea94f0d5d79264218ae3ad813a2c7bff8b77e1809 SHA512 cdb53704a344b2bed9a9cb9fa64fbf69bbe171bf9fa28bd75737af80250dad0bee0d07cec5dee48ee7084d64a147923fdc4c07d0a6d6841dd829e422239a76f7
diff --git a/dev-go/maruel-subcommands/maruel-subcommands-0.0.1-r1.ebuild b/dev-go/maruel-subcommands/maruel-subcommands-0.0.1-r1.ebuild
deleted file mode 120000
index 948cc56..0000000
--- a/dev-go/maruel-subcommands/maruel-subcommands-0.0.1-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-maruel-subcommands-0.0.1.ebuild
\ No newline at end of file
diff --git a/dev-go/maruel-subcommands/maruel-subcommands-0.0.1.ebuild b/dev-go/maruel-subcommands/maruel-subcommands-0.0.1.ebuild
deleted file mode 100644
index 7bdb6dd..0000000
--- a/dev-go/maruel-subcommands/maruel-subcommands-0.0.1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=7
-
-CROS_GO_SOURCE=(
-	"github.com/maruel/subcommands de1d40e70d4b89b9c560a4d308e0bc9f5c9e18d7"
-)
-
-CROS_GO_PACKAGES=(
-	"github.com/maruel/subcommands"
-)
-
-inherit cros-go
-
-DESCRIPTION="Go subcommand library"
-HOMEPAGE="https://github.com/maruel/subcommands"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND="dev-go/levenshtein"
-RDEPEND="${DEPEND}"
diff --git a/dev-go/maruel-subcommands/maruel-subcommands-1.1.0-r1.ebuild b/dev-go/maruel-subcommands/maruel-subcommands-1.1.0-r1.ebuild
new file mode 120000
index 0000000..15a4880
--- /dev/null
+++ b/dev-go/maruel-subcommands/maruel-subcommands-1.1.0-r1.ebuild
@@ -0,0 +1 @@
+maruel-subcommands-1.1.0.ebuild
\ No newline at end of file
diff --git a/dev-go/maruel-subcommands/maruel-subcommands-1.1.0.ebuild b/dev-go/maruel-subcommands/maruel-subcommands-1.1.0.ebuild
new file mode 100644
index 0000000..836e857
--- /dev/null
+++ b/dev-go/maruel-subcommands/maruel-subcommands-1.1.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE=(
+	"github.com/maruel/subcommands v${PV}"
+)
+
+CROS_GO_PACKAGES=(
+	"github.com/maruel/subcommands"
+)
+
+inherit cros-go
+
+DESCRIPTION="Go subcommand library"
+HOMEPAGE="https://github.com/maruel/subcommands"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND="
+	dev-go/cmp
+	dev-go/levenshtein
+	dev-go/kr-text
+	dev-go/pretty
+	dev-go/utiltest
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-go/mdns/Manifest b/dev-go/mdns/Manifest
index f6164aa..e338703 100644
--- a/dev-go/mdns/Manifest
+++ b/dev-go/mdns/Manifest
@@ -1,2 +1 @@
-DIST github.com-hashicorp-go.net-104dcad90073cd8d1e6828b2af19185b60cf3e29.tar.gz 394355 SHA256 a1f2288249b19b0c4769c218a11558826e349d15fde8905e63497e5347026b7d SHA512 a77934ad0883b06fc61c7878a7b16fdf410e853a9ef2c45dac6bc3b6823185d4fbcaf8a1791266481bbe8a299af7a29c55e4f753922a08714e2e2d9ec4ebe249 WHIRLPOOL 4f1b479416de0325961e17037a1d18f4e5543a1f5e59ca2cca91ccc842d344baf3e790f7e2ce90c7c237667f1770a265fa5476324be6a67060ba08f7bbfe00a3
-DIST github.com-hashicorp-mdns-4e527d9d808175f132f949523e640c699e4253bb.tar.gz 10733 SHA256 594a65cc1ab357f72d7022269e6e9bd3a81c8fe417062bcc2d812f6580a38b73 SHA512 c72cffa1ddcf50d85fd506539b46c4c6208091c68325fb0dd0981ee76b9dde1eeccafc034bdf3c33fbe0194863a862569e8c38eb7a84477e27aec7e4afbcf79c WHIRLPOOL f4ebb83a156d6edd0718e5c31205a4a046c9ef1281dbeef5d9ea4216cd4b58f56e706b337a173853215d9d3aacd858bd781b6d4b9a2fe260c1431abf272dda8f
+DIST github.com-hashicorp-mdns-v1.0.5.tar.gz 11985 BLAKE2B 3bd2fb9074d517d1ab4ded3e8167070714c5c85acb7e2ccaa9f0eb539df0042e104801375d8d0ad82e6d7d105a6c60654fa70ad29bca92ffa3eb179e1c5e0065 SHA512 bbe7314c810419e9fdfcf1173b68376db36d51fad7bc1df6fde21239fa9472bd194e06f495dcdf442b709e721dafef0bc5cde0680dd9ec7e2102aef10ac02e5e
diff --git a/dev-go/mdns/mdns-0.0.1-r1.ebuild b/dev-go/mdns/mdns-0.0.1-r1.ebuild
deleted file mode 120000
index f0615ae..0000000
--- a/dev-go/mdns/mdns-0.0.1-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-mdns-0.0.1.ebuild
\ No newline at end of file
diff --git a/dev-go/mdns/mdns-0.0.1.ebuild b/dev-go/mdns/mdns-0.0.1.ebuild
deleted file mode 100644
index 60ce63b..0000000
--- a/dev-go/mdns/mdns-0.0.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=5
-
-CROS_GO_SOURCE=(
-	"github.com/hashicorp/go.net 104dcad90073cd8d1e6828b2af19185b60cf3e29"
-	"github.com/hashicorp/mdns 4e527d9d808175f132f949523e640c699e4253bb"
-)
-
-CROS_GO_PACKAGES=(
-	"github.com/hashicorp/go.net/internal/iana"
-	"github.com/hashicorp/go.net/ipv4"
-	"github.com/hashicorp/go.net/ipv6"
-	"github.com/hashicorp/mdns"
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-inherit cros-go
-
-DESCRIPTION="Simple mDNS client/server library in Golang"
-HOMEPAGE="https://github.com/hashicorp/mdns"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND="dev-go/dns"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
-	epatch "${FILESDIR}/gonet-arm64.patch"
-}
diff --git a/dev-go/mdns/mdns-1.0.5-r1.ebuild b/dev-go/mdns/mdns-1.0.5-r1.ebuild
new file mode 120000
index 0000000..32e8335
--- /dev/null
+++ b/dev-go/mdns/mdns-1.0.5-r1.ebuild
@@ -0,0 +1 @@
+mdns-1.0.5.ebuild
\ No newline at end of file
diff --git a/dev-go/mdns/mdns-1.0.5.ebuild b/dev-go/mdns/mdns-1.0.5.ebuild
new file mode 100644
index 0000000..756738f
--- /dev/null
+++ b/dev-go/mdns/mdns-1.0.5.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE=(
+	"github.com/hashicorp/mdns v${PV}"
+)
+
+CROS_GO_PACKAGES=(
+	"github.com/hashicorp/mdns"
+)
+
+CROS_GO_TEST=(
+	"${CROS_GO_PACKAGES[@]}"
+)
+
+inherit cros-go
+
+DESCRIPTION="Simple mDNS client/server library in Golang"
+HOMEPAGE="https://github.com/hashicorp/mdns"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND="
+	dev-go/dns
+	dev-go/net
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-go/metadata.xml b/dev-go/metadata.xml
deleted file mode 100644
index 171a78d..0000000
--- a/dev-go/metadata.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The dev-go category contains libraries and utilities relevant to the
-		Go programming language.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie dev-go enthält Bibliotheken und Werkzeuge für die
-		Programmiersprache Go.
-	</longdescription>
-	<longdescription lang="fi">
-		Kategoria dev-go sisältää kirjastoja ja työkaluja
-		Go-ohjelmointikielen hyödyntämiseen.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría dev-go contiene librerias y utilidades para el lenguaje
-		de programación Go.
-	</longdescription>
-	<longdescription lang="ja">
-		dev-go カテゴリーにはGoプログラミング言語に関連したライブラリーと
-		ユーティリティが含まれます。
-	</longdescription>
-	<longdescription lang="nl">
-		De dev-go categorie bevat bibliotheken en hulpmiddelen voor het gebruik
-		van de programmeertaal Go.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm dev-go chứa các thư viện và tiện ích liên quan
-		đến ngôn ngữ lập trình Go.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria dev-go contiene librerie ed utilità per il linguaggio Go.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria dev-go contém bibliotecas e utilitários para a
-		linguagem de programação Go.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria dev-go zawiera biblioteki i narzędzia związane z
-		z językiem programowania Go.
-	</longdescription>
-</catmetadata>
diff --git a/dev-go/mock/mock-1.6.0-r1.ebuild b/dev-go/mock/mock-1.6.0-r2.ebuild
similarity index 100%
rename from dev-go/mock/mock-1.6.0-r1.ebuild
rename to dev-go/mock/mock-1.6.0-r2.ebuild
diff --git a/dev-go/mock/mock-1.6.0.ebuild b/dev-go/mock/mock-1.6.0.ebuild
index 8aa1260..71b4ae63 100644
--- a/dev-go/mock/mock-1.6.0.ebuild
+++ b/dev-go/mock/mock-1.6.0.ebuild
@@ -7,6 +7,7 @@
 
 CROS_GO_PACKAGES=(
 	"github.com/golang/mock/gomock"
+	"github.com/golang/mock/gomock/internal/mock_gomock"
 	"github.com/golang/mock/mockgen/model"
 )
 
diff --git a/dev-go/mp4/mp4-0.0.1-r5.ebuild b/dev-go/mp4/mp4-0.0.1-r7.ebuild
similarity index 100%
rename from dev-go/mp4/mp4-0.0.1-r5.ebuild
rename to dev-go/mp4/mp4-0.0.1-r7.ebuild
diff --git a/dev-go/mp4/mp4-0.0.1.ebuild b/dev-go/mp4/mp4-0.0.1.ebuild
index cb4da4b..4b22064 100644
--- a/dev-go/mp4/mp4-0.0.1.ebuild
+++ b/dev-go/mp4/mp4-0.0.1.ebuild
@@ -23,7 +23,12 @@
 
 DEPEND="
 	dev-go/bufseekio
+	dev-go/writeseeker
 	dev-go/crypto
+	dev-go/go-spew
+	dev-go/uuid
+	dev-go/testify
+	dev-go/go-billy
 	dev-go/yaml:0
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-go/net/net-0.0.1-r11.ebuild b/dev-go/net/net-0.0.1-r13.ebuild
similarity index 100%
rename from dev-go/net/net-0.0.1-r11.ebuild
rename to dev-go/net/net-0.0.1-r13.ebuild
diff --git a/dev-go/net/net-0.0.1.ebuild b/dev-go/net/net-0.0.1.ebuild
index d4dcdfc..48f9479 100644
--- a/dev-go/net/net-0.0.1.ebuild
+++ b/dev-go/net/net-0.0.1.ebuild
@@ -16,6 +16,7 @@
 	"golang.org/x/net/http/httpproxy"
 	"golang.org/x/net/http2"
 	"golang.org/x/net/http2/hpack"
+	"golang.org/x/net/icmp"
 	"golang.org/x/net/idna"
 	"golang.org/x/net/internal/iana"
 	"golang.org/x/net/internal/socket"
@@ -27,6 +28,7 @@
 	"golang.org/x/net/proxy"
 	"golang.org/x/net/publicsuffix"
 	"golang.org/x/net/trace"
+	"golang.org/x/net/websocket"
 )
 
 CROS_GO_TEST=(
diff --git a/dev-go/oauth2/oauth2-0.0.1-r7.ebuild b/dev-go/oauth2/oauth2-0.0.1-r9.ebuild
similarity index 100%
rename from dev-go/oauth2/oauth2-0.0.1-r7.ebuild
rename to dev-go/oauth2/oauth2-0.0.1-r9.ebuild
diff --git a/dev-go/oauth2/oauth2-0.0.1.ebuild b/dev-go/oauth2/oauth2-0.0.1.ebuild
index f951bfc..a810f51 100644
--- a/dev-go/oauth2/oauth2-0.0.1.ebuild
+++ b/dev-go/oauth2/oauth2-0.0.1.ebuild
@@ -37,7 +37,9 @@
 RESTRICT="binchecks strip"
 
 DEPEND="
+	dev-go/gcp
 	dev-go/gcp-compute
+	dev-go/net
 	dev-go/yaml:0
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-go/objx/Manifest b/dev-go/objx/Manifest
new file mode 100644
index 0000000..2b318da
--- /dev/null
+++ b/dev-go/objx/Manifest
@@ -0,0 +1 @@
+DIST github.com-stretchr-objx-v0.3.0.tar.gz 80456 BLAKE2B 8411f708b48e5e77599ec770ce18c56ce2f4b89448638d27d4e263ac78974e0afb4da7179b87a9ede6c91ace3b23315b994606ca1a58f01a6936d8cbd016db9b SHA512 bd831d8f44d7d3ef8ad32cada055c58b16ac7a87a8f142b58ce1bce4a2b2d7a45d285f4547b9b5c4cb8edf80fbf57fc61ca6d239a765a20d69e88b5cfbd62252
diff --git a/dev-go/objx/OWNERS b/dev-go/objx/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/objx/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/objx/objx-0.3.0.ebuild b/dev-go/objx/objx-0.3.0.ebuild
new file mode 100644
index 0000000..1756dc0
--- /dev/null
+++ b/dev-go/objx/objx-0.3.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/stretchr/objx v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/stretchr/objx"
+)
+
+inherit cros-go
+
+DESCRIPTION="Go package for dealing with maps, slices, JSON and other data."
+HOMEPAGE="https://github.com/stretchr/objx"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+IUSE="test"
+RESTRICT="binchecks strip"
+
+DEPEND="dev-go/go-spew"
+RDEPEND=""
diff --git a/dev-go/opencensus/opencensus-0.23.0-r1.ebuild b/dev-go/opencensus/opencensus-0.23.0-r6.ebuild
similarity index 100%
rename from dev-go/opencensus/opencensus-0.23.0-r1.ebuild
rename to dev-go/opencensus/opencensus-0.23.0-r6.ebuild
diff --git a/dev-go/opencensus/opencensus-0.23.0.ebuild b/dev-go/opencensus/opencensus-0.23.0.ebuild
index ff9b466..111cd68 100644
--- a/dev-go/opencensus/opencensus-0.23.0.ebuild
+++ b/dev-go/opencensus/opencensus-0.23.0.ebuild
@@ -10,11 +10,15 @@
 	"go.opencensus.io/exporter/stackdriver/propagation"
 	"go.opencensus.io/internal"
 	"go.opencensus.io/internal/tagencoding"
+	"go.opencensus.io/internal/testpb"
+	"go.opencensus.io/metric"
 	"go.opencensus.io/metric/metricdata"
+	"go.opencensus.io/metric/metricexport"
 	"go.opencensus.io/metric/metricproducer"
 	"go.opencensus.io/plugin/ocgrpc"
 	"go.opencensus.io/plugin/ochttp"
 	"go.opencensus.io/plugin/ochttp/propagation/b3"
+	"go.opencensus.io/plugin/ochttp/propagation/tracecontext"
 	"go.opencensus.io/resource"
 	"go.opencensus.io/stats"
 	"go.opencensus.io/stats/internal"
@@ -40,9 +44,15 @@
 RESTRICT="binchecks strip"
 
 DEPEND="
-	dev-go/gapi-bundler
+	dev-go/appengine
+	dev-go/cmp
+	dev-go/gapi
 	dev-go/genproto
 	dev-go/golang-groupcache
+	dev-go/grpc
+	dev-go/net
 	dev-go/protobuf
+	dev-go/protobuf-legacy-api
+	dev-go/testify
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-go/perfetto-protos/files/revision_bump b/dev-go/perfetto-protos/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/dev-go/perfetto-protos/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/dev-go/perfetto-protos/perfetto-protos-17.0-r1186.ebuild b/dev-go/perfetto-protos/perfetto-protos-17.0-r1186.ebuild
new file mode 100644
index 0000000..6b60028
--- /dev/null
+++ b/dev-go/perfetto-protos/perfetto-protos-17.0-r1186.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("9b95139ed2811e3ff27912bfaf31c8ace8dc4a14" "dbb1136242ba822d539eaf11493f3b68815adb7f")
+CROS_WORKON_TREE=("b64a8926dd779c2ee2ae89e9073436d8c49693e5" "60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_GO_PACKAGES=(
+	"android.googlesource.com/platform/external/perfetto/protos/perfetto/metrics/github.com/google/perfetto/perfetto_proto"
+	"android.googlesource.com/platform/external/perfetto/protos/perfetto/trace/github.com/google/perfetto/perfetto_proto"
+)
+
+inherit cros-constants
+
+CROS_WORKON_LOCALNAME=("../aosp/external/perfetto" "../platform2")
+CROS_WORKON_PROJECT=("platform/external/perfetto" "chromiumos/platform2")
+CROS_WORKON_REPO=("${CROS_GIT_AOSP_URL}" "${CROS_GIT_HOST_URL}")
+CROS_WORKON_DESTDIR=("${S}/aosp/external/perfetto" "${S}/platform2")
+CROS_WORKON_EGIT_BRANCH=("master" "main")
+CROS_WORKON_SUBTREE=("" "common-mk .gn")
+
+PLATFORM_SUBDIR="./"
+
+inherit cros-go cros-workon platform
+
+DESCRIPTION="Perfetto go proto for Chrome OS"
+HOMEPAGE="https://android.googlesource.com/platform/external/perfetto/+/refs/heads/master/protos/perfetto/metrics/android/"
+
+KEYWORDS="*"
+IUSE="cros-debug"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+# protobuf dep is for using protoc at build-time to generate perfetto's headers.
+BDEPEND="
+	dev-go/protobuf
+	dev-go/protobuf-legacy-api
+"
+
+RDEPEND="
+	!chromeos-base/perfetto_proto
+"
+
+src_unpack() {
+	platform_src_unpack
+	CROS_GO_WORKSPACE="${OUT}/gen/go"
+}
+
+src_prepare() {
+	default
+	cp "${FILESDIR}/BUILD.gn" "${S}"
+}
+
+src_install() {
+	cros-go_src_install
+}
diff --git a/dev-go/perfetto-protos/perfetto-protos-17.0-r466.ebuild b/dev-go/perfetto-protos/perfetto-protos-17.0-r466.ebuild
deleted file mode 100644
index fa08902..0000000
--- a/dev-go/perfetto-protos/perfetto-protos-17.0-r466.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("54ba566cdda23803c888afe5b664005be30d06e0" "af52fce7e3f86fc8e8ced8d19ce51f33563fb028")
-CROS_WORKON_TREE=("f3a7d714c5347d6f6759ad5df809eddccaf45a61" "a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_GO_PACKAGES=(
-	"android.googlesource.com/platform/external/perfetto/protos/perfetto/metrics/github.com/google/perfetto/perfetto_proto"
-	"android.googlesource.com/platform/external/perfetto/protos/perfetto/trace/github.com/google/perfetto/perfetto_proto"
-)
-
-inherit cros-constants
-
-CROS_WORKON_LOCALNAME=("../aosp/external/perfetto" "../platform2")
-CROS_WORKON_PROJECT=("platform/external/perfetto" "chromiumos/platform2")
-CROS_WORKON_REPO=("${CROS_GIT_AOSP_URL}" "${CROS_GIT_HOST_URL}")
-CROS_WORKON_DESTDIR=("${S}/aosp/external/perfetto" "${S}/platform2")
-CROS_WORKON_EGIT_BRANCH=("master" "main")
-CROS_WORKON_SUBTREE=("" "common-mk .gn")
-
-PLATFORM_SUBDIR="./"
-
-inherit cros-go cros-workon platform
-
-DESCRIPTION="Perfetto go proto for Chrome OS"
-HOMEPAGE="https://android.googlesource.com/platform/external/perfetto/+/refs/heads/master/protos/perfetto/metrics/android/"
-
-KEYWORDS="*"
-IUSE="cros-debug"
-LICENSE="Apache-2.0"
-SLOT="0"
-
-# protobuf dep is for using protoc at build-time to generate perfetto's headers.
-BDEPEND="
-	dev-go/protobuf
-"
-
-RDEPEND="
-	!chromeos-base/perfetto_proto
-"
-
-src_unpack() {
-	platform_src_unpack
-	CROS_GO_WORKSPACE="${OUT}/gen/go"
-}
-
-src_prepare() {
-	default
-	cp "${FILESDIR}/BUILD.gn" "${S}"
-}
-
-src_install() {
-	cros-go_src_install
-}
diff --git a/dev-go/perfetto-protos/perfetto-protos-9999.ebuild b/dev-go/perfetto-protos/perfetto-protos-9999.ebuild
index ae55966..30a48cc 100644
--- a/dev-go/perfetto-protos/perfetto-protos-9999.ebuild
+++ b/dev-go/perfetto-protos/perfetto-protos-9999.ebuild
@@ -32,6 +32,7 @@
 # protobuf dep is for using protoc at build-time to generate perfetto's headers.
 BDEPEND="
 	dev-go/protobuf
+	dev-go/protobuf-legacy-api
 "
 
 RDEPEND="
diff --git a/dev-go/pprof/Manifest b/dev-go/pprof/Manifest
new file mode 100644
index 0000000..91caef2
--- /dev/null
+++ b/dev-go/pprof/Manifest
@@ -0,0 +1 @@
+DIST github.com-google-pprof-513e8ac6eea103037e9be150bd17ceccacbe7bf6.tar.gz 1723587 BLAKE2B 8cb79ae5fce53b1b773bc4719e5a5418dd7fc86ee8183e7130ad79b934add7c340cbac5fb11b3bd31f7720c0c6c822c66cb011353d28afd0eb45cfec1f008c95 SHA512 9b65c3bf170e6af7cefb45d8e8fd8507ca11e1eccdb4bfe4aa7aa56f417494f8460d06da9ca486006b73823d4ea917b553dcb101ea1642deeb125ad3cafb96cb
diff --git a/dev-go/pprof/OWNERS b/dev-go/pprof/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/pprof/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/pprof/pprof-0.0.1-r1.ebuild b/dev-go/pprof/pprof-0.0.1-r1.ebuild
new file mode 120000
index 0000000..9a4e5ac
--- /dev/null
+++ b/dev-go/pprof/pprof-0.0.1-r1.ebuild
@@ -0,0 +1 @@
+pprof-0.0.1.ebuild
\ No newline at end of file
diff --git a/dev-go/pprof/pprof-0.0.1.ebuild b/dev-go/pprof/pprof-0.0.1.ebuild
new file mode 100644
index 0000000..4b469d0
--- /dev/null
+++ b/dev-go/pprof/pprof-0.0.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/google/pprof 513e8ac6eea103037e9be150bd17ceccacbe7bf6"
+
+CROS_GO_PACKAGES=(
+	"github.com/google/pprof/driver"
+	"github.com/google/pprof/internal/..."
+	"github.com/google/pprof/profile"
+	"github.com/google/pprof/third_party/..."
+)
+
+CROS_GO_BINARIES=(
+	"github.com/google/pprof/pprof.go"
+)
+
+inherit cros-go
+
+DESCRIPTION="pprof is a tool for visualization and analysis of profiling data "
+HOMEPAGE="https://github.com/google/pprof"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND="
+	dev-go/demangle
+	dev-go/logex
+	dev-go/readline
+	dev-go/test
+	dev-go/go-sys
+"
+RDEPEND=""
diff --git a/dev-go/protobuf-legacy-api/Manifest b/dev-go/protobuf-legacy-api/Manifest
new file mode 100644
index 0000000..49aa779
--- /dev/null
+++ b/dev-go/protobuf-legacy-api/Manifest
@@ -0,0 +1 @@
+DIST github.com-golang-protobuf-v1.5.2.tar.gz 171702 BLAKE2B 4b1b0936aed1919f3ec967648d15a0c533b57d9d19d3c80c8d4149345bf6bda096d6b5cfd5c49ef5e76eb7358e694fc159d16faedb096faf81e82e425377892d SHA512 5707936f2ea9493d2f3897a3ec04139afcc00b3dbfaa2142b56a492d356bc17e26237c74788b047592a0fa89c0078b7970dbf481f7c33a7a63c5f50557779590
diff --git a/dev-go/protobuf-legacy-api/OWNERS b/dev-go/protobuf-legacy-api/OWNERS
new file mode 100644
index 0000000..5bdb162
--- /dev/null
+++ b/dev-go/protobuf-legacy-api/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/tast:/OWNERS
diff --git a/dev-go/protobuf-legacy-api/protobuf-legacy-api-1.5.2-r4.ebuild b/dev-go/protobuf-legacy-api/protobuf-legacy-api-1.5.2-r4.ebuild
new file mode 120000
index 0000000..a6d4b3f
--- /dev/null
+++ b/dev-go/protobuf-legacy-api/protobuf-legacy-api-1.5.2-r4.ebuild
@@ -0,0 +1 @@
+protobuf-legacy-api-1.5.2.ebuild
\ No newline at end of file
diff --git a/dev-go/protobuf-legacy-api/protobuf-legacy-api-1.5.2.ebuild b/dev-go/protobuf-legacy-api/protobuf-legacy-api-1.5.2.ebuild
new file mode 100644
index 0000000..502dd7a
--- /dev/null
+++ b/dev-go/protobuf-legacy-api/protobuf-legacy-api-1.5.2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE=(
+	"github.com/golang/protobuf v1.5.2"
+)
+
+CROS_GO_PACKAGES=(
+	"github.com/golang/protobuf/descriptor"
+	"github.com/golang/protobuf/internal/gengogrpc"
+	"github.com/golang/protobuf/internal/testprotos/proto2_proto"
+	"github.com/golang/protobuf/internal/testprotos/proto3_proto"
+	"github.com/golang/protobuf/internal/testprotos/jsonpb_proto"
+	"github.com/golang/protobuf/jsonpb"
+	"github.com/golang/protobuf/proto"
+	"github.com/golang/protobuf/protoc-gen-go"
+	"github.com/golang/protobuf/protoc-gen-go/descriptor"
+	"github.com/golang/protobuf/ptypes/..."
+)
+
+CROS_GO_BINARIES=(
+	"github.com/golang/protobuf/protoc-gen-go"
+)
+
+inherit cros-go
+
+DESCRIPTION="Legacy Go API support for Google's protocol buffers"
+HOMEPAGE="https://github.com/golang/protobuf"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="test"
+RESTRICT="binchecks strip"
+
+DEPEND="
+	dev-go/cmp
+	dev-go/protobuf
+	test? ( dev-go/sync )
+"
+RDEPEND="
+	dev-go/protobuf
+"
diff --git a/dev-go/protobuf/protobuf-1.27.1-r1.ebuild b/dev-go/protobuf/protobuf-1.27.1-r2.ebuild
similarity index 100%
rename from dev-go/protobuf/protobuf-1.27.1-r1.ebuild
rename to dev-go/protobuf/protobuf-1.27.1-r2.ebuild
diff --git a/dev-go/protobuf/protobuf-1.27.1.ebuild b/dev-go/protobuf/protobuf-1.27.1.ebuild
index 6334767..327cef0 100644
--- a/dev-go/protobuf/protobuf-1.27.1.ebuild
+++ b/dev-go/protobuf/protobuf-1.27.1.ebuild
@@ -1,19 +1,15 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2.
 
-EAPI=5
+EAPI=7
 
 CROS_GO_SOURCE=(
-	"github.com/golang/protobuf v1.5.2"
 	"github.com/protocolbuffers/protobuf-go:google.golang.org/protobuf v${PV}"
 )
 
 CROS_GO_PACKAGES=(
-	"github.com/golang/protobuf/descriptor"
-	"github.com/golang/protobuf/jsonpb"
-	"github.com/golang/protobuf/proto"
-	"github.com/golang/protobuf/protoc-gen-go/descriptor"
-	"github.com/golang/protobuf/ptypes/..."
+	"google.golang.org/protobuf/cmd/protoc-gen-go/internal_gengo"
+	"google.golang.org/protobuf/compiler/protogen"
 	"google.golang.org/protobuf/encoding/..."
 	"google.golang.org/protobuf/internal/descfmt"
 	"google.golang.org/protobuf/internal/descopts"
@@ -28,8 +24,11 @@
 	"google.golang.org/protobuf/internal/msgfmt"
 	"google.golang.org/protobuf/internal/order"
 	"google.golang.org/protobuf/internal/pragma"
+	"google.golang.org/protobuf/internal/protobuild"
+	"google.golang.org/protobuf/internal/protolegacy"
 	"google.golang.org/protobuf/internal/set"
 	"google.golang.org/protobuf/internal/strs"
+	"google.golang.org/protobuf/internal/testprotos/..."
 	"google.golang.org/protobuf/internal/version"
 	"google.golang.org/protobuf/proto"
 	"google.golang.org/protobuf/reflect/..."
@@ -38,10 +37,6 @@
 	"google.golang.org/protobuf/types/..."
 )
 
-CROS_GO_BINARIES=(
-	"github.com/golang/protobuf/protoc-gen-go"
-)
-
 inherit cros-go
 
 DESCRIPTION="Go support for Google's protocol buffers"
diff --git a/dev-go/protoc-gen-go-grpc/Manifest b/dev-go/protoc-gen-go-grpc/Manifest
new file mode 100644
index 0000000..6d6b82f
--- /dev/null
+++ b/dev-go/protoc-gen-go-grpc/Manifest
@@ -0,0 +1 @@
+DIST github.com-grpc-grpc-go-v1.42.0.tar.gz 1376631 BLAKE2B c0a09d964f4d5b2f63e1bf9324222ce6e061e622ce73eaf26d3a72269d20d3caff8d308ec94b36379e662539d95028fefc012f80c2babecac68073d6aa9caa97 SHA512 ff22842854ef4b3cfd842b344f3ac3641a815e1383b86fee90bfeeaeb7ee47aed9297379132a15d640c57bcb8b36da45c63f0437465c38122cbe941b52b7597c
diff --git a/dev-go/protoc-gen-go-grpc/OWNERS b/dev-go/protoc-gen-go-grpc/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/protoc-gen-go-grpc/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/protoc-gen-go-grpc/protoc-gen-go-grpc-1.42.0-r1.ebuild b/dev-go/protoc-gen-go-grpc/protoc-gen-go-grpc-1.42.0-r1.ebuild
new file mode 120000
index 0000000..84bd5a5
--- /dev/null
+++ b/dev-go/protoc-gen-go-grpc/protoc-gen-go-grpc-1.42.0-r1.ebuild
@@ -0,0 +1 @@
+protoc-gen-go-grpc-1.42.0.ebuild
\ No newline at end of file
diff --git a/dev-go/protoc-gen-go-grpc/protoc-gen-go-grpc-1.42.0.ebuild b/dev-go/protoc-gen-go-grpc/protoc-gen-go-grpc-1.42.0.ebuild
new file mode 100644
index 0000000..32d4107
--- /dev/null
+++ b/dev-go/protoc-gen-go-grpc/protoc-gen-go-grpc-1.42.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=5
+
+# The dev-go/grpc* packages are all built from this repo.  They should
+# be updated together.
+CROS_GO_SOURCE="github.com/grpc/grpc-go:google.golang.org/grpc v${PV}"
+
+CROS_GO_PACKAGES=(
+	"google.golang.org/grpc/cmd/protoc-gen-go-grpc"
+)
+
+CROS_GO_BINARIES=(
+	"google.golang.org/grpc/cmd/protoc-gen-go-grpc"
+)
+
+CROS_GO_TEST=(
+	"${CROS_GO_PACKAGES[@]}"
+)
+
+inherit cros-go
+
+DESCRIPTION="This tool generates Go language bindings of services in protobuf definition files for gRPC."
+HOMEPAGE="https://grpc.io/"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND="dev-go/protobuf"
+RDEPEND=""
diff --git a/dev-go/readline/readline-0.0.1.ebuild b/dev-go/readline/readline-0.0.1.ebuild
deleted file mode 100644
index 1b3d1d2..0000000
--- a/dev-go/readline/readline-0.0.1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=5
-
-CROS_GO_SOURCE="github.com/chzyer/readline v1.4"
-
-CROS_GO_PACKAGES=(
-	"github.com/chzyer/readline"
-)
-
-CROS_GO_TEST=(
-	"github.com/chzyer/readline"
-)
-
-inherit cros-go
-
-DESCRIPTION="Readline is a pure go implementation for GNU-Readline kind library"
-HOMEPAGE="https://https://github.com/chzyer/readline"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND=""
-RDEPEND=""
diff --git a/dev-go/readline/readline-1.4-r1.ebuild b/dev-go/readline/readline-1.4-r1.ebuild
new file mode 120000
index 0000000..43a26a5
--- /dev/null
+++ b/dev-go/readline/readline-1.4-r1.ebuild
@@ -0,0 +1 @@
+readline-1.4.ebuild
\ No newline at end of file
diff --git a/dev-go/readline/readline-1.4.ebuild b/dev-go/readline/readline-1.4.ebuild
new file mode 100644
index 0000000..22b293b
--- /dev/null
+++ b/dev-go/readline/readline-1.4.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=5
+
+CROS_GO_SOURCE="github.com/chzyer/readline v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/chzyer/readline"
+)
+
+CROS_GO_TEST=(
+	"github.com/chzyer/readline"
+)
+
+inherit cros-go
+
+DESCRIPTION="Readline is a pure go implementation for GNU-Readline kind library"
+HOMEPAGE="https://https://github.com/chzyer/readline"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-go/sftp/Manifest b/dev-go/sftp/Manifest
new file mode 100644
index 0000000..9f7d48d
--- /dev/null
+++ b/dev-go/sftp/Manifest
@@ -0,0 +1 @@
+DIST github.com-pkg-sftp-v1.13.4.tar.gz 115059 BLAKE2B 1b94dd5567f26518d03e31a143e888f3f3733cb723e1b3c506a05eaeda7e3a6253554d7aa36cd93945cecf5358891b0d0789fdf95f66a2af4313a12bad2174be SHA512 e3aac6ae401e5b311470003dfbf96a1f518d5ce9df19bab82486fd27d22349ae05b8891696aa01ff46ad1006b2a00b0422df552e0289ed8fa056c3187a3fc8a7
diff --git a/dev-go/sftp/OWNERS b/dev-go/sftp/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/sftp/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/sftp/sftp-1.13.4-r1.ebuild b/dev-go/sftp/sftp-1.13.4-r1.ebuild
new file mode 120000
index 0000000..fc12028
--- /dev/null
+++ b/dev-go/sftp/sftp-1.13.4-r1.ebuild
@@ -0,0 +1 @@
+sftp-1.13.4.ebuild
\ No newline at end of file
diff --git a/dev-go/sftp/sftp-1.13.4.ebuild b/dev-go/sftp/sftp-1.13.4.ebuild
new file mode 100644
index 0000000..637ef82
--- /dev/null
+++ b/dev-go/sftp/sftp-1.13.4.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/pkg/sftp v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/pkg/sftp"
+	"github.com/pkg/sftp/internal/encoding/ssh/filexfer"
+)
+
+inherit cros-go
+
+DESCRIPTION="The sftp package provides support for file system operations on remote ssh servers using the SFTP subsystem. "
+HOMEPAGE="https://github.com/pkg/sftp"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND="
+	dev-go/crypto
+	dev-go/go-sys
+	dev-go/kr-fs
+	dev-go/testify
+"
+RDEPEND=""
diff --git a/dev-go/snappy/Manifest b/dev-go/snappy/Manifest
new file mode 100644
index 0000000..5974f18
--- /dev/null
+++ b/dev-go/snappy/Manifest
@@ -0,0 +1 @@
+DIST github.com-golang-snappy-v0.0.3.tar.gz 65976 BLAKE2B b89a3b14a52f9fa4d4ea35469f34d77857cae03503c1d29d3cea0836bf3a766eeb01e65e43a1d4e0c65e99150f784979dddec27adea120a7c0616a8704bf30f0 SHA512 a8abb54ee68e86851bf2632e0b0fc8df9239c0bc25a518febd1e07bdbbbdfb8d03780993a398a050b4c6ee2d72f6b10fa60db592780014755fbd26180391b292
diff --git a/dev-go/snappy/OWNERS b/dev-go/snappy/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/snappy/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/snappy/snappy-0.0.3-r1.ebuild b/dev-go/snappy/snappy-0.0.3-r1.ebuild
new file mode 120000
index 0000000..416512d07
--- /dev/null
+++ b/dev-go/snappy/snappy-0.0.3-r1.ebuild
@@ -0,0 +1 @@
+snappy-0.0.3.ebuild
\ No newline at end of file
diff --git a/dev-go/snappy/snappy-0.0.3.ebuild b/dev-go/snappy/snappy-0.0.3.ebuild
new file mode 100644
index 0000000..91bddbb
--- /dev/null
+++ b/dev-go/snappy/snappy-0.0.3.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/golang/snappy v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/golang/snappy"
+)
+
+CROS_GO_TEST=(
+	"${CROS_GO_PACKAGES[@]}"
+)
+
+inherit cros-go
+
+DESCRIPTION="The Snappy compression format in the Go programming language."
+HOMEPAGE="https://github.com/golang/snappy"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-go/starlark-go/starlark-go-0.0.1-r2.ebuild b/dev-go/starlark-go/starlark-go-0.0.1-r4.ebuild
similarity index 100%
rename from dev-go/starlark-go/starlark-go-0.0.1-r2.ebuild
rename to dev-go/starlark-go/starlark-go-0.0.1-r4.ebuild
diff --git a/dev-go/starlark-go/starlark-go-0.0.1.ebuild b/dev-go/starlark-go/starlark-go-0.0.1.ebuild
index 276d789..ab8e4f3 100644
--- a/dev-go/starlark-go/starlark-go-0.0.1.ebuild
+++ b/dev-go/starlark-go/starlark-go-0.0.1.ebuild
@@ -5,9 +5,6 @@
 
 CROS_GO_SOURCE=(
 	"github.com/google/starlark-go:go.starlark.net 87f333178d5942de51b193111d6f636c79833ea5"
-	"github.com/chzyer/logex v1.1.10"
-	"github.com/chzyer/readline 2972be24d48e78746da79ba8e24e8b488c9880de"
-	"github.com/chzyer/test a1ea475d72b168a29f44221e0ad031a842642302"
 )
 
 CROS_GO_BINARIES=(
@@ -38,7 +35,11 @@
 DEPEND="
 	dev-go/cmp
 	dev-go/go-sys
+	dev-go/logex
 	dev-go/protobuf
+	dev-go/protobuf-legacy-api
+	dev-go/readline
+	dev-go/test
 	dev-go/xerrors
 "
 
diff --git a/dev-go/staticcheck/Manifest b/dev-go/staticcheck/Manifest
new file mode 100644
index 0000000..bd13731
--- /dev/null
+++ b/dev-go/staticcheck/Manifest
@@ -0,0 +1 @@
+DIST github.com-dominikh-go-tools-v0.2.2.tar.gz 519294 BLAKE2B f50fa36e31af3ea98b8ec32d8d475c694f5297676138c1a0dd902eb7e98b98fc468cdd015d0725285136bcc38625e4f58bcd06cb5d32c80e5bb8761bd43e9893 SHA512 bb3e560a1b950b73290a6fa3a0395ab2cbe3f017a2e7443e3a523ea3dcdb473e89500e7af1266d76028f1e4e1b65f4a853725312b2fcfbaa907e09cac597409a
diff --git a/dev-go/staticcheck/OWNERS b/dev-go/staticcheck/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/staticcheck/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/staticcheck/staticcheck-0.2.2-r1.ebuild b/dev-go/staticcheck/staticcheck-0.2.2-r1.ebuild
new file mode 120000
index 0000000..ed0ed23
--- /dev/null
+++ b/dev-go/staticcheck/staticcheck-0.2.2-r1.ebuild
@@ -0,0 +1 @@
+staticcheck-0.2.2.ebuild
\ No newline at end of file
diff --git a/dev-go/staticcheck/staticcheck-0.2.2.ebuild b/dev-go/staticcheck/staticcheck-0.2.2.ebuild
new file mode 100644
index 0000000..eb6f117
--- /dev/null
+++ b/dev-go/staticcheck/staticcheck-0.2.2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/dominikh/go-tools:honnef.co/go/tools v${PV}"
+
+CROS_GO_BINARIES=(
+	"honnef.co/go/tools/cmd/staticcheck"
+	"honnef.co/go/tools/cmd/structlayout-optimize"
+	"honnef.co/go/tools/cmd/structlayout-pretty"
+	"honnef.co/go/tools/cmd/keyify"
+)
+
+inherit cros-go
+
+DESCRIPTION="Staticcheck is a state of the art linter for the Go programming language."
+HOMEPAGE="https://github.com/dominikh/go-tools"
+SRC_URI="$(cros-go_src_uri)"
+
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND="
+	dev-go/go-tools
+	dev-go/mod
+	dev-go/toml
+	dev-go/xerrors
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-go/strcase/Manifest b/dev-go/strcase/Manifest
new file mode 100644
index 0000000..6bd90ff
--- /dev/null
+++ b/dev-go/strcase/Manifest
@@ -0,0 +1 @@
+DIST github.com-iancoleman-strcase-v0.2.0.tar.gz 4952 BLAKE2B a33de21cb629d1fc60ff8b0560396ec6db1fb427b8c0ccd29500543ac7b9675bd0439e0407c81869b13d2f01d145eae715b27c08f45cf11b8017bd203f38e1a6 SHA512 02fd878a5971dc466604a64e9c511c792b45c13a043c60e4e9f00668140ebb750f539aad41711db92e6db2205fd469614437c5ede25106e6785d4c4004075105
diff --git a/dev-go/strcase/OWNERS b/dev-go/strcase/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/strcase/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/strcase/strcase-0.2.0-r1.ebuild b/dev-go/strcase/strcase-0.2.0-r1.ebuild
new file mode 120000
index 0000000..44b8f33
--- /dev/null
+++ b/dev-go/strcase/strcase-0.2.0-r1.ebuild
@@ -0,0 +1 @@
+strcase-0.2.0.ebuild
\ No newline at end of file
diff --git a/dev-go/strcase/strcase-0.2.0.ebuild b/dev-go/strcase/strcase-0.2.0.ebuild
new file mode 100644
index 0000000..c381ffd
--- /dev/null
+++ b/dev-go/strcase/strcase-0.2.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/iancoleman/strcase v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/iancoleman/strcase"
+)
+
+inherit cros-go
+
+DESCRIPTION="strcase is a go package for converting string case to various cases"
+HOMEPAGE="https://github.com/iancoleman/strcase"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-go/subcommands/Manifest b/dev-go/subcommands/Manifest
index e99f68a..1b5deac 100644
--- a/dev-go/subcommands/Manifest
+++ b/dev-go/subcommands/Manifest
@@ -1 +1 @@
-DIST github.com-google-subcommands-ce3d4cfc062faac7115d44e5befec8b5a08c3faa.tar.gz 8559 SHA256 67ae38893e4d3c819566c0aabe9183b9f733625a59e78d857cc575191bdface4 SHA512 d40093470b96ab9032a0e53876d7a5261c1b21155517742df620f1644f83b4b048776212abc0a2fbab181fe1e2c9682a8727d296705aebf078305b3372622a5d WHIRLPOOL f687382ffecbc0b43ced405412fbcaa97c2c509c7e32bc9c58d6d2b9bc9e9a631203bd89fe73eff0a135a27bf668a70283f6fb784236478b2e9d648fc2a33584
+DIST github.com-google-subcommands-v1.2.0.tar.gz 9383 BLAKE2B 5f54d1b43df43a209ed7e463b63a59a82979900cd45a9160ea811de8a87d1f27ddd742187b088f4b29a1e6ed39884eb815c3960f9cb00b289f0ee8e02c203eca SHA512 f4c53eef3123b5b6c3ad12c6c5ae470cfc154c144bd405d8409a27af3861e8c0042c4c80a0eb8e4a5e9a2cda0b41c0cf6b28c9dfa664b04e34b1746e7760365d
diff --git a/dev-go/subcommands/subcommands-0.0.1-r1.ebuild b/dev-go/subcommands/subcommands-0.0.1-r1.ebuild
deleted file mode 120000
index 904ae99..0000000
--- a/dev-go/subcommands/subcommands-0.0.1-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-subcommands-0.0.1.ebuild
\ No newline at end of file
diff --git a/dev-go/subcommands/subcommands-0.0.1.ebuild b/dev-go/subcommands/subcommands-0.0.1.ebuild
deleted file mode 100644
index 4ea5868..0000000
--- a/dev-go/subcommands/subcommands-0.0.1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=5
-
-CROS_GO_SOURCE="github.com/google/subcommands ce3d4cfc062faac7115d44e5befec8b5a08c3faa"
-
-CROS_GO_PACKAGES=(
-	"github.com/google/subcommands"
-)
-
-inherit cros-go
-
-DESCRIPTION="Go subcommand library"
-HOMEPAGE="https://github.com/google/subcommands"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-RESTRICT="binchecks strip"
-
-DEPEND=""
-RDEPEND=""
diff --git a/dev-go/subcommands/subcommands-1.2.0-r1.ebuild b/dev-go/subcommands/subcommands-1.2.0-r1.ebuild
new file mode 120000
index 0000000..eb6cca8
--- /dev/null
+++ b/dev-go/subcommands/subcommands-1.2.0-r1.ebuild
@@ -0,0 +1 @@
+subcommands-1.2.0.ebuild
\ No newline at end of file
diff --git a/dev-go/subcommands/subcommands-1.2.0.ebuild b/dev-go/subcommands/subcommands-1.2.0.ebuild
new file mode 100644
index 0000000..81df0b2
--- /dev/null
+++ b/dev-go/subcommands/subcommands-1.2.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/google/subcommands v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/google/subcommands"
+)
+
+inherit cros-go
+
+DESCRIPTION="Go subcommand library"
+HOMEPAGE="https://github.com/google/subcommands"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-go/syzkaller/Manifest b/dev-go/syzkaller/Manifest
index b89b736..7ec9c0b 100644
--- a/dev-go/syzkaller/Manifest
+++ b/dev-go/syzkaller/Manifest
@@ -1 +1 @@
-DIST github.com-google-syzkaller-8ee2dea687224e1e5759783abf5046d298bbe167.tar.gz 166539085 BLAKE2B ca3f5d4e5355f545be958624de5a23639656f7a6964c0cef5c4c0ae605daf1e15a72098c8015d6eac3f97de9f099d8bb5f8d7d278f5b59ff76f649e779f999d1 SHA512 bbc60a7a5b56f2c977f87a37f03b790d7638a0e7f78bd31bd11d4afe23459a33390f2b16ceada500d0119827044011b9a62daa67dc4019444db2320bdeb17289
+DIST github.com-google-syzkaller-2df221f6ab480a3f2d315d283f26cfae890da3a1.tar.gz 226461433 BLAKE2B f7b921a8c32b95453888953762734a075adf6b9b0aa1cf5689ee83cd57444aea90b705378c37f28792612468c82587c5447a63a9c6b6366c1d4b128dee4e1eaf SHA512 7f0cc0def405e3b55c2c32122236fc62ed90a2c72f5e6e01750c3e4299e0bb8fc30016c1bda042b287deeb3975ce63e0dc0fac394171e325e48b042295f3c66e
diff --git a/dev-go/syzkaller/files/0005-cros-syzkaller-description-updates-for-devlink-t7xx.patch b/dev-go/syzkaller/files/0005-cros-syzkaller-description-updates-for-devlink-t7xx.patch
new file mode 100644
index 0000000..83be8ba
--- /dev/null
+++ b/dev-go/syzkaller/files/0005-cros-syzkaller-description-updates-for-devlink-t7xx.patch
@@ -0,0 +1,76 @@
+From 3e88e5735cf8e955f0459b37e2e4f789968c24a2 Mon Sep 17 00:00:00 2001
+From: Zubin Mithra <zsm@chromium.org>
+Date: Mon, 28 Feb 2022 16:52:30 -0800
+Subject: [PATCH] cros-syzkaller: description updates for devlink t7xx
+
+description updates for:
+* DEVLINK_CMD_FLASH_UPDATE
+* DEVLINK_CMD_REGION_READ
+---
+ sys/linux/socket_netlink_generic_devlink.txt  | 20 ++++++++++++++++++-
+ .../socket_netlink_generic_devlink.txt.const  |  9 +++++++++
+ 2 files changed, 28 insertions(+), 1 deletion(-)
+
+diff --git a/sys/linux/socket_netlink_generic_devlink.txt b/sys/linux/socket_netlink_generic_devlink.txt
+index 4e8ceeb4b..4db35cc7e 100644
+--- a/sys/linux/socket_netlink_generic_devlink.txt
++++ b/sys/linux/socket_netlink_generic_devlink.txt
+@@ -39,6 +39,8 @@ sendmsg$DEVLINK_CMD_RATE_GET(fd sock_nl_generic, msg ptr[in, msghdr_nl_devlink[D
+ sendmsg$DEVLINK_CMD_RATE_SET(fd sock_nl_generic, msg ptr[in, msghdr_nl_devlink[DEVLINK_CMD_RATE_SET, devlink_nl_rate_set_policy]], f flags[send_flags])
+ sendmsg$DEVLINK_CMD_RATE_NEW(fd sock_nl_generic, msg ptr[in, msghdr_nl_devlink[DEVLINK_CMD_RATE_NEW, devlink_nl_rate_set_policy]], f flags[send_flags])
+ sendmsg$DEVLINK_CMD_RATE_DEL(fd sock_nl_generic, msg ptr[in, msghdr_nl_devlink[DEVLINK_CMD_RATE_DEL, devlink_nl_rate_get_policy]], f flags[send_flags])
++sendmsg$DEVLINK_CMD_FLASH_UPDATE(fd sock_nl_generic, msg ptr[in, msghdr_nl_devlink[DEVLINK_CMD_FLASH_UPDATE, devlink_nl_flash_update_info]], f flags[send_flags])
++sendmsg$DEVLINK_CMD_REGION_READ(fd sock_nl_generic, msg ptr[in, msghdr_nl_devlink[DEVLINK_CMD_REGION_READ, devlink_nl_region_read_info]], f flags[send_flags])
+ 
+ devlink_devname {
+ 	prefix	stringnoz["netdevsim"]
+@@ -54,7 +56,7 @@ devlink_nl_policy$nsim {
+ devlink_nl_policy$pci {
+ 	DEVLINK_ATTR_BUS_NAME	nlattr[DEVLINK_ATTR_BUS_NAME, string["pci"]]
+ # 0000:00:10.0 is a fixed pci address what is moved from initial network namespace by initialize_devlink()
+-	DEVLINK_ATTR_DEV_NAME	nlattr[DEVLINK_ATTR_DEV_NAME, string["0000:00:10.0"]]
++	DEVLINK_ATTR_DEV_NAME	nlattr[DEVLINK_ATTR_DEV_NAME, string["0000:82:00.0"]]
+ } [packed, align[4]]
+ 
+ devlink_handle [
+@@ -213,3 +215,19 @@ devlink_nl_rate_set_policy [
+ 	DEVLINK_ATTR_RATE_TX_MAX		nlattr[DEVLINK_ATTR_RATE_TX_MAX, int64]
+ 	DEVLINK_ATTR_RATE_PARENT_NODE_NAME	nlattr[DEVLINK_ATTR_RATE_PARENT_NODE_NAME, devlink_rate_node_name]
+ ] [varlen]
++
++devlink_nl_flash_update_info {
++  handle                                   devlink_nl_policy$pci
++  DEVLINK_ATTR_FLASH_UPDATE_COMPONENT      nlattr[DEVLINK_ATTR_FLASH_UPDATE_COMPONENT, string["todo"]]
++  DEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MASK nlattr[DEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MASK, int32:16]
++  DEVLINK_ATTR_FLASH_UPDATE_FILE_NAME      nlattr[DEVLINK_ATTR_FLASH_UPDATE_FILE_NAME, string[filename]]
++} [packed, align[4]]
++
++devlink_nl_region_read_info {
++  handle                                   devlink_nl_policy$pci
++  DEVLINK_ATTR_REGION_NAME		   nlattr[DEVLINK_ATTR_REGION_NAME, string["mr_dump"]]
++  DEVLINK_ATTR_REGION_SNAPSHOT_ID	   nlattr[DEVLINK_ATTR_REGION_SNAPSHOT_ID, int32]
++  DEVLINK_ATTR_PORT_INDEX                  nlattr[DEVLINK_ATTR_PORT_INDEX, int32]
++  DEVLINK_ATTR_REGION_CHUNK_ADDR           nlattr[DEVLINK_ATTR_REGION_CHUNK_ADDR, int64]
++  DEVLINK_ATTR_REGION_CHUNK_LEN            nlattr[DEVLINK_ATTR_REGION_CHUNK_LEN, int64]
++} [packed, align[4]]
+diff --git a/sys/linux/socket_netlink_generic_devlink.txt.const b/sys/linux/socket_netlink_generic_devlink.txt.const
+index f0271e32b..3daeddbb6 100644
+--- a/sys/linux/socket_netlink_generic_devlink.txt.const
++++ b/sys/linux/socket_netlink_generic_devlink.txt.const
+@@ -58,4 +58,13 @@ DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 1
+ DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0
+ DEVLINK_TRAP_ACTION_DROP = 0
+ DEVLINK_TRAP_ACTION_TRAP = 1
++DEVLINK_CMD_FLASH_UPDATE = 58
++DEVLINK_ATTR_FLASH_UPDATE_COMPONENT = 1
++DEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MASK = 152
++DEVLINK_ATTR_FLASH_UPDATE_FILE_NAME = 122
++DEVLINK_CMD_REGION_READ = 46
++DEVLINK_ATTR_REGION_NAME = 88
++DEVLINK_ATTR_REGION_SNAPSHOT_ID = 92
++DEVLINK_ATTR_REGION_CHUNK_ADDR = 126
++DEVLINK_ATTR_REGION_CHUNK_LEN = 127
+ __NR_sendmsg = 211, 386:s390x:370, amd64:46, arm:296, mips64le:5045, ppc64le:341
+-- 
+2.36.0.512.ge40c2bad7a-goog
+
diff --git a/dev-go/syzkaller/files/0006-cros-syzkaller-do-not-unshare-CLONE_NEWNET.patch b/dev-go/syzkaller/files/0006-cros-syzkaller-do-not-unshare-CLONE_NEWNET.patch
new file mode 100644
index 0000000..067cea9
--- /dev/null
+++ b/dev-go/syzkaller/files/0006-cros-syzkaller-do-not-unshare-CLONE_NEWNET.patch
@@ -0,0 +1,82 @@
+From 128c602b47fe2c567943f06f1bbd4aa59c0fddf0 Mon Sep 17 00:00:00 2001
+From: Zubin Mithra <zsm@google.com>
+Date: Tue, 28 Jun 2022 09:06:57 -0700
+Subject: [PATCH 6/6] cros-syzkaller: do not unshare CLONE_NEWNET
+
+---
+ executor/common_linux.h | 29 ++---------------------------
+ 1 file changed, 2 insertions(+), 27 deletions(-)
+
+diff --git a/executor/common_linux.h b/executor/common_linux.h
+index 48236ce3b..0959401fa 100644
+--- a/executor/common_linux.h
++++ b/executor/common_linux.h
+@@ -2950,6 +2950,7 @@ static volatile long syz_kvm_setup_cpu(volatile long a0, volatile long a1, volat
+ 
+ #include <linux/net.h>
+ 
++#if 0
+ // checkpoint/reset_net_namespace partially resets net namespace to initial state
+ // after each test. Currently it resets only ipv4 netfilter state.
+ // Ideally, we just create a new net namespace for each test,
+@@ -3417,6 +3418,7 @@ static void reset_net_namespace(void)
+ 	reset_iptables(ipv6_tables, sizeof(ipv6_tables) / sizeof(ipv6_tables[0]), AF_INET6, SOL_IPV6);
+ }
+ #endif
++#endif
+ 
+ #if SYZ_EXECUTOR || (SYZ_CGROUPS && (SYZ_SANDBOX_NONE || SYZ_SANDBOX_SETUID || SYZ_SANDBOX_NAMESPACE || SYZ_SANDBOX_ANDROID))
+ #include <fcntl.h>
+@@ -3786,29 +3788,8 @@ static int do_sandbox_none(void)
+ 		return wait_for_loop(pid);
+ 
+ 	setup_common();
+-#if SYZ_EXECUTOR || SYZ_VHCI_INJECTION
+-	initialize_vhci();
+-#endif
+ 	sandbox_common();
+ 	drop_caps();
+-#if SYZ_EXECUTOR || SYZ_NET_DEVICES
+-	initialize_netdevices_init();
+-#endif
+-	if (unshare(CLONE_NEWNET)) {
+-		debug("unshare(CLONE_NEWNET): %d\n", errno);
+-	}
+-#if SYZ_EXECUTOR || SYZ_DEVLINK_PCI
+-	initialize_devlink_pci();
+-#endif
+-#if SYZ_EXECUTOR || SYZ_NET_INJECTION
+-	initialize_tun();
+-#endif
+-#if SYZ_EXECUTOR || SYZ_NET_DEVICES
+-	initialize_netdevices();
+-#endif
+-#if SYZ_EXECUTOR || SYZ_WIFI
+-	initialize_wifi_devices();
+-#endif
+ 	setup_binderfs();
+ 	loop();
+ 	doexit(1);
+@@ -4437,9 +4418,6 @@ static void setup_loop()
+ #if SYZ_EXECUTOR || SYZ_CGROUPS
+ 	setup_cgroups_loop();
+ #endif
+-#if SYZ_EXECUTOR || SYZ_NET_RESET
+-	checkpoint_net_namespace();
+-#endif
+ }
+ #endif
+ 
+@@ -4456,9 +4434,6 @@ static void reset_loop()
+ 		close(loopfd);
+ 	}
+ #endif
+-#if SYZ_EXECUTOR || SYZ_NET_RESET
+-	reset_net_namespace();
+-#endif
+ }
+ #endif
+ 
+-- 
+2.37.0.rc0.161.g10f37bed90-goog
+
diff --git a/dev-go/syzkaller/syzkaller-0.0.12-r3.ebuild b/dev-go/syzkaller/syzkaller-0.0.12-r3.ebuild
deleted file mode 120000
index e1e454b..0000000
--- a/dev-go/syzkaller/syzkaller-0.0.12-r3.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-syzkaller-0.0.12.ebuild
\ No newline at end of file
diff --git a/dev-go/syzkaller/syzkaller-0.0.12.ebuild b/dev-go/syzkaller/syzkaller-0.0.12.ebuild
deleted file mode 100644
index 2f38b3a..0000000
--- a/dev-go/syzkaller/syzkaller-0.0.12.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_GO_SOURCE="github.com/google/syzkaller 8ee2dea687224e1e5759783abf5046d298bbe167"
-
-CROS_GO_PACKAGES=(
-	"github.com/google/syzkaller"
-)
-
-inherit cros-go
-
-DESCRIPTION="Syzkaller kernel fuzzer"
-HOMEPAGE="https://github.com/google/syzkaller"
-SRC_URI="$(cros-go_src_uri)"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-SYZKALLER_PATH="src/github.com/google/syzkaller"
-
-src_prepare() {
-	cd "${SYZKALLER_PATH}" || die "unable to cd to extracted syzkaller directory"
-	eapply "${FILESDIR}"/0001-cros-syzkaller-do-not-use-go.sum-and-go.mod.patch
-	eapply "${FILESDIR}"/0002-cros-syzkaller-turn-off-vhci-injection.patch
-	eapply "${FILESDIR}"/0003-cros-syzkaller-use-arm-toolchain-available-within-ch.patch
-	eapply "${FILESDIR}"/0004-cros-syzkaller-only-do-exact-function-name-matching.patch
-	eapply_user
-}
-
-src_compile() {
-	cd "${SYZKALLER_PATH}" || die "unable to cd to extracted syzkaller directory"
-	CFLAGS="" GO111MODULE=off GOPATH="${GOPATH}:${S}" emake TARGETOS=linux TARGETARCH="${ARCH}" || die "syzkaller build failed"
-}
-
-src_install() {
-	local bin_path="${SYZKALLER_PATH}/bin"
-	dobin "${bin_path}"/syz-manager
-	dobin "${bin_path}"/linux_"${ARCH}"/syz-{fuzzer,executor,execprog}
-}
-
-# Overriding postinst for package github.com/google/syzkaller
-# as no Go files are present in the repository root directory
-# and getting list of packages inside cros-go_pkg_postinst() fails.
-pkg_postinst() {
-	:;
-}
diff --git a/dev-go/syzkaller/syzkaller-0.0.13-r3.ebuild b/dev-go/syzkaller/syzkaller-0.0.13-r3.ebuild
new file mode 120000
index 0000000..3656a2b
--- /dev/null
+++ b/dev-go/syzkaller/syzkaller-0.0.13-r3.ebuild
@@ -0,0 +1 @@
+syzkaller-0.0.13.ebuild
\ No newline at end of file
diff --git a/dev-go/syzkaller/syzkaller-0.0.13.ebuild b/dev-go/syzkaller/syzkaller-0.0.13.ebuild
new file mode 100644
index 0000000..2d7376c
--- /dev/null
+++ b/dev-go/syzkaller/syzkaller-0.0.13.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/google/syzkaller 2df221f6ab480a3f2d315d283f26cfae890da3a1"
+
+CROS_GO_PACKAGES=(
+	"github.com/google/syzkaller"
+)
+
+inherit cros-go
+
+DESCRIPTION="Syzkaller kernel fuzzer"
+HOMEPAGE="https://github.com/google/syzkaller"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+SYZKALLER_PATH="src/github.com/google/syzkaller"
+
+src_prepare() {
+	cd "${SYZKALLER_PATH}" || die "unable to cd to extracted syzkaller directory"
+	eapply "${FILESDIR}"/0001-cros-syzkaller-do-not-use-go.sum-and-go.mod.patch
+	eapply "${FILESDIR}"/0002-cros-syzkaller-turn-off-vhci-injection.patch
+	eapply "${FILESDIR}"/0003-cros-syzkaller-use-arm-toolchain-available-within-ch.patch
+	eapply "${FILESDIR}"/0004-cros-syzkaller-only-do-exact-function-name-matching.patch
+	eapply "${FILESDIR}"/0005-cros-syzkaller-description-updates-for-devlink-t7xx.patch
+	eapply "${FILESDIR}"/0006-cros-syzkaller-do-not-unshare-CLONE_NEWNET.patch
+	eapply_user
+}
+
+src_compile() {
+	cd "${SYZKALLER_PATH}" || die "unable to cd to extracted syzkaller directory"
+	# shellcheck disable=SC2154
+	CFLAGS="" GO111MODULE=off GOPATH="${GOPATH}:${S}" emake TARGETOS=linux TARGETARCH="${ARCH}" || die "syzkaller build failed"
+}
+
+src_install() {
+	local bin_path="${SYZKALLER_PATH}/bin"
+	dobin "${bin_path}"/syz-manager
+	dobin "${bin_path}"/linux_"${ARCH}"/syz-{fuzzer,executor,execprog}
+}
+
+# Overriding postinst for package github.com/google/syzkaller
+# as no Go files are present in the repository root directory
+# and getting list of packages inside cros-go_pkg_postinst() fails.
+pkg_postinst() {
+	:;
+}
diff --git a/dev-go/test/Manifest b/dev-go/test/Manifest
new file mode 100644
index 0000000..2713962
--- /dev/null
+++ b/dev-go/test/Manifest
@@ -0,0 +1 @@
+DIST github.com-chzyer-test-a1ea475d72b168a29f44221e0ad031a842642302.tar.gz 4007 BLAKE2B e8ecfa11bf116bfae44421c2cf2fc3879ef78b6738ac0c7f5177898c98f4b0656cbc32a670c05b11137fec6e93d5481ba604795283e8f5b20a0ec54f6f5aee15 SHA512 e4d7ee906d543e3ce790e0530c6efc3a89aa814ca33f65564f1d0da4b757fda9cd8fefc5a50fcb78cb977c718c3ea0153066ed5aa6b5d5402e067e01a4c70c93
diff --git a/dev-go/test/OWNERS b/dev-go/test/OWNERS
new file mode 100644
index 0000000..634b013
--- /dev/null
+++ b/dev-go/test/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/dev-util:/src/OWNERS
diff --git a/dev-go/test/test-0.0.1-r1.ebuild b/dev-go/test/test-0.0.1-r1.ebuild
new file mode 120000
index 0000000..2b76882
--- /dev/null
+++ b/dev-go/test/test-0.0.1-r1.ebuild
@@ -0,0 +1 @@
+test-0.0.1.ebuild
\ No newline at end of file
diff --git a/dev-go/test/test-0.0.1.ebuild b/dev-go/test/test-0.0.1.ebuild
new file mode 100644
index 0000000..729095a
--- /dev/null
+++ b/dev-go/test/test-0.0.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2021 Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE=(
+	"github.com/chzyer/test a1ea475d72b168a29f44221e0ad031a842642302"
+)
+
+CROS_GO_PACKAGES=(
+	"github.com/chzyer/test"
+)
+
+inherit cros-go
+
+DESCRIPTION="Small disk testing package"
+HOMEPAGE="https://github.com/chzyer/test"
+SRC_URI="$(cros-go_src_uri)"
+RESTRICT="binchecks strip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+
+DEPEND="dev-go/logex"
+RDEPEND=""
diff --git a/dev-go/testify/Manifest b/dev-go/testify/Manifest
new file mode 100644
index 0000000..3368585
--- /dev/null
+++ b/dev-go/testify/Manifest
@@ -0,0 +1 @@
+DIST github.com-stretchr-testify-v1.7.0.tar.gz 91073 BLAKE2B e6d370b9e2c8fcb0cb954cca3a1b0261e3681bbcb8b13e958d507e639684d3a2d79540041d82a92d3837267213d239418ec5b03ee454ead57aeadcb74e80972d SHA512 8a8cff3ab5fba49a6bf9258cbf8c6110deec0644bfc66f665a99de33d96cbe62628c5d7f92afd0f96cc39408e69f6a227a5902b453868898a8ddc755f95d1642
diff --git a/dev-go/testify/OWNERS b/dev-go/testify/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/testify/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/testify/testify-1.7.0.ebuild b/dev-go/testify/testify-1.7.0.ebuild
new file mode 100644
index 0000000..70f2d1d
--- /dev/null
+++ b/dev-go/testify/testify-1.7.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/stretchr/testify v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/stretchr/testify/..."
+)
+
+inherit cros-go
+
+DESCRIPTION="Go code (golang) set of packages that provide many tools for testifying that your code will behave as you intend."
+HOMEPAGE="https://github.com/stretchr/testify"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+IUSE="test"
+RESTRICT="binchecks strip"
+
+DEPEND="
+	dev-go/go-spew
+	dev-go/go-difflib
+	dev-go/objx
+	dev-go/yaml:3
+"
+RDEPEND=""
diff --git a/dev-go/text/text-0.3.8.ebuild b/dev-go/text/text-0.3.8.ebuild
index 549c5b7..a5c2264 100644
--- a/dev-go/text/text-0.3.8.ebuild
+++ b/dev-go/text/text-0.3.8.ebuild
@@ -6,14 +6,36 @@
 CROS_GO_SOURCE="go.googlesource.com/text:golang.org/x/text v${PV}"
 
 CROS_GO_PACKAGES=(
+	"golang.org/x/text/cases"
 	"golang.org/x/text/encoding"
 	"golang.org/x/text/encoding/charmap"
 	"golang.org/x/text/encoding/internal"
 	"golang.org/x/text/encoding/internal/identifier"
+	"golang.org/x/text/encoding/internal/enctest"
+	"golang.org/x/text/encoding/htmlindex"
+	"golang.org/x/text/encoding/japanese"
+	"golang.org/x/text/encoding/korean"
+	"golang.org/x/text/encoding/simplifiedchinese"
+	"golang.org/x/text/encoding/traditionalchinese"
+	"golang.org/x/text/encoding/unicode"
+	"golang.org/x/text/internal"
+	"golang.org/x/text/internal/gen"
+	"golang.org/x/text/internal/language"
+	"golang.org/x/text/internal/language/compact"
+	"golang.org/x/text/internal/tag"
+	"golang.org/x/text/internal/testtext"
+	"golang.org/x/text/internal/ucd"
+	"golang.org/x/text/internal/utf8internal"
+	"golang.org/x/text/language"
+	"golang.org/x/text/runes"
 	"golang.org/x/text/secure/bidirule"
 	"golang.org/x/text/transform"
 	"golang.org/x/text/unicode/bidi"
+	"golang.org/x/text/unicode/cldr"
 	"golang.org/x/text/unicode/norm"
+	"golang.org/x/text/unicode/rangetable"
+	"golang.org/x/text/unicode/runenames"
+	"golang.org/x/text/width"
 )
 
 CROS_GO_TEST=(
diff --git a/dev-go/toml/Manifest b/dev-go/toml/Manifest
new file mode 100644
index 0000000..d63f4757
--- /dev/null
+++ b/dev-go/toml/Manifest
@@ -0,0 +1 @@
+DIST github.com-BurntSushi-toml-v1.0.0.tar.gz 90415 BLAKE2B 8898fc53de17edc52bb16cdd8eda0e186e3383d2e85f9221c518d9c0beb06dd49e0c2da8e70ff5bb285e9ad0fdf9ff18ca851e2304540ff1eb15d4be90aa3515 SHA512 adb9f5a3d229653a62d305c5bcf36425a39335aa7457480850b29dcdf296bfd30ac4b38fb96d04fabfc297b49cf528cbfb98752bcfd5bfa37d4bf55223b68508
diff --git a/dev-go/toml/OWNERS b/dev-go/toml/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/toml/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/toml/toml-1.0.0-r1.ebuild b/dev-go/toml/toml-1.0.0-r1.ebuild
new file mode 120000
index 0000000..871fc08
--- /dev/null
+++ b/dev-go/toml/toml-1.0.0-r1.ebuild
@@ -0,0 +1 @@
+toml-1.0.0.ebuild
\ No newline at end of file
diff --git a/dev-go/toml/toml-1.0.0.ebuild b/dev-go/toml/toml-1.0.0.ebuild
new file mode 100644
index 0000000..f9b815a
--- /dev/null
+++ b/dev-go/toml/toml-1.0.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/BurntSushi/toml v${PV}"
+
+inherit cros-go
+
+DESCRIPTION="TOML parser for Golang with reflection."
+HOMEPAGE="https://github.com/BurntSushi/toml"
+SRC_URI="$(cros-go_src_uri)"
+
+CROS_GO_PACKAGES=(
+	"github.com/BurntSushi/toml"
+	"github.com/BurntSushi/toml/internal"
+	"github.com/BurntSushi/toml/internal/tag"
+)
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
diff --git a/dev-go/utiltest/Manifest b/dev-go/utiltest/Manifest
new file mode 100644
index 0000000..3da8649
--- /dev/null
+++ b/dev-go/utiltest/Manifest
@@ -0,0 +1 @@
+DIST github.com-maruel-ut-v1.0.2.tar.gz 9539 BLAKE2B 885a73c5f4cd898e57536d98ddc57aa54365e769b53949a847aeb0417f65806a830bc30e898c6c3449a79ac9c9048396132df3390e38ef0200dce782c65593db SHA512 b8226513e3a895ee7c05d4c44b9399a8a053ee6e2488d751f8f1a6de14b7bf340fe195fdaeaffa14d06fea586af208a325dd00185a79223963138b0f9856548b
diff --git a/dev-go/utiltest/OWNERS b/dev-go/utiltest/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/utiltest/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/utiltest/utiltest-1.0.2-r1.ebuild b/dev-go/utiltest/utiltest-1.0.2-r1.ebuild
new file mode 120000
index 0000000..d9967d0
--- /dev/null
+++ b/dev-go/utiltest/utiltest-1.0.2-r1.ebuild
@@ -0,0 +1 @@
+utiltest-1.0.2.ebuild
\ No newline at end of file
diff --git a/dev-go/utiltest/utiltest-1.0.2.ebuild b/dev-go/utiltest/utiltest-1.0.2.ebuild
new file mode 100644
index 0000000..5442c98
--- /dev/null
+++ b/dev-go/utiltest/utiltest-1.0.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE=(
+	"github.com/maruel/ut v${PV}"
+)
+
+CROS_GO_PACKAGES=(
+	"github.com/maruel/ut"
+)
+
+inherit cros-go
+
+DESCRIPTION="Compact testing utilities to shorten Go unit tests."
+HOMEPAGE="https://github.com/maruel/ut"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND="
+	dev-go/go-difflib
+	dev-go/pretty
+
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-go/vsock/vsock-0.0.2-r1.ebuild b/dev-go/vsock/vsock-0.0.2-r2.ebuild
similarity index 100%
rename from dev-go/vsock/vsock-0.0.2-r1.ebuild
rename to dev-go/vsock/vsock-0.0.2-r2.ebuild
diff --git a/dev-go/vsock/vsock-0.0.2.ebuild b/dev-go/vsock/vsock-0.0.2.ebuild
index d98d9a1..08ed99d 100644
--- a/dev-go/vsock/vsock-0.0.2.ebuild
+++ b/dev-go/vsock/vsock-0.0.2.ebuild
@@ -22,5 +22,9 @@
 
 RESTRICT="binchecks strip"
 
-DEPEND="dev-go/go-sys"
+DEPEND="
+	dev-go/cmp
+	dev-go/go-sys
+	dev-go/net
+"
 RDEPEND=""
diff --git a/dev-go/writeseeker/Manifest b/dev-go/writeseeker/Manifest
new file mode 100644
index 0000000..65256b4
--- /dev/null
+++ b/dev-go/writeseeker/Manifest
@@ -0,0 +1 @@
+DIST github.com-orcaman-writerseeker-1d3f536ff85e22cb6225ccc454728facfcb70531.tar.gz 3553 BLAKE2B 4f004af368f3b642e5355f09099c6ebeffb23793764765eb2be09c7bfdb36f8d1c756481fb90ca74482b580dab881292328ca3f9fe40f923dc2e8a5690e4113a SHA512 30b8f852ddef52f10b30efa80965f74de3b7246be53464a29ff69d62a44ccfd2c11249cf975f0f2f644d656060fff183fbc1747360d16e0240cff6a98df8d634
diff --git a/dev-go/writeseeker/OWNERS b/dev-go/writeseeker/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/writeseeker/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/writeseeker/writeseeker-0.0.1.ebuild b/dev-go/writeseeker/writeseeker-0.0.1.ebuild
new file mode 100644
index 0000000..c9fa89e
--- /dev/null
+++ b/dev-go/writeseeker/writeseeker-0.0.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/orcaman/writerseeker 1d3f536ff85e22cb6225ccc454728facfcb70531"
+
+CROS_GO_PACKAGES=(
+	"github.com/orcaman/writerseeker"
+)
+
+inherit cros-go
+
+DESCRIPTION="WriterSeeker is the in-memory io.WriteSeeker implementation missing in the standard lib"
+HOMEPAGE="https://github.com/orcaman/writerseeker"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
diff --git a/dev-go/xxhash/Manifest b/dev-go/xxhash/Manifest
new file mode 100644
index 0000000..d9ce6f1
--- /dev/null
+++ b/dev-go/xxhash/Manifest
@@ -0,0 +1 @@
+DIST github.com-cespare-xxhash-v2.1.2.tar.gz 11244 BLAKE2B ff980dfa3210f950ac767a5a14aa51c2ff98f4e6c819ef9c1ee56111ff7e4240944c7260d17866ed5864e33385c145291cd08a4b37dd40c83965c6b02cbdc571 SHA512 16062745fb0241c57bcb467100f1ae697bbbc012f1c2bc517134481ed1c780c11e68fd55e9b3c97f9da4f95de6ebdf15ffd13c665f403b8ad4ad635196ccc65b
diff --git a/dev-go/xxhash/OWNERS b/dev-go/xxhash/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-go/xxhash/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-go/xxhash/xxhash-2.1.2-r2.ebuild b/dev-go/xxhash/xxhash-2.1.2-r2.ebuild
new file mode 120000
index 0000000..d9e89f2
--- /dev/null
+++ b/dev-go/xxhash/xxhash-2.1.2-r2.ebuild
@@ -0,0 +1 @@
+xxhash-2.1.2.ebuild
\ No newline at end of file
diff --git a/dev-go/xxhash/xxhash-2.1.2.ebuild b/dev-go/xxhash/xxhash-2.1.2.ebuild
new file mode 100644
index 0000000..90cd8ae
--- /dev/null
+++ b/dev-go/xxhash/xxhash-2.1.2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_GO_SOURCE="github.com/cespare/xxhash:github.com/cespare/xxhash/v2 v${PV}"
+
+CROS_GO_PACKAGES=(
+	"github.com/cespare/xxhash/v2"
+)
+
+inherit cros-go
+
+DESCRIPTION="A Go implementation of the 64-bit xxHash algorithm (XXH64)"
+HOMEPAGE="https://github.com/cespare/xxhash"
+SRC_URI="$(cros-go_src_uri)"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
diff --git a/dev-haskell/OWNERS b/dev-haskell/OWNERS
new file mode 100644
index 0000000..01b2f4b
--- /dev/null
+++ b/dev-haskell/OWNERS
@@ -0,0 +1 @@
+include /dev-util/shellcheck/OWNERS
diff --git a/dev-haskell/cabal/cabal-2.4.0.1-r1.ebuild b/dev-haskell/cabal/cabal-2.4.0.1-r1.ebuild
new file mode 100644
index 0000000..e073827
--- /dev/null
+++ b/dev-haskell/cabal/cabal-2.4.0.1-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# ebuild generated by hackport 0.5.6.9999
+#hackport: flags: -bundled-binary-generic
+
+CABAL_FEATURES="lib profile" # Drop test-suite: circular depend
+CABAL_FEATURES+=" nocabaldep" # in case installed Cabal is broken
+inherit haskell-cabal
+
+MY_PN="Cabal"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A framework for packaging Haskell software"
+HOMEPAGE="http://www.haskell.org/cabal/"
+SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+# keep in sync with ghc-8.6
+KEYWORDS="*"
+IUSE=""
+
+RESTRICT=test # circular deps: cabal -> quickcheck -> cabal
+
+RDEPEND=">=dev-lang/ghc-8.6.1:="
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=("${FILESDIR}"/${PN}-2.0.0.2-no-bootstrap.patch)
+
+CABAL_CORE_LIB_GHC_PV="PM:8.6.1 PM:8.6.2 PM:8.6.3 PM:8.6.4 PM:8.6.5 PM:8.6.5-r1 PM:8.6.5-r4"
+
+src_configure() {
+	haskell-cabal_src_configure \
+		--flag=-bundled-binary-generic
+}
diff --git a/dev-haskell/cabal/cabal-2.4.0.1.ebuild b/dev-haskell/cabal/cabal-2.4.0.1.ebuild
deleted file mode 100644
index afa3781..0000000
--- a/dev-haskell/cabal/cabal-2.4.0.1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# ebuild generated by hackport 0.5.6.9999
-#hackport: flags: -bundled-binary-generic
-
-CABAL_FEATURES="lib profile" # Drop test-suite: circular depend
-CABAL_FEATURES+=" nocabaldep" # in case installed Cabal is broken
-inherit haskell-cabal
-
-MY_PN="Cabal"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="A framework for packaging Haskell software"
-HOMEPAGE="http://www.haskell.org/cabal/"
-SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/${PV}"
-# keep in sync with ghc-8.6
-KEYWORDS="*"
-IUSE=""
-
-RESTRICT=test # circular deps: cabal -> quickcheck -> cabal
-
-RDEPEND=">=dev-lang/ghc-8.6.1:="
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=("${FILESDIR}"/${PN}-2.0.0.2-no-bootstrap.patch)
-
-CABAL_CORE_LIB_GHC_PV="PM:8.6.1 PM:8.6.2 PM:8.6.3 PM:8.6.4 PM:8.6.5 PM:8.6.5-r1"
-
-src_configure() {
-	haskell-cabal_src_configure \
-		--flag=-bundled-binary-generic
-}
diff --git a/dev-haskell/stm/stm-2.5.0.0-r1.ebuild b/dev-haskell/stm/stm-2.5.0.0-r1.ebuild
new file mode 100644
index 0000000..7aa9240
--- /dev/null
+++ b/dev-haskell/stm/stm-2.5.0.0-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+# ebuild generated by hackport 0.4.6.9999
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour"
+inherit haskell-cabal
+
+DESCRIPTION="Software Transactional Memory"
+HOMEPAGE="http://hackage.haskell.org/package/stm"
+SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND=">=dev-lang/ghc-7.4.1:=
+"
+DEPEND="${RDEPEND}
+	>=dev-haskell/cabal-1.10
+"
+
+CABAL_CORE_LIB_GHC_PV="PM:8.6.5-r1 PM:8.6.5-r4"
diff --git a/dev-haskell/stm/stm-2.5.0.0.ebuild b/dev-haskell/stm/stm-2.5.0.0.ebuild
deleted file mode 100644
index d5dbec3..0000000
--- a/dev-haskell/stm/stm-2.5.0.0.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-# ebuild generated by hackport 0.4.6.9999
-
-CABAL_FEATURES="lib profile haddock hoogle hscolour"
-inherit haskell-cabal
-
-DESCRIPTION="Software Transactional Memory"
-HOMEPAGE="http://hackage.haskell.org/package/stm"
-SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/${PV}"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=">=dev-lang/ghc-7.4.1:=
-"
-DEPEND="${RDEPEND}
-	>=dev-haskell/cabal-1.10
-"
-
-CABAL_CORE_LIB_GHC_PV="PM:8.6.5-r1"
diff --git a/dev-haskell/transformers/transformers-0.5.6.2-r1.ebuild b/dev-haskell/transformers/transformers-0.5.6.2-r1.ebuild
new file mode 100644
index 0000000..e17dc2c
--- /dev/null
+++ b/dev-haskell/transformers/transformers-0.5.6.2-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# ebuild generated by hackport 0.4.7.9999
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour"
+inherit haskell-cabal
+
+DESCRIPTION="Concrete functor and monad transformers"
+HOMEPAGE="http://hackage.haskell.org/package/transformers"
+SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+#keep in sync with ghc-8.0.2_rc2
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND=">=dev-lang/ghc-7.4.1:=
+"
+DEPEND="${RDEPEND}
+	>=dev-haskell/cabal-1.6
+"
+
+CABAL_CORE_LIB_GHC_PV="PM:8.0.1_rc3 PM:8.0.1_rc4 PM:8.0.1 PM:8.0.2_rc1 PM:8.0.2_rc2 PM:8.0.2 PM:8.6.5-r1 PM:8.6.5-r4 PM:9999"
diff --git a/dev-haskell/transformers/transformers-0.5.6.2.ebuild b/dev-haskell/transformers/transformers-0.5.6.2.ebuild
deleted file mode 100644
index 8b41f80..0000000
--- a/dev-haskell/transformers/transformers-0.5.6.2.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# ebuild generated by hackport 0.4.7.9999
-
-CABAL_FEATURES="lib profile haddock hoogle hscolour"
-inherit haskell-cabal
-
-DESCRIPTION="Concrete functor and monad transformers"
-HOMEPAGE="http://hackage.haskell.org/package/transformers"
-SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/${PV}"
-#keep in sync with ghc-8.0.2_rc2
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=">=dev-lang/ghc-7.4.1:=
-"
-DEPEND="${RDEPEND}
-	>=dev-haskell/cabal-1.6
-"
-
-CABAL_CORE_LIB_GHC_PV="PM:8.0.1_rc3 PM:8.0.1_rc4 PM:8.0.1 PM:8.0.2_rc1 PM:8.0.2_rc2 PM:8.0.2 PM:8.6.5-r1 PM:9999"
diff --git a/dev-lang/ghc/OWNERS b/dev-lang/ghc/OWNERS
new file mode 100644
index 0000000..01b2f4b
--- /dev/null
+++ b/dev-lang/ghc/OWNERS
@@ -0,0 +1 @@
+include /dev-util/shellcheck/OWNERS
diff --git a/dev-lang/ghc/files/ghc-8.6.5-m4-take-AR-var-into-consideration.patch b/dev-lang/ghc/files/ghc-8.6.5-m4-take-AR-var-into-consideration.patch
new file mode 100644
index 0000000..62b1d74
--- /dev/null
+++ b/dev-lang/ghc/files/ghc-8.6.5-m4-take-AR-var-into-consideration.patch
@@ -0,0 +1,35 @@
+From 5484825d31d5d92b0ad68682f584f5232e6849cc Mon Sep 17 00:00:00 2001
+From: Adrian Ratiu <adrian.ratiu@collabora.com>
+Date: Mon, 14 Feb 2022 15:40:58 +0200
+Subject: [PATCH] fp_prog_ar.m4: take AR var into consideration
+
+Upstream-Status: Backport from commit fb65e6e3e27a56cd161
+
+In ChromeOS and Gentoo we want the ability to use LLVM ar
+instead of GNU ar even though both are installed, thus we
+pass (for eg) AR=llvm-ar to configure.
+
+Unfortunately GNU ar always gets picked regardless of the
+AR setting because the check does not consider the AR var
+when setting fp_prog_ar, hence this fix.
+---
+ aclocal.m4 | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/aclocal.m4 b/aclocal.m4
+index 6eda094315..d5db95ab40 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -1130,7 +1130,8 @@ AC_DEFUN([FP_PROG_AR],
+       fp_prog_ar=$(cygpath -m $fp_prog_ar)
+     fi
+   else
+-    AC_CHECK_TARGET_TOOL([fp_prog_ar], [ar])
++    AC_CHECK_TARGET_TOOL([AR], [ar])
++    fp_prog_ar="$AR"
+   fi
+ fi
+ if test -z "$fp_prog_ar"; then
+-- 
+2.35.1
+
diff --git a/dev-lang/ghc/ghc-8.6.5-r1.ebuild b/dev-lang/ghc/ghc-8.6.5-r4.ebuild
similarity index 100%
rename from dev-lang/ghc/ghc-8.6.5-r1.ebuild
rename to dev-lang/ghc/ghc-8.6.5-r4.ebuild
diff --git a/dev-lang/ghc/ghc-8.6.5.ebuild b/dev-lang/ghc/ghc-8.6.5.ebuild
index e18d7f6..6fc8ef0 100644
--- a/dev-lang/ghc/ghc-8.6.5.ebuild
+++ b/dev-lang/ghc/ghc-8.6.5.ebuild
@@ -496,6 +496,7 @@
 		eapply "${FILESDIR}"/${PN}-8.0.2-no-relax-everywhere.patch
 		eapply "${FILESDIR}"/${PN}-8.4.2-allow-cross-bootstrap.patch
 		eapply "${FILESDIR}"/${PN}-8.6.5-numa.patch
+		eapply "${FILESDIR}"/${PN}-8.6.5-m4-take-AR-var-into-consideration.patch
 
 		# a bunch of crosscompiler patches
 		# needs newer version:
diff --git a/dev-lang/go/files/go-1.18-e66f895-dw-tag-variable-fix.patch b/dev-lang/go/files/go-1.18-e66f895-dw-tag-variable-fix.patch
new file mode 100644
index 0000000..5f96a56
--- /dev/null
+++ b/dev-lang/go/files/go-1.18-e66f895-dw-tag-variable-fix.patch
@@ -0,0 +1,50 @@
+From e66f895667cd51d0d28c42d369a803c12db8bb35 Mon Sep 17 00:00:00 2001
+From: Alex Brachet <abrachet@google.com>
+Date: Thu, 19 May 2022 16:58:46 +0000
+Subject: [PATCH] cmd/cgo: allow DW_TAG_variable's with no name
+
+https://reviews.llvm.org/D123534 is emitting DW_TAG_variable's
+that don't have a DW_AT_name. This is allowed in the DWARF
+standard. It is adding DIE's for string literals for better
+symbolization on buffer overlows etc on these strings. They
+no associated name because they are not user provided variables.
+
+Fixes #53000
+
+Change-Id: I2cf063160508687067c7672cef0517bccd707d7b
+Reviewed-on: https://go-review.googlesource.com/c/go/+/406816
+TryBot-Result: Gopher Robot <gobot@golang.org>
+Run-TryBot: Ian Lance Taylor <iant@google.com>
+Auto-Submit: Ian Lance Taylor <iant@google.com>
+Reviewed-by: Ian Lance Taylor <iant@google.com>
+---
+
+diff --git a/src/cmd/cgo/gcc.go b/src/cmd/cgo/gcc.go
+index 855309e..4d1a5bd 100644
+--- a/src/cmd/cgo/gcc.go
++++ b/src/cmd/cgo/gcc.go
+@@ -576,8 +576,23 @@
+ 		switch e.Tag {
+ 		case dwarf.TagVariable:
+ 			name, _ := e.Val(dwarf.AttrName).(string)
++			// As of https://reviews.llvm.org/D123534, clang
++			// now emits DW_TAG_variable DIEs that have
++			// no name (so as to be able to describe the
++			// type and source locations of constant strings
++			// like the second arg in the call below:
++			//
++			//     myfunction(42, "foo")
++			//
++			// If a var has no name we won't see attempts to
++			// refer to it via "C.<name>", so skip these vars
++			//
++			// See issue 53000 for more context.
++			if name == "" {
++				break
++			}
+ 			typOff, _ := e.Val(dwarf.AttrType).(dwarf.Offset)
+-			if name == "" || typOff == 0 {
++			if typOff == 0 {
+ 				if e.Val(dwarf.AttrSpecification) != nil {
+ 					// Since we are reading all the DWARF,
+ 					// assume we will see the variable elsewhere.
diff --git a/dev-lang/metadata.xml b/dev-lang/metadata.xml
deleted file mode 100644
index e19c9e9..0000000
--- a/dev-lang/metadata.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The dev-lang category contains various programming language
-		implementations and related tools.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie dev-lang enthält verschiedene Programmiersprachen
-		und die damit verbundenen Werkzeuge.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría dev-lang contiene varias implementaciones de lenguajes de
-		programación y sus respectivas herramientas.
-	</longdescription>
-	<longdescription lang="ja">
-		dev-langカテゴリーには様々なプログラミング言語の実行環境とそれに関連した
-		ツールが含まれます。
-	</longdescription>
-	<longdescription lang="nl">
-		De dev-lang categorie bevat implementaties van verschillende programmeertalen
-		en gerelateerde hulpmiddelen.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm dev-lang chứa các phiên bản cài đặt các ngôn ngữ
-		lập trình khác nhau và các công cụ liên quan.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria dev-lang contiene varie implementazioni di linguaggi di programmazione e utilità correlate.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria dev-lang contém várias implementações de linguagens
-		de programação e ferramentas relacionadas.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria dev-lang zawiera różne implementacje języków programowania i
-		związane z nimi narzędzia.
-	</longdescription>
-</catmetadata>
-
diff --git a/dev-lang/mono/Manifest b/dev-lang/mono/Manifest
new file mode 100644
index 0000000..95ccf27
--- /dev/null
+++ b/dev-lang/mono/Manifest
@@ -0,0 +1 @@
+DIST mono-6.12.0.122.tar.xz 292266176 BLAKE2B 07043c5fbca33edf64ebca0392b47af9b9ab502be772efb5afbe5ec9e8683b7f4e96a305ee906dff617842bdba2819c2abc130d7aff23b12779f403bbd88f3bd SHA512 0fbd4147498cc81e384933147eb6aa5c559d17a794a308af7ffa43dce51e0faefde24fc75e987ed804dcb161b52756944bc3611100fc0a4adcc260ca97ddaecd
diff --git a/dev-rust/serialport/OWNERS b/dev-lang/mono/OWNERS
similarity index 100%
copy from dev-rust/serialport/OWNERS
copy to dev-lang/mono/OWNERS
diff --git a/dev-lang/mono/files/mono-5.12-try-catch.patch b/dev-lang/mono/files/mono-5.12-try-catch.patch
new file mode 100644
index 0000000..051c72b
--- /dev/null
+++ b/dev-lang/mono/files/mono-5.12-try-catch.patch
@@ -0,0 +1,31 @@
+diff -ur mono-5.9.0.398/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs mono-patched-5.9.0.398/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs
+--- mono-5.9.0.398/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs	2017-11-17 18:12:57.000000000 +0300
++++ mono-patched-5.9.0.398/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs	2017-12-06 06:24:45.067519852 +0300
+@@ -2810,14 +2810,21 @@
+ 
+ 		internal override object ClipboardRetrieve(IntPtr handle, int type, XplatUI.ClipboardToObject converter)
+ 		{
+-			XConvertSelection(DisplayHandle, handle, (IntPtr)type, (IntPtr)type, FosterParent, IntPtr.Zero);
++			try
++			{
++				XConvertSelection(DisplayHandle, handle, (IntPtr)type, (IntPtr)type, FosterParent, IntPtr.Zero);
+ 
+-			Clipboard.Retrieving = true;
+-			while (Clipboard.Retrieving) {
+-				UpdateMessageQueue(null, false);
+-			}
++				Clipboard.Retrieving = true;
++				while (Clipboard.Retrieving) {
++					UpdateMessageQueue(null, false);
++				}
+ 
+-			return Clipboard.Item;
++				return Clipboard.Item;
++			}
++			catch (Exception ex)
++			{
++				return null;
++			}
+ 		}
+ 
+ 		internal override void ClipboardStore (IntPtr handle, object obj, int type, XplatUI.ObjectToClipboard converter, bool copy)
diff --git a/dev-lang/mono/files/mono-5.18.0-reference-assemblies-fix.patch b/dev-lang/mono/files/mono-5.18.0-reference-assemblies-fix.patch
new file mode 100644
index 0000000..8aea9e5
--- /dev/null
+++ b/dev-lang/mono/files/mono-5.18.0-reference-assemblies-fix.patch
@@ -0,0 +1,1073 @@
+From 319c481d11dc5fb2e3abcf9629706dd956997797 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= <alex.koeplinger@outlook.com>
+Date: Thu, 19 Jul 2018 21:33:11 +0200
+Subject: [PATCH] Make it build with mcs
+
+---
+ build/monodroid/Makefile |  2 +-
+ build/monotouch/Makefile |  2 +-
+ mono/Makefile            |  8 ++++----
+ v2.0/Makefile            | 12 ++++++------
+ v3.5/Makefile            |  2 +-
+ v4.0/Makefile            | 16 ++++++++--------
+ v4.5.1/Makefile          | 24 ++++++++++++------------
+ v4.5.2/Makefile          | 24 ++++++++++++------------
+ v4.5/Makefile            | 24 ++++++++++++------------
+ v4.6.1/Makefile          | 24 ++++++++++++------------
+ v4.6.2/Makefile          | 24 ++++++++++++------------
+ v4.6/Makefile            | 24 ++++++++++++------------
+ v4.7.1/Makefile          | 26 +++++++++++++-------------
+ v4.7/Makefile            | 24 ++++++++++++------------
+ 14 files changed, 118 insertions(+), 118 deletions(-)
+
+diff --git a/build/monodroid/Makefile b/build/monodroid/Makefile
+index 0d90c10..1956eab 100644
+--- a/external/binary-reference-assemblies/build/monodroid/Makefile
++++ b/external/binary-reference-assemblies/build/monodroid/Makefile
+@@ -2,7 +2,7 @@ PROFILE := monodroid
+ SOURCEDIR := ../../src/$(PROFILE)/
+ 
+ CSC ?= csc
+-CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -publicsign -debug- -target:library -nowarn:612,618,809
++CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -delaysign -debug- -target:library -nowarn:612,618,809
+ Q_CSC = $(if $(V),,@echo "CSC   [$(PROFILE)] $(1)";)
+ 
+ ASSEMBLIES := mscorlib System System.Xml System.Numerics System.Core System.Net.Http Mono.Android
+@@ -24,7 +24,7 @@
+ mscorlib_CSC_ARGS := -runtimemetadataversion:v4.0.30319
+ System_CSC_ARGS := ../../src/mono/System.extra.cs
+ 
+-ECMA_KEY := ../../../../../mono/mcs/class/ecma.pub         # Public Key Token: b77a5c561934e089
++ECMA_KEY := ../../../../mcs/class/ecma.pub         # Public Key Token: b77a5c561934e089
+ 
+ ECMA_KEY_ASSEMBLIES := System.Core System.Net.Http System.Numerics System.Xml System mscorlib \
+ 	bare/System bare/System.Xml
+diff --git a/build/monotouch/Makefile b/build/monotouch/Makefile
+index e1ae217..1fd3094 100644
+--- a/external/binary-reference-assemblies/build/monotouch/Makefile
++++ b/external/binary-reference-assemblies/build/monotouch/Makefile
+@@ -2,7 +2,7 @@ PROFILE := monotouch
+ SOURCEDIR := ../../src/$(PROFILE)/
+ 
+ CSC ?= csc
+-CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -publicsign -debug- -target:library -nowarn:612,618,809
++CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -delaysign -debug- -target:library -nowarn:612,618,809
+ Q_CSC = $(if $(V),,@echo "CSC   [$(PROFILE)] $(1)";)
+
+ ASSEMBLIES := mscorlib System System.Xml System.Numerics System.Core System.Net.Http Xamarin.iOS Xamarin.TVOS Xamarin.WatchOS Xamarin.Mac OpenTK-1.0 OpenTK
+diff --git a/mono/Makefile b/mono/Makefile
+index 2885898..41d5515 100644
+--- a/external/binary-reference-assemblies/mono/Makefile
++++ b/external/binary-reference-assemblies/mono/Makefile
+@@ -3,7 +3,7 @@ SOURCEDIR := ../src/$(PROFILE)/
+ BCL_PROFILE := ../v4.6/
+ 
+ CSC ?= csc
+-CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -publicsign -debug- -target:library -nowarn:612 -nowarn:618
++CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -delaysign -debug- -target:library -nowarn:612 -nowarn:618
+ Q_CSC = $(if $(V),,@echo "CSC   [$(PROFILE)] $(1)";)
+ 
+ ASSEMBLIES := cscompmgd Commons.Xml.Relaxng I18N.CJK I18N.MidEast I18N.Other I18N.Rare I18N.West I18N IBM.Data.DB2 ICSharpCode.SharpZipLib	\
+@@ -27,7 +27,7 @@ I18N.Other_REFS := mscorlib
+ I18N.Rare_REFS := mscorlib
+ I18N.West_REFS := mscorlib
+ I18N_REFS := mscorlib
+-IBM.Data.DB2_REFS := mscorlib System System.Data
++IBM.Data.DB2_REFS := mscorlib System System.Data System.Xml
+ ICSharpCode.SharpZipLib_REFS := mscorlib System
+ Microsoft.Web.Infrastructure_REFS := mscorlib System System.Web
+ Mono.C5_REFS := mscorlib
+@@ -35,7 +35,7 @@ Mono.CSharp_REFS := mscorlib System System.Core System.Xml
+ Mono.Cairo_REFS := mscorlib
+ Mono.CodeContracts_REFS := mscorlib System.Core System
+ Mono.CompilerServices.SymbolWriter_REFS := mscorlib System
+-Mono.Data.Sqlite_REFS := mscorlib System.Data System System.Transactions
++Mono.Data.Sqlite_REFS := mscorlib System.Data System System.Transactions System.Xml
+ Mono.Data.Tds_REFS := mscorlib System
+ Mono.Debugger.Soft_REFS := mscorlib System.Core System
+ Mono.Http_REFS := mscorlib System System.Web System.Xml
+@@ -68,7 +68,7 @@ System.Reactive.Observable.Aliases_REFS := mscorlib System.Core
+ System.Reactive.PlatformServices_REFS := mscorlib System System.Core
+ System.Reactive.Providers_REFS := mscorlib System.Core System
+ System.Reactive.Runtime.Remoting_REFS := mscorlib System.Core
+-System.Reactive.Windows.Forms_REFS := mscorlib System.Windows.Forms
++System.Reactive.Windows.Forms_REFS := mscorlib System.Windows.Forms System
+ System.Reactive.Windows.Threading_REFS := mscorlib System WindowsBase
+ System.Threading.Tasks.Dataflow_REFS := mscorlib System.Core System
+ System.Web.Http.SelfHost_REFS := mscorlib System System.ServiceModel System.Net.Http System.Core System.IdentityModel System.Runtime.Serialization System.Configuration System.Xml
+diff --git a/v2.0/Makefile b/v2.0/Makefile
+index cc9e74f..f124f1b 100644
+--- a/external/binary-reference-assemblies/v2.0/Makefile
++++ b/external/binary-reference-assemblies/v2.0/Makefile
+@@ -2,7 +2,7 @@ PROFILE := v2.0
+ SOURCEDIR := ../src/$(PROFILE)/
+ 
+ CSC ?= csc
+-CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -publicsign -debug- -target:library -nowarn:612 -nowarn:618
++CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -delaysign -debug- -target:library -nowarn:612 -nowarn:618
+ Q_CSC = $(if $(V),,@echo "CSC   [$(PROFILE)] $(1)";)
+ 
+ ASSEMBLIES := Accessibility CustomMarshalers	\
+@@ -36,20 +36,20 @@ System.ComponentModel.DataAnnotations_REFS := mscorlib System System.Core
+ System.Configuration.Install_REFS := mscorlib System
+ System.Configuration_REFS := mscorlib System bare/System.Xml
+ System.Core_REFS := mscorlib System
+-System.Data.DataSetExtensions_REFS := System System.Data mscorlib System.Core
++System.Data.DataSetExtensions_REFS := System System.Data mscorlib System.Core System.Xml
+ System.Data.Linq_REFS := mscorlib System.Data System System.Core System.Xml System.Runtime.Serialization
+-System.Data.OracleClient_REFS := mscorlib System.Data System.Drawing System System.EnterpriseServices
++System.Data.OracleClient_REFS := mscorlib System.Data System.Drawing System System.EnterpriseServices System.Xml
+ System.Data.Services.Client_REFS := mscorlib System.Core System System.Xml WindowsBase System.Xml.Linq
+ System.Data.Services_REFS := mscorlib System.Core System System.ServiceModel System.ServiceModel.Web
+ System.Data_REFS := mscorlib System System.Xml System.Configuration System.Transactions System.EnterpriseServices
+-System.Design_REFS := mscorlib System System.Windows.Forms System.Data System.Drawing System.Xml bare/System.Web System.Configuration
++System.Design_REFS := mscorlib System System.Windows.Forms System.Data System.Drawing System.Xml bare/System.Web System.Configuration Accessibility
+ System.DirectoryServices.Protocols_REFS := mscorlib System System.Xml System.DirectoryServices
+ System.DirectoryServices_REFS := mscorlib System
+ System.Drawing.Design_REFS := System.Windows.Forms System.Drawing mscorlib System
+ System.Drawing_REFS := mscorlib System
+ System.EnterpriseServices_REFS := mscorlib System.Transactions
+ System.IdentityModel.Selectors_REFS := System.Xml mscorlib System System.IdentityModel
+-System.IdentityModel_REFS := mscorlib System System.Web System.Xml System.Runtime.Serialization System.Security
++System.IdentityModel_REFS := mscorlib System System.Web System.Xml System.Runtime.Serialization System.Security System.Configuration
+ System.Management_REFS := mscorlib System System.Configuration.Install
+ System.Messaging_REFS := mscorlib System System.Configuration.Install System.Xml System.Windows.Forms System.Drawing
+ System.Net_REFS := mscorlib System
+@@ -63,7 +63,7 @@ System.ServiceProcess_REFS := System mscorlib System.Configuration.Install Syste
+ System.Transactions_REFS := mscorlib System.Configuration
+ System.Web.Abstractions_REFS := System.Web mscorlib System
+ System.Web.DynamicData_REFS := mscorlib System.Core System.Data.Linq System System.Web System.Web.Extensions System.Web.Routing System.ComponentModel.DataAnnotations System.Drawing System.Web.Abstractions
+-System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing
++System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Windows.Forms
+ System.Web.Extensions_REFS := mscorlib System.Core System System.Web System.Configuration System.Web.Services System.Xml System.ServiceModel System.Data.Linq System.Drawing
+ System.Web.Routing_REFS := mscorlib System.Web.Abstractions System System.Core System.Web
+ System.Web.Services_REFS := System.EnterpriseServices bare/System.Web System.Configuration mscorlib System System.Xml
+diff --git a/v3.5/Makefile b/v3.5/Makefile
+index 0f95954..6fd61af 100644
+--- a/external/binary-reference-assemblies/v3.5/Makefile
++++ b/external/binary-reference-assemblies/v3.5/Makefile
+@@ -2,7 +2,7 @@ PROFILE := v3.5
+ SOURCEDIR := ../src/$(PROFILE)/
+ 
+ CSC ?= csc
+-CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -publicsign -debug- -target:library -nowarn:612 -nowarn:618
++CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -delaysign -debug- -target:library -nowarn:612 -nowarn:618
+ Q_CSC = $(if $(V),,@echo "CSC   [$(PROFILE)] $(1)";)
+ 
+ ASSEMBLIES := Microsoft.Build.Engine Microsoft.Build.Framework Microsoft.Build.Tasks.v3.5 Microsoft.Build.Utilities.v3.5
+diff --git a/v4.0/Makefile b/v4.0/Makefile
+index dbac63b..8a247db 100644
+--- a/external/binary-reference-assemblies/v4.0/Makefile
++++ b/external/binary-reference-assemblies/v4.0/Makefile
+@@ -2,7 +2,7 @@ PROFILE := v4.0
+ SOURCEDIR := ../src/$(PROFILE)/
+ 
+ CSC ?= csc
+-CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -publicsign -debug- -target:library -nowarn:612 -nowarn:618
++CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -delaysign -debug- -target:library -nowarn:612 -nowarn:618
+ Q_CSC = $(if $(V),,@echo "CSC   [$(PROFILE)] $(1)";)
+ 
+ ASSEMBLIES := Accessibility CustomMarshalers	\
+@@ -41,13 +41,13 @@ System.ComponentModel.DataAnnotations_REFS := mscorlib System System.Core
+ System.Configuration.Install_REFS := mscorlib System
+ System.Configuration_REFS := mscorlib System bare/System.Xml
+ System.Core_REFS := mscorlib System
+-System.Data.DataSetExtensions_REFS := System.Data mscorlib System.Core System
++System.Data.DataSetExtensions_REFS := System.Data mscorlib System.Core System System.Xml
+ System.Data.Linq_REFS := mscorlib System.Data System System.Core System.Xml System.Runtime.Serialization
+-System.Data.OracleClient_REFS := mscorlib System.Data System System.EnterpriseServices System.Drawing
++System.Data.OracleClient_REFS := mscorlib System.Data System System.EnterpriseServices System.Drawing System.Xml
+ System.Data.Services.Client_REFS := mscorlib System.Core System System.Xml System.Xml.Linq
+ System.Data.Services_REFS := mscorlib System.Core System System.Data.Services.Client System.ServiceModel System.ServiceModel.Web System.ServiceModel.Activation
+ System.Data_REFS := mscorlib System System.Xml System.Configuration System.Transactions System.EnterpriseServices
+-System.Design_REFS := mscorlib System System.Windows.Forms System.Data System.Drawing System.Xml bare/System.Web System.Configuration
++System.Design_REFS := mscorlib System System.Windows.Forms System.Data System.Drawing System.Xml bare/System.Web System.Configuration Accessibility
+ System.DirectoryServices.Protocols_REFS := mscorlib System System.Xml System.DirectoryServices
+ System.DirectoryServices_REFS := mscorlib System
+ System.Drawing.Design_REFS := System.Windows.Forms System.Drawing mscorlib System
+@@ -55,7 +55,7 @@ System.Drawing_REFS := mscorlib System
+ System.Dynamic_REFS := mscorlib System.Core System
+ System.EnterpriseServices_REFS := mscorlib System.Transactions
+ System.IdentityModel.Selectors_REFS := System.Xml mscorlib System System.IdentityModel
+-System.IdentityModel_REFS := mscorlib System System.Web.ApplicationServices System.Xml System.Runtime.Serialization System.Security
++System.IdentityModel_REFS := mscorlib System System.Web.ApplicationServices System.Xml System.Runtime.Serialization System.Security System.Configuration
+ System.Management_REFS := mscorlib System System.Configuration.Install
+ System.Messaging_REFS := mscorlib System System.Configuration.Install System.Xml System.Windows.Forms System.Drawing
+ System.Net_REFS := mscorlib System
+@@ -68,15 +68,15 @@ System.Runtime.Serialization_REFS := mscorlib System.Xml System System.Configura
+ System.Security_REFS := mscorlib System.Xml System
+ System.ServiceModel.Activation_REFS := mscorlib System.ServiceModel System
+ System.ServiceModel.Discovery_REFS := System.ServiceModel System mscorlib System.Configuration System.Runtime.Serialization System.Xml System.Xml.Linq System.Core
+-System.ServiceModel.Routing_REFS := System.ServiceModel mscorlib System.Runtime.Serialization System System.Configuration System.Core
++System.ServiceModel.Routing_REFS := System.ServiceModel mscorlib System.Runtime.Serialization System System.Configuration System.Core System.Xml
+ System.ServiceModel.Web_REFS := System.ServiceModel mscorlib System.Runtime.Serialization System.Configuration System System.Xml System.ServiceModel.Activation System.Core System.Web.Extensions
+ System.ServiceModel_REFS := mscorlib System System.Runtime.Serialization System.Xml System.Web System.IdentityModel System.Security System.Messaging System.Core System.Transactions System.Configuration System.Web.Services System.Web.ApplicationServices bare/System.ServiceModel.Activation System.IdentityModel.Selectors
+ System.ServiceProcess_REFS := System mscorlib System.Configuration.Install System.Windows.Forms
+ System.Transactions_REFS := mscorlib System.Configuration
+-System.Web.Abstractions_REFS := mscorlib System.Web
++System.Web.Abstractions_REFS := mscorlib System.Web System
+ System.Web.ApplicationServices_REFS := System mscorlib System.Configuration
+ System.Web.DynamicData_REFS := mscorlib System.Data.Linq System System.Web System.Web.Extensions System.Core System.ComponentModel.DataAnnotations System.Drawing
+-System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing
++System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Windows.Forms
+ System.Web.Extensions_REFS := mscorlib System.Core System System.Web System.Web.ApplicationServices System.Configuration System.Web.Services System.Xml System.ServiceModel System.Data.Linq System.Drawing
+ System.Web.Routing_REFS := mscorlib System.Web
+ System.Web.Services_REFS := System.EnterpriseServices bare/System.Web System.Configuration mscorlib System System.Xml
+diff --git a/v4.5.1/Makefile b/v4.5.1/Makefile
+index c046c80..da3c710 100644
+--- a/external/binary-reference-assemblies/v4.5.1/Makefile
++++ b/external/binary-reference-assemblies/v4.5.1/Makefile
+@@ -2,7 +2,7 @@ PROFILE := v4.5.1
+ SOURCEDIR := ../src/$(PROFILE)/
+ 
+ CSC ?= csc
+-CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -publicsign -debug- -target:library -nowarn:612 -nowarn:618
++CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -delaysign -debug- -target:library -nowarn:612 -nowarn:618
+ Q_CSC = $(if $(V),,@echo "CSC   [$(PROFILE)] $(1)";)
+ 
+ ASSEMBLIES := Accessibility CustomMarshalers	\
+@@ -64,14 +64,14 @@ System.ComponentModel.DataAnnotations_REFS := mscorlib System System.Core
+ System.Configuration.Install_REFS := mscorlib System
+ System.Configuration_REFS := mscorlib bare/System.Xml System
+ System.Core_REFS := mscorlib System
+-System.Data.DataSetExtensions_REFS := mscorlib System.Data System System.Core
++System.Data.DataSetExtensions_REFS := mscorlib System.Data System System.Core System.Xml
+ System.Data.Entity_REFS := mscorlib System.Core System System.Data System.Runtime.Serialization System.ComponentModel.DataAnnotations System.Xml System.Xml.Linq System.Transactions System.Configuration
+ System.Data.Linq_REFS := mscorlib System.Data System.Core System System.Xml System.Runtime.Serialization
+-System.Data.OracleClient_REFS := mscorlib System.Data System System.Drawing System.EnterpriseServices System.Transactions
++System.Data.OracleClient_REFS := mscorlib System.Data System System.Drawing System.EnterpriseServices System.Transactions System.Xml
+ System.Data.Services.Client_REFS := mscorlib System System.Xml System.Core System.Xml.Linq
+ System.Data.Services_REFS := mscorlib System.Configuration System.ServiceModel System.ServiceModel.Web System System.ServiceModel.Activation System.Core System.Data.Services.Client
+ System.Data_REFS := mscorlib System.Configuration System.Xml System System.Numerics System.Core System.Transactions System.EnterpriseServices
+-System.Design_REFS := mscorlib System.Drawing System.Drawing.Design System System.Windows.Forms System.Data bare/System.Web System.Configuration System.Xml
++System.Design_REFS := mscorlib System.Drawing System.Drawing.Design System System.Windows.Forms System.Data bare/System.Web System.Configuration System.Xml Accessibility
+ System.DirectoryServices.Protocols_REFS := mscorlib System.Xml System System.DirectoryServices
+ System.DirectoryServices_REFS := mscorlib System
+ System.Drawing.Design_REFS := mscorlib System.Drawing System.Windows.Forms System
+@@ -97,20 +97,20 @@ System.Security_REFS := mscorlib System System.Xml
+ System.ServiceModel.Activation_REFS := mscorlib System.ServiceModel System System.Web
+ System.ServiceModel.Discovery_REFS := mscorlib System.ServiceModel System System.Xml System.Xml.Linq System.Runtime.Serialization System.Configuration System.Core
+ System.ServiceModel.Internals_REFS := mscorlib System System.Xml
+-System.ServiceModel.Routing_REFS := mscorlib System.ServiceModel System.Configuration System System.Runtime.Serialization
++System.ServiceModel.Routing_REFS := mscorlib System.ServiceModel System.Configuration System System.Runtime.Serialization System.Xml
+ System.ServiceModel.Web_REFS := mscorlib System.ServiceModel System System.Runtime.Serialization System.Xml System.Xml.Linq System.Configuration System.ServiceModel.Activation System.Core System.Web.Extensions
+ System.ServiceModel_REFS := mscorlib System.Xml System.Xml.Linq System.Xaml System System.EnterpriseServices System.Transactions System.IdentityModel System.Runtime.Serialization System.Runtime.DurableInstancing System.Security System.Web.ApplicationServices System.Messaging System.Net.Http System.IdentityModel.Selectors System.Web.Services System.Configuration System.Web System.Core bare/System.ServiceModel.Activation
+ System.ServiceProcess_REFS := mscorlib System System.Configuration.Install System.Windows.Forms
+ System.Transactions_REFS := mscorlib System.Configuration
+-System.Web.Abstractions_REFS := mscorlib System.Web
++System.Web.Abstractions_REFS := mscorlib System.Web System
+ System.Web.ApplicationServices_REFS := mscorlib System System.Configuration
+ System.Web.DynamicData_REFS := mscorlib System System.Drawing System.Web System.Web.Extensions System.Core System.ComponentModel.DataAnnotations System.Data.Linq
+-System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Web.Extensions
++System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Web.Extensions System.Windows.Forms System.Web
+ System.Web.Extensions_REFS := mscorlib System.Web System System.Xml System.Drawing System.Data.Linq System.Web.Services System.ServiceModel System.ServiceModel.Activation System.Runtime.Serialization System.Web.ApplicationServices System.Core System.Configuration
+ System.Web.Routing_REFS := mscorlib System.Web
+ System.Web.Services_REFS := mscorlib System System.Configuration System.EnterpriseServices System.Xml bare/System.Web System.DirectoryServices System.Design System.Data
+ System.Web_REFS := mscorlib System.Configuration System.Xml System System.Data System.Drawing System.Runtime.Serialization.Formatters.Soap System.Core System.EnterpriseServices System.Web.ApplicationServices System.ComponentModel.DataAnnotations System.Web.Services
+-System.Windows.Forms.DataVisualization_REFS := mscorlib System.Drawing System.Windows.Forms System System.Xml System.Data System.Core
++System.Windows.Forms.DataVisualization_REFS := mscorlib System.Drawing System.Windows.Forms System System.Xml System.Data System.Core Accessibility
+ System.Windows.Forms_REFS := mscorlib System System.Xml System.Drawing System.Runtime.Serialization.Formatters.Soap Accessibility System.Configuration System.Data
+ System.Windows_REFS := mscorlib System
+ System.Xaml_REFS := mscorlib System System.Xml System.Core
+@@ -136,7 +136,7 @@ Facades/System.Diagnostics.Contracts_REFS := mscorlib
+ Facades/System.Diagnostics.Debug_REFS := mscorlib System
+ Facades/System.Diagnostics.Tools_REFS := mscorlib System
+ Facades/System.Diagnostics.Tracing_REFS := mscorlib
+-Facades/System.Dynamic.Runtime_REFS := mscorlib System.Core
++Facades/System.Dynamic.Runtime_REFS := mscorlib System.Core System
+ Facades/System.Globalization_REFS := mscorlib
+ Facades/System.IO_REFS := mscorlib System
+ Facades/System.Linq.Expressions_REFS := mscorlib System.Core
+@@ -160,13 +160,13 @@ Facades/System.Runtime.InteropServices_REFS := mscorlib System.Core System
+ Facades/System.Runtime.Numerics_REFS := mscorlib System.Numerics
+ Facades/System.Runtime.Serialization.Json_REFS := mscorlib System.Runtime.Serialization
+ Facades/System.Runtime.Serialization.Primitives_REFS := mscorlib System.Runtime.Serialization
+-Facades/System.Runtime.Serialization.Xml_REFS := mscorlib System.Runtime.Serialization System Facades/System.Runtime.Serialization.Primitives
++Facades/System.Runtime.Serialization.Xml_REFS := mscorlib System.Runtime.Serialization System System.Xml Facades/System.Runtime.Serialization.Primitives
+ Facades/System.Runtime_REFS := mscorlib System.Core System System.ComponentModel.Composition
+ Facades/System.Security.Principal_REFS := mscorlib
+ Facades/System.ServiceModel.Duplex_REFS := mscorlib System.ServiceModel
+ Facades/System.ServiceModel.Http_REFS := mscorlib System.ServiceModel
+ Facades/System.ServiceModel.NetTcp_REFS := mscorlib System.ServiceModel
+-Facades/System.ServiceModel.Primitives_REFS := mscorlib System.IdentityModel System.ServiceModel
++Facades/System.ServiceModel.Primitives_REFS := mscorlib System.IdentityModel System.ServiceModel System.Xml
+ Facades/System.ServiceModel.Security_REFS := mscorlib System.ServiceModel
+ Facades/System.Text.Encoding.Extensions_REFS := mscorlib
+ Facades/System.Text.Encoding_REFS := mscorlib
+@@ -175,7 +175,7 @@ Facades/System.Threading.Tasks.Parallel_REFS := mscorlib
+ Facades/System.Threading.Tasks_REFS := mscorlib System.Core
+ Facades/System.Threading_REFS := mscorlib System System.Core
+ Facades/System.Xml.ReaderWriter_REFS := mscorlib System.Xml
+-Facades/System.Xml.XDocument_REFS := mscorlib System.Xml.Linq
++Facades/System.Xml.XDocument_REFS := mscorlib System.Xml.Linq System.Xml
+ Facades/System.Xml.XmlSerializer_REFS := mscorlib System.Xml
+ 
+ mscorlib_CSC_ARGS := -runtimemetadataversion:v4.0.30319
+diff --git a/v4.5.2/Makefile b/v4.5.2/Makefile
+index ecc2cac..5775ab3 100644
+--- a/external/binary-reference-assemblies/v4.5.2/Makefile
++++ b/external/binary-reference-assemblies/v4.5.2/Makefile
+@@ -2,7 +2,7 @@ PROFILE := v4.5.2
+ SOURCEDIR := ../src/$(PROFILE)/
+ 
+ CSC ?= csc
+-CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -publicsign -debug- -target:library -nowarn:612 -nowarn:618
++CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -delaysign -debug- -target:library -nowarn:612 -nowarn:618
+ Q_CSC = $(if $(V),,@echo "CSC   [$(PROFILE)] $(1)";)
+ 
+ ASSEMBLIES := Accessibility CustomMarshalers	\
+@@ -64,14 +64,14 @@ System.ComponentModel.DataAnnotations_REFS := mscorlib System System.Core
+ System.Configuration.Install_REFS := mscorlib System
+ System.Configuration_REFS := mscorlib bare/System.Xml System
+ System.Core_REFS := mscorlib System
+-System.Data.DataSetExtensions_REFS := mscorlib System.Data System System.Core
++System.Data.DataSetExtensions_REFS := mscorlib System.Data System System.Core System.Xml
+ System.Data.Entity_REFS := mscorlib System.Core System System.Data System.Runtime.Serialization System.ComponentModel.DataAnnotations System.Xml System.Xml.Linq System.Transactions System.Configuration
+ System.Data.Linq_REFS := mscorlib System.Data System.Core System System.Xml System.Runtime.Serialization
+-System.Data.OracleClient_REFS := mscorlib System.Data System System.Drawing System.EnterpriseServices System.Transactions
++System.Data.OracleClient_REFS := mscorlib System.Data System System.Drawing System.EnterpriseServices System.Transactions System.Xml
+ System.Data.Services.Client_REFS := mscorlib System System.Xml System.Core System.Xml.Linq
+ System.Data.Services_REFS := mscorlib System.Configuration System.ServiceModel System.ServiceModel.Web System System.ServiceModel.Activation System.Core System.Data.Services.Client
+ System.Data_REFS := mscorlib System.Configuration System.Xml System System.Numerics System.Core System.Transactions System.EnterpriseServices
+-System.Design_REFS := mscorlib System.Drawing System.Drawing.Design System System.Windows.Forms System.Data bare/System.Web System.Configuration System.Xml
++System.Design_REFS := mscorlib System.Drawing System.Drawing.Design System System.Windows.Forms System.Data bare/System.Web System.Configuration System.Xml Accessibility
+ System.DirectoryServices.Protocols_REFS := mscorlib System.Xml System System.DirectoryServices
+ System.DirectoryServices_REFS := mscorlib System
+ System.Drawing.Design_REFS := mscorlib System.Drawing System.Windows.Forms System
+@@ -97,20 +97,20 @@ System.Security_REFS := mscorlib System System.Xml
+ System.ServiceModel.Activation_REFS := mscorlib System.ServiceModel System System.Web
+ System.ServiceModel.Discovery_REFS := mscorlib System.ServiceModel System System.Xml System.Xml.Linq System.Runtime.Serialization System.Configuration System.Core
+ System.ServiceModel.Internals_REFS := mscorlib System System.Xml
+-System.ServiceModel.Routing_REFS := mscorlib System.ServiceModel System.Configuration System System.Runtime.Serialization
++System.ServiceModel.Routing_REFS := mscorlib System.ServiceModel System.Configuration System System.Runtime.Serialization System.Xml
+ System.ServiceModel.Web_REFS := mscorlib System.ServiceModel System System.Runtime.Serialization System.Xml System.Xml.Linq System.Configuration System.ServiceModel.Activation System.Core System.Web.Extensions
+ System.ServiceModel_REFS := mscorlib System.Xml System.Xml.Linq System.Xaml System System.EnterpriseServices System.Transactions System.IdentityModel System.Runtime.Serialization System.Runtime.DurableInstancing System.Security System.Web.ApplicationServices System.Messaging System.Net.Http System.IdentityModel.Selectors System.Web.Services System.Configuration System.Web System.Core bare/System.ServiceModel.Activation
+ System.ServiceProcess_REFS := mscorlib System System.Configuration.Install System.Windows.Forms
+ System.Transactions_REFS := mscorlib System.Configuration
+-System.Web.Abstractions_REFS := mscorlib System.Web
++System.Web.Abstractions_REFS := mscorlib System.Web System
+ System.Web.ApplicationServices_REFS := mscorlib System System.Configuration
+ System.Web.DynamicData_REFS := mscorlib System System.Drawing System.Web System.Web.Extensions System.Core System.ComponentModel.DataAnnotations System.Data.Linq
+-System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Web.Extensions
++System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Web.Extensions System.Windows.Forms System.Web
+ System.Web.Extensions_REFS := mscorlib System.Web System System.Xml System.Drawing System.Data.Linq System.Web.Services System.ServiceModel System.ServiceModel.Activation System.Runtime.Serialization System.Web.ApplicationServices System.Core System.Configuration
+ System.Web.Routing_REFS := mscorlib System.Web
+ System.Web.Services_REFS := mscorlib System System.Configuration System.EnterpriseServices System.Xml bare/System.Web System.DirectoryServices System.Design System.Data
+ System.Web_REFS := mscorlib System.Configuration System.Xml System System.Data System.Drawing System.Runtime.Serialization.Formatters.Soap System.Core System.EnterpriseServices System.Web.ApplicationServices System.ComponentModel.DataAnnotations System.Web.Services
+-System.Windows.Forms.DataVisualization_REFS := mscorlib System.Drawing System.Windows.Forms System System.Xml System.Data System.Core
++System.Windows.Forms.DataVisualization_REFS := mscorlib System.Drawing System.Windows.Forms System System.Xml System.Data System.Core Accessibility
+ System.Windows.Forms_REFS := mscorlib System System.Xml System.Drawing System.Runtime.Serialization.Formatters.Soap Accessibility System.Configuration System.Data
+ System.Windows_REFS := mscorlib System
+ System.Xaml_REFS := mscorlib System System.Xml System.Core
+@@ -136,7 +136,7 @@ Facades/System.Diagnostics.Contracts_REFS := mscorlib
+ Facades/System.Diagnostics.Debug_REFS := mscorlib System
+ Facades/System.Diagnostics.Tools_REFS := mscorlib System
+ Facades/System.Diagnostics.Tracing_REFS := mscorlib
+-Facades/System.Dynamic.Runtime_REFS := mscorlib System.Core
++Facades/System.Dynamic.Runtime_REFS := mscorlib System.Core System
+ Facades/System.Globalization_REFS := mscorlib
+ Facades/System.IO_REFS := mscorlib System
+ Facades/System.Linq.Expressions_REFS := mscorlib System.Core
+@@ -160,13 +160,13 @@ Facades/System.Runtime.InteropServices_REFS := mscorlib System.Core System
+ Facades/System.Runtime.Numerics_REFS := mscorlib System.Numerics
+ Facades/System.Runtime.Serialization.Json_REFS := mscorlib System.Runtime.Serialization
+ Facades/System.Runtime.Serialization.Primitives_REFS := mscorlib System.Runtime.Serialization
+-Facades/System.Runtime.Serialization.Xml_REFS := mscorlib System.Runtime.Serialization System Facades/System.Runtime.Serialization.Primitives
++Facades/System.Runtime.Serialization.Xml_REFS := mscorlib System.Runtime.Serialization System System.Xml Facades/System.Runtime.Serialization.Primitives
+ Facades/System.Runtime_REFS := mscorlib System.Core System System.ComponentModel.Composition
+ Facades/System.Security.Principal_REFS := mscorlib
+ Facades/System.ServiceModel.Duplex_REFS := mscorlib System.ServiceModel
+ Facades/System.ServiceModel.Http_REFS := mscorlib System.ServiceModel
+ Facades/System.ServiceModel.NetTcp_REFS := mscorlib System.ServiceModel
+-Facades/System.ServiceModel.Primitives_REFS := mscorlib System.IdentityModel System.ServiceModel
++Facades/System.ServiceModel.Primitives_REFS := mscorlib System.IdentityModel System.ServiceModel System.Xml
+ Facades/System.ServiceModel.Security_REFS := mscorlib System.ServiceModel
+ Facades/System.Text.Encoding.Extensions_REFS := mscorlib
+ Facades/System.Text.Encoding_REFS := mscorlib
+@@ -175,7 +175,7 @@ Facades/System.Threading.Tasks.Parallel_REFS := mscorlib
+ Facades/System.Threading.Tasks_REFS := mscorlib System.Core
+ Facades/System.Threading_REFS := mscorlib System System.Core
+ Facades/System.Xml.ReaderWriter_REFS := mscorlib System.Xml
+-Facades/System.Xml.XDocument_REFS := mscorlib System.Xml.Linq
++Facades/System.Xml.XDocument_REFS := mscorlib System.Xml.Linq System.Xml
+ Facades/System.Xml.XmlSerializer_REFS := mscorlib System.Xml
+ 
+ mscorlib_CSC_ARGS := -runtimemetadataversion:v4.0.30319
+diff --git a/v4.5/Makefile b/v4.5/Makefile
+index af63664..1c1e08d 100644
+--- a/external/binary-reference-assemblies/v4.5/Makefile
++++ b/external/binary-reference-assemblies/v4.5/Makefile
+@@ -2,7 +2,7 @@ PROFILE := v4.5
+ SOURCEDIR := ../src/$(PROFILE)/
+ 
+ CSC ?= csc
+-CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -publicsign -debug- -target:library -nowarn:612 -nowarn:618
++CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -delaysign -debug- -target:library -nowarn:612 -nowarn:618
+ Q_CSC = $(if $(V),,@echo "CSC   [$(PROFILE)] $(1)";)
+ 
+ ASSEMBLIES := Accessibility CustomMarshalers	\
+@@ -64,14 +64,14 @@ System.ComponentModel.DataAnnotations_REFS := mscorlib System System.Core
+ System.Configuration.Install_REFS := mscorlib System
+ System.Configuration_REFS := mscorlib bare/System.Xml System
+ System.Core_REFS := mscorlib System
+-System.Data.DataSetExtensions_REFS := mscorlib System.Data System System.Core
++System.Data.DataSetExtensions_REFS := mscorlib System.Data System System.Core System.Xml
+ System.Data.Entity_REFS := mscorlib System.Core System System.Data System.Runtime.Serialization System.ComponentModel.DataAnnotations System.Xml System.Xml.Linq System.Transactions System.Configuration
+ System.Data.Linq_REFS := mscorlib System.Data System.Core System System.Xml System.Runtime.Serialization
+-System.Data.OracleClient_REFS := mscorlib System.Data System System.Drawing System.EnterpriseServices System.Transactions
++System.Data.OracleClient_REFS := mscorlib System.Data System System.Drawing System.EnterpriseServices System.Transactions System.Xml
+ System.Data.Services.Client_REFS := mscorlib System System.Xml System.Core System.Xml.Linq
+ System.Data.Services_REFS := mscorlib System.Configuration System.ServiceModel System.ServiceModel.Web System System.ServiceModel.Activation System.Core System.Data.Services.Client
+ System.Data_REFS := mscorlib System.Configuration System.Xml System System.Numerics System.Core System.Transactions System.EnterpriseServices
+-System.Design_REFS := mscorlib System.Drawing System.Drawing.Design System System.Windows.Forms System.Data bare/System.Web System.Configuration System.Xml
++System.Design_REFS := mscorlib System.Drawing System.Drawing.Design System System.Windows.Forms System.Data bare/System.Web System.Configuration System.Xml Accessibility
+ System.DirectoryServices.Protocols_REFS := mscorlib System.Xml System System.DirectoryServices
+ System.DirectoryServices_REFS := mscorlib System
+ System.Drawing.Design_REFS := mscorlib System.Drawing System.Windows.Forms System
+@@ -97,20 +97,20 @@ System.Security_REFS := mscorlib System System.Xml
+ System.ServiceModel.Activation_REFS := mscorlib System.ServiceModel System System.Web
+ System.ServiceModel.Discovery_REFS := mscorlib System.ServiceModel System System.Xml System.Xml.Linq System.Runtime.Serialization System.Configuration System.Core
+ System.ServiceModel.Internals_REFS := mscorlib System System.Xml
+-System.ServiceModel.Routing_REFS := mscorlib System.ServiceModel System.Configuration System System.Runtime.Serialization
++System.ServiceModel.Routing_REFS := mscorlib System.ServiceModel System.Configuration System System.Runtime.Serialization System.Xml
+ System.ServiceModel.Web_REFS := mscorlib System.ServiceModel System System.Runtime.Serialization System.Xml System.Xml.Linq System.Configuration System.ServiceModel.Activation System.Core System.Web.Extensions
+ System.ServiceModel_REFS := mscorlib System.Xml System.Xml.Linq System.Xaml System System.EnterpriseServices System.Transactions System.IdentityModel System.Runtime.Serialization System.Runtime.DurableInstancing System.Security System.Web.ApplicationServices System.Messaging System.Net.Http System.IdentityModel.Selectors System.Web.Services System.Configuration System.Web System.Core bare/System.ServiceModel.Activation
+ System.ServiceProcess_REFS := mscorlib System System.Configuration.Install System.Windows.Forms
+ System.Transactions_REFS := mscorlib System.Configuration
+-System.Web.Abstractions_REFS := mscorlib System.Web
++System.Web.Abstractions_REFS := mscorlib System.Web System
+ System.Web.ApplicationServices_REFS := mscorlib System System.Configuration
+ System.Web.DynamicData_REFS := mscorlib System System.Drawing System.Web System.Web.Extensions System.Core System.ComponentModel.DataAnnotations System.Data.Linq
+-System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Web.Extensions
++System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Web.Extensions System.Windows.Forms System.Web
+ System.Web.Extensions_REFS := mscorlib System.Web System System.Xml System.Drawing System.Data.Linq System.Web.Services System.ServiceModel System.ServiceModel.Activation System.Runtime.Serialization System.Web.ApplicationServices System.Core System.Configuration
+ System.Web.Routing_REFS := mscorlib System.Web
+ System.Web.Services_REFS := mscorlib System System.Configuration System.EnterpriseServices System.Xml bare/System.Web System.DirectoryServices System.Design System.Data
+ System.Web_REFS := mscorlib System.Configuration System.Xml System System.Data System.Drawing System.Runtime.Serialization.Formatters.Soap System.Core System.EnterpriseServices System.Web.ApplicationServices System.ComponentModel.DataAnnotations System.Web.Services
+-System.Windows.Forms.DataVisualization_REFS := mscorlib System.Drawing System.Windows.Forms System System.Xml System.Data System.Core
++System.Windows.Forms.DataVisualization_REFS := mscorlib System.Drawing System.Windows.Forms System System.Xml System.Data System.Core Accessibility
+ System.Windows.Forms_REFS := mscorlib System System.Xml System.Drawing System.Runtime.Serialization.Formatters.Soap Accessibility System.Configuration System.Data
+ System.Windows_REFS := mscorlib System
+ System.Xaml_REFS := mscorlib System System.Xml System.Core
+@@ -136,7 +136,7 @@ Facades/System.Diagnostics.Contracts_REFS := mscorlib
+ Facades/System.Diagnostics.Debug_REFS := mscorlib System
+ Facades/System.Diagnostics.Tools_REFS := mscorlib System
+ Facades/System.Diagnostics.Tracing_REFS := mscorlib
+-Facades/System.Dynamic.Runtime_REFS := mscorlib System.Core
++Facades/System.Dynamic.Runtime_REFS := mscorlib System.Core System
+ Facades/System.Globalization_REFS := mscorlib
+ Facades/System.IO_REFS := mscorlib System
+ Facades/System.Linq.Expressions_REFS := mscorlib System.Core
+@@ -160,13 +160,13 @@ Facades/System.Runtime.InteropServices_REFS := mscorlib System.Core System
+ Facades/System.Runtime.Numerics_REFS := mscorlib System.Numerics
+ Facades/System.Runtime.Serialization.Json_REFS := mscorlib System.Runtime.Serialization
+ Facades/System.Runtime.Serialization.Primitives_REFS := mscorlib System.Runtime.Serialization
+-Facades/System.Runtime.Serialization.Xml_REFS := mscorlib System.Runtime.Serialization System Facades/System.Runtime.Serialization.Primitives
++Facades/System.Runtime.Serialization.Xml_REFS := mscorlib System.Runtime.Serialization System System.Xml Facades/System.Runtime.Serialization.Primitives
+ Facades/System.Runtime_REFS := mscorlib System.Core System System.ComponentModel.Composition
+ Facades/System.Security.Principal_REFS := mscorlib
+ Facades/System.ServiceModel.Duplex_REFS := mscorlib System.ServiceModel
+ Facades/System.ServiceModel.Http_REFS := mscorlib System.ServiceModel
+ Facades/System.ServiceModel.NetTcp_REFS := mscorlib System.ServiceModel
+-Facades/System.ServiceModel.Primitives_REFS := mscorlib System.IdentityModel System.ServiceModel
++Facades/System.ServiceModel.Primitives_REFS := mscorlib System.IdentityModel System.ServiceModel System.Xml
+ Facades/System.ServiceModel.Security_REFS := mscorlib System.ServiceModel
+ Facades/System.Text.Encoding.Extensions_REFS := mscorlib
+ Facades/System.Text.Encoding_REFS := mscorlib
+@@ -175,7 +175,7 @@ Facades/System.Threading.Tasks.Parallel_REFS := mscorlib
+ Facades/System.Threading.Tasks_REFS := mscorlib System.Core
+ Facades/System.Threading_REFS := mscorlib System System.Core
+ Facades/System.Xml.ReaderWriter_REFS := mscorlib System.Xml
+-Facades/System.Xml.XDocument_REFS := mscorlib System.Xml.Linq
++Facades/System.Xml.XDocument_REFS := mscorlib System.Xml.Linq System.Xml
+ Facades/System.Xml.XmlSerializer_REFS := mscorlib System.Xml
+ 
+ mscorlib_CSC_ARGS := -runtimemetadataversion:v4.0.30319
+diff --git a/v4.6.1/Makefile b/v4.6.1/Makefile
+index d0a2995..9cd8def 100644
+--- a/external/binary-reference-assemblies/v4.6.1/Makefile
++++ b/external/binary-reference-assemblies/v4.6.1/Makefile
+@@ -2,7 +2,7 @@ PROFILE := v4.6.1
+ SOURCEDIR := ../src/$(PROFILE)/
+ 
+ CSC ?= csc
+-CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -publicsign -debug- -target:library -nowarn:612 -nowarn:618
++CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -delaysign -debug- -target:library -nowarn:612 -nowarn:618
+ Q_CSC = $(if $(V),,@echo "CSC   [$(PROFILE)] $(1)";)
+ 
+ ASSEMBLIES := Accessibility CustomMarshalers	\
+@@ -67,15 +67,15 @@ System.ComponentModel.DataAnnotations_REFS := mscorlib System System.Core
+ System.Configuration.Install_REFS := mscorlib System
+ System.Configuration_REFS := mscorlib bare/System.Xml System
+ System.Core_REFS := mscorlib System
+-System.Data.DataSetExtensions_REFS := mscorlib System.Data System System.Core
++System.Data.DataSetExtensions_REFS := mscorlib System.Data System System.Core System.Xml
+ System.Data.Entity_REFS := mscorlib System.Core System System.Data System.Runtime.Serialization System.ComponentModel.DataAnnotations System.Xml System.Xml.Linq System.Transactions System.Configuration
+ System.Data.Linq_REFS := mscorlib System.Data System.Core System System.Xml System.Runtime.Serialization
+-System.Data.OracleClient_REFS := mscorlib System.Data System System.Drawing System.EnterpriseServices System.Transactions
++System.Data.OracleClient_REFS := mscorlib System.Data System System.Drawing System.EnterpriseServices System.Transactions System.Xml
+ System.Data.Services.Client_REFS := mscorlib System System.Xml System.Core System.Xml.Linq
+ System.Data.Services_REFS := mscorlib System.Configuration System.ServiceModel System.ServiceModel.Web System System.ServiceModel.Activation System.Core System.Data.Services.Client
+ System.Data_REFS := mscorlib System.Configuration System.Xml System System.Numerics System.Core System.Transactions System.EnterpriseServices
+ System.Deployment_REFS := mscorlib
+-System.Design_REFS := mscorlib System.Drawing System.Drawing.Design System System.Windows.Forms System.Data bare/System.Web System.Configuration System.Xml
++System.Design_REFS := mscorlib System.Drawing System.Drawing.Design System System.Windows.Forms System.Data bare/System.Web System.Configuration System.Xml Accessibility
+ System.DirectoryServices.Protocols_REFS := mscorlib System.Xml System System.DirectoryServices
+ System.DirectoryServices_REFS := mscorlib System
+ System.Drawing.Design_REFS := mscorlib System.Drawing System.Windows.Forms System
+@@ -104,22 +104,22 @@ System.Security_REFS := mscorlib System System.Xml
+ System.ServiceModel.Activation_REFS := mscorlib System.ServiceModel System System.Web
+ System.ServiceModel.Discovery_REFS := mscorlib System.ServiceModel System System.Xml System.Xml.Linq System.Runtime.Serialization System.Configuration System.Core
+ System.ServiceModel.Internals_REFS := mscorlib System System.Xml
+-System.ServiceModel.Routing_REFS := mscorlib System.ServiceModel System.Configuration System System.Runtime.Serialization
++System.ServiceModel.Routing_REFS := mscorlib System.ServiceModel System.Configuration System System.Runtime.Serialization System.Xml
+ System.ServiceModel.Web_REFS := mscorlib System.ServiceModel System System.Runtime.Serialization System.Xml System.Xml.Linq System.Configuration System.ServiceModel.Activation System.Core System.Web.Extensions
+ System.ServiceModel_REFS := mscorlib System.Xml System.Xml.Linq System.Xaml System System.EnterpriseServices System.Transactions System.IdentityModel System.Runtime.Serialization System.Runtime.DurableInstancing System.Security System.Web.ApplicationServices System.Messaging System.Net.Http System.IdentityModel.Selectors System.Web.Services System.Configuration System.Web System.Core bare/System.ServiceModel.Activation
+ System.ServiceProcess_REFS := mscorlib System System.Configuration.Install System.Windows.Forms
+ System.Transactions_REFS := mscorlib System.Configuration
+-System.Web.Abstractions_REFS := mscorlib System.Web
++System.Web.Abstractions_REFS := mscorlib System.Web System
+ System.Web.ApplicationServices_REFS := mscorlib System System.Configuration
+ System.Web.DynamicData_REFS := mscorlib System System.Drawing System.Web System.Web.Extensions System.Core System.ComponentModel.DataAnnotations System.Data.Linq
+-System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Web.Extensions
++System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Web.Extensions System.Windows.Forms System.Web
+ System.Web.Extensions_REFS := mscorlib System.Web System System.Xml System.Drawing System.Data.Linq System.Web.Services System.ServiceModel System.ServiceModel.Activation System.Runtime.Serialization System.Web.ApplicationServices System.Core System.Configuration
+ System.Web.Mobile_REFS := mscorlib
+ System.Web.RegularExpressions_REFS := mscorlib System
+ System.Web.Routing_REFS := mscorlib System.Web
+ System.Web.Services_REFS := mscorlib System System.Configuration System.EnterpriseServices System.Xml bare/System.Web System.DirectoryServices System.Design System.Data
+ System.Web_REFS := mscorlib System.Configuration System.Xml System System.Data System.Drawing System.Runtime.Serialization.Formatters.Soap System.Core System.EnterpriseServices System.Web.ApplicationServices System.ComponentModel.DataAnnotations System.Web.Services
+-System.Windows.Forms.DataVisualization_REFS := mscorlib System.Drawing System.Windows.Forms System System.Xml System.Data System.Core
++System.Windows.Forms.DataVisualization_REFS := mscorlib System.Drawing System.Windows.Forms System System.Xml System.Data System.Core Accessibility
+ System.Windows.Forms_REFS := mscorlib System System.Xml System.Drawing System.Runtime.Serialization.Formatters.Soap Accessibility System.Configuration System.Data
+ System.Windows_REFS := mscorlib System
+ System.Workflow.Activities_REFS := mscorlib
+@@ -148,7 +148,7 @@ Facades/System.Diagnostics.Contracts_REFS := mscorlib
+ Facades/System.Diagnostics.Debug_REFS := mscorlib System
+ Facades/System.Diagnostics.Tools_REFS := mscorlib System
+ Facades/System.Diagnostics.Tracing_REFS := mscorlib
+-Facades/System.Dynamic.Runtime_REFS := mscorlib System.Core
++Facades/System.Dynamic.Runtime_REFS := mscorlib System.Core System
+ Facades/System.Globalization_REFS := mscorlib
+ Facades/System.IO_REFS := mscorlib System
+ Facades/System.Linq.Expressions_REFS := mscorlib System.Core
+@@ -174,13 +174,13 @@ Facades/System.Runtime.InteropServices_REFS := mscorlib System.Core System
+ Facades/System.Runtime.Numerics_REFS := mscorlib System.Numerics
+ Facades/System.Runtime.Serialization.Json_REFS := mscorlib System.Runtime.Serialization
+ Facades/System.Runtime.Serialization.Primitives_REFS := mscorlib System.Runtime.Serialization
+-Facades/System.Runtime.Serialization.Xml_REFS := mscorlib System.Runtime.Serialization System Facades/System.Runtime.Serialization.Primitives
++Facades/System.Runtime.Serialization.Xml_REFS := mscorlib System.Runtime.Serialization System System.Xml Facades/System.Runtime.Serialization.Primitives
+ Facades/System.Runtime_REFS := mscorlib System.Core System System.ComponentModel.Composition
+ Facades/System.Security.Principal_REFS := mscorlib
+ Facades/System.ServiceModel.Duplex_REFS := mscorlib System.ServiceModel
+ Facades/System.ServiceModel.Http_REFS := mscorlib System.ServiceModel
+ Facades/System.ServiceModel.NetTcp_REFS := mscorlib System.ServiceModel
+-Facades/System.ServiceModel.Primitives_REFS := mscorlib System.IdentityModel System.ServiceModel
++Facades/System.ServiceModel.Primitives_REFS := mscorlib System.IdentityModel System.ServiceModel System.Xml
+ Facades/System.ServiceModel.Security_REFS := mscorlib System.ServiceModel
+ Facades/System.Text.Encoding.Extensions_REFS := mscorlib
+ Facades/System.Text.Encoding_REFS := mscorlib
+@@ -190,7 +190,7 @@ Facades/System.Threading.Tasks_REFS := mscorlib System.Core
+ Facades/System.Threading.Timer_REFS := mscorlib
+ Facades/System.Threading_REFS := mscorlib System System.Core
+ Facades/System.Xml.ReaderWriter_REFS := mscorlib System.Xml
+-Facades/System.Xml.XDocument_REFS := mscorlib System.Xml.Linq
++Facades/System.Xml.XDocument_REFS := mscorlib System.Xml.Linq System.Xml
+ Facades/System.Xml.XmlSerializer_REFS := mscorlib System.Xml
+ 
+ mscorlib_CSC_ARGS := -runtimemetadataversion:v4.0.30319
+diff --git a/v4.6.2/Makefile b/v4.6.2/Makefile
+index fa702a1..0eac88b 100644
+--- a/external/binary-reference-assemblies/v4.6.2/Makefile
++++ b/external/binary-reference-assemblies/v4.6.2/Makefile
+@@ -2,7 +2,7 @@ PROFILE := v4.6.2
+ SOURCEDIR := ../src/$(PROFILE)/
+ 
+ CSC ?= csc
+-CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -publicsign -debug- -target:library -nowarn:612 -nowarn:618
++CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -delaysign -debug- -target:library -nowarn:612 -nowarn:618
+ Q_CSC = $(if $(V),,@echo "CSC   [$(PROFILE)] $(1)";)
+ 
+ ASSEMBLIES := Accessibility CustomMarshalers	\
+@@ -67,15 +67,15 @@ System.ComponentModel.DataAnnotations_REFS := mscorlib System System.Core
+ System.Configuration.Install_REFS := mscorlib System
+ System.Configuration_REFS := mscorlib bare/System.Xml System
+ System.Core_REFS := mscorlib System
+-System.Data.DataSetExtensions_REFS := mscorlib System.Data System System.Core
++System.Data.DataSetExtensions_REFS := mscorlib System.Data System System.Core System.Xml
+ System.Data.Entity_REFS := mscorlib System.Core System System.Data System.Runtime.Serialization System.ComponentModel.DataAnnotations System.Xml System.Xml.Linq System.Transactions System.Configuration
+ System.Data.Linq_REFS := mscorlib System.Data System.Core System System.Xml System.Runtime.Serialization
+-System.Data.OracleClient_REFS := mscorlib System.Data System System.Drawing System.EnterpriseServices System.Transactions
++System.Data.OracleClient_REFS := mscorlib System.Data System System.Drawing System.EnterpriseServices System.Transactions System.Xml
+ System.Data.Services.Client_REFS := mscorlib System System.Xml System.Core System.Xml.Linq
+ System.Data.Services_REFS := mscorlib System.Configuration System.ServiceModel System.ServiceModel.Web System System.ServiceModel.Activation System.Core System.Data.Services.Client
+ System.Data_REFS := mscorlib System.Configuration System.Xml System System.Numerics System.Core System.Transactions System.EnterpriseServices
+ System.Deployment_REFS := mscorlib
+-System.Design_REFS := mscorlib System.Drawing System.Drawing.Design System System.Windows.Forms System.Data bare/System.Web System.Configuration System.Xml
++System.Design_REFS := mscorlib System.Drawing System.Drawing.Design System System.Windows.Forms System.Data bare/System.Web System.Configuration System.Xml Accessibility
+ System.DirectoryServices.Protocols_REFS := mscorlib System.Xml System System.DirectoryServices
+ System.DirectoryServices_REFS := mscorlib System
+ System.Drawing.Design_REFS := mscorlib System.Drawing System.Windows.Forms System
+@@ -104,22 +104,22 @@ System.Security_REFS := mscorlib System System.Xml
+ System.ServiceModel.Activation_REFS := mscorlib System.ServiceModel System System.Web
+ System.ServiceModel.Discovery_REFS := mscorlib System.ServiceModel System System.Xml System.Xml.Linq System.Runtime.Serialization System.Configuration System.Core
+ System.ServiceModel.Internals_REFS := mscorlib System System.Xml
+-System.ServiceModel.Routing_REFS := mscorlib System.ServiceModel System.Configuration System System.Runtime.Serialization
++System.ServiceModel.Routing_REFS := mscorlib System.ServiceModel System.Configuration System System.Runtime.Serialization System.Xml
+ System.ServiceModel.Web_REFS := mscorlib System.ServiceModel System System.Runtime.Serialization System.Xml System.Xml.Linq System.Configuration System.ServiceModel.Activation System.Core System.Web.Extensions
+ System.ServiceModel_REFS := mscorlib System.Xml System.Xml.Linq System.Xaml System System.EnterpriseServices System.Transactions System.IdentityModel System.Runtime.Serialization System.Runtime.DurableInstancing System.Security System.Web.ApplicationServices System.Messaging System.Net.Http System.IdentityModel.Selectors System.Web.Services System.Configuration System.Web System.Core bare/System.ServiceModel.Activation
+ System.ServiceProcess_REFS := mscorlib System System.Configuration.Install System.Windows.Forms
+ System.Transactions_REFS := mscorlib System.Configuration
+-System.Web.Abstractions_REFS := mscorlib System.Web
++System.Web.Abstractions_REFS := mscorlib System.Web System
+ System.Web.ApplicationServices_REFS := mscorlib System System.Configuration
+ System.Web.DynamicData_REFS := mscorlib System System.Drawing System.Web System.Web.Extensions System.Core System.ComponentModel.DataAnnotations System.Data.Linq
+-System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Web.Extensions
++System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Web.Extensions System.Windows.Forms System.Web
+ System.Web.Extensions_REFS := mscorlib System.Web System System.Xml System.Drawing System.Data.Linq System.Web.Services System.ServiceModel System.ServiceModel.Activation System.Runtime.Serialization System.Web.ApplicationServices System.Core System.Configuration
+ System.Web.Mobile_REFS := mscorlib
+ System.Web.RegularExpressions_REFS := mscorlib System
+ System.Web.Routing_REFS := mscorlib System.Web
+ System.Web.Services_REFS := mscorlib System System.Configuration System.EnterpriseServices System.Xml bare/System.Web System.DirectoryServices System.Design System.Data
+ System.Web_REFS := mscorlib System.Configuration System.Xml System System.Data System.Drawing System.Runtime.Serialization.Formatters.Soap System.Core System.EnterpriseServices System.Web.ApplicationServices System.ComponentModel.DataAnnotations System.Web.Services
+-System.Windows.Forms.DataVisualization_REFS := mscorlib System.Drawing System.Windows.Forms System System.Xml System.Data System.Core
++System.Windows.Forms.DataVisualization_REFS := mscorlib System.Drawing System.Windows.Forms System System.Xml System.Data System.Core Accessibility
+ System.Windows.Forms_REFS := mscorlib System System.Xml System.Drawing System.Runtime.Serialization.Formatters.Soap Accessibility System.Configuration System.Data
+ System.Windows_REFS := mscorlib System
+ System.Workflow.Activities_REFS := mscorlib
+@@ -148,7 +148,7 @@ Facades/System.Diagnostics.Contracts_REFS := mscorlib
+ Facades/System.Diagnostics.Debug_REFS := mscorlib System
+ Facades/System.Diagnostics.Tools_REFS := mscorlib System
+ Facades/System.Diagnostics.Tracing_REFS := mscorlib
+-Facades/System.Dynamic.Runtime_REFS := mscorlib System.Core
++Facades/System.Dynamic.Runtime_REFS := mscorlib System.Core System
+ Facades/System.Globalization_REFS := mscorlib
+ Facades/System.IO_REFS := mscorlib System
+ Facades/System.Linq.Expressions_REFS := mscorlib System.Core
+@@ -174,13 +174,13 @@ Facades/System.Runtime.InteropServices_REFS := mscorlib System.Core System
+ Facades/System.Runtime.Numerics_REFS := mscorlib System.Numerics
+ Facades/System.Runtime.Serialization.Json_REFS := mscorlib System.Runtime.Serialization
+ Facades/System.Runtime.Serialization.Primitives_REFS := mscorlib System.Runtime.Serialization
+-Facades/System.Runtime.Serialization.Xml_REFS := mscorlib System.Runtime.Serialization System Facades/System.Runtime.Serialization.Primitives
++Facades/System.Runtime.Serialization.Xml_REFS := mscorlib System.Runtime.Serialization System System.Xml Facades/System.Runtime.Serialization.Primitives
+ Facades/System.Runtime_REFS := mscorlib System.Core System System.ComponentModel.Composition
+ Facades/System.Security.Principal_REFS := mscorlib
+ Facades/System.ServiceModel.Duplex_REFS := mscorlib System.ServiceModel
+ Facades/System.ServiceModel.Http_REFS := mscorlib System.ServiceModel
+ Facades/System.ServiceModel.NetTcp_REFS := mscorlib System.ServiceModel
+-Facades/System.ServiceModel.Primitives_REFS := mscorlib System.IdentityModel System.ServiceModel
++Facades/System.ServiceModel.Primitives_REFS := mscorlib System.IdentityModel System.ServiceModel System.Xml
+ Facades/System.ServiceModel.Security_REFS := mscorlib System.ServiceModel
+ Facades/System.Text.Encoding.Extensions_REFS := mscorlib
+ Facades/System.Text.Encoding_REFS := mscorlib
+@@ -190,7 +190,7 @@ Facades/System.Threading.Tasks_REFS := mscorlib System.Core
+ Facades/System.Threading.Timer_REFS := mscorlib
+ Facades/System.Threading_REFS := mscorlib System System.Core
+ Facades/System.Xml.ReaderWriter_REFS := mscorlib System.Xml
+-Facades/System.Xml.XDocument_REFS := mscorlib System.Xml.Linq
++Facades/System.Xml.XDocument_REFS := mscorlib System.Xml.Linq System.Xml
+ Facades/System.Xml.XmlSerializer_REFS := mscorlib System.Xml
+ 
+ mscorlib_CSC_ARGS := -runtimemetadataversion:v4.0.30319
+diff --git a/v4.6/Makefile b/v4.6/Makefile
+index 9fb9639..80cb651 100644
+--- a/external/binary-reference-assemblies/v4.6/Makefile
++++ b/external/binary-reference-assemblies/v4.6/Makefile
+@@ -2,7 +2,7 @@ PROFILE := v4.6
+ SOURCEDIR := ../src/$(PROFILE)/
+ 
+ CSC ?= csc
+-CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -publicsign -debug- -target:library -nowarn:612 -nowarn:618
++CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -delaysign -debug- -target:library -nowarn:612 -nowarn:618
+ Q_CSC = $(if $(V),,@echo "CSC   [$(PROFILE)] $(1)";)
+ 
+ ASSEMBLIES := Accessibility CustomMarshalers	\
+@@ -67,15 +67,15 @@ System.ComponentModel.DataAnnotations_REFS := mscorlib System System.Core
+ System.Configuration.Install_REFS := mscorlib System
+ System.Configuration_REFS := mscorlib bare/System.Xml System
+ System.Core_REFS := mscorlib System
+-System.Data.DataSetExtensions_REFS := mscorlib System.Data System System.Core
++System.Data.DataSetExtensions_REFS := mscorlib System.Data System System.Core System.Xml
+ System.Data.Entity_REFS := mscorlib System.Core System System.Data System.Runtime.Serialization System.ComponentModel.DataAnnotations System.Xml System.Xml.Linq System.Transactions System.Configuration
+ System.Data.Linq_REFS := mscorlib System.Data System.Core System System.Xml System.Runtime.Serialization
+-System.Data.OracleClient_REFS := mscorlib System.Data System System.Drawing System.EnterpriseServices System.Transactions
++System.Data.OracleClient_REFS := mscorlib System.Data System System.Drawing System.EnterpriseServices System.Transactions System.Xml
+ System.Data.Services.Client_REFS := mscorlib System System.Xml System.Core System.Xml.Linq
+ System.Data.Services_REFS := mscorlib System.Configuration System.ServiceModel System.ServiceModel.Web System System.ServiceModel.Activation System.Core System.Data.Services.Client
+ System.Data_REFS := mscorlib System.Configuration System.Xml System System.Numerics System.Core System.Transactions System.EnterpriseServices
+ System.Deployment_REFS := mscorlib
+-System.Design_REFS := mscorlib System.Drawing System.Drawing.Design System System.Windows.Forms System.Data bare/System.Web System.Configuration System.Xml
++System.Design_REFS := mscorlib System.Drawing System.Drawing.Design System System.Windows.Forms System.Data bare/System.Web System.Configuration System.Xml Accessibility
+ System.DirectoryServices.Protocols_REFS := mscorlib System.Xml System System.DirectoryServices
+ System.DirectoryServices_REFS := mscorlib System
+ System.Drawing.Design_REFS := mscorlib System.Drawing System.Windows.Forms System
+@@ -104,22 +104,22 @@ System.Security_REFS := mscorlib System System.Xml
+ System.ServiceModel.Activation_REFS := mscorlib System.ServiceModel System System.Web
+ System.ServiceModel.Discovery_REFS := mscorlib System.ServiceModel System System.Xml System.Xml.Linq System.Runtime.Serialization System.Configuration System.Core
+ System.ServiceModel.Internals_REFS := mscorlib System System.Xml
+-System.ServiceModel.Routing_REFS := mscorlib System.ServiceModel System.Configuration System System.Runtime.Serialization
++System.ServiceModel.Routing_REFS := mscorlib System.ServiceModel System.Configuration System System.Runtime.Serialization System.Xml
+ System.ServiceModel.Web_REFS := mscorlib System.ServiceModel System System.Runtime.Serialization System.Xml System.Xml.Linq System.Configuration System.ServiceModel.Activation System.Core System.Web.Extensions
+ System.ServiceModel_REFS := mscorlib System.Xml System.Xml.Linq System.Xaml System System.EnterpriseServices System.Transactions System.IdentityModel System.Runtime.Serialization System.Runtime.DurableInstancing System.Security System.Web.ApplicationServices System.Messaging System.Net.Http System.IdentityModel.Selectors System.Web.Services System.Configuration System.Web System.Core bare/System.ServiceModel.Activation
+ System.ServiceProcess_REFS := mscorlib System System.Configuration.Install System.Windows.Forms
+ System.Transactions_REFS := mscorlib System.Configuration
+-System.Web.Abstractions_REFS := mscorlib System.Web
++System.Web.Abstractions_REFS := mscorlib System.Web System
+ System.Web.ApplicationServices_REFS := mscorlib System System.Configuration
+ System.Web.DynamicData_REFS := mscorlib System System.Drawing System.Web System.Web.Extensions System.Core System.ComponentModel.DataAnnotations System.Data.Linq
+-System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Web.Extensions
++System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Web.Extensions System.Windows.Forms System.Web
+ System.Web.Extensions_REFS := mscorlib System.Web System System.Xml System.Drawing System.Data.Linq System.Web.Services System.ServiceModel System.ServiceModel.Activation System.Runtime.Serialization System.Web.ApplicationServices System.Core System.Configuration
+ System.Web.Mobile_REFS := mscorlib
+ System.Web.RegularExpressions_REFS := mscorlib System
+ System.Web.Routing_REFS := mscorlib System.Web
+ System.Web.Services_REFS := mscorlib System System.Configuration System.EnterpriseServices System.Xml bare/System.Web System.DirectoryServices System.Design System.Data
+ System.Web_REFS := mscorlib System.Configuration System.Xml System System.Data System.Drawing System.Runtime.Serialization.Formatters.Soap System.Core System.EnterpriseServices System.Web.ApplicationServices System.ComponentModel.DataAnnotations System.Web.Services
+-System.Windows.Forms.DataVisualization_REFS := mscorlib System.Drawing System.Windows.Forms System System.Xml System.Data System.Core
++System.Windows.Forms.DataVisualization_REFS := mscorlib System.Drawing System.Windows.Forms System System.Xml System.Data System.Core Accessibility
+ System.Windows.Forms_REFS := mscorlib System System.Xml System.Drawing System.Runtime.Serialization.Formatters.Soap Accessibility System.Configuration System.Data
+ System.Windows_REFS := mscorlib System
+ System.Workflow.Activities_REFS := mscorlib
+@@ -148,7 +148,7 @@ Facades/System.Diagnostics.Contracts_REFS := mscorlib
+ Facades/System.Diagnostics.Debug_REFS := mscorlib System
+ Facades/System.Diagnostics.Tools_REFS := mscorlib System
+ Facades/System.Diagnostics.Tracing_REFS := mscorlib
+-Facades/System.Dynamic.Runtime_REFS := mscorlib System.Core
++Facades/System.Dynamic.Runtime_REFS := mscorlib System.Core System
+ Facades/System.Globalization_REFS := mscorlib
+ Facades/System.IO_REFS := mscorlib System
+ Facades/System.Linq.Expressions_REFS := mscorlib System.Core
+@@ -174,13 +174,13 @@ Facades/System.Runtime.InteropServices_REFS := mscorlib System.Core System
+ Facades/System.Runtime.Numerics_REFS := mscorlib System.Numerics
+ Facades/System.Runtime.Serialization.Json_REFS := mscorlib System.Runtime.Serialization
+ Facades/System.Runtime.Serialization.Primitives_REFS := mscorlib System.Runtime.Serialization
+-Facades/System.Runtime.Serialization.Xml_REFS := mscorlib System.Runtime.Serialization System Facades/System.Runtime.Serialization.Primitives
++Facades/System.Runtime.Serialization.Xml_REFS := mscorlib System.Runtime.Serialization System System.Xml Facades/System.Runtime.Serialization.Primitives
+ Facades/System.Runtime_REFS := mscorlib System.Core System System.ComponentModel.Composition
+ Facades/System.Security.Principal_REFS := mscorlib
+ Facades/System.ServiceModel.Duplex_REFS := mscorlib System.ServiceModel
+ Facades/System.ServiceModel.Http_REFS := mscorlib System.ServiceModel
+ Facades/System.ServiceModel.NetTcp_REFS := mscorlib System.ServiceModel
+-Facades/System.ServiceModel.Primitives_REFS := mscorlib System.IdentityModel System.ServiceModel
++Facades/System.ServiceModel.Primitives_REFS := mscorlib System.IdentityModel System.ServiceModel System.Xml
+ Facades/System.ServiceModel.Security_REFS := mscorlib System.ServiceModel
+ Facades/System.Text.Encoding.Extensions_REFS := mscorlib
+ Facades/System.Text.Encoding_REFS := mscorlib
+@@ -190,7 +190,7 @@ Facades/System.Threading.Tasks_REFS := mscorlib System.Core
+ Facades/System.Threading.Timer_REFS := mscorlib
+ Facades/System.Threading_REFS := mscorlib System System.Core
+ Facades/System.Xml.ReaderWriter_REFS := mscorlib System.Xml
+-Facades/System.Xml.XDocument_REFS := mscorlib System.Xml.Linq
++Facades/System.Xml.XDocument_REFS := mscorlib System.Xml.Linq System.Xml
+ Facades/System.Xml.XmlSerializer_REFS := mscorlib System.Xml
+ 
+ mscorlib_CSC_ARGS := -runtimemetadataversion:v4.0.30319
+diff --git a/v4.7.1/Makefile b/v4.7.1/Makefile
+index 0bcf238..a6338b2 100644
+--- a/external/binary-reference-assemblies/v4.7.1/Makefile
++++ b/external/binary-reference-assemblies/v4.7.1/Makefile
+@@ -2,7 +2,7 @@ PROFILE := v4.7.1
+ SOURCEDIR := ../src/$(PROFILE)/
+ 
+ CSC ?= csc
+-CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -publicsign -debug- -target:library -nowarn:612 -nowarn:618
++CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -delaysign -debug- -target:library -nowarn:612 -nowarn:618
+ Q_CSC = $(if $(V),,@echo "CSC   [$(PROFILE)] $(1)";)
+ 
+ ASSEMBLIES := Accessibility CustomMarshalers	\
+@@ -81,15 +81,15 @@ System.ComponentModel.DataAnnotations_REFS := mscorlib System System.Core
+ System.Configuration.Install_REFS := mscorlib System
+ System.Configuration_REFS := mscorlib bare/System.Xml System
+ System.Core_REFS := mscorlib System
+-System.Data.DataSetExtensions_REFS := mscorlib System.Data System System.Core
++System.Data.DataSetExtensions_REFS := mscorlib System.Data System System.Core System.Xml
+ System.Data.Entity_REFS := mscorlib System.Core System System.Data System.Runtime.Serialization System.ComponentModel.DataAnnotations System.Xml System.Xml.Linq System.Transactions System.Configuration
+ System.Data.Linq_REFS := mscorlib System.Data System.Core System System.Xml System.Runtime.Serialization
+-System.Data.OracleClient_REFS := mscorlib System.Data System System.Drawing System.EnterpriseServices System.Transactions
++System.Data.OracleClient_REFS := mscorlib System.Data System System.Drawing System.EnterpriseServices System.Transactions System.Xml
+ System.Data.Services.Client_REFS := mscorlib System System.Xml System.Core System.Xml.Linq
+ System.Data.Services_REFS := mscorlib System.Configuration System.ServiceModel System.ServiceModel.Web System System.ServiceModel.Activation System.Core System.Data.Services.Client
+ System.Data_REFS := mscorlib System.Configuration System.Xml System System.Numerics System.Core System.Transactions System.EnterpriseServices
+ System.Deployment_REFS := mscorlib
+-System.Design_REFS := mscorlib System.Drawing System.Drawing.Design System System.Windows.Forms System.Data bare/System.Web System.Configuration System.Xml
++System.Design_REFS := mscorlib System.Drawing System.Drawing.Design System System.Windows.Forms System.Data bare/System.Web System.Configuration System.Xml Accessibility
+ System.Diagnostics.Tracing_REFS := mscorlib
+ System.DirectoryServices.Protocols_REFS := mscorlib System.Xml System System.DirectoryServices
+ System.DirectoryServices_REFS := mscorlib System
+@@ -117,22 +117,22 @@ System.Runtime.Serialization_REFS := mscorlib System.Xml System System.Configura
+ System.Security_REFS := mscorlib System System.Xml
+ System.ServiceModel.Activation_REFS := mscorlib System.ServiceModel System System.Web
+ System.ServiceModel.Discovery_REFS := mscorlib System.ServiceModel System System.Xml System.Xml.Linq System.Runtime.Serialization System.Configuration System.Core
+-System.ServiceModel.Routing_REFS := mscorlib System.ServiceModel System.Configuration System System.Runtime.Serialization
++System.ServiceModel.Routing_REFS := mscorlib System.ServiceModel System.Configuration System System.Runtime.Serialization System.Xml
+ System.ServiceModel.Web_REFS := mscorlib System.ServiceModel System System.Runtime.Serialization System.Xml System.Xml.Linq System.Configuration System.ServiceModel.Activation System.Core System.Web.Extensions
+ System.ServiceModel_REFS := mscorlib System.Xml System.Xml.Linq System.Xaml System System.EnterpriseServices System.Transactions System.IdentityModel System.Runtime.Serialization System.Runtime.DurableInstancing System.Security System.Web.ApplicationServices System.Messaging System.Net.Http System.IdentityModel.Selectors System.Web.Services System.Configuration System.Web System.Core bare/System.ServiceModel.Activation
+ System.ServiceProcess_REFS := mscorlib System System.Configuration.Install System.Windows.Forms
+ System.Transactions_REFS := mscorlib System.Configuration
+-System.Web.Abstractions_REFS := mscorlib System.Web
++System.Web.Abstractions_REFS := mscorlib System.Web System
+ System.Web.ApplicationServices_REFS := mscorlib System System.Configuration
+ System.Web.DynamicData_REFS := mscorlib System System.Drawing System.Web System.Web.Extensions System.Core System.ComponentModel.DataAnnotations System.Data.Linq
+-System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Web System.Web.Extensions
++System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Web System.Web.Extensions System.Windows.Forms
+ System.Web.Extensions_REFS := mscorlib System.Web System System.Xml System.Drawing System.Design System.Data.Linq System.Web.Services System.ServiceModel System.ServiceModel.Activation System.Runtime.Serialization System.Web.ApplicationServices System.Core System.Configuration
+ System.Web.Mobile_REFS := mscorlib
+ System.Web.RegularExpressions_REFS := mscorlib System
+ System.Web.Routing_REFS := mscorlib System.Web
+ System.Web.Services_REFS := mscorlib System System.Configuration System.EnterpriseServices System.Xml bare/System.Web System.DirectoryServices System.Design System.Data
+ System.Web_REFS := mscorlib System.Configuration System.Xml System System.Data System.Drawing System.Runtime.Serialization.Formatters.Soap System.Core System.EnterpriseServices System.Web.ApplicationServices System.ComponentModel.DataAnnotations System.Web.Services
+-System.Windows.Forms.DataVisualization_REFS := mscorlib System.Drawing System.Windows.Forms System System.Xml System.Data System.Core
++System.Windows.Forms.DataVisualization_REFS := mscorlib System.Drawing System.Windows.Forms System System.Xml System.Data System.Core Accessibility
+ System.Windows.Forms_REFS := mscorlib System System.Xml System.Drawing System.Runtime.Serialization.Formatters.Soap Accessibility System.Configuration System.Data
+ System.Windows_REFS := mscorlib System
+ System.Workflow.Activities_REFS := mscorlib
+@@ -164,7 +164,7 @@ Facades/System.ComponentModel.Primitives_REFS := mscorlib System
+ Facades/System.ComponentModel.TypeConverter_REFS := mscorlib System
+ Facades/System.ComponentModel_REFS := mscorlib System
+ Facades/System.Console_REFS := mscorlib
+-Facades/System.Data.Common_REFS := mscorlib System.Data
++Facades/System.Data.Common_REFS := mscorlib System.Data System System.Xml
+ Facades/System.Diagnostics.Contracts_REFS := mscorlib
+ Facades/System.Diagnostics.Debug_REFS := mscorlib System
+ Facades/System.Diagnostics.FileVersionInfo_REFS := mscorlib System
+@@ -174,7 +174,7 @@ Facades/System.Diagnostics.TextWriterTraceListener_REFS := mscorlib System
+ Facades/System.Diagnostics.Tools_REFS := mscorlib System
+ Facades/System.Diagnostics.TraceSource_REFS := mscorlib System
+ Facades/System.Drawing.Primitives_REFS := mscorlib System.Drawing
+-Facades/System.Dynamic.Runtime_REFS := mscorlib System.Core
++Facades/System.Dynamic.Runtime_REFS := mscorlib System.Core System
+ Facades/System.Globalization.Calendars_REFS := mscorlib
+ Facades/System.Globalization.Extensions_REFS := mscorlib System
+ Facades/System.Globalization_REFS := mscorlib
+@@ -223,7 +223,7 @@ Facades/System.Runtime.Numerics_REFS := mscorlib System.Numerics
+ Facades/System.Runtime.Serialization.Formatters_REFS := mscorlib
+ Facades/System.Runtime.Serialization.Json_REFS := mscorlib System.Runtime.Serialization
+ Facades/System.Runtime.Serialization.Primitives_REFS := mscorlib System.Runtime.Serialization
+-Facades/System.Runtime.Serialization.Xml_REFS := mscorlib System.Runtime.Serialization System Facades/System.Runtime.Serialization.Primitives
++Facades/System.Runtime.Serialization.Xml_REFS := mscorlib System.Runtime.Serialization System System.Xml Facades/System.Runtime.Serialization.Primitives
+ Facades/System.Runtime_REFS := mscorlib System.Core System System.ComponentModel.Composition
+ Facades/System.Security.Claims_REFS := mscorlib
+ Facades/System.Security.Cryptography.Algorithms_REFS := mscorlib System.Core
+@@ -236,7 +236,7 @@ Facades/System.Security.SecureString_REFS := mscorlib System
+ Facades/System.ServiceModel.Duplex_REFS := mscorlib System.ServiceModel
+ Facades/System.ServiceModel.Http_REFS := mscorlib System.ServiceModel
+ Facades/System.ServiceModel.NetTcp_REFS := mscorlib System.ServiceModel
+-Facades/System.ServiceModel.Primitives_REFS := mscorlib System.IdentityModel System.ServiceModel
++Facades/System.ServiceModel.Primitives_REFS := mscorlib System.IdentityModel System.ServiceModel System.Xml
+ Facades/System.ServiceModel.Security_REFS := mscorlib System.ServiceModel
+ Facades/System.Text.Encoding.Extensions_REFS := mscorlib
+ Facades/System.Text.Encoding_REFS := mscorlib
+@@ -250,7 +250,7 @@ Facades/System.Threading.Timer_REFS := mscorlib
+ Facades/System.Threading_REFS := mscorlib System System.Core
+ Facades/System.ValueTuple_REFS := mscorlib
+ Facades/System.Xml.ReaderWriter_REFS := mscorlib System.Xml
+-Facades/System.Xml.XDocument_REFS := mscorlib System.Xml.Linq
++Facades/System.Xml.XDocument_REFS := mscorlib System.Xml.Linq System.Xml
+ Facades/System.Xml.XPath.XDocument_REFS := mscorlib System.Xml.Linq
+ Facades/System.Xml.XPath_REFS := mscorlib System.Xml
+ Facades/System.Xml.XmlDocument_REFS := mscorlib System.Xml
+diff --git a/v4.7/Makefile b/v4.7/Makefile
+index ed752a4..751fa93 100644
+--- a/external/binary-reference-assemblies/v4.7/Makefile
++++ b/external/binary-reference-assemblies/v4.7/Makefile
+@@ -2,7 +2,7 @@ PROFILE := v4.7
+ SOURCEDIR := ../src/$(PROFILE)/
+ 
+ CSC ?= csc
+-CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -publicsign -debug- -target:library -nowarn:612 -nowarn:618
++CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -delaysign -debug- -target:library -nowarn:612 -nowarn:618
+ Q_CSC = $(if $(V),,@echo "CSC   [$(PROFILE)] $(1)";)
+ 
+ ASSEMBLIES := Accessibility CustomMarshalers	\
+@@ -67,15 +67,15 @@ System.ComponentModel.DataAnnotations_REFS := mscorlib System System.Core
+ System.Configuration.Install_REFS := mscorlib System
+ System.Configuration_REFS := mscorlib bare/System.Xml System
+ System.Core_REFS := mscorlib System
+-System.Data.DataSetExtensions_REFS := mscorlib System.Data System System.Core
++System.Data.DataSetExtensions_REFS := mscorlib System.Data System System.Core System.Xml
+ System.Data.Entity_REFS := mscorlib System.Core System System.Data System.Runtime.Serialization System.ComponentModel.DataAnnotations System.Xml System.Xml.Linq System.Transactions System.Configuration
+ System.Data.Linq_REFS := mscorlib System.Data System.Core System System.Xml System.Runtime.Serialization
+-System.Data.OracleClient_REFS := mscorlib System.Data System System.Drawing System.EnterpriseServices System.Transactions
++System.Data.OracleClient_REFS := mscorlib System.Data System System.Drawing System.EnterpriseServices System.Transactions System.Xml
+ System.Data.Services.Client_REFS := mscorlib System System.Xml System.Core System.Xml.Linq
+ System.Data.Services_REFS := mscorlib System.Configuration System.ServiceModel System.ServiceModel.Web System System.ServiceModel.Activation System.Core System.Data.Services.Client
+ System.Data_REFS := mscorlib System.Configuration System.Xml System System.Numerics System.Core System.Transactions System.EnterpriseServices
+ System.Deployment_REFS := mscorlib
+-System.Design_REFS := mscorlib System.Drawing System.Drawing.Design System System.Windows.Forms System.Data bare/System.Web System.Configuration System.Xml
++System.Design_REFS := mscorlib System.Drawing System.Drawing.Design System System.Windows.Forms System.Data bare/System.Web System.Configuration System.Xml Accessibility
+ System.DirectoryServices.Protocols_REFS := mscorlib System.Xml System System.DirectoryServices
+ System.DirectoryServices_REFS := mscorlib System
+ System.Drawing.Design_REFS := mscorlib System.Drawing System.Windows.Forms System
+@@ -104,22 +104,22 @@ System.Security_REFS := mscorlib System System.Xml
+ System.ServiceModel.Activation_REFS := mscorlib System.ServiceModel System System.Web
+ System.ServiceModel.Discovery_REFS := mscorlib System.ServiceModel System System.Xml System.Xml.Linq System.Runtime.Serialization System.Configuration System.Core
+ System.ServiceModel.Internals_REFS := mscorlib System System.Xml
+-System.ServiceModel.Routing_REFS := mscorlib System.ServiceModel System.Configuration System System.Runtime.Serialization
++System.ServiceModel.Routing_REFS := mscorlib System.ServiceModel System.Configuration System System.Runtime.Serialization System.Xml
+ System.ServiceModel.Web_REFS := mscorlib System.ServiceModel System System.Runtime.Serialization System.Xml System.Xml.Linq System.Configuration System.ServiceModel.Activation System.Core System.Web.Extensions
+ System.ServiceModel_REFS := mscorlib System.Xml System.Xml.Linq System.Xaml System System.EnterpriseServices System.Transactions System.IdentityModel System.Runtime.Serialization System.Runtime.DurableInstancing System.Security System.Web.ApplicationServices System.Messaging System.Net.Http System.IdentityModel.Selectors System.Web.Services System.Configuration System.Web System.Core bare/System.ServiceModel.Activation
+ System.ServiceProcess_REFS := mscorlib System System.Configuration.Install System.Windows.Forms
+ System.Transactions_REFS := mscorlib System.Configuration
+-System.Web.Abstractions_REFS := mscorlib System.Web
++System.Web.Abstractions_REFS := mscorlib System.Web System
+ System.Web.ApplicationServices_REFS := mscorlib System System.Configuration
+ System.Web.DynamicData_REFS := mscorlib System System.Drawing System.Web System.Web.Extensions System.Core System.ComponentModel.DataAnnotations System.Data.Linq
+-System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Web.Extensions
++System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Web.Extensions System.Windows.Forms System.Web
+ System.Web.Extensions_REFS := mscorlib System.Web System System.Xml System.Drawing System.Design System.Data.Linq System.Web.Services System.ServiceModel System.ServiceModel.Activation System.Runtime.Serialization System.Web.ApplicationServices System.Core System.Configuration
+ System.Web.Mobile_REFS := mscorlib
+ System.Web.RegularExpressions_REFS := mscorlib System
+ System.Web.Routing_REFS := mscorlib System.Web
+ System.Web.Services_REFS := mscorlib System System.Configuration System.EnterpriseServices System.Xml bare/System.Web System.DirectoryServices System.Design System.Data
+ System.Web_REFS := mscorlib System.Configuration System.Xml System System.Data System.Drawing System.Runtime.Serialization.Formatters.Soap System.Core System.EnterpriseServices System.Web.ApplicationServices System.ComponentModel.DataAnnotations System.Web.Services
+-System.Windows.Forms.DataVisualization_REFS := mscorlib System.Drawing System.Windows.Forms System System.Xml System.Data System.Core
++System.Windows.Forms.DataVisualization_REFS := mscorlib System.Drawing System.Windows.Forms System System.Xml System.Data System.Core Accessibility
+ System.Windows.Forms_REFS := mscorlib System System.Xml System.Drawing System.Runtime.Serialization.Formatters.Soap Accessibility System.Configuration System.Data
+ System.Windows_REFS := mscorlib System
+ System.Workflow.Activities_REFS := mscorlib
+@@ -148,7 +148,7 @@ Facades/System.Diagnostics.Contracts_REFS := mscorlib
+ Facades/System.Diagnostics.Debug_REFS := mscorlib System
+ Facades/System.Diagnostics.Tools_REFS := mscorlib System
+ Facades/System.Diagnostics.Tracing_REFS := mscorlib
+-Facades/System.Dynamic.Runtime_REFS := mscorlib System.Core
++Facades/System.Dynamic.Runtime_REFS := mscorlib System.Core System
+ Facades/System.Globalization_REFS := mscorlib
+ Facades/System.IO_REFS := mscorlib System
+ Facades/System.Linq.Expressions_REFS := mscorlib System.Core
+@@ -174,13 +174,13 @@ Facades/System.Runtime.InteropServices_REFS := mscorlib System.Core System
+ Facades/System.Runtime.Numerics_REFS := mscorlib System.Numerics
+ Facades/System.Runtime.Serialization.Json_REFS := mscorlib System.Runtime.Serialization
+ Facades/System.Runtime.Serialization.Primitives_REFS := mscorlib System.Runtime.Serialization
+-Facades/System.Runtime.Serialization.Xml_REFS := mscorlib System.Runtime.Serialization System Facades/System.Runtime.Serialization.Primitives
++Facades/System.Runtime.Serialization.Xml_REFS := mscorlib System.Runtime.Serialization System System.Xml Facades/System.Runtime.Serialization.Primitives
+ Facades/System.Runtime_REFS := mscorlib System.Core System System.ComponentModel.Composition
+ Facades/System.Security.Principal_REFS := mscorlib
+ Facades/System.ServiceModel.Duplex_REFS := mscorlib System.ServiceModel
+ Facades/System.ServiceModel.Http_REFS := mscorlib System.ServiceModel
+ Facades/System.ServiceModel.NetTcp_REFS := mscorlib System.ServiceModel
+-Facades/System.ServiceModel.Primitives_REFS := mscorlib System.IdentityModel System.ServiceModel
++Facades/System.ServiceModel.Primitives_REFS := mscorlib System.IdentityModel System.ServiceModel System.Xml
+ Facades/System.ServiceModel.Security_REFS := mscorlib System.ServiceModel
+ Facades/System.Text.Encoding.Extensions_REFS := mscorlib
+ Facades/System.Text.Encoding_REFS := mscorlib
+@@ -190,7 +190,7 @@ Facades/System.Threading.Tasks_REFS := mscorlib System.Core
+ Facades/System.Threading.Timer_REFS := mscorlib
+ Facades/System.Threading_REFS := mscorlib System System.Core
+ Facades/System.Xml.ReaderWriter_REFS := mscorlib System.Xml
+-Facades/System.Xml.XDocument_REFS := mscorlib System.Xml.Linq
++Facades/System.Xml.XDocument_REFS := mscorlib System.Xml.Linq System.Xml
+ Facades/System.Xml.XmlSerializer_REFS := mscorlib System.Xml
+ 
+ mscorlib_CSC_ARGS := -runtimemetadataversion:v4.0.30319
+
+--- a/external/binary-reference-assemblies/v4.7.2/Makefile	2019-02-21 07:25:27.378801186 +0000
++++ b/external/binary-reference-assemblies/v4.7.2/Makefile	2019-02-21 07:28:32.217998320 +0000
+@@ -2,7 +2,7 @@
+ SOURCEDIR := ../src/$(PROFILE)/
+ 
+ CSC ?= csc
+-CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -publicsign -debug- -target:library -nowarn:612 -nowarn:618
++CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -delaysign -debug- -target:library -nowarn:612 -nowarn:618
+ Q_CSC = $(if $(V),,@echo "CSC   [$(PROFILE)] $(1)";)
+ 
+ ASSEMBLIES := Accessibility CustomMarshalers	\
+@@ -81,15 +81,15 @@
+ System.Configuration.Install_REFS := mscorlib System
+ System.Configuration_REFS := mscorlib bare/System.Xml System
+ System.Core_REFS := mscorlib System
+-System.Data.DataSetExtensions_REFS := mscorlib System.Data System System.Core
++System.Data.DataSetExtensions_REFS := mscorlib System.Data System System.Core System.Xml
+ System.Data.Entity_REFS := mscorlib System.Core System System.Data System.Runtime.Serialization System.ComponentModel.DataAnnotations System.Xml System.Xml.Linq System.Transactions System.Configuration
+ System.Data.Linq_REFS := mscorlib System.Data System.Core System System.Xml System.Runtime.Serialization
+-System.Data.OracleClient_REFS := mscorlib System.Data System System.Drawing System.EnterpriseServices System.Transactions
++System.Data.OracleClient_REFS := mscorlib System.Data System System.Drawing System.EnterpriseServices System.Transactions System.Xml
+ System.Data.Services.Client_REFS := mscorlib System System.Xml System.Core System.Xml.Linq
+ System.Data.Services_REFS := mscorlib System.Configuration System.ServiceModel System.ServiceModel.Web System System.ServiceModel.Activation System.Core System.Data.Services.Client
+ System.Data_REFS := mscorlib System.Configuration System.Xml System System.Numerics System.Core System.Transactions System.EnterpriseServices
+ System.Deployment_REFS := mscorlib
+-System.Design_REFS := mscorlib System.Drawing System.Drawing.Design System System.Windows.Forms System.Data bare/System.Web System.Configuration System.Xml
++System.Design_REFS := mscorlib System.Drawing System.Drawing.Design System System.Windows.Forms System.Data bare/System.Web System.Configuration System.Xml Accessibility
+ System.Diagnostics.Tracing_REFS := mscorlib
+ System.DirectoryServices.Protocols_REFS := mscorlib System.Xml System System.DirectoryServices
+ System.DirectoryServices_REFS := mscorlib System
+@@ -100,7 +100,7 @@
+ System.IO.Compression.FileSystem_REFS := mscorlib System.IO.Compression System
+ System.IO.Compression_REFS := mscorlib System
+ System.IdentityModel.Selectors_REFS := mscorlib System.Xml System System.IdentityModel
+-System.IdentityModel_REFS := mscorlib System.Configuration System.Runtime.Serialization System.Security System System.Xml System.Web.ApplicationServices
++System.IdentityModel_REFS := mscorlib System.Configuration System.Runtime.Serialization System.Security System System.Xml System.Web.ApplicationServices System.Configuration
+ System.Management_REFS := mscorlib System System.Configuration.Install
+ System.Messaging_REFS := mscorlib System System.Drawing System.Configuration.Install System.Xml System.Windows.Forms
+ System.Net.Http.WebRequest_REFS := mscorlib System.Net.Http System
+@@ -117,22 +117,22 @@
+ System.Security_REFS := mscorlib System System.Xml
+ System.ServiceModel.Activation_REFS := mscorlib System.ServiceModel System System.Web
+ System.ServiceModel.Discovery_REFS := mscorlib System.ServiceModel System System.Xml System.Xml.Linq System.Runtime.Serialization System.Configuration System.Core
+-System.ServiceModel.Routing_REFS := mscorlib System.ServiceModel System.Configuration System System.Runtime.Serialization
++System.ServiceModel.Routing_REFS := mscorlib System.ServiceModel System.Configuration System System.Runtime.Serialization System.Xml
+ System.ServiceModel.Web_REFS := mscorlib System.ServiceModel System System.Runtime.Serialization System.Xml System.Xml.Linq System.Configuration System.ServiceModel.Activation System.Core System.Web.Extensions
+ System.ServiceModel_REFS := mscorlib System.Xml System.Xml.Linq System.Xaml System System.EnterpriseServices System.Transactions System.IdentityModel System.Runtime.Serialization System.Runtime.DurableInstancing System.Security System.Web.ApplicationServices System.Messaging System.Net.Http System.IdentityModel.Selectors System.Web.Services System.Configuration System.Web System.Core bare/System.ServiceModel.Activation
+ System.ServiceProcess_REFS := mscorlib System System.Configuration.Install System.Windows.Forms
+ System.Transactions_REFS := mscorlib System.Configuration
+-System.Web.Abstractions_REFS := mscorlib System.Web
++System.Web.Abstractions_REFS := mscorlib System.Web System
+ System.Web.ApplicationServices_REFS := mscorlib System System.Configuration
+ System.Web.DynamicData_REFS := mscorlib System System.Drawing System.Web System.Web.Extensions System.Core System.ComponentModel.DataAnnotations System.Data.Linq
+-System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Web System.Web.Extensions
++System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Web System.Web.Extensions System.Windows.Forms System.Web
+ System.Web.Extensions_REFS := mscorlib System.Web System System.Xml System.Drawing System.Design System.Data.Linq System.Web.Services System.ServiceModel System.ServiceModel.Activation System.Runtime.Serialization System.Web.ApplicationServices System.Core System.Configuration
+ System.Web.Mobile_REFS := mscorlib
+ System.Web.RegularExpressions_REFS := mscorlib System
+ System.Web.Routing_REFS := mscorlib System.Web
+ System.Web.Services_REFS := mscorlib System System.Configuration System.EnterpriseServices System.Xml bare/System.Web System.DirectoryServices System.Design System.Data
+ System.Web_REFS := mscorlib System.Configuration System.Xml System System.Data System.Drawing System.Runtime.Serialization.Formatters.Soap System.Core System.EnterpriseServices System.Web.ApplicationServices System.ComponentModel.DataAnnotations System.Web.Services
+-System.Windows.Forms.DataVisualization_REFS := mscorlib System.Drawing System.Windows.Forms System System.Xml System.Data System.Core
++System.Windows.Forms.DataVisualization_REFS := mscorlib System.Drawing System.Windows.Forms System System.Xml System.Data System.Core Accessibility
+ System.Windows.Forms_REFS := mscorlib System System.Xml System.Drawing System.Runtime.Serialization.Formatters.Soap Accessibility System.Configuration System.Data
+ System.Windows_REFS := mscorlib System
+ System.Workflow.Activities_REFS := mscorlib
+@@ -164,7 +164,7 @@
+ Facades/System.ComponentModel.TypeConverter_REFS := mscorlib System
+ Facades/System.ComponentModel_REFS := mscorlib System
+ Facades/System.Console_REFS := mscorlib
+-Facades/System.Data.Common_REFS := mscorlib System.Data
++Facades/System.Data.Common_REFS := mscorlib System.Data System System.Xml
+ Facades/System.Diagnostics.Contracts_REFS := mscorlib
+ Facades/System.Diagnostics.Debug_REFS := mscorlib System
+ Facades/System.Diagnostics.FileVersionInfo_REFS := mscorlib System
+@@ -174,7 +174,7 @@
+ Facades/System.Diagnostics.Tools_REFS := mscorlib System
+ Facades/System.Diagnostics.TraceSource_REFS := mscorlib System
+ Facades/System.Drawing.Primitives_REFS := mscorlib System.Drawing
+-Facades/System.Dynamic.Runtime_REFS := mscorlib System.Core
++Facades/System.Dynamic.Runtime_REFS := mscorlib System.Core System
+ Facades/System.Globalization.Calendars_REFS := mscorlib
+ Facades/System.Globalization.Extensions_REFS := mscorlib System
+ Facades/System.Globalization_REFS := mscorlib
+@@ -223,7 +223,7 @@
+ Facades/System.Runtime.Serialization.Formatters_REFS := mscorlib
+ Facades/System.Runtime.Serialization.Json_REFS := mscorlib System.Runtime.Serialization
+ Facades/System.Runtime.Serialization.Primitives_REFS := mscorlib System.Runtime.Serialization
+-Facades/System.Runtime.Serialization.Xml_REFS := mscorlib System.Runtime.Serialization System Facades/System.Runtime.Serialization.Primitives
++Facades/System.Runtime.Serialization.Xml_REFS := mscorlib System.Runtime.Serialization System System.Xml Facades/System.Runtime.Serialization.Primitives
+ Facades/System.Runtime_REFS := mscorlib System.Core System System.ComponentModel.Composition
+ Facades/System.Security.Claims_REFS := mscorlib
+ Facades/System.Security.Cryptography.Algorithms_REFS := mscorlib System.Core
+@@ -236,7 +236,7 @@
+ Facades/System.ServiceModel.Duplex_REFS := mscorlib System.ServiceModel
+ Facades/System.ServiceModel.Http_REFS := mscorlib System.ServiceModel
+ Facades/System.ServiceModel.NetTcp_REFS := mscorlib System.ServiceModel
+-Facades/System.ServiceModel.Primitives_REFS := mscorlib System.IdentityModel System.ServiceModel
++Facades/System.ServiceModel.Primitives_REFS := mscorlib System.IdentityModel System.ServiceModel System.Xml
+ Facades/System.ServiceModel.Security_REFS := mscorlib System.ServiceModel
+ Facades/System.Text.Encoding.Extensions_REFS := mscorlib
+ Facades/System.Text.Encoding_REFS := mscorlib
+@@ -250,7 +250,7 @@
+ Facades/System.Threading_REFS := mscorlib System System.Core
+ Facades/System.ValueTuple_REFS := mscorlib
+ Facades/System.Xml.ReaderWriter_REFS := mscorlib System.Xml
+-Facades/System.Xml.XDocument_REFS := mscorlib System.Xml.Linq
++Facades/System.Xml.XDocument_REFS := mscorlib System.Xml.Linq System.Xml
+ Facades/System.Xml.XPath.XDocument_REFS := mscorlib System.Xml.Linq
+ Facades/System.Xml.XPath_REFS := mscorlib System.Xml
+ Facades/System.Xml.XmlDocument_REFS := mscorlib System.Xml
diff --git a/dev-lang/mono/files/mono-5.18.0-use-mcs.patch b/dev-lang/mono/files/mono-5.18.0-use-mcs.patch
new file mode 100644
index 0000000..c24a4a2
--- /dev/null
+++ b/dev-lang/mono/files/mono-5.18.0-use-mcs.patch
@@ -0,0 +1,11 @@
+--- a/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/Csc.cs	2019-02-20 21:17:20.324780985 +0000
++++ b/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/Csc.cs	2019-02-20 21:17:43.537165909 +0000
+@@ -219,7 +219,7 @@
+ 
+ 		protected override string ToolName {
+ 			get {
+-				return MSBuildUtils.RunningOnWindows ? "csc.bat" : "csc.exe";
++				return MSBuildUtils.RunningOnWindows ? "mcs.bat" : "mcs.exe";
+ 			}
+ 		}
+ 
diff --git a/dev-lang/mono/files/mono-6.12.0.122-reference-assemblies-fix-v4.8-and-monowasm.patch b/dev-lang/mono/files/mono-6.12.0.122-reference-assemblies-fix-v4.8-and-monowasm.patch
new file mode 100644
index 0000000..f591857
--- /dev/null
+++ b/dev-lang/mono/files/mono-6.12.0.122-reference-assemblies-fix-v4.8-and-monowasm.patch
@@ -0,0 +1,115 @@
+# hehe
+
+--- a/external/binary-reference-assemblies/build/monowasm/Makefile
++++ b/external/binary-reference-assemblies/build/monowasm/Makefile
+@@ -2,7 +2,7 @@ PROFILE := monowasm
+ SOURCEDIR := ../../src/$(PROFILE)/
+ 
+ CSC ?= csc
+-CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -publicsign -debug- -target:library -nowarn:612,618,809
++CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -delaysign -debug- -target:library -nowarn:612,618,809
+ Q_CSC = $(if $(V),,@echo "CSC   [$(PROFILE)] $(1)";)
+ 
+ ASSEMBLIES := mscorlib System System.Xml System.Numerics System.Core System.Net.Http WebAssembly.Net.Http WebAssembly.Net.WebSockets
+--- a/external/binary-reference-assemblies/v4.8/Makefile
++++ b/external/binary-reference-assemblies/v4.8/Makefile
+@@ -2,7 +2,7 @@ PROFILE := v4.8
+ SOURCEDIR := ../src/$(PROFILE)/
+ 
+ CSC ?= csc
+-CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -publicsign -debug- -target:library -nowarn:612 -nowarn:618
++CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -delaysign -debug- -target:library -nowarn:612 -nowarn:618
+ Q_CSC = $(if $(V),,@echo "CSC   [$(PROFILE)] $(1)";)
+ 
+ ASSEMBLIES := Accessibility CustomMarshalers	\
+@@ -81,15 +81,15 @@ System.ComponentModel.DataAnnotations_REFS := mscorlib System System.Core
+ System.Configuration.Install_REFS := mscorlib System
+ System.Configuration_REFS := mscorlib bare/System.Xml System
+ System.Core_REFS := mscorlib System
+-System.Data.DataSetExtensions_REFS := mscorlib System.Data System System.Core
++System.Data.DataSetExtensions_REFS := mscorlib System.Data System System.Core System.Xml
+ System.Data.Entity_REFS := mscorlib System.Core System System.Data System.Runtime.Serialization System.ComponentModel.DataAnnotations System.Xml System.Xml.Linq System.Transactions System.Configuration
+ System.Data.Linq_REFS := mscorlib System.Data System.Core System System.Xml System.Runtime.Serialization
+-System.Data.OracleClient_REFS := mscorlib System.Data System System.Drawing System.EnterpriseServices System.Transactions
++System.Data.OracleClient_REFS := mscorlib System.Data System System.Drawing System.EnterpriseServices System.Transactions System.Xml
+ System.Data.Services.Client_REFS := mscorlib System System.Xml System.Core System.Xml.Linq
+ System.Data.Services_REFS := mscorlib System.Configuration System.ServiceModel System.ServiceModel.Web System System.ServiceModel.Activation System.Core System.Data.Services.Client
+ System.Data_REFS := mscorlib System.Configuration System.Xml System System.Numerics System.Core System.Transactions System.EnterpriseServices
+ System.Deployment_REFS := mscorlib
+-System.Design_REFS := mscorlib System.Drawing System.Drawing.Design System System.Windows.Forms System.Data bare/System.Web System.Configuration System.Xml
++System.Design_REFS := mscorlib System.Drawing System.Drawing.Design System System.Windows.Forms System.Data bare/System.Web System.Configuration System.Xml Accessibility
+ System.Diagnostics.Tracing_REFS := mscorlib
+ System.DirectoryServices.Protocols_REFS := mscorlib System.Xml System System.DirectoryServices
+ System.DirectoryServices_REFS := mscorlib System
+@@ -117,22 +117,22 @@ System.Runtime.Serialization_REFS := mscorlib System.Xml System System.Configura
+ System.Security_REFS := mscorlib System System.Xml
+ System.ServiceModel.Activation_REFS := mscorlib System.ServiceModel System System.Web
+ System.ServiceModel.Discovery_REFS := mscorlib System.ServiceModel System System.Xml System.Xml.Linq System.Runtime.Serialization System.Configuration System.Core
+-System.ServiceModel.Routing_REFS := mscorlib System.ServiceModel System.Configuration System System.Runtime.Serialization
++System.ServiceModel.Routing_REFS := mscorlib System.ServiceModel System.Configuration System System.Runtime.Serialization System.Xml
+ System.ServiceModel.Web_REFS := mscorlib System.ServiceModel System System.Runtime.Serialization System.Xml System.Xml.Linq System.Configuration System.ServiceModel.Activation System.Core System.Web.Extensions
+ System.ServiceModel_REFS := mscorlib System.Xml System.Xml.Linq System.Xaml System System.EnterpriseServices System.Transactions System.IdentityModel System.Runtime.Serialization System.Runtime.DurableInstancing System.Security System.Web.ApplicationServices System.Messaging System.Net.Http System.IdentityModel.Selectors System.Web.Services System.Configuration System.Web System.Core bare/System.ServiceModel.Activation
+ System.ServiceProcess_REFS := mscorlib System System.Configuration.Install System.Windows.Forms
+ System.Transactions_REFS := mscorlib System.Configuration
+-System.Web.Abstractions_REFS := mscorlib System.Web
++System.Web.Abstractions_REFS := mscorlib System.Web System
+ System.Web.ApplicationServices_REFS := mscorlib System System.Configuration
+ System.Web.DynamicData_REFS := mscorlib System System.Drawing System.Web System.Web.Extensions System.Core System.ComponentModel.DataAnnotations System.Data.Linq
+-System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Web System.Web.Extensions
++System.Web.Extensions.Design_REFS := mscorlib System System.Design System.Drawing System.Web System.Web.Extensions System.Windows.Forms
+ System.Web.Extensions_REFS := mscorlib System.Web System System.Xml System.Drawing System.Design System.Data.Linq System.Web.Services System.ServiceModel System.ServiceModel.Activation System.Runtime.Serialization System.Web.ApplicationServices System.Core System.Configuration
+ System.Web.Mobile_REFS := mscorlib
+ System.Web.RegularExpressions_REFS := mscorlib System
+ System.Web.Routing_REFS := mscorlib System.Web
+ System.Web.Services_REFS := mscorlib System System.Configuration System.EnterpriseServices System.Xml bare/System.Web System.DirectoryServices System.Design System.Data
+ System.Web_REFS := mscorlib System.Configuration System.Xml System System.Data System.Drawing System.Runtime.Serialization.Formatters.Soap System.Core System.EnterpriseServices System.Web.ApplicationServices System.ComponentModel.DataAnnotations System.Web.Services
+-System.Windows.Forms.DataVisualization_REFS := mscorlib System.Drawing System.Windows.Forms System System.Xml System.Data System.Core
++System.Windows.Forms.DataVisualization_REFS := mscorlib System.Drawing System.Windows.Forms System System.Xml System.Data System.Core Accessibility
+ System.Windows.Forms_REFS := mscorlib System System.Xml System.Drawing System.Runtime.Serialization.Formatters.Soap Accessibility System.Configuration System.Data
+ System.Windows_REFS := mscorlib System
+ System.Workflow.Activities_REFS := mscorlib
+@@ -164,7 +164,7 @@ Facades/System.ComponentModel.Primitives_REFS := mscorlib System
+ Facades/System.ComponentModel.TypeConverter_REFS := mscorlib System
+ Facades/System.ComponentModel_REFS := mscorlib System
+ Facades/System.Console_REFS := mscorlib
+-Facades/System.Data.Common_REFS := mscorlib System.Data
++Facades/System.Data.Common_REFS := mscorlib System.Data System System.Xml
+ Facades/System.Diagnostics.Contracts_REFS := mscorlib
+ Facades/System.Diagnostics.Debug_REFS := mscorlib System
+ Facades/System.Diagnostics.FileVersionInfo_REFS := mscorlib System
+@@ -174,7 +174,7 @@ Facades/System.Diagnostics.TextWriterTraceListener_REFS := mscorlib System
+ Facades/System.Diagnostics.Tools_REFS := mscorlib System
+ Facades/System.Diagnostics.TraceSource_REFS := mscorlib System
+ Facades/System.Drawing.Primitives_REFS := mscorlib System.Drawing
+-Facades/System.Dynamic.Runtime_REFS := mscorlib System.Core
++Facades/System.Dynamic.Runtime_REFS := mscorlib System.Core System
+ Facades/System.Globalization.Calendars_REFS := mscorlib
+ Facades/System.Globalization.Extensions_REFS := mscorlib System
+ Facades/System.Globalization_REFS := mscorlib
+@@ -223,7 +223,7 @@ Facades/System.Runtime.Numerics_REFS := mscorlib System.Numerics
+ Facades/System.Runtime.Serialization.Formatters_REFS := mscorlib
+ Facades/System.Runtime.Serialization.Json_REFS := mscorlib System.Runtime.Serialization
+ Facades/System.Runtime.Serialization.Primitives_REFS := mscorlib System.Runtime.Serialization
+-Facades/System.Runtime.Serialization.Xml_REFS := mscorlib System.Runtime.Serialization System Facades/System.Runtime.Serialization.Primitives
++Facades/System.Runtime.Serialization.Xml_REFS := mscorlib System.Runtime.Serialization System Facades/System.Runtime.Serialization.Primitives System.Xml
+ Facades/System.Runtime_REFS := mscorlib System.Core System System.ComponentModel.Composition
+ Facades/System.Security.Claims_REFS := mscorlib
+ Facades/System.Security.Cryptography.Algorithms_REFS := mscorlib System.Core
+@@ -236,7 +236,7 @@ Facades/System.Security.SecureString_REFS := mscorlib System
+ Facades/System.ServiceModel.Duplex_REFS := mscorlib System.ServiceModel
+ Facades/System.ServiceModel.Http_REFS := mscorlib System.ServiceModel
+ Facades/System.ServiceModel.NetTcp_REFS := mscorlib System.ServiceModel
+-Facades/System.ServiceModel.Primitives_REFS := mscorlib System.IdentityModel System.ServiceModel
++Facades/System.ServiceModel.Primitives_REFS := mscorlib System.IdentityModel System.ServiceModel System.Xml
+ Facades/System.ServiceModel.Security_REFS := mscorlib System.ServiceModel
+ Facades/System.Text.Encoding.Extensions_REFS := mscorlib
+ Facades/System.Text.Encoding_REFS := mscorlib
+@@ -250,7 +250,7 @@ Facades/System.Threading.Timer_REFS := mscorlib
+ Facades/System.Threading_REFS := mscorlib System System.Core
+ Facades/System.ValueTuple_REFS := mscorlib
+ Facades/System.Xml.ReaderWriter_REFS := mscorlib System.Xml
+-Facades/System.Xml.XDocument_REFS := mscorlib System.Xml.Linq
++Facades/System.Xml.XDocument_REFS := mscorlib System.Xml.Linq System.Xml
+ Facades/System.Xml.XPath.XDocument_REFS := mscorlib System.Xml.Linq
+ Facades/System.Xml.XPath_REFS := mscorlib System.Xml
+ Facades/System.Xml.XmlDocument_REFS := mscorlib System.Xml
diff --git a/dev-lang/mono/files/mono-6.6.0-roslyn-binaries.patch b/dev-lang/mono/files/mono-6.6.0-roslyn-binaries.patch
new file mode 100644
index 0000000..c957712
--- /dev/null
+++ b/dev-lang/mono/files/mono-6.6.0-roslyn-binaries.patch
@@ -0,0 +1,16 @@
+--- a/mcs/packages/Makefile	2019-02-21 04:53:46.843939657 +0000
++++ b/mcs/packages/Makefile	2019-02-21 04:53:40.111824983 +0000
+@@ -42,11 +42,13 @@
+ 
+ install-local:
+ 	$(MKINSTALLDIRS) $(TARGET_DIR)
++ifndef MCS_MODE
+ 	$(INSTALL_LIB) $(ROSLYN_FILES_FOR_MONO) $(TARGET_DIR)
+ 	$(MKINSTALLDIRS) $(MSBUILD_ROSLYN_DIR)
+ 	$(INSTALL_LIB) $(ROSLYN_FILES_TO_COPY_FOR_MSBUILD) $(MSBUILD_ROSLYN_DIR)
+ 
+ 	(cd $(MSBUILD_ROSLYN_DIR); for asm in $(ROSLYN_FILES_FOR_MONO); do ln -fs ../../../../$(FRAMEWORK_VERSION)/$$(basename $$asm) . ; done)
++endif
+ 
+ run-test-local: test-csi
+ 
diff --git a/dev-lang/mono/metadata.xml b/dev-lang/mono/metadata.xml
new file mode 100644
index 0000000..0a68e82
--- /dev/null
+++ b/dev-lang/mono/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<!-- maintainer-needed -->
+	<use>
+		<flag name="pax-kernel">Enable if the user plans to run the package under a pax enabled hardened kernel</flag>
+		<flag name="xen">Make mono generate code that is considerably faster on xen VMs but slightly slower on for normal systems.</flag>
+	</use>
+	<upstream>
+		<remote-id type="github">mono/mono</remote-id>
+		<changelog>https://www.mono-project.com/docs/about-mono/releases/</changelog>
+	</upstream>
+</pkgmetadata>
diff --git a/dev-lang/mono/mono-6.12.0.122.ebuild b/dev-lang/mono/mono-6.12.0.122.ebuild
new file mode 100644
index 0000000..79abc65
--- /dev/null
+++ b/dev-lang/mono/mono-6.12.0.122.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CHECKREQS_DISK_BUILD="4500M"
+inherit autotools check-reqs linux-info mono-env pax-utils multilib-minimal
+
+DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
+HOMEPAGE="https://mono-project.com"
+SRC_URI="https://download.mono-project.com/sources/mono/${P}.tar.xz"
+
+LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL"
+SLOT="0"
+KEYWORDS="-* amd64"
+IUSE="doc nls pax-kernel xen"
+
+DEPEND="
+	app-crypt/mit-krb5[${MULTILIB_USEDEP}]
+	sys-libs/zlib[${MULTILIB_USEDEP}]
+	ia64? ( sys-libs/libunwind )
+	nls? ( sys-devel/gettext )
+"
+RDEPEND="
+	${DEPEND}
+	app-misc/ca-certificates
+"
+BDEPEND="
+	sys-devel/bc
+	virtual/yacc
+	pax-kernel? ( sys-apps/elfix )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-5.12-try-catch.patch
+	"${FILESDIR}/mono-5.18.0-reference-assemblies-fix.patch"
+	"${FILESDIR}/mono-5.18.0-use-mcs.patch"
+	"${FILESDIR}/mono-6.6.0-roslyn-binaries.patch"
+	"${FILESDIR}/mono-6.12.0.122-reference-assemblies-fix-v4.8-and-monowasm.patch"
+)
+
+pkg_pretend() {
+	linux-info_pkg_setup
+
+	if use kernel_linux ; then
+		if linux_config_exists ; then
+			linux_chkconfig_builtin SYSVIPC || die "SYSVIPC not enabled in the kernel"
+		else
+			# https://github.com/gentoo/gentoo/blob/f200e625bda8de696a28338318c9005b69e34710/eclass/linux-info.eclass#L686
+			ewarn "kernel config not found"
+			ewarn "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling."
+			ewarn "See https://bugs.gentoo.org/261869 for more info."
+		fi
+	fi
+
+	# bug #687892
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	mono-env_pkg_setup
+	check-reqs_pkg_setup
+}
+
+src_prepare() {
+	# We need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so it don't
+	# get killed in the build proces when MPROTECT is enabled, bug #286280
+	# RANDMMAP kills the build process too, bug #347365
+	# We use paxmark.sh to get PT/XT logic, bug #532244
+	if use pax-kernel ; then
+		ewarn "We are disabling MPROTECT on the mono binary."
+
+		# issue 9 : https://github.com/Heather/gentoo-dotnet/issues/9
+		sed '/exec "/ i\paxmark.sh -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in"
+	fi
+
+	default
+
+	# Remove directories with DLL/EXE binaries apart from the bare minimum:
+	# * 'monolite-linux' used to build the compiler,
+	# * 'binary-reference-assemblies' DLLs which will be rebuilt,
+	# * 'mcs/class/Microsoft.Build.Tasks/Test/resources/binary'.
+	rm -rf \
+		external/helix-binaries \
+		external/roslyn-binaries \
+		mcs/class/lib/monolite-macos \
+		mcs/class/lib/monolite-unix \
+		mcs/class/lib/monolite-win32 \
+		mcs/packages/mnt/jenkins || die
+
+	# Don't build the internal mono-helix-client tool; requires helix-binaries.
+	sed -i 's|mono-helix-client||g' mcs/tools/Makefile || die
+
+	# PATCHES contains configure.ac patch
+	eautoreconf
+	multilib_copy_sources
+}
+
+multilib_src_configure() {
+	local myeconfargs=(
+		$(use_with xen xen_opt)
+		--without-ikvm-native
+		--disable-dtrace
+		# The CXX, LDFLAGS etc. variables aren't respected in AOT compilation.
+		--disable-system-aot
+		# Roslyn can't be built from scratch.
+		--with-csc=mcs
+		$(use_with doc mcs-docs)
+		$(use_enable nls)
+	)
+
+	econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+	emake
+
+	# Rebuild the reference assemblies.
+	cd external/binary-reference-assemblies || die
+	emake clean
+	export MONO_PATH="${BUILD_DIR}/mcs/class/lib/net_4_x-linux"
+	emake V=1 CSC="${BUILD_DIR}/runtime/mono-wrapper ${MONO_PATH}/mcs.exe"
+	unset MONO_PATH
+}
+
+multilib_src_test() {
+	cd mcs/tests || die
+	emake check
+}
+
+pkg_postinst() {
+	# bug #762265
+	cert-sync "${EROOT}"/etc/ssl/certs/ca-certificates.crt
+}
diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
index 94d15a7..0915c83 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -1,6 +1,7 @@
-DIST Python-2.7.15.tar.xz 12642436 BLAKE2B d8783a48ea26695e8d4677397a08194c738d7e4bc8ecaddaab609ad1fd5a1ca07701f707fe38d259f6bd44a39171ef95e7530f3df4bcb4d94abc4d21d7e2d489 SHA512 27ea43eb45fc68f3d2469d5f07636e10801dee11635a430ec8ec922ed790bb426b072da94df885e4dfa1ea8b7a24f2f56dd92f9b0f51e162330f161216bd6de6
-DIST Python-3.6.12.tar.xz 17202980 BLAKE2B c8d22e4d57bcaffe77cd902cda3a473e73adf2b74ab104c23b4d846f19632a24cc0c478af84079b16d784bd1c0956824c06c1f6134fd24f54e58aaab0fe96bb6 SHA512 1462801f3f6626a853097d34ccdca9838c4c5bd81ecc3abc751003f5f2f8d36eecdaa4130ef4218de351c5586093c11669639a34492668fbc5a2a4a241f4a070
-DIST python-2.7.15-pgo-prof.profdata.tar.xz 219348 BLAKE2B 615ea73fe25983eda0b2a9ee09ea9b908c5a439a89f415ccd1d08196eddd02682d8992035308f9e904ef6a5e95391fbea28e126d849288621c53195510b1a65a SHA512 da79bb2f7dd6e19e3d7a1ff0df62fbbcfb6baa8781a84b861b66e81da00fbf58795b560b1243abf90ef9d82f3ab14a932fc51077360cddc7745e9a2f2f0930b2
+DIST Python-3.6.15.tar.xz 17223796 BLAKE2B c139c6f93ea70ad898d5626dfa964280a14de9676f0d9d55668ad91618b1ba330874cbba8d6526a87e53b585ff34e3bf242613ca3fb17ee60f362a9676306c7d SHA512 f1894d704c91669d94ec83b5631288bf1e0c73ddcf33cea0977575f262eb672caebc8ac00e34e9b99c321c19cc9a71d6081fa957bb8e23cf5bfba50f345145ef
+DIST Python-3.6.15.tar.xz.asc 833 BLAKE2B c910f2367ed947ff6b33380bf8fee318c65d6e5fb0c4a847fd8f2761bbae81dec07b729b31eca060916264b6a0ccf5c52ca72181b3db79751df7697a426a8939 SHA512 cdc93e5d8fb2b5b48a1560a55bba4680adea10e35c8c38b4c51cfd2f6ba54ab2a5d4e5f71b78b889f98cf8ad9d598e0f4e019d50cc16f7db57f9d292a860fcfd
+DIST Python-3.8.13.tar.xz 19023016 BLAKE2B d3cb8624496e56d93d34f2aa5082746869a99210197529bc19e6a9d265f4ce246e0e83a3528a7602a28aac8855bf84e6bf6495b85e9202fcf04ef90600cb5e43 SHA512 5c732b5d21b189b99a0e9ccd3ae59466bed60a930d5d3f437a262d38f0797b776cecbf12a1852eaebcfb638a6f2e28e471cc2ebf94237cc728144be21842cb81
+DIST Python-3.8.13.tar.xz.asc 833 BLAKE2B 918894777e1a783f2a7c7958a808610631cb7a6039df84675158e8d2fd66782f29921d44ab9b4625c4ca3821852e0d0e0005163b086c7d0c3d617e3a76cb7033 SHA512 6683c4ae6cf20a97a29165f96b9f5dd09d618892583650d803aa677240695968dfe344294fc33db68fd4669c82021afcc29a1f6afe49915be51fae281eeeedbe
 DIST python-3.6-profile.tar.xz 369204 BLAKE2B 7cf015285fd7de8645ced45e3ac968f62a3aab9ec4ae56da2265e3cf707f356bde18b0a9a0d4ba1bc631454ed7d83cac735f04d7f1816d374a011c3457babef1 SHA512 44f03d3df19ea3d773e8bb0b28d4642f1b6002588d16f8512d7db549b9be34eb86f7029d23fde8e743d9a6e6921de78929200120784aa2d92f6f818ba84e5b48
-DIST python-gentoo-patches-2.7.15.tar.xz 16208 BLAKE2B 5739c2b3a236d48f8e33f0fe6515bfe7a8f99096f6223b402653988feac2513d37d26b6e40e5e049852f42657358170e468ca60097e0e2294e760787c12ad591 SHA512 687fd008d1d41b1e65ce5417f6f6aba84ffd42f7af44ef97c03a7806b28e6888f8df043a0c15187a8b229cc17642853e6feb25494db97f4d10f8a66f8ebcbcca
-DIST python-gentoo-patches-3.6.12-r1.tar.xz 16540 BLAKE2B 8204b6f25e1f7c6fef024933d54bfa6085158ac624a6e5a8d51576da2047b6db791be5d071c483fdec5c033b8fa8ee3d4e176a3e442defa556b34a304de3b7f3 SHA512 ad74c73b4f963427e66ac6187e1569dbfbbe3c916c24971a1eba4ad7e2f94e39c970f80e197c0498820451f036b12f3076b46cfd73bb5d6d56183ac05453d9ad
+DIST python-gentoo-patches-3.6.15.tar.xz 15300 BLAKE2B f49fd96f6ad1a1c94fea6b83acd229a81754b86061e243044ead4b9a9d5122a2e43b270b68722c359c084c05a566a3ad70aa46588ab7a005ee560ee118b92b8b SHA512 cc33491a33f3f1d990cf494d53b91b74db761142e8aebe1bd4b128ef10a268ff945e5ba08daad39cee095612a8e52265d6988873ecf9c073377cbbc10735aa39
+DIST python-gentoo-patches-3.8.13.tar.xz 16004 BLAKE2B 5c0c6c9263570a467391e60c324d1dbc1e50ffda9cad1e204df124441b593146f18e5f1529eb7d385b35c5f4b9e597807971b6b66f7f8eef156ad87c9ad32743 SHA512 4ceb831e2d62bd73909b53a3b553b2cd73d08bcf2a1c92b47eaeb1221d40daabcaed14977265bcb265df00b6bf363dbebbd61a62dca4bf6ef40c6b911e980597
diff --git a/dev-lang/python/OWNERS b/dev-lang/python/OWNERS
new file mode 100644
index 0000000..d39c14f
--- /dev/null
+++ b/dev-lang/python/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/infra/OWNERS.build
diff --git a/dev-lang/python/files/python-2.7-clear-extra-cflags.patch b/dev-lang/python/files/python-2.7-clear-extra-cflags.patch
deleted file mode 100644
index e37b516..0000000
--- a/dev-lang/python/files/python-2.7-clear-extra-cflags.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Python uses a hand-rolled Makefile parser to pick out important build-related
-environment variables and stash them in the `sysconfig` module. Crucially, it'll
-take a Makefile that looks like
-
-```
-FOO = 1
-BAR = $(FOO) $(BAZ) $(QUX)
-```
-
-...And given an environment of {'FOO': 99, 'BAZ': '98'}, will produce something
-like {'FOO': '1', 'BAR': '1 98 '}
-
-Since EXTRA_CFLAGS is literally only used as a means to pass a PGO profile in,
-and that profile won't be available to anything but the core Python modules, we
-clear EXTRA_CFLAGS for the generation of sysconfig.
-
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -456,6 +456,7 @@ platform: $(BUILDPYTHON) pybuilddir.txt
- # or removed in case of failure.
- pybuilddir.txt: $(BUILDPYTHON)
- 	@echo "none" > ./pybuilddir.txt
-+	EXTRA_CFLAGS= \
- 	$(RUNSHARED) $(PYTHON_FOR_BUILD) -S -m sysconfig --generate-posix-vars ;\
- 	if test $$? -ne 0 ; then \
- 		echo "generate-posix-vars failed" ; \
diff --git a/dev-lang/python/files/python-2.7.10-cross-compile-warn-test.patch b/dev-lang/python/files/python-2.7.10-cross-compile-warn-test.patch
deleted file mode 100644
index e337b3f..0000000
--- a/dev-lang/python/files/python-2.7.10-cross-compile-warn-test.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-https://bugs.python.org/issue25397
-
-improve the cross-compile tests to be more focused
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -1339,7 +1339,7 @@ if test "$GCC" = "yes"
- then
-   AC_MSG_CHECKING(whether gcc supports ParseTuple __format__)
-   save_CFLAGS=$CFLAGS
--  CFLAGS="$CFLAGS -Werror -Wformat"
-+  CFLAGS="$CFLAGS -Werror=format -Werror=ignored-attributes"
-   AC_COMPILE_IFELSE([
-     AC_LANG_PROGRAM([[void f(char*,...)__attribute((format(PyArg_ParseTuple, 1, 2)));]], [[]])
-   ],[
-@@ -4458,7 +4458,7 @@ then
-   [ac_cv_have_long_long_format="cross -- assuming no"
-    if test x$GCC = xyes; then
-     save_CFLAGS=$CFLAGS
--    CFLAGS="$CFLAGS -Werror -Wformat"
-+    CFLAGS="$CFLAGS -Werror=format"
-     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-         #include <stdio.h>
-         #include <stddef.h>
diff --git a/dev-lang/python/files/python-2.7.10-cross-distutils.patch b/dev-lang/python/files/python-2.7.10-cross-distutils.patch
deleted file mode 100644
index 9e19d4b..0000000
--- a/dev-lang/python/files/python-2.7.10-cross-distutils.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-Extensions should be installed to the targets libdir. This is important if e.g. host
-has a 64bit /usr/lib64, but the target is 32bit and has $ROOT/usr/lib. Make sure we
-respect the target's lib structure by getting the libdir name from Makefile.
-
---- a/Lib/distutils/command/install.py
-+++ b/Lib/distutils/command/install.py
-@@ -38,8 +38,8 @@
- 
- INSTALL_SCHEMES = {
-     'unix_prefix': {
--        'purelib': '$base/@@GENTOO_LIBDIR@@/python$py_version_short/site-packages',
--        'platlib': '$platbase/@@GENTOO_LIBDIR@@/python$py_version_short/site-packages',
-+        'purelib': '$base/$libdirname/python$py_version_short/site-packages',
-+        'platlib': '$platbase/$libdirname/python$py_version_short/site-packages',
-         'headers': '$base/include/python$py_version_short/$dist_name',
-         'scripts': '$base/bin',
-         'data'   : '$base',
-@@ -289,6 +289,8 @@
-         # everything else.
-         self.config_vars['base'] = self.install_base
-         self.config_vars['platbase'] = self.install_platbase
-+        if not self.user and self.home is None:
-+            self.config_vars['libdirname'] = self.install_libdirname
- 
-         if DEBUG:
-             from pprint import pprint
-@@ -394,6 +395,10 @@
- 
-             self.install_base = self.prefix
-             self.install_platbase = self.exec_prefix
-+            self.install_libdirname = os.path.basename(get_config_vars('LIBDIR')[0])
-+            if self.install_libdirname is None:
-+                self.install_libdirname = '@@GENTOO_LIBDIR@@'
-+
-             self.select_scheme("unix_prefix")
- 
-     # finalize_unix ()
---- a/Lib/distutils/command/build_ext.py
-+++ b/Lib/distutils/command/build_ext.py
-@@ -201,7 +201,8 @@
-             and sysconfig.get_config_var('Py_ENABLE_SHARED'):
-             if sys.executable.startswith(os.path.join(sys.exec_prefix, "bin")):
-                 # building third party extensions
--                self.library_dirs.append(sysconfig.get_config_var('LIBDIR'))
-+                sysroot = os.getenv('SYSROOT', '')
-+                self.library_dirs.append(sysroot + sysconfig.get_config_var('LIBDIR'))
-             else:
-                 # building python standard extensions
-                 self.library_dirs.append('.')
---- a/Lib/distutils/sysconfig.py
-+++ b/Lib/distutils/sysconfig.py
-@@ -12,6 +12,7 @@
- __revision__ = "$Id$"
- 
- import os
-+import imp
- import re
- import string
- import sys
-@@ -19,9 +20,16 @@
- from distutils.errors import DistutilsPlatformError
- 
- # These are needed in a couple of spots, so just compute them once.
-+SYSROOT = os.getenv('SYSROOT', '')
- PREFIX = os.path.normpath(sys.prefix)
- EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
- 
-+# Make sure we respect the user specified SYSROOT environment variable.
-+# This is the first step to get distutils to crosscompile stuff.
-+if SYSROOT:
-+    PREFIX = os.path.normpath(SYSROOT + os.path.sep + PREFIX)
-+    EXEC_PREFIX = os.path.normpath(SYSROOT + os.path.sep + EXEC_PREFIX)
-+
- # Path to the base directory of the project. On Windows the binary may
- # live in project/PCBuild9.  If we're dealing with an x64 Windows build,
- # it'll live in project/PCbuild/amd64.
-@@ -114,13 +122,30 @@
- 
-     If 'prefix' is supplied, use it instead of sys.prefix or
-     sys.exec_prefix -- i.e., ignore 'plat_specific'.
-+
-+    For the posix system we can not always assume the host's notion of the
-+    libdir is the same for the target.  e.g. compiling on an x86_64 system
-+    will use 'lib64' but an arm 32bit target will use 'lib'.  So encode all
-+    the known lists of dirs and search them all (starting with the host one
-+    so that native builds work just fine).
-     """
-     if prefix is None:
-         prefix = plat_specific and EXEC_PREFIX or PREFIX
- 
-     if os.name == "posix":
--        libpython = os.path.join(prefix,
--                                 "@@GENTOO_LIBDIR@@", "python" + get_python_version())
-+        # Search known Gentoo vars first.
-+        libpython = None
-+        if SYSROOT:
-+            abi = os.environ.get('ABI')
-+            libdir = os.environ.get('LIBDIR_%s' % abi)
-+            if libdir:
-+                libpython = os.path.join(prefix, libdir, "python" + get_python_version())
-+        if not libpython:
-+            # Fallback to hardcoded search.
-+            for libdir in ['@@GENTOO_LIBDIR@@', 'lib64', 'lib32', 'libx32', 'lib']:
-+                libpython = os.path.join(prefix, libdir, "python" + get_python_version())
-+                if os.path.exists(libpython):
-+                    break
-         if standard_lib:
-             return libpython
-         else:
-@@ -409,10 +434,14 @@
- def _init_posix():
-     """Initialize the module as appropriate for POSIX systems."""
-     # _sysconfigdata is generated at build time, see the sysconfig module
--    from _sysconfigdata import build_time_vars
-+    lib_dir = get_python_lib(plat_specific=1, standard_lib=1)
-+    sysconfig_path = os.path.join(lib_dir, "_sysconfigdata.py")
-+    if not os.path.exists(sysconfig_path):
-+        _, sysconfig_path, _ = imp.find_module("_sysconfigdata")
-+    sysconfig_module = imp.load_source("_sysconfigdata", sysconfig_path)
-     global _config_vars
-     _config_vars = {}
--    _config_vars.update(build_time_vars)
-+    _config_vars.update(sysconfig_module.build_time_vars)
- 
- 
- def _init_nt():
diff --git a/dev-lang/python/files/python-2.7.10-cross-h2py.patch b/dev-lang/python/files/python-2.7.10-cross-h2py.patch
deleted file mode 100644
index 99d0c18..0000000
--- a/dev-lang/python/files/python-2.7.10-cross-h2py.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-use the host python when running the h2py code, and have that search sysroot
-
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -1082,10 +1082,10 @@
- $(srcdir)/Lib/$(PLATDIR):
- 	mkdir $(srcdir)/Lib/$(PLATDIR)
- 	cp $(srcdir)/Lib/plat-generic/regen $(srcdir)/Lib/$(PLATDIR)/regen
--	export PATH; PATH="`pwd`:$$PATH"; \
-+	export INCLUDE="$(SYSROOT)$(INCLUDEDIR)"; \
- 	export PYTHONPATH; PYTHONPATH="$(srcdir)/Lib:$(abs_builddir)/`cat pybuilddir.txt`"; \
- 	export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \
--	export EXE; EXE="$(BUILDEXE)"; \
-+	export HOSTPYTHON="`realpath $(HOSTPYTHON)`"; \
- 	if [ -n "$(MULTIARCH)" ]; then export MULTIARCH; MULTIARCH=$(MULTIARCH); fi; \
- 	export PYTHON_FOR_BUILD; \
- 	if [ "$(build)" = "$(host)" ]; then \
---- a/Tools/scripts/h2py.py
-+++ b/Tools/scripts/h2py.py
-@@ -60,6 +60,7 @@ except KeyError:
-             searchdirs=['/usr/include']
- 
- def main():
-+    sysroot = os.getenv('SYSROOT', '')
-     global filedict
-     opts, args = getopt.getopt(sys.argv[1:], 'i:')
-     for o, a in opts:
-@@ -72,7 +73,7 @@ def main():
-             sys.stdout.write('# Generated by h2py from stdin\n')
-             process(sys.stdin, sys.stdout)
-         else:
--            fp = open(filename, 'r')
-+            fp = open(sysroot + filename, 'r')
-             outfile = os.path.basename(filename)
-             i = outfile.rfind('.')
-             if i > 0: outfile = outfile[:i]
diff --git a/dev-lang/python/files/python-2.7.10-cross-hack-compiler.patch b/dev-lang/python/files/python-2.7.10-cross-hack-compiler.patch
deleted file mode 100644
index 4fe77de..0000000
--- a/dev-lang/python/files/python-2.7.10-cross-hack-compiler.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Remove local python modules from the search path when running the compiler.
-
-The python build will invoke python with a custom PYTHONPATH (pointing to
-local libs) which will mess up any python scripts we execute, like our
-compiler wrapper.
-
-We can't create wrappers and point the build at those because python will
-record the values for CC/CXX and write it out to its installed modules, and
-those values will be loaded later when cross-compiling other python packages.
-
-This hack is kind of terrible, but so are many of the alternatives.
-
---- a/setup.py
-+++ a/setup.py
-@@ -46,6 +46,10 @@
-     disable_ssl = 0
-  
- 
-+for v in ('CC', 'CXX', 'LDSHARED'):
-+    if v in os.environ:
-+        os.environ[v] = 'env -u PYTHONPATH ' + os.environ[v]
-+
- exit_status = 0
- 
- def add_dir_to_list(dirlist, dir):
diff --git a/dev-lang/python/files/python-2.7.10-cross-setup-sysroot.patch b/dev-lang/python/files/python-2.7.10-cross-setup-sysroot.patch
deleted file mode 100644
index b3dbf4a..0000000
--- a/dev-lang/python/files/python-2.7.10-cross-setup-sysroot.patch
+++ /dev/null
@@ -1,158 +0,0 @@
-Change setup.py to respect the SYSROOT environment variable
-
---- a/setup.py
-+++ b/setup.py
-@@ -455,10 +455,14 @@
- 
-     def detect_modules(self):
-         global disable_ssl
-+
-+        # We must respect the user specified sysroot!
-+        sysroot = os.getenv('SYSROOT', '')
-+
-         # Ensure that /usr/local is always used
-         if not cross_compiling:
--            add_dir_to_list(self.compiler.library_dirs, '/usr/local/@@GENTOO_LIBDIR@@')
--            add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
-+            add_dir_to_list(self.compiler.library_dirs, sysroot + '/usr/local/@@GENTOO_LIBDIR@@')
-+            add_dir_to_list(self.compiler.include_dirs, sysroot + '/usr/local/include')
-         if cross_compiling:
-             self.add_gcc_paths()
-         self.add_multiarch_paths()
-@@ -504,9 +508,15 @@
-             # building a framework with different architectures than
-             # the one that is currently installed (issue #7473)
-             add_dir_to_list(self.compiler.library_dirs,
--                            sysconfig.get_config_var("LIBDIR"))
-+                            sysroot + sysconfig.get_config_var("LIBDIR"))
-             add_dir_to_list(self.compiler.include_dirs,
--                            sysconfig.get_config_var("INCLUDEDIR"))
-+                            sysroot + sysconfig.get_config_var("INCLUDEDIR"))
-+
-+        # We should always look into sysroot/usr/include and consider
-+        # also the lib dirs there for searching for files
-+        add_dir_to_list(self.compiler.include_dirs, sysroot + '/usr/include')
-+        add_dir_to_list(self.compiler.library_dirs, sysroot + '/@@GENTOO_LIBDIR@@')
-+        add_dir_to_list(self.compiler.library_dirs, sysroot + '/usr/@@GENTOO_LIBDIR@@')
- 
-         try:
-             have_unicode = unicode
-@@ -527,6 +537,9 @@
-                 '/@@GENTOO_LIBDIR@@', '/usr/@@GENTOO_LIBDIR@@',
-                 ):
-                 add_dir_to_list(lib_dirs, d)
-+        # Ignore previous settings.
-+        lib_dirs = self.compiler.library_dirs
-+        inc_dirs = self.compiler.include_dirs
-         exts = []
-         missing = []
- 
-@@ -778,11 +791,11 @@
-             elif curses_library:
-                 readline_libs.append(curses_library)
-             elif self.compiler.find_library_file(lib_dirs +
--                                                     ['/usr/@@GENTOO_LIBDIR@@/termcap'],
-+                                                     [sysroot + '/usr/@@GENTOO_LIBDIR@@/termcap'],
-                                                      'termcap'):
-                 readline_libs.append('termcap')
-             exts.append( Extension('readline', ['readline.c'],
--                                   library_dirs=['/usr/@@GENTOO_LIBDIR@@/termcap'],
-+                                   library_dirs=[sysroot + '/usr/@@GENTOO_LIBDIR@@/termcap'],
-                                    extra_link_args=readline_extra_link_args,
-                                    libraries=readline_libs) )
-         else:
-@@ -805,20 +818,20 @@
-                                libraries=math_libs) )
-         # Detect SSL support for the socket module (via _ssl)
-         search_for_ssl_incs_in = [
--                              '/usr/local/ssl/include',
--                              '/usr/contrib/ssl/include/'
-+                              sysroot + '/usr/local/ssl/include',
-+                              sysroot + '/usr/contrib/ssl/include/'
-                              ]
-         ssl_incs = find_file('openssl/ssl.h', inc_dirs,
-                              search_for_ssl_incs_in
-                              )
-         if ssl_incs is not None and not disable_ssl:
-             krb5_h = find_file('krb5.h', inc_dirs,
--                               ['/usr/kerberos/include'])
-+                               [sysroot + '/usr/kerberos/include'])
-             if krb5_h:
-                 ssl_incs += krb5_h
-         ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
--                                     ['/usr/local/ssl/lib',
--                                      '/usr/contrib/ssl/lib/'
-+                                     [sysroot + '/usr/local/ssl/lib',
-+                                      sysroot + '/usr/contrib/ssl/lib/'
-                                      ] )
- 
-         if (ssl_incs is not None and
-@@ -968,6 +981,7 @@
-             db_inc_paths.append('/usr/local/include/db3%d' % x)
-             db_inc_paths.append('/pkg/db-3.%d/include' % x)
-             db_inc_paths.append('/opt/db-3.%d/include' % x)
-+        db_inc_paths = [sysroot + x for x in db_inc_paths]
- 
-         if cross_compiling:
-             db_inc_paths = []
-@@ -1121,6 +1135,7 @@
-                            ]
-         if cross_compiling:
-             sqlite_inc_paths = []
-+        sqlite_inc_paths = [sysroot + x for x in sqlite_inc_paths]
-         MIN_SQLITE_VERSION_NUMBER = (3, 0, 8)
-         MIN_SQLITE_VERSION = ".".join([str(x)
-                                     for x in MIN_SQLITE_VERSION_NUMBER])
-@@ -1222,7 +1237,7 @@
-         # we do not build this one.  Otherwise this build will pick up
-         # the more recent berkeleydb's db.h file first in the include path
-         # when attempting to compile and it will fail.
--        f = "/usr/include/db.h"
-+        f = sysroot + "/usr/include/db.h"
- 
-         if host_platform == 'darwin':
-             if is_macosx_sdk_path(f):
-@@ -1835,7 +1850,7 @@
-         # For 8.4a2, the X11 headers are not included. Rather than include a
-         # complicated search, this is a hard-coded path. It could bail out
-         # if X11 libs are not found...
--        include_dirs.append('/usr/X11R6/include')
-+        include_dirs.append(sysroot + '/usr/X11R6/include')
-         frameworks = ['-framework', 'Tcl', '-framework', 'Tk']
- 
-         # All existing framework builds of Tcl/Tk don't support 64-bit
-@@ -1879,6 +1894,9 @@
-         if self.detect_tkinter_explicitly():
-             return
- 
-+        # We must respect the user specified sysroot!
-+        sysroot = os.getenv('SYSROOT', '')
-+
-         # Rather than complicate the code below, detecting and building
-         # AquaTk is a separate method. Only one Tkinter will be built on
-         # Darwin - either AquaTk, if it is found, or X11 based Tk.
-@@ -1934,16 +1952,16 @@
-         if host_platform == 'sunos5':
-             include_dirs.append('/usr/openwin/include')
-             added_lib_dirs.append('/usr/openwin/lib')
--        elif os.path.exists('/usr/X11R6/include'):
--            include_dirs.append('/usr/X11R6/include')
--            added_lib_dirs.append('/usr/X11R6/@@GENTOO_LIBDIR@@')
--        elif os.path.exists('/usr/X11R5/include'):
--            include_dirs.append('/usr/X11R5/include')
--            added_lib_dirs.append('/usr/X11R5/@@GENTOO_LIBDIR@@')
-+        elif os.path.exists(sysroot + '/usr/X11R6/include'):
-+            include_dirs.append(sysroot + '/usr/X11R6/include')
-+            added_lib_dirs.append(sysroot + '/usr/X11R6/@@GENTOO_LIBDIR@@')
-+        elif os.path.exists(sysroot + '/usr/X11R5/include'):
-+            include_dirs.append(sysroot + '/usr/X11R5/include')
-+            added_lib_dirs.append(sysroot + '/usr/X11R5/@@GENTOO_LIBDIR@@')
-         else:
-             # Assume default location for X11
--            include_dirs.append('/usr/X11/include')
--            added_lib_dirs.append('/usr/X11/@@GENTOO_LIBDIR@@')
-+            include_dirs.append(sysroot + '/usr/X11/include')
-+            added_lib_dirs.append(sysroot + '/usr/X11/@@GENTOO_LIBDIR@@')
- 
-         # If Cygwin, then verify that X is installed before proceeding
-         if host_platform == 'cygwin':
diff --git a/dev-lang/python/files/python-2.7.10-cross-sysconfig.patch b/dev-lang/python/files/python-2.7.10-cross-sysconfig.patch
deleted file mode 100644
index 597a620..0000000
--- a/dev-lang/python/files/python-2.7.10-cross-sysconfig.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-This is like python-2.7.10-cross-distutils.patch, but we update the sysconfig
-module instead of the distutils.sysconfig module.  Python ships two different
-modules with strong overlap in functionality.
-
---- a/Lib/sysconfig.py
-+++ b/Lib/sysconfig.py
-@@ -7,10 +7,10 @@ from os.path import pardir, realpath
- 
- _INSTALL_SCHEMES = {
-     'posix_prefix': {
--        'stdlib': '{base}/@@GENTOO_LIBDIR@@/python{py_version_short}',
--        'platstdlib': '{platbase}/@@GENTOO_LIBDIR@@/python{py_version_short}',
--        'purelib': '{base}/@@GENTOO_LIBDIR@@/python{py_version_short}/site-packages',
--        'platlib': '{platbase}/@@GENTOO_LIBDIR@@/python{py_version_short}/site-packages',
-+        'stdlib': '{base}/{libdirname}/python{py_version_short}',
-+        'platstdlib': '{platbase}/{libdirname}/python{py_version_short}',
-+        'purelib': '{base}/{libdirname}/python{py_version_short}/site-packages',
-+        'platlib': '{platbase}/{libdirname}/python{py_version_short}/site-packages',
-         'include': '{base}/include/python{py_version_short}',
-         'platinclude': '{platbase}/include/python{py_version_short}',
-         'scripts': '{base}/bin',
-@@ -65,10 +65,10 @@ _INSTALL_SCHEMES = {
-         'data'   : '{userbase}',
-         },
-     'posix_user': {
--        'stdlib': '{userbase}/@@GENTOO_LIBDIR@@/python{py_version_short}',
--        'platstdlib': '{userbase}/@@GENTOO_LIBDIR@@/python{py_version_short}',
--        'purelib': '{userbase}/@@GENTOO_LIBDIR@@/python{py_version_short}/site-packages',
--        'platlib': '{userbase}/@@GENTOO_LIBDIR@@/python{py_version_short}/site-packages',
-+        'stdlib': '{userbase}/{libdirname}/python{py_version_short}',
-+        'platstdlib': '{userbase}/{libdirname}/python{py_version_short}',
-+        'purelib': '{userbase}/{libdirname}/python{py_version_short}/site-packages',
-+        'platlib': '{userbase}/{libdirname}/python{py_version_short}/site-packages',
-         'include': '{userbase}/include/python{py_version_short}',
-         'scripts': '{userbase}/bin',
-         'data'   : '{userbase}',
-@@ -358,7 +358,16 @@ def _generate_posix_vars():
- def _init_posix(vars):
-     """Initialize the module as appropriate for POSIX systems."""
-     # _sysconfigdata is generated at build time, see _generate_posix_vars()
--    from _sysconfigdata import build_time_vars
-+    if '_PYTHON_PROJECT_BASE' not in os.environ and os.getenv('SYSROOT'):
-+        lib_dir = get_path('platstdlib')
-+        sysconfig_path = os.path.join(lib_dir, '_sysconfigdata.py')
-+        import imp
-+        if not os.path.exists(sysconfig_path):
-+            _, sysconfig_path, _ = imp.find_module('_sysconfigdata')
-+        sysconfig_module = imp.load_source('_sysconfigdata', sysconfig_path)
-+        build_time_vars = sysconfig_module.build_time_vars
-+    else:
-+        from _sysconfigdata import build_time_vars
-     vars.update(build_time_vars)
- 
- def _init_non_posix(vars):
-@@ -471,7 +480,16 @@ def get_config_vars(*args):
-         _CONFIG_VARS['base'] = _PREFIX
-         _CONFIG_VARS['platbase'] = _EXEC_PREFIX
-         _CONFIG_VARS['projectbase'] = _PROJECT_BASE
-+        _CONFIG_VARS['srcdir'] = _PROJECT_BASE
- 
-+        libdir = None
-+        if '_PYTHON_PROJECT_BASE' not in os.environ and os.getenv('SYSROOT'):
-+            abi = os.getenv('ABI')
-+            libdir = os.getenv('LIBDIR_%s' % abi)
-+        if not libdir:
-+            libdir = '@@GENTOO_LIBDIR@@'
-+        _CONFIG_VARS['libdirname'] = libdir
-+
-         if os.name in ('nt', 'os2'):
-             _init_non_posix(_CONFIG_VARS)
-         if os.name == 'posix':
-@@ -495,9 +513,6 @@
-         # the init-function.
-         _CONFIG_VARS['userbase'] = _getuserbase()
- 
--        if 'srcdir' not in _CONFIG_VARS:
--            _CONFIG_VARS['srcdir'] = _PROJECT_BASE
--
-         # Convert srcdir into an absolute path if it appears necessary.
-         # Normally it is relative to the build directory.  However, during
-         # testing, for example, we might be running a non-installed python
diff --git a/dev-lang/python/files/python-2.7.10-ldshared.patch b/dev-lang/python/files/python-2.7.10-ldshared.patch
deleted file mode 100644
index 443bf65..0000000
--- a/dev-lang/python/files/python-2.7.10-ldshared.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-This fixes the problem that when CC is set, the LDSHAREd is not
-set accordingly on linux.
-Upstream bug filed at https://bugs.python.org/issue24935
-
---- a/Lib/distutils/sysconfig.py
-+++ b/Lib/distutils/sysconfig.py
-@@ -180,10 +180,10 @@
- 
-         if 'CC' in os.environ:
-             newcc = os.environ['CC']
--            if (sys.platform == 'darwin'
-+            if ((sys.platform == 'darwin' or sys.platform.startswith('linux'))
-                     and 'LDSHARED' not in os.environ
-                     and ldshared.startswith(cc)):
--                # On OS X, if CC is overridden, use that as the default
-+                # On OS X and linux, if CC is overridden, use that as the default
-                 #       command for LDSHARED as well
-                 ldshared = newcc + ldshared[len(cc):]
-             cc = newcc
diff --git a/dev-lang/python/files/python-2.7.10-system-libffi.patch b/dev-lang/python/files/python-2.7.10-system-libffi.patch
deleted file mode 100644
index 0b49b794..0000000
--- a/dev-lang/python/files/python-2.7.10-system-libffi.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-make sure we respect the system libffi setting in our build config.
-the compiler probing is fragile and can break in some situations.
-
---- a/setup.py
-+++ b/setup.py
-@@ -2069,7 +2069,7 @@ class PyBuildExt(build_ext):
-         return True
- 
-     def detect_ctypes(self, inc_dirs, lib_dirs):
--        self.use_system_libffi = False
-+        self.use_system_libffi = ('--with-system-ffi' in sysconfig.get_config_var("CONFIG_ARGS"))
-         include_dirs = []
-         extra_compile_args = []
-         extra_link_args = []
-@@ -2113,7 +2113,7 @@ class PyBuildExt(build_ext):
-                              sources=['_ctypes/_ctypes_test.c'])
-         self.extensions.extend([ext, ext_test])
- 
--        if not '--with-system-ffi' in sysconfig.get_config_var("CONFIG_ARGS"):
-+        if not self.use_system_libffi:
-             return
- 
-         if host_platform == 'darwin':
-@@ -2141,10 +2141,10 @@ class PyBuildExt(build_ext):
-                     ffi_lib = lib_name
-                     break
- 
--        if ffi_inc and ffi_lib:
-+        if ffi_inc:
-             ext.include_dirs.extend(ffi_inc)
-+        if ffi_lib:
-             ext.libraries.append(ffi_lib)
--            self.use_system_libffi = True
- 
- 
- class PyBuildInstall(install):
diff --git a/dev-lang/python/files/python-2.7.15-deprecate.patch b/dev-lang/python/files/python-2.7.15-deprecate.patch
deleted file mode 100644
index f08d29f..0000000
--- a/dev-lang/python/files/python-2.7.15-deprecate.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-Warn users whenever `python2` is invoked.
-
---- a/Modules/main.c
-+++ b/Modules/main.c
-@@ -237,6 +237,20 @@ static int RunMainFromImporter(char *filename)
-     return -1;
- }
- 
-+void deprecate_warn(FILE *fp)
-+{
-+    int tty = isatty(2);
-+    if (tty)
-+        fprintf(fp, "\e[5;1;31m");
-+    fprintf(fp, "%s: warning: Python 2.7 is deprecated and will be removed from CrOS by end of 2021. All users must migrate ASAP.\n",
-+            orig_argv[0]);
-+    fprintf(fp, "%s: commandline:", orig_argv[0]);
-+    for (int i = 1; i < orig_argc; ++i)
-+        fprintf(fp, " %s", orig_argv[i]);
-+    if (tty)
-+        fprintf(fp, "\e[m");
-+    fprintf(fp, "\n");
-+}
- 
- /* Main program */
- 
-@@ -372,6 +372,7 @@ Py_Main(int argc, char **argv)
-                 _Py_QnewFlag = 1;
-                 break;
-             }
-+            deprecate_warn(stderr);
-             fprintf(stderr,
-                 "-Q option should be `-Qold', "
-                 "`-Qwarn', `-Qwarnall', or `-Qnew' only\n");
-@@ -458,14 +459,19 @@ Py_Main(int argc, char **argv)
-         }
-     }
- 
--    if (help)
-+    if (help) {
-+        deprecate_warn(stderr);
-         return usage(0, argv[0]);
-+    }
- 
-     if (version) {
-+        deprecate_warn(stdout);
-         fprintf(stderr, "Python %s\n", PY_VERSION);
-         return 0;
-     }
- 
-+    deprecate_warn(stderr);
-+
-     if (Py_Py3kWarningFlag && !Py_TabcheckFlag)
-         /* -3 implies -t (but not -tt) */
-         Py_TabcheckFlag = 1;
diff --git a/dev-lang/python/files/python-2.7.15-no-override-system-CC.patch b/dev-lang/python/files/python-2.7.15-no-override-system-CC.patch
deleted file mode 100644
index 4e4dc0d..0000000
--- a/dev-lang/python/files/python-2.7.15-no-override-system-CC.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Don't override the provided CC variable when probing for a C toolchain
-inside of `ctypes.util`. Without this fix pypy3's build is broken as it uses
-this probing logic and therefore will invoke unprefixed `gcc`, which is
-forbidden in the CrOS SDK.
-
-diff --git a/Python-2.7.15/Lib/ctypes/util.py b/Python-2.7.15/Lib/ctypes/util.py
-index ab10ec5..e53667d 100644
---- a/Python-2.7.15/Lib/ctypes/util.py
-+++ b/Python-2.7.15/Lib/ctypes/util.py
-@@ -93,7 +93,7 @@ elif os.name == "posix":
-         # haven't supplied a proper program with main(), but that does not
-         # matter.
-         expr = r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name)
--        cmd = 'if type gcc >/dev/null 2>&1; then CC=gcc; elif type cc >/dev/null 2>&1; then CC=cc;else exit; fi;' \
-+        cmd = 'if type gcc >/dev/null 2>&1; then : ${CC:=gcc}; elif type cc >/dev/null 2>&1; then : ${CC:=cc}; fi;' \
-               'LANG=C LC_ALL=C $CC -Wl,-t -o "$2" 2>&1 -l"$1"'
- 
-         temp = tempfile.NamedTemporaryFile()
diff --git a/dev-lang/python/files/python-2.7.15-sigint-handler.patch b/dev-lang/python/files/python-2.7.15-sigint-handler.patch
deleted file mode 100644
index a8642c9..0000000
--- a/dev-lang/python/files/python-2.7.15-sigint-handler.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Upstream bugs:
-https://bugs.gentoo.org/678410
-https://bugs.python.org/issue23395
-
-This patch fixes some spurious exceptions caused by interrupts
-that don't have a handler registered in some situations.
-
-diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c
-index ef70d10..a4fb44e 100644
---- a/Modules/signalmodule.c
-+++ b/Modules/signalmodule.c
-@@ -956,7 +956,10 @@ PyErr_CheckSignals(void)
- void
- PyErr_SetInterrupt(void)
- {
--    trip_signal(SIGINT);
-+     if ((Handlers[SIGINT].func != IgnoreHandler) &&
-+        (Handlers[SIGINT].func != DefaultHandler)) {
-+        trip_signal(SIGINT);
-+    }
- }
- 
- void
diff --git a/dev-lang/python/files/python-2.7.17-getentropy.patch b/dev-lang/python/files/python-2.7.17-getentropy.patch
deleted file mode 100644
index 1a60498..0000000
--- a/dev-lang/python/files/python-2.7.17-getentropy.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Don't use getentropy() on Linux
-
-Issue #29188: Support glibc 2.24 on Linux: don't use getentropy() function but
-read from /dev/urandom to get random bytes, for example in os.urandom().  On
-Linux, getentropy() is implemented which getrandom() is blocking mode, whereas
-os.urandom() should not block. [#29188]
-author	Victor Stinner <victor.stinner@gmail.com>
-date	Mon, 09 Jan 2017 11:10:41 +0100 (22 months ago)
-
-Note: Patch is modfied from upstream to apply to
-python 2.7.10.
-
-diff --git a/Python/random.c b/Python/random.c
-index d94f89a..c33fe07 100644
---- a/Python/random.c
-+++ b/Python/random.c
-@@ -333,7 +333,7 @@ _PyOS_URandom(void *buffer, Py_ssize_t size)
- 
- #ifdef MS_WINDOWS
-     return win32_urandom((unsigned char *)buffer, size, 1);
--#elif HAVE_GETENTROPY
-+#elif HAVE_GETENTROPY && !defined(sun) && !defined(linux)
-     return py_getentropy(buffer, size, 0);
- #else
- # ifdef __VMS
diff --git a/dev-lang/python/files/python-2.7.3-unique-semaphore-name.patch b/dev-lang/python/files/python-2.7.3-unique-semaphore-name.patch
deleted file mode 100644
index d2c4e53..0000000
--- a/dev-lang/python/files/python-2.7.3-unique-semaphore-name.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-With pid namespaces, we may have multiple processes with the same pid.
-Instead of relying on the pid to be unique, we use the microseconds time
-to attempt to a unique filename.
-
-This patch is inspired by the following (large) patch to Python 3.4, which
-solves this bug incidentally during a refactoring:
-  https://bugs.python.org/issue8713
-
---- a/Modules/_multiprocessing/semaphore.c
-+++ b/Modules/_multiprocessing/semaphore.c
-@@ -7,6 +7,7 @@
-  */
- 
- #include "multiprocessing.h"
-+#include <time.h>
- 
- enum { RECURSIVE_MUTEX, SEMAPHORE };
- 
-@@ -419,7 +420,7 @@ semlock_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
- {
-     char buffer[256];
-     SEM_HANDLE handle = SEM_FAILED;
--    int kind, maxvalue, value;
-+    int kind, maxvalue, value, try;
-     PyObject *result;
-     static char *kwlist[] = {"kind", "value", "maxvalue", NULL};
-     static int counter = 0;
-@@ -433,10 +434,24 @@ semlock_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
-         return NULL;
-     }
- 
--    PyOS_snprintf(buffer, sizeof(buffer), "/mp%ld-%d", (long)getpid(), counter++);
-+    /* With pid namespaces, we may have multiple processes with the same pid.
-+     * Instead of relying on the pid to be unique, we use the microseconds time
-+     * to attempt to a unique filename. */
-+    for (try = 0; try < 100; ++try) {
-+        struct timespec tv;
-+        long arbitrary = clock_gettime(CLOCK_REALTIME, &tv) ? 0 : tv.tv_nsec;
-+        PyOS_snprintf(buffer, sizeof(buffer), "/mp%ld-%d-%ld",
-+                      (long)getpid(),
-+                      counter++,
-+                      arbitrary);
-+        SEM_CLEAR_ERROR();
-+        handle = SEM_CREATE(buffer, value, maxvalue);
-+        if (handle != SEM_FAILED)
-+            break;
-+        else if (errno != EEXIST)
-+            goto failure;
-+    }
- 
--    SEM_CLEAR_ERROR();
--    handle = SEM_CREATE(buffer, value, maxvalue);
-     /* On Windows we should fail if GetLastError()==ERROR_ALREADY_EXISTS */
-     if (handle == SEM_FAILED || SEM_GET_LAST_ERROR() != 0)
-         goto failure;
diff --git a/dev-lang/python/files/python-2.7.5-nonfatal-compileall.patch b/dev-lang/python/files/python-2.7.5-nonfatal-compileall.patch
deleted file mode 100644
index a762dfb..0000000
--- a/dev-lang/python/files/python-2.7.5-nonfatal-compileall.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/Makefile.pre.in b/Makefile.pre.in
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -1000,12 +1000,12 @@
- 		$(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
- 			$(DESTDIR)$(LIBDEST)/distutils/tests ; \
- 	fi
--	PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
-+	-PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
- 		$(PYTHON_FOR_BUILD) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
- 		-d $(LIBDEST) -f \
- 		-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
- 		$(DESTDIR)$(LIBDEST)
--	PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-+	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- 		$(PYTHON_FOR_BUILD) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
- 		-d $(LIBDEST) -f \
- 		-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
diff --git a/dev-lang/python/files/python-2.7.9-ncurses-pkg-config.patch b/dev-lang/python/files/python-2.7.9-ncurses-pkg-config.patch
deleted file mode 100644
index 38ce6f7..0000000
--- a/dev-lang/python/files/python-2.7.9-ncurses-pkg-config.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-do not hardcode /usr/include paths
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -4316,7 +4316,7 @@ fi
- 
- # first curses configure check
- ac_save_cppflags="$CPPFLAGS"
--CPPFLAGS="$CPPFLAGS -I/usr/include/ncursesw"
-+CPPFLAGS="$CPPFLAGS `$PKG_CONFIG --cflags ncursesw`"
- 
- AC_CHECK_HEADERS(curses.h ncurses.h)
- 
diff --git a/dev-lang/python/files/python-3.8-cross-distutils.patch b/dev-lang/python/files/python-3.8-cross-distutils.patch
new file mode 100644
index 0000000..b1f23ac
--- /dev/null
+++ b/dev-lang/python/files/python-3.8-cross-distutils.patch
@@ -0,0 +1,82 @@
+Extensions should be installed to the targets libdir. This is important if e.g. host
+has a 64bit /usr/lib64, but the target is 32bit and has $ROOT/usr/lib. Make sure we
+respect the target's lib structure by getting the libdir name from Makefile.
+
+--- a/Lib/distutils/command/build_ext.py
++++ b/Lib/distutils/command/build_ext.py
+@@ -234,7 +234,8 @@ class build_ext(Command):
+         if (sysconfig.get_config_var('Py_ENABLE_SHARED')):
+             if not sysconfig.python_build:
+                 # building third party extensions
+-                self.library_dirs.append(sysconfig.get_config_var('LIBDIR'))
++                sysroot = os.getenv('SYSROOT', '')
++                self.library_dirs.append(sysroot + sysconfig.get_config_var('LIBDIR'))
+             else:
+                 # building python standard extensions
+                 self.library_dirs.append('.')
+--- a/Lib/distutils/command/install.py
++++ b/Lib/distutils/command/install.py
+@@ -312,6 +312,8 @@ class install(Command):
+         # everything else.
+         self.config_vars['base'] = self.install_base
+         self.config_vars['platbase'] = self.install_platbase
++        if not self.user and self.home is None:
++            self.config_vars['libdirname'] = self.install_libdirname
+ 
+         if DEBUG:
+             from pprint import pprint
+@@ -427,6 +429,10 @@ class install(Command):
+ 
+             self.install_base = self.prefix
+             self.install_platbase = self.exec_prefix
++            self.install_libdirname = os.path.basename(get_config_vars('LIBDIR')[0])
++            if self.install_libdirname is None:
++                self.install_libdirname = '@@GENTOO_LIBDIR@@'
++
+             self.select_scheme("unix_prefix")
+ 
+     def finalize_other(self):
+--- a/Lib/distutils/sysconfig.py
++++ b/Lib/distutils/sysconfig.py
+@@ -10,6 +10,8 @@ Email:        <fdrake@acm.org>
+ """
+ 
+ import _imp
++import glob
++import imp
+ import os
+ import re
+ import sys
+@@ -18,11 +20,20 @@ from .errors import DistutilsPlatformError
+ from .util import get_platform, get_host_platform
+ 
+ # These are needed in a couple of spots, so just compute them once.
++SYSROOT = os.getenv('SYSROOT', '')
+ PREFIX = os.path.normpath(sys.prefix)
+ EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
+ BASE_PREFIX = os.path.normpath(sys.base_prefix)
+ BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix)
+ 
++# Make sure we respect the user specified SYSROOT environment variable.
++# This is the first step to get distutils to crosscompile stuff.
++if SYSROOT:
++    PREFIX = os.path.normpath(SYSROOT + os.path.sep + PREFIX)
++    EXEC_PREFIX = os.path.normpath(SYSROOT + os.path.sep + EXEC_PREFIX)
++    BASE_PREFIX = os.path.normpath(SYSROOT + os.path.sep + BASE_PREFIX)
++    BASE_EXEC_PREFIX = os.path.normpath(SYSROOT + os.path.sep + BASE_EXEC_PREFIX)
++
+ # Path to the base directory of the project. On Windows the binary may
+ # live in project/PCbuild/win32 or project/PCbuild/amd64.
+ # set for cross builds
+@@ -455,6 +466,11 @@ def _init_posix():
+     ))
+     _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0)
+     build_time_vars = _temp.build_time_vars
++    lib_dir = get_python_lib(plat_specific=1, standard_lib=1)
++    sysconfig_path = glob.glob(os.path.join(lib_dir, '_sysconfigdata_*.py'))
++    if sysconfig_path:
++        sysconfig_module = imp.load_source('_sysconfigdata', sysconfig_path[0])
++        build_time_vars = sysconfig_module.build_time_vars
+     global _config_vars
+     _config_vars = {}
+     _config_vars.update(build_time_vars)
diff --git a/dev-lang/python/files/python-3.8-cross-h2py.patch b/dev-lang/python/files/python-3.8-cross-h2py.patch
new file mode 100644
index 0000000..08ef03c
--- /dev/null
+++ b/dev-lang/python/files/python-3.8-cross-h2py.patch
@@ -0,0 +1,21 @@
+use the host python when running the h2py code, and have that search sysroot
+
+--- a/Tools/scripts/h2py.py
++++ b/Tools/scripts/h2py.py
+@@ -57,6 +57,7 @@ except KeyError:
+             pass
+ 
+ def main():
++    sysroot = os.getenv('SYSROOT', '')
+     global filedict
+     opts, args = getopt.getopt(sys.argv[1:], 'i:')
+     for o, a in opts:
+@@ -70,7 +71,7 @@ def main():
+             process(sys.stdin.buffer, sys.stdout.buffer)
+         else:
+             filename = filename.encode()
+-            with open(filename, 'rb') as fp:
++            with open(sysroot + filename, 'rb') as fp:
+                 outfile = os.path.basename(filename)
+                 i = outfile.rfind(b'.')
+                 if i > 0: outfile = outfile[:i]
diff --git a/dev-lang/python/files/python-3.8-cross-python-config.patch b/dev-lang/python/files/python-3.8-cross-python-config.patch
new file mode 100644
index 0000000..1c671c8
--- /dev/null
+++ b/dev-lang/python/files/python-3.8-cross-python-config.patch
@@ -0,0 +1,27 @@
+we already patch the python modules behind the python-config scripts,
+but the shell python-config script is completely unrelated.
+
+we throw away the -L$libdir path because $libdir is in the toolchain's
+search path already, so we don't need the redundancy.
+
+--- a/Misc/python-config.sh.in
++++ b/Misc/python-config.sh.in
+@@ -25,6 +25,9 @@ installed_prefix ()
+ }
+ 
+ prefix_real=$(installed_prefix "$0")
++if [ "${prefix_real}" = "/usr" ]; then
++  prefix_real="${SYSROOT}/usr"
++fi
+ 
+ # Use sed to fix paths from their built-to locations to their installed-to
+ # locations. Keep prefix & exec_prefix using their original values in case
+@@ -97,7 +100,7 @@ do
+             echo "$LIBS"
+         ;;
+         --ldflags)
+-            echo "-L$libdir $LIBS"
++            echo "$LIBS"
+         ;;
+         --extension-suffix)
+             echo "$SO"
diff --git a/dev-lang/python/files/python-3.8-cross-setup-sysroot.patch b/dev-lang/python/files/python-3.8-cross-setup-sysroot.patch
new file mode 100644
index 0000000..a459df0
--- /dev/null
+++ b/dev-lang/python/files/python-3.8-cross-setup-sysroot.patch
@@ -0,0 +1,116 @@
+Change setup.py to respect the SYSROOT environment variable.
+This is needed to build the installed standard modules (e.g. readline & zlib).
+
+--- a/setup.py
++++ b/setup.py
+@@ -57,6 +57,8 @@ MACOS = (HOST_PLATFORM == 'darwin')
+ AIX = (HOST_PLATFORM.startswith('aix'))
+ VXWORKS = ('vxworks' in HOST_PLATFORM)
+ 
++# We must respect the user specified sysroot!
++GENTOO_SYSROOT = os.getenv('SYSROOT', '')
+ 
+ SUMMARY = """
+ Python is an interpreted, interactive, object-oriented programming
+@@ -126,6 +128,9 @@ def sysroot_paths(make_vars, subdirs):
+       headers or libraries.
+     """
+ 
++    if GENTOO_SYSROOT:
++        return [GENTOO_SYSROOT]
++
+     dirs = []
+     for var_name in make_vars:
+         var = sysconfig.get_config_var(var_name)
+@@ -653,8 +658,8 @@ class PyBuildExt(build_ext):
+         # directories (i.e. '.' and 'Include') must be first.  See issue
+         # 10520.
+         if not CROSS_COMPILING:
+-            add_dir_to_list(self.compiler.library_dirs, '/usr/local/@@GENTOO_LIBDIR@@')
+-            add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
++            add_dir_to_list(self.compiler.library_dirs, GENTOO_SYSROOT + '/usr/local/@@GENTOO_LIBDIR@@')
++            add_dir_to_list(self.compiler.include_dirs, GENTOO_SYSROOT + '/usr/local/include')
+         # only change this for cross builds for 3.3, issues on Mageia
+         if CROSS_COMPILING:
+             self.add_cross_compiling_paths()
+@@ -670,9 +675,9 @@ class PyBuildExt(build_ext):
+             # building a framework with different architectures than
+             # the one that is currently installed (issue #7473)
+             add_dir_to_list(self.compiler.library_dirs,
+-                            sysconfig.get_config_var("LIBDIR"))
++                            GENTOO_SYSROOT + sysconfig.get_config_var("LIBDIR"))
+             add_dir_to_list(self.compiler.include_dirs,
+-                            sysconfig.get_config_var("INCLUDEDIR"))
++                            GENTOO_SYSROOT + sysconfig.get_config_var("INCLUDEDIR"))
+ 
+         system_lib_dirs = ['/@@GENTOO_LIBDIR@@', '/usr/@@GENTOO_LIBDIR@@']
+         system_include_dirs = ['/usr/include']
+@@ -957,11 +962,11 @@ class PyBuildExt(build_ext):
+             elif curses_library:
+                 readline_libs.append(curses_library)
+             elif self.compiler.find_library_file(self.lib_dirs +
+-                                                     ['/usr/@@GENTOO_LIBDIR@@/termcap'],
++                                                     [GENTOO_SYSROOT + '/usr/@@GENTOO_LIBDIR@@/termcap'],
+                                                      'termcap'):
+                 readline_libs.append('termcap')
+             self.add(Extension('readline', ['readline.c'],
+-                               library_dirs=['/usr/@@GENTOO_LIBDIR@@/termcap'],
++                               library_dirs=[GENTOO_SYSROOT + '/usr/@@GENTOO_LIBDIR@@/termcap'],
+                                extra_link_args=readline_extra_link_args,
+                                libraries=readline_libs))
+         else:
+@@ -975,7 +980,7 @@ class PyBuildExt(build_ext):
+         if curses_library == 'ncursesw':
+             curses_defines.append(('HAVE_NCURSESW', '1'))
+             if not CROSS_COMPILING:
+-                curses_includes.append('/usr/include/ncursesw')
++                curses_includes.append(GENTOO_SYSROOT + '/usr/include/ncursesw')
+             # Bug 1464056: If _curses.so links with ncursesw,
+             # _curses_panel.so must link with panelw.
+             panel_library = 'panelw'
+@@ -1127,6 +1132,7 @@ class PyBuildExt(build_ext):
+             db_inc_paths.append('/usr/local/include/db3%d' % x)
+             db_inc_paths.append('/pkg/db-3.%d/include' % x)
+             db_inc_paths.append('/opt/db-3.%d/include' % x)
++        db_inc_paths = [GENTOO_SYSROOT + x for x in db_inc_paths]
+ 
+         if CROSS_COMPILING:
+             db_inc_paths = []
+@@ -1373,7 +1379,7 @@ class PyBuildExt(build_ext):
+             sysroot = macosx_sdk_root()
+ 
+         for d_ in self.inc_dirs + sqlite_inc_paths:
+-            d = d_
++            d = GENTOO_SYSROOT + d_
+             if MACOS and is_macosx_sdk_path(d):
+                 d = os.path.join(sysroot, d[1:])
+ 
+@@ -1684,7 +1684,7 @@
+ 
+     def detect_uuid(self):
+         # Build the _uuid module if possible
+-        uuid_incs = find_file("uuid.h", self.inc_dirs, ["/usr/include/uuid"])
++        uuid_incs = find_file("uuid.h", self.inc_dirs, [GENTOO_SYSROOT + "/usr/include/uuid"])
+         if uuid_incs is not None:
+             if self.compiler.find_library_file(self.lib_dirs, 'uuid'):
+                 uuid_libs = ['uuid']
+@@ -1803,7 +1809,7 @@ class PyBuildExt(build_ext):
+         # For 8.4a2, the X11 headers are not included. Rather than include a
+         # complicated search, this is a hard-coded path. It could bail out
+         # if X11 libs are not found...
+-        include_dirs.append('/usr/X11R6/include')
++        include_dirs.append(GENTOO_SYSROOT + '/usr/X11R6/include')
+         frameworks = ['-framework', 'Tcl', '-framework', 'Tk']
+ 
+         # All existing framework builds of Tcl/Tk don't support 64-bit
+@@ -1917,8 +1923,8 @@ class PyBuildExt(build_ext):
+             added_lib_dirs.append('/usr/X11R5/@@GENTOO_LIBDIR@@')
+         else:
+             # Assume default location for X11
+-            include_dirs.append('/usr/X11/include')
+-            added_lib_dirs.append('/usr/X11/@@GENTOO_LIBDIR@@')
++            include_dirs.append(GENTOO_SYSROOT + '/usr/X11/include')
++            added_lib_dirs.append(GENTOO_SYSROOT + '/usr/X11/@@GENTOO_LIBDIR@@')
+ 
+         # If Cygwin, then verify that X is installed before proceeding
+         if CYGWIN:
diff --git a/dev-lang/python/files/python-3.8-cross-sysconfig.patch b/dev-lang/python/files/python-3.8-cross-sysconfig.patch
new file mode 100644
index 0000000..27b8797
--- /dev/null
+++ b/dev-lang/python/files/python-3.8-cross-sysconfig.patch
@@ -0,0 +1,72 @@
+--- a/Lib/sysconfig.py
++++ b/Lib/sysconfig.py
+@@ -414,11 +414,36 @@ def _generate_posix_vars():
+     with open('pybuilddir.txt', 'w', encoding='ascii') as f:
+         f.write(pybuilddir)
+ 
++def _get_sysconfigdata_module():
++    sysroot = os.getenv('SYSROOT')
++    if '_PYTHON_PROJECT_BASE' not in os.environ and sysroot:
++        lib_dir = get_path('platstdlib')
++        import glob
++
++        # If SYSROOT is defined in the environment use the sysconfigdata from
++        # the libdir of that sysroot's Python installation.
++        sysconfig_paths = glob.glob(
++            os.path.join(sysroot, os.path.relpath(lib_dir, '/'),
++                         f'_sysconfigdata_{sys.abiflags}_*.py'))
++
++        if sysconfig_paths:
++            import importlib.machinery
++            import types
++            assert len(sysconfig_paths) == 1, f'Found too many sysconfigdata modules: {sysconfig_paths}'
++            sysconfig_path = sysconfig_paths[0]
++            loader = importlib.machinery.SourceFileLoader('_sysconfigdata', sysconfig_path)
++            module = types.ModuleType(loader.name)
++            loader.exec_module(module)
++            return module
++
++    name = _get_sysconfigdata_name()
++    return __import__(name, globals(), locals(), ['build_time_vars'], 0)
++
++
+ def _init_posix(vars):
+     """Initialize the module as appropriate for POSIX systems."""
+     # _sysconfigdata is generated at build time, see _generate_posix_vars()
+-    name = _get_sysconfigdata_name()
+-    _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0)
++    _temp = _get_sysconfigdata_module()
+     build_time_vars = _temp.build_time_vars
+     vars.update(build_time_vars)
+ 
+@@ -544,10 +569,14 @@ def get_config_vars(*args):
+             # sys.abiflags may not be defined on all platforms.
+             _CONFIG_VARS['abiflags'] = ''
+ 
+-        if os.name == 'nt':
+-            _init_non_posix(_CONFIG_VARS)
+-        if os.name == 'posix':
+-            _init_posix(_CONFIG_VARS)
++        libdir = None
++        if '_PYTHON_PROJECT_BASE' not in os.environ and os.getenv('SYSROOT'):
++            abi = os.getenv('ABI')
++            libdir = os.getenv('LIBDIR_%s' % abi)
++        if not libdir:
++            libdir = '@@GENTOO_LIBDIR@@'
++        _CONFIG_VARS['libdirname'] = libdir
++
+         # For backward compatibility, see issue19555
+         SO = _CONFIG_VARS.get('EXT_SUFFIX')
+         if SO is not None:
+@@ -574,6 +603,11 @@ def get_config_vars(*args):
+                 srcdir = os.path.dirname(get_makefile_filename())
+         _CONFIG_VARS['srcdir'] = _safe_realpath(srcdir)
+ 
++        if os.name == 'nt':
++            _init_non_posix(_CONFIG_VARS)
++        if os.name == 'posix':
++            _init_posix(_CONFIG_VARS)
++
+         # OS X platforms require special customization to handle
+         # multi-architecture, multi-os-version installers
+         if sys.platform == 'darwin':
diff --git a/dev-lang/python/files/python-3.8-system-libffi.patch b/dev-lang/python/files/python-3.8-system-libffi.patch
new file mode 100644
index 0000000..daa44de
--- /dev/null
+++ b/dev-lang/python/files/python-3.8-system-libffi.patch
@@ -0,0 +1,24 @@
+make sure we respect the system libffi setting in our build config.
+the compiler probing is fragile and can break in some situations.
+
+--- a/setup.py
++++ b/setup.py
+@@ -2052,7 +2052,7 @@
+                     ffi_lib = lib_name
+                     break
+ 
+-        if ffi_inc and ffi_lib:
++        if ffi_inc:
+             ffi_headers = glob(os.path.join(ffi_inc, '*.h'))
+             if grep_headers_for('ffi_prep_cif_var', ffi_headers):
+                 ext.extra_compile_args.append("-DHAVE_FFI_PREP_CIF_VAR=1")
+@@ -2062,7 +2062,8 @@
+                 ext.extra_compile_args.append("-DHAVE_FFI_CLOSURE_ALLOC=1")
+ 
+             ext.include_dirs.append(ffi_inc)
+-            ext.libraries.append(ffi_lib)
++            if ffi_lib:
++                ext.libraries.append(ffi_lib)
+             self.use_system_libffi = True
+ 
+         if sysconfig.get_config_var('HAVE_LIBDL'):
diff --git a/dev-lang/python/files/python2_gen_pgo.sh b/dev-lang/python/files/python2_gen_pgo.sh
deleted file mode 100755
index 272814a..0000000
--- a/dev-lang/python/files/python2_gen_pgo.sh
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/bin/bash -eu
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-my_dir="$(dirname "$(readlink -m "$0")")"
-profiles_dir=/tmp/python_profiles
-python=python2
-
-ncpus="$(grep -c ^processor /proc/cpuinfo)"
-
-if [[ "${UID}" -eq 0 ]]; then
-  echo "Run me as non-root" >&2
-  exit 1
-fi
-
-run_in_parallel() {
-  local num_times="$1"
-  local running=0
-  shift
-
-  for _ in $(seq 0 "${num_times}"); do
-    if [[ "${running}" -gt "${ncpus}" ]]; then
-      wait -n || :
-    else
-      : $(( running += 1 ))
-    fi
-    "$@" &
-  done
-
-  wait
-}
-
-# The following command should do whatever's representative of your regular
-# Python workloads.
-run_python() {
-  # These were pretty unscientifically chosen. Just common Python-y
-  # things that hopefully exercise hot paths in the interpreter.
-  run_in_parallel 50 equery l \* >& /dev/null
-  run_in_parallel 50 emerge --update --deep --with-bdeps=y --pretend \
-    @world >& /dev/null
-  run_in_parallel 50 equery g virtual/target-os --depth=0 >& /dev/null
-}
-
-if [[ -e "${profiles_dir}" ]]; then
-  sudo rm -rf "${profiles_dir}"
-fi
-
-mkdir -p "${profiles_dir}"
-chmod 777 "${profiles_dir}"
-
-emerge_python() {
-  sudo emerge dev-lang/python:2.7
-}
-
-# LLVM's profdata tool tries to create files with 0666, and we appear to have a
-# default 022 umask in CrOS. Let it create world-writable things as much as
-# possible.
-umask -S 000
-
-USE='pgo_generate -pgo_use' emerge_python
-
-# Make everything here writable by everyone, so we don't have to deal with
-# permissions errors/etc. Failing to write to a profile doesn't change a
-# process' exit code, so it can be easy to miss.
-sudo chmod -R ugo+rw "${profiles_dir}"
-
-run_python
-
-PV="$(equery list python:2.7 -F '$version')"
-target="/tmp/python-${PV}-pgo-prof.profdata"
-llvm-profdata merge -output="${target}" "${profiles_dir}"/*
-sudo rm -rf "${profiles_dir}"
-
-zipped_target="${target}.tar.xz"
-cd "$(dirname "${target}")"
-tar -cJf "${zipped_target}" "$(basename "${target}")"
-rm -rf "${target}"
-
-echo "Done. Your new profile is now available at ${zipped_target}."
-echo "Please upload it to our localmirror, like so:"
-echo "gsutil cp -n -a public-read '${zipped_target}'" \
-  "gs://chromeos-localmirror/distfiles/python-${PV}-pgo-prof.profdata.tar.xz"
-echo "Once that's complete, update python's manifests, and bump PROF_VERSION" \
-  "in the ebuild."
diff --git a/dev-lang/python/python-2.7.15-r9.ebuild b/dev-lang/python/python-2.7.15-r9.ebuild
deleted file mode 120000
index 3328275..0000000
--- a/dev-lang/python/python-2.7.15-r9.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-python-2.7.15.ebuild
\ No newline at end of file
diff --git a/dev-lang/python/python-2.7.15.ebuild b/dev-lang/python/python-2.7.15.ebuild
deleted file mode 100644
index c558de2..0000000
--- a/dev-lang/python/python-2.7.15.ebuild
+++ /dev/null
@@ -1,518 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-2.7.10.ebuild,v 1.2 2015/06/29 17:26:27 floppym Exp $
-
-EAPI="5"
-WANT_LIBTOOL="none"
-
-inherit autotools eutils flag-o-matic multilib pax-utils python-utils-r1 toolchain-funcs multiprocessing
-
-MY_P="Python-${PV}"
-PATCHSET_VERSION="2.7.15"
-
-DESCRIPTION="An interpreted, interactive, object-oriented programming language"
-HOMEPAGE="https://www.python.org/"
-
-# The version of Python our PGO profile was generated with. Using ${PV} makes
-# updates difficult, and we have tricks below to catch a mismatched profile
-# version.
-PROF_VERSION="2.7.15"
-
-SRC_URI="https://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz
-	https://dev.gentoo.org/~floppym/python/python-gentoo-patches-${PATCHSET_VERSION}.tar.xz
-	pgo_use? ( gs://chromeos-localmirror/distfiles/python-${PROF_VERSION}-pgo-prof.profdata.tar.xz )"
-
-LICENSE="PSF-2"
-SLOT="2.7"
-KEYWORDS="*"
-IUSE="-berkdb bluetooth build doc elibc_uclibc examples gdbm hardened ipv6 pgo_generate +pgo_use libressl +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml"
-
-REQUIRED_USE="pgo_generate? ( !pgo_use )"
-
-# Workaround: re-emerging this after emerging a `pgo_generate` Python gives us
-# a really bad time, since we'll try to write to profiles in "restricted"
-# places somehow. Specifying this profile file has LLVM write profiles to
-# /dev/null, which is always available.
-export LLVM_PROFILE_FILE="/dev/null"
-
-# Do not add a dependency on dev-lang/python to this ebuild.
-# If you need to apply a patch which requires python for bootstrapping, please
-# run the bootstrap code on your dev box and include the results in the
-# patchset. See bug 447752.
-
-RDEPEND="app-arch/bzip2:0=
-	>=sys-libs/zlib-1.1.3:0=
-	virtual/libffi:=
-	virtual/libintl
-	berkdb? ( || (
-		sys-libs/db:5.3
-		sys-libs/db:5.1
-		sys-libs/db:4.8
-		sys-libs/db:4.7
-		sys-libs/db:4.6
-		sys-libs/db:4.5
-		sys-libs/db:4.4
-		sys-libs/db:4.3
-		sys-libs/db:4.2
-	) )
-	gdbm? ( sys-libs/gdbm:0=[berkdb] )
-	ncurses? ( >=sys-libs/ncurses-5.2:0= )
-	readline? ( >=sys-libs/readline-4.1:0= )
-	sqlite? ( >=dev-db/sqlite-3.3.8:3= )
-	ssl? (
-		!libressl? ( dev-libs/openssl:0= )
-		libressl? ( dev-libs/libressl:0= )
-	)
-	tk? (
-		>=dev-lang/tcl-8.0:0=
-		>=dev-lang/tk-8.0:0=
-		dev-tcltk/blt:0=
-		dev-tcltk/tix
-	)
-	xml? ( >=dev-libs/expat-2.1 )
-	!!<sys-apps/portage-2.1.9"
-# bluetooth requires headers from bluez
-DEPEND="${RDEPEND}
-	bluetooth? ( net-wireless/bluez )
-	virtual/pkgconfig
-	>=sys-devel/autoconf-2.65
-	!sys-devel/gcc[libffi(-)]"
-RDEPEND+=" !build? ( app-misc/mime-types )
-	doc? ( dev-python/python-docs:${SLOT} )"
-PDEPEND=">=app-eselect/eselect-python-20140125-r1"
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_setup() {
-	if use berkdb; then
-		ewarn "'bsddb' module is out-of-date and no longer maintained inside"
-		ewarn "dev-lang/python. 'bsddb' and 'dbhash' modules have been additionally"
-		ewarn "removed in Python 3. A maintained alternative of 'bsddb3' module"
-		ewarn "is provided by dev-python/bsddb3."
-	else
-		if has_version "=${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"; then
-			ewarn "You are migrating from =${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"
-			ewarn "to =${CATEGORY}/${PN}-${PV%%.*}*[-berkdb]."
-			ewarn "You might need to migrate your databases."
-		fi
-	fi
-}
-
-src_prepare() {
-	# According to the comments at the top of cgi.py, Linux vendors need to
-	# patch the shebang in cgi.py. We'll ignore the comment about not using
-	# "/usr/bin/env python" and use it anyway.
-	sed -i -e '1 s:^#!.*$:#! /usr/bin/env python:' Lib/cgi.py || die
-
-	# Ensure that internal copies of expat, libffi and zlib are not used.
-	rm -r Modules/expat || die
-	rm -r Modules/_ctypes/libffi* || die
-	rm -r Modules/zlib || die
-
-	if tc-is-cross-compiler; then
-		local EPATCH_EXCLUDE="*-Regenerate-platform-specific-modules.patch"
-	fi
-
-	EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" epatch "${WORKDIR}/patches"
-
-	#
-	# START: ChromiumOS specific changes
-	#
-	if tc-is-cross-compiler ; then
-		epatch "${FILESDIR}"/python-2.7.10-cross-h2py.patch
-		epatch "${FILESDIR}"/python-2.7.10-cross-hack-compiler.patch
-		sed -i 's:^python$EXE:${HOSTPYTHON}:' Lib/*/regen || die
-	fi
-	epatch "${FILESDIR}"/python-2.7.10-cross-setup-sysroot.patch
-	epatch "${FILESDIR}"/python-2.7.10-cross-distutils.patch
-	epatch "${FILESDIR}"/python-2.7.10-cross-sysconfig.patch
-	epatch "${FILESDIR}"/python-2.7.10-ldshared.patch
-	epatch "${FILESDIR}"/python-2.7.15-deprecate.patch
-	# Undo the @libdir@ change for portage's pym folder as it is always
-	# installed into /usr/lib/ and not the abi libdir.
-	sed -i \
-		-e '/portage.*pym/s:@@GENTOO_LIBDIR@@:lib:g' \
-		Lib/site.py || die
-
-	sed -i -e "s:sys.exec_prefix]:sys.exec_prefix, '/usr/local']:g" \
-		Lib/site.py || die "sed failed to add /usr/local to prefixes"
-
-	# Enable stealthy profile application; with this, `sysconfig` won't
-	# report on any CFLAGS in EXTRA_CFLAGS
-	epatch "${FILESDIR}"/python-2.7-clear-extra-cflags.patch
-	#
-	# END: ChromiumOS specific changes
-	#
-
-	# Fix for cross-compiling.
-	epatch "${FILESDIR}/python-2.7.5-nonfatal-compileall.patch"
-	epatch "${FILESDIR}/python-2.7.9-ncurses-pkg-config.patch"
-	epatch "${FILESDIR}/python-2.7.10-cross-compile-warn-test.patch"
-	epatch "${FILESDIR}/python-2.7.10-system-libffi.patch"
-	epatch "${FILESDIR}/python-2.7.15-sigint-handler.patch"
-	epatch "${FILESDIR}/python-2.7.15-no-override-system-CC.patch"
-	epatch_user
-
-	sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
-		Lib/distutils/command/install.py \
-		Lib/distutils/sysconfig.py \
-		Lib/site.py \
-		Lib/sysconfig.py \
-		Lib/test/test_site.py \
-		Makefile.pre.in \
-		Modules/Setup.dist \
-		Modules/getpath.c \
-		setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
-
-	eautoreconf
-}
-
-# There's a sad story behind this. When we've built our `python` and
-# `libpython.so` objects, we'll go to build all of our Python modules. This is
-# done with LD_LIBRARY_PATH set to our workdir, and is generally
-# well-sandboxed. Sadly, the compiler is a wrapper written in Python and
-# invoked via #!/usr/bin/python2, so **the compiler invocations will link to
-# the new, not-yet-installed libpython.so**.
-#
-# Usually, this isn't much of a problem. However, when we're building Python
-# with instrumentation enabled, libpython.so is where some of the key
-# instrumentation functions end up. Since everything links to libpython.so, and
-# since libpython.so shows up in link lines before libclang_rt.profile (where
-# these "key instrumentation functions" come from), the only binary we built
-# with USE=pgo_generate that has an actual definition for these functions is
-# libpython.so.
-#
-# Hence, the old python invoked by the wrapper looks for its profiling symbols
-# in the *new* libpython.so, doesn't find them, and gets sad.
-#
-# This can all be fixed by moving libclang_rt.profiles up before -lpython2.7 in
-# the commandline, which is easily doable. Doing so puts these profiling
-# symbols in every binary we produce, but only in pgo_generate builds. They're
-# all dynamic symbols, so keeping multiple definitions around should be OK.
-#
-# Clang is good about moving libclangrt_profile around, so we just parse its
-# output to determine where this static lib is located today.
-detect_libprofile_rt_location() {
-	local result
-	# Clang always gives quoted output. We're picking out the single arg
-	# with libclang_rt.profile from it, and discarding the quotes.
-	result=$(echo | \
-			$(tc-getCC) -### -fprofile-generate -x c - |& \
-			grep -oE '"[^"]+libclang_rt.profile[^"]+"' | \
-			tr -d '"')
-	[[ -n "${result}" ]] || die "libclangrt detection failed"
-	echo "${result}"
-}
-
-src_configure() {
-		# dbm module can be linked against berkdb or gdbm.
-		# Defaults to gdbm when both are enabled, #204343.
-		local disable
-		use berkdb   || use gdbm || disable+=" dbm"
-		use berkdb   || disable+=" _bsddb"
-		# disable automagic bluetooth headers detection
-		use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
-		use gdbm     || disable+=" gdbm"
-		use ncurses  || disable+=" _curses _curses_panel"
-		use readline || disable+=" readline"
-		use sqlite   || disable+=" _sqlite3"
-		use ssl      || export PYTHON_DISABLE_SSL="1"
-		use tk       || disable+=" _tkinter"
-		use xml      || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
-		export PYTHON_DISABLE_MODULES="${disable}"
-
-		if ! use xml; then
-			ewarn "You have configured Python without XML support."
-			ewarn "This is NOT a recommended configuration as you"
-			ewarn "may face problems parsing any XML documents."
-		fi
-
-	if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
-		einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
-	fi
-
-	if [[ "$(gcc-major-version)" -ge 4 ]]; then
-		append-flags -fwrapv
-	fi
-
-	filter-flags -malign-double
-
-	# https://bugs.gentoo.org/show_bug.cgi?id=50309
-	if is-flagq -O3; then
-		is-flagq -fstack-protector-all && replace-flags -O3 -O2
-		use hardened && replace-flags -O3 -O2
-	fi
-
-	# python2 build is running cross-compiled x86_64 binaries on build
-	# machine that may not have same ISA. Filter architecture specific
-	# flags as a workaround, https://crbug.com/1091706 .
-	if use amd64 && tc-is-cross-compiler; then
-		filter-flags '-march=*'
-	fi
-
-	if tc-is-cross-compiler; then
-		# Force some tests that try to poke fs paths.
-		export ac_cv_file__dev_ptc=no
-		export ac_cv_file__dev_ptmx=yes
-	fi
-
-	# Export CXX so it ends up in /usr/lib/python2.X/config/Makefile.
-	tc-export CXX
-	# The configure script fails to use pkg-config correctly.
-	# http://bugs.python.org/issue15506
-	export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG)
-
-	# Set LDFLAGS so we link modules with -lpython2.7 correctly.
-	# Needed on FreeBSD unless Python 2.7 is already installed.
-	# Please query BSD team before removing this!
-	append-ldflags "-L."
-
-	tc-export CC
-	if use pgo_generate; then
-		tc-is-clang || die "Instrumentation is only supported when using clang"
-		# tc_extra_flags is an invention used to make cflags apply
-		# equally to Python's C modules and Python itself. This also
-		# prevents duplication between CFLAGS and LDFLAGS, which is a
-		# build error with -mllvm -options.
-		#
-		# This is a functional change in Python that breaks subversion
-		# (SWIG Python bindings rely on distutils.sysconfigs' ${CC}),
-		# so you should consider re-emerge'ing before trying to emerge
-		# anything else.
-		#
-		# We explicitly use /tmp here because this path is *baked into
-		# Python* as the place where profiles should go when Python is
-		# run. Hence, it has to be a well-known place that lives after
-		# `emerge`.
-		CC+=" -fprofile-generate=/tmp/python_profiles"
-
-		# LLVM intentionally low-balls vp-counters-per-site to save some
-		# binary size. If left to its default of 1, we get a diagnostic
-		# asking for it to be raised. Instead of tweaking it and having
-		# the issue silently appear again in the future, force dynamic
-		# allocation of counters. It's marginally slower, but less
-		# error-prone.
-		CC+=" -mllvm -vp-static-alloc=false"
-
-		append-ldflags "$(detect_libprofile_rt_location)"
-	fi
-
-	local dbmliborder
-	if use gdbm; then
-		dbmliborder+="${dbmliborder:+:}gdbm"
-	fi
-	if use berkdb; then
-		dbmliborder+="${dbmliborder:+:}bdb"
-	fi
-
-	BUILD_DIR="${WORKDIR}/${CHOST}"
-	mkdir -p "${BUILD_DIR}" || die
-	cd "${BUILD_DIR}" || die
-
-	ECONF_SOURCE="${S}" OPT="" \
-	econf \
-		--with-fpectl \
-		--enable-shared \
-		$(use_enable ipv6) \
-		$(use_with threads) \
-		$(use wide-unicode && echo "--enable-unicode=ucs4" || echo "--enable-unicode=ucs2") \
-		--infodir='${prefix}/share/info' \
-		--mandir='${prefix}/share/man' \
-		--with-computed-gotos \
-		--with-dbmliborder="${dbmliborder}" \
-		--with-libc="" \
-		--enable-loadable-sqlite-extensions \
-		--with-system-expat \
-		--with-system-ffi \
-		--without-ensurepip
-
-	if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
-		eerror "configure has detected that the sem_open function is broken."
-		eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
-		die "Broken sem_open function (bug 496328)"
-	fi
-}
-
-src_compile() {
-	# Avoid invoking pgen for cross-compiles.
-	touch Include/graminit.h Python/graminit.c
-
-	# CFLAGS specified in configure get baked into the `sysconfig` module,
-	# which is consulted when building e.g. SWIG bindings for subversion.
-	# OPT, which we wiped out during configuration time anyway, allows us
-	# to pass flags that `sysconfig` doesn't see.
-	local extra_cflags=()
-	if use pgo_use && tc-is-clang; then
-		# If you're upgrading Python, please also run
-		# ./files/python2_gen_pgo.sh to build a new PGO profile.
-		if [[ "${PV}" != "${PROF_VERSION}" ]]; then
-			die "Please generate a new profile. Details in comments."
-		fi
-
-		extra_cflags=(
-			"-fprofile-use=${WORKDIR}/python-${PROF_VERSION}-pgo-prof.profdata"
-			"-Wno-backend-plugin"
-		)
-
-		# LTO only buys us ~2%, it increases binary size around 750KB,
-		# and it's entirely broken on aarch64 (LTO prompts clang to use
-		# its built-in assembler, which has issues with inline assembly
-		# in Python, apparently.)
-	fi
-
-	cd "${BUILD_DIR}" || die
-	EXTRA_CFLAGS="${extra_cflags[*]}" emake
-
-	# Work around bug 329499. See also bug 413751 and 457194.
-	if has_version dev-libs/libffi[pax_kernel]; then
-		pax-mark E python
-	else
-		pax-mark m python
-	fi
-}
-
-src_test() {
-	# Tests will not work when cross compiling.
-	if tc-is-cross-compiler; then
-		elog "Disabling tests due to crosscompiling."
-		return
-	fi
-
-	cd "${BUILD_DIR}" || die
-
-	# Skip failing tests.
-	local skipped_tests="distutils gdb"
-
-	for test in ${skipped_tests}; do
-		mv "${S}"/Lib/test/test_${test}.py "${T}"
-	done
-
-	# Daylight saving time problem
-	# https://bugs.python.org/issue22067
-	# https://bugs.gentoo.org/610628
-	local -x TZ=UTC
-
-	# Rerun failed tests in verbose mode (regrtest -w).
-	emake test EXTRATESTOPTS="-w" < /dev/tty
-	local result="$?"
-
-	for test in ${skipped_tests}; do
-		mv "${T}/test_${test}.py" "${S}"/Lib/test
-	done
-
-	elog "The following tests have been skipped:"
-	for test in ${skipped_tests}; do
-		elog "test_${test}.py"
-	done
-
-	elog "If you would like to run them, you may:"
-	elog "cd '${EPREFIX}/usr/$(get_libdir)/python${SLOT}/test'"
-	elog "and run the tests separately."
-
-	python_disable_pyc
-
-	if [[ "${result}" -ne 0 ]]; then
-		die "emake test failed"
-	fi
-}
-
-src_install() {
-	local libdir=${ED}/usr/$(get_libdir)/python${SLOT}
-
-	cd "${BUILD_DIR}" || die
-	emake DESTDIR="${D}" altinstall
-
-	sed -e "s/\(LDFLAGS=\).*/\1/" -i "${libdir}/config/Makefile" || die "sed failed"
-
-	# Fix collisions between different slots of Python.
-	mv "${ED}usr/bin/2to3" "${ED}usr/bin/2to3-${SLOT}"
-	mv "${ED}usr/bin/pydoc" "${ED}usr/bin/pydoc${SLOT}"
-	mv "${ED}usr/bin/idle" "${ED}usr/bin/idle${SLOT}"
-	rm -f "${ED}usr/bin/smtpd.py"
-
-	use berkdb || rm -r "${libdir}/"{bsddb,dbhash.py*,test/test_bsddb*} || die
-	use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
-	use tk || rm -r "${ED}usr/bin/idle${SLOT}" "${libdir}/"{idlelib,lib-tk} || die
-	use elibc_uclibc && rm -fr "${libdir}/"{bsddb/test,test}
-
-	use threads || rm -r "${libdir}/multiprocessing" || die
-	use wininst || rm -r "${libdir}/distutils/command/"wininst-*.exe || die
-
-	dodoc "${S}"/Misc/{ACKS,HISTORY,NEWS}
-
-	if use examples; then
-		insinto /usr/share/doc/${PF}/examples
-		doins -r "${S}"/Tools
-	fi
-	insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
-	local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
-		emake --no-print-directory -s -f - 2>/dev/null)
-	newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
-
-	newconfd "${FILESDIR}/pydoc.conf" pydoc-${SLOT}
-	newinitd "${FILESDIR}/pydoc.init" pydoc-${SLOT}
-	sed \
-		-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${SLOT/./_}_PORT:" \
-		-e "s:@PYDOC@:pydoc${SLOT}:" \
-		-i "${ED}etc/conf.d/pydoc-${SLOT}" "${ED}etc/init.d/pydoc-${SLOT}" || die "sed failed"
-
-	# for python-exec
-	local vars=( EPYTHON PYTHON_SITEDIR PYTHON_SCRIPTDIR )
-
-	# if not using a cross-compiler, use the fresh binary
-	if ! tc-is-cross-compiler; then
-		local -x PYTHON=./python
-		local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
-	else
-		vars=( PYTHON "${vars[@]}" )
-	fi
-
-	python_export "python${SLOT}" "${vars[@]}"
-	echo "EPYTHON='${EPYTHON}'" > epython.py || die
-	python_domodule epython.py
-
-	# python-exec wrapping support
-	local pymajor=${SLOT%.*}
-	mkdir -p "${D}${PYTHON_SCRIPTDIR}" || die
-	# python and pythonX
-	ln -s "../../../bin/python${SLOT}" "${D}${PYTHON_SCRIPTDIR}/python${pymajor}" || die
-	ln -s "python${pymajor}" "${D}${PYTHON_SCRIPTDIR}/python" || die
-	# python-config and pythonX-config
-	ln -s "../../../bin/python${SLOT}-config" "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" || die
-	ln -s "python${pymajor}-config" "${D}${PYTHON_SCRIPTDIR}/python-config" || die
-	# 2to3, pydoc, pyvenv
-	ln -s "../../../bin/2to3-${SLOT}" "${D}${PYTHON_SCRIPTDIR}/2to3" || die
-	ln -s "../../../bin/pydoc${SLOT}" "${D}${PYTHON_SCRIPTDIR}/pydoc" || die
-	# idle
-	if use tk; then
-		ln -s "../../../bin/idle${SLOT}" "${D}${PYTHON_SCRIPTDIR}/idle" || die
-	fi
-
-	# The sysconfig module will actually read the pyconfig.h at runtime to see what kind
-	# of functionality is enabled in the build.  Deploy it behind the back of portage as
-	# need be.
-	ln "${ED}/usr/include/python${SLOT}/pyconfig.h" "${libdir}/pyconfig_h" || die
-
-	# Delete unittests as they are a waste of space and are unused.
-	rm -rf "${libdir}/test" "${libdir}"/{ctypes,email,sqlite3,unittest}/test || die
-
-	# Workaround https://bugs.gentoo.org/380569
-	keepdir /etc/env.d/python
-}
-
-eselect_python_update() {
-	if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f "${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then
-		eselect python update --python${PV%%.*}
-	fi
-}
-
-pkg_postinst() {
-	eselect_python_update
-
-	local pyconfig="${EROOT}/usr/$(get_libdir)/python${SLOT}/pyconfig_h"
-	if [[ ! -e ${EROOT}/usr/include/python${SLOT}/pyconfig.h ]] ; then
-		# See pkg_preinst above for details.
-		install -D -m644 "${pyconfig}" "${EROOT}/usr/include/python${SLOT}/pyconfig.h" || die
-	fi
-	rm "${pyconfig}" || die
-}
diff --git a/dev-lang/python/python-3.6.12-r7.ebuild b/dev-lang/python/python-3.6.12-r7.ebuild
deleted file mode 120000
index 9d96e63..0000000
--- a/dev-lang/python/python-3.6.12-r7.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-python-3.6.12.ebuild
\ No newline at end of file
diff --git a/dev-lang/python/python-3.6.12.ebuild b/dev-lang/python/python-3.6.12.ebuild
deleted file mode 100644
index 3fb0944..0000000
--- a/dev-lang/python/python-3.6.12.ebuild
+++ /dev/null
@@ -1,423 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-WANT_LIBTOOL="none"
-
-inherit autotools flag-o-matic multiprocessing pax-utils \
-	python-utils-r1 toolchain-funcs
-
-MY_P="Python-${PV}"
-PYVER=$(ver_cut 1-2)
-PATCHSET="python-gentoo-patches-${PV}-r1"
-
-DESCRIPTION="An interpreted, interactive, object-oriented programming language"
-HOMEPAGE="https://www.python.org/"
-SRC_URI="https://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz
-	https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="PSF-2"
-SLOT="${PYVER}/${PYVER}m"
-KEYWORDS="*"
-IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test +threads tk wininst +xml"
-RESTRICT="!test? ( test )"
-
-# Do not add a dependency on dev-lang/python to this ebuild.
-# If you need to apply a patch which requires python for bootstrapping, please
-# run the bootstrap code on your dev box and include the results in the
-# patchset. See bug 447752.
-
-RDEPEND="app-arch/bzip2:=
-	app-arch/xz-utils:=
-	dev-libs/libffi:=
-	>=sys-libs/zlib-1.1.3:=
-	virtual/libcrypt:=
-	virtual/libintl
-	gdbm? ( sys-libs/gdbm:=[berkdb] )
-	ncurses? ( >=sys-libs/ncurses-5.2:= )
-	readline? ( >=sys-libs/readline-4.1:= )
-	sqlite? ( >=dev-db/sqlite-3.3.8:3= )
-	ssl? (
-		!libressl? ( dev-libs/openssl:= )
-		libressl? ( dev-libs/libressl:= )
-	)
-	tk? (
-		>=dev-lang/tcl-8.0:=
-		>=dev-lang/tk-8.0:=
-		dev-tcltk/blt:=
-		dev-tcltk/tix
-	)
-	xml? ( >=dev-libs/expat-2.1:= )"
-# bluetooth requires headers from bluez
-DEPEND="${RDEPEND}
-	bluetooth? ( net-wireless/bluez )
-	test? ( app-arch/xz-utils[extra-filters(+)] )
-	virtual/pkgconfig
-	!sys-devel/gcc[libffi(-)]"
-RDEPEND+=" !build? ( app-misc/mime-types )"
-
-# Google-specific PGO bits
-#
-# NOTE: If you're looking here because python-*-profile.tar.xz is missing:
-# - thanks for upgrading Python!
-# - files/python3_gen_pgo.sh should be able to generate a PGO profile for you.
-# - only new minor versions of Python should require a new PGO profile.
-#
-# Generally, PGO profile generation should be done as one of the last steps of
-# a Python upgrade, so feel free to turn pgo_use off as a default until things
-# are pretty finalized.
-SRC_URI+=" pgo_use? ( gs://chromeos-localmirror/distfiles/python-$(ver_cut 1-2)-profile.tar.xz )"
-IUSE+=" pgo_generate +pgo_use"
-REQUIRED_USE+=" pgo_generate? ( !pgo_use )"
-
-src_prepare() {
-	# Ensure that internal copies of expat, libffi and zlib are not used.
-	rm -fr Modules/expat || die
-	rm -fr Modules/_ctypes/libffi* || die
-	rm -fr Modules/zlib || die
-
-	local PATCHES=(
-		"${WORKDIR}/${PATCHSET}"
-	)
-
-	default
-
-	# START: Chromium OS
-	if tc-is-cross-compiler ; then
-		eapply "${FILESDIR}/python-3.6.5-cross-h2py.patch"
-		eapply "${FILESDIR}/python-3.6.5-cross-hack-compiler.patch"
-	fi
-	eapply "${FILESDIR}/python-3.6.5-cross-python-config.patch"
-	eapply "${FILESDIR}/python-3.6.5-cross-setup-sysroot.patch"
-	eapply "${FILESDIR}/python-3.6.5-cross-distutils.patch"
-	eapply "${FILESDIR}/python-3.6.5-cross-sysconfig.patch"
-	eapply "${FILESDIR}/python-3.6.5-ldshared.patch"
-	eapply "${FILESDIR}/python-3.6.5-system-libffi.patch"
-	eapply "${FILESDIR}/python-3.6.5-sigint-handler.patch"
-	eapply "${FILESDIR}/python-3.6-mock.patch"
-	# The below patch can be dropped once python is upgraded to >=3.7.
-	eapply "${FILESDIR}/python-3.6.12-CVE-2022-37454.patch"
-
-	if use pgo_use; then
-		eapply "${FILESDIR}/python-3.6.12-pgo-use.patch"
-		cp "${WORKDIR}/code.profclangd" "${S}" || die
-	elif use pgo_generate; then
-		eapply "${FILESDIR}/python-3.6.12-pgo-generate.patch"
-	fi
-
-	# Undo the @libdir@ change for portage's pym folder as it is always
-	# installed into /usr/lib/ and not the abi libdir.
-	sed -i \
-		-e '/portage.*pym/s:@@GENTOO_LIBDIR@@:lib:g' \
-		Lib/site.py || die
-
-	sed -i -e "s:sys.exec_prefix]:sys.exec_prefix, '/usr/local']:g" \
-		Lib/site.py || die "sed failed to add /usr/local to prefixes"
-	# END: Chromium OS
-
-	sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
-		Lib/distutils/command/install.py \
-		Lib/distutils/sysconfig.py \
-		Lib/site.py \
-		Lib/sysconfig.py \
-		Lib/test/test_site.py \
-		Makefile.pre.in \
-		Modules/Setup.dist \
-		Modules/getpath.c \
-		configure.ac \
-		setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
-
-	# force correct number of jobs
-	# https://bugs.gentoo.org/737660
-	local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
-	sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
-
-	eautoreconf
-}
-
-src_configure() {
-	local disable
-	# disable automagic bluetooth headers detection
-	use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
-	use gdbm      || disable+=" gdbm"
-	use ncurses   || disable+=" _curses _curses_panel"
-	use readline  || disable+=" readline"
-	use sqlite    || disable+=" _sqlite3"
-	use ssl       || export PYTHON_DISABLE_SSL="1"
-	use tk        || disable+=" _tkinter"
-	use xml       || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
-	export PYTHON_DISABLE_MODULES="${disable}"
-
-	if ! use xml; then
-		ewarn "You have configured Python without XML support."
-		ewarn "This is NOT a recommended configuration as you"
-		ewarn "may face problems parsing any XML documents."
-	fi
-
-	if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
-		einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
-	fi
-
-	if [[ "$(gcc-major-version)" -ge 4 ]]; then
-		append-flags -fwrapv
-	fi
-
-	filter-flags -malign-double
-
-	# https://bugs.gentoo.org/show_bug.cgi?id=50309
-	if is-flagq -O3; then
-		is-flagq -fstack-protector-all && replace-flags -O3 -O2
-		use hardened && replace-flags -O3 -O2
-	fi
-
-	# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
-	tc-export CXX
-
-	# Set LDFLAGS so we link modules with -lpython3.2 correctly.
-	# Needed on FreeBSD unless Python 3.2 is already installed.
-	# Please query BSD team before removing this!
-	append-ldflags "-L."
-
-	tc-export CC
-
-	local dbmliborder
-	if use gdbm; then
-		dbmliborder+="${dbmliborder:+:}gdbm"
-	fi
-
-	local myeconfargs=(
-		# glibc-2.30 removes it; since we can't cleanly force-rebuild
-		# Python on glibc upgrade, remove it proactively to give
-		# a chance for users rebuilding python before glibc
-		ac_cv_header_stropts_h=no
-
-		--with-fpectl
-		--enable-shared
-		$(use_enable ipv6)
-		$(use_with threads)
-		--infodir='${prefix}/share/info'
-		--mandir='${prefix}/share/man'
-		--with-computed-gotos
-		--with-dbmliborder="${dbmliborder}"
-		--with-libc=
-		--enable-loadable-sqlite-extensions
-		--without-ensurepip
-		--with-system-expat
-		--with-system-ffi
-	)
-
-	if use pgo_generate || use pgo_use; then
-		myeconfargs+=(
-			"LLVM_PROFDATA=$(which llvm-profdata)"
-			--enable-optimizations
-		)
-	fi
-
-	OPT="" econf "${myeconfargs[@]}"
-
-	if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
-		eerror "configure has detected that the sem_open function is broken."
-		eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
-		die "Broken sem_open function (bug 496328)"
-	fi
-}
-
-src_compile() {
-	# Ensure sed works as expected
-	# https://bugs.gentoo.org/594768
-	local -x LC_ALL=C
-
-	emake CPPFLAGS= CFLAGS= LDFLAGS=
-
-	# Work around bug 329499. See also bug 413751 and 457194.
-	if has_version dev-libs/libffi[pax_kernel]; then
-		pax-mark E python
-	else
-		pax-mark m python
-	fi
-}
-
-src_test() {
-	# Tests will not work when cross compiling.
-	if tc-is-cross-compiler; then
-		elog "Disabling tests due to crosscompiling."
-		return
-	fi
-
-	# Skip failing tests.
-	local skipped_tests="gdb faulthandler"
-
-	for test in ${skipped_tests}; do
-		mv "${S}"/Lib/test/test_${test}.py "${T}"
-	done
-
-	# bug 660358
-	local -x COLUMNS=80
-	local -x PYTHONDONTWRITEBYTECODE=
-
-	local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
-
-	emake test EXTRATESTOPTS="-u-network -j${jobs}" \
-		CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
-	local result=$?
-
-	for test in ${skipped_tests}; do
-		mv "${T}/test_${test}.py" "${S}"/Lib/test
-	done
-
-	elog "The following tests have been skipped:"
-	for test in ${skipped_tests}; do
-		elog "test_${test}.py"
-	done
-
-	elog "If you would like to run them, you may:"
-	elog "cd '${EPREFIX}/usr/$(get_libdir)/python${PYVER}/test'"
-	elog "and run the tests separately."
-
-	if [[ ${result} -ne 0 ]]; then
-		die "emake test failed"
-	fi
-}
-
-src_install() {
-	local libdir=${ED}/usr/$(get_libdir)/python${PYVER}
-
-	emake DESTDIR="${D}" altinstall
-
-	# Remove static library
-	rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
-
-	sed \
-		-e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
-		-e "s/\(PY_LDFLAGS=\).*/\1/" \
-		-i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
-
-	# Fix collisions between different slots of Python.
-	rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
-
-	# Cheap hack to get version with ABIFLAGS
-	local abiver=$(cd "${ED}/usr/include"; echo python*)
-	if [[ ${abiver} != python${PYVER} ]]; then
-		# Replace python3.X with a symlink to python3.Xm
-		rm "${ED}/usr/bin/python${PYVER}" || die
-		dosym "${abiver}" "/usr/bin/python${PYVER}"
-		# Create python3.X-config symlink
-		dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
-		# Create python-3.5m.pc symlink
-		dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
-	fi
-
-	# python seems to get rebuilt in src_install (bug 569908)
-	# Work around it for now.
-	if has_version dev-libs/libffi[pax_kernel]; then
-		pax-mark E "${ED}/usr/bin/${abiver}"
-	else
-		pax-mark m "${ED}/usr/bin/${abiver}"
-	fi
-
-	use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
-	use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
-
-	use threads || rm -r "${libdir}/multiprocessing" || die
-	use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die
-
-	dodoc Misc/{ACKS,HISTORY,NEWS}
-
-	if use examples; then
-		docinto examples
-		find Tools -name __pycache__ -exec rm -fr {} + || die
-		dodoc -r Tools
-	fi
-	insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
-	local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
-		emake --no-print-directory -s -f - 2>/dev/null)
-	newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
-
-	newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
-	newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
-	sed \
-		-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
-		-e "s:@PYDOC@:pydoc${PYVER}:" \
-		-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
-		"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
-
-	local -x EPYTHON=python${PYVER}
-	# if not using a cross-compiler, use the fresh binary
-	if ! tc-is-cross-compiler; then
-		local -x PYTHON=./python
-		local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
-	else
-		local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
-	fi
-
-	echo "EPYTHON='${EPYTHON}'" > epython.py || die
-	python_domodule epython.py
-
-	# python-exec wrapping support
-	local pymajor=${PYVER%.*}
-	local scriptdir=${D}$(python_get_scriptdir)
-	mkdir -p "${scriptdir}" || die
-	# python and pythonX
-	ln -s "../../../bin/${abiver}" \
-		"${scriptdir}/python${pymajor}" || die
-	ln -s "python${pymajor}" "${scriptdir}/python" || die
-	# python-config and pythonX-config
-	# note: we need to create a wrapper rather than symlinking it due
-	# to some random dirname(argv[0]) magic performed by python-config
-	cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
-		#!/bin/sh
-		exec "${abiver}-config" "\${@}"
-	EOF
-	chmod +x "${scriptdir}/python${pymajor}-config" || die
-	ln -s "python${pymajor}-config" \
-		"${scriptdir}/python-config" || die
-	# 2to3, pydoc, pyvenv
-	ln -s "../../../bin/2to3-${PYVER}" \
-		"${scriptdir}/2to3" || die
-	ln -s "../../../bin/pydoc${PYVER}" \
-		"${scriptdir}/pydoc" || die
-	ln -s "../../../bin/pyvenv-${PYVER}" \
-		"${scriptdir}/pyvenv" || die
-	# idle
-	if use tk; then
-		ln -s "../../../bin/idle${PYVER}" \
-			"${scriptdir}/idle" || die
-	fi
-
-	# Delete unittests as they are a waste of space and are unused.
-	rm -rf "${libdir}/test" "${libdir}"/{ctypes,email,sqlite3,unittest}/test || die
-}
-
-pkg_preinst() {
-	if has_version "<${CATEGORY}/${PN}-${PYVER}" && ! has_version ">=${CATEGORY}/${PN}-${PYVER}_alpha"; then
-		python_updater_warning="1"
-	fi
-}
-
-eselect_python_update() {
-	if [[ -z "$(eselect python show)" || \
-			! -f "${EROOT}/usr/bin/$(eselect python show)" ]]; then
-		eselect python update
-	fi
-
-	if [[ -z "$(eselect python show --python${PV%%.*})" || \
-			! -f "${EROOT}/usr/bin/$(eselect python show --python${PV%%.*})" ]]
-	then
-		eselect python update --python${PV%%.*}
-	fi
-}
-
-pkg_postinst() {
-	eselect_python_update
-
-	if [[ "${python_updater_warning}" == "1" ]]; then
-		ewarn "You have just upgraded from an older version of Python."
-		ewarn
-		ewarn "Please adjust PYTHON_TARGETS (if so desired), and run emerge with the --newuse or --changed-use option to rebuild packages installing python modules."
-	fi
-}
-
-pkg_postrm() {
-	eselect_python_update
-}
diff --git a/dev-lang/python/python-3.6.15-r2.ebuild b/dev-lang/python/python-3.6.15-r2.ebuild
new file mode 120000
index 0000000..8523421
--- /dev/null
+++ b/dev-lang/python/python-3.6.15-r2.ebuild
@@ -0,0 +1 @@
+python-3.6.15.ebuild
\ No newline at end of file
diff --git a/dev-lang/python/python-3.6.15.ebuild b/dev-lang/python/python-3.6.15.ebuild
new file mode 100644
index 0000000..aa98bc6
--- /dev/null
+++ b/dev-lang/python/python-3.6.15.ebuild
@@ -0,0 +1,396 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+WANT_LIBTOOL="none"
+
+inherit autotools flag-o-matic multiprocessing pax-utils \
+	python-utils-r1 toolchain-funcs verify-sig
+
+MY_P="Python-${PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${PV}"
+
+DESCRIPTION="An interpreted, interactive, object-oriented programming language"
+HOMEPAGE="https://www.python.org/"
+SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz
+	https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+	verify-sig? (
+		https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
+	)"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}/${PYVER}m"
+KEYWORDS="*"
+IUSE="bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +xml"
+RESTRICT="!test? ( test )"
+
+# Do not add a dependency on dev-lang/python to this ebuild.
+# If you need to apply a patch which requires python for bootstrapping, please
+# run the bootstrap code on your dev box and include the results in the
+# patchset. See bug 447752.
+
+RDEPEND="app-arch/bzip2:=
+	app-arch/xz-utils:=
+	dev-libs/libffi:=
+	>=sys-libs/zlib-1.1.3:=
+	virtual/libcrypt:=
+	virtual/libintl
+	gdbm? ( sys-libs/gdbm:=[berkdb] )
+	ncurses? ( >=sys-libs/ncurses-5.2:= )
+	readline? ( >=sys-libs/readline-4.1:= )
+	sqlite? ( >=dev-db/sqlite-3.3.8:3= )
+	ssl? ( dev-libs/openssl:= )
+	tk? (
+		>=dev-lang/tcl-8.0:=
+		>=dev-lang/tk-8.0:=
+		dev-tcltk/blt:=
+		dev-tcltk/tix
+	)
+	xml? ( >=dev-libs/expat-2.1:= )"
+# bluetooth requires headers from bluez
+DEPEND="${RDEPEND}
+	bluetooth? ( net-wireless/bluez )
+	test? ( app-arch/xz-utils[extra-filters(+)] )"
+BDEPEND="
+	virtual/awk
+	virtual/pkgconfig
+	verify-sig? ( sec-keys/openpgp-keys-python )
+	!sys-devel/gcc[libffi(-)]"
+RDEPEND+=" !build? ( app-misc/mime-types )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+	if use verify-sig; then
+		verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+	fi
+	default
+}
+
+# Google-specific PGO bits
+#
+# NOTE: If you're looking here because python-*-profile.tar.xz is missing:
+# - thanks for upgrading Python!
+# - files/python3_gen_pgo.sh should be able to generate a PGO profile for you.
+# - only new minor versions of Python should require a new PGO profile.
+#
+# Generally, PGO profile generation should be done as one of the last steps of
+# a Python upgrade, so feel free to turn pgo_use off as a default until things
+# are pretty finalized.
+SRC_URI+=" pgo_use? ( gs://chromeos-localmirror/distfiles/python-$(ver_cut 1-2)-profile.tar.xz )"
+IUSE+=" pgo_generate +pgo_use"
+REQUIRED_USE+=" pgo_generate? ( !pgo_use )"
+
+src_prepare() {
+	# Ensure that internal copies of expat, libffi and zlib are not used.
+	rm -fr Modules/expat || die
+	rm -fr Modules/_ctypes/libffi* || die
+	rm -fr Modules/zlib || die
+
+	local PATCHES=(
+		"${WORKDIR}/${PATCHSET}"
+	)
+
+	default
+
+	# START: Chromium OS
+	if tc-is-cross-compiler ; then
+		eapply "${FILESDIR}/python-3.6.5-cross-h2py.patch"
+		eapply "${FILESDIR}/python-3.6.5-cross-hack-compiler.patch"
+	fi
+	eapply "${FILESDIR}/python-3.6.5-cross-python-config.patch"
+	eapply "${FILESDIR}/python-3.6.5-cross-setup-sysroot.patch"
+	eapply "${FILESDIR}/python-3.6.5-cross-distutils.patch"
+	eapply "${FILESDIR}/python-3.6.5-cross-sysconfig.patch"
+	eapply "${FILESDIR}/python-3.6.5-ldshared.patch"
+	eapply "${FILESDIR}/python-3.6.5-system-libffi.patch"
+	eapply "${FILESDIR}/python-3.6.5-sigint-handler.patch"
+	eapply "${FILESDIR}/python-3.6-mock.patch"
+	# The below patch can be dropped once python is upgraded to >=3.7.
+	eapply "${FILESDIR}/python-3.6.12-CVE-2022-37454.patch"
+
+	if use pgo_use; then
+		eapply "${FILESDIR}/python-3.6.12-pgo-use.patch"
+		cp "${WORKDIR}/code.profclangd" "${S}" || die
+	elif use pgo_generate; then
+		eapply "${FILESDIR}/python-3.6.12-pgo-generate.patch"
+	fi
+
+	# Undo the @libdir@ change for portage's pym folder as it is always
+	# installed into /usr/lib/ and not the abi libdir.
+	sed -i \
+		-e '/portage.*pym/s:@@GENTOO_LIBDIR@@:lib:g' \
+		Lib/site.py || die
+
+	sed -i -e "s:sys.exec_prefix]:sys.exec_prefix, '/usr/local']:g" \
+		Lib/site.py || die "sed failed to add /usr/local to prefixes"
+	# END: Chromium OS
+
+	sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
+		Lib/distutils/command/install.py \
+		Lib/distutils/sysconfig.py \
+		Lib/site.py \
+		Lib/sysconfig.py \
+		Lib/test/test_site.py \
+		Makefile.pre.in \
+		Modules/Setup.dist \
+		Modules/getpath.c \
+		configure.ac \
+		setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
+
+	# force correct number of jobs
+	# https://bugs.gentoo.org/737660
+	local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+	sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
+
+	eautoreconf
+}
+
+src_configure() {
+	local disable
+	# disable automagic bluetooth headers detection
+	use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
+	use gdbm      || disable+=" gdbm"
+	use ncurses   || disable+=" _curses _curses_panel"
+	use readline  || disable+=" readline"
+	use sqlite    || disable+=" _sqlite3"
+	use ssl       || export PYTHON_DISABLE_SSL="1"
+	use tk        || disable+=" _tkinter"
+	use xml       || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
+	export PYTHON_DISABLE_MODULES="${disable}"
+
+	if ! use xml; then
+		ewarn "You have configured Python without XML support."
+		ewarn "This is NOT a recommended configuration as you"
+		ewarn "may face problems parsing any XML documents."
+	fi
+
+	if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
+		einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
+	fi
+
+	if [[ "$(gcc-major-version)" -ge 4 ]]; then
+		append-flags -fwrapv
+	fi
+
+	filter-flags -malign-double
+
+	# https://bugs.gentoo.org/show_bug.cgi?id=50309
+	if is-flagq -O3; then
+		is-flagq -fstack-protector-all && replace-flags -O3 -O2
+		use hardened && replace-flags -O3 -O2
+	fi
+
+	# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
+	tc-export CXX
+
+	tc-export CC
+
+	local dbmliborder
+	if use gdbm; then
+		dbmliborder+="${dbmliborder:+:}gdbm"
+	fi
+
+	local myeconfargs=(
+		# glibc-2.30 removes it; since we can't cleanly force-rebuild
+		# Python on glibc upgrade, remove it proactively to give
+		# a chance for users rebuilding python before glibc
+		ac_cv_header_stropts_h=no
+
+		--with-fpectl
+		--enable-shared
+		--enable-ipv6
+		--with-threads
+		--infodir='${prefix}/share/info'
+		--mandir='${prefix}/share/man'
+		--with-computed-gotos
+		--with-dbmliborder="${dbmliborder}"
+		--with-libc=
+		--enable-loadable-sqlite-extensions
+		--without-ensurepip
+		--with-system-expat
+		--with-system-ffi
+	)
+
+	if use pgo_generate || use pgo_use; then
+		myeconfargs+=(
+			"LLVM_PROFDATA=$(which llvm-profdata)"
+			--enable-optimizations
+		)
+	fi
+
+	OPT="" econf "${myeconfargs[@]}"
+
+	if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
+		eerror "configure has detected that the sem_open function is broken."
+		eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
+		die "Broken sem_open function (bug 496328)"
+	fi
+}
+
+src_compile() {
+	# Ensure sed works as expected
+	# https://bugs.gentoo.org/594768
+	local -x LC_ALL=C
+
+	emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+	# Work around bug 329499. See also bug 413751 and 457194.
+	if has_version dev-libs/libffi[pax-kernel]; then
+		pax-mark E python
+	else
+		pax-mark m python
+	fi
+}
+
+src_test() {
+	# Tests will not work when cross compiling.
+	if tc-is-cross-compiler; then
+		elog "Disabling tests due to crosscompiling."
+		return
+	fi
+
+	# Skip failing tests.
+	local skipped_tests="gdb faulthandler"
+
+	for test in ${skipped_tests}; do
+		mv "${S}"/Lib/test/test_${test}.py "${T}"
+	done
+
+	# bug 660358
+	local -x COLUMNS=80
+	local -x PYTHONDONTWRITEBYTECODE=
+
+	local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+	emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+		CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+	local result=$?
+
+	for test in ${skipped_tests}; do
+		mv "${T}/test_${test}.py" "${S}"/Lib/test
+	done
+
+	elog "The following tests have been skipped:"
+	for test in ${skipped_tests}; do
+		elog "test_${test}.py"
+	done
+
+	elog "If you would like to run them, you may:"
+	elog "cd '${EPREFIX}/usr/$(get_libdir)/python${PYVER}/test'"
+	elog "and run the tests separately."
+
+	if [[ ${result} -ne 0 ]]; then
+		die "emake test failed"
+	fi
+}
+
+src_install() {
+	local libdir=${ED}/usr/$(get_libdir)/python${PYVER}
+
+	emake DESTDIR="${D}" altinstall
+
+	# Remove static library
+	rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
+
+	sed \
+		-e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
+		-e "s/\(PY_LDFLAGS=\).*/\1/" \
+		-i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
+
+	# Fix collisions between different slots of Python.
+	rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
+
+	# Cheap hack to get version with ABIFLAGS
+	local abiver=$(cd "${ED}/usr/include"; echo python*)
+	if [[ ${abiver} != python${PYVER} ]]; then
+		# Replace python3.X with a symlink to python3.Xm
+		rm "${ED}/usr/bin/python${PYVER}" || die
+		dosym "${abiver}" "/usr/bin/python${PYVER}"
+		# Create python3.X-config symlink
+		dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
+		# Create python-3.5m.pc symlink
+		dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
+	fi
+
+	# python seems to get rebuilt in src_install (bug 569908)
+	# Work around it for now.
+	if has_version dev-libs/libffi[pax-kernel]; then
+		pax-mark E "${ED}/usr/bin/${abiver}"
+	else
+		pax-mark m "${ED}/usr/bin/${abiver}"
+	fi
+
+	use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
+	use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
+
+	use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die
+
+	dodoc Misc/{ACKS,HISTORY,NEWS}
+
+	if use examples; then
+		docinto examples
+		find Tools -name __pycache__ -exec rm -fr {} + || die
+		dodoc -r Tools
+	fi
+	insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
+	local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
+		emake --no-print-directory -s -f - 2>/dev/null)
+	newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
+
+	newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
+	newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
+	sed \
+		-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
+		-e "s:@PYDOC@:pydoc${PYVER}:" \
+		-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
+		"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
+
+	local -x EPYTHON=python${PYVER}
+	# if not using a cross-compiler, use the fresh binary
+	if ! tc-is-cross-compiler; then
+		local -x PYTHON=./python
+		local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
+	else
+		local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
+	fi
+
+	echo "EPYTHON='${EPYTHON}'" > epython.py || die
+	python_domodule epython.py
+
+	# python-exec wrapping support
+	local pymajor=${PYVER%.*}
+	local scriptdir=${D}$(python_get_scriptdir)
+	mkdir -p "${scriptdir}" || die
+	# python and pythonX
+	ln -s "../../../bin/${abiver}" \
+		"${scriptdir}/python${pymajor}" || die
+	ln -s "python${pymajor}" "${scriptdir}/python" || die
+	# python-config and pythonX-config
+	# note: we need to create a wrapper rather than symlinking it due
+	# to some random dirname(argv[0]) magic performed by python-config
+	cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
+		#!/bin/sh
+		exec "${abiver}-config" "\${@}"
+	EOF
+	chmod +x "${scriptdir}/python${pymajor}-config" || die
+	ln -s "python${pymajor}-config" \
+		"${scriptdir}/python-config" || die
+	# 2to3, pydoc, pyvenv
+	ln -s "../../../bin/2to3-${PYVER}" \
+		"${scriptdir}/2to3" || die
+	ln -s "../../../bin/pydoc${PYVER}" \
+		"${scriptdir}/pydoc" || die
+	ln -s "../../../bin/pyvenv-${PYVER}" \
+		"${scriptdir}/pyvenv" || die
+	# idle
+	if use tk; then
+		ln -s "../../../bin/idle${PYVER}" \
+			"${scriptdir}/idle" || die
+	fi
+
+	# Delete unittests as they are a waste of space and are unused.
+	rm -rf "${libdir}/test" "${libdir}"/{ctypes,email,sqlite3,unittest}/test || die
+}
diff --git a/dev-lang/python/python-3.8.13-r1.ebuild b/dev-lang/python/python-3.8.13-r1.ebuild
new file mode 120000
index 0000000..810ec2c
--- /dev/null
+++ b/dev-lang/python/python-3.8.13-r1.ebuild
@@ -0,0 +1 @@
+python-3.8.13.ebuild
\ No newline at end of file
diff --git a/dev-lang/python/python-3.8.13.ebuild b/dev-lang/python/python-3.8.13.ebuild
new file mode 100644
index 0000000..49afe94
--- /dev/null
+++ b/dev-lang/python/python-3.8.13.ebuild
@@ -0,0 +1,409 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+WANT_LIBTOOL="none"
+
+inherit autotools flag-o-matic multiprocessing pax-utils \
+	python-utils-r1 toolchain-funcs verify-sig
+
+MY_PV=${PV/_rc/rc}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="An interpreted, interactive, object-oriented programming language"
+HOMEPAGE="https://www.python.org/"
+SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz
+	https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+	verify-sig? (
+		https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
+	)
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="*"
+IUSE="bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +xml"
+RESTRICT="!test? ( test )"
+
+# Do not add a dependency on dev-lang/python to this ebuild.
+# If you need to apply a patch which requires python for bootstrapping, please
+# run the bootstrap code on your dev box and include the results in the
+# patchset. See bug 447752.
+
+RDEPEND="
+	app-arch/bzip2:=
+	app-arch/xz-utils:=
+	dev-lang/python-exec[python_targets_python3_8(-)]
+	dev-libs/libffi:=
+	sys-apps/util-linux:=
+	>=sys-libs/zlib-1.1.3:=
+	virtual/libcrypt:=
+	virtual/libintl
+	gdbm? ( sys-libs/gdbm:=[berkdb] )
+	ncurses? ( >=sys-libs/ncurses-5.2:= )
+	readline? ( >=sys-libs/readline-4.1:= )
+	sqlite? ( >=dev-db/sqlite-3.3.8:3= )
+	ssl? ( >=dev-libs/openssl-1.1.1:= )
+	tk? (
+		>=dev-lang/tcl-8.0:=
+		>=dev-lang/tk-8.0:=
+		dev-tcltk/blt:=
+		dev-tcltk/tix
+	)
+	xml? ( >=dev-libs/expat-2.1:= )
+"
+# bluetooth requires headers from bluez
+DEPEND="
+	${RDEPEND}
+	bluetooth? ( net-wireless/bluez )
+	test? ( app-arch/xz-utils[extra-filters(+)] )
+"
+BDEPEND="
+	sys-devel/autoconf-archive
+	virtual/awk
+	virtual/pkgconfig
+	verify-sig? ( sec-keys/openpgp-keys-python )
+	!sys-devel/gcc[libffi(-)]
+"
+RDEPEND+="
+	build? ( app-misc/mime-types )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+	if use verify-sig; then
+		verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+	fi
+	default
+}
+
+# Google-specific PGO bits
+#
+# NOTE: If you're looking here because python-*-profile.tar.xz is missing:
+# - thanks for upgrading Python!
+# - files/python3_gen_pgo.sh should be able to generate a PGO profile for you.
+# - only new minor versions of Python should require a new PGO profile.
+#
+# Generally, PGO profile generation should be done as one of the last steps of
+# a Python upgrade, so feel free to turn pgo_use off as a default until things
+# are pretty finalized.
+#SRC_URI+=" pgo_use? ( gs://chromeos-localmirror/distfiles/python-$(ver_cut 1-2)-profile.tar.xz )"
+IUSE+=" pgo_generate -pgo_use"
+REQUIRED_USE+=" pgo_generate? ( !pgo_use )"
+
+src_prepare() {
+	# Ensure that internal copies of expat, libffi and zlib are not used.
+	rm -fr Modules/expat || die
+	rm -fr Modules/_ctypes/libffi* || die
+	rm -fr Modules/zlib || die
+
+	local PATCHES=(
+		"${WORKDIR}/${PATCHSET}"
+	)
+
+	default
+
+	# START: Chromium OS
+	if tc-is-cross-compiler ; then
+		eapply "${FILESDIR}/python-3.8-cross-h2py.patch"
+		eapply "${FILESDIR}/python-3.6.5-cross-hack-compiler.patch"
+	fi
+	eapply "${FILESDIR}/python-3.8-cross-python-config.patch"
+	eapply "${FILESDIR}/python-3.8-cross-setup-sysroot.patch"
+	eapply "${FILESDIR}/python-3.8-cross-distutils.patch"
+	eapply "${FILESDIR}/python-3.8-cross-sysconfig.patch"
+	eapply "${FILESDIR}/python-3.6.5-ldshared.patch"
+	eapply "${FILESDIR}/python-3.8-system-libffi.patch"
+
+	if use pgo_use; then
+		eapply "${FILESDIR}/python-3.6.12-pgo-use.patch"
+		cp "${WORKDIR}/code.profclangd" "${S}" || die
+	elif use pgo_generate; then
+		eapply "${FILESDIR}/python-3.6.12-pgo-generate.patch"
+	fi
+
+	# Support searching /usr/local for Python on dev/test images.
+	sed -i -e "s:sys.exec_prefix]:sys.exec_prefix, '/usr/local']:g" \
+		Lib/site.py || die "sed failed to add /usr/local to prefixes"
+	# END: Chromium OS
+
+	sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
+		setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
+
+	# force correct number of jobs
+	# https://bugs.gentoo.org/737660
+	local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+	sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
+	sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
+
+	eautoreconf
+}
+
+src_configure() {
+	local disable
+	# disable automagic bluetooth headers detection
+	use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
+	use gdbm      || disable+=" gdbm"
+	use ncurses   || disable+=" _curses _curses_panel"
+	use readline  || disable+=" readline"
+	use sqlite    || disable+=" _sqlite3"
+	use ssl       || export PYTHON_DISABLE_SSL="1"
+	use tk        || disable+=" _tkinter"
+	use xml       || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
+	export PYTHON_DISABLE_MODULES="${disable}"
+
+	if ! use xml; then
+		ewarn "You have configured Python without XML support."
+		ewarn "This is NOT a recommended configuration as you"
+		ewarn "may face problems parsing any XML documents."
+	fi
+
+	if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
+		einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
+	fi
+
+	if [[ "$(gcc-major-version)" -ge 4 ]]; then
+		append-flags -fwrapv
+	fi
+
+	filter-flags -malign-double
+
+	# https://bugs.gentoo.org/show_bug.cgi?id=50309
+	if is-flagq -O3; then
+		is-flagq -fstack-protector-all && replace-flags -O3 -O2
+		use hardened && replace-flags -O3 -O2
+	fi
+
+	# https://bugs.gentoo.org/700012
+	if is-flagq -flto || is-flagq '-flto=*'; then
+		append-cflags $(test-flags-CC -ffat-lto-objects)
+	fi
+
+	# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
+	tc-export CXX
+
+	tc-export CC
+
+	# Fix implicit declarations on cross and prefix builds. Bug #674070.
+	use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+
+	local dbmliborder
+	if use gdbm; then
+		dbmliborder+="${dbmliborder:+:}gdbm"
+	fi
+
+	local myeconfargs=(
+		# glibc-2.30 removes it; since we can't cleanly force-rebuild
+		# Python on glibc upgrade, remove it proactively to give
+		# a chance for users rebuilding python before glibc
+		ac_cv_header_stropts_h=no
+
+		--enable-shared
+		--enable-ipv6
+		--infodir='${prefix}/share/info'
+		--mandir='${prefix}/share/man'
+		--with-computed-gotos
+		--with-dbmliborder="${dbmliborder}"
+		--with-libc=
+		--enable-loadable-sqlite-extensions
+		--without-ensurepip
+		--with-system-expat
+		--with-system-ffi
+	)
+
+	if use pgo_generate || use pgo_use; then
+		myeconfargs+=(
+			"LLVM_PROFDATA=$(which llvm-profdata)"
+			--enable-optimizations
+		)
+	fi
+
+	# disable implicit optimization/debugging flags
+	local -x OPT=
+	# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
+	# propagated to sysconfig for built extensions
+	local -x CFLAGS_NODIST=${CFLAGS}
+	local -x LDFLAGS_NODIST=${LDFLAGS}
+	local -x CFLAGS= LDFLAGS=
+
+	econf "${myeconfargs[@]}"
+
+	if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
+		eerror "configure has detected that the sem_open function is broken."
+		eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
+		die "Broken sem_open function (bug 496328)"
+	fi
+}
+
+src_compile() {
+	# Ensure sed works as expected
+	# https://bugs.gentoo.org/594768
+	local -x LC_ALL=C
+	# Prevent using distutils bundled by setuptools.
+	# https://bugs.gentoo.org/823728
+	export SETUPTOOLS_USE_DISTUTILS=stdlib
+
+	# also need to clear the flags explicitly here or they end up
+	# in _sysconfigdata*
+	emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+	# Work around bug 329499. See also bug 413751 and 457194.
+	if has_version dev-libs/libffi[pax-kernel]; then
+		pax-mark E python
+	else
+		pax-mark m python
+	fi
+}
+
+src_test() {
+	# Tests will not work when cross compiling.
+	if tc-is-cross-compiler; then
+		elog "Disabling tests due to crosscompiling."
+		return
+	fi
+
+	# Skip failing tests.
+	local skipped_tests="gdb"
+
+	if use sparc ; then
+		# bug #788022
+		skipped_tests+=" multiprocessing_fork"
+		skipped_tests+=" multiprocessing_forkserver"
+	fi
+
+	for test in ${skipped_tests}; do
+		mv "${S}"/Lib/test/test_${test}.py "${T}"
+	done
+
+	# bug 660358
+	local -x COLUMNS=80
+	local -x PYTHONDONTWRITEBYTECODE=
+
+	local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+	emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+		CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+	local result=$?
+
+	for test in ${skipped_tests}; do
+		mv "${T}/test_${test}.py" "${S}"/Lib/test
+	done
+
+	elog "The following tests have been skipped:"
+	for test in ${skipped_tests}; do
+		elog "test_${test}.py"
+	done
+
+	elog "If you would like to run them, you may:"
+	elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
+	elog "and run the tests separately."
+
+	if [[ ${result} -ne 0 ]]; then
+		die "emake test failed"
+	fi
+}
+
+src_install() {
+	local libdir=${ED}/usr/lib/python${PYVER}
+
+	emake DESTDIR="${D}" altinstall
+
+	# Remove static library
+	rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
+
+	# Fix collisions between different slots of Python.
+	rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
+
+	# Cheap hack to get version with ABIFLAGS
+	local abiver=$(cd "${ED}/usr/include"; echo python*)
+	if [[ ${abiver} != python${PYVER} ]]; then
+		# Replace python3.X with a symlink to python3.Xm
+		rm "${ED}/usr/bin/python${PYVER}" || die
+		dosym "${abiver}" "/usr/bin/python${PYVER}"
+		# Create python3.X-config symlink
+		dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
+		# Create python-3.5m.pc symlink
+		dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
+	fi
+
+	# python seems to get rebuilt in src_install (bug 569908)
+	# Work around it for now.
+	if has_version dev-libs/libffi[pax-kernel]; then
+		pax-mark E "${ED}/usr/bin/${abiver}"
+	else
+		pax-mark m "${ED}/usr/bin/${abiver}"
+	fi
+
+	use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
+	use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
+
+	use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die
+
+	dodoc Misc/{ACKS,HISTORY,NEWS}
+
+	if use examples; then
+		docinto examples
+		find Tools -name __pycache__ -exec rm -fr {} + || die
+		dodoc -r Tools
+	fi
+	insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
+	local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
+		emake --no-print-directory -s -f - 2>/dev/null)
+	newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
+
+	newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
+	newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
+	sed \
+		-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
+		-e "s:@PYDOC@:pydoc${PYVER}:" \
+		-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
+		"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
+
+	local -x EPYTHON=python${PYVER}
+	# if not using a cross-compiler, use the fresh binary
+	if ! tc-is-cross-compiler; then
+		local -x PYTHON=./python
+		local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
+	else
+		local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
+	fi
+
+	echo "EPYTHON='${EPYTHON}'" > epython.py || die
+	python_domodule epython.py
+
+	# python-exec wrapping support
+	local pymajor=${PYVER%.*}
+	local scriptdir=${D}$(python_get_scriptdir)
+	mkdir -p "${scriptdir}" || die
+	# python and pythonX
+	ln -s "../../../bin/${abiver}" \
+		"${scriptdir}/python${pymajor}" || die
+	ln -s "python${pymajor}" "${scriptdir}/python" || die
+	# python-config and pythonX-config
+	# note: we need to create a wrapper rather than symlinking it due
+	# to some random dirname(argv[0]) magic performed by python-config
+	cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
+		#!/bin/sh
+		exec "${abiver}-config" "\${@}"
+	EOF
+	chmod +x "${scriptdir}/python${pymajor}-config" || die
+	ln -s "python${pymajor}-config" \
+		"${scriptdir}/python-config" || die
+	# 2to3, pydoc
+	ln -s "../../../bin/2to3-${PYVER}" \
+		"${scriptdir}/2to3" || die
+	ln -s "../../../bin/pydoc${PYVER}" \
+		"${scriptdir}/pydoc" || die
+	# idle
+	if use tk; then
+		ln -s "../../../bin/idle${PYVER}" \
+			"${scriptdir}/idle" || die
+	fi
+
+	# Delete unittests as they are a waste of space and are unused.
+	rm -rf "${libdir}/test" "${libdir}"/{ctypes,email,sqlite3,unittest}/test || die
+}
diff --git a/dev-lang/rust-bootstrap/Manifest b/dev-lang/rust-bootstrap/Manifest
index e5f099a..c4da0ba 100644
--- a/dev-lang/rust-bootstrap/Manifest
+++ b/dev-lang/rust-bootstrap/Manifest
@@ -1,5 +1,6 @@
 DIST mrustc-0.9.tar.gz 905308 BLAKE2B 4e8829bce1d6a26028a4d8fb8373988e41989aaef4bdd21b3fcca1aee6f72d301b510ae4458502fc1be06c35601362ac5e23aeedfd0c099dd0d5414015f55c2a SHA512 7cefc6c1a4a6757b1b6351332fa2a71ea1eda0060d2d884f9e821fb17856f3ac26bdba7bde13e2c18bba9e243e5a599316e148479c3384d7899bc5223e9d5589
-DIST rust-bootstrap-1.56.1.tbz2 260372465 BLAKE2B d28dc524aaec3ec23f9c28512edf3b6a172c334c51ff34edf58720871508c411c4b76835c70635741678066208ad97658008fd20cec9c856c9dc9188688d0f4f SHA512 7c21151206519862084d2a87a5289d3fe3db2bc450fac2036599f93b9a0200f4fc16030af2c2534a91edcd44845e3ac70ec0eb34a6ec3e5868e338947475aae8
+DIST rust-bootstrap-1.58.1.tbz2 269484609 BLAKE2B 6d29a937f22afb96636a74a8d865bd567982bf87cf86658f1636417a3b27c67aa6f8e07df73c95a787e43b958259e6fcfcc593f095ae5d5c9841b8f6e33c8557 SHA512 3b1409b9170e47065663b98dce748227cce78e9928632422a7b2acc0d690b09ed366cde2ecc1de31222b3c1dacc578ab948411c1ef05930e3d7080e2fadeee4a
+DIST rust-bootstrap-1.59.0.tbz2 308478627 BLAKE2B 1803903758a9208c7b4e52bc8f5c045d4a357726db856fef54b798d51c2db72f57f1ba4b5e013599781f66c4bc3b998b525d0bd57384d96b452ce67f2b757a25 SHA512 62d0c7c148ab07502aca1a5e073a028e72fd1a992a0ec3d86ca990829c31c18e110feefc55f5c9d913b7360168bfbb0fcb010ef94d6299ca4f7ad7250cb4f216
 DIST rustc-1.29.0-src.tar.gz 106092915 BLAKE2B 520bbbc49b130229e24a130cb7626184c9c06dfa07b50366d602e76e0005db2f996e7fc0da23de19e67783286caffaf4cb4ef830179f8e42efda1fed1542b248 SHA512 3c6b79cce5a42553bc4360591c6e6b42b36f035243b8cb688a0d4b08c10793e59d257bf9e781c9345c92f765a63a9e161e3e3346f02ddc733e4b401cb5aeb302
 DIST rustc-1.30.0-src.tar.gz 149490609 BLAKE2B 7b9403e40573b7bef82b850ed63a80fb75fed8839761de6da3a518584d2175ec681fb22b47b9a4bcd6fb7069c75e21821fc8fe1e9458f9e5c25ed7a56a553517 SHA512 a4737727818397a26974449e9e7ddc09ae7430a08102ae05729317b19675fa89ad82a8f5bc5b7c913d894866a30dfe3c539c80e29c2b0ade6ecde06db8216981
 DIST rustc-1.31.1-src.tar.gz 151163848 BLAKE2B 4d5712a4c85b49167577ecf5191792d9f437780c2c5dfecdb2582c5e49cfec8f6e6a92664e96a7fd552003eec9c2d6a9042ca1d17d9ba7dd00c6f5bfd74098a0 SHA512 76ca238c40694abab4982f4b788a0da34bbb3d8a6e4adb50b0b9138876407ac2cb4fc39cde057b8fa32729c543c5977d392167e96b82f76a01af31eaafe463cf
@@ -29,3 +30,6 @@
 DIST rustc-1.55.0-src.tar.gz 171660847 BLAKE2B 8acadb26f4a105f754044eaff76478222c61e6f2f7e0e9012dc33b58a0e7197a2ef47dfa515b23cc8c960a2a60a729ac0de8d60bdd42d5e64df9623b7910c835 SHA512 c3f072e0504002543d47efd56d40132ea96d81133a92e6cf6ac0b04e46652d6084ee3a514d0198cecd807753ecdf100281cec2d92407f098079ed01ebeb48dc6
 DIST rustc-1.56.1-src.tar.gz 179961977 BLAKE2B 35e37f4e3617e1c67d2ab0bad696befa89ea5a1d12ab0c9eca356a2f6c6a802be805c972f257fc7d53e48d04eecf7d706b4be7676a3c6d19d6da367a4b286b1b SHA512 0bd2980ae7cca126c6f045905100550c056a1c1cb91e0b79efab85f3f134f34ee9d286c51328976192799d44ff4323640c828bb984c59b332eaf861feb8ea722
 DIST rustc-1.57.0-src.tar.gz 180813373 BLAKE2B 139710e18779e13d1652eb8ac51ffe37433ce836a2700a4925be57dd6405ab013aed1965f8fe2c8ff544f4f1c1244e019a4b6b63b506ea11151a75c182219c59 SHA512 243b60211dc6c007eb290a4dacf37fa08798b3939236c7fd67a64a2d2e592c27e105cff88887c298b8ebf255e6037d5edb5ebfa68199c77dfbceb06799b61c61
+DIST rustc-1.58.1-src.tar.gz 183834489 BLAKE2B ecc926726ac323cfadd72551ec6df7e435d1d4d6e57f4612d0959f3125182fcf98a4cd70fd25d09781bac22b9857a3a6629a97c7f902d71c345fc9c38dbaa21a SHA512 556de73500bb66796e1d6ec063f26d60e7fe03d496e0783b3b92b54d1aea8354999a6eff325a68eabdaa61cf2b356168768686bfc2ccb48766308490f9c4d945
+DIST rustc-1.59.0-src.tar.gz 190229590 BLAKE2B a477269286628e2d9101220dfae29caceb4e484052c3b24f6a1d25fd29ecae54fa49e16cdb685078aac64cfe5e47406aa11b56ef90c10c6689861913166430d0 SHA512 77e02226785e964750c89b8f27d6ee0546990919b8066889043145093b733e80edecb1fd81ae068e03943ded4692f28b2866cdaa8240a23f68968c235b0d1f8e
+DIST rustc-1.60.0-src.tar.gz 202376973 BLAKE2B 5e0f3aaab0ce87fc6068cdf1aa22f2e707cffe96584bc6d6bd75539c99aa39308d28e77efa5a32b2cfc7b595c0aa40ba4b3f860060f48ab4e79e9bfc85b77225 SHA512 ae626482287949eb73a5467245b8e21b7624713a29d4bbdf1c1e1232e10f5497ba3435427e08df4fd5d2277c456213e5d04529e841d50924a4211fdb8c6acfd0
diff --git a/dev-lang/rust-bootstrap/rust-bootstrap-1.57.0.ebuild b/dev-lang/rust-bootstrap/rust-bootstrap-1.57.0.ebuild
deleted file mode 100644
index ec6947c..0000000
--- a/dev-lang/rust-bootstrap/rust-bootstrap-1.57.0.ebuild
+++ /dev/null
@@ -1,271 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-# Bootstraps rustc (the official Rust compiler) using mrustc (a Rust
-# compiler written in C++).
-#
-# The version of this ebuild reflects the version of rustc that will
-# ultimately be installed.
-#
-# This ebuild can be used in two modes, controlled by the fullbootstrap
-# USE flag:
-#
-# fullbootstrap: Build everything from source. This can take over
-#   10 hours.
-#
-# -fullbootstrap: Start with a prebuilt from an earlier rust-bootstrap
-#   and build only versions after that from source.
-#
-# The default is -fullbootstrap, so that you only get the 10+ hour build
-# time if you explicitly request it.
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Bootstraps the rustc Rust compiler using mrustc"
-HOMEPAGE="https://github.com/thepowersgang/mrustc"
-MRUSTC_VERSION="0.9"
-MRUSTC_NAME="mrustc-${MRUSTC_VERSION}"
-
-SLOT="${PV}"
-KEYWORDS="*"
-IUSE="-fullbootstrap"
-
-INITIAL_RUSTC_VERSION="1.29.0"
-# Versions of rustc to build after the initial one.
-RUSTC_RAW_FULL_BOOTSTRAP_SEQUENCE=(
-	1.30.0
-	1.31.1
-	1.32.0
-	1.33.0
-	1.34.2
-	1.35.0
-	1.36.0
-	1.37.0
-	1.38.0
-	1.39.0
-	1.40.0
-	1.41.1
-	1.42.0
-	1.43.1
-	1.44.1
-	1.45.2
-	1.46.0
-	1.47.0
-	1.48.0
-	1.49.0
-	1.50.0
-	1.51.0
-	1.52.0
-	1.53.0
-	1.54.0
-	1.55.0
-	1.56.1
-	1.57.0
-)
-
-RUSTC_FULL_BOOTSTRAP_SEQUENCE=()
-
-for version in "${RUSTC_RAW_FULL_BOOTSTRAP_SEQUENCE[@]}"; do
-	if [[ ! "${PV}" > "${version}" ]]; then
-		break
-	fi
-	RUSTC_FULL_BOOTSTRAP_SEQUENCE+=( "${version}" )
-done
-
-# When not using fullbootstrap, use this version as a starting point.
-PREBUILT_VERSION="${RUSTC_FULL_BOOTSTRAP_SEQUENCE[-1]}"
-SRC_URI="gs://chromeos-localmirror/distfiles/rustc-${PV}-src.tar.gz
-	!fullbootstrap? ( gs://chromeos-localmirror/distfiles/rust-bootstrap-${PREBUILT_VERSION}.tbz2 )
-	fullbootstrap? ( gs://chromeos-localmirror/distfiles/${MRUSTC_NAME}.tar.gz )
-	fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-${INITIAL_RUSTC_VERSION}-src.tar.gz )"
-for version in "${RUSTC_FULL_BOOTSTRAP_SEQUENCE[@]}"; do
-	SRC_URI+=" fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-${version}-src.tar.gz )"
-done
-
-LICENSE="MIT Apache-2.0 BSD-1 BSD-2 BSD-4 UoI-NCSA"
-
-DEPEND="dev-libs/openssl
-	net-libs/libssh2"
-RDEPEND="${DEPEND}"
-
-# These tasks take a long time to run for not much benefit: Most of the files
-# they check are never installed. Those that are are only there to bootstrap
-# the rust ebuild, which has the same RESTRICT anyway.
-RESTRICT="binchecks strip"
-
-pkg_setup() {
-	if use fullbootstrap; then
-		RUSTC_VERSION_SEQUENCE=( "${RUSTC_FULL_BOOTSTRAP_SEQUENCE[@]}" )
-		PATCHES=(
-			"${FILESDIR}/${PN}-no-curl.patch"
-			"${FILESDIR}/${PN}-compilation-fixes.patch"
-			"${FILESDIR}/${PN}-8ddb05-invalid-output-constraint.patch"
-			"${FILESDIR}/${PN}-libgit2-sys-pkg-config.patch"
-			"${FILESDIR}/${PN}-cc.patch"
-			"${FILESDIR}/${PN}-printf.patch"
-			"${FILESDIR}/${PN}-1.48.0-libc++.patch"
-		)
-		S="${WORKDIR}/${MRUSTC_NAME}"
-	else
-		RUSTC_VERSION_SEQUENCE=( )
-		# We manually apply patches to rustcs in the version sequence,
-		# so that we can pass the necessary -p value. To prevent
-		# default from trying and failing to apply patches, we set
-		# PATCHES to empty.
-		PATCHES=( )
-		S="${WORKDIR}/rustc-${PV}-src"
-	fi
-	RUSTC_VERSION_SEQUENCE+=( ${PV} )
-}
-
-src_unpack() {
-	default
-	if use fullbootstrap; then
-		# Move rustc sources to where mrustc expects them.
-		mv "${WORKDIR}/rustc-${INITIAL_RUSTC_VERSION}-src" "${S}" || die
-	fi
-}
-
-src_prepare() {
-	# Call the default implementation. This applies PATCHES.
-	default
-
-	if use fullbootstrap; then
-
-		# The next few steps mirror what mrustc's Makefile does to configure the
-		# build for a specific rustc version.
-		(cd "rustc-${INITIAL_RUSTC_VERSION}-src" || die; eapply -p0 "${S}/rustc-${INITIAL_RUSTC_VERSION}-src.patch")
-		cd "${S}" || die
-		echo "${INITIAL_RUSTC_VERSION}" > "rust-version" || die
-		cp "rust-version" "rustc-${INITIAL_RUSTC_VERSION}-src/dl-version" || die
-	fi
-
-	# There are some patches that need to be applied to the rustc versions
-	# we build with rustc. Apply them here.
-	local version
-	for version in "${RUSTC_VERSION_SEQUENCE[@]}"; do
-		einfo "Patching rustc-${version}"
-		# The location of files we patch changed in 1.48.
-		# We have patches with no version number for versions
-		# before 1.48, and with version number for after.
-		local libc_patch="${FILESDIR}/${PN}-1.48.0-libc++.patch"
-		if [[ "${version}" < "1.48.0" ]]; then
-			libc_patch="${FILESDIR}/${PN}-libc++.patch"
-		fi
-		(cd "${WORKDIR}/rustc-${version}-src" || die; eapply -p2 "${libc_patch}")
-	done
-}
-
-src_configure() {
-	# Avoid the default implementation, which overwrites vendored
-	# config.guess and config.sub files, which then causes checksum
-	# errors during the build, e.g.
-	# error: the listed checksum of `/var/tmp/portage/dev-lang/rust-bootstrap-1.46.0/work/rustc-1.46.0-src/vendor/backtrace-sys/src/libbacktrace/config.guess` has changed:
-	# expected: 12e217c83267f1ff4bad5d9b2b847032d91e89ec957deb34ec8cb5cef00eba1e
-	# actual:   312ea023101dc1de54aa8c50ed0e82cb9c47276316033475ea403cb86fe88ffe
-	# (The dev-lang/rust ebuilds in Chrome OS and Gentoo also have custom
-	# src_configure implementations.)
-	true
-}
-
-src_compile() {
-	# 1. Build initial rustc using mrustc
-	# -----------------------------------
-	#
-	# All of these specify:
-	#  - CC and CXX so that we build with Clang instead of a GCC version that defaults to pre-C99 C.
-	#  - LLVM_TARGETS, else it will be empty and rustc will not work.
-	#  - RUSTC_VERSION because the Makefiles will otherwise set it to an incorrect value.
-	#  - OPENSSL_DIR so that cargo knows where to look for OpenSSL headers.
-	export CC=$(tc-getBUILD_CC)
-	export CXX=$(tc-getBUILD_CXX)
-	export PKG_CONFIG=$(tc-getBUILD_PKG_CONFIG)
-	export OPENSSL_DIR="${ESYSROOT}/usr"
-	# Only actually build mrustc when using fullbootstrap.
-	if use fullbootstrap; then
-		# Two separate commands, because invoking just the second command leads to race
-		# conditions.
-		emake LLVM_TARGETS=X86 RUSTC_VERSION=${INITIAL_RUSTC_VERSION} output/rustc output/cargo
-		emake LLVM_TARGETS=X86 RUSTC_VERSION=${INITIAL_RUSTC_VERSION} -C run_rustc
-	fi
-
-	# 2. Build successive versions of rustc using previous rustc
-	# ----------------------------------------------------------
-	if use fullbootstrap; then
-		local prev_version=${INITIAL_RUSTC_VERSION}
-		local prev_cargo="${S}/run_rustc/output/prefix/bin/cargo"
-		local prev_rustc="${S}/run_rustc/output/prefix/bin/rustc"
-	else
-		local prev_version=${PREBUILT_VERSION}
-		local prev_cargo="${WORKDIR}/opt/rust-bootstrap-${PREBUILT_VERSION}/bin/cargo"
-		local prev_rustc="${WORKDIR}/opt/rust-bootstrap-${PREBUILT_VERSION}/bin/rustc"
-	fi
-	local next_version rustc_dir
-	for next_version in "${RUSTC_VERSION_SEQUENCE[@]}"; do
-		einfo "Building rustc-${next_version} using rustc-${prev_version}"
-		rustc_dir="${WORKDIR}/rustc-${next_version}-src"
-		cd "${rustc_dir}" || die "Could not chdir to ${rustc_dir}"
-		cat > config.toml <<EOF
-[build]
-cargo = "${prev_cargo}"
-rustc = "${prev_rustc}"
-docs = false
-vendor = true
-# extended means we also build cargo and a few other commands.
-extended = true
-# For rust-bootstrap, we need only cargo.
-tools = [ "cargo" ]
-
-[install]
-prefix = "${ED}/opt/rust-bootstrap-${next_version}"
-
-[rust]
-default-linker = "${CC}"
-
-[llvm]
-# For rust-bootstrap, we only need x86_64, which LLVM calls X86.
-targets = "X86"
-
-[target.x86_64-unknown-linux-gnu]
-cc = "${CC}"
-cxx = "${CXX}"
-linker = "${CC}"
-EOF
-
-		# --stage 2 causes this to use the previously-built compiler,
-		# instead of the default behavior of downloading one from
-		# upstream.
-		./x.py --stage 2 build || die
-		# For some rustc versions (e.g. 1.31.1), the build script will exit with
-		# a nonzero exit status because miri fails to build when it is not in a git
-		# repository. This does not affect the ability to build the next rustc.
-		# So instead of looking at the exit code, we check if rustc and cargo
-		# were built.
-		prev_version=${next_version}
-		prev_cargo="${rustc_dir}/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/cargo"
-		prev_rustc="${rustc_dir}/build/x86_64-unknown-linux-gnu/stage2/bin/rustc"
-		[[ -x "${prev_rustc}" ]] || die "Failed to build ${prev_rustc}"
-		[[ -x "${prev_cargo}" ]] || die "Failed to build ${prev_cargo}"
-		einfo "Built rustc-${next_version}"
-	done
-
-	# Remove the src/rust symlink which will be dangling after sources are
-	# removed, and the containing src directory.
-	rm "${WORKDIR}/rustc-${PV}-src/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src/rust" || die
-	rmdir "${WORKDIR}/rustc-${PV}-src/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src" || die
-}
-
-src_install() {
-	local obj="${WORKDIR}/rustc-${PV}-src/build/x86_64-unknown-linux-gnu/stage2"
-	local tools="${obj}-tools/x86_64-unknown-linux-gnu/release/"
-	exeinto "/opt/${P}/bin"
-	# With rustc-1.45.2 at least, regardless of the value of install.libdir,
-	# the rpath seems to end up as $ORIGIN/../lib. So install the libraries there.
-	insinto "/opt/${P}/lib"
-	doexe "${obj}/bin/rustc"
-	doexe "${tools}/cargo"
-	doins -r "${obj}/lib/"*
-	find "${D}" -name '*.so' -exec chmod +x '{}' ';'
-}
diff --git a/dev-lang/rust-bootstrap/rust-bootstrap-1.59.0.ebuild b/dev-lang/rust-bootstrap/rust-bootstrap-1.59.0.ebuild
new file mode 120000
index 0000000..7634ff8
--- /dev/null
+++ b/dev-lang/rust-bootstrap/rust-bootstrap-1.59.0.ebuild
@@ -0,0 +1 @@
+rust-bootstrap-1.60.0.ebuild
\ No newline at end of file
diff --git a/dev-lang/rust-bootstrap/rust-bootstrap-1.60.0.ebuild b/dev-lang/rust-bootstrap/rust-bootstrap-1.60.0.ebuild
new file mode 100644
index 0000000..d6b3d99
--- /dev/null
+++ b/dev-lang/rust-bootstrap/rust-bootstrap-1.60.0.ebuild
@@ -0,0 +1,273 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+# Bootstraps rustc (the official Rust compiler) using mrustc (a Rust
+# compiler written in C++).
+#
+# The version of this ebuild reflects the version of rustc that will
+# ultimately be installed.
+#
+# This ebuild can be used in two modes, controlled by the fullbootstrap
+# USE flag:
+#
+# fullbootstrap: Build everything from source. This can take over
+#   10 hours.
+#
+# -fullbootstrap: Start with a prebuilt from an earlier rust-bootstrap
+#   and build only versions after that from source.
+#
+# The default is -fullbootstrap, so that you only get the 10+ hour build
+# time if you explicitly request it.
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Bootstraps the rustc Rust compiler using mrustc"
+HOMEPAGE="https://github.com/thepowersgang/mrustc"
+MRUSTC_VERSION="0.9"
+MRUSTC_NAME="mrustc-${MRUSTC_VERSION}"
+
+SLOT="${PV}"
+KEYWORDS="*"
+IUSE="-fullbootstrap"
+
+INITIAL_RUSTC_VERSION="1.29.0"
+# Versions of rustc to build after the initial one.
+RUSTC_RAW_FULL_BOOTSTRAP_SEQUENCE=(
+	1.30.0
+	1.31.1
+	1.32.0
+	1.33.0
+	1.34.2
+	1.35.0
+	1.36.0
+	1.37.0
+	1.38.0
+	1.39.0
+	1.40.0
+	1.41.1
+	1.42.0
+	1.43.1
+	1.44.1
+	1.45.2
+	1.46.0
+	1.47.0
+	1.48.0
+	1.49.0
+	1.50.0
+	1.51.0
+	1.52.0
+	1.53.0
+	1.54.0
+	1.55.0
+	1.56.1
+	1.57.0
+	1.58.1
+	1.59.0
+)
+
+RUSTC_FULL_BOOTSTRAP_SEQUENCE=()
+
+for version in "${RUSTC_RAW_FULL_BOOTSTRAP_SEQUENCE[@]}"; do
+	if [[ ! "${PV}" > "${version}" ]]; then
+		break
+	fi
+	RUSTC_FULL_BOOTSTRAP_SEQUENCE+=( "${version}" )
+done
+
+# When not using fullbootstrap, use this version as a starting point.
+PREBUILT_VERSION="${RUSTC_FULL_BOOTSTRAP_SEQUENCE[-1]}"
+SRC_URI="gs://chromeos-localmirror/distfiles/rustc-${PV}-src.tar.gz
+	!fullbootstrap? ( gs://chromeos-localmirror/distfiles/rust-bootstrap-${PREBUILT_VERSION}.tbz2 )
+	fullbootstrap? ( gs://chromeos-localmirror/distfiles/${MRUSTC_NAME}.tar.gz )
+	fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-${INITIAL_RUSTC_VERSION}-src.tar.gz )"
+for version in "${RUSTC_FULL_BOOTSTRAP_SEQUENCE[@]}"; do
+	SRC_URI+=" fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-${version}-src.tar.gz )"
+done
+
+LICENSE="MIT Apache-2.0 BSD-1 BSD-2 BSD-4 UoI-NCSA"
+
+DEPEND="dev-libs/openssl
+	net-libs/libssh2"
+RDEPEND="${DEPEND}"
+
+# These tasks take a long time to run for not much benefit: Most of the files
+# they check are never installed. Those that are are only there to bootstrap
+# the rust ebuild, which has the same RESTRICT anyway.
+RESTRICT="binchecks strip"
+
+pkg_setup() {
+	if use fullbootstrap; then
+		RUSTC_VERSION_SEQUENCE=( "${RUSTC_FULL_BOOTSTRAP_SEQUENCE[@]}" )
+		PATCHES=(
+			"${FILESDIR}/${PN}-no-curl.patch"
+			"${FILESDIR}/${PN}-compilation-fixes.patch"
+			"${FILESDIR}/${PN}-8ddb05-invalid-output-constraint.patch"
+			"${FILESDIR}/${PN}-libgit2-sys-pkg-config.patch"
+			"${FILESDIR}/${PN}-cc.patch"
+			"${FILESDIR}/${PN}-printf.patch"
+			"${FILESDIR}/${PN}-1.48.0-libc++.patch"
+		)
+		S="${WORKDIR}/${MRUSTC_NAME}"
+	else
+		RUSTC_VERSION_SEQUENCE=( )
+		# We manually apply patches to rustcs in the version sequence,
+		# so that we can pass the necessary -p value. To prevent
+		# default from trying and failing to apply patches, we set
+		# PATCHES to empty.
+		PATCHES=( )
+		S="${WORKDIR}/rustc-${PV}-src"
+	fi
+	RUSTC_VERSION_SEQUENCE+=( ${PV} )
+}
+
+src_unpack() {
+	default
+	if use fullbootstrap; then
+		# Move rustc sources to where mrustc expects them.
+		mv "${WORKDIR}/rustc-${INITIAL_RUSTC_VERSION}-src" "${S}" || die
+	fi
+}
+
+src_prepare() {
+	# Call the default implementation. This applies PATCHES.
+	default
+
+	if use fullbootstrap; then
+
+		# The next few steps mirror what mrustc's Makefile does to configure the
+		# build for a specific rustc version.
+		(cd "rustc-${INITIAL_RUSTC_VERSION}-src" || die; eapply -p0 "${S}/rustc-${INITIAL_RUSTC_VERSION}-src.patch")
+		cd "${S}" || die
+		echo "${INITIAL_RUSTC_VERSION}" > "rust-version" || die
+		cp "rust-version" "rustc-${INITIAL_RUSTC_VERSION}-src/dl-version" || die
+	fi
+
+	# There are some patches that need to be applied to the rustc versions
+	# we build with rustc. Apply them here.
+	local version
+	for version in "${RUSTC_VERSION_SEQUENCE[@]}"; do
+		einfo "Patching rustc-${version}"
+		# The location of files we patch changed in 1.48.
+		# We have patches with no version number for versions
+		# before 1.48, and with version number for after.
+		local libc_patch="${FILESDIR}/${PN}-1.48.0-libc++.patch"
+		if [[ "${version}" < "1.48.0" ]]; then
+			libc_patch="${FILESDIR}/${PN}-libc++.patch"
+		fi
+		(cd "${WORKDIR}/rustc-${version}-src" || die; eapply -p2 "${libc_patch}")
+	done
+}
+
+src_configure() {
+	# Avoid the default implementation, which overwrites vendored
+	# config.guess and config.sub files, which then causes checksum
+	# errors during the build, e.g.
+	# error: the listed checksum of `/var/tmp/portage/dev-lang/rust-bootstrap-1.46.0/work/rustc-1.46.0-src/vendor/backtrace-sys/src/libbacktrace/config.guess` has changed:
+	# expected: 12e217c83267f1ff4bad5d9b2b847032d91e89ec957deb34ec8cb5cef00eba1e
+	# actual:   312ea023101dc1de54aa8c50ed0e82cb9c47276316033475ea403cb86fe88ffe
+	# (The dev-lang/rust ebuilds in Chrome OS and Gentoo also have custom
+	# src_configure implementations.)
+	true
+}
+
+src_compile() {
+	# 1. Build initial rustc using mrustc
+	# -----------------------------------
+	#
+	# All of these specify:
+	#  - CC and CXX so that we build with Clang instead of a GCC version that defaults to pre-C99 C.
+	#  - LLVM_TARGETS, else it will be empty and rustc will not work.
+	#  - RUSTC_VERSION because the Makefiles will otherwise set it to an incorrect value.
+	#  - OPENSSL_DIR so that cargo knows where to look for OpenSSL headers.
+	export CC=$(tc-getBUILD_CC)
+	export CXX=$(tc-getBUILD_CXX)
+	export PKG_CONFIG=$(tc-getBUILD_PKG_CONFIG)
+	export OPENSSL_DIR="${ESYSROOT}/usr"
+	# Only actually build mrustc when using fullbootstrap.
+	if use fullbootstrap; then
+		# Two separate commands, because invoking just the second command leads to race
+		# conditions.
+		emake LLVM_TARGETS=X86 RUSTC_VERSION=${INITIAL_RUSTC_VERSION} output/rustc output/cargo
+		emake LLVM_TARGETS=X86 RUSTC_VERSION=${INITIAL_RUSTC_VERSION} -C run_rustc
+	fi
+
+	# 2. Build successive versions of rustc using previous rustc
+	# ----------------------------------------------------------
+	if use fullbootstrap; then
+		local prev_version=${INITIAL_RUSTC_VERSION}
+		local prev_cargo="${S}/run_rustc/output/prefix/bin/cargo"
+		local prev_rustc="${S}/run_rustc/output/prefix/bin/rustc"
+	else
+		local prev_version=${PREBUILT_VERSION}
+		local prev_cargo="${WORKDIR}/opt/rust-bootstrap-${PREBUILT_VERSION}/bin/cargo"
+		local prev_rustc="${WORKDIR}/opt/rust-bootstrap-${PREBUILT_VERSION}/bin/rustc"
+	fi
+	local next_version rustc_dir
+	for next_version in "${RUSTC_VERSION_SEQUENCE[@]}"; do
+		einfo "Building rustc-${next_version} using rustc-${prev_version}"
+		rustc_dir="${WORKDIR}/rustc-${next_version}-src"
+		cd "${rustc_dir}" || die "Could not chdir to ${rustc_dir}"
+		cat > config.toml <<EOF
+[build]
+cargo = "${prev_cargo}"
+rustc = "${prev_rustc}"
+docs = false
+vendor = true
+# extended means we also build cargo and a few other commands.
+extended = true
+# For rust-bootstrap, we need only cargo.
+tools = [ "cargo" ]
+
+[install]
+prefix = "${ED}/opt/rust-bootstrap-${next_version}"
+
+[rust]
+default-linker = "${CC}"
+
+[llvm]
+# For rust-bootstrap, we only need x86_64, which LLVM calls X86.
+targets = "X86"
+
+[target.x86_64-unknown-linux-gnu]
+cc = "${CC}"
+cxx = "${CXX}"
+linker = "${CC}"
+EOF
+
+		# --stage 2 causes this to use the previously-built compiler,
+		# instead of the default behavior of downloading one from
+		# upstream.
+		./x.py --stage 2 build || die
+		# For some rustc versions (e.g. 1.31.1), the build script will exit with
+		# a nonzero exit status because miri fails to build when it is not in a git
+		# repository. This does not affect the ability to build the next rustc.
+		# So instead of looking at the exit code, we check if rustc and cargo
+		# were built.
+		prev_version=${next_version}
+		prev_cargo="${rustc_dir}/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/cargo"
+		prev_rustc="${rustc_dir}/build/x86_64-unknown-linux-gnu/stage2/bin/rustc"
+		[[ -x "${prev_rustc}" ]] || die "Failed to build ${prev_rustc}"
+		[[ -x "${prev_cargo}" ]] || die "Failed to build ${prev_cargo}"
+		einfo "Built rustc-${next_version}"
+	done
+
+	# Remove the src/rust symlink which will be dangling after sources are
+	# removed, and the containing src directory.
+	rm "${WORKDIR}/rustc-${PV}-src/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src/rust" || die
+	rmdir "${WORKDIR}/rustc-${PV}-src/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src" || die
+}
+
+src_install() {
+	local obj="${WORKDIR}/rustc-${PV}-src/build/x86_64-unknown-linux-gnu/stage2"
+	local tools="${obj}-tools/x86_64-unknown-linux-gnu/release/"
+	exeinto "/opt/${P}/bin"
+	# With rustc-1.45.2 at least, regardless of the value of install.libdir,
+	# the rpath seems to end up as $ORIGIN/../lib. So install the libraries there.
+	insinto "/opt/${P}/lib"
+	doexe "${obj}/bin/rustc"
+	doexe "${tools}/cargo"
+	doins -r "${obj}/lib/"*
+	find "${D}" -name '*.so' -exec chmod +x '{}' ';'
+}
diff --git a/dev-lang/rust-host/Manifest b/dev-lang/rust-host/Manifest
index 611542e..7ce290b 100644
--- a/dev-lang/rust-host/Manifest
+++ b/dev-lang/rust-host/Manifest
@@ -1 +1 @@
-DIST rustc-1.58.1-src.tar.gz 183834489 BLAKE2B ecc926726ac323cfadd72551ec6df7e435d1d4d6e57f4612d0959f3125182fcf98a4cd70fd25d09781bac22b9857a3a6629a97c7f902d71c345fc9c38dbaa21a SHA512 556de73500bb66796e1d6ec063f26d60e7fe03d496e0783b3b92b54d1aea8354999a6eff325a68eabdaa61cf2b356168768686bfc2ccb48766308490f9c4d945
+DIST rustc-1.60.0-src.tar.gz 202376973 BLAKE2B 5e0f3aaab0ce87fc6068cdf1aa22f2e707cffe96584bc6d6bd75539c99aa39308d28e77efa5a32b2cfc7b595c0aa40ba4b3f860060f48ab4e79e9bfc85b77225 SHA512 ae626482287949eb73a5467245b8e21b7624713a29d4bbdf1c1e1232e10f5497ba3435427e08df4fd5d2277c456213e5d04529e841d50924a4211fdb8c6acfd0
diff --git a/dev-lang/rust-host/rust-host-1.58.1-r1.ebuild b/dev-lang/rust-host/rust-host-1.58.1-r1.ebuild
deleted file mode 120000
index 1c6c659..0000000
--- a/dev-lang/rust-host/rust-host-1.58.1-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-rust-host-1.58.1.ebuild
\ No newline at end of file
diff --git a/dev-lang/rust-host/rust-host-1.58.1.ebuild b/dev-lang/rust-host/rust-host-1.58.1.ebuild
deleted file mode 100644
index 5f510e9..0000000
--- a/dev-lang/rust-host/rust-host-1.58.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-RUSTC_TARGET_TRIPLES=(
-	x86_64-pc-linux-gnu
-)
-RUSTC_BARE_TARGET_TRIPLES=()
-
-inherit cros-rustc
-
-DESCRIPTION="The parts of our Rust toolchain necessary to build host binaries"
-
-KEYWORDS="*"
-
-# dev-lang/rust-1.58.1-r1 introduced the split between dev-lang/rust and
-# dev-lang/rust-host; note that here to work around file collisions.
-RDEPEND="!<dev-lang/rust-1.58.1-r1"
-
-src_install() {
-	local obj="${CROS_RUSTC_BUILD_DIR}/x86_64-unknown-linux-gnu/stage2"
-	local tools="${obj}-tools/x86_64-unknown-linux-gnu/release/"
-	dobin "${obj}/bin/rustc" "${obj}/bin/rustdoc"
-	dobin "${tools}/cargo"
-	dobin "${tools}/rustfmt" "${tools}/cargo-fmt"
-	dobin "${tools}/clippy-driver" "${tools}/cargo-clippy"
-	dobin src/etc/rust-gdb src/etc/rust-lldb
-	insinto "/usr/$(get_libdir)"
-	doins -r "${obj}/lib/"*
-	doins -r "${obj}/lib64/"*
-
-	# Install miscellaneous LLVM tools.
-	#
-	# These tools are already provided in the SDK, but they're built with
-	# the version of LLVM built by sys-devel/llvm. Rust uses an independent
-	# version of LLVM, so the use of these tools is sometimes necessary to
-	# produce artifacts that work with `rustc` and such.
-	#
-	# Our long-term plan is to have Rust using the same version of LLVM as
-	# sys-devel/llvm. When that happens, all of the below will be removed, with
-	# the expectation that users will migrate to the LLVM tools on `$PATH`.
-	local llvm_tools="${CROS_RUSTC_BUILD_DIR}/x86_64-unknown-linux-gnu/llvm/bin"
-	exeinto "/usr/libexec/rust"
-	doexe "${llvm_tools}/llvm-profdata"
-}
diff --git a/dev-lang/rust-host/rust-host-1.60.0-r2.ebuild b/dev-lang/rust-host/rust-host-1.60.0-r2.ebuild
new file mode 120000
index 0000000..5d93486
--- /dev/null
+++ b/dev-lang/rust-host/rust-host-1.60.0-r2.ebuild
@@ -0,0 +1 @@
+rust-host-1.60.0.ebuild
\ No newline at end of file
diff --git a/dev-lang/rust-host/rust-host-1.60.0.ebuild b/dev-lang/rust-host/rust-host-1.60.0.ebuild
new file mode 100644
index 0000000..606f5ae
--- /dev/null
+++ b/dev-lang/rust-host/rust-host-1.60.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# shellcheck disable=SC2034 # Used by cros-rustc.eclass
+RUSTC_TARGET_TRIPLES=(
+	x86_64-pc-linux-gnu
+)
+# shellcheck disable=SC2034 # Used by cros-rustc.eclass
+RUSTC_BARE_TARGET_TRIPLES=()
+
+# shellcheck disable=SC2034
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cros-rustc
+
+KEYWORDS="*"
+
+# dev-lang/rust-1.59.0 introduced the split between dev-lang/rust and
+# dev-lang/rust-host; note that here to work around file collisions.
+RDEPEND="!<dev-lang/rust-1.59.0"
+
+src_install() {
+	# shellcheck disable=SC2154 # defined in cros-rustc.eclass
+	local obj="${CROS_RUSTC_BUILD_DIR}/x86_64-unknown-linux-gnu/stage2"
+	local tools="${obj}-tools/x86_64-unknown-linux-gnu/release/"
+	dobin "${obj}/bin/rustc" "${obj}/bin/rustdoc"
+	dobin "${tools}/cargo"
+	dobin "${tools}/rustfmt" "${tools}/cargo-fmt"
+	dobin "${tools}/clippy-driver" "${tools}/cargo-clippy"
+	dobin src/etc/rust-gdb src/etc/rust-lldb
+	insinto "/usr/$(get_libdir)"
+	doins -r "${obj}/lib/"*
+	doins -r "${obj}/lib64/"*
+
+	insinto "/usr/lib/rustlib/src/rust/"
+	doins -r "${S}/library"
+
+	# Install miscellaneous LLVM tools.
+	#
+	# These tools are already provided in the SDK, but they're built with
+	# the version of LLVM built by sys-devel/llvm. Rust uses an independent
+	# version of LLVM, so the use of these tools is sometimes necessary to
+	# produce artifacts that work with `rustc` and such.
+	#
+	# Our long-term plan is to have Rust using the same version of LLVM as
+	# sys-devel/llvm. When that happens, all of the below will be removed, with
+	# the expectation that users will migrate to the LLVM tools on `$PATH`.
+	local llvm_tools="${CROS_RUSTC_BUILD_DIR}/x86_64-unknown-linux-gnu/llvm/bin"
+	exeinto "/usr/libexec/rust"
+	doexe "${llvm_tools}/llvm-profdata"
+}
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
index 611542e..7ce290b 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -1 +1 @@
-DIST rustc-1.58.1-src.tar.gz 183834489 BLAKE2B ecc926726ac323cfadd72551ec6df7e435d1d4d6e57f4612d0959f3125182fcf98a4cd70fd25d09781bac22b9857a3a6629a97c7f902d71c345fc9c38dbaa21a SHA512 556de73500bb66796e1d6ec063f26d60e7fe03d496e0783b3b92b54d1aea8354999a6eff325a68eabdaa61cf2b356168768686bfc2ccb48766308490f9c4d945
+DIST rustc-1.60.0-src.tar.gz 202376973 BLAKE2B 5e0f3aaab0ce87fc6068cdf1aa22f2e707cffe96584bc6d6bd75539c99aa39308d28e77efa5a32b2cfc7b595c0aa40ba4b3f860060f48ab4e79e9bfc85b77225 SHA512 ae626482287949eb73a5467245b8e21b7624713a29d4bbdf1c1e1232e10f5497ba3435427e08df4fd5d2277c456213e5d04529e841d50924a4211fdb8c6acfd0
diff --git a/dev-lang/rust/files/bisect-scripts/clean_and_sync_rust_root.sh b/dev-lang/rust/files/bisect-scripts/clean_and_sync_rust_root.sh
new file mode 100755
index 0000000..80c6b4e
--- /dev/null
+++ b/dev-lang/rust/files/bisect-scripts/clean_and_sync_rust_root.sh
@@ -0,0 +1,13 @@
+#!/bin/bash -eu
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This script turns the directory it's run in into a pristine Rust checkout.
+# It does this by wiping out all changes in $PWD and all submodules, and
+# updating submodules to match the version that $PWD's HEAD expects.
+
+git clean -fd
+git reset --hard HEAD
+git submodule foreach --recursive bash -c 'git clean -fd && git reset --hard HEAD'
+git submodule update --recursive
diff --git a/dev-lang/rust/files/bisect-scripts/prepare_rust_for_offline_build.sh b/dev-lang/rust/files/bisect-scripts/prepare_rust_for_offline_build.sh
new file mode 100755
index 0000000..08d701a
--- /dev/null
+++ b/dev-lang/rust/files/bisect-scripts/prepare_rust_for_offline_build.sh
@@ -0,0 +1,25 @@
+#!/bin/bash -eu
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Prepares the current directory (assuming it's a rustc checkout) for an
+# offline build by cros-rust.eclass' CROS_RUSTC_BUILD_RAW_SOURCES feature. This
+# is done by:
+# - Invoking x.py to download the bootstrap compiler
+# - Running `cargo vendor` to move all dependencies into `vendor/`.
+
+# Unset `SUDO_USER`; if it's set, `./x.py` will automatically try to use
+# vendored sources.
+unset SUDO_USER
+
+# This always exits with an error; we scrape its output to ensure it DTRT.
+echo "Ensuring the bootstrap compiler is downloaded; this can take a bit..."
+xpy_help=$(./x.py --help 2>&1) || :
+if ! grep -qF 'Usage: x.py <subcommand>' <<< "${xpy_help}"; then
+  echo "${xpy_help}" >&2
+  echo >&2
+  echo "Running x.py --help to download bootstrap compilers failed. See stdout above." >&2
+  exit 1
+fi
+cargo vendor
diff --git a/dev-lang/rust/files/rust-1.58.1-cc.patch b/dev-lang/rust/files/rust-1.58.1-cc.patch
deleted file mode 100644
index b7c1b0d..0000000
--- a/dev-lang/rust/files/rust-1.58.1-cc.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 2b042cce4bd22392acf013f10a7effcfbaf8b513 Mon Sep 17 00:00:00 2001
-From: George Burgess IV <gbiv@google.com>
-Date: Fri, 30 Jul 2021 01:01:54 +0000
-Subject: [PATCH 4/8] cc.patch
-
----
- compiler/rustc_codegen_ssa/src/back/link.rs | 25 ++++++++++++---------
- 1 file changed, 14 insertions(+), 11 deletions(-)
-
-diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs b/compiler/rustc_codegen_ssa/src/back/link.rs
-index 0be107fee..58db0df71 100644
---- a/compiler/rustc_codegen_ssa/src/back/link.rs
-+++ b/compiler/rustc_codegen_ssa/src/back/link.rs
-@@ -1191,12 +1191,12 @@ pub fn linker_and_flavor(sess: &Session) -> (PathBuf, LinkerFlavor) {
-             (Some(linker), Some(flavor)) => Some((linker, flavor)),
-             // only the linker flavor is known; use the default linker for the selected flavor
-             (None, Some(flavor)) => Some((
--                PathBuf::from(match flavor {
-+                match flavor {
-                     LinkerFlavor::Em => {
-                         if cfg!(windows) {
--                            "emcc.bat"
-+                            "emcc.bat".into()
-                         } else {
--                            "emcc"
-+                            "emcc".into()
-                         }
-                     }
-                     LinkerFlavor::Gcc => {
-@@ -1207,17 +1207,20 @@ pub fn linker_and_flavor(sess: &Session) -> (PathBuf, LinkerFlavor) {
-                             // and many modern illumos distributions today
-                             // ship GCC as "gcc" without also making it
-                             // available as "cc".
--                            "gcc"
-+                            "gcc".into()
-                         } else {
--                            "cc"
-+                            match env::var_os("CC") {
-+                                Some(path) => path.into(),
-+                                None => "cc".into(),
-+                            }
-                         }
-                     }
--                    LinkerFlavor::Ld => "ld",
--                    LinkerFlavor::Msvc => "link.exe",
--                    LinkerFlavor::Lld(_) => "lld",
--                    LinkerFlavor::PtxLinker => "rust-ptx-linker",
--                    LinkerFlavor::BpfLinker => "bpf-linker",
--                }),
-+                    LinkerFlavor::Ld => "ld".into(),
-+                    LinkerFlavor::Msvc => "link.exe".into(),
-+                    LinkerFlavor::Lld(_) => "lld".into(),
-+                    LinkerFlavor::PtxLinker => "rust-ptx-linker".into(),
-+                    LinkerFlavor::BpfLinker => "bpf-linker".into(),
-+                },
-                 flavor,
-             )),
-             (Some(linker), None) => {
--- 
-2.32.0.554.ge1b32706d8-goog
-
diff --git a/dev-lang/rust/files/rust-1.58.1-fix-libunwind-backtrace-visibility.patch b/dev-lang/rust/files/rust-1.58.1-fix-libunwind-backtrace-visibility.patch
deleted file mode 100644
index 1c170b0..0000000
--- a/dev-lang/rust/files/rust-1.58.1-fix-libunwind-backtrace-visibility.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/library/unwind/src/libunwind.rs
-+++ b/library/unwind/src/libunwind.rs
-@@ -246,6 +246,7 @@ if #[cfg(not(all(target_os = "ios", target_arch = "arm")))] {
-     extern "C-unwind" {
-         pub fn _Unwind_RaiseException(exception: *mut _Unwind_Exception) -> _Unwind_Reason_Code;
-     }
-+    #[link(name = "unwind", kind = "static", modifiers = "-bundle")]
-     extern "C" {
-         pub fn _Unwind_Backtrace(trace: _Unwind_Trace_Fn,
-                                  trace_argument: *mut c_void)
diff --git a/dev-lang/rust/files/rust-1.58.1-fix-rpath.patch b/dev-lang/rust/files/rust-1.58.1-fix-rpath.patch
deleted file mode 100644
index 93ecc66..0000000
--- a/dev-lang/rust/files/rust-1.58.1-fix-rpath.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Around the line of code this patches there is a long explanation of the rpath
-but the gist of it was that better handling of the rpath would be done in the
-future. For now, we just add the proper rpath.
-
-diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
-index d0eed3f12d1..63c8c6ea0b0 100644
---- a/src/bootstrap/builder.rs
-+++ b/src/bootstrap/builder.rs
-@@ -943,7 +943,7 @@ impl<'a> Builder<'a> {
-                 rustflags.arg("-Zosx-rpath-install-name");
-                 Some("-Wl,-rpath,@loader_path/../lib")
-             } else if !target.contains("windows") {
--                Some("-Wl,-rpath,$ORIGIN/../lib")
-+                Some("-Wl,-rpath,$ORIGIN/../lib:/usr/lib64/rust/rustlib/x86_64-unknown-linux-gnu/lib")
-             } else {
-                 None
-             };
diff --git a/dev-lang/rust/files/rust-1.58.1-ld-argv0.patch b/dev-lang/rust/files/rust-1.58.1-ld-argv0.patch
deleted file mode 100644
index a1dd919..0000000
--- a/dev-lang/rust/files/rust-1.58.1-ld-argv0.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 7f8a36c0a9d997d625ba887e3ae492bc2fa2888b Mon Sep 17 00:00:00 2001
-From: George Burgess IV <gbiv@google.com>
-Date: Sun, 1 Aug 2021 07:12:17 +0000
-Subject: [PATCH 7/8] ld-argv0.patch
-
----
- library/std/src/sys/unix/os.rs | 35 +++++++++++++++++++++++++++++++++-
- 1 file changed, 34 insertions(+), 1 deletion(-)
-
-diff --git a/library/std/src/sys/unix/os.rs b/library/std/src/sys/unix/os.rs
-index 41ca97623..ffe3b99cd 100644
---- a/library/std/src/sys/unix/os.rs
-+++ b/library/std/src/sys/unix/os.rs
-@@ -339,12 +339,45 @@
- 
- #[cfg(any(target_os = "linux", target_os = "android", target_os = "emscripten"))]
- pub fn current_exe() -> io::Result<PathBuf> {
-+    let is_ld_so = |p: &crate::path::Path| -> Option<bool> {
-+        let parent_dir_name = p.parent()?.file_name()?;
-+        if parent_dir_name != OsStr::new("lib") {
-+            return Some(false);
-+        }
-+        // We assume that the `ld.so` path is always valid unicode, since there's... no reason for
-+        // it not to be. :)
-+        let file_name = p.file_name()?.to_str()?;
-+        Some(
-+            file_name.starts_with("ld-linux-")
-+                && (file_name.ends_with(".so") || file_name.contains(".so.")),
-+        )
-+    };
-+
-     match crate::fs::read_link("/proc/self/exe") {
-         Err(ref e) if e.kind() == io::ErrorKind::NotFound => Err(io::Error::new_const(
-             io::ErrorKind::Uncategorized,
-             &"no /proc/self/exe available. Is /proc mounted?",
-         )),
--        other => other,
-+        Err(x) => Err(x),
-+        Ok(p) => {
-+            // Chrome OS-specific: in some configurations, Rust binaries are invoked through
-+            // `ld.so`. In these cases, we want to present the user with the path to the Rust
-+            // binary that was invoked.
-+            //
-+            // Because the ld.so wrappers _generally_ don't want to invoke things with absolute
-+            // paths, this is _generally_ a path relative to dirname(ld.so).
-+            if is_ld_so(&p) == Some(true) {
-+                if let Some(relative_to_ld) = crate::env::var_os("LD_ARGV0_REL") {
-+                    let relative_to_ld = PathBuf::from(relative_to_ld);
-+                    if relative_to_ld.is_absolute() {
-+                        return Ok(relative_to_ld);
-+                    }
-+                    // safety: is_ld_so checks the parent directory of `p`.
-+                    return Ok(p.parent().unwrap().join(relative_to_ld));
-+                }
-+            }
-+            Ok(p)
-+        }
-     }
- }
- 
--- 
-2.32.0.554.ge1b32706d8-goog
-
diff --git a/dev-lang/rust/files/rust-1.60.0-Bump-cc-version-in-bootstrap-to-fix-build-of-uefi-ta.patch b/dev-lang/rust/files/rust-1.60.0-Bump-cc-version-in-bootstrap-to-fix-build-of-uefi-ta.patch
new file mode 100644
index 0000000..944bd76e
--- /dev/null
+++ b/dev-lang/rust/files/rust-1.60.0-Bump-cc-version-in-bootstrap-to-fix-build-of-uefi-ta.patch
@@ -0,0 +1,49 @@
+From c708c8a867057fedf58bd17ed3be0c53820e5aba Mon Sep 17 00:00:00 2001
+From: Nicholas Bishop <nicholasbishop@google.com>
+Date: Fri, 17 Jun 2022 10:38:32 -0400
+Subject: [PATCH 2/2] Bump cc version in bootstrap to fix build of uefi targets
+
+The newer cc release pulls in this fix:
+https://github.com/rust-lang/cc-rs/commit/b2792e33ff91b92e2e920e54d582b0c334670c37
+
+This avoids an "Unsupported target" error when building
+compiler_builtins for the uefi targets.
+
+BUG=b:202164480
+---
+ Cargo.lock               | 4 ++--
+ src/bootstrap/Cargo.toml | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Cargo.lock b/Cargo.lock
+index e3ab987b3ab..8dcfc9af2b7 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -498,9 +498,9 @@ version = "0.1.0"
+ 
+ [[package]]
+ name = "cc"
+-version = "1.0.69"
++version = "1.0.72"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2"
++checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee"
+ dependencies = [
+  "jobserver",
+ ]
+diff --git a/src/bootstrap/Cargo.toml b/src/bootstrap/Cargo.toml
+index 592a137e379..a7d51da968d 100644
+--- a/src/bootstrap/Cargo.toml
++++ b/src/bootstrap/Cargo.toml
+@@ -39,7 +39,7 @@ cmake = "0.1.38"
+ filetime = "0.2"
+ num_cpus = "1.0"
+ getopts = "0.2.19"
+-cc = "1.0.69"
++cc = "1.0.72"
+ libc = "0.2"
+ serde = { version = "1.0.8", features = ["derive"] }
+ serde_json = "1.0.2"
+-- 
+2.37.0.170.g444d1eabd0-goog
+
diff --git a/dev-lang/rust/files/rust-1.60.0-Don-t-build-std-for-uefi-targets.patch b/dev-lang/rust/files/rust-1.60.0-Don-t-build-std-for-uefi-targets.patch
new file mode 100644
index 0000000..205124c
--- /dev/null
+++ b/dev-lang/rust/files/rust-1.60.0-Don-t-build-std-for-uefi-targets.patch
@@ -0,0 +1,28 @@
+From 1e367f792bd729c41007b1d02d26fe4739c8b45e Mon Sep 17 00:00:00 2001
+From: Nicholas Bishop <nicholasbishop@google.com>
+Date: Wed, 3 Aug 2022 14:35:35 -0400
+Subject: [PATCH] Don't build std for *-uefi targets
+
+This is a backport of https://github.com/rust-lang/rust/pull/99765
+
+BUG=b:202164480
+---
+ src/bootstrap/config.rs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
+index d6f77fe6cd6..4a9cb2d91b2 100644
+--- a/src/bootstrap/config.rs
++++ b/src/bootstrap/config.rs
+@@ -311,7 +311,7 @@ pub struct Target {
+ impl Target {
+     pub fn from_triple(triple: &str) -> Self {
+         let mut target: Self = Default::default();
+-        if triple.contains("-none") || triple.contains("nvptx") {
++        if triple.contains("-none") || triple.contains("nvptx") || triple.contains("-uefi") {
+             target.no_std = true;
+         }
+         target
+-- 
+2.37.1.455.g008518b4e5-goog
+
diff --git a/dev-lang/rust/files/rust-1.58.1-Handle-sparse-git-repo-without-erroring.patch b/dev-lang/rust/files/rust-1.60.0-Handle-sparse-git-repo-without-erroring.patch
similarity index 100%
rename from dev-lang/rust/files/rust-1.58.1-Handle-sparse-git-repo-without-erroring.patch
rename to dev-lang/rust/files/rust-1.60.0-Handle-sparse-git-repo-without-erroring.patch
diff --git a/dev-lang/rust/files/rust-1.58.1-Revert-CMake-Unconditionally-add-.h-and-.td-files-to.patch b/dev-lang/rust/files/rust-1.60.0-Revert-CMake-Unconditionally-add-.h-and-.td-files-to.patch
similarity index 100%
rename from dev-lang/rust/files/rust-1.58.1-Revert-CMake-Unconditionally-add-.h-and-.td-files-to.patch
rename to dev-lang/rust/files/rust-1.60.0-Revert-CMake-Unconditionally-add-.h-and-.td-files-to.patch
diff --git a/dev-lang/rust/files/rust-1.60.0-Revert-DebugInfo-Re-enable-instruction-referencing-f.patch b/dev-lang/rust/files/rust-1.60.0-Revert-DebugInfo-Re-enable-instruction-referencing-f.patch
new file mode 100644
index 0000000..bbc3974
--- /dev/null
+++ b/dev-lang/rust/files/rust-1.60.0-Revert-DebugInfo-Re-enable-instruction-referencing-f.patch
@@ -0,0 +1,37 @@
+From fcfa6ac4ca21c9331f715ed2dc5f8feebef3754e Mon Sep 17 00:00:00 2001
+From: Michael Benfield <mbenfield@google.com>
+Date: Sat, 2 Jul 2022 20:18:01 +0000
+Subject: [PATCH] Revert "[DebugInfo] Re-enable instruction referencing for
+ x86_64"
+
+This reverts commit a03ffad5d34c6d1df14e25df17f18ea2fa437c0c.
+
+The above refers to a commit in the rust-lang clone of the llvm-project
+repository.
+
+See b/237879898.
+
+
+---
+ src/llvm-project/llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp | 5 -----
+ 2 files changed, 0 insertions(+), 5 deletions(-)
+
+diff --git a/src/llvm-project/llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp b/src/llvm-project/llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
+index 40770b15aa35..8f697611a82c 100644
+--- a/src/llvm-project/llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
++++ b/src/llvm-project/llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
+@@ -123,11 +123,6 @@ bool LiveDebugValues::runOnMachineFunction(MachineFunction &MF) {
+ }
+ 
+ bool llvm::debuginfoShouldUseDebugInstrRef(const Triple &T) {
+-  // Enable by default on x86_64, disable if explicitly turned off on cmdline.
+-  if (T.getArch() == llvm::Triple::x86_64 &&
+-      ValueTrackingVariableLocations != cl::boolOrDefault::BOU_FALSE)
+-    return true;
+-
+   // Enable if explicitly requested on command line.
+   return ValueTrackingVariableLocations == cl::boolOrDefault::BOU_TRUE;
+ }
+-- 
+2.37.0.rc0.161.g10f37bed90-goog
+
diff --git a/dev-lang/rust/files/rust-1.58.1-add-armv7a-sanitizers.patch b/dev-lang/rust/files/rust-1.60.0-add-armv7a-sanitizers.patch
similarity index 100%
rename from dev-lang/rust/files/rust-1.58.1-add-armv7a-sanitizers.patch
rename to dev-lang/rust/files/rust-1.60.0-add-armv7a-sanitizers.patch
diff --git a/dev-lang/rust/files/rust-1.58.1-add-cros-targets.patch b/dev-lang/rust/files/rust-1.60.0-add-cros-targets.patch
similarity index 100%
rename from dev-lang/rust/files/rust-1.58.1-add-cros-targets.patch
rename to dev-lang/rust/files/rust-1.60.0-add-cros-targets.patch
diff --git a/dev-lang/rust/files/rust-1.60.0-cc.patch b/dev-lang/rust/files/rust-1.60.0-cc.patch
new file mode 100644
index 0000000..24bd78d
--- /dev/null
+++ b/dev-lang/rust/files/rust-1.60.0-cc.patch
@@ -0,0 +1,60 @@
+From 2b042cce4bd22392acf013f10a7effcfbaf8b513 Mon Sep 17 00:00:00 2001
+From: George Burgess IV <gbiv@google.com>
+Date: Fri, 30 Jul 2021 01:01:54 +0000
+Subject: [PATCH 4/8] cc.patch
+
+---
+ compiler/rustc_codegen_ssa/src/back/link.rs | 25 ++++++++++++---------
+ 1 file changed, 14 insertions(+), 11 deletions(-)
+
+diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs.orig b/compiler/rustc_codegen_ssa/src/back/link.rs
+index 58e0667..61f6788 100644
+--- a/compiler/rustc_codegen_ssa/src/back/link.rs.orig
++++ b/compiler/rustc_codegen_ssa/src/back/link.rs
+@@ -1123,12 +1123,12 @@ pub fn linker_and_flavor(sess: &Session) -> (PathBuf, LinkerFlavor) {
+             (Some(linker), Some(flavor)) => Some((linker, flavor)),
+             // only the linker flavor is known; use the default linker for the selected flavor
+             (None, Some(flavor)) => Some((
+-                PathBuf::from(match flavor {
++                match flavor {
+                     LinkerFlavor::Em => {
+                         if cfg!(windows) {
+-                            "emcc.bat"
++                            "emcc.bat".into()
+                         } else {
+-                            "emcc"
++                            "emcc".into()
+                         }
+                     }
+                     LinkerFlavor::Gcc => {
+@@ -1139,18 +1139,21 @@ pub fn linker_and_flavor(sess: &Session) -> (PathBuf, LinkerFlavor) {
+                             // and many modern illumos distributions today
+                             // ship GCC as "gcc" without also making it
+                             // available as "cc".
+-                            "gcc"
++                            "gcc".into()
+                         } else {
+-                            "cc"
++                            match env::var_os("CC") {
++                                Some(path) => path.into(),
++                                None => "cc".into(),
++                            }
+                         }
+                     }
+-                    LinkerFlavor::Ld => "ld",
+-                    LinkerFlavor::Msvc => "link.exe",
+-                    LinkerFlavor::Lld(_) => "lld",
+-                    LinkerFlavor::PtxLinker => "rust-ptx-linker",
+-                    LinkerFlavor::BpfLinker => "bpf-linker",
+-                    LinkerFlavor::L4Bender => "l4-bender",
+-                }),
++                    LinkerFlavor::Ld => "ld".into(),
++                    LinkerFlavor::Msvc => "link.exe".into(),
++                    LinkerFlavor::Lld(_) => "lld".into(),
++                    LinkerFlavor::PtxLinker => "rust-ptx-linker".into(),
++                    LinkerFlavor::BpfLinker => "bpf-linker".into(),
++                    LinkerFlavor::L4Bender => "l4-bender".into(),
++                 },
+                 flavor,
+             )),
+             (Some(linker), None) => {
diff --git a/dev-lang/rust/files/rust-1.58.1-disable-mutable-noalias.patch b/dev-lang/rust/files/rust-1.60.0-disable-mutable-noalias.patch
similarity index 100%
rename from dev-lang/rust/files/rust-1.58.1-disable-mutable-noalias.patch
rename to dev-lang/rust/files/rust-1.60.0-disable-mutable-noalias.patch
diff --git a/dev-lang/rust/files/rust-1.60.0-fix-libunwind-backtrace-visibility.patch b/dev-lang/rust/files/rust-1.60.0-fix-libunwind-backtrace-visibility.patch
new file mode 100644
index 0000000..d5baff2
--- /dev/null
+++ b/dev-lang/rust/files/rust-1.60.0-fix-libunwind-backtrace-visibility.patch
@@ -0,0 +1,13 @@
+A backport of https://github.com/rust-lang/rust/pull/93350 from rust.
+This was merged upstream as 1ca8d0bf8c154b0f602fadac8c38f14df5dea77a.
+
+--- a/library/unwind/src/libunwind.rs
++++ b/library/unwind/src/libunwind.rs
+@@ -246,6 +246,7 @@ if #[cfg(not(all(target_os = "ios", target_arch = "arm")))] {
+     extern "C-unwind" {
+         pub fn _Unwind_RaiseException(exception: *mut _Unwind_Exception) -> _Unwind_Reason_Code;
+     }
++    #[link(name = "unwind", kind = "static", modifiers = "-bundle")]
+     extern "C" {
+         pub fn _Unwind_Backtrace(trace: _Unwind_Trace_Fn,
+                                  trace_argument: *mut c_void)
diff --git a/dev-lang/rust/files/rust-1.60.0-fix-rpath.patch b/dev-lang/rust/files/rust-1.60.0-fix-rpath.patch
new file mode 100644
index 0000000..1ac11d0
--- /dev/null
+++ b/dev-lang/rust/files/rust-1.60.0-fix-rpath.patch
@@ -0,0 +1,17 @@
+Around the line of code this patches there is a long explanation of the rpath
+but the gist of it was that better handling of the rpath would be done in the
+future. For now, we just add the proper rpath.
+
+diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
+index d0eed3f12d1..63c8c6ea0b0 100644
+--- a/src/bootstrap/builder.rs
++++ b/src/bootstrap/builder.rs
+@@ -1186,7 +1186,7 @@ impl<'a> Builder<'a> {
+                 Some("-Wl,-rpath,@loader_path/../lib")
+             } else if !target.contains("windows") {
+                 rustflags.arg("-Clink-args=-Wl,-z,origin");
+-                Some("-Wl,-rpath,$ORIGIN/../lib")
++                Some("-Wl,-rpath,$ORIGIN/../lib:/usr/lib64/rust/rustlib/x86_64-unknown-linux-gnu/lib")
+             } else {
+                 None
+             };
diff --git a/dev-lang/rust/files/rust-1.60.0-ld-argv0.patch b/dev-lang/rust/files/rust-1.60.0-ld-argv0.patch
new file mode 100644
index 0000000..4625921
--- /dev/null
+++ b/dev-lang/rust/files/rust-1.60.0-ld-argv0.patch
@@ -0,0 +1,63 @@
+From 7f8a36c0a9d997d625ba887e3ae492bc2fa2888b Mon Sep 17 00:00:00 2001
+From: George Burgess IV <gbiv@google.com>
+Date: Sun, 1 Aug 2021 07:12:17 +0000
+Subject: [PATCH 7/8] ld-argv0.patch
+
+---
+ library/std/src/sys/unix/os.rs | 35 +++++++++++++++++++++++++++++++++-
+ 1 file changed, 34 insertions(+), 1 deletion(-)
+
+diff --git a/library/std/src/sys/unix/os.rs b/library/std/src/sys/unix/os.rs
+index 41ca97623..ffe3b99cd 100644
+--- a/library/std/src/sys/unix/os.rs
++++ b/library/std/src/sys/unix/os.rs
+@@ -352,12 +352,45 @@
+ 
+ #[cfg(any(target_os = "linux", target_os = "android", target_os = "emscripten"))]
+ pub fn current_exe() -> io::Result<PathBuf> {
++    let is_ld_so = |p: &crate::path::Path| -> Option<bool> {
++        let parent_dir_name = p.parent()?.file_name()?;
++        if parent_dir_name != OsStr::new("lib") {
++            return Some(false);
++        }
++        // We assume that the `ld.so` path is always valid unicode, since there's... no reason for
++        // it not to be. :)
++        let file_name = p.file_name()?.to_str()?;
++        Some(
++            file_name.starts_with("ld-linux-")
++                && (file_name.ends_with(".so") || file_name.contains(".so.")),
++        )
++    };
++
+     match crate::fs::read_link("/proc/self/exe") {
+         Err(ref e) if e.kind() == io::ErrorKind::NotFound => Err(io::const_io_error!(
+             io::ErrorKind::Uncategorized,
+             "no /proc/self/exe available. Is /proc mounted?",
+         )),
+-        other => other,
++        Err(x) => Err(x),
++        Ok(p) => {
++            // Chrome OS-specific: in some configurations, Rust binaries are invoked through
++            // `ld.so`. In these cases, we want to present the user with the path to the Rust
++            // binary that was invoked.
++            //
++            // Because the ld.so wrappers _generally_ don't want to invoke things with absolute
++            // paths, this is _generally_ a path relative to dirname(ld.so).
++            if is_ld_so(&p) == Some(true) {
++                if let Some(relative_to_ld) = crate::env::var_os("LD_ARGV0_REL") {
++                    let relative_to_ld = PathBuf::from(relative_to_ld);
++                    if relative_to_ld.is_absolute() {
++                        return Ok(relative_to_ld);
++                    }
++                    // safety: is_ld_so checks the parent directory of `p`.
++                    return Ok(p.parent().unwrap().join(relative_to_ld));
++                }
++            }
++            Ok(p)
++        }
+     }
+ }
+ 
+-- 
+2.32.0.554.ge1b32706d8-goog
+
diff --git a/dev-lang/rust/files/rust-1.58.1-no-test-on-build.patch b/dev-lang/rust/files/rust-1.60.0-no-test-on-build.patch
similarity index 100%
rename from dev-lang/rust/files/rust-1.58.1-no-test-on-build.patch
rename to dev-lang/rust/files/rust-1.60.0-no-test-on-build.patch
diff --git a/dev-lang/rust/files/rust-1.60.0-passes-only-in-pre-link.patch b/dev-lang/rust/files/rust-1.60.0-passes-only-in-pre-link.patch
new file mode 100644
index 0000000..c6e6192
--- /dev/null
+++ b/dev-lang/rust/files/rust-1.60.0-passes-only-in-pre-link.patch
@@ -0,0 +1,31 @@
+From 6738434de3e4dacedeb330a5cf878e0a196be864 Mon Sep 17 00:00:00 2001
+From: Bob Haarman <rust@inglorion.net>
+Date: Fri, 10 Jun 2022 11:53:25 -0700
+Subject: [PATCH] Make -Cpasses= only apply to pre-link optimization
+
+This change causes passes specified in -Cpasses= to be applied
+only during pre-link optimization, not during LTO. This avoids
+such passes running multiple times, which they may not be
+designed for.
+
+Fixes https://github.com/rust-lang/rust/issues/97713
+---
+ compiler/rustc_codegen_llvm/src/back/write.rs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/compiler/rustc_codegen_llvm/src/back/write.rs b/compiler/rustc_codegen_llvm/src/back/write.rs
+index 99e30531c22..f456408ca3a 100644
+--- a/compiler/rustc_codegen_llvm/src/back/write.rs
++++ b/compiler/rustc_codegen_llvm/src/back/write.rs
+@@ -467,7 +467,7 @@ pub(crate) unsafe fn optimize_with_new_llvm_pass_manager(
+     let llvm_selfprofiler =
+         llvm_profiler.as_mut().map(|s| s as *mut _ as *mut c_void).unwrap_or(std::ptr::null_mut());
+ 
+-    let extra_passes = config.passes.join(",");
++    let extra_passes = if !is_lto { config.passes.join(",") } else { "".to_string() };
+ 
+     let llvm_plugins = config.llvm_plugins.join(",");
+ 
+-- 
+2.36.1.476.g0c4daa206d-goog
+
diff --git a/dev-lang/rust/files/rust-1.58.1-revert-libunwind-build.patch b/dev-lang/rust/files/rust-1.60.0-revert-libunwind-build.patch
similarity index 100%
rename from dev-lang/rust/files/rust-1.58.1-revert-libunwind-build.patch
rename to dev-lang/rust/files/rust-1.60.0-revert-libunwind-build.patch
diff --git a/dev-lang/rust/files/rust-1.58.1-sanitizer-supported.patch b/dev-lang/rust/files/rust-1.60.0-sanitizer-supported.patch
similarity index 100%
rename from dev-lang/rust/files/rust-1.58.1-sanitizer-supported.patch
rename to dev-lang/rust/files/rust-1.60.0-sanitizer-supported.patch
diff --git a/dev-lang/rust/presubmit_check.py b/dev-lang/rust/presubmit_check.py
new file mode 100755
index 0000000..0c4c594
--- /dev/null
+++ b/dev-lang/rust/presubmit_check.py
@@ -0,0 +1,148 @@
+#!/usr/bin/env python3
+"""Does presubmit checks for Rust-like changes.
+
+This is intended to be used by `repo`. For more information, please see
+https://chromium.googlesource.com/chromiumos/repohooks/+/refs/heads/main/README.md.
+
+Enforces the following rules:
+  - If dev-lang/rust's ${PVR} moves, virtual/rust's must, as well.
+  - If dev-lang/rust-host's ${PVR} moves, virtual/rust's must, as well.
+  - dev-lang/rust-host, dev-lang/rust, and virtual/rust must remain in ${PV}
+    lockstep.
+"""
+
+import os
+import re
+import subprocess
+import sys
+from typing import Dict, List, NamedTuple, Set
+
+
+_DEV_LANG_RUST = 'dev-lang/rust/'
+_DEV_LANG_RUST_HOST = 'dev-lang/rust-host/'
+_VIRTUAL_RUST = 'virtual/rust/'
+_ALL_RUST_DIRS = (_DEV_LANG_RUST, _DEV_LANG_RUST_HOST, _VIRTUAL_RUST)
+
+# Contains lists of all ebuild names in dev-lang/rust, dev-lang/rust-host, and
+# virtual/rust.
+_RustEbuilds = NamedTuple(
+    '_RustEbuildTree',
+    [
+        ('rust', List[str]),
+        ('rust_host', List[str]),
+        ('virtual', List[str]),
+    ],
+)
+
+_Complaint = str
+
+
+def _collect_rust_ebuilds(commit: str) -> _RustEbuilds:
+    """Builds a _RustEbuilds object to represent the given commit."""
+    ebuild_listings = {}
+    for subdir in _ALL_RUST_DIRS:
+        output = subprocess.check_output(
+            ['git', 'ls-tree', '--name-only', '-z', commit, subdir],
+            encoding='utf-8',
+        )
+        files = output.split('\0')
+        ebuild_files = sorted(
+            os.path.basename(x) for x in files if x.endswith('.ebuild'))
+        assert ebuild_files, f'No ebuilds found in {subdir}'
+        ebuild_listings[subdir] = ebuild_files
+
+    return _RustEbuilds(
+        rust=ebuild_listings[_DEV_LANG_RUST],
+        rust_host=ebuild_listings[_DEV_LANG_RUST_HOST],
+        virtual=ebuild_listings[_VIRTUAL_RUST],
+    )
+
+
+def _ensure_virtual_is_bumped_if_pvrs_change(
+        previous: _RustEbuilds, current: _RustEbuilds) -> List[_Complaint]:
+    """Ensures that the ${PV} of all packages are synced."""
+    # In theory, this could be more precise and check what kinds of changes are
+    # made. That said, it should be 'good enough' to simply look for any
+    # filename change as a sign that another filename change must take place.
+    need_virtual_bump = (previous.rust != current.rust
+                         or previous.rust_host != current.rust_host)
+    if need_virtual_bump and previous.virtual == current.virtual:
+        return [
+            "Detected Rust ebuild changes, but there's no virtual/rust update."
+        ]
+
+    return []
+
+
+def _ensure_pvs_synced(current_ebuilds: _RustEbuilds) -> List[_Complaint]:
+    """Ensures that the ${PV} of all packages are synced."""
+    pv_regex = re.compile(
+        r"""
+        ^rust-(?:host-)?                 # Package name
+        (\d\.\d+\.\d+)                   # (Captured) package version
+        (?:_(?:alpha|beta|pre|rc|p)\d*)* # Version suffix
+        (?:-r\d+)?                       # Optional revision
+        \.ebuild$
+        """,
+        re.VERBOSE,
+    )
+
+    present_pvs: Dict[str, Set[str]] = {}
+    for field in _RustEbuilds._fields:
+        ebuilds = getattr(current_ebuilds, field)
+        pvs = set()
+        for ebuild in ebuilds:
+            pv = pv_regex.match(ebuild)
+            assert pv, f'No $PV regex match against {ebuild}'
+            pvs.add(pv.group(1))
+        present_pvs[field] = pvs
+
+    all_pvs = set(x for pvs in present_pvs.values() for x in pvs)
+    if all(pvs == all_pvs for pvs in present_pvs.values()):
+        return []
+
+    return [
+        'For every Rusty $PV, there should be a package with that version in '
+        'all of dev-lang/rust, dev-lang/rust-host, and virtual/rust. Detected '
+        f'$PVs: {present_pvs}'
+    ]
+
+
+def _is_ebuild_file_in_rust_dir(file_path: str) -> bool:
+    """Returns whether the param is an ebuild in a rust dir we should check."""
+    return file_path.endswith('.ebuild') and any(
+        file_path.startswith(x) for x in _ALL_RUST_DIRS)
+
+
+def main():
+    """Main function."""
+    presubmit_files = os.environ.get('PRESUBMIT_FILES')
+    if presubmit_files is None:
+        sys.exit('Need a value for PRESUBMIT_FILES')
+
+    presubmit_files = [x.strip() for x in presubmit_files.splitlines()]
+    if not any(_is_ebuild_file_in_rust_dir(x) for x in presubmit_files):
+        return
+
+    presubmit_commit = os.environ.get('PRESUBMIT_COMMIT')
+    if presubmit_commit is None:
+        sys.exit('Need a value for PRESUBMIT_COMMIT')
+
+    previous_ebuilds = _collect_rust_ebuilds(presubmit_commit + '~')
+    current_ebuilds = _collect_rust_ebuilds(presubmit_commit)
+
+    complaints = _ensure_virtual_is_bumped_if_pvrs_change(
+        previous_ebuilds,
+        current_ebuilds,
+    )
+    complaints += _ensure_pvs_synced(current_ebuilds)
+    if not complaints:
+        return
+
+    for complaint in complaints:
+        print(complaint, file=sys.stderr)
+    sys.exit(1)
+
+
+if __name__ == '__main__':
+    main()
diff --git a/dev-lang/rust/rust-1.58.1-r1.ebuild b/dev-lang/rust/rust-1.58.1-r1.ebuild
deleted file mode 120000
index 8a2616e..0000000
--- a/dev-lang/rust/rust-1.58.1-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-rust-1.58.1.ebuild
\ No newline at end of file
diff --git a/dev-lang/rust/rust-1.58.1.ebuild b/dev-lang/rust/rust-1.58.1.ebuild
deleted file mode 100644
index 3ea6daf..0000000
--- a/dev-lang/rust/rust-1.58.1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# This is the list of target triples as they appear in the cros_sdk. If this
-# list gets changed, ensure that each of these values has a corresponding
-# compiler/rustc_target/src/spec file created below and a line referring to it
-# in 0001-add-cros-targets.patch.
-RUSTC_TARGET_TRIPLES=(
-	x86_64-cros-linux-gnu
-	armv7a-cros-linux-gnueabihf
-	aarch64-cros-linux-gnu
-)
-
-# In this context BARE means the OS part of the triple is none and gcc is used
-# for C/C++ and linking.
-RUSTC_BARE_TARGET_TRIPLES=(
-	thumbv6m-none-eabi # Cortex-M0, M0+, M1
-	thumbv7m-none-eabi # Cortex-M3
-	thumbv7em-none-eabihf # Cortex-M4F, M7F, FPU, hardfloat
-)
-
-inherit cros-rustc
-
-DESCRIPTION="Libraries needed to cross-compile Rust for cros/baremetal targets"
-
-# Use PVR to require simultaneous uprevs of both rust-host and rust, since
-# they're logically talking about the same sources.
-BDEPEND="~dev-lang/rust-host-${PV}"
-RDEPEND="~dev-lang/rust-host-${PV}"
-KEYWORDS="*"
-
-# NOTE: since CROS_RUSTC_BUILD_DIR is a local cache, the cases below can't
-# always presume that it exists.
-
-src_unpack() {
-	if cros-rustc_has_existing_checkout; then
-		einfo "Skipping unpack; checkout already exists"
-	else
-		ewarn "No existing cros-rustc checkout found. Did you" \
-			"remember to emerge dev-lang/rust-host?"
-		cros-rustc_src_unpack
-	fi
-}
-
-src_prepare() {
-	if cros-rustc_has_existing_checkout; then
-		einfo "Skipping src_prepare; checkout already exists"
-		# `src_prepare` requires this to be called before exiting. The
-		# actual use of user patches with this ebuild is not supported.
-		eapply_user
-	else
-		cros-rustc_src_prepare
-	fi
-}
-
-src_compile() {
-	local keep_stages=()
-	if cros-rustc_has_existing_stage1_build; then
-		einfo "Stage1 build exists; instructing x.py to use it"
-		keep_stages=("--keep-stage=0" "--keep-stage=1")
-	fi
-	cros-rustc_src_compile "${keep_stages[@]}" library/std
-}
-
-src_install() {
-	local obj="${CROS_RUSTC_BUILD_DIR}/x86_64-unknown-linux-gnu/stage2"
-	local triple
-	for triple in "${RUSTC_TARGET_TRIPLES[@]}" "${RUSTC_BARE_TARGET_TRIPLES[@]}"; do
-		insinto "/usr/$(get_libdir)/rustlib/${triple}"
-		doins -r "${obj}/lib64/rustlib/${triple}/"*
-	done
-}
diff --git a/dev-lang/rust/rust-1.60.0-r2.ebuild b/dev-lang/rust/rust-1.60.0-r2.ebuild
new file mode 120000
index 0000000..02c7ed5
--- /dev/null
+++ b/dev-lang/rust/rust-1.60.0-r2.ebuild
@@ -0,0 +1 @@
+rust-1.60.0.ebuild
\ No newline at end of file
diff --git a/dev-lang/rust/rust-1.60.0.ebuild b/dev-lang/rust/rust-1.60.0.ebuild
new file mode 100644
index 0000000..41acf69
--- /dev/null
+++ b/dev-lang/rust/rust-1.60.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# This is the list of target triples as they appear in the cros_sdk. If this
+# list gets changed, ensure that each of these values has a corresponding
+# compiler/rustc_target/src/spec file created below and a line referring to it
+# in 0001-add-cros-targets.patch.
+# shellcheck disable=SC2034 # Used by cros-rustc.eclass
+RUSTC_TARGET_TRIPLES=(
+	x86_64-cros-linux-gnu
+	armv7a-cros-linux-gnueabihf
+	aarch64-cros-linux-gnu
+)
+
+# In this context BARE means the OS part of the triple is none and gcc is used
+# for C/C++ and linking.
+# shellcheck disable=SC2034 # Used by cros-rustc.eclass
+RUSTC_BARE_TARGET_TRIPLES=(
+	thumbv6m-none-eabi # Cortex-M0, M0+, M1
+	thumbv7m-none-eabi # Cortex-M3
+	thumbv7em-none-eabihf # Cortex-M4F, M7F, FPU, hardfloat
+
+	# These UEFI targets are used by and supported for ChromeOS flex;
+	# contact chromeos-flex-eng@google.com with any questions. Please
+	# add chromeos-toolchain@google.com if you would like to use any of
+	# these triples for your project.
+	i686-unknown-uefi
+	x86_64-unknown-uefi
+)
+
+# shellcheck disable=SC2034
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-rustc
+
+# Use PVR to require simultaneous uprevs of both rust-host and rust, since
+# they're logically talking about the same sources.
+BDEPEND="=dev-lang/rust-host-${PVR}"
+RDEPEND="=dev-lang/rust-host-${PVR}"
+KEYWORDS="*"
+
+# NOTE: since CROS_RUSTC_BUILD_DIR is a local cache, the cases below can't
+# always presume that it exists.
+
+src_unpack() {
+	if [[ -n "${CROS_RUSTC_BUILD_RAW_SOURCES}" ]]; then
+		if ! cros-rustc_has_existing_checkout; then
+			eerror "No existing checkout detected; build rust-host first."
+			die
+		fi
+		# Unpacking consists only of ensuring symlink validity in this
+		# case.
+		cros-rustc_src_unpack
+	elif cros-rustc_has_existing_checkout; then
+		einfo "Skipping unpack; checkout already exists"
+		cros-rustc_setup_cargo_home
+	else
+		ewarn "No existing cros-rustc checkout found. Did you" \
+			"remember to emerge dev-lang/rust-host?"
+		cros-rustc_src_unpack
+	fi
+}
+
+src_prepare() {
+	if cros-rustc_has_existing_checkout; then
+		einfo "Skipping src_prepare; checkout already exists"
+		# `src_prepare` requires this to be called before exiting. The
+		# actual use of user patches with this ebuild is not supported.
+		eapply_user
+	else
+		cros-rustc_src_prepare
+	fi
+}
+
+src_compile() {
+	local keep_stages=()
+	if cros-rustc_has_existing_stage1_build; then
+		einfo "Stage1 build exists; instructing x.py to use it"
+		keep_stages=("--keep-stage=0" "--keep-stage=1")
+	fi
+	cros-rustc_src_compile "${keep_stages[@]}" library/std
+}
+
+src_install() {
+	# shellcheck disable=SC2154 # Defined in cros-rustc.eclass
+	local obj="${CROS_RUSTC_BUILD_DIR}/x86_64-unknown-linux-gnu/stage2"
+	for triple in "${RUSTC_TARGET_TRIPLES[@]}" "${RUSTC_BARE_TARGET_TRIPLES[@]}"; do
+		insinto "/usr/$(get_libdir)/rustlib/${triple}"
+		doins -r "${obj}/lib64/rustlib/${triple}/"*
+	done
+}
diff --git a/dev-libs/OWNERS b/dev-libs/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/dev-libs/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/dev-libs/glib/Manifest b/dev-libs/glib/Manifest
index 0712703..e89f989 100644
--- a/dev-libs/glib/Manifest
+++ b/dev-libs/glib/Manifest
@@ -1 +1 @@
-DIST glib-2.68.3.tar.xz 4945236 BLAKE2B 6086b7490f418cb98119ab25670766e3a84de81fd180dbc6e8f929d8f8ab748b0ae7ad6a85f5419ab3c00589c3afba95972d8b4541b310acdf6b6dc9b460a07d SHA512 fb120105c4cb582491a53a0e4c61fe4bdd1f94b279bb7c362afd591369ede50a196c706375564ededf3550d4062a285b038e20b605e6d5dfe36f5d208f4bad3f
+DIST glib-2.72.1.tar.xz 4890672 BLAKE2B 95a563b5388ee4d239034fef6ec071a7d608be3dd5de716e7c5baca641a70d19ce6b14b693ac1041f65bfae815e5b829f02983234d1bbe6546cdd1c5159a8eab SHA512 341acc91b4bed7a980b396888a0ab504337b6870422a708ea3e178598c028bc230457a328c35db469d92b0067ce8ec35d08dbcfe6d5af3340b574d41c0131913
diff --git a/dev-libs/glib/files/glib-2.68.3-glibc-2.34-close_range.patch b/dev-libs/glib/files/glib-2.68.3-glibc-2.34-close_range.patch
deleted file mode 100644
index a84ccaa..0000000
--- a/dev-libs/glib/files/glib-2.68.3-glibc-2.34-close_range.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-https://bugs.gentoo.org/803632
-https://gitlab.gnome.org/GNOME/glib/-/commit/63e7864d1a0ddbead3c18872e95116e3843e81be.patch
-
-From 6e59d21b273f026e82adc56fecbec67d1ffa72a4 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 8 Jul 2021 17:26:43 -0700
-Subject: [PATCH] correctly use 3 parameters for close_range
-
-libc implementation has 3 parameter e.g.
-https://www.freebsd.org/cgi/man.cgi?query=close_range&sektion=2&format=html
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- glib/gspawn.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/glib/gspawn.c b/glib/gspawn.c
-index 95f5b868e..a15fb1ca1 100644
---- a/glib/gspawn.c
-+++ b/glib/gspawn.c
-@@ -1494,7 +1494,7 @@ safe_closefrom (int lowfd)
-    *
-    * Handle ENOSYS in case it’s supported in libc but not the kernel; if so,
-    * fall back to safe_fdwalk(). */
--  if (close_range (lowfd, G_MAXUINT) != 0 && errno == ENOSYS)
-+  if (close_range (lowfd, G_MAXUINT, 0) != 0 && errno == ENOSYS)
- #endif  /* HAVE_CLOSE_RANGE */
-   (void) safe_fdwalk (close_func, GINT_TO_POINTER (lowfd));
- #endif
--- 
-GitLab
-
diff --git a/dev-libs/glib/glib-2.68.3-r2.ebuild b/dev-libs/glib/glib-2.68.3-r2.ebuild
deleted file mode 100644
index 03f963d..0000000
--- a/dev-libs/glib/glib-2.68.3-r2.ebuild
+++ /dev/null
@@ -1,293 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7,8,9} )
-
-inherit flag-o-matic gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
-
-DESCRIPTION="The GLib library of C routines"
-HOMEPAGE="https://www.gtk.org/"
-
-LICENSE="LGPL-2.1+"
-SLOT="2"
-IUSE="cros_host dbus debug doc elibc_glibc fam gtk-doc kernel_linux +mime selinux static-libs sysprof systemtap test utils xattr"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
-
-KEYWORDS="*"
-
-# * elfutils (via libelf) does not build on Windows. gresources are not embedded
-# within ELF binaries on that platform anyway and inspecting ELF binaries from
-# other platforms is not that useful so exclude the dependency in this case.
-# * Technically static-libs is needed on zlib, util-linux and perhaps more, but
-# these are used by GIO, which glib[static-libs] consumers don't really seem
-# to need at all, thus not imposing the deps for now and once some consumers
-# are actually found to static link libgio-2.0.a, we can revisit and either add
-# them or just put the (build) deps in that rare consumer instead of recursive
-# RDEPEND here (due to lack of recursive DEPEND).
-RDEPEND="
-	!<dev-util/gdbus-codegen-${PV}
-	>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
-	>=dev-libs/libpcre-8.31:3[${MULTILIB_USEDEP},static-libs?]
-	>=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
-	>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
-	>=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
-	kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
-	selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
-	xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) )
-	cros_host? ( virtual/libelf:0= )
-	fam? ( >=virtual/fam-0-r1[${MULTILIB_USEDEP}] )
-	sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}"
-# libxml2 used for optional tests that get automatically skipped
-BDEPEND="
-	doc? (
-		app-text/docbook-xsl-stylesheets
-		dev-libs/libxslt
-	)
-	>=sys-devel/gettext-0.19.8
-	gtk-doc? ( >=dev-util/gtk-doc-1.33
-		app-text/docbook-xml-dtd:4.2
-		app-text/docbook-xml-dtd:4.5 )
-	systemtap? ( >=dev-util/systemtap-1.3 )
-	${PYTHON_DEPS}
-	test? ( >=sys-apps/dbus-1.2.14 )
-	virtual/pkgconfig
-"
-# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
-
-PDEPEND="
-	dbus? ( gnome-base/dconf )
-	mime? ( x11-misc/shared-mime-info )
-"
-# shared-mime-info needed for gio/xdgmime, bug #409481
-# dconf is needed to be able to save settings, bug #498436
-
-MULTILIB_CHOST_TOOLS=(
-	/usr/bin/gio-querymodules$(get_exeext)
-)
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
-	"${FILESDIR}/glib-2.66.7-CHROMIUM-gdbus-system-bus-address.patch"
-	"${FILESDIR}"/${PN}-2.68.3-glibc-2.34-close_range.patch
-)
-
-pkg_setup() {
-	if use kernel_linux ; then
-		CONFIG_CHECK="~INOTIFY_USER"
-		if use test ; then
-			CONFIG_CHECK="~IPV6"
-			WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
-		fi
-		linux-info_pkg_setup
-	fi
-	python-any-r1_pkg_setup
-}
-
-src_prepare() {
-	if use test; then
-		# TODO: Review the test exclusions, especially now with meson
-		# Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
-		if ! has_version dev-util/desktop-file-utils ; then
-			ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
-			ewarn "think on installing it to get these tests run."
-			sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
-			sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
-		fi
-
-		# gdesktopappinfo requires existing terminal (gnome-terminal or any
-		# other), falling back to xterm if one doesn't exist
-		#if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
-		#	ewarn "Some tests will be skipped due to missing terminal program"
-		# These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
-		# Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready for backport (or in a bump) and file new issue if still fails
-		sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
-		# desktop-app-info/launch* might fail similarly
-		sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die
-		#fi
-
-		# https://bugzilla.gnome.org/show_bug.cgi?id=722604
-		sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
-		sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
-
-		ewarn "Tests for search-utils have been skipped"
-		sed -i -e "/search-utils/d" glib/tests/meson.build || die
-
-		# Play nice with network-sandbox, but this approach would defeat the purpose of the test
-		#sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
-	else
-		# Don't build tests, also prevents extra deps, bug #512022
-		sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
-	fi
-
-	# Don't build fuzzing binaries - not used
-	sed -i -e '/subdir.*fuzzing/d' meson.build || die
-
-	# gdbus-codegen is a separate package
-	sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
-
-	# Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
-	sed -i -e '/install_dir/d' gio/tests/meson.build || die
-
-	cat > "${T}/glib-test-ld-wrapper" <<-EOF
-		#!/usr/bin/env sh
-		exec \${LD:-ld} "\$@"
-	EOF
-	chmod a+x "${T}/glib-test-ld-wrapper" || die
-	sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
-
-	xdg_src_prepare
-	gnome2_environment_reset
-	# TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
-}
-
-multilib_src_configure() {
-	if use debug; then
-		append-cflags -DG_ENABLE_DEBUG
-	else
-		append-cflags -DG_DISABLE_CAST_CHECKS # https://gitlab.gnome.org/GNOME/glib/issues/1833
-	fi
-
-	# TODO: figure a way to pass appropriate values for all cross properties that glib uses (search for get_cross_property)
-	#if tc-is-cross-compiler ; then
-		# https://bugzilla.gnome.org/show_bug.cgi?id=756473
-		# TODO-meson: This should be in meson cross file as 'growing_stack' property; and more, look at get_cross_property
-		#case ${CHOST} in
-		#hppa*|metag*) export glib_cv_stack_grows=yes ;;
-		#*)            export glib_cv_stack_grows=no ;;
-		#esac
-	#fi
-
-	local emesonargs=(
-		-Ddefault_library=$(usex static-libs both shared)
-		$(meson_feature selinux)
-		$(meson_use xattr)
-		-Dlibmount=enabled # only used if host_system == 'linux'
-		-Dinternal_pcre=false
-		-Dman=$(multilib_native_usex doc true false)
-		$(meson_use systemtap dtrace)
-		$(meson_use systemtap)
-		$(meson_feature sysprof)
-		$(meson_native_use_bool gtk-doc gtk_doc)
-		$(meson_use fam)
-		$(meson_use test tests)
-		-Dinstalled_tests=false
-		-Dnls=enabled
-		-Doss_fuzz=disabled
-		$(meson_native_use_feature cros_host libelf)
-	)
-	meson_src_configure
-}
-
-multilib_src_test() {
-	export XDG_CONFIG_DIRS=/etc/xdg
-	export XDG_DATA_DIRS=/usr/local/share:/usr/share
-	export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
-	export LC_TIME=C # bug #411967
-	unset GSETTINGS_BACKEND # bug #596380
-	python_setup
-
-	# Related test is a bit nitpicking
-	mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
-	chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
-
-	meson_src_test --timeout-multiplier 2 --no-suite flaky
-}
-
-multilib_src_install() {
-	meson_src_install
-	keepdir /usr/$(get_libdir)/gio/modules
-}
-
-multilib_src_install_all() {
-	if use doc ; then
-		einstalldocs || ewarn "Failed to install docs"
-	fi
-
-	# These are installed by dev-util/glib-utils
-	# TODO: With patching we might be able to get rid of the python-any deps and removals, and test depend on glib-utils instead; revisit now with meson
-	rm "${ED}/usr/bin/glib-genmarshal" || die
-	rm "${ED}/usr/bin/glib-mkenums" || die
-	rm "${ED}/usr/bin/gtester-report" || die
-	use doc && (
-		rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || ewarn "Failed to remove glib-genmarshal.1"
-		rm "${ED}/usr/share/man/man1/glib-mkenums.1" || ewarn "Failed to remove glib-mkenums.1"
-		rm "${ED}/usr/share/man/man1/gtester-report.1" || ewarn "Failed to remove gtester-report.1"
-		# gdbus-codegen manpage installed by dev-util/gdbus-codegen
-		rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || ewarn "Failed to remove gdbus-codegen.1"
-	)
-}
-
-pkg_preinst() {
-	xdg_pkg_preinst
-
-	# Make gschemas.compiled belong to glib alone
-	local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
-
-	if [[ -e ${EROOT}${cache} ]]; then
-		cp "${EROOT}"${cache} "${ED}"/${cache} || die
-	else
-		touch "${ED}"${cache} || die
-	fi
-
-	multilib_pkg_preinst() {
-		# Make giomodule.cache belong to glib alone
-		local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
-
-		if [[ -e ${EROOT}${cache} ]]; then
-			cp "${EROOT}"${cache} "${ED}"${cache} || die
-		else
-			touch "${ED}"${cache} || die
-		fi
-	}
-
-	# Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
-	# file due to inability to create it and GIO might not look at any of the modules there
-	if ! tc-is-cross-compiler ; then
-		multilib_foreach_abi multilib_pkg_preinst
-	fi
-}
-
-pkg_postinst() {
-	xdg_pkg_postinst
-	# glib installs no schemas itself, but we force update for fresh install in case
-	# something has dropped in a schemas file without direct glib dep; and for upgrades
-	# in case the compiled schema format could have changed
-	gnome2_schemas_update
-
-	multilib_pkg_postinst() {
-		gnome2_giomodule_cache_update \
-			|| die "Update GIO modules cache failed (for ${ABI})"
-	}
-	if ! tc-is-cross-compiler ; then
-		multilib_foreach_abi multilib_pkg_postinst
-	else
-		ewarn "Updating of GIO modules cache skipped due to cross-compilation."
-		ewarn "You might want to run gio-querymodules manually on the target for"
-		ewarn "your final image for performance reasons and re-run it when packages"
-		ewarn "installing GIO modules get upgraded or added to the image."
-	fi
-
-	for v in ${REPLACING_VERSIONS}; do
-		if ver_test "$v" "-lt" "2.63.6"; then
-			ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
-			ewarn "to restart your session for \"Open With\" dialogs to work."
-		fi
-	done
-}
-
-pkg_postrm() {
-	xdg_pkg_postrm
-	gnome2_schemas_update
-
-	if [[ -z ${REPLACED_BY_VERSION} ]]; then
-		multilib_pkg_postrm() {
-			rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache
-		}
-		multilib_foreach_abi multilib_pkg_postrm
-		rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled
-	fi
-}
diff --git a/dev-libs/glib/glib-2.72.1.ebuild b/dev-libs/glib/glib-2.72.1.ebuild
new file mode 100644
index 0000000..cc064d4
--- /dev/null
+++ b/dev-libs/glib/glib-2.72.1.ebuild
@@ -0,0 +1,291 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7,8,9} )
+
+inherit flag-o-matic gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="https://www.gtk.org/"
+
+LICENSE="LGPL-2.1+"
+SLOT="2"
+IUSE="cros_host dbus debug doc elibc_glibc fam gtk-doc kernel_linux +mime selinux static-libs sysprof systemtap test utils xattr"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
+
+KEYWORDS="*"
+
+# * elfutils (via libelf) does not build on Windows. gresources are not embedded
+# within ELF binaries on that platform anyway and inspecting ELF binaries from
+# other platforms is not that useful so exclude the dependency in this case.
+# * Technically static-libs is needed on zlib, util-linux and perhaps more, but
+# these are used by GIO, which glib[static-libs] consumers don't really seem
+# to need at all, thus not imposing the deps for now and once some consumers
+# are actually found to static link libgio-2.0.a, we can revisit and either add
+# them or just put the (build) deps in that rare consumer instead of recursive
+# RDEPEND here (due to lack of recursive DEPEND).
+RDEPEND="
+	!<dev-util/gdbus-codegen-${PV}
+	>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+	>=dev-libs/libpcre-8.31:3[${MULTILIB_USEDEP},static-libs?]
+	>=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
+	>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+	>=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
+	kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
+	selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
+	xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) )
+	cros_host? ( virtual/libelf:0= )
+	fam? ( >=virtual/fam-0-r1[${MULTILIB_USEDEP}] )
+	sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+# libxml2 used for optional tests that get automatically skipped
+BDEPEND="
+	doc? (
+		app-text/docbook-xsl-stylesheets
+		dev-libs/libxslt
+	)
+	>=sys-devel/gettext-0.19.8
+	gtk-doc? ( >=dev-util/gtk-doc-1.33
+		app-text/docbook-xml-dtd:4.2
+		app-text/docbook-xml-dtd:4.5 )
+	systemtap? ( >=dev-util/systemtap-1.3 )
+	${PYTHON_DEPS}
+	test? ( >=sys-apps/dbus-1.2.14 )
+	virtual/pkgconfig
+"
+# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
+
+PDEPEND="
+	dbus? ( gnome-base/dconf )
+	mime? ( x11-misc/shared-mime-info )
+"
+# shared-mime-info needed for gio/xdgmime, bug #409481
+# dconf is needed to be able to save settings, bug #498436
+
+MULTILIB_CHOST_TOOLS=(
+	/usr/bin/gio-querymodules$(get_exeext)
+)
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
+	"${FILESDIR}/glib-2.66.7-CHROMIUM-gdbus-system-bus-address.patch"
+)
+
+pkg_setup() {
+	if use kernel_linux ; then
+		CONFIG_CHECK="~INOTIFY_USER"
+		if use test ; then
+			CONFIG_CHECK="~IPV6"
+			WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
+		fi
+		linux-info_pkg_setup
+	fi
+	python-any-r1_pkg_setup
+}
+
+src_prepare() {
+	if use test; then
+		# TODO: Review the test exclusions, especially now with meson
+		# Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
+		if ! has_version dev-util/desktop-file-utils ; then
+			ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
+			ewarn "think on installing it to get these tests run."
+			sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
+			sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
+		fi
+
+		# gdesktopappinfo requires existing terminal (gnome-terminal or any
+		# other), falling back to xterm if one doesn't exist
+		#if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
+		#	ewarn "Some tests will be skipped due to missing terminal program"
+		# These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
+		# Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready for backport (or in a bump) and file new issue if still fails
+		sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
+		# desktop-app-info/launch* might fail similarly
+		sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die
+		#fi
+
+		# https://bugzilla.gnome.org/show_bug.cgi?id=722604
+		sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
+		sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
+
+		ewarn "Tests for search-utils have been skipped"
+		sed -i -e "/search-utils/d" glib/tests/meson.build || die
+
+		# Play nice with network-sandbox, but this approach would defeat the purpose of the test
+		#sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
+	else
+		# Don't build tests, also prevents extra deps, bug #512022
+		sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
+	fi
+
+	# Don't build fuzzing binaries - not used
+	sed -i -e '/subdir.*fuzzing/d' meson.build || die
+
+	# gdbus-codegen is a separate package
+	sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
+
+	# Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
+	sed -i -e '/install_dir/d' gio/tests/meson.build || die
+
+	cat > "${T}/glib-test-ld-wrapper" <<-EOF
+		#!/usr/bin/env sh
+		exec \${LD:-ld} "\$@"
+	EOF
+	chmod a+x "${T}/glib-test-ld-wrapper" || die
+	sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
+
+	xdg_src_prepare
+	gnome2_environment_reset
+	# TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
+}
+
+multilib_src_configure() {
+	if use debug; then
+		append-cflags -DG_ENABLE_DEBUG
+	else
+		append-cflags -DG_DISABLE_CAST_CHECKS # https://gitlab.gnome.org/GNOME/glib/issues/1833
+	fi
+
+	# TODO: figure a way to pass appropriate values for all cross properties that glib uses (search for get_cross_property)
+	#if tc-is-cross-compiler ; then
+		# https://bugzilla.gnome.org/show_bug.cgi?id=756473
+		# TODO-meson: This should be in meson cross file as 'growing_stack' property; and more, look at get_cross_property
+		#case ${CHOST} in
+		#hppa*|metag*) export glib_cv_stack_grows=yes ;;
+		#*)            export glib_cv_stack_grows=no ;;
+		#esac
+	#fi
+
+	local emesonargs=(
+		-Ddefault_library=$(usex static-libs both shared)
+		$(meson_feature selinux)
+		$(meson_use xattr)
+		-Dlibmount=enabled # only used if host_system == 'linux'
+		-Dman=$(multilib_native_usex doc true false)
+		$(meson_use systemtap dtrace)
+		$(meson_use systemtap)
+		$(meson_feature sysprof)
+		$(meson_native_use_bool gtk-doc gtk_doc)
+		$(meson_use fam)
+		$(meson_use test tests)
+		-Dinstalled_tests=false
+		-Dnls=enabled
+		-Doss_fuzz=disabled
+		$(meson_native_use_feature cros_host libelf)
+	)
+	meson_src_configure
+}
+
+multilib_src_test() {
+	export XDG_CONFIG_DIRS=/etc/xdg
+	export XDG_DATA_DIRS=/usr/local/share:/usr/share
+	export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
+	export LC_TIME=C # bug #411967
+	unset GSETTINGS_BACKEND # bug #596380
+	python_setup
+
+	# Related test is a bit nitpicking
+	mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+	chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+
+	meson_src_test --timeout-multiplier 2 --no-suite flaky
+}
+
+multilib_src_install() {
+	meson_src_install
+	keepdir /usr/$(get_libdir)/gio/modules
+}
+
+multilib_src_install_all() {
+	if use doc ; then
+		einstalldocs || ewarn "Failed to install docs"
+	fi
+
+	# These are installed by dev-util/glib-utils
+	# TODO: With patching we might be able to get rid of the python-any deps and removals, and test depend on glib-utils instead; revisit now with meson
+	rm "${ED}/usr/bin/glib-genmarshal" || die
+	rm "${ED}/usr/bin/glib-mkenums" || die
+	rm "${ED}/usr/bin/gtester-report" || die
+	use doc && (
+		rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || ewarn "Failed to remove glib-genmarshal.1"
+		rm "${ED}/usr/share/man/man1/glib-mkenums.1" || ewarn "Failed to remove glib-mkenums.1"
+		rm "${ED}/usr/share/man/man1/gtester-report.1" || ewarn "Failed to remove gtester-report.1"
+		# gdbus-codegen manpage installed by dev-util/gdbus-codegen
+		rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || ewarn "Failed to remove gdbus-codegen.1"
+	)
+}
+
+pkg_preinst() {
+	xdg_pkg_preinst
+
+	# Make gschemas.compiled belong to glib alone
+	local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
+
+	if [[ -e ${EROOT}${cache} ]]; then
+		cp "${EROOT}"${cache} "${ED}"/${cache} || die
+	else
+		touch "${ED}"${cache} || die
+	fi
+
+	multilib_pkg_preinst() {
+		# Make giomodule.cache belong to glib alone
+		local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
+
+		if [[ -e ${EROOT}${cache} ]]; then
+			cp "${EROOT}"${cache} "${ED}"${cache} || die
+		else
+			touch "${ED}"${cache} || die
+		fi
+	}
+
+	# Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
+	# file due to inability to create it and GIO might not look at any of the modules there
+	if ! tc-is-cross-compiler ; then
+		multilib_foreach_abi multilib_pkg_preinst
+	fi
+}
+
+pkg_postinst() {
+	xdg_pkg_postinst
+	# glib installs no schemas itself, but we force update for fresh install in case
+	# something has dropped in a schemas file without direct glib dep; and for upgrades
+	# in case the compiled schema format could have changed
+	gnome2_schemas_update
+
+	multilib_pkg_postinst() {
+		gnome2_giomodule_cache_update \
+			|| die "Update GIO modules cache failed (for ${ABI})"
+	}
+	if ! tc-is-cross-compiler ; then
+		multilib_foreach_abi multilib_pkg_postinst
+	else
+		ewarn "Updating of GIO modules cache skipped due to cross-compilation."
+		ewarn "You might want to run gio-querymodules manually on the target for"
+		ewarn "your final image for performance reasons and re-run it when packages"
+		ewarn "installing GIO modules get upgraded or added to the image."
+	fi
+
+	for v in ${REPLACING_VERSIONS}; do
+		if ver_test "$v" "-lt" "2.63.6"; then
+			ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
+			ewarn "to restart your session for \"Open With\" dialogs to work."
+		fi
+	done
+}
+
+pkg_postrm() {
+	xdg_pkg_postrm
+	gnome2_schemas_update
+
+	if [[ -z ${REPLACED_BY_VERSION} ]]; then
+		multilib_pkg_postrm() {
+			rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache
+		}
+		multilib_foreach_abi multilib_pkg_postrm
+		rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled
+	fi
+}
diff --git a/dev-libs/gobject-introspection-common/Manifest b/dev-libs/gobject-introspection-common/Manifest
index bdfba87..cb6ad8c 100644
--- a/dev-libs/gobject-introspection-common/Manifest
+++ b/dev-libs/gobject-introspection-common/Manifest
@@ -1 +1 @@
-DIST gobject-introspection-1.68.0.tar.xz 1019732 BLAKE2B 2f99cc9cec5ea05f1a5fa4473d1ad424cc1f6b097075f798e89cf740519db180417a3f0de37afc8a0cf0771436a9d9f7d6193b69289dfb47ec077d33a7d27c91 SHA512 d2e64c119aa500b624a57baa2cebe9126ab100003d98b771f4fb51cf92748635de352997f702f40656f7c665f3dfedfbfa19912cc7a2d039d254555243bbc381
+DIST gobject-introspection-1.72.0.tar.xz 1040936 BLAKE2B fd7600a927e57d5a076c203a084afe56a738d3a93109055be7bee22a96d6d5b08892300260288e5b83f883e54ca658cb24ef5c862abe435820c963bbf0cf8496 SHA512 b8fba2bd12e93776c55228acf3487bef36ee40b1abdc7f681b827780ac94a8bfa1f59b0c30d60fa5a1fea2f610de78b9e52029f411128067808f17eb6374cdc5
diff --git a/dev-libs/gobject-introspection-common/gobject-introspection-common-1.68.0.ebuild b/dev-libs/gobject-introspection-common/gobject-introspection-common-1.68.0.ebuild
deleted file mode 100644
index 93aa371..0000000
--- a/dev-libs/gobject-introspection-common/gobject-introspection-common-1.68.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-GNOME_ORG_MODULE="gobject-introspection"
-
-inherit gnome.org
-
-DESCRIPTION="Build infrastructure for GObject Introspection"
-HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
-
-LICENSE="HPND"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="!<${CATEGORY}/${GNOME_ORG_MODULE}-${PV}"
-# Use !<${PV} because mixing gobject-introspection with different version of -common can cause issues like:
-# https://forums.gentoo.org/viewtopic-p-7421930.html
-
-src_configure() { :; }
-
-src_compile() { :; }
-
-src_install() {
-	insinto /usr/share/aclocal
-	doins m4/introspection.m4
-
-	insinto /usr/share/gobject-introspection-1.0
-	doins Makefile.introspection
-}
diff --git a/dev-libs/gobject-introspection-common/gobject-introspection-common-1.72.0.ebuild b/dev-libs/gobject-introspection-common/gobject-introspection-common-1.72.0.ebuild
new file mode 100644
index 0000000..2695773
--- /dev/null
+++ b/dev-libs/gobject-introspection-common/gobject-introspection-common-1.72.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+GNOME_ORG_MODULE="gobject-introspection"
+
+inherit gnome.org
+
+DESCRIPTION="Build infrastructure for GObject Introspection"
+HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="!<${CATEGORY}/${GNOME_ORG_MODULE}-${PV}"
+# Use !<${PV} because mixing gobject-introspection with different version of -common can cause issues like:
+# https://forums.gentoo.org/viewtopic-p-7421930.html
+
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+	insinto /usr/share/aclocal
+	doins m4/introspection.m4
+
+	insinto /usr/share/gobject-introspection-1.0
+	doins Makefile.introspection
+}
diff --git a/dev-libs/gobject-introspection/Manifest b/dev-libs/gobject-introspection/Manifest
index bdfba87..cb6ad8c 100644
--- a/dev-libs/gobject-introspection/Manifest
+++ b/dev-libs/gobject-introspection/Manifest
@@ -1 +1 @@
-DIST gobject-introspection-1.68.0.tar.xz 1019732 BLAKE2B 2f99cc9cec5ea05f1a5fa4473d1ad424cc1f6b097075f798e89cf740519db180417a3f0de37afc8a0cf0771436a9d9f7d6193b69289dfb47ec077d33a7d27c91 SHA512 d2e64c119aa500b624a57baa2cebe9126ab100003d98b771f4fb51cf92748635de352997f702f40656f7c665f3dfedfbfa19912cc7a2d039d254555243bbc381
+DIST gobject-introspection-1.72.0.tar.xz 1040936 BLAKE2B fd7600a927e57d5a076c203a084afe56a738d3a93109055be7bee22a96d6d5b08892300260288e5b83f883e54ca658cb24ef5c862abe435820c963bbf0cf8496 SHA512 b8fba2bd12e93776c55228acf3487bef36ee40b1abdc7f681b827780ac94a8bfa1f59b0c30d60fa5a1fea2f610de78b9e52029f411128067808f17eb6374cdc5
diff --git a/dev-libs/gobject-introspection/gobject-introspection-1.68.0-r2.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.68.0-r2.ebuild
deleted file mode 120000
index 658da32..0000000
--- a/dev-libs/gobject-introspection/gobject-introspection-1.68.0-r2.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-gobject-introspection-1.68.0.ebuild
\ No newline at end of file
diff --git a/dev-libs/gobject-introspection/gobject-introspection-1.68.0.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.68.0.ebuild
deleted file mode 100644
index 4cfb082..0000000
--- a/dev-libs/gobject-introspection/gobject-introspection-1.68.0.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-PYTHON_REQ_USE="xml"
-inherit cros-constants gnome.org meson python-single-r1 xdg
-
-DESCRIPTION="Introspection system for GObject-based libraries"
-HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
-
-LICENSE="LGPL-2+ GPL-2+"
-SLOT="0"
-IUSE="cros_host doctool gtk-doc test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-KEYWORDS="*"
-
-# virtual/pkgconfig needed at runtime, bug #505408
-RDEPEND="
-	>=dev-libs/gobject-introspection-common-${PV}
-	>=dev-libs/glib-2.58.0:2
-	dev-libs/libffi:=
-	doctool? (
-		$(python_gen_cond_dep '
-			dev-python/mako[${PYTHON_USEDEP}]
-			dev-python/markdown[${PYTHON_USEDEP}]
-		')
-	)
-	virtual/pkgconfig
-	${PYTHON_DEPS}
-"
-# Wants real bison, not virtual/yacc
-DEPEND="${RDEPEND}
-	gtk-doc? ( >=dev-util/gtk-doc-1.19
-		app-text/docbook-xml-dtd:4.3
-		app-text/docbook-xml-dtd:4.5
-	)
-	sys-devel/bison
-	sys-devel/flex
-	test? (
-		x11-libs/cairo[glib]
-		$(python_gen_cond_dep '
-			dev-python/mako[${PYTHON_USEDEP}]
-			dev-python/markdown[${PYTHON_USEDEP}]
-		')
-	)
-"
-
-BDEPEND="
-	!cros_host? (
-		>=dev-libs/gobject-introspection-${PV}
-		app-emulation/qemu
-	)
-"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-1.68.0-CHROMIUM-hardcode-gi_typelib-path.patch"
-)
-
-pkg_setup() {
-	python-single-r1_pkg_setup
-}
-
-src_configure() {
-	local emesonargs=(
-		$(meson_feature test cairo)
-		$(meson_feature doctool)
-		#-Dglib_src_dir
-		$(meson_use gtk-doc gtk_doc)
-		#-Dcairo_libname
-		-Dpython="${EPYTHON}"
-		#-Dgir_dir_prefix
-	)
-
-	if ! use cros_host ; then
-		emesonargs+=(
-			-Dgi_cross_pkgconfig_sysroot_path="${SYSROOT}"
-			-Dgi_cross_use_prebuilt_gi=true
-			-Dgi_cross_binary_wrapper="${FILESDIR}/exec_wrapper"
-			-Dgi_cross_ldd_wrapper="${FILESDIR}/ldd_wrapper"
-			# Define the built-in search dir with the assumption that this is
-			# installed to the test image. If this package is installed as part
-			# of the base image, then the env.d file defined below will specify
-			# the correct search paths via GI_TYPELIB_PATH in the environment.
-			-Dgi_libdir="${EPREFIX}/usr/local/$(get_libdir)"
-		)
-		# The ldd & binary wrappers rely on these locations being defined via
-		# the values in cros-constants.eclass
-		export CHROMITE_BIN_DIR CHROOT_SOURCE_ROOT
-	else
-		emesonargs+=(
-			-Dgi_libdir="${EPREFIX}/usr/$(get_libdir)"
-		)
-	fi
-
-	tc-export PKG_CONFIG
-	meson_src_configure
-}
-
-src_compile() {
-	tc-export PKG_CONFIG
-	meson_src_compile
-}
-
-src_install() {
-	meson_src_install
-	python_fix_shebang "${ED}"/usr/bin/
-	python_optimize "${ED}"/usr/$(get_libdir)/gobject-introspection/giscanner
-
-	if ! use cros_host ; then
-		echo "GI_TYPELIB_PATH=\"${EPREFIX}/usr/local/$(get_libdir)/girepository-1.0:${EPREFIX}/usr/$(get_libdir)/girepository-1.0\"" \
-			>> "${T}/90${PN}"
-		doenvd "${T}/90${PN}"
-	fi
-
-	# Prevent collision with gobject-introspection-common
-	rm -v "${ED}"/usr/share/aclocal/introspection.m4 \
-		"${ED}"/usr/share/gobject-introspection-1.0/Makefile.introspection || die
-	rmdir "${ED}"/usr/share/aclocal || die
-}
diff --git a/dev-libs/gobject-introspection/gobject-introspection-1.72.0-r1.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.72.0-r1.ebuild
new file mode 100644
index 0000000..785d395
--- /dev/null
+++ b/dev-libs/gobject-introspection/gobject-introspection-1.72.0-r1.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+PYTHON_REQ_USE="xml"
+inherit cros-constants gnome.org meson python-single-r1 xdg
+
+DESCRIPTION="Introspection system for GObject-based libraries"
+HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
+
+LICENSE="LGPL-2+ GPL-2+"
+SLOT="0"
+IUSE="cros_host doctool gtk-doc test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+KEYWORDS="*"
+
+# virtual/pkgconfig needed at runtime, bug #505408
+RDEPEND="
+	>=dev-libs/gobject-introspection-common-${PV}
+	>=dev-libs/glib-2.58.0:2
+	dev-libs/libffi:=
+	doctool? (
+		$(python_gen_cond_dep '
+			dev-python/mako[${PYTHON_USEDEP}]
+			dev-python/markdown[${PYTHON_USEDEP}]
+		')
+	)
+	virtual/pkgconfig
+	${PYTHON_DEPS}
+"
+# Wants real bison, not virtual/yacc
+DEPEND="${RDEPEND}
+	gtk-doc? ( >=dev-util/gtk-doc-1.19
+		app-text/docbook-xml-dtd:4.3
+		app-text/docbook-xml-dtd:4.5
+	)
+	sys-devel/bison
+	sys-devel/flex
+	test? (
+		x11-libs/cairo[glib]
+		$(python_gen_cond_dep '
+			dev-python/mako[${PYTHON_USEDEP}]
+			dev-python/markdown[${PYTHON_USEDEP}]
+		')
+	)
+"
+
+BDEPEND="
+	!cros_host? (
+		>=dev-libs/gobject-introspection-${PV}
+		app-emulation/qemu
+	)
+"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-1.68.0-CHROMIUM-hardcode-gi_typelib-path.patch"
+)
+
+pkg_setup() {
+	python-single-r1_pkg_setup
+}
+
+src_configure() {
+	local emesonargs=(
+		$(meson_feature test cairo)
+		$(meson_feature doctool)
+		#-Dglib_src_dir
+		$(meson_use gtk-doc gtk_doc)
+		#-Dcairo_libname
+		-Dpython="${EPYTHON}"
+		#-Dgir_dir_prefix
+	)
+
+	if ! use cros_host ; then
+		emesonargs+=(
+			-Dgi_cross_pkgconfig_sysroot_path="${SYSROOT}"
+			-Dgi_cross_use_prebuilt_gi=true
+			-Dgi_cross_binary_wrapper="${FILESDIR}/exec_wrapper"
+			-Dgi_cross_ldd_wrapper="${FILESDIR}/ldd_wrapper"
+			# Define the built-in search dir with the assumption that this is
+			# installed to the test image. If this package is installed as part
+			# of the base image, then the env.d file defined below will specify
+			# the correct search paths via GI_TYPELIB_PATH in the environment.
+			-Dgi_libdir="${EPREFIX}/usr/local/$(get_libdir)"
+		)
+		# The ldd & binary wrappers rely on these locations being defined via
+		# the values in cros-constants.eclass
+		export CHROMITE_BIN_DIR CHROOT_SOURCE_ROOT
+	else
+		emesonargs+=(
+			-Dgi_libdir="${EPREFIX}/usr/$(get_libdir)"
+		)
+	fi
+
+	tc-export PKG_CONFIG
+	# https://github.com/pkgconf/pkgconf/issues/205
+	local -x PKG_CONFIG_FDO_SYSROOT_RULES=1
+	meson_src_configure
+}
+
+src_compile() {
+	tc-export PKG_CONFIG
+	meson_src_compile
+}
+
+src_install() {
+	meson_src_install
+	python_fix_shebang "${ED}"/usr/bin/
+	python_optimize "${ED}"/usr/$(get_libdir)/gobject-introspection/giscanner
+
+	if ! use cros_host ; then
+		echo "GI_TYPELIB_PATH=\"${EPREFIX}/usr/local/$(get_libdir)/girepository-1.0:${EPREFIX}/usr/$(get_libdir)/girepository-1.0\"" \
+			>> "${T}/90${PN}"
+		doenvd "${T}/90${PN}"
+	fi
+
+	# Prevent collision with gobject-introspection-common
+	rm -v "${ED}"/usr/share/aclocal/introspection.m4 \
+		"${ED}"/usr/share/gobject-introspection-1.0/Makefile.introspection || die
+	rmdir "${ED}"/usr/share/aclocal || die
+}
diff --git a/dev-libs/intel-onednn/intel-onednn-0.0.1-r1.ebuild b/dev-libs/intel-onednn/intel-onednn-0.0.1-r1.ebuild
new file mode 120000
index 0000000..f126d55
--- /dev/null
+++ b/dev-libs/intel-onednn/intel-onednn-0.0.1-r1.ebuild
@@ -0,0 +1 @@
+intel-onednn-0.0.1.ebuild
\ No newline at end of file
diff --git a/dev-libs/intel-onednn/intel-onednn-0.0.1.ebuild b/dev-libs/intel-onednn/intel-onednn-0.0.1.ebuild
new file mode 100644
index 0000000..1e8022a
--- /dev/null
+++ b/dev-libs/intel-onednn/intel-onednn-0.0.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils git-r3 flag-o-matic
+
+DESCRIPTION="Intel oneAPI Deep Neural Network Library (oneDNN)"
+HOMEPAGE="https://github.com/oneapi-src/oneDNN"
+
+CMAKE_BUILD_TYPE="Debug"
+LICENSE="Apache-2.0 MIT BSD-2 BSD-3 Boost-1.0"
+KEYWORDS="-* amd64"
+IUSE="+clang"
+SLOT="0"
+
+DEPEND="
+    dev-util/opencl-headers
+"
+
+src_unpack() {
+	EGIT_REPO_URI="https://github.com/oneapi-src/oneDNN.git" \
+	EGIT_CHECKOUT_DIR="${S}" \
+	EGIT_COMMIT="efbf9b5e8c12666314f3484ce279cee0a1a91a44" \
+	EGIT_BRANCH="rls-v2.6" \
+	git-r3_src_unpack
+}
+
+src_configure() {
+    cros_enable_cxx_exceptions
+
+    local mycmakeargs=(
+        -DDNNL_GPU_RUNTIME=OCL
+        -DDNNL_CPU_RUNTIME=NONE
+        -DDNNL_BUILD_TESTS=OFF
+    )
+    cmake-utils_src_configure
+}
diff --git a/dev-libs/libevent/Manifest b/dev-libs/libevent/Manifest
index ec2a16a..204afbb 100644
--- a/dev-libs/libevent/Manifest
+++ b/dev-libs/libevent/Manifest
@@ -1 +1 @@
-DIST libevent-2.1.8.tar.gz 1026485 SHA256 965cc5a8bb46ce4199a47e9b2c9e1cae3b137e8356ffdad6d94d3b9069b71dc2 SHA512 a2fd3dd111e73634e4aeb1b29d06e420b15c024d7b47778883b5f8a4ff320b5057a8164c6d50b53bd196c79d572ce2639fe6265e03a93304b09c22b41e4c2a17 WHIRLPOOL ac90b6613619e0acf039fa331769449b29a3b7698a6d51b811c9288a550a3178e07b5a18a0982141ee90b7e1c34afdc80658355135963ef487cd243c472ee79a
+DIST libevent-2.1.12.tar.gz 1100847 BLAKE2B bc1ace15f639ecef2e6b3f95976b8830c1d86f1d06606dd949e2978611fdf9859ed4eb9292d13e6e90e3835063edb94aae64a15c518d5dabe680f37d5a7f5290 SHA512 88d8944cd75cbe78bc4e56a6741ca67c017a3686d5349100f1c74f8a68ac0b6410ce64dff160be4a4ba0696ee29540dfed59aaf3c9a02f0c164b00307fcfe84f
diff --git a/dev-libs/libevent/OWNERS b/dev-libs/libevent/OWNERS
new file mode 100644
index 0000000..c1be73c
--- /dev/null
+++ b/dev-libs/libevent/OWNERS
@@ -0,0 +1,2 @@
+# libchrome wraps libevent functionality.
+include chromiumos/platform/libchrome:/OWNERS
diff --git a/dev-libs/libevent/files/libevent-2.1.12-libevent-shrink.patch b/dev-libs/libevent/files/libevent-2.1.12-libevent-shrink.patch
new file mode 100644
index 0000000..b5be81d
--- /dev/null
+++ b/dev-libs/libevent/files/libevent-2.1.12-libevent-shrink.patch
@@ -0,0 +1,43 @@
+https://github.com/libevent/libevent/pull/142
+
+hack the build to generate a small libevent.so until we can sort out upstream
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -269,14 +269,14 @@ am__objects_11 = buffer.lo bufferevent.lo bufferevent_filter.lo \
+ 	evutil_time.lo listener.lo log.lo $(am__objects_10)
+ am__objects_12 = evdns.lo event_tagging.lo evrpc.lo http.lo
+ am_libevent_la_OBJECTS = $(am__objects_11) $(am__objects_12)
+-libevent_la_OBJECTS = $(am_libevent_la_OBJECTS)
++libevent_la_OBJECTS = libevent_core.la libevent_extra.la
+ AM_V_lt = $(am__v_lt_@AM_V@)
+ am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+ am__v_lt_0 = --silent
+ am__v_lt_1 = 
+ libevent_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+-	$(libevent_la_LDFLAGS) $(LDFLAGS) -o $@
++	$(libevent_la_LDFLAGS) $(LDFLAGS) -Wl,--no-as-needed -o $@
+ @INSTALL_LIBEVENT_FALSE@am_libevent_la_rpath =
+ @INSTALL_LIBEVENT_TRUE@am_libevent_la_rpath = -rpath $(libdir)
+ libevent_core_la_DEPENDENCIES = @LTLIBOBJS@ $(am__DEPENDENCIES_1) \
+@@ -1156,7 +1156,7 @@ EXTRA_DIST = ChangeLog-1.4 ChangeLog-2.0 Doxyfile LICENSE \
+ 	test/regress.gen.c test/regress.gen.h test/regress.rpc \
+ 	test/rpcgen_wrapper.sh test/print-winsock-errors.c \
+ 	test/test.sh
+-LIBEVENT_LIBS_LA = libevent.la libevent_core.la libevent_extra.la \
++LIBEVENT_LIBS_LA = libevent_core.la libevent_extra.la libevent.la \
+ 	$(am__append_1) $(am__append_3)
+ @INSTALL_LIBEVENT_TRUE@lib_LTLIBRARIES = $(LIBEVENT_LIBS_LA)
+ @INSTALL_LIBEVENT_TRUE@pkgconfig_DATA = $(LIBEVENT_PKGCONFIG)
+--- a/libevent.pc.in
++++ b/libevent.pc.in
+@@ -10,7 +10,7 @@ Description: libevent is an asynchronous notification event loop library
+ Version: @VERSION@
+ Requires:
+ Conflicts:
+-Libs: -L${libdir} -levent
++Libs: -L${libdir} -levent_core -levent_extra
+ Libs.private: @LIBS@
+ Cflags: -I${includedir}
+ 
diff --git a/dev-libs/libevent/files/libevent-2.1.8-libevent-shrink.patch b/dev-libs/libevent/files/libevent-2.1.8-libevent-shrink.patch
deleted file mode 100644
index d234b06..0000000
--- a/dev-libs/libevent/files/libevent-2.1.8-libevent-shrink.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-https://github.com/libevent/libevent/pull/142
-
-hack the build to generate a small libevent.so until we can sort out upstream
-
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -236,14 +236,14 @@ am__objects_11 = buffer.lo bufferevent.lo bufferevent_filter.lo \
- 	evutil_time.lo listener.lo log.lo $(am__objects_10)
- am__objects_12 = evdns.lo event_tagging.lo evrpc.lo http.lo
- am_libevent_la_OBJECTS = $(am__objects_11) $(am__objects_12)
--libevent_la_OBJECTS = $(am_libevent_la_OBJECTS)
-+libevent_la_OBJECTS = libevent_core.la libevent_extra.la
- AM_V_lt = $(am__v_lt_@AM_V@)
- am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
- am__v_lt_0 = --silent
- am__v_lt_1 = 
- libevent_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
--	$(libevent_la_LDFLAGS) $(LDFLAGS) -o $@
-+	$(libevent_la_LDFLAGS) $(LDFLAGS) -Wl,--no-as-needed -o $@
- @INSTALL_LIBEVENT_FALSE@am_libevent_la_rpath =
- @INSTALL_LIBEVENT_TRUE@am_libevent_la_rpath = -rpath $(libdir)
- libevent_core_la_DEPENDENCIES = @LTLIBOBJS@ $(am__DEPENDENCIES_1)
-@@ -1020,7 +1020,7 @@ EXTRA_DIST = ChangeLog-1.4 ChangeLog-2.0 Doxyfile LICENSE \
- 	whatsnew-2.1.txt $(PLATFORM_DEPENDENT_SRC) \
- 	test/check-dumpevents.py test/regress.gen.c test/regress.gen.h \
- 	test/regress.rpc test/rpcgen_wrapper.sh test/test.sh
--LIBEVENT_LIBS_LA = libevent.la libevent_core.la libevent_extra.la \
-+LIBEVENT_LIBS_LA = libevent_core.la libevent_extra.la libevent.la \
- 	$(am__append_1) $(am__append_3)
- @INSTALL_LIBEVENT_TRUE@lib_LTLIBRARIES = $(LIBEVENT_LIBS_LA)
- @INSTALL_LIBEVENT_TRUE@pkgconfig_DATA = $(LIBEVENT_PKGCONFIG)
---- a/libevent.pc.in
-+++ b/libevent.pc.in
-@@ -10,7 +10,7 @@ Description: libevent is an asynchronous notification event loop library
- Version: @VERSION@
- Requires:
- Conflicts:
--Libs: -L${libdir} -levent
-+Libs: -L${libdir} -levent_core -levent_extra
- Libs.private: @LIBS@
- Cflags: -I${includedir}
- 
diff --git a/dev-libs/libevent/libevent-2.1.12.ebuild b/dev-libs/libevent/libevent-2.1.12.ebuild
new file mode 100644
index 0000000..bbe6855
--- /dev/null
+++ b/dev-libs/libevent/libevent-2.1.12.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=7
+
+inherit autotools eutils multilib-minimal
+
+DESCRIPTION="A library to execute a function when a specific event occurs on a file descriptor"
+HOMEPAGE="
+	https://libevent.org/
+	https://github.com/libevent/libevent/
+"
+SRC_URI="
+	https://github.com/${PN}/${PN}/releases/download/release-${PV/_/-}-stable/${P/_/-}-stable.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="BSD"
+
+SLOT="0/2.1-7"
+KEYWORDS="*"
+IUSE="debug +ssl static-libs test +threads"
+
+DEPEND="
+	ssl? (
+		>=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}]
+	)
+"
+RDEPEND="
+	${DEPEND}
+	!<=dev-libs/9libs-1.0
+"
+
+MULTILIB_WRAPPED_HEADERS=(
+	/usr/include/event2/event-config.h
+)
+
+PATCHES=(
+	# This patch is unique to Chromium OS until we can sort out:
+	# https://github.com/libevent/libevent/pull/142
+	#"${FILESDIR}"/${P}-libevent-shrink.patch
+)
+
+S=${WORKDIR}/${P/_/-}-stable
+
+src_prepare() {
+	default
+	eautoreconf
+}
+
+multilib_src_configure() {
+	# fix out-of-source builds
+	mkdir -p test || die
+
+	cros_optimize_package_for_speed
+
+	ECONF_SOURCE="${S}" \
+	econf \
+		--disable-samples \
+		$(use_enable debug debug-mode) \
+		$(use_enable debug malloc-replacement) \
+		$(use_enable ssl openssl) \
+		$(use_enable static-libs static) \
+		$(use_enable test libevent-regress) \
+		$(use_enable threads thread-support)
+}
+
+src_test() {
+	# The test suite doesn't quite work (see bug #406801 for the latest
+	# installment in a riveting series of reports).
+	:
+	# emake -C test check | tee "${T}"/tests
+}
+
+DOCS=( ChangeLog{,-1.4,-2.0} )
+
+multilib_src_install_all() {
+	einstalldocs
+	find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libevent/libevent-2.1.8-r2.ebuild b/dev-libs/libevent/libevent-2.1.8-r2.ebuild
deleted file mode 120000
index a81be45..0000000
--- a/dev-libs/libevent/libevent-2.1.8-r2.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-libevent-2.1.8.ebuild
\ No newline at end of file
diff --git a/dev-libs/libevent/libevent-2.1.8.ebuild b/dev-libs/libevent/libevent-2.1.8.ebuild
deleted file mode 100644
index 441a2d1..0000000
--- a/dev-libs/libevent/libevent-2.1.8.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-inherit autotools eutils multilib-minimal
-
-DESCRIPTION="A library to execute a function when a specific event occurs on a file descriptor"
-HOMEPAGE="http://libevent.org/ https://github.com/libevent/libevent/"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/release-${PV}-stable/${P}-stable.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-# libevent-2.1.so.6
-SLOT="0/2.1-6"
-KEYWORDS="*"
-IUSE="debug libressl +ssl static-libs test +threads"
-
-DEPEND="
-	ssl? (
-		!libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
-		libressl? ( dev-libs/libressl[${MULTILIB_USEDEP}] )
-	)
-"
-RDEPEND="
-	${DEPEND}
-	!<=dev-libs/9libs-1.0
-"
-
-MULTILIB_WRAPPED_HEADERS=(
-	/usr/include/event2/event-config.h
-)
-
-S=${WORKDIR}/${P}-stable
-
-src_prepare() {
-	default
-	eautoreconf
-
-	# This patch is unique to Chromium OS until we can sort out:
-	# https://github.com/libevent/libevent/pull/142
-	epatch "${FILESDIR}"/${P}-libevent-shrink.patch
-}
-
-multilib_src_configure() {
-	# fix out-of-source builds
-	mkdir -p test || die
-
-	cros_optimize_package_for_speed
-
-	ECONF_SOURCE="${S}" \
-	econf \
-		--disable-samples \
-		$(use_enable debug debug-mode) \
-		$(use_enable debug malloc-replacement) \
-		$(use_enable ssl openssl) \
-		$(use_enable static-libs static) \
-		$(use_enable test libevent-regress) \
-		$(use_enable threads thread-support)
-}
-
-src_test() {
-	# The test suite doesn't quite work (see bug #406801 for the latest
-	# installment in a riveting series of reports).
-	:
-	# emake -C test check | tee "${T}"/tests
-}
-
-DOCS=( ChangeLog{,-1.4,-2.0} )
-
-multilib_src_install_all() {
-	einstalldocs
-	prune_libtool_files
-}
diff --git a/dev-libs/libgrammar/Manifest b/dev-libs/libgrammar/Manifest
index 7074740..14de45f 100644
--- a/dev-libs/libgrammar/Manifest
+++ b/dev-libs/libgrammar/Manifest
@@ -1 +1,3 @@
-DIST libgrammar-0.0.5.tar.gz 22164602 BLAKE2B ac617f5de0da472877a5c6ebe3cf4c12efe2fa5304ba304b1ae4fde4a635ac6ca4d729730a4619775eba1ed04939a6579d6e9b5cd9a175b9e5a9f1691ef05793 SHA512 90162311ebd3d3ff8ab9be8fa341a12b952aa953eb06553898caef7d30015c0c56d6d8cccb3dc87a5e16a01d2434a72f2fbef85e9ce8c69ec0969fb03e83e1a9
+DIST libgrammar-amd64-0.9.0.tar.gz 17813194 BLAKE2B c16df9da9ee7380ecfd1e3e2f27c10393ddc933b4e0a0e89399680f7a4060d38edfdeb0f450a2fdd95cafbe86640478da9455cdc2688701a79948bfebd10e0ed SHA512 b9712ab396125e15f368b14587a4f85a1d969503009ff4d4da32affbc960fa8f179312db7ab69c5e73752d4b35d5297039ce1ff5cf8931763961fbb2f089b91e
+DIST libgrammar-arm-0.9.0.tar.gz 17428294 BLAKE2B 3009e3d0845157804fffe0c3f26238093c40ea06a5d47e89ffb9a68625bda38f38407cf38674c80fc29500226cfbabcec8f2a24815ec39f17a57eeaa157ba5d6 SHA512 58517a192d87120a514935011c1cefe7502a778ed9ddfe528fb83f61fa6fc07564c00eb7fb5dc53a62e0713807f563c87dfe4042fbfc49fa9ed394dce7763879
+DIST libgrammar-arm64-0.9.0.tar.gz 17632729 BLAKE2B 2e60b76cb52733e04f7bfc29f945ed1f6fa20ae50dd2f7d84635f4f9f1e99d440324f6de585aba73d30e0190746872ebfad071a93bf415182892ec6a5a77d112 SHA512 7d9572233c2a9e31385cdd629d6c6668bba478bf8b0f259b8d0b8af22fa35d697656343ebb29aa678930241610b4a1cf01325d794fcc486817666f091b959f83
diff --git a/dev-libs/libgrammar/libgrammar-0.0.5-r1.ebuild b/dev-libs/libgrammar/libgrammar-0.0.5-r1.ebuild
deleted file mode 120000
index 17819a8..0000000
--- a/dev-libs/libgrammar/libgrammar-0.0.5-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-./libgrammar-0.0.5.ebuild
\ No newline at end of file
diff --git a/dev-libs/libgrammar/libgrammar-0.0.5.ebuild b/dev-libs/libgrammar/libgrammar-0.0.5.ebuild
deleted file mode 100644
index cc58fb6..0000000
--- a/dev-libs/libgrammar/libgrammar-0.0.5.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Google grammar check library for Chrome OS"
-HOMEPAGE="https://www.chromium.org/chromium-os"
-
-LICENSE="BSD-Google"
-SLOT="0"
-
-SRC_URI="gs://chromeos-localmirror/distfiles/libgrammar-${PV}.tar.gz"
-KEYWORDS="*"
-
-IUSE="ondevice_grammar"
-
-S="${WORKDIR}"
-
-src_install() {
-	# Always install the header and proto files.
-	insinto /usr/include/chromeos/libgrammar/
-	doins grammar_interface.h
-	insinto /usr/include/chromeos/libgrammar/proto/
-	doins grammar_interface.proto
-
-	if use ondevice_grammar; then
-		insinto /opt/google/chrome/ml_models/grammar/
-		# Install the shared library.
-		insopts -m0755
-		newins "libgrammar-${ARCH}.so" "libgrammar.so"
-		insopts -m0644
-		# Install the model files.
-		doins translation_model.pb model.pb
-		doins decoder_init_0.tflite decoder_step_0.tflite encoder_0.tflite
-		doins wpm_model.model wpm_model.vocab
-	fi
-}
diff --git a/dev-libs/libgrammar/libgrammar-0.9.0-r1.ebuild b/dev-libs/libgrammar/libgrammar-0.9.0-r1.ebuild
new file mode 120000
index 0000000..d8ba428
--- /dev/null
+++ b/dev-libs/libgrammar/libgrammar-0.9.0-r1.ebuild
@@ -0,0 +1 @@
+libgrammar-0.9.0.ebuild
\ No newline at end of file
diff --git a/dev-libs/libgrammar/libgrammar-0.9.0.ebuild b/dev-libs/libgrammar/libgrammar-0.9.0.ebuild
new file mode 100644
index 0000000..7b70907
--- /dev/null
+++ b/dev-libs/libgrammar/libgrammar-0.9.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Google grammar check library for Chrome OS"
+HOMEPAGE="https://www.chromium.org/chromium-os"
+
+LICENSE="BSD-Google"
+SLOT="0"
+
+DIST_URL="gs://chromeos-localmirror/distfiles"
+SRC_URI="
+	amd64? ( ${DIST_URL}/libgrammar-amd64-${PV}.tar.gz )
+	arm? ( ${DIST_URL}/libgrammar-arm-${PV}.tar.gz )
+	arm64? ( ${DIST_URL}/libgrammar-arm64-${PV}.tar.gz )
+	"
+
+KEYWORDS="*"
+
+IUSE="ondevice_grammar"
+
+S="${WORKDIR}"
+
+LIB_PATH="libgrammar-${ARCH}"
+MODEL_PATH="libgrammar-${ARCH}/sentence_explorer_cpu"
+
+src_install() {
+	# Always install the header and proto files.
+	insinto /usr/include/chromeos/libgrammar/
+	doins "${LIB_PATH}/grammar_interface.h"
+	insinto /usr/include/chromeos/libgrammar/proto/
+	doins "${LIB_PATH}/grammar_interface.proto"
+
+	if use ondevice_grammar; then
+		insinto /opt/google/chrome/ml_models/grammar/
+		# Install the shared library.
+		insopts -m0755
+		doins "${LIB_PATH}/libgrammar.so"
+		insopts -m0644
+		# Install the model files.
+		doins "${MODEL_PATH}/translation_model.pb"
+		doins "${MODEL_PATH}/model.pb"
+		doins "${MODEL_PATH}/decoder_init_0.tflite"
+		doins "${MODEL_PATH}/decoder_step_0.tflite"
+		doins "${MODEL_PATH}/encoder_0.tflite"
+		doins "${MODEL_PATH}/wpm.model"
+		doins "${MODEL_PATH}/wpm.vocab"
+	fi
+}
diff --git a/dev-libs/libhandwriting/README.md b/dev-libs/libhandwriting/README.md
new file mode 100644
index 0000000..acaa533
--- /dev/null
+++ b/dev-libs/libhandwriting/README.md
@@ -0,0 +1,5 @@
+## Uprev Instructions
+
+For the uprev instructions, see [go/prebuilt-libs-uprev]
+
+[go/prebuilt-libs-uprev]: http://go/prebuilt-libs-uprev
diff --git a/dev-libs/libp11/libp11-0.2.8-r5.ebuild b/dev-libs/libp11/libp11-0.2.8-r5.ebuild
deleted file mode 100644
index c801c24..0000000
--- a/dev-libs/libp11/libp11-0.2.8-r5.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/libp11/libp11-0.2.8-r1.ebuild,v 1.1 2012/01/02 19:40:31 vapier Exp $
-
-EAPI="4"
-inherit eutils autotools
-
-DESCRIPTION="A library implementing a layer on top of PKCS#11 API to make using PKCS#11 implementations easier."
-HOMEPAGE="http://www.opensc-project.org/libp11/"
-
-if [[ "${PV}" = "9999" ]]; then
-	inherit autotools subversion
-	ESVN_REPO_URI="http://www.opensc-project.org/svn/${PN}/trunk"
-else
-	SRC_URI="http://www.opensc-project.org/files/${PN}/${P}.tar.gz"
-fi
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="*"
-IUSE="doc"
-
-RDEPEND="dev-libs/openssl"
-DEPEND="${RDEPEND}
-	dev-util/pkgconfig
-	doc? ( app-doc/doxygen )"
-
-if [[ "${PV}" = "9999" ]]; then
-	DEPEND="${DEPEND}
-		app-text/docbook-xsl-stylesheets
-		dev-libs/libxslt"
-fi
-
-src_prepare() {
-	epatch "${FILESDIR}"/${P}-no-ltdl.patch
-	epatch "${FILESDIR}"/${P}-variable-buffer-size.patch
-	epatch "${FILESDIR}"/${P}-Add-OpenSSL-1.1-support.patch
-	eautoreconf
-}
-
-src_configure() {
-	econf \
-		--docdir="/usr/share/doc/${PF}" \
-		--htmldir="/usr/share/doc/${PF}/html" \
-		--enable-shared --disable-static \
-		--enable-doc \
-		$(use_enable doc api-doc)
-}
-
-src_install() {
-	emake install DESTDIR="${D}" || die "emake install failed"
-	find "${D}" -name '*.la' -delete
-}
diff --git a/dev-libs/libp11/libp11-0.2.8-r6.ebuild b/dev-libs/libp11/libp11-0.2.8-r6.ebuild
new file mode 100644
index 0000000..670d86d
--- /dev/null
+++ b/dev-libs/libp11/libp11-0.2.8-r6.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libp11/libp11-0.2.8-r1.ebuild,v 1.1 2012/01/02 19:40:31 vapier Exp $
+
+EAPI="4"
+inherit eutils autotools
+
+DESCRIPTION="A library implementing a layer on top of PKCS#11 API to make using PKCS#11 implementations easier."
+HOMEPAGE="http://www.opensc-project.org/libp11/"
+
+if [[ "${PV}" = "9999" ]]; then
+	inherit autotools subversion
+	ESVN_REPO_URI="http://www.opensc-project.org/svn/${PN}/trunk"
+else
+	SRC_URI="http://www.opensc-project.org/files/${PN}/${P}.tar.gz"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="*"
+IUSE="doc"
+
+RDEPEND="dev-libs/openssl"
+DEPEND="${RDEPEND}
+	doc? ( app-doc/doxygen )"
+
+if [[ "${PV}" = "9999" ]]; then
+	DEPEND="${DEPEND}
+		app-text/docbook-xsl-stylesheets
+		dev-libs/libxslt"
+fi
+
+src_prepare() {
+	epatch "${FILESDIR}"/${P}-no-ltdl.patch
+	epatch "${FILESDIR}"/${P}-variable-buffer-size.patch
+	epatch "${FILESDIR}"/${P}-Add-OpenSSL-1.1-support.patch
+	eautoreconf
+}
+
+src_configure() {
+	econf \
+		--docdir="/usr/share/doc/${PF}" \
+		--htmldir="/usr/share/doc/${PF}/html" \
+		--enable-shared --disable-static \
+		--enable-doc \
+		$(use_enable doc api-doc)
+}
+
+src_install() {
+	emake install DESTDIR="${D}" || die "emake install failed"
+	find "${D}" -name '*.la' -delete
+}
diff --git a/dev-libs/libtextclassifier/Manifest b/dev-libs/libtextclassifier/Manifest
index f306a47..c4f88ca 100644
--- a/dev-libs/libtextclassifier/Manifest
+++ b/dev-libs/libtextclassifier/Manifest
@@ -1,3 +1,2 @@
 DIST mlservice-model-language_identification-20190924.smfb 372592 BLAKE2B 4cb5070c5e0bdef7c5a5f34c6e41f1e39173542e1c9e7cc2ec68631f1bdfb239229a07b95fc8e3cc68ab0d85b0aa5430ac8ce525a93e1b092862b51930d84629 SHA512 665f59a984910a6318b22873faec2e065c906bb514a8f0f447d18663975c8840b08d91e3ad09ef447c94d582ba302729772f39f252de08901ef1280c66d02db2
-DIST mlservice-model-text_classifier_en-v711.fb 568384 BLAKE2B 7771cfe3b5b3dc7ad3269bff606877765d79e111d55eb124372a39260c9ba46507c457e70fa6250067e0869225ca48ddeda13914998cb835bd061b29d8d0847a SHA512 83414a5fa057c72769c89094147a81c4b383d8f73e3c1f9f6edbe4c45fed1a5c60a9fb338986f335ba863fef05eb8197c7f5dd96ccb2c1a2b336e1c206028f2c
-DIST mlservice-model-text_classifier_en-v711_vocab-v1.fb 887072 BLAKE2B ab5c9277337e69b00b73f77da68b2b1437541bafc2e0aba9140b16581ae9febccf54203062d77b539f863b9d8614feb49c3e0e29671da9b00857199069626cd3 SHA512 5f94cd52219775e91706401fa976f297e6e35a75ff031be27bc0b00fd35fa87dec55f36dce75abea8736f95c4294167d7b2eaf0a49896bc2ce34a80de3b165a3
+DIST mlservice-model-text_classifier_en-v714_vocab-with_beginner_words-20220318.fb 1459088 BLAKE2B 412b3cf2002924ba7edef13ca9a06e600e06861e303a4cf807c849a6821a5dd343ab55b49cf1526c1d992ead48c315092c16096ee8629ccdaccb1bf27fe3bcd7 SHA512 8d97cff5c3fc2ef9182f087c66177199cfca881d5f0f0ebb913a6ca8c0021dbc6c925ce6e77247a910bdf399e346f8c9ca3e962f2b21a9318a9e851bbf46c26f
diff --git a/dev-libs/libtextclassifier/files/revision_bump b/dev-libs/libtextclassifier/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/dev-libs/libtextclassifier/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/dev-libs/libtextclassifier/libtextclassifier-0.0.1-r174.ebuild b/dev-libs/libtextclassifier/libtextclassifier-0.0.1-r174.ebuild
deleted file mode 100644
index 191e3f3..0000000
--- a/dev-libs/libtextclassifier/libtextclassifier-0.0.1-r174.ebuild
+++ /dev/null
@@ -1,188 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("f35f2919309cf11b0ddd9deb24a6b145d40d9254" "01652c17e116baa8ebd7083e8cbc3dede513ac9e")
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4fa2be0611424952390eb570106ed5944e294b46")
-CROS_WORKON_LOCALNAME=("../platform2" "libtextclassifier")
-CROS_WORKON_PROJECT=("chromiumos/platform2" "chromiumos/third_party/libtextclassifier")
-CROS_WORKON_EGIT_BRANCH=("main" "master")
-CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/libtextclassifier")
-CROS_WORKON_SUBTREE=("common-mk .gn" "")
-
-PLATFORM_SUBDIR="libtextclassifier"
-
-inherit cros-workon platform
-
-DESCRIPTION="Library for classifying text"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/libtextclassifier/"
-
-MODEL_URI=(
-	"gs://chromeos-localmirror/distfiles/mlservice-model-language_identification-20190924.smfb"
-	"gs://chromeos-localmirror/distfiles/mlservice-model-text_classifier_en-v711_vocab-v1.fb"
-)
-
-SRC_URI="${MODEL_URI[*]}"
-
-LICENSE="Apache-2.0"
-SLOT="0/${PVR}"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="
-	chromeos-base/chrome-icu:=
-	dev-libs/flatbuffers:=
-	sci-libs/tensorflow:=
-	sys-libs/zlib:=
-"
-
-# Because we are moving model files from ml to here, to avoid collisions we
-# need to block the older version of ml.
-RDEPEND="
-	${RDEPEND}
-	!<chromeos-base/ml-0.0.1-r369
-"
-
-DEPEND="
-	${RDEPEND}
-	dev-libs/libutf:=
-	dev-libs/marisa-aosp:=
-"
-
-src_install() {
-	# Installs the model files.
-	insinto /opt/google/chrome/ml_models
-	local model_files=( "${MODEL_URI[@]##*/}" )
-	local distfile_array=( "${model_files[@]/#/${DISTDIR}/}" )
-	doins "${distfile_array[@]}"
-
-	# Installs the library.
-	dolib.a "${OUT}/libtextclassifier.a"
-
-	# Installs the header files to /usr/include/libtextclassifier/.
-	local header_files=(
-		"annotator/annotator.h"
-		"annotator/cached-features.h"
-		"annotator/contact/contact-engine-dummy.h"
-		"annotator/contact/contact-engine.h"
-		"annotator/datetime/datetime-grounder.h"
-		"annotator/datetime/extractor.h"
-		"annotator/datetime/grammar-parser.h"
-		"annotator/datetime/parser.h"
-		"annotator/datetime/regex-parser.h"
-		"annotator/duration/duration.h"
-		"annotator/entity-data_generated.h"
-		"annotator/experimental/experimental-dummy.h"
-		"annotator/experimental/experimental.h"
-		"annotator/experimental/experimental_generated.h"
-		"annotator/feature-processor.h"
-		"annotator/grammar/grammar-annotator.h"
-		"annotator/installed_app/installed-app-engine-dummy.h"
-		"annotator/installed_app/installed-app-engine.h"
-		"annotator/knowledge/knowledge-engine-dummy.h"
-		"annotator/knowledge/knowledge-engine-types.h"
-		"annotator/knowledge/knowledge-engine.h"
-		"annotator/model-executor.h"
-		"annotator/model_generated.h"
-		"annotator/number/number.h"
-		"annotator/person_name/person-name-engine-dummy.h"
-		"annotator/person_name/person-name-engine.h"
-		"annotator/person_name/person_name_model_generated.h"
-		"annotator/pod_ner/pod-ner.h"
-		"annotator/pod_ner/pod-ner-dummy.h"
-		"annotator/strip-unpaired-brackets.h"
-		"annotator/translate/translate.h"
-		"annotator/types.h"
-		"annotator/vocab/vocab-annotator.h"
-		"annotator/vocab/vocab-annotator-dummy.h"
-		"annotator/vocab/vocab-annotator-impl.h"
-		"annotator/vocab/vocab-level-table.h"
-		"annotator/zlib-utils.h"
-		"lang_id/common/embedding-network-params.h"
-		"lang_id/common/fel/task-context.h"
-		"lang_id/common/lite_base/attributes.h"
-		"lang_id/common/lite_base/casts.h"
-		"lang_id/common/lite_base/compact-logging-levels.h"
-		"lang_id/common/lite_base/compact-logging.h"
-		"lang_id/common/lite_base/float16.h"
-		"lang_id/common/lite_base/integral-types.h"
-		"lang_id/common/lite_base/logging.h"
-		"lang_id/common/lite_base/macros.h"
-		"lang_id/common/lite_strings/stringpiece.h"
-		"lang_id/lang-id-wrapper.h"
-		"lang_id/lang-id.h"
-		"lang_id/model-provider.h"
-		"utils/base/arena.h"
-		"utils/base/config.h"
-		"utils/base/integral_types.h"
-		"utils/base/logging.h"
-		"utils/base/logging_levels.h"
-		"utils/base/macros.h"
-		"utils/base/port.h"
-		"utils/base/status.h"
-		"utils/base/statusor.h"
-		"utils/calendar/calendar-common.h"
-		"utils/calendar/calendar-icu.h"
-		"utils/calendar/calendar.h"
-		"utils/codepoint-range.h"
-		"utils/codepoint-range_generated.h"
-		"utils/container/bit-vector_generated.h"
-		"utils/container/bit-vector.h"
-		"utils/container/sorted-strings-table.h"
-		"utils/container/string-set.h"
-		"utils/flatbuffers/flatbuffers.h"
-		"utils/flatbuffers/flatbuffers_generated.h"
-		"utils/flatbuffers/mutable.h"
-		"utils/flatbuffers/reflection.h"
-		"utils/grammar/analyzer.h"
-		"utils/grammar/evaluated-derivation.h"
-		"utils/grammar/parsing/chart.h"
-		"utils/grammar/parsing/derivation.h"
-		"utils/grammar/parsing/lexer.h"
-		"utils/grammar/parsing/matcher.h"
-		"utils/grammar/parsing/parser.h"
-		"utils/grammar/parsing/parse-tree.h"
-		"utils/grammar/semantics/composer.h"
-		"utils/grammar/semantics/eval-context.h"
-		"utils/grammar/semantics/evaluator.h"
-		"utils/grammar/semantics/expression_generated.h"
-		"utils/grammar/semantics/value.h"
-		"utils/grammar/text-context.h"
-		"utils/grammar/rules-utils.h"
-		"utils/grammar/rules_generated.h"
-		"utils/grammar/types.h"
-		"utils/hash/farmhash.h"
-		"utils/i18n/language-tag_generated.h"
-		"utils/i18n/locale.h"
-		"utils/i18n/locale-list.h"
-		"utils/intents/intent-config_generated.h"
-		"utils/memory/mmap.h"
-		"utils/normalization_generated.h"
-		"utils/optional.h"
-		"utils/resources_generated.h"
-		"utils/strings/split.h"
-		"utils/strings/stringpiece.h"
-		"utils/tensor-view.h"
-		"utils/tflite-model-executor.h"
-		"utils/token-feature-extractor.h"
-		"utils/tokenizer.h"
-		"utils/tokenizer_generated.h"
-		"utils/utf8/unicodetext.h"
-		"utils/utf8/unilib-common.h"
-		"utils/utf8/unilib-icu.h"
-		"utils/utf8/unilib.h"
-		"utils/variant.h"
-		"utils/zlib/buffer_generated.h"
-		"utils/zlib/tclib_zlib.h"
-	)
-	local f
-	for f in "${header_files[@]}"; do
-		insinto "/usr/include/libtextclassifier/${f%/*}"
-		if [[ "${f}" == *_generated.h ]]; then
-			doins "${OUT}/gen/libtextclassifier/${f}"
-		else
-			doins "${S}/${f}"
-		fi
-	done
-}
diff --git a/dev-libs/libtextclassifier/libtextclassifier-0.0.1-r232.ebuild b/dev-libs/libtextclassifier/libtextclassifier-0.0.1-r232.ebuild
new file mode 100644
index 0000000..0d03d57
--- /dev/null
+++ b/dev-libs/libtextclassifier/libtextclassifier-0.0.1-r232.ebuild
@@ -0,0 +1,188 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("dbb1136242ba822d539eaf11493f3b68815adb7f" "01652c17e116baa8ebd7083e8cbc3dede513ac9e")
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4fa2be0611424952390eb570106ed5944e294b46")
+CROS_WORKON_LOCALNAME=("../platform2" "libtextclassifier")
+CROS_WORKON_PROJECT=("chromiumos/platform2" "chromiumos/third_party/libtextclassifier")
+CROS_WORKON_EGIT_BRANCH=("main" "master")
+CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/libtextclassifier")
+CROS_WORKON_SUBTREE=("common-mk .gn" "")
+
+PLATFORM_SUBDIR="libtextclassifier"
+
+inherit cros-workon platform
+
+DESCRIPTION="Library for classifying text"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/libtextclassifier/"
+
+MODEL_URI=(
+	"gs://chromeos-localmirror/distfiles/mlservice-model-language_identification-20190924.smfb"
+	"gs://chromeos-localmirror/distfiles/mlservice-model-text_classifier_en-v714_vocab-with_beginner_words-20220318.fb"
+)
+
+SRC_URI="${MODEL_URI[*]}"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PVR}"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="
+	chromeos-base/chrome-icu:=
+	dev-libs/flatbuffers:=
+	sci-libs/tensorflow:=
+	sys-libs/zlib:=
+"
+
+# Because we are moving model files from ml to here, to avoid collisions we
+# need to block the older version of ml.
+RDEPEND="
+	${RDEPEND}
+	!<chromeos-base/ml-0.0.1-r369
+"
+
+DEPEND="
+	${RDEPEND}
+	dev-libs/libutf:=
+	dev-libs/marisa-aosp:=
+"
+
+src_install() {
+	# Installs the model files.
+	insinto /opt/google/chrome/ml_models
+	local model_files=( "${MODEL_URI[@]##*/}" )
+	local distfile_array=( "${model_files[@]/#/${DISTDIR}/}" )
+	doins "${distfile_array[@]}"
+
+	# Installs the library.
+	dolib.a "${OUT}/libtextclassifier.a"
+
+	# Installs the header files to /usr/include/libtextclassifier/.
+	local header_files=(
+		"annotator/annotator.h"
+		"annotator/cached-features.h"
+		"annotator/contact/contact-engine-dummy.h"
+		"annotator/contact/contact-engine.h"
+		"annotator/datetime/datetime-grounder.h"
+		"annotator/datetime/extractor.h"
+		"annotator/datetime/grammar-parser.h"
+		"annotator/datetime/parser.h"
+		"annotator/datetime/regex-parser.h"
+		"annotator/duration/duration.h"
+		"annotator/entity-data_generated.h"
+		"annotator/experimental/experimental-dummy.h"
+		"annotator/experimental/experimental.h"
+		"annotator/experimental/experimental_generated.h"
+		"annotator/feature-processor.h"
+		"annotator/grammar/grammar-annotator.h"
+		"annotator/installed_app/installed-app-engine-dummy.h"
+		"annotator/installed_app/installed-app-engine.h"
+		"annotator/knowledge/knowledge-engine-dummy.h"
+		"annotator/knowledge/knowledge-engine-types.h"
+		"annotator/knowledge/knowledge-engine.h"
+		"annotator/model-executor.h"
+		"annotator/model_generated.h"
+		"annotator/number/number.h"
+		"annotator/person_name/person-name-engine-dummy.h"
+		"annotator/person_name/person-name-engine.h"
+		"annotator/person_name/person_name_model_generated.h"
+		"annotator/pod_ner/pod-ner.h"
+		"annotator/pod_ner/pod-ner-dummy.h"
+		"annotator/strip-unpaired-brackets.h"
+		"annotator/translate/translate.h"
+		"annotator/types.h"
+		"annotator/vocab/vocab-annotator.h"
+		"annotator/vocab/vocab-annotator-dummy.h"
+		"annotator/vocab/vocab-annotator-impl.h"
+		"annotator/vocab/vocab-level-table.h"
+		"annotator/zlib-utils.h"
+		"lang_id/common/embedding-network-params.h"
+		"lang_id/common/fel/task-context.h"
+		"lang_id/common/lite_base/attributes.h"
+		"lang_id/common/lite_base/casts.h"
+		"lang_id/common/lite_base/compact-logging-levels.h"
+		"lang_id/common/lite_base/compact-logging.h"
+		"lang_id/common/lite_base/float16.h"
+		"lang_id/common/lite_base/integral-types.h"
+		"lang_id/common/lite_base/logging.h"
+		"lang_id/common/lite_base/macros.h"
+		"lang_id/common/lite_strings/stringpiece.h"
+		"lang_id/lang-id-wrapper.h"
+		"lang_id/lang-id.h"
+		"lang_id/model-provider.h"
+		"utils/base/arena.h"
+		"utils/base/config.h"
+		"utils/base/integral_types.h"
+		"utils/base/logging.h"
+		"utils/base/logging_levels.h"
+		"utils/base/macros.h"
+		"utils/base/port.h"
+		"utils/base/status.h"
+		"utils/base/statusor.h"
+		"utils/calendar/calendar-common.h"
+		"utils/calendar/calendar-icu.h"
+		"utils/calendar/calendar.h"
+		"utils/codepoint-range.h"
+		"utils/codepoint-range_generated.h"
+		"utils/container/bit-vector_generated.h"
+		"utils/container/bit-vector.h"
+		"utils/container/sorted-strings-table.h"
+		"utils/container/string-set.h"
+		"utils/flatbuffers/flatbuffers.h"
+		"utils/flatbuffers/flatbuffers_generated.h"
+		"utils/flatbuffers/mutable.h"
+		"utils/flatbuffers/reflection.h"
+		"utils/grammar/analyzer.h"
+		"utils/grammar/evaluated-derivation.h"
+		"utils/grammar/parsing/chart.h"
+		"utils/grammar/parsing/derivation.h"
+		"utils/grammar/parsing/lexer.h"
+		"utils/grammar/parsing/matcher.h"
+		"utils/grammar/parsing/parser.h"
+		"utils/grammar/parsing/parse-tree.h"
+		"utils/grammar/semantics/composer.h"
+		"utils/grammar/semantics/eval-context.h"
+		"utils/grammar/semantics/evaluator.h"
+		"utils/grammar/semantics/expression_generated.h"
+		"utils/grammar/semantics/value.h"
+		"utils/grammar/text-context.h"
+		"utils/grammar/rules-utils.h"
+		"utils/grammar/rules_generated.h"
+		"utils/grammar/types.h"
+		"utils/hash/farmhash.h"
+		"utils/i18n/language-tag_generated.h"
+		"utils/i18n/locale.h"
+		"utils/i18n/locale-list.h"
+		"utils/intents/intent-config_generated.h"
+		"utils/memory/mmap.h"
+		"utils/normalization_generated.h"
+		"utils/optional.h"
+		"utils/resources_generated.h"
+		"utils/strings/split.h"
+		"utils/strings/stringpiece.h"
+		"utils/tensor-view.h"
+		"utils/tflite-model-executor.h"
+		"utils/token-feature-extractor.h"
+		"utils/tokenizer.h"
+		"utils/tokenizer_generated.h"
+		"utils/utf8/unicodetext.h"
+		"utils/utf8/unilib-common.h"
+		"utils/utf8/unilib-icu.h"
+		"utils/utf8/unilib.h"
+		"utils/variant.h"
+		"utils/zlib/buffer_generated.h"
+		"utils/zlib/tclib_zlib.h"
+	)
+	local f
+	for f in "${header_files[@]}"; do
+		insinto "/usr/include/libtextclassifier/${f%/*}"
+		if [[ "${f}" == *_generated.h ]]; then
+			doins "${OUT}/gen/libtextclassifier/${f}"
+		else
+			doins "${S}/${f}"
+		fi
+	done
+}
diff --git a/dev-libs/libtextclassifier/libtextclassifier-9999.ebuild b/dev-libs/libtextclassifier/libtextclassifier-9999.ebuild
index 7b64929..d6f02cb 100644
--- a/dev-libs/libtextclassifier/libtextclassifier-9999.ebuild
+++ b/dev-libs/libtextclassifier/libtextclassifier-9999.ebuild
@@ -18,7 +18,7 @@
 
 MODEL_URI=(
 	"gs://chromeos-localmirror/distfiles/mlservice-model-language_identification-20190924.smfb"
-	"gs://chromeos-localmirror/distfiles/mlservice-model-text_classifier_en-v711_vocab-v1.fb"
+	"gs://chromeos-localmirror/distfiles/mlservice-model-text_classifier_en-v714_vocab-with_beginner_words-20220318.fb"
 )
 
 SRC_URI="${MODEL_URI[*]}"
diff --git a/dev-libs/libtraceevent/Manifest b/dev-libs/libtraceevent/Manifest
new file mode 100644
index 0000000..c66136c
--- /dev/null
+++ b/dev-libs/libtraceevent/Manifest
@@ -0,0 +1 @@
+DIST libtraceevent-1.6.2.tar.gz 135857 BLAKE2B c5384d9bb8dc5977cfb412c22d9692ed757f94dcd01b6a93e8368cd3368bf2731c0c4eff764fd81b4627925e0fd370acd509710b538842708836b5d0ce777003 SHA512 8e951f66c339de2bc78c7c7f347f9283553ae62adc9e2bb96de1ed0aaadf91d59b2e93785c5030b0dd6d946488dc5e688d504eba54d674454c808c320127cfbf
diff --git a/dev-libs/libtraceevent/OWNERS b/dev-libs/libtraceevent/OWNERS
new file mode 100644
index 0000000..3893ff4
--- /dev/null
+++ b/dev-libs/libtraceevent/OWNERS
@@ -0,0 +1 @@
+include /dev-util/trace-cmd/OWNERS
diff --git a/dev-libs/libtraceevent/libtraceevent-1.6.2-r2.ebuild b/dev-libs/libtraceevent/libtraceevent-1.6.2-r2.ebuild
new file mode 120000
index 0000000..aaaeceb
--- /dev/null
+++ b/dev-libs/libtraceevent/libtraceevent-1.6.2-r2.ebuild
@@ -0,0 +1 @@
+libtraceevent-1.6.2.ebuild
\ No newline at end of file
diff --git a/dev-libs/libtraceevent/libtraceevent-1.6.2.ebuild b/dev-libs/libtraceevent/libtraceevent-1.6.2.ebuild
new file mode 100644
index 0000000..5168c12
--- /dev/null
+++ b/dev-libs/libtraceevent/libtraceevent-1.6.2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Library to parse raw Linux kernel trace event formats"
+HOMEPAGE="https://www.trace-cmd.org"
+SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/snapshot/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+MAJOR_VERSION=$(ver_cut 1)
+SLOT="0/${MAJOR_VERSION}"
+KEYWORDS="*"
+IUSE="test"
+
+# Many files provided by this package used to be part of trace-cmd prior to version 3.0.0
+RDEPEND="!<dev-util/trace-cmd-3.0.0"
+DEPEND="${RDEPEND}
+	test? ( dev-util/cunit )
+"
+
+src_configure() {
+	export pkgconfig_dir=/usr/$(get_libdir)/pkgconfig
+	export prefix=/usr
+}
diff --git a/dev-libs/libtracefs/Manifest b/dev-libs/libtracefs/Manifest
new file mode 100644
index 0000000..94dd4e6
--- /dev/null
+++ b/dev-libs/libtracefs/Manifest
@@ -0,0 +1 @@
+DIST libtracefs-1.4.2.tar.gz 178382 BLAKE2B a956423370077613417812ad18da284521e8798701d558f4e419af6c43bd8a06c489525bbab26e6bc5d5d5e8fd0e6a7322d34f976a4ea560670eb594818d07fc SHA512 4a66c3cf8050de5acc4c63996cbcfa2c014e26ad6011eb89b0cff47ffbd6343637009354edf6bb173b9fd08103012774376c33fd6f642741f7990f2d6de3ea0c
diff --git a/dev-libs/libtracefs/OWNERS b/dev-libs/libtracefs/OWNERS
new file mode 100644
index 0000000..3893ff4
--- /dev/null
+++ b/dev-libs/libtracefs/OWNERS
@@ -0,0 +1 @@
+include /dev-util/trace-cmd/OWNERS
diff --git a/dev-libs/libtracefs/libtracefs-1.4.2-r2.ebuild b/dev-libs/libtracefs/libtracefs-1.4.2-r2.ebuild
new file mode 120000
index 0000000..4af7f0e
--- /dev/null
+++ b/dev-libs/libtracefs/libtracefs-1.4.2-r2.ebuild
@@ -0,0 +1 @@
+libtracefs-1.4.2.ebuild
\ No newline at end of file
diff --git a/dev-libs/libtracefs/libtracefs-1.4.2.ebuild b/dev-libs/libtracefs/libtracefs-1.4.2.ebuild
new file mode 100644
index 0000000..625880d
--- /dev/null
+++ b/dev-libs/libtracefs/libtracefs-1.4.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Library to access the Linux tracing tracefs file system"
+HOMEPAGE="https://www.trace-cmd.org"
+SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+MAJOR_VERSION=$(ver_cut 1)
+SLOT="0/${MAJOR_VERSION}"
+KEYWORDS="*"
+IUSE="test"
+
+# Many files provided by this package used to be part of trace-cmd prior to version 3.0.0
+RDEPEND="!<dev-util/trace-cmd-3.0.0"
+DEPEND="${RDEPEND}
+	dev-libs/libtraceevent:=
+	test? ( dev-util/cunit )
+"
+
+src_configure() {
+	export pkgconfig_dir=/usr/$(get_libdir)/pkgconfig
+	export prefix=/usr
+}
diff --git a/dev-libs/libusbhp/Manifest b/dev-libs/libusbhp/Manifest
deleted file mode 100644
index 96a3d44..0000000
--- a/dev-libs/libusbhp/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libusbhp-1.0.2.tar.gz 353180 SHA256 bfadea5a8ee64a6bf795d0d7154f178d1c7ea75c372e67058d25697a9c49f107 SHA512 0d2f6465586a2c30650bfb545211f69f0dfa9a6d71aa8321dc046e7c54aee4a225e3df6e66573d80126aa39e310ffef4e8fbf47cfa3241ec35149eff86a67b29 WHIRLPOOL 11b2a1a3b4e4237cdabbc767e909ec82a7bad68d65bd382cff3216b93b75ad8d88ad4f18bae052d26e24333809c63feda23c989d040d561cb774bdc8519618b9
diff --git a/dev-libs/libusbhp/libusbhp-1.0.2.ebuild b/dev-libs/libusbhp/libusbhp-1.0.2.ebuild
deleted file mode 100644
index a8d4086..0000000
--- a/dev-libs/libusbhp/libusbhp-1.0.2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils
-
-DESCRIPTION="Usb Hotplug Library"
-HOMEPAGE="http://www.aasimon.org/libusbhp/"
-SRC_URI="http://www.aasimon.org/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="*"
-IUSE="static-libs"
-
-RDEPEND="
-	virtual/udev
-"
-
-DEPEND="
-	${RDEPEND}
-	dev-util/pkgconfig
-"
-
-src_configure() {
-	econf \
-		$(use_enable static-libs static) \
-		--without-debug
-}
-
-src_install() {
-	default
-	use static-libs || find "${ED}" -name '*.la' -delete
-}
diff --git a/dev-libs/libutf/files/revision_bump b/dev-libs/libutf/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/dev-libs/libutf/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/dev-libs/libutf/libutf-0.0.1-r126.ebuild b/dev-libs/libutf/libutf-0.0.1-r126.ebuild
deleted file mode 100644
index afcb100..0000000
--- a/dev-libs/libutf/libutf-0.0.1-r126.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("f35f2919309cf11b0ddd9deb24a6b145d40d9254" "c17bb435be940edf1aff81469215bb6a071f3c38")
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "fc022abae9d52285526cb0dda697e2bea18696ca")
-CROS_WORKON_LOCALNAME=("../platform2" "../aosp/external/libutf")
-CROS_WORKON_PROJECT=("chromiumos/platform2" "aosp/platform/external/libutf")
-CROS_WORKON_EGIT_BRANCH=("main" "master")
-CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/libutf")
-CROS_WORKON_SUBTREE=("common-mk .gn" "")
-
-PLATFORM_SUBDIR="libutf"
-
-inherit cros-workon platform
-
-DESCRIPTION="A UTF-8 library based on the AOSP version of libutf."
-HOMEPAGE="https://chromium.googlesource.com/aosp/platform/external/libutf/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-DEPEND=""
-
-src_install() {
-	insinto "/usr/include/android/"
-	doins "${S}/utf.h"
-
-	dolib.a "${OUT}/libutf.a"
-}
diff --git a/dev-libs/libutf/libutf-0.0.1-r183.ebuild b/dev-libs/libutf/libutf-0.0.1-r183.ebuild
new file mode 100644
index 0000000..0d592da
--- /dev/null
+++ b/dev-libs/libutf/libutf-0.0.1-r183.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("dbb1136242ba822d539eaf11493f3b68815adb7f" "c17bb435be940edf1aff81469215bb6a071f3c38")
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "fc022abae9d52285526cb0dda697e2bea18696ca")
+CROS_WORKON_LOCALNAME=("../platform2" "../aosp/external/libutf")
+CROS_WORKON_PROJECT=("chromiumos/platform2" "aosp/platform/external/libutf")
+CROS_WORKON_EGIT_BRANCH=("main" "master")
+CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/libutf")
+CROS_WORKON_SUBTREE=("common-mk .gn" "")
+
+PLATFORM_SUBDIR="libutf"
+
+inherit cros-workon platform
+
+DESCRIPTION="A UTF-8 library based on the AOSP version of libutf."
+HOMEPAGE="https://chromium.googlesource.com/aosp/platform/external/libutf/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND=""
+DEPEND=""
+
+src_install() {
+	insinto "/usr/include/android/"
+	doins "${S}/utf.h"
+
+	dolib.a "${OUT}/libutf.a"
+}
diff --git a/dev-libs/marisa-aosp/files/revision_bump b/dev-libs/marisa-aosp/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/dev-libs/marisa-aosp/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/dev-libs/metadata.xml b/dev-libs/metadata.xml
deleted file mode 100644
index e85537c..0000000
--- a/dev-libs/metadata.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The dev-libs category contains various miscellaneous programming
-		libraries.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie dev-libs enthält verschiedenste Programmierbibliotheken.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría dev-libs contiene varias librerías mixtas
-		para programación.
-	</longdescription>
-	<longdescription lang="ja">
-		dev-libsカテゴリーには多種多様なプログラミング・ライブラリが含まれます。
-	</longdescription>
-	<longdescription lang="nl">
-		De dev-libs categorie bevat verschillende bibliotheken die het
-		programmeren ondersteunen.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm dev-libs chứa các thư viện lập trình khác nhau.
-	</longdescription>
-	<longdescription lang="sk">
-		Kategória dev-libs obsahuje rôzne programovacie knižnice.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria dev-libs contiene varie librerie per la programmazione.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria dev-libs contém várias bibliotecas mistas para
-		programação.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria dev-libs zawiera różne dodatkowe biblioteki związane z programowaniem.
-	</longdescription>
-</catmetadata>
-
diff --git a/dev-libs/ml-core/OWNERS b/dev-libs/ml-core/OWNERS
new file mode 100644
index 0000000..88ded6c
--- /dev/null
+++ b/dev-libs/ml-core/OWNERS
@@ -0,0 +1,6 @@
+jmpollock@google.com
+skyostil@google.com
+mpolney@google.com
+shafron@google.com
+jackshen@google.com
+jakebarnes@google.com
diff --git a/dev-libs/ml-core/ml-core-0.0.1-r28.ebuild b/dev-libs/ml-core/ml-core-0.0.1-r28.ebuild
new file mode 100644
index 0000000..8ae8f55
--- /dev/null
+++ b/dev-libs/ml-core/ml-core-0.0.1-r28.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "4aad1773476a4fd5d6d51a5332a66ad94dd3aa13" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk ml_core .gn"
+
+DESCRIPTION="Chrome OS ML Core Feature Library"
+
+PLATFORM_SUBDIR="ml_core"
+
+inherit cros-workon platform
+
+RDEPEND="
+"
+DEPEND="${RDEPEND}
+"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+src_install() {
+	platform_src_install
+	dolib.so "${OUT}"/lib/libcros_ml_core.so
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/dev-libs/ml-core/ml-core-9999.ebuild b/dev-libs/ml-core/ml-core-9999.ebuild
new file mode 100644
index 0000000..0a05a04
--- /dev/null
+++ b/dev-libs/ml-core/ml-core-9999.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk ml_core .gn"
+
+DESCRIPTION="Chrome OS ML Core Feature Library"
+
+PLATFORM_SUBDIR="ml_core"
+
+inherit cros-workon platform
+
+RDEPEND="
+"
+DEPEND="${RDEPEND}
+"
+
+LICENSE="BSD-Google"
+KEYWORDS="~*"
+IUSE=""
+
+src_install() {
+	platform_src_install
+	dolib.so "${OUT}"/lib/libcros_ml_core.so
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/dev-libs/modp_b64/files/revision_bump b/dev-libs/modp_b64/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/dev-libs/modp_b64/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/dev-libs/modp_b64/modp_b64-0.0.1-r188.ebuild b/dev-libs/modp_b64/modp_b64-0.0.1-r188.ebuild
deleted file mode 100644
index 295a145..0000000
--- a/dev-libs/modp_b64/modp_b64-0.0.1-r188.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_WORKON_COMMIT=("f35f2919309cf11b0ddd9deb24a6b145d40d9254" "269b6fb8401617b85e2dff7ae8a7b0f97613e2cd")
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "9473949bc842cc166ac244567638b94150a97865")
-inherit cros-constants
-
-CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/modp_b64")
-CROS_WORKON_LOCALNAME=("../platform2" "../third_party/modp_b64")
-CROS_WORKON_PROJECT=("chromiumos/platform2" "aosp/platform/external/modp_b64")
-CROS_WORKON_SUBTREE=("common-mk .gn" "")
-CROS_WORKON_EGIT_BRANCH="master"
-
-PLATFORM_SUBDIR="modp_b64"
-
-WANT_LIBCHROME=no
-
-inherit cros-fuzzer cros-sanitizers cros-workon platform
-
-DESCRIPTION="Base64 encoder/decoder library."
-HOMEPAGE="https://github.com/client9/stringencoders"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="*"
-IUSE="fuzzer"
-
-src_install() {
-	dolib.a "${OUT}"/libmodp_b64.a
-
-	insinto /usr/include
-	doins -r modp_b64
-
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	doins "${OUT}/obj/modp_b64/libmodp_b64.pc"
-
-	local fuzzer_component_id="1034879"
-	fuzzer_install "${S}/OWNERS.fuzzer" "${OUT}"/modp_b64_decode_fuzzer \
-		--comp "${fuzzer_component_id}"
-	fuzzer_install "${S}/OWNERS.fuzzer" "${OUT}"/modp_b64_encode_fuzzer \
-		--comp "${fuzzer_component_id}"
-}
diff --git a/dev-libs/modp_b64/modp_b64-0.0.1-r245.ebuild b/dev-libs/modp_b64/modp_b64-0.0.1-r245.ebuild
new file mode 100644
index 0000000..d15e1be
--- /dev/null
+++ b/dev-libs/modp_b64/modp_b64-0.0.1-r245.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+CROS_WORKON_COMMIT=("dbb1136242ba822d539eaf11493f3b68815adb7f" "269b6fb8401617b85e2dff7ae8a7b0f97613e2cd")
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "9473949bc842cc166ac244567638b94150a97865")
+inherit cros-constants
+
+CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/modp_b64")
+CROS_WORKON_LOCALNAME=("../platform2" "../third_party/modp_b64")
+CROS_WORKON_PROJECT=("chromiumos/platform2" "aosp/platform/external/modp_b64")
+CROS_WORKON_SUBTREE=("common-mk .gn" "")
+CROS_WORKON_EGIT_BRANCH="master"
+
+PLATFORM_SUBDIR="modp_b64"
+
+WANT_LIBCHROME=no
+
+inherit cros-fuzzer cros-sanitizers cros-workon platform
+
+DESCRIPTION="Base64 encoder/decoder library."
+HOMEPAGE="https://github.com/client9/stringencoders"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="*"
+IUSE="fuzzer"
+
+src_install() {
+	dolib.a "${OUT}"/libmodp_b64.a
+
+	insinto /usr/include
+	doins -r modp_b64
+
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins "${OUT}/obj/modp_b64/libmodp_b64.pc"
+
+	local fuzzer_component_id="1034879"
+	fuzzer_install "${S}/OWNERS.fuzzer" "${OUT}"/modp_b64_decode_fuzzer \
+		--comp "${fuzzer_component_id}"
+	fuzzer_install "${S}/OWNERS.fuzzer" "${OUT}"/modp_b64_encode_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
diff --git a/dev-libs/nss/OWNERS b/dev-libs/nss/OWNERS
new file mode 100644
index 0000000..10258e2
--- /dev/null
+++ b/dev-libs/nss/OWNERS
@@ -0,0 +1 @@
+include /OWNERS.security
\ No newline at end of file
diff --git a/dev-libs/nss/README.md b/dev-libs/nss/README.md
new file mode 100644
index 0000000..b37c9f0
--- /dev/null
+++ b/dev-libs/nss/README.md
@@ -0,0 +1,14 @@
+dev-libs/nss ebuild notes
+
+The ChromeOS nss ebuild carries the following modifications vs. upstream:
+
+* nss-3.38-shlibsign-path-pollution.patch
+* nss-3.44-prefer-writable-tokens-for-trust.patch
+* nss-3.68.2-nss-ld-fixup.patch
+
+Those patches can be removed once the upstream has adopted them. Otherwise check
+with the package owners and patch authors if there are any patch failures.
+
+In ChromeOS images, util binaries from this package are not installed by
+turning off USE flags 'utils'. And the util binaries are installed through
+a separate package`app-crypt/nss`.
diff --git a/dev-libs/nss/files/nss-3.32-gentoo-fixups.patch b/dev-libs/nss/files/nss-3.32-gentoo-fixups.patch
deleted file mode 100644
index 1773da9..0000000
--- a/dev-libs/nss/files/nss-3.32-gentoo-fixups.patch
+++ /dev/null
@@ -1,274 +0,0 @@
-From 8e49e1c92dadc2e7a41cad44637f4a224e4f5b39 Mon Sep 17 00:00:00 2001
-From: "Jory A. Pratt" <anarchy@gentoo.org>
-Date: Fri, 28 Jul 2017 14:00:41 -0500
-Subject: [PATCH] add pkg-config file
-
-Signed-off-by: Jory A. Pratt <anarchy@gentoo.org>
----
- Makefile             |  11 +---
- config/Makefile      |  40 ++++++++++++++
- config/nss-config.in | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++
- config/nss.pc.in     |  12 +++++
- manifest.mn          |   2 +-
- 5 files changed, 199 insertions(+), 11 deletions(-)
- create mode 100644 config/Makefile
- create mode 100644 config/nss-config.in
- create mode 100644 config/nss.pc.in
-
-diff --git a/Makefile b/Makefile
-index 48bae37..9850883 100644
---- a/Makefile
-+++ b/Makefile
-@@ -47,7 +47,7 @@ include $(CORE_DEPTH)/coreconf/rules.mk
- # (7) Execute "local" rules. (OPTIONAL).                              #
- #######################################################################
- 
--nss_build_all: build_nspr all latest
-+nss_build_all: all latest
- 
- nss_clean_all: clobber_nspr clobber
- 
-@@ -135,15 +135,6 @@ $(NSPR_CONFIG_STATUS): $(NSPR_CONFIGURE)
- 	--prefix='$(NSS_GYP_PREFIX)'
- endif
- 
--build_nspr: $(NSPR_CONFIG_STATUS)
--	$(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)
--
--install_nspr: build_nspr
--	$(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) install
--
--clobber_nspr: $(NSPR_CONFIG_STATUS)
--	$(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) clobber
--
- build_docs:
- 	$(MAKE) -C $(CORE_DEPTH)/doc
- 
-diff --git a/config/Makefile b/config/Makefile
-new file mode 100644
-index 0000000..600fe48
---- /dev/null
-+++ b/config/Makefile
-@@ -0,0 +1,40 @@
-+CORE_DEPTH = ..
-+DEPTH      = ..
-+
-+include $(CORE_DEPTH)/coreconf/config.mk
-+
-+NSS_MAJOR_VERSION = `grep "NSS_VMAJOR" ../lib/nss/nss.h | awk '{print $$3}'`
-+NSS_MINOR_VERSION = `grep "NSS_VMINOR" ../lib/nss/nss.h | awk '{print $$3}'`
-+NSS_PATCH_VERSION = `grep "NSS_VPATCH" ../lib/nss/nss.h | awk '{print $$3}'`
-+PREFIX = /usr
-+
-+all: export libs
-+
-+export:
-+	# Create the nss.pc file
-+	mkdir -p $(DIST)/lib/pkgconfig
-+	sed -e "s,@prefix@,$(PREFIX)," \
-+	    -e "s,@exec_prefix@,\$${prefix}," \
-+	    -e "s,@libdir@,\$${prefix}/lib64," \
-+	    -e "s,@includedir@,\$${prefix}/include/nss," \
-+	    -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION),g" \
-+	    -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
-+	    -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
-+	    nss.pc.in > nss.pc
-+	chmod 0644 nss.pc
-+	ln -sf ../../../../config/nss.pc $(DIST)/lib/pkgconfig
-+
-+	# Create the nss-config script
-+	mkdir -p $(DIST)/bin
-+	sed -e "s,@prefix@,$(PREFIX)," \
-+	    -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION)," \
-+	    -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
-+	    -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
-+	    nss-config.in > nss-config
-+	chmod 0755 nss-config
-+	ln -sf ../../../config/nss-config $(DIST)/bin
-+
-+libs:
-+
-+dummy: all export libs
-+
-diff --git a/config/nss-config.in b/config/nss-config.in
-new file mode 100644
-index 0000000..1d7c444
---- /dev/null
-+++ b/config/nss-config.in
-@@ -0,0 +1,145 @@
-+#!/bin/sh
-+
-+prefix=@prefix@
-+
-+major_version=@NSS_MAJOR_VERSION@
-+minor_version=@NSS_MINOR_VERSION@
-+patch_version=@NSS_PATCH_VERSION@
-+
-+usage()
-+{
-+	cat <<EOF
-+Usage: nss-config [OPTIONS] [LIBRARIES]
-+Options:
-+	[--prefix[=DIR]]
-+	[--exec-prefix[=DIR]]
-+	[--includedir[=DIR]]
-+	[--libdir[=DIR]]
-+	[--version]
-+	[--libs]
-+	[--cflags]
-+Dynamic Libraries:
-+	nss
-+	ssl
-+	smime
-+	nssutil
-+EOF
-+	exit $1
-+}
-+
-+if test $# -eq 0; then
-+	usage 1 1>&2
-+fi
-+
-+lib_ssl=yes
-+lib_smime=yes
-+lib_nss=yes
-+lib_nssutil=yes
-+
-+while test $# -gt 0; do
-+  case "$1" in
-+  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-+  *) optarg= ;;
-+  esac
-+
-+  case $1 in
-+    --prefix=*)
-+      prefix=$optarg
-+      ;;
-+    --prefix)
-+      echo_prefix=yes
-+      ;;
-+    --exec-prefix=*)
-+      exec_prefix=$optarg
-+      ;;
-+    --exec-prefix)
-+      echo_exec_prefix=yes
-+      ;;
-+    --includedir=*)
-+      includedir=$optarg
-+      ;;
-+    --includedir)
-+      echo_includedir=yes
-+      ;;
-+    --libdir=*)
-+      libdir=$optarg
-+      ;;
-+    --libdir)
-+      echo_libdir=yes
-+      ;;
-+    --version)
-+      echo ${major_version}.${minor_version}.${patch_version}
-+      ;;
-+    --cflags)
-+      echo_cflags=yes
-+      ;;
-+    --libs)
-+      echo_libs=yes
-+      ;;
-+    ssl)
-+      lib_ssl=yes
-+      ;;
-+    smime)
-+      lib_smime=yes
-+      ;;
-+    nss)
-+      lib_nss=yes
-+      ;;
-+    nssutil)                                                      
-+      lib_nssutil=yes                                             
-+      ;;
-+    *)
-+      usage 1 1>&2
-+      ;;
-+  esac
-+  shift
-+done
-+
-+# Set variables that may be dependent upon other variables
-+if test -z "$exec_prefix"; then
-+    exec_prefix=`pkg-config --variable=exec_prefix nss`
-+fi
-+if test -z "$includedir"; then
-+    includedir=`pkg-config --variable=includedir nss`
-+fi
-+if test -z "$libdir"; then
-+    libdir=`pkg-config --variable=libdir nss`
-+fi
-+
-+if test "$echo_prefix" = "yes"; then
-+    echo $prefix
-+fi
-+
-+if test "$echo_exec_prefix" = "yes"; then
-+    echo $exec_prefix
-+fi
-+
-+if test "$echo_includedir" = "yes"; then
-+    echo $includedir
-+fi
-+
-+if test "$echo_libdir" = "yes"; then
-+    echo $libdir
-+fi
-+
-+if test "$echo_cflags" = "yes"; then
-+    echo -I$includedir
-+fi
-+
-+if test "$echo_libs" = "yes"; then
-+      libdirs=""
-+      if test -n "$lib_ssl"; then
-+	libdirs="$libdirs -lssl${major_version}"
-+      fi
-+      if test -n "$lib_smime"; then
-+	libdirs="$libdirs -lsmime${major_version}"
-+      fi
-+      if test -n "$lib_nss"; then
-+	libdirs="$libdirs -lnss${major_version}"
-+      fi
-+      if test -n "$lib_nssutil"; then
-+       libdirs="$libdirs -lnssutil${major_version}"
-+      fi
-+      echo $libdirs
-+fi      
-+
-diff --git a/config/nss.pc.in b/config/nss.pc.in
-new file mode 100644
-index 0000000..df9e2cf
---- /dev/null
-+++ b/config/nss.pc.in
-@@ -0,0 +1,12 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+
-+Name: NSS
-+Description: Network Security Services
-+Version: @NSS_MAJOR_VERSION@.@NSS_MINOR_VERSION@.@NSS_PATCH_VERSION@
-+Requires: nspr >= 4.8
-+Libs: -lssl3 -lsmime3 -lnss3 -lnssutil3
-+Cflags: -I${includedir}
-+
-diff --git a/manifest.mn b/manifest.mn
-index 500a5ad..87c905e 100644
---- a/manifest.mn
-+++ b/manifest.mn
-@@ -10,4 +10,4 @@ IMPORTS =	nspr20/v4.8 \
- 
- RELEASE = nss
- 
--DIRS = coreconf lib cmd cpputil gtests
-+DIRS = coreconf lib cmd cpputil config
--- 
-2.13.3
-
diff --git a/dev-libs/nss/files/nss-3.68.2-nss-ld-fixup.patch b/dev-libs/nss/files/nss-3.68.2-nss-ld-fixup.patch
new file mode 100644
index 0000000..091f11f
--- /dev/null
+++ b/dev-libs/nss/files/nss-3.68.2-nss-ld-fixup.patch
@@ -0,0 +1,33 @@
+From 3cba2869869c8480605f7ffcc41d2e4bae1b31c8 Mon Sep 17 00:00:00 2001
+From: Zi Lin <lziest@google.com>
+Date: Wed, 9 Mar 2022 19:14:16 +0000
+Subject: [PATCH] Use $(LD) instead of 'ld' for cross-platform compilation
+
+---
+ coreconf/Linux.mk | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/coreconf/Linux.mk b/coreconf/Linux.mk
+index d5dfb6fbc..c7bb74eca 100644
+--- a/coreconf/Linux.mk
++++ b/coreconf/Linux.mk
+@@ -6,6 +6,7 @@
+ CC     ?= gcc
+ CCC    ?= g++
+ RANLIB ?= ranlib
++LD     ?= ld
+ 
+ include $(CORE_DEPTH)/coreconf/UNIX.mk
+ 
+@@ -157,7 +158,7 @@ DSO_LDOPTS		= -shared $(ARCHFLAG) -Wl,--gc-sections
+ # Also, -z defs conflicts with Address Sanitizer, which emits relocations
+ # against the libsanitizer runtime built into the main executable.
+ ZDEFS_FLAG		= -Wl,-z,defs
+-DSO_LDOPTS		+= $(if $(findstring 2.11.90.0.8,$(shell ld -v)),,$(ZDEFS_FLAG))
++DSO_LDOPTS		+= $(if $(findstring 2.11.90.0.8,$(shell $(LD) -v)),,$(ZDEFS_FLAG))
+ LDFLAGS			+= $(ARCHFLAG) -z noexecstack
+ 
+ # On Maemo, we need to use the -rpath-link flag for even the standard system
+-- 
+2.35.1.616.g0bdcbb4464-goog
+
diff --git a/dev-libs/nss/files/nss-cacert-class3.patch b/dev-libs/nss/files/nss-cacert-class3.patch
deleted file mode 100644
index 47f4da5..0000000
--- a/dev-libs/nss/files/nss-cacert-class3.patch
+++ /dev/null
@@ -1,204 +0,0 @@
-diff -urN a/nss/lib/ckfw/builtins/certdata.txt b/nss/lib/ckfw/builtins/certdata.txt
---- a/nss/lib/ckfw/builtins/certdata.txt	2015-01-22 13:49:26.000000000 -0600
-+++ b/nss/lib/ckfw/builtins/certdata.txt	2015-03-21 20:24:59.913637329 -0500
-@@ -30320,3 +30320,200 @@
- CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
- CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
- CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-+
-+#
-+# Certificate "CAcert Inc."
-+#
-+# Issuer: E=support@cacert.org,CN=CA Cert Signing Authority,OU=http://www.cacert.org,O=Root CA
-+# Serial Number: 672138 (0xa418a)
-+# Subject: CN=CAcert Class 3 Root,OU=http://www.CAcert.org,O=CAcert Inc.
-+# Not Valid Before: Mon May 23 17:48:02 2011
-+# Not Valid After : Thu May 20 17:48:02 2021
-+# Fingerprint (SHA-256): 4E:DD:E9:E5:5C:A4:53:B3:88:88:7C:AA:25:D5:C5:C5:BC:CF:28:91:D7:3B:87:49:58:08:29:3D:5F:AC:83:C8
-+# Fingerprint (SHA1): AD:7C:3F:64:FC:44:39:FE:F4:E9:0B:E8:F4:7C:6C:FA:8A:AD:FD:CE
-+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-+CKA_TOKEN CK_BBOOL CK_TRUE
-+CKA_PRIVATE CK_BBOOL CK_FALSE
-+CKA_MODIFIABLE CK_BBOOL CK_FALSE
-+CKA_LABEL UTF8 "CAcert Inc."
-+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-+CKA_SUBJECT MULTILINE_OCTAL
-+\060\124\061\024\060\022\006\003\125\004\012\023\013\103\101\143
-+\145\162\164\040\111\156\143\056\061\036\060\034\006\003\125\004
-+\013\023\025\150\164\164\160\072\057\057\167\167\167\056\103\101
-+\143\145\162\164\056\157\162\147\061\034\060\032\006\003\125\004
-+\003\023\023\103\101\143\145\162\164\040\103\154\141\163\163\040
-+\063\040\122\157\157\164
-+END
-+CKA_ID UTF8 "0"
-+CKA_ISSUER MULTILINE_OCTAL
-+\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157
-+\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150
-+\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164
-+\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103
-+\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101
-+\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206
-+\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164
-+\100\143\141\143\145\162\164\056\157\162\147
-+END
-+CKA_SERIAL_NUMBER MULTILINE_OCTAL
-+\002\003\012\101\212
-+END
-+CKA_VALUE MULTILINE_OCTAL
-+\060\202\007\131\060\202\005\101\240\003\002\001\002\002\003\012
-+\101\212\060\015\006\011\052\206\110\206\367\015\001\001\013\005
-+\000\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157
-+\157\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025
-+\150\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162
-+\164\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031
-+\103\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040
-+\101\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052
-+\206\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162
-+\164\100\143\141\143\145\162\164\056\157\162\147\060\036\027\015
-+\061\061\060\065\062\063\061\067\064\070\060\062\132\027\015\062
-+\061\060\065\062\060\061\067\064\070\060\062\132\060\124\061\024
-+\060\022\006\003\125\004\012\023\013\103\101\143\145\162\164\040
-+\111\156\143\056\061\036\060\034\006\003\125\004\013\023\025\150
-+\164\164\160\072\057\057\167\167\167\056\103\101\143\145\162\164
-+\056\157\162\147\061\034\060\032\006\003\125\004\003\023\023\103
-+\101\143\145\162\164\040\103\154\141\163\163\040\063\040\122\157
-+\157\164\060\202\002\042\060\015\006\011\052\206\110\206\367\015
-+\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202
-+\002\001\000\253\111\065\021\110\174\322\046\176\123\224\317\103
-+\251\335\050\327\102\052\213\363\207\170\031\130\174\017\236\332
-+\211\175\341\373\353\162\220\015\164\241\226\144\253\237\240\044
-+\231\163\332\342\125\166\307\027\173\365\004\254\106\270\303\276
-+\177\144\215\020\154\044\363\141\234\300\362\220\372\121\346\365
-+\151\001\143\303\017\126\342\112\102\317\342\104\214\045\050\250
-+\305\171\011\175\106\271\212\363\351\363\064\051\010\105\344\034
-+\237\313\224\004\034\201\250\024\263\230\145\304\103\354\116\202
-+\215\011\321\275\252\133\215\222\320\354\336\220\305\177\012\302
-+\343\353\346\061\132\136\164\076\227\063\131\350\303\003\075\140
-+\063\277\367\321\157\107\304\315\356\142\203\122\156\056\010\232
-+\244\331\025\030\221\246\205\222\107\260\256\110\353\155\267\041
-+\354\205\032\150\162\065\253\377\360\020\135\300\364\224\247\152
-+\325\073\222\176\114\220\005\176\223\301\054\213\244\216\142\164
-+\025\161\156\013\161\003\352\257\025\070\232\324\322\005\162\157
-+\214\371\053\353\132\162\045\371\071\106\343\162\033\076\004\303
-+\144\047\042\020\052\212\117\130\247\003\255\276\264\056\023\355
-+\135\252\110\327\325\175\324\052\173\134\372\106\004\120\344\314
-+\016\102\133\214\355\333\362\317\374\226\223\340\333\021\066\124
-+\142\064\070\217\014\140\233\073\227\126\070\255\363\322\133\213
-+\240\133\352\116\226\270\174\327\325\240\206\160\100\323\221\051
-+\267\242\074\255\365\214\273\317\032\222\212\344\064\173\300\330
-+\154\137\351\012\302\303\247\040\232\132\337\054\135\122\134\272
-+\107\325\233\357\044\050\160\070\040\057\325\177\051\300\262\101
-+\003\150\222\314\340\234\314\227\113\105\357\072\020\012\253\160
-+\072\230\225\160\255\065\261\352\205\053\244\034\200\041\061\251
-+\256\140\172\200\046\110\000\270\001\300\223\143\125\042\221\074
-+\126\347\257\333\072\045\363\217\061\124\352\046\213\201\131\371
-+\241\321\123\021\305\173\235\003\366\164\021\340\155\261\054\077
-+\054\206\221\231\161\232\246\167\213\064\140\321\024\264\054\254
-+\235\257\214\020\323\237\304\152\370\157\023\374\163\131\367\146
-+\102\164\036\212\343\370\334\322\157\230\234\313\107\230\225\100
-+\005\373\351\002\003\001\000\001\243\202\002\015\060\202\002\011
-+\060\035\006\003\125\035\016\004\026\004\024\165\250\161\140\114
-+\210\023\360\170\331\211\167\265\155\305\211\337\274\261\172\060
-+\201\243\006\003\125\035\043\004\201\233\060\201\230\200\024\026
-+\265\062\033\324\307\363\340\346\216\363\275\322\260\072\356\262
-+\071\030\321\241\175\244\173\060\171\061\020\060\016\006\003\125
-+\004\012\023\007\122\157\157\164\040\103\101\061\036\060\034\006
-+\003\125\004\013\023\025\150\164\164\160\072\057\057\167\167\167
-+\056\143\141\143\145\162\164\056\157\162\147\061\042\060\040\006
-+\003\125\004\003\023\031\103\101\040\103\145\162\164\040\123\151
-+\147\156\151\156\147\040\101\165\164\150\157\162\151\164\171\061
-+\041\060\037\006\011\052\206\110\206\367\015\001\011\001\026\022
-+\163\165\160\160\157\162\164\100\143\141\143\145\162\164\056\157
-+\162\147\202\001\000\060\017\006\003\125\035\023\001\001\377\004
-+\005\060\003\001\001\377\060\135\006\010\053\006\001\005\005\007
-+\001\001\004\121\060\117\060\043\006\010\053\006\001\005\005\007
-+\060\001\206\027\150\164\164\160\072\057\057\157\143\163\160\056
-+\103\101\143\145\162\164\056\157\162\147\057\060\050\006\010\053
-+\006\001\005\005\007\060\002\206\034\150\164\164\160\072\057\057
-+\167\167\167\056\103\101\143\145\162\164\056\157\162\147\057\143
-+\141\056\143\162\164\060\112\006\003\125\035\040\004\103\060\101
-+\060\077\006\010\053\006\001\004\001\201\220\112\060\063\060\061
-+\006\010\053\006\001\005\005\007\002\001\026\045\150\164\164\160
-+\072\057\057\167\167\167\056\103\101\143\145\162\164\056\157\162
-+\147\057\151\156\144\145\170\056\160\150\160\077\151\144\075\061
-+\060\060\064\006\011\140\206\110\001\206\370\102\001\010\004\047
-+\026\045\150\164\164\160\072\057\057\167\167\167\056\103\101\143
-+\145\162\164\056\157\162\147\057\151\156\144\145\170\056\160\150
-+\160\077\151\144\075\061\060\060\120\006\011\140\206\110\001\206
-+\370\102\001\015\004\103\026\101\124\157\040\147\145\164\040\171
-+\157\165\162\040\157\167\156\040\143\145\162\164\151\146\151\143
-+\141\164\145\040\146\157\162\040\106\122\105\105\054\040\147\157
-+\040\164\157\040\150\164\164\160\072\057\057\167\167\167\056\103
-+\101\143\145\162\164\056\157\162\147\060\015\006\011\052\206\110
-+\206\367\015\001\001\013\005\000\003\202\002\001\000\051\050\205
-+\256\104\251\271\257\244\171\023\360\250\243\053\227\140\363\134
-+\356\343\057\301\366\342\146\240\021\256\066\067\072\166\025\004
-+\123\352\102\365\371\352\300\025\330\246\202\331\344\141\256\162
-+\013\051\134\220\103\350\101\262\341\167\333\002\023\104\170\107
-+\125\257\130\374\314\230\366\105\271\321\040\370\330\041\007\376
-+\155\252\163\324\263\306\007\351\011\205\314\073\362\266\276\054
-+\034\045\325\161\214\071\265\056\352\276\030\201\272\260\223\270
-+\017\343\346\327\046\214\061\132\162\003\204\122\346\246\365\063
-+\042\105\012\310\013\015\212\270\066\157\220\011\241\253\275\327
-+\325\116\056\161\242\324\256\372\247\124\053\353\065\215\132\267
-+\124\210\057\356\164\237\355\110\026\312\015\110\320\224\323\254
-+\244\242\366\044\337\222\343\275\353\103\100\221\156\034\030\216
-+\126\264\202\022\363\251\223\237\324\274\234\255\234\165\356\132
-+\227\033\225\347\164\055\034\017\260\054\227\237\373\251\063\071
-+\172\347\003\072\222\216\042\366\214\015\344\331\176\015\166\030
-+\367\001\371\357\226\226\242\125\163\300\074\161\264\035\032\126
-+\103\267\303\012\215\162\374\342\020\011\013\101\316\214\224\240
-+\371\003\375\161\163\113\212\127\063\345\216\164\176\025\001\000
-+\346\314\112\034\347\177\225\031\055\305\245\014\213\273\265\355
-+\205\263\134\323\337\270\271\362\312\307\015\001\024\254\160\130
-+\305\214\215\063\324\235\146\243\032\120\225\043\374\110\340\006
-+\103\022\331\315\247\206\071\057\066\162\243\200\020\344\341\363
-+\321\313\133\032\300\344\200\232\174\023\163\006\117\333\243\153
-+\044\012\272\263\034\274\112\170\273\345\343\165\070\245\110\247
-+\242\036\257\166\324\136\367\070\206\126\132\211\316\326\303\247
-+\171\262\122\240\306\361\205\264\045\214\362\077\226\263\020\331
-+\215\154\127\073\237\157\206\072\030\202\042\066\310\260\221\070
-+\333\052\241\223\252\204\077\365\047\145\256\163\325\310\325\323
-+\167\352\113\235\307\101\273\307\300\343\240\077\344\175\244\215
-+\163\346\022\113\337\241\163\163\163\072\200\350\325\313\216\057
-+\313\352\023\247\326\101\213\254\372\074\211\327\044\365\116\264
-+\340\141\222\267\363\067\230\304\276\226\243\267\212
-+END
-+
-+# Trust for "CAcert Inc."
-+# Issuer: E=support@cacert.org,CN=CA Cert Signing Authority,OU=http://www.cacert.org,O=Root CA
-+# Serial Number: 672138 (0xa418a)
-+# Subject: CN=CAcert Class 3 Root,OU=http://www.CAcert.org,O=CAcert Inc.
-+# Not Valid Before: Mon May 23 17:48:02 2011
-+# Not Valid After : Thu May 20 17:48:02 2021
-+# Fingerprint (SHA-256): 4E:DD:E9:E5:5C:A4:53:B3:88:88:7C:AA:25:D5:C5:C5:BC:CF:28:91:D7:3B:87:49:58:08:29:3D:5F:AC:83:C8
-+# Fingerprint (SHA1): AD:7C:3F:64:FC:44:39:FE:F4:E9:0B:E8:F4:7C:6C:FA:8A:AD:FD:CE
-+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-+CKA_TOKEN CK_BBOOL CK_TRUE
-+CKA_PRIVATE CK_BBOOL CK_FALSE
-+CKA_MODIFIABLE CK_BBOOL CK_FALSE
-+CKA_LABEL UTF8 "CAcert Inc."
-+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-+\255\174\077\144\374\104\071\376\364\351\013\350\364\174\154\372
-+\212\255\375\316
-+END
-+CKA_CERT_MD5_HASH MULTILINE_OCTAL
-+\367\045\022\202\116\147\265\320\215\222\267\174\013\206\172\102
-+END
-+CKA_ISSUER MULTILINE_OCTAL
-+\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157
-+\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150
-+\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164
-+\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103
-+\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101
-+\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206
-+\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164
-+\100\143\141\143\145\162\164\056\157\162\147
-+END
-+CKA_SERIAL_NUMBER MULTILINE_OCTAL
-+\002\003\012\101\212
-+END
-+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
diff --git a/dev-libs/nss/metadata.xml b/dev-libs/nss/metadata.xml
index 009a097..3c9d1ca 100644
--- a/dev-libs/nss/metadata.xml
+++ b/dev-libs/nss/metadata.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
 <maintainer type="project">
   <email>mozilla@gentoo.org</email>
@@ -7,9 +7,8 @@
 </maintainer>
 <use>
   <flag name="cacert">
-    Include root/class3 certs from CAcert (http://www.cacert.org/)
+    Include root/class3 certs from CAcert (https://www.cacert.org/)
   </flag>
-  <flag name="nss-pem">Add support for libnsspem</flag>
   <flag name="utils">Install utilities included with the library</flag>
 </use>
 <upstream>
diff --git a/dev-libs/nss/nss-3.73.ebuild b/dev-libs/nss/nss-3.73.ebuild
index 34c8539..4d01786 100644
--- a/dev-libs/nss/nss-3.73.ebuild
+++ b/dev-libs/nss/nss-3.73.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=6
+EAPI=7
 
 inherit flag-o-matic multilib toolchain-funcs multilib-minimal
 
@@ -18,13 +18,16 @@
 KEYWORDS="*"
 IUSE="cacert utils cpu_flags_ppc_altivec cpu_flags_ppc_vsx"
 # pkg-config called by nss-config -> virtual/pkgconfig in RDEPEND
-RDEPEND="
+DEPEND="
 	>=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
 	>=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
 	>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
 	virtual/pkgconfig
 "
-DEPEND="${RDEPEND}"
+RDEPEND="
+	${DEPEND}
+	!<app-crypt/nss-${PV}[${MULTILIB_USEDEP}]
+"
 BDEPEND="dev-lang/perl"
 
 RESTRICT="test"
@@ -40,22 +43,26 @@
 	"${FILESDIR}/${PN}-3.53-gentoo-fixups.patch"
 	"${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
 	"${FILESDIR}/${PN}-3.23-hppa-byte_order.patch"
+	# CrOS specific fix crbug.com/1132030
 	"${FILESDIR}/${PN}-3.44-prefer-writable-tokens-for-trust.patch"
+	# local fix for https://bugs.gentoo.org/834846
+	"${FILESDIR}/${PN}-3.68.2-nss-ld-fixup.patch"
 )
 
 src_prepare() {
-	default
-
-	if use cacert ; then
-		eapply -p2 "${DISTDIR}"/nss-cacert-class1-class3-r2.patch
-	fi
-
+	# use host shlibsign if need be crbug.com/884946
 	if tc-is-cross-compiler ; then
 		PATCHES+=(
 			"${FILESDIR}/${PN}-3.38-shlibsign-path-pollution.patch"
 		)
 	fi
 
+	default
+
+	if use cacert ; then
+		eapply -p2 "${DISTDIR}"/nss-cacert-class1-class3-r2.patch
+	fi
+
 	pushd coreconf >/dev/null || die
 	# hack nspr paths
 	echo 'INCLUDES += -I$(DIST)/include/dbm' \
@@ -353,12 +360,8 @@
 pkg_postinst() {
 	multilib_pkg_postinst() {
 		# We must re-sign the libraries AFTER they are stripped.
-		local shlibsign="${EROOT}/usr/bin/shlibsign"
-		# See if we can execute it (cross-compiling & such). #436216
-		"${shlibsign}" -h >&/dev/null
-		if [[ $? -gt 1 ]] ; then
-			shlibsign="shlibsign"
-		fi
+		# Always use the CrOS SDK's shlibsign. b/226445278
+		local shlibsign="shlibsign"
 		generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir)
 	}
 
diff --git a/dev-libs/opencsd/Manifest b/dev-libs/opencsd/Manifest
index 375305d..7d2618b 100644
--- a/dev-libs/opencsd/Manifest
+++ b/dev-libs/opencsd/Manifest
@@ -1 +1 @@
-DIST opencsd-1.2.0.tar.xz 7602424 BLAKE2B 84a88594deff1057037f13d931444ed81f6b917674622a1e862666a936f2b3860304ca3057450d58587efe1a744242c6914fc85e3d00d03d83bd9c6aede9ec9a SHA512 793d54a1fdb77bf8f7577c8fe04c75183308507368fe8c4913c75747c0ebcb8521061cdfeda694f63e1ed1803a980875d9a092c0bd30877f2e33cfe50cae9794
+DIST opencsd-1.2.1.tar.xz 7604164 BLAKE2B 84b91fe6811974352ef34c9f8736bd9626fee1badf1ae931283038c700f0f3a3add9da43be4dfa82cc551f2464cfb4a89698b52d8c4c11439b9712d1962eb814 SHA512 654fd82abc44a631cd46815738e334090267dab98b9185c9c9b53cc5c0deea203bd7ba3bba8e2e2dc694f126f189cd2418c62b5cd2f0dbc0e5c76d5d6cac5f82
diff --git a/dev-libs/opencsd/files/opencsd-1.2.1-snapshot-algorithm.patch b/dev-libs/opencsd/files/opencsd-1.2.1-snapshot-algorithm.patch
new file mode 100644
index 0000000..11ef2b6
--- /dev/null
+++ b/dev-libs/opencsd/files/opencsd-1.2.1-snapshot-algorithm.patch
@@ -0,0 +1,25 @@
+commit 942ee053f1e8fd2917ee425a31e29efd3126839e
+Author: Manoj Gupta <manojgupta@google.com>
+Date:   Wed Apr 27 10:07:23 2022 -0700
+
+    tests: Include <algorithm> in snapshot_parser_util.h
+    
+    std::lexicographical_compare usage in snapshot_parser_util.h
+    requires <algorithm>.
+    This fixes a build breakage when using ToT libc++ which
+    no longer transitively include <algorithm>.
+    
+    Signed-off-by: Manoj Gupta <manojgupta@google.com>
+
+diff --git a/decoder/tests/snapshot_parser_lib/include/snapshot_parser_util.h b/decoder/tests/snapshot_parser_lib/include/snapshot_parser_util.h
+index 815afe9..d4fd6cd 100644
+--- a/decoder/tests/snapshot_parser_lib/include/snapshot_parser_util.h
++++ b/decoder/tests/snapshot_parser_lib/include/snapshot_parser_util.h
+@@ -35,6 +35,7 @@
+ #ifndef ARM_SNAPSHOT_PARSER_UTIL_H_INCLUDED
+ #define ARM_SNAPSHOT_PARSER_UTIL_H_INCLUDED
+ 
++#include <algorithm>
+ #include <string>
+ #include <sstream>
+ #include <iomanip>
diff --git a/dev-libs/opencsd/opencsd-1.2.0-r1.ebuild b/dev-libs/opencsd/opencsd-1.2.0-r1.ebuild
deleted file mode 100644
index 03c3218..0000000
--- a/dev-libs/opencsd/opencsd-1.2.0-r1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Open source CoreSight trace decode library"
-HOMEPAGE="https://github.com/Linaro/OpenCSD"
-SRC_URI="https://github.com/linaro/${PN}/archive/${P}.tar.xz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="*"
-IUSE="debug"
-
-RDEPEND=""
-
-src_compile() {
-	cros_enable_cxx_exceptions
-	use debug && DEBUG_OPT=1
-
-	# Opencsd build is flaky at times, use "-j1" to avoid any races.
-	emake -j1 -C decoder/build/linux/ \
-		LINUX64=1 DEBUG=${DEBUG_OPT} \
-		MASTER_CC="$(tc-getCC)" \
-		MASTER_CXX="$(tc-getCXX)" \
-		MASTER_LIB="$(tc-getAR)" \
-		MASTER_LINKER="$(tc-getCXX)"
-}
-
-src_install() {
-	dolib.a decoder/lib/builddir/libopencsd.a decoder/lib/builddir/libopencsd_c_api.a
-	doheader -r decoder/include/opencsd
-}
diff --git a/dev-libs/opencsd/opencsd-1.2.1-r2.ebuild b/dev-libs/opencsd/opencsd-1.2.1-r2.ebuild
new file mode 100644
index 0000000..175571b
--- /dev/null
+++ b/dev-libs/opencsd/opencsd-1.2.1-r2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Open source CoreSight trace decode library"
+HOMEPAGE="https://github.com/Linaro/OpenCSD"
+SRC_URI="https://github.com/linaro/${PN}/archive/${P}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="*"
+IUSE="debug"
+
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}/${PN}-1.2.1-snapshot-algorithm.patch" )
+
+src_compile() {
+	cros_enable_cxx_exceptions
+	use debug && DEBUG_OPT=1
+
+	# Opencsd build is flaky at times, use "-j1" to avoid any races.
+	emake -j1 -C decoder/build/linux/ \
+		LINUX64=1 DEBUG=${DEBUG_OPT} \
+		MASTER_CC="$(tc-getCC)" \
+		MASTER_CXX="$(tc-getCXX)" \
+		MASTER_LIB="$(tc-getAR)" \
+		MASTER_LINKER="$(tc-getCXX)"
+}
+
+src_install() {
+	dolib.a decoder/lib/builddir/libopencsd.a decoder/lib/builddir/libopencsd_c_api.a
+	doheader -r decoder/include/opencsd
+}
diff --git a/dev-python/OWNERS b/dev-python/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/dev-python/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/dev-python/btsocket/btsocket-1.0-r22.ebuild b/dev-python/btsocket/btsocket-1.0-r22.ebuild
deleted file mode 100644
index 8c9c67d..0000000
--- a/dev-python/btsocket/btsocket-1.0-r22.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-CROS_WORKON_COMMIT="f0c71bd1151cca91ff171e5f9a4582488a3f1dc5"
-CROS_WORKON_TREE="2b5cdcf058f6528d1f4a9ea0462e331242a0b418"
-CROS_WORKON_PROJECT="chromiumos/platform/btsocket"
-CROS_WORKON_LOCALNAME="../platform/btsocket"
-
-PYTHON_COMPAT=( python2_7 python{3_6,3_7} )
-
-inherit cros-sanitizers cros-workon distutils-r1
-
-DESCRIPTION="Bluetooth Socket support module"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/btsocket/"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE="-asan"
-
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-RDEPEND=""
-
-src_configure() {
-	sanitizers-setup-env
-	default
-}
diff --git a/dev-python/btsocket/btsocket-1.0-r23.ebuild b/dev-python/btsocket/btsocket-1.0-r23.ebuild
new file mode 100644
index 0000000..4786173
--- /dev/null
+++ b/dev-python/btsocket/btsocket-1.0-r23.ebuild
@@ -0,0 +1,28 @@
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+CROS_WORKON_COMMIT="f0c71bd1151cca91ff171e5f9a4582488a3f1dc5"
+CROS_WORKON_TREE="2b5cdcf058f6528d1f4a9ea0462e331242a0b418"
+CROS_WORKON_PROJECT="chromiumos/platform/btsocket"
+CROS_WORKON_LOCALNAME="../platform/btsocket"
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-sanitizers cros-workon distutils-r1
+
+DESCRIPTION="Bluetooth Socket support module"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/btsocket/"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="-asan"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
diff --git a/dev-python/btsocket/btsocket-9999.ebuild b/dev-python/btsocket/btsocket-9999.ebuild
index f1aba03..a8f1d3a 100644
--- a/dev-python/btsocket/btsocket-9999.ebuild
+++ b/dev-python/btsocket/btsocket-9999.ebuild
@@ -5,7 +5,7 @@
 CROS_WORKON_PROJECT="chromiumos/platform/btsocket"
 CROS_WORKON_LOCALNAME="../platform/btsocket"
 
-PYTHON_COMPAT=( python2_7 python{3_6,3_7} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 inherit cros-sanitizers cros-workon distutils-r1
 
diff --git a/dev-python/google-cloud-pubsub/Manifest b/dev-python/google-cloud-pubsub/Manifest
deleted file mode 100644
index a149f40..0000000
--- a/dev-python/google-cloud-pubsub/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST google-cloud-pubsub-1.0.2.tar.gz 114977 BLAKE2B d3069d8935bc15b703c33588ba5e64534a7a661690314d8f559e0e0ccd62ed111134725a5e702f99efe0ab4503099a86e2f5e75077645c5bb6a58a9af849cfa2 SHA512 7e9fde20aadcfa7979f3d24bf37bd6bb2615c69b60bbb5412aa932a0978a6c437e82ce07a14f12ac9c920d700e5a829805fd3f021e0bc20e0ee21e9b00529b96
diff --git a/dev-python/google-cloud-pubsub/google-cloud-pubsub-1.0.2.ebuild b/dev-python/google-cloud-pubsub/google-cloud-pubsub-1.0.2.ebuild
deleted file mode 100644
index 8865072..0000000
--- a/dev-python/google-cloud-pubsub/google-cloud-pubsub-1.0.2.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=7
-
-PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} pypy )
-
-inherit distutils-r1
-
-DESCRIPTION="Google Cloud PubSub  API client library"
-HOMEPAGE="https://pypi.python.org/pypi/google-cloud-pubsub"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND=">=dev-python/google-api-core-1.14.0[${PYTHON_USEDEP}]
-		dev-python/grpc-google-iam-v1[${PYTHON_USEDEP}]
-		virtual/python-enum34[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}
-	dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/grpc-google-iam-v1/Manifest b/dev-python/grpc-google-iam-v1/Manifest
deleted file mode 100644
index c04100d..0000000
--- a/dev-python/grpc-google-iam-v1/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST grpc-google-iam-v1-0.12.3.tar.gz 13551 BLAKE2B 243b02c2f07e8a4479f5b3e390a84bbc35fd4289ceb9ecf6acc6b24b7433beee0174b8c70efcfb2c9105b80532e8352d7d786753fd77f72dd748602583c951af SHA512 2e188f228f332cbe9ac9437d71558f0d8cbc575764c5059156d105e76930774a594f9ae3eca1249048250c1650397916f3f769e133131e917740e21cef490274
diff --git a/dev-python/grpc-google-iam-v1/grpc-google-iam-v1-0.12.3.ebuild b/dev-python/grpc-google-iam-v1/grpc-google-iam-v1-0.12.3.ebuild
deleted file mode 100644
index 0c7f080..0000000
--- a/dev-python/grpc-google-iam-v1/grpc-google-iam-v1-0.12.3.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2.
-
-EAPI=7
-
-PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} pypy )
-
-inherit distutils-r1
-
-DESCRIPTION="gRPC library for google-iam-v1"
-HOMEPAGE="https://pypi.python.org/pypi/grpc-google-iam-v1/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND=">=dev-python/google-api-core-1.14.0[${PYTHON_USEDEP}]
-		virtual/python-enum34[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}
-	dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/grpcio/grpcio-1.23.0-r2.ebuild b/dev-python/grpcio/grpcio-1.23.0-r4.ebuild
similarity index 100%
rename from dev-python/grpcio/grpcio-1.23.0-r2.ebuild
rename to dev-python/grpcio/grpcio-1.23.0-r4.ebuild
diff --git a/dev-python/grpcio/grpcio-1.23.0.ebuild b/dev-python/grpcio/grpcio-1.23.0.ebuild
index 8c554f5..becb804 100644
--- a/dev-python/grpcio/grpcio-1.23.0.ebuild
+++ b/dev-python/grpcio/grpcio-1.23.0.ebuild
@@ -1,9 +1,9 @@
 # Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=6
+EAPI=7
 
-PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} )
+PYTHON_COMPAT=( python3_{6..9} )
 inherit distutils-r1
 
 DESCRIPTION="High-performance RPC framework (python libraries)"
@@ -21,8 +21,6 @@
 	net-dns/c-ares:=
 	!<net-libs/grpc-1.16.0[python]
 	sys-libs/zlib:=
-	virtual/python-enum34[${PYTHON_USEDEP}]
-	virtual/python-futures[${PYTHON_USEDEP}]
 "
 DEPEND="${RDEPEND}
 	dev-python/setuptools[${PYTHON_USEDEP}]
diff --git a/dev-python/kconfiglib/Manifest b/dev-python/kconfiglib/Manifest
new file mode 100644
index 0000000..44d6238
--- /dev/null
+++ b/dev-python/kconfiglib/Manifest
@@ -0,0 +1 @@
+DIST kconfiglib-14.1.0.tar.gz 182990 BLAKE2B 1e5a5f7e6d1003f4fa005b2b08abfa17cbf9f6837d9320f313b23f19c6e9e7aa7c8fddf5ff38871634257ea050390b279becec0c4e0638cdb53182347217e937 SHA512 929a75f9b9f74ad7d4190c15d7178b94ee0a6d1fb71d85e2942935e3a9370a4f2483d8b49123d41d6610841ad9efde1dc4c14fc5231a08379d438a486ed3f97c
diff --git a/dev-python/kconfiglib/OWNERS b/dev-python/kconfiglib/OWNERS
new file mode 100644
index 0000000..f9d6299
--- /dev/null
+++ b/dev-python/kconfiglib/OWNERS
@@ -0,0 +1,7 @@
+# Zephyr owners
+include chromiumos/third_party/zephyr:/OWNERS
+
+# Depthcharge owners
+include chromiumos/platform/depthcharge:/OWNERS
+
+# Any other projects which pick up Kconfiglib should add themselves...
diff --git a/dev-python/kconfiglib/README.md b/dev-python/kconfiglib/README.md
new file mode 100644
index 0000000..231eb05
--- /dev/null
+++ b/dev-python/kconfiglib/README.md
@@ -0,0 +1,7 @@
+This is the kconfiglib from https://github.com/ulfalizer/Kconfiglib with
+local patches. The maintainer of Kconfiglib seems to have disappeared. There are
+pull requests that are 2 years old with no comments. The last commit was Jan 30,
+2020.
+
+At some point we may need to create a proper fork if no new maintainer takes
+over this project.
diff --git a/dev-python/kconfiglib/files/kconfiglib_search_paths.patch b/dev-python/kconfiglib/files/kconfiglib_search_paths.patch
new file mode 100644
index 0000000..1ed6540
--- /dev/null
+++ b/dev-python/kconfiglib/files/kconfiglib_search_paths.patch
@@ -0,0 +1,198 @@
+From 5b50e16456988db75cad1cca7751ac55323b9870 Mon Sep 17 00:00:00 2001
+From: Simon Glass <sjg@chromium.org>
+Date: Fri, 14 Jan 2022 16:03:43 -0700
+Subject: [PATCH 1/2] Support a list of search paths for Kconfig files
+
+Projects such as Zephyr OS have a module system, where Kconfig files can
+exist in multiple directories that are effectively merged together by the
+build system. In other words, one project directory can refer to
+subdir/Kconfig where subdir/ is actually in another project directory.
+
+As an example:
+
+   zephyr/             - main source directory
+      Kconfig          - main Kconfig file
+
+   module/ec           - module directory
+      motion/          - motion subsystem
+         Kconfig       - Kconfig file for motion subsystem
+
+Wtih the above, we might have, in zephyr/Kconfig:
+
+   source "motion/Kconfig"
+
+and it automatically locates the file in the module/ec directory.
+
+Add support for this, by allowing a list of search paths to be supplied to
+Kconfiglib.
+
+Signed-off-by: Simon Glass <sjg@chromium.org>
+---
+ kconfiglib.py | 25 ++++++++++++++++++++++---
+ 1 file changed, 22 insertions(+), 3 deletions(-)
+
+diff --git a/kconfiglib.py b/kconfiglib.py
+index c67895c..e3105c2 100644
+--- a/kconfiglib.py
++++ b/kconfiglib.py
+@@ -834,6 +834,7 @@ class Kconfig(object):
+         "n",
+         "named_choices",
+         "srctree",
++        "search_paths",
+         "syms",
+         "top_node",
+         "unique_choices",
+@@ -865,7 +866,7 @@ class Kconfig(object):
+     #
+ 
+     def __init__(self, filename="Kconfig", warn=True, warn_to_stderr=True,
+-                 encoding="utf-8", suppress_traceback=False):
++                 encoding="utf-8", suppress_traceback=False, search_paths=None):
+         """
+         Creates a new Kconfig object by parsing Kconfig files.
+         Note that Kconfig files are not the same as .config files (which store
+@@ -942,9 +943,23 @@ def __init__(self, filename="Kconfig", warn=True, warn_to_stderr=True,
+ 
+           Other exceptions besides EnvironmentError and KconfigError are still
+           propagated when suppress_traceback is True.
++
++        search_paths (default: None):
++          List of paths to search for Kconfig files. This is needed when the
++          files are split between two project directories, as is done with
++          Zephyr OS, for example. It allows files in one project to reference
++          files in another.
++
++          This argument affects the operation of commands which include other
++          Kconfig files, such as `source` and `rsource`.
++
++          When not None, it should be a list of paths to directories to search.
++          Each search path is prepended to the relative filename to assist in
++          finding the file. The proeect directories should have distinct
++          filenames and/or subdirectory structures, so avoid ambiguity.
+         """
+         try:
+-            self._init(filename, warn, warn_to_stderr, encoding)
++            self._init(filename, warn, warn_to_stderr, encoding, search_paths)
+         except (EnvironmentError, KconfigError) as e:
+             if suppress_traceback:
+                 cmd = sys.argv[0]  # Empty string if missing
+@@ -956,7 +971,7 @@ def __init__(self, filename="Kconfig", warn=True, warn_to_stderr=True,
+                 sys.exit(cmd + str(e).strip())
+             raise
+ 
+-    def _init(self, filename, warn, warn_to_stderr, encoding):
++    def _init(self, filename, warn, warn_to_stderr, encoding, search_paths):
+         # See __init__()
+ 
+         self._encoding = encoding
+@@ -966,6 +981,7 @@ def _init(self, filename, warn, warn_to_stderr, encoding):
+         # relative to $srctree. relpath() can cause issues for symlinks,
+         # because it assumes symlink/../foo is the same as foo/.
+         self._srctree_prefix = realpath(self.srctree) + os.sep
++        self.search_paths = search_paths
+ 
+         self.warn = warn
+         self.warn_to_stderr = warn_to_stderr
+@@ -2972,6 +2988,9 @@ def _parse_block(self, end_token, parent, prev):
+                 #   Kconfig symbols, which indirectly ensures a consistent
+                 #   ordering in e.g. .config files
+                 filenames = sorted(iglob(join(self._srctree_prefix, pattern)))
++                if self.search_paths:
++                    for prefix in self.search_paths:
++                        filenames += sorted(iglob(join(prefix, pattern)))
+ 
+                 if not filenames and t0 in _OBL_SOURCE_TOKENS:
+                     raise KconfigError(
+
+From 10d9d988cdaf1cf49e5a8007994463c42bdb66ab Mon Sep 17 00:00:00 2001
+From: Simon Glass <sjg@chromium.org>
+Date: Fri, 14 Jan 2022 16:30:24 -0700
+Subject: [PATCH 2/2] Add an option to allow empty macros
+
+When parsing Kconfig which include macros it is currently necessary to
+provide a value for all macros in advance. This may not be possible in
+some cases, e.g. when the caller is performing checks on the Kconfig
+options but is not running a full build of the project.
+
+Add an option to support this. This allows parsing of Zephyr Kconfig
+files without specifying a particular board, etc.
+
+Signed-off-by: Simon Glass <sjg@chromium.org>
+---
+ kconfiglib.py | 25 +++++++++++++++++++++----
+ 1 file changed, 21 insertions(+), 4 deletions(-)
+
+diff --git a/kconfiglib.py b/kconfiglib.py
+index e3105c2..0e05aaa 100644
+--- a/kconfiglib.py
++++ b/kconfiglib.py
+@@ -817,6 +817,7 @@ class Kconfig(object):
+         "_srctree_prefix",
+         "_unset_match",
+         "_warn_assign_no_prompt",
++        "allow_empty_macros",
+         "choices",
+         "comments",
+         "config_header",
+@@ -866,7 +867,8 @@ class Kconfig(object):
+     #
+ 
+     def __init__(self, filename="Kconfig", warn=True, warn_to_stderr=True,
+-                 encoding="utf-8", suppress_traceback=False, search_paths=None):
++                 encoding="utf-8", suppress_traceback=False, search_paths=None,
++                 allow_empty_macros=False):
+         """
+         Creates a new Kconfig object by parsing Kconfig files.
+         Note that Kconfig files are not the same as .config files (which store
+@@ -957,9 +959,21 @@ def __init__(self, filename="Kconfig", warn=True, warn_to_stderr=True,
+           Each search path is prepended to the relative filename to assist in
+           finding the file. The proeect directories should have distinct
+           filenames and/or subdirectory structures, so avoid ambiguity.
++
++        allow_empty_macros (default: False):
++          Normally when macros expand to empty it means that the macro is not
++          defined. This is considered an error and parsing of the Kconfig files
++          aborts with an exception. In some cases it is useful to continue
++          parsing, to obtain what information is available.
++
++          An example is where the value of various macros is not known but the
++          caller simply wants to get a list of the available Kconfig options.
++
++          Pass True here to allow empty / undefined macros.
+         """
+         try:
+-            self._init(filename, warn, warn_to_stderr, encoding, search_paths)
++            self._init(filename, warn, warn_to_stderr, encoding, search_paths,
++                       allow_empty_macros)
+         except (EnvironmentError, KconfigError) as e:
+             if suppress_traceback:
+                 cmd = sys.argv[0]  # Empty string if missing
+@@ -971,7 +985,8 @@ def __init__(self, filename="Kconfig", warn=True, warn_to_stderr=True,
+                 sys.exit(cmd + str(e).strip())
+             raise
+ 
+-    def _init(self, filename, warn, warn_to_stderr, encoding, search_paths):
++    def _init(self, filename, warn, warn_to_stderr, encoding, search_paths,
++              allow_empty_macros):
+         # See __init__()
+ 
+         self._encoding = encoding
+@@ -982,6 +997,7 @@ def _init(self, filename, warn, warn_to_stderr, encoding, search_paths):
+         # because it assumes symlink/../foo is the same as foo/.
+         self._srctree_prefix = realpath(self.srctree) + os.sep
+         self.search_paths = search_paths
++        self.allow_empty_macros = allow_empty_macros
+ 
+         self.warn = warn
+         self.warn_to_stderr = warn_to_stderr
+@@ -2701,7 +2717,8 @@ def _expand_name(self, s, i):
+         if not name.strip():
+             # Avoid creating a Kconfig symbol with a blank name. It's almost
+             # guaranteed to be an error.
+-            self._parse_error("macro expanded to blank string")
++            if not self.allow_empty_macros:
++                self._parse_error("macro expanded to blank string")
+ 
+         # Skip trailing whitespace
+         while end_i < len(s) and s[end_i].isspace():
diff --git a/dev-python/kconfiglib/kconfiglib-14.1.0-r1.ebuild b/dev-python/kconfiglib/kconfiglib-14.1.0-r1.ebuild
new file mode 120000
index 0000000..03909cd
--- /dev/null
+++ b/dev-python/kconfiglib/kconfiglib-14.1.0-r1.ebuild
@@ -0,0 +1 @@
+kconfiglib-14.1.0.ebuild
\ No newline at end of file
diff --git a/dev-python/kconfiglib/kconfiglib-14.1.0.ebuild b/dev-python/kconfiglib/kconfiglib-14.1.0.ebuild
new file mode 100644
index 0000000..afd9b2f
--- /dev/null
+++ b/dev-python/kconfiglib/kconfiglib-14.1.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6..9} pypy3 )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_REQ_USE="ncurses"
+
+inherit distutils-r1
+
+DESCRIPTION="A flexible Python Kconfig implementation"
+HOMEPAGE="https://github.com/ulfalizer/Kconfiglib https://pypi.org/project/kconfiglib/"
+SRC_URI="https://github.com/ulfalizer/Kconfiglib/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+# pypi tarballs don't include tests
+#SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+S=${WORKDIR}/${P/k/K}
+
+# https://github.com/ulfalizer/Kconfiglib/pull/112 by sjg is required for platform/ec
+PATCHES=( "${FILESDIR}"/kconfiglib_search_paths.patch )
+
+python_prepare_all() {
+	distutils-r1_python_prepare_all
+
+	# hacks to run tests
+	mkdir Kconfiglib || die
+	ln -s ../tests Kconfiglib || die
+	# don't run kernel Kconfig compat tests
+	sed -i 's/run_compatibility_tests()$/#\0/' testsuite.py || die
+}
+
+python_test() {
+	"${PYTHON}" testsuite.py || die "tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/kconfiglib/metadata.xml b/dev-python/kconfiglib/metadata.xml
new file mode 100644
index 0000000..1e8fb02
--- /dev/null
+++ b/dev-python/kconfiglib/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<!-- maintainer-needed -->
+	<upstream>
+		<remote-id type="github">ulfalizer/Kconfiglib</remote-id>
+	</upstream>
+</pkgmetadata>
diff --git a/dev-python/metadata.xml b/dev-python/metadata.xml
deleted file mode 100644
index cbb601a..0000000
--- a/dev-python/metadata.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The dev-python category contains libraries, utilities or
-		bindings written in or for the Python programming language. 
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie dev-python enthält Bibliotheken und Werkzeuge für die
-		Programmiersprache Python.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría dev-python contiene librerias y utilidades referentes al
-		lenguaje de programación Python.
-	</longdescription>
-	<longdescription lang="ja">
-		dev-pythonカテゴリーにはPythonプログラミング言語で記述された/のために
-		記述されたライブラリーと>ユーティリティとバインディングが含まれます。
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria dev-python zawiera biblioteki oraz narzędzia związane
-		z językiem programowania Python.
-	</longdescription>
-	<longdescription lang="nl">
-		De dev-python categorie bevat bibliotheken en hulpmiddelen voor het gebruik
-		van de programmeertaal Python.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm dev-python chứa các thư viện và tiện ích liên quan
-		đến ngôn ngữ lập trình Python.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria dev-python contiene librerie ed utilità per il linguaggio di programmazione Python.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria dev-python contém bibliotecas, utilitários e
-		bindings escritos em ou para a linguagem de programação Python.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria dev-python zawiera biblioteki, narzędzia i powiązania
-		(bindings) napisane w lub stworzone do pisania w języku programowania
-		Python.
-	</longdescription>
-</catmetadata>
-
diff --git a/dev-python/pyftdi/Manifest b/dev-python/pyftdi/Manifest
index 9480699..866f336 100644
--- a/dev-python/pyftdi/Manifest
+++ b/dev-python/pyftdi/Manifest
@@ -1 +1 @@
-DIST pyftdi-0.53.3.tar.gz 133930 BLAKE2B 85787ea9fcb4754c0e3b7c37da5088e743e8ffe898ce4b9a46855ae515438a638786bbe49191ad614f62f00e88fd197e89ccdca6c4592e8aa271427e1aaf9033 SHA512 402ed6743d85ebe56bf49be989273094f9cf4f6273d43f05b327ea57fc073962501ad972457483222414b25e28627d1fc53b76dc4322e01653896f8ebdbe5924
+DIST pyftdi-0.54.0.tar.gz 137179 BLAKE2B ace3ae857d0a65325f6548c6234c4333a8461bc25d84bcc7de695a094c2b4eb7c8f60ecf0707cf77d7475da97998193a1971fde84a301c07b19982caf1ad5a9a SHA512 5843762e8bd921368c4da2ff954d255ca40b5dd89c13831bf70ddb8dc8466c4419c26beed2813b6b612959ee2a75f1587d2e0299b302b89d4cc4c4229ce971cf
diff --git a/dev-python/pyftdi/pyftdi-0.53.3.ebuild b/dev-python/pyftdi/pyftdi-0.54.0.ebuild
similarity index 100%
rename from dev-python/pyftdi/pyftdi-0.53.3.ebuild
rename to dev-python/pyftdi/pyftdi-0.54.0.ebuild
diff --git a/dev-python/pypy3-exe-bin/Manifest b/dev-python/pypy3-exe-bin/Manifest
new file mode 100644
index 0000000..638cf0f
--- /dev/null
+++ b/dev-python/pypy3-exe-bin/Manifest
@@ -0,0 +1,4 @@
+DIST libffi-3.3.tar.gz 1305466 BLAKE2B cddc40729a30a9bd34d675809f51f8d1b4ccaffa54bc6dd6f7e965f4e260edd34754719f9f6247c8957aeb7cf154d56ce1fe16a54c3f1ad39afbebdf41d23caa SHA512 61513801a156f11420f541d325de697131846487122d6bdcf5491b18b4da788589f5c0bb07e88e396495d3be5830d74e9135595e2b8ddbfe95c448d8597fbd6f
+DIST ncurses-6.1.tar.gz 3415649 BLAKE2B c1bd13ce005551477159b9dde4a5b868cbe7c3577b3cd6a815136140489ff32e36594d7d2f7dcb1c1eadee34ccafff53d268dccd5d9f29fcffead335180dc3c6 SHA512 4f026aab4e73d1aaff41f0eff434c1789405650038eb247119733bf77d0d84cc4fed54da874f055294ae0b2d09f574c6a08ae4f648351d9e2b29f52b9d0e5030
+DIST pypy3-exe-7.3.1-1.amd64.xpak 11657579 BLAKE2B 1a037b447c7a73ac37bd7c33f4009442dabaf082a844744093dbb0f835b71abad48a6bfb28ebed0b02bb8a86f59f11b351768f152fd5db8b31ee010b14ffde79 SHA512 ee03ac675e6967d306136e79cbbb1554c44a32a21a0756b09dd7c1af84a9b3cb7e69a0094431bf6427271cf2fb1840e62935f53580e8d3eedef54d9bef2994e2
+DIST pypy3-exe-7.3.1-1.x86.xpak 8983621 BLAKE2B 00ea3210e040dd72f169eb2f162f032eb3ddadefd5f114cb4fdb052b40640235f866fc26f577eb22ff64025d2b4234a194529cbac6350aeffa17bb662e98c5b0 SHA512 caa6e4e08c61e3101aa7e971b2aeae04b41c57206327baefeee4a077d09b5bef28ca3518e6823bdf9907ccd4a8ee2b843369ffd87ef0bcb95a66f21ddd87c61e
diff --git a/dev-python/pypy3-exe-bin/OWNERS b/dev-python/pypy3-exe-bin/OWNERS
new file mode 100644
index 0000000..d39c14f
--- /dev/null
+++ b/dev-python/pypy3-exe-bin/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/infra/OWNERS.build
diff --git a/dev-python/pypy3-exe-bin/metadata.xml b/dev-python/pypy3-exe-bin/metadata.xml
new file mode 100644
index 0000000..efd7c8c
--- /dev/null
+++ b/dev-python/pypy3-exe-bin/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="project">
+		<email>python@gentoo.org</email>
+		<name>Python</name>
+	</maintainer>
+</pkgmetadata>
diff --git a/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.1-r1.ebuild b/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.1-r1.ebuild
new file mode 120000
index 0000000..e335838
--- /dev/null
+++ b/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.1-r1.ebuild
@@ -0,0 +1 @@
+pypy3-exe-bin-7.3.1.ebuild
\ No newline at end of file
diff --git a/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.1.ebuild b/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.1.ebuild
new file mode 100644
index 0000000..a45fa26
--- /dev/null
+++ b/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.1.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit pax-utils
+
+# We build & install newer libs that this prebuilt needs to unblock the move from
+# Python 2 to Python 3.  This tool is only used to bootstrap the real pypy3-exe,
+# so bundling these libs isn't a problem in general.  It's not a pattern that we
+# want to repeat though.
+# TODO(cros-build): Upgrade libffi & ncurses in the SDK.
+LIBFFI_PV="3.3"
+NCURSES_PV="6.1"
+
+MY_P=pypy3-exe-${PV}-1
+DESCRIPTION="PyPy3 executable (pre-built version)"
+HOMEPAGE="https://www.pypy.org/"
+SRC_URI="
+	https://github.com/libffi/libffi/releases/download/v${LIBFFI_PV}/libffi-${LIBFFI_PV}.tar.gz
+	mirror://gnu/ncurses/ncurses-${NCURSES_PV}.tar.gz
+	amd64? (
+		https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3-exe/${MY_P}.xpak
+			-> ${MY_P}.amd64.xpak
+	)
+	x86? (
+		https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3-exe/${MY_P}.xpak
+			-> ${MY_P}.x86.xpak
+	)"
+S="${WORKDIR}"
+
+LICENSE="MIT"
+SLOT="${PV%_p*}"
+KEYWORDS="*"
+
+#	|| (
+#		dev-libs/libffi-compat:7
+#		dev-libs/libffi:0/7
+#	)
+#	sys-libs/ncurses:0/6
+RDEPEND=">=sys-libs/zlib-1.1.3:0/1
+	virtual/libintl:0/0
+	dev-libs/expat:0/0
+	app-arch/bzip2:0/1
+	!dev-python/pypy-exe:${SLOT}"
+
+PYPY_PV=${SLOT%_p*}
+QA_PREBUILT="
+	usr/bin/pypy3-c-${PYPY_PV}"
+
+src_unpack() {
+	ebegin "Unpacking ${MY_P}.${ARCH}.xpak"
+	tar -x < <(xz -c -d --single-stream "${DISTDIR}/${MY_P}.${ARCH}.xpak")
+	eend ${?} || die "Unpacking ${MY_P} failed"
+
+	unpack libffi-${LIBFFI_PV}.tar.gz ncurses-${NCURSES_PV}.tar.gz
+}
+
+src_configure() {
+	cd "${WORKDIR}"/ncurses-${NCURSES_PV} || die
+	econf \
+		--with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo" \
+		--with-shared \
+		--without-hashed-db \
+		--without-ada \
+		--without-cxx \
+		--without-cxx-binding \
+		--with-cxx-shared \
+		--without-debug \
+		--without-profile \
+		--without-gpm \
+		--without-term-driver \
+		--disable-termcap \
+		--enable-symlinks \
+		--with-rcs-ids \
+		--without-manpages \
+		--enable-const \
+		--enable-colorfgbg \
+		--enable-hard-tabs \
+		--enable-echo \
+		--enable-warnings \
+		--without-assertions \
+		--enable-leaks \
+		--without-expanded \
+		--with-macros \
+		--without-progs \
+		--without-tests \
+		--without-trace \
+		--with-termlib \
+		--disable-stripping \
+		--enable-widec &
+
+	cd "${WORKDIR}"/libffi-${LIBFFI_PV} || die
+	econf
+
+	# If ncurses failed, econf will trigger die for us.
+	wait
+}
+
+src_compile() {
+	emake -C "${WORKDIR}"/ncurses-${NCURSES_PV}
+	emake -C "${WORKDIR}"/libffi-${LIBFFI_PV}
+}
+
+src_install() {
+	insinto /
+	doins -r usr
+	# Rename pypy3-c binary as .bin
+	mv "${ED}/usr/lib/pypy3.6/pypy3-c-${PYPY_PV}"{,.bin}
+	fperms +x "/usr/lib/pypy3.6/pypy3-c-${PYPY_PV}.bin"
+	pax-mark m "${ED}/usr/lib/pypy3-c-${PYPY_PV}.bin"
+
+
+	# Create loader script inside /usr/lib/pypy3.6
+	# Use --argv0 since loader script is now located inside the
+	# directory which also contains stdlibs.
+	insinto "/usr/lib/pypy3.6"
+	cat <<EOF | newins - "pypy3-c-${PYPY_PV}"
+#!/bin/sh
+exec /lib64/ld-linux-x86-64.so.2 \
+	--library-path /usr/libexec/${PN} \
+	--argv0 "\$0" \
+	"/usr/lib/pypy3.6/pypy3-c-${PYPY_PV}.bin" "\$@"
+EOF
+	fperms +x "/usr/lib/pypy3.6/pypy3-c-${PYPY_PV}"
+
+	# Create /usr/bin symlink to loader script under /usr/lib/pypy3.6
+	dosym "/usr/lib/pypy3.6/pypy3-c-${PYPY_PV}" "/usr/bin/pypy3-c-${PYPY_PV}"
+
+	exeinto /usr/libexec/${PN}
+
+	cd "${WORKDIR}"/ncurses-${NCURSES_PV} || die
+	doexe lib/lib{ncurses,tinfo}w.so.6
+
+	cd "${WORKDIR}"/libffi-${LIBFFI_PV} || die
+	emake install DESTDIR="${PWD}/root"
+	doexe root/usr/*/libffi.so.7
+}
diff --git a/dev-python/pyshark/Manifest b/dev-python/pyshark/Manifest
new file mode 100644
index 0000000..546cc77
--- /dev/null
+++ b/dev-python/pyshark/Manifest
@@ -0,0 +1 @@
+DIST pyshark-0.4.3.tar.gz 30420 BLAKE2B 26b54f61ad10a655b19269ad094a394fcf612df1699b4eef5bd139f9b53f79c57394446db51d4f45dcc47592927ffc6862169844d644190d3f80d593d7e24681 SHA512 797c1783b87e96bbbe734bdf8550822c7be260c6d0f79c9e59d73a1e85c15eec6ca786a373d413444727d77425fe129d907a6f25f9482c0afc48237bbb3c2721
diff --git a/dev-python/pyshark/OWNERS b/dev-python/pyshark/OWNERS
new file mode 100644
index 0000000..18ad1e5
--- /dev/null
+++ b/dev-python/pyshark/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/shill/OWNERS
diff --git a/dev-python/pyshark/metadata.xml b/dev-python/pyshark/metadata.xml
new file mode 100644
index 0000000..667dc8a
--- /dev/null
+++ b/dev-python/pyshark/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+  <maintainer type="project">
+    <email>python@gentoo.org</email>
+    <name>Python</name>
+  </maintainer>
+  <upstream>
+    <remote-id type="pypi">pyshark</remote-id>
+    <remote-id type="github">KimiNewt/pyshark</remote-id>
+  </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyshark/pyshark-0.4.3-r1.ebuild b/dev-python/pyshark/pyshark-0.4.3-r1.ebuild
new file mode 120000
index 0000000..b54a86a
--- /dev/null
+++ b/dev-python/pyshark/pyshark-0.4.3-r1.ebuild
@@ -0,0 +1 @@
+pyshark-0.4.3.ebuild
\ No newline at end of file
diff --git a/dev-python/pyshark/pyshark-0.4.3.ebuild b/dev-python/pyshark/pyshark-0.4.3.ebuild
new file mode 100644
index 0000000..bcd70d9
--- /dev/null
+++ b/dev-python/pyshark/pyshark-0.4.3.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PYTHON_COMPAT=( python{3_6,3_8} )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="A Python wrapper for tshark output parsing"
+HOMEPAGE="https://pypi.org/project/pyshark/ https://github.com/KimiNewt/pyshark"
+# pypi tarball is missing tests
+#SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+SRC_URI="https://github.com/KimiNewt/pyshark/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# See pyshark.egg-info/requires.txt
+RDEPEND="
+	dev-python/py[${PYTHON_USEDEP}]
+	dev-python/lxml[${PYTHON_USEDEP}]
+	net-analyzer/wireshark[tshark(+)]"
+DEPEND="
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	test? (
+		${RDEPEND}
+		dev-python/pytest[${PYTHON_USEDEP}]
+	)
+"
+
+S="${WORKDIR}/${P}/src"
+
+python_prepare_all() {
+	# Test fails unless portage can execute /usr/bin/dumpcap
+	# https://github.com/KimiNewt/pyshark/issues/197
+	rm "${WORKDIR}/${P}/tests/capture/test_inmem_capture.py" || die
+	distutils-r1_python_prepare_all
+}
+
+python_test() {
+	cd "${WORKDIR}/${P}/tests" || die
+	py.test -v || die
+}
diff --git a/dev-python/robotframework/Manifest b/dev-python/robotframework/Manifest
new file mode 100644
index 0000000..e77ba93
--- /dev/null
+++ b/dev-python/robotframework/Manifest
@@ -0,0 +1 @@
+DIST robotframework-4.0.1.zip 690832 BLAKE2B 31f1b398d7aff3a48fc2225e304a6d03227ef4f7152423ec3815212e833bf984abc9be71e46ef767ad8dcbd78200f9bb495653f6e97605ffa0b15ed94742e2f3 SHA512 90caa16445a4f3fd15b2f2c26afa71005b330a2bfb53f57de4e70380fdf8ff274276c37421b93a05e93b0c32a4adc8e47b2cd318919df9a48fb790eff1b7523d
diff --git a/dev-rust/serialport/OWNERS b/dev-python/robotframework/OWNERS
similarity index 100%
copy from dev-rust/serialport/OWNERS
copy to dev-python/robotframework/OWNERS
diff --git a/dev-python/robotframework/robotframework-4.0.1.ebuild b/dev-python/robotframework/robotframework-4.0.1.ebuild
new file mode 100644
index 0000000..9152cac
--- /dev/null
+++ b/dev-python/robotframework/robotframework-4.0.1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python2_7 python3_{6..9} )
+inherit distutils-r1
+
+DESCRIPTION="Generic automation framework for acceptance testing and robotic
+process automation (RPA)"
+HOMEPAGE="https://robotframework.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
diff --git a/dev-python/ws4py/OWNERS b/dev-python/ws4py/OWNERS
new file mode 100644
index 0000000..0855f0f
--- /dev/null
+++ b/dev-python/ws4py/OWNERS
@@ -0,0 +1 @@
+include /chromeos-base/factory-deps/OWNERS
diff --git a/dev-python/ws4py/files/ws4py-0.5.1-python3.7+-compatibility.patch b/dev-python/ws4py/files/ws4py-0.5.1-python3.7+-compatibility.patch
new file mode 100644
index 0000000..12b1411
--- /dev/null
+++ b/dev-python/ws4py/files/ws4py-0.5.1-python3.7+-compatibility.patch
@@ -0,0 +1,93 @@
+From: Matthias Klose <doko@ubuntu.com>
+Date: Sun, 29 Jul 2018 09:01:36 +0200
+Subject: Fix compatibility with Python 3.7.
+Origin: http://launchpadlibrarian.net/380629852/python-ws4py_0.4.2+dfsg1-2_0.4.2+dfsg1-2ubuntu1.diff.gz
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=903529
+
+---
+ test/autobahn_test_servers.py | 4 ++--
+ ws4py/async_websocket.py      | 9 +++++++--
+ ws4py/server/tulipserver.py   | 7 ++++++-
+ 3 files changed, 15 insertions(+), 5 deletions(-)
+
+diff --git a/test/autobahn_test_servers.py b/test/autobahn_test_servers.py
+index 3e33f82..8b77954 100644
+--- a/test/autobahn_test_servers.py
++++ b/test/autobahn_test_servers.py
+@@ -142,7 +142,7 @@ def run_python_wsgi(host="127.0.0.1", port=9002):
+     """
+     run_python_wsgi_async(host, port, False)
+ 
+-def run_python_wsgi_async(host="127.0.0.1", port=9010, async=True):
++def run_python_wsgi_async(host="127.0.0.1", port=9010, async_=True):
+     """
+     Runs wsgi server on python 2.x with async middleware"
+     """
+@@ -153,7 +153,7 @@ def run_python_wsgi_async(host="127.0.0.1", port=9010, async=True):
+     from ws4py.server.wsgiutils import WebSocketWSGIApplication
+ 
+     app = WebSocketWSGIApplication(handler_cls=EchoWebSocket)
+-    if async:
++    if async_:
+         def middleware(app):
+             def later(environ, start_response):
+                 for part in app(environ, start_response):
+diff --git a/ws4py/async_websocket.py b/ws4py/async_websocket.py
+index 9e2a4c7..096763d 100644
+--- a/ws4py/async_websocket.py
++++ b/ws4py/async_websocket.py
+@@ -18,6 +18,11 @@ delegated_generator_websocket_on_top_of_asyncio.py
+ import asyncio
+ import types
+ 
++try:                                                     # pragma: no cover
++    asyncio_ensure_future = asyncio.ensure_future        # Python >= 3.5
++except AttributeError:                                   # pragma: no cover
++    asyncio_ensure_future = getattr(asyncio, 'async')    # Python < 3.5
++
+ from ws4py.websocket import WebSocket as _WebSocket
+ from ws4py.messaging import Message
+ 
+@@ -84,7 +89,7 @@ class WebSocket(_WebSocket):
+         def closeit():
+             yield from self.proto.writer.drain()
+             self.proto.writer.close()
+-        asyncio.async(closeit())
++        asyncio.asyncio_ensure_future(closeit())
+ 
+     def _write(self, data):
+         """
+@@ -94,7 +99,7 @@ class WebSocket(_WebSocket):
+         def sendit(data):
+             self.proto.writer.write(data)
+             yield from self.proto.writer.drain()
+-        asyncio.async(sendit(data))
++        asyncio.asyncio_ensure_future(sendit(data))
+ 
+     @asyncio.coroutine
+     def run(self):
+diff --git a/ws4py/server/tulipserver.py b/ws4py/server/tulipserver.py
+index 2786c16..ce2e9fb 100644
+--- a/ws4py/server/tulipserver.py
++++ b/ws4py/server/tulipserver.py
+@@ -6,6 +6,11 @@ import io
+ 
+ import asyncio
+ 
++try:                                                     # pragma: no cover
++    asyncio_ensure_future = asyncio.ensure_future        # Python >= 3.5
++except AttributeError:                                   # pragma: no cover
++    asyncio_ensure_future = getattr(asyncio, 'async')    # Python < 3.5
++
+ from ws4py import WS_KEY, WS_VERSION
+ from ws4py.exc import HandshakeError
+ from ws4py.websocket import WebSocket
+@@ -40,7 +45,7 @@ class WebSocketProtocol(asyncio.StreamReaderProtocol):
+         #self.stream.set_transport(transport)
+         asyncio.StreamReaderProtocol.connection_made(self, transport)
+         # Let make it concurrent for others to tag along
+-        f = asyncio.async(self.handle_initial_handshake())
++        f = asyncio.asyncio_ensure_future(self.handle_initial_handshake())
+         f.add_done_callback(self.terminated)
+ 
+     @property
diff --git a/dev-python/ws4py/metadata.xml b/dev-python/ws4py/metadata.xml
index cb99199..c304c23 100644
--- a/dev-python/ws4py/metadata.xml
+++ b/dev-python/ws4py/metadata.xml
@@ -1,15 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-  <maintainer type="person">
-    <email>whissi@gentoo.org</email>
-    <name>Thomas Deutschmann</name>
-  </maintainer>
-  <use>
-    <flag name="client">Install client modules</flag>
-    <flag name="server">Install server modules</flag>
-  </use>
-  <upstream>
-    <remote-id type="github">Lawouach/WebSocket-for-Python</remote-id>
-  </upstream>
+	<maintainer type="person">
+		<email>whissi@gentoo.org</email>
+		<name>Thomas Deutschmann</name>
+	</maintainer>
+	<use>
+		<flag name="client">Install client modules</flag>
+		<flag name="server">Install server modules</flag>
+	</use>
+	<upstream>
+		<remote-id type="github">Lawouach/WebSocket-for-Python</remote-id>
+		<remote-id type="pypi">ws4py</remote-id>
+	</upstream>
 </pkgmetadata>
diff --git a/dev-python/ws4py/ws4py-0.5.1-r1.ebuild b/dev-python/ws4py/ws4py-0.5.1-r1.ebuild
new file mode 100644
index 0000000..009448e
--- /dev/null
+++ b/dev-python/ws4py/ws4py-0.5.1-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# We could depend on dev-python/cherrypy when USE=server, but
+# that is an optional component ...
+# Same for www-servers/tornado and USE=client ... so why not???
+# pypy is viable but better with a cutdown set of deps
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9} )
+PYTHON_REQ_USE="threads(+)?"
+
+MY_PN="WebSocket-for-Python"
+
+inherit distutils-r1
+
+if [[ ${PV} == "9999" ]] ; then
+	EGIT_REPO_URI="https://github.com/Lawouach/${MY_PN}.git"
+	inherit git-r3
+else
+	SRC_URI="https://github.com/Lawouach/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="*"
+	S="${WORKDIR}/${MY_PN}-${PV}"
+fi
+
+DESCRIPTION="WebSocket client and server library for Python 2 and 3 as well as PyPy"
+HOMEPAGE="https://github.com/Lawouach/WebSocket-for-Python"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="+client +server test +threads"
+RESTRICT="!test? ( test )"
+# doc build requires sphinxcontrib ext packages absent from portage
+
+RDEPEND=">=dev-python/greenlet-0.4.1[${PYTHON_USEDEP}]
+	>=dev-python/cython-0.19.1[${PYTHON_USEDEP}]
+	server? ( >=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}] )"
+
+DEPEND="test? (
+		>=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}]
+		>=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
+	)"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.5.1-python3.7+-compatibility.patch
+)
+
+python_test() {
+	# testsuite displays an issue with mock under py3 but is non fatal
+	"${EPYTHON}" -m unittest discover || die "Tests failed under ${EPYTHON}"
+}
+
+python_install() {
+	distutils-r1_python_install
+	use client || rm -rf "${D}$(python_get_sitedir)"/ws4py/client
+	use server || rm -rf "${D}$(python_get_sitedir)"/ws4py/server
+}
diff --git a/dev-python/ws4py/ws4py-0.5.1.ebuild b/dev-python/ws4py/ws4py-0.5.1.ebuild
deleted file mode 100644
index 43f8ba4..0000000
--- a/dev-python/ws4py/ws4py-0.5.1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# We could depend on dev-python/cherrypy when USE=server, but
-# that is an optional component ...
-# Same for www-servers/tornado and USE=client ... so why not???
-# pypy is viable but better with a cutdown set of deps
-
-EAPI=6
-PYTHON_COMPAT=( python3_6 )
-PYTHON_REQ_USE="threads?"
-
-inherit distutils-r1
-if [[ ${PV} == "9999" ]] ; then
-	EGIT_REPO_URI="https://github.com/Lawouach/WebSocket-for-Python.git"
-	inherit git-r3
-else
-	inherit vcs-snapshot
-	SRC_URI="https://github.com/Lawouach/WebSocket-for-Python/archive/${PV}.tar.gz -> ${P}.tar.gz"
-	KEYWORDS="*"
-fi
-
-DESCRIPTION="WebSocket client and server library for Python 2 and 3 as well as PyPy"
-HOMEPAGE="https://github.com/Lawouach/WebSocket-for-Python"
-
-LICENSE="BSD"
-SLOT="0"
-IUSE="+client +server test +threads"
-RESTRICT="!test? ( test )"
-# doc build requires sphinxcontrib ext packages absent from portage
-
-RDEPEND=">=dev-python/greenlet-0.4.1[${PYTHON_USEDEP}]
-		>=dev-python/cython-0.19.1[${PYTHON_USEDEP}]
-		server? ( >=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}] )"
-DEPEND="test? (
-		>=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}]
-		dev-python/unittest2[${PYTHON_USEDEP}]
-		>=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
-	)"
-
-python_test() {
-	# testsuite displays an issue with mock under py3 but is non fatal
-	"${PYTHON}" -m unittest discover || die "Tests failed under ${EPYTHON}"
-}
-
-python_install() {
-	distutils-r1_python_install
-	use client || rm -rf "${D}$(python_get_sitedir)"/ws4py/client
-	use server || rm -rf "${D}$(python_get_sitedir)"/ws4py/server
-}
diff --git a/dev-rust/OWNERS b/dev-rust/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/dev-rust/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/dev-rust/ahash/Manifest b/dev-rust/ahash/Manifest
new file mode 100644
index 0000000..c13e1d5
--- /dev/null
+++ b/dev-rust/ahash/Manifest
@@ -0,0 +1 @@
+DIST ahash-0.7.6.crate 38030 BLAKE2B aca3661477fcd7822d6d10970151e05c28e1615f8cd7ddaac064b15102027e404b19b0f3f16dd76145048594ea1c22ae27dd08cc05c411efbae9ec7a1ef55ce9 SHA512 61354688b6fb096359faefb6f34be958cd2215d56b88c22c737d24183eaad433f811bc9e64f927e4852c87d2799c22fda82b55cfbef2ed6357ff74f0c4ffec68
diff --git a/dev-rust/ahash/ahash-0.7.0.ebuild b/dev-rust/ahash/ahash-0.7.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/ahash/ahash-0.7.0.ebuild
+++ b/dev-rust/ahash/ahash-0.7.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/ahash/ahash-0.7.6-r2.ebuild b/dev-rust/ahash/ahash-0.7.6-r2.ebuild
new file mode 120000
index 0000000..52a0fe3
--- /dev/null
+++ b/dev-rust/ahash/ahash-0.7.6-r2.ebuild
@@ -0,0 +1 @@
+ahash-0.7.6.ebuild
\ No newline at end of file
diff --git a/dev-rust/ahash/ahash-0.7.6.ebuild b/dev-rust/ahash/ahash-0.7.6.ebuild
new file mode 100644
index 0000000..08f33c6
--- /dev/null
+++ b/dev-rust/ahash/ahash-0.7.6.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='A non-cryptographic hash function using AES-NI for high performance'
+HOMEPAGE='https://crates.io/crates/ahash'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+# We need the local patch until upstream has fix for the following issue:
+# https://github.com/tkaitchuck/aHash/issues/117
+PATCHES=(
+	"${FILESDIR}/${PN}-${PV}-rm-features.patch"
+)
+
+DEPEND="
+	=dev-rust/version_check-0.9*:=
+	>=dev-rust/const-random-0.1.12 <dev-rust/const-random-0.2.0_alpha:=
+	>=dev-rust/getrandom-0.2.3 <dev-rust/getrandom-0.3.0_alpha:=
+	>=dev-rust/serde-1.0.117 <dev-rust/serde-2.0.0_alpha:=
+	>=dev-rust/once_cell-1.8.0 <dev-rust/once_cell-2.0.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/ahash/files/ahash-0.7.6-rm-features.patch b/dev-rust/ahash/files/ahash-0.7.6-rm-features.patch
new file mode 100644
index 0000000..92ff93f
--- /dev/null
+++ b/dev-rust/ahash/files/ahash-0.7.6-rm-features.patch
@@ -0,0 +1,17 @@
+diff --git a/build.rs b/build.rs
+index 8be4964..d8c1d21 100644
+--- a/build.rs
++++ b/build.rs
+@@ -4,12 +4,6 @@ use std::env;
+ 
+ fn main() {
+     println!("cargo:rerun-if-changed=build.rs");
+-    if let Some(channel) = version_check::Channel::read() {
+-        if channel.supports_features() {
+-            println!("cargo:rustc-cfg=feature=\"specialize\"");
+-            println!("cargo:rustc-cfg=feature=\"stdsimd\"");
+-        }
+-    }
+     let os = env::var("CARGO_CFG_TARGET_OS").expect("CARGO_CFG_TARGET_OS was not set");
+     if os.eq_ignore_ascii_case("linux")
+         || os.eq_ignore_ascii_case("android")
diff --git a/dev-rust/alsa-sys/alsa-sys-0.2.0.ebuild b/dev-rust/alsa-sys/alsa-sys-0.2.0.ebuild
index 8ad4acc..bc4dfdb 100644
--- a/dev-rust/alsa-sys/alsa-sys-0.2.0.ebuild
+++ b/dev-rust/alsa-sys/alsa-sys-0.2.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2020 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=6
+EAPI=7
 
 inherit cros-rust
 
diff --git a/dev-rust/android_log-sys/android_log-sys-0.2.0.ebuild b/dev-rust/android_log-sys/android_log-sys-0.2.0.ebuild
index 072e90c..5c585f2 100644
--- a/dev-rust/android_log-sys/android_log-sys-0.2.0.ebuild
+++ b/dev-rust/android_log-sys/android_log-sys-0.2.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/anyhow/Manifest b/dev-rust/anyhow/Manifest
index ed66a7e..0ccafce 100644
--- a/dev-rust/anyhow/Manifest
+++ b/dev-rust/anyhow/Manifest
@@ -1 +1,2 @@
 DIST anyhow-1.0.51.crate 44100 BLAKE2B 20683fd139775cd399bd0fd63599f64a646f8b74c65415af965d3c24690fd81fe48205bedaaaab92075b487b71d5d315be5fdf38ff7c5ecf3e1a1d693a3505ee SHA512 e8e3feebc3c96b7301787502f000b9940a20343a466ac48186c9aa170fb52f0db17768630535a8b475077733ad6ff9f843a3bd5ae4415c86bf83cae0ed0bad7c
+DIST anyhow-1.0.56.crate 44780 BLAKE2B 142a2c02e51dc6fa2709d349881aea404b14dbdfa379ddd6a99672df4977dcca0658897c9e9881e291fb56f5b522cf2a0e2da12afb7038d0929d05f436ff68a9 SHA512 9dc8233b87f8229676ad08903cc1507370588d63702c10bff3426d00ce10754744477d5ba3396c94e7128eeef12c647f8f042de8cc6d1943c2882785ac7ebab5
diff --git a/dev-rust/anyhow/anyhow-1.0.56.ebuild b/dev-rust/anyhow/anyhow-1.0.56.ebuild
new file mode 100644
index 0000000..12b0cb1
--- /dev/null
+++ b/dev-rust/anyhow/anyhow-1.0.56.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Flexible concrete Error type built on std::error::Error'
+HOMEPAGE='https://crates.io/crates/anyhow'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/backtrace-0.3.51 <dev-rust/backtrace-0.4.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/arbitrary/arbitrary-0.4.0.ebuild b/dev-rust/arbitrary/arbitrary-0.4.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/arbitrary/arbitrary-0.4.0.ebuild
+++ b/dev-rust/arbitrary/arbitrary-0.4.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/arbitrary/arbitrary-1.0.0.ebuild b/dev-rust/arbitrary/arbitrary-1.0.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/arbitrary/arbitrary-1.0.0.ebuild
+++ b/dev-rust/arbitrary/arbitrary-1.0.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/arc-swap/Manifest b/dev-rust/arc-swap/Manifest
deleted file mode 100644
index 51e1a43..0000000
--- a/dev-rust/arc-swap/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST arc-swap-0.4.8.crate 48254 BLAKE2B 46b0ba55947a085170557f0035c94071e88f15f3bd0b3b30ee3e24fe52e11519d2144b6496b29594329f186f49a993843ad9f8483b5b78072c9e4e2e1f86209d SHA512 78304686bd74c051cb88aa960b99e5349b0805d065e3af51f2ccb521b5e309c59dc3011f296b76e99c615059dd3be0a64b029c0ee9a08a3eb1a3d6538843a8ef
diff --git a/dev-rust/arc-swap/OWNERS b/dev-rust/arc-swap/OWNERS
deleted file mode 100644
index 8feec812..0000000
--- a/dev-rust/arc-swap/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-include /dev-rust/vm-memory/OWNERS
diff --git a/dev-rust/arc-swap/arc-swap-0.4.8.ebuild b/dev-rust/arc-swap/arc-swap-0.4.8.ebuild
deleted file mode 100644
index d134f73..0000000
--- a/dev-rust/arc-swap/arc-swap-0.4.8.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION='Atomically swappable Arc'
-HOMEPAGE='https://crates.io/crates/arc-swap'
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( Apache-2.0 MIT )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-
-# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/assertions/assertions-0.1.0-r13.ebuild b/dev-rust/assertions/assertions-0.1.0-r13.ebuild
deleted file mode 100644
index 9dcb933..0000000
--- a/dev-rust/assertions/assertions-0.1.0-r13.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="c45faa08745f4d1110c1e3f0f0606e30358a5b6d"
-CROS_WORKON_TREE=("dbe587d866956d88c4445de8a9380cca33c6a231" "657879d7112bd65f190dbbf687daca14399681d0")
-CROS_WORKON_LOCALNAME="../platform/crosvm"
-CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_RUST_SUBDIR="common/assertions"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} .cargo"
-CROS_WORKON_SUBDIRS_TO_COPY=(${CROS_WORKON_SUTREE})
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Crates for compile-time assertion macro."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/assertions"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test"
-
-RDEPEND="!!<=dev-rust/assertions-0.1.0-r3"
diff --git a/dev-rust/assertions/assertions-0.1.0-r18.ebuild b/dev-rust/assertions/assertions-0.1.0-r18.ebuild
new file mode 100644
index 0000000..bff2809
--- /dev/null
+++ b/dev-rust/assertions/assertions-0.1.0-r18.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="2688ab92e10d2fa66db201406da17ae7b9bd2146"
+CROS_WORKON_TREE=("98dc0e41c39db32bf5bff523e7fb2c372405d891" "8083bdbef3cd7fbbc9ec90941ff0418df2ce6d78")
+CROS_WORKON_LOCALNAME="../platform/crosvm"
+CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_RUST_SUBDIR="common/assertions"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} .cargo"
+CROS_WORKON_SUBDIRS_TO_COPY=(${CROS_WORKON_SUTREE})
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Crates for compile-time assertion macro."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/assertions"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test"
+
+RDEPEND="!!<=dev-rust/assertions-0.1.0-r3"
diff --git a/dev-rust/atomic-polyfill/Manifest b/dev-rust/atomic-polyfill/Manifest
new file mode 100644
index 0000000..19ad351
--- /dev/null
+++ b/dev-rust/atomic-polyfill/Manifest
@@ -0,0 +1 @@
+DIST atomic-polyfill-0.1.8.crate 12267 BLAKE2B 3bd18fc212219735d4ae39e9b01f787c86d1ea3374c8a4058428d6f688654c3f2eb49cf5792839559d63e87295fc488dd43040d1944d1734cf4ee219853bc4a7 SHA512 aa6e8021baba1a5df607f2e50b81c07f2c53005d22020f6594a8c1597de52f18d1fb8fe3ee421776d578dfecf837b0e7e215cfae22e3342b539413366569667c
diff --git a/dev-rust/atomic-polyfill/atomic-polyfill-0.1.0.ebuild b/dev-rust/atomic-polyfill/atomic-polyfill-0.1.0.ebuild
deleted file mode 100644
index e5b72b0..0000000
--- a/dev-rust/atomic-polyfill/atomic-polyfill-0.1.0.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_EMPTY_CRATE=1
-
-inherit cros-rust
-
-DESCRIPTION="Empty crate"
-HOMEPAGE=""
-
-LICENSE="BSD-Google"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/atomic-polyfill/atomic-polyfill-0.1.8.ebuild b/dev-rust/atomic-polyfill/atomic-polyfill-0.1.8.ebuild
new file mode 100644
index 0000000..d3f41bc
--- /dev/null
+++ b/dev-rust/atomic-polyfill/atomic-polyfill-0.1.8.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Atomic polyfills, for targets where they"re not available.'
+HOMEPAGE='https://crates.io/crates/atomic-polyfill'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/critical-section-0.2.7 <dev-rust/critical-section-0.3.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/autocfg/Manifest b/dev-rust/autocfg/Manifest
index 4b90c25..2e962f8 100644
--- a/dev-rust/autocfg/Manifest
+++ b/dev-rust/autocfg/Manifest
@@ -1,2 +1,3 @@
 DIST autocfg-0.1.2.crate 10444 BLAKE2B 1e37c97d6d309a5250552fc4c38066ba004674af6e6d091f08b24f47475c11b2db4b0967ce55d2208b9e2ba080e2bcb4b4226acd0da9d4c15dd844827ea6f0b4 SHA512 0f692f4062d22be01c32af2ceb6ed3887a7d65843e1a6ec696fbaa46517d02e62d573055efe5da3a63847f05bc37b254bf2dd750738b528774f63352eacdabe4
 DIST autocfg-1.0.1.crate 12908 BLAKE2B 40c53cab298e4f26634c3acff3ece6a3371188d91dbf377ed664eabedcde20536edaa93daf406618f37edde019f049a6e7b9a47f627344587dbd126bee2b5e3a SHA512 630b348acb98b012e97804e6325d03c89abc22f2157762c59144c04e6c733daf550bdc7f0fe0b9f3b50e15dae8c1c3c4bdfce3d805b02f0fc987311f5332419b
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
diff --git a/dev-rust/autocfg/autocfg-0.1.2.ebuild b/dev-rust/autocfg/autocfg-0.1.2.ebuild
index 4a26658..186d4b5 100644
--- a/dev-rust/autocfg/autocfg-0.1.2.ebuild
+++ b/dev-rust/autocfg/autocfg-0.1.2.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/autocfg/autocfg-1.1.0.ebuild b/dev-rust/autocfg/autocfg-1.1.0.ebuild
new file mode 100644
index 0000000..5fb3672
--- /dev/null
+++ b/dev-rust/autocfg/autocfg-1.1.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Automatic cfg for Rust compiler features'
+HOMEPAGE='https://crates.io/crates/autocfg'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/average/average-0.9.3.ebuild b/dev-rust/average/average-0.9.3.ebuild
index 072e90c..5c585f2 100644
--- a/dev-rust/average/average-0.9.3.ebuild
+++ b/dev-rust/average/average-0.9.3.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/backtrace-sys/backtrace-sys-0.1.16.ebuild b/dev-rust/backtrace-sys/backtrace-sys-0.1.16.ebuild
index 128414e..488ca2d 100644
--- a/dev-rust/backtrace-sys/backtrace-sys-0.1.16.ebuild
+++ b/dev-rust/backtrace-sys/backtrace-sys-0.1.16.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/balloon_control/balloon_control-0.1.0-r1.ebuild b/dev-rust/balloon_control/balloon_control-0.1.0-r1.ebuild
deleted file mode 100644
index 1b69d04..0000000
--- a/dev-rust/balloon_control/balloon_control-0.1.0-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="bdf5e4d4379030cfa2d0510328b8acce73162217"
-CROS_WORKON_TREE="5ff27d139a5de3c9025c9f2bd8be9524af894bfe"
-CROS_WORKON_LOCALNAME="../platform/crosvm"
-CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_RUST_SUBDIR="common/balloon_control"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
-CROS_WORKON_SUBDIRS_TO_COPY="${CROS_RUST_SUBDIR}"
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="APIs to allow external control of a virtio balloon device"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/common/balloon_control"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test"
-
-DEPEND="
-	=dev-rust/serde-1*:=
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-rust/balloon_control/balloon_control-0.1.0-r6.ebuild b/dev-rust/balloon_control/balloon_control-0.1.0-r6.ebuild
new file mode 100644
index 0000000..676fe6d
--- /dev/null
+++ b/dev-rust/balloon_control/balloon_control-0.1.0-r6.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="18b0f9638f55c2d6ac822a054868018b44847123"
+CROS_WORKON_TREE="fc23f6fc79cfe42999480f307ad3b5a12d4c9186"
+CROS_WORKON_LOCALNAME="../platform/crosvm"
+CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_RUST_SUBDIR="common/balloon_control"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
+CROS_WORKON_SUBDIRS_TO_COPY="${CROS_RUST_SUBDIR}"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="APIs to allow external control of a virtio balloon device"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/common/balloon_control"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test"
+
+DEPEND="
+	=dev-rust/serde-1*:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-rust/bencher/bencher-0.1.5.ebuild b/dev-rust/bencher/bencher-0.1.5.ebuild
index 072e90c..5c585f2 100644
--- a/dev-rust/bencher/bencher-0.1.5.ebuild
+++ b/dev-rust/bencher/bencher-0.1.5.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/bincode/bincode-0.8.0.ebuild b/dev-rust/bincode/bincode-0.8.0.ebuild
index 342c92d..5c585f2 100644
--- a/dev-rust/bincode/bincode-0.8.0.ebuild
+++ b/dev-rust/bincode/bincode-0.8.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="MIT"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/bincode/bincode-1.0.1.ebuild b/dev-rust/bincode/bincode-1.0.1.ebuild
index f7aba23..30027f3 100644
--- a/dev-rust/bincode/bincode-1.0.1.ebuild
+++ b/dev-rust/bincode/bincode-1.0.1.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_REMOVE_DEV_DEPS=1
 
diff --git a/dev-rust/bindgen/Manifest b/dev-rust/bindgen/Manifest
index dc360f4..62f91c6 100644
--- a/dev-rust/bindgen/Manifest
+++ b/dev-rust/bindgen/Manifest
@@ -1 +1 @@
-DIST bindgen-0.59.1.crate 205256 BLAKE2B 33ae52676b63c07cb532754a1a8ff79d2edab612c485efbb1ffb502a655f8c95dba580f6c35d959a126141c29bdcaaf08a72b98f8f4ce227d19f779a3bdf0516 SHA512 6e81999b8a07dfdaf3872a8fa86daae36508f1180c83da125d8494424fc64a947a486b0552c452e8797ce1448dd079e667713a310c98d19d5ac690f286dda11f
+DIST bindgen-0.59.2.crate 206267 BLAKE2B de66347fcf2d538879e49c85d2db80e86a70e27d3c84464b52a840476a31edae0cfa3e1afaba33ef0b7abadcb1e23a2fe1420e3254e0de1f6848b575a9c96620 SHA512 14c49879c7443191b877957a4fd405c7f10a1e8b70016d91bf5fe33861fc5d71982a1c685c190e4f7922cedb6c8aefadac3b0b68cbe5578da791a8da6bfedf44
diff --git a/dev-rust/bindgen/bindgen-0.59.1-r1.ebuild b/dev-rust/bindgen/bindgen-0.59.1-r1.ebuild
deleted file mode 120000
index 32d263d..0000000
--- a/dev-rust/bindgen/bindgen-0.59.1-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-bindgen-0.59.1.ebuild
\ No newline at end of file
diff --git a/dev-rust/bindgen/bindgen-0.59.1.ebuild b/dev-rust/bindgen/bindgen-0.59.1.ebuild
deleted file mode 100644
index 5de075d..0000000
--- a/dev-rust/bindgen/bindgen-0.59.1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION='Automatically generates Rust FFI bindings to C and C++ libraries.'
-HOMEPAGE='https://rust-lang.github.io/rust-bindgen/'
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="BSD"
-SLOT="0/${PVR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/bitflags-1.0.3 <dev-rust/bitflags-2.0.0_alpha:=
-	=dev-rust/cexpr-0.6*:=
-	=dev-rust/clang-sys-1*:=
-	=dev-rust/clap-2*:=
-	=dev-rust/env_logger-0.8*:=
-	=dev-rust/lazy_static-1*:=
-	=dev-rust/lazycell-1*:=
-	=dev-rust/log-0.4*:=
-	>=dev-rust/peeking_take_while-0.1.2 <dev-rust/peeking_take_while-0.2.0_alpha:=
-	=dev-rust/proc-macro2-1*:=
-	=dev-rust/quote-1*:=
-	=dev-rust/regex-1*:=
-	>=dev-rust/rustc-hash-1.0.1 <dev-rust/rustc-hash-2.0.0_alpha:=
-	=dev-rust/shlex-1*:=
-	=dev-rust/which-3*:=
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
-
-src_prepare() {
-	cros-rust_src_prepare
-	# Avoid a transitive dep on nom-6. This is upstream but not tagged in any release yet:
-	# https://github.com/rust-lang/rust-bindgen/commit/82462a37a149108db8c428f6caa5d8853ba25c40
-	sed -i -e '/^\[dependencies\.cexpr\]/,/^\[/ {
-		/^version =/c\version = "0.6"
-	}' Cargo.toml || die
-}
-
-src_compile() {
-	ecargo_build
-}
-
-src_install() {
-	cros-rust_src_install
-	dobin "$(cros-rust_get_build_dir)/bindgen"
-}
diff --git a/dev-rust/bindgen/bindgen-0.59.2.ebuild b/dev-rust/bindgen/bindgen-0.59.2.ebuild
new file mode 100644
index 0000000..b563a89
--- /dev/null
+++ b/dev-rust/bindgen/bindgen-0.59.2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Automatically generates Rust FFI bindings to C and C++ libraries.'
+HOMEPAGE='https://rust-lang.github.io/rust-bindgen/'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="BSD"
+SLOT="0/${PVR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/bitflags-1.0.3 <dev-rust/bitflags-2.0.0_alpha:=
+	=dev-rust/cexpr-0.6*:=
+	=dev-rust/clang-sys-1*:=
+	=dev-rust/clap-2*:=
+	=dev-rust/env_logger-0.9*:=
+	=dev-rust/lazy_static-1*:=
+	=dev-rust/lazycell-1*:=
+	=dev-rust/log-0.4*:=
+	>=dev-rust/peeking_take_while-0.1.2 <dev-rust/peeking_take_while-0.2.0_alpha:=
+	=dev-rust/proc-macro2-1*:=
+	=dev-rust/quote-1*:=
+	=dev-rust/regex-1*:=
+	>=dev-rust/rustc-hash-1.0.1 <dev-rust/rustc-hash-2.0.0_alpha:=
+	=dev-rust/shlex-1*:=
+	>=dev-rust/which-4.2.1 <dev-rust/which-5.0.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
+# Manual additions.
+src_compile() {
+	ecargo_build
+}
+
+src_install() {
+	cros-rust_src_install
+	dobin "$(cros-rust_get_build_dir)/bindgen"
+}
diff --git a/dev-rust/bit-set/Manifest b/dev-rust/bit-set/Manifest
new file mode 100644
index 0000000..72debf2
--- /dev/null
+++ b/dev-rust/bit-set/Manifest
@@ -0,0 +1 @@
+DIST bit-set-0.5.2.crate 14093 BLAKE2B 06d41a217438d9a00f8e57e592d12364b671d082f21a4d174673bc820dde28ef5ce02e782002d03c9311f71b0130eeeca7cfacbc4c1b27475069479163643ef3 SHA512 9709f35c7e69b84eed61f73da99ffe0693d1d0fa5fb94d13759cfbbb9dd4b0bb27628c3200e4b29ef29cdb0aede5fd3d7ddf663012b2c5946975bc169efbac34
diff --git a/dev-rust/bit-set/OWNERS b/dev-rust/bit-set/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/bit-set/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/bit-set/bit-set-0.5.2.ebuild b/dev-rust/bit-set/bit-set-0.5.2.ebuild
new file mode 100644
index 0000000..5a267cd
--- /dev/null
+++ b/dev-rust/bit-set/bit-set-0.5.2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='A set of bits'
+HOMEPAGE='https://github.com/contain-rs/bit-set'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/bit-vec-0.6.1 <dev-rust/bit-vec-0.7.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/bit-vec/Manifest b/dev-rust/bit-vec/Manifest
new file mode 100644
index 0000000..c484023
--- /dev/null
+++ b/dev-rust/bit-vec/Manifest
@@ -0,0 +1 @@
+DIST bit-vec-0.6.3.crate 19927 BLAKE2B f5bd3bb9c87fdf3b206739b74df20cab50a1a45af3a58b2642a5a061c26207884be58ef8369a3cd06dfd3615bff0ce15915fdd4b6b6f03facc4a0f86c0b7e910 SHA512 b4b4a82c80d0ff13527ae4fff449ac9c1c7bc519c013af6ea3428348e0e5b9306b725c0a13a42d7d9dcf0f895a9eee0c63695a2503eb7fd2200083c9ea3a9aa8
diff --git a/dev-rust/bit-vec/OWNERS b/dev-rust/bit-vec/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/bit-vec/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/bit-vec/bit-vec-0.6.3.ebuild b/dev-rust/bit-vec/bit-vec-0.6.3.ebuild
new file mode 100644
index 0000000..d533992
--- /dev/null
+++ b/dev-rust/bit-vec/bit-vec-0.6.3.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='A vector of bits'
+HOMEPAGE='https://github.com/contain-rs/bit-vec'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/serde-1*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/built/Manifest b/dev-rust/built/Manifest
index eeb9343..d03b3e4 100644
--- a/dev-rust/built/Manifest
+++ b/dev-rust/built/Manifest
@@ -1 +1 @@
-DIST built-0.3.1.crate 13889 BLAKE2B f41326a462224c2e110e66d2a43bf37567c7e787cfe83f627903343134ae27c9e2153f03c3ed592e16a6a2b8806dad98eba67c5f74f4f6a82151d490015ff496 SHA512 eaa47dd42745d2caf839fcd9b02278de4ad5b3cc839b26b443a7561e4658062dc788c26c164940bd5317e2ad2d3aa38733cba0f5e108d8fab800cf32070ee704
+DIST built-0.5.1.crate 16978 BLAKE2B c30702d40a4a251156b20e23ddf5e4f6d83425f805b041ea4cb52b16a01b590d009ed36b25c386c592bf39ab05ac44ccb803364fc8fafdbf191a42ed0aba574b SHA512 8081154ab6bc65de7f666ebf8b238b53266bc040c843b9ff88a19b465d1f73b592cb1e23e1f946065f552cd93a10a49fb5e2dc2876e3b320059f87bc93d7e2cd
diff --git a/dev-rust/built/built-0.3.1-r1.ebuild b/dev-rust/built/built-0.3.1-r1.ebuild
deleted file mode 120000
index 0249c40..0000000
--- a/dev-rust/built/built-0.3.1-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-built-0.3.1.ebuild
\ No newline at end of file
diff --git a/dev-rust/built/built-0.3.1.ebuild b/dev-rust/built/built-0.3.1.ebuild
deleted file mode 100644
index b7076ab..0000000
--- a/dev-rust/built/built-0.3.1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cros-rust
-
-DESCRIPTION="built provides a crate with information from the time it was built."
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="=dev-rust/toml-0.5*:=
-	=dev-rust/chrono-0.4*:=
-	=dev-rust/git2-0.9*:=
-	=dev-rust/semver-0.9*:=
-	=dev-rust/tempdir-0.3*:=
-"
-
-# thread 'new_testbox' panicked at 'called `Option::unwrap()` on a `None` value', tests/testbox_tests.rs:63:58
-RESTRICT="test"
diff --git a/dev-rust/built/built-0.5.1.ebuild b/dev-rust/built/built-0.5.1.ebuild
new file mode 100644
index 0000000..9a57d42
--- /dev/null
+++ b/dev-rust/built/built-0.5.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Provides a crate with information from the time it was built.'
+HOMEPAGE='https://crates.io/crates/built'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/cargo-lock-7*:=
+	=dev-rust/chrono-0.4*:=
+	=dev-rust/git2-0.13*:=
+	=dev-rust/semver-1*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/bumpalo/bumpalo-3.5.0.ebuild b/dev-rust/bumpalo/bumpalo-3.5.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/bumpalo/bumpalo-3.5.0.ebuild
+++ b/dev-rust/bumpalo/bumpalo-3.5.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/bytecount/Manifest b/dev-rust/bytecount/Manifest
new file mode 100644
index 0000000..7ad04c9
--- /dev/null
+++ b/dev-rust/bytecount/Manifest
@@ -0,0 +1 @@
+DIST bytecount-0.6.2.crate 12347 BLAKE2B 1ed4fa4a515567d8eabc2af03f0e1a3c89a24aa6cd77696a57bb94c25650f02b2f0e1e476fe9cb024a17d910442b940ea21bac3a99588146b8d89ab4adab0eca SHA512 990460eedfd41b6b52278c9dfcac81872e755d40cb839d162bddf44a30eec3a9fd76369847f10edf6c2b2d95cbec562e9a2a6c6dce37f2ee59ca9edfe972a279
diff --git a/dev-rust/bytecount/OWNERS b/dev-rust/bytecount/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/bytecount/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/bytecount/bytecount-0.6.2.ebuild b/dev-rust/bytecount/bytecount-0.6.2.ebuild
new file mode 100644
index 0000000..b083c45
--- /dev/null
+++ b/dev-rust/bytecount/bytecount-0.6.2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='count occurrences of a given byte, or the number of UTF-8 code points, in a byte slice, fast'
+HOMEPAGE='https://crates.io/crates/bytecount'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/packed_simd_2-0.3.4 <dev-rust/packed_simd_2-0.4.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/bytemuck_derive/bytemuck_derive-1.0.0.ebuild b/dev-rust/bytemuck_derive/bytemuck_derive-1.0.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/bytemuck_derive/bytemuck_derive-1.0.0.ebuild
+++ b/dev-rust/bytemuck_derive/bytemuck_derive-1.0.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/bytes/Manifest b/dev-rust/bytes/Manifest
index 8a8d336..6082598 100644
--- a/dev-rust/bytes/Manifest
+++ b/dev-rust/bytes/Manifest
@@ -1,2 +1,3 @@
 DIST bytes-0.4.12.crate 46361 BLAKE2B 991f1d9170e7d3438c7d74507e6274df551d483883b3be2d99f7bbc0611ee6bd3f8f45c0e086cfa5488e8fc00e36e9a549fc71a325ff62b9bb83bd8fd412b5df SHA512 5f603532ea2f04cbc53044422feed1667bf0486af398c9c8e2ce7b4601b37e1c47223201970fb0d17fed77fef7e89961e0ac05a30e6cc9bf13462d98bc587250
 DIST bytes-0.5.6.crate 46291 BLAKE2B 6d33ab47d04f2e469db2add31db118f95cad53002be7969738923d62a4fe3605ccbe9fbcae6d8741310c543625e80d9adac7d9e9fed01b71cb3943ddd015d920 SHA512 a1caa1f58754f4d2e54b8df8d0ca0083ee5282f5e4d3bb5b1735022933dd2e66fb3f39c7a82216bf7a7e29591695c2e10c8b7144c83ac598e34193f2425a32cc
+DIST bytes-1.1.0.crate 49640 BLAKE2B b3140dd49dc222cd0405e405da9629038eb7d71dd4c22c8d6419ade041dc1118aa46df38f3426a36a44d8e5591c368ae32a89e71850dca7e810bbfff4441c37d SHA512 d34441ea146ccaf55da4d5c645f8ffbd008eeb3204dafd5961771abc85df52751dfd1af3975fb5c91eb83d9a43da4f3589bc3aa07c8d715906d8158f3092af2d
diff --git a/dev-rust/bytes/OWNERS b/dev-rust/bytes/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/bytes/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/bytes/bytes-1.1.0-r1.ebuild b/dev-rust/bytes/bytes-1.1.0-r1.ebuild
new file mode 100644
index 0000000..547105d
--- /dev/null
+++ b/dev-rust/bytes/bytes-1.1.0-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION="A utility library for working with bytes."
+HOMEPAGE="https://github.com/tokio-rs/bytes"
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/serde-1.0.60:= <dev-rust/serde-2
+"
diff --git a/dev-rust/capnp/capnp-0.14.2.ebuild b/dev-rust/capnp/capnp-0.14.2.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/capnp/capnp-0.14.2.ebuild
+++ b/dev-rust/capnp/capnp-0.14.2.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/capnpc/capnpc-0.14.4.ebuild b/dev-rust/capnpc/capnpc-0.14.4.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/capnpc/capnpc-0.14.4.ebuild
+++ b/dev-rust/capnpc/capnpc-0.14.4.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/cargo-lock/Manifest b/dev-rust/cargo-lock/Manifest
new file mode 100644
index 0000000..4504133
--- /dev/null
+++ b/dev-rust/cargo-lock/Manifest
@@ -0,0 +1 @@
+DIST cargo-lock-7.1.0.crate 38207 BLAKE2B 6b48e07ea9e0ad86c8ca2ff19ba3125b4917f60fa9880681e64db68dd3b33b1ca4f4e7811c1beddcd94b3c3337c5b39786c3748b9762be0a18c69e71ee078d7c SHA512 9d26f5cdd0643fcc475534d0653a2618ca757ea218f0962f6e259d62349f4ff8e16f411a76fe5a87b71d1b4d92ee8b1cc5ef7cf3728e124f29bb18ada83dc320
diff --git a/dev-rust/cargo-lock/OWNERS b/dev-rust/cargo-lock/OWNERS
new file mode 100644
index 0000000..f969fac8
--- /dev/null
+++ b/dev-rust/cargo-lock/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/flashrom:master:/OWNERS
diff --git a/dev-rust/cargo-lock/cargo-lock-7.1.0.ebuild b/dev-rust/cargo-lock/cargo-lock-7.1.0.ebuild
new file mode 100644
index 0000000..1cbdb5e
--- /dev/null
+++ b/dev-rust/cargo-lock/cargo-lock-7.1.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Self-contained Cargo.lock parser with optional dependency graph analysis'
+HOMEPAGE='https://rustsec.org'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/gumdrop-0.8*:=
+	=dev-rust/petgraph-0.6*:=
+	=dev-rust/semver-1*:=
+	=dev-rust/serde-1*:=
+	=dev-rust/toml-0.5*:=
+	=dev-rust/url-2*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/cbindgen/Manifest b/dev-rust/cbindgen/Manifest
new file mode 100644
index 0000000..03971c0
--- /dev/null
+++ b/dev-rust/cbindgen/Manifest
@@ -0,0 +1 @@
+DIST cbindgen-0.20.0.crate 183277 BLAKE2B 51529b21879e3a3212fbb951b3bdd5c8c396dce53e9dbe568bfe1e752caf3060bc784909cb4b37a6e6e80d357d5a8e2bab8d10d4470563358407bceb814bb7fc SHA512 83c2b0da580f0a2fc9a74922f3c44d0e73ce0d1de8b5a3f5819c7fcf1c481df1ff0346e84c5b4c199a9364542c85fb81ece4e1deca3a6f12231a4478f76a7c02
diff --git a/dev-rust/cbindgen/OWNERS b/dev-rust/cbindgen/OWNERS
new file mode 100644
index 0000000..8d72694
--- /dev/null
+++ b/dev-rust/cbindgen/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/crosvm:/OWNERS
\ No newline at end of file
diff --git a/dev-rust/cbindgen/cbindgen-0.20.0-r1.ebuild b/dev-rust/cbindgen/cbindgen-0.20.0-r1.ebuild
new file mode 120000
index 0000000..bcbbe3b
--- /dev/null
+++ b/dev-rust/cbindgen/cbindgen-0.20.0-r1.ebuild
@@ -0,0 +1 @@
+cbindgen-0.20.0.ebuild
\ No newline at end of file
diff --git a/dev-rust/cbindgen/cbindgen-0.20.0.ebuild b/dev-rust/cbindgen/cbindgen-0.20.0.ebuild
new file mode 100644
index 0000000..b92ee58
--- /dev/null
+++ b/dev-rust/cbindgen/cbindgen-0.20.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='A tool for generating C bindings to Rust code.'
+HOMEPAGE='https://crates.io/crates/cbindgen'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MPL-2.0"
+SLOT="0/${PVR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/clap-2*:=
+	=dev-rust/heck-0.3*:=
+	=dev-rust/indexmap-1*:=
+	=dev-rust/log-0.4*:=
+	=dev-rust/proc-macro2-1*:=
+	=dev-rust/quote-1*:=
+	>=dev-rust/serde-1.0.103 <dev-rust/serde-2.0.0_alpha:=
+	=dev-rust/serde_json-1*:=
+	>=dev-rust/syn-1.0.3 <dev-rust/syn-2.0.0_alpha:=
+	=dev-rust/tempfile-3*:=
+	=dev-rust/toml-0.5*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/cfg-if/cfg-if-0.1.10.ebuild b/dev-rust/cfg-if/cfg-if-0.1.10.ebuild
index a1acc0b..6e53af4 100644
--- a/dev-rust/cfg-if/cfg-if-0.1.10.ebuild
+++ b/dev-rust/cfg-if/cfg-if-0.1.10.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2018 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/chashmap/Manifest b/dev-rust/chashmap/Manifest
deleted file mode 100644
index 2ee5e2d..0000000
--- a/dev-rust/chashmap/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST chashmap-2.2.2.crate 14824 BLAKE2B b62db2dd5acccd61113258337ddb5761539d623bb19dfb527637fbb2b1eb25ff88b292f61e67201dd5c90c72cc324960614e3435fce3f9dc173d48aab6871b56 SHA512 e75213102946e63e499baee1316fdc1d9c7194358037ecae79184bf90183e192a148072cb2e4e47251d16bdc74edea28d7f4387fff24fa2ccefbfe16792ae813
diff --git a/dev-rust/chashmap/chashmap-2.2.2-r2.ebuild b/dev-rust/chashmap/chashmap-2.2.2-r2.ebuild
deleted file mode 120000
index c4d58ec..0000000
--- a/dev-rust/chashmap/chashmap-2.2.2-r2.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-chashmap-2.2.2.ebuild
\ No newline at end of file
diff --git a/dev-rust/chashmap/chashmap-2.2.2.ebuild b/dev-rust/chashmap/chashmap-2.2.2.ebuild
deleted file mode 100644
index b8f6381..0000000
--- a/dev-rust/chashmap/chashmap-2.2.2.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cros-rust
-
-DESCRIPTION="Fast, concurrent hash maps with extensive API"
-HOMEPAGE="https://gitlab.redox-os.org/redox-os/chashmap"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/owning_ref-0.3*:=
-	=dev-rust/parking_lot-0.4*:=
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-rust/chromeos-dbus-bindings/chromeos-dbus-bindings-0.25.52-r18.ebuild b/dev-rust/chromeos-dbus-bindings/chromeos-dbus-bindings-0.25.52-r18.ebuild
deleted file mode 100644
index bc59788..0000000
--- a/dev-rust/chromeos-dbus-bindings/chromeos-dbus-bindings-0.25.52-r18.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="da9f7231d7dd7f2f80b01f90fa1b62df4bac374b"
-CROS_WORKON_TREE="6aa5fab60458b8bc2670f2776eb8f35061c01dfc"
-CROS_RUST_SUBDIR="chromeos-dbus-bindings"
-
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="../platform2"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Chrome OS D-Bus bindings generator for Rust."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-dbus-bindings/"
-
-LICENSE="BSD-Google"
-SLOT="0/${PVR}"
-KEYWORDS="*"
-
-DEPEND="=dev-rust/which-4*:="
-RDEPEND="!chromeos-base/chromeos-dbus-bindings-rust
-	${DEPEND}"
-
-BDEPEND=">=dev-rust/dbus-codegen-0.10.0"
diff --git a/dev-rust/chromeos-dbus-bindings/chromeos-dbus-bindings-0.25.52-r39.ebuild b/dev-rust/chromeos-dbus-bindings/chromeos-dbus-bindings-0.25.52-r39.ebuild
new file mode 100644
index 0000000..ab07ec6
--- /dev/null
+++ b/dev-rust/chromeos-dbus-bindings/chromeos-dbus-bindings-0.25.52-r39.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b493dd5021f363e786ae38e91cf1aacac4be09cd"
+CROS_WORKON_TREE="f8f2bb698a2b96ec55bcd7e564b813aea6e1c7b5"
+CROS_RUST_SUBDIR="chromeos-dbus-bindings"
+
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Chrome OS D-Bus bindings generator for Rust."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-dbus-bindings/"
+
+LICENSE="BSD-Google"
+SLOT="0/${PVR}"
+KEYWORDS="*"
+
+DEPEND="=dev-rust/which-4*:="
+RDEPEND="!chromeos-base/chromeos-dbus-bindings-rust
+	${DEPEND}"
+
+BDEPEND=">=dev-rust/dbus-codegen-0.10.0"
diff --git a/dev-rust/chrono/chrono-0.4.19-r2.ebuild b/dev-rust/chrono/chrono-0.4.19-r3.ebuild
similarity index 100%
rename from dev-rust/chrono/chrono-0.4.19-r2.ebuild
rename to dev-rust/chrono/chrono-0.4.19-r3.ebuild
diff --git a/dev-rust/chrono/chrono-0.4.19.ebuild b/dev-rust/chrono/chrono-0.4.19.ebuild
index 9bcb4ad..9fc73f8 100644
--- a/dev-rust/chrono/chrono-0.4.19.ebuild
+++ b/dev-rust/chrono/chrono-0.4.19.ebuild
@@ -22,9 +22,12 @@
 	=dev-rust/serde-1*:=
 	=dev-rust/serde_derive-1*:=
 	=dev-rust/serde_json-1*:=
-	>=dev-rust/time-0.1.43:= <dev-rust/time-0.2.0
 "
 RDEPEND="${DEPEND}"
 
+PATCHES=(
+	"${FILESDIR}/${PN}-remove-time-dependency.patch"
+)
+
 # error: no matching package named `pure-rust-locales` found
 RESTRICT="test"
diff --git a/dev-rust/chrono/files/chrono-remove-time-dependency.patch b/dev-rust/chrono/files/chrono-remove-time-dependency.patch
new file mode 100644
index 0000000..9e80ed3
--- /dev/null
+++ b/dev-rust/chrono/files/chrono-remove-time-dependency.patch
@@ -0,0 +1,17 @@
+diff --git b/Cargo.toml a/Cargo.toml
+index 2d3e764..1d6bc42 100644
+--- b/Cargo.toml
++++ a/Cargo.toml
+@@ -95,7 +95,10 @@ __internal_bench = []
+ alloc = []
+ clock = ["libc", "std", "winapi"]
+-default = ["clock", "std", "oldtime"]
++default = ["clock", "std"]
+-oldtime = ["time"]
++# Remove this dependency; users who want `time` should use time-0.3,
++# and the `time` shipped with chrono is vulnerable to RUSTSEC-2020-0071.
++#oldtime = ["time"]
++oldtime = []
+ std = []
+ unstable-locales = ["pure-rust-locales", "alloc"]
+ wasmbind = ["wasm-bindgen", "js-sys"]
diff --git a/dev-rust/clap/Manifest b/dev-rust/clap/Manifest
index 34631351..386f664 100644
--- a/dev-rust/clap/Manifest
+++ b/dev-rust/clap/Manifest
@@ -1,2 +1,3 @@
 DIST clap-2.33.3.crate 201925 BLAKE2B bec9c866481c5b3fddeb314f68af9bce38fc421e42816182de3209e8ea3447b72cf033e6251eea27fe974eff8085b7d98cdd2911b5cc0ec6b4bf4c750deb8a25 SHA512 3eb0fd648e2e3f9e5ff69a5e6cf0d867304fe18523accd036f28a86de368e4774088a6936c108ccc045092c539fe7f7494ea96420ebf6b4bec16880cea84bedf
 DIST clap-3.0.0_beta2.crate 141105 BLAKE2B 9668e2cc9b2d2f3f063659e45df5e01a3f7c163b21f7d0cc1e8a1a65fe620ff5c1356b2beae71987aced55d58f36c961515e020a87ffdbd1cd2763196437c2f1 SHA512 bb51ab2dfe06eb11023d3933ca7a657e3c9e6fa064cba81e2436450036dca3dcc2ca5a9b90785a0042dd823e57ad1e7dc765b788928c249fd10906329b33cdb7
+DIST clap-3.1.12.crate 206752 BLAKE2B 84cda0e8b864526fd7a3ab43f0f2b7cc3017054bb4010143b2cc719eb297da4f79029d5e50652a44acf0d71281367bd630fe0e5c54fd5a8b8668c594389fd75f SHA512 94a594886d4fcc3ef745cea1f98202765aaeaac816d9271f132d4f8c90e6679fd56077e11c621222bac9200552839297f98c7788462d015334090e8772715cb5
diff --git a/dev-rust/clap/clap-3.0.0_beta2-r1.ebuild b/dev-rust/clap/clap-3.0.0_beta2-r1.ebuild
new file mode 120000
index 0000000..b853150
--- /dev/null
+++ b/dev-rust/clap/clap-3.0.0_beta2-r1.ebuild
@@ -0,0 +1 @@
+clap-3.0.0_beta2.ebuild
\ No newline at end of file
diff --git a/dev-rust/clap/clap-3.0.0_beta2.ebuild b/dev-rust/clap/clap-3.0.0_beta2.ebuild
index 29470890..6595ead 100644
--- a/dev-rust/clap/clap-3.0.0_beta2.ebuild
+++ b/dev-rust/clap/clap-3.0.0_beta2.ebuild
@@ -18,7 +18,7 @@
 DEPEND="
 	=dev-rust/atty-0.2*:=
 	>=dev-rust/bitflags-1.2.0:= <dev-rust/bitflags-2.0.0
-	=dev-rust/clap_derive-3*:=
+	=dev-rust/clap_derive-3.0.0_beta2:=
 	=dev-rust/indexmap-1*:=
 	=dev-rust/lazy_static-1*:=
 	>=dev-rust/os_str_bytes-2.3.0:= <dev-rust/os_str_bytes-3.0.0
diff --git a/dev-rust/clap/clap-3.1.12.ebuild b/dev-rust/clap/clap-3.1.12.ebuild
new file mode 100644
index 0000000..3a6c829
--- /dev/null
+++ b/dev-rust/clap/clap-3.1.12.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='A simple to use, efficient, and full-featured Command Line Argument Parser'
+HOMEPAGE='https://crates.io/crates/clap'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/atty-0.2*:=
+	=dev-rust/backtrace-0.3*:=
+	>=dev-rust/bitflags-1.2.0 <dev-rust/bitflags-2.0.0_alpha:=
+	~dev-rust/clap_derive-3.1.7:=
+	=dev-rust/clap_lex-0.1*:=
+	=dev-rust/indexmap-1*:=
+	=dev-rust/lazy_static-1*:=
+	=dev-rust/regex-1*:=
+	=dev-rust/strsim-0.10*:=
+	>=dev-rust/termcolor-1.1.1 <dev-rust/termcolor-2.0.0_alpha:=
+	>=dev-rust/terminal_size-0.1.12 <dev-rust/terminal_size-0.2.0_alpha:=
+	=dev-rust/textwrap-0.15*:=
+	>=dev-rust/unicase-2.6.0 <dev-rust/unicase-3.0.0_alpha:=
+	>=dev-rust/yaml-rust-0.4.1 <dev-rust/yaml-rust-0.5.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/clap_complete/Manifest b/dev-rust/clap_complete/Manifest
new file mode 100644
index 0000000..ea9dc01
--- /dev/null
+++ b/dev-rust/clap_complete/Manifest
@@ -0,0 +1 @@
+DIST clap_complete-3.1.2.crate 23138 BLAKE2B db3741e86ed29b52c7dec82c4d957265bf2d7f10b641f579336d2893f5355233507bf4b2385cbbff1a6ed25fb7a3855e2c0b889257679aaa997be351d3bf3fd4 SHA512 94b176115fa0edf12f1af62388c8f175074fca980f4006f9bb755e9be773785bca80b3b11821bdc8498b06f5d3aaae169f7daceda5a352eb39312f48b255ebc5
diff --git a/dev-rust/clap_complete/OWNERS b/dev-rust/clap_complete/OWNERS
new file mode 100644
index 0000000..f619b35
--- /dev/null
+++ b/dev-rust/clap_complete/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/audio/OWNERS.all
diff --git a/dev-rust/clap_complete/clap_complete-3.1.2.ebuild b/dev-rust/clap_complete/clap_complete-3.1.2.ebuild
new file mode 100644
index 0000000..fda52be
--- /dev/null
+++ b/dev-rust/clap_complete/clap_complete-3.1.2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Generate shell completion scripts for your clap::Command'
+HOMEPAGE='https://crates.io/crates/clap_complete'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/clap-3.1.10 <dev-rust/clap-4.0.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/clap_complete_fig/Manifest b/dev-rust/clap_complete_fig/Manifest
new file mode 100644
index 0000000..3591430
--- /dev/null
+++ b/dev-rust/clap_complete_fig/Manifest
@@ -0,0 +1 @@
+DIST clap_complete_fig-3.1.5.crate 9919 BLAKE2B 7f817bd2a2046c9d2dd3d38c5202a6334cd10b7656e94d5e217f8e3b66c5d1d0a0fb96e6ab58c39cf0165f533b43aa54821b4bbd77bb8a8b36e8ab1fa2ad9e18 SHA512 93ff5ef5e21e5575ac2cef2e33ee3d005b17d5d6849493b282f956ae65dd8f7245fbcfdda0a76bc10a0ab038b89a136833771761d4e64715fa4f68e8cdf568a0
diff --git a/dev-rust/clap_complete_fig/OWNERS b/dev-rust/clap_complete_fig/OWNERS
new file mode 100644
index 0000000..f619b35
--- /dev/null
+++ b/dev-rust/clap_complete_fig/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/audio/OWNERS.all
diff --git a/dev-rust/clap_complete_fig/clap_complete_fig-3.1.5.ebuild b/dev-rust/clap_complete_fig/clap_complete_fig-3.1.5.ebuild
new file mode 100644
index 0000000..2a55dc9
--- /dev/null
+++ b/dev-rust/clap_complete_fig/clap_complete_fig-3.1.5.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='A generator library used with clap for Fig completion scripts'
+HOMEPAGE='https://crates.io/crates/clap_complete_fig'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/clap-3.1.10 <dev-rust/clap-4.0.0_alpha:=
+	>=dev-rust/clap_complete-3.1.2 <dev-rust/clap_complete-4.0.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/clap_derive/Manifest b/dev-rust/clap_derive/Manifest
index 1259026..f7eca22 100644
--- a/dev-rust/clap_derive/Manifest
+++ b/dev-rust/clap_derive/Manifest
@@ -1 +1,2 @@
 DIST clap_derive-3.0.0_beta2.crate 23425 BLAKE2B 9e8fb7d26dd912d356dec9057731bfa857e36d27a9a90869b2167cf57f539e8352ac2cbee8da0a06a7652f918d25840ac4c41f5c408b19f2e4142104e6821833 SHA512 4e2620557daae4f1da925e0ead0f18c76586b59b9e2289d85a949a081f88e097b56bfda2ef07c88704e7b5704dc58de3a468bf73705ba64a85d59103ff60dd5f
+DIST clap_derive-3.1.7.crate 25363 BLAKE2B d9c92e19357988e850ade69d8350f4a0cf0f9d8cc8ee6b52014eafdf8b105f6f81e43b920896bbddd95a209e874729e104119f9561fdac86f03707096f241985 SHA512 7f34c1b7c67bddbdbc1b159fcde366babe37f355637cc1f12748a51d0ecf89ce3e6aaf5ed140aae6539f12182ac8e2ca93c2790ea2dc84657487066c9d77a869
diff --git a/dev-rust/clap_derive/clap_derive-3.1.7.ebuild b/dev-rust/clap_derive/clap_derive-3.1.7.ebuild
new file mode 100644
index 0000000..87d6ef2
--- /dev/null
+++ b/dev-rust/clap_derive/clap_derive-3.1.7.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Parse command line argument by defining a struct, derive crate.'
+HOMEPAGE='https://crates.io/crates/clap_derive'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/heck-0.4*:=
+	=dev-rust/proc-macro-error-1*:=
+	>=dev-rust/proc-macro2-1.0.28 <dev-rust/proc-macro2-2.0.0_alpha:=
+	>=dev-rust/quote-1.0.9 <dev-rust/quote-2.0.0_alpha:=
+	>=dev-rust/syn-1.0.74 <dev-rust/syn-2.0.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/clap_lex/Manifest b/dev-rust/clap_lex/Manifest
new file mode 100644
index 0000000..65c96dd
--- /dev/null
+++ b/dev-rust/clap_lex/Manifest
@@ -0,0 +1 @@
+DIST clap_lex-0.1.1.crate 9603 BLAKE2B fa128dbc85152ef312373283fdd84db5b9f9c519d6382a737de2ac9ba8df16e74afafc0c1602a2ae31cc62e8d83232899b1c4eff41be6e7e5f286513f83785f8 SHA512 4d7667fb4cc86fd820262c4642c37a073e558ac5c05e1a8efc2813f54c364e2c4e980a8ddd81e72b11b02f494b20ad89c77e9649d1a6c0ed418194db808f1383
diff --git a/dev-rust/clap_lex/OWNERS b/dev-rust/clap_lex/OWNERS
new file mode 100644
index 0000000..f619b35
--- /dev/null
+++ b/dev-rust/clap_lex/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/audio/OWNERS.all
diff --git a/dev-rust/clap_lex/clap_lex-0.1.1.ebuild b/dev-rust/clap_lex/clap_lex-0.1.1.ebuild
new file mode 100644
index 0000000..46610bf
--- /dev/null
+++ b/dev-rust/clap_lex/clap_lex-0.1.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Minimal, flexible command line parser'
+HOMEPAGE='https://crates.io/crates/clap_lex'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/os_str_bytes-6*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/clap_mangen/Manifest b/dev-rust/clap_mangen/Manifest
new file mode 100644
index 0000000..3f34ea4
--- /dev/null
+++ b/dev-rust/clap_mangen/Manifest
@@ -0,0 +1 @@
+DIST clap_mangen-0.1.6.crate 12792 BLAKE2B f945354be0043d7c8a16ff0914b037fc04998c902a7939ae1fa4fd16c4052b14019bc89d2f6fc5ba74e1387589d702f010183b25121a9613b614bbb5aa8d403c SHA512 b46dfeda87905dbaedb854c0776f7a80844cbe755c0571cb4ffe718b63517aebcddff6e2fe4949ea43b7a5ae995175767a1c56aad843dc414bd4cb1cd49d2bce
diff --git a/dev-rust/clap_mangen/OWNERS b/dev-rust/clap_mangen/OWNERS
new file mode 100644
index 0000000..f619b35
--- /dev/null
+++ b/dev-rust/clap_mangen/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/audio/OWNERS.all
diff --git a/dev-rust/clap_mangen/clap_mangen-0.1.6.ebuild b/dev-rust/clap_mangen/clap_mangen-0.1.6.ebuild
new file mode 100644
index 0000000..a21bd6c
--- /dev/null
+++ b/dev-rust/clap_mangen/clap_mangen-0.1.6.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='A manpage generator for clap'
+HOMEPAGE='https://crates.io/crates/clap_mangen'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/clap-3.1.10 <dev-rust/clap-4.0.0_alpha:=
+	>=dev-rust/roff-0.2.1 <dev-rust/roff-0.3.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/clippy/clippy-0.0.166.ebuild b/dev-rust/clippy/clippy-0.0.166.ebuild
index 7f2796a..354beb9 100644
--- a/dev-rust/clippy/clippy-0.0.166.ebuild
+++ b/dev-rust/clippy/clippy-0.0.166.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -9,6 +9,6 @@
 DESCRIPTION="Empty clippy crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/compiler_builtins/OWNERS b/dev-rust/compiler_builtins/OWNERS
new file mode 100644
index 0000000..f619b35
--- /dev/null
+++ b/dev-rust/compiler_builtins/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/audio/OWNERS.all
diff --git a/dev-rust/compiler_builtins/compiler_builtins-0.1.0.ebuild b/dev-rust/compiler_builtins/compiler_builtins-0.1.0.ebuild
new file mode 100644
index 0000000..e736228
--- /dev/null
+++ b/dev-rust/compiler_builtins/compiler_builtins-0.1.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty crate"
+HOMEPAGE=""
+
+LICENSE="BSD-Google"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/compiler_builtins/compiler_builtins-0.1.2.ebuild b/dev-rust/compiler_builtins/compiler_builtins-0.1.2.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/compiler_builtins/compiler_builtins-0.1.2.ebuild
+++ b/dev-rust/compiler_builtins/compiler_builtins-0.1.2.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/console/Manifest b/dev-rust/console/Manifest
new file mode 100644
index 0000000..35f40f1
--- /dev/null
+++ b/dev-rust/console/Manifest
@@ -0,0 +1 @@
+DIST console-0.15.0.crate 23507 BLAKE2B 49694683baddb53e0f35584403aa93616164c2d3b94b39e0e35ebc4f915c37c8e794619d57b44ac0ea460ddbf7ec43323adecf657cc6f2869f313b3cdbf3a46a SHA512 70bd6abfafa533903f273ec3b34da6783856bd1abedaf139fddafac0dbb03fa9154f8e1e1bef01fd8de3c53100bbaa93313518c42f8ce51217c23ef34d3f9d62
diff --git a/dev-rust/serialport/OWNERS b/dev-rust/console/OWNERS
similarity index 100%
copy from dev-rust/serialport/OWNERS
copy to dev-rust/console/OWNERS
diff --git a/dev-rust/console/console-0.15.0.ebuild b/dev-rust/console/console-0.15.0.ebuild
new file mode 100644
index 0000000..255d563
--- /dev/null
+++ b/dev-rust/console/console-0.15.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+CROS_RUST_REMOVE_TARGET_CFG=1
+
+inherit cros-rust
+
+DESCRIPTION='A terminal and console abstraction for Rust'
+HOMEPAGE='https://github.com/mitsuhiko/console'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/libc-0.2*:=
+	=dev-rust/once_cell-1*:=
+	>=dev-rust/regex-1.4.2 <dev-rust/regex-2.0.0_alpha:=
+	>=dev-rust/terminal_size-0.1.14 <dev-rust/terminal_size-0.2.0_alpha:=
+	=dev-rust/unicode-width-0.1*:=
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+	cros-rust_src_prepare
+
+	# Also delete the 'windows-console-colors' feature, because it refers to
+	# deps which were deleted by CROS_RUST_REMOVE_TARGET_CFG=1.
+	sed -i -e '/windows-console-colors =/d' Cargo.toml || die
+}
diff --git a/dev-rust/const-random/OWNERS b/dev-rust/const-random/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/const-random/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/const-random/const-random-0.1.12.ebuild b/dev-rust/const-random/const-random-0.1.12.ebuild
new file mode 100644
index 0000000..0a578db
--- /dev/null
+++ b/dev-rust/const-random/const-random-0.1.12.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/const-random/const-random-0.1.6.ebuild b/dev-rust/const-random/const-random-0.1.6.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/const-random/const-random-0.1.6.ebuild
+++ b/dev-rust/const-random/const-random-0.1.6.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/cortex-m-rt-macros/Manifest b/dev-rust/cortex-m-rt-macros/Manifest
index da9ae08..02961d1 100644
--- a/dev-rust/cortex-m-rt-macros/Manifest
+++ b/dev-rust/cortex-m-rt-macros/Manifest
@@ -1 +1,2 @@
 DIST cortex-m-rt-macros-0.1.8.crate 6169 BLAKE2B 24b0de618a569e688ee4aeda3cc53ce663313596c0e4059b45dc01d16f41e19adb99e2ffc9c09e40e39474629162a7ff048c2b37d6a064ae6d7f0b37d5de8276 SHA512 0fdd6a484662491aec7c81eee3cef74e8bd4687b062ab5c4e49397687cf3ac5035b4dffbde96103cfb2c62c617a7c110cc6fff441cd6db3fb8faf08a6f6b9ded
+DIST cortex-m-rt-macros-0.6.15.crate 6248 BLAKE2B 74ebfc75e07f85a3c3ca608f311cf096e93f20d3389e9ffb0f1f66a344692541e7c94b03f7471d5d3f7a7022d56e86d31229e808207d23827bf1a36dd678ffcb SHA512 c4f08cbf9647421f3c36f54b60a6240390c5894d11b1ae8b95bcb34f9ed5632be6bd5a02ada104eb2feb18269f69789ce2b32c81192466efc716491c81b159d3
diff --git a/dev-rust/cortex-m-rt-macros/cortex-m-rt-macros-0.6.15.ebuild b/dev-rust/cortex-m-rt-macros/cortex-m-rt-macros-0.6.15.ebuild
new file mode 100644
index 0000000..6511736
--- /dev/null
+++ b/dev-rust/cortex-m-rt-macros/cortex-m-rt-macros-0.6.15.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Attributes re-exported in "cortex-m-rt"'
+HOMEPAGE='https://crates.io/crates/cortex-m-rt-macros'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/proc-macro2-1*:=
+	=dev-rust/quote-1*:=
+	=dev-rust/syn-1*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/cortex-m-rt/Manifest b/dev-rust/cortex-m-rt/Manifest
index 119004f..e91b877 100644
--- a/dev-rust/cortex-m-rt/Manifest
+++ b/dev-rust/cortex-m-rt/Manifest
@@ -1 +1,2 @@
 DIST cortex-m-rt-0.6.14.crate 38739 BLAKE2B 974884a715dbab915badc2822739f6c38f4fb92a799cefffbd5da2c8840cc260f7f9e9018ec6c148920aadfb1a2829f1a3dfac9f4a9ac53e2fd7045a73745da1 SHA512 b9716348a8f10ac7fcdb3a4b20f50f7e4158327ad58614c14b60e7dc474a55dd413359a9737f97ecf5a9c4046e501092fbbe2d28ffdaa5994592adbdd76148ef
+DIST cortex-m-rt-0.6.15.crate 38011 BLAKE2B 296f34ce9ef076878490f65266d13dafe2e58569d13515f61a5ce0fc17740be6ad4bc15b191b73ab32d9df8b406a85a8d03ce3448298e75cc15159461d268ff5 SHA512 934f7c2d09834e500511da78069db1e9b18e5859e11811f25310008a3a2e7cd2c4dfcc37bf7cd83aeb7bfc7f72d6c3ec9b100fe543e6cbcb6d91b230ac9fb1bf
diff --git a/dev-rust/cortex-m-rt/cortex-m-rt-0.6.15.ebuild b/dev-rust/cortex-m-rt/cortex-m-rt-0.6.15.ebuild
new file mode 100644
index 0000000..9625613
--- /dev/null
+++ b/dev-rust/cortex-m-rt/cortex-m-rt-0.6.15.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Minimal runtime / startup for Cortex-M microcontrollers'
+HOMEPAGE='https://crates.io/crates/cortex-m-rt'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	~dev-rust/cortex-m-rt-macros-0.6.15:=
+	>=dev-rust/r0-0.2.2 <dev-rust/r0-0.3.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+src_test() {
+	# This crate can only be compiled for Cortex-M targets. There are no unit tests.
+	# The crate *is* configured for compile-testing, see for example:
+	# https://github.com/rust-embedded/cortex-m/blob/master/cortex-m-rt/ci/script.sh
+	# but that requires some dependencies which are not yet packaged in Chrome OS.
+	:
+}
+
+src_install() {
+	cros-rust_src_install
+
+	# Do not strip prebuilt .a files in the crate sources
+	# shellcheck disable=SC2154 # CROS_RUST_REGISTRY_BASE is defined in cros-rust.eclass
+	dostrip -x "${CROS_RUST_REGISTRY_BASE}"
+}
+
+# Suppress QA warnings for prebuilt .a files in the crate sources
+# shellcheck disable=SC2154 # CROS_RUST_REGISTRY_BASE is defined in cros-rust.eclass
+QA_EXECSTACK="${CROS_RUST_REGISTRY_BASE#/}/*"
diff --git a/dev-rust/cortex-m-rtic-macros/Manifest b/dev-rust/cortex-m-rtic-macros/Manifest
index 8b7cc2e..7ea961a 100644
--- a/dev-rust/cortex-m-rtic-macros/Manifest
+++ b/dev-rust/cortex-m-rtic-macros/Manifest
@@ -1 +1 @@
-DIST cortex-m-rtic-macros-0.5.3.crate 22855 BLAKE2B c3461be1c62e79be19806aa226788a4b52ad3c108e2ef087641d5072550133c49d9a28545028c0d0a59fbf52ae2686ab38ae8302d44a10510167f480be754cf8 SHA512 65bd9c478f3d89da4c68589245b6f16d83ff54d32c3defa0bc52594f171d3fb6b24ab2dd8cca79a9740272183e109604474a76c48b7274d864e0160fbb68aee2
+DIST cortex-m-rtic-macros-1.1.5.crate 19040 BLAKE2B d5b0cb0ec18b61f4b8215a58b3c85062143c14e5af78f68d27e871d3b988dcac8cdcdede1ae4ba13a78331a73e1f3679a5754a8bd5c5eac01952311224918c3b SHA512 a56cab5c009464fd5e4d16d813caf91745d6c6eb1220cb29580928d96a4159297b2d0431f1fb8a2c799771e52aeaac6ad1ac9b0b6705c9f1e82de671301671c4
diff --git a/dev-rust/cortex-m-rtic-macros/cortex-m-rtic-macros-0.5.3.ebuild b/dev-rust/cortex-m-rtic-macros/cortex-m-rtic-macros-0.5.3.ebuild
deleted file mode 100644
index a960cdc..0000000
--- a/dev-rust/cortex-m-rtic-macros/cortex-m-rtic-macros-0.5.3.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION='Procedural macros of the cortex-m-rtic crate'
-HOMEPAGE='https://crates.io/crates/cortex-m-rtic-macros'
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/proc-macro2-1*:=
-	=dev-rust/quote-1*:=
-	=dev-rust/rtic-syntax-0.4*:=
-	=dev-rust/syn-1*:=
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/cortex-m-rtic-macros/cortex-m-rtic-macros-1.1.5.ebuild b/dev-rust/cortex-m-rtic-macros/cortex-m-rtic-macros-1.1.5.ebuild
new file mode 100644
index 0000000..8bd6f5a
--- /dev/null
+++ b/dev-rust/cortex-m-rtic-macros/cortex-m-rtic-macros-1.1.5.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Procedural macros of the cortex-m-rtic crate'
+HOMEPAGE='https://crates.io/crates/cortex-m-rtic-macros'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/proc-macro-error-1*:=
+	=dev-rust/proc-macro2-1*:=
+	=dev-rust/quote-1*:=
+	>=dev-rust/rtic-syntax-1.0.2 <dev-rust/rtic-syntax-2.0.0_alpha:=
+	=dev-rust/syn-1*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/cortex-m-rtic/Manifest b/dev-rust/cortex-m-rtic/Manifest
index fb8c1b7..d1752f2 100644
--- a/dev-rust/cortex-m-rtic/Manifest
+++ b/dev-rust/cortex-m-rtic/Manifest
@@ -1 +1 @@
-DIST cortex-m-rtic-0.5.7.crate 87547 BLAKE2B 87c977f887f6667402742bbe7da6ccba4b6ccbe3d5c9d84429a1f630f655d017a7d939e554bd82065e2b91b3cf0ec77f8ec5e93565e9a842b6cd5a811da8d8f5 SHA512 f53275350bf0b09464383a555da17a6da6dde5b06b9d3f1d3f66ae59a485d199e478ed56782afd3e475f28dc5786d0c7e492bef094bbf4e08edb42aa52d99dc3
+DIST cortex-m-rtic-1.1.3.crate 122976 BLAKE2B e9595891a982c2cf80fd6b7502d51023f971f0ee24a12f07ecae73a9429bdb9630696168d2a849b13d49ac0dbe97e3651270b51df84f72bd1e2b746d0b0ac201 SHA512 7af76e99739e28279f6ec28fe3d793ba73d5f43c94e8a7c034f2ee8d693bcce269dab46cb3789ae04606e72d56f349100eae0a751719441fbe6cf0cb6d6a9054
diff --git a/dev-rust/cortex-m-rtic/cortex-m-rtic-0.5.7.ebuild b/dev-rust/cortex-m-rtic/cortex-m-rtic-0.5.7.ebuild
deleted file mode 100644
index 133d257..0000000
--- a/dev-rust/cortex-m-rtic/cortex-m-rtic-0.5.7.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION='Real-Time Interrupt-driven Concurrency (RTIC): a concurrency framework for building real-time systems'
-HOMEPAGE='https://crates.io/crates/cortex-m-rtic'
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/cortex-m-0.6.2:= <dev-rust/cortex-m-0.7.0
-	>=dev-rust/cortex-m-rt-0.6.9:= <dev-rust/cortex-m-rt-0.7.0
-	>=dev-rust/cortex-m-rtic-macros-0.5.3:= <dev-rust/cortex-m-rtic-macros-0.6.0
-	>=dev-rust/heapless-0.6.1:= <dev-rust/heapless-0.7.0
-	=dev-rust/microamp-0.1*:=
-	=dev-rust/rtic-core-0.3*:=
-	=dev-rust/version_check-0.9*:=
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
-
-RESTRICT="test"
diff --git a/dev-rust/cortex-m-rtic/cortex-m-rtic-1.1.3.ebuild b/dev-rust/cortex-m-rtic/cortex-m-rtic-1.1.3.ebuild
new file mode 100644
index 0000000..5c36098
--- /dev/null
+++ b/dev-rust/cortex-m-rtic/cortex-m-rtic-1.1.3.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Real-Time Interrupt-driven Concurrency (RTIC): a concurrency framework for building real-time systems'
+HOMEPAGE='https://crates.io/crates/cortex-m-rtic'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/bare-metal-1*:=
+	=dev-rust/cortex-m-0.7*:=
+	>=dev-rust/cortex-m-rtic-macros-1.1.5 <dev-rust/cortex-m-rtic-macros-2.0.0_alpha:=
+	>=dev-rust/heapless-0.7.7 <dev-rust/heapless-0.8.0_alpha:=
+	=dev-rust/rtic-core-1*:=
+	=dev-rust/rtic-monotonic-1*:=
+	=dev-rust/version_check-0.9*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/cpp_demangle/cpp_demangle-0.3.0.ebuild b/dev-rust/cpp_demangle/cpp_demangle-0.3.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/cpp_demangle/cpp_demangle-0.3.0.ebuild
+++ b/dev-rust/cpp_demangle/cpp_demangle-0.3.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/crates-index/crates-index-0.5.1.ebuild b/dev-rust/crates-index/crates-index-0.5.1.ebuild
index 072e90c..5c585f2 100644
--- a/dev-rust/crates-index/crates-index-0.5.1.ebuild
+++ b/dev-rust/crates-index/crates-index-0.5.1.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/criterion/criterion-0.3.3.ebuild b/dev-rust/criterion/criterion-0.3.3.ebuild
new file mode 100644
index 0000000..c74dee1
--- /dev/null
+++ b/dev-rust/criterion/criterion-0.3.3.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/critical-section/Manifest b/dev-rust/critical-section/Manifest
new file mode 100644
index 0000000..088c4e5
--- /dev/null
+++ b/dev-rust/critical-section/Manifest
@@ -0,0 +1 @@
+DIST critical-section-0.2.7.crate 6094 BLAKE2B c910f974a6b5906266026a5f1cab6620bdf5094f22dd7a4e44a40cf3e20d895b7f57ea0d1f024b40de8f32d9c37e66c4cac3c7e5dc86aec01777e931b24ad7ba SHA512 8402410866786adbfdf82a0cba0fdbd49b278052560ea98e9d1151647cda9804cdeb2a9c7e1d9f458180b2a37a19f1266d72712d4cf9ced0f486b55de655d51f
diff --git a/dev-rust/serialport/OWNERS b/dev-rust/critical-section/OWNERS
similarity index 100%
copy from dev-rust/serialport/OWNERS
copy to dev-rust/critical-section/OWNERS
diff --git a/dev-rust/critical-section/critical-section-0.2.7.ebuild b/dev-rust/critical-section/critical-section-0.2.7.ebuild
new file mode 100644
index 0000000..a76e8de
--- /dev/null
+++ b/dev-rust/critical-section/critical-section-0.2.7.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Critical section abstraction'
+HOMEPAGE='https://crates.io/crates/critical-section'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/bare-metal-1*:=
+	=dev-rust/cfg-if-1*:=
+	>=dev-rust/riscv-0.7.0 <dev-rust/riscv-0.8.0:=
+	>=dev-rust/cortex-m-0.7.2 <dev-rust/riscv-0.8.0:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/cros_async/cros_async-0.1.0-r34.ebuild b/dev-rust/cros_async/cros_async-0.1.0-r34.ebuild
deleted file mode 100644
index 8508c09..0000000
--- a/dev-rust/cros_async/cros_async-0.1.0-r34.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="c45faa08745f4d1110c1e3f0f0606e30358a5b6d"
-CROS_WORKON_TREE=("ea9b2edf4b7fb1d77d6ea6b11e364be13a831ba4" "657879d7112bd65f190dbbf687daca14399681d0")
-CROS_WORKON_LOCALNAME="../platform/crosvm"
-CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_RUST_SUBDIR="common/cros_async"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} .cargo"
-CROS_WORKON_SUBDIRS_TO_COPY=(${CROS_WORKON_SUTREE})
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Rust async tools for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/cros_async"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/async-task-4*:=
-	>=dev-rust/async-trait-0.1.36 <dev-rust/async-trait-0.2:=
-	dev-rust/data_model:=
-	=dev-rust/futures-0.3*:=
-	dev-rust/intrusive-collections:=
-	dev-rust/io_uring:=
-	>=dev-rust/libc-0.2.93 <dev-rust/libc-0.3:=
-	>=dev-rust/once_cell-1.7.2 <dev-rust/once_cell-2:=
-	=dev-rust/paste-1*:=
-	=dev-rust/pin-utils-0.1*:=
-	=dev-rust/remain-0.2*:=
-	=dev-rust/slab-0.4*:=
-	dev-rust/sync:=
-	dev-rust/sys_util:=
-	dev-rust/tempfile:=
-	>=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2:=
-"
-RDEPEND="${DEPEND}"
-
-src_test() {
-	# The io_uring implementation on kernels older than 5.10 was buggy so skip
-	# them if we're running on one of those kernels.
-	local cut_version="$(ver_cut 1-2 "$(uname -r)")"
-	if ver_test "${cut_version}" -lt 5.10; then
-		einfo "Skipping io_uring tests on kernel version < 5.10"
-	# TODO: Enable tests on ARM once the emulator supports io_uring.
-	elif ! cros_rust_is_direct_exec; then
-		einfo "Skipping uring tests on non-x86 platform"
-		local skip_tests=(
-			ring
-			io_ext
-			timer::tests::one_shot
-		)
-
-		local args=($(printf -- "--skip %s\n" "${skip_tests[@]}"))
-		cros-rust_src_test -- "${args[@]}"
-	else
-		cros-rust_src_test
-	fi
-}
diff --git a/dev-rust/cros_async/cros_async-0.1.0-r41.ebuild b/dev-rust/cros_async/cros_async-0.1.0-r41.ebuild
new file mode 100644
index 0000000..ea23d3e
--- /dev/null
+++ b/dev-rust/cros_async/cros_async-0.1.0-r41.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b1ed0beba584345490400f9e82b43ee32d48f792"
+CROS_WORKON_TREE=("0544f91c96de739a518c34933c282036d34b81d7" "a920b8bc18a923d5cfa6abfb5390bc903526beef")
+CROS_WORKON_LOCALNAME="../platform/crosvm"
+CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_RUST_SUBDIR="common/cros_async"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} .cargo"
+CROS_WORKON_SUBDIRS_TO_COPY=(${CROS_WORKON_SUTREE})
+
+# The version of this crate is pinned. See b/229016539 for details.
+CROS_WORKON_MANUAL_UPREV="1"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Rust async tools for Chrome OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/cros_async"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/async-task-4*:=
+	>=dev-rust/async-trait-0.1.36 <dev-rust/async-trait-0.2:=
+	dev-rust/data_model:=
+	=dev-rust/futures-0.3*:=
+	dev-rust/intrusive-collections:=
+	dev-rust/io_uring:=
+	>=dev-rust/libc-0.2.93 <dev-rust/libc-0.3:=
+	>=dev-rust/once_cell-1.7.2 <dev-rust/once_cell-2:=
+	=dev-rust/paste-1*:=
+	=dev-rust/pin-utils-0.1*:=
+	=dev-rust/remain-0.2*:=
+	=dev-rust/slab-0.4*:=
+	dev-rust/sync:=
+	dev-rust/sys_util:=
+	dev-rust/tempfile:=
+	>=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2:=
+	media-sound/audio_streams:=
+"
+RDEPEND="${DEPEND}
+	!<=dev-rust/cros_async-0.1.0-r38"
+
+src_test() {
+	# The io_uring implementation on kernels older than 5.10 was buggy so skip
+	# them if we're running on one of those kernels.
+	local cut_version="$(ver_cut 1-2 "$(uname -r)")"
+	if ver_test "${cut_version}" -lt 5.10; then
+		einfo "Skipping io_uring tests on kernel version < 5.10"
+	# TODO: Enable tests on ARM once the emulator supports io_uring.
+	elif ! cros_rust_is_direct_exec; then
+		einfo "Skipping uring tests on non-x86 platform"
+		local skip_tests=(
+			ring
+			io_ext
+			timer::tests::one_shot
+		)
+
+		local args=($(printf -- "--skip %s\n" "${skip_tests[@]}"))
+		cros-rust_src_test -- "${args[@]}"
+	else
+		cros-rust_src_test
+	fi
+}
diff --git a/dev-rust/cros_async/cros_async-9999.ebuild b/dev-rust/cros_async/cros_async-9999.ebuild
index d54059e..c1f0b2f 100644
--- a/dev-rust/cros_async/cros_async-9999.ebuild
+++ b/dev-rust/cros_async/cros_async-9999.ebuild
@@ -10,6 +10,9 @@
 CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} .cargo"
 CROS_WORKON_SUBDIRS_TO_COPY=(${CROS_WORKON_SUTREE})
 
+# The version of this crate is pinned. See b/229016539 for details.
+CROS_WORKON_MANUAL_UPREV="1"
+
 inherit cros-workon cros-rust
 
 DESCRIPTION="Rust async tools for Chrome OS"
@@ -34,8 +37,10 @@
 	dev-rust/sys_util:=
 	dev-rust/tempfile:=
 	>=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2:=
+	media-sound/audio_streams:=
 "
-RDEPEND="${DEPEND}"
+RDEPEND="${DEPEND}
+	!<=dev-rust/cros_async-0.1.0-r38"
 
 src_test() {
 	# The io_uring implementation on kernels older than 5.10 was buggy so skip
diff --git a/dev-rust/cros_fuzz/cros_fuzz-0.1.0-r210.ebuild b/dev-rust/cros_fuzz/cros_fuzz-0.1.0-r210.ebuild
deleted file mode 100644
index e36c40b..0000000
--- a/dev-rust/cros_fuzz/cros_fuzz-0.1.0-r210.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f8ba4d599f05ac8cef7f7834e262901a5c1a5290"
-CROS_WORKON_TREE="80f9e4e3017742fbd3ac33518375b8856b695bab"
-CROS_RUST_SUBDIR="common/cros-fuzz"
-
-CROS_WORKON_LOCALNAME="../platform/crosvm"
-CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE=""  # TODO(b/195126527): limit subtree to common/
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Support crate for running rust fuzzers on Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cros-fuzz"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="fuzzer test"
-
-DEPEND="
-	=dev-rust/rand_core-0.4*:=
-"
-# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
-# installing binpkgs since the full source tree is required to use the crate.
-RDEPEND="${DEPEND}"
diff --git a/dev-rust/cros_fuzz/cros_fuzz-0.1.0-r295.ebuild b/dev-rust/cros_fuzz/cros_fuzz-0.1.0-r295.ebuild
new file mode 100644
index 0000000..7d7e9a1
--- /dev/null
+++ b/dev-rust/cros_fuzz/cros_fuzz-0.1.0-r295.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="2b1c44b5ca6f50123a5bbbab7d2522b2d83fa5bc"
+CROS_WORKON_TREE="62c91cc57f4bbb759cc97766a681ed0c7deac706"
+CROS_RUST_SUBDIR="common/cros-fuzz"
+
+CROS_WORKON_LOCALNAME="../platform/crosvm"
+CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE=""  # TODO(b/195126527): limit subtree to common/
+CROS_WORKON_EGIT_BRANCH="chromeos"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Support crate for running rust fuzzers on Chrome OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cros-fuzz"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="fuzzer test"
+
+DEPEND="
+	=dev-rust/rand_core-0.4*:=
+	=dev-rust/rand_core-0.6*:=
+"
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}"
diff --git a/dev-rust/cros_fuzz/cros_fuzz-9999.ebuild b/dev-rust/cros_fuzz/cros_fuzz-9999.ebuild
index 8cdb9fb..25a8b72 100644
--- a/dev-rust/cros_fuzz/cros_fuzz-9999.ebuild
+++ b/dev-rust/cros_fuzz/cros_fuzz-9999.ebuild
@@ -10,6 +10,7 @@
 CROS_WORKON_OUTOFTREE_BUILD=1
 CROS_WORKON_INCREMENTAL_BUILD=1
 CROS_WORKON_SUBTREE=""  # TODO(b/195126527): limit subtree to common/
+CROS_WORKON_EGIT_BRANCH="chromeos"
 
 inherit cros-workon cros-rust
 
@@ -22,6 +23,7 @@
 
 DEPEND="
 	=dev-rust/rand_core-0.4*:=
+	=dev-rust/rand_core-0.6*:=
 "
 # (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
 # installing binpkgs since the full source tree is required to use the crate.
diff --git a/dev-rust/csv/csv-1.1.1.ebuild b/dev-rust/csv/csv-1.1.1.ebuild
deleted file mode 100644
index 072e90c..0000000
--- a/dev-rust/csv/csv-1.1.1.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_RUST_EMPTY_CRATE=1
-
-inherit cros-rust
-
-DESCRIPTION="Empty ${PN} crate"
-HOMEPAGE=""
-
-LICENSE="BSD-Google"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
diff --git a/dev-rust/ctrlc/Manifest b/dev-rust/ctrlc/Manifest
new file mode 100644
index 0000000..19389c6
--- /dev/null
+++ b/dev-rust/ctrlc/Manifest
@@ -0,0 +1 @@
+DIST ctrlc-3.2.1.crate 12893 BLAKE2B d366e12c8d2d5f34399c9e8ff797e30870682bf8f7bcf4e1bcd50a7ab5c4610cc6db154fc9b4c1abf9852cf0fff1c7c927514ea7a2cdb9d199c6e1bae9368716 SHA512 7305e97a3f161db942ddc194d14f670087f88e3ccb5b94114fbd6afba04b4ac1cb063cf87ccf6fdf4678bb667b02f3cb2e6fc1ca8bc47b6ed8e36620cc4a1a8b
diff --git a/dev-rust/ctrlc/OWNERS b/dev-rust/ctrlc/OWNERS
new file mode 100644
index 0000000..0edda31
--- /dev/null
+++ b/dev-rust/ctrlc/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/crosvm:/OWNERS
diff --git a/dev-rust/ctrlc/ctrlc-3.2.1.ebuild b/dev-rust/ctrlc/ctrlc-3.2.1.ebuild
new file mode 100644
index 0000000..937f9be
--- /dev/null
+++ b/dev-rust/ctrlc/ctrlc-3.2.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+CROS_RUST_REMOVE_TARGET_CFG=1
+
+inherit cros-rust
+
+DESCRIPTION='Easy Ctrl-C handler for Rust projects'
+HOMEPAGE='https://github.com/Detegr/rust-ctrlc'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/nix-0.23*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/curl-sys/Manifest b/dev-rust/curl-sys/Manifest
deleted file mode 100644
index c53af2c..0000000
--- a/dev-rust/curl-sys/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST curl-sys-0.4.18.crate 2890199 BLAKE2B ebed4637d83d5c4e49ae0d7932337163d50e6293e9803062422e2b5f081966798bd79aa4b54ae2ec8e9d7d795e56b4451deea3c587cca9d2816e98034ccb0498 SHA512 b4f4afa8ce8c9390de02a286b5d1663d8d8ad45026da5b4ea1a3059b812edc67d292db2f628c167c2e633c03784032ce650580e8460fafaa8a6fa5587041d163
diff --git a/dev-rust/curl-sys/curl-sys-0.4.18-r1.ebuild b/dev-rust/curl-sys/curl-sys-0.4.18-r1.ebuild
deleted file mode 120000
index c8d73e4..0000000
--- a/dev-rust/curl-sys/curl-sys-0.4.18-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-curl-sys-0.4.18.ebuild
\ No newline at end of file
diff --git a/dev-rust/curl-sys/curl-sys-0.4.18.ebuild b/dev-rust/curl-sys/curl-sys-0.4.18.ebuild
deleted file mode 100644
index a95ee91..0000000
--- a/dev-rust/curl-sys/curl-sys-0.4.18.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cros-rust
-
-DESCRIPTION="Native bindings to the libcurl library"
-HOMEPAGE="https://github.com/alexcrichton/curl-rust/tree/master/curl-sys"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/cc-1*:=
-	>=dev-rust/libc-0.2.2:= <dev-rust/libc-0.3.0
-	>=dev-rust/libz-sys-1.0.18:= <dev-rust/libz-sys-2.0.0
-	>=dev-rust/pkg-config-0.3.3:= <dev-rust/pkg-config-0.4.0
-	=dev-rust/vcpkg-0.2*:=
-	=dev-rust/winapi-0.3*:=
-	=dev-rust/libnghttp2-sys-0.1*:=
-	=dev-rust/openssl-sys-0.9*:=
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-rust/curl/Manifest b/dev-rust/curl/Manifest
deleted file mode 100644
index 2022eca..0000000
--- a/dev-rust/curl/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST curl-0.4.22.crate 74141 BLAKE2B ce23cd85913422d795eef584682f6d664b8cac24cd6cde842515cfec592d5c3e0831b9877df9511bba2f3670d7219ee70b3ee3b4190bab89393048f0989dfae2 SHA512 fef61fa4e62bd38704b63de31ba02ab076067e4c292838cab994a2e51ec5be03f66611bb2c52ed13f113bc188d5f3f9abb9c74af52c0fdfc9f59e513c214dc6b
diff --git a/dev-rust/curl/curl-0.4.22-r1.ebuild b/dev-rust/curl/curl-0.4.22-r1.ebuild
deleted file mode 120000
index 15661a6..0000000
--- a/dev-rust/curl/curl-0.4.22-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-curl-0.4.22.ebuild
\ No newline at end of file
diff --git a/dev-rust/curl/curl-0.4.22.ebuild b/dev-rust/curl/curl-0.4.22.ebuild
deleted file mode 100644
index 85576e0..0000000
--- a/dev-rust/curl/curl-0.4.22.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cros-rust
-
-DESCRIPTION="Rust bindings to libcurl for making HTTP requests"
-HOMEPAGE="https://github.com/alexcrichton/curl-rust"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/curl-sys-0.4.18:= <dev-rust/curl-sys-0.5.0
-	>=dev-rust/kernel32-sys-0.2.2:= <dev-rust/kernel32-sys-0.3.0
-	>=dev-rust/libc-0.2.42:= <dev-rust/libc-0.3.0
-	>=dev-rust/schannel-0.1.13:= <dev-rust/schannel-0.2.0
-	>=dev-rust/socket2-0.3.7:= <dev-rust/socket2-0.4.0
-	>=dev-rust/winapi-0.2.7:= <dev-rust/winapi-0.3.0
-	>=dev-rust/openssl-probe-0.1.2:= <dev-rust/openssl-probe-0.2.0
-	>=dev-rust/openssl-sys-0.9.43:= <dev-rust/openssl-sys-0.10.0
-	=dev-rust/mio-0.6*:=
-	>=dev-rust/mio-extras-2.0.3:= <dev-rust/mio-extras-3.0.0
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-rust/data-encoding/data-encoding-2.1.2.ebuild b/dev-rust/data-encoding/data-encoding-2.1.2.ebuild
deleted file mode 100644
index 072e90c..0000000
--- a/dev-rust/data-encoding/data-encoding-2.1.2.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_RUST_EMPTY_CRATE=1
-
-inherit cros-rust
-
-DESCRIPTION="Empty ${PN} crate"
-HOMEPAGE=""
-
-LICENSE="BSD-Google"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
diff --git a/dev-rust/data_model/data_model-0.1.0-r46.ebuild b/dev-rust/data_model/data_model-0.1.0-r46.ebuild
deleted file mode 100644
index a5c6734..0000000
--- a/dev-rust/data_model/data_model-0.1.0-r46.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="c45faa08745f4d1110c1e3f0f0606e30358a5b6d"
-CROS_WORKON_TREE=("18102c768327557f0707356872e09a7db42fd896" "657879d7112bd65f190dbbf687daca14399681d0")
-CROS_WORKON_LOCALNAME="../platform/crosvm"
-CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_RUST_SUBDIR="common/data_model"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} .cargo"
-CROS_WORKON_SUBDIRS_TO_COPY=(${CROS_WORKON_SUTREE})
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Crates includes traits and types for safe interaction with raw memory."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/data_model"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test"
-
-DEPEND="
-	dev-rust/assertions:=
-	dev-rust/libc:=
-	=dev-rust/remain-0.2*:=
-	=dev-rust/serde-1*:=
-	>=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
-"
-# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
-# installing binpkgs since the full source tree is required to use the crate.
-RDEPEND="${DEPEND}
-	!!<=dev-rust/data_model-0.1.0-r13
-"
diff --git a/dev-rust/data_model/data_model-0.1.0-r50.ebuild b/dev-rust/data_model/data_model-0.1.0-r50.ebuild
new file mode 100644
index 0000000..ff18793
--- /dev/null
+++ b/dev-rust/data_model/data_model-0.1.0-r50.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b1ed0beba584345490400f9e82b43ee32d48f792"
+CROS_WORKON_TREE=("21dfa4764b2f9940fb18945fd1d7bf4b6c7e2c32" "a920b8bc18a923d5cfa6abfb5390bc903526beef")
+CROS_WORKON_LOCALNAME="../platform/crosvm"
+CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_RUST_SUBDIR="common/data_model"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} .cargo"
+CROS_WORKON_SUBDIRS_TO_COPY=(${CROS_WORKON_SUTREE})
+
+# The version of this crate is pinned. See b/229016539 for details.
+CROS_WORKON_MANUAL_UPREV="1"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Crates includes traits and types for safe interaction with raw memory."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/data_model"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test"
+
+DEPEND="
+	dev-rust/assertions:=
+	dev-rust/libc:=
+	=dev-rust/remain-0.2*:=
+	=dev-rust/serde-1*:=
+	>=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
+"
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}
+	!!<=dev-rust/data_model-0.1.0-r13
+"
diff --git a/dev-rust/data_model/data_model-9999.ebuild b/dev-rust/data_model/data_model-9999.ebuild
index 9664269..883d1d1 100644
--- a/dev-rust/data_model/data_model-9999.ebuild
+++ b/dev-rust/data_model/data_model-9999.ebuild
@@ -10,6 +10,9 @@
 CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} .cargo"
 CROS_WORKON_SUBDIRS_TO_COPY=(${CROS_WORKON_SUTREE})
 
+# The version of this crate is pinned. See b/229016539 for details.
+CROS_WORKON_MANUAL_UPREV="1"
+
 inherit cros-workon cros-rust
 
 DESCRIPTION="Crates includes traits and types for safe interaction with raw memory."
diff --git a/dev-rust/dav1d/dav1d-0.6.0.ebuild b/dev-rust/dav1d/dav1d-0.6.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/dav1d/dav1d-0.6.0.ebuild
+++ b/dev-rust/dav1d/dav1d-0.6.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/dcv-color-primitives/dcv-color-primitives-0.1.16.ebuild b/dev-rust/dcv-color-primitives/dcv-color-primitives-0.1.16.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/dcv-color-primitives/dcv-color-primitives-0.1.16.ebuild
+++ b/dev-rust/dcv-color-primitives/dcv-color-primitives-0.1.16.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/digest/digest-0.9.0.ebuild b/dev-rust/digest/digest-0.9.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/digest/digest-0.9.0.ebuild
+++ b/dev-rust/digest/digest-0.9.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/dlib/dlib-0.0.0.ebuild b/dev-rust/dlib/dlib-0.0.0.ebuild
new file mode 100644
index 0000000..e736228
--- /dev/null
+++ b/dev-rust/dlib/dlib-0.0.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty crate"
+HOMEPAGE=""
+
+LICENSE="BSD-Google"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/dtoa/Manifest b/dev-rust/dtoa/Manifest
deleted file mode 100644
index f9abb7c..0000000
--- a/dev-rust/dtoa/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST dtoa-0.4.5.crate 14840 BLAKE2B d6e46d8d53baf565931d0796cdebd030a0f6fae8c6b88f738b7dd00db35bdb130a2b3778192e90fcf06183e706db7c30cc3e2b05909dabc04472e3f6ca9fca7a SHA512 7f9cd7d2e8f143c81896f8a242b09de3384d9dd6c375659a48b4e4f0506b2eb642c8aba6d500a989668760458861f2249bd82f5f3d6fa22d0ffb68e508d059c0
diff --git a/dev-rust/dtoa/dtoa-0.4.5.ebuild b/dev-rust/dtoa/dtoa-0.4.5.ebuild
deleted file mode 100644
index 9e24d53..0000000
--- a/dev-rust/dtoa/dtoa-0.4.5.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="Fast functions for printing floating-point primitives to an io::Write"
-HOMEPAGE="https://github.com/dtolnay/dtoa"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
diff --git a/dev-rust/ed25519/ed25519-1.0.0.ebuild b/dev-rust/ed25519/ed25519-1.0.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/ed25519/ed25519-1.0.0.ebuild
+++ b/dev-rust/ed25519/ed25519-1.0.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/ed25519/ed25519-1.2.0.ebuild b/dev-rust/ed25519/ed25519-1.2.0.ebuild
index e736228..c74dee1 100644
--- a/dev-rust/ed25519/ed25519-1.2.0.ebuild
+++ b/dev-rust/ed25519/ed25519-1.2.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/either/Manifest b/dev-rust/either/Manifest
index c2214c9..85e2c72 100644
--- a/dev-rust/either/Manifest
+++ b/dev-rust/either/Manifest
@@ -1 +1 @@
-DIST either-1.5.2.crate 12124 BLAKE2B 514fca1a11697b952d83b2058bfa21b9dac963921d35e055ddd5b132d8035a652b5c76d356a5c221f8eabb8e420ed727a84bf8077a9d4d4534faabee45f468be SHA512 88b4ad9854281d6748177b8e18a1cb1a9ac8948d2de8ebadbad94e72bf8b825361b142d890b6264106069af48328bb9844afd248f64b5469d2d2cb81d0ce5187
+DIST either-1.6.1.crate 13641 BLAKE2B e5f40c40a5edb6dcb07a10bf79183cbe42438f1f70f3932dce72f6f6e91f75f24d17d82bc447507def4dad4345ffc9dd9162dde778afb253bdb1218e91887949 SHA512 4bfe56920e30cbc8eb4f90162db618f7dca653b42db35ab6a7045d3fd9a24ceb1778b1f79613850bdb1a87ad3794fa0d73015e46c48d513f368d8c3776fc9ddf
diff --git a/dev-rust/either/either-1.5.2.ebuild b/dev-rust/either/either-1.5.2.ebuild
deleted file mode 100644
index 8e6d3c7..0000000
--- a/dev-rust/either/either-1.5.2.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cros-rust
-
-DESCRIPTION="Either has methods that are similar to Option and Result, and it also implements traits like Iterator."
-HOMEPAGE="https://github.com/bluss/either"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/serde-1.0.0:=
-"
diff --git a/dev-rust/either/either-1.6.1.ebuild b/dev-rust/either/either-1.6.1.ebuild
new file mode 100644
index 0000000..b9494f2
--- /dev/null
+++ b/dev-rust/either/either-1.6.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION="Either has methods that are similar to Option and Result, and it also implements traits like Iterator."
+HOMEPAGE="https://github.com/bluss/either"
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/serde-1*:=
+"
diff --git a/dev-rust/encoding/encoding-0.2.33.ebuild b/dev-rust/encoding/encoding-0.2.33.ebuild
index 072e90c..5c585f2 100644
--- a/dev-rust/encoding/encoding-0.2.33.ebuild
+++ b/dev-rust/encoding/encoding-0.2.33.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/enum-as-inner/Manifest b/dev-rust/enum-as-inner/Manifest
deleted file mode 100644
index 1144364..0000000
--- a/dev-rust/enum-as-inner/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST enum-as-inner-0.2.1.crate 9407 BLAKE2B 2505830a24da55dea7f348e093f4a2341b48713fb14c9007d723a8b25b50bc92d4834c9533ccf58c128bba0384a4c82c4ed721885cfe575db2d99de2000d1eb8 SHA512 37c8034c74e74e590d785af955f34989454bf8051608aed2968ec6e5609f492fa3fa4ca829404a13c1e2f987eb72403b8c9c3463e69b5bde0b5307fc4b8d7f8d
diff --git a/dev-rust/enum-as-inner/enum-as-inner-0.2.1.ebuild b/dev-rust/enum-as-inner/enum-as-inner-0.2.1.ebuild
deleted file mode 100644
index 6f8846e..0000000
--- a/dev-rust/enum-as-inner/enum-as-inner-0.2.1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cros-rust
-
-DESCRIPTION="A deriving proc-macro for generating functions to automatically give access to the inner members of enum"
-HOMEPAGE="https://github.com/bluejekyll/enum-as-inner"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/proc-macro2-0.4*:=
-	=dev-rust/quote-0.6*:=
-	=dev-rust/syn-0.15*:=
-"
diff --git a/dev-rust/env_logger/Manifest b/dev-rust/env_logger/Manifest
index c305ccd..25bc3965 100644
--- a/dev-rust/env_logger/Manifest
+++ b/dev-rust/env_logger/Manifest
@@ -1,3 +1,2 @@
-DIST env_logger-0.6.1.crate 28567 BLAKE2B a7302e44a807dcb1b523e1dde683a040837b1de2fbda5e8e7347478f77d4b7a39521aadd1d6d42dffbb6229e0dd6bd1b2b9fc47b860db45281a95612dd78faab SHA512 7e5142fa24e46aeb246515f42f9fc561364f266a693ec9f8c45dbe96d31174bf5663ef6233f41a5f96849dd19b61e2a97ab7ca1a7a55c51f741f4efa5af371c5
 DIST env_logger-0.8.3.crate 32543 BLAKE2B 513790f39c63eb096b0fb62687c74262b42b0edc3e6fc2e2f2fdd44463eb4cfbf67560136ec206e252afa1477fabf66917f4fc0e8192e040670f98f3d7c4bb51 SHA512 7f6c3c79b8f4efb8d1d4e4b879c1c78a427f15669244ce1eca869aea9bcad950ffa5b59f3f8e4513e085c2daf1f5857313b374e238fc78b731bba2646ec895ff
 DIST env_logger-0.9.0.crate 33573 BLAKE2B b9c22205ee60ba97da0d338e1d40dda989f0d766d9ebc60e610b53db882a803769fb3c093348c031183856e16a5a948342e09551953f0b98cd73437bec658bee SHA512 d7db85d2f7d16f7f97b6714e01e342ab6b784c799ef26ee322ec85fcee28a549b6e49a49200ff78eceacd0c682e941f8538a497e2a2a196040769c2365feb566
diff --git a/dev-rust/env_logger/env_logger-0.6.1-r2.ebuild b/dev-rust/env_logger/env_logger-0.6.1-r2.ebuild
deleted file mode 120000
index e9bc7eb..0000000
--- a/dev-rust/env_logger/env_logger-0.6.1-r2.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-env_logger-0.6.1.ebuild
\ No newline at end of file
diff --git a/dev-rust/env_logger/env_logger-0.6.1.ebuild b/dev-rust/env_logger/env_logger-0.6.1.ebuild
deleted file mode 100644
index dbc29e7..0000000
--- a/dev-rust/env_logger/env_logger-0.6.1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cros-rust
-
-DESCRIPTION="Implements a logger that can be configured via environment variables."
-HOMEPAGE="https://github.com/sebasmagri/env_logger/"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/atty-0.2.5:= <dev-rust/atty-0.3.0
-	=dev-rust/humantime-1.1*:=
-	=dev-rust/log-0.4*:=
-	>=dev-rust/regex-1.0.3:= <dev-rust/regex-2.0.0
-	>=dev-rust/termcolor-1.0.2:= <dev-rust/termcolor-2.0.0
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-rust/error-chain/Manifest b/dev-rust/error-chain/Manifest
index 5c2eb2c..96d10b4 100644
--- a/dev-rust/error-chain/Manifest
+++ b/dev-rust/error-chain/Manifest
@@ -1 +1,2 @@
 DIST error-chain-0.11.0.crate 27207 BLAKE2B e50c4e2d6a173e9866311bb81adbde4bddd64d529bfcc919ecade60926112b537cff491a4ba8e84586b3dc63e87e2b3c0695452c165ddf202d6901b2d6247f2c SHA512 a7c06be660a554b4c50deacaf6ef0699cf6e8cf234d9610324c70dac0cffeff1540dfbf10efd41427858551b095c998d670f1287c9459c35217bd78d8887c60b
+DIST error-chain-0.12.4.crate 29274 BLAKE2B d082bcbce47411477e8b597cfcb76985cc7d6f1696926cb5314f4e84d2c8642939f5263e110aaef56353ec086a21874a8093bcea1d018be81c86ca42c2c30d71 SHA512 c0ee19a0ba2d79ff1843148d0a582045e68466a9dc429e5f3c8a3a75bc1b6e0d6de03ad69fce851bc0297e7db77b2c6817a13c37e1c3d4501ed41db8a454bf79
diff --git a/dev-rust/error-chain/error-chain-0.11.0.ebuild b/dev-rust/error-chain/error-chain-0.11.0.ebuild
index 4fded79..cc9aef3 100644
--- a/dev-rust/error-chain/error-chain-0.11.0.ebuild
+++ b/dev-rust/error-chain/error-chain-0.11.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/error-chain/error-chain-0.12.4.ebuild b/dev-rust/error-chain/error-chain-0.12.4.ebuild
new file mode 100644
index 0000000..e8ad498
--- /dev/null
+++ b/dev-rust/error-chain/error-chain-0.12.4.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Yet another error boilerplate library.'
+HOMEPAGE='https://crates.io/crates/error-chain'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/backtrace-0.3.3 <dev-rust/backtrace-0.4.0_alpha:=
+	=dev-rust/version_check-0.9*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/eui48/Manifest b/dev-rust/eui48/Manifest
deleted file mode 100644
index c92dbb6..0000000
--- a/dev-rust/eui48/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST eui48-0.4.6.crate 12870 BLAKE2B 5cd88afa7ad0e093c44ce765a9b2a5b73a2a5d4ef60a2a26f9f8a8994ba37e37c7ea6ccbcf34c030c9e87d52c485676d13b184af92dbb5ac1481b7b78d0a4bd1 SHA512 97276f1b72c795378534dcfeae8a1a49742f3e2a4c2ea223dc9dbcc33f4ff5ca4a537c6363c3b1d69b3425e4e79fe2aadfe386a341edcc9a832d8d0950490d9c
diff --git a/dev-rust/eui48/eui48-0.4.6-r2.ebuild b/dev-rust/eui48/eui48-0.4.6-r2.ebuild
deleted file mode 120000
index 53dd810..0000000
--- a/dev-rust/eui48/eui48-0.4.6-r2.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-eui48-0.4.6.ebuild
\ No newline at end of file
diff --git a/dev-rust/eui48/eui48-0.4.6.ebuild b/dev-rust/eui48/eui48-0.4.6.ebuild
deleted file mode 100644
index 67d855a..0000000
--- a/dev-rust/eui48/eui48-0.4.6.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cros-rust
-
-DESCRIPTION="A Rust library to represent and parse IEEE EUI-48 also known as MAC-48 media access control addresses."
-HOMEPAGE="https://github.com/abaumhauer/eui48"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/rustc-serialize-0.3.24:= <dev-rust/rustc-serialize-0.4.0
-	>=dev-rust/serde-1.0.80:= <dev-rust/serde-2.0.0
-	>=dev-rust/serde_json-1.0.37:= <dev-rust/serde_json-2.0.0
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-rust/failure/Manifest b/dev-rust/failure/Manifest
deleted file mode 100644
index 8e27ade..0000000
--- a/dev-rust/failure/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST failure-0.1.5.crate 36749 BLAKE2B 97fb948770c3325862f449d5eafc07cfb170924b4a0efdf4e6d8902411eae6cade898c953a6b51a955838c359c670c1778b3a189c3e70152fe97e687df38a805 SHA512 8dcfff3b9f7ed03070cdd890e051bcd425535a4e18aec21d5a48383d2826528157ad51893cbaf320953d31752efb22f554ce974f8516706d87343537589433dc
diff --git a/dev-rust/failure/failure-0.1.5.ebuild b/dev-rust/failure/failure-0.1.5.ebuild
deleted file mode 100644
index 0531103..0000000
--- a/dev-rust/failure/failure-0.1.5.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cros-rust
-
-DESCRIPTION="Experimental error handling abstraction"
-HOMEPAGE="https://rust-lang-nursery.github.io/failure/"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/backtrace-0.3*:=
-	=dev-rust/failure_derive-0.1*:=
-"
-
-PATCHES=(
-	"${FILESDIR}/${P}-0001-Remove-makefile.patch"
-)
diff --git a/dev-rust/failure/files/failure-0.1.5-0001-Remove-makefile.patch b/dev-rust/failure/files/failure-0.1.5-0001-Remove-makefile.patch
deleted file mode 100644
index 6ea7791..0000000
--- a/dev-rust/failure/files/failure-0.1.5-0001-Remove-makefile.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Remove the Makefile that runs cargo test which is incompatible with ecargo.
---- a/Makefile	2018-10-21 05:24:00.000000000 +0800
-+++ b/Makefile	1970-01-01 08:00:00.000000000 +0800
-@@ -1,15 +0,0 @@
--all: test
--.PHONY: all
--
--test: 
--	@echo TEST DEFAULT FEATURES
--	@cargo test --all
--	@echo TEST WITH BACKTRACE
--	@cargo test --features backtrace --all
--	@echo TEST NO DEFAULT FEATURES
--	@cargo check --no-default-features --all
--.PHONY: test
--
--check:
--	@cargo check --all
--.PHONY: check
diff --git a/dev-rust/failure_derive/failure_derive-0.1.5.ebuild b/dev-rust/failure_derive/failure_derive-0.1.5.ebuild
index f22f24f..c8884ad 100644
--- a/dev-rust/failure_derive/failure_derive-0.1.5.ebuild
+++ b/dev-rust/failure_derive/failure_derive-0.1.5.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_REMOVE_DEV_DEPS=1
 
diff --git a/dev-rust/fallible-iterator/fallible-iterator-0.2.0.ebuild b/dev-rust/fallible-iterator/fallible-iterator-0.2.0.ebuild
index 7443508..0c428d3 100644
--- a/dev-rust/fallible-iterator/fallible-iterator-0.2.0.ebuild
+++ b/dev-rust/fallible-iterator/fallible-iterator-0.2.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/fallible-streaming-iterator/Manifest b/dev-rust/fallible-streaming-iterator/Manifest
deleted file mode 100644
index 56be052..0000000
--- a/dev-rust/fallible-streaming-iterator/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST fallible-streaming-iterator-0.1.9.crate 9249 BLAKE2B cc4459b34a9ad00552a5248d090d1f25804b92838f41131e475abb83ae0b89401248feeb52a49dbffd499ccc0ba0f2f1d044f2f3e9b06662be01fe2257a4e885 SHA512 34824e2007cb944eaf54b10d6d3885bb17ef2a2976c6dd7695ff82a937cc95eb65d343dd7a5cd2fab5aa5859faae3352a9e1c78f239ff736900c1dbc3f5ef7dc
diff --git a/dev-rust/fallible-streaming-iterator/fallible-streaming-iterator-0.1.9.ebuild b/dev-rust/fallible-streaming-iterator/fallible-streaming-iterator-0.1.9.ebuild
deleted file mode 100644
index 1a17cc3..0000000
--- a/dev-rust/fallible-streaming-iterator/fallible-streaming-iterator-0.1.9.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cros-rust
-
-DESCRIPTION="Fallible, streaming iteration"
-HOMEPAGE="https://github.com/sfackler/fallible-streaming-iterator"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
diff --git a/dev-rust/fancy-regex/Manifest b/dev-rust/fancy-regex/Manifest
new file mode 100644
index 0000000..8a1da64
--- /dev/null
+++ b/dev-rust/fancy-regex/Manifest
@@ -0,0 +1 @@
+DIST fancy-regex-0.8.0.crate 78355 BLAKE2B 37967c3826d83e3f64ff8fe617989b7613daa5092c5f8f09e10e1cfbc489da2f31389ed420af9728e3d4fb9911accaa8075f9d4e09c7e32b85a8ec46f7a03c3d SHA512 60c9f2b8c6d730a33ab1d3eac183abad0af74fce0e2c4982e57b50f4e719219ffd764111f88b5a2b144021fc13d3db277a58319f421f87195c6b97a034b7cdbb
diff --git a/dev-rust/fancy-regex/OWNERS b/dev-rust/fancy-regex/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/fancy-regex/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/fancy-regex/fancy-regex-0.8.0.ebuild b/dev-rust/fancy-regex/fancy-regex-0.8.0.ebuild
new file mode 100644
index 0000000..9ea7486
--- /dev/null
+++ b/dev-rust/fancy-regex/fancy-regex-0.8.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='An implementation of regexes, supporting a relatively rich set of features, including backreferences and look-around.'
+HOMEPAGE='https://crates.io/crates/fancy-regex'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/bit-set-0.5*:=
+	>=dev-rust/regex-1.3.8 <dev-rust/regex-2.0.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/featured/OWNERS b/dev-rust/featured/OWNERS
new file mode 100644
index 0000000..718315b
--- /dev/null
+++ b/dev-rust/featured/OWNERS
@@ -0,0 +1,2 @@
+include chromiumos/platform2:/featured/OWNERS
+jackshira@google.com
diff --git a/dev-rust/featured/featured-0.1.0-r7.ebuild b/dev-rust/featured/featured-0.1.0-r7.ebuild
new file mode 100644
index 0000000..669a00a
--- /dev/null
+++ b/dev-rust/featured/featured-0.1.0-r7.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+CROS_WORKON_COMMIT="546ddd233756de145213b55bc9665055cdf38408"
+CROS_WORKON_TREE="545d67a6429090226f1d6ac899f5f2d86bd38b99"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="featured"
+CROS_RUST_SUBDIR="featured/rust-client"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Chrome OS feature management service"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/featured/"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+DEPEND="
+	chromeos-base/featured
+	=dev-rust/bindgen-0.59*:=
+	=dev-rust/log-0.4*:=
+	=dev-rust/thiserror-1*:=
+"
+
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}"
diff --git a/dev-rust/featured/featured-9999.ebuild b/dev-rust/featured/featured-9999.ebuild
new file mode 100644
index 0000000..e7f03072
--- /dev/null
+++ b/dev-rust/featured/featured-9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="featured"
+CROS_RUST_SUBDIR="featured/rust-client"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Chrome OS feature management service"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/featured/"
+LICENSE="BSD-Google"
+KEYWORDS="~*"
+
+DEPEND="
+	chromeos-base/featured
+	=dev-rust/bindgen-0.59*:=
+	=dev-rust/log-0.4*:=
+	=dev-rust/thiserror-1*:=
+"
+
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}"
diff --git a/dev-rust/featured/files/chromeos-version.sh b/dev-rust/featured/files/chromeos-version.sh
new file mode 100644
index 0000000..5455aaa
--- /dev/null
+++ b/dev-rust/featured/files/chromeos-version.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Assumes the first 'version =' line in the Cargo.toml is the version for the
+# crate.
+awk '/^version = / { print $3; exit }' "$1/featured/rust-client/Cargo.toml" | tr -d '"'
diff --git a/dev-rust/findshlibs/findshlibs-0.3.3.ebuild b/dev-rust/findshlibs/findshlibs-0.3.3.ebuild
deleted file mode 100644
index 072e90c..0000000
--- a/dev-rust/findshlibs/findshlibs-0.3.3.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_RUST_EMPTY_CRATE=1
-
-inherit cros-rust
-
-DESCRIPTION="Empty ${PN} crate"
-HOMEPAGE=""
-
-LICENSE="BSD-Google"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
diff --git a/dev-rust/flame/flame-0.1.12.ebuild b/dev-rust/flame/flame-0.1.12.ebuild
index 072e90c..5c585f2 100644
--- a/dev-rust/flame/flame-0.1.12.ebuild
+++ b/dev-rust/flame/flame-0.1.12.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/flamer/flamer-0.1.4.ebuild b/dev-rust/flamer/flamer-0.1.4.ebuild
index 072e90c..5c585f2 100644
--- a/dev-rust/flamer/flamer-0.1.4.ebuild
+++ b/dev-rust/flamer/flamer-0.1.4.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/foreign-types-shared/foreign-types-shared-0.1.1.ebuild b/dev-rust/foreign-types-shared/foreign-types-shared-0.1.1.ebuild
index a56f0a4..275b7d7 100644
--- a/dev-rust/foreign-types-shared/foreign-types-shared-0.1.1.ebuild
+++ b/dev-rust/foreign-types-shared/foreign-types-shared-0.1.1.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/foreign-types/foreign-types-0.3.2.ebuild b/dev-rust/foreign-types/foreign-types-0.3.2.ebuild
index fee72e9..74a53a5 100644
--- a/dev-rust/foreign-types/foreign-types-0.3.2.ebuild
+++ b/dev-rust/foreign-types/foreign-types-0.3.2.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/form_urlencoded/Manifest b/dev-rust/form_urlencoded/Manifest
new file mode 100644
index 0000000..2879580
--- /dev/null
+++ b/dev-rust/form_urlencoded/Manifest
@@ -0,0 +1 @@
+DIST form_urlencoded-1.0.1.crate 8773 BLAKE2B e2d2224dbd85d053343aea29ef1bd540fb8be12fd600289e9c048e3b74bfb009d0770f8296556309ef756086f22feec4713dfed1006e1101075c8897be5471cc SHA512 3ab371c223561a27ffbd35cf648ef4a9145d47bba9d71900a7c54cfc2f089175e9361f6352331a9a7fa018923b15e7a3553c8f9ff9fae80e1626e641a5faff68
diff --git a/dev-rust/form_urlencoded/OWNERS b/dev-rust/form_urlencoded/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/form_urlencoded/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/form_urlencoded/form_urlencoded-1.0.1.ebuild b/dev-rust/form_urlencoded/form_urlencoded-1.0.1.ebuild
new file mode 100644
index 0000000..35c3bc3
--- /dev/null
+++ b/dev-rust/form_urlencoded/form_urlencoded-1.0.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Parser and serializer for the application/x-www-form-urlencoded syntax, as used by HTML forms.'
+HOMEPAGE='https://crates.io/crates/form_urlencoded'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/matches-0.1*:=
+	>=dev-rust/percent-encoding-2.1.0 <dev-rust/percent-encoding-3.0.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/fraction/Manifest b/dev-rust/fraction/Manifest
new file mode 100644
index 0000000..4489d12
--- /dev/null
+++ b/dev-rust/fraction/Manifest
@@ -0,0 +1 @@
+DIST fraction-0.10.0.crate 68827 BLAKE2B 97b36a634dd160d79e8c09a5c41af4d5a71178674659ee245a137e7880683a5f7f606e1c1fb0a5b13d10322e4d7cedbf8ae58598a6ee6f5688ef843abc2f4719 SHA512 34d46e9f798c579beca2acbc2c996f0a963aca4d7e3033fdbffa832dd304be849a05fb717960c10a6a4681149477c4f5e5d7ad57614dc955dec7deb962d60ff4
diff --git a/dev-rust/fraction/OWNERS b/dev-rust/fraction/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/fraction/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/fraction/fraction-0.10.0.ebuild b/dev-rust/fraction/fraction-0.10.0.ebuild
new file mode 100644
index 0000000..0479255
--- /dev/null
+++ b/dev-rust/fraction/fraction-0.10.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Lossless fractions and decimals; drop-in float replacement'
+HOMEPAGE='https://github.com/dnsl48/fraction.git'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/byteorder-1*:=
+	=dev-rust/bytes-1*:=
+	=dev-rust/juniper-0.15*:=
+	>=dev-rust/lazy_static-1.1.0 <dev-rust/lazy_static-2.0.0_alpha:=
+	=dev-rust/num-0.2*:=
+	=dev-rust/postgres-types-0.2*:=
+	=dev-rust/serde-1*:=
+	=dev-rust/serde_derive-1*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/fuchsia-zircon/fuchsia-zircon-0.3.2.ebuild b/dev-rust/fuchsia-zircon/fuchsia-zircon-0.3.2.ebuild
index 53767e8..d01ffa9 100644
--- a/dev-rust/fuchsia-zircon/fuchsia-zircon-0.3.2.ebuild
+++ b/dev-rust/fuchsia-zircon/fuchsia-zircon-0.3.2.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2018 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/futures-cpupool/Manifest b/dev-rust/futures-cpupool/Manifest
deleted file mode 100644
index c60358e..0000000
--- a/dev-rust/futures-cpupool/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST futures-cpupool-0.1.8.crate 10583 BLAKE2B 5832359dc451551a3cb77e48b73054ec1505e28e04b2307af5d8e17a3be9e0552941deaaa94d477082b924daade1a2aeb15a0e095629e29ce983b0788a15251a SHA512 49d7a75e2e0a6a6d2103212a9ad9474119f4f33cf3748b605dfbb461ec822330115cada6bbf6457f2093f4af4cc04b4db63dbab8c0faa8b25ee31fea29f660e6
diff --git a/dev-rust/futures-cpupool/futures-cpupool-0.1.8-r1.ebuild b/dev-rust/futures-cpupool/futures-cpupool-0.1.8-r1.ebuild
deleted file mode 120000
index 656ffd3..0000000
--- a/dev-rust/futures-cpupool/futures-cpupool-0.1.8-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-futures-cpupool-0.1.8.ebuild
\ No newline at end of file
diff --git a/dev-rust/futures-cpupool/futures-cpupool-0.1.8.ebuild b/dev-rust/futures-cpupool/futures-cpupool-0.1.8.ebuild
deleted file mode 100644
index 2cb13d3..0000000
--- a/dev-rust/futures-cpupool/futures-cpupool-0.1.8.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cros-rust
-
-DESCRIPTION="An implementation of thread pools which hand out futures to the results of the computation on the threads themselves."
-HOMEPAGE="https://github.com/rust-lang-nursery/futures-rs"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/futures-0.1:=
-	>=dev-rust/num_cpus-1.0:=
-"
diff --git a/dev-rust/gdbstub/Manifest b/dev-rust/gdbstub/Manifest
index 9aeccdf..a7a90a0 100644
--- a/dev-rust/gdbstub/Manifest
+++ b/dev-rust/gdbstub/Manifest
@@ -1 +1 @@
-DIST gdbstub-0.5.0.crate 86423 BLAKE2B 68c20ae6e2e8183a8de827d23ffdb7caa49b5dc12ba7ad03485b57902e45b78bdb47e1862dc8a2b888037dad38a58e4fef72b6c15c7f1209d6bd1df1a3908f89 SHA512 219ade1d8129891bc428f24ed8c2d466f884711dc901fc483cc808d7d06ec750680c5d6a2932d124c362569545ba0db2663f8e13e555dedb0e63b4e7314556c3
+DIST gdbstub-0.6.1.crate 138073 BLAKE2B cf87aaf5f43a383202ce6449f7865060121dc926c21b5f39aaa3e2b762392c49a02d613ef58ce94c0a6ebbb0cd34fde48ba3aec338ab8516d9ee5dabb7c680e0 SHA512 4d577ff307563325c34b1e117b856d5fb04e254be997de64e830ca1d3ce065ed72478edcd8b5be7c27bd1bf285dbbe2b4d6555517b19aaac846ad63140f4f688
diff --git a/dev-rust/gdbstub/gdbstub-0.5.0.ebuild b/dev-rust/gdbstub/gdbstub-0.5.0.ebuild
deleted file mode 100644
index ca396c1..0000000
--- a/dev-rust/gdbstub/gdbstub-0.5.0.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="An ergonomic and easy-to-integrate implementation of the GDB Remote Serial Protocol in Rust, with full #![no_std] support."
-HOMEPAGE="https://github.com/daniel5151/gdbstub"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/cfg-if-0.1.10:= <dev-rust/cfg-if-0.2
-	=dev-rust/log-0.4*:=
-	=dev-rust/managed-0.8*:=
-	=dev-rust/num-traits-0.2*:=
-	=dev-rust/paste-1*:=
-"
diff --git a/dev-rust/gdbstub/gdbstub-0.6.1.ebuild b/dev-rust/gdbstub/gdbstub-0.6.1.ebuild
new file mode 100644
index 0000000..2eeca7a
--- /dev/null
+++ b/dev-rust/gdbstub/gdbstub-0.6.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION="An ergonomic and easy-to-integrate implementation of the GDB Remote Serial Protocol in Rust, with full #![no_std] support."
+HOMEPAGE="https://github.com/daniel5151/gdbstub"
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/bitflags-1.3:= <dev-rust/bitflags-2.0
+	=dev-rust/cfg-if-1*:=
+	=dev-rust/log-0.4*:=
+	=dev-rust/managed-0.8*:=
+	=dev-rust/num-traits-0.2*:=
+	=dev-rust/paste-1*:=
+"
diff --git a/dev-rust/gdbstub_arch/Manifest b/dev-rust/gdbstub_arch/Manifest
index 973cc0c..1b4c152 100644
--- a/dev-rust/gdbstub_arch/Manifest
+++ b/dev-rust/gdbstub_arch/Manifest
@@ -1 +1 @@
-DIST gdbstub_arch-0.1.1.crate 12824 BLAKE2B 751769bcc0d76cd3630b58cef9e2a48f2c739f868fefcb3b0d91a1683eb79cad123ea7d7c2927acc21773cc80a1d7bda6db1cef4ff51b4491a81b2d7b463ac76 SHA512 0b45526cbc8a818cae17841f4e24582b95c6d327d9bb36e6a5483975df2a20966eb80cb24f49a6857e6583c60ae75ace62bca1e639b4fe8e20c4726461343599
+DIST gdbstub_arch-0.2.2.crate 13359 BLAKE2B ef72988709c3a9efc6cedf005fbc7ac305b76599ae5888bdfe0461b0779f5fe48e02b5ee6f51985a760ba3abe0f71fe99e1dbab180acc0d97c68d34082907645 SHA512 891d4ea3a82386b87225537e1adc191e623c4473485dc01f77bcf93bb14a66c1bf2251f5afa643b747a20698cdc828d26a17ad392eb63dad28556ad3aea78820
diff --git a/dev-rust/gdbstub_arch/gdbstub_arch-0.1.1.ebuild b/dev-rust/gdbstub_arch/gdbstub_arch-0.1.1.ebuild
deleted file mode 100644
index 79eacdc..0000000
--- a/dev-rust/gdbstub_arch/gdbstub_arch-0.1.1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="Implementations of gdbstub::arch::Arch for various architectures."
-HOMEPAGE="https://github.com/daniel5151/gdbstub"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/gdbstub-0.5*:=
-	=dev-rust/num-traits-0.2*:=
-"
diff --git a/dev-rust/gdbstub_arch/gdbstub_arch-0.2.2.ebuild b/dev-rust/gdbstub_arch/gdbstub_arch-0.2.2.ebuild
new file mode 100644
index 0000000..af93bd3
--- /dev/null
+++ b/dev-rust/gdbstub_arch/gdbstub_arch-0.2.2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION="Implementations of gdbstub::arch::Arch for various architectures."
+HOMEPAGE="https://github.com/daniel5151/gdbstub"
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/gdbstub-0.6*:=
+	=dev-rust/num-traits-0.2*:=
+"
diff --git a/dev-rust/getopts/getopts-0.2.18.ebuild b/dev-rust/getopts/getopts-0.2.18.ebuild
index 25d23a8..142d040 100644
--- a/dev-rust/getopts/getopts-0.2.18.ebuild
+++ b/dev-rust/getopts/getopts-0.2.18.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2018 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/getrandom/Manifest b/dev-rust/getrandom/Manifest
index 569c31e..b961ff5 100644
--- a/dev-rust/getrandom/Manifest
+++ b/dev-rust/getrandom/Manifest
@@ -1,2 +1,3 @@
 DIST getrandom-0.1.15.crate 24786 BLAKE2B 868817d62ee44fa5bbf54f9af0bd71a29503f92bc93e190a834f4ebdb8eb73dd29e175c661f9964298987949c0b82a53e99080cbe4090fc9c5453daea4b05595 SHA512 b26d9558554058f8a54b03f56f488db5ebad2d5cc84f737e489f8f532f8464ef9038d104173eb30acca61caa1f99e1ce267bc493c01ba1611b829e0a090cc87f
 DIST getrandom-0.2.0.crate 26029 BLAKE2B fac97b7bff4c1a61f8f868dbfa234974dc904a25b9954cb5500877fd36218bfe36a572028ca0e79e9e8bfe951082b177641fdbeef2265156695352230f5309e2 SHA512 41aa36a39fdd8bc4f8a927627806f3d58a8458041ac7347fd446dc628175ec8dba2c018e82839a680cb587a09a23fee3fd357f99900a42baafb54970062bd9b1
+DIST getrandom-0.2.6.crate 28043 BLAKE2B b9871b18389f6e5503b3b817baa37dc585eec980851114b3407f34d25bbf68fd70e8bdef60ab682967a1397cb9659b343312deee740aa2107bbf38d1f4629d60 SHA512 3fca26198bbab1a9e189fb45ad6cc7c7a18969eed6f68ca43407a2d463fe004955b1d199c1794a23a53ba21fedb61eff86d380d2bf49bfdb6c7055c11d543096
diff --git a/dev-rust/getrandom/getrandom-0.2.6.ebuild b/dev-rust/getrandom/getrandom-0.2.6.ebuild
new file mode 100644
index 0000000..fe69467
--- /dev/null
+++ b/dev-rust/getrandom/getrandom-0.2.6.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+#CROS_RUST_REMOVE_TARGET_CFG=1
+
+inherit cros-rust
+
+DESCRIPTION='A small cross-platform library for retrieving random data from system source'
+HOMEPAGE='https://crates.io/crates/getrandom'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/cfg-if-1*:=
+	=dev-rust/compiler_builtins-0.1*:=
+	=dev-rust/rustc-std-workspace-core-1*:=
+	>=dev-rust/libc-0.2.120 <dev-rust/libc-0.3.0_alpha:=
+	>=dev-rust/wasi-0.10.0:=
+	>=dev-rust/wasm-bindgen-0.2.62:= <dev-rust/wasm-bindgen-0.3.0
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/gif/gif-0.11.1.ebuild b/dev-rust/gif/gif-0.11.1.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/gif/gif-0.11.1.ebuild
+++ b/dev-rust/gif/gif-0.11.1.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/git2/Manifest b/dev-rust/git2/Manifest
deleted file mode 100644
index b7de1ee..0000000
--- a/dev-rust/git2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST git2-0.9.1.crate 151280 BLAKE2B d0c08fbfeb2928e3986cdf57baccc44f75454b2bbb4470593903391d552369a0daeaaf1a64038e4dfab2194c2a3255579ddd4700cc0ebfe881023855521beb1b SHA512 293a8d3c284bde2636ca600f5fcb460a6077783a15c4c3b4e5472d4486233d0c5aa18968cc4d0e9e019fa8a1706e04000c858f8c87e2d92d0114ad0f18f136b2
diff --git a/dev-rust/git2/OWNERS b/dev-rust/git2/OWNERS
new file mode 100644
index 0000000..f969fac8
--- /dev/null
+++ b/dev-rust/git2/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/flashrom:master:/OWNERS
diff --git a/dev-rust/git2/git2-0.13.0.ebuild b/dev-rust/git2/git2-0.13.0.ebuild
new file mode 100644
index 0000000..c74dee1
--- /dev/null
+++ b/dev-rust/git2/git2-0.13.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/git2/git2-0.9.1.ebuild b/dev-rust/git2/git2-0.9.1.ebuild
deleted file mode 100644
index b1101e7..0000000
--- a/dev-rust/git2/git2-0.9.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="libgit2 bindings for Rust"
-HOMEPAGE="https://github.com/rust-lang/git2-rs"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND=">=dev-rust/bitflags-1.0:=
-	>=dev-rust/libc-0.2:=
-	>=dev-rust/libgit2-sys-0.8.0:=
-	=dev-rust/log-0.4*:=
-	=dev-rust/url-1*:=
-	>=dev-rust/openssl-probe-0.1.2:=
-	>=dev-rust/openssl-sys-0.9.47:=
-"
-
-# error: could not compile `git2`
-RESTRICT="test"
diff --git a/dev-rust/gumdrop/OWNERS b/dev-rust/gumdrop/OWNERS
new file mode 100644
index 0000000..f969fac8
--- /dev/null
+++ b/dev-rust/gumdrop/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/flashrom:master:/OWNERS
diff --git a/dev-rust/gumdrop/gumdrop-0.8.0.ebuild b/dev-rust/gumdrop/gumdrop-0.8.0.ebuild
new file mode 100644
index 0000000..c74dee1
--- /dev/null
+++ b/dev-rust/gumdrop/gumdrop-0.8.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/gzip-header/gzip-header-0.3.0.ebuild b/dev-rust/gzip-header/gzip-header-0.3.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/gzip-header/gzip-header-0.3.0.ebuild
+++ b/dev-rust/gzip-header/gzip-header-0.3.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/h2/Manifest b/dev-rust/h2/Manifest
deleted file mode 100644
index 53ef155..0000000
--- a/dev-rust/h2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST h2-0.1.26.crate 153921 BLAKE2B 4a84716e37abeeebbf0771720c5af636576cff47158eca1c7bc76f21c0531b41a75bf3ad7b6bd88aca960e96e15679a7908720d316321e319021624834a97c4c SHA512 37686cbb102eeb15de3f76d0607cf64210b11f5272ed83dbbb145650fbf11916027be3acb487cbb3e02654469b9f78167a7f18551f39af142e659cb149363d49
diff --git a/dev-rust/h2/h2-0.1.26.ebuild b/dev-rust/h2/h2-0.1.26.ebuild
deleted file mode 100644
index ae5737b..0000000
--- a/dev-rust/h2/h2-0.1.26.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="A Tokio aware, HTTP/2.0 client & server implementation for Rust."
-HOMEPAGE="https://github.com/hyperium/h2"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/byteorder-1.0:=
-	>=dev-rust/bytes-0.4.7:=
-	>=dev-rust/fnv-1.0.5:=
-	>=dev-rust/futures-0.1:=
-	>=dev-rust/http-0.1.8:=
-	>=dev-rust/indexmap-1.0:=
-	>=dev-rust/log-0.4.1:=
-	>=dev-rust/slab-0.4.0:=
-	>=dev-rust/string-0.2:=
-	>=dev-rust/tokio-io-0.1.4:=
-"
diff --git a/dev-rust/hash32/Manifest b/dev-rust/hash32/Manifest
index feb21d4..e42de7f 100644
--- a/dev-rust/hash32/Manifest
+++ b/dev-rust/hash32/Manifest
@@ -1 +1,2 @@
 DIST hash32-0.1.1.crate 10967 BLAKE2B a87b945b6c39a98022b32c5b29cbd6cce64e20abeb80b32131f95f7e919c979f3b5b6cf440e2255ec5a9861060d7a95deef3cfb280e26cdc0247f809eb2881d9 SHA512 57ea9009c6365de6a55bf1c4a514eb997a1671fe72877354fb75de858b531c78eb7a3c9e2477491d595a916ac4dfd5e976e1febe3e0ef6bc2299e69c37389215
+DIST hash32-0.2.1.crate 11168 BLAKE2B 26e157c3e8e1c3f72c06a804b0e991544d92dc46ed6f12913074dc3f22861939e24644d7fee8e4836ba4d36fe02cf7147a5c1f30998deed33fb3ac53854d20a1 SHA512 e739445fb07403370fda110dc76b82046e5df0250a5e9898ccd0b33547972d26405527f3e3e9cddcd2caa775c8afcfbfc098cb995ab59c44aca642d6c539594f
diff --git a/dev-rust/hash32/hash32-0.2.1.ebuild b/dev-rust/hash32/hash32-0.2.1.ebuild
new file mode 100644
index 0000000..a84ca97
--- /dev/null
+++ b/dev-rust/hash32/hash32-0.2.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='32-bit hashing machinery'
+HOMEPAGE='https://crates.io/crates/hash32'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/byteorder-1.2.2 <dev-rust/byteorder-2.0.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/hashbrown/hashbrown-0.11.2-r1.ebuild b/dev-rust/hashbrown/hashbrown-0.11.2-r1.ebuild
new file mode 120000
index 0000000..dbef608
--- /dev/null
+++ b/dev-rust/hashbrown/hashbrown-0.11.2-r1.ebuild
@@ -0,0 +1 @@
+./hashbrown-0.11.2.ebuild
\ No newline at end of file
diff --git a/dev-rust/hashbrown/hashbrown-0.11.2.ebuild b/dev-rust/hashbrown/hashbrown-0.11.2.ebuild
index 3f08258..7e9b21e 100644
--- a/dev-rust/hashbrown/hashbrown-0.11.2.ebuild
+++ b/dev-rust/hashbrown/hashbrown-0.11.2.ebuild
@@ -16,7 +16,7 @@
 KEYWORDS="*"
 
 DEPEND="
-	=dev-rust/ahash-0.7*:=
+	=dev-rust/ahash-0.7.0:=
 	=dev-rust/rustc-std-workspace-alloc-1*:=
 	>=dev-rust/bumpalo-3.5.0:= <dev-rust/bumpalo-4.0.0
 	>=dev-rust/compiler_builtins-0.1.2:= <dev-rust/compiler_builtins-0.2.0
@@ -28,5 +28,6 @@
 
 # This file was automatically generated by cargo2ebuild.py
 
+# ahash is pinned to 0.7.0 since newer verison of ahash(0.7.6) results in cyclic dependency.
 # the package `hashbrown` depends on `ahash`, with features: `compile-time-rng` but `ahash` does not have these features.
 RESTRICT="test"
diff --git a/dev-rust/heapless/Manifest b/dev-rust/heapless/Manifest
index 3eadbfb..e09391c 100644
--- a/dev-rust/heapless/Manifest
+++ b/dev-rust/heapless/Manifest
@@ -1 +1,2 @@
 DIST heapless-0.6.1.crate 61144 BLAKE2B 0a587c7950bda62c001d7f3c327a0abc2b28a2d78d9d9ad239a0c09014f22461ae8d2939193610339e08a81f049b03d269a21d05cc913e2feef5244544df1613 SHA512 bcc248a9110de8c2b350b24dab46d948b7459608124cbc76846e8a3005952961e0a0f792db90a0b59749e46e8e548a8ae43f50b073c35d4158826c2f05f859a2
+DIST heapless-0.7.15.crate 75697 BLAKE2B 6eef3db5808ed414afc20427c271408033ed2b5d7d174b3c2cbcabf16ca625535f0e26df44316a55a52dea6e92f391a50fdd8220560ab524b03e7be49b7fb1cb SHA512 3675e94c245f2e54783f13f48337b3ff986dbe6c52e00eaf14f5ed4cdc917c13c9b3b0242e3aca8231748d7cd8d391c39f813987193ed41a70bf7bb0e2905bdd
diff --git a/dev-rust/heapless/heapless-0.7.15.ebuild b/dev-rust/heapless/heapless-0.7.15.ebuild
new file mode 100644
index 0000000..12346d6
--- /dev/null
+++ b/dev-rust/heapless/heapless-0.7.15.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+# We don't set CROS_RUST_REMOVE_TARGET_CFG=1 because that would remove the
+# dependency on atomic-polyfill, which is needed.
+
+inherit cros-rust
+
+DESCRIPTION="\"static\" friendly data structures that don't require dynamic memory allocation"
+HOMEPAGE='https://crates.io/crates/heapless'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/defmt-0.2.0 <dev-rust/defmt-0.4.0_alpha:=
+	>=dev-rust/hash32-0.2.1 <dev-rust/hash32-0.3.0_alpha:=
+	>=dev-rust/atomic-polyfill-0.1.8 <dev-rust/atomic-polyfill-0.2.0:=
+	>=dev-rust/spin-0.9.2 <dev-rust/spin-0.10.0:=
+	=dev-rust/serde-1*:=
+	=dev-rust/stable_deref_trait-1*:=
+	=dev-rust/ufmt-write-0.1*:=
+	=dev-rust/rustc_version-0.4*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/heapsize/heapsize-0.4.2.ebuild b/dev-rust/heapsize/heapsize-0.4.2.ebuild
index 072e90c..5c585f2 100644
--- a/dev-rust/heapsize/heapsize-0.4.2.ebuild
+++ b/dev-rust/heapsize/heapsize-0.4.2.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/heck/Manifest b/dev-rust/heck/Manifest
index 793e4f3..3b4196b 100644
--- a/dev-rust/heck/Manifest
+++ b/dev-rust/heck/Manifest
@@ -1 +1,2 @@
 DIST heck-0.3.3.crate 10260 BLAKE2B dc756738081d855583f239908f671e9b5dde72ebfb577f6387b1a169817a03332464cf67071708a4c4f06b1ecb222118e8c719073ccdec1c0f938e5ef378b13f SHA512 b3498e033f44e03206421e565efec5b21d13107b60d35e4476331c44e6effd75c81f7678f2452c822eefd581209a2ffefd2034779cca2d8b4fac4583bbbf777f
+DIST heck-0.4.0.crate 11161 BLAKE2B 13b8bc39cf3ab90e71433e3c7b3e5f1c19404bec58dc4298dca05d94d5c14c2fc97350de737cb78aa45196b1241aa8f1ccf3a11ca309da5fe0f6a657673412b3 SHA512 33bdbf4ff9ecc4f4d74cf06590e056f4d96bf0d990d5381b9da5b65682b2495ed74e27b45419c2afa986c1f6200909d5175b137ae73ced5cc8ac869e4e1bce8f
diff --git a/dev-rust/heck/heck-0.4.0.ebuild b/dev-rust/heck/heck-0.4.0.ebuild
new file mode 100644
index 0000000..26aea6a
--- /dev/null
+++ b/dev-rust/heck/heck-0.4.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='heck is a case conversion library.'
+HOMEPAGE='https://github.com/withoutboats/heck'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/unicode-segmentation-1.2.0 <dev-rust/unicode-segmentation-2.0.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/hermit-abi/hermit-abi-0.1.3.ebuild b/dev-rust/hermit-abi/hermit-abi-0.1.3.ebuild
index 760e39c..b39788b 100644
--- a/dev-rust/hermit-abi/hermit-abi-0.1.3.ebuild
+++ b/dev-rust/hermit-abi/hermit-abi-0.1.3.ebuild
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE="https://github.com/hermitcore/libhermit-rs"
 
-LICENSE="|| ( MIT Apache-2.0 )"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/hostname/Manifest b/dev-rust/hostname/Manifest
new file mode 100644
index 0000000..cd65b6f
--- /dev/null
+++ b/dev-rust/hostname/Manifest
@@ -0,0 +1 @@
+DIST hostname-0.3.1.crate 9272 BLAKE2B cafcae4bbfadd51d058e3daba3e63d897bc3418723d8e843fd941d9663dbc89dba131c77d14ce7a5da552650ea3c40c4e418c88d465f1bab2fa20c178596852d SHA512 a90407996353c9bcf5b76be03713e3a0455ac80a50892e77a508744cf436a938ddb87ef97d8cc91ec7dc4353cfb7bca0fd28c90a72f8a9ecd4f29220d174edf2
diff --git a/dev-rust/hostname/OWNERS b/dev-rust/hostname/OWNERS
new file mode 100644
index 0000000..289ef57
--- /dev/null
+++ b/dev-rust/hostname/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/hiberman/OWNERS
diff --git a/dev-rust/hostname/hostname-0.3.1.ebuild b/dev-rust/hostname/hostname-0.3.1.ebuild
new file mode 100644
index 0000000..a564914
--- /dev/null
+++ b/dev-rust/hostname/hostname-0.3.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Cross-platform system"s host name functions'
+HOMEPAGE='https://crates.io/crates/hostname'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/match_cfg-0.1*:=
+	=dev-rust/libc-0.2*:=
+	=dev-rust/winapi-0.3*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/http-body/Manifest b/dev-rust/http-body/Manifest
deleted file mode 100644
index eb7f1fb..0000000
--- a/dev-rust/http-body/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST http-body-0.1.0.crate 4618 BLAKE2B 2320b5b52a64cfa32550ffeebd950fb56135a0dbb8e43122521a760cfd574083b19a5a41ead0809f5ae764d797eca7007397931b2e63a79dbd9b4a26055d81bd SHA512 b1c9fff799f6581160ef232ceff82a0c222a9f1ed3ec24760fb6b156d42739e06512086e4819323aee7e19b1d0b30ac8915f775f9c36d63b4f901546d331cc80
diff --git a/dev-rust/http-body/http-body-0.1.0.ebuild b/dev-rust/http-body/http-body-0.1.0.ebuild
deleted file mode 100644
index dfb9fe9..0000000
--- a/dev-rust/http-body/http-body-0.1.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cros-rust
-
-DESCRIPTION="A trait representing asynchronous operations on an HTTP body."
-HOMEPAGE="https://github.com/hyperium/http-body"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/bytes-0.4.11:=
-	>=dev-rust/futures-0.1.25:=
-	>=dev-rust/http-0.1.16:=
-	>=dev-rust/tokio-buf-0.1:=
-"
diff --git a/dev-rust/http/Manifest b/dev-rust/http/Manifest
deleted file mode 100644
index cc9c1c51..0000000
--- a/dev-rust/http/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST http-0.1.19.crate 101834 BLAKE2B d3f557e34c93235353e170b472c37cc4de1c3814833205a8e8f1f747cbbe170bb94ec50bf0c62f8a539c518d5f163e34d30584e2680c5efcb94f3c70b0a75a0f SHA512 d24574664c9e6b766584b21c84df942110cdcf1afbe8a0ee242ebd030c431679b91265db76c439c4b5e931947fa507097d8df68e3b4fd9ca04139808bed25f76
diff --git a/dev-rust/http/http-0.1.19.ebuild b/dev-rust/http/http-0.1.19.ebuild
deleted file mode 100644
index 57b32d3..0000000
--- a/dev-rust/http/http-0.1.19.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="A general purpose library of common HTTP types"
-HOMEPAGE="https://github.com/hyperium/http"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/bytes-0.4:=
-	>=dev-rust/fnv-1.0.5:=
-	>=dev-rust/itoa-0.4.1:=
-"
diff --git a/dev-rust/httparse/httparse-1.3.4.ebuild b/dev-rust/httparse/httparse-1.3.4.ebuild
index 89c97e6..232bd28 100644
--- a/dev-rust/httparse/httparse-1.3.4.ebuild
+++ b/dev-rust/httparse/httparse-1.3.4.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_REMOVE_DEV_DEPS=1
 
diff --git a/dev-rust/humantime/Manifest b/dev-rust/humantime/Manifest
index de317ae..ae7031b 100644
--- a/dev-rust/humantime/Manifest
+++ b/dev-rust/humantime/Manifest
@@ -1,2 +1 @@
-DIST humantime-1.1.1.crate 16689 BLAKE2B fe9d8ef8ad396bb8452f1e28c4a122e3918c61042f0cee8c5769683f9b321f82514474a100aecc5bfc39422bfaadacfb35bf9f14bd3814d1de62fd0b7517e67e SHA512 b18608d088519df5e0c531c8756635f41bb6515ed7463891e6145b9a78ca2bc45c0698789015c093463c704b240434d1b54ab327fc4182a06a8b1d01f50430c6
 DIST humantime-2.1.0.crate 16749 BLAKE2B e2ae8325b037fb175b9200cc5c1944ce579056c6662cce307beb6701894552362a25e371aad65f8fb9384945b48815ca74bb8b544a32e0a5845b7edd30b918c9 SHA512 3bf29ddd1391d82897c22baa0ff3ed58ef6d6959859f1f8ed54d324caba5b6fb4422e56790511ce82f902cd11467f93c8ab7fc7b0e0bdb719308a4d0a446ae0c
diff --git a/dev-rust/humantime/humantime-1.1.1.ebuild b/dev-rust/humantime/humantime-1.1.1.ebuild
deleted file mode 100644
index ff5dffd..0000000
--- a/dev-rust/humantime/humantime-1.1.1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cros-rust
-
-DESCRIPTION="Human-friendly time parser and formatter."
-HOMEPAGE="https://github.com/tailhook/humantime"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/quick-error-1*:=
-	=dev-rust/chrono-0.4*:=
-	=dev-rust/rand-0.4*:=
-	>=dev-rust/time-0.1.39:=
-"
diff --git a/dev-rust/hyper-tls/Manifest b/dev-rust/hyper-tls/Manifest
deleted file mode 100644
index bea3068..0000000
--- a/dev-rust/hyper-tls/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST hyper-tls-0.3.2.crate 8901 BLAKE2B 2b3810160156c584057101a25c8f7decec4fb4632631f4c048353d3d2f90a37cec7b20a85ceef61941f02c5264932c8d0255823c2d615825d2499951f5e25a0c SHA512 9179878b95e8e390b17d45bb02c24219066405f671fddc4e044ecac0a00646e9ae03e7cda31b0f6f7beddd8fbccfc873d28d52e6b46aab2d252a2472302a483c
diff --git a/dev-rust/hyper-tls/hyper-tls-0.3.2-r2.ebuild b/dev-rust/hyper-tls/hyper-tls-0.3.2-r2.ebuild
deleted file mode 120000
index e1825b7..0000000
--- a/dev-rust/hyper-tls/hyper-tls-0.3.2-r2.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-hyper-tls-0.3.2.ebuild
\ No newline at end of file
diff --git a/dev-rust/hyper-tls/hyper-tls-0.3.2.ebuild b/dev-rust/hyper-tls/hyper-tls-0.3.2.ebuild
deleted file mode 100644
index a6c4609f..0000000
--- a/dev-rust/hyper-tls/hyper-tls-0.3.2.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="Default TLS implementation for use with hyper"
-HOMEPAGE="https://github.com/hyperium/hyper-tls"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/bytes-0.4*:=
-	>=dev-rust/futures-0.1.21:= <dev-rust/futures-0.2.0
-	=dev-rust/hyper-0.12*:=
-	=dev-rust/native-tls-0.2*:=
-	=dev-rust/tokio-io-0.1*:=
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-rust/hyper/Manifest b/dev-rust/hyper/Manifest
deleted file mode 100644
index e29d307..0000000
--- a/dev-rust/hyper/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST hyper-0.12.35.crate 127971 BLAKE2B bd2b1cf87d30fba32fe96312164b5a55d595bb6f6495df4c0b219f9756c1ae9180f9380191ca202f5cfc49002416ccf05d4799bba62c7038578c59860c36a4ec SHA512 40f3285b4de23ac8404b191a44a78399ed3186d9e6abf77d759615cc4678292411df798cbe4c2d5405677cd5c108468c015d6b42fd8d833484f8ca9c1128f68c
diff --git a/dev-rust/hyper/hyper-0.12.35-r2.ebuild b/dev-rust/hyper/hyper-0.12.35-r2.ebuild
deleted file mode 120000
index 2cb8e06..0000000
--- a/dev-rust/hyper/hyper-0.12.35-r2.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-hyper-0.12.35.ebuild
\ No newline at end of file
diff --git a/dev-rust/hyper/hyper-0.12.35.ebuild b/dev-rust/hyper/hyper-0.12.35.ebuild
deleted file mode 100644
index 92ea146..0000000
--- a/dev-rust/hyper/hyper-0.12.35.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="A fast and correct HTTP implementation for Rust."
-HOMEPAGE="https://github.com/hyperium/hyper"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/bytes-0.4.4:= <dev-rust/bytes-0.5.0
-	>=dev-rust/futures-0.1.21:= <dev-rust/futures-0.2.0
-	>=dev-rust/h2-0.1.10:= <dev-rust/h2-0.2.0
-	>=dev-rust/http-0.1.15:= <dev-rust/http-0.2.0
-	=dev-rust/httparse-1*:=
-	=dev-rust/http-body-0.1*:=
-	=dev-rust/iovec-0.1*:=
-	>=dev-rust/itoa-0.4.1:= <dev-rust/itoa-0.5.0
-	=dev-rust/log-0.4*:=
-	=dev-rust/rustc_version-0.2*:=
-	=dev-rust/time-0.1*:=
-	=dev-rust/tokio-buf-0.1*:=
-	=dev-rust/tokio-io-0.1*:=
-	=dev-rust/want-0.2*:=
-	>=dev-rust/futures-cpupool-0.1.6:= <dev-rust/futures-cpupool-0.2.0
-	>=dev-rust/net2-0.2.32:= <dev-rust/net2-0.3.0
-	>=dev-rust/tokio-0.1.14:= <dev-rust/tokio-0.2.0
-	=dev-rust/tokio-executor-0.1*:=
-	=dev-rust/tokio-reactor-0.1*:=
-	=dev-rust/tokio-tcp-0.1*:=
-	>=dev-rust/tokio-threadpool-0.1.3:= <dev-rust/tokio-threadpool-0.2.0
-	=dev-rust/tokio-timer-0.2*:=
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-rust/hyphenation/hyphenation-0.7.1.ebuild b/dev-rust/hyphenation/hyphenation-0.7.1.ebuild
index f8b19c2..dd182f5 100644
--- a/dev-rust/hyphenation/hyphenation-0.7.1.ebuild
+++ b/dev-rust/hyphenation/hyphenation-0.7.1.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 CROS_RUST_EMPTY_CRATE_FEATURES=(embed_all)
@@ -11,6 +11,6 @@
 DESCRIPTION="Empty hyphenation crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/hyphenation/hyphenation-0.8.0.ebuild b/dev-rust/hyphenation/hyphenation-0.8.0.ebuild
index 97a3a08..564b3c67f 100644
--- a/dev-rust/hyphenation/hyphenation-0.8.0.ebuild
+++ b/dev-rust/hyphenation/hyphenation-0.8.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/hyphenation/hyphenation-0.8.4.ebuild b/dev-rust/hyphenation/hyphenation-0.8.4.ebuild
new file mode 100644
index 0000000..9e67c03
--- /dev/null
+++ b/dev-rust/hyphenation/hyphenation-0.8.4.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+CROS_RUST_EMPTY_CRATE_FEATURES=( "embed_en-us" )
+inherit cros-rust
+
+DESCRIPTION="Empty crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/idna/Manifest b/dev-rust/idna/Manifest
index 5a92e79..8119b89 100644
--- a/dev-rust/idna/Manifest
+++ b/dev-rust/idna/Manifest
@@ -1 +1 @@
-DIST idna-0.1.5.crate 258735 BLAKE2B 31f2506f76e9bbab68c0da6222db214865dc37994851d91eab8c6e7f0220e6bcebe50ce3a571866bc03f3ad1b337f25c3a02c7e7f1494553d91e85c1bf042950 SHA512 217bc49f667242bd89eff708fef395fd46cfe3d24440bfb76869086fb93805c4f49d718251fb1c35ac40d5588ec98cf8b8b516fda53d6d7fd3da1ab04b0d173a
+DIST idna-0.2.3.crate 271023 BLAKE2B 157ece18825fd3f8055581ccbd14191a6923da4c806ce51b3d6376682878db000a1b873f744c8e9e1966e4c1f8393643bcb603deae299ed0bd87847b0bd2c591 SHA512 1278bd561ce329e1dc7a6f24a10f83d9a068af5d15a088414f3921c6728b0d54f4d60d6f4d0d5a786596ad226263e1e50c3842f192d5758aa4665ba4ed5c269f
diff --git a/dev-rust/idna/idna-0.1.5.ebuild b/dev-rust/idna/idna-0.1.5.ebuild
deleted file mode 100644
index db4ce18..0000000
--- a/dev-rust/idna/idna-0.1.5.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cros-rust
-
-DESCRIPTION="IDNA (Internationalizing Domain Names in Applications) and Punycode"
-HOMEPAGE="https://github.com/servo/rust-url/"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/matches-0.1*:=
-	=dev-rust/unicode-bidi-0.3*:=
-	=dev-rust/unicode-normalization-0.1*:=
-	=dev-rust/rustc-serialize-0.3*:=
-	=dev-rust/rustc-test-0.3*:=
-"
-
-# error: could not compile `idna`
-RESTRICT="test"
diff --git a/dev-rust/idna/idna-0.2.3.ebuild b/dev-rust/idna/idna-0.2.3.ebuild
new file mode 100644
index 0000000..949dfb8
--- /dev/null
+++ b/dev-rust/idna/idna-0.2.3.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='IDNA (Internationalizing Domain Names in Applications) and Punycode.'
+HOMEPAGE='https://crates.io/crates/idna'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/matches-0.1*:=
+	=dev-rust/unicode-bidi-0.3*:=
+	>=dev-rust/unicode-normalization-0.1.17 <dev-rust/unicode-normalization-0.2.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/indicatif/Manifest b/dev-rust/indicatif/Manifest
new file mode 100644
index 0000000..a6eb538
--- /dev/null
+++ b/dev-rust/indicatif/Manifest
@@ -0,0 +1 @@
+DIST indicatif-0.16.2.crate 35057 BLAKE2B c2f3beb7ac4450c5aace863f33de7a4b474e93c5d34fa55acacf971c5e0918b4b72c1a970f15395a8256fdf8bbb78edc8f2a6fb85be4aa7dbcd13d1fc30ff55a SHA512 5f60358f1fe3ffc0ec97d1d8922a7a2645d7dc0affed1d49a9205becdb36756d6a03482ef00fc918231770f967f7fc523f7b8c3bf4c06f71a0a93549c46fdacd
diff --git a/dev-rust/serialport/OWNERS b/dev-rust/indicatif/OWNERS
similarity index 100%
copy from dev-rust/serialport/OWNERS
copy to dev-rust/indicatif/OWNERS
diff --git a/dev-rust/indicatif/indicatif-0.16.2.ebuild b/dev-rust/indicatif/indicatif-0.16.2.ebuild
new file mode 100644
index 0000000..da2f6ef
--- /dev/null
+++ b/dev-rust/indicatif/indicatif-0.16.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='A progress bar and cli reporting library for Rust'
+HOMEPAGE='https://crates.io/crates/indicatif'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/console-0.9.1 <dev-rust/console-1.0.0_alpha:=
+	=dev-rust/lazy_static-1*:=
+	=dev-rust/number_prefix-0.4*:=
+	=dev-rust/rayon-1*:=
+	>=dev-rust/regex-1.3.1 <dev-rust/regex-2.0.0_alpha:=
+	>=dev-rust/unicode-segmentation-1.6.0 <dev-rust/unicode-segmentation-2.0.0_alpha:=
+	>=dev-rust/unicode-width-0.1.7 <dev-rust/unicode-width-0.2.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
+
+RESTRICT="test"
diff --git a/dev-rust/io_uring/io_uring-0.1.0-r16.ebuild b/dev-rust/io_uring/io_uring-0.1.0-r16.ebuild
deleted file mode 100644
index 7df9dd1..0000000
--- a/dev-rust/io_uring/io_uring-0.1.0-r16.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="c45faa08745f4d1110c1e3f0f0606e30358a5b6d"
-CROS_WORKON_TREE=("79391f72c330442bc581174269f89b5fb6d3da2a" "657879d7112bd65f190dbbf687daca14399681d0")
-CROS_WORKON_LOCALNAME="../platform/crosvm"
-CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_RUST_SUBDIR="common/io_uring"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} .cargo"
-CROS_WORKON_SUBDIRS_TO_COPY=(${CROS_WORKON_SUTREE})
-
-# TODO: Enable tests on ARM once the emulator supports io_uring.
-CROS_RUST_TEST_DIRECT_EXEC_ONLY="yes"
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Safe wrappers around the linux kernel's io_uring interface"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/io_uring"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-DEPEND="
-	dev-rust/data_model:=
-	>=dev-rust/libc-0.2.93:=
-	=dev-rust/remain-0.2*:=
-	dev-rust/sync:=
-	dev-rust/sys_util:=
-	dev-rust/tempfile:=
-	>=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
-"
-RDEPEND="${DEPEND}"
-
-src_test() {
-	# The io_uring implementation on kernels older than 5.10 was buggy so skip
-	# them if we're running on one of those kernels.
-	local cut_version="$(ver_cut 1-2 "$(uname -r)")"
-	if ver_test "${cut_version}" -lt 5.10; then
-		einfo "Skipping io_uring tests on kernel version < 5.10"
-	else
-		cros-rust_src_test
-	fi
-}
diff --git a/dev-rust/io_uring/io_uring-0.1.0-r23.ebuild b/dev-rust/io_uring/io_uring-0.1.0-r23.ebuild
new file mode 100644
index 0000000..f48b94b
--- /dev/null
+++ b/dev-rust/io_uring/io_uring-0.1.0-r23.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b1ed0beba584345490400f9e82b43ee32d48f792"
+CROS_WORKON_TREE=("036faddf548a679c333c51196c141271deeebd89" "a920b8bc18a923d5cfa6abfb5390bc903526beef")
+CROS_WORKON_LOCALNAME="../platform/crosvm"
+CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_RUST_SUBDIR="common/io_uring"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} .cargo"
+CROS_WORKON_SUBDIRS_TO_COPY=(${CROS_WORKON_SUTREE})
+
+# The version of this crate is pinned. See b/229016539 for details.
+CROS_WORKON_MANUAL_UPREV="1"
+
+# TODO: Enable tests on ARM once the emulator supports io_uring.
+CROS_RUST_TEST_DIRECT_EXEC_ONLY="yes"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Safe wrappers around the linux kernel's io_uring interface"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/io_uring"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+DEPEND="
+	dev-rust/data_model:=
+	>=dev-rust/libc-0.2.93:=
+	=dev-rust/remain-0.2*:=
+	dev-rust/sync:=
+	dev-rust/sys_util:=
+	dev-rust/tempfile:=
+	>=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
+"
+RDEPEND="${DEPEND}"
+
+src_test() {
+	# The io_uring implementation on kernels older than 5.10 was buggy so skip
+	# them if we're running on one of those kernels.
+	local cut_version="$(ver_cut 1-2 "$(uname -r)")"
+	if ver_test "${cut_version}" -lt 5.10; then
+		einfo "Skipping io_uring tests on kernel version < 5.10"
+	else
+		cros-rust_src_test
+	fi
+}
diff --git a/dev-rust/io_uring/io_uring-9999.ebuild b/dev-rust/io_uring/io_uring-9999.ebuild
index b36d398..230c06e5 100644
--- a/dev-rust/io_uring/io_uring-9999.ebuild
+++ b/dev-rust/io_uring/io_uring-9999.ebuild
@@ -10,6 +10,9 @@
 CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} .cargo"
 CROS_WORKON_SUBDIRS_TO_COPY=(${CROS_WORKON_SUTREE})
 
+# The version of this crate is pinned. See b/229016539 for details.
+CROS_WORKON_MANUAL_UPREV="1"
+
 # TODO: Enable tests on ARM once the emulator supports io_uring.
 CROS_RUST_TEST_DIRECT_EXEC_ONLY="yes"
 
diff --git a/dev-rust/iso8601/Manifest b/dev-rust/iso8601/Manifest
new file mode 100644
index 0000000..cf545bc
--- /dev/null
+++ b/dev-rust/iso8601/Manifest
@@ -0,0 +1 @@
+DIST iso8601-0.4.1.crate 17559 BLAKE2B fec13b6e9bbb05db82c8c24d38210c3dece3d9eab9765c80aec3ddeb0135f63cf019ddd7d75e1e6933321815c3744c903c732c7bb80575add3a6c24c931c8ab7 SHA512 c7c25a608eafc67f3fcf5858aa2a69ee68d2a76e2b3c925cc5dee0a644e1f48ad1d80485ef6e9168fcc592e2e95bd1a16e763984e9b646a3c64b14d9f779c2b6
diff --git a/dev-rust/iso8601/OWNERS b/dev-rust/iso8601/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/iso8601/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/iso8601/iso8601-0.4.1.ebuild b/dev-rust/iso8601/iso8601-0.4.1.ebuild
new file mode 100644
index 0000000..74b9f17
--- /dev/null
+++ b/dev-rust/iso8601/iso8601-0.4.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Parsing ISO8601 dates using nom'
+HOMEPAGE='https://crates.io/crates/iso8601'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/nom-7*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/itoa/Manifest b/dev-rust/itoa/Manifest
index e7a903a..76d50d4 100644
--- a/dev-rust/itoa/Manifest
+++ b/dev-rust/itoa/Manifest
@@ -1 +1,2 @@
 DIST itoa-0.4.7.crate 12099 BLAKE2B 0e4ffbaad504565056f74c3ef560a87eff321a0da6d7a2c8fa35813c207713c22d77080c3b830fefbb21370dd29cfbc6a2807044485b38ac1e0c9c1de3ccebc5 SHA512 c61eb50aa00591af28698b45c528c36bd92088f7cd2f453cf686a1824f4656292638bebc468cf67f903473a5045f22777af623cc0515ef3bf25146b89a7c454f
+DIST itoa-1.0.1.crate 11059 BLAKE2B 5a2e22ab891ec883a90f652c88f924113252765579c03c783e43210fb2604e9e3ccbd4c1571087791be07bb99c4e85c7f85253be831b3ea883bc0ac18a927980 SHA512 8e7bc1e9bf4fc06871b9fe20caad4e0af965477d724f4c8d0e2a3a4d87aedf99f92e4e583a6440ce574d0fb43fc9d6a2e80add52a2f64210c6aa3b402e424295
diff --git a/dev-rust/itoa/itoa-1.0.1.ebuild b/dev-rust/itoa/itoa-1.0.1.ebuild
new file mode 100644
index 0000000..933413d
--- /dev/null
+++ b/dev-rust/itoa/itoa-1.0.1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Fast integer primitive to string conversion'
+HOMEPAGE='https://crates.io/crates/itoa'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/jobserver/Manifest b/dev-rust/jobserver/Manifest
new file mode 100644
index 0000000..1aadaa8
--- /dev/null
+++ b/dev-rust/jobserver/Manifest
@@ -0,0 +1 @@
+DIST jobserver-0.1.24.crate 21303 BLAKE2B 571e6f18f09d56d8281d2b2d206647666dc6e9ebb0a1fa48f707d3cdf603880b78ac6a2ec2239658a220e70924ed1612dc19ad90fcef883f21972a1df4f67d57 SHA512 0feade0f1f0a458bdbcedafce8fc39f44adeb56772ea94a59f16f038a743f506db1405a7c8deae65a6a5c1695bfb363c19aeea1c82c41c7f4d1101469f32e42e
diff --git a/dev-rust/jobserver/jobserver-0.1.16.ebuild b/dev-rust/jobserver/jobserver-0.1.16.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/jobserver/jobserver-0.1.16.ebuild
+++ b/dev-rust/jobserver/jobserver-0.1.16.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/jobserver/jobserver-0.1.24.ebuild b/dev-rust/jobserver/jobserver-0.1.24.ebuild
new file mode 100644
index 0000000..aa57b3c
--- /dev/null
+++ b/dev-rust/jobserver/jobserver-0.1.24.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='An implementation of the GNU make jobserver for Rust'
+HOMEPAGE='https://github.com/alexcrichton/jobserver-rs'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/libc-0.2.50 <dev-rust/libc-0.3.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/jpeg-decoder/jpeg-decoder-0.1.22.ebuild b/dev-rust/jpeg-decoder/jpeg-decoder-0.1.22.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/jpeg-decoder/jpeg-decoder-0.1.22.ebuild
+++ b/dev-rust/jpeg-decoder/jpeg-decoder-0.1.22.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/jsonschema/Manifest b/dev-rust/jsonschema/Manifest
new file mode 100644
index 0000000..4adf0774
--- /dev/null
+++ b/dev-rust/jsonschema/Manifest
@@ -0,0 +1 @@
+DIST jsonschema-0.15.1.crate 90131 BLAKE2B 0c36b35539438e0219c187dbc119163de50db47a93ad822c039a83f181a7aa46c44f77cb672798f8e14363d99fd61f38a7a6f76c535cd3a304e988823ccbd1f8 SHA512 261ae98eed85c96ee6e8198148704aad680eda450fb1ac04ae7773ef5b3b1cd4a55919fd968c4850f5bad3364fb719695c6946285cc21ae742518e09c7c3c9c6
diff --git a/dev-rust/jsonschema/OWNERS b/dev-rust/jsonschema/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/jsonschema/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/jsonschema/jsonschema-0.15.1.ebuild b/dev-rust/jsonschema/jsonschema-0.15.1.ebuild
new file mode 100644
index 0000000..bc5f453
--- /dev/null
+++ b/dev-rust/jsonschema/jsonschema-0.15.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='A crate for performing JSON schema validation'
+HOMEPAGE='https://crates.io/crates/jsonschema'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/ahash-0.7.6 <dev-rust/ahash-0.8.0_alpha:=
+	>=dev-rust/anyhow-1.0.55 <dev-rust/anyhow-2.0.0_alpha:=
+	=dev-rust/base64-0.13*:=
+	>=dev-rust/bytecount-0.6.2 <dev-rust/bytecount-0.7.0_alpha:=
+	=dev-rust/fancy-regex-0.8*:=
+	=dev-rust/fraction-0.10*:=
+	>=dev-rust/iso8601-0.4.1 <dev-rust/iso8601-0.5.0_alpha:=
+	>=dev-rust/itoa-1.0.1 <dev-rust/itoa-2.0.0_alpha:=
+	>=dev-rust/lazy_static-1.4.0 <dev-rust/lazy_static-2.0.0_alpha:=
+	>=dev-rust/memchr-2.4.1 <dev-rust/memchr-3.0.0_alpha:=
+	=dev-rust/num-cmp-0.1*:=
+	=dev-rust/parking_lot-0.12*:=
+	>=dev-rust/percent-encoding-2.1.0 <dev-rust/percent-encoding-3.0.0_alpha:=
+	>=dev-rust/regex-1.5.4 <dev-rust/regex-2.0.0_alpha:=
+	>=dev-rust/reqwest-0.11.9 <dev-rust/reqwest-0.12.0_alpha:=
+	>=dev-rust/serde-1.0.136 <dev-rust/serde-2.0.0_alpha:=
+	>=dev-rust/serde_json-1.0.79 <dev-rust/serde_json-2.0.0_alpha:=
+	>=dev-rust/structopt-0.3.26 <dev-rust/structopt-0.4.0_alpha:=
+	>=dev-rust/time-0.3.7 <dev-rust/time-0.4.0_alpha:=
+	>=dev-rust/url-2.2.2 <dev-rust/url-3.0.0_alpha:=
+	>=dev-rust/uuid-0.8.2 <dev-rust/uuid-0.9.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/juniper/OWNERS b/dev-rust/juniper/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/juniper/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/juniper/juniper-0.15.0.ebuild b/dev-rust/juniper/juniper-0.15.0.ebuild
new file mode 100644
index 0000000..c74dee1
--- /dev/null
+++ b/dev-rust/juniper/juniper-0.15.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/kernel32-sys/kernel32-sys-0.2.2.ebuild b/dev-rust/kernel32-sys/kernel32-sys-0.2.2.ebuild
index 072e90c..5c585f2 100644
--- a/dev-rust/kernel32-sys/kernel32-sys-0.2.2.ebuild
+++ b/dev-rust/kernel32-sys/kernel32-sys-0.2.2.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/lexical-core/lexical-core-0.6.0.ebuild b/dev-rust/lexical-core/lexical-core-0.6.0.ebuild
index b1b03cf..7e6dca1 100644
--- a/dev-rust/lexical-core/lexical-core-0.6.0.ebuild
+++ b/dev-rust/lexical-core/lexical-core-0.6.0.ebuild
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/libc/Manifest b/dev-rust/libc/Manifest
index 13e40ce..1041a15 100644
--- a/dev-rust/libc/Manifest
+++ b/dev-rust/libc/Manifest
@@ -1 +1,2 @@
 DIST libc-0.2.106.crate 554765 BLAKE2B 06e33a62555369d84a47bf5822f3e9b1762bd69ae0a75abc483ee2b1e9427c60452af11c39a079526ce5bd8e71789fef6b693511ed9fbfd20b31f98f4f929b9a SHA512 8e80cc41c8373b9228d1d21bf5de3f14aaa9ed4eb5aed337041e561f821db0d1a5936d676368443ad2009ed684aa8f0c7762def02df25a891f57288e7e6af2ec
+DIST libc-0.2.124.crate 577742 BLAKE2B d39356e89647df6a0468c2fe7ec351955afcddd38064fb64215833c716bc16636001b6d377d21cf31b773c3f392d19ec5c665d450e81ce09a55bfd6a080c82ca SHA512 19fed1eeac7ffbbe36ecb5beb3816b5244d3017b72376e84e532f253e07ee7bc310f6f636aed46174653232fcdb532c2506bc070bef31699db20572df0c45de3
diff --git a/dev-rust/libc/libc-0.2.124.ebuild b/dev-rust/libc/libc-0.2.124.ebuild
new file mode 100644
index 0000000..64be8dc
--- /dev/null
+++ b/dev-rust/libc/libc-0.2.124.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Raw FFI bindings to platform libraries like libc.'
+HOMEPAGE='https://github.com/rust-lang/libc'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/rustc-std-workspace-core-1*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/libchromeos/libchromeos-0.1.0-r56.ebuild b/dev-rust/libchromeos/libchromeos-0.1.0-r56.ebuild
deleted file mode 100644
index 147ec9e..0000000
--- a/dev-rust/libchromeos/libchromeos-0.1.0-r56.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="a84a4196a4cffd9fb9f1701c896f6a07522a3736"
-CROS_WORKON_TREE="769c1f1daa4e9819ef404687a209c67e5fa72401"
-CROS_RUST_SUBDIR="libchromeos-rs"
-
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="../platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="A Rust utility library for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libchromeos-rs/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test"
-
-DEPEND="
-	dev-rust/data_model:=
-	=dev-rust/dbus-0.9*:=
-	=dev-rust/futures-0.3*:=
-	=dev-rust/getopts-0.2*:=
-	=dev-rust/intrusive-collections-0.9*:=
-	>=dev-rust/lazy_static-1.4.0 <dev-rust/lazy_static-2.0.0_alpha:=
-	=dev-rust/libc-0.2*:=
-	=dev-rust/log-0.4*:=
-	>=dev-rust/pkg-config-0.3.11 <dev-rust/pkg-config-0.4.0_alpha:=
-	>=dev-rust/protobuf-2.1 <dev-rust/protobuf-3.0_alpha:=
-	>=dev-rust/serde-1.0.114 <dev-rust/serde-2_alpha:=
-	=dev-rust/serde_derive-1*:=
-	dev-rust/sys_util:=
-	dev-rust/system_api:=
-	>=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:=
-	dev-rust/vboot_reference-sys:=
-	>=dev-rust/zeroize-1.2.0 <dev-rust/zeroize-2.0.0_alpha:=
-"
-
-RDEPEND="${DEPEND}
-	!!<=dev-rust/libchromeos-0.1.0-r2"
-
-src_compile() {
-	# Make sure the build works with default features.
-	ecargo_build
-	# Also check that the build works with all features.
-	ecargo_build --all-features
-	use test && cros-rust_src_test --no-run --all-features
-}
-
-src_test() {
-	cros-rust_src_test --all-features -- --test-threads=1
-}
diff --git a/dev-rust/libchromeos/libchromeos-0.1.0-r61.ebuild b/dev-rust/libchromeos/libchromeos-0.1.0-r61.ebuild
new file mode 100644
index 0000000..abd596e
--- /dev/null
+++ b/dev-rust/libchromeos/libchromeos-0.1.0-r61.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="795f40d0069915fd45195883dfcd9dd6201fbc05"
+CROS_WORKON_TREE="1bd2df917ffe0fcefbb459b4c1d9838bfacffc8e"
+CROS_RUST_SUBDIR="libchromeos-rs"
+
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="A Rust utility library for Chrome OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libchromeos-rs/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test"
+
+DEPEND="
+	chromeos-base/crosvm-base:=
+	=dev-rust/dbus-0.9*:=
+	=dev-rust/lazy_static-1*:=
+	=dev-rust/libc-0.2*:=
+	=dev-rust/log-0.4*:=
+	=dev-rust/multi_log-0.1*:=
+	=dev-rust/serde-1*:=
+	=dev-rust/serde_derive-1*:=
+	=dev-rust/stderrlog-0.5*:=
+	=dev-rust/syslog-6*:=
+	dev-rust/system_api:=
+	=dev-rust/thiserror-1*:=
+	dev-rust/vboot_reference-sys:=
+	=dev-rust/zeroize-1*:=
+"
+
+RDEPEND="${DEPEND}
+	!!<=dev-rust/libchromeos-0.1.0-r2"
+
+src_compile() {
+	# Make sure the build works with default features.
+	ecargo_build
+	# Also check that the build works with all features.
+	ecargo_build --all-features
+	use test && cros-rust_src_test --no-run --all-features
+}
+
+src_test() {
+	cros-rust_src_test --all-features -- --test-threads=1
+}
diff --git a/dev-rust/libchromeos/libchromeos-9999.ebuild b/dev-rust/libchromeos/libchromeos-9999.ebuild
index cea2a2f..03b49e0 100644
--- a/dev-rust/libchromeos/libchromeos-9999.ebuild
+++ b/dev-rust/libchromeos/libchromeos-9999.ebuild
@@ -20,23 +20,20 @@
 IUSE="test"
 
 DEPEND="
-	dev-rust/data_model:=
+	chromeos-base/crosvm-base:=
 	=dev-rust/dbus-0.9*:=
-	=dev-rust/futures-0.3*:=
-	=dev-rust/getopts-0.2*:=
-	=dev-rust/intrusive-collections-0.9*:=
-	>=dev-rust/lazy_static-1.4.0 <dev-rust/lazy_static-2.0.0_alpha:=
+	=dev-rust/lazy_static-1*:=
 	=dev-rust/libc-0.2*:=
 	=dev-rust/log-0.4*:=
-	>=dev-rust/pkg-config-0.3.11 <dev-rust/pkg-config-0.4.0_alpha:=
-	>=dev-rust/protobuf-2.1 <dev-rust/protobuf-3.0_alpha:=
-	>=dev-rust/serde-1.0.114 <dev-rust/serde-2_alpha:=
+	=dev-rust/multi_log-0.1*:=
+	=dev-rust/serde-1*:=
 	=dev-rust/serde_derive-1*:=
-	dev-rust/sys_util:=
+	=dev-rust/stderrlog-0.5*:=
+	=dev-rust/syslog-6*:=
 	dev-rust/system_api:=
-	>=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:=
+	=dev-rust/thiserror-1*:=
 	dev-rust/vboot_reference-sys:=
-	>=dev-rust/zeroize-1.2.0 <dev-rust/zeroize-2.0.0_alpha:=
+	=dev-rust/zeroize-1*:=
 "
 
 RDEPEND="${DEPEND}
diff --git a/dev-rust/libgit2-sys/libgit2-sys-0.8.0.ebuild b/dev-rust/libgit2-sys/libgit2-sys-0.8.0.ebuild
index dbd90b7..5f308fa 100644
--- a/dev-rust/libgit2-sys/libgit2-sys-0.8.0.ebuild
+++ b/dev-rust/libgit2-sys/libgit2-sys-0.8.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/libnghttp2-sys/Manifest b/dev-rust/libnghttp2-sys/Manifest
deleted file mode 100644
index 1a7137b..0000000
--- a/dev-rust/libnghttp2-sys/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libnghttp2-sys-0.1.1.crate 2225580 BLAKE2B 05e0d61759122a98270a0da5a4d1bfd4ba740d6287ab75fd3491fb88f0e995209fd8718230364fe79d19d2129443fc23120d1904b12d5db832d4619ef4ee1e06 SHA512 68cbcef54c9b274050b1ef50b57b7256cc7dab36a89cd2a6bf698ecd27f02e644dcc8d2b16c61cf111dd35e09ad62c07c7069873e5cfc85273a661da34ffc989
diff --git a/dev-rust/libnghttp2-sys/libnghttp2-sys-0.1.1.ebuild b/dev-rust/libnghttp2-sys/libnghttp2-sys-0.1.1.ebuild
deleted file mode 100644
index 4d37766..0000000
--- a/dev-rust/libnghttp2-sys/libnghttp2-sys-0.1.1.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cros-rust
-
-DESCRIPTION="A common library for linking nghttp2 to rust programs (also known as libnghttp2)."
-HOMEPAGE="https://github.com/alexcrichton/nghttp2-rs"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/cc-1.0.24:=
-	=dev-rust/libc-0.2*:=
-"
diff --git a/dev-rust/libslirp-sys/OWNERS b/dev-rust/libslirp-sys/OWNERS
new file mode 100644
index 0000000..0edda31
--- /dev/null
+++ b/dev-rust/libslirp-sys/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/crosvm:/OWNERS
diff --git a/dev-rust/libslirp-sys/libslirp-sys-4.2.1.ebuild b/dev-rust/libslirp-sys/libslirp-sys-4.2.1.ebuild
new file mode 100644
index 0000000..440dca9
--- /dev/null
+++ b/dev-rust/libslirp-sys/libslirp-sys-4.2.1.ebuild
@@ -0,0 +1,15 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty libslirp-sys crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
diff --git a/dev-rust/libsqlite3-sys/Manifest b/dev-rust/libsqlite3-sys/Manifest
deleted file mode 100644
index f6ccde1..0000000
--- a/dev-rust/libsqlite3-sys/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libsqlite3-sys-0.15.0.crate 2221097 BLAKE2B ad00d482b135fc68185fdb847387574e603d0c35f0f6a5f58f04f3c92d5577f0c7120bd4a20563e94056253a5dab1ff07dc428c0dda876fb6930f6a76f8594cb SHA512 5da5a5aef5230f520ef0854148d20cfd9bf778b2342a193439daf6bf67d69fffaa864810f52d23482c501e38035a8595a1ebc972e1a0d065e4785c019ecca4ce
diff --git a/dev-rust/libsqlite3-sys/libsqlite3-sys-0.15.0.ebuild b/dev-rust/libsqlite3-sys/libsqlite3-sys-0.15.0.ebuild
deleted file mode 100644
index c3ef659..0000000
--- a/dev-rust/libsqlite3-sys/libsqlite3-sys-0.15.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cros-rust
-
-DESCRIPTION="Native bindings to the libsqlite3 library"
-HOMEPAGE="https://github.com/jgallagher/rusqlite"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/bindgen-0.49*:=
-	=dev-rust/cc-1*:=
-	=dev-rust/pkg-config-0.3*:=
-	=dev-rust/vcpkg-0.2*:=
-"
diff --git a/dev-rust/libssh2-sys/libssh2-sys-0.2.11.ebuild b/dev-rust/libssh2-sys/libssh2-sys-0.2.11.ebuild
index 30d3d0f..48e881b 100644
--- a/dev-rust/libssh2-sys/libssh2-sys-0.2.11.ebuild
+++ b/dev-rust/libssh2-sys/libssh2-sys-0.2.11.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/linked-hash-map/linked-hash-map-0.5.4.ebuild b/dev-rust/linked-hash-map/linked-hash-map-0.5.4.ebuild
index a94b758..22d0b62 100644
--- a/dev-rust/linked-hash-map/linked-hash-map-0.5.4.ebuild
+++ b/dev-rust/linked-hash-map/linked-hash-map-0.5.4.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/lock_api/Manifest b/dev-rust/lock_api/Manifest
index 90e191c..bbb98f8 100644
--- a/dev-rust/lock_api/Manifest
+++ b/dev-rust/lock_api/Manifest
@@ -1 +1,2 @@
 DIST lock_api-0.4.4.crate 20356 BLAKE2B 1b4a648467eba49232df5c595d7c5a0444018269a67db1768c7711d9d1a903a1dd00f99d8654c30186a470c035abdcec9994c8b1a347fc559c684b1792ec7f49 SHA512 655c8a1503b6e7f833b4c62109e1c5005727054847bff81e17d4159f91c02ac97512da0673ab227d17bc9ed0342fe3476247daf74cbc9a0b470e68c648ba706e
+DIST lock_api-0.4.7.crate 25371 BLAKE2B 9ed08433ffa70af60193dcf307287991a3154f0ef16b485f32a6c83e64962661a6e08ef83a6b217d6cbf5bd964c0638d8ed86b290087677c1fb3218321c4bbf8 SHA512 b1a5227fd131edaa70e017f7ddb43af8b4efa58488007b898ca1dfc818a3a441b732b7adbf1270e72a68ee5d2a99a5d48f33b2bca8e2cf78694953d20d27636d
diff --git a/dev-rust/lock_api/lock_api-0.4.7.ebuild b/dev-rust/lock_api/lock_api-0.4.7.ebuild
new file mode 100644
index 0000000..7aa7a60
--- /dev/null
+++ b/dev-rust/lock_api/lock_api-0.4.7.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std.'
+HOMEPAGE='https://crates.io/crates/lock_api'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/owning_ref-0.4.1 <dev-rust/owning_ref-0.5.0_alpha:=
+	>=dev-rust/scopeguard-1.1.0 <dev-rust/scopeguard-2.0.0_alpha:=
+	>=dev-rust/serde-1.0.126 <dev-rust/serde-2.0.0_alpha:=
+	>=dev-rust/autocfg-1.1.0 <dev-rust/autocfg-2.0.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/lru-cache/Manifest b/dev-rust/lru-cache/Manifest
deleted file mode 100644
index 0cd5939..0000000
--- a/dev-rust/lru-cache/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST lru-cache-0.1.2.crate 9307 BLAKE2B 606072bc5390a13cf24b4c64c77ba7f84c4c2b1a73c4abe8ead4e1d19067b063888d5cbe478dc9108d193f0a66aa5fb2ddc073f3edfac466de34f85a52a15ef2 SHA512 ecc67b4b2ed8d3596816c47e9c6aa242c7bdd1ee8087646e90c27a60d59175f661ec3ef82058c196bef2abdd302d429b7ea4279169689254a9f322dfd5697bf1
diff --git a/dev-rust/lru-cache/lru-cache-0.1.2.ebuild b/dev-rust/lru-cache/lru-cache-0.1.2.ebuild
deleted file mode 100644
index b281e92..0000000
--- a/dev-rust/lru-cache/lru-cache-0.1.2.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cros-rust
-
-DESCRIPTION="A cache that holds a limited number of key-value pairs"
-HOMEPAGE="https://github.com/contain-rs/lru-cache"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/linked-hash-map-0.5*:=
-	=dev-rust/heapsize-0.4*:=
-"
diff --git a/dev-rust/lru/Manifest b/dev-rust/lru/Manifest
deleted file mode 100644
index d4ce26c..0000000
--- a/dev-rust/lru/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST lru-0.6.5.crate 11617 BLAKE2B 4939139d44e44ac0af82a6bd3c7ac9f8318350c0ee7789c38025523386de40448124c0508d9df4305149e9f6b179bf354340e893395bc4705192c0530b032dd8 SHA512 abe2eb5882bf3d8c022a40702247157ba17790cd717bf44b5ae978d716fed1ceeb236ac784f06e338e99a28edc0ad8f66b283db30c93f2b40d690ca4228d9d19
diff --git a/dev-rust/lru/lru-0.6.5.ebuild b/dev-rust/lru/lru-0.6.5.ebuild
deleted file mode 100644
index 2990be9..0000000
--- a/dev-rust/lru/lru-0.6.5.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="A LRU cache implementation"
-HOMEPAGE="https://github.com/jeromefroe/lru-rs"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/hashbrown-0.9*:=
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/manatee-client/manatee-client-0.24.52-r31.ebuild b/dev-rust/manatee-client/manatee-client-0.24.52-r31.ebuild
deleted file mode 100644
index 4f67846..0000000
--- a/dev-rust/manatee-client/manatee-client-0.24.52-r31.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="37ea5153cd2bf86fce8aee3213b0d4c63a323c68"
-CROS_WORKON_TREE=("a45d74935ed8a1b416a2704f61f7b0db2709db63" "25a1ae7cda68dd556be3abce89032e8c2298d5c4")
-CROS_RUST_SUBDIR="sirenia/manatee-client"
-
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="../platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} sirenia/dbus_bindings"
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Rust D-Bus bindings for ManaTEE."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/manatee-client"
-
-LICENSE="BSD-Google"
-SLOT="0/${PVR}"
-KEYWORDS="*"
-IUSE="sirenia"
-
-RDEPEND="
-	sys-apps/dbus
-	sirenia? ( chromeos-base/manatee-runtime )
-"
-DEPEND="${RDEPEND}
-	chromeos-base/libsirenia:=
-	=dev-rust/anyhow-1*:=
-	dev-rust/chromeos-dbus-bindings:=
-	=dev-rust/dbus-0.9*:=
-	=dev-rust/getopts-0.2*:=
-	dev-rust/libchromeos:=
-	=dev-rust/log-0.4*:=
-	=dev-rust/stderrlog-0.5*:=
-	dev-rust/sys_util:=
-	>=dev-rust/termion-1.5.0 <dev-rust/termion-2.0.0:=
-	>=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
-	=dev-rust/which-4*:=
-"
-
-BDEPEND="sirenia? ( chromeos-base/sirenia-tools )"
-
-src_compile() {
-	cros-rust_src_compile --all-features
-}
-
-src_test() {
-	cros-rust_src_test --all-features
-}
-
-src_install() {
-	cros-rust_src_install
-
-	local build_dir="$(cros-rust_get_build_dir)"
-	dobin "${build_dir}/manatee"
-
-	# The final app manifest is ordinarily stored on the ManaTEE initramfs.
-	# For development convenience, we put in on rootfs for non-manatee
-	# builds.
-	if use sirenia ; then
-		local APP_MANIFESTS=( "${SYSROOT}/usr/share/manatee/templates/"*.json )
-		dodir /usr/share/manatee
-		tee_app_info_lint -R "${SYSROOT}" -o "${D}/usr/share/manatee/manatee.flex.bin" "${APP_MANIFESTS[@]}" || die
-	fi
-}
diff --git a/dev-rust/manatee-client/manatee-client-0.24.52-r43.ebuild b/dev-rust/manatee-client/manatee-client-0.24.52-r43.ebuild
new file mode 100644
index 0000000..0978ba5
--- /dev/null
+++ b/dev-rust/manatee-client/manatee-client-0.24.52-r43.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="c3eb99dbcca95a1df71db954fef7a96d99163b93"
+CROS_WORKON_TREE=("ce7b9998eda3497ef3ccafe00cbefc08b940240c" "2760d1ea048101782b134e43d5c1149e5e227ad2")
+CROS_RUST_SUBDIR="sirenia/manatee-client"
+
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} sirenia/dbus_bindings"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Rust D-Bus bindings for ManaTEE."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/manatee-client"
+
+LICENSE="BSD-Google"
+SLOT="0/${PVR}"
+KEYWORDS="*"
+IUSE="sirenia"
+
+DEPEND="
+	chromeos-base/crosvm-base:=
+	chromeos-base/libsirenia:=
+	=dev-rust/anyhow-1*:=
+	dev-rust/chromeos-dbus-bindings:=
+	=dev-rust/dbus-0.9*:=
+	=dev-rust/getopts-0.2*:=
+	dev-rust/libchromeos:=
+	=dev-rust/log-0.4*:=
+	=dev-rust/stderrlog-0.5*:=
+	=dev-rust/thiserror-1*:=
+	=dev-rust/which-4*:=
+"
+RDEPEND="${DEPEND}
+	sys-apps/dbus
+	sirenia? ( chromeos-base/manatee-runtime )
+"
+
+BDEPEND="sirenia? ( chromeos-base/sirenia-tools )"
+
+src_compile() {
+	cros-rust_src_compile --all-features
+}
+
+src_test() {
+	cros-rust_src_test --all-features
+}
+
+src_install() {
+	cros-rust_src_install
+
+	local build_dir="$(cros-rust_get_build_dir)"
+	dobin "${build_dir}/manatee"
+
+	# The final app manifest is ordinarily stored on the ManaTEE initramfs.
+	# For development convenience, we put in on rootfs for non-manatee
+	# builds.
+	if use sirenia ; then
+		local APP_MANIFESTS=( "${SYSROOT}/usr/share/manatee/templates/"*.json )
+		dodir /usr/share/manatee
+		tee_app_info_lint -R "${SYSROOT}" -o "${D}/usr/share/manatee/manatee.flex.bin" "${APP_MANIFESTS[@]}" || die
+	fi
+}
diff --git a/dev-rust/manatee-client/manatee-client-9999.ebuild b/dev-rust/manatee-client/manatee-client-9999.ebuild
index f434b44..07b3512 100644
--- a/dev-rust/manatee-client/manatee-client-9999.ebuild
+++ b/dev-rust/manatee-client/manatee-client-9999.ebuild
@@ -20,11 +20,8 @@
 KEYWORDS="~*"
 IUSE="sirenia"
 
-RDEPEND="
-	sys-apps/dbus
-	sirenia? ( chromeos-base/manatee-runtime )
-"
-DEPEND="${RDEPEND}
+DEPEND="
+	chromeos-base/crosvm-base:=
 	chromeos-base/libsirenia:=
 	=dev-rust/anyhow-1*:=
 	dev-rust/chromeos-dbus-bindings:=
@@ -33,11 +30,13 @@
 	dev-rust/libchromeos:=
 	=dev-rust/log-0.4*:=
 	=dev-rust/stderrlog-0.5*:=
-	dev-rust/sys_util:=
-	>=dev-rust/termion-1.5.0 <dev-rust/termion-2.0.0:=
-	>=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
+	=dev-rust/thiserror-1*:=
 	=dev-rust/which-4*:=
 "
+RDEPEND="${DEPEND}
+	sys-apps/dbus
+	sirenia? ( chromeos-base/manatee-runtime )
+"
 
 BDEPEND="sirenia? ( chromeos-base/sirenia-tools )"
 
diff --git a/dev-rust/match_cfg/Manifest b/dev-rust/match_cfg/Manifest
new file mode 100644
index 0000000..9acb601
--- /dev/null
+++ b/dev-rust/match_cfg/Manifest
@@ -0,0 +1 @@
+DIST match_cfg-0.1.0.crate 7153 BLAKE2B d3f40e5b16761fed337ed18dfa9db9e46aa2ad84ca8cfdc7cf7c72bea7cff8d084d95214ce013b3515bbe5b1ad4b8527bfce692569551e4588fe6f396a8a96ee SHA512 fd36f2b128d70a0f278e708bcb3274d90380229f754aed7ce9b808138b0189d5e1a07e0ba732216f788a530cecddcdd980559b3f71efa371d8805a213ff8f2d6
diff --git a/dev-rust/match_cfg/OWNERS b/dev-rust/match_cfg/OWNERS
new file mode 100644
index 0000000..289ef57
--- /dev/null
+++ b/dev-rust/match_cfg/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/hiberman/OWNERS
diff --git a/dev-rust/match_cfg/match_cfg-0.1.0.ebuild b/dev-rust/match_cfg/match_cfg-0.1.0.ebuild
new file mode 100644
index 0000000..a707a4b
--- /dev/null
+++ b/dev-rust/match_cfg/match_cfg-0.1.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='A convenience macro to ergonomically define an item depending on a large number
+of "#[cfg]" parameters. Structured like match statement, the first matching
+branch is the item that gets emitted.'
+HOMEPAGE='https://github.com/gnzlbg/match_cfg'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/matches/matches-0.1.8.ebuild b/dev-rust/matches/matches-0.1.8.ebuild
index f1da21c..5585e8c 100644
--- a/dev-rust/matches/matches-0.1.8.ebuild
+++ b/dev-rust/matches/matches-0.1.8.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/md5/md5-0.7.0.ebuild b/dev-rust/md5/md5-0.7.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/md5/md5-0.7.0.ebuild
+++ b/dev-rust/md5/md5-0.7.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/memmap/memmap-0.6.2.ebuild b/dev-rust/memmap/memmap-0.6.2.ebuild
deleted file mode 100644
index 072e90c..0000000
--- a/dev-rust/memmap/memmap-0.6.2.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_RUST_EMPTY_CRATE=1
-
-inherit cros-rust
-
-DESCRIPTION="Empty ${PN} crate"
-HOMEPAGE=""
-
-LICENSE="BSD-Google"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
diff --git a/dev-rust/memoffset/Manifest b/dev-rust/memoffset/Manifest
index e1163c3..384180f 100644
--- a/dev-rust/memoffset/Manifest
+++ b/dev-rust/memoffset/Manifest
@@ -1,2 +1,3 @@
 DIST memoffset-0.5.6.crate 7382 BLAKE2B 42ebb93b567b339822201e31830971c32452b3d6681787c6969360c8db54912ae511580d8c899a3b9cb7f2fba98099c8df4c17534b97e4f4b1902d9251296527 SHA512 6df8952d41f60fa0993fbc85d112a15c1f6ecfef66da29ebdab71f40cd8ee8722400693b6ea023344f1b5dc351cbe828f465a8cabd150377a62948cedeb5db6b
 DIST memoffset-0.6.4.crate 7664 BLAKE2B 098783d0fde7268b16fc5c9f5df005b93daac18092f04d981559b9f0fa310344c6fbbb93d42587ec7107a5c4e8d757508377dadf03471dbd7022f3bdb5b3da4b SHA512 bf8d05b72571ccdef32a93cc4489ab4cb7abd41415d55572d1dfb983053afe3eb2615e968d87a326af90c5702b9959150f985a4186acfd61df9b69a74e99713d
+DIST memoffset-0.6.5.crate 7686 BLAKE2B 9a797388702389076c426052c3d54dc62802d5db8bc5c9c83990429f2ffaec4fab4c7dd3f09cd0704d1ea555e87976563bb43408ba54b5e66ce7e406d4604009 SHA512 11bdd9185b99dfee8e659e051b09ee301c7142a372a8117864745a5085c015436d2efbb1478192886f09cbc562529e209d2e3325d94938a64bc75b1d91d2bf3f
diff --git a/dev-rust/memoffset/memoffset-0.6.5.ebuild b/dev-rust/memoffset/memoffset-0.6.5.ebuild
new file mode 100644
index 0000000..f5c19a8
--- /dev/null
+++ b/dev-rust/memoffset/memoffset-0.6.5.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='offset_of functionality for Rust structs.'
+HOMEPAGE='https://crates.io/crates/memoffset'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/autocfg-1*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/microamp/microamp-0.1.0.ebuild b/dev-rust/microamp/microamp-0.1.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/microamp/microamp-0.1.0.ebuild
+++ b/dev-rust/microamp/microamp-0.1.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/minijail-sys/OWNERS b/dev-rust/minijail-sys/OWNERS
new file mode 100644
index 0000000..708e3a8
--- /dev/null
+++ b/dev-rust/minijail-sys/OWNERS
@@ -0,0 +1 @@
+include aosp/platform/external/minijail:upstream:/rust/OWNERS
diff --git a/dev-rust/minijail-sys/minijail-sys-0.0.13-r14.ebuild b/dev-rust/minijail-sys/minijail-sys-0.0.13-r14.ebuild
deleted file mode 100644
index fa0aa00..0000000
--- a/dev-rust/minijail-sys/minijail-sys-0.0.13-r14.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-# This lives separately from the main minijail ebuild since we don't have Rust
-# available in the SDK builder.
-# TODO: Consider moving back into main ebuild once crbug.com/1046088 is
-# resolved.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="138761fdcc8c2c074bef7700e39b47b44cc5bcc0"
-CROS_WORKON_TREE="aafa68f31c18627726261f3af23594488e94aaba"
-inherit cros-constants
-
-CROS_RUST_SUBDIR="rust/minijail-sys"
-
-CROS_WORKON_MANUAL_UPREV=1
-CROS_WORKON_LOCALNAME="../aosp/external/minijail"
-CROS_WORKON_PROJECT="platform/external/minijail"
-CROS_WORKON_EGIT_BRANCH="master"
-CROS_WORKON_REPO="${CROS_GIT_AOSP_URL}"
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="rust bindings for minijail"
-HOMEPAGE="https://android.googlesource.com/platform/external/minijail"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test"
-
-# ebuilds that install executables and depend on minijail-sys need to RDEPEND on
-# chromeos-base/minijail and sys-libs/libcap
-DEPEND="
-	chromeos-base/minijail:=
-	>=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0
-	>=dev-rust/pkg-config-0.3.0:= <dev-rust/pkg-config-0.4.0
-	=dev-rust/which-4*:=
-	sys-libs/libcap:=
-	virtual/bindgen:=
-"
-# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
-# installing binpkgs since the full source tree is required to use the crate.
-RDEPEND="${DEPEND}"
-
-src_prepare() {
-	cros-rust_src_prepare
-	# Do not skip regeneration of libminijail.rs.
-	export CROS_RUST=0
-}
diff --git a/dev-rust/minijail-sys/minijail-sys-0.0.13-r21.ebuild b/dev-rust/minijail-sys/minijail-sys-0.0.13-r21.ebuild
new file mode 100644
index 0000000..c9726e1
--- /dev/null
+++ b/dev-rust/minijail-sys/minijail-sys-0.0.13-r21.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+# This lives separately from the main minijail ebuild since we don't have Rust
+# available in the SDK builder.
+# TODO: Consider moving back into main ebuild once crbug.com/1046088 is
+# resolved.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b5464b7ce00d13209504968a1161c94fe61da9d6"
+CROS_WORKON_TREE="2c7fbae3490573a0292d6a29b44f767f217685ea"
+inherit cros-constants
+
+CROS_RUST_SUBDIR="rust/minijail-sys"
+
+CROS_WORKON_LOCALNAME="../platform/minijail"
+CROS_WORKON_PROJECT="chromiumos/platform/minijail"
+CROS_WORKON_EGIT_BRANCH="main"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="rust bindings for minijail"
+HOMEPAGE="https://google.github.io/minijail"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test"
+
+# ebuilds that install executables and depend on minijail-sys need to RDEPEND on
+# chromeos-base/minijail and sys-libs/libcap
+DEPEND="
+	chromeos-base/minijail:=
+	>=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0
+	>=dev-rust/pkg-config-0.3.0:= <dev-rust/pkg-config-0.4.0
+	=dev-rust/which-4*:=
+	sys-libs/libcap:=
+	virtual/bindgen:=
+"
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+	cros-rust_src_prepare
+	# Do not skip regeneration of libminijail.rs.
+	export CROS_RUST=0
+}
diff --git a/dev-rust/minijail-sys/minijail-sys-9999.ebuild b/dev-rust/minijail-sys/minijail-sys-9999.ebuild
index c97cc9f..89de239 100644
--- a/dev-rust/minijail-sys/minijail-sys-9999.ebuild
+++ b/dev-rust/minijail-sys/minijail-sys-9999.ebuild
@@ -12,16 +12,14 @@
 
 CROS_RUST_SUBDIR="rust/minijail-sys"
 
-CROS_WORKON_MANUAL_UPREV=1
-CROS_WORKON_LOCALNAME="../aosp/external/minijail"
-CROS_WORKON_PROJECT="platform/external/minijail"
-CROS_WORKON_EGIT_BRANCH="master"
-CROS_WORKON_REPO="${CROS_GIT_AOSP_URL}"
+CROS_WORKON_LOCALNAME="../platform/minijail"
+CROS_WORKON_PROJECT="chromiumos/platform/minijail"
+CROS_WORKON_EGIT_BRANCH="main"
 
 inherit cros-workon cros-rust
 
 DESCRIPTION="rust bindings for minijail"
-HOMEPAGE="https://android.googlesource.com/platform/external/minijail"
+HOMEPAGE="https://google.github.io/minijail"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/dev-rust/minijail/OWNERS b/dev-rust/minijail/OWNERS
new file mode 100644
index 0000000..708e3a8
--- /dev/null
+++ b/dev-rust/minijail/OWNERS
@@ -0,0 +1 @@
+include aosp/platform/external/minijail:upstream:/rust/OWNERS
diff --git a/dev-rust/minijail/minijail-0.2.3-r12.ebuild b/dev-rust/minijail/minijail-0.2.3-r12.ebuild
deleted file mode 100644
index 5b996ed..0000000
--- a/dev-rust/minijail/minijail-0.2.3-r12.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-# This lives separately from the main minijail ebuild since we don't have Rust
-# available in the SDK builder.
-# TODO: Consider moving back into main ebuild once crbug.com/1046088 is
-# resolved.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="138761fdcc8c2c074bef7700e39b47b44cc5bcc0"
-CROS_WORKON_TREE="4ccd276e95e37eca12852241ed970581465d097a"
-inherit cros-constants
-
-CROS_RUST_SUBDIR="rust/minijail"
-
-CROS_WORKON_MANUAL_UPREV=1
-CROS_WORKON_LOCALNAME="../aosp/external/minijail"
-CROS_WORKON_PROJECT="platform/external/minijail"
-CROS_WORKON_EGIT_BRANCH="master"
-CROS_WORKON_REPO="${CROS_GIT_AOSP_URL}"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="rust bindings for minijail"
-HOMEPAGE="https://android.googlesource.com/platform/external/minijail"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="asan test"
-
-DEPEND="
-	>=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0
-	>=dev-rust/minijail-sys-0.0.13:=
-"
-# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
-# installing binpkgs since the full source tree is required to use the crate.
-RDEPEND="${DEPEND}"
-
-src_test() {
-	local args=( -- --test-threads=1 )
-	if ! use amd64; then
-		# TODO(crbug.com/1201377) enable all tests on ARM when supported.
-		args=( --lib "${args[@]}" --skip 'seccomp_no_new_privs' )
-	fi
-	cros-rust_src_test "${args[@]}"
-}
diff --git a/dev-rust/minijail/minijail-0.2.3-r15.ebuild b/dev-rust/minijail/minijail-0.2.3-r15.ebuild
new file mode 100644
index 0000000..e56832f
--- /dev/null
+++ b/dev-rust/minijail/minijail-0.2.3-r15.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+# This lives separately from the main minijail ebuild since we don't have Rust
+# available in the SDK builder.
+# TODO: Consider moving back into main ebuild once crbug.com/1046088 is
+# resolved.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="a221d24974995483d7bb54a59e10f98b513ce803"
+CROS_WORKON_TREE="fcb23a620b2c154c3d998c5c82ece97765494a24"
+inherit cros-constants
+
+CROS_RUST_SUBDIR="rust/minijail"
+
+CROS_WORKON_LOCALNAME="../platform/minijail"
+CROS_WORKON_PROJECT="chromiumos/platform/minijail"
+CROS_WORKON_EGIT_BRANCH="main"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="rust bindings for minijail"
+HOMEPAGE="https://google.github.io/minijail"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="asan test"
+
+DEPEND="
+	>=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0
+	>=dev-rust/minijail-sys-0.0.13:=
+"
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}"
+
+src_test() {
+	local args=( -- --test-threads=1 )
+	if ! use amd64; then
+		# TODO(crbug.com/1201377) enable all tests on ARM when supported.
+		args=( --lib "${args[@]}" --skip 'seccomp_no_new_privs' )
+	fi
+	cros-rust_src_test "${args[@]}"
+}
diff --git a/dev-rust/minijail/minijail-9999.ebuild b/dev-rust/minijail/minijail-9999.ebuild
index f5e5c7d..45dd856 100644
--- a/dev-rust/minijail/minijail-9999.ebuild
+++ b/dev-rust/minijail/minijail-9999.ebuild
@@ -12,17 +12,15 @@
 
 CROS_RUST_SUBDIR="rust/minijail"
 
-CROS_WORKON_MANUAL_UPREV=1
-CROS_WORKON_LOCALNAME="../aosp/external/minijail"
-CROS_WORKON_PROJECT="platform/external/minijail"
-CROS_WORKON_EGIT_BRANCH="master"
-CROS_WORKON_REPO="${CROS_GIT_AOSP_URL}"
+CROS_WORKON_LOCALNAME="../platform/minijail"
+CROS_WORKON_PROJECT="chromiumos/platform/minijail"
+CROS_WORKON_EGIT_BRANCH="main"
 CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
 
 inherit cros-workon cros-rust
 
 DESCRIPTION="rust bindings for minijail"
-HOMEPAGE="https://android.googlesource.com/platform/external/minijail"
+HOMEPAGE="https://google.github.io/minijail"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/dev-rust/mio-extras/mio-extras-2.0.5.ebuild b/dev-rust/mio-extras/mio-extras-2.0.5.ebuild
index 072e90c..5c585f2 100644
--- a/dev-rust/mio-extras/mio-extras-2.0.5.ebuild
+++ b/dev-rust/mio-extras/mio-extras-2.0.5.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/mio/Manifest b/dev-rust/mio/Manifest
index c064359..1dccc6c 100644
--- a/dev-rust/mio/Manifest
+++ b/dev-rust/mio/Manifest
@@ -1,2 +1,3 @@
 DIST mio-0.7.14.crate 87429 BLAKE2B b8277f844429d32b6085dac9649fcee20bfd1922eca541ea927b1ea3c61667beb4f63064a9828cf347ed55678842aab2a608af359b3ec92b595995a6544dc371 SHA512 2349691ea87a086f9bd8df5738705e9d7b59399089948f810b6a7124beffd44dee348703c89b4b1af8d84821dcb932960dc4bd9ec9543558f59a40c4806fbfd9
 DIST mio-0.8.0.crate 82954 BLAKE2B c88da4c6681cfc518707e421251ccca176b12762e8d5d8fe2e71a89746eae94f3b3d1ccba3e7a32ac68928b81718552f6faec267e79a889d858e0c215cd1b2a7 SHA512 b7db8f400c46937302a091a90ef05b501aaaf8cbd9b5d8a4415e140e5ad54fe745ac3248b49a6ab42399d145c01fbbdf0a69defc379caaa67f64e8b7cf160b07
+DIST mio-0.8.3.crate 92506 BLAKE2B 4ae9e7f68921d7102274cd8afe2dbdd59393f9a0f63a1d4a1d9418ba8978e31d521ea73eac7ed1b27bf31d67450952b28964f6d35b14eabf2325c08aee43bbea SHA512 c6eaff99cbfe797dd97e6d29da09a6bbb2a46b3f3ddab7d75fb756950d463545199d13ccb2d51d367a2499d18f88500fce8084b82b2f020865dec0d9d9ccdfbb
diff --git a/dev-rust/mio/mio-0.8.3.ebuild b/dev-rust/mio/mio-0.8.3.ebuild
new file mode 100644
index 0000000..4615cd5
--- /dev/null
+++ b/dev-rust/mio/mio-0.8.3.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+CROS_RUST_REMOVE_TARGET_CFG=1
+
+inherit cros-rust
+
+DESCRIPTION='Lightweight non-blocking IO'
+HOMEPAGE='https://github.com/tokio-rs/mio'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/log-0.4.8 <dev-rust/log-0.5.0_alpha:=
+	>=dev-rust/libc-0.2.121 <dev-rust/libc-0.3.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
+
+# Changes below are manual:
+
+src_prepare() {
+    cros-rust_src_prepare
+
+    # Delete winapi feature dependencies from the Cargo.toml
+    mv "${S}/Cargo.toml" "${S}/Cargo.toml.orig" || die
+    grep -v '"windows-sys/' "${S}/Cargo.toml.orig" > "${S}/Cargo.toml" || die
+}
diff --git a/dev-rust/mp4parse/mp4parse-0.11.5.ebuild b/dev-rust/mp4parse/mp4parse-0.11.5.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/mp4parse/mp4parse-0.11.5.ebuild
+++ b/dev-rust/mp4parse/mp4parse-0.11.5.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/multi_log/Manifest b/dev-rust/multi_log/Manifest
new file mode 100644
index 0000000..ad34f3b
--- /dev/null
+++ b/dev-rust/multi_log/Manifest
@@ -0,0 +1 @@
+DIST multi_log-0.1.2.crate 3297 BLAKE2B fed488608a2954fc250991e7357bf6127d6efaf1f878f2a1b2b89af37092d6fa0e92df876118b6d627af49b821b8684ecc3a1bba70c97516de27d44fbd9a1555 SHA512 6b3a0faf830ff48c2fbf22f4fad86b69c06970720377ea05d3756f13636c55679bd6fc52a1d2dc8187265e727bab1b6d0bce9331c293593f8a710cf2b2bbb193
diff --git a/dev-rust/serde_repr/OWNERS b/dev-rust/multi_log/OWNERS
similarity index 100%
rename from dev-rust/serde_repr/OWNERS
rename to dev-rust/multi_log/OWNERS
diff --git a/dev-rust/multi_log/multi_log-0.1.2.ebuild b/dev-rust/multi_log/multi_log-0.1.2.ebuild
new file mode 100644
index 0000000..32d9c88
--- /dev/null
+++ b/dev-rust/multi_log/multi_log-0.1.2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Logger which passes messages on to any number of other loggers.'
+HOMEPAGE='https://crates.io/crates/multi_log'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/log-0.4*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/native-tls/Manifest b/dev-rust/native-tls/Manifest
deleted file mode 100644
index 005f60a..0000000
--- a/dev-rust/native-tls/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST native-tls-0.2.3.crate 29087 BLAKE2B 0304db852e3b1261a791a5a8aba5dc6fd2e13bc32e6ade5ab0f58403583ea45324a4ae4359061c2a9137cc7f127404ef663702a22fe64f2489691de71eafc914 SHA512 9964d627c922261ea730076a2c8447784e0ceebd8e6218f5a61093021f10682c2fa25815c10711831b7d41c84b7c77cc1128a663669058882b0af6d70ac0bc09
diff --git a/dev-rust/native-tls/native-tls-0.2.3-r1.ebuild b/dev-rust/native-tls/native-tls-0.2.3-r1.ebuild
deleted file mode 100644
index 03d1501..0000000
--- a/dev-rust/native-tls/native-tls-0.2.3-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION='A wrapper over a platform"s native TLS implementation'
-HOMEPAGE='https://crates.io/crates/native-tls'
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/lazy_static-1*:=
-	=dev-rust/libc-0.2*:=
-	>=dev-rust/security-framework-0.3.1:= <dev-rust/security-framework-0.4.0_alpha
-	>=dev-rust/security-framework-sys-0.3.1:= <dev-rust/security-framework-sys-0.4.0_alpha
-	=dev-rust/tempfile-3*:=
-	>=dev-rust/log-0.4.5:= <dev-rust/log-0.5.0_alpha
-	>=dev-rust/openssl-0.10.15:= <dev-rust/openssl-0.11.0_alpha
-	=dev-rust/openssl-probe-0.1*:=
-	>=dev-rust/openssl-sys-0.9.30:= <dev-rust/openssl-sys-0.10.0_alpha
-	>=dev-rust/schannel-0.1.13:= <dev-rust/schannel-0.2.0_alpha
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/net2/Manifest b/dev-rust/net2/Manifest
deleted file mode 100644
index bcb9321..0000000
--- a/dev-rust/net2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST net2-0.2.37.crate 21311 BLAKE2B 21cef5df92d5d51c8e23c57ad2225e3311c13083fb86830bcb313965eb5ad0170519bed9a47cefb2305d3614ce55e11896a06437cf9ca50c79b7843ea633e99f SHA512 9ae70c655468c3e35ce05988626e0398a3cdf7b7343c08aaecf1267bb958329e608b814cc7be252fe085de3cf6913a1c72aad206c677459469ba4886c20206ec
diff --git a/dev-rust/net2/net2-0.2.37.ebuild b/dev-rust/net2/net2-0.2.37.ebuild
deleted file mode 100644
index a196935..0000000
--- a/dev-rust/net2/net2-0.2.37.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="Extensions to the standard library's networking types as proposed in RFC 1158."
-HOMEPAGE="https://github.com/deprecrated/net2-rs"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/cfg-if-0.1*:=
-	>=dev-rust/libc-0.2.54:= <dev-rust/libc-0.3.0
-	=dev-rust/winapi-0.3*:=
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/nix/Manifest b/dev-rust/nix/Manifest
index 3009201..593647b 100644
--- a/dev-rust/nix/Manifest
+++ b/dev-rust/nix/Manifest
@@ -1,3 +1 @@
-DIST nix-0.16.1.crate 195527 BLAKE2B aaa4cbab30c51f8460b80f70096db624dc2578c0d796555ff411dbe46f014389d2663a65f4e6673c5e7bba0bb4986a01897d83d9489e0a2ae9007dd7f5067fad SHA512 28b14a0d7e3f96eed91df500cd2a23fecc6e639efe4fd99c76cdda28a6ab84e32a9f246ac693d203704a1cdb3ab5f8dc6e16294ffd3cf30953557a5683406efe
-DIST nix-0.19.0.crate 212652 BLAKE2B a9d3f87fac9591111e1977b9d8cc38d57b560ddd3cf27ce06342c97e10113c8a8e548096d537577267152467883e9ae82618b24b02b2ee355a8689f7147335aa SHA512 db31253c4520448156be3b3e8eb234236a33012b2933710d772f19a14ee83c856f5426057e2f8b87e19fb52d18302d1f8345036ed5dcb7f10e6e961d8e6cf238
 DIST nix-0.23.0.crate 185348 BLAKE2B 3b5acd0972755d7e3f724d2429b801d5952f2410d91240f9410a8fcc724421beb8c85c9df35b7b877036bf7bb83977e579293ca473efbf9a34cfaa07ad174fe6 SHA512 0aa28f348b67eb79f6f36410e0be4a888294312350b67717ef462905fddb7cba4d81fc0748515629cfd617535c2244e651b05cb0600a054fdc40ec60346a8c8c
diff --git a/dev-rust/nix/nix-0.16.1.ebuild b/dev-rust/nix/nix-0.16.1.ebuild
deleted file mode 100644
index 3c762d4..0000000
--- a/dev-rust/nix/nix-0.16.1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-CROS_RUST_REMOVE_TARGET_CFG=1
-
-inherit cros-rust
-
-DESCRIPTION='Rust friendly bindings to *nix APIs'
-HOMEPAGE='https://crates.io/crates/nix'
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/bitflags-1*:=
-	>=dev-rust/cfg-if-0.1.2 <dev-rust/cfg-if-0.2.0_alpha:=
-	>=dev-rust/libc-0.2.60 <dev-rust/libc-0.3.0_alpha:=
-	>=dev-rust/void-1.0.2 <dev-rust/void-2.0.0_alpha:=
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/nix/nix-0.19.0-r1.ebuild b/dev-rust/nix/nix-0.19.0-r1.ebuild
deleted file mode 120000
index 356f4dc..0000000
--- a/dev-rust/nix/nix-0.19.0-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-nix-0.19.0.ebuild
\ No newline at end of file
diff --git a/dev-rust/nix/nix-0.19.0.ebuild b/dev-rust/nix/nix-0.19.0.ebuild
deleted file mode 100644
index 9927ea9..0000000
--- a/dev-rust/nix/nix-0.19.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-CROS_RUST_REMOVE_TARGET_CFG=1
-
-inherit cros-rust
-
-DESCRIPTION="Rust friendly bindings to *nix APIs."
-HOMEPAGE="https://github.com/nix-rust/nix"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/bitflags-1.1.0:= <dev-rust/bitflags-2.0.0
-	>=dev-rust/cfg-if-0.1.10:= <dev-rust/cfg-if-0.2.0
-	>=dev-rust/libc-0.2.78:= <dev-rust/libc-3.0.0
-"
-RDEPEND="${DEPEND}"
-
-# error: could not compile `nix`
-RESTRICT="test"
diff --git a/dev-rust/no-panic/no-panic-0.1.10.ebuild b/dev-rust/no-panic/no-panic-0.1.10.ebuild
index 2bbcd37..75f3a4f 100644
--- a/dev-rust/no-panic/no-panic-0.1.10.ebuild
+++ b/dev-rust/no-panic/no-panic-0.1.10.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/num-bigint/Manifest b/dev-rust/num-bigint/Manifest
index b199b65..28f32a7 100644
--- a/dev-rust/num-bigint/Manifest
+++ b/dev-rust/num-bigint/Manifest
@@ -1,2 +1,3 @@
+DIST num-bigint-0.2.6.crate 87275 BLAKE2B a7da84e705f8aa287b6704a42ae1822ac1555d25e7f51e69b4288a808557dba2c0c15552085a67f3cbd445d518fc8d4f668f7264237263acc4248d3dd1a2c0a3 SHA512 19c1ff0ae6fdfc690ccfe4fe6008c102e50ab9bf6b1f4e4f04a348d217d4d9d538585945466b72b70713053bcfd73685d1a907e41d135265d330bde996709eb8
 DIST num-bigint-0.3.3.crate 89493 BLAKE2B 015b680a0311e0c4fc248e51872bb69999e70c7a9ee64a649189eaf3b7125c1e48b0df0af5e996ca46585a1f9197b1eefea1bfa2598ad7296530e027557d2e49 SHA512 c4e3ef01b4da24eb3676d6716fcda84418e8bfb0e64aaa4cfc9ae67e08a032f564780a8c03ed1403b68cd7194cb29dacc778e11bc821e8c9fe7372a1a95186f0
 DIST num-bigint-0.4.0.crate 90002 BLAKE2B f68f92d7796d97aad60e6b08976a08759fee51672f96e1a6c742aa3d4ae2f35b921cd948923bd7aaaafec096e9b0709a060833045d63b5352293567b68cf3d6e SHA512 adbb20a1407934a129daf25278470f76a40b3adc002994927e3d57f7370bf857761cb117f7c726e98a487ce557c4ef6ee668702958b21e90c31df4e269393d00
diff --git a/dev-rust/num-bigint/num-bigint-0.2.6.ebuild b/dev-rust/num-bigint/num-bigint-0.2.6.ebuild
new file mode 100644
index 0000000..42bbd09
--- /dev/null
+++ b/dev-rust/num-bigint/num-bigint-0.2.6.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Big integer implementation for Rust'
+HOMEPAGE='https://github.com/rust-num/num-bigint'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/num-integer-0.1.42 <dev-rust/num-integer-0.2.0_alpha:=
+	>=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:=
+	=dev-rust/quickcheck-0.9*:=
+	=dev-rust/quickcheck_macros-0.8*:=
+	=dev-rust/rand-0.6*:=
+	=dev-rust/serde-1*:=
+	=dev-rust/autocfg-1*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/num-cmp/Manifest b/dev-rust/num-cmp/Manifest
new file mode 100644
index 0000000..084c36b
--- /dev/null
+++ b/dev-rust/num-cmp/Manifest
@@ -0,0 +1 @@
+DIST num-cmp-0.1.0.crate 15375 BLAKE2B d2c8680085277a2f5702fb6d0e0fada150135437c37b56606915f7c042b79a6e5d0cf8c7b45f46b8b3f1931b6588f4f2731ec83e510e982285eea6628005edc5 SHA512 cd6069eaac6e84e94a8c02fb45a538424496c998963dba6c76f4c02503c9c084653a078762386d81698184263d410790a8e4ab746e1330d45b62cb9791a71e5e
diff --git a/dev-rust/num-cmp/OWNERS b/dev-rust/num-cmp/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/num-cmp/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/num-cmp/num-cmp-0.1.0.ebuild b/dev-rust/num-cmp/num-cmp-0.1.0.ebuild
new file mode 100644
index 0000000..bfb3c7f
--- /dev/null
+++ b/dev-rust/num-cmp/num-cmp-0.1.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Comparison between differently typed numbers'
+HOMEPAGE='https://github.com/lifthrasiir/num-cmp'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/num-complex/Manifest b/dev-rust/num-complex/Manifest
new file mode 100644
index 0000000..adfa2c2
--- /dev/null
+++ b/dev-rust/num-complex/Manifest
@@ -0,0 +1 @@
+DIST num-complex-0.2.4.crate 24679 BLAKE2B 175ee644720b6bbff108eb4ef94d0fea8f340533c2be0e18524e54777734d1c7dc10a7c36b1f2ca3f032ddcb3dc351e60564340aa59b29aa4fa7ecb2487314c4 SHA512 53be64d6f67b1ff7d0a4e1723ae21035abfd300ab27bed0976e0c3903fe8e29f47ffe75040832ee2f81da5c2f4f671d3d845d308365b9a5a989ace99a7d463ea
diff --git a/dev-rust/num-complex/OWNERS b/dev-rust/num-complex/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/num-complex/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/num-complex/num-complex-0.2.4.ebuild b/dev-rust/num-complex/num-complex-0.2.4.ebuild
new file mode 100644
index 0000000..19802c2
--- /dev/null
+++ b/dev-rust/num-complex/num-complex-0.2.4.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Complex numbers implementation for Rust'
+HOMEPAGE='https://github.com/rust-num/num-complex'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:=
+	=dev-rust/rand-0.6*:=
+	=dev-rust/serde-1*:=
+	=dev-rust/autocfg-1*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/num-derive/Manifest b/dev-rust/num-derive/Manifest
new file mode 100644
index 0000000..e677782
--- /dev/null
+++ b/dev-rust/num-derive/Manifest
@@ -0,0 +1 @@
+DIST num-derive-0.3.3.crate 14545 BLAKE2B 3af73d35ced61f8e4fa2f2bef695f72a3cf1f1a67c77982d3518d9383331f34c1222dd7d72802cec22baa108ae08a87805a11942132c565ab8439c4983e99871 SHA512 e0f4d06fff26c2d2b140ff5ec1ba655a46c8d8fda484f03a8ad4910e8cf1392f0130d5c0bfbbe3bfb95da1f93e964f73364de6551fddd81e6fc27bfa35c15053
diff --git a/dev-rust/num-derive/OWNERS b/dev-rust/num-derive/OWNERS
new file mode 100644
index 0000000..8b8653d
--- /dev/null
+++ b/dev-rust/num-derive/OWNERS
@@ -0,0 +1,2 @@
+# This crate is used by the rust code generated by bluetooth_packetgen.
+include chromiumos/overlays/chromiumos-overlay:/net-wireless/floss_tools/OWNERS
diff --git a/dev-rust/num-derive/num-derive-0.3.3.ebuild b/dev-rust/num-derive/num-derive-0.3.3.ebuild
new file mode 100644
index 0000000..5b56847
--- /dev/null
+++ b/dev-rust/num-derive/num-derive-0.3.3.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Numeric syntax extensions'
+HOMEPAGE='https://github.com/rust-num/num-derive'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/proc-macro2-1*:=
+	=dev-rust/quote-1*:=
+	=dev-rust/syn-1*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/num-iter/num-iter-0.1.37.ebuild b/dev-rust/num-iter/num-iter-0.1.37.ebuild
index 53767e8..d01ffa9 100644
--- a/dev-rust/num-iter/num-iter-0.1.37.ebuild
+++ b/dev-rust/num-iter/num-iter-0.1.37.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2018 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/num-rational/Manifest b/dev-rust/num-rational/Manifest
index b8a770f..4e2acc1 100644
--- a/dev-rust/num-rational/Manifest
+++ b/dev-rust/num-rational/Manifest
@@ -1 +1,2 @@
+DIST num-rational-0.2.4.crate 21694 BLAKE2B 6e8dbb873b1c62046c3fc45eeea0533a8375224fee6537e369a6042a42f98865c010635f3723c8116c32b365f8dd553831efeac4a1fb2bd0cbb169c90d7035cd SHA512 06e55f17a1ea58fd465a232ebd687686c922669f0b561f648717164f3fcc8fe2bb43213d1e6377158d2542f633ef2e1482a7c3cef8090328c34feacf7f9bdd93
 DIST num-rational-0.3.2.crate 26359 BLAKE2B 18b58869b55f32396cf3f024f19c1dd1dd7594e0a398f448930c60c338cc5b42f73e92dbca51a71d9017eedab20e6f564504cefc7a21018d1ff029846498e3af SHA512 31141c147ace16505cf63023d399ec7d6824b1cf3a31160419cc8ed8c9e4392993910419ac113b23913f710eff13f730d04328e66328375c61c28010718fb837
diff --git a/dev-rust/num-rational/num-rational-0.2.4.ebuild b/dev-rust/num-rational/num-rational-0.2.4.ebuild
new file mode 100644
index 0000000..0fcff64
--- /dev/null
+++ b/dev-rust/num-rational/num-rational-0.2.4.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Rational numbers implementation for Rust'
+HOMEPAGE='https://github.com/rust-num/num-rational'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/num-bigint-0.2.5 <dev-rust/num-bigint-0.3.0_alpha:=
+	>=dev-rust/num-integer-0.1.42 <dev-rust/num-integer-0.2.0_alpha:=
+	>=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:=
+	=dev-rust/serde-1*:=
+	=dev-rust/autocfg-1*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/num-traits/num-traits-0.2.12.ebuild b/dev-rust/num-traits/num-traits-0.2.12.ebuild
index e1fed6d..dbdaa84 100644
--- a/dev-rust/num-traits/num-traits-0.2.12.ebuild
+++ b/dev-rust/num-traits/num-traits-0.2.12.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/num/Manifest b/dev-rust/num/Manifest
new file mode 100644
index 0000000..d939abb
--- /dev/null
+++ b/dev-rust/num/Manifest
@@ -0,0 +1 @@
+DIST num-0.2.1.crate 9082 BLAKE2B d82bf8cf2f53ad30cee1364d65358e8421aedf66126184936d575e359307373ede66358e7672e1eedf3b8ec6a997439a077943c6f20045aa24a89bcdeb611e70 SHA512 9d094e0a29b2bb42d382d5167150418bc2ed81e8deb3c6636c99c86ca14abf5f69b82a49f1678dd110119eeaec2f476fe7a5d57e60558473a6b7c710dec7f778
diff --git a/dev-rust/num/OWNERS b/dev-rust/num/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/num/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/num/num-0.2.1.ebuild b/dev-rust/num/num-0.2.1.ebuild
new file mode 100644
index 0000000..2b77259
--- /dev/null
+++ b/dev-rust/num/num-0.2.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='A collection of numeric types and traits for Rust, including bigint,
+complex, rational, range iterators, generic integers, and more!'
+HOMEPAGE='https://github.com/rust-num/num'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/num-bigint-0.2.5 <dev-rust/num-bigint-0.3.0_alpha:=
+	>=dev-rust/num-complex-0.2.4 <dev-rust/num-complex-0.3.0_alpha:=
+	>=dev-rust/num-integer-0.1.42 <dev-rust/num-integer-0.2.0_alpha:=
+	>=dev-rust/num-iter-0.1.40 <dev-rust/num-iter-0.2.0_alpha:=
+	>=dev-rust/num-rational-0.2.3 <dev-rust/num-rational-0.3.0_alpha:=
+	>=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/num_cpus/num_cpus-1.9.0.ebuild b/dev-rust/num_cpus/num_cpus-1.9.0.ebuild
index 5e43b85..f1450e7 100644
--- a/dev-rust/num_cpus/num_cpus-1.9.0.ebuild
+++ b/dev-rust/num_cpus/num_cpus-1.9.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/num_threads/Manifest b/dev-rust/num_threads/Manifest
new file mode 100644
index 0000000..40cc9435
--- /dev/null
+++ b/dev-rust/num_threads/Manifest
@@ -0,0 +1 @@
+DIST num_threads-0.1.5.crate 7109 BLAKE2B b5a1055937a87c3f3b758ad527fce0a14c812b40c3bbda530bfc0e03f43dd3155c17e1eaa210c512a98919da802d9d48fec4e3c8464072fe4d309b9a402d9b61 SHA512 3ad2234945ea20f47efdd8381de2f0f05790163bb1e4b28d9e630a2da4d86c99e596558ed231e2e9d62d84ae85f8f5422dc11c323ba899e37ad1e654e3c4fdd1
diff --git a/dev-rust/num_threads/OWNERS b/dev-rust/num_threads/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/num_threads/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/num_threads/num_threads-0.1.5.ebuild b/dev-rust/num_threads/num_threads-0.1.5.ebuild
new file mode 100644
index 0000000..7066fe4
--- /dev/null
+++ b/dev-rust/num_threads/num_threads-0.1.5.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+CROS_RUST_REMOVE_TARGET_CFG=1
+
+inherit cros-rust
+
+DESCRIPTION='A minimal library that determines the number of running threads for the current process.'
+HOMEPAGE='https://crates.io/crates/num_threads'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/number_prefix/Manifest b/dev-rust/number_prefix/Manifest
new file mode 100644
index 0000000..9443bd7
--- /dev/null
+++ b/dev-rust/number_prefix/Manifest
@@ -0,0 +1 @@
+DIST number_prefix-0.4.0.crate 6922 BLAKE2B 81bd3b588c788e6865104e5ce87119b5e0c5a526042963d52cd582ff23c2f8c9f32b4c445ef0397fc402b6d047e031d8e2c67ac97e191bde22e17662eec3a554 SHA512 a43b668d7314218b86ca7451daa9dfef71f6c9f6616bc34c12d94ae6030f182bcca9da83905cb46f3d49d0aa81385a787e92e4f3ae239658067adc249f8174df
diff --git a/dev-rust/serialport/OWNERS b/dev-rust/number_prefix/OWNERS
similarity index 100%
copy from dev-rust/serialport/OWNERS
copy to dev-rust/number_prefix/OWNERS
diff --git a/dev-rust/number_prefix/number_prefix-0.4.0.ebuild b/dev-rust/number_prefix/number_prefix-0.4.0.ebuild
new file mode 100644
index 0000000..cf68762
--- /dev/null
+++ b/dev-rust/number_prefix/number_prefix-0.4.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Library for numeric prefixes (kilo, giga, kibi).'
+HOMEPAGE='https://crates.io/crates/number_prefix'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/openssl-macros/Manifest b/dev-rust/openssl-macros/Manifest
new file mode 100644
index 0000000..3bf3b90
--- /dev/null
+++ b/dev-rust/openssl-macros/Manifest
@@ -0,0 +1 @@
+DIST openssl-macros-0.1.0.crate 5566 BLAKE2B 51116df0f86274435f41b8bfd2b385d5a6464560a05c214445dde5cb414999d200c55e5529fa98e95abfbf26bdfe31c88708ddfa2a81671341792059ea703c07 SHA512 7e37a0c05781da13bbaf4c056c19d032a93820cc324f9f6e5743bfcbfb30e057501af1bc7cbf5f07e3a05191678cd5ae5bc4d6832f02ce75bfb03c027d18abfd
diff --git a/dev-rust/serde_repr/OWNERS b/dev-rust/openssl-macros/OWNERS
similarity index 100%
copy from dev-rust/serde_repr/OWNERS
copy to dev-rust/openssl-macros/OWNERS
diff --git a/dev-rust/openssl-macros/openssl-macros-0.1.0.ebuild b/dev-rust/openssl-macros/openssl-macros-0.1.0.ebuild
new file mode 100644
index 0000000..d0f893a
--- /dev/null
+++ b/dev-rust/openssl-macros/openssl-macros-0.1.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit cros-rust
+
+DESCRIPTION="Internal macros used by the openssl crate."
+HOMEPAGE="https://github.com/sfackler/rust-openssl"
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/proc-macro2-1*:=
+	=dev-rust/quote-1*:=
+	=dev-rust/syn-1*:=
+"
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are
+# pulled in when installing binpkgs since the full source tree is required to
+# use the crate.
+RDEPEND="${DEPEND}
+	!=dev-rust/openssl-macros-0.1*
+"
diff --git a/dev-rust/openssl-probe/openssl-probe-0.1.2.ebuild b/dev-rust/openssl-probe/openssl-probe-0.1.2.ebuild
index 41643bd..045799d 100644
--- a/dev-rust/openssl-probe/openssl-probe-0.1.2.ebuild
+++ b/dev-rust/openssl-probe/openssl-probe-0.1.2.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/openssl-src/openssl-src-111.0.1.ebuild b/dev-rust/openssl-src/openssl-src-111.0.1.ebuild
index e319801..a94981b 100644
--- a/dev-rust/openssl-src/openssl-src-111.0.1.ebuild
+++ b/dev-rust/openssl-src/openssl-src-111.0.1.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty ${PN} crate that pulls in the openssl headers."
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/openssl-sys/Manifest b/dev-rust/openssl-sys/Manifest
index ea7c5bc..6e3c41f 100644
--- a/dev-rust/openssl-sys/Manifest
+++ b/dev-rust/openssl-sys/Manifest
@@ -1 +1,2 @@
 DIST openssl-sys-0.9.66.crate 54599 BLAKE2B 5c03c5e4a524a518885a68a7d7c9fefc0d6cb97e35368bfa49898cf5a97fdce0ce34047bc7e7ba5aff3430b51b3b546bac1bbdddb743bea1bab877df684fc1e4 SHA512 ab2d39a766df694f3985d67495d4e820bd196987571fbc229c003f441fe61bdc1aab9cd35a83ec3be9518d2b4e463f33f19bb109e9297a2d4114fe2d1d932a59
+DIST openssl-sys-0.9.73.crate 59581 BLAKE2B 77b56f2defb4725daf671e1651d0033909bfcdf8cb7df8ed7c942f2b2998ef17d7c5aaa335e48566d2988ee0f489545266b2fd1214c0dd5de732dbdd34201909 SHA512 b17ba906433b212587d6274def3cfc1beba2c50497f5653eb1a3ce767924dbe279f750ab58c77c216de852e2a3aea8c7cb0c2577c67dcbff1b6584c7d55866e0
diff --git a/dev-rust/openssl-sys/openssl-sys-0.9.73.ebuild b/dev-rust/openssl-sys/openssl-sys-0.9.73.ebuild
new file mode 100644
index 0000000..50261e1
--- /dev/null
+++ b/dev-rust/openssl-sys/openssl-sys-0.9.73.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit cros-rust
+
+DESCRIPTION="OpenSSL bindings for the Rust programming language."
+HOMEPAGE="https://github.com/sfackler/rust-openssl"
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/autocfg-1*:=
+	>=dev-rust/bindgen-0.59.2:= <dev-rust/bindgen-1
+	=dev-rust/cc-1*:=
+	=dev-rust/libc-0.2*:=
+	>=dev-rust/pkg-config-0.3.9:= <dev-rust/pkg-config-0.4
+	>=dev-rust/vcpkg-0.2.8:= <dev-rust/vcpkg-0.3
+	>=dev-rust/openssl-src-111.0.1:= <dev-rust/openssl-src-112
+"
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are
+# pulled in when installing binpkgs since the full source tree is required to
+# use the crate.
+RDEPEND="${DEPEND}
+	!=dev-rust/openssl-sys-0.9*
+"
diff --git a/dev-rust/openssl/Manifest b/dev-rust/openssl/Manifest
index 851d07d..df79ba3 100644
--- a/dev-rust/openssl/Manifest
+++ b/dev-rust/openssl/Manifest
@@ -1 +1 @@
-DIST openssl-0.10.36.crate 206367 BLAKE2B d059480338da28c1e6707db85127bdd4721e931f74bf27d2c8f80315c43cf9c37a977740b9d799a03bb59a1fdf26fc1fd9ef11319863b63ac7b6ba3ddc2c1385 SHA512 bf215f7ccfe24b3f490d516541ac746785853dc61ab6cf023e303275578c206fcb14b6e5001f36de2f71b0a8c48ccb26f4f343c5b88ae38ad2cba12ccc941641
+DIST openssl-0.10.40.crate 217120 BLAKE2B 7470af72e060a4dd087468dd8f092f7519978e49e3a9e7df78cd1ae8d33819a4a14aea078d113772528f3eb4134c019fda9458656b25b9483352b1a19259acf9 SHA512 c07b2fa47cec33ad3abfbfdfe0c8c99ce00aafed5437f864e9be1d151c8f82e52c54ba565ab710693f108429f48df2ce0d2955f54b1926d808ea56fa168afcf9
diff --git a/dev-rust/openssl/openssl-0.10.36-r1.ebuild b/dev-rust/openssl/openssl-0.10.36-r1.ebuild
deleted file mode 120000
index 35e758c..0000000
--- a/dev-rust/openssl/openssl-0.10.36-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-openssl-0.10.36.ebuild
\ No newline at end of file
diff --git a/dev-rust/openssl/openssl-0.10.36.ebuild b/dev-rust/openssl/openssl-0.10.36.ebuild
deleted file mode 100644
index 36d4832..0000000
--- a/dev-rust/openssl/openssl-0.10.36.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="OpenSSL bindings for the Rust programming language."
-HOMEPAGE="https://github.com/sfackler/rust-openssl"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="Apache-2.0"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/bitflags-1*:=
-	=dev-rust/cfg-if-1*:=
-	>=dev-rust/foreign-types-0.3.1 <dev-rust/foreign-types-0.4.0:=
-	=dev-rust/libc-0.2*:=
-	>=dev-rust/once_cell-1.5.2 <dev-rust/once_cell-2.0.0:=
-	>=dev-rust/openssl-sys-0.9.66:= <dev-rust/openssl-sys-0.10.0
-"
-# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are
-# pulled in when installing binpkgs since the full source tree is required to
-# use the crate.
-RDEPEND="${DEPEND}
-	!=dev-rust/openssl-0.10*
-"
-
-PATCHES=( "${FILESDIR}/${P}-include-hdkf.patch" )
diff --git a/dev-rust/openssl/openssl-0.10.40.ebuild b/dev-rust/openssl/openssl-0.10.40.ebuild
new file mode 100644
index 0000000..0e5e919
--- /dev/null
+++ b/dev-rust/openssl/openssl-0.10.40.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION="OpenSSL bindings for the Rust programming language."
+HOMEPAGE="https://github.com/sfackler/rust-openssl"
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="Apache-2.0"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/bitflags-1*:=
+	=dev-rust/cfg-if-1*:=
+	>=dev-rust/foreign-types-0.3.1 <dev-rust/foreign-types-0.4.0:=
+	=dev-rust/libc-0.2*:=
+	>=dev-rust/once_cell-1.5.2 <dev-rust/once_cell-2.0.0:=
+	>=dev-rust/openssl-macros-0.1.0:= <dev-rust/openssl-macros-0.2.0
+	>=dev-rust/openssl-sys-0.9.73:= <dev-rust/openssl-sys-0.10.0
+"
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are
+# pulled in when installing binpkgs since the full source tree is required to
+# use the crate.
+RDEPEND="${DEPEND}
+	!=dev-rust/openssl-0.10*
+"
diff --git a/dev-rust/os_str_bytes/Manifest b/dev-rust/os_str_bytes/Manifest
index e9f23fc..b5baaba 100644
--- a/dev-rust/os_str_bytes/Manifest
+++ b/dev-rust/os_str_bytes/Manifest
@@ -1 +1,2 @@
 DIST os_str_bytes-2.4.0.crate 14657 BLAKE2B 57f8fa434237c9ded24ef10f225b0c46825308c526a523cffa4c334d43c54c4f678beb7eea9fcf8bc246ccb1ee7d72f428a40acf271964fc4d26cd9ab6eb1b0f SHA512 4e06a2c7f5470c56bdf5e06afb5fcaa4001a29c2cd79db6ed9ffb762154ba20bf11dab97ed7cb2f50f53b2e12241b0988bb220b60f4210d4f01fb2f0e1d186e6
+DIST os_str_bytes-6.0.0.crate 21046 BLAKE2B 9d2a9f47aac852ca2e27e63a22c7267e1a4affde2277d50e128b54f377758322f07ca7263478c39c91e11a2b32b0e7a5fc5ba1b31e0ee014b412a4151642e605 SHA512 d2d3741a1190092cf251e035d2c55a7d022d99512160ed4ddccccb44ca85f664f94f8a937a76eff88581b593e2ebaddab6e753009f3046a8a2ebf451418e41d8
diff --git a/dev-rust/os_str_bytes/os_str_bytes-6.0.0.ebuild b/dev-rust/os_str_bytes/os_str_bytes-6.0.0.ebuild
new file mode 100644
index 0000000..19b7507
--- /dev/null
+++ b/dev-rust/os_str_bytes/os_str_bytes-6.0.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Utilities for converting between byte sequences and platform-native strings'
+HOMEPAGE='https://crates.io/crates/os_str_bytes'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/memchr-2.4.0 <dev-rust/memchr-3.0.0_alpha:=
+	=dev-rust/print_bytes-0.5*:=
+	=dev-rust/uniquote-3*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/p9/p9-0.1.0-r204.ebuild b/dev-rust/p9/p9-0.1.0-r204.ebuild
deleted file mode 100644
index 417901e..0000000
--- a/dev-rust/p9/p9-0.1.0-r204.ebuild
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f8ba4d599f05ac8cef7f7834e262901a5c1a5290"
-CROS_WORKON_TREE="80f9e4e3017742fbd3ac33518375b8856b695bab"
-CROS_RUST_SUBDIR="common/p9"
-
-CROS_WORKON_LOCALNAME="../platform/crosvm"
-CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE=""  # TODO(b/195126527): limit subtree to common/
-
-inherit cros-fuzzer cros-workon cros-rust
-
-DESCRIPTION="Server implementation of the 9P file system protocol"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/p9/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="fuzzer test"
-
-DEPEND="
-	dev-rust/libc:=
-	=dev-rust/proc-macro2-1*:=
-	=dev-rust/quote-1*:=
-	=dev-rust/syn-1*:=
-	dev-rust/sys_util:=
-	fuzzer? ( dev-rust/cros_fuzz:= )
-"
-# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
-# installing binpkgs since the full source tree is required to use the crate.
-RDEPEND="${DEPEND}
-	!!<=dev-rust/p9-0.1.0-r14
-"
-
-get_crate_version() {
-	local crate="$1"
-	awk '/^version = / { print $3 }' "$1/Cargo.toml" | head -n1 | tr -d '"'
-}
-
-pkg_setup() {
-	cros-rust_pkg_setup wire_format_derive
-	cros-rust_pkg_setup p9
-}
-
-src_compile() {
-	(
-		cd wire_format_derive || die
-		ecargo_build
-		use test && ecargo_test --no-run
-	)
-
-	ecargo_build
-	use test && ecargo_test --no-run
-
-	if use fuzzer; then
-		cd fuzz
-		ecargo_build_fuzzer
-	fi
-}
-
-src_test() {
-	(
-		cd wire_format_derive || die
-		cros-rust_src_test
-	)
-
-	cros-rust_src_test
-}
-
-src_install() {
-	pushd wire_format_derive > /dev/null || die
-	local version="$(get_crate_version .)"
-	cros-rust_publish wire_format_derive "${version}"
-	popd > /dev/null || die
-
-	version="$(get_crate_version .)"
-	cros-rust_publish p9 "${version}"
-
-	if use fuzzer; then
-		local fuzzer_component_id="982362"
-		fuzzer_install "${S}/OWNERS" \
-			"$(cros-rust_get_build_dir)/p9_tframe_decode_fuzzer" \
-			--comp "${fuzzer_component_id}"
-	fi
-}
-
-pkg_preinst() {
-	cros-rust_pkg_preinst wire_format_derive
-	cros-rust_pkg_preinst p9
-}
-
-pkg_postinst() {
-	cros-rust_pkg_postinst wire_format_derive
-	cros-rust_pkg_postinst p9
-}
-
-pkg_prerm() {
-	cros-rust_pkg_prerm wire_format_derive
-	cros-rust_pkg_prerm p9
-}
-
-pkg_postrm() {
-	cros-rust_pkg_postrm wire_format_derive
-	cros-rust_pkg_postrm p9
-}
diff --git a/dev-rust/p9/p9-0.1.0-r287.ebuild b/dev-rust/p9/p9-0.1.0-r287.ebuild
new file mode 100644
index 0000000..b8186f1
--- /dev/null
+++ b/dev-rust/p9/p9-0.1.0-r287.ebuild
@@ -0,0 +1,108 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="2b1c44b5ca6f50123a5bbbab7d2522b2d83fa5bc"
+CROS_WORKON_TREE="62c91cc57f4bbb759cc97766a681ed0c7deac706"
+CROS_RUST_SUBDIR="common/p9"
+
+CROS_WORKON_LOCALNAME="../platform/crosvm"
+CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE=""  # TODO(b/195126527): limit subtree to common/
+
+inherit cros-fuzzer cros-workon cros-rust
+
+DESCRIPTION="Server implementation of the 9P file system protocol"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/p9/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="fuzzer test"
+
+DEPEND="
+	dev-rust/libc:=
+	=dev-rust/proc-macro2-1*:=
+	=dev-rust/quote-1*:=
+	=dev-rust/syn-1*:=
+	dev-rust/sys_util:=
+	fuzzer? ( dev-rust/cros_fuzz:= )
+"
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}
+	!!<=dev-rust/p9-0.1.0-r14
+"
+
+get_crate_version() {
+	local crate="$1"
+	awk '/^version = / { print $3 }' "$1/Cargo.toml" | head -n1 | tr -d '"'
+}
+
+pkg_setup() {
+	cros-rust_pkg_setup wire_format_derive
+	cros-rust_pkg_setup p9
+}
+
+src_compile() {
+	(
+		cd wire_format_derive || die
+		ecargo_build
+		use test && ecargo_test --no-run
+	)
+
+	ecargo_build
+	use test && ecargo_test --no-run
+
+	if use fuzzer; then
+		cd fuzz
+		ecargo_build_fuzzer
+	fi
+}
+
+src_test() {
+	(
+		cd wire_format_derive || die
+		cros-rust_src_test
+	)
+
+	cros-rust_src_test
+}
+
+src_install() {
+	pushd wire_format_derive > /dev/null || die
+	local version="$(get_crate_version .)"
+	cros-rust_publish wire_format_derive "${version}"
+	popd > /dev/null || die
+
+	version="$(get_crate_version .)"
+	cros-rust_publish p9 "${version}"
+
+	if use fuzzer; then
+		local fuzzer_component_id="982362"
+		fuzzer_install "${S}/OWNERS" \
+			"$(cros-rust_get_build_dir)/p9_tframe_decode_fuzzer" \
+			--comp "${fuzzer_component_id}"
+	fi
+}
+
+pkg_preinst() {
+	cros-rust_pkg_preinst wire_format_derive
+	cros-rust_pkg_preinst p9
+}
+
+pkg_postinst() {
+	cros-rust_pkg_postinst wire_format_derive
+	cros-rust_pkg_postinst p9
+}
+
+pkg_prerm() {
+	cros-rust_pkg_prerm wire_format_derive
+	cros-rust_pkg_prerm p9
+}
+
+pkg_postrm() {
+	cros-rust_pkg_postrm wire_format_derive
+	cros-rust_pkg_postrm p9
+}
diff --git a/dev-rust/packed_simd_2/OWNERS b/dev-rust/packed_simd_2/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/packed_simd_2/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/packed_simd_2/packed_simd_2-0.3.4.ebuild b/dev-rust/packed_simd_2/packed_simd_2-0.3.4.ebuild
new file mode 100644
index 0000000..c74dee1
--- /dev/null
+++ b/dev-rust/packed_simd_2/packed_simd_2-0.3.4.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/parking_lot/Manifest b/dev-rust/parking_lot/Manifest
index 4ab8498..75d6aed 100644
--- a/dev-rust/parking_lot/Manifest
+++ b/dev-rust/parking_lot/Manifest
@@ -1 +1,2 @@
 DIST parking_lot-0.11.1.crate 39854 BLAKE2B 5a097d7016811de4ca7d21e8a811a96b2e857b5224b176cf7a3bc160c0a0678c9100423e3c096c5056e2df3a4dcba17a590cc64eb1d648355c153c5cdf9db228 SHA512 17e394ac8b62656177a12fcfd246d9bb59be468a5ac174e4d6d8b4ffd0411497d3ce943ca5deab184cebf5c1bbca97b4273f79bf210c78d7f4b6f5e9d68026a2
+DIST parking_lot-0.12.0.crate 39761 BLAKE2B 227ae508bebea21bd06c7a9c1651879ce3f5cd308019c8733f6b88e75a57b57d19b7bbc5dfed5ef1bff57ec0f116606ab699cfa6017b6e00078e7e4717cd58a6 SHA512 efa1ebe2f3849a9c6ac484c7e1cdd279640539468bd4d4da6c4c97ae34e86fa3a42818ee4839dea512635fbbd836829dbadd81dc05208614c820d1374139673f
diff --git a/dev-rust/parking_lot/parking_lot-0.12.0.ebuild b/dev-rust/parking_lot/parking_lot-0.12.0.ebuild
new file mode 100644
index 0000000..ed272e4
--- /dev/null
+++ b/dev-rust/parking_lot/parking_lot-0.12.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='More compact and efficient implementations of the standard synchronization primitives.'
+HOMEPAGE='https://crates.io/crates/parking_lot'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/lock_api-0.4.6 <dev-rust/lock_api-0.5.0_alpha:=
+	=dev-rust/parking_lot_core-0.9*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/parking_lot_core/Manifest b/dev-rust/parking_lot_core/Manifest
index ea46025..10118383 100644
--- a/dev-rust/parking_lot_core/Manifest
+++ b/dev-rust/parking_lot_core/Manifest
@@ -1 +1,2 @@
 DIST parking_lot_core-0.8.3.crate 32147 BLAKE2B 5218cfbff706c4388fef31c885c7a5d53566005775a3c440c6a2890efb189a4edfe8e99f6499cac36038846628a915ac988c15e1ebab1b3a3ffb53a64631dc19 SHA512 1dba5a7e68ee007918fb210ff308f7382ed1c54d2fe6db36a8246453434246b71e6795db107c83ca39c2bddf5e4a27da7978a464b53d41e150e744d81e75b341
+DIST parking_lot_core-0.9.2.crate 32254 BLAKE2B ef53a3e10228569dd38e1c5a8816fadfdf6b02ce01bf8b7099c7e3f1f71b4fb6c4d8ece8e52c9ddfc9a5ece6c273def2d9bf5aad8afd76ebdcea8b1ce08ad7e7 SHA512 0443dcd867d8be6e5d1b6ff0af8e31bde6378789e30865442bb15f48ac955beb847ab5954be4336fa47aadb7478606bd217b745134de50c16486c26e07fb10b5
diff --git a/dev-rust/parking_lot_core/parking_lot_core-0.9.2.ebuild b/dev-rust/parking_lot_core/parking_lot_core-0.9.2.ebuild
new file mode 100644
index 0000000..5f2f893
--- /dev/null
+++ b/dev-rust/parking_lot_core/parking_lot_core-0.9.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+CROS_RUST_REMOVE_TARGET_CFG=1
+
+inherit cros-rust
+
+DESCRIPTION='An advanced API for creating custom synchronization primitives.'
+HOMEPAGE='https://crates.io/crates/parking_lot_core'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/backtrace-0.3.60 <dev-rust/backtrace-0.4.0_alpha:=
+	=dev-rust/cfg-if-1*:=
+	=dev-rust/petgraph-0.6*:=
+	>=dev-rust/smallvec-1.6.1 <dev-rust/smallvec-2.0.0_alpha:=
+	=dev-rust/thread-id-4*:=
+	>=dev-rust/libc-0.2.95 <dev-rust/libc-0.3.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/paste/paste-1.0.2.ebuild b/dev-rust/paste/paste-1.0.2.ebuild
index 5868c3d..3a2e338 100644
--- a/dev-rust/paste/paste-1.0.2.ebuild
+++ b/dev-rust/paste/paste-1.0.2.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2020 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/paw/paw-1.0.0.ebuild b/dev-rust/paw/paw-1.0.0.ebuild
index 0b7051b..c1e582e 100644
--- a/dev-rust/paw/paw-1.0.0.ebuild
+++ b/dev-rust/paw/paw-1.0.0.ebuild
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE="https://github.com/rust-cli/paw"
 
-LICENSE="|| ( MIT Apache-2.0 )"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/pcap-file/OWNERS b/dev-rust/pcap-file/OWNERS
new file mode 100644
index 0000000..0edda31
--- /dev/null
+++ b/dev-rust/pcap-file/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/crosvm:/OWNERS
diff --git a/dev-rust/pcap-file/pcap-file-1.1.1.ebuild b/dev-rust/pcap-file/pcap-file-1.1.1.ebuild
new file mode 100644
index 0000000..4f92690
--- /dev/null
+++ b/dev-rust/pcap-file/pcap-file-1.1.1.ebuild
@@ -0,0 +1,15 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty pcap-file crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
diff --git a/dev-rust/percent-encoding/Manifest b/dev-rust/percent-encoding/Manifest
index ea8f75d9..2e0c13d 100644
--- a/dev-rust/percent-encoding/Manifest
+++ b/dev-rust/percent-encoding/Manifest
@@ -1 +1,2 @@
 DIST percent-encoding-1.0.1.crate 10057 BLAKE2B 6dbfea557cb7a604a99b6fa694ed24b1555fec34bfed54503d98fa4b285a91aab1405b7156bd00be0001b10bf15706878b7bfb4f73cc34560166e0e8f004d944 SHA512 6e884d7172e8cadcf6e39056c9f92b70252f56a8062af0e792179dcf990344f47553c04e2fce84841f20f5c28557d7768727f60c862b9876d29cabffd4ad19e9
+DIST percent-encoding-2.1.0.crate 9748 BLAKE2B f3ff35ac683724b15e40c85e0fb8ececb07b61beeea82b7020f02d27df05a8a3535f157b3cd688533e414d6541de7de8640ef4756706d8061af0fec94ba04ab3 SHA512 98af4dfa7c6a3cf0d5aa929c436f9eb1ba1b576a944513f1284e6df2ad06be7cab9eba145d888d50af88f8c970bacc702b323041bec6d4fa1dc34095186c628a
diff --git a/dev-rust/percent-encoding/percent-encoding-1.0.1.ebuild b/dev-rust/percent-encoding/percent-encoding-1.0.1.ebuild
index a50f021..c989efb 100644
--- a/dev-rust/percent-encoding/percent-encoding-1.0.1.ebuild
+++ b/dev-rust/percent-encoding/percent-encoding-1.0.1.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/percent-encoding/percent-encoding-2.1.0.ebuild b/dev-rust/percent-encoding/percent-encoding-2.1.0.ebuild
new file mode 100644
index 0000000..02e5407
--- /dev/null
+++ b/dev-rust/percent-encoding/percent-encoding-2.1.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Percent encoding and decoding'
+HOMEPAGE='https://crates.io/crates/percent-encoding'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/petgraph/OWNERS b/dev-rust/petgraph/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/petgraph/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/petgraph/petgraph-0.5.1.ebuild b/dev-rust/petgraph/petgraph-0.5.1.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/petgraph/petgraph-0.5.1.ebuild
+++ b/dev-rust/petgraph/petgraph-0.5.1.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/petgraph/petgraph-0.6.0.ebuild b/dev-rust/petgraph/petgraph-0.6.0.ebuild
new file mode 100644
index 0000000..0a578db
--- /dev/null
+++ b/dev-rust/petgraph/petgraph-0.6.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/pkg-config/pkg-config-0.3.11-r2.ebuild b/dev-rust/pkg-config/pkg-config-0.3.11-r2.ebuild
index ea8c845..ec308b5 100644
--- a/dev-rust/pkg-config/pkg-config-0.3.11-r2.ebuild
+++ b/dev-rust/pkg-config/pkg-config-0.3.11-r2.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/portable-atomic/portable-atomic-0.3.0.ebuild b/dev-rust/portable-atomic/portable-atomic-0.3.0.ebuild
new file mode 100644
index 0000000..c74dee1
--- /dev/null
+++ b/dev-rust/portable-atomic/portable-atomic-0.3.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/postgres-types/OWNERS b/dev-rust/postgres-types/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/postgres-types/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/postgres-types/postgres-types-0.2.0.ebuild b/dev-rust/postgres-types/postgres-types-0.2.0.ebuild
new file mode 100644
index 0000000..c74dee1
--- /dev/null
+++ b/dev-rust/postgres-types/postgres-types-0.2.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/print_bytes/OWNERS b/dev-rust/print_bytes/OWNERS
new file mode 100644
index 0000000..f619b35
--- /dev/null
+++ b/dev-rust/print_bytes/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/audio/OWNERS.all
diff --git a/dev-rust/print_bytes/print_bytes-0.5.0.ebuild b/dev-rust/print_bytes/print_bytes-0.5.0.ebuild
new file mode 100644
index 0000000..c74dee1
--- /dev/null
+++ b/dev-rust/print_bytes/print_bytes-0.5.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/proc-macro-crate/proc-macro-crate-0.1.5-r1.ebuild b/dev-rust/proc-macro-crate/proc-macro-crate-0.1.5-r1.ebuild
new file mode 100644
index 0000000..dcad779
--- /dev/null
+++ b/dev-rust/proc-macro-crate/proc-macro-crate-0.1.5-r1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION="Replacement for crate (macro_rules keyword) in proc-macros."
+HOMEPAGE="https://github.com/bkchr/proc-macro-crate"
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="=dev-rust/toml-0.5*:="
+RDEPEND="${DEPEND}"
diff --git a/dev-rust/proc-macro-crate/proc-macro-crate-0.1.5.ebuild b/dev-rust/proc-macro-crate/proc-macro-crate-0.1.5.ebuild
deleted file mode 100644
index 225127a..0000000
--- a/dev-rust/proc-macro-crate/proc-macro-crate-0.1.5.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="Replacement for crate (macro_rules keyword) in proc-macros."
-HOMEPAGE="https://github.com/bkchr/proc-macro-crate"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="=dev-rust/toml-0.5*:="
diff --git a/dev-rust/proc-macro-nested/proc-macro-nested-0.1.3.ebuild b/dev-rust/proc-macro-nested/proc-macro-nested-0.1.3.ebuild
index 9a25aa4..1678f8f 100644
--- a/dev-rust/proc-macro-nested/proc-macro-nested-0.1.3.ebuild
+++ b/dev-rust/proc-macro-nested/proc-macro-nested-0.1.3.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2020 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/proc-macro2/Manifest b/dev-rust/proc-macro2/Manifest
index 708c84a..329a3d3 100644
--- a/dev-rust/proc-macro2/Manifest
+++ b/dev-rust/proc-macro2/Manifest
@@ -1,2 +1,4 @@
 DIST proc-macro2-0.4.21.crate 30813 BLAKE2B acf36197ae0bbd69e4b85c360831f9056dffa343165f665621c3e3b1aa29edd5d20d2b046a1dc8a401e758402d80096875c96915b15cb218a019169eab439df9 SHA512 9e0603d634d0748047dbc0e4c44dce54cba1026ed76945b09ed72224c015465cc8541d4045185f8b8cf6ff316daec50bc5a3ad7ddf5015aa971135497e5261ed
 DIST proc-macro2-1.0.29.crate 38772 BLAKE2B 742c2602afc4beddc96b688d105fd93b1dbdb3cfced724aaf542e97120d374d334e90cfbf02ab62741dd052a272dc583b7d2e1992da3d1b8ff260414c65ac89e SHA512 b3b3b7c6988afeb92209c7e0362f45f9c207611a74bb63bc7746b86fb9ab0d74fea9e7a2d9bc8ac943225ea439540726ffc13711dc5bcb056c1821fc99e8dc63
+DIST proc-macro2-1.0.36.crate 41411 BLAKE2B d7d99aed41080b65680736d92dd027e21c9e9e0b03601915c000f5dea8f2b2d9126b116af32f2fb04b4fa407775f0131423055d0b62fdbfe87fa4ba7ec098beb SHA512 f31b0f2356af2746321c4f808ac9af87d21a5657c103ed6bc1383855e40caf49246cc8ec1edff58eacf193424abfc2163148b7298e527714e65e602f14b2e50a
+DIST proc-macro2-1.0.37.crate 41378 BLAKE2B 330ba71c59bb7a6718fe650fc10a37bc690fb0ba4871c198bded83d13a12cdd7b1334a2e2c8fa7a48104b26625c1b07d65b0ecf91f9c2f13b8e898e80baae286 SHA512 cedb3433c6dfff39b404f8939c67e98303bb89a47e2cfb9659eeda1ca3e3d167800dca482374501632ab6d2283105dbd7560a157b48a351b2d3da059f946be55
diff --git a/dev-rust/serialport/OWNERS b/dev-rust/proc-macro2/OWNERS
similarity index 100%
copy from dev-rust/serialport/OWNERS
copy to dev-rust/proc-macro2/OWNERS
diff --git a/dev-rust/proc-macro2/proc-macro2-0.4.21.ebuild b/dev-rust/proc-macro2/proc-macro2-0.4.21.ebuild
index abb7b29..158acd8 100644
--- a/dev-rust/proc-macro2/proc-macro2-0.4.21.ebuild
+++ b/dev-rust/proc-macro2/proc-macro2-0.4.21.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2018 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/proc-macro2/proc-macro2-1.0.36.ebuild b/dev-rust/proc-macro2/proc-macro2-1.0.36.ebuild
new file mode 100644
index 0000000..df03a0d
--- /dev/null
+++ b/dev-rust/proc-macro2/proc-macro2-1.0.36.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='A substitute implementation of the compiler"s "proc_macro" API to decouple
+token-based libraries from the procedural macro use case.'
+HOMEPAGE='https://crates.io/crates/proc-macro2'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/unicode-xid-0.2*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/proc-macro2/proc-macro2-1.0.37.ebuild b/dev-rust/proc-macro2/proc-macro2-1.0.37.ebuild
new file mode 100644
index 0000000..7f27d66
--- /dev/null
+++ b/dev-rust/proc-macro2/proc-macro2-1.0.37.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='A substitute implementation of the compiler"s "proc_macro" API to decouple
+token-based libraries from the procedural macro use case.'
+HOMEPAGE='https://crates.io/crates/proc-macro2'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/unicode-xid-0.2.2 <dev-rust/unicode-xid-0.3.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/protobuf-codegen/protobuf-codegen-2.24.1-r1.ebuild b/dev-rust/protobuf-codegen/protobuf-codegen-2.24.1-r1.ebuild
new file mode 120000
index 0000000..0a927e6
--- /dev/null
+++ b/dev-rust/protobuf-codegen/protobuf-codegen-2.24.1-r1.ebuild
@@ -0,0 +1 @@
+protobuf-codegen-2.24.1.ebuild
\ No newline at end of file
diff --git a/dev-rust/protobuf-codegen/protobuf-codegen-2.24.1.ebuild b/dev-rust/protobuf-codegen/protobuf-codegen-2.24.1.ebuild
index ed822db..3ea0e76 100644
--- a/dev-rust/protobuf-codegen/protobuf-codegen-2.24.1.ebuild
+++ b/dev-rust/protobuf-codegen/protobuf-codegen-2.24.1.ebuild
@@ -12,7 +12,9 @@
 LICENSE="MIT"
 SLOT="0/${PVR}"
 KEYWORDS="*"
+IUSE="cros_host"
 
+BDEPEND="!cros_host? ( =${CATEGORY}/${PF} )"
 DEPEND="
 	~dev-rust/protobuf-${PV}:=
 "
@@ -20,10 +22,10 @@
 RDEPEND="${DEPEND}"
 
 src_compile() {
-	ecargo_build
+	use cros_host && ecargo_build
 }
 
 src_install() {
 	cros-rust_publish "${PN}" "$(cros-rust_get_crate_version)"
-	dobin "$(cros-rust_get_build_dir)/protoc-gen-rust"
+	use cros_host && dobin "$(cros-rust_get_build_dir)/protoc-gen-rust"
 }
diff --git a/dev-rust/quick-error/quick-error-1.2.1.ebuild b/dev-rust/quick-error/quick-error-1.2.1.ebuild
index ae4ec60..8bfdbd3 100644
--- a/dev-rust/quick-error/quick-error-1.2.1.ebuild
+++ b/dev-rust/quick-error/quick-error-1.2.1.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/quickcheck/quickcheck-0.9.0.ebuild b/dev-rust/quickcheck/quickcheck-0.9.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/quickcheck/quickcheck-0.9.0.ebuild
+++ b/dev-rust/quickcheck/quickcheck-0.9.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/quickcheck/quickcheck-1.0.0.ebuild b/dev-rust/quickcheck/quickcheck-1.0.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/quickcheck/quickcheck-1.0.0.ebuild
+++ b/dev-rust/quickcheck/quickcheck-1.0.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/quickcheck/quickcheck-1.0.3.ebuild b/dev-rust/quickcheck/quickcheck-1.0.3.ebuild
new file mode 100644
index 0000000..c74dee1
--- /dev/null
+++ b/dev-rust/quickcheck/quickcheck-1.0.3.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/quickcheck_macros/OWNERS b/dev-rust/quickcheck_macros/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/quickcheck_macros/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/quickcheck_macros/quickcheck_macros-0.8.0.ebuild b/dev-rust/quickcheck_macros/quickcheck_macros-0.8.0.ebuild
new file mode 100644
index 0000000..c74dee1
--- /dev/null
+++ b/dev-rust/quickcheck_macros/quickcheck_macros-0.8.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/quote/quote-0.6.10.ebuild b/dev-rust/quote/quote-0.6.10.ebuild
index eee2de6..8a17a38 100644
--- a/dev-rust/quote/quote-0.6.10.ebuild
+++ b/dev-rust/quote/quote-0.6.10.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2018 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/rand/rand-0.3.20.ebuild b/dev-rust/rand/rand-0.3.20.ebuild
index db19740..a88ae2d 100644
--- a/dev-rust/rand/rand-0.3.20.ebuild
+++ b/dev-rust/rand/rand-0.3.20.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty rand crate"
 HOMEPAGE=""
 
-LICENSE="|| ( MIT Apache-2.0 )"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/rand/rand-0.4.2.ebuild b/dev-rust/rand/rand-0.4.2.ebuild
index 0cb5857..bc72fd6 100644
--- a/dev-rust/rand/rand-0.4.2.ebuild
+++ b/dev-rust/rand/rand-0.4.2.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/rand_chacha/rand_chacha-0.1.1.ebuild b/dev-rust/rand_chacha/rand_chacha-0.1.1.ebuild
index 5b42662..353f910 100644
--- a/dev-rust/rand_chacha/rand_chacha-0.1.1.ebuild
+++ b/dev-rust/rand_chacha/rand_chacha-0.1.1.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/rand_core/rand_core-0.4.0.ebuild b/dev-rust/rand_core/rand_core-0.4.0.ebuild
index 75c7681..3783be0 100644
--- a/dev-rust/rand_core/rand_core-0.4.0.ebuild
+++ b/dev-rust/rand_core/rand_core-0.4.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/rand_core_transitional/rand_core_transitional-0.3.1.ebuild b/dev-rust/rand_core_transitional/rand_core_transitional-0.3.1.ebuild
index 2dd7db2..7c0440b 100644
--- a/dev-rust/rand_core_transitional/rand_core_transitional-0.3.1.ebuild
+++ b/dev-rust/rand_core_transitional/rand_core_transitional-0.3.1.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/rand_hc/rand_hc-0.1.0.ebuild b/dev-rust/rand_hc/rand_hc-0.1.0.ebuild
index 3288be0..e52204e 100644
--- a/dev-rust/rand_hc/rand_hc-0.1.0.ebuild
+++ b/dev-rust/rand_hc/rand_hc-0.1.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/rand_jitter/rand_jitter-0.1.3.ebuild b/dev-rust/rand_jitter/rand_jitter-0.1.3.ebuild
index 7840eb4..18d5691 100644
--- a/dev-rust/rand_jitter/rand_jitter-0.1.3.ebuild
+++ b/dev-rust/rand_jitter/rand_jitter-0.1.3.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/rand_xoshiro/rand_xoshiro-0.1.0.ebuild b/dev-rust/rand_xoshiro/rand_xoshiro-0.1.0.ebuild
index 072e90c..5c585f2 100644
--- a/dev-rust/rand_xoshiro/rand_xoshiro-0.1.0.ebuild
+++ b/dev-rust/rand_xoshiro/rand_xoshiro-0.1.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/ravif/ravif-0.6.0.ebuild b/dev-rust/ravif/ravif-0.6.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/ravif/ravif-0.6.0.ebuild
+++ b/dev-rust/ravif/ravif-0.6.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/rayon-core/rayon-core-1.9.0-r1.ebuild b/dev-rust/rayon-core/rayon-core-1.9.0-r1.ebuild
new file mode 120000
index 0000000..151737e
--- /dev/null
+++ b/dev-rust/rayon-core/rayon-core-1.9.0-r1.ebuild
@@ -0,0 +1 @@
+rayon-core-1.9.0.ebuild
\ No newline at end of file
diff --git a/dev-rust/rayon-core/rayon-core-1.9.0.ebuild b/dev-rust/rayon-core/rayon-core-1.9.0.ebuild
index e66a635..103835d 100644
--- a/dev-rust/rayon-core/rayon-core-1.9.0.ebuild
+++ b/dev-rust/rayon-core/rayon-core-1.9.0.ebuild
@@ -22,6 +22,7 @@
 	=dev-rust/lazy_static-1*:=
 	>=dev-rust/num_cpus-1.2:= <dev-rust/num_cpus-2.0
 "
+RDEPEND="${DEPEND}"
 
 # could not compile
 RESTRICT="test"
diff --git a/dev-rust/rayon/rayon-1.5.0-r2.ebuild b/dev-rust/rayon/rayon-1.5.0-r2.ebuild
new file mode 120000
index 0000000..37d3394
--- /dev/null
+++ b/dev-rust/rayon/rayon-1.5.0-r2.ebuild
@@ -0,0 +1 @@
+rayon-1.5.0.ebuild
\ No newline at end of file
diff --git a/dev-rust/rayon/rayon-1.5.0.ebuild b/dev-rust/rayon/rayon-1.5.0.ebuild
index ac6bddc..cc14c58 100644
--- a/dev-rust/rayon/rayon-1.5.0.ebuild
+++ b/dev-rust/rayon/rayon-1.5.0.ebuild
@@ -14,6 +14,7 @@
 LICENSE="|| ( MIT Apache-2.0 )"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
+IUSE="cros_host"
 
 DEPEND="
 	=dev-rust/autocfg-1*:=
@@ -22,5 +23,9 @@
 	>=dev-rust/rayon-core-1.9:= <dev-rust/rayon-core-2.0
 "
 
+# Ensure that rayon deps are installed by default in SDK
+# to avoid re-installs at chroot creation time.
+RDEPEND="cros_host? ( ${DEPEND} )"
+
 # could not compile
 RESTRICT="test"
diff --git a/dev-rust/redox_syscall/redox_syscall-0.1.51.ebuild b/dev-rust/redox_syscall/redox_syscall-0.1.51.ebuild
index 072e90c..5c585f2 100644
--- a/dev-rust/redox_syscall/redox_syscall-0.1.51.ebuild
+++ b/dev-rust/redox_syscall/redox_syscall-0.1.51.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/redox_termios/redox_termios-0.1.1.ebuild b/dev-rust/redox_termios/redox_termios-0.1.1.ebuild
deleted file mode 100644
index 072e90c..0000000
--- a/dev-rust/redox_termios/redox_termios-0.1.1.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_RUST_EMPTY_CRATE=1
-
-inherit cros-rust
-
-DESCRIPTION="Empty ${PN} crate"
-HOMEPAGE=""
-
-LICENSE="BSD-Google"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
diff --git a/dev-rust/regex/Manifest b/dev-rust/regex/Manifest
index ef2269b..8d1a942 100644
--- a/dev-rust/regex/Manifest
+++ b/dev-rust/regex/Manifest
@@ -1,2 +1 @@
-DIST regex-1.5.3.crate 236506 BLAKE2B 01ad8383c9a376b5d5464e31a6a74f5a35b36bd81fc4f31b3b0e4c7b62b1a6509b81e89d8daf9ad2ee607dfef8453a7d102ac1a3edfc67d4eedd7eef3acbfd22 SHA512 e8d1b009d093f7932894c9701947086867c24180dc4674bdee7acc19bb42fdd6554630b5960dcdeaea3e8a6d87358a3e4ac3e83b86c77842878d8487f1f1a61d
-DIST regex-1.5.4.crate 236581 BLAKE2B 6efaf69d1a99dc3a2e04b2d1a96b036f631e9a0ad0d3aa57263febd47f7ec12765526f06f9c52a5497bf0d9b455f1d1b39e011adc4c28530c44b65c8a453efc0 SHA512 1a9208358c4ab87c19ec91bcf5c1e35dede46f3a0c0097061b7b53fa77a1e5ad38090d243aab274956f09c491e5fbe3b3b35a91db079b82a2dde2fd9fbad4c19
+DIST regex-1.5.5.crate 238119 BLAKE2B 175cec668da4321930a070993feb1671e14348b78e8b432f9fa25afd764863ff233b0d1d8931951ff99a3b5bc2e18774f68a6c0a4e31125ffcdb990b5b1b009c SHA512 a5873edc75a64f03be77151c318bc90c7dff565f838d811f5973ebca2e86247efd58830b0a8ba41e372f5a72f5402d93873f8d34c36481fa4359874b2fa5d571
diff --git a/dev-rust/regex/regex-1.5.3.ebuild b/dev-rust/regex/regex-1.5.3.ebuild
deleted file mode 100644
index 8ad739c..0000000
--- a/dev-rust/regex/regex-1.5.3.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="An implementation of regular expressions for Rust. This implementation uses
-finite automata and guarantees linear time matching on all inputs."
-HOMEPAGE="https://github.com/rust-lang/regex"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/aho-corasick-0.7.18:= <dev-rust/aho-corasick-0.8.0
-	>=dev-rust/memchr-2.4.0:= <dev-rust/memchr-3.0.0
-	>=dev-rust/regex-syntax-0.6.25:= <dev-rust/regex-syntax-0.7.0
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
-
-# error: could not compile `regex`
-RESTRICT="test"
diff --git a/dev-rust/regex/regex-1.5.4.ebuild b/dev-rust/regex/regex-1.5.4.ebuild
deleted file mode 100644
index 8ad739c..0000000
--- a/dev-rust/regex/regex-1.5.4.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="An implementation of regular expressions for Rust. This implementation uses
-finite automata and guarantees linear time matching on all inputs."
-HOMEPAGE="https://github.com/rust-lang/regex"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/aho-corasick-0.7.18:= <dev-rust/aho-corasick-0.8.0
-	>=dev-rust/memchr-2.4.0:= <dev-rust/memchr-3.0.0
-	>=dev-rust/regex-syntax-0.6.25:= <dev-rust/regex-syntax-0.7.0
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
-
-# error: could not compile `regex`
-RESTRICT="test"
diff --git a/dev-rust/regex/regex-1.5.5.ebuild b/dev-rust/regex/regex-1.5.5.ebuild
new file mode 100644
index 0000000..80e2f04
--- /dev/null
+++ b/dev-rust/regex/regex-1.5.5.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='An implementation of regular expressions for Rust. This implementation uses
+finite automata and guarantees linear time matching on all inputs.'
+HOMEPAGE='https://github.com/rust-lang/regex'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/aho-corasick-0.7.18 <dev-rust/aho-corasick-0.8.0_alpha:=
+	>=dev-rust/memchr-2.4.0 <dev-rust/memchr-3.0.0_alpha:=
+	>=dev-rust/regex-syntax-0.6.25 <dev-rust/regex-syntax-0.7.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py.
diff --git a/dev-rust/remain/remain-0.2.1.ebuild b/dev-rust/remain/remain-0.2.1.ebuild
index b2875f3..0f6edfb 100644
--- a/dev-rust/remain/remain-0.2.1.ebuild
+++ b/dev-rust/remain/remain-0.2.1.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_REMOVE_DEV_DEPS=1
 
diff --git a/dev-rust/remove_dir_all/remove_dir_all-0.5.1.ebuild b/dev-rust/remove_dir_all/remove_dir_all-0.5.1.ebuild
index 5582f35..1d45979 100644
--- a/dev-rust/remove_dir_all/remove_dir_all-0.5.1.ebuild
+++ b/dev-rust/remove_dir_all/remove_dir_all-0.5.1.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/reqwest/OWNERS b/dev-rust/reqwest/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/reqwest/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/reqwest/reqwest-0.11.10.ebuild b/dev-rust/reqwest/reqwest-0.11.10.ebuild
new file mode 100644
index 0000000..173c4c9
--- /dev/null
+++ b/dev-rust/reqwest/reqwest-0.11.10.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+CROS_RUST_EMPTY_CRATE_FEATURES=( blocking json default-tls rustls-tls )
+
+inherit cros-rust
+
+DESCRIPTION="Empty ${PN} crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
diff --git a/dev-rust/rgb/rgb-0.8.25.ebuild b/dev-rust/rgb/rgb-0.8.25.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/rgb/rgb-0.8.25.ebuild
+++ b/dev-rust/rgb/rgb-0.8.25.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/ring/ring-0.14.6.ebuild b/dev-rust/ring/ring-0.14.6.ebuild
deleted file mode 100644
index 072e90c..0000000
--- a/dev-rust/ring/ring-0.14.6.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_RUST_EMPTY_CRATE=1
-
-inherit cros-rust
-
-DESCRIPTION="Empty ${PN} crate"
-HOMEPAGE=""
-
-LICENSE="BSD-Google"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
diff --git a/dev-rust/riscv/riscv-0.6.0.ebuild b/dev-rust/riscv/riscv-0.6.0.ebuild
index 8e4bf7c..1b672e0 100644
--- a/dev-rust/riscv/riscv-0.6.0.ebuild
+++ b/dev-rust/riscv/riscv-0.6.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2021 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/roff/Manifest b/dev-rust/roff/Manifest
new file mode 100644
index 0000000..9b4e654
--- /dev/null
+++ b/dev-rust/roff/Manifest
@@ -0,0 +1 @@
+DIST roff-0.2.1.crate 10605 BLAKE2B 34d66bc4f4eb828523c464cd75632171277f6b1901916f2337013f8daf39915e1b7ee9154e18413145c9ae103917e0f34c2b6261ba16b3e969a2cd078a372c61 SHA512 001cbc21c5c8ca4362f91fb237b867966653e6f49fa20be1a6c3d3e8d9f2cca66c474eb0b59ecff1527c771554e8503cef94181295dcb007fbc1a50dab49ce0f
diff --git a/dev-rust/roff/OWNERS b/dev-rust/roff/OWNERS
new file mode 100644
index 0000000..f619b35
--- /dev/null
+++ b/dev-rust/roff/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/audio/OWNERS.all
diff --git a/dev-rust/roff/roff-0.2.1.ebuild b/dev-rust/roff/roff-0.2.1.ebuild
new file mode 100644
index 0000000..4768285
--- /dev/null
+++ b/dev-rust/roff/roff-0.2.1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='ROFF (man page format) generation library'
+HOMEPAGE='https://github.com/rust-cli/roff-rs'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/rtic-core/Manifest b/dev-rust/rtic-core/Manifest
index 0dca32c..79b97ca 100644
--- a/dev-rust/rtic-core/Manifest
+++ b/dev-rust/rtic-core/Manifest
@@ -1 +1 @@
-DIST rtic-core-0.3.1.crate 8268 BLAKE2B 85e7b7f80104fbd0aa88947194742d8b47584a35437c49d9ed6c80aee2a035b7f146be694f7b99e767f2fd4b2a3936066bac452faee8a03674d893f4bba3b043 SHA512 5b585ffe90aecc0f2f9aec402f4577fd34b47d4ce00ffaf8a0ea83d36ca500b8842420c8701624d19f8bd63327d0aa1bf97015420530c3f5489a7f1eb46d5f89
+DIST rtic-core-1.0.0.crate 8972 BLAKE2B 0c8424609ec8bcdf7104bec502d73f4ffa3decee15988660786e9ba0443f972ff934c2fc4b8b56e9cb94a13e2a713499cfa381559c945e8e9383e7183c9c8b05 SHA512 ab50f1fdb2a0c28055fa870747b0d317efa414ad815509c3018d6e875b44225ac0c29d280c1826e55525c29be5828e0517985b9b1721e9545c0b4e72b91fc0d8
diff --git a/dev-rust/rtic-core/rtic-core-0.3.1.ebuild b/dev-rust/rtic-core/rtic-core-0.3.1.ebuild
deleted file mode 100644
index 1a161a3..0000000
--- a/dev-rust/rtic-core/rtic-core-0.3.1.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION='Core abstractions of the Real-Time Interrupt-driven Concurrency framework'
-HOMEPAGE='https://crates.io/crates/rtic-core'
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-
-# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/rtic-core/rtic-core-1.0.0.ebuild b/dev-rust/rtic-core/rtic-core-1.0.0.ebuild
new file mode 100644
index 0000000..073701b
--- /dev/null
+++ b/dev-rust/rtic-core/rtic-core-1.0.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Core abstractions of the Real-Time Interrupt-driven Concurrency framework'
+HOMEPAGE='https://crates.io/crates/rtic-core'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/rtic-monotonic/Manifest b/dev-rust/rtic-monotonic/Manifest
new file mode 100644
index 0000000..81d6a3e
--- /dev/null
+++ b/dev-rust/rtic-monotonic/Manifest
@@ -0,0 +1 @@
+DIST rtic-monotonic-1.0.0.crate 8246 BLAKE2B 8683603f013b45926205767cf2c533b7992ae1e011aa5893016173948b06f9bf588c93bef0ba6d880e37d121f43a1d6e78e9f0a7c3baacb7fffd2e36faaa44c6 SHA512 b6aef955e69decb83d67aa7df6d8b7e7695bbc55cb0340d7f1ac6b657fea375fe5ba44f2dcb85b824c519c13d2cf0c1b9510f330c767e91d887e21ac2b2b9c26
diff --git a/dev-rust/serialport/OWNERS b/dev-rust/rtic-monotonic/OWNERS
similarity index 100%
copy from dev-rust/serialport/OWNERS
copy to dev-rust/rtic-monotonic/OWNERS
diff --git a/dev-rust/rtic-monotonic/rtic-monotonic-1.0.0.ebuild b/dev-rust/rtic-monotonic/rtic-monotonic-1.0.0.ebuild
new file mode 100644
index 0000000..f5344c9b
--- /dev/null
+++ b/dev-rust/rtic-monotonic/rtic-monotonic-1.0.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Core abstractions of the Real-Time Interrupt-driven Concurrency Monotonic timers'
+HOMEPAGE='https://crates.io/crates/rtic-monotonic'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/rtic-syntax/Manifest b/dev-rust/rtic-syntax/Manifest
index 9803439..a815b8b 100644
--- a/dev-rust/rtic-syntax/Manifest
+++ b/dev-rust/rtic-syntax/Manifest
@@ -1 +1,2 @@
 DIST rtic-syntax-0.4.0.crate 34222 BLAKE2B 03540b523191364e92fc4927ecfdea1981feaec9247eb8bdd7258ee4617f7cab875e526ca2b2cde61a30ad1eba2e41932d557035797c124665e26b28e7201a28 SHA512 893dccc87a37360c7ca09106ccbed430c1a215d58043942d4c440dba66d481ea41ceb048d50b6d2c858a4060dc1d18329f0b4328051a6aa064d8226988c63cf1
+DIST rtic-syntax-1.0.2.crate 32538 BLAKE2B cf989fcf905b16e9ddc8ced1712dd9da112812c6a96b02d368d36b72ddd04f098d1d3ba2246625e6c2a52aa6f616b25c977515750455a427a6b364b5fa8e0558 SHA512 8cd903f4d574afc37415292299b6fcb2dcd3b0a6050e7452821e7177d8e22cde64171c7cea8f902882075744813dccd1d20dfd5cbd99c02f7a34b2d154e7ffa3
diff --git a/dev-rust/rtic-syntax/rtic-syntax-1.0.2.ebuild b/dev-rust/rtic-syntax/rtic-syntax-1.0.2.ebuild
new file mode 100644
index 0000000..952fccc
--- /dev/null
+++ b/dev-rust/rtic-syntax/rtic-syntax-1.0.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='The Real-Time Interrupt-driven Concurrency (RTIC) meta language'
+HOMEPAGE='https://crates.io/crates/rtic-syntax'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/indexmap-1.0.2 <dev-rust/indexmap-2.0.0_alpha:=
+	=dev-rust/proc-macro2-1*:=
+	=dev-rust/quote-1*:=
+	>=dev-rust/syn-1.0.12 <dev-rust/syn-2.0.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/rusqlite/Manifest b/dev-rust/rusqlite/Manifest
deleted file mode 100644
index 6f6c196..0000000
--- a/dev-rust/rusqlite/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST rusqlite-0.19.0.crate 97998 BLAKE2B 5d4f9e3cf8a3b1b860f22edda44e9079d5ba9d94dace1a2ef9dc73a5c140e5b18335aab7be9be3ae03b401d22ce774be6162ef424e8ac11eb09a85e2f943d4db SHA512 9788e63c61f08bbabd05404a5c9b46acc8a023008c459dad4ba9a3c63aaa19d6c03995022ecbea9be9038f78b8b294a86b0df0e6bb87868b0efd93ccfe18e10c
diff --git a/dev-rust/rusqlite/rusqlite-0.19.0.ebuild b/dev-rust/rusqlite/rusqlite-0.19.0.ebuild
deleted file mode 100644
index dc29918..0000000
--- a/dev-rust/rusqlite/rusqlite-0.19.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="Rusqlite is an ergonomic wrapper for using SQLite from Rust"
-HOMEPAGE="https://github.com/jgallagher/rusqlite"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/bitflags-1*:=
-	=dev-rust/fallible-iterator-0.2*:=
-	=dev-rust/fallible-streaming-iterator-0.1*:=
-	=dev-rust/libsqlite3-sys-0.15*:=
-	=dev-rust/lru-cache-0.1*:=
-	=dev-rust/memchr-2.2*:=
-	=dev-rust/time-0.1*:=
-	=dev-rust/byteorder-1.2*:=
-	=dev-rust/chrono-0.4*:=
-	=dev-rust/csv-1*:=
-	=dev-rust/lazy_static-1*:=
-	=dev-rust/serde_json-1*:=
-	=dev-rust/url-1.7*:=
-	=dev-rust/uuid-0.7*:=
-	=dev-rust/regex-1*:=
-	=dev-rust/tempdir-0.3*:=
-	=dev-rust/unicase-2.4*:=
-	=dev-rust/uuid-0.7*:=
-"
diff --git a/dev-rust/rustc-demangle-capi/Manifest b/dev-rust/rustc-demangle-capi/Manifest
new file mode 100644
index 0000000..94eb2ef
--- /dev/null
+++ b/dev-rust/rustc-demangle-capi/Manifest
@@ -0,0 +1 @@
+DIST rustc-demangle-capi-0.1.0.crate 1792 BLAKE2B 7bab7990e48b141a40b23c46edc4040cca4a4d7b5bfdd1d1643869facf85ca42aa868e19cc1c9eace127ea358579ba8116142134ec7069eccbdeda84591d0fec SHA512 7639cc39670235c01909b51e303aa6cf868ad7ebe905cea4b6558292fab4dba7f67a13f1d8f4d58f1793b7e771265ec8ac6cb0b6eb6e448e84c43be0a39e89f1
diff --git a/dev-rust/rustc-demangle-capi/OWNERS b/dev-rust/rustc-demangle-capi/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-rust/rustc-demangle-capi/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-rust/rustc-demangle-capi/rustc-demangle-capi-0.1.0.ebuild b/dev-rust/rustc-demangle-capi/rustc-demangle-capi-0.1.0.ebuild
new file mode 100644
index 0000000..483cf77
--- /dev/null
+++ b/dev-rust/rustc-demangle-capi/rustc-demangle-capi-0.1.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='C API for the "rustc-demangle" crate'
+HOMEPAGE='https://crates.io/crates/rustc-demangle-capi'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="0/${PVR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/rustc-demangle-0.1.16 <dev-rust/rustc-demangle-0.2.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py, with modifications
+# in src_compile and src_install.
+#
+# This adds the capi rustc-demangle crate. While it was generated by
+# cargo2ebuild, this crate exists solely to give us C headers + a C-compatible
+# static library to work with, so we need to have custom src_install/src_compile
+# bits here.
+
+src_compile() {
+	# Force the build, since we don't want to install the sources for this.
+	# Only the C-related artifacts are relevant.
+	ecargo_build
+}
+
+src_install() {
+	local build_dir="$(cros-rust_get_build_dir)"
+	dolib.a "${build_dir}/librustc_demangle.a"
+	doheader "${S}/include/rustc_demangle.h"
+}
diff --git a/dev-rust/rustc-demangle/Manifest b/dev-rust/rustc-demangle/Manifest
index fd262ee..5ad3ff9 100644
--- a/dev-rust/rustc-demangle/Manifest
+++ b/dev-rust/rustc-demangle/Manifest
@@ -1 +1 @@
-DIST rustc-demangle-0.1.4.crate 9438 BLAKE2B 695a8e529090ee9293a2d01339a0f0d4011af010f40964f67ce862dd93c71643e468f4d3a2fbc83430a8ad775a824ae56cbdf59abd4808c7696f76446518f91d SHA512 928cf5537343ad3bba3aff4b09dc51921b6823dc7a450422b363cfcb84ba65e19393dbcf67657197cf96fdb4b9b0195f42b3973473f51085610c90c8b49c4e9a
+DIST rustc-demangle-0.1.21.crate 27920 BLAKE2B 73ada923b9b293c5a9893f86fda0586139afbb7d56894cabbd70612d1fb0330a9e491d5143fe3498a0c8d3e1a3f8e63c14b20865926e4c831915592486ae32d0 SHA512 4031b26863a726cc6d3398b48682e0f0f9e5665abf20a5d35343a904ebd7c0d3752dcdd3a049b2bfa3e2a303214dc39a2980700bcc64464f7029be3c7f34727c
diff --git a/dev-rust/rustc-demangle/rustc-demangle-0.1.21.ebuild b/dev-rust/rustc-demangle/rustc-demangle-0.1.21.ebuild
new file mode 100644
index 0000000..1391f80
--- /dev/null
+++ b/dev-rust/rustc-demangle/rustc-demangle-0.1.21.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Rust compiler symbol demangling.'
+HOMEPAGE='https://github.com/alexcrichton/rustc-demangle'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:=
+	=dev-rust/rustc-std-workspace-core-1*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/rustc-demangle/rustc-demangle-0.1.4.ebuild b/dev-rust/rustc-demangle/rustc-demangle-0.1.4.ebuild
deleted file mode 100644
index 134713e..0000000
--- a/dev-rust/rustc-demangle/rustc-demangle-0.1.4.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cros-rust
-
-DESCRIPTION="Symbol demangling for Rust"
-HOMEPAGE="https://github.com/alexcrichton/rustc-demangle"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
diff --git a/dev-rust/rustc-serialize/rustc-serialize-0.3.24.ebuild b/dev-rust/rustc-serialize/rustc-serialize-0.3.24.ebuild
index 6f31839..9f9829e 100644
--- a/dev-rust/rustc-serialize/rustc-serialize-0.3.24.ebuild
+++ b/dev-rust/rustc-serialize/rustc-serialize-0.3.24.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2018 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/rustc-std-workspace-alloc/rustc-std-workspace-alloc-1.0.0.ebuild b/dev-rust/rustc-std-workspace-alloc/rustc-std-workspace-alloc-1.0.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/rustc-std-workspace-alloc/rustc-std-workspace-alloc-1.0.0.ebuild
+++ b/dev-rust/rustc-std-workspace-alloc/rustc-std-workspace-alloc-1.0.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/rustc-std-workspace-core/rustc-std-workspace-core-1.0.0.ebuild b/dev-rust/rustc-std-workspace-core/rustc-std-workspace-core-1.0.0.ebuild
index a717e7e..6f72778 100644
--- a/dev-rust/rustc-std-workspace-core/rustc-std-workspace-core-1.0.0.ebuild
+++ b/dev-rust/rustc-std-workspace-core/rustc-std-workspace-core-1.0.0.ebuild
@@ -1,14 +1,14 @@
 # Copyright 2018 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
 inherit cros-rust
 
-CRIPTION="Empty ${PN} crate"
+DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/rustc-std-workspace-std/rustc-std-workspace-std-1.0.0.ebuild b/dev-rust/rustc-std-workspace-std/rustc-std-workspace-std-1.0.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/rustc-std-workspace-std/rustc-std-workspace-std-1.0.0.ebuild
+++ b/dev-rust/rustc-std-workspace-std/rustc-std-workspace-std-1.0.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/rustc-test/rustc-test-0.3.0.ebuild b/dev-rust/rustc-test/rustc-test-0.3.0.ebuild
index 072e90c..5c585f2 100644
--- a/dev-rust/rustc-test/rustc-test-0.3.0.ebuild
+++ b/dev-rust/rustc-test/rustc-test-0.3.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/rustc_version/Manifest b/dev-rust/rustc_version/Manifest
index 443e2e5..881f46a 100644
--- a/dev-rust/rustc_version/Manifest
+++ b/dev-rust/rustc_version/Manifest
@@ -1 +1,2 @@
 DIST rustc_version-0.2.3.crate 10210 BLAKE2B 1f707d1c66d907c9b1d2ef6d0bc6bc9c89990a7b922a6dfc2041865940ff3854c4d0e1daf558279fd5871af5818d4000457a32c949104f46538312fbf730443b SHA512 01fa7a758dcaa4f15c18628a0d5ee5adde5ade96a8b7dde0908e39e27b290d1e9adb20d44e2adcd379341d2d4a0c34a80dc12553a3bb4efa4758988f28989779
+DIST rustc_version-0.4.0.crate 12175 BLAKE2B 6fda2ce03eab45d7193fa0d70175cc7ffb56b7be85fb1314092bdcfd3948ea145420569ace3a47218a4a2a6e44a818862cea6dd8cfb945475496f63b591c29da SHA512 f66da7c6efe431db06cd01180d84ba67fcd38f8cd6ef693762957c00ccc2211f23c08079d7f184776e08f28d2d6ca3bdb5f5016f7de245c6193d4722891ba1db
diff --git a/dev-rust/serialport/OWNERS b/dev-rust/rustc_version/OWNERS
similarity index 100%
copy from dev-rust/serialport/OWNERS
copy to dev-rust/rustc_version/OWNERS
diff --git a/dev-rust/rustc_version/rustc_version-0.2.3.ebuild b/dev-rust/rustc_version/rustc_version-0.2.3.ebuild
index 23c080a..4d02b39 100644
--- a/dev-rust/rustc_version/rustc_version-0.2.3.ebuild
+++ b/dev-rust/rustc_version/rustc_version-0.2.3.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/rustc_version/rustc_version-0.4.0.ebuild b/dev-rust/rustc_version/rustc_version-0.4.0.ebuild
new file mode 100644
index 0000000..2244185
--- /dev/null
+++ b/dev-rust/rustc_version/rustc_version-0.4.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='A library for querying the version of a installed rustc compiler'
+HOMEPAGE='https://crates.io/crates/rustc_version'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/semver-1*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/rustyline-derive/Manifest b/dev-rust/rustyline-derive/Manifest
new file mode 100644
index 0000000..d4525ec
--- /dev/null
+++ b/dev-rust/rustyline-derive/Manifest
@@ -0,0 +1 @@
+DIST rustyline-derive-0.6.0.crate 1409 BLAKE2B 55a8c7096ad85b18c0151731ecf764d5d00498d3287db7f12ec8842f4a022d54297e6536353e729238b4fa9b8c4eb253c0804094ffbfff9c96c1a48868584584 SHA512 afcf2784a869e0db596718489b33dd6e8c6415c902a6c6e1caea71ead3eba829bbe4093857920706c1a0c25d643245c4080be4e4d6eabc4e3f6c8bcc18669caf
diff --git a/dev-rust/rustyline-derive/OWNERS b/dev-rust/rustyline-derive/OWNERS
new file mode 100644
index 0000000..55fe2c8
--- /dev/null
+++ b/dev-rust/rustyline-derive/OWNERS
@@ -0,0 +1,2 @@
+samjaco@google.com
+ndureus@google.com
diff --git a/dev-rust/rustyline-derive/rustyline-derive-0.6.0.ebuild b/dev-rust/rustyline-derive/rustyline-derive-0.6.0.ebuild
new file mode 100644
index 0000000..d2f355a
--- /dev/null
+++ b/dev-rust/rustyline-derive/rustyline-derive-0.6.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Rustyline macros implementation of #[derive(Completer, Helper, Hinter, Highlighter)]'
+HOMEPAGE='https://crates.io/crates/rustyline-derive'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/quote-1*:=
+	=dev-rust/syn-1*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/rustyline/Manifest b/dev-rust/rustyline/Manifest
index 1f127bc0..1c7832e 100644
--- a/dev-rust/rustyline/Manifest
+++ b/dev-rust/rustyline/Manifest
@@ -1,2 +1 @@
-DIST rustyline-7.0.0.crate 88727 BLAKE2B 73e0a1992ec1067fd249ea241361e25b708413d5cd40c95a2d3158a55561b6a10493fa8ffe0ef4ec51959f09a19014221cff5ed8be68ff7cd34ce724eee0c168 SHA512 ea888702e6a76710ca00573d1a2e6ac30b508197128e64a974022b6ac23a46a4dea91a0fb9759bc191663560fa6a7a4225856b01c322168e94b14797cfe11a17
 DIST rustyline-9.1.1.crate 100503 BLAKE2B a6de06b241849a95eedcc815c19514e0dbca798ed6c25776380b462876a2189a7e47b0eef2946e3503f3be354c4648956485577c7b6d51d1c335c17e3ea2bc40 SHA512 a58f932183db8cc796928a3b6035c359832a97894d6baef9e34da80ce4d3a53c9837583e0f901c78a287fcab59c6dcf62c9f96b2380e2de235f700d450cab43e
diff --git a/dev-rust/rustyline/files/rustyline-7.0.0-rm-optional-features.patch b/dev-rust/rustyline/files/rustyline-7.0.0-rm-optional-features.patch
deleted file mode 100644
index 3f5bc9a..0000000
--- a/dev-rust/rustyline/files/rustyline-7.0.0-rm-optional-features.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Remove optional features so their dependencies are not needed.
-diff --git a/Cargo.toml b/Cargo.toml
-index f109bf3..7f73bc3 100644
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -33,10 +33,6 @@ version = "1.2"
- [dependencies.cfg-if]
- version = "1.0"
- 
--[dependencies.dirs]
--version = "3.0"
--optional = true
--
- [dependencies.fs2]
- version = "0.4"
- 
-@@ -54,25 +50,12 @@ version = "1.0"
- 
- [dependencies.unicode-width]
- version = "0.1"
--[features]
--default = ["with-dirs"]
--with-dirs = ["dirs"]
--with-fuzzy = ["skim"]
- [target."cfg(unix)".dependencies.nix]
- version = "0.19"
- 
--[target."cfg(unix)".dependencies.skim]
--version = "0.7"
--optional = true
--
- [target."cfg(unix)".dependencies.utf8parse]
- version = "0.2"
--[target."cfg(windows)".dependencies.scopeguard]
--version = "1.1"
- 
--[target."cfg(windows)".dependencies.winapi]
--version = "0.3"
--features = ["consoleapi", "handleapi", "minwindef", "processenv", "winbase", "wincon", "winuser"]
- [badges.github-actions]
- repository = "kkawakam/rustyline"
- workflow = "Rust"
- 
diff --git a/dev-rust/rustyline/files/rustyline-7.0.0-upstream-fix-ctrl-right-binding.patch b/dev-rust/rustyline/files/rustyline-7.0.0-upstream-fix-ctrl-right-binding.patch
deleted file mode 100644
index c37ba3e..0000000
--- a/dev-rust/rustyline/files/rustyline-7.0.0-upstream-fix-ctrl-right-binding.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Fix Ctrl-Right binding
-
-Author: gwenn <gtreguier@gmail.com>
-
-Upstream commit:
-https://github.com/kkawakam/rustyline/commit/d66f5d9e8f74d86dd668093776ad9960ab1f0ab8
-diff --git a/src/keymap.rs b/src/keymap.rs
-index ba8181bb5..35b047ffc 100644
---- a/src/keymap.rs
-+++ b/src/keymap.rs
-@@ -560,14 +560,14 @@ impl InputState {
-                 }
-             }
-             E(K::Char('C'), M::ALT) | E(K::Char('c'), M::ALT) => Cmd::CapitalizeWord,
--            E(K::Char('D'), M::ALT) | E(K::Char('d'), M::ALT) | E(K::Right, M::CTRL) => {
-+            E(K::Char('D'), M::ALT) | E(K::Char('d'), M::ALT) => {
-                 if positive {
-                     Cmd::Kill(Movement::ForwardWord(n, At::AfterEnd, Word::Emacs))
-                 } else {
-                     Cmd::Kill(Movement::BackwardWord(n, Word::Emacs))
-                 }
-             }
--            E(K::Char('F'), M::ALT) | E(K::Char('f'), M::ALT) => {
-+            E(K::Char('F'), M::ALT) | E(K::Char('f'), M::ALT) | E(K::Right, M::CTRL) => {
-                 if positive {
-                     Cmd::Move(Movement::ForwardWord(n, At::AfterEnd, Word::Emacs))
-                 } else {
diff --git a/dev-rust/rustyline/rustyline-7.0.0-r1.ebuild b/dev-rust/rustyline/rustyline-7.0.0-r1.ebuild
deleted file mode 100644
index 2a3114a..0000000
--- a/dev-rust/rustyline/rustyline-7.0.0-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="Rustyline, a readline implementation based on Antirez's Linenoise."
-HOMEPAGE="https://docs.rs/rustyline"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-${PV}-rm-optional-features.patch"
-	"${FILESDIR}/${PN}-${PV}-upstream-fix-ctrl-right-binding.patch"
-)
-
-DEPEND="
-	>=dev-rust/bitflags-1.2.0:= <dev-rust/bitflags-2.0.0
-	=dev-rust/fs2-0.4*:=
-	=dev-rust/libc-0.2*:=
-	=dev-rust/log-0.4*:=
-	=dev-rust/memchr-2*:=
-	=dev-rust/nix-0.19*:=
-	=dev-rust/unicode-segmentation-1*:=
-	=dev-rust/unicode-width-0.1*:=
-	=dev-rust/utf8parse-0.2*:=
-"
-
-# error: could not compile `rustyline`
-RESTRICT="test"
diff --git a/dev-rust/s9/s9-0.1.0-r40.ebuild b/dev-rust/s9/s9-0.1.0-r40.ebuild
deleted file mode 100644
index 774180e..0000000
--- a/dev-rust/s9/s9-0.1.0-r40.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="449229a4ea442ad787210adb9e33a551bf0b721c"
-CROS_WORKON_TREE="9e30b8b04984f1025a63b378c49bf397551f25dd"
-CROS_RUST_SUBDIR="vm_tools/9s"
-
-CROS_WORKON_LOCALNAME="../platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
-
-CROS_RUST_CRATE_NAME="p9s"
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Server binary for the 9P file system protocol"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/9s/"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="test"
-
-RDEPEND="
-	!<chromeos-base/crosvm-0.0.1-r260
-	!dev-rust/9s
-"
-DEPEND="
-	=dev-rust/getopts-0.2*:=
-	=dev-rust/libc-0.2*:=
-	dev-rust/libchromeos:=
-	=dev-rust/log-0.4*:=
-	dev-rust/p9:=
-	dev-rust/sys_util:=
-"
-
-src_install() {
-	newbin "$(cros-rust_get_build_dir)/p9s" 9s
-
-	insinto /usr/share/policy
-	newins "seccomp/9s-seccomp-${ARCH}.policy" 9s-seccomp.policy
-}
diff --git a/dev-rust/s9/s9-0.1.0-r42.ebuild b/dev-rust/s9/s9-0.1.0-r42.ebuild
new file mode 100644
index 0000000..37ef181
--- /dev/null
+++ b/dev-rust/s9/s9-0.1.0-r42.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="d9d43a0414900ef0ac91d61ad9f0e9da7729787b"
+CROS_WORKON_TREE="af889731f76a5bd8b00f4ea9fac63540c129bd4b"
+CROS_RUST_SUBDIR="vm_tools/9s"
+
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
+
+CROS_RUST_CRATE_NAME="p9s"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Server binary for the 9P file system protocol"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/9s/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="test"
+
+RDEPEND="
+	!<chromeos-base/crosvm-0.0.1-r260
+	!dev-rust/9s
+"
+DEPEND="
+	=dev-rust/getopts-0.2*:=
+	=dev-rust/libc-0.2*:=
+	dev-rust/libchromeos:=
+	=dev-rust/log-0.4*:=
+	dev-rust/p9:=
+	dev-rust/sys_util:=
+"
+
+src_install() {
+	newbin "$(cros-rust_get_build_dir)/p9s" 9s
+
+	insinto /usr/share/policy
+	newins "seccomp/9s-seccomp-${ARCH}.policy" 9s-seccomp.policy
+}
diff --git a/dev-rust/schannel/Manifest b/dev-rust/schannel/Manifest
deleted file mode 100644
index a5f5327..0000000
--- a/dev-rust/schannel/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST schannel-0.1.15.crate 38901 BLAKE2B 23cbec1c786cca66e70cf3e238840258101a3f023edfcaef0cb66ad62a8d436e88e1f26a08d0eb544b5efec2b21e79ad9fcf84b521bbbfccfcca8fe040fe3ea2 SHA512 9c6f3cf370b76b8fd37cd26a5dfd686b532c30d47ef477548fa6994195dcfa053edcc2e8a395736768d5815b9f18db175be2e9d099767dd4ff4d9a8a3157675b
diff --git a/dev-rust/schannel/schannel-0.1.15.ebuild b/dev-rust/schannel/schannel-0.1.15.ebuild
deleted file mode 100644
index 6f8c474d..0000000
--- a/dev-rust/schannel/schannel-0.1.15.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cros-rust
-
-DESCRIPTION="Rust bindings to the Windows SChannel APIs providing TLS client and server functionality."
-HOMEPAGE="https://github.com/steffengy/schannel-rs"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/lazy_static-1*:=
-	=dev-rust/winapi-0.3*:=
-"
diff --git a/dev-rust/scoped_threadpool/scoped_threadpool-0.1.0.ebuild b/dev-rust/scoped_threadpool/scoped_threadpool-0.1.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/scoped_threadpool/scoped_threadpool-0.1.0.ebuild
+++ b/dev-rust/scoped_threadpool/scoped_threadpool-0.1.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/security-framework-sys/security-framework-sys-0.3.3.ebuild b/dev-rust/security-framework-sys/security-framework-sys-0.3.3.ebuild
index c319990..d01ffa9 100644
--- a/dev-rust/security-framework-sys/security-framework-sys-0.3.3.ebuild
+++ b/dev-rust/security-framework-sys/security-framework-sys-0.3.3.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2018 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="|| ( MIT Apache-2.0 )"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/security-framework/security-framework-0.3.3.ebuild b/dev-rust/security-framework/security-framework-0.3.3.ebuild
deleted file mode 100644
index c319990..0000000
--- a/dev-rust/security-framework/security-framework-0.3.3.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_RUST_EMPTY_CRATE=1
-
-inherit cros-rust
-
-DESCRIPTION="Empty ${PN} crate"
-HOMEPAGE=""
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
diff --git a/dev-rust/semver-parser/semver-parser-0.7.0.ebuild b/dev-rust/semver-parser/semver-parser-0.7.0.ebuild
index 13cf0e2..af900f2 100644
--- a/dev-rust/semver-parser/semver-parser-0.7.0.ebuild
+++ b/dev-rust/semver-parser/semver-parser-0.7.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/semver/semver-0.9.0.ebuild b/dev-rust/semver/semver-0.9.0.ebuild
index 7db4b8d..239fdf6 100644
--- a/dev-rust/semver/semver-0.9.0.ebuild
+++ b/dev-rust/semver/semver-0.9.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/serde/Manifest b/dev-rust/serde/Manifest
index 615f574..5b22480 100644
--- a/dev-rust/serde/Manifest
+++ b/dev-rust/serde/Manifest
@@ -1 +1,2 @@
 DIST serde-1.0.125.crate 75144 BLAKE2B 0823f4cec3704ce5232c266fcb69323dbcd93d2d15712abcc8cc61a2d123d662ae8153a32b3723324ea55a40f2b9101ed654cced45c500fcf399b9d7ccc113b8 SHA512 ed2819d678e7405e2d8a0cc1b43540abf2ad8871eeda4985af5e37016a42b938d7429c4e865cec2ae5364cc7fbe1052a5a46ea51b42c3ed5b9c7c1acb596ac3b
+DIST serde-1.0.136.crate 76158 BLAKE2B 44603c8eede428dce4211350497a443385ff0ddb0b43799170411110fd8908a56e9df801c72695723f4fcff5eb33384bcf92ef58eecb9c4924d5d9cc30e2f6c9 SHA512 d043ccfd6a1dc9a114a1a95530a63ed9342688d31d3aadeec600a9a9d47aad328be35b6f80080400ea4bb3f820ddd18cc5ce1e6ea1db28e02752962061e71019
diff --git a/dev-rust/serde/serde-0.8.23.ebuild b/dev-rust/serde/serde-0.8.23.ebuild
index 032fa9f..5c585f2 100644
--- a/dev-rust/serde/serde-0.8.23.ebuild
+++ b/dev-rust/serde/serde-0.8.23.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="|| ( MIT Apache-2.0 )"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/serde/serde-1.0.136.ebuild b/dev-rust/serde/serde-1.0.136.ebuild
new file mode 100644
index 0000000..f7f5bac8
--- /dev/null
+++ b/dev-rust/serde/serde-1.0.136.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='A generic serialization/deserialization framework'
+HOMEPAGE='https://serde.rs'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	~dev-rust/serde_derive-1.0.136:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/serde_bytes/serde_bytes-0.10.5.ebuild b/dev-rust/serde_bytes/serde_bytes-0.10.5.ebuild
index 86b77a4..6bae806 100644
--- a/dev-rust/serde_bytes/serde_bytes-0.10.5.ebuild
+++ b/dev-rust/serde_bytes/serde_bytes-0.10.5.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/serde_derive/Manifest b/dev-rust/serde_derive/Manifest
index d0f8739..e1843c9 100644
--- a/dev-rust/serde_derive/Manifest
+++ b/dev-rust/serde_derive/Manifest
@@ -1 +1,2 @@
 DIST serde_derive-1.0.125.crate 54155 BLAKE2B c99e9e806831dccb3ccca20675e11f603a7348c433a641a46cf9a448a7a8b7ee242d0d6110780089b08e88b8f33aef5b75e8b1d25e2e6d242a44e9093b2badfa SHA512 dd4e247c9581b437157f37e355bc3335a3927417920acce72e73d6fe05a80e19fb3160c72abede7842e7d54749c33a94335fe9f3468c2f561267b863df368a6f
+DIST serde_derive-1.0.136.crate 54776 BLAKE2B 687524001bf61c42266d91a7263661ab80aa9556e570975a39bdf56a5cb1a2ec3ad1baf22dff586c7ad4ff66d035555d0a9d4a431c49402dcad6d79d0ef40cee SHA512 92c99455a5a9ac0fe45eb6ff1ad3ea55db860031fb912ace3755d1d2aad0dd880b2d83add4d41872823bd60557ebe1cb36e898bf0ac975b1093caa9819f7c289
diff --git a/dev-rust/serde_derive/serde_derive-1.0.136.ebuild b/dev-rust/serde_derive/serde_derive-1.0.136.ebuild
new file mode 100644
index 0000000..f6f91d8
--- /dev/null
+++ b/dev-rust/serde_derive/serde_derive-1.0.136.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Macros 1.1 implementation of #[derive(Serialize, Deserialize)]'
+HOMEPAGE='https://serde.rs'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/proc-macro2-1*:=
+	=dev-rust/quote-1*:=
+	>=dev-rust/syn-1.0.60 <dev-rust/syn-2.0.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/serde_json/Manifest b/dev-rust/serde_json/Manifest
index 57cbdf3..f91b3b9 100644
--- a/dev-rust/serde_json/Manifest
+++ b/dev-rust/serde_json/Manifest
@@ -1 +1,2 @@
 DIST serde_json-1.0.64.crate 115138 BLAKE2B c61a404db9800cfb4e2ac29d4e287a7c8f388b62407d5e25e07514e2840fdf9c127476db35cb556b56143755c64c26be1c6b1facc7529067b06946ac8f54a573 SHA512 55a45dd4c60fd93d2d9331f6a8eac39fdfece9ddc1aae45ea27e3dfa81352f08c71bf03906ba99d0feb5df8d847b68547ecaa8eb5a2c76011ebbe8d4cd5bfc2d
+DIST serde_json-1.0.79.crate 144451 BLAKE2B d04f8788d3ef0d4854d73232a4f441c1f3a42934442679a91853c311262ac9a4f554240d0c44c69f2e22cdd225a3e4d4751dc928ee5092b4371c198325fca0b3 SHA512 83987c1a7eddc6adf8ae359c30e2db1fea98edabd6dc49bde840c37a56258fa845612e8ae270a7dca4cfbe9a3532dc55028091e14cdf1dd3b1ceea4bb86a2dd7
diff --git a/dev-rust/serde_json/serde_json-0.8.6.ebuild b/dev-rust/serde_json/serde_json-0.8.6.ebuild
index 032fa9f..5c585f2 100644
--- a/dev-rust/serde_json/serde_json-0.8.6.ebuild
+++ b/dev-rust/serde_json/serde_json-0.8.6.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="|| ( MIT Apache-2.0 )"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/serde_json/serde_json-1.0.79.ebuild b/dev-rust/serde_json/serde_json-1.0.79.ebuild
new file mode 100644
index 0000000..02f8920
--- /dev/null
+++ b/dev-rust/serde_json/serde_json-1.0.79.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='A JSON serialization file format'
+HOMEPAGE='https://crates.io/crates/serde_json'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/indexmap-1.5.0 <dev-rust/indexmap-2.0.0_alpha:=
+	=dev-rust/itoa-1*:=
+	=dev-rust/ryu-1*:=
+	>=dev-rust/serde-1.0.100 <dev-rust/serde-2.0.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/serde_repr/Manifest b/dev-rust/serde_repr/Manifest
deleted file mode 100644
index 20a19f2..0000000
--- a/dev-rust/serde_repr/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST serde_repr-0.1.7.crate 10173 BLAKE2B 30bca6a616e55f44def56ab1f85cbb141727a872466f161f562798db005473d520e6a4dba89b631cfe11f1a38cbc1db2fb0ef921f0245e0990a6744f9987e95a SHA512 4e3e87b1c97ee587e88be56d67f287e43252de474a3becdefb4b768eda661db5d78f665d7d93720a40d9f5bd27fd9ab6213d66713ec89bcc2063092b16625a18
diff --git a/dev-rust/serde_repr/serde_repr-0.1.7.ebuild b/dev-rust/serde_repr/serde_repr-0.1.7.ebuild
deleted file mode 100644
index 092b18d..0000000
--- a/dev-rust/serde_repr/serde_repr-0.1.7.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION='Derive Serialize and Deserialize that delegates to the underlying repr of a C-like enum.'
-HOMEPAGE='https://crates.io/crates/serde_repr'
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/proc-macro2-1*:=
-	=dev-rust/quote-1*:=
-	=dev-rust/syn-1*:=
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/serde_yaml/Manifest b/dev-rust/serde_yaml/Manifest
index aa05b63..2d26bd1 100644
--- a/dev-rust/serde_yaml/Manifest
+++ b/dev-rust/serde_yaml/Manifest
@@ -1 +1 @@
-DIST serde_yaml-0.8.11.crate 35772 BLAKE2B 5b88c2df37c8e5f06847db307debc2e6800a25aebd8435c066c79f2a10b38a4b8f33499561511b6f70257aeb2f272a2c99294da1d1fbc77eb85d4b077a8ea027 SHA512 8baea9692990370e92415aadfb410c17e99f4d5b4bc09bdae13ffe438ba2be536152a68dd183e5c6a00e04a386472a7e081beb5fad6ba5231c39da794be2efa2
+DIST serde_yaml-0.8.24.crate 42102 BLAKE2B cf389f5438636ba60eb2525113f785859d4124efc23604a015ba52363a5c784d4ec552e46f5231e53d703042c96ac7902863902f96db121dc58391c16b979b8e SHA512 f32d3138a7879b6ec9329c48e691cd2d8e152058220402788309dbe830d90e37bcdf9d3538d79b845547b2135706b3060ff40a943d357f9d3b6dec478af400c9
diff --git a/dev-rust/serde_yaml/serde_yaml-0.8.11.ebuild b/dev-rust/serde_yaml/serde_yaml-0.8.11.ebuild
deleted file mode 100644
index dfcd38e..0000000
--- a/dev-rust/serde_yaml/serde_yaml-0.8.11.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="YAML support for Serde"
-HOMEPAGE="https://docs.rs/crate/serde_yaml"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/dtoa-0.4*:=
-	=dev-rust/linked-hash-map-0.5*:=
-	>=dev-rust/serde-1.0.60:=
-	<dev-rust/serde-2.0
-	=dev-rust/yaml-rust-0.4*:=
-"
diff --git a/dev-rust/serde_yaml/serde_yaml-0.8.24.ebuild b/dev-rust/serde_yaml/serde_yaml-0.8.24.ebuild
new file mode 100644
index 0000000..bc1146d
--- /dev/null
+++ b/dev-rust/serde_yaml/serde_yaml-0.8.24.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='YAML support for Serde'
+HOMEPAGE='https://crates.io/crates/serde_yaml'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/indexmap-1.5.2 <dev-rust/indexmap-2.0.0_alpha:=
+	=dev-rust/ryu-1*:=
+	>=dev-rust/serde-1.0.69 <dev-rust/serde-2.0.0_alpha:=
+	>=dev-rust/yaml-rust-0.4.5 <dev-rust/yaml-rust-0.5.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/serialport/Manifest b/dev-rust/serialport/Manifest
deleted file mode 100644
index d47f215..0000000
--- a/dev-rust/serialport/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST serialport-4.0.1.crate 47715 BLAKE2B 59ca841b3a8f5490908dbb344232ebd31b31e2018aae458ab6fecfb4f5306e42a47cb3ec1a5529a624215bf5611ef0dd0acde3b9e00481607e27d262604fa3ff SHA512 ae1407b67332dee4f4f37c513d53f24417eaf4a0b16646768934d295ec63b5291df9923a10f43837277c29ca4ea8fce961afd8a859df787ded76ebbc9e474c25
diff --git a/dev-rust/serialport/files/serialport-4.0.1-linux-only.patch b/dev-rust/serialport/files/serialport-4.0.1-linux-only.patch
deleted file mode 100644
index e6de385..0000000
--- a/dev-rust/serialport/files/serialport-4.0.1-linux-only.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Remove Windows- and macOS-specific dependencies so that we don't have to
-package them for Chromium OS.
-
-Note that this patch applies to the normalized copy of Cargo.toml that lives
-inside the crate, which is different to Cargo.toml committed to upstream git.
-
---- a/Cargo.toml.orig     2021-12-30 10:08:53.018349884 +1100
-+++ b/Cargo.toml  2021-12-30 10:09:17.086436221 +1100
-@@ -27,14 +27,6 @@
- [target."cfg(all(target_os = \"linux\", not(target_env = \"musl\")))".dependencies.libudev]
- version = "0.2.0"
- optional = true
--[target."cfg(any(target_os = \"ios\", target_os = \"macos\"))".dependencies.CoreFoundation-sys]
--version = "0.1.3"
--
--[target."cfg(any(target_os = \"ios\", target_os = \"macos\"))".dependencies.IOKit-sys]
--version = "0.1"
--
--[target."cfg(any(target_os = \"ios\", target_os = \"macos\"))".dependencies.mach]
--version = "0.2"
- [target."cfg(unix)".dependencies.bitflags]
- version = "1.0.4"
-
-@@ -43,12 +35,6 @@
-
- [target."cfg(unix)".dependencies.nix]
- version = "0.16.1"
--[target."cfg(windows)".dependencies.regex]
--version = "1.0"
--
--[target."cfg(windows)".dependencies.winapi]
--version = "0.3.6"
--features = ["cguid", "commapi", "errhandlingapi", "fileapi", "guiddef", "handleapi", "minwinbase", "minwindef", "ntdef", "setupapi", "winbase", "winerror", "winnt"]
- [badges.appveyor]
- repository = "Susurrus/serialport-rs"
- service = "gitlab"
diff --git a/dev-rust/serialport/serialport-4.0.1.ebuild b/dev-rust/serialport/serialport-4.0.1.ebuild
deleted file mode 100644
index 8c87bab..0000000
--- a/dev-rust/serialport/serialport-4.0.1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-# We can't set CROS_RUST_REMOVE_TARGET_CFG=1 because it drops the libudev
-# dependency entirely, leading to an error from cargo:
-#   feature `default` includes `libudev` which is neither a dependency nor
-#   another feature
-# So we patch out the Windows- and macOS-specific dependencies below instead.
-
-inherit cros-rust
-
-DESCRIPTION='A cross-platform low-level serial port library'
-HOMEPAGE='https://crates.io/crates/serialport'
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-PATCHES=(
-	"${FILESDIR}/serialport-4.0.1-linux-only.patch"
-)
-
-LICENSE="MPL-2.0"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/libudev-0.2*:=
-	>=dev-rust/bitflags-1.0.4 <dev-rust/bitflags-2.0.0_alpha:=
-	=dev-rust/cfg-if-0.1*:=
-	>=dev-rust/nix-0.16.1 <dev-rust/nix-0.17.0_alpha:=
-	>=dev-rust/clap-2.32.0 <dev-rust/clap-3.0.0_alpha:=
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-rust/sha1/sha1-0.6.0.ebuild b/dev-rust/sha1/sha1-0.6.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/sha1/sha1-0.6.0.ebuild
+++ b/dev-rust/sha1/sha1-0.6.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/signal-hook-registry/Manifest b/dev-rust/signal-hook-registry/Manifest
new file mode 100644
index 0000000..b72d78d
--- /dev/null
+++ b/dev-rust/signal-hook-registry/Manifest
@@ -0,0 +1 @@
+DIST signal-hook-registry-1.4.0.crate 17912 BLAKE2B c50ade90e580e5f009832d812299b33529e53f68e6f1b7f5f9b5ac9ee0de502825c7bbd66199a65d4494152809eaf3dcfb676152c5b4f66c7a38b33551fcdd30 SHA512 b564379e5df1061739734179a69897badf9e2e6b469e091954428b05c3c7143885396df4bd008d77e08dae53729d2267d50fc8563121b086e25d8a5adabf6d6d
diff --git a/dev-rust/signal-hook-registry/signal-hook-registry-1.4.0.ebuild b/dev-rust/signal-hook-registry/signal-hook-registry-1.4.0.ebuild
new file mode 100644
index 0000000..ce9a782
--- /dev/null
+++ b/dev-rust/signal-hook-registry/signal-hook-registry-1.4.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Backend crate for signal-hook'
+HOMEPAGE='https://crates.io/crates/signal-hook-registry'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/libc-0.2*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/simple_logger/Manifest b/dev-rust/simple_logger/Manifest
new file mode 100644
index 0000000..c4804c3
--- /dev/null
+++ b/dev-rust/simple_logger/Manifest
@@ -0,0 +1 @@
+DIST simple_logger-1.13.0.crate 8051 BLAKE2B c2d3280901c17f79826e6a56bf5411b52c576c75a71fca7205d69d32bfd194152adbabe0bdd5467e33612ceb4bad8b87ce45fd2840375f373509d3609f54c020 SHA512 f6dbb74a5d25895189092e567784daca9e0b4cb48a527a400b4c2ccfeed7ffcdd3f00719e8d084f82390971567b4c280bfc3c47db2356331c0107fbaef941b8c
diff --git a/dev-rust/serialport/OWNERS b/dev-rust/simple_logger/OWNERS
similarity index 100%
copy from dev-rust/serialport/OWNERS
copy to dev-rust/simple_logger/OWNERS
diff --git a/dev-rust/simple_logger/files/simple_logger-1.13.0-use-colored-2.patch b/dev-rust/simple_logger/files/simple_logger-1.13.0-use-colored-2.patch
new file mode 100644
index 0000000..8014d1d
--- /dev/null
+++ b/dev-rust/simple_logger/files/simple_logger-1.13.0-use-colored-2.patch
@@ -0,0 +1,18 @@
+Upgrade to colored 2.0. The upgrade is trivial and lets us avoid two
+copies of colored.
+https://github.com/borntyping/rust-simple_logger/pull/49
+
+Note that this patch applies to the normalized copy of Cargo.toml that lives
+inside the crate, which is different to Cargo.toml committed to upstream git.
+
+--- a/Cargo.toml        2022-01-10 15:04:29.005102916 +1100
++++ b/Cargo.toml        2022-01-10 15:06:32.589507547 +1100
+@@ -31,7 +31,7 @@
+ optional = true
+
+ [dependencies.colored]
+-version = "^1.6"
++version = "2"
+ optional = true
+
+ [dependencies.log]
diff --git a/dev-rust/simple_logger/simple_logger-1.13.0.ebuild b/dev-rust/simple_logger/simple_logger-1.13.0.ebuild
new file mode 100644
index 0000000..a766b6c
--- /dev/null
+++ b/dev-rust/simple_logger/simple_logger-1.13.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+CROS_RUST_REMOVE_TARGET_CFG=1
+
+inherit cros-rust
+
+DESCRIPTION='A logger that prints all messages with a readable output format'
+HOMEPAGE='https://crates.io/crates/simple_logger'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/chrono-0.4.6 <dev-rust/chrono-0.5.0_alpha:=
+	=dev-rust/colored-2*:=
+	>=dev-rust/log-0.4.5 <dev-rust/log-0.5.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+	"${FILESDIR}/simple_logger-1.13.0-use-colored-2.patch"
+)
diff --git a/dev-rust/simplelog/Manifest b/dev-rust/simplelog/Manifest
deleted file mode 100644
index 35954b3..0000000
--- a/dev-rust/simplelog/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST simplelog-0.10.0.crate 17910 BLAKE2B fa5b10d41b4fe4c55e819a687f12d055b34925b96df11369655463c9261338c01f1732840be9b4f02c8a48dc0d4df31b5a8dd9633807486daea26f3714701dcf SHA512 225aa6a89cdea9f6bc6d905deeec8c7d3bb57893d98133d53169339abd02c74b14dbb25d363f9996ce6c96b2529fd29ff096eb0f54e5134f0dc24e5851fbd030
diff --git a/dev-rust/simplelog/OWNERS b/dev-rust/simplelog/OWNERS
deleted file mode 100644
index b90472f..0000000
--- a/dev-rust/simplelog/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-include chromiumos/platform/ap-daemons:/OWNERS
diff --git a/dev-rust/simplelog/simplelog-0.10.0.ebuild b/dev-rust/simplelog/simplelog-0.10.0.ebuild
deleted file mode 100644
index 074dc55..0000000
--- a/dev-rust/simplelog/simplelog-0.10.0.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cros-rust
-
-DESCRIPTION="A simple and easy-to-use logging facility for Rust's log crate"
-HOMEPAGE="https://github.com/drakulix/simplelog.rs"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/chrono-0.4*:=
-	=dev-rust/log-0.4*:=
-	=dev-rust/termcolor-1.1*:=
-"
-
-# TODO(crbug.com/1182669): Remove this RDEPEND when fixed.
-RDEPEND="${DEPEND}"
diff --git a/dev-rust/skim/skim-0.9.0.ebuild b/dev-rust/skim/skim-0.9.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/skim/skim-0.9.0.ebuild
+++ b/dev-rust/skim/skim-0.9.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/slog/slog-2.0.0.ebuild b/dev-rust/slog/slog-2.0.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/slog/slog-2.0.0.ebuild
+++ b/dev-rust/slog/slog-2.0.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/smawk/OWNERS b/dev-rust/smawk/OWNERS
new file mode 100644
index 0000000..f619b35
--- /dev/null
+++ b/dev-rust/smawk/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/audio/OWNERS.all
diff --git a/dev-rust/smawk/smawk-0.3.1.ebuild b/dev-rust/smawk/smawk-0.3.1.ebuild
new file mode 100644
index 0000000..c74dee1
--- /dev/null
+++ b/dev-rust/smawk/smawk-0.3.1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/socket2/Manifest b/dev-rust/socket2/Manifest
index 646b289..486e7fa 100644
--- a/dev-rust/socket2/Manifest
+++ b/dev-rust/socket2/Manifest
@@ -1 +1,2 @@
 DIST socket2-0.3.9.crate 29791 BLAKE2B d00c5a2ffa8156ed0fbb770f8c085fc785e933989a779a73d990809c46f564baebfa3e4d026e8ad64d955fcd44cce0d6dc7a54b2dc5cdd67e40e7f35c43af7df SHA512 526b2ef0a928357c1ff3ed998842afffe1d1e758ba480f922b0fe12cbb48cc811278554f99de63345e6c12b5027b738448adbfb46a78fd50555dd87e6a701e47
+DIST socket2-0.4.4.crate 44048 BLAKE2B b2b1aad2995e44944b98ff3291479fb74e8cc965f866e692821427e488c68282290773dcd77da0542c45daf231a5e676d20e59a1d4568b8dde2da2f16425feb2 SHA512 6624fb9b933763c22e6114a8f72c6af0969912717017dd5b13f1b5df19faa1b160376c12e8c8023c435281f6a7864e802f3c4c535de8a345fe206652104f2cd5
diff --git a/dev-rust/socket2/socket2-0.3.9.ebuild b/dev-rust/socket2/socket2-0.3.9.ebuild
index bd1a4d3..8ad3f0b 100644
--- a/dev-rust/socket2/socket2-0.3.9.ebuild
+++ b/dev-rust/socket2/socket2-0.3.9.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/socket2/socket2-0.4.4.ebuild b/dev-rust/socket2/socket2-0.4.4.ebuild
new file mode 100644
index 0000000..637e288
--- /dev/null
+++ b/dev-rust/socket2/socket2-0.4.4.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+CROS_RUST_REMOVE_TARGET_CFG=1
+
+inherit cros-rust
+
+DESCRIPTION='Utilities for handling networking sockets with a maximal amount of configuration
+possible intended.'
+HOMEPAGE='https://github.com/rust-lang/socket2'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/libc-0.2.114 <dev-rust/libc-0.3.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/spin/Manifest b/dev-rust/spin/Manifest
index db9fa3d..cd2de0d 100644
--- a/dev-rust/spin/Manifest
+++ b/dev-rust/spin/Manifest
@@ -1 +1,2 @@
 DIST spin-0.5.2.crate 12004 BLAKE2B d67d9156ca6dbcf4022711cce797cd423a4977115abac4cafaa507aa2e1071b637275637a20934d4d0d6d2bf82c98c74a4506720326d1804952aa0fd5fc4895c SHA512 fc57f7906da2b7a298c5f89215e881e8827b4d9f934dbf138338e0ee30122d8459483be566268fa374b41d63d8dbf65d42e0b322535ba35c827d7edb2176f267
+DIST spin-0.9.4.crate 30180 BLAKE2B 24dfdab3e643abe5cd9ecdc14c07bafe7424ef19979b7e5b856a262ffdeb87e58291061313af2c1396ea33e14d96a728719937790d204398fe271710ddf2f8dd SHA512 156b1c471292e8cb874b59129454b56b5e84a0f10b5d064433e0abfc3384c1a594b12b095acd26da350d7f81e6849da9c07c9a506b4aa0ac4808ce3f70b5511c
diff --git a/dev-rust/serialport/OWNERS b/dev-rust/spin/OWNERS
similarity index 100%
rename from dev-rust/serialport/OWNERS
rename to dev-rust/spin/OWNERS
diff --git a/dev-rust/spin/spin-0.5.2.ebuild b/dev-rust/spin/spin-0.5.2.ebuild
index 3594fb4..e56f3f8 100644
--- a/dev-rust/spin/spin-0.5.2.ebuild
+++ b/dev-rust/spin/spin-0.5.2.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/spin/spin-0.9.4.ebuild b/dev-rust/spin/spin-0.9.4.ebuild
new file mode 100644
index 0000000..fad9cc0
--- /dev/null
+++ b/dev-rust/spin/spin-0.9.4.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Spin-based synchronization primitives'
+HOMEPAGE='https://crates.io/crates/spin'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/lock_api-0.4*:=
+	=dev-rust/portable-atomic-0.3*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/stderrlog/Manifest b/dev-rust/stderrlog/Manifest
index c9d37fb..3495dbd 100644
--- a/dev-rust/stderrlog/Manifest
+++ b/dev-rust/stderrlog/Manifest
@@ -1 +1 @@
-DIST stderrlog-0.5.0.crate 19241 BLAKE2B 08431e0c2bc174dcde4052d65991e9b1c46c945656b4abda9a5e4150e094e64e25aeff34bc6000f9da2535468de6071eb4cdd3439bf204ce4f5d95dd8566c3dc SHA512 6402d873eab7a8e458e43163e7e087d75cf775411550c9da952f2d5bece24e0240e46a2c1eb75b3f6e96a4a34ae0109fb00c5e38bb8ba926ff9edb03d9c301c7
+DIST stderrlog-0.5.3.crate 20368 BLAKE2B 4c8f574cde96734ec89b739c676313629af5c24a9de7b83cd18f324830865029af896a248739a256f60e3ca2c309f75c80d8bd5ca95fb5f36a22a7c902bb13a8 SHA512 35ac3c2301347cd0ed2f76fbc65200bc4125e87df170950d8ba146d699b50c8fe5cfa6b640908a5c522f5dde9caf0fe3acec166c516d9dc1523b328dd6217ce2
diff --git a/dev-rust/stderrlog/stderrlog-0.5.0-r1.ebuild b/dev-rust/stderrlog/stderrlog-0.5.0-r1.ebuild
deleted file mode 120000
index e447f14..0000000
--- a/dev-rust/stderrlog/stderrlog-0.5.0-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-stderrlog-0.5.0.ebuild
\ No newline at end of file
diff --git a/dev-rust/stderrlog/stderrlog-0.5.0.ebuild b/dev-rust/stderrlog/stderrlog-0.5.0.ebuild
deleted file mode 100644
index 784c618..0000000
--- a/dev-rust/stderrlog/stderrlog-0.5.0.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="Logger that aims to provide a simple case of env_logger that just logs to stderr based on verbosity"
-HOMEPAGE="https://github.com/cardoe/stderrlog-rs"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/atty-0.2.6:= <dev-rust/atty-0.3.0
-	>=dev-rust/chrono-0.4.10:= <dev-rust/chrono-0.5.0
-	>=dev-rust/log-0.4.11:= <dev-rust/log-0.5.0
-	>=dev-rust/termcolor-1.1:= <dev-rust/termcolor-1.2
-	>=dev-rust/thread_local-1.0:= <dev-rust/thread_local-1.1
-"
-
-RDEPEND="${DEPEND}"
diff --git a/dev-rust/stderrlog/stderrlog-0.5.3.ebuild b/dev-rust/stderrlog/stderrlog-0.5.3.ebuild
new file mode 100644
index 0000000..f0241469
--- /dev/null
+++ b/dev-rust/stderrlog/stderrlog-0.5.3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Logger that logs to stderr based on verbosity specified'
+HOMEPAGE='https://github.com/cardoe/stderrlog-rs'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/atty-0.2.6 <dev-rust/atty-0.3.0_alpha:=
+	>=dev-rust/chrono-0.4.10 <dev-rust/chrono-0.5.0_alpha:=
+	>=dev-rust/log-0.4.11 <dev-rust/log-0.5.0_alpha:=
+	=dev-rust/termcolor-1.1*:=
+	=dev-rust/thread_local-1.1*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/stdweb/stdweb-0.4.20.ebuild b/dev-rust/stdweb/stdweb-0.4.20.ebuild
index 072e90c..5c585f2 100644
--- a/dev-rust/stdweb/stdweb-0.4.20.ebuild
+++ b/dev-rust/stdweb/stdweb-0.4.20.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/stm32g0xx-hal/Manifest b/dev-rust/stm32g0xx-hal/Manifest
index 5254352..90accbb 100644
--- a/dev-rust/stm32g0xx-hal/Manifest
+++ b/dev-rust/stm32g0xx-hal/Manifest
@@ -1 +1 @@
-DIST stm32g0xx-hal-0.1.0.crate 60793 BLAKE2B 9c00939859354b4d51943ddb6c4f80789af168f3e6acfcb508778b7367dd6130a0974b9965d8123557b463cf529aa4354d0b1db22613033dba01098148fcc159 SHA512 d10bfc16a8db35e7ca1bc40ea3b3cf461c754ade8a21ec07ae050c5563807d40d110e67b165484cbffbcad282d9998e33f92c26a3a69795915090ed1670a65b9
+DIST stm32g0xx-hal-0.1.5.crate 70585 BLAKE2B 0b09f505ae5582a4ced4b05b198893d5cec56fab711f272a41699e5cd42c803b2f3cae87cc37cdcc49f5ea500e1ebd412c4a46a1fd7f29820ce1580569b256cd SHA512 ccea7873db51ee6280c61a86f8292407bb1d0542704e819cd9bc5db4a594be9c239351874972820379f6c0b81345df9fc968022e439f65ea83280cec1d7d4b6c
diff --git a/dev-rust/stm32g0xx-hal/stm32g0xx-hal-0.1.0.ebuild b/dev-rust/stm32g0xx-hal/stm32g0xx-hal-0.1.0.ebuild
deleted file mode 100644
index 3a1ee0f..0000000
--- a/dev-rust/stm32g0xx-hal/stm32g0xx-hal-0.1.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION='Peripheral access API for STM32G0 series microcontrollers'
-HOMEPAGE='https://crates.io/crates/stm32g0xx-hal'
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/bare-metal-1*:=
-	>=dev-rust/cortex-m-0.7.1:= <dev-rust/cortex-m-0.8.0
-	>=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0
-	=dev-rust/nb-1*:=
-	=dev-rust/stm32g0-0.13*:=
-	>=dev-rust/void-1.0.2:= <dev-rust/void-2.0.0
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
-
-# thread 'main' panicked at 'No device features selected', /build/zork/usr/lib/cros_rust_registry/registry/stm32g0-0.13.0/build.rs:20:18
-RESTRICT="test"
diff --git a/dev-rust/stm32g0xx-hal/stm32g0xx-hal-0.1.5.ebuild b/dev-rust/stm32g0xx-hal/stm32g0xx-hal-0.1.5.ebuild
new file mode 100644
index 0000000..ace02e5
--- /dev/null
+++ b/dev-rust/stm32g0xx-hal/stm32g0xx-hal-0.1.5.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Peripheral access API for STM32G0 series microcontrollers'
+HOMEPAGE='https://crates.io/crates/stm32g0xx-hal'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/bare-metal-1*:=
+	>=dev-rust/cortex-m-0.7.1 <dev-rust/cortex-m-0.8.0_alpha:=
+	>=dev-rust/embedded-hal-0.2.6 <dev-rust/embedded-hal-0.3.0_alpha:=
+	=dev-rust/nb-1*:=
+	=dev-rust/stm32g0-0.13*:=
+	>=dev-rust/void-1.0.2 <dev-rust/void-2.0.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/string/Manifest b/dev-rust/string/Manifest
deleted file mode 100644
index ff74ea5..0000000
--- a/dev-rust/string/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST string-0.2.1.crate 5081 BLAKE2B 27f02ed6a6545eac02d0b98852b2c362711dffe6dace552a24f8f3d69b8c9b0b60a147837c538f2fbdaeaab16b27eb7c554e9bc1aad6c2563b08f3c1a759ef9e SHA512 4d7ab65f12d63065e895947285d5aa1b9003324002b0f657e7ded975c90eebd63c1033ae9a01969c42d446b0ea878571af62776bcb4a8834cace173f908c76cd
diff --git a/dev-rust/string/string-0.2.1.ebuild b/dev-rust/string/string-0.2.1.ebuild
deleted file mode 100644
index cfbf56e..0000000
--- a/dev-rust/string/string-0.2.1.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cros-rust
-
-DESCRIPTION="A UTF-8 encoded string with configurable byte storage."
-HOMEPAGE="https://github.com/carllerche/string"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/bytes-0.4:=
-"
diff --git a/dev-rust/strsim/strsim-0.8.0.ebuild b/dev-rust/strsim/strsim-0.8.0.ebuild
index 928429f..1cab4bc 100644
--- a/dev-rust/strsim/strsim-0.8.0.ebuild
+++ b/dev-rust/strsim/strsim-0.8.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_REMOVE_DEV_DEPS=1
 
diff --git a/dev-rust/structopt-derive/Manifest b/dev-rust/structopt-derive/Manifest
index a34e7c8..1502092 100644
--- a/dev-rust/structopt-derive/Manifest
+++ b/dev-rust/structopt-derive/Manifest
@@ -1 +1,2 @@
 DIST structopt-derive-0.4.13.crate 20115 BLAKE2B dd2546903b8fc329c7f0a2cb950e6a20e1c61f49a713fec8e829cdf815ac81681625c0806b9a992e7d2c71923fa382abcfb37f53db1fa6e80169f32a48bcfbca SHA512 85fdd4ea10bff737022b289277d72ebdb6fd861a7cb41eaa28b5aeef99926de00a01fc83cebd79482186640a3f6e8c804d7aba294c6a401438d3e5b06b9dab38
+DIST structopt-derive-0.4.18.crate 20996 BLAKE2B 2ae17e0d365a7ce7a4d0e007513623ee0d5acf45afdc3844114e02975b855fd1a9f7df404a24044cf33a3a4cc4142eccc34d1e97925646d54d460a89baa28275 SHA512 68a7f9c2ed987993fdd8bb7e81c31969a1fdf5351c58cba9de61a2f5957aba1626be4b0742f31d4de502301675ba24b0d91dd3acb24f5607bdeec83070626a57
diff --git a/dev-rust/structopt-derive/structopt-derive-0.4.18.ebuild b/dev-rust/structopt-derive/structopt-derive-0.4.18.ebuild
new file mode 100644
index 0000000..bf3b449
--- /dev/null
+++ b/dev-rust/structopt-derive/structopt-derive-0.4.18.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Parse command line argument by defining a struct, derive crate.'
+HOMEPAGE='https://crates.io/crates/structopt-derive'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/heck-0.3*:=
+	=dev-rust/proc-macro-error-1*:=
+	=dev-rust/proc-macro2-1*:=
+	=dev-rust/quote-1*:=
+	=dev-rust/syn-1*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/structopt/Manifest b/dev-rust/structopt/Manifest
index b049878..9d6dcd9 100644
--- a/dev-rust/structopt/Manifest
+++ b/dev-rust/structopt/Manifest
@@ -1 +1,2 @@
 DIST structopt-0.3.20.crate 50699 BLAKE2B a88142017ade95e408477282e6a5447c95b51337d558cd0e098b42d0d64079992fd3d9de99a2c7f7264f09b40c6a3251e888562c8cca3ea5bc901eddef18b700 SHA512 cdbd409fb5443622184a21b108c6ed854676912dc599b0dfbe3a4d229184f3690739dc931c80e55aa43730ff8c66ea4b65e92f8739e81f26f3f45a4c75c7e845
+DIST structopt-0.3.26.crate 53798 BLAKE2B 04be64637d18bcc87d261320668023459a42c167bb5a4c52216df556a7dd19be28032e7bf759cbcf710a3729a9dfaeb20c29f37f35fcf33533db583ac4fa049a SHA512 dec27090b57107473c9d398db68bde3b1b5191e7c7980d7d2c20fc723f92c64a6cf1d391d5122a103222c4262253d8073fd0fdfb11c74f235af79b2ae0caf069
diff --git a/dev-rust/structopt/structopt-0.3.26.ebuild b/dev-rust/structopt/structopt-0.3.26.ebuild
new file mode 100644
index 0000000..bffeea6
--- /dev/null
+++ b/dev-rust/structopt/structopt-0.3.26.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Parse command line argument by defining a struct.'
+HOMEPAGE='https://crates.io/crates/structopt'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/clap-2.33.0 <dev-rust/clap-3.0.0_alpha:=
+	>=dev-rust/lazy_static-1.4.0 <dev-rust/lazy_static-2.0.0_alpha:=
+	=dev-rust/paw-1*:=
+	~dev-rust/structopt-derive-0.4.18:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/sval/sval-1.0.0.ebuild b/dev-rust/sval/sval-1.0.0.ebuild
index b1b03cf..7e6dca1 100644
--- a/dev-rust/sval/sval-1.0.0.ebuild
+++ b/dev-rust/sval/sval-1.0.0.ebuild
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/svd2rust/svd2rust-0.20.0-r1.ebuild b/dev-rust/svd2rust/svd2rust-0.20.0-r2.ebuild
similarity index 100%
rename from dev-rust/svd2rust/svd2rust-0.20.0-r1.ebuild
rename to dev-rust/svd2rust/svd2rust-0.20.0-r2.ebuild
diff --git a/dev-rust/svd2rust/svd2rust-0.20.0.ebuild b/dev-rust/svd2rust/svd2rust-0.20.0.ebuild
index 1814d8d..440ed9e 100644
--- a/dev-rust/svd2rust/svd2rust-0.20.0.ebuild
+++ b/dev-rust/svd2rust/svd2rust-0.20.0.ebuild
@@ -29,6 +29,7 @@
 	=dev-rust/syn-1*:=
 	=dev-rust/thiserror-1*:=
 "
+RDEPEND="${DEPEND}"
 
 src_compile() {
 	ecargo_build
diff --git a/dev-rust/syn/Manifest b/dev-rust/syn/Manifest
index 98b2c0d..1c2a9c4 100644
--- a/dev-rust/syn/Manifest
+++ b/dev-rust/syn/Manifest
@@ -1,2 +1,3 @@
 DIST syn-0.15.26.crate 145493 BLAKE2B ede140e0184464e765413aa4875a07ab9329de60eba6aa46253d2880032b84a56348060396ffec8a5d81a2aa22c6a6eca73c425778ead21c1c55ffb657cf3718 SHA512 947d70dff83ffd33fda806597d54e572555b54c1600e357df919165fdc7141c6f9762b37f25f9b850e8a7775c33b6df3fc93f3eff12b36b059e696ad90619baa
 DIST syn-1.0.72.crate 232500 BLAKE2B 8f71f7fb66426f78eec3439688b0468fbef582c8ca912781f19607acd9e8371f2230b305a96f613c16f7299e66fdb2395dc037e1093d3897864bd2bf50ab3d7e SHA512 f01e2ef74fc3f84a753c1c379c24e3c63f3c575d72ab865f8e7d51f4dee4293ac8197b4e123ebaa942e9199bf0a0d8194e57a5aa6314bee6951d3d458dfc3da9
+DIST syn-1.0.91.crate 235996 BLAKE2B b7b555b2dbfc837417ed69c358338819500f1e8ba11c2183a4d216efe2c2d7eddd165415516d50ffb5413b97452f186263e13299b01bccd6ad6e405f6d2a3f4f SHA512 28fe28a9d4e9ab3610850c1704be6f384e9fff191b1a5e11f9766bdada81a3e7426cbc776bbd63ea6710320c7416a622506d4a8d607d978af506d381658d4bff
diff --git a/dev-rust/syn/syn-1.0.91.ebuild b/dev-rust/syn/syn-1.0.91.ebuild
new file mode 100644
index 0000000..3db33e7
--- /dev/null
+++ b/dev-rust/syn/syn-1.0.91.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Parser for Rust source code'
+HOMEPAGE='https://crates.io/crates/syn'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/proc-macro2-1.0.32 <dev-rust/proc-macro2-2.0.0_alpha:=
+	=dev-rust/quote-1*:=
+	=dev-rust/unicode-xid-0.2*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
+# Changes below are manual:
+
+src_prepare() {
+	cros-rust_src_prepare
+
+	# Delete the test dependency, syn-test-suite.
+	sed -i '/^test = \[/d' "${S}/Cargo.toml"
+}
+
+# error: could not compile `syn`
+RESTRICT="test"
diff --git a/dev-rust/sync/files/chromeos-version.sh b/dev-rust/sync/files/chromeos-version.sh
index 64539e1..59bb355 100755
--- a/dev-rust/sync/files/chromeos-version.sh
+++ b/dev-rust/sync/files/chromeos-version.sh
@@ -6,4 +6,12 @@
 
 # Assumes the first 'version =' line in the Cargo.toml is the version for the
 # crate.
-awk '/^version = / { print $3 }' "$1/common/sync/Cargo.toml" | head -n1 | tr -d '"'
+#
+# 50 is added to the minor version number to avoid conflicting with a
+# different copy included by path with the same version number.
+awk '/^version = / {
+  gsub(/"/, "", $0);
+  split($3,ver,".");
+  print ver[1] "." ver[2] "." (50 + ver[3]);
+  exit
+}' "$1/common/sync/Cargo.toml"
diff --git a/dev-rust/sync/sync-0.1.0-r19.ebuild b/dev-rust/sync/sync-0.1.0-r19.ebuild
deleted file mode 100644
index 794666a..0000000
--- a/dev-rust/sync/sync-0.1.0-r19.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="c45faa08745f4d1110c1e3f0f0606e30358a5b6d"
-CROS_WORKON_TREE=("af21c512e6b9981138e4df7664dab87bf004b04b" "657879d7112bd65f190dbbf687daca14399681d0")
-CROS_WORKON_LOCALNAME="../platform/crosvm"
-CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_RUST_SUBDIR="common/sync"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} .cargo"
-CROS_WORKON_SUBDIRS_TO_COPY=(${CROS_WORKON_SUTREE})
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Containing a type sync::Mutex which wraps the standard library Mutex and mirrors the same methods"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/sync"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test"
-
-RDEPEND="!!<=dev-rust/sync-0.1.0-r6"
diff --git a/dev-rust/sync/sync-0.1.149-r1.ebuild b/dev-rust/sync/sync-0.1.149-r1.ebuild
new file mode 100644
index 0000000..ff163a5
--- /dev/null
+++ b/dev-rust/sync/sync-0.1.149-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="ac1b5734bedfd98186047657c2a229a4f8074272"
+CROS_WORKON_TREE=("ed58383bff970e82eebd1d963416d17aa7b3a66d" "a920b8bc18a923d5cfa6abfb5390bc903526beef")
+CROS_WORKON_LOCALNAME="../platform/crosvm"
+CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_RUST_SUBDIR="common/sync"
+CROS_WORKON_SUBDIRS_TO_COPY=("${CROS_RUST_SUBDIR}" .cargo)
+CROS_WORKON_SUBTREE="${CROS_WORKON_SUBDIRS_TO_COPY[*]}"
+
+# The version of this crate is pinned. See b/229016539 for details.
+CROS_WORKON_MANUAL_UPREV="1"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Containing a type sync::Mutex which wraps the standard library Mutex and mirrors the same methods"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/sync"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test"
+
+RDEPEND="!!<=dev-rust/sync-0.1.0-r6"
+
+src_prepare() {
+	cros-rust_src_prepare
+
+	# Replace the version in the sources with the ebuild version.
+	# ${FILESDIR}/chromeos-version.sh sets the minor version 50 ahead to avoid
+	# colliding with the version included by path.
+	if [[ "${PV}" != 9999 ]]; then
+		sed -i 's/^version = .*$/version = "'"${PV}"'"/g' "${S}/Cargo.toml"
+	fi
+}
diff --git a/dev-rust/sync/sync-9999.ebuild b/dev-rust/sync/sync-9999.ebuild
index 70e2ed2..bc19f1d 100644
--- a/dev-rust/sync/sync-9999.ebuild
+++ b/dev-rust/sync/sync-9999.ebuild
@@ -5,11 +5,13 @@
 
 CROS_WORKON_LOCALNAME="../platform/crosvm"
 CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
-CROS_WORKON_OUTOFTREE_BUILD=1
 CROS_WORKON_INCREMENTAL_BUILD=1
 CROS_RUST_SUBDIR="common/sync"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} .cargo"
-CROS_WORKON_SUBDIRS_TO_COPY=(${CROS_WORKON_SUTREE})
+CROS_WORKON_SUBDIRS_TO_COPY=("${CROS_RUST_SUBDIR}" .cargo)
+CROS_WORKON_SUBTREE="${CROS_WORKON_SUBDIRS_TO_COPY[*]}"
+
+# The version of this crate is pinned. See b/229016539 for details.
+CROS_WORKON_MANUAL_UPREV="1"
 
 inherit cros-workon cros-rust
 
@@ -21,3 +23,14 @@
 IUSE="test"
 
 RDEPEND="!!<=dev-rust/sync-0.1.0-r6"
+
+src_prepare() {
+	cros-rust_src_prepare
+
+	# Replace the version in the sources with the ebuild version.
+	# ${FILESDIR}/chromeos-version.sh sets the minor version 50 ahead to avoid
+	# colliding with the version included by path.
+	if [[ "${PV}" != 9999 ]]; then
+		sed -i 's/^version = .*$/version = "'"${PV}"'"/g' "${S}/Cargo.toml"
+	fi
+}
diff --git a/dev-rust/synstructure_test_traits/synstructure_test_traits-0.1.0.ebuild b/dev-rust/synstructure_test_traits/synstructure_test_traits-0.1.0.ebuild
index 072e90c..5c585f2 100644
--- a/dev-rust/synstructure_test_traits/synstructure_test_traits-0.1.0.ebuild
+++ b/dev-rust/synstructure_test_traits/synstructure_test_traits-0.1.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/sys-info/Manifest b/dev-rust/sys-info/Manifest
index f3a11f3..e43fbcc 100644
--- a/dev-rust/sys-info/Manifest
+++ b/dev-rust/sys-info/Manifest
@@ -1 +1 @@
-DIST sys-info-0.5.7.crate 10037 BLAKE2B 16675fc1f02f7ab6107137d8602cee528e4e98977d3801def8d355a84bcc1c9d998b45bc8f10304dedf833d7ca230e750e13a55a7c283bc771c7d7bbeb49bb11 SHA512 2c29067bdaaaf98c18850c8dd211cb3b0c38646f720afcb387846a4d92a1e56c5617c367fa4e2987831b7582039caeb1e45f827f5c6f0fc078bb69d1b243aa96
+DIST sys-info-0.9.1.crate 20589 BLAKE2B fb3c43a1368c9206393b28064b38a1560aeb863b9b0bc89c9bf6ccc344a46a590296df3596f421218d78c26ae90d3f869ef0457c8c34e8e8dcb9bbd92fee0450 SHA512 52e23efd5bba1ce07d7fffb8c2d6864a8056b1e8ce1b85c4d2d4b37b9d57dfa5a6c0eae9e2018e07af47469c3f7812ccbd27351cbd6c95a7b788ec87cd544b2e
diff --git a/dev-rust/sys-info/sys-info-0.5.7.ebuild b/dev-rust/sys-info/sys-info-0.5.7.ebuild
deleted file mode 100644
index e263cc9..0000000
--- a/dev-rust/sys-info/sys-info-0.5.7.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cros-rust
-
-DESCRIPTION="Get system information in Rust"
-HOMEPAGE="https://github.com/FillZpp/sys-info-rs"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND=">=dev-rust/libc-0.2:=
-	=dev-rust/cc-1*:=
-"
diff --git a/dev-rust/sys-info/sys-info-0.9.1.ebuild b/dev-rust/sys-info/sys-info-0.9.1.ebuild
new file mode 100644
index 0000000..7d340f9
--- /dev/null
+++ b/dev-rust/sys-info/sys-info-0.9.1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit cros-rust
+
+DESCRIPTION="Get system information in Rust"
+HOMEPAGE="https://github.com/FillZpp/sys-info-rs"
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND=">=dev-rust/libc-0.2:=
+	=dev-rust/cc-1*:=
+"
diff --git a/dev-rust/sys_util/sys_util-0.1.0-r198.ebuild b/dev-rust/sys_util/sys_util-0.1.0-r198.ebuild
deleted file mode 100644
index 0cef458..0000000
--- a/dev-rust/sys_util/sys_util-0.1.0-r198.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="c45faa08745f4d1110c1e3f0f0606e30358a5b6d"
-CROS_WORKON_TREE=("9a3194a3b312dea502b03dab12b6dd907cab1780" "657879d7112bd65f190dbbf687daca14399681d0")
-CROS_WORKON_LOCALNAME="../platform/crosvm"
-CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_RUST_SUBDIR="common/sys_util"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} .cargo"
-CROS_WORKON_SUBDIRS_TO_COPY=(${CROS_WORKON_SUTREE})
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Small system utility modules for usage by other modules."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/sys_util"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test"
-
-# ebuilds that install executables, import sys_util, and use the libcap
-# functionality need to RDEPEND on libcap
-DEPEND="
-	=dev-rust/android_log-sys-0.2*:=
-	dev-rust/assertions:=
-	dev-rust/sys_util_core:=
-	dev-rust/data_model:=
-	>=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0
-	=dev-rust/proc-macro2-1*:=
-	=dev-rust/quote-1*:=
-	=dev-rust/remain-0.2*:=
-	=dev-rust/serde-1*:=
-	=dev-rust/serde_json-1*:=
-	=dev-rust/syn-1*:=
-	dev-rust/sync:=
-	dev-rust/tempfile:=
-	>=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
-	sys-libs/libcap:=
-"
-# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
-# installing binpkgs since the full source tree is required to use the crate.
-RDEPEND="${DEPEND}
-	!!<=dev-rust/sys_util-0.1.0-r60
-"
-
-src_test() {
-	local skip_tests=()
-
-	# These tests directly make a clone(2) syscall, which makes sanitizers very
-	# unhappy since they see memory allocated in the child process that is not
-	# freed (because it is owned by some other thread created by the test runner
-	# in the parent process).
-	cros-rust_use_sanitizers && skip_tests+=(--skip "fork::tests")
-	# The memfd_create() system call first appeared in Linux 3.17.  Skip guest
-	# memory tests for builders with older kernels.
-	local cut_version=$(ver_cut 1-2 "$(uname -r)")
-	if ver_test 3.17 -gt "${cut_version}"; then
-		skip_tests+=(--skip "guest_memory::tests")
-	fi
-
-	# If syslog isn't available, skip the tests.
-	[[ -S /dev/log ]] || skip_tests+=(--skip "syslog::tests")
-
-	# TODO(crbug.com/1157570) Remove once syslog module works in sandbox.
-	CROS_RUST_TEST_DIRECT_EXEC_ONLY="yes"
-	cros-rust_get_host_test_executables
-
-	cros-rust_src_test -- --test-threads=1 "${skip_tests[@]}"
-}
-
-# This crate has moved from sys_util to sys_util_core, however we need to prevent
-# this ebuild file from removing the symlinks added by sys_util_core after they were installed.
-# TODO(b/219578294): Remove once eclass is updated to handle this case.
-pkg_postinst() {
-	cros-rust_pkg_postinst poll_token_derive
-	cros-rust_pkg_postinst
-}
diff --git a/dev-rust/sys_util/sys_util-0.1.0-r206.ebuild b/dev-rust/sys_util/sys_util-0.1.0-r206.ebuild
new file mode 100644
index 0000000..b266e9b
--- /dev/null
+++ b/dev-rust/sys_util/sys_util-0.1.0-r206.ebuild
@@ -0,0 +1,83 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b1ed0beba584345490400f9e82b43ee32d48f792"
+CROS_WORKON_TREE=("38989e6bcb3123982d0c467ade366c30751a860a" "a920b8bc18a923d5cfa6abfb5390bc903526beef")
+CROS_WORKON_LOCALNAME="../platform/crosvm"
+CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_RUST_SUBDIR="common/sys_util"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} .cargo"
+CROS_WORKON_SUBDIRS_TO_COPY=(${CROS_WORKON_SUTREE})
+
+# The version of this crate is pinned. See b/229016539 for details.
+CROS_WORKON_MANUAL_UPREV="1"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Small system utility modules for usage by other modules."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/sys_util"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test"
+
+# ebuilds that install executables, import sys_util, and use the libcap
+# functionality need to RDEPEND on libcap
+DEPEND="
+	=dev-rust/android_log-sys-0.2*:=
+	dev-rust/assertions:=
+	dev-rust/sys_util_core:=
+	dev-rust/data_model:=
+	>=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0
+	=dev-rust/proc-macro2-1*:=
+	=dev-rust/quote-1*:=
+	=dev-rust/remain-0.2*:=
+	=dev-rust/serde-1*:=
+	=dev-rust/serde_json-1*:=
+	=dev-rust/syn-1*:=
+	dev-rust/sync:=
+	dev-rust/tempfile:=
+	>=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
+	sys-libs/libcap:=
+"
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}
+	!!<=dev-rust/sys_util-0.1.0-r60
+"
+
+src_test() {
+	local skip_tests=()
+
+	# These tests directly make a clone(2) syscall, which makes sanitizers very
+	# unhappy since they see memory allocated in the child process that is not
+	# freed (because it is owned by some other thread created by the test runner
+	# in the parent process).
+	cros-rust_use_sanitizers && skip_tests+=(--skip "fork::tests")
+	# The memfd_create() system call first appeared in Linux 3.17.  Skip guest
+	# memory tests for builders with older kernels.
+	local cut_version=$(ver_cut 1-2 "$(uname -r)")
+	if ver_test 3.17 -gt "${cut_version}"; then
+		skip_tests+=(--skip "guest_memory::tests")
+	fi
+
+	# If syslog isn't available, skip the tests.
+	[[ -S /dev/log ]] || skip_tests+=(--skip "syslog::tests")
+
+	# TODO(crbug.com/1157570) Remove once syslog module works in sandbox.
+	CROS_RUST_TEST_DIRECT_EXEC_ONLY="yes"
+	cros-rust_get_host_test_executables
+
+	cros-rust_src_test -- --test-threads=1 "${skip_tests[@]}"
+}
+
+# This crate has moved from sys_util to sys_util_core, however we need to prevent
+# this ebuild file from removing the symlinks added by sys_util_core after they were installed.
+# TODO(b/219578294): Remove once eclass is updated to handle this case.
+pkg_postinst() {
+	cros-rust_pkg_postinst poll_token_derive
+	cros-rust_pkg_postinst
+}
diff --git a/dev-rust/sys_util/sys_util-9999.ebuild b/dev-rust/sys_util/sys_util-9999.ebuild
index b74550a..135c4ef 100644
--- a/dev-rust/sys_util/sys_util-9999.ebuild
+++ b/dev-rust/sys_util/sys_util-9999.ebuild
@@ -10,6 +10,9 @@
 CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} .cargo"
 CROS_WORKON_SUBDIRS_TO_COPY=(${CROS_WORKON_SUTREE})
 
+# The version of this crate is pinned. See b/229016539 for details.
+CROS_WORKON_MANUAL_UPREV="1"
+
 inherit cros-workon cros-rust
 
 DESCRIPTION="Small system utility modules for usage by other modules."
diff --git a/dev-rust/sys_util_core/sys_util_core-0.1.0-r2.ebuild b/dev-rust/sys_util_core/sys_util_core-0.1.0-r2.ebuild
deleted file mode 100644
index 73fde16..0000000
--- a/dev-rust/sys_util_core/sys_util_core-0.1.0-r2.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="c45faa08745f4d1110c1e3f0f0606e30358a5b6d"
-CROS_WORKON_TREE=("74abdd11e59b7e540f5df99f6235e4cd890ee3e3" "657879d7112bd65f190dbbf687daca14399681d0")
-CROS_WORKON_LOCALNAME="../platform/crosvm"
-CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_RUST_SUBDIR="common/sys_util_core"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} .cargo"
-CROS_WORKON_SUBDIRS_TO_COPY=(${CROS_WORKON_SUTREE})
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Internal dependency of dev-rust/sys_util. Do not use directly"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/common/sys_util_core"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test"
-
-DEPEND="
-	>=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0
-	=dev-rust/remain-0.2*:=
-	>=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
-"
-
-# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
-# installing binpkgs since the full source tree is required to use the crate.
-# Also, do not allow to be installed with older versions of sys_util to prevent file collisions.
-RDEPEND="
-	${DEPEND}
-	!<dev-rust/sys_util-0.1.0-r197
-"
-src_install() {
-	(
-		cd poll_token_derive || die
-		cros-rust_publish poll_token_derive "$(cros-rust_get_crate_version .)"
-	)
-
-	cros-rust_src_install
-}
-
-pkg_preinst() {
-	cros-rust_pkg_preinst poll_token_derive
-	cros-rust_pkg_preinst
-}
-
-pkg_postinst() {
-	cros-rust_pkg_postinst poll_token_derive
-	cros-rust_pkg_postinst
-}
-
-pkg_prerm() {
-	cros-rust_pkg_prerm poll_token_derive
-	cros-rust_pkg_prerm
-}
-
-pkg_postrm() {
-	cros-rust_pkg_postrm poll_token_derive
-	cros-rust_pkg_postrm
-}
diff --git a/dev-rust/sys_util_core/sys_util_core-0.1.0-r8.ebuild b/dev-rust/sys_util_core/sys_util_core-0.1.0-r8.ebuild
new file mode 100644
index 0000000..992f502
--- /dev/null
+++ b/dev-rust/sys_util_core/sys_util_core-0.1.0-r8.ebuild
@@ -0,0 +1,68 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b1ed0beba584345490400f9e82b43ee32d48f792"
+CROS_WORKON_TREE=("2e81210aa1a57e94b0ba73a3c478e68e1af94e73" "a920b8bc18a923d5cfa6abfb5390bc903526beef")
+CROS_WORKON_LOCALNAME="../platform/crosvm"
+CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_RUST_SUBDIR="common/sys_util_core"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} .cargo"
+CROS_WORKON_SUBDIRS_TO_COPY=(${CROS_WORKON_SUTREE})
+
+# The version of this crate is pinned. See b/229016539 for details.
+CROS_WORKON_MANUAL_UPREV="1"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Internal dependency of dev-rust/sys_util. Do not use directly"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/common/sys_util_core"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test"
+
+DEPEND="
+	>=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0
+	=dev-rust/remain-0.2*:=
+	=dev-rust/serde-1*:=
+	>=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
+"
+
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+# Also, do not allow to be installed with older versions of sys_util to prevent file collisions.
+RDEPEND="
+	${DEPEND}
+	!<dev-rust/sys_util-0.1.0-r197
+"
+src_install() {
+	(
+		cd poll_token_derive || die
+		cros-rust_publish poll_token_derive "$(cros-rust_get_crate_version .)"
+	)
+
+	cros-rust_src_install
+}
+
+pkg_preinst() {
+	cros-rust_pkg_preinst poll_token_derive
+	cros-rust_pkg_preinst
+}
+
+pkg_postinst() {
+	cros-rust_pkg_postinst poll_token_derive
+	cros-rust_pkg_postinst
+}
+
+pkg_prerm() {
+	cros-rust_pkg_prerm poll_token_derive
+	cros-rust_pkg_prerm
+}
+
+pkg_postrm() {
+	cros-rust_pkg_postrm poll_token_derive
+	cros-rust_pkg_postrm
+}
diff --git a/dev-rust/sys_util_core/sys_util_core-9999.ebuild b/dev-rust/sys_util_core/sys_util_core-9999.ebuild
index ccff3af..72e5690 100644
--- a/dev-rust/sys_util_core/sys_util_core-9999.ebuild
+++ b/dev-rust/sys_util_core/sys_util_core-9999.ebuild
@@ -10,6 +10,9 @@
 CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} .cargo"
 CROS_WORKON_SUBDIRS_TO_COPY=(${CROS_WORKON_SUTREE})
 
+# The version of this crate is pinned. See b/229016539 for details.
+CROS_WORKON_MANUAL_UPREV="1"
+
 inherit cros-workon cros-rust
 
 DESCRIPTION="Internal dependency of dev-rust/sys_util. Do not use directly"
@@ -22,6 +25,7 @@
 DEPEND="
 	>=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0
 	=dev-rust/remain-0.2*:=
+	=dev-rust/serde-1*:=
 	>=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
 "
 
diff --git a/dev-rust/syslog/Manifest b/dev-rust/syslog/Manifest
index d626af1..2e60e9a 100644
--- a/dev-rust/syslog/Manifest
+++ b/dev-rust/syslog/Manifest
@@ -1 +1,2 @@
 DIST syslog-4.0.1.crate 7131 BLAKE2B a6555d6eed6a0701cca7d58554f2ee612a5d18975dc1979414ac536128e0e7d4a67dde0ad2e40b5ffec823f7edd55dc45d646097fcd457fa6124de95411b4c55 SHA512 faff2117fbf377343149e30a4b338fdd799fb7e4bf425962c2523423f8322aae75f180e4a4c42f1497239400cc60a49cfcf65c00c48433ac956ff17e52063341
+DIST syslog-6.0.1.crate 9552 BLAKE2B eb4414c675842fd8cbde4e0c9ecec5dd0f43ca2877a082d634e145202df6817cee86e2edb11f1b78cfa5b0e5df98a42b6cdb2bf1b70c562661dfa9c03da142ba SHA512 fc3e0ef078d2414420e717b66517e9fc668a03b5d0cd0001aed6e477a92f2873877b873159bdf964e4cd670519e5a308bc7357674bd67ac320754221415aa36c
diff --git a/dev-rust/syslog/syslog-4.0.1-r1.ebuild b/dev-rust/syslog/syslog-4.0.1-r1.ebuild
deleted file mode 100644
index 74710e8..0000000
--- a/dev-rust/syslog/syslog-4.0.1-r1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cros-rust
-
-DESCRIPTION="Send log messages to syslog."
-HOMEPAGE="https://github.com/Geal/rust-syslog"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND=">=dev-rust/error-chain-0.11.0:=
-	>=dev-rust/libc-0.2.0:=
-	>=dev-rust/log-0.4.1:=
-	>=dev-rust/time-0.1.0:=
-	>=dev-rust/unix_socket-0.5.0:=
-"
diff --git a/dev-rust/syslog/syslog-4.0.1-r2.ebuild b/dev-rust/syslog/syslog-4.0.1-r2.ebuild
new file mode 100644
index 0000000..d035002
--- /dev/null
+++ b/dev-rust/syslog/syslog-4.0.1-r2.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit cros-rust
+
+DESCRIPTION="Send log messages to syslog."
+HOMEPAGE="https://github.com/Geal/rust-syslog"
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="=dev-rust/error-chain-0.11*:=
+	=dev-rust/libc-0.2*:=
+	=dev-rust/log-0.4*:=
+	=dev-rust/time-0.1*:=
+	=dev-rust/unix_socket-0.5*:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-rust/syslog/syslog-6.0.1.ebuild b/dev-rust/syslog/syslog-6.0.1.ebuild
new file mode 100644
index 0000000..139980e
--- /dev/null
+++ b/dev-rust/syslog/syslog-6.0.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Send log messages to syslog'
+HOMEPAGE='https://crates.io/crates/syslog'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/error-chain-0.12.2 <dev-rust/error-chain-0.13.0_alpha:=
+	>=dev-rust/hostname-0.3.1 <dev-rust/hostname-0.4.0_alpha:=
+	>=dev-rust/libc-0.2.112 <dev-rust/libc-0.3.0_alpha:=
+	>=dev-rust/log-0.4.8 <dev-rust/log-0.5.0_alpha:=
+	>=dev-rust/time-0.3.5 <dev-rust/time-0.4.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/system_api/OWNERS b/dev-rust/system_api/OWNERS
index fc8ecac..f3278bd 100644
--- a/dev-rust/system_api/OWNERS
+++ b/dev-rust/system_api/OWNERS
@@ -1 +1,3 @@
 include /dev-rust/chromeos-dbus-bindings/OWNERS
+include /chromeos-base/system_api/OWNERS
+include chromiumos/platform2:/system_api/src/OWNERS
diff --git a/dev-rust/system_api/system_api-0.24.53-r398.ebuild b/dev-rust/system_api/system_api-0.24.53-r398.ebuild
deleted file mode 100644
index c9c4fbd..0000000
--- a/dev-rust/system_api/system_api-0.24.53-r398.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="7b36ac47e88fa7b264e8fb56026ddd0142cb2597"
-CROS_WORKON_TREE=("e3e5fe456f70f36ffbf9a76df75279cb21db3213" "a0d8550678a1ed2a4ab62782049032a024bf40df" "ce5574dce15ac01944baf617d8b52ead9dca5c98" "51b217ebe9d2e2a749d0d8b01943858c3122191f" "e54be0f555fddae41c01fbbcabed7ed7973d78f3" "0fb497918a556fc7f79f1d7e5cede1d85be01409")
-CROS_RUST_SUBDIR="system_api"
-
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="../platform2"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} authpolicy/dbus_bindings cryptohome/dbus_bindings debugd/dbus_bindings login_manager/dbus_bindings shill/dbus_bindings"
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Chrome OS system API D-Bus bindings for Rust."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/system_api/"
-
-LICENSE="BSD-Google"
-SLOT="0/${PVR}"
-KEYWORDS="*"
-
-DEPEND="
-	dev-rust/chromeos-dbus-bindings:=
-	=dev-rust/dbus-0.9*:=
-	>=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3
-	>=dev-rust/protoc-rust-2.16.2:= <dev-rust/protoc-rust-3
-"
-# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
-# installing binpkgs since the full source tree is required to use the crate.
-RDEPEND="${DEPEND}
-	!chromeos-base/system_api-rust
-"
diff --git a/dev-rust/system_api/system_api-0.24.53-r581.ebuild b/dev-rust/system_api/system_api-0.24.53-r581.ebuild
new file mode 100644
index 0000000..5bb7419
--- /dev/null
+++ b/dev-rust/system_api/system_api-0.24.53-r581.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="bd1e9c1e5b99575aae4c3cbd6a2c102d567a7517"
+CROS_WORKON_TREE=("1341afbe61e8ddabb7a86b15e553b65d92db921d" "a0d8550678a1ed2a4ab62782049032a024bf40df" "a96eb8a2b84ea10696f5a6e64a2a3054dff17d99" "c7bd7c1304c81d7c3da4a5a1c334537d2a9a8226" "8829a5a24648f7ac6d85554f6e0e8bb8ac9cde29" "f43eb63aebfc423dae23b8ea345bb79d455c0e7b" "74d020c63f65b15d7fd8123e792b7c503561f297" "ddd22f0572ba73430977571c1084513fb9c7fcc3" "5807b49f2a89205c10a0208e1124edffbff205af")
+CROS_RUST_SUBDIR="system_api"
+
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} authpolicy/dbus_bindings cryptohome/dbus_bindings debugd/dbus_bindings dlcservice/dbus_adaptors login_manager/dbus_bindings shill/dbus_bindings power_manager/dbus_bindings vtpm"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Chrome OS system API D-Bus bindings for Rust."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/system_api/"
+
+LICENSE="BSD-Google"
+SLOT="0/${PVR}"
+KEYWORDS="*"
+
+DEPEND="
+	dev-rust/chromeos-dbus-bindings:=
+	=dev-rust/dbus-0.9*:=
+	>=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3
+	>=dev-rust/protoc-rust-2.16.2:= <dev-rust/protoc-rust-3
+"
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}
+	!chromeos-base/system_api-rust
+"
+
+src_install() {
+	# We don't want the build.rs to get packaged with the crate. Otherwise
+	# we will try and regenerate the bindings.
+	rm build.rs || die "Cannot remove build.rs"
+
+	cros-rust_src_install
+}
diff --git a/dev-rust/system_api/system_api-9999.ebuild b/dev-rust/system_api/system_api-9999.ebuild
index 672819c..7c12303 100644
--- a/dev-rust/system_api/system_api-9999.ebuild
+++ b/dev-rust/system_api/system_api-9999.ebuild
@@ -7,7 +7,7 @@
 
 CROS_WORKON_PROJECT="chromiumos/platform2"
 CROS_WORKON_LOCALNAME="../platform2"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} authpolicy/dbus_bindings cryptohome/dbus_bindings debugd/dbus_bindings login_manager/dbus_bindings shill/dbus_bindings"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} authpolicy/dbus_bindings cryptohome/dbus_bindings debugd/dbus_bindings dlcservice/dbus_adaptors login_manager/dbus_bindings shill/dbus_bindings power_manager/dbus_bindings vtpm"
 
 inherit cros-workon cros-rust
 
@@ -29,3 +29,11 @@
 RDEPEND="${DEPEND}
 	!chromeos-base/system_api-rust
 "
+
+src_install() {
+	# We don't want the build.rs to get packaged with the crate. Otherwise
+	# we will try and regenerate the bindings.
+	rm build.rs || die "Cannot remove build.rs"
+
+	cros-rust_src_install
+}
diff --git a/dev-rust/term_size/term_size-0.3.0.ebuild b/dev-rust/term_size/term_size-0.3.0.ebuild
index db7b933..c0a1dee 100644
--- a/dev-rust/term_size/term_size-0.3.0.ebuild
+++ b/dev-rust/term_size/term_size-0.3.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty term_size crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/terminal_size/Manifest b/dev-rust/terminal_size/Manifest
new file mode 100644
index 0000000..17c2ef3
--- /dev/null
+++ b/dev-rust/terminal_size/Manifest
@@ -0,0 +1 @@
+DIST terminal_size-0.1.17.crate 9141 BLAKE2B 048d8e8e9dad08aecde12323681d428b9182afb737136cd6699e13d231f7882091c9167cb10a08e5151df912421a6f89132645627e42ccc73d07553cadb1c8cd SHA512 96ec1bc8abd597f01ae59da567036d5d40b422764a4da662e2030c3ef4ce80a983c8b6a4ef1f34d88e649e0b1ea27b206d56a31924bcd2d31ff7e5a2e96d4201
diff --git a/dev-rust/terminal_size/terminal_size-0.1.12.ebuild b/dev-rust/terminal_size/terminal_size-0.1.12.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/terminal_size/terminal_size-0.1.12.ebuild
+++ b/dev-rust/terminal_size/terminal_size-0.1.12.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/terminal_size/terminal_size-0.1.17.ebuild b/dev-rust/terminal_size/terminal_size-0.1.17.ebuild
new file mode 100644
index 0000000..37a315f
--- /dev/null
+++ b/dev-rust/terminal_size/terminal_size-0.1.17.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+CROS_RUST_REMOVE_TARGET_CFG=1
+
+inherit cros-rust
+
+DESCRIPTION='Gets the size of your Linux or Windows terminal'
+HOMEPAGE='https://crates.io/crates/terminal_size'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/libc-0.2*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
+
+# ---- unix::compare_with_stty stdout ----
+# 0 0
+#
+# 0 0
+# thread 'unix::compare_with_stty' panicked at 'terminal_size() return None', src/unix.rs:115:9
+RESTRICT="test"
diff --git a/dev-rust/termion/Manifest b/dev-rust/termion/Manifest
deleted file mode 100644
index b264af0..0000000
--- a/dev-rust/termion/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST termion-1.5.1.crate 20659 BLAKE2B 5b4291c2c26a074c16eac2e7bcb40467380181bac69c941e5c958059dc239cbbfd74872d9bd3da65245d010f9fc39804c43dc96f4caab2499b021cf35977a6b0 SHA512 1d1536f08600c7c1f414b4579a1a6e7eff91f4c105504125118d3cadf71c7886a352d1c5f7e07f3d7c28aa8b4752f07b51eddb4d9adc6a9286f7b6bade2bec76
diff --git a/dev-rust/termion/termion-1.5.1-r1.ebuild b/dev-rust/termion/termion-1.5.1-r1.ebuild
deleted file mode 120000
index 40175f4..0000000
--- a/dev-rust/termion/termion-1.5.1-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-termion-1.5.1.ebuild
\ No newline at end of file
diff --git a/dev-rust/termion/termion-1.5.1.ebuild b/dev-rust/termion/termion-1.5.1.ebuild
deleted file mode 100644
index bbbe746..0000000
--- a/dev-rust/termion/termion-1.5.1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cros-rust
-
-DESCRIPTION="A bindless library for manipulating terminals."
-HOMEPAGE="https://gitlab.redox-os.org/redox-os/termion"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/libc-0.2.8:=
-	>=dev-rust/redox_syscall-0.1.0:=
-	>=dev-rust/redox_termios-0.1.0:=
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-rust/textwrap/Manifest b/dev-rust/textwrap/Manifest
index a367a64..090c774 100644
--- a/dev-rust/textwrap/Manifest
+++ b/dev-rust/textwrap/Manifest
@@ -1,2 +1,3 @@
 DIST textwrap-0.11.0.crate 17322 BLAKE2B 257428908342774593bbd3528fcdae710712ff54e8a711393a24356d8ba0e16e466a4b20c05f942c48ca76b3b5b5aaa90ec202f782cad892caa8b71ccf124da6 SHA512 f5c0fe4f28ff1a3a0931e8e235b5157a45f67967985bcc752418c5ec3481fca44a8ae4800088889b37e8cd0533f53d3c456d5ffd19b767b3f83a87b49a2e209a
 DIST textwrap-0.12.1.crate 23964 BLAKE2B 4024e84d2e72c7116aa3fc10c64be75da4bd082c8d769f4c0d75db60c988b8f3aba4f9f0ac5010a7fc7747e6ec21acfb280886fb14fc6f57a2a0e880257708c1 SHA512 6076afc86110e978d55cdfde41e05eb847c50da21237d88eec73873547d601ec6cedcc23dad738ccee9ec96e0488dc26ba4d0bf039110698a875541d79db25c2
+DIST textwrap-0.15.0.crate 52998 BLAKE2B f6c3057ea6ffde88dd9824cd3159d398316d9d21f327d2af59239ff84d79f893a9d0e96dfbd883aab6c64b631dc99457018e38baf14d40789f02d633425ded86 SHA512 f44271c542c22f17a4e3a459255f95e6c02d999f7d6bc8414d3973fd4ac9353aa4ef436932a45340738126905463d776902715feaa9329371f8a14f14b5a7bfd
diff --git a/dev-rust/textwrap/textwrap-0.11.0.ebuild b/dev-rust/textwrap/textwrap-0.11.0.ebuild
index 026c590..4962bc5 100644
--- a/dev-rust/textwrap/textwrap-0.11.0.ebuild
+++ b/dev-rust/textwrap/textwrap-0.11.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/textwrap/textwrap-0.15.0.ebuild b/dev-rust/textwrap/textwrap-0.15.0.ebuild
new file mode 100644
index 0000000..5b2cf9f
--- /dev/null
+++ b/dev-rust/textwrap/textwrap-0.15.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Powerful library for word wrapping, indenting, and dedenting strings'
+HOMEPAGE='https://crates.io/crates/textwrap'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/hyphenation-0.8.4 <dev-rust/hyphenation-0.9.0_alpha:=
+	>=dev-rust/smawk-0.3.1 <dev-rust/smawk-0.4.0_alpha:=
+	>=dev-rust/terminal_size-0.1.17 <dev-rust/terminal_size-0.2.0_alpha:=
+	>=dev-rust/unicode-linebreak-0.1.2 <dev-rust/unicode-linebreak-0.2.0_alpha:=
+	>=dev-rust/unicode-width-0.1.9 <dev-rust/unicode-width-0.2.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/thread-id/thread-id-3.3.0.ebuild b/dev-rust/thread-id/thread-id-3.3.0.ebuild
index f17ce2e..c3ea012 100644
--- a/dev-rust/thread-id/thread-id-3.3.0.ebuild
+++ b/dev-rust/thread-id/thread-id-3.3.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/thread-id/thread-id-4.0.0.ebuild b/dev-rust/thread-id/thread-id-4.0.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/thread-id/thread-id-4.0.0.ebuild
+++ b/dev-rust/thread-id/thread-id-4.0.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/thread_local/Manifest b/dev-rust/thread_local/Manifest
index f7a15d3..c8321a8 100644
--- a/dev-rust/thread_local/Manifest
+++ b/dev-rust/thread_local/Manifest
@@ -1 +1 @@
-DIST thread_local-1.0.1.crate 12609 BLAKE2B 34206b5232262cda9cc0fb970e20f154d43ff1c4477a5ad5ff9200e6d874a6c7b2bcd99a2dae75a984b54574281e049ad35307ace0dd188f44c9a95fa93139cf SHA512 f2bfca4eee32a8fc88a01ff5bf24518c12142228d95916d13aae35ed6addd0b7da2235359f15220049ef197555344ac31a8833775e7a5bd49144db9c54b3165b
+DIST thread_local-1.1.4.crate 13106 BLAKE2B 64c19368f8cec46f23b3052759c4c4ef0de50748432790e6ea11b12477239b177d54e60b9046fdcb2f495b8e0b37ad82809d03602edab9fc85cf814e3bd94fe2 SHA512 db7ff3eb88a73d9313dd58d72397614c5aae6be1d64ead7f16535cae2857be3b27d189e7955308591ec64a0d67777fd2a62a2b124ca73facb9a2d8e0458bdbb5
diff --git a/dev-rust/thread_local/thread_local-1.0.1.ebuild b/dev-rust/thread_local/thread_local-1.0.1.ebuild
deleted file mode 100644
index 3426559..0000000
--- a/dev-rust/thread_local/thread_local-1.0.1.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="Per-object thread-local storage."
-HOMEPAGE="https://github.com/Amanieu/thread_local-rs"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="=dev-rust/lazy_static-1*:="
diff --git a/dev-rust/thread_local/thread_local-1.1.4.ebuild b/dev-rust/thread_local/thread_local-1.1.4.ebuild
new file mode 100644
index 0000000..0528438
--- /dev/null
+++ b/dev-rust/thread_local/thread_local-1.1.4.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Per-object thread-local storage'
+HOMEPAGE='https://crates.io/crates/thread_local'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/criterion-0.3.3 <dev-rust/criterion-0.4.0_alpha:=
+	>=dev-rust/once_cell-1.5.2 <dev-rust/once_cell-2.0.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/tiff/tiff-0.6.0.ebuild b/dev-rust/tiff/tiff-0.6.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/tiff/tiff-0.6.0.ebuild
+++ b/dev-rust/tiff/tiff-0.6.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/time-macros/Manifest b/dev-rust/time-macros/Manifest
new file mode 100644
index 0000000..de19ad5
--- /dev/null
+++ b/dev-rust/time-macros/Manifest
@@ -0,0 +1 @@
+DIST time-macros-0.2.4.crate 18421 BLAKE2B 6806e235cc7258a76877f705a8637c39bc30316603c7eedd4795a3a597d8d1e78a79c213af84cc184fe3b67c5c3f6f9efeb95c70f6f4239af1882916afdca834 SHA512 f3887ce839db40d13c143a9f11bea804fe4760ab2655df68cbba9029cfff7d0476135608fbfdba6cdec1f9b0753b2de0e3ce0161b40c5d2b9596980d9deaae59
diff --git a/dev-rust/time-macros/OWNERS b/dev-rust/time-macros/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/time-macros/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/time-macros/time-macros-0.2.4.ebuild b/dev-rust/time-macros/time-macros-0.2.4.ebuild
new file mode 100644
index 0000000..156e4a6
--- /dev/null
+++ b/dev-rust/time-macros/time-macros-0.2.4.ebuild
@@ -0,0 +1,19 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Procedural macros for the time crate.'
+HOMEPAGE='https://crates.io/crates/time-macros'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/time/Manifest b/dev-rust/time/Manifest
index 0c4418c..cbbc21e 100644
--- a/dev-rust/time/Manifest
+++ b/dev-rust/time/Manifest
@@ -1 +1,2 @@
 DIST time-0.1.44.crate 28885 BLAKE2B 5e2ca11af9da0847239a086330d0cd00fcb5b63862f9dfec46f72a065bb35ec2236a21ee1c56bf65e3117105e7815cafe67e3725b8575373e875dfcea401d967 SHA512 736a38637be0193a06fa35d42b4873b04a0a35d84cd2af85b7f653a1b67b95078577134bb187b777730e73cce67f437b45ff5c72b8e3f1f8e2ed3420ea0324cf
+DIST time-0.3.9.crate 81412 BLAKE2B 018cd6ee08fc16cb91b894f15e20c41dfcea51691551e54b4252af27b6368e42c6c3c86734dcff2f9742d93829b1e0b5186aad77b96bf5aab01796f480385497 SHA512 2dd8c57d2fc232d8a05109f0d41f964fc587345eff0a68c42c2b1690d6da1a4868188df7f03bece12148e7434b973c472fb0c85fa1f840053da3b30cf6c47e80
diff --git a/dev-rust/time/time-0.3.9.ebuild b/dev-rust/time/time-0.3.9.ebuild
new file mode 100644
index 0000000..7767f5a
--- /dev/null
+++ b/dev-rust/time/time-0.3.9.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Date and time library. Fully interoperable with the standard library. Mostly compatible with #![no_std].'
+HOMEPAGE='https://time-rs.github.io'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/itoa-1.0.1 <dev-rust/itoa-2.0.0_alpha:=
+	>=dev-rust/quickcheck-1.0.3 <dev-rust/quickcheck-2.0.0_alpha:=
+	>=dev-rust/rand-0.8.4 <dev-rust/rand-0.9.0_alpha:=
+	>=dev-rust/serde-1.0.126 <dev-rust/serde-2.0.0_alpha:=
+	~dev-rust/time-macros-0.2.4:=
+	>=dev-rust/libc-0.2.98 <dev-rust/libc-0.3.0_alpha:=
+	>=dev-rust/num_threads-0.1.2 <dev-rust/num_threads-0.2.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/timeout-readwrite/Manifest b/dev-rust/timeout-readwrite/Manifest
index a65b21e..cd54331 100644
--- a/dev-rust/timeout-readwrite/Manifest
+++ b/dev-rust/timeout-readwrite/Manifest
@@ -1 +1 @@
-DIST timeout-readwrite-0.3.1.crate 10453 BLAKE2B d94c2d51b0ce0103c8eaa29e5d79f8401591405d9c4ffeff540aa3f65bcbef03c1f0bf1e50b481fc07f8bdc69e764d2e083ab24372bcb2fc84d4ee8f826d869c SHA512 d84f49fa74562209422d132e9a5965e1a94c24620bc906e4db6e58329b473cc2f3844adc114cc30377a1ee8ce26fbfac9da740cf54284133a6ac2d813b74d62d
+DIST timeout-readwrite-0.3.2.crate 10269 BLAKE2B 5a02c2742cd5d089d020d01351ae3cccb725df4835553c565fad72c11c573c0aa7f71f5d9dfec27c9b165c61bc1ea37225f56c299a6e6e13f94383c73d9cb826 SHA512 4bc5496f416842309262ff3b575d4ef1d9ca91ebed2bdea6a073e587aa8f3fb89cc7471fffdecf64867a7a2fd135fb52d56090e78f0937fdbfca7795ee70014d
diff --git a/dev-rust/timeout-readwrite/files/timeout-readwrite-0.3.1-nix-dependency.patch b/dev-rust/timeout-readwrite/files/timeout-readwrite-0.3.1-nix-dependency.patch
deleted file mode 100644
index 4520ba7..0000000
--- a/dev-rust/timeout-readwrite/files/timeout-readwrite-0.3.1-nix-dependency.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Cargo.toml	2020-11-03 13:26:25.448253215 -0800
-+++ b/Cargo.toml	2020-11-03 13:26:37.736262013 -0800
-@@ -23,7 +23,7 @@
- license = "MIT/Apache-2.0"
- repository = "https://github.com/jcreekmore/timeout-readwrite-rs"
- [dependencies.nix]
--version = "0.17.0"
-+version = ">=0.17.0, <0.20.0"
- [dev-dependencies.lazy_static]
- version = "1.3.0"
- [badges.travis-ci]
diff --git a/dev-rust/timeout-readwrite/timeout-readwrite-0.3.1.ebuild b/dev-rust/timeout-readwrite/timeout-readwrite-0.3.1.ebuild
deleted file mode 100644
index 8831462..0000000
--- a/dev-rust/timeout-readwrite/timeout-readwrite-0.3.1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cros-rust
-
-DESCRIPTION="A Rust crate providing Reader and Writer structs that timeout"
-HOMEPAGE="https://github.com/jcreekmore/timeout-readwrite-rs"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-PATCHES=( "${FILESDIR}/${PN}-${PV}-nix-dependency.patch" )
-
-DEPEND="
-	>=dev-rust/lazy_static-1.3.0:= <dev-rust/lazy_static-2.0.0
-	>=dev-rust/nix-0.17.0:= <dev-rust/nix-0.20.0
-"
diff --git a/dev-rust/timeout-readwrite/timeout-readwrite-0.3.2.ebuild b/dev-rust/timeout-readwrite/timeout-readwrite-0.3.2.ebuild
new file mode 100644
index 0000000..891b428
--- /dev/null
+++ b/dev-rust/timeout-readwrite/timeout-readwrite-0.3.2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Adds timeout capabilities to Readers and Writers'
+HOMEPAGE='https://github.com/jcreekmore/timeout-readwrite-rs'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/nix-0.23*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/tinyvec/Manifest b/dev-rust/tinyvec/Manifest
new file mode 100644
index 0000000..41331fe
--- /dev/null
+++ b/dev-rust/tinyvec/Manifest
@@ -0,0 +1 @@
+DIST tinyvec-1.5.1.crate 44942 BLAKE2B d02f610dfb599ae4957d81140bb8945f4cae49c1b7ec5de4bd4a7d07a1334cd00557993dfae2516d506f362305025bd1a6617d55efdad8ebb549fe573e9e6f21 SHA512 80b68058e3264b3fbc537debf01b6b60d438bf5cba6ad366083cb440ed6b45587f367d3a134ec6fab769495b94413d0eca47544b26959a2c35b1a997423eb849
diff --git a/dev-rust/tinyvec/OWNERS b/dev-rust/tinyvec/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/tinyvec/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/tinyvec/tinyvec-1.5.1.ebuild b/dev-rust/tinyvec/tinyvec-1.5.1.ebuild
new file mode 100644
index 0000000..8fdc84e
--- /dev/null
+++ b/dev-rust/tinyvec/tinyvec-1.5.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit cros-rust
+
+DESCRIPTION='"tinyvec" provides 100% safe vec-like data structures.'
+HOMEPAGE='https://crates.io/crates/tinyvec'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/arbitrary-1*:=
+	=dev-rust/serde-1*:=
+	=dev-rust/tinyvec_macros-0.1*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/tinyvec_macros/Manifest b/dev-rust/tinyvec_macros/Manifest
new file mode 100644
index 0000000..22fa116
--- /dev/null
+++ b/dev-rust/tinyvec_macros/Manifest
@@ -0,0 +1 @@
+DIST tinyvec_macros-0.1.0.crate 1817 BLAKE2B a3d1966bf57c11afcd026269135a6189f149f905bb70b47537c0a7bcaef0bfc6c89bdcbdb0f6cb8e5255632855134631c683fc90606a254ec8ba818fd5ef0794 SHA512 d6afc83a3c70cde916a6ff599e2772588e4bbfa7a5b1c7e5c8aa0f4a8a5c9426182497a644e4a88194ece986d38fa64b6c8eda9eb1630441c8e65a8741a45873
diff --git a/dev-rust/tinyvec_macros/OWNERS b/dev-rust/tinyvec_macros/OWNERS
new file mode 100644
index 0000000..6219107
--- /dev/null
+++ b/dev-rust/tinyvec_macros/OWNERS
@@ -0,0 +1 @@
+samjaco@google.com
diff --git a/dev-rust/tinyvec_macros/tinyvec_macros-0.1.0.ebuild b/dev-rust/tinyvec_macros/tinyvec_macros-0.1.0.ebuild
new file mode 100644
index 0000000..5a50579
--- /dev/null
+++ b/dev-rust/tinyvec_macros/tinyvec_macros-0.1.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Some macros for tiny containers'
+HOMEPAGE='https://crates.io/crates/tinyvec_macros'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/tlsdate_dbus/tlsdate_dbus-0.24.52-r29.ebuild b/dev-rust/tlsdate_dbus/tlsdate_dbus-0.24.52-r29.ebuild
deleted file mode 100644
index cac8621..0000000
--- a/dev-rust/tlsdate_dbus/tlsdate_dbus-0.24.52-r29.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="677864213888d39b3326ad4c6a3dcb9560c44ca4"
-CROS_WORKON_TREE="e559de3e87a1762e6208a03f18c0122467a0fb0e"
-CROS_WORKON_PROJECT="chromiumos/third_party/tlsdate"
-CROS_WORKON_EGIT_BRANCH="master"
-CROS_WORKON_LOCALNAME="tlsdate"
-
-inherit cros-workon cros-rust
-
-CROS_RUST_SUBDIR=""
-
-DESCRIPTION="Rust D-Bus bindings for tlsdate."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/tlsdate/+/master/"
-
-LICENSE="BSD-Google"
-SLOT="0/${PVR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/dbus-0.9*:=
-	dev-rust/chromeos-dbus-bindings:=
-"
-# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
-# installing binpkgs since the full source tree is required to use the crate.
-RDEPEND="${DEPEND}"
diff --git a/dev-rust/tlsdate_dbus/tlsdate_dbus-0.24.52-r33.ebuild b/dev-rust/tlsdate_dbus/tlsdate_dbus-0.24.52-r33.ebuild
new file mode 100644
index 0000000..a5d6913
--- /dev/null
+++ b/dev-rust/tlsdate_dbus/tlsdate_dbus-0.24.52-r33.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="cf13bc4fd99a3ef6d696307649299ac9badfb7e2"
+CROS_WORKON_TREE="621e47f9f541786981ded938a7e7890f3fba236a"
+CROS_WORKON_PROJECT="chromiumos/third_party/tlsdate"
+CROS_WORKON_EGIT_BRANCH="master"
+CROS_WORKON_LOCALNAME="tlsdate"
+
+inherit cros-workon cros-rust
+
+CROS_RUST_SUBDIR=""
+
+DESCRIPTION="Rust D-Bus bindings for tlsdate."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/tlsdate/+/master/"
+
+LICENSE="BSD-Google"
+SLOT="0/${PVR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/dbus-0.9*:=
+	dev-rust/chromeos-dbus-bindings:=
+"
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}"
diff --git a/dev-rust/tokio-buf/Manifest b/dev-rust/tokio-buf/Manifest
deleted file mode 100644
index 924bbb4..0000000
--- a/dev-rust/tokio-buf/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST tokio-buf-0.1.1.crate 10815 BLAKE2B 0d3970a3722e3be109f8808bb7e26db618ceb22a8a1156ce219e6af9930b7f9f9948dab61fa4fa146e5eefcb7deb1332fcd643e0c3e64a879ce32305d0efeb94 SHA512 42f5db4f9ff1d0c6728c9ca899b85e40eaa92910d23f01dd7570c5988178879f3977ee2ad14f0f224562fa73ff8b01687dc963def2c62e93ac471903d5ce4e81
diff --git a/dev-rust/tokio-buf/tokio-buf-0.1.1.ebuild b/dev-rust/tokio-buf/tokio-buf-0.1.1.ebuild
deleted file mode 100644
index 05cf840..0000000
--- a/dev-rust/tokio-buf/tokio-buf-0.1.1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cros-rust
-
-DESCRIPTION="Asynchronous stream of byte buffers"
-HOMEPAGE="https://github.com/tokio-rs/tokio"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/bytes-0.4.10:=
-	>=dev-rust/futures-0.1.23:=
-	>=dev-rust/either-1.5:=
-	>=dev-rust/tokio-mock-task-0.1.1:=
-"
diff --git a/dev-rust/tokio-codec/Manifest b/dev-rust/tokio-codec/Manifest
deleted file mode 100644
index 1ab7e172..0000000
--- a/dev-rust/tokio-codec/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST tokio-codec-0.1.2.crate 7850 BLAKE2B 68e196f0cfe2742f5bd6a4074eafb7cc83d80622f51743e9cda367c8fb26bcf3a6a10772963e75f86c3ef054270f22a13e58a3455ee316145b111a2d6ad00053 SHA512 69bb3a0ea81fc8437fd57c2ee533f0674770182207576e463c8a5859956175a4619500b832863cae9ba9d0d09d76c33441c7b3e929896a61304b25c9d2dd6c94
diff --git a/dev-rust/tokio-codec/tokio-codec-0.1.2.ebuild b/dev-rust/tokio-codec/tokio-codec-0.1.2.ebuild
deleted file mode 100644
index 6772b66..0000000
--- a/dev-rust/tokio-codec/tokio-codec-0.1.2.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="Utilities for encoding and decoding frames."
-HOMEPAGE="https://tokio.rs"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/bytes-0.4.7:= <dev-rust/bytes-0.5.0
-	>=dev-rust/futures-0.1.18:= <dev-rust/futures-0.2.0
-	>=dev-rust/tokio-io-0.1.7:= <dev-rust/tokio-io-0.2.0
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/tokio-core/Manifest b/dev-rust/tokio-core/Manifest
deleted file mode 100644
index 1ec25ff..0000000
--- a/dev-rust/tokio-core/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST tokio-core-0.1.17.crate 73933 BLAKE2B 055028a3c6fa910bb94f3a40c445b65103f87661655489c3e40e24cad0040c2e2c11e28cd6e14ba61269eb7bd091e93b68e718c9343ae09325aa320e998fbf48 SHA512 ecf3a38f88bcce8003cd334292217efb406e31e9cdeea115fd2b2c79c126cfac615aa6c975d5b08be30ac449e5bffa552e2b002b1b9a5e2f4e3969cdfe19d520
diff --git a/dev-rust/tokio-core/files/tokio-core-0.1.17-0001-Remove-dev-dependencies.patch b/dev-rust/tokio-core/files/tokio-core-0.1.17-0001-Remove-dev-dependencies.patch
deleted file mode 100644
index 654e9c6..0000000
--- a/dev-rust/tokio-core/files/tokio-core-0.1.17-0001-Remove-dev-dependencies.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Removing flate2 dev dependency to avoid flate2 needing tokio feature.
---- a/Cargo.toml
-+++ b/Cargo-patch.toml
-@@ -56,10 +56,6 @@ version = "0.2.1"
- version = "0.4"
- default-features = false
- 
--[dev-dependencies.flate2]
--version = "1"
--features = ["tokio"]
--
- [dev-dependencies.futures-cpupool]
- version = "0.1"
- 
diff --git a/dev-rust/tokio-core/tokio-core-0.1.17-r1.ebuild b/dev-rust/tokio-core/tokio-core-0.1.17-r1.ebuild
deleted file mode 100644
index e020e9a..0000000
--- a/dev-rust/tokio-core/tokio-core-0.1.17-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="Core I/O and event loop abstraction for asynchronous I/O in Rust built on futures and mio."
-HOMEPAGE="https://tokio.rs/"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/bytes-0.4*:=
-	=dev-rust/futures-0.1*:=
-	=dev-rust/iovec-0.1*:=
-	=dev-rust/log-0.4*:=
-	>=dev-rust/mio-0.6.12:= <dev-rust/mio-0.7.0
-	=dev-rust/scoped-tls-0.1*:=
-	>=dev-rust/tokio-0.1.5:= <dev-rust/tokio-0.2.0
-	>=dev-rust/tokio-executor-0.1.2:= <dev-rust/tokio-executor-0.2.0
-	=dev-rust/tokio-io-0.1*:=
-	>=dev-rust/tokio-reactor-0.1.1:= <dev-rust/tokio-reactor-0.2.0
-	>=dev-rust/tokio-timer-0.2.1:= <dev-rust/tokio-timer-0.3.0
-"
-# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
-# installing binpkgs since the full source tree is required to use the crate.
-RDEPEND="${DEPEND}"
diff --git a/dev-rust/tokio-curl/Manifest b/dev-rust/tokio-curl/Manifest
deleted file mode 100644
index d9f74bb..0000000
--- a/dev-rust/tokio-curl/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST tokio-curl-0.1.11.crate 19256 BLAKE2B b44cc7a0a53e1a23c67fd77720bb0b147a8130d7409626794fb079ae4841b019fea9d4af48ca372e754e7cba6beda4a430c3197cb6835c29c157afbeaf937718 SHA512 f70ac29e84ca206361cfd239a58054182114f9f8df521e51ccaf621cc2424e778aae965e25d6a93c8565b70855583f2ba51dde1e8b32e8190f4a607c2d3deff4
diff --git a/dev-rust/tokio-curl/tokio-curl-0.1.11-r1.ebuild b/dev-rust/tokio-curl/tokio-curl-0.1.11-r1.ebuild
deleted file mode 120000
index 87b7ce5..0000000
--- a/dev-rust/tokio-curl/tokio-curl-0.1.11-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-tokio-curl-0.1.11.ebuild
\ No newline at end of file
diff --git a/dev-rust/tokio-curl/tokio-curl-0.1.11.ebuild b/dev-rust/tokio-curl/tokio-curl-0.1.11.ebuild
deleted file mode 100644
index f9ea390..0000000
--- a/dev-rust/tokio-curl/tokio-curl-0.1.11.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cros-rust
-
-DESCRIPTION="An implementation of an asynchronous HTTP client using futures backed by libcurl."
-HOMEPAGE="https://tokio.rs/"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/curl-0.4*:=
-	=dev-rust/env_logger-0.4*:=
-	=dev-rust/futures-0.1*:=
-	=dev-rust/libc-0.2*:=
-	=dev-rust/log-0.4*:=
-	=dev-rust/mio-0.6*:=
-	=dev-rust/scoped-tls-0.1*:=
-	=dev-rust/slab-0.4*:=
-	=dev-rust/tokio-core-0.1*:=
-	=dev-rust/tokio-io-0.1*:=
-	=dev-rust/winapi-0.3*:=
-"
diff --git a/dev-rust/tokio-current-thread/Manifest b/dev-rust/tokio-current-thread/Manifest
deleted file mode 100644
index f122e92..0000000
--- a/dev-rust/tokio-current-thread/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST tokio-current-thread-0.1.7.crate 19690 BLAKE2B 1a6ccb40e59095df2e4ece5be501027a9975297c8606cbf107e8a365529d175415d1738e6770c31b586685fa0e573b6c4eade68fc83b1e01d89c2e22a3741e28 SHA512 4458eecddf552cc63dfb877976cdaa2060f8fd82a9cb6667f8fb3507aeffef4f3db38d649de55bd784f98828a12bc066d35e96c60ca07a42cf8f16a5fd7d58ea
diff --git a/dev-rust/tokio-current-thread/tokio-current-thread-0.1.7.ebuild b/dev-rust/tokio-current-thread/tokio-current-thread-0.1.7.ebuild
deleted file mode 100644
index ef89ecf..0000000
--- a/dev-rust/tokio-current-thread/tokio-current-thread-0.1.7.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="Single threaded executor which manage many tasks concurrently on the current thread."
-HOMEPAGE="https://github.com/tokio-rs/tokio"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0
-	>=dev-rust/tokio-executor-0.1.7:= <dev-rust/tokio-executor-0.2.0
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/tokio-fs/Manifest b/dev-rust/tokio-fs/Manifest
deleted file mode 100644
index 965d94c..0000000
--- a/dev-rust/tokio-fs/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST tokio-fs-0.1.7.crate 20881 BLAKE2B 08d22887c990149cd3aeefc3a9aef949124a2c3cb9edb5ec2b76a01b90f85a22226417f75319f92514d812b752ff7090854188e64d2c1af8cf8c773b7a97a8e5 SHA512 3a1023dd9537164c61ba07b4759d05136165274efed6cbb7bf868ccabc311353b0e221137d2be643970f4d710bff20251104344a7542a08ac3d60ef502624d2f
diff --git a/dev-rust/tokio-fs/files/tokio-fs-0.1.6-0001-Remove-dev-dependencies.patch b/dev-rust/tokio-fs/files/tokio-fs-0.1.6-0001-Remove-dev-dependencies.patch
deleted file mode 100644
index 8303350..0000000
--- a/dev-rust/tokio-fs/files/tokio-fs-0.1.6-0001-Remove-dev-dependencies.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Remove dev dependency on tokio to prevent circular dependency.
---- a/Cargo.toml	1970-01-01 08:00:00.000000000 +0800
-+++ b/Cargo.toml	2019-08-15 16:16:34.096678683 +0800
-@@ -39,9 +39,6 @@
- [dev-dependencies.tempfile]
- version = "3"
- 
--[dev-dependencies.tokio]
--version = "0.1.7"
--
- [dev-dependencies.tokio-codec]
- version = "0.1.0"
- 
diff --git a/dev-rust/tokio-fs/tokio-fs-0.1.7.ebuild b/dev-rust/tokio-fs/tokio-fs-0.1.7.ebuild
deleted file mode 100644
index 1e260d9..0000000
--- a/dev-rust/tokio-fs/tokio-fs-0.1.7.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="Filesystem API for Tokio."
-HOMEPAGE="https://tokio.rs"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/futures-0.1.21:= <dev-rust/futures-0.2.0
-	>=dev-rust/tokio-io-0.1.6:= <dev-rust/tokio-io-0.2.0
-	>=dev-rust/tokio-threadpool-0.1.3:= <dev-rust/tokio-threadpool-0.2.0
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/tokio-io/tokio-io-0.1.9.ebuild b/dev-rust/tokio-io/tokio-io-0.1.9.ebuild
index f7449d3..420aa39 100644
--- a/dev-rust/tokio-io/tokio-io-0.1.9.ebuild
+++ b/dev-rust/tokio-io/tokio-io-0.1.9.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/tokio-macros/Manifest b/dev-rust/tokio-macros/Manifest
new file mode 100644
index 0000000..cc11b95
--- /dev/null
+++ b/dev-rust/tokio-macros/Manifest
@@ -0,0 +1 @@
+DIST tokio-macros-1.8.0.crate 9346 BLAKE2B b334eb3f221ae22ad379db2ef7e4c88e6a01a69146726287b16a958a0c17fadc69063c2e6ca3cd1dbb21e764084c9ba64cfad705b5b5d448133349a7aed69437 SHA512 3fa620db09a8e911a2896c5c671494d3f5894b4014e868374e4f1331829975b287499c2f7a7615bf26a6b9abb3815b459c1fa684a738ea153ce09cecbfa57bc2
diff --git a/dev-rust/tokio-macros/tokio-macros-1.8.0.ebuild b/dev-rust/tokio-macros/tokio-macros-1.8.0.ebuild
new file mode 100644
index 0000000..bf8e0b3
--- /dev/null
+++ b/dev-rust/tokio-macros/tokio-macros-1.8.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Tokio"s proc macros.'
+HOMEPAGE='https://tokio.rs'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/proc-macro2-1.0.7 <dev-rust/proc-macro2-2.0.0_alpha:=
+	=dev-rust/quote-1*:=
+	>=dev-rust/syn-1.0.56 <dev-rust/syn-2.0.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/tokio-mock-task/tokio-mock-task-0.1.1.ebuild b/dev-rust/tokio-mock-task/tokio-mock-task-0.1.1.ebuild
deleted file mode 100644
index 072e90c..0000000
--- a/dev-rust/tokio-mock-task/tokio-mock-task-0.1.1.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_RUST_EMPTY_CRATE=1
-
-inherit cros-rust
-
-DESCRIPTION="Empty ${PN} crate"
-HOMEPAGE=""
-
-LICENSE="BSD-Google"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
diff --git a/dev-rust/tokio-reactor/Manifest b/dev-rust/tokio-reactor/Manifest
deleted file mode 100644
index c66fde9..0000000
--- a/dev-rust/tokio-reactor/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST tokio-reactor-0.1.12.crate 21058 BLAKE2B c1a1842aeccc0d3f74dc4e588c485d326f74b652b8f504bf20cdd69c42dcf937c49bbd0c149f8da428dd12f5d8a1715bd39ad76d3b71f1e414c663093a437d26 SHA512 2db454c63f8965345997685baa9e4f1e7d2fad1c0087e7d79bcbdc5bf0176703de49c50180689db5f797aff6794748e01a28877d46f58cf453d7a4fe17d3f791
diff --git a/dev-rust/tokio-reactor/files/tokio-reactor-0.1.9-0001-Remove-dev-dependencies.patch b/dev-rust/tokio-reactor/files/tokio-reactor-0.1.9-0001-Remove-dev-dependencies.patch
deleted file mode 100644
index 5a356b1..0000000
--- a/dev-rust/tokio-reactor/files/tokio-reactor-0.1.9-0001-Remove-dev-dependencies.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Remove dev dependency on tokio to prevent circular dependency.
---- a/Cargo.toml	1970-01-01 08:00:00.000000000 +0800
-+++ b/Cargo.toml	2019-08-15 16:22:31.861095845 +0800
-@@ -56,8 +56,5 @@
- [dev-dependencies.num_cpus]
- version = "1.8.0"
- 
--[dev-dependencies.tokio]
--version = "0.1.7"
--
- [dev-dependencies.tokio-io-pool]
- version = "0.1.4"
diff --git a/dev-rust/tokio-reactor/tokio-reactor-0.1.12.ebuild b/dev-rust/tokio-reactor/tokio-reactor-0.1.12.ebuild
deleted file mode 100644
index 7d4bd02..0000000
--- a/dev-rust/tokio-reactor/tokio-reactor-0.1.12.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="Event loop that drives Tokio I/O resources."
-HOMEPAGE="https://tokio.rs"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/crossbeam-utils-0.7*:=
-	>=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0
-	>=dev-rust/lazy_static-1.0.2:= <dev-rust/lazy_static-2.0.0
-	>=dev-rust/log-0.4.1:= <dev-rust/log-0.5.0
-	>=dev-rust/mio-0.6.14:= <dev-rust/mio-0.7.0
-	>=dev-rust/num_cpus-1.8.0:= <dev-rust/num_cpus-2.0.0
-	=dev-rust/parking_lot-0.9*:=
-	=dev-rust/slab-0.4*:=
-	>=dev-rust/tokio-executor-0.1.1:= <dev-rust/tokio-executor-0.2.0
-	>=dev-rust/tokio-io-0.1.6:= <dev-rust/tokio-io-0.2.0
-	>=dev-rust/tokio-sync-0.1.1:= <dev-rust/tokio-sync-0.2.0
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/tokio-sync/Manifest b/dev-rust/tokio-sync/Manifest
deleted file mode 100644
index ac492d8..0000000
--- a/dev-rust/tokio-sync/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST tokio-sync-0.1.8.crate 41830 BLAKE2B 20e61e5e5360f54446ad60de050a4156d3e975f4e246f51b308ea1def48c51f8f1b28fcfd81362b00e0f6f9c40382abb71a4c9e799e81cfd7b0c7b085c42cc27 SHA512 b3665476629ecc8d513d53169beebe090818c6b76ca99f0a508c730bde0ca3c49b828942fc3b9d76fa9cad1b6766237e18a329607ca2314c7ad4b343dd785371
diff --git a/dev-rust/tokio-sync/files/tokio-sync-0.1.5-0001-Remove-dev-features.patch b/dev-rust/tokio-sync/files/tokio-sync-0.1.5-0001-Remove-dev-features.patch
deleted file mode 100644
index 46bb5c2..0000000
--- a/dev-rust/tokio-sync/files/tokio-sync-0.1.5-0001-Remove-dev-features.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-Remove unused features to reduce dependency.
---- a/Cargo.toml	1970-01-01 08:00:00.000000000 +0800
-+++ b/Cargo.toml	2019-05-28 13:46:20.360693993 +0800
-@@ -31,7 +31,6 @@
- 
- [dev-dependencies.loom]
- version = "0.1.1"
--features = ["futures"]
- 
- [dev-dependencies.tokio]
- version = "0.1.15"
diff --git a/dev-rust/tokio-sync/files/tokio-sync-0.1.5-0002-Remove-dev-dependencies.patch b/dev-rust/tokio-sync/files/tokio-sync-0.1.5-0002-Remove-dev-dependencies.patch
deleted file mode 100644
index 0b4e1ae..0000000
--- a/dev-rust/tokio-sync/files/tokio-sync-0.1.5-0002-Remove-dev-dependencies.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Remove dev dependency on tokio to prevent circular dependency.
---- a/Cargo.toml	2019-08-15 16:09:12.420168154 +0800
-+++ b/Cargo.toml	2019-08-15 16:09:00.092154087 +0800
-@@ -32,8 +32,5 @@
- [dev-dependencies.loom]
- version = "0.1.1"
- 
--[dev-dependencies.tokio]
--version = "0.1.15"
--
- [dev-dependencies.tokio-mock-task]
- version = "0.1.1"
diff --git a/dev-rust/tokio-sync/tokio-sync-0.1.8.ebuild b/dev-rust/tokio-sync/tokio-sync-0.1.8.ebuild
deleted file mode 100644
index d92ec74..0000000
--- a/dev-rust/tokio-sync/tokio-sync-0.1.8.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="Synchronization utilities."
-HOMEPAGE="https://tokio.rs"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/fnv-1.0.6:= <dev-rust/fnv-2.0.0
-	>=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/tokio-tcp/Manifest b/dev-rust/tokio-tcp/Manifest
deleted file mode 100644
index 7e76419..0000000
--- a/dev-rust/tokio-tcp/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST tokio-tcp-0.1.4.crate 12745 BLAKE2B b11b76b94ac5fee26c83537d9c169fa775539c90703fd9ae2c5565c99bbb56305c474710a3b90ed2e8cc2010ac00de77023ecc04e5cb4a653d7b5e0f0e21e23d SHA512 e33168e12ab9cf448f75ccc1662f54b287db0961dd472da3a86f400d6b80159cce290b9a4b948d216b86284e5bd61c14db8750fc2d0ac16d3937418c1260d2f4
diff --git a/dev-rust/tokio-tcp/files/tokio-tcp-0.1.3-0001-Remove-dev-dependencies.patch b/dev-rust/tokio-tcp/files/tokio-tcp-0.1.3-0001-Remove-dev-dependencies.patch
deleted file mode 100644
index 489076f..0000000
--- a/dev-rust/tokio-tcp/files/tokio-tcp-0.1.3-0001-Remove-dev-dependencies.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-Remove dev dependency on tokio to prevent circular dependency.
---- a/Cargo.toml	1970-01-01 08:00:00.000000000 +0800
-+++ b/Cargo.toml	2019-08-15 16:32:06.281824879 +0800
-@@ -40,6 +40,3 @@
- [dev-dependencies.env_logger]
- version = "0.5"
- default-features = false
--
--[dev-dependencies.tokio]
--version = "0.1.13"
diff --git a/dev-rust/tokio-tcp/tokio-tcp-0.1.4.ebuild b/dev-rust/tokio-tcp/tokio-tcp-0.1.4.ebuild
deleted file mode 100644
index b98b04e..0000000
--- a/dev-rust/tokio-tcp/tokio-tcp-0.1.4.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="TCP bindings for tokio."
-HOMEPAGE="https://tokio.rs"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/bytes-0.4*:=
-	>=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0
-	=dev-rust/iovec-0.1*:=
-	>=dev-rust/mio-0.6.14:= <dev-rust/mio-0.7.0
-	>=dev-rust/tokio-io-0.1.6:= <dev-rust/tokio-io-0.2.0
-	>=dev-rust/tokio-reactor-0.1.1:= <dev-rust/tokio-reactor-0.2.0
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/tokio-threadpool/Manifest b/dev-rust/tokio-threadpool/Manifest
deleted file mode 100644
index 322923d..0000000
--- a/dev-rust/tokio-threadpool/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST tokio-threadpool-0.1.18.crate 54825 BLAKE2B b1c202bb8aa453f3af56d82713c175dbe0b3b2c1a8efd8ba849b0afb243f48a4f76b994095e4c490b37710d6a1c33eab2f1a2dddcfe15bd9887ad8bfa9c76f8b SHA512 163aea96e536f670e5536c728b159da52585805a721a18ee42e9324320df4e93a9baa5b31072e5a12af7cfe3968bb57f0a5864e17a758f66e71e31f7f02d7b27
diff --git a/dev-rust/tokio-threadpool/tokio-threadpool-0.1.18.ebuild b/dev-rust/tokio-threadpool/tokio-threadpool-0.1.18.ebuild
deleted file mode 100644
index 0805054..0000000
--- a/dev-rust/tokio-threadpool/tokio-threadpool-0.1.18.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="A task scheduler backed by a work-stealing thread pool."
-HOMEPAGE="https://github.com/tokio-rs/tokio"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/crossbeam-deque-0.7*:=
-	=dev-rust/crossbeam-queue-0.2*:=
-	=dev-rust/crossbeam-utils-0.7*:=
-	>=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0
-	=dev-rust/lazy_static-1*:=
-	=dev-rust/log-0.4*:=
-	>=dev-rust/num_cpus-1.2.0:= <dev-rust/num_cpus-2.0.0
-	>=dev-rust/slab-0.4.1:= <dev-rust/slab-0.5.0
-	>=dev-rust/tokio-executor-0.1.8:= <dev-rust/tokio-executor-0.2.0
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/tokio-timer/Manifest b/dev-rust/tokio-timer/Manifest
deleted file mode 100644
index afc0c38..0000000
--- a/dev-rust/tokio-timer/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST tokio-timer-0.2.13.crate 37873 BLAKE2B 0a1c1e07b941919dc5d1c1a425ba84d6d954b52932933e521fe5e8c76f36c9c2bef9b93eb710e79490c3082519f385f7737454ed884fc7d11ca92ca44b4fe5ca SHA512 9813e5e74cf210eb3fc29268483da32272852c79b23d4b09ad7ee012687c910848b9b8fa5638d4d71cf62d2722f29093f2324ccd4f2e65db5c111ed6f9142d04
diff --git a/dev-rust/tokio-timer/files/tokio-timer-0.2.11-0001-Remove-dev-dependencies.patch b/dev-rust/tokio-timer/files/tokio-timer-0.2.11-0001-Remove-dev-dependencies.patch
deleted file mode 100644
index 24047bb..0000000
--- a/dev-rust/tokio-timer/files/tokio-timer-0.2.11-0001-Remove-dev-dependencies.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Remove dev dependency on tokio to prevent circular dependency.
---- a/Cargo.toml	1970-01-01 08:00:00.000000000 +0800
-+++ b/Cargo.toml	2019-08-15 16:27:19.881461880 +0800
-@@ -34,8 +34,5 @@
- [dev-dependencies.rand]
- version = "0.6"
- 
--[dev-dependencies.tokio]
--version = "0.1.7"
--
- [dev-dependencies.tokio-mock-task]
- version = "0.1.0"
diff --git a/dev-rust/tokio-timer/tokio-timer-0.2.13.ebuild b/dev-rust/tokio-timer/tokio-timer-0.2.13.ebuild
deleted file mode 100644
index 7e1ea54..0000000
--- a/dev-rust/tokio-timer/tokio-timer-0.2.13.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="Timer facilities for Tokio"
-HOMEPAGE="https://github.com/tokio-rs/tokio"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/crossbeam-utils-0.7*:=
-	>=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0
-	>=dev-rust/slab-0.4.1:= <dev-rust/slab-0.5.0
-	>=dev-rust/tokio-executor-0.1.1:= <dev-rust/tokio-executor-0.2.0
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/tokio-udp/Manifest b/dev-rust/tokio-udp/Manifest
deleted file mode 100644
index 687d088..0000000
--- a/dev-rust/tokio-udp/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST tokio-udp-0.1.6.crate 11677 BLAKE2B 6a2e871f385be1fb7bc597fc00a20f0086e7fbdb0b5fd2785e3bb3c01d5c41f0b1c46b29d9735f5a0176e1560225346a4ae394b7552d4d5668277ca7053b82b3 SHA512 404d2418c2e78c5e693514b181a782cd41d313f62b29186b9f30796d5fa48d7d223156d665dab39fded5b7ff5c2a47c0d08ae320b003063aa22112bc8857f62a
diff --git a/dev-rust/tokio-udp/tokio-udp-0.1.6.ebuild b/dev-rust/tokio-udp/tokio-udp-0.1.6.ebuild
deleted file mode 100644
index 3085169..0000000
--- a/dev-rust/tokio-udp/tokio-udp-0.1.6.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="UDP bindings for tokio."
-HOMEPAGE="https://tokio.rs"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/bytes-0.4*:=
-	>=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0
-	=dev-rust/log-0.4*:=
-	>=dev-rust/mio-0.6.14:= <dev-rust/mio-0.7.0
-	=dev-rust/tokio-codec-0.1*:=
-	>=dev-rust/tokio-io-0.1.7:= <dev-rust/tokio-io-0.2.0
-	>=dev-rust/tokio-reactor-0.1.1:= <dev-rust/tokio-reactor-0.2.0
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/tokio-uds/Manifest b/dev-rust/tokio-uds/Manifest
deleted file mode 100644
index 6260ddf..0000000
--- a/dev-rust/tokio-uds/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST tokio-uds-0.2.7.crate 11942 BLAKE2B 5c74cf32de1c047f75175fbff9af0cadda1a74673f5b2e3b2e652ef5724f0d428b9caade0c474411c5308559103972e19344adc97822f930d1dd31edb048d1db SHA512 c06818507ebbfc53c34b7afffe5b16c682749371a9dd7db9fffb3800b5d63fdd1d7e646bdb0c84c3b86228f86c54d2b95f61942cdcf087c9f5a1491fcb764102
diff --git a/dev-rust/tokio-uds/files/tokio-uds-0.2.5-0001-Remove-dev-dependencies.patch b/dev-rust/tokio-uds/files/tokio-uds-0.2.5-0001-Remove-dev-dependencies.patch
deleted file mode 100644
index fbb0191..0000000
--- a/dev-rust/tokio-uds/files/tokio-uds-0.2.5-0001-Remove-dev-dependencies.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-Remove dev dependency on tokio to prevent circular dependency.
---- a/Cargo.toml	1970-01-01 08:00:00.000000000 +0800
-+++ b/Cargo.toml	2019-08-15 16:20:14.888936007 +0800
-@@ -51,6 +51,3 @@
- version = "0.1.1"
- [dev-dependencies.tempfile]
- version = "3"
--
--[dev-dependencies.tokio]
--version = "0.1.6"
diff --git a/dev-rust/tokio-uds/tokio-uds-0.2.7.ebuild b/dev-rust/tokio-uds/tokio-uds-0.2.7.ebuild
deleted file mode 100644
index 53daae9..0000000
--- a/dev-rust/tokio-uds/tokio-uds-0.2.7.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="Unix Domain sockets for Tokio"
-HOMEPAGE="https://github.com/tokio-rs/tokio"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/bytes-0.4.8:= <dev-rust/bytes-0.5.0
-	>=dev-rust/futures-0.1.21:= <dev-rust/futures-0.2.0
-	>=dev-rust/iovec-0.1.2:= <dev-rust/iovec-0.2.0
-	>=dev-rust/libc-0.2.42:= <dev-rust/libc-0.3.0
-	>=dev-rust/log-0.4.2:= <dev-rust/log-0.5.0
-	>=dev-rust/mio-0.6.14:= <dev-rust/mio-0.7.0
-	>=dev-rust/mio-uds-0.6.5:= <dev-rust/mio-uds-0.7.0
-	=dev-rust/tokio-codec-0.1*:=
-	>=dev-rust/tokio-io-0.1.6:= <dev-rust/tokio-io-0.2.0
-	>=dev-rust/tokio-reactor-0.1.1:= <dev-rust/tokio-reactor-0.2.0
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/tokio/Manifest b/dev-rust/tokio/Manifest
index 67c8f7c..df6ae07 100644
--- a/dev-rust/tokio/Manifest
+++ b/dev-rust/tokio/Manifest
@@ -1 +1 @@
-DIST tokio-0.1.22.crate 70031 BLAKE2B 44a6d1ff8bbedfea304e4f44b5c4bf998876a632adfe611c3d851aa64ad092b7b0150c2b39ebeae8bb34cca6824922300bb3fb762cce6b5a1fcfa852ed8d86f1 SHA512 d92b8527bbeec84bb306686a7d29b705c36b59e9c0995154ed95d483c84952c838691f8c11615f481abb6c4fba470ba8968860a74a88b77dd67ccf659bf4e4e1
+DIST tokio-1.19.2.crate 581250 BLAKE2B 4ea9699f8fd132b3fcfd58d61516a08bd26e26fc575f14b5eeea6b90312b6d90f9d2ed926d6f3376ca83608c9858668faae04ea89bf053bc4d03a78edc788f6f SHA512 db20c31ee19bfccf91b7f5c6495a1d49ca9492828b0d6d3877fb586fdddce369d6f828e05c04fd826c246235accf05fbfb0819965fc5c99aff23477f0bf71acd
diff --git a/dev-rust/tokio/files/tokio-0.1.19-0001-Remove-dev-features.patch b/dev-rust/tokio/files/tokio-0.1.19-0001-Remove-dev-features.patch
deleted file mode 100644
index b538048..0000000
--- a/dev-rust/tokio/files/tokio-0.1.19-0001-Remove-dev-features.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-Remove unused features to reduce dependency.
---- a/Cargo.toml	1970-01-01 08:00:00.000000000 +0800
-+++ b/Cargo.toml	2019-08-14 17:54:22.193406174 +0800
-@@ -94,7 +94,6 @@
- 
- [dev-dependencies.flate2]
- version = "1"
--features = ["tokio"]
- 
- [dev-dependencies.futures-cpupool]
- version = "0.1"
diff --git a/dev-rust/tokio/tokio-0.1.22.ebuild b/dev-rust/tokio/tokio-0.1.22.ebuild
deleted file mode 100644
index 17e0642..0000000
--- a/dev-rust/tokio/tokio-0.1.22.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="An event-driven, non-blocking I/O platform for writing asynchronous I/O
-backed applications."
-HOMEPAGE="https://tokio.rs"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/bytes-0.4*:=
-	>=dev-rust/futures-0.1.20:= <dev-rust/futures-0.2.0
-	>=dev-rust/mio-0.6.14:= <dev-rust/mio-0.7.0
-	>=dev-rust/num_cpus-1.8.0:= <dev-rust/num_cpus-2.0.0
-	=dev-rust/tokio-codec-0.1*:=
-	>=dev-rust/tokio-current-thread-0.1.6:= <dev-rust/tokio-current-thread-0.2.0
-	>=dev-rust/tokio-executor-0.1.7:= <dev-rust/tokio-executor-0.2.0
-	>=dev-rust/tokio-fs-0.1.6:= <dev-rust/tokio-fs-0.2.0
-	>=dev-rust/tokio-io-0.1.6:= <dev-rust/tokio-io-0.2.0
-	>=dev-rust/tokio-reactor-0.1.1:= <dev-rust/tokio-reactor-0.2.0
-	>=dev-rust/tokio-sync-0.1.5:= <dev-rust/tokio-sync-0.2.0
-	=dev-rust/tokio-tcp-0.1*:=
-	>=dev-rust/tokio-threadpool-0.1.14:= <dev-rust/tokio-threadpool-0.2.0
-	>=dev-rust/tokio-timer-0.2.8:= <dev-rust/tokio-timer-0.3.0
-	=dev-rust/tokio-udp-0.1*:=
-	=dev-rust/tracing-core-0.1*:=
-	>=dev-rust/tokio-uds-0.2.1:= <dev-rust/tokio-uds-0.3.0
-"
-RDEPEND="${DEPEND}"
-
-# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/tokio/tokio-1.15.0.ebuild b/dev-rust/tokio/tokio-1.15.0.ebuild
index 5a68c09..71b0835 100644
--- a/dev-rust/tokio/tokio-1.15.0.ebuild
+++ b/dev-rust/tokio/tokio-1.15.0.ebuild
@@ -11,6 +11,6 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/tokio/tokio-1.19.2.ebuild b/dev-rust/tokio/tokio-1.19.2.ebuild
new file mode 100644
index 0000000..8bf1a44
--- /dev/null
+++ b/dev-rust/tokio/tokio-1.19.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+CROS_RUST_REMOVE_TARGET_CFG=1
+
+inherit cros-rust
+
+DESCRIPTION='An event-driven, non-blocking I/O platform for writing asynchronous I/O
+backed applications.'
+HOMEPAGE='https://tokio.rs'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/bytes-1*:=
+	>=dev-rust/memchr-2.2.0 <dev-rust/memchr-3.0.0_alpha:=
+	>=dev-rust/mio-0.8.1 <dev-rust/mio-0.9.0_alpha:=
+	>=dev-rust/num_cpus-1.8.0 <dev-rust/num_cpus-2.0.0_alpha:=
+	>=dev-rust/once_cell-1.5.2 <dev-rust/once_cell-2.0.0_alpha:=
+	=dev-rust/parking_lot-0.12*:=
+	=dev-rust/pin-project-lite-0.2*:=
+	>=dev-rust/socket2-0.4.4 <dev-rust/socket2-0.5.0_alpha:=
+	>=dev-rust/tokio-macros-1.7.0 <dev-rust/tokio-macros-2.0.0_alpha:=
+	>=dev-rust/libc-0.2.42 <dev-rust/libc-0.3.0_alpha:=
+	>=dev-rust/signal-hook-registry-1.1.1 <dev-rust/signal-hook-registry-2.0.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
+
+# Changes below are manual:
+
+src_prepare() {
+    cros-rust_src_prepare
+
+    # Delete winapi feature dependencies from the Cargo.toml
+    mv "${S}/Cargo.toml" "${S}/Cargo.toml.orig" || die
+    grep -v '"winapi/' "${S}/Cargo.toml.orig" > "${S}/Cargo.toml" || die
+}
\ No newline at end of file
diff --git a/dev-rust/toml/toml-0.5.1.ebuild b/dev-rust/toml/toml-0.5.1.ebuild
index 3c01f64..09eecbb 100644
--- a/dev-rust/toml/toml-0.5.1.ebuild
+++ b/dev-rust/toml/toml-0.5.1.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_REMOVE_DEV_DEPS=1
 
diff --git a/dev-rust/tracing-core/tracing-core-0.1.0.ebuild b/dev-rust/tracing-core/tracing-core-0.1.0.ebuild
deleted file mode 100644
index e5b72b0..0000000
--- a/dev-rust/tracing-core/tracing-core-0.1.0.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_EMPTY_CRATE=1
-
-inherit cros-rust
-
-DESCRIPTION="Empty crate"
-HOMEPAGE=""
-
-LICENSE="BSD-Google"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/trust-dns-proto/Manifest b/dev-rust/trust-dns-proto/Manifest
deleted file mode 100644
index 4d56880..0000000
--- a/dev-rust/trust-dns-proto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST trust-dns-proto-0.7.3.crate 198902 BLAKE2B 3f0bbe7f133dcf9642fe2f2abb8a9449d94c8b7582e46397255d2a3a719d2522fef640e10be7d1871b05ea986cb5bb599dc718ba34607ccb1b074c18cef90522 SHA512 b240c4e64cec476b21a6934c6e498f6df0402648a91912e89c8baed4422fe15d392d85bcaea27a9f8886aaafdcecd811f0722ecd0618390932d79de9470e0bfc
diff --git a/dev-rust/trust-dns-proto/files/trust-dns-proto-0.7.3-0001-Remove-optional-features.patch b/dev-rust/trust-dns-proto/files/trust-dns-proto-0.7.3-0001-Remove-optional-features.patch
deleted file mode 100644
index 6e7072c..0000000
--- a/dev-rust/trust-dns-proto/files/trust-dns-proto-0.7.3-0001-Remove-optional-features.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-Remove unused features to reduce dependency.
---- a/Cargo.toml	1970-01-01 08:00:00.000000000 +0800
-+++ b/Cargo.toml	2019-05-28 14:26:39.734633297 +0800
-@@ -53,7 +53,6 @@
- 
- [dependencies.openssl]
- version = "^0.10"
--features = ["v102", "v110"]
- optional = true
- 
- [dependencies.rand]
diff --git a/dev-rust/trust-dns-proto/files/trust-dns-proto-0.7.3-0002-Support-Pointer-Label-Compression.patch b/dev-rust/trust-dns-proto/files/trust-dns-proto-0.7.3-0002-Support-Pointer-Label-Compression.patch
deleted file mode 100644
index 6b4d95b..0000000
--- a/dev-rust/trust-dns-proto/files/trust-dns-proto-0.7.3-0002-Support-Pointer-Label-Compression.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-Support pointer ending label compression. Pull request merged: https://github.com/bluejekyll/trust-dns/pull/1182
---- a/src/rr/domain/name.rs
-+++ b/src/rr/domain/name.rs
-@@ -1322,6 +1322,42 @@ mod tests {
-         assert_eq!(fourth, r_test);
-     }
- 
-+    #[test]
-+    fn test_pointer_with_pointer_ending_labels() {
-+        let mut bytes: Vec<u8> = Vec::with_capacity(512);
-+
-+        let first = Name::from_str("ra.rb.rc").unwrap();
-+        let second = Name::from_str("ra.rc").unwrap();
-+        let third = Name::from_str("ra.rc").unwrap();
-+
-+        {
-+            let mut e = BinEncoder::new(&mut bytes);
-+
-+            first.emit(&mut e).unwrap();
-+            assert_eq!(e.len(), 10);
-+
-+            second.emit(&mut e).unwrap();
-+            // +5 with the first +3 being the text form of "ra" and +2 for the pointer to "rc".
-+            assert_eq!(e.len(), 15);
-+
-+            // +2 with the pointer to "ra.rc" as previously seen.
-+            third.emit(&mut e).unwrap();
-+            assert_eq!(e.len(), 17);
-+        }
-+
-+        // now read them back
-+        let mut d = BinDecoder::new(&bytes);
-+
-+        let r_test = Name::read(&mut d).unwrap();
-+        assert_eq!(first, r_test);
-+
-+        let r_test = Name::read(&mut d).unwrap();
-+        assert_eq!(second, r_test);
-+
-+        let r_test = Name::read(&mut d).unwrap();
-+        assert_eq!(third, r_test);
-+    }
-+
-     #[test]
-     fn test_recursive_pointer() {
-         // points to an invalid begining label marker
---- a/src/serialize/binary/encoder.rs
-+++ b/src/serialize/binary/encoder.rs
-@@ -91,8 +91,8 @@ mod private {
- pub struct BinEncoder<'a> {
-     offset: usize,
-     buffer: private::MaximalBuf<'a>,
--    /// start and end of label pointers, smallvec here?
--    name_pointers: Vec<(usize, usize)>,
-+    /// start of label pointers with their labels in fully decompressed form for easy comparison, smallvec here?
-+    name_pointers: Vec<(usize, Vec<u8>)>,
-     mode: EncodeMode,
-     canonical_names: bool,
- }
-@@ -211,8 +211,7 @@ impl<'a> BinEncoder<'a> {
-     pub fn trim(&mut self) {
-         let offset = self.offset;
-         self.buffer.truncate(offset);
--        self.name_pointers
--            .retain(|&(start, end)| start < offset && end <= offset);
-+        self.name_pointers.retain(|&(start, _)| start < offset);
-     }
- 
-     // /// returns an error if the maximum buffer size would be exceeded with the addition number of elements
-@@ -243,7 +242,8 @@ impl<'a> BinEncoder<'a> {
-         assert!(end <= (u16::max_value() as usize));
-         assert!(start <= end);
-         if self.offset < 0x3FFF_usize {
--            self.name_pointers.push((start, end)); // the next char will be at the len() location
-+            self.name_pointers
-+                .push((start, self.slice_of(start, end).to_vec())); // the next char will be at the len() location
-         }
-     }
- 
-@@ -251,11 +251,10 @@ impl<'a> BinEncoder<'a> {
-     pub fn get_label_pointer(&self, start: usize, end: usize) -> Option<u16> {
-         let search = self.slice_of(start, end);
- 
--        for &(match_start, match_end) in &self.name_pointers {
--            let matcher = self.slice_of(match_start as usize, match_end as usize);
--            if matcher == search {
--                assert!(match_start <= (u16::max_value() as usize));
--                return Some(match_start as u16);
-+        for (match_start, matcher) in &self.name_pointers {
-+            if matcher.as_slice() == search {
-+                assert!(match_start <= &(u16::max_value() as usize));
-+                return Some(*match_start as u16);
-             }
-         }
- 
diff --git a/dev-rust/trust-dns-proto/trust-dns-proto-0.7.3-r4.ebuild b/dev-rust/trust-dns-proto/trust-dns-proto-0.7.3-r4.ebuild
deleted file mode 120000
index 557bfec..0000000
--- a/dev-rust/trust-dns-proto/trust-dns-proto-0.7.3-r4.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-trust-dns-proto-0.7.3.ebuild
\ No newline at end of file
diff --git a/dev-rust/trust-dns-proto/trust-dns-proto-0.7.3.ebuild b/dev-rust/trust-dns-proto/trust-dns-proto-0.7.3.ebuild
deleted file mode 100644
index 2a6dfed..0000000
--- a/dev-rust/trust-dns-proto/trust-dns-proto-0.7.3.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cros-rust
-
-DESCRIPTION="DNS protocol library and implementation for Trust-DNS"
-HOMEPAGE="http://www.trust-dns.org/index.html"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/byteorder-1*:=
-	=dev-rust/data-encoding-2*:=
-	=dev-rust/enum-as-inner-0.2*:=
-	=dev-rust/failure-0.1*:=
-	=dev-rust/futures-0.1*:=
-	=dev-rust/idna-0.1*:=
-	=dev-rust/lazy_static-1*:=
-	=dev-rust/log-0.4*:=
-	=dev-rust/openssl-0.10*:=
-	=dev-rust/rand-0.6*:=
-	=dev-rust/smallvec-0.6*:=
-	=dev-rust/socket2-0.3*:=
-	=dev-rust/tokio-executor-0.1*:=
-	=dev-rust/tokio-io-0.1*:=
-	=dev-rust/tokio-reactor-0.1*:=
-	=dev-rust/tokio-tcp-0.1*:=
-	=dev-rust/tokio-timer-0.2*:=
-	=dev-rust/tokio-udp-0.1*:=
-	=dev-rust/url-1*:=
-	=dev-rust/ring-0.14*:=
-	=dev-rust/serde-1*:=
-	=dev-rust/untrusted-0.6*:=
-	=dev-rust/env_logger-0.6*:=
-	=dev-rust/tokio-0.1*:=
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
-	"${FILESDIR}/${P}-0001-Remove-optional-features.patch"
-	"${FILESDIR}/${P}-0002-Support-Pointer-Label-Compression.patch"
-)
diff --git a/dev-rust/try-lock/Manifest b/dev-rust/try-lock/Manifest
deleted file mode 100644
index 61d3f46..0000000
--- a/dev-rust/try-lock/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST try-lock-0.2.2.crate 3638 BLAKE2B fdd33b9760b12db5c90dd9c34980e62d061e1a691eab760ed80dafdcd1ae82055b4ccac7313babb43dc9f2f38d3cac3bbf3f586b26f407fbd035c5c3dfca168d SHA512 aeb54abe3cc02d5dfd0d13010558454e5caab2568bd923a035dfef5ed5d3394b4bab9f7ab21dbaf82f1c20ccd95955bcf6ac2bdc976a824d9508d6f2a27ef330
diff --git a/dev-rust/try-lock/try-lock-0.2.2.ebuild b/dev-rust/try-lock/try-lock-0.2.2.ebuild
deleted file mode 100644
index 9ab2ca2..0000000
--- a/dev-rust/try-lock/try-lock-0.2.2.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cros-rust
-
-DESCRIPTION="A light-weight lock guarded by an atomic boolean."
-HOMEPAGE="https://github.com/seanmonstar/try-lock"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
diff --git a/dev-rust/unicode-bidi/unicode-bidi-0.3.4.ebuild b/dev-rust/unicode-bidi/unicode-bidi-0.3.4.ebuild
index f565603..bb6a246 100644
--- a/dev-rust/unicode-bidi/unicode-bidi-0.3.4.ebuild
+++ b/dev-rust/unicode-bidi/unicode-bidi-0.3.4.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/unicode-linebreak/OWNERS b/dev-rust/unicode-linebreak/OWNERS
new file mode 100644
index 0000000..f619b35
--- /dev/null
+++ b/dev-rust/unicode-linebreak/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/audio/OWNERS.all
diff --git a/dev-rust/unicode-linebreak/unicode-linebreak-0.1.2.ebuild b/dev-rust/unicode-linebreak/unicode-linebreak-0.1.2.ebuild
new file mode 100644
index 0000000..c74dee1
--- /dev/null
+++ b/dev-rust/unicode-linebreak/unicode-linebreak-0.1.2.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/unicode-normalization/Manifest b/dev-rust/unicode-normalization/Manifest
index d121d44..39df173 100644
--- a/dev-rust/unicode-normalization/Manifest
+++ b/dev-rust/unicode-normalization/Manifest
@@ -1 +1,2 @@
+DIST unicode-normalization-0.1.19.crate 107353 BLAKE2B 4c69d50efcae131eb4b91d385a64b49412a11ba913b3c0364cd04ad107d59e31adbda74d34ed13a065d9a7825d79fb740e82a4dc66b7813a9837af4352ac9e16 SHA512 7459e9d2867308cac80a98d8dd0b0cce797e2830ea5ff55b878f7a37a6f5e1f0bc14340e1a29955298d660ba2be57754a1478d74851b1b90576dd5bc4231729f
 DIST unicode-normalization-0.1.8.crate 71158 BLAKE2B c548a2bc537abc6d86bffb0828a366ff82b143dcb0ee01e2c21b3b7134fd5f818f3775db391d358f4ebcb906ff256e3d2228ab042066a3de9a6747be05b8effa SHA512 4e3245689d6162a21cedb42e07b179e3aad03728a37b005c2e6bff644a6efd06b6bd26a20a255861a01441a9d15c4318575db3016248b96a03436212aa414547
diff --git a/dev-rust/unicode-normalization/unicode-normalization-0.1.19.ebuild b/dev-rust/unicode-normalization/unicode-normalization-0.1.19.ebuild
new file mode 100644
index 0000000..5010d55
--- /dev/null
+++ b/dev-rust/unicode-normalization/unicode-normalization-0.1.19.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='This crate provides functions for normalization of
+Unicode strings, including Canonical and Compatible
+Decomposition and Recomposition, as described in
+Unicode Standard Annex #15.'
+HOMEPAGE='https://github.com/unicode-rs/unicode-normalization'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/tinyvec-1*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/unicode-normalization/unicode-normalization-0.1.8.ebuild b/dev-rust/unicode-normalization/unicode-normalization-0.1.8.ebuild
index 0a0af8b..30443e4 100644
--- a/dev-rust/unicode-normalization/unicode-normalization-0.1.8.ebuild
+++ b/dev-rust/unicode-normalization/unicode-normalization-0.1.8.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/unicode-width/Manifest b/dev-rust/unicode-width/Manifest
index cbd13b2..b9d49b0 100644
--- a/dev-rust/unicode-width/Manifest
+++ b/dev-rust/unicode-width/Manifest
@@ -1 +1,2 @@
 DIST unicode-width-0.1.8.crate 16732 BLAKE2B 5aa7b87eef1322e4151a3fcf981ade311b8fa030527d7561815950e58d3f15156163dfe34da6a708c37dccc3f7652bf7fc2cd899fe8bb0118b67c4113ff3a2d2 SHA512 0abba6da6981a2451e01d93bbd47652c46eb6fb07cc0214f33259fb29945bfd5ee2b302e883ddca8f68e921635f222701b7310e7da2a5e225f854980d1e474b0
+DIST unicode-width-0.1.9.crate 16745 BLAKE2B 38d4b92e47a284d6881a8073089be59a73d82b91efe5522f55be977f95f479890b6c02cd519544729f1b1e62eb21bcfff8c5f5382917f953603b760e39cf1ea7 SHA512 0f5ec46c57e3b5e50cb8430c89db8d9c129e80ca11a9c398b5312bfe95001e19ca3efbfeb01c3ac09c4ce7e26c6ee1f352f7e114ecef78cefd68c54d2d50f5f4
diff --git a/dev-rust/unicode-width/unicode-width-0.1.9.ebuild b/dev-rust/unicode-width/unicode-width-0.1.9.ebuild
new file mode 100644
index 0000000..964c7b9
--- /dev/null
+++ b/dev-rust/unicode-width/unicode-width-0.1.9.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Determine displayed width of "char" and "str" types
+according to Unicode Standard Annex #11 rules.'
+HOMEPAGE='https://github.com/unicode-rs/unicode-width'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/compiler_builtins-0.1*:=
+	=dev-rust/rustc-std-workspace-core-1*:=
+	=dev-rust/rustc-std-workspace-std-1*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/unicode-xid/unicode-xid-0.1.0.ebuild b/dev-rust/unicode-xid/unicode-xid-0.1.0.ebuild
index 5a6bdf4..9d8bb40 100644
--- a/dev-rust/unicode-xid/unicode-xid-0.1.0.ebuild
+++ b/dev-rust/unicode-xid/unicode-xid-0.1.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2018 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/uniquote/OWNERS b/dev-rust/uniquote/OWNERS
new file mode 100644
index 0000000..f619b35
--- /dev/null
+++ b/dev-rust/uniquote/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/audio/OWNERS.all
diff --git a/dev-rust/uniquote/uniquote-3.0.0.ebuild b/dev-rust/uniquote/uniquote-3.0.0.ebuild
new file mode 100644
index 0000000..c74dee1
--- /dev/null
+++ b/dev-rust/uniquote/uniquote-3.0.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/unix_socket/unix_socket-0.5.0.ebuild b/dev-rust/unix_socket/unix_socket-0.5.0.ebuild
index 07e6ddf..74d9953 100644
--- a/dev-rust/unix_socket/unix_socket-0.5.0.ebuild
+++ b/dev-rust/unix_socket/unix_socket-0.5.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 inherit cros-rust
 
diff --git a/dev-rust/untrusted/untrusted-0.6.2.ebuild b/dev-rust/untrusted/untrusted-0.6.2.ebuild
deleted file mode 100644
index 072e90c..0000000
--- a/dev-rust/untrusted/untrusted-0.6.2.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_RUST_EMPTY_CRATE=1
-
-inherit cros-rust
-
-DESCRIPTION="Empty ${PN} crate"
-HOMEPAGE=""
-
-LICENSE="BSD-Google"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
diff --git a/dev-rust/url/Manifest b/dev-rust/url/Manifest
index d4c87aa..f00a971 100644
--- a/dev-rust/url/Manifest
+++ b/dev-rust/url/Manifest
@@ -1 +1 @@
-DIST url-1.7.2.crate 68597 BLAKE2B d8d7a4b05e956a956c745dbb536ff94abbe81af22e53af3d7baccf01ed7e556cc4f1f8e0a0d97c258c1f1a23209e1ae494079948de9f0d402901c0b6cdafc373 SHA512 c53d7c397416cb1f3c9f7654a8a0653f350c28d41880859f29f681cd6269848890c1396b7ccdf571ec84212a8f3959138f47193ac0595a97bf98972b58e1ed04
+DIST url-2.2.2.crate 68555 BLAKE2B f8e59f784b6c2e16bacfba36ad68670a6af17c16ea3b0866b5aa98e5bf4686cf1b1aac9b1f0a0ea3b89a01e044a2ca37830416f42d147158ea8e88f23fd28ac2 SHA512 f9b6ad99d69ff303283b3fd9e98945fbd6cb411a3d141badcbb3a0566723a451375e6dd5d5357e3eb7a1b5b1ee5756a2347c43817db2de6fe35b9004b090e077
diff --git a/dev-rust/url/url-1.7.2.ebuild b/dev-rust/url/url-1.7.2.ebuild
deleted file mode 100644
index cdc263f..0000000
--- a/dev-rust/url/url-1.7.2.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cros-rust
-
-DESCRIPTION="URL library for Rust, based on the URL Standard"
-HOMEPAGE="https://github.com/servo/rust-url"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/idna-0.1*:=
-	=dev-rust/matches-0.1*:=
-	=dev-rust/percent-encoding-1*:=
-	=dev-rust/encoding-0.2*:=
-	=dev-rust/heapsize-0.4*:=
-	=dev-rust/rustc-serialize-0.3*:=
-	=dev-rust/serde-0.8*:=
-	=dev-rust/bencher-0.1*:=
-	=dev-rust/rustc-test-0.3*:=
-	=dev-rust/serde_json-0.8*:=
-"
-
-# error: could not compile `url`
-RESTRICT="test"
diff --git a/dev-rust/url/url-2.0.0.ebuild b/dev-rust/url/url-2.0.0.ebuild
index 032fa9f..5c585f2 100644
--- a/dev-rust/url/url-2.0.0.ebuild
+++ b/dev-rust/url/url-2.0.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="|| ( MIT Apache-2.0 )"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/url/url-2.2.2.ebuild b/dev-rust/url/url-2.2.2.ebuild
new file mode 100644
index 0000000..ec2a1a0
--- /dev/null
+++ b/dev-rust/url/url-2.2.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='URL library for Rust, based on the WHATWG URL Standard'
+HOMEPAGE='https://crates.io/crates/url'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/form_urlencoded-1*:=
+	=dev-rust/idna-0.2*:=
+	=dev-rust/matches-0.1*:=
+	>=dev-rust/percent-encoding-2.1.0 <dev-rust/percent-encoding-3.0.0_alpha:=
+	=dev-rust/serde-1*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/value-bag/value-bag-1.0.0.ebuild b/dev-rust/value-bag/value-bag-1.0.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/value-bag/value-bag-1.0.0.ebuild
+++ b/dev-rust/value-bag/value-bag-1.0.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/want/Manifest b/dev-rust/want/Manifest
deleted file mode 100644
index e0c2d7e..0000000
--- a/dev-rust/want/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST want-0.2.0.crate 6265 BLAKE2B 4db642e6016fcb0e2b1ae595836af4ccfa3798a1333b71347ea5fb30c95dd6aa0fb8dc827fffe274503e284abb0bc73ad11955f26dd77c5c265cc4a041ffb698 SHA512 1264e8095ba41b6cde85517538449d99f05a40207437bad9b618af3668ad675a3517b3d190e8b962820e2c302146d8d0571b665a1176c090ed75a4e83e8c5b59
diff --git a/dev-rust/want/want-0.2.0.ebuild b/dev-rust/want/want-0.2.0.ebuild
deleted file mode 100644
index 8967b62..0000000
--- a/dev-rust/want/want-0.2.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cros-rust
-
-DESCRIPTION="Detect when another Future wants a result."
-HOMEPAGE="https://github.com/seanmonstar/want"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/futures-0.1:=
-	>=dev-rust/log-0.4:=
-	>=dev-rust/try-lock-0.2:=
-"
diff --git a/dev-rust/wasi/wasi-0.10.0.ebuild b/dev-rust/wasi/wasi-0.10.0.ebuild
index 072e90c..5c585f2 100644
--- a/dev-rust/wasi/wasi-0.10.0.ebuild
+++ b/dev-rust/wasi/wasi-0.10.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/wasi/wasi-0.9.0.ebuild b/dev-rust/wasi/wasi-0.9.0.ebuild
index 072e90c..5c585f2 100644
--- a/dev-rust/wasi/wasi-0.9.0.ebuild
+++ b/dev-rust/wasi/wasi-0.9.0.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/wasm-bindgen/wasm-bindgen-0.2.68.ebuild b/dev-rust/wasm-bindgen/wasm-bindgen-0.2.68.ebuild
index 072e90c..5c585f2 100644
--- a/dev-rust/wasm-bindgen/wasm-bindgen-0.2.68.ebuild
+++ b/dev-rust/wasm-bindgen/wasm-bindgen-0.2.68.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -10,6 +10,6 @@
 DESCRIPTION="Empty ${PN} crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/wasmparser/wasmparser-0.57.0.ebuild b/dev-rust/wasmparser/wasmparser-0.57.0.ebuild
index e5b72b0..0a578db 100644
--- a/dev-rust/wasmparser/wasmparser-0.57.0.ebuild
+++ b/dev-rust/wasmparser/wasmparser-0.57.0.ebuild
@@ -10,7 +10,7 @@
 DESCRIPTION="Empty crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
 
diff --git a/dev-rust/wayland-commons/Manifest b/dev-rust/wayland-commons/Manifest
new file mode 100644
index 0000000..04278fe
--- /dev/null
+++ b/dev-rust/wayland-commons/Manifest
@@ -0,0 +1 @@
+DIST wayland-commons-0.29.0.crate 20726 BLAKE2B 3470c4ecc202aab7a48ccd97bc69d6df93f052d1c2041f6c002d574294787475df137b0347304d582a02708aa24be488bd49a27a804e2ad5653a75b9450203e2 SHA512 259fb7d83678904c7d3f839b409e8bf224bb25d201e7915a119b60af26f2781e8ae7493a15ba680d22dd4ca2b32675c50bb9e63bde17e93fb931847cea976db4
diff --git a/dev-rust/wayland-commons/wayland-commons-0.29.0.ebuild b/dev-rust/wayland-commons/wayland-commons-0.29.0.ebuild
new file mode 100644
index 0000000..a73128b
--- /dev/null
+++ b/dev-rust/wayland-commons/wayland-commons-0.29.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Common types and structures used by wayland-client and wayland-server.'
+HOMEPAGE='https://crates.io/crates/wayland-commons'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/nix-0.23*:=
+	>=dev-rust/once_cell-1.1.0 <dev-rust/once_cell-2.0.0_alpha:=
+	=dev-rust/smallvec-1*:=
+	=dev-rust/wayland-sys-0.29*:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/wayland-scanner/Manifest b/dev-rust/wayland-scanner/Manifest
new file mode 100644
index 0000000..edefcee
--- /dev/null
+++ b/dev-rust/wayland-scanner/Manifest
@@ -0,0 +1 @@
+DIST wayland-scanner-0.29.0.crate 17229 BLAKE2B 9ef90b27b752434f8bd7140b48bcea055528bb8c48a46ff7780cc528ffff76849070c85510774ed91fdf8d5d4912852d2faa6c3a59bfe8579cd3738d53f24f6a SHA512 2d845039a4689cca62d308b1433a28af81c59b225126d5003f67bca8119382affacd65cd405e3c3baccb09c45161589ac332eb577aef7bb163d0534ae8a38454
diff --git a/dev-rust/wayland-scanner/wayland-scanner-0.29.0.ebuild b/dev-rust/wayland-scanner/wayland-scanner-0.29.0.ebuild
new file mode 100644
index 0000000..65adbb5
--- /dev/null
+++ b/dev-rust/wayland-scanner/wayland-scanner-0.29.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='Wayland Scanner for generating rust APIs from XML wayland protocol files. Intended for use with wayland-sys. You should only need this crate if you are working on custom wayland protocol extensions. Look at the crate wayland-client for usable bindings.'
+HOMEPAGE='https://crates.io/crates/wayland-scanner'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/proc-macro2-1.0.11 <dev-rust/proc-macro2-2.0.0_alpha:=
+	=dev-rust/quote-1*:=
+	>=dev-rust/xml-rs-0.7.0 <dev-rust/xml-rs-0.9.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/wayland-sys/Manifest b/dev-rust/wayland-sys/Manifest
new file mode 100644
index 0000000..5c066f2
--- /dev/null
+++ b/dev-rust/wayland-sys/Manifest
@@ -0,0 +1 @@
+DIST wayland-sys-0.29.0.crate 7936 BLAKE2B 47fa869123336c6d1f42ef4e0e3517267d61ce37cb180e0b91142c43a9a97dea778cdd87c3b69925374642f04d5b22a23d4b6b8617ca3f2330f19bbf2608bfac SHA512 916a70a39b8a2490fbff916cd3108ace18cb07fa51ea2969ad19fc88dcedfaf8ba28b4378480a32d7f3e5e05081fd5f7f515a4cc9b5f3e9bd5a5792ee9e00a5e
diff --git a/dev-rust/wayland-sys/wayland-sys-0.29.0.ebuild b/dev-rust/wayland-sys/wayland-sys-0.29.0.ebuild
new file mode 100644
index 0000000..aa53724
--- /dev/null
+++ b/dev-rust/wayland-sys/wayland-sys-0.29.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='FFI bindings to the various libwayland-*.so libraries. You should only need this crate if you are working on custom wayland protocol extensions. Look at the crate wayland-client for usable bindings.'
+HOMEPAGE='https://crates.io/crates/wayland-sys'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	dev-rust/dlib:=
+	>=dev-rust/lazy_static-1.0.2 <dev-rust/lazy_static-2.0.0_alpha:=
+	=dev-rust/libc-0.2*:=
+	>=dev-rust/memoffset-0.6.4 <dev-rust/memoffset-0.7.0_alpha:=
+	>=dev-rust/pkg-config-0.3.7 <dev-rust/pkg-config-0.4.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/which/Manifest b/dev-rust/which/Manifest
index f006f96..eb4080b 100644
--- a/dev-rust/which/Manifest
+++ b/dev-rust/which/Manifest
@@ -1,2 +1,3 @@
 DIST which-3.1.1.crate 8071 BLAKE2B b53adc5136f26fc1be6ae18987d0129527cfd6eb2fb1f0876600ff55ac2f935f608337ff89478f3aed2e8c97a08c474109382a56eabe67dc788b744d90c73ad9 SHA512 3677d709eced54a332e68d9c9385708205838301a576da0c4d88049403a81676c3939a97cd1bec4ab261c7e8fb6211956b47afe5d1fee84d9c4ecf4eb30184f5
 DIST which-4.0.2.crate 7531 BLAKE2B 2207ca8024d58fe2e6ea88dd3b0f8c59984b55d25d23a9d84ca03732502149d78daa994f3b6ae25226c3161df7a7760640956ebf4c0ec8560b20889ce4346417 SHA512 6de4120637d44995f09d7596e9443c5ec566df2b33f54986897ac4dc09cfd9595e7a0c3a8092cf6b8dcb9aa6daf33a1b5fcfcc95bcb5010eb8d6c0365e2005e3
+DIST which-4.2.1.crate 8587 BLAKE2B 08e5345ca497f77cf175079c81aed529f3568f290f2258a33b6c37276675cd34218565e7eb58588c7ce97c9c79666ced55098cf22fa8e7ca8e95d52d1c88b1d9 SHA512 e47dd6c100e14fc6cc7e70a776eccc45f6f4a119be7284d6da4e4292e0275329cf15d0e3e032881bb12da145383dc9e0802a25353388c8458a14ff56e5430bb8
diff --git a/dev-rust/which/which-4.2.1.ebuild b/dev-rust/which/which-4.2.1.ebuild
new file mode 100644
index 0000000..514088c
--- /dev/null
+++ b/dev-rust/which/which-4.2.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION="Locate installed executable in cross platforms."
+HOMEPAGE="https://github.com/harryfei/which-rs.git"
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/either-1.6.0:= <dev-rust/either-2.0.0
+	=dev-rust/lazy_static-1*:=
+	>=dev-rust/libc-0.2.65:= <dev-rust/libc-0.3
+	>=dev-rust/regex-1.5.4:= <dev-rust/regex-2.0.0
+"
+RDEPEND="${DEPEND}"
+
+# error: could not compile `which`
+RESTRICT="test"
diff --git a/dev-rust/windows/windows-0.10.0.ebuild b/dev-rust/windows/windows-0.10.0.ebuild
new file mode 100644
index 0000000..ce27e7a
--- /dev/null
+++ b/dev-rust/windows/windows-0.10.0.ebuild
@@ -0,0 +1,15 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty windows crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
diff --git a/dev-rust/wio/OWNERS b/dev-rust/wio/OWNERS
new file mode 100644
index 0000000..8d72694
--- /dev/null
+++ b/dev-rust/wio/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/crosvm:/OWNERS
\ No newline at end of file
diff --git a/dev-rust/wio/wio-0.2.2.ebuild b/dev-rust/wio/wio-0.2.2.ebuild
new file mode 100644
index 0000000..abf4d19
--- /dev/null
+++ b/dev-rust/wio/wio-0.2.2.ebuild
@@ -0,0 +1,15 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty wio crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
diff --git a/dev-rust/wmi/OWNERS b/dev-rust/wmi/OWNERS
new file mode 100644
index 0000000..0edda31
--- /dev/null
+++ b/dev-rust/wmi/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/crosvm:/OWNERS
diff --git a/dev-rust/wmi/wmi-0.9.0.ebuild b/dev-rust/wmi/wmi-0.9.0.ebuild
new file mode 100644
index 0000000..2a0d99f
--- /dev/null
+++ b/dev-rust/wmi/wmi-0.9.0.ebuild
@@ -0,0 +1,15 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_EMPTY_CRATE=1
+
+inherit cros-rust
+
+DESCRIPTION="Empty wmi crate"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
diff --git a/dev-rust/yaml-rust/Manifest b/dev-rust/yaml-rust/Manifest
index 364116e..25a17ce 100644
--- a/dev-rust/yaml-rust/Manifest
+++ b/dev-rust/yaml-rust/Manifest
@@ -1 +1 @@
-DIST yaml-rust-0.4.3.crate 45768 BLAKE2B 6af7374439000dc5e8795b26fccb1bc691040846f844e10765fe5df06237f5cf52752b0f9d25ed7c6f62337f628ee7be2e024f8aeb6b55a7c76f0d3b2ad0489c SHA512 31b0236fe041706befa938cdeb9c74940daccd2f80bdbd4e0e890901c868ecffc39367a41914c8bb98373d1002904f18b18ff13a08bbecd19dec634c08b7a7a3
+DIST yaml-rust-0.4.5.crate 47783 BLAKE2B 3e888c5cc7afb43eaf3aaab2b6f47b86df164a66eb54d4e166b965cc84b1e06cd17bd992a0d6ee175d9a73a76e2b44a13167246383ed054afcf3cc1710b309cb SHA512 7621dc8dfd5e7d4a7a8805b2a7e8319b63b852367655f2359d4e3e8fec6c4fad52d75c46ce1161e4c674eac0780b757ce9d34e664e304d8d2beec7afa0363ea0
diff --git a/dev-rust/yaml-rust/yaml-rust-0.3.5.ebuild b/dev-rust/yaml-rust/yaml-rust-0.3.5.ebuild
index a84c7a4..38f2f48 100644
--- a/dev-rust/yaml-rust/yaml-rust-0.3.5.ebuild
+++ b/dev-rust/yaml-rust/yaml-rust-0.3.5.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 
 CROS_RUST_EMPTY_CRATE=1
 
@@ -9,6 +9,6 @@
 DESCRIPTION="Empty yaml-rust crate"
 HOMEPAGE=""
 
-LICENSE="BSD-Google"
+LICENSE="metapackage"
 SLOT="${PV}/${PR}"
 KEYWORDS="*"
diff --git a/dev-rust/yaml-rust/yaml-rust-0.4.3.ebuild b/dev-rust/yaml-rust/yaml-rust-0.4.3.ebuild
deleted file mode 100644
index 1076fb1..0000000
--- a/dev-rust/yaml-rust/yaml-rust-0.4.3.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="The missing YAML 1.2 parser for rust"
-HOMEPAGE="https://docs.rs/yaml-rust/"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/linked-hash-map-0.0.9:=
-	<dev-rust/linked-hash-map-0.6
-"
-
-# could not compile
-RESTRICT="test"
diff --git a/dev-rust/yaml-rust/yaml-rust-0.4.5.ebuild b/dev-rust/yaml-rust/yaml-rust-0.4.5.ebuild
new file mode 100644
index 0000000..e25e857
--- /dev/null
+++ b/dev-rust/yaml-rust/yaml-rust-0.4.5.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION='The missing YAML 1.2 parser for rust'
+HOMEPAGE='http://chyh1990.github.io/yaml-rust/'
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="${PV}/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	>=dev-rust/linked-hash-map-0.5.3 <dev-rust/linked-hash-map-0.6.0_alpha:=
+"
+RDEPEND="${DEPEND}"
+
+# This file was automatically generated by cargo2ebuild.py
diff --git a/dev-rust/zeroize/Manifest b/dev-rust/zeroize/Manifest
index 89a4bc1..c7afbe4 100644
--- a/dev-rust/zeroize/Manifest
+++ b/dev-rust/zeroize/Manifest
@@ -1,3 +1 @@
-DIST zeroize-1.2.0.crate 15450 BLAKE2B 1f3c2688cf84d8bc22f777cc06673c29c9306b2c246bec67404729dac01570dd550c4ebe1f9cbd04c3d6a2711bf7106c45a34d01bb0ab7b73d3a15a65bf66eb7 SHA512 9bc0242824908909669e473029990a582efb884ce8f37d153d3a92083f64afe7b3bb26821dff8f39af74ea7935024d9414d458cf61c2e6291ca3611e896ae390
-DIST zeroize-1.5.0.crate 17017 BLAKE2B a729d12a0a97e59d80dd024fd351c434829dc2819d9c3179c6d0781d5d80dffac10bf431d6e36ed14444680ef6d3328ab1ea6c4077eb2c31cb6f077d3552ccaf SHA512 6b6d1c5f85111f0f83ee02c633effb0bad87bb8b334d3f4e13d8722cf9c4ff252fc15c73de044c33d11ff62cbf3d2b6d33834cf08830e5b9ce9c8c298442a05c
 DIST zeroize-1.5.1.crate 17136 BLAKE2B 01e9e51deccb12a6190e8198b6f2bc8881356e7271ab3264200af52c7f1e290506bfc6bb04414eaf4d572cb495eb444de98194d3bdd2d1cb913a49ac9bf5e0e1 SHA512 b892b09f51f6f1c5017d19c0f35e3f784fa5c6b5bcad1afcee0700c4e7a3e930c49529c64edf3e823d45d03dc2b7be3ec05387e481cf3ff604508232a747d393
diff --git a/dev-rust/zeroize/zeroize-1.2.0.ebuild b/dev-rust/zeroize/zeroize-1.2.0.ebuild
deleted file mode 100644
index e1df53f..0000000
--- a/dev-rust/zeroize/zeroize-1.2.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="Securely clear secrets from memory"
-HOMEPAGE="https://github.com/iqlusioninc/crates/"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/zeroize_derive-1*:=
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-rust/zeroize/zeroize-1.5.0-r1.ebuild b/dev-rust/zeroize/zeroize-1.5.0-r1.ebuild
deleted file mode 120000
index 6dd40b4..0000000
--- a/dev-rust/zeroize/zeroize-1.5.0-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-zeroize-1.5.0.ebuild
\ No newline at end of file
diff --git a/dev-rust/zeroize/zeroize-1.5.0.ebuild b/dev-rust/zeroize/zeroize-1.5.0.ebuild
deleted file mode 100644
index 59630ad..0000000
--- a/dev-rust/zeroize/zeroize-1.5.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="Securely clear secrets from memory"
-HOMEPAGE="https://github.com/iqlusioninc/crates/"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="${PV}/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	>=dev-rust/zeroize_derive-1.3.0 <dev-rust/zeroize_derive-2.0.0_alpha:=
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-util/OWNERS b/dev-util/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/dev-util/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/dev-util/android-tools/metadata.xml b/dev-util/android-tools/metadata.xml
index 27a6743..499f8ce 100644
--- a/dev-util/android-tools/metadata.xml
+++ b/dev-util/android-tools/metadata.xml
@@ -2,9 +2,9 @@
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
 	<upstream>
-		<bugs-to>https://code.google.com/p/android/issues/list</bugs-to>
-		<changelog>https://android.googlesource.com/platform/system/core.git/+log/HEAD</changelog>
-		<doc>https://android.googlesource.com/platform/system/core.git/+/master/adb/OVERVIEW.TXT</doc>
+		<bugs-to>https://source.android.com/setup/contribute/report-bugs</bugs-to>
+		<changelog>https://android.googlesource.com/platform/packages/modules/adb/+log</changelog>
+		<doc>https://android.googlesource.com/platform/packages/modules/adb/+/HEAD/OVERVIEW.TXT</doc>
 		<remote-id type="github">android/platform_system_core</remote-id>
 		<remote-id type="launchpad">ubuntu</remote-id>
 	</upstream>
diff --git a/dev-util/apitrace/apitrace-9.0-r1.ebuild b/dev-util/apitrace/apitrace-9.0-r2.ebuild
similarity index 100%
rename from dev-util/apitrace/apitrace-9.0-r1.ebuild
rename to dev-util/apitrace/apitrace-9.0-r2.ebuild
diff --git a/dev-util/apitrace/apitrace-9.0.ebuild b/dev-util/apitrace/apitrace-9.0.ebuild
index a9395f4..1e41594 100644
--- a/dev-util/apitrace/apitrace-9.0.ebuild
+++ b/dev-util/apitrace/apitrace-9.0.ebuild
@@ -43,6 +43,7 @@
 	"${FILESDIR}"/${PN}-8.0-snappy-license.patch
 	"${FILESDIR}"/0001-Fallback-to-NULL-platform-if-no-X.patch
 	"${FILESDIR}"/${PN}-9.0-egl-environment.patch
+	"${FILESDIR}"/${P}-libc-dlopen-glibc-2.34.patch
 )
 
 src_prepare() {
diff --git a/dev-util/apitrace/files/apitrace-9.0-libc-dlopen-glibc-2.34.patch b/dev-util/apitrace/files/apitrace-9.0-libc-dlopen-glibc-2.34.patch
new file mode 100644
index 0000000..6c1aff4
--- /dev/null
+++ b/dev-util/apitrace/files/apitrace-9.0-libc-dlopen-glibc-2.34.patch
@@ -0,0 +1,29 @@
+https://github.com/apitrace/apitrace/commit/d28a980802ad48568c87da02d630c8babfe163bb.patch
+https://bugs.gentoo.org/812155
+
+(rebased by sam)
+
+From: Jose Fonseca <jfonseca@vmware.com>
+Date: Wed, 1 Sep 2021 16:34:54 +0100
+Subject: [PATCH] gltrace: Avoid __libc_dlsym and __libc_dlopen_mode on GLIBC
+ 2.34.
+
+These GLIBC_PRIVATE symbols are gone from GLIBC 2.34 due to the merge of
+libdl.so onto libc.so.
+
+This means apitrace can't defend against infinite recursion when
+used with Steam Overlay, but at least it should work otherwise.
+
+Fixes https://github.com/apitrace/apitrace/issues/756
+--- a/wrappers/dlsym.cpp
++++ b/wrappers/dlsym.cpp
+@@ -34,7 +34,7 @@
+ #include "os.hpp"
+ 
+ 
+-#ifdef __GLIBC__
++#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ < 34
+ 
+ 
+ #include <dlfcn.h>
+
diff --git a/dev-util/bazel/OWNERS b/dev-util/bazel/OWNERS
index 54b548a..d39c14f 100644
--- a/dev-util/bazel/OWNERS
+++ b/dev-util/bazel/OWNERS
@@ -1,4 +1 @@
-cjmcdonald@google.com
-sloanjohnson@google.com
-
-include chromiumos/chromite:/OWNERS.build
+include chromiumos/owners:v1:/infra/OWNERS.build
diff --git a/dev-util/bsdiff/OWNERS b/dev-util/bsdiff/OWNERS
new file mode 100644
index 0000000..16d6476
--- /dev/null
+++ b/dev-util/bsdiff/OWNERS
@@ -0,0 +1 @@
+include chromiumos/chromite:/OWNERS.au
diff --git a/dev-util/bsdiff/bsdiff-4.3.1-r34.ebuild b/dev-util/bsdiff/bsdiff-4.3.1-r34.ebuild
deleted file mode 100644
index c07d1e7..0000000
--- a/dev-util/bsdiff/bsdiff-4.3.1-r34.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/bsdiff/bsdiff-4.3-r2.ebuild,v 1.1 2010/12/13 00:35:03 flameeyes Exp $
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("c4f0fe250331fbc1ad16515f86804cb99a0f6ee9" "c1c7b9eaa75d93663424bb245395fe00ca0ad233")
-CROS_WORKON_TREE=("a3d79a5641e6cda7da95a9316f5d29998cc84865" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "7a09dff0a55fec57ae1ba55d023b5deae612d4fb")
-inherit cros-constants
-
-# cros-workon expects the repo to be in src/third_party, but is in src/aosp.
-CROS_WORKON_LOCALNAME=("../platform2" "../aosp/external/bsdiff")
-CROS_WORKON_PROJECT=("chromiumos/platform2" "platform/external/bsdiff")
-CROS_WORKON_EGIT_BRANCH=("main" "master")
-CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/bsdiff")
-CROS_WORKON_REPO=("${CROS_GIT_HOST_URL}" "${CROS_GIT_AOSP_URL}")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_MANUAL_UPREV=1
-CROS_WORKON_SUBTREE=("common-mk .gn" "")
-
-PLATFORM_SUBDIR="bsdiff"
-
-inherit cros-workon platform
-
-DESCRIPTION="bsdiff: Binary Differencer using a suffix alg"
-HOMEPAGE="http://www.daemonology.net/bsdiff/"
-SRC_URI=""
-
-LICENSE="BSD-2"
-KEYWORDS="*"
-
-RDEPEND="
-	>=app-arch/brotli-1.0.6:=
-	app-arch/bzip2:=
-	dev-libs/libdivsufsort:=
-"
-DEPEND="${RDEPEND}"
-
-src_install() {
-	if use cros_host; then
-		dobin "${OUT}"/bsdiff
-		dobin "${OUT}"/bspatch
-	fi
-	dolib.a "${OUT}"/libbsdiff.a
-	dolib.a "${OUT}"/libbspatch.a
-
-	insinto /usr/include
-	doins -r include/bsdiff
-
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	doins libbsdiff.pc libbspatch.pc
-
-	local fuzzer_component_id="31714"
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/bspatch_fuzzer \
-		--comp "${fuzzer_component_id}"
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/bsdiff_test"
-
-	# Run fuzzer.
-	platform_fuzzer_test "${OUT}"/bspatch_fuzzer
-}
diff --git a/dev-util/bsdiff/bsdiff-4.3.1-r35.ebuild b/dev-util/bsdiff/bsdiff-4.3.1-r35.ebuild
new file mode 100644
index 0000000..4cb25a0
--- /dev/null
+++ b/dev-util/bsdiff/bsdiff-4.3.1-r35.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/bsdiff/bsdiff-4.3-r2.ebuild,v 1.1 2010/12/13 00:35:03 flameeyes Exp $
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("b962a7e41d716e1f6dfff6b589ac8a3c7720dc80" "ed2a90db11ed082ec1969d117587426b645303ac")
+CROS_WORKON_TREE=("20fecf8e8aefa548043f2cb501f222213c15929d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4f60cc104be3c4d98888fedc7529c8ca449fe405")
+inherit cros-constants
+
+# cros-workon expects the repo to be in src/third_party, but is in src/aosp.
+CROS_WORKON_LOCALNAME=("../platform2" "../aosp/external/bsdiff")
+CROS_WORKON_PROJECT=("chromiumos/platform2" "platform/external/bsdiff")
+CROS_WORKON_EGIT_BRANCH=("main" "master")
+CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/bsdiff")
+CROS_WORKON_REPO=("${CROS_GIT_HOST_URL}" "${CROS_GIT_AOSP_URL}")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_MANUAL_UPREV=1
+CROS_WORKON_SUBTREE=("common-mk .gn" "")
+
+PLATFORM_SUBDIR="bsdiff"
+
+inherit cros-workon platform
+
+DESCRIPTION="bsdiff: Binary Differencer using a suffix alg"
+HOMEPAGE="http://www.daemonology.net/bsdiff/"
+SRC_URI=""
+
+LICENSE="BSD-2"
+KEYWORDS="*"
+
+RDEPEND="
+	>=app-arch/brotli-1.0.6:=
+	app-arch/bzip2:=
+	dev-libs/libdivsufsort:=
+"
+DEPEND="${RDEPEND}"
+
+src_install() {
+	if use cros_host; then
+		dobin "${OUT}"/bsdiff
+		dobin "${OUT}"/bspatch
+	fi
+	dolib.a "${OUT}"/libbsdiff.a
+	dolib.a "${OUT}"/libbspatch.a
+
+	insinto /usr/include
+	doins -r include/bsdiff
+
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins libbsdiff.pc libbspatch.pc
+
+	local fuzzer_component_id="31714"
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/bspatch_fuzzer \
+		--comp "${fuzzer_component_id}"
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/bsdiff_test"
+
+	# Run fuzzer.
+	platform_fuzzer_test "${OUT}"/bspatch_fuzzer
+}
diff --git a/dev-util/bsdiff/files/revision_bump b/dev-util/bsdiff/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/dev-util/bsdiff/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/dev-util/cros-dut/cros-dut-0.0.1-r17.ebuild b/dev-util/cros-dut/cros-dut-0.0.1-r17.ebuild
new file mode 100644
index 0000000..14d56f7
--- /dev/null
+++ b/dev-util/cros-dut/cros-dut-0.0.1-r17.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="a398387683045d534dc8cc04f37f58a981cdb56f"
+CROS_WORKON_TREE="d1ea349018798f647e326155b4275aa8bf822a49"
+CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
+CROS_WORKON_LOCALNAME=("../platform/dev")
+CROS_WORKON_SUBTREE="src/chromiumos/test/dut"
+
+inherit cros-go cros-workon
+
+DESCRIPTION="DUT Service Server implementation for interfacing with the DUT"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/dut"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+CROS_GO_WORKSPACE=(
+	"${S}"
+)
+
+CROS_GO_BINARIES=(
+	"chromiumos/test/dut/cmd/cros-dut"
+)
+
+CROS_GO_TEST=(
+	"chromiumos/test/dut/cmd/cros-dut/..."
+)
+
+CROS_GO_VET=(
+	"${CROS_GO_TEST[@]}"
+)
+
+DEPEND="
+	dev-util/lro-server
+	dev-go/crypto
+	dev-go/grpc
+	dev-go/mock
+	dev-go/protobuf
+	dev-go/protobuf-legacy-api
+	chromeos-base/cros-config-api
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+	# Disable cgo and PIE on building binaries. See:
+	# https://crbug.com/976196
+	# https://github.com/golang/go/issues/30986#issuecomment-475626018
+	export CGO_ENABLED=0
+	export GOPIE=0
+
+	default
+}
diff --git a/dev-util/cros-dut/cros-dut-0.0.1-r7.ebuild b/dev-util/cros-dut/cros-dut-0.0.1-r7.ebuild
deleted file mode 100644
index cb694d4..0000000
--- a/dev-util/cros-dut/cros-dut-0.0.1-r7.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="1771ab3a0eacb96c13773f36e0bfd62d1b806d05"
-CROS_WORKON_TREE="07362ab10100ccb431484a3ed415fa3ed3a6d547"
-CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
-CROS_WORKON_LOCALNAME=("../platform/dev")
-CROS_WORKON_SUBTREE="src/chromiumos/test/dut"
-
-inherit cros-go cros-workon
-
-DESCRIPTION="DUT Service Server implementation for interfacing with the DUT"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/dut"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-CROS_GO_WORKSPACE=(
-	"${S}"
-)
-
-CROS_GO_BINARIES=(
-	"chromiumos/test/dut/cmd/cros-dut"
-)
-
-CROS_GO_TEST=(
-	"chromiumos/test/dut/cmd/cros-dut/..."
-)
-
-CROS_GO_VET=(
-	"${CROS_GO_TEST[@]}"
-)
-
-DEPEND="
-	dev-util/lro-server
-	dev-go/crypto
-	dev-go/grpc
-	dev-go/mock
-	dev-go/protobuf
-	chromeos-base/cros-config-api
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
-	# Disable cgo and PIE on building binaries. See:
-	# https://crbug.com/976196
-	# https://github.com/golang/go/issues/30986#issuecomment-475626018
-	export CGO_ENABLED=0
-	export GOPIE=0
-
-	default
-}
diff --git a/dev-util/cros-dut/cros-dut-9999.ebuild b/dev-util/cros-dut/cros-dut-9999.ebuild
index 9fda451..91fc447 100644
--- a/dev-util/cros-dut/cros-dut-9999.ebuild
+++ b/dev-util/cros-dut/cros-dut-9999.ebuild
@@ -37,6 +37,7 @@
 	dev-go/grpc
 	dev-go/mock
 	dev-go/protobuf
+	dev-go/protobuf-legacy-api
 	chromeos-base/cros-config-api
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-util/cros-provision/cros-provision-0.0.1-r19.ebuild b/dev-util/cros-provision/cros-provision-0.0.1-r19.ebuild
deleted file mode 100644
index adc48df..0000000
--- a/dev-util/cros-provision/cros-provision-0.0.1-r19.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="1b888ab4fcd72c6c4edd61ab5282756be5a8f0f5"
-CROS_WORKON_TREE="542250868f6a1f23fe797d688c6ee3474afe1eed"
-CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
-CROS_WORKON_LOCALNAME=("../platform/dev")
-CROS_WORKON_SUBTREE="src/chromiumos/test/provision"
-
-inherit cros-go cros-workon
-
-DESCRIPTION="Provision server implementation for installing CrOS on a test device"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/provision"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-CROS_GO_WORKSPACE=(
-	"${S}"
-)
-
-CROS_GO_BINARIES=(
-	"chromiumos/test/provision/cmd/cros-provision"
-)
-
-CROS_GO_TEST=(
-	"chromiumos/test/provision/cmd/..."
-)
-
-CROS_GO_VET=(
-	"${CROS_GO_TEST[@]}"
-)
-
-DEPEND="
-	dev-util/lro-server
-	dev-util/lroold-server
-	dev-go/genproto-rpc
-	dev-go/luci-go-common
-	dev-go/mock
-	dev-go/protobuf
-	chromeos-base/cros-config-api
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
-	# CGO_ENABLED=0 will make the executable statically linked.
-	export CGO_ENABLED=0
-
-	default
-}
diff --git a/dev-util/cros-provision/cros-provision-0.0.1-r45.ebuild b/dev-util/cros-provision/cros-provision-0.0.1-r45.ebuild
new file mode 100644
index 0000000..22436a7
--- /dev/null
+++ b/dev-util/cros-provision/cros-provision-0.0.1-r45.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="4a74a44fa41a060ea9466c542f03a35e1e802a12"
+CROS_WORKON_TREE="3e62f06c1a80e07f44c426a95102b20cf5357cb8"
+CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
+CROS_WORKON_LOCALNAME=("../platform/dev")
+CROS_WORKON_SUBTREE="src/chromiumos/test/provision"
+
+inherit cros-go cros-workon
+
+DESCRIPTION="Provision server implementation for installing CrOS on a test device"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/provision"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+CROS_GO_WORKSPACE=(
+	"${S}"
+)
+
+CROS_GO_BINARIES=(
+	"chromiumos/test/provision/v2/cros-provision"
+)
+
+CROS_GO_TEST=(
+	"chromiumos/test/provision/cmd/..."
+)
+
+CROS_GO_VET=(
+	"${CROS_GO_TEST[@]}"
+)
+
+DEPEND="
+	dev-util/lro-server
+	dev-util/lroold-server
+	dev-go/genproto
+	dev-go/luci-go-common
+	dev-go/mock
+	dev-go/protobuf
+	dev-go/protobuf-legacy-api
+	chromeos-base/cros-config-api
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+	# CGO_ENABLED=0 will make the executable statically linked.
+	export CGO_ENABLED=0
+
+	default
+}
diff --git a/dev-util/cros-provision/cros-provision-9999.ebuild b/dev-util/cros-provision/cros-provision-9999.ebuild
index 64c325c..09d0015 100644
--- a/dev-util/cros-provision/cros-provision-9999.ebuild
+++ b/dev-util/cros-provision/cros-provision-9999.ebuild
@@ -20,7 +20,7 @@
 )
 
 CROS_GO_BINARIES=(
-	"chromiumos/test/provision/cmd/cros-provision"
+	"chromiumos/test/provision/v2/cros-provision"
 )
 
 CROS_GO_TEST=(
@@ -34,10 +34,11 @@
 DEPEND="
 	dev-util/lro-server
 	dev-util/lroold-server
-	dev-go/genproto-rpc
+	dev-go/genproto
 	dev-go/luci-go-common
 	dev-go/mock
 	dev-go/protobuf
+	dev-go/protobuf-legacy-api
 	chromeos-base/cros-config-api
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-util/cros-publish/cros-publish-0.0.1-r4.ebuild b/dev-util/cros-publish/cros-publish-0.0.1-r4.ebuild
deleted file mode 100644
index 7b8e79a..0000000
--- a/dev-util/cros-publish/cros-publish-0.0.1-r4.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="6a69124e0e3a3440d23293195256aa6abdd3b0b6"
-CROS_WORKON_TREE="0784f2536cc879930eb9c9e8d27178348ffbb61e"
-CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
-CROS_WORKON_LOCALNAME=("../platform/dev")
-CROS_WORKON_SUBTREE="src/chromiumos/test/publish"
-
-inherit cros-go cros-workon
-
-DESCRIPTION="Publish server implementation for uploading test result artifacts to GCS bucket"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/publish"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-CROS_GO_WORKSPACE=(
-	"${S}"
-)
-
-CROS_GO_BINARIES=(
-	"chromiumos/test/publish/cmd/cros-publish"
-)
-
-CROS_GO_TEST=(
-	"chromiumos/test/publish/cmd/..."
-)
-
-CROS_GO_VET=(
-	"${CROS_GO_TEST[@]}"
-)
-
-DEPEND="
-	dev-util/lro-server
-	dev-go/crypto
-	dev-go/gcp-storage
-	dev-go/grpc
-	dev-go/mock
-	dev-go/protobuf
-	chromeos-base/cros-config-api
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-util/cros-publish/cros-publish-0.0.1-r8.ebuild b/dev-util/cros-publish/cros-publish-0.0.1-r8.ebuild
new file mode 100644
index 0000000..d51e327
--- /dev/null
+++ b/dev-util/cros-publish/cros-publish-0.0.1-r8.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="9020d2fea5cca7d3d484bdac2a46d269ff87814d"
+CROS_WORKON_TREE="6b5e0ce1ebb8a97db9a0874bdffdbc0fb171f8df"
+CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
+CROS_WORKON_LOCALNAME=("../platform/dev")
+CROS_WORKON_SUBTREE="src/chromiumos/test/publish"
+
+inherit cros-go cros-workon
+
+DESCRIPTION="Publish server implementation for uploading test result artifacts to GCS bucket"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/publish"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+CROS_GO_WORKSPACE=(
+	"${S}"
+)
+
+CROS_GO_BINARIES=(
+	"chromiumos/test/publish/cmd/cros-publish"
+)
+
+CROS_GO_TEST=(
+	"chromiumos/test/publish/cmd/..."
+)
+
+CROS_GO_VET=(
+	"${CROS_GO_TEST[@]}"
+)
+
+DEPEND="
+	dev-util/lro-server
+	dev-go/crypto
+	dev-go/gcp-storage
+	dev-go/grpc
+	dev-go/mock
+	dev-go/protobuf
+	dev-go/protobuf-legacy-api
+	chromeos-base/cros-config-api
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-util/cros-publish/cros-publish-9999.ebuild b/dev-util/cros-publish/cros-publish-9999.ebuild
index 7b242a5..d9dca63 100644
--- a/dev-util/cros-publish/cros-publish-9999.ebuild
+++ b/dev-util/cros-publish/cros-publish-9999.ebuild
@@ -38,6 +38,7 @@
 	dev-go/grpc
 	dev-go/mock
 	dev-go/protobuf
+	dev-go/protobuf-legacy-api
 	chromeos-base/cros-config-api
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-util/cros-test-finder/cros-test-finder-0.0.1-r27.ebuild b/dev-util/cros-test-finder/cros-test-finder-0.0.1-r27.ebuild
new file mode 100644
index 0000000..72225a4
--- /dev/null
+++ b/dev-util/cros-test-finder/cros-test-finder-0.0.1-r27.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="cdba8c95a061c31caea846c54623a199216a448a"
+CROS_WORKON_TREE=("b4a202ab905c738735c1b0a422ad4f7c0f80e9b3" "a5b7a8cfa5fee66dae2198d608c1767f315ab13d" "893a6c65e547215a0fbd306fe773bb5e8e27f34b")
+CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
+CROS_WORKON_LOCALNAME=("../platform/dev")
+CROS_WORKON_SUBTREE="src/chromiumos/test/test_finder src/chromiumos/test/util src/chromiumos/test/execution"
+
+inherit cros-go cros-workon
+
+DESCRIPTION="Test finder for find tests that match the specified test suite tags"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/test_finder"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+CROS_GO_VERSION="${PF}"
+
+CROS_GO_BINARIES=(
+	"chromiumos/test/test_finder/cmd/cros-test-finder"
+)
+
+CROS_GO_TEST=(
+	"chromiumos/test/test_finder/cmd/cros-test-finder/..."
+)
+
+CROS_GO_VET=(
+	"${CROS_GO_TEST[@]}"
+)
+
+DEPEND="
+	chromeos-base/tast-cmd:=
+	chromeos-base/tast-proto
+	dev-util/cros-test
+	dev-util/lro-server
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+	# Disable cgo and PIE on building Tast binaries. See:
+	# https://crbug.com/976196
+	# https://github.com/golang/go/issues/30986#issuecomment-475626018
+	export CGO_ENABLED=0
+	export GOPIE=0
+
+	default
+}
diff --git a/dev-util/cros-test-finder/cros-test-finder-0.0.1-r9.ebuild b/dev-util/cros-test-finder/cros-test-finder-0.0.1-r9.ebuild
deleted file mode 100644
index 83e3e35..0000000
--- a/dev-util/cros-test-finder/cros-test-finder-0.0.1-r9.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="4c8a2bed9d4abf27b69d1031ee66cca758756c17"
-CROS_WORKON_TREE=("7795def0ec1f2171ba06d3e3b6079de1c0c7fe7a" "a5b7a8cfa5fee66dae2198d608c1767f315ab13d" "8e16fb03947f7ce6f98542b377f94829d13e621e")
-CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
-CROS_WORKON_LOCALNAME=("../platform/dev")
-CROS_WORKON_SUBTREE="src/chromiumos/test/test_finder src/chromiumos/test/util src/chromiumos/test/execution"
-
-inherit cros-go cros-workon
-
-DESCRIPTION="Test finder for find tests that match the specified test suite tags"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/test_finder"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-CROS_GO_VERSION="${PF}"
-
-CROS_GO_BINARIES=(
-	"chromiumos/test/test_finder/cmd/cros-test-finder"
-)
-
-CROS_GO_TEST=(
-	"chromiumos/test/test_finder/cmd/cros-test-finder/..."
-)
-
-CROS_GO_VET=(
-	"${CROS_GO_TEST[@]}"
-)
-
-DEPEND="
-	chromeos-base/tast-cmd:=
-	chromeos-base/tast-proto
-	dev-util/lro-server
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
-	# Disable cgo and PIE on building Tast binaries. See:
-	# https://crbug.com/976196
-	# https://github.com/golang/go/issues/30986#issuecomment-475626018
-	export CGO_ENABLED=0
-	export GOPIE=0
-
-	default
-}
diff --git a/dev-util/cros-test-finder/cros-test-finder-9999.ebuild b/dev-util/cros-test-finder/cros-test-finder-9999.ebuild
index fa2a8c7..3f2abb5 100644
--- a/dev-util/cros-test-finder/cros-test-finder-9999.ebuild
+++ b/dev-util/cros-test-finder/cros-test-finder-9999.ebuild
@@ -32,6 +32,7 @@
 DEPEND="
 	chromeos-base/tast-cmd:=
 	chromeos-base/tast-proto
+	dev-util/cros-test
 	dev-util/lro-server
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-util/cros-test/cros-test-0.0.1-r19.ebuild b/dev-util/cros-test/cros-test-0.0.1-r19.ebuild
new file mode 100644
index 0000000..c3d105c
--- /dev/null
+++ b/dev-util/cros-test/cros-test-0.0.1-r19.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="f25c025760179e194cb403f143d4bf9f11406442"
+CROS_WORKON_TREE=("893a6c65e547215a0fbd306fe773bb5e8e27f34b" "a5b7a8cfa5fee66dae2198d608c1767f315ab13d")
+CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
+CROS_WORKON_LOCALNAME=("../platform/dev")
+CROS_WORKON_SUBTREE="src/chromiumos/test/execution src/chromiumos/test/util"
+
+inherit cros-go cros-workon
+
+DESCRIPTION="Test execution server for running tests and capturing results"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/execution"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+CROS_GO_VERSION="${PF}"
+
+CROS_GO_BINARIES=(
+	"chromiumos/test/execution/cmd/cros-test"
+)
+
+CROS_GO_PACKAGES=(
+	"chromiumos/test/execution/errors/..."
+	"chromiumos/test/util/..."
+)
+
+CROS_GO_TEST=(
+	"chromiumos/test/execution/cmd/cros-test/..."
+)
+
+CROS_GO_VET=(
+	"${CROS_GO_TEST[@]}"
+)
+
+DEPEND="
+	chromeos-base/tast-cmd:=
+	chromeos-base/tast-proto
+	dev-go/cmp
+	dev-go/grpc
+	dev-go/protobuf-legacy-api
+	dev-util/lro-server
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+	# Disable cgo and PIE on building Tast binaries. See:
+	# https://crbug.com/976196
+	# https://github.com/golang/go/issues/30986#issuecomment-475626018
+	export CGO_ENABLED=0
+	export GOPIE=0
+
+	default
+}
diff --git a/dev-util/cros-test/cros-test-0.0.1-r5.ebuild b/dev-util/cros-test/cros-test-0.0.1-r5.ebuild
deleted file mode 100644
index 1af608b..0000000
--- a/dev-util/cros-test/cros-test-0.0.1-r5.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="4c8a2bed9d4abf27b69d1031ee66cca758756c17"
-CROS_WORKON_TREE=("8e16fb03947f7ce6f98542b377f94829d13e621e" "a5b7a8cfa5fee66dae2198d608c1767f315ab13d")
-CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
-CROS_WORKON_LOCALNAME=("../platform/dev")
-CROS_WORKON_SUBTREE="src/chromiumos/test/execution src/chromiumos/test/util"
-
-inherit cros-go cros-workon
-
-DESCRIPTION="Test execution server for running tests and capturing results"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/execution"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-CROS_GO_VERSION="${PF}"
-
-CROS_GO_BINARIES=(
-	"chromiumos/test/execution/cmd/cros-test"
-)
-
-CROS_GO_TEST=(
-	"chromiumos/test/execution/cmd/cros-test/..."
-)
-
-CROS_GO_VET=(
-	"${CROS_GO_TEST[@]}"
-)
-
-DEPEND="
-	chromeos-base/tast-cmd:=
-	chromeos-base/tast-proto
-	dev-util/lro-server
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
-	# Disable cgo and PIE on building Tast binaries. See:
-	# https://crbug.com/976196
-	# https://github.com/golang/go/issues/30986#issuecomment-475626018
-	export CGO_ENABLED=0
-	export GOPIE=0
-
-	default
-}
diff --git a/dev-util/cros-test/cros-test-9999.ebuild b/dev-util/cros-test/cros-test-9999.ebuild
index db7518d..d0905da 100644
--- a/dev-util/cros-test/cros-test-9999.ebuild
+++ b/dev-util/cros-test/cros-test-9999.ebuild
@@ -21,6 +21,11 @@
 	"chromiumos/test/execution/cmd/cros-test"
 )
 
+CROS_GO_PACKAGES=(
+	"chromiumos/test/execution/errors/..."
+	"chromiumos/test/util/..."
+)
+
 CROS_GO_TEST=(
 	"chromiumos/test/execution/cmd/cros-test/..."
 )
@@ -32,6 +37,9 @@
 DEPEND="
 	chromeos-base/tast-cmd:=
 	chromeos-base/tast-proto
+	dev-go/cmp
+	dev-go/grpc
+	dev-go/protobuf-legacy-api
 	dev-util/lro-server
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-util/cvise/Manifest b/dev-util/cvise/Manifest
new file mode 100644
index 0000000..43450ad
--- /dev/null
+++ b/dev-util/cvise/Manifest
@@ -0,0 +1 @@
+DIST cvise-2.4.0.tar.gz 252810 BLAKE2B a95d1645192886d8871dcdf7f9cdfa5a2ac615a3bbc24782c0966d1872fe5f3ade7ddb82afabecfcdebfdac257e2e13e6cb99ab7320baee1a4b43ab360e6a0b2 SHA512 073e53039d2b077fed43b948e0c01dc662ef4f75b92d7f49d1786a35c36412fed02e1931c6a39ce902452056fe5c7d70daa35a9cae18b44009778837261cae19
diff --git a/dev-util/cvise/OWNERS b/dev-util/cvise/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/dev-util/cvise/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/dev-util/cvise/cvise-2.4.0-r3.ebuild b/dev-util/cvise/cvise-2.4.0-r3.ebuild
new file mode 100644
index 0000000..644157a
--- /dev/null
+++ b/dev-util/cvise/cvise-2.4.0-r3.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+: "${CMAKE_MAKEFILE_GENERATOR=ninja}"
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cmake python-single-r1
+
+DESCRIPTION="Super-parallel Python port of the C-Reduce"
+HOMEPAGE="https://github.com/marxin/cvise/"
+SRC_URI="
+	https://github.com/marxin/cvise/archive/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="UoI-NCSA"
+SLOT="0"
+KEYWORDS="*"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE=${PYTHON_REQUIRED_USE}
+
+DEPEND="sys-devel/llvm"
+RDEPEND="${DEPEND}
+	${PYTHON_DEPS}
+	$(python_gen_cond_dep '
+		dev-python/chardet[${PYTHON_USEDEP}]
+		dev-python/pebble[${PYTHON_USEDEP}]
+		dev-python/psutil[${PYTHON_USEDEP}]
+	')
+	dev-util/unifdef
+	sys-devel/flex"
+BDEPEND="
+	${PYTHON_DEPS}
+	sys-devel/flex
+	test? (
+		$(python_gen_cond_dep '
+			dev-python/pebble[${PYTHON_USEDEP}]
+			dev-python/pytest[${PYTHON_USEDEP}]
+		')
+	)"
+
+pkg_setup() {
+	python-single-r1_pkg_setup
+}
+
+src_prepare() {
+	if has_version "sys-devel/llvm[llvm-next]" || has_version ">sys-devel/llvm-15.0_pre458507_p20220602-r1000"; then
+		eapply "${FILESDIR}/0001-refactors-so-that-the-project-is-LLVM-15-compatible.patch"
+		eapply_user
+	fi
+	sed -i -e 's:-n auto::' -e 's:--flake8::' setup.cfg || die
+	cmake_src_prepare
+}
+
+src_test() {
+	cd "${BUILD_DIR}" || die
+	epytest
+}
+
+src_install() {
+	cmake_src_install
+
+	python_fix_shebang "${ED}"/usr/bin/cvise
+}
diff --git a/dev-util/cvise/files/0001-refactors-so-that-the-project-is-LLVM-15-compatible.patch b/dev-util/cvise/files/0001-refactors-so-that-the-project-is-LLVM-15-compatible.patch
new file mode 100644
index 0000000..5fd4985
--- /dev/null
+++ b/dev-util/cvise/files/0001-refactors-so-that-the-project-is-LLVM-15-compatible.patch
@@ -0,0 +1,127 @@
+From fbbfc2757736be38ac38eb26c20bf6b36dd8fc6c Mon Sep 17 00:00:00 2001
+From: Christopher Di Bella <cjdb@google.com>
+Date: Tue, 9 Aug 2022 01:01:16 +0000
+Subject: [PATCH] refactors so that the project is LLVM 15-compatible
+
+* replaces `Invocation.setLangDefaults` with
+  `LangOptions::setLangDefaults`
+* Fixes virtual interface
+
+Fixes #74
+
+Co-authored-by: Martin Liska <mliska@suse.cz>
+---
+ clang_delta/ExpressionDetector.cpp    | 16 +++++++++++++--
+ clang_delta/TransformationManager.cpp | 29 ++++++++++++++++++++++++---
+ 2 files changed, 40 insertions(+), 5 deletions(-)
+
+diff --git a/clang_delta/ExpressionDetector.cpp b/clang_delta/ExpressionDetector.cpp
+index 3e03982..b15983a 100644
+--- a/clang_delta/ExpressionDetector.cpp
++++ b/clang_delta/ExpressionDetector.cpp
+@@ -16,6 +16,9 @@
+ 
+ #include "clang/AST/RecursiveASTVisitor.h"
+ #include "clang/AST/ASTContext.h"
++#if LLVM_VERSION_MAJOR >= 15
++#include "clang/Basic/FileEntry.h"
++#endif
+ #include "clang/Basic/SourceManager.h"
+ #include "clang/Lex/Preprocessor.h"
+ 
+@@ -62,7 +65,12 @@ public:
+   virtual void InclusionDirective(SourceLocation HashLoc,
+                           const Token &IncludeTok,
+                           StringRef FileName, bool IsAngled,
+-                          CharSourceRange FilenameRange, const FileEntry *File,
++                          CharSourceRange FilenameRange,
++#if LLVM_VERSION_MAJOR < 15
++                          const FileEntry *File,
++#else
++                          Optional<FileEntryRef> File,
++#endif
+                           StringRef SearchPath, StringRef RelativePath,
+                           const Module *Imported,
+                           SrcMgr::CharacteristicKind FileType) override;
+@@ -80,9 +88,13 @@ private:
+ void IncludesPPCallbacks::InclusionDirective(SourceLocation HashLoc,
+                                              const Token &/*IncludeTok*/,
+                                              StringRef FileName,
+-                                            bool /*IsAngled*/,
++                                             bool /*IsAngled*/,
+                                              CharSourceRange /*FilenameRange*/,
++#if LLVM_VERSION_MAJOR < 15
+                                              const FileEntry * /*File*/,
++#else
++                                             Optional<FileEntryRef> /*File*/,
++#endif
+                                              StringRef /*SearchPath*/,
+                                              StringRef /*RelativePath*/,
+                                              const Module * /*Imported*/,
+diff --git a/clang_delta/TransformationManager.cpp b/clang_delta/TransformationManager.cpp
+index b642c70..5af354c 100644
+--- a/clang_delta/TransformationManager.cpp
++++ b/clang_delta/TransformationManager.cpp
+@@ -20,6 +20,10 @@
+ #include "clang/Basic/Builtins.h"
+ #include "clang/Basic/Diagnostic.h"
+ #include "clang/Basic/FileManager.h"
++#if LLVM_VERSION_MAJOR >= 15
++#include "clang/Basic/LangOptions.h"
++#include "clang/Basic/LangStandard.h"
++#endif
+ #include "clang/Basic/TargetInfo.h"
+ #include "clang/Lex/Preprocessor.h"
+ #include "clang/Frontend/CompilerInstance.h"
+@@ -151,7 +155,7 @@ bool TransformationManager::initializeCompilerInstance(std::string &ErrorMsg)
+     Invocation.setLangDefaults(ClangInstance->getLangOpts(), InputKind(Language::CXX), T, PPOpts, LSTD);
+   }
+   else if(IK.getLanguage() == Language::OpenCL) {
+-#else
++#elif LLVM_VERSION_MAJOR < 15
+   vector<string> includes;
+   if (IK.getLanguage() == Language::C) {
+     Invocation.setLangDefaults(ClangInstance->getLangOpts(), InputKind(Language::C), T, includes);
+@@ -163,6 +167,18 @@ bool TransformationManager::initializeCompilerInstance(std::string &ErrorMsg)
+     Invocation.setLangDefaults(ClangInstance->getLangOpts(), InputKind(Language::CXX), T, includes, LSTD);
+   }
+   else if(IK.getLanguage() == Language::OpenCL) {
++#else
++  vector<string> includes;
++  if (IK.getLanguage() == Language::C) {
++    LangOptions::setLangDefaults(ClangInstance->getLangOpts(), Language::C, T, includes);
++  }
++  else if (IK.getLanguage() == Language::CXX) {
++    // ISSUE: it might cause some problems when building AST
++    // for a function which has a non-declared callee, e.g.,
++    // It results an empty AST for the caller.
++    LangOptions::setLangDefaults(ClangInstance->getLangOpts(), Language::CXX, T, includes, LSTD);
++  }
++  else if(IK.getLanguage() == Language::OpenCL) {
+ #endif
+     //Commandline parameters
+     std::vector<const char*> Args;
+@@ -191,11 +207,18 @@ bool TransformationManager::initializeCompilerInstance(std::string &ErrorMsg)
+                                        &Args[0], &Args[0] + Args.size(),
+ #endif
+                                        ClangInstance->getDiagnostics());
++#if LLVM_VERSION_MAJOR < 15
+     Invocation.setLangDefaults(ClangInstance->getLangOpts(),
+-#if LLVM_VERSION_MAJOR >= 10
+-                               InputKind(Language::OpenCL),
+ #else
++    LangOptions::setLangDefaults(ClangInstance->getLangOpts(),
++#endif
++
++#if LLVM_VERSION_MAJOR < 10
+                                InputKind::OpenCL,
++#elif LLVM_VERSION_MAJOR < 15
++                               InputKind(Language::OpenCL),
++#else
++                               Language::OpenCL,
+ #endif
+ 
+ #if LLVM_VERSION_MAJOR < 12
+-- 
+2.37.1.559.g78731f0fdb-goog
+
diff --git a/dev-util/cvise/metadata.xml b/dev-util/cvise/metadata.xml
new file mode 100644
index 0000000..076793e
--- /dev/null
+++ b/dev-util/cvise/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<email>mgorny@gentoo.org</email>
+		<name>Michał Górny</name>
+	</maintainer>
+</pkgmetadata>
diff --git a/dev-util/fatrace/Manifest b/dev-util/fatrace/Manifest
new file mode 100644
index 0000000..2fc0187
--- /dev/null
+++ b/dev-util/fatrace/Manifest
@@ -0,0 +1 @@
+DIST fatrace-0.16.3.tar.gz 24932 BLAKE2B e0105fb8488fe6c7a9564371d6645684b70e9811b3b28fadb0bc10961a1dad888ba26d555fa3f7a680e8f647e9777aa749057f4cda81c6dc879f076a05612c0f SHA512 54ffcf4da48c0bd43373322d29352dfd50d8bd0cff8bba172ec30881fcdc4fa9fa3bcdcb86396331baada42ec87a03b4005b4d1a1c95e4e5c947395a80b61839
diff --git a/dev-util/fatrace/fatrace-0.16.3.ebuild b/dev-util/fatrace/fatrace-0.16.3.ebuild
new file mode 100644
index 0000000..4eb71ed
--- /dev/null
+++ b/dev-util/fatrace/fatrace-0.16.3.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit linux-info
+
+DESCRIPTION="report file access events from all running processes"
+HOMEPAGE="https://github.com/martinpitt/fatrace"
+SRC_URI="https://github.com/martinpitt/fatrace/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+
+CONFIG_CHECK="~FANOTIFY"
+
+src_install() {
+	dosbin fatrace
+	doman fatrace.8
+	dodoc NEWS
+}
diff --git a/dev-util/fatrace/metadata.xml b/dev-util/fatrace/metadata.xml
new file mode 100644
index 0000000..115e9d6
--- /dev/null
+++ b/dev-util/fatrace/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/dev-util/gdbus-codegen/Manifest b/dev-util/gdbus-codegen/Manifest
index 0712703..e89f989 100644
--- a/dev-util/gdbus-codegen/Manifest
+++ b/dev-util/gdbus-codegen/Manifest
@@ -1 +1 @@
-DIST glib-2.68.3.tar.xz 4945236 BLAKE2B 6086b7490f418cb98119ab25670766e3a84de81fd180dbc6e8f929d8f8ab748b0ae7ad6a85f5419ab3c00589c3afba95972d8b4541b310acdf6b6dc9b460a07d SHA512 fb120105c4cb582491a53a0e4c61fe4bdd1f94b279bb7c362afd591369ede50a196c706375564ededf3550d4062a285b038e20b605e6d5dfe36f5d208f4bad3f
+DIST glib-2.72.1.tar.xz 4890672 BLAKE2B 95a563b5388ee4d239034fef6ec071a7d608be3dd5de716e7c5baca641a70d19ce6b14b693ac1041f65bfae815e5b829f02983234d1bbe6546cdd1c5159a8eab SHA512 341acc91b4bed7a980b396888a0ab504337b6870422a708ea3e178598c028bc230457a328c35db469d92b0067ce8ec35d08dbcfe6d5af3340b574d41c0131913
diff --git a/dev-util/gdbus-codegen/gdbus-codegen-2.68.3-r1.ebuild b/dev-util/gdbus-codegen/gdbus-codegen-2.68.3-r1.ebuild
deleted file mode 120000
index e6dffe8..0000000
--- a/dev-util/gdbus-codegen/gdbus-codegen-2.68.3-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-gdbus-codegen-2.68.3.ebuild
\ No newline at end of file
diff --git a/dev-util/gdbus-codegen/gdbus-codegen-2.68.3.ebuild b/dev-util/gdbus-codegen/gdbus-codegen-2.72.1.ebuild
similarity index 100%
rename from dev-util/gdbus-codegen/gdbus-codegen-2.68.3.ebuild
rename to dev-util/gdbus-codegen/gdbus-codegen-2.72.1.ebuild
diff --git a/dev-util/glib-utils/Manifest b/dev-util/glib-utils/Manifest
index 0712703..e89f989 100644
--- a/dev-util/glib-utils/Manifest
+++ b/dev-util/glib-utils/Manifest
@@ -1 +1 @@
-DIST glib-2.68.3.tar.xz 4945236 BLAKE2B 6086b7490f418cb98119ab25670766e3a84de81fd180dbc6e8f929d8f8ab748b0ae7ad6a85f5419ab3c00589c3afba95972d8b4541b310acdf6b6dc9b460a07d SHA512 fb120105c4cb582491a53a0e4c61fe4bdd1f94b279bb7c362afd591369ede50a196c706375564ededf3550d4062a285b038e20b605e6d5dfe36f5d208f4bad3f
+DIST glib-2.72.1.tar.xz 4890672 BLAKE2B 95a563b5388ee4d239034fef6ec071a7d608be3dd5de716e7c5baca641a70d19ce6b14b693ac1041f65bfae815e5b829f02983234d1bbe6546cdd1c5159a8eab SHA512 341acc91b4bed7a980b396888a0ab504337b6870422a708ea3e178598c028bc230457a328c35db469d92b0067ce8ec35d08dbcfe6d5af3340b574d41c0131913
diff --git a/dev-util/glib-utils/glib-utils-2.68.3-r1.ebuild b/dev-util/glib-utils/glib-utils-2.68.3-r1.ebuild
deleted file mode 120000
index 400e706..0000000
--- a/dev-util/glib-utils/glib-utils-2.68.3-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-glib-utils-2.68.3.ebuild
\ No newline at end of file
diff --git a/dev-util/glib-utils/glib-utils-2.68.3.ebuild b/dev-util/glib-utils/glib-utils-2.72.1.ebuild
similarity index 100%
rename from dev-util/glib-utils/glib-utils-2.68.3.ebuild
rename to dev-util/glib-utils/glib-utils-2.72.1.ebuild
diff --git a/dev-util/gyp/Manifest b/dev-util/gyp/Manifest
deleted file mode 100644
index f911f5f..0000000
--- a/dev-util/gyp/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST gyp-2019.06.04.155326.tar.gz 626991 BLAKE2B 10b14c94a2b74b385f9fc6af875b70115b935cca0b1e2f22a33984e8d3ae0fe9405b6081974457a1fc0608e7cf534f8fac13a3bf7b2f7fd0676d4081dee16370 SHA512 6b9daeee4d87dd40fecc85578e4311d799c2514ac328b35667ba68d1e2ad987d8628b7d511311612c24ea5420c572335a6035c23b43e8056b2acc48367ba1af7
diff --git a/dev-util/gyp/files/gyp-2018.02.07.213755-ninja-symlink-fix.patch b/dev-util/gyp/files/gyp-2018.02.07.213755-ninja-symlink-fix.patch
deleted file mode 100644
index 5316c96..0000000
--- a/dev-util/gyp/files/gyp-2018.02.07.213755-ninja-symlink-fix.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Re-enable symlink resolution when determining relative paths to use for writing
-ninja files. cros_workon_make relies on symlinking platform2 into the build
-environment; that is, a build path like /build/.../cryptohome-9999/platform2/ is
-symlinked to /mnt/host/source/src/platform2.
-
-platform2.py uses the source path (in /mnt/host/source) as the source root, but
-the particular .gyp file being generated uses the build path (in /build).
-Without symlink resolution, the relative path is incorrect, causing ninja
-generation to fail.
-
-Note that simply changing platform2.py to pass the /build path to the platform2
-directory as --toplevel-dir (instead of the /mnt/host/source path) would not
-solve this as gyp unconditionally resolves that symlink. Thus, take the simpler
-approach of changing back to resolving both symlinks.
-
-This effectively reverts https://codereview.chromium.org/1365163002.
-
---- pylib/gyp/generator/ninja.py
-+++ pylib/gyp/generator/ninja.py
-@@ -2377,7 +2377,7 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params,
-     # it could point to a path above toplevel_dir, and we cannot correctly deal
-     # with that case at the moment.
-     build_file = gyp.common.RelativePath(build_file, options.toplevel_dir,
--                                         False)
-+                                         True)
- 
-     qualified_target_for_hash = gyp.common.QualifiedTarget(build_file, name,
-                                                            toolset)
diff --git a/dev-util/gyp/files/gyp-2018.02.07.213755-shlex-split-fix.patch b/dev-util/gyp/files/gyp-2018.02.07.213755-shlex-split-fix.patch
deleted file mode 100644
index 10f37fa..0000000
--- a/dev-util/gyp/files/gyp-2018.02.07.213755-shlex-split-fix.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-https://code.google.com/p/gyp/issues/detail?id=438
-
-Index: pylib/gyp/input.py
-===================================================================
---- pylib/gyp/input.py	(revision 1590)
-+++ pylib/gyp/input.py	(working copy)
-@@ -932,7 +932,7 @@
-         output = replacement[:]
-       else:
-         # Split it the same way sh would split arguments.
--        output = shlex.split(str(replacement))
-+        output = shlex.split(str(replacement), posix=False)
-     else:
-       # Expanding in string context.
-       encoded_replacement = ''
diff --git a/dev-util/gyp/files/gyp-2019.06.04.155326-utf8-python3.patch b/dev-util/gyp/files/gyp-2019.06.04.155326-utf8-python3.patch
deleted file mode 100644
index c49b1d5..0000000
--- a/dev-util/gyp/files/gyp-2019.06.04.155326-utf8-python3.patch
+++ /dev/null
@@ -1,253 +0,0 @@
-https://crrev.com/c/1697943
-
-From 93dfd6e9f425c4e0cd4f33b655d521f571d330ee Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@chromium.org>
-Date: Thu, 11 Jul 2019 04:22:22 -0400
-Subject: [PATCH] fix encoding issues with inputs for better Python 3 support
-
-When running subprocesses like '!<(which foo)', we return subprocess's
-stdout contents as bytes, not as a string.  Make sure we decode it into
-UTF-8 first.
-
-When reading gyp files, we don't specify an encoding, so the default
-might be ASCII which breaks when the gyp files contain UTF-8.  Change
-it to always read it as a binary stream before decoding to UTF-8.
-
-With those fixes in place, we need to rework all the type checks for
-strings & numbers.  Introduce some aliases to the right set of types
-for the active version of Python, and then change all the type checks
-to use isinstance.
-
-Test: building CrOS gyp packages with python3 works again
-Test: `./gyptest.py -a` mostly passes (4 failures look toolchain related)
----
- pylib/gyp/input.py | 65 +++++++++++++++++++++++++++++-----------------
- 1 file changed, 41 insertions(+), 24 deletions(-)
-
-diff --git a/pylib/gyp/input.py b/pylib/gyp/input.py
-index 39bdbbb300f2..42c279cf49ec 100644
---- a/pylib/gyp/input.py
-+++ b/pylib/gyp/input.py
-@@ -54,6 +54,23 @@ path_sections = set()
- per_process_data = {}
- per_process_aux_data = {}
- 
-+try:
-+  _str_types = (basestring,)
-+# There's no basestring in python3.
-+except NameError:
-+  _str_types = (str,)
-+
-+try:
-+  _int_types = (int, long)
-+# There's no long in python3.
-+except NameError:
-+  _int_types = (int,)
-+
-+# Shortcuts as we use these combos a lot.
-+_str_int_types = _str_types + _int_types
-+_str_int_list_types = _str_int_types + (list,)
-+
-+
- def IsPathSection(section):
-   # If section ends in one of the '=+?!' characters, it's applied to a section
-   # without the trailing characters.  '/' is notably absent from this list,
-@@ -221,7 +238,7 @@ def LoadOneBuildFile(build_file_path, data, aux_data, includes,
-     return data[build_file_path]
- 
-   if os.path.exists(build_file_path):
--    build_file_contents = open(build_file_path).read()
-+    build_file_contents = open(build_file_path, 'rb').read().decode('utf-8')
-   else:
-     raise GypError("%s not found (cwd: %s)" % (build_file_path, os.getcwd()))
- 
-@@ -638,7 +655,7 @@ def IsStrCanonicalInt(string):
- 
-   The canonical form is such that str(int(string)) == string.
-   """
--  if type(string) is str:
-+  if isinstance(string, _str_types):
-     # This function is called a lot so for maximum performance, avoid
-     # involving regexps which would otherwise make the code much
-     # shorter. Regexps would need twice the time of this function.
-@@ -908,7 +925,7 @@ def ExpandVariables(input, phase, variables, build_file):
-             # in python 2.5 and later.
-             raise GypError("Call to '%s' returned exit status %d while in %s." %
-                            (contents, p.returncode, build_file))
--          replacement = p_stdout.rstrip()
-+          replacement = p_stdout.decode('utf-8').rstrip()
- 
-         cached_command_results[cache_key] = replacement
-       else:
-@@ -938,7 +955,7 @@ def ExpandVariables(input, phase, variables, build_file):
- 
-     if type(replacement) is list:
-       for item in replacement:
--        if not contents[-1] == '/' and type(item) not in (str, int):
-+        if not contents[-1] == '/' and not isinstance(item, _str_int_types):
-           raise GypError('Variable ' + contents +
-                          ' must expand to a string or list of strings; ' +
-                          'list contains a ' +
-@@ -948,7 +965,7 @@ def ExpandVariables(input, phase, variables, build_file):
-       # with conditions sections.
-       ProcessVariablesAndConditionsInList(replacement, phase, variables,
-                                           build_file)
--    elif type(replacement) not in (str, int):
-+    elif not isinstance(replacement, _str_int_types):
-           raise GypError('Variable ' + str(contents) +
-                          ' must expand to a string or list of strings; ' +
-                          'found a ' + replacement.__class__.__name__)
-@@ -1067,7 +1084,7 @@ def EvalSingleCondition(
-   # use a command expansion directly inside a condition.
-   cond_expr_expanded = ExpandVariables(cond_expr, phase, variables,
-                                        build_file)
--  if type(cond_expr_expanded) not in (str, int):
-+  if not isinstance(cond_expr_expanded, _str_int_types):
-     raise ValueError(
-           'Variable expansion in this context permits str and int ' + \
-             'only, found ' + cond_expr_expanded.__class__.__name__)
-@@ -1143,7 +1160,7 @@ def LoadAutomaticVariablesFromDict(variables, the_dict):
-   # Any keys with plain string values in the_dict become automatic variables.
-   # The variable name is the key name with a "_" character prepended.
-   for key, value in the_dict.items():
--    if type(value) in (str, int, list):
-+    if isinstance(value, _str_int_list_types):
-       variables['_' + key] = value
- 
- 
-@@ -1156,7 +1173,7 @@ def LoadVariablesFromVariablesDict(variables, the_dict, the_dict_key):
-   # (it could be a list or it could be parentless because it is a root dict),
-   # the_dict_key will be None.
-   for key, value in the_dict.get('variables', {}).items():
--    if type(value) not in (str, int, list):
-+    if not isinstance(value, _str_int_list_types):
-       continue
- 
-     if key.endswith('%'):
-@@ -1209,9 +1226,9 @@ def ProcessVariablesAndConditionsInDict(the_dict, phase, variables_in,
- 
-   for key, value in the_dict.items():
-     # Skip "variables", which was already processed if present.
--    if key != 'variables' and type(value) is str:
-+    if key != 'variables' and isinstance(value, _str_types):
-       expanded = ExpandVariables(value, phase, variables, build_file)
--      if type(expanded) not in (str, int):
-+      if not isinstance(expanded, _str_int_types):
-         raise ValueError(
-               'Variable expansion in this context permits str and int ' + \
-               'only, found ' + expanded.__class__.__name__ + ' for ' + key)
-@@ -1268,7 +1285,7 @@ def ProcessVariablesAndConditionsInDict(the_dict, phase, variables_in,
-   for key, value in the_dict.items():
-     # Skip "variables" and string values, which were already processed if
-     # present.
--    if key == 'variables' or type(value) is str:
-+    if key == 'variables' or isinstance(value, _str_types):
-       continue
-     if type(value) is dict:
-       # Pass a copy of the variables dict so that subdicts can't influence
-@@ -1282,7 +1299,7 @@ def ProcessVariablesAndConditionsInDict(the_dict, phase, variables_in,
-       # copy is necessary here.
-       ProcessVariablesAndConditionsInList(value, phase, variables,
-                                           build_file)
--    elif type(value) is not int:
-+    elif not isinstance(value, _int_types):
-       raise TypeError('Unknown type ' + value.__class__.__name__ + \
-                       ' for ' + key)
- 
-@@ -1299,9 +1316,9 @@ def ProcessVariablesAndConditionsInList(the_list, phase, variables,
-       ProcessVariablesAndConditionsInDict(item, phase, variables, build_file)
-     elif type(item) is list:
-       ProcessVariablesAndConditionsInList(item, phase, variables, build_file)
--    elif type(item) is str:
-+    elif isinstance(item, _str_types):
-       expanded = ExpandVariables(item, phase, variables, build_file)
--      if type(expanded) in (str, int):
-+      if isinstance(expanded, _str_int_types):
-         the_list[index] = expanded
-       elif type(expanded) is list:
-         the_list[index:index+1] = expanded
-@@ -1315,7 +1332,7 @@ def ProcessVariablesAndConditionsInList(the_list, phase, variables,
-               'Variable expansion in this context permits strings and ' + \
-               'lists only, found ' + expanded.__class__.__name__ + ' at ' + \
-               index)
--    elif type(item) is not int:
-+    elif not isinstance(item, _int_types):
-       raise TypeError('Unknown type ' + item.__class__.__name__ + \
-                       ' at index ' + index)
-     index = index + 1
-@@ -2050,14 +2067,14 @@ def MergeLists(to, fro, to_file, fro_file, is_paths=False, append=True):
-   hashable_to_set = set(x for x in to if is_hashable(x))
-   for item in fro:
-     singleton = False
--    if type(item) in (str, int):
-+    if isinstance(item, _str_int_types):
-       # The cheap and easy case.
-       if is_paths:
-         to_item = MakePathRelative(to_file, fro_file, item)
-       else:
-         to_item = item
- 
--      if not (type(item) is str and item.startswith('-')):
-+      if not (isinstance(item, _str_types) and item.startswith('-')):
-         # Any string that doesn't begin with a "-" is a singleton - it can
-         # only appear once in a list, to be enforced by the list merge append
-         # or prepend.
-@@ -2114,8 +2131,8 @@ def MergeDicts(to, fro, to_file, fro_file):
-     # modified.
-     if k in to:
-       bad_merge = False
--      if type(v) in (str, int):
--        if type(to[k]) not in (str, int):
-+      if isinstance(v, _str_int_types):
-+        if not isinstance(to[k], _str_int_types):
-           bad_merge = True
-       elif type(v) is not type(to[k]):
-         bad_merge = True
-@@ -2125,7 +2142,7 @@ def MergeDicts(to, fro, to_file, fro_file):
-             'Attempt to merge dict value of type ' + v.__class__.__name__ + \
-             ' into incompatible type ' + to[k].__class__.__name__ + \
-             ' for key ' + k)
--    if type(v) in (str, int):
-+    if isinstance(v, _str_int_types):
-       # Overwrite the existing value, if any.  Cheap and easy.
-       is_path = IsPathSection(k)
-       if is_path:
-@@ -2600,7 +2617,7 @@ def ValidateRunAsInTarget(target, target_dict, build_file):
-                    "must be a list." %
-                    (target_name, build_file))
-   working_directory = run_as.get('working_directory')
--  if working_directory and type(working_directory) is not str:
-+  if working_directory and not isinstance(working_directory, _str_types):
-     raise GypError("The 'working_directory' for 'run_as' in target %s "
-                    "in file %s should be a string." %
-                    (target_name, build_file))
-@@ -2635,7 +2652,7 @@ def TurnIntIntoStrInDict(the_dict):
-   # Use items instead of iteritems because there's no need to try to look at
-   # reinserted keys and their associated values.
-   for k, v in the_dict.items():
--    if type(v) is int:
-+    if isinstance(v, _int_types):
-       v = str(v)
-       the_dict[k] = v
-     elif type(v) is dict:
-@@ -2643,7 +2660,7 @@ def TurnIntIntoStrInDict(the_dict):
-     elif type(v) is list:
-       TurnIntIntoStrInList(v)
- 
--    if type(k) is int:
-+    if isinstance(k, _int_types):
-       del the_dict[k]
-       the_dict[str(k)] = v
- 
-@@ -2652,7 +2669,7 @@ def TurnIntIntoStrInList(the_list):
-   """Given list the_list, recursively converts all integers into strings.
-   """
-   for index, item in enumerate(the_list):
--    if type(item) is int:
-+    if isinstance(item, _int_types):
-       the_list[index] = str(item)
-     elif type(item) is dict:
-       TurnIntIntoStrInDict(item)
--- 
-2.22.0.510.g264f2c817a-goog
-
diff --git a/dev-util/gyp/gyp-2019.06.04.155326.ebuild b/dev-util/gyp/gyp-2019.06.04.155326.ebuild
deleted file mode 100644
index e1ac37c..0000000
--- a/dev-util/gyp/gyp-2019.06.04.155326.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PYTHON_COMPAT=( python2_7 python3_{6,7} )
-inherit distutils-r1
-
-# To uprev, replace the hash with the desired revision.
-# rev="aca1e2c3d346d704adfa60944e6b4dd06f4728be"
-# stamp=$(TZ=UTC git show ${revision} --date=format-local:%Y.%m.%d.%H%M%S -s --format=%cd)
-# wget https://chromium.googlesource.com/external/gyp/+archive/${rev}.tar.gz
-# gsutil cp -a public-read ${rev}.tar.gz gs://chromeos-localmirror/distfiles/gyp-${timestamp}.tar.gz
-# Rename the existing .ebuild file to gyp-${timestamp}.ebuild, updating the revision.
-# ebuild gyp-${timestamp}.ebuild manifest
-
-DESCRIPTION="GYP, a tool to generates native build files"
-HOMEPAGE="https://gyp.gsrc.io/"
-SRC_URI="http://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/${P}.tar.gz"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-S=${WORKDIR}
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-2018.02.07.213755-shlex-split-fix.patch
-	"${FILESDIR}"/${PN}-2018.02.07.213755-ninja-symlink-fix.patch
-	# Sent upstream: https://crrev.com/c/1697943
-	"${FILESDIR}"/${PN}-2019.06.04.155326-utf8-python3.patch
-)
diff --git a/dev-util/hdctools/hdctools-0.0.1-r1516.ebuild b/dev-util/hdctools/hdctools-0.0.1-r1516.ebuild
deleted file mode 100644
index 828c08f..0000000
--- a/dev-util/hdctools/hdctools-0.0.1-r1516.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="eac1edcc3c370f34bacf94403be80dbda6c7077a"
-CROS_WORKON_TREE="1b270bb08bcd2153363b7b70589b1227f4d0c5be"
-CROS_WORKON_PROJECT="chromiumos/third_party/hdctools"
-PYTHON_COMPAT=( python3_{6..9} )
-
-inherit cros-workon distutils-r1 toolchain-funcs udev
-
-DESCRIPTION="Software to communicate with servo/miniservo debug boards"
-HOMEPAGE="https://www.chromium.org/chromium-os/servo"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="cros_host test"
-
-COMMON_DEPEND="
-	>=dev-embedded/libftdi-0.18:=
-	dev-python/numpy[${PYTHON_USEDEP}]
-	>=dev-python/pexpect-3.0[${PYTHON_USEDEP}]
-	dev-python/pyserial[${PYTHON_USEDEP}]
-	>=dev-python/pyusb-1.0.2[${PYTHON_USEDEP}]
-	sys-power/uhubctl
-	virtual/libusb:1=
-	chromeos-base/ec-devutils:=[${PYTHON_USEDEP}]
-"
-
-RDEPEND="${COMMON_DEPEND}
-	virtual/servo-config-dut-usb3:*
-"
-
-DEPEND="${COMMON_DEPEND}
-	app-text/htmltidy
-"
-
-BDEPEND="test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
-
-src_compile() {
-	tc-export CC PKG_CONFIG
-	local makeargs=( $(usex cros_host '' EXTRA_DIRS=chromeos) )
-	emake "${makeargs[@]}"
-	distutils-r1_src_compile
-}
-
-python_test() {
-	py.test -v build/ || die
-}
-
-src_test() {
-	distutils-r1_src_test
-}
-
-src_install() {
-	local makeargs=(
-		$(usex cros_host '' EXTRA_DIRS=chromeos)
-		DESTDIR="${D}"
-		LIBDIR=/usr/$(get_libdir)
-		UDEV_DEST="${D}$(get_udevdir)/rules.d"
-		install
-	)
-	emake "${makeargs[@]}"
-	distutils-r1_src_install
-}
diff --git a/dev-util/hdctools/hdctools-0.0.1-r1656.ebuild b/dev-util/hdctools/hdctools-0.0.1-r1656.ebuild
new file mode 100644
index 0000000..285cefcd
--- /dev/null
+++ b/dev-util/hdctools/hdctools-0.0.1-r1656.ebuild
@@ -0,0 +1,66 @@
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="7681302b796763ac6c31698e97efc7eb0de72f97"
+CROS_WORKON_TREE="88b1aaf2e05c457f543c0ccc678ca85f510800c6"
+CROS_WORKON_PROJECT="chromiumos/third_party/hdctools"
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-workon distutils-r1 toolchain-funcs udev cros-sanitizers
+
+DESCRIPTION="Software to communicate with servo/miniservo debug boards"
+HOMEPAGE="https://www.chromium.org/chromium-os/servo"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="cros_host test"
+
+COMMON_DEPEND="
+	>=dev-embedded/libftdi-0.18:=
+	dev-python/numpy[${PYTHON_USEDEP}]
+	>=dev-python/pexpect-3.0[${PYTHON_USEDEP}]
+	dev-python/pyserial[${PYTHON_USEDEP}]
+	>=dev-python/pyusb-1.0.2[${PYTHON_USEDEP}]
+	sys-power/uhubctl
+	virtual/libusb:1=
+	chromeos-base/ec-devutils:=[${PYTHON_USEDEP}]
+"
+
+RDEPEND="${COMMON_DEPEND}
+	virtual/servo-config-dut-usb3:*
+"
+
+DEPEND="${COMMON_DEPEND}
+"
+
+BDEPEND="test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
+src_compile() {
+	tc-export CC PKG_CONFIG
+	local makeargs=( $(usex cros_host '' EXTRA_DIRS=chromeos) )
+	emake "${makeargs[@]}"
+	distutils-r1_src_compile
+}
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
+src_install() {
+	local makeargs=(
+		$(usex cros_host '' EXTRA_DIRS=chromeos)
+		DESTDIR="${D}"
+		LIBDIR="/usr/$(get_libdir)"
+		UDEV_DEST="${D}$(get_udevdir)/rules.d"
+		install
+	)
+	emake "${makeargs[@]}"
+	distutils-r1_src_install
+}
diff --git a/dev-util/hdctools/hdctools-9999.ebuild b/dev-util/hdctools/hdctools-9999.ebuild
index c5c6388..557592a 100644
--- a/dev-util/hdctools/hdctools-9999.ebuild
+++ b/dev-util/hdctools/hdctools-9999.ebuild
@@ -5,7 +5,7 @@
 CROS_WORKON_PROJECT="chromiumos/third_party/hdctools"
 PYTHON_COMPAT=( python3_{6..9} )
 
-inherit cros-workon distutils-r1 toolchain-funcs udev
+inherit cros-workon distutils-r1 toolchain-funcs udev cros-sanitizers
 
 DESCRIPTION="Software to communicate with servo/miniservo debug boards"
 HOMEPAGE="https://www.chromium.org/chromium-os/servo"
@@ -30,11 +30,15 @@
 "
 
 DEPEND="${COMMON_DEPEND}
-	app-text/htmltidy
 "
 
 BDEPEND="test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
 
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
 src_compile() {
 	tc-export CC PKG_CONFIG
 	local makeargs=( $(usex cros_host '' EXTRA_DIRS=chromeos) )
@@ -42,19 +46,16 @@
 	distutils-r1_src_compile
 }
 
-python_test() {
-	py.test -v build/ || die
-}
-
-src_test() {
-	distutils-r1_src_test
+src_configure() {
+	sanitizers-setup-env
+	default
 }
 
 src_install() {
 	local makeargs=(
 		$(usex cros_host '' EXTRA_DIRS=chromeos)
 		DESTDIR="${D}"
-		LIBDIR=/usr/$(get_libdir)
+		LIBDIR="/usr/$(get_libdir)"
 		UDEV_DEST="${D}$(get_udevdir)/rules.d"
 		install
 	)
diff --git a/dev-util/lldb-server/files/PATCHES.json b/dev-util/lldb-server/files/PATCHES.json
index 2a64827..fcf3777 100644
--- a/dev-util/lldb-server/files/PATCHES.json
+++ b/dev-util/lldb-server/files/PATCHES.json
@@ -1,6 +1,5 @@
 [
     {
-        "end_version": 431464,
         "metadata": {
             "info": [],
             "title": "Update NativeRegisterContextLinux_arm64.{cpp,h} to match changes to LinuxPTraceDefines_arm64sve.h file."
@@ -9,10 +8,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "lldb-server-aarch64.patch",
-        "start_version": 0
+        "version_range": {
+            "from": 0,
+            "until": 431464
+        }
     },
     {
-        "end_version": 435499,
         "metadata": {
             "info": [],
             "title": "[lldb] skip host build for lldb_tblgen with LLDB_TABLEGEN_EXE set"
@@ -21,6 +22,9 @@
             "chromiumos"
         ],
         "rel_patch_path": "1f7b25ea76a925aca690da28de9d78db7ca99d0c.patch",
-        "start_version": 0
+        "version_range": {
+            "from": 0,
+            "until": 435499
+        }
     }
 ]
diff --git a/dev-util/lldb-server/lldb-server-14.0_pre445002-r1.ebuild b/dev-util/lldb-server/lldb-server-14.0_pre445002-r1.ebuild
deleted file mode 120000
index bf8af8b..0000000
--- a/dev-util/lldb-server/lldb-server-14.0_pre445002-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-lldb-server-14.0_pre445002.ebuild
\ No newline at end of file
diff --git a/dev-util/lldb-server/lldb-server-14.0_pre445002.ebuild b/dev-util/lldb-server/lldb-server-14.0_pre445002.ebuild
deleted file mode 100644
index 6d94d55..0000000
--- a/dev-util/lldb-server/lldb-server-14.0_pre445002.ebuild
+++ /dev/null
@@ -1,240 +0,0 @@
-# Copyright 2021 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-CROS_WORKON_REPO="${CROS_GIT_HOST_URL}"
-CROS_WORKON_PROJECT="external/github.com/llvm/llvm-project"
-CROS_WORKON_LOCALNAME="llvm-project"
-CROS_WORKON_MANUAL_UPREV=1
-
-inherit cros-constants cmake-multilib git-2 cros-llvm toolchain-funcs cros-workon
-
-DESCRIPTION="lldb-server, for the LLDB debugger"
-HOMEPAGE="https://github.com/llvm/llvm-project"
-SRC_URI=""
-EGIT_REPO_URI="${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project
-	${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project"
-EGIT_BRANCH=main
-
-LLVM_HASH="18308e171b5b1dd99627a4d88c7d6c5ff21b8c96" # r445002
-LLVM_NEXT_HASH="18308e171b5b1dd99627a4d88c7d6c5ff21b8c96" # r445002
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="*"
-if [[ "${PV}" == "9999" ]]; then
-	KEYWORDS="~*"
-fi
-IUSE="cros_host llvm-next llvm-tot"
-RDEPEND=""
-
-DEPEND="${RDEPEND}
-	sys-libs/ncurses"
-
-# CMAKE_BUILD_TYPE and CMAKE_MAKEFILE_GENERATOR are called by
-# cmake-utils_src_configure and cmake-utils_src_make (which is called
-# from cmake-utils_src_compile), respectively (see
-# third_party/portage-stable/eclass/cmake-utils.eclass.
-# shellcheck disable=SC2034
-CMAKE_BUILD_TYPE=Release
-# shellcheck disable=SC2034
-CMAKE_MAKEFILE_GENERATOR=ninja
-
-pkg_setup() {
-	use cros_host && die "lldb is not supported for building on non-device builds"
-
-	# Setup llvm toolchain for cross-compilation
-	setup_cross_toolchain
-	export CMAKE_USE_DIR="${S}/lldb"
-}
-
-src_unpack() {
-	if use llvm-next || use llvm-tot; then
-		export EGIT_COMMIT="${LLVM_NEXT_HASH}"
-	else
-		export EGIT_COMMIT="${LLVM_HASH}"
-	fi
-	if [[ "${PV}" != "9999" ]]; then
-		CROS_WORKON_COMMIT="${EGIT_COMMIT}"
-	fi
-	cros-workon_src_unpack
-}
-
-src_prepare() {
-	cmake-utils_src_prepare
-	"${FILESDIR}"/patch_manager/patch_manager.py \
-		--svn_version "$(get_most_recent_revision)" \
-		--patch_metadata_file "${FILESDIR}"/PATCHES.json \
-		--filesdir_path "${FILESDIR}" \
-		--src_path "${S}" || die
-
-	eapply_user
-}
-
-build_llvm_host() {
-	echo "Building host llvm tools"
-	mkdir llvm_build_host
-	pushd llvm_build_host || die
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		"${mycmakeargs[@]}"
-		"-DLLVM_ENABLE_PROJECTS=llvm;clang;lldb"
-		"-DLLVM_LIBDIR_SUFFIX=${libdir#lib}"
-		"-DCMAKE_INSTALL_PREFIX=${PREFIX}"
-		"-DLLVM_TARGETS_TO_BUILD=X86"
-		"-DLLVM_BUILD_TOOLS=OFF"
-		"-DLLVM_BUILD_TESTS=OFF"
-		"-DLLVM_INCLUDE_TESTS=OFF"
-		"-DLLVM_INCLUDE_DOCS=OFF"
-		"-DLLVM_INCLUDE_UTILS=OFF"
-		"-DLLVM_BUILD_UTILS=OFF"
-		"-DLLVM_USE_HOST_TOOLS=OFF"
-		"-DLLVM_ENABLE_ZLIB=OFF"
-		"-DLLVM_BUILD_TESTS=OFF"
-		"-DLLVM_INCLUDE_TESTS=OFF"
-		"-DLLVM_INCLUDE_DOCS=OFF"
-		"-DLLVM_INCLUDE_UTILS=OFF"
-		"-DLLVM_BUILD_UTILS=OFF"
-		"-DLLVM_USE_HOST_TOOLS=OFF"
-		"-DLLVM_ENABLE_ZLIB=OFF"
-		"-DCLANG_BUILD_TOOLS=OFF"
-		"-DCLANG_ENABLE_ARCMT=OFF"
-		"-DCLANG_ENABLE_STATIC_ANALYZER=OFF"
-		"-DCLANG_INCLUDE_TESTS=OFF"
-		"-DCLANG_INCLUDE_DOCS=OFF"
-		"-DLLVM_ENABLE_IDE=ON"
-		"-DLLVM_ADD_NATIVE_VISUALIZERS_TO_SOLUTION=OFF"
-		"-DCLANG_LINK_CLANG_DYLIB=OFF"
-		"-DLLVM_BUILD_LLVM_DYLIB=OFF"
-		"-DLLVM_LINK_LLVM_DYLIB=OFF"
-		"-DLLVM_INCLUDE_EXAMPLES=OFF"
-		"-DLLVM_INCLUDE_RUNTIMES=OFF"
-		"-DLLVM_INCLUDE_BENCHMARKS=OFF"
-		"-DLLDB_ENABLE_PYTHON=OFF"
-		"-DLLDB_ENABLE_LIBEDIT=OFF"
-		"-DLLDB_ENABLE_CURSES=OFF"
-	)
-	tc-env_build cmake -GNinja "${mycmakeargs[@]}" "${S}/llvm"
-	ninja llvm-tblgen clang-tblgen lldb-tblgen
-	popd || die
-}
-
-build_llvm() {
-	echo "Cross-compiling llvm and clang libraries"
-	mkdir llvm_build
-	pushd llvm_build || die
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		"${mycmakeargs[@]}"
-		"-DLLVM_ENABLE_PROJECTS=llvm;clang"
-		"-DLLVM_LIBDIR_SUFFIX=${libdir#lib}"
-		"-DCMAKE_INSTALL_PREFIX=${PREFIX}"
-		"-DLLVM_BUILD_TOOLS=OFF"
-		"-DLLDB_EXTERNAL_CLANG_RESOURCE_DIR=$(tc-getCC --print-resource-dir)"
-		"-DLLDB_INCLUDE_TESTS=OFF"
-		"-DLLVM_TABLEGEN=../llvm_build_host/bin/llvm-tblgen"
-		"-DCLANG_TABLEGEN=../llvm_build_host/bin/clang-tblgen"
-		"-DLLVM_BUILD_TESTS=OFF"
-		"-DLLVM_INCLUDE_TESTS=OFF"
-		"-DLLVM_INCLUDE_DOCS=OFF"
-		"-DLLVM_INCLUDE_UTILS=OFF"
-		"-DLLVM_BUILD_UTILS=OFF"
-		"-DLLVM_USE_HOST_TOOLS=OFF"
-		"-DLLVM_ENABLE_ZLIB=OFF"
-		"-DCLANG_BUILD_TOOLS=OFF"
-		"-DCLANG_ENABLE_ARCMT=OFF"
-		"-DCLANG_ENABLE_STATIC_ANALYZER=OFF"
-		"-DCLANG_INCLUDE_TESTS=OFF"
-		"-DCLANG_INCLUDE_DOCS=OFF"
-		"-DLLVM_ENABLE_IDE=ON"
-		"-DLLVM_ADD_NATIVE_VISUALIZERS_TO_SOLUTION=OFF"
-		"-DCLANG_LINK_CLANG_DYLIB=OFF"
-		"-DLLVM_BUILD_LLVM_DYLIB=OFF"
-		"-DLLVM_LINK_LLVM_DYLIB=OFF"
-		"-DLLVM_INCLUDE_EXAMPLES=OFF"
-		"-DLLVM_INCLUDE_RUNTIMES=OFF"
-		"-DLLVM_INCLUDE_BENCHMARKS=OFF"
-		"-DLLDB_ENABLE_PYTHON=OFF"
-		"-DLLDB_ENABLE_LIBEDIT=OFF"
-		"-DLLDB_ENABLE_CURSES=OFF"
-	)
-	cmake -GNinja "${mycmakeargs[@]}" "${S}/llvm"
-	# shellcheck disable=SC2034
-	local clangLibs=(
-		libclangAST.a
-		libclangCodeGen.a
-		libclangDriver.a
-		libclangEdit.a
-		libclangFrontend.a
-		libclangLex.a
-		libclangParse.a
-		libclangRewrite.a
-		libclangRewriteFrontend.a
-		libclangSema.a
-		libclangSerialization.a
-	)
-	# shellcheck disable=SC2034
-	local llvmLibs=(
-		libLLVMCore.a
-		libLLVMExecutionEngine.a
-		libLLVMipo.a
-		libLLVMMCJIT.a
-		libLLVMDebugInfoDWARF.a
-		libLLVMDemangle.a
-		libLLVMBinaryFormat.a
-		libLLVMDebugInfoPDB.a
-	)
-	# reduced list of targets but fragile.
-	ninja llvm-config clang-headers llvm-headers llvm-libraries clang-libraries
-	popd || die
-}
-
-src_configure() {
-	build_llvm_host
-	build_llvm
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		"${mycmakeargs[@]}"
-		"-DLLVM_LIBDIR_SUFFIX=${libdir#lib}"
-		"-DCMAKE_INSTALL_PREFIX=${PREFIX}"
-		"-DLLDB_EXTERNAL_CLANG_RESOURCE_DIR=$(tc-getCC --print-resource-dir)"
-		"-DLLDB_INCLUDE_TESTS=OFF"
-		"-DCMAKE_CROSSCOMPILING=ON"
-		"-DLLVM_BUILD_TESTS=OFF"
-		"-DLLVM_INCLUDE_TESTS=OFF"
-		"-DLLVM_INCLUDE_DOCS=OFF"
-		"-DLLVM_INCLUDE_UTILS=OFF"
-		"-DLLVM_BUILD_UTILS=OFF"
-		"-DLLVM_USE_HOST_TOOLS=OFF"
-		"-DLLDB_ENABLE_LUA=OFF"
-		"-DLLVM_ENABLE_IDE=ON"
-		"-DLLDB_ENABLE_PYTHON=OFF"
-		"-DLLDB_ENABLE_LIBEDIT=OFF"
-		"-DLLDB_ENABLE_CURSES=OFF"
-		"-DLLDB_TABLEGEN_EXE=${PWD}/llvm_build_host/bin/lldb-tblgen"
-		"-DLLVM_TABLEGEN=${PWD}/llvm_build_host/bin/llvm-tblgen"
-		"-DLLVM_DIR=${PWD}/llvm_build/lib/cmake/llvm"
-		"-DLLVM_BINARY_DIR=${PWD}/llvm_build"
-		"-DLLVM_HOST_TRIPLE=${CHOST}"
-	)
-
-	append-cppflags "-I${S}/llvm/include"
-	append-cppflags "-I${S}/clang/include"
-	append-cppflags "-I${PWD}/llvm_build/include"
-	append-cppflags "-I${PWD}/llvm_build/tools/clang/include"
-	append-ldflags "-L${PWD}/llvm_build/lib"
-	append-ldflags "-L${PWD}/llvm_build/tools/clang/lib"
-
-	echo "configuring lldb"
-	cmake-utils_src_configure
-}
-
-src_compile() {
-	cmake-utils_src_compile lldb-server
-}
-
-src_install() {
-	# shellcheck disable=SC2154
-	dobin "${BUILD_DIR}"/bin/lldb-server
-}
diff --git a/dev-util/lldb-server/lldb-server-15.0_pre458507-r3.ebuild b/dev-util/lldb-server/lldb-server-15.0_pre458507-r3.ebuild
new file mode 120000
index 0000000..56e044c
--- /dev/null
+++ b/dev-util/lldb-server/lldb-server-15.0_pre458507-r3.ebuild
@@ -0,0 +1 @@
+lldb-server-15.0_pre458507.ebuild
\ No newline at end of file
diff --git a/dev-util/lldb-server/lldb-server-15.0_pre458507.ebuild b/dev-util/lldb-server/lldb-server-15.0_pre458507.ebuild
new file mode 100644
index 0000000..704921e
--- /dev/null
+++ b/dev-util/lldb-server/lldb-server-15.0_pre458507.ebuild
@@ -0,0 +1,242 @@
+# Copyright 2021 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CROS_WORKON_REPO="${CROS_GIT_HOST_URL}"
+CROS_WORKON_PROJECT="external/github.com/llvm/llvm-project"
+CROS_WORKON_LOCALNAME="llvm-project"
+CROS_WORKON_MANUAL_UPREV=1
+
+inherit cros-constants cmake-multilib git-2 cros-llvm toolchain-funcs cros-workon
+
+DESCRIPTION="lldb-server, for the LLDB debugger"
+HOMEPAGE="https://github.com/llvm/llvm-project"
+SRC_URI=""
+EGIT_REPO_URI="${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project
+	${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project"
+EGIT_BRANCH=main
+
+LLVM_HASH="a58d0af058038595c93de961b725f86997cf8d4a" # r458507
+LLVM_NEXT_HASH="db1978b67431ca3462ad8935bf662c15750b8252" # r465103
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="*"
+if [[ "${PV}" == "9999" ]]; then
+	KEYWORDS="~*"
+fi
+IUSE="cros_host llvm-next llvm-tot continue-on-patch-failure"
+RDEPEND=""
+
+DEPEND="${RDEPEND}
+	sys-libs/ncurses"
+
+# CMAKE_BUILD_TYPE and CMAKE_MAKEFILE_GENERATOR are called by
+# cmake-utils_src_configure and cmake-utils_src_make (which is called
+# from cmake-utils_src_compile), respectively (see
+# third_party/portage-stable/eclass/cmake-utils.eclass.
+# shellcheck disable=SC2034
+CMAKE_BUILD_TYPE=Release
+# shellcheck disable=SC2034
+CMAKE_MAKEFILE_GENERATOR=ninja
+
+pkg_setup() {
+	use cros_host && die "lldb is not supported for building on non-device builds"
+
+	# Setup llvm toolchain for cross-compilation
+	setup_cross_toolchain
+	export CMAKE_USE_DIR="${S}/lldb"
+}
+
+src_unpack() {
+	if use llvm-next || use llvm-tot; then
+		export EGIT_COMMIT="${LLVM_NEXT_HASH}"
+	else
+		export EGIT_COMMIT="${LLVM_HASH}"
+	fi
+	if [[ "${PV}" != "9999" ]]; then
+		CROS_WORKON_COMMIT="${EGIT_COMMIT}"
+	fi
+	cros-workon_src_unpack
+}
+
+src_prepare() {
+	cmake-utils_src_prepare
+	local failure_mode
+	failure_mode="$(usex continue-on-patch-failure continue fail)"
+	"${FILESDIR}"/patch_manager/patch_manager.py \
+		--svn_version "$(get_most_recent_revision)" \
+		--patch_metadata_file "${FILESDIR}"/PATCHES.json \
+		--failure_mode "${failure_mode}" \
+		--src_path "${S}" || die
+
+	eapply_user
+}
+
+build_llvm_host() {
+	echo "Building host llvm tools"
+	mkdir llvm_build_host
+	pushd llvm_build_host || die
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		"${mycmakeargs[@]}"
+		"-DLLVM_ENABLE_PROJECTS=llvm;clang;lldb"
+		"-DLLVM_LIBDIR_SUFFIX=${libdir#lib}"
+		"-DCMAKE_INSTALL_PREFIX=${PREFIX}"
+		"-DLLVM_TARGETS_TO_BUILD=X86"
+		"-DLLVM_BUILD_TOOLS=OFF"
+		"-DLLVM_BUILD_TESTS=OFF"
+		"-DLLVM_INCLUDE_TESTS=OFF"
+		"-DLLVM_INCLUDE_DOCS=OFF"
+		"-DLLVM_INCLUDE_UTILS=OFF"
+		"-DLLVM_BUILD_UTILS=OFF"
+		"-DLLVM_USE_HOST_TOOLS=OFF"
+		"-DLLVM_ENABLE_ZLIB=OFF"
+		"-DLLVM_BUILD_TESTS=OFF"
+		"-DLLVM_INCLUDE_TESTS=OFF"
+		"-DLLVM_INCLUDE_DOCS=OFF"
+		"-DLLVM_INCLUDE_UTILS=OFF"
+		"-DLLVM_BUILD_UTILS=OFF"
+		"-DLLVM_USE_HOST_TOOLS=OFF"
+		"-DLLVM_ENABLE_ZLIB=OFF"
+		"-DCLANG_BUILD_TOOLS=OFF"
+		"-DCLANG_ENABLE_ARCMT=OFF"
+		"-DCLANG_ENABLE_STATIC_ANALYZER=OFF"
+		"-DCLANG_INCLUDE_TESTS=OFF"
+		"-DCLANG_INCLUDE_DOCS=OFF"
+		"-DLLVM_ENABLE_IDE=ON"
+		"-DLLVM_ADD_NATIVE_VISUALIZERS_TO_SOLUTION=OFF"
+		"-DCLANG_LINK_CLANG_DYLIB=OFF"
+		"-DLLVM_BUILD_LLVM_DYLIB=OFF"
+		"-DLLVM_LINK_LLVM_DYLIB=OFF"
+		"-DLLVM_INCLUDE_EXAMPLES=OFF"
+		"-DLLVM_INCLUDE_RUNTIMES=OFF"
+		"-DLLVM_INCLUDE_BENCHMARKS=OFF"
+		"-DLLDB_ENABLE_PYTHON=OFF"
+		"-DLLDB_ENABLE_LIBEDIT=OFF"
+		"-DLLDB_ENABLE_CURSES=OFF"
+	)
+	tc-env_build cmake -GNinja "${mycmakeargs[@]}" "${S}/llvm"
+	ninja llvm-tblgen clang-tblgen lldb-tblgen
+	popd || die
+}
+
+build_llvm() {
+	echo "Cross-compiling llvm and clang libraries"
+	mkdir llvm_build
+	pushd llvm_build || die
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		"${mycmakeargs[@]}"
+		"-DLLVM_ENABLE_PROJECTS=llvm;clang"
+		"-DLLVM_LIBDIR_SUFFIX=${libdir#lib}"
+		"-DCMAKE_INSTALL_PREFIX=${PREFIX}"
+		"-DLLVM_BUILD_TOOLS=OFF"
+		"-DLLDB_EXTERNAL_CLANG_RESOURCE_DIR=$(tc-getCC --print-resource-dir)"
+		"-DLLDB_INCLUDE_TESTS=OFF"
+		"-DLLVM_TABLEGEN=../llvm_build_host/bin/llvm-tblgen"
+		"-DCLANG_TABLEGEN=../llvm_build_host/bin/clang-tblgen"
+		"-DLLVM_BUILD_TESTS=OFF"
+		"-DLLVM_INCLUDE_TESTS=OFF"
+		"-DLLVM_INCLUDE_DOCS=OFF"
+		"-DLLVM_INCLUDE_UTILS=OFF"
+		"-DLLVM_BUILD_UTILS=OFF"
+		"-DLLVM_USE_HOST_TOOLS=OFF"
+		"-DLLVM_ENABLE_ZLIB=OFF"
+		"-DCLANG_BUILD_TOOLS=OFF"
+		"-DCLANG_ENABLE_ARCMT=OFF"
+		"-DCLANG_ENABLE_STATIC_ANALYZER=OFF"
+		"-DCLANG_INCLUDE_TESTS=OFF"
+		"-DCLANG_INCLUDE_DOCS=OFF"
+		"-DLLVM_ENABLE_IDE=ON"
+		"-DLLVM_ADD_NATIVE_VISUALIZERS_TO_SOLUTION=OFF"
+		"-DCLANG_LINK_CLANG_DYLIB=OFF"
+		"-DLLVM_BUILD_LLVM_DYLIB=OFF"
+		"-DLLVM_LINK_LLVM_DYLIB=OFF"
+		"-DLLVM_INCLUDE_EXAMPLES=OFF"
+		"-DLLVM_INCLUDE_RUNTIMES=OFF"
+		"-DLLVM_INCLUDE_BENCHMARKS=OFF"
+		"-DLLDB_ENABLE_PYTHON=OFF"
+		"-DLLDB_ENABLE_LIBEDIT=OFF"
+		"-DLLDB_ENABLE_CURSES=OFF"
+	)
+	cmake -GNinja "${mycmakeargs[@]}" "${S}/llvm"
+	# shellcheck disable=SC2034
+	local clangLibs=(
+		libclangAST.a
+		libclangCodeGen.a
+		libclangDriver.a
+		libclangEdit.a
+		libclangFrontend.a
+		libclangLex.a
+		libclangParse.a
+		libclangRewrite.a
+		libclangRewriteFrontend.a
+		libclangSema.a
+		libclangSerialization.a
+	)
+	# shellcheck disable=SC2034
+	local llvmLibs=(
+		libLLVMCore.a
+		libLLVMExecutionEngine.a
+		libLLVMipo.a
+		libLLVMMCJIT.a
+		libLLVMDebugInfoDWARF.a
+		libLLVMDemangle.a
+		libLLVMBinaryFormat.a
+		libLLVMDebugInfoPDB.a
+	)
+	# reduced list of targets but fragile.
+	ninja llvm-config clang-headers llvm-headers llvm-libraries clang-libraries
+	popd || die
+}
+
+src_configure() {
+	build_llvm_host
+	build_llvm
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		"${mycmakeargs[@]}"
+		"-DLLVM_LIBDIR_SUFFIX=${libdir#lib}"
+		"-DCMAKE_INSTALL_PREFIX=${PREFIX}"
+		"-DLLDB_EXTERNAL_CLANG_RESOURCE_DIR=$(tc-getCC --print-resource-dir)"
+		"-DLLDB_INCLUDE_TESTS=OFF"
+		"-DCMAKE_CROSSCOMPILING=ON"
+		"-DLLVM_BUILD_TESTS=OFF"
+		"-DLLVM_INCLUDE_TESTS=OFF"
+		"-DLLVM_INCLUDE_DOCS=OFF"
+		"-DLLVM_INCLUDE_UTILS=OFF"
+		"-DLLVM_BUILD_UTILS=OFF"
+		"-DLLVM_USE_HOST_TOOLS=OFF"
+		"-DLLDB_ENABLE_LUA=OFF"
+		"-DLLVM_ENABLE_IDE=ON"
+		"-DLLDB_ENABLE_PYTHON=OFF"
+		"-DLLDB_ENABLE_LIBEDIT=OFF"
+		"-DLLDB_ENABLE_CURSES=OFF"
+		"-DLLDB_TABLEGEN_EXE=${PWD}/llvm_build_host/bin/lldb-tblgen"
+		"-DLLVM_TABLEGEN=${PWD}/llvm_build_host/bin/llvm-tblgen"
+		"-DLLVM_DIR=${PWD}/llvm_build/lib/cmake/llvm"
+		"-DLLVM_BINARY_DIR=${PWD}/llvm_build"
+		"-DLLVM_HOST_TRIPLE=${CHOST}"
+	)
+
+	append-cppflags "-I${S}/llvm/include"
+	append-cppflags "-I${S}/clang/include"
+	append-cppflags "-I${PWD}/llvm_build/include"
+	append-cppflags "-I${PWD}/llvm_build/tools/clang/include"
+	append-ldflags "-L${PWD}/llvm_build/lib"
+	append-ldflags "-L${PWD}/llvm_build/tools/clang/lib"
+
+	echo "configuring lldb"
+	cmake-utils_src_configure
+}
+
+src_compile() {
+	cmake-utils_src_compile lldb-server
+}
+
+src_install() {
+	# shellcheck disable=SC2154
+	dobin "${BUILD_DIR}"/bin/lldb-server
+}
diff --git a/dev-util/lro-server/lro-server-0.0.1-r5.ebuild b/dev-util/lro-server/lro-server-0.0.1-r5.ebuild
deleted file mode 100644
index 7215f7e..0000000
--- a/dev-util/lro-server/lro-server-0.0.1-r5.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="ccb843e0d1c38500f5890dd7aa71bd34fd232dbf"
-CROS_WORKON_TREE="0a82488b21ac7734f64c67f4addb83f5f0eceb3f"
-CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
-CROS_WORKON_LOCALNAME=("../platform/dev")
-CROS_WORKON_SUBTREE="src/chromiumos/lro"
-
-inherit cros-go cros-workon
-
-DESCRIPTION="Common golang library to support google.longrunning.operations server impls"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/lro"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-CROS_GO_WORKSPACE=(
-	"${S}"
-)
-
-CROS_GO_PACKAGES=(
-	"chromiumos/lro/..."
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-CROS_GO_VET=(
-	"${CROS_GO_TEST[@]}"
-)
-
-DEPEND="
-	dev-go/go-tools
-	dev-go/grpc
-	dev-go/mock
-	dev-go/protobuf
-	dev-go/uuid
-	chromeos-base/cros-config-api
-"
-
-RDEPEND="!<chromeos-base/test-server-0.0.1-r49"
diff --git a/dev-util/lro-server/lro-server-0.0.1-r7.ebuild b/dev-util/lro-server/lro-server-0.0.1-r7.ebuild
new file mode 100644
index 0000000..408d536
--- /dev/null
+++ b/dev-util/lro-server/lro-server-0.0.1-r7.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="10baf177154b696c83d88350a4d5b81d1d5f0735"
+CROS_WORKON_TREE="bd1f90b22734de709ac1f35f8428b412fab4fbe1"
+CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
+CROS_WORKON_LOCALNAME=("../platform/dev")
+CROS_WORKON_SUBTREE="src/chromiumos/lro"
+
+inherit cros-go cros-workon
+
+DESCRIPTION="Common golang library to support google.longrunning.operations server impls"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/lro"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+CROS_GO_WORKSPACE=(
+	"${S}"
+)
+
+CROS_GO_PACKAGES=(
+	"chromiumos/lro/..."
+)
+
+CROS_GO_TEST=(
+	"${CROS_GO_PACKAGES[@]}"
+)
+
+CROS_GO_VET=(
+	"${CROS_GO_TEST[@]}"
+)
+
+DEPEND="
+	dev-go/go-tools
+	dev-go/grpc
+	dev-go/mock
+	dev-go/protobuf
+	dev-go/protobuf-legacy-api
+	dev-go/uuid
+	chromeos-base/cros-config-api
+"
+
+RDEPEND="!<chromeos-base/test-server-0.0.1-r49"
diff --git a/dev-util/lro-server/lro-server-9999.ebuild b/dev-util/lro-server/lro-server-9999.ebuild
index 948df60..dd75dcf 100644
--- a/dev-util/lro-server/lro-server-9999.ebuild
+++ b/dev-util/lro-server/lro-server-9999.ebuild
@@ -36,6 +36,7 @@
 	dev-go/grpc
 	dev-go/mock
 	dev-go/protobuf
+	dev-go/protobuf-legacy-api
 	dev-go/uuid
 	chromeos-base/cros-config-api
 "
diff --git a/dev-util/lroold-server/lroold-server-0.0.1-r1.ebuild b/dev-util/lroold-server/lroold-server-0.0.1-r1.ebuild
deleted file mode 100644
index 151288f..0000000
--- a/dev-util/lroold-server/lroold-server-0.0.1-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="1294ad0d9a27a3c113c6d13bf0c9034ce9319187"
-CROS_WORKON_TREE="6fd739434fd74ac7d4f838c8817c842b3df37cc3"
-CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
-CROS_WORKON_LOCALNAME=("../platform/dev")
-CROS_WORKON_SUBTREE="src/chromiumos/lroold"
-
-inherit cros-go cros-workon
-
-DESCRIPTION="Common golang library to support google.longrunning.operations server impls"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/lroold"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-CROS_GO_WORKSPACE=(
-	"${S}"
-)
-
-CROS_GO_PACKAGES=(
-	"chromiumos/lroold/..."
-)
-
-CROS_GO_TEST=(
-	"${CROS_GO_PACKAGES[@]}"
-)
-
-CROS_GO_VET=(
-	"${CROS_GO_TEST[@]}"
-)
-
-DEPEND="
-	dev-go/go-tools
-	dev-go/grpc
-	dev-go/mock
-	dev-go/protobuf
-	chromeos-base/cros-config-api
-"
-
-RDEPEND="!<chromeos-base/test-server-0.0.1-r49"
diff --git a/dev-util/lroold-server/lroold-server-0.0.1-r3.ebuild b/dev-util/lroold-server/lroold-server-0.0.1-r3.ebuild
new file mode 100644
index 0000000..89cb87f
--- /dev/null
+++ b/dev-util/lroold-server/lroold-server-0.0.1-r3.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="10baf177154b696c83d88350a4d5b81d1d5f0735"
+CROS_WORKON_TREE="c3f73cc3c4bc36a0d9ff17ee8deb577d8eceea1f"
+CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
+CROS_WORKON_LOCALNAME=("../platform/dev")
+CROS_WORKON_SUBTREE="src/chromiumos/lroold"
+
+inherit cros-go cros-workon
+
+DESCRIPTION="Common golang library to support google.longrunning.operations server impls"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/lroold"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+CROS_GO_WORKSPACE=(
+	"${S}"
+)
+
+CROS_GO_PACKAGES=(
+	"chromiumos/lroold/..."
+)
+
+CROS_GO_TEST=(
+	"${CROS_GO_PACKAGES[@]}"
+)
+
+CROS_GO_VET=(
+	"${CROS_GO_TEST[@]}"
+)
+
+DEPEND="
+	dev-go/go-tools
+	dev-go/grpc
+	dev-go/mock
+	dev-go/protobuf
+	dev-go/protobuf-legacy-api
+	chromeos-base/cros-config-api
+"
+
+RDEPEND="!<chromeos-base/test-server-0.0.1-r49"
diff --git a/dev-util/lroold-server/lroold-server-9999.ebuild b/dev-util/lroold-server/lroold-server-9999.ebuild
index 54325ac..e193c8d 100644
--- a/dev-util/lroold-server/lroold-server-9999.ebuild
+++ b/dev-util/lroold-server/lroold-server-9999.ebuild
@@ -36,6 +36,7 @@
 	dev-go/grpc
 	dev-go/mock
 	dev-go/protobuf
+	dev-go/protobuf-legacy-api
 	chromeos-base/cros-config-api
 "
 
diff --git a/dev-util/memory-eater-locked/memory-eater-locked-0.0.1-r5.ebuild b/dev-util/memory-eater-locked/memory-eater-locked-0.0.1-r5.ebuild
deleted file mode 100644
index 6f0f103..0000000
--- a/dev-util/memory-eater-locked/memory-eater-locked-0.0.1-r5.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="2927fce20adf74b0c9a32a61e3edff894221f283"
-CROS_WORKON_TREE="557307a70c32f48207a6ce6542d5a0035a0e098c"
-CROS_WORKON_PROJECT="chromiumos/platform/experimental"
-CROS_WORKON_LOCALNAME="../platform/experimental"
-
-inherit cros-workon
-
-DESCRIPTION="A memory consumer to allocate mlocked (non-swappable) memory"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/experimental/+/master/memory-eater-locked/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-DEPEND=""
-
-src_compile() {
-	tc-export CC
-	emake memory-eater-locked/memory-eater-locked || die "end compile failed."
-}
-
-src_install() {
-	dobin memory-eater-locked/memory-eater-locked
-}
diff --git a/dev-util/memory-eater-locked/memory-eater-locked-0.0.1-r6.ebuild b/dev-util/memory-eater-locked/memory-eater-locked-0.0.1-r6.ebuild
new file mode 100644
index 0000000..16413cf
--- /dev/null
+++ b/dev-util/memory-eater-locked/memory-eater-locked-0.0.1-r6.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="2927fce20adf74b0c9a32a61e3edff894221f283"
+CROS_WORKON_TREE="557307a70c32f48207a6ce6542d5a0035a0e098c"
+CROS_WORKON_PROJECT="chromiumos/platform/experimental"
+CROS_WORKON_LOCALNAME="../platform/experimental"
+
+inherit cros-workon cros-sanitizers
+
+DESCRIPTION="A memory consumer to allocate mlocked (non-swappable) memory"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/experimental/+/master/memory-eater-locked/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND=""
+DEPEND=""
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
+src_compile() {
+	tc-export CC
+	emake memory-eater-locked/memory-eater-locked || die "end compile failed."
+}
+
+src_install() {
+	dobin memory-eater-locked/memory-eater-locked
+}
diff --git a/dev-util/memory-eater-locked/memory-eater-locked-9999.ebuild b/dev-util/memory-eater-locked/memory-eater-locked-9999.ebuild
index 86675da..9321627 100644
--- a/dev-util/memory-eater-locked/memory-eater-locked-9999.ebuild
+++ b/dev-util/memory-eater-locked/memory-eater-locked-9999.ebuild
@@ -5,7 +5,7 @@
 CROS_WORKON_PROJECT="chromiumos/platform/experimental"
 CROS_WORKON_LOCALNAME="../platform/experimental"
 
-inherit cros-workon
+inherit cros-workon cros-sanitizers
 
 DESCRIPTION="A memory consumer to allocate mlocked (non-swappable) memory"
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/experimental/+/master/memory-eater-locked/"
@@ -19,6 +19,11 @@
 RDEPEND=""
 DEPEND=""
 
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
 src_compile() {
 	tc-export CC
 	emake memory-eater-locked/memory-eater-locked || die "end compile failed."
diff --git a/dev-util/metadata.xml b/dev-util/metadata.xml
deleted file mode 100644
index b57240b..0000000
--- a/dev-util/metadata.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The dev-util category contains various miscellaneous development
-		utilities.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie dev-util enthält verschiedene Programmierwerkzeuge.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría dev-util contiene varias utilidades de desarrollo mixtas.
-	</longdescription>
-	<longdescription lang="ja">
-		dev-util カテゴリーには多種多様な開発ユーティリティが含まれます。
-	</longdescription>
-	<longdescription lang="nl">
-		De dev-util categorie bevat verschillende hulpmiddelen voor gebruik
-		bij het programmeren.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm dev-util chứa các tiện ích phát triển khác nhau.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria dev-util contiene varie utilità di sviluppo software.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria dev-util contém vários utilitários de
-		desenvolvimento mistos.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria dev-util zawiera różne dodatkowe narzędzia związane z
-		rozwijaniem programów.
-	</longdescription>
-	<longdescription lang="ru">
-		Категория dev-util содержит различные утилиты для разработки,
-		не попадающие в другие категории.
-	</longdescription>
-</catmetadata>
-
diff --git a/dev-util/parallax/OWNERS b/dev-util/parallax/OWNERS
new file mode 100644
index 0000000..16a398a
--- /dev/null
+++ b/dev-util/parallax/OWNERS
@@ -0,0 +1 @@
+bnemec@chromium.org
diff --git a/dev-util/parallax/parallax-0.0.1-r5.ebuild b/dev-util/parallax/parallax-0.0.1-r5.ebuild
new file mode 100644
index 0000000..bcc0fbe
--- /dev/null
+++ b/dev-util/parallax/parallax-0.0.1-r5.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="61c2d6ce7becaaadf96fd4d44d67da95ca4fd327"
+CROS_WORKON_TREE="a35a16cf52a59a1bccb5de30971ce3dbe7c577cb"
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="parallax"
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-workon distutils-r1
+
+DESCRIPTION="Parallax: Visual Analysis Framework"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/parallax/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+src_unpack() {
+	cros-workon_src_unpack
+	S+="/parallax"
+}
diff --git a/dev-util/parallax/parallax-9999.ebuild b/dev-util/parallax/parallax-9999.ebuild
new file mode 100644
index 0000000..7526025
--- /dev/null
+++ b/dev-util/parallax/parallax-9999.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="parallax"
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-workon distutils-r1
+
+DESCRIPTION="Parallax: Visual Analysis Framework"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/parallax/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="~*"
+IUSE=""
+
+BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+src_unpack() {
+	cros-workon_src_unpack
+	S+="/parallax"
+}
diff --git a/dev-util/perf/Manifest b/dev-util/perf/Manifest
index 12b236c..ece469b 100644
--- a/dev-util/perf/Manifest
+++ b/dev-util/perf/Manifest
@@ -1,2 +1 @@
-DIST linux-5.3.tar.xz 108558876 BLAKE2B 0d08eed879d05734e4542f0c93823d43f8dc042a54ba5268064c4bbebd7a9d59c03abf3ad5dee8280e784ae148a3b0c56181eaf2d5b3c079b6fe9f5191544df6 SHA512 6b5edef47c319a3fa7f6c20a3e0903a5acd89ec75e32dc5f99adcb60c9fe118ea312722d9c3d27e2e3900afa2455afb86e83a8b6bb131009bc79ddbe6fb0595d
-DIST patch-5.3.7.xz 255616 BLAKE2B 18ec40508fdb2cc17dd927f3ddef07b2b744ff993de75bb7adebe3a3f97c9383ea1845085899aa939ca8a15515420c18a1ac0ae832f9ae52f18cc8ed59a1e75f SHA512 bf2717b721b3acfd423537a6a520388e6a596ae65605ed8c029a67c117a002e9a21c324de0dd41407bfdc8ef95263687764f4f46aa59cbb50f68ab21b96c29d6
+DIST linux-5.15.tar.xz 121913744 BLAKE2B 3921274b23f7938abdf3ed9334534b4581e13d7484303d3a5280eddb038999aaa8b836666a487472d9c4a219af0f06b9fecccaf348fb5510ab8762f4ef4b7e83 SHA512 d25ad40b5bcd6a4c6042fd0fd84e196e7a58024734c3e9a484fd0d5d54a0c1d87db8a3c784eff55e43b6f021709dc685eb0efa18d2aec327e4f88a79f405705a
diff --git a/dev-util/perf/files/5.3.7-Add-vmlinux-in-perf-inject.patch b/dev-util/perf/files/5.15-Add-vmlinux-in-perf-inject.patch
similarity index 100%
rename from dev-util/perf/files/5.3.7-Add-vmlinux-in-perf-inject.patch
rename to dev-util/perf/files/5.15-Add-vmlinux-in-perf-inject.patch
diff --git a/dev-util/perf/files/5.15-Check-vmlinux-kallsyms-arguments.patch b/dev-util/perf/files/5.15-Check-vmlinux-kallsyms-arguments.patch
new file mode 100644
index 0000000..9f9e717
--- /dev/null
+++ b/dev-util/perf/files/5.15-Check-vmlinux-kallsyms-arguments.patch
@@ -0,0 +1,148 @@
+From 7cc72553ac03ec20afe2dec91dce4624ccd379b8 Mon Sep 17 00:00:00 2001
+From: James Clark <james.clark@arm.com>
+Date: Mon, 18 Oct 2021 14:48:42 +0100
+Subject: [PATCH 2/3] perf tools: Check vmlinux/kallsyms arguments in all tools
+
+Only perf report checked the validity of these arguments so apply the
+same check to all tools that read them for consistency.
+
+Signed-off-by: James Clark <james.clark@arm.com>
+Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
+Cc: Denis Nikitin <denik@chromium.org>
+Cc: Jiri Olsa <jolsa@redhat.com>
+Cc: Mark Rutland <mark.rutland@arm.com>
+Cc: Namhyung Kim <namhyung@kernel.org>
+Link: https://lore.kernel.org/r/20211018134844.2627174-3-james.clark@arm.com
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+---
+ tools/perf/builtin-annotate.c | 4 ++++
+ tools/perf/builtin-c2c.c      | 4 ++++
+ tools/perf/builtin-probe.c    | 5 +++++
+ tools/perf/builtin-record.c   | 4 ++++
+ tools/perf/builtin-sched.c    | 4 ++++
+ tools/perf/builtin-script.c   | 3 +++
+ tools/perf/builtin-top.c      | 4 ++++
+ 7 files changed, 28 insertions(+)
+
+diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
+index 05eb098cb0e3..490bb9b8cf17 100644
+--- a/tools/perf/builtin-annotate.c
++++ b/tools/perf/builtin-annotate.c
+@@ -591,6 +591,10 @@ int cmd_annotate(int argc, const char **argv)
+ 		return ret;
+ 	}
+ 
++	ret = symbol__validate_sym_arguments();
++	if (ret)
++		return ret;
++
+ 	if (quiet)
+ 		perf_quiet_option();
+ 
+diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c
+index a192014fa52b..b5c67ef73862 100644
+--- a/tools/perf/builtin-c2c.c
++++ b/tools/perf/builtin-c2c.c
+@@ -2768,6 +2768,10 @@ static int perf_c2c__report(int argc, const char **argv)
+ 	if (c2c.stats_only)
+ 		c2c.use_stdio = true;
+ 
++	err = symbol__validate_sym_arguments();
++	if (err)
++		goto out;
++
+ 	if (!input_name || !strlen(input_name))
+ 		input_name = "perf.data";
+ 
+diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
+index e1dd51f2874b..c31627af75d4 100644
+--- a/tools/perf/builtin-probe.c
++++ b/tools/perf/builtin-probe.c
+@@ -21,6 +21,7 @@
+ #include "util/build-id.h"
+ #include "util/strlist.h"
+ #include "util/strfilter.h"
++#include "util/symbol.h"
+ #include "util/symbol_conf.h"
+ #include "util/debug.h"
+ #include <subcmd/parse-options.h>
+@@ -629,6 +630,10 @@ __cmd_probe(int argc, const char **argv)
+ 		params.command = 'a';
+ 	}
+ 
++	ret = symbol__validate_sym_arguments();
++	if (ret)
++		return ret;
++
+ 	if (params.quiet) {
+ 		if (verbose != 0) {
+ 			pr_err("  Error: -v and -q are exclusive.\n");
+diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
+index 78185c982ebf..0338b813585a 100644
+--- a/tools/perf/builtin-record.c
++++ b/tools/perf/builtin-record.c
+@@ -2712,6 +2712,10 @@ int cmd_record(int argc, const char **argv)
+ 	if (quiet)
+ 		perf_quiet_option();
+ 
++	err = symbol__validate_sym_arguments();
++	if (err)
++		return err;
++
+ 	/* Make system wide (-a) the default target. */
+ 	if (!argc && target__none(&rec->opts.target))
+ 		rec->opts.target.system_wide = true;
+diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
+index 635a6b5a9ec9..4527f632ebe4 100644
+--- a/tools/perf/builtin-sched.c
++++ b/tools/perf/builtin-sched.c
+@@ -3538,6 +3538,7 @@ int cmd_sched(int argc, const char **argv)
+ 		.fork_event	    = replay_fork_event,
+ 	};
+ 	unsigned int i;
++	int ret;
+ 
+ 	for (i = 0; i < ARRAY_SIZE(sched.curr_pid); i++)
+ 		sched.curr_pid[i] = -1;
+@@ -3598,6 +3599,9 @@ int cmd_sched(int argc, const char **argv)
+ 				parse_options_usage(NULL, timehist_options, "n", true);
+ 			return -EINVAL;
+ 		}
++		ret = symbol__validate_sym_arguments();
++		if (ret)
++			return ret;
+ 
+ 		return perf_sched__timehist(&sched);
+ 	} else {
+diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
+index f3d07cfab550..9434367af166 100644
+--- a/tools/perf/builtin-script.c
++++ b/tools/perf/builtin-script.c
+@@ -3846,6 +3846,9 @@ int cmd_script(int argc, const char **argv)
+ 	data.path  = input_name;
+ 	data.force = symbol_conf.force;
+ 
++	if (symbol__validate_sym_arguments())
++		return -1;
++
+ 	if (argc > 1 && !strncmp(argv[0], "rec", strlen("rec"))) {
+ 		rec_script_path = get_script_path(argv[1], RECORD_SUFFIX);
+ 		if (!rec_script_path)
+diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
+index 020c4f110c10..1fc390f136dd 100644
+--- a/tools/perf/builtin-top.c
++++ b/tools/perf/builtin-top.c
+@@ -1618,6 +1618,10 @@ int cmd_top(int argc, const char **argv)
+ 	if (argc)
+ 		usage_with_options(top_usage, options);
+ 
++	status = symbol__validate_sym_arguments();
++	if (status)
++		goto out_delete_evlist;
++
+ 	if (annotate_check_args(&top.annotation_opts) < 0)
+ 		goto out_delete_evlist;
+ 
+-- 
+2.34.0.rc0.344.g81b53c2807-goog
+
diff --git a/dev-util/perf/files/5.3.7-Don-t-install-self-tests.patch b/dev-util/perf/files/5.15-Don-t-install-self-tests.patch
similarity index 100%
rename from dev-util/perf/files/5.3.7-Don-t-install-self-tests.patch
rename to dev-util/perf/files/5.15-Don-t-install-self-tests.patch
diff --git a/dev-util/perf/files/5.3.7-Fix-proc-kcore-32b-access.patch b/dev-util/perf/files/5.15-Fix-proc-kcore-32b-access.patch
similarity index 100%
rename from dev-util/perf/files/5.3.7-Fix-proc-kcore-32b-access.patch
rename to dev-util/perf/files/5.15-Fix-proc-kcore-32b-access.patch
diff --git a/dev-util/perf/files/5.3.7-Refactor-kernel-symbol-argument-sanity-checking.patch b/dev-util/perf/files/5.15-Refactor-kernel-symbol-argument-sanity-checking.patch
similarity index 100%
rename from dev-util/perf/files/5.3.7-Refactor-kernel-symbol-argument-sanity-checking.patch
rename to dev-util/perf/files/5.15-Refactor-kernel-symbol-argument-sanity-checking.patch
diff --git a/dev-util/perf/files/5.15-Remap-buf-if-there-is-no-space.patch b/dev-util/perf/files/5.15-Remap-buf-if-there-is-no-space.patch
new file mode 100644
index 0000000..ee60c12
--- /dev/null
+++ b/dev-util/perf/files/5.15-Remap-buf-if-there-is-no-space.patch
@@ -0,0 +1,73 @@
+From bc21e74d4775f883ae1f542c1f1dc7205b15d925 Mon Sep 17 00:00:00 2001
+From: Denis Nikitin <denik@chromium.org>
+Date: Tue, 29 Mar 2022 20:11:30 -0700
+Subject: [PATCH] perf session: Remap buf if there is no space for event
+
+If a perf event doesn't fit into remaining buffer space return NULL to
+remap buf and fetch the event again.
+
+Keep the logic to error out on inadequate input from fuzzing.
+
+This fixes perf failing on ChromeOS (with 32b userspace):
+
+  $ perf report -v -i perf.data
+  ...
+  prefetch_event: head=0x1fffff8 event->header_size=0x30, mmap_size=0x2000000: fuzzed or compressed perf.data?
+  Error:
+  failed to process sample
+
+Fixes: 57fc032ad643ffd0 ("perf session: Avoid infinite loop when seeing invalid header.size")
+Reviewed-by: James Clark <james.clark@arm.com>
+Signed-off-by: Denis Nikitin <denik@chromium.org>
+Acked-by: Jiri Olsa <jolsa@kernel.org>
+Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
+Cc: Alexey Budankov <alexey.budankov@linux.intel.com>
+Cc: Namhyung Kim <namhyung@kernel.org>
+Link: https://lore.kernel.org/r/20220330031130.2152327-1-denik@chromium.org
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+---
+ tools/perf/util/session.c | 15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
+index 3b8dfe603e50..45a30040ec8d 100644
+--- a/tools/perf/util/session.c
++++ b/tools/perf/util/session.c
+@@ -2095,6 +2095,7 @@ prefetch_event(char *buf, u64 head, size_t mmap_size,
+ 	       bool needs_swap, union perf_event *error)
+ {
+ 	union perf_event *event;
++	u16 event_size;
+ 
+ 	/*
+ 	 * Ensure we have enough space remaining to read
+@@ -2107,15 +2108,23 @@ prefetch_event(char *buf, u64 head, size_t mmap_size,
+ 	if (needs_swap)
+ 		perf_event_header__bswap(&event->header);
+ 
+-	if (head + event->header.size <= mmap_size)
++	event_size = event->header.size;
++	if (head + event_size <= mmap_size)
+ 		return event;
+ 
+ 	/* We're not fetching the event so swap back again */
+ 	if (needs_swap)
+ 		perf_event_header__bswap(&event->header);
+ 
+-	pr_debug("%s: head=%#" PRIx64 " event->header_size=%#x, mmap_size=%#zx:"
+-		 " fuzzed or compressed perf.data?\n",__func__, head, event->header.size, mmap_size);
++	/* Check if the event fits into the next mmapped buf. */
++	if (event_size <= mmap_size - head % page_size) {
++		/* Remap buf and fetch again. */
++		return NULL;
++	}
++
++	/* Invalid input. Event size should never exceed mmap_size. */
++	pr_debug("%s: head=%#" PRIx64 " event->header.size=%#x, mmap_size=%#zx:"
++		 " fuzzed or compressed perf.data?\n", __func__, head, event_size, mmap_size);
+ 
+ 	return error;
+ }
+-- 
+2.36.0.rc2.479.g8af0fa9b8e-goog
+
diff --git a/dev-util/perf/files/5.3.7-Add-facility-to-do-in-place-update.patch b/dev-util/perf/files/5.3.7-Add-facility-to-do-in-place-update.patch
deleted file mode 100644
index 0871cfb..0000000
--- a/dev-util/perf/files/5.3.7-Add-facility-to-do-in-place-update.patch
+++ /dev/null
@@ -1,169 +0,0 @@
-From 2a525f6a5502bfd80568e6befb84053cf650ad25 Mon Sep 17 00:00:00 2001
-From: Adrian Hunter <adrian.hunter@intel.com>
-Date: Fri, 30 Apr 2021 10:03:01 +0300
-Subject: [PATCH] perf inject: Add facility to do in place update
-
-When there is a need to modify only timestamps, it is much simpler and
-quicker to do it to the existing file rather than re-write all the
-contents.
-
-In preparation for that, add the ability to modify the input file in place.
-In practice that just means making the file descriptor and mmaps writable.
-
-Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
-Reviewed-by: Andi Kleen <ak@linux.intel.com>
-Cc: Jiri Olsa <jolsa@redhat.com>
-Link: https://lore.kernel.org/r/20210430070309.17624-5-adrian.hunter@intel.com
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/builtin-inject.c | 26 ++++++++++++++++++++++----
- tools/perf/util/data.c      |  3 ++-
- tools/perf/util/data.h      |  1 +
- tools/perf/util/header.c    |  5 +++++
- tools/perf/util/session.c   |  6 +++++-
- 5 files changed, 35 insertions(+), 6 deletions(-)
-
-diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
-index ddccc0eb7390..6007f1844b01 100644
---- a/tools/perf/builtin-inject.c
-+++ b/tools/perf/builtin-inject.c
-@@ -43,6 +43,8 @@ struct perf_inject {
- 	bool			have_auxtrace;
- 	bool			strip;
- 	bool			jit_mode;
-+	bool			in_place_update;
-+	bool			in_place_update_dry_run;
- 	const char		*input_name;
- 	struct perf_data	output;
- 	u64			bytes_written;
-@@ -701,7 +703,7 @@ static int __cmd_inject(struct perf_inject *inject)
- 	int ret = -EINVAL;
- 	struct perf_session *session = inject->session;
- 	struct perf_data *data_out = &inject->output;
--	int fd = perf_data__fd(data_out);
-+	int fd = inject->in_place_update ? -1 : perf_data__fd(data_out);
- 	u64 output_data_offset;
- 
- 	signal(SIGINT, sig_handler);
-@@ -759,14 +761,14 @@ static int __cmd_inject(struct perf_inject *inject)
- 	if (!inject->itrace_synth_opts.set)
- 		auxtrace_index__free(&session->auxtrace_index);
- 
--	if (!data_out->is_pipe)
-+	if (!data_out->is_pipe && !inject->in_place_update)
- 		lseek(fd, output_data_offset, SEEK_SET);
- 
- 	ret = perf_session__process_events(session);
- 	if (ret)
- 		return ret;
- 
--	if (!data_out->is_pipe) {
-+	if (!data_out->is_pipe && !inject->in_place_update) {
- 		if (inject->build_ids)
- 			perf_header__set_feat(&session->header,
- 					      HEADER_BUILD_ID);
-@@ -900,7 +902,23 @@ int cmd_inject(int argc, const char **argv)
- 		return -1;
- 	}
- 
--	if (perf_data__open(&inject.output)) {
-+	if (inject.in_place_update) {
-+		if (!strcmp(inject.input_name, "-")) {
-+			pr_err("Input file name required for in-place updating\n");
-+			return -1;
-+		}
-+		if (strcmp(inject.output.path, "-")) {
-+			pr_err("Output file name must not be specified for in-place updating\n");
-+			return -1;
-+		}
-+		if (!data.force && !inject.in_place_update_dry_run) {
-+			pr_err("The input file would be updated in place, "
-+				"the --force option is required.\n");
-+			return -1;
-+		}
-+		if (!inject.in_place_update_dry_run)
-+			data.in_place_update = true;
-+	} else if (perf_data__open(&inject.output)) {
- 		perror("failed to create output file");
- 		return -1;
- 	}
-diff --git a/tools/perf/util/data.c b/tools/perf/util/data.c
-index 8fca4779ae6a..a9c102e8e3c0 100644
---- a/tools/perf/util/data.c
-+++ b/tools/perf/util/data.c
-@@ -240,11 +240,12 @@ static bool is_dir(struct perf_data *data)
- 
- static int open_file_read(struct perf_data *data)
- {
-+	int flags = data->in_place_update ? O_RDWR : O_RDONLY;
- 	struct stat st;
- 	int fd;
- 	char sbuf[STRERR_BUFSIZE];
- 
--	fd = open(data->file.path, O_RDONLY);
-+	fd = open(data->file.path, flags);
- 	if (fd < 0) {
- 		int err = errno;
- 
-diff --git a/tools/perf/util/data.h b/tools/perf/util/data.h
-index 62a3e66fbee8..c9de82af5584 100644
---- a/tools/perf/util/data.h
-+++ b/tools/perf/util/data.h
-@@ -31,6 +31,7 @@ struct perf_data {
- 	bool			 is_dir;
- 	bool			 force;
- 	bool			 use_stdio;
-+	bool			 in_place_update;
- 	enum perf_data_mode	 mode;
- 
- 	struct {
-diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
-index aa1e42518d37..02b13c7a23be 100644
---- a/tools/perf/util/header.c
-+++ b/tools/perf/util/header.c
-@@ -3814,6 +3814,11 @@ int perf_session__read_header(struct perf_session *session)
- 	if (perf_file_header__read(&f_header, header, fd) < 0)
- 		return -EINVAL;
- 
-+	if (header->needs_swap && data->in_place_update) {
-+		pr_err("In-place update not supported when byte-swapping is required\n");
-+		return -EINVAL;
-+	}
-+
- 	/*
- 	 * Sanity check that perf.data was written cleanly; data size is
- 	 * initialized to 0 and updated only if the on_exit function is run.
-diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
-index 106b3d60881a..0dbb4f2628f3 100644
---- a/tools/perf/util/session.c
-+++ b/tools/perf/util/session.c
-@@ -2155,6 +2155,7 @@ struct reader {
- 	u64		 data_size;
- 	u64		 data_offset;
- 	reader_cb_t	 process;
-+	bool		 in_place_update;
- };
- 
- static int
-@@ -2188,7 +2189,9 @@ reader__process_events(struct reader *rd, struct perf_session *session,
- 	mmap_prot  = PROT_READ;
- 	mmap_flags = MAP_SHARED;
- 
--	if (session->header.needs_swap) {
-+	if (rd->in_place_update) {
-+		mmap_prot  |= PROT_WRITE;
-+	} else if (session->header.needs_swap) {
- 		mmap_prot  |= PROT_WRITE;
- 		mmap_flags = MAP_PRIVATE;
- 	}
-@@ -2274,6 +2277,7 @@ static int __perf_session__process_events(struct perf_session *session)
- 		.data_size	= session->header.data_size,
- 		.data_offset	= session->header.data_offset,
- 		.process	= process_simple,
-+		.in_place_update = session->data->in_place_update,
- 	};
- 	struct ordered_events *oe = &session->ordered_events;
- 	struct perf_tool *tool = session->tool;
--- 
-2.34.0.rc0.344.g81b53c2807-goog
-
diff --git a/dev-util/perf/files/5.3.7-Allow-no-CoreSight-sink.patch b/dev-util/perf/files/5.3.7-Allow-no-CoreSight-sink.patch
deleted file mode 100644
index fa0383b..0000000
--- a/dev-util/perf/files/5.3.7-Allow-no-CoreSight-sink.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 47446212832871e66f3b5fbf021c148eced2e24c Mon Sep 17 00:00:00 2001
-From: Mike Leach <mike.leach@linaro.org>
-Date: Tue, 16 Jun 2020 17:40:41 +0100
-Subject: [PATCH] perf cs-etm: Allow no CoreSight sink to be specified on
- command line
-
-Adjust the handling of the session sink selection to allow no sink to be
-selected on the command line. This then forwards the sink selection to
-the CoreSight infrastructure which will attempt to select a sink based
-on the default sink select priorities.
-
-Signed-off-by: Mike Leach <mike.leach@linaro.org>
-Tested-by: Leo Yan <leo.yan@linaro.org>
-Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
-Cc: coresight@lists.linaro.org
-Cc: linux-arm-kernel@lists.infradead.org
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/arch/arm/util/cs-etm.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/tools/perf/arch/arm/util/cs-etm.c b/tools/perf/arch/arm/util/cs-etm.c
-index cea5e33d61d2..cad7bf783413 100644
---- a/tools/perf/arch/arm/util/cs-etm.c
-+++ b/tools/perf/arch/arm/util/cs-etm.c
-@@ -243,10 +243,10 @@ static int cs_etm_set_sink_attr(struct perf_pmu *pmu,
- 	}
- 
- 	/*
--	 * No sink was provided on the command line - for _now_ treat
--	 * this as an error.
-+	 * No sink was provided on the command line - allow the CoreSight
-+	 * system to look for a default
- 	 */
--	return ret;
-+	return 0;
- }
- 
- static int cs_etm_recording_options(struct auxtrace_record *itr,
--- 
-2.32.0.272.g935e593368-goog
-
diff --git a/dev-util/perf/files/5.3.7-Allow-to-use-stdio-functions.patch b/dev-util/perf/files/5.3.7-Allow-to-use-stdio-functions.patch
deleted file mode 100644
index 29a716d..0000000
--- a/dev-util/perf/files/5.3.7-Allow-to-use-stdio-functions.patch
+++ /dev/null
@@ -1,366 +0,0 @@
-From 601366678c93618f37a685332c0ba07e5556798c Mon Sep 17 00:00:00 2001
-From: Namhyung Kim <namhyung@kernel.org>
-Date: Fri, 30 Oct 2020 14:47:42 +0900
-Subject: [PATCH] perf data: Allow to use stdio functions for pipe mode
-
-When perf data is in a pipe, it reads each event separately using
-read(2) syscall.  This is a huge performance bottleneck when
-processing large data like in perf inject.  Also perf inject needs to
-use write(2) syscall for the output.
-
-So convert it to use buffer I/O functions in stdio library for pipe
-data.  This makes inject-build-id bench time drops from 20ms to 8ms.
-
-  $ perf bench internals inject-build-id
-  # Running 'internals/inject-build-id' benchmark:
-    Average build-id injection took: 8.074 msec (+- 0.013 msec)
-    Average time per event: 0.792 usec (+- 0.001 usec)
-    Average memory usage: 8328 KB (+- 0 KB)
-    Average build-id-all injection took: 5.490 msec (+- 0.008 msec)
-    Average time per event: 0.538 usec (+- 0.001 usec)
-    Average memory usage: 7563 KB (+- 0 KB)
-
-This patch enables it just for perf inject when used with pipe (it's a
-default behavior).  Maybe we could do it for perf record and/or report
-later..
-
-Committer testing:
-
-Before:
-
-  $ perf stat -r 5 perf bench internals inject-build-id
-  # Running 'internals/inject-build-id' benchmark:
-    Average build-id injection took: 13.605 msec (+- 0.064 msec)
-    Average time per event: 1.334 usec (+- 0.006 usec)
-    Average memory usage: 12220 KB (+- 7 KB)
-    Average build-id-all injection took: 11.458 msec (+- 0.058 msec)
-    Average time per event: 1.123 usec (+- 0.006 usec)
-    Average memory usage: 11546 KB (+- 8 KB)
-  # Running 'internals/inject-build-id' benchmark:
-    Average build-id injection took: 13.673 msec (+- 0.057 msec)
-    Average time per event: 1.341 usec (+- 0.006 usec)
-    Average memory usage: 12508 KB (+- 8 KB)
-    Average build-id-all injection took: 11.437 msec (+- 0.046 msec)
-    Average time per event: 1.121 usec (+- 0.004 usec)
-    Average memory usage: 11812 KB (+- 7 KB)
-  # Running 'internals/inject-build-id' benchmark:
-    Average build-id injection took: 13.641 msec (+- 0.069 msec)
-    Average time per event: 1.337 usec (+- 0.007 usec)
-    Average memory usage: 12302 KB (+- 8 KB)
-    Average build-id-all injection took: 10.820 msec (+- 0.106 msec)
-    Average time per event: 1.061 usec (+- 0.010 usec)
-    Average memory usage: 11616 KB (+- 7 KB)
-  # Running 'internals/inject-build-id' benchmark:
-    Average build-id injection took: 13.379 msec (+- 0.074 msec)
-    Average time per event: 1.312 usec (+- 0.007 usec)
-    Average memory usage: 12334 KB (+- 8 KB)
-    Average build-id-all injection took: 11.288 msec (+- 0.071 msec)
-    Average time per event: 1.107 usec (+- 0.007 usec)
-    Average memory usage: 11657 KB (+- 8 KB)
-  # Running 'internals/inject-build-id' benchmark:
-    Average build-id injection took: 13.534 msec (+- 0.058 msec)
-    Average time per event: 1.327 usec (+- 0.006 usec)
-    Average memory usage: 12264 KB (+- 8 KB)
-    Average build-id-all injection took: 11.557 msec (+- 0.076 msec)
-    Average time per event: 1.133 usec (+- 0.007 usec)
-    Average memory usage: 11593 KB (+- 8 KB)
-
-   Performance counter stats for 'perf bench internals inject-build-id' (5 runs):
-
-            4,060.05 msec task-clock:u              #    1.566 CPUs utilized            ( +-  0.65% )
-                   0      context-switches:u        #    0.000 K/sec
-                   0      cpu-migrations:u          #    0.000 K/sec
-             101,888      page-faults:u             #    0.025 M/sec                    ( +-  0.12% )
-       3,745,833,163      cycles:u                  #    0.923 GHz                      ( +-  0.10% )  (83.22%)
-         194,346,613      stalled-cycles-frontend:u #    5.19% frontend cycles idle     ( +-  0.57% )  (83.30%)
-         708,495,034      stalled-cycles-backend:u  #   18.91% backend cycles idle      ( +-  0.48% )  (83.48%)
-       5,629,328,628      instructions:u            #    1.50  insn per cycle
-                                                    #    0.13  stalled cycles per insn  ( +-  0.21% )  (83.57%)
-       1,236,697,927      branches:u                #  304.602 M/sec                    ( +-  0.16% )  (83.44%)
-          17,564,877      branch-misses:u           #    1.42% of all branches          ( +-  0.23% )  (82.99%)
-
-              2.5934 +- 0.0128 seconds time elapsed  ( +-  0.49% )
-
-  $
-
-After:
-
-  $ perf stat -r 5 perf bench internals inject-build-id
-  # Running 'internals/inject-build-id' benchmark:
-    Average build-id injection took: 8.560 msec (+- 0.125 msec)
-    Average time per event: 0.839 usec (+- 0.012 usec)
-    Average memory usage: 12520 KB (+- 8 KB)
-    Average build-id-all injection took: 5.789 msec (+- 0.054 msec)
-    Average time per event: 0.568 usec (+- 0.005 usec)
-    Average memory usage: 11919 KB (+- 9 KB)
-  # Running 'internals/inject-build-id' benchmark:
-    Average build-id injection took: 8.639 msec (+- 0.111 msec)
-    Average time per event: 0.847 usec (+- 0.011 usec)
-    Average memory usage: 12732 KB (+- 8 KB)
-    Average build-id-all injection took: 5.647 msec (+- 0.069 msec)
-    Average time per event: 0.554 usec (+- 0.007 usec)
-    Average memory usage: 12093 KB (+- 7 KB)
-  # Running 'internals/inject-build-id' benchmark:
-    Average build-id injection took: 8.551 msec (+- 0.096 msec)
-    Average time per event: 0.838 usec (+- 0.009 usec)
-    Average memory usage: 12739 KB (+- 8 KB)
-    Average build-id-all injection took: 5.617 msec (+- 0.061 msec)
-    Average time per event: 0.551 usec (+- 0.006 usec)
-    Average memory usage: 12105 KB (+- 7 KB)
-  # Running 'internals/inject-build-id' benchmark:
-    Average build-id injection took: 8.403 msec (+- 0.097 msec)
-    Average time per event: 0.824 usec (+- 0.010 usec)
-    Average memory usage: 12770 KB (+- 8 KB)
-    Average build-id-all injection took: 5.611 msec (+- 0.085 msec)
-    Average time per event: 0.550 usec (+- 0.008 usec)
-    Average memory usage: 12134 KB (+- 8 KB)
-  # Running 'internals/inject-build-id' benchmark:
-    Average build-id injection took: 8.518 msec (+- 0.102 msec)
-    Average time per event: 0.835 usec (+- 0.010 usec)
-    Average memory usage: 12518 KB (+- 10 KB)
-    Average build-id-all injection took: 5.503 msec (+- 0.073 msec)
-    Average time per event: 0.540 usec (+- 0.007 usec)
-    Average memory usage: 11882 KB (+- 8 KB)
-
-   Performance counter stats for 'perf bench internals inject-build-id' (5 runs):
-
-            2,394.88 msec task-clock:u              #    1.577 CPUs utilized            ( +-  0.83% )
-                   0      context-switches:u        #    0.000 K/sec
-                   0      cpu-migrations:u          #    0.000 K/sec
-             103,181      page-faults:u             #    0.043 M/sec                    ( +-  0.11% )
-       3,548,172,030      cycles:u                  #    1.482 GHz                      ( +-  0.30% )  (83.26%)
-          81,537,700      stalled-cycles-frontend:u #    2.30% frontend cycles idle     ( +-  1.54% )  (83.24%)
-         876,631,544      stalled-cycles-backend:u  #   24.71% backend cycles idle      ( +-  1.14% )  (83.45%)
-       5,960,361,707      instructions:u            #    1.68  insn per cycle
-                                                    #    0.15  stalled cycles per insn  ( +-  0.27% )  (83.26%)
-       1,269,413,491      branches:u                #  530.054 M/sec                    ( +-  0.10% )  (83.48%)
-          11,372,453      branch-misses:u           #    0.90% of all branches          ( +-  0.52% )  (83.31%)
-
-             1.51874 +- 0.00642 seconds time elapsed  ( +-  0.42% )
-
-  $
-
-Signed-off-by: Namhyung Kim <namhyung@kernel.org>
-Acked-by: Jiri Olsa <jolsa@redhat.com>
-Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
-Cc: Ian Rogers <irogers@google.com>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Cc: Stephane Eranian <eranian@google.com>
-Link: http://lore.kernel.org/lkml/20201030054742.87740-1-namhyung@kernel.org
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/builtin-inject.c |  2 ++
- tools/perf/util/data.c      | 41 ++++++++++++++++++++++++++++++++++---
- tools/perf/util/data.h      | 11 +++++++++-
- tools/perf/util/header.c    |  8 ++++----
- tools/perf/util/session.c   |  7 ++++---
- 5 files changed, 58 insertions(+), 11 deletions(-)
-
-diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
-index 452a75fe68e5..14d6c88fed76 100644
---- a/tools/perf/builtin-inject.c
-+++ b/tools/perf/builtin-inject.c
-@@ -853,10 +853,12 @@ int cmd_inject(int argc, const char **argv)
- 		.output = {
- 			.path = "-",
- 			.mode = PERF_DATA_MODE_WRITE,
-+			.use_stdio = true,
- 		},
- 	};
- 	struct perf_data data = {
- 		.mode = PERF_DATA_MODE_READ,
-+		.use_stdio = true,
- 	};
- 	int ret;
- 
-diff --git a/tools/perf/util/data.c b/tools/perf/util/data.c
-index c47aa34fdc0a..05bbcb663c41 100644
---- a/tools/perf/util/data.c
-+++ b/tools/perf/util/data.c
-@@ -174,8 +174,21 @@ static bool check_pipe(struct perf_data *data)
- 			is_pipe = true;
- 	}
- 
--	if (is_pipe)
--		data->file.fd = fd;
-+	if (is_pipe) {
-+		if (data->use_stdio) {
-+			const char *mode;
-+
-+			mode = perf_data__is_read(data) ? "r" : "w";
-+			data->file.fptr = fdopen(fd, mode);
-+
-+			if (data->file.fptr == NULL) {
-+				data->file.fd = fd;
-+				data->use_stdio = false;
-+			}
-+		} else {
-+			data->file.fd = fd;
-+		}
-+	}
- 
- 	return data->is_pipe = is_pipe;
- }
-@@ -334,6 +347,9 @@ int perf_data__open(struct perf_data *data)
- 	if (check_pipe(data))
- 		return 0;
- 
-+	/* currently it allows stdio for pipe only */
-+	data->use_stdio = false;
-+
- 	if (!data->path)
- 		data->path = "perf.data";
- 
-@@ -353,7 +369,21 @@ void perf_data__close(struct perf_data *data)
- 		perf_data__close_dir(data);
- 
- 	zfree(&data->file.path);
--	close(data->file.fd);
-+
-+	if (data->use_stdio)
-+		fclose(data->file.fptr);
-+	else
-+		close(data->file.fd);
-+}
-+
-+ssize_t perf_data__read(struct perf_data *data, void *buf, size_t size)
-+{
-+	if (data->use_stdio) {
-+		if (fread(buf, size, 1, data->file.fptr) == 1)
-+			return size;
-+		return feof(data->file.fptr) ? 0 : -1;
-+	}
-+	return readn(data->file.fd, buf, size);
- }
- 
- ssize_t perf_data_file__write(struct perf_data_file *file,
-@@ -365,6 +395,11 @@ ssize_t perf_data_file__write(struct perf_data_file *file,
- ssize_t perf_data__write(struct perf_data *data,
- 			      void *buf, size_t size)
- {
-+	if (data->use_stdio) {
-+		if (fwrite(buf, size, 1, data->file.fptr) == 1)
-+			return size;
-+		return -1;
-+	}
- 	return perf_data_file__write(&data->file, buf, size);
- }
- 
-diff --git a/tools/perf/util/data.h b/tools/perf/util/data.h
-index 75947ef6bc17..c563fcbb0288 100644
---- a/tools/perf/util/data.h
-+++ b/tools/perf/util/data.h
-@@ -2,6 +2,7 @@
- #ifndef __PERF_DATA_H
- #define __PERF_DATA_H
- 
-+#include <stdio.h>
- #include <stdbool.h>
- 
- enum perf_data_mode {
-@@ -16,7 +17,10 @@ enum perf_dir_version {
- 
- struct perf_data_file {
- 	char		*path;
--	int		 fd;
-+	union {
-+		int	 fd;
-+		FILE	*fptr;
-+	};
- 	unsigned long	 size;
- };
- 
-@@ -26,6 +30,7 @@ struct perf_data {
- 	bool			 is_pipe;
- 	bool			 is_dir;
- 	bool			 force;
-+	bool			 use_stdio;
- 	enum perf_data_mode	 mode;
- 
- 	struct {
-@@ -62,11 +67,15 @@ static inline bool perf_data__is_single_file(struct perf_data *data)
- 
- static inline int perf_data__fd(struct perf_data *data)
- {
-+	if (data->use_stdio)
-+		return fileno(data->file.fptr);
-+
- 	return data->file.fd;
- }
- 
- int perf_data__open(struct perf_data *data);
- void perf_data__close(struct perf_data *data);
-+ssize_t perf_data__read(struct perf_data *data, void *buf, size_t size);
- ssize_t perf_data__write(struct perf_data *data,
- 			      void *buf, size_t size);
- ssize_t perf_data_file__write(struct perf_data_file *file,
-diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
-index 598285a21dad..b9171bd11fe6 100644
---- a/tools/perf/util/header.c
-+++ b/tools/perf/util/header.c
-@@ -3647,7 +3647,8 @@ static int perf_file_section__process(struct perf_file_section *section,
- }
- 
- static int perf_file_header__read_pipe(struct perf_pipe_file_header *header,
--				       struct perf_header *ph, int fd,
-+				       struct perf_header *ph,
-+				       struct perf_data* data,
- 				       bool repipe)
- {
- 	struct feat_fd ff = {
-@@ -3656,7 +3657,7 @@ static int perf_file_header__read_pipe(struct perf_pipe_file_header *header,
- 	};
- 	ssize_t ret;
- 
--	ret = readn(fd, header, sizeof(*header));
-+	ret = perf_data__read(data, header, sizeof(*header));
- 	if (ret <= 0)
- 		return -1;
- 
-@@ -3679,8 +3680,7 @@ static int perf_header__read_pipe(struct perf_session *session)
- 	struct perf_header *header = &session->header;
- 	struct perf_pipe_file_header f_header;
- 
--	if (perf_file_header__read_pipe(&f_header, header,
--					perf_data__fd(session->data),
-+	if (perf_file_header__read_pipe(&f_header, header, session->data,
- 					session->repipe) < 0) {
- 		pr_debug("incompatible file format\n");
- 		return -EINVAL;
-diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
-index 098080287c68..5cc722b6fe7c 100644
---- a/tools/perf/util/session.c
-+++ b/tools/perf/util/session.c
-@@ -1937,7 +1937,6 @@ static int __perf_session__process_pipe_events(struct perf_session *session)
- {
- 	struct ordered_events *oe = &session->ordered_events;
- 	struct perf_tool *tool = session->tool;
--	int fd = perf_data__fd(session->data);
- 	union perf_event *event;
- 	uint32_t size, cur_size = 0;
- 	void *buf = NULL;
-@@ -1957,7 +1956,8 @@ static int __perf_session__process_pipe_events(struct perf_session *session)
- 	ordered_events__set_copy_on_queue(oe, true);
- more:
- 	event = buf;
--	err = readn(fd, event, sizeof(struct perf_event_header));
-+	err = perf_data__read(session->data, event,
-+			      sizeof(struct perf_event_header));
- 	if (err <= 0) {
- 		if (err == 0)
- 			goto done;
-@@ -1989,7 +1989,8 @@ static int __perf_session__process_pipe_events(struct perf_session *session)
- 	p += sizeof(struct perf_event_header);
- 
- 	if (size - sizeof(struct perf_event_header)) {
--		err = readn(fd, p, size - sizeof(struct perf_event_header));
-+		err = perf_data__read(session->data, p,
-+				      size - sizeof(struct perf_event_header));
- 		if (err <= 0) {
- 			if (err == 0) {
- 				pr_err("unexpected end of event stream\n");
--- 
-2.34.0.rc0.344.g81b53c2807-goog
-
diff --git a/dev-util/perf/files/5.3.7-Check-vmlinux-kallsyms-arguments.patch b/dev-util/perf/files/5.3.7-Check-vmlinux-kallsyms-arguments.patch
deleted file mode 100644
index a8011cd..0000000
--- a/dev-util/perf/files/5.3.7-Check-vmlinux-kallsyms-arguments.patch
+++ /dev/null
@@ -1,145 +0,0 @@
-Local modifications in the patch:
-- removed symbol.h include in builtin-probe since it's still there in 5.3.7;
-- removed refs to annotate_check_args because --prefix patch 3b0b16bf8cb92
-pulls many dependency conflicts in 5.3.7.
-
-From 7cc72553ac03ec20afe2dec91dce4624ccd379b8 Mon Sep 17 00:00:00 2001
-From: James Clark <james.clark@arm.com>
-Date: Mon, 18 Oct 2021 14:48:42 +0100
-Subject: [PATCH 2/3] perf tools: Check vmlinux/kallsyms arguments in all tools
-
-Only perf report checked the validity of these arguments so apply the
-same check to all tools that read them for consistency.
-
-Signed-off-by: James Clark <james.clark@arm.com>
-Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
-Cc: Denis Nikitin <denik@chromium.org>
-Cc: Jiri Olsa <jolsa@redhat.com>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Link: https://lore.kernel.org/r/20211018134844.2627174-3-james.clark@arm.com
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/builtin-annotate.c | 4 ++++
- tools/perf/builtin-c2c.c      | 4 ++++
- tools/perf/builtin-probe.c    | 5 +++++
- tools/perf/builtin-record.c   | 4 ++++
- tools/perf/builtin-sched.c    | 4 ++++
- tools/perf/builtin-script.c   | 3 +++
- tools/perf/builtin-top.c      | 4 ++++
- 7 files changed, 28 insertions(+)
-
-diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
-index 05eb098cb0e3..490bb9b8cf17 100644
---- a/tools/perf/builtin-annotate.c
-+++ b/tools/perf/builtin-annotate.c
-@@ -591,6 +591,10 @@ int cmd_annotate(int argc, const char **argv)
- 		return ret;
- 	}
- 
-+	ret = symbol__validate_sym_arguments();
-+	if (ret)
-+		return ret;
-+
- 	if (quiet)
- 		perf_quiet_option();
- 
-diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c
-index a192014fa52b..b5c67ef73862 100644
---- a/tools/perf/builtin-c2c.c
-+++ b/tools/perf/builtin-c2c.c
-@@ -2768,6 +2768,10 @@ static int perf_c2c__report(int argc, const char **argv)
- 	if (c2c.stats_only)
- 		c2c.use_stdio = true;
- 
-+	err = symbol__validate_sym_arguments();
-+	if (err)
-+		goto out;
-+
- 	if (!input_name || !strlen(input_name))
- 		input_name = "perf.data";
- 
-diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
-index e1dd51f2874b..c31627af75d4 100644
---- a/tools/perf/builtin-probe.c
-+++ b/tools/perf/builtin-probe.c
-@@ -629,6 +630,10 @@ __cmd_probe(int argc, const char **argv)
- 		params.command = 'a';
- 	}
- 
-+	ret = symbol__validate_sym_arguments();
-+	if (ret)
-+		return ret;
-+
- 	if (params.quiet) {
- 		if (verbose != 0) {
- 			pr_err("  Error: -v and -q are exclusive.\n");
-diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
-index 78185c982ebf..0338b813585a 100644
---- a/tools/perf/builtin-record.c
-+++ b/tools/perf/builtin-record.c
-@@ -2712,6 +2712,10 @@ int cmd_record(int argc, const char **argv)
- 	if (quiet)
- 		perf_quiet_option();
- 
-+	err = symbol__validate_sym_arguments();
-+	if (err)
-+		return err;
-+
- 	/* Make system wide (-a) the default target. */
- 	if (!argc && target__none(&rec->opts.target))
- 		rec->opts.target.system_wide = true;
-diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
-index 635a6b5a9ec9..4527f632ebe4 100644
---- a/tools/perf/builtin-sched.c
-+++ b/tools/perf/builtin-sched.c
-@@ -3538,6 +3538,7 @@ int cmd_sched(int argc, const char **argv)
- 		.fork_event	    = replay_fork_event,
- 	};
- 	unsigned int i;
-+	int ret;
- 
- 	for (i = 0; i < ARRAY_SIZE(sched.curr_pid); i++)
- 		sched.curr_pid[i] = -1;
-@@ -3598,6 +3599,9 @@ int cmd_sched(int argc, const char **argv)
- 				parse_options_usage(NULL, timehist_options, "n", true);
- 			return -EINVAL;
- 		}
-+		ret = symbol__validate_sym_arguments();
-+		if (ret)
-+			return ret;
- 
- 		return perf_sched__timehist(&sched);
- 	} else {
-diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
-index f3d07cfab550..9434367af166 100644
---- a/tools/perf/builtin-script.c
-+++ b/tools/perf/builtin-script.c
-@@ -3846,6 +3846,9 @@ int cmd_script(int argc, const char **argv)
- 	data.path  = input_name;
- 	data.force = symbol_conf.force;
- 
-+	if (symbol__validate_sym_arguments())
-+		return -1;
-+
- 	if (argc > 1 && !strncmp(argv[0], "rec", strlen("rec"))) {
- 		rec_script_path = get_script_path(argv[1], RECORD_SUFFIX);
- 		if (!rec_script_path)
-diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
-index 020c4f110c10..1fc390f136dd 100644
---- a/tools/perf/builtin-top.c
-+++ b/tools/perf/builtin-top.c
-@@ -1618,6 +1618,10 @@ int cmd_top(int argc, const char **argv)
- 	if (argc)
- 		usage_with_options(top_usage, options);
- 
-+	status = symbol__validate_sym_arguments();
-+	if (status)
-+		goto out_delete_evlist;
-+
- 	if (!top.evlist->nr_entries &&
- 	    perf_evlist__add_default(top.evlist) < 0) {
- 		pr_err("Not enough memory for event selector list\n");
--- 
-2.34.0.rc0.344.g81b53c2807-goog
-
diff --git a/dev-util/perf/files/5.3.7-Consolidate-symbol-fixup-issue.patch b/dev-util/perf/files/5.3.7-Consolidate-symbol-fixup-issue.patch
deleted file mode 100644
index 4da28ca..0000000
--- a/dev-util/perf/files/5.3.7-Consolidate-symbol-fixup-issue.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-Diff for sym-handling.c modified to delete the 5.3.7 version of the
-file.
-
-From 7eec00a74720d35b6d89505350e5b08ecef376c0 Mon Sep 17 00:00:00 2001
-From: Leo Yan <leo.yan@linaro.org>
-Date: Fri, 6 Mar 2020 09:57:58 +0800
-Subject: [PATCH] perf symbols: Consolidate symbol fixup issue
-
-After copying Arm64's perf archive with object files and perf.data file
-to x86 laptop, the x86's perf kernel symbol resolution fails.  It
-outputs 'unknown' for all symbols parsing.
-
-This issue is root caused by the function elf__needs_adjust_symbols(),
-x86 perf tool uses one weak version, Arm64 (and powerpc) has rewritten
-their own version.  elf__needs_adjust_symbols() decides if need to parse
-symbols with the relative offset address; but x86 building uses the weak
-function which misses to check for the elf type 'ET_DYN', so that it
-cannot parse symbols in Arm DSOs due to the wrong result from
-elf__needs_adjust_symbols().
-
-The DSO parsing should not depend on any specific architecture perf
-building; e.g. x86 perf tool can parse Arm and Arm64 DSOs, vice versa.
-And confirmed by Naveen N. Rao that powerpc64 kernels are not being
-built as ET_DYN anymore and change to ET_EXEC.
-
-This patch removes the arch specific functions for Arm64 and powerpc and
-changes elf__needs_adjust_symbols() as a common function.
-
-In the common elf__needs_adjust_symbols(), it checks an extra condition
-'ET_DYN' for elf header type.  With this fixing, the Arm64 DSO can be
-parsed properly with x86's perf tool.
-
-Before:
-
-  # perf script
-  main 3258 1 branches:                0 [unknown] ([unknown]) => ffff800010c4665c [unknown] ([kernel.kallsyms])
-  main 3258 1 branches: ffff800010c46670 [unknown] ([kernel.kallsyms]) => ffff800010c4eaec [unknown] ([kernel.kallsyms])
-  main 3258 1 branches: ffff800010c4eaec [unknown] ([kernel.kallsyms]) => ffff800010c4eb00 [unknown] ([kernel.kallsyms])
-  main 3258 1 branches: ffff800010c4eb08 [unknown] ([kernel.kallsyms]) => ffff800010c4e780 [unknown] ([kernel.kallsyms])
-  main 3258 1 branches: ffff800010c4e7a0 [unknown] ([kernel.kallsyms]) => ffff800010c4eeac [unknown] ([kernel.kallsyms])
-  main 3258 1 branches: ffff800010c4eebc [unknown] ([kernel.kallsyms]) => ffff800010c4ed80 [unknown] ([kernel.kallsyms])
-
-After:
-
-  # perf script
-  main 3258 1 branches:                0 [unknown] ([unknown]) => ffff800010c4665c coresight_timeout+0x54 ([kernel.kallsyms])
-  main 3258 1 branches: ffff800010c46670 coresight_timeout+0x68 ([kernel.kallsyms]) => ffff800010c4eaec etm4_enable_hw+0x3cc ([kernel.kallsyms])
-  main 3258 1 branches: ffff800010c4eaec etm4_enable_hw+0x3cc ([kernel.kallsyms]) => ffff800010c4eb00 etm4_enable_hw+0x3e0 ([kernel.kallsyms])
-  main 3258 1 branches: ffff800010c4eb08 etm4_enable_hw+0x3e8 ([kernel.kallsyms]) => ffff800010c4e780 etm4_enable_hw+0x60 ([kernel.kallsyms])
-  main 3258 1 branches: ffff800010c4e7a0 etm4_enable_hw+0x80 ([kernel.kallsyms]) => ffff800010c4eeac etm4_enable+0x2d4 ([kernel.kallsyms])
-  main 3258 1 branches: ffff800010c4eebc etm4_enable+0x2e4 ([kernel.kallsyms]) => ffff800010c4ed80 etm4_enable+0x1a8 ([kernel.kallsyms])
-
-v3: Changed to check for ET_DYN across all architectures.
-
-v2: Fixed Arm64 and powerpc native building.
-
-Reported-by: Mike Leach <mike.leach@linaro.org>
-Signed-off-by: Leo Yan <leo.yan@linaro.org>
-Reviewed-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
-Acked-by: Jiri Olsa <jolsa@redhat.com>
-Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
-Cc: Allison Randal <allison@lohutok.net>
-Cc: Enrico Weigelt <info@metux.net>
-Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Cc: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
-Cc: John Garry <john.garry@huawei.com>
-Cc: Kate Stewart <kstewart@linuxfoundation.org>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Cc: Thomas Gleixner <tglx@linutronix.de>
-Cc: Thomas Richter <tmricht@linux.vnet.ibm.com>
-Link: http://lore.kernel.org/lkml/20200306015759.10084-1-leo.yan@linaro.org
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/arch/arm64/util/Build            |  1 -
- tools/perf/arch/arm64/util/sym-handling.c   | 19 -------------------
- tools/perf/arch/powerpc/util/Build          |  1 -
- tools/perf/arch/powerpc/util/sym-handling.c | 10 ----------
- tools/perf/util/symbol-elf.c                | 10 ++++++++--
- 5 files changed, 8 insertions(+), 33 deletions(-)
- delete mode 100644 tools/perf/arch/arm64/util/sym-handling.c
-
-diff --git a/tools/perf/arch/arm64/util/Build b/tools/perf/arch/arm64/util/Build
-index 0a7782c61209..789956f76d85 100644
---- a/tools/perf/arch/arm64/util/Build
-+++ b/tools/perf/arch/arm64/util/Build
-@@ -1,5 +1,4 @@
- perf-y += header.o
--perf-y += sym-handling.o
- perf-$(CONFIG_DWARF)     += dwarf-regs.o
- perf-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o
- perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
-diff --git a/tools/perf/arch/arm64/util/sym-handling.c b/tools/perf/arch/arm64/util/sym-handling.c
-deleted file mode 100644
-index 8dfa3e5229f1..000000000000
---- a/tools/perf/arch/arm64/util/sym-handling.c
-+++ /dev/null
-@@ -1,20 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0-only
--/*
-- *
-- * Copyright (C) 2015 Naveen N. Rao, IBM Corporation
-- */
--
--#include "debug.h"
--#include "symbol.h"
--#include "map.h"
--#include "probe-event.h"
--#include "probe-file.h"
--
--#ifdef HAVE_LIBELF_SUPPORT
--bool elf__needs_adjust_symbols(GElf_Ehdr ehdr)
--{
--	return ehdr.e_type == ET_EXEC ||
--	       ehdr.e_type == ET_REL ||
--	       ehdr.e_type == ET_DYN;
--}
--#endif
-diff --git a/tools/perf/arch/powerpc/util/Build b/tools/perf/arch/powerpc/util/Build
-index 7cf0b8803097..e5c9504f8586 100644
---- a/tools/perf/arch/powerpc/util/Build
-+++ b/tools/perf/arch/powerpc/util/Build
-@@ -1,5 +1,4 @@
- perf-y += header.o
--perf-y += sym-handling.o
- perf-y += kvm-stat.o
- perf-y += perf_regs.o
- perf-y += mem-events.o
-diff --git a/tools/perf/arch/powerpc/util/sym-handling.c b/tools/perf/arch/powerpc/util/sym-handling.c
-index abb7a12d8f93..0856b32f9e08 100644
---- a/tools/perf/arch/powerpc/util/sym-handling.c
-+++ b/tools/perf/arch/powerpc/util/sym-handling.c
-@@ -10,16 +10,6 @@
- #include "probe-event.h"
- #include "probe-file.h"
- 
--#ifdef HAVE_LIBELF_SUPPORT
--bool elf__needs_adjust_symbols(GElf_Ehdr ehdr)
--{
--	return ehdr.e_type == ET_EXEC ||
--	       ehdr.e_type == ET_REL ||
--	       ehdr.e_type == ET_DYN;
--}
--
--#endif
--
- int arch__choose_best_symbol(struct symbol *syma,
- 			     struct symbol *symb __maybe_unused)
- {
-diff --git a/tools/perf/util/symbol-elf.c b/tools/perf/util/symbol-elf.c
-index 1965aefccb02..be5b493f8284 100644
---- a/tools/perf/util/symbol-elf.c
-+++ b/tools/perf/util/symbol-elf.c
-@@ -704,9 +704,15 @@ void symsrc__destroy(struct symsrc *ss)
- 	close(ss->fd);
- }
- 
--bool __weak elf__needs_adjust_symbols(GElf_Ehdr ehdr)
-+bool elf__needs_adjust_symbols(GElf_Ehdr ehdr)
- {
--	return ehdr.e_type == ET_EXEC || ehdr.e_type == ET_REL;
-+	/*
-+	 * Usually vmlinux is an ELF file with type ET_EXEC for most
-+	 * architectures; except Arm64 kernel is linked with option
-+	 * '-share', so need to check type ET_DYN.
-+	 */
-+	return ehdr.e_type == ET_EXEC || ehdr.e_type == ET_REL ||
-+	       ehdr.e_type == ET_DYN;
- }
- 
- int symsrc__init(struct symsrc *ss, struct dso *dso, const char *name,
--- 
-2.32.0.272.g935e593368-goog
-
diff --git a/dev-util/perf/files/5.3.7-Correct-event-attribute-sizes.patch b/dev-util/perf/files/5.3.7-Correct-event-attribute-sizes.patch
deleted file mode 100644
index 146f07e..0000000
--- a/dev-util/perf/files/5.3.7-Correct-event-attribute-sizes.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-The patch is modified to resolve the conflicts of renamed
-evsel->attr.size which became evsel->core.attr.size in ToT.
-
-From 648b054a4647cd62e13ba79f398b8b97a7c82b19 Mon Sep 17 00:00:00 2001
-From: Al Grant <al.grant@arm.com>
-Date: Tue, 24 Nov 2020 19:58:17 +0000
-Subject: [PATCH] perf inject: Correct event attribute sizes
-
-When 'perf inject' reads a perf.data file from an older version of perf,
-it writes event attributes into the output with the original size field,
-but lays them out as if they had the size currently used. Readers see a
-corrupt file. Update the size field to match the layout.
-
-Signed-off-by: Al Grant <al.grant@foss.arm.com>
-Acked-by: Jiri Olsa <jolsa@redhat.com>
-Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Link: http://lore.kernel.org/lkml/20201124195818.30603-1-al.grant@arm.com
-Signed-off-by: Denis Nikitin <denik@chromium.org>
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/util/header.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
-index 062383e225a3..c4ed3dc2c8f4 100644
---- a/tools/perf/util/header.c
-+++ b/tools/perf/util/header.c
-@@ -3323,6 +3323,14 @@ int perf_session__write_header(struct perf_session *session,
- 	attr_offset = lseek(ff.fd, 0, SEEK_CUR);
- 
- 	evlist__for_each_entry(evlist, evsel) {
-+		if (evsel->attr.size < sizeof(evsel->attr)) {
-+			/*
-+			 * We are likely in "perf inject" and have read
-+			 * from an older file. Update attr size so that
-+			 * reader gets the right offset to the ids.
-+			 */
-+			evsel->attr.size = sizeof(evsel->attr);
-+		}
- 		f_attr = (struct perf_file_attr){
- 			.attr = evsel->core.attr,
- 			.ids  = {
--- 
-2.30.0.478.g8a0d178c01-goog
-
diff --git a/dev-util/perf/files/5.3.7-EL2-fix-1-Update-ETM-metadata-format.patch b/dev-util/perf/files/5.3.7-EL2-fix-1-Update-ETM-metadata-format.patch
deleted file mode 100644
index 3307e91..0000000
--- a/dev-util/perf/files/5.3.7-EL2-fix-1-Update-ETM-metadata-format.patch
+++ /dev/null
@@ -1,489 +0,0 @@
-Added one local change in the patch to resolve the conflict:
-- replaced __u64 with u64 in cs_etm__print_auxtrace_info
-
-From 42b2b570b34afb5fb9dc16ac77cb332194136a85 Mon Sep 17 00:00:00 2001
-From: Mike Leach <mike.leach@linaro.org>
-Date: Wed, 24 Feb 2021 09:48:30 -0700
-Subject: [PATCH] perf cs-etm: Update ETM metadata format
-
-The current fixed metadata version format (version 0), means that adding
-metadata parameter items renders files from a previous version of perf
-unreadable. Per CPU parameters appear in a fixed order, but there is no
-field to indicate the number of ETM parameters per CPU.
-
-This patch updates the per CPU parameter blocks to include a NR_PARAMs
-value which indicates the number of parameters in the block.
-
-The header version is incremented to 1. Fixed ordering is retained,
-new ETM parameters are added to the end of the list.
-
-The reader code is updated to be able to read current version 0 files,
-For version 1, the reader will read the number of parameters in the
-per CPU block. This allows the reader to process older or newer files
-that may have different numbers of parameters than in use at the
-time perf was built.
-
-Signed-off-by: Mike Leach <mike.leach@linaro.org>
-Reviewed-by: Leo Yan <leo.yan@linaro.org>
-Tested-by: Leo Yan <leo.yan@linaro.org>
-Link: https://lore.kernel.org/r/20210202214040.32349-1-mike.leach@linaro.org
-Link: https://lore.kernel.org/r/20210224164835.3497311-2-mathieu.poirier@linaro.org
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/arch/arm/util/cs-etm.c |   7 +-
- tools/perf/util/cs-etm.c          | 235 ++++++++++++++++++++++++------
- tools/perf/util/cs-etm.h          |  30 +++-
- 3 files changed, 223 insertions(+), 49 deletions(-)
-
-diff --git a/tools/perf/arch/arm/util/cs-etm.c b/tools/perf/arch/arm/util/cs-etm.c
-index bd446aba64f7..b0470f2a955a 100644
---- a/tools/perf/arch/arm/util/cs-etm.c
-+++ b/tools/perf/arch/arm/util/cs-etm.c
-@@ -572,7 +572,7 @@ static void cs_etm_get_metadata(int cpu, u32 *offset,
- 				struct auxtrace_record *itr,
- 				struct perf_record_auxtrace_info *info)
- {
--	u32 increment;
-+	u32 increment, nr_trc_params;
- 	u64 magic;
- 	struct cs_etm_recording *ptr =
- 			container_of(itr, struct cs_etm_recording, itr);
-@@ -607,6 +607,7 @@ static void cs_etm_get_metadata(int cpu, u32 *offset,
- 
- 		/* How much space was used */
- 		increment = CS_ETMV4_PRIV_MAX;
-+		nr_trc_params = CS_ETMV4_PRIV_MAX - CS_ETMV4_TRCCONFIGR;
- 	} else {
- 		magic = __perf_cs_etmv3_magic;
- 		/* Get configuration register */
-@@ -624,11 +625,13 @@ static void cs_etm_get_metadata(int cpu, u32 *offset,
- 
- 		/* How much space was used */
- 		increment = CS_ETM_PRIV_MAX;
-+		nr_trc_params = CS_ETM_PRIV_MAX - CS_ETM_ETMCR;
- 	}
- 
- 	/* Build generic header portion */
- 	info->priv[*offset + CS_ETM_MAGIC] = magic;
- 	info->priv[*offset + CS_ETM_CPU] = cpu;
-+	info->priv[*offset + CS_ETM_NR_TRC_PARAMS] = nr_trc_params;
- 	/* Where the next CPU entry should start from */
- 	*offset += increment;
- }
-@@ -674,7 +677,7 @@ static int cs_etm_info_fill(struct auxtrace_record *itr,
- 
- 	/* First fill out the session header */
- 	info->type = PERF_AUXTRACE_CS_ETM;
--	info->priv[CS_HEADER_VERSION_0] = 0;
-+	info->priv[CS_HEADER_VERSION] = CS_HEADER_CURRENT_VERSION;
- 	info->priv[CS_PMU_TYPE_CPUS] = type << 32;
- 	info->priv[CS_PMU_TYPE_CPUS] |= nr_cpu;
- 	info->priv[CS_ETM_SNAPSHOT] = ptr->snapshot_mode;
-diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
-index a2a369e2fbb6..ee32d023e9bd 100644
---- a/tools/perf/util/cs-etm.c
-+++ b/tools/perf/util/cs-etm.c
-@@ -2435,7 +2435,7 @@ static bool cs_etm__is_timeless_decoding(struct cs_etm_auxtrace *etm)
- }
- 
- static const char * const cs_etm_global_header_fmts[] = {
--	[CS_HEADER_VERSION_0]	= "	Header version		       %llx\n",
-+	[CS_HEADER_VERSION]	= "	Header version		       %llx\n",
- 	[CS_PMU_TYPE_CPUS]	= "	PMU type/num cpus	       %llx\n",
- 	[CS_ETM_SNAPSHOT]	= "	Snapshot		       %llx\n",
- };
-@@ -2443,6 +2443,7 @@ static const char * const cs_etm_global_header_fmts[] = {
- static const char * const cs_etm_priv_fmts[] = {
- 	[CS_ETM_MAGIC]		= "	Magic number		       %llx\n",
- 	[CS_ETM_CPU]		= "	CPU			       %lld\n",
-+	[CS_ETM_NR_TRC_PARAMS]	= "	NR_TRC_PARAMS		       %llx\n",
- 	[CS_ETM_ETMCR]		= "	ETMCR			       %llx\n",
- 	[CS_ETM_ETMTRACEIDR]	= "	ETMTRACEIDR		       %llx\n",
- 	[CS_ETM_ETMCCER]	= "	ETMCCER			       %llx\n",
-@@ -2452,6 +2453,7 @@ static const char * const cs_etm_priv_fmts[] = {
- static const char * const cs_etmv4_priv_fmts[] = {
- 	[CS_ETM_MAGIC]		= "	Magic number		       %llx\n",
- 	[CS_ETM_CPU]		= "	CPU			       %lld\n",
-+	[CS_ETM_NR_TRC_PARAMS]	= "	NR_TRC_PARAMS		       %llx\n",
- 	[CS_ETMV4_TRCCONFIGR]	= "	TRCCONFIGR		       %llx\n",
- 	[CS_ETMV4_TRCTRACEIDR]	= "	TRCTRACEIDR		       %llx\n",
- 	[CS_ETMV4_TRCIDR0]	= "	TRCIDR0			       %llx\n",
-@@ -2461,26 +2463,167 @@ static const char * const cs_etmv4_priv_fmts[] = {
- 	[CS_ETMV4_TRCAUTHSTATUS] = "	TRCAUTHSTATUS		       %llx\n",
- };
- 
--static void cs_etm__print_auxtrace_info(u64 *val, int num)
-+static const char * const param_unk_fmt =
-+	"	Unknown parameter [%d]	       %llx\n";
-+static const char * const magic_unk_fmt =
-+	"	Magic number Unknown	       %llx\n";
-+
-+static int cs_etm__print_cpu_metadata_v0(__u64 *val, int *offset)
- {
--	int i, j, cpu = 0;
-+	int i = *offset, j, nr_params = 0, fmt_offset;
-+	__u64 magic;
- 
--	for (i = 0; i < CS_HEADER_VERSION_0_MAX; i++)
--		fprintf(stdout, cs_etm_global_header_fmts[i], val[i]);
-+	/* check magic value */
-+	magic = val[i + CS_ETM_MAGIC];
-+	if ((magic != __perf_cs_etmv3_magic) &&
-+	    (magic != __perf_cs_etmv4_magic)) {
-+		/* failure - note bad magic value */
-+		fprintf(stdout, magic_unk_fmt, magic);
-+		return -EINVAL;
-+	}
-+
-+	/* print common header block */
-+	fprintf(stdout, cs_etm_priv_fmts[CS_ETM_MAGIC], val[i++]);
-+	fprintf(stdout, cs_etm_priv_fmts[CS_ETM_CPU], val[i++]);
-+
-+	if (magic == __perf_cs_etmv3_magic) {
-+		nr_params = CS_ETM_NR_TRC_PARAMS_V0;
-+		fmt_offset = CS_ETM_ETMCR;
-+		/* after common block, offset format index past NR_PARAMS */
-+		for (j = fmt_offset; j < nr_params + fmt_offset; j++, i++)
-+			fprintf(stdout, cs_etm_priv_fmts[j], val[i]);
-+	} else if (magic == __perf_cs_etmv4_magic) {
-+		nr_params = CS_ETMV4_NR_TRC_PARAMS_V0;
-+		fmt_offset = CS_ETMV4_TRCCONFIGR;
-+		/* after common block, offset format index past NR_PARAMS */
-+		for (j = fmt_offset; j < nr_params + fmt_offset; j++, i++)
-+			fprintf(stdout, cs_etmv4_priv_fmts[j], val[i]);
-+	}
-+	*offset = i;
-+	return 0;
-+}
-+
-+static int cs_etm__print_cpu_metadata_v1(__u64 *val, int *offset)
-+{
-+	int i = *offset, j, total_params = 0;
-+	__u64 magic;
-+
-+	magic = val[i + CS_ETM_MAGIC];
-+	/* total params to print is NR_PARAMS + common block size for v1 */
-+	total_params = val[i + CS_ETM_NR_TRC_PARAMS] + CS_ETM_COMMON_BLK_MAX_V1;
- 
--	for (i = CS_HEADER_VERSION_0_MAX; cpu < num; cpu++) {
--		if (val[i] == __perf_cs_etmv3_magic)
--			for (j = 0; j < CS_ETM_PRIV_MAX; j++, i++)
-+	if (magic == __perf_cs_etmv3_magic) {
-+		for (j = 0; j < total_params; j++, i++) {
-+			/* if newer record - could be excess params */
-+			if (j >= CS_ETM_PRIV_MAX)
-+				fprintf(stdout, param_unk_fmt, j, val[i]);
-+			else
- 				fprintf(stdout, cs_etm_priv_fmts[j], val[i]);
--		else if (val[i] == __perf_cs_etmv4_magic)
--			for (j = 0; j < CS_ETMV4_PRIV_MAX; j++, i++)
-+		}
-+	} else if (magic == __perf_cs_etmv4_magic) {
-+		for (j = 0; j < total_params; j++, i++) {
-+			/* if newer record - could be excess params */
-+			if (j >= CS_ETMV4_PRIV_MAX)
-+				fprintf(stdout, param_unk_fmt, j, val[i]);
-+			else
- 				fprintf(stdout, cs_etmv4_priv_fmts[j], val[i]);
--		else
--			/* failure.. return */
-+		}
-+	} else {
-+		/* failure - note bad magic value and error out */
-+		fprintf(stdout, magic_unk_fmt, magic);
-+		return -EINVAL;
-+	}
-+	*offset = i;
-+	return 0;
-+}
-+
-+static void cs_etm__print_auxtrace_info(__u64 *val, int num)
-+{
-+	int i, cpu = 0, version, err;
-+
-+	/* bail out early on bad header version */
-+	version = val[0];
-+	if (version > CS_HEADER_CURRENT_VERSION) {
-+		/* failure.. return */
-+		fprintf(stdout, "	Unknown Header Version = %x, ", version);
-+		fprintf(stdout, "Version supported <= %x\n", CS_HEADER_CURRENT_VERSION);
-+		return;
-+	}
-+
-+	for (i = 0; i < CS_HEADER_VERSION_MAX; i++)
-+		fprintf(stdout, cs_etm_global_header_fmts[i], val[i]);
-+
-+	for (i = CS_HEADER_VERSION_MAX; cpu < num; cpu++) {
-+		if (version == 0)
-+			err = cs_etm__print_cpu_metadata_v0(val, &i);
-+		else if (version == 1)
-+			err = cs_etm__print_cpu_metadata_v1(val, &i);
-+		if (err)
- 			return;
- 	}
- }
- 
-+/*
-+ * Read a single cpu parameter block from the auxtrace_info priv block.
-+ *
-+ * For version 1 there is a per cpu nr_params entry. If we are handling
-+ * version 1 file, then there may be less, the same, or more params
-+ * indicated by this value than the compile time number we understand.
-+ *
-+ * For a version 0 info block, there are a fixed number, and we need to
-+ * fill out the nr_param value in the metadata we create.
-+ */
-+static u64 *cs_etm__create_meta_blk(u64 *buff_in, int *buff_in_offset,
-+				    int out_blk_size, int nr_params_v0)
-+{
-+	u64 *metadata = NULL;
-+	int hdr_version;
-+	int nr_in_params, nr_out_params, nr_cmn_params;
-+	int i, k;
-+
-+	metadata = zalloc(sizeof(*metadata) * out_blk_size);
-+	if (!metadata)
-+		return NULL;
-+
-+	/* read block current index & version */
-+	i = *buff_in_offset;
-+	hdr_version = buff_in[CS_HEADER_VERSION];
-+
-+	if (!hdr_version) {
-+	/* read version 0 info block into a version 1 metadata block  */
-+		nr_in_params = nr_params_v0;
-+		metadata[CS_ETM_MAGIC] = buff_in[i + CS_ETM_MAGIC];
-+		metadata[CS_ETM_CPU] = buff_in[i + CS_ETM_CPU];
-+		metadata[CS_ETM_NR_TRC_PARAMS] = nr_in_params;
-+		/* remaining block params at offset +1 from source */
-+		for (k = CS_ETM_COMMON_BLK_MAX_V1 - 1; k < nr_in_params; k++)
-+			metadata[k + 1] = buff_in[i + k];
-+		/* version 0 has 2 common params */
-+		nr_cmn_params = 2;
-+	} else {
-+	/* read version 1 info block - input and output nr_params may differ */
-+		/* version 1 has 3 common params */
-+		nr_cmn_params = 3;
-+		nr_in_params = buff_in[i + CS_ETM_NR_TRC_PARAMS];
-+
-+		/* if input has more params than output - skip excess */
-+		nr_out_params = nr_in_params + nr_cmn_params;
-+		if (nr_out_params > out_blk_size)
-+			nr_out_params = out_blk_size;
-+
-+		for (k = CS_ETM_MAGIC; k < nr_out_params; k++)
-+			metadata[k] = buff_in[i + k];
-+
-+		/* record the actual nr params we copied */
-+		metadata[CS_ETM_NR_TRC_PARAMS] = nr_out_params - nr_cmn_params;
-+	}
-+
-+	/* adjust in offset by number of in params used */
-+	i += nr_in_params + nr_cmn_params;
-+	*buff_in_offset = i;
-+	return metadata;
-+}
-+
- int cs_etm__process_auxtrace_info(union perf_event *event,
- 				  struct perf_session *session)
- {
-@@ -2492,11 +2635,12 @@ int cs_etm__process_auxtrace_info(union perf_event *event,
- 	int info_header_size;
- 	int total_size = auxtrace_info->header.size;
- 	int priv_size = 0;
--	int num_cpu;
--	int err = 0, idx = -1;
--	int i, j, k;
-+	int num_cpu, trcidr_idx;
-+	int err = 0;
-+	int i, j;
- 	u64 *ptr, *hdr = NULL;
- 	u64 **metadata = NULL;
-+	u64 hdr_version;
- 
- 	/*
- 	 * sizeof(auxtrace_info_event::type) +
-@@ -2512,16 +2656,21 @@ int cs_etm__process_auxtrace_info(union perf_event *event,
- 	/* First the global part */
- 	ptr = (u64 *) auxtrace_info->priv;
- 
--	/* Look for version '0' of the header */
--	if (ptr[0] != 0)
-+	/* Look for version of the header */
-+	hdr_version = ptr[0];
-+	if (hdr_version > CS_HEADER_CURRENT_VERSION) {
-+		/* print routine will print an error on bad version */
-+		if (dump_trace)
-+			cs_etm__print_auxtrace_info(auxtrace_info->priv, 0);
- 		return -EINVAL;
-+	}
- 
--	hdr = zalloc(sizeof(*hdr) * CS_HEADER_VERSION_0_MAX);
-+	hdr = zalloc(sizeof(*hdr) * CS_HEADER_VERSION_MAX);
- 	if (!hdr)
- 		return -ENOMEM;
- 
- 	/* Extract header information - see cs-etm.h for format */
--	for (i = 0; i < CS_HEADER_VERSION_0_MAX; i++)
-+	for (i = 0; i < CS_HEADER_VERSION_MAX; i++)
- 		hdr[i] = ptr[i];
- 	num_cpu = hdr[CS_PMU_TYPE_CPUS] & 0xffffffff;
- 	pmu_type = (unsigned int) ((hdr[CS_PMU_TYPE_CPUS] >> 32) &
-@@ -2552,35 +2701,31 @@ int cs_etm__process_auxtrace_info(union perf_event *event,
- 	 */
- 	for (j = 0; j < num_cpu; j++) {
- 		if (ptr[i] == __perf_cs_etmv3_magic) {
--			metadata[j] = zalloc(sizeof(*metadata[j]) *
--					     CS_ETM_PRIV_MAX);
--			if (!metadata[j]) {
--				err = -ENOMEM;
--				goto err_free_metadata;
--			}
--			for (k = 0; k < CS_ETM_PRIV_MAX; k++)
--				metadata[j][k] = ptr[i + k];
-+			metadata[j] =
-+				cs_etm__create_meta_blk(ptr, &i,
-+							CS_ETM_PRIV_MAX,
-+							CS_ETM_NR_TRC_PARAMS_V0);
- 
- 			/* The traceID is our handle */
--			idx = metadata[j][CS_ETM_ETMTRACEIDR];
--			i += CS_ETM_PRIV_MAX;
-+			trcidr_idx = CS_ETM_ETMTRACEIDR;
-+
- 		} else if (ptr[i] == __perf_cs_etmv4_magic) {
--			metadata[j] = zalloc(sizeof(*metadata[j]) *
--					     CS_ETMV4_PRIV_MAX);
--			if (!metadata[j]) {
--				err = -ENOMEM;
--				goto err_free_metadata;
--			}
--			for (k = 0; k < CS_ETMV4_PRIV_MAX; k++)
--				metadata[j][k] = ptr[i + k];
-+			metadata[j] =
-+				cs_etm__create_meta_blk(ptr, &i,
-+							CS_ETMV4_PRIV_MAX,
-+							CS_ETMV4_NR_TRC_PARAMS_V0);
- 
- 			/* The traceID is our handle */
--			idx = metadata[j][CS_ETMV4_TRCTRACEIDR];
--			i += CS_ETMV4_PRIV_MAX;
-+			trcidr_idx = CS_ETMV4_TRCTRACEIDR;
-+		}
-+
-+		if (!metadata[j]) {
-+			err = -ENOMEM;
-+			goto err_free_metadata;
- 		}
- 
- 		/* Get an RB node for this CPU */
--		inode = intlist__findnew(traceid_list, idx);
-+		inode = intlist__findnew(traceid_list, metadata[j][trcidr_idx]);
- 
- 		/* Something went wrong, no need to continue */
- 		if (!inode) {
-@@ -2601,7 +2746,7 @@ int cs_etm__process_auxtrace_info(union perf_event *event,
- 	}
- 
- 	/*
--	 * Each of CS_HEADER_VERSION_0_MAX, CS_ETM_PRIV_MAX and
-+	 * Each of CS_HEADER_VERSION_MAX, CS_ETM_PRIV_MAX and
- 	 * CS_ETMV4_PRIV_MAX mark how many double words are in the
- 	 * global metadata, and each cpu's metadata respectively.
- 	 * The following tests if the correct number of double words was
-@@ -2703,6 +2848,12 @@ int cs_etm__process_auxtrace_info(union perf_event *event,
- 	intlist__delete(traceid_list);
- err_free_hdr:
- 	zfree(&hdr);
--
-+	/*
-+	 * At this point, as a minimum we have valid header. Dump the rest of
-+	 * the info section - the print routines will error out on structural
-+	 * issues.
-+	 */
-+	if (dump_trace)
-+		cs_etm__print_auxtrace_info(auxtrace_info->priv, num_cpu);
- 	return err;
- }
-diff --git a/tools/perf/util/cs-etm.h b/tools/perf/util/cs-etm.h
-index 4ad925d6d799..e153d02df0de 100644
---- a/tools/perf/util/cs-etm.h
-+++ b/tools/perf/util/cs-etm.h
-@@ -17,23 +17,37 @@ struct perf_session;
-  */
- enum {
- 	/* Starting with 0x0 */
--	CS_HEADER_VERSION_0,
-+	CS_HEADER_VERSION,
- 	/* PMU->type (32 bit), total # of CPUs (32 bit) */
- 	CS_PMU_TYPE_CPUS,
- 	CS_ETM_SNAPSHOT,
--	CS_HEADER_VERSION_0_MAX,
-+	CS_HEADER_VERSION_MAX,
- };
- 
-+/*
-+ * Update the version for new format.
-+ *
-+ * New version 1 format adds a param count to the per cpu metadata.
-+ * This allows easy adding of new metadata parameters.
-+ * Requires that new params always added after current ones.
-+ * Also allows client reader to handle file versions that are different by
-+ * checking the number of params in the file vs the number expected.
-+ */
-+#define CS_HEADER_CURRENT_VERSION 1
-+
- /* Beginning of header common to both ETMv3 and V4 */
- enum {
- 	CS_ETM_MAGIC,
- 	CS_ETM_CPU,
-+	/* Number of trace config params in following ETM specific block */
-+	CS_ETM_NR_TRC_PARAMS,
-+	CS_ETM_COMMON_BLK_MAX_V1,
- };
- 
- /* ETMv3/PTM metadata */
- enum {
- 	/* Dynamic, configurable parameters */
--	CS_ETM_ETMCR = CS_ETM_CPU + 1,
-+	CS_ETM_ETMCR = CS_ETM_COMMON_BLK_MAX_V1,
- 	CS_ETM_ETMTRACEIDR,
- 	/* RO, taken from sysFS */
- 	CS_ETM_ETMCCER,
-@@ -41,10 +55,13 @@ enum {
- 	CS_ETM_PRIV_MAX,
- };
- 
-+/* define fixed version 0 length - allow new format reader to read old files. */
-+#define CS_ETM_NR_TRC_PARAMS_V0 (CS_ETM_ETMIDR - CS_ETM_ETMCR + 1)
-+
- /* ETMv4 metadata */
- enum {
- 	/* Dynamic, configurable parameters */
--	CS_ETMV4_TRCCONFIGR = CS_ETM_CPU + 1,
-+	CS_ETMV4_TRCCONFIGR = CS_ETM_COMMON_BLK_MAX_V1,
- 	CS_ETMV4_TRCTRACEIDR,
- 	/* RO, taken from sysFS */
- 	CS_ETMV4_TRCIDR0,
-@@ -55,6 +72,9 @@ enum {
- 	CS_ETMV4_PRIV_MAX,
- };
- 
-+/* define fixed version 0 length - allow new format reader to read old files. */
-+#define CS_ETMV4_NR_TRC_PARAMS_V0 (CS_ETMV4_TRCAUTHSTATUS - CS_ETMV4_TRCCONFIGR + 1)
-+
- /*
-  * ETMv3 exception encoding number:
-  * See Embedded Trace Macrocell spcification (ARM IHI 0014Q)
-@@ -162,7 +182,7 @@ struct cs_etm_packet_queue {
- 
- #define BMVAL(val, lsb, msb)	((val & GENMASK(msb, lsb)) >> lsb)
- 
--#define CS_ETM_HEADER_SIZE (CS_HEADER_VERSION_0_MAX * sizeof(u64))
-+#define CS_ETM_HEADER_SIZE (CS_HEADER_VERSION_MAX * sizeof(u64))
- 
- #define __perf_cs_etmv3_magic 0x3030303030303030ULL
- #define __perf_cs_etmv4_magic 0x4040404040404040ULL
--- 
-2.32.0.rc1.229.g3e70b5a671-goog
-
diff --git a/dev-util/perf/files/5.3.7-EL2-fix-2-Update-linux-coresight-pmu-h.patch b/dev-util/perf/files/5.3.7-EL2-fix-2-Update-linux-coresight-pmu-h.patch
deleted file mode 100644
index bc57a7e..0000000
--- a/dev-util/perf/files/5.3.7-EL2-fix-2-Update-linux-coresight-pmu-h.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 2bb4ccbd95d7fbf58540c8d3d55cbabc8fb95e28 Mon Sep 17 00:00:00 2001
-From: Leo Yan <leo.yan@linaro.org>
-Date: Wed, 24 Feb 2021 09:48:31 -0700
-Subject: [PATCH 1/5] tools headers UAPI: Update tools' copy of
- linux/coresight-pmu.h
-
-To get the changes in the commit:
-
-  "coresight: etm-perf: Clarify comment on perf options".
-
-Signed-off-by: Leo Yan <leo.yan@linaro.org>
-Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
-Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
-Cc: Mike Leach <mike.leach@linaro.org>
-Link: https://lore.kernel.org/r/20210213113220.292229-2-leo.yan@linaro.org
-Link: https://lore.kernel.org/r/20210224164835.3497311-3-mathieu.poirier@linaro.org
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/include/linux/coresight-pmu.h | 17 ++++++++++++-----
- 1 file changed, 12 insertions(+), 5 deletions(-)
-
-diff --git a/tools/include/linux/coresight-pmu.h b/tools/include/linux/coresight-pmu.h
-index b0e35eec6499..5dc47cfdcf07 100644
---- a/tools/include/linux/coresight-pmu.h
-+++ b/tools/include/linux/coresight-pmu.h
-@@ -10,11 +10,18 @@
- #define CORESIGHT_ETM_PMU_NAME "cs_etm"
- #define CORESIGHT_ETM_PMU_SEED  0x10
- 
--/* ETMv3.5/PTM's ETMCR config bit */
--#define ETM_OPT_CYCACC  12
--#define ETM_OPT_CTXTID	14
--#define ETM_OPT_TS      28
--#define ETM_OPT_RETSTK	29
-+/*
-+ * Below are the definition of bit offsets for perf option, and works as
-+ * arbitrary values for all ETM versions.
-+ *
-+ * Most of them are orignally from ETMv3.5/PTM's ETMCR config, therefore,
-+ * ETMv3.5/PTM doesn't define ETMCR config bits with prefix "ETM3_" and
-+ * directly use below macros as config bits.
-+ */
-+#define ETM_OPT_CYCACC		12
-+#define ETM_OPT_CTXTID		14
-+#define ETM_OPT_TS		28
-+#define ETM_OPT_RETSTK		29
- 
- /* ETMv4 CONFIGR programming bits for the ETM OPTs */
- #define ETM4_CFG_BIT_CYCACC	4
--- 
-2.32.0.rc1.229.g3e70b5a671-goog
-
diff --git a/dev-util/perf/files/5.3.7-EL2-fix-3-Fix-bitmap-for-option.patch b/dev-util/perf/files/5.3.7-EL2-fix-3-Fix-bitmap-for-option.patch
deleted file mode 100644
index 2e764d1..0000000
--- a/dev-util/perf/files/5.3.7-EL2-fix-3-Fix-bitmap-for-option.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 8c559e8d68630d64d932bada633705f6551427df Mon Sep 17 00:00:00 2001
-From: Suzuki K Poulose <suzuki.poulose@arm.com>
-Date: Wed, 24 Feb 2021 09:48:32 -0700
-Subject: [PATCH 2/5] perf cs-etm: Fix bitmap for option
-
-When set option with macros ETM_OPT_CTXTID and ETM_OPT_TS, it wrongly
-takes these two values (14 and 28 prespectively) as bit masks, but
-actually both are the offset for bits.  But this doesn't lead to further
-failure due to the AND logic operation will be always true for
-ETM_OPT_CTXTID / ETM_OPT_TS.
-
-This patch uses the BIT() macro for option bits, thus it can request the
-correct bitmaps for "contextid" and "timestamp" when calling
-cs_etm_set_option().
-
-Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
-Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
-Reviewed-by: Mike Leach <mike.leach@linaro.org>
-Link: https://lore.kernel.org/r/20210213113220.292229-3-leo.yan@linaro.org
-Link: https://lore.kernel.org/r/20210224164835.3497311-4-mathieu.poirier@linaro.org
-[Extract the change as a separate patch for easier review]
-Signed-off-by: Leo Yan <leo.yan@linaro.org>
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/arch/arm/util/cs-etm.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/tools/perf/arch/arm/util/cs-etm.c b/tools/perf/arch/arm/util/cs-etm.c
-index b0470f2a955a..5b2bb7fc5ee1 100644
---- a/tools/perf/arch/arm/util/cs-etm.c
-+++ b/tools/perf/arch/arm/util/cs-etm.c
-@@ -169,17 +169,17 @@ static int cs_etm_set_option(struct auxtrace_record *itr,
- 		    !cpu_map__has(online_cpus, i))
- 			continue;
- 
--		if (option & ETM_OPT_CTXTID) {
-+		if (option & BIT(ETM_OPT_CTXTID)) {
- 			err = cs_etm_set_context_id(itr, evsel, i);
- 			if (err)
- 				goto out;
- 		}
--		if (option & ETM_OPT_TS) {
-+		if (option & BIT(ETM_OPT_TS)) {
- 			err = cs_etm_set_timestamp(itr, evsel, i);
- 			if (err)
- 				goto out;
- 		}
--		if (option & ~(ETM_OPT_CTXTID | ETM_OPT_TS))
-+		if (option & ~(BIT(ETM_OPT_CTXTID) | BIT(ETM_OPT_TS)))
- 			/* Nothing else is currently supported */
- 			goto out;
- 	}
-@@ -406,7 +406,7 @@ static int cs_etm_recording_options(struct auxtrace_record *itr,
- 		evsel__set_sample_bit(cs_etm_evsel, CPU);
- 
- 		err = cs_etm_set_option(itr, cs_etm_evsel,
--					ETM_OPT_CTXTID | ETM_OPT_TS);
-+					BIT(ETM_OPT_CTXTID) | BIT(ETM_OPT_TS));
- 		if (err)
- 			goto out;
- 	}
--- 
-2.32.0.rc1.229.g3e70b5a671-goog
-
diff --git a/dev-util/perf/files/5.3.7-EL2-fix-4-Support-PID-tracing-in-config.patch b/dev-util/perf/files/5.3.7-EL2-fix-4-Support-PID-tracing-in-config.patch
deleted file mode 100644
index c5561a7..0000000
--- a/dev-util/perf/files/5.3.7-EL2-fix-4-Support-PID-tracing-in-config.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-Added local modifications to resolve conflicts from the tot changes.
-"evsel->core.attr.config" changed to "evsel->attr.config".
-
-From 30cb76aabfb4deab4ffef54882f86df319b4d862 Mon Sep 17 00:00:00 2001
-From: Suzuki K Poulose <suzuki.poulose@arm.com>
-Date: Wed, 24 Feb 2021 09:48:33 -0700
-Subject: [PATCH 3/5] perf cs-etm: Support PID tracing in config
-
-If the kernel is running at EL2, the pid of a task is exposed via VMID
-instead of the CONTEXTID.  Add support for this in the perf tool.
-
-This patch respects user setting if user has specified any configs
-from "contextid", "contextid1" or "contextid2"; otherwise, it
-dynamically sets config based on PMU format "contextid".
-
-Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
-Co-developed-by: Leo Yan <leo.yan@linaro.org>
-Signed-off-by: Leo Yan <leo.yan@linaro.org>
-Reviewed-by: Mike Leach <mike.leach@linaro.org>
-Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
-Cc: Al Grant <al.grant@arm.com>
-Link: https://lore.kernel.org/r/20210213113220.292229-4-leo.yan@linaro.org
-Link: https://lore.kernel.org/r/20210224164835.3497311-5-mathieu.poirier@linaro.org
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/include/linux/coresight-pmu.h |  3 ++
- tools/perf/arch/arm/util/cs-etm.c   | 61 +++++++++++++++++++++++------
- 2 files changed, 52 insertions(+), 12 deletions(-)
-
-diff --git a/tools/include/linux/coresight-pmu.h b/tools/include/linux/coresight-pmu.h
-index 5dc47cfdcf07..4ac5c081af93 100644
---- a/tools/include/linux/coresight-pmu.h
-+++ b/tools/include/linux/coresight-pmu.h
-@@ -20,14 +20,17 @@
-  */
- #define ETM_OPT_CYCACC		12
- #define ETM_OPT_CTXTID		14
-+#define ETM_OPT_CTXTID2		15
- #define ETM_OPT_TS		28
- #define ETM_OPT_RETSTK		29
- 
- /* ETMv4 CONFIGR programming bits for the ETM OPTs */
- #define ETM4_CFG_BIT_CYCACC	4
- #define ETM4_CFG_BIT_CTXTID	6
-+#define ETM4_CFG_BIT_VMID	7
- #define ETM4_CFG_BIT_TS		11
- #define ETM4_CFG_BIT_RETSTK	12
-+#define ETM4_CFG_BIT_VMID_OPT	15
- 
- static inline int coresight_get_trace_id(int cpu)
- {
-diff --git a/tools/perf/arch/arm/util/cs-etm.c b/tools/perf/arch/arm/util/cs-etm.c
-index 5b2bb7fc5ee1..911c7f2b3581 100644
---- a/tools/perf/arch/arm/util/cs-etm.c
-+++ b/tools/perf/arch/arm/util/cs-etm.c
-@@ -67,6 +67,7 @@ static int cs_etm_set_context_id(struct auxtrace_record *itr,
- 	char path[PATH_MAX];
- 	int err = -EINVAL;
- 	u32 val;
-+	u64 contextid;
- 
- 	ptr = container_of(itr, struct cs_etm_recording, itr);
- 	cs_etm_pmu = ptr->cs_etm_pmu;
-@@ -86,25 +87,59 @@ static int cs_etm_set_context_id(struct auxtrace_record *itr,
- 		goto out;
- 	}
- 
-+	/* User has configured for PID tracing, respects it. */
-+	contextid = evsel->attr.config &
-+			(BIT(ETM_OPT_CTXTID) | BIT(ETM_OPT_CTXTID2));
-+
- 	/*
--	 * TRCIDR2.CIDSIZE, bit [9-5], indicates whether contextID tracing
--	 * is supported:
--	 *  0b00000 Context ID tracing is not supported.
--	 *  0b00100 Maximum of 32-bit Context ID size.
--	 *  All other values are reserved.
-+	 * If user doesn't configure the contextid format, parse PMU format and
-+	 * enable PID tracing according to the "contextid" format bits:
-+	 *
-+	 *   If bit ETM_OPT_CTXTID is set, trace CONTEXTIDR_EL1;
-+	 *   If bit ETM_OPT_CTXTID2 is set, trace CONTEXTIDR_EL2.
- 	 */
--	val = BMVAL(val, 5, 9);
--	if (!val || val != 0x4) {
--		err = -EINVAL;
--		goto out;
-+	if (!contextid)
-+		contextid = perf_pmu__format_bits(&cs_etm_pmu->format,
-+						  "contextid");
-+
-+	if (contextid & BIT(ETM_OPT_CTXTID)) {
-+		/*
-+		 * TRCIDR2.CIDSIZE, bit [9-5], indicates whether contextID
-+		 * tracing is supported:
-+		 *  0b00000 Context ID tracing is not supported.
-+		 *  0b00100 Maximum of 32-bit Context ID size.
-+		 *  All other values are reserved.
-+		 */
-+		val = BMVAL(val, 5, 9);
-+		if (!val || val != 0x4) {
-+			pr_err("%s: CONTEXTIDR_EL1 isn't supported\n",
-+			       CORESIGHT_ETM_PMU_NAME);
-+			err = -EINVAL;
-+			goto out;
-+		}
-+	}
-+
-+	if (contextid & BIT(ETM_OPT_CTXTID2)) {
-+		/*
-+		 * TRCIDR2.VMIDOPT[30:29] != 0 and
-+		 * TRCIDR2.VMIDSIZE[14:10] == 0b00100 (32bit virtual contextid)
-+		 * We can't support CONTEXTIDR in VMID if the size of the
-+		 * virtual context id is < 32bit.
-+		 * Any value of VMIDSIZE >= 4 (i.e, > 32bit) is fine for us.
-+		 */
-+		if (!BMVAL(val, 29, 30) || BMVAL(val, 10, 14) < 4) {
-+			pr_err("%s: CONTEXTIDR_EL2 isn't supported\n",
-+			       CORESIGHT_ETM_PMU_NAME);
-+			err = -EINVAL;
-+			goto out;
-+		}
- 	}
- 
- 	/* All good, let the kernel know */
--	evsel->attr.config |= (1 << ETM_OPT_CTXTID);
-+	evsel->attr.config |= contextid;
- 	err = 0;
- 
- out:
--
- 	return err;
- }
- 
-@@ -485,7 +520,9 @@ static u64 cs_etmv4_get_config(struct auxtrace_record *itr)
- 		config |= BIT(ETM4_CFG_BIT_TS);
- 	if (config_opts & BIT(ETM_OPT_RETSTK))
- 		config |= BIT(ETM4_CFG_BIT_RETSTK);
--
-+	if (config_opts & BIT(ETM_OPT_CTXTID2))
-+		config |= BIT(ETM4_CFG_BIT_VMID) |
-+			  BIT(ETM4_CFG_BIT_VMID_OPT);
- 	return config;
- }
- 
--- 
-2.32.0.rc1.229.g3e70b5a671-goog
-
diff --git a/dev-util/perf/files/5.3.7-EL2-fix-5-Add-cs-etm-helper.patch b/dev-util/perf/files/5.3.7-EL2-fix-5-Add-cs-etm-helper.patch
deleted file mode 100644
index f4f2611..0000000
--- a/dev-util/perf/files/5.3.7-EL2-fix-5-Add-cs-etm-helper.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From 47f0d94c203751ddcfdb296fcf15df20fffcef0c Mon Sep 17 00:00:00 2001
-From: Leo Yan <leo.yan@linaro.org>
-Date: Wed, 24 Feb 2021 09:48:34 -0700
-Subject: [PATCH 4/5] perf cs-etm: Add helper cs_etm__get_pid_fmt()
-
-This patch adds helper function cs_etm__get_pid_fmt(), by passing
-parameter "traceID", it returns the PID format.
-
-Signed-off-by: Leo Yan <leo.yan@linaro.org>
-Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
-Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
-Cc: Mike Leach <mike.leach@linaro.org>
-Link: https://lore.kernel.org/r/20210213113220.292229-5-leo.yan@linaro.org
-Link: https://lore.kernel.org/r/20210224164835.3497311-6-mathieu.poirier@linaro.org
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/util/cs-etm.c | 42 ++++++++++++++++++++++++++++++++++++++++
- tools/perf/util/cs-etm.h |  1 +
- 2 files changed, 43 insertions(+)
-
-diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
-index ee32d023e9bd..9ac80fc23c58 100644
---- a/tools/perf/util/cs-etm.c
-+++ b/tools/perf/util/cs-etm.c
-@@ -7,6 +7,7 @@
-  */
- 
- #include <linux/bitops.h>
-+#include <linux/coresight-pmu.h>
- #include <linux/err.h>
- #include <linux/kernel.h>
- #include <linux/log2.h>
-@@ -156,6 +157,47 @@ int cs_etm__get_cpu(u8 trace_chan_id, int *cpu)
- 	return 0;
- }
- 
-+/*
-+ * The returned PID format is presented by two bits:
-+ *
-+ *   Bit ETM_OPT_CTXTID: CONTEXTIDR or CONTEXTIDR_EL1 is traced;
-+ *   Bit ETM_OPT_CTXTID2: CONTEXTIDR_EL2 is traced.
-+ *
-+ * It's possible that the two bits ETM_OPT_CTXTID and ETM_OPT_CTXTID2
-+ * are enabled at the same time when the session runs on an EL2 kernel.
-+ * This means the CONTEXTIDR_EL1 and CONTEXTIDR_EL2 both will be
-+ * recorded in the trace data, the tool will selectively use
-+ * CONTEXTIDR_EL2 as PID.
-+ */
-+int cs_etm__get_pid_fmt(u8 trace_chan_id, u64 *pid_fmt)
-+{
-+	struct int_node *inode;
-+	u64 *metadata, val;
-+
-+	inode = intlist__find(traceid_list, trace_chan_id);
-+	if (!inode)
-+		return -EINVAL;
-+
-+	metadata = inode->priv;
-+
-+	if (metadata[CS_ETM_MAGIC] == __perf_cs_etmv3_magic) {
-+		val = metadata[CS_ETM_ETMCR];
-+		/* CONTEXTIDR is traced */
-+		if (val & BIT(ETM_OPT_CTXTID))
-+			*pid_fmt = BIT(ETM_OPT_CTXTID);
-+	} else {
-+		val = metadata[CS_ETMV4_TRCCONFIGR];
-+		/* CONTEXTIDR_EL2 is traced */
-+		if (val & (BIT(ETM4_CFG_BIT_VMID) | BIT(ETM4_CFG_BIT_VMID_OPT)))
-+			*pid_fmt = BIT(ETM_OPT_CTXTID2);
-+		/* CONTEXTIDR_EL1 is traced */
-+		else if (val & BIT(ETM4_CFG_BIT_CTXTID))
-+			*pid_fmt = BIT(ETM_OPT_CTXTID);
-+	}
-+
-+	return 0;
-+}
-+
- void cs_etm__etmq_set_traceid_queue_timestamp(struct cs_etm_queue *etmq,
- 					      u8 trace_chan_id)
- {
-diff --git a/tools/perf/util/cs-etm.h b/tools/perf/util/cs-etm.h
-index e153d02df0de..85ed11e9d2a7 100644
---- a/tools/perf/util/cs-etm.h
-+++ b/tools/perf/util/cs-etm.h
-@@ -193,6 +193,7 @@ struct cs_etm_packet_queue {
- int cs_etm__process_auxtrace_info(union perf_event *event,
- 				  struct perf_session *session);
- int cs_etm__get_cpu(u8 trace_chan_id, int *cpu);
-+int cs_etm__get_pid_fmt(u8 trace_chan_id, u64 *pid_fmt);
- int cs_etm__etmq_set_tid(struct cs_etm_queue *etmq,
- 			 pid_t tid, u8 trace_chan_id);
- bool cs_etm__etmq_is_timeless(struct cs_etm_queue *etmq);
--- 
-2.32.0.rc1.229.g3e70b5a671-goog
-
diff --git a/dev-util/perf/files/5.3.7-EL2-fix-6-Detect-pid-in-VMID.patch b/dev-util/perf/files/5.3.7-EL2-fix-6-Detect-pid-in-VMID.patch
deleted file mode 100644
index 4f9cc0a..0000000
--- a/dev-util/perf/files/5.3.7-EL2-fix-6-Detect-pid-in-VMID.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 8e1488a46dcf73b1f1916d95421e303dbf773fb4 Mon Sep 17 00:00:00 2001
-From: Suzuki K Poulose <suzuki.poulose@arm.com>
-Date: Wed, 24 Feb 2021 09:48:35 -0700
-Subject: [PATCH 5/5] perf cs-etm: Detect pid in VMID for kernel running at EL2
-
-The PID of the task could be traced as VMID when the kernel is running
-at EL2.  Teach the decoder to look for VMID when the CONTEXTIDR (Arm32)
-or CONTEXTIDR_EL1 (Arm64) is invalid but we have a valid VMID.
-
-Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
-Co-developed-by: Leo Yan <leo.yan@linaro.org>
-Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
-Cc: Al Grant <al.grant@arm.com>
-Cc: Mike Leach <mike.leach@linaro.org>
-Link: https://lore.kernel.org/r/20210213113220.292229-6-leo.yan@linaro.org
-Link: https://lore.kernel.org/r/20210224164835.3497311-7-mathieu.poirier@linaro.org
-Signed-off-by: Leo Yan <leo.yan@linaro.org>
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- .../perf/util/cs-etm-decoder/cs-etm-decoder.c | 38 +++++++++++++++++--
- 1 file changed, 34 insertions(+), 4 deletions(-)
-
-diff --git a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
-index 3f4bc4050477..4052c9ce6e2f 100644
---- a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
-+++ b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
-@@ -6,6 +6,7 @@
-  * Author: Mathieu Poirier <mathieu.poirier@linaro.org>
-  */
- 
-+#include <linux/coresight-pmu.h>
- #include <linux/err.h>
- #include <linux/list.h>
- #include <linux/zalloc.h>
-@@ -491,13 +492,42 @@ cs_etm_decoder__set_tid(struct cs_etm_queue *etmq,
- 			const ocsd_generic_trace_elem *elem,
- 			const uint8_t trace_chan_id)
- {
--	pid_t tid;
-+	pid_t tid = -1;
-+	static u64 pid_fmt;
-+	int ret;
- 
--	/* Ignore PE_CONTEXT packets that don't have a valid contextID */
--	if (!elem->context.ctxt_id_valid)
-+	/*
-+	 * As all the ETMs run at the same exception level, the system should
-+	 * have the same PID format crossing CPUs.  So cache the PID format
-+	 * and reuse it for sequential decoding.
-+	 */
-+	if (!pid_fmt) {
-+		ret = cs_etm__get_pid_fmt(trace_chan_id, &pid_fmt);
-+		if (ret)
-+			return OCSD_RESP_FATAL_SYS_ERR;
-+	}
-+
-+	/*
-+	 * Process the PE_CONTEXT packets if we have a valid contextID or VMID.
-+	 * If the kernel is running at EL2, the PID is traced in CONTEXTIDR_EL2
-+	 * as VMID, Bit ETM_OPT_CTXTID2 is set in this case.
-+	 */
-+	switch (pid_fmt) {
-+	case BIT(ETM_OPT_CTXTID):
-+		if (elem->context.ctxt_id_valid)
-+			tid = elem->context.context_id;
-+		break;
-+	case BIT(ETM_OPT_CTXTID2):
-+		if (elem->context.vmid_valid)
-+			tid = elem->context.vmid;
-+		break;
-+	default:
-+		break;
-+	}
-+
-+	if (tid == -1)
- 		return OCSD_RESP_CONT;
- 
--	tid =  elem->context.context_id;
- 	if (cs_etm__etmq_set_tid(etmq, tid, trace_chan_id))
- 		return OCSD_RESP_FATAL_SYS_ERR;
- 
--- 
-2.32.0.rc1.229.g3e70b5a671-goog
-
diff --git a/dev-util/perf/files/5.3.7-Fix-configure-tests.patch b/dev-util/perf/files/5.3.7-Fix-configure-tests.patch
deleted file mode 100644
index 6df2c4d..0000000
--- a/dev-util/perf/files/5.3.7-Fix-configure-tests.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-commit ce27c888c66dbf8e0046c322bbc2b883c3398d92
-Author: George Burgess IV <gbiv@google.com>
-Date:   Sat Apr 18 16:02:56 2020 +1000
-
-    tools/build: tweak unused value workaround
-    
-    Clang has -Wself-assign enabled by default under -Wall, which always gets
-    -Werror'ed on this file, causing sync-compare-and-swap to be disabled by
-    default.  The generally-accepted way to spell "this value is intentionally
-    unused," is casting it to `void`.  This is accepted by both GCC and Clang
-    with -Wall enabled: https://godbolt.org/z/qqZ9r3
-    
-    Link: http://lkml.kernel.org/r/20200414195638.156123-1-gbiv@google.com
-    Signed-off-by: George Burgess IV <gbiv@google.com>
-    Cc: Nick Desaulniers <ndesaulniers@google.com>
-    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-    Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
-
-diff --git a/tools/build/feature/test-sync-compare-and-swap.c b/tools/build/feature/test-sync-compare-and-swap.c
-index 1e38d1930a97..3bc6b0768a53 100644
---- a/tools/build/feature/test-sync-compare-and-swap.c
-+++ b/tools/build/feature/test-sync-compare-and-swap.c
-@@ -7,7 +7,7 @@ int main(int argc, char *argv[])
- {
- 	uint64_t old, new = argc;
- 
--	argv = argv;
-+	(void)argv;
- 	do {
- 		old = __sync_val_compare_and_swap(&x, 0, 0);
- 	} while (!__sync_bool_compare_and_swap(&x, old, new));
diff --git a/dev-util/perf/files/5.3.7-Fix-exit-on-signal.patch b/dev-util/perf/files/5.3.7-Fix-exit-on-signal.patch
deleted file mode 100644
index a69ed9a..0000000
--- a/dev-util/perf/files/5.3.7-Fix-exit-on-signal.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From d967e3137724fd5993dc6fee8f881e7bfbea22ca Mon Sep 17 00:00:00 2001
-From: Anand K Mistry <amistry@google.com>
-Date: Wed, 13 May 2020 12:20:23 +1000
-Subject: perf record: Use an eventfd to wakeup when done
-
-The setting and checking of 'done' contains a rare race where the signal
-handler setting 'done' is run after checking to break the loop, but
-before waiting in evlist__poll(). In this case, the main loop won't wake
-up until either another signal is sent, or the perf data fd causes a
-wake up.
-
-The following simple script can trigger this condition (but you might
-need to run it for several hours):
-
-for ((i = 0; i >= 0; i++)) ; do
-  echo "Loop $i"
-  delay=$(echo "scale=4; 0.1 * $RANDOM/32768" | bc)
-  ./perf record -- sleep 30000000 >/dev/null&
-  pid=$!
-  sleep $delay
-  kill -TERM $pid
-  echo "PID $pid"
-  wait $pid
-done
-
-At some point, the loop will stall. Adding logging, even though perf has
-received the SIGTERM and set 'done = 1', perf will remain sleeping until
-a second signal is sent.
-
-Signed-off-by: Anand K Mistry <amistry@google.com>
-Acked-by: Jiri Olsa <jolsa@redhat.com>
-Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Link: http://lore.kernel.org/lkml/20200513122012.v3.1.I4d7421c6bbb1f83ea58419082481082e19097841@changeid
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/builtin-record.c | 29 +++++++++++++++++++++++++++++
- 1 file changed, 29 insertions(+)
-
-diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
-index 4d4502b7fea0..47f5fec7fb45 100644
---- a/tools/perf/builtin-record.c
-+++ b/tools/perf/builtin-record.c
-@@ -56,6 +56,7 @@
- #include <unistd.h>
- #include <sched.h>
- #include <signal.h>
-+#include <sys/eventfd.h>
- #include <sys/mman.h>
- #include <sys/wait.h>
- #include <sys/types.h>
-@@ -538,15 +539,28 @@ static int record__pushfn(struct mmap *map, void *to, void *bf, size_t size)
- 
- static volatile int signr = -1;
- static volatile int child_finished;
-+static int done_fd = -1;
- 
- static void sig_handler(int sig)
- {
-+	u64 tmp = 1;
- 	if (sig == SIGCHLD)
- 		child_finished = 1;
- 	else
- 		signr = sig;
- 
- 	done = 1;
-+
-+	/*
-+	 * It is possible for this signal handler to run after done is checked
-+	 * in the main loop, but before the perf counter fds are polled. If this
-+	 * happens, the poll() will continue to wait even though done is set,
-+	 * and will only break out if either another signal is received, or the
-+	 * counters are ready for read. To ensure the poll() doesn't sleep when
-+	 * done is set, use an eventfd (done_fd) to wake up the poll().
-+	 */
-+	if (write(done_fd, &tmp, sizeof(tmp)) < 0)
-+		pr_err("failed to signal wakeup fd, error: %m\n");
- }
- 
- static void sigsegv_handler(int sig)
-@@ -1548,6 +1562,19 @@ static int __cmd_record(struct record *rec, int argc, const char **argv)
- 		return -1;
- 	}
- 
-+	done_fd = eventfd(0, EFD_NONBLOCK);
-+	if (done_fd < 0) {
-+		pr_err("Failed to create wakeup eventfd, error: %m\n");
-+		status = -1;
-+		goto out_delete_session;
-+	}
-+	err = perf_evlist__add_pollfd(rec->evlist, done_fd);
-+	if (err < 0) {
-+		pr_err("Failed to add wakeup eventfd to poll list\n");
-+		status = err;
-+		goto out_delete_session;
-+	}
-+
- 	session->header.env.comp_type  = PERF_COMP_ZSTD;
- 	session->header.env.comp_level = rec->opts.comp_level;
- 
-@@ -1905,6 +1932,8 @@ out_child:
- 	}
- 
- out_delete_session:
-+	if (done_fd >= 0)
-+		close(done_fd);
- 	zstd_fini(&session->zstd_data);
- 	perf_session__delete(session);
- 
--- 
-cgit 1.2.3-1.el7
-
diff --git a/dev-util/perf/files/5.3.7-Fix-file-corruption-due-to-event-deletion.patch b/dev-util/perf/files/5.3.7-Fix-file-corruption-due-to-event-deletion.patch
deleted file mode 100644
index 5cc1343..0000000
--- a/dev-util/perf/files/5.3.7-Fix-file-corruption-due-to-event-deletion.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-The patch has minor conflict resolutions due to the missing branch stack
-for regular events feature and name changes in ToT.
-Particularly perf_evsel and perf_evlist were renamed to evsel and evlist.
-
-From 1c756cd429d8f3da33d31f2a970284b9d5260534 Mon Sep 17 00:00:00 2001
-From: Al Grant <al.grant@foss.arm.com>
-Date: Fri, 13 Nov 2020 20:38:26 +0000
-Subject: [PATCH] perf inject: Fix file corruption due to event deletion
-
-"perf inject" can create corrupt files when synthesizing sample events from AUX
-data. This happens when in the input file, the first event (for the AUX data)
-has a different sample_type from the second event (generally dummy).
-
-Specifically, they differ in the bits that indicate the standard fields
-appended to perf records in the mmap buffer. "perf inject" deletes the first
-event and moves up the second event to first position.
-
-The problem is with the synthetic PERF_RECORD_MMAP (etc.) events created
-by "perf record".
-
-Since these are synthetic versions of events which are normally produced
-by the kernel, they have to have the standard fields appended as
-described by sample_type.
-
-"perf record" fills these in with zeroes, including the IDENTIFIER
-field; perf readers interpret records with zero IDENTIFIER using the
-descriptor for the first event in the file.
-
-Since "perf inject" changes the first event, these synthetic records are
-then processed with the wrong value of sample_type, and the perf reader
-reads bad data, reports on incorrect length records etc.
-
-Mismatching sample_types are seen with "perf record -e cs_etm//", where the AUX
-event has TID|TIME|CPU|IDENTIFIER and the dummy event has TID|TIME|IDENTIFIER.
-
-Perhaps they could be the same, but it isn't normally a problem if they aren't
-- perf has no problems reading the file.
-
-The sample_types have to agree on the position of IDENTIFIER, because
-that's how perf finds the right event descriptor in the first place, but
-they don't normally have to agree on other fields, and perf doesn't
-check that they do.
-
-The problem is specific to the way "perf inject" reorganizes the events
-and the way synthetic MMAP events are recorded with a zero identifier. A
-simple solution is to stop "perf inject" deleting the tracing event.
-
-Committer testing
-
-Removed the now unused 'evsel' variable, update the comment about the
-evsel removal not being performed anymore, and apply the patch manually
-as it failed with this warning:
-
-  warning: Patch sent with format=flowed; space at the end of lines might be lost.
-
-Testing it with:
-
-  $ perf bench internals inject-build-id
-  # Running 'internals/inject-build-id' benchmark:
-    Average build-id injection took: 8.543 msec (+- 0.130 msec)
-    Average time per event: 0.838 usec (+- 0.013 usec)
-    Average memory usage: 12717 KB (+- 9 KB)
-    Average build-id-all injection took: 5.710 msec (+- 0.058 msec)
-    Average time per event: 0.560 usec (+- 0.006 usec)
-    Average memory usage: 12079 KB (+- 7 KB)
-  $
-
-Signed-off-by: Al Grant <al.grant@arm.com>
-Acked-by: Adrian Hunter <adrian.hunter@intel.com>
-Acked-by: Namhyung Kim <namhyung@kernel.org>
-Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
-Cc: Jiri Olsa <jolsa@redhat.com>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Peter Zijlstra <peterz@infradead.org>
-LPU-Reference: b9cf5611-daae-2390-3439-6617f8f0a34b@foss.arm.com
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/builtin-inject.c | 12 +-----------
- 1 file changed, 1 insertion(+), 11 deletions(-)
-
-diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
-index 452a75fe68e5..0462dc8db2e3 100644
---- a/tools/perf/builtin-inject.c
-+++ b/tools/perf/builtin-inject.c
-@@ -779,27 +779,14 @@ static int __cmd_inject(struct perf_inject *inject)
- 			dsos__hit_all(session);
- 		/*
- 		 * The AUX areas have been removed and replaced with
--		 * synthesized hardware events, so clear the feature flag and
--		 * remove the evsel.
-+		 * synthesized hardware events, so clear the feature flag.
- 		 */
- 		if (inject->itrace_synth_opts.set) {
--			struct perf_evsel *evsel;
--
- 			perf_header__clear_feat(&session->header,
- 						HEADER_AUXTRACE);
- 			if (inject->itrace_synth_opts.last_branch)
- 				perf_header__set_feat(&session->header,
- 						      HEADER_BRANCH_STACK);
--			evsel = perf_evlist__id2evsel_strict(session->evlist,
--							     inject->aux_id);
--			if (evsel) {
--				pr_debug("Deleting %s\n",
--					 perf_evsel__name(evsel));
--				perf_evlist__remove(session->evlist, evsel);
--				perf_evsel__delete(evsel);
--			}
--			if (inject->strip)
--				strip_fini(inject);
- 		}
- 		session->header.data_offset = output_data_offset;
- 		session->header.data_size = inject->bytes_written;
--- 
-2.30.0.478.g8a0d178c01-goog
-
diff --git a/dev-util/perf/files/5.3.7-Fix-hugepage-text.patch b/dev-util/perf/files/5.3.7-Fix-hugepage-text.patch
deleted file mode 100644
index cf4c40b..0000000
--- a/dev-util/perf/files/5.3.7-Fix-hugepage-text.patch
+++ /dev/null
@@ -1,169 +0,0 @@
-diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
-index fc690fecbfd66..1fe8728cf5349 100644
---- a/tools/perf/util/event.c
-+++ b/tools/perf/util/event.c
-@@ -316,6 +316,107 @@ static int perf_event__synthesize_fork(struct perf_tool *tool,
- 	return 0;
- }
- 
-+/*
-+ * We use transparent hugepage technique to map hot text section
-+ * to impove the performance. After the mapping, the map of chrome
-+ * looks like below
-+ * 7f9ba2626000-7f9ba2800000 r-xp 00000000 fe:00 49961 /opt/google/chrome/chrome
-+ * 7f9ba2800000-7f9ba4600000 r-xp 00000000 00:00 0
-+ * 7f9ba4600000-7f9ba8ff9000 r-xp 01fda000 fe:00 49961 /opt/google/chrome/chrome
-+ *
-+ * Since the hugepage needs to be 2MB aligned, the first row is the small
-+ * portion of chrome text section that is not 2MB aligned. The second row is
-+ * the hot text section that mapped to the transparent hugepages. So there is
-+ * no exename, offset on it. The third row is the remaining of the chrome text
-+ * section. The goal of this function is to merge the three rows to make it a whole
-+ * chrome binary.
-+ *
-+ * The idea is if whiling scanning the /proc/{pid}/maps, if
-+ * we see a section that it has 'x' attribute, we look ahead two sections.
-+ * For the second section, we check whether the size is mulitple of 2MB and the
-+ * starting address is 2MB aligned and it does not have exename and it has
-+ * 'x' attribute.
-+ * For the third section, we check whether it has 'x' attribute and the execname is
-+ * the same as the first section and the offset is the sum of the size of the first
-+ * two sections.
-+ *
-+ * If all the conditons above are met, we can infer these three sections are actually
-+ * from a single binary and we need to merge them.
-+ */
-+static int perf_event__merge_mmap_events_for_hugepage(char * second_bf,
-+							char * third_bf,
-+							union perf_event * event) {
-+	char prot[5];
-+	unsigned int ino;
-+	ssize_t n;
-+	char execname[PATH_MAX];
-+	union perf_event second_event, third_event;
-+	const int hugepage_size = 1<<21;
-+
-+	if (second_bf[0] == '\0' || third_bf[0] == '\0')
-+		return 0;
-+
-+	strcpy(execname, "");
-+	/* 00400000-0040c000 r-xp 00000000 fd:01 41038  /bin/cat */
-+	n = sscanf(second_bf, "%"PRIx64"-%"PRIx64" %4s %"PRIx64" %x:%x %u %[^\n]\n",
-+			&second_event.mmap2.start, &second_event.mmap2.len, prot,
-+			&second_event.mmap2.pgoff, &second_event.mmap2.maj,
-+			&second_event.mmap2.min,
-+			&ino, execname);
-+	if (n < 7)
-+		return 0;
-+	second_event.mmap2.ino = (u64)ino;
-+
-+	if (prot[2] != 'x')
-+	   	return 0;
-+	// The second event should be anonymous region
-+	if (strcmp(execname, ""))
-+	   	return 0;
-+	if (second_event.mmap2.maj || second_event.mmap2.min ||
-+	    second_event.mmap2.ino)
-+	        return 0;
-+	if (second_event.mmap2.start % hugepage_size ||
-+		second_event.mmap2.len % hugepage_size)
-+		return 0;
-+
-+	second_event.mmap2.len -= second_event.mmap2.start;
-+
-+	strcpy(execname, "");
-+	n = sscanf(third_bf, "%"PRIx64"-%"PRIx64" %4s %"PRIx64" %x:%x %u %[^\n]\n",
-+			&third_event.mmap2.start, &third_event.mmap2.len, prot,
-+			&third_event.mmap2.pgoff, &third_event.mmap2.maj,
-+			&third_event.mmap2.min,
-+			&ino, execname);
-+	if (n < 7)
-+		return 0;
-+	third_event.mmap2.ino = (u64)ino;
-+
-+	if (prot[2] != 'x')
-+		return 0;
-+	if (strncmp(execname, event->mmap2.filename, PATH_MAX))
-+		return 0;
-+
-+       third_event.mmap2.len -= third_event.mmap2.start;
-+
-+	const struct mmap2_event* first_mmap = &event->mmap2;
-+	const struct mmap2_event* second_mmap = &second_event.mmap2;
-+	const struct mmap2_event* third_mmap = &third_event.mmap2;
-+	// Check contiguous virtual memory.
-+	if (first_mmap->start + first_mmap->len != second_mmap->start ||
-+	    second_mmap->start + second_mmap->len != third_mmap->start)
-+	    	return 0;
-+	// Check non-anonymous regions backed by the same file.
-+	if (first_mmap->maj != third_mmap->maj || first_mmap->min != third_mmap->min ||
-+	    first_mmap->ino != third_mmap->ino)
-+	    	return 0;
-+	// Check non-anonymous regions contiguous within that file.
-+	if (first_mmap->pgoff + first_mmap->len + second_mmap->len != third_mmap->pgoff)
-+  	   	return 0;
-+
-+	event->mmap2.len += second_mmap->len + third_mmap->len;
-+	return 1;
-+}
-+
- int perf_event__synthesize_mmap_events(struct perf_tool *tool,
- 				       union perf_event *event,
- 				       pid_t pid, pid_t tgid,
-@@ -332,6 +406,9 @@ int perf_event__synthesize_mmap_events(struct perf_tool *tool,
- 	int rc = 0;
- 	const char *hugetlbfs_mnt = hugetlbfs__mountpoint();
- 	int hugetlbfs_mnt_len = hugetlbfs_mnt ? strlen(hugetlbfs_mnt) : 0;
-+	char second_bf[BUFSIZ];
-+	char third_bf[BUFSIZ];
-+	int merged = 0;
- 
- 	if (machine__is_default_guest(machine))
- 		return 0;
-@@ -348,6 +425,11 @@ int perf_event__synthesize_mmap_events(struct perf_tool *tool,
- 		return -1;
- 	}
- 
-+	if (fgets(second_bf, sizeof(second_bf), fp) == NULL)
-+		second_bf[0] = '\0';
-+	else if (fgets(third_bf, sizeof(third_bf), fp) == NULL)
-+		third_bf[0] = '\0';
-+
- 	event->header.type = PERF_RECORD_MMAP2;
- 	t = rdclock();
- 
-@@ -360,7 +442,22 @@ int perf_event__synthesize_mmap_events(struct perf_tool *tool,
- 		size_t size;
- 		ssize_t n;
- 
--		if (fgets(bf, sizeof(bf), fp) == NULL)
-+		if (merged) {
-+			merged = 0;
-+			if (fgets(bf, sizeof(bf), fp) == NULL)
-+				bf[0] = '\0';
-+			else if (fgets(second_bf, sizeof(second_bf), fp) == NULL)
-+				second_bf[0] = '\0';
-+			else if (fgets(third_bf, sizeof(third_bf), fp) == NULL)
-+				third_bf[0] = '\0';
-+		} else {
-+			strncpy(bf, second_bf, sizeof(second_bf));
-+			strncpy(second_bf, third_bf, sizeof(third_bf));
-+			if (fgets(third_bf, sizeof(third_bf), fp) == NULL)
-+				third_bf[0] = '\0';
-+		}
-+
-+		if (bf[0] == '\0')
- 			break;
- 
- 		if ((rdclock() - t) > timeout) {
-@@ -444,6 +541,10 @@ int perf_event__synthesize_mmap_events(struct perf_tool *tool,
- 		event->mmap2.pid = tgid;
- 		event->mmap2.tid = pid;
- 
-+		if (strcmp(execname, anonstr) && prot[2] == 'x')
-+			merged = perf_event__merge_mmap_events_for_hugepage(
-+				second_bf, third_bf, event);
-+
- 		if (perf_tool__process_synth_event(tool, event, machine, process) != 0) {
- 			rc = -1;
- 			break;
diff --git a/dev-util/perf/files/5.3.7-Fix-libbfd-api.patch b/dev-util/perf/files/5.3.7-Fix-libbfd-api.patch
deleted file mode 100644
index 7d6744e9..0000000
--- a/dev-util/perf/files/5.3.7-Fix-libbfd-api.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-commit f2a9b00a68c5343f28a07ee25827e0143567759c
-Author: Changbin Du <changbin.du@intel.com>
-Date:   Tue Jan 28 23:29:38 2020 +0800
-
-    perf: Make perf able to build with latest libbfd
-    
-    commit 0ada120c883d4f1f6aafd01cf0fbb10d8bbba015 upstream.
-    
-    libbfd has changed the bfd_section_* macros to inline functions
-    bfd_section_<field> since 2019-09-18. See below two commits:
-      o http://www.sourceware.org/ml/gdb-cvs/2019-09/msg00064.html
-      o https://www.sourceware.org/ml/gdb-cvs/2019-09/msg00072.html
-    
-    This fix make perf able to build with both old and new libbfd.
-    
-    Signed-off-by: Changbin Du <changbin.du@gmail.com>
-    Acked-by: Jiri Olsa <jolsa@redhat.com>
-    Cc: Peter Zijlstra <peterz@infradead.org>
-    Link: http://lore.kernel.org/lkml/20200128152938.31413-1-changbin.du@gmail.com
-    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-    Cc: Marek Vasut <marex@denx.de>
-    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
-diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c
-index 6ccf6f6d09df..5b7d6c16d33f 100644
---- a/tools/perf/util/srcline.c
-+++ b/tools/perf/util/srcline.c
-@@ -193,16 +193,30 @@ static void find_address_in_section(bfd *abfd, asection *section, void *data)
- 	bfd_vma pc, vma;
- 	bfd_size_type size;
- 	struct a2l_data *a2l = data;
-+	flagword flags;
- 
- 	if (a2l->found)
- 		return;
- 
--	if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0)
-+#ifdef bfd_get_section_flags
-+	flags = bfd_get_section_flags(abfd, section);
-+#else
-+	flags = bfd_section_flags(section);
-+#endif
-+	if ((flags & SEC_ALLOC) == 0)
- 		return;
- 
- 	pc = a2l->addr;
-+#ifdef bfd_get_section_vma
- 	vma = bfd_get_section_vma(abfd, section);
-+#else
-+	vma = bfd_section_vma(section);
-+#endif
-+#ifdef bfd_get_section_size
- 	size = bfd_get_section_size(section);
-+#else
-+	size = bfd_section_size(section);
-+#endif
- 
- 	if (pc < vma || pc >= vma + size)
- 		return;
diff --git a/dev-util/perf/files/5.3.7-Fix-nm-binutils-2.35.patch b/dev-util/perf/files/5.3.7-Fix-nm-binutils-2.35.patch
deleted file mode 100644
index 4f5ac43..0000000
--- a/dev-util/perf/files/5.3.7-Fix-nm-binutils-2.35.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 39efdd94e314336f4acbac4c07e0f37bdc3bef71 Mon Sep 17 00:00:00 2001
-From: Ben Hutchings <ben@decadent.org.uk>
-Date: Sat, 25 Jul 2020 02:06:23 +0100
-Subject: [PATCH] libtraceevent: Fix build with binutils 2.35
-
-In binutils 2.35, 'nm -D' changed to show symbol versions along with
-symbol names, with the usual @@ separator.  When generating
-libtraceevent-dynamic-list we need just the names, so strip off the
-version suffix if present.
-
-Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-Tested-by: Salvatore Bonaccorso <carnil@debian.org>
-Reviewed-by: Steven Rostedt <rostedt@goodmis.org>
-Cc: linux-trace-devel@vger.kernel.org
-Cc: stable@vger.kernel.org
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/lib/traceevent/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tools/lib/traceevent/Makefile b/tools/lib/traceevent/Makefile
-index 349bb81482ab..680d883efe05 100644
---- a/tools/lib/traceevent/Makefile
-+++ b/tools/lib/traceevent/Makefile
-@@ -269,7 +269,7 @@ define do_generate_dynamic_list_file
- 	xargs echo "U w W" | tr 'w ' 'W\n' | sort -u | xargs echo`;\
- 	if [ "$$symbol_type" = "U W" ];then				\
- 		(echo '{';						\
--		$(NM) -u -D $1 | awk 'NF>1 {print "\t"$$2";"}' | sort -u;\
-+		$(NM) -u -D $1 | awk 'NF>1 {sub("@.*", "", $$2); print "\t"$$2";"}' | sort -u;\
- 		echo '};';						\
- 		) > $2;							\
- 	else								\
--- 
-2.30.2
-
diff --git a/dev-util/perf/files/5.3.7-Fix-perf-bench.patch b/dev-util/perf/files/5.3.7-Fix-perf-bench.patch
deleted file mode 100644
index 12abc9c..0000000
--- a/dev-util/perf/files/5.3.7-Fix-perf-bench.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-From db1a8b97a0a36155171dbb805fbcb276e07559f6 Mon Sep 17 00:00:00 2001
-From: Arnaldo Carvalho de Melo <acme@redhat.com>
-Date: Mon, 9 Nov 2020 13:59:15 -0300
-Subject: tools arch: Update arch/x86/lib/mem{cpy,set}_64.S copies used in
- 'perf bench mem memcpy'
-
-To bring in the change made in this cset:
-
-  4d6ffa27b8e5116c ("x86/lib: Change .weak to SYM_FUNC_START_WEAK for arch/x86/lib/mem*_64.S")
-  6dcc5627f6aec4cb ("x86/asm: Change all ENTRY+ENDPROC to SYM_FUNC_*")
-
-I needed to define SYM_FUNC_START_LOCAL() as SYM_L_GLOBAL as
-mem{cpy,set}_{orig,erms} are used by 'perf bench'.
-
-This silences these perf tools build warnings:
-
-  Warning: Kernel ABI header at 'tools/arch/x86/lib/memcpy_64.S' differs from latest version at 'arch/x86/lib/memcpy_64.S'
-  diff -u tools/arch/x86/lib/memcpy_64.S arch/x86/lib/memcpy_64.S
-  Warning: Kernel ABI header at 'tools/arch/x86/lib/memset_64.S' differs from latest version at 'arch/x86/lib/memset_64.S'
-  diff -u tools/arch/x86/lib/memset_64.S arch/x86/lib/memset_64.S
-
-Cc: Adrian Hunter <adrian.hunter@intel.com>
-Cc: Borislav Petkov <bp@suse.de>
-Cc: Fangrui Song <maskray@google.com>
-Cc: Ian Rogers <irogers@google.com>
-Cc: Jiri Olsa <jolsa@kernel.org>
-Cc: Jiri Slaby <jirislaby@kernel.org>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/arch/x86/lib/memcpy_64.S           |  8 +++-----
- tools/arch/x86/lib/memset_64.S           | 11 ++++++-----
- tools/perf/bench/mem-memcpy-x86-64-asm.S |  3 +++
- tools/perf/bench/mem-memset-x86-64-asm.S |  3 +++
- tools/perf/util/include/linux/linkage.h  |  7 +++++++
- 5 files changed, 22 insertions(+), 10 deletions(-)
-
-diff --git a/tools/arch/x86/lib/memcpy_64.S b/tools/arch/x86/lib/memcpy_64.S
-index 0b5b8ae56bd91..1e299ac73c869 100644
---- a/tools/arch/x86/lib/memcpy_64.S
-+++ b/tools/arch/x86/lib/memcpy_64.S
-@@ -16,8 +16,6 @@
-  * to a jmp to memcpy_erms which does the REP; MOVSB mem copy.
-  */
- 
--.weak memcpy
--
- /*
-  * memcpy - Copy a memory block.
-  *
-@@ -30,7 +28,7 @@
-  * rax original destination
-  */
- SYM_FUNC_START_ALIAS(__memcpy)
--SYM_FUNC_START_LOCAL(memcpy)
-+SYM_FUNC_START_WEAK(memcpy)
- 	ALTERNATIVE_2 "jmp memcpy_orig", "", X86_FEATURE_REP_GOOD, \
- 		      "jmp memcpy_erms", X86_FEATURE_ERMS
- 
-@@ -51,14 +49,14 @@ EXPORT_SYMBOL(__memcpy)
-  * memcpy_erms() - enhanced fast string memcpy. This is faster and
-  * simpler than memcpy. Use memcpy_erms when possible.
-  */
--SYM_FUNC_START(memcpy_erms)
-+SYM_FUNC_START_LOCAL(memcpy_erms)
- 	movq %rdi, %rax
- 	movq %rdx, %rcx
- 	rep movsb
- 	ret
- SYM_FUNC_END(memcpy_erms)
- 
--SYM_FUNC_START(memcpy_orig)
-+SYM_FUNC_START_LOCAL(memcpy_orig)
- 	movq %rdi, %rax
- 
- 	cmpq $0x20, %rdx
-diff --git a/tools/arch/x86/lib/memset_64.S b/tools/arch/x86/lib/memset_64.S
-index fd5d25a474b7c..0bfd26e4ca9e9 100644
---- a/tools/arch/x86/lib/memset_64.S
-+++ b/tools/arch/x86/lib/memset_64.S
-@@ -4,8 +4,7 @@
- #include <linux/linkage.h>
- #include <asm/cpufeatures.h>
- #include <asm/alternative-asm.h>
--
--.weak memset
-+#include <asm/export.h>
- 
- /*
-  * ISO C memset - set a memory block to a byte value. This function uses fast
-@@ -18,7 +17,7 @@
-  *
-  * rax   original destination
-  */
--SYM_FUNC_START_ALIAS(memset)
-+SYM_FUNC_START_WEAK(memset)
- SYM_FUNC_START(__memset)
- 	/*
- 	 * Some CPUs support enhanced REP MOVSB/STOSB feature. It is recommended
-@@ -44,6 +43,8 @@ SYM_FUNC_START(__memset)
- 	ret
- SYM_FUNC_END(__memset)
- SYM_FUNC_END_ALIAS(memset)
-+EXPORT_SYMBOL(memset)
-+EXPORT_SYMBOL(__memset)
- 
- /*
-  * ISO C memset - set a memory block to a byte value. This function uses
-@@ -56,7 +57,7 @@ SYM_FUNC_END_ALIAS(memset)
-  *
-  * rax   original destination
-  */
--SYM_FUNC_START(memset_erms)
-+SYM_FUNC_START_LOCAL(memset_erms)
- 	movq %rdi,%r9
- 	movb %sil,%al
- 	movq %rdx,%rcx
-@@ -65,7 +66,7 @@ SYM_FUNC_START(memset_erms)
- 	ret
- SYM_FUNC_END(memset_erms)
- 
--SYM_FUNC_START(memset_orig)
-+SYM_FUNC_START_LOCAL(memset_orig)
- 	movq %rdi,%r10
- 
- 	/* expand byte value  */
-diff --git a/tools/perf/bench/mem-memcpy-x86-64-asm.S b/tools/perf/bench/mem-memcpy-x86-64-asm.S
-index 9ad015a1e2024..6eb45a2aa8db3 100644
---- a/tools/perf/bench/mem-memcpy-x86-64-asm.S
-+++ b/tools/perf/bench/mem-memcpy-x86-64-asm.S
-@@ -2,6 +2,9 @@
- 
- /* Various wrappers to make the kernel .S file build in user-space: */
- 
-+// memcpy_orig and memcpy_erms are being defined as SYM_L_LOCAL but we need it
-+#define SYM_FUNC_START_LOCAL(name)                      \
-+        SYM_START(name, SYM_L_GLOBAL, SYM_A_ALIGN)
- #define memcpy MEMCPY /* don't hide glibc's memcpy() */
- #define altinstr_replacement text
- #define globl p2align 4; .globl
-diff --git a/tools/perf/bench/mem-memset-x86-64-asm.S b/tools/perf/bench/mem-memset-x86-64-asm.S
-index d550bd5261629..6f093c483842e 100644
---- a/tools/perf/bench/mem-memset-x86-64-asm.S
-+++ b/tools/perf/bench/mem-memset-x86-64-asm.S
-@@ -1,4 +1,7 @@
- /* SPDX-License-Identifier: GPL-2.0 */
-+// memset_orig and memset_erms are being defined as SYM_L_LOCAL but we need it
-+#define SYM_FUNC_START_LOCAL(name)                      \
-+        SYM_START(name, SYM_L_GLOBAL, SYM_A_ALIGN)
- #define memset MEMSET /* don't hide glibc's memset() */
- #define altinstr_replacement text
- #define globl p2align 4; .globl
-diff --git a/tools/perf/util/include/linux/linkage.h b/tools/perf/util/include/linux/linkage.h
-index b8a5159361b41..5acf053fca7d4 100644
---- a/tools/perf/util/include/linux/linkage.h
-+++ b/tools/perf/util/include/linux/linkage.h
-@@ -25,6 +25,7 @@
- 
- /* SYM_L_* -- linkage of symbols */
- #define SYM_L_GLOBAL(name)			.globl name
-+#define SYM_L_WEAK(name)			.weak name
- #define SYM_L_LOCAL(name)			/* nothing */
- 
- #define ALIGN __ALIGN
-@@ -84,6 +85,12 @@
- 	SYM_END(name, SYM_T_FUNC)
- #endif
- 
-+/* SYM_FUNC_START_WEAK -- use for weak functions */
-+#ifndef SYM_FUNC_START_WEAK
-+#define SYM_FUNC_START_WEAK(name)			\
-+	SYM_START(name, SYM_L_WEAK, SYM_A_ALIGN)
-+#endif
-+
- /*
-  * SYM_FUNC_END -- the end of SYM_FUNC_START_LOCAL, SYM_FUNC_START,
-  * SYM_FUNC_START_WEAK, ...
--- 
-cgit 1.2.3-1.el7
-
diff --git a/dev-util/perf/files/5.3.7-Free-generated-help-strings-for-sort-opt.patch b/dev-util/perf/files/5.3.7-Free-generated-help-strings-for-sort-opt.patch
deleted file mode 100644
index 80cb1f7..0000000
--- a/dev-util/perf/files/5.3.7-Free-generated-help-strings-for-sort-opt.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-Local modifications in the builtin-report patch:
-- removed a block with annotate_check_args because --prefix patch 3b0b16bf8cb92
-pulls many dependency conflicts in 5.3.7;
-- removed refs to IS_ERR because IS_ERR patch 6ef81c55a2b65 pulls many
-dependency conflicts in 5.3.7;
-- removed refs to evswitch__init because we don't need "switch-on/switch-off"
-patch ef4b1a539f4b8 and it adds extra dependencies.
-
-From a37338aad8c4d8676173ead14e881d2ec308155c Mon Sep 17 00:00:00 2001
-From: Riccardo Mancini <rickyman7@gmail.com>
-Date: Thu, 15 Jul 2021 18:07:14 +0200
-Subject: [PATCH] perf report: Free generated help strings for sort option
-
-ASan reports the memory leak of the strings allocated by sort_help() when
-running perf report.
-
-This patch changes the returned pointer to char* (instead of const
-char*), saves it in a temporary variable, and finally deallocates it at
-function exit.
-
-Signed-off-by: Riccardo Mancini <rickyman7@gmail.com>
-Fixes: 702fb9b415e7c99b ("perf report: Show all sort keys in help output")
-Cc: Andi Kleen <ak@linux.intel.com>
-Cc: Ian Rogers <irogers@google.com>
-Cc: Jiri Olsa <jolsa@redhat.com>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Link: http://lore.kernel.org/lkml/a38b13f02812a8a6759200b9063c6191337f44d4.1626343282.git.rickyman7@gmail.com
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/builtin-report.c | 33 ++++++++++++++++++++++-----------
- tools/perf/util/sort.c      |  2 +-
- tools/perf/util/sort.h      |  2 +-
- 3 files changed, 24 insertions(+), 13 deletions(-)
-
-diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
-index 6386af6a2612..dc0364f671b9 100644
---- a/tools/perf/builtin-report.c
-+++ b/tools/perf/builtin-report.c
-@@ -1175,6 +1175,8 @@ int cmd_report(int argc, const char **argv)
- 		.annotation_opts	 = annotation__default_options,
- 		.skip_empty		 = true,
- 	};
-+	char *sort_order_help = sort_help("sort by key(s):");
-+	char *field_order_help = sort_help("output field(s): overhead period sample ");
- 	const struct option options[] = {
- 	OPT_STRING('i', "input", &input_name, "file",
- 		    "input file name"),
-@@ -1209,9 +1211,9 @@ int cmd_report(int argc, const char **argv)
- 	OPT_BOOLEAN(0, "header-only", &report.header_only,
- 		    "Show only data header."),
- 	OPT_STRING('s', "sort", &sort_order, "key[,key2...]",
--		   sort_help("sort by key(s):")),
-+		   sort_order_help),
- 	OPT_STRING('F', "fields", &field_order, "key[,keys...]",
--		   sort_help("output field(s): overhead period sample ")),
-+		   field_order_help),
- 	OPT_BOOLEAN(0, "show-cpu-utilization", &symbol_conf.show_cpu_utilization,
- 		    "Show sample percentage for different cpu modes"),
- 	OPT_BOOLEAN_FLAG(0, "showcpuutilization", &symbol_conf.show_cpu_utilization,
-@@ -1344,11 +1346,11 @@ int cmd_report(int argc, const char **argv)
- 	char sort_tmp[128];
- 
- 	if (ret < 0)
--		return ret;
-+		goto exit;
- 
- 	ret = perf_config(report__config, &report);
- 	if (ret)
--		return ret;
-+		goto exit;
- 
- 	argc = parse_options(argc, argv, options, report_usage, 0);
- 	if (argc) {
-@@ -1377,12 +1381,14 @@ int cmd_report(int argc, const char **argv)
- 	if (symbol_conf.vmlinux_name &&
- 	    access(symbol_conf.vmlinux_name, R_OK)) {
- 		pr_err("Invalid file: %s\n", symbol_conf.vmlinux_name);
--		return -EINVAL;
-+		ret = -EINVAL;
-+		goto exit;
- 	}
- 	if (symbol_conf.kallsyms_name &&
- 	    access(symbol_conf.kallsyms_name, R_OK)) {
- 		pr_err("Invalid file: %s\n", symbol_conf.kallsyms_name);
--		return -EINVAL;
-+		ret = -EINVAL;
-+		goto exit;
- 	}
- 
- 	if (report.inverted_callchain)
-@@ -1410,8 +1416,10 @@ int cmd_report(int argc, const char **argv)
- 
- repeat:
- 	session = perf_session__new(&data, false, &report.tool);
--	if (session == NULL)
--		return -1;
-+	if (session == NULL) {
-+		ret = -1;
-+		goto exit;
-+	}
- 
- 	if (zstd_init(&(session->zstd_data), 0) < 0)
- 		pr_warning("Decompression initialization failed. Reported data may be incomplete.\n");
-@@ -1646,5 +1654,8 @@ int cmd_report(int argc, const char **argv)
- 
- 	zstd_fini(&(session->zstd_data));
- 	perf_session__delete(session);
-+exit:
-+	free(sort_order_help);
-+	free(field_order_help);
- 	return ret;
- }
-diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
-index 88ce47f2547e..568a88c001c6 100644
---- a/tools/perf/util/sort.c
-+++ b/tools/perf/util/sort.c
-@@ -3370,7 +3370,7 @@ static void add_hpp_sort_string(struct strbuf *sb, struct hpp_dimension *s, int
- 		add_key(sb, s[i].name, llen);
- }
- 
--const char *sort_help(const char *prefix)
-+char *sort_help(const char *prefix)
- {
- 	struct strbuf sb;
- 	char *s;
-diff --git a/tools/perf/util/sort.h b/tools/perf/util/sort.h
-index 87a092645aa7..b67c469aba79 100644
---- a/tools/perf/util/sort.h
-+++ b/tools/perf/util/sort.h
-@@ -302,7 +302,7 @@ void reset_output_field(void);
- void sort__setup_elide(FILE *fp);
- void perf_hpp__set_elide(int idx, bool elide);
- 
--const char *sort_help(const char *prefix);
-+char *sort_help(const char *prefix);
- 
- int report_parse_ignore_callees_opt(const struct option *opt, const char *arg, int unset);
- 
--- 
-2.34.0.rc0.344.g81b53c2807-goog
-
diff --git a/dev-util/perf/files/5.3.7-Update-perf-bench.patch b/dev-util/perf/files/5.3.7-Update-perf-bench.patch
deleted file mode 100644
index ef68c2a..0000000
--- a/dev-util/perf/files/5.3.7-Update-perf-bench.patch
+++ /dev/null
@@ -1,360 +0,0 @@
-commit bd5c6b81dd6025bd4c6ca7800a580b217d9899b9
-Author: Arnaldo Carvalho de Melo <acme@redhat.com>
-Date:   Mon Dec 2 11:40:57 2019 -0300
-
-    perf bench: Update the copies of x86's mem{cpy,set}_64.S
-    
-    And update linux/linkage.h, which requires in turn that we make these
-    files switch from ENTRY()/ENDPROC() to SYM_FUNC_START()/SYM_FUNC_END():
-    
-      tools/perf/arch/arm64/tests/regs_load.S
-      tools/perf/arch/arm/tests/regs_load.S
-      tools/perf/arch/powerpc/tests/regs_load.S
-      tools/perf/arch/x86/tests/regs_load.S
-    
-    We also need to switch SYM_FUNC_START_LOCAL() to SYM_FUNC_START() for
-    the functions used directly by 'perf bench', and update
-    tools/perf/check_headers.sh to ignore those changes when checking if the
-    kernel original files drifted from the copies we carry.
-    
-    This is to get the changes from:
-    
-      6dcc5627f6ae ("x86/asm: Change all ENTRY+ENDPROC to SYM_FUNC_*")
-      ef1e03152cb0 ("x86/asm: Make some functions local")
-      e9b9d020c487 ("x86/asm: Annotate aliases")
-    
-    And address these tools/perf build warnings:
-    
-      Warning: Kernel ABI header at 'tools/arch/x86/lib/memcpy_64.S' differs from latest version at 'arch/x86/lib/memcpy_64.S'
-      diff -u tools/arch/x86/lib/memcpy_64.S arch/x86/lib/memcpy_64.S
-      Warning: Kernel ABI header at 'tools/arch/x86/lib/memset_64.S' differs from latest version at 'arch/x86/lib/memset_64.S'
-      diff -u tools/arch/x86/lib/memset_64.S arch/x86/lib/memset_64.S
-    
-    Cc: Adrian Hunter <adrian.hunter@intel.com>
-    Cc: Borislav Petkov <bp@suse.de>
-    Cc: Jiri Olsa <jolsa@kernel.org>
-    Cc: Jiri Slaby <jslaby@suse.cz>
-    Cc: Namhyung Kim <namhyung@kernel.org>
-    Link: https://lkml.kernel.org/n/tip-tay3l8x8k11p7y3qcpqh9qh5@git.kernel.org
-    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/arch/x86/lib/memcpy_64.S          | 20 ++++----
- tools/arch/x86/lib/memset_64.S          | 16 +++---
- tools/perf/arch/arm/tests/regs_load.S   |  4 +-
- tools/perf/arch/arm64/tests/regs_load.S |  4 +-
- tools/perf/arch/x86/tests/regs_load.S   |  8 +--
- tools/perf/check-headers.sh             |  4 +-
- tools/perf/util/include/linux/linkage.h | 89 +++++++++++++++++++++++++++++++--
- 7 files changed, 114 insertions(+), 31 deletions(-)
-
-diff --git a/tools/arch/x86/lib/memcpy_64.S b/tools/arch/x86/lib/memcpy_64.S
-index 92748660ba51..df767afc690f 100644
---- a/tools/arch/x86/lib/memcpy_64.S
-+++ b/tools/arch/x86/lib/memcpy_64.S
-@@ -28,8 +28,8 @@
-  * Output:
-  * rax original destination
-  */
--ENTRY(__memcpy)
--ENTRY(memcpy)
-+SYM_FUNC_START_ALIAS(__memcpy)
-+SYM_FUNC_START_LOCAL(memcpy)
- 	ALTERNATIVE_2 "jmp memcpy_orig", "", X86_FEATURE_REP_GOOD, \
- 		      "jmp memcpy_erms", X86_FEATURE_ERMS
- 
-@@ -41,8 +41,8 @@ ENTRY(memcpy)
- 	movl %edx, %ecx
- 	rep movsb
- 	ret
--ENDPROC(memcpy)
--ENDPROC(__memcpy)
-+SYM_FUNC_END(memcpy)
-+SYM_FUNC_END_ALIAS(__memcpy)
- EXPORT_SYMBOL(memcpy)
- EXPORT_SYMBOL(__memcpy)
- 
-@@ -50,14 +50,14 @@ EXPORT_SYMBOL(__memcpy)
-  * memcpy_erms() - enhanced fast string memcpy. This is faster and
-  * simpler than memcpy. Use memcpy_erms when possible.
-  */
--ENTRY(memcpy_erms)
-+SYM_FUNC_START(memcpy_erms)
- 	movq %rdi, %rax
- 	movq %rdx, %rcx
- 	rep movsb
- 	ret
--ENDPROC(memcpy_erms)
-+SYM_FUNC_END(memcpy_erms)
- 
--ENTRY(memcpy_orig)
-+SYM_FUNC_START(memcpy_orig)
- 	movq %rdi, %rax
- 
- 	cmpq $0x20, %rdx
-@@ -182,7 +182,7 @@ ENTRY(memcpy_orig)
- 
- .Lend:
- 	retq
--ENDPROC(memcpy_orig)
-+SYM_FUNC_END(memcpy_orig)
- 
- #ifndef CONFIG_UML
- 
-@@ -193,7 +193,7 @@ MCSAFE_TEST_CTL
-  * Note that we only catch machine checks when reading the source addresses.
-  * Writes to target are posted and don't generate machine checks.
-  */
--ENTRY(__memcpy_mcsafe)
-+SYM_FUNC_START(__memcpy_mcsafe)
- 	cmpl $8, %edx
- 	/* Less than 8 bytes? Go to byte copy loop */
- 	jb .L_no_whole_words
-@@ -260,7 +260,7 @@ ENTRY(__memcpy_mcsafe)
- 	xorl %eax, %eax
- .L_done:
- 	ret
--ENDPROC(__memcpy_mcsafe)
-+SYM_FUNC_END(__memcpy_mcsafe)
- EXPORT_SYMBOL_GPL(__memcpy_mcsafe)
- 
- 	.section .fixup, "ax"
-diff --git a/tools/arch/x86/lib/memset_64.S b/tools/arch/x86/lib/memset_64.S
-index f8f3dc0a6690..fd5d25a474b7 100644
---- a/tools/arch/x86/lib/memset_64.S
-+++ b/tools/arch/x86/lib/memset_64.S
-@@ -18,8 +18,8 @@
-  *
-  * rax   original destination
-  */
--ENTRY(memset)
--ENTRY(__memset)
-+SYM_FUNC_START_ALIAS(memset)
-+SYM_FUNC_START(__memset)
- 	/*
- 	 * Some CPUs support enhanced REP MOVSB/STOSB feature. It is recommended
- 	 * to use it when possible. If not available, use fast string instructions.
-@@ -42,8 +42,8 @@ ENTRY(__memset)
- 	rep stosb
- 	movq %r9,%rax
- 	ret
--ENDPROC(memset)
--ENDPROC(__memset)
-+SYM_FUNC_END(__memset)
-+SYM_FUNC_END_ALIAS(memset)
- 
- /*
-  * ISO C memset - set a memory block to a byte value. This function uses
-@@ -56,16 +56,16 @@ ENDPROC(__memset)
-  *
-  * rax   original destination
-  */
--ENTRY(memset_erms)
-+SYM_FUNC_START(memset_erms)
- 	movq %rdi,%r9
- 	movb %sil,%al
- 	movq %rdx,%rcx
- 	rep stosb
- 	movq %r9,%rax
- 	ret
--ENDPROC(memset_erms)
-+SYM_FUNC_END(memset_erms)
- 
--ENTRY(memset_orig)
-+SYM_FUNC_START(memset_orig)
- 	movq %rdi,%r10
- 
- 	/* expand byte value  */
-@@ -136,4 +136,4 @@ ENTRY(memset_orig)
- 	subq %r8,%rdx
- 	jmp .Lafter_bad_alignment
- .Lfinal:
--ENDPROC(memset_orig)
-+SYM_FUNC_END(memset_orig)
-diff --git a/tools/perf/arch/arm/tests/regs_load.S b/tools/perf/arch/arm/tests/regs_load.S
-index 6e2495cc4517..4284307d7822 100644
---- a/tools/perf/arch/arm/tests/regs_load.S
-+++ b/tools/perf/arch/arm/tests/regs_load.S
-@@ -37,7 +37,7 @@
- 
- .text
- .type perf_regs_load,%function
--ENTRY(perf_regs_load)
-+SYM_FUNC_START(perf_regs_load)
- 	str r0, [r0, #R0]
- 	str r1, [r0, #R1]
- 	str r2, [r0, #R2]
-@@ -56,4 +56,4 @@ ENTRY(perf_regs_load)
- 	str lr, [r0, #PC]	// store pc as lr in order to skip the call
- 	                        //  to this function
- 	mov pc, lr
--ENDPROC(perf_regs_load)
-+SYM_FUNC_END(perf_regs_load)
-diff --git a/tools/perf/arch/arm64/tests/regs_load.S b/tools/perf/arch/arm64/tests/regs_load.S
-index 07042511dca9..d49de40b6818 100644
---- a/tools/perf/arch/arm64/tests/regs_load.S
-+++ b/tools/perf/arch/arm64/tests/regs_load.S
-@@ -7,7 +7,7 @@
- #define LDR_REG(r)	ldr x##r, [x0, 8 * r]
- #define SP	(8 * 31)
- #define PC	(8 * 32)
--ENTRY(perf_regs_load)
-+SYM_FUNC_START(perf_regs_load)
- 	STR_REG(0)
- 	STR_REG(1)
- 	STR_REG(2)
-@@ -44,4 +44,4 @@ ENTRY(perf_regs_load)
- 	str x30, [x0, #PC]
- 	LDR_REG(1)
- 	ret
--ENDPROC(perf_regs_load)
-+SYM_FUNC_END(perf_regs_load)
-diff --git a/tools/perf/arch/x86/tests/regs_load.S b/tools/perf/arch/x86/tests/regs_load.S
-index bbe5a0d16e51..80f14f52e3f6 100644
---- a/tools/perf/arch/x86/tests/regs_load.S
-+++ b/tools/perf/arch/x86/tests/regs_load.S
-@@ -28,7 +28,7 @@
- 
- .text
- #ifdef HAVE_ARCH_X86_64_SUPPORT
--ENTRY(perf_regs_load)
-+SYM_FUNC_START(perf_regs_load)
- 	movq %rax, AX(%rdi)
- 	movq %rbx, BX(%rdi)
- 	movq %rcx, CX(%rdi)
-@@ -60,9 +60,9 @@ ENTRY(perf_regs_load)
- 	movq %r14, R14(%rdi)
- 	movq %r15, R15(%rdi)
- 	ret
--ENDPROC(perf_regs_load)
-+SYM_FUNC_END(perf_regs_load)
- #else
--ENTRY(perf_regs_load)
-+SYM_FUNC_START(perf_regs_load)
- 	push %edi
- 	movl 8(%esp), %edi
- 	movl %eax, AX(%edi)
-@@ -88,7 +88,7 @@ ENTRY(perf_regs_load)
- 	movl $0, FS(%edi)
- 	movl $0, GS(%edi)
- 	ret
--ENDPROC(perf_regs_load)
-+SYM_FUNC_END(perf_regs_load)
- #endif
- 
- /*
-diff --git a/tools/perf/check-headers.sh b/tools/perf/check-headers.sh
-index a1dc16724352..68039a96c1dc 100755
---- a/tools/perf/check-headers.sh
-+++ b/tools/perf/check-headers.sh
-@@ -110,8 +110,8 @@ for i in $FILES; do
- done
- 
- # diff with extra ignore lines
--check arch/x86/lib/memcpy_64.S        '-I "^EXPORT_SYMBOL" -I "^#include <asm/export.h>"'
--check arch/x86/lib/memset_64.S        '-I "^EXPORT_SYMBOL" -I "^#include <asm/export.h>"'
-+check arch/x86/lib/memcpy_64.S        '-I "^EXPORT_SYMBOL" -I "^#include <asm/export.h>" -I"^SYM_FUNC_START\(_LOCAL\)*(memcpy_\(erms\|orig\))"'
-+check arch/x86/lib/memset_64.S        '-I "^EXPORT_SYMBOL" -I "^#include <asm/export.h>" -I"^SYM_FUNC_START\(_LOCAL\)*(memset_\(erms\|orig\))"'
- check include/uapi/asm-generic/mman.h '-I "^#include <\(uapi/\)*asm-generic/mman-common\(-tools\)*.h>"'
- check include/uapi/linux/mman.h       '-I "^#include <\(uapi/\)*asm/mman.h>"'
- check include/linux/ctype.h	      '-I "isdigit("'
-diff --git a/tools/perf/util/include/linux/linkage.h b/tools/perf/util/include/linux/linkage.h
-index f01d48a8d707..b8a5159361b4 100644
---- a/tools/perf/util/include/linux/linkage.h
-+++ b/tools/perf/util/include/linux/linkage.h
-@@ -5,10 +5,93 @@
- 
- /* linkage.h ... for including arch/x86/lib/memcpy_64.S */
- 
--#define ENTRY(name)				\
--	.globl name;				\
-+/* Some toolchains use other characters (e.g. '`') to mark new line in macro */
-+#ifndef ASM_NL
-+#define ASM_NL		 ;
-+#endif
-+
-+#ifndef __ALIGN
-+#define __ALIGN		.align 4,0x90
-+#define __ALIGN_STR	".align 4,0x90"
-+#endif
-+
-+/* SYM_T_FUNC -- type used by assembler to mark functions */
-+#ifndef SYM_T_FUNC
-+#define SYM_T_FUNC				STT_FUNC
-+#endif
-+
-+/* SYM_A_* -- align the symbol? */
-+#define SYM_A_ALIGN				ALIGN
-+
-+/* SYM_L_* -- linkage of symbols */
-+#define SYM_L_GLOBAL(name)			.globl name
-+#define SYM_L_LOCAL(name)			/* nothing */
-+
-+#define ALIGN __ALIGN
-+
-+/* === generic annotations === */
-+
-+/* SYM_ENTRY -- use only if you have to for non-paired symbols */
-+#ifndef SYM_ENTRY
-+#define SYM_ENTRY(name, linkage, align...)		\
-+	linkage(name) ASM_NL				\
-+	align ASM_NL					\
- 	name:
-+#endif
-+
-+/* SYM_START -- use only if you have to */
-+#ifndef SYM_START
-+#define SYM_START(name, linkage, align...)		\
-+	SYM_ENTRY(name, linkage, align)
-+#endif
-+
-+/* SYM_END -- use only if you have to */
-+#ifndef SYM_END
-+#define SYM_END(name, sym_type)				\
-+	.type name sym_type ASM_NL			\
-+	.size name, .-name
-+#endif
-+
-+/*
-+ * SYM_FUNC_START_ALIAS -- use where there are two global names for one
-+ * function
-+ */
-+#ifndef SYM_FUNC_START_ALIAS
-+#define SYM_FUNC_START_ALIAS(name)			\
-+	SYM_START(name, SYM_L_GLOBAL, SYM_A_ALIGN)
-+#endif
-+
-+/* SYM_FUNC_START -- use for global functions */
-+#ifndef SYM_FUNC_START
-+/*
-+ * The same as SYM_FUNC_START_ALIAS, but we will need to distinguish these two
-+ * later.
-+ */
-+#define SYM_FUNC_START(name)				\
-+	SYM_START(name, SYM_L_GLOBAL, SYM_A_ALIGN)
-+#endif
-+
-+/* SYM_FUNC_START_LOCAL -- use for local functions */
-+#ifndef SYM_FUNC_START_LOCAL
-+/* the same as SYM_FUNC_START_LOCAL_ALIAS, see comment near SYM_FUNC_START */
-+#define SYM_FUNC_START_LOCAL(name)			\
-+	SYM_START(name, SYM_L_LOCAL, SYM_A_ALIGN)
-+#endif
-+
-+/* SYM_FUNC_END_ALIAS -- the end of LOCAL_ALIASed or ALIASed function */
-+#ifndef SYM_FUNC_END_ALIAS
-+#define SYM_FUNC_END_ALIAS(name)			\
-+	SYM_END(name, SYM_T_FUNC)
-+#endif
- 
--#define ENDPROC(name)
-+/*
-+ * SYM_FUNC_END -- the end of SYM_FUNC_START_LOCAL, SYM_FUNC_START,
-+ * SYM_FUNC_START_WEAK, ...
-+ */
-+#ifndef SYM_FUNC_END
-+/* the same as SYM_FUNC_END_ALIAS, see comment near SYM_FUNC_START */
-+#define SYM_FUNC_END(name)				\
-+	SYM_END(name, SYM_T_FUNC)
-+#endif
- 
- #endif	/* PERF_LINUX_LINKAGE_H_ */
diff --git a/dev-util/perf/files/5.3.7-auxtrace-Add-Z-itrace-option-for-timeless-decod.patch b/dev-util/perf/files/5.3.7-auxtrace-Add-Z-itrace-option-for-timeless-decod.patch
deleted file mode 100644
index 23e4852..0000000
--- a/dev-util/perf/files/5.3.7-auxtrace-Add-Z-itrace-option-for-timeless-decod.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From be80ff79760eeee079aa9dc8a2eb9ce00de45dda Mon Sep 17 00:00:00 2001
-From: Adrian Hunter <adrian.hunter@intel.com>
-Date: Fri, 30 Apr 2021 10:02:58 +0300
-Subject: [PATCH] perf auxtrace: Add Z itrace option for timeless decoding
-
-Issues correlating timestamps can be avoided with timeless decoding. Add
-an option for that, so that timeless decoding can be used even when
-timestamps are present.
-
-Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
-Reviewed-by: Andi Kleen <ak@linux.intel.com>
-Cc: Jiri Olsa <jolsa@redhat.com>
-Link: https://lore.kernel.org/r/20210430070309.17624-2-adrian.hunter@intel.com
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/Documentation/itrace.txt | 1 +
- tools/perf/util/auxtrace.c          | 3 +++
- tools/perf/util/auxtrace.h          | 2 ++
- 3 files changed, 6 insertions(+)
-
-diff --git a/tools/perf/Documentation/itrace.txt b/tools/perf/Documentation/itrace.txt
-index c2182cbabde3..24a345a77c32 100644
---- a/tools/perf/Documentation/itrace.txt
-+++ b/tools/perf/Documentation/itrace.txt
-@@ -10,6 +10,7 @@
- 		g	synthesize a call chain (use with i or x)
- 		l	synthesize last branch entries (use with i or x)
- 		s       skip initial number of events
-+		Z	prefer to ignore timestamps (so-called "timeless" decoding)
- 
- 	The default is all events i.e. the same as --itrace=ibxwpe,
- 	except for perf script where it is --itrace=ce
-diff --git a/tools/perf/util/auxtrace.c b/tools/perf/util/auxtrace.c
-index ec0af36697c4..9fb238706809 100644
---- a/tools/perf/util/auxtrace.c
-+++ b/tools/perf/util/auxtrace.c
-@@ -1114,6 +1114,9 @@ int itrace_parse_synth_opts(const struct option *opt, const char *str,
- 				goto out_err;
- 			p = endptr;
- 			break;
-+		case 'Z':
-+			synth_opts->timeless_decoding = true;
-+			break;
- 		case ' ':
- 		case ',':
- 			break;
-diff --git a/tools/perf/util/auxtrace.h b/tools/perf/util/auxtrace.h
-index e9b4c5edf78b..a612ba746318 100644
---- a/tools/perf/util/auxtrace.h
-+++ b/tools/perf/util/auxtrace.h
-@@ -68,6 +68,7 @@ enum itrace_period_type {
-  * @callchain: add callchain to 'instructions' events
-  * @thread_stack: feed branches to the thread_stack
-  * @last_branch: add branch context to 'instruction' events
-+ * @timeless_decoding: prefer "timeless" decoding i.e. ignore timestamps
-  * @callchain_sz: maximum callchain size
-  * @last_branch_sz: branch context size
-  * @period: 'instructions' events period
-@@ -94,6 +95,7 @@ struct itrace_synth_opts {
- 	bool			callchain;
- 	bool			thread_stack;
- 	bool			last_branch;
-+	bool			timeless_decoding;
- 	unsigned int		callchain_sz;
- 	unsigned int		last_branch_sz;
- 	unsigned long long	period;
--- 
-2.32.0.605.g8dce9f2422-goog
-
diff --git a/dev-util/perf/files/5.3.7-cs-etm-Continuously-record-last-branch.patch b/dev-util/perf/files/5.3.7-cs-etm-Continuously-record-last-branch.patch
deleted file mode 100644
index 1ee88cd..0000000
--- a/dev-util/perf/files/5.3.7-cs-etm-Continuously-record-last-branch.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From f1410028c762893daf353765112cf6797e4442fa Mon Sep 17 00:00:00 2001
-From: Leo Yan <leo.yan@linaro.org>
-Date: Wed, 19 Feb 2020 10:18:08 +0800
-Subject: [PATCH 2/5] perf cs-etm: Continuously record last branch
-
-Every time synthesize instruction sample, the last branch recording will
-be reset.  This is fine if the instruction period is big enough, for
-example if use the option '--itrace=i100000', the last branch array is
-reset for every sample with 100000 instructions per period; before
-generate the next instruction sample, there has the sufficient packets
-coming to fill the last branch array.
-
-On the other hand, if set a very small period, the packets will be
-significantly reduced between two continuous instruction samples, thus
-the last branch array is almost empty for new instruction sample by
-frequently resetting.
-
-To allow the last branches to work properly for any instruction periods,
-this patch avoids to reset the last branch for every instruction sample
-and only reset it when flush the trace data.  The last branches will be
-reset only for two cases, one is for trace starting, another case is for
-discontinuous trace; other cases can keep recording last branches for
-continuous instruction samples.
-
-Signed-off-by: Leo Yan <leo.yan@linaro.org>
-Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
-Reviewed-by: Mike Leach <mike.leach@linaro.org>
-Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
-Cc: Jiri Olsa <jolsa@redhat.com>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Cc: Robert Walker <robert.walker@arm.com>
-Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
-Cc: coresight ml <coresight@lists.linaro.org>
-Cc: linux-arm-kernel@lists.infradead.org
-Link: http://lore.kernel.org/lkml/20200219021811.20067-3-leo.yan@linaro.org
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/util/cs-etm.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
-index 294b09cfb034..2c4156c5ed09 100644
---- a/tools/perf/util/cs-etm.c
-+++ b/tools/perf/util/cs-etm.c
-@@ -1170,9 +1170,6 @@ static int cs_etm__synth_instruction_sample(struct cs_etm_queue *etmq,
- 			"CS ETM Trace: failed to deliver instruction event, error %d\n",
- 			ret);
- 
--	if (etm->synth_opts.last_branch)
--		cs_etm__reset_last_branch_rb(tidq);
--
- 	return ret;
- }
- 
-@@ -1487,6 +1484,10 @@ static int cs_etm__flush(struct cs_etm_queue *etmq,
- swap_packet:
- 	cs_etm__packet_swap(etm, tidq);
- 
-+	/* Reset last branches after flush the trace */
-+	if (etm->synth_opts.last_branch)
-+		cs_etm__reset_last_branch_rb(tidq);
-+
- 	return err;
- }
- 
--- 
-2.32.0.272.g935e593368-goog
-
diff --git a/dev-util/perf/files/5.3.7-cs-etm-Correct-synth-inst-samples.patch b/dev-util/perf/files/5.3.7-cs-etm-Correct-synth-inst-samples.patch
deleted file mode 100644
index a6407cb..0000000
--- a/dev-util/perf/files/5.3.7-cs-etm-Correct-synth-inst-samples.patch
+++ /dev/null
@@ -1,195 +0,0 @@
-From c9f5baa136777b2c982f6f7a90c9da69a88be148 Mon Sep 17 00:00:00 2001
-From: Leo Yan <leo.yan@linaro.org>
-Date: Wed, 19 Feb 2020 10:18:09 +0800
-Subject: [PATCH 3/5] perf cs-etm: Correct synthesizing instruction samples
-
-When 'etm->instructions_sample_period' is less than
-'tidq->period_instructions', the function cs_etm__sample() cannot handle
-this case properly with its logic.
-
-Let's see below flow as an example:
-
-- If we set itrace option '--itrace=i4', then function cs_etm__sample()
-  has variables with initialized values:
-
-  tidq->period_instructions = 0
-  etm->instructions_sample_period = 4
-
-- When the first packet is coming:
-
-  packet->instr_count = 10; the number of instructions executed in this
-  packet is 10, thus update period_instructions as below:
-
-  tidq->period_instructions = 0 + 10 = 10
-  instrs_over = 10 - 4 = 6
-  offset = 10 - 6 - 1 = 3
-  tidq->period_instructions = instrs_over = 6
-
-- When the second packet is coming:
-
-  packet->instr_count = 10; in the second pass, assume 10 instructions
-  in the trace sample again:
-
-  tidq->period_instructions = 6 + 10 = 16
-  instrs_over = 16 - 4 = 12
-  offset = 10 - 12 - 1 = -3  -> the negative value
-  tidq->period_instructions = instrs_over = 12
-
-So after handle these two packets, there have below issues:
-
-The first issue is that cs_etm__instr_addr() returns the address within
-the current trace sample of the instruction related to offset, so the
-offset is supposed to be always unsigned value.  But in fact, function
-cs_etm__sample() might calculate a negative offset value (in handling
-the second packet, the offset is -3) and pass to cs_etm__instr_addr()
-with u64 type with a big positive integer.
-
-The second issue is it only synthesizes 2 samples for sample period = 4.
-In theory, every packet has 10 instructions so the two packets have
-total 20 instructions, 20 instructions should generate 5 samples
-(4 x 5 = 20).  This is because cs_etm__sample() only calls once
-cs_etm__synth_instruction_sample() to generate instruction sample per
-range packet.
-
-This patch fixes the logic in function cs_etm__sample(); the basic
-idea for handling coming packet is:
-
-- To synthesize the first instruction sample, it combines the left
-  instructions from the previous packet and the head of the new
-  packet; then generate continuous samples with sample period;
-- At the tail of the new packet, if it has the rest instructions,
-  these instructions will be left for the sequential sample.
-
-Suggested-by: Mike Leach <mike.leach@linaro.org>
-Signed-off-by: Leo Yan <leo.yan@linaro.org>
-Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
-Reviewed-by: Mike Leach <mike.leach@linaro.org>
-Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
-Cc: Jiri Olsa <jolsa@redhat.com>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Cc: Robert Walker <robert.walker@arm.com>
-Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
-Cc: coresight ml <coresight@lists.linaro.org>
-Cc: linux-arm-kernel@lists.infradead.org
-Link: http://lore.kernel.org/lkml/20200219021811.20067-4-leo.yan@linaro.org
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/util/cs-etm.c | 87 ++++++++++++++++++++++++++++++++--------
- 1 file changed, 70 insertions(+), 17 deletions(-)
-
-diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
-index 2c4156c5ed09..1ddcc67e13dd 100644
---- a/tools/perf/util/cs-etm.c
-+++ b/tools/perf/util/cs-etm.c
-@@ -1358,9 +1358,12 @@ static int cs_etm__sample(struct cs_etm_queue *etmq,
- 	struct cs_etm_auxtrace *etm = etmq->etm;
- 	int ret;
- 	u8 trace_chan_id = tidq->trace_chan_id;
--	u64 instrs_executed = tidq->packet->instr_count;
-+	u64 instrs_prev;
- 
--	tidq->period_instructions += instrs_executed;
-+	/* Get instructions remainder from previous packet */
-+	instrs_prev = tidq->period_instructions;
-+
-+	tidq->period_instructions += tidq->packet->instr_count;
- 
- 	/*
- 	 * Record a branch when the last instruction in
-@@ -1378,26 +1381,76 @@ static int cs_etm__sample(struct cs_etm_queue *etmq,
- 		 * TODO: allow period to be defined in cycles and clock time
- 		 */
- 
--		/* Get number of instructions executed after the sample point */
--		u64 instrs_over = tidq->period_instructions -
--			etm->instructions_sample_period;
-+		/*
-+		 * Below diagram demonstrates the instruction samples
-+		 * generation flows:
-+		 *
-+		 *    Instrs     Instrs       Instrs       Instrs
-+		 *   Sample(n)  Sample(n+1)  Sample(n+2)  Sample(n+3)
-+		 *    |            |            |            |
-+		 *    V            V            V            V
-+		 *   --------------------------------------------------
-+		 *            ^                                  ^
-+		 *            |                                  |
-+		 *         Period                             Period
-+		 *    instructions(Pi)                   instructions(Pi')
-+		 *
-+		 *            |                                  |
-+		 *            \---------------- -----------------/
-+		 *                             V
-+		 *                 tidq->packet->instr_count
-+		 *
-+		 * Instrs Sample(n...) are the synthesised samples occurring
-+		 * every etm->instructions_sample_period instructions - as
-+		 * defined on the perf command line.  Sample(n) is being the
-+		 * last sample before the current etm packet, n+1 to n+3
-+		 * samples are generated from the current etm packet.
-+		 *
-+		 * tidq->packet->instr_count represents the number of
-+		 * instructions in the current etm packet.
-+		 *
-+		 * Period instructions (Pi) contains the the number of
-+		 * instructions executed after the sample point(n) from the
-+		 * previous etm packet.  This will always be less than
-+		 * etm->instructions_sample_period.
-+		 *
-+		 * When generate new samples, it combines with two parts
-+		 * instructions, one is the tail of the old packet and another
-+		 * is the head of the new coming packet, to generate
-+		 * sample(n+1); sample(n+2) and sample(n+3) consume the
-+		 * instructions with sample period.  After sample(n+3), the rest
-+		 * instructions will be used by later packet and it is assigned
-+		 * to tidq->period_instructions for next round calculation.
-+		 */
- 
- 		/*
--		 * Calculate the address of the sampled instruction (-1 as
--		 * sample is reported as though instruction has just been
--		 * executed, but PC has not advanced to next instruction)
-+		 * Get the initial offset into the current packet instructions;
-+		 * entry conditions ensure that instrs_prev is less than
-+		 * etm->instructions_sample_period.
- 		 */
--		u64 offset = (instrs_executed - instrs_over - 1);
--		u64 addr = cs_etm__instr_addr(etmq, trace_chan_id,
--					      tidq->packet, offset);
-+		u64 offset = etm->instructions_sample_period - instrs_prev;
-+		u64 addr;
- 
--		ret = cs_etm__synth_instruction_sample(
--			etmq, tidq, addr, etm->instructions_sample_period);
--		if (ret)
--			return ret;
-+		while (tidq->period_instructions >=
-+				etm->instructions_sample_period) {
-+			/*
-+			 * Calculate the address of the sampled instruction (-1
-+			 * as sample is reported as though instruction has just
-+			 * been executed, but PC has not advanced to next
-+			 * instruction)
-+			 */
-+			addr = cs_etm__instr_addr(etmq, trace_chan_id,
-+						  tidq->packet, offset - 1);
-+			ret = cs_etm__synth_instruction_sample(
-+				etmq, tidq, addr,
-+				etm->instructions_sample_period);
-+			if (ret)
-+				return ret;
- 
--		/* Carry remaining instructions into next sample period */
--		tidq->period_instructions = instrs_over;
-+			offset += etm->instructions_sample_period;
-+			tidq->period_instructions -=
-+				etm->instructions_sample_period;
-+		}
- 	}
- 
- 	if (etm->sample_branches) {
--- 
-2.32.0.272.g935e593368-goog
-
diff --git a/dev-util/perf/files/5.3.7-cs-etm-Delay-decode-of-non-timeless-data-until-cs_etm__flush_events.patch b/dev-util/perf/files/5.3.7-cs-etm-Delay-decode-of-non-timeless-data-until-cs_etm__flush_events.patch
deleted file mode 100644
index 772aed6..0000000
--- a/dev-util/perf/files/5.3.7-cs-etm-Delay-decode-of-non-timeless-data-until-cs_etm__flush_events.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-From a5199db639b3cce18689b98301d7ae97a2d84b2a Mon Sep 17 00:00:00 2001
-From: James Clark <james.clark@arm.com>
-Date: Wed, 9 Jun 2021 16:04:20 +0300
-Subject: [PATCH 2/2] perf cs-etm: Delay decode of non-timeless data until
- cs_etm__flush_events()
-
-Currently, timeless mode starts the decode on PERF_RECORD_EXIT, and
-non-timeless mode starts decoding on the fist PERF_RECORD_AUX record.
-
-This can cause the "data has no samples!" error if the first
-PERF_RECORD_AUX record comes before the first (or any relevant)
-PERF_RECORD_MMAP2 record because the mmaps are required by the decoder
-to access the binary data.
-
-This change pushes the start of non-timeless decoding to the very end of
-parsing the file. The PERF_RECORD_EXIT event can't be used because it
-might not exist in system-wide or snapshot modes.
-
-I have not been able to find the exact cause for the events to be
-intermittently in the wrong order in the basic scenario:
-
-	perf record -e cs_etm/@tmc_etr0/u top
-
-But it can be made to happen every time with the --delay option. This is
-because "enable_on_exec" is disabled, which causes tracing to start
-before the process to be launched is exec'd. For example:
-
-	perf record -e cs_etm/@tmc_etr0/u --delay=1 top
-	perf report -D | grep 'AUX\|MAP'
-
-	0 16714475632740 0x520 [0x40]: PERF_RECORD_AUX offset: 0 size: 0x30 flags: 0 []
-	0 16714476494960 0x5d0 [0x40]: PERF_RECORD_AUX offset: 0x30 size: 0x30 flags: 0 []
-	0 16714478208900 0x660 [0x40]: PERF_RECORD_AUX offset: 0x60 size: 0x30 flags: 0 []
-	4294967295 16714478293340 0x700 [0x70]: PERF_RECORD_MMAP2 8712/8712: [0x557a460000(0x54000) @ 0 00:17 5329258 0]: r-xp /usr/bin/top
-	4294967295 16714478353020 0x770 [0x88]: PERF_RECORD_MMAP2 8712/8712: [0x7f86f72000(0x34000) @ 0 00:17 5214354 0]: r-xp /usr/lib/aarch64-linux-gnu/ld-2.31.so
-
-Another scenario in which decoding from the first aux record fails is a
-workload that forks. Although the aux record comes after 'bash', it
-comes before 'top', which is what we are interested in. For example:
-
-	perf record -e cs_etm/@tmc_etr0/u -- bash -c top
-	perf report -D | grep 'AUX\|MAP'
-
-	4294967295 16853946421300 0x510 [0x70]: PERF_RECORD_MMAP2 8723/8723: [0x558f280000(0x142000) @ 0 00:17 5213953 0]: r-xp /usr/bin/bash
-	4294967295 16853946543560 0x580 [0x88]: PERF_RECORD_MMAP2 8723/8723: [0x7fbba6e000(0x34000) @ 0 00:17 5214354 0]: r-xp /usr/lib/aarch64-linux-gnu/ld-2.31.so
-	4294967295 16853946628420 0x608 [0x68]: PERF_RECORD_MMAP2 8723/8723: [0x7fbba9e000(0x1000) @ 0 00:00 0 0]: r-xp [vdso]
-	0 16853947067300 0x690 [0x40]: PERF_RECORD_AUX offset: 0 size: 0x3a60 flags: 0 []
-	...
-	0 16853966602580 0x1758 [0x40]: PERF_RECORD_AUX offset: 0xc2470 size: 0x30 flags: 0 []
-	4294967295 16853967119860 0x1818 [0x70]: PERF_RECORD_MMAP2 8723/8723: [0x5559e70000(0x54000) @ 0 00:17 5329258 0]: r-xp /usr/bin/top
-	4294967295 16853967181620 0x1888 [0x88]: PERF_RECORD_MMAP2 8723/8723: [0x7f9ed06000(0x34000) @ 0 00:17 5214354 0]: r-xp /usr/lib/aarch64-linux-gnu/ld-2.31.so
-	4294967295 16853967237180 0x1910 [0x68]: PERF_RECORD_MMAP2 8723/8723: [0x7f9ed36000(0x1000) @ 0 00:00 0 0]: r-xp [vdso]
-
-A third scenario is when the majority of time is spent in a shared
-library that is not loaded at startup. For example a dynamically loaded
-plugin.
-
-Testing
-=======
-
-Testing was done by checking if any samples that are present in the
-old output are missing from the new output. Timestamps must be
-stripped out with awk because now they are set to the last AUX sample,
-rather than the first:
-
-	./perf script $4 | awk '!($4="")' > new.script
-	./perf-default script $4 | awk '!($4="")' > default.script
-	comm -13 <(sort -u new.script) <(sort -u default.script)
-
-Testing showed that the new output is a superset of the old. When lines
-appear in the comm output, it is not because they are missing but
-because [unknown] is now resolved to sensible locations. For example
-last putp branch here now resolves to libtinfo, so it's not missing
-from the output, but is actually improved:
-
-Old:
-	top 305 [001]  1 branches:uH: 402830 _init+0x30 (/usr/bin/top.procps) => 404a1c [unknown] (/usr/bin/top.procps)
-	top 305 [001]  1 branches:uH: 404a20 [unknown] (/usr/bin/top.procps) => 402970 putp@plt+0x0 (/usr/bin/top.procps)
-	top 305 [001]  1 branches:uH: 40297c putp@plt+0xc (/usr/bin/top.procps) => 0 [unknown] ([unknown])
-New:
-	top 305 [001]  1 branches:uH: 402830 _init+0x30 (/usr/bin/top.procps) => 404a1c [unknown] (/usr/bin/top.procps)
-	top 305 [001]  1 branches:uH: 404a20 [unknown] (/usr/bin/top.procps) => 402970 putp@plt+0x0 (/usr/bin/top.procps)
-	top 305 [001]  1 branches:uH: 40297c putp@plt+0xc (/usr/bin/top.procps) => 7f8ab39208 putp+0x0 (/lib/libtinfo.so.5.9)
-
-In the following two modes, decoding now works and the "data has no
-samples!" error is not displayed any more:
-
-	perf record -e cs_etm/@tmc_etr0/u -- bash -c top
-	perf record -e cs_etm/@tmc_etr0/u --delay=1 top
-
-In snapshot mode, there is also an improvement to decoding. Previously
-samples for the 'kill' process that was used to send SIGUSR2 were
-completely missing, because the process hadn't started yet. But now
-there are additional samples present:
-
-	perf record -e cs_etm/@tmc_etr0/u --snapshot -a
-	perf script
-
-		stress 19380 [003] 161627.938153:    1000000    instructions:uH:      aaaabb612fb4 [unknown] (/usr/bin/stress)
-		  kill 19644 [000] 161627.938153:    1000000    instructions:uH:      ffffae0ef210 [unknown] (/lib/aarch64-linux-gnu/ld-2.27.so)
-		stress 19380 [003] 161627.938153:    1000000    instructions:uH:      ffff9e754d40 random_r+0x20 (/lib/aarch64-linux-gnu/libc-2.27.so)
-
-Also tested was the round trip of 'perf inject' followed by 'perf
-report' which has the same differences and improvements.
-
-Signed-off-by: James Clark <james.clark@arm.com>
-Reviewed-by: Leo Yan <leo.yan@linaro.org>
-Tested-by: Leo Yan <leo.yan@linaro.org>
----
- tools/perf/util/cs-etm.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
-index a557f83..c998b12 100644
---- a/tools/perf/util/cs-etm.c
-+++ b/tools/perf/util/cs-etm.c
-@@ -2350,6 +2350,11 @@ static int cs_etm__process_event(struct perf_session *session,
- 			return err;
- 	}
- 
-+	/*
-+	 * Don't wait for cs_etm__flush_events() in per-thread/timeless mode to start the decode. We
-+	 * need the tid of the PERF_RECORD_EXIT event to assign to the synthesised samples because
-+	 * ETM_OPT_CTXTID is not enabled.
-+	 */
- 	if (etm->timeless_decoding &&
- 	    event->header.type == PERF_RECORD_EXIT)
- 		return cs_etm__process_timeless_queues(etm,
-@@ -2367,7 +2372,6 @@ static int cs_etm__process_event(struct perf_session *session,
- 		 * onwards.
- 		 */
- 		etm->latest_kernel_timestamp = sample_kernel_timestamp;
--		return cs_etm__process_queues(etm);
- 	}
- 
- 	return 0;
--- 
-2.31.0
-
diff --git a/dev-util/perf/files/5.3.7-cs-etm-Fix-definition-of-macro-TO_CS_QUEUE_NR.patch b/dev-util/perf/files/5.3.7-cs-etm-Fix-definition-of-macro-TO_CS_QUEUE_NR.patch
deleted file mode 100644
index 3d71d4b..0000000
--- a/dev-util/perf/files/5.3.7-cs-etm-Fix-definition-of-macro-TO_CS_QUEUE_NR.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 4cbc94e292e95e8598bee50d6c69e7b8e8686bb8 Mon Sep 17 00:00:00 2001
-From: Leo Yan <leo.yan@linaro.org>
-Date: Mon, 21 Oct 2019 15:48:08 +0800
-Subject: [PATCH] perf cs-etm: Fix definition of macro TO_CS_QUEUE_NR
-
-Macro TO_CS_QUEUE_NR definition has a typo, which uses 'trace_id_chan'
-as its parameter, this doesn't match with its definition body which uses
-'trace_chan_id'.  So renames the parameter to 'trace_chan_id'.
-
-It's luck to have a local variable 'trace_chan_id' in the function
-cs_etm__setup_queue(), even we wrongly define the macro TO_CS_QUEUE_NR,
-the local variable 'trace_chan_id' is used rather than the macro's
-parameter 'trace_id_chan'; so the compiler doesn't complain for this
-before.
-
-After renaming the parameter, it leads to a compiling error due
-cs_etm__setup_queue() has no variable 'trace_id_chan'.  This patch uses
-the variable 'trace_chan_id' for the macro so that fixes the compiling
-error.
-
-Signed-off-by: Leo Yan <leo.yan@linaro.org>
-Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
-Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
-Cc: Jiri Olsa <jolsa@redhat.com>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
-Cc: coresight ml <coresight@lists.linaro.org>
-Cc: linux-arm-kernel@lists.infradead.org
-Link: http://lore.kernel.org/lkml/20191021074808.25795-1-leo.yan@linaro.org
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/util/cs-etm.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
-index ad83a97db6fc..592f30ebede0 100644
---- a/tools/perf/util/cs-etm.c
-+++ b/tools/perf/util/cs-etm.c
-@@ -107,7 +107,7 @@ static int cs_etm__decode_data_block(struct cs_etm_queue *etmq);
-  * encode the etm queue number as the upper 16 bit and the channel as
-  * the lower 16 bit.
-  */
--#define TO_CS_QUEUE_NR(queue_nr, trace_id_chan)	\
-+#define TO_CS_QUEUE_NR(queue_nr, trace_chan_id)	\
- 		      (queue_nr << 16 | trace_chan_id)
- #define TO_QUEUE_NR(cs_queue_nr) (cs_queue_nr >> 16)
- #define TO_TRACE_CHAN_ID(cs_queue_nr) (cs_queue_nr & 0x0000ffff)
-@@ -874,7 +874,7 @@ static int cs_etm__setup_queue(struct cs_etm_auxtrace *etm,
- 	 * Note that packets decoded above are still in the traceID's packet
- 	 * queue and will be processed in cs_etm__process_queues().
- 	 */
--	cs_queue_nr = TO_CS_QUEUE_NR(queue_nr, trace_id_chan);
-+	cs_queue_nr = TO_CS_QUEUE_NR(queue_nr, trace_chan_id);
- 	ret = auxtrace_heap__add(&etm->heap, cs_queue_nr, timestamp);
- out:
- 	return ret;
--- 
-2.31.0
-
diff --git a/dev-util/perf/files/5.3.7-cs-etm-Fix-unsigned-variable.patch b/dev-util/perf/files/5.3.7-cs-etm-Fix-unsigned-variable.patch
deleted file mode 100644
index c91dfe6..0000000
--- a/dev-util/perf/files/5.3.7-cs-etm-Fix-unsigned-variable.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From bc010dd657ee0309276c88ab828b9ad156f75b31 Mon Sep 17 00:00:00 2001
-From: Leo Yan <leo.yan@linaro.org>
-Date: Wed, 19 Feb 2020 10:18:11 +0800
-Subject: [PATCH 5/5] perf cs-etm: Fix unsigned variable comparison to zero
-
-The variable 'offset' in function cs_etm__sample() is u64 type, it's not
-appropriate to check it with 'while (offset > 0)'; this patch changes to
-'while (offset)'.
-
-Signed-off-by: Leo Yan <leo.yan@linaro.org>
-Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
-Reviewed-by: Mike Leach <mike.leach@linaro.org>
-Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
-Cc: Jiri Olsa <jolsa@redhat.com>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Cc: Robert Walker <robert.walker@arm.com>
-Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
-Cc: coresight ml <coresight@lists.linaro.org>
-Cc: linux-arm-kernel@lists.infradead.org
-Link: http://lore.kernel.org/lkml/20200219021811.20067-6-leo.yan@linaro.org
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/util/cs-etm.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
-index 87d9943177bc..62d2f9b9ce1b 100644
---- a/tools/perf/util/cs-etm.c
-+++ b/tools/perf/util/cs-etm.c
-@@ -962,7 +962,7 @@ static inline u64 cs_etm__instr_addr(struct cs_etm_queue *etmq,
- 	if (packet->isa == CS_ETM_ISA_T32) {
- 		u64 addr = packet->start_addr;
- 
--		while (offset > 0) {
-+		while (offset) {
- 			addr += cs_etm__t32_instr_size(etmq,
- 						       trace_chan_id, addr);
- 			offset--;
--- 
-2.32.0.272.g935e593368-goog
-
diff --git a/dev-util/perf/files/5.3.7-cs-etm-Move-synth_opts-initialisation.patch b/dev-util/perf/files/5.3.7-cs-etm-Move-synth_opts-initialisation.patch
deleted file mode 100644
index 0b8145c..0000000
--- a/dev-util/perf/files/5.3.7-cs-etm-Move-synth_opts-initialisation.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 2ad7cd8c9d2dec06de2c5f788129d51421d6948a Mon Sep 17 00:00:00 2001
-From: James Clark <james.clark@arm.com>
-Date: Mon, 17 May 2021 16:17:39 +0300
-Subject: [PATCH 1/3] perf cs-etm: Move synth_opts initialisation
-
-Move initialisation of synth_opts earlier in the function
-so that synth_opts can be used at an earlier stage in a
-later commit.
-
-Signed-off-by: James Clark <james.clark@arm.com>
-Reviewed-by: Leo Yan <leo.yan@linaro.org>
-Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
-Cc: Al Grant <al.grant@arm.com>
-Cc: Anshuman Khandual <anshuman.khandual@arm.com>
-Cc: Branislav Rankov <branislav.rankov@arm.com>
-Cc: Denis Nikitin <denik@chromium.org>
-Cc: Jiri Olsa <jolsa@redhat.com>
-Cc: John Garry <john.garry@huawei.com>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
-Cc: Mike Leach <mike.leach@linaro.org>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
-Cc: Will Deacon <will@kernel.org>
-Cc: coresight@lists.linaro.org
-Cc: linux-arm-kernel@lists.infradead.org
-Link: http://lore.kernel.org/lkml/20210517131741.3027-2-james.clark@arm.com
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/util/cs-etm.c | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
-index 5095c1c4c6df..2af9ab5ca3fd 100644
---- a/tools/perf/util/cs-etm.c
-+++ b/tools/perf/util/cs-etm.c
-@@ -2764,6 +2764,14 @@ int cs_etm__process_auxtrace_info(union perf_event *event,
- 	if (err)
- 		goto err_free_etm;
- 
-+	if (session->itrace_synth_opts->set) {
-+		etm->synth_opts = *session->itrace_synth_opts;
-+	} else {
-+		itrace_synth_opts__set_default(&etm->synth_opts,
-+				session->itrace_synth_opts->default_no_sample);
-+		etm->synth_opts.callchain = false;
-+	}
-+
- 	etm->session = session;
- 	etm->machine = &session->machines.host;
- 
-@@ -2807,14 +2815,6 @@ int cs_etm__process_auxtrace_info(union perf_event *event,
- 		return 0;
- 	}
- 
--	if (session->itrace_synth_opts->set) {
--		etm->synth_opts = *session->itrace_synth_opts;
--	} else {
--		itrace_synth_opts__set_default(&etm->synth_opts,
--				session->itrace_synth_opts->default_no_sample);
--		etm->synth_opts.callchain = false;
--	}
--
- 	err = cs_etm__synth_events(etm, session);
- 	if (err)
- 		goto err_delete_thread;
--- 
-2.32.0.605.g8dce9f2422-goog
-
diff --git a/dev-util/perf/files/5.3.7-cs-etm-Optimize-copying-last-branches.patch b/dev-util/perf/files/5.3.7-cs-etm-Optimize-copying-last-branches.patch
deleted file mode 100644
index 19252c4..0000000
--- a/dev-util/perf/files/5.3.7-cs-etm-Optimize-copying-last-branches.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-From 695378b567df1fe6631c6684fcc9eeb4257df70f Mon Sep 17 00:00:00 2001
-From: Leo Yan <leo.yan@linaro.org>
-Date: Wed, 19 Feb 2020 10:18:10 +0800
-Subject: [PATCH 4/5] perf cs-etm: Optimize copying last branches
-
-If an instruction range packet can generate multiple instruction
-samples, these samples share the same last branches; it's not necessary
-to copy the same last branches repeatedly for these samples within the
-same packet.
-
-This patch moves out the last branches copying from function
-cs_etm__synth_instruction_sample(), and execute it prior to generating
-instruction samples.
-
-Signed-off-by: Leo Yan <leo.yan@linaro.org>
-Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
-Reviewed-by: Mike Leach <mike.leach@linaro.org>
-Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
-Cc: Jiri Olsa <jolsa@redhat.com>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Cc: Robert Walker <robert.walker@arm.com>
-Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
-Cc: coresight ml <coresight@lists.linaro.org>
-Cc: linux-arm-kernel@lists.infradead.org
-Link: http://lore.kernel.org/lkml/20200219021811.20067-5-leo.yan@linaro.org
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/util/cs-etm.c | 22 +++++++++++++++++-----
- 1 file changed, 17 insertions(+), 5 deletions(-)
-
-diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
-index 1ddcc67e13dd..87d9943177bc 100644
---- a/tools/perf/util/cs-etm.c
-+++ b/tools/perf/util/cs-etm.c
-@@ -1151,10 +1151,8 @@ static int cs_etm__synth_instruction_sample(struct cs_etm_queue *etmq,
- 
- 	cs_etm__copy_insn(etmq, tidq->trace_chan_id, tidq->packet, &sample);
- 
--	if (etm->synth_opts.last_branch) {
--		cs_etm__copy_last_branch_rb(etmq, tidq);
-+	if (etm->synth_opts.last_branch)
- 		sample.branch_stack = tidq->last_branch;
--	}
- 
- 	if (etm->synth_opts.inject) {
- 		ret = cs_etm__inject_event(event, &sample,
-@@ -1431,6 +1429,10 @@ static int cs_etm__sample(struct cs_etm_queue *etmq,
- 		u64 offset = etm->instructions_sample_period - instrs_prev;
- 		u64 addr;
- 
-+		/* Prepare last branches for instruction sample */
-+		if (etm->synth_opts.last_branch)
-+			cs_etm__copy_last_branch_rb(etmq, tidq);
-+
- 		while (tidq->period_instructions >=
- 				etm->instructions_sample_period) {
- 			/*
-@@ -1508,6 +1510,11 @@ static int cs_etm__flush(struct cs_etm_queue *etmq,
- 
- 	if (etmq->etm->synth_opts.last_branch &&
- 	    tidq->prev_packet->sample_type == CS_ETM_RANGE) {
-+		u64 addr;
-+
-+		/* Prepare last branches for instruction sample */
-+		cs_etm__copy_last_branch_rb(etmq, tidq);
-+
- 		/*
- 		 * Generate a last branch event for the branches left in the
- 		 * circular buffer at the end of the trace.
-@@ -1515,7 +1522,7 @@ static int cs_etm__flush(struct cs_etm_queue *etmq,
- 		 * Use the address of the end of the last reported execution
- 		 * range
- 		 */
--		u64 addr = cs_etm__last_executed_instr(tidq->prev_packet);
-+		addr = cs_etm__last_executed_instr(tidq->prev_packet);
- 
- 		err = cs_etm__synth_instruction_sample(
- 			etmq, tidq, addr,
-@@ -1560,11 +1567,16 @@ static int cs_etm__end_block(struct cs_etm_queue *etmq,
- 	 */
- 	if (etmq->etm->synth_opts.last_branch &&
- 	    tidq->prev_packet->sample_type == CS_ETM_RANGE) {
-+		u64 addr;
-+
-+		/* Prepare last branches for instruction sample */
-+		cs_etm__copy_last_branch_rb(etmq, tidq);
-+
- 		/*
- 		 * Use the address of the end of the last reported execution
- 		 * range.
- 		 */
--		u64 addr = cs_etm__last_executed_instr(tidq->prev_packet);
-+		addr = cs_etm__last_executed_instr(tidq->prev_packet);
- 
- 		err = cs_etm__synth_instruction_sample(
- 			etmq, tidq, addr,
--- 
-2.32.0.272.g935e593368-goog
-
diff --git a/dev-util/perf/files/5.3.7-cs-etm-Prevent-and-warn-on-underflows-during-ti.patch b/dev-util/perf/files/5.3.7-cs-etm-Prevent-and-warn-on-underflows-during-ti.patch
deleted file mode 100644
index c1e274c..0000000
--- a/dev-util/perf/files/5.3.7-cs-etm-Prevent-and-warn-on-underflows-during-ti.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-From f52b0b2892b794820c00225909b9dff477de1ad9 Mon Sep 17 00:00:00 2001
-From: James Clark <james.clark@arm.com>
-Date: Mon, 17 May 2021 16:17:41 +0300
-Subject: [PATCH 3/3] perf cs-etm: Prevent and warn on underflows during
- timestamp calculation.
-
-When a zero timestamp is encountered, warn once. This is to make
-hardware or configuration issues visible. Also suggest that the issue
-can be worked around with the --itrace=Z option.
-
-When an underflow with a non-zero timestamp occurs, warn every time.
-This is an unexpected scenario, and with increasing timestamps, it's
-unlikely that it would occur more than once, therefore it should be
-ok to warn every time.
-
-Only try to calculate the timestamp by subtracting the instruction
-count if neither of the above cases are true. This makes attempting
-to decode files with zero timestamps in non-timeless mode
-more consistent. Currently it can half work if the timestamp wraps
-around and becomes non-zero, although the behavior is undefined and
-unpredictable.
-
-Signed-off-by: James Clark <james.clark@arm.com>
-Reviewed-by: Leo Yan <leo.yan@linaro.org>
-Cc: Al Grant <al.grant@arm.com>
-Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
-Cc: Anshuman Khandual <anshuman.khandual@arm.com>
-Cc: Branislav Rankov <branislav.rankov@arm.com>
-Cc: Denis Nikitin <denik@chromium.org>
-Cc: Jiri Olsa <jolsa@redhat.com>
-Cc: John Garry <john.garry@huawei.com>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
-Cc: Mike Leach <mike.leach@linaro.org>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
-Cc: Will Deacon <will@kernel.org>
-Cc: coresight@lists.linaro.org
-Cc: linux-arm-kernel@lists.infradead.org
-Link: http://lore.kernel.org/lkml/20210517131741.3027-4-james.clark@arm.com
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- .../perf/util/cs-etm-decoder/cs-etm-decoder.c | 45 ++++++++++++++-----
- 1 file changed, 34 insertions(+), 11 deletions(-)
-
-diff --git a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
-index 1237364b742c..7e2c0d549712 100644
---- a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
-+++ b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
-@@ -6,6 +6,7 @@
-  * Author: Mathieu Poirier <mathieu.poirier@linaro.org>
-  */
- 
-+#include <asm/bug.h>
- #include <linux/coresight-pmu.h>
- #include <linux/err.h>
- #include <linux/list.h>
-@@ -17,6 +18,7 @@
- 
- #include "cs-etm.h"
- #include "cs-etm-decoder.h"
-+#include "debug.h"
- #include "intlist.h"
- #include "util.h"
- 
-@@ -295,7 +297,8 @@ cs_etm_decoder__do_soft_timestamp(struct cs_etm_queue *etmq,
- static ocsd_datapath_resp_t
- cs_etm_decoder__do_hard_timestamp(struct cs_etm_queue *etmq,
- 				  const ocsd_generic_trace_elem *elem,
--				  const uint8_t trace_chan_id)
-+				  const uint8_t trace_chan_id,
-+				  const ocsd_trc_index_t indx)
- {
- 	struct cs_etm_packet_queue *packet_queue;
- 
-@@ -314,14 +317,33 @@ cs_etm_decoder__do_hard_timestamp(struct cs_etm_queue *etmq,
- 		return OCSD_RESP_CONT;
- 	}
- 
--	/*
--	 * This is the first timestamp we've seen since the beginning of traces
--	 * or a discontinuity.  Since timestamps packets are generated *after*
--	 * range packets have been generated, we need to estimate the time at
--	 * which instructions started by substracting the number of instructions
--	 * executed to the timestamp.
--	 */
--	packet_queue->cs_timestamp = elem->timestamp - packet_queue->instr_count;
-+
-+	if (!elem->timestamp) {
-+		/*
-+		 * Zero timestamps can be seen due to misconfiguration or hardware bugs.
-+		 * Warn once, and don't try to subtract instr_count as it would result in an
-+		 * underflow.
-+		 */
-+		packet_queue->cs_timestamp = 0;
-+		WARN_ONCE(true, "Zero Coresight timestamp found at Idx:%" OCSD_TRC_IDX_STR
-+				". Decoding may be improved with --itrace=Z...\n", indx);
-+	} else if (packet_queue->instr_count > elem->timestamp) {
-+		/*
-+		 * Sanity check that the elem->timestamp - packet_queue->instr_count would not
-+		 * result in an underflow. Warn and clamp at 0 if it would.
-+		 */
-+		packet_queue->cs_timestamp = 0;
-+		pr_err("Timestamp calculation underflow at Idx:%" OCSD_TRC_IDX_STR "\n", indx);
-+	} else {
-+		/*
-+		 * This is the first timestamp we've seen since the beginning of traces
-+		 * or a discontinuity.  Since timestamps packets are generated *after*
-+		 * range packets have been generated, we need to estimate the time at
-+		 * which instructions started by subtracting the number of instructions
-+		 * executed to the timestamp.
-+		 */
-+		packet_queue->cs_timestamp = elem->timestamp - packet_queue->instr_count;
-+	}
- 	packet_queue->next_cs_timestamp = elem->timestamp;
- 	packet_queue->instr_count = 0;
- 
-@@ -552,7 +574,7 @@ cs_etm_decoder__set_tid(struct cs_etm_queue *etmq,
- 
- static ocsd_datapath_resp_t cs_etm_decoder__gen_trace_elem_printer(
- 				const void *context,
--				const ocsd_trc_index_t indx __maybe_unused,
-+				const ocsd_trc_index_t indx,
- 				const u8 trace_chan_id __maybe_unused,
- 				const ocsd_generic_trace_elem *elem)
- {
-@@ -589,7 +611,8 @@ static ocsd_datapath_resp_t cs_etm_decoder__gen_trace_elem_printer(
- 		break;
- 	case OCSD_GEN_TRC_ELEM_TIMESTAMP:
- 		resp = cs_etm_decoder__do_hard_timestamp(etmq, elem,
--							 trace_chan_id);
-+							 trace_chan_id,
-+							 indx);
- 		break;
- 	case OCSD_GEN_TRC_ELEM_PE_CONTEXT:
- 		resp = cs_etm_decoder__set_tid(etmq, packet_queue,
--- 
-2.32.0.605.g8dce9f2422-goog
-
diff --git a/dev-util/perf/files/5.3.7-cs-etm-Refactor-timestamp-variable-names.patch b/dev-util/perf/files/5.3.7-cs-etm-Refactor-timestamp-variable-names.patch
deleted file mode 100644
index c714359..0000000
--- a/dev-util/perf/files/5.3.7-cs-etm-Refactor-timestamp-variable-names.patch
+++ /dev/null
@@ -1,265 +0,0 @@
-From a182a86b806ea969cd929299e14a93d7c288cf77 Mon Sep 17 00:00:00 2001
-From: James Clark <james.clark@arm.com>
-Date: Mon, 10 May 2021 17:32:47 +0300
-Subject: [PATCH] perf cs-etm: Refactor timestamp variable names
-
-Remove ambiguity in variable names relating to timestamps.
-
-A later commit will save the sample kernel timestamp in one of the etm
-structs, so name all elements appropriately to avoid confusion.
-
-This is also removes some ambiguity arising from the fact that the
---timestamp argument to perf record refers to sample kernel timestamps,
-and the /timestamp/ event modifier refers to CS timestamps, so the term
-is overloaded.
-
-Signed-off-by: James Clark <james.clark@arm.com>
-Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
-Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
-Cc: Al Grant <al.grant@arm.com>
-Cc: Anshuman Khandual <anshuman.khandual@arm.com>
-Cc: Branislav Rankov <branislav.rankov@arm.com>
-Cc: Denis Nikitin <denik@chromium.org>
-Cc: Jiri Olsa <jolsa@redhat.com>
-Cc: John Garry <john.garry@huawei.com>
-Cc: Leo Yan <leo.yan@linaro.org>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Mike Leach <mike.leach@linaro.org>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
-Cc: Will Deacon <will@kernel.org>
-Cc: linux-arm-kernel@lists.infradead.org
-Cc: coresight@lists.linaro.org
-Link: https://lore.kernel.org/r/20210510143248.27423-2-james.clark@arm.com
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- .../perf/util/cs-etm-decoder/cs-etm-decoder.c | 18 ++++----
- tools/perf/util/cs-etm.c                      | 42 +++++++++----------
- tools/perf/util/cs-etm.h                      |  4 +-
- 3 files changed, 31 insertions(+), 33 deletions(-)
-
-diff --git a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
-index be94afff7ce2..1237364b742c 100644
---- a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
-+++ b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
-@@ -277,13 +277,13 @@ cs_etm_decoder__do_soft_timestamp(struct cs_etm_queue *etmq,
- 				  const uint8_t trace_chan_id)
- {
- 	/* No timestamp packet has been received, nothing to do */
--	if (!packet_queue->timestamp)
-+	if (!packet_queue->cs_timestamp)
- 		return OCSD_RESP_CONT;
- 
--	packet_queue->timestamp = packet_queue->next_timestamp;
-+	packet_queue->cs_timestamp = packet_queue->next_cs_timestamp;
- 
- 	/* Estimate the timestamp for the next range packet */
--	packet_queue->next_timestamp += packet_queue->instr_count;
-+	packet_queue->next_cs_timestamp += packet_queue->instr_count;
- 	packet_queue->instr_count = 0;
- 
- 	/* Tell the front end which traceid_queue needs attention */
-@@ -309,8 +309,8 @@ cs_etm_decoder__do_hard_timestamp(struct cs_etm_queue *etmq,
- 	 * Function do_soft_timestamp() will report the value to the front end,
- 	 * hence asking the decoder to keep decoding rather than stopping.
- 	 */
--	if (packet_queue->timestamp) {
--		packet_queue->next_timestamp = elem->timestamp;
-+	if (packet_queue->cs_timestamp) {
-+		packet_queue->next_cs_timestamp = elem->timestamp;
- 		return OCSD_RESP_CONT;
- 	}
- 
-@@ -321,8 +321,8 @@ cs_etm_decoder__do_hard_timestamp(struct cs_etm_queue *etmq,
- 	 * which instructions started by substracting the number of instructions
- 	 * executed to the timestamp.
- 	 */
--	packet_queue->timestamp = elem->timestamp - packet_queue->instr_count;
--	packet_queue->next_timestamp = elem->timestamp;
-+	packet_queue->cs_timestamp = elem->timestamp - packet_queue->instr_count;
-+	packet_queue->next_cs_timestamp = elem->timestamp;
- 	packet_queue->instr_count = 0;
- 
- 	/* Tell the front end which traceid_queue needs attention */
-@@ -335,8 +335,8 @@ cs_etm_decoder__do_hard_timestamp(struct cs_etm_queue *etmq,
- static void
- cs_etm_decoder__reset_timestamp(struct cs_etm_packet_queue *packet_queue)
- {
--	packet_queue->timestamp = 0;
--	packet_queue->next_timestamp = 0;
-+	packet_queue->cs_timestamp = 0;
-+	packet_queue->next_cs_timestamp = 0;
- 	packet_queue->instr_count = 0;
- }
- 
-diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
-index 592f30ebede0..c5e6a184d4c7 100644
---- a/tools/perf/util/cs-etm.c
-+++ b/tools/perf/util/cs-etm.c
-@@ -34,8 +34,6 @@
- #include <tools/libc_compat.h>
- #include "util.h"
- 
--#define MAX_TIMESTAMP (~0ULL)
--
- struct cs_etm_auxtrace {
- 	struct auxtrace auxtrace;
- 	struct auxtrace_queues queues;
-@@ -82,7 +80,7 @@ struct cs_etm_queue {
- 	struct cs_etm_decoder *decoder;
- 	struct auxtrace_buffer *buffer;
- 	unsigned int queue_nr;
--	u8 pending_timestamp;
-+	u8 pending_timestamp_chan_id;
- 	u64 offset;
- 	const unsigned char *buf;
- 	size_t buf_len, buf_used;
-@@ -201,7 +199,7 @@ void cs_etm__etmq_set_traceid_queue_timestamp(struct cs_etm_queue *etmq,
- 	 * be more than one channel per cs_etm_queue, we need to specify
- 	 * what traceID queue needs servicing.
- 	 */
--	etmq->pending_timestamp = trace_chan_id;
-+	etmq->pending_timestamp_chan_id = trace_chan_id;
- }
- 
- static u64 cs_etm__etmq_get_timestamp(struct cs_etm_queue *etmq,
-@@ -209,22 +207,22 @@ static u64 cs_etm__etmq_get_timestamp(struct cs_etm_queue *etmq,
- {
- 	struct cs_etm_packet_queue *packet_queue;
- 
--	if (!etmq->pending_timestamp)
-+	if (!etmq->pending_timestamp_chan_id)
- 		return 0;
- 
- 	if (trace_chan_id)
--		*trace_chan_id = etmq->pending_timestamp;
-+		*trace_chan_id = etmq->pending_timestamp_chan_id;
- 
- 	packet_queue = cs_etm__etmq_get_packet_queue(etmq,
--						     etmq->pending_timestamp);
-+						     etmq->pending_timestamp_chan_id);
- 	if (!packet_queue)
- 		return 0;
- 
- 	/* Acknowledge pending status */
--	etmq->pending_timestamp = 0;
-+	etmq->pending_timestamp_chan_id = 0;
- 
- 	/* See function cs_etm_decoder__do_{hard|soft}_timestamp() */
--	return packet_queue->timestamp;
-+	return packet_queue->cs_timestamp;
- }
- 
- static void cs_etm__clear_packet_queue(struct cs_etm_packet_queue *queue)
-@@ -797,7 +795,7 @@ static int cs_etm__setup_queue(struct cs_etm_auxtrace *etm,
- 	int ret = 0;
- 	unsigned int cs_queue_nr;
- 	u8 trace_chan_id;
--	u64 timestamp;
-+	u64 cs_timestamp;
- 	struct cs_etm_queue *etmq = queue->priv;
- 
- 	if (list_empty(&queue->head) || etmq)
-@@ -837,7 +835,7 @@ static int cs_etm__setup_queue(struct cs_etm_auxtrace *etm,
- 
- 		/*
- 		 * Run decoder on the trace block.  The decoder will stop when
--		 * encountering a timestamp, a full packet queue or the end of
-+		 * encountering a CS timestamp, a full packet queue or the end of
- 		 * trace for that block.
- 		 */
- 		ret = cs_etm__decode_data_block(etmq);
-@@ -848,10 +846,10 @@ static int cs_etm__setup_queue(struct cs_etm_auxtrace *etm,
- 		 * Function cs_etm_decoder__do_{hard|soft}_timestamp() does all
- 		 * the timestamp calculation for us.
- 		 */
--		timestamp = cs_etm__etmq_get_timestamp(etmq, &trace_chan_id);
-+		cs_timestamp = cs_etm__etmq_get_timestamp(etmq, &trace_chan_id);
- 
- 		/* We found a timestamp, no need to continue. */
--		if (timestamp)
-+		if (cs_timestamp)
- 			break;
- 
- 		/*
-@@ -875,7 +873,7 @@ static int cs_etm__setup_queue(struct cs_etm_auxtrace *etm,
- 	 * queue and will be processed in cs_etm__process_queues().
- 	 */
- 	cs_queue_nr = TO_CS_QUEUE_NR(queue_nr, trace_chan_id);
--	ret = auxtrace_heap__add(&etm->heap, cs_queue_nr, timestamp);
-+	ret = auxtrace_heap__add(&etm->heap, cs_queue_nr, cs_timestamp);
- out:
- 	return ret;
- }
-@@ -2162,7 +2160,7 @@ static int cs_etm__process_queues(struct cs_etm_auxtrace *etm)
- 	int ret = 0;
- 	unsigned int cs_queue_nr, queue_nr;
- 	u8 trace_chan_id;
--	u64 timestamp;
-+	u64 cs_timestamp;
- 	struct auxtrace_queue *queue;
- 	struct cs_etm_queue *etmq;
- 	struct cs_etm_traceid_queue *tidq;
-@@ -2224,9 +2222,9 @@ refetch:
- 		if (ret)
- 			goto out;
- 
--		timestamp = cs_etm__etmq_get_timestamp(etmq, &trace_chan_id);
-+		cs_timestamp = cs_etm__etmq_get_timestamp(etmq, &trace_chan_id);
- 
--		if (!timestamp) {
-+		if (!cs_timestamp) {
- 			/*
- 			 * Function cs_etm__decode_data_block() returns when
- 			 * there is no more traces to decode in the current
-@@ -2249,7 +2247,7 @@ refetch:
- 		 * this queue/traceID.
- 		 */
- 		cs_queue_nr = TO_CS_QUEUE_NR(queue_nr, trace_chan_id);
--		ret = auxtrace_heap__add(&etm->heap, cs_queue_nr, timestamp);
-+		ret = auxtrace_heap__add(&etm->heap, cs_queue_nr, cs_timestamp);
- 	}
- 
- out:
-@@ -2321,7 +2319,7 @@ static int cs_etm__process_event(struct perf_session *session,
- 				 struct perf_tool *tool)
- {
- 	int err = 0;
--	u64 timestamp;
-+	u64 sample_kernel_timestamp;
- 	struct cs_etm_auxtrace *etm = container_of(session->auxtrace,
- 						   struct cs_etm_auxtrace,
- 						   auxtrace);
-@@ -2335,11 +2333,11 @@ static int cs_etm__process_event(struct perf_session *session,
- 	}
- 
- 	if (sample->time && (sample->time != (u64) -1))
--		timestamp = sample->time;
-+		sample_kernel_timestamp = sample->time;
- 	else
--		timestamp = 0;
-+		sample_kernel_timestamp = 0;
- 
--	if (timestamp || etm->timeless_decoding) {
-+	if (sample_kernel_timestamp || etm->timeless_decoding) {
- 		err = cs_etm__update_queues(etm);
- 		if (err)
- 			return err;
-diff --git a/tools/perf/util/cs-etm.h b/tools/perf/util/cs-etm.h
-index 3613043ffb47..726938cceed2 100644
---- a/tools/perf/util/cs-etm.h
-+++ b/tools/perf/util/cs-etm.h
-@@ -172,8 +172,8 @@ struct cs_etm_packet_queue {
- 	u32 head;
- 	u32 tail;
- 	u32 instr_count;
--	u64 timestamp;
--	u64 next_timestamp;
-+	u64 cs_timestamp;
-+	u64 next_cs_timestamp;
- 	struct cs_etm_packet packet_buffer[CS_ETM_PACKET_MAX_BUFFER];
- };
- 
--- 
-2.31.0
-
diff --git a/dev-util/perf/files/5.3.7-cs-etm-Remove-callback-cs_etm_find_snapshot.patch b/dev-util/perf/files/5.3.7-cs-etm-Remove-callback-cs_etm_find_snapshot.patch
deleted file mode 100644
index 2b9af28..0000000
--- a/dev-util/perf/files/5.3.7-cs-etm-Remove-callback-cs_etm_find_snapshot.patch
+++ /dev/null
@@ -1,228 +0,0 @@
-Local changes in the patch to resolve the conflicts with 5.3.7 perf:
-- struct evlist changed to struct perf_evlist.
-
-From 2f01c200d4405c4562e45e8bb4de44a5ce37b217 Mon Sep 17 00:00:00 2001
-From: Leo Yan <leo.yan@linaro.org>
-Date: Thu, 1 Jul 2021 17:35:36 +0800
-Subject: [PATCH] perf cs-etm: Remove callback cs_etm_find_snapshot()
-
-The callback cs_etm_find_snapshot() is invoked for snapshot mode, its
-main purpose is to find the correct AUX trace data and returns "head"
-and "old" (we can call "old" as "old head") to the caller, the caller
-__auxtrace_mmap__read() uses these two pointers to decide the AUX trace
-data size.
-
-This patch removes cs_etm_find_snapshot() with below reasons:
-
-- The first thing in cs_etm_find_snapshot() is to check if the head has
-  wrapped around, if it is not, directly bails out.  The checking is
-  pointless, this is because the "head" and "old" pointers both are
-  monotonical increasing so they never wrap around.
-
-- cs_etm_find_snapshot() adjusts the "head" and "old" pointers and
-  assumes the AUX ring buffer is fully filled with the hardware trace
-  data, so it always subtracts the difference "mm->len" from "head" to
-  get "old".  Let's imagine the snapshot is taken in very short
-  interval, the tracers only fill a small chunk of the trace data into
-  the AUX ring buffer, in this case, it's wrongly to copy the whole the
-  AUX ring buffer to perf file.
-
-- As the "head" and "old" pointers are monotonically increased, the
-  function __auxtrace_mmap__read() handles these two pointers properly.
-  It calculates the reminders for these two pointers, and the size is
-  clamped to be never more than "snapshot_size".  We can simply reply on
-  the function __auxtrace_mmap__read() to calculate the correct result
-  for data copying, it's not necessary to add Arm CoreSight specific
-  callback.
-
-Signed-off-by: Leo Yan <leo.yan@linaro.org>
-Reviewed-by: James Clark <james.clark@arm.com>
-Tested-by: James Clark <james.clark@arm.com>
-Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
-Cc: Daniel Kiss <daniel.kiss@arm.com>
-Cc: Denis Nikitin <denik@google.com>
-Cc: Jiri Olsa <jolsa@redhat.com>
-Cc: John Garry <john.garry@huawei.com>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
-Cc: Mike Leach <mike.leach@linaro.org>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
-Cc: Will Deacon <will@kernel.org>
-Cc: linux-arm-kernel@lists.infradead.org
-Cc: coresight@lists.linaro.org
-Link: http://lore.kernel.org/lkml/20210701093537.90759-3-leo.yan@linaro.org
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/arch/arm/util/cs-etm.c | 133 ------------------------------
- 1 file changed, 133 deletions(-)
-
-diff --git a/tools/perf/arch/arm/util/cs-etm.c b/tools/perf/arch/arm/util/cs-etm.c
-index d942f118d32c..85168d87b2d7 100644
---- a/tools/perf/arch/arm/util/cs-etm.c
-+++ b/tools/perf/arch/arm/util/cs-etm.c
-@@ -38,8 +38,6 @@ struct cs_etm_recording {
- 	struct auxtrace_record	itr;
- 	struct perf_pmu		*cs_etm_pmu;
- 	struct perf_evlist	*evlist;
--	int			wrapped_cnt;
--	bool			*wrapped;
- 	bool			snapshot_mode;
- 	size_t			snapshot_size;
- };
-@@ -734,135 +732,6 @@ static int cs_etm_info_fill(struct auxtrace_record *itr,
- 	return 0;
- }
- 
--static int cs_etm_alloc_wrapped_array(struct cs_etm_recording *ptr, int idx)
--{
--	bool *wrapped;
--	int cnt = ptr->wrapped_cnt;
--
--	/* Make @ptr->wrapped as big as @idx */
--	while (cnt <= idx)
--		cnt++;
--
--	/*
--	 * Free'ed in cs_etm_recording_free().  Using realloc() to avoid
--	 * cross compilation problems where the host's system supports
--	 * reallocarray() but not the target.
--	 */
--	wrapped = realloc(ptr->wrapped, cnt * sizeof(bool));
--	if (!wrapped)
--		return -ENOMEM;
--
--	wrapped[cnt - 1] = false;
--	ptr->wrapped_cnt = cnt;
--	ptr->wrapped = wrapped;
--
--	return 0;
--}
--
--static bool cs_etm_buffer_has_wrapped(unsigned char *buffer,
--				      size_t buffer_size, u64 head)
--{
--	u64 i, watermark;
--	u64 *buf = (u64 *)buffer;
--	size_t buf_size = buffer_size;
--
--	/*
--	 * We want to look the very last 512 byte (chosen arbitrarily) in
--	 * the ring buffer.
--	 */
--	watermark = buf_size - 512;
--
--	/*
--	 * @head is continuously increasing - if its value is equal or greater
--	 * than the size of the ring buffer, it has wrapped around.
--	 */
--	if (head >= buffer_size)
--		return true;
--
--	/*
--	 * The value of @head is somewhere within the size of the ring buffer.
--	 * This can be that there hasn't been enough data to fill the ring
--	 * buffer yet or the trace time was so long that @head has numerically
--	 * wrapped around.  To find we need to check if we have data at the very
--	 * end of the ring buffer.  We can reliably do this because mmap'ed
--	 * pages are zeroed out and there is a fresh mapping with every new
--	 * session.
--	 */
--
--	/* @head is less than 512 byte from the end of the ring buffer */
--	if (head > watermark)
--		watermark = head;
--
--	/*
--	 * Speed things up by using 64 bit transactions (see "u64 *buf" above)
--	 */
--	watermark >>= 3;
--	buf_size >>= 3;
--
--	/*
--	 * If we find trace data at the end of the ring buffer, @head has
--	 * been there and has numerically wrapped around at least once.
--	 */
--	for (i = watermark; i < buf_size; i++)
--		if (buf[i])
--			return true;
--
--	return false;
--}
--
--static int cs_etm_find_snapshot(struct auxtrace_record *itr,
--				int idx, struct auxtrace_mmap *mm,
--				unsigned char *data,
--				u64 *head, u64 *old)
--{
--	int err;
--	bool wrapped;
--	struct cs_etm_recording *ptr =
--			container_of(itr, struct cs_etm_recording, itr);
--
--	/*
--	 * Allocate memory to keep track of wrapping if this is the first
--	 * time we deal with this *mm.
--	 */
--	if (idx >= ptr->wrapped_cnt) {
--		err = cs_etm_alloc_wrapped_array(ptr, idx);
--		if (err)
--			return err;
--	}
--
--	/*
--	 * Check to see if *head has wrapped around.  If it hasn't only the
--	 * amount of data between *head and *old is snapshot'ed to avoid
--	 * bloating the perf.data file with zeros.  But as soon as *head has
--	 * wrapped around the entire size of the AUX ring buffer it taken.
--	 */
--	wrapped = ptr->wrapped[idx];
--	if (!wrapped && cs_etm_buffer_has_wrapped(data, mm->len, *head)) {
--		wrapped = true;
--		ptr->wrapped[idx] = true;
--	}
--
--	pr_debug3("%s: mmap index %d old head %zu new head %zu size %zu\n",
--		  __func__, idx, (size_t)*old, (size_t)*head, mm->len);
--
--	/* No wrap has occurred, we can just use *head and *old. */
--	if (!wrapped)
--		return 0;
--
--	/*
--	 * *head has wrapped around - adjust *head and *old to pickup the
--	 * entire content of the AUX buffer.
--	 */
--	if (*head >= mm->len) {
--		*old = *head - mm->len;
--	} else {
--		*head += mm->len;
--		*old = *head - mm->len;
--	}
--
--	return 0;
--}
--
- static int cs_etm_snapshot_start(struct auxtrace_record *itr)
- {
- 	struct cs_etm_recording *ptr =
-@@ -900,7 +769,6 @@ static void cs_etm_recording_free(struct auxtrace_record *itr)
- 	struct cs_etm_recording *ptr =
- 			container_of(itr, struct cs_etm_recording, itr);
- 
--	zfree(&ptr->wrapped);
- 	free(ptr);
- }
- 
-@@ -928,7 +796,6 @@ struct auxtrace_record *cs_etm_record_init(int *err)
- 	ptr->itr.recording_options	= cs_etm_recording_options;
- 	ptr->itr.info_priv_size		= cs_etm_info_priv_size;
- 	ptr->itr.info_fill		= cs_etm_info_fill;
--	ptr->itr.find_snapshot		= cs_etm_find_snapshot;
- 	ptr->itr.snapshot_start		= cs_etm_snapshot_start;
- 	ptr->itr.snapshot_finish	= cs_etm_snapshot_finish;
- 	ptr->itr.reference		= cs_etm_reference;
--- 
-2.35.0.rc2.247.g8bbb082509-goog
-
diff --git a/dev-util/perf/files/5.3.7-cs-etm-Set-time-on-synthesised-samples-to-prese.patch b/dev-util/perf/files/5.3.7-cs-etm-Set-time-on-synthesised-samples-to-prese.patch
deleted file mode 100644
index f24c4de..0000000
--- a/dev-util/perf/files/5.3.7-cs-etm-Set-time-on-synthesised-samples-to-prese.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-From b3f84fb3650b32adc89b89384887b977a999a9f6 Mon Sep 17 00:00:00 2001
-From: James Clark <james.clark@arm.com>
-Date: Mon, 10 May 2021 17:32:48 +0300
-Subject: [PATCH 1/2] perf cs-etm: Set time on synthesised samples to preserve
- ordering
-
-The following attribute is set when synthesising samples in
-timed decoding mode:
-
-    attr.sample_type |= PERF_SAMPLE_TIME;
-
-This results in new samples that appear to have timestamps but
-because we don't assign any timestamps to the samples, when the
-resulting inject file is opened again, the synthesised samples
-will be on the wrong side of the MMAP or COMM events.
-
-For example, this results in the samples being associated with
-the perf binary, rather than the target of the record:
-
-    perf record -e cs_etm/@tmc_etr0/u top
-    perf inject -i perf.data -o perf.inject --itrace=i100il
-    perf report -i perf.inject
-
-Where 'Command' == perf should show as 'top':
-
-    # Overhead  Command  Source Shared Object  Source Symbol           Target Symbol           Basic Block Cycles
-    # ........  .......  ....................  ......................  ......................  ..................
-    #
-        31.08%  perf     [unknown]             [.] 0x000000000040c3f8  [.] 0x000000000040c3e8  -
-
-If the perf.data file is opened directly with perf, without the
-inject step, then this already works correctly because the
-events are synthesised after the COMM and MMAP events and
-no second sorting happens. Re-sorting only happens when opening
-the perf.inject file for the second time so timestamps are
-needed.
-
-Using the timestamp from the AUX record mirrors the current
-behaviour when opening directly with perf, because the events
-are generated on the call to cs_etm__process_queues().
-
-The ETM trace could optionally contain time stamps, but there is
-no way to correlate this with the kernel time. So, the best available
-time value is that of the AUX_RECORD header. This patch uses
-the timestamp from the header for all the samples. The ordering of the
-samples are implicit in the trace and thus is fine with respect to
-relative ordering.
-
-Reviewed-by: Leo Yan <leo.yan@linaro.org>
-Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
-Co-developed-by: Al Grant <al.grant@arm.com>
-Signed-off-by: Al Grant <al.grant@arm.com>
-Signed-off-by: James Clark <james.clark@arm.com>
-Acked-by: Suzuki K Poulos <suzuki.poulose@arm.com>
-Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
-Cc: Anshuman Khandual <anshuman.khandual@arm.com>
-Cc: Branislav Rankov <branislav.rankov@arm.com>
-Cc: Denis Nikitin <denik@chromium.org>
-Cc: Jiri Olsa <jolsa@redhat.com>
-Cc: John Garry <john.garry@huawei.com>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Mike Leach <mike.leach@linaro.org>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Cc: Will Deacon <will@kernel.org>
-Cc: linux-arm-kernel@lists.infradead.org
-Cc: coresight@lists.linaro.org
-Link: https://lore.kernel.org/r/20210510143248.27423-3-james.clark@arm.com
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/util/cs-etm.c | 15 +++++++++++++--
- 1 file changed, 13 insertions(+), 2 deletions(-)
-
-diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
-index ad83a97..a557f83 100644
---- a/tools/perf/util/cs-etm.c
-+++ b/tools/perf/util/cs-etm.c
-@@ -52,6 +52,7 @@ struct cs_etm_auxtrace {
- 	u8 sample_instructions;
- 
- 	int num_cpu;
-+	u64 latest_kernel_timestamp;
- 	u32 auxtrace_type;
- 	u64 branches_sample_type;
- 	u64 branches_id;
-@@ -1148,6 +1149,8 @@ static int cs_etm__synth_instruction_sample(struct cs_etm_queue *etmq,
- 	event->sample.header.misc = cs_etm__cpu_mode(etmq, addr);
- 	event->sample.header.size = sizeof(struct perf_event_header);
- 
-+	if (!etm->timeless_decoding)
-+		sample.time = etm->latest_kernel_timestamp;
- 	sample.ip = addr;
- 	sample.pid = tidq->pid;
- 	sample.tid = tidq->tid;
-@@ -1202,6 +1205,8 @@ static int cs_etm__synth_branch_sample(struct cs_etm_queue *etmq,
- 	event->sample.header.misc = cs_etm__cpu_mode(etmq, ip);
- 	event->sample.header.size = sizeof(struct perf_event_header);
- 
-+	if (!etm->timeless_decoding)
-+		sample.time = etm->latest_kernel_timestamp;
- 	sample.ip = ip;
- 	sample.pid = tidq->pid;
- 	sample.tid = tidq->tid;
-@@ -2355,9 +2360,15 @@ static int cs_etm__process_event(struct perf_session *session,
- 	else if (event->header.type == PERF_RECORD_SWITCH_CPU_WIDE)
- 		return cs_etm__process_switch_cpu_wide(etm, event);
- 
--	if (!etm->timeless_decoding &&
--	    event->header.type == PERF_RECORD_AUX)
-+	if (!etm->timeless_decoding && event->header.type == PERF_RECORD_AUX) {
-+		/*
-+		 * Record the latest kernel timestamp available in the header
-+		 * for samples so that synthesised samples occur from this point
-+		 * onwards.
-+		 */
-+		etm->latest_kernel_timestamp = sample_kernel_timestamp;
- 		return cs_etm__process_queues(etm);
-+	}
- 
- 	return 0;
- }
--- 
-2.31.0
-
diff --git a/dev-util/perf/files/5.3.7-cs-etm-Split-Coresight-decode-by-aux-records.patch b/dev-util/perf/files/5.3.7-cs-etm-Split-Coresight-decode-by-aux-records.patch
deleted file mode 100644
index 70ccfbf..0000000
--- a/dev-util/perf/files/5.3.7-cs-etm-Split-Coresight-decode-by-aux-records.patch
+++ /dev/null
@@ -1,309 +0,0 @@
-Modifications in the patch resolving conflicts:
-- perf_record_aux renamed to aux_event;
-- perf_record_auxtrace renamed to auxtrace_event;
-- evlist__event2evsel renamed to perf_evlist__event2evsel;
-- evsel__parse_sample renamed to perf_evsel__parse_sample;
-- Replace "PRI_lx64 with l"PRIx64.
-
-From a05337312ae7f16c15b01ce77c85232f6a3dca1d Mon Sep 17 00:00:00 2001
-From: James Clark <james.clark@arm.com>
-Date: Thu, 24 Jun 2021 17:43:02 +0100
-Subject: [PATCH] perf cs-etm: Split Coresight decode by aux records
-
-Populate the auxtrace queues using AUX records rather than whole
-auxtrace buffers so that the decoder is reset between each aux record.
-
-This is similar to the auxtrace_queues__process_index() ->
-auxtrace_queues__add_indexed_event() flow where
-perf_session__peek_event() is used to read AUXTRACE events out of random
-positions in the file based on the auxtrace index.
-
-But now we loop over all PERF_RECORD_AUX events instead of AUXTRACE
-buffers. For each PERF_RECORD_AUX event, we find the corresponding
-AUXTRACE buffer using the index, and add a fragment of that buffer to
-the auxtrace queues.
-
-No other changes to decoding were made, apart from populating the
-auxtrace queues. The result of decoding is identical to before, except
-in cases where decoding failed completely, due to not resetting the
-decoder.
-
-The reason for this change is because AUX records are emitted any time
-tracing is disabled, for example when the process is scheduled out.
-Because ETM was disabled and enabled again, the decoder also needs to be
-reset to force the search for a sync packet. Otherwise there would be
-fatal decoding errors.
-
-Testing
-=======
-
-Testing was done with the following script, to diff the decoding results
-between the patched and un-patched versions of perf:
-
-	#!/bin/bash
-	set -ex
-
-	$1 script -i $3 $4 > split.script
-	$2 script -i $3 $4 > default.script
-
-	diff split.script default.script | head -n 20
-
-And it was run like this, with various itrace options depending on the
-quantity of synthesised events:
-
-	compare.sh ./perf-patched ./perf-default perf-per-cpu-2-threads.data --itrace=i100000ns
-
-No changes in output were observed in the following scenarios:
-
-* Simple per-cpu
-	perf record -e cs_etm/@tmc_etr0/u top
-
-* Per-thread, single thread
-	perf record -e cs_etm/@tmc_etr0/u --per-thread ./threads_C
-
-* Per-thread multiple threads (but only one thread collected data):
-	perf record -e cs_etm/@tmc_etr0/u --per-thread --pid 4596,4597
-
-* Per-thread multiple threads (both threads collected data):
-	perf record -e cs_etm/@tmc_etr0/u --per-thread --pid 4596,4597
-
-* Per-cpu explicit threads:
-	perf record -e cs_etm/@tmc_etr0/u --pid 853,854
-
-* System-wide (per-cpu):
-    perf record -e cs_etm/@tmc_etr0/u -a
-
-* No data collected (no aux buffers)
-	Can happen with any command when run for a short period
-
-* Containing truncated records
-	Can happen with any command
-
-* Containing aux records with 0 size
-	Can happen with any command
-
-* Snapshot mode (various files with and without buffer wrap)
-	perf record -e cs_etm/@tmc_etr0/u -a --snapshot
-
-Some differences were observed in the following scenario:
-
-* Snapshot mode (with duplicate buffers)
-	perf record -e cs_etm/@tmc_etr0/u -a --snapshot
-
-Fewer samples are generated in snapshot mode if duplicate buffers
-were gathered because buffers with the same offset are now only added
-once. This gives different, but more correct results and no duplicate
-data is decoded any more.
-
-Signed-off-by: James Clark <james.clark@arm.com>
-Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
-Tested-by: Leo Yan <leo.yan@linaro.org>
-Cc: Al Grant <al.grant@arm.com>
-Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
-Cc: Anshuman Khandual <anshuman.khandual@arm.com>
-Cc: Branislav Rankov <branislav.rankov@arm.com>
-Cc: Denis Nikitin <denik@chromium.org>
-Cc: Jiri Olsa <jolsa@redhat.com>
-Cc: John Garry <john.garry@huawei.com>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Mike Leach <mike.leach@linaro.org>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
-Cc: Will Deacon <will@kernel.org>
-Cc: coresight@lists.linaro.org
-Cc: linux-arm-kernel@lists.infradead.org
-Link: http://lore.kernel.org/lkml/20210624164303.28632-2-james.clark@arm.com
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/util/cs-etm.c | 168 ++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 167 insertions(+), 1 deletion(-)
-
-diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
-index 5095c1c4c6df..a57fabee6d53 100644
---- a/tools/perf/util/cs-etm.c
-+++ b/tools/perf/util/cs-etm.c
-@@ -2620,6 +2620,172 @@ static u64 *cs_etm__create_meta_blk(u64 *buff_in, int *buff_in_offset,
- 	return metadata;
- }
- 
-+/**
-+ * Puts a fragment of an auxtrace buffer into the auxtrace queues based
-+ * on the bounds of aux_event, if it matches with the buffer that's at
-+ * file_offset.
-+ *
-+ * Normally, whole auxtrace buffers would be added to the queue. But we
-+ * want to reset the decoder for every PERF_RECORD_AUX event, and the decoder
-+ * is reset across each buffer, so splitting the buffers up in advance has
-+ * the same effect.
-+ */
-+static int cs_etm__queue_aux_fragment(struct perf_session *session, off_t file_offset, size_t sz,
-+				      struct aux_event *aux_event, struct perf_sample *sample)
-+{
-+	int err;
-+	char buf[PERF_SAMPLE_MAX_SIZE];
-+	union perf_event *auxtrace_event_union;
-+	struct auxtrace_event *auxtrace_event;
-+	union perf_event auxtrace_fragment;
-+	__u64 aux_offset, aux_size;
-+
-+	struct cs_etm_auxtrace *etm = container_of(session->auxtrace,
-+						   struct cs_etm_auxtrace,
-+						   auxtrace);
-+
-+	/*
-+	 * There should be a PERF_RECORD_AUXTRACE event at the file_offset that we got
-+	 * from looping through the auxtrace index.
-+	 */
-+	err = perf_session__peek_event(session, file_offset, buf,
-+				       PERF_SAMPLE_MAX_SIZE, &auxtrace_event_union, NULL);
-+	if (err)
-+		return err;
-+	auxtrace_event = &auxtrace_event_union->auxtrace;
-+	if (auxtrace_event->header.type != PERF_RECORD_AUXTRACE)
-+		return -EINVAL;
-+
-+	if (auxtrace_event->header.size < sizeof(struct auxtrace_event) ||
-+		auxtrace_event->header.size != sz) {
-+		return -EINVAL;
-+	}
-+
-+	/*
-+	 * In per-thread mode, CPU is set to -1, but TID will be set instead. See
-+	 * auxtrace_mmap_params__set_idx(). Return 'not found' if neither CPU nor TID match.
-+	 */
-+	if ((auxtrace_event->cpu == (__u32) -1 && auxtrace_event->tid != sample->tid) ||
-+			auxtrace_event->cpu != sample->cpu)
-+		return 1;
-+
-+	if (aux_event->flags & PERF_AUX_FLAG_OVERWRITE) {
-+		/*
-+		 * Clamp size in snapshot mode. The buffer size is clamped in
-+		 * __auxtrace_mmap__read() for snapshots, so the aux record size doesn't reflect
-+		 * the buffer size.
-+		 */
-+		aux_size = min(aux_event->aux_size, auxtrace_event->size);
-+
-+		/*
-+		 * In this mode, the head also points to the end of the buffer so aux_offset
-+		 * needs to have the size subtracted so it points to the beginning as in normal mode
-+		 */
-+		aux_offset = aux_event->aux_offset - aux_size;
-+	} else {
-+		aux_size = aux_event->aux_size;
-+		aux_offset = aux_event->aux_offset;
-+	}
-+
-+	if (aux_offset >= auxtrace_event->offset &&
-+	    aux_offset + aux_size <= auxtrace_event->offset + auxtrace_event->size) {
-+		/*
-+		 * If this AUX event was inside this buffer somewhere, create a new auxtrace event
-+		 * based on the sizes of the aux event, and queue that fragment.
-+		 */
-+		auxtrace_fragment.auxtrace = *auxtrace_event;
-+		auxtrace_fragment.auxtrace.size = aux_size;
-+		auxtrace_fragment.auxtrace.offset = aux_offset;
-+		file_offset += aux_offset - auxtrace_event->offset + auxtrace_event->header.size;
-+
-+		pr_debug3("CS ETM: Queue buffer size: %#l"PRIx64" offset: %#l"PRIx64
-+			  " tid: %d cpu: %d\n", aux_size, aux_offset, sample->tid, sample->cpu);
-+		return auxtrace_queues__add_event(&etm->queues, session, &auxtrace_fragment,
-+						  file_offset, NULL);
-+	}
-+
-+	/* Wasn't inside this buffer, but there were no parse errors. 1 == 'not found' */
-+	return 1;
-+}
-+
-+static int cs_etm__queue_aux_records_cb(struct perf_session *session, union perf_event *event,
-+					u64 offset __maybe_unused, void *data __maybe_unused)
-+{
-+	struct perf_sample sample;
-+	int ret;
-+	struct auxtrace_index_entry *ent;
-+	struct auxtrace_index *auxtrace_index;
-+	struct evsel *evsel;
-+	size_t i;
-+
-+	/* Don't care about any other events, we're only queuing buffers for AUX events */
-+	if (event->header.type != PERF_RECORD_AUX)
-+		return 0;
-+
-+	if (event->header.size < sizeof(struct aux_event))
-+		return -EINVAL;
-+
-+	/* Truncated Aux records can have 0 size and shouldn't result in anything being queued. */
-+	if (!event->aux.aux_size)
-+		return 0;
-+
-+	/*
-+	 * Parse the sample, we need the sample_id_all data that comes after the event so that the
-+	 * CPU or PID can be matched to an AUXTRACE buffer's CPU or PID.
-+	 */
-+	evsel = perf_evlist__event2evsel(session->evlist, event);
-+	if (!evsel)
-+		return -EINVAL;
-+	ret = perf_evsel__parse_sample(evsel, event, &sample);
-+	if (ret)
-+		return ret;
-+
-+	/*
-+	 * Loop through the auxtrace index to find the buffer that matches up with this aux event.
-+	 */
-+	list_for_each_entry(auxtrace_index, &session->auxtrace_index, list) {
-+		for (i = 0; i < auxtrace_index->nr; i++) {
-+			ent = &auxtrace_index->entries[i];
-+			ret = cs_etm__queue_aux_fragment(session, ent->file_offset,
-+							 ent->sz, &event->aux, &sample);
-+			/*
-+			 * Stop search on error or successful values. Continue search on
-+			 * 1 ('not found')
-+			 */
-+			if (ret != 1)
-+				return ret;
-+		}
-+	}
-+
-+	/*
-+	 * Couldn't find the buffer corresponding to this aux record, something went wrong. Warn but
-+	 * don't exit with an error because it will still be possible to decode other aux records.
-+	 */
-+	pr_err("CS ETM: Couldn't find auxtrace buffer for aux_offset: %#l"PRIx64
-+	       " tid: %d cpu: %d\n", event->aux.aux_offset, sample.tid, sample.cpu);
-+	return 0;
-+}
-+
-+static int cs_etm__queue_aux_records(struct perf_session *session)
-+{
-+	struct auxtrace_index *index = list_first_entry_or_null(&session->auxtrace_index,
-+								struct auxtrace_index, list);
-+	if (index && index->nr > 0)
-+		return perf_session__peek_events(session, session->header.data_offset,
-+						 session->header.data_size,
-+						 cs_etm__queue_aux_records_cb, NULL);
-+
-+	/*
-+	 * We would get here if there are no entries in the index (either no auxtrace
-+	 * buffers or no index at all). Fail silently as there is the possibility of
-+	 * queueing them in cs_etm__process_auxtrace_event() if etm->data_queued is still
-+	 * false.
-+	 *
-+	 * In that scenario, buffers will not be split by AUX records.
-+	 */
-+	return 0;
-+}
-+
- int cs_etm__process_auxtrace_info(union perf_event *event,
- 				  struct perf_session *session)
- {
-@@ -2819,7 +2985,7 @@ int cs_etm__process_auxtrace_info(union perf_event *event,
- 	if (err)
- 		goto err_delete_thread;
- 
--	err = auxtrace_queues__process_index(&etm->queues, session);
-+	err = cs_etm__queue_aux_records(session);
- 	if (err)
- 		goto err_delete_thread;
- 
--- 
-2.33.0.rc1.237.g0d66db33f3-goog
-
diff --git a/dev-util/perf/files/5.3.7-cs-etm-Start-reading-Z-itrace-option.patch b/dev-util/perf/files/5.3.7-cs-etm-Start-reading-Z-itrace-option.patch
deleted file mode 100644
index 084a320..0000000
--- a/dev-util/perf/files/5.3.7-cs-etm-Start-reading-Z-itrace-option.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 58e2d92eca817ba775028223be417be94b306ac6 Mon Sep 17 00:00:00 2001
-From: James Clark <james.clark@arm.com>
-Date: Mon, 17 May 2021 16:17:40 +0300
-Subject: [PATCH 2/3] perf cs-etm: Start reading 'Z' --itrace option
-
-Recently the 'Z' --itrace option was added to override detection
-of timeless decoding. This is also useful in Coresight to work around
-issues with invalid timestamps on some hardware.
-
-When the 'Z' option is provided, the existing timeless decoding mode
-will be used, even if timestamps were recorded.
-
-Signed-off-by: James Clark <james.clark@arm.com>
-Reviewed-by: Leo Yan <leo.yan@linaro.org>
-Cc: Al Grant <al.grant@arm.com>
-Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
-Cc: Anshuman Khandual <anshuman.khandual@arm.com>
-Cc: Branislav Rankov <branislav.rankov@arm.com>
-Cc: Denis Nikitin <denik@chromium.org>
-Cc: Jiri Olsa <jolsa@redhat.com>
-Cc: John Garry <john.garry@huawei.com>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
-Cc: Mike Leach <mike.leach@linaro.org>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
-Cc: Will Deacon <will@kernel.org>
-Cc: coresight@lists.linaro.org
-Cc: linux-arm-kernel@lists.infradead.org
-Link: http://lore.kernel.org/lkml/20210517131741.3027-3-james.clark@arm.com
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/util/cs-etm.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
-index 2af9ab5ca3fd..639aad121bfe 100644
---- a/tools/perf/util/cs-etm.c
-+++ b/tools/perf/util/cs-etm.c
-@@ -2418,6 +2418,10 @@ static bool cs_etm__is_timeless_decoding(struct cs_etm_auxtrace *etm)
- 	struct perf_evlist *evlist = etm->session->evlist;
- 	bool timeless_decoding = true;
- 
-+	/* Override timeless mode with user input from --itrace=Z */
-+	if (etm->synth_opts.timeless_decoding)
-+		return true;
-+
- 	/*
- 	 * Circle through the list of event and complain if we find one
- 	 * with the time bit set.
--- 
-2.32.0.605.g8dce9f2422-goog
-
diff --git a/dev-util/perf/files/5.3.7-cs-etm-Swap-packets.patch b/dev-util/perf/files/5.3.7-cs-etm-Swap-packets.patch
deleted file mode 100644
index 2ab0c09..0000000
--- a/dev-util/perf/files/5.3.7-cs-etm-Swap-packets.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From d01751563caf0dec7be36f81de77cc0197b77e59 Mon Sep 17 00:00:00 2001
-From: Leo Yan <leo.yan@linaro.org>
-Date: Wed, 19 Feb 2020 10:18:07 +0800
-Subject: [PATCH 1/5] perf cs-etm: Swap packets for instruction samples
-
-If use option '--itrace=iNNN' with Arm CoreSight trace data, perf tool
-fails inject instruction samples; the root cause is the packets are only
-swapped for branch samples and last branches but not for instruction
-samples, so the new coming packets cannot be properly handled for only
-synthesizing instruction samples.
-
-To fix this issue, this patch refactors the code with a new function
-cs_etm__packet_swap() which is used to swap packets and adds the
-condition for instruction samples.
-
-Signed-off-by: Leo Yan <leo.yan@linaro.org>
-Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
-Reviewed-by: Mike Leach <mike.leach@linaro.org>
-Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
-Cc: Jiri Olsa <jolsa@redhat.com>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Cc: Robert Walker <robert.walker@arm.com>
-Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
-Cc: coresight ml <coresight@lists.linaro.org>
-Cc: linux-arm-kernel@lists.infradead.org
-Link: http://lore.kernel.org/lkml/20200219021811.20067-2-leo.yan@linaro.org
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/util/cs-etm.c | 39 +++++++++++++++++++--------------------
- 1 file changed, 19 insertions(+), 20 deletions(-)
-
-diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
-index b3b3fe3ea345..294b09cfb034 100644
---- a/tools/perf/util/cs-etm.c
-+++ b/tools/perf/util/cs-etm.c
-@@ -363,6 +363,23 @@ struct cs_etm_packet_queue
- 	return NULL;
- }
- 
-+static void cs_etm__packet_swap(struct cs_etm_auxtrace *etm,
-+				struct cs_etm_traceid_queue *tidq)
-+{
-+	struct cs_etm_packet *tmp;
-+
-+	if (etm->sample_branches || etm->synth_opts.last_branch ||
-+	    etm->sample_instructions) {
-+		/*
-+		 * Swap PACKET with PREV_PACKET: PACKET becomes PREV_PACKET for
-+		 * the next incoming packet.
-+		 */
-+		tmp = tidq->packet;
-+		tidq->packet = tidq->prev_packet;
-+		tidq->prev_packet = tmp;
-+	}
-+}
-+
- static void cs_etm__packet_dump(const char *pkt_string)
- {
- 	const char *color = PERF_COLOR_BLUE;
-@@ -1342,7 +1359,6 @@ static int cs_etm__sample(struct cs_etm_queue *etmq,
- 			  struct cs_etm_traceid_queue *tidq)
- {
- 	struct cs_etm_auxtrace *etm = etmq->etm;
--	struct cs_etm_packet *tmp;
- 	int ret;
- 	u8 trace_chan_id = tidq->trace_chan_id;
- 	u64 instrs_executed = tidq->packet->instr_count;
-@@ -1406,15 +1422,7 @@ static int cs_etm__sample(struct cs_etm_queue *etmq,
- 		}
- 	}
- 
--	if (etm->sample_branches || etm->synth_opts.last_branch) {
--		/*
--		 * Swap PACKET with PREV_PACKET: PACKET becomes PREV_PACKET for
--		 * the next incoming packet.
--		 */
--		tmp = tidq->packet;
--		tidq->packet = tidq->prev_packet;
--		tidq->prev_packet = tmp;
--	}
-+	cs_etm__packet_swap(etm, tidq);
- 
- 	return 0;
- }
-@@ -1443,7 +1451,6 @@ static int cs_etm__flush(struct cs_etm_queue *etmq,
- {
- 	int err = 0;
- 	struct cs_etm_auxtrace *etm = etmq->etm;
--	struct cs_etm_packet *tmp;
- 
- 	/* Handle start tracing packet */
- 	if (tidq->prev_packet->sample_type == CS_ETM_EMPTY)
-@@ -1478,15 +1485,7 @@ static int cs_etm__flush(struct cs_etm_queue *etmq,
- 	}
- 
- swap_packet:
--	if (etm->sample_branches || etm->synth_opts.last_branch) {
--		/*
--		 * Swap PACKET with PREV_PACKET: PACKET becomes PREV_PACKET for
--		 * the next incoming packet.
--		 */
--		tmp = tidq->packet;
--		tidq->packet = tidq->prev_packet;
--		tidq->prev_packet = tmp;
--	}
-+	cs_etm__packet_swap(etm, tidq);
- 
- 	return err;
- }
--- 
-2.32.0.272.g935e593368-goog
-
diff --git a/dev-util/perf/files/5.3.7-session-Add-facility-to-peek-at-all-events.patch b/dev-util/perf/files/5.3.7-session-Add-facility-to-peek-at-all-events.patch
deleted file mode 100644
index dfa8806..0000000
--- a/dev-util/perf/files/5.3.7-session-Add-facility-to-peek-at-all-events.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 9ed7d21233c3ff18ccb79584b033344f245ed0a3 Mon Sep 17 00:00:00 2001
-From: Adrian Hunter <adrian.hunter@intel.com>
-Date: Fri, 15 Nov 2019 14:42:20 +0200
-Subject: [PATCH 1/2] perf session: Add facility to peek at all events
-
-AUX area samples are not limited in how far back in time the sample
-could start. Consequently samples must be queued in advance to allow for
-time-ordered processing. To achieve that, add
-perf_session__peek_events() that walks and peeks at all the events.
-
-Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
-Cc: Jiri Olsa <jolsa@redhat.com>
-Link: http://lore.kernel.org/lkml/20191115124225.5247-11-adrian.hunter@intel.com
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
- tools/perf/util/session.c | 28 ++++++++++++++++++++++++++++
- tools/perf/util/session.h |  5 +++++
- 2 files changed, 33 insertions(+)
-
-diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
-index 37efa1f43d8b..2a845543d055 100644
---- a/tools/perf/util/session.c
-+++ b/tools/perf/util/session.c
-@@ -1628,6 +1628,34 @@ out_parse_sample:
- 	return 0;
- }
- 
-+int perf_session__peek_events(struct perf_session *session, u64 offset,
-+			      u64 size, peek_events_cb_t cb, void *data)
-+{
-+	u64 max_offset = offset + size;
-+	char buf[PERF_SAMPLE_MAX_SIZE];
-+	union perf_event *event;
-+	int err;
-+
-+	do {
-+		err = perf_session__peek_event(session, offset, buf,
-+					       PERF_SAMPLE_MAX_SIZE, &event,
-+					       NULL);
-+		if (err)
-+			return err;
-+
-+		err = cb(session, event, offset, data);
-+		if (err)
-+			return err;
-+
-+		offset += event->header.size;
-+		if (event->header.type == PERF_RECORD_AUXTRACE)
-+			offset += event->auxtrace.size;
-+
-+	} while (offset < max_offset);
-+
-+	return err;
-+}
-+
- static s64 perf_session__process_event(struct perf_session *session,
- 				       union perf_event *event, u64 file_offset)
- {
-diff --git a/tools/perf/util/session.h b/tools/perf/util/session.h
-index 863dbad87849..1f3f80d8023c 100644
---- a/tools/perf/util/session.h
-+++ b/tools/perf/util/session.h
-@@ -64,6 +64,11 @@ int perf_session__peek_event(struct perf_session *session, off_t file_offset,
- 			     void *buf, size_t buf_sz,
- 			     union perf_event **event_ptr,
- 			     struct perf_sample *sample);
-+typedef int (*peek_events_cb_t)(struct perf_session *session,
-+				union perf_event *event, u64 offset,
-+				void *data);
-+int perf_session__peek_events(struct perf_session *session, u64 offset,
-+			      u64 size, peek_events_cb_t cb, void *data);
- 
- int perf_session__process_events(struct perf_session *session);
- 
--- 
-2.33.0.rc1.237.g0d66db33f3-goog
-
diff --git a/dev-util/perf/files/perf-5.15-clang.patch b/dev-util/perf/files/perf-5.15-clang.patch
new file mode 100644
index 0000000..5ea0c75
--- /dev/null
+++ b/dev-util/perf/files/perf-5.15-clang.patch
@@ -0,0 +1,231 @@
+From e1f1cbfe812e4a019034105ab5e81fd9f0742353 Mon Sep 17 00:00:00 2001
+From: Ian Rogers <irogers@google.com>
+Date: Mon, 11 Oct 2021 19:13:20 -0700
+Subject: [PATCH 1/3] tools: Bump minimum LLVM C++ std to GNU++14
+
+LLVM 9 (current release is LLVM 13) moved the minimum C++ version to
+GNU++14. Bump the version numbers in the feature test and perf build.
+
+Reviewed-by: Fangrui Song <maskray@google.com>
+Signed-off-by: Ian Rogers <irogers@google.com>
+Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
+Cc: Daniel Borkmann <daniel@iogearbox.net>
+Cc: Ingo Molnar <mingo@redhat.com>
+Cc: Jiri Olsa <jolsa@redhat.com>
+Cc: Leo Yan <leo.yan@linaro.org>
+Cc: Mark Rutland <mark.rutland@arm.com>
+Cc: Michael Petlan <mpetlan@redhat.com>
+Cc: Namhyung Kim <namhyung@kernel.org>
+Cc: Nathan Chancellor <nathan@kernel.org>
+Cc: Nick Desaulniers <ndesaulniers@google.com>
+Cc: Peter Zijlstra <peterz@infradead.org>
+Cc: Sedat Dilek <sedat.dilek@gmail.com>
+Cc: llvm@lists.linux.dev
+Link: https://lore.kernel.org/r/20211012021321.291635-1-irogers@google.com
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+---
+ tools/build/feature/Makefile | 6 +++---
+ tools/perf/Makefile.config   | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
+index eff55d287db1..9756e589e4ae 100644
+--- a/tools/build/feature/Makefile
++++ b/tools/build/feature/Makefile
+@@ -296,7 +296,7 @@ $(OUTPUT)test-jvmti-cmlr.bin:
+ 	$(BUILD)
+ 
+ $(OUTPUT)test-llvm.bin:
+-	$(BUILDXX) -std=gnu++11 				\
++	$(BUILDXX) -std=gnu++14 				\
+ 		-I$(shell $(LLVM_CONFIG) --includedir) 		\
+ 		-L$(shell $(LLVM_CONFIG) --libdir)		\
+ 		$(shell $(LLVM_CONFIG) --libs Core BPF)		\
+@@ -304,12 +304,12 @@ $(OUTPUT)test-llvm.bin:
+ 		> $(@:.bin=.make.output) 2>&1
+ 
+ $(OUTPUT)test-llvm-version.bin:
+-	$(BUILDXX) -std=gnu++11 				\
++	$(BUILDXX) -std=gnu++14					\
+ 		-I$(shell $(LLVM_CONFIG) --includedir)		\
+ 		> $(@:.bin=.make.output) 2>&1
+ 
+ $(OUTPUT)test-clang.bin:
+-	$(BUILDXX) -std=gnu++11 				\
++	$(BUILDXX) -std=gnu++14					\
+ 		-I$(shell $(LLVM_CONFIG) --includedir) 		\
+ 		-L$(shell $(LLVM_CONFIG) --libdir)		\
+ 		-Wl,--start-group -lclangBasic -lclangDriver	\
+diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
+index 14e3e8d702a0..ddbe86defe39 100644
+--- a/tools/perf/Makefile.config
++++ b/tools/perf/Makefile.config
+@@ -285,7 +285,7 @@ CORE_CFLAGS += -Wall
+ CORE_CFLAGS += -Wextra
+ CORE_CFLAGS += -std=gnu99
+ 
+-CXXFLAGS += -std=gnu++11 -fno-exceptions -fno-rtti
++CXXFLAGS += -std=gnu++14 -fno-exceptions -fno-rtti
+ CXXFLAGS += -Wall
+ CXXFLAGS += -fno-omit-frame-pointer
+ CXXFLAGS += -ggdb3
+-- 
+2.33.1
+
+
+From 3e5c11995e04a9e3351330c34c4c802ce50df46c Mon Sep 17 00:00:00 2001
+From: Ian Rogers <irogers@google.com>
+Date: Mon, 11 Oct 2021 19:13:21 -0700
+Subject: [PATCH 2/3] perf clang: Fixes for more recent LLVM/clang
+
+The parameters to two functions and the location of a variable have
+changed in more recent LLVM/clang releases.
+
+Remove the unneecessary -fmessage-length and -ferror-limit flags, the
+former causes failures like:
+
+  58: builtin clang support                                           :
+  58.1: builtin clang compile C source to IR                          :
+  --- start ---
+  test child forked, pid 279307
+  error: unknown argument: '-fmessage-length'
+  1 error generated.
+  test child finished with -1
+
+Tested with LLVM 6, 8, 9, 10 and 11.
+
+Reviewed-by: Fangrui Song <maskray@google.com>
+Signed-off-by: Ian Rogers <irogers@google.com>
+Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
+Cc: Daniel Borkmann <daniel@iogearbox.net>
+Cc: Ingo Molnar <mingo@redhat.com>
+Cc: Jiri Olsa <jolsa@redhat.com>
+Cc: Leo Yan <leo.yan@linaro.org>
+Cc: Mark Rutland <mark.rutland@arm.com>
+Cc: Michael Petlan <mpetlan@redhat.com>
+Cc: Namhyung Kim <namhyung@kernel.org>
+Cc: Nathan Chancellor <nathan@kernel.org>
+Cc: Nick Desaulniers <ndesaulniers@google.com>
+Cc: Peter Zijlstra <peterz@infradead.org>
+Cc: Sedat Dilek <sedat.dilek@gmail.com>,
+Cc: llvm@lists.linux.dev
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+---
+ tools/perf/util/c++/clang.cpp | 21 +++++++++++++--------
+ 1 file changed, 13 insertions(+), 8 deletions(-)
+
+diff --git a/tools/perf/util/c++/clang.cpp b/tools/perf/util/c++/clang.cpp
+index c8885dfa3667..df7b18fb6b6e 100644
+--- a/tools/perf/util/c++/clang.cpp
++++ b/tools/perf/util/c++/clang.cpp
+@@ -43,8 +43,6 @@ createCompilerInvocation(llvm::opt::ArgStringList CFlags, StringRef& Path,
+ 		"-cc1",
+ 		"-triple", "bpf-pc-linux",
+ 		"-fsyntax-only",
+-		"-ferror-limit", "19",
+-		"-fmessage-length", "127",
+ 		"-O2",
+ 		"-nostdsysteminc",
+ 		"-nobuiltininc",
+@@ -55,7 +53,11 @@ createCompilerInvocation(llvm::opt::ArgStringList CFlags, StringRef& Path,
+ 		"-x", "c"};
+ 
+ 	CCArgs.append(CFlags.begin(), CFlags.end());
+-	CompilerInvocation *CI = tooling::newInvocation(&Diags, CCArgs);
++	CompilerInvocation *CI = tooling::newInvocation(&Diags, CCArgs
++#if CLANG_VERSION_MAJOR >= 11
++                                                        ,/*BinaryName=*/nullptr
++#endif
++                                                        );
+ 
+ 	FrontendOptions& Opts = CI->getFrontendOpts();
+ 	Opts.Inputs.clear();
+@@ -151,13 +153,16 @@ getBPFObjectFromModule(llvm::Module *Module)
+ 
+ 	legacy::PassManager PM;
+ 	bool NotAdded;
+-#if CLANG_VERSION_MAJOR < 7
+-	NotAdded = TargetMachine->addPassesToEmitFile(PM, ostream,
+-						      TargetMachine::CGFT_ObjectFile);
++	NotAdded = TargetMachine->addPassesToEmitFile(PM, ostream
++#if CLANG_VERSION_MAJOR >= 7
++                                                      , /*DwoOut=*/nullptr
++#endif
++#if CLANG_VERSION_MAJOR < 10
++                                                      , TargetMachine::CGFT_ObjectFile
+ #else
+-	NotAdded = TargetMachine->addPassesToEmitFile(PM, ostream, nullptr,
+-						      TargetMachine::CGFT_ObjectFile);
++                                                      , llvm::CGFT_ObjectFile
+ #endif
++                                                      );
+ 	if (NotAdded) {
+ 		llvm::errs() << "TargetMachine can't emit a file of this type\n";
+ 		return std::unique_ptr<llvm::SmallVectorImpl<char>>(nullptr);
+-- 
+2.33.1
+
+
+From aa2b4e5e920cbaadc0fed9b8aa7c4498feee3dd5 Mon Sep 17 00:00:00 2001
+From: Guilherme Amadio <amadio@cern.ch>
+Date: Thu, 29 Apr 2021 13:44:48 +0200
+Subject: [PATCH 3/3] tools feature: update LLVM/Clang detection
+
+Since LLVM/Clang 10, individual libraries have been merged into
+monolithic libraries libLLVM.so, libclang.so, and libclang-cpp.so.
+---
+ tools/build/feature/Makefile | 8 +++-----
+ tools/perf/Makefile.perf     | 7 ++-----
+ 2 files changed, 5 insertions(+), 10 deletions(-)
+
+diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
+index 9756e589e4ae..23478bd06093 100644
+--- a/tools/build/feature/Makefile
++++ b/tools/build/feature/Makefile
+@@ -299,7 +299,7 @@ $(OUTPUT)test-llvm.bin:
+ 	$(BUILDXX) -std=gnu++14 				\
+ 		-I$(shell $(LLVM_CONFIG) --includedir) 		\
+ 		-L$(shell $(LLVM_CONFIG) --libdir)		\
+-		$(shell $(LLVM_CONFIG) --libs Core BPF)		\
++		$(shell $(LLVM_CONFIG) --libs)			\
+ 		$(shell $(LLVM_CONFIG) --system-libs)		\
+ 		> $(@:.bin=.make.output) 2>&1
+ 
+@@ -312,11 +312,9 @@ $(OUTPUT)test-clang.bin:
+ 	$(BUILDXX) -std=gnu++14					\
+ 		-I$(shell $(LLVM_CONFIG) --includedir) 		\
+ 		-L$(shell $(LLVM_CONFIG) --libdir)		\
+-		-Wl,--start-group -lclangBasic -lclangDriver	\
+-		  -lclangFrontend -lclangEdit -lclangLex	\
+-		  -lclangAST -Wl,--end-group 			\
+-		$(shell $(LLVM_CONFIG) --libs Core option)	\
++		$(shell $(LLVM_CONFIG) --libs)			\
+ 		$(shell $(LLVM_CONFIG) --system-libs)		\
++		-lclang-cpp					\
+ 		> $(@:.bin=.make.output) 2>&1
+ 
+ -include $(OUTPUT)*.d
+diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
+index b856afa6eb52..d0ff0ddf9c18 100644
+--- a/tools/perf/Makefile.perf
++++ b/tools/perf/Makefile.perf
+@@ -410,14 +410,11 @@ EXTLIBS := $(call filter-out,$(EXCLUDE_EXTLIBS),$(EXTLIBS))
+ LIBS = -Wl,--whole-archive $(PERFLIBS) $(EXTRA_PERFLIBS) -Wl,--no-whole-archive -Wl,--start-group $(EXTLIBS) -Wl,--end-group
+ 
+ ifeq ($(USE_CLANG), 1)
+-  CLANGLIBS_LIST = AST Basic CodeGen Driver Frontend Lex Tooling Edit Sema Analysis Parse Serialization
+-  CLANGLIBS_NOEXT_LIST = $(foreach l,$(CLANGLIBS_LIST),$(shell $(LLVM_CONFIG) --libdir)/libclang$(l))
+-  LIBCLANG = $(foreach l,$(CLANGLIBS_NOEXT_LIST),$(wildcard $(l).a $(l).so))
+-  LIBS += -Wl,--start-group $(LIBCLANG) -Wl,--end-group
++  LIBS += -lclang-cpp
+ endif
+ 
+ ifeq ($(USE_LLVM), 1)
+-  LIBLLVM = $(shell $(LLVM_CONFIG) --libs all) $(shell $(LLVM_CONFIG) --system-libs)
++  LIBLLVM = $(shell $(LLVM_CONFIG) --libs) $(shell $(LLVM_CONFIG) --system-libs)
+   LIBS += -L$(shell $(LLVM_CONFIG) --libdir) $(LIBLLVM)
+ endif
+ 
+-- 
+2.33.1
+
diff --git a/dev-util/perf/metadata.xml b/dev-util/perf/metadata.xml
index 7507112..3d3ce6d 100644
--- a/dev-util/perf/metadata.xml
+++ b/dev-util/perf/metadata.xml
@@ -1,10 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-  <maintainer>
+  <maintainer type="person">
     <email>naota@gentoo.org</email>
   </maintainer>
+  <maintainer type="person">
+    <email>dlan@gentoo.org</email>
+    <name>Yixun Lan</name>
+  </maintainer>
+  <maintainer type="person">
+    <email>amadio@gentoo.org</email>
+    <name>Guilherme Amadio</name>
+  </maintainer>
+  <maintainer type="person">
+    <email>zlogene@gentoo.org</email>
+    <name>Mikle Kolyada</name>
+  </maintainer>
   <use>
+    <flag name="babeltrace">Enable <pkg>dev-util/babeltrace</pkg> support</flag>
+    <flag name="clang">Enable builtin clang and LLVM support</flag>
     <flag name="demangle">
       Enable C++ symbol name demangling, using libbfd from
       <pkg>sys-devel/binutils</pkg>. When this flag is enabled, the
@@ -18,8 +32,16 @@
       documentation handling tools that are not always welcome on user
       systems.
     </flag>
+    <flag name="libpfm">Enable <pkg>dev-libs/libpfm</pkg> support</flag>
+    <flag name="numa">Enable NUMA support</flag>
     <flag name="perl">
       Add support for Perl as a scripting language for perf tools.
     </flag>
+    <flag name="systemtap">
+      Add support to define SDT event in perf tools.
+    </flag>
+    <flag name="unwind">
+      Use sys-libs/libunwind for frame unwinding support.
+    </flag>
   </use>
 </pkgmetadata>
diff --git a/dev-util/perf/perf-5.15-r1.ebuild b/dev-util/perf/perf-5.15-r1.ebuild
new file mode 120000
index 0000000..c8377e3
--- /dev/null
+++ b/dev-util/perf/perf-5.15-r1.ebuild
@@ -0,0 +1 @@
+perf-5.15.ebuild
\ No newline at end of file
diff --git a/dev-util/perf/perf-5.15.ebuild b/dev-util/perf/perf-5.15.ebuild
new file mode 100644
index 0000000..ac2a31a
--- /dev/null
+++ b/dev-util/perf/perf-5.15.ebuild
@@ -0,0 +1,283 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_6 )
+inherit bash-completion-r1 estack llvm toolchain-funcs prefix python-r1 linux-info
+
+DESCRIPTION="Userland tools for Linux Performance Counters"
+HOMEPAGE="https://perf.wiki.kernel.org/"
+
+LINUX_V="${PV:0:1}.x"
+if [[ ${PV} == *_rc* ]] ; then
+	LINUX_VER=$(ver_cut 1-2).$(($(ver_cut 3)-1))
+	PATCH_VERSION=$(ver_cut 1-3)
+	LINUX_PATCH=patch-${PV//_/-}.xz
+	SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/${LINUX_PATCH}
+		https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/v${PATCH_VERSION}/${LINUX_PATCH}"
+elif [[ ${PV} == *.*.* ]] ; then
+	# stable-release series
+	LINUX_VER=$(ver_cut 1-2)
+	LINUX_PATCH=patch-${PV}.xz
+	SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}"
+else
+	LINUX_VER=${PV}
+	SRC_URI=""
+fi
+
+LINUX_SOURCES="linux-${LINUX_VER}.tar.xz"
+SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+IUSE="audit babeltrace clang coresight crypt debug +doc gtk java libpfm lzma numa perl python slang systemtap unwind zlib zstd"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+BDEPEND="
+	${LINUX_PATCH+dev-util/patchutils}
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+	doc? (
+		app-text/asciidoc
+		app-text/sgml-common
+		app-text/xmlto
+		sys-process/time
+	)
+	${PYTHON_DEPS}
+"
+
+RDEPEND="audit? ( sys-process/audit )
+	babeltrace? ( dev-util/babeltrace )
+	crypt? ( virtual/libcrypt:= )
+	clang? (
+		sys-devel/clang:=
+		sys-devel/llvm:=
+	)
+	coresight? ( dev-libs/opencsd )
+	gtk? ( x11-libs/gtk+:2 )
+	java? ( virtual/jre:* )
+	libpfm? ( dev-libs/libpfm )
+	lzma? ( app-arch/xz-utils )
+	numa? ( sys-process/numactl )
+	perl? ( dev-lang/perl:= )
+	python? ( ${PYTHON_DEPS} )
+	slang? ( sys-libs/slang )
+	systemtap? ( dev-util/systemtap )
+	unwind? ( sys-libs/llvm-libunwind )
+	zlib? ( sys-libs/zlib )
+	zstd? ( app-arch/zstd )
+	dev-libs/elfutils
+	sys-libs/binutils-libs:="
+
+DEPEND="${RDEPEND}
+	>=sys-kernel/linux-headers-4.4
+	java? ( virtual/jdk )
+"
+
+S_K="${WORKDIR}/linux-${LINUX_VER}"
+S="${S_K}/tools/perf"
+
+CONFIG_CHECK="~PERF_EVENTS ~KALLSYMS"
+
+PATCHES=(
+	"${FILESDIR}/${PV}-Don-t-install-self-tests.patch"
+	"${FILESDIR}/${PV}-Refactor-kernel-symbol-argument-sanity-checking.patch"
+	"${FILESDIR}/${PV}-Check-vmlinux-kallsyms-arguments.patch"
+	"${FILESDIR}/${PV}-Add-vmlinux-in-perf-inject.patch"
+	"${FILESDIR}/${PV}-Fix-proc-kcore-32b-access.patch"
+	"${FILESDIR}/${PV}-Remap-buf-if-there-is-no-space.patch"
+)
+
+QA_FLAGS_IGNORED=(
+	usr/bin/perf-read-vdso32 # not linked with anything except for libc
+	usr/libexec/perf-core/dlfilters/dlfilter-test-api-v0.so # not installed
+)
+
+pkg_pretend() {
+	if ! use doc ; then
+		ewarn "Without the doc USE flag you won't get any documentation nor man pages."
+		ewarn "And without man pages, you won't get any --help output for perf and its"
+		ewarn "sub-tools."
+	fi
+}
+
+pkg_setup() {
+	use clang && llvm_pkg_setup
+	# We enable python unconditionally as libbpf always generates
+	# API headers using python script
+	python_setup
+}
+
+# src_unpack and src_prepare are copied to dev-util/bpftool since
+# it's building from the same tarball, please keep it in sync with bpftool
+src_unpack() {
+	local paths=(
+		tools/arch tools/build tools/include tools/lib tools/perf tools/scripts
+		scripts include lib "arch/*/lib"
+	)
+	local p1=(${paths[@]/%/*})
+
+	# We expect the tar implementation to support the -j option (both
+	# GNU tar and libarchive's tar support that).
+	echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}"
+	tar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \
+		"${paths[@]/#/linux-${LINUX_VER}/}" || die
+
+	if [[ -n ${LINUX_PATCH} ]] ; then
+		eshopts_push -o noglob
+		ebegin "Filtering partial source patch"
+		xz -d -c "${DISTDIR}"/${LINUX_PATCH} | filterdiff -p1 ${p1[@]/#/-i } \
+			> ${P}.patch
+		eend $? || die "filterdiff failed"
+		eshopts_pop
+	fi
+
+	local a
+	for a in ${A}; do
+		[[ ${a} == ${LINUX_SOURCES} ]] && continue
+		[[ ${a} == ${LINUX_PATCH} ]] && continue
+		unpack ${a}
+	done
+}
+
+src_prepare() {
+	pushd "${S_K}" >/dev/null || die
+	if [[ -n ${LINUX_PATCH} ]] ; then
+		eapply "${WORKDIR}"/${P}.patch
+	fi
+
+	if use clang; then
+		eapply "${FILESDIR}"/${P}-clang.patch
+	fi
+
+	eapply ${PATCHES[@]}
+	popd || die
+
+	eapply_user
+
+	# Drop some upstream too-developer-oriented flags and fix the
+	# Makefile in general
+	sed -i \
+		-e "s:\$(sysconfdir_SQ)/bash_completion.d:$(get_bashcompdir):" \
+		"${S}"/Makefile.perf || die
+	# A few places still use -Werror w/out $(WERROR) protection.
+	sed -i -e 's:-Werror::' \
+		"${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile || die
+
+	# Avoid the call to make kernelversion
+	sed -i -e '/PERF-VERSION-GEN/d' Makefile.perf || die
+	echo "#define PERF_VERSION \"${PV}\"" > PERF-VERSION-FILE
+
+	# The code likes to compile local assembly files which lack ELF markings.
+	find -name '*.S' -exec sed -i '$a.section .note.GNU-stack,"",%progbits' {} +
+}
+
+puse() { usex $1 "" no; }
+perf_make() {
+	# The arch parsing is a bit funky.  The perf tools package is integrated
+	# into the kernel, so it wants an ARCH that looks like the kernel arch,
+	# but it also wants to know about the split value -- i386/x86_64 vs just
+	# x86.  We can get that by telling the func to use an older linux version.
+	# It's kind of a hack, but not that bad ...
+
+	# LIBDIR sets a search path of perf-gtk.so. Bug 515954
+
+	local arch=$(tc-arch-kernel)
+	local java_dir
+	use java && java_dir="${EPREFIX}/etc/java-config-2/current-system-vm"
+	use coresight && append-ldflags "-lc++" # opencsd requires linking with C++ libraries.
+
+	MAKEOPTS="${MAKEOPTS} -j1" # crbug.com/1173859
+
+	emake V=1 VF=1 \
+		HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" \
+		CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" LD="$(tc-getLD)" NM="$(tc-getNM)" \
+		PKG_CONFIG="$(tc-getPKG_CONFIG)" \
+		prefix="${EPREFIX}/usr" bindir_relative="bin" \
+		tipdir="share/doc/${PF}" \
+		EXTRA_CFLAGS="${CFLAGS}" \
+		EXTRA_LDFLAGS="${LDFLAGS}" \
+		ARCH="${arch}" \
+		JDIR="${java_dir}" \
+		LIBCLANGLLVM=$(usex clang 1 "") \
+		LIBPFM4=$(usex libpfm 1 "") \
+		NO_AUXTRACE="" \
+		NO_BACKTRACE="" \
+		CORESIGHT=$(usex coresight 1 "") \
+		NO_DEMANGLE= \
+		GTK2=$(usex gtk 1 "") \
+		feature-gtk2-infobar=$(usex gtk 1 "") \
+		NO_JVMTI=$(puse java) \
+		NO_LIBAUDIT=$(puse audit) \
+		NO_LIBBABELTRACE=$(puse babeltrace) \
+		NO_LIBBIONIC=1 \
+		NO_LIBBPF=1 \
+		NO_LIBCRYPTO=$(puse crypt) \
+		NO_LIBDW_DWARF_UNWIND= \
+		NO_LIBELF= \
+		NO_LIBNUMA=$(puse numa) \
+		NO_LIBPERL=$(puse perl) \
+		NO_LIBPYTHON=$(puse python) \
+		NO_LIBUNWIND=$(puse unwind) \
+		NO_LIBZSTD=$(puse zstd) \
+		NO_SDT=$(puse systemtap) \
+		NO_SLANG=$(puse slang) \
+		NO_LZMA=$(puse lzma) \
+		NO_ZLIB=$(puse zlib) \
+		WERROR=0 \
+		XMLTO="$(usex doc xmlto '')" \
+		LIBDIR="/usr/libexec/perf-core" \
+		libdir="${EPREFIX}/usr/$(get_libdir)" \
+		plugindir="${EPREFIX}/usr/$(get_libdir)/perf/plugins" \
+		"$@"
+}
+
+src_compile() {
+	# test-clang.bin not build with g++
+	if use clang; then
+		make -C "${S_K}/tools/build/feature" V=1 CXX=${CHOST}-clang++ test-clang.bin || die
+	fi
+	perf_make -f Makefile.perf
+	use doc && nonfatal perf_make -C Documentation man
+}
+
+src_test() {
+	:
+}
+
+src_install() {
+	_install_python_ext() {
+		perf_make -f Makefile.perf install-python_ext DESTDIR="${D}"
+	}
+
+	perf_make -f Makefile.perf install-bin DESTDIR="${D}"
+	nonfatal perf_make -f Makefile.perf try-install-man DESTDIR="${D}"
+
+	if use python; then
+		python_foreach_impl _install_python_ext
+	fi
+
+	if use gtk; then
+		local libdir
+		libdir="$(get_libdir)"
+		# on some arches it ends up in lib even on 64bit, ppc64 for instance.
+		[[ -f "${ED}"/usr/lib/libperf-gtk.so ]] && libdir="lib"
+		mv "${ED}"/usr/${libdir}/libperf-gtk.so \
+			"${ED}"/usr/libexec/perf-core || die
+	fi
+
+	dodoc CREDITS
+
+	dodoc *txt Documentation/*.txt
+
+	# perf needs this decompressed to print out tips for users
+	docompress -x /usr/share/doc/${PF}/tips.txt
+
+	if use doc ; then
+		nonfatal doman Documentation/*.1
+	fi
+}
diff --git a/dev-util/perf/perf-5.3.7-r28.ebuild b/dev-util/perf/perf-5.3.7-r28.ebuild
deleted file mode 120000
index d29a285..0000000
--- a/dev-util/perf/perf-5.3.7-r28.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-perf-5.3.7.ebuild
\ No newline at end of file
diff --git a/dev-util/perf/perf-5.3.7.ebuild b/dev-util/perf/perf-5.3.7.ebuild
deleted file mode 100644
index 83024d6..0000000
--- a/dev-util/perf/perf-5.3.7.ebuild
+++ /dev/null
@@ -1,297 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-inherit bash-completion-r1 estack eutils toolchain-funcs python-single-r1 linux-info
-
-MY_PV="${PV/_/-}"
-MY_PV="${MY_PV/-pre/-git}"
-
-DESCRIPTION="Userland tools for Linux Performance Counters"
-HOMEPAGE="https://perf.wiki.kernel.org/"
-
-LINUX_V="${PV:0:1}.x"
-if [[ ${PV} == *_rc* ]] ; then
-	LINUX_VER=$(ver_cut 1-2).$(($(ver_cut 3)-1))
-	PATCH_VERSION=$(ver_cut 1-3)
-	LINUX_PATCH=patch-${PV//_/-}.xz
-	SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/${LINUX_PATCH}
-		https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/v${PATCH_VERSION}/${LINUX_PATCH}"
-elif [[ ${PV} == *.*.* ]] ; then
-	# stable-release series
-	LINUX_VER=$(ver_cut 1-2)
-	LINUX_PATCH=patch-${PV}.xz
-	SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}"
-else
-	LINUX_VER=${PV}
-	SRC_URI=""
-fi
-
-LINUX_SOURCES="linux-${LINUX_VER}.tar.xz"
-SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-IUSE="audit clang coresight crypt debug +demangle +doc gtk java lzma numa perl python slang systemtap unwind zlib zstd"
-# TODO babeltrace
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="audit? ( sys-process/audit )
-	crypt? ( dev-libs/openssl:0= )
-	clang? (
-		sys-devel/clang:*
-		sys-devel/llvm:*
-	)
-	coresight? ( dev-libs/opencsd )
-	gtk? ( x11-libs/gtk+:2 )
-	java? ( virtual/jre:* )
-	lzma? ( app-arch/xz-utils )
-	numa? ( sys-process/numactl )
-	perl? ( dev-lang/perl:= )
-	python? ( ${PYTHON_DEPS} )
-	slang? ( sys-libs/slang )
-	systemtap? ( dev-util/systemtap )
-	unwind? ( sys-libs/llvm-libunwind )
-	zlib? ( sys-libs/zlib )
-	zstd? ( app-arch/zstd )
-	dev-libs/elfutils
-	sys-libs/binutils-libs:="
-DEPEND="${RDEPEND}
-	>=sys-kernel/linux-headers-4.4"
-BDEPEND="
-	${LINUX_PATCH+dev-util/patchutils}
-	sys-devel/bison
-	sys-devel/flex
-	java? ( virtual/jdk )
-	doc? (
-		app-text/asciidoc
-		app-text/sgml-common
-		app-text/xmlto
-		sys-process/time
-	)"
-
-S_K="${WORKDIR}/linux-${LINUX_VER}"
-S="${S_K}/tools/perf"
-
-CONFIG_CHECK="~PERF_EVENTS ~KALLSYMS"
-
-PATCHES=(
-	"${FILESDIR}/5.3.7-Fix-hugepage-text.patch"
-	"${FILESDIR}/5.3.7-Don-t-install-self-tests.patch"
-	"${FILESDIR}/5.3.7-Fix-exit-on-signal.patch"
-	"${FILESDIR}/5.3.7-Fix-libbfd-api.patch"
-	"${FILESDIR}/5.3.7-Fix-configure-tests.patch"
-	"${FILESDIR}/5.3.7-Update-perf-bench.patch"
-	"${FILESDIR}/5.3.7-Fix-perf-bench.patch"
-	"${FILESDIR}/5.3.7-Fix-nm-binutils-2.35.patch"
-	"${FILESDIR}/5.3.7-cs-etm-Swap-packets.patch"
-	"${FILESDIR}/5.3.7-cs-etm-Continuously-record-last-branch.patch"
-	"${FILESDIR}/5.3.7-cs-etm-Correct-synth-inst-samples.patch"
-	"${FILESDIR}/5.3.7-cs-etm-Optimize-copying-last-branches.patch"
-	"${FILESDIR}/5.3.7-cs-etm-Fix-unsigned-variable.patch"
-	"${FILESDIR}/5.3.7-cs-etm-Fix-definition-of-macro-TO_CS_QUEUE_NR.patch"
-	"${FILESDIR}/5.3.7-cs-etm-Refactor-timestamp-variable-names.patch"
-	"${FILESDIR}/5.3.7-cs-etm-Set-time-on-synthesised-samples-to-prese.patch"
-	"${FILESDIR}/5.3.7-cs-etm-Delay-decode-of-non-timeless-data-until-cs_etm__flush_events.patch"
-	"${FILESDIR}/5.3.7-Consolidate-symbol-fixup-issue.patch"
-	"${FILESDIR}/5.3.7-Correct-event-attribute-sizes.patch"
-	"${FILESDIR}/5.3.7-Fix-file-corruption-due-to-event-deletion.patch"
-	"${FILESDIR}/5.3.7-Allow-no-CoreSight-sink.patch"
-	"${FILESDIR}/5.3.7-EL2-fix-1-Update-ETM-metadata-format.patch"
-	"${FILESDIR}/5.3.7-EL2-fix-2-Update-linux-coresight-pmu-h.patch"
-	"${FILESDIR}/5.3.7-EL2-fix-3-Fix-bitmap-for-option.patch"
-	"${FILESDIR}/5.3.7-EL2-fix-4-Support-PID-tracing-in-config.patch"
-	"${FILESDIR}/5.3.7-EL2-fix-5-Add-cs-etm-helper.patch"
-	"${FILESDIR}/5.3.7-EL2-fix-6-Detect-pid-in-VMID.patch"
-	"${FILESDIR}/5.3.7-cs-etm-Move-synth_opts-initialisation.patch"
-	"${FILESDIR}/5.3.7-auxtrace-Add-Z-itrace-option-for-timeless-decod.patch"
-	"${FILESDIR}/5.3.7-cs-etm-Start-reading-Z-itrace-option.patch"
-	"${FILESDIR}/5.3.7-cs-etm-Prevent-and-warn-on-underflows-during-ti.patch"
-	"${FILESDIR}/5.3.7-session-Add-facility-to-peek-at-all-events.patch"
-	"${FILESDIR}/5.3.7-cs-etm-Split-Coresight-decode-by-aux-records.patch"
-	"${FILESDIR}/5.3.7-Allow-to-use-stdio-functions.patch"
-	"${FILESDIR}/5.3.7-Add-facility-to-do-in-place-update.patch"
-	"${FILESDIR}/5.3.7-Free-generated-help-strings-for-sort-opt.patch"
-	"${FILESDIR}/5.3.7-Fix-proc-kcore-32b-access.patch"
-	"${FILESDIR}/5.3.7-Refactor-kernel-symbol-argument-sanity-checking.patch"
-	"${FILESDIR}/5.3.7-Check-vmlinux-kallsyms-arguments.patch"
-	"${FILESDIR}/5.3.7-Add-vmlinux-in-perf-inject.patch"
-	"${FILESDIR}/5.3.7-cs-etm-Remove-callback-cs_etm_find_snapshot.patch"
-)
-
-pkg_setup() {
-	linux-info_pkg_setup
-	use python && python-single-r1_pkg_setup
-}
-
-src_unpack() {
-	local paths=(
-		tools/arch tools/build tools/include tools/lib tools/perf tools/scripts
-		include lib "arch/*/lib"
-	)
-	local p1=(${paths[@]/%/*})
-
-	# We expect the tar implementation to support the -j option (both
-	# GNU tar and libarchive's tar support that).
-	echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}"
-	tar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \
-		"${paths[@]/#/linux-${LINUX_VER}/}" || die
-
-	if [[ -n ${LINUX_PATCH} ]] ; then
-		eshopts_push -o noglob
-		ebegin "Filtering partial source patch"
-		xz -d -c "${DISTDIR}"/${LINUX_PATCH} | filterdiff -p1 ${p1[@]/#/-i } \
-			> ${P}.patch
-		eend $? || die "filterdiff failed"
-		eshopts_pop
-	fi
-
-	local a
-	for a in ${A}; do
-		[[ ${a} == ${LINUX_SOURCES} ]] && continue
-		[[ ${a} == ${LINUX_PATCH} ]] && continue
-		unpack ${a}
-	done
-
-	# support clang8
-	echo $(clang-major-version)
-	if use clang; then
-		local old_CC=${CC}
-		CC=${CHOST}-clang
-		if [[ $(clang-major-version) -ge 8 ]]; then
-			pushd "${S_K}" >/dev/null || die
-			eapply "${FILESDIR}/perf-5.1.15-fix-clang8.patch"
-			popd || die
-		fi
-		CC=${old_CC}
-	fi
-}
-
-src_prepare() {
-	pushd "${S_K}" >/dev/null || die
-	if [[ -n ${LINUX_PATCH} ]] ; then
-		eapply "${WORKDIR}"/${P}.patch
-	fi
-	eapply ${PATCHES[@]}
-	popd || die
-
-	eapply_user
-
-	# Drop some upstream too-developer-oriented flags and fix the
-	# Makefile in general
-	sed -i \
-		-e 's:-Werror::' \
-		-e "s:\$(sysconfdir_SQ)/bash_completion.d:$(get_bashcompdir):" \
-		"${S}"/Makefile.perf || die
-	# A few places still use -Werror w/out $(WERROR) protection.
-	sed -i -e 's:-Werror::' \
-		"${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile || die
-
-	# Avoid the call to make kernelversion
-	echo "#define PERF_VERSION \"${MY_PV}\"" > PERF-VERSION-FILE
-
-	# The code likes to compile local assembly files which lack ELF markings.
-	find -name '*.S' -exec sed -i '$a.section .note.GNU-stack,"",%progbits' {} +
-}
-
-puse() { usex $1 "" no; }
-perf_make() {
-	# The arch parsing is a bit funky.  The perf tools package is integrated
-	# into the kernel, so it wants an ARCH that looks like the kernel arch,
-	# but it also wants to know about the split value -- i386/x86_64 vs just
-	# x86.  We can get that by telling the func to use an older linux version.
-	# It's kind of a hack, but not that bad ...
-
-	# LIBDIR sets a search path of perf-gtk.so. Bug 515954
-
-	local arch=$(tc-arch-kernel)
-	local java_dir
-	use java && java_dir="/etc/java-config-2/current-system-vm"
-	use coresight && append-ldflags "-lc++" # opencsd requires linking with C++ libraries.
-
-	MAKEOPTS="${MAKEOPTS} -j1" # crbug.com/1173859
-
-	# FIXME: NO_LIBBABELTRACE
-	emake V=1 VF=1 \
-		CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" LD="$(tc-getLD)" \
-		HOSTCC="$(tc-getBUILD_CC)" \
-		PKG_CONFIG="$(tc-getPKG_CONFIG)" \
-		prefix="${EPREFIX}/usr" bindir_relative="bin" \
-		EXTRA_CFLAGS="${CFLAGS}" \
-		ARCH="${arch}" \
-		CORESIGHT=$(usex coresight 1 "") \
-		JDIR="${java_dir}" \
-		LIBCLANGLLVM=$(usex clang 1 "") \
-		NO_AUXTRACE="" \
-		NO_BACKTRACE="" \
-		NO_DEMANGLE=$(puse demangle) \
-		NO_GTK2=$(puse gtk) \
-		NO_JVMTI=$(puse java) \
-		NO_LIBAUDIT=$(puse audit) \
-		NO_LIBBABELTRACE=1 \
-		NO_LIBBIONIC=1 \
-		NO_LIBBPF="" \
-		NO_LIBCRYPTO=$(puse crypt) \
-		NO_LIBDW_DWARF_UNWIND="" \
-		NO_LIBELF="" \
-		NO_LIBNUMA=$(puse numa) \
-		NO_LIBPERL=$(puse perl) \
-		NO_LIBPYTHON=$(puse python) \
-		NO_LIBUNWIND=$(puse unwind) \
-		NO_SDT=$(puse systemtap) \
-		NO_SLANG=$(puse slang) \
-		NO_LZMA=$(puse lzma) \
-		NO_LIBZSTD=$(puse zstd) \
-		NO_ZLIB= \
-		WERROR=0 \
-		XMLTO="$(usex doc xmlto '')" \
-		LIBDIR="/usr/libexec/perf-core" \
-		"$@"
-}
-
-src_compile() {
-	# test-clang.bin not build with g++
-	if use clang; then
-		pushd "${S_K}/tools/build/feature/" || die
-		make V=1 CXX=${CHOST}-clang++ test-clang.bin || die
-		popd
-	fi
-	perf_make -f Makefile.perf
-	use doc && nonfatal perf_make -C Documentation
-}
-
-src_test() {
-	:
-}
-
-src_install() {
-	perf_make -f Makefile.perf install-bin DESTDIR="${D}"
-	nonfatal perf_make -f Makefile.perf try-install-man DESTDIR="${D}"
-
-	rm -rv "${ED}"/usr/share/doc/perf-tip || die
-
-	if use gtk; then
-		mv "${ED}"/usr/$(get_libdir)/libperf-gtk.so \
-			"${ED}"/usr/libexec/perf-core || die
-	fi
-
-	dodoc CREDITS
-
-	dodoc *txt Documentation/*.txt
-	if use doc ; then
-		nonfatal docinto html
-		nonfatal dodoc Documentation/*.html
-		nonfatal doman Documentation/*.1
-	fi
-}
-
-pkg_postinst() {
-	if ! use doc ; then
-		einfo "Without the doc USE flag you won't get any documentation nor man pages."
-		einfo "And without man pages, you won't get any --help output for perf and its"
-		einfo "sub-tools."
-	fi
-}
diff --git a/dev-util/puffin/OWNERS b/dev-util/puffin/OWNERS
new file mode 100644
index 0000000..16d6476
--- /dev/null
+++ b/dev-util/puffin/OWNERS
@@ -0,0 +1 @@
+include chromiumos/chromite:/OWNERS.au
diff --git a/dev-util/puffin/files/puffin-include-unistd.h-explicitly.patch b/dev-util/puffin/files/puffin-include-unistd.h-explicitly.patch
new file mode 100644
index 0000000..951d53e
--- /dev/null
+++ b/dev-util/puffin/files/puffin-include-unistd.h-explicitly.patch
@@ -0,0 +1,46 @@
+From 9025f9fa434e51766b8afb31ffb42cde7f5f74c9 Mon Sep 17 00:00:00 2001
+From: Grace Cham <hscham@google.com>
+Date: Mon, 23 May 2022 14:56:59 +0900
+Subject: [PATCH] puffin: include <unistd.h> explicitly
+
+It is removed from build/build_config.h from libchrome r950791 onwards.
+For unlink, close.
+
+Bug: 231676446
+Test: FEATURES=test emerge-hatch puffin
+
+Change-Id: Iae91fd56ac1403c4fe47b6a8939339a6d3049cdc
+---
+ src/unittest_common.cc | 2 ++
+ src/unittest_common.h  | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/src/unittest_common.cc b/src/unittest_common.cc
+index ad3a85f..ac050dd 100644
+--- a/src/unittest_common.cc
++++ b/src/unittest_common.cc
+@@ -4,6 +4,8 @@
+ 
+ #include "puffin/src/unittest_common.h"
+ 
++#include <unistd.h>
++
+ using std::string;
+ using std::vector;
+ 
+diff --git a/src/unittest_common.h b/src/unittest_common.h
+index eac61e6..8727986 100644
+--- a/src/unittest_common.h
++++ b/src/unittest_common.h
+@@ -5,6 +5,8 @@
+ #ifndef SRC_UNITTEST_COMMON_H_
+ #define SRC_UNITTEST_COMMON_H_
+ 
++#include <unistd.h>
++
+ #include <string>
+ #include <vector>
+ 
+-- 
+2.36.1.124.g0e6072fb45-goog
+
diff --git a/dev-util/puffin/files/revision_bump b/dev-util/puffin/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/dev-util/puffin/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/dev-util/puffin/puffin-1.0.0-r440.ebuild b/dev-util/puffin/puffin-1.0.0-r440.ebuild
deleted file mode 100644
index 59799d6..0000000
--- a/dev-util/puffin/puffin-1.0.0-r440.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("a7d83f416a8915930ffebb61280f935300244c5c" "dd52f5f53116b5880387bc1a878478e172b768be")
-CROS_WORKON_TREE=("791c6808b4f4f5f1c484108d66ff958d65f8f1e3" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "d5b2e1140bb5d80e845bd170bd364e892b05ebd1")
-inherit cros-constants
-
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME=("../platform2" "../aosp/external/puffin")
-CROS_WORKON_PROJECT=("chromiumos/platform2" "platform/external/puffin")
-CROS_WORKON_EGIT_BRANCH=("main" "master")
-CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/puffin")
-CROS_WORKON_REPO=("${CROS_GIT_HOST_URL}" "${CROS_GIT_AOSP_URL}")
-CROS_WORKON_SUBTREE=("common-mk .gn" "")
-CROS_WORKON_MANUAL_UPREV=1
-
-PLATFORM_SUBDIR="puffin"
-
-inherit cros-workon platform
-
-DESCRIPTION="Puffin: Deterministic patching tool for deflate streams"
-HOMEPAGE="https://android.googlesource.com/platform/external/puffin/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="asan fuzzer"
-
-COMMON_DEPEND="chromeos-base/libbrillo:=[asan?,fuzzer?]
-	dev-libs/protobuf:=
-	dev-util/bsdiff:=
-"
-
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}"
-
-src_install() {
-	if use cros_host; then
-		dobin "${OUT}"/puffin
-	fi
-	dolib.a "${OUT}"/libpuffpatch.a
-	dolib.a "${OUT}"/libpuffdiff.a
-
-	insinto /usr/include
-	doins -r src/include/puffin
-
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	doins libpuffdiff.pc libpuffpatch.pc
-
-	for f in "huff" "puff" "puffpatch"; do
-		local fuzzer_component_id="31714"
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}/puffin_${f}_fuzzer" \
-			--comp "${fuzzer_component_id}"
-	done
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/puffin_test"
-
-	# Run fuzzers.
-	for f in "huff" "puff" "puffpatch"; do
-		platform_fuzzer_test "${OUT}/puffin_${f}_fuzzer"
-	done
-}
diff --git a/dev-util/puffin/puffin-1.0.0-r441.ebuild b/dev-util/puffin/puffin-1.0.0-r441.ebuild
new file mode 100644
index 0000000..caa5b5b
--- /dev/null
+++ b/dev-util/puffin/puffin-1.0.0-r441.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("a7d83f416a8915930ffebb61280f935300244c5c" "dd52f5f53116b5880387bc1a878478e172b768be")
+CROS_WORKON_TREE=("791c6808b4f4f5f1c484108d66ff958d65f8f1e3" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "d5b2e1140bb5d80e845bd170bd364e892b05ebd1")
+inherit cros-constants
+
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME=("../platform2" "../aosp/external/puffin")
+CROS_WORKON_PROJECT=("chromiumos/platform2" "platform/external/puffin")
+CROS_WORKON_EGIT_BRANCH=("main" "master")
+CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/puffin")
+CROS_WORKON_REPO=("${CROS_GIT_HOST_URL}" "${CROS_GIT_AOSP_URL}")
+CROS_WORKON_SUBTREE=("common-mk .gn" "")
+CROS_WORKON_MANUAL_UPREV=1
+
+PLATFORM_SUBDIR="puffin"
+
+inherit cros-workon platform
+
+DESCRIPTION="Puffin: Deterministic patching tool for deflate streams"
+HOMEPAGE="https://android.googlesource.com/platform/external/puffin/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="asan fuzzer"
+
+COMMON_DEPEND="chromeos-base/libbrillo:=[asan?,fuzzer?]
+	dev-libs/protobuf:=
+	dev-util/bsdiff:=
+"
+
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}"
+
+src_prepare() {
+	eapply "${FILESDIR}"/puffin-include-unistd.h-explicitly.patch
+	eapply_user
+}
+
+src_install() {
+	if use cros_host; then
+		dobin "${OUT}"/puffin
+	fi
+	dolib.a "${OUT}"/libpuffpatch.a
+	dolib.a "${OUT}"/libpuffdiff.a
+
+	insinto /usr/include
+	doins -r src/include/puffin
+
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins libpuffdiff.pc libpuffpatch.pc
+
+	for f in "huff" "puff" "puffpatch"; do
+		local fuzzer_component_id="31714"
+		platform_fuzzer_install "${S}"/OWNERS "${OUT}/puffin_${f}_fuzzer" \
+			--comp "${fuzzer_component_id}"
+	done
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/puffin_test"
+
+	# Run fuzzers.
+	for f in "huff" "puff" "puffpatch"; do
+		platform_fuzzer_test "${OUT}/puffin_${f}_fuzzer"
+	done
+}
diff --git a/dev-util/puffin/puffin-9999.ebuild b/dev-util/puffin/puffin-9999.ebuild
index 417e393..ed59d2f 100644
--- a/dev-util/puffin/puffin-9999.ebuild
+++ b/dev-util/puffin/puffin-9999.ebuild
@@ -34,6 +34,11 @@
 RDEPEND="${COMMON_DEPEND}"
 DEPEND="${COMMON_DEPEND}"
 
+src_prepare() {
+	eapply "${FILESDIR}"/puffin-include-unistd.h-explicitly.patch
+	eapply_user
+}
+
 src_install() {
 	if use cros_host; then
 		dobin "${OUT}"/puffin
diff --git a/dev-util/shellcheck/shellcheck-0.7.1-r46.ebuild b/dev-util/shellcheck/shellcheck-0.7.1-r46.ebuild
deleted file mode 100644
index e27586e..0000000
--- a/dev-util/shellcheck/shellcheck-0.7.1-r46.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-CROS_WORKON_COMMIT="ed8e64b2a311489fe9854e56d2f61fa67b62eee7"
-CROS_WORKON_TREE="276632ca93702dfd95fc5be0ed8beb7dbfe7d001"
-CROS_WORKON_PROJECT="chromiumos/third_party/shellcheck"
-CROS_WORKON_LOCALNAME="shellcheck"
-CROS_WORKON_EGIT_BRANCH="chromeos-0.7"
-CROS_WORKON_DESTDIR="${S}"
-
-CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
-CABAL_EXTRA_CONFIGURE_FLAGS="--disable-executable-dynamic
-	--disable-shared
-	--ghc-option=-optl-static
-"
-
-inherit cros-workon haskell-cabal
-
-DESCRIPTION="Shell script analysis tool"
-HOMEPAGE="https://www.shellcheck.net/"
-
-LICENSE="GPL-3"
-SLOT="0/${PV}"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND="dev-haskell/aeson:=[profile?]
-	>=dev-haskell/diff-0.2.0:=[profile?]
-	>=dev-haskell/mtl-2.2.1:=[profile?]
-	>=dev-haskell/parsec-3.0:=[profile?]
-	>=dev-haskell/quickcheck-2.7.4:2=[template_haskell,profile?]
-	dev-haskell/regex-tdfa:=[profile?]
-	dev-haskell/semigroups:=[profile?]
-	>=dev-lang/ghc-7.8.2:=
-	>=dev-haskell/cabal-1.18.1.3 <dev-haskell/cabal-2.5
-	dev-libs/gmp[static-libs]
-	dev-libs/libffi[static-libs]
-"
-
-src_install() {
-	cabal_src_install
-	# TODO(crbug.com/1000756): Add support for manpage build process (requires pandoc)
-	doman "${FILESDIR}/${PN}.1"
-}
diff --git a/dev-util/shellcheck/shellcheck-0.7.1-r51.ebuild b/dev-util/shellcheck/shellcheck-0.7.1-r51.ebuild
new file mode 100644
index 0000000..5e1cc81
--- /dev/null
+++ b/dev-util/shellcheck/shellcheck-0.7.1-r51.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CROS_WORKON_COMMIT="3e1b3e32c31461a6185f96fb68ef9ec3962fb9cb"
+CROS_WORKON_TREE="604884c13af73b81797d1b8cc44ef3300ea84333"
+CROS_WORKON_PROJECT="chromiumos/third_party/shellcheck"
+CROS_WORKON_LOCALNAME="shellcheck"
+CROS_WORKON_EGIT_BRANCH="chromeos-0.7"
+CROS_WORKON_DESTDIR="${S}"
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
+CABAL_EXTRA_CONFIGURE_FLAGS="--disable-executable-dynamic
+	--disable-shared
+	--ghc-option=-optl-static
+"
+
+inherit cros-workon haskell-cabal
+
+DESCRIPTION="Shell script analysis tool"
+HOMEPAGE="https://www.shellcheck.net/"
+
+LICENSE="GPL-3"
+SLOT="0/${PV}"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="dev-haskell/aeson:=[profile?]
+	>=dev-haskell/diff-0.2.0:=[profile?]
+	>=dev-haskell/mtl-2.2.1:=[profile?]
+	>=dev-haskell/parsec-3.0:=[profile?]
+	>=dev-haskell/quickcheck-2.7.4:2=[template_haskell,profile?]
+	dev-haskell/regex-tdfa:=[profile?]
+	dev-haskell/semigroups:=[profile?]
+	>=dev-lang/ghc-7.8.2:=
+	>=dev-haskell/cabal-1.18.1.3 <dev-haskell/cabal-2.5
+	dev-libs/gmp[static-libs]
+	dev-libs/libffi[static-libs]
+"
+
+src_install() {
+	cabal_src_install
+	# TODO(crbug.com/1000756): Add support for manpage build process (requires pandoc)
+	doman "${FILESDIR}/${PN}.1"
+}
diff --git a/dev-util/test-plan/test-plan-0.0.1-r31.ebuild b/dev-util/test-plan/test-plan-0.0.1-r31.ebuild
deleted file mode 100644
index 3ecc128..0000000
--- a/dev-util/test-plan/test-plan-0.0.1-r31.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="600925d4cbebb6e6ae5914f2eeb1433d31e04a88"
-CROS_WORKON_TREE="a6718332c204a566ba247ff4102c64450be368c9"
-CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
-CROS_WORKON_LOCALNAME=("../platform/dev")
-CROS_WORKON_SUBTREE="src/chromiumos/test/plan"
-
-inherit cros-go cros-workon
-
-DESCRIPTION="A tool to generate ChromeOS CoverageRule protos from SourceTestPlan protos."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/plan"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-CROS_GO_BINARIES=(
-	"chromiumos/test/plan/cmd/testplan.go"
-)
-
-CROS_GO_TEST=(
-	"chromiumos/test/plan/..."
-)
-
-CROS_GO_VET=(
-	"${CROS_GO_TEST[@]}"
-)
-
-CROS_GO_VERSION="${PF}"
-
-DEPEND="
-	chromeos-base/cros-config-api
-	dev-go/glog
-	dev-go/infra-proto
-	dev-go/luci-go-common
-	dev-go/maruel-subcommands
-	dev-go/protobuf
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
-	# Disable CGO to produce a static executable that can
-	# be copied into Docker containers.
-	export CGO_ENABLED=0
-
-	default
-}
diff --git a/dev-util/test-plan/test-plan-0.0.1-r44.ebuild b/dev-util/test-plan/test-plan-0.0.1-r44.ebuild
new file mode 100644
index 0000000..15bc3ec
--- /dev/null
+++ b/dev-util/test-plan/test-plan-0.0.1-r44.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="6d09c3d7ced419a80157d7488c826c7086cd078c"
+CROS_WORKON_TREE="2c3d1cf555595edf3b43d55352361bca30c1e0e7"
+CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
+CROS_WORKON_LOCALNAME=("../platform/dev")
+CROS_WORKON_SUBTREE="src/chromiumos/test/plan"
+
+inherit cros-go cros-workon
+
+DESCRIPTION="A tool to generate ChromeOS CoverageRule protos from SourceTestPlan protos."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/plan"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+CROS_GO_BINARIES=(
+	"chromiumos/test/plan/cmd/testplan.go"
+)
+
+CROS_GO_TEST=(
+	"chromiumos/test/plan/..."
+)
+
+CROS_GO_VET=(
+	"${CROS_GO_TEST[@]}"
+)
+
+CROS_GO_VERSION="${PF}"
+
+DEPEND="
+	chromeos-base/cros-config-api
+	dev-go/glog
+	dev-go/infra-proto
+	dev-go/luci-go-common
+	dev-go/maruel-subcommands
+	dev-go/protobuf
+	dev-go/protobuf-legacy-api
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+	# Disable CGO to produce a static executable that can
+	# be copied into Docker containers.
+	export CGO_ENABLED=0
+
+	default
+}
diff --git a/dev-util/test-plan/test-plan-9999.ebuild b/dev-util/test-plan/test-plan-9999.ebuild
index 8f7a5af..c3c2d46 100644
--- a/dev-util/test-plan/test-plan-9999.ebuild
+++ b/dev-util/test-plan/test-plan-9999.ebuild
@@ -36,6 +36,7 @@
 	dev-go/luci-go-common
 	dev-go/maruel-subcommands
 	dev-go/protobuf
+	dev-go/protobuf-legacy-api
 "
 RDEPEND="${DEPEND}"
 
diff --git a/dev-util/test-services/test-services-0.0.1-r170.ebuild b/dev-util/test-services/test-services-0.0.1-r170.ebuild
new file mode 100644
index 0000000..ac91a49
--- /dev/null
+++ b/dev-util/test-services/test-services-0.0.1-r170.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="6d09c3d7ced419a80157d7488c826c7086cd078c"
+CROS_WORKON_TREE="451aa817520c1ec50b61a36767a7ac50517b5f64"
+CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
+CROS_WORKON_LOCALNAME="../platform/dev"
+CROS_WORKON_SUBTREE="src"
+
+inherit cros-workon
+
+DESCRIPTION="Collection of test services installed into the cros_sdk env"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="
+	dev-util/cros-provision
+	dev-util/testlabenv-local
+	dev-util/cros-test
+	dev-util/cros-dut
+	dev-util/cros-publish
+	dev-util/cros-test-finder
+	dev-util/test-plan
+"
+RDEPEND="
+	${DEPEND}
+	!<chromeos-base/test-server-0.0.1-r49
+	"
diff --git a/dev-util/test-services/test-services-0.0.1-r92.ebuild b/dev-util/test-services/test-services-0.0.1-r92.ebuild
deleted file mode 100644
index 0c378d8..0000000
--- a/dev-util/test-services/test-services-0.0.1-r92.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="1b888ab4fcd72c6c4edd61ab5282756be5a8f0f5"
-CROS_WORKON_TREE="deaf62ac70faaf18ace949c7830a18f80afaea89"
-CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
-CROS_WORKON_LOCALNAME="../platform/dev"
-CROS_WORKON_SUBTREE="src"
-
-inherit cros-workon
-
-DESCRIPTION="Collection of test services installed into the cros_sdk env"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND="
-	dev-util/cros-provision
-	dev-util/testlabenv-local
-	dev-util/cros-test
-	dev-util/cros-dut
-	dev-util/cros-test-finder
-	dev-util/test-plan
-"
-RDEPEND="
-	${DEPEND}
-	!<chromeos-base/test-server-0.0.1-r49
-	"
diff --git a/dev-util/test-services/test-services-9999.ebuild b/dev-util/test-services/test-services-9999.ebuild
index 1d57c6a..9676847 100644
--- a/dev-util/test-services/test-services-9999.ebuild
+++ b/dev-util/test-services/test-services-9999.ebuild
@@ -21,6 +21,7 @@
 	dev-util/testlabenv-local
 	dev-util/cros-test
 	dev-util/cros-dut
+	dev-util/cros-publish
 	dev-util/cros-test-finder
 	dev-util/test-plan
 "
diff --git a/dev-util/testlabenv-local/testlabenv-local-0.0.1-r3.ebuild b/dev-util/testlabenv-local/testlabenv-local-0.0.1-r3.ebuild
deleted file mode 100644
index 8a644fe..0000000
--- a/dev-util/testlabenv-local/testlabenv-local-0.0.1-r3.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="ade4bed969f27b7143ca671f95cb07738e9d49ef"
-CROS_WORKON_TREE="4b946e9c995155a84021703c48444873d8061a9e"
-CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
-CROS_WORKON_LOCALNAME=("../platform/dev")
-CROS_WORKON_SUBTREE="src/chromiumos/test/lab/local"
-
-inherit cros-go cros-workon
-
-DESCRIPTION="Local test lab environment support (local DUT setup/wiring support for test execution)"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/lab/local"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-CROS_GO_WORKSPACE=(
-	"${S}"
-)
-
-CROS_GO_BINARIES=(
-	"chromiumos/test/lab/local/cmd/inventoryserver"
-)
-
-CROS_GO_TEST=(
-	"chromiumos/test/lab/local/cmd/inventoryserver/..."
-)
-
-CROS_GO_VET=(
-	"${CROS_GO_TEST[@]}"
-)
-
-DEPEND="
-	dev-go/genproto-rpc
-	dev-go/mock
-	dev-go/protobuf
-	chromeos-base/cros-config-api
-"
-RDEPEND="${DEPEND}"
diff --git a/dev-util/testlabenv-local/testlabenv-local-0.0.1-r5.ebuild b/dev-util/testlabenv-local/testlabenv-local-0.0.1-r5.ebuild
new file mode 100644
index 0000000..c833da1
--- /dev/null
+++ b/dev-util/testlabenv-local/testlabenv-local-0.0.1-r5.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="eb65123b26093bd0b3b3bbf16c33f9f3599c57c1"
+CROS_WORKON_TREE="4b946e9c995155a84021703c48444873d8061a9e"
+CROS_WORKON_PROJECT="chromiumos/platform/dev-util"
+CROS_WORKON_LOCALNAME=("../platform/dev")
+CROS_WORKON_SUBTREE="src/chromiumos/test/lab/local"
+
+inherit cros-go cros-workon
+
+DESCRIPTION="Local test lab environment support (local DUT setup/wiring support for test execution)"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/lab/local"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+CROS_GO_WORKSPACE=(
+	"${S}"
+)
+
+CROS_GO_BINARIES=(
+	"chromiumos/test/lab/local/cmd/inventoryserver"
+)
+
+CROS_GO_TEST=(
+	"chromiumos/test/lab/local/cmd/inventoryserver/..."
+)
+
+CROS_GO_VET=(
+	"${CROS_GO_TEST[@]}"
+)
+
+DEPEND="
+	dev-go/genproto
+	dev-go/mock
+	dev-go/protobuf
+	dev-go/protobuf-legacy-api
+	chromeos-base/cros-config-api
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-util/testlabenv-local/testlabenv-local-9999.ebuild b/dev-util/testlabenv-local/testlabenv-local-9999.ebuild
index 680c909..86144b8 100644
--- a/dev-util/testlabenv-local/testlabenv-local-9999.ebuild
+++ b/dev-util/testlabenv-local/testlabenv-local-9999.ebuild
@@ -32,9 +32,10 @@
 )
 
 DEPEND="
-	dev-go/genproto-rpc
+	dev-go/genproto
 	dev-go/mock
 	dev-go/protobuf
+	dev-go/protobuf-legacy-api
 	chromeos-base/cros-config-api
 "
 RDEPEND="${DEPEND}"
diff --git a/dev-util/toolchain-utils/toolchain-utils-0.0.1-r806.ebuild b/dev-util/toolchain-utils/toolchain-utils-0.0.1-r806.ebuild
deleted file mode 100644
index 3e75e6e..0000000
--- a/dev-util/toolchain-utils/toolchain-utils-0.0.1-r806.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="79644ecd692df1a59cc50e9d31514948edb74852"
-CROS_WORKON_TREE="080a2c77eca4d7101cea305b79f16afd69056610"
-CROS_WORKON_PROJECT="chromiumos/third_party/toolchain-utils"
-CROS_WORKON_LOCALNAME="toolchain-utils"
-
-inherit cros-workon
-
-DESCRIPTION="Compilation and runtime tests for toolchain"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/toolchain-utils/"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="
-	app-misc/pax-utils
-	dev-lang/python
-	sys-devel/binutils
-"
-
-src_install() {
-	local tc_dir="/usr/$(get_libdir)/${PN}"
-	local dit_dir="${tc_dir}/debug_info_test"
-
-	insinto ${tc_dir}
-	doins -r debug_info_test
-
-	fperms a+x ${dit_dir}/debug_info_test.py
-
-	dosym ${dit_dir}/debug_info_test.py /usr/bin/debug_info_test
-
-	newbin afdo_redaction/redact_profile.py redact_textual_afdo_profile
-
-	newbin afdo_redaction/remove_indirect_calls.py remove_indirect_calls
-
-	newbin afdo_redaction/remove_cold_functions.py remove_cold_functions
-}
diff --git a/dev-util/toolchain-utils/toolchain-utils-0.0.1-r873.ebuild b/dev-util/toolchain-utils/toolchain-utils-0.0.1-r873.ebuild
new file mode 100644
index 0000000..c33522e
--- /dev/null
+++ b/dev-util/toolchain-utils/toolchain-utils-0.0.1-r873.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="d7a612f02a7118897045e9664a1aa4d498b7f5ec"
+CROS_WORKON_TREE="124f5c81cb1baeaa220668d5f13facde8251723a"
+CROS_WORKON_PROJECT="chromiumos/third_party/toolchain-utils"
+CROS_WORKON_LOCALNAME="toolchain-utils"
+
+inherit cros-workon
+
+DESCRIPTION="Compilation and runtime tests for toolchain"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/toolchain-utils/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="
+	app-misc/pax-utils
+	dev-lang/python
+	sys-devel/binutils
+"
+
+src_install() {
+	local tc_dir="/usr/$(get_libdir)/${PN}"
+	local dit_dir="${tc_dir}/debug_info_test"
+
+	insinto ${tc_dir}
+	doins -r debug_info_test
+
+	fperms a+x ${dit_dir}/debug_info_test.py
+
+	dosym ${dit_dir}/debug_info_test.py /usr/bin/debug_info_test
+
+	newbin afdo_redaction/redact_profile.py redact_textual_afdo_profile
+
+	newbin afdo_redaction/remove_indirect_calls.py remove_indirect_calls
+
+	newbin afdo_redaction/remove_cold_functions.py remove_cold_functions
+}
diff --git a/dev-util/trace-cmd/Manifest b/dev-util/trace-cmd/Manifest
new file mode 100644
index 0000000..d383e0b
--- /dev/null
+++ b/dev-util/trace-cmd/Manifest
@@ -0,0 +1 @@
+DIST trace-cmd-v3.1.2.tar.gz 317611 BLAKE2B 485d62bfd6c7e3dedc5c3a9eb18af4b425bccc03e932854ef87fc0d032ef011e68cb978b34e319d97b85b24bba6d16ce619faaca8d96c77be1b64b1c4ca06e69 SHA512 d894842c11d895e2753fe254a83ecdc6bedcdfe1eceba5d75f1302b5476c9a3114c1fc5acddcba19ab05eaafb30db97e2e9b51b90afb1fd0550f1fbe0f59e0ac
diff --git a/dev-util/trace-cmd/OWNERS b/dev-util/trace-cmd/OWNERS
new file mode 100644
index 0000000..7f3e678e
--- /dev/null
+++ b/dev-util/trace-cmd/OWNERS
@@ -0,0 +1,2 @@
+rostedt@google.com
+zwisler@google.com
diff --git a/dev-util/trace-cmd/trace-cmd-3.1.2.ebuild b/dev-util/trace-cmd/trace-cmd-3.1.2.ebuild
new file mode 100644
index 0000000..f23afdd
--- /dev/null
+++ b/dev-util/trace-cmd/trace-cmd-3.1.2.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7,8,9} )
+
+inherit bash-completion-r1 python-r1 toolchain-funcs
+
+DESCRIPTION="User-space front-end for Ftrace"
+HOMEPAGE="https://www.trace-cmd.org"
+
+SRC_URI="https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/snapshot/${PN}-v${PV}.tar.gz"
+KEYWORDS="*"
+S="${WORKDIR}/${PN}-v${PV}"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0/${PV}"
+IUSE="+audit doc python test udis86"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	dev-libs/libtraceevent:=
+	dev-libs/libtracefs:=
+	audit? ( sys-process/audit )
+	python? ( ${PYTHON_DEPS} )
+	udis86? ( dev-libs/udis86 )
+"
+DEPEND="${RDEPEND}
+	sys-kernel/linux-headers
+	test? ( dev-util/cunit )
+"
+BDEPEND="
+	python? (
+		virtual/pkgconfig
+		dev-lang/swig
+	)
+	doc? ( app-text/asciidoc )
+"
+
+# having trouble getting tests to compile
+RESTRICT+=" test"
+
+src_prepare() {
+	default
+	sed -r -e 's:([[:space:]]+)install_bash_completion($|[[:space:]]+):\1:' \
+		-i Makefile || die "sed failed"
+}
+
+src_configure() {
+	EMAKE_FLAGS=(
+		BUILD_OUTPUT="${WORKDIR}/${P}_build"
+		"prefix=${EPREFIX}/usr"
+		"libdir=${EPREFIX}/usr/$(get_libdir)"
+		"CC=$(tc-getCC)"
+		"AR=$(tc-getAR)"
+		"BASH_COMPLETE_DIR=$(get_bashcompdir)"
+		"etcdir=/etc"
+		$(usex audit '' 'NO_AUDIT=' '' '1')
+		$(usex test 'CUNIT_INSTALLED=' '' '1' '')
+		$(usex udis86 '' 'NO_UDIS86=' '' '1')
+		VERBOSE=1
+	)
+}
+
+src_compile() {
+	emake "${EMAKE_FLAGS[@]}" NO_PYTHON=1 \
+		trace-cmd
+
+	if use python; then
+		python_copy_sources
+		python_foreach_impl python_compile
+	fi
+
+	use doc && emake doc
+}
+
+python_compile() {
+	pushd "${BUILD_DIR}" > /dev/null || die
+
+	emake "${EMAKE_FLAGS[@]}" \
+		PYTHON_VERS="${EPYTHON}" \
+		PYTHON_PKGCONFIG_VERS="${EPYTHON//python/python-}" \
+		python_dir="$(python_get_sitedir)/${PN}" \
+		python ctracecmd.so
+
+	popd > /dev/null || die
+}
+
+src_test() {
+	emake "${EMAKE_FLAGS[@]}" test
+}
+
+src_configure() {
+	export pkgconfig_dir=/usr/$(get_libdir)/pkgconfig
+	export prefix=/usr
+}
+
+src_install() {
+	emake "${EMAKE_FLAGS[@]}" NO_PYTHON=1 \
+		DESTDIR="${D}" \
+		install install_libs
+
+	newbashcomp tracecmd/trace-cmd.bash "${PN}"
+
+	use doc && emake DESTDIR="${D}" install_doc
+	use python && python_foreach_impl python_install
+}
+
+python_install() {
+	pushd "${BUILD_DIR}" > /dev/null || die
+
+	emake "${EMAKE_FLAGS[@]}" DESTDIR="${D}" \
+		PYTHON_VERS="${EPYTHON}" \
+		PYTHON_PKGCONFIG_VERS="${EPYTHON//python/python-}" \
+		python_dir="$(python_get_sitedir)/${PN}" \
+		install_python
+
+	popd > /dev/null || die
+
+	python_optimize
+}
diff --git a/dev-util/turbostat/files/chromeos-version.sh b/dev-util/turbostat/files/chromeos-version.sh
index b72befc..22450ba 120000
--- a/dev-util/turbostat/files/chromeos-version.sh
+++ b/dev-util/turbostat/files/chromeos-version.sh
@@ -1 +1 @@
-../../../sys-kernel/chromeos-kernel-5_10/files/chromeos-version.sh
\ No newline at end of file
+../../../sys-kernel/chromeos-kernel-5_15/files/chromeos-version.sh
\ No newline at end of file
diff --git a/dev-util/turbostat/turbostat-5.10.102-r2325.ebuild b/dev-util/turbostat/turbostat-5.10.102-r2325.ebuild
deleted file mode 100644
index 6c037f8..0000000
--- a/dev-util/turbostat/turbostat-5.10.102-r2325.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="0ff61893564aa9f7a962728ad38670177caab247"
-CROS_WORKON_TREE=("775dd747a6334a8f1737c55611733056f2b4d843" "d3bfdcd693c261ef14182a1e834e9bf59ec2e834" "82f471a1f381850d569b3edbfa0ba3ec42139f56")
-CROS_WORKON_PROJECT="chromiumos/third_party/kernel"
-CROS_WORKON_LOCALNAME="kernel/v5.10"
-CROS_WORKON_EGIT_BRANCH="chromeos-5.10"
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_OUTOFTREE_BUILD=1
-# Narrow the workon scope to just files referenced by the turbostat
-# Makefile:
-# https://chromium.googlesource.com/chromiumos/third_party/kernel/+/chromeos-4.14/tools/power/x86/turbostat/Makefile#12
-CROS_WORKON_SUBTREE="arch/x86/include/asm tools/include tools/power/x86/turbostat"
-
-inherit cros-sanitizers cros-workon toolchain-funcs
-
-HOMEPAGE="https://www.kernel.org/"
-DESCRIPTION="Intel processor C-state and P-state reporting tool"
-
-LICENSE="GPL-2"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="-asan"
-
-RDEPEND="sys-libs/libcap:="
-
-DEPEND="${RDEPEND}"
-
-domake() {
-	emake -C tools/power/x86/turbostat \
-		BUILD_OUTPUT="$(cros-workon_get_build_dir)" DESTDIR="${D}" \
-		CC="$(tc-getCC)" "$@"
-}
-
-src_configure() {
-	sanitizers-setup-env
-	default
-}
-
-src_compile() {
-	domake
-}
-
-src_install() {
-	domake install
-}
diff --git a/dev-util/turbostat/turbostat-5.15.59-r2362.ebuild b/dev-util/turbostat/turbostat-5.15.59-r2362.ebuild
new file mode 100644
index 0000000..d480ab0
--- /dev/null
+++ b/dev-util/turbostat/turbostat-5.15.59-r2362.ebuild
@@ -0,0 +1,48 @@
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="b489c1995f5aa25d145bde132605b720f837bb06"
+CROS_WORKON_TREE=("c3323f429bb05868a7a686beac7cec95e494123b" "93a8dfdf36c8ecad7cbd219d2ff96e514b13f019" "942fe56bd753858b9e64595b2fcf2a7b12dfdb27")
+CROS_WORKON_PROJECT="chromiumos/third_party/kernel"
+CROS_WORKON_LOCALNAME="kernel/v5.15"
+CROS_WORKON_EGIT_BRANCH="chromeos-5.15"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_OUTOFTREE_BUILD=1
+# Narrow the workon scope to just files referenced by the turbostat
+# Makefile:
+# https://chromium.googlesource.com/chromiumos/third_party/kernel/+/chromeos-4.14/tools/power/x86/turbostat/Makefile#12
+CROS_WORKON_SUBTREE="arch/x86/include/asm tools/include tools/power/x86/turbostat"
+
+inherit cros-sanitizers cros-workon toolchain-funcs
+
+HOMEPAGE="https://www.kernel.org/"
+DESCRIPTION="Intel processor C-state and P-state reporting tool"
+
+LICENSE="GPL-2"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="-asan"
+
+RDEPEND="sys-libs/libcap:="
+
+DEPEND="${RDEPEND}"
+
+domake() {
+	emake -C tools/power/x86/turbostat \
+		BUILD_OUTPUT="$(cros-workon_get_build_dir)" DESTDIR="${D}" \
+		CC="$(tc-getCC)" "$@"
+}
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
+src_compile() {
+	domake
+}
+
+src_install() {
+	domake install
+}
diff --git a/dev-util/turbostat/turbostat-9999.ebuild b/dev-util/turbostat/turbostat-9999.ebuild
index 5c37b9a..1a07dca 100644
--- a/dev-util/turbostat/turbostat-9999.ebuild
+++ b/dev-util/turbostat/turbostat-9999.ebuild
@@ -3,8 +3,8 @@
 
 EAPI=7
 CROS_WORKON_PROJECT="chromiumos/third_party/kernel"
-CROS_WORKON_LOCALNAME="kernel/v5.10"
-CROS_WORKON_EGIT_BRANCH="chromeos-5.10"
+CROS_WORKON_LOCALNAME="kernel/v5.15"
+CROS_WORKON_EGIT_BRANCH="chromeos-5.15"
 CROS_WORKON_INCREMENTAL_BUILD=1
 CROS_WORKON_OUTOFTREE_BUILD=1
 # Narrow the workon scope to just files referenced by the turbostat
diff --git a/dev-util/vulkan-tools/Manifest b/dev-util/vulkan-tools/Manifest
index d100c79..f317c9a 100644
--- a/dev-util/vulkan-tools/Manifest
+++ b/dev-util/vulkan-tools/Manifest
@@ -1 +1 @@
-DIST vulkan-tools-1.2.162.tar.gz 724232 BLAKE2B 16eb2dde35883fb2c7c263a72a615818ff8e1557ac9d74553ec3784d96a827e6900efa4e42218cb9081f7501d9b1a53eac82c360c2d20922043308515ab48983 SHA512 7827f6775dfb26820a2a2cbc60e7da8c7e7bdcb57b65523fbc6b2e989ae6869b04a57ae458c72715722c67d842660574697834c92f9b909dd5673da1945ac6dc
+DIST vulkan-tools-1.3.211.tar.gz 864436 BLAKE2B 09dcb3ce388962cff0e75837d07e58572ac1cbdabdc26edf7f6bd1740278f7ea871e0e14c4ac6a203fa13033616240d7338dfb1a52c4e2ed045ed28585bc62cf SHA512 36be2970dd42e12bf6f6644bc1b14f102af36f1297c33fadddca470b65d7d324532b20c071d2f0dd790d556cd99012a4fb80f185db6165ed3f09d1fd7e5c50e7
diff --git a/dev-util/vulkan-tools/metadata.xml b/dev-util/vulkan-tools/metadata.xml
index 9d9218c..a79c50f 100644
--- a/dev-util/vulkan-tools/metadata.xml
+++ b/dev-util/vulkan-tools/metadata.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
 	<maintainer type="project">
 		<email>x11@gentoo.org</email>
diff --git a/dev-util/vulkan-tools/vulkan-tools-1.2.162.ebuild b/dev-util/vulkan-tools/vulkan-tools-1.2.162.ebuild
deleted file mode 100644
index 46070ee..0000000
--- a/dev-util/vulkan-tools/vulkan-tools-1.2.162.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_PN=Vulkan-Tools
-CMAKE_ECLASS="cmake"
-PYTHON_COMPAT=( python3_{6,7,8,9} )
-inherit cmake-multilib python-any-r1
-
-if [[ ${PV} == *9999* ]]; then
-	EGIT_REPO_URI="https://github.com/KhronosGroup/${MY_PN}.git"
-	EGIT_SUBMODULES=()
-	inherit git-r3
-else
-	SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-	KEYWORDS="*"
-	S="${WORKDIR}"/${MY_PN}-${PV}
-fi
-
-DESCRIPTION="Official Vulkan Tools and Utilities for Windows, Linux, Android, and MacOS"
-HOMEPAGE="https://github.com/KhronosGroup/Vulkan-Tools"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-IUSE="cube wayland +X"
-
-# Cube demo only supports one window system at a time
-REQUIRED_USE="cube? ( ^^ ( X wayland ) )"
-
-BDEPEND="${PYTHON_DEPS}
-	>=dev-util/cmake-3.10.2
-	cube? ( dev-util/glslang:=[${MULTILIB_USEDEP}] )
-"
-RDEPEND="
-	>=media-libs/vulkan-loader-${PV}:=[${MULTILIB_USEDEP},wayland?,X?]
-	wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] )
-	X? (
-		x11-libs/libX11:=[${MULTILIB_USEDEP}]
-		x11-libs/libXrandr:=[${MULTILIB_USEDEP}]
-	)
-"
-DEPEND="${RDEPEND}
-	>=dev-util/vulkan-headers-${PV}
-"
-
-pkg_setup() {
-	MULTILIB_CHOST_TOOLS=(
-		/usr/bin/vulkaninfo
-	)
-
-	use cube && MULTILIB_CHOST_TOOLS+=(
-		/usr/bin/vkcube
-		/usr/bin/vkcubepp
-	)
-
-	python-any-r1_pkg_setup
-}
-
-multilib_src_configure() {
-	cros_enable_cxx_exceptions
-
-	local mycmakeargs=(
-		-DCMAKE_SKIP_RPATH=ON
-		-DBUILD_VULKANINFO=ON
-		-DBUILD_CUBE=$(usex cube)
-		-DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland)
-		-DBUILD_WSI_XCB_SUPPORT=$(usex X)
-		-DBUILD_WSI_XLIB_SUPPORT=$(usex X)
-		-DVULKAN_HEADERS_INSTALL_DIR="${EPREFIX}/usr"
-	)
-
-	use cube && mycmakeargs+=(
-		-DGLSLANG_INSTALL_DIR="${EPREFIX}/usr"
-		-DCUBE_WSI_SELECTION=$(usex X XCB WAYLAND)
-	)
-
-	cmake_src_configure
-}
-
-multilib_src_install() {
-	cmake_src_install
-}
diff --git a/dev-util/vulkan-tools/vulkan-tools-1.3.211.ebuild b/dev-util/vulkan-tools/vulkan-tools-1.3.211.ebuild
new file mode 100644
index 0000000..9225fc5
--- /dev/null
+++ b/dev-util/vulkan-tools/vulkan-tools-1.3.211.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_PN=Vulkan-Tools
+CMAKE_ECLASS="cmake"
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cmake-multilib python-any-r1
+
+if [[ ${PV} == *9999* ]]; then
+	EGIT_REPO_URI="https://github.com/KhronosGroup/${MY_PN}.git"
+	EGIT_SUBMODULES=()
+	inherit git-r3
+else
+	SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/sdk-${PV}.0.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="*"
+	S="${WORKDIR}"/${MY_PN}-sdk-${PV}.0
+fi
+
+DESCRIPTION="Official Vulkan Tools and Utilities for Windows, Linux, Android, and MacOS"
+HOMEPAGE="https://github.com/KhronosGroup/Vulkan-Tools"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cube wayland +X"
+
+# Cube demo only supports one window system at a time
+REQUIRED_USE="cube? ( ^^ ( X wayland ) )"
+
+BDEPEND="${PYTHON_DEPS}
+	>=dev-util/cmake-3.10.2
+	cube? ( ~dev-util/glslang-${PV}:=[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+	~media-libs/vulkan-loader-${PV}:=[${MULTILIB_USEDEP},wayland?,X?]
+	wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] )
+	X? (
+		x11-libs/libX11:=[${MULTILIB_USEDEP}]
+		x11-libs/libXrandr:=[${MULTILIB_USEDEP}]
+	)
+"
+DEPEND="${RDEPEND}
+	~dev-util/vulkan-headers-${PV}
+"
+
+pkg_setup() {
+	MULTILIB_CHOST_TOOLS=(
+		/usr/bin/vulkaninfo
+	)
+
+	use cube && MULTILIB_CHOST_TOOLS+=(
+		/usr/bin/vkcube
+		/usr/bin/vkcubepp
+	)
+
+	python-any-r1_pkg_setup
+}
+
+multilib_src_configure() {
+	cros_enable_cxx_exceptions
+	local mycmakeargs=(
+		-DCMAKE_SKIP_RPATH=ON
+		-DBUILD_VULKANINFO=ON
+		-DBUILD_CUBE=$(usex cube)
+		-DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland)
+		-DBUILD_WSI_XCB_SUPPORT=$(usex X)
+		-DBUILD_WSI_XLIB_SUPPORT=$(usex X)
+		-DVULKAN_HEADERS_INSTALL_DIR="${ESYSROOT}/usr"
+	)
+
+	use cube && mycmakeargs+=(
+		-DGLSLANG_INSTALL_DIR="${ESYSROOT}/usr"
+		-DCUBE_WSI_SELECTION=$(usex X XCB WAYLAND)
+	)
+
+	cmake_src_configure
+}
+
+multilib_src_install() {
+	cmake_src_install
+}
diff --git a/dev-vcs/OWNERS b/dev-vcs/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/dev-vcs/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/dev-vcs/metadata.xml b/dev-vcs/metadata.xml
deleted file mode 100644
index 9944321..0000000
--- a/dev-vcs/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The dev-vcs category contains utilities focused on version control.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie dev-vcs enthält Programme, die sich mit Versionskontrolle beschäftigen.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría dev-vcs contiene programas para control de versiones.
-	</longdescription>
-</catmetadata>
diff --git a/dev-vcs/patman/OWNERS b/dev-vcs/patman/OWNERS
new file mode 100644
index 0000000..891015e
--- /dev/null
+++ b/dev-vcs/patman/OWNERS
@@ -0,0 +1 @@
+include /sys-boot/u-boot/OWNERS
diff --git a/dev-vcs/patman/patman-0.0.1-r342.ebuild b/dev-vcs/patman/patman-0.0.1-r342.ebuild
deleted file mode 100644
index 48bd07e..0000000
--- a/dev-vcs/patman/patman-0.0.1-r342.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="ff8cb34d79384524ed81027f7d07a31f7405c27d"
-CROS_WORKON_TREE="3429c1a71068b0c1e875e3a0d6aea14f8b4564a5"
-CROS_WORKON_PROJECT="chromiumos/third_party/u-boot"
-CROS_WORKON_LOCALNAME="u-boot/files"
-CROS_WORKON_SUBTREE="tools/patman"
-
-PYTHON_COMPAT=( python3_6 )
-
-inherit cros-workon distutils-r1
-
-DESCRIPTION="Patman tool (from U-Boot) for sending patches upstream"
-HOMEPAGE="https://www.denx.de/wiki/U-Boot"
-
-LICENSE="GPL-2"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
-
-BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-RDEPEND=""
-
-src_prepare() {
-	cd tools/patman
-	distutils-r1_src_prepare
-}
-
-src_compile() {
-	cd tools/patman
-	distutils-r1_src_compile
-}
-
-src_install() {
-	cd tools/patman
-	distutils-r1_src_install
-}
diff --git a/dev-vcs/patman/patman-0.0.1-r344.ebuild b/dev-vcs/patman/patman-0.0.1-r344.ebuild
new file mode 100644
index 0000000..e5b9ddc
--- /dev/null
+++ b/dev-vcs/patman/patman-0.0.1-r344.ebuild
@@ -0,0 +1,41 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="d637294e264adfeb29f390dfc393106fd4d41b17"
+CROS_WORKON_TREE="93f4d104a894fc2b6ebe3e54b19fbe515d59633c"
+CROS_WORKON_PROJECT="chromiumos/third_party/u-boot"
+CROS_WORKON_LOCALNAME="u-boot/files"
+CROS_WORKON_SUBTREE="tools/patman"
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-workon distutils-r1
+
+DESCRIPTION="Patman tool (from U-Boot) for sending patches upstream"
+HOMEPAGE="https://www.denx.de/wiki/U-Boot"
+
+LICENSE="GPL-2"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+src_prepare() {
+	cd tools/patman
+	distutils-r1_src_prepare
+}
+
+src_compile() {
+	cd tools/patman
+	distutils-r1_src_compile
+}
+
+src_install() {
+	cd tools/patman
+	distutils-r1_src_install
+}
diff --git a/dev-vcs/patman/patman-9999.ebuild b/dev-vcs/patman/patman-9999.ebuild
index 2d1f956..8d7a29f 100644
--- a/dev-vcs/patman/patman-9999.ebuild
+++ b/dev-vcs/patman/patman-9999.ebuild
@@ -8,7 +8,7 @@
 CROS_WORKON_LOCALNAME="u-boot/files"
 CROS_WORKON_SUBTREE="tools/patman"
 
-PYTHON_COMPAT=( python3_6 )
+PYTHON_COMPAT=( python3_{6..9} )
 
 inherit cros-workon distutils-r1
 
diff --git a/eclass/OWNERS b/eclass/OWNERS
index 0902e11..138a999 100644
--- a/eclass/OWNERS
+++ b/eclass/OWNERS
@@ -1,8 +1,9 @@
-set noparent
 include chromiumos/overlays/portage-stable:/eclass/OWNERS
 
-per-file cros-kernel2.eclass = file:/OWNERS.kernel
-per-file libchrome-version.eclass = file:aosp/platform/external/libchrome:/OWNERS
+per-file cros-firmware.eclass = file:chromiumos/platform/firmware:/OWNERS
+per-file cros-kernel2.eclass = file:chromiumos/owners:v1:/kernel/OWNERS.build
+per-file libchrome-version.eclass = file:chromiumos/platform/libchrome:/OWNERS
 
-# Primarily intended for simple toolchain-related flag flips, etc.
-per-file cros-rust.eclass = file:/chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
+# For cros-rust.eclass, primarily intended for simple toolchain-related flag
+# flips, etc. For cros-rustc.eclass, the toolchain team owns this very directly.
+per-file cros-rust*.eclass = file:/chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/eclass/appid.eclass b/eclass/appid.eclass
index 8dbc724..6dec129 100644
--- a/eclass/appid.eclass
+++ b/eclass/appid.eclass
@@ -8,7 +8,7 @@
 # ChromiumOS Build Team
 # @BUGREPORTS:
 # Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: Eclass for setting up the omaha appid and devicetype fields in /etc/lsb-release
 
 # @FUNCTION: doappid
diff --git a/eclass/arc-build-constants.eclass b/eclass/arc-build-constants.eclass
index 603ce69..7817ea6 100644
--- a/eclass/arc-build-constants.eclass
+++ b/eclass/arc-build-constants.eclass
@@ -13,6 +13,7 @@
 ANDROID_VM_VERS=(
 	android-vm-rvc
 	android-vm-sc
+	android-vm-tm
 	android-vm-master
 )
 
diff --git a/eclass/arc-build.eclass b/eclass/arc-build.eclass
index c619441..1013bf5 100644
--- a/eclass/arc-build.eclass
+++ b/eclass/arc-build.eclass
@@ -6,7 +6,7 @@
 # Chromium OS Build Team
 # @BUGREPORTS:
 # Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: helper eclass for building packages to run under ARC (Android Runtime)
 # @DESCRIPTION:
 # We want to build some libraries to run under ARC.  These funcs will help
diff --git a/eclass/autotest-external-dep.eclass b/eclass/autotest-external-dep.eclass
index 273cc92..801d06e 100644
--- a/eclass/autotest-external-dep.eclass
+++ b/eclass/autotest-external-dep.eclass
@@ -8,7 +8,7 @@
 # The Chromium OS Authors <chromium-os-dev@chromium.org>
 # @BUGREPORTS:
 # Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: Eclass for handling minimal external autotest-dep packages
 # @DESCRIPTION:
 # Since all autotest dep package requires basic fake test during compile stage,
diff --git a/eclass/cbi-image.eclass b/eclass/cbi-image.eclass
index d09e467..aa3b8cc 100644
--- a/eclass/cbi-image.eclass
+++ b/eclass/cbi-image.eclass
@@ -6,7 +6,7 @@
 # Chromium OS Firmware Team
 # @BUGREPORTS:
 # Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: helper eclass for building Cros Board Info (CBI) images
 # @DESCRIPTION:
 # CBI is the Chrome OS standard data format for storing board version, OEM,
diff --git a/eclass/chromium-source.eclass b/eclass/chromium-source.eclass
index a236888..196d26e 100644
--- a/eclass/chromium-source.eclass
+++ b/eclass/chromium-source.eclass
@@ -7,7 +7,7 @@
 # ChromiumOS Build Team
 # @BUGREPORTS:
 # Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: helper eclass for building packages using the Chromium source code.
 # @DESCRIPTION:
 # To use this eclass, simply inherit chromium-source in your ebuild.
diff --git a/eclass/crashid.eclass b/eclass/crashid.eclass
index d459fc9..8c357d7 100644
--- a/eclass/crashid.eclass
+++ b/eclass/crashid.eclass
@@ -9,7 +9,7 @@
 # Chromium OS crash reporter maintainers; see src/platform/crash-reporter/OWNERS
 # @BUGREPORTS:
 # Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: Eclass for setting up GOOGLE_CRASH_ID and GOOGLE_CRASH_VERSION_ID in /etc/os-release
 #
 # @FUNCTION: docrashid
diff --git a/eclass/cros-board.eclass b/eclass/cros-board.eclass
index 8b5c737..f6295d8 100644
--- a/eclass/cros-board.eclass
+++ b/eclass/cros-board.eclass
@@ -53,6 +53,7 @@
 # they won't be accidentally recycled in the future.
 ALL_BOARDS=(
 	#acorn
+	adlnrvp
 	adlrvp
 	ambassador
 	#amd64-corei7
@@ -111,6 +112,8 @@
 	brask
 	#bruteus
 	brya
+	brya-hibernate
+	brya-lvm-stateful
 	brya-manatee
 	bubs
 	buddy
@@ -148,8 +151,10 @@
 	#cnlrvp
 	cobblepot
 	coral
+	coral-arc-r
 	#coral-kernelnext
 	corsola
+	corsola64
 	#cosmos
 	#cranky
 	cyan
@@ -251,6 +256,7 @@
 	hatch-borealis
 	hatch-diskswap
 	hatch-kernelnext
+	hatch-lvm-stateful
 	hatch-manatee
 	heli
 	herobrine
@@ -258,6 +264,7 @@
 	#iclrvp
 	#ironhide
 	jacuzzi
+	jacuzzi64
 	jacuzzi-kernelnext
 	#jadeite
 	#jaguar
@@ -329,7 +336,7 @@
 	#mipsel-n64-generic
 	#mipsel-o32-generic
 	mistral
-	moblab-generic-vm
+	#moblab-generic-vm
 	#monroe
 	#moose
 	mushu
@@ -370,6 +377,7 @@
 	#parrot64
 	#parrot_ivb
 	#parry
+	passionfruit
 	#pbody
 	#peach
 	#peach_kirby
@@ -398,6 +406,7 @@
 	rammus-arc-r-userdebug
 	#raspberrypi
 	reef
+	reef-arc-r
 	relm
 	reks
 	#reptile
@@ -551,20 +560,20 @@
 # Also add cros_host so that we can inherit this eclass in ebuilds
 # that get emerged both in the cros-sdk and for target boards.
 # See REQUIRED_USE below.
-IUSE="${CROS_BOARDS[@]/#/${BOARD_USE_PREFIX}} cros_host unibuild"
+IUSE="${CROS_BOARDS[*]/#/${BOARD_USE_PREFIX}} cros_host unibuild"
 
 # Echo the current board, with variant. The arguments are:
 #   1: default, the value to return when no board is found; default: ""
 get_current_board_with_variant()
 {
-	[[ $# -gt 1 ]] && die "Usage: ${FUNCNAME} [default]"
+	[[ $# -gt 1 ]] && die "Usage: ${FUNCNAME[0]} [default]"
 
 	local b
 	local current
 	local default_board="$1"
 
 	for b in "${CROS_BOARDS[@]}"; do
-		if use ${BOARD_USE_PREFIX}${b}; then
+		if use "${BOARD_USE_PREFIX}${b}"; then
 			if [[ -n "${current}" ]]; then
 				die "More than one board is set: ${current} and ${b}"
 			fi
@@ -573,7 +582,7 @@
 	done
 
 	if [[ -n "${current}" ]]; then
-		echo ${current}
+		echo "${current}"
 		return
 	fi
 
diff --git a/eclass/cros-camera.eclass b/eclass/cros-camera.eclass
index 28463f5..a0f76af 100644
--- a/eclass/cros-camera.eclass
+++ b/eclass/cros-camera.eclass
@@ -6,7 +6,7 @@
 # Chromium OS Camera Team
 # @BUGREPORTS:
 # Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: helper eclass for building Chromium package in src/platform2/camera
 # @DESCRIPTION:
 # Packages in src/platform2/camera are in active development. We want builds
@@ -14,13 +14,31 @@
 
 inherit multilib
 
+IUSE="
+	march_alderlake
+	march_armv8
+	march_bdver4
+	march_corei7
+	march_goldmont
+	march_silvermont
+	march_skylake
+	march_tigerlake
+	march_tremont
+	march_znver1
+"
+
+REQUIRED_USE="
+	?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 )
+	^^ ( amd64 arm arm64 )
+"
+
 # @FUNCTION: cros-camera_dohal
 # @USAGE: <source HAL file> <destination HAL file>
 # @DESCRIPTION:
 # Install the given camera HAL library to /usr/lib/camera_hal or
 # /usr/lib64/camera_hal, depending on the architecture and/or platform.
 cros-camera_dohal() {
-	[[ $# -eq 2 ]] || die "Usage: ${FUNCNAME} <src> <dst>"
+	[[ $# -eq 2 ]] || die "Usage: ${FUNCNAME[0]} <src> <dst>"
 
 	local src=$1
 	local dst=$2
@@ -29,3 +47,41 @@
 		newins "${src}" "${dst}"
 	)
 }
+
+# @FUNCTION: cros-camera_get_arch_march_path
+# @USAGE:
+# @DESCRIPTION:
+# Some libraries store the .so files built by different "-march" configuration
+# under "${arch}-${march}" folders. This function returns the "${arch}-${march}"
+# path according to the use flags.
+cros-camera_get_arch_march_path() {
+	if use march_alderlake; then
+		echo "x86_64-alderlake"
+	elif use march_armv8; then
+		echo "armv7-armv8-a+crc"
+	elif use march_bdver4; then
+		echo "x86_64-bdver4"
+	elif use march_corei7; then
+		echo "x86_64-corei7"
+	elif use march_goldmont; then
+		echo "x86_64-goldmont"
+	elif use march_silvermont; then
+		echo "x86_64-silvermont"
+	elif use march_skylake; then
+		echo "x86_64-skylake"
+	elif use march_tigerlake; then
+		echo "x86_64-tigerlake"
+	elif use march_tremont; then
+		echo "x86_64-tremont"
+	elif use march_znver1; then
+		echo "x86_64-znver1"
+	elif use amd64; then
+		echo "x86_64"
+	elif use arm; then
+		echo "armv7"
+	elif use arm64; then
+		echo "arm"
+	else
+		die "Unknown microarchitecture"
+	fi
+}
diff --git a/eclass/cros-cellular.eclass b/eclass/cros-cellular.eclass
index 4401e65..927e66e 100644
--- a/eclass/cros-cellular.eclass
+++ b/eclass/cros-cellular.eclass
@@ -6,7 +6,7 @@
 # ejcaruso@chromium.org
 # @BUGREPORTS:
 # Please report bugs via https://crbug.com/new
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: helper eclass for building cellular helpers for modemfwd
 # @DESCRIPTION:
 # modemfwd expects a directory containing helpers and a manifest detailing
diff --git a/eclass/cros-common.mk.eclass b/eclass/cros-common.mk.eclass
index 214e5a7..2dc78d5 100644
--- a/eclass/cros-common.mk.eclass
+++ b/eclass/cros-common.mk.eclass
@@ -6,7 +6,7 @@
 # Chromium OS Build Team
 # @BUGREPORTS:
 # Please report bugs via https://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: helper eclass for building packages that use common.mk
 # @DESCRIPTION:
 # Some Chromium OS packages still build using common.mk rather than the newer
diff --git a/eclass/cros-config-bsp.eclass b/eclass/cros-config-bsp.eclass
index 2557348..a82f70d 100644
--- a/eclass/cros-config-bsp.eclass
+++ b/eclass/cros-config-bsp.eclass
@@ -46,30 +46,101 @@
 	dev-go/lucicfg
 "
 
-src_compile() {
-	# Re-establish the symlinks as they exist in the source tree
-	ln -s "${S}/config" "${S}/${PROGRAM}/config"
-	(cd "${S}/${PROGRAM}" && \
-		lucicfg generate --config-dir generated config.star \
-		) || die "Failed to generate '${PROGRAM}' from source starlark"
+EXPORT_FUNCTIONS src_compile src_install
+
+# @FUNCTION: cros-config-bsp_build_config
+# @USAGE: cros-config-bsp_build_config <generate_dir> <starlark_file>
+# @DESCRIPTION:
+# Generates a payload (ConfigBundle) config file based on Starlark config.
+cros-config-bsp_build_config() {
+	local config_dir=$1
+	local starlark_file=$2
+	lucicfg generate --config-dir "${config_dir}" "${starlark_file}" \
+		|| die "Failed to generate config under $(pwd)."
+}
+
+# @FUNCTION: cros-config-bsp_proto_converter
+# @USAGE:
+# cros-config-bsp_proto_converter <program_name> <project_name> <output_dir>
+# @DESCRIPTION:
+# Transforms a ConfigBundle file to platform JSON.
+cros-config-bsp_proto_converter() {
+	local program_config=$1
+	local project_config=$2
+	local output_dir=$3
+
+	if [[ ! -e "${program_config}" || ! -e "${project_config}" ]]; then
+		die "'${program_config}' and '${project_config}' must exist."
+	fi
+
+	rm -rf "${output_dir}"
+	mkdir -p "${output_dir}"
+	cros_config_proto_converter \
+		--output "${output_dir}/project-config.json" \
+		--program-config "${program_config}" \
+		--project-configs "${project_config}" \
+		--dtd-path config/payload_utils/media_profiles.dtd \
+		|| die "Failed to run cros_config_proto_converter."
+}
+
+# @FUNCTION: cros-config-bsp_merge_payloads
+# @USAGE:
+# cros-config-bsp_merge_payloads <imported_config> <config_bundle> <output_file>
+# @DESCRIPTION:
+# Merges a backfilled ConfigBundle file with the ConfigBundle produced by Starlark.
+cros-config-bsp_merge_payloads() {
+	local imported_config=$1
+	local config_bundle=$2
+	local output_file=$3
+
+	cros_config_merge_backfilled_config \
+		--backfilled-config-bundle "${imported_config}" \
+		--config-bundle "${config_bundle}" \
+		--output "${output_file}" \
+		|| die "Failed to merge backfilled config and config payload"
+}
+
+# @FUNCTION: cros-config-bsp_gen_config
+# @USAGE: cros-config-bsp_gen_config
+# @DESCRIPTION:
+# Generates platform configuration files for the program and associated projects.
+cros-config-bsp_gen_config() {
+	# Re-establish the symlinks as they exist in the source tree.
+	ln -sfT "${S}/config" "${S}/program/${PROGRAM}/config" \
+		|| die "Failed to create '${PROGRAM}' link."
+	(
+		cd "${S}/program/${PROGRAM}" || die "Unable to cd into ${PROGRAM}."
+		cros-config-bsp_build_config generated config.star
+	)
+	local project
 	for project in "${PROJECTS[@]}"; do
-		ln -s "${S}/config" "${S}/${project}/config"
-		ln -s "${S}/${PROGRAM}" "${S}/${project}/program"
-		output_dir="sw_build_config/platform/chromeos-config/generated"
-		(cd "${S}/${project}" && \
-			lucicfg generate --config-dir generated config.star && \
-			cros_config_proto_converter \
-			--output "${output_dir}/project-config.json" \
-			--program_config "${S}/${PROGRAM}/generated/config.jsonproto" \
-			--project_configs "${S}/${project}/generated/config.jsonproto"
-					) || die "Failed to generate '${project}' config from source starlark"
+		ln -sfT "${S}/config" "${S}/${project}/config" \
+			|| die "Failed to create '${project}/config' link."
+		ln -sfT "${S}/program/${PROGRAM}" "${S}/${project}/program" \
+			|| die "Failed to create '${project}/program' link."
+		local output_dir="sw_build_config/platform/chromeos-config/generated"
+		(
+			cd "${S}/${project}" || die "Unable to cd into ${project}."
+			cros-config-bsp_build_config generated config.star
+			cros-config-bsp_proto_converter "program/generated/config.jsonproto" \
+				"generated/config.jsonproto" "${output_dir}"
+			cros-config-bsp_merge_payloads "generated/imported.jsonproto" \
+				"generated/config.jsonproto" "generated/joined.jsonproto"
+		)
 	done
+}
+
+cros-config-bsp_src_compile() {
+	cros-config-bsp_gen_config
 	platform_json_compile
 }
 
-
-src_install() {
+cros-config-bsp_src_install() {
 	platform_json_install
+	local project
+	for project in "${PROJECTS[@]}"; do
+		platform_merged_install "${project}"
+	done
 
 	unibuild_install_files arc-files "${WORKDIR}/project-config.json"
 	unibuild_install_files thermal-files "${WORKDIR}/project-config.json"
diff --git a/eclass/cros-cpfe.eclass b/eclass/cros-cpfe.eclass
index 2acb59e..a2b8d74 100644
--- a/eclass/cros-cpfe.eclass
+++ b/eclass/cros-cpfe.eclass
@@ -10,7 +10,7 @@
 # ChromiumOS Build Team
 # @BUGREPORTS:
 # Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: helper eclass for fetching binary components from CPFE binary host.
 # @DESCRIPTION:
 # Binary components (especially for private usage) are usually uploaded by CPFE
diff --git a/eclass/cros-credentials.eclass b/eclass/cros-credentials.eclass
index f3371d9..e57e0d7 100644
--- a/eclass/cros-credentials.eclass
+++ b/eclass/cros-credentials.eclass
@@ -6,7 +6,7 @@
 # ChromiumOS Build Team
 # @BUGREPORTS:
 # Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: Set credentials properly to access private git repo.
 # @DESCRIPTION:
 # Copy in credentials to fake home directory so that build process can
diff --git a/eclass/cros-ec-board.eclass b/eclass/cros-ec-board.eclass
index ea4011e..15cf6ae 100644
--- a/eclass/cros-ec-board.eclass
+++ b/eclass/cros-ec-board.eclass
@@ -42,8 +42,7 @@
 	EC_BOARDS+=($(cros_config_host get-firmware-build-targets ish))
 
 	if [[ ${#EC_BOARDS[@]} -eq 0 ]]; then
-		einfo "No boards found; assuming we're building for a fuzzer."
-		use fuzzer || die "No EC boards found."
+		einfo "No boards found."
 		return
 	fi
 	einfo "Building for boards: ${EC_BOARDS[*]}"
diff --git a/eclass/cros-ec-merge-ro.eclass b/eclass/cros-ec-merge-ro.eclass
index 1c4832d..28811d1 100644
--- a/eclass/cros-ec-merge-ro.eclass
+++ b/eclass/cros-ec-merge-ro.eclass
@@ -6,7 +6,7 @@
 # Chromium OS Firmware Team
 # @BUGREPORTS:
 # Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: helper eclass for merging RO firmware into EC firmware
 # @DESCRIPTION:
 # Merges a specific RO version of firmware into the firmware that was built
diff --git a/eclass/cros-ec-release.eclass b/eclass/cros-ec-release.eclass
index ebccdbd..a12574e 100644
--- a/eclass/cros-ec-release.eclass
+++ b/eclass/cros-ec-release.eclass
@@ -6,7 +6,7 @@
 # Chromium OS Firmware Team
 # @BUGREPORTS:
 # Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: helper eclass for building Chromium OS release firmware
 # @DESCRIPTION:
 # Release firmware using the EC code base needs to be built from specific
diff --git a/eclass/cros-ec-utils.eclass b/eclass/cros-ec-utils.eclass
index 82d0773..8721476 100644
--- a/eclass/cros-ec-utils.eclass
+++ b/eclass/cros-ec-utils.eclass
@@ -6,7 +6,7 @@
 # Chromium OS Firmware Team
 # @BUGREPORTS:
 # Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: helper eclass for building Chromium OS firmware
 # @DESCRIPTION:
 # Common helper functions for working with Chromium OS EC firmware.
diff --git a/eclass/cros-ec.eclass b/eclass/cros-ec.eclass
index 5b30b74..3a3de6e 100644
--- a/eclass/cros-ec.eclass
+++ b/eclass/cros-ec.eclass
@@ -6,7 +6,7 @@
 # Chromium OS Firmware Team
 # @BUGREPORTS:
 # Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: helper eclass for building Chromium OS EC firmware
 # @DESCRIPTION:
 # Builds the EC firmware and installs into /build/<board>/<EC_board> so that
@@ -29,7 +29,7 @@
 
 inherit toolchain-funcs cros-ec-board cros-workon cros-unibuild coreboot-sdk
 
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/ec/+/HEAD/README.md"
 
 LICENSE="CrOS-EC"
 IUSE="quiet verbose +coreboot-sdk unibuild fuzzer bootblock_in_ec asan msan ubsan test"
diff --git a/eclass/cros-factory-board.eclass b/eclass/cros-factory-board.eclass
index 8e3529c..346491a 100644
--- a/eclass/cros-factory-board.eclass
+++ b/eclass/cros-factory-board.eclass
@@ -9,7 +9,7 @@
 # The Chromium OS Authors <chromium-os-dev@chromium.org>
 # @BUGREPORTS:
 # Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: Eclass to help creating per-project factory resources.
 
 # Check for EAPI 7+
diff --git a/eclass/cros-factory.eclass b/eclass/cros-factory.eclass
index c89ca24..bcf7361 100644
--- a/eclass/cros-factory.eclass
+++ b/eclass/cros-factory.eclass
@@ -7,7 +7,7 @@
 # The Chromium OS Authors <chromium-os-dev@chromium.org>
 # @BUGREPORTS:
 # Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: Eclass to help creating per-board factory resources.
 
 # Check for EAPI 3+
diff --git a/eclass/cros-firmware.eclass b/eclass/cros-firmware.eclass
index c80a0bb..27323cf 100644
--- a/eclass/cros-firmware.eclass
+++ b/eclass/cros-firmware.eclass
@@ -1,5 +1,6 @@
 # Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
 #
 # Original Author: The Chromium OS Authors <chromium-os-dev@chromium.org>
 # Purpose: Generate shell script containing firmware update bundle.
@@ -18,30 +19,31 @@
 
 # @ECLASS-VARIABLE: CROS_FIRMWARE_BCS_OVERLAY
 # @DESCRIPTION: (Optional) Name of board overlay on Binary Component Server
-: ${CROS_FIRMWARE_BCS_OVERLAY:=$(
+: "${CROS_FIRMWARE_BCS_OVERLAY:=$(
 	# EBUILD will be the full path to the ebuild file.
 	IFS="/"
+	# shellcheck disable=SC2046,SC2086
 	set -- ${EBUILD}
 	# Chop off the ebuild, the $PN dir, and the $CATEGORY dir.
 	n=$(( $# - 3 ))
 	echo "${!n}"
-)}
+)}"
 
 # @ECLASS-VARIABLE: CROS_FIRMWARE_MAIN_IMAGE
 # @DESCRIPTION: (Optional) Location of system firmware (BIOS) image
-: ${CROS_FIRMWARE_MAIN_IMAGE:=}
+: "${CROS_FIRMWARE_MAIN_IMAGE:=}"
 
 # @ECLASS-VARIABLE: CROS_FIRMWARE_MAIN_RW_IMAGE
 # @DESCRIPTION: (Optional) Location of RW system firmware image
-: ${CROS_FIRMWARE_MAIN_RW_IMAGE:=}
+: "${CROS_FIRMWARE_MAIN_RW_IMAGE:=}"
 
 # @ECLASS-VARIABLE: CROS_FIRMWARE_EC_IMAGE
 # @DESCRIPTION: (Optional) Location of EC firmware image
-: ${CROS_FIRMWARE_EC_IMAGE:=}
+: "${CROS_FIRMWARE_EC_IMAGE:=}"
 
 # @ECLASS-VARIABLE: CROS_FIRMWARE_PD_IMAGE
 # @DESCRIPTION: (Optional) Location of PD firmware image
-: ${CROS_FIRMWARE_PD_IMAGE:=}
+: "${CROS_FIRMWARE_PD_IMAGE:=}"
 
 # Check for EAPI 2+
 case "${EAPI:-0}" in
@@ -129,9 +131,9 @@
 # Output a URL for the given firmware variable.
 # This calls _add_uri() after setting up the required parameters.
 #  $1: Variable containing the required filename (e.g. "FW_IMAGE_LOCATION")
+#  $2: src uri (unused)
 _add_source() {
 	local var="$1"
-	local src_uri="$2"
 	local overlay="${CROS_FIRMWARE_BCS_OVERLAY#overlay-}"
 	local input="${!var}"
 
@@ -156,7 +158,7 @@
 	case "${input##*.}" in
 		tar|tbz2|tbz|bz|gz|tgz|zip|xz) ;;
 		*)
-			eval ${var}="'${input}'"
+			eval "${var}='${input}'"
 			return
 			;;
 	esac
@@ -164,12 +166,13 @@
 	mkdir -p "${folder}" || die "Not able to create ${folder}"
 	(cd "${folder}" && unpack "${unpack_name}") ||
 		die "Failed to unpack ${unpack_name}."
-	local contents=($(ls "${folder}"))
+	local contents=()
+	mapfile -d '' contents < <(find "${folder}" -mindepth 1 -maxdepth 1 -print0)
 	if [[ ${#contents[@]} -gt 1 ]]; then
 		# Currently we can only serve one file (or directory).
 		ewarn "WARNING: package ${input} contains multiple files."
 	fi
-	eval ${var}="'${folder}/${contents}'"
+	eval "${var}='${contents[0]}'"
 }
 
 cros-firmware_src_unpack() {
@@ -240,15 +243,15 @@
 }
 
 cros-firmware_src_compile() {
-	# image_cmd will be reset when creating local updaters.
-	# ext_cmd will be reused when creating local updaters.
-	local image_cmd=() ext_cmd=()
 	local root="${SYSROOT%/}"
-	local output="${UPDATE_SCRIPT}"
+	local local_root="${root}/firmware"
 
 	# We need lddtree from chromite.
 	export PATH="${CHROMITE_BIN_DIR}:${PATH}"
 
+	# For the official BCS firmware updater.
+	local image_cmd=()
+	local ext_cmd=()
 	if use unibuild; then
 		_add_param ext_cmd -i "${DISTDIR}"
 		_add_param ext_cmd -c "${root}${UNIBOARD_YAML_CONFIG}"
@@ -260,26 +263,53 @@
 		_add_param image_cmd -w "${FW_RW_IMAGE_LOCATION}"
 	fi
 
+	# For the local firmware updater.
+	local local_image_cmd=()
+	local local_ext_cmd=("${ext_cmd[@]}")
+	if use unibuild; then
+		local_ext_cmd+=(--local)
+		# Tell pack_firmware.py where to find the files.
+		# 'BUILD_TARGET' will be replaced with the build-targets config
+		# from the unified build config file. Since these path do not
+		# exist, we can't use _add_file_param.
+		_add_param local_image_cmd \
+			-b "${local_root}/image-BUILD_TARGET.bin"
+		local local_dir="${local_root}/BUILD_TARGET"
+		if use zephyr_ec; then
+			_add_param local_image_cmd -e "${local_dir}/ec.bin"
+		elif use cros_ec; then
+			_add_param local_image_cmd -e "${local_dir}/ec.bin"
+			_add_param local_image_cmd -p "${local_dir}/pd.bin"
+		fi
+	else
+		_add_param local_image_cmd -b "${local_root}/image.bin"
+		_add_file_param local_image_cmd -e "${local_root}/ec.bin"
+		_add_file_param local_image_cmd -p "${local_root}/pd.bin"
+	fi
+
 	if use tot_firmware; then
-		einfo "tot_firmware is enabled, skipping BCS image updater"
+		einfo "tot_firmware is enabled, skipping BCS firmware updater"
 	elif [ ${#image_cmd[@]} -eq 0 ] && ! use unibuild; then
 		# Create an empty update script for the generic case
 		# (no need to update)
 		einfo "Building empty firmware update script"
-		echo -n >"${output}"
+		echo -n >"${UPDATE_SCRIPT}"
 	else
-		einfo "Build ${BOARD_USE} firmware updater to ${output}:" \
+		einfo "Build ${BOARD_USE} BCS firmware updater to ${UPDATE_SCRIPT}:" \
 			"${image_cmd[*]} ${ext_cmd[*]}"
-		./pack_firmware.py "${image_cmd[@]}" "${ext_cmd[@]}" \
-			-o "${output}" || die "Cannot pack firmware updater."
+		./pack_firmware.py -o "${UPDATE_SCRIPT}" \
+			"${image_cmd[@]}" "${ext_cmd[@]}" ||
+			die "Cannot pack firmware updater."
 	fi
 
+	# To create local updater, bootimage must be enabled.
 	if ! use bootimage; then
 		if use cros_ec; then
-			# TODO(hungte) Deal with a platform that has only EC and
-			# no BIOS, which is usually incorrect configuration.  We
-			# only warn here to allow for BCS based firmware to
-			# still generate a proper chromeos-firmwareupdate update
+			# TODO(hungte) Deal with a platform that has
+			# only EC and no BIOS, which is usually
+			# incorrect configuration.  We only warn here to
+			# allow for BCS based firmware to still generate
+			# a proper chromeos-firmwareupdate update
 			# script.
 			ewarn "WARNING: platform has no local BIOS."
 			ewarn "EC-only is not supported."
@@ -288,48 +318,36 @@
 		return
 	fi
 
-	# Create local updaters. image_cmd is cleared and ext_cmd is kept.
-	image_cmd=()
-	output="updater.sh"
-	local local_root="${root}/firmware"
-	if use unibuild; then
-		ext_cmd+=(--local)
-		# Tell pack_firmware.py where to find the files.
-		# 'BUILD_TARGET' will be replaced with the build-targets config
-		# from the unified build config file. Since these path do not
-		# exist, we can't use _add_file_param.
-		_add_param image_cmd -b "${local_root}/image-BUILD_TARGET.bin"
-		local_root+="/BUILD_TARGET"
-		if use zephyr_ec; then
-			_add_param image_cmd -e "${local_root}/zephyr.bin"
-		elif use cros_ec; then
-			_add_param image_cmd -e "${local_root}/ec.bin"
-			_add_param image_cmd -p "${local_root}/pd.bin"
+	# If the updater does not exist, fall back to local updater.
+	if [[ ! -f "${UPDATE_SCRIPT}" ]]; then
+		einfo "Build ${BOARD_USE} local updater to ${UPDATE_SCRIPT}:" \
+			"${local_image_cmd[*]} ${local_ext_cmd[*]}"
+		./pack_firmware.py -o "${UPDATE_SCRIPT}" \
+			"${local_image_cmd[@]}" "${local_ext_cmd[@]}" ||
+			die "Cannot pack local firmware updater."
+		if ! use tot_firmware; then
+			ewarn "No BCS updater created; using local updater"
 		fi
-	else
-		_add_param image_cmd -b "${local_root}/image.bin"
-		_add_file_param image_cmd -e "${local_root}/ec.bin"
-		_add_file_param image_cmd -p "${local_root}/pd.bin"
 	fi
 
-	einfo "Build ${BOARD_USE} local firmware updater to ${output}:" \
-		"${image_cmd[*]} ${ext_cmd[*]}"
-	./pack_firmware.py -o "${output}" "${image_cmd[@]}" "${ext_cmd[@]}" ||
-		die "Cannot pack firmware updater."
-
-	if [[ ! -s "${UPDATE_SCRIPT}" ]]; then
-		# When no pre-built binaries are available,
-		# dupe local updater to system updater.
-		cp -f "${output}" "${UPDATE_SCRIPT}"
+	# Create local signer config
+	if use unibuild && use bootimage; then
+		./local_signer.py -c "${root}${UNIBOARD_YAML_CONFIG}" \
+			-r "${root}" || die "Cannot create local signer config."
 	fi
-
 }
 
 cros-firmware_src_install() {
 	# install updaters for firmware-from-source archive.
-	if use bootimage; then
+	if use tot_firmware && use bootimage; then
 		exeinto /firmware
-		doexe updater.sh
+		newexe "${UPDATE_SCRIPT}" updater.sh
+	fi
+
+	# install local signer config
+	if use unibuild && use bootimage; then
+		insinto /firmware
+		doins signer_config.csv
 	fi
 
 	# skip anything else if no main updater program.
@@ -370,7 +388,7 @@
 # Internal function to expand a string (separated by ifs) into bash array.
 _expand_list() {
 	local var="$1" ifs="$2"
-	IFS="${ifs}" read -r -a ${var} <<<"${*:3}"
+	IFS="${ifs}" read -r -a "${var?}" <<<"${*:3}"
 }
 
 # @FUNCTION: cros-firmware_setup_source
@@ -389,12 +407,14 @@
 	# the ebuild filename.
 	local basedir="${EBUILD%/*}"
 	local files="${basedir}/files"
-	local i uris
+	local i
 
 	if [[ -f "${files}/srcuris" ]]; then
+		local uris
 		mapfile -t uris < "${files}/srcuris"
 		SRC_URI+=" ${uris[*]}"
 	else
+		local uris
 		FW_IMAGE_LOCATION="${CROS_FIRMWARE_MAIN_IMAGE}"
 		FW_RW_IMAGE_LOCATION="${CROS_FIRMWARE_MAIN_RW_IMAGE}"
 		EC_IMAGE_LOCATION="${CROS_FIRMWARE_EC_IMAGE}"
diff --git a/eclass/cros-fwupd.eclass b/eclass/cros-fwupd.eclass
index a511444..be98e08 100644
--- a/eclass/cros-fwupd.eclass
+++ b/eclass/cros-fwupd.eclass
@@ -48,7 +48,7 @@
 \t<checksum type="sha1" filename="${file}"target="container">${sha1sum}</checksum>\n\
 \t<checksum type="sha256" filename="${file}"target="container">${sha256sum}</checksum>\n\
 \t<size type="download">${size}</size>\n\
-\t</release>#g;/<?xml.*/d;s/^/  /g
+\t</release>#g;/<?xml.*/d;/<artifacts>/,/<\/artifacts>/d;s/^/  /g
 EOF
 			cabextract -p -F "*.metainfo.xml" "${DISTDIR}"/"${file}" | \
 				sed -f script.sed >> ${PN}.metainfo.xml || die
diff --git a/eclass/cros-go.eclass b/eclass/cros-go.eclass
index b559189..e88bae7 100644
--- a/eclass/cros-go.eclass
+++ b/eclass/cros-go.eclass
@@ -6,7 +6,7 @@
 # The Chromium OS Authors <chromium-os-dev@chromium.org>
 # @BUGREPORTS:
 # Please report bugs via https://crbug.com/new (with component "Tools>ChromeOS-Toolchain")
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: Eclass for fetching, building, and installing Go packages.
 # @DESCRIPTION:
 # See http://www.chromium.org/chromium-os/developer-guide/go-in-chromium-os for details.
@@ -114,6 +114,24 @@
 # will set main.Version string variable to package version and
 # revision (if any) of the ebuild.
 
+# @ECLASS-VARIABLE: CROS_GO_SKIP_DEP_CHECK
+# @DESCRIPTION:
+# Temporary workaround to allow circular dependencies like:
+# google.golang.org/genproto/googleapis/chromeos/uidetection/v1 requires
+# google.golang.org/grpc which requires other packages in
+# google.golang.org/genproto
+# In the past these have been fixed in GOPATH mode by splitting packages
+# in various ebuilds like dev-go/genproto vs dev-go/genproto-rpc (etc.)
+# and building them sequentially while ignoring upstream module definitions.
+# When switching to Go modules, we need to respect upstream module boundaries
+# and let the Go modules dependency system properly handle circular deps.
+# So in order to merge for eg dev-go/genproto with dev-go/genproto-rpc, we
+# need the temporary ability to relax the dep checking on circular deps.
+# This variable addition and use is temporary for the GOPATH -> Go modules
+# transition and will go away when switching to modules mode.
+# For example:
+#   CROS_GO_SKIP_DEP_CHECK="1"
+
 # @ECLASS-VARIABLE: CROS_GO_PACKAGES
 # @DESCRIPTION:
 # Go packages to install in /usr/lib/gopath.
@@ -148,6 +166,14 @@
 # Flags to pass to "go vet" if CROS_GO_VET is set.
 # See https://golang.org/cmd/vet/ for available flags.
 
+# @FUNCTION: cros-go_out_dir
+# @RETURN: an output directory for compiled CROS_GO_BINARIES
+cros-go_out_dir() {
+	cros_go_out="${T}/go_output"
+	mkdir -p "${cros_go_out}"
+	echo "${cros_go_out}"
+}
+
 inherit toolchain-funcs
 
 DEPEND="dev-lang/go"
@@ -310,14 +336,31 @@
 # @DESCRIPTION:
 # Wrapper function for running "go vet".
 go_vet() {
-	GO111MODULE=${GO111MODULE:-off} GOPATH="$(cros-go_gopath)" $(tc-getBUILD_GO) vet \
+	# shellcheck disable=SC2154
+	GO111MODULE="${GO111MODULE:-off}" GOPATH="$(cros-go_gopath)" $(tc-getBUILD_GO) vet \
 		"${CROS_GO_VET_FLAGS[@]}" "$@" || die
 }
 
+# @FUNCTION: go_lint
+# @DESCRIPTION:
+# Wrapper function for running "golint"
+go_lint() {
+	# shellcheck disable=SC2154
+	local go_lint_output_base="${CROS_ARTIFACTS_TMP_DIR}/linting_output/go_lint"
+	mkdir -p "${go_lint_output_base}"
+
+	local file_name="${1//'/...'/}"
+	file_name="${file_name//'/'/-}-$(date +%s)"
+
+	GO111MODULE="${GO111MODULE:-off}" GOPATH="$(cros-go_gopath)" golint \
+		"$@" >> "${go_lint_output_base}/${file_name}.txt" || die
+}
+
 # @FUNCTION: cros-go_src_compile
 # @DESCRIPTION:
 # Build CROS_GO_BINARIES.
 cros-go_src_compile() {
+	out_dir=$(cros-go_out_dir)
 	local bin
 	local source
 	local target
@@ -327,7 +370,7 @@
 		IFS=: read source target installdir <<<"$(parse_binspec "${bin}")"
 		cros_go build -v \
 			${CROS_GO_VERSION:+"-ldflags=-X main.Version=${CROS_GO_VERSION}"} \
-			-o "${target}" \
+			-o "${out_dir}/${target}" \
 			"${source}"
 	done
 
@@ -335,6 +378,11 @@
 	for pkg in "${CROS_GO_VET[@]}" ; do
 		einfo "Vetting \"${pkg}\""
 		go_vet "${pkg}"
+		# Enable the option to output to a file so that the chromite build API
+		# can access Go lints.
+		if [[ -n "${ENABLE_GO_LINT}" ]]; then
+			go_lint "${pkg}"
+		fi
 	done
 }
 
@@ -350,6 +398,7 @@
 # @DESCRIPTION:
 # Install CROS_GO_BINARIES and CROS_GO_PACKAGES.
 cros-go_src_install() {
+	out_dir=$(cros-go_out_dir)
 	# Install the compiled binaries.
 	local bin
 	local source
@@ -361,7 +410,7 @@
 		(
 			# Run in sub-shell so we do not modify env.
 			exeinto "${installdir}"
-			doexe "${target}"
+			doexe "${out_dir}/${target}"
 		)
 	done
 
@@ -392,6 +441,9 @@
 	# This only works if we're building and installing from source.
 	[[ "${MERGE_TYPE}" == "source" ]] || return
 
+	# See CROS_GO_SKIP_DEP_CHECK description for details
+	[[ -n "${CROS_GO_SKIP_DEP_CHECK}" ]] && return
+
 	# Get the list of packages from the workspace in ${S}.
 	local pkglist=()
 	if [[ ${#CROS_GO_PACKAGES[@]} != 0 ]] ; then
diff --git a/eclass/cros-ish.eclass b/eclass/cros-ish.eclass
index 5618b1b..a69180b 100644
--- a/eclass/cros-ish.eclass
+++ b/eclass/cros-ish.eclass
@@ -7,7 +7,7 @@
 # Chromium OS Firmware Team
 # @BUGREPORTS:
 # Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: helper eclass for building ISH firmware based on Chromium OS EC
 # @DESCRIPTION:
 # Builds the ISH firmware and installs into /lib/firmware/intel/<board>.bin
diff --git a/eclass/cros-kernel/OWNERS b/eclass/cros-kernel/OWNERS
index 772bab4..e435d19 100644
--- a/eclass/cros-kernel/OWNERS
+++ b/eclass/cros-kernel/OWNERS
@@ -1,4 +1,4 @@
-include /OWNERS.kernel
+include chromiumos/owners:v1:/kernel/OWNERS.build
 
 # defconfig files should only be used as a fallback, not for official builds.
 per-file *defconfig=*
diff --git a/eclass/cros-kernel/arm64_defconfig b/eclass/cros-kernel/arm64_defconfig
index c558491..4a1b352 100644
--- a/eclass/cros-kernel/arm64_defconfig
+++ b/eclass/cros-kernel/arm64_defconfig
@@ -424,6 +424,7 @@
 CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
 CONFIG_PINCTRL_SC7180=y
 CONFIG_PINCTRL_SC7280=y
+CONFIG_PINCTRL_SC7280_LPASS_LPI=y
 CONFIG_PINCTRL_SDM845=y
 CONFIG_DEBUG_GPIO=y
 CONFIG_GPIO_SYSFS=y
diff --git a/eclass/cros-kernel/qualcomm_defconfig b/eclass/cros-kernel/qualcomm_defconfig
index 4d38cf6..578a5d5 100644
--- a/eclass/cros-kernel/qualcomm_defconfig
+++ b/eclass/cros-kernel/qualcomm_defconfig
@@ -5,9 +5,11 @@
 CONFIG_NO_HZ=y
 CONFIG_HIGH_RES_TIMERS=y
 CONFIG_PREEMPT=y
+CONFIG_IRQ_TIME_ACCOUNTING=y
 CONFIG_TASKSTATS=y
 CONFIG_TASK_XACCT=y
 CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_PSI=y
 CONFIG_IKCONFIG=m
 CONFIG_IKCONFIG_PROC=y
 CONFIG_LOG_BUF_SHIFT=18
@@ -33,6 +35,8 @@
 CONFIG_CC_OPTIMIZE_FOR_SIZE=y
 CONFIG_BPF_SYSCALL=y
 CONFIG_BPF_JIT_ALWAYS_ON=y
+# CONFIG_IO_URING is not set
+CONFIG_USERFAULTFD=y
 CONFIG_EMBEDDED=y
 # CONFIG_COMPAT_BRK is not set
 CONFIG_PROFILING=y
@@ -385,6 +389,7 @@
 CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
 CONFIG_PINCTRL_SC7180=y
 CONFIG_PINCTRL_SC7280=y
+CONFIG_PINCTRL_SC7280_LPASS_LPI=y
 CONFIG_PINCTRL_SDM845=y
 CONFIG_DEBUG_GPIO=y
 CONFIG_GPIO_SYSFS=y
@@ -485,6 +490,7 @@
 CONFIG_HID_APPLE=m
 CONFIG_HID_CHERRY=m
 CONFIG_HID_CHICONY=y
+CONFIG_HID_GOOGLE_HAMMER=m
 CONFIG_HID_HOLTEK=y
 CONFIG_HID_KENSINGTON=y
 CONFIG_HID_LOGITECH=m
@@ -498,11 +504,13 @@
 CONFIG_HID_SONY=m
 CONFIG_HID_RMI=m
 CONFIG_HID_THINGM=m
+CONFIG_HID_VIVALDI=m
 CONFIG_HID_WACOM=m
 CONFIG_HID_WIIMOTE=m
 CONFIG_USB_HIDDEV=y
 CONFIG_I2C_HID=y
 CONFIG_I2C_HID_OF=y
+CONFIG_I2C_HID_OF_ELAN=y
 CONFIG_I2C_HID_OF_GOODIX=y
 CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
 # CONFIG_USB_DEFAULT_PERSIST is not set
@@ -517,6 +525,7 @@
 CONFIG_USB_STORAGE=y
 CONFIG_USB_UAS=y
 CONFIG_USB_DWC3=y
+CONFIG_USB_ONBOARD_HUB=y
 CONFIG_USB_SERIAL=y
 CONFIG_USB_SERIAL_GENERIC=y
 CONFIG_USB_SERIAL_SIMPLE=m
@@ -543,6 +552,9 @@
 CONFIG_MMC_SDHCI_OF_ARASAN=y
 CONFIG_MMC_SDHCI_MSM=y
 CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_CLASS_MULTICOLOR=y
+CONFIG_LEDS_PWM=y
+CONFIG_LEDS_QCOM_LPG=y
 CONFIG_EDAC=y
 # CONFIG_EDAC_LEGACY_SYSFS is not set
 CONFIG_EDAC_QCOM=y
@@ -571,6 +583,7 @@
 CONFIG_COMMON_CLK_QCOM=y
 CONFIG_QCOM_CLK_RPMH=y
 CONFIG_MSM_GCC_8916=y
+CONFIG_SC_CAMCC_7180=y
 CONFIG_SC_DISPCC_7180=y
 CONFIG_SC_DISPCC_7280=y
 CONFIG_SC_LPASS_CORECC_7180=y
@@ -587,6 +600,7 @@
 CONFIG_HWSPINLOCK_QCOM=y
 CONFIG_MAILBOX=y
 CONFIG_QCOM_APCS_IPC=y
+CONFIG_QCOM_IPCC=y
 CONFIG_ARM_SMMU=y
 CONFIG_REMOTEPROC=y
 CONFIG_QCOM_Q6V5_MSS=m
@@ -635,6 +649,7 @@
 CONFIG_QCOM_PDC=y
 CONFIG_RESET_QCOM_AOSS=y
 CONFIG_RESET_QCOM_PDC=y
+CONFIG_PHY_QCOM_EDP=y
 CONFIG_PHY_QCOM_QMP=y
 CONFIG_PHY_QCOM_QUSB2=y
 CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2=y
@@ -694,6 +709,7 @@
 CONFIG_NLS_ASCII=m
 CONFIG_NLS_ISO8859_1=m
 CONFIG_ENCRYPTED_KEYS=y
+CONFIG_SECURITY_DMESG_RESTRICT=y
 CONFIG_SECURITY=y
 CONFIG_SECURITY_NETWORK=y
 CONFIG_SECURITY_PATH=y
@@ -704,6 +720,7 @@
 CONFIG_SECURITY_SELINUX_PERMISSIVE_DONTAUDIT=y
 CONFIG_SECURITY_LOADPIN=y
 CONFIG_SECURITY_LOADPIN_ENABLED=y
+CONFIG_SECURITY_LOADPIN_ENFORCE=y
 CONFIG_SECURITY_YAMA=y
 CONFIG_SECURITY_SAFESETID=y
 CONFIG_SECURITY_CHROMIUMOS=y
@@ -723,6 +740,7 @@
 # CONFIG_XZ_DEC_ARMTHUMB is not set
 # CONFIG_XZ_DEC_SPARC is not set
 CONFIG_PRINTK_TIME=y
+CONFIG_STACKTRACE_BUILD_ID=y
 CONFIG_DEBUG_INFO=y
 # CONFIG_SECTION_MISMATCH_WARN_ONLY is not set
 CONFIG_MAGIC_SYSRQ=y
@@ -731,6 +749,8 @@
 CONFIG_SOFTLOCKUP_DETECTOR=y
 CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
 CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
+CONFIG_KFENCE=y
+CONFIG_KFENCE_SAMPLE_INTERVAL=500
 CONFIG_PANIC_ON_OOPS=y
 CONFIG_PANIC_TIMEOUT=-1
 CONFIG_SCHEDSTATS=y
@@ -740,6 +760,9 @@
 CONFIG_DEBUG_CREDENTIALS=y
 CONFIG_FUNCTION_TRACER=y
 CONFIG_BLK_DEV_IO_TRACE=y
+CONFIG_CORESIGHT=y
+CONFIG_CORESIGHT_LINK_AND_SINK_TMC=y
+CONFIG_CORESIGHT_SOURCE_ETM4X=y
 CONFIG_LKDTM=y
 CONFIG_TEST_LKM=m
 CONFIG_TEST_FIRMWARE=m
@@ -747,4 +770,3 @@
 CONFIG_WERROR=y
 CONFIG_ERROR_ON_WARNING=y
 CONFIG_DEBUG_ALIGN_RODATA=y
-CONFIG_LEDS_PWM=y
diff --git a/eclass/cros-kernel/rockchip64_defconfig b/eclass/cros-kernel/rockchip64_defconfig
index a6ccfab..e23add0 100644
--- a/eclass/cros-kernel/rockchip64_defconfig
+++ b/eclass/cros-kernel/rockchip64_defconfig
@@ -452,6 +452,9 @@
 CONFIG_ASHMEM=y
 CONFIG_ION=y
 CONFIG_ION_DUMMY=y
+CONFIG_STAGING_MEDIA=y
+CONFIG_VIDEO_HANTRO=m
+CONFIG_VIDEO_ROCKCHIP_VDEC=m
 CONFIG_COMMON_CLK_RK808=y
 # CONFIG_COMMON_CLK_XGENE is not set
 CONFIG_MAILBOX=y
@@ -461,6 +464,7 @@
 CONFIG_DEVFREQ_GOV_PERFORMANCE=y
 CONFIG_DEVFREQ_GOV_POWERSAVE=y
 CONFIG_DEVFREQ_GOV_USERSPACE=y
+CONFIG_ARM_RK3399_DMC_DEVFREQ=y
 CONFIG_EXTCON_USBC_CROS_EC=y
 CONFIG_MEMORY=y
 CONFIG_IIO=y
diff --git a/eclass/cros-kernel2.eclass b/eclass/cros-kernel2.eclass
index 80d916f..464d213 100644
--- a/eclass/cros-kernel2.eclass
+++ b/eclass/cros-kernel2.eclass
@@ -1,5 +1,8 @@
 # Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
+#
+# Shellcheck doesn't understand our CONFIG_FRAMGMENTS expansion.
+# shellcheck disable=SC2034
 
 # Check for EAPI 4+
 case "${EAPI:-0}" in
@@ -17,17 +20,17 @@
 LICENSE="GPL-2"
 SLOT="0"
 
-BDEPEND="sys-apps/debianutils"
 DEPEND="sys-kernel/linux-firmware
 	factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] )
 	factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] )
 	minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] )
-	minios_test_ramfs? ( chromeos-base/chromeos-initramfs[minios_test_ramfs] )
 	recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] )
 	builtin_fw_mali_g57? ( virtual/opengles )
 	builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 )
 	builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware )
 	builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya )
+	builtin_fw_x86_adln_ucode? ( sys-firmware/adln-ucode-firmware-private )
+	builtin_fw_x86_amd_ucode? ( sys-kernel/linux-firmware[linux_firmware_amd_ucode] )
 	builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private )
 	builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private )
 	builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private )
@@ -43,9 +46,6 @@
 	builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
 "
 
-WIRELESS_VERSIONS=( 4.2 )
-WIRELESS_SUFFIXES=( "${WIRELESS_VERSIONS[@]/.}" )
-
 CHROMEOS_KERNEL_FAMILY_VALUES=(
 	arcvm
 	chromeos
@@ -70,6 +70,7 @@
 	fit_compression_kernel_lzma
 	firmware_install
 	frozen_gcc
+	hibernate
 	-kernel_sources
 	kernel_warning_level_1
 	kernel_warning_level_2
@@ -77,7 +78,6 @@
 	+lld
 	+llvm_ias
 	nfc
-	${WIRELESS_SUFFIXES[*]/#/-wireless}
 	-wifi_testbed_ap
 	-boot_dts_device_tree
 	-nowerror
@@ -92,6 +92,8 @@
 	-criu
 	-docker
 	-lxc
+	sparse
+	disable_kernel_fragments
 "
 REQUIRED_USE="
 	^^ ( ${CHROMEOS_KERNEL_FAMILY_FLAGS[*]} )
@@ -185,11 +187,11 @@
 	acpi_debug
 	allocator_slab
 	apex
+	aurora
 	binder
 	blkdevram
 	builtin_driver_amdgpu
 	ca0132
-	cec
 	criu
 	cros_ec_mec
 	debug
@@ -199,7 +201,6 @@
 	dmadebug
 	dm_snapshot
 	docker
-	dp_cec
 	drm_dp_aux_chardev
 	dwc2_dual_role
 	dyndebug
@@ -211,6 +212,7 @@
 	failslab
 	fbconsole
 	goldfish
+	hibernate
 	highmem
 	hypervisor_guest
 	mellanox_eth
@@ -238,7 +240,6 @@
 	mbim
 	memory_debug
 	minios_ramfs
-	minios_test_ramfs
 	module_sign
 	nfc
 	nfs
@@ -269,6 +270,7 @@
 	vfat
 	virtio_balloon
 	vivid
+	vkms
 	vlan
 	vtpm_proxy
 	vmware_guest
@@ -306,6 +308,20 @@
 CONFIG_STAGING_APEX_DRIVER=m
 "
 
+aurora_desc="Aurora experiment support"
+aurora_config="
+CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y
+CONFIG_INTEL_IOMMU_SVM=y
+CONFIG_IOMMU_DEFAULT_PASSTHROUGH=y
+CONFIG_IRQ_REMAP=y
+CONFIG_VFIO=m
+CONFIG_VFIO_PCI=m
+CONFIG_VMD=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_PF_STUB=m
+CONFIG_PCI_STUB=m
+"
+
 binder_desc="binder IPC"
 binder_config="
 CONFIG_ANDROID=y
@@ -329,12 +345,6 @@
 CONFIG_SND_HDA_DSP_LOADER=y
 "
 
-cec_desc="Consumer Electronics Control support"
-cec_config="
-CONFIG_CEC_CORE=y
-CONFIG_MEDIA_CEC_SUPPORT=y
-"
-
 criu_desc="Flags required if you wish to use the criu python library"
 criu_config="
 CONFIG_CHECKPOINT_RESTORE=y
@@ -408,11 +418,6 @@
 CONFIG_DM_SNAPSHOT=m
 "
 
-dp_cec_desc="DisplayPort CEC-Tunneling-over-AUX support"
-dp_cec_config="
-CONFIG_DRM_DP_CEC=y
-"
-
 drm_dp_aux_chardev_desc="DisplayPort DP AUX driver support"
 drm_dp_aux_chardev_config="
 CONFIG_DRM_DP_AUX_CHARDEV=y
@@ -469,6 +474,11 @@
 CONFIG_KEYBOARD_GOLDFISH_EVENTS=y
 "
 
+hibernate_desc="Enable hibernation (aka suspend-to-disk)"
+hibernate_config="
+CONFIG_HIBERNATION=y
+"
+
 highmem_desc="highmem"
 highmem_config="
 CONFIG_HIGHMEM64G=y
@@ -596,7 +606,6 @@
 # CONFIG_RANDOMIZE_BASE is not set
 # CONFIG_WATCHDOG is not set
 CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=1
-CONFIG_DEBUG_INFO_DWARF4=y
 """
 # kgdb over serial port depends on CONFIG_HW_CONSOLE which depends on CONFIG_VT
 REQUIRED_USE+=" kgdb? ( vtconsole )"
@@ -624,6 +633,16 @@
 CONFIG_LOCALVERSION=\"-lockdep\"
 ${lockstat_config}
 "
+lockdebug_config_disable="
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_PROVE_RCU is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+# CONFIG_LOCALVERSION is not set
+# CONFIG_LOCK_STAT is not set
+"
 
 lpss_uart_desc="Enable Intel LPSS UART serial ports"
 lpss_uart_config="
@@ -667,34 +686,30 @@
 CONFIG_TCG_VTPM_PROXY=y
 "
 
+# initramfs compression is done by the chromeos-initramfs package build
+# and kernel build can ingest the compressed image as it is.
 recovery_ramfs_desc="Initramfs for recovery image"
 recovery_ramfs_config='
-CONFIG_INITRAMFS_SOURCE="%ROOT%/var/lib/initramfs/recovery_ramfs.cpio.xz"
-CONFIG_INITRAMFS_COMPRESSION_XZ=y
+CONFIG_INITRAMFS_SOURCE="%ROOT%/var/lib/initramfs/recovery_ramfs.cpio"
+CONFIG_INITRAMFS_COMPRESSION_NONE=y
 '
 
 factory_netboot_ramfs_desc="Initramfs for factory netboot installer"
 factory_netboot_ramfs_config='
-CONFIG_INITRAMFS_SOURCE="%ROOT%/var/lib/initramfs/factory_netboot_ramfs.cpio.xz"
-CONFIG_INITRAMFS_COMPRESSION_XZ=y
+CONFIG_INITRAMFS_SOURCE="%ROOT%/var/lib/initramfs/factory_netboot_ramfs.cpio"
+CONFIG_INITRAMFS_COMPRESSION_NONE=y
 '
 
 factory_shim_ramfs_desc="Initramfs for factory installer shim"
 factory_shim_ramfs_config='
-CONFIG_INITRAMFS_SOURCE="%ROOT%/var/lib/initramfs/factory_shim_ramfs.cpio.xz"
-CONFIG_INITRAMFS_COMPRESSION_XZ=y
+CONFIG_INITRAMFS_SOURCE="%ROOT%/var/lib/initramfs/factory_shim_ramfs.cpio"
+CONFIG_INITRAMFS_COMPRESSION_NONE=y
 '
 
 minios_ramfs_desc="Initramfs for minios image"
 minios_ramfs_config='
-CONFIG_INITRAMFS_SOURCE="%ROOT%/var/lib/initramfs/minios_ramfs.cpio.xz"
-CONFIG_INITRAMFS_COMPRESSION_XZ=y
-'
-
-minios_test_ramfs_desc="Initramfs for minios test image"
-minios_test_ramfs_config='
-CONFIG_INITRAMFS_SOURCE="%ROOT%/var/lib/initramfs/minios_test_ramfs.cpio.xz"
-CONFIG_INITRAMFS_COMPRESSION_XZ=y
+CONFIG_INITRAMFS_SOURCE="%ROOT%/var/lib/initramfs/minios_ramfs.cpio"
+CONFIG_INITRAMFS_COMPRESSION_NONE=y
 '
 
 vfat_desc="vfat"
@@ -992,10 +1007,21 @@
 
 vivid_desc="Virtual Video Test Driver"
 vivid_config="
+CONFIG_MEDIA_TEST_SUPPORT=y
+CONFIG_V4L_TEST_DRIVERS=y
 CONFIG_VIDEO_VIVID=m
 CONFIG_VIDEO_VIVID_MAX_DEVS=64
 "
 
+vkms_desc="Virtual KMS (Kernel Mode Setting)"
+vkms_config="
+CONFIG_DRM_VKMS=m
+"
+
+vkms_config_disable="
+# CONFIG_DRM_VKMS is not set
+"
+
 vlan_desc="802.1Q VLAN"
 vlan_config="
 CONFIG_VLAN_8021Q=m
@@ -1244,8 +1270,8 @@
 # be built into the kernel using CONFIG_EXTRA_FIRMWARE.
 
 FIRMWARE_BINARIES=(
-	builtin_fw_amdgpu
 	builtin_fw_amdgpu_carrizo
+	builtin_fw_amdgpu_gc_10_3_7
 	builtin_fw_amdgpu_green_sardine
 	builtin_fw_amdgpu_picasso
 	builtin_fw_amdgpu_raven2
@@ -1253,10 +1279,14 @@
 	builtin_fw_amdgpu_stoney
 	builtin_fw_amdgpu_yellow_carp
 	builtin_fw_guc_adl
+	builtin_fw_guc_adl_kernelnext
+	builtin_fw_guc_adln
 	builtin_fw_guc_g9
 	builtin_fw_guc_jsl
 	builtin_fw_guc_tgl
 	builtin_fw_huc_adl
+	builtin_fw_huc_adl_kernelnext
+	builtin_fw_huc_adln
 	builtin_fw_huc_g9
 	builtin_fw_huc_jsl
 	builtin_fw_huc_tgl
@@ -1267,6 +1297,8 @@
 	builtin_fw_t210_xusb
 	builtin_fw_vega12
 	builtin_fw_x86_adl_ucode
+	builtin_fw_x86_adln_ucode
+	builtin_fw_x86_amd_ucode
 	builtin_fw_x86_aml_ucode
 	builtin_fw_x86_apl_ucode
 	builtin_fw_x86_bdw_ucode
@@ -1296,6 +1328,22 @@
 	amdgpu/carrizo_vce.bin
 )
 
+builtin_fw_amdgpu_gc_10_3_7_desc="Firmware for AMD GC 10.3.7"
+builtin_fw_amdgpu_gc_10_3_7_files=(
+	amdgpu/dcn_3_1_6_dmcub.bin
+	amdgpu/gc_10_3_7_ce.bin
+	amdgpu/gc_10_3_7_me.bin
+	amdgpu/gc_10_3_7_mec2.bin
+	amdgpu/gc_10_3_7_mec.bin
+	amdgpu/gc_10_3_7_pfp.bin
+	amdgpu/gc_10_3_7_rlc.bin
+	amdgpu/psp_13_0_8_asd.bin
+	amdgpu/psp_13_0_8_ta.bin
+	amdgpu/psp_13_0_8_toc.bin
+	amdgpu/sdma_5_2_7.bin
+	amdgpu/yellow_carp_vcn.bin
+)
+
 builtin_fw_amdgpu_green_sardine_desc="Firmware for AMD Green Sardine"
 builtin_fw_amdgpu_green_sardine_files=(
 	amdgpu/green_sardine_asd.bin
@@ -1387,17 +1435,21 @@
 	amdgpu/yellow_carp_vcn.bin
 )
 
-builtin_fw_amdgpu_desc="Firmware for AMD GPU (Deprecated)"
-builtin_fw_amdgpu_files=(
-	"${builtin_fw_amdgpu_carrizo_files[@]}"
-	"${builtin_fw_amdgpu_picasso_files[@]}"
-	"${builtin_fw_amdgpu_raven2_files[@]}"
-	"${builtin_fw_amdgpu_stoney_files[@]}"
-)
-
 builtin_fw_guc_adl_desc="GuC Firmware for ADL"
 builtin_fw_guc_adl_files=(
 	i915/tgl_guc_49.0.1.bin
+	i915/adlp_guc_62.0.3.bin
+)
+
+builtin_fw_guc_adl_kernelnext_desc="GuC Firmware for ADL Kernelnext"
+builtin_fw_guc_adl_kernelnext_files=(
+	i915/adlp_guc_69.0.3.bin
+	i915/adlp_guc_70.1.1.bin
+)
+
+builtin_fw_guc_adln_desc="GuC Firmware for ADL-N"
+builtin_fw_guc_adln_files=(
+	i915/tgl_guc_62.0.0.bin
 )
 
 builtin_fw_guc_g9_desc="GuC Firmware for Gen9"
@@ -1417,7 +1469,17 @@
 
 builtin_fw_huc_adl_desc="HuC Firmware for ADL"
 builtin_fw_huc_adl_files=(
-	i915/tgl_huc_7.5.0.bin
+	i915/tgl_huc_7.9.3.bin
+)
+
+builtin_fw_huc_adl_kernelnext_desc="HuC Firmware for ADL Kernelnext"
+builtin_fw_huc_adl_kernelnext_files=(
+	i915/tgl_huc_7.9.3.bin
+)
+
+builtin_fw_huc_adln_desc="HuC Firmware for ADL-N"
+builtin_fw_huc_adln_files=(
+	i915/tgl_huc_7.9.3.bin
 )
 
 builtin_fw_huc_g9_desc="HuC Firmware for Gen9"
@@ -1492,6 +1554,15 @@
 	amdgpu/vega12_vce.bin
 )
 
+builtin_fw_x86_amd_ucode_desc="AMD ucode for all chips"
+builtin_fw_x86_amd_ucode_files=(
+	amd-ucode/microcode_amd.bin
+	amd-ucode/microcode_amd_fam15h.bin
+	amd-ucode/microcode_amd_fam16h.bin
+	amd-ucode/microcode_amd_fam17h.bin
+	amd-ucode/microcode_amd_fam19h.bin
+)
+
 builtin_fw_x86_intel_ucode_desc="Intel ucode for all chips"
 builtin_fw_x86_intel_ucode_files=(
 	intel-ucode/06-03-02
@@ -1630,14 +1701,16 @@
 
 builtin_fw_x86_adl_ucode_desc="Intel ucode for ADL"
 builtin_fw_x86_adl_ucode_files=(
-	intel-ucode/06-97-01
-	intel-ucode/06-9a-00
-	intel-ucode/06-9a-01
 	intel-ucode/06-9a-02
 	intel-ucode/06-9a-03
 	intel-ucode/06-9a-04
 )
 
+builtin_fw_x86_adln_ucode_desc="Intel ucode for ADL-N"
+builtin_fw_x86_adln_ucode_files=(
+	intel-ucode/06-be-00
+)
+
 builtin_fw_x86_aml_ucode_desc="Intel ucode for AML"
 builtin_fw_x86_aml_ucode_files=(
 	intel-ucode/06-8e-09
@@ -1718,7 +1791,6 @@
 		factory_netboot_ramfs
 		factory_shim_ramfs
 		minios_ramfs
-		minios_test_ramfs
 		recovery_ramfs
 	)
 	factory_netboot_ramfs? ( i2cdev )
@@ -1748,6 +1820,7 @@
 # add a check to locate the cros-kernel/ regardless of what's going on.
 ECLASSDIR_LOCAL=${BASH_SOURCE[0]%/*}
 eclass_dir() {
+	# shellcheck disable=SC2154
 	local d="${ECLASSDIR}/cros-kernel"
 	if [[ ! -d ${d} ]] ; then
 		d="${ECLASSDIR_LOCAL}/cros-kernel"
@@ -1791,8 +1864,8 @@
 # test-flags-CC tests each flag individually and returns the
 # supported flags, which is not what we need here.
 cc_option() {
-	local t="$(test-flags-CC $1)"
-	[[ "${t}" == "$1" ]]
+	local t="$(test-flags-CC "$@")"
+	[[ "${t}" == "$*" ]]
 }
 
 # @FUNCTION: install_kernel_sources
@@ -1815,7 +1888,7 @@
 	dodir "${dest_source_dir}"
 	local f
 	for f in "${S}"/*; do
-		[[ "$f" == "${S}/build" ]] && continue
+		[[ "${f}" == "${S}/build" ]] && continue
 		cp -pPR "${f}" "${D}/${dest_source_dir}" ||
 			die "Failed to copy kernel source tree"
 	done
@@ -1842,6 +1915,7 @@
 # - "chromiumos-<arch>" if CHROMEOS_KERNEL_SPLITCONFIG is not defined
 get_build_arch() {
 	if [[ "${ARCH}" == "arm"  ||  "${ARCH}" == "arm64" ]]; then
+		# shellcheck disable=SC2154
 		case "${CHROMEOS_KERNEL_SPLITCONFIG}" in
 			*exynos*)
 				echo "exynos5"
@@ -1997,7 +2071,7 @@
 		result+="\"${s}\","
 	done
 
-	printf "${result%,}"
+	printf "%s" "${result%,}"
 }
 
 # @FUNCTION: _cros-kernel2_emit_its_script
@@ -2051,7 +2125,7 @@
 		fi
 		cat >> "${its_out}" <<-EOF || die
 			fdt@${iter} {
-				description = "$(basename ${dtb})";
+				description = "$(basename "${dtb}")";
 				data = /incbin/("${dtb}");
 				type = "flat_dt";
 				arch = "${kernel_arch}";
@@ -2089,17 +2163,6 @@
 }
 
 kmake() {
-	local wifi_version
-	local v
-	for v in ${WIRELESS_VERSIONS[@]}; do
-		if use wireless${v/.} ; then
-			[ -n "${wifi_version}" ] &&
-				die "Wireless ${v} AND ${wifi_version} both set"
-			wifi_version=${v}
-			set -- "$@" WIFIVERSION="-${v}"
-		fi
-	done
-
 	# Allow override of kernel arch.
 	local kernel_arch=${CHROMEOS_KERNEL_ARCH:-$(tc-arch-kernel)}
 
@@ -2114,14 +2177,16 @@
 			;;
 		arm:arm64)
 			cross="aarch64-cros-linux-gnu"
-			if use vdso32; then
-				cross_compat="armv7a-cros-linux-gnueabihf-"
-				CC_COMPAT="armv7a-cros-linux-gnueabihf-clang"
-				LD_COMPAT="ld.lld"
-			fi
 			;;
 	esac
 
+	# Support generating 32-bit VDSO on arm64 kernels
+	if use vdso32 && [[ "${kernel_arch}" == "arm64" ]]; then
+		cross_compat="armv7a-cros-linux-gnueabihf-"
+		CC_COMPAT="armv7a-cros-linux-gnueabihf-clang"
+		LD_COMPAT="ld.lld"
+	fi
+
 	# Assemble with LLVM's integrated assembler on x86_64 and aarch64
 	if use llvm_ias; then
 		export LLVM_IAS=1
@@ -2153,6 +2218,8 @@
 		linker_arg="-fuse-ld=bfd"
 	fi
 
+	# BUILD_CC, BUILD_CXX come from an eclass that shellcheck won't see.
+	# shellcheck disable=SC2154
 	set -- \
 		LD="${linker}" \
 		LD_COMPAT="${LD_COMPAT}" \
@@ -2167,8 +2234,12 @@
 		HOSTCC="${BUILD_CC}" \
 		HOSTCXX="${BUILD_CXX}" \
 		HOSTPKG_CONFIG="${BUILD_PKG_CONFIG}" \
+		CLANG_CROSS_FLAGS="--target=${cross}" \
 		"$@"
 
+	# The kernel Makefile allows this optionally set from the environment,
+	# so we do too.
+	# shellcheck disable=SC2154,SC2153
 	local kcflags="${KCFLAGS}"
 	local afdo_filename afdo_option
 	if use clang; then
@@ -2200,9 +2271,9 @@
 			if use clang; then
 				kcflags+=" $(test-flags-CC -mretpoline)"
 			else
-				if cc_option "${indirect_branch_options_v1[*]}"; then
+				if cc_option "${indirect_branch_options_v1[@]}"; then
 					kcflags+=" ${indirect_branch_options_v1[*]}"
-				elif cc_option "${indirect_branch_options_v2[*]}"; then
+				elif cc_option "${indirect_branch_options_v2[@]}"; then
 					kcflags+=" ${indirect_branch_options_v2[*]}"
 				fi
 			fi
@@ -2247,6 +2318,11 @@
 		kernel_warning_level="W=${kernel_warning_level}"
 	fi
 
+	local sparse=""
+	if use sparse; then
+		sparse="C=1"
+	fi
+
 	ARCH=${kernel_arch} \
 		CROSS_COMPILE="${cross}-" \
 		CROSS_COMPILE_COMPAT="${cross_compat}" \
@@ -2255,6 +2331,7 @@
 		V="${VERBOSE:-0}" \
 		O="$(cros-workon_get_build_dir)" \
 		${kernel_warning_level} \
+		${sparse} \
 		"$@"
 }
 
@@ -2270,7 +2347,7 @@
 		die
 	fi
 
-	pushd "${WORKDIR}" > /dev/null
+	pushd "${WORKDIR}" >/dev/null || die
 	if use kernel_afdo; then
 		unpack "${AFDO_GCOV}.xz"
 
@@ -2285,7 +2362,7 @@
 				"${AFDO_GCOV}" || die
 		fi
 	fi
-	popd > /dev/null
+	popd >/dev/null || die
 }
 
 cros-kernel2_src_prepare() {
@@ -2373,40 +2450,44 @@
 			ewarn "Can't prepareconfig, falling back to default " \
 				"${config}"
 			cp "${config}" "${build_cfg}" || die
+			# Allow usage of GNU binutils in this case. It mostly happens in a
+			# developer local build where they are using the ebuild to build
+			# kernel with any upstream kernel hash.
+			cros_allow_gnu_build_tools
 		fi
 	fi
 
-	local fragment
-	for fragment in ${CONFIG_FRAGMENTS[@]}; do
-		local config="${fragment}_config"
-		local status
+	if ! use disable_kernel_fragments; then
+		local fragment
+		for fragment in "${CONFIG_FRAGMENTS[@]}"; do
+			local config="${fragment}_config"
+			local status
 
-		if [[ ${!config+set} != "set" ]]; then
-			die "'${fragment}' listed in CONFIG_FRAGMENTS, but ${config} is not set up"
-		fi
-
-		if use ${fragment}; then
-			status="enabling"
-		else
-			config="${fragment}_config_disable"
-			status="disabling"
-			if [[ -z "${!config}" ]]; then
-				continue
+			if [[ ${!config+set} != "set" ]]; then
+				die "'${fragment}' listed in CONFIG_FRAGMENTS, but ${config} is not set up"
 			fi
-		fi
 
-		local msg="${fragment}_desc"
-		elog "   - ${status} ${!msg} config"
-		local warning="${fragment}_warning"
-		local warning_msg="${!warning}"
-		if [[ -n "${warning_msg}" ]] ; then
-			ewarn "${warning_msg}"
-		fi
+			if use "${fragment}"; then
+				status="enabling"
+			else
+				config="${fragment}_config_disable"
+				status="disabling"
+				if [[ -z "${!config}" ]]; then
+					continue
+				fi
+			fi
 
-		echo "${!config}" | \
-			sed -e "s|%ROOT%|${SYSROOT}|g" \
-			>> "${build_cfg}" || die
-	done
+			local msg="${fragment}_desc"
+			elog "   - ${status} ${!msg} config"
+			local warning="${fragment}_warning"
+			local warning_msg="${!warning}"
+			if [[ -n "${warning_msg}" ]] ; then
+				ewarn "${warning_msg}"
+			fi
+
+			echo "${!config//%ROOT%/${SYSROOT}}" >> "${build_cfg}" || die
+		done
+	fi
 
 	local -a builtin_fw
 	for fragment in "${FIRMWARE_BINARIES[@]}"; do
@@ -2416,7 +2497,7 @@
 			die "'${fragment}' listed in FIRMWARE_BINARIES, but ${files} is not set up"
 		fi
 
-		if use ${fragment}; then
+		if use "${fragment}"; then
 			local msg="${fragment}_desc"
 			elog "   - Embedding ${!msg} firmware"
 			builtin_fw+=( "${!files}" )
@@ -2474,7 +2555,7 @@
 get_dtb_name() {
 	local dtb_dir=${1}
 	# Add sort to stabilize the dtb ordering.
-	find ${dtb_dir} -name "*.dtb" | LC_COLLATE=C sort
+	find "${dtb_dir}" -name "*.dtb" | LC_COLLATE=C sort
 }
 
 gen_compilation_database() {
@@ -2498,6 +2579,7 @@
 	# Make relative include paths absolute.
 	sed -i -e "s:-I\./:-I${build_dir}/:g" "${db_chroot}" || die
 
+	# shellcheck disable=SC2154
 	local ext_chroot_path="${EXTERNAL_TRUNK_PATH}/chroot"
 	local in_chroot_path="$(readlink -f "${src_dir}")"
 	local ext_src_path="${EXTERNAL_TRUNK_PATH}/${in_chroot_path#/mnt/host/source/}"
@@ -2541,37 +2623,42 @@
 }
 
 _cros-kernel2_compile() {
-	local build_targets=()  # use make default target
+	local build_targets
 	local kernel_arch=${CHROMEOS_KERNEL_ARCH:-$(tc-arch-kernel)}
 	case ${kernel_arch} in
 		arm)
-			build_targets=(
-				$(usex device_tree 'zImage dtbs' uImage)
-				$(usex boot_dts_device_tree dtbs '')
-				$(cros_chkconfig_present MODULES && echo "modules")
-				$(use kgdb &&
-					sed -nE 's/^(scripts_gdb):.*$/\1/p' Makefile)
-			)
+			if use device_tree; then
+				build_targets=( "zImage" "dtbs" )
+			else
+				build_targets=( "uImage" )
+			fi
+			use boot_dts_device_tree && build_targets+=( "dtbs" )
 			;;
 		arm64)
 			build_targets=(
-				Image dtbs
-				$(cros_chkconfig_present MODULES && echo "modules")
-				$(use kgdb &&
-					sed -nE 's/^(scripts_gdb):.*$/\1/p' Makefile)
+				"Image" "dtbs"
 			)
 			;;
 		mips)
 			build_targets=(
 				vmlinuz.bin
-				$(usex device_tree 'dtbs' '')
-				$(cros_chkconfig_present MODULES && echo "modules")
-				$(use kgdb &&
-					sed -nE 's/^(scripts_gdb):.*$/\1/p' Makefile)
+			)
+			use device_tree && build_targets+=( "dtbs" )
+			;;
+		*)
+			build_targets=(
+				all
 			)
 			;;
 	esac
 
+	cros_chkconfig_present MODULES && build_targets+=( "modules" )
+
+	# Some older kernels don't have a scripts_gdb target, so we want this
+	# to be an empty array, not an array with an empty string in it.
+	# shellcheck disable=SC2207
+	use kgdb && build_targets+=( $(sed -nE 's/^(scripts_gdb):.*$/\1/p' Makefile) )
+
 	# If a .dts file is deleted from the source code it won't disappear
 	# from the output in the next incremental build.  Nuke all dtbs so we
 	# don't include stale files.  We use 'find' to handle old and new
@@ -2579,7 +2666,7 @@
 	local arch_dir="$(cros-workon_get_build_dir)/arch"
 	[[ -d "${arch_dir}" ]] && find "${arch_dir}" -name '*.dtb' -delete
 
-	kmake -k ${build_targets[@]}
+	kmake -k "${build_targets[@]}"
 
 	if use compilation_database; then
 		gen_compilation_database
@@ -2713,6 +2800,10 @@
 
 		if use device_tree; then
 			local its_script="${kernel_dir}/its_script"
+			# get_dtb_name() produces a line-separated list, and we *want* to
+			# split on whitespace for _cros-kernel2_emit_its_script(). These
+			# are simple filenames, so this should be OK.
+			# shellcheck disable=SC2046
 			_cros-kernel2_emit_its_script "${its_script}" \
 				"${kernel_dir}" $(get_dtb_name "${dtb_dir}")
 			mkimage -D "-I dts -O dtb -p 2048" -f "${its_script}" \
@@ -2745,13 +2836,13 @@
 		esac
 	fi
 	if use arm || use arm64 || use mips; then
-		pushd "$(dirname "${kernel_bin}")" > /dev/null
+		pushd "$(dirname "${kernel_bin}")" >/dev/null || die
 		case ${kernel_arch} in
 			arm)
-				ln -sf $(basename "${zimage_bin}") zImage || die
+				ln -sf "$(basename "${zimage_bin}")" zImage || die
 				;;
 		esac
-		popd > /dev/null
+		popd >/dev/null || die
 	fi
 	if [ ! -e "${install_dir}/boot/vmlinuz" ]; then
 		ln -sf "vmlinuz-${version}" "${install_dir}/boot/vmlinuz" || die
diff --git a/eclass/cros-llvm.eclass b/eclass/cros-llvm.eclass
index be42b1e..90f1d0f 100644
--- a/eclass/cros-llvm.eclass
+++ b/eclass/cros-llvm.eclass
@@ -53,3 +53,11 @@
 	# Tries to get the revision ID of the most recent commit
 	"${FILESDIR}"/patch_manager/git_llvm_rev.py --llvm_dir "${subdir}" --sha "$(git -C "${subdir}" rev-parse HEAD)" | cut -d 'r' -f 2
 }
+
+is_baremetal_abi() {
+	# ABIs like armv7m-cros-eabi or arm-none-eabi.
+	if [[ "${CTARGET}" == *-eabi ]]; then
+		return 0
+	fi
+	return 1
+}
diff --git a/eclass/cros-rust.eclass b/eclass/cros-rust.eclass
index b9eaa7a..0c72e21 100644
--- a/eclass/cros-rust.eclass
+++ b/eclass/cros-rust.eclass
@@ -10,15 +10,15 @@
 # The Chromium OS Authors <chromium-os-dev@chromium.org>
 # @BUGREPORTS:
 # Please report bugs via https://crbug.com/new (with component "Tools>ChromeOS-Toolchain")
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: Eclass for fetching, building, and installing Rust packages.
 
 if [[ -z ${_ECLASS_CROS_RUST} ]]; then
 _ECLASS_CROS_RUST="1"
 
-# Check for EAPI 6+.
+# Check for EAPI 7+.
 case "${EAPI:-0}" in
-[012345]) die "unsupported EAPI (${EAPI}) in eclass (${ECLASS})" ;;
+[0123456]) die "unsupported EAPI (${EAPI}) in eclass (${ECLASS})" ;;
 esac
 
 # @ECLASS-VARIABLE: CROS_RUST_CRATE_NAME
@@ -105,15 +105,30 @@
 # If set to yes, run the test only for amd64 and x86 (i.e. no emulation).
 : "${CROS_RUST_TEST_DIRECT_EXEC_ONLY:="no"}"
 
+# @ECLASS-VARIABLE: CROS_RUST_PACKAGE_IS_HOT
+# @DESCRIPTION:
+# If set to a nonempty value, we will consider the binaries we compile to be
+# hot, and optimize them more aggressively for speed. Please use the
+# `cros_optimize_package_for_speed` function to set this, as that also applies
+# the same settings for C and C++ code.
+: "${CROS_RUST_PACKAGE_IS_HOT:=}"
+
 inherit multiprocessing toolchain-funcs cros-constants cros-debug cros-sanitizers
 
-IUSE="amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86"
+IUSE="amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86"
 REQUIRED_USE="?? ( asan lsan msan tsan )"
 
 EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_test src_install pkg_preinst pkg_postinst pkg_prerm pkg_postrm
 
+# virtual/rust-binaries is listed in both DEPEND and RDEPEND. Changing the
+# version of virtual/rust-binaries forces a rebuild of everything that
+# depends on it (that is, all Rust code in ChromeOS).
 DEPEND="
-	>=virtual/rust-1.39.0:=
+	>=virtual/rust-1.60.0:=
+	virtual/rust-binaries:=
+"
+
+RDEPEND="
 	virtual/rust-binaries:=
 "
 
@@ -200,6 +215,10 @@
 	done
 
 	if [[ "${CROS_RUST_EMPTY_CRATE}" == "1" ]]; then
+		if [[ "${LICENSE}" != "metapackage" ]]; then
+			die "Set LICENSE=\"metapackage\" in empty crate ebuilds"
+		fi
+
 		# Generate an empty Cargo.toml and src/lib.rs for this crate.
 		mkdir -p "${S}/src"
 		cat <<- EOF >> "${S}/Cargo.toml"
@@ -222,6 +241,13 @@
 		done
 
 		touch "${S}/src/lib.rs"
+	else
+		if [[ -z "${LICENSE}" ]]; then
+			die "Missing LICENSE= setting in ebuild"
+		fi
+		if [[ "${LICENSE}" == "metapackage" ]]; then
+			die "LICENSE=metapackage is only allowed in empty crate ebuilds"
+		fi
 	fi
 
 	# Set up the cargo config.
@@ -424,24 +450,30 @@
 	local rustflags=(
 		${CROS_BASE_RUSTFLAGS}
 		"-Cdebuginfo=2"
-		"-Copt-level=s"
 		"-Zallow-features=sanitizer,backtrace"
 	)
 
-	if use lto
-	then
-		rustflags+=( -Clto=thin -Cllvm-args=--import-instr-limit=30 )
-		# rustc versions >= 1.45 support -Cembed-bitcode, which Cargo sets to
-		# no because it does not know that we want to use LTO.
-		# Because -Clto requires -Cembed-bitcode=yes, set it explicitly.
-		if [[ $(rustc --version | awk '{ gsub(/\./, ""); print $2 }') -ge 1450 ]]
-		then
-			rustflags+=( -Cembed-bitcode=yes )
-		fi
+	if [[ -n "${CROS_RUST_PACKAGE_IS_HOT}" ]]; then
+		rustflags+=( "-Copt-level=3" )
+	else
+		rustflags+=( "-Copt-level=s" )
 	fi
 
-	# We don't want to abort during tests.
-	use test || rustflags+=( -Cpanic=abort )
+	if use lto; then
+		rustflags+=(
+			"-Clto=thin"
+			"-Cllvm-args=--import-instr-limit=30"
+			# Cargo sets -Cembed-bitcode to no because it does not know that we want to
+			# use LTO. Because -Clto requires -Cembed-bitcode=yes, set it explicitly.
+			"-Cembed-bitcode=yes"
+		)
+	fi
+
+	# Set the panic=abort flag if it is turned on for the package.
+	if use panic-abort; then
+		# But never abort during tests.
+		use test || rustflags+=( -Cpanic=abort )
+	fi
 
 	if use cros-debug || [[ "${CROS_RUST_OVERFLOW_CHECKS}" == "1" ]]; then
 		rustflags+=( -Coverflow-checks=on )
@@ -449,7 +481,8 @@
 
 	use cros-debug && rustflags+=( -Cdebug-assertions=on )
 
-	use coverage && rustflags+=( -Zinstrument-coverage )
+ 	# TODO(b/230127632) disable Rust coverage until it works-as-intended.
+	# use coverage && rustflags+=( -Cinstrument-coverage )
 
 	# Rust compiler is not exporting the __asan_* symbols needed in
 	# asan builds. Force export-dynamic linker flag to export __asan_* symbols
@@ -463,7 +496,7 @@
 	if use fuzzer; then
 		rustflags+=(
 			--cfg fuzzing
-			-Cpasses=sancov
+			-Cpasses=sancov-module
 			-Cllvm-args=-sanitizer-coverage-level=4
 			-Cllvm-args=-sanitizer-coverage-inline-8bit-counters
 			-Cllvm-args=-sanitizer-coverage-trace-compares
@@ -591,7 +624,7 @@
 	local sysroot_old="${SYSROOT}"
 	SYSROOT=$(rustc --print sysroot)
 	echo "{\"package_path\":\"${S}\"}" > "${clippy_output_base}/${PF}.json"
-	ecargo clippy ---message-format json --target="${CHOST}" --release \
+	ecargo clippy --message-format json --target="${CHOST}" --release \
 		--manifest-path="${S}/Cargo.toml" >> "${clippy_output_base}/${PF}.json"
 	export SYSROOT="${sysroot_old}"
 }
@@ -679,10 +712,15 @@
 # Call `cargo test` with the specified command line options.
 ecargo_test() {
 	local test_dir="${CARGO_TARGET_DIR}/ecargo-test"
+	local profile_flag=""
+	if ! has "--profile" "$@"; then
+		profile_flag="--release"
+	fi
 	if has "--no-run" "$@"; then
 		debug-print-function ecargo test --target="${CHOST}" --target-dir \
-			"${test_dir}" --release "$@"
-		ecargo test --target="${CHOST}" --target-dir "${test_dir}" --release "$@"
+			"${test_dir}" "${profile_flag}" "$@"
+		ecargo test --target="${CHOST}" --target-dir \
+			"${test_dir}" "${profile_flag}" "$@"
 	else
 		cros-rust_get_test_executables "$@"
 
@@ -956,8 +994,13 @@
 	if [[ -e "${crate_dir}" && ! -L "${dest}" ]]; then
 		einfo "Linking ${crate} into Cargo registry at ${registry_dir}"
 		mkdir -p "${registry_dir}"
+		# A redundant link presence check is used inside the lock because we
+		# do not want to lock if we don't have to, but there is a time-of-check
+		# to time-of-use issue that shows up if the link presence check is not
+		# in the lock (two ebuilds may try to create the same lock with one
+		# succeeding and the other failing because the link already exists).
 		flock --no-fork --exclusive "$(cros-rust_get_reg_lock)" \
-			ln -srT "${crate_dir}" "${dest}" || die
+			sh -c '[ -L "$1" ] || ln -srT "$0" "$1"' "${crate_dir}" "${dest}" || die
 	fi
 }
 
diff --git a/eclass/cros-rustc.eclass b/eclass/cros-rustc.eclass
index 9708372..48843de 100644
--- a/eclass/cros-rustc.eclass
+++ b/eclass/cros-rustc.eclass
@@ -59,6 +59,32 @@
 # These are the triples we use GCC with. `*-cros-*` triples should not be
 # included here.
 
+# @ECLASS-VARIABLE: CROS_RUSTC_BUILD_RAW_SOURCES
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Set to a nonempty value if we want to build a nonstandard set of sources
+# (this is intended mostly to power bisection of rustc itself).
+# This should never be set to anything in production.
+#
+# If you want to set this as a user, each `emerge` of `dev-lang/rust-host` or
+# `dev-lang/rust` assumes the following:
+# 1. A full Rust checkout is available under `_CROS_RUSTC_RAW_SOURCES_ROOT`.
+# 2. You've ensured that all submodules under `_CROS_RUSTC_RAW_SOURCES_ROOT` are
+#    up-to-date with your currently checked out revision.
+# 3. You've ensured that the appropriate bootstrap compiler is cached under
+#    `_CROS_RUSTC_RAW_SOURCES_ROOT/build`.
+# 4. You've run `cargo vendor` under `_CROS_RUSTC_RAW_SOURCES_ROOT`
+# 5. The sources under `_CROS_RUSTC_RAW_SOURCES_ROOT` are the exact sources you
+#    want to apply `${PATCHES}` to.
+# 6. You are OK with this script modifying your rustc sources at
+#    `_CROS_RUSTC_RAW_SOURCES_ROOT` (by applying patches to them).
+#
+# Step 2 can be done with
+# `dev-lang/rust/files/bisect-scripts/clean_and_sync_rust_root.sh`. Steps 3 and
+# 4 can be accomplished with
+# `dev-lang/rust/files/bisect-scripts/prepare_rust_for_offline_build.sh`.
+CROS_RUSTC_BUILD_RAW_SOURCES=
+
 # There's a fair amount of direct commonality between dev-lang/rust and
 # dev-lang/rust-host. Capture that here.
 ABI_VER="$(ver_cut 1-2)"
@@ -69,11 +95,21 @@
 # The version of rust-bootstrap that we're using to build our current Rust
 # toolchain. This is generally the version released prior to the current one,
 # since Rust uses the beta compiler to build the nightly compiler.
-BOOTSTRAP_VERSION="1.57.0"
+BOOTSTRAP_VERSION="1.59.0"
+
+# If `CROS_RUSTC_BUILD_RAW_SOURCES` is nonempty, a full Rust source tree is
+# expected to be available here.
+_CROS_RUSTC_RAW_SOURCES_ROOT="${FILESDIR}/rust"
 
 HOMEPAGE="https://www.rust-lang.org/"
 
-SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.gz"
+if [[ -z "${CROS_RUSTC_BUILD_RAW_SOURCES}" ]]; then
+	SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.gz"
+else
+	# If a bisection is happening, we use the bootstrap compiler that upstream prefers.
+	# Clear this so we don't accidentally use it below.
+	BOOTSTRAP_VERSION=
+fi
 
 LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
 
@@ -84,7 +120,9 @@
 	>=dev-lang/perl-5.0
 "
 
-BDEPEND="dev-lang/rust-bootstrap:${BOOTSTRAP_VERSION}"
+if [[ -z "${CROS_RUSTC_BUILD_RAW_SOURCES}" ]]; then
+	BDEPEND="dev-lang/rust-bootstrap:${BOOTSTRAP_VERSION}"
+fi
 
 PATCHES=(
 	"${FILESDIR}/rust-${PV}-add-cros-targets.patch"
@@ -99,6 +137,10 @@
 	"${FILESDIR}/rust-${PV}-disable-mutable-noalias.patch"
 	"${FILESDIR}/rust-${PV}-add-armv7a-sanitizers.patch"
 	"${FILESDIR}/rust-${PV}-fix-libunwind-backtrace-visibility.patch"
+	"${FILESDIR}/rust-${PV}-passes-only-in-pre-link.patch"
+	"${FILESDIR}/rust-${PV}-Revert-DebugInfo-Re-enable-instruction-referencing-f.patch"
+	"${FILESDIR}/rust-${PV}-Don-t-build-std-for-uefi-targets.patch"
+	"${FILESDIR}/rust-${PV}-Bump-cc-version-in-bootstrap-to-fix-build-of-uefi-ta.patch"
 )
 
 # Locations where we cache our build/src dirs.
@@ -130,23 +172,73 @@
 
 	if [[ ${MERGE_TYPE} != "binary" ]]; then
 		addwrite "${CROS_RUSTC_DIR}"
+		# Disable warnings about 755 only applying to the deepest directory; that's
+		# fine.
+		# shellcheck disable=SC2174
 		mkdir -p -m 755 "${CROS_RUSTC_DIR}"
 		chown "${PORTAGE_USERNAME}:${PORTAGE_GRPNAME}" "${CROS_RUSTC_DIR}"
+
+		if [[ -n "${CROS_RUSTC_BUILD_RAW_SOURCES}" ]]; then
+			addwrite "${_CROS_RUSTC_RAW_SOURCES_ROOT}"
+			ewarn "cros-rustc.eclass is using raw sources. This feature is for debugging only."
+		fi
 	fi
 }
 
+# Sets up a cargo config.toml that instructs our bootstrap rustc to use
+# the correct linker. `rust-bootstrap` can be made to work around this since
+# we have local patches, but bootstrap compilers downloaded from upstream
+# (e.g., during bisection) cannot. This should be called during src_unpack
+# if you opt out of calling `cros-rustc_src_unpack`. Otherwise,
+# `cros-rustc_src_unpack` will take care of this.
+cros-rustc_setup_cargo_home() {
+	export CARGO_HOME="${T}/cargo_home"
+	mkdir -p "${CARGO_HOME}" || die
+	cat >> "${CARGO_HOME}/config.toml" <<EOF || die
+
+[target.x86_64-unknown-linux-gnu]
+linker = "${CHOST}-clang"
+
+[target.${CHOST}]
+linker = "${CHOST}-clang"
+EOF
+}
+
 cros-rustc_src_unpack() {
+	cros-rustc_setup_cargo_home
+
+	if [[ -n "${CROS_RUSTC_BUILD_RAW_SOURCES}" ]]; then
+		if [[ ! -d "${_CROS_RUSTC_RAW_SOURCES_ROOT}" ]]; then
+			eerror "You must have a full Rust checkout in _CROS_RUSTC_RAW_SOURCES_ROOT."
+			die
+		fi
+		if [[ -e "${S}" && ! -L "${S}" ]]; then
+			rm -rf "${S}" || die
+		fi
+		ln -sf "$(readlink -m "${_CROS_RUSTC_RAW_SOURCES_ROOT}")" "${S}" || die
+		default
+		return
+	fi
+
 	local dirs=( "${CROS_RUSTC_BUILD_DIR}" "${CROS_RUSTC_SRC_DIR}" )
 	if [[ -e "${CROS_RUSTC_SRC_DIR}" || -e "${CROS_RUSTC_BUILD_DIR}" ]]; then
 		einfo "Removing old source/build directories..."
 		rm -rf "${dirs[@]}"
 	fi
 
+	# Disable warnings about 755 only applying to the deepest directory; that's
+	# fine.
+	# shellcheck disable=SC2174
 	mkdir -p -m 755 "${dirs[@]}"
 	(cd "${CROS_RUSTC_SRC_DIR}" && default)
 }
 
 cros-rustc_src_prepare() {
+	if [[ -n "${CROS_RUSTC_BUILD_RAW_SOURCES}" ]]; then
+		einfo "Synchronizing bootstrap compiler caches ..."
+		cp -avu "${_CROS_RUSTC_RAW_SOURCES_ROOT}/build/cache" "${CROS_RUSTC_BUILD_DIR}" || die
+	fi
+
 	# Copy "unknown" vendor targets to create cros_sdk target triple
 	# variants as referred to in 0001-add-cros-targets.patch and
 	# RUSTC_TARGET_TRIPLES. armv7a is treated specially because the cros
@@ -190,20 +282,34 @@
 }
 
 cros-rustc_src_configure() {
-	tc-export PKG_CONFIG
+	tc-export CC PKG_CONFIG
+
+	# If FEATURES=ccache is set, we can cache LLVM builds. We could set this to
+	# true unconditionally, but invoking `ccache` to just have it `exec` the
+	# compiler costs ~10secs of wall time on rust-host builds. No point in
+	# wasting the cycles.
+	local use_ccache=false
+	[[ -z "${CCACHE_DISABLE:-}" ]] && use_ccache=true
 
 	local targets=""
 	local tt
+	# These variables are defined by users of this eclass; their use here is safe.
+	# shellcheck disable=SC2154
 	for tt in "${RUSTC_TARGET_TRIPLES[@]}" "${RUSTC_BARE_TARGET_TRIPLES[@]}" ; do
 		targets+="\"${tt}\", "
 	done
 
+	local bootstrap_compiler_info
+	if [[ -z "${CROS_RUSTC_BUILD_RAW_SOURCES}" ]]; then
+		bootstrap_compiler_info="
+cargo = \"/opt/rust-bootstrap-${BOOTSTRAP_VERSION}/bin/cargo\"
+rustc = \"/opt/rust-bootstrap-${BOOTSTRAP_VERSION}/bin/rustc\""
+	fi
+
 	local config=cros-config.toml
 	cat > "${config}" <<EOF
 [build]
 target = [${targets}]
-cargo = "/opt/rust-bootstrap-${BOOTSTRAP_VERSION}/bin/cargo"
-rustc = "/opt/rust-bootstrap-${BOOTSTRAP_VERSION}/bin/rustc"
 docs = false
 submodules = false
 python = "${EPYTHON}"
@@ -213,8 +319,10 @@
 sanitizers = true
 profiler = true
 build-dir = "${CROS_RUSTC_BUILD_DIR}"
+${bootstrap_compiler_info}
 
 [llvm]
+ccache = ${use_ccache}
 ninja = true
 targets = "AArch64;ARM;X86"
 
diff --git a/eclass/cros-unibuild.eclass b/eclass/cros-unibuild.eclass
index 1db95a5..3de52ca 100644
--- a/eclass/cros-unibuild.eclass
+++ b/eclass/cros-unibuild.eclass
@@ -419,6 +419,22 @@
 	doins "${WORKDIR}/project-config.json"
 }
 
+# @FUNCTION: platform_merged_install
+# @USAGE:
+# @DESCRIPTION:
+# Install project-specific joined.jsonproto files into tmp dir.
+# These files will be available to the Build API as artifacts.
+# Args:
+#   $1: Name of the project being installed
+platform_merged_install() {
+	[[ $# -eq 1 ]] || die "${FUNCNAME}: takes a single argument"
+		einfo "Installing project-specific joined.jsonproto file."
+
+	insinto "/build/share/cros-unibuild/$1/generated"
+	doins "${S}/$1/generated/joined.jsonproto"
+}
+
+
 # @FUNCTION: unibuild_install_files
 # @USAGE: [config_file]
 # @DESCRIPTION:
diff --git a/eclass/cros-workon.eclass b/eclass/cros-workon.eclass
index 41089ad..d32ba61 100644
--- a/eclass/cros-workon.eclass
+++ b/eclass/cros-workon.eclass
@@ -5,14 +5,20 @@
 # @MAINTAINER:
 # ChromiumOS Build Team
 # @BUGREPORTS:
-# Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# Please report bugs via
+# https://issuetracker.google.com/issues/new?component=1037860
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: helper eclass for building ChromiumOS packages from git
 # @DESCRIPTION:
 # A lot of ChromiumOS packages (src/platform/ and src/third_party/) are
 # managed in the same way.  You've got a git tree and you want to build
 # it.  This automates a lot of that common stuff in one place.
 
+case ${EAPI:-0} in
+0|1|2|3) die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" ;;
+*) ;;
+esac
+
 inherit cros-constants cros-credentials
 
 # Default slotting for cros-workon packages.
@@ -862,6 +868,9 @@
 		find_args+=( ! -path "${p}" )
 	done
 
+	# We need to permit access to Clang Tidy files for linting.
+	find_args+=( ! -path "**/.clang-tidy" )
+
 	if [[ "${S}" == "${WORKDIR}"/* ]]; then
 		# $S is writable, so just remove ignorelisted files.
 		find "${find_args[@]}" -exec rm -rf {} +
diff --git a/eclass/hwid.eclass b/eclass/hwid.eclass
index c636b8f..a3c90c7 100644
--- a/eclass/hwid.eclass
+++ b/eclass/hwid.eclass
@@ -8,7 +8,7 @@
 # Chromium OS Brillo team
 # @BUGREPORTS:
 # Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: Eclass for setting up HWID_OVERRIDE in /etc/lsb-release
 
 IUSE="hwid_override"
diff --git a/eclass/libchrome-version.eclass b/eclass/libchrome-version.eclass
index f0e5fec..f4690f0 100644
--- a/eclass/libchrome-version.eclass
+++ b/eclass/libchrome-version.eclass
@@ -6,25 +6,11 @@
 # ChromiumOS Build Team
 # @BUGREPORTS:
 # Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: helper eclass for managing libchrome version
 # @DESCRIPTION:
-# This eclass manages the libchrome version.
+# This eclass manages the libchrome ebuild version.
+# This file is also owned by libchrome team in case of revision bump.
 
-# @FUNCTION: libchrome_ver
-# @DESCRIPTION:
-# Output current libchrome BASE_VER, from SYSROOT-installed BASE_VER file.
-# IS_LIBCHROME or LIBCHROME_SYSROOT can be set.
-# If IS_LIBCHROME is set, it read ${S}/BASE_VER instead.
-# If LIBCHROME_SYSROOT is set, it read $LIBCHROME_SYSROOT-installed BASE_VER
-# file.
-libchrome_ver() {
-	local basever_file="${SYSROOT}/usr/share/libchrome/BASE_VER"
-	if [[ -n "${IS_LIBCHROME}" ]]; then
-		basever_file="${S}/BASE_VER"
-	fi
-	if [[ -n "${LIBCHROME_SYSROOT}" ]]; then
-		basever_file="${LIBCHROME_SYSROOT}/usr/share/libchrome/BASE_VER"
-	fi
-	cat "${basever_file}" || die "cat ${basever_file} error. Please depends on libchrome if you use it."
-}
+# shellcheck disable=SC2034
+REQUIRED_LIBCHROME_EBUILD_VERSION=268
diff --git a/eclass/libchrome.eclass b/eclass/libchrome.eclass
index c65681a..427c04a3 100644
--- a/eclass/libchrome.eclass
+++ b/eclass/libchrome.eclass
@@ -6,7 +6,7 @@
 # ChromiumOS Build Team
 # @BUGREPORTS:
 # Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: helper eclass for managing dependencies on libchrome
 # @DESCRIPTION:
 # Our base library libchrome is slotted and is used by a lot of packages. All
@@ -17,8 +17,23 @@
 inherit cros-debug libchrome-version
 
 # Require a recent one from time to time to help keep people up-to-date.
+# shellcheck disable=SC2154
 RDEPEND="
-	>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
+	>=chromeos-base/libchrome-0.0.1-r${REQUIRED_LIBCHROME_EBUILD_VERSION}:0=[cros-debug=]
 "
 
 DEPEND="${RDEPEND}"
+
+# @FUNCTION: libchrome_ver
+# @DESCRIPTION:
+# Output current libchrome BASE_VER, from SYSROOT-installed BASE_VER file.
+# LIBCHROME_SYSROOT can be set.
+# If LIBCHROME_SYSROOT is set, it read $LIBCHROME_SYSROOT-installed BASE_VER
+# file.
+libchrome_ver() {
+	local basever_file="${SYSROOT}/usr/share/libchrome/BASE_VER"
+	if [[ -n "${LIBCHROME_SYSROOT}" ]]; then
+		basever_file="${LIBCHROME_SYSROOT}/usr/share/libchrome/BASE_VER"
+	fi
+	cat "${basever_file}" || die "cat ${basever_file} error."
+}
diff --git a/eclass/llvm.eclass b/eclass/llvm.eclass
index 12339ca..9a6f0c8 100644
--- a/eclass/llvm.eclass
+++ b/eclass/llvm.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: llvm.eclass
@@ -6,6 +6,7 @@
 # Michał Górny <mgorny@gentoo.org>
 # @AUTHOR:
 # Michał Górny <mgorny@gentoo.org>
+# @SUPPORTED_EAPIS: 6 7 8
 # @BLURB: Utility functions to build against slotted LLVM
 # @DESCRIPTION:
 # The llvm.eclass provides utility functions that can be used to build
@@ -16,20 +17,21 @@
 # a proper dependency string yourself to guarantee that appropriate
 # version of LLVM is installed.
 #
-# Example use for a package supporting LLVM 3.8 to 5:
+# Example use for a package supporting LLVM 9 to 11:
 # @CODE
-# inherit cmake-utils llvm
+# inherit cmake llvm
 #
 # RDEPEND="
-#	<sys-devel/llvm-6_rc:=
+#	<sys-devel/llvm-11:=
 #	|| (
-#		sys-devel/llvm:5
-#		sys-devel/llvm:4
-#		>=sys-devel/llvm-3.8:0
+#		sys-devel/llvm:9
+#		sys-devel/llvm:10
+#		sys-devel/llvm:11
 #	)
 # "
+# DEPEND=${RDEPEND}
 #
-# LLVM_MAX_SLOT=5
+# LLVM_MAX_SLOT=11
 #
 # # only if you need to define one explicitly
 # pkg_setup() {
@@ -37,12 +39,28 @@
 #	do-something-else
 # }
 # @CODE
+#
+# Example for a package needing LLVM+clang w/ a specific target:
+# @CODE
+# inherit cmake llvm
+#
+# # note: do not use := on both clang and llvm, it can match different
+# # slots then. clang pulls llvm in, so we can skip the latter.
+# RDEPEND="
+#	>=sys-devel/clang-9:=[llvm_targets_AMDGPU(+)]
+# "
+# DEPEND=${RDEPEND}
+#
+# llvm_check_deps() {
+#	has_version -d "sys-devel/clang:${LLVM_SLOT}[llvm_targets_AMDGPU(+)]"
+# }
+# @CODE
 
 case "${EAPI:-0}" in
-	0|1|2|3|4)
+	0|1|2|3|4|5)
 		die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}"
 		;;
-	5|6)
+	6|7|8)
 		;;
 	*)
 		die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}"
@@ -53,6 +71,10 @@
 
 if [[ ! ${_LLVM_ECLASS} ]]; then
 
+# make sure that the versions installing straight into /usr/bin
+# are uninstalled
+DEPEND="!!sys-devel/llvm:0"
+
 # @ECLASS-VARIABLE: LLVM_MAX_SLOT
 # @DEFAULT_UNSET
 # @DESCRIPTION:
@@ -63,22 +85,69 @@
 # @INTERNAL
 # @DESCRIPTION:
 # Correct values of LLVM slots, newest first.
-declare -g -r _LLVM_KNOWN_SLOTS=( 5 4 )
+declare -g -r _LLVM_KNOWN_SLOTS=( {15..8} )
 
 # @FUNCTION: get_llvm_prefix
-# @USAGE: [<max_slot>]
+# @USAGE: [-b|-d] [<max_slot>]
 # @DESCRIPTION:
-# Prints the absolute path to an LLVM install prefix corresponding to
-# the newest installed version of LLVM that is not newer than
-# <max_slot>. If no <max_slot> is specified, there is no upper limit.
+# Find the newest LLVM install that is acceptable for the package,
+# and print an absolute path to it.
 #
-# Note that the function does not support lower-bound version, so you
-# need to provide correct dependencies to ensure that a new enough
-# version will be always installed. Otherwise, the function could return
-# a version lower than required.
+# If -b is specified, the checks are performed relative to BROOT,
+# and BROOT-path is returned.  This is appropriate when your package
+# calls llvm-config executable.  -b is supported since EAPI 7.
+#
+# If -d is specified, the checks are performed relative to ESYSROOT,
+# and ESYSROOT-path is returned.  This is appropriate when your package
+# uses CMake find_package(LLVM).  -d is the default.
+#
+# If <max_slot> is specified, then only LLVM versions that are not newer
+# than <max_slot> will be considered. Otherwise, all LLVM versions would
+# be considered acceptable. The function does not support specifying
+# minimal supported version -- the developer must ensure that a version
+# new enough is installed via providing appropriate dependencies.
+#
+# If llvm_check_deps() function is defined within the ebuild, it will
+# be called to verify whether a particular slot is accepable. Within
+# the function scope, LLVM_SLOT will be defined to the SLOT value
+# (0, 4, 5...). The function should return a true status if the slot
+# is acceptable, false otherwise. If llvm_check_deps() is not defined,
+# the function defaults to checking whether sys-devel/llvm:${LLVM_SLOT}
+# is installed.
 get_llvm_prefix() {
 	debug-print-function ${FUNCNAME} "${@}"
 
+	local hv_switch=-d
+	while [[ ${1} == -* ]]; do
+		case ${1} in
+			-b|-d) hv_switch=${1};;
+			*) break;;
+		esac
+		shift
+	done
+
+	local prefix=
+	if [[ ${EAPI} != 6 ]]; then
+		case ${hv_switch} in
+			-b)
+				prefix=${BROOT}
+				;;
+			-d)
+				prefix=${ESYSROOT}
+				;;
+		esac
+	else
+		case ${hv_switch} in
+			-b)
+				die "${FUNCNAME} -b is not supported in EAPI ${EAPI}"
+				;;
+			-d)
+				prefix=${EPREFIX}
+				hv_switch=
+				;;
+		esac
+	fi
+
 	local max_slot=${1}
 	local slot
 	for slot in "${_LLVM_KNOWN_SLOTS[@]}"; do
@@ -91,11 +160,16 @@
 			fi
 		fi
 
-		local p=${EPREFIX}/usr/lib/llvm/${slot}
-		if [[ -x ${p}/bin/llvm-config ]]; then
-			echo "${p}"
-			return
+		if declare -f llvm_check_deps >/dev/null; then
+			local LLVM_SLOT=${slot}
+			llvm_check_deps || continue
+		else
+			# check if LLVM package is installed
+			has_version ${hv_switch} "sys-devel/llvm:${slot}" || continue
 		fi
+
+		echo "${prefix}/usr/lib/llvm/${slot}"
+		return
 	done
 
 	# max_slot should have been unset in the iteration
@@ -103,23 +177,17 @@
 		die "${FUNCNAME}: invalid max_slot=${max_slot}"
 	fi
 
-	# fallback to :0
-	# assume it's always <= 4 (the lower max_slot allowed)
-	p=${EPREFIX}/usr
-	if [[ -x ${p}/bin/llvm-config ]]; then
-		echo "${p}"
-		return
-	fi
-
-	die "No LLVM slot${1:+ <= ${1}} found in PATH!"
+	die "No LLVM slot${1:+ <= ${1}} satisfying the package's dependencies found installed!"
 }
 
 # @FUNCTION: llvm_pkg_setup
 # @DESCRIPTION:
-# Prepend the executable directory corresponding to the newest
-# installed LLVM version that is not newer than ${LLVM_MAX_SLOT}
-# to PATH. If LLVM_MAX_SLOT is unset or empty, the newest installed
-# slot will be used.
+# Prepend the appropriate executable directory for the newest
+# acceptable LLVM slot to the PATH. For path determination logic,
+# please see the get_llvm_prefix documentation.
+#
+# The highest acceptable LLVM slot can be set in LLVM_MAX_SLOT variable.
+# If it is unset or empty, any slot is acceptable.
 #
 # The PATH manipulation is only done for source builds. The function
 # is a no-op when installing a binary package.
@@ -130,7 +198,29 @@
 	debug-print-function ${FUNCNAME} "${@}"
 
 	if [[ ${MERGE_TYPE} != binary ]]; then
-		export PATH=$(get_llvm_prefix ${LLVM_MAX_SLOT})/bin:${PATH}
+		local llvm_path=$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin
+		local IFS=:
+		local split_path=( ${PATH} )
+		local new_path=()
+		local x added=
+
+		# prepend new path before first LLVM version found
+		for x in "${split_path[@]}"; do
+			if [[ ${x} == */usr/lib/llvm/*/bin ]]; then
+				if [[ ${x} != ${llvm_path} ]]; then
+					new_path+=( "${llvm_path}" )
+				elif [[ ${added} && ${x} == ${llvm_path} ]]; then
+					# deduplicate
+					continue
+				fi
+				added=1
+			fi
+			new_path+=( "${x}" )
+		done
+		# ...or to the end of PATH
+		[[ ${added} ]] || new_path+=( "${llvm_path}" )
+
+		export PATH=${new_path[*]}
 	fi
 }
 
diff --git a/eclass/osreleased.eclass b/eclass/osreleased.eclass
index d02c9dc..550efec 100644
--- a/eclass/osreleased.eclass
+++ b/eclass/osreleased.eclass
@@ -10,7 +10,7 @@
 # Chromium OS build team;
 # @BUGREPORTS:
 # Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: Eclass for setting fields in /etc/os-release.d/
 
 # @FUNCTION: do_osrelease_field
diff --git a/eclass/platform.eclass b/eclass/platform.eclass
index fb0629c..231b5bb 100644
--- a/eclass/platform.eclass
+++ b/eclass/platform.eclass
@@ -5,7 +5,7 @@
 # ChromiumOS Build Team
 # @BUGREPORTS:
 # Please report bugs via http://crbug.com/new (with label Build)
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: helper eclass for building Chromium package in src/platform2
 # @DESCRIPTION:
 # Packages in src/platform2 are in active development. We want builds to be
@@ -14,7 +14,7 @@
 # @ECLASS-VARIABLE: WANT_LIBCHROME
 # @DESCRIPTION:
 # Set to yes if the package needs libchrome.
-: ${WANT_LIBCHROME:="yes"}
+: "${WANT_LIBCHROME:=yes}"
 
 # @ECLASS-VARIABLE: WANT_LIBBRILLO
 # @DESCRIPTION:
@@ -28,17 +28,17 @@
 # @ECLASS-VARIABLE: PLATFORM_NATIVE_TEST
 # @DESCRIPTION:
 # If set to yes, run the test only for amd64 and x86.
-: ${PLATFORM_NATIVE_TEST:="no"}
+: "${PLATFORM_NATIVE_TEST:=no}"
 
 # @ECLASS-VARIABLE: PLATFORM_BUILD
 # @DESCRIPTION:
 # Indicates whether this is a platform build by setting a non-empty value.
-: "${PLATFORM_BUILD:="1"}"
+: "${PLATFORM_BUILD:=1}"
 
 # @ECLASS-VARIABLE: PLATFORM_ARC_BUILD
 # @DESCRIPTION:
 # Set to yes if the package is built by ARC toolchain.
-: ${PLATFORM_ARC_BUILD:="no"}
+: "${PLATFORM_ARC_BUILD:=no}"
 
 # @ECLASS-VARIABLE: OUT
 # @DESCRIPTION:
@@ -48,6 +48,10 @@
 
 inherit cros-debug cros-fuzzer cros-sanitizers cros-workon flag-o-matic toolchain-funcs multiprocessing
 
+# Define these so they can be appended to.
+DEPEND=""
+RDEPEND=""
+
 [[ "${WANT_LIBCHROME}" == "yes" ]] && inherit libchrome
 
 # Sanity check: libbrillo can't exist without libchrome.
@@ -55,21 +59,21 @@
 	if [[ "${WANT_LIBCHROME}" == "no" ]]; then
 		die "libbrillo requires libchrome"
 	fi
-	DEPEND=">=chromeos-base/libbrillo-0.0.1-r1651:="
-	RDEPEND=">=chromeos-base/libbrillo-0.0.1-r1651:="
+	DEPEND+=" >=chromeos-base/libbrillo-0.0.1-r1651:="
+	RDEPEND+=" >=chromeos-base/libbrillo-0.0.1-r1651:="
 fi
 
 # While not all packages utilize USE=test, it's common to write gn conditionals
 # based on the flag.  Add it to the eclass so ebuilds don't have to duplicate it
 # everywhere even if they otherwise aren't using the flag.
-IUSE="compilation_database cros_host test"
+IUSE="compdb_only compilation_database cros_host test"
 
 # Similarly to above, we use gtest (includes gmock) for unittests in platform2
 # packages. Add the dep all the time even if a few packages wouldn't use it as
 # it doesn't add any real overhead. As we often use the FRIEND_TEST macro
 # provided by gtest/gtest_prod.h in regular class definitions, the gtest
 # dependency is needed outside test as well.
-DEPEND="
+DEPEND+="
 	cros_host? ( dev-util/gn )
 	>=dev-cpp/gtest-1.10.0:=
 "
@@ -83,38 +87,14 @@
 
 	ninja -C "${OUT}" -t compdb cc cxx > "${db_chroot}" || die
 
-	local ext_chroot_path="${EXTERNAL_TRUNK_PATH}/chroot"
-
 	# Make relative include paths absolute.
 	sed -i -e "s:-I\./:-I${OUT}/:g" "${db_chroot}" || die
 
-	# Generate non-chroot version of the DB with the following
-	# changes:
-	#
-	# 1. translate file and directory paths
-	# 2. call clang directly instead of using CrOS wrappers
-	# 3. use standard clang target triples
-	# 4. remove a few compiler options that might not be available
-	#    in the potentially older clang version outside the chroot
-	# 5. Add "-stdlib=libc++" so that the clang outside the chroot can
-	#    find built-in headers like <string> and <memory>
-	#
-	sed -E -e "s:(\.\./|\.\.)*/mnt/host/source/:${EXTERNAL_TRUNK_PATH}/:g" \
-		-e "s:/build/:${ext_chroot_path}/build/:g" \
-		-e "s:-isystem /:-isystem ${ext_chroot_path}/:g" \
-		\
-		-e "s:[a-z0-9_]+-(cros|pc)-linux-gnu([a-z]*)?-clang:clang:g" \
-		\
-		-e "s:([a-z0-9_]+)-cros-linux-gnu:\1-linux-gnu:g" \
-		\
-		-e "s:-fdebug-info-for-profiling::g" \
-		-e "s:-mretpoline::g" \
-		-e "s:-mretpoline-external-thunk::g" \
-		-e "s:-mfentry::g" \
-		\
-		"${db_chroot}" \
-		| jq 'map(.command |= . + " -stdlib=libc++")' \
-		> "${OUT}/compile_commands_no_chroot.json" || die
+	local compdb_no_chroot="/mnt/host/source/chromite/ide_tooling/scripts/compdb_no_chroot.py"
+	# shellcheck disable=SC2154
+	< "${db_chroot}" \
+	"${compdb_no_chroot}" "${EXTERNAL_TRUNK_PATH}" \
+	> "${OUT}/compile_commands_no_chroot.json" || die
 
 	echo \
 "compile_commands_*.json are compilation databases for ${CATEGORY}/${PN}. The
@@ -138,24 +118,28 @@
 	local libdir="/usr/$(get_libdir)"
 	local cache_dir="$(cros-workon_get_build_dir)"
 	if [[ ${PLATFORM_ARC_BUILD} == "yes" ]]; then
+		# shellcheck disable=SC2154
 		export SYSROOT="${ARC_SYSROOT}"
 		libdir="/vendor/$(get_libdir)"
+		# shellcheck disable=SC2154
 		cache_dir="${BUILD_DIR}"
 	fi
-	if [[ "${WANT_LIBCHROME}" == "yes" || -n "${IS_LIBCHROME}" ]]; then
+	if [[ "${WANT_LIBCHROME}" == "yes" ]]; then
 		export BASE_VER="$(libchrome_ver)"
 	fi
 	local cmd=(
 		"${platform2_py}"
-		$(platform_get_target_args)
 		--libdir="${libdir}"
 		--use_flags="${USE}"
-		--jobs=$(makeopts_jobs)
+		--jobs="$(makeopts_jobs)"
 		--action="${action}"
 		--cache_dir="${cache_dir}"
 		--platform_subdir="${PLATFORM_SUBDIR}"
 		"$@"
 	)
+	if use cros_host; then
+		cmd+=( --host )
+	fi
 	if [[ "${CROS_WORKON_INCREMENTAL_BUILD}" != "1" ]]; then
 		cmd+=( --disable_incremental )
 	fi
@@ -163,15 +147,6 @@
 	# The stdout from this function used in platform_install
 }
 
-platform_get_target_args() {
-	if use cros_host; then
-		echo "--host"
-	else
-		# Avoid --board as we have all the vars we need in the env.
-		:
-	fi
-}
-
 platform_is_native() {
 	use amd64 || use x86
 }
@@ -203,11 +178,6 @@
 	local native_gtest_filter="$4"
 	local qemu_gtest_filter="$5"
 
-	local run_as_root_flag=""
-	if [[ "${run_as_root}" == "1" ]]; then
-		run_as_root_flag="--run_as_root"
-	fi
-
 	local gtest_filter
 	platform_is_native \
 		&& gtest_filter=${native_gtest_filter} \
@@ -216,10 +186,14 @@
 	local cmd=(
 		"${platform2_test_py}"
 		--action="${action}"
-		$(platform_get_target_args)
 		--sysroot="${SYSROOT}"
-		${run_as_root_flag}
 	)
+	if use cros_host; then
+		cmd+=( --host )
+	fi
+	if [[ "${run_as_root}" == "1" ]]; then
+		cmd+=( --run_as_root )
+	fi
 
 	# Only add these options if they're specified ... leads to cleaner output
 	# for developers to read.
@@ -255,9 +229,9 @@
 }
 
 platform_src_compile() {
-	platform "compile" "all"
+	use compdb_only || platform "compile" "all"
 
-	use compilation_database && platform_gen_compilation_database
+	(use compilation_database || use compdb_only) && platform_gen_compilation_database
 }
 
 platform_configure() {
@@ -307,16 +281,19 @@
 	insinto "${client_test_includes}/${libname}"
 	doins "${OUT}/gen/include/${libname}/dbus-proxy-mocks.h"
 
-	# Install pkg-config for client libraries.
-	"${PLATFORM_TOOLDIR}/generate_pc_file.sh" \
-		"${OUT}" lib${libname}-client "${client_includes}" ||
-		die "Error generating lib${libname}-client.pc file"
-	"${PLATFORM_TOOLDIR}/generate_pc_file.sh" \
-		"${OUT}" lib${libname}-client-test "${client_test_includes}" ||
-		die "Error generating lib${libname}-client-test.pc file"
-	insinto "/usr/$(get_libdir)/pkgconfig"
-	doins "${OUT}/lib${libname}-client.pc"
-	doins "${OUT}/lib${libname}-client-test.pc"
+	if [[ -f "lib${libname}-client.pc.in" ]]; then
+		# Install pkg-config for client libraries.
+		ewarn "generate_pc_file.sh is deprecated.  Please switch to generate_pkg_config in BUILD.gn."
+		"${PLATFORM_TOOLDIR}/generate_pc_file.sh" \
+			"${OUT}" "lib${libname}-client" "${client_includes}" ||
+			die "Error generating lib${libname}-client.pc file"
+		"${PLATFORM_TOOLDIR}/generate_pc_file.sh" \
+			"${OUT}" "lib${libname}-client-test" "${client_test_includes}" ||
+			die "Error generating lib${libname}-client-test.pc file"
+		insinto "/usr/$(get_libdir)/pkgconfig"
+		doins "${OUT}/lib${libname}-client.pc"
+		doins "${OUT}/lib${libname}-client-test.pc"
+	fi
 }
 
 # @FUNCTION: platform_install_compilation_database
diff --git a/eclass/tast-bundle.eclass b/eclass/tast-bundle.eclass
index b1ba6a2..528e39b 100644
--- a/eclass/tast-bundle.eclass
+++ b/eclass/tast-bundle.eclass
@@ -6,7 +6,7 @@
 # The Chromium OS Authors <chromium-os-dev@chromium.org>
 # @BUGREPORTS:
 # Please report bugs via https://crbug.com/new (with component "Tests>Tast")
-# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/@ECLASS@
+# @VCSURL: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/eclass/@ECLASS@
 # @BLURB: Eclass for building and installing Tast test bundles.
 # @DESCRIPTION:
 # Installs Tast integration test bundles.
@@ -21,7 +21,7 @@
 # images.
 # Only local tests can be marked private; remote test bundles are always
 # installed to the chroot.
-: ${TAST_BUNDLE_PRIVATE:=0}
+: "${TAST_BUNDLE_PRIVATE:=0}"
 
 # @ECLASS-VARIABLE: TAST_BUNDLE_EXCLUDE_DATA_FILES
 # @DESCRIPTION:
@@ -30,7 +30,7 @@
 # and that eclass copies the data files instead.
 : "${TAST_BUNDLE_EXCLUDE_DATA_FILES:=0}"
 
-inherit cros-go
+inherit cros-workon cros-go
 
 DEPEND="dev-go/crypto"
 RDEPEND="app-arch/tar"
@@ -54,10 +54,9 @@
 	# Decide if this is a private bundle.
 	TAST_BUNDLE_PREFIX=/usr
 	if [[ "${TAST_BUNDLE_PRIVATE}" = 1 ]]; then
-		if [[ "${TAST_BUNDLE_TYPE}" != local ]]; then
-			die "Remote test bundles can not be marked private"
+		if [[ "${TAST_BUNDLE_TYPE}" == local ]]; then
+			TAST_BUNDLE_PREFIX=/build
 		fi
-		TAST_BUNDLE_PREFIX=/build
 	fi
 
 	# The path to the test bundle code relative to the src/ directory.
diff --git a/licenses/LICENSE.amd-ucode b/licenses/LICENSE.amd-ucode
new file mode 100644
index 0000000..de5b29c
--- /dev/null
+++ b/licenses/LICENSE.amd-ucode
@@ -0,0 +1,64 @@
+Copyright (C) 2010-2018 Advanced Micro Devices, Inc., All rights reserved.
+
+Permission is hereby granted by Advanced Micro Devices, Inc. ("AMD"),
+free of any license fees, to any person obtaining a copy of this
+microcode in binary form (the "Software") ("You"), to install,
+reproduce, copy and distribute copies of the Software and to permit
+persons to whom the Software is provided to do the same, subject to
+the following terms and conditions.  Your use of any portion of the
+Software shall constitute Your acceptance of the following terms and
+conditions. If You do not agree to the following terms and conditions,
+do not use, retain or redistribute any portion of the Software.
+
+If You redistribute this Software, You must reproduce the above
+copyright notice and this license with the Software.
+Without specific, prior, written permission from AMD, You may not
+reference AMD or AMD products in the promotion of any product derived
+from or incorporating this Software in any manner that implies that
+AMD endorses or has certified such product derived from or
+incorporating this Software.
+
+You may not reverse engineer, decompile, or disassemble this Software
+or any portion thereof.
+
+THE SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED
+WARRANTY OF ANY KIND, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
+MERCHANTABILITY, NONINFRINGEMENT, TITLE, FITNESS FOR ANY PARTICULAR
+PURPOSE, OR WARRANTIES ARISING FROM CONDUCT, COURSE OF DEALING, OR
+USAGE OF TRADE. IN NO EVENT SHALL AMD OR ITS LICENSORS BE LIABLE FOR
+ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR
+LOSS OF PROFITS, BUSINESS INTERRUPTION, OR LOSS OF DATA OR
+INFORMATION) ARISING OUT OF AMD'S NEGLIGENCE, GROSS NEGLIGENCE, THE
+USE OF OR INABILITY TO USE THE SOFTWARE, EVEN IF AMD HAS BEEN ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME JURISDICTIONS
+PROHIBIT THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR
+INCIDENTAL DAMAGES OR THE EXCLUSION OF IMPLIED WARRANTIES, THE ABOVE
+LIMITATION MAY NOT APPLY TO YOU.
+
+Without limiting the foregoing, the Software may implement third party
+technologies for which You must obtain licenses from parties other
+than AMD. You agree that AMD has not obtained or conveyed to You, and
+that You shall be responsible for obtaining the rights to use and/or
+distribute the applicable underlying intellectual property rights
+related to the third party technologies. These third party
+technologies are not licensed hereunder.
+
+If You use the Software (in whole or in part), You shall adhere to all
+applicable U.S., European, and other export laws, including but not
+limited to the U.S. Export Administration Regulations ("EAR"), (15
+C.F.R. Sections 730 through 774), and E.U. Council Regulation (EC) No
+1334/2000 of 22 June 2000. Further, pursuant to Section 740.6  of the
+EAR, You hereby certify that, except pursuant to a license granted by
+the United States Department of Commerce Bureau of Industry and
+Security or as otherwise permitted pursuant to a License Exception
+under the U.S. Export Administration Regulations ("EAR"), You will not
+(1) export, re-export or release to a national of a country in Country
+Groups D:1, E:1 or E:2 any restricted technology, software, or source
+code You receive hereunder, or (2) export to Country Groups D:1, E:1
+or E:2 the direct product of such technology or software, if such
+foreign produced direct product is subject to national security
+controls as identified on the Commerce Control List (currently found
+in Supplement 1 to Part 774 of EAR). For the most current Country
+Group listings, or for additional information about the EAR or Your
+obligations under those regulations, please refer to the U.S. Bureau
+of Industry and Security?s website at ttp://www.bis.doc.gov/.
diff --git a/licenses/LICENSE.dsm b/licenses/LICENSE.dsm
index 3f3e1aa..c9d27a6 100644
--- a/licenses/LICENSE.dsm
+++ b/licenses/LICENSE.dsm
@@ -1,420 +1,104 @@
--Maxim Integrated Products, Inc., 2020----------------------------------------------------------------------------------
-The Software you have received is provided pursuant to these Software License Terms and Conditions ("Agreement"). By acc
-epting this software, you are entering into, agreeing to, and consenting to be bound by all of the terms of this Agreeme
-nt, which is between you and Maxim Integrated Products, Inc. on behalf of itself and its affiliates and subsidiaries (co
-llectively, "Maxim"). This Agreement is effective as of the date that you received the software (the "Effective Date").
-You represent and warrant that you are at least eighteen (18) years of age if you are a resident of the United States, o
-r the age of majority in the jurisdiction of your residence. If you are accepting these terms on behalf of your employer
- ("Company"), you represent and warrant that you have full authority to bind the Company to these terms. You and, if app
-licable, the Company may hereinafter be collectively referenced in this Agreement as the "Customer."
+The Software you have received is provided pursuant to these Software License Terms and Conditions ("Agreement"). By accepting this software, you are entering into, agreeing to, and consenting to be bound by all of the terms of this Agreement, which is between you and Maxim Integrated Products, Inc. on behalf of itself and its affiliates and subsidiaries (collectively, "Maxim"). This Agreement is effective as of the date that you received the software (the "Effective Date"). You represent and warrant that you are at least eighteen (18) years of age if you are a resident of the United States, or the age of majority in the jurisdiction of your residence. If you are accepting these terms on behalf of your employer ("Company"), you represent and warrant that you have full authority to bind the Company to these terms. You and, if applicable, the Company may hereinafter be collectively referenced in this Agreement as the "Customer."
 Recitals
-
-A. Maxim, among other things, develops, manufactures, and sells semiconductor products and offers software consisting of
- certain software development tools, operating systems, driver software, firmware, and example application code. The pro
-vided software contains software or features representative or illustrative of those that can be used with Maxim ICs and
- can be used for development of software application programs to operate with Maxim ICs or products containing Maxim ICs
-.
-
+A. Maxim, among other things, develops, manufactures, and sells semiconductor products and offers software consisting of certain software development tools, operating systems, driver software, firmware, and example application code. The provided software contains software or features representative or illustrative of those that can be used with Maxim ICs and can be used for development of software application programs to operate with Maxim ICs or products containing Maxim ICs.
 B. Customer desires to license the software from Maxim, under the terms and conditions of this Agreement.
-
-C. This Agreement permits Customer to license the software from Maxim or its distributors, representatives, or other par
-tners who are duly authorized by Maxim to offer such licenses and sets forth the basic terms and conditions under which
-the software will be delivered.
-
+C. This Agreement permits Customer to license the software from Maxim or its distributors, representatives, or other partners who are duly authorized by Maxim to offer such licenses and sets forth the basic terms and conditions under which the software will be delivered.
 1. Definitions.
-
-1.1. "Affiliate" means any entity under the Control of a party where "Control" means ownership of or the right to contro
-l greater than 50% of the voting securities of such entity.
-
-1.2. "Customer Program" means a software program designed to operate with Maxim ICs and developed by Customer using the
-Software.
-
-1.3. "Documentation" means all manuals, documentation, and other written materials that Maxim includes or otherwise prov
-ides as related to the Software or Maxim ICs, whether in printed or electronic form, including without limitation, custo
-mer reference and installation manuals, user's guides, and programmers guide.
-
-1.4. "Executable Code" means software in a machine-readable and executable form which is not generally readable by human
-s without reverse assembly, reverse compiling, or reverse engineering, but which can be combined in an unmodified form w
-ith Source Code and which can be compiled to make a Customer Program.
-
-1.5. "Maxim ICs" means integrated circuits that are separately purchased or obtained by Customer directly from Maxim or
-indirectly from Maxim's distributors, representatives, or other partners who are duly authorized by Maxim to sell such i
-ntegrated circuits.
-
+1.1. "Affiliate" means any entity under the Control of a party where "Control" means ownership of or the right to control greater than 50% of the voting securities of such entity.
+1.2. "Customer Program" means a software program designed to operate with Maxim ICs and developed by Customer using the Software.
+1.3. "Documentation" means all manuals, documentation, and other written materials that Maxim includes or otherwise provides as related to the Software or Maxim ICs, whether in printed or electronic form, including without limitation, customer reference and installation manuals, user's guides, and programmers guide.
+1.4. "Executable Code" means software in a machine-readable and executable form which is not generally readable by humans without reverse assembly, reverse compiling, or reverse engineering, but which can be combined in an unmodified form with Source Code and which can be compiled to make a Customer Program.
+1.5. "Maxim ICs" means integrated circuits that are separately purchased or obtained by Customer directly from Maxim or indirectly from Maxim's distributors, representatives, or other partners who are duly authorized by Maxim to sell such integrated circuits.
 1.6. "Maxim-Enabled Products" means any product made by or for Customer that incorporates a Maxim IC.
-
-1.7. "Maxim Proprietary Software" means the software provided by Maxim to Customer under and upon Customer's acceptance
-of this Agreement, all permitted copies, modifications, or derivative works thereof made by Customer, and all basic or r
-elated materials pertinent thereto, including without limitation any documentation provided, either in hardcopy form or
-electronic form. Maxim Proprietary Software excludes Open Source Software and Third Party Technology.
-
-1.8. "Object Code" means software in machine-readable and executable form resulting from compilation or assembly of Sour
-ce Code and that is not generally readable by humans without reverse assembly, reverse compiling, or reverse engineering
-.
-
-1.9. "Open Source Software" means any open source, community, or other free software code or libraries of any type, incl
-uding, without limitation, any code that (a) is made generally available for free or that meets
-the definition of "open source" or "free" as defined by the Open Source Initiative or Free Software Foundation or (b) is
- licensed under any license agreement approved by either such entity (such as, for example purposes only, the GNU GPL, G
-NU LGPL, Mozilla, or Apache license).
-
+1.7. "Maxim Proprietary Software" means the software provided by Maxim to Customer under and upon Customer's acceptance of this Agreement, all permitted copies, modifications, or derivative works thereof made by Customer, and all basic or related materials pertinent thereto, including without limitation any documentation provided, either in hardcopy form or electronic form. Maxim Proprietary Software excludes Open Source Software and Third Party Technology.
+1.8. "Object Code" means software in machine-readable and executable form resulting from compilation or assembly of Source Code and that is not generally readable by humans without reverse assembly, reverse compiling, or reverse engineering.
+1.9. "Open Source Software" means any open source, community, or other free software code or libraries of any type, including, without limitation, any code that (a) is made generally available for free or that meets the definition of "open source" or "free" as defined by the Open Source Initiative or Free Software Foundation or (b) is licensed under any license agreement approved by either such entity (such as, for example purposes only, the GNU GPL, GNU LGPL, Mozilla, or Apache license).
 1.10. "Site(s)" means the Customer's premises.
-
-1.11. "Software" means the Maxim Proprietary Software, any Third Party Technology, and any Open Source Software delivere
-d to Customer under the terms of this Agreement. Unless otherwise noted, the Software and Documentation are referred to
-collectively herein as "Software".
-
-1.12. "Source Code" means software in human-readable, high-level language form, which can be compiled or assembled into
-Object Code, machine code, or another executable form of code.
-
-1.13. "Third Party Technology" means any software, feature or functionality that requires a license grant and/or payment
-s by Customer to third parties for commercial activities related to Customer Programs and/or Maxim-Enabled Products.
-2. Software Licenses. The Maxim Proprietary Software is licensed to Customer under the license grant set forth in Sectio
-n 3 (Maxim Proprietary Software License Grant) below. Any Open Source Software delivered to Customer is licensed to Cust
-omer under the license specified in such Open Source Software and as further restricted by Section 4. For purposes of cl
-arity, the provisions of this Agreement applying to Source Code shall only apply if Source Code is being provided to Cus
-tomer.
-
+1.11. "Software" means the Maxim Proprietary Software, any Third Party Technology, and any Open Source Software delivered to Customer under the terms of this Agreement. Unless otherwise noted, the Software and Documentation are referred to collectively herein as "Software".
+1.12. "Source Code" means software in human-readable, high-level language form, which can be compiled or assembled into Object Code, machine code, or another executable form of code.
+1.13. "Third Party Technology" means any software, feature or functionality that requires a license grant and/or payments by Customer to third parties for commercial activities related to Customer Programs and/or Maxim-Enabled Products.
+2. Software Licenses. The Maxim Proprietary Software is licensed to Customer under the license grant set forth in Section 3 (Maxim Proprietary Software License Grant) below. Any Open Source Software delivered to Customer is licensed to Customer under the license specified in such Open Source Software and as further restricted by Section 4. For purposes of clarity, the provisions of this Agreement applying to Source Code shall only apply if Source Code is being provided to Customer.
 3. Maxim Proprietary Software License Grant.
-
-3.1. License Grant to Maxim Proprietary Software. Subject to the terms of this Agreement, Maxim hereby grants to Custome
-r during the Term a personal, non-exclusive, non-transferable, non-assignable, non-sublicensable (except as expressly gr
-anted herein) license to do the following:
-
-(a) use Object Code versions of Maxim Proprietary Software, internally and only at the Site(s) for the sole purpose of c
-reating Customer Programs;
-
-(b) load, install, run, execute, test, and debug Object Code versions of Maxim Proprietary Software, as incorporated wit
-hin a Customer Program, in a Maxim-Enabled Product internally and only at the Site(s) and only for the purpose of enabli
-ng Maxim ICs in the Maxim-Enabled Product;
-
-(c) grant a personal, non-exclusive, non-transferable, non-assignable, non-sublicensable sublicense to third parties: (i
-) to install, run, load, and execute Object Code versions of Maxim Proprietary Software, as incorporated within a Custom
-er Program, on Maxim-Enabled Products, and (ii) to distribute Object Code versions of Maxim Proprietary Software, as inc
-orporated within a Customer Program, embedded in a Maxim-Enabled Product to such third parties solely for the purpose of
- and only to the extent needed to carry out such sublicense. The sublicense will subject the third party to the restrict
-ions and obligations of Sections 3.4 (License Restrictions on Maxim Proprietary Software) and 14 (Confidential Informati
-on) as if the third party were in the place of Customer. Customer will be fully responsible for the compliance with and
-liable for the breach of the sublicense by the third party. Upon becoming aware of any breach or suspected breach of the
- sublicense by the third party, Customer will promptly report such breach or suspected breach to Maxim; and
-
-(d) use unmodified versions of Executable Code of Maxim Proprietary Software, to incorporate such Executable Code within
- Customer Programs, and to create an Object Code version of Customer Programs.
-In all cases, the rights granted herein shall be exercised in accordance with (i) the Documentation, and (ii) this
-Agreement.
-
-3.2. Source Code License. To the extent that the Maxim Proprietary Software includes any Source Code, subject to the ter
-ms and conditions of this Agreement, Maxim grants to Customer a non-sublicensable, non-exclusive, non-transferable, non-
-assignable license during the Term to use, modify, and compile the Source Code internally and only at the Site(s) solely
- to the extent necessary to support the development of a Customer Program as permitted under Section 3.1 (License Grant
-to Maxim Proprietary Software) above. Customer will keep track of all Customer employees who have had access to Source C
-ode versions of Maxim Proprietary Software, and will provide a list of such employees to Maxim upon request.
-
-3.3. Copies. Except for purposes of exercising the license granted in this Section 3 (Maxim Proprietary
-Software License Grant) and for back-up purposes, Customer may not copy the Maxim Proprietary Software. Customer agrees
-to reproduce and include Maxim's copyright notice on any copies of the Maxim Proprietary Software, which copies it makes
- in any form, including partial copies of the Maxim Proprietary Software.
-
-3.4. License Restrictions on Maxim Proprietary Software. Except for the rights expressly granted in this Section 3, Maxi
-m grants no rights in the Maxim Proprietary Software to Customer, whether by implication, estoppel, or otherwise. Subjec
-t to the rights expressly granted in this Section 3, Customer shall not and shall not encourage, allow, or facilitate an
-y third party to:
-
-a.modify, translate, adapt, reverse engineer, decompile, disassemble, or otherwise translate or create derivative works
-based on the Maxim Proprietary Software, except solely to the extent (i) expressly permitted in Section 3.1 (License Gra
-nt to Maxim Proprietary Software) above or (ii) by applicable law and then only with advance written notice of such acti
-vity to Maxim;
-
-b.review, analyze, or evaluate Maxim Proprietary Software for the purpose of determining the infringement, validity, or
-enforceability of any intellectual property, or compare Maxim Proprietary Software to intellectual property in any way;
-
-c.examine, review, evaluate, or otherwise use the Maxim Proprietary Software for the purpose of developing or enabling a
- product or technology that competes with Maxim;
-
-d.rent, lease, or sublicense the Maxim Proprietary Software to a third party, except as expressly permitted in Section 3
-.1 (License Grant to Maxim Proprietary Software);
-
-e.remove any product identification, proprietary, copyright or other notices contained in the Maxim Proprietary Software
-;
-
-f.disclose or distribute to any third party (i) benchmarks or other comparisons relating to the Maxim Proprietary Softwa
-re or (ii) any information (A) relating to the results of Customer's evaluation of the Maxim Proprietary Software (inclu
-ding relating to performance, function, or deficiencies of the Maxim Proprietary Software) or (B) contained in any docum
-entation, report, or questionnaire of Maxim that constitutes Maxim Confidential Information;
-g.distribute or sell the Maxim Proprietary Software in standalone form or in any manner other than as permitted under Se
-ction 3.1 (License Grant to Maxim Proprietary Software) above; or
+3.1. License Grant to Maxim Proprietary Software. Subject to the terms of this Agreement, Maxim hereby grants to Customer during the Term a personal, non-exclusive, non-transferable, non-assignable, non-sublicensable (except as expressly granted herein) license to do the following:
+(a) use Object Code versions of Maxim Proprietary Software, internally and only at the Site(s) for the sole purpose of creating Customer Programs;
+(b) load, install, run, execute, test, and debug Object Code versions of Maxim Proprietary Software, as incorporated within a Customer Program, in a product internally and only at the Site(s) and only for the purpose of enabling Maxim ICs in the Maxim-Enabled Product;
+(c) grant a personal, non-exclusive, non-transferable, non-assignable, non-sublicensable sublicense to third parties: (i) to install, run, load, and execute Object Code versions of Maxim Proprietary Software, as incorporated within a Customer Program, on products, and (ii) to distribute Object Code versions of Maxim Proprietary Software, as incorporated within a Customer Program, embedded in a product to such third parties solely for the purpose of and only to the extent needed to carry out such sublicense. The sublicense will subject the third party to the restrictions and obligations of Sections 3.4 (License Restrictions on Maxim Proprietary Software) and 14 (Confidential Information) as if the third party were in the place of Customer. Customer will be fully responsible for the compliance with and liable for the breach of the sublicense by the third party. Upon becoming aware of any breach or suspected breach of the sublicense by the third party, Customer will promptly report such breach or suspected breach to Maxim; and
+(d) use unmodified versions of Executable Code of Maxim Proprietary Software, to incorporate such Executable Code within Customer Programs, and to create an Object Code version of Customer Programs. In all cases, the rights granted herein shall be exercised in accordance with (i) the Documentation, and (ii) this Agreement.
+3.2. Source Code License. To the extent that the Maxim Proprietary Software includes any Source Code, subject to the terms and conditions of this Agreement, Maxim grants to Customer a non-sublicensable, non-exclusive, non-transferable, non-assignable license during the Term to use, modify, and compile the Source Code internally and only at the Site(s) solely to the extent necessary to support the development of a Customer Program as permitted under Section 3.1 (License Grantto Maxim Proprietary Software) above. Customer will keep track of all Customer employees who have had access to Source Code versions of Maxim Proprietary Software, and will provide a list of such employees to Maxim upon request.
+3.3. Copies. Except for purposes of exercising the license granted in this Section 3 (Maxim Proprietary Software License Grant) and for back-up purposes, Customer may not copy the Maxim Proprietary Software. Customer agrees to reproduce and include Maxim's copyright notice on any copies of the Maxim Proprietary Software, which copies it makes in any form, including partial copies of the Maxim Proprietary Software.
+3.4. License Restrictions on Maxim Proprietary Software. Except for the rights expressly granted in this Section 3, Maxim grants no rights in the Maxim Proprietary Software to Customer, whether by implication, estoppel, or otherwise. Subject to the rights expressly granted in this Section 3, Customer shall not and shall not encourage, allow, or facilitate any third party to:
+a.modify, translate, adapt, reverse engineer, decompile, disassemble, or otherwise translate or create derivative worksbased on the Maxim Proprietary Software, except solely to the extent (i) expressly permitted in Section 3.1 (License Grant to Maxim Proprietary Software) above or (ii) by applicable law and then only with advance written notice of such activity to Maxim;
+b.review, analyze, or evaluate Maxim Proprietary Software for the purpose of determining the infringement, validity, or enforceability of any intellectual property, or compare Maxim Proprietary Software to intellectual property in any way;
+c.examine, review, evaluate, or otherwise use the Maxim Proprietary Software for the purpose of developing or enabling a product or technology that competes with Maxim;
+d.rent, lease, or sublicense the Maxim Proprietary Software to a third party, except as expressly permitted in Section 3.1 (License Grant to Maxim Proprietary Software);
+e.remove any product identification, proprietary, copyright or other notices contained in the Maxim Proprietary Software;
+f.disclose or distribute to any third party (i) benchmarks or other comparisons relating to the Maxim Proprietary Software or (ii) any information (A) relating to the results of Customer's evaluation of the Maxim Proprietary Software (including relating to performance, function, or deficiencies of the Maxim Proprietary Software) or (B) contained in any documentation, report, or questionnaire of Maxim that constitutes Maxim Confidential Information;
+g.distribute or sell the Maxim Proprietary Software in standalone form or in any manner other than as permitted under Section 3.1 (License Grant to Maxim Proprietary Software) above; or
 h.USE OR DISTRIBUTE THE MAXIM PROPRIETARY SOFTWARE FOR MEDICAL OR LIFE CRITICAL APPLICATIONS.
-
-3.5. Authorized Users. Customer's consultants and contractors, who are not direct competitors of Maxim and who are under
- written agreements to provide services to Customer ("Authorized Users"), may use the Maxim Proprietary Software in acco
-rdance with the licenses granted to Customer under this Agreement, provided that:
-
-a.such Authorized Users agree to be bound by terms as protective of Maxim and Maxim Confidential Information as the term
-s set forth in this Agreement,
-
-b.Customer shall remain responsible for the Authorized User's compliance with such confidentiality terms and the applica
-ble terms of this Agreement,
-
-c.if Source Code is licensed under Section 3.2 (Source Code License), Customer keeps track of all Authorized Users who h
-ave had access to Source Code, and provides a list of such Authorized Users to Maxim upon request; and
-
-d.each Authorized User's use of the Maxim Proprietary Software is only for Customer's benefit in accordance with this Ag
-reement.
-
-3.6. No Right to Manufacture. Customer acknowledges and agrees that the license to the Maxim Proprietary Software grante
-d in Section 3.1 (License Grant to Maxim Proprietary Software) does not include any license to any of Maxim's other tech
-nology or intellectual property and that, consequently, it shall not have the right under this Agreement to develop, man
-ufacture, or have manufactured any integrated circuits that incorporate any Maxim technology, and that Customer is requi
-red to separately purchase or obtain Maxim ICs from Maxim or a Maxim certified distributor.
-
-3.7. Form of Delivery. Maxim will provide the Software licensed hereunder to Customer by electronic medium or other form
- as mutually agreed upon, in the condition as it exists on the Effective Date or date of delivery, if different, without
- special reformatting.
-
-4. Open Source Licenses. Customer understands and acknowledges that Open Source Software may be delivered pursuant to th
-is Agreement and subject to an Open Source Software license, that each Open Source Software license is a separate agreem
-ent between Customer and the copyright holder of such Open Source Software and that Maxim is not a party to any such Ope
-n Source Software license. The terms and conditions governing Customer's use of the Open Source Software are set forth i
-n the license agreement indicated in the Open Source Software and not in this Agreement. Customer's use of all Open Sour
-ce Software must comply with the terms of each applicable Open Source Software license. This Agreement does not limit Cu
-stomer's rights under, or grant Customer rights that supersede, the license terms of any particular Open Source Software
- license.
-
-5. Third Party Technology. Customer acknowledges and agrees that Customer Programs and Maxim-Enabled Products, as well a
-s any products based on Maxim Proprietary Software or other Maxim technology, may require certain licenses from certain
-standards bodies and/or other third parties holding intellectual property rights ("IPR") that may cover one or more of a
-forementioned items. Customer acknowledges and agrees that Maxim is not granting a sublicense to IPR of Third Party Tech
-nology, and Customer is solely responsible for procuring such license in connection with any use of such Third Party Tec
-hnology.
-
+3.5. Authorized Users. Customer's consultants and contractors, who are not direct competitors of Maxim and who are under written agreements to provide services to Customer ("Authorized Users"), may use the Maxim Proprietary Software in accordance with the licenses granted to Customer under this Agreement, provided that:
+a.such Authorized Users agree to be bound by terms as protective of Maxim and Maxim Confidential Information as the terms set forth in this Agreement,
+b.Customer shall remain responsible for the Authorized User's compliance with such confidentiality terms and the applicable terms of this Agreement,
+c.if Source Code is licensed under Section 3.2 (Source Code License), Customer keeps track of all Authorized Users who have had access to Source Code, and provides a list of such Authorized Users to Maxim upon request; and
+d.each Authorized User's use of the Maxim Proprietary Software is only for Customer's benefit in accordance with this Agreement.
+3.6. No Right to Manufacture. Customer acknowledges and agrees that the license to the Maxim Proprietary Software granted in Section 3.1 (License Grant to Maxim Proprietary Software) does not include any license to any of Maxim's other technology or intellectual property and that, consequently, it shall not have the right under this Agreement to develop, manufacture, or have manufactured any integrated circuits that incorporate any Maxim technology, and that Customer is required to separately purchase or obtain Maxim ICs from Maxim or a Maxim certified distributor.
+3.7. Form of Delivery. Maxim will provide the Software licensed hereunder to Customer by electronic medium or other form as mutually agreed upon, in the condition as it exists on the Effective Date or date of delivery, if different, without special reformatting.
+4. Open Source Licenses. Customer understands and acknowledges that Open Source Software may be delivered pursuant to this Agreement and subject to an Open Source Software license, that each Open Source Software license is a separate agreement between Customer and the copyright holder of such Open Source Software and that Maxim is not a party to any such Open Source Software license. The terms and conditions governing Customer's use of the Open Source Software are set forth in the license agreement indicated in the Open Source Software and not in this Agreement. Customer's use of all Open Source Software must comply with the terms of each applicable Open Source Software license. This Agreement does not limit Customer's rights under, or grant Customer rights that supersede, the license terms of any particular Open Source Software license.
+5. Third Party Technology. Customer acknowledges and agrees that Customer Programs and Maxim-Enabled Products, as well as any products based on Maxim Proprietary Software or other Maxim technology, may require certain licenses from certainstandards bodies and/or other third parties holding intellectual property rights ("IPR") that may cover one or more of aforementioned items. Customer acknowledges and agrees that Maxim is not granting a sublicense to IPR of Third Party Technology, and Customer is solely responsible for procuring such license in connection with any use of such Third Party Technology.
 6. Representations and Warranties of Customer.
-
 6.1. General. Customer represents and warrants that:
-
-a. Customer's business and its performance under this Agreement are in compliance with all applicable federal, state and
- local laws and government rules and regulations;
-
-b. None of the Customer Programs, Maxim-Enabled Products, or any portion thereof, excluding any Maxim Proprietary Softwa
-re contained therein, constitutes or may give rise to a claim of infringement of any patent, copyright, trade secret or
-other intellectual property right of a third party anywhere in the world; and
-
-c. No portion of any Customer Program (including any libraries), or any Maxim-Enabled Product, contains or will contain
-any "viral" Open Source Software, or any other software or code which could compromise or interfere in any way with Maxi
-m's rights, including IPR, in or to the Maxim Proprietary Software or other Maxim materials that may come into contact w
-ith such Customer Programs or Maxim-Enabled Products, or require Maxim or Customer to disclose any Source Code to any su
-ch Maxim Proprietary Software integrated in or distributed with any Customer Program or Maxim-Enabled Product.
-
-6.2. Maxim Proprietary Software. Customer on behalf of itself and its Affiliates hereby covenants not to bring suit or o
-therwise assert any intellectual property right against Maxim or any user, distributor, or manufacturer of the Maxim Pro
-prietary Software for the manufacture, use, import, offer for sale, or sale of any products or services based on the Max
-im Proprietary Software.
-
-7. Ownership. Notwithstanding anything to the contrary contained herein and except for the limited license rights expres
-sly provided herein, Maxim and its suppliers have and will retain all rights, title, and interest in and to the Maxim Pr
-oprietary Software (including, without limitation, all patent, copyright, trademark, trade secret, and other intellectua
-l property rights) and all copies, modifications, and derivative works thereof. Customer agrees to assign to Maxim all r
-ights, title, and interest, including but not limited to intellectual property rights, that Customer may now or in the f
-uture have in or to any modifications, improvements, or enhancements to the Maxim Proprietary Software. Customer acknowl
-edges that it is obtaining only a limited license right to the Maxim Proprietary Software and that irrespective of any u
-se of the words "purchase", "sale," or like terms hereunder, no ownership rights are being conveyed to Customer under th
-is Agreement or otherwise. For the avoidance of doubt, as between Maxim and Customer, Customer shall have and retain all
-rights, title, and interest in and to any Customer Programs except to the extent that any Software is incorporated
-therein.
-
+a. Customer's business and its performance under this Agreement are in compliance with all applicable federal, state and local laws and government rules and regulations;
+b. None of the Customer Programs, Maxim-Enabled Products, or any portion thereof, excluding any Maxim Proprietary Software contained therein, constitutes or may give rise to a claim of infringement of any patent, copyright, trade secret or other intellectual property right of a third party anywhere in the world; and
+c. No portion of any Customer Program (including any libraries), or any Maxim-Enabled Product, contains or will contain any "viral" Open Source Software, or any other software or code which could compromise or interfere in any way with Maxim's rights, including IPR, in or to the Maxim Proprietary Software or other Maxim materials that may come into contact with such Customer Programs or Maxim-Enabled Products, or require Maxim or Customer to disclose any Source Code to any such Maxim Proprietary Software integrated in or distributed with any Customer Program or Maxim-Enabled Product.
+6.2. Maxim Proprietary Software. Customer on behalf of itself and its Affiliates hereby covenants not to bring suit or otherwise assert any intellectual property right against Maxim or any user, distributor, or manufacturer of the Maxim Proprietary Software for the manufacture, use, import, offer for sale, or sale of any products or services based on the Maxim Proprietary Software.
+7. Ownership. Notwithstanding anything to the contrary contained herein and except for the limited license rights expressly provided herein, Maxim and its suppliers have and will retain all rights, title, and interest in and to the Maxim Proprietary Software (including, without limitation, all patent, copyright, trademark, trade secret, and other intellectual property rights) and all copies, modifications, and derivative works thereof. Customer agrees to assign to Maxim all rights, title, and interest, including but not limited to intellectual property rights, that Customer may now or in the future have in or to any modifications, improvements, or enhancements to the Maxim Proprietary Software. Customer acknowledges that it is obtaining only a limited license right to the Maxim Proprietary Software and that irrespective of any use of the words "purchase", "sale," or like terms hereunder, no ownership rights are being conveyed to Customer under this Agreement or otherwise. For the avoidance of doubt, as between Maxim and Customer, Customer shall have and retain all rights, title, and interest in and to any Customer Programs except to the extent that any Software is incorporated therein.
 8. Term and Termination.
-
 8.1. Term. This Agreement is effective as of the Effective Date, will continue for three (3) years (the "License
-Term"), and expire when the License Term has elapsed, unless earlier terminated in accordance with this Section (the "Te
-rm").
-
+Term"), and expire when the License Term has elapsed, unless earlier terminated in accordance with this Section (the "Term").
 8.2. Termination. This Agreement (and all licenses and sublicenses granted hereunder) shall terminate on the earlier of:
-
 a.immediately upon Customer's material breach of any term of this Agreement,
-
 b.Maxim's notice of termination, which may be for any reason, to Customer
-
-c.the date upon which Customer discontinues the development, sale or distribution of Customer Programs or Maxim-Enabled
-Products;
-
-d.the date that Customer becomes insolvent, makes a general assignment for the benefit of creditors, suffers or permits
-the appointment of a receiver, becomes subject to any proceeding under any bankruptcy or insolvency law whether domestic
- or foreign, voluntary or involuntary; or e.Expiration of the Term pursuant to Section 8.1 (Term).
-Upon expiration or termination of this Agreement or upon written request from Maxim, Customer shall certify to Maxim in
-writing that Customer has returned (or, with the consent of Maxim, destroyed) all copies of the Maxim Proprietary Softwa
-re and any other material provided by Maxim (excluding Open Source Software). 8.3. Survival. Sections 3.3 (Copies), 3.4
-(License Restrictions on Maxim Proprietary Software), 3.6 (No Right to Manufacture), 4 (Open Source Licenses), 5 (Third
-Party Technology), 6 (Representations and Warranties of Customer), 7 (Ownership), 8 (Term and Termination), 9 (Warranty
-Disclaimer), 11 (Taxes), 12 (Limitation of Remedies and Damages), 13 (Indemnification by Customer), 14 (Confidential Inf
-ormation) and 15 (General) shall survive any termination or expiration of this Agreement.
-
-8.4. Limited Survival of License. Notwithstanding anything contained herein, unless this Agreement is terminated pursuan
-t to Sections 8.2.a or 8.2.d, Customer shall, after termination or expiration of this Agreement, retain a limited licens
-e to the Maxim Proprietary Software, to use any Maxim-provided Source Code and Object Code versions of Maxim Proprietary
- Software internally and only at the Site(s) for the sole purpose of maintaining or supporting a Maxim-Enabled Product t
-hat was shipped in conjunction with an Object Code version of a Customer Program during the Term of this Agreement .
-
+c.the date upon which Customer discontinues the development, sale or distribution of Customer Programs or Maxim-Enabled Products;
+d.the date that Customer becomes insolvent, makes a general assignment for the benefit of creditors, suffers or permits the appointment of a receiver, becomes subject to any proceeding under any bankruptcy or insolvency law whether domestic or foreign, voluntary or involuntary; or e.Expiration of the Term pursuant to Section 8.1 (Term). Upon expiration or termination of this Agreement or upon written request from Maxim, Customer shall certify to Maxim in writing that Customer has returned (or, with the consent of Maxim, destroyed) all copies of the Maxim Proprietary Software and any other material provided by Maxim (excluding Open Source Software). 8.3. Survival. Sections 3.3 (Copies), 3.4(License Restrictions on Maxim Proprietary Software), 3.6 (No Right to Manufacture), 4 (Open Source Licenses), 5 (Third Party Technology), 6 (Representations and Warranties of Customer), 7 (Ownership), 8 (Term and Termination), 9 (Warranty Disclaimer), 11 (Taxes), 12 (Limitation of Remedies and Damages), 13 (Indemnification by Customer), 14 (Confidential Information) and 15 (General) shall survive any termination or expiration of this Agreement.
+8.4. Limited Survival of License. Notwithstanding anything contained herein, unless this Agreement is terminated pursuant to Sections 8.2.a or 8.2.d, Customer shall, after termination or expiration of this Agreement, retain a limited license to the Maxim Proprietary Software, to use any Maxim-provided Source Code and Object Code versions of Maxim Proprietary Software internally and only at the Site(s) for the sole purpose of maintaining or supporting a Maxim-Enabled Product that was shipped in conjunction with an Object Code version of a Customer Program during the Term of this Agreement.
 9. Warranty Disclaimer.
-TO THE EXTENT PERMITTED BY LAW, THE SOFTWARE AND ALL SERVICES ARE PROVIDED "AS IS" AND "WITH ALL FAULTS." NEITHER MAXIM
-NOR ITS SUPPLIERS MAKES ANY WARRANTIES, EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE, INCLUDING BUT NOT LIMITED TO WARRANT
-IES OF MERCHANTABILITY, TITLE, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. CUSTOMER MAY HAVE OTHER STATUTORY R
-IGHTS. HOWEVER, TO THE FULL EXTENT PERMITTED BY LAW, THE DURATION OF STATUTORILY REQUIRED WARRANTIES, IF ANY, SHALL BE L
-IMITED TO THE LIMITED WARRANTY PERIOD.
-
-10. Support & Maintenance. The Software is provided to Customer without any maintenance or support services. Ongoing mai
-ntenance and customer support for Customer's software that is based upon or includes portions of the Maxim Proprietary S
-oftware is the responsibility of the Customer. Maxim may provide to Customer, in Maxim's sole discretion, updates to the
- Software from time to time. Upon delivery, such updates to the Software are subject to the terms and conditions herein.
-
-11. Taxes. Customer agrees to pay any sales, value-added, withholding or other similar taxes and assessments imposed by
-applicable law that Maxim is required to pay based on the licenses Customer ordered, except for taxes based on Maxim's i
-ncome.
-
+TO THE EXTENT PERMITTED BY LAW, THE SOFTWARE AND ALL SERVICES ARE PROVIDED "AS IS" AND "WITH ALL FAULTS." NEITHER MAXIMNOR ITS SUPPLIERS MAKES ANY WARRANTIES, EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, TITLE, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. CUSTOMER MAY HAVE OTHER STATUTORY RIGHTS. HOWEVER, TO THE FULL EXTENT PERMITTED BY LAW, THE DURATION OF STATUTORILY REQUIRED WARRANTIES, IF ANY, SHALL BE LIMITED TO THE LIMITED WARRANTY PERIOD.
+10. Support & Maintenance. The Software is provided to Customer without any maintenance or support services. Ongoing maintenance and customer support for Customer's software that is based upon or includes portions of the Maxim Proprietary Software is the responsibility of the Customer. Maxim may provide to Customer, in Maxim's sole discretion, updates to the Software from time to time. Upon delivery, such updates to the Software are subject to the terms and conditions herein.
+11. Taxes. Customer agrees to pay any sales, value-added, withholding or other similar taxes and assessments imposed by applicable law that Maxim is required to pay based on the licenses Customer ordered, except for taxes based on Maxim's income.
 12. Limitation of Remedies and Damages.
-
-12.1. NEITHER PARTY IS LIABLE FOR ANY LOSS OF USE, LOST DATA, FAILURE OF SECURITY MECHANISMS, INTERRUPTION OF BUSINESS,
-OR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY KIND (INCLUDING LOST PROFITS), REGARDLESS OF THE F
-ORM OF ACTION, WHETHER IN CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY, OR OTHERWISE,
-EVEN IF INFORMED OF THE POSSIBILITY OF SUCH DAMAGES IN ADVANCE.
-
-12.2. NOTWITHSTANDING ANY OTHER PROVISION OF THIS AGREEMENT, MAXIM'S AND ITS LICENSORS' AND SUPPLIERS' ENTIRE CUMULATIVE
- LIABILITY UNDER THIS AGREEMENT TO CUSTOMER SHALL NOT EXCEED TEN U.S. DOLLARS ($10.00). 12.3. THIS SECTION 12 DOES NOT A
-PPLY TO CUSTOMER WITH RESPECT TO ANY CLAIM ARISING UNDER SECTION 3 (MAXIM PROPRIETARY SOFTWARE LICENSE GRANT), SECTION 6
- (REPRESENTATIONS AND WARRANTIES OF CUSTOMER), SECTION 13 (INDEMNIFICATION BY CUSTOMER) OR SECTION 14 (CONFIDENTIAL INFO
-RMATION). 12.4. The parties agree that the limitations specified in this Section 12 will survive and apply even if any l
-imited remedy specified in this Agreement is found to have failed of its essential purpose.
-
-13. Indemnification by Customer. Customer shall indemnify, defend, and hold Maxim and its Affiliates harmless from any a
-nd all claims, liabilities, damages, expenses (including reasonable attorney's fees and court, arbitration, and mediatio
-n costs), or associated proceedings ("Claims") in connection with, relating to, or which result from:
-
-a.any allegation of infringement of a third party's intellectual property rights with respect to any Customer Program or
- Maxim-Enabled Product, but excluding any such claim in either case to the extent based on the Software on a stand-alone
- basis,
-
-b.the sale, marketing, distribution, or manufacture of any Maxim-Enabled Product, but excluding any such claim to the ex
-tent based on the Software on a stand-alone basis, or c.Customer's breach of any provisions of Section 6 (Representation
-s and Warranties of Customer).
-Maxim shall give Customer prompt notice in writing of any such Claims and the authority, information, and reasonable ass
-istance (at Customer's expense) necessary to defend and settle such Claims, except that Maxim's failure to provide promp
-t notice will not relieve Customer of its indemnity obligations under this Section unless such failure materially prejud
-ices the defense of the Claim, and Customer will not enter into a settlement of the Claim without Maxim's prior written
-consent. If Customer does not diligently pursue resolution of the Claim or provide Maxim with reasonable assurance that
-it will diligently pursue resolution, then Maxim may, without in any way limiting its other rights or remedies, defend o
-r settle the Claim. Nothing herein shall limit or restrict Maxim's, its Affiliates', or its suppliers' rights to defend
-and protect their ownership and intellectual property rights in and to the Maxim Proprietary Software, in whole or in pa
-rt, in connection with any Claim. Each party agrees to provide reasonable cooperation to the other party in the defense
-or settlement of any such Claims, upon the reasonable request of the other party.
-
-14. Confidential Information. Each party agrees that all code, inventions, know-how, business, technical and financial i
-nformation it ("Receiving Party") obtains from the disclosing party ("Disclosing Party") constitute the confidential pro
-perty of the Disclosing Party ("Confidential Information"), provided that it is identified as confidential at the time o
-f disclosure or should be reasonably known by the Receiving Party to be Confidential Information due to the nature of th
-e information disclosed and the circumstances surrounding the disclosure. Any software, documentation, or technical info
-rmation provided by Maxim (or its agents)(excluding Open Source Software), performance information relating to the Maxim
- Proprietary Software, and the terms of this Agreement are deemed Confidential Information of Maxim without any marking
-or further designation. Except as expressly authorized herein, the Receiving Party will hold in confidence and not use o
-r disclose any Confidential Information. The Receiving Party's nondisclosure obligation does not apply to information th
-at the Receiving Party can document:
-
-a. was rightfully in its possession or known to it without the breach of any confidentiality obligations prior to receip
-t of the Confidential Information;
-
+12.1. NEITHER PARTY IS LIABLE FOR ANY LOSS OF USE, LOST DATA, FAILURE OF SECURITY MECHANISMS, INTERRUPTION OF BUSINESS, OR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY KIND (INCLUDING LOST PROFITS), REGARDLESS OF THE FORM OF ACTION, WHETHER IN CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY, OR OTHERWISE, EVEN IF INFORMED OF THE POSSIBILITY OF SUCH DAMAGES IN ADVANCE.
+12.2. NOTWITHSTANDING ANY OTHER PROVISION OF THIS AGREEMENT, MAXIM'S AND ITS LICENSORS' AND SUPPLIERS' ENTIRE CUMULATIVE LIABILITY UNDER THIS AGREEMENT TO CUSTOMER SHALL NOT EXCEED TEN U.S. DOLLARS ($10.00). 12.3. THIS SECTION 12 DOES NOT APPLY TO CUSTOMER WITH RESPECT TO ANY CLAIM ARISING UNDER SECTION 3 (MAXIM PROPRIETARY SOFTWARE LICENSE GRANT), SECTION 6 (REPRESENTATIONS AND WARRANTIES OF CUSTOMER), SECTION 13 (INDEMNIFICATION BY CUSTOMER) OR SECTION 14 (CONFIDENTIAL INFORMATION). 12.4. The parties agree that the limitations specified in this Section 12 will survive and apply even if any limited remedy specified in this Agreement is found to have failed of its essential purpose.
+13. Indemnification by Customer. Customer shall indemnify, defend, and hold Maxim and its Affiliates harmless from any and all claims, liabilities, damages, expenses (including reasonable attorney's fees and court, arbitration, and mediation costs), or associated proceedings ("Claims") in connection with, relating to, or which result from:
+a.any allegation of infringement of a third party's intellectual property rights with respect to any Customer Program or Maxim-Enabled Product, but excluding any such claim in either case to the extent based on the Software on a stand-alone basis,
+b.the sale, marketing, distribution, or manufacture of any Maxim-Enabled Product, but excluding any such claim to the extent based on the Software on a stand-alone basis, or c.Customer's breach of any provisions of Section 6 (Representations and Warranties of Customer). Maxim shall give Customer prompt notice in writing of any such Claims and the authority, information, and reasonable assistance (at Customer's expense) necessary to defend and settle such Claims, except that Maxim's failure to provide prompt notice will not relieve Customer of its indemnity obligations under this Section unless such failure materially prejudices the defense of the Claim, and Customer will not enter into a settlement of the Claim without Maxim's prior written consent. If Customer does not diligently pursue resolution of the Claim or provide Maxim with reasonable assurance that it will diligently pursue resolution, then Maxim may, without in any way limiting its other rights or remedies, defend or settle the Claim. Nothing herein shall limit or restrict Maxim's, its Affiliates', or its suppliers' rights to defendand protect their ownership and intellectual property rights in and to the Maxim Proprietary Software, in whole or in part, in connection with any Claim. Each party agrees to provide reasonable cooperation to the other party in the defenseor settlement of any such Claims, upon the reasonable request of the other party.
+14. Confidential Information. Each party agrees that all code, inventions, know-how, business, technical and financial information it ("Receiving Party") obtains from the disclosing party ("Disclosing Party") constitute the confidential property of the Disclosing Party ("Confidential Information"), provided that it is identified as confidential at the time of disclosure or should be reasonably known by the Receiving Party to be Confidential Information due to the nature of the information disclosed and the circumstances surrounding the disclosure. Any software, documentation, or technical information provided by Maxim (or its agents)(excluding Open Source Software), performance information relating to the Maxim Proprietary Software, and the terms of this Agreement are deemed Confidential Information of Maxim without any marking or further designation. Except as expressly authorized herein, the Receiving Party will hold in confidence and not use or disclose any Confidential Information. The Receiving Party's nondisclosure obligation does not apply to information that the Receiving Party can document:
+a. was rightfully in its possession or known to it without the breach of any confidentiality obligations prior to receipt of the Confidential Information;
 b. is or has become public knowledge through no fault of the Receiving Party;
 c. is rightfully obtained by the Receiving Party from a third party without breach of any confidentiality obligation;
 d. is independently developed by employees of the Receiving Party who had no access to such information; or
-e. is required to be disclosed pursuant to a regulation, law, or court order (but only to the minimum extent required to
- comply with such regulation or order and with advance written notice to the Disclosing Party).
-
+e. is required to be disclosed pursuant to a regulation, law, or court order (but only to the minimum extent required to comply with such regulation or order and with advance written notice to the Disclosing Party).
 15. General.
-
-15.1. Assignment and Delegation. Customer may not assign its rights or delegate its obligations ("Assign" or "Assignment
-") under this Agreement without the prior written consent of Maxim, and any purported Assignment without such consent sh
-all have no force or effect. In the event, Customer desires to Assign this Agreement to a successor in interest by merge
-r or acquisition of its entire business, Customer shall obtain Maxim's prior written approval, which shall be rendered b
-y Maxim in its sole discretion. Subject to the foregoing, this Agreement shall bind and inure to the benefit of the resp
-ective parties hereto and their permitted successors and assigns. In the event of an Assignment or attempted Assignment
-by Customer without Maxim's prior written approval, Maxim may, in its sole discretion, immediately terminate this Agreem
-ent.
-
-15.2. Severability. If any provision of this Agreement is adjudged by any court of competent jurisdiction to be unenforc
-eable or invalid, that provision is limited to the minimum extent necessary so that this Agreement shall otherwise remai
-n in effect.
-
-15.3. Governing Law; Jurisdiction and Venue. This Agreement is governed by the laws of the State of California and the U
-nited States without regard to conflicts of laws provisions thereof, and without regard to the United Nations Convention
- on the International Sale of Goods. The parties agree to submit any claim or actions arising from and/or related to thi
-s Agreement to the exclusive jurisdiction and venue of the Superior Court of California, Santa Clara County or the Unite
-d States District Court for the Northern District of California, San Jose Branch and agree to waive any right to assert
-the defense of forum non conveniens or to object to such venue in any such proceeding.
-
+15.1. Assignment and Delegation. Customer may not assign its rights or delegate its obligations ("Assign" or "Assignment") under this Agreement without the prior written consent of Maxim, and any purported Assignment without such consent shall have no force or effect. In the event, Customer desires to Assign this Agreement to a successor in interest by merger or acquisition of its entire business, Customer shall obtain Maxim's prior written approval, which shall be rendered by Maxim in its sole discretion. Subject to the foregoing, this Agreement shall bind and inure to the benefit of the respective parties hereto and their permitted successors and assigns. In the event of an Assignment or attempted Assignment by Customer without Maxim's prior written approval, Maxim may, in its sole discretion, immediately terminate this Agreement.
+15.2. Severability. If any provision of this Agreement is adjudged by any court of competent jurisdiction to be unenforceable or invalid, that provision is limited to the minimum extent necessary so that this Agreement shall otherwise remain in effect.
+15.3. Governing Law; Jurisdiction and Venue. This Agreement is governed by the laws of the State of California and the United States without regard to conflicts of laws provisions thereof, and without regard to the United Nations Convention on the International Sale of Goods. The parties agree to submit any claim or actions arising from and/or related to this Agreement to the exclusive jurisdiction and venue of the Superior Court of California, Santa Clara County or the United States District Court for the Northern District of California, San Jose Branch and agree to waive any right to assertthe defense of forum non conveniens or to object to such venue in any such proceeding.
 15.4. Notices and Reports. Any notice or report to Maxim hereunder shall be in writing to the following notice address:
 Maxim Integrated Products, Inc.
 160 Rio Robles
 San Jose, CA 95134
 Attn: General Counsel
 Any notice or report shall be deemed given:
-
 a. upon receipt if by personal delivery;
-
 b. upon receipt if sent by certified or registered mail (return receipt requested); or
-
 c. one day after it is sent if by next day delivery by a major commercial delivery service.
-
-15.5. Amendments; Waivers. No supplement, modification, or amendment of this Agreement is binding, unless executed in wr
-iting by a duly authorized representative of each party to this Agreement. No waiver will be implied from conduct or fai
-lure to enforce or exercise rights under this Agreement, nor will any waiver be effective unless in a writing signed by
-a duly authorized representative on behalf of the party claimed to have waived. No provision of any purchase order or ot
-her business form employed by Customer will supersede the terms and conditions of this Agreement, and any such document
-relating to this Agreement is for administrative purposes only and shall have no legal effect.
-
-15.6. Entire Agreement. This Agreement is the complete and exclusive statement of the mutual understanding of the partie
-s and supersedes and cancels all previous written and oral agreements and communications relating to the subject matter
-of this Agreement.
-
-15.7. Audit Rights. Upon Maxim's written request, Customer shall certify in a signed writing that Customer's use of the
-Software is in full compliance with the terms of this Agreement (including any copy and user limitations). With prior re
-asonable notice, Maxim may audit the copies of the Software in use by
-Customer provided such audit is during regular business hours; Customer is responsible for such audit costs only in the
-event the audit reveals that Customer's use is not in accordance with the applicable license(s).
-
-15.8. Independent Contractors. The parties to this Agreement are independent contractors. There is no relationship of pa
-rtnership, joint venture, employment, franchise, or agency created hereby between the parties. Neither party will have t
-he power to bind the other or incur obligations on the other party's behalf without the other party's prior written cons
-ent.
-
-15.9. Force Majeure. Neither party is liable to the other for any delay or failure to perform any obligation under this
-Agreement if the delay or failure is due to events that are beyond the reasonable control of such party, including but n
-ot limited to any strike, blockade, war, act of terrorism, riot, natural disaster, failure or diminishment of power, tel
-ecommunications, data networks or services, or refusal of approval or license by a government agency.
-
-15.10. Government End-Users. If the user or licensee of the Software is an agency, department, or other entity of the Un
-ited States Government, the use, duplication, reproduction, release, modification, disclosure, or transfer of this Softw
-are, or any related documentation of any kind, including technical data and manuals, is restricted by a license agreemen
-t or by the terms of this Agreement in accordance with Federal Acquisition Regulation 12.212 for civilian purposes and D
-efense Federal Acquisition Regulation Supplement 227.7202 for military purposes.
-
-15.11. Export Compliance. Customer acknowledges that the Software is subject to export restrictions by the United States
- government and import restrictions by certain foreign governments. Customer shall not and shall not allow any third-par
-ty to remove or export from the United States or allow the export or re-export of any part of the Software or any direct
- product thereof:
-
+15.5. Amendments; Waivers. No supplement, modification, or amendment of this Agreement is binding, unless executed in writing by a duly authorized representative of each party to this Agreement. No waiver will be implied from conduct or failure to enforce or exercise rights under this Agreement, nor will any waiver be effective unless in a writing signed by a duly authorized representative on behalf of the party claimed to have waived. No provision of any purchase order or other business form employed by Customer will supersede the terms and conditions of this Agreement, and any such document relating to this Agreement is for administrative purposes only and shall have no legal effect.
+15.6. Entire Agreement. This Agreement is the complete and exclusive statement of the mutual understanding of the parties and supersedes and cancels all previous written and oral agreements and communications relating to the subject matter of this Agreement.
+15.7. Audit Rights. Upon Maxim's written request, Customer shall certify in a signed writing that Customer's use of the Software is in full compliance with the terms of this Agreement (including any copy and user limitations). With prior reasonable notice, Maxim may audit the copies of the Software in use by Customer provided such audit is during regular business hours; Customer is responsible for such audit costs only in the event the audit reveals that Customer's use is not in accordance with the applicable license(s).
+15.8. Independent Contractors. The parties to this Agreement are independent contractors. There is no relationship of partnership, joint venture, employment, franchise, or agency created hereby between the parties. Neither party will have the power to bind the other or incur obligations on the other party's behalf without the other party's prior written consent.
+15.9. Force Majeure. Neither party is liable to the other for any delay or failure to perform any obligation under this Agreement if the delay or failure is due to events that are beyond the reasonable control of such party, including but not limited to any strike, blockade, war, act of terrorism, riot, natural disaster, failure or diminishment of power, telecommunications, data networks or services, or refusal of approval or license by a government agency.
+15.10. Government End-Users. If the user or licensee of the Software is an agency, department, or other entity of the United States Government, the use, duplication, reproduction, release, modification, disclosure, or transfer of this Software, or any related documentation of any kind, including technical data and manuals, is restricted by a license agreement or by the terms of this Agreement in accordance with Federal Acquisition Regulation 12.212 for civilian purposes and Defense Federal Acquisition Regulation Supplement 227.7202 for military purposes.
+15.11. Export Compliance. Customer acknowledges that the Software is subject to export restrictions by the United States government and import restrictions by certain foreign governments. Customer shall not and shall not allow any third-party to remove or export from the United States or allow the export or re-export of any part of the Software or any direct product thereof:
 a. into (or to a national or resident of) any embargoed or terrorist-supporting country;
+b. to anyone on the U.S. Commerce Department's Table of Denial Orders or U.S. Treasury Department's list of Specially Designated Nationals;
+c. to any country to which such export or re-export is restricted or prohibited, or as to which the United States government or any agency thereof requires an export license or other governmental approval at the time of export or re-export without first obtaining such license or approval; or
+d. otherwise in violation of any export or import restrictions, laws, or regulations of any United States or foreign agency or authority. Customer agrees to the foregoing and warrants that it is not located in, under the control of, or a national or resident of any such prohibited country or on any such prohibited party list. The Software is further restricted from being used for the design or development of nuclear, chemical, or biological weapons or missile technology, or for terrorist activity, without the prior permission of the United States government.
+15.12. Injunctive Relief. Customer understands and agrees that, notwithstanding any other provision of this Agreement, breach of the provisions of this Agreement by Customer will cause Maxim irreparable damage for which recovery of money damages would be inadequate, and that Maxim shall therefore be entitled to obtain timely equitable relief, including but not limited to injunctive relief, to protect Maxim's rights under this Agreement in addition to any and all remedies available at law.
 
-b. to anyone on the U.S. Commerce Department's Table of Denial Orders or U.S. Treasury Department's list of Specially De
-signated Nationals;
-
-c. to any country to which such export or re-export is restricted or prohibited, or as to which the United States
-government or any agency thereof requires an export license or other governmental approval at the time of export or
-re-export without first obtaining such license or approval; or
-
-d. otherwise in violation of any export or import restrictions, laws, or regulations of any United States or foreign age
-ncy or authority. Customer agrees to the foregoing and warrants that it is not located in, under the control of, or a na
-tional or resident of any such prohibited country or on any such prohibited party list. The Software is further restrict
-ed from being used for the design or development of nuclear, chemical, or biological weapons or missile technology, or f
-or terrorist activity, without the prior permission of the United States government.
-
-15.12. Injunctive Relief. Customer understands and agrees that, notwithstanding any other provision of this Agreement, b
-reach of the provisions of this Agreement by Customer will cause Maxim irreparable damage for which recovery of money da
-mages would be inadequate, and that Maxim shall therefore be entitled to obtain timely equitable relief, including but n
-ot limited to injunctive relief, to protect Maxim's rights under this Agreement in addition to any and all remedies avai
-lable at law.
diff --git a/licenses/LICENSE.nec-ppds b/licenses/LICENSE.nec-ppds
new file mode 100644
index 0000000..29aff09
--- /dev/null
+++ b/licenses/LICENSE.nec-ppds
@@ -0,0 +1,32 @@
+NEC MultiWriter PS PPD for Chrome OS
+
+===============================================================================
+License Agreement
+===============================================================================
+
+The license agreement for this PPD file (hereinafter referred to as the PPD FILE) is described as follows.
+
+1. Intellectual property rights in the PPD FILE shall remain in Fuji Xerox Co., Ltd. (hereinafter referred to as Fuji Xerox) as well as the original copyright holders.
+
+2. The PPD FILE can only be used with compatible NEC MultiWriter products (hereinafter referred to as the COMPATIBLE PRODUCTS) within the country of purchase of the COMPATIBLE PRODUCTS.
+
+3. You are required to abide by the cautions and limitations (hereinafter referred to as the CAUTIONS AND LIMITATIONS) declared by NEC Corporation (hereinafter referred to as NEC) and Fuji Xerox while using the PPD FILE.
+
+4. You are not permitted to alter or modify the whole or any part of the PPD FILE.
+
+5. You are not permitted to distribute the PPD FILE on a communication network, or transfer, sell, rent or license the PPD FILE to any third party.
+
+6. NEC, Fuji Xerox, NEC's channel partners and authorized dealers, and the original copyright holders of the PPD FILE shall not be responsible for any warranty or liability with respect to the PPD FILE.
+
+---------------------------------------------------
+Cautions and Limitations
+---------------------------------------------------
+* Caution for printing odd-number pages with 2-Sided Printing
+   If you are printing documents with odd-number of pages, a blank page may be added to the last page depending on the settings of the operating system  (referred to as "OS" hereinafter). Some application software will automatically insert blank sheet for page adjustment according to the condition for specifying print quantities. As this behavior is a specification of the application software, it is not possible to configure this software or the device to prevent blank sheet from being inserted to the printout. The target device will print the data as it is received after it is edited and printed from the client's side according to the operating system or application software specification. If the document data to be printed consist of blank-sheet data inserted by the operating system or application software, this blank sheet will be counted as part of the print data.
+
+* Caution for printing black and white document
+   Depending on the application program, black and white document may be printed in color as black can be output in process black (C=M=Y). To prevent this, it is recommended to set [Color] to [Black & White] when printing black and white documents.
+
+
+-------------------------------------------------------------------------------
+(C) Fuji Xerox Co., Ltd. 2020
diff --git a/licenses/OWNERS b/licenses/OWNERS
index ada4ada..8f9e52a 100644
--- a/licenses/OWNERS
+++ b/licenses/OWNERS
@@ -1,2 +1 @@
-set noparent
 include chromiumos/overlays/portage-stable:/licenses/OWNERS
diff --git a/licenses/copyright-attribution/app-shells/quoter b/licenses/copyright-attribution/app-shells/quoter
new file mode 100644
index 0000000..21dcf6a
--- /dev/null
+++ b/licenses/copyright-attribution/app-shells/quoter
@@ -0,0 +1,20 @@
+Copyright (c) Martin Väth <martin@mvath.de>
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE.
diff --git a/licenses/copyright-attribution/dev-python/pypy3-exe-bin b/licenses/copyright-attribution/dev-python/pypy3-exe-bin
new file mode 100644
index 0000000..1e1db54
--- /dev/null
+++ b/licenses/copyright-attribution/dev-python/pypy3-exe-bin
@@ -0,0 +1,571 @@
+#encoding utf-8
+
+License
+=======
+
+Except when otherwise stated (look for LICENSE files in directories
+or information at the beginning of each file) all software and
+documentation in the 'rpython', 'pypy', 'ctype_configure', 'dotviewer',
+'demo', 'extra_tests', 'include', 'lib_pypy', 'py', and '_pytest'
+directories is licensed as follows:
+
+    The MIT License
+
+    Permission is hereby granted, free of charge, to any person
+    obtaining a copy of this software and associated documentation
+    files (the "Software"), to deal in the Software without
+    restriction, including without limitation the rights to use,
+    copy, modify, merge, publish, distribute, sublicense, and/or
+    sell copies of the Software, and to permit persons to whom the
+    Software is furnished to do so, subject to the following conditions:
+
+    The above copyright notice and this permission notice shall be included
+    in all copies or substantial portions of the Software.
+
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+    OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+    THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+    DEALINGS IN THE SOFTWARE.
+
+
+PyPy Copyright holders 2003-2020
+--------------------------------
+
+Except when otherwise stated (look for LICENSE files or information at
+the beginning of each file) the files in the 'pypy' directory are each
+copyrighted by one or more of the following people and organizations:
+
+  Armin Rigo
+  Maciej Fijalkowski
+  Carl Friedrich Bolz-Tereick
+  Matti Picus
+  Antonio Cuni
+  Amaury Forgeot d'Arc
+  Ronan Lamy
+  Samuele Pedroni
+  Alex Gaynor
+  Philip Jenvey
+  Richard Plangger
+  Brian Kearns
+  Manuel Jacob
+  Michael Hudson-Doyle
+  David Schneider
+  Holger Krekel
+  Christian Tismer
+  Hakan Ardo
+  Benjamin Peterson
+  Anders Chrigstrom
+  Wim Lavrijsen
+  Eric van Riet Paap
+  Remi Meier
+  Richard Emslie
+  Alexander Schremmer
+  Dan Villiom Podlaski Christiansen
+  Lukas Diekmann
+  Sven Hager
+  Anders Lehmann
+  Aurelien Campeas
+  Niklaus Haldimann
+  Camillo Bruni
+  Laura Creighton
+  Toon Verwaest
+  Leonardo Santagada
+  Seo Sanghyeon
+  Romain Guillebert
+  Ronny Pfannschmidt
+  Justin Peel
+  Raffael Tfirst
+  David Edelsohn
+  Anders Hammarquist
+  Jakub Gustak
+  Gregor Wegberg
+  Guido Wesdorp
+  Lawrence Oluyede
+  Bartosz Skowron
+  Daniel Roberts
+  Adrien Di Mascio
+  Niko Matsakis
+  Alexander Hesse
+  Ludovic Aubry
+  stian
+  Jacob Hallen
+  Jason Creighton
+  Mark Young
+  Andrew Lawrence
+  Alex Martelli
+  Spenser Bauman
+  Michal Bendowski
+  Jan de Mooij
+  Stefan Beyer
+  Stefano Rivera
+  Tyler Wade
+  Vincent Legoll
+  Michael Foord
+  Stephan Diehl
+  Jean-Paul Calderone
+  Stefan Schwarzer
+  Tomek Meka
+  Valentino Volonghi
+  Patrick Maupin
+  Devin Jeanpierre
+  Bob Ippolito
+  Bruno Gola
+  David Malcolm
+  Squeaky
+  Edd Barrett
+  Timo Paulssen
+  Laurence Tratt
+  Marius Gedminas
+  Nicolas Truessel
+  Alexandre Fayolle
+  Simon Burton
+  Martin Matusiak
+  Wenzhu Man
+  Konstantin Lopuhin
+  John Witulski
+  Yannick Jadoul
+  Jeremy Thurgood
+  Greg Price
+  Ivan Sichmann Freitas
+  Dario Bertini
+  Mark Pearse
+  Simon Cross
+  Tobias Pape
+  Andreas Stührk
+  Jean-Philippe St. Pierre
+  Stian Andreassen
+  Guido van Rossum
+  Pavel Vinogradov
+  Julian Berman
+  William Leslie
+  Paweł Piotr Przeradowski
+  marky1991
+  Ilya Osadchiy
+  Tobias Oberstein
+  Paul deGrandis
+  Boris Feigin
+  Taavi Burns
+  Adrian Kuhn
+  tav
+  Joannah Nanjekye
+  Georg Brandl
+  quejebo
+  Bert Freudenberg
+  Wanja Saatkamp
+  Mike Blume
+  Gerald Klix
+  Oscar Nierstrasz
+  Rami Chowdhury
+  Stefan H. Muller
+  Dodan Mihai
+  Tim Felgentreff
+  Eugene Oden
+  Colin Valliant
+  Jeff Terrace
+  Henry Mason
+  Vasily Kuznetsov
+  Preston Timmons
+  David Ripton
+  Pieter Zieschang
+  Dusty Phillips
+  Lukas Renggli
+  Guenter Jantzen
+  Jasper Schulz
+  Ned Batchelder
+  Amit Regmi
+  Anton Gulenko
+  Sergey Matyunin
+  Andrew Chambers
+  Łukasz Langa
+  Nicolas Chauvat
+  Andrew Durdin
+  Ben Young
+  Michael Schneider
+  Yusuke Tsutsumi
+  Nicholas Riley
+  Jason Chu
+  Igor Trindade Oliveira
+  Yichao Yu
+  Michael Twomey
+  Rocco Moretti
+  Gintautas Miliauskas
+  Lucian Branescu Mihaila
+  Mariano Anaya
+  anatoly techtonik
+  Lin Cheng
+  Karl Bartel
+  Gabriel Lavoie
+  Jared Grubb
+  Alecsandru Patrascu
+  Olivier Dormond
+  Wouter van Heyst
+  Sebastian Pawluś
+  Brian Dorsey
+  Victor Stinner
+  Andrews Medina
+  Aaron Iles
+  Toby Watson
+  Daniel Patrick
+  Stuart Williams
+  Antoine Pitrou
+  Christian Hudon
+  Justas Sadzevicius
+  Neil Shepperd
+  Michael Cheng
+  Mikael Schönenberg
+  Stanislaw Halik
+  Mihnea Saracin
+  Matt Jackson
+  Berkin Ilbeyi
+  Gasper Zejn
+  Faye Zhao
+  Elmo Mäntynen
+  Anders Qvist
+  Corbin Simpson
+  Chirag Jadwani
+  Mike Pavone
+  Pauli Virtanen
+  Jonathan David Riehl
+  Beatrice During
+  Alex Perry
+  Robert Zaremba
+  Alan McIntyre
+  Alexander Sedov
+  David C Ellis
+  Vaibhav Sood
+  Reuben Cummings
+  Attila Gobi
+  Floris Bruynooghe
+  Christopher Pope
+  Tristan Arthur
+  Christian Tismer 
+  Dan Stromberg
+  Carl Meyer
+  Florin Papa
+  Arianna Avanzini
+  Jens-Uwe Mager
+  Valentina Mukhamedzhanova
+  Stefano Parmesan
+  touilleMan
+  Anthony Sottile
+  Marc Abramowitz
+  Arjun Naik
+  Aaron Gallagher
+  Alexis Daboville
+  Karl Ramm
+  Lukas Vacek
+  Omer Katz
+  Jacek Generowicz
+  Tomasz Dziopa
+  Sylvain Thenault
+  Jakub Stasiak
+  Andrew Dalke
+  Alejandro J. Cura
+  Vladimir Kryachko
+  Gabriel
+  Thomas Hisch
+  Mark Williams
+  Kunal Grover
+  Nathan Taylor
+  Barry Hart
+  Travis Francis Athougies
+  Yasir Suhail
+  Sergey Kishchenko
+  Martin Blais
+  Catalin Fierut
+  Lutz Paelike
+  Ian Foote
+  Philipp Rustemeuer
+  Bernd Schoeller
+  olliemath
+  Logan Chien
+  Catalin Gabriel Manciu
+  Jacob Oscarson
+  Ryan Gonzalez
+  Antoine Dupre
+  Kristjan Valur Jonsson
+  Lucio Torre
+  Richard Lancaster
+  Dan Buch
+  Lene Wagner
+  Tomo Cocoa
+  Miro Hrončok
+  David Lievens
+  Neil Blakey-Milner
+  Henrik Vendelbo
+  Lars Wassermann
+  Ignas Mikalajunas
+  Christoph Gerum
+  Miguel de Val Borro
+  Artur Lisiecki
+  joserubiovidales@gmail.com
+  afteryu
+  Toni Mattis
+  Vincent Michel
+  Laurens Van Houtven
+  Bobby Impollonia
+  Roberto De Ioris
+  Sreepathi Pai
+  Jeong YunWon
+  dakarpov@gmail.com
+  Christopher Armstrong
+  Aaron Tubbs
+  Vasantha Ganesh K
+  Jason Michalski
+  Radu Ciorba
+  Ryan Hileman
+  Markus Holtermann
+  Georges Racinet
+  Andrew Thompson
+  Yusei Tahara
+  Ruochen Huang
+  Fabio Niephaus
+  Akira Li
+  Gustavo Niemeyer
+  joachim-ballmann@bitbucket.org
+  Nate Bragg
+  Lucas Stadler
+  roberto@goyle
+  Carl Bordum Hansen
+  Matt Bogosian
+  Yury V. Zaytsev
+  florinpapa
+  Anders Sigfridsson
+  Nikolay Zinov
+  rafalgalczynski@gmail.com
+  Joshua Gilbert
+  Anna Katrina Dominguez
+  Kim Jin Su
+  Amber Brown
+  Andrew Stepanov
+  ashwinahuja
+  Rafał Gałczyński
+  Ben Darnell
+  Juan Francisco Cantero Hurtado
+  Godefroid Chappelle
+  Paul Ganssle
+  Michal Kuffa
+  Stephan Busemann
+  Bystroushaak
+  Dan Colish
+  Ram Rachum
+  timo
+  Volodymyr Vladymyrov
+  Daniel Neuhäuser
+  Flavio Percoco
+  halgari
+  Jim Baker
+  Chris Lambacher
+  John Aldis
+  coolbutuseless@gmail.com
+  Yasen Kiprov
+  Mike Bayer
+  Rodrigo Araújo
+  Daniil Yarancev
+  Min RK
+  OlivierBlanvillain
+  bernd.schoeller@inf.ethz.ch
+  Jonas Pfannschmidt
+  Alex Kashirin
+  Zearin
+  Joannah Nanjekye nanjekyejoannah@gmail.com
+  Ihar Shabes
+  Johan Forsberg
+  Andrey Churin
+  Dan Crosta
+  reubano@gmail.com
+  Stanisław Halik
+  DeVerne Jones
+  Julien Phalip
+  Roman Podoliaka
+  Steve Papanik
+  Henri Tuhola
+  Eli Stevens
+  Boglarka Vezer
+  gabrielg@ec2-54-146-239-158.compute-1.amazonaws.com
+  PavloKapyshin
+  Hervé Beraud
+  Tomer Chachamu
+  Christopher Groskopf
+  Asmo Soinio
+  Antony Lee
+  Jim Hunziker
+  shoma hosaka
+  Buck Golemon
+  whitequark
+  Iraklis D.
+  JohnDoe
+  yrttyr
+  Michael Chermside
+  Anna Ravencroft
+  remarkablerocket
+  Ivan
+  Petre Vijiac
+  Berker Peksag
+  Christian Muirhead
+  soareschen
+  Matthew Miller
+  Jesdi
+  Konrad Delong
+  Dinu Gherman
+  Sam Edwards
+  pizi
+  Tomáš Pružina
+  James Robert
+  Armin Ronacher
+  Diana Popa
+  Mike Kaplinskiy
+  Mads Kiilerich
+  Brett Cannon
+  Caleb Hattingh
+  aliceinwire
+  Zooko Wilcox-O Hearn
+  James Lan
+  jiaaro
+  Evgenii Gorinov
+  Markus Unterwaditzer
+  Kristoffer Kleine
+  Graham Markall
+  paugier
+  Dan Loewenherz
+  werat
+  Filip Salomonsson
+  Niclas Olofsson
+  Zsolt Cserna
+  Chris Pressey
+  Tobias Diaz
+  Paul Graydon
+  mkuffa
+  Nikolaos-Digenis Karagiannis
+  Kurt Griffiths
+  Ben Mather
+  Donald Stufft
+  kotus9
+  Dan Sanders
+  Jason Madden
+  Yaroslav Fedevych
+  Even Wiik Thomassen
+  m@funkyhat.org
+  Stefan Marr
+
+  Heinrich-Heine University, Germany
+  Open End AB (formerly AB Strakt), Sweden
+  merlinux GmbH, Germany
+  tismerysoft GmbH, Germany
+  Logilab Paris, France
+  DFKI GmbH, Germany
+  Impara, Germany
+  Change Maker, Sweden
+  University of California Berkeley, USA
+  Google Inc.
+  King's College London
+
+The PyPy Logo as used by http://speed.pypy.org and others was created
+by Samuel Reis and is distributed on terms of Creative Commons Share Alike
+License.
+
+License for 'lib-python/2.7, lib-python/3'
+==========================================
+
+Except when otherwise stated (look for LICENSE files or copyright/license
+information at the beginning of each file) the files in the 'lib-python'
+directory are all copyrighted by the Python Software Foundation and licensed
+under the terms that you can find here: https://docs.python.org/3/license.html
+
+License for 'pypy/module/unicodedata/'
+======================================
+
+The following files are from the website of The Unicode Consortium
+at http://www.unicode.org/.  For the terms of use of these files, see
+http://www.unicode.org/terms_of_use.html .  Or they are derived from
+files from the above website, and the same terms of use apply.
+
+    CompositionExclusions-*.txt
+    EastAsianWidth-*.txt
+    LineBreak-*.txt
+    UnicodeData-*.txt
+    UnihanNumeric-*.txt
+
+License for 'dotviewer/font/'
+=============================
+
+Copyright (C) 2008 The Android Open Source Project
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Detailed license information is contained in the NOTICE file in the
+directory.
+
+
+Licenses and Acknowledgements for Incorporated Software
+=======================================================
+
+This section is an incomplete, but growing list of licenses and
+acknowledgements for third-party software incorporated in the PyPy
+distribution.
+
+License for 'Tcl/Tk'
+--------------------
+
+This copy of PyPy contains library code that may, when used, result in
+the Tcl/Tk library to be loaded.  PyPy also includes code that may be
+regarded as being a copy of some parts of the Tcl/Tk header files.
+You may see a copy of the License for Tcl/Tk in the file
+`lib_pypy/_tkinter/license.terms` included here.
+
+License for 'bzip2'
+-------------------
+
+This copy of PyPy may be linked (dynamically or statically) with the
+bzip2 library.  You may see a copy of the License for bzip2/libbzip2 at
+
+    http://www.bzip.org/1.0.5/bzip2-manual-1.0.5.html
+
+License for 'openssl'
+---------------------
+
+This copy of PyPy may be linked (dynamically or statically) with the
+openssl library.  You may see a copy of the License for OpenSSL at
+
+    https://www.openssl.org/source/license.html
+
+License for '_gdbm'
+------------------
+
+The _gdbm module includes code from gdbm.h, which is distributed under
+the terms of the GPL license version 2 or any later version.  Thus the
+_gdbm module, provided in the file lib_pypy/_gdbm.py, is redistributed
+under the terms of the GPL license as well.
+
+License for 'rpython/rlib/rvmprof/src'
+--------------------------------------
+
+The code is based on gperftools. You may see a copy of the License for it at
+
+    https://github.com/gperftools/gperftools/blob/master/COPYING
+
+License for 'liblzma and 'lzmaffi'
+----------------------------------
+
+This copy of PyPy may be linked (dynamically or statically) with the
+liblzma library, which was put in the "public domain":
+
+    http://tukaani.org/xz/
+
+The cffi bindings to liblzma (in lib_pypy/_lzma.py) are derived from
+the lzmaffi project which is distributed under a BSD license:
+
+    https://pypi.python.org/pypi/lzmaffi/0.3.0
diff --git a/licenses/copyright-attribution/dev-rust/jsonschema b/licenses/copyright-attribution/dev-rust/jsonschema
new file mode 100644
index 0000000..9652ee9
--- /dev/null
+++ b/licenses/copyright-attribution/dev-rust/jsonschema
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2020-2022 Dmitry Dygalo
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/licenses/copyright-attribution/dev-rust/number_prefix b/licenses/copyright-attribution/dev-rust/number_prefix
new file mode 100644
index 0000000..c38fffa
--- /dev/null
+++ b/licenses/copyright-attribution/dev-rust/number_prefix
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2018 Benjamin Sago
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/licenses/copyright-attribution/dev-rust/rustyline-derive b/licenses/copyright-attribution/dev-rust/rustyline-derive
new file mode 100644
index 0000000..9105577
--- /dev/null
+++ b/licenses/copyright-attribution/dev-rust/rustyline-derive
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2015 Katsu Kawakami & Rustyline authors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/licenses/copyright-attribution/x11-libs/xcb-util-keysyms b/licenses/copyright-attribution/x11-libs/xcb-util-keysyms
new file mode 100644
index 0000000..765a0d1
--- /dev/null
+++ b/licenses/copyright-attribution/x11-libs/xcb-util-keysyms
@@ -0,0 +1,30 @@
+/*
+ * Copyright © 2008 Ian Osgood <iano@quirkster.com>
+ * Copyright © 2008 Jamey Sharp <jamey@minilop.net>
+ * Copyright © 2008 Josh Triplett <josh@freedesktop.org>
+ * Copyright © 2008 Ulrich Eckhardt <doomster@knuut.de>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
diff --git a/media-fonts/OWNERS b/media-fonts/OWNERS
index b1528c5..96b3482 100644
--- a/media-fonts/OWNERS
+++ b/media-fonts/OWNERS
@@ -1,3 +1,4 @@
+skau@chromium.org
 oshima@chromium.org
 sgabriel@chromium.org
 
diff --git a/media-fonts/ipaex/Manifest b/media-fonts/ipaex/Manifest
new file mode 100644
index 0000000..6942624
--- /dev/null
+++ b/media-fonts/ipaex/Manifest
@@ -0,0 +1,2 @@
+DIST IPAexfont00201.zip 9764230 BLAKE2B ca059ee52fdacc444a971ed63371a03af98ae37210b2a46f4055abed49b27ca61f4c617098bfeb902426a7b51551dd92d8e864bae251fd047089b1f3abffc8cb SHA512 d23c4d320b0d69067f65054d8e14f8b65dc06f545d1c021f6146f34d980c1e655ed070d4d520ed810272fc7f7f6dd906b3e0da4d89514d8f3fcd2be83a3961d7
+DIST IPAexfont00401.zip 9738669 BLAKE2B dcf7d019157dc8907ee7595837728c82038b1276c336bdff7e410722591f1f32bd2e2559c383f637bd9935f911d9f274a5dc28e9432989bb233b5e15980b088a SHA512 fe639ded0a25eed66df8cc1e9d5e965b501574a25fab542a749b3cb8464690448e44343ff5845aecd3224ec481c4089ee56e64880cbbc9211a260b22d4cc68cd
diff --git a/media-fonts/ipaex/ipaex-004.01-r1.ebuild b/media-fonts/ipaex/ipaex-004.01-r1.ebuild
new file mode 120000
index 0000000..a221145
--- /dev/null
+++ b/media-fonts/ipaex/ipaex-004.01-r1.ebuild
@@ -0,0 +1 @@
+ipaex-004.01.ebuild
\ No newline at end of file
diff --git a/media-fonts/ipaex/ipaex-004.01.ebuild b/media-fonts/ipaex/ipaex-004.01.ebuild
new file mode 100644
index 0000000..3db5b04
--- /dev/null
+++ b/media-fonts/ipaex/ipaex-004.01.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit font
+
+MY_P="IPAexfont${PV/.}"
+
+DESCRIPTION="Japanese IPA extended TrueType fonts"
+HOMEPAGE="https://moji.or.jp/ipafont/"
+SRC_URI="https://moji.or.jp/wp-content/ipafont/IPAexfont/${MY_P}.zip"
+
+LICENSE="IPAfont"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+RESTRICT="binchecks strip"
+
+BDEPEND="app-arch/unzip"
+S="${WORKDIR}/${MY_P}"
+
+FONT_SUFFIX="ttf"
+FONTDIR="/usr/share/fonts/ipa-jp"
+
+src_prepare() {
+	default
+	# Remove IPAexGothic since it's too big.
+	rm "${S}/ipaexg.ttf" || die
+}
+
+src_install() {
+	font_src_install
+}
diff --git a/media-fonts/ipaex/metadata.xml b/media-fonts/ipaex/metadata.xml
new file mode 100644
index 0000000..ed2a6b4
--- /dev/null
+++ b/media-fonts/ipaex/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="project">
+		<email>fonts@gentoo.org</email>
+		<name>Fonts</name>
+	</maintainer>
+	<maintainer type="project">
+		<email>cjk@gentoo.org</email>
+		<name>Cjk</name>
+	</maintainer>
+	<stabilize-allarches/>
+</pkgmetadata>
diff --git a/media-fonts/metadata.xml b/media-fonts/metadata.xml
deleted file mode 100644
index 01248fc..0000000
--- a/media-fonts/metadata.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The media-fonts category contains fonts.
-	</longdescription>
-	<longdescription lang="de">
-	        Die Kategorie media-fonts enthält verschiedene Font-Pakete.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría media-fonts contiene fuentes.
-	</longdescription>
-	<longdescription lang="ja">
-		media-fontsカテゴリーにはフォントが含まれています。
-	</longdescription>
-	<longdescription lang="nl">
-		De media-fonts categorie bevat lettertypes.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm media-fonts chứa các phông chữ.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria media-fonts contiene fonti tipografiche.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria media-fonts contém fontes.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria media-fonts zawiera czcionki.
-	</longdescription>
-</catmetadata>
-
diff --git a/media-fonts/morisawa-ud-fonts/Manifest b/media-fonts/morisawa-ud-fonts/Manifest
new file mode 100644
index 0000000..04b655e
--- /dev/null
+++ b/media-fonts/morisawa-ud-fonts/Manifest
@@ -0,0 +1 @@
+DIST morisawa-ud-fonts-20220502.tar.xz 5597388 BLAKE2B 9d711118e47d1ab933c8858f51351d1d84cb1f96803e08a7f3cd18c36f324b8c17557c263a516a33170665575ea47eead50b9de7e589427da1b4b59e98af266d SHA512 94ccec076fdfdf1d1d68e145c0334d92835c69e567619ed601142b1ca571c7a1306986ce7ded25e25e0b55b6b4d30752000b55795a1273c8a4426e5be9305d95
diff --git a/media-fonts/morisawa-ud-fonts/morisawa-ud-fonts-20220502-r1.ebuild b/media-fonts/morisawa-ud-fonts/morisawa-ud-fonts-20220502-r1.ebuild
new file mode 120000
index 0000000..47d6ac1
--- /dev/null
+++ b/media-fonts/morisawa-ud-fonts/morisawa-ud-fonts-20220502-r1.ebuild
@@ -0,0 +1 @@
+morisawa-ud-fonts-20220502.ebuild
\ No newline at end of file
diff --git a/media-fonts/morisawa-ud-fonts/morisawa-ud-fonts-20220502.ebuild b/media-fonts/morisawa-ud-fonts/morisawa-ud-fonts-20220502.ebuild
new file mode 100644
index 0000000..0b442ec
--- /dev/null
+++ b/media-fonts/morisawa-ud-fonts/morisawa-ud-fonts-20220502.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+EAPI="7"
+
+inherit font
+
+DESCRIPTION="BIZ UD Fonts by Morisawa"
+SRC_URI="http://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/${P}.tar.xz"
+
+LICENSE="OFL-1.1"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+FONT_SUFFIX="ttf"
+FONT_S="${S}"
+FONTDIR="/usr/share/fonts/morisawa"
+
+
+# Only installs fonts
+RESTRICT="strip binchecks"
+
+src_install() {
+	# call src_install() in font.eclass.
+	font_src_install
+}
diff --git a/media-gfx/deqp-android11/Manifest b/media-gfx/deqp-android11/Manifest
new file mode 100644
index 0000000..4ec9034
--- /dev/null
+++ b/media-gfx/deqp-android11/Manifest
@@ -0,0 +1,5 @@
+DIST SPIRV-Headers-f8bf11a0253a32375c32cad92c841237b96696c0.tar.gz 387097 BLAKE2B 8b8558bee86b83db205b7928ae4caf42a962c78c80e2be2a8a296233500b36683ea8803a5aab8f0c0283c26a342e8ac73bbd53d856e8e49026b7eff4f22caaa9 SHA512 1d3742ed9858e48650e195f4aa73ed70e4bf1fd5495a4152a122d236bf55fb0b771c659d696918b957c06b072a8eaffe6cfdb30d22ecdb1fbe4c48748d46a2b4
+DIST SPIRV-Tools-34be23373b9e73694c3b214ba857283bad65aedb.tar.gz 2144649 BLAKE2B b511c22b102027433d5bf74ecfce33d867f8891759edb9cea274ae9c72171bbed87a2cbc9a8e8f7a5853dc861c14325b9d15f2f3785f9d1fe3ac73e4e766b6be SHA512 79130ef0a9185ce507844e5278a26449a982de52289d928bf69848657eb976aa8a85372aa8f5809d216a1ad3fc51552248d67e2f3742808a3e33164d110d47f5
+DIST amber-0556811aeaad846f4bacbbd03e05e61fbfe1e545.tar.gz 324312 BLAKE2B 5c81ea65e5f4f186ba1308496610ba916099abc5c8253269e3d699b7f5335c0a8657c7cf65ea4dac184032742a39883d72676ddf4102088247fe41642df4711f SHA512 04d719ce496128e25b8f2891ee3a80cc7347c573dc4b951eccb5d6aba1020e8474fdf36823a51e335c3a836b6daa799cd5bb78b29e8037fc73a6ce116a0620c6
+DIST deqp-android11-45fbecdfac49bb38572cca17f5211b1ce0d5b23d.tar.gz 28754513 BLAKE2B cf665f1eb6c62030fc8a399c4fd06f11f4d1546ee840651bb89220bff2570059035dbbdb5e343e6594faf97b2ce9a4b0c701c9d28e16c0d227d0fc8cbe953b5c SHA512 1d49c427c4dc45e8b1132ed5e3ebde3597d002bd90161dee10caf2441c45f65d12c7deed0691dd3aa75d2b529931bb40fd59ac5c8a6040c4ccf78ebb2b495ea1
+DIST glslang-b5f003d7a3ece37db45578a8a3140b370036fc64.tar.gz 3194369 BLAKE2B d8d6baebf7e3a67157cf591c992019ed074e51ed16fbc70da1c44f3a251e6b0c54a709680f90547eb81c7a7164b7e1c708fd24e531f900889aba4f9614dee315 SHA512 21610beeb4a4aadb423104ee30062c51c4d165f9b4a50e335e41af67b305a3069a76b5a38c9069e1b4ade2ec72b8e3a6b9ee43c6e8ae08d2766b867ccba07286
diff --git a/media-gfx/deqp-android11/OWNERS b/media-gfx/deqp-android11/OWNERS
new file mode 100644
index 0000000..fec455e
--- /dev/null
+++ b/media-gfx/deqp-android11/OWNERS
@@ -0,0 +1,3 @@
+set noparent
+include chromiumos/platform/graphics:/OWNERS.deqp
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/media-gfx/deqp-android11/README.md b/media-gfx/deqp-android11/README.md
new file mode 100644
index 0000000..9144c34
--- /dev/null
+++ b/media-gfx/deqp-android11/README.md
@@ -0,0 +1,10 @@
+For debugging Android CTS/deqp failures we are on purpose not following the
+official releases, as these are outdated. Instead we are building from the
+android11-tests-dev branch which includes the newest upstream fixes.
+
+* first obtain local copy of dEQP repo,
+  git clone https://android.googlesource.com/platform/external/deqp
+* then checkout android11-tests-dev,
+  git checkout origin/android11-tests-dev
+* finally run this script inside the chroot
+  sh update.sh deqp
diff --git a/media-gfx/deqp-android11/deqp-android11-2022.04.08-r1.ebuild b/media-gfx/deqp-android11/deqp-android11-2022.04.08-r1.ebuild
new file mode 100644
index 0000000..d54adc3
--- /dev/null
+++ b/media-gfx/deqp-android11/deqp-android11-2022.04.08-r1.ebuild
@@ -0,0 +1,154 @@
+# Copyright 2015-2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CMAKE_MAKEFILE_GENERATOR="ninja"
+
+inherit cmake-utils cros-sanitizers
+
+DESCRIPTION="drawElements Quality Program - an OpenGL ES testsuite"
+HOMEPAGE="https://github.com/KhronosGroup/VK-GL-CTS"
+
+# This corresponds to a commit for the chosen tag/branch.
+# We follow the deqp android11-tests-dev branch, see README for details.
+MY_DEQP_COMMIT='45fbecdfac49bb38572cca17f5211b1ce0d5b23d'
+
+# When building the Vulkan CTS, dEQP requires that certain external
+# dependencies be unpacked into the source tree. See ${S}/external/fetch_sources.py
+# in the dEQP for the required dependencies. Upload these tarballs to the ChromeOS mirror too and
+# update the manifest.
+MY_AMBER_COMMIT='0556811aeaad846f4bacbbd03e05e61fbfe1e545'
+MY_GLSLANG_COMMIT='b5f003d7a3ece37db45578a8a3140b370036fc64'
+MY_SPIRV_TOOLS_COMMIT='34be23373b9e73694c3b214ba857283bad65aedb'
+MY_SPIRV_HEADERS_COMMIT='f8bf11a0253a32375c32cad92c841237b96696c0'
+
+SRC_URI="
+	https://android.googlesource.com/platform/external/deqp/+archive/${MY_DEQP_COMMIT}.tar.gz -> deqp-android11-${MY_DEQP_COMMIT}.tar.gz
+	https://github.com/KhronosGroup/glslang/archive/${MY_GLSLANG_COMMIT}.tar.gz -> glslang-${MY_GLSLANG_COMMIT}.tar.gz
+	https://github.com/KhronosGroup/SPIRV-Tools/archive/${MY_SPIRV_TOOLS_COMMIT}.tar.gz -> SPIRV-Tools-${MY_SPIRV_TOOLS_COMMIT}.tar.gz
+	https://github.com/KhronosGroup/SPIRV-Headers/archive/${MY_SPIRV_HEADERS_COMMIT}.tar.gz -> SPIRV-Headers-${MY_SPIRV_HEADERS_COMMIT}.tar.gz
+	https://github.com/google/amber/archive/${MY_AMBER_COMMIT}.tar.gz -> amber-${MY_AMBER_COMMIT}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE="-vulkan"
+
+RDEPEND="
+	virtual/opengles
+	media-libs/minigbm
+	media-libs/libpng
+	vulkan? ( virtual/vulkan-icd )
+"
+
+DEPEND="${RDEPEND}
+	x11-drivers/opengles-headers
+	x11-libs/libX11
+"
+
+S="${WORKDIR}"
+
+src_unpack() {
+	default_src_unpack || die
+
+	mv "VK-GL-CTS-${MY_DEQP_COMMIT}/"* .
+	mkdir -p external/{amber,glslang,spirv-tools,spirv-headers}
+	mv "amber-${MY_AMBER_COMMIT}" external/amber/src || die
+	mv "glslang-${MY_GLSLANG_COMMIT}" external/glslang/src || die
+	mv "SPIRV-Tools-${MY_SPIRV_TOOLS_COMMIT}" external/spirv-tools/src || die
+	mv "SPIRV-Headers-${MY_SPIRV_HEADERS_COMMIT}" external/spirv-headers/src || die
+}
+
+src_prepare() {
+	default
+}
+
+src_configure() {
+	sanitizers-setup-env
+
+	# See crbug.com/585712.
+	append-lfs-flags
+
+	local de_cpu=
+	case "${ARCH}" in
+		x86)   de_cpu='DE_CPU_X86';;
+		amd64) de_cpu='DE_CPU_X86_64';;
+		arm)   de_cpu='DE_CPU_ARM';;
+		arm64) de_cpu='DE_CPU_ARM_64';;
+		*) die "unknown ARCH '${ARCH}'";;
+	esac
+
+	# Tell cmake to not produce rpaths. crbug.com/585715.
+	local mycmakeargs=(
+		-DCMAKE_SKIP_RPATH=1
+		-DCMAKE_FIND_ROOT_PATH="${ROOT}"
+		-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
+		-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY
+		-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
+		-DDE_CPU="${de_cpu}"
+		-DDEQP_TARGET=surfaceless
+	)
+
+	# Undefine direct link to use runtime loading.
+	append-cxxflags "-UDEQP_EGL_DIRECT_LINK"
+	append-cxxflags "-UDEQP_GLES2_DIRECT_LINK"
+	append-cxxflags "-UEQP_GLES3_DIRECT_LINK"
+	append-cxxflags "-DQP_SUPPORT_PNG=1"
+
+	cmake-utils_src_configure
+}
+
+src_install() {
+	# dEQP requires that the layout of its installed files match the layout
+	# of its build directory. Otherwise the binaries cannot find the data
+	# files.
+	local deqp_dir="/usr/local/${PN}"
+
+	# Install module binaries
+	exeinto "${deqp_dir}/modules/egl"
+	doexe "${BUILD_DIR}/modules/egl/deqp-egl"
+	exeinto "${deqp_dir}/modules/gles2"
+	doexe "${BUILD_DIR}/modules/gles2/deqp-gles2"
+	exeinto "${deqp_dir}/modules/gles3"
+	doexe "${BUILD_DIR}/modules/gles3/deqp-gles3"
+	exeinto "${deqp_dir}/modules/gles31"
+	doexe "${BUILD_DIR}/modules/gles31/deqp-gles31"
+	if use vulkan; then
+		exeinto "${deqp_dir}/external/vulkancts/modules/vulkan"
+		doexe "${BUILD_DIR}/external/vulkancts/modules/vulkan/deqp-vk"
+	fi
+
+	# Install executors
+	exeinto "${deqp_dir}/execserver"
+	doexe "${BUILD_DIR}/execserver/execserver"
+	doexe "${BUILD_DIR}/execserver/execserver-client"
+	doexe "${BUILD_DIR}/execserver/execserver-test"
+	exeinto "${deqp_dir}/executor"
+	doexe "${BUILD_DIR}/executor/executor"
+	doexe "${BUILD_DIR}/executor/testlog-to-xml"
+
+	# Install data files
+	insinto "${deqp_dir}/modules/gles2"
+	doins -r "${BUILD_DIR}/modules/gles2/gles2"
+	insinto "${deqp_dir}/modules/gles3"
+	doins -r "${BUILD_DIR}/modules/gles3/gles3"
+	insinto "${deqp_dir}/modules/gles31"
+	doins -r "${BUILD_DIR}/modules/gles31/gles31"
+	if use vulkan; then
+		insinto "${deqp_dir}/external/vulkancts/modules/vulkan"
+		doins -r "${BUILD_DIR}/external/vulkancts/modules/vulkan/vulkan"
+	fi
+	insinto "${deqp_dir}"
+	doins -r "doc/testlog-stylesheet"
+
+	# Install caselists
+	insinto "${deqp_dir}/caselists"
+	newins "android/cts/master/egl-master.txt" "egl.txt"
+	newins "android/cts/master/gles2-master.txt" "gles2.txt"
+	newins "android/cts/master/gles3-master.txt" "gles3.txt"
+	newins "android/cts/master/gles31-master.txt" "gles31.txt"
+	if use vulkan; then
+		newins "android/cts/master/vk-master.txt" "vk.txt"
+	fi
+}
diff --git a/media-gfx/deqp-android11/update.sh b/media-gfx/deqp-android11/update.sh
new file mode 100644
index 0000000..9c9d43a
--- /dev/null
+++ b/media-gfx/deqp-android11/update.sh
@@ -0,0 +1,72 @@
+#!/bin/sh
+
+# Copyright 2019-2022 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+deqp_repo=$1
+package_name=$(basename "$PWD")
+
+if [ -z "${deqp_repo}" ]; then
+    echo "usage:"
+    echo "* first obtain local copy of dEQP repo, for instance"
+    echo "  git clone https://android.googlesource.com/platform/external/deqp"
+    echo "* then checkout desired branch/tag/commit in VK-GL-CTS, for instance origin/android11-tests-dev"
+    echo "* finally run this script inside the chroot"
+    echo "  . update.sh <deqp-repo>"
+    exit 1
+fi
+
+declare -A revisions
+declare -A git_repos=(
+    [${package_name}]=https://android.googlesource.com/platform/external/deqp/+archive
+    [SPIRV-Headers]=https://github.com/KhronosGroup/SPIRV-Headers/archive
+    [SPIRV-Tools]=https://github.com/KhronosGroup/SPIRV-Tools/archive
+    [glslang]=https://github.com/KhronosGroup/glslang/archive
+    [amber]=https://github.com/google/amber/archive
+)
+
+for module in "${!git_repos[@]}"; do
+    # Pull the git sha1 out of fetch_sources.py
+    revision=$(PYTHONPATH=$deqp_repo/external python3 -c "import fetch_sources; \
+	print([p for p in fetch_sources.PACKAGES if p.baseDir == '$module'.lower()][0].revision)")
+
+    var=${module/-/_}
+    var="MY_${var^^}_COMMIT"
+    sed_cmd="${sed_cmd}s/${var}='.*'/${var}='$revision'/; "
+    revisions[$module]=$revision
+done
+
+# Do the transfers and ebuild update.
+revisions[${package_name}]=$(git -C "${deqp_repo}" show-ref -s --head ^HEAD)
+
+sed_cmd="${sed_cmd}s/MY_DEQP_COMMIT='.*'/MY_DEQP_COMMIT='${revisions[${package_name}]}'/;"
+
+for module in "${!git_repos[@]}"; do
+    wget --no-clobber ${git_repos[$module]}/${revisions[$module]}.tar.gz -O $module-${revisions[$module]}.tar.gz
+    gsutil.py cp -a public-read $module-${revisions[$module]}.tar.gz gs://chromeos-localmirror/distfiles/
+done
+
+# Edit ebuild and bump name or revision
+
+now=$(date "+%Y.%m.%d")
+old_ebuild=$(git ls-files *.ebuild)
+
+echo old_ebuild: $old_ebuild
+
+if [ "${old_ebuild%-r*.ebuild}" = "${package_name}-${now}" ]; then
+    r=$(echo $old_ebuild | sed "s/${package_name}.*-r\([0-9]*\).ebuild/\1/")
+    ebuild="${package_name}-$now-r$((r + 1)).ebuild"
+    echo bump ebuild revision to: $ebuild
+else
+    ebuild="${package_name}-$now-r1.ebuild"
+    echo bump ebuild date to: $ebuild
+fi
+
+git mv "$old_ebuild" "$ebuild"
+
+sed -i -e "$sed_cmd" $ebuild
+
+ebuild $ebuild manifest
+
+git add -u
diff --git a/media-gfx/deqp-runner/Manifest b/media-gfx/deqp-runner/Manifest
index 129769f..ab7c141 100644
--- a/media-gfx/deqp-runner/Manifest
+++ b/media-gfx/deqp-runner/Manifest
@@ -1 +1 @@
-DIST deqp-runner-0.12.0.crate 65541 BLAKE2B 46b74e305f952b671ee3cec669a42c46c7bd6e24c3e32fce1a3e84a77f6a13f96d3b5cc6226ab464030ee29cf089f39e1202fcc0d7d625f4734bf5753fabcfd0 SHA512 b2ba4835dfaaf0a9c475b68ab8a26b5aa96b77b3870c8b3e3f2eccaa328065aafef111ddb2bfd729eb476aa4f03548752706bbba065a5841fa7c958b9ace8b2c
+DIST deqp-runner-0.13.1.crate 65995 BLAKE2B 9904ec9d14c3fee643a4ddd4c36fd4f1572e271c290bbf817210cd13d962d26d9b2df6959d557fac4ec52b319efda24125c4f955c8a58133dbee6d7384fdbef6 SHA512 292d0f5c26e44feff63ea386d54c3a0e867edb9076755c6b8864dd7c04ce27d06e1852cf778c5393b9337a0e10a9f0dc3ae2e392cf75954a0285e969b4480809
diff --git a/media-gfx/deqp-runner/OWNERS b/media-gfx/deqp-runner/OWNERS
index 7cf29c8..74a8ff7 100644
--- a/media-gfx/deqp-runner/OWNERS
+++ b/media-gfx/deqp-runner/OWNERS
@@ -1,2 +1,3 @@
 set noparent
 include chromiumos/platform/graphics:/OWNERS.deqp_runner
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/media-gfx/deqp-runner/deqp-runner-0.12.0-r1.ebuild b/media-gfx/deqp-runner/deqp-runner-0.12.0-r1.ebuild
deleted file mode 100644
index 0aa2d68..0000000
--- a/media-gfx/deqp-runner/deqp-runner-0.12.0-r1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_RUST_REMOVE_DEV_DEPS=1
-
-inherit cros-rust
-
-DESCRIPTION="A VK-GL-CTS/dEQP wrapper program to parallelize it across CPUs and report results against a baseline."
-HOMEPAGE="https://gitlab.freedesktop.org/anholt/deqp-runner"
-SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
-
-LICENSE="MIT"
-SLOT="0/${PR}"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/anyhow-1*:=
-	>=dev-rust/crossbeam-utils-0.8:= <dev-rust/crossbeam-utils-0.9
-	>=dev-rust/flate2-1.0.18:= <dev-rust/flate2-2
-	=dev-rust/junit-report-0.4*:=
-	>=dev-rust/lazy_static-1.4:= <dev-rust/lazy_static-2.0
-	>=dev-rust/log-0.4:=
-	>=dev-rust/rand-0.7.3:= <dev-rust/rand-0.8
-	>=dev-rust/rayon-1.5.0:= <dev-rust/rayon-2.0.0
-	=dev-rust/regex-1*:=
-	>=dev-rust/roxmltree-0.13.0:= <dev-rust/roxmltree-0.14
-	>=dev-rust/stderrlog-0.4:= <dev-rust/stderrlog-0.6
-	=dev-rust/structopt-0.3*:=
-	>=dev-rust/thread-id-3.3.0:= <dev-rust/thread-id-4.0
-	>=dev-rust/timeout-readwrite-0.3.1:= <dev-rust/timeout-readwrite-0.4
-	=dev-rust/serde-tuple-vec-map-1.0*:=
-	=dev-rust/toml-0.5*:=
-	=dev-rust/serde-1.0*:=
-"
-
-src_compile() {
-	ecargo_build
-}
-
-src_install() {
-	local build_dir="$(cros-rust_get_build_dir)"
-
-	dobin "${build_dir}/deqp-runner"
-}
diff --git a/media-gfx/deqp-runner/deqp-runner-0.13.1.ebuild b/media-gfx/deqp-runner/deqp-runner-0.13.1.ebuild
new file mode 100644
index 0000000..ec6b92d
--- /dev/null
+++ b/media-gfx/deqp-runner/deqp-runner-0.13.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_RUST_REMOVE_DEV_DEPS=1
+
+inherit cros-rust
+
+DESCRIPTION="A VK-GL-CTS/dEQP wrapper program to parallelize it across CPUs and report results against a baseline."
+HOMEPAGE="https://gitlab.freedesktop.org/anholt/deqp-runner"
+SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"
+
+LICENSE="MIT"
+SLOT="0/${PR}"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/anyhow-1*:=
+	>=dev-rust/crossbeam-utils-0.8:= <dev-rust/crossbeam-utils-0.9
+	>=dev-rust/flate2-1.0.18:= <dev-rust/flate2-2
+	=dev-rust/junit-report-0.4*:=
+	>=dev-rust/lazy_static-1.4:= <dev-rust/lazy_static-2.0
+	>=dev-rust/log-0.4:=
+	>=dev-rust/rand-0.7.3:= <dev-rust/rand-0.8
+	>=dev-rust/rayon-1.5.0:= <dev-rust/rayon-2.0.0
+	=dev-rust/regex-1*:=
+	>=dev-rust/roxmltree-0.13.0:= <dev-rust/roxmltree-0.14
+	>=dev-rust/stderrlog-0.4:= <dev-rust/stderrlog-0.6
+	=dev-rust/structopt-0.3*:=
+	>=dev-rust/timeout-readwrite-0.3.1:= <dev-rust/timeout-readwrite-0.4
+	=dev-rust/serde-tuple-vec-map-1.0*:=
+	=dev-rust/toml-0.5*:=
+	=dev-rust/serde-1.0*:=
+"
+
+src_compile() {
+	ecargo_build
+}
+
+src_install() {
+	local build_dir="$(cros-rust_get_build_dir)"
+
+	dobin "${build_dir}/deqp-runner"
+}
diff --git a/media-gfx/deqp/Manifest b/media-gfx/deqp/Manifest
index a5835e5..a9a8ee9 100644
--- a/media-gfx/deqp/Manifest
+++ b/media-gfx/deqp/Manifest
@@ -1,5 +1,5 @@
-DIST SPIRV-Headers-cf653e4ca4858583802b0d1656bc934edff6bd7f.tar.gz 414356 BLAKE2B ff0b559a3abba507b90564a1a24845cad0f0fb1d27ae53fbd94b5040d66a79c3e735ddd07b8a02466bb24a4c8d7206048a21fb8205192c2422330f28cb98658f SHA512 715c1fe4b04fdae75940e5245ebace1edc9c8adc02fdca662770a885550635991833236d479da8403cc19ad8b7d40805b0e46a5ab9bea34d599577fb177c4c25
-DIST SPIRV-Tools-11cd875ed88484f93943071083b4821b4c3d2193.tar.gz 2654619 BLAKE2B 9ac163ad10b37ca780cbfa14a7ee38e71a4635f9a98a7aa568b8c0e3d0069917a465093606feb1394b5be819b9575af4c097e4a1f2d75e132b0b63b2089dbad0 SHA512 fd3a56e21811ace5b86bfb4b54715eb36054af57d7026d382fe3875bd4879bca499cf6b059e9ade409d0903fa3b5a67731ff296d193263cfaaed79ea103a9f50
-DIST amber-8797ee109e7a6ea4d1f58f387f757545fa35325b.tar.gz 517294 BLAKE2B 72d031b883f4e33232dc9e32960c8c3c84248f5c54187d8d9e00e5af13a9d32ceabb65b98141897c427925c5c5828ff0be31638cc121b2991ba0a8b49b47515b SHA512 29994899e8a93b89411b33860b7f33ad1c0677005e47423968c0bfc11a4dd496427b24288ecf24fab348a1a315f32276700c5aa5eb36d1671c06dbeea11db0f8
-DIST deqp-34639fb3f8b467b261624a1b2863b5e808bb7aef.tar.gz 34227237 BLAKE2B f9a462020fea8042d3dddc8235bfde87433c3c1591737539889e2072cf37296312f7c8a3d2a52391e06a7af56496e6b5b16f594b34a471c62b2fb436281d79e1 SHA512 c568622cfd2fb2561086990ecb3bb2dced6b0d491614aaf13b15c5d4e161d89a2e716715425c10e0d38e878277d98d6eccb732073c5e680d33e52922856f7c44
-DIST glslang-9158061398a96033c990e69156bd28c67114544b.tar.gz 3381429 BLAKE2B 305ebcbcb305db5f870688c4846d0a92d66ad67a1e5b17d0b9052861c9cedbdac1b0f24036818e74ad32ae0a31578a641bf4318595ff823c062896732a5f5159 SHA512 a5db025bb9b2b7db8b3a9cc691430383b95ade470951b93d5f625c05fc1965093e7a6355659917ab79466c566cddc5a5ff5d477f32bf5da7ef0cfaf79d8df3ce
+DIST SPIRV-Headers-b42ba6d92faf6b4938e6f22ddd186dbdacc98d78.tar.gz 417927 BLAKE2B 1d458c1131b4e7270abb24143df496b01466ff2d82403e7e87a1f0e9d343a2c9db95834fb658faaab2ae9f71ecabee17ca9db712b1f656ef3559392f042b57f8 SHA512 9f664d33178ff379fa66a5103909455c1164fed0e677048ee6456e37c1b0525e28a1dd261a41b28ca5cfcce34e7fdda41b39e15fd1edbfa551354753c9fe7446
+DIST SPIRV-Tools-20b122b2e0d43fcc322a383354d1a3f4514e3757.tar.gz 2909058 BLAKE2B ca6d872734dec161d808682b95398eae8101c554ac87788e590447293ecc6144252c4f9690bdc354ac02f47aa456b7379874b7ce650517b71b28298ac62c4433 SHA512 867b5ede74818b0df9b75a373aff97f79e662d48494c5e8336b02ebfcc71c8ddfe6e8aed28cee3bedf330375e91e82e7ed5ad3a5cf43ea8243c80e54a075c5d3
+DIST amber-615ab4863f7d2e31d3037d0c6a0f641fd6fc0d07.tar.gz 530033 BLAKE2B 9d70be7994e9fd03397c57f5a326fa2360ebc194099aec6d8449eb42c6a8fb8bced9fbe29f958a8627764e1112a533f87b67a77bd9d585b364c81bfa454010db SHA512 efd5e322396d1d24ac72e37121ee22489a104e69e667f192473d68f30fcca5ef87cb1142f82223f7cd1995750ec9ce19cd25d3a807789842139339db68dbd57e
+DIST deqp-a8fc4961d753dc2bddb1f78bdb91a21960a1ed57.tar.gz 36462982 BLAKE2B 5028c4be7d81ab32d51e6c0674ee61c51ccd1fb163fa666e47553ac6d1b7defa31083214cf8c301c2cdfdedfee94804138d2d0e18a670f8619a180ab4a2c1a1c SHA512 dd1e6f2d99288196b65d8f4ce8424127b3d0cdfc26c89e23f391b9a99f9d8237aaca3fc2f889696899578011cfc80a37006cdf107ff1c03ff15147e8bc012adc
+DIST glslang-c34bb3b6c55f6ab084124ad964be95a699700d34.tar.gz 3462776 BLAKE2B 6a3ecfbda627cf3ed99285ff80498f0945bb7f3c0329487a56df6987008f5cb35f2ecf30939b1d58cebfd2bc763d3455617e78f3d5bf95c4b8494d21bf70146a SHA512 8902290ffef4bb07a5750969a3bc3bcfceefc7d502b8d90fc776a8b0d0098540da458e5cf1a43a1dde31619b40f87ccdb49a9ada535416341126665584a61ba3
diff --git a/media-gfx/deqp/OWNERS b/media-gfx/deqp/OWNERS
index cfa161d..fec455e 100644
--- a/media-gfx/deqp/OWNERS
+++ b/media-gfx/deqp/OWNERS
@@ -1,2 +1,3 @@
 set noparent
 include chromiumos/platform/graphics:/OWNERS.deqp
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/media-gfx/deqp/deqp-2021.08.20-r2.ebuild b/media-gfx/deqp/deqp-2021.08.20-r2.ebuild
deleted file mode 100644
index 0c1cd3a..0000000
--- a/media-gfx/deqp/deqp-2021.08.20-r2.ebuild
+++ /dev/null
@@ -1,159 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-CMAKE_MAKEFILE_GENERATOR="ninja"
-
-inherit cmake-utils cros-sanitizers
-
-DESCRIPTION="drawElements Quality Program - an OpenGL ES testsuite"
-HOMEPAGE="https://github.com/KhronosGroup/VK-GL-CTS"
-
-# This corresponds to a commit for the chosen tag/branch.
-MY_DEQP_COMMIT='34639fb3f8b467b261624a1b2863b5e808bb7aef'
-
-# When building the Vulkan CTS, dEQP requires that certain external
-# dependencies be unpacked into the source tree. See ${S}/external/fetch_sources.py
-# in the dEQP for the required dependencies. Upload these tarballs to the ChromeOS mirror too and
-# update the manifest.
-MY_AMBER_COMMIT='8797ee109e7a6ea4d1f58f387f757545fa35325b'
-MY_GLSLANG_COMMIT='9158061398a96033c990e69156bd28c67114544b'
-MY_SPIRV_TOOLS_COMMIT='11cd875ed88484f93943071083b4821b4c3d2193'
-MY_SPIRV_HEADERS_COMMIT='cf653e4ca4858583802b0d1656bc934edff6bd7f'
-
-SRC_URI="https://github.com/KhronosGroup/VK-GL-CTS/archive/${MY_DEQP_COMMIT}.tar.gz -> deqp-${MY_DEQP_COMMIT}.tar.gz
-	https://github.com/KhronosGroup/glslang/archive/${MY_GLSLANG_COMMIT}.tar.gz -> glslang-${MY_GLSLANG_COMMIT}.tar.gz
-	https://github.com/KhronosGroup/SPIRV-Tools/archive/${MY_SPIRV_TOOLS_COMMIT}.tar.gz -> SPIRV-Tools-${MY_SPIRV_TOOLS_COMMIT}.tar.gz
-	https://github.com/KhronosGroup/SPIRV-Headers/archive/${MY_SPIRV_HEADERS_COMMIT}.tar.gz -> SPIRV-Headers-${MY_SPIRV_HEADERS_COMMIT}.tar.gz
-	https://github.com/google/amber/archive/${MY_AMBER_COMMIT}.tar.gz -> amber-${MY_AMBER_COMMIT}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="*"
-IUSE="-vulkan"
-
-RDEPEND="
-	virtual/opengles
-	media-libs/minigbm
-	media-libs/libpng
-	vulkan? ( virtual/vulkan-icd )
-"
-
-DEPEND="${RDEPEND}
-	x11-drivers/opengles-headers
-	x11-libs/libX11
-"
-
-S="${WORKDIR}"
-
-src_unpack() {
-	default_src_unpack || die
-
-	mv "VK-GL-CTS-${MY_DEQP_COMMIT}/"* .
-	# TODO(ihf): remove cat once deqp-runner supports references.
-	cat android/cts/master/vk-master/*.txt | sort > android/cts/master/tmp_cat_vk-master.txt
-	mkdir -p external/{amber,glslang,spirv-tools,spirv-headers}
-	mv "amber-${MY_AMBER_COMMIT}" external/amber/src || die
-	mv "glslang-${MY_GLSLANG_COMMIT}" external/glslang/src || die
-	mv "SPIRV-Tools-${MY_SPIRV_TOOLS_COMMIT}" external/spirv-tools/src || die
-	mv "SPIRV-Headers-${MY_SPIRV_HEADERS_COMMIT}" external/spirv-headers/src || die
-}
-
-src_prepare() {
-	default
-}
-
-src_configure() {
-	sanitizers-setup-env
-
-	# See crbug.com/585712.
-	append-lfs-flags
-
-	local de_cpu=
-	case "${ARCH}" in
-		x86)   de_cpu='DE_CPU_X86';;
-		amd64) de_cpu='DE_CPU_X86_64';;
-		arm)   de_cpu='DE_CPU_ARM';;
-		arm64) de_cpu='DE_CPU_ARM_64';;
-		*) die "unknown ARCH '${ARCH}'";;
-	esac
-
-	# Tell cmake to not produce rpaths. crbug.com/585715.
-	local mycmakeargs=(
-		-DCMAKE_SKIP_RPATH=1
-		-DCMAKE_FIND_ROOT_PATH="${ROOT}"
-		-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
-		-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY
-		-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
-		-DDE_CPU="${de_cpu}"
-		-DDEQP_TARGET=surfaceless
-	)
-
-	# Undefine direct link to use runtime loading.
-	append-cxxflags "-UDEQP_EGL_DIRECT_LINK"
-	append-cxxflags "-UDEQP_GLES2_DIRECT_LINK"
-	append-cxxflags "-UEQP_GLES3_DIRECT_LINK"
-	append-cxxflags "-DQP_SUPPORT_PNG=1"
-
-	cmake-utils_src_configure
-}
-
-src_install() {
-	# dEQP requires that the layout of its installed files match the layout
-	# of its build directory. Otherwise the binaries cannot find the data
-	# files.
-	local deqp_dir="/usr/local/${PN}"
-
-	# Install module binaries
-	exeinto "${deqp_dir}/modules/egl"
-	doexe "${BUILD_DIR}/modules/egl/deqp-egl"
-	exeinto "${deqp_dir}/modules/gles2"
-	doexe "${BUILD_DIR}/modules/gles2/deqp-gles2"
-	exeinto "${deqp_dir}/modules/gles3"
-	doexe "${BUILD_DIR}/modules/gles3/deqp-gles3"
-	exeinto "${deqp_dir}/modules/gles31"
-	doexe "${BUILD_DIR}/modules/gles31/deqp-gles31"
-	if use vulkan; then
-		exeinto "${deqp_dir}/external/vulkancts/modules/vulkan"
-		doexe "${BUILD_DIR}/external/vulkancts/modules/vulkan/deqp-vk"
-	fi
-
-	# Install executors
-	exeinto "${deqp_dir}/execserver"
-	doexe "${BUILD_DIR}/execserver/execserver"
-	doexe "${BUILD_DIR}/execserver/execserver-client"
-	doexe "${BUILD_DIR}/execserver/execserver-test"
-	exeinto "${deqp_dir}/executor"
-	doexe "${BUILD_DIR}/executor/executor"
-	doexe "${BUILD_DIR}/executor/testlog-to-xml"
-
-	# Install data files
-	insinto "${deqp_dir}/modules/gles2"
-	doins -r "${BUILD_DIR}/modules/gles2/gles2"
-	insinto "${deqp_dir}/modules/gles3"
-	doins -r "${BUILD_DIR}/modules/gles3/gles3"
-	insinto "${deqp_dir}/modules/gles31"
-	doins -r "${BUILD_DIR}/modules/gles31/gles31"
-	if use vulkan; then
-		insinto "${deqp_dir}/external/vulkancts/modules/vulkan"
-		doins -r "${BUILD_DIR}/external/vulkancts/modules/vulkan/vulkan"
-	fi
-	insinto "${deqp_dir}"
-	doins -r "doc/testlog-stylesheet"
-
-	# Install caselists
-	insinto "${deqp_dir}/caselists"
-	newins "android/cts/master/egl-master.txt" "egl.txt"
-	newins "android/cts/master/gles2-master.txt" "gles2.txt"
-	newins "android/cts/master/gles3-master.txt" "gles3.txt"
-	newins "android/cts/master/gles31-master.txt" "gles31.txt"
-	if use vulkan; then
-		# TODO(ihf): remove tmp_cat_vk-master.txt when deqp-runner understands
-		# directory structure below again.
-		newins "android/cts/master/tmp_cat_vk-master.txt" "vk.txt"
-		#newins "android/cts/master/vk-master.txt" "vk.txt"
-		#doins -r "android/cts/master/vk-master"
-		#dosym "${deqp_dir}/caselists/vk-master" "${deqp_dir}/external/vulkancts/modules/vulkan/vk-master"
-	fi
-}
diff --git a/media-gfx/deqp/deqp-2022.02.23-r1.ebuild b/media-gfx/deqp/deqp-2022.02.23-r1.ebuild
new file mode 100644
index 0000000..4f415ab
--- /dev/null
+++ b/media-gfx/deqp/deqp-2022.02.23-r1.ebuild
@@ -0,0 +1,159 @@
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CMAKE_MAKEFILE_GENERATOR="ninja"
+
+inherit cmake-utils cros-sanitizers
+
+DESCRIPTION="drawElements Quality Program - an OpenGL ES testsuite"
+HOMEPAGE="https://github.com/KhronosGroup/VK-GL-CTS"
+
+# This corresponds to a commit for the chosen tag/branch.
+MY_DEQP_COMMIT='a8fc4961d753dc2bddb1f78bdb91a21960a1ed57'
+
+# When building the Vulkan CTS, dEQP requires that certain external
+# dependencies be unpacked into the source tree. See ${S}/external/fetch_sources.py
+# in the dEQP for the required dependencies. Upload these tarballs to the ChromeOS mirror too and
+# update the manifest.
+MY_AMBER_COMMIT='615ab4863f7d2e31d3037d0c6a0f641fd6fc0d07'
+MY_GLSLANG_COMMIT='c34bb3b6c55f6ab084124ad964be95a699700d34'
+MY_SPIRV_TOOLS_COMMIT='20b122b2e0d43fcc322a383354d1a3f4514e3757'
+MY_SPIRV_HEADERS_COMMIT='b42ba6d92faf6b4938e6f22ddd186dbdacc98d78'
+
+SRC_URI="https://github.com/KhronosGroup/VK-GL-CTS/archive/${MY_DEQP_COMMIT}.tar.gz -> deqp-${MY_DEQP_COMMIT}.tar.gz
+	https://github.com/KhronosGroup/glslang/archive/${MY_GLSLANG_COMMIT}.tar.gz -> glslang-${MY_GLSLANG_COMMIT}.tar.gz
+	https://github.com/KhronosGroup/SPIRV-Tools/archive/${MY_SPIRV_TOOLS_COMMIT}.tar.gz -> SPIRV-Tools-${MY_SPIRV_TOOLS_COMMIT}.tar.gz
+	https://github.com/KhronosGroup/SPIRV-Headers/archive/${MY_SPIRV_HEADERS_COMMIT}.tar.gz -> SPIRV-Headers-${MY_SPIRV_HEADERS_COMMIT}.tar.gz
+	https://github.com/google/amber/archive/${MY_AMBER_COMMIT}.tar.gz -> amber-${MY_AMBER_COMMIT}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE="-vulkan"
+
+RDEPEND="
+	virtual/opengles
+	media-libs/minigbm
+	media-libs/libpng
+	vulkan? ( virtual/vulkan-icd )
+"
+
+DEPEND="${RDEPEND}
+	x11-drivers/opengles-headers
+	x11-libs/libX11
+"
+
+S="${WORKDIR}"
+
+src_unpack() {
+	default_src_unpack || die
+
+	mv "VK-GL-CTS-${MY_DEQP_COMMIT}/"* .
+	# TODO(ihf): remove cat once deqp-runner supports references.
+	cat android/cts/master/vk-master/*.txt | sort > android/cts/master/tmp_cat_vk-master.txt
+	mkdir -p external/{amber,glslang,spirv-tools,spirv-headers}
+	mv "amber-${MY_AMBER_COMMIT}" external/amber/src || die
+	mv "glslang-${MY_GLSLANG_COMMIT}" external/glslang/src || die
+	mv "SPIRV-Tools-${MY_SPIRV_TOOLS_COMMIT}" external/spirv-tools/src || die
+	mv "SPIRV-Headers-${MY_SPIRV_HEADERS_COMMIT}" external/spirv-headers/src || die
+}
+
+src_prepare() {
+	default
+}
+
+src_configure() {
+	sanitizers-setup-env
+
+	# See crbug.com/585712.
+	append-lfs-flags
+
+	local de_cpu=
+	case "${ARCH}" in
+		x86)   de_cpu='DE_CPU_X86';;
+		amd64) de_cpu='DE_CPU_X86_64';;
+		arm)   de_cpu='DE_CPU_ARM';;
+		arm64) de_cpu='DE_CPU_ARM_64';;
+		*) die "unknown ARCH '${ARCH}'";;
+	esac
+
+	# Tell cmake to not produce rpaths. crbug.com/585715.
+	local mycmakeargs=(
+		-DCMAKE_SKIP_RPATH=1
+		-DCMAKE_FIND_ROOT_PATH="${ROOT}"
+		-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
+		-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY
+		-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
+		-DDE_CPU="${de_cpu}"
+		-DDEQP_TARGET=surfaceless
+	)
+
+	# Undefine direct link to use runtime loading.
+	append-cxxflags "-UDEQP_EGL_DIRECT_LINK"
+	append-cxxflags "-UDEQP_GLES2_DIRECT_LINK"
+	append-cxxflags "-UEQP_GLES3_DIRECT_LINK"
+	append-cxxflags "-DQP_SUPPORT_PNG=1"
+
+	cmake-utils_src_configure
+}
+
+src_install() {
+	# dEQP requires that the layout of its installed files match the layout
+	# of its build directory. Otherwise the binaries cannot find the data
+	# files.
+	local deqp_dir="/usr/local/${PN}"
+
+	# Install module binaries
+	exeinto "${deqp_dir}/modules/egl"
+	doexe "${BUILD_DIR}/modules/egl/deqp-egl"
+	exeinto "${deqp_dir}/modules/gles2"
+	doexe "${BUILD_DIR}/modules/gles2/deqp-gles2"
+	exeinto "${deqp_dir}/modules/gles3"
+	doexe "${BUILD_DIR}/modules/gles3/deqp-gles3"
+	exeinto "${deqp_dir}/modules/gles31"
+	doexe "${BUILD_DIR}/modules/gles31/deqp-gles31"
+	if use vulkan; then
+		exeinto "${deqp_dir}/external/vulkancts/modules/vulkan"
+		doexe "${BUILD_DIR}/external/vulkancts/modules/vulkan/deqp-vk"
+	fi
+
+	# Install executors
+	exeinto "${deqp_dir}/execserver"
+	doexe "${BUILD_DIR}/execserver/execserver"
+	doexe "${BUILD_DIR}/execserver/execserver-client"
+	doexe "${BUILD_DIR}/execserver/execserver-test"
+	exeinto "${deqp_dir}/executor"
+	doexe "${BUILD_DIR}/executor/executor"
+	doexe "${BUILD_DIR}/executor/testlog-to-xml"
+
+	# Install data files
+	insinto "${deqp_dir}/modules/gles2"
+	doins -r "${BUILD_DIR}/modules/gles2/gles2"
+	insinto "${deqp_dir}/modules/gles3"
+	doins -r "${BUILD_DIR}/modules/gles3/gles3"
+	insinto "${deqp_dir}/modules/gles31"
+	doins -r "${BUILD_DIR}/modules/gles31/gles31"
+	if use vulkan; then
+		insinto "${deqp_dir}/external/vulkancts/modules/vulkan"
+		doins -r "${BUILD_DIR}/external/vulkancts/modules/vulkan/vulkan"
+	fi
+	insinto "${deqp_dir}"
+	doins -r "doc/testlog-stylesheet"
+
+	# Install caselists
+	insinto "${deqp_dir}/caselists"
+	newins "android/cts/master/egl-master.txt" "egl.txt"
+	newins "android/cts/master/gles2-master.txt" "gles2.txt"
+	newins "android/cts/master/gles3-master.txt" "gles3.txt"
+	newins "android/cts/master/gles31-master.txt" "gles31.txt"
+	if use vulkan; then
+		# TODO(ihf): remove tmp_cat_vk-master.txt when deqp-runner understands
+		# directory structure below again.
+		newins "android/cts/master/tmp_cat_vk-master.txt" "vk.txt"
+		#newins "android/cts/master/vk-master.txt" "vk.txt"
+		#doins -r "android/cts/master/vk-master"
+		#dosym "${deqp_dir}/caselists/vk-master" "${deqp_dir}/external/vulkancts/modules/vulkan/vk-master"
+	fi
+}
diff --git a/media-gfx/metadata.xml b/media-gfx/metadata.xml
deleted file mode 100644
index 3e62cd8..0000000
--- a/media-gfx/metadata.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The media-gfx category contains graphics-related packages.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie media-gfx enthält Programme rund um das Thema Grafik.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría media-gfx contiene paquetes relacionados con gráficos.
-	</longdescription>
-	<longdescription lang="ja">
-		media-gfxカテゴリーにはグラフィック関連のパッケージが含まれています。
-	</longdescription>
-	<longdescription lang="nl">
-		De media-gfx categorie bevat grafische applicaties.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm media-gfx chứa các gói liên quan đến đồ hoạ.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria media-gfx contiene pacchetti per la grafica.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria media-gfx contém pacotes relacionados com gráficos.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria media-gfx zawiera programy graficzne.
-	</longdescription>
-</catmetadata>
-
diff --git a/media-gfx/perceptualdiff/OWNERS b/media-gfx/perceptualdiff/OWNERS
index 2b35b81..df5be23 100644
--- a/media-gfx/perceptualdiff/OWNERS
+++ b/media-gfx/perceptualdiff/OWNERS
@@ -1,2 +1,3 @@
 set noparent
 include chromiumos/platform/graphics:/OWNERS.graphics
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/net-print/cups-filters/OWNERS b/media-gfx/sane-airscan/OWNERS
similarity index 100%
copy from net-print/cups-filters/OWNERS
copy to media-gfx/sane-airscan/OWNERS
diff --git a/media-gfx/sane-airscan/sane-airscan-0.99.27-r1.ebuild b/media-gfx/sane-airscan/sane-airscan-0.99.27-r2.ebuild
similarity index 100%
rename from media-gfx/sane-airscan/sane-airscan-0.99.27-r1.ebuild
rename to media-gfx/sane-airscan/sane-airscan-0.99.27-r2.ebuild
diff --git a/media-gfx/sane-airscan/sane-airscan-0.99.27.ebuild b/media-gfx/sane-airscan/sane-airscan-0.99.27.ebuild
index f2c193a..970aec82 100644
--- a/media-gfx/sane-airscan/sane-airscan-0.99.27.ebuild
+++ b/media-gfx/sane-airscan/sane-airscan-0.99.27.ebuild
@@ -49,6 +49,8 @@
 	else
 		meson_src_compile
 	fi
+	# Generates a copy of airscan.conf with the lines after the debug tag uncommented.
+	sed -e '/^#*\[debug\]/,$s/^#*//' < "${FILESDIR}/airscan.conf" > "${BUILD_DIR}/airscan-debug.conf"
 }
 
 src_install() {
@@ -61,6 +63,9 @@
 		insinto "/etc/sane.d"
 		newins "${FILESDIR}/airscan.conf" "airscan.conf"
 
+		insinto "/usr/share/sane"
+		newins "${BUILD_DIR}/airscan-debug.conf" "airscan-debug.conf"
+
 		insinto "/etc/sane.d/dll.d"
 		newins "${S}/dll.conf" "airscan.conf"
 	fi
diff --git a/media-gfx/sane-backends/OWNERS b/media-gfx/sane-backends/OWNERS
index fbeef67..c5d38b1 100644
--- a/media-gfx/sane-backends/OWNERS
+++ b/media-gfx/sane-backends/OWNERS
@@ -1,2 +1 @@
-bmgordon@chromium.org
-skau@chromium.org
+include chromiumos/platform2:/cups_proxy/OWNERS
diff --git a/media-gfx/vadumpcaps/OWNERS b/media-gfx/vadumpcaps/OWNERS
index e72a9b8..f1ca2e6 100644
--- a/media-gfx/vadumpcaps/OWNERS
+++ b/media-gfx/vadumpcaps/OWNERS
@@ -1,2 +1,3 @@
 set noparent
 include chromiumos/platform/graphics:/OWNERS.vadumpcaps
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/media-libs/OWNERS b/media-libs/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/media-libs/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/media-libs/arc-camera-profile/arc-camera-profile-0.0.1-r869.ebuild b/media-libs/arc-camera-profile/arc-camera-profile-0.0.1-r869.ebuild
deleted file mode 100644
index 94cc1de..0000000
--- a/media-libs/arc-camera-profile/arc-camera-profile-0.0.1-r869.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-CROS_WORKON_COMMIT="1f9d9f4574a9655d844c7ef46f138da7228a93a9"
-CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "e5bab9aeb635f426a5f77597edb46ad386ad0f7c" "a4c500ab9b3c0bc4232aa527a6cbd18f786338a4" "aae9573ddce70ef8c8cfb47800c806eb8a703aa4" "080361d5d45e74e7927e56bab774531748d1a569" "4a17cb7a754b78de765e63bb30c619b74cd67d1d" "a625767bb59509159091f2ab0b71f8b9b4b2e353")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="../platform2"
-CROS_WORKON_SUBTREE=".gn camera/build camera/common camera/hal/usb camera/include camera/tools common-mk"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-PLATFORM_SUBDIR="camera/tools/generate_camera_profile"
-
-inherit cros-camera cros-workon platform
-
-DESCRIPTION="Runtime detect the number of cameras on device to generate
-corresponding media_profiles.xml."
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND=""
-
-DEPEND="${RDEPEND}
-	virtual/pkgconfig"
-
-src_install() {
-	dobin "${OUT}/generate_camera_profile"
-}
diff --git a/media-libs/arc-camera-profile/arc-camera-profile-0.0.1-r977.ebuild b/media-libs/arc-camera-profile/arc-camera-profile-0.0.1-r977.ebuild
new file mode 100644
index 0000000..1cd64d4
--- /dev/null
+++ b/media-libs/arc-camera-profile/arc-camera-profile-0.0.1-r977.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+CROS_WORKON_COMMIT="eddffb488e6b0e8ba6309122b37b341057179416"
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4be8d3ae5664634825afc2e6e4b8c24816ee9b9e" "7093536475612fadc6a0afe16b8f5f4f4251e4c2" "66167969f21d9a7bd20fc7fd2e582ad849d7d8eb" "2b7909959649540a63997338914ec45cf9c7d07c" "2de57cadefcee72268944188060875f71560d058" "60fa47aebd6ebfb702012849bd560717fceddcd4")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_SUBTREE=".gn camera/build camera/common camera/hal/usb camera/include camera/tools common-mk"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera/tools/generate_camera_profile"
+
+inherit cros-camera cros-workon platform
+
+DESCRIPTION="Runtime detect the number of cameras on device to generate
+corresponding media_profiles.xml."
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND=""
+
+DEPEND="${RDEPEND}
+	virtual/pkgconfig"
+
+src_install() {
+	dobin "${OUT}/generate_camera_profile"
+}
diff --git a/media-libs/arc-camera-profile/files/revision_bump b/media-libs/arc-camera-profile/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/media-libs/arc-camera-profile/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/media-libs/arc-cros-gralloc/arc-cros-gralloc-0.0.1-r511.ebuild b/media-libs/arc-cros-gralloc/arc-cros-gralloc-0.0.1-r511.ebuild
deleted file mode 100644
index d51498a..0000000
--- a/media-libs/arc-cros-gralloc/arc-cros-gralloc-0.0.1-r511.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-CROS_WORKON_COMMIT="407eb0ebf3ce52fd4b3d79712d1b86d7b021c29b"
-CROS_WORKON_TREE="889ec259c7672ffc733d3ea60a0403fdddd2735d"
-CROS_WORKON_PROJECT="chromiumos/platform/minigbm"
-CROS_WORKON_LOCALNAME="../platform/minigbm"
-
-inherit multilib-minimal arc-build cros-workon
-
-DESCRIPTION="ChromeOS gralloc implementation"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/minigbm"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-VIDEO_CARDS="amdgpu exynos intel marvell mediatek msm rockchip tegra virgl"
-# shellcheck disable=SC2086
-IUSE="$(printf 'video_cards_%s ' ${VIDEO_CARDS})"
-MINI_GBM_PLATFORMS_USE=( mt8183 mt8192 mt8195 sc7280 )
-IUSE+=" ${MINI_GBM_PLATFORMS_USE[*]/#/minigbm_platform_}"
-
-RDEPEND="
-	!<media-libs/minigbm-0.0.1-r438
-	x11-libs/arc-libdrm[${MULTILIB_USEDEP}]
-"
-DEPEND="
-	${RDEPEND}
-	video_cards_amdgpu? ( virtual/arc-opengles )
-"
-
-src_configure() {
-	# Use arc-build base class to select the right compiler
-	arc-build-select-clang
-
-	# This packages uses -flto with gold, which doesn't support -Os
-	# or -Oz. This produces a 76KB .so, so optimizing for size is
-	# probably not a big deal.
-	cros_optimize_package_for_speed
-
-	BUILD_DIR="$(cros-workon_get_build_dir)"
-
-	append-lfs-flags
-
-	if [[ -n "${ARC_PLATFORM_SDK_VERSION}" ]]; then
-		append-cppflags -DANDROID_API_LEVEL="${ARC_PLATFORM_SDK_VERSION}"
-	fi
-
-	# TODO(gsingh): use pkgconfig
-	if use video_cards_intel; then
-		export DRV_I915=1
-		append-cppflags -DDRV_I915
-		append-cppflags -DI915_SCANOUT_Y_TILED
-	fi
-
-	if use video_cards_rockchip; then
-		export DRV_ROCKCHIP=1
-		append-cppflags -DDRV_ROCKCHIP
-	fi
-
-	if use video_cards_mediatek; then
-		use minigbm_platform_mt8183 && append-cppflags -DMTK_MT8183
-		use minigbm_platform_mt8192 && append-cppflags -DMTK_MT8192
-		use minigbm_platform_mt8195 && append-cppflags -DMTK_MT8195
-		export DRV_MEDIATEK=1
-		append-cppflags -DDRV_MEDIATEK
-	fi
-
-	if use video_cards_msm; then
-		use minigbm_platform_sc7280 && append-cppflags -DSC_7280
-		export DRV_MSM=1
-		append-cppflags -DDRV_MSM
-	fi
-
-	if use video_cards_amdgpu; then
-		export DRV_AMDGPU=1
-		append-cppflags -DDRV_AMDGPU -DHAVE_LIBDRM
-	fi
-
-	if use video_cards_virgl; then
-		append-cppflags -DVIRTIO_GPU_NEXT
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
-	filter-flags "-DDRI_DRIVER_DIR=*"
-	append-cppflags -DDRI_DRIVER_DIR="/vendor/$(get_libdir)/dri"
-	export TARGET_DIR="${BUILD_DIR}/"
-	emake -C "${S}/cros_gralloc"
-	emake -C "${S}/cros_gralloc/gralloc0/tests/"
-}
-
-multilib_src_install() {
-	exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/hw/"
-	doexe "${BUILD_DIR}"/gralloc.cros.so
-	into "/usr/local/"
-	# shellcheck disable=SC2154
-	newbin "${BUILD_DIR}"/gralloctest "gralloctest_${ABI}"
-}
-
-multilib_src_install_all() {
-	# Install cros_gralloc header files for arc-mali-* packages
-	insinto "/usr/include/cros_gralloc"
-	doins "${S}/cros_gralloc/cros_gralloc_handle.h"
-}
diff --git a/media-libs/arc-cros-gralloc/arc-cros-gralloc-0.0.1-r551.ebuild b/media-libs/arc-cros-gralloc/arc-cros-gralloc-0.0.1-r551.ebuild
new file mode 100644
index 0000000..bb2951a
--- /dev/null
+++ b/media-libs/arc-cros-gralloc/arc-cros-gralloc-0.0.1-r551.ebuild
@@ -0,0 +1,130 @@
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+CROS_WORKON_COMMIT="64de5175a02f9a36a4b0aa6fa54e0dd1d64985bf"
+CROS_WORKON_TREE="307193d7a54eb264e2b9246ad4af49c3436fe4b6"
+CROS_WORKON_PROJECT="chromiumos/platform/minigbm"
+CROS_WORKON_LOCALNAME="../platform/minigbm"
+
+inherit multilib-minimal arc-build cros-workon cros-sanitizers
+
+DESCRIPTION="ChromeOS gralloc implementation"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/minigbm"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+VIDEO_CARDS="amdgpu exynos intel marvell mediatek msm rockchip tegra virgl"
+# shellcheck disable=SC2086
+IUSE="$(printf 'video_cards_%s ' ${VIDEO_CARDS})"
+MINI_GBM_PLATFORMS_USE=( mt8183 mt8186 mt8192 mt8195 sc7280 )
+IUSE+=" ${MINI_GBM_PLATFORMS_USE[*]/#/minigbm_platform_}"
+IUSE+=" android-container-pi"
+
+RDEPEND="
+	!<media-libs/minigbm-0.0.1-r438
+	x11-libs/arc-libdrm[${MULTILIB_USEDEP}]
+"
+DEPEND="
+	${RDEPEND}
+	video_cards_amdgpu? ( virtual/arc-opengles )
+"
+
+src_configure() {
+	sanitizers-setup-env
+
+	# Use arc-build base class to select the right compiler
+	arc-build-select-clang
+
+	# This packages uses -flto with gold, which doesn't support -Os
+	# or -Oz. This produces a 76KB .so, so optimizing for size is
+	# probably not a big deal.
+	cros_optimize_package_for_speed
+
+	BUILD_DIR="$(cros-workon_get_build_dir)"
+
+	append-lfs-flags
+
+	if [[ -n "${ARC_PLATFORM_SDK_VERSION}" ]]; then
+		append-cppflags -DANDROID_API_LEVEL="${ARC_PLATFORM_SDK_VERSION}"
+	fi
+
+	# TODO(gsingh): use pkgconfig
+	if use video_cards_intel; then
+		export DRV_I915=1
+		append-cppflags -DDRV_I915
+		append-cppflags -DI915_SCANOUT_Y_TILED
+	fi
+
+	if use video_cards_rockchip; then
+		export DRV_ROCKCHIP=1
+		append-cppflags -DDRV_ROCKCHIP
+	fi
+
+	if use video_cards_mediatek; then
+		use minigbm_platform_mt8183 && append-cppflags -DMTK_MT8183
+		use minigbm_platform_mt8186 && append-cppflags -DMTK_MT8186
+		use minigbm_platform_mt8192 && append-cppflags -DMTK_MT8192
+		use minigbm_platform_mt8195 && append-cppflags -DMTK_MT8195
+		export DRV_MEDIATEK=1
+		append-cppflags -DDRV_MEDIATEK
+	fi
+
+	if use video_cards_msm; then
+		use minigbm_platform_sc7280 && append-cppflags -DSC_7280
+		export DRV_MSM=1
+		append-cppflags -DDRV_MSM
+
+		# On ARC++ UBWC causes visible green artifacts to appear during
+		# window resize eg. during video playback.
+		# This sould be removed once window resizing will handle UBWC
+		# correctly. See b/195709707
+		use arcpp && append-cppflags -DQCOM_DISABLE_COMPRESSED_NV12
+	fi
+
+	if use video_cards_amdgpu; then
+		export DRV_AMDGPU=1
+		append-cppflags -DDRV_AMDGPU -DHAVE_LIBDRM
+	fi
+
+	if use video_cards_virgl; then
+		append-cppflags -DVIRTIO_GPU_NEXT
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_compile() {
+	filter-flags "-DDRI_DRIVER_DIR=*"
+	append-cppflags -DDRI_DRIVER_DIR="/vendor/$(get_libdir)/dri"
+	export TARGET_DIR="${BUILD_DIR}/"
+
+	# ARCVM doesn't need gralloc.cros.so because it uses
+	# gralloc.minigbm_arcvm.so, which is built inside Android vendor image.
+	if use android-container-pi; then
+		emake -C "${S}/cros_gralloc"
+	fi
+
+	emake -C "${S}/cros_gralloc/gralloc0/tests/"
+}
+
+multilib_src_install() {
+	if use android-container-pi; then
+		exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/hw/"
+		doexe "${BUILD_DIR}"/gralloc.cros.so
+	fi
+
+	into "/usr/local/"
+	# shellcheck disable=SC2154
+	newbin "${BUILD_DIR}"/gralloctest "gralloctest_${ABI}"
+}
+
+multilib_src_install_all() {
+	if use android-container-pi; then
+		# Install cros_gralloc header files for arc-mali-* packages
+		insinto "/usr/include/cros_gralloc"
+		doins "${S}/cros_gralloc/cros_gralloc_handle.h"
+	fi
+}
diff --git a/media-libs/arc-cros-gralloc/arc-cros-gralloc-9999.ebuild b/media-libs/arc-cros-gralloc/arc-cros-gralloc-9999.ebuild
index 3f6eca4..75d3587 100644
--- a/media-libs/arc-cros-gralloc/arc-cros-gralloc-9999.ebuild
+++ b/media-libs/arc-cros-gralloc/arc-cros-gralloc-9999.ebuild
@@ -5,7 +5,7 @@
 CROS_WORKON_PROJECT="chromiumos/platform/minigbm"
 CROS_WORKON_LOCALNAME="../platform/minigbm"
 
-inherit multilib-minimal arc-build cros-workon
+inherit multilib-minimal arc-build cros-workon cros-sanitizers
 
 DESCRIPTION="ChromeOS gralloc implementation"
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/minigbm"
@@ -17,8 +17,9 @@
 VIDEO_CARDS="amdgpu exynos intel marvell mediatek msm rockchip tegra virgl"
 # shellcheck disable=SC2086
 IUSE="$(printf 'video_cards_%s ' ${VIDEO_CARDS})"
-MINI_GBM_PLATFORMS_USE=( mt8183 mt8192 mt8195 sc7280 )
+MINI_GBM_PLATFORMS_USE=( mt8183 mt8186 mt8192 mt8195 sc7280 )
 IUSE+=" ${MINI_GBM_PLATFORMS_USE[*]/#/minigbm_platform_}"
+IUSE+=" android-container-pi"
 
 RDEPEND="
 	!<media-libs/minigbm-0.0.1-r438
@@ -30,6 +31,8 @@
 "
 
 src_configure() {
+	sanitizers-setup-env
+
 	# Use arc-build base class to select the right compiler
 	arc-build-select-clang
 
@@ -60,6 +63,7 @@
 
 	if use video_cards_mediatek; then
 		use minigbm_platform_mt8183 && append-cppflags -DMTK_MT8183
+		use minigbm_platform_mt8186 && append-cppflags -DMTK_MT8186
 		use minigbm_platform_mt8192 && append-cppflags -DMTK_MT8192
 		use minigbm_platform_mt8195 && append-cppflags -DMTK_MT8195
 		export DRV_MEDIATEK=1
@@ -70,6 +74,12 @@
 		use minigbm_platform_sc7280 && append-cppflags -DSC_7280
 		export DRV_MSM=1
 		append-cppflags -DDRV_MSM
+
+		# On ARC++ UBWC causes visible green artifacts to appear during
+		# window resize eg. during video playback.
+		# This sould be removed once window resizing will handle UBWC
+		# correctly. See b/195709707
+		use arcpp && append-cppflags -DQCOM_DISABLE_COMPRESSED_NV12
 	fi
 
 	if use video_cards_amdgpu; then
@@ -88,20 +98,31 @@
 	filter-flags "-DDRI_DRIVER_DIR=*"
 	append-cppflags -DDRI_DRIVER_DIR="/vendor/$(get_libdir)/dri"
 	export TARGET_DIR="${BUILD_DIR}/"
-	emake -C "${S}/cros_gralloc"
+
+	# ARCVM doesn't need gralloc.cros.so because it uses
+	# gralloc.minigbm_arcvm.so, which is built inside Android vendor image.
+	if use android-container-pi; then
+		emake -C "${S}/cros_gralloc"
+	fi
+
 	emake -C "${S}/cros_gralloc/gralloc0/tests/"
 }
 
 multilib_src_install() {
-	exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/hw/"
-	doexe "${BUILD_DIR}"/gralloc.cros.so
+	if use android-container-pi; then
+		exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/hw/"
+		doexe "${BUILD_DIR}"/gralloc.cros.so
+	fi
+
 	into "/usr/local/"
 	# shellcheck disable=SC2154
 	newbin "${BUILD_DIR}"/gralloctest "gralloctest_${ABI}"
 }
 
 multilib_src_install_all() {
-	# Install cros_gralloc header files for arc-mali-* packages
-	insinto "/usr/include/cros_gralloc"
-	doins "${S}/cros_gralloc/cros_gralloc_handle.h"
+	if use android-container-pi; then
+		# Install cros_gralloc header files for arc-mali-* packages
+		insinto "/usr/include/cros_gralloc"
+		doins "${S}/cros_gralloc/cros_gralloc_handle.h"
+	fi
 }
diff --git a/media-libs/arc-mesa-amd/arc-mesa-amd-21.2.1-r76.ebuild b/media-libs/arc-mesa-amd/arc-mesa-amd-21.2.1-r76.ebuild
deleted file mode 100644
index c86d1f3..0000000
--- a/media-libs/arc-mesa-amd/arc-mesa-amd-21.2.1-r76.ebuild
+++ /dev/null
@@ -1,218 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-7.9.ebuild,v 1.3 2010/12/05 17:19:14 arfrever Exp $
-
-EAPI="6"
-
-CROS_WORKON_COMMIT="c12e1cb2a45ae586f4db37ba5963163b6ae48e48"
-CROS_WORKON_TREE="df54eccb038d4e32af6d83cf3f40637298234c10"
-CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
-CROS_WORKON_LOCALNAME="mesa-amd"
-CROS_WORKON_EGIT_BRANCH="chromeos-amd"
-
-inherit base meson multilib-minimal flag-o-matic toolchain-funcs cros-workon arc-build
-
-DESCRIPTION="The Mesa 3D Graphics Library"
-HOMEPAGE="http://mesa3d.org/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="*"
-
-VIDEO_CARDS="intel amdgpu radeon freedreno llvmpipe"
-for card in ${VIDEO_CARDS}; do
-	IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
-	android-container-pi -android_vulkan_compute_0 cheets debug
-	vulkan cheets_user cheets_user_64"
-
-# Only allow one vulkan driver as they all write vulkan.cheets.so.
-REQUIRED_USE="
-	android_vulkan_compute_0? ( vulkan )
-	vulkan? ( || ( video_cards_amdgpu video_cards_intel ) )
-"
-
-DEPEND="
-		>=x11-libs/arc-libdrm-2.4.82[${MULTILIB_USEDEP}]
-		sys-devel/arc-llvm:=[${MULTILIB_USEDEP}]
-		dev-libs/arc-libelf[${MULTILIB_USEDEP}]
-"
-
-RDEPEND="${DEPEND} !media-libs/arc-mesa"
-
-driver_list() {
-	local drivers="$(sort -u <<< "${1// /$'\n'}")"
-	echo "${drivers//$'\n'/,}"
-}
-
-src_configure() {
-	cros_optimize_package_for_speed
-	arc-build-select-clang
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	tc-getPROG PKG_CONFIG pkg-config
-
-	# Intel code
-	dri_driver_enable video_cards_intel i965
-
-	gallium_enable video_cards_llvmpipe swrast
-
-	# ATI code
-	gallium_enable video_cards_radeon r300 r600
-	gallium_enable video_cards_amdgpu radeonsi
-
-	# Freedreno code
-	gallium_enable video_cards_freedreno freedreno
-
-	if use vulkan; then
-		vulkan_enable video_cards_amdgpu amd
-		vulkan_enable video_cards_intel intel
-	fi
-
-	# Use llvm-config coming from ARC++ build.
-	export LLVM_CONFIG="${ARC_SYSROOT:?}/build/bin/llvm-config-host"
-
-	# The AOSP build system defines the Make variable
-	# PLATFORM_SDK_VERSION, and Mesa's Android.mk files use it to
-	# define the macro ANDROID_API_LEVEL. Arc emulates that here.
-	CPPFLAGS+=" -DANDROID_API_LEVEL=${ARC_PLATFORM_SDK_VERSION:?}"
-
-	arc-build-create-cross-file
-
-	emesonargs+=(
-		--prefix="${ARC_PREFIX}/vendor"
-		--sysconfdir="/system/vendor/etc"
-		-Ddri-search-path="/system/$(get_libdir)/dri:/system/vendor/$(get_libdir)/dri"
-		-Dgallium-va=false
-		-Dgallium-vdpau=false
-		-Dgallium-xvmc=false
-		-Dgallium-omx=disabled
-		-Dgallum-xa=false
-		-Dasm=false
-		-Dglx=disabled
-		-Ddri3=false
-		-Dgles-lib-suffix=_mesa
-		-Degl-lib-suffix=_mesa
-		-Dllvm=true
-		-Dplatforms=android
-		-Degl=true
-		-Dgbm=false
-		-Dgles1=true
-		-Dgles2=true
-		-Dshared-glapi=true
-		-Ddri-drivers=$(driver_list "${DRI_DRIVERS[*]}")
-		-Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
-		-Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
-		--buildtype $(usex debug debug release)
-		--cross-file="${ARC_CROSS_FILE}"
-		-Dplatform-sdk-version="${ARC_PLATFORM_SDK_VERSION:?}"
-	)
-
-	meson_src_configure
-}
-
-# The meson eclass exports src_compile but not multilib_src_compile. src_compile
-# gets overridden by multilib-minimal
-multilib_src_compile() {
-	meson_src_compile
-}
-
-multilib_src_install() {
-	exeinto "${ARC_PREFIX}/vendor/$(get_libdir)"
-	newexe "${BUILD_DIR}/src/mapi/shared-glapi/libglapi.so.0" libglapi.so.0
-
-	exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/egl"
-	newexe "${BUILD_DIR}/src/egl/libEGL_mesa.so" libEGL_mesa.so
-	newexe "${BUILD_DIR}/src/mapi/es1api/libGLESv1_CM_mesa.so" libGLESv1_CM_mesa.so
-	newexe "${BUILD_DIR}/src/mapi/es2api/libGLESv2_mesa.so" libGLESv2_mesa.so
-
-	exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/dri"
-	if use video_cards_intel; then
-		newexe "${BUILD_DIR}/src/mesa/drivers/dri/libmesa_dri_drivers.so" i965_dri.so
-	fi
-	if use video_cards_llvmpipe; then
-		newexe "${BUILD_DIR}/src/gallium/targets/dri/libgallium_dri.so" kms_swrast_dri.so
-	fi
-	if use video_cards_amdgpu; then
-		newexe "${BUILD_DIR}/src/gallium/targets/dri/libgallium_dri.so" radeonsi_dri.so
-	fi
-
-	if use vulkan; then
-		exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/hw"
-		if use video_cards_amdgpu; then
-			newexe "${BUILD_DIR}/src/amd/vulkan/libvulkan_radeon.so" vulkan.cheets.so
-		fi
-		if use video_cards_intel; then
-			newexe "${BUILD_DIR}/src/intel/vulkan/libvulkan_intel.so" vulkan.cheets.so
-		fi
-	fi
-}
-
-multilib_src_install_all() {
-	# For documentation on the feature set represented by each XML file
-	# installed into /vendor/etc/permissions, see
-	# <https://developer.android.com/reference/android/content/pm/PackageManager.html>.
-	# For example XML files for each feature, see
-	# <https://android.googlesource.com/platform/frameworks/native/+/master/data/etc>.
-
-	# Install init files to advertise supported API versions.
-	insinto "${ARC_PREFIX}/vendor/etc/init"
-	doins "${FILESDIR}/init.gpu.rc"
-
-	# Install vulkan related files.
-	if use vulkan; then
-		einfo "Using android vulkan."
-		insinto "${ARC_PREFIX}/vendor/etc/init"
-		doins "${FILESDIR}/vulkan.rc"
-
-		insinto "${ARC_PREFIX}/vendor/etc/permissions"
-		doins "${FILESDIR}/android.hardware.vulkan.version-1_0_3.xml"
-		if use video_cards_intel; then
-			doins "${FILESDIR}/android.hardware.vulkan.level-1.xml"
-		else
-			doins "${FILESDIR}/android.hardware.vulkan.level-0.xml"
-		fi
-	fi
-
-	if use android_vulkan_compute_0; then
-		einfo "Using android vulkan_compute_0."
-		insinto "${ARC_PREFIX}/vendor/etc/permissions"
-		doins "${FILESDIR}/android.hardware.vulkan.compute-0.xml"
-	fi
-
-	# Install permission file to declare opengles aep support.
-	einfo "Using android aep."
-	insinto "${ARC_PREFIX}/vendor/etc/permissions"
-	doins "${FILESDIR}/android.hardware.opengles.aep.xml"
-
-	# Install the dri header for arc-cros-gralloc
-	insinto "${ARC_PREFIX}/vendor/include/"
-	doins -r "${S}/include/GL/"
-}
-
-# $1 - VIDEO_CARDS flag (check skipped for "--")
-# other args - names of DRI drivers to enable
-dri_driver_enable() {
-	if [[ $1 == -- ]] || use "$1"; then
-		shift
-		DRI_DRIVERS+=("$@")
-	fi
-}
-
-gallium_enable() {
-	if [[ $1 == -- ]] || use "$1"; then
-		shift
-		GALLIUM_DRIVERS+=("$@")
-	fi
-}
-
-vulkan_enable() {
-	if [[ $1 == -- ]] || use "$1"; then
-		shift
-		VULKAN_DRIVERS+=("$@")
-	fi
-}
diff --git a/media-libs/arc-mesa-amd/arc-mesa-amd-22.1.4-r87.ebuild b/media-libs/arc-mesa-amd/arc-mesa-amd-22.1.4-r87.ebuild
new file mode 100644
index 0000000..62a6179
--- /dev/null
+++ b/media-libs/arc-mesa-amd/arc-mesa-amd-22.1.4-r87.ebuild
@@ -0,0 +1,217 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-7.9.ebuild,v 1.3 2010/12/05 17:19:14 arfrever Exp $
+
+EAPI="6"
+
+CROS_WORKON_COMMIT="c5f790199cc0030923547321ec575dc47661a941"
+CROS_WORKON_TREE="a4eb80a9659d7bd3744f9efb755c019f90da23ea"
+CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
+CROS_WORKON_LOCALNAME="mesa-amd"
+CROS_WORKON_EGIT_BRANCH="chromeos-amd"
+
+inherit base meson multilib-minimal flag-o-matic toolchain-funcs cros-workon arc-build
+
+DESCRIPTION="The Mesa 3D Graphics Library"
+HOMEPAGE="http://mesa3d.org/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+
+VIDEO_CARDS="intel amdgpu radeon freedreno llvmpipe"
+for card in ${VIDEO_CARDS}; do
+	IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS}
+	android-container-pi -android_vulkan_compute_0 cheets debug
+	vulkan cheets_user cheets_user_64"
+
+# Only allow one vulkan driver as they all write vulkan.cheets.so.
+REQUIRED_USE="
+	android_vulkan_compute_0? ( vulkan )
+	vulkan? ( || ( video_cards_amdgpu video_cards_intel ) )
+"
+
+DEPEND="
+		>=x11-libs/arc-libdrm-2.4.82[${MULTILIB_USEDEP}]
+		sys-devel/arc-llvm:=[${MULTILIB_USEDEP}]
+		dev-libs/arc-libelf[${MULTILIB_USEDEP}]
+"
+
+RDEPEND="${DEPEND} !media-libs/arc-mesa"
+
+driver_list() {
+	local drivers="$(sort -u <<< "${1// /$'\n'}")"
+	echo "${drivers//$'\n'/,}"
+}
+
+src_configure() {
+	cros_optimize_package_for_speed
+	arc-build-select-clang
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	tc-getPROG PKG_CONFIG pkg-config
+
+	# Intel code
+	dri_driver_enable video_cards_intel i965
+
+	gallium_enable video_cards_llvmpipe swrast
+
+	# ATI code
+	gallium_enable video_cards_radeon r300 r600
+	gallium_enable video_cards_amdgpu radeonsi
+
+	# Freedreno code
+	gallium_enable video_cards_freedreno freedreno
+
+	if use vulkan; then
+		vulkan_enable video_cards_amdgpu amd
+		vulkan_enable video_cards_intel intel
+	fi
+
+	# Use llvm-config coming from ARC++ build.
+	export LLVM_CONFIG="${ARC_SYSROOT:?}/build/bin/llvm-config-host"
+
+	# The AOSP build system defines the Make variable
+	# PLATFORM_SDK_VERSION, and Mesa's Android.mk files use it to
+	# define the macro ANDROID_API_LEVEL. Arc emulates that here.
+	CPPFLAGS+=" -DANDROID_API_LEVEL=${ARC_PLATFORM_SDK_VERSION:?}"
+
+	arc-build-create-cross-file
+
+	emesonargs+=(
+		--prefix="${ARC_PREFIX}/vendor"
+		--sysconfdir="/system/vendor/etc"
+		-Ddri-search-path="/system/$(get_libdir)/dri:/system/vendor/$(get_libdir)/dri"
+		-Dgallium-va=false
+		-Dgallium-vdpau=false
+		-Dgallium-xvmc=false
+		-Dgallium-omx=disabled
+		-Dgallium-xa=false
+		-Dglx=disabled
+		-Ddri3=false
+		-Dgles-lib-suffix=_mesa
+		-Degl-lib-suffix=_mesa
+		-Dllvm=true
+		-Dplatforms=android
+		-Degl=true
+		-Dgbm=false
+		-Dgles1=true
+		-Dgles2=true
+		-Dshared-glapi=true
+		-Ddri-drivers=$(driver_list "${DRI_DRIVERS[*]}")
+		-Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
+		-Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
+		--buildtype $(usex debug debug release)
+		--cross-file="${ARC_CROSS_FILE}"
+		-Dplatform-sdk-version="${ARC_PLATFORM_SDK_VERSION:?}"
+	)
+
+	meson_src_configure
+}
+
+# The meson eclass exports src_compile but not multilib_src_compile. src_compile
+# gets overridden by multilib-minimal
+multilib_src_compile() {
+	meson_src_compile
+}
+
+multilib_src_install() {
+	exeinto "${ARC_PREFIX}/vendor/$(get_libdir)"
+	newexe "${BUILD_DIR}/src/mapi/shared-glapi/libglapi.so.0" libglapi.so.0
+
+	exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/egl"
+	newexe "${BUILD_DIR}/src/egl/libEGL_mesa.so" libEGL_mesa.so
+	newexe "${BUILD_DIR}/src/mapi/es1api/libGLESv1_CM_mesa.so" libGLESv1_CM_mesa.so
+	newexe "${BUILD_DIR}/src/mapi/es2api/libGLESv2_mesa.so" libGLESv2_mesa.so
+
+	exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/dri"
+	if use video_cards_intel; then
+		newexe "${BUILD_DIR}/src/mesa/drivers/dri/libmesa_dri_drivers.so" i965_dri.so
+	fi
+	if use video_cards_llvmpipe; then
+		newexe "${BUILD_DIR}/src/gallium/targets/dri/libgallium_dri.so" kms_swrast_dri.so
+	fi
+	if use video_cards_amdgpu; then
+		newexe "${BUILD_DIR}/src/gallium/targets/dri/libgallium_dri.so" radeonsi_dri.so
+	fi
+
+	if use vulkan; then
+		exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/hw"
+		if use video_cards_amdgpu; then
+			newexe "${BUILD_DIR}/src/amd/vulkan/libvulkan_radeon.so" vulkan.cheets.so
+		fi
+		if use video_cards_intel; then
+			newexe "${BUILD_DIR}/src/intel/vulkan/libvulkan_intel.so" vulkan.cheets.so
+		fi
+	fi
+}
+
+multilib_src_install_all() {
+	# For documentation on the feature set represented by each XML file
+	# installed into /vendor/etc/permissions, see
+	# <https://developer.android.com/reference/android/content/pm/PackageManager.html>.
+	# For example XML files for each feature, see
+	# <https://android.googlesource.com/platform/frameworks/native/+/master/data/etc>.
+
+	# Install init files to advertise supported API versions.
+	insinto "${ARC_PREFIX}/vendor/etc/init"
+	doins "${FILESDIR}/init.gpu.rc"
+
+	# Install vulkan related files.
+	if use vulkan; then
+		einfo "Using android vulkan."
+		insinto "${ARC_PREFIX}/vendor/etc/init"
+		doins "${FILESDIR}/vulkan.rc"
+
+		insinto "${ARC_PREFIX}/vendor/etc/permissions"
+		doins "${FILESDIR}/android.hardware.vulkan.version-1_0_3.xml"
+		if use video_cards_intel; then
+			doins "${FILESDIR}/android.hardware.vulkan.level-1.xml"
+		else
+			doins "${FILESDIR}/android.hardware.vulkan.level-0.xml"
+		fi
+	fi
+
+	if use android_vulkan_compute_0; then
+		einfo "Using android vulkan_compute_0."
+		insinto "${ARC_PREFIX}/vendor/etc/permissions"
+		doins "${FILESDIR}/android.hardware.vulkan.compute-0.xml"
+	fi
+
+	# Install permission file to declare opengles aep support.
+	einfo "Using android aep."
+	insinto "${ARC_PREFIX}/vendor/etc/permissions"
+	doins "${FILESDIR}/android.hardware.opengles.aep.xml"
+
+	# Install the dri header for arc-cros-gralloc
+	insinto "${ARC_PREFIX}/vendor/include/"
+	doins -r "${S}/include/GL/"
+}
+
+# $1 - VIDEO_CARDS flag (check skipped for "--")
+# other args - names of DRI drivers to enable
+dri_driver_enable() {
+	if [[ $1 == -- ]] || use "$1"; then
+		shift
+		DRI_DRIVERS+=("$@")
+	fi
+}
+
+gallium_enable() {
+	if [[ $1 == -- ]] || use "$1"; then
+		shift
+		GALLIUM_DRIVERS+=("$@")
+	fi
+}
+
+vulkan_enable() {
+	if [[ $1 == -- ]] || use "$1"; then
+		shift
+		VULKAN_DRIVERS+=("$@")
+	fi
+}
diff --git a/media-libs/arc-mesa-amd/arc-mesa-amd-9999.ebuild b/media-libs/arc-mesa-amd/arc-mesa-amd-9999.ebuild
index af50e33..134758b 100644
--- a/media-libs/arc-mesa-amd/arc-mesa-amd-9999.ebuild
+++ b/media-libs/arc-mesa-amd/arc-mesa-amd-9999.ebuild
@@ -89,8 +89,7 @@
 		-Dgallium-vdpau=false
 		-Dgallium-xvmc=false
 		-Dgallium-omx=disabled
-		-Dgallum-xa=false
-		-Dasm=false
+		-Dgallium-xa=false
 		-Dglx=disabled
 		-Ddri3=false
 		-Dgles-lib-suffix=_mesa
diff --git a/media-libs/arc-mesa-freedreno/arc-mesa-freedreno-22.0.0_pre-r74.ebuild b/media-libs/arc-mesa-freedreno/arc-mesa-freedreno-22.0.0_pre-r74.ebuild
deleted file mode 100644
index ece01e1..0000000
--- a/media-libs/arc-mesa-freedreno/arc-mesa-freedreno-22.0.0_pre-r74.ebuild
+++ /dev/null
@@ -1,145 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=6
-
-CROS_WORKON_COMMIT="23ea7fdb767626397486b342994c65325418b47b"
-CROS_WORKON_TREE="26c1ee090572c537752937a509a6ba387bd58d62"
-CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
-CROS_WORKON_LOCALNAME="mesa-freedreno"
-CROS_WORKON_EGIT_BRANCH="chromeos-freedreno"
-
-inherit base meson multilib-minimal flag-o-matic toolchain-funcs cros-workon arc-build
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="http://mesa3d.sourceforge.net/"
-
-KEYWORDS="*"
-
-# Most files are MIT/X11.
-# Some files in src/glx are SGI-B-2.0.
-LICENSE="MIT SGI-B-2.0"
-SLOT="0"
-
-IUSE="
-	cheets
-	cheets_user
-	cheets_user_64
-	debug
-	vulkan
-	android_vulkan_compute_0
-"
-
-REQUIRED_USE="
-	cheets
-	android_vulkan_compute_0? ( vulkan )
-"
-
-DEPEND="
-	>=x11-libs/arc-libdrm-2.4.82[${MULTILIB_USEDEP}]
-	dev-libs/arc-libelf[${MULTILIB_USEDEP}]
-"
-
-RDEPEND="${DEPEND}"
-
-src_configure() {
-	arc-build-select-clang
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	tc-getPROG PKG_CONFIG pkg-config
-
-	arc-build-create-cross-file
-
-	emesonargs+=(
-		--prefix="${ARC_PREFIX}/vendor"
-		--sysconfdir="/system/vendor/etc"
-		-Ddri-search-path="/system/$(get_libdir)/dri:/system/vendor/$(get_libdir)/dri"
-		-Dllvm=disabled
-		-Ddri3=disabled
-		-Dshader-cache=enabled
-		-Dglx=disabled
-		-Degl=enabled
-		-Dgbm=disabled
-		-Dgles1=enabled
-		-Dgles2=enabled
-		-Dshared-glapi=enabled
-		-Ddri-drivers=
-		-Dgallium-drivers=freedreno
-		-Dgallium-vdpau=disabled
-		-Dgallium-xa=disabled
-		-Dplatforms=android
-		-Dplatform-sdk-version="${ARC_PLATFORM_SDK_VERSION}"
-		-Degl-lib-suffix=_mesa
-		-Dgles-lib-suffix=_mesa
-		--buildtype $(usex debug debug release)
-		-Dvulkan-drivers=$(usex vulkan freedreno '')
-		--cross-file="${ARC_CROSS_FILE}"
-	)
-
-	meson_src_configure
-}
-
-# The meson eclass exports src_compile but not multilib_src_compile. src_compile
-# gets overridden by multilib-minimal
-multilib_src_compile() {
-	meson_src_compile
-}
-
-multilib_src_install() {
-	exeinto "${ARC_PREFIX}/vendor/$(get_libdir)"
-	newexe "${BUILD_DIR}/src/mapi/shared-glapi/libglapi.so.0" libglapi.so.0
-
-	exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/egl"
-	newexe "${BUILD_DIR}/src/egl/libEGL_mesa.so" libEGL_mesa.so
-	newexe "${BUILD_DIR}/src/mapi/es1api/libGLESv1_CM_mesa.so" libGLESv1_CM_mesa.so
-	newexe "${BUILD_DIR}/src/mapi/es2api/libGLESv2_mesa.so" libGLESv2_mesa.so
-
-	exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/dri"
-	newexe "${BUILD_DIR}/src/gallium/targets/dri/libgallium_dri.so" msm_dri.so
-
-	if use vulkan; then
-		exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/hw"
-		newexe "${BUILD_DIR}/src/freedreno/vulkan/libvulkan_freedreno.so" vulkan.cheets.so
-	fi
-}
-
-multilib_src_install_all() {
-	# For documentation on the feature set represented by each XML file
-	# installed into /vendor/etc/permissions, see
-	# <https://developer.android.com/reference/android/content/pm/PackageManager.html>.
-	# For example XML files for each feature, see
-	# <https://android.googlesource.com/platform/frameworks/native/+/master/data/etc>.
-
-	# Install init files to advertise supported API versions.
-	insinto "${ARC_PREFIX}/vendor/etc/init"
-	doins "${FILESDIR}/gles32.rc"
-
-	# Install vulkan files
-	if use vulkan; then
-		einfo "Using android vulkan."
-		insinto "${ARC_PREFIX}/vendor/etc/init"
-		doins "${FILESDIR}/vulkan.rc"
-
-		insinto "${ARC_PREFIX}/vendor/etc/permissions"
-		doins "${FILESDIR}/android.hardware.vulkan.level-1.xml"
-		doins "${FILESDIR}/android.hardware.vulkan.version-1_1.xml"
-
-		if use android_vulkan_compute_0; then
-			einfo "Using android vulkan_compute_0."
-			insinto "${ARC_PREFIX}/vendor/etc/permissions"
-			doins "${FILESDIR}/android.hardware.vulkan.compute-0.xml"
-		fi
-	fi
-
-	# Install the dri header for arc-cros-gralloc
-	insinto "${ARC_PREFIX}/vendor/include/GL"
-	doins -r "${S}/include/GL/internal"
-
-	# Install permission file to declare opengles aep support.
-	insinto "${ARC_PREFIX}/vendor/etc/permissions"
-	doins "${FILESDIR}/android.hardware.opengles.aep.xml"
-}
diff --git a/media-libs/arc-mesa-freedreno/arc-mesa-freedreno-22.3.0_pre-r80.ebuild b/media-libs/arc-mesa-freedreno/arc-mesa-freedreno-22.3.0_pre-r80.ebuild
new file mode 100644
index 0000000..28c45fe
--- /dev/null
+++ b/media-libs/arc-mesa-freedreno/arc-mesa-freedreno-22.3.0_pre-r80.ebuild
@@ -0,0 +1,145 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=6
+
+CROS_WORKON_COMMIT="d6e328d118f95829e569b07692e727f82e34f030"
+CROS_WORKON_TREE="a3e5ce4259de770713970232d0b5a43edc478a83"
+CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
+CROS_WORKON_LOCALNAME="mesa-freedreno"
+CROS_WORKON_EGIT_BRANCH="chromeos-freedreno"
+
+inherit base meson multilib-minimal flag-o-matic toolchain-funcs cros-workon arc-build
+
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="http://mesa3d.sourceforge.net/"
+
+KEYWORDS="*"
+
+# Most files are MIT/X11.
+# Some files in src/glx are SGI-B-2.0.
+LICENSE="MIT SGI-B-2.0"
+SLOT="0"
+
+IUSE="
+	cheets
+	cheets_user
+	cheets_user_64
+	debug
+	vulkan
+	android_vulkan_compute_0
+"
+
+REQUIRED_USE="
+	cheets
+	android_vulkan_compute_0? ( vulkan )
+"
+
+DEPEND="
+	>=x11-libs/arc-libdrm-2.4.82[${MULTILIB_USEDEP}]
+	dev-libs/arc-libelf[${MULTILIB_USEDEP}]
+"
+
+RDEPEND="${DEPEND}"
+
+src_configure() {
+	arc-build-select-clang
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	tc-getPROG PKG_CONFIG pkg-config
+
+	arc-build-create-cross-file
+
+	emesonargs+=(
+		--prefix="${ARC_PREFIX}/vendor"
+		--sysconfdir="/system/vendor/etc"
+		-Ddri-search-path="/system/$(get_libdir)/dri:/system/vendor/$(get_libdir)/dri"
+		-Dllvm=disabled
+		-Ddri3=disabled
+		-Dshader-cache=enabled
+		-Dglx=disabled
+		-Degl=enabled
+		-Dgbm=disabled
+		-Dgles1=enabled
+		-Dgles2=enabled
+		-Dshared-glapi=enabled
+		-Ddri-drivers=
+		-Dgallium-drivers=freedreno
+		-Dgallium-vdpau=disabled
+		-Dgallium-xa=disabled
+		-Dplatforms=android
+		-Dplatform-sdk-version="${ARC_PLATFORM_SDK_VERSION}"
+		-Degl-lib-suffix=_mesa
+		-Dgles-lib-suffix=_mesa
+		--buildtype $(usex debug debug release)
+		-Dvulkan-drivers=$(usex vulkan freedreno '')
+		--cross-file="${ARC_CROSS_FILE}"
+	)
+
+	meson_src_configure
+}
+
+# The meson eclass exports src_compile but not multilib_src_compile. src_compile
+# gets overridden by multilib-minimal
+multilib_src_compile() {
+	meson_src_compile
+}
+
+multilib_src_install() {
+	exeinto "${ARC_PREFIX}/vendor/$(get_libdir)"
+	newexe "${BUILD_DIR}/src/mapi/shared-glapi/libglapi.so.0" libglapi.so.0
+
+	exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/egl"
+	newexe "${BUILD_DIR}/src/egl/libEGL_mesa.so" libEGL_mesa.so
+	newexe "${BUILD_DIR}/src/mapi/es1api/libGLESv1_CM_mesa.so" libGLESv1_CM_mesa.so
+	newexe "${BUILD_DIR}/src/mapi/es2api/libGLESv2_mesa.so" libGLESv2_mesa.so
+
+	exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/dri"
+	newexe "${BUILD_DIR}/src/gallium/targets/dri/libgallium_dri.so" msm_dri.so
+
+	if use vulkan; then
+		exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/hw"
+		newexe "${BUILD_DIR}/src/freedreno/vulkan/libvulkan_freedreno.so" vulkan.cheets.so
+	fi
+}
+
+multilib_src_install_all() {
+	# For documentation on the feature set represented by each XML file
+	# installed into /vendor/etc/permissions, see
+	# <https://developer.android.com/reference/android/content/pm/PackageManager.html>.
+	# For example XML files for each feature, see
+	# <https://android.googlesource.com/platform/frameworks/native/+/master/data/etc>.
+
+	# Install init files to advertise supported API versions.
+	insinto "${ARC_PREFIX}/vendor/etc/init"
+	doins "${FILESDIR}/gles32.rc"
+
+	# Install vulkan files
+	if use vulkan; then
+		einfo "Using android vulkan."
+		insinto "${ARC_PREFIX}/vendor/etc/init"
+		doins "${FILESDIR}/vulkan.rc"
+
+		insinto "${ARC_PREFIX}/vendor/etc/permissions"
+		doins "${FILESDIR}/android.hardware.vulkan.level-1.xml"
+		doins "${FILESDIR}/android.hardware.vulkan.version-1_1.xml"
+
+		if use android_vulkan_compute_0; then
+			einfo "Using android vulkan_compute_0."
+			insinto "${ARC_PREFIX}/vendor/etc/permissions"
+			doins "${FILESDIR}/android.hardware.vulkan.compute-0.xml"
+		fi
+	fi
+
+	# Install the dri header for arc-cros-gralloc
+	insinto "${ARC_PREFIX}/vendor/include/GL"
+	doins -r "${S}/include/GL/internal"
+
+	# Install permission file to declare opengles aep support.
+	insinto "${ARC_PREFIX}/vendor/etc/permissions"
+	doins "${FILESDIR}/android.hardware.opengles.aep.xml"
+}
diff --git a/media-libs/arc-mesa-iris/arc-mesa-iris-21.2.5-r36.ebuild b/media-libs/arc-mesa-iris/arc-mesa-iris-21.2.5-r36.ebuild
deleted file mode 100644
index 724e98f..0000000
--- a/media-libs/arc-mesa-iris/arc-mesa-iris-21.2.5-r36.ebuild
+++ /dev/null
@@ -1,153 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=6
-
-CROS_WORKON_COMMIT="0a012f29841f4340d99fc4213ba2f360e5a4bb74"
-CROS_WORKON_TREE="4049f13733d26cfc9a9360f0868039fba31959db"
-CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
-CROS_WORKON_LOCALNAME="mesa-iris"
-CROS_WORKON_EGIT_BRANCH="chromeos-iris"
-
-inherit base meson multilib-minimal flag-o-matic cros-workon arc-build
-
-DESCRIPTION="The Mesa 3D Graphics Library"
-HOMEPAGE="http://mesa3d.org/"
-
-KEYWORDS="*"
-
-# Most files are MIT/X11.
-# Some files in src/glx are SGI-B-2.0.
-LICENSE="MIT SGI-B-2.0"
-SLOT="0"
-
-IUSE="
-	cheets
-	cheets_user
-	cheets_user_64
-	debug
-	vulkan
-	android_vulkan_compute_0
-	android_aep
-"
-
-REQUIRED_USE="
-	cheets
-	android_vulkan_compute_0? ( vulkan )
-"
-
-DEPEND="
-	>=x11-libs/arc-libdrm-2.4.82[${MULTILIB_USEDEP}]
-	dev-libs/arc-libelf[${MULTILIB_USEDEP}]
-"
-
-RDEPEND="${DEPEND}"
-
-src_configure() {
-	arc-build-select-clang
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	# The AOSP build system defines the Make variable PLATFORM_SDK_VERSION,
-	# and Mesa's Android.mk files use it to define the macro
-	# ANDROID_API_LEVEL. Arc emulates that here.
-	if [[ -n "${ARC_PLATFORM_SDK_VERSION}" ]]; then
-		CPPFLAGS+=" -DANDROID_API_LEVEL=${ARC_PLATFORM_SDK_VERSION}"
-	fi
-
-	arc-build-create-cross-file
-
-	emesonargs+=(
-		--prefix="${ARC_PREFIX}/vendor"
-		--sysconfdir="/system/vendor/etc"
-		-Ddri-search-path="/system/$(get_libdir)/dri:/system/vendor/$(get_libdir)/dri"
-		-Dllvm=false
-		-Ddri3=false
-		-Dshader-cache=true
-		-Dglx=disabled
-		-Degl=true
-		-Dgbm=false
-		-Dgles1=true
-		-Dgles2=true
-		-Dshared-glapi=true
-		-Ddri-drivers=
-		-Dgallium-drivers=iris
-		-Dgallium-vdpau=false
-		-Dgallium-xa=false
-		-Dplatforms=android
-		-Degl-lib-suffix=_mesa
-		-Dgles-lib-suffix=_mesa
-		-Dvulkan-drivers=$(usex vulkan intel '')
-		--buildtype $(usex debug debug release)
-		--cross-file="${ARC_CROSS_FILE}"
-		-Dplatform-sdk-version="${ARC_PLATFORM_SDK_VERSION}"
-	)
-
-	meson_src_configure
-}
-
-# The meson eclass exports src_compile but not multilib_src_compile. src_compile
-# gets overridden by multilib-minimal
-multilib_src_compile() {
-	meson_src_compile
-}
-
-multilib_src_install() {
-	exeinto "${ARC_PREFIX}/vendor/$(get_libdir)"
-	newexe "${BUILD_DIR}/src/mapi/shared-glapi/libglapi.so.0" libglapi.so.0
-
-	exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/egl"
-	newexe "${BUILD_DIR}/src/egl/libEGL_mesa.so" libEGL_mesa.so
-	newexe "${BUILD_DIR}/src/mapi/es1api/libGLESv1_CM_mesa.so" libGLESv1_CM_mesa.so
-	newexe "${BUILD_DIR}/src/mapi/es2api/libGLESv2_mesa.so" libGLESv2_mesa.so
-
-	exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/dri"
-	newexe "${BUILD_DIR}/src/gallium/targets/dri/libgallium_dri.so" iris_dri.so
-
-	if use vulkan; then
-		exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/hw"
-		newexe "${BUILD_DIR}/src/intel/vulkan/libvulkan_intel.so" vulkan.cheets.so
-	fi
-}
-
-multilib_src_install_all() {
-	# For documentation on the feature set represented by each XML file
-	# installed into /vendor/etc/permissions, see
-	# <https://developer.android.com/reference/android/content/pm/PackageManager.html>.
-	# For example XML files for each feature, see
-	# <https://android.googlesource.com/platform/frameworks/native/+/master/data/etc>.
-
-	# Install init files to advertise supported API versions.
-	insinto "${ARC_PREFIX}/vendor/etc/init"
-	doins "${FILESDIR}/gles32.rc"
-
-	# Install vulkan files
-	if use vulkan; then
-		einfo "Using android vulkan."
-		insinto "${ARC_PREFIX}/vendor/etc/init"
-		doins "${FILESDIR}/vulkan.rc"
-
-		insinto "${ARC_PREFIX}/vendor/etc/permissions"
-		doins "${FILESDIR}/android.hardware.vulkan.level-1.xml"
-		doins "${FILESDIR}/android.hardware.vulkan.version-1_1.xml"
-
-		if use android_vulkan_compute_0; then
-			einfo "Using android vulkan_compute_0."
-			insinto "${ARC_PREFIX}/vendor/etc/permissions"
-			doins "${FILESDIR}/android.hardware.vulkan.compute-0.xml"
-		fi
-	fi
-
-	# Install permission file to declare opengles aep support.
-	if use android_aep; then
-		einfo "Using android aep."
-		insinto "${ARC_PREFIX}/vendor/etc/permissions"
-		doins "${FILESDIR}/android.hardware.opengles.aep.xml"
-	fi
-	# Install the dri header for arc-cros-gralloc
-	insinto "${ARC_PREFIX}/vendor/include/GL"
-	doins -r "${S}/include/GL/internal"
-}
diff --git a/media-libs/arc-mesa-iris/arc-mesa-iris-22.1.4-r50.ebuild b/media-libs/arc-mesa-iris/arc-mesa-iris-22.1.4-r50.ebuild
new file mode 100644
index 0000000..2db3d21
--- /dev/null
+++ b/media-libs/arc-mesa-iris/arc-mesa-iris-22.1.4-r50.ebuild
@@ -0,0 +1,153 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=6
+
+CROS_WORKON_COMMIT="df45e163805577a03ad3b701edb1974498a3c522"
+CROS_WORKON_TREE="6f7e0fcf8fa0ac39af0cb8bd0ae435c46fd501a5"
+CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
+CROS_WORKON_LOCALNAME="mesa-iris"
+CROS_WORKON_EGIT_BRANCH="chromeos-iris"
+
+inherit base meson multilib-minimal flag-o-matic cros-workon arc-build
+
+DESCRIPTION="The Mesa 3D Graphics Library"
+HOMEPAGE="http://mesa3d.org/"
+
+KEYWORDS="*"
+
+# Most files are MIT/X11.
+# Some files in src/glx are SGI-B-2.0.
+LICENSE="MIT SGI-B-2.0"
+SLOT="0"
+
+IUSE="
+	cheets
+	cheets_user
+	cheets_user_64
+	debug
+	vulkan
+	android_vulkan_compute_0
+	android_aep
+"
+
+REQUIRED_USE="
+	cheets
+	android_vulkan_compute_0? ( vulkan )
+"
+
+DEPEND="
+	>=x11-libs/arc-libdrm-2.4.82[${MULTILIB_USEDEP}]
+	dev-libs/arc-libelf[${MULTILIB_USEDEP}]
+"
+
+RDEPEND="${DEPEND}"
+
+src_configure() {
+	arc-build-select-clang
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# The AOSP build system defines the Make variable PLATFORM_SDK_VERSION,
+	# and Mesa's Android.mk files use it to define the macro
+	# ANDROID_API_LEVEL. Arc emulates that here.
+	if [[ -n "${ARC_PLATFORM_SDK_VERSION}" ]]; then
+		CPPFLAGS+=" -DANDROID_API_LEVEL=${ARC_PLATFORM_SDK_VERSION}"
+	fi
+
+	arc-build-create-cross-file
+
+	emesonargs+=(
+		--prefix="${ARC_PREFIX}/vendor"
+		--sysconfdir="/system/vendor/etc"
+		-Ddri-search-path="/system/$(get_libdir)/dri:/system/vendor/$(get_libdir)/dri"
+		-Dllvm=false
+		-Ddri3=false
+		-Dshader-cache=true
+		-Dglx=disabled
+		-Degl=true
+		-Dgbm=false
+		-Dgles1=true
+		-Dgles2=true
+		-Dshared-glapi=true
+		-Ddri-drivers=
+		-Dgallium-drivers=iris
+		-Dgallium-vdpau=false
+		-Dgallium-xa=false
+		-Dplatforms=android
+		-Degl-lib-suffix=_mesa
+		-Dgles-lib-suffix=_mesa
+		-Dvulkan-drivers=$(usex vulkan intel '')
+		--buildtype $(usex debug debug release)
+		--cross-file="${ARC_CROSS_FILE}"
+		-Dplatform-sdk-version="${ARC_PLATFORM_SDK_VERSION}"
+	)
+
+	meson_src_configure
+}
+
+# The meson eclass exports src_compile but not multilib_src_compile. src_compile
+# gets overridden by multilib-minimal
+multilib_src_compile() {
+	meson_src_compile
+}
+
+multilib_src_install() {
+	exeinto "${ARC_PREFIX}/vendor/$(get_libdir)"
+	newexe "${BUILD_DIR}/src/mapi/shared-glapi/libglapi.so.0" libglapi.so.0
+
+	exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/egl"
+	newexe "${BUILD_DIR}/src/egl/libEGL_mesa.so" libEGL_mesa.so
+	newexe "${BUILD_DIR}/src/mapi/es1api/libGLESv1_CM_mesa.so" libGLESv1_CM_mesa.so
+	newexe "${BUILD_DIR}/src/mapi/es2api/libGLESv2_mesa.so" libGLESv2_mesa.so
+
+	exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/dri"
+	newexe "${BUILD_DIR}/src/gallium/targets/dri/libgallium_dri.so" iris_dri.so
+
+	if use vulkan; then
+		exeinto "${ARC_PREFIX}/vendor/$(get_libdir)/hw"
+		newexe "${BUILD_DIR}/src/intel/vulkan/libvulkan_intel.so" vulkan.cheets.so
+	fi
+}
+
+multilib_src_install_all() {
+	# For documentation on the feature set represented by each XML file
+	# installed into /vendor/etc/permissions, see
+	# <https://developer.android.com/reference/android/content/pm/PackageManager.html>.
+	# For example XML files for each feature, see
+	# <https://android.googlesource.com/platform/frameworks/native/+/master/data/etc>.
+
+	# Install init files to advertise supported API versions.
+	insinto "${ARC_PREFIX}/vendor/etc/init"
+	doins "${FILESDIR}/gles32.rc"
+
+	# Install vulkan files
+	if use vulkan; then
+		einfo "Using android vulkan."
+		insinto "${ARC_PREFIX}/vendor/etc/init"
+		doins "${FILESDIR}/vulkan.rc"
+
+		insinto "${ARC_PREFIX}/vendor/etc/permissions"
+		doins "${FILESDIR}/android.hardware.vulkan.level-1.xml"
+		doins "${FILESDIR}/android.hardware.vulkan.version-1_1.xml"
+
+		if use android_vulkan_compute_0; then
+			einfo "Using android vulkan_compute_0."
+			insinto "${ARC_PREFIX}/vendor/etc/permissions"
+			doins "${FILESDIR}/android.hardware.vulkan.compute-0.xml"
+		fi
+	fi
+
+	# Install permission file to declare opengles aep support.
+	if use android_aep; then
+		einfo "Using android aep."
+		insinto "${ARC_PREFIX}/vendor/etc/permissions"
+		doins "${FILESDIR}/android.hardware.opengles.aep.xml"
+	fi
+	# Install the dri header for arc-cros-gralloc
+	insinto "${ARC_PREFIX}/vendor/include/GL"
+	doins -r "${S}/include/GL/internal"
+}
diff --git a/media-libs/arc-mesa-virgl/arc-mesa-virgl-22.0.0_rc2-r4.ebuild b/media-libs/arc-mesa-virgl/arc-mesa-virgl-22.0.0_rc2-r4.ebuild
deleted file mode 100644
index f08f54d..0000000
--- a/media-libs/arc-mesa-virgl/arc-mesa-virgl-22.0.0_rc2-r4.ebuild
+++ /dev/null
@@ -1,418 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-7.9.ebuild,v 1.3 2010/12/05 17:19:14 arfrever Exp $
-
-EAPI="6"
-
-CROS_WORKON_COMMIT="5396e361c0acc1863d97cb73ac5116d0e7f1a8d2"
-CROS_WORKON_TREE="16d9e8abb49237fb62ed6dcd92b2f7560cc7bbbf"
-EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa"
-CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
-CROS_WORKON_LOCALNAME="mesa-arcvm"
-CROS_WORKON_EGIT_BRANCH="chromeos-arcvm"
-
-inherit base meson multilib-minimal flag-o-matic toolchain-funcs cros-workon arc-build
-
-OPENGL_DIR="xorg-x11"
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="http://mesa3d.sourceforge.net/"
-
-# Most of the code is MIT/X11.
-# ralloc is LGPL-3
-# GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0
-LICENSE="MIT LGPL-3 SGI-B-2.0"
-SLOT="0"
-KEYWORDS="*"
-
-INTEL_CARDS="intel"
-RADEON_CARDS="amdgpu radeon"
-VIDEO_CARDS="${INTEL_CARDS} ${RADEON_CARDS} llvmpipe mach64 mga nouveau powervr
-	r128 savage sis vmware tdfx via freedreno virgl mediatek"
-for card in ${VIDEO_CARDS}; do
-	IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-# TODO(b/160748345): Remove hardcoded ARC_PLATFORM_SDK_VERSION when fixed.
-ARC_PLATFORM_SDK_VERSION=28
-
-IUSE="${IUSE_VIDEO_CARDS}
-	android_aep -android_gles2 -android_gles30
-	+android_gles31 -android_gles32 -android_vulkan_compute_0 -swvulkan
-	+cheets classic debug dri +egl +gallium
-	-gbm +gles1 +gles2 -llvm +nptl pic selinux +shared-glapi -vulkan -X xlib-glx
-	cheets_user cheets_user_64"
-
-# llvmpipe requires ARC++ _userdebug images, ARC++ _user images can't use it
-# (b/33072485, b/28802929).
-# Only allow one vulkan driver as they all write vulkan.cheets.so.
-REQUIRED_USE="
-	^^ ( android_gles2 android_gles30 android_gles31 android_gles32 )
-	android_aep? ( !android_gles2 !android_gles30 )
-	android_vulkan_compute_0? ( vulkan )"
-
-DEPEND="cheets? (
-		>=x11-libs/arc-libdrm-2.4.82[${MULTILIB_USEDEP}]
-		llvm? ( sys-devel/arc-llvm:=[${MULTILIB_USEDEP}] )
-	)"
-
-RDEPEND="${DEPEND}"
-
-# It is slow without texrels, if someone wants slow
-# mesa without texrels +pic use is worth the shot
-QA_EXECSTACK="usr/lib*/opengl/xorg-x11/lib/libGL.so*"
-QA_WX_LOAD="usr/lib*/opengl/xorg-x11/lib/libGL.so*"
-
-# Think about: ggi, fbcon, no-X configs
-
-driver_list() {
-	local uniq_driver=($(printf "%s\n" "$@" | sort -u))
-	local IFS=,
-	echo "${uniq_driver[*]}"
-}
-
-pkg_setup() {
-	# workaround toc-issue wrt #386545
-	use ppc64 && append-flags -mminimal-toc
-
-	# Remove symlinks created by an earlier version so we don't have
-	# install conflicts.
-	# TODO: Delete this after June 2019, since everybody should have
-	# upgraded by then.
-	local d
-	for d in EGL GL GLES GLES2 GLES3 KHR; do
-		local replaced_link="${ROOT}${ARC_VM_PREFIX}/vendor/include/${d}"
-		if [[ -L "${replaced_link}" ]]; then
-			rm -f "${replaced_link}"
-		fi
-	done
-}
-
-src_prepare() {
-	# workaround for cros-workon not preserving git metadata
-	if [[ ${PV} == 9999* && "${CROS_WORKON_INPLACE}" != "1" ]]; then
-		echo "#define MESA_GIT_SHA1 \"git-deadbeef\"" > src/git_sha1.h
-	fi
-
-	# apply patches
-	if [[ ${PV} != 9999* && -n ${SRC_PATCHES} ]]; then
-		EPATCH_FORCE="yes" \
-		EPATCH_SOURCE="${WORKDIR}/patches" \
-		EPATCH_SUFFIX="patch" \
-		epatch
-	fi
-	# FreeBSD 6.* doesn't have posix_memalign().
-	if [[ ${CHOST} == *-freebsd6.* ]]; then
-		sed -i \
-			-e "s/-DHAVE_POSIX_MEMALIGN//" \
-			configure.ac || die
-	fi
-
-	# Restrict gles version based on USE flag. (See crbug.com/30202361, b/30202371, b/31041422, b:68023287)
-	if use android_gles32; then
-		einfo "Limiting android to gles32."
-		epatch "${FILESDIR}/gles32/0001-limit-gles-version.patch"
-	elif use android_gles31; then
-		einfo "Limiting android to gles31."
-		epatch "${FILESDIR}/gles31/0001-limit-gles-version.patch"
-	elif use android_gles30; then
-		einfo "Limiting android to gles30."
-		epatch "${FILESDIR}/gles30/0001-limit-gles-version.patch"
-	elif use android_gles2; then
-		einfo "Limiting android to gles2."
-		epatch "${FILESDIR}/gles2/0001-limit-gles-version.patch"
-	fi
-
-	default
-}
-
-src_configure() {
-	cros_optimize_package_for_speed
-
-	if use cheets; then
-		#
-		# cheets-specific overrides
-		#
-
-		arc-build-select-clang
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	tc-getPROG PKG_CONFIG pkg-config
-
-	if use !gallium && use !classic && use !vulkan; then
-		ewarn "You enabled neither classic, gallium, nor vulkan "
-		ewarn "USE flags. No hardware drivers will be built."
-	fi
-
-	gallium_enable virgl
-
-	if use vulkan; then
-		vulkan_enable virtio-experimental
-	fi
-
-	export LLVM_CONFIG=${SYSROOT}/usr/bin/llvm-config-host
-	EGL_PLATFORM="surfaceless"
-
-	if use cheets; then
-		#
-		# cheets-specific overrides
-		#
-
-		MESA_PLATFORM_SDK_VERSION=${ARC_PLATFORM_SDK_VERSION}
-
-		# Use llvm-config coming from ARC++ build.
-		export LLVM_CONFIG="${ARC_SYSROOT}/build/bin/llvm-config-host"
-
-		# FIXME(tfiga): Possibly use flag?
-		EGL_PLATFORM="android"
-
-		# The AOSP build system defines the Make variable
-		# PLATFORM_SDK_VERSION, and Mesa's Android.mk files use it to
-		# define the macro ANDROID_API_LEVEL. Arc emulates that here.
-		if [[ -n "${ARC_PLATFORM_SDK_VERSION}" ]]; then
-			CPPFLAGS+=" -DANDROID_API_LEVEL=${ARC_PLATFORM_SDK_VERSION}"
-		fi
-
-		#
-		# end of arc-mesa specific overrides
-		#
-	fi
-
-	if ! use llvm; then
-		export LLVM_CONFIG="no"
-	fi
-
-	arc-build-create-cross-file
-
-	emesonargs+=(
-		$(use cheets && echo "--prefix=${ARC_VM_PREFIX}/vendor")
-		$(use cheets && echo "--sysconfdir=/system/vendor/etc")
-		$(use cheets && echo "-Ddri-search-path=/system/$(get_libdir)/dri:/system/vendor/$(get_libdir)/dri")
-		-Dgallium-va=false
-		-Dgallium-vdpau=false
-		-Dgallium-xvmc=false
-		-Dgallium-omx=disabled
-		-Dglx=disabled
-		-Ddri3=false
-		-Dgles-lib-suffix=_mesa
-		-Degl-lib-suffix=_mesa
-		$(meson_use llvm)
-		$(use egl && echo "-Dplatforms=${EGL_PLATFORM}")
-		$(meson_use egl)
-		$(meson_use gbm)
-		$(meson_use gles1)
-		$(meson_use gles2)
-		$(meson_use selinux)
-		$(meson_use shared-glapi)
-		-Ddri-drivers=$(driver_list "${DRI_DRIVERS[@]}")
-		-Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[@]}")
-		-Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[@]}")
-		--buildtype $(usex debug debug release)
-		$(use cheets && echo "--cross-file=${ARC_CROSS_FILE}")
-		$(use cheets && echo "-Dplatform-sdk-version=${ARC_PLATFORM_SDK_VERSION}")
-	)
-
-	meson_src_configure
-}
-
-# The meson eclass exports src_compile but not multilib_src_compile. src_compile
-# gets overridden by multilib-minimal
-multilib_src_compile() {
-	meson_src_compile
-}
-
-multilib_src_install_cheets() {
-	exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)"
-	newexe ${BUILD_DIR}/src/mapi/shared-glapi/libglapi.so.0 libglapi.so.0
-
-	exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)/egl"
-	newexe ${BUILD_DIR}/src/egl/libEGL_mesa.so libEGL_mesa.so
-	newexe ${BUILD_DIR}/src/mapi/es1api/libGLESv1_CM_mesa.so libGLESv1_CM_mesa.so
-	newexe ${BUILD_DIR}/src/mapi/es2api/libGLESv2_mesa.so libGLESv2_mesa.so
-
-	exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)/dri"
-	newexe ${BUILD_DIR}/src/gallium/targets/dri/libgallium_dri.so virtio_gpu_dri.so
-
-	if use vulkan; then
-		exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)/hw"
-		newexe "${BUILD_DIR}"/src/virtio/vulkan/libvulkan_virtio.so vulkan.cheets.so
-	fi
-}
-
-multilib_src_install() {
-	if use cheets; then
-		multilib_src_install_cheets
-		return
-	fi
-
-	meson_src_install
-
-	# Remove redundant headers
-	# GLU and GLUT
-	rm -f "${D}"/usr/include/GL/glu*.h || die "Removing GLU and GLUT headers failed."
-	# Glew includes
-	rm -f "${D}"/usr/include/GL/{glew,glxew,wglew}.h \
-		|| die "Removing glew includes failed."
-
-	# Move libGL and others from /usr/lib to /usr/lib/opengl/blah/lib
-	# because user can eselect desired GL provider.
-	ebegin "Moving libGL and friends for dynamic switching"
-		dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/{lib,extensions,include}
-		local x
-		for x in "${D}"/usr/$(get_libdir)/libGL.{la,a,so*}; do
-			if [ -f ${x} -o -L ${x} ]; then
-				mv -f "${x}" "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/lib \
-					|| die "Failed to move ${x}"
-			fi
-		done
-		for x in "${D}"/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}; do
-			if [ -f ${x} -o -L ${x} ]; then
-				mv -f "${x}" "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/include \
-					|| die "Failed to move ${x}"
-			fi
-		done
-	eend $?
-
-	dodir /usr/$(get_libdir)/dri
-	insinto "/usr/$(get_libdir)/dri/"
-	insopts -m0755
-	# install the gallium drivers we use
-	local gallium_drivers_files=( i915_dri.so nouveau_dri.so r300_dri.so r600_dri.so msm_dri.so swrast_dri.so )
-	for x in ${gallium_drivers_files[@]}; do
-		if [ -f "${S}/$(get_libdir)/gallium/${x}" ]; then
-			doins "${S}/$(get_libdir)/gallium/${x}"
-		fi
-	done
-
-	# install classic drivers we use
-	local classic_drivers_files=( i810_dri.so i965_dri.so nouveau_vieux_dri.so radeon_dri.so r200_dri.so )
-	for x in ${classic_drivers_files[@]}; do
-		if [ -f "${S}/$(get_libdir)/${x}" ]; then
-			doins "${S}/$(get_libdir)/${x}"
-		fi
-	done
-}
-
-multilib_src_install_all_cheets() {
-	# For documentation on the feature set represented by each XML file
-	# installed into /vendor/etc/permissions, see
-	# <https://developer.android.com/reference/android/content/pm/PackageManager.html>.
-	# For example XML files for each feature, see
-	# <https://android.googlesource.com/platform/frameworks/native/+/master/data/etc>.
-
-	# Install init files to advertise supported API versions.
-	insinto "${ARC_VM_PREFIX}/vendor/etc/init"
-	if use android_gles32; then
-		doins "${FILESDIR}/gles32/init.gpu.rc"
-	elif use android_gles31; then
-		doins "${FILESDIR}/gles31/init.gpu.rc"
-	elif use android_gles30; then
-		doins "${FILESDIR}/gles30/init.gpu.rc"
-	elif use android_gles2; then
-		doins "${FILESDIR}/gles2/init.gpu.rc"
-	fi
-
-	# Install vulkan related files.
-	if use vulkan; then
-		einfo "Using android vulkan."
-		insinto "${ARC_VM_PREFIX}/vendor/etc/init"
-		doins "${FILESDIR}/vulkan.rc"
-
-		insinto "${ARC_VM_PREFIX}/vendor/etc/permissions"
-		doins "${FILESDIR}/android.hardware.vulkan.version-1_1.xml"
-		if use video_cards_intel || use video_cards_mediatek; then
-			doins "${FILESDIR}/android.hardware.vulkan.level-1.xml"
-		else
-			doins "${FILESDIR}/android.hardware.vulkan.level-0.xml"
-		fi
-	elif use swvulkan; then
-		einfo "Using swiftshader vulkan."
-		insinto "${ARC_VM_PREFIX}/vendor/etc/init"
-		doins "${FILESDIR}/sw.vulkan.rc"
-	fi
-
-	if use android_vulkan_compute_0; then
-		einfo "Using android vulkan_compute_0."
-		insinto "${ARC_VM_PREFIX}/vendor/etc/permissions"
-		doins "${FILESDIR}/android.hardware.vulkan.compute-0.xml"
-	fi
-
-	# Install permission file to declare opengles aep support.
-	if use android_aep; then
-		einfo "Using android aep."
-		insinto "${ARC_VM_PREFIX}/vendor/etc/permissions"
-		doins "${FILESDIR}/android.hardware.opengles.aep.xml"
-	fi
-
-	# Install the dri header for arc-cros-gralloc
-	insinto "${ARC_VM_PREFIX}/vendor/include/GL"
-	doins -r "${S}/include/GL/internal"
-}
-
-multilib_src_install_all() {
-	if use cheets; then
-		multilib_src_install_all_cheets
-		return
-	fi
-}
-
-pkg_postinst() {
-	if use cheets; then
-		return
-	fi
-
-	# Switch to the xorg implementation.
-	echo
-	eselect opengl set --use-old ${OPENGL_DIR}
-}
-
-# $1 - VIDEO_CARDS flag
-# other args - names of DRI drivers to enable
-driver_enable() {
-	case $# in
-		# for enabling unconditionally
-		1)
-			DRI_DRIVERS+=("$1")
-			;;
-		*)
-			if use $1; then
-				shift
-				DRI_DRIVERS+=("$@")
-			fi
-			;;
-	esac
-}
-
-gallium_enable() {
-	case $# in
-		# for enabling unconditionally
-		1)
-			GALLIUM_DRIVERS+=("$1")
-			;;
-		*)
-			if use $1; then
-				shift
-				GALLIUM_DRIVERS+=("$@")
-			fi
-			;;
-	esac
-}
-
-vulkan_enable() {
-	case $# in
-		# for enabling unconditionally
-		1)
-			VULKAN_DRIVERS+=("$1")
-			;;
-		*)
-			if use $1; then
-				shift
-				VULKAN_DRIVERS+=("$@")
-			fi
-			;;
-	esac
-}
diff --git a/media-libs/arc-mesa-virgl/arc-mesa-virgl-22.0.0_rc2-r42.ebuild b/media-libs/arc-mesa-virgl/arc-mesa-virgl-22.0.0_rc2-r42.ebuild
new file mode 100644
index 0000000..e76acfab
--- /dev/null
+++ b/media-libs/arc-mesa-virgl/arc-mesa-virgl-22.0.0_rc2-r42.ebuild
@@ -0,0 +1,309 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-7.9.ebuild,v 1.3 2010/12/05 17:19:14 arfrever Exp $
+
+EAPI="6"
+
+CROS_WORKON_COMMIT="b39d467a8bcfd5571818e22c3b0379a46bb1c205"
+CROS_WORKON_TREE="08c55bc4466b88c7ca1c214c3f3e339d29e82020"
+EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa"
+CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
+CROS_WORKON_LOCALNAME="mesa-arcvm"
+CROS_WORKON_EGIT_BRANCH="chromeos-arcvm"
+
+inherit base meson multilib-minimal flag-o-matic toolchain-funcs cros-workon arc-build cros-sanitizers
+
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="http://mesa3d.sourceforge.net/"
+
+# Most of the code is MIT/X11.
+# ralloc is LGPL-3
+# GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0
+LICENSE="MIT LGPL-3 SGI-B-2.0"
+SLOT="0"
+KEYWORDS="*"
+
+INTEL_CARDS="intel"
+RADEON_CARDS="amdgpu radeon"
+VIDEO_CARDS="${INTEL_CARDS} ${RADEON_CARDS} llvmpipe mach64 mga nouveau powervr
+	r128 savage sis vmware tdfx via freedreno virgl mediatek msm"
+for card in ${VIDEO_CARDS}; do
+	IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS}
+	android_aep -android_gles2 -android_gles30
+	+android_gles31 -android_gles32 -android_vulkan_compute_0 -angle -swvulkan
+	+cheets classic debug dri +egl +gallium
+	-gbm +gles1 +gles2 -llvm +nptl pic selinux +shared-glapi -vulkan -X xlib-glx
+	cheets_user cheets_user_64"
+
+# llvmpipe requires ARC++ _userdebug images, ARC++ _user images can't use it
+# (b/33072485, b/28802929).
+# Only allow one vulkan driver as they all write vulkan.cheets.so.
+REQUIRED_USE="
+	^^ ( android_gles2 android_gles30 android_gles31 android_gles32 )
+	android_aep? ( !android_gles2 !android_gles30 )
+	angle? ( vulkan !egl )
+	android_vulkan_compute_0? ( vulkan )"
+
+DEPEND="cheets? (
+		>=x11-libs/arc-libdrm-2.4.82[${MULTILIB_USEDEP}]
+		llvm? ( sys-devel/arc-llvm:=[${MULTILIB_USEDEP}] )
+	)"
+
+RDEPEND="${DEPEND}"
+
+# It is slow without texrels, if someone wants slow
+# mesa without texrels +pic use is worth the shot
+QA_EXECSTACK="usr/lib*/opengl/xorg-x11/lib/libGL.so*"
+QA_WX_LOAD="usr/lib*/opengl/xorg-x11/lib/libGL.so*"
+
+# Fix lint errors
+: "${ARC_VM_PREFIX:=}"
+: "${ARC_SYSROOT:=}"
+
+# Think about: ggi, fbcon, no-X configs
+
+pkg_setup() {
+	# workaround toc-issue wrt #386545
+	use ppc64 && append-flags -mminimal-toc
+	# workaround for b/226576333. Also, lld is faster then gold
+	append-flags -fuse-ld=lld
+
+	# Remove symlinks created by an earlier version so we don't have
+	# install conflicts.
+	# TODO: Delete this after June 2019, since everybody should have
+	# upgraded by then.
+	local d
+	for d in EGL GL GLES GLES2 GLES3 KHR; do
+		local replaced_link="${ROOT}${ARC_VM_PREFIX}/vendor/include/${d}"
+		if [[ -L "${replaced_link}" ]]; then
+			rm -f "${replaced_link}"
+		fi
+	done
+}
+
+src_prepare() {
+	# workaround for cros-workon not preserving git metadata
+	if [[ ${PV} == 9999* && "${CROS_WORKON_INPLACE}" != "1" ]]; then
+		echo "#define MESA_GIT_SHA1 \"git-deadbeef\"" > src/git_sha1.h
+	fi
+
+	# apply patches
+	if [[ ${PV} != 9999* && -n ${SRC_PATCHES} ]]; then
+		EPATCH_FORCE="yes" \
+		EPATCH_SOURCE="${WORKDIR}/patches" \
+		EPATCH_SUFFIX="patch" \
+		epatch
+	fi
+	# FreeBSD 6.* doesn't have posix_memalign().
+	if [[ ${CHOST} == *-freebsd6.* ]]; then
+		sed -i \
+			-e "s/-DHAVE_POSIX_MEMALIGN//" \
+			configure.ac || die
+	fi
+
+	# Restrict gles version based on USE flag. (See crbug.com/30202361, b/30202371, b/31041422, b:68023287)
+	if use android_gles32; then
+		einfo "Limiting android to gles32."
+		epatch "${FILESDIR}/gles32/0001-limit-gles-version.patch"
+	elif use android_gles31; then
+		einfo "Limiting android to gles31."
+		epatch "${FILESDIR}/gles31/0001-limit-gles-version.patch"
+	elif use android_gles30; then
+		einfo "Limiting android to gles30."
+		epatch "${FILESDIR}/gles30/0001-limit-gles-version.patch"
+	elif use android_gles2; then
+		einfo "Limiting android to gles2."
+		epatch "${FILESDIR}/gles2/0001-limit-gles-version.patch"
+	fi
+
+	default
+}
+
+src_configure() {
+	sanitizers-setup-env
+	cros_optimize_package_for_speed
+
+	if use cheets; then
+		#
+		# cheets-specific overrides
+		#
+
+		arc-build-select-clang
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	tc-getPROG PKG_CONFIG pkg-config
+
+	if use !gallium && use !classic && use !vulkan; then
+		ewarn "You enabled neither classic, gallium, nor vulkan "
+		ewarn "USE flags. No hardware drivers will be built."
+	fi
+
+	if use egl; then
+		GALLIUM_DRIVERS=virgl
+	fi
+
+	if use vulkan; then
+		VULKAN_DRIVERS=virtio-experimental
+	fi
+
+	export LLVM_CONFIG=${SYSROOT}/usr/bin/llvm-config-host
+	EGL_PLATFORM="surfaceless"
+
+	if use cheets; then
+		#
+		# cheets-specific overrides
+		#
+
+		# Use llvm-config coming from ARC++ build.
+		export LLVM_CONFIG="${ARC_SYSROOT}/build/bin/llvm-config-host"
+
+		# FIXME(tfiga): Possibly use flag?
+		EGL_PLATFORM="android"
+
+		# The AOSP build system defines the Make variable
+		# PLATFORM_SDK_VERSION, and Mesa's Android.mk files use it to
+		# define the macro ANDROID_API_LEVEL. Arc emulates that here.
+		if [[ -n "${ARC_PLATFORM_SDK_VERSION}" ]]; then
+			CPPFLAGS+=" -DANDROID_API_LEVEL=${ARC_PLATFORM_SDK_VERSION}"
+		fi
+
+		#
+		# end of arc-mesa specific overrides
+		#
+	fi
+
+	if ! use llvm; then
+		export LLVM_CONFIG="no"
+	fi
+
+	arc-build-create-cross-file
+
+	emesonargs+=(
+		--prefix="${ARC_VM_PREFIX}/vendor"
+		--sysconfdir=/system/vendor/etc
+		-Ddri-search-path="/system/$(get_libdir)/dri:/system/vendor/$(get_libdir)/dri"
+		-Dgallium-va=false
+		-Dgallium-vdpau=false
+		-Dgallium-xvmc=false
+		-Dgallium-omx=disabled
+		-Dglx=disabled
+		-Ddri3=false
+		-Dgles-lib-suffix=_mesa
+		-Degl-lib-suffix=_mesa
+		-Dplatforms="${EGL_PLATFORM}"
+		$(meson_use llvm)
+		$(meson_use egl)
+		$(meson_use gbm)
+		$(meson_use gles1)
+		$(meson_use gles2)
+		$(meson_use selinux)
+		$(meson_use shared-glapi)
+		-Ddri-drivers=
+		-Dgallium-drivers="${GALLIUM_DRIVERS}"
+		-Dvulkan-drivers="${VULKAN_DRIVERS}"
+		--buildtype $(usex debug debug release)
+		--cross-file="${ARC_CROSS_FILE}"
+		-Dplatform-sdk-version="${ARC_PLATFORM_SDK_VERSION}"
+	)
+
+	meson_src_configure
+}
+
+# The meson eclass exports src_compile but not multilib_src_compile. src_compile
+# gets overridden by multilib-minimal
+multilib_src_compile() {
+	meson_src_compile
+}
+
+multilib_src_install() {
+	if use vulkan; then
+		exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)/hw"
+		newexe "${BUILD_DIR}"/src/virtio/vulkan/libvulkan_virtio.so vulkan.cheets.so
+	fi
+
+	# Install symlink for angle GLESv2 lib
+	if use angle; then
+		dosym egl/libGLESv2_angle.so "${ARC_VM_PREFIX}/vendor/$(get_libdir)/libGLESv2_angle.so"
+	fi
+
+	if ! use egl; then
+		return
+	fi
+
+	exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)"
+	newexe "${BUILD_DIR}/src/mapi/shared-glapi/libglapi.so.0" libglapi.so.0
+
+	exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)/egl"
+	newexe "${BUILD_DIR}/src/egl/libEGL_mesa.so" libEGL_mesa.so
+	newexe "${BUILD_DIR}/src/mapi/es1api/libGLESv1_CM_mesa.so" libGLESv1_CM_mesa.so
+	newexe "${BUILD_DIR}/src/mapi/es2api/libGLESv2_mesa.so" libGLESv2_mesa.so
+
+	exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)/dri"
+	newexe "${BUILD_DIR}/src/gallium/targets/dri/libgallium_dri.so" virtio_gpu_dri.so
+}
+
+multilib_src_install_all() {
+	# For documentation on the feature set represented by each XML file
+	# installed into /vendor/etc/permissions, see
+	# <https://developer.android.com/reference/android/content/pm/PackageManager.html>.
+	# For example XML files for each feature, see
+	# <https://android.googlesource.com/platform/frameworks/native/+/master/data/etc>.
+
+	# Install init files to advertise supported API versions.
+	insinto "${ARC_VM_PREFIX}/vendor/etc/init"
+	if use angle; then
+		einfo "Using angle."
+		doins "${FILESDIR}/angle/init.gpu.rc"
+	elif use android_gles32; then
+		doins "${FILESDIR}/gles32/init.gpu.rc"
+	elif use android_gles31; then
+		doins "${FILESDIR}/gles31/init.gpu.rc"
+	elif use android_gles30; then
+		doins "${FILESDIR}/gles30/init.gpu.rc"
+	elif use android_gles2; then
+		doins "${FILESDIR}/gles2/init.gpu.rc"
+	fi
+
+	# Install vulkan related files.
+	if use vulkan; then
+		einfo "Using android vulkan."
+		insinto "${ARC_VM_PREFIX}/vendor/etc/init"
+		doins "${FILESDIR}/vulkan.rc"
+
+		insinto "${ARC_VM_PREFIX}/vendor/etc/permissions"
+		doins "${FILESDIR}/android.hardware.vulkan.version-1_1.xml"
+		if use video_cards_intel || use video_cards_mediatek || use video_cards_msm; then
+			doins "${FILESDIR}/android.hardware.vulkan.level-1.xml"
+		else
+			doins "${FILESDIR}/android.hardware.vulkan.level-0.xml"
+		fi
+	elif use swvulkan; then
+		einfo "Using swiftshader vulkan."
+		insinto "${ARC_VM_PREFIX}/vendor/etc/init"
+		doins "${FILESDIR}/sw.vulkan.rc"
+	fi
+
+	if use android_vulkan_compute_0; then
+		einfo "Using android vulkan_compute_0."
+		insinto "${ARC_VM_PREFIX}/vendor/etc/permissions"
+		doins "${FILESDIR}/android.hardware.vulkan.compute-0.xml"
+	fi
+
+	# Install permission file to declare opengles aep support.
+	if use android_aep; then
+		einfo "Using android aep."
+		insinto "${ARC_VM_PREFIX}/vendor/etc/permissions"
+		doins "${FILESDIR}/android.hardware.opengles.aep.xml"
+	fi
+
+	# Install the dri header for arc-cros-gralloc
+	insinto "${ARC_VM_PREFIX}/vendor/include/GL"
+	doins -r "${S}/include/GL/internal"
+}
diff --git a/media-libs/arc-mesa-virgl/arc-mesa-virgl-9999.ebuild b/media-libs/arc-mesa-virgl/arc-mesa-virgl-9999.ebuild
index 2633aec..7830b00 100644
--- a/media-libs/arc-mesa-virgl/arc-mesa-virgl-9999.ebuild
+++ b/media-libs/arc-mesa-virgl/arc-mesa-virgl-9999.ebuild
@@ -9,9 +9,7 @@
 CROS_WORKON_LOCALNAME="mesa-arcvm"
 CROS_WORKON_EGIT_BRANCH="chromeos-arcvm"
 
-inherit base meson multilib-minimal flag-o-matic toolchain-funcs cros-workon arc-build
-
-OPENGL_DIR="xorg-x11"
+inherit base meson multilib-minimal flag-o-matic toolchain-funcs cros-workon arc-build cros-sanitizers
 
 DESCRIPTION="OpenGL-like graphic library for Linux"
 HOMEPAGE="http://mesa3d.sourceforge.net/"
@@ -26,17 +24,14 @@
 INTEL_CARDS="intel"
 RADEON_CARDS="amdgpu radeon"
 VIDEO_CARDS="${INTEL_CARDS} ${RADEON_CARDS} llvmpipe mach64 mga nouveau powervr
-	r128 savage sis vmware tdfx via freedreno virgl mediatek"
+	r128 savage sis vmware tdfx via freedreno virgl mediatek msm"
 for card in ${VIDEO_CARDS}; do
 	IUSE_VIDEO_CARDS+=" video_cards_${card}"
 done
 
-# TODO(b/160748345): Remove hardcoded ARC_PLATFORM_SDK_VERSION when fixed.
-ARC_PLATFORM_SDK_VERSION=28
-
 IUSE="${IUSE_VIDEO_CARDS}
 	android_aep -android_gles2 -android_gles30
-	+android_gles31 -android_gles32 -android_vulkan_compute_0 -swvulkan
+	+android_gles31 -android_gles32 -android_vulkan_compute_0 -angle -swvulkan
 	+cheets classic debug dri +egl +gallium
 	-gbm +gles1 +gles2 -llvm +nptl pic selinux +shared-glapi -vulkan -X xlib-glx
 	cheets_user cheets_user_64"
@@ -47,6 +42,7 @@
 REQUIRED_USE="
 	^^ ( android_gles2 android_gles30 android_gles31 android_gles32 )
 	android_aep? ( !android_gles2 !android_gles30 )
+	angle? ( vulkan !egl )
 	android_vulkan_compute_0? ( vulkan )"
 
 DEPEND="cheets? (
@@ -61,17 +57,17 @@
 QA_EXECSTACK="usr/lib*/opengl/xorg-x11/lib/libGL.so*"
 QA_WX_LOAD="usr/lib*/opengl/xorg-x11/lib/libGL.so*"
 
-# Think about: ggi, fbcon, no-X configs
+# Fix lint errors
+: "${ARC_VM_PREFIX:=}"
+: "${ARC_SYSROOT:=}"
 
-driver_list() {
-	local uniq_driver=($(printf "%s\n" "$@" | sort -u))
-	local IFS=,
-	echo "${uniq_driver[*]}"
-}
+# Think about: ggi, fbcon, no-X configs
 
 pkg_setup() {
 	# workaround toc-issue wrt #386545
 	use ppc64 && append-flags -mminimal-toc
+	# workaround for b/226576333. Also, lld is faster then gold
+	append-flags -fuse-ld=lld
 
 	# Remove symlinks created by an earlier version so we don't have
 	# install conflicts.
@@ -125,6 +121,7 @@
 }
 
 src_configure() {
+	sanitizers-setup-env
 	cros_optimize_package_for_speed
 
 	if use cheets; then
@@ -146,10 +143,12 @@
 		ewarn "USE flags. No hardware drivers will be built."
 	fi
 
-	gallium_enable virgl
+	if use egl; then
+		GALLIUM_DRIVERS=virgl
+	fi
 
 	if use vulkan; then
-		vulkan_enable virtio-experimental
+		VULKAN_DRIVERS=virtio-experimental
 	fi
 
 	export LLVM_CONFIG=${SYSROOT}/usr/bin/llvm-config-host
@@ -160,8 +159,6 @@
 		# cheets-specific overrides
 		#
 
-		MESA_PLATFORM_SDK_VERSION=${ARC_PLATFORM_SDK_VERSION}
-
 		# Use llvm-config coming from ARC++ build.
 		export LLVM_CONFIG="${ARC_SYSROOT}/build/bin/llvm-config-host"
 
@@ -187,9 +184,9 @@
 	arc-build-create-cross-file
 
 	emesonargs+=(
-		$(use cheets && echo "--prefix=${ARC_VM_PREFIX}/vendor")
-		$(use cheets && echo "--sysconfdir=/system/vendor/etc")
-		$(use cheets && echo "-Ddri-search-path=/system/$(get_libdir)/dri:/system/vendor/$(get_libdir)/dri")
+		--prefix="${ARC_VM_PREFIX}/vendor"
+		--sysconfdir=/system/vendor/etc
+		-Ddri-search-path="/system/$(get_libdir)/dri:/system/vendor/$(get_libdir)/dri"
 		-Dgallium-va=false
 		-Dgallium-vdpau=false
 		-Dgallium-xvmc=false
@@ -198,20 +195,20 @@
 		-Ddri3=false
 		-Dgles-lib-suffix=_mesa
 		-Degl-lib-suffix=_mesa
+		-Dplatforms="${EGL_PLATFORM}"
 		$(meson_use llvm)
-		$(use egl && echo "-Dplatforms=${EGL_PLATFORM}")
 		$(meson_use egl)
 		$(meson_use gbm)
 		$(meson_use gles1)
 		$(meson_use gles2)
 		$(meson_use selinux)
 		$(meson_use shared-glapi)
-		-Ddri-drivers=$(driver_list "${DRI_DRIVERS[@]}")
-		-Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[@]}")
-		-Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[@]}")
+		-Ddri-drivers=
+		-Dgallium-drivers="${GALLIUM_DRIVERS}"
+		-Dvulkan-drivers="${VULKAN_DRIVERS}"
 		--buildtype $(usex debug debug release)
-		$(use cheets && echo "--cross-file=${ARC_CROSS_FILE}")
-		$(use cheets && echo "-Dplatform-sdk-version=${ARC_PLATFORM_SDK_VERSION}")
+		--cross-file="${ARC_CROSS_FILE}"
+		-Dplatform-sdk-version="${ARC_PLATFORM_SDK_VERSION}"
 	)
 
 	meson_src_configure
@@ -223,79 +220,34 @@
 	meson_src_compile
 }
 
-multilib_src_install_cheets() {
-	exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)"
-	newexe ${BUILD_DIR}/src/mapi/shared-glapi/libglapi.so.0 libglapi.so.0
-
-	exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)/egl"
-	newexe ${BUILD_DIR}/src/egl/libEGL_mesa.so libEGL_mesa.so
-	newexe ${BUILD_DIR}/src/mapi/es1api/libGLESv1_CM_mesa.so libGLESv1_CM_mesa.so
-	newexe ${BUILD_DIR}/src/mapi/es2api/libGLESv2_mesa.so libGLESv2_mesa.so
-
-	exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)/dri"
-	newexe ${BUILD_DIR}/src/gallium/targets/dri/libgallium_dri.so virtio_gpu_dri.so
-
+multilib_src_install() {
 	if use vulkan; then
 		exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)/hw"
 		newexe "${BUILD_DIR}"/src/virtio/vulkan/libvulkan_virtio.so vulkan.cheets.so
 	fi
-}
 
-multilib_src_install() {
-	if use cheets; then
-		multilib_src_install_cheets
+	# Install symlink for angle GLESv2 lib
+	if use angle; then
+		dosym egl/libGLESv2_angle.so "${ARC_VM_PREFIX}/vendor/$(get_libdir)/libGLESv2_angle.so"
+	fi
+
+	if ! use egl; then
 		return
 	fi
 
-	meson_src_install
+	exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)"
+	newexe "${BUILD_DIR}/src/mapi/shared-glapi/libglapi.so.0" libglapi.so.0
 
-	# Remove redundant headers
-	# GLU and GLUT
-	rm -f "${D}"/usr/include/GL/glu*.h || die "Removing GLU and GLUT headers failed."
-	# Glew includes
-	rm -f "${D}"/usr/include/GL/{glew,glxew,wglew}.h \
-		|| die "Removing glew includes failed."
+	exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)/egl"
+	newexe "${BUILD_DIR}/src/egl/libEGL_mesa.so" libEGL_mesa.so
+	newexe "${BUILD_DIR}/src/mapi/es1api/libGLESv1_CM_mesa.so" libGLESv1_CM_mesa.so
+	newexe "${BUILD_DIR}/src/mapi/es2api/libGLESv2_mesa.so" libGLESv2_mesa.so
 
-	# Move libGL and others from /usr/lib to /usr/lib/opengl/blah/lib
-	# because user can eselect desired GL provider.
-	ebegin "Moving libGL and friends for dynamic switching"
-		dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/{lib,extensions,include}
-		local x
-		for x in "${D}"/usr/$(get_libdir)/libGL.{la,a,so*}; do
-			if [ -f ${x} -o -L ${x} ]; then
-				mv -f "${x}" "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/lib \
-					|| die "Failed to move ${x}"
-			fi
-		done
-		for x in "${D}"/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}; do
-			if [ -f ${x} -o -L ${x} ]; then
-				mv -f "${x}" "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/include \
-					|| die "Failed to move ${x}"
-			fi
-		done
-	eend $?
-
-	dodir /usr/$(get_libdir)/dri
-	insinto "/usr/$(get_libdir)/dri/"
-	insopts -m0755
-	# install the gallium drivers we use
-	local gallium_drivers_files=( i915_dri.so nouveau_dri.so r300_dri.so r600_dri.so msm_dri.so swrast_dri.so )
-	for x in ${gallium_drivers_files[@]}; do
-		if [ -f "${S}/$(get_libdir)/gallium/${x}" ]; then
-			doins "${S}/$(get_libdir)/gallium/${x}"
-		fi
-	done
-
-	# install classic drivers we use
-	local classic_drivers_files=( i810_dri.so i965_dri.so nouveau_vieux_dri.so radeon_dri.so r200_dri.so )
-	for x in ${classic_drivers_files[@]}; do
-		if [ -f "${S}/$(get_libdir)/${x}" ]; then
-			doins "${S}/$(get_libdir)/${x}"
-		fi
-	done
+	exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)/dri"
+	newexe "${BUILD_DIR}/src/gallium/targets/dri/libgallium_dri.so" virtio_gpu_dri.so
 }
 
-multilib_src_install_all_cheets() {
+multilib_src_install_all() {
 	# For documentation on the feature set represented by each XML file
 	# installed into /vendor/etc/permissions, see
 	# <https://developer.android.com/reference/android/content/pm/PackageManager.html>.
@@ -304,7 +256,10 @@
 
 	# Install init files to advertise supported API versions.
 	insinto "${ARC_VM_PREFIX}/vendor/etc/init"
-	if use android_gles32; then
+	if use angle; then
+		einfo "Using angle."
+		doins "${FILESDIR}/angle/init.gpu.rc"
+	elif use android_gles32; then
 		doins "${FILESDIR}/gles32/init.gpu.rc"
 	elif use android_gles31; then
 		doins "${FILESDIR}/gles31/init.gpu.rc"
@@ -322,7 +277,7 @@
 
 		insinto "${ARC_VM_PREFIX}/vendor/etc/permissions"
 		doins "${FILESDIR}/android.hardware.vulkan.version-1_1.xml"
-		if use video_cards_intel || use video_cards_mediatek; then
+		if use video_cards_intel || use video_cards_mediatek || use video_cards_msm; then
 			doins "${FILESDIR}/android.hardware.vulkan.level-1.xml"
 		else
 			doins "${FILESDIR}/android.hardware.vulkan.level-0.xml"
@@ -350,67 +305,3 @@
 	insinto "${ARC_VM_PREFIX}/vendor/include/GL"
 	doins -r "${S}/include/GL/internal"
 }
-
-multilib_src_install_all() {
-	if use cheets; then
-		multilib_src_install_all_cheets
-		return
-	fi
-}
-
-pkg_postinst() {
-	if use cheets; then
-		return
-	fi
-
-	# Switch to the xorg implementation.
-	echo
-	eselect opengl set --use-old ${OPENGL_DIR}
-}
-
-# $1 - VIDEO_CARDS flag
-# other args - names of DRI drivers to enable
-driver_enable() {
-	case $# in
-		# for enabling unconditionally
-		1)
-			DRI_DRIVERS+=("$1")
-			;;
-		*)
-			if use $1; then
-				shift
-				DRI_DRIVERS+=("$@")
-			fi
-			;;
-	esac
-}
-
-gallium_enable() {
-	case $# in
-		# for enabling unconditionally
-		1)
-			GALLIUM_DRIVERS+=("$1")
-			;;
-		*)
-			if use $1; then
-				shift
-				GALLIUM_DRIVERS+=("$@")
-			fi
-			;;
-	esac
-}
-
-vulkan_enable() {
-	case $# in
-		# for enabling unconditionally
-		1)
-			VULKAN_DRIVERS+=("$1")
-			;;
-		*)
-			if use $1; then
-				shift
-				VULKAN_DRIVERS+=("$@")
-			fi
-			;;
-	esac
-}
diff --git a/media-libs/arc-mesa-virgl/files/angle/init.gpu.rc b/media-libs/arc-mesa-virgl/files/angle/init.gpu.rc
new file mode 100644
index 0000000..651331d
--- /dev/null
+++ b/media-libs/arc-mesa-virgl/files/angle/init.gpu.rc
@@ -0,0 +1,14 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+on early-init
+    # Advertise opengles version 3.1.
+    setprop ro.opengles.version 196609
+    setprop ro.hardware.egl angle
+    # TODO remove emulateAdvancedBlendEquations after b/234173199 gets fixed
+    # TODO remove supportsShaderFramebufferFetch after b/234186318 gets fixed
+    setprop debug.angle.feature_overrides_disabled preferSubmitAtFBOBoundary:emulateAdvancedBlendEquations:supportsShaderFramebufferFetch
+    # TODO remove forceContinuousRefreshOnSharedPresent after b/229267970 gets fixed
+    # TODO remove perFrameWindowSizeQuery after b/236026298 gets fixed
+    setprop debug.angle.feature_overrides_enabled forceContinuousRefreshOnSharedPresent:perFrameWindowSizeQuery:preferLinearFilterForYUV
diff --git a/media-libs/arc-mesa/arc-mesa-19.0-r41.ebuild b/media-libs/arc-mesa/arc-mesa-19.0-r44.ebuild
similarity index 100%
rename from media-libs/arc-mesa/arc-mesa-19.0-r41.ebuild
rename to media-libs/arc-mesa/arc-mesa-19.0-r44.ebuild
diff --git a/media-libs/arc-mesa/arc-mesa-19.0.ebuild b/media-libs/arc-mesa/arc-mesa-19.0.ebuild
index 64e469b..f070f6c 100644
--- a/media-libs/arc-mesa/arc-mesa-19.0.ebuild
+++ b/media-libs/arc-mesa/arc-mesa-19.0.ebuild
@@ -13,8 +13,6 @@
 
 EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa"
 
-MESON_AUTO_DEPEND=no
-
 inherit base meson multilib-minimal flag-o-matic toolchain-funcs cros-workon arc-build
 
 OPENGL_DIR="xorg-x11"
@@ -202,6 +200,7 @@
 	epatch "${FILESDIR}"/UPSTREAM-intel-change-urb-max-shader-geometry-for-CML-GT1.patch
 	epatch "${FILESDIR}"/BACKPORT-frontend-dri-Expose-RGB-AX-_SRGB-as-well.patch
 	epatch "${FILESDIR}"/BACKPORT-i965-Enable-RGBX8888_SRGB-format.patch
+	epatch "${FILESDIR}"/BACKPORT-anv-fix-AHB-leak-upon-exportable-allocation.patch
 	default
 }
 
@@ -305,7 +304,7 @@
 		-Dgallium-vdpau=false
 		-Dgallium-xvmc=false
 		-Dgallium-omx=disabled
-		-Dgallum-xa=false
+		-Dgallium-xa=false
 		-Dasm=false
 		-Dglx=disabled
 		-Ddri3=false
diff --git a/media-libs/arc-mesa/arc-mesa-9999.ebuild b/media-libs/arc-mesa/arc-mesa-9999.ebuild
index defaf4e..f6a32968 100644
--- a/media-libs/arc-mesa/arc-mesa-9999.ebuild
+++ b/media-libs/arc-mesa/arc-mesa-9999.ebuild
@@ -11,9 +11,7 @@
 
 EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa"
 
-MESON_AUTO_DEPEND=no
-
-inherit base meson multilib-minimal flag-o-matic toolchain-funcs cros-workon arc-build
+inherit base meson multilib-minimal flag-o-matic toolchain-funcs cros-workon arc-build cros-sanitizers
 
 OPENGL_DIR="xorg-x11"
 
@@ -193,10 +191,12 @@
 
 	epatch "${FILESDIR}"/UPSTREAM-anv-expose-VK_EXT_queue_family_foreign-on-A.patch
 	epatch "${FILESDIR}"/UPSTREAM-intel-limit-shader-geometry-on-BDW-GT1.patch
+	epatch "${FILESDIR}"/BACKPORT-anv-fix-AHB-leak-upon-exportable-allocation.patch
 	default
 }
 
 src_configure() {
+	sanitizers-setup-env
 	cros_optimize_package_for_speed
 
 	if use cheets; then
@@ -296,7 +296,7 @@
 		-Dgallium-vdpau=false
 		-Dgallium-xvmc=false
 		-Dgallium-omx=disabled
-		-Dgallum-xa=false
+		-Dgallium-xa=false
 		-Dasm=false
 		-Dglx=disabled
 		-Ddri3=false
diff --git a/media-libs/arc-mesa/files/BACKPORT-anv-fix-AHB-leak-upon-exportable-allocation.patch b/media-libs/arc-mesa/files/BACKPORT-anv-fix-AHB-leak-upon-exportable-allocation.patch
new file mode 100644
index 0000000..9705a8c
--- /dev/null
+++ b/media-libs/arc-mesa/files/BACKPORT-anv-fix-AHB-leak-upon-exportable-allocation.patch
@@ -0,0 +1,65 @@
+From 25fcabee01b1f20d43ceae1194466f5035f78400 Mon Sep 17 00:00:00 2001
+From: Yiwei Zhang <zzyiwei@chromium.org>
+Date: Sat, 22 May 2021 03:21:05 +0000
+Subject: [PATCH] UPSTREAM: anv: fix AHB leak upon exportable allocation
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+A successful AHardwareBuffer_allocate itself will increase a refcount on
+the newly allocated AHB. For the import case, the implementation must
+acquire a reference on the AHB. So if we layer the exportable allocation
+on top of AHB allocation and AHB import, we must release an AHB
+reference to avoid leak.
+
+Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
+Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
+Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10940>
+---
+ src/intel/vulkan/anv_android.c | 10 ++++++++--
+ src/intel/vulkan/anv_device.c  |  7 -------
+ 2 files changed, 8 insertions(+), 9 deletions(-)
+
+diff --git a/src/intel/vulkan/anv_android.c b/src/intel/vulkan/anv_android.c
+index 3272ddd85b1..42cb3cfd575 100644
+--- a/src/intel/vulkan/anv_android.c
++++ b/src/intel/vulkan/anv_android.c
+@@ -368,9 +368,15 @@ anv_create_ahw_memory(VkDevice device_h,
+    if (AHardwareBuffer_allocate(&desc, &ahw) != 0)
+       return VK_ERROR_OUT_OF_HOST_MEMORY;
+ 
+-   mem->ahw = ahw;
++   const struct VkImportAndroidHardwareBufferInfoANDROID import_info = {
++      .buffer = ahw,
++   };
++   VkResult result = anv_import_ahw_memory(device_h, mem, &import_info);
+ 
+-   return VK_SUCCESS;
++   /* Release a reference to avoid leak for AHB allocation. */
++   AHardwareBuffer_release(ahw);
++
++   return result;
+ }
+ 
+ VkResult
+diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
+index f44b046cf5d..87b225a0e77 100644
+--- a/src/intel/vulkan/anv_device.c
++++ b/src/intel/vulkan/anv_device.c
+@@ -2379,13 +2379,6 @@ VkResult anv_AllocateMemory(
+       if (result != VK_SUCCESS)
+          goto fail;
+ 
+-      const struct VkImportAndroidHardwareBufferInfoANDROID import_info = {
+-         .buffer = mem->ahw,
+-      };
+-      result = anv_import_ahw_memory(_device, mem, &import_info);
+-      if (result != VK_SUCCESS)
+-         goto fail;
+-
+       goto success;
+    }
+ 
+-- 
+2.31.0
+
diff --git a/media-libs/arcvm-mesa-freedreno/OWNERS b/media-libs/arcvm-mesa-freedreno/OWNERS
new file mode 100644
index 0000000..2f4fdae
--- /dev/null
+++ b/media-libs/arcvm-mesa-freedreno/OWNERS
@@ -0,0 +1,3 @@
+set noparent
+include chromiumos/platform/graphics:/OWNERS.mesa_freedreno
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/media-libs/arcvm-mesa-freedreno/arcvm-mesa-freedreno-22.3.0_pre-r4.ebuild b/media-libs/arcvm-mesa-freedreno/arcvm-mesa-freedreno-22.3.0_pre-r4.ebuild
new file mode 100644
index 0000000..49550f7
--- /dev/null
+++ b/media-libs/arcvm-mesa-freedreno/arcvm-mesa-freedreno-22.3.0_pre-r4.ebuild
@@ -0,0 +1,184 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="d6e328d118f95829e569b07692e727f82e34f030"
+CROS_WORKON_TREE="a3e5ce4259de770713970232d0b5a43edc478a83"
+CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
+CROS_WORKON_LOCALNAME="mesa-freedreno"
+CROS_WORKON_EGIT_BRANCH="chromeos-freedreno"
+
+inherit base meson multilib-minimal flag-o-matic toolchain-funcs cros-workon arc-build
+
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="http://mesa3d.sourceforge.net/"
+
+# Most of the code is MIT/X11.
+# ralloc is LGPL-3
+# GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0
+LICENSE="MIT LGPL-3 SGI-B-2.0"
+SLOT="0"
+KEYWORDS="*"
+
+IUSE="
+	cheets
+	cheets_user
+	cheets_user_64
+	debug
+	selinux
+	vulkan
+	android_vulkan_compute_0
+"
+
+REQUIRED_USE="
+	cheets
+	android_vulkan_compute_0? ( vulkan )
+"
+
+DEPEND="cheets? (
+		>=x11-libs/arc-libdrm-2.4.82[${MULTILIB_USEDEP}]
+	)"
+
+RDEPEND="${DEPEND}"
+
+# Fix lint errors
+: "${ARC_VM_PREFIX:=}"
+: "${ARC_SYSROOT:=}"
+
+pkg_setup() {
+	# workaround for b/226576333. Also, lld is faster then gold
+	append-flags -fuse-ld=lld
+}
+
+src_prepare() {
+	# workaround for cros-workon not preserving git metadata
+	if [[ ${PV} == 9999* && "${CROS_WORKON_INPLACE}" != "1" ]]; then
+		echo "#define MESA_GIT_SHA1 \"git-deadbeef\"" > src/git_sha1.h
+	fi
+
+	# apply patches
+	if [[ ${PV} != 9999* && -n ${SRC_PATCHES} ]]; then
+		EPATCH_FORCE="yes" \
+		EPATCH_SOURCE="${WORKDIR}/patches" \
+		EPATCH_SUFFIX="patch" \
+		epatch
+	fi
+
+	default
+}
+
+src_configure() {
+	cros_optimize_package_for_speed
+	arc-build-select-clang
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	tc-getPROG PKG_CONFIG pkg-config
+
+	if use vulkan; then
+		VULKAN_DRIVERS=virtio-experimental
+	fi
+
+	# The AOSP build system defines the Make variable
+	# PLATFORM_SDK_VERSION, and Mesa's Android.mk files use it to
+	# define the macro ANDROID_API_LEVEL. Arc emulates that here.
+	if [[ -n "${ARC_PLATFORM_SDK_VERSION}" ]]; then
+		CPPFLAGS+=" -DANDROID_API_LEVEL=${ARC_PLATFORM_SDK_VERSION}"
+	fi
+
+	arc-build-create-cross-file
+
+	emesonargs+=(
+		--prefix="${ARC_VM_PREFIX}/vendor"
+		--sysconfdir=/system/vendor/etc
+		-Ddri-search-path="/system/$(get_libdir)/dri:/system/vendor/$(get_libdir)/dri"
+		-Dgallium-va=false
+		-Dgallium-vdpau=false
+		-Dgallium-xvmc=false
+		-Dgallium-omx=disabled
+		-Dglx=disabled
+		-Ddri3=false
+		-Dgles-lib-suffix=_mesa
+		-Degl-lib-suffix=_mesa
+		-Dfreedreno-virtio=true
+		-Dplatforms="android"
+		-Dllvm=disabled
+		-Degl=enabled
+		-Dgbm=disabled
+		-Dgles1=enabled
+		-Dgles2=enabled
+		-Dshared-glapi=enabled
+		$(meson_use selinux)
+		-Ddri-drivers=
+		-Dgallium-drivers="virgl,freedreno"
+		-Dvulkan-drivers="${VULKAN_DRIVERS}"
+		--buildtype $(usex debug debug release)
+		--cross-file="${ARC_CROSS_FILE}"
+		-Dplatform-sdk-version="${ARC_PLATFORM_SDK_VERSION}"
+	)
+
+	meson_src_configure
+}
+
+# The meson eclass exports src_compile but not multilib_src_compile. src_compile
+# gets overridden by multilib-minimal
+multilib_src_compile() {
+	meson_src_compile
+}
+
+multilib_src_install() {
+	if use vulkan; then
+		exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)/hw"
+		newexe "${BUILD_DIR}"/src/virtio/vulkan/libvulkan_virtio.so vulkan.cheets.so
+	fi
+
+	exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)"
+	newexe "${BUILD_DIR}/src/mapi/shared-glapi/libglapi.so.0" libglapi.so.0
+
+	exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)/egl"
+	newexe "${BUILD_DIR}/src/egl/libEGL_mesa.so" libEGL_mesa.so
+	newexe "${BUILD_DIR}/src/mapi/es1api/libGLESv1_CM_mesa.so" libGLESv1_CM_mesa.so
+	newexe "${BUILD_DIR}/src/mapi/es2api/libGLESv2_mesa.so" libGLESv2_mesa.so
+
+	exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)/dri"
+	newexe "${BUILD_DIR}/src/gallium/targets/dri/libgallium_dri.so" virtio_gpu_dri.so
+}
+
+multilib_src_install_all() {
+	# For documentation on the feature set represented by each XML file
+	# installed into /vendor/etc/permissions, see
+	# <https://developer.android.com/reference/android/content/pm/PackageManager.html>.
+	# For example XML files for each feature, see
+	# <https://android.googlesource.com/platform/frameworks/native/+/master/data/etc>.
+
+	# Install init files to advertise supported API versions.
+	insinto "${ARC_VM_PREFIX}/vendor/etc/init"
+	doins "${FILESDIR}/gles32.rc"
+
+	# Install vulkan related files.
+	if use vulkan; then
+		einfo "Using android vulkan."
+		insinto "${ARC_VM_PREFIX}/vendor/etc/init"
+		doins "${FILESDIR}/vulkan.rc"
+
+		insinto "${ARC_VM_PREFIX}/vendor/etc/permissions"
+		doins "${FILESDIR}/android.hardware.vulkan.version-1_1.xml"
+		doins "${FILESDIR}/android.hardware.vulkan.level-1.xml"
+	fi
+
+	if use android_vulkan_compute_0; then
+		einfo "Using android vulkan_compute_0."
+		insinto "${ARC_VM_PREFIX}/vendor/etc/permissions"
+		doins "${FILESDIR}/android.hardware.vulkan.compute-0.xml"
+	fi
+
+	# Install permission file to declare opengles aep support.
+	insinto "${ARC_VM_PREFIX}/vendor/etc/permissions"
+	doins "${FILESDIR}/android.hardware.opengles.aep.xml"
+
+	# Install the dri header for arc-cros-gralloc
+	insinto "${ARC_VM_PREFIX}/vendor/include/GL"
+	doins -r "${S}/include/GL/internal"
+}
diff --git a/media-libs/arcvm-mesa-freedreno/arcvm-mesa-freedreno-9999.ebuild b/media-libs/arcvm-mesa-freedreno/arcvm-mesa-freedreno-9999.ebuild
new file mode 100644
index 0000000..fbdfc13
--- /dev/null
+++ b/media-libs/arcvm-mesa-freedreno/arcvm-mesa-freedreno-9999.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
+CROS_WORKON_LOCALNAME="mesa-freedreno"
+CROS_WORKON_EGIT_BRANCH="chromeos-freedreno"
+
+inherit base meson multilib-minimal flag-o-matic toolchain-funcs cros-workon arc-build
+
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="http://mesa3d.sourceforge.net/"
+
+# Most of the code is MIT/X11.
+# ralloc is LGPL-3
+# GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0
+LICENSE="MIT LGPL-3 SGI-B-2.0"
+SLOT="0"
+KEYWORDS="~*"
+
+IUSE="
+	cheets
+	cheets_user
+	cheets_user_64
+	debug
+	selinux
+	vulkan
+	android_vulkan_compute_0
+"
+
+REQUIRED_USE="
+	cheets
+	android_vulkan_compute_0? ( vulkan )
+"
+
+DEPEND="cheets? (
+		>=x11-libs/arc-libdrm-2.4.82[${MULTILIB_USEDEP}]
+	)"
+
+RDEPEND="${DEPEND}"
+
+# Fix lint errors
+: "${ARC_VM_PREFIX:=}"
+: "${ARC_SYSROOT:=}"
+
+pkg_setup() {
+	# workaround for b/226576333. Also, lld is faster then gold
+	append-flags -fuse-ld=lld
+}
+
+src_prepare() {
+	# workaround for cros-workon not preserving git metadata
+	if [[ ${PV} == 9999* && "${CROS_WORKON_INPLACE}" != "1" ]]; then
+		echo "#define MESA_GIT_SHA1 \"git-deadbeef\"" > src/git_sha1.h
+	fi
+
+	# apply patches
+	if [[ ${PV} != 9999* && -n ${SRC_PATCHES} ]]; then
+		EPATCH_FORCE="yes" \
+		EPATCH_SOURCE="${WORKDIR}/patches" \
+		EPATCH_SUFFIX="patch" \
+		epatch
+	fi
+
+	default
+}
+
+src_configure() {
+	cros_optimize_package_for_speed
+	arc-build-select-clang
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	tc-getPROG PKG_CONFIG pkg-config
+
+	if use vulkan; then
+		VULKAN_DRIVERS=virtio-experimental
+	fi
+
+	# The AOSP build system defines the Make variable
+	# PLATFORM_SDK_VERSION, and Mesa's Android.mk files use it to
+	# define the macro ANDROID_API_LEVEL. Arc emulates that here.
+	if [[ -n "${ARC_PLATFORM_SDK_VERSION}" ]]; then
+		CPPFLAGS+=" -DANDROID_API_LEVEL=${ARC_PLATFORM_SDK_VERSION}"
+	fi
+
+	arc-build-create-cross-file
+
+	emesonargs+=(
+		--prefix="${ARC_VM_PREFIX}/vendor"
+		--sysconfdir=/system/vendor/etc
+		-Ddri-search-path="/system/$(get_libdir)/dri:/system/vendor/$(get_libdir)/dri"
+		-Dgallium-va=false
+		-Dgallium-vdpau=false
+		-Dgallium-xvmc=false
+		-Dgallium-omx=disabled
+		-Dglx=disabled
+		-Ddri3=false
+		-Dgles-lib-suffix=_mesa
+		-Degl-lib-suffix=_mesa
+		-Dfreedreno-virtio=true
+		-Dplatforms="android"
+		-Dllvm=disabled
+		-Degl=enabled
+		-Dgbm=disabled
+		-Dgles1=enabled
+		-Dgles2=enabled
+		-Dshared-glapi=enabled
+		$(meson_use selinux)
+		-Ddri-drivers=
+		-Dgallium-drivers="virgl,freedreno"
+		-Dvulkan-drivers="${VULKAN_DRIVERS}"
+		--buildtype $(usex debug debug release)
+		--cross-file="${ARC_CROSS_FILE}"
+		-Dplatform-sdk-version="${ARC_PLATFORM_SDK_VERSION}"
+	)
+
+	meson_src_configure
+}
+
+# The meson eclass exports src_compile but not multilib_src_compile. src_compile
+# gets overridden by multilib-minimal
+multilib_src_compile() {
+	meson_src_compile
+}
+
+multilib_src_install() {
+	if use vulkan; then
+		exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)/hw"
+		newexe "${BUILD_DIR}"/src/virtio/vulkan/libvulkan_virtio.so vulkan.cheets.so
+	fi
+
+	exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)"
+	newexe "${BUILD_DIR}/src/mapi/shared-glapi/libglapi.so.0" libglapi.so.0
+
+	exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)/egl"
+	newexe "${BUILD_DIR}/src/egl/libEGL_mesa.so" libEGL_mesa.so
+	newexe "${BUILD_DIR}/src/mapi/es1api/libGLESv1_CM_mesa.so" libGLESv1_CM_mesa.so
+	newexe "${BUILD_DIR}/src/mapi/es2api/libGLESv2_mesa.so" libGLESv2_mesa.so
+
+	exeinto "${ARC_VM_PREFIX}/vendor/$(get_libdir)/dri"
+	newexe "${BUILD_DIR}/src/gallium/targets/dri/libgallium_dri.so" virtio_gpu_dri.so
+}
+
+multilib_src_install_all() {
+	# For documentation on the feature set represented by each XML file
+	# installed into /vendor/etc/permissions, see
+	# <https://developer.android.com/reference/android/content/pm/PackageManager.html>.
+	# For example XML files for each feature, see
+	# <https://android.googlesource.com/platform/frameworks/native/+/master/data/etc>.
+
+	# Install init files to advertise supported API versions.
+	insinto "${ARC_VM_PREFIX}/vendor/etc/init"
+	doins "${FILESDIR}/gles32.rc"
+
+	# Install vulkan related files.
+	if use vulkan; then
+		einfo "Using android vulkan."
+		insinto "${ARC_VM_PREFIX}/vendor/etc/init"
+		doins "${FILESDIR}/vulkan.rc"
+
+		insinto "${ARC_VM_PREFIX}/vendor/etc/permissions"
+		doins "${FILESDIR}/android.hardware.vulkan.version-1_1.xml"
+		doins "${FILESDIR}/android.hardware.vulkan.level-1.xml"
+	fi
+
+	if use android_vulkan_compute_0; then
+		einfo "Using android vulkan_compute_0."
+		insinto "${ARC_VM_PREFIX}/vendor/etc/permissions"
+		doins "${FILESDIR}/android.hardware.vulkan.compute-0.xml"
+	fi
+
+	# Install permission file to declare opengles aep support.
+	insinto "${ARC_VM_PREFIX}/vendor/etc/permissions"
+	doins "${FILESDIR}/android.hardware.opengles.aep.xml"
+
+	# Install the dri header for arc-cros-gralloc
+	insinto "${ARC_VM_PREFIX}/vendor/include/GL"
+	doins -r "${S}/include/GL/internal"
+}
diff --git a/media-libs/arcvm-mesa-freedreno/files/android.hardware.opengles.aep.xml b/media-libs/arcvm-mesa-freedreno/files/android.hardware.opengles.aep.xml
new file mode 100644
index 0000000..055fa7ae
--- /dev/null
+++ b/media-libs/arcvm-mesa-freedreno/files/android.hardware.opengles.aep.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- This is the standard feature indicating that the device supports the
+     Android Extension Pack features. -->
+<permissions>
+    <feature name="android.hardware.opengles.aep" />
+</permissions>
+
diff --git a/media-libs/arcvm-mesa-freedreno/files/android.hardware.vulkan.compute-0.xml b/media-libs/arcvm-mesa-freedreno/files/android.hardware.vulkan.compute-0.xml
new file mode 100644
index 0000000..bac2fde
--- /dev/null
+++ b/media-libs/arcvm-mesa-freedreno/files/android.hardware.vulkan.compute-0.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2017 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- This is the standard feature indicating that the device supports Vulkan
+     compute level 0. -->
+<permissions>
+    <feature name="android.hardware.vulkan.compute" version="0" />
+</permissions>
diff --git a/media-libs/arcvm-mesa-freedreno/files/android.hardware.vulkan.level-1.xml b/media-libs/arcvm-mesa-freedreno/files/android.hardware.vulkan.level-1.xml
new file mode 100644
index 0000000..c3f5513
--- /dev/null
+++ b/media-libs/arcvm-mesa-freedreno/files/android.hardware.vulkan.level-1.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2016 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- This is the standard feature indicating that the device supports Vulkan
+     hardware level 1. -->
+<permissions>
+    <feature name="android.hardware.vulkan.level" version="1" />
+</permissions>
diff --git a/media-libs/arcvm-mesa-freedreno/files/android.hardware.vulkan.version-1_1.xml b/media-libs/arcvm-mesa-freedreno/files/android.hardware.vulkan.version-1_1.xml
new file mode 100644
index 0000000..9704e0f
--- /dev/null
+++ b/media-libs/arcvm-mesa-freedreno/files/android.hardware.vulkan.version-1_1.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2018 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- This is the standard feature indicating that the device has a Vulkan
+     driver that supports API version 1.1 (0x00401000) -->
+<permissions>
+    <feature name="android.hardware.vulkan.version" version="4198400" />
+</permissions>
diff --git a/media-libs/arcvm-mesa-freedreno/files/chromeos-version.sh b/media-libs/arcvm-mesa-freedreno/files/chromeos-version.sh
new file mode 100755
index 0000000..943e23d
--- /dev/null
+++ b/media-libs/arcvm-mesa-freedreno/files/chromeos-version.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+#
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# This script is given one argument: the base of the source directory of
+# the package, and it prints a string on stdout with the numerical version
+# number for said repo.
+
+exec sed -e 's/devel/pre/g' -e 's/-/_/g' "$1/VERSION"
diff --git a/media-libs/arcvm-mesa-freedreno/files/gles32.rc b/media-libs/arcvm-mesa-freedreno/files/gles32.rc
new file mode 100644
index 0000000..5c18da1
--- /dev/null
+++ b/media-libs/arcvm-mesa-freedreno/files/gles32.rc
@@ -0,0 +1,9 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+on early-init
+    # Advertise opengles version 3.2.
+    setprop ro.opengles.version 196610
+    setprop ro.hardware.egl mesa
+    #setprop drm.gpu.vendor_name virtio_gpu
diff --git a/media-libs/arcvm-mesa-freedreno/files/vulkan.rc b/media-libs/arcvm-mesa-freedreno/files/vulkan.rc
new file mode 100644
index 0000000..deb7128
--- /dev/null
+++ b/media-libs/arcvm-mesa-freedreno/files/vulkan.rc
@@ -0,0 +1,8 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+on early-init
+    setprop ro.hardware.vulkan cheets
+    setprop ro.hardware.vulkan.level 1
+    setprop ro.hardware.vulkan.version 4194307
diff --git a/media-libs/arcvm-mesa-freedreno/metadata.xml b/media-libs/arcvm-mesa-freedreno/metadata.xml
new file mode 100644
index 0000000..f03fb50
--- /dev/null
+++ b/media-libs/arcvm-mesa-freedreno/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+  <use>
+      <flag name="android_aep">Advertise feature android.hardware.opengles.aep (Android Extension Pack).</flag>
+      <flag name="android_gles2">Limit OpenGL ES to 2.0.</flag>
+      <flag name="android_gles30">Limit OpenGL ES to 3.0.</flag>
+      <flag name="android_gles31">Limit OpenGL ES to 3.1.</flag>
+      <flag name="android_gles32">Limit OpenGL ES to 3.2.</flag>
+      <flag name="android_vulkan_compute_0">Advertise feature android.hardware.vulkan.compute=0. Valid for Android >= Oreo.</flag>
+  </use>
+</pkgmetadata>
diff --git a/media-libs/clvk-test/OWNERS b/media-libs/clvk-test/OWNERS
index fb1ac38..d072a0a 100644
--- a/media-libs/clvk-test/OWNERS
+++ b/media-libs/clvk-test/OWNERS
@@ -1,2 +1,3 @@
 set noparent
 include chromiumos/platform/graphics:/OWNERS.clvk
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/media-libs/clvk-test/clvk-test-0.0.1-r3.ebuild b/media-libs/clvk-test/clvk-test-0.0.1-r9.ebuild
similarity index 100%
rename from media-libs/clvk-test/clvk-test-0.0.1-r3.ebuild
rename to media-libs/clvk-test/clvk-test-0.0.1-r9.ebuild
diff --git a/media-libs/clvk-test/clvk-test-0.0.1.ebuild b/media-libs/clvk-test/clvk-test-0.0.1.ebuild
index ee51458..f5e95de 100644
--- a/media-libs/clvk-test/clvk-test-0.0.1.ebuild
+++ b/media-libs/clvk-test/clvk-test-0.0.1.ebuild
@@ -1,11 +1,12 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
+# Copyright 2021 The ChromiumOS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
 
 EAPI=7
 
-CROS_WORKON_COMMIT="a64c0156eb61a51c3d17c14d0741ca27c742fda9"
+CROS_WORKON_COMMIT="ad6d1b71dc6b351928b6c9e9d4d826e39fe2ea44"
 
-CROS_WORKON_TREE="a64c0156eb61a51c3d17c14d0741ca27c742fda9"
+CROS_WORKON_TREE="ad6d1b71dc6b351928b6c9e9d4d826e39fe2ea44"
 
 CROS_WORKON_MANUAL_UPREV="1"
 
@@ -17,7 +18,7 @@
 
 CROS_WORKON_DESTDIR="${CLVK_DIR}"
 
-CROS_WORKON_EGIT_BRANCH="upstream/master"
+CROS_WORKON_EGIT_BRANCH="upstream/main"
 
 inherit cmake-utils cros-workon
 
@@ -40,8 +41,6 @@
 
 # target runtime dependencies
 RDEPEND="
-	>=dev-util/spirv-tools-2020.6
-	>=media-libs/vulkan-loader-1.2.162
 	>=media-libs/clvk-0.0.1
 "
 
@@ -52,7 +51,7 @@
 
 PATCHES=()
 if [[ ${PV} != "9999" ]]; then
-	PATCHES+=("${FILESDIR}/cmake.patch")
+	PATCHES+=("${FILESDIR}/clvk-gtest.patch")
 fi
 
 src_prepare() {
@@ -61,11 +60,12 @@
 }
 
 src_configure() {
-	CMAKE_BUILD_TYPE=$(usex debug Debug RelWithDebInfo)
-
 	local mycmakeargs=(
 		-DCLVK_VULKAN_IMPLEMENTATION=system
 		-DCLVK_COMPILER_AVAILABLE=ON
+		-DBUILD_SHARED_LIBS=OFF
+		-DCLVK_BUILD_STATIC_TESTS=OFF
+		-DCMAKE_CXX_STANDARD_LIBRARIES="-lpthread" # needed for api_tests
 	)
 	cmake-utils_src_configure
 }
diff --git a/media-libs/clvk-test/clvk-test-9999.ebuild b/media-libs/clvk-test/clvk-test-9999.ebuild
index 69f483b..9631fc5 100644
--- a/media-libs/clvk-test/clvk-test-9999.ebuild
+++ b/media-libs/clvk-test/clvk-test-9999.ebuild
@@ -13,7 +13,7 @@
 
 CROS_WORKON_DESTDIR="${CLVK_DIR}"
 
-CROS_WORKON_EGIT_BRANCH="upstream/master"
+CROS_WORKON_EGIT_BRANCH="upstream/main"
 
 inherit cmake-utils cros-workon
 
@@ -36,8 +36,6 @@
 
 # target runtime dependencies
 RDEPEND="
-	>=dev-util/spirv-tools-2020.6
-	>=media-libs/vulkan-loader-1.2.162
 	>=media-libs/clvk-0.0.1
 "
 
@@ -48,7 +46,7 @@
 
 PATCHES=()
 if [[ ${PV} != "9999" ]]; then
-	PATCHES+=("${FILESDIR}/cmake.patch")
+	PATCHES+=("${FILESDIR}/clvk-gtest.patch")
 fi
 
 src_prepare() {
@@ -57,11 +55,12 @@
 }
 
 src_configure() {
-	CMAKE_BUILD_TYPE=$(usex debug Debug RelWithDebInfo)
-
 	local mycmakeargs=(
 		-DCLVK_VULKAN_IMPLEMENTATION=system
 		-DCLVK_COMPILER_AVAILABLE=ON
+		-DBUILD_SHARED_LIBS=OFF
+		-DCLVK_BUILD_STATIC_TESTS=OFF
+		-DCMAKE_CXX_STANDARD_LIBRARIES="-lpthread" # needed for api_tests
 	)
 	cmake-utils_src_configure
 }
diff --git a/media-libs/clvk-test/files/clvk-gtest.patch b/media-libs/clvk-test/files/clvk-gtest.patch
new file mode 100644
index 0000000..9805318
--- /dev/null
+++ b/media-libs/clvk-test/files/clvk-gtest.patch
@@ -0,0 +1,13 @@
+diff --git a/clvk/tests/CMakeLists.txt b/clvk/tests/CMakeLists.txt
+index 463a73a..bb82aca 100644
+--- a/clvk/tests/CMakeLists.txt
++++ b/clvk/tests/CMakeLists.txt
+@@ -28,7 +28,7 @@ macro(add_gtest_executable name)
+   include_directories(${LLVM_SOURCE_DIR}/utils/unittest/googletest/include/)
+   include_directories(${CLVK_PROJECT_SOURCE_DIR}/src)
+ 
+-  target_link_libraries(${name} OpenCL llvm_gtest llvm_gtest_main)
++  target_link_libraries(${name} OpenCL gtest gtest_main)
+   if (BUILD_SHARED_LIBS)
+     target_link_libraries(${name} LLVMSupport)
+   endif()
diff --git a/media-libs/clvk-test/files/cmake.patch b/media-libs/clvk-test/files/cmake.patch
deleted file mode 100644
index 84d8f55..0000000
--- a/media-libs/clvk-test/files/cmake.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff --git a/clvk/tests/CMakeLists.txt b/clvk/tests/CMakeLists.txt
-index 76ceaf9..6494e69 100644
---- a/clvk/tests/CMakeLists.txt
-+++ b/clvk/tests/CMakeLists.txt
-@@ -12,13 +12,11 @@
- # See the License for the specific language governing permissions and
- # limitations under the License.
- 
-+cmake_minimum_required(VERSION 3.9)
-+project(clvk_test)
- 
--if (CLVK_COMPILER_AVAILABLE)
- add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/api)
--add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/sha1)
- add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/simple)
--endif()
--add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/simple-from-binary)
- 
- option(CLVK_BUILD_CONFORMANCE_TESTS "Build OpenCL conformance tests")
- if (CLVK_BUILD_CONFORMANCE_TESTS)
-diff --git a/clvk/tests/api/CMakeLists.txt b/clvk/tests/api/CMakeLists.txt
-index ae4e792..63189de 100644
---- a/clvk/tests/api/CMakeLists.txt
-+++ b/clvk/tests/api/CMakeLists.txt
-@@ -46,7 +46,7 @@ include_directories(${LLVM_BINARY_DIR}/include)
- include_directories(${LLVM_SOURCE_DIR}/include)
- include_directories(${LLVM_SOURCE_DIR}/utils/unittest/googletest/include/)
- 
--target_link_libraries(${BINARY_NAME} OpenCL gtest gtest_main)
-+target_link_libraries(${BINARY_NAME} OpenCL gtest gtest_main pthread)
- 
- set_target_properties(${BINARY_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY
-     ${CMAKE_BINARY_DIR})
-diff --git a/clvk/tests/simple/CMakeLists.txt b/clvk/tests/simple/CMakeLists.txt
-index d921041..a628f68 100644
---- a/clvk/tests/simple/CMakeLists.txt
-+++ b/clvk/tests/simple/CMakeLists.txt
-@@ -13,16 +13,11 @@
- # limitations under the License.
- 
- set(BINARY_NAME simple_test)
--set(BINARY_NAME_STATIC simple_test_static)
- 
- add_executable(${BINARY_NAME} simple.cpp)
--add_executable(${BINARY_NAME_STATIC} simple.cpp)
- 
- target_link_libraries(${BINARY_NAME} OpenCL)
--target_link_libraries(${BINARY_NAME_STATIC} OpenCL-static)
- 
- set_target_properties(${BINARY_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY
-     ${CMAKE_BINARY_DIR})
--set_target_properties(${BINARY_NAME_STATIC} PROPERTIES RUNTIME_OUTPUT_DIRECTORY
--    ${CMAKE_BINARY_DIR})
- 
diff --git a/media-libs/clvk/Manifest b/media-libs/clvk/Manifest
index 50669bd..0e300d0 100644
--- a/media-libs/clvk/Manifest
+++ b/media-libs/clvk/Manifest
@@ -1 +1,2 @@
-DIST llvm-project-d7630b37ceb8d7032f133e0257724997e4cc76ec.zip 222048783 BLAKE2B 7b47b0845d1f02c9d1b2b8afa38f976c072a60946fdbc0249b53ab5d754fa077f7e3bb520b1220f8f03b4c7ce00983b41121ee0b2f6f33338ab01a7f3f6d142e SHA512 670e33d40499e883c8e2ac03b6639fa6dc3594e9ad3321cce2f42dcdfbb06d23f0c5ea5995f35180607eeb0347aa596bb93e2d1e06641d18bf094789d9967f8b
+DIST SPIRV-LLVM-Translator-a836197d52aced43f49b7f9a2386424ce734acba.zip 2082651 BLAKE2B 4e02f904f729b3ecaaaf09366cd2fa9a59b912bc224f8c4907343a2bac6ba39ff52790079ef9c8d0d21d051dffef4aa7e5a1845edd9ce09c6c16a2e735c95854 SHA512 8cf6a8007483e34f623c0383e350a12fab8a589f9e85c9c030285fabd4f39627d052f385ccb624a7a50e17d06f91e02dedc68e0512205794140ecf4986f3ab7e
+DIST llvm-project-88b9d1a49aba54171804da355f00c8fe0483f428.zip 224617059 BLAKE2B 1ccc01ab969b002242383206bad1a613d741ae253886deae033ac4219b53687e4482a9eafca385bf5d5a0a9179b48a8a9259267ac98fa55225049eaca1fc49f2 SHA512 58c6027532d40996d91d635dedc522057c4e0f35d65caf5782ba1e8c5811bca3db05dba4e3465ff2c7b5267de0cf6af04e28faee87527e6656280a34b4c67ef6
diff --git a/media-libs/clvk/OWNERS b/media-libs/clvk/OWNERS
index fb1ac38..d072a0a 100644
--- a/media-libs/clvk/OWNERS
+++ b/media-libs/clvk/OWNERS
@@ -1,2 +1,3 @@
 set noparent
 include chromiumos/platform/graphics:/OWNERS.clvk
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/media-libs/clvk/clvk-0.0.1-r4.ebuild b/media-libs/clvk/clvk-0.0.1-r15.ebuild
similarity index 100%
rename from media-libs/clvk/clvk-0.0.1-r4.ebuild
rename to media-libs/clvk/clvk-0.0.1-r15.ebuild
diff --git a/media-libs/clvk/clvk-0.0.1.ebuild b/media-libs/clvk/clvk-0.0.1.ebuild
index 317ac3c..01f58d3 100644
--- a/media-libs/clvk/clvk-0.0.1.ebuild
+++ b/media-libs/clvk/clvk-0.0.1.ebuild
@@ -1,16 +1,17 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
+# Copyright 2021 The ChromiumOS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
 
 EAPI=7
 
 CROS_WORKON_COMMIT=(
-	"a64c0156eb61a51c3d17c14d0741ca27c742fda9"
-	"f99809bdab1710846633b4ec24f5448263e75da7"
+	"ad6d1b71dc6b351928b6c9e9d4d826e39fe2ea44"
+	"c6e5827af039c20e44c6c0a1d9ee6dd89c251646"
 )
 
 CROS_WORKON_TREE=(
-	"a64c0156eb61a51c3d17c14d0741ca27c742fda9"
-	"f99809bdab1710846633b4ec24f5448263e75da7"
+	"ad6d1b71dc6b351928b6c9e9d4d826e39fe2ea44"
+	"c6e5827af039c20e44c6c0a1d9ee6dd89c251646"
 )
 
 CROS_WORKON_MANUAL_UPREV="1"
@@ -34,8 +35,8 @@
 )
 
 CROS_WORKON_EGIT_BRANCH=(
-	"upstream/master"
-	"upstream/master"
+	"upstream/main"
+	"upstream/main"
 )
 
 inherit cmake-utils cros-workon
@@ -45,9 +46,16 @@
 DESCRIPTION="Prototype implementation of OpenCL 1.2 on to of Vulkan using clspv as the Compiler"
 HOMEPAGE="https://github.com/kpet/${PN}"
 
-LLVM_FOLDER="llvm-project-d7630b37ceb8d7032f133e0257724997e4cc76ec"
+LLVM_FOLDER="llvm-project-88b9d1a49aba54171804da355f00c8fe0483f428"
 LLVM_ARCHIVE="${LLVM_FOLDER}.zip"
-SRC_URI="https://storage.cloud.google.com/chromeos-localmirror/distfiles/${LLVM_ARCHIVE}"
+
+SPIRV_LLVM_TRANSLATOR_FOLDER="SPIRV-LLVM-Translator-a836197d52aced43f49b7f9a2386424ce734acba"
+SPIRV_LLVM_TRANSLATOR_ARCHIVE="${SPIRV_LLVM_TRANSLATOR_FOLDER}.zip"
+
+SRC_URI="
+https://storage.cloud.google.com/chromeos-localmirror/distfiles/${LLVM_ARCHIVE}
+https://storage.cloud.google.com/chromeos-localmirror/distfiles/${SPIRV_LLVM_TRANSLATOR_ARCHIVE}
+"
 
 LICENSE="Apache-2.0"
 SLOT="0"
@@ -56,16 +64,16 @@
 
 # target build dependencies
 DEPEND="
-	>=dev-util/vulkan-headers-1.2.162
+	>=dev-util/vulkan-headers-1.3.211
 	>=dev-util/opencl-headers-2021.04.29
-	>=dev-util/spirv-tools-2020.6
-	dev-util/spirv-headers
+	>=dev-util/spirv-tools-1.3.211
+	>=dev-util/spirv-headers-1.3.211-r1
 "
 
 # target runtime dependencies
 RDEPEND="
-	>=dev-util/spirv-tools-2020.6
-	>=media-libs/vulkan-loader-1.2.162
+	>=dev-util/spirv-tools-1.3.211
+	>=media-libs/vulkan-loader-1.3.211
 "
 
 # host build dependencies
@@ -75,16 +83,27 @@
 
 PATCHES=()
 if [[ ${PV} != "9999" ]]; then
-	PATCHES+=("${FILESDIR}/clvk-CL_MEM_USE_COPY_HOST_PTR.patch")
-	PATCHES+=("${FILESDIR}/clvk-CL_MEM_OBJECT_IMAGE1D_BUFFER.patch")
+	PATCHES+=("${FILESDIR}/clvk-opencl12.patch")
+	# TODO(b/228820464) : To be removed once Intel issue on OpMulExtended is fixed.
+	PATCHES+=("${FILESDIR}/hack-mul-extended.patch")
+	# TODO(b/227133185) : To be removed once llvm is updated (once mesa issue is fixed)
+	PATCHES+=("${FILESDIR}/clspv-use-old-llvm.patch")
+	# TODO(b/241788717) : To be remove once we have a proper implementation for it in clvk
+	PATCHES+=("${FILESDIR}/clvk-sampledbuffer.patch")
 fi
 
 src_unpack() {
 	unpack "${LLVM_ARCHIVE}"
+	unpack "${SPIRV_LLVM_TRANSLATOR_ARCHIVE}"
 	cros-workon_src_unpack
 }
 
 src_prepare() {
+	# TODO(b/227133185) : To be removed once Intel fixed the issue in mesa breaking TFlite (and preventing llvm to be updated).
+	pushd "${WORKDIR}/${LLVM_FOLDER}" || die
+	eapply "${FILESDIR}/UPSTREAM-llvm-d8d793f29b4-Fix-compat-with-retroactive-c++23.patch"
+	popd || die
+
 	cmake-utils_src_prepare
 	eapply_user
 }
@@ -122,10 +141,14 @@
 	CMAKE_BUILD_TYPE=$(usex debug Debug RelWithDebInfo)
 
 	local CLVK_LLVM_PROJECT_DIR="${WORKDIR}/${LLVM_FOLDER}"
+	local CLVK_SPIRV_LLVM_TRANSLATOR_DIR="${WORKDIR}/${SPIRV_LLVM_TRANSLATOR_FOLDER}"
 	local mycmakeargs=(
 		-DSPIRV_HEADERS_SOURCE_DIR="${ESYSROOT}/usr/"
 		-DSPIRV_TOOLS_SOURCE_DIR="${ESYSROOT}/usr/"
 
+		-DLLVM_SPIRV_SOURCE="${CLVK_SPIRV_LLVM_TRANSLATOR_DIR}"
+		-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${SPIRV_HEADERS_SOURCE_DIR}"
+
 		-DCLSPV_SOURCE_DIR="${CLSPV_DIR}"
 		-DCLSPV_LLVM_SOURCE_DIR="${CLVK_LLVM_PROJECT_DIR}/llvm"
 		-DCLSPV_CLANG_SOURCE_DIR="${CLVK_LLVM_PROJECT_DIR}/clang"
diff --git a/media-libs/clvk/clvk-9999.ebuild b/media-libs/clvk/clvk-9999.ebuild
index 024162f..d0233e1 100644
--- a/media-libs/clvk/clvk-9999.ebuild
+++ b/media-libs/clvk/clvk-9999.ebuild
@@ -1,5 +1,6 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
+# Copyright 2021 The ChromiumOS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
 
 EAPI=7
 
@@ -24,8 +25,8 @@
 )
 
 CROS_WORKON_EGIT_BRANCH=(
-	"upstream/master"
-	"upstream/master"
+	"upstream/main"
+	"upstream/main"
 )
 
 inherit cmake-utils cros-workon
@@ -35,9 +36,16 @@
 DESCRIPTION="Prototype implementation of OpenCL 1.2 on to of Vulkan using clspv as the Compiler"
 HOMEPAGE="https://github.com/kpet/${PN}"
 
-LLVM_FOLDER="llvm-project-d7630b37ceb8d7032f133e0257724997e4cc76ec"
+LLVM_FOLDER="llvm-project-88b9d1a49aba54171804da355f00c8fe0483f428"
 LLVM_ARCHIVE="${LLVM_FOLDER}.zip"
-SRC_URI="https://storage.cloud.google.com/chromeos-localmirror/distfiles/${LLVM_ARCHIVE}"
+
+SPIRV_LLVM_TRANSLATOR_FOLDER="SPIRV-LLVM-Translator-a836197d52aced43f49b7f9a2386424ce734acba"
+SPIRV_LLVM_TRANSLATOR_ARCHIVE="${SPIRV_LLVM_TRANSLATOR_FOLDER}.zip"
+
+SRC_URI="
+https://storage.cloud.google.com/chromeos-localmirror/distfiles/${LLVM_ARCHIVE}
+https://storage.cloud.google.com/chromeos-localmirror/distfiles/${SPIRV_LLVM_TRANSLATOR_ARCHIVE}
+"
 
 LICENSE="Apache-2.0"
 SLOT="0"
@@ -46,16 +54,16 @@
 
 # target build dependencies
 DEPEND="
-	>=dev-util/vulkan-headers-1.2.162
+	>=dev-util/vulkan-headers-1.3.211
 	>=dev-util/opencl-headers-2021.04.29
-	>=dev-util/spirv-tools-2020.6
-	dev-util/spirv-headers
+	>=dev-util/spirv-tools-1.3.211
+	>=dev-util/spirv-headers-1.3.211-r1
 "
 
 # target runtime dependencies
 RDEPEND="
-	>=dev-util/spirv-tools-2020.6
-	>=media-libs/vulkan-loader-1.2.162
+	>=dev-util/spirv-tools-1.3.211
+	>=media-libs/vulkan-loader-1.3.211
 "
 
 # host build dependencies
@@ -65,16 +73,27 @@
 
 PATCHES=()
 if [[ ${PV} != "9999" ]]; then
-	PATCHES+=("${FILESDIR}/clvk-CL_MEM_USE_COPY_HOST_PTR.patch")
-	PATCHES+=("${FILESDIR}/clvk-CL_MEM_OBJECT_IMAGE1D_BUFFER.patch")
+	PATCHES+=("${FILESDIR}/clvk-opencl12.patch")
+	# TODO(b/228820464) : To be removed once Intel issue on OpMulExtended is fixed.
+	PATCHES+=("${FILESDIR}/hack-mul-extended.patch")
+	# TODO(b/227133185) : To be removed once llvm is updated (once mesa issue is fixed)
+	PATCHES+=("${FILESDIR}/clspv-use-old-llvm.patch")
+	# TODO(b/241788717) : To be remove once we have a proper implementation for it in clvk
+	PATCHES+=("${FILESDIR}/clvk-sampledbuffer.patch")
 fi
 
 src_unpack() {
 	unpack "${LLVM_ARCHIVE}"
+	unpack "${SPIRV_LLVM_TRANSLATOR_ARCHIVE}"
 	cros-workon_src_unpack
 }
 
 src_prepare() {
+	# TODO(b/227133185) : To be removed once Intel fixed the issue in mesa breaking TFlite (and preventing llvm to be updated).
+	pushd "${WORKDIR}/${LLVM_FOLDER}" || die
+	eapply "${FILESDIR}/UPSTREAM-llvm-d8d793f29b4-Fix-compat-with-retroactive-c++23.patch"
+	popd || die
+
 	cmake-utils_src_prepare
 	eapply_user
 }
@@ -112,10 +131,14 @@
 	CMAKE_BUILD_TYPE=$(usex debug Debug RelWithDebInfo)
 
 	local CLVK_LLVM_PROJECT_DIR="${WORKDIR}/${LLVM_FOLDER}"
+	local CLVK_SPIRV_LLVM_TRANSLATOR_DIR="${WORKDIR}/${SPIRV_LLVM_TRANSLATOR_FOLDER}"
 	local mycmakeargs=(
 		-DSPIRV_HEADERS_SOURCE_DIR="${ESYSROOT}/usr/"
 		-DSPIRV_TOOLS_SOURCE_DIR="${ESYSROOT}/usr/"
 
+		-DLLVM_SPIRV_SOURCE="${CLVK_SPIRV_LLVM_TRANSLATOR_DIR}"
+		-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${SPIRV_HEADERS_SOURCE_DIR}"
+
 		-DCLSPV_SOURCE_DIR="${CLSPV_DIR}"
 		-DCLSPV_LLVM_SOURCE_DIR="${CLVK_LLVM_PROJECT_DIR}/llvm"
 		-DCLSPV_CLANG_SOURCE_DIR="${CLVK_LLVM_PROJECT_DIR}/clang"
diff --git a/media-libs/clvk/files/UPSTREAM-llvm-d8d793f29b4-Fix-compat-with-retroactive-c++23.patch b/media-libs/clvk/files/UPSTREAM-llvm-d8d793f29b4-Fix-compat-with-retroactive-c++23.patch
new file mode 100644
index 0000000..729c4a01
--- /dev/null
+++ b/media-libs/clvk/files/UPSTREAM-llvm-d8d793f29b4-Fix-compat-with-retroactive-c++23.patch
@@ -0,0 +1,26 @@
+commit d8d793f29b40767925578f721b35fba352d8296c
+Author: Corentin Jabot <corentinjabot@gmail.com>
+Date:   Wed Apr 13 22:47:44 2022 +0200
+
+    Fix compatibility with retroactive C++23 change [NFC]
+    
+    Referring to capture in parameter list is now ill-formed.
+    This change is made to prepare for https://reviews.llvm.org/D119136
+
+diff --git a/llvm/include/llvm/CodeGen/LiveInterval.h b/llvm/include/llvm/CodeGen/LiveInterval.h
+index 51ffe2807434..5a3c488aa338 100644
+--- a/llvm/include/llvm/CodeGen/LiveInterval.h
++++ b/llvm/include/llvm/CodeGen/LiveInterval.h
+@@ -625,10 +625,8 @@ namespace llvm {
+         // if the Seg is lower find first segment that is above Idx using binary
+         // search
+         if (Seg->end <= *Idx) {
+-          Seg = std::upper_bound(
+-              ++Seg, EndSeg, *Idx,
+-              [=](std::remove_reference_t<decltype(*Idx)> V,
+-                  const std::remove_reference_t<decltype(*Seg)> &S) {
++          Seg =
++              std::upper_bound(++Seg, EndSeg, *Idx, [=](auto V, const auto &S) {
+                 return V < S.end;
+               });
+           if (Seg == EndSeg)
diff --git a/media-libs/clvk/files/clspv-use-old-llvm.patch b/media-libs/clvk/files/clspv-use-old-llvm.patch
new file mode 100644
index 0000000..e7e42af
--- /dev/null
+++ b/media-libs/clvk/files/clspv-use-old-llvm.patch
@@ -0,0 +1,39 @@
+diff --git a/clspv/lib/BitcastUtils.cpp b/clspv/lib/BitcastUtils.cpp
+index c4599bef..a0b3695b 100644
+--- a/clspv/lib/BitcastUtils.cpp
++++ b/clspv/lib/BitcastUtils.cpp
+@@ -384,8 +384,9 @@ void GroupVectorValuesInPair(IRBuilder<> &Builder,
+ 
+   for (unsigned i = 0; i < NewValuesSize; i++) {
+     unsigned idx = 2 * i;
++    SmallVector<unsigned, 4> Indices = {0, 1, 2, 3};
+     Values[i] =
+-        Builder.CreateShuffleVector(Values[idx], Values[idx + 1], {0, 1, 2, 3});
++        Builder.CreateShuffleVector(Values[idx], Values[idx + 1], Indices);
+   }
+   Values.resize(NewValuesSize);
+ }
+diff --git a/clspv/lib/Compiler.cpp b/clspv/lib/Compiler.cpp
+index 8808a520..dcb7e59a 100644
+--- a/clspv/lib/Compiler.cpp
++++ b/clspv/lib/Compiler.cpp
+@@ -276,7 +276,6 @@ int SetCompilerInstanceOptions(
+   instance.getCodeGenOpts().SimplifyLibCalls = false;
+   instance.getCodeGenOpts().EmitOpenCLArgMetadata = false;
+   instance.getCodeGenOpts().DisableO0ImplyOptNone = true;
+-  instance.getCodeGenOpts().OpaquePointers = OpaquePointers;
+   instance.getDiagnosticOpts().IgnoreWarnings = IgnoreWarnings;
+ 
+   instance.getLangOpts().SinglePrecisionConstants =
+@@ -324,8 +323,9 @@ int SetCompilerInstanceOptions(
+   // We manually include the OpenCL headers below, so this vector is unused.
+   std::vector<std::string> includes;
+ 
+-  LangOptions::setLangDefaults(instance.getLangOpts(), clang::Language::OpenCL,
+-                               triple, includes, standard);
++  instance.getInvocation().setLangDefaults(
++      instance.getLangOpts(), clang::InputKind(clang::Language::OpenCL), triple,
++      includes, standard);
+ 
+   // Override the C99 inline semantics to accommodate for more OpenCL C
+   // programs in the wild.
diff --git a/media-libs/clvk/files/clvk-CL_MEM_OBJECT_IMAGE1D_BUFFER.patch b/media-libs/clvk/files/clvk-CL_MEM_OBJECT_IMAGE1D_BUFFER.patch
deleted file mode 100644
index ad8870f..0000000
--- a/media-libs/clvk/files/clvk-CL_MEM_OBJECT_IMAGE1D_BUFFER.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-diff --git a/clvk/src/api.cpp b/clvk/src/api.cpp
-index d13c879..ab57b14 100644
---- a/clvk/src/api.cpp
-+++ b/clvk/src/api.cpp
-@@ -1836,7 +1836,12 @@ cl_int CLVK_API_CALL clGetMemObjectInfo(cl_mem mem, cl_mem_info param_name,
-         ret_size = sizeof(val_uint);
-         break;
-     case CL_MEM_ASSOCIATED_MEMOBJECT:
--        val_memobj = memobj->parent();
-+        if (memobj->is_image_type()) {
-+            auto img = static_cast<cvk_image*>(mem);
-+            val_memobj = img->buffer();
-+        } else {
-+            val_memobj = memobj->parent();
-+        }
-         copy_ptr = &val_memobj;
-         ret_size = sizeof(val_memobj);
-         break;
-diff --git a/clvk/src/device.cpp b/clvk/src/device.cpp
-index 7d1176a..72eefa6 100644
---- a/clvk/src/device.cpp
-+++ b/clvk/src/device.cpp
-@@ -792,6 +792,7 @@ bool cvk_device::supports_capability(spv::Capability capability) const {
-     case spv::CapabilitySampled1D:
-     case spv::CapabilityImage1D:
-     case spv::CapabilityImageQuery:
-+    case spv::CapabilityImageBuffer:
-         return true;
-     // Optional capabilities:
-     case spv::CapabilityFloat16:
-diff --git a/clvk/src/memory.cpp b/clvk/src/memory.cpp
-index 505b1ac..e4805c6 100644
---- a/clvk/src/memory.cpp
-+++ b/clvk/src/memory.cpp
-@@ -14,6 +14,7 @@
- 
- #include <cmath>
- 
-+#include "CL/cl.h"
- #include "memory.hpp"
- #include "queue.hpp"
- 
-@@ -277,6 +278,7 @@ bool cvk_image::init() {
-     size_t host_ptr_size = 0;
- 
-     switch (m_desc.image_type) {
-+    case CL_MEM_OBJECT_IMAGE1D_BUFFER:
-     case CL_MEM_OBJECT_IMAGE1D:
-         image_type = VK_IMAGE_TYPE_1D;
-         view_type = VK_IMAGE_VIEW_TYPE_1D;
-@@ -308,7 +310,6 @@ bool cvk_image::init() {
-         view_type = VK_IMAGE_VIEW_TYPE_3D;
-         host_ptr_size = slice_pitch * m_extent.depth;
-         break;
--    case CL_MEM_OBJECT_IMAGE1D_BUFFER: // TODO support that
-     default:
-         CVK_ASSERT(false);
-         image_type = VK_IMAGE_TYPE_MAX_ENUM;
-@@ -355,23 +356,29 @@ bool cvk_image::init() {
-         return false;
-     }
- 
--    // Select memory type
--    cvk_device::allocation_parameters params =
--        device->select_memory_for(m_image);
--    if (params.memory_type_index == VK_MAX_MEMORY_TYPES) {
--        cvk_error_fn("Could not get memory type!");
--        return false;
--    }
-+    if (m_desc.image_type == CL_MEM_OBJECT_IMAGE1D_BUFFER) {
-+        auto buffer = static_cast<cvk_mem*>(m_desc.buffer);
-+        m_memory = std::unique_ptr<cvk_memory_allocation>(buffer->memory());
-+        buffer->retain();
-+    } else {
-+        // Select memory type
-+        cvk_device::allocation_parameters params =
-+            device->select_memory_for(m_image);
-+        if (params.memory_type_index == VK_MAX_MEMORY_TYPES) {
-+            cvk_error_fn("Could not get memory type!");
-+            return false;
-+        }
- 
--    // Allocate memory
--    m_memory = std::make_unique<cvk_memory_allocation>(
--        vkdev, params.size, params.memory_type_index);
-+        // Allocate memory
-+        m_memory = std::make_unique<cvk_memory_allocation>(
-+            vkdev, params.size, params.memory_type_index);
- 
--    res = m_memory->allocate();
-+        res = m_memory->allocate();
- 
--    if (res != VK_SUCCESS) {
--        cvk_error_fn("Could not allocate memory!");
--        return false;
-+        if (res != VK_SUCCESS) {
-+            cvk_error_fn("Could not allocate memory!");
-+            return false;
-+        }
-     }
- 
-     // Bind the image to memory
-diff --git a/clvk/src/memory.hpp b/clvk/src/memory.hpp
-index f769339..2d4f191 100644
---- a/clvk/src/memory.hpp
-+++ b/clvk/src/memory.hpp
-@@ -129,6 +129,13 @@ struct cvk_mem : public _cl_mem, api_object<object_magic::memory_object> {
-     const std::vector<cl_mem_properties>& properties() const {
-         return m_properties;
-     }
-+    cvk_memory_allocation* memory() const {
-+        if (m_parent == nullptr) {
-+            return m_memory.get();
-+        } else {
-+            return m_parent->memory();
-+        }
-+    }
- 
-     static bool is_image_type(cl_mem_object_type type) {
-         return ((type == CL_MEM_OBJECT_IMAGE1D) ||
-@@ -419,6 +426,9 @@ struct cvk_image : public cvk_mem {
-         if (m_image_view != VK_NULL_HANDLE) {
-             vkDestroyImageView(vkdev, m_image_view, nullptr);
-         }
-+        if (buffer() != nullptr) {
-+            buffer()->release();
-+        }
-     }
- 
-     static cvk_image* create(cvk_context* ctx, cl_mem_flags flags,
diff --git a/media-libs/clvk/files/clvk-CL_MEM_USE_COPY_HOST_PTR.patch b/media-libs/clvk/files/clvk-CL_MEM_USE_COPY_HOST_PTR.patch
deleted file mode 100644
index 4bd5d87..0000000
--- a/media-libs/clvk/files/clvk-CL_MEM_USE_COPY_HOST_PTR.patch
+++ /dev/null
@@ -1,605 +0,0 @@
-diff --git a/clvk/src/api.cpp b/clvk/src/api.cpp
-index e387df3..4b22d65 100644
---- a/clvk/src/api.cpp
-+++ b/clvk/src/api.cpp
-@@ -3894,13 +3894,6 @@ cl_mem cvk_create_image(cl_context context, cl_mem_flags flags,
-         return nullptr;
-     }
- 
--    if ((flags & (CL_MEM_USE_HOST_PTR | CL_MEM_COPY_HOST_PTR)) ||
--        (host_ptr != nullptr)) {
--        cvk_error("Creating an image with a host_ptr is not supported yet");
--        *errcode_ret = CL_INVALID_OPERATION;
--        return nullptr;
--    }
--
-     auto image =
-         cvk_image::create(icd_downcast(context), flags, image_desc,
-                           image_format, host_ptr, std::move(properties));
-diff --git a/clvk/src/memory.cpp b/clvk/src/memory.cpp
-index 6343cc9..505b1ac 100644
---- a/clvk/src/memory.cpp
-+++ b/clvk/src/memory.cpp
-@@ -15,6 +15,7 @@
- #include <cmath>
- 
- #include "memory.hpp"
-+#include "queue.hpp"
- 
- bool cvk_mem::map() {
-     std::lock_guard<std::mutex> lock(m_map_lock);
-@@ -253,38 +254,59 @@ bool cvk_image::init() {
-     // Translate image type and size
-     VkImageType image_type;
-     VkImageViewType view_type;
--    VkExtent3D extent;
- 
--    extent.width = m_desc.image_width;
--    extent.height = m_desc.image_height;
--    extent.depth = m_desc.image_depth;
-+    m_extent.width = m_desc.image_width;
-+    m_extent.height = m_desc.image_height;
-+    m_extent.depth = m_desc.image_depth;
-+
-+    uint32_t array_layers = 1;
-+    if ((m_desc.image_type == CL_MEM_OBJECT_IMAGE1D_ARRAY) ||
-+        (m_desc.image_type == CL_MEM_OBJECT_IMAGE2D_ARRAY)) {
-+        array_layers = m_desc.image_array_size;
-+    }
-+
-+    uint32_t row_pitch = m_desc.image_row_pitch;
-+    if (row_pitch == 0) {
-+        row_pitch = m_extent.width * element_size();
-+    }
-+    uint32_t slice_pitch = m_desc.image_slice_pitch;
-+    if (slice_pitch == 0) {
-+        slice_pitch = row_pitch * m_extent.height;
-+    }
-+
-+    size_t host_ptr_size = 0;
- 
-     switch (m_desc.image_type) {
-     case CL_MEM_OBJECT_IMAGE1D:
-         image_type = VK_IMAGE_TYPE_1D;
-         view_type = VK_IMAGE_VIEW_TYPE_1D;
--        extent.height = 1;
--        extent.depth = 1;
-+        m_extent.height = 1;
-+        m_extent.depth = 1;
-+        host_ptr_size = row_pitch;
-         break;
-     case CL_MEM_OBJECT_IMAGE1D_ARRAY:
-         image_type = VK_IMAGE_TYPE_1D;
-         view_type = VK_IMAGE_VIEW_TYPE_1D_ARRAY;
--        extent.height = 1;
--        extent.depth = 1;
-+        m_extent.height = 1;
-+        m_extent.depth = 1;
-+        host_ptr_size = row_pitch * array_layers;
-         break;
-     case CL_MEM_OBJECT_IMAGE2D:
-         image_type = VK_IMAGE_TYPE_2D;
-         view_type = VK_IMAGE_VIEW_TYPE_2D;
--        extent.depth = 1;
-+        m_extent.depth = 1;
-+        host_ptr_size = slice_pitch;
-         break;
-     case CL_MEM_OBJECT_IMAGE2D_ARRAY:
-         image_type = VK_IMAGE_TYPE_2D;
-         view_type = VK_IMAGE_VIEW_TYPE_2D_ARRAY;
--        extent.depth = 1;
-+        m_extent.depth = 1;
-+        host_ptr_size = slice_pitch * array_layers;
-         break;
-     case CL_MEM_OBJECT_IMAGE3D:
-         image_type = VK_IMAGE_TYPE_3D;
-         view_type = VK_IMAGE_VIEW_TYPE_3D;
-+        host_ptr_size = slice_pitch * m_extent.depth;
-         break;
-     case CL_MEM_OBJECT_IMAGE1D_BUFFER: // TODO support that
-     default:
-@@ -294,12 +316,6 @@ bool cvk_image::init() {
-         break;
-     }
- 
--    uint32_t array_layers = 1;
--    if ((m_desc.image_type == CL_MEM_OBJECT_IMAGE1D_ARRAY) ||
--        (m_desc.image_type == CL_MEM_OBJECT_IMAGE2D_ARRAY)) {
--        array_layers = m_desc.image_array_size;
--    }
--
-     // Translate format
-     VkFormat format;
-     VkComponentMapping components;
-@@ -317,7 +333,7 @@ bool cvk_image::init() {
-         0,                       // flags
-         image_type,              // imageType
-         format,                  // format
--        extent,                  // extent
-+        m_extent,                // extent
-         1,                       // mipLevels
-         array_layers,            // arrayLayers
-         VK_SAMPLE_COUNT_1_BIT,   // samples
-@@ -339,7 +355,7 @@ bool cvk_image::init() {
-         return false;
-     }
- 
--    // Selec memory type
-+    // Select memory type
-     cvk_device::allocation_parameters params =
-         device->select_memory_for(m_image);
-     if (params.memory_type_index == VK_MAX_MEMORY_TYPES) {
-@@ -358,7 +374,7 @@ bool cvk_image::init() {
-         return false;
-     }
- 
--    // Bind the buffer to memory
-+    // Bind the image to memory
-     res = vkBindImageMemory(vkdev, m_image, m_memory->vulkan_memory(), 0);
- 
-     if (res != VK_SUCCESS) {
-@@ -388,7 +404,32 @@ bool cvk_image::init() {
-     res =
-         vkCreateImageView(vkdev, &imageViewCreateInfo, nullptr, &m_image_view);
- 
--    return res == VK_SUCCESS;
-+    if (res != VK_SUCCESS) {
-+        return false;
-+    }
-+
-+    if (has_any_flag(CL_MEM_COPY_HOST_PTR | CL_MEM_USE_HOST_PTR)) {
-+        // Create a staging buffer to copy to the device later.
-+        cl_int ret;
-+        m_init_data = cvk_buffer::create(m_context, CL_MEM_READ_ONLY,
-+                                         host_ptr_size, nullptr, &ret);
-+        if (ret != CL_SUCCESS) {
-+            cvk_error("Could not create staging buffer for image host_ptr");
-+            return false;
-+        }
-+
-+        if (!m_init_data->map()) {
-+            cvk_error("Could not map staging buffer");
-+            return false;
-+        }
-+
-+        // Copy data to staging buffer.
-+        void* dst = m_init_data->map_ptr(0);
-+        memcpy(dst, m_host_ptr, host_ptr_size);
-+        m_init_data->unmap();
-+    }
-+
-+    return true;
- }
- 
- void cvk_image::prepare_fill_pattern(const void* input_pattern,
-@@ -526,3 +567,135 @@ void cvk_image::prepare_fill_pattern(const void* input_pattern,
-         CVK_ASSERT(false);
-     }
- }
-+
-+bool cvk_image::prepare_for_device(cvk_command_queue& queue) {
-+    std::lock_guard<std::mutex> lock(m_device_init_lock);
-+
-+    // Check if we have already initialized image on the device.
-+    if (m_device_initialized) {
-+        return true;
-+    }
-+
-+    cvk_info("Preparing image %p for use on device", this);
-+
-+    // Create a command buffer and begin recording commands.
-+    cvk_command_buffer command_buffer(&queue);
-+    if (!command_buffer.begin()) {
-+        cvk_error("Could not create command buffer for image initialization");
-+        return false;
-+    }
-+
-+    bool needs_copy = m_init_data != nullptr;
-+
-+    // Transition image layout to GENERAL or TRANSFER_DST_OPTIMAL.
-+    VkImageSubresourceRange subresourceRange = {
-+        VK_IMAGE_ASPECT_COLOR_BIT, // aspectMask
-+        0,                         // baseMipLevel
-+        VK_REMAINING_MIP_LEVELS,   // levelCount
-+        0,                         // baseArrayLayer
-+        VK_REMAINING_ARRAY_LAYERS, // layerCount
-+    };
-+    VkImageLayout layout = needs_copy ? VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
-+                                      : VK_IMAGE_LAYOUT_GENERAL;
-+    VkImageMemoryBarrier imageBarrier = {
-+        VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,
-+        nullptr,
-+        0,                                                      // srcAccessMask
-+        VK_ACCESS_MEMORY_READ_BIT | VK_ACCESS_MEMORY_WRITE_BIT, // dstAccessMask
-+        VK_IMAGE_LAYOUT_UNDEFINED,                              // oldLayout
-+        layout,                                                 // newLayout
-+        0,                // srcQueueFamilyIndex
-+        0,                // dstQueueFamilyIndex
-+        vulkan_image(),   // image
-+        subresourceRange, // subresourceRange
-+    };
-+    vkCmdPipelineBarrier(command_buffer, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,
-+                         VK_PIPELINE_STAGE_ALL_COMMANDS_BIT,
-+                         0,              // dependencyFlags
-+                         0,              // memoryBarrierCount
-+                         nullptr,        // pMemoryBarriers
-+                         0,              // bufferMemoryBarrierCount
-+                         nullptr,        // pBufferMemoryBarriers
-+                         1,              // imageMemoryBarrierCount
-+                         &imageBarrier); // pImageMemoryBarriers
-+
-+    // Set up a buffer->image copy to initialize the image contents.
-+    if (needs_copy) {
-+        uint32_t row_length = m_desc.image_row_pitch
-+                                  ? m_desc.image_row_pitch / element_size()
-+                                  : m_extent.width;
-+        uint32_t image_height =
-+            m_desc.image_slice_pitch
-+                ? m_desc.image_slice_pitch / row_length / element_size()
-+                : m_extent.height;
-+        uint32_t layer_count = 1;
-+        if ((m_desc.image_type == CL_MEM_OBJECT_IMAGE1D_ARRAY) ||
-+            (m_desc.image_type == CL_MEM_OBJECT_IMAGE2D_ARRAY)) {
-+            layer_count = m_desc.image_array_size;
-+        }
-+        VkImageSubresourceLayers subresource = {
-+            VK_IMAGE_ASPECT_COLOR_BIT, // aspectMask
-+            0,                         // mipLevel
-+            0,                         // baseArrayLayer
-+            layer_count,               // layerCount
-+        };
-+        VkBufferImageCopy copy = {
-+            0,            // bufferOffset
-+            row_length,   // bufferRowLength
-+            image_height, // bufferImageHeight
-+            subresource,  // imageSubresource
-+            {0, 0, 0},    // imageOffset
-+            m_extent,     // imageExtent
-+        };
-+        vkCmdCopyBufferToImage(command_buffer, m_init_data->vulkan_buffer(),
-+                               vulkan_image(),
-+                               VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, &copy);
-+
-+        // Transition image layout to GENERAL.
-+        VkImageSubresourceRange subresourceRange = {
-+            VK_IMAGE_ASPECT_COLOR_BIT, // aspectMask
-+            0,                         // baseMipLevel
-+            VK_REMAINING_MIP_LEVELS,   // levelCount
-+            0,                         // baseArrayLayer
-+            VK_REMAINING_ARRAY_LAYERS, // layerCount
-+        };
-+        VkImageMemoryBarrier imageBarrier = {
-+            VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,
-+            nullptr,
-+            VK_ACCESS_TRANSFER_WRITE_BIT,         // srcAccessMask
-+            VK_ACCESS_MEMORY_READ_BIT,            // dstAccessMask
-+            VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, // oldLayout
-+            VK_IMAGE_LAYOUT_GENERAL,              // newLayout
-+            0,                                    // srcQueueFamilyIndex
-+            0,                                    // dstQueueFamilyIndex
-+            vulkan_image(),                       // image
-+            subresourceRange,                     // subresourceRange
-+        };
-+        vkCmdPipelineBarrier(command_buffer, VK_PIPELINE_STAGE_TRANSFER_BIT,
-+                             VK_PIPELINE_STAGE_ALL_COMMANDS_BIT,
-+                             0,              // dependencyFlags
-+                             0,              // memoryBarrierCount
-+                             nullptr,        // pMemoryBarriers
-+                             0,              // bufferMemoryBarrierCount
-+                             nullptr,        // pBufferMemoryBarriers
-+                             1,              // imageMemoryBarrierCount
-+                             &imageBarrier); // pImageMemoryBarriers
-+    }
-+
-+    if (!command_buffer.end()) {
-+        cvk_error("Could not end image initialization command buffer");
-+        return false;
-+    }
-+
-+    // Submit commands and wait for completion.
-+    if (!command_buffer.submit_and_wait()) {
-+        cvk_error("Could not execute image initialization commands");
-+        return false;
-+    }
-+
-+    m_init_data.reset();
-+
-+    m_device_initialized = true;
-+
-+    return true;
-+}
-diff --git a/clvk/src/memory.hpp b/clvk/src/memory.hpp
-index 94d8336..f769339 100644
---- a/clvk/src/memory.hpp
-+++ b/clvk/src/memory.hpp
-@@ -20,6 +20,8 @@
- #include "objects.hpp"
- #include "utils.hpp"
- 
-+struct cvk_command_queue;
-+
- struct cvk_memory_allocation {
- 
-     cvk_memory_allocation(VkDevice dev, VkDeviceSize size, uint32_t type_index)
-@@ -406,7 +408,8 @@ struct cvk_image : public cvk_mem {
-                   /* FIXME parent_offset */ 0, std::move(properties),
-                   desc->image_type),
-           m_desc(*desc), m_format(*format), m_image(VK_NULL_HANDLE),
--          m_image_view(VK_NULL_HANDLE) {}
-+          m_image_view(VK_NULL_HANDLE), m_device_initialized(false),
-+          m_init_data(nullptr) {}
- 
-     ~cvk_image() {
-         auto vkdev = m_context->device()->vulkan_device();
-@@ -511,6 +514,8 @@ struct cvk_image : public cvk_mem {
-                               fill_pattern_array& pattern,
-                               size_t* size_ret) const;
- 
-+    bool prepare_for_device(cvk_command_queue& queue);
-+
- private:
-     bool init();
- 
-@@ -565,9 +570,14 @@ private:
- 
-     const cl_image_desc m_desc;
-     const cl_image_format m_format;
-+    VkExtent3D m_extent;
-     VkImage m_image;
-     VkImageView m_image_view;
-     std::unordered_map<void*, cvk_image_mapping> m_mappings;
-+
-+    bool m_device_initialized;
-+    std::mutex m_device_init_lock;
-+    std::unique_ptr<cvk_buffer> m_init_data;
- };
- 
- using cvk_image_holder = refcounted_holder<cvk_image>;
-diff --git a/clvk/src/queue.cpp b/clvk/src/queue.cpp
-index b02174a..a4c87d9 100644
---- a/clvk/src/queue.cpp
-+++ b/clvk/src/queue.cpp
-@@ -666,6 +666,20 @@ cvk_command_kernel::build_batchable_inner(cvk_command_buffer& command_buffer) {
-     return CL_SUCCESS;
- }
- 
-+bool cvk_command_kernel::prepare_resources_for_device() {
-+    for (auto& arg : m_kernel->arguments()) {
-+        if (arg.kind == kernel_argument_kind::ro_image ||
-+            arg.kind == kernel_argument_kind::wo_image) {
-+            auto arg_value = m_argument_values->get_arg_value(arg);
-+            if (!static_cast<cvk_image*>(arg_value)->prepare_for_device(
-+                    *m_queue)) {
-+                return false;
-+            }
-+        }
-+    }
-+    return true;
-+}
-+
- bool cvk_command_batchable::can_be_batched() const {
-     bool unresolved_user_event_dependencies = false;
-     bool unresolved_other_queue_dependencies = false;
-@@ -778,6 +792,10 @@ cl_int cvk_command_batchable::get_timestamp_query_results(cl_ulong* start,
- cl_int cvk_command_batchable::do_action() {
-     CVK_ASSERT(m_command_buffer);
- 
-+    if (!prepare_resources_for_device()) {
-+        return CL_OUT_OF_RESOURCES;
-+    }
-+
-     bool profiling = m_queue->has_property(CL_QUEUE_PROFILING_ENABLE);
-     auto dev = m_queue->device();
- 
-@@ -832,6 +850,12 @@ cl_int cvk_command_batch::do_action() {
- 
-     cvk_info("executing batch of %lu commands", m_commands.size());
- 
-+    for (auto& cmd : m_commands) {
-+        if (!cmd->prepare_resources_for_device()) {
-+            return CL_OUT_OF_RESOURCES;
-+        }
-+    }
-+
-     cl_ulong sync_host, sync_dev;
-     auto dev = m_queue->device();
-     if (dev->has_timer_support()) {
-@@ -1311,6 +1335,10 @@ void cvk_command_buffer_image_copy::build_inner_image_to_buffer(
-                            1, &region);
- }
- 
-+bool cvk_command_buffer_image_copy::prepare_resources_for_device() {
-+    return m_image->prepare_for_device(*m_queue);
-+}
-+
- void cvk_command_buffer_image_copy::build_inner_buffer_to_image(
-     cvk_command_buffer& cmdbuf, const VkBufferImageCopy& region) {
-     VkBufferMemoryBarrier bufferBarrier = {
-@@ -1403,6 +1431,16 @@ cl_int cvk_command_image_image_copy::build_batchable_inner(
-     return CL_SUCCESS;
- }
- 
-+bool cvk_command_image_image_copy::prepare_resources_for_device() {
-+    if (!m_src_image->prepare_for_device(*m_queue)) {
-+        return false;
-+    }
-+    if (!m_dst_image->prepare_for_device(*m_queue)) {
-+        return false;
-+    }
-+    return true;
-+}
-+
- cl_int cvk_command_fill_image::do_action() {
-     // TODO use bigger memcpy's when possible
-     size_t num_elems = m_region[2] * m_region[1] * m_region[0];
-diff --git a/clvk/src/queue.hpp b/clvk/src/queue.hpp
-index 48d8903..a56e5e8 100644
---- a/clvk/src/queue.hpp
-+++ b/clvk/src/queue.hpp
-@@ -647,6 +647,8 @@ struct cvk_command_batchable : public cvk_command {
-     build_batchable_inner(cvk_command_buffer& cmdbuf) = 0;
-     CHECK_RETURN cl_int do_action() override;
- 
-+    virtual bool prepare_resources_for_device() { return true;};
-+
- private:
-     std::unique_ptr<cvk_command_buffer> m_command_buffer;
-     VkQueryPool m_query_pool;
-@@ -675,6 +677,8 @@ struct cvk_command_kernel : public cvk_command_batchable {
-     CHECK_RETURN cl_int
-     build_batchable_inner(cvk_command_buffer& cmdbuf) override final;
- 
-+    bool prepare_resources_for_device() override final;
-+
- private:
-     struct cvk_ndrange {
-         std::array<uint32_t, 3> offset;
-@@ -788,6 +792,8 @@ struct cvk_command_buffer_image_copy : public cvk_command_batchable {
-     CHECK_RETURN cl_int
-     build_batchable_inner(cvk_command_buffer& cmdbuf) override final;
- 
-+    bool prepare_resources_for_device() override final;
-+
- private:
-     void build_inner_image_to_buffer(cvk_command_buffer& cmdbuf,
-                                      const VkBufferImageCopy& region);
-@@ -903,6 +909,8 @@ struct cvk_command_image_image_copy : public cvk_command_batchable {
-     CHECK_RETURN cl_int
-     build_batchable_inner(cvk_command_buffer& cmdbuf) override final;
- 
-+    bool prepare_resources_for_device() override final;
-+
- private:
-     cvk_image_holder m_src_image;
-     cvk_image_holder m_dst_image;
-diff --git a/clvk/tests/api/images.cpp b/clvk/tests/api/images.cpp
-index f9ef870..800a241 100644
---- a/clvk/tests/api/images.cpp
-+++ b/clvk/tests/api/images.cpp
-@@ -413,3 +413,126 @@ TEST_F(WithCommandQueue, ImageWriteOffset) {
- 
-     EXPECT_TRUE(success);
- }
-+
-+
-+TEST_F(WithCommandQueue, ImageCopyHostPtrPadding) {
-+    // Create a 2D image array.
-+    const size_t IMAGE_WIDTH = 16;
-+    const size_t IMAGE_HEIGHT = 16;
-+    const size_t IMAGE_ARRAY_SIZE = 2;
-+
-+    // Pad the host pointer.
-+    const size_t IMAGE_ROW_PITCH = 24;
-+    const size_t IMAGE_SLICE_PITCH = IMAGE_ROW_PITCH * 32;
-+
-+    const cl_uchar init_value = 0xAB;
-+    std::vector<cl_uchar> host_data(IMAGE_SLICE_PITCH * IMAGE_ARRAY_SIZE, 0xFF);
-+    std::vector<cl_uchar> read_data(
-+        IMAGE_WIDTH * IMAGE_HEIGHT * IMAGE_ARRAY_SIZE, 0);
-+
-+    // Fill the host pointer (skipping the padding bytes).
-+    for (int a = 0; a < IMAGE_ARRAY_SIZE; a++) {
-+        for (int y = 0; y < IMAGE_HEIGHT; y++) {
-+            for (int x = 0; x < IMAGE_WIDTH; x++) {
-+                host_data[x + y * IMAGE_ROW_PITCH + a * IMAGE_SLICE_PITCH] =
-+                    init_value;
-+            }
-+        }
-+    }
-+
-+    cl_image_format format = {CL_R, CL_UNSIGNED_INT8};
-+    cl_image_desc desc = {
-+        CL_MEM_OBJECT_IMAGE2D_ARRAY, // image_type
-+        IMAGE_WIDTH,                 // image_width
-+        IMAGE_HEIGHT,                // image_height
-+        1,                           // image_depth
-+        IMAGE_ARRAY_SIZE,            // image_array_size
-+        IMAGE_ROW_PITCH,             // image_row_pitch
-+        IMAGE_SLICE_PITCH,           // image_slice_pitch
-+        0,                           // num_mip_levels
-+        0,                           // num_samples
-+        nullptr,                     // buffer
-+    };
-+    auto image = CreateImage(CL_MEM_READ_WRITE | CL_MEM_COPY_HOST_PTR, &format,
-+                             &desc, host_data.data());
-+
-+    // Read the data back from the image.
-+    size_t origin[3] = {0, 0, 0};
-+    size_t region[3] = {IMAGE_WIDTH, IMAGE_HEIGHT, IMAGE_ARRAY_SIZE};
-+    EnqueueReadImage(image, CL_FALSE, origin, region, 0, 0, read_data.data());
-+    Finish();
-+
-+    // Check that we got the values copied from the initial host pointer.
-+    bool success = true;
-+    for (int i = 0; i < IMAGE_HEIGHT * IMAGE_WIDTH * IMAGE_ARRAY_SIZE; ++i) {
-+        auto val = read_data[i];
-+        if (val != init_value) {
-+            printf("Failed comparison at data[%d]: expected %d but got %d\n", i,
-+                   init_value, val);
-+            success = false;
-+        }
-+    }
-+    EXPECT_TRUE(success);
-+}
-+
-+TEST_F(WithCommandQueue, ImageCopyHostPtrMultiQueue) {
-+    // Create image
-+    const size_t IMAGE_WIDTH = 16;
-+    const size_t IMAGE_HEIGHT = 16;
-+
-+    const cl_uchar init_value = 0xAB;
-+    const cl_uchar write_value = 0xFF;
-+    std::vector<cl_uchar> host_data(IMAGE_WIDTH * IMAGE_HEIGHT, init_value);
-+    std::vector<cl_uchar> write_data(IMAGE_WIDTH * IMAGE_HEIGHT, write_value);
-+    std::vector<cl_uchar> read_data(IMAGE_WIDTH * IMAGE_HEIGHT, 0);
-+
-+    cl_image_format format = {CL_R, CL_UNSIGNED_INT8};
-+    cl_image_desc desc = {
-+        CL_MEM_OBJECT_IMAGE2D, // image_type
-+        IMAGE_WIDTH,           // image_width
-+        IMAGE_HEIGHT,          // image_height
-+        1,                     // image_depth
-+        1,                     // image_array_size
-+        0,                     // image_row_pitch
-+        0,                     // image_slice_pitch
-+        0,                     // num_mip_levels
-+        0,                     // num_samples
-+        nullptr,               // buffer
-+    };
-+    auto image = CreateImage(CL_MEM_READ_WRITE | CL_MEM_COPY_HOST_PTR, &format,
-+                             &desc, host_data.data());
-+
-+    size_t origin[3] = {0, 0, 0};
-+    size_t region[3] = {IMAGE_WIDTH, IMAGE_HEIGHT, 1};
-+
-+    // Enqueue a command that writes to the image, blocked behind a user event.
-+    auto user_event = CreateUserEvent();
-+    cl_event wait_list = user_event;
-+    EnqueueWriteImage(image, CL_FALSE, origin, region, 0, 0, write_data.data(),
-+                      1, &wait_list, nullptr);
-+    Flush();
-+
-+    // Read from the image with a different queue.
-+    auto queue2 = CreateCommandQueue(device(), 0);
-+    cl_int err = clEnqueueReadImage(queue2, image, CL_FALSE, origin, region, 0,
-+                                    0, read_data.data(), 0, nullptr, nullptr);
-+    ASSERT_CL_SUCCESS(err);
-+    err = clFinish(queue2);
-+    ASSERT_CL_SUCCESS(err);
-+
-+    // Check that we got the values copied from the initial host pointer.
-+    bool success = true;
-+    for (cl_uint i = 0; i < IMAGE_HEIGHT * IMAGE_WIDTH; ++i) {
-+        auto val = read_data[i];
-+        if (val != init_value) {
-+            printf("Failed comparison at data[%d]: expected %d but got %d\n", i,
-+                   init_value, val);
-+            success = false;
-+        }
-+    }
-+    EXPECT_TRUE(success);
-+
-+    // Unblock the first queue.
-+    SetUserEventStatus(user_event, CL_COMPLETE);
-+    Finish();
-+}
diff --git a/media-libs/clvk/files/clvk-opencl12.patch b/media-libs/clvk/files/clvk-opencl12.patch
new file mode 100644
index 0000000..00d008b
--- /dev/null
+++ b/media-libs/clvk/files/clvk-opencl12.patch
@@ -0,0 +1,13 @@
+diff --git a/clvk/src/device.hpp b/clvk/src/device.hpp
+index 9e92205..8b9e2cd 100644
+--- a/clvk/src/device.hpp
++++ b/clvk/src/device.hpp
+@@ -37,7 +37,7 @@ struct cvk_vulkan_extension_functions {
+ #define MAKE_NAME_VERSION(major, minor, patch, name)                           \
+     cl_name_version { CL_MAKE_VERSION(major, minor, patch), name }
+ 
+-static cl_version gOpenCLVersion = CL_MAKE_VERSION(3, 0, 0);
++static cl_version gOpenCLVersion = CL_MAKE_VERSION(1, 2, 0);
+ static cl_version gOpenCLCVersion = CL_MAKE_VERSION(1, 2, 0);
+ 
+ static constexpr bool devices_support_images() { return true; }
diff --git a/media-libs/clvk/files/clvk-sampledbuffer.patch b/media-libs/clvk/files/clvk-sampledbuffer.patch
new file mode 100644
index 0000000..e670e1d
--- /dev/null
+++ b/media-libs/clvk/files/clvk-sampledbuffer.patch
@@ -0,0 +1,12 @@
+diff --git a/clvk/src/device.cpp b/clvk/src/device.cpp
+index d60af58..5223711 100644
+--- a/clvk/src/device.cpp
++++ b/clvk/src/device.cpp
+@@ -815,6 +815,7 @@ bool cvk_device::supports_capability(spv::Capability capability) const {
+     case spv::CapabilityImage1D:
+     case spv::CapabilityImageQuery:
+     case spv::CapabilityImageBuffer:
++    case spv::CapabilitySampledBuffer:
+         return true;
+     // Optional capabilities:
+     case spv::CapabilityFloat16:
diff --git a/media-libs/clvk/files/hack-mul-extended.patch b/media-libs/clvk/files/hack-mul-extended.patch
new file mode 100644
index 0000000..8a574bc
--- /dev/null
+++ b/media-libs/clvk/files/hack-mul-extended.patch
@@ -0,0 +1,12 @@
+diff --git a/clvk/src/program.cpp b/clvk/src/program.cpp
+index a3d7084..66f158e 100644
+--- a/clvk/src/program.cpp
++++ b/clvk/src/program.cpp
+@@ -765,6 +765,7 @@ std::string cvk_program::prepare_build_options(const cvk_device* device) const {
+     options += " -long-vector ";
+     options += " -module-constants-in-storage-buffer ";
+     options += " -cl-arm-non-uniform-work-group-size ";
++    options += " -hack-mul-extended ";
+ #if COMPILER_AVAILABLE
+     options += " " + gCLSPVOptions + " ";
+ #endif
diff --git a/media-libs/cros-camera-document-scanning/OWNERS b/media-libs/cros-camera-auto-framing-tests/OWNERS
similarity index 100%
copy from media-libs/cros-camera-document-scanning/OWNERS
copy to media-libs/cros-camera-auto-framing-tests/OWNERS
diff --git a/media-libs/cros-camera-auto-framing-tests/cros-camera-auto-framing-tests-0.0.1-r10.ebuild b/media-libs/cros-camera-auto-framing-tests/cros-camera-auto-framing-tests-0.0.1-r10.ebuild
new file mode 100644
index 0000000..b8750fa
--- /dev/null
+++ b/media-libs/cros-camera-auto-framing-tests/cros-camera-auto-framing-tests-0.0.1-r10.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="eddffb488e6b0e8ba6309122b37b341057179416"
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4be8d3ae5664634825afc2e6e4b8c24816ee9b9e" "f481c437e0dbbacc4832a55dfc3fda4c078162b2" "2b7909959649540a63997338914ec45cf9c7d07c" "29d52c6d2464057e3fde8214a173f96d96f3b267" "7093536475612fadc6a0afe16b8f5f4f4251e4c2" "aae8bf048bbe1147ff2aa47f59de29bad1b6355d" "527abd7a988a45572305a6c44b5324d0d9cf8be2" "60fa47aebd6ebfb702012849bd560717fceddcd4" "8a9ef8758fbc933dbbb61914e0a924d6fd9626f6" "6c730fa6bc9c00d204b80c4944f1951b8f35a48e")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="../platform2"
+# iioservice/ is included just to make sandbox happy when running `gn gen`.
+CROS_WORKON_SUBTREE=".gn camera/build camera/features camera/include camera/gpu camera/common camera/mojo chromeos-config common-mk iioservice/libiioservice_ipc iioservice/mojo"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera/features/auto_framing/tests"
+
+inherit cros-workon platform
+
+DESCRIPTION="ChromeOS Camera Auto-framing feature tests"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+IUSE="camera_feature_auto_framing camera_feature_face_detection"
+
+BDEPEND="virtual/pkgconfig"
+
+RDEPEND="
+	chromeos-base/chromeos-config-tools:=
+	chromeos-base/cros-camera-android-deps:=
+	dev-cpp/gtest:=
+	media-libs/cros-camera-libfs:=
+	media-libs/libexif:=
+	media-libs/libsync:=
+	media-libs/minigbm:=
+	virtual/opengles:=
+	x11-libs/libdrm:=
+"
+
+DEPEND="
+	${RDEPEND}
+	chromeos-base/metrics:=
+	media-libs/libyuv:=
+	x11-drivers/opengles-headers:=
+"
+
+src_configure() {
+	cros_optimize_package_for_speed
+	platform_src_configure
+}
+
+src_install() {
+	dobin "${OUT}"/auto_framing_test
+	platform_src_install
+}
diff --git a/media-libs/cros-camera-auto-framing-tests/cros-camera-auto-framing-tests-9999.ebuild b/media-libs/cros-camera-auto-framing-tests/cros-camera-auto-framing-tests-9999.ebuild
new file mode 100644
index 0000000..aa86ff5
--- /dev/null
+++ b/media-libs/cros-camera-auto-framing-tests/cros-camera-auto-framing-tests-9999.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="../platform2"
+# iioservice/ is included just to make sandbox happy when running `gn gen`.
+CROS_WORKON_SUBTREE=".gn camera/build camera/features camera/include camera/gpu camera/common camera/mojo chromeos-config common-mk iioservice/libiioservice_ipc iioservice/mojo"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera/features/auto_framing/tests"
+
+inherit cros-workon platform
+
+DESCRIPTION="ChromeOS Camera Auto-framing feature tests"
+
+LICENSE="BSD-Google"
+KEYWORDS="~*"
+
+IUSE="camera_feature_auto_framing camera_feature_face_detection"
+
+BDEPEND="virtual/pkgconfig"
+
+RDEPEND="
+	chromeos-base/chromeos-config-tools:=
+	chromeos-base/cros-camera-android-deps:=
+	dev-cpp/gtest:=
+	media-libs/cros-camera-libfs:=
+	media-libs/libexif:=
+	media-libs/libsync:=
+	media-libs/minigbm:=
+	virtual/opengles:=
+	x11-libs/libdrm:=
+"
+
+DEPEND="
+	${RDEPEND}
+	chromeos-base/metrics:=
+	media-libs/libyuv:=
+	x11-drivers/opengles-headers:=
+"
+
+src_configure() {
+	cros_optimize_package_for_speed
+	platform_src_configure
+}
+
+src_install() {
+	dobin "${OUT}"/auto_framing_test
+	platform_src_install
+}
diff --git a/media-libs/cros-camera-connector-client/cros-camera-connector-client-0.0.1-r390.ebuild b/media-libs/cros-camera-connector-client/cros-camera-connector-client-0.0.1-r390.ebuild
deleted file mode 100644
index 1570a5a..0000000
--- a/media-libs/cros-camera-connector-client/cros-camera-connector-client-0.0.1-r390.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="1f9d9f4574a9655d844c7ef46f138da7228a93a9"
-CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "e5bab9aeb635f426a5f77597edb46ad386ad0f7c" "318ca9f48604274cd31481e13eb9321be3d94d8f" "a4c500ab9b3c0bc4232aa527a6cbd18f786338a4" "080361d5d45e74e7927e56bab774531748d1a569" "a625767bb59509159091f2ab0b71f8b9b4b2e353")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="../platform2"
-CROS_WORKON_SUBTREE=".gn camera/build camera/tools/connector_client camera/common camera/include common-mk"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-PLATFORM_SUBDIR="camera/tools/connector_client"
-
-inherit cros-camera cros-workon platform
-
-DESCRIPTION="A simple package that exercises cros-camera-libcamera_connector"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="chromeos-base/cros-camera-libs"
-
-DEPEND="${RDEPEND}
-	x11-libs/libdrm"
-
-BDEPEND="virtual/pkgconfig"
-
-src_install() {
-	platform_src_install
-	dobin "${OUT}/cros_camera_connector_client"
-}
diff --git a/media-libs/cros-camera-connector-client/cros-camera-connector-client-0.0.1-r489.ebuild b/media-libs/cros-camera-connector-client/cros-camera-connector-client-0.0.1-r489.ebuild
new file mode 100644
index 0000000..28b098e
--- /dev/null
+++ b/media-libs/cros-camera-connector-client/cros-camera-connector-client-0.0.1-r489.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="eddffb488e6b0e8ba6309122b37b341057179416"
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4be8d3ae5664634825afc2e6e4b8c24816ee9b9e" "318ca9f48604274cd31481e13eb9321be3d94d8f" "7093536475612fadc6a0afe16b8f5f4f4251e4c2" "2b7909959649540a63997338914ec45cf9c7d07c" "60fa47aebd6ebfb702012849bd560717fceddcd4")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_SUBTREE=".gn camera/build camera/tools/connector_client camera/common camera/include common-mk"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera/tools/connector_client"
+
+inherit cros-camera cros-workon platform
+
+DESCRIPTION="A simple package that exercises cros-camera-libcamera_connector"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="chromeos-base/cros-camera-libs"
+
+DEPEND="${RDEPEND}
+	x11-libs/libdrm"
+
+BDEPEND="virtual/pkgconfig"
+
+src_install() {
+	platform_src_install
+	dobin "${OUT}/cros_camera_connector_client"
+}
diff --git a/media-libs/cros-camera-connector-client/files/revision_bump b/media-libs/cros-camera-connector-client/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/media-libs/cros-camera-connector-client/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/media-libs/cros-camera-document-scanner-dlc/Manifest b/media-libs/cros-camera-document-scanner-dlc/Manifest
new file mode 100644
index 0000000..7989335e
--- /dev/null
+++ b/media-libs/cros-camera-document-scanner-dlc/Manifest
@@ -0,0 +1 @@
+DIST chromeos-document-scanning-lib-2022.08.05.tar.bz2 52712512 BLAKE2B 769fe4397e7f4d70ab44047c11cc5016d66b720e60517a3fd61ef6577a05930cb520ad21891ae25c5a7756efbc4c247a18d268090db7f0eaf88b2f824dcc85c8 SHA512 f298ced5e5b1ffdb8238e51812f4be6cfc9d75f4f78ad13d037802f03c0fb4892cf7cec65cae1bfa5dc0f80717b1b405601765c7a40a517918080dea0cd0d1a3
diff --git a/media-libs/cros-camera-document-scanning/OWNERS b/media-libs/cros-camera-document-scanner-dlc/OWNERS
similarity index 100%
rename from media-libs/cros-camera-document-scanning/OWNERS
rename to media-libs/cros-camera-document-scanner-dlc/OWNERS
diff --git a/media-libs/cros-camera-document-scanner-dlc/cros-camera-document-scanner-dlc-2022.08.05-r1.ebuild b/media-libs/cros-camera-document-scanner-dlc/cros-camera-document-scanner-dlc-2022.08.05-r1.ebuild
new file mode 120000
index 0000000..9f905c8
--- /dev/null
+++ b/media-libs/cros-camera-document-scanner-dlc/cros-camera-document-scanner-dlc-2022.08.05-r1.ebuild
@@ -0,0 +1 @@
+cros-camera-document-scanner-dlc-2022.08.05.ebuild
\ No newline at end of file
diff --git a/media-libs/cros-camera-document-scanner-dlc/cros-camera-document-scanner-dlc-2022.08.05.ebuild b/media-libs/cros-camera-document-scanner-dlc/cros-camera-document-scanner-dlc-2022.08.05.ebuild
new file mode 100644
index 0000000..dc73f93
--- /dev/null
+++ b/media-libs/cros-camera-document-scanner-dlc/cros-camera-document-scanner-dlc-2022.08.05.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+inherit cros-camera dlc
+
+DESCRIPTION="Package for document scanner library as a DLC"
+SRC_URI="gs://chromeos-localmirror/distfiles/chromeos-document-scanning-lib-${PV}.tar.bz2"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+S="${WORKDIR}"
+
+# The size of the Document Scanner library is about 8.5 MB. Therefore,
+# considering the future growth, we should reserve 8.5 * 130% ~= 12 MB.
+DLC_PREALLOC_BLOCKS="$((12 * 256))"
+
+DLC_PRELOAD=true
+
+src_install() {
+	# Since document_scanner.h is required for all builds, it is installed in
+	# cros-camera-libfs package.
+
+	exeinto "$(dlc_add_path /)"
+
+	local arch_march=$(cros-camera_get_arch_march_path)
+	doexe "${arch_march}/libdocumentscanner.so"
+	dlc_src_install
+}
diff --git a/media-libs/cros-camera-document-scanning-test/cros-camera-document-scanning-test-0.0.1-r110.ebuild b/media-libs/cros-camera-document-scanning-test/cros-camera-document-scanning-test-0.0.1-r110.ebuild
new file mode 100644
index 0000000..fe5ef07
--- /dev/null
+++ b/media-libs/cros-camera-document-scanning-test/cros-camera-document-scanning-test-0.0.1-r110.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4be8d3ae5664634825afc2e6e4b8c24816ee9b9e" "7627e6797f3edbcec56c490a77967a4d416ccf15" "60fa47aebd6ebfb702012849bd560717fceddcd4")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_SUBTREE=".gn camera/build camera/features/document_scanning common-mk"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera/features/document_scanning"
+
+inherit cros-workon platform
+
+DESCRIPTION="Chrome OS camera Document Scanning test."
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="
+	chromeos-base/libbrillo:=
+	dev-cpp/gtest:=
+	media-libs/cros-camera-libfs:="
+
+DEPEND="${RDEPEND}
+	virtual/pkgconfig"
+
+src_install() {
+	platform_src_install
+	dobin "${OUT}/document_scanner_perf_test"
+}
diff --git a/media-libs/cros-camera-document-scanning-test/cros-camera-document-scanning-test-0.0.1-r49.ebuild b/media-libs/cros-camera-document-scanning-test/cros-camera-document-scanning-test-0.0.1-r49.ebuild
deleted file mode 100644
index 2f8553b..0000000
--- a/media-libs/cros-camera-document-scanning-test/cros-camera-document-scanning-test-0.0.1-r49.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "e5bab9aeb635f426a5f77597edb46ad386ad0f7c" "80bb65ab125f7aaa2eddb0f06313cba045f954c6" "a625767bb59509159091f2ab0b71f8b9b4b2e353")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="../platform2"
-CROS_WORKON_SUBTREE=".gn camera/build camera/features/document_scanning common-mk"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-PLATFORM_SUBDIR="camera/features/document_scanning"
-
-inherit cros-workon platform
-
-DESCRIPTION="Chrome OS camera Document Scanning test."
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="
-	chromeos-base/libbrillo:=
-	dev-cpp/gtest:=
-	media-libs/cros-camera-document-scanning:="
-
-DEPEND="${RDEPEND}
-	virtual/pkgconfig"
-
-src_install() {
-	platform_src_install
-	dobin "${OUT}/document_scanner_perf_test"
-}
diff --git a/media-libs/cros-camera-document-scanning-test/cros-camera-document-scanning-test-9999.ebuild b/media-libs/cros-camera-document-scanning-test/cros-camera-document-scanning-test-9999.ebuild
index 6ff17f1..8541d0e 100644
--- a/media-libs/cros-camera-document-scanning-test/cros-camera-document-scanning-test-9999.ebuild
+++ b/media-libs/cros-camera-document-scanning-test/cros-camera-document-scanning-test-9999.ebuild
@@ -22,7 +22,7 @@
 RDEPEND="
 	chromeos-base/libbrillo:=
 	dev-cpp/gtest:=
-	media-libs/cros-camera-document-scanning:="
+	media-libs/cros-camera-libfs:="
 
 DEPEND="${RDEPEND}
 	virtual/pkgconfig"
diff --git a/media-libs/cros-camera-document-scanning-test/files/revision_bump b/media-libs/cros-camera-document-scanning-test/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/media-libs/cros-camera-document-scanning-test/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/media-libs/cros-camera-document-scanning/Manifest b/media-libs/cros-camera-document-scanning/Manifest
deleted file mode 100644
index dd8163f..0000000
--- a/media-libs/cros-camera-document-scanning/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST chromeos-document-scanning-lib-2021.11.10.tar.bz2 47931631 BLAKE2B 9fd73603cf6d9e212678696f9755734fc216bad982bc2376ade7e20292fee4db3544ec2c9a4d5a4b36db9f801b8e1ab3c32927a3f25bbc4143cd47b30ead5b43 SHA512 31ca97a645be93182e5542442077a206a2a00385ad9a3d0c5f0f7c7d6090a8e87de37d6061212ad15f530f3ffd7e569a25374e34fcf1662b6e6534a60995a21d
diff --git a/media-libs/cros-camera-document-scanning/cros-camera-document-scanning-2021.11.10-r1.ebuild b/media-libs/cros-camera-document-scanning/cros-camera-document-scanning-2021.11.10-r1.ebuild
deleted file mode 120000
index 911d787..0000000
--- a/media-libs/cros-camera-document-scanning/cros-camera-document-scanning-2021.11.10-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-cros-camera-document-scanning-2021.11.10.ebuild
\ No newline at end of file
diff --git a/media-libs/cros-camera-document-scanning/cros-camera-document-scanning-2021.11.10.ebuild b/media-libs/cros-camera-document-scanning/cros-camera-document-scanning-2021.11.10.ebuild
deleted file mode 100644
index 6968734..0000000
--- a/media-libs/cros-camera-document-scanning/cros-camera-document-scanning-2021.11.10.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Google3 document scanning library."
-
-IUSE="
-	march_alderlake
-	march_armv8
-	march_bdver4
-	march_corei7
-	march_goldmont
-	march_silvermont
-	march_skylake
-	march_tigerlake
-	march_tremont
-	march_znver1
-	ondevice_document_scanner
-"
-
-SRC_URI="gs://chromeos-localmirror/distfiles/chromeos-document-scanning-lib-${PV}.tar.bz2"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-S="${WORKDIR}"
-
-src_install() {
-	insinto /usr/include/chromeos/libdocumentscanner/
-	doins document_scanner.h
-
-	if ! use ondevice_document_scanner; then
-		return
-	fi
-
-	local document_scanning_lib_path="/opt/google/chrome/ml_models/document_scanning/"
-
-	insinto "${document_scanning_lib_path}"
-	# Specified architecture use flag check should be put before amd64, arm, and
-	# arm64.
-	insopts -m0755
-	if use march_alderlake; then
-		newins "x86_64-alderlake/libdocumentscanner.so" "libdocumentscanner.so"
-	elif use march_armv8; then
-		newins "armv7-armv8-a+crc/libdocumentscanner.so" "libdocumentscanner.so"
-	elif use march_bdver4; then
-		newins "x86_64-bdver4/libdocumentscanner.so" "libdocumentscanner.so"
-	elif use march_corei7; then
-		newins "x86_64-corei7/libdocumentscanner.so" "libdocumentscanner.so"
-	elif use march_goldmont; then
-		newins "x86_64-goldmont/libdocumentscanner.so" "libdocumentscanner.so"
-	elif use march_silvermont; then
-		newins "x86_64-silvermont/libdocumentscanner.so" "libdocumentscanner.so"
-	elif use march_skylake; then
-		newins "x86_64-skylake/libdocumentscanner.so" "libdocumentscanner.so"
-	elif use march_tigerlake; then
-		newins "x86_64-tigerlake/libdocumentscanner.so" "libdocumentscanner.so"
-	elif use march_tremont; then
-		newins "x86_64-tremont/libdocumentscanner.so" "libdocumentscanner.so"
-	elif use march_znver1; then
-		newins "x86_64-znver1/libdocumentscanner.so" "libdocumentscanner.so"
-	elif use amd64; then
-		newins "x86_64/libdocumentscanner.so" "libdocumentscanner.so"
-	elif use arm; then
-		newins "armv7/libdocumentscanner.so" "libdocumentscanner.so"
-	elif use arm64; then
-		newins "arm/libdocumentscanner.so" "libdocumentscanner.so"
-	fi
-	insopts -m0644
-}
diff --git a/media-libs/cros-camera-effect-portrait-mode/Manifest b/media-libs/cros-camera-effect-portrait-mode/Manifest
deleted file mode 100644
index ad6b5ce..0000000
--- a/media-libs/cros-camera-effect-portrait-mode/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST portrait-processor-lib-armv7-2020.04.06-unstripped.tbz2 26054791 BLAKE2B 7ab14b8d123ca62ce2fc62add400a55a1c2762ffd0f6031a96987e3a03b38b637ce5cacea6b6d81fef454610c30dfe25a55735bae73ebe484acfa84647c65909 SHA512 adfe39b76f7e959acee01137ff7bec1e59efdbd4f775c510f528407e0213cf7ed2ccf2b4e4e966f89ad10ce7b867f9702fcf26a06fededcae36d006b5decd4e4
-DIST portrait-processor-lib-x86_64-2020.04.06-unstripped.tbz2 28713550 BLAKE2B 17957f71f6291b0357c4b34a7b34ca095cef6f521f4b3d4de604faad2812a1518e0905d579c648afa5dd2b08bbb513fa8648843c869b02b70fb6fb900e1f26e1 SHA512 18b6602be85e2446fc788b3425d72d69195b017277756299f334a5b62db03c8731e1765558babf807d25d4fdbc082f6cca1a041c0eefff42f5c3413ff37f851b
diff --git a/media-libs/cros-camera-effect-portrait-mode/cros-camera-effect-portrait-mode-2020.04.06-r2.ebuild b/media-libs/cros-camera-effect-portrait-mode/cros-camera-effect-portrait-mode-2020.04.06-r2.ebuild
deleted file mode 120000
index 02b5d97..0000000
--- a/media-libs/cros-camera-effect-portrait-mode/cros-camera-effect-portrait-mode-2020.04.06-r2.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-cros-camera-effect-portrait-mode-2020.04.06.ebuild
\ No newline at end of file
diff --git a/media-libs/cros-camera-effect-portrait-mode/cros-camera-effect-portrait-mode-2020.04.06.ebuild b/media-libs/cros-camera-effect-portrait-mode/cros-camera-effect-portrait-mode-2020.04.06.ebuild
deleted file mode 100644
index 0c136b1..0000000
--- a/media-libs/cros-camera-effect-portrait-mode/cros-camera-effect-portrait-mode-2020.04.06.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Chrome OS camera portrait processor library"
-# Version 2020.04.06: built from cl/304948948
-SRC_URI="
-	amd64? ( gs://chromeos-localmirror/distfiles/portrait-processor-lib-x86_64-${PV}-unstripped.tbz2 )
-	arm? ( gs://chromeos-localmirror/distfiles/portrait-processor-lib-armv7-${PV}-unstripped.tbz2 )
-	"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-S="${WORKDIR}"
-
-src_install() {
-	dolib.so *.so
-
-	insinto /usr/include/cros-camera
-	doins *.h
-}
diff --git a/media-libs/cros-camera-facessd/Manifest b/media-libs/cros-camera-facessd/Manifest
deleted file mode 100644
index 58751a4..0000000
--- a/media-libs/cros-camera-facessd/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST chromeos-facessd-lib-2021.10.27.tar.bz2 551925955 BLAKE2B 667fdf4e6aa157e66fd4ec3c5fe711b1d353945b3778cc606eadb8b10bb7106da1c3e15e714b723ba71270f928fa3999f75661fc51a58568ccfb4d099160e056 SHA512 448806aeba26254787c039b89228a86d19fd9714c4432e9c903293d15baa839e84a2c801fd0e68a716ef717974130dca8ecff9af3cf2a1e0d9fff266182094dd
diff --git a/media-libs/cros-camera-facessd/OWNERS b/media-libs/cros-camera-facessd/OWNERS
deleted file mode 100644
index 8f44c3e..0000000
--- a/media-libs/cros-camera-facessd/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-include chromiumos/platform2:/camera/OWNERS
diff --git a/media-libs/cros-camera-facessd/cros-camera-facessd-2021.10.27-r1.ebuild b/media-libs/cros-camera-facessd/cros-camera-facessd-2021.10.27-r1.ebuild
deleted file mode 120000
index 1210c03..0000000
--- a/media-libs/cros-camera-facessd/cros-camera-facessd-2021.10.27-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-cros-camera-facessd-2021.10.27.ebuild
\ No newline at end of file
diff --git a/media-libs/cros-camera-facessd/cros-camera-facessd-2021.10.27.ebuild b/media-libs/cros-camera-facessd/cros-camera-facessd-2021.10.27.ebuild
deleted file mode 100644
index e747075..0000000
--- a/media-libs/cros-camera-facessd/cros-camera-facessd-2021.10.27.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Google3 face detection library."
-
-IUSE="
-	march_alderlake
-	march_armv8
-	march_bdver4
-	march_corei7
-	march_goldmont
-	march_silvermont
-	march_skylake
-	march_tigerlake
-	march_tremont
-	march_znver1
-"
-
-SRC_URI="gs://chromeos-localmirror/distfiles/chromeos-facessd-lib-${PV}.tar.bz2"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-S="${WORKDIR}"
-
-src_install() {
-	# Specified architecture use flag check should be put before amd64, arm, and
-	# arm64.
-	if use march_alderlake; then
-		dolib.so ./x86_64-alderlake/libfacessd_cros.so
-	elif use march_bdver4; then
-		dolib.so ./x86_64-bdver4/libfacessd_cros.so
-	elif use march_corei7; then
-		dolib.so ./x86_64-corei7/libfacessd_cros.so
-	elif use march_goldmont; then
-		dolib.so ./x86_64-goldmont/libfacessd_cros.so
-	elif use march_silvermont; then
-		dolib.so ./x86_64-silvermont/libfacessd_cros.so
-	elif use march_skylake; then
-		dolib.so ./x86_64-skylake/libfacessd_cros.so
-	elif use march_tigerlake; then
-		dolib.so ./x86_64-tigerlake/libfacessd_cros.so
-	elif use march_tremont; then
-		dolib.so ./x86_64-tremont/libfacessd_cros.so
-	elif use march_znver1; then
-		dolib.so ./x86_64-znver1/libfacessd_cros.so
-	elif use march_armv8; then
-		dolib.so ./armv7-armv8-a+crc/libfacessd_cros.so
-	elif use amd64; then
-		dolib.so ./x86_64/libfacessd_cros.so
-	elif use arm; then
-		dolib.so ./armv7/libfacessd_cros.so
-	elif use arm64; then
-		dolib.so ./arm/libfacessd_cros.so
-	fi
-
-	insinto /usr/include/cros-camera
-	doins ./*.h
-
-	# Install model file and anchor file
-	insinto /opt/google/cros-camera/ml_models
-	doins ./*.pb ./*.tflite
-}
diff --git a/media-libs/cros-camera-gpu-test/cros-camera-gpu-test-0.0.1-r140.ebuild b/media-libs/cros-camera-gpu-test/cros-camera-gpu-test-0.0.1-r140.ebuild
deleted file mode 100644
index 524ff15..0000000
--- a/media-libs/cros-camera-gpu-test/cros-camera-gpu-test-0.0.1-r140.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="1f9d9f4574a9655d844c7ef46f138da7228a93a9"
-CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "e5bab9aeb635f426a5f77597edb46ad386ad0f7c" "080361d5d45e74e7927e56bab774531748d1a569" "8aea57128c1adc8ea0b845047ce01733cecaf5c1" "a4c500ab9b3c0bc4232aa527a6cbd18f786338a4" "a625767bb59509159091f2ab0b71f8b9b4b2e353")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="../platform2"
-CROS_WORKON_SUBTREE=".gn camera/build camera/include camera/gpu camera/common common-mk"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-PLATFORM_SUBDIR="camera/gpu/tests"
-
-inherit cros-workon platform
-
-DESCRIPTION="Chrome OS camera GPU-related tests"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-BDEPEND="virtual/pkgconfig"
-
-RDEPEND="
-	chromeos-base/cros-camera-android-deps:=
-	chromeos-base/cros-camera-libs:=
-	dev-cpp/gtest:=
-	virtual/opengles:=
-"
-
-DEPEND="${RDEPEND}
-	x11-drivers/opengles-headers:=
-"
-
-src_configure() {
-	cros_optimize_package_for_speed
-	platform_src_configure
-}
-
-src_install() {
-	dobin "${OUT}"/image_processor_test
-	platform_src_install
-}
diff --git a/media-libs/cros-camera-gpu-test/cros-camera-gpu-test-0.0.1-r239.ebuild b/media-libs/cros-camera-gpu-test/cros-camera-gpu-test-0.0.1-r239.ebuild
new file mode 100644
index 0000000..f16f6cb
--- /dev/null
+++ b/media-libs/cros-camera-gpu-test/cros-camera-gpu-test-0.0.1-r239.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="eddffb488e6b0e8ba6309122b37b341057179416"
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4be8d3ae5664634825afc2e6e4b8c24816ee9b9e" "2b7909959649540a63997338914ec45cf9c7d07c" "29d52c6d2464057e3fde8214a173f96d96f3b267" "7093536475612fadc6a0afe16b8f5f4f4251e4c2" "60fa47aebd6ebfb702012849bd560717fceddcd4")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_SUBTREE=".gn camera/build camera/include camera/gpu camera/common common-mk"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera/gpu/tests"
+
+inherit cros-workon platform
+
+DESCRIPTION="Chrome OS camera GPU-related tests"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+BDEPEND="virtual/pkgconfig"
+
+RDEPEND="
+	chromeos-base/cros-camera-android-deps:=
+	chromeos-base/cros-camera-libs:=
+	dev-cpp/gtest:=
+	virtual/opengles:=
+"
+
+DEPEND="${RDEPEND}
+	x11-drivers/opengles-headers:=
+"
+
+src_configure() {
+	cros_optimize_package_for_speed
+	platform_src_configure
+}
+
+src_install() {
+	dobin "${OUT}"/image_processor_test
+	platform_src_install
+}
diff --git a/media-libs/cros-camera-gpu-test/files/revision_bump b/media-libs/cros-camera-gpu-test/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/media-libs/cros-camera-gpu-test/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/media-libs/cros-camera-hal-intel-ipu6/cros-camera-hal-intel-ipu6-0.0.2-r176.ebuild b/media-libs/cros-camera-hal-intel-ipu6/cros-camera-hal-intel-ipu6-0.0.2-r176.ebuild
deleted file mode 100644
index 130884c..0000000
--- a/media-libs/cros-camera-hal-intel-ipu6/cros-camera-hal-intel-ipu6-0.0.2-r176.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("162f22363bb018fb620828cb16ad138477a33a22" "2c01dfc92c3a17bfcc2a7447e2fa0b0ee5289311")
-CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "a625767bb59509159091f2ab0b71f8b9b4b2e353" "aaada68c28c95ae27bdfc97f08c635bd67d6869a")
-CROS_WORKON_PROJECT=("chromiumos/platform2" "chromiumos/platform/camera")
-CROS_WORKON_LOCALNAME=("../platform2" "../platform/camera")
-CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/camera_hal")
-CROS_WORKON_SUBTREE=(".gn common-mk" "hal/intel/ipu6")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-PLATFORM_SUBDIR="camera_hal/hal/intel/ipu6"
-
-inherit cros-camera cros-workon platform udev
-
-DESCRIPTION="Intel IPU6 (Image Processing Unit) Chrome OS camera HAL"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="*"
-IUSE="ipu6se ipu6ep"
-
-RDEPEND="
-	chromeos-base/chromeos-config-tools
-	chromeos-base/cros-camera-libs
-	chromeos-base/cros-camera-android-deps
-	dev-libs/expat
-	!ipu6se? ( !ipu6ep? ( media-libs/intel-ipu6-camera-bins ) )
-	ipu6se? (
-		media-libs/intel-ipu6se-camera-bins
-		x11-libs/libva-intel-media-driver
-	)
-	ipu6ep? ( media-libs/intel-ipu6ep-camera-bins )
-	!media-libs/cros-camera-hal-intel-ipu6-squash
-	media-libs/libsync
-	media-libs/libyuv
-"
-
-DEPEND="${RDEPEND}
-	sys-kernel/linux-headers
-	virtual/jpeg:0
-	virtual/pkgconfig"
-
-src_install() {
-	platform_src_install
-
-	cros-camera_dohal "${OUT}/lib/libcamhal.so" intel-ipu6.so
-	dolib.so "${OUT}/lib/libcam_algo.so"
-
-	if use ipu6se; then
-		dolib.so "${OUT}/lib/libcam_algo_vendor_gpu.so"
-	fi
-
-	udev_dorules "${FILESDIR}/50-ipu-psys0.rules"
-}
diff --git a/media-libs/cros-camera-hal-intel-ipu6/cros-camera-hal-intel-ipu6-0.0.2-r245.ebuild b/media-libs/cros-camera-hal-intel-ipu6/cros-camera-hal-intel-ipu6-0.0.2-r245.ebuild
new file mode 100644
index 0000000..ba4a180
--- /dev/null
+++ b/media-libs/cros-camera-hal-intel-ipu6/cros-camera-hal-intel-ipu6-0.0.2-r245.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("dbb1136242ba822d539eaf11493f3b68815adb7f" "0db089197f74799a6a86522ab568a50a780bcbfb")
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "60fa47aebd6ebfb702012849bd560717fceddcd4" "47aba8606dfa27f4b75305cae2a7a23857ccec2d")
+CROS_WORKON_PROJECT=("chromiumos/platform2" "chromiumos/platform/camera")
+CROS_WORKON_LOCALNAME=("../platform2" "../platform/camera")
+CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/camera_hal")
+CROS_WORKON_SUBTREE=(".gn common-mk" "hal/intel/ipu6")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera_hal/hal/intel/ipu6"
+
+inherit cros-camera cros-workon platform udev
+
+DESCRIPTION="Intel IPU6 (Image Processing Unit) Chrome OS camera HAL"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE="ipu6se ipu6ep ipu6epmtl ipu6epadln"
+
+RDEPEND="
+	chromeos-base/chromeos-config-tools
+	chromeos-base/cros-camera-libs
+	chromeos-base/cros-camera-android-deps
+	dev-libs/expat
+	!ipu6se? ( !ipu6ep? ( !ipu6epmtl? ( !ipu6epadln? ( media-libs/intel-ipu6-camera-bins ) ) ) )
+	ipu6se? (
+		media-libs/intel-ipu6se-camera-bins
+		x11-libs/libva-intel-media-driver
+	)
+	ipu6ep? ( media-libs/intel-ipu6ep-camera-bins )
+	ipu6epadln? ( media-libs/intel-ipu6epadln-camera-bins )
+	ipu6epmtl? ( media-libs/intel-ipu6epmtl-camera-bins )
+	!media-libs/cros-camera-hal-intel-ipu6-squash
+	media-libs/libsync
+	media-libs/libyuv
+"
+
+DEPEND="${RDEPEND}
+	sys-kernel/linux-headers
+	virtual/jpeg:0
+	virtual/pkgconfig"
+
+src_install() {
+	platform_src_install
+
+	cros-camera_dohal "${OUT}/lib/libcamhal.so" intel-ipu6.so
+	dolib.so "${OUT}/lib/libcam_algo.so"
+
+	if use ipu6se; then
+		dolib.so "${OUT}/lib/libcam_algo_vendor_gpu.so"
+	fi
+
+	udev_dorules "${FILESDIR}/50-ipu-psys0.rules"
+}
diff --git a/media-libs/cros-camera-hal-intel-ipu6/cros-camera-hal-intel-ipu6-9999.ebuild b/media-libs/cros-camera-hal-intel-ipu6/cros-camera-hal-intel-ipu6-9999.ebuild
index f27e179..6938f25 100644
--- a/media-libs/cros-camera-hal-intel-ipu6/cros-camera-hal-intel-ipu6-9999.ebuild
+++ b/media-libs/cros-camera-hal-intel-ipu6/cros-camera-hal-intel-ipu6-9999.ebuild
@@ -18,19 +18,21 @@
 LICENSE="Apache-2.0"
 SLOT="0"
 KEYWORDS="~*"
-IUSE="ipu6se ipu6ep"
+IUSE="ipu6se ipu6ep ipu6epmtl ipu6epadln"
 
 RDEPEND="
 	chromeos-base/chromeos-config-tools
 	chromeos-base/cros-camera-libs
 	chromeos-base/cros-camera-android-deps
 	dev-libs/expat
-	!ipu6se? ( !ipu6ep? ( media-libs/intel-ipu6-camera-bins ) )
+	!ipu6se? ( !ipu6ep? ( !ipu6epmtl? ( !ipu6epadln? ( media-libs/intel-ipu6-camera-bins ) ) ) )
 	ipu6se? (
 		media-libs/intel-ipu6se-camera-bins
 		x11-libs/libva-intel-media-driver
 	)
 	ipu6ep? ( media-libs/intel-ipu6ep-camera-bins )
+	ipu6epadln? ( media-libs/intel-ipu6epadln-camera-bins )
+	ipu6epmtl? ( media-libs/intel-ipu6epmtl-camera-bins )
 	!media-libs/cros-camera-hal-intel-ipu6-squash
 	media-libs/libsync
 	media-libs/libyuv
diff --git a/media-libs/cros-camera-hal-intel-ipu6/files/revision_bump b/media-libs/cros-camera-hal-intel-ipu6/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/media-libs/cros-camera-hal-intel-ipu6/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/media-libs/cros-camera-hal-ip/cros-camera-hal-ip-0.0.1-r665.ebuild b/media-libs/cros-camera-hal-ip/cros-camera-hal-ip-0.0.1-r665.ebuild
deleted file mode 100644
index e4b3758c..0000000
--- a/media-libs/cros-camera-hal-ip/cros-camera-hal-ip-0.0.1-r665.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-CROS_WORKON_COMMIT="1f9d9f4574a9655d844c7ef46f138da7228a93a9"
-CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "e5bab9aeb635f426a5f77597edb46ad386ad0f7c" "a4c500ab9b3c0bc4232aa527a6cbd18f786338a4" "12c17125945225da59b1bd19199cfc6006f0bdf8" "aae9573ddce70ef8c8cfb47800c806eb8a703aa4" "080361d5d45e74e7927e56bab774531748d1a569" "17c0af603db6e69e7d5b07fe21738237ebe29f3f" "bea140d13f7cf1092e4c89a45011c04c28327972" "a625767bb59509159091f2ab0b71f8b9b4b2e353")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="../platform2"
-CROS_WORKON_SUBTREE=".gn camera/build camera/common camera/hal/ip camera/hal/usb camera/include camera/mojo chromeos-config common-mk"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-PLATFORM_SUBDIR="camera/hal/ip"
-
-inherit cros-camera cros-workon platform
-
-DESCRIPTION="Chrome OS IP camera HAL v3."
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-RDEPEND="
-	chromeos-base/chromeos-config-tools
-	chromeos-base/cros-camera-android-deps
-	chromeos-base/cros-camera-libs
-	media-libs/libsync"
-
-DEPEND="${RDEPEND}
-	virtual/pkgconfig"
-
-src_install() {
-	cros-camera_dohal "${OUT}/lib/libcamera_hal.so" ip.so
-}
-
-platform_pkg_test() {
-	platform_test run "${OUT}"/request_queue_test
-}
diff --git a/media-libs/cros-camera-hal-ip/cros-camera-hal-ip-0.0.1-r817.ebuild b/media-libs/cros-camera-hal-ip/cros-camera-hal-ip-0.0.1-r817.ebuild
new file mode 100644
index 0000000..c288cf1
--- /dev/null
+++ b/media-libs/cros-camera-hal-ip/cros-camera-hal-ip-0.0.1-r817.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+CROS_WORKON_COMMIT="eddffb488e6b0e8ba6309122b37b341057179416"
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4be8d3ae5664634825afc2e6e4b8c24816ee9b9e" "7093536475612fadc6a0afe16b8f5f4f4251e4c2" "9ff7c0ea2761e1863475bcd96a983e5e18089f57" "66167969f21d9a7bd20fc7fd2e582ad849d7d8eb" "2b7909959649540a63997338914ec45cf9c7d07c" "aae8bf048bbe1147ff2aa47f59de29bad1b6355d" "527abd7a988a45572305a6c44b5324d0d9cf8be2" "60fa47aebd6ebfb702012849bd560717fceddcd4")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_SUBTREE=".gn camera/build camera/common camera/hal/ip camera/hal/usb camera/include camera/mojo chromeos-config common-mk"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera/hal/ip"
+
+inherit cros-camera cros-workon platform
+
+DESCRIPTION="Chrome OS IP camera HAL v3."
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+RDEPEND="
+	chromeos-base/chromeos-config-tools
+	chromeos-base/cros-camera-android-deps
+	chromeos-base/cros-camera-libs
+	media-libs/libsync"
+
+DEPEND="${RDEPEND}
+	virtual/pkgconfig"
+
+src_install() {
+	cros-camera_dohal "${OUT}/lib/libcamera_hal.so" ip.so
+}
+
+platform_pkg_test() {
+	platform_test run "${OUT}"/request_queue_test
+}
diff --git a/media-libs/cros-camera-hal-ip/files/revision_bump b/media-libs/cros-camera-hal-ip/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/media-libs/cros-camera-hal-ip/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/media-libs/cros-camera-hal-usb/cros-camera-hal-usb-0.0.1-r1104.ebuild b/media-libs/cros-camera-hal-usb/cros-camera-hal-usb-0.0.1-r1104.ebuild
deleted file mode 100644
index e190325..0000000
--- a/media-libs/cros-camera-hal-usb/cros-camera-hal-usb-0.0.1-r1104.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-CROS_WORKON_COMMIT="1f9d9f4574a9655d844c7ef46f138da7228a93a9"
-CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "e5bab9aeb635f426a5f77597edb46ad386ad0f7c" "a4c500ab9b3c0bc4232aa527a6cbd18f786338a4" "aae9573ddce70ef8c8cfb47800c806eb8a703aa4" "080361d5d45e74e7927e56bab774531748d1a569" "17c0af603db6e69e7d5b07fe21738237ebe29f3f" "a625767bb59509159091f2ab0b71f8b9b4b2e353")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="../platform2"
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE=".gn camera/build camera/common camera/hal/usb camera/include camera/mojo common-mk"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-PLATFORM_SUBDIR="camera/hal/usb"
-
-inherit cros-camera cros-workon platform
-
-DESCRIPTION="Chrome OS USB camera HAL v3."
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="
-	chromeos-base/cros-camera-android-deps
-	chromeos-base/cros-camera-libs
-	dev-libs/re2
-	media-libs/libsync"
-
-DEPEND="${RDEPEND}
-	media-libs/libyuv
-	virtual/pkgconfig"
-
-src_install() {
-	platform_src_install
-	cros-camera_dohal "${OUT}/lib/libcamera_hal.so" usb.so
-}
-
-platform_pkg_test() {
-	local tests=(
-		image_processor_test
-	)
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test run "${OUT}/${test_bin}"
-	done
-}
diff --git a/media-libs/cros-camera-hal-usb/cros-camera-hal-usb-0.0.1-r1212.ebuild b/media-libs/cros-camera-hal-usb/cros-camera-hal-usb-0.0.1-r1212.ebuild
new file mode 100644
index 0000000..89fc03d
--- /dev/null
+++ b/media-libs/cros-camera-hal-usb/cros-camera-hal-usb-0.0.1-r1212.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+CROS_WORKON_COMMIT="eddffb488e6b0e8ba6309122b37b341057179416"
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4be8d3ae5664634825afc2e6e4b8c24816ee9b9e" "7093536475612fadc6a0afe16b8f5f4f4251e4c2" "66167969f21d9a7bd20fc7fd2e582ad849d7d8eb" "2b7909959649540a63997338914ec45cf9c7d07c" "aae8bf048bbe1147ff2aa47f59de29bad1b6355d" "60fa47aebd6ebfb702012849bd560717fceddcd4")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="../platform2"
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE=".gn camera/build camera/common camera/hal/usb camera/include camera/mojo common-mk"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera/hal/usb"
+
+inherit cros-camera cros-workon platform
+
+DESCRIPTION="Chrome OS USB camera HAL v3."
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="asan"
+
+RDEPEND="
+	chromeos-base/cros-camera-android-deps
+	chromeos-base/cros-camera-libs
+	dev-libs/re2
+	media-libs/libsync"
+
+DEPEND="${RDEPEND}
+	media-libs/libyuv
+	virtual/pkgconfig"
+
+src_install() {
+	platform_src_install
+	cros-camera_dohal "${OUT}/lib/libcamera_hal.so" usb.so
+}
+
+platform_pkg_test() {
+	local tests=(
+		image_processor_test
+	)
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		# TODO(b/193747946): Remove the condition once we solve the camera
+		# libraries missing when running with asan enabled issue.
+		if ! use asan; then
+			platform_test run "${OUT}/${test_bin}"
+		fi
+	done
+}
diff --git a/media-libs/cros-camera-hal-usb/cros-camera-hal-usb-9999.ebuild b/media-libs/cros-camera-hal-usb/cros-camera-hal-usb-9999.ebuild
index e6da902..29599f4 100644
--- a/media-libs/cros-camera-hal-usb/cros-camera-hal-usb-9999.ebuild
+++ b/media-libs/cros-camera-hal-usb/cros-camera-hal-usb-9999.ebuild
@@ -19,6 +19,7 @@
 LICENSE="BSD-Google"
 SLOT="0"
 KEYWORDS="~*"
+IUSE="asan"
 
 RDEPEND="
 	chromeos-base/cros-camera-android-deps
@@ -41,6 +42,10 @@
 	)
 	local test_bin
 	for test_bin in "${tests[@]}"; do
-		platform_test run "${OUT}/${test_bin}"
+		# TODO(b/193747946): Remove the condition once we solve the camera
+		# libraries missing when running with asan enabled issue.
+		if ! use asan; then
+			platform_test run "${OUT}/${test_bin}"
+		fi
 	done
 }
diff --git a/media-libs/cros-camera-hal-usb/files/revision_bump b/media-libs/cros-camera-hal-usb/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/media-libs/cros-camera-hal-usb/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/media-libs/cros-camera-hdrnet-tests/cros-camera-hdrnet-tests-0.0.1-r195.ebuild b/media-libs/cros-camera-hdrnet-tests/cros-camera-hdrnet-tests-0.0.1-r195.ebuild
deleted file mode 100644
index bd01632..0000000
--- a/media-libs/cros-camera-hdrnet-tests/cros-camera-hdrnet-tests-0.0.1-r195.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="1f9d9f4574a9655d844c7ef46f138da7228a93a9"
-CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "e5bab9aeb635f426a5f77597edb46ad386ad0f7c" "cb410200827b0e0e8a13e27ee2d8beee28948361" "080361d5d45e74e7927e56bab774531748d1a569" "8aea57128c1adc8ea0b845047ce01733cecaf5c1" "a4c500ab9b3c0bc4232aa527a6cbd18f786338a4" "bea140d13f7cf1092e4c89a45011c04c28327972" "a625767bb59509159091f2ab0b71f8b9b4b2e353" "8a9ef8758fbc933dbbb61914e0a924d6fd9626f6")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="../platform2"
-# iioservice/ is included just to make sandbox happy when running `gn gen`.
-CROS_WORKON_SUBTREE=".gn camera/build camera/features camera/include camera/gpu camera/common chromeos-config common-mk iioservice/libiioservice_ipc"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-PLATFORM_SUBDIR="camera/features/hdrnet/tests"
-
-inherit cros-workon platform
-
-DESCRIPTION="Chrome OS camera HDRnet integration tests"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-# 'ipu6' and 'ipu6ep' are passed to and used in BUILD.gn files.
-IUSE="ipu6 ipu6ep"
-
-BDEPEND="virtual/pkgconfig"
-
-RDEPEND="
-	chromeos-base/cros-camera-android-deps:=
-	chromeos-base/cros-camera-libs:=
-	dev-cpp/benchmark:=
-	dev-cpp/gtest:=
-	media-libs/cros-camera-libgcam:=
-	virtual/opengles:=
-"
-
-DEPEND="${RDEPEND}
-	x11-drivers/opengles-headers:=
-"
-
-src_configure() {
-	cros_optimize_package_for_speed
-	platform_src_configure
-}
-
-src_install() {
-	dobin "${OUT}"/hdrnet_stream_manipulator_test
-	dobin "${OUT}"/hdrnet_processor_impl_test
-	dobin "${OUT}"/hdrnet_processor_benchmark
-	platform_src_install
-}
diff --git a/media-libs/cros-camera-hdrnet-tests/cros-camera-hdrnet-tests-0.0.1-r353.ebuild b/media-libs/cros-camera-hdrnet-tests/cros-camera-hdrnet-tests-0.0.1-r353.ebuild
new file mode 100644
index 0000000..2e989d3
--- /dev/null
+++ b/media-libs/cros-camera-hdrnet-tests/cros-camera-hdrnet-tests-0.0.1-r353.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="eddffb488e6b0e8ba6309122b37b341057179416"
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4be8d3ae5664634825afc2e6e4b8c24816ee9b9e" "f481c437e0dbbacc4832a55dfc3fda4c078162b2" "2b7909959649540a63997338914ec45cf9c7d07c" "29d52c6d2464057e3fde8214a173f96d96f3b267" "7093536475612fadc6a0afe16b8f5f4f4251e4c2" "aae8bf048bbe1147ff2aa47f59de29bad1b6355d" "527abd7a988a45572305a6c44b5324d0d9cf8be2" "60fa47aebd6ebfb702012849bd560717fceddcd4" "8a9ef8758fbc933dbbb61914e0a924d6fd9626f6" "6c730fa6bc9c00d204b80c4944f1951b8f35a48e")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="../platform2"
+# iioservice/ is included just to make sandbox happy when running `gn gen`.
+CROS_WORKON_SUBTREE=".gn camera/build camera/features camera/include camera/gpu camera/common camera/mojo chromeos-config common-mk iioservice/libiioservice_ipc iioservice/mojo"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera/features/hdrnet/tests"
+
+inherit cros-workon platform
+
+DESCRIPTION="Chrome OS camera HDRnet integration tests"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+# 'ipu6' and 'ipu6ep' are passed to and used in BUILD.gn files.
+IUSE="ipu6 ipu6ep"
+
+BDEPEND="virtual/pkgconfig"
+
+RDEPEND="
+	chromeos-base/cros-camera-android-deps:=
+	chromeos-base/cros-camera-libs:=
+	dev-cpp/benchmark:=
+	dev-cpp/gtest:=
+	media-libs/cros-camera-libfs:=
+	virtual/opengles:=
+"
+
+DEPEND="${RDEPEND}
+	x11-drivers/opengles-headers:=
+"
+
+src_configure() {
+	cros_optimize_package_for_speed
+	platform_src_configure
+}
+
+src_install() {
+	dobin "${OUT}"/hdrnet_stream_manipulator_test
+	dobin "${OUT}"/hdrnet_processor_impl_test
+	dobin "${OUT}"/hdrnet_processor_benchmark
+	platform_src_install
+}
diff --git a/media-libs/cros-camera-hdrnet-tests/cros-camera-hdrnet-tests-9999.ebuild b/media-libs/cros-camera-hdrnet-tests/cros-camera-hdrnet-tests-9999.ebuild
index 72ba547..16e42cb 100644
--- a/media-libs/cros-camera-hdrnet-tests/cros-camera-hdrnet-tests-9999.ebuild
+++ b/media-libs/cros-camera-hdrnet-tests/cros-camera-hdrnet-tests-9999.ebuild
@@ -6,7 +6,7 @@
 CROS_WORKON_PROJECT="chromiumos/platform2"
 CROS_WORKON_LOCALNAME="../platform2"
 # iioservice/ is included just to make sandbox happy when running `gn gen`.
-CROS_WORKON_SUBTREE=".gn camera/build camera/features camera/include camera/gpu camera/common chromeos-config common-mk iioservice/libiioservice_ipc"
+CROS_WORKON_SUBTREE=".gn camera/build camera/features camera/include camera/gpu camera/common camera/mojo chromeos-config common-mk iioservice/libiioservice_ipc iioservice/mojo"
 CROS_WORKON_OUTOFTREE_BUILD="1"
 CROS_WORKON_INCREMENTAL_BUILD="1"
 
@@ -29,7 +29,7 @@
 	chromeos-base/cros-camera-libs:=
 	dev-cpp/benchmark:=
 	dev-cpp/gtest:=
-	media-libs/cros-camera-libgcam:=
+	media-libs/cros-camera-libfs:=
 	virtual/opengles:=
 "
 
diff --git a/media-libs/cros-camera-hdrnet-tests/files/revision_bump b/media-libs/cros-camera-hdrnet-tests/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/media-libs/cros-camera-hdrnet-tests/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/media-libs/cros-camera-libautoframing/Manifest b/media-libs/cros-camera-libautoframing/Manifest
deleted file mode 100644
index ff9a438..0000000
--- a/media-libs/cros-camera-libautoframing/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST chromeos-camera-libautoframing-2022.02.24.tbz2 8109583 BLAKE2B 33cd2d9b0bd3e3090032c3f00ef903d7734ead9c890e5ad22ebade31f96edf2d30eca1f34d334875c1d843f23bcdc04b0c3dad9a1da00125b4b7099a02579560 SHA512 660dac90d6fd51a916ac82f65a055056b62f47d3ae967171b5a374834fa8bd459830d5e16ac603939ddf2f40f44c6f9d29322ddfeaed5a3d2d32855083afdd79
diff --git a/media-libs/cros-camera-libautoframing/OWNERS b/media-libs/cros-camera-libautoframing/OWNERS
deleted file mode 100644
index 8f44c3e..0000000
--- a/media-libs/cros-camera-libautoframing/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-include chromiumos/platform2:/camera/OWNERS
diff --git a/media-libs/cros-camera-libautoframing/cros-camera-libautoframing-2022.02.24-r1.ebuild b/media-libs/cros-camera-libautoframing/cros-camera-libautoframing-2022.02.24-r1.ebuild
deleted file mode 120000
index d181daa..0000000
--- a/media-libs/cros-camera-libautoframing/cros-camera-libautoframing-2022.02.24-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-cros-camera-libautoframing-2022.02.24.ebuild
\ No newline at end of file
diff --git a/media-libs/cros-camera-libautoframing/cros-camera-libautoframing-2022.02.24.ebuild b/media-libs/cros-camera-libautoframing/cros-camera-libautoframing-2022.02.24.ebuild
deleted file mode 100644
index db60b8a..0000000
--- a/media-libs/cros-camera-libautoframing/cros-camera-libautoframing-2022.02.24.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Google3 auto-framing libraries for Chrome OS."
-# PV 2022.02.24: built at cl/430470469.
-SRC_URI="gs://chromeos-localmirror/distfiles/chromeos-camera-libautoframing-${PV}.tbz2"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="-* amd64"
-
-S="${WORKDIR}"
-
-src_install() {
-	dolib.so ./*.so
-
-	insinto /usr/include/cros-camera
-	doins ./*.h
-}
diff --git a/media-libs/cros-camera-libcab-test/cros-camera-libcab-test-0.0.1-r691.ebuild b/media-libs/cros-camera-libcab-test/cros-camera-libcab-test-0.0.1-r691.ebuild
deleted file mode 100644
index 5bbfe02..0000000
--- a/media-libs/cros-camera-libcab-test/cros-camera-libcab-test-0.0.1-r691.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-CROS_WORKON_COMMIT="1f9d9f4574a9655d844c7ef46f138da7228a93a9"
-CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "e5bab9aeb635f426a5f77597edb46ad386ad0f7c" "a4c500ab9b3c0bc4232aa527a6cbd18f786338a4" "080361d5d45e74e7927e56bab774531748d1a569" "a625767bb59509159091f2ab0b71f8b9b4b2e353")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="../platform2"
-CROS_WORKON_SUBTREE=".gn camera/build camera/common camera/include common-mk"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-PLATFORM_SUBDIR="camera/common/libcab_test"
-
-inherit cros-camera cros-workon platform
-
-DESCRIPTION="Test for camera algorithm bridge library"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="
-	chromeos-base/cros-camera-libs
-	dev-cpp/gtest:="
-
-DEPEND="${RDEPEND}"
-
-src_install() {
-	dobin "${OUT}/libcab_test"
-	dolib.so "${OUT}/lib/libcam_algo_test.so"
-}
diff --git a/media-libs/cros-camera-libcab-test/cros-camera-libcab-test-0.0.1-r790.ebuild b/media-libs/cros-camera-libcab-test/cros-camera-libcab-test-0.0.1-r790.ebuild
new file mode 100644
index 0000000..4856f3f
--- /dev/null
+++ b/media-libs/cros-camera-libcab-test/cros-camera-libcab-test-0.0.1-r790.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+CROS_WORKON_COMMIT="eddffb488e6b0e8ba6309122b37b341057179416"
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4be8d3ae5664634825afc2e6e4b8c24816ee9b9e" "7093536475612fadc6a0afe16b8f5f4f4251e4c2" "2b7909959649540a63997338914ec45cf9c7d07c" "60fa47aebd6ebfb702012849bd560717fceddcd4")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_SUBTREE=".gn camera/build camera/common camera/include common-mk"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera/common/libcab_test"
+
+inherit cros-camera cros-workon platform
+
+DESCRIPTION="Test for camera algorithm bridge library"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="
+	chromeos-base/cros-camera-libs
+	dev-cpp/gtest:="
+
+DEPEND="${RDEPEND}"
+
+src_install() {
+	dobin "${OUT}/libcab_test"
+	dolib.so "${OUT}/lib/libcam_algo_test.so"
+}
diff --git a/media-libs/cros-camera-libcab-test/files/revision_bump b/media-libs/cros-camera-libcab-test/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/media-libs/cros-camera-libcab-test/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/media-libs/cros-camera-libcamera_connector_test/cros-camera-libcamera_connector_test-0.0.1-r374.ebuild b/media-libs/cros-camera-libcamera_connector_test/cros-camera-libcamera_connector_test-0.0.1-r374.ebuild
deleted file mode 100644
index 1632d20..0000000
--- a/media-libs/cros-camera-libcamera_connector_test/cros-camera-libcamera_connector_test-0.0.1-r374.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="1f9d9f4574a9655d844c7ef46f138da7228a93a9"
-CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "e5bab9aeb635f426a5f77597edb46ad386ad0f7c" "a4c500ab9b3c0bc4232aa527a6cbd18f786338a4" "080361d5d45e74e7927e56bab774531748d1a569" "a625767bb59509159091f2ab0b71f8b9b4b2e353")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="../platform2"
-CROS_WORKON_SUBTREE=".gn camera/build camera/common camera/include common-mk"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-PLATFORM_SUBDIR="camera/common/libcamera_connector_test"
-
-inherit cros-camera cros-workon platform
-
-DESCRIPTION="Chrome OS camera connector test."
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="
-	chromeos-base/cros-camera-libs:=
-	dev-cpp/gtest:=
-	media-libs/libyuv
-	virtual/jpeg:0"
-
-DEPEND="${RDEPEND}"
-
-BDEPEND="virtual/pkgconfig"
-
-src_install() {
-	platform_src_install
-	dobin "${OUT}/cros_camera_connector_test"
-}
diff --git a/media-libs/cros-camera-libcamera_connector_test/cros-camera-libcamera_connector_test-0.0.1-r473.ebuild b/media-libs/cros-camera-libcamera_connector_test/cros-camera-libcamera_connector_test-0.0.1-r473.ebuild
new file mode 100644
index 0000000..62a23a6
--- /dev/null
+++ b/media-libs/cros-camera-libcamera_connector_test/cros-camera-libcamera_connector_test-0.0.1-r473.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="eddffb488e6b0e8ba6309122b37b341057179416"
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4be8d3ae5664634825afc2e6e4b8c24816ee9b9e" "7093536475612fadc6a0afe16b8f5f4f4251e4c2" "2b7909959649540a63997338914ec45cf9c7d07c" "60fa47aebd6ebfb702012849bd560717fceddcd4")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_SUBTREE=".gn camera/build camera/common camera/include common-mk"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera/common/libcamera_connector_test"
+
+inherit cros-camera cros-workon platform
+
+DESCRIPTION="Chrome OS camera connector test."
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="
+	chromeos-base/cros-camera-libs:=
+	dev-cpp/gtest:=
+	media-libs/libyuv
+	virtual/jpeg:0"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="virtual/pkgconfig"
+
+src_install() {
+	platform_src_install
+	dobin "${OUT}/cros_camera_connector_test"
+}
diff --git a/media-libs/cros-camera-libcamera_connector_test/files/revision_bump b/media-libs/cros-camera-libcamera_connector_test/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/media-libs/cros-camera-libcamera_connector_test/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/media-libs/cros-camera-libfs/Manifest b/media-libs/cros-camera-libfs/Manifest
new file mode 100644
index 0000000..4e59ead
--- /dev/null
+++ b/media-libs/cros-camera-libfs/Manifest
@@ -0,0 +1,6 @@
+DIST chromeos-camera-libautoframing-2022.07.26.tbz2 8248710 BLAKE2B 64ef9b871af608c812ef1519822480e9cbe8599fb790b6f24874038b166cd60cefbeb3bd15c8221c6f9d1e79f77b8920803fa7a7ffbd2cc7c038eabc651d468a SHA512 b0986b6cd2214017fa0ec9b9ebfb3b846eef1cd003080a89b5c44c111884331c3ded7000f6b33516a38c00faaa1586f9930e6464b2f3b39dac38ce9aa59732c4
+DIST chromeos-camera-libgcam-2022.02.24.tar.bz2 120628489 BLAKE2B 5d3867296c8459eb12f4cb01dfae49941df29da0f3ff990d3bc55e1122f6c0bf75b2942724bb5d5e8d06c1034552e17da3b4885cbe59e9be3a7f9a7907f1012c SHA512 087b19717d2ad89d26f8bc24b60661665f2b598a41ec67ba09f6038b62d532fc1f6655b257d4995c9f1544fcfb4363e599d9fcaa83f0939f38112fed482f94cd
+DIST chromeos-document-scanning-lib-2022.08.05.tar.bz2 52712512 BLAKE2B 769fe4397e7f4d70ab44047c11cc5016d66b720e60517a3fd61ef6577a05930cb520ad21891ae25c5a7756efbc4c247a18d268090db7f0eaf88b2f824dcc85c8 SHA512 f298ced5e5b1ffdb8238e51812f4be6cfc9d75f4f78ad13d037802f03c0fb4892cf7cec65cae1bfa5dc0f80717b1b405601765c7a40a517918080dea0cd0d1a3
+DIST chromeos-facessd-lib-2021.10.27.tar.bz2 551925955 BLAKE2B 667fdf4e6aa157e66fd4ec3c5fe711b1d353945b3778cc606eadb8b10bb7106da1c3e15e714b723ba71270f928fa3999f75661fc51a58568ccfb4d099160e056 SHA512 448806aeba26254787c039b89228a86d19fd9714c4432e9c903293d15baa839e84a2c801fd0e68a716ef717974130dca8ecff9af3cf2a1e0d9fff266182094dd
+DIST portrait-processor-lib-armv7-2020.04.06-unstripped.tbz2 26054791 BLAKE2B 7ab14b8d123ca62ce2fc62add400a55a1c2762ffd0f6031a96987e3a03b38b637ce5cacea6b6d81fef454610c30dfe25a55735bae73ebe484acfa84647c65909 SHA512 adfe39b76f7e959acee01137ff7bec1e59efdbd4f775c510f528407e0213cf7ed2ccf2b4e4e966f89ad10ce7b867f9702fcf26a06fededcae36d006b5decd4e4
+DIST portrait-processor-lib-x86_64-2020.04.06-unstripped.tbz2 28713550 BLAKE2B 17957f71f6291b0357c4b34a7b34ca095cef6f521f4b3d4de604faad2812a1518e0905d579c648afa5dd2b08bbb513fa8648843c869b02b70fb6fb900e1f26e1 SHA512 18b6602be85e2446fc788b3425d72d69195b017277756299f334a5b62db03c8731e1765558babf807d25d4fdbc082f6cca1a041c0eefff42f5c3413ff37f851b
diff --git a/media-libs/cros-camera-libgcam/OWNERS b/media-libs/cros-camera-libfs/OWNERS
similarity index 100%
rename from media-libs/cros-camera-libgcam/OWNERS
rename to media-libs/cros-camera-libfs/OWNERS
diff --git a/media-libs/cros-camera-libfs/cros-camera-libfs-0.0.1-r65.ebuild b/media-libs/cros-camera-libfs/cros-camera-libfs-0.0.1-r65.ebuild
new file mode 100644
index 0000000..175b2e4
--- /dev/null
+++ b/media-libs/cros-camera-libfs/cros-camera-libfs-0.0.1-r65.ebuild
@@ -0,0 +1,155 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4be8d3ae5664634825afc2e6e4b8c24816ee9b9e" "835ea099c8643676eca960bb95a9349559008807" "60fa47aebd6ebfb702012849bd560717fceddcd4")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_SUBTREE=".gn camera/build camera/libfs common-mk"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera/libfs"
+
+inherit cros-camera cros-workon platform
+
+DESCRIPTION="Camera Libraries File System which installs the prebuilt libraries."
+
+IUSE="
+	camera_feature_auto_framing
+	camera_feature_face_detection
+	camera_feature_hdrnet
+	camera_feature_portrait_mode
+	march_alderlake
+	march_armv8
+	march_bdver4
+	march_corei7
+	march_goldmont
+	march_silvermont
+	march_skylake
+	march_tigerlake
+	march_tremont
+	march_znver1
+	ondevice_document_scanner
+	ondevice_document_scanner_dlc
+"
+
+# Auto face framing depends on the face detection feature.
+REQUIRED_USE="
+	camera_feature_auto_framing? ( camera_feature_face_detection )
+	?? ( ondevice_document_scanner ondevice_document_scanner_dlc )
+"
+
+LOCAL_MIRROR="gs://chromeos-localmirror/distfiles"
+PACAKGE_AUTOFRAMING="chromeos-camera-libautoframing-2022.07.26.tbz2"
+PACKAGE_DOCUMENT_SCANNING="chromeos-document-scanning-lib-2022.08.05.tar.bz2"
+PACAKGE_FACESSD="chromeos-facessd-lib-2021.10.27.tar.bz2"
+PACKAGE_GCAM="chromeos-camera-libgcam-2022.02.24.tar.bz2"
+PACKAGE_PORTRAIT_PROCESSOR_AMD64="portrait-processor-lib-x86_64-2020.04.06-unstripped.tbz2"
+PACKAGE_PORTRAIT_PROCESSOR_ARM="portrait-processor-lib-armv7-2020.04.06-unstripped.tbz2"
+
+SRC_URI="
+		camera_feature_auto_framing? (
+				${LOCAL_MIRROR}/${PACAKGE_AUTOFRAMING}
+		)
+		${LOCAL_MIRROR}/${PACKAGE_DOCUMENT_SCANNING}
+		${LOCAL_MIRROR}/${PACAKGE_FACESSD}
+		camera_feature_hdrnet? (
+				${LOCAL_MIRROR}/${PACKAGE_GCAM}
+		)
+		camera_feature_portrait_mode? (
+				amd64? (
+						${LOCAL_MIRROR}/${PACKAGE_PORTRAIT_PROCESSOR_AMD64}
+				)
+				arm? (
+						${LOCAL_MIRROR}/${PACKAGE_PORTRAIT_PROCESSOR_ARM}
+				)
+		)
+"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="
+	!media-libs/cros-camera-document-scanning
+	!media-libs/cros-camera-effect-portrait-mode
+	!media-libs/cros-camera-facessd
+	!media-libs/cros-camera-libautoframing
+	!media-libs/cros-camera-libgcam
+"
+
+src_unpack() {
+	default_src_unpack
+	platform_src_unpack
+	# Override unpacked data by files/* for local development.
+	if [[ "${PV}" == "9999" ]]; then
+		cp -r "${FILESDIR}"/* "${WORKDIR}"
+	fi
+}
+
+install_lib() {
+	local lib_src_path="$1"
+	local so_files_path="$2"
+	shift 2
+
+	local lib_name=$(basename "${lib_src_path}")
+
+	# For building binary, but won't be installed into the image.
+	insinto /build/share/cros_camera
+	doins "${lib_src_path}"
+
+	# Put into the squashfs image without debug symbols.
+	$(tc-getSTRIP) -s "${lib_src_path}" -o "${so_files_path}/${lib_name}"
+}
+
+src_install() {
+	insinto /etc/init
+	doins init/cros-camera-libfs.conf
+
+	local arch_march=$(cros-camera_get_arch_march_path)
+
+	local so_files_path="${WORKDIR}/camera_libs"
+	mkdir -p "${so_files_path}"
+
+	local camera_g3_libs_path="${WORKDIR}/g3_libs.squash"
+
+	# Move the required .so into the folder to prepare for compression.
+	if use camera_feature_auto_framing; then
+		install_lib "${WORKDIR}/libautoframing_cros.so" "${so_files_path}"
+	fi
+	if use ondevice_document_scanner; then
+		install_lib "${WORKDIR}/${arch_march}/libdocumentscanner.so" "${so_files_path}"
+	fi
+	install_lib "${WORKDIR}/${arch_march}/libfacessd_cros.so" "${so_files_path}"
+	if use camera_feature_hdrnet && (use march_skylake || use march_alderlake || use amd64); then
+		install_lib "${WORKDIR}/${arch_march}/libgcam_cros.so" "${so_files_path}"
+	fi
+	if use camera_feature_portrait_mode; then
+		install_lib "${WORKDIR}/libportrait_cros.so" "${so_files_path}"
+	fi
+
+	# Compress the .so files to a single .squash file and install it.
+	mksquashfs "${so_files_path}" "${camera_g3_libs_path}" \
+			-all-root -noappend -no-recovery -no-exports -exit-on-error \
+			-no-progress -4k-align \
+			-b 1M \
+			-root-mode 0755
+	insinto /usr/share/cros-camera
+	doins "${camera_g3_libs_path}"
+	keepdir /usr/share/cros-camera/libfs
+
+	# For Document Scanning
+	insinto /usr/include/chromeos/libdocumentscanner/
+	doins "${WORKDIR}"/document_scanner.h
+
+	insinto /usr/include/cros-camera
+	doins "${WORKDIR}"/*.h
+
+	# Install model file and anchor file
+	insinto /usr/share/cros-camera/ml_models
+	doins "${WORKDIR}"/*.pb "${WORKDIR}"/*.tflite
+}
diff --git a/media-libs/cros-camera-libfs/cros-camera-libfs-9999.ebuild b/media-libs/cros-camera-libfs/cros-camera-libfs-9999.ebuild
new file mode 100644
index 0000000..9fa68d8
--- /dev/null
+++ b/media-libs/cros-camera-libfs/cros-camera-libfs-9999.ebuild
@@ -0,0 +1,153 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_SUBTREE=".gn camera/build camera/libfs common-mk"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera/libfs"
+
+inherit cros-camera cros-workon platform
+
+DESCRIPTION="Camera Libraries File System which installs the prebuilt libraries."
+
+IUSE="
+	camera_feature_auto_framing
+	camera_feature_face_detection
+	camera_feature_hdrnet
+	camera_feature_portrait_mode
+	march_alderlake
+	march_armv8
+	march_bdver4
+	march_corei7
+	march_goldmont
+	march_silvermont
+	march_skylake
+	march_tigerlake
+	march_tremont
+	march_znver1
+	ondevice_document_scanner
+	ondevice_document_scanner_dlc
+"
+
+# Auto face framing depends on the face detection feature.
+REQUIRED_USE="
+	camera_feature_auto_framing? ( camera_feature_face_detection )
+	?? ( ondevice_document_scanner ondevice_document_scanner_dlc )
+"
+
+LOCAL_MIRROR="gs://chromeos-localmirror/distfiles"
+PACAKGE_AUTOFRAMING="chromeos-camera-libautoframing-2022.07.26.tbz2"
+PACKAGE_DOCUMENT_SCANNING="chromeos-document-scanning-lib-2022.08.05.tar.bz2"
+PACAKGE_FACESSD="chromeos-facessd-lib-2021.10.27.tar.bz2"
+PACKAGE_GCAM="chromeos-camera-libgcam-2022.02.24.tar.bz2"
+PACKAGE_PORTRAIT_PROCESSOR_AMD64="portrait-processor-lib-x86_64-2020.04.06-unstripped.tbz2"
+PACKAGE_PORTRAIT_PROCESSOR_ARM="portrait-processor-lib-armv7-2020.04.06-unstripped.tbz2"
+
+SRC_URI="
+		camera_feature_auto_framing? (
+				${LOCAL_MIRROR}/${PACAKGE_AUTOFRAMING}
+		)
+		${LOCAL_MIRROR}/${PACKAGE_DOCUMENT_SCANNING}
+		${LOCAL_MIRROR}/${PACAKGE_FACESSD}
+		camera_feature_hdrnet? (
+				${LOCAL_MIRROR}/${PACKAGE_GCAM}
+		)
+		camera_feature_portrait_mode? (
+				amd64? (
+						${LOCAL_MIRROR}/${PACKAGE_PORTRAIT_PROCESSOR_AMD64}
+				)
+				arm? (
+						${LOCAL_MIRROR}/${PACKAGE_PORTRAIT_PROCESSOR_ARM}
+				)
+		)
+"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="~*"
+
+RDEPEND="
+	!media-libs/cros-camera-document-scanning
+	!media-libs/cros-camera-effect-portrait-mode
+	!media-libs/cros-camera-facessd
+	!media-libs/cros-camera-libautoframing
+	!media-libs/cros-camera-libgcam
+"
+
+src_unpack() {
+	default_src_unpack
+	platform_src_unpack
+	# Override unpacked data by files/* for local development.
+	if [[ "${PV}" == "9999" ]]; then
+		cp -r "${FILESDIR}"/* "${WORKDIR}"
+	fi
+}
+
+install_lib() {
+	local lib_src_path="$1"
+	local so_files_path="$2"
+	shift 2
+
+	local lib_name=$(basename "${lib_src_path}")
+
+	# For building binary, but won't be installed into the image.
+	insinto /build/share/cros_camera
+	doins "${lib_src_path}"
+
+	# Put into the squashfs image without debug symbols.
+	$(tc-getSTRIP) -s "${lib_src_path}" -o "${so_files_path}/${lib_name}"
+}
+
+src_install() {
+	insinto /etc/init
+	doins init/cros-camera-libfs.conf
+
+	local arch_march=$(cros-camera_get_arch_march_path)
+
+	local so_files_path="${WORKDIR}/camera_libs"
+	mkdir -p "${so_files_path}"
+
+	local camera_g3_libs_path="${WORKDIR}/g3_libs.squash"
+
+	# Move the required .so into the folder to prepare for compression.
+	if use camera_feature_auto_framing; then
+		install_lib "${WORKDIR}/libautoframing_cros.so" "${so_files_path}"
+	fi
+	if use ondevice_document_scanner; then
+		install_lib "${WORKDIR}/${arch_march}/libdocumentscanner.so" "${so_files_path}"
+	fi
+	install_lib "${WORKDIR}/${arch_march}/libfacessd_cros.so" "${so_files_path}"
+	if use camera_feature_hdrnet && (use march_skylake || use march_alderlake || use amd64); then
+		install_lib "${WORKDIR}/${arch_march}/libgcam_cros.so" "${so_files_path}"
+	fi
+	if use camera_feature_portrait_mode; then
+		install_lib "${WORKDIR}/libportrait_cros.so" "${so_files_path}"
+	fi
+
+	# Compress the .so files to a single .squash file and install it.
+	mksquashfs "${so_files_path}" "${camera_g3_libs_path}" \
+			-all-root -noappend -no-recovery -no-exports -exit-on-error \
+			-no-progress -4k-align \
+			-b 1M \
+			-root-mode 0755
+	insinto /usr/share/cros-camera
+	doins "${camera_g3_libs_path}"
+	keepdir /usr/share/cros-camera/libfs
+
+	# For Document Scanning
+	insinto /usr/include/chromeos/libdocumentscanner/
+	doins "${WORKDIR}"/document_scanner.h
+
+	insinto /usr/include/cros-camera
+	doins "${WORKDIR}"/*.h
+
+	# Install model file and anchor file
+	insinto /usr/share/cros-camera/ml_models
+	doins "${WORKDIR}"/*.pb "${WORKDIR}"/*.tflite
+}
diff --git a/media-libs/cros-camera-libfs/files/revision_bump b/media-libs/cros-camera-libfs/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/media-libs/cros-camera-libfs/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/media-libs/cros-camera-libgcam/Manifest b/media-libs/cros-camera-libgcam/Manifest
deleted file mode 100644
index 44cfe06..0000000
--- a/media-libs/cros-camera-libgcam/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST chromeos-camera-libgcam-2022.01.07.tar.bz2 76996783 BLAKE2B e2feabe3e57e9be7f2fed266c8dc6c12f20c3bc422e9b4d99f39d5ac6cdc3d060b97a0639a7d67780f6d610263fa2e748d824091db98f6d86e4b9294c36d744d SHA512 d8eff22419ec976bc171fca1fd5e609b77ef00bfc909b72ebc48e2a22d6bd37f2182b80a200145704d82d9bf0b8b88dc9bc9a6f01ed994e65067748c7214d272
diff --git a/media-libs/cros-camera-libgcam/cros-camera-libgcam-2022.01.07-r1.ebuild b/media-libs/cros-camera-libgcam/cros-camera-libgcam-2022.01.07-r1.ebuild
deleted file mode 120000
index 8cc9c37..0000000
--- a/media-libs/cros-camera-libgcam/cros-camera-libgcam-2022.01.07-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-cros-camera-libgcam-2022.01.07.ebuild
\ No newline at end of file
diff --git a/media-libs/cros-camera-libgcam/cros-camera-libgcam-2022.01.07.ebuild b/media-libs/cros-camera-libgcam/cros-camera-libgcam-2022.01.07.ebuild
deleted file mode 100644
index 2753709..0000000
--- a/media-libs/cros-camera-libgcam/cros-camera-libgcam-2022.01.07.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Gcam libraries ported from google3 that are specialized for CrOS."
-
-IUSE="march_skylake march_alderlake"
-
-SRC_URI="gs://chromeos-localmirror/distfiles/chromeos-camera-libgcam-${PV}.tar.bz2"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="!media-libs/cros-camera-libhdr"
-
-S="${WORKDIR}"
-
-src_install() {
-	# march USE flag check should be put before amd64, arm, and arm64.
-	local march_path
-	if use march_skylake; then
-		march_path="x86_64-skylake"
-	elif use march_alderlake; then
-		march_path="x86_64-alderlake"
-	elif use amd64; then
-		march_path="x86_64"
-	fi
-	einfo "Installing binaries built with march ${march_path}"
-	dolib.so "./${march_path}/libgcam_cros.so"
-
-	# Install header files.
-	insinto /usr/include/cros-camera
-	doins ./*.h
-}
diff --git a/media-libs/cros-camera-libjda_test/cros-camera-libjda_test-0.0.1-r694.ebuild b/media-libs/cros-camera-libjda_test/cros-camera-libjda_test-0.0.1-r694.ebuild
deleted file mode 100644
index 884c940..0000000
--- a/media-libs/cros-camera-libjda_test/cros-camera-libjda_test-0.0.1-r694.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-CROS_WORKON_COMMIT="1f9d9f4574a9655d844c7ef46f138da7228a93a9"
-CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "e5bab9aeb635f426a5f77597edb46ad386ad0f7c" "a4c500ab9b3c0bc4232aa527a6cbd18f786338a4" "080361d5d45e74e7927e56bab774531748d1a569" "a625767bb59509159091f2ab0b71f8b9b4b2e353")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="../platform2"
-CROS_WORKON_SUBTREE=".gn camera/build camera/common camera/include common-mk"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-PLATFORM_SUBDIR="camera/common/jpeg/libjda_test"
-
-inherit cros-camera cros-workon platform
-
-DESCRIPTION="End to end test for JPEG decode accelerator"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="dev-cpp/gtest"
-
-DEPEND="${RDEPEND}
-	chromeos-base/cros-camera-libs"
-
-src_install() {
-	platform_src_install
-	dobin "${OUT}/libjda_test"
-}
diff --git a/media-libs/cros-camera-libjda_test/cros-camera-libjda_test-0.0.1-r793.ebuild b/media-libs/cros-camera-libjda_test/cros-camera-libjda_test-0.0.1-r793.ebuild
new file mode 100644
index 0000000..7df2ba4
--- /dev/null
+++ b/media-libs/cros-camera-libjda_test/cros-camera-libjda_test-0.0.1-r793.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+CROS_WORKON_COMMIT="eddffb488e6b0e8ba6309122b37b341057179416"
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4be8d3ae5664634825afc2e6e4b8c24816ee9b9e" "7093536475612fadc6a0afe16b8f5f4f4251e4c2" "2b7909959649540a63997338914ec45cf9c7d07c" "60fa47aebd6ebfb702012849bd560717fceddcd4")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_SUBTREE=".gn camera/build camera/common camera/include common-mk"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera/common/jpeg/libjda_test"
+
+inherit cros-camera cros-workon platform
+
+DESCRIPTION="End to end test for JPEG decode accelerator"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="dev-cpp/gtest"
+
+DEPEND="${RDEPEND}
+	chromeos-base/cros-camera-libs"
+
+src_install() {
+	platform_src_install
+	dobin "${OUT}/libjda_test"
+}
diff --git a/media-libs/cros-camera-libjda_test/files/revision_bump b/media-libs/cros-camera-libjda_test/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/media-libs/cros-camera-libjda_test/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/media-libs/cros-camera-libjea_test/cros-camera-libjea_test-0.0.1-r747.ebuild b/media-libs/cros-camera-libjea_test/cros-camera-libjea_test-0.0.1-r747.ebuild
deleted file mode 100644
index 2536238..0000000
--- a/media-libs/cros-camera-libjea_test/cros-camera-libjea_test-0.0.1-r747.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-CROS_WORKON_COMMIT="1f9d9f4574a9655d844c7ef46f138da7228a93a9"
-CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "e5bab9aeb635f426a5f77597edb46ad386ad0f7c" "a4c500ab9b3c0bc4232aa527a6cbd18f786338a4" "080361d5d45e74e7927e56bab774531748d1a569" "a625767bb59509159091f2ab0b71f8b9b4b2e353")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="../platform2"
-CROS_WORKON_SUBTREE=".gn camera/build camera/common camera/include common-mk"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-PLATFORM_SUBDIR="camera/common/jpeg/libjea_test"
-
-inherit cros-camera cros-workon platform
-
-DESCRIPTION="End to end test for JPEG encode accelerator"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="
-	chromeos-base/cros-camera-android-deps
-	chromeos-base/cros-camera-libs
-	dev-cpp/gtest:=
-	media-libs/libyuv"
-
-DEPEND="${RDEPEND}"
-
-src_install() {
-	platform_src_install
-	dobin "${OUT}/libjea_test"
-}
diff --git a/media-libs/cros-camera-libjea_test/cros-camera-libjea_test-0.0.1-r846.ebuild b/media-libs/cros-camera-libjea_test/cros-camera-libjea_test-0.0.1-r846.ebuild
new file mode 100644
index 0000000..3ebf969
--- /dev/null
+++ b/media-libs/cros-camera-libjea_test/cros-camera-libjea_test-0.0.1-r846.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+CROS_WORKON_COMMIT="eddffb488e6b0e8ba6309122b37b341057179416"
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4be8d3ae5664634825afc2e6e4b8c24816ee9b9e" "7093536475612fadc6a0afe16b8f5f4f4251e4c2" "2b7909959649540a63997338914ec45cf9c7d07c" "60fa47aebd6ebfb702012849bd560717fceddcd4")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_SUBTREE=".gn camera/build camera/common camera/include common-mk"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera/common/jpeg/libjea_test"
+
+inherit cros-camera cros-workon platform
+
+DESCRIPTION="End to end test for JPEG encode accelerator"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="
+	chromeos-base/cros-camera-android-deps
+	chromeos-base/cros-camera-libs
+	dev-cpp/gtest:=
+	media-libs/libyuv"
+
+DEPEND="${RDEPEND}"
+
+src_install() {
+	platform_src_install
+	dobin "${OUT}/libjea_test"
+}
diff --git a/media-libs/cros-camera-libjea_test/files/revision_bump b/media-libs/cros-camera-libjea_test/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/media-libs/cros-camera-libjea_test/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/media-libs/cros-camera-test/cros-camera-test-0.0.1-r826.ebuild b/media-libs/cros-camera-test/cros-camera-test-0.0.1-r826.ebuild
deleted file mode 100644
index d445e16..0000000
--- a/media-libs/cros-camera-test/cros-camera-test-0.0.1-r826.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-CROS_WORKON_COMMIT="1f9d9f4574a9655d844c7ef46f138da7228a93a9"
-CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "e5bab9aeb635f426a5f77597edb46ad386ad0f7c" "bb91b1577c0b9dd1b838d678af810321eb3ef9c7" "a4c500ab9b3c0bc4232aa527a6cbd18f786338a4" "080361d5d45e74e7927e56bab774531748d1a569" "bea140d13f7cf1092e4c89a45011c04c28327972" "a625767bb59509159091f2ab0b71f8b9b4b2e353")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="../platform2"
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE=".gn camera/build camera/camera3_test camera/common camera/include chromeos-config common-mk"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-PLATFORM_SUBDIR="camera/camera3_test"
-
-inherit cros-camera cros-workon platform
-
-DESCRIPTION="Chrome OS camera HAL native test."
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE="-asan"
-
-RDEPEND="
-	>=chromeos-base/cros-camera-libs-0.0.1-r34:=
-	chromeos-base/cros-camera-android-deps
-	media-libs/libexif
-	media-libs/libsync
-	media-libs/minigbm
-	virtual/jpeg:0"
-
-DEPEND="${RDEPEND}
-	dev-cpp/gtest:=
-	media-libs/libyuv
-	virtual/pkgconfig"
-
-src_install() {
-	platform_src_install
-	dobin "${OUT}/cros_camera_test"
-}
diff --git a/media-libs/cros-camera-test/cros-camera-test-0.0.1-r973.ebuild b/media-libs/cros-camera-test/cros-camera-test-0.0.1-r973.ebuild
new file mode 100644
index 0000000..0c64c9d
--- /dev/null
+++ b/media-libs/cros-camera-test/cros-camera-test-0.0.1-r973.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+CROS_WORKON_COMMIT="eddffb488e6b0e8ba6309122b37b341057179416"
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4be8d3ae5664634825afc2e6e4b8c24816ee9b9e" "97e2f0b1a81d232f739ef5fef9fa68657759387f" "7093536475612fadc6a0afe16b8f5f4f4251e4c2" "2b7909959649540a63997338914ec45cf9c7d07c" "527abd7a988a45572305a6c44b5324d0d9cf8be2" "60fa47aebd6ebfb702012849bd560717fceddcd4")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="../platform2"
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE=".gn camera/build camera/camera3_test camera/common camera/include chromeos-config common-mk"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera/camera3_test"
+
+inherit cros-camera cros-workon platform
+
+DESCRIPTION="Chrome OS camera HAL native test."
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="-asan"
+
+RDEPEND="
+	>=chromeos-base/cros-camera-libs-0.0.1-r34:=
+	chromeos-base/cros-camera-android-deps
+	media-libs/libexif
+	media-libs/libsync
+	media-libs/minigbm
+	virtual/jpeg:0"
+
+DEPEND="${RDEPEND}
+	dev-cpp/gtest:=
+	media-libs/libyuv
+	virtual/pkgconfig"
+
+src_install() {
+	platform_src_install
+	dobin "${OUT}/cros_camera_test"
+	dolib.so "${OUT}/lib/libfake_date_time.so"
+}
diff --git a/media-libs/cros-camera-test/cros-camera-test-9999.ebuild b/media-libs/cros-camera-test/cros-camera-test-9999.ebuild
index 07adaa4..a742317 100644
--- a/media-libs/cros-camera-test/cros-camera-test-9999.ebuild
+++ b/media-libs/cros-camera-test/cros-camera-test-9999.ebuild
@@ -37,4 +37,5 @@
 src_install() {
 	platform_src_install
 	dobin "${OUT}/cros_camera_test"
+	dolib.so "${OUT}/lib/libfake_date_time.so"
 }
diff --git a/media-libs/cros-camera-test/files/revision_bump b/media-libs/cros-camera-test/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/media-libs/cros-camera-test/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/media-libs/cros-camera-usb-tests/cros-camera-usb-tests-0.0.1-r143.ebuild b/media-libs/cros-camera-usb-tests/cros-camera-usb-tests-0.0.1-r143.ebuild
new file mode 100644
index 0000000..7826ee4
--- /dev/null
+++ b/media-libs/cros-camera-usb-tests/cros-camera-usb-tests-0.0.1-r143.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="eddffb488e6b0e8ba6309122b37b341057179416"
+CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "4be8d3ae5664634825afc2e6e4b8c24816ee9b9e" "7093536475612fadc6a0afe16b8f5f4f4251e4c2" "2b7909959649540a63997338914ec45cf9c7d07c" "66167969f21d9a7bd20fc7fd2e582ad849d7d8eb" "60fa47aebd6ebfb702012849bd560717fceddcd4")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_SUBTREE=".gn camera/build camera/common camera/include camera/hal/usb common-mk"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+PLATFORM_SUBDIR="camera/hal/usb/tests"
+
+inherit cros-camera cros-workon platform
+
+DESCRIPTION="Chrome OS USB camera tests."
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="
+	!media-libs/cros-camera-v4l2_test
+	chromeos-base/cros-camera-libs
+	chromeos-base/libbrillo:=
+	dev-cpp/gtest:=
+	dev-libs/re2:=
+	media-libs/libyuv
+	virtual/jpeg:0
+	virtual/libusb:1
+"
+
+DEPEND="${RDEPEND}
+	virtual/pkgconfig"
+
+src_install() {
+	platform_src_install
+	dobin "${OUT}/camera_characteristics_test"
+	dobin "${OUT}/camera_dfu_test"
+	dobin "${OUT}/media_v4l2_is_capture_device"
+	dobin "${OUT}/media_v4l2_test"
+}
diff --git a/media-libs/cros-camera-usb-tests/cros-camera-usb-tests-0.0.1-r35.ebuild b/media-libs/cros-camera-usb-tests/cros-camera-usb-tests-0.0.1-r35.ebuild
deleted file mode 100644
index 17af568..0000000
--- a/media-libs/cros-camera-usb-tests/cros-camera-usb-tests-0.0.1-r35.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="1f9d9f4574a9655d844c7ef46f138da7228a93a9"
-CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "e5bab9aeb635f426a5f77597edb46ad386ad0f7c" "a4c500ab9b3c0bc4232aa527a6cbd18f786338a4" "080361d5d45e74e7927e56bab774531748d1a569" "aae9573ddce70ef8c8cfb47800c806eb8a703aa4" "a625767bb59509159091f2ab0b71f8b9b4b2e353")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="../platform2"
-CROS_WORKON_SUBTREE=".gn camera/build camera/common camera/include camera/hal/usb common-mk"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-PLATFORM_SUBDIR="camera/hal/usb/tests"
-
-inherit cros-camera cros-workon platform
-
-DESCRIPTION="Chrome OS USB camera tests."
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="
-	!media-libs/cros-camera-v4l2_test
-	chromeos-base/cros-camera-libs
-	chromeos-base/libbrillo:=
-	dev-cpp/gtest:=
-	dev-libs/re2:=
-	media-libs/libyuv
-	virtual/jpeg:0
-	virtual/libusb:1
-"
-
-DEPEND="${RDEPEND}
-	virtual/pkgconfig"
-
-src_install() {
-	platform_src_install
-	dobin "${OUT}/camera_characteristics_test"
-	dobin "${OUT}/camera_dfu_test"
-	dobin "${OUT}/media_v4l2_is_capture_device"
-	dobin "${OUT}/media_v4l2_test"
-}
diff --git a/media-libs/cros-camera-usb-tests/files/revision_bump b/media-libs/cros-camera-usb-tests/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/media-libs/cros-camera-usb-tests/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/media-libs/fontconfig/files/local.conf b/media-libs/fontconfig/files/local.conf
index 9ea8d59..4753c5c 100644
--- a/media-libs/fontconfig/files/local.conf
+++ b/media-libs/fontconfig/files/local.conf
@@ -10,9 +10,11 @@
   <dir>/usr/share/fonts/croscore</dir>
   <dir>/usr/share/fonts/crosextra</dir>
   <dir>/usr/share/fonts/dejavu</dir>
+  <dir>/usr/share/fonts/ipa-jp</dir>
   <dir>/usr/share/fonts/ko-nanum</dir>
   <dir>/usr/share/fonts/lohit-cros</dir>
   <dir>/usr/share/fonts/monotype</dir>
+  <dir>/usr/share/fonts/morisawa</dir>
   <dir>/usr/share/fonts/noto</dir>
   <dir>/usr/share/fonts/notocjk</dir>
   <dir>/usr/share/fonts/roboto</dir>
diff --git a/media-libs/fontconfig/fontconfig-2.13.0-r11.ebuild b/media-libs/fontconfig/fontconfig-2.13.0-r11.ebuild
deleted file mode 100644
index 789c2e1..0000000
--- a/media-libs/fontconfig/fontconfig-2.13.0-r11.ebuild
+++ /dev/null
@@ -1,219 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# CrOS change.
-# eapi-ver7.eclass is not present. Drop it as well as check for the
-# 3rd component of version number >= 90, '[[ $(ver_cut 3) -ge 90 ]]'
-# before the KEYWORDS line.
-# The 3rd component of fontconfig version >= 90 indicates that it's a release
-# candidate.
-inherit autotools multilib-minimal readme.gentoo-r1
-
-DESCRIPTION="A library for configuring and customizing font access"
-HOMEPAGE="https://fontconfig.org/"
-SRC_URI="https://fontconfig.org/release/${P}.tar.bz2"
-
-LICENSE="MIT"
-SLOT="1.0"
-KEYWORDS="*"
-IUSE="cros_host doc static-libs +subpixel_rendering touchview"
-
-# Purposefully dropped the xml USE flag and libxml2 support.  Expat is the
-# default and used by every distro.  See bug #283191.
-RDEPEND=">=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
-	>=media-libs/freetype-2.9[${MULTILIB_USEDEP}]
-	!elibc_Darwin? ( sys-apps/util-linux[${MULTILIB_USEDEP}] )
-	elibc_Darwin? ( sys-libs/native-uuid )
-	virtual/libintl[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
-	virtual/pkgconfig
-	>=sys-devel/gettext-0.19.8
-	doc? ( =app-text/docbook-sgml-dtd-3.1*
-		app-text/docbook-sgml-utils[jadetex] )"
-# CrOS change: we don't need fontconfig eselect.
-PDEPEND="virtual/ttf-fonts"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-2.10.2-docbook.patch # 310157
-	"${FILESDIR}"/${P}-fonts-config.patch
-	"${FILESDIR}"/${P}-locale.patch #650332
-	"${FILESDIR}"/${P}-mtime.patch
-	"${FILESDIR}"/${P}-names.patch #650370
-	"${FILESDIR}"/${P}-fccache-sysroot.patch
-	"${FILESDIR}"/${P}-fc-cache-doesn-t-use-y-option.patch # crbug.com/907781
-)
-
-# Checks that a passed-in fontconfig default symlink (e.g. "10-autohint.conf")
-# is present and dies if it isn't.
-check_fontconfig_default() {
-	local path="${D}"/etc/fonts/conf.d/"$1"
-	if [[ ! -L ${path} ]]; then
-		die "Didn't find $1 among default fontconfig settings (at ${path})."
-	fi
-}
-
-MULTILIB_CHOST_TOOLS=( /usr/bin/fc-cache$(get_exeext) )
-
-pkg_setup() {
-	DOC_CONTENTS="Please make fontconfig configuration changes using
-	\`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be
-	overwritten. If you need to reset your configuration to upstream defaults,
-	delete the directory ${EROOT%/}/etc/fonts/conf.d/ and re-emerge fontconfig."
-}
-
-src_prepare() {
-	default
-	export GPERF=$(type -P true)  # avoid dependency on gperf, #631980
-	sed -i -e 's/FC_GPERF_SIZE_T="unsigned int"/FC_GPERF_SIZE_T=size_t/' \
-		configure.ac || die # rest of gperf dependency fix, #631920
-	eautoreconf
-	rm test/out.expected || die #662048
-}
-
-multilib_src_configure() {
-	cros_optimize_package_for_speed
-
-	local addfonts
-	# harvest some font locations, such that users can benefit from the
-	# host OS's installed fonts
-	case ${CHOST} in
-		*-darwin*)
-			addfonts=",/Library/Fonts,/System/Library/Fonts"
-		;;
-		*-solaris*)
-			[[ -d /usr/X/lib/X11/fonts/TrueType ]] && \
-				addfonts=",/usr/X/lib/X11/fonts/TrueType"
-			[[ -d /usr/X/lib/X11/fonts/Type1 ]] && \
-				addfonts="${addfonts},/usr/X/lib/X11/fonts/Type1"
-		;;
-		*-linux-gnu)
-			use prefix && [[ -d /usr/share/fonts ]] && \
-				addfonts=",/usr/share/fonts"
-		;;
-	esac
-
-	local myeconfargs=(
-		$(use_enable doc docbook)
-		$(use_enable static-libs static)
-		--enable-docs
-		# Font cache should be in /usr/share/cache instead of /var/cache
-		# because the latter is not in the read-only partition.
-		--localstatedir="${EPREFIX}"/usr/share
-		--with-default-fonts="${EPREFIX}"/usr/share/fonts
-		--with-add-fonts="${EPREFIX}/usr/local/share/fonts${addfonts}"
-		--with-templatedir="${EPREFIX}"/etc/fonts/conf.avail
-	)
-
-	ECONF_SOURCE="${S}" \
-	econf "${myeconfargs[@]}"
-}
-
-multilib_src_install() {
-	default
-
-	# avoid calling this multiple times, bug #459210
-	if multilib_is_native_abi; then
-		# stuff installed from build-dir
-		emake -C doc DESTDIR="${D}" install-man
-
-		insinto /etc/fonts
-		doins fonts.conf
-	fi
-}
-
-multilib_src_install_all() {
-	einstalldocs
-	find "${ED}" -name "*.la" -delete || die
-
-	insinto /etc/fonts
-	doins "${FILESDIR}"/local.conf
-	# Enable autohint by default
-	# match what we want to use.
-	dosym ../conf.avail/10-autohint.conf /etc/fonts/conf.d/10-autohint.conf
-	check_fontconfig_default 10-autohint.conf
-
-	# Make sure that hinting-slight is on.
-	check_fontconfig_default 10-hinting-slight.conf
-
-	# Set sub-pixel mode to RGB
-	dosym ../conf.avail/10-sub-pixel-rgb.conf \
-		/etc/fonts/conf.d/10-sub-pixel-rgb.conf
-	check_fontconfig_default 10-sub-pixel-rgb.conf
-
-	# Use the default LCD filter
-	dosym ../conf.avail/11-lcdfilter-default.conf \
-		/etc/fonts/conf.d/11-lcdfilter-default.conf
-	check_fontconfig_default 11-lcdfilter-default.conf
-
-	# CrOS: Delete unnecessary configurtaion files
-	local confs_to_delete=(
-		"20-unhint-small-vera"
-		"40-nonlatin"
-		"45-latin"
-		"50-user"
-		"60-latin"
-		"65-fonts-persian"
-		"65-nonlatin"
-		"69-unifont"
-		"80-delicious"
-	)
-
-	local conf
-	for conf in "${confs_to_delete[@]}"; do
-		rm -f "${D}"/etc/fonts/conf.d/"${conf}".conf
-	done
-
-	# There's a lot of variability across different displays with subpixel
-	# rendering. Until we have a better solution, turn it off and use grayscale
-	# instead on boards that don't have internal displays.
-	#
-	# Additionally, disable it for convertible devices with rotatable displays
-	# (http://crbug.com/222208) and when installing to the host sysroot so the
-	# images in the initramfs package won't use subpixel rendering
-	# (http://crosbug.com/27872).
-	if ! use subpixel_rendering || use touchview || use cros_host; then
-		rm "${D}"/etc/fonts/conf.d/10-sub-pixel-rgb.conf
-		rm "${D}"/etc/fonts/conf.d/11-lcdfilter-default.conf
-		dosym ../conf.avail/10-no-sub-pixel.conf \
-			/etc/fonts/conf.d/10-no-sub-pixel.conf
-		check_fontconfig_default 10-no-sub-pixel.conf
-	fi
-
-	dodoc doc/fontconfig-user.{txt,pdf}
-
-	if [[ -e ${ED}usr/share/doc/fontconfig/ ]];  then
-		mv "${ED}"usr/share/doc/fontconfig/* "${ED}"/usr/share/doc/${P} || die
-		rm -rf "${ED}"usr/share/doc/fontconfig
-	fi
-
-	# Changes should be made to /etc/fonts/local.conf, and as we had
-	# too much problems with broken fonts.conf we force update it ...
-	echo 'CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf"' > "${T}"/37fontconfig
-	doenvd "${T}"/37fontconfig
-
-	# As of fontconfig 2.7, everything sticks their noses in here.
-	# Replace /var/cache with /usr/share/cache for CrOS.
-	dodir /etc/sandbox.d
-	echo 'SANDBOX_PREDICT="/usr/share/cache/fontconfig"' > "${ED}"/etc/sandbox.d/37fontconfig
-
-	readme.gentoo_create_doc
-}
-
-pkg_postinst() {
-	einfo "Cleaning broken symlinks in ${EROOT%/}/etc/fonts/conf.d/"
-	find -L "${EROOT}"etc/fonts/conf.d/ -type l -delete
-
-	readme.gentoo_print_elog
-
-	if [[ ${ROOT} = / ]]; then
-		multilib_pkg_postinst() {
-			ebegin "Creating global font cache for ${ABI}"
-			"${EPREFIX}"/usr/bin/${CHOST}-fc-cache -srf
-			eend $?
-		}
-
-		multilib_parallel_foreach_abi multilib_pkg_postinst
-	fi
-}
diff --git a/media-libs/fontconfig/fontconfig-2.13.0-r13.ebuild b/media-libs/fontconfig/fontconfig-2.13.0-r13.ebuild
new file mode 120000
index 0000000..fa3b9d2
--- /dev/null
+++ b/media-libs/fontconfig/fontconfig-2.13.0-r13.ebuild
@@ -0,0 +1 @@
+fontconfig-2.13.0.ebuild
\ No newline at end of file
diff --git a/media-libs/fontconfig/fontconfig-2.13.0-r14.ebuild b/media-libs/fontconfig/fontconfig-2.13.0-r14.ebuild
new file mode 120000
index 0000000..fa3b9d2
--- /dev/null
+++ b/media-libs/fontconfig/fontconfig-2.13.0-r14.ebuild
@@ -0,0 +1 @@
+fontconfig-2.13.0.ebuild
\ No newline at end of file
diff --git a/media-libs/fontconfig/fontconfig-2.13.0.ebuild b/media-libs/fontconfig/fontconfig-2.13.0.ebuild
new file mode 100644
index 0000000..d33ec18
--- /dev/null
+++ b/media-libs/fontconfig/fontconfig-2.13.0.ebuild
@@ -0,0 +1,219 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# CrOS change.
+# eapi-ver7.eclass is not present. Drop it as well as check for the
+# 3rd component of version number >= 90, '[[ $(ver_cut 3) -ge 90 ]]'
+# before the KEYWORDS line.
+# The 3rd component of fontconfig version >= 90 indicates that it's a release
+# candidate.
+inherit autotools multilib-minimal readme.gentoo-r1
+
+DESCRIPTION="A library for configuring and customizing font access"
+HOMEPAGE="https://fontconfig.org/"
+SRC_URI="https://fontconfig.org/release/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="1.0"
+KEYWORDS="*"
+IUSE="cros_host doc static-libs +subpixel_rendering touchview"
+
+# Purposefully dropped the xml USE flag and libxml2 support.  Expat is the
+# default and used by every distro.  See bug #283191.
+RDEPEND=">=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+	>=media-libs/freetype-2.9[${MULTILIB_USEDEP}]
+	!elibc_Darwin? ( sys-apps/util-linux[${MULTILIB_USEDEP}] )
+	elibc_Darwin? ( sys-libs/native-uuid )
+	virtual/libintl[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+	virtual/pkgconfig
+	>=sys-devel/gettext-0.19.8
+	doc? ( =app-text/docbook-sgml-dtd-3.1*
+		app-text/docbook-sgml-utils[jadetex] )"
+# CrOS change: we don't need fontconfig eselect.
+PDEPEND="virtual/ttf-fonts"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-2.10.2-docbook.patch # 310157
+	"${FILESDIR}"/${P}-fonts-config.patch
+	"${FILESDIR}"/${P}-locale.patch #650332
+	"${FILESDIR}"/${P}-mtime.patch
+	"${FILESDIR}"/${P}-names.patch #650370
+	"${FILESDIR}"/${P}-fccache-sysroot.patch
+	"${FILESDIR}"/${P}-fc-cache-doesn-t-use-y-option.patch # crbug.com/907781
+)
+
+# Checks that a passed-in fontconfig default symlink (e.g. "10-autohint.conf")
+# is present and dies if it isn't.
+check_fontconfig_default() {
+	local path="${D}"/etc/fonts/conf.d/"$1"
+	if [[ ! -L ${path} ]]; then
+		die "Didn't find $1 among default fontconfig settings (at ${path})."
+	fi
+}
+
+MULTILIB_CHOST_TOOLS=("/usr/bin/fc-cache$(get_exeext)")
+
+pkg_setup() {
+	DOC_CONTENTS="Please make fontconfig configuration changes using
+	\`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be
+	overwritten. If you need to reset your configuration to upstream defaults,
+	delete the directory ${EROOT%/}/etc/fonts/conf.d/ and re-emerge fontconfig."
+}
+
+src_prepare() {
+	default
+	export GPERF=$(type -P true)  # avoid dependency on gperf, #631980
+	sed -i -e 's/FC_GPERF_SIZE_T="unsigned int"/FC_GPERF_SIZE_T=size_t/' \
+		configure.ac || die # rest of gperf dependency fix, #631920
+	eautoreconf
+	rm test/out.expected || die #662048
+}
+
+multilib_src_configure() {
+	cros_optimize_package_for_speed
+
+	local addfonts
+	# harvest some font locations, such that users can benefit from the
+	# host OS's installed fonts
+	case ${CHOST} in
+		*-darwin*)
+			addfonts=",/Library/Fonts,/System/Library/Fonts"
+		;;
+		*-solaris*)
+			[[ -d /usr/X/lib/X11/fonts/TrueType ]] && \
+				addfonts=",/usr/X/lib/X11/fonts/TrueType"
+			[[ -d /usr/X/lib/X11/fonts/Type1 ]] && \
+				addfonts="${addfonts},/usr/X/lib/X11/fonts/Type1"
+		;;
+		*-linux-gnu)
+			use prefix && [[ -d /usr/share/fonts ]] && \
+				addfonts=",/usr/share/fonts"
+		;;
+	esac
+
+	local myeconfargs=(
+		$(use_enable doc docbook)
+		$(use_enable static-libs static)
+		--enable-docs
+		# Font cache should be in /usr/share/cache instead of /var/cache
+		# because the latter is not in the read-only partition.
+		--localstatedir="${EPREFIX}"/usr/share
+		--with-default-fonts="${EPREFIX}"/usr/share/fonts
+		--with-add-fonts="${EPREFIX}/usr/local/share/fonts${addfonts}"
+		--with-templatedir="${EPREFIX}"/etc/fonts/conf.avail
+	)
+
+	ECONF_SOURCE="${S}" \
+	econf "${myeconfargs[@]}"
+}
+
+multilib_src_install() {
+	default
+
+	# avoid calling this multiple times, bug #459210
+	if multilib_is_native_abi; then
+		# stuff installed from build-dir
+		emake -C doc DESTDIR="${D}" install-man
+
+		insinto /etc/fonts
+		doins fonts.conf
+	fi
+}
+
+multilib_src_install_all() {
+	einstalldocs
+	find "${ED}" -name "*.la" -delete || die
+
+	insinto /etc/fonts
+	doins "${FILESDIR}"/local.conf
+	# Enable autohint by default
+	# match what we want to use.
+	dosym ../conf.avail/10-autohint.conf /etc/fonts/conf.d/10-autohint.conf
+	check_fontconfig_default 10-autohint.conf
+
+	# Make sure that hinting-slight is on.
+	check_fontconfig_default 10-hinting-slight.conf
+
+	# Set sub-pixel mode to RGB
+	dosym ../conf.avail/10-sub-pixel-rgb.conf \
+		/etc/fonts/conf.d/10-sub-pixel-rgb.conf
+	check_fontconfig_default 10-sub-pixel-rgb.conf
+
+	# Use the default LCD filter
+	dosym ../conf.avail/11-lcdfilter-default.conf \
+		/etc/fonts/conf.d/11-lcdfilter-default.conf
+	check_fontconfig_default 11-lcdfilter-default.conf
+
+	# CrOS: Delete unnecessary configurtaion files
+	local confs_to_delete=(
+		"20-unhint-small-vera"
+		"40-nonlatin"
+		"45-latin"
+		"50-user"
+		"60-latin"
+		"65-fonts-persian"
+		"65-nonlatin"
+		"69-unifont"
+		"80-delicious"
+	)
+
+	local conf
+	for conf in "${confs_to_delete[@]}"; do
+		rm -f "${D}"/etc/fonts/conf.d/"${conf}".conf
+	done
+
+	# There's a lot of variability across different displays with subpixel
+	# rendering. Until we have a better solution, turn it off and use grayscale
+	# instead on boards that don't have internal displays.
+	#
+	# Additionally, disable it for convertible devices with rotatable displays
+	# (http://crbug.com/222208) and when installing to the host sysroot so the
+	# images in the initramfs package won't use subpixel rendering
+	# (http://crosbug.com/27872).
+	if ! use subpixel_rendering || use touchview || use cros_host; then
+		rm "${D}"/etc/fonts/conf.d/10-sub-pixel-rgb.conf
+		rm "${D}"/etc/fonts/conf.d/11-lcdfilter-default.conf
+		dosym ../conf.avail/10-no-sub-pixel.conf \
+			/etc/fonts/conf.d/10-no-sub-pixel.conf
+		check_fontconfig_default 10-no-sub-pixel.conf
+	fi
+
+	dodoc doc/fontconfig-user.{txt,pdf}
+
+	if [[ -e ${ED}usr/share/doc/fontconfig/ ]];  then
+		mv "${ED}"usr/share/doc/fontconfig/* "${ED}"/usr/share/doc/${P} || die
+		rm -rf "${ED}"usr/share/doc/fontconfig
+	fi
+
+	# Changes should be made to /etc/fonts/local.conf, and as we had
+	# too much problems with broken fonts.conf we force update it ...
+	echo 'CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf"' > "${T}"/37fontconfig
+	doenvd "${T}"/37fontconfig
+
+	# As of fontconfig 2.7, everything sticks their noses in here.
+	# Replace /var/cache with /usr/share/cache for CrOS.
+	dodir /etc/sandbox.d
+	echo 'SANDBOX_PREDICT="/usr/share/cache/fontconfig"' > "${ED}"/etc/sandbox.d/37fontconfig
+
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	einfo "Cleaning broken symlinks in ${EROOT%/}/etc/fonts/conf.d/"
+	find -L "${EROOT}"etc/fonts/conf.d/ -type l -delete
+
+	readme.gentoo_print_elog
+
+	if [[ ${ROOT} = / ]]; then
+		multilib_pkg_postinst() {
+			ebegin "Creating global font cache for ${ABI}"
+			"${EPREFIX}/usr/bin/${CHOST}-fc-cache" -srf
+			eend $?
+		}
+
+		multilib_parallel_foreach_abi multilib_pkg_postinst
+	fi
+}
diff --git a/media-libs/gmmlib/Manifest b/media-libs/gmmlib/Manifest
index ea4ab3d..2b344ef 100644
--- a/media-libs/gmmlib/Manifest
+++ b/media-libs/gmmlib/Manifest
@@ -1 +1 @@
-DIST intel-gmmlib-21.3.1.tar.gz 746732 BLAKE2B 537d446839136d6d048d15eb79e18214d797c68dd4288670448e4104e8d6d0701cb93366f77093f264f5392c0c37470b4fbdd0b0da43c9e319c2b334c3315bdf SHA512 54ae92bedadfe8cf7e39786f96bd29b5ace8bbafe8f32620034de8775c5e31fbbd99dd61b10e5fdf12c9f967196c11840e6a202cfb549e5f950f1743cb9b098b
+DIST intel-gmmlib-22.1.3.tar.gz 813386 BLAKE2B 6946423e3a58bea36ac6ca7619f68a30997910e0041b60e3b6a34ad3d76308cf0af69c46abc4008d19a5cee88e8f423503560598d2006645771f2eb2b224201c SHA512 cbf0164e7604f6214f6e1d3d9a283d385fac0efbd83afad02a76e3090d680ec000b17a257d5e004c296764330888dbd0a3e5bd46a760ac5c5f3e67436a7c9437
diff --git a/media-libs/gmmlib/files/0001-BACKPORT-Add-RPL-P-DIDs-98.patch b/media-libs/gmmlib/files/0001-BACKPORT-Add-RPL-P-DIDs-98.patch
new file mode 100644
index 0000000..e0f3acc
--- /dev/null
+++ b/media-libs/gmmlib/files/0001-BACKPORT-Add-RPL-P-DIDs-98.patch
@@ -0,0 +1,31 @@
+From 6239adc00008edbb3b78bad419d2174f1be249ee Mon Sep 17 00:00:00 2001
+From: johnmach <john.machado@intel.com>
+Date: Tue, 19 Apr 2022 17:42:13 +0530
+Subject: [PATCH] BACKPORT: Add RPL-P DIDs (#98)
+
+---
+ Source/inc/common/igfxfmid.h | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/Source/inc/common/igfxfmid.h b/Source/inc/common/igfxfmid.h
+index 26cf7270ec3f..c7e300f1b467 100644
+--- a/Source/inc/common/igfxfmid.h
++++ b/Source/inc/common/igfxfmid.h
+@@ -1796,6 +1796,14 @@ typedef enum __NATIVEGTTYPE
+ #define DEV_ID_56B0                             0x56B0
+ #define DEV_ID_56B1                             0x56B1
+ 
++// RPL-P
++#define DEV_ID_A7A0                             0xA7A0
++#define DEV_ID_A7A1                             0xA7A1
++#define DEV_ID_A7A8                             0xA7A8
++#define DEV_ID_A7A9                             0xA7A9
++#define DEV_ID_A720                             0xA720
++#define DEV_ID_A721                             0xA721
++
+ // ADL-N
+ #define DEV_ID_46D0                            0x46D0
+ #define DEV_ID_46D1                            0x46D1
+-- 
+2.35.3
+
diff --git a/media-libs/gmmlib/files/0001-Fix-Overlapping-Comparision-66.patch b/media-libs/gmmlib/files/0001-Fix-Overlapping-Comparision-66.patch
deleted file mode 100644
index fb95c77..0000000
--- a/media-libs/gmmlib/files/0001-Fix-Overlapping-Comparision-66.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From d84606bd4bb603119c15e01e24af9920e27ef704 Mon Sep 17 00:00:00 2001
-From: johnmach <john.machado@intel.com>
-Date: Wed, 6 Oct 2021 12:24:09 +0530
-Subject: [PATCH] Fix Overlapping Comparision (#66)
-
----
- Source/GmmLib/Texture/GmmGen9Texture.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Source/GmmLib/Texture/GmmGen9Texture.cpp b/Source/GmmLib/Texture/GmmGen9Texture.cpp
-index 10a2890..0267895 100644
---- a/Source/GmmLib/Texture/GmmGen9Texture.cpp
-+++ b/Source/GmmLib/Texture/GmmGen9Texture.cpp
-@@ -592,7 +592,7 @@ void GmmLib::GmmGen9TextureCalc::Fill2DTexOffsetAddress(GMM_TEXTURE_INFO *pTexIn
- 	    
- 	// Color Surf with MSAA Enabled Mutiply 4
-         if(GMM_IS_64KB_TILE(pTexInfo->Flags) && (!pGmmGlobalContext->GetSkuTable().FtrTileY) &&
--           ((pTexInfo->MSAA.NumSamples == 8) && (pTexInfo->MSAA.NumSamples == 16)) &&
-+           ((pTexInfo->MSAA.NumSamples == 8) || (pTexInfo->MSAA.NumSamples == 16)) &&
-            ((pTexInfo->Flags.Gpu.Depth == 0) && (pTexInfo->Flags.Gpu.SeparateStencil == 0)))
-         {
-             ArrayQPitch *= 4; /* Aligned height of 4 samples */
--- 
-2.25.1
-
diff --git a/media-libs/gmmlib/files/gmmlib-20.3.2_cmake_project.patch b/media-libs/gmmlib/files/gmmlib-20.3.2_cmake_project.patch
new file mode 100644
index 0000000..628e9f0
--- /dev/null
+++ b/media-libs/gmmlib/files/gmmlib-20.3.2_cmake_project.patch
@@ -0,0 +1,8 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,4 +1,5 @@
+ cmake_minimum_required (VERSION 3.1 FATAL_ERROR)
++project(gmmlib)
+ 
+ include(CTest)
+ 
diff --git a/media-libs/gmmlib/files/gmmlib-20.4.1_custom_cflags.patch b/media-libs/gmmlib/files/gmmlib-20.4.1_custom_cflags.patch
deleted file mode 100644
index befd33f..0000000
--- a/media-libs/gmmlib/files/gmmlib-20.4.1_custom_cflags.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-Prevent overriding of user-define CFLAGS, including -march flag.
-The flag -msse4.1 is required otherwise compile will not be able to inline sse4.1 code.
-Note: code should detect CPU features at runtime and use sse4.1 paths only if supported by CPU.
-
---- a/Source/GmmLib/CMakeLists.txt
-+++ b/Source/GmmLib/CMakeLists.txt
-@@ -54,6 +54,10 @@ if(NOT DEFINED BS_USE_OSDM_BUILD_SYSTEM)
-     endif()
- endif()
- 
-+if(NOT DEFINED OVERRIDE_COMPILER_FLAGS)
-+    option(OVERRIDE_COMPILER_FLAGS "Override user compiler FLAGS and use lib defaults" ON)
-+endif()
-+
- # begin -- label bldsys file prologue
- # WARNING: The "project" statement triggers reading of CMAKE_TOOLCHAIN_FILE
- #   and so must precede the inclusion below of bs_init.cmake .
---- a/Source/GmmLib/Linux.cmake
-+++ b/Source/GmmLib/Linux.cmake
-@@ -38,7 +38,10 @@ SET (GMMLIB_COMPILER_FLAGS_COMMON
-     -Werror=format-security
-     -Werror=non-virtual-dtor
-     -Werror=return-type
-+    )
- 
-+if (OVERRIDE_COMPILER_FLAGS)
-+    list (APPEND GMMLIB_COMPILER_FLAGS_COMMON
-     # General optimization options
-     -march=${GMMLIB_MARCH}
-     -mpopcnt
-@@ -47,19 +50,31 @@ SET (GMMLIB_COMPILER_FLAGS_COMMON
-     -msse3
-     -mssse3
-     -msse4
--    -msse4.1
-     -msse4.2
-+    )
-+endif()
-+
-+list (APPEND GMMLIB_COMPILER_FLAGS_COMMON
-+    -msse4.1 # SSE4.1 compiler support is required to build
-     -mfpmath=sse
-     -finline-functions
-     -fno-short-enums
-     -Wa,--noexecstack
-     -fno-strict-aliasing
-+    )
-+
-+if (OVERRIDE_COMPILER_FLAGS)
-+    list (APPEND GMMLIB_COMPILER_FLAGS_COMMON
-     # Common defines
-     -DUSE_MMX
-     -DUSE_SSE
-     -DUSE_SSE2
-     -DUSE_SSE3
-     -DUSE_SSSE3
-+    )
-+endif()
-+
-+list (APPEND GMMLIB_COMPILER_FLAGS_COMMON
-     # Other common flags
-     -fstack-protector
-     -fdata-sections
-@@ -67,10 +82,15 @@ SET (GMMLIB_COMPILER_FLAGS_COMMON
-     -fmessage-length=0
-     -fvisibility=hidden
-     -fPIC
-+    )
-+
-+if (OVERRIDE_COMPILER_FLAGS)
-+    list (APPEND GMMLIB_COMPILER_FLAGS_COMMON
-     -g
-     # -m32 or -m64
-     -m${GMMLIB_ARCH}
-     )
-+endif()
- 
- if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
- #Gcc only flags
-@@ -128,13 +148,17 @@ SET( GMMLIB_COMPILER_FLAGS_RELEASEINTERNAL  ${GMMLIB_COMPILER_FLAGS_RELEASE})
- 
- #set predefined compiler flags set
- add_compile_options("${GMMLIB_COMPILER_FLAGS_COMMON}")
-+if (OVERRIDE_COMPILER_FLAGS)
- add_compile_options("$<$<CONFIG:Debug>:${GMMLIB_COMPILER_FLAGS_DEBUG}>")
- add_compile_options("$<$<CONFIG:Release>:${GMMLIB_COMPILER_FLAGS_RELEASE}>")
- add_compile_options("$<$<CONFIG:ReleaseInternal>:${GMMLIB_COMPILER_FLAGS_RELEASEINTERNAL}>")
- #cmake 3.3+, add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:${GMMLIB_COMPILER_CXX_FLAGS_COMMON}>")
-+endif()
- foreach (flag ${GMMLIB_COMPILER_CXX_FLAGS_COMMON})
-     SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
- endforeach()
- 
-+if (OVERRIDE_COMPILER_FLAGS)
- SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -m${GMMLIB_ARCH}")
- SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -m${GMMLIB_ARCH}")
-+endif()
-
diff --git a/media-libs/gmmlib/files/gmmlib-22.1.1_custom_cflags.patch b/media-libs/gmmlib/files/gmmlib-22.1.1_custom_cflags.patch
new file mode 100644
index 0000000..d4acb51
--- /dev/null
+++ b/media-libs/gmmlib/files/gmmlib-22.1.1_custom_cflags.patch
@@ -0,0 +1,102 @@
+Prevent overriding of user-define CFLAGS, including -march flag.
+The flag -msse4.1 is required otherwise compile will not be able to inline sse4.1 code.
+Note: code should detect CPU features at runtime and use sse4.1 paths only if supported by CPU.
+
+--- a/Source/GmmLib/CMakeLists.txt
++++ b/Source/GmmLib/CMakeLists.txt
+@@ -74,6 +74,10 @@
+     endif()
+ endif()
+ 
++if(NOT DEFINED OVERRIDE_COMPILER_FLAGS)
++    option(OVERRIDE_COMPILER_FLAGS "Override user compiler FLAGS and use lib defaults" ON)
++endif()
++
+ # begin -- label bldsys file prologue
+ # WARNING: The "project" statement triggers reading of CMAKE_TOOLCHAIN_FILE
+ #   and so must precede the inclusion below of bs_init.cmake .
+--- a/Source/GmmLib/Linux.cmake
++++ b/Source/GmmLib/Linux.cmake
+@@ -76,7 +76,10 @@
+     -Werror=format-security
+     -Werror=non-virtual-dtor
+     -Werror=return-type
++    )
+ 
++if (OVERRIDE_COMPILER_FLAGS)
++    list (APPEND GMMLIB_COMPILER_FLAGS_COMMON
+     # General optimization options
+     -march=${GMMLIB_MARCH}
+     -mpopcnt
+@@ -85,19 +88,31 @@
+     -msse3
+     -mssse3
+     -msse4
+-    -msse4.1
+     -msse4.2
++    )
++endif()
++
++list (APPEND GMMLIB_COMPILER_FLAGS_COMMON
++    -msse4.1 # SSE4.1 compiler support is required to build
+     -mfpmath=sse
+     -finline-functions
+     -fno-short-enums
+     -Wa,--noexecstack
+     -fno-strict-aliasing
++    )
++
++if (OVERRIDE_COMPILER_FLAGS)
++    list (APPEND GMMLIB_COMPILER_FLAGS_COMMON
+     # Common defines
+     -DUSE_MMX
+     -DUSE_SSE
+     -DUSE_SSE2
+     -DUSE_SSE3
+     -DUSE_SSSE3
++    )
++endif()
++
++list (APPEND GMMLIB_COMPILER_FLAGS_COMMON
+     # Other common flags
+     -fstack-protector
+     -fdata-sections
+@@ -105,11 +120,16 @@
+     -fmessage-length=0
+     -fvisibility=hidden
+     -fPIC
++    )
++
++if (OVERRIDE_COMPILER_FLAGS)
++    list (APPEND GMMLIB_COMPILER_FLAGS_COMMON
+     -g
+     # -m32 or -m64
+     -m${GMMLIB_ARCH}
+     )
+ endif()
++endif()
+ 
+ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+ #Gcc only flags
+@@ -167,10 +187,12 @@
+ 
+ #set predefined compiler flags set
+ add_compile_options("${GMMLIB_COMPILER_FLAGS_COMMON}")
++if (OVERRIDE_COMPILER_FLAGS)
+ add_compile_options("$<$<CONFIG:Debug>:${GMMLIB_COMPILER_FLAGS_DEBUG}>")
+ add_compile_options("$<$<CONFIG:Release>:${GMMLIB_COMPILER_FLAGS_RELEASE}>")
+ add_compile_options("$<$<CONFIG:ReleaseInternal>:${GMMLIB_COMPILER_FLAGS_RELEASEINTERNAL}>")
+ #cmake 3.3+, add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:${GMMLIB_COMPILER_CXX_FLAGS_COMMON}>")
++endif()
+ foreach (flag ${GMMLIB_COMPILER_CXX_FLAGS_COMMON})
+     SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
+ endforeach()
+@@ -179,6 +201,8 @@
+     SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
+     SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
+ else()
++    if (OVERRIDE_COMPILER_FLAGS)
+     SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -m${GMMLIB_ARCH}")
+     SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -m${GMMLIB_ARCH}")
++    endif()
+ endif()
diff --git a/media-libs/gmmlib/gmmlib-21.3.1-r1.ebuild b/media-libs/gmmlib/gmmlib-21.3.1-r1.ebuild
deleted file mode 120000
index 75e3a63..0000000
--- a/media-libs/gmmlib/gmmlib-21.3.1-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-gmmlib-21.3.1.ebuild
\ No newline at end of file
diff --git a/media-libs/gmmlib/gmmlib-21.3.1.ebuild b/media-libs/gmmlib/gmmlib-21.3.1.ebuild
deleted file mode 100644
index 9bd5e2c..0000000
--- a/media-libs/gmmlib/gmmlib-21.3.1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_ECLASS=cmake
-
-inherit cmake-multilib
-
-DESCRIPTION="Intel Graphics Memory Management Library"
-HOMEPAGE="https://github.com/intel/gmmlib"
-SRC_URI="https://github.com/intel/gmmlib/archive/refs/tags/intel-${P}.tar.gz"
-S="${WORKDIR}/${PN}-intel-${P}"
-KEYWORDS="*"
-LICENSE="MIT"
-SLOT="0"
-IUSE="test +custom-cflags"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="${DEPEND}"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-20.2.2_conditional_testing.patch
-	"${FILESDIR}"/${PN}-20.4.1_custom_cflags.patch
-	"${FILESDIR}"/0001-Fix-Overlapping-Comparision-66.patch
-)
-
-multilib_src_configure() {
-	local mycmakeargs=(
-		-DBUILD_TYPE=Release
-		-DBUILD_TESTING=$(usex test)
-		-DOVERRIDE_COMPILER_FLAGS=$(usex !custom-cflags)
-	)
-	cmake_src_configure
-}
diff --git a/media-libs/gmmlib/gmmlib-22.1.3.ebuild b/media-libs/gmmlib/gmmlib-22.1.3.ebuild
new file mode 100644
index 0000000..1498e86
--- /dev/null
+++ b/media-libs/gmmlib/gmmlib-22.1.3.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Intel Graphics Memory Management Library"
+HOMEPAGE="https://github.com/intel/gmmlib"
+SRC_URI="https://github.com/intel/gmmlib/archive/intel-${P}.tar.gz"
+S="${WORKDIR}/${PN}-intel-${P}"
+
+KEYWORDS="*"
+LICENSE="MIT"
+SLOT="0/12.1"
+IUSE="+custom-cflags test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-20.2.2_conditional_testing.patch
+	"${FILESDIR}"/${PN}-20.3.2_cmake_project.patch
+	"${FILESDIR}"/${PN}-22.1.1_custom_cflags.patch
+	"${FILESDIR}"/0001-BACKPORT-Add-RPL-P-DIDs-98.patch
+)
+
+src_configure() {
+	local mycmakeargs=(
+		-DBUILD_TESTING="$(usex test)"
+		-DBUILD_TYPE="Release"
+		-DOVERRIDE_COMPILER_FLAGS="$(usex !custom-cflags)"
+	)
+
+	cmake_src_configure
+}
diff --git a/media-libs/libcamera/libcamera-0.0.1-r745.ebuild b/media-libs/libcamera/libcamera-0.0.1-r745.ebuild
deleted file mode 100644
index 4c165033..0000000
--- a/media-libs/libcamera/libcamera-0.0.1-r745.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="a7ab5ef1d2f9b05056db450e631a99a73382d589"
-CROS_WORKON_TREE="b6e4603484b957f878045b198a536a1d71c419f2"
-CROS_WORKON_PROJECT="chromiumos/third_party/libcamera"
-CROS_WORKON_INCREMENTAL_BUILD="1"
-
-inherit cros-camera cros-workon meson
-
-DESCRIPTION="Camera support library for Linux"
-HOMEPAGE="https://www.libcamera.org"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="*"
-IUSE="debug dev doc ipu3 rkisp1 test udev"
-
-RDEPEND="
-	chromeos-base/cros-camera-libs
-	dev? ( dev-libs/libevent[threads] )
-	dev-libs/libyaml
-	media-libs/libcamera-configs
-	media-libs/libjpeg-turbo
-	media-libs/libexif
-	>=net-libs/gnutls-3.3:=
-	media-libs/libyuv
-	udev? ( virtual/libudev )
-"
-
-DEPEND="
-	${RDEPEND}
-	dev-libs/openssl
-	>=dev-python/pyyaml-3:=
-"
-
-src_configure() {
-	# By default Chrome OS build system adds the CFLAGS/CXXFLAGS
-	# -fno-unwind-tables and -fno-asynchronous-unwind-table as part of
-	# disabling exception support. This prevents unwinding of stack frames to
-	# show backtrace. Calling 'cros_enable_cxx_exceptions' to remove those
-	# flags when debugging is enabled.
-	use debug && cros_enable_cxx_exceptions
-
-	local pipelines=(
-		"uvcvideo"
-		$(usev ipu3)
-		$(usev rkisp1)
-	)
-
-	pipeline_list() {
-		printf '%s,' "$@" | sed 's:,$::'
-	}
-
-	BUILD_DIR="$(cros-workon_get_build_dir)"
-
-	local emesonargs=(
-		$(meson_use test)
-		$(meson_feature dev cam)
-		$(meson_feature doc documentation)
-		-Dandroid="enabled"
-		-Dandroid_platform="cros"
-		-Dpipelines="$(pipeline_list "${pipelines[@]}")"
-		--buildtype "$(usex debug debug plain)"
-		--sysconfdir /etc/camera
-	)
-	meson_src_configure
-}
-
-src_compile() {
-	meson_src_compile
-}
-
-src_install() {
-	meson_src_install
-
-	cros-camera_dohal "${D}/usr/$(get_libdir)/libcamera-hal.so" libcamera-hal.so
-
-	dostrip -x "/usr/$(get_libdir)/libcamera/"
-}
diff --git a/media-libs/libcamera/libcamera-0.0.1-r751.ebuild b/media-libs/libcamera/libcamera-0.0.1-r751.ebuild
new file mode 100644
index 0000000..abc5d16
--- /dev/null
+++ b/media-libs/libcamera/libcamera-0.0.1-r751.ebuild
@@ -0,0 +1,82 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="72b6c710d448d5a1ff9407f9f7c7780660ee556a"
+CROS_WORKON_TREE="4662bf133b2155e155c25375baefc17f970be9e1"
+CROS_WORKON_PROJECT="chromiumos/third_party/libcamera"
+CROS_WORKON_INCREMENTAL_BUILD="1"
+
+inherit cros-camera cros-workon meson
+
+DESCRIPTION="Camera support library for Linux"
+HOMEPAGE="https://www.libcamera.org"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="*"
+IUSE="debug dev doc ipu3 rkisp1 test udev"
+
+RDEPEND="
+	chromeos-base/cros-camera-libs
+	dev? ( dev-libs/libevent[threads] )
+	dev-libs/libyaml
+	media-libs/libcamera-configs
+	media-libs/libjpeg-turbo
+	media-libs/libexif
+	>=net-libs/gnutls-3.3:=
+	media-libs/libyuv
+	udev? ( virtual/libudev )
+"
+
+DEPEND="
+	${RDEPEND}
+	dev-libs/openssl
+	>=dev-python/pyyaml-3:=
+"
+
+src_configure() {
+	# By default Chrome OS build system adds the CFLAGS/CXXFLAGS
+	# -fno-unwind-tables and -fno-asynchronous-unwind-table as part of
+	# disabling exception support. This prevents unwinding of stack frames to
+	# show backtrace. Calling 'cros_enable_cxx_exceptions' to remove those
+	# flags when debugging is enabled.
+	use debug && cros_enable_cxx_exceptions
+
+	local pipelines=(
+		"uvcvideo"
+		$(usev ipu3)
+		$(usev rkisp1)
+	)
+
+	pipeline_list() {
+		printf '%s,' "$@" | sed 's:,$::'
+	}
+
+	BUILD_DIR="$(cros-workon_get_build_dir)"
+
+	local emesonargs=(
+		$(meson_use test)
+		$(meson_feature dev cam)
+		$(meson_feature doc documentation)
+		-Dandroid="enabled"
+		-Dandroid_platform="cros"
+		-Dpipelines="$(pipeline_list "${pipelines[@]}")"
+		--buildtype "$(usex debug debug plain)"
+		--sysconfdir /etc/camera
+	)
+	meson_src_configure
+}
+
+src_compile() {
+	meson_src_compile
+}
+
+src_install() {
+	meson_src_install
+
+	cros-camera_dohal "${D}/usr/$(get_libdir)/libcamera-hal.so" libcamera-hal.so
+
+	dostrip -x "/usr/$(get_libdir)/libcamera/"
+}
diff --git a/media-libs/libglvnd/OWNERS b/media-libs/libglvnd/OWNERS
index 3021e6b..f3c3348 100644
--- a/media-libs/libglvnd/OWNERS
+++ b/media-libs/libglvnd/OWNERS
@@ -1,2 +1,3 @@
 set noparent
 include chromiumos/platform/graphics:/OWNERS.libglvnd
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/media-libs/libglvnd/libglvnd-1.3.3-r3.ebuild b/media-libs/libglvnd/libglvnd-1.3.3-r4.ebuild
similarity index 100%
rename from media-libs/libglvnd/libglvnd-1.3.3-r3.ebuild
rename to media-libs/libglvnd/libglvnd-1.3.3-r4.ebuild
diff --git a/media-libs/libglvnd/libglvnd-1.3.3.ebuild b/media-libs/libglvnd/libglvnd-1.3.3.ebuild
index 651e11c..e4deee4 100644
--- a/media-libs/libglvnd/libglvnd-1.3.3.ebuild
+++ b/media-libs/libglvnd/libglvnd-1.3.3.ebuild
@@ -39,6 +39,7 @@
 	!media-libs/mesa-iris[-libglvnd(-)]
 	!media-libs/mesa-llvmpipe[-libglvnd(-)]
 	!media-libs/mesa-panfrost[-libglvnd(-)]
+	!media-libs/mesa-reven[-libglvnd(-)]
 	X? (
 		x11-libs/libX11[${MULTILIB_USEDEP}]
 		x11-libs/libXext[${MULTILIB_USEDEP}]
diff --git a/media-libs/libmtp/metadata.xml b/media-libs/libmtp/metadata.xml
new file mode 100644
index 0000000..7b5c367
--- /dev/null
+++ b/media-libs/libmtp/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sound</herd>
+<upstream>
+<remote-id type="cpe">cpe:/a:libmtp_project:libmtp</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/media-libs/libv4l/Manifest b/media-libs/libv4l/Manifest
index a88e902..894bb29 100644
--- a/media-libs/libv4l/Manifest
+++ b/media-libs/libv4l/Manifest
@@ -1 +1 @@
-DIST v4l-utils-1.20.0.tar.bz2 2030419 SHA256 956118713f7ccb405c55c7088a6a2490c32d54300dd9a30d8d5008c28d3726f7 SHA512 179ca8dbbf7af5fa4870b70f17645d7834fe6ba52670ae6b58473efa257db0cd812ce14f16574cc4491c0bcb218835e4c29f1354882a151687eecec97852fc63 WHIRLPOOL 2e359d6bc9c604af58bcaad95e9224aa250eaa606f6e35846ea7d76124a35d77f6d454216899f6fa75b966567dc8c68757e11d3f8912a1a70707ebe83209f435
+DIST v4l-utils-1.22.1.tar.bz2 2086238 SHA256 65c6fbe830a44ca105c443b027182c1b2c9053a91d1e72ad849dfab388b94e31 SHA512 8a634d8995d13f453dfaf90ca5d0dfb26f2f4b10a0d200d76a949c46f77040d12fc0a5b35e05d7b1ba68bcfc85a445be5a5ab1d4a7d4eabfe3a254038ccc6170 WHIRLPOOL 9a162bc030f246cc5bab42272e22bf51adba3de2dafcb5321e9e8dcf79dd7a28c81445388eb2e621bb124d9a274eb36da4c99327704ed4bf9325d4ca04d018f9
diff --git a/media-libs/libv4l/files/libv4l-1.22.1-clang-fixes.patch b/media-libs/libv4l/files/libv4l-1.22.1-clang-fixes.patch
new file mode 100644
index 0000000..11c7d25
--- /dev/null
+++ b/media-libs/libv4l/files/libv4l-1.22.1-clang-fixes.patch
@@ -0,0 +1,62 @@
+v4l-utils: fix clang compilation error
+
+remove unused include.
+
+In file included from v4l2-test-time32-64.cpp:20:
+In file included from ./v4l2-compliance.h:24:
+In file included from /usr/bin/../include/c++/v1/map:531:
+/usr/bin/../include/c++/v1/__config:1292:50: error: builtin feature check macro requires a parenthesized identifier
+\#if __cplusplus > 201402L && __has_cpp_attribute(fallthrough)
+                                                 ^
+../../include/compiler.h:8:21: note: expanded from macro 'fallthrough'
+\#define fallthrough [[clang::fallthrough]]
+                    ^
+In file included from v4l2-test-time32-64.cpp:20:
+In file included from ./v4l2-compliance.h:24:
+In file included from /usr/bin/../include/c++/v1/map:531:
+/usr/bin/../include/c++/v1/__config:1292:50: error: missing ')' after '['
+\#if __cplusplus > 201402L && __has_cpp_attribute(fallthrough)
+                                                 ^~~~~~~~~~~
+../../include/compiler.h:8:22: note: expanded from macro 'fallthrough'
+\#define fallthrough [[clang::fallthrough]]
+                    ~^
+/usr/bin/../include/c++/v1/__config:1292:49: note: to match this '('
+\#if __cplusplus > 201402L && __has_cpp_attribute(fallthrough)
+                                                ^
+/usr/bin/../include/c++/v1/__config:1294:34: error: builtin feature check macro requires a parenthesized identifier
+\#elif __has_cpp_attribute(clang::fallthrough)
+                                 ^
+../../include/compiler.h:8:21: note: expanded from macro 'fallthrough'
+\#define fallthrough [[clang::fallthrough]]
+                    ^
+In file included from v4l2-test-time32-64.cpp:20:
+In file included from ./v4l2-compliance.h:24:
+In file included from /usr/bin/../include/c++/v1/map:531:
+/usr/bin/../include/c++/v1/__config:1294:34: error: missing ')' after '['
+\#elif __has_cpp_attribute(clang::fallthrough)
+                                 ^~~~~~~~~~~
+../../include/compiler.h:8:22: note: expanded from macro 'fallthrough'
+\#define fallthrough [[clang::fallthrough]]
+                    ~^
+/usr/bin/../include/c++/v1/__config:1294:26: note: to match this '('
+\#elif __has_cpp_attribute(clang::fallthrough)
+                         ^
+4 errors generated.
+---
+ utils/v4l2-compliance/v4l2-test-time32-64.cpp | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/utils/v4l2-compliance/v4l2-test-time32-64.cpp b/utils/v4l2-compliance/v4l2-test-time32-64.cpp
+index 1c515ca..7b66693 100644
+--- a/utils/v4l2-compliance/v4l2-test-time32-64.cpp
++++ b/utils/v4l2-compliance/v4l2-test-time32-64.cpp
+@@ -16,7 +16,6 @@
+ 
+ #include <sys/types.h>
+ 
+-#include "compiler.h"
+ #include "v4l2-compliance.h"
+ 
+ typedef __s32		old_time32_t;
+-- 
+2.36.0.rc0.470.gd361397f0d-goog
diff --git a/media-libs/libv4l/files/libv4l-1.20.0-increase-v4l2-max-devices.patch b/media-libs/libv4l/files/libv4l-1.22.1-increase-v4l2-max-devices.patch
similarity index 100%
rename from media-libs/libv4l/files/libv4l-1.20.0-increase-v4l2-max-devices.patch
rename to media-libs/libv4l/files/libv4l-1.22.1-increase-v4l2-max-devices.patch
diff --git a/media-libs/libv4l/files/libv4l-1.20.0-remove-glob.patch b/media-libs/libv4l/files/libv4l-1.22.1-remove-glob.patch
similarity index 100%
rename from media-libs/libv4l/files/libv4l-1.20.0-remove-glob.patch
rename to media-libs/libv4l/files/libv4l-1.22.1-remove-glob.patch
diff --git a/media-libs/libv4l/libv4l-1.20.0-r1.ebuild b/media-libs/libv4l/libv4l-1.20.0-r1.ebuild
deleted file mode 120000
index fa19e8d..0000000
--- a/media-libs/libv4l/libv4l-1.20.0-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-libv4l-1.20.0.ebuild
\ No newline at end of file
diff --git a/media-libs/libv4l/libv4l-1.20.0.ebuild b/media-libs/libv4l/libv4l-1.20.0.ebuild
deleted file mode 100644
index 7ee5832..0000000
--- a/media-libs/libv4l/libv4l-1.20.0.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/libv4l/libv4l-1.6.0-r1.ebuild,v 1.1 2014/11/14 03:25:09 vapier Exp $
-
-EAPI=5
-inherit autotools eutils linux-info multilib-minimal
-
-MY_P=v4l-utils-${PV}
-
-DESCRIPTION="Separate libraries ebuild from upstream v4l-utils package"
-HOMEPAGE="http://git.linuxtv.org/v4l-utils.git"
-SRC_URI="http://linuxtv.org/downloads/v4l-utils/${MY_P}.tar.bz2"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="*"
-IUSE="jpeg"
-
-# The libraries only link to -ljpeg, therefore multilib depend only for virtual/jpeg.
-RDEPEND="jpeg? ( >=virtual/jpeg-0-r2:0=[${MULTILIB_USEDEP}] )
-	!media-tv/v4l2-ctl
-	!<media-tv/ivtv-utils-1.4.0-r2
-	abi_x86_32? (
-		!<=app-emulation/emul-linux-x86-medialibs-20130224-r5
-		!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
-	)"
-DEPEND="${RDEPEND}
-	sys-devel/gettext
-	virtual/os-headers
-	virtual/pkgconfig"
-
-S=${WORKDIR}/${MY_P}
-
-pkg_setup() {
-	CONFIG_CHECK="~SHMEM"
-	linux-info_pkg_setup
-}
-
-src_prepare() {
-	epatch "${FILESDIR}"/${P}-increase-v4l2-max-devices.patch
-	epatch "${FILESDIR}"/${P}-remove-glob.patch
-	eautoreconf
-}
-
-multilib_src_configure() {
-	# Hard disable the flags that apply only to the utils.
-	ECONF_SOURCE=${S} \
-	econf \
-		--disable-static \
-		--disable-qv4l2 \
-		--disable-v4l-utils \
-		--without-libudev \
-		$(use_with jpeg) \
-		--disable-bpf
-}
-
-multilib_src_compile() {
-	emake -C lib
-}
-
-multilib_src_install() {
-	emake -j1 -C lib DESTDIR="${D}" install
-	emake -j1 -C lib/libv4l-mplane DESTDIR="${D}" uninstall
-}
-
-multilib_src_install_all() {
-	dodoc ChangeLog README.lib* TODO
-	prune_libtool_files --all
-}
diff --git a/media-libs/libv4l/libv4l-1.22.1-r1.ebuild b/media-libs/libv4l/libv4l-1.22.1-r1.ebuild
new file mode 120000
index 0000000..662b9c9
--- /dev/null
+++ b/media-libs/libv4l/libv4l-1.22.1-r1.ebuild
@@ -0,0 +1 @@
+libv4l-1.22.1.ebuild
\ No newline at end of file
diff --git a/media-libs/libv4l/libv4l-1.22.1.ebuild b/media-libs/libv4l/libv4l-1.22.1.ebuild
new file mode 100644
index 0000000..c0ee5f4
--- /dev/null
+++ b/media-libs/libv4l/libv4l-1.22.1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/libv4l/libv4l-1.6.0-r1.ebuild,v 1.1 2014/11/14 03:25:09 vapier Exp $
+
+EAPI=5
+inherit autotools eutils linux-info multilib-minimal
+
+MY_P=v4l-utils-${PV}
+
+DESCRIPTION="Separate libraries ebuild from upstream v4l-utils package"
+HOMEPAGE="http://git.linuxtv.org/v4l-utils.git"
+SRC_URI="http://linuxtv.org/downloads/v4l-utils/${MY_P}.tar.bz2"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="*"
+IUSE="jpeg"
+
+# The libraries only link to -ljpeg, therefore multilib depend only for virtual/jpeg.
+RDEPEND="jpeg? ( >=virtual/jpeg-0-r2:0=[${MULTILIB_USEDEP}] )
+	!media-tv/v4l2-ctl
+	!<media-tv/ivtv-utils-1.4.0-r2
+	abi_x86_32? (
+		!<=app-emulation/emul-linux-x86-medialibs-20130224-r5
+		!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
+	)"
+DEPEND="${RDEPEND}
+	sys-devel/gettext
+	virtual/os-headers
+	virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+	CONFIG_CHECK="~SHMEM"
+	linux-info_pkg_setup
+}
+
+src_prepare() {
+	epatch "${FILESDIR}"/${P}-clang-fixes.patch
+	epatch "${FILESDIR}"/${P}-increase-v4l2-max-devices.patch
+	epatch "${FILESDIR}"/${P}-remove-glob.patch
+	eautoreconf
+}
+
+multilib_src_configure() {
+	# Hard disable the flags that apply only to the utils.
+	ECONF_SOURCE=${S} \
+	econf \
+		--disable-static \
+		--disable-qv4l2 \
+		--disable-v4l-utils \
+		--without-libudev \
+		$(use_with jpeg) \
+		--disable-bpf
+}
+
+multilib_src_compile() {
+	emake -C lib
+}
+
+multilib_src_install() {
+	emake -j1 -C lib DESTDIR="${D}" install
+	emake -j1 -C lib/libv4l-mplane DESTDIR="${D}" uninstall
+}
+
+multilib_src_install_all() {
+	dodoc ChangeLog README.lib* TODO
+	prune_libtool_files --all
+}
diff --git a/media-libs/libv4lplugins/libv4lplugins-0.0.1-r45.ebuild b/media-libs/libv4lplugins/libv4lplugins-0.0.1-r45.ebuild
deleted file mode 100644
index b91c3eb..0000000
--- a/media-libs/libv4lplugins/libv4lplugins-0.0.1-r45.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-CROS_WORKON_COMMIT="e88945fc2b6b02f37cc1dfc77cde2312787cb0fb"
-CROS_WORKON_TREE="d7b697b5c05fed216dfad2efd014aa5eae13aff2"
-CROS_WORKON_PROJECT="chromiumos/third_party/libv4lplugins"
-inherit autotools cros-workon eutils
-
-MY_P=v4l-utils-1.18.1
-
-DESCRIPTION="Separate plugin library from upstream v4l-utils package"
-HOMEPAGE="http://git.linuxtv.org/v4l-utils.git"
-SRC_URI="http://linuxtv.org/downloads/v4l-utils/${MY_P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="*"
-PLUGIN_IUSE="rockchip rockchip_v2"
-IUSE="${PLUGIN_IUSE}"
-REQUIRED_USE="^^ ( ${PLUGIN_IUSE} )"
-
-RDEPEND="media-libs/libv4l"
-DEPEND="${RDEPEND}"
-
-S=${WORKDIR}/${MY_P}
-
-src_unpack() {
-	cros-workon_src_unpack
-	default
-}
-
-src_prepare() {
-	if use rockchip; then
-		PLUGIN_DIR="libv4l-rockchip"
-	elif use rockchip_v2; then
-		PLUGIN_DIR="libv4l-rockchip_v2"
-	fi
-	mv ${PLUGIN_DIR} lib || die
-	# Append "SUBDIRS += ${PLUGIN_DIR}" at the end of lib/Makefile.am
-	sed -i -e "\$aSUBDIRS += ${PLUGIN_DIR}" lib/Makefile.am || die
-	# Add "lib/${PLUGIN_DIR}/Makefile" after lib/libv4l2rds/Makefile
-	sed -i -e "s:libv4l2rds/Makefile:&\n\tlib/${PLUGIN_DIR}/Makefile:" \
-		configure.ac || die
-	rm -rf include
-	eautoreconf
-}
-
-src_configure() {
-	econf \
-		--disable-static \
-		--disable-qv4l2 \
-		--disable-v4l-utils \
-		--without-jpeg
-}
-
-src_compile() {
-	emake -C lib/${PLUGIN_DIR}
-}
-
-src_install() {
-	emake -C lib/${PLUGIN_DIR} DESTDIR="${D}" install
-}
diff --git a/media-libs/libv4lplugins/libv4lplugins-0.0.1-r50.ebuild b/media-libs/libv4lplugins/libv4lplugins-0.0.1-r50.ebuild
new file mode 100644
index 0000000..a32dc29
--- /dev/null
+++ b/media-libs/libv4lplugins/libv4lplugins-0.0.1-r50.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+CROS_WORKON_COMMIT="6446d6609a6f5004fac8e2a174e0c177a0906f81"
+CROS_WORKON_TREE="393eca86a321923b7830c8481656957db5a778fc"
+CROS_WORKON_PROJECT="chromiumos/third_party/libv4lplugins"
+inherit autotools cros-workon eutils
+
+MY_P=v4l-utils-1.18.1
+
+DESCRIPTION="Separate plugin library from upstream v4l-utils package"
+HOMEPAGE="http://git.linuxtv.org/v4l-utils.git"
+SRC_URI="http://linuxtv.org/downloads/v4l-utils/${MY_P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="*"
+PLUGIN_IUSE="rockchip rockchip_v2"
+IUSE="${PLUGIN_IUSE}"
+REQUIRED_USE="^^ ( ${PLUGIN_IUSE} )"
+
+RDEPEND="media-libs/libv4l"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+	cros-workon_src_unpack
+	default
+}
+
+src_prepare() {
+	if use rockchip; then
+		PLUGIN_DIR="libv4l-rockchip"
+	elif use rockchip_v2; then
+		PLUGIN_DIR="libv4l-rockchip_v2"
+	fi
+	mv ${PLUGIN_DIR} lib || die
+	# Append "SUBDIRS += ${PLUGIN_DIR}" at the end of lib/Makefile.am
+	sed -i -e "\$aSUBDIRS += ${PLUGIN_DIR}" lib/Makefile.am || die
+	# Add "lib/${PLUGIN_DIR}/Makefile" after lib/libv4l2rds/Makefile
+	sed -i -e "s:libv4l2rds/Makefile:&\n\tlib/${PLUGIN_DIR}/Makefile:" \
+		configure.ac || die
+	rm -rf include
+	eautoreconf
+}
+
+src_configure() {
+	econf \
+		--disable-static \
+		--disable-qv4l2 \
+		--disable-v4l-utils \
+		--without-jpeg
+}
+
+src_compile() {
+	emake -C lib/${PLUGIN_DIR}
+}
+
+src_install() {
+	emake -C lib/${PLUGIN_DIR} DESTDIR="${D}" install
+}
diff --git a/media-libs/libyuv-test/OWNERS b/media-libs/libyuv-test/OWNERS
index f80e782..7a87289 100644
--- a/media-libs/libyuv-test/OWNERS
+++ b/media-libs/libyuv-test/OWNERS
@@ -1,2 +1,3 @@
 set noparent
 include chromiumos/platform/graphics:/OWNERS.libyuv_test
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/media-libs/libyuv/files/common.mk b/media-libs/libyuv/files/common.mk
index aed7d3e..02757ae 100644
--- a/media-libs/libyuv/files/common.mk
+++ b/media-libs/libyuv/files/common.mk
@@ -7,7 +7,7 @@
 #
 # NOTE NOTE NOTE
 #  The authoritative common.mk is located in:
-#    https://chromium.googlesource.com/chromiumos/platform2/+/master/common-mk
+#    https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/common-mk
 #  Please make all changes there, then copy into place in other repos.
 # NOTE NOTE NOTE
 #
diff --git a/media-libs/mesa-amd/OWNERS b/media-libs/mesa-amd/OWNERS
index 77bcdd0..cc23ca6 100644
--- a/media-libs/mesa-amd/OWNERS
+++ b/media-libs/mesa-amd/OWNERS
@@ -1,2 +1,3 @@
 set noparent
 include chromiumos/platform/graphics:/OWNERS.mesa_amd
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/media-libs/mesa-amd/README.md b/media-libs/mesa-amd/README.md
index 204f899..ad89c3e 100644
--- a/media-libs/mesa-amd/README.md
+++ b/media-libs/mesa-amd/README.md
@@ -1,6 +1,6 @@
 ### mesa-amd dev and uprev process
 
-mesa-amd follows a traditional [cros_workon](https://chromium.googlesource.com/chromiumos/docs/+/master/developer_guide.md#making-changes-to-packages-whose-source-code-is-checked-into-chromium-os-git-repositories) workflow where changes are made directly to src/third_party/mesa-amd. This is different from the [mesa](https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/media-libs/mesa/mesa-9999.ebuild) project, which follows the CROS_WORKON_MANUAL_UPREV workflow.
+mesa-amd follows a traditional [cros_workon](https://chromium.googlesource.com/chromiumos/docs/+/HEAD/developer_guide.md#making-changes-to-packages-whose-source-code-is-checked-into-chromium-os-git-repositories) workflow where changes are made directly to src/third_party/mesa-amd. This is different from the [mesa](https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/HEAD/media-libs/mesa/mesa-9999.ebuild) project, which follows the CROS_WORKON_MANUAL_UPREV workflow.
 
 Working in mesa-amd takes an "upstream first" philosophy, and downstream changes represent technical debt and should be avoided. Commit messages for downstream changes in mesa-amd are [prefixed in a similar fashion](https://chromium.googlesource.com/chromiumos/docs/+/HEAD/kernel_development.md#commit-messages-summary-lines-chromium_upstream_fromlist_backport) as changes in the kernel and elsewhere in Chrome OS.
 
diff --git a/media-libs/mesa-amd/mesa-amd-21.2.1-r78.ebuild b/media-libs/mesa-amd/mesa-amd-21.2.1-r78.ebuild
deleted file mode 100644
index f4786a6..0000000
--- a/media-libs/mesa-amd/mesa-amd-21.2.1-r78.ebuild
+++ /dev/null
@@ -1,137 +0,0 @@
-# Copyright 1999-2019 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-7.9.ebuild,v 1.3 2010/12/05 17:19:14 arfrever Exp $
-
-EAPI=6
-
-CROS_WORKON_COMMIT="c12e1cb2a45ae586f4db37ba5963163b6ae48e48"
-CROS_WORKON_TREE="df54eccb038d4e32af6d83cf3f40637298234c10"
-CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
-CROS_WORKON_LOCALNAME="mesa-amd"
-CROS_WORKON_EGIT_BRANCH="chromeos-amd"
-
-inherit base flag-o-matic meson toolchain-funcs cros-workon
-
-DESCRIPTION="The Mesa 3D Graphics Library"
-HOMEPAGE="http://mesa3d.org/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="*"
-
-VIDEO_CARDS="intel amdgpu radeon freedreno llvmpipe"
-for card in ${VIDEO_CARDS}; do
-	IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS} debug libglvnd vulkan zstd"
-
-# keep correct libdrm and dri2proto dep
-# keep blocks in rdepend for binpkg
-RDEPEND="
-	libglvnd? ( media-libs/libglvnd )
-	!libglvnd? ( !media-libs/libglvnd )
-	virtual/libelf
-	dev-libs/expat
-	x11-libs/libdrm
-	zstd? ( app-arch/zstd )
-	!media-libs/mesa
-"
-
-DEPEND="${RDEPEND}
-	sys-devel/bison
-	sys-devel/flex
-	virtual/pkgconfig
-	x11-base/xorg-proto
-	x11-libs/libva
-	sys-devel/llvm
-"
-
-driver_list() {
-	local drivers="$(sort -u <<< "${1// /$'\n'}")"
-	echo "${drivers//$'\n'/,}"
-}
-
-src_configure() {
-	tc-getPROG PKG_CONFIG pkg-config
-
-	cros_optimize_package_for_speed
-
-	# Intel code
-	dri_driver_enable video_cards_intel i965
-
-	gallium_enable video_cards_llvmpipe swrast
-
-	# ATI code
-	gallium_enable video_cards_radeon r300 r600
-	gallium_enable video_cards_amdgpu radeonsi
-
-	# Freedreno code
-	gallium_enable video_cards_freedreno freedreno
-
-	if use vulkan; then
-		vulkan_enable video_cards_intel intel
-		vulkan_enable video_cards_amdgpu amd
-	fi
-
-	export LLVM_CONFIG=${SYSROOT}/usr/lib/llvm/bin/llvm-config-host
-
-	append-flags "-UENABLE_SHADER_CACHE"
-
-	emesonargs+=(
-		-Dexecmem=false
-		-Dglvnd=$(usex libglvnd true false)
-		-Dglx=disabled
-		-Dllvm=true
-		-Dshared-llvm=false
-		-Dplatforms=
-		-Degl=true
-		-Dgbm=false
-		-Dgl=false
-		-Dgles1=false
-		-Dgles2=true
-		$(meson_feature zstd)
-		-Ddri-drivers=$(driver_list "${DRI_DRIVERS[*]}")
-		-Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
-		-Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
-		--buildtype $(usex debug debug release)
-		-Dgallium-va=true
-		-Dva-libs-path="/usr/$(get_libdir)/va/drivers"
-	)
-
-	meson_src_configure
-}
-
-src_install() {
-	meson_src_install
-
-	# Remove redundant GLES headers
-	rm -f "${D}"/usr/include/{EGL,GLES2,GLES3,KHR}/*.h || die "Removing GLES headers failed."
-
-	# Set driconf option to enable S3TC hardware decompression
-	insinto "/etc/"
-	doins "${FILESDIR}"/drirc
-}
-
-# $1 - VIDEO_CARDS flag (check skipped for "--")
-# other args - names of DRI drivers to enable
-dri_driver_enable() {
-	if [[ $1 == -- ]] || use $1; then
-		shift
-		DRI_DRIVERS+=("$@")
-	fi
-}
-
-gallium_enable() {
-	if [[ $1 == -- ]] || use $1; then
-		shift
-		GALLIUM_DRIVERS+=("$@")
-	fi
-}
-
-vulkan_enable() {
-	if [[ $1 == -- ]] || use $1; then
-		shift
-		VULKAN_DRIVERS+=("$@")
-	fi
-}
diff --git a/media-libs/mesa-amd/mesa-amd-22.1.4-r90.ebuild b/media-libs/mesa-amd/mesa-amd-22.1.4-r90.ebuild
new file mode 100644
index 0000000..502fde8
--- /dev/null
+++ b/media-libs/mesa-amd/mesa-amd-22.1.4-r90.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2019 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-7.9.ebuild,v 1.3 2010/12/05 17:19:14 arfrever Exp $
+
+EAPI=6
+
+CROS_WORKON_COMMIT="c5f790199cc0030923547321ec575dc47661a941"
+CROS_WORKON_TREE="a4eb80a9659d7bd3744f9efb755c019f90da23ea"
+CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
+CROS_WORKON_LOCALNAME="mesa-amd"
+CROS_WORKON_EGIT_BRANCH="chromeos-amd"
+
+inherit base flag-o-matic meson toolchain-funcs cros-workon
+
+DESCRIPTION="The Mesa 3D Graphics Library"
+HOMEPAGE="http://mesa3d.org/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+
+VIDEO_CARDS="intel amdgpu radeon freedreno llvmpipe"
+for card in ${VIDEO_CARDS}; do
+	IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS} debug libglvnd vulkan zstd"
+
+# keep correct libdrm and dri2proto dep
+# keep blocks in rdepend for binpkg
+RDEPEND="
+	libglvnd? ( media-libs/libglvnd )
+	!libglvnd? ( !media-libs/libglvnd )
+	virtual/libelf
+	dev-libs/expat
+	x11-libs/libdrm
+	zstd? ( app-arch/zstd )
+	!media-libs/mesa
+"
+
+DEPEND="${RDEPEND}
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+	x11-base/xorg-proto
+	x11-libs/libva
+	sys-devel/llvm
+"
+
+driver_list() {
+	local drivers="$(sort -u <<< "${1// /$'\n'}")"
+	echo "${drivers//$'\n'/,}"
+}
+
+src_configure() {
+	tc-getPROG PKG_CONFIG pkg-config
+
+	cros_optimize_package_for_speed
+
+	# Intel code
+	dri_driver_enable video_cards_intel i965
+
+	gallium_enable video_cards_llvmpipe swrast
+
+	# ATI code
+	gallium_enable video_cards_radeon r300 r600
+	gallium_enable video_cards_amdgpu radeonsi
+
+	# Freedreno code
+	gallium_enable video_cards_freedreno freedreno
+
+	if use vulkan; then
+		vulkan_enable video_cards_intel intel
+		vulkan_enable video_cards_amdgpu amd
+	fi
+
+	export LLVM_CONFIG=${SYSROOT}/usr/lib/llvm/bin/llvm-config-host
+
+	emesonargs+=(
+		-Dexecmem=false
+		-Dglvnd=$(usex libglvnd true false)
+		-Dshader-cache-default=false
+		-Dglx=disabled
+		-Dllvm=true
+		-Dshared-llvm=false
+		-Dplatforms=
+		-Degl=true
+		-Dgbm=false
+		-Dgles1=false
+		-Dgles2=true
+		$(meson_feature zstd)
+		-Ddri-drivers=$(driver_list "${DRI_DRIVERS[*]}")
+		-Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
+		-Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
+		--buildtype $(usex debug debug release)
+		-Dgallium-va=true
+		-Dva-libs-path="/usr/$(get_libdir)/va/drivers"
+	)
+
+	meson_src_configure
+}
+
+src_install() {
+	meson_src_install
+
+	# Remove redundant GLES headers
+	rm -f "${D}"/usr/include/{EGL,GLES2,GLES3,KHR}/*.h || die "Removing GLES headers failed."
+
+	# Set driconf option to enable S3TC hardware decompression
+	insinto "/etc/"
+	doins "${FILESDIR}"/drirc
+}
+
+# $1 - VIDEO_CARDS flag (check skipped for "--")
+# other args - names of DRI drivers to enable
+dri_driver_enable() {
+	if [[ $1 == -- ]] || use $1; then
+		shift
+		DRI_DRIVERS+=("$@")
+	fi
+}
+
+gallium_enable() {
+	if [[ $1 == -- ]] || use $1; then
+		shift
+		GALLIUM_DRIVERS+=("$@")
+	fi
+}
+
+vulkan_enable() {
+	if [[ $1 == -- ]] || use $1; then
+		shift
+		VULKAN_DRIVERS+=("$@")
+	fi
+}
diff --git a/media-libs/mesa-amd/mesa-amd-9999.ebuild b/media-libs/mesa-amd/mesa-amd-9999.ebuild
index 2776224..c52e710 100644
--- a/media-libs/mesa-amd/mesa-amd-9999.ebuild
+++ b/media-libs/mesa-amd/mesa-amd-9999.ebuild
@@ -74,18 +74,16 @@
 
 	export LLVM_CONFIG=${SYSROOT}/usr/lib/llvm/bin/llvm-config-host
 
-	append-flags "-UENABLE_SHADER_CACHE"
-
 	emesonargs+=(
 		-Dexecmem=false
 		-Dglvnd=$(usex libglvnd true false)
+		-Dshader-cache-default=false
 		-Dglx=disabled
 		-Dllvm=true
 		-Dshared-llvm=false
 		-Dplatforms=
 		-Degl=true
 		-Dgbm=false
-		-Dgl=false
 		-Dgles1=false
 		-Dgles2=true
 		$(meson_feature zstd)
diff --git a/media-libs/mesa-freedreno/OWNERS b/media-libs/mesa-freedreno/OWNERS
index 9349d08..2f4fdae 100644
--- a/media-libs/mesa-freedreno/OWNERS
+++ b/media-libs/mesa-freedreno/OWNERS
@@ -1,2 +1,3 @@
 set noparent
 include chromiumos/platform/graphics:/OWNERS.mesa_freedreno
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/media-libs/mesa-freedreno/README.md b/media-libs/mesa-freedreno/README.md
index 92c8ae2..cce4fca1 100644
--- a/media-libs/mesa-freedreno/README.md
+++ b/media-libs/mesa-freedreno/README.md
@@ -47,7 +47,7 @@
 `release-R76-12239.B-chromeos-freedreno`).
 
 Downstream commits follow the convention of
-https://chromium.googlesource.com/chromiumos/docs/+/master/kernel_faq.md,
+https://chromium.googlesource.com/chromiumos/docs/+/HEAD/kernel_development.md,
 in particular, using the `CHROMIUM:`, `FROMLIST:` etc commit message
 prefixes to highlight that a commit is downstream and identify the
 type of downstream commit.
@@ -109,7 +109,7 @@
 +++ b/src/compiler/nir/nir_lower_io_to_temporaries.c
 @@ -364,4 +364,6 @@ nir_lower_io_to_temporaries(nir_shader *shader, nir_function_impl *entrypoint,
     exec_list_append(&shader->globals, &state.old_outputs);
- 
+
     nir_fixup_deref_modes(shader);
 +
 +   _mesa_hash_table_destroy(state.input_map, NULL);
diff --git a/media-libs/mesa-freedreno/mesa-freedreno-22.0.0_pre-r68.ebuild b/media-libs/mesa-freedreno/mesa-freedreno-22.0.0_pre-r68.ebuild
deleted file mode 100644
index 11ebc58..0000000
--- a/media-libs/mesa-freedreno/mesa-freedreno-22.0.0_pre-r68.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="23ea7fdb767626397486b342994c65325418b47b"
-CROS_WORKON_TREE="26c1ee090572c537752937a509a6ba387bd58d62"
-CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
-CROS_WORKON_LOCALNAME="mesa-freedreno"
-CROS_WORKON_EGIT_BRANCH="chromeos-freedreno"
-
-KEYWORDS="*"
-
-inherit base meson flag-o-matic cros-workon
-
-DESCRIPTION="The Mesa 3D Graphics Library"
-HOMEPAGE="http://mesa3d.org/"
-
-# Most of the code is MIT/X11.
-# GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0
-LICENSE="MIT SGI-B-2.0"
-
-IUSE="debug vulkan libglvnd zstd"
-
-COMMON_DEPEND="
-	dev-libs/expat:=
-	>=x11-libs/libdrm-2.4.94:=
-"
-
-RDEPEND="${COMMON_DEPEND}
-	libglvnd? ( media-libs/libglvnd )
-	!libglvnd? ( !media-libs/libglvnd )
-	zstd? ( app-arch/zstd )
-"
-
-DEPEND="${COMMON_DEPEND}
-"
-
-BDEPEND="
-	sys-devel/bison
-	sys-devel/flex
-	virtual/pkgconfig
-"
-
-src_configure() {
-	emesonargs+=(
-		-Dexecmem=false
-		-Dglvnd=$(usex libglvnd true false)
-		-Dllvm=disabled
-		-Ddri3=disabled
-		-Dshader-cache=disabled
-		-Dglx=disabled
-		-Degl=enabled
-		-Dgbm=disabled
-		-Dgles1=disabled
-		-Dgles2=enabled
-		-Dshared-glapi=enabled
-		-Ddri-drivers=
-		-Dgallium-drivers=freedreno
-		-Dgallium-vdpau=disabled
-		-Dgallium-xa=disabled
-		$(meson_feature zstd)
-		-Dplatforms=
-		-Dtools=freedreno
-		--buildtype $(usex debug debug release)
-		-Dvulkan-drivers=$(usex vulkan freedreno '')
-	)
-
-	meson_src_configure
-}
-
-src_install() {
-	meson_src_install
-
-	find "${ED}" -name '*kgsl*' -exec rm -f {} +
-	rm -v -rf "${ED}/usr/include"
-}
diff --git a/media-libs/mesa-freedreno/mesa-freedreno-22.3.0_pre-r74.ebuild b/media-libs/mesa-freedreno/mesa-freedreno-22.3.0_pre-r74.ebuild
new file mode 100644
index 0000000..b9d14b66
--- /dev/null
+++ b/media-libs/mesa-freedreno/mesa-freedreno-22.3.0_pre-r74.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="d6e328d118f95829e569b07692e727f82e34f030"
+CROS_WORKON_TREE="a3e5ce4259de770713970232d0b5a43edc478a83"
+CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
+CROS_WORKON_LOCALNAME="mesa-freedreno"
+CROS_WORKON_EGIT_BRANCH="chromeos-freedreno"
+
+KEYWORDS="*"
+
+inherit base meson flag-o-matic cros-workon
+
+DESCRIPTION="The Mesa 3D Graphics Library"
+HOMEPAGE="http://mesa3d.org/"
+
+# Most of the code is MIT/X11.
+# GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0
+LICENSE="MIT SGI-B-2.0"
+
+IUSE="debug vulkan libglvnd zstd"
+
+COMMON_DEPEND="
+	dev-libs/expat:=
+	>=x11-libs/libdrm-2.4.94:=
+"
+
+RDEPEND="${COMMON_DEPEND}
+	libglvnd? ( media-libs/libglvnd )
+	!libglvnd? ( !media-libs/libglvnd )
+	zstd? ( app-arch/zstd )
+"
+
+DEPEND="${COMMON_DEPEND}
+"
+
+BDEPEND="
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+"
+
+src_configure() {
+	emesonargs+=(
+		-Dexecmem=false
+		-Dglvnd=$(usex libglvnd true false)
+		-Dllvm=disabled
+		-Ddri3=disabled
+		-Dshader-cache=disabled
+		-Dglx=disabled
+		-Degl=enabled
+		-Dgbm=disabled
+		-Dgles1=disabled
+		-Dgles2=enabled
+		-Dshared-glapi=enabled
+		-Ddri-drivers=
+		-Dgallium-drivers=freedreno
+		-Dgallium-vdpau=disabled
+		-Dgallium-xa=disabled
+		$(meson_feature zstd)
+		-Dplatforms=
+		-Dtools=freedreno
+		--buildtype $(usex debug debug release)
+		-Dvulkan-drivers=$(usex vulkan freedreno '')
+	)
+
+	meson_src_configure
+}
+
+src_install() {
+	meson_src_install
+
+	find "${ED}" -name '*kgsl*' -exec rm -f {} +
+	rm -v -rf "${ED}/usr/include"
+}
diff --git a/media-libs/mesa-img/mesa-img-19.0_pre1-r7.ebuild b/media-libs/mesa-img/mesa-img-19.0_pre1-r9.ebuild
similarity index 100%
rename from media-libs/mesa-img/mesa-img-19.0_pre1-r7.ebuild
rename to media-libs/mesa-img/mesa-img-19.0_pre1-r9.ebuild
diff --git a/media-libs/mesa-img/mesa-img-19.0_pre1.ebuild b/media-libs/mesa-img/mesa-img-19.0_pre1.ebuild
index 2000007..365c7e3 100644
--- a/media-libs/mesa-img/mesa-img-19.0_pre1.ebuild
+++ b/media-libs/mesa-img/mesa-img-19.0_pre1.ebuild
@@ -4,8 +4,6 @@
 
 EAPI=6
 
-MESON_AUTO_DEPEND=no
-
 CROS_WORKON_COMMIT="b43b55d4619489e603780adf3c92a36dadcc362b"
 CROS_WORKON_TREE="b09304eab38348e2a157c4adc75542a460746ce9"
 
@@ -189,14 +187,12 @@
 	append-flags "-UENABLE_SHADER_CACHE"
 
 	emesonargs+=(
-		-Dexecmem=false
 		-Dglvnd=$(usex libglvnd true false)
 		-Dglx="${glx}"
 		-Dllvm="${LLVM_ENABLE}"
 		-Dplatforms="${egl_platforms}"
 		$(meson_use egl)
 		$(meson_use gbm)
-		$(meson_use X gl)
 		$(meson_use gles1)
 		$(meson_use gles2)
 		$(meson_use selinux)
diff --git a/media-libs/mesa-img/mesa-img-9999.ebuild b/media-libs/mesa-img/mesa-img-9999.ebuild
index 0652d4b..19abc61 100644
--- a/media-libs/mesa-img/mesa-img-9999.ebuild
+++ b/media-libs/mesa-img/mesa-img-9999.ebuild
@@ -4,8 +4,6 @@
 
 EAPI=6
 
-MESON_AUTO_DEPEND=no
-
 EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa"
 CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
 CROS_WORKON_EGIT_BRANCH="mesa-img"
@@ -168,14 +166,12 @@
 	append-flags "-UENABLE_SHADER_CACHE"
 
 	emesonargs+=(
-		-Dexecmem=false
 		-Dglvnd=$(usex libglvnd true false)
 		-Dglx="${glx}"
 		-Dllvm="${LLVM_ENABLE}"
 		-Dplatforms="${egl_platforms}"
 		$(meson_use egl)
 		$(meson_use gbm)
-		$(meson_use X gl)
 		$(meson_use gles1)
 		$(meson_use gles2)
 		$(meson_use selinux)
diff --git a/media-libs/mesa-iris/OWNERS b/media-libs/mesa-iris/OWNERS
index aebe327..7aca9a4 100644
--- a/media-libs/mesa-iris/OWNERS
+++ b/media-libs/mesa-iris/OWNERS
@@ -1,2 +1,3 @@
 set noparent
 include chromiumos/platform/graphics:/OWNERS.mesa_iris
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/media-libs/mesa-iris/mesa-iris-21.2.5-r41.ebuild b/media-libs/mesa-iris/mesa-iris-21.2.5-r41.ebuild
deleted file mode 100644
index 08d99be..0000000
--- a/media-libs/mesa-iris/mesa-iris-21.2.5-r41.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="0a012f29841f4340d99fc4213ba2f360e5a4bb74"
-CROS_WORKON_TREE="4049f13733d26cfc9a9360f0868039fba31959db"
-CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
-CROS_WORKON_LOCALNAME="mesa-iris"
-CROS_WORKON_EGIT_BRANCH="chromeos-iris"
-
-KEYWORDS="*"
-
-inherit base meson flag-o-matic cros-workon
-
-DESCRIPTION="The Mesa 3D Graphics Library"
-HOMEPAGE="http://mesa3d.org/"
-
-# Most of the code is MIT/X11.
-# GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0
-LICENSE="MIT SGI-B-2.0"
-
-IUSE="debug libglvnd tools vulkan zstd"
-
-COMMON_DEPEND="
-	dev-libs/expat:=
-	>=x11-libs/libdrm-2.4.94:=
-"
-
-RDEPEND="${COMMON_DEPEND}
-	libglvnd? ( media-libs/libglvnd )
-	!libglvnd? ( !media-libs/libglvnd )
-	zstd? ( app-arch/zstd )
-"
-
-DEPEND="${COMMON_DEPEND}
-"
-
-BDEPEND="
-	sys-devel/bison
-	sys-devel/flex
-	virtual/pkgconfig
-"
-
-src_configure() {
-	emesonargs+=(
-		-Dexecmem=false
-		-Dglvnd=$(usex libglvnd true false)
-		-Dllvm=disabled
-		-Ddri3=disabled
-		-Dshader-cache-default=false
-		-Dglx=disabled
-		-Degl=enabled
-		-Dgbm=disabled
-		-Dgles1=disabled
-		-Dgles2=enabled
-		-Dshared-glapi=enabled
-		-Ddri-drivers=
-		-Dgallium-drivers=iris
-		-Dgallium-vdpau=disabled
-		-Dgallium-xa=disabled
-		-Dglvnd=$(usex libglvnd true false)
-		$(meson_feature zstd)
-		# Set platforms empty to avoid the default "auto" setting. If
-		# platforms is empty meson.build will add surfaceless.
-		-Dplatforms=''
-		-Dtools=$(usex tools intel '')
-		--buildtype $(usex debug debug release)
- 		-Dvulkan-drivers=$(usex vulkan intel '')
-	)
-
-	meson_src_configure
-}
-
-src_install() {
-	meson_src_install
-
-	rm -v -rf "${ED}/usr/include"
-}
diff --git a/media-libs/mesa-iris/mesa-iris-22.1.4-r58.ebuild b/media-libs/mesa-iris/mesa-iris-22.1.4-r58.ebuild
new file mode 100644
index 0000000..1fd79ae
--- /dev/null
+++ b/media-libs/mesa-iris/mesa-iris-22.1.4-r58.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="df45e163805577a03ad3b701edb1974498a3c522"
+CROS_WORKON_TREE="6f7e0fcf8fa0ac39af0cb8bd0ae435c46fd501a5"
+CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
+CROS_WORKON_LOCALNAME="mesa-iris"
+CROS_WORKON_EGIT_BRANCH="chromeos-iris"
+
+KEYWORDS="*"
+
+inherit base meson flag-o-matic cros-workon cros-sanitizers
+
+DESCRIPTION="The Mesa 3D Graphics Library"
+HOMEPAGE="http://mesa3d.org/"
+
+# Most of the code is MIT/X11.
+# GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0
+LICENSE="MIT SGI-B-2.0"
+
+IUSE="debug libglvnd tools vulkan zstd"
+
+COMMON_DEPEND="
+	dev-libs/expat:=
+	>=x11-libs/libdrm-2.4.94:=
+"
+
+RDEPEND="${COMMON_DEPEND}
+	libglvnd? ( media-libs/libglvnd )
+	!libglvnd? ( !media-libs/libglvnd )
+	zstd? ( app-arch/zstd )
+"
+
+DEPEND="${COMMON_DEPEND}
+"
+
+BDEPEND="
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+"
+
+src_configure() {
+	sanitizers-setup-env
+
+	emesonargs+=(
+		-Dexecmem=false
+		-Dglvnd=$(usex libglvnd true false)
+		-Dllvm=disabled
+		-Ddri3=disabled
+		-Dshader-cache-default=false
+		-Dglx=disabled
+		-Degl=enabled
+		-Dgbm=disabled
+		-Dgles1=disabled
+		-Dgles2=enabled
+		-Dshared-glapi=enabled
+		-Ddri-drivers=
+		-Dgallium-drivers=iris
+		-Dgallium-vdpau=disabled
+		-Dgallium-xa=disabled
+		-Dglvnd=$(usex libglvnd true false)
+		$(meson_feature zstd)
+		# Set platforms empty to avoid the default "auto" setting. If
+		# platforms is empty meson.build will add surfaceless.
+		-Dplatforms=''
+		-Dtools=$(usex tools intel '')
+		--buildtype $(usex debug debug release)
+ 		-Dvulkan-drivers=$(usex vulkan intel '')
+	)
+
+	meson_src_configure
+}
+
+src_install() {
+	meson_src_install
+
+	rm -v -rf "${ED}/usr/include"
+}
diff --git a/media-libs/mesa-iris/mesa-iris-9999.ebuild b/media-libs/mesa-iris/mesa-iris-9999.ebuild
index 0916eee..8475c19 100644
--- a/media-libs/mesa-iris/mesa-iris-9999.ebuild
+++ b/media-libs/mesa-iris/mesa-iris-9999.ebuild
@@ -9,7 +9,7 @@
 
 KEYWORDS="~*"
 
-inherit base meson flag-o-matic cros-workon
+inherit base meson flag-o-matic cros-workon cros-sanitizers
 
 DESCRIPTION="The Mesa 3D Graphics Library"
 HOMEPAGE="http://mesa3d.org/"
@@ -41,6 +41,8 @@
 "
 
 src_configure() {
+	sanitizers-setup-env
+
 	emesonargs+=(
 		-Dexecmem=false
 		-Dglvnd=$(usex libglvnd true false)
diff --git a/media-libs/mesa-llvmpipe/mesa-llvmpipe-21.2.3-r1.ebuild b/media-libs/mesa-llvmpipe/mesa-llvmpipe-21.2.3-r1.ebuild
deleted file mode 120000
index 184dc0d..0000000
--- a/media-libs/mesa-llvmpipe/mesa-llvmpipe-21.2.3-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-mesa-llvmpipe-21.2.ebuild
\ No newline at end of file
diff --git a/media-libs/mesa-llvmpipe/mesa-llvmpipe-21.2.ebuild b/media-libs/mesa-llvmpipe/mesa-llvmpipe-21.2.ebuild
deleted file mode 100644
index bac4bbc..0000000
--- a/media-libs/mesa-llvmpipe/mesa-llvmpipe-21.2.ebuild
+++ /dev/null
@@ -1,266 +0,0 @@
-# Copyright 1999-2019 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-7.9.ebuild,v 1.3 2010/12/05 17:19:14 arfrever Exp $
-
-EAPI=7
-
-MESON_AUTO_DEPEND=no
-
-CROS_WORKON_COMMIT="5da276cf339c86a0bd62f45e4dc90682a6b19f25"
-CROS_WORKON_TREE="dc2e8513f627de823b24480670875277b9f478b2"
-
-EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa"
-CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
-CROS_WORKON_MANUAL_UPREV="1"
-CROS_WORKON_LOCALNAME="mesa"
-CROS_WORKON_EGIT_BRANCH="upstream/main"
-
-if [[ ${PV} = 9999* ]]; then
-	GIT_ECLASS="git-2"
-	EXPERIMENTAL="true"
-fi
-
-inherit base multilib flag-o-matic meson toolchain-funcs ${GIT_ECLASS} cros-workon
-
-FOLDER="${PV/_rc*/}"
-[[ ${PV/_rc*/} == ${PV} ]] || FOLDER+="/RC"
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="http://mesa3d.sourceforge.net/"
-
-#SRC_PATCHES="mirror://gentoo/${P}-gentoo-patches-01.tar.bz2"
-if [[ $PV = 9999* ]] || [[ -n ${CROS_WORKON_COMMIT} ]]; then
-	SRC_URI="${SRC_PATCHES}"
-else
-	SRC_URI="ftp://ftp.freedesktop.org/pub/mesa/${FOLDER}/${P}.tar.bz2
-		${SRC_PATCHES}"
-fi
-
-# Most of the code is MIT/X11.
-# ralloc is LGPL-3
-# GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0
-LICENSE="MIT LGPL-3 SGI-B-2.0"
-SLOT="0"
-KEYWORDS="*"
-
-INTEL_CARDS="intel"
-RADEON_CARDS="amdgpu radeon"
-VIDEO_CARDS="${INTEL_CARDS} ${RADEON_CARDS} freedreno llvmpipe mach64 mga nouveau r128 radeonsi savage sis softpipe tdfx via virgl vmware"
-for card in ${VIDEO_CARDS}; do
-	IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
-	+classic debug dri drm egl +gallium -gbm gles1 gles2 kernel_FreeBSD
-	kvm_guest llvm +nptl pic selinux shared-glapi vulkan wayland xlib-glx X
-	libglvnd zstd"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.60"
-
-REQUIRED_USE="video_cards_amdgpu? ( llvm )
-	video_cards_llvmpipe? ( llvm )"
-
-# keep correct libdrm and dri2proto dep
-# keep blocks in rdepend for binpkg
-RDEPEND="
-	libglvnd? ( media-libs/libglvnd )
-	!libglvnd? ( !media-libs/libglvnd )
-	X? (
-		!<x11-base/xorg-server-1.7
-		>=x11-libs/libX11-1.3.99.901
-		x11-libs/libXdamage
-		x11-libs/libXext
-		x11-libs/libXrandr
-		x11-libs/libXxf86vm
-	)
-	wayland? (
-		dev-libs/wayland
-		>=dev-libs/wayland-protocols-1.8
-	)
-	llvm? ( virtual/libelf )
-	!media-libs/mesa
-	dev-libs/expat
-	dev-libs/libgcrypt
-	virtual/udev
-	zstd? ( app-arch/zstd )
-	${LIBDRM_DEPSTRING}
-"
-
-DEPEND="${RDEPEND}
-	dev-libs/libxml2
-	sys-devel/bison
-	sys-devel/flex
-	virtual/pkgconfig
-	x11-base/xorg-proto
-	llvm? ( sys-devel/llvm )
-"
-
-driver_list() {
-	local drivers="$(sort -u <<< "${1// /$'\n'}")"
-	echo "${drivers//$'\n'/,}"
-}
-
-src_prepare() {
-	# apply patches
-	if [[ ${PV} != 9999* && -n ${SRC_PATCHES} ]]; then
-		EPATCH_FORCE="yes" \
-		EPATCH_SOURCE="${WORKDIR}/patches" \
-		EPATCH_SUFFIX="patch" \
-		epatch
-	fi
-	# FreeBSD 6.* doesn't have posix_memalign().
-	if [[ ${CHOST} == *-freebsd6.* ]]; then
-		sed -i \
-			-e "s/-DHAVE_POSIX_MEMALIGN//" \
-			configure.ac || die
-	fi
-
-	default
-}
-
-src_configure() {
-	tc-getPROG PKG_CONFIG pkg-config
-
-	cros_optimize_package_for_speed
-	# For llvmpipe on ARM we'll get errors about being unable to resolve
-	# "__aeabi_unwind_cpp_pr1" if we don't include this flag; seems wise
-	# to include it for all platforms though.
-	use video_cards_llvmpipe && append-flags "-rtlib=libgcc -shared-libgcc --unwindlib=libgcc"
-
-	if use !gallium && use !classic && use !vulkan; then
-		ewarn "You enabled neither classic, gallium, nor vulkan "
-		ewarn "USE flags. No hardware drivers will be built."
-	fi
-
-	if use classic; then
-	# Configurable DRI drivers
-		# Intel code
-		dri_driver_enable video_cards_intel i965
-	fi
-
-	if use gallium; then
-	# Configurable gallium drivers
-		gallium_enable video_cards_llvmpipe swrast
-		gallium_enable video_cards_softpipe swrast
-
-		# Nouveau code
-		gallium_enable video_cards_nouveau nouveau
-
-		# ATI code
-		gallium_enable video_cards_radeon r300 r600
-		gallium_enable video_cards_amdgpu radeonsi
-
-		# Freedreno code
-		gallium_enable video_cards_freedreno freedreno
-
-		gallium_enable video_cards_virgl virgl
-	fi
-
-	if use vulkan; then
-		vulkan_enable video_cards_llvmpipe swrast
-		vulkan_enable video_cards_intel intel
-		vulkan_enable video_cards_amdgpu amd
-	fi
-
-	LLVM_ENABLE=false
-	if use llvm && use !video_cards_softpipe; then
-		emesonargs+=( -Dshared-llvm=false )
-		export LLVM_CONFIG=${SYSROOT}/usr/lib/llvm/bin/llvm-config-host
-		LLVM_ENABLE=true
-	fi
-
-	local egl_platforms=""
-	if use egl; then
-		if use wayland; then
-			egl_platforms="${egl_platforms},wayland"
-		fi
-
-		if use X; then
-			egl_platforms="${egl_platforms},x11"
-		fi
-	fi
-	egl_platforms="${egl_platforms##,}"
-
-	if use X; then
-		glx="dri"
-	else
-		glx="disabled"
-	fi
-
-	append-flags "-UENABLE_SHADER_CACHE"
-
-	if use kvm_guest; then
-		emesonargs+=( -Ddri-search-path=/opt/google/cros-containers/lib )
-	fi
-
-	emesonargs+=(
-		-Dexecmem=false
-		-Dglvnd=$(usex libglvnd true false)
-		-Dglx="${glx}"
-		-Dllvm="${LLVM_ENABLE}"
-		-Dplatforms="${egl_platforms}"
-		-Degl-native-platform="surfaceless"
-		$(meson_feature egl)
-		$(meson_feature gbm)
-		$(meson_feature X gl)
-		$(meson_feature gles1)
-		$(meson_feature gles2)
-		$(meson_feature zstd)
-		$(meson_use selinux)
-		-Ddri-drivers=$(driver_list "${DRI_DRIVERS[*]}")
-		-Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
-		-Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
-		--buildtype $(usex debug debug release)
-	)
-
-	meson_src_configure
-}
-
-src_install() {
-	meson_src_install
-
-	# Remove redundant GLES headers
-	rm -f "${D}"/usr/include/{EGL,GLES2,GLES3,KHR}/*.h || die "Removing GLES headers failed."
-
-	dodir /usr/$(get_libdir)/dri
-	insinto "/usr/$(get_libdir)/dri/"
-	insopts -m0755
-	# install the gallium drivers we use
-	local gallium_drivers_files=( nouveau_dri.so r300_dri.so r600_dri.so msm_dri.so swrast_dri.so )
-	for x in ${gallium_drivers_files[@]}; do
-		if [ -f "${S}/$(get_libdir)/gallium/${x}" ]; then
-			doins "${S}/$(get_libdir)/gallium/${x}"
-		fi
-	done
-
-	# install classic drivers we use
-	local classic_drivers_files=( i810_dri.so i965_dri.so nouveau_vieux_dri.so radeon_dri.so r200_dri.so )
-	for x in ${classic_drivers_files[@]}; do
-		if [ -f "${S}/$(get_libdir)/${x}" ]; then
-			doins "${S}/$(get_libdir)/${x}"
-		fi
-	done
-}
-
-# $1 - VIDEO_CARDS flag (check skipped for "--")
-# other args - names of DRI drivers to enable
-dri_driver_enable() {
-	if [[ $1 == -- ]] || use $1; then
-		shift
-		DRI_DRIVERS+=("$@")
-	fi
-}
-
-gallium_enable() {
-	if [[ $1 == -- ]] || use $1; then
-		shift
-		GALLIUM_DRIVERS+=("$@")
-	fi
-}
-
-vulkan_enable() {
-	if [[ $1 == -- ]] || use $1; then
-		shift
-		VULKAN_DRIVERS+=("$@")
-	fi
-}
diff --git a/media-libs/mesa-llvmpipe/mesa-llvmpipe-22.0.1.ebuild b/media-libs/mesa-llvmpipe/mesa-llvmpipe-22.0.1.ebuild
new file mode 120000
index 0000000..4b64426
--- /dev/null
+++ b/media-libs/mesa-llvmpipe/mesa-llvmpipe-22.0.1.ebuild
@@ -0,0 +1 @@
+mesa-llvmpipe-22.0.ebuild
\ No newline at end of file
diff --git a/media-libs/mesa-llvmpipe/mesa-llvmpipe-22.0.ebuild b/media-libs/mesa-llvmpipe/mesa-llvmpipe-22.0.ebuild
new file mode 100644
index 0000000..c1872e7
--- /dev/null
+++ b/media-libs/mesa-llvmpipe/mesa-llvmpipe-22.0.ebuild
@@ -0,0 +1,249 @@
+# Copyright 1999-2019 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-7.9.ebuild,v 1.3 2010/12/05 17:19:14 arfrever Exp $
+
+EAPI=7
+
+CROS_WORKON_COMMIT="4a8d3189fdb81688c43c9b438c892a3423367c73"
+CROS_WORKON_TREE="1d566c47fb1efbf7c47df5c790aed9739ab3ba6e"
+
+EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa"
+CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
+CROS_WORKON_MANUAL_UPREV="1"
+CROS_WORKON_LOCALNAME="mesa"
+CROS_WORKON_EGIT_BRANCH="upstream/main"
+
+if [[ ${PV} = 9999* ]]; then
+	GIT_ECLASS="git-2"
+	EXPERIMENTAL="true"
+fi
+
+inherit base multilib flag-o-matic meson toolchain-funcs ${GIT_ECLASS} cros-workon
+
+FOLDER="${PV/_rc*/}"
+[[ ${PV/_rc*/} == "${PV}" ]] || FOLDER+="/RC"
+
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="http://mesa3d.sourceforge.net/"
+
+#SRC_PATCHES="mirror://gentoo/${P}-gentoo-patches-01.tar.bz2"
+if [[ ${PV} = 9999* ]] || [[ -n ${CROS_WORKON_COMMIT} ]]; then
+	SRC_URI="${SRC_PATCHES}"
+else
+	SRC_URI="ftp://ftp.freedesktop.org/pub/mesa/${FOLDER}/${P}.tar.bz2
+		${SRC_PATCHES}"
+fi
+
+# Most of the code is MIT/X11.
+# ralloc is LGPL-3
+# GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0
+LICENSE="MIT LGPL-3 SGI-B-2.0"
+SLOT="0"
+KEYWORDS="*"
+
+INTEL_CARDS="intel"
+RADEON_CARDS="amdgpu radeon"
+VIDEO_CARDS="${INTEL_CARDS} ${RADEON_CARDS} freedreno llvmpipe mach64 mga nouveau r128 radeonsi savage sis softpipe tdfx via virgl vmware"
+for card in ${VIDEO_CARDS}; do
+	IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS}
+	debug dri drm egl +gallium -gbm gles1 gles2 kernel_FreeBSD
+	kvm_guest llvm +nptl pic selinux shared-glapi vulkan wayland xlib-glx X
+	libglvnd zstd"
+
+LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.60"
+
+REQUIRED_USE="video_cards_amdgpu? ( llvm )
+	video_cards_llvmpipe? ( llvm )"
+
+# keep correct libdrm and dri2proto dep
+# keep blocks in rdepend for binpkg
+RDEPEND="
+	libglvnd? ( media-libs/libglvnd )
+	!libglvnd? ( !media-libs/libglvnd )
+	X? (
+		!<x11-base/xorg-server-1.7
+		>=x11-libs/libX11-1.3.99.901
+		x11-libs/libXdamage
+		x11-libs/libXext
+		x11-libs/libXrandr
+		x11-libs/libXxf86vm
+	)
+	wayland? (
+		dev-libs/wayland
+		>=dev-libs/wayland-protocols-1.8
+	)
+	llvm? ( virtual/libelf )
+	!media-libs/mesa
+	dev-libs/expat
+	dev-libs/libgcrypt
+	virtual/udev
+	zstd? ( app-arch/zstd )
+	${LIBDRM_DEPSTRING}
+"
+
+DEPEND="${RDEPEND}
+	dev-libs/libxml2
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+	x11-base/xorg-proto
+	llvm? ( sys-devel/llvm )
+"
+
+driver_list() {
+	local drivers="$(sort -u <<< "${1// /$'\n'}")"
+	echo "${drivers//$'\n'/,}"
+}
+
+src_prepare() {
+	# apply patches
+	if [[ ${PV} != 9999* && -n ${SRC_PATCHES} ]]; then
+		EPATCH_FORCE="yes" \
+		EPATCH_SOURCE="${WORKDIR}/patches" \
+		EPATCH_SUFFIX="patch" \
+		epatch
+	fi
+	# FreeBSD 6.* doesn't have posix_memalign().
+	if [[ ${CHOST} == *-freebsd6.* ]]; then
+		sed -i \
+			-e "s/-DHAVE_POSIX_MEMALIGN//" \
+			configure.ac || die
+	fi
+
+	default
+}
+
+src_configure() {
+	tc-getPROG PKG_CONFIG pkg-config
+
+	cros_optimize_package_for_speed
+	# For llvmpipe on ARM we'll get errors about being unable to resolve
+	# "__aeabi_unwind_cpp_pr1" if we don't include this flag; seems wise
+	# to include it for all platforms though.
+	use video_cards_llvmpipe && append-flags "-rtlib=libgcc -shared-libgcc --unwindlib=libgcc -lpthread"
+
+	if use !gallium && use !vulkan; then
+		ewarn "You enabled neither gallium, nor vulkan "
+		ewarn "USE flags. No hardware drivers will be built."
+	fi
+
+	if use gallium; then
+	# Configurable gallium drivers
+		gallium_enable video_cards_llvmpipe swrast
+		gallium_enable video_cards_softpipe swrast
+
+		# Nouveau code
+		gallium_enable video_cards_nouveau nouveau
+
+		# ATI code
+		gallium_enable video_cards_radeon r300 r600
+		gallium_enable video_cards_amdgpu radeonsi
+
+		# Freedreno code
+		gallium_enable video_cards_freedreno freedreno
+
+		gallium_enable video_cards_virgl virgl
+	fi
+
+	if use vulkan; then
+		vulkan_enable video_cards_llvmpipe swrast
+		vulkan_enable video_cards_intel intel
+		vulkan_enable video_cards_amdgpu amd
+	fi
+
+	LLVM_ENABLE=false
+	if use llvm && use !video_cards_softpipe; then
+		emesonargs+=( -Dshared-llvm=false )
+		export LLVM_CONFIG=${SYSROOT}/usr/lib/llvm/bin/llvm-config-host
+		LLVM_ENABLE=true
+	fi
+
+	local egl_platforms=""
+	if use egl; then
+		if use wayland; then
+			egl_platforms="${egl_platforms},wayland"
+		fi
+
+		if use X; then
+			egl_platforms="${egl_platforms},x11"
+		fi
+	fi
+	egl_platforms="${egl_platforms##,}"
+
+	if use X; then
+		glx="dri"
+	else
+		glx="disabled"
+	fi
+
+	append-flags "-UENABLE_SHADER_CACHE"
+
+	if use kvm_guest; then
+		emesonargs+=( -Ddri-search-path=/opt/google/cros-containers/lib )
+	fi
+
+	emesonargs+=(
+		-Dexecmem=false
+		-Dglvnd="$(usex libglvnd true false)"
+		-Dglx="${glx}"
+		-Dllvm="${LLVM_ENABLE}"
+		-Dplatforms="${egl_platforms}"
+		-Degl-native-platform="surfaceless"
+		$(meson_feature egl)
+		$(meson_feature gbm)
+		$(meson_feature gles1)
+		$(meson_feature gles2)
+		$(meson_feature zstd)
+		$(meson_use selinux)
+		-Ddri-drivers=$(driver_list "${DRI_DRIVERS[*]}")
+		-Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
+		-Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
+		--buildtype $(usex debug debug release)
+	)
+
+	meson_src_configure
+}
+
+src_install() {
+	meson_src_install
+
+	# Remove redundant GLES headers
+	rm -f "${D}"/usr/include/{EGL,GLES2,GLES3,KHR}/*.h || die "Removing GLES headers failed."
+
+	dodir "/usr/$(get_libdir)/dri"
+	insinto "/usr/$(get_libdir)/dri/"
+	insopts -m0755
+	# install the gallium drivers we use
+	local gallium_drivers_files=( nouveau_dri.so r300_dri.so r600_dri.so msm_dri.so swrast_dri.so )
+	for x in "${gallium_drivers_files[@]}"; do
+		if [ -f "${S}/$(get_libdir)/gallium/${x}" ]; then
+			doins "${S}/$(get_libdir)/gallium/${x}"
+		fi
+	done
+}
+
+# $1 - VIDEO_CARDS flag (check skipped for "--")
+# other args - names of DRI drivers to enable
+dri_driver_enable() {
+	if [[ $1 == -- ]] || use "$1"; then
+		shift
+		DRI_DRIVERS+=("$@")
+	fi
+}
+
+gallium_enable() {
+	if [[ $1 == -- ]] || use "$1"; then
+		shift
+		GALLIUM_DRIVERS+=("$@")
+	fi
+}
+
+vulkan_enable() {
+	if [[ $1 == -- ]] || use "$1"; then
+		shift
+		VULKAN_DRIVERS+=("$@")
+	fi
+}
diff --git a/media-libs/mesa-llvmpipe/mesa-llvmpipe-9999.ebuild b/media-libs/mesa-llvmpipe/mesa-llvmpipe-9999.ebuild
index b81f5f3..b5c7835 100644
--- a/media-libs/mesa-llvmpipe/mesa-llvmpipe-9999.ebuild
+++ b/media-libs/mesa-llvmpipe/mesa-llvmpipe-9999.ebuild
@@ -4,8 +4,6 @@
 
 EAPI=7
 
-MESON_AUTO_DEPEND=no
-
 EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa"
 CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
 CROS_WORKON_MANUAL_UPREV="1"
@@ -20,13 +18,13 @@
 inherit base multilib flag-o-matic meson toolchain-funcs ${GIT_ECLASS} cros-workon
 
 FOLDER="${PV/_rc*/}"
-[[ ${PV/_rc*/} == ${PV} ]] || FOLDER+="/RC"
+[[ ${PV/_rc*/} == "${PV}" ]] || FOLDER+="/RC"
 
 DESCRIPTION="OpenGL-like graphic library for Linux"
 HOMEPAGE="http://mesa3d.sourceforge.net/"
 
 #SRC_PATCHES="mirror://gentoo/${P}-gentoo-patches-01.tar.bz2"
-if [[ $PV = 9999* ]] || [[ -n ${CROS_WORKON_COMMIT} ]]; then
+if [[ ${PV} = 9999* ]] || [[ -n ${CROS_WORKON_COMMIT} ]]; then
 	SRC_URI="${SRC_PATCHES}"
 else
 	SRC_URI="ftp://ftp.freedesktop.org/pub/mesa/${FOLDER}/${P}.tar.bz2
@@ -48,7 +46,7 @@
 done
 
 IUSE="${IUSE_VIDEO_CARDS}
-	+classic debug dri drm egl +gallium -gbm gles1 gles2 kernel_FreeBSD
+	debug dri drm egl +gallium -gbm gles1 gles2 kernel_FreeBSD
 	kvm_guest llvm +nptl pic selinux shared-glapi vulkan wayland xlib-glx X
 	libglvnd zstd"
 
@@ -70,7 +68,6 @@
 		x11-libs/libXrandr
 		x11-libs/libXxf86vm
 	)
-	zstd? ( app-arch/zstd )
 	wayland? (
 		dev-libs/wayland
 		>=dev-libs/wayland-protocols-1.8
@@ -80,6 +77,7 @@
 	dev-libs/expat
 	dev-libs/libgcrypt
 	virtual/udev
+	zstd? ( app-arch/zstd )
 	${LIBDRM_DEPSTRING}
 "
 
@@ -124,19 +122,13 @@
 	# For llvmpipe on ARM we'll get errors about being unable to resolve
 	# "__aeabi_unwind_cpp_pr1" if we don't include this flag; seems wise
 	# to include it for all platforms though.
-	use video_cards_llvmpipe && append-flags "-rtlib=libgcc -shared-libgcc --unwindlib=libgcc"
+	use video_cards_llvmpipe && append-flags "-rtlib=libgcc -shared-libgcc --unwindlib=libgcc -lpthread"
 
-	if use !gallium && use !classic && use !vulkan; then
-		ewarn "You enabled neither classic, gallium, nor vulkan "
+	if use !gallium && use !vulkan; then
+		ewarn "You enabled neither gallium, nor vulkan "
 		ewarn "USE flags. No hardware drivers will be built."
 	fi
 
-	if use classic; then
-	# Configurable DRI drivers
-		# Intel code
-		dri_driver_enable video_cards_intel i965
-	fi
-
 	if use gallium; then
 	# Configurable gallium drivers
 		gallium_enable video_cards_llvmpipe swrast
@@ -194,14 +186,13 @@
 
 	emesonargs+=(
 		-Dexecmem=false
-		-Dglvnd=$(usex libglvnd true false)
+		-Dglvnd="$(usex libglvnd true false)"
 		-Dglx="${glx}"
 		-Dllvm="${LLVM_ENABLE}"
 		-Dplatforms="${egl_platforms}"
 		-Degl-native-platform="surfaceless"
 		$(meson_feature egl)
 		$(meson_feature gbm)
-		$(meson_feature X gl)
 		$(meson_feature gles1)
 		$(meson_feature gles2)
 		$(meson_feature zstd)
@@ -221,44 +212,36 @@
 	# Remove redundant GLES headers
 	rm -f "${D}"/usr/include/{EGL,GLES2,GLES3,KHR}/*.h || die "Removing GLES headers failed."
 
-	dodir /usr/$(get_libdir)/dri
+	dodir "/usr/$(get_libdir)/dri"
 	insinto "/usr/$(get_libdir)/dri/"
 	insopts -m0755
 	# install the gallium drivers we use
 	local gallium_drivers_files=( nouveau_dri.so r300_dri.so r600_dri.so msm_dri.so swrast_dri.so )
-	for x in ${gallium_drivers_files[@]}; do
+	for x in "${gallium_drivers_files[@]}"; do
 		if [ -f "${S}/$(get_libdir)/gallium/${x}" ]; then
 			doins "${S}/$(get_libdir)/gallium/${x}"
 		fi
 	done
-
-	# install classic drivers we use
-	local classic_drivers_files=( i810_dri.so i965_dri.so nouveau_vieux_dri.so radeon_dri.so r200_dri.so )
-	for x in ${classic_drivers_files[@]}; do
-		if [ -f "${S}/$(get_libdir)/${x}" ]; then
-			doins "${S}/$(get_libdir)/${x}"
-		fi
-	done
 }
 
 # $1 - VIDEO_CARDS flag (check skipped for "--")
 # other args - names of DRI drivers to enable
 dri_driver_enable() {
-	if [[ $1 == -- ]] || use $1; then
+	if [[ $1 == -- ]] || use "$1"; then
 		shift
 		DRI_DRIVERS+=("$@")
 	fi
 }
 
 gallium_enable() {
-	if [[ $1 == -- ]] || use $1; then
+	if [[ $1 == -- ]] || use "$1"; then
 		shift
 		GALLIUM_DRIVERS+=("$@")
 	fi
 }
 
 vulkan_enable() {
-	if [[ $1 == -- ]] || use $1; then
+	if [[ $1 == -- ]] || use "$1"; then
 		shift
 		VULKAN_DRIVERS+=("$@")
 	fi
diff --git a/media-libs/mesa-panfrost/OWNERS b/media-libs/mesa-panfrost/OWNERS
index 5780bff..62b213c 100644
--- a/media-libs/mesa-panfrost/OWNERS
+++ b/media-libs/mesa-panfrost/OWNERS
@@ -1,2 +1,3 @@
 set noparent
 include chromiumos/platform/graphics:/OWNERS.mesa_panfrost
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/media-libs/mesa-reven/mesa-reven-21.0.2-r13.ebuild b/media-libs/mesa-reven/mesa-reven-21.0.2-r13.ebuild
deleted file mode 100644
index fbd757e..0000000
--- a/media-libs/mesa-reven/mesa-reven-21.0.2-r13.ebuild
+++ /dev/null
@@ -1,180 +0,0 @@
-# Copyright 1999-2019 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="2bcb6c3b3e6b1efc97c3219fb994b7e164650a46"
-CROS_WORKON_TREE="774f755ad7cad94b468934205903c21ac82a69d5"
-MESON_AUTO_DEPEND=no
-
-CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
-CROS_WORKON_EGIT_BRANCH="chromeos-reven"
-CROS_WORKON_LOCALNAME="mesa-reven"
-
-inherit base flag-o-matic meson toolchain-funcs cros-workon
-
-DESCRIPTION="The Mesa 3D Graphics Library"
-HOMEPAGE="http://mesa3d.org/"
-
-# Most of the code is MIT/X11.
-# ralloc is LGPL-3
-# GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0
-LICENSE="MIT LGPL-3 SGI-B-2.0"
-KEYWORDS="*"
-
-VIDEO_CARDS="amdgpu intel iris llvmpipe nouveau radeon virgl vmware"
-for card in ${VIDEO_CARDS}; do
-	IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
-	+classic debug dri egl +gallium -gbm gles1 gles2
-	kvm_guest llvm +nptl pic selinux shared-glapi vulkan wayland zstd
-	libglvnd"
-
-REQUIRED_USE="video_cards_amdgpu? ( llvm )
-	video_cards_llvmpipe? ( llvm )"
-
-COMMON_DEPEND="
-	dev-libs/expat:=
-	dev-libs/libgcrypt:=
-	llvm? ( virtual/libelf:= )
-	virtual/udev:=
-	zstd? ( app-arch/zstd )
-	>=x11-libs/libdrm-2.4.60:=
-"
-
-RDEPEND="${COMMON_DEPEND}
-	libglvnd? ( media-libs/libglvnd:= )
-"
-
-DEPEND="${COMMON_DEPEND}
-	dev-libs/libxml2:=
-	x11-base/xorg-proto:=
-	llvm? ( sys-devel/llvm:= )
-	wayland? ( >=dev-libs/wayland-protocols-1.8:= )
-"
-
-BDEPEND="
-	virtual/pkgconfig
-	sys-devel/bison
-	sys-devel/flex
-"
-
-driver_list() {
-	local drivers="$(sort -u <<< "${1// /$'\n'}")"
-	echo "${drivers//$'\n'/,}"
-}
-
-src_configure() {
-	tc-getPROG PKG_CONFIG pkg-config
-
-	cros_optimize_package_for_speed
-	# For llvmpipe on ARM we'll get errors about being unable to resolve
-	# "__aeabi_unwind_cpp_pr1" if we don't include this flag; seems wise
-	# to include it for all platforms though.
-	use video_cards_llvmpipe && append-flags "-rtlib=libgcc -shared-libgcc --unwindlib=libgcc"
-
-	if use !gallium && use !classic && use !vulkan; then
-		ewarn "You enabled neither classic, gallium, nor vulkan "
-		ewarn "USE flags. No hardware drivers will be built."
-	fi
-
-	# Configurable DRI drivers
-	if use classic; then
-		# Intel code
-		dri_driver_enable video_cards_intel i965
-	fi
-
-	# Configurable gallium drivers
-	if use gallium; then
-		gallium_enable video_cards_llvmpipe swrast
-
-		# Intel code
-		gallium_enable video_cards_iris iris
-
-		# Nouveau code
-		gallium_enable video_cards_nouveau nouveau
-
-		# ATI code
-		gallium_enable video_cards_radeon r300 r600
-		gallium_enable video_cards_amdgpu radeonsi
-
-		gallium_enable video_cards_virgl virgl
-
-		gallium_enable video_cards_vmware svga
-	fi
-
-	if use vulkan; then
-		vulkan_enable video_cards_intel intel
-		vulkan_enable video_cards_amdgpu amd
-	fi
-
-	LLVM_ENABLE=false
-	if use llvm; then
-		emesonargs+=( -Dshared-llvm=false )
-		export LLVM_CONFIG=${SYSROOT}/usr/lib/llvm/bin/llvm-config-host
-		LLVM_ENABLE=true
-	fi
-
-	if use kvm_guest; then
-		emesonargs+=( -Ddri-search-path=/opt/google/cros-containers/lib )
-	fi
-
-	emesonargs+=(
-		-Dglx=disabled
-		-Dllvm="${LLVM_ENABLE}"
-		# Set platforms empty to get only surfaceless. This works better
-		# than explicitly setting surfaceless because it forces it to be
-		# the default. b/206629705
-		-Dplatforms=''
-		-Dprefer-iris=false
-		-Dshader-cache-default=false
-		$(meson_feature egl)
-		$(meson_feature gbm)
-		$(meson_feature gles1)
-		$(meson_feature gles2)
-		$(meson_feature zstd)
-		$(meson_use selinux)
-		-Ddri-drivers=$(driver_list "${DRI_DRIVERS[*]}")
-		-Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
-		-Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
-		--buildtype $(usex debug debug release)
-	)
-
-	meson_src_configure
-}
-
-src_install() {
-	meson_src_install
-
-	# Remove redundant GLES headers
-	rm -f "${D}"/usr/include/{EGL,GLES2,GLES3,KHR}/*.h || die "Removing GLES headers failed."
-
-	# Set driconf option to enable S3TC hardware decompression
-	insinto "/etc/"
-	doins "${FILESDIR}"/drirc
-}
-
-# $1 - VIDEO_CARDS flag (check skipped for "--")
-# other args - names of DRI drivers to enable
-dri_driver_enable() {
-	if [[ $1 == -- ]] || use $1; then
-		shift
-		DRI_DRIVERS+=("$@")
-	fi
-}
-
-gallium_enable() {
-	if [[ $1 == -- ]] || use $1; then
-		shift
-		GALLIUM_DRIVERS+=("$@")
-	fi
-}
-
-vulkan_enable() {
-	if [[ $1 == -- ]] || use $1; then
-		shift
-		VULKAN_DRIVERS+=("$@")
-	fi
-}
diff --git a/media-libs/mesa-reven/mesa-reven-21.0.2-r23.ebuild b/media-libs/mesa-reven/mesa-reven-21.0.2-r23.ebuild
new file mode 100644
index 0000000..2ef0246
--- /dev/null
+++ b/media-libs/mesa-reven/mesa-reven-21.0.2-r23.ebuild
@@ -0,0 +1,180 @@
+# Copyright 1999-2019 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b45a1e8a3f2cf39d6fdd8de8585ad44573d78205"
+CROS_WORKON_TREE="c33b4f92092b0d9c8f97e1ec8666820b7c499090"
+CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
+CROS_WORKON_EGIT_BRANCH="chromeos-reven"
+CROS_WORKON_LOCALNAME="mesa-reven"
+
+inherit base flag-o-matic meson toolchain-funcs cros-workon
+
+DESCRIPTION="The Mesa 3D Graphics Library"
+HOMEPAGE="http://mesa3d.org/"
+
+# Most of the code is MIT/X11.
+# ralloc is LGPL-3
+# GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0
+LICENSE="MIT LGPL-3 SGI-B-2.0"
+KEYWORDS="*"
+
+VIDEO_CARDS="amdgpu intel iris llvmpipe nouveau radeon virgl vmware"
+for card in ${VIDEO_CARDS}; do
+	IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS}
+	+classic debug dri egl +gallium -gbm gles1 gles2
+	kvm_guest llvm +nptl pic selinux shared-glapi vulkan wayland zstd
+	libglvnd"
+
+REQUIRED_USE="video_cards_amdgpu? ( llvm )
+	video_cards_llvmpipe? ( llvm )"
+
+COMMON_DEPEND="
+	dev-libs/expat:=
+	dev-libs/libgcrypt:=
+	llvm? ( virtual/libelf:= )
+	virtual/udev:=
+	zstd? ( app-arch/zstd )
+	>=x11-libs/libdrm-2.4.60:=
+"
+
+RDEPEND="${COMMON_DEPEND}
+	libglvnd? ( media-libs/libglvnd:= )
+"
+
+DEPEND="${COMMON_DEPEND}
+	dev-libs/libxml2:=
+	x11-base/xorg-proto:=
+	llvm? ( sys-devel/llvm:= )
+	wayland? ( >=dev-libs/wayland-protocols-1.8:= )
+"
+
+BDEPEND="
+	virtual/pkgconfig
+	sys-devel/bison
+	sys-devel/flex
+"
+
+driver_list() {
+	local drivers="$(sort -u <<< "${1// /$'\n'}")"
+	echo "${drivers//$'\n'/,}"
+}
+
+src_configure() {
+	tc-getPROG PKG_CONFIG pkg-config
+
+	cros_optimize_package_for_speed
+	# For llvmpipe on ARM we'll get errors about being unable to resolve
+	# "__aeabi_unwind_cpp_pr1" if we don't include this flag; seems wise
+	# to include it for all platforms though.
+	use video_cards_llvmpipe && append-flags "-rtlib=libgcc -shared-libgcc --unwindlib=libgcc -lpthread"
+
+	if use !gallium && use !classic && use !vulkan; then
+		ewarn "You enabled neither classic, gallium, nor vulkan "
+		ewarn "USE flags. No hardware drivers will be built."
+	fi
+
+	# Configurable DRI drivers
+	if use classic; then
+		# Intel code
+		dri_driver_enable video_cards_intel i965
+	fi
+
+	# Configurable gallium drivers
+	if use gallium; then
+		gallium_enable video_cards_llvmpipe swrast
+
+		# Intel code
+		gallium_enable video_cards_iris iris
+
+		# Nouveau code
+		gallium_enable video_cards_nouveau nouveau
+
+		# ATI code
+		gallium_enable video_cards_radeon r300 r600
+		gallium_enable video_cards_amdgpu radeonsi
+
+		gallium_enable video_cards_virgl virgl
+
+		gallium_enable video_cards_vmware svga
+	fi
+
+	if use vulkan; then
+		vulkan_enable video_cards_intel intel
+		vulkan_enable video_cards_amdgpu amd
+	fi
+
+	LLVM_ENABLE=false
+	if use llvm; then
+		emesonargs+=( -Dshared-llvm=false )
+		export LLVM_CONFIG=${SYSROOT}/usr/lib/llvm/bin/llvm-config-host
+		LLVM_ENABLE=true
+	fi
+
+	if use kvm_guest; then
+		emesonargs+=( -Ddri-search-path=/opt/google/cros-containers/lib )
+	fi
+
+	emesonargs+=(
+		-Dexecmem=false
+		-Dglx=disabled
+		-Dllvm="${LLVM_ENABLE}"
+		# Set platforms empty to get only surfaceless. This works better
+		# than explicitly setting surfaceless because it forces it to be
+		# the default. b/206629705
+		-Dplatforms=''
+		-Dprefer-iris=false
+		-Dshader-cache-default=false
+		$(meson_use libglvnd glvnd)
+		$(meson_feature egl)
+		$(meson_feature gbm)
+		$(meson_feature gles1)
+		$(meson_feature gles2)
+		$(meson_feature zstd)
+		$(meson_use selinux)
+		-Ddri-drivers="$(driver_list "${DRI_DRIVERS[*]}")"
+		-Dgallium-drivers="$(driver_list "${GALLIUM_DRIVERS[*]}")"
+		-Dvulkan-drivers="$(driver_list "${VULKAN_DRIVERS[*]}")"
+		--buildtype $(usex debug debug release)
+	)
+
+	meson_src_configure
+}
+
+src_install() {
+	meson_src_install
+
+	# Remove redundant GLES headers
+	rm -f "${D}"/usr/include/{EGL,GLES2,GLES3,KHR}/*.h || die "Removing GLES headers failed."
+
+	# Set driconf option to enable S3TC hardware decompression
+	insinto "/etc/"
+	doins "${FILESDIR}"/drirc
+}
+
+# $1 - VIDEO_CARDS flag (check skipped for "--")
+# other args - names of DRI drivers to enable
+dri_driver_enable() {
+	if [[ $1 == -- ]] || use "$1"; then
+		shift
+		DRI_DRIVERS+=("$@")
+	fi
+}
+
+gallium_enable() {
+	if [[ $1 == -- ]] || use "$1"; then
+		shift
+		GALLIUM_DRIVERS+=("$@")
+	fi
+}
+
+vulkan_enable() {
+	if [[ $1 == -- ]] || use "$1"; then
+		shift
+		VULKAN_DRIVERS+=("$@")
+	fi
+}
diff --git a/media-libs/mesa-reven/mesa-reven-9999.ebuild b/media-libs/mesa-reven/mesa-reven-9999.ebuild
index c3153c0..1591777 100644
--- a/media-libs/mesa-reven/mesa-reven-9999.ebuild
+++ b/media-libs/mesa-reven/mesa-reven-9999.ebuild
@@ -3,8 +3,6 @@
 
 EAPI=7
 
-MESON_AUTO_DEPEND=no
-
 CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
 CROS_WORKON_EGIT_BRANCH="chromeos-reven"
 CROS_WORKON_LOCALNAME="mesa-reven"
@@ -71,7 +69,7 @@
 	# For llvmpipe on ARM we'll get errors about being unable to resolve
 	# "__aeabi_unwind_cpp_pr1" if we don't include this flag; seems wise
 	# to include it for all platforms though.
-	use video_cards_llvmpipe && append-flags "-rtlib=libgcc -shared-libgcc --unwindlib=libgcc"
+	use video_cards_llvmpipe && append-flags "-rtlib=libgcc -shared-libgcc --unwindlib=libgcc -lpthread"
 
 	if use !gallium && use !classic && use !vulkan; then
 		ewarn "You enabled neither classic, gallium, nor vulkan "
@@ -120,6 +118,7 @@
 	fi
 
 	emesonargs+=(
+		-Dexecmem=false
 		-Dglx=disabled
 		-Dllvm="${LLVM_ENABLE}"
 		# Set platforms empty to get only surfaceless. This works better
@@ -128,15 +127,16 @@
 		-Dplatforms=''
 		-Dprefer-iris=false
 		-Dshader-cache-default=false
+		$(meson_use libglvnd glvnd)
 		$(meson_feature egl)
 		$(meson_feature gbm)
 		$(meson_feature gles1)
 		$(meson_feature gles2)
 		$(meson_feature zstd)
 		$(meson_use selinux)
-		-Ddri-drivers=$(driver_list "${DRI_DRIVERS[*]}")
-		-Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
-		-Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
+		-Ddri-drivers="$(driver_list "${DRI_DRIVERS[*]}")"
+		-Dgallium-drivers="$(driver_list "${GALLIUM_DRIVERS[*]}")"
+		-Dvulkan-drivers="$(driver_list "${VULKAN_DRIVERS[*]}")"
 		--buildtype $(usex debug debug release)
 	)
 
@@ -157,21 +157,21 @@
 # $1 - VIDEO_CARDS flag (check skipped for "--")
 # other args - names of DRI drivers to enable
 dri_driver_enable() {
-	if [[ $1 == -- ]] || use $1; then
+	if [[ $1 == -- ]] || use "$1"; then
 		shift
 		DRI_DRIVERS+=("$@")
 	fi
 }
 
 gallium_enable() {
-	if [[ $1 == -- ]] || use $1; then
+	if [[ $1 == -- ]] || use "$1"; then
 		shift
 		GALLIUM_DRIVERS+=("$@")
 	fi
 }
 
 vulkan_enable() {
-	if [[ $1 == -- ]] || use $1; then
+	if [[ $1 == -- ]] || use "$1"; then
 		shift
 		VULKAN_DRIVERS+=("$@")
 	fi
diff --git a/media-libs/mesa/OWNERS b/media-libs/mesa/OWNERS
index 12d0eea..b0c1ba1 100644
--- a/media-libs/mesa/OWNERS
+++ b/media-libs/mesa/OWNERS
@@ -1,2 +1,3 @@
 set noparent
 include chromiumos/platform/graphics:/OWNERS.mesa
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/media-libs/mesa/files/0001-Revert-meson-update-llvm-dependency-logic-for-meson-.patch b/media-libs/mesa/files/0001-Revert-meson-update-llvm-dependency-logic-for-meson-.patch
deleted file mode 100644
index 35dac19..0000000
--- a/media-libs/mesa/files/0001-Revert-meson-update-llvm-dependency-logic-for-meson-.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 61729a39f173ecfdc31cb09ede4575f4c6bd481c Mon Sep 17 00:00:00 2001
-From: Rob Clark <robdclark@google.com>
-Date: Mon, 8 Jun 2020 09:09:06 -0700
-Subject: [PATCH 1/2] Revert "meson: update llvm dependency logic for meson
- 0.54.0"
-
-This reverts commit 8d13ea15710f90485f1fec915e3ed0d5a4aecf5b.
----
- .pick_status.json |  2 +-
- meson.build       | 14 ++++++--------
- 2 files changed, 7 insertions(+), 9 deletions(-)
-
-diff --git a/.pick_status.json b/.pick_status.json
-index 60ea7967317..5ff6f169f16 100644
---- a/.pick_status.json
-+++ b/.pick_status.json
-@@ -9103,7 +9103,7 @@
-         "description": "meson: update llvm dependency logic for meson 0.54.0",
-         "nominated": true,
-         "nomination_type": 1,
--        "resolution": 1,
-+        "resolution": 0,
-         "master_sha": null,
-         "because_sha": "821cf6942a390f5f64d8a2cff9933b24c84f7dc1"
-     },
-diff --git a/meson.build b/meson.build
-index ef4bdc2cb02..ef7a602cb03 100644
---- a/meson.build
-+++ b/meson.build
-@@ -1389,14 +1389,12 @@ endif
- _shared_llvm = get_option('shared-llvm')
- _llvm = get_option('llvm')
- 
--# the cmake method can only link statically, so don't attempt to use it if we
--# want to link dynamically. Before 0.54.0 meson will try cmake even when shared
--# linking is requested, so we need to force the config-tool method to be used
--# in that case, but in 0.54.0 meson won't try the cmake method if shared
--# linking is requested.
--_llvm_method = 'auto'
--if meson.version().version_compare('< 0.54.0') and _shared_llvm
--  _llvm_method = 'config-tool'
-+# The cmake method will never find libllvm.so|dylib; this is fine for windows
-+# because llvm doesn't support libllvm.dll
-+_llvm_method = 'config-tool'
-+if (meson.version().version_compare('>= 0.51.0') and
-+    host_machine.system() == 'windows')
-+  _llvm_method = 'cmake'
- endif
- 
- dep_llvm = null_dep
--- 
-2.26.2
-
diff --git a/media-libs/mesa/files/0002-Revert-meson-Use-cmake-to-find-LLVM-when-building-fo.patch b/media-libs/mesa/files/0002-Revert-meson-Use-cmake-to-find-LLVM-when-building-fo.patch
deleted file mode 100644
index 05372a7..0000000
--- a/media-libs/mesa/files/0002-Revert-meson-Use-cmake-to-find-LLVM-when-building-fo.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 4a5b81513561391f691fd4b7c99e54a182bfbd8b Mon Sep 17 00:00:00 2001
-From: Rob Clark <robdclark@google.com>
-Date: Mon, 8 Jun 2020 09:11:57 -0700
-Subject: [PATCH 2/2] Revert "meson: Use cmake to find LLVM when building for
- windows"
-
-This reverts commit 821cf6942a390f5f64d8a2cff9933b24c84f7dc1.
----
- meson.build | 12 ++----------
- 1 file changed, 2 insertions(+), 10 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index ef7a602cb03..0f07aa83aa6 100644
---- a/meson.build
-+++ b/meson.build
-@@ -1387,16 +1387,8 @@ else
- endif
- 
- _shared_llvm = get_option('shared-llvm')
--_llvm = get_option('llvm')
--
--# The cmake method will never find libllvm.so|dylib; this is fine for windows
--# because llvm doesn't support libllvm.dll
--_llvm_method = 'config-tool'
--if (meson.version().version_compare('>= 0.51.0') and
--    host_machine.system() == 'windows')
--  _llvm_method = 'cmake'
--endif
- 
-+_llvm = get_option('llvm')
- dep_llvm = null_dep
- with_llvm = false
- if _llvm != 'false'
-@@ -1410,7 +1402,7 @@ if _llvm != 'false'
-       with_gallium_opencl or _llvm == 'true'
-     ),
-     static : not _shared_llvm,
--    method : _llvm_method,
-+    method : 'config-tool',
-     fallback : ['llvm', 'dep_llvm'],
-   )
-   with_llvm = dep_llvm.found()
--- 
-2.26.2
-
diff --git a/media-libs/mesa/files/BACKPORT-disk_cache-build-option-for-disabled-by-def.patch b/media-libs/mesa/files/BACKPORT-disk_cache-build-option-for-disabled-by-def.patch
deleted file mode 100644
index 4a701d1..0000000
--- a/media-libs/mesa/files/BACKPORT-disk_cache-build-option-for-disabled-by-def.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-From 5b6f9e4821a48a1abedf6082ab7a7cb06e7b7905 Mon Sep 17 00:00:00 2001
-From: John Bates <jbates@chromium.org>
-Date: Tue, 13 Oct 2020 14:17:53 -0700
-Subject: [PATCH] BACKPORT: disk_cache: build option for disabled-by-default
-
-On some systems it is problematic to have the shader cache enabled
-by default. This adds a build option to support the disk cache but
-keep it disabled unless the environment variable
-MESA_GLSL_CACHE_DISABLE=false.
-
-For example, on Chrome OS, Chrome already has it's own shader
-disk cache implementation so it disables the mesa feature. Tests
-do not want the shader disk cache enabled because it can cause
-inconsistent performance results and the default 1GB for the
-disk cache could lead to problems that require more effort to
-work around. The Mesa shader disk cache is useful for VMs though,
-where it is easy to configure the feature with environment
-variables. With the current version of Mesa, Chrome OS would need
-to have a system-wide environment variable to disable the disk
-cache everywhere except where needed. More elegant to just build
-Mesa with the cache feature disabled by default.
-
-Reviewed-by: Rob Clark <robdclark@chromium.org>
-Reviewed-by: Eric Anholt <eric@anholt.net>
----
- docs/envvars.rst                     |  4 +++-
- meson.build                          |  5 ++++-
- meson_options.txt                    |  4 ++--
- src/compiler/glsl/tests/cache_test.c | 21 +++++++++++++++++++++
- src/util/disk_cache.c                |  8 +++++++-
- 5 files changed, 37 insertions(+), 5 deletions(-)
-
-diff --git a/docs/envvars.rst b/docs/envvars.rst
-index 76397eec041..872463e7ccb 100644
---- a/docs/envvars.rst
-+++ b/docs/envvars.rst
-@@ -141,7 +141,9 @@ Core Mesa environment variables
-    features of the given language version if it's higher than what's
-    normally reported. (for developers only)
- ``MESA_GLSL_CACHE_DISABLE``
--   if set to ``true``, disables the GLSL shader cache
-+   if set to ``true``, disables the GLSL shader cache. If set to
-+   ``false``, enables the GLSL shader cache when it is disabled by
-+   default.
- ``MESA_GLSL_CACHE_MAX_SIZE``
-    if set, determines the maximum size of the on-disk cache of compiled
-    GLSL programs. Should be set to a number optionally followed by
-diff --git a/meson.build b/meson.build
-index e8b641c6b1d..46844e8a1e3 100644
---- a/meson.build
-+++ b/meson.build
-@@ -901,11 +901,14 @@ elif _shader_cache == 'false'
- endif
- if _shader_cache != 'disabled'
-   if host_machine.system() == 'windows'
--    if _shader_cache == 'enabled'
-+    if ['enabled', 'default-disabled'].contains(_shader_cache)
-       error('Shader Cache does not currently work on Windows')
-     endif
-   else
-     pre_args += '-DENABLE_SHADER_CACHE'
-+    if _shader_cache == 'default-disabled'
-+      pre_args += '-DSHADER_CACHE_DISABLE_BY_DEFAULT'
-+    endif
-     with_shader_cache = true
-   endif
- endif
-diff --git a/meson_options.txt b/meson_options.txt
-index 2d39d13b6ad..ed93d545cc0 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -173,8 +173,8 @@ option(
-   'shader-cache',
-   type : 'combo',
-   value : 'auto',
--  choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
--  description : 'Build with on-disk shader cache support'
-+  choices : ['auto', 'true', 'false', 'enabled', 'disabled', 'default-disabled'],
-+  description : 'Build with on-disk shader cache support. If set to default-disabled, the feature is only activated when environment variable MESA_GLSL_CACHE_DISABLE is set to false'
- )
- option(
-   'vulkan-icd-dir',
-diff --git a/src/compiler/glsl/tests/cache_test.c b/src/compiler/glsl/tests/cache_test.c
-index a1db67a5845..926b5e458cc 100644
---- a/src/compiler/glsl/tests/cache_test.c
-+++ b/src/compiler/glsl/tests/cache_test.c
-@@ -193,6 +193,19 @@ test_disk_cache_create(void)
- 
-    unsetenv("MESA_GLSL_CACHE_DISABLE");
- 
-+#ifdef SHADER_CACHE_DISABLE_BY_DEFAULT
-+   /* With SHADER_CACHE_DISABLE_BY_DEFAULT, ensure that with
-+    * MESA_GLSL_CACHE_DISABLE set to nothing, disk_cache_create returns NULL.
-+    */
-+   unsetenv("MESA_GLSL_CACHE_DISABLE");
-+   cache = disk_cache_create("test", "make_check", 0);
-+   expect_null(cache, "disk_cache_create with MESA_GLSL_CACHE_DISABLE unset "
-+               " and SHADER_CACHE_DISABLE_BY_DEFAULT build option");
-+
-+   /* For remaining tests, ensure that the cache is enabled. */
-+   setenv("MESA_GLSL_CACHE_DISABLE", "false", 1);
-+#endif /* SHADER_CACHE_DISABLE_BY_DEFAULT */
-+
-    /* For the first real disk_cache_create() clear these environment
-     * variables to test creation of cache in home directory.
-     */
-@@ -266,6 +279,10 @@ test_put_and_get(void)
-    uint8_t one_KB_key[20], one_MB_key[20];
-    int count;
- 
-+#ifdef SHADER_CACHE_DISABLE_BY_DEFAULT
-+   setenv("MESA_GLSL_CACHE_DISABLE", "false", 1);
-+#endif /* SHADER_CACHE_DISABLE_BY_DEFAULT */
-+
-    cache = disk_cache_create("test", "make_check", 0);
- 
-    disk_cache_compute_key(cache, blob, sizeof(blob), blob_key);
-@@ -437,6 +454,10 @@ test_put_key_and_get_key(void)
-                         { 0,  1, 42, 43, 44, 45, 46, 47, 48, 49,
-                          50, 55, 52, 53, 54, 55, 56, 57, 58, 59};
- 
-+#ifdef SHADER_CACHE_DISABLE_BY_DEFAULT
-+   setenv("MESA_GLSL_CACHE_DISABLE", "false", 1);
-+#endif /* SHADER_CACHE_DISABLE_BY_DEFAULT */
-+
-    cache = disk_cache_create("test", "make_check", 0);
- 
-    /* First test that disk_cache_has_key returns false before disk_cache_put_key */
-diff --git a/src/util/disk_cache.c b/src/util/disk_cache.c
-index a92d621927a..90310b85463 100644
---- a/src/util/disk_cache.c
-+++ b/src/util/disk_cache.c
-@@ -210,6 +210,12 @@ disk_cache_create(const char *gpu_name, const char *driver_id,
-    uint8_t cache_version = CACHE_VERSION;
-    size_t cv_size = sizeof(cache_version);
- 
-+#ifdef SHADER_CACHE_DISABLE_BY_DEFAULT
-+   bool disable_by_default = true;
-+#else
-+   bool disable_by_default = false;
-+#endif
-+
-    /* If running as a users other than the real user disable cache */
-    if (geteuid() != getuid())
-       return NULL;
-@@ -220,7 +226,7 @@ disk_cache_create(const char *gpu_name, const char *driver_id,
-       goto fail;
- 
-    /* At user request, disable shader cache entirely. */
--   if (env_var_as_boolean("MESA_GLSL_CACHE_DISABLE", false))
-+   if (env_var_as_boolean("MESA_GLSL_CACHE_DISABLE", disable_by_default))
-       goto fail;
- 
-    cache = rzalloc(NULL, struct disk_cache);
--- 
-2.28.0.1011.ga647a8990f-goog
-
diff --git a/media-libs/mesa/files/CHROMIUM-i965-increase-BRW_MAX_UBO-to-16.patch b/media-libs/mesa/files/CHROMIUM-i965-increase-BRW_MAX_UBO-to-16.patch
new file mode 100644
index 0000000..9979107
--- /dev/null
+++ b/media-libs/mesa/files/CHROMIUM-i965-increase-BRW_MAX_UBO-to-16.patch
@@ -0,0 +1,29 @@
+From 457008cc153ba180a124d1af6d4e7ad574ffa7c4 Mon Sep 17 00:00:00 2001
+From: Yiwei Zhang <zzyiwei@chromium.org>
+Date: Mon, 18 Jul 2022 05:17:21 +0000
+Subject: [PATCH] i965: increase BRW_MAX_UBO to 16
+
+The new limit is legit and it's for virgl to not regress guest desktop
+GL version advertised.
+
+Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
+---
+ src/mesa/drivers/dri/i965/brw_context.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h
+index bf00fe01607..ef400ed7793 100644
+--- a/src/mesa/drivers/dri/i965/brw_context.h
++++ b/src/mesa/drivers/dri/i965/brw_context.h
+@@ -340,7 +340,7 @@ struct brw_program {
+ #define BRW_MAX_TEX_UNIT 32
+ 
+ /** Max number of UBOs in a shader */
+-#define BRW_MAX_UBO 14
++#define BRW_MAX_UBO 16
+ 
+ /** Max number of SSBOs in a shader */
+ #define BRW_MAX_SSBO 12
+-- 
+2.31.0
+
diff --git a/media-libs/mesa/files/UPSTREAM-anv-Add-DRM_RDWR-flag-in-anv_gem_handle_to_fd.patch b/media-libs/mesa/files/UPSTREAM-anv-Add-DRM_RDWR-flag-in-anv_gem_handle_to_fd.patch
deleted file mode 100644
index 5d19348..0000000
--- a/media-libs/mesa/files/UPSTREAM-anv-Add-DRM_RDWR-flag-in-anv_gem_handle_to_fd.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From df76963a5cd56c677f189ad89d75935a76fca090 Mon Sep 17 00:00:00 2001
-From: Robin Ole Heinemann <robin.ole.heinemann@t-online.de>
-Date: Sun, 13 Dec 2020 02:22:57 +0100
-Subject: [PATCH] anv: Add DRM_RDWR flag in anv_gem_handle_to_fd
-
-The DRM_RDWR flag is needed for mmap with PROT_WRITE to work.
-
-Cc: mesa-stable
-Signed-off-by: Robin Ole Heinemann <robin.ole.heinemann@gmail.com>
-Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8075>
----
- src/intel/vulkan/anv_gem.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/intel/vulkan/anv_gem.c b/src/intel/vulkan/anv_gem.c
-index 81e22428e18..4c43f5f77b4 100644
---- a/src/intel/vulkan/anv_gem.c
-+++ b/src/intel/vulkan/anv_gem.c
-@@ -437,7 +437,7 @@ anv_gem_handle_to_fd(struct anv_device *device, uint32_t gem_handle)
- {
-    struct drm_prime_handle args = {
-       .handle = gem_handle,
--      .flags = DRM_CLOEXEC,
-+      .flags = DRM_CLOEXEC | DRM_RDWR,
-    };
- 
-    int ret = gen_ioctl(device->fd, DRM_IOCTL_PRIME_HANDLE_TO_FD, &args);
--- 
-2.29.2
-
diff --git a/media-libs/mesa/files/UPSTREAM-anv-advertise-rectangularLines-only-for-Gen10.patch b/media-libs/mesa/files/UPSTREAM-anv-advertise-rectangularLines-only-for-Gen10.patch
new file mode 100644
index 0000000..f29abf0
--- /dev/null
+++ b/media-libs/mesa/files/UPSTREAM-anv-advertise-rectangularLines-only-for-Gen10.patch
@@ -0,0 +1,34 @@
+From 5efa95223daf270f3740b59c6e5de8f92789a8a1 Mon Sep 17 00:00:00 2001
+From: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu, 17 Mar 2022 11:03:18 -0700
+Subject: [PATCH] anv: advertise rectangularLines only for Gen10+
+
+We use the non-strict algorithm (with parallelograms) prior to Gen10 for
+wide lines.  We can not advertise rectangularLines.
+
+Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+Fixes: f6e7de41d7b ("anv: Implement VK_EXT_line_rasterization")
+---
+ src/intel/vulkan/anv_device.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
+index 50c690f96bd..d84fe7050f2 100644
+--- a/src/intel/vulkan/anv_device.c
++++ b/src/intel/vulkan/anv_device.c
+@@ -1534,7 +1534,11 @@ void anv_GetPhysicalDeviceFeatures2(
+       case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: {
+          VkPhysicalDeviceLineRasterizationFeaturesEXT *features =
+             (VkPhysicalDeviceLineRasterizationFeaturesEXT *)ext;
+-         features->rectangularLines = true;
++         /* Rectangular lines must use the strict algorithm, which is not
++          * supported for wide lines prior to ICL.  See rasterization_mode for
++          * details and how the HW states are programmed.
++          */
++         features->rectangularLines = pdevice->info.ver >= 10;
+          features->bresenhamLines = true;
+          /* Support for Smooth lines with MSAA was removed on gfx11.  From the
+           * BSpec section "Multisample ModesState" table for "AA Line Support
+-- 
+2.31.0
+
diff --git a/media-libs/mesa/files/UPSTREAM-intel-change-urb-max-shader-geometry-for-CML-GT1.patch b/media-libs/mesa/files/UPSTREAM-intel-change-urb-max-shader-geometry-for-CML-GT1.patch
deleted file mode 100644
index a408069..0000000
--- a/media-libs/mesa/files/UPSTREAM-intel-change-urb-max-shader-geometry-for-CML-GT1.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 276e3927b54292b2c0687b1f9bbcc0d69e314de7 Mon Sep 17 00:00:00 2001
-From: Abhishek Kumar <abhishek4.kumar@intel.com>
-Date: Mon, 18 Jan 2021 10:24:23 +0530
-Subject: [PATCH 002/188] intel: change urb max shader geometry for CML GT1
-
-Below deqp cts failure is seen on CML GT1 only , GT2 all test
-passes, changing the max shader geometry to 256 (previous 640)
-fixes all failure tests.Similar issue on BDW GT1
-https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3173
-
-dEQP-GLES31.functional.geometry_shading.layered.
-		render_with_default_layer_cubemap
-		render_with_default_layer_3d
-		render_with_default_layer_2d_array
-
-Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4102
-
-Signed-off-by: Abhishek Kumar <abhishek4.kumar@intel.com>
-Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8550>
----
- src/intel/dev/gen_device_info.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/intel/dev/gen_device_info.c b/src/intel/dev/gen_device_info.c
-index 5e26dc10b8c7..242251564658 100644
---- a/src/intel/dev/gen_device_info.c
-+++ b/src/intel/dev/gen_device_info.c
-@@ -764,6 +764,7 @@ static const struct gen_device_info gen_device_info_cfl_gt1 = {
-     * leading to some vertices to go missing if we use too much URB.
-     */
-    .urb.max_entries[MESA_SHADER_VERTEX] = 928,
-+   .urb.max_entries[MESA_SHADER_GEOMETRY] = 256,
-    .simulator_id = 24,
- };
- static const struct gen_device_info gen_device_info_cfl_gt2 = {
--- 
-2.7.4
-
diff --git a/media-libs/mesa/files/UPSTREAM-intel-change-urb-max-shader-geometry-for-KBL-GT1.patch b/media-libs/mesa/files/UPSTREAM-intel-change-urb-max-shader-geometry-for-KBL-GT1.patch
deleted file mode 100644
index be6c1da..0000000
--- a/media-libs/mesa/files/UPSTREAM-intel-change-urb-max-shader-geometry-for-KBL-GT1.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 26c9574bdb16d7f6cbe06cd5ef5d1ce258afc1ba Mon Sep 17 00:00:00 2001
-From: Abhishek Kumar <abhishek4.kumar@intel.com>
-Date: Tue, 26 Jan 2021 23:50:13 +0530
-Subject: [PATCH] intel: change urb max shader geometry for KBL GT1
-
-Below Deqp CTS failure is seen on KBL GT1(tested on 0x5906) only ,
-GT2 all test passes, changing the max shader geometry to 256
-(previous 640) fixes all failure tests.Similar issues on
-CML GT1 (Gen9) is fixed
-https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8550
-
-dEQP-GLES31.functional.geometry_shading.layered.
-	 render_with_default_layer_cubemap
-	 render_with_default_layer_3d
-	 render_with_default_layer_2d_array
-
-Signed-off-by: Abhishek Kumar <abhishek4.kumar@intel.com>
-Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8731>
----
- src/intel/dev/gen_device_info.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/intel/dev/gen_device_info.c b/src/intel/dev/gen_device_info.c
-index 242251564658..b29cc3d51a50 100644
---- a/src/intel/dev/gen_device_info.c
-+++ b/src/intel/dev/gen_device_info.c
-@@ -675,6 +675,7 @@ static const struct gen_device_info gen_device_info_kbl_gt1 = {
-     * leading to some vertices to go missing if we use too much URB.
-     */
-    .urb.max_entries[MESA_SHADER_VERTEX] = 928,
-+   .urb.max_entries[MESA_SHADER_GEOMETRY] = 256,
-    .simulator_id = 16,
- };
- 
--- 
-2.17.1
-
diff --git a/media-libs/mesa/mesa-21.3.1.ebuild b/media-libs/mesa/mesa-21.3.8-r2.ebuild
similarity index 100%
rename from media-libs/mesa/mesa-21.3.1.ebuild
rename to media-libs/mesa/mesa-21.3.8-r2.ebuild
diff --git a/media-libs/mesa/mesa-21.3.ebuild b/media-libs/mesa/mesa-21.3.ebuild
index ae5381f..ddc3c8f 100644
--- a/media-libs/mesa/mesa-21.3.ebuild
+++ b/media-libs/mesa/mesa-21.3.ebuild
@@ -4,15 +4,13 @@
 
 EAPI=7
 
-MESON_AUTO_DEPEND=no
-
-CROS_WORKON_COMMIT="9da08702b0cfde97ea2ef990ff888cf90d3dff4f"
-CROS_WORKON_TREE="b6b18a39106e627750d987321d972bc073a81e13"
+CROS_WORKON_COMMIT="813ee839be2ce7c3c804dc90cba5678323bcad7c"
+CROS_WORKON_TREE="4bb8e29b5d85ff2dad87951c52d8e89df00d1d09"
 
 EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa"
 CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
 CROS_WORKON_MANUAL_UPREV="1"
-CROS_WORKON_EGIT_BRANCH="upstream/main"
+CROS_WORKON_EGIT_BRANCH="upstream/21.3"
 
 if [[ ${PV} = 9999* ]]; then
 	GIT_ECLASS="git-2"
@@ -22,13 +20,13 @@
 inherit base multilib flag-o-matic meson toolchain-funcs ${GIT_ECLASS} cros-workon
 
 FOLDER="${PV/_rc*/}"
-[[ ${PV/_rc*/} == ${PV} ]] || FOLDER+="/RC"
+[[ ${PV/_rc*/} == "${PV}" ]] || FOLDER+="/RC"
 
 DESCRIPTION="OpenGL-like graphic library for Linux"
 HOMEPAGE="http://mesa3d.sourceforge.net/"
 
 #SRC_PATCHES="mirror://gentoo/${P}-gentoo-patches-01.tar.bz2"
-if [[ $PV = 9999* ]] || [[ -n ${CROS_WORKON_COMMIT} ]]; then
+if [[ ${PV} = 9999* ]] || [[ -n ${CROS_WORKON_COMMIT} ]]; then
 	SRC_URI="${SRC_PATCHES}"
 else
 	SRC_URI="ftp://ftp.freedesktop.org/pub/mesa/${FOLDER}/${P}.tar.bz2
@@ -76,6 +74,9 @@
 	llvm? ( virtual/libelf )
 	dev-libs/expat
 	dev-libs/libgcrypt
+	wayland? (
+		dev-libs/wayland:=
+	)
 	virtual/udev
 	zstd? ( app-arch/zstd )
 	${LIBDRM_DEPSTRING}
@@ -91,6 +92,11 @@
 	llvm? ( sys-devel/llvm )
 "
 
+PATCHES=(
+	"${FILESDIR}"/UPSTREAM-anv-advertise-rectangularLines-only-for-Gen10.patch
+	"${FILESDIR}"/CHROMIUM-i965-increase-BRW_MAX_UBO-to-16.patch
+)
+
 driver_list() {
 	local drivers="$(sort -u <<< "${1// /$'\n'}")"
 	echo "${drivers//$'\n'/,}"
@@ -203,7 +209,7 @@
 	# Remove redundant GLES headers
 	rm -f "${D}"/usr/include/{EGL,GLES2,GLES3,KHR}/*.h || die "Removing GLES headers failed."
 
-	dodir /usr/$(get_libdir)/dri
+	dodir "/usr/$(get_libdir)/dri"
 	insinto "/usr/$(get_libdir)/dri/"
 	insopts -m0755
 	# install the gallium drivers we use
@@ -230,21 +236,21 @@
 # $1 - VIDEO_CARDS flag (check skipped for "--")
 # other args - names of DRI drivers to enable
 dri_driver_enable() {
-	if [[ $1 == -- ]] || use $1; then
+	if [[ $1 == -- ]] || use "$1"; then
 		shift
 		DRI_DRIVERS+=("$@")
 	fi
 }
 
 gallium_enable() {
-	if [[ $1 == -- ]] || use $1; then
+	if [[ $1 == -- ]] || use "$1"; then
 		shift
 		GALLIUM_DRIVERS+=("$@")
 	fi
 }
 
 vulkan_enable() {
-	if [[ $1 == -- ]] || use $1; then
+	if [[ $1 == -- ]] || use "$1"; then
 		shift
 		VULKAN_DRIVERS+=("$@")
 	fi
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
index 35d2eb8..e9c76f8 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-9999.ebuild
@@ -7,23 +7,23 @@
 EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa"
 CROS_WORKON_PROJECT="chromiumos/third_party/mesa"
 CROS_WORKON_MANUAL_UPREV="1"
-CROS_WORKON_EGIT_BRANCH="upstream/main"
+CROS_WORKON_EGIT_BRANCH="upstream/21.3"
 
 if [[ ${PV} = 9999* ]]; then
 	GIT_ECLASS="git-2"
 	EXPERIMENTAL="true"
 fi
 
-inherit base flag-o-matic meson toolchain-funcs ${GIT_ECLASS} cros-workon
+inherit base multilib flag-o-matic meson toolchain-funcs ${GIT_ECLASS} cros-workon
 
 FOLDER="${PV/_rc*/}"
-[[ ${PV/_rc*/} == ${PV} ]] || FOLDER+="/RC"
+[[ ${PV/_rc*/} == "${PV}" ]] || FOLDER+="/RC"
 
 DESCRIPTION="OpenGL-like graphic library for Linux"
 HOMEPAGE="http://mesa3d.sourceforge.net/"
 
 #SRC_PATCHES="mirror://gentoo/${P}-gentoo-patches-01.tar.bz2"
-if [[ $PV = 9999* ]] || [[ -n ${CROS_WORKON_COMMIT} ]]; then
+if [[ ${PV} = 9999* ]] || [[ -n ${CROS_WORKON_COMMIT} ]]; then
 	SRC_URI="${SRC_PATCHES}"
 else
 	SRC_URI="ftp://ftp.freedesktop.org/pub/mesa/${FOLDER}/${P}.tar.bz2
@@ -34,6 +34,7 @@
 # ralloc is LGPL-3
 # GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0
 LICENSE="MIT LGPL-3 SGI-B-2.0"
+SLOT="0"
 KEYWORDS="~*"
 
 INTEL_CARDS="intel"
@@ -45,7 +46,7 @@
 
 IUSE="${IUSE_VIDEO_CARDS}
 	+classic debug dri drm egl +gallium -gbm gles1 gles2 kernel_FreeBSD
-	kvm_guest llvm +nptl pic selinux shared-glapi +vulkan wayland xlib-glx X
+	kvm_guest llvm +nptl pic selinux shared-glapi vulkan wayland xlib-glx X
 	libglvnd zstd"
 
 LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.60:="
@@ -56,11 +57,14 @@
 COMMON_DEPEND="
 	dev-libs/expat:=
 	dev-libs/libgcrypt:=
+	wayland? (
+		dev-libs/wayland:=
+	)
 	llvm? ( sys-devel/llvm:= )
 	llvm? ( virtual/libelf:= )
 	virtual/udev:=
 	X? (
-		!<x11-base/xorg-server-1.7:=
+		!<x11-base/xorg-server-1.7
 		>=x11-libs/libX11-1.3.99.901:=
 		x11-libs/libXdamage:=
 		x11-libs/libXext:=
@@ -89,6 +93,11 @@
 	sys-devel/flex
 "
 
+PATCHES=(
+	"${FILESDIR}"/UPSTREAM-anv-advertise-rectangularLines-only-for-Gen10.patch
+	"${FILESDIR}"/CHROMIUM-i965-increase-BRW_MAX_UBO-to-16.patch
+)
+
 driver_list() {
 	local drivers="$(sort -u <<< "${1// /$'\n'}")"
 	echo "${drivers//$'\n'/,}"
@@ -204,7 +213,7 @@
 	# Remove redundant GLES headers
 	rm -f "${D}"/usr/include/{EGL,GLES2,GLES3,KHR}/*.h || die "Removing GLES headers failed."
 
-	dodir /usr/$(get_libdir)/dri
+	dodir "/usr/$(get_libdir)/dri"
 	insinto "/usr/$(get_libdir)/dri/"
 	insopts -m0755
 	# install the gallium drivers we use
@@ -231,21 +240,21 @@
 # $1 - VIDEO_CARDS flag (check skipped for "--")
 # other args - names of DRI drivers to enable
 dri_driver_enable() {
-	if [[ $1 == -- ]] || use $1; then
+	if [[ $1 == -- ]] || use "$1"; then
 		shift
 		DRI_DRIVERS+=("$@")
 	fi
 }
 
 gallium_enable() {
-	if [[ $1 == -- ]] || use $1; then
+	if [[ $1 == -- ]] || use "$1"; then
 		shift
 		GALLIUM_DRIVERS+=("$@")
 	fi
 }
 
 vulkan_enable() {
-	if [[ $1 == -- ]] || use $1; then
+	if [[ $1 == -- ]] || use "$1"; then
 		shift
 		VULKAN_DRIVERS+=("$@")
 	fi
diff --git a/media-libs/metadata.xml b/media-libs/metadata.xml
deleted file mode 100644
index afd9185..0000000
--- a/media-libs/metadata.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The media-libs category contains media-related libraries.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie media-libs enthält Multimedia-Bibliotheken.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría media-libs contiene librerías relacionadas con media.
-	</longdescription>
-	<longdescription lang="ja">
-		media-libsカテゴリーにはメディア関連のライブラリが含まれています。
-	</longdescription>
-	<longdescription lang="nl">
-		De media-libs categorie bevat bibliotheken voor multimedia.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm media-libs chứa các thư viện liên quan đến media.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria media-libs contiene librerie multimediali.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria media-libs contém bibliotecas relacionadas com mídia.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria media-libs zawiera biblioteki multimedialne.
-	</longdescription>
-</catmetadata>
-
diff --git a/media-libs/minigbm/OWNERS b/media-libs/minigbm/OWNERS
index ca69086..62179fe 100644
--- a/media-libs/minigbm/OWNERS
+++ b/media-libs/minigbm/OWNERS
@@ -1,2 +1,3 @@
 set noparent
 include chromiumos/platform/graphics:/OWNERS.minigbm
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/media-libs/minigbm/minigbm-0.0.1-r563.ebuild b/media-libs/minigbm/minigbm-0.0.1-r563.ebuild
deleted file mode 100644
index ae2a1f8..0000000
--- a/media-libs/minigbm/minigbm-0.0.1-r563.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_WORKON_COMMIT="407eb0ebf3ce52fd4b3d79712d1b86d7b021c29b"
-CROS_WORKON_TREE="889ec259c7672ffc733d3ea60a0403fdddd2735d"
-CROS_WORKON_PROJECT="chromiumos/platform/minigbm"
-CROS_WORKON_LOCALNAME="../platform/minigbm"
-CROS_WORKON_OUTOFTREE_BUILD=1
-
-inherit cros-sanitizers cros-workon cros-common.mk multilib
-
-DESCRIPTION="Mini GBM implementation"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/minigbm"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-VIDEO_CARDS="
-	amdgpu exynos intel marvell mediatek msm
-	radeon radeonsi rockchip tegra vc4 virgl
-"
-IUSE="-asan linear_align_256"
-for card in ${VIDEO_CARDS}; do
-	IUSE+=" video_cards_${card}"
-done
-
-MINI_GBM_PLATFORMS_USE=( mt8183 mt8186 mt8192 mt8195 sc7280)
-IUSE+=" ${MINI_GBM_PLATFORMS_USE[*]/#/minigbm_platform_}"
-
-RDEPEND="
-	x11-libs/libdrm
-	!media-libs/mesa[gbm]"
-
-DEPEND="${RDEPEND}
-	virtual/pkgconfig
-	video_cards_amdgpu? (
-		virtual/opengles
-		x11-drivers/opengles-headers
-	)"
-
-src_prepare() {
-	default
-	sanitizers-setup-env
-	cros-common.mk_src_prepare
-}
-
-src_configure() {
-	export LIBDIR="/usr/$(get_libdir)"
-	append-cppflags -DDRI_DRIVER_DIR="/usr/$(get_libdir)/dri"
-	use video_cards_amdgpu && append-cppflags -DDRV_AMDGPU && export DRV_AMDGPU=1
-	use video_cards_exynos && append-cppflags -DDRV_EXYNOS && export DRV_EXYNOS=1
-	use video_cards_intel && append-cppflags -DDRV_I915 && export DRV_I915=1
-	if use video_cards_intel ; then
-		append-cppflags -DI915_SCANOUT_Y_TILED
-	fi
-	use video_cards_marvell && append-cppflags -DDRV_MARVELL && export DRV_MARVELL=1
-	use minigbm_platform_mt8183 && append-cppflags -DMTK_MT8183
-	use minigbm_platform_mt8186 && append-cppflags -DMTK_MT8186
-	use minigbm_platform_mt8192 && append-cppflags -DMTK_MT8192
-	use minigbm_platform_mt8195 && append-cppflags -DMTK_MT8195
-	use minigbm_platform_sc7280 && append-cppflags -DSC_7280
-	use video_cards_mediatek && append-cppflags -DDRV_MEDIATEK && export DRV_MEDIATEK=1
-	use video_cards_msm && append-cppflags -DDRV_MSM && export DRV_MSM=1
-	use video_cards_radeon && append-cppflags -DDRV_RADEON && export DRV_RADEON=1
-	use video_cards_radeonsi && append-cppflags -DDRV_RADEON && export DRV_RADEON=1
-	use video_cards_rockchip && append-cppflags -DDRV_ROCKCHIP && export DRV_ROCKCHIP=1
-	use video_cards_tegra && append-cppflags -DDRV_TEGRA && export DRV_TEGRA=1
-	use video_cards_vc4 && append-cppflags -DDRV_VC4 && export DRV_VC4=1
-	use video_cards_virgl && append-cppflags -DDRV_VIRGL && export DRV_VIRGL=1
-	use linear_align_256 && append-cppflags -DLINEAR_ALIGN_256
-	cros-common.mk_src_configure
-}
-
-src_compile() {
-	cros-common.mk_src_compile
-}
-
-src_install() {
-	insinto "${EPREFIX}/etc/udev/rules.d"
-	doins "${FILESDIR}/50-vgem.rules"
-
-	default
-}
diff --git a/media-libs/minigbm/minigbm-0.0.1-r599.ebuild b/media-libs/minigbm/minigbm-0.0.1-r599.ebuild
new file mode 100644
index 0000000..9bb452d
--- /dev/null
+++ b/media-libs/minigbm/minigbm-0.0.1-r599.ebuild
@@ -0,0 +1,85 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+CROS_WORKON_COMMIT="64de5175a02f9a36a4b0aa6fa54e0dd1d64985bf"
+CROS_WORKON_TREE="307193d7a54eb264e2b9246ad4af49c3436fe4b6"
+CROS_WORKON_PROJECT="chromiumos/platform/minigbm"
+CROS_WORKON_LOCALNAME="../platform/minigbm"
+CROS_WORKON_OUTOFTREE_BUILD=1
+
+inherit cros-sanitizers cros-workon cros-common.mk multilib
+
+DESCRIPTION="Mini GBM implementation"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/minigbm"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+VIDEO_CARDS="
+	amdgpu exynos intel marvell mediatek msm
+	radeon radeonsi rockchip tegra vc4 virgl
+"
+IUSE="-asan linear_align_256"
+for card in ${VIDEO_CARDS}; do
+	IUSE+=" video_cards_${card}"
+done
+
+MINI_GBM_PLATFORMS_USE=( mt8183 mt8186 mt8192 mt8195 sc7280)
+IUSE+=" ${MINI_GBM_PLATFORMS_USE[*]/#/minigbm_platform_}"
+
+RDEPEND="
+	x11-libs/libdrm
+	!media-libs/mesa[gbm]"
+
+DEPEND="${RDEPEND}
+	virtual/pkgconfig
+	video_cards_amdgpu? (
+		virtual/opengles
+		x11-drivers/opengles-headers
+	)"
+
+src_prepare() {
+	default
+	sanitizers-setup-env
+	cros-common.mk_src_prepare
+}
+
+src_configure() {
+	export LIBDIR="/usr/$(get_libdir)"
+	append-cppflags -DDRI_DRIVER_DIR="/usr/$(get_libdir)/dri"
+	use video_cards_amdgpu && append-cppflags -DDRV_AMDGPU && export DRV_AMDGPU=1
+	use video_cards_exynos && append-cppflags -DDRV_EXYNOS && export DRV_EXYNOS=1
+	use video_cards_intel && append-cppflags -DDRV_I915 && export DRV_I915=1
+	if use video_cards_intel ; then
+		append-cppflags -DI915_SCANOUT_Y_TILED
+	fi
+	use video_cards_marvell && append-cppflags -DDRV_MARVELL && export DRV_MARVELL=1
+	use minigbm_platform_mt8183 && append-cppflags -DMTK_MT8183
+	use minigbm_platform_mt8186 && append-cppflags -DMTK_MT8186
+	use minigbm_platform_mt8192 && append-cppflags -DMTK_MT8192
+	use minigbm_platform_mt8195 && append-cppflags -DMTK_MT8195
+	use minigbm_platform_sc7280 && append-cppflags -DSC_7280
+	use video_cards_mediatek && append-cppflags -DDRV_MEDIATEK && export DRV_MEDIATEK=1
+	use video_cards_msm && append-cppflags -DDRV_MSM && export DRV_MSM=1
+	use video_cards_radeon && append-cppflags -DDRV_RADEON && export DRV_RADEON=1
+	use video_cards_radeonsi && append-cppflags -DDRV_RADEON && export DRV_RADEON=1
+	use video_cards_rockchip && append-cppflags -DDRV_ROCKCHIP && export DRV_ROCKCHIP=1
+	use video_cards_tegra && append-cppflags -DDRV_TEGRA && export DRV_TEGRA=1
+	use video_cards_vc4 && append-cppflags -DDRV_VC4 && export DRV_VC4=1
+	use video_cards_virgl && append-cppflags -DDRV_VIRGL && export DRV_VIRGL=1
+	use linear_align_256 && append-cppflags -DLINEAR_ALIGN_256
+	cros-common.mk_src_configure
+}
+
+src_compile() {
+	cros-common.mk_src_compile
+}
+
+src_install() {
+	insinto "${EPREFIX}/etc/udev/rules.d"
+	doins "${FILESDIR}/50-vgem.rules"
+
+	default
+}
diff --git a/media-libs/opencl-cts/files/test_conversions.patch b/media-libs/opencl-cts/files/test_conversions.patch
new file mode 100644
index 0000000..724c8e0
--- /dev/null
+++ b/media-libs/opencl-cts/files/test_conversions.patch
@@ -0,0 +1,178 @@
+commit c25709f3964f1675a03c1a4f1315a09a4386c0bc
+Author: James Price <jrprice@google.com>
+Date:   Tue Nov 23 14:04:02 2021 -0500
+
+    Fix stack-use-after-scope crash in conversions (#1358)
+    
+    The way that program sources were being constructed involved capturing
+    pointers to strings that were allocated on the stack, and then trying
+    to use them outside of that scope. This change uses a stringstream
+    defined in the outer scope to build the program instead.
+
+diff --git a/test_conformance/conversions/test_conversions.cpp b/test_conformance/conversions/test_conversions.cpp
+index e8e572e..d489e28 100644
+--- a/test_conformance/conversions/test_conversions.cpp
++++ b/test_conformance/conversions/test_conversions.cpp
+@@ -38,6 +38,7 @@
+ #include <sys/param.h>
+ #endif
+ 
++#include <sstream>
+ #include <stdarg.h>
+ #include <stdio.h>
+ #include <string.h>
+@@ -1559,84 +1560,40 @@ static cl_program   MakeProgram( Type outType, Type inType, SaturationMode sat,
+     cl_program program;
+     char testName[256];
+     int error = 0;
+-    const char **strings;
+-    size_t stringCount = 0;
++
++    std::ostringstream source;
++    if (outType == kdouble || inType == kdouble)
++        source << "#pragma OPENCL EXTENSION cl_khr_fp64 : enable\n";
+ 
+     // Create the program. This is a bit complicated because we are trying to avoid byte and short stores.
+     if (0 == vectorSize)
+     {
++        // Create the type names.
+         char inName[32];
+         char outName[32];
+-        const char *programSource[] =
+-        {
+-            "", // optional pragma
+-            "__kernel void ", testName, "( __global ", inName, " *src, __global ", outName, " *dest )\n"
+-            "{\n"
+-            "   size_t i = get_global_id(0);\n"
+-            "   dest[i] =  src[i];\n"
+-            "}\n"
+-        };
+-        stringCount = sizeof(programSource) / sizeof(programSource[0]);
+-        strings = programSource;
+-
+-        if (outType == kdouble || inType == kdouble)
+-            programSource[0] = "#pragma OPENCL EXTENSION cl_khr_fp64 : enable\n";
+-
+-        //create the type name
+         strncpy(inName, gTypeNames[inType], sizeof(inName));
+         strncpy(outName, gTypeNames[outType], sizeof(outName));
+         sprintf(testName, "test_implicit_%s_%s", outName, inName);
+-        vlog("Building implicit %s -> %s conversion test\n", gTypeNames[inType], gTypeNames[outType]);
++
++        source << "__kernel void " << testName << "( __global " << inName
++               << " *src, __global " << outName << " *dest )\n";
++        source << "{\n";
++        source << "   size_t i = get_global_id(0);\n";
++        source << "   dest[i] =  src[i];\n";
++        source << "}\n";
++
++        vlog("Building implicit %s -> %s conversion test\n", gTypeNames[inType],
++             gTypeNames[outType]);
+         fflush(stdout);
+     }
+     else
+     {
+         int vectorSizetmp = vectorSizes[vectorSize];
+ 
++        // Create the type names.
+         char convertString[128];
+         char inName[32];
+         char outName[32];
+-        const char *programSource[] =
+-        {
+-            "", // optional pragma
+-            "__kernel void ", testName, "( __global ", inName, " *src, __global ", outName, " *dest )\n"
+-            "{\n"
+-            "   size_t i = get_global_id(0);\n"
+-            "   dest[i] = ", convertString, "( src[i] );\n"
+-            "}\n"
+-        };
+-        const char *programSourceV3[] =
+-        {
+-            "", // optional pragma
+-            "__kernel void ", testName, "( __global ", inName, " *src, __global ", outName, " *dest )\n"
+-            "{\n"
+-            "   size_t i = get_global_id(0);\n"
+-            "   if( i + 1 < get_global_size(0))\n"
+-            "       vstore3( ", convertString, "( vload3( i, src)), i, dest );\n"
+-            "   else\n"
+-            "   {\n"
+-            "       ", inName, "3 in;\n"
+-            "       ", outName, "3 out;\n"
+-            "       if( 0 == (i & 1) )\n"
+-            "           in.y = src[3*i+1];\n"
+-            "       in.x = src[3*i];\n"
+-            "       out = ", convertString, "( in ); \n"
+-            "       dest[3*i] = out.x;\n"
+-            "       if( 0 == (i & 1) )\n"
+-            "           dest[3*i+1] = out.y;\n"
+-            "   }\n"
+-            "}\n"
+-        };
+-        stringCount = 3 == vectorSizetmp ? sizeof(programSourceV3) / sizeof(programSourceV3[0]) :
+-            sizeof(programSource) / sizeof(programSource[0]);
+-        strings = 3 == vectorSizetmp ? programSourceV3 : programSource;
+-
+-        if (outType == kdouble || inType == kdouble) {
+-            programSource[0] = "#pragma OPENCL EXTENSION cl_khr_fp64 : enable\n";
+-            programSourceV3[0] = "#pragma OPENCL EXTENSION cl_khr_fp64 : enable\n";
+-        }
+-
+-        //create the type name
+         switch (vectorSizetmp)
+         {
+         case 1:
+@@ -1661,8 +1618,40 @@ static cl_program   MakeProgram( Type outType, Type inType, SaturationMode sat,
+             vlog("Building %s( %s ) test\n", convertString, inName);
+             break;
+         }
+-
+         fflush(stdout);
++
++        if (vectorSizetmp == 3)
++        {
++            source << "__kernel void " << testName << "( __global " << inName
++                   << " *src, __global " << outName << " *dest )\n";
++            source << "{\n";
++            source << "   size_t i = get_global_id(0);\n";
++            source << "   if( i + 1 < get_global_size(0))\n";
++            source << "       vstore3( " << convertString
++                   << "( vload3( i, src)), i, dest );\n";
++            source << "   else\n";
++            source << "   {\n";
++            source << "       " << inName << "3 in;\n";
++            source << "       " << outName << "3 out;\n";
++            source << "       if( 0 == (i & 1) )\n";
++            source << "           in.y = src[3*i+1];\n";
++            source << "       in.x = src[3*i];\n";
++            source << "       out = " << convertString << "( in ); \n";
++            source << "       dest[3*i] = out.x;\n";
++            source << "       if( 0 == (i & 1) )\n";
++            source << "           dest[3*i+1] = out.y;\n";
++            source << "   }\n";
++            source << "}\n";
++        }
++        else
++        {
++            source << "__kernel void " << testName << "( __global " << inName
++                   << " *src, __global " << outName << " *dest )\n";
++            source << "{\n";
++            source << "   size_t i = get_global_id(0);\n";
++            source << "   dest[i] = " << convertString << "( src[i] );\n";
++            source << "}\n";
++        }
+     }
+     *outKernel = NULL;
+ 
+@@ -1671,7 +1660,10 @@ static cl_program   MakeProgram( Type outType, Type inType, SaturationMode sat,
+         flags = "-cl-denorms-are-zero";
+ 
+     // build it
+-    error = create_single_kernel_helper(gContext, &program, outKernel, (cl_uint)stringCount, strings, testName, flags);
++    std::string sourceString = source.str();
++    const char *programSource = sourceString.c_str();
++    error = create_single_kernel_helper(gContext, &program, outKernel, 1,
++                                        &programSource, testName, flags);
+     if (error)
+     {
+         char    buffer[2048] = "";
diff --git a/media-libs/opencl-cts/files/test_int_basic_ops.patch b/media-libs/opencl-cts/files/test_int_basic_ops.patch
deleted file mode 100644
index 4b07ced..0000000
--- a/media-libs/opencl-cts/files/test_int_basic_ops.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/test_conformance/integer_ops/test_int_basic_ops.cpp b/test_conformance/integer_ops/test_int_basic_ops.cpp
-index 519e5be..7b4ff08 100644
---- a/test_conformance/integer_ops/test_int_basic_ops.cpp
-+++ b/test_conformance/integer_ops/test_int_basic_ops.cpp
-@@ -514,7 +514,7 @@ test_integer_ops_threaded(cl_device_id deviceID, cl_context context, cl_command_
-     maxDeviceGlobalMem = (maxDeviceGlobalMem * 3) >> 2;
-     // Now reduce num_elements so that the total device memory usage does not exceed 75% of global device memory.
-     size_t type_size = get_explicit_type_size(type);
--    while ((cl_ulong)threadcount * 4 * num_elements * type_size * vectorSize > maxDeviceGlobalMem)
-+    while ((cl_ulong)threadcount * 4 * num_elements * type_size * vectorSize > maxDeviceGlobalMem || (num_elements > 64*1024))
-     {
-         num_elements >>= 1;
-     }
diff --git a/media-libs/opencl-cts/files/test_select.patch b/media-libs/opencl-cts/files/test_select.patch
deleted file mode 100644
index e368f39..0000000
--- a/media-libs/opencl-cts/files/test_select.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/test_conformance/select/test_select.cpp b/test_conformance/select/test_select.cpp
-index 35f154a..05f566a 100644
---- a/test_conformance/select/test_select.cpp
-+++ b/test_conformance/select/test_select.cpp
-@@ -63,7 +63,7 @@ static void printUsage( void );
- //-----------------------------------------
- 
- // Define the buffer size that we want to block our test with
--#define BUFFER_SIZE (1024*1024)
-+#define BUFFER_SIZE (64*1024)
- #define KPAGESIZE 4096
- 
- 
diff --git a/media-libs/opencl-cts/files/test_sub_buffers.patch b/media-libs/opencl-cts/files/test_sub_buffers.patch
deleted file mode 100644
index 1dec27a..0000000
--- a/media-libs/opencl-cts/files/test_sub_buffers.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/test_conformance/buffers/test_sub_buffers.cpp b/test_conformance/buffers/test_sub_buffers.cpp
-index d6ab111..771380e 100644
---- a/test_conformance/buffers/test_sub_buffers.cpp
-+++ b/test_conformance/buffers/test_sub_buffers.cpp
-@@ -522,6 +522,7 @@ int test_sub_buffers_overlapping( cl_device_id deviceID, cl_context context, cl_
-     {
-         size_t offset = get_random_size_t( 0, mainSize / addressAlign, Action::GetRandSeed() ) * addressAlign;
-         size_t size = get_random_size_t( 1, ( mainSize - offset ) / addressAlign, Action::GetRandSeed() ) * addressAlign;
-+        size %= 64 * 1024;
- 
-         error = subBuffers[ i ].Allocate( mainBuffer, CL_MEM_READ_ONLY, offset, size );
-         test_error( error, "Unable to allocate sub buffer" );
diff --git a/media-libs/opencl-cts/opencl-cts-0.0.1-r1.ebuild b/media-libs/opencl-cts/opencl-cts-0.0.1-r3.ebuild
similarity index 100%
rename from media-libs/opencl-cts/opencl-cts-0.0.1-r1.ebuild
rename to media-libs/opencl-cts/opencl-cts-0.0.1-r3.ebuild
diff --git a/media-libs/opencl-cts/opencl-cts-0.0.1.ebuild b/media-libs/opencl-cts/opencl-cts-0.0.1.ebuild
index f4d2c8c..528d959e 100644
--- a/media-libs/opencl-cts/opencl-cts-0.0.1.ebuild
+++ b/media-libs/opencl-cts/opencl-cts-0.0.1.ebuild
@@ -24,8 +24,6 @@
 
 # target runtime dependencies
 RDEPEND="
-	>=dev-util/spirv-tools-2020.6
-	>=media-libs/vulkan-loader-1.2.162
 	>=media-libs/clvk-0.0.1
 "
 
@@ -37,9 +35,7 @@
 S="${WORKDIR}/${OPENCL_CTS}"
 
 PATCHES=(
-	"${FILESDIR}/test_select.patch"
-	"${FILESDIR}/test_sub_buffers.patch"
-	"${FILESDIR}/test_int_basic_ops.patch"
+	"${FILESDIR}/test_conversions.patch"
 )
 
 src_prepare() {
diff --git a/media-libs/opencv/Manifest b/media-libs/opencv/Manifest
index 3f4b2df..88a931e4 100644
--- a/media-libs/opencv/Manifest
+++ b/media-libs/opencv/Manifest
@@ -2,4 +2,11 @@
 DIST opencv-3.4.0-res10_300x300-caffeemodel.tar.gz 10036604 BLAKE2B 2a2de48fc420f13e7be146ac88f311901c5b4e409c30e466152e33cae1f8afd87dcb6d758af447c268d90bd67989c8798cd80cab172b10499a6ad5224509dbdf SHA512 96fee9f447d5739bc01a5cab37c453cf7237457dfb5d2bf93ac37f8e5aa557ac222316f449cd58e37e856abe4d8e9d4a7820daaba32f0b22cbcde8e340287d4b
 DIST opencv-4.1.2.tar.gz 87468598 BLAKE2B 9e0fbd8499f783cd1a2b5ffddf557aef424b0a446f71f826522ffd4526d04742e0c408b99810fe6b39753d40c475922d2e273732fdc0a0b4ee0bc56052a7a26c SHA512 d18d2cc35dc1c95c8870d35feb14459db27ebf6d09ff89a185918b1faff1b36dedacc18f268a6483570c404aca19b83ba627ce7af2265af7195a029cb766c09f
 DIST opencv-4.1.2_contrib.tar.gz 60881937 BLAKE2B c461aaa62306b226bde9211e2d611dcf705510e32c8598458737eb09c510cfdb49c33e11f1a7c591090d8243590e915b779fdb55955550fe44dab7545e4cc308 SHA512 1e14f94f9228c5d6a598493eed265aab1d8a740d5bfa00639afb05287732220eb71f88bb374de47dcd440f4376486f9db0e8b338e90e5dc4f6af8d355340b622
+DIST opencv-4.4.0_extdep.tar.gz 65334871 BLAKE2B 89fa0083da428e986bb4287295bdbff626d0f84866377413649c1d7ca77338288141f22d2a3c0b64d6d0fc1db98f918c8b33a665274cee4c4aefb44359e4333d SHA512 7b758099ce4abef151051e3e9e1e45b73e4054669d3aa53051e4d4c5f43d9373c9bda5ecbce51f6b024562cb566bd1117505af29ab5f3c36a493f185111a3b4e
+DIST opencv-4.5.2.tar.gz 88925795 BLAKE2B 625d3e1d98d4438ebfa165e595fc661658ae1f218d3c50c0b8dfedf936019093c1e61ead86b19c643205f0d77e40c69ea15c3d95454129a23a2c4e17885b65f3 SHA512 07788ec49801bdab963a057871e81fc2b081149c75764810197766d987e54db0d6fd142d2397bbbacefcea6a8be100235ea886ee7e5d5c07ed1156e76249dfec
+DIST opencv-4.5.2_contrib.tar.gz 60800680 BLAKE2B d96b3c440090d3ab26f99a3822d1d85581e370dc0fde7cf3a0ff89e79cd598942be7d9bc9f892510f2d66474ceb59c645483a94131ccbbe09f1cf4eeaaa44879 SHA512 72ce91dfefc1c3e12cc8e965d90392cfed6c236daafb512aafc14cdad83242bfa0fc1adea308cd07a5483e010633e2996c3b239b2ce12cea47e6e21c36ed398b
+DIST opencv-4.5.4.tar.gz 89724634 BLAKE2B 76ce5ab8182c87e5f9e18faf62f2ee0eb629e4997877c59aa0f6ac334c27d737cf5205f4b85f64cabfdd587a57096fa3241ae6e48cebbd963ec8ad3ebe07ad35 SHA512 39a7af95bc30d427c6df5e5d481469ab1ceea7878a93ae5c119991333e877a88d0a644e17dc6bd316e64b2840e48411a97f1b2397a8000719c5cec32751fa954
+DIST opencv-4.5.4_contrib.tar.gz 61054226 BLAKE2B c553bfc6fd1b5fd17f562b27248ddd4bd946089cd8cce346f152b47d4a8a22faa35ceb9bd501c31901189b884d782fbfec1dc041d69e1b8cc0ac0d5d079e610e SHA512 a48d4b5d764170814d9027fdf50f61bb4a24f0b5a547dded79d06b948f86443f14734efc7bbb708b3870781cafc6bc9e3092d35dac34a81da2bf1740d5f93ff9
+DIST opencv-4.5.5.tar.gz 89879893 BLAKE2B 6f2ce34b33132ad544d661417f730e17aedfbe17a22048ad0b8d287970626756c51309410d0fb5bf487af773ff4415d36b6768158ebc3cb963b37bb888ee4ba6 SHA512 4d1783fd78425cc43bb2153446dd634cedd366a49592bccc0c538a40aa161fcf67db8f1b6b68f1ce0b4a93504b3f06f65931709277afb1a1ee9fe963094bca02
+DIST opencv-4.5.5_contrib.tar.gz 60563220 BLAKE2B 4a020824688e379f1d127fb834b0008b3cbf78acea4847cb4994e9e0b6ddfeec3f06867967b8546725cf050c1fd0df042a18caff80463ad101cf14dc66daea9a SHA512 8469de524e8e6f4c50a74b8cbec5e4cfc48a63a6dfc787609696099eca40dc02b9dc7a347a014d4416fd4efd66955d3af5f4847f44612312a8362f453e6c2e35
 DIST vgg_boostdesc-3.2.0.tar.gz 1867770 BLAKE2B 1fa5b58e73b6fa56ecf8d19af22298f729942ee1369082e173445d09d3de767bf844bad3d2b462efc1199c392f37c88ba49a9996ba8bfd84b4abeba7de94db63 SHA512 4a046aedd639c8eb4b295b0f499e756deb66210ca083f0124c75531e540663367cb58f6d175f66c4713324177036cd89a8869bdab2de8d1736dafc7f00ef9f44
diff --git a/media-libs/opencv/files/opencv-3.0.0-gles.patch b/media-libs/opencv/files/opencv-3.0.0-gles.patch
deleted file mode 100644
index a2629d9..0000000
--- a/media-libs/opencv/files/opencv-3.0.0-gles.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: opencv-2.4.11/modules/highgui/src/window_QT.cpp
-===================================================================
---- opencv-2.4.11.orig/modules/highgui/src/window_QT.cpp
-+++ opencv-2.4.11/modules/highgui/src/window_QT.cpp
-@@ -3118,7 +3118,9 @@ void OpenGlViewPort::updateGl()
- 
- void OpenGlViewPort::initializeGL()
- {
-+#ifdef GL_PERSPECTIVE_CORRECTION_HINT
-     glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
-+#endif
- }
- 
- void OpenGlViewPort::resizeGL(int w, int h)
diff --git a/media-libs/opencv/files/opencv-4.1.2-add-sstream-include.patch b/media-libs/opencv/files/opencv-4.1.2-add-sstream-include.patch
deleted file mode 100644
index f3366ab..0000000
--- a/media-libs/opencv/files/opencv-4.1.2-add-sstream-include.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Fix opencv builds by adding a missing header,
-https://crbug.com/1059030.
-
-Github PR: https://github.com/opencv/opencv/pull/16740
-
-diff --git a/modules/core/include/opencv2/core/cvstd.inl.hpp b/modules/core/include/opencv2/core/cvstd.inl.hpp
-index 4a85bfd..37ad1e6 100644
---- a/modules/core/include/opencv2/core/cvstd.inl.hpp
-+++ b/modules/core/include/opencv2/core/cvstd.inl.hpp
-@@ -46,6 +46,7 @@
- 
- #include <complex>
- #include <ostream>
-+#include <sstream>
- 
- //! @cond IGNORED
- 
diff --git a/media-libs/opencv/files/opencv-4.1.2-pkg-config-file.patch b/media-libs/opencv/files/opencv-4.1.2-pkg-config-file.patch
deleted file mode 100644
index 4962161..0000000
--- a/media-libs/opencv/files/opencv-4.1.2-pkg-config-file.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/cmake/templates/opencv-XXX.pc.in	2019-12-04 21:28:09.686525699 +0100
-+++ b/cmake/templates/opencv-XXX.pc.in	2019-12-04 21:29:21.319265154 +0100
-@@ -3,7 +3,7 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
- libdir=@libdir@
--includedir_old=@includedir@/opencv
-+includedir_old=@includedir@/opencv2
- includedir_new=@includedir@
- 
- Name: OpenCV
diff --git a/media-libs/opencv/files/opencv-4.4.0-disable-native-cpuflag-detect.patch b/media-libs/opencv/files/opencv-4.4.0-disable-native-cpuflag-detect.patch
new file mode 100644
index 0000000..89ac1ff
--- /dev/null
+++ b/media-libs/opencv/files/opencv-4.4.0-disable-native-cpuflag-detect.patch
@@ -0,0 +1,26 @@
+ cmake/OpenCVCompilerOptimizations.cmake | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/cmake/OpenCVCompilerOptimizations.cmake b/cmake/OpenCVCompilerOptimizations.cmake
+index 970dd28903..b56892bb12 100644
+--- a/cmake/OpenCVCompilerOptimizations.cmake
++++ b/cmake/OpenCVCompilerOptimizations.cmake
+@@ -156,12 +156,12 @@ if(";${CPU_BASELINE};" MATCHES ";NATIVE;" OR ";${CPU_BASELINE};" MATCHES ";HOST;
+   set(_add_native_flag ON)
+ elseif(";${CPU_BASELINE};" MATCHES ";DETECT;")
+   set(CPU_BASELINE_DETECT ON)
+-elseif(" ${CMAKE_CXX_FLAGS} " MATCHES " -march=native | -xHost | /QxHost ")
+-  if(DEFINED CPU_BASELINE)
+-    message(STATUS "CPU: Detected '-march=native' or '-xHost' compiler flag. Force CPU_BASELINE=DETECT.")
+-  endif()
+-  set(CPU_BASELINE "DETECT" CACHE STRING "${HELP_CPU_BASELINE}")
+-  set(CPU_BASELINE_DETECT ON)
++#elseif(" ${CMAKE_CXX_FLAGS} " MATCHES " -march=native | -xHost | /QxHost ")
++#  if(DEFINED CPU_BASELINE)
++#    message(STATUS "CPU: Detected '-march=native' or '-xHost' compiler flag. Force CPU_BASELINE=DETECT.")
++#  endif()
++#  set(CPU_BASELINE "DETECT" CACHE STRING "${HELP_CPU_BASELINE}")
++#  set(CPU_BASELINE_DETECT ON)
+ endif()
+ 
+ if(X86 OR X86_64)
diff --git a/media-libs/opencv/files/opencv-4.5.0-link-with-cblas-for-lapack.patch b/media-libs/opencv/files/opencv-4.5.0-link-with-cblas-for-lapack.patch
new file mode 100644
index 0000000..acee677
--- /dev/null
+++ b/media-libs/opencv/files/opencv-4.5.0-link-with-cblas-for-lapack.patch
@@ -0,0 +1,18 @@
+diff --git a/cmake/OpenCVFindLAPACK.cmake b/cmake/OpenCVFindLAPACK.cmake
+index 342bebc..9ebd206 100644
+--- a/cmake/OpenCVFindLAPACK.cmake
++++ b/cmake/OpenCVFindLAPACK.cmake
+@@ -136,10 +136,12 @@ if(WITH_LAPACK)
+         ocv_lapack_check()
+       endif()
+       if(NOT HAVE_LAPACK)
+-        if(LAPACKE_INCLUDE_DIR)
++        find_package(CBLAS)
++        if(LAPACKE_INCLUDE_DIR AND CBLAS_FOUND)
+           set(LAPACK_INCLUDE_DIR  ${LAPACKE_INCLUDE_DIR})
+           set(LAPACK_CBLAS_H      "cblas.h")
+           set(LAPACK_LAPACKE_H    "lapacke.h")
++          set(LAPACK_LIBRARIES    ${LAPACK_LIBRARIES} ${CBLAS_LIBRARIES})
+           set(LAPACK_IMPL         "LAPACK/Generic")
+           ocv_lapack_check()
+         elseif(APPLE)
diff --git a/media-libs/opencv/metadata.xml b/media-libs/opencv/metadata.xml
index f7bccfa..1626a4e 100644
--- a/media-libs/opencv/metadata.xml
+++ b/media-libs/opencv/metadata.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
 	<maintainer type="person">
 		<email>amynka@gentoo.org</email>
@@ -17,6 +17,8 @@
 		<flag name="eigen">Enable usage of <pkg>dev-cpp/eigen</pkg> for computations</flag>
 		<flag name="features2d">Enable features2d module</flag>
 		<flag name="gdal">Enable support for sci-libs/gdal library</flag>
+		<flag name="gtk3">Enable x11-libs/gtk+:3 support</flag>
+		<flag restrict="&gt;=media-libs/opencv-4.4.0" name="lto">Build using Link Time Optimizations (LTO)</flag>
 		<flag restrict="&gt;=media-libs/opencv-4.1.2" name="opencvapps">Enable compilation with opencvapps</flag>
 		<flag restrict="&gt;=media-libs/opencv-3.1.0" name="gflags">Use Google's C++ argument parsing library</flag>
 		<flag restrict="&gt;=media-libs/opencv-3.1.0" name="glog">Use Google's C++ loggin library</flag>
@@ -25,6 +27,8 @@
 		<flag restrict="&gt;=media-libs/opencv-3.3.0" name="contribdnn">DNN module contrib requires tiny dnn</flag>
 		<flag restrict="&gt;=media-libs/opencv-3.1.0" name="contribhdf">HDF module requires <pkg>sci-libs/hdf5</pkg></flag>
 		<flag restrict="&gt;=media-libs/opencv-3.1.0" name="contribsfm">SFM module requires eigen, gflags, and glog</flag>
+		<flag restrict="&gt;=media-libs/opencv-4.4.0" name="contribfreetype">Enable Drawing UTF-8 strings with freetype/harfbuzz</flag>
+		<flag restrict="&gt;=media-libs/opencv-4.4.0" name="contribovis">Enable Ogre vision module support</flag>
 		<flag restrict="&gt;=media-libs/opencv-3.4.0" name="dnnsamples">Download dnn caffeemodel samples</flag>
 		<flag name="opencl">Add support for OpenCL</flag>
 		<flag restrict="&gt;=media-libs/opencv-3.1.0" name="tesseract">Use Google's OCR Engine</flag>
@@ -33,7 +37,8 @@
 	</use>
 	<upstream>
 		<remote-id type="cpe">cpe:/a:opencv:opencv</remote-id>
-		<remote-id type="sourceforge">opencvlibrary</remote-id>
+		<remote-id type="github">opencv/opencv</remote-id>
 		<remote-id type="github">Itseez/opencv_contrib</remote-id>
+		<remote-id type="sourceforge">opencvlibrary</remote-id>
 	</upstream>
 </pkgmetadata>
diff --git a/media-libs/opencv/opencv-4.1.2-r3.ebuild b/media-libs/opencv/opencv-4.1.2-r3.ebuild
deleted file mode 100644
index 597f68e..0000000
--- a/media-libs/opencv/opencv-4.1.2-r3.ebuild
+++ /dev/null
@@ -1,507 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 python3_{6,7} )
-
-inherit java-pkg-opt-2 java-ant-2 python-r1 toolchain-funcs cmake-multilib
-
-DESCRIPTION="A collection of algorithms and sample code for various computer vision problems"
-HOMEPAGE="https://opencv.org"
-TINY_DNN_PV="1.0.0a3"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
-	dnnsamples? ( https://dev.gentoo.org/~amynka/snap/${PN}-3.4.0-res10_300x300-caffeemodel.tar.gz )
-	contrib? (
-		https://github.com/${PN}/${PN}_contrib/archive/${PV}.tar.gz -> ${P}_contrib.tar.gz
-		contribdnn? ( https://dev.gentoo.org/~amynka/snap/${PN}-3.4.0-face_landmark_model.tar.gz )
-		contribxfeatures2d? ( https://dev.gentoo.org/~amynka/snap/vgg_boostdesc-3.2.0.tar.gz )
-	)"
-
-LICENSE="BSD"
-SLOT="0/4.1.2" # subslot = libopencv* soname version
-KEYWORDS="*"
-IUSE="contrib contribcvv contribdnn contribhdf contribsfm contribxfeatures2d cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_popcnt cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_fma3 cuda debug dnnsamples -download +eigen examples +features2d ffmpeg gdal gflags glog gphoto2 gstreamer gtk ieee1394 jpeg jpeg2k lapack libav opencl openexr opengl openmp opencvapps pch png +python qt5 tesseract testprograms threads tiff vaapi v4l vtk webp xine"
-# OpenGL needs gtk or Qt installed to activate, otherwise build system
-# will silently disable it Wwithout the user knowing, which defeats the
-# purpose of the opengl use flag.
-REQUIRED_USE="
-	cuda? ( tesseract? ( opencl ) )
-	dnnsamples? ( examples )
-	gflags? ( contrib )
-	glog? ( contrib )
-	contribcvv? ( contrib qt5 )
-	contribdnn? ( contrib )
-	contribhdf? ( contrib )
-	contribsfm? ( contrib eigen gflags glog )
-	contribxfeatures2d? ( contrib download )
-	java? ( python )
-	opengl? ( || ( gtk qt5 ) )
-	python? ( ${PYTHON_REQUIRED_USE} )
-	tesseract? ( contrib )"
-
-# The following logic is intrinsic in the build system, but we do not enforce
-# it on the useflags since this just blocks emerging pointlessly:
-#	gtk? ( !qt5 )
-#	openmp? ( !threads )
-
-RDEPEND="
-	app-arch/bzip2[${MULTILIB_USEDEP}]
-	dev-libs/protobuf:=[${MULTILIB_USEDEP}]
-	sys-libs/zlib[${MULTILIB_USEDEP}]
-	cuda? ( dev-util/nvidia-cuda-toolkit:0= )
-	contribhdf? ( sci-libs/hdf5:= )
-	ffmpeg? (
-		libav? ( media-video/libav:0=[${MULTILIB_USEDEP}] )
-		!libav? ( media-video/ffmpeg:0=[${MULTILIB_USEDEP}] )
-	)
-	gdal? ( sci-libs/gdal:= )
-	gflags? ( dev-cpp/gflags[${MULTILIB_USEDEP}] )
-	glog? ( dev-cpp/glog[${MULTILIB_USEDEP}] )
-	gphoto2? ( media-libs/libgphoto2[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-		media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
-	)
-	gtk? (
-		dev-libs/glib:2[${MULTILIB_USEDEP}]
-		x11-libs/gtk+:2[${MULTILIB_USEDEP}]
-		opengl? ( x11-libs/gtkglext[${MULTILIB_USEDEP}] )
-	)
-	ieee1394? (
-		media-libs/libdc1394[${MULTILIB_USEDEP}]
-		sys-libs/libraw1394[${MULTILIB_USEDEP}]
-	)
-	java? ( >=virtual/jre-1.6:* )
-	jpeg? ( virtual/jpeg:0[${MULTILIB_USEDEP}] )
-	lapack? ( virtual/lapack )
-	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-	openexr? ( media-libs/openexr[${MULTILIB_USEDEP}] )
-	opengl? (
-		virtual/opengl[${MULTILIB_USEDEP}]
-		virtual/glu[${MULTILIB_USEDEP}]
-	)
-	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
-	python? ( ${PYTHON_DEPS} dev-python/numpy[${PYTHON_USEDEP}] )
-	qt5? (
-		dev-qt/qtgui:5
-		dev-qt/qtwidgets:5
-		dev-qt/qttest:5
-		dev-qt/qtconcurrent:5
-		opengl? ( dev-qt/qtopengl:5 )
-	)
-	tesseract? ( app-text/tesseract[opencl=] )
-	threads? ( dev-cpp/tbb[${MULTILIB_USEDEP}] )
-	tiff? ( media-libs/tiff:0[${MULTILIB_USEDEP}] )
-	v4l? ( >=media-libs/libv4l-0.8.3[${MULTILIB_USEDEP}] )
-	vtk? ( sci-libs/vtk[rendering] )
-	webp? ( media-libs/libwebp[${MULTILIB_USEDEP}] )
-	xine? ( media-libs/xine-lib )"
-DEPEND="${RDEPEND}
-	virtual/pkgconfig[${MULTILIB_USEDEP}]
-	eigen? ( dev-cpp/eigen:3 )
-	java?  ( >=virtual/jdk-1.6 )
-	vaapi?  ( x11-libs/libva )"
-
-MULTILIB_WRAPPED_HEADERS=(
-	/usr/include/opencv2/cvconfig.h
-	/usr/include/opencv2/opencv_modules.hpp
-	# [contrib_cvv]
-	/usr/include/opencv2/cvv.hpp
-	/usr/include/opencv2/cvv/call_meta_data.hpp
-	/usr/include/opencv2/cvv/cvv.hpp
-	/usr/include/opencv2/cvv/debug_mode.hpp
-	/usr/include/opencv2/cvv/dmatch.hpp
-	/usr/include/opencv2/cvv/filter.hpp
-	/usr/include/opencv2/cvv/final_show.hpp
-	/usr/include/opencv2/cvv/show_image.hpp
-	# [contrib_hdf]
-	/usr/include/opencv2/hdf.hpp
-	/usr/include/opencv2/hdf/hdf5.hpp
-	# [vtk]
-	/usr/include/opencv2/viz.hpp
-	/usr/include/opencv2/viz/types.hpp
-	/usr/include/opencv2/viz/viz3d.hpp
-	/usr/include/opencv2/viz/vizcore.hpp
-	/usr/include/opencv2/viz/widget_accessor.hpp
-	/usr/include/opencv2/viz/widgets.hpp
-	# [cudev]
-	/usr/include/opencv2/cudaarithm.hpp
-	/usr/include/opencv2/cudabgsegm.hpp
-	/usr/include/opencv2/cudacodec.hpp
-	/usr/include/opencv2/cudafeatures2d.hpp
-	/usr/include/opencv2/cudafilters.hpp
-	/usr/include/opencv2/cudaimgproc.hpp
-	/usr/include/opencv2/cudalegacy.hpp
-	/usr/include/opencv2/cudalegacy/NCVBroxOpticalFlow.hpp
-	/usr/include/opencv2/cudalegacy/NCVHaarObjectDetection.hpp
-	/usr/include/opencv2/cudalegacy/NCV.hpp
-	/usr/include/opencv2/cudalegacy/NCVPyramid.hpp
-	/usr/include/opencv2/cudalegacy/NPP_staging.hpp
-	/usr/include/opencv2/cudaobjdetect.hpp
-	/usr/include/opencv2/cudaoptflow.hpp
-	/usr/include/opencv2/cudastereo.hpp
-	/usr/include/opencv2/cudawarping.hpp
-	/usr/include/opencv2/cudev/block/block.hpp
-	/usr/include/opencv2/cudev/block/detail/reduce.hpp
-	/usr/include/opencv2/cudev/block/detail/reduce_key_val.hpp
-	/usr/include/opencv2/cudev/block/dynamic_smem.hpp
-	/usr/include/opencv2/cudev/block/reduce.hpp
-	/usr/include/opencv2/cudev/block/scan.hpp
-	/usr/include/opencv2/cudev/block/vec_distance.hpp
-	/usr/include/opencv2/cudev/common.hpp
-	/usr/include/opencv2/cudev/expr/binary_func.hpp
-	/usr/include/opencv2/cudev/expr/binary_op.hpp
-	/usr/include/opencv2/cudev/expr/color.hpp
-	/usr/include/opencv2/cudev/expr/deriv.hpp
-	/usr/include/opencv2/cudev/expr/expr.hpp
-	/usr/include/opencv2/cudev/expr/per_element_func.hpp
-	/usr/include/opencv2/cudev/expr/reduction.hpp
-	/usr/include/opencv2/cudev/expr/unary_func.hpp
-	/usr/include/opencv2/cudev/expr/unary_op.hpp
-	/usr/include/opencv2/cudev/expr/warping.hpp
-	/usr/include/opencv2/cudev/functional/color_cvt.hpp
-	/usr/include/opencv2/cudev/functional/detail/color_cvt.hpp
-	/usr/include/opencv2/cudev/functional/functional.hpp
-	/usr/include/opencv2/cudev/functional/tuple_adapter.hpp
-	/usr/include/opencv2/cudev/grid/copy.hpp
-	/usr/include/opencv2/cudev/grid/detail/copy.hpp
-	/usr/include/opencv2/cudev/grid/detail/histogram.hpp
-	/usr/include/opencv2/cudev/grid/detail/integral.hpp
-	/usr/include/opencv2/cudev/grid/detail/minmaxloc.hpp
-	/usr/include/opencv2/cudev/grid/detail/pyr_down.hpp
-	/usr/include/opencv2/cudev/grid/detail/pyr_up.hpp
-	/usr/include/opencv2/cudev/grid/detail/reduce.hpp
-	/usr/include/opencv2/cudev/grid/detail/reduce_to_column.hpp
-	/usr/include/opencv2/cudev/grid/detail/reduce_to_row.hpp
-	/usr/include/opencv2/cudev/grid/detail/split_merge.hpp
-	/usr/include/opencv2/cudev/grid/detail/transform.hpp
-	/usr/include/opencv2/cudev/grid/detail/transpose.hpp
-	/usr/include/opencv2/cudev/grid/histogram.hpp
-	/usr/include/opencv2/cudev/grid/integral.hpp
-	/usr/include/opencv2/cudev/grid/pyramids.hpp
-	/usr/include/opencv2/cudev/grid/reduce.hpp
-	/usr/include/opencv2/cudev/grid/reduce_to_vec.hpp
-	/usr/include/opencv2/cudev/grid/split_merge.hpp
-	/usr/include/opencv2/cudev/grid/transform.hpp
-	/usr/include/opencv2/cudev/grid/transpose.hpp
-	/usr/include/opencv2/cudev.hpp
-	/usr/include/opencv2/cudev/ptr2d/constant.hpp
-	/usr/include/opencv2/cudev/ptr2d/deriv.hpp
-	/usr/include/opencv2/cudev/ptr2d/detail/gpumat.hpp
-	/usr/include/opencv2/cudev/ptr2d/extrapolation.hpp
-	/usr/include/opencv2/cudev/ptr2d/glob.hpp
-	/usr/include/opencv2/cudev/ptr2d/gpumat.hpp
-	/usr/include/opencv2/cudev/ptr2d/interpolation.hpp
-	/usr/include/opencv2/cudev/ptr2d/lut.hpp
-	/usr/include/opencv2/cudev/ptr2d/mask.hpp
-	/usr/include/opencv2/cudev/ptr2d/remap.hpp
-	/usr/include/opencv2/cudev/ptr2d/resize.hpp
-	/usr/include/opencv2/cudev/ptr2d/texture.hpp
-	/usr/include/opencv2/cudev/ptr2d/traits.hpp
-	/usr/include/opencv2/cudev/ptr2d/transform.hpp
-	/usr/include/opencv2/cudev/ptr2d/warping.hpp
-	/usr/include/opencv2/cudev/ptr2d/zip.hpp
-	/usr/include/opencv2/cudev/util/atomic.hpp
-	/usr/include/opencv2/cudev/util/detail/tuple.hpp
-	/usr/include/opencv2/cudev/util/detail/type_traits.hpp
-	/usr/include/opencv2/cudev/util/limits.hpp
-	/usr/include/opencv2/cudev/util/saturate_cast.hpp
-	/usr/include/opencv2/cudev/util/simd_functions.hpp
-	/usr/include/opencv2/cudev/util/tuple.hpp
-	/usr/include/opencv2/cudev/util/type_traits.hpp
-	/usr/include/opencv2/cudev/util/vec_math.hpp
-	/usr/include/opencv2/cudev/util/vec_traits.hpp
-	/usr/include/opencv2/cudev/warp/detail/reduce.hpp
-	/usr/include/opencv2/cudev/warp/detail/reduce_key_val.hpp
-	/usr/include/opencv2/cudev/warp/reduce.hpp
-	/usr/include/opencv2/cudev/warp/scan.hpp
-	/usr/include/opencv2/cudev/warp/shuffle.hpp
-	/usr/include/opencv2/cudev/warp/warp.hpp
-	# [opencv4]
-	/usr/include/opencv4/opencv2/core/cv_cpu_dispatch.h
-	/usr/include/opencv4/opencv2/core/cvdef.h
-	/usr/include/opencv4/opencv2/dnn.hpp
-	/usr/include/opencv4/opencv2/core/cuda/transform.hpp
-	/usr/include/opencv4/opencv2/core/opencl/runtime/opencl_core.hpp
-	/usr/include/opencv4/opencv2/cvconfig.h
-	/usr/include/opencv4/opencv2/core/utils/allocator_stats.impl.hpp
-	/usr/include/opencv4/opencv2/video/tracking.hpp
-	/usr/include/opencv4/opencv2/objdetect.hpp
-)
-
-PATCHES=(
-	"${FILESDIR}/${PN}-3.0.0-gles.patch"
-	"${FILESDIR}/${PN}-3.4.0-disable-download.patch"
-	"${FILESDIR}/${PN}-3.4.1-cuda-add-relaxed-constexpr.patch"
-	"${FILESDIR}/${P}-pkg-config-file.patch"
-	"${FILESDIR}/${P}-opencl-license.patch"
-	"${FILESDIR}/${P}-add-sstream-include.patch"
-)
-
-pkg_setup() {
-	java-pkg-opt-2_pkg_setup
-}
-
-src_prepare() {
-	use openmp && tc-check-openmp
-
-	cmake-utils_src_prepare
-
-	# remove bundled stuff
-	rm -rf 3rdparty || die "Removing 3rd party components failed"
-	sed -e '/add_subdirectory(.*3rdparty.*)/ d' \
-		-i CMakeLists.txt cmake/*cmake || die
-
-	if use dnnsamples; then
-		mv  "${WORKDIR}/res10_300x300_ssd_iter_140000.caffemodel" "${WORKDIR}/${P}/samples/dnn/" || die
-	fi
-
-	if use contrib; then
-		cd  "${WORKDIR}/${PN}_contrib-${PV}" || die
-		if use contribxfeatures2d; then
-			mv "${WORKDIR}"/*.i "${WORKDIR}/${PN}_contrib-${PV}"/modules/xfeatures2d/src/ || die
-		fi
-	fi
-
-	java-pkg-opt-2_src_prepare
-
-	# this really belongs in src_prepare() too
-	JAVA_ANT_ENCODING="iso-8859-1"
-	# set encoding so even this cmake build will pick it up.
-	export ANT_OPTS+=" -Dfile.encoding=iso-8859-1"
-	java-ant-2_src_configure
-}
-
-multilib_src_configure() {
-	# please dont sort here, order is the same as in CMakeLists.txt
-	GLOBALCMAKEARGS=(
-	# Optional 3rd party components
-	# ===================================================
-		-DENABLE_DOWNLOAD=$(usex download)
-		-DWITH_QUIRC=OFF # Do not have dependencies
-		-DWITH_1394=$(usex ieee1394)
-	#	-DWITH_AVFOUNDATION=OFF # IOS
-		-DWITH_VTK=$(multilib_native_usex vtk)
-		-DWITH_EIGEN=$(usex eigen)
-		-DWITH_VFW=OFF # Video windows support
-		-DWITH_FFMPEG=$(usex ffmpeg)
-		-DWITH_GSTREAMER=$(usex gstreamer)
-		-DWITH_GSTREAMER_0_10=OFF	# Don't want this
-		-DWITH_GTK=$(usex gtk)
-		-DWITH_GTK_2_X=$(usex gtk)
-		-DWITH_IPP=OFF
-		-DWITH_JASPER=OFF
-		-DWITH_JPEG=$(usex jpeg)
-		-DWITH_WEBP=$(usex webp)
-		-DWITH_OPENEXR=$(usex openexr)
-		-DWITH_OPENGL=$(usex opengl)
-		-DWITH_OPENVX=OFF
-		-DWITH_OPENNI=OFF	# Not packaged
-		-DWITH_OPENNI2=OFF	# Not packaged
-		-DWITH_PNG=$(usex png)
-		-DWITH_GDCM=OFF
-		-DWITH_PVAPI=OFF
-		-DWITH_GIGEAPI=OFF
-		-DWITH_ARAVIS=OFF
-		-DWITH_QT=$(multilib_native_usex qt5 5 OFF)
-		-DWITH_WIN32UI=OFF		# Windows only
-	#	-DWITH_QUICKTIME=OFF
-	#	-DWITH_QTKIT=OFF
-		-DWITH_TBB=$(usex threads)
-		-DWITH_OPENMP=$(usex openmp)
-		-DWITH_CSTRIPES=OFF
-		-DWITH_PTHREADS_PF=ON
-		-DWITH_TIFF=$(usex tiff)
-		-DWITH_UNICAP=OFF		# Not packaged
-		-DWITH_V4L=$(usex v4l)
-		-DWITH_LIBV4L=$(usex v4l)
-		#-DWITH_DSHOW=ON			# direct show supp
-		-DWITH_MSMF=OFF
-		-DWITH_XIMEA=OFF	# Windows only
-		-DWITH_XINE=$(multilib_native_usex xine)
-		-DWITH_CLP=OFF
-		-DWITH_OPENCL=$(usex opencl)
-		-DWITH_OPENCL_SVM=OFF
-		-DWITH_OPENCLAMDFFT=$(usex opencl)
-		-DWITH_OPENCLAMDBLAS=$(usex opencl)
-		-DWITH_DIRECTX=OFF
-		-DWITH_INTELPERC=OFF
-		-DWITH_IPP_A=OFF
-		-DWITH_MATLAB=OFF
-		-DWITH_VA=$(usex vaapi)
-		-DWITH_VA_INTEL=$(usex vaapi)
-		-DWITH_GDAL=$(multilib_native_usex gdal)
-		-DWITH_GPHOTO2=$(usex gphoto2)
-		-DWITH_LAPACK=$(multilib_native_usex lapack)
-		-DWITH_ITT=OFF # 3dparty libs itt_notify
-	# ===================================================
-	# CUDA build components: nvidia-cuda-toolkit takes care of GCC version
-	# ===================================================
-		-DWITH_CUDA=$(multilib_native_usex cuda)
-		-DWITH_CUBLAS=$(multilib_native_usex cuda)
-		-DWITH_CUFFT=$(multilib_native_usex cuda)
-		-DWITH_NVCUVID=OFF
-#		-DWITH_NVCUVID=$(usex cuda)
-		-DCUDA_NPP_LIBRARY_ROOT_DIR=$(usex cuda "${EPREFIX}/opt/cuda" "")
-	# ===================================================
-	# OpenCV build components
-	# ===================================================
-		-DBUILD_SHARED_LIBS=ON
-		-DBUILD_JAVA=$(multilib_native_usex java) # Ant needed, no compile flag
-		-DBUILD_ANDROID_EXAMPLES=OFF
-		-DBUILD_opencv_apps=$(usex opencvapps ON OFF)
-		-DBUILD_DOCS=OFF # Doesn't install anyways.
-		-DBUILD_EXAMPLES=$(multilib_native_usex examples)
-		-DBUILD_PERF_TESTS=OFF
-		-DBUILD_TESTS=$(multilib_native_usex testprograms)
-		-DBUILD_WITH_DEBUG_INFO=$(usex debug)
-	#	-DBUILD_WITH_STATIC_CRT=OFF
-		-DBUILD_WITH_DYNAMIC_IPP=OFF
-		-DBUILD_FAT_JAVA_LIB=OFF
-	#	-DBUILD_ANDROID_SERVICE=OFF
-		-DBUILD_CUDA_STUBS=$(multilib_native_usex cuda)
-		-DOPENCV_EXTRA_MODULES_PATH=$(usex contrib "${WORKDIR}/opencv_contrib-${PV}/modules" "")
-	# ===================================================
-	# OpenCV installation options
-	# ===================================================
-		-DINSTALL_CREATE_DISTRIB=OFF
-		-DINSTALL_C_EXAMPLES=$(multilib_native_usex examples)
-		-DINSTALL_TESTS=$(multilib_native_usex testprograms)
-		-DINSTALL_PYTHON_EXAMPLES=$(multilib_native_usex examples)
-	#	-DINSTALL_ANDROID_EXAMPLES=OFF
-		-DINSTALL_TO_MANGLED_PATHS=OFF
-		-DOPENCV_GENERATE_PKGCONFIG=ON
-		# opencv uses both ${CMAKE_INSTALL_LIBDIR} and ${LIB_SUFFIX}
-		# to set its destination libdir
-		-DLIB_SUFFIX=
-	# ===================================================
-	# OpenCV build options
-	# ===================================================
-		-DENABLE_CCACHE=OFF
-		-DENABLE_PRECOMPILED_HEADERS=$(usex pch)
-		-DENABLE_SOLUTION_FOLDERS=OFF
-		-DENABLE_PROFILING=OFF
-		-DENABLE_COVERAGE=OFF
-
-		-DHAVE_opencv_java=$(multilib_native_usex java YES NO)
-		-DENABLE_NOISY_WARNINGS=OFF
-		-DOPENCV_WARNINGS_ARE_ERRORS=OFF
-		-DENABLE_IMPL_COLLECTION=OFF
-		-DENABLE_INSTRUMENTATION=OFF
-		-DGENERATE_ABI_DESCRIPTOR=OFF
-		-DDOWNLOAD_EXTERNAL_TEST_DATA=OFF
-	# ===================================================
-	# things we want to be hard off or not yet figured out
-	# ===================================================
-		-DBUILD_PACKAGE=OFF
-	# ===================================================
-	# Not building protobuf but update files bug #631418
-	# ===================================================
-		-DBUILD_PROTOBUF=OFF
-		-DPROTOBUF_UPDATE_FILES=ON
-	# ===================================================
-	# things we want to be hard enabled not worth useflag
-	# ===================================================
-		-DCMAKE_SKIP_RPATH=ON
-		-DOPENCV_DOC_INSTALL_PATH=
-	# ==================================================
-	# cpu flags, should solve 633900
-	#===================================================
-		-DOPENCV_CPU_OPT_IMPLIES_IGNORE=ON
-		-DCPU_BASELINE=$(printf "%s," "${cpu_flags[@]}")
-		-DCPU_DISPATCH=
-		-DBUILD_opencv_features2d=$(usex features2d ON OFF)
-	)
-
-	# ===================================================
-	# OpenCV Contrib Modules
-	# ===================================================
-	if use contrib; then
-		GLOBALCMAKEARGS+=(
-			-DBUILD_opencv_dnn=$(usex contribdnn ON OFF)
-			-DTINYDNN_ROOT="${WORKDIR}/tiny-dnn-${TINY_DNN_PV}"
-			-DBUILD_opencv_dnns_easily_fooled=OFF
-			-DBUILD_opencv_xfeatures2d=$(usex contribxfeatures2d ON OFF)
-			-DBUILD_opencv_cvv=$(usex contribcvv ON OFF)
-			-DBUILD_opencv_hdf=$(multilib_native_usex contribhdf ON OFF)
-			-DBUILD_opencv_sfm=$(usex contribsfm ON OFF)
-		)
-
-		if multilib_is_native_abi; then
-			GLOBALCMAKEARGS+=(
-				-DCMAKE_DISABLE_FIND_PACKAGE_Tesseract=$(usex !tesseract)
-			)
-		else
-			GLOBALCMAKEARGS+=(
-				-DCMAKE_DISABLE_FIND_PACKAGE_Tesseract=ON
-			)
-		fi
-	fi
-
-	# workaround for bug 413429
-	tc-export CC CXX
-
-	local mycmakeargs=( ${GLOBALCMAKEARGS[@]}
-		-DPYTHON_EXECUTABLE=OFF
-		-DINSTALL_PYTHON_EXAMPLES=OFF
-		-DBUILD_opencv_python2=OFF
-		-DBUILD_opencv_python3=OFF
-	)
-
-	cmake-utils_src_configure
-
-	# Copy face_land_model to ${CMAKE_BINARY_DIR}/${OPENCV_TEST_DATA_INSTALL_PATH}
-	# TODO patch ocv_download to copy files into destination dirs
-	if use contribdnn; then
-		mkdir -p "${BUILD_DIR}"/share/OpenCV/testdata/cv/face/ || die
-		cp "${WORKDIR}"/face_landmark_model.dat "${BUILD_DIR}"/share/OpenCV/testdata/cv/face/ || die
-	fi
-
-}
-
-python_module_compile() {
-	local BUILD_DIR=${orig_BUILD_DIR}
-	local mycmakeargs=( ${GLOBALCMAKEARGS[@]} )
-
-	local numpy_include_dir="$(python_get_sitedir)/numpy/core/include"
-	einfo "numpy_include_dir: ${numpy_include_dir}"
-
-	local python_install_path="$(python_get_sitedir | sed "s:^${SYSROOT}::")"
-	einfo "python_install_path: ${python_install_path}"
-
-	# Set all python variables to load the correct Gentoo paths
-	mycmakeargs+=(
-		# python_setup alters PATH and sets this as wrapper
-		# to the correct interpreter we are building for
-		-DPYTHON_DEFAULT_EXECUTABLE=python
-		-DPYTHON2_NUMPY_INCLUDE_DIRS="${numpy_include_dir}"
-		-DPYTHON3_NUMPY_INCLUDE_DIRS="${numpy_include_dir}"
-		-DOPENCV_SKIP_PYTHON_LOADER=ON
-		-DOPENCV_PYTHON2_INSTALL_PATH="${python_install_path}"
-		-DOPENCV_PYTHON3_INSTALL_PATH="${python_install_path}"
-		-DINSTALL_PYTHON_EXAMPLES=$(usex examples)
-	)
-
-	# Regenerate cache file. Can't use rebuild_cache as it won't
-	# have the Gentoo specific options.
-	rm -rf CMakeCache.txt || die "rm failed"
-	cmake-utils_src_configure
-	cmake-utils_src_compile
-	cmake-utils_src_install
-
-	# Remove compiled binary so new version compiles
-	# Avoid conflicts with new module builds as build system doesn't
-	# really support it.
-	rm -rf modules/python2 || die "rm failed"
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-
-	# Build and install the python modules for all targets
-	if multilib_is_native_abi && use python; then
-		local orig_BUILD_DIR=${BUILD_DIR}
-		python_foreach_impl python_module_compile
-	fi
-}
diff --git a/media-libs/opencv/opencv-4.5.5-r1.ebuild b/media-libs/opencv/opencv-4.5.5-r1.ebuild
new file mode 100644
index 0000000..7ba4ede
--- /dev/null
+++ b/media-libs/opencv/opencv-4.5.5-r1.ebuild
@@ -0,0 +1,587 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+CMAKE_ECLASS=cmake
+inherit java-pkg-opt-2 java-ant-2 cmake-multilib python-r1 toolchain-funcs
+
+DESCRIPTION="A collection of algorithms and sample code for various computer vision problems"
+HOMEPAGE="https://opencv.org"
+TINY_DNN_PV="1.0.0a3"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+	dnnsamples? ( https://dev.gentoo.org/~amynka/snap/${PN}-3.4.0-res10_300x300-caffeemodel.tar.gz )
+	download? ( https://github.com/rossbridger/opencv-extdep/archive/4.4.0.tar.gz -> ${PN}-4.4.0_extdep.tar.gz )
+	contrib? (
+		https://github.com/${PN}/${PN}_contrib/archive/${PV}.tar.gz -> ${P}_contrib.tar.gz
+		contribdnn? ( https://dev.gentoo.org/~amynka/snap/${PN}-3.4.0-face_landmark_model.tar.gz )
+		contribxfeatures2d? ( https://dev.gentoo.org/~amynka/snap/vgg_boostdesc-3.2.0.tar.gz )
+	)"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}" # subslot = libopencv* soname version
+KEYWORDS="*"
+IUSE="contrib contribcvv contribdnn contribfreetype contribhdf contribovis contribsfm contribxfeatures2d cuda debug dnnsamples download +eigen examples +features2d ffmpeg gdal gflags glog gphoto2 gstreamer gtk3 ieee1394 jpeg jpeg2k lapack lto opencl openexr opengl openmp opencvapps png +python qt5 tesseract testprograms threads tiff vaapi v4l vtk webp xine"
+
+# The following lines are shamelessly stolen from ffmpeg-9999.ebuild with modifications
+ARM_CPU_FEATURES=(
+	cpu_flags_arm_neon:NEON
+	cpu_flags_arm_vfpv3:VFPV3
+)
+PPC_CPU_FEATURES=(
+	cpu_flags_ppc_vsx:VSX
+	cpu_flags_ppc_vsx3:VSX3
+)
+X86_CPU_FEATURES_RAW=(
+	avx:AVX
+	avx2:AVX2
+	avx512f:AVX_512F
+	f16c:FP16
+	fma3:FMA3
+	popcnt:POPCNT
+	sse:SSE
+	sse2:SSE2
+	sse3:SSE3
+	ssse3:SSSE3
+	sse4_1:SSE4_1
+	sse4_2:SSE4_2
+)
+X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} )
+CPU_FEATURES_MAP=(
+	${ARM_CPU_FEATURES[@]}
+	${PPC_CPU_FEATURES[@]}
+	${X86_CPU_FEATURES[@]}
+)
+IUSE="${IUSE} ${CPU_FEATURES_MAP[@]%:*}"
+
+# OpenGL needs gtk or Qt installed to activate, otherwise build system
+# will silently disable it Wwithout the user knowing, which defeats the
+# purpose of the opengl use flag.
+# cuda needs contrib, bug #701712
+REQUIRED_USE="
+	cpu_flags_x86_avx2? ( cpu_flags_x86_f16c )
+	cpu_flags_x86_f16c? ( cpu_flags_x86_avx )
+	cuda? ( contrib
+		tesseract? ( opencl ) )
+	dnnsamples? ( examples )
+	gflags? ( contrib )
+	glog? ( contrib )
+	contribcvv? ( contrib qt5 )
+	contribdnn? ( contrib )
+	contribfreetype? ( contrib )
+	contribhdf? ( contrib )
+	contribovis? ( contrib )
+	contribsfm? ( contrib eigen gflags glog )
+	contribxfeatures2d? ( contrib download )
+	examples? ( contribdnn )
+	java? ( python )
+	opengl? ( qt5 )
+	python? ( ${PYTHON_REQUIRED_USE} )
+	tesseract? ( contrib )
+	?? ( gtk3 qt5 )"
+
+# The following logic is intrinsic in the build system, but we do not enforce
+# it on the useflags since this just blocks emerging pointlessly:
+#	openmp? ( !threads )
+
+RDEPEND="
+	app-arch/bzip2[${MULTILIB_USEDEP}]
+	dev-libs/protobuf:=[${MULTILIB_USEDEP}]
+	sys-libs/zlib[${MULTILIB_USEDEP}]
+	cuda? ( dev-util/nvidia-cuda-toolkit:0= )
+	contribhdf? ( sci-libs/hdf5:= )
+	contribfreetype? (
+		media-libs/freetype:2[${MULTILIB_USEDEP}]
+		media-libs/harfbuzz:=[${MULTILIB_USEDEP}]
+	)
+	contribovis? ( dev-games/ogre:0/1.12 )
+	ffmpeg? ( media-video/ffmpeg:0=[${MULTILIB_USEDEP}] )
+	gdal? ( sci-libs/gdal:= )
+	gflags? ( dev-cpp/gflags[${MULTILIB_USEDEP}] )
+	glog? ( dev-cpp/glog[${MULTILIB_USEDEP}] )
+	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+		media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
+	)
+	gtk3? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+	)
+	ieee1394? (
+		media-libs/libdc1394:=[${MULTILIB_USEDEP}]
+		sys-libs/libraw1394[${MULTILIB_USEDEP}]
+	)
+	java? ( >=virtual/jre-1.8:* )
+	jpeg? ( virtual/jpeg:0[${MULTILIB_USEDEP}] )
+	jpeg2k? ( media-libs/openjpeg:2=[${MULTILIB_USEDEP}] )
+	lapack? (
+		virtual/cblas
+		>=virtual/lapack-3.10
+	)
+	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+	openexr? (
+		dev-libs/imath:=
+		media-libs/openexr:=
+	)
+	opengl? (
+		virtual/opengl[${MULTILIB_USEDEP}]
+		virtual/glu[${MULTILIB_USEDEP}]
+	)
+	png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
+	python? (
+		${PYTHON_DEPS}
+		dev-python/numpy[${PYTHON_USEDEP}]
+	)
+	qt5? (
+		dev-qt/qtgui:5=
+		dev-qt/qtwidgets:5=
+		dev-qt/qttest:5=
+		dev-qt/qtconcurrent:5=
+		opengl? ( dev-qt/qtopengl:5= )
+	)
+	tesseract? ( app-text/tesseract[opencl=,${MULTILIB_USEDEP}] )
+	threads? ( dev-cpp/tbb:=[${MULTILIB_USEDEP}] )
+	tiff? ( media-libs/tiff:0[${MULTILIB_USEDEP}] )
+	v4l? ( >=media-libs/libv4l-0.8.3[${MULTILIB_USEDEP}] )
+	vaapi? ( x11-libs/libva[${MULTILIB_USEDEP}] )
+	vtk? ( sci-libs/vtk[rendering] )
+	webp? ( media-libs/libwebp:=[${MULTILIB_USEDEP}] )
+	xine? ( media-libs/xine-lib )"
+DEPEND="${RDEPEND}
+	eigen? ( >=dev-cpp/eigen-3.3.8-r1:3 )
+	java? ( >=virtual/jdk-1.8:* )"
+BDEPEND="virtual/pkgconfig"
+
+MULTILIB_WRAPPED_HEADERS=(
+	# [opencv4]
+	/usr/include/opencv4/opencv2/cvconfig.h
+	/usr/include/opencv4/opencv2/opencv_modules.hpp
+	# [cudev]
+	/usr/include/opencv4/opencv2/cudaarithm.hpp
+	/usr/include/opencv4/opencv2/cudabgsegm.hpp
+	/usr/include/opencv4/opencv2/cudacodec.hpp
+	/usr/include/opencv4/opencv2/cudafeatures2d.hpp
+	/usr/include/opencv4/opencv2/cudafilters.hpp
+	/usr/include/opencv4/opencv2/cudaimgproc.hpp
+	/usr/include/opencv4/opencv2/cudalegacy.hpp
+	/usr/include/opencv4/opencv2/cudalegacy/NCVBroxOpticalFlow.hpp
+	/usr/include/opencv4/opencv2/cudalegacy/NCVHaarObjectDetection.hpp
+	/usr/include/opencv4/opencv2/cudalegacy/NCV.hpp
+	/usr/include/opencv4/opencv2/cudalegacy/NCVPyramid.hpp
+	/usr/include/opencv4/opencv2/cudalegacy/NPP_staging.hpp
+	/usr/include/opencv4/opencv2/cudaobjdetect.hpp
+	/usr/include/opencv4/opencv2/cudaoptflow.hpp
+	/usr/include/opencv4/opencv2/cudastereo.hpp
+	/usr/include/opencv4/opencv2/cudawarping.hpp
+	/usr/include/opencv4/opencv2/cudev/block/block.hpp
+	/usr/include/opencv4/opencv2/cudev/block/detail/reduce.hpp
+	/usr/include/opencv4/opencv2/cudev/block/detail/reduce_key_val.hpp
+	/usr/include/opencv4/opencv2/cudev/block/dynamic_smem.hpp
+	/usr/include/opencv4/opencv2/cudev/block/reduce.hpp
+	/usr/include/opencv4/opencv2/cudev/block/scan.hpp
+	/usr/include/opencv4/opencv2/cudev/block/vec_distance.hpp
+	/usr/include/opencv4/opencv2/cudev/common.hpp
+	/usr/include/opencv4/opencv2/cudev/expr/binary_func.hpp
+	/usr/include/opencv4/opencv2/cudev/expr/binary_op.hpp
+	/usr/include/opencv4/opencv2/cudev/expr/color.hpp
+	/usr/include/opencv4/opencv2/cudev/expr/deriv.hpp
+	/usr/include/opencv4/opencv2/cudev/expr/expr.hpp
+	/usr/include/opencv4/opencv2/cudev/expr/per_element_func.hpp
+	/usr/include/opencv4/opencv2/cudev/expr/reduction.hpp
+	/usr/include/opencv4/opencv2/cudev/expr/unary_func.hpp
+	/usr/include/opencv4/opencv2/cudev/expr/unary_op.hpp
+	/usr/include/opencv4/opencv2/cudev/expr/warping.hpp
+	/usr/include/opencv4/opencv2/cudev/functional/color_cvt.hpp
+	/usr/include/opencv4/opencv2/cudev/functional/detail/color_cvt.hpp
+	/usr/include/opencv4/opencv2/cudev/functional/functional.hpp
+	/usr/include/opencv4/opencv2/cudev/functional/tuple_adapter.hpp
+	/usr/include/opencv4/opencv2/cudev/grid/copy.hpp
+	/usr/include/opencv4/opencv2/cudev/grid/detail/copy.hpp
+	/usr/include/opencv4/opencv2/cudev/grid/detail/histogram.hpp
+	/usr/include/opencv4/opencv2/cudev/grid/detail/integral.hpp
+	/usr/include/opencv4/opencv2/cudev/grid/detail/minmaxloc.hpp
+	/usr/include/opencv4/opencv2/cudev/grid/detail/pyr_down.hpp
+	/usr/include/opencv4/opencv2/cudev/grid/detail/pyr_up.hpp
+	/usr/include/opencv4/opencv2/cudev/grid/detail/reduce.hpp
+	/usr/include/opencv4/opencv2/cudev/grid/detail/reduce_to_column.hpp
+	/usr/include/opencv4/opencv2/cudev/grid/detail/reduce_to_row.hpp
+	/usr/include/opencv4/opencv2/cudev/grid/detail/split_merge.hpp
+	/usr/include/opencv4/opencv2/cudev/grid/detail/transform.hpp
+	/usr/include/opencv4/opencv2/cudev/grid/detail/transpose.hpp
+	/usr/include/opencv4/opencv2/cudev/grid/histogram.hpp
+	/usr/include/opencv4/opencv2/cudev/grid/integral.hpp
+	/usr/include/opencv4/opencv2/cudev/grid/pyramids.hpp
+	/usr/include/opencv4/opencv2/cudev/grid/reduce.hpp
+	/usr/include/opencv4/opencv2/cudev/grid/reduce_to_vec.hpp
+	/usr/include/opencv4/opencv2/cudev/grid/split_merge.hpp
+	/usr/include/opencv4/opencv2/cudev/grid/transform.hpp
+	/usr/include/opencv4/opencv2/cudev/grid/transpose.hpp
+	/usr/include/opencv4/opencv2/cudev.hpp
+	/usr/include/opencv4/opencv2/cudev/ptr2d/constant.hpp
+	/usr/include/opencv4/opencv2/cudev/ptr2d/deriv.hpp
+	/usr/include/opencv4/opencv2/cudev/ptr2d/detail/gpumat.hpp
+	/usr/include/opencv4/opencv2/cudev/ptr2d/extrapolation.hpp
+	/usr/include/opencv4/opencv2/cudev/ptr2d/glob.hpp
+	/usr/include/opencv4/opencv2/cudev/ptr2d/gpumat.hpp
+	/usr/include/opencv4/opencv2/cudev/ptr2d/interpolation.hpp
+	/usr/include/opencv4/opencv2/cudev/ptr2d/lut.hpp
+	/usr/include/opencv4/opencv2/cudev/ptr2d/mask.hpp
+	/usr/include/opencv4/opencv2/cudev/ptr2d/remap.hpp
+	/usr/include/opencv4/opencv2/cudev/ptr2d/resize.hpp
+	/usr/include/opencv4/opencv2/cudev/ptr2d/texture.hpp
+	/usr/include/opencv4/opencv2/cudev/ptr2d/traits.hpp
+	/usr/include/opencv4/opencv2/cudev/ptr2d/transform.hpp
+	/usr/include/opencv4/opencv2/cudev/ptr2d/warping.hpp
+	/usr/include/opencv4/opencv2/cudev/ptr2d/zip.hpp
+	/usr/include/opencv4/opencv2/cudev/util/atomic.hpp
+	/usr/include/opencv4/opencv2/cudev/util/detail/tuple.hpp
+	/usr/include/opencv4/opencv2/cudev/util/detail/type_traits.hpp
+	/usr/include/opencv4/opencv2/cudev/util/limits.hpp
+	/usr/include/opencv4/opencv2/cudev/util/saturate_cast.hpp
+	/usr/include/opencv4/opencv2/cudev/util/simd_functions.hpp
+	/usr/include/opencv4/opencv2/cudev/util/tuple.hpp
+	/usr/include/opencv4/opencv2/cudev/util/type_traits.hpp
+	/usr/include/opencv4/opencv2/cudev/util/vec_math.hpp
+	/usr/include/opencv4/opencv2/cudev/util/vec_traits.hpp
+	/usr/include/opencv4/opencv2/cudev/warp/detail/reduce.hpp
+	/usr/include/opencv4/opencv2/cudev/warp/detail/reduce_key_val.hpp
+	/usr/include/opencv4/opencv2/cudev/warp/reduce.hpp
+	/usr/include/opencv4/opencv2/cudev/warp/scan.hpp
+	/usr/include/opencv4/opencv2/cudev/warp/shuffle.hpp
+	/usr/include/opencv4/opencv2/cudev/warp/warp.hpp
+	# [contrib_cvv]
+	/usr/include/opencv4/opencv2/cvv/call_meta_data.hpp
+	/usr/include/opencv4/opencv2/cvv/cvv.hpp
+	/usr/include/opencv4/opencv2/cvv/debug_mode.hpp
+	/usr/include/opencv4/opencv2/cvv/dmatch.hpp
+	/usr/include/opencv4/opencv2/cvv/filter.hpp
+	/usr/include/opencv4/opencv2/cvv/final_show.hpp
+	/usr/include/opencv4/opencv2/cvv.hpp
+	/usr/include/opencv4/opencv2/cvv/show_image.hpp
+	# [contrib_hdf]
+	/usr/include/opencv4/opencv2/hdf/hdf5.hpp
+	/usr/include/opencv4/opencv2/hdf.hpp
+	# [contrib_ovis]
+	/usr/include/opencv4/opencv2/ovis.hpp
+	# [contrib_sfm]
+	/usr/include/opencv4/opencv2/sfm.hpp
+	/usr/include/opencv4/opencv2/sfm/conditioning.hpp
+	/usr/include/opencv4/opencv2/sfm/fundamental.hpp
+	/usr/include/opencv4/opencv2/sfm/io.hpp
+	/usr/include/opencv4/opencv2/sfm/numeric.hpp
+	/usr/include/opencv4/opencv2/sfm/projection.hpp
+	/usr/include/opencv4/opencv2/sfm/reconstruct.hpp
+	/usr/include/opencv4/opencv2/sfm/robust.hpp
+	/usr/include/opencv4/opencv2/sfm/simple_pipeline.hpp
+	/usr/include/opencv4/opencv2/sfm/triangulation.hpp
+	# [vtk]
+	/usr/include/opencv4/opencv2/viz.hpp
+	/usr/include/opencv4/opencv2/viz/types.hpp
+	/usr/include/opencv4/opencv2/viz/viz3d.hpp
+	/usr/include/opencv4/opencv2/viz/vizcore.hpp
+	/usr/include/opencv4/opencv2/viz/widget_accessor.hpp
+	/usr/include/opencv4/opencv2/viz/widgets.hpp
+)
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-3.4.0-disable-download.patch
+	"${FILESDIR}"/${PN}-3.4.1-cuda-add-relaxed-constexpr.patch
+	"${FILESDIR}"/${PN}-4.1.2-opencl-license.patch
+	"${FILESDIR}"/${PN}-4.4.0-disable-native-cpuflag-detect.patch
+	"${FILESDIR}"/${PN}-4.5.0-link-with-cblas-for-lapack.patch
+)
+
+pkg_pretend() {
+	[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+	[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+	java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	# remove bundled stuff
+	rm -r 3rdparty || die "Removing 3rd party components failed"
+	sed -e '/add_subdirectory(.*3rdparty.*)/ d' \
+		-i CMakeLists.txt cmake/*cmake || die
+
+	if use dnnsamples; then
+		mv  "${WORKDIR}/res10_300x300_ssd_iter_140000.caffemodel" "${WORKDIR}/${P}/samples/dnn/" || die
+	fi
+
+	if use contrib; then
+		cd  "${WORKDIR}/${PN}_contrib-${PV}" || die
+		if use contribxfeatures2d; then
+			mv "${WORKDIR}"/*.i "${WORKDIR}/${PN}_contrib-${PV}"/modules/xfeatures2d/src/ || die
+		fi
+	fi
+
+	if use download; then
+		mv "${WORKDIR}/${PN}-extdep-4.4.0" "${WORKDIR}/${P}/.cache/" || die
+	fi
+
+	java-pkg-opt-2_src_prepare
+
+	# this really belongs in src_prepare() too
+	JAVA_ANT_ENCODING="iso-8859-1"
+	# set encoding so even this cmake build will pick it up.
+	export ANT_OPTS+=" -Dfile.encoding=iso-8859-1"
+	java-ant-2_src_configure
+}
+
+multilib_src_configure() {
+	# please dont sort here, order is the same as in CMakeLists.txt
+	GLOBALCMAKEARGS=(
+	# Optional 3rd party components
+	# ===================================================
+		-DENABLE_DOWNLOAD=$(usex download)
+		-DWITH_QUIRC=OFF # Do not have dependencies
+		-DWITH_1394=$(usex ieee1394)
+	#	-DWITH_AVFOUNDATION=OFF # IOS
+		-DWITH_VTK=$(multilib_native_usex vtk)
+		-DWITH_EIGEN=$(usex eigen)
+		-DWITH_VFW=OFF # Video windows support
+		-DWITH_FFMPEG=$(usex ffmpeg)
+		-DWITH_GSTREAMER=$(usex gstreamer)
+		-DWITH_GSTREAMER_0_10=OFF	# Don't want this
+		-DWITH_GTK=$(usex gtk3)
+		-DWITH_GTK_2_X=OFF # only want gtk3 nowadays
+		-DWITH_IPP=OFF
+		# Jasper was removed from tree because of security problems.
+		# Upstream were/are making progress. We use openjpeg instead.
+		# bug 734284
+		-DWITH_JASPER=OFF
+		-DWITH_JPEG=$(usex jpeg)
+		-DWITH_OPENJPEG=$(usex jpeg2k)
+		-DWITH_WEBP=$(usex webp)
+		-DWITH_OPENEXR=$(multilib_native_usex openexr)
+		-DWITH_OPENGL=$(usex opengl)
+		-DWITH_OPENVX=OFF
+		-DWITH_OPENNI=OFF	# Not packaged
+		-DWITH_OPENNI2=OFF	# Not packaged
+		-DWITH_PNG=$(usex png)
+		-DWITH_GDCM=OFF
+		-DWITH_PVAPI=OFF
+		-DWITH_GIGEAPI=OFF
+		-DWITH_ARAVIS=OFF
+		-DWITH_QT=$(multilib_native_usex qt5 5 OFF)
+		-DWITH_WIN32UI=OFF		# Windows only
+	#	-DWITH_QUICKTIME=OFF
+	#	-DWITH_QTKIT=OFF
+		-DWITH_TBB=$(usex threads)
+		-DWITH_OPENMP=$(usex openmp)
+		-DWITH_CSTRIPES=OFF
+		-DWITH_PTHREADS_PF=ON
+		-DWITH_TIFF=$(usex tiff)
+		-DWITH_UNICAP=OFF		# Not packaged
+		-DWITH_V4L=$(usex v4l)
+		-DWITH_LIBV4L=$(usex v4l)
+	#	-DWITH_DSHOW=ON			# direct show supp
+		-DWITH_MSMF=OFF
+		-DWITH_XIMEA=OFF	# Windows only
+		-DWITH_XINE=$(multilib_native_usex xine)
+		-DWITH_CLP=OFF
+		-DWITH_OPENCL=$(usex opencl)
+		-DWITH_OPENCL_SVM=OFF
+		-DWITH_OPENCLAMDFFT=$(usex opencl)
+		-DWITH_OPENCLAMDBLAS=$(usex opencl)
+		-DWITH_DIRECTX=OFF
+		-DWITH_INTELPERC=OFF
+		-DWITH_IPP_A=OFF
+		-DWITH_MATLAB=OFF
+		-DWITH_VA=$(usex vaapi)
+		-DWITH_VA_INTEL=$(usex vaapi)
+		-DWITH_GDAL=$(multilib_native_usex gdal)
+		-DWITH_GPHOTO2=$(usex gphoto2)
+		-DWITH_LAPACK=$(multilib_native_usex lapack)
+		-DWITH_ITT=OFF # 3dparty libs itt_notify
+	# ===================================================
+	# CUDA build components: nvidia-cuda-toolkit takes care of GCC version
+	# ===================================================
+		-DWITH_CUDA=$(multilib_native_usex cuda)
+		-DWITH_CUBLAS=$(multilib_native_usex cuda)
+		-DWITH_CUFFT=$(multilib_native_usex cuda)
+		-DWITH_NVCUVID=OFF
+	#	-DWITH_NVCUVID=$(usex cuda)
+		-DCUDA_NPP_LIBRARY_ROOT_DIR=$(usex cuda "${EPREFIX}/opt/cuda" "")
+	# ===================================================
+	# OpenCV build components
+	# ===================================================
+		-DBUILD_SHARED_LIBS=ON
+		-DBUILD_JAVA=$(multilib_native_usex java) # Ant needed, no compile flag
+		-DBUILD_ANDROID_EXAMPLES=OFF
+		-DBUILD_opencv_apps=$(usex opencvapps ON OFF)
+		-DBUILD_DOCS=OFF # Doesn't install anyways.
+		-DBUILD_EXAMPLES=$(multilib_native_usex examples)
+		-DBUILD_PERF_TESTS=OFF
+		-DBUILD_TESTS=$(multilib_native_usex testprograms)
+		-DBUILD_WITH_DEBUG_INFO=$(usex debug)
+	#	-DBUILD_WITH_STATIC_CRT=OFF
+		-DBUILD_WITH_DYNAMIC_IPP=OFF
+		-DBUILD_FAT_JAVA_LIB=OFF
+	#	-DBUILD_ANDROID_SERVICE=OFF
+		-DBUILD_CUDA_STUBS=$(multilib_native_usex cuda)
+		-DOPENCV_EXTRA_MODULES_PATH=$(usex contrib "${WORKDIR}/opencv_contrib-${PV}/modules" "")
+	# ===================================================
+	# OpenCV installation options
+	# ===================================================
+		-DINSTALL_CREATE_DISTRIB=OFF
+		-DINSTALL_C_EXAMPLES=$(multilib_native_usex examples)
+		-DINSTALL_TESTS=$(multilib_native_usex testprograms)
+		-DINSTALL_PYTHON_EXAMPLES=$(multilib_native_usex examples)
+	#	-DINSTALL_ANDROID_EXAMPLES=OFF
+		-DINSTALL_TO_MANGLED_PATHS=OFF
+		-DOPENCV_GENERATE_PKGCONFIG=ON
+		# opencv uses both ${CMAKE_INSTALL_LIBDIR} and ${LIB_SUFFIX}
+		# to set its destination libdir
+		-DLIB_SUFFIX=
+	# ===================================================
+	# OpenCV build options
+	# ===================================================
+		-DENABLE_CCACHE=OFF
+		# bug 733796, but PCH is a risky game in CMake anyway
+		-DENABLE_PRECOMPILED_HEADERS=OFF
+		-DENABLE_SOLUTION_FOLDERS=OFF
+		-DENABLE_PROFILING=OFF
+		-DENABLE_COVERAGE=OFF
+
+		-DHAVE_opencv_java=$(multilib_native_usex java YES NO)
+		-DENABLE_NOISY_WARNINGS=OFF
+		-DOPENCV_WARNINGS_ARE_ERRORS=OFF
+		-DENABLE_IMPL_COLLECTION=OFF
+		-DENABLE_INSTRUMENTATION=OFF
+		-DGENERATE_ABI_DESCRIPTOR=OFF
+		-DDOWNLOAD_EXTERNAL_TEST_DATA=OFF
+		-DENABLE_LTO=$(usex lto)
+	# ===================================================
+	# things we want to be hard off or not yet figured out
+	# ===================================================
+		-DBUILD_PACKAGE=OFF
+	# ===================================================
+	# Not building protobuf but update files bug #631418
+	# ===================================================
+		-DBUILD_PROTOBUF=OFF
+		-DPROTOBUF_UPDATE_FILES=ON
+	# ===================================================
+	# things we want to be hard enabled not worth useflag
+	# ===================================================
+		-DCMAKE_SKIP_RPATH=ON
+		-DOPENCV_DOC_INSTALL_PATH=
+		-DBUILD_opencv_features2d=$(usex features2d ON OFF)
+	)
+
+	# ==================================================
+	# cpu flags, should solve 633900
+	#===================================================
+	local CPU_BASELINE=""
+	for i in "${CPU_FEATURES_MAP[@]}" ; do
+		if [[ ${ABI} != x86 || ${i%:*} != "cpu_flags_x86_avx2" ]]; then # workaround for Bug 747163
+			use ${i%:*} && CPU_BASELINE="${CPU_BASELINE}${i#*:};"
+		fi
+	done
+
+	GLOBALCMAKEARGS+=(
+		-DOPENCV_CPU_OPT_IMPLIES_IGNORE=ON
+		-DCPU_BASELINE=${CPU_BASELINE}
+		-DCPU_DISPATCH=
+	)
+
+	# ===================================================
+	# OpenCV Contrib Modules
+	# ===================================================
+	if use contrib; then
+		GLOBALCMAKEARGS+=(
+			-DBUILD_opencv_dnn=$(usex contribdnn ON OFF)
+			-DTINYDNN_ROOT="${WORKDIR}/tiny-dnn-${TINY_DNN_PV}"
+			-DBUILD_opencv_dnns_easily_fooled=OFF
+			-DBUILD_opencv_xfeatures2d=$(usex contribxfeatures2d ON OFF)
+			-DBUILD_opencv_cvv=$(usex contribcvv ON OFF)
+			-DBUILD_opencv_hdf=$(multilib_native_usex contribhdf ON OFF)
+			-DBUILD_opencv_sfm=$(usex contribsfm ON OFF)
+			-DBUILD_opencv_freetype=$(usex contribfreetype ON OFF)
+			-DBUILD_opencv_ovis=$(usex contribovis ON OFF)
+		)
+
+		if multilib_is_native_abi; then
+			GLOBALCMAKEARGS+=(
+				-DCMAKE_DISABLE_FIND_PACKAGE_Tesseract=$(usex !tesseract)
+			)
+		else
+			GLOBALCMAKEARGS+=(
+				-DCMAKE_DISABLE_FIND_PACKAGE_Tesseract=ON
+			)
+		fi
+	fi
+
+	# workaround for bug 413429
+	tc-export CC CXX
+
+	local mycmakeargs=(
+		${GLOBALCMAKEARGS[@]}
+		-DPYTHON_EXECUTABLE=OFF
+		-DINSTALL_PYTHON_EXAMPLES=OFF
+		-DBUILD_opencv_python2=OFF
+		-DBUILD_opencv_python3=OFF
+	)
+
+	cmake_src_configure
+
+	# Copy face_land_model to ${CMAKE_BINARY_DIR}/${OPENCV_TEST_DATA_INSTALL_PATH}
+	# TODO patch ocv_download to copy files into destination dirs
+	if use contribdnn; then
+		mkdir -p "${BUILD_DIR}"/share/OpenCV/testdata/cv/face/ || die
+		cp "${WORKDIR}"/face_landmark_model.dat "${BUILD_DIR}"/share/OpenCV/testdata/cv/face/ || die
+	fi
+
+}
+
+python_module_compile() {
+	local BUILD_DIR="${orig_BUILD_DIR}"
+	local mycmakeargs=( ${GLOBALCMAKEARGS[@]} )
+
+	local numpy_include_dir="$(python_get_sitedir)/numpy/core/include"
+	einfo "numpy_include_dir: ${numpy_include_dir}"
+
+	local python_install_path="$(python_get_sitedir | sed "s:^${SYSROOT}::")"
+	einfo "python_install_path: ${python_install_path}"
+
+	# Set all python variables to load the correct Gentoo paths
+	mycmakeargs+=(
+		# python_setup alters PATH and sets this as wrapper
+		# to the correct interpreter we are building for
+		-DPYTHON_DEFAULT_EXECUTABLE=${EPYTHON}
+		-DPYTHON3_NUMPY_INCLUDE_DIRS="${numpy_include_dir}"
+		-DOPENCV_SKIP_PYTHON_LOADER=ON
+		-DOPENCV_PYTHON3_INSTALL_PATH="${python_install_path}"
+		-DINSTALL_PYTHON_EXAMPLES=$(usex examples)
+	)
+
+	# Regenerate cache file. Can't use rebuild_cache as it won't
+	# have the Gentoo specific options.
+	rm CMakeCache.txt || die "rm failed"
+	cmake_src_configure
+	cmake_src_compile
+	cmake_src_install
+
+	# Remove compiled binary so new version compiles
+	# Avoid conflicts with new module builds as build system doesn't
+	# really support it.
+	rm -r modules/python3 || die "rm failed"
+
+	python_optimize "${ED}/${python_install_path}"
+}
+
+multilib_src_install() {
+	cmake_src_install
+
+	# Build and install the python modules for all targets
+	if multilib_is_native_abi && use python; then
+		local orig_BUILD_DIR="${BUILD_DIR}"
+		python_foreach_impl python_module_compile
+	fi
+}
diff --git a/media-libs/virglrenderer/OWNERS b/media-libs/virglrenderer/OWNERS
index cf1af9a..189cfa6 100644
--- a/media-libs/virglrenderer/OWNERS
+++ b/media-libs/virglrenderer/OWNERS
@@ -1,2 +1,3 @@
 set noparent
 include chromiumos/platform/graphics:/OWNERS.virglrenderer
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/media-libs/virglrenderer/files/0001-vkr-add-support-for-globalFencing.patch b/media-libs/virglrenderer/files/0001-vkr-add-support-for-globalFencing.patch
index 3b173c1..d246841 100644
--- a/media-libs/virglrenderer/files/0001-vkr-add-support-for-globalFencing.patch
+++ b/media-libs/virglrenderer/files/0001-vkr-add-support-for-globalFencing.patch
@@ -1,17 +1,28 @@
-From 02816abfad42bf3848ff4170a9bff04ebed573af Mon Sep 17 00:00:00 2001
+From 720c0358a67499f149b8506256aa5ab24fdbab39 Mon Sep 17 00:00:00 2001
 From: Yiwei Zhang <zzyiwei@chromium.org>
-Date: Fri, 11 Feb 2022 22:19:20 +0000
+Date: Sun, 12 Jun 2022 06:45:40 +0000
 Subject: [PATCH] vkr: add support for globalFencing
 
 Squashed commit of the following:
 
-commit 2f2323421e08bada422a06eb2dc5c579320930a2
+commit a482b8e292d4ad362757b27ba77615dd47652e43
+Author: Yiwei Zhang <zzyiwei@chromium.org>
+Date:   Sat Jun 11 21:14:46 2022 +0000
+
+    vkr: disable KHR_external_fence_fd
+
+    KHR_external_fence_fd is not currently used by globalFencing and
+    disabling it is to workaround a mali driver bug
+
+    Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
+
+commit 55df60448c29fe5de707456e8d8a1e8c32518954
 Author: Chia-I Wu <olvaffe@gmail.com>
 Date:   Fri Dec 10 14:10:48 2021 -0800
 
     proxy: stub out export_fence
 
-commit 4a835075e774484176151d5aecc80316a69e4cfe
+commit 8a49207848f3e07134043766e8037976804ed96b
 Author: Chia-I Wu <olvaffe@gmail.com>
 Date:   Wed Oct 13 11:27:34 2021 -0700
 
@@ -20,7 +31,7 @@
     Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
     Reviewed-by: Ryan Neph <ryanneph@google.com>
 
-commit a89f8e2795c7349637db9e792ae4f1abdb7e9b32
+commit 4432b6348f9efd0cec122831a22fdb4adf34576c
 Author: Ryan Neph <ryanneph@google.com>
 Date:   Mon Oct 4 16:24:35 2021 -0700
 
@@ -37,7 +48,7 @@
     Signed-off-by: Ryan Neph <ryanneph@google.com>
     Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
 
-commit e67a81aecf54cd1478e45d1078523b002fb685cb
+commit 2ed02eea12311cee43a06be6de9c07c47ed6b22e
 Author: Chia-I Wu <olvaffe@gmail.com>
 Date:   Tue Jun 8 12:39:00 2021 -0700
 
@@ -46,7 +57,19 @@
     Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
     Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
 
-commit 02179bfee975957088e2d53f30d0a6a89affdbdc
+commit 64a9e21825cd3acfe32aef2e9a1fd0eddd7cfbbb
+Author: Ryan Neph <ryanneph@google.com>
+Date:   Thu Mar 31 13:22:05 2022 -0700
+
+    virgl: fix fence submit/retire ordering with async_cb
+
+    Ensure timeline_point is added to the timeline before
+    fences are retired, otherwise it is missed.
+
+    Signed-off-by: Ryan Neph <ryanneph@google.com>
+    Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
+
+commit 1317a6cd85c5ef0b7ff278e707c2c25ec9f5b905
 Author: Chia-I Wu <olvaffe@gmail.com>
 Date:   Tue Mar 16 16:22:18 2021 -0700
 
@@ -70,7 +93,7 @@
     Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
     Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
 
-commit 8a920bc4c8b87365fba5a7b97dc87525352fdfb8
+commit ba5bb7e35df05e6010ef9c97edcad41a4308a277
 Author: Chia-I Wu <olvaffe@gmail.com>
 Date:   Tue Mar 16 16:50:02 2021 -0700
 
@@ -83,7 +106,7 @@
     Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
     Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
 
-commit 244666fe35343e6969a7a170e9f8760026d3ee70
+commit 1e49f8726758fb3cd1251f820068fa7c2f353f77
 Author: Chia-I Wu <olvaffe@gmail.com>
 Date:   Fri Jun 11 14:33:44 2021 -0700
 
@@ -95,7 +118,7 @@
     Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
     Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
 
-commit c92cad8c7861672d499ebac9b48aad6a73530a43
+commit bd9f11890830f9f9b136266e8694ab30ce74c463
 Author: Chia-I Wu <olvaffe@gmail.com>
 Date:   Fri Jun 11 14:41:52 2021 -0700
 
@@ -109,7 +132,7 @@
     Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
     Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
 
-commit 316a0d08935b985dc0989998d6f3c09c8edc59e0
+commit 180014b016a8ce52f7f2fb9bc5ba2f433c0f0a88
 Author: Chia-I Wu <olvaffe@gmail.com>
 Date:   Tue Mar 16 16:21:35 2021 -0700
 
@@ -123,7 +146,7 @@
 
     v2: do the same to proxy_context
 
-commit aa6049cfc7ff40b14bb099913ec5465293928eb9
+commit 135351a425030aa39fc10515416c64c16f407b63
 Author: Chia-I Wu <olvaffe@gmail.com>
 Date:   Fri Jun 4 12:24:02 2021 -0700
 
@@ -135,31 +158,59 @@
     Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
     Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
 ---
+ src/drm/drm_fence.c             |   2 +-
+ src/drm/msm/msm_renderer.c      |   2 +-
  src/proxy/proxy_context.c       |  14 +-
  src/venus/vkr_context.c         | 111 ++++++++++++-
  src/venus/vkr_context.h         |   2 +
  src/venus/vkr_device.c          |  27 ++++
- src/venus/vkr_physical_device.c |  34 +++-
+ src/venus/vkr_physical_device.c |  40 ++++-
  src/venus/vkr_physical_device.h |   2 +
- src/venus/vkr_queue.c           |  16 +-
+ src/venus/vkr_queue.c           |  15 +-
  src/venus/vkr_transport.c       |   2 +-
  src/virgl_context.h             |   6 +
- src/virglrenderer.c             | 272 +++++++++++++++++++++++++++++++-
+ src/virglrenderer.c             | 276 +++++++++++++++++++++++++++++++-
  src/vrend_decode.c              |   6 +-
  src/vrend_renderer.c            |   4 +-
  src/vrend_renderer.h            |   3 +-
- 13 files changed, 471 insertions(+), 28 deletions(-)
+ 15 files changed, 481 insertions(+), 31 deletions(-)
 
+diff --git a/src/drm/drm_fence.c b/src/drm/drm_fence.c
+index 7215883..ba7158a 100644
+--- a/src/drm/drm_fence.c
++++ b/src/drm/drm_fence.c
+@@ -80,7 +80,7 @@ thread_sync(void *arg)
+ 
+       if (ret == 1) {
+          drm_dbg("fence signaled: %p (%" PRIu64 ")", fence, fence->fence_id);
+-         timeline->vctx->fence_retire(timeline->vctx, timeline->ring_idx,
++         timeline->vctx->fence_retire(timeline->vctx, fence->flags, timeline->ring_idx,
+                                       fence->fence_id);
+          write_eventfd(timeline->eventfd, 1);
+          drm_fence_destroy(fence);
+diff --git a/src/drm/msm/msm_renderer.c b/src/drm/msm/msm_renderer.c
+index 84684f4..f678f49 100644
+--- a/src/drm/msm/msm_renderer.c
++++ b/src/drm/msm/msm_renderer.c
+@@ -1199,7 +1199,7 @@ msm_renderer_submit_fence(struct virgl_context *vctx, uint32_t flags, uint64_t q
+     * already passed.. so just immediate signal:
+     */
+    if (queue_id == 0) {
+-      vctx->fence_retire(vctx, queue_id, fence_id);
++      vctx->fence_retire(vctx, flags, queue_id, fence_id);
+       return 0;
+    }
+ 
 diff --git a/src/proxy/proxy_context.c b/src/proxy/proxy_context.c
-index fcbc374..7e474fe 100644
+index f2a035b..ab133f2 100644
 --- a/src/proxy/proxy_context.c
 +++ b/src/proxy/proxy_context.c
 @@ -128,7 +128,7 @@ proxy_context_retire_timeline_fences_locked(struct proxy_context *ctx,
        if (!proxy_fence_is_signaled(fence, timeline->cur_seqno) && !force_retire_all)
           return false;
  
--      ctx->base.fence_retire(&ctx->base, ring_idx, fence->cookie);
-+      ctx->base.fence_retire(&ctx->base, fence->flags, ring_idx, fence->cookie);
+-      ctx->base.fence_retire(&ctx->base, ring_idx, fence->fence_id);
++      ctx->base.fence_retire(&ctx->base, fence->flags, ring_idx, fence->fence_id);
  
        list_del(&fence->head);
        proxy_context_free_fence(ctx, fence);
@@ -169,7 +220,7 @@
  
 +static int
 +proxy_context_export_fence(UNUSED struct virgl_context *ctx,
-+                           UNUSED void *fence_cookie,
++                           UNUSED uint64_t fence_id,
 +                           UNUSED int *out_fd)
 +{
 +   return -ENODEV;
@@ -178,17 +229,17 @@
  static int
  proxy_context_submit_fence(struct virgl_context *base,
                             uint32_t flags,
-@@ -214,7 +222,8 @@ proxy_context_submit_fence(struct virgl_context *base,
-    const uint32_t seqno = timeline->next_seqno++;
+@@ -227,7 +235,8 @@ proxy_context_submit_fence(struct virgl_context *base,
+ 
     const struct render_context_op_submit_fence_request req = {
        .header.op = RENDER_CONTEXT_OP_SUBMIT_FENCE,
 -      .flags = flags,
 +      /* filter out internal-only VIRGL_RENDERER_FENCE_FLAG_TIMELINE */
 +      .flags = flags & VIRGL_RENDERER_FENCE_FLAG_MERGEABLE,
        .ring_index = ring_idx,
-       .seqno = seqno,
+       .seqno = fence->seqno,
     };
-@@ -522,6 +531,7 @@ proxy_context_init_base(struct proxy_context *ctx)
+@@ -532,6 +541,7 @@ proxy_context_init_base(struct proxy_context *ctx)
     ctx->base.get_fencing_fd = proxy_context_get_fencing_fd;
     ctx->base.retire_fences = proxy_context_retire_fences;
     ctx->base.submit_fence = proxy_context_submit_fence;
@@ -197,7 +248,7 @@
  
  static bool
 diff --git a/src/venus/vkr_context.c b/src/venus/vkr_context.c
-index b60c79b..fb8eabb 100644
+index 9ecb9cd..d9e4e00 100644
 --- a/src/venus/vkr_context.c
 +++ b/src/venus/vkr_context.c
 @@ -131,7 +131,30 @@ vkr_context_submit_fence_locked(struct virgl_context *base,
@@ -210,7 +261,7 @@
 +   } else if (ctx->queue_id_0_queue) {
 +      queue = ctx->queue_id_0_queue;
 +   } else if (vkr_renderer_flags & VKR_RENDERER_ASYNC_FENCE_CB) {
-+      ctx->base.fence_retire(&ctx->base, flags, 0, fence_cookie);
++      ctx->base.fence_retire(&ctx->base, flags, 0, fence_id);
 +      return 0;
 +   } else {
 +      struct vkr_queue_sync *sync = malloc(sizeof(*sync));
@@ -220,7 +271,7 @@
 +      sync->fence = VK_NULL_HANDLE;
 +      sync->flags = flags;
 +      sync->queue_id = 0;
-+      sync->fence_cookie = fence_cookie;
++      sync->fence_id = fence_id;
 +      list_addtail(&sync->head, &ctx->signaled_syncs);
 +
 +      if (ctx->fence_eventfd >= 0)
@@ -232,16 +283,16 @@
     if (!queue)
        return -EINVAL;
     struct vkr_device *dev = queue->device;
-@@ -177,6 +200,81 @@ vkr_context_submit_fence(struct virgl_context *base,
+@@ -180,6 +203,82 @@ vkr_context_submit_fence(struct virgl_context *base,
     return ret;
  }
  
 +static struct vkr_queue_sync *
-+find_sync(const struct list_head *syncs, void *fence_cookie)
++find_sync(const struct list_head *syncs, uint64_t fence_id)
 +{
 +   struct vkr_queue_sync *sync;
 +   LIST_FOR_EACH_ENTRY (sync, syncs, head) {
-+      if (sync->fence_cookie == fence_cookie)
++      if (sync->fence_id == fence_id)
 +         return sync;
 +   }
 +   return NULL;
@@ -249,7 +300,7 @@
 +
 +static int
 +vkr_context_export_fence_locked(struct virgl_context *base,
-+                                void *fence_cookie,
++                                uint64_t fence_id,
 +                                int *out_fd)
 +{
 +   struct vkr_context *ctx = (struct vkr_context *)base;
@@ -261,11 +312,11 @@
 +
 +      if (vkr_renderer_flags & VKR_RENDERER_THREAD_SYNC) {
 +         mtx_lock(&queue->mutex);
-+         sync = find_sync(&queue->signaled_syncs, fence_cookie);
++         sync = find_sync(&queue->signaled_syncs, fence_id);
 +      }
 +
 +      if (!sync) {
-+         sync = find_sync(&queue->pending_syncs, fence_cookie);
++         sync = find_sync(&queue->pending_syncs, fence_id);
 +         if (sync)
 +            sync_pending = true;
 +      }
@@ -275,7 +326,7 @@
 +   }
 +
 +   if (!sync)
-+      sync = find_sync(&ctx->signaled_syncs, fence_cookie);
++      sync = find_sync(&ctx->signaled_syncs, fence_id);
 +
 +   if (!sync)
 +      return -EINVAL;
@@ -288,25 +339,26 @@
 +   struct vkr_device *dev = ctx->queue_id_0_queue->device;
 +   if (!dev->physical_device->KHR_external_fence_fd)
 +      return -1;
++   struct vn_device_proc_table *vk = &dev->proc_table;
 +
 +   const VkFenceGetFdInfoKHR get_fd_info = {
 +      .sType = VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR,
 +      .fence = sync->fence,
 +      .handleType = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
 +   };
-+   VkResult result = dev->get_fence_fd(dev->base.handle.device, &get_fd_info, out_fd);
++   VkResult result = vk->GetFenceFdKHR(dev->base.handle.device, &get_fd_info, out_fd);
 +
 +   return result == VK_SUCCESS ? 0 : -1;
 +}
 +
 +static int
-+vkr_context_export_fence(struct virgl_context *base, void *fence_cookie, int *out_fd)
++vkr_context_export_fence(struct virgl_context *base, uint64_t fence_id, int *out_fd)
 +{
 +   struct vkr_context *ctx = (struct vkr_context *)base;
 +   int ret;
 +
 +   mtx_lock(&ctx->mutex);
-+   ret = vkr_context_export_fence_locked(base, fence_cookie, out_fd);
++   ret = vkr_context_export_fence_locked(base, fence_id, out_fd);
 +   mtx_unlock(&ctx->mutex);
 +   return ret;
 +}
@@ -314,7 +366,7 @@
  static void
  vkr_context_retire_fences_locked(struct virgl_context *base)
  {
-@@ -186,10 +284,13 @@ vkr_context_retire_fences_locked(struct virgl_context *base)
+@@ -189,10 +288,13 @@ vkr_context_retire_fences_locked(struct virgl_context *base)
  
     assert(!(vkr_renderer_flags & VKR_RENDERER_ASYNC_FENCE_CB));
  
@@ -325,22 +377,21 @@
 +    */
     LIST_FOR_EACH_ENTRY_SAFE (sync, sync_tmp, &ctx->signaled_syncs, head) {
        /* queue_id might have already get reused but is opaque to the clients */
--      ctx->base.fence_retire(&ctx->base, sync->queue_id, sync->fence_cookie);
-+      ctx->base.fence_retire(&ctx->base, sync->flags, sync->queue_id, sync->fence_cookie);
+-      ctx->base.fence_retire(&ctx->base, sync->queue_id, sync->fence_id);
++      ctx->base.fence_retire(&ctx->base, sync->flags, sync->queue_id, sync->fence_id);
        free(sync);
     }
     list_inithead(&ctx->signaled_syncs);
-@@ -208,7 +309,8 @@ vkr_context_retire_fences_locked(struct virgl_context *base)
+@@ -211,7 +313,7 @@ vkr_context_retire_fences_locked(struct virgl_context *base)
        vkr_queue_get_signaled_syncs(queue, &retired_syncs, &queue_empty);
  
        LIST_FOR_EACH_ENTRY_SAFE (sync, sync_tmp, &retired_syncs, head) {
--         ctx->base.fence_retire(&ctx->base, sync->queue_id, sync->fence_cookie);
-+         ctx->base.fence_retire(&ctx->base, sync->flags, sync->queue_id,
-+                                sync->fence_cookie);
+-         ctx->base.fence_retire(&ctx->base, sync->queue_id, sync->fence_id);
++         ctx->base.fence_retire(&ctx->base, sync->flags, sync->queue_id, sync->fence_id);
           vkr_device_free_queue_sync(dev, sync);
        }
  
-@@ -551,6 +653,7 @@ vkr_context_init_base(struct vkr_context *ctx)
+@@ -561,6 +663,7 @@ vkr_context_init_base(struct vkr_context *ctx)
     ctx->base.get_fencing_fd = vkr_context_get_fencing_fd;
     ctx->base.retire_fences = vkr_context_retire_fences;
     ctx->base.submit_fence = vkr_context_submit_fence;
@@ -349,7 +400,7 @@
  
  static uint32_t
 diff --git a/src/venus/vkr_context.h b/src/venus/vkr_context.h
-index 1aede4b..80828b4 100644
+index ccbf5d9..d43cd0b 100644
 --- a/src/venus/vkr_context.h
 +++ b/src/venus/vkr_context.h
 @@ -63,6 +63,8 @@ struct vkr_context {
@@ -362,10 +413,10 @@
     char *instance_name;
  };
 diff --git a/src/venus/vkr_device.c b/src/venus/vkr_device.c
-index e38cc8b..865cd78 100644
+index 4d7aea7..24f677f 100644
 --- a/src/venus/vkr_device.c
 +++ b/src/venus/vkr_device.c
-@@ -223,6 +223,27 @@ vkr_dispatch_vkCreateDevice(struct vn_dispatch_context *dispatch,
+@@ -84,6 +84,27 @@ vkr_dispatch_vkCreateDevice(struct vn_dispatch_context *dispatch,
     struct vkr_physical_device *physical_dev =
        vkr_physical_device_from_handle(args->physicalDevice);
  
@@ -393,7 +444,7 @@
     /* append extensions for our own use */
     const char **exts = NULL;
     uint32_t ext_count = args->pCreateInfo->enabledExtensionCount;
-@@ -289,6 +310,9 @@ vkr_dispatch_vkCreateDevice(struct vn_dispatch_context *dispatch,
+@@ -152,6 +173,9 @@ vkr_dispatch_vkCreateDevice(struct vn_dispatch_context *dispatch,
     list_add(&dev->base.track_head, &physical_dev->devices);
  
     vkr_context_add_object(ctx, &dev->base);
@@ -403,7 +454,7 @@
  }
  
  static void
-@@ -415,6 +439,9 @@ vkr_device_destroy(struct vkr_context *ctx, struct vkr_device *dev)
+@@ -281,6 +305,9 @@ vkr_device_destroy(struct vkr_context *ctx, struct vkr_device *dev)
  
     list_del(&dev->base.track_head);
  
@@ -414,7 +465,7 @@
  }
  
 diff --git a/src/venus/vkr_physical_device.c b/src/venus/vkr_physical_device.c
-index 95cf706..b7ea536 100644
+index 19dd9c3..bf443f1 100644
 --- a/src/venus/vkr_physical_device.c
 +++ b/src/venus/vkr_physical_device.c
 @@ -61,6 +61,9 @@ vkr_instance_enumerate_physical_devices(struct vkr_instance *instance)
@@ -436,7 +487,20 @@
     if (result != VK_SUCCESS) {
        free(physical_devs);
        free(handles);
-@@ -344,20 +349,27 @@ vkr_dispatch_vkEnumeratePhysicalDeviceGroups(
+@@ -235,6 +240,12 @@ vkr_physical_device_init_extensions(struct vkr_physical_device *physical_dev,
+ 
+       if (!(fence_props.externalFenceFeatures & VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT))
+          physical_dev->KHR_external_fence_fd = false;
++
++      /* XXX Disable KHR_external_fence_fd to workaround a bug in mali sync_fd
++       * external fence. We are okay to do so since export_fence is not used by
++       * any clients and proxy doesn't support export_fence with globalFencing.
++       */
++      physical_dev->KHR_external_fence_fd = false;
+    }
+ 
+    physical_dev->extensions = exts;
+@@ -389,20 +400,27 @@ vkr_dispatch_vkEnumeratePhysicalDeviceGroups(
        return;
  
     /* XXX this assumes vkEnumeratePhysicalDevices is called first */
@@ -469,7 +533,7 @@
     }
  
     free(args->pPhysicalDeviceGroupProperties);
-@@ -426,6 +438,12 @@ vkr_dispatch_vkGetPhysicalDeviceQueueFamilyProperties(
+@@ -471,6 +489,12 @@ vkr_dispatch_vkGetPhysicalDeviceQueueFamilyProperties(
     vkGetPhysicalDeviceQueueFamilyProperties(args->physicalDevice,
                                              args->pQueueFamilyPropertyCount,
                                              args->pQueueFamilyProperties);
@@ -482,7 +546,7 @@
  }
  
  static void
-@@ -548,6 +566,12 @@ vkr_dispatch_vkGetPhysicalDeviceQueueFamilyProperties2(
+@@ -593,6 +617,12 @@ vkr_dispatch_vkGetPhysicalDeviceQueueFamilyProperties2(
     vkGetPhysicalDeviceQueueFamilyProperties2(args->physicalDevice,
                                               args->pQueueFamilyPropertyCount,
                                               args->pQueueFamilyProperties);
@@ -496,10 +560,10 @@
  
  static void
 diff --git a/src/venus/vkr_physical_device.h b/src/venus/vkr_physical_device.h
-index 73e5e40..dd5a310 100644
+index 8cafa8b..c832d32 100644
 --- a/src/venus/vkr_physical_device.h
 +++ b/src/venus/vkr_physical_device.h
-@@ -29,6 +29,8 @@ struct vkr_physical_device {
+@@ -35,6 +35,8 @@ struct vkr_physical_device {
     struct gbm_device *gbm_device;
  
     struct list_head devices;
@@ -509,19 +573,19 @@
  VKR_DEFINE_OBJECT_CAST(physical_device, VK_OBJECT_TYPE_PHYSICAL_DEVICE, VkPhysicalDevice)
  
 diff --git a/src/venus/vkr_queue.c b/src/venus/vkr_queue.c
-index 8b3c150..c43a2df 100644
+index d6b4a19..e78e3cb 100644
 --- a/src/venus/vkr_queue.c
 +++ b/src/venus/vkr_queue.c
-@@ -124,7 +124,7 @@ vkr_queue_sync_retire(struct vkr_context *ctx,
-                       struct vkr_queue_sync *sync)
- {
+@@ -131,7 +131,7 @@ vkr_queue_sync_retire(struct vkr_context *ctx,
+    struct vn_device_proc_table *vk = &dev->proc_table;
+ 
     if (vkr_renderer_flags & VKR_RENDERER_ASYNC_FENCE_CB) {
--      ctx->base.fence_retire(&ctx->base, sync->queue_id, sync->fence_cookie);
-+      ctx->base.fence_retire(&ctx->base, sync->flags, sync->queue_id, sync->fence_cookie);
+-      ctx->base.fence_retire(&ctx->base, sync->queue_id, sync->fence_id);
++      ctx->base.fence_retire(&ctx->base, sync->flags, sync->queue_id, sync->fence_id);
        vkr_device_free_queue_sync(dev, sync);
     } else {
-       vkDestroyFence(dev->base.handle.device, sync->fence, NULL);
-@@ -170,6 +170,9 @@ vkr_queue_destroy(struct vkr_context *ctx, struct vkr_queue *queue)
+       vk->DestroyFence(dev->base.handle.device, sync->fence, NULL);
+@@ -177,6 +177,9 @@ vkr_queue_destroy(struct vkr_context *ctx, struct vkr_queue *queue)
     list_del(&queue->busy_head);
     list_del(&queue->base.track_head);
  
@@ -531,17 +595,16 @@
     if (queue->base.id)
        vkr_context_remove_object(ctx, &queue->base);
     else
-@@ -212,7 +215,8 @@ vkr_queue_thread(void *arg)
+@@ -225,7 +228,7 @@ vkr_queue_thread(void *arg)
        list_del(&sync->head);
  
        if (vkr_renderer_flags & VKR_RENDERER_ASYNC_FENCE_CB) {
--         ctx->base.fence_retire(&ctx->base, sync->queue_id, sync->fence_cookie);
-+         ctx->base.fence_retire(&ctx->base, sync->flags, sync->queue_id,
-+                                sync->fence_cookie);
+-         ctx->base.fence_retire(&ctx->base, sync->queue_id, sync->fence_id);
++         ctx->base.fence_retire(&ctx->base, sync->flags, sync->queue_id, sync->fence_id);
           vkr_device_free_queue_sync(queue->device, sync);
        } else {
           list_addtail(&sync->head, &queue->signaled_syncs);
-@@ -282,6 +286,7 @@ vkr_queue_create(struct vkr_context *ctx,
+@@ -295,6 +298,7 @@ vkr_queue_create(struct vkr_context *ctx,
  
  static void
  vkr_queue_assign_object_id(struct vkr_context *ctx,
@@ -549,7 +612,7 @@
                             struct vkr_queue *queue,
                             vkr_object_id id)
  {
-@@ -295,6 +300,9 @@ vkr_queue_assign_object_id(struct vkr_context *ctx,
+@@ -308,6 +312,9 @@ vkr_queue_assign_object_id(struct vkr_context *ctx,
  
     queue->base.id = id;
  
@@ -559,7 +622,7 @@
     vkr_context_add_object(ctx, &queue->base);
  }
  
-@@ -331,7 +339,7 @@ vkr_dispatch_vkGetDeviceQueue(struct vn_dispatch_context *dispatch,
+@@ -344,7 +351,7 @@ vkr_dispatch_vkGetDeviceQueue(struct vn_dispatch_context *dispatch,
  
     const vkr_object_id id =
        vkr_cs_handle_load_id((const void **)args->pQueue, VK_OBJECT_TYPE_QUEUE);
@@ -568,7 +631,7 @@
  }
  
  static void
-@@ -352,7 +360,7 @@ vkr_dispatch_vkGetDeviceQueue2(struct vn_dispatch_context *dispatch,
+@@ -365,7 +372,7 @@ vkr_dispatch_vkGetDeviceQueue2(struct vn_dispatch_context *dispatch,
  
     const vkr_object_id id =
        vkr_cs_handle_load_id((const void **)args->pQueue, VK_OBJECT_TYPE_QUEUE);
@@ -578,10 +641,10 @@
  
  static void
 diff --git a/src/venus/vkr_transport.c b/src/venus/vkr_transport.c
-index ab7f31d..0c0a625 100644
+index 745b124..b3ed04a 100644
 --- a/src/venus/vkr_transport.c
 +++ b/src/venus/vkr_transport.c
-@@ -307,7 +307,7 @@ vkr_dispatch_vkGetVenusExperimentalFeatureData100000MESA(
+@@ -317,7 +317,7 @@ vkr_dispatch_vkGetVenusExperimentalFeatureData100000MESA(
  {
     const VkVenusExperimentalFeatures100000MESA features = {
        .memoryResourceAllocationSize = VK_TRUE,
@@ -591,31 +654,31 @@
     };
  
 diff --git a/src/virgl_context.h b/src/virgl_context.h
-index 2fb67e9..78727fd 100644
+index 4bf1370..88c8ee3 100644
 --- a/src/virgl_context.h
 +++ b/src/virgl_context.h
-@@ -49,6 +49,7 @@ struct virgl_context_blob {
+@@ -52,6 +52,7 @@ struct virgl_context_blob {
  struct virgl_context;
  
  typedef void (*virgl_context_fence_retire)(struct virgl_context *ctx,
 +                                           uint32_t flags,
                                             uint64_t queue_id,
-                                            void *fence_cookie);
+                                            uint64_t fence_id);
  
-@@ -116,6 +117,11 @@ struct virgl_context {
+@@ -122,6 +123,11 @@ struct virgl_context {
                         uint32_t flags,
                         uint64_t queue_id,
-                        void *fence_cookie);
+                        uint64_t fence_id);
 +
 +   /* export the fence identified by fence_cookie as a sync fd */
 +   int (*export_fence)(struct virgl_context *ctx,
-+                       void *fence_cookie,
++                       uint64_t fence_id,
 +                       int *out_fd);
  };
  
  struct virgl_context_foreach_args {
 diff --git a/src/virglrenderer.c b/src/virglrenderer.c
-index 29674b3..9c0ebb4 100644
+index b70aa61..838ebf7 100644
 --- a/src/virglrenderer.c
 +++ b/src/virglrenderer.c
 @@ -34,6 +34,7 @@
@@ -625,8 +688,8 @@
 +#include "util/u_double_list.h"
  #include "util/u_format.h"
  #include "util/u_math.h"
- #include "vkr_renderer.h"
-@@ -48,6 +49,20 @@
+ #include "vkr_allocator.h"
+@@ -50,6 +51,20 @@
  #include "virgl_resource.h"
  #include "virgl_util.h"
  
@@ -647,7 +710,7 @@
  struct global_state {
     bool client_initialized;
     void *cookie;
-@@ -61,6 +76,16 @@ struct global_state {
+@@ -63,6 +78,16 @@ struct global_state {
     bool vkr_initialized;
     bool proxy_initialized;
     bool external_winsys_initialized;
@@ -664,7 +727,7 @@
  };
  
  static struct global_state state;
-@@ -179,10 +204,114 @@ void virgl_renderer_fill_caps(uint32_t set, uint32_t version,
+@@ -184,10 +209,115 @@ void virgl_renderer_fill_caps(uint32_t set, uint32_t version,
     }
  }
  
@@ -757,20 +820,21 @@
  static void per_context_fence_retire(struct virgl_context *ctx,
 +                                     uint32_t flags,
                                       uint64_t queue_id,
-                                      void *fence_cookie)
+                                      uint64_t fence_id)
  {
 +   if (flags & VIRGL_RENDERER_FENCE_FLAG_TIMELINE) {
++      struct timeline_point *point = (struct timeline_point *)(uintptr_t)fence_id;
 +      if (state.timeline_async_cb) {
 +         uint32_t write_fence_id = 0;
 +         timeline_lock();
-+         timeline_point_set_signaled_locked(fence_cookie);
++         timeline_point_set_signaled_locked(point);
 +         write_fence_id = timeline_poll_retired_fences_locked();
 +         timeline_unlock();
 +
 +         if (write_fence_id)
 +            state.cbs->write_fence(state.cookie, write_fence_id);
 +      } else {
-+         timeline_point_set_signaled_locked(fence_cookie);
++         timeline_point_set_signaled_locked(point);
 +      }
 +
 +      return;
@@ -779,7 +843,7 @@
     state.cbs->write_context_fence(state.cookie,
                                    ctx->ctx_id,
                                    queue_id,
-@@ -260,6 +389,16 @@ int virgl_renderer_context_create(uint32_t handle, uint32_t nlen, const char *na
+@@ -268,6 +398,16 @@ int virgl_renderer_context_create(uint32_t handle, uint32_t nlen, const char *na
  void virgl_renderer_context_destroy(uint32_t handle)
  {
     TRACE_FUNC();
@@ -796,7 +860,7 @@
     virgl_context_remove(handle);
  }
  
-@@ -386,13 +525,46 @@ void virgl_renderer_resource_detach_iov(int res_handle, struct iovec **iov_p, in
+@@ -394,13 +534,50 @@ void virgl_renderer_resource_detach_iov(int res_handle, struct iovec **iov_p, in
     virgl_resource_detach_iov(res);
  }
  
@@ -829,40 +893,44 @@
 +   if (!point)
 +      return -ENOMEM;
 +
++   timeline_lock();
++   timeline_point_add_locked(point);
++   timeline_unlock();
++
 +   if (ctx) {
-+      ret = ctx->submit_fence(ctx, VIRGL_RENDERER_FENCE_FLAG_TIMELINE, 0, point);
++      ret = ctx->submit_fence(ctx, VIRGL_RENDERER_FENCE_FLAG_TIMELINE, 0, (uintptr_t)point);
 +   } else {
 +      ret = state.vrend_initialized ?
 +         vrend_renderer_create_ctx0_fence(fence_id) : EINVAL;
 +   }
 +
-+   timeline_lock();
-+   if (ret)
++   if (ret) {
++      timeline_lock();
++      list_del(&point->head);
 +      timeline_point_free_locked(point);
-+   else
-+      timeline_point_add_locked(point);
-+   timeline_unlock();
++      timeline_unlock();
++   }
 +
 +   return ret;
  }
  
  int virgl_renderer_context_create_fence(uint32_t ctx_id,
-@@ -512,11 +684,25 @@ void virgl_renderer_get_rect(int resource_id, struct iovec *iov, unsigned int nu
+@@ -524,12 +701,25 @@ void virgl_renderer_get_rect(int resource_id, struct iovec *iov, unsigned int nu
  }
  
  
--static void ctx0_fence_retire(void *fence_cookie,
-+static void ctx0_fence_retire(UNUSED uint32_t flags,
-+                              void *fence_cookie,
-                               UNUSED void *retire_data)
+-static void ctx0_fence_retire(uint64_t fence_id, UNUSED void *retire_data)
++static void ctx0_fence_retire(UNUSED uint32_t flags, uint64_t fence_id, UNUSED void *retire_data)
  {
-    const uint32_t fence_id = (uint32_t)(uintptr_t)fence_cookie;
--   state.cbs->write_fence(state.cookie, fence_id);
+    // ctx0 fence_id is created from uint32_t but stored internally as uint64_t,
+    // so casting back to uint32_t doesn't result in data loss.
+    assert((fence_id >> 32) == 0);
+-   state.cbs->write_fence(state.cookie, (uint32_t)fence_id);
 +
 +   if (state.timeline_async_cb) {
 +      uint32_t write_fence_id = 0;
 +      timeline_lock();
-+      state.ctx0_retired_fence_id = fence_id;
++      state.ctx0_retired_fence_id = (uint32_t)fence_id;
 +      write_fence_id = timeline_poll_retired_fences_locked();
 +      timeline_unlock();
 +
@@ -870,12 +938,12 @@
 +         state.cbs->write_fence(state.cookie, write_fence_id);
 +   } else {
 +      /* defer marking timeline_point signaled */
-+      state.ctx0_retired_fence_id = fence_id;
++      state.ctx0_retired_fence_id = (uint32_t)fence_id;
 +   }
  }
  
  static virgl_renderer_gl_context create_gl_context(int scanout_idx, struct virgl_gl_ctx_param *param)
-@@ -583,11 +769,33 @@ void *virgl_renderer_get_cursor_data(uint32_t resource_id, uint32_t *width, uint
+@@ -596,11 +786,33 @@ void *virgl_renderer_get_cursor_data(uint32_t resource_id, uint32_t *width, uint
                                               height);
  }
  
@@ -891,12 +959,12 @@
  {
     TRACE_FUNC();
 +
+    if (state.vrend_initialized)
+       vrend_renderer_poll();
++
 +   if (state.timeline_async_cb)
 +      return;
 +
-    if (state.vrend_initialized)
-       vrend_renderer_check_fences();
-+
 +   struct virgl_context_foreach_args args;
 +   args.callback = timeline_poll;
 +   args.data = NULL;
@@ -909,8 +977,8 @@
  }
  
  void virgl_renderer_cleanup(UNUSED void *cookie)
-@@ -744,6 +952,13 @@ int virgl_renderer_init(void *cookie, int flags, struct virgl_renderer_callbacks
-       state.proxy_initialized = true;
+@@ -772,6 +984,13 @@ int virgl_renderer_init(void *cookie, int flags, struct virgl_renderer_callbacks
+       drm_renderer_init(drm_fd);
     }
  
 +#ifdef VIRGL_RENDERER_ASYNC_FENCE_CB
@@ -923,7 +991,7 @@
     return 0;
  
  fail:
-@@ -1058,6 +1273,16 @@ virgl_renderer_resource_export_blob(uint32_t res_id, uint32_t *fd_type, int *fd)
+@@ -1109,6 +1328,16 @@ virgl_renderer_resource_export_blob(uint32_t res_id, uint32_t *fd_type, int *fd)
     return 0;
  }
  
@@ -940,7 +1008,7 @@
  int
  virgl_renderer_resource_import_blob(const struct virgl_renderer_resource_import_blob_args *args)
  {
-@@ -1118,5 +1343,38 @@ int
+@@ -1170,5 +1399,38 @@ int
  virgl_renderer_export_fence(uint32_t client_fence_id, int *fd)
  {
     TRACE_FUNC();
@@ -965,7 +1033,7 @@
 +            ret = 0;
 +            *fd = -1;
 +         } else if (point->context) {
-+            ret = point->context->export_fence(point->context, point, fd);
++            ret = point->context->export_fence(point->context, (uintptr_t)point, fd);
 +         } else {
 +            ret = vrend_renderer_export_ctx0_fence(client_fence_id, fd);
 +         }
@@ -981,66 +1049,66 @@
 +   return ret;
  }
 diff --git a/src/vrend_decode.c b/src/vrend_decode.c
-index 621cf0c..7d3636f 100644
+index 3bd3f15..8b57cdb 100644
 --- a/src/vrend_decode.c
 +++ b/src/vrend_decode.c
-@@ -1510,11 +1510,12 @@ static int vrend_decode_pipe_resource_set_type(struct vrend_context *ctx, const
+@@ -1506,11 +1506,12 @@ static int vrend_decode_pipe_resource_set_type(struct vrend_context *ctx, const
  static void vrend_decode_ctx_init_base(struct vrend_decode_ctx *dctx,
                                         uint32_t ctx_id);
  
--static void vrend_decode_ctx_fence_retire(void *fence_cookie,
+-static void vrend_decode_ctx_fence_retire(uint64_t fence_id,
 +static void vrend_decode_ctx_fence_retire(uint32_t flags,
-+                                          void *fence_cookie,
++                                          uint64_t fence_id,
                                            void *retire_data)
  {
     struct vrend_decode_ctx *dctx = retire_data;
--   dctx->base.fence_retire(&dctx->base, 0, fence_cookie);
-+   dctx->base.fence_retire(&dctx->base, flags, 0, fence_cookie);
+-   dctx->base.fence_retire(&dctx->base, 0, fence_id);
++   dctx->base.fence_retire(&dctx->base, flags, 0, fence_id);
  }
  
  struct virgl_context *vrend_renderer_context_create(uint32_t handle,
-@@ -1794,4 +1795,5 @@ static void vrend_decode_ctx_init_base(struct vrend_decode_ctx *dctx,
+@@ -1790,4 +1791,5 @@ static void vrend_decode_ctx_init_base(struct vrend_decode_ctx *dctx,
     ctx->get_fencing_fd = vrend_decode_ctx_get_fencing_fd;
     ctx->retire_fences = vrend_decode_ctx_retire_fences;
     ctx->submit_fence = vrend_decode_ctx_submit_fence;
 +   ctx->export_fence = NULL;
  }
 diff --git a/src/vrend_renderer.c b/src/vrend_renderer.c
-index b964b95..6fb659c 100644
+index aad4ef1..546e28f 100644
 --- a/src/vrend_renderer.c
 +++ b/src/vrend_renderer.c
-@@ -6257,7 +6257,7 @@ static void wait_sync(struct vrend_fence *fence)
-    mtx_unlock(&vrend_state.fence_mutex);
- 
-    if (vrend_state.use_async_fence_cb) {
--      ctx->fence_retire(fence->fence_cookie, ctx->fence_retire_data);
-+      ctx->fence_retire(fence->flags, fence->fence_cookie, ctx->fence_retire_data);
-       free_fence_locked(fence);
-       return;
+@@ -6397,7 +6397,7 @@ static void wait_sync(struct vrend_fence *fence)
+     * by setting fence->ctx to NULL
+     */
+    if (ctx) {
+-      ctx->fence_retire(fence->fence_id, ctx->fence_retire_data);
++      ctx->fence_retire(fence->flags, fence->fence_id, ctx->fence_retire_data);
     }
-@@ -9813,7 +9813,7 @@ void vrend_renderer_check_fences(void)
+ 
+    free_fence_locked(fence);
+@@ -9978,7 +9978,7 @@ void vrend_renderer_check_fences(void)
  
     LIST_FOR_EACH_ENTRY_SAFE(fence, stor, &retired_fences, fences) {
        struct vrend_context *ctx = fence->ctx;
--      ctx->fence_retire(fence->fence_cookie, ctx->fence_retire_data);
-+      ctx->fence_retire(fence->flags, fence->fence_cookie, ctx->fence_retire_data);
+-      ctx->fence_retire(fence->fence_id, ctx->fence_retire_data);
++      ctx->fence_retire(fence->flags, fence->fence_id, ctx->fence_retire_data);
  
        free_fence_locked(fence);
     }
 diff --git a/src/vrend_renderer.h b/src/vrend_renderer.h
-index 73cb0d9..74654ce 100644
+index a9090ff..9606b96 100644
 --- a/src/vrend_renderer.h
 +++ b/src/vrend_renderer.h
-@@ -111,7 +111,8 @@ struct vrend_format_table {
+@@ -113,8 +113,7 @@ struct vrend_format_table {
     uint32_t flags;
  };
  
--typedef void (*vrend_context_fence_retire)(void *fence_cookie,
-+typedef void (*vrend_context_fence_retire)(uint32_t flags,
-+                                           void *fence_cookie,
-                                            void *retire_data);
+-typedef void (*vrend_context_fence_retire)(uint64_t fence_id,
+-                                           void *retire_data);
++typedef void (*vrend_context_fence_retire)(uint32_t flags, uint64_t fence_id, void *retire_data);
  
  struct vrend_if_cbs {
+    vrend_context_fence_retire ctx0_fence_retire;
 -- 
 2.31.0
 
diff --git a/media-libs/virglrenderer/virglrenderer-0.8.2-r115.ebuild b/media-libs/virglrenderer/virglrenderer-0.8.2-r115.ebuild
deleted file mode 100644
index ccd9ca1..0000000
--- a/media-libs/virglrenderer/virglrenderer-0.8.2-r115.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_WORKON_COMMIT="afebbd233cabc5008e80c828f0f29d28965355c9"
-CROS_WORKON_TREE="1ccc3bda920752b37bf67d2494650fa487dda0cc"
-CROS_WORKON_PROJECT="chromiumos/third_party/virglrenderer"
-CROS_WORKON_EGIT_BRANCH="master"
-
-# Prevent automatic uprevs of this package since upstream is out of our control.
-CROS_WORKON_MANUAL_UPREV="1"
-
-inherit cros-fuzzer cros-sanitizers eutils flag-o-matic meson cros-workon
-
-DESCRIPTION="library used implement a virtual 3D GPU used by qemu"
-HOMEPAGE="https://virgil3d.github.io/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="*"
-IUSE="debug fuzzer profiling test vulkan"
-
-RDEPEND="
-	chromeos-base/percetto
-	>=x11-libs/libdrm-2.4.50
-	media-libs/libepoxy
-	media-libs/minigbm
-	fuzzer? (
-		virtual/opengles
-		vulkan? ( virtual/vulkan-icd )
-	)
-	vulkan? (
-		media-libs/vulkan-loader
-	)
-"
-# We need autoconf-archive for @CODE_COVERAGE_RULES@. #568624
-DEPEND="${RDEPEND}
-	sys-devel/autoconf-archive
-	fuzzer? ( >=dev-libs/check-0.9.4 )
-	test? ( >=dev-libs/check-0.9.4 )
-	vulkan? ( dev-util/vulkan-headers )
-"
-
-PATCHES=(
-	"${FILESDIR}"/0001-vkr-add-support-for-globalFencing.patch
-	"${FILESDIR}"/0002-vrend-disable-GL_EXT_external_object_fd-path-on-GLES.patch
-)
-
-src_prepare() {
-	default
-}
-
-src_configure() {
-	sanitizers-setup-env
-
-	if use profiling; then
-		append-flags -fprofile-instr-generate -fcoverage-mapping
-		append-ldflags -fprofile-instr-generate -fcoverage-mapping
-	fi
-
-	emesonargs+=(
-		-Dtracing=percetto
-		-Dminigbm_allocation="true"
-		-Dplatforms="egl"
-		$(meson_use fuzzer)
-		--buildtype $(usex debug debug release)
-	)
-
-	if use vulkan; then
-		emesonargs+=(
-			-Dvenus-experimental="true"
-			-Drender-server="true"
-			-Drender-server-worker="process"
-		)
-	fi
-
-	# virgl_fuzzer is only built with tests.
-	if use test || use fuzzer; then
-		emesonargs+=( -Dtests="true" )
-	fi
-
-	meson_src_configure
-}
-
-src_install() {
-	meson_src_install
-
-	local fuzzer_component_id="964076"
-	fuzzer_install "${FILESDIR}/fuzzer-OWNERS" \
-		"${WORKDIR}/${P}-build"/tests/fuzzer/virgl_fuzzer \
-		--options "${FILESDIR}/virgl_fuzzer.options" \
-		--comp "${fuzzer_component_id}"
-	fuzzer_install "${FILESDIR}/fuzzer-OWNERS" \
-		"${WORKDIR}/${P}-build"/vtest/vtest_fuzzer \
-		--options "${FILESDIR}/vtest_fuzzer.options" \
-		--comp "${fuzzer_component_id}"
-
-	if use vulkan; then
-		fuzzer_install "${FILESDIR}/fuzzer-OWNERS" \
-			"${WORKDIR}/${P}-build"/tests/fuzzer/virgl_venus_fuzzer \
-			--options "${FILESDIR}/virgl_venus_fuzzer.options" \
-			--comp "${fuzzer_component_id}"
-	fi
-
-	find "${ED}"/usr -name 'lib*.la' -delete
-}
diff --git a/media-libs/virglrenderer/virglrenderer-0.8.2-r151.ebuild b/media-libs/virglrenderer/virglrenderer-0.8.2-r151.ebuild
new file mode 100644
index 0000000..510456b
--- /dev/null
+++ b/media-libs/virglrenderer/virglrenderer-0.8.2-r151.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+CROS_WORKON_COMMIT="ff09466864de66dc95eb20f4354211802ee8dee9"
+CROS_WORKON_TREE="81619088abbce5427dc709294702f61a3cc962b7"
+CROS_WORKON_PROJECT="chromiumos/third_party/virglrenderer"
+CROS_WORKON_EGIT_BRANCH="master"
+
+# Prevent automatic uprevs of this package since upstream is out of our control.
+CROS_WORKON_MANUAL_UPREV="1"
+
+inherit cros-fuzzer cros-sanitizers eutils flag-o-matic meson cros-workon
+
+DESCRIPTION="library used implement a virtual 3D GPU used by qemu"
+HOMEPAGE="https://virgil3d.github.io/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="*"
+IUSE="debug fuzzer profiling test virtgpu_native_context vulkan"
+
+RDEPEND="
+	chromeos-base/percetto
+	>=x11-libs/libdrm-2.4.50
+	media-libs/libepoxy
+	media-libs/minigbm
+	fuzzer? (
+		virtual/opengles
+		vulkan? ( virtual/vulkan-icd )
+	)
+	vulkan? (
+		media-libs/vulkan-loader
+	)
+"
+# We need autoconf-archive for @CODE_COVERAGE_RULES@. #568624
+DEPEND="${RDEPEND}
+	sys-devel/autoconf-archive
+	fuzzer? ( >=dev-libs/check-0.9.4 )
+	test? ( >=dev-libs/check-0.9.4 )
+	vulkan? ( dev-util/vulkan-headers )
+"
+
+PATCHES=(
+	"${FILESDIR}"/0001-vkr-add-support-for-globalFencing.patch
+	"${FILESDIR}"/0002-vrend-disable-GL_EXT_external_object_fd-path-on-GLES.patch
+)
+
+src_prepare() {
+	default
+}
+
+src_configure() {
+	sanitizers-setup-env
+
+	if use profiling; then
+		append-flags -fprofile-instr-generate -fcoverage-mapping
+		append-ldflags -fprofile-instr-generate -fcoverage-mapping
+	fi
+
+	emesonargs+=(
+		-Dtracing=percetto
+		-Dminigbm_allocation="true"
+		-Dplatforms="egl"
+		-Dcheck-gl-errors="false"
+		$(meson_use fuzzer)
+		--buildtype $(usex debug debug release)
+	)
+
+	if use virtgpu_native_context; then
+		emesonargs+=( -Ddrm-msm-experimental="true" )
+	fi
+
+	if use vulkan; then
+		emesonargs+=(
+			-Dvenus-experimental="true"
+			-Drender-server="true"
+			-Drender-server-worker="process"
+		)
+	fi
+
+	# virgl_fuzzer is only built with tests.
+	if use test || use fuzzer; then
+		emesonargs+=( -Dtests="true" )
+	fi
+
+	meson_src_configure
+}
+
+src_install() {
+	meson_src_install
+
+	local fuzzer_component_id="964076"
+	fuzzer_install "${FILESDIR}/fuzzer-OWNERS" \
+		"${WORKDIR}/${P}-build"/tests/fuzzer/virgl_fuzzer \
+		--options "${FILESDIR}/virgl_fuzzer.options" \
+		--comp "${fuzzer_component_id}"
+	fuzzer_install "${FILESDIR}/fuzzer-OWNERS" \
+		"${WORKDIR}/${P}-build"/vtest/vtest_fuzzer \
+		--options "${FILESDIR}/vtest_fuzzer.options" \
+		--comp "${fuzzer_component_id}"
+
+	if use vulkan; then
+		fuzzer_install "${FILESDIR}/fuzzer-OWNERS" \
+			"${WORKDIR}/${P}-build"/tests/fuzzer/virgl_venus_fuzzer \
+			--options "${FILESDIR}/virgl_venus_fuzzer.options" \
+			--comp "${fuzzer_component_id}"
+	fi
+
+	find "${ED}"/usr -name 'lib*.la' -delete
+}
diff --git a/media-libs/virglrenderer/virglrenderer-9999.ebuild b/media-libs/virglrenderer/virglrenderer-9999.ebuild
index ad6a79f..52e28b1 100644
--- a/media-libs/virglrenderer/virglrenderer-9999.ebuild
+++ b/media-libs/virglrenderer/virglrenderer-9999.ebuild
@@ -17,7 +17,7 @@
 LICENSE="MIT"
 SLOT="0"
 KEYWORDS="~*"
-IUSE="debug fuzzer profiling test vulkan"
+IUSE="debug fuzzer profiling test virtgpu_native_context vulkan"
 
 RDEPEND="
 	chromeos-base/percetto
@@ -61,10 +61,15 @@
 		-Dtracing=percetto
 		-Dminigbm_allocation="true"
 		-Dplatforms="egl"
+		-Dcheck-gl-errors="false"
 		$(meson_use fuzzer)
 		--buildtype $(usex debug debug release)
 	)
 
+	if use virtgpu_native_context; then
+		emesonargs+=( -Ddrm-msm-experimental="true" )
+	fi
+
 	if use vulkan; then
 		emesonargs+=(
 			-Dvenus-experimental="true"
diff --git a/media-libs/vulkan-layers/Manifest b/media-libs/vulkan-layers/Manifest
index aed8083..3a239f3 100644
--- a/media-libs/vulkan-layers/Manifest
+++ b/media-libs/vulkan-layers/Manifest
@@ -1 +1 @@
-DIST vulkan-layers-1.2.182.tar.gz 2791196 BLAKE2B e4c2a80708b7805425eb58bc360db8aa8ac9a671ef88a261f09887f59cbacb56e1375a868589864c30a9a812c91a7dc2c7d3ebc0eda5afc7cb99dfb7f70af2de SHA512 2c7541d18926507fb7f36193a5901e2d3f864749e5c9e456c32bc8e64bae58e661d01f8871c596a2b05e2e5bf86a4c80c6207d7cc942a51cafab81f052d91805
+DIST vulkan-layers-1.3.211.tar.gz 3967709 BLAKE2B f86ff0fa053e0138a0bbdbec30e2fe0a59cfc24f43fe787b007ae352db81a700442d777637e1fc577332a47f36bc09383dd29416b5170fcf5d735562b6a58230 SHA512 e494ba793064f0d32fbdeaddaa01dcd730a36a5c793625bb4671a4e8067364171416ec8fb7361f946cc5d5e8dc16d58e2194c3eb5d3a57d58f4ace2e7ed34f5f
diff --git a/media-libs/vulkan-layers/OWNERS b/media-libs/vulkan-layers/OWNERS
index 821ef32..8fa14bf 100644
--- a/media-libs/vulkan-layers/OWNERS
+++ b/media-libs/vulkan-layers/OWNERS
@@ -1,2 +1,3 @@
 set noparent
 include chromiumos/platform/graphics:/OWNERS.vulkan_layers
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/media-libs/vulkan-layers/metadata.xml b/media-libs/vulkan-layers/metadata.xml
index 8cfd00f..774f66b 100644
--- a/media-libs/vulkan-layers/metadata.xml
+++ b/media-libs/vulkan-layers/metadata.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
 	<maintainer type="project">
 		<email>x11@gentoo.org</email>
diff --git a/media-libs/vulkan-layers/vulkan-layers-1.2.182-r2.ebuild b/media-libs/vulkan-layers/vulkan-layers-1.2.182-r2.ebuild
deleted file mode 100644
index 339800c..0000000
--- a/media-libs/vulkan-layers/vulkan-layers-1.2.182-r2.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_PN=Vulkan-ValidationLayers
-CMAKE_ECLASS="cmake-utils"
-CMAKE_MAKEFILE_GENERATOR="emake"
-PYTHON_COMPAT=( python3_{6,7,8,9} )
-inherit cmake-multilib python-any-r1
-
-if [[ ${PV} == *9999* ]]; then
-	EGIT_REPO_URI="https://github.com/KhronosGroup/${MY_PN}.git"
-	EGIT_SUBMODULES=()
-	inherit git-r3
-else
-	SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-	KEYWORDS="*"
-	S="${WORKDIR}"/${MY_PN}-${PV}
-fi
-
-DESCRIPTION="Vulkan Validation Layers"
-HOMEPAGE="https://github.com/KhronosGroup/Vulkan-ValidationLayers"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="wayland X"
-
-BDEPEND=">=dev-util/cmake-3.10.2"
-RDEPEND=">=dev-util/spirv-tools-2021.0_pre20210526:=[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
-	${PYTHON_DEPS}
-	dev-cpp/robin-hood-hashing
-	>=dev-util/glslang-11.4.0:=[${MULTILIB_USEDEP}]
-	>=dev-util/vulkan-headers-${PV}
-	wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] )
-	X? (
-		x11-libs/libX11:=[${MULTILIB_USEDEP}]
-		x11-libs/libXrandr:=[${MULTILIB_USEDEP}]
-	)
-"
-
-src_prepare() {
-	cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
-	local mycmakeargs=(
-		-DCMAKE_SKIP_RPATH=ON
-		-DBUILD_LAYER_SUPPORT_FILES=OFF
-		-DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland)
-		-DBUILD_WSI_XCB_SUPPORT=$(usex X)
-		-DBUILD_WSI_XLIB_SUPPORT=$(usex X)
-		-DBUILD_TESTS=OFF
-		-DGLSLANG_INSTALL_DIR="${ESYSROOT}/usr"
-		-DCMAKE_INSTALL_INCLUDEDIR="${ESYSROOT}/usr/include/vulkan/"
-		-DSPIRV_HEADERS_INSTALL_DIR="${ESYSROOT}/usr/include/spirv"
-		-DBUILD_WERROR=OFF
-	)
-	cmake-utils_src_configure
-}
diff --git a/media-libs/vulkan-layers/vulkan-layers-1.3.211.ebuild b/media-libs/vulkan-layers/vulkan-layers-1.3.211.ebuild
new file mode 100644
index 0000000..528d287
--- /dev/null
+++ b/media-libs/vulkan-layers/vulkan-layers-1.3.211.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_PN=Vulkan-ValidationLayers
+CMAKE_ECLASS="cmake"
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cmake-multilib python-any-r1
+
+if [[ ${PV} == *9999* ]]; then
+	EGIT_REPO_URI="https://github.com/KhronosGroup/${MY_PN}.git"
+	EGIT_SUBMODULES=()
+	inherit git-r3
+else
+	SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/sdk-${PV}.0.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="*"
+	S="${WORKDIR}"/${MY_PN}-sdk-${PV}.0
+fi
+
+DESCRIPTION="Vulkan Validation Layers"
+HOMEPAGE="https://github.com/KhronosGroup/Vulkan-ValidationLayers"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="wayland X"
+
+BDEPEND=">=dev-util/cmake-3.10.2"
+RDEPEND="~dev-util/spirv-tools-${PV}:=[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+	${PYTHON_DEPS}
+	>=dev-cpp/robin-hood-hashing-3.11.5
+	~dev-util/glslang-${PV}:=[${MULTILIB_USEDEP}]
+	~dev-util/vulkan-headers-${PV}
+	wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] )
+	X? (
+		x11-libs/libX11:=[${MULTILIB_USEDEP}]
+		x11-libs/libXrandr:=[${MULTILIB_USEDEP}]
+	)
+"
+
+multilib_src_configure() {
+	local mycmakeargs=(
+		-DCMAKE_SKIP_RPATH=ON
+		-DBUILD_LAYER_SUPPORT_FILES=ON
+		-DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland)
+		-DBUILD_WSI_XCB_SUPPORT=$(usex X)
+		-DBUILD_WSI_XLIB_SUPPORT=$(usex X)
+		-DBUILD_TESTS=OFF
+		-DGLSLANG_INSTALL_DIR="${ESYSROOT}/usr"
+		-DCMAKE_INSTALL_INCLUDEDIR="${EPREFIX}/usr/include/"
+	)
+	cmake_src_configure
+}
+
diff --git a/media-libs/vulkan-loader/Manifest b/media-libs/vulkan-loader/Manifest
index d143d45..b137489 100644
--- a/media-libs/vulkan-loader/Manifest
+++ b/media-libs/vulkan-loader/Manifest
@@ -1 +1 @@
-DIST vulkan-loader-1.2.182.tar.gz 1469024 BLAKE2B d180154bd0878c45327b1ad06a8efcc637b73fd75ad5ca349740d7f8d6944b2974828cb055a32150c4db4eb94f1b420d94852228d91e46bd8340229fa0ad30fd SHA512 06cf308caae1fd1992b279e8130b8f40bdcc7df44294c73e221d537950c689e552afeda4ae9406645b1d773693fa27c7727ab012daecbcff2793c4995c7f0db0
+DIST vulkan-loader-1.3.211.tar.gz 1581450 BLAKE2B d7ea8cf54693733d78a0f4d96119c8b693f88f38c1a7664f2dc14b10bee3558fdf32279a51978c2d77a282a33b93ea6e0d6769e9d17345117bc2e048c4645707 SHA512 2c363909b975d3b286f2ac277e7ff8ea26347d7eb1b6bac9580ceba83822978d51e11fdb58e91e103b00b324f67b776f0e5917e781b3278d7edcba4669cbbd6c
diff --git a/media-libs/vulkan-loader/OWNERS b/media-libs/vulkan-loader/OWNERS
index 5865ab9..9e8622a 100644
--- a/media-libs/vulkan-loader/OWNERS
+++ b/media-libs/vulkan-loader/OWNERS
@@ -1,2 +1,3 @@
 set noparent
 include chromiumos/platform/graphics:/OWNERS.vulkan_loader
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/media-libs/vulkan-loader/files/CHROMIUM-Fix-cross-compilation.patch b/media-libs/vulkan-loader/files/CHROMIUM-Fix-cross-compilation.patch
index 97ff1cb..bb002fa 100644
--- a/media-libs/vulkan-loader/files/CHROMIUM-Fix-cross-compilation.patch
+++ b/media-libs/vulkan-loader/files/CHROMIUM-Fix-cross-compilation.patch
@@ -15,18 +15,15 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt
-index 7cc5fd71e..70288cd3d 100644
+index d1606f549..a2baca20b 100644
 --- a/loader/CMakeLists.txt
 +++ b/loader/CMakeLists.txt
-@@ -191,7 +191,7 @@ else(UNIX AND NOT APPLE) # i.e.: Linux
-         set(OPT_LOADER_SRCS ${OPT_LOADER_SRCS} unknown_ext_chain_gas.S)
+@@ -202,7 +202,7 @@ else() # i.e.: Linux
+     if(ASSEMBLER_WORKS)
          add_executable(asm_offset asm_offset.c)
-         target_link_libraries(asm_offset Vulkan::Headers)
+         target_link_libraries(asm_offset loader_specific_options)
 -        add_custom_command(OUTPUT gen_defines.asm DEPENDS asm_offset COMMAND asm_offset GAS)
 +        add_custom_command(OUTPUT gen_defines.asm DEPENDS asm_offset COMMAND ./asm_offset GAS)
          add_custom_target(loader_asm_gen_files DEPENDS gen_defines.asm)
-         target_compile_definitions(asm_offset PRIVATE _XOPEN_SOURCE=500) # hush compiler warnings for readlink
      else()
--- 
-2.30.0.280.ga3ce27912f-goog
-
+         if(USE_GAS)
diff --git a/media-libs/vulkan-loader/files/CHROMIUM-Revert-db5e3d0f454f063db7b4505e4d08b759f1874bbb.patch b/media-libs/vulkan-loader/files/CHROMIUM-Revert-db5e3d0f454f063db7b4505e4d08b759f1874bbb.patch
new file mode 100644
index 0000000..bbb5f42
--- /dev/null
+++ b/media-libs/vulkan-loader/files/CHROMIUM-Revert-db5e3d0f454f063db7b4505e4d08b759f1874bbb.patch
@@ -0,0 +1,65 @@
+commit b1b791a55aee901366e9d096dae167a708c4254d
+Author: Romaric Jodin <rjodin@chromium.org>
+Date:   Mon Apr 25 10:19:15 2022 +0200
+
+    Revert "loader: Check for processor of compiler, not processor of build system"
+
+    This reverts commit db5e3d0f454f063db7b4505e4d08b759f1874bbb.
+
+    ```
+    loader: Check for processor of compiler, not processor of build system
+    If we are cross-compiling, for example for aarch64 on x86, then the
+    compiler we care about here is the machine we are compiling *for*,
+    e.g. aarch64 (the "target" in CMake terminology, the "host system" in
+    Autotools/Meson) rather than the machine we are compiling *on*, e.g. x86
+    (the "host" in CMake terminology, the "build system" in Autotools/Meson).
+
+    Signed-off-by: Simon McVittie <smcv@collabora.com>
+    ```
+
+    This commit made compiling for trogdor64 fail. Reverting it allow to keep to
+    same behavior as before vulkan-loader update. But the compilation produces a
+    warning message for a potential issue (already pthere before):
+
+    ```
+    Could not find working x86_64 GAS assembler
+
+    The build will fall back on building with C code
+
+    Note that this may be unsafe, as the C code requires tail-call
+    optimizations to remove the stack frame for certain calls.  If the compiler
+    does not do this, then unknown device extensions will suffer from a
+    corrupted stack.
+    ```
+
+    This is a know issue track in:
+    https://github.com/KhronosGroup/Vulkan-Loader/issues/249
+
+diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt
+index a2baca20b..4255cb953 100644
+--- a/loader/CMakeLists.txt
++++ b/loader/CMakeLists.txt
+@@ -181,12 +181,12 @@ else() # i.e.: Linux
+         set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS}")
+         set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
+ 
+-        if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64")
++        if (${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "aarch64")
+             try_compile(ASSEMBLER_WORKS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/asm_test_aarch64.S)
+             if(ASSEMBLER_WORKS)
+                 set(OPT_LOADER_SRCS ${OPT_LOADER_SRCS} unknown_ext_chain_gas_aarch64.S)
+             endif()
+-        elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "^i.86$")
++        elseif(${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "x86_64" OR ${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "x86" OR ${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "^i.86$")
+             check_include_file("cet.h" HAVE_CET_H)
+             if(HAVE_CET_H)
+                 target_compile_definitions(loader_specific_options INTERFACE HAVE_CET_H)
+@@ -206,7 +206,7 @@ else() # i.e.: Linux
+         add_custom_target(loader_asm_gen_files DEPENDS gen_defines.asm)
+     else()
+         if(USE_GAS)
+-            message(WARNING "Could not find working ${CMAKE_SYSTEM_PROCESSOR} GAS assembler\n${ASM_FAILURE_MSG}")
++            message(WARNING "Could not find working ${CMAKE_HOST_SYSTEM_PROCESSOR} GAS assembler\n${ASM_FAILURE_MSG}")
+         else()
+             message(WARNING "Assembly sources have been disabled\n${ASM_FAILURE_MSG}")
+         endif()
diff --git a/media-libs/vulkan-loader/metadata.xml b/media-libs/vulkan-loader/metadata.xml
index 6d56c31..ff730de 100644
--- a/media-libs/vulkan-loader/metadata.xml
+++ b/media-libs/vulkan-loader/metadata.xml
@@ -1,10 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
 	<maintainer type="project">
 		<email>x11@gentoo.org</email>
 		<name>X11</name>
 	</maintainer>
+	<maintainer type="person">
+		<email>sarnex@gentoo.org</email>
+		<name>Nick Sarnie</name>
+	</maintainer>
 	<upstream>
 		<remote-id type="github">KhronosGroup/Vulkan-LoaderAndValidationLayers</remote-id>
 	</upstream>
diff --git a/media-libs/vulkan-loader/vulkan-loader-1.2.182-r1.ebuild b/media-libs/vulkan-loader/vulkan-loader-1.2.182-r1.ebuild
deleted file mode 100644
index 614c1a9..0000000
--- a/media-libs/vulkan-loader/vulkan-loader-1.2.182-r1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_PN=Vulkan-Loader
-CMAKE_ECLASS="cmake-utils"
-CMAKE_MAKEFILE_GENERATOR="emake"
-inherit flag-o-matic cmake-multilib toolchain-funcs
-
-if [[ ${PV} == *9999* ]]; then
-	EGIT_REPO_URI="https://github.com/KhronosGroup/${MY_PN}.git"
-	EGIT_SUBMODULES=()
-	inherit git-r3
-else
-	SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-	KEYWORDS="*"
-	S="${WORKDIR}"/${MY_PN}-${PV}
-fi
-
-DESCRIPTION="Vulkan Installable Client Driver (ICD) Loader"
-HOMEPAGE="https://github.com/KhronosGroup/Vulkan-Loader"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="layers wayland X"
-
-BDEPEND=">=dev-util/cmake-3.10.2"
-DEPEND="
-	~dev-util/vulkan-headers-${PV}
-	wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] )
-	X? (
-		x11-libs/libX11:=[${MULTILIB_USEDEP}]
-		x11-libs/libXrandr:=[${MULTILIB_USEDEP}]
-	)
-"
-PDEPEND="layers? ( media-libs/vulkan-layers:=[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
-	"${FILESDIR}"/CHROMIUM-Fix-cross-compilation.patch
-)
-
-src_prepare() {
-	cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
-	# Integrated clang assembler doesn't work with x86 - Bug #698164
-	if tc-is-clang && [[ ${ABI} == x86 ]]; then
-		append-cflags -fno-integrated-as
-	fi
-
-	local mycmakeargs=(
-		-DCMAKE_SKIP_RPATH=ON
-		-DBUILD_TESTS=OFF
-		-DBUILD_LOADER=ON
-		-DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland)
-		-DBUILD_WSI_XCB_SUPPORT=$(usex X)
-		-DBUILD_WSI_XLIB_SUPPORT=$(usex X)
-		-DVULKAN_HEADERS_INSTALL_DIR="${ESYSROOT}/usr"
-	)
-	cmake-utils_src_configure
-}
-
-multilib_src_install() {
-	keepdir /etc/vulkan/icd.d
-
-	cmake-utils_src_install
-}
-
-pkg_postinst() {
-	einfo "USE=demos has been dropped as per upstream packaging"
-	einfo "vulkaninfo is now available in the dev-util/vulkan-tools package"
-}
diff --git a/media-libs/vulkan-loader/vulkan-loader-1.3.211.ebuild b/media-libs/vulkan-loader/vulkan-loader-1.3.211.ebuild
new file mode 100644
index 0000000..cd1bc25
--- /dev/null
+++ b/media-libs/vulkan-loader/vulkan-loader-1.3.211.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_PN=Vulkan-Loader
+CMAKE_ECLASS="cmake"
+inherit flag-o-matic cmake-multilib toolchain-funcs
+
+if [[ ${PV} == *9999* ]]; then
+	EGIT_REPO_URI="https://github.com/KhronosGroup/${MY_PN}.git"
+	EGIT_SUBMODULES=()
+	inherit git-r3
+else
+	SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/sdk-${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="*"
+	S="${WORKDIR}"/${MY_PN}-sdk-${PV}
+fi
+
+DESCRIPTION="Vulkan Installable Client Driver (ICD) Loader"
+HOMEPAGE="https://github.com/KhronosGroup/Vulkan-Loader"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="layers wayland X"
+
+BDEPEND=">=dev-util/cmake-3.10.2"
+DEPEND="
+	~dev-util/vulkan-headers-${PV}
+	wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] )
+	X? (
+		x11-libs/libX11:=[${MULTILIB_USEDEP}]
+		x11-libs/libXrandr:=[${MULTILIB_USEDEP}]
+	)
+"
+PDEPEND="layers? ( media-libs/vulkan-layers:=[${MULTILIB_USEDEP}] )"
+
+PATCHES=(
+	"${FILESDIR}"/CHROMIUM-Fix-cross-compilation.patch
+	"${FILESDIR}"/CHROMIUM-Revert-db5e3d0f454f063db7b4505e4d08b759f1874bbb.patch
+)
+
+multilib_src_configure() {
+	# Integrated clang assembler doesn't work with x86 - Bug #698164
+	if tc-is-clang && [[ ${ABI} == x86 ]]; then
+		append-cflags -fno-integrated-as
+	fi
+
+	local mycmakeargs=(
+		-DCMAKE_SKIP_RPATH=ON
+		-DBUILD_TESTS=OFF
+		-DBUILD_LOADER=ON
+		-DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland)
+		-DBUILD_WSI_XCB_SUPPORT=$(usex X)
+		-DBUILD_WSI_XLIB_SUPPORT=$(usex X)
+		-DVULKAN_HEADERS_INSTALL_DIR="${ESYSROOT}/usr"
+	)
+	cmake_src_configure
+}
+
+multilib_src_install() {
+	keepdir /etc/vulkan/icd.d
+
+	cmake_src_install
+}
+
+pkg_postinst() {
+	einfo "USE=demos has been dropped as per upstream packaging"
+	einfo "vulkaninfo is now available in the dev-util/vulkan-tools package"
+}
diff --git a/media-libs/waffle/OWNERS b/media-libs/waffle/OWNERS
index 89e9825..53a9d04 100644
--- a/media-libs/waffle/OWNERS
+++ b/media-libs/waffle/OWNERS
@@ -1,2 +1,3 @@
 set noparent
 include chromiumos/platform/graphics:/OWNERS.waffle
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/media-libs/webrtc-apm/webrtc-apm-0.0.1-r29.ebuild b/media-libs/webrtc-apm/webrtc-apm-0.0.1-r29.ebuild
deleted file mode 100644
index 034d8ad..0000000
--- a/media-libs/webrtc-apm/webrtc-apm-0.0.1-r29.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=5
-
-CROS_WORKON_COMMIT="8136191a962e1a62c28a12bc0392d7db94adb1d2"
-CROS_WORKON_TREE="fe21cc99a7a5f531f7f2d669613730f8504ef21d"
-CROS_WORKON_PROJECT="chromiumos/third_party/webrtc-apm"
-CROS_WORKON_LOCALNAME="webrtc-apm"
-
-inherit cros-workon multilib cros-sanitizers
-
-DESCRIPTION="Standalone WebRTC APM library"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/webrtc-apm"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE="cpu_flags_x86_sse2 neon"
-
-DEPEND="dev-libs/iniparser:=
-	dev-libs/libevent:=
-	dev-libs/protobuf:=
-	chromeos-base/metrics"
-RDEPEND="${DEPEND}"
-
-src_configure() {
-	sanitizers-setup-env
-
-	export USE_NEON=$(usex neon 1 0)
-	export USE_SSE2=$(usex cpu_flags_x86_sse2 1 0)
-}
-
-src_install() {
-	local INCLUDE_DIR="/usr/include/webrtc-apm"
-	local LIB_DIR="/usr/$(get_libdir)"
-
-	dolib libwebrtc_apm.so
-
-	insinto "${INCLUDE_DIR}"
-	doins webrtc_apm.h
-
-	sed -e "s|@INCLUDE_DIR@|${INCLUDE_DIR}|" -e "s|@LIB_DIR@|${LIB_DIR}|" \
-		libwebrtc_apm.pc.template > libwebrtc_apm.pc
-	insinto "${LIB_DIR}/pkgconfig"
-	doins libwebrtc_apm.pc
-}
diff --git a/media-libs/webrtc-apm/webrtc-apm-0.0.1-r35.ebuild b/media-libs/webrtc-apm/webrtc-apm-0.0.1-r35.ebuild
new file mode 100644
index 0000000..44064c6
--- /dev/null
+++ b/media-libs/webrtc-apm/webrtc-apm-0.0.1-r35.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=5
+
+CROS_WORKON_COMMIT="6c381af40185c6e65a26b6525137df3d028f86e0"
+CROS_WORKON_TREE="5809111ef056ef06d411ca18f992a152741d4214"
+CROS_WORKON_PROJECT="chromiumos/third_party/webrtc-apm"
+CROS_WORKON_LOCALNAME="webrtc-apm"
+
+inherit cros-workon multilib cros-sanitizers
+
+DESCRIPTION="Standalone WebRTC APM library"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/webrtc-apm"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="cpu_flags_x86_sse2 featured neon"
+
+DEPEND="dev-libs/iniparser:=
+	dev-libs/libevent:=
+	dev-libs/protobuf:=
+	chromeos-base/metrics
+	featured? ( chromeos-base/featured:= )"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+	sanitizers-setup-env
+	cros_optimize_package_for_speed
+
+	export USE_NEON=$(usex neon 1 0)
+	export USE_SSE2=$(usex cpu_flags_x86_sse2 1 0)
+}
+
+src_install() {
+	local INCLUDE_DIR="/usr/include/webrtc-apm"
+	local LIB_DIR="/usr/$(get_libdir)"
+
+	dolib libwebrtc_apm.so
+
+	insinto "${INCLUDE_DIR}"
+	doins webrtc_apm.h
+
+	sed -e "s|@INCLUDE_DIR@|${INCLUDE_DIR}|" -e "s|@LIB_DIR@|${LIB_DIR}|" \
+		libwebrtc_apm.pc.template > libwebrtc_apm.pc
+	insinto "${LIB_DIR}/pkgconfig"
+	doins libwebrtc_apm.pc
+}
diff --git a/media-libs/webrtc-apm/webrtc-apm-9999.ebuild b/media-libs/webrtc-apm/webrtc-apm-9999.ebuild
index 6c6f8de..7d94c27 100644
--- a/media-libs/webrtc-apm/webrtc-apm-9999.ebuild
+++ b/media-libs/webrtc-apm/webrtc-apm-9999.ebuild
@@ -16,16 +16,18 @@
 LICENSE="BSD-Google"
 SLOT="0"
 KEYWORDS="~*"
-IUSE="cpu_flags_x86_sse2 neon"
+IUSE="cpu_flags_x86_sse2 featured neon"
 
 DEPEND="dev-libs/iniparser:=
 	dev-libs/libevent:=
 	dev-libs/protobuf:=
-	chromeos-base/metrics"
+	chromeos-base/metrics
+	featured? ( chromeos-base/featured:= )"
 RDEPEND="${DEPEND}"
 
 src_configure() {
 	sanitizers-setup-env
+	cros_optimize_package_for_speed
 
 	export USE_NEON=$(usex neon 1 0)
 	export USE_SSE2=$(usex cpu_flags_x86_sse2 1 0)
diff --git a/media-plugins/metadata.xml b/media-plugins/metadata.xml
deleted file mode 100644
index 06ee545..0000000
--- a/media-plugins/metadata.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The media-plugins category contains plugin packages for various media
-		applications.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie media-plugins enthält Plugins für verschiedene 
-		Multimedia-Anwendungen.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría media-plugins contiene paquetes de extensión para varias
-		aplicaciones de media.
-	</longdescription>
-	<longdescription lang="ja">
-		media-pluginsカテゴリーには様々なメディアプラグイン・パッケージが含まれています。
-	</longdescription>
-	<longdescription lang="nl">
-		De media-plugins categorie bevat uitbreidingen voor multimedia-applicaties.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm media-plugins chứa các gói plugin cho các ứng dụng media khác nhau.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria media-plugins contiene pacchetti di estensione per vari pacchetti
-		delle categorie media-.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria media-plugins contém pacotes de extensão para várias
-		aplicações de mídia.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria media-plugins zawiera rozszerzenia multimedialne dla różnych
-		aplikacji.
-	</longdescription>
-</catmetadata>
-
diff --git a/media-sound/OWNERS b/media-sound/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/media-sound/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/media-sound/adhd/adhd-0.0.6-r2452.ebuild b/media-sound/adhd/adhd-0.0.6-r2452.ebuild
deleted file mode 100644
index 72eb132..0000000
--- a/media-sound/adhd/adhd-0.0.6-r2452.ebuild
+++ /dev/null
@@ -1,140 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-CROS_WORKON_COMMIT="26326fafc3dbb73d8db66a6e26857100631cab81"
-CROS_WORKON_TREE="b048fd0f9cb95bc82600eed12d8f920d2b6d5f12"
-CROS_WORKON_PROJECT="chromiumos/third_party/adhd"
-CROS_WORKON_LOCALNAME="adhd"
-CROS_WORKON_USE_VCSID=1
-
-inherit toolchain-funcs autotools cros-fuzzer cros-sanitizers cros-workon
-inherit cros-unibuild systemd user libchrome-version
-
-DESCRIPTION="Google A/V Daemon"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/"
-SRC_URI=""
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="asan +cras-apm fuzzer selinux systemd"
-
-COMMON_DEPEND="
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	dev-libs/iniparser:=
-	cras-apm? ( media-libs/webrtc-apm:= )
-	>=media-libs/alsa-lib-1.1.6-r3:=
-	media-libs/ladspa-sdk:=
-	media-libs/sbc:=
-	media-libs/speex:=
-	>=sys-apps/dbus-1.4.12:=
-	selinux? ( sys-libs/libselinux:= )
-	virtual/udev:=
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	media-sound/alsa-utils
-	media-plugins/alsa-plugins
-	chromeos-base/chromeos-config-tools
-	chromeos-base/featured
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-	dev-libs/libpthread-stubs:=
-	media-sound/cras_rust:=
-"
-
-src_prepare() {
-	cd cras
-	eautoreconf
-	default
-}
-
-src_configure() {
-	cros_optimize_package_for_speed
-	sanitizers-setup-env
-	if use amd64 ; then
-		export FUZZER_LDFLAGS="-fsanitize=fuzzer"
-	fi
-
-	cd cras
-	# Disable external libraries for fuzzers.
-	if use fuzzer ; then
-		# Disable "gc-sections" for fuzzer builds, https://crbug.com/1026125 .
-		append-ldflags "-Wl,--no-gc-sections"
-		econf $(use_enable cras-apm webrtc-apm) \
-			--with-system-cras-rust \
-			$(use_enable amd64 fuzzer)
-	else
-		econf $(use_enable selinux) \
-			$(use_enable cras-apm webrtc-apm) \
-			--enable-hats \
-			--enable-metrics \
-			--with-system-cras-rust \
-			$(use_enable amd64 fuzzer) \
-			BASE_VER="$(libchrome_ver)"
-	fi
-}
-
-src_compile() {
-	emake CC="$(tc-getCC)" || die "Unable to build ADHD"
-}
-
-src_test() {
-	if ! use x86 && ! use amd64 ; then
-		elog "Skipping unit tests on non-x86 platform"
-	else
-		cd cras
-		# This is an ugly hack that happens to work, but should not be copied.
-		LD_LIBRARY_PATH="${SYSROOT}/usr/$(get_libdir)" \
-		emake check
-	fi
-}
-
-src_install() {
-	emake DESTDIR="${D}" SYSTEMD="$(usex systemd)" install
-
-	# install common ucm config files.
-	insinto /usr/share/alsa/ucm
-	doins -r ucm-config/for_all_boards/*
-
-	# install common cras config files.
-	insinto /etc/cras
-	doins -r cras-config/for_all_boards/*
-
-	# install dbus config allowing cras access
-	insinto /etc/dbus-1/system.d
-	doins dbus-config/org.chromium.cras.conf
-
-	# Install D-Bus XML files.
-	insinto /usr/share/dbus-1/interfaces/
-	doins cras/dbus_bindings/*.xml
-
-	# Install seccomp policy file.
-	insinto /usr/share/policy
-	newins "seccomp/cras-seccomp-${ARCH}.policy" cras-seccomp.policy
-
-	# Install asound.conf for CRAS alsa plugin
-	insinto /etc
-	doins "${FILESDIR}"/asound.conf
-
-	if use fuzzer ; then
-		# Install example dsp.ini file for fuzzer
-		insinto /etc/cras
-		doins cras-config/dsp.ini.sample
-		# Install fuzzer binary
-		fuzzer_install "${S}/OWNERS" cras/src/cras_rclient_message_fuzzer
-		local fuzzer_component_id="777118"
-		fuzzer_install "${S}/OWNERS" cras/src/cras_hfp_slc_fuzzer \
-			--dict "${S}/cras/src/fuzz/cras_hfp_slc.dict" \
-			--comp "${fuzzer_component_id}"
-	fi
-}
-
-pkg_preinst() {
-	enewuser "cras"
-	enewgroup "cras"
-	enewgroup "bluetooth-audio"
-}
diff --git a/media-sound/adhd/adhd-0.0.6-r2638.ebuild b/media-sound/adhd/adhd-0.0.6-r2638.ebuild
new file mode 100644
index 0000000..9922ff9
--- /dev/null
+++ b/media-sound/adhd/adhd-0.0.6-r2638.ebuild
@@ -0,0 +1,149 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+CROS_WORKON_COMMIT="1c8369376976ddaba0bd8498664b6b15ac9cc621"
+CROS_WORKON_TREE="ce3a32c2e3e8f9dde7a7092a0ccf3391bd355f60"
+CROS_WORKON_PROJECT="chromiumos/third_party/adhd"
+CROS_WORKON_LOCALNAME="adhd"
+CROS_WORKON_USE_VCSID=1
+
+inherit toolchain-funcs autotools cros-fuzzer cros-sanitizers cros-workon
+inherit cros-unibuild systemd user
+
+DESCRIPTION="Google A/V Daemon"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/"
+SRC_URI=""
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="asan +cras-apm cras-ml dlc featured fuzzer selinux systemd"
+
+COMMON_DEPEND="
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	dev-libs/iniparser:=
+	cras-apm? ( media-libs/webrtc-apm:= )
+	>=media-libs/alsa-lib-1.1.6-r3:=
+	media-libs/ladspa-sdk:=
+	media-libs/sbc:=
+	media-libs/speex:=
+	cras-ml? ( sci-libs/tensorflow:= )
+	>=sys-apps/dbus-1.4.12:=
+	selinux? ( sys-libs/libselinux:= )
+	virtual/udev:=
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	media-sound/alsa-utils
+	dlc? ( media-sound/sr-bt-dlc:= )
+	media-plugins/alsa-plugins
+	chromeos-base/chromeos-config-tools
+	featured? ( chromeos-base/featured )
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+	dev-libs/libpthread-stubs:=
+	media-sound/cras_rust:=
+"
+
+src_prepare() {
+	cd cras || die
+	eautoreconf
+	default
+}
+
+src_configure() {
+	cros_optimize_package_for_speed
+	sanitizers-setup-env
+	if use amd64 ; then
+		export FUZZER_LDFLAGS="-fsanitize=fuzzer"
+	fi
+
+	cd cras || die
+	# Disable external libraries for fuzzers.
+	if use fuzzer ; then
+		# Disable "gc-sections" for fuzzer builds, https://crbug.com/1026125 .
+		append-ldflags "-Wl,--no-gc-sections"
+		econf $(use_enable cras-apm webrtc-apm) \
+			$(use_enable cras-ml ml) \
+			--with-system-cras-rust \
+			$(use_enable featured) \
+			$(use_enable amd64 fuzzer)
+	else
+		econf $(use_enable selinux) \
+			$(use_enable cras-apm webrtc-apm) \
+			$(use_enable cras-ml ml) \
+			--enable-hats \
+			--enable-metrics \
+			--with-system-cras-rust \
+			$(use_enable dlc) \
+			$(use_enable featured)
+	fi
+}
+
+src_compile() {
+	emake CC="$(tc-getCC)" || die "Unable to build ADHD"
+}
+
+src_test() {
+	if ! use x86 && ! use amd64 ; then
+		elog "Skipping unit tests on non-x86 platform"
+	else
+		cd cras || die
+		# This is an ugly hack that happens to work, but should not be copied.
+		LD_LIBRARY_PATH="${SYSROOT}/usr/$(get_libdir)" \
+		emake check
+	fi
+}
+
+src_install() {
+	emake DESTDIR="${D}" SYSTEMD="$(usex systemd)" install
+
+	# install common ucm config files.
+	insinto /usr/share/alsa/ucm
+	doins -r ucm-config/for_all_boards/*
+
+	# install common cras config files.
+	insinto /etc/cras
+	doins -r cras-config/for_all_boards/*
+
+	# install dbus config allowing cras access
+	insinto /etc/dbus-1/system.d
+	doins dbus-config/org.chromium.cras.conf
+
+	# Install D-Bus XML files.
+	insinto /usr/share/dbus-1/interfaces/
+	doins cras/dbus_bindings/*.xml
+
+	# Install seccomp policy file.
+	insinto /usr/share/policy
+	newins "seccomp/cras-seccomp-${ARCH}.policy" cras-seccomp.policy
+
+	# Install asound.conf for CRAS alsa plugin
+	insinto /etc
+	doins "${FILESDIR}"/asound.conf
+
+	if use fuzzer ; then
+		# Install example dsp.ini file for fuzzer
+		insinto /etc/cras
+		doins cras-config/dsp.ini.sample
+		# Install fuzzer binary
+		local fuzzer_component_id="890231"
+		fuzzer_install "${S}/OWNERS.fuzz" cras/src/cras_rclient_message_fuzzer \
+			--comp "${fuzzer_component_id}"
+		fuzzer_install "${S}/OWNERS.fuzz" cras/src/cras_hfp_slc_fuzzer \
+			--dict "${S}/cras/src/fuzz/cras_hfp_slc.dict" \
+			--comp "${fuzzer_component_id}"
+		local fuzzer_component_id="769744"
+		fuzzer_install "${S}/OWNERS.fuzz" cras/src/cras_fl_media_fuzzer \
+			--comp "${fuzzer_component_id}"
+	fi
+}
+
+pkg_preinst() {
+	enewuser "cras"
+	enewgroup "cras"
+	enewgroup "bluetooth-audio"
+}
diff --git a/media-sound/adhd/adhd-9999.ebuild b/media-sound/adhd/adhd-9999.ebuild
index 4c7de7e..496ceca 100644
--- a/media-sound/adhd/adhd-9999.ebuild
+++ b/media-sound/adhd/adhd-9999.ebuild
@@ -8,14 +8,14 @@
 CROS_WORKON_USE_VCSID=1
 
 inherit toolchain-funcs autotools cros-fuzzer cros-sanitizers cros-workon
-inherit cros-unibuild systemd user libchrome-version
+inherit cros-unibuild systemd user
 
 DESCRIPTION="Google A/V Daemon"
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/"
 SRC_URI=""
 LICENSE="BSD-Google"
 KEYWORDS="~*"
-IUSE="asan +cras-apm fuzzer selinux systemd"
+IUSE="asan +cras-apm cras-ml dlc featured fuzzer selinux systemd"
 
 COMMON_DEPEND="
 	>=chromeos-base/metrics-0.0.1-r3152:=
@@ -25,6 +25,7 @@
 	media-libs/ladspa-sdk:=
 	media-libs/sbc:=
 	media-libs/speex:=
+	cras-ml? ( sci-libs/tensorflow:= )
 	>=sys-apps/dbus-1.4.12:=
 	selinux? ( sys-libs/libselinux:= )
 	virtual/udev:=
@@ -33,9 +34,10 @@
 RDEPEND="
 	${COMMON_DEPEND}
 	media-sound/alsa-utils
+	dlc? ( media-sound/sr-bt-dlc:= )
 	media-plugins/alsa-plugins
 	chromeos-base/chromeos-config-tools
-	chromeos-base/featured
+	featured? ( chromeos-base/featured )
 "
 
 DEPEND="
@@ -45,7 +47,7 @@
 "
 
 src_prepare() {
-	cd cras
+	cd cras || die
 	eautoreconf
 	default
 }
@@ -57,22 +59,25 @@
 		export FUZZER_LDFLAGS="-fsanitize=fuzzer"
 	fi
 
-	cd cras
+	cd cras || die
 	# Disable external libraries for fuzzers.
 	if use fuzzer ; then
 		# Disable "gc-sections" for fuzzer builds, https://crbug.com/1026125 .
 		append-ldflags "-Wl,--no-gc-sections"
 		econf $(use_enable cras-apm webrtc-apm) \
+			$(use_enable cras-ml ml) \
 			--with-system-cras-rust \
+			$(use_enable featured) \
 			$(use_enable amd64 fuzzer)
 	else
 		econf $(use_enable selinux) \
 			$(use_enable cras-apm webrtc-apm) \
+			$(use_enable cras-ml ml) \
 			--enable-hats \
 			--enable-metrics \
 			--with-system-cras-rust \
-			$(use_enable amd64 fuzzer) \
-			BASE_VER="$(libchrome_ver)"
+			$(use_enable dlc) \
+			$(use_enable featured)
 	fi
 }
 
@@ -84,7 +89,7 @@
 	if ! use x86 && ! use amd64 ; then
 		elog "Skipping unit tests on non-x86 platform"
 	else
-		cd cras
+		cd cras || die
 		# This is an ugly hack that happens to work, but should not be copied.
 		LD_LIBRARY_PATH="${SYSROOT}/usr/$(get_libdir)" \
 		emake check
@@ -123,11 +128,15 @@
 		insinto /etc/cras
 		doins cras-config/dsp.ini.sample
 		# Install fuzzer binary
-		fuzzer_install "${S}/OWNERS" cras/src/cras_rclient_message_fuzzer
-		local fuzzer_component_id="777118"
-		fuzzer_install "${S}/OWNERS" cras/src/cras_hfp_slc_fuzzer \
+		local fuzzer_component_id="890231"
+		fuzzer_install "${S}/OWNERS.fuzz" cras/src/cras_rclient_message_fuzzer \
+			--comp "${fuzzer_component_id}"
+		fuzzer_install "${S}/OWNERS.fuzz" cras/src/cras_hfp_slc_fuzzer \
 			--dict "${S}/cras/src/fuzz/cras_hfp_slc.dict" \
 			--comp "${fuzzer_component_id}"
+		local fuzzer_component_id="769744"
+		fuzzer_install "${S}/OWNERS.fuzz" cras/src/cras_fl_media_fuzzer \
+			--comp "${fuzzer_component_id}"
 	fi
 }
 
diff --git a/media-sound/audio_streams/audio_streams-0.1.0-r46.ebuild b/media-sound/audio_streams/audio_streams-0.1.0-r46.ebuild
deleted file mode 100644
index cb4c913..0000000
--- a/media-sound/audio_streams/audio_streams-0.1.0-r46.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_WORKON_COMMIT="c45faa08745f4d1110c1e3f0f0606e30358a5b6d"
-CROS_WORKON_TREE=("54e583cbb28dbd6be41e63a0023841b8926712d0" "657879d7112bd65f190dbbf687daca14399681d0")
-CROS_WORKON_LOCALNAME="../platform/crosvm"
-CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
-# We don't use CROS_WORKON_OUTOFTREE_BUILD here since audio_streams/Cargo.toml
-# is using "provided by ebuild" macro which supported by cros-rust
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_RUST_SUBDIR="common/audio_streams"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} .cargo"
-CROS_WORKON_SUBDIRS_TO_COPY=(${CROS_WORKON_SUTREE})
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Crate provides a basic interface for playing audio."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/audio_streams"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test"
-
-DEPEND="
-	>=dev-rust/async-trait-0.1.36:= <dev-rust/async-trait-0.2
-	dev-rust/cros_async:=
-	=dev-rust/remain-0.2*:=
-	dev-rust/sync:=
-	dev-rust/sys_util:=
-	>=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
-"
-# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
-# installing binpkgs since the full source tree is required to use the crate.
-RDEPEND="${DEPEND}
-	!<=media-sound/audio_streams-0.1.0-r7
-"
diff --git a/media-sound/audio_streams/audio_streams-0.1.0-r59.ebuild b/media-sound/audio_streams/audio_streams-0.1.0-r59.ebuild
new file mode 100644
index 0000000..7471d45
--- /dev/null
+++ b/media-sound/audio_streams/audio_streams-0.1.0-r59.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="867ba52f7243fd0d07f86eb47a87373393a13a2c"
+CROS_WORKON_TREE=("198941553c123cea4774f67021c9e7da7842eeff" "8083bdbef3cd7fbbc9ec90941ff0418df2ce6d78")
+CROS_WORKON_LOCALNAME="../platform/crosvm"
+CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
+# We don't use CROS_WORKON_OUTOFTREE_BUILD here since audio_streams/Cargo.toml
+# is using "provided by ebuild" macro which supported by cros-rust
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_RUST_SUBDIR="common/audio_streams"
+CROS_WORKON_SUBDIRS_TO_COPY=("${CROS_RUST_SUBDIR}" .cargo)
+CROS_WORKON_SUBTREE="${CROS_WORKON_SUBDIRS_TO_COPY[*]}"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Crate provides a basic interface for playing audio."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/audio_streams"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test"
+
+DEPEND="
+	=dev-rust/async-trait-0.1*:=
+	=dev-rust/futures-0.3*:=
+	=dev-rust/remain-0.2*:=
+	dev-rust/sync:=
+	dev-rust/sys_util:=
+	=dev-rust/thiserror-1*:=
+"
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}
+	!<=media-sound/audio_streams-0.1.0-r49
+"
diff --git a/media-sound/audio_streams/audio_streams-9999.ebuild b/media-sound/audio_streams/audio_streams-9999.ebuild
index a04f7e9..dca3d12 100644
--- a/media-sound/audio_streams/audio_streams-9999.ebuild
+++ b/media-sound/audio_streams/audio_streams-9999.ebuild
@@ -9,8 +9,8 @@
 # is using "provided by ebuild" macro which supported by cros-rust
 CROS_WORKON_INCREMENTAL_BUILD=1
 CROS_RUST_SUBDIR="common/audio_streams"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} .cargo"
-CROS_WORKON_SUBDIRS_TO_COPY=(${CROS_WORKON_SUTREE})
+CROS_WORKON_SUBDIRS_TO_COPY=("${CROS_RUST_SUBDIR}" .cargo)
+CROS_WORKON_SUBTREE="${CROS_WORKON_SUBDIRS_TO_COPY[*]}"
 
 inherit cros-workon cros-rust
 
@@ -22,15 +22,15 @@
 IUSE="test"
 
 DEPEND="
-	>=dev-rust/async-trait-0.1.36:= <dev-rust/async-trait-0.2
-	dev-rust/cros_async:=
+	=dev-rust/async-trait-0.1*:=
+	=dev-rust/futures-0.3*:=
 	=dev-rust/remain-0.2*:=
 	dev-rust/sync:=
 	dev-rust/sys_util:=
-	>=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
+	=dev-rust/thiserror-1*:=
 "
 # (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
 # installing binpkgs since the full source tree is required to use the crate.
 RDEPEND="${DEPEND}
-	!<=media-sound/audio_streams-0.1.0-r7
+	!<=media-sound/audio_streams-0.1.0-r49
 "
diff --git a/media-sound/cras-sys/cras-sys-0.1.0-r64.ebuild b/media-sound/cras-sys/cras-sys-0.1.0-r64.ebuild
deleted file mode 100644
index f41a411..0000000
--- a/media-sound/cras-sys/cras-sys-0.1.0-r64.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_WORKON_COMMIT="cc200e7e68937c68a9ff21b4d5b82d0c11631674"
-CROS_WORKON_TREE=("af5a7bf57cab1e4ec5ba5eaca05061c053b74f93" "0bebc1622eae331167c191012217accb74a1fbc0")
-CROS_RUST_SUBDIR="cras/client/cras-sys"
-# TODO(b/175640259) Fix tests for ARM.
-CROS_RUST_TEST_DIRECT_EXEC_ONLY="yes"
-
-CROS_WORKON_LOCALNAME="adhd"
-CROS_WORKON_PROJECT="chromiumos/third_party/adhd"
-# We don't use CROS_WORKON_OUTOFTREE_BUILD here since cras-sys/Cargo.toml is
-# using "provided by ebuild" macro which supported by cros-rust.
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} cras/src/common"
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Crate for CRAS C-structures generated by bindgen"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cras/client/cras-sys"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test"
-
-DEPEND="
-	dev-rust/data_model:=
-	media-sound/audio_streams:=
-	virtual/bindgen:=
-"
-# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
-# installing binpkgs since the full source tree is required to use the crate.
-RDEPEND="${DEPEND}
-	!<=media-sound/cras-sys-0.1.0-r10
-"
diff --git a/media-sound/cras-sys/cras-sys-0.1.0-r81.ebuild b/media-sound/cras-sys/cras-sys-0.1.0-r81.ebuild
new file mode 100644
index 0000000..7aae883
--- /dev/null
+++ b/media-sound/cras-sys/cras-sys-0.1.0-r81.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="40f6db001376fc7ca5a6da04af9c517c183aaafe"
+CROS_WORKON_TREE=("5a049e411d7e6bda3b44e0ffcee240fd8306c2d7" "93135663b229bad60fa48e6a3078a37b874b7113")
+CROS_RUST_SUBDIR="cras/client/cras-sys"
+# TODO(b/175640259) Fix tests for ARM.
+CROS_RUST_TEST_DIRECT_EXEC_ONLY="yes"
+
+CROS_WORKON_LOCALNAME="adhd"
+CROS_WORKON_PROJECT="chromiumos/third_party/adhd"
+# We don't use CROS_WORKON_OUTOFTREE_BUILD here since cras-sys/Cargo.toml is
+# using "provided by ebuild" macro which supported by cros-rust.
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} cras/src/common"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Crate for CRAS C-structures generated by bindgen"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cras/client/cras-sys"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test"
+
+DEPEND="
+	dev-rust/data_model:=
+	=dev-rust/serde-1*
+	media-sound/audio_streams:=
+	virtual/bindgen:=
+"
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}
+	!<=media-sound/cras-sys-0.1.0-r10
+"
diff --git a/media-sound/cras-sys/cras-sys-9999.ebuild b/media-sound/cras-sys/cras-sys-9999.ebuild
index 4ffb6e14..ca65a08 100644
--- a/media-sound/cras-sys/cras-sys-9999.ebuild
+++ b/media-sound/cras-sys/cras-sys-9999.ebuild
@@ -25,6 +25,7 @@
 
 DEPEND="
 	dev-rust/data_model:=
+	=dev-rust/serde-1*
 	media-sound/audio_streams:=
 	virtual/bindgen:=
 "
diff --git a/media-sound/cras_bench/OWNERS b/media-sound/cras_bench/OWNERS
index e040e6f..f619b35 100644
--- a/media-sound/cras_bench/OWNERS
+++ b/media-sound/cras_bench/OWNERS
@@ -1 +1 @@
-include chromiumos/third_party/adhd:/OWNERS
+include chromiumos/owners:v1:/audio/OWNERS.all
diff --git a/media-sound/cras_bench/cras_bench-0.0.1-r170.ebuild b/media-sound/cras_bench/cras_bench-0.0.1-r170.ebuild
deleted file mode 100644
index 7da2def..0000000
--- a/media-sound/cras_bench/cras_bench-0.0.1-r170.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="26326fafc3dbb73d8db66a6e26857100631cab81"
-CROS_WORKON_TREE="b048fd0f9cb95bc82600eed12d8f920d2b6d5f12"
-CROS_WORKON_PROJECT="chromiumos/third_party/adhd"
-CROS_WORKON_LOCALNAME="adhd"
-CROS_WORKON_USE_VCSID=1
-
-inherit toolchain-funcs cros-workon cros-bazel
-
-DESCRIPTION="Performance benchmarks for ChromeOS audio server"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="+cras-apm"
-
-DEPEND="
-	media-libs/alsa-lib
-	cras-apm? ( media-libs/webrtc-apm:= )
-"
-RDEPEND="${DEPEND}"
-
-bazel_external_uris="
-	https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz -> bazel-skylib-1.0.3.tar.gz
-	https://github.com/bazelbuild/rules_cc/archive/01d4a48911d5e7591ecb1c06d3b8af47fe872371.zip -> bazelbuild-rules_cc-01d4a48911d5e7591ecb1c06d3b8af47fe872371.zip
-	https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip -> bazelbuild-rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip
-	https://github.com/google/benchmark/archive/refs/tags/v1.5.5.tar.gz -> google-benchmark-1.5.5.tar.gz
-"
-SRC_URI="${bazel_external_uris}"
-
-src_unpack() {
-	bazel_load_distfiles "${bazel_external_uris}"
-	cros-workon_src_unpack
-}
-
-src_prepare() {
-	export JAVA_HOME=$(ROOT="${BROOT}" java-config --jdk-home)
-	cd cras || die
-	bazel_setup_crosstool
-	default
-}
-
-src_configure() {
-	cros_optimize_package_for_speed
-}
-
-src_compile() {
-	cd cras || die
-	args=(
-		"$(use cras-apm && echo "--//src/benchmark:apm=true")"
-	)
-	ebazel build //src/benchmark:cras_bench "${args[*]}"
-}
-
-src_install() {
-	dobin cras/bazel-bin/src/benchmark/cras_bench
-}
diff --git a/media-sound/cras_bench/cras_bench-0.0.1-r348.ebuild b/media-sound/cras_bench/cras_bench-0.0.1-r348.ebuild
new file mode 100644
index 0000000..7e94c6c
--- /dev/null
+++ b/media-sound/cras_bench/cras_bench-0.0.1-r348.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="1c8369376976ddaba0bd8498664b6b15ac9cc621"
+CROS_WORKON_TREE="ce3a32c2e3e8f9dde7a7092a0ccf3391bd355f60"
+CROS_WORKON_PROJECT="chromiumos/third_party/adhd"
+CROS_WORKON_LOCALNAME="adhd"
+CROS_WORKON_USE_VCSID=1
+
+inherit toolchain-funcs cros-workon cros-bazel cros-sanitizers
+
+DESCRIPTION="Performance benchmarks for ChromeOS audio server"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="+cras-apm asan"
+
+DEPEND="
+	chromeos-base/chromeos-config-tools
+	media-libs/alsa-lib
+	cras-apm? ( media-libs/webrtc-apm:= )
+"
+RDEPEND="${DEPEND}"
+
+bazel_external_uris="
+	https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz -> bazel-skylib-1.0.3.tar.gz
+	https://github.com/bazelbuild/rules_cc/archive/01d4a48911d5e7591ecb1c06d3b8af47fe872371.zip -> bazelbuild-rules_cc-01d4a48911d5e7591ecb1c06d3b8af47fe872371.zip
+	https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip -> bazelbuild-rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip
+	https://github.com/google/benchmark/archive/refs/tags/v1.5.5.tar.gz -> google-benchmark-1.5.5.tar.gz
+"
+SRC_URI="${bazel_external_uris}"
+
+src_unpack() {
+	bazel_load_distfiles "${bazel_external_uris}"
+	cros-workon_src_unpack
+}
+
+src_prepare() {
+	export JAVA_HOME=$(ROOT="${BROOT}" java-config --jdk-home)
+	cd cras || die
+	sanitizers-setup-env
+	default
+}
+
+src_configure() {
+	cros_optimize_package_for_speed
+}
+
+src_compile() {
+	cd cras || die
+	args=(
+		"$(use cras-apm && echo "--//src/benchmark:hw_dependency=true")"
+	)
+	# Prevent clang to access  ubsan_blocklist.txt which is not supported by bazel.
+	filter-flags -fsanitize-blacklist="${S}"/ubsan_blocklist.txt
+	bazel_setup_crosstool
+	ebazel build //src/benchmark:cras_bench "${args[*]}"
+}
+
+src_install() {
+	dobin cras/bazel-bin/src/benchmark/cras_bench
+}
diff --git a/media-sound/cras_bench/cras_bench-9999.ebuild b/media-sound/cras_bench/cras_bench-9999.ebuild
index fc939be..b589cd3 100644
--- a/media-sound/cras_bench/cras_bench-9999.ebuild
+++ b/media-sound/cras_bench/cras_bench-9999.ebuild
@@ -6,15 +6,16 @@
 CROS_WORKON_LOCALNAME="adhd"
 CROS_WORKON_USE_VCSID=1
 
-inherit toolchain-funcs cros-workon cros-bazel
+inherit toolchain-funcs cros-workon cros-bazel cros-sanitizers
 
 DESCRIPTION="Performance benchmarks for ChromeOS audio server"
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/"
 LICENSE="BSD-Google"
 KEYWORDS="~*"
-IUSE="+cras-apm"
+IUSE="+cras-apm asan"
 
 DEPEND="
+	chromeos-base/chromeos-config-tools
 	media-libs/alsa-lib
 	cras-apm? ( media-libs/webrtc-apm:= )
 "
@@ -36,7 +37,7 @@
 src_prepare() {
 	export JAVA_HOME=$(ROOT="${BROOT}" java-config --jdk-home)
 	cd cras || die
-	bazel_setup_crosstool
+	sanitizers-setup-env
 	default
 }
 
@@ -47,8 +48,11 @@
 src_compile() {
 	cd cras || die
 	args=(
-		"$(use cras-apm && echo "--//src/benchmark:apm=true")"
+		"$(use cras-apm && echo "--//src/benchmark:hw_dependency=true")"
 	)
+	# Prevent clang to access  ubsan_blocklist.txt which is not supported by bazel.
+	filter-flags -fsanitize-blacklist="${S}"/ubsan_blocklist.txt
+	bazel_setup_crosstool
 	ebazel build //src/benchmark:cras_bench "${args[*]}"
 }
 
diff --git a/media-sound/cras_rust/cras_rust-0.1.0-r10.ebuild b/media-sound/cras_rust/cras_rust-0.1.0-r10.ebuild
new file mode 100644
index 0000000..7193d79
--- /dev/null
+++ b/media-sound/cras_rust/cras_rust-0.1.0-r10.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="dd1d096537340b37c2b46b095e40b8a7c4e39367"
+CROS_WORKON_TREE="e24ea8d6fa141edb37715d2ba7456734c3864357"
+CROS_RUST_SUBDIR="cras/src/server/rust"
+
+CROS_WORKON_LOCALNAME="adhd"
+CROS_WORKON_PROJECT="chromiumos/third_party/adhd"
+# We don't use CROS_WORKON_OUTOFTREE_BUILD here since cras/src/server/rust is
+# using the `provided by ebuild` macro from the cros-rust eclass
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Rust code which is used within cras"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cras/src/server/rust"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="dlc test"
+
+DEPEND="
+	>=dev-rust/anyhow-1.0.55:= <dev-rust/anyhow-2.0.0
+	=dev-rust/dbus-0.9*:=
+	dev-rust/libc:=
+	>=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3
+	dev-rust/system_api:=
+	>=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0
+"
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}"
+
+src_compile() {
+	local features=(
+		$(usex dlc cras_dlc "")
+	)
+	cros-rust_src_compile -v --features="${features[*]}"
+}
+
+src_install() {
+	dolib.a "$(cros-rust_get_build_dir)/libcras_rust.a"
+	cros-rust_src_install
+}
diff --git a/media-sound/cras_rust/cras_rust-0.1.0-r7.ebuild b/media-sound/cras_rust/cras_rust-0.1.0-r7.ebuild
deleted file mode 100644
index 3314a7a..0000000
--- a/media-sound/cras_rust/cras_rust-0.1.0-r7.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_WORKON_COMMIT="df9da8b0081a98601f461848af9ffc94c8990536"
-CROS_WORKON_TREE="59ac7e6fe81d2514470c8a5e255c595a87f707e2"
-CROS_RUST_SUBDIR="cras/src/server/rust"
-
-CROS_WORKON_LOCALNAME="adhd"
-CROS_WORKON_PROJECT="chromiumos/third_party/adhd"
-# We don't use CROS_WORKON_OUTOFTREE_BUILD here since cras/src/server/rust is
-# using the `provided by ebuild` macro from the cros-rust eclass
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Rust code which is used within cras"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cras/src/server/rust"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test"
-
-DEPEND="
-	dev-rust/libc:=
-"
-# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
-# installing binpkgs since the full source tree is required to use the crate.
-RDEPEND="${DEPEND}"
-
-src_install() {
-	dolib.a "$(cros-rust_get_build_dir)/libcras_rust.a"
-	cros-rust_src_install
-}
diff --git a/media-sound/cras_rust/cras_rust-9999.ebuild b/media-sound/cras_rust/cras_rust-9999.ebuild
index 073d30d..5796ddd 100644
--- a/media-sound/cras_rust/cras_rust-9999.ebuild
+++ b/media-sound/cras_rust/cras_rust-9999.ebuild
@@ -18,15 +18,27 @@
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
-IUSE="test"
+IUSE="dlc test"
 
 DEPEND="
+	>=dev-rust/anyhow-1.0.55:= <dev-rust/anyhow-2.0.0
+	=dev-rust/dbus-0.9*:=
 	dev-rust/libc:=
+	>=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3
+	dev-rust/system_api:=
+	>=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0
 "
 # (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
 # installing binpkgs since the full source tree is required to use the crate.
 RDEPEND="${DEPEND}"
 
+src_compile() {
+	local features=(
+		$(usex dlc cras_dlc "")
+	)
+	cros-rust_src_compile -v --features="${features[*]}"
+}
+
 src_install() {
 	dolib.a "$(cros-rust_get_build_dir)/libcras_rust.a"
 	cros-rust_src_install
diff --git a/media-sound/cras_tests/cras_tests-0.1.0-r48.ebuild b/media-sound/cras_tests/cras_tests-0.1.0-r48.ebuild
deleted file mode 100644
index 92a3338..0000000
--- a/media-sound/cras_tests/cras_tests-0.1.0-r48.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_WORKON_COMMIT="bbf0ad821bd08913d5531798a424ec6aaf91d39f"
-CROS_WORKON_TREE=("1eae8be58017a7d30c94f9c5d5ad5fcd5ebd98a1" "6a314a414ab66eb8eb2ad8541cbfff9266bb283e")
-CROS_RUST_SUBDIR="cras/client/cras_tests"
-
-CROS_WORKON_LOCALNAME="adhd"
-CROS_WORKON_PROJECT="chromiumos/third_party/adhd"
-# We don't use CROS_WORKON_OUTOFTREE_BUILD here since cras-sys/Cargo.toml is
-# using "provided by ebuild" macro which supported by cros-rust
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} cras/dbus_bindings"
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Rust version cras test client"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cras/client/cras_tests"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test"
-
-DEPEND="
-	dev-rust/chromeos-dbus-bindings:=
-	=dev-rust/dbus-0.9*:=
-	>=dev-rust/getopts-0.2.18:= <dev-rust/getopts-0.3
-	dev-rust/hound:=
-	dev-rust/sys_util:=
-	>=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
-	media-sound/audio_streams:=
-	media-sound/libcras:=
-"
-# DEPEND isn't needed in RDEPEND because nothing from this ebuild is installed
-# to the cros_rust_registry.
-RDEPEND="
-	!<=media-sound/cras_tests-0.1.0-r12
-"
-
-src_install() {
-	dobin "$(cros-rust_get_build_dir)/cras_tests"
-}
diff --git a/media-sound/cras_tests/cras_tests-0.1.0-r54.ebuild b/media-sound/cras_tests/cras_tests-0.1.0-r54.ebuild
new file mode 100644
index 0000000..9eb5d60
--- /dev/null
+++ b/media-sound/cras_tests/cras_tests-0.1.0-r54.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="cde7cb8f73a5c3d12efcd877b93dc32d2c38963a"
+CROS_WORKON_TREE=("413b00cea90e3466162b7497715491c714249b3f" "ed9568e164e1e6d2d6e0ef8336987bafdb31c5e6")
+CROS_RUST_SUBDIR="cras/client/cras_tests"
+
+CROS_WORKON_LOCALNAME="adhd"
+CROS_WORKON_PROJECT="chromiumos/third_party/adhd"
+# We don't use CROS_WORKON_OUTOFTREE_BUILD here since cras-sys/Cargo.toml is
+# using "provided by ebuild" macro which supported by cros-rust
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} cras/dbus_bindings"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Rust version cras test client"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cras/client/cras_tests"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test"
+
+DEPEND="
+	dev-rust/chromeos-dbus-bindings:=
+	>=dev-rust/clap-3.1.12:= <dev-rust/clap-4.0
+	=dev-rust/dbus-0.9*:=
+	dev-rust/hound:=
+	=dev-rust/serde_json-1*
+	dev-rust/sys_util:=
+	>=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
+	media-sound/audio_streams:=
+	media-sound/libcras:=
+"
+# DEPEND isn't needed in RDEPEND because nothing from this ebuild is installed
+# to the cros_rust_registry.
+RDEPEND="
+	!<=media-sound/cras_tests-0.1.0-r12
+"
+
+src_install() {
+	dobin "$(cros-rust_get_build_dir)/cras_tests"
+}
diff --git a/media-sound/cras_tests/cras_tests-9999.ebuild b/media-sound/cras_tests/cras_tests-9999.ebuild
index 24b0602..0cc44d5 100644
--- a/media-sound/cras_tests/cras_tests-9999.ebuild
+++ b/media-sound/cras_tests/cras_tests-9999.ebuild
@@ -22,9 +22,10 @@
 
 DEPEND="
 	dev-rust/chromeos-dbus-bindings:=
+	>=dev-rust/clap-3.1.12:= <dev-rust/clap-4.0
 	=dev-rust/dbus-0.9*:=
-	>=dev-rust/getopts-0.2.18:= <dev-rust/getopts-0.3
 	dev-rust/hound:=
+	=dev-rust/serde_json-1*
 	dev-rust/sys_util:=
 	>=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
 	media-sound/audio_streams:=
diff --git a/media-sound/cros_alsa/cros_alsa-0.1.0-r10.ebuild b/media-sound/cros_alsa/cros_alsa-0.1.0-r10.ebuild
new file mode 100644
index 0000000..a55ec039e
--- /dev/null
+++ b/media-sound/cros_alsa/cros_alsa-0.1.0-r10.ebuild
@@ -0,0 +1,88 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b965be65edfdef9437c401ad2ddda8a21c775b47"
+CROS_WORKON_TREE="2863c6a8055055d2655845884c1ed209f785b3ad"
+CROS_WORKON_LOCALNAME="adhd"
+CROS_WORKON_PROJECT="chromiumos/third_party/adhd"
+CROS_WORKON_INCREMENTAL_BUILD=1
+# We don't use CROS_WORKON_OUTOFTREE_BUILD here since cros_alsa/Cargo.toml
+# is using "provided by ebuild" macro which supported by cros-rust
+CROS_WORKON_SUBTREE="cros_alsa"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Rust version alsa-lib"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cros_alsa"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test"
+
+DEPEND="
+	>=dev-rust/alsa-sys-0.2.0:= <dev-rust/alsa-sys-0.3.0
+	>=dev-rust/libc-0.2.65:=
+	<dev-rust/libc-0.3
+	=dev-rust/proc-macro2-1*:=
+	=dev-rust/quote-1*:=
+	=dev-rust/syn-1*:=
+	dev-rust/sys_util:=
+	dev-rust/remain:=
+"
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+	cros-rust_pkg_setup cros_alsa_derive
+	cros-rust_pkg_setup cros_alsa
+}
+
+src_compile() {
+	(
+		cd cros_alsa_derive || die
+		cros-rust_src_compile
+	)
+
+	cros-rust_src_compile
+}
+
+src_test() {
+	(
+		cd cros_alsa_derive || die
+		cros-rust_src_test
+	)
+
+	cros-rust_src_test
+}
+
+src_install() {
+	(
+		cd cros_alsa_derive || die
+		cros-rust_publish cros_alsa_derive "$(cros-rust_get_crate_version .)"
+	)
+
+	cros-rust_publish "${PN}" "$(cros-rust_get_crate_version)"
+}
+
+pkg_preinst() {
+	cros-rust_pkg_preinst cros_alsa_derive
+	cros-rust_pkg_preinst cros_alsa
+}
+
+pkg_postinst() {
+	cros-rust_pkg_postinst cros_alsa_derive
+	cros-rust_pkg_postinst cros_alsa
+}
+
+pkg_prerm() {
+	cros-rust_pkg_prerm cros_alsa_derive
+	cros-rust_pkg_prerm cros_alsa
+}
+
+pkg_postrm() {
+	cros-rust_pkg_postrm cros_alsa_derive
+	cros-rust_pkg_postrm cros_alsa
+}
diff --git a/media-sound/cros_alsa/cros_alsa-0.1.0-r9.ebuild b/media-sound/cros_alsa/cros_alsa-0.1.0-r9.ebuild
deleted file mode 100644
index e22f687..0000000
--- a/media-sound/cros_alsa/cros_alsa-0.1.0-r9.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="6320199f5e5a8d238b001ddfe331866ac7abc902"
-CROS_WORKON_TREE="ac7030d4fb6d28b578e0d8b9b28e3cbe60550a92"
-CROS_WORKON_LOCALNAME="adhd"
-CROS_WORKON_PROJECT="chromiumos/third_party/adhd"
-CROS_WORKON_INCREMENTAL_BUILD=1
-# We don't use CROS_WORKON_OUTOFTREE_BUILD here since cros_alsa/Cargo.toml
-# is using "provided by ebuild" macro which supported by cros-rust
-CROS_WORKON_SUBTREE="cros_alsa"
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Rust version alsa-lib"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cros_alsa"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test"
-
-DEPEND="
-	>=dev-rust/alsa-sys-0.2.0:= <dev-rust/alsa-sys-0.3.0
-	>=dev-rust/libc-0.2.65:=
-	<dev-rust/libc-0.3
-	=dev-rust/proc-macro2-1*:=
-	=dev-rust/quote-1*:=
-	=dev-rust/syn-1*:=
-	dev-rust/remain:=
-"
-# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
-# installing binpkgs since the full source tree is required to use the crate.
-RDEPEND="${DEPEND}"
-
-pkg_setup() {
-	cros-rust_pkg_setup cros_alsa_derive
-	cros-rust_pkg_setup cros_alsa
-}
-
-src_compile() {
-	(
-		cd cros_alsa_derive || die
-		cros-rust_src_compile
-	)
-
-	cros-rust_src_compile
-}
-
-src_test() {
-	(
-		cd cros_alsa_derive || die
-		cros-rust_src_test
-	)
-
-	cros-rust_src_test
-}
-
-src_install() {
-	(
-		cd cros_alsa_derive || die
-		cros-rust_publish cros_alsa_derive "$(cros-rust_get_crate_version .)"
-	)
-
-	cros-rust_publish "${PN}" "$(cros-rust_get_crate_version)"
-}
-
-pkg_preinst() {
-	cros-rust_pkg_preinst cros_alsa_derive
-	cros-rust_pkg_preinst cros_alsa
-}
-
-pkg_postinst() {
-	cros-rust_pkg_postinst cros_alsa_derive
-	cros-rust_pkg_postinst cros_alsa
-}
-
-pkg_prerm() {
-	cros-rust_pkg_prerm cros_alsa_derive
-	cros-rust_pkg_prerm cros_alsa
-}
-
-pkg_postrm() {
-	cros-rust_pkg_postrm cros_alsa_derive
-	cros-rust_pkg_postrm cros_alsa
-}
diff --git a/media-sound/cros_alsa/cros_alsa-9999.ebuild b/media-sound/cros_alsa/cros_alsa-9999.ebuild
index 58f276e..a5563970 100644
--- a/media-sound/cros_alsa/cros_alsa-9999.ebuild
+++ b/media-sound/cros_alsa/cros_alsa-9999.ebuild
@@ -26,6 +26,7 @@
 	=dev-rust/proc-macro2-1*:=
 	=dev-rust/quote-1*:=
 	=dev-rust/syn-1*:=
+	dev-rust/sys_util:=
 	dev-rust/remain:=
 "
 # (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
diff --git a/media-sound/libcras/libcras-0.1.0-r68.ebuild b/media-sound/libcras/libcras-0.1.0-r68.ebuild
deleted file mode 100644
index 7da4015..0000000
--- a/media-sound/libcras/libcras-0.1.0-r68.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_WORKON_COMMIT="3d2cda2141ec95451332225a45e5dd2386ac288c"
-CROS_WORKON_TREE="92aed90a2b0c54d8700344908d6216e54b1621f2"
-CROS_RUST_SUBDIR="cras/client/libcras"
-
-CROS_WORKON_LOCALNAME="adhd"
-CROS_WORKON_PROJECT="chromiumos/third_party/adhd"
-# We don't use CROS_WORKON_OUTOFTREE_BUILD here since cras-sys/Cargo.toml is
-# using "provided by ebuild" macro which supported by cros-rust
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Rust version libcras"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cras/client/libcras"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test"
-
-DEPEND="
-	>=dev-rust/libc-0.2.44:=
-	>=dev-rust/async-trait-0.1.36:= <dev-rust/async-trait-0.2
-	dev-rust/cros_async:=
-	dev-rust/data_model:=
-	dev-rust/sys_util:=
-	media-sound/audio_streams:=
-	media-sound/cras-sys:=
-"
-# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
-# installing binpkgs since the full source tree is required to use the crate.
-RDEPEND="${DEPEND}
-	!<=media-sound/libcras-0.1.0-r21
-"
diff --git a/media-sound/libcras/libcras-0.1.0-r74.ebuild b/media-sound/libcras/libcras-0.1.0-r74.ebuild
new file mode 100644
index 0000000..1104af4
--- /dev/null
+++ b/media-sound/libcras/libcras-0.1.0-r74.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="c9fa9a6f40d271f8a777fb2319aa88a29eddca54"
+CROS_WORKON_TREE="8bf00d44aa9f6189a85e3c37aa6690ea0a2b9066"
+CROS_RUST_SUBDIR="cras/client/libcras"
+
+CROS_WORKON_LOCALNAME="adhd"
+CROS_WORKON_PROJECT="chromiumos/third_party/adhd"
+# We don't use CROS_WORKON_OUTOFTREE_BUILD here since cras-sys/Cargo.toml is
+# using "provided by ebuild" macro which supported by cros-rust
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Rust version libcras"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cras/client/libcras"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test"
+
+DEPEND="
+	>=dev-rust/libc-0.2.44:=
+	>=dev-rust/async-trait-0.1.36:= <dev-rust/async-trait-0.2
+	dev-rust/cros_async:=
+	dev-rust/data_model:=
+	dev-rust/sys_util:=
+	media-sound/audio_streams:=
+	media-sound/cras-sys:=
+	=dev-rust/anyhow-1*:=
+"
+# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
+# installing binpkgs since the full source tree is required to use the crate.
+RDEPEND="${DEPEND}
+	!<=media-sound/libcras-0.1.0-r21
+"
diff --git a/media-sound/libcras/libcras-9999.ebuild b/media-sound/libcras/libcras-9999.ebuild
index 9ad27cd..bb26053 100644
--- a/media-sound/libcras/libcras-9999.ebuild
+++ b/media-sound/libcras/libcras-9999.ebuild
@@ -29,6 +29,7 @@
 	dev-rust/sys_util:=
 	media-sound/audio_streams:=
 	media-sound/cras-sys:=
+	=dev-rust/anyhow-1*:=
 "
 # (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
 # installing binpkgs since the full source tree is required to use the crate.
diff --git a/media-sound/metadata.xml b/media-sound/metadata.xml
deleted file mode 100644
index 84c7cb8..0000000
--- a/media-sound/metadata.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The media-sound category contains sound, music and audio applications.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie media-sound enthält verschiedenste Audio-Applikationen.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría media-sound contiene aplicaciones de sonido, música y
-		audio.
-	</longdescription>
-	<longdescription lang="fr">
-		La catégorie media-sound contient des applications de son, de musique et d'audio.
-	</longdescription>
-	<longdescription lang="ja">
-		media-soundカテゴリーにはサウンドやミュージックやオーデイオの
-		アプリケーションが含まれています。
-	</longdescription>
-	<longdescription lang="nl">
-		De categorie media-sound bevat applicaties voor geluid en muziek.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm media-sound chứa các ứng dụng liên quan đến âm thanh, nhạc, tiếng nói.
-	</longdescription>
-	<longdescription lang="sk">
-		Kategória media-sound obsahuje aplikácie pre prácu so zvukom a hudbou.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria media-sound contiene applicazioni per suono, musica e
-		audio.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria media-sound contém aplicações de som, música e áudio.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria media-sound zawiera programy dźwiękowe i muzyczne.
-	</longdescription>
-</catmetadata>
-
diff --git a/media-sound/sof-tools/Manifest b/media-sound/sof-tools/Manifest
new file mode 100644
index 0000000..b437d52
--- /dev/null
+++ b/media-sound/sof-tools/Manifest
@@ -0,0 +1 @@
+DIST sof-tools-2.1.1.tar.gz 2525622 BLAKE2B 22881cc31b18e426c912852129fa15d6e1036071e8379686ee651526b3f98e7711ca3e7de8a82009407fb59563289bb26a14b6c91f2e70b549ef82043930fd0e SHA512 e915c9da74829469e58e957574305dc136f34a3fc40372b254c87707c90a230e94a0403f314c273ac75af8f96f050944d624c1815a4d6d78b0bf665fbe9b47ad
diff --git a/media-sound/sof-tools/OWNERS b/media-sound/sof-tools/OWNERS
new file mode 100644
index 0000000..f619b35
--- /dev/null
+++ b/media-sound/sof-tools/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/audio/OWNERS.all
diff --git a/media-sound/sof-tools/files/0001-sof-ctl-Fix-Wformat-Wsometimes-uninitialized.patch b/media-sound/sof-tools/files/0001-sof-ctl-Fix-Wformat-Wsometimes-uninitialized.patch
new file mode 100644
index 0000000..80bd80b
--- /dev/null
+++ b/media-sound/sof-tools/files/0001-sof-ctl-Fix-Wformat-Wsometimes-uninitialized.patch
@@ -0,0 +1,48 @@
+From badf86d6d1976eaf67b3231762e45c821f82cd21 Mon Sep 17 00:00:00 2001
+From: Li-Yu Yu <aaronyu@google.com>
+Date: Thu, 28 Apr 2022 17:18:56 +0800
+Subject: [PATCH 1/1] sof-ctl: Fix -Wformat,-Wsometimes-uninitialized
+
+* Use %z specifier for size types to avoid format
+  specifier warnings on arm32
+* in ctl_dump(), size_t n may be used initialized
+  if ctl_data->out_fd > 0 and !ctl_data->binary.
+
+Signed-off-by: Li-Yu Yu <aaronyu@google.com>
+---
+ ctl/ctl.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/ctl/ctl.c b/ctl/ctl.c
+index 7cbeeaf84..be2f397a1 100644
+--- a/ctl/ctl.c
++++ b/ctl/ctl.c
+@@ -197,7 +197,7 @@ static void hex_data_dump(struct ctl_data *ctl_data)
+ 	/* Print out in 16bit hex format */
+ 	for (i = 0; i < n; i++) {
+ 		if (!(i % 8))
+-			fprintf(stdout, "%08lx ",
++			fprintf(stdout, "%08zx ",
+ 				i * sizeof(uint16_t));
+ 		fprintf(stdout, "%04x ", config[i]);
+ 		if ((i % 8) == 7)
+@@ -405,7 +405,7 @@ static void ctl_dump(struct ctl_data *ctl_data)
+ {
+ 	FILE *fh;
+ 	int offset = 0;
+-	size_t n;/* in bytes */
++	size_t n = 0;/* in bytes */
+
+ 	if (ctl_data->out_fd > 0) {
+ 		if (ctl_data->binary) {
+@@ -436,7 +436,7 @@ static void ctl_dump(struct ctl_data *ctl_data)
+ 			csv_data_dump(ctl_data, fh);
+ 		}
+
+-		fprintf(stdout, "%ld bytes written to file.\n", n);
++		fprintf(stdout, "%zd bytes written to file.\n", n);
+ 		fclose(fh);
+ 	} else {
+ 		/* dump to stdout */
+--
+2.36.0.rc2.479.g8af0fa9b8e-goog
diff --git a/media-sound/sof-tools/sof-tools-2.1.1-r2.ebuild b/media-sound/sof-tools/sof-tools-2.1.1-r2.ebuild
new file mode 100644
index 0000000..b189557
--- /dev/null
+++ b/media-sound/sof-tools/sof-tools-2.1.1-r2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Tools for Sound Open Firmware"
+HOMEPAGE="https://github.com/thesofproject/sof"
+SRC_URI="https://github.com/thesofproject/sof/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="*"
+
+DEPEND="
+	media-libs/alsa-lib
+"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/sof-${PV}/tools"
+
+PATCHES=(
+	"${FILESDIR}"/0001-sof-ctl-Fix-Wformat-Wsometimes-uninitialized.patch
+)
+
+src_compile() {
+	cmake_build sof-logger sof-ctl
+}
+
+src_install() {
+	dobin "${BUILD_DIR}/logger/sof-logger"
+	dobin "${BUILD_DIR}/ctl/sof-ctl"
+}
diff --git a/media-sound/sof_sys/sof_sys-0.1.0-r2.ebuild b/media-sound/sof_sys/sof_sys-0.1.0-r2.ebuild
deleted file mode 100644
index 7861764..0000000
--- a/media-sound/sof_sys/sof_sys-0.1.0-r2.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="6db32db512a77aba7f7d1eec65c94ae7c2b630d8"
-CROS_WORKON_TREE="722de0d042e40080ac592dcac92d934b39597d43"
-CROS_RUST_SUBDIR="sof_sys"
-
-CROS_WORKON_LOCALNAME="adhd"
-CROS_WORKON_PROJECT="chromiumos/third_party/adhd"
-# We don't use CROS_WORKON_OUTOFTREE_BUILD here since cras-sys/Cargo.toml is
-# using "provided by ebuild" macro which supported by cros-rust.
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Crate for SOF C-structures generated by bindgen"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/sof_sys"
-
-SRC_URI=""
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test"
diff --git a/media-sound/sof_sys/sof_sys-0.1.0-r3.ebuild b/media-sound/sof_sys/sof_sys-0.1.0-r3.ebuild
new file mode 100644
index 0000000..8301228
--- /dev/null
+++ b/media-sound/sof_sys/sof_sys-0.1.0-r3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="f652e40745d18934bf8552fd2de1d880e94c1a59"
+CROS_WORKON_TREE="2d1dfc895110a4a71b6adba389f96f8afc458252"
+CROS_RUST_SUBDIR="sof_sys"
+
+CROS_WORKON_LOCALNAME="adhd"
+CROS_WORKON_PROJECT="chromiumos/third_party/adhd"
+# We don't use CROS_WORKON_OUTOFTREE_BUILD here since cras-sys/Cargo.toml is
+# using "provided by ebuild" macro which supported by cros-rust.
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Crate for SOF C-structures generated by bindgen"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/sof_sys"
+
+SRC_URI=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test"
diff --git a/media-sound/sound_card_init/sound_card_init-0.1.0-r38.ebuild b/media-sound/sound_card_init/sound_card_init-0.1.0-r38.ebuild
deleted file mode 100644
index cc17054..0000000
--- a/media-sound/sound_card_init/sound_card_init-0.1.0-r38.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="2e4ee2a0afd9763c575255cc35b051a01d06ed55"
-CROS_WORKON_TREE="e6e79ceb1934d81abd0bfadf7bbed982b5799b68"
-CROS_WORKON_LOCALNAME="adhd"
-CROS_WORKON_PROJECT="chromiumos/third_party/adhd"
-# We don't use CROS_WORKON_OUTOFTREE_BUILD here since sound_card_init/Cargo.toml
-# is using "provided by ebuild" macro which supported by cros-rust
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE="sound_card_init"
-
-inherit cros-workon cros-rust udev user
-
-DESCRIPTION="Sound Card Initializer"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/sound_card_init"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-DEPEND="
-	dev-rust/cc:=
-	dev-rust/getopts:=
-	dev-rust/sys_util:=
-	dev-rust/serde_yaml:=
-	dev-rust/thiserror:=
-	dev-rust/remain:=
-	media-sound/audio_streams:=
-	media-sound/cros_alsa:=
-	media-sound/libcras:=
-	media-sound/sof_sys:=
-"
-
-src_install() {
-	dobin "$(cros-rust_get_build_dir)/sound_card_init"
-
-	# Add upstart job for sound_card_init.
-	insinto /etc/init
-	doins sound_card_init.conf
-
-	# Install seccomp policy file.
-	insinto /usr/share/policy
-	newins "seccomp/sound_card_init-seccomp-${ARCH}.policy" sound_card_init-seccomp.policy
-
-	udev_dorules 99-sound_card_init.rules
-
-}
-
-pkg_preinst() {
-	enewuser "sound_card_init"
-	enewgroup "sound_card_init"
-
-	cros-rust_pkg_preinst
-}
diff --git a/media-sound/sound_card_init/sound_card_init-0.1.0-r49.ebuild b/media-sound/sound_card_init/sound_card_init-0.1.0-r49.ebuild
new file mode 100644
index 0000000..9792227
--- /dev/null
+++ b/media-sound/sound_card_init/sound_card_init-0.1.0-r49.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="40f6db001376fc7ca5a6da04af9c517c183aaafe"
+CROS_WORKON_TREE="1051037aa953e4f22f9a446f629fdff9e6c52796"
+CROS_WORKON_LOCALNAME="adhd"
+CROS_WORKON_PROJECT="chromiumos/third_party/adhd"
+# We don't use CROS_WORKON_OUTOFTREE_BUILD here since sound_card_init/Cargo.toml
+# is using "provided by ebuild" macro which supported by cros-rust
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE="sound_card_init"
+
+inherit cros-workon cros-rust udev user
+
+DESCRIPTION="Sound Card Initializer"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/sound_card_init"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+DEPEND="
+	dev-rust/cc:=
+	dev-rust/getopts:=
+	dev-rust/sys_util:=
+	dev-rust/serde_json:=
+	dev-rust/serde_yaml:=
+	dev-rust/thiserror:=
+	dev-rust/remain:=
+	media-sound/audio_streams:=
+	media-sound/cros_alsa:=
+	media-sound/libcras:=
+	media-sound/sof_sys:=
+"
+
+src_install() {
+	dobin "$(cros-rust_get_build_dir)/sound_card_init"
+
+	# Add upstart job for sound_card_init.
+	insinto /etc/init
+	doins sound_card_init.conf
+
+	# Install seccomp policy file.
+	insinto /usr/share/policy
+	newins "seccomp/sound_card_init-seccomp-${ARCH}.policy" sound_card_init-seccomp.policy
+
+	udev_dorules 99-sound_card_init.rules
+
+}
+
+pkg_preinst() {
+	enewuser "sound_card_init"
+	enewgroup "sound_card_init"
+
+	cros-rust_pkg_preinst
+}
diff --git a/media-sound/sound_card_init/sound_card_init-9999.ebuild b/media-sound/sound_card_init/sound_card_init-9999.ebuild
index 49fb2cf..9c956bb 100644
--- a/media-sound/sound_card_init/sound_card_init-9999.ebuild
+++ b/media-sound/sound_card_init/sound_card_init-9999.ebuild
@@ -22,6 +22,7 @@
 	dev-rust/cc:=
 	dev-rust/getopts:=
 	dev-rust/sys_util:=
+	dev-rust/serde_json:=
 	dev-rust/serde_yaml:=
 	dev-rust/thiserror:=
 	dev-rust/remain:=
diff --git a/media-sound/sr-bt-dlc/Manifest b/media-sound/sr-bt-dlc/Manifest
new file mode 100644
index 0000000..4ee5833
--- /dev/null
+++ b/media-sound/sr-bt-dlc/Manifest
@@ -0,0 +1 @@
+DIST chromeos-audio-sr-bt-2022.05.13.tar.bz2 5889405 BLAKE2B da722193ee7cdc36a736873c90a98a77359afd62b193eff9faa1b1aab9de2415c40e145099acd827eb0d3091bf8cac72a90f1302c75c43797f46da8e432563b5 SHA512 0ce73386a54618668d2b2859c38a9ab4777adf27509f0d91c0d57d71002a1d621a27255a2136e2b3be80aff1a53789ef6e2c51cc459ba4cd94c809f2531f15c3
diff --git a/media-sound/sr-bt-dlc/OWNERS b/media-sound/sr-bt-dlc/OWNERS
new file mode 100644
index 0000000..f619b35
--- /dev/null
+++ b/media-sound/sr-bt-dlc/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/audio/OWNERS.all
diff --git a/media-sound/sr-bt-dlc/sr-bt-dlc-2022.05.13.ebuild b/media-sound/sr-bt-dlc/sr-bt-dlc-2022.05.13.ebuild
new file mode 100644
index 0000000..da0a6b2c
--- /dev/null
+++ b/media-sound/sr-bt-dlc/sr-bt-dlc-2022.05.13.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This is the DLC that packs the sr-bt models used in cras.
+
+EAPI=7
+
+inherit dlc
+
+DESCRIPTION="Super resolution for Bluetooth microphone model dlc."
+SRC_URI="gs://chromeos-localmirror/distfiles/chromeos-audio-sr-bt-${PV}.tar.bz2"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="dlc"
+REQUIRED_USE="dlc"
+
+# The size is about 2.1 * 3 ~ 6.3 MB
+# Account for growth:
+# 6.3 MB * 1.3 / 4KB block size = 2047.5 blocks
+DLC_PREALLOC_BLOCKS="2048"
+DLC_NAME="SR BT DLC"
+
+DLC_PRELOAD=true
+
+S="${WORKDIR}"
+
+src_install() {
+	insinto "$(dlc_add_path /)"
+	doins "btwb.tflite"
+	doins "btnb.tflite"
+	doins "bt.tflite"
+	dlc_src_install
+}
diff --git a/media-tv/v4l-utils/Manifest b/media-tv/v4l-utils/Manifest
index a88e902..894bb29 100644
--- a/media-tv/v4l-utils/Manifest
+++ b/media-tv/v4l-utils/Manifest
@@ -1 +1 @@
-DIST v4l-utils-1.20.0.tar.bz2 2030419 SHA256 956118713f7ccb405c55c7088a6a2490c32d54300dd9a30d8d5008c28d3726f7 SHA512 179ca8dbbf7af5fa4870b70f17645d7834fe6ba52670ae6b58473efa257db0cd812ce14f16574cc4491c0bcb218835e4c29f1354882a151687eecec97852fc63 WHIRLPOOL 2e359d6bc9c604af58bcaad95e9224aa250eaa606f6e35846ea7d76124a35d77f6d454216899f6fa75b966567dc8c68757e11d3f8912a1a70707ebe83209f435
+DIST v4l-utils-1.22.1.tar.bz2 2086238 SHA256 65c6fbe830a44ca105c443b027182c1b2c9053a91d1e72ad849dfab388b94e31 SHA512 8a634d8995d13f453dfaf90ca5d0dfb26f2f4b10a0d200d76a949c46f77040d12fc0a5b35e05d7b1ba68bcfc85a445be5a5ab1d4a7d4eabfe3a254038ccc6170 WHIRLPOOL 9a162bc030f246cc5bab42272e22bf51adba3de2dafcb5321e9e8dcf79dd7a28c81445388eb2e621bb124d9a274eb36da4c99327704ed4bf9325d4ca04d018f9
diff --git a/media-tv/v4l-utils/files/v4l-utils-1.22.1-clang-fixes.patch b/media-tv/v4l-utils/files/v4l-utils-1.22.1-clang-fixes.patch
new file mode 100644
index 0000000..11c7d25
--- /dev/null
+++ b/media-tv/v4l-utils/files/v4l-utils-1.22.1-clang-fixes.patch
@@ -0,0 +1,62 @@
+v4l-utils: fix clang compilation error
+
+remove unused include.
+
+In file included from v4l2-test-time32-64.cpp:20:
+In file included from ./v4l2-compliance.h:24:
+In file included from /usr/bin/../include/c++/v1/map:531:
+/usr/bin/../include/c++/v1/__config:1292:50: error: builtin feature check macro requires a parenthesized identifier
+\#if __cplusplus > 201402L && __has_cpp_attribute(fallthrough)
+                                                 ^
+../../include/compiler.h:8:21: note: expanded from macro 'fallthrough'
+\#define fallthrough [[clang::fallthrough]]
+                    ^
+In file included from v4l2-test-time32-64.cpp:20:
+In file included from ./v4l2-compliance.h:24:
+In file included from /usr/bin/../include/c++/v1/map:531:
+/usr/bin/../include/c++/v1/__config:1292:50: error: missing ')' after '['
+\#if __cplusplus > 201402L && __has_cpp_attribute(fallthrough)
+                                                 ^~~~~~~~~~~
+../../include/compiler.h:8:22: note: expanded from macro 'fallthrough'
+\#define fallthrough [[clang::fallthrough]]
+                    ~^
+/usr/bin/../include/c++/v1/__config:1292:49: note: to match this '('
+\#if __cplusplus > 201402L && __has_cpp_attribute(fallthrough)
+                                                ^
+/usr/bin/../include/c++/v1/__config:1294:34: error: builtin feature check macro requires a parenthesized identifier
+\#elif __has_cpp_attribute(clang::fallthrough)
+                                 ^
+../../include/compiler.h:8:21: note: expanded from macro 'fallthrough'
+\#define fallthrough [[clang::fallthrough]]
+                    ^
+In file included from v4l2-test-time32-64.cpp:20:
+In file included from ./v4l2-compliance.h:24:
+In file included from /usr/bin/../include/c++/v1/map:531:
+/usr/bin/../include/c++/v1/__config:1294:34: error: missing ')' after '['
+\#elif __has_cpp_attribute(clang::fallthrough)
+                                 ^~~~~~~~~~~
+../../include/compiler.h:8:22: note: expanded from macro 'fallthrough'
+\#define fallthrough [[clang::fallthrough]]
+                    ~^
+/usr/bin/../include/c++/v1/__config:1294:26: note: to match this '('
+\#elif __has_cpp_attribute(clang::fallthrough)
+                         ^
+4 errors generated.
+---
+ utils/v4l2-compliance/v4l2-test-time32-64.cpp | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/utils/v4l2-compliance/v4l2-test-time32-64.cpp b/utils/v4l2-compliance/v4l2-test-time32-64.cpp
+index 1c515ca..7b66693 100644
+--- a/utils/v4l2-compliance/v4l2-test-time32-64.cpp
++++ b/utils/v4l2-compliance/v4l2-test-time32-64.cpp
+@@ -16,7 +16,6 @@
+ 
+ #include <sys/types.h>
+ 
+-#include "compiler.h"
+ #include "v4l2-compliance.h"
+ 
+ typedef __s32		old_time32_t;
+-- 
+2.36.0.rc0.470.gd361397f0d-goog
diff --git a/media-tv/v4l-utils/v4l-utils-1.20.0-r1.ebuild b/media-tv/v4l-utils/v4l-utils-1.20.0-r1.ebuild
deleted file mode 120000
index 681b42e..0000000
--- a/media-tv/v4l-utils/v4l-utils-1.20.0-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-v4l-utils-1.20.0.ebuild
\ No newline at end of file
diff --git a/media-tv/v4l-utils/v4l-utils-1.20.0.ebuild b/media-tv/v4l-utils/v4l-utils-1.20.0.ebuild
deleted file mode 100644
index 6efe742..0000000
--- a/media-tv/v4l-utils/v4l-utils-1.20.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit autotools eutils udev
-
-DESCRIPTION="Separate utilities ebuild from upstream v4l-utils package"
-HOMEPAGE="http://git.linuxtv.org/v4l-utils.git"
-SRC_URI="http://linuxtv.org/downloads/v4l-utils/${P}.tar.bz2"
-
-LICENSE="GPL-2+ LGPL-2.1+"
-SLOT="0"
-KEYWORDS="*"
-IUSE="qt4 udev"
-
-RDEPEND=">=media-libs/libv4l-${PV}
-	qt4? (
-		dev-qt/qtgui:4
-		dev-qt/qtopengl:4
-		virtual/opengl
-		media-libs/alsa-lib
-	)
-	udev? ( virtual/libudev )
-	!media-tv/v4l2-ctl
-	!<media-tv/ivtv-utils-1.4.0-r2"
-DEPEND="${RDEPEND}
-	sys-devel/gettext
-	virtual/pkgconfig"
-
-src_prepare() {
-	eautoreconf
-}
-
-src_configure() {
-	# Hard disable the flags that apply only to the libs.
-	econf \
-		--disable-static \
-		$(use_enable qt4 qv4l2) \
-		$(use_with udev) \
-		--with-udevdir="$(get_udevdir)" \
-		--without-jpeg \
-		--disable-bpf
-}
-
-src_install() {
-	emake -C utils DESTDIR="${D}" install
-	emake -C contrib DESTDIR="${D}" install
-
-	dodoc README
-	newdoc utils/libv4l2util/TODO TODO.libv4l2util
-	newdoc utils/libmedia_dev/README README.libmedia_dev
-	newdoc utils/dvb/README README.dvb
-	newdoc utils/v4l2-compliance/fixme.txt fixme.txt.v4l2-compliance
-}
diff --git a/media-tv/v4l-utils/v4l-utils-1.22.1-r1.ebuild b/media-tv/v4l-utils/v4l-utils-1.22.1-r1.ebuild
new file mode 120000
index 0000000..e312c98
--- /dev/null
+++ b/media-tv/v4l-utils/v4l-utils-1.22.1-r1.ebuild
@@ -0,0 +1 @@
+v4l-utils-1.22.1.ebuild
\ No newline at end of file
diff --git a/media-tv/v4l-utils/v4l-utils-1.22.1.ebuild b/media-tv/v4l-utils/v4l-utils-1.22.1.ebuild
new file mode 100644
index 0000000..028aae1
--- /dev/null
+++ b/media-tv/v4l-utils/v4l-utils-1.22.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils udev
+
+DESCRIPTION="Separate utilities ebuild from upstream v4l-utils package"
+HOMEPAGE="http://git.linuxtv.org/v4l-utils.git"
+SRC_URI="http://linuxtv.org/downloads/v4l-utils/${P}.tar.bz2"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="*"
+IUSE="qt4 udev"
+
+RDEPEND=">=media-libs/libv4l-${PV}
+	qt4? (
+		dev-qt/qtgui:4
+		dev-qt/qtopengl:4
+		virtual/opengl
+		media-libs/alsa-lib
+	)
+	udev? ( virtual/libudev )
+	!media-tv/v4l2-ctl
+	!<media-tv/ivtv-utils-1.4.0-r2"
+DEPEND="${RDEPEND}
+	sys-devel/gettext
+	virtual/pkgconfig"
+
+src_prepare() {
+	epatch "${FILESDIR}"/${P}-clang-fixes.patch
+	eautoreconf
+}
+
+src_configure() {
+	# Hard disable the flags that apply only to the libs.
+	econf \
+		--disable-static \
+		$(use_enable qt4 qv4l2) \
+		$(use_with udev) \
+		--with-udevdir="$(get_udevdir)" \
+		--without-jpeg \
+		--disable-bpf
+}
+
+src_install() {
+	emake -C utils DESTDIR="${D}" install
+	emake -C contrib DESTDIR="${D}" install
+
+	dodoc README
+	newdoc utils/libv4l2util/TODO TODO.libv4l2util
+	newdoc utils/libmedia_dev/README README.libmedia_dev
+	newdoc utils/dvb/README README.dvb
+	newdoc utils/v4l2-compliance/fixme.txt fixme.txt.v4l2-compliance
+}
diff --git a/media-video/OWNERS b/media-video/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/media-video/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/media-video/ffmpeg/Manifest b/media-video/ffmpeg/Manifest
new file mode 100644
index 0000000..26c6602
--- /dev/null
+++ b/media-video/ffmpeg/Manifest
@@ -0,0 +1,9 @@
+DIST ffmpeg-4.2.2-ppc64-altivec.patch.gz 7171 BLAKE2B 6676dadb22d2ab4b0f5c19b418448c5b9b54fd8c803c3f0ab517c6fa7990be08098dd6f6a2b1b3e77a1bed31a069c702366aba79ef9141ff9e23cd8c1b6e2885 SHA512 6653975017de3f7bde420860419fbdddb50ae41dbb811b819f4b5b13807bf885a4c01736f05a684515f97b0d63bd8896d5951a3276af90cc74abfe32dc2e2407
+DIST ffmpeg-4.2.2-ppc64-gcc.patch.gz 750 BLAKE2B 3a9cc7f0135e077c77179a7ca3da917bca3995d99d53b58221b23181a075f330132f83ea90a6110e89f90c7c3b5b2a7837559c5df414d9bd52dbb3ec166b1545 SHA512 701b0635e0819484a31de2062ba52d95ee03883ab56547cd75c3646a9b32bf3ecc7f719690b93f29202cfed0fdeecd26b51b9f3c66e72a999a3e8d9e97389275
+DIST ffmpeg-4.2.4.tar.bz2 10959430 BLAKE2B 932bc0046edab5587063bbc04d6ef0149876bd1001ad185384fcabb3d0ae196c9ba591e680823b3c7b6e0ef9a0a9e9575a8b08439fdd89ef0e4dabb9d4a7f4e6 SHA512 5c74e3fe77ddf8ffede0e4692d574858dd0626e542380a819ab79c0f669c6c1329ffbccb872502f60306e561f10aa8bc1e61d09b2bea829870fe4a48b76460c6
+DIST ffmpeg-4.3.2.tar.bz2 11307134 BLAKE2B 97e1e598e4abe397b06298d545c3073ea2303e11c01e98343fe09d99174e02ca94f52c4df0d389fbefe7814686221446d30f107092f00cb0b69275c8747d6f32 SHA512 ec5566f8684f0ceb18184d59786ea1fc166ab28c46260ebcca5b919ad53137ba7317fd0c537e97df28553572a0d5e42c558773c808cf76995d67985aec2d6d4d
+DIST ffmpeg-4.4.1.tar.bz2 11494996 BLAKE2B 050b0501cb21f44451d59bf3b20b18d55234636b5a69a4962103d63f80ce9af172cc2cecb1e33b92334fcf635b283afddbdfa20cbd6deb526008cdb34ae01c16 SHA512 c41e63ffa9f5465ea3a7f4a8b255b299a2f49d5868ada4310a2344b8fea02476365c44871defd5609da55c805cbb58f34063dbdd4b203ade932cba8b3cfefc72
+DIST ffmpeg-4.4.2.tar.xz 9562968 BLAKE2B be044e9895acdd71a237a343a8d047c56db845c693b8c07877fc8049b630eb254e3430b6e9916330e6b3d53cbdc9f06680d80307a1fea1377bb818f4168bb276 SHA512 abce847c607ac6d63fe32ceff8bf8724888acf2b7db9a083cba50e3235590cdcb27feb7e0a314133d0030809fb54d474f64001fc9ab7d896a819159869c09d5a
+DIST ffmpeg-4.4.2.tar.xz.asc 520 BLAKE2B 1ff4a886c7703a05a19499ae5b2b6207df24e05844861cb52f2c56a97f47ab4fefa5011de46a385bab9684964470697ec5e74553098392877f7521a04ffe0fc4 SHA512 a4df97a6328fc076b5611023bd61254f1a5043db1ec2f3426bee305206b2b0937047ede9cb51db31a3387a16218fe95a7a40296770574fa32660118938a9d301
+DIST ffmpeg-5.0.1.tar.xz 9812524 BLAKE2B 0a37d425780f7e15836848048214411829bceb0de12bb7089803feb3dda07a077be9c8e8174b72792558ed86d92224bee9d4db20cc74690ea54312fbf2f10e83 SHA512 e5810c7379748a6bbe1a903bf36b4372b67cb3973179727b6af6f0118eef46f4c990155961cc37255e08a5bafdc4b4683503ad410ebb7afe7a35b891c01fa602
+DIST ffmpeg-5.0.1.tar.xz.asc 520 BLAKE2B 686a8c372d26bd0158a0e79f6cbe8d9c46127bd200df7f4f6e2a4285bfd412cfa9aff865eca125a27a7204f32ba0cca86bcbf769ee4874e5202cc700b0eb4449 SHA512 9c4bd404196c3a3808bae92873aefc77f8c26a9419cc6130a3f2359a75c8e83189d206e9aee8ff85c5a7fe4a98da24e11cf607ec351386c18979ec2d5ad3b3ad
diff --git a/media-video/ffmpeg/OWNERS b/media-video/ffmpeg/OWNERS
new file mode 100644
index 0000000..347d09e
--- /dev/null
+++ b/media-video/ffmpeg/OWNERS
@@ -0,0 +1,2 @@
+include chromiumos/platform/graphics:/OWNERS.graphics
+include chromiumos/overlays/portage-stable:/OWNERS.general
diff --git a/media-video/ffmpeg/ffmpeg-5.0.1.ebuild b/media-video/ffmpeg/ffmpeg-5.0.1.ebuild
new file mode 100644
index 0000000..bb93cea
--- /dev/null
+++ b/media-video/ffmpeg/ffmpeg-5.0.1.ebuild
@@ -0,0 +1,591 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Subslot: libavutil major.libavcodec major.libavformat major
+# Since FFmpeg ships several libraries, subslot is kind of limited here.
+# Most consumers will use those three libraries, if a "less used" library
+# changes its soname, consumers will have to be rebuilt the old way
+# (preserve-libs).
+# If, for example, a package does not link to libavformat and only libavformat
+# changes its ABI then this package will be rebuilt needlessly. Hence, such a
+# package is free _not_ to := depend on FFmpeg but I would strongly encourage
+# doing so since such a case is unlikely.
+FFMPEG_SUBSLOT=57.59.59
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+	SCM="git-r3"
+	EGIT_MIN_CLONE_TYPE="single"
+	EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git"
+fi
+
+inherit flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM}
+
+DESCRIPTION="Complete solution to record/convert/stream audio and video. Includes libavcodec"
+HOMEPAGE="https://ffmpeg.org/"
+if [ "${PV#9999}" != "${PV}" ] ; then
+	SRC_URI=""
+elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
+	SRC_URI="mirror://gentoo/${P}.tar.xz"
+else # Release
+	VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/ffmpeg.asc
+	inherit verify-sig
+	SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.xz"
+	SRC_URI+=" verify-sig? ( https://ffmpeg.org/releases/${P/_/-}.tar.xz.asc )"
+
+	BDEPEND=" verify-sig? ( sec-keys/openpgp-keys-ffmpeg )"
+fi
+FFMPEG_REVISION="${PV#*_p}"
+
+SLOT="0/${FFMPEG_SUBSLOT}"
+LICENSE="
+	!gpl? ( LGPL-2.1 )
+	gpl? ( GPL-2 )
+	amr? (
+		gpl? ( GPL-3 )
+		!gpl? ( LGPL-3 )
+	)
+	gmp? (
+		gpl? ( GPL-3 )
+		!gpl? ( LGPL-3 )
+	)
+	libaribb24? (
+		gpl? ( GPL-3 )
+		!gpl? ( LGPL-3 )
+	)
+	encode? (
+		amrenc? (
+			gpl? ( GPL-3 )
+			!gpl? ( LGPL-3 )
+		)
+	)
+	samba? ( GPL-3 )
+"
+if [ "${PV#9999}" = "${PV}" ] ; then
+	KEYWORDS="*"
+fi
+
+# Options to use as use_enable in the foo[:bar] form.
+# This will feed configure with $(use_enable foo bar)
+# or $(use_enable foo foo) if no :bar is set.
+# foo is added to IUSE.
+FFMPEG_FLAG_MAP=(
+		+bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt +gnutls gmp
+		+gpl hardcoded-tables +iconv libxml2 lzma +network opencl
+		openssl +postproc samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau vulkan
+		X:xlib X:libxcb X:libxcb-shm X:libxcb-xfixes +zlib
+		# libavdevice options
+		cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal
+		opengl
+		# indevs
+		libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack
+		# decoders
+		amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 +dav1d:libdav1d fdk:libfdk-aac
+		jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm
+		libaribb24 mmal modplug:libmodplug opus:libopus libilbc librtmp ssh:libssh
+		speex:libspeex srt:libsrt svg:librsvg nvenc:ffnvcodec
+		vorbis:libvorbis vpx:libvpx zvbi:libzvbi
+		# libavfilter options
+		appkit
+		bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite frei0r vmaf:libvmaf
+		fribidi:libfribidi fontconfig ladspa libass libtesseract lv2 truetype:libfreetype vidstab:libvidstab
+		rubberband:librubberband zeromq:libzmq zimg:libzimg
+		# libswresample options
+		libsoxr
+		# Threads; we only support pthread for now but ffmpeg supports more
+		+threads:pthreads
+)
+
+# Same as above but for encoders, i.e. they do something only with USE=encode.
+FFMPEG_ENCODER_FLAG_MAP=(
+	amf amrenc:libvo-amrwbenc kvazaar:libkvazaar libaom	mp3:libmp3lame
+	openh264:libopenh264 rav1e:librav1e snappy:libsnappy svt-av1:libsvtav1
+	theora:libtheora twolame:libtwolame webp:libwebp x264:libx264
+	x265:libx265 xvid:libxvid
+)
+
+IUSE="
+	alsa chromium doc +encode oss pic sndio static-libs test v4l
+	${FFMPEG_FLAG_MAP[@]%:*}
+	${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
+"
+
+# Strings for CPU features in the useflag[:configure_option] form
+# if :configure_option isn't set, it will use 'useflag' as configure option
+ARM_CPU_FEATURES=(
+	cpu_flags_arm_thumb:armv5te
+	cpu_flags_arm_v6:armv6
+	cpu_flags_arm_thumb2:armv6t2
+	cpu_flags_arm_neon:neon
+	cpu_flags_arm_vfp:vfp
+	cpu_flags_arm_vfpv3:vfpv3
+	cpu_flags_arm_v8:armv8
+)
+ARM_CPU_REQUIRED_USE="
+	arm64? ( cpu_flags_arm_v8 )
+	cpu_flags_arm_v8? (  cpu_flags_arm_vfpv3 cpu_flags_arm_neon )
+	cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp )
+	cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
+	cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
+	cpu_flags_arm_v6? ( cpu_flags_arm_thumb )
+"
+MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu )
+PPC_CPU_FEATURES=( cpu_flags_ppc_altivec:altivec cpu_flags_ppc_vsx:vsx cpu_flags_ppc_vsx2:power8 )
+PPC_CPU_REQUIRED_USE="
+	cpu_flags_ppc_vsx? ( cpu_flags_ppc_altivec )
+	cpu_flags_ppc_vsx2? ( cpu_flags_ppc_vsx )
+"
+X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop )
+X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} )
+X86_CPU_REQUIRED_USE="
+	cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
+	cpu_flags_x86_fma4? ( cpu_flags_x86_avx )
+	cpu_flags_x86_fma3? ( cpu_flags_x86_avx )
+	cpu_flags_x86_xop?  ( cpu_flags_x86_avx )
+	cpu_flags_x86_avx?  ( cpu_flags_x86_sse4_2 )
+	cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 )
+	cpu_flags_x86_sse4_2?  ( cpu_flags_x86_sse4_1 )
+	cpu_flags_x86_sse4_1?  ( cpu_flags_x86_ssse3 )
+	cpu_flags_x86_ssse3?  ( cpu_flags_x86_sse3 )
+	cpu_flags_x86_sse3?  ( cpu_flags_x86_sse2 )
+	cpu_flags_x86_sse2?  ( cpu_flags_x86_sse )
+	cpu_flags_x86_sse?  ( cpu_flags_x86_mmxext )
+	cpu_flags_x86_mmxext?  ( cpu_flags_x86_mmx )
+	cpu_flags_x86_3dnowext?  ( cpu_flags_x86_3dnow )
+	cpu_flags_x86_3dnow?  ( cpu_flags_x86_mmx )
+"
+
+CPU_FEATURES_MAP=(
+	${ARM_CPU_FEATURES[@]}
+	${MIPS_CPU_FEATURES[@]}
+	${PPC_CPU_FEATURES[@]}
+	${X86_CPU_FEATURES[@]}
+)
+IUSE="${IUSE}
+	${CPU_FEATURES_MAP[@]%:*}"
+
+CPU_REQUIRED_USE="
+	${ARM_CPU_REQUIRED_USE}
+	${PPC_CPU_REQUIRED_USE}
+	${X86_CPU_REQUIRED_USE}
+"
+
+FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher )
+IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}"
+
+RDEPEND="
+	alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
+	amf? ( media-video/amdgpu-pro-amf )
+	amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
+	bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
+	bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
+	bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
+	cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] )
+	chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] )
+	codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] )
+	dav1d? ( >=media-libs/dav1d-0.4.0:0=[${MULTILIB_USEDEP}] )
+	encode? (
+		amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] )
+		kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] )
+		mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] )
+		openh264? ( >=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] )
+		rav1e? ( >=media-video/rav1e-0.4:=[capi] )
+		snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] )
+		theora? (
+			>=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+			>=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}]
+		)
+		twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] )
+		webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] )
+		x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] )
+		x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] )
+		xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] )
+	)
+	fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] )
+	flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] )
+	fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] )
+	frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] )
+	fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] )
+	gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] )
+	gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] )
+	gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] )
+	gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] )
+	iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] )
+	iec61883? (
+		>=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}]
+		>=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+		>=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}]
+	)
+	ieee1394? (
+		>=media-libs/libdc1394-2.2.1:2=[${MULTILIB_USEDEP}]
+		>=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+	)
+	jack? ( virtual/jack[${MULTILIB_USEDEP}] )
+	jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] )
+	libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] )
+	libaribb24? ( >=media-libs/aribb24-1.0.3-r2[${MULTILIB_USEDEP}] )
+	libass? ( >=media-libs/libass-0.11.0:=[${MULTILIB_USEDEP}] )
+	libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] )
+	libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] )
+	libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] )
+	librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] )
+	libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] )
+	libtesseract? ( >=app-text/tesseract-4.1.0-r1[${MULTILIB_USEDEP}] )
+	libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] )
+	libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] )
+	lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] )
+	lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
+	mmal? ( media-libs/raspberrypi-userland )
+	modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] )
+	openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] )
+	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+	opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] )
+	opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
+	pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
+	rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] )
+	samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] )
+	sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] )
+	sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] )
+	speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] )
+	srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] )
+	ssh? ( >=net-libs/libssh-0.5.5:=[sftp,${MULTILIB_USEDEP}] )
+	svg? (
+		gnome-base/librsvg:2=[${MULTILIB_USEDEP}]
+		x11-libs/cairo[${MULTILIB_USEDEP}]
+	)
+	nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1 )
+	svt-av1? ( >=media-libs/svt-av1-0.8.4[${MULTILIB_USEDEP}] )
+	truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] )
+	vaapi? ( >=x11-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
+	vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
+	vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] )
+	vmaf? ( media-libs/libvmaf[${MULTILIB_USEDEP}] )
+	vorbis? (
+		>=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
+		>=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+	)
+	vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
+	vulkan? ( >=media-libs/vulkan-loader-1.2.189:=[${MULTILIB_USEDEP}] )
+	X? (
+		>=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+		>=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+		>=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}]
+		>=x11-libs/libxcb-1.4:=[${MULTILIB_USEDEP}]
+	)
+	postproc? ( !media-libs/libpostproc )
+	zeromq? ( >=net-libs/zeromq-4.1.6 )
+	zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] )
+	zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+	zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] )
+"
+
+RDEPEND="${RDEPEND}
+		openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+		!openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
+"
+
+DEPEND="${RDEPEND}
+	amf? ( media-libs/amf-headers )
+	ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] )
+	v4l? ( sys-kernel/linux-headers )
+"
+
+# += for verify-sig above
+BDEPEND+="
+	>=sys-devel/make-3.81
+	virtual/pkgconfig
+	cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) )
+	cuda? ( >=sys-devel/clang-7[llvm_targets_NVPTX] )
+	doc? ( sys-apps/texinfo )
+	test? ( net-misc/wget sys-devel/bc )
+"
+
+# Code requiring FFmpeg to be built under gpl license
+GPL_REQUIRED_USE="
+	postproc? ( gpl )
+	frei0r? ( gpl )
+	cdio? ( gpl )
+	rubberband? ( gpl )
+	vidstab? ( gpl )
+	samba? ( gpl )
+	encode? (
+		x264? ( gpl )
+		x265? ( gpl )
+		xvid? ( gpl )
+	)
+"
+REQUIRED_USE="
+	cuda? ( nvenc )
+	libv4l? ( v4l )
+	fftools_cws2fws? ( zlib )
+	test? ( encode )
+	${GPL_REQUIRED_USE}
+	${CPU_REQUIRED_USE}"
+RESTRICT="
+	!test? ( test )
+	gpl? ( openssl? ( bindist ) fdk? ( bindist ) )
+"
+
+S=${WORKDIR}/${P/_/-}
+
+PATCHES=(
+	"${FILESDIR}"/chromium-r1.patch
+	"${FILESDIR}"/ffmpeg-5.0-backport-ranlib-build-fix.patch
+)
+
+MULTILIB_WRAPPED_HEADERS=(
+	/usr/include/libavutil/avconfig.h
+)
+
+build_separate_libffmpeg() {
+	use opencl
+}
+
+src_prepare() {
+	if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot
+		export revision=git-N-${FFMPEG_REVISION}
+	fi
+
+	eapply "${FILESDIR}/vmaf-models-default-path.patch"
+
+	default
+
+	# -fdiagnostics-color=auto gets appended after user flags which
+	# will ignore user's preference.
+	sed -i -e '/check_cflags -fdiagnostics-color=auto/d' configure || die
+
+	echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die
+}
+
+multilib_src_configure() {
+	local myconf=( )
+
+	# bug 842201
+	use ia64 && tc-is-gcc && append-flags \
+		-fno-tree-ccp \
+		-fno-tree-dominator-opts \
+		-fno-tree-fre \
+		-fno-code-hoisting \
+		-fno-tree-pre \
+		-fno-tree-vrp
+
+	local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
+	use openssl && myconf+=( --enable-nonfree )
+	use samba && myconf+=( --enable-version3 )
+
+	# Encoders
+	if use encode ; then
+		ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" )
+
+		# Licensing.
+		if use amrenc ; then
+			myconf+=( --enable-version3 )
+		fi
+	else
+		myconf+=( --disable-encoders )
+	fi
+
+	# Indevs
+	use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 )
+	for i in alsa oss jack sndio ; do
+		use ${i} || myconf+=( --disable-indev=${i} )
+	done
+
+	# Outdevs
+	for i in alsa oss sndio ; do
+		use ${i} || myconf+=( --disable-outdev=${i} )
+	done
+
+	# Decoders
+	use amr && myconf+=( --enable-version3 )
+	use gmp && myconf+=( --enable-version3 )
+	use libaribb24 && myconf+=( --enable-version3 )
+	use fdk && use gpl && myconf+=( --enable-nonfree )
+
+	for i in "${ffuse[@]#+}" ; do
+		myconf+=( $(use_enable ${i%:*} ${i#*:}) )
+	done
+
+	if use openssl ; then
+		myconf+=( --disable-gnutls )
+		has_version dev-libs/openssl:0/3 && myconf+=( --enable-version3 )
+	fi
+
+	# (temporarily) disable non-multilib deps
+	if ! multilib_is_native_abi; then
+		for i in librav1e libzmq ; do
+			myconf+=( --disable-${i} )
+		done
+	fi
+
+	# CPU features
+	for i in "${CPU_FEATURES_MAP[@]}" ; do
+		use ${i%:*} || myconf+=( --disable-${i#*:} )
+	done
+
+	if use pic ; then
+		myconf+=( --enable-pic )
+		# disable asm code if PIC is required
+		# as the provided asm decidedly is not PIC for x86.
+		[[ ${ABI} == x86 ]] && myconf+=( --disable-asm )
+	fi
+	[[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004
+
+	# Try to get cpu type based on CFLAGS.
+	# Bug #172723
+	# We need to do this so that features of that CPU will be better used
+	# If they contain an unknown CPU it will not hurt since ffmpeg's configure
+	# will just ignore it.
+	for i in $(get-flag mcpu) $(get-flag march) ; do
+		[[ ${i} = native ]] && i="host" # bug #273421
+		myconf+=( --cpu=${i} )
+		break
+	done
+
+	# LTO support, bug #566282, bug #754654
+	is-flagq "-flto*" && myconf+=( "--enable-lto" )
+	filter-flags "-flto*"
+
+	# Mandatory configuration
+	myconf=(
+		--enable-avfilter
+		--disable-stripping
+		# This is only for hardcoded cflags; those are used in configure checks that may
+		# interfere with proper detections, bug #671746 and bug #645778
+		# We use optflags, so that overrides them anyway.
+		--disable-optimizations
+		--disable-libcelt # bug #664158
+		"${myconf[@]}"
+	)
+
+	# cross compile support
+	if tc-is-cross-compiler ; then
+		myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" )
+		case ${CHOST} in
+			*freebsd*)
+				myconf+=( --target-os=freebsd )
+				;;
+			*mingw32*)
+				myconf+=( --target-os=mingw32 )
+				;;
+			*linux*)
+				myconf+=( --target-os=linux )
+				;;
+		esac
+	fi
+
+	# doc
+	myconf+=(
+		$(multilib_native_use_enable doc)
+		$(multilib_native_use_enable doc htmlpages)
+		$(multilib_native_enable manpages)
+	)
+
+	# Fixed in 5.0.1? Waiting for verification from someone who hit the issue.
+	local extra_libs
+	if use arm || use ppc || use mips || [[ ${CHOST} == *i486* ]] ; then
+		# bug #782811
+		# bug #790590
+		extra_libs+="$(test-flags-CCLD -latomic) "
+	fi
+
+	set -- "${S}/configure" \
+		--prefix="${EPREFIX}/usr" \
+		--libdir="${EPREFIX}/usr/$(get_libdir)" \
+		--shlibdir="${EPREFIX}/usr/$(get_libdir)" \
+		--docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
+		--mandir="${EPREFIX}/usr/share/man" \
+		--enable-shared \
+		--cc="$(tc-getCC)" \
+		--cxx="$(tc-getCXX)" \
+		--ar="$(tc-getAR)" \
+		--nm="$(tc-getNM)" \
+		--strip="$(tc-getSTRIP)" \
+		--ranlib="$(tc-getRANLIB)" \
+		--pkg-config="$(tc-getPKG_CONFIG)" \
+		--optflags="${CFLAGS}" \
+		--extra-libs="${extra_libs}" \
+		$(use_enable static-libs static) \
+		"${myconf[@]}" \
+		${EXTRA_FFMPEG_CONF}
+	echo "${@}"
+	"${@}" || die
+
+	if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then
+		einfo "Configuring for Chromium"
+		mkdir -p ../chromium || die
+		pushd ../chromium >/dev/null || die
+		set -- "${@}" \
+			--disable-shared \
+			--enable-static \
+			--enable-pic \
+			--disable-opencl
+		echo "${@}"
+		"${@}" || die
+		popd >/dev/null || die
+	fi
+}
+
+multilib_src_compile() {
+	emake V=1
+
+	if multilib_is_native_abi; then
+		for i in "${FFTOOLS[@]}" ; do
+			if use fftools_${i} ; then
+				emake V=1 tools/${i}$(get_exeext)
+			fi
+		done
+
+		if use chromium; then
+			if build_separate_libffmpeg; then
+				einfo "Compiling for Chromium"
+				pushd ../chromium >/dev/null || die
+				emake V=1 libffmpeg
+				popd >/dev/null || die
+			else
+				emake V=1 libffmpeg
+			fi
+		fi
+	fi
+}
+
+multilib_src_test() {
+	LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil" \
+		emake V=1 fate
+}
+
+multilib_src_install() {
+	emake V=1 DESTDIR="${D}" install install-doc
+
+	if multilib_is_native_abi; then
+		for i in "${FFTOOLS[@]}" ; do
+			if use fftools_${i} ; then
+				dobin tools/${i}$(get_exeext)
+			fi
+		done
+
+		if use chromium; then
+			if build_separate_libffmpeg; then
+				einfo "Installing for Chromium"
+				pushd ../chromium >/dev/null || die
+				emake V=1 DESTDIR="${D}" install-libffmpeg
+				popd >/dev/null || die
+			else
+				emake V=1 DESTDIR="${D}" install-libffmpeg
+
+				# When not built separately, libffmpeg has no code of
+				# its own so this QA check raises a false positive.
+				QA_FLAGS_IGNORED+=" usr/$(get_libdir)/chromium/.*"
+			fi
+		fi
+	fi
+}
+
+multilib_src_install_all() {
+	dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
+	[ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
+
+	use amf && doenvd "${FILESDIR}"/amf-env-vulkan-override
+}
diff --git a/media-video/ffmpeg/files/4011d37cd6a61474ec45ea0d325518906aeb1204.patch b/media-video/ffmpeg/files/4011d37cd6a61474ec45ea0d325518906aeb1204.patch
new file mode 100644
index 0000000..6b41951
--- /dev/null
+++ b/media-video/ffmpeg/files/4011d37cd6a61474ec45ea0d325518906aeb1204.patch
@@ -0,0 +1,173 @@
+From 4011d37cd6a61474ec45ea0d325518906aeb1204 Mon Sep 17 00:00:00 2001
+From: Linjie Fu <linjie.fu@intel.com>
+Date: Sun, 7 Jul 2019 11:55:35 -0400
+Subject: [PATCH] lavc/vaapi_decode: recreate hw_frames_ctx for vp9 without
+ destroy va_context
+
+VP9 allows resolution changes per frame. Currently in VAAPI, resolution
+changes leads to va context destroy and reinit. This will cause
+reference frame surface lost and produce garbage.
+
+Though refs surface id could be passed to media driver and found in RTtbl,
+vp9RefList[] in hal layer has already been destoryed. Thus the new
+created VaContext could only got an empty RefList.
+
+As libva allows re-create surface separately without changing the
+context, this issue could be handled by only recreating hw_frames_ctx.
+
+Set hwaccel_priv_data_keeping flag for vp9 to only recreating
+hw_frame_ctx when dynamic resolution changing happens.
+
+Could be verified by:
+ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -i
+./resolutions.ivf
+-pix_fmt p010le -f rawvideo -vframes 20 -y vaapi.yuv
+
+Signed-off-by: Linjie Fu <linjie.fu@intel.com>
+---
+ libavcodec/decode.c        |  9 +++++----
+ libavcodec/internal.h      |  1 +
+ libavcodec/pthread_frame.c |  2 ++
+ libavcodec/vaapi_decode.c  | 38 ++++++++++++++++++++++----------------
+ libavcodec/vaapi_vp9.c     |  4 ++++
+ 5 files changed, 34 insertions(+), 20 deletions(-)
+
+diff --git a/libavcodec/decode.c b/libavcodec/decode.c
+index be4fe41513c..fce714f2ab0 100644
+--- a/libavcodec/decode.c
++++ b/libavcodec/decode.c
+@@ -1062,7 +1062,7 @@ static int hwaccel_init(AVCodecContext *avctx,
+         return AVERROR_PATCHWELCOME;
+     }
+ 
+-    if (hwaccel->priv_data_size) {
++    if (hwaccel->priv_data_size && !avctx->internal->hwaccel_priv_data) {
+         avctx->internal->hwaccel_priv_data =
+             av_mallocz(hwaccel->priv_data_size);
+         if (!avctx->internal->hwaccel_priv_data)
+@@ -1123,9 +1123,10 @@ int ff_get_format(AVCodecContext *avctx, const enum AVPixelFormat *fmt)
+         return AV_PIX_FMT_NONE;
+ 
+     for (;;) {
+-        // Remove the previous hwaccel, if there was one.
+-        hwaccel_uninit(avctx);
+-
++        // Remove the previous hwaccel, if there was one,
++        // and no need for keeping.
++        if (!avctx->internal->hwaccel_priv_data_keeping)
++            hwaccel_uninit(avctx);
+         user_choice = avctx->get_format(avctx, choices);
+         if (user_choice == AV_PIX_FMT_NONE) {
+             // Explicitly chose nothing, give up.
+diff --git a/libavcodec/internal.h b/libavcodec/internal.h
+index 17e1de8127a..cd3e6c7ae61 100644
+--- a/libavcodec/internal.h
++++ b/libavcodec/internal.h
+@@ -118,6 +118,7 @@ typedef struct AVCodecInternal {
+      * hwaccel-specific private data
+      */
+     void *hwaccel_priv_data;
++    int hwaccel_priv_data_keeping;
+ 
+     /**
+      * checks API usage: after codec draining, flush is required to resume operation
+diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c
+index 8faea75a498..eb2f32ed884 100644
+--- a/libavcodec/pthread_frame.c
++++ b/libavcodec/pthread_frame.c
+@@ -309,6 +309,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
+             return err;
+ 
+         dst->internal->hwaccel_priv_data = src->internal->hwaccel_priv_data;
++        dst->internal->hwaccel_priv_data_keeping = src->internal->hwaccel_priv_data_keeping;
+ 
+         if (!!dst->hw_frames_ctx != !!src->hw_frames_ctx ||
+             (dst->hw_frames_ctx && dst->hw_frames_ctx->data != src->hw_frames_ctx->data)) {
+@@ -371,6 +372,7 @@ FF_DISABLE_DEPRECATION_WARNINGS
+     dst->thread_safe_callbacks = src->thread_safe_callbacks;
+ FF_ENABLE_DEPRECATION_WARNINGS
+ #endif
++    dst->internal->hwaccel_priv_data_keeping = src->internal->hwaccel_priv_data_keeping;
+ 
+     if (src->slice_count && src->slice_offset) {
+         if (dst->slice_count < src->slice_count) {
+diff --git a/libavcodec/vaapi_decode.c b/libavcodec/vaapi_decode.c
+index a7abddb06be..0e2dfbf3b11 100644
+--- a/libavcodec/vaapi_decode.c
++++ b/libavcodec/vaapi_decode.c
+@@ -639,9 +639,13 @@ int ff_vaapi_decode_init(AVCodecContext *avctx)
+     VAStatus vas;
+     int err;
+ 
+-    ctx->va_config  = VA_INVALID_ID;
+-    ctx->va_context = VA_INVALID_ID;
++    if (!ctx->va_config && !ctx->va_context){
++        ctx->va_config  = VA_INVALID_ID;
++        ctx->va_context = VA_INVALID_ID;
++    }
+ 
++    // Get a new hw_frames_ctx even if there is already one
++    // recreate surface without reconstuct va_context
+     err = ff_decode_get_hw_frames_ctx(avctx, AV_HWDEVICE_TYPE_VAAPI);
+     if (err < 0)
+         goto fail;
+@@ -656,21 +660,23 @@ int ff_vaapi_decode_init(AVCodecContext *avctx)
+     if (err)
+         goto fail;
+ 
+-    vas = vaCreateContext(ctx->hwctx->display, ctx->va_config,
+-                          avctx->coded_width, avctx->coded_height,
+-                          VA_PROGRESSIVE,
+-                          ctx->hwfc->surface_ids,
+-                          ctx->hwfc->nb_surfaces,
+-                          &ctx->va_context);
+-    if (vas != VA_STATUS_SUCCESS) {
+-        av_log(avctx, AV_LOG_ERROR, "Failed to create decode "
+-               "context: %d (%s).\n", vas, vaErrorStr(vas));
+-        err = AVERROR(EIO);
+-        goto fail;
+-    }
++    if (ctx->va_context == VA_INVALID_ID) {
++        vas = vaCreateContext(ctx->hwctx->display, ctx->va_config,
++                              avctx->coded_width, avctx->coded_height,
++                              VA_PROGRESSIVE,
++                              ctx->hwfc->surface_ids,
++                              ctx->hwfc->nb_surfaces,
++                              &ctx->va_context);
++        if (vas != VA_STATUS_SUCCESS) {
++            av_log(avctx, AV_LOG_ERROR, "Failed to create decode "
++                   "context: %d (%s).\n", vas, vaErrorStr(vas));
++            err = AVERROR(EIO);
++            goto fail;
++        }
+ 
+-    av_log(avctx, AV_LOG_DEBUG, "Decode context initialised: "
+-           "%#x/%#x.\n", ctx->va_config, ctx->va_context);
++        av_log(avctx, AV_LOG_DEBUG, "Decode context initialised: "
++               "%#x/%#x.\n", ctx->va_config, ctx->va_context);
++    }
+ 
+     return 0;
+ 
+diff --git a/libavcodec/vaapi_vp9.c b/libavcodec/vaapi_vp9.c
+index 776382f6837..d6444b70eaf 100644
+--- a/libavcodec/vaapi_vp9.c
++++ b/libavcodec/vaapi_vp9.c
+@@ -25,6 +25,7 @@
+ #include "hwconfig.h"
+ #include "vaapi_decode.h"
+ #include "vp9shared.h"
++#include "internal.h"
+ 
+ static VASurfaceID vaapi_vp9_surface_id(const VP9Frame *vf)
+ {
+@@ -44,6 +45,9 @@ static int vaapi_vp9_start_frame(AVCodecContext          *avctx,
+     const AVPixFmtDescriptor *pixdesc = av_pix_fmt_desc_get(avctx->sw_pix_fmt);
+     int err, i;
+ 
++    // keep hardware context because of DRC support for VP9
++    avctx->internal->hwaccel_priv_data_keeping = 1;
++
+     pic->output_surface = vaapi_vp9_surface_id(&h->frames[CUR_FRAME]);
+ 
+     pic_param = (VADecPictureParameterBufferVP9) {
diff --git a/media-video/ffmpeg/files/amf-env-vulkan-override b/media-video/ffmpeg/files/amf-env-vulkan-override
new file mode 100644
index 0000000..41ee279
--- /dev/null
+++ b/media-video/ffmpeg/files/amf-env-vulkan-override
@@ -0,0 +1 @@
+VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd64.json
diff --git a/media-video/ffmpeg/files/chromium-r1.patch b/media-video/ffmpeg/files/chromium-r1.patch
new file mode 100644
index 0000000..5147800
--- /dev/null
+++ b/media-video/ffmpeg/files/chromium-r1.patch
@@ -0,0 +1,42 @@
+Allow libffmpeg to be built for Chromium-based browsers
+https://patchwork.ffmpeg.org/patch/4500/
+
+NOTE: This patch lacks the Makefile include line. We append it
+manually instead to make patching across different versions easier.
+
+diff --git a/ffbuild/libffmpeg.mak b/ffbuild/libffmpeg.mak
+new file mode 100644
+index 0000000..992cf3c
+--- /dev/null
++++ b/ffbuild/libffmpeg.mak
+@@ -0,0 +1,27 @@
++LIBFFMPEG = $(SLIBPREF)ffmpeg$(SLIBSUF)
++LIBFFMPEG_LINK = $(LD) -shared -Wl,-soname,$(LIBFFMPEG) -Wl,-Bsymbolic -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -Wl,--gc-sections $(LDFLAGS) $(LDLIBFLAGS) -o $(LIBFFMPEG)
++
++ifeq ($(CONFIG_SHARED),yes)
++LIBFFMPEG_DEPS = libavcodec/$(SLIBPREF)avcodec$(SLIBSUF) libavformat/$(SLIBPREF)avformat$(SLIBSUF) libavutil/$(SLIBPREF)avutil$(SLIBSUF)
++else
++LIBFFMPEG_DEPS = libavcodec/$(LIBPREF)avcodec$(LIBSUF) libavformat/$(LIBPREF)avformat$(LIBSUF) libavutil/$(LIBPREF)avutil$(LIBSUF) libswresample/$(LIBPREF)swresample$(LIBSUF)
++endif
++
++$(LIBFFMPEG): $(LIBFFMPEG_DEPS)
++ifeq ($(CONFIG_SHARED),yes)
++	$(LIBFFMPEG_LINK) -Wl,--no-as-needed -lavcodec -lavformat -lavutil
++else
++	$(LIBFFMPEG_LINK) -Wl,--whole-archive $^ -Wl,--no-whole-archive $(EXTRALIBS-avcodec) $(EXTRALIBS-avformat) $(EXTRALIBS-avutil) $(EXTRALIBS-swresample)
++endif
++
++libffmpeg: $(LIBFFMPEG)
++
++install-libffmpeg: $(LIBFFMPEG)
++	$(Q)mkdir -p "$(SHLIBDIR)/chromium"
++	$(INSTALL) -m 755 $< "$(SHLIBDIR)/chromium/$<"
++	$(STRIP) "$(SHLIBDIR)/chromium/$<"
++
++uninstall-libffmpeg:
++	$(RM) "$(SHLIBDIR)/chromium/$(LIBFFMPEG)"
++
++.PHONY: libffmpeg install-libffmpeg uninstall-libffmpeg
+-- 
+2.13.1
+
diff --git a/media-video/ffmpeg/files/ffmpeg-4.3-altivec-novsx-yuv2rgb.patch b/media-video/ffmpeg/files/ffmpeg-4.3-altivec-novsx-yuv2rgb.patch
new file mode 100644
index 0000000..40e7f91
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-4.3-altivec-novsx-yuv2rgb.patch
@@ -0,0 +1,23 @@
+Fixes build on ppc.

+https://trac.ffmpeg.org/attachment/ticket/8750/ffmpeg_altivec_yuv2rgb_novsx.patch

+diff --git a/libswscale/ppc/yuv2rgb_altivec.c b/libswscale/ppc/yuv2rgb_altivec.c

+index 536545293d..930ef6b98f 100644

+--- a/libswscale/ppc/yuv2rgb_altivec.c

++++ b/libswscale/ppc/yuv2rgb_altivec.c

+@@ -283,6 +283,16 @@ static inline void cvtyuvtoRGB(SwsContext *c, vector signed short Y,

+  * ------------------------------------------------------------------------------

+  */

+

++#if !HAVE_VSX

++static inline vector unsigned char vec_xl(signed long long offset, const ubyte *addr)

++{

++    const vector unsigned char *v_addr = (const vector unsigned char *) (addr + offset);

++    vector unsigned char align_perm = vec_lvsl(offset, addr);

++

++    return (vector unsigned char) vec_perm(v_addr[0], v_addr[1], align_perm);

++}

++#endif /* !HAVE_VSX */

++

+ #define DEFCSP420_CVT(name, out_pixels)                                       \

+ static int altivec_ ## name(SwsContext *c, const unsigned char **in,          \

+                             int *instrides, int srcSliceY, int srcSliceH,     \

diff --git a/media-video/ffmpeg/files/ffmpeg-4.3-fix-build-without-SSSE3.patch b/media-video/ffmpeg/files/ffmpeg-4.3-fix-build-without-SSSE3.patch
new file mode 100644
index 0000000..c3e6733
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-4.3-fix-build-without-SSSE3.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/728566
+http://ffmpeg.org/pipermail/ffmpeg-devel/2020-February/257474.html
+
+--- a/libswscale/x86/yuv2rgb.c
++++ b/libswscale/x86/yuv2rgb.c
+@@ -83,6 +83,7 @@ av_cold SwsFunc ff_yuv2rgb_init_x86(SwsContext *c)
+ #if HAVE_X86ASM
+     int cpu_flags = av_get_cpu_flags();
+ 
++#if HAVE_SSSE3
+     if (EXTERNAL_SSSE3(cpu_flags)) {
+         switch (c->dstFormat) {
+         case AV_PIX_FMT_RGB32:
+@@ -111,6 +112,7 @@ av_cold SwsFunc ff_yuv2rgb_init_x86(SwsContext *c)
+             return yuv420_rgb15_ssse3;
+         }
+     }
++#endif
+ 
+     if (EXTERNAL_MMXEXT(cpu_flags)) {
+         switch (c->dstFormat) {
+ 
diff --git a/media-video/ffmpeg/files/ffmpeg-5.0-backport-ranlib-build-fix.patch b/media-video/ffmpeg/files/ffmpeg-5.0-backport-ranlib-build-fix.patch
new file mode 100644
index 0000000..1c264f7
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-5.0-backport-ranlib-build-fix.patch
@@ -0,0 +1,59 @@
+From bc5ccea3b9d2c71929af6271bd8afe9b6cfab436 Mon Sep 17 00:00:00 2001
+From: Adrian Ratiu <adrian.ratiu@collabora.com>
+Date: Mon, 14 Feb 2022 15:00:07 +0200
+Subject: [PATCH] configure: move ranlib -D test after setting defaults
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Backport [from master bc5ccea3b9d2c7]
+
+In Gentoo and ChromeOS we want to allow pure LLVM builds without
+using GNU tools, so we block any unwanted mixed GNU/LLVM usages
+(GNU tools are still kept around in our chroots for projects
+like glibc which cannot yet be built otherwise).
+
+The default ${cross_prefix}${ranlib_default} points to GNU and
+fails, so move the test a bit later - after the defaults are
+set and the proper values get overriden - such that ffmpeg
+configure calls the llvm-ranlib we desire. [1]
+
+[1] https://gitweb.gentoo.org/repo/gentoo.git/tree/media-video/ffmpeg/ffmpeg-4.4.1-r1.ebuild?id=7a34377e3277a6a0e2eedd40e90452a44c55f1e6#n477
+
+Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
+Signed-off-by: Martin Storsjö <martin@martin.st>
+---
+ configure | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/configure b/configure
+index 7d22c2a345..82642deabe 100755
+--- a/configure
++++ b/configure
+@@ -4403,11 +4403,7 @@ cc_default="${cross_prefix}${cc_default}"
+ cxx_default="${cross_prefix}${cxx_default}"
+ nm_default="${cross_prefix}${nm_default}"
+ pkg_config_default="${cross_prefix}${pkg_config_default}"
+-if ${cross_prefix}${ranlib_default} 2>&1 | grep -q "\-D "; then
+-    ranlib_default="${cross_prefix}${ranlib_default} -D"
+-else
+-    ranlib_default="${cross_prefix}${ranlib_default}"
+-fi
++ranlib_default="${cross_prefix}${ranlib_default}"
+ strip_default="${cross_prefix}${strip_default}"
+ windres_default="${cross_prefix}${windres_default}"
+ 
+@@ -4440,6 +4436,10 @@ set_default arch cc cxx doxygen pkg_config ranlib strip sysinclude \
+ enabled cross_compile || host_cc_default=$cc
+ set_default host_cc
+ 
++if ${ranlib} 2>&1 | grep -q "\-D "; then
++    ranlib="${ranlib} -D"
++fi
++
+ pkg_config_fail_message=""
+ if ! $pkg_config --version >/dev/null 2>&1; then
+     warn "$pkg_config not found, library detection may fail."
+-- 
+2.35.1
+
diff --git a/media-video/ffmpeg/files/vmaf-models-default-path.patch b/media-video/ffmpeg/files/vmaf-models-default-path.patch
new file mode 100644
index 0000000..a9777e9
--- /dev/null
+++ b/media-video/ffmpeg/files/vmaf-models-default-path.patch
@@ -0,0 +1,13 @@
+Put default path of models to /usr/share/vmaf/model
+
+--- a/libavfilter/vf_libvmaf.c
++++ b/libavfilter/vf_libvmaf.c
+@@ -72,7 +72,7 @@ typedef struct LIBVMAFContext {
+ #define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM
+
+ static const AVOption libvmaf_options[] = {
+-    {"model_path",  "Set the model to be used for computing vmaf.",                     OFFSET(model_path), AV_OPT_TYPE_STRING, {.str="/usr/local/share/model/vmaf_v0.6.1.pkl"}, 0, 1, FLAGS},
++    {"model_path",  "Set the model to be used for computing vmaf.",                     OFFSET(model_path), AV_OPT_TYPE_STRING, {.str="/usr/share/vmaf/model/vmaf_v0.6.1.json"}, 0, 1, FLAGS},
+     {"log_path",  "Set the file path to be used to store logs.",                        OFFSET(log_path), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
+     {"log_fmt",  "Set the format of the log (xml or json).",                            OFFSET(log_fmt), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
+     {"enable_transform",  "Enables transform for computing vmaf.",                      OFFSET(enable_transform), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
diff --git a/media-video/ffmpeg/metadata.xml b/media-video/ffmpeg/metadata.xml
new file mode 100644
index 0000000..c07905a
--- /dev/null
+++ b/media-video/ffmpeg/metadata.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+	<email>media-video@gentoo.org</email>
+</maintainer>
+<use>
+	<flag name="amf">Enables support for AMD's Advanced Media Framework (AMF)</flag>
+	<flag name="amr">Enables Adaptive Multi-Rate Audio support</flag>
+	<flag name="amrenc">Enables Adaptive Multi-Rate Audio encoding support with <pkg>media-libs/vo-amrwbenc</pkg>.</flag>
+	<flag name="appkit">Enables Apple AppKit framework</flag>
+	<flag name="bluray">Enable playback of Blu-ray filesystems</flag>
+	<flag name="bs2b">Enables <pkg>media-libs/libbs2b</pkg> based Bauer stereo-to-binaural filter.</flag>
+	<flag name="cdio">Enables audio CD grabbing with <pkg>dev-libs/libcdio</pkg>.</flag>
+	<flag name="chromaprint">Enables audio fingerprinting support with <pkg>media-libs/chromaprint</pkg>.</flag>
+	<flag name="chromium">Builds libffmpeg.so to enable media playback in Chromium-based browsers like Opera and Vivaldi.</flag>
+	<flag name="codec2">Enables codec2 low bit rate speech codec support via <pkg>media-libs/codec2</pkg>.</flag>
+	<flag name="cpudetection">Enables runtime CPU detection (useful for bindist, compatibility on other CPUs)</flag>
+	<flag name="cuda">Enables CUDA-based acceleration. Mostly used for specific filters.</flag>
+	<flag name="dav1d">Enables AV1 decoding via <pkg>media-libs/dav1d</pkg>.</flag>
+	<flag name="fdk">Use external fdk-aac library for AAC encoding</flag>
+	<flag name="flite">Adds a text-to-speech filter based on <pkg>app-accessibility/flite</pkg>.</flag>
+	<flag name="frei0r">Enable frei0r wrapping in libavfilter</flag>
+	<flag name="fribidi">Enables fribidi support in the drawtext filter.</flag>
+	<flag name="gcrypt">Enables gcrypt support: Needed for rtmp(t)e support if openssl, librtmp or gmp is not used.</flag>
+	<flag name="gme">Enables support for <pkg>media-libs/game-music-emu</pkg> for playing various video game music formats.</flag>
+	<flag name="gpl">Build GPL code. Should be enabled unless you require LGPL binaries.</flag>
+	<flag name="hardcoded-tables">Use pre-calculated tables rather than calculating them on the fly.</flag>
+	<flag name="iec61883"> Support for FireWire DV/HDV input device using <pkg>media-libs/libiec61883</pkg>.</flag>
+	<flag name="kvazaar">Enables <pkg>media-libs/kvazaar</pkg> based HEVC encoder.</flag>
+	<flag name="libaom">Enables <pkg>media-libs/libaom</pkg> based AV1 codec support.</flag>
+	<flag name="libaribb24">Enables ARIB text and caption decoding via <pkg>media-libs/aribb24</pkg>.</flag>
+	<flag name="libdrm">Enables <pkg>x11-libs/libdrm</pkg> support for better screen grabbing and hardware accelerated codecs.</flag>
+	<flag name="libilbc">Enables iLBC de/encoding via <pkg>media-libs/libilbc</pkg>.</flag>
+	<flag name="librtmp">Enables Real Time Messaging Protocol using librtmp (<pkg>media-video/rtmpdump</pkg>) in addition to FFmpeg's native implementation.</flag>
+	<flag name="libsoxr">Enables audio resampling through <pkg>media-libs/soxr</pkg>.</flag>
+	<flag name="libtesseract">Enables the OCR filter via <pkg>app-text/tesseract</pkg>.</flag>
+	<flag name="libv4l">Uses <pkg>media-libs/libv4l</pkg> for video4linux instead of direct calls. Adds support for more devices via the userspace library.</flag>
+	<flag name="libxml2">Uses <pkg>dev-libs/libxml2</pkg> to enable dash demuxing support.</flag>
+	<flag name="lv2">Enables lv2 audio filter wrapper.</flag>
+	<flag name="mipsdspr1">Enables MIPS DSP ASE R1 optimizations.</flag>
+	<flag name="mipsdspr2">Enables MIPS DSP ASE R2 optimizations.</flag>
+	<flag name="mipsfpu">Enables floating point MIPS optimizations.</flag>
+	<flag name="mmal">Enables Multi-Media Abstraction Layer (MMAL) decoding support: Available e.g. on the Raspberry Pi.</flag>
+	<flag name="network">Enables network streaming support</flag>
+	<flag name="opencl">Enable OpenCL support</flag>
+	<flag name="openh264">Enables H.264 encoding suppoprt via <pkg>media-libs/openh264</pkg>.</flag>
+	<flag name="openssl">Enables <pkg>dev-libs/openssl</pkg> support. Adds support for encrypted network protocols (TLS/HTTPS).</flag>
+	<flag name="pic">Force shared libraries to be built as PIC (this is slower)</flag>
+	<flag name="postproc">Build and install libpostproc.</flag>
+	<flag name="rav1e">Enables AV1 encoding support via <pkg>media-video/rav1e</pkg>.</flag>
+	<flag name="rubberband">Adds time-stretching and pitch-shifting audio filter based on <pkg>media-libs/rubberband</pkg>.</flag>
+	<flag name="snappy">Enable <pkg>app-arch/snappy</pkg> support. Required for e.g. Vidvox Hap encoder.</flag>
+	<flag name="sndio">Enable support for the <pkg>media-sound/sndio</pkg> backend</flag>
+	<flag name="srt">Enable support for Secure Reliable Transport (SRT) via <pkg>net-libs/srt</pkg></flag>
+	<flag name="ssh">Enable SSH/sftp support via <pkg>net-libs/libssh</pkg>.</flag>
+	<flag name="svt-av1">Enables AV1 encoding support via <pkg>media-libs/svt-av1</pkg>.</flag>
+	<flag name="twolame">Enables MP2 encoding via <pkg>media-sound/twolame</pkg> as an alternative to the internal encoder.</flag>
+	<flag name="vidstab">Enables video stabilization filter using vid.stab library (<pkg>media-libs/vidstab</pkg>).</flag>
+	<flag name="vmaf">Enables Netflix's perceptual video quality assessment filter using the library (<pkg>media-libs/libvmaf</pkg>).</flag>
+	<flag name="vpx">Enables VP8 and VP9 codec support using libvpx: Decoding does not require this to be enabled but libvpx can also be used for decoding; encoding requires this useflag to be enabled though.</flag>
+	<flag name="vulkan">Enables support for the vulkan API for GPU offload.</flag>
+	<flag name="x265">Enables HEVC encoding with <pkg>media-libs/x265</pkg>.</flag>
+	<flag name="zeromq">Enables <pkg>net-libs/zeromq</pkg> support with the zmq/azmq filters.</flag>
+	<flag name="zimg">Enables <pkg>media-libs/zimg</pkg> based scale filter.</flag>
+	<flag name="zvbi">Enables <pkg>media-libs/zvbi</pkg> based teletext decoder.</flag>
+</use>
+<slots>
+	<slot name="0">For building against. This is the only slot that provides
+	headers and command line tools. Binary compatibility slots come and go
+	as required, so always pin dependencies to this slot when appropriate.</slot>
+</slots>
+</pkgmetadata>
diff --git a/media-video/libva-utils/Manifest b/media-video/libva-utils/Manifest
index 7a0b875..e937c57 100644
--- a/media-video/libva-utils/Manifest
+++ b/media-video/libva-utils/Manifest
@@ -1 +1 @@
-DIST libva-utils-2.13.0.tar.gz 1230036 BLAKE2B 4e70a13fb9b4362713b6f461a0ee199b8f7e9d9cbac7bc664c11870db92a87873d73306b5777c554830b932a15e726965e1db3591fd1349fb62f068617dd8558 SHA512 81c7c122a4d1bdf8d390a4ea3e0d34499158fb7b7fe0f7aa9d556158895e755139975fd01d73d883897c0a4390612d131b6349febbdf16fa5edcd46a6a82acd2
+DIST libva-utils-2.14.0.tar.gz 1241072 BLAKE2B 17f1e0badb05e39f3979bde652dfe6832e8bfb2accd99fd6c5d972090cfce630e2a93ad96e5d17bc7bd9c393b12c2a7b066cb60a715c2dbb128dd263c480bcca SHA512 631e9becf5b2f6d083906962c004c9080d2e2b2d98b6003638a31dde8ad4e2549606301b97e88822471e29007232fc470a2116be09dc0c55d3cc2df6a45a7be1
diff --git a/media-video/libva-utils/libva-utils-2.13.0-r2.ebuild b/media-video/libva-utils/libva-utils-2.13.0-r2.ebuild
deleted file mode 120000
index 95464e9..0000000
--- a/media-video/libva-utils/libva-utils-2.13.0-r2.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-libva-utils-2.13.0.ebuild
\ No newline at end of file
diff --git a/media-video/libva-utils/libva-utils-2.13.0.ebuild b/media-video/libva-utils/libva-utils-2.14.0.ebuild
similarity index 100%
rename from media-video/libva-utils/libva-utils-2.13.0.ebuild
rename to media-video/libva-utils/libva-utils-2.14.0.ebuild
diff --git a/metadata/OWNERS b/metadata/OWNERS
index 2e640e6..dcc2335 100644
--- a/metadata/OWNERS
+++ b/metadata/OWNERS
@@ -1,2 +1,4 @@
-set noparent
 include chromiumos/overlays/portage-stable:/metadata/OWNERS
+
+# Bot that commits cache updates.
+chromeos-ci-prod@chromeos-bot.iam.gserviceaccount.com
diff --git a/metadata/md5-cache/app-accessibility/brltty-6.3 b/metadata/md5-cache/app-accessibility/brltty-6.3
index e38fa7c..bf1ac99 100644
--- a/metadata/md5-cache/app-accessibility/brltty-6.3
+++ b/metadata/md5-cache/app-accessibility/brltty-6.3
@@ -1,4 +1,4 @@
-DEFINED_PHASES=compile configure install postinst preinst prepare setup
+DEFINED_PHASES=compile configure install preinst prepare setup
 DEPEND=virtual/pkgconfig java? ( >=virtual/jdk-1.4 ) bluetooth? ( net-wireless/bluez ) gpm? ( >=sys-libs/gpm-1.20 ) iconv? ( virtual/libiconv ) icu? ( dev-libs/icu ) ncurses? ( sys-libs/ncurses ) nls? ( virtual/libintl ) python? ( >=dev-python/cython-0.16 ) tcl? ( >=dev-lang/tcl-8.4.15 ) usb? ( virtual/libusb:0 ) X? ( x11-libs/libXaw ) ocaml? ( >=dev-ml/findlib-1.0.4-r1 ) java? ( >=dev-java/java-config-2.2.0-r3 ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig sys-apps/baselayout
 DESCRIPTION=Daemon that provides access to the Linux/Unix console for a blind person
 EAPI=5
@@ -11,4 +11,4 @@
 SLOT=0
 SRC_URI=http://brltty.app/archive/brltty-6.3.tar.xz
 _eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	findlib	d2cdd99abbdd240f5ccef654e38a4ea9	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	java-pkg-opt-2	be255db325e3af8fbf3506cf63998341	java-utils-2	82402a1c36ab4bf38f3313a543f9e827	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	versionator	26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=957a00beb913bb3bef074dd88fd12d1e
+_md5_=a7c9c849955accb3affb71260fafafd2
diff --git a/metadata/md5-cache/app-accessibility/brltty-6.3-r4 b/metadata/md5-cache/app-accessibility/brltty-6.3-r4
deleted file mode 100644
index e38fa7c..0000000
--- a/metadata/md5-cache/app-accessibility/brltty-6.3-r4
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst preinst prepare setup
-DEPEND=virtual/pkgconfig java? ( >=virtual/jdk-1.4 ) bluetooth? ( net-wireless/bluez ) gpm? ( >=sys-libs/gpm-1.20 ) iconv? ( virtual/libiconv ) icu? ( dev-libs/icu ) ncurses? ( sys-libs/ncurses ) nls? ( virtual/libintl ) python? ( >=dev-python/cython-0.16 ) tcl? ( >=dev-lang/tcl-8.4.15 ) usb? ( virtual/libusb:0 ) X? ( x11-libs/libXaw ) ocaml? ( >=dev-ml/findlib-1.0.4-r1 ) java? ( >=dev-java/java-config-2.2.0-r3 ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig sys-apps/baselayout
-DESCRIPTION=Daemon that provides access to the Linux/Unix console for a blind person
-EAPI=5
-HOMEPAGE=http://brltty.app/
-IUSE=+api +beeper bluetooth +contracted-braille +fm gpm iconv icu java +midi ncurses nls ocaml +pcm python usb +speech tcl X elibc_FreeBSD java asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=GPL-2 LGPL-2.1
-RDEPEND=java? ( >=virtual/jre-1.4 ) bluetooth? ( net-wireless/bluez ) gpm? ( >=sys-libs/gpm-1.20 ) iconv? ( virtual/libiconv ) icu? ( dev-libs/icu ) ncurses? ( sys-libs/ncurses ) nls? ( virtual/libintl ) python? ( >=dev-python/cython-0.16 ) tcl? ( >=dev-lang/tcl-8.4.15 ) usb? ( virtual/libusb:0 ) X? ( x11-libs/libXaw ) java? ( >=dev-java/java-config-2.2.0-r3 ) sys-apps/baselayout
-REQUIRED_USE=java? ( api ) ocaml? ( api ) python? ( api ) tcl? ( api )
-SLOT=0
-SRC_URI=http://brltty.app/archive/brltty-6.3.tar.xz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	findlib	d2cdd99abbdd240f5ccef654e38a4ea9	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	java-pkg-opt-2	be255db325e3af8fbf3506cf63998341	java-utils-2	82402a1c36ab4bf38f3313a543f9e827	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	versionator	26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=957a00beb913bb3bef074dd88fd12d1e
diff --git a/metadata/md5-cache/app-accessibility/brltty-6.3-r6 b/metadata/md5-cache/app-accessibility/brltty-6.3-r6
new file mode 100644
index 0000000..bf1ac99
--- /dev/null
+++ b/metadata/md5-cache/app-accessibility/brltty-6.3-r6
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install preinst prepare setup
+DEPEND=virtual/pkgconfig java? ( >=virtual/jdk-1.4 ) bluetooth? ( net-wireless/bluez ) gpm? ( >=sys-libs/gpm-1.20 ) iconv? ( virtual/libiconv ) icu? ( dev-libs/icu ) ncurses? ( sys-libs/ncurses ) nls? ( virtual/libintl ) python? ( >=dev-python/cython-0.16 ) tcl? ( >=dev-lang/tcl-8.4.15 ) usb? ( virtual/libusb:0 ) X? ( x11-libs/libXaw ) ocaml? ( >=dev-ml/findlib-1.0.4-r1 ) java? ( >=dev-java/java-config-2.2.0-r3 ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig sys-apps/baselayout
+DESCRIPTION=Daemon that provides access to the Linux/Unix console for a blind person
+EAPI=5
+HOMEPAGE=http://brltty.app/
+IUSE=+api +beeper bluetooth +contracted-braille +fm gpm iconv icu java +midi ncurses nls ocaml +pcm python usb +speech tcl X elibc_FreeBSD java asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=GPL-2 LGPL-2.1
+RDEPEND=java? ( >=virtual/jre-1.4 ) bluetooth? ( net-wireless/bluez ) gpm? ( >=sys-libs/gpm-1.20 ) iconv? ( virtual/libiconv ) icu? ( dev-libs/icu ) ncurses? ( sys-libs/ncurses ) nls? ( virtual/libintl ) python? ( >=dev-python/cython-0.16 ) tcl? ( >=dev-lang/tcl-8.4.15 ) usb? ( virtual/libusb:0 ) X? ( x11-libs/libXaw ) java? ( >=dev-java/java-config-2.2.0-r3 ) sys-apps/baselayout
+REQUIRED_USE=java? ( api ) ocaml? ( api ) python? ( api ) tcl? ( api )
+SLOT=0
+SRC_URI=http://brltty.app/archive/brltty-6.3.tar.xz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	findlib	d2cdd99abbdd240f5ccef654e38a4ea9	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	java-pkg-opt-2	be255db325e3af8fbf3506cf63998341	java-utils-2	82402a1c36ab4bf38f3313a543f9e827	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	versionator	26ca8a8bd95d6a74122c08ba98a4ee72
+_md5_=a7c9c849955accb3affb71260fafafd2
diff --git a/metadata/md5-cache/app-accessibility/pumpkin-0.0.1-r1 b/metadata/md5-cache/app-accessibility/pumpkin-0.0.1-r1
new file mode 100644
index 0000000..a2dc2b2
--- /dev/null
+++ b/metadata/md5-cache/app-accessibility/pumpkin-0.0.1-r1
@@ -0,0 +1,11 @@
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Pumpkin is a semantic parser built using web assembly and a JavaScript API. This DLC downloads the web assembly, JavaScript wrapper, and locale-specific binary files, which are all built in google3. Pumpkin is currently used by accessibility services on Chrome OS.
+EAPI=7
+IUSE=dlc cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
+KEYWORDS=*
+LICENSE=BSD-Google
+REQUIRED_USE=dlc
+SLOT=0
+SRC_URI=gs://chromeos-localmirror/distfiles/pumpkin-1.0.tar.xz
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	dlc	980ce13d2129fa5614d43ffa9d1bb90f	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c23b81c2ad15868092d8ce9acb55b67a
diff --git a/metadata/md5-cache/app-accessibility/pumpkin-9999 b/metadata/md5-cache/app-accessibility/pumpkin-9999
new file mode 100644
index 0000000..207329a
--- /dev/null
+++ b/metadata/md5-cache/app-accessibility/pumpkin-9999
@@ -0,0 +1,11 @@
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Pumpkin is a semantic parser built using web assembly and a JavaScript API. This DLC downloads the web assembly, JavaScript wrapper, and locale-specific binary files, which are all built in google3. Pumpkin is currently used by accessibility services on Chrome OS.
+EAPI=7
+IUSE=dlc cros_host cros_workon_tree_
+KEYWORDS=~*
+LICENSE=BSD-Google
+REQUIRED_USE=dlc
+SLOT=0
+SRC_URI=gs://chromeos-localmirror/distfiles/pumpkin-1.0.tar.xz
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	dlc	980ce13d2129fa5614d43ffa9d1bb90f	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3901e13f72b7427debdf7f4c5a16d11a
diff --git a/metadata/md5-cache/app-admin/eselect-mesa-0.0.8 b/metadata/md5-cache/app-admin/eselect-mesa-0.0.8
index 2e91a90..45f836c 100644
--- a/metadata/md5-cache/app-admin/eselect-mesa-0.0.8
+++ b/metadata/md5-cache/app-admin/eselect-mesa-0.0.8
@@ -1,10 +1,10 @@
-DEFINED_PHASES=install postinst
+DEFINED_PHASES=install
 DESCRIPTION=Utility to change the Mesa OpenGL driver being used
-EAPI=3
-HOMEPAGE=http://www.gentoo.org/
+EAPI=7
+HOMEPAGE=https://www.gentoo.org/
 KEYWORDS=*
 LICENSE=GPL-2
 RDEPEND=>=app-admin/eselect-1.2.4
 SLOT=0
 SRC_URI=mirror://gentoo/eselect-mesa-0.0.8.tar.gz
-_md5_=ad175586c564dec155eb82b5d400d7e5
+_md5_=b03c3a212d12c232c7972e8640499312
diff --git a/metadata/md5-cache/app-admin/eselect-mesa-0.0.8-r1 b/metadata/md5-cache/app-admin/eselect-mesa-0.0.8-r1
new file mode 100644
index 0000000..45f836c
--- /dev/null
+++ b/metadata/md5-cache/app-admin/eselect-mesa-0.0.8-r1
@@ -0,0 +1,10 @@
+DEFINED_PHASES=install
+DESCRIPTION=Utility to change the Mesa OpenGL driver being used
+EAPI=7
+HOMEPAGE=https://www.gentoo.org/
+KEYWORDS=*
+LICENSE=GPL-2
+RDEPEND=>=app-admin/eselect-1.2.4
+SLOT=0
+SRC_URI=mirror://gentoo/eselect-mesa-0.0.8.tar.gz
+_md5_=b03c3a212d12c232c7972e8640499312
diff --git a/metadata/md5-cache/app-admin/rsyslog-8.2102.0 b/metadata/md5-cache/app-admin/rsyslog-8.2102.0
deleted file mode 100644
index eff8e14..0000000
--- a/metadata/md5-cache/app-admin/rsyslog-8.2102.0
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=>=sys-devel/autoconf-archive-2015.02.24 virtual/pkgconfig elibc_musl? ( sys-libs/queue-standalone ) test? ( jemalloc? ( <sys-libs/libfaketime-0.9.7 ) !jemalloc? ( sys-libs/libfaketime ) || ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) ) >=app-portage/elt-patches-20170815 virtual/pkgconfig
-DEFINED_PHASES=compile config configure install prepare setup test unpack
-DEPEND=>=dev-libs/libfastjson-0.99.8:= >=dev-libs/libestr-0.1.9 >=sys-libs/zlib-1.2.5 chromeos-base/syslog-cat curl? ( >=net-misc/curl-7.35.0 ) dbi? ( >=dev-db/libdbi-0.8.3 ) elasticsearch? ( >=net-misc/curl-7.35.0 ) gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= ) imhttp? ( www-servers/civetweb ) impcap? ( net-libs/libpcap ) jemalloc? ( >=dev-libs/jemalloc-3.3.1:= ) kafka? ( >=dev-libs/librdkafka-0.9.0.99:= ) kerberos? ( virtual/krb5 ) kubernetes? ( >=net-misc/curl-7.35.0 ) mdblookup? ( dev-libs/libmaxminddb:= ) mongodb? ( >=dev-libs/mongo-c-driver-1.1.10:= ) mysql? ( dev-db/mysql-connector-c:= ) normalize? ( >=dev-libs/liblognorm-2.0.3:= ) clickhouse? ( >=net-misc/curl-7.35.0 ) omhttpfs? ( >=net-misc/curl-7.35.0 ) omudpspoof? ( >=net-libs/libnet-1.1.6 ) postgres? ( >=dev-db/postgresql-8.4.20:= ) rabbitmq? ( >=net-libs/rabbitmq-c-0.3.0:= ) redis? ( >=dev-libs/hiredis-0.11.0:= ) relp? ( >=dev-libs/librelp-1.2.17:= ) rfc3195? ( >=dev-libs/liblogging-1.0.1:=[rfc3195] ) rfc5424hmac? ( !libressl? ( >=dev-libs/openssl-0.9.8y:0= ) libressl? ( dev-libs/libressl:= ) ) snmp? ( >=net-analyzer/net-snmp-5.7.2 ) ssl? ( gnutls? ( >=net-libs/gnutls-2.12.23:0= ) openssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:0= ) ) ) systemd? ( >=sys-apps/systemd-234 ) uuid? ( sys-apps/util-linux:0= ) xxhash? ( dev-libs/xxhash:= ) zeromq? ( >=net-libs/czmq-4:=[drafts] ) test? ( >=dev-libs/liblogging-1.0.1[stdlog] ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=An enhanced multi-threaded syslogd with database support and more
-EAPI=7
-HOMEPAGE=https://www.rsyslog.com/
-IUSE=clickhouse curl dbi debug doc elasticsearch +gcrypt gnutls imhttp impcap jemalloc kafka kerberos kubernetes libressl mdblookup mongodb mysql normalize omhttp omhttpfs omudpspoof +openssl postgres rabbitmq redis relp rfc3195 rfc5424hmac snmp +ssl systemd test usertools +uuid xxhash zeromq kernel_linux
-KEYWORDS=*
-LICENSE=GPL-3 LGPL-3 Apache-2.0
-RDEPEND=>=dev-libs/libfastjson-0.99.8:= >=dev-libs/libestr-0.1.9 >=sys-libs/zlib-1.2.5 chromeos-base/syslog-cat curl? ( >=net-misc/curl-7.35.0 ) dbi? ( >=dev-db/libdbi-0.8.3 ) elasticsearch? ( >=net-misc/curl-7.35.0 ) gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= ) imhttp? ( www-servers/civetweb ) impcap? ( net-libs/libpcap ) jemalloc? ( >=dev-libs/jemalloc-3.3.1:= ) kafka? ( >=dev-libs/librdkafka-0.9.0.99:= ) kerberos? ( virtual/krb5 ) kubernetes? ( >=net-misc/curl-7.35.0 ) mdblookup? ( dev-libs/libmaxminddb:= ) mongodb? ( >=dev-libs/mongo-c-driver-1.1.10:= ) mysql? ( dev-db/mysql-connector-c:= ) normalize? ( >=dev-libs/liblognorm-2.0.3:= ) clickhouse? ( >=net-misc/curl-7.35.0 ) omhttpfs? ( >=net-misc/curl-7.35.0 ) omudpspoof? ( >=net-libs/libnet-1.1.6 ) postgres? ( >=dev-db/postgresql-8.4.20:= ) rabbitmq? ( >=net-libs/rabbitmq-c-0.3.0:= ) redis? ( >=dev-libs/hiredis-0.11.0:= ) relp? ( >=dev-libs/librelp-1.2.17:= ) rfc3195? ( >=dev-libs/liblogging-1.0.1:=[rfc3195] ) rfc5424hmac? ( !libressl? ( >=dev-libs/openssl-0.9.8y:0= ) libressl? ( dev-libs/libressl:= ) ) snmp? ( >=net-analyzer/net-snmp-5.7.2 ) ssl? ( gnutls? ( >=net-libs/gnutls-2.12.23:0= ) openssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:0= ) ) ) systemd? ( >=sys-apps/systemd-234 ) uuid? ( sys-apps/util-linux:0= ) xxhash? ( dev-libs/xxhash:= ) zeromq? ( >=net-libs/czmq-4:=[drafts] )
-REQUIRED_USE=kubernetes? ( normalize ) ssl? ( || ( gnutls openssl ) )
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://www.rsyslog.com/files/download/rsyslog/rsyslog-8.2102.0.tar.gz doc? ( https://www.rsyslog.com/files/download/rsyslog/rsyslog-doc-8.2102.0.tar.gz )
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=07180f9054f9cf7de6c305e225f632d6
diff --git a/metadata/md5-cache/app-admin/rsyslog-8.2102.0-r3 b/metadata/md5-cache/app-admin/rsyslog-8.2102.0-r3
deleted file mode 100644
index eff8e14..0000000
--- a/metadata/md5-cache/app-admin/rsyslog-8.2102.0-r3
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=>=sys-devel/autoconf-archive-2015.02.24 virtual/pkgconfig elibc_musl? ( sys-libs/queue-standalone ) test? ( jemalloc? ( <sys-libs/libfaketime-0.9.7 ) !jemalloc? ( sys-libs/libfaketime ) || ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) ) >=app-portage/elt-patches-20170815 virtual/pkgconfig
-DEFINED_PHASES=compile config configure install prepare setup test unpack
-DEPEND=>=dev-libs/libfastjson-0.99.8:= >=dev-libs/libestr-0.1.9 >=sys-libs/zlib-1.2.5 chromeos-base/syslog-cat curl? ( >=net-misc/curl-7.35.0 ) dbi? ( >=dev-db/libdbi-0.8.3 ) elasticsearch? ( >=net-misc/curl-7.35.0 ) gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= ) imhttp? ( www-servers/civetweb ) impcap? ( net-libs/libpcap ) jemalloc? ( >=dev-libs/jemalloc-3.3.1:= ) kafka? ( >=dev-libs/librdkafka-0.9.0.99:= ) kerberos? ( virtual/krb5 ) kubernetes? ( >=net-misc/curl-7.35.0 ) mdblookup? ( dev-libs/libmaxminddb:= ) mongodb? ( >=dev-libs/mongo-c-driver-1.1.10:= ) mysql? ( dev-db/mysql-connector-c:= ) normalize? ( >=dev-libs/liblognorm-2.0.3:= ) clickhouse? ( >=net-misc/curl-7.35.0 ) omhttpfs? ( >=net-misc/curl-7.35.0 ) omudpspoof? ( >=net-libs/libnet-1.1.6 ) postgres? ( >=dev-db/postgresql-8.4.20:= ) rabbitmq? ( >=net-libs/rabbitmq-c-0.3.0:= ) redis? ( >=dev-libs/hiredis-0.11.0:= ) relp? ( >=dev-libs/librelp-1.2.17:= ) rfc3195? ( >=dev-libs/liblogging-1.0.1:=[rfc3195] ) rfc5424hmac? ( !libressl? ( >=dev-libs/openssl-0.9.8y:0= ) libressl? ( dev-libs/libressl:= ) ) snmp? ( >=net-analyzer/net-snmp-5.7.2 ) ssl? ( gnutls? ( >=net-libs/gnutls-2.12.23:0= ) openssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:0= ) ) ) systemd? ( >=sys-apps/systemd-234 ) uuid? ( sys-apps/util-linux:0= ) xxhash? ( dev-libs/xxhash:= ) zeromq? ( >=net-libs/czmq-4:=[drafts] ) test? ( >=dev-libs/liblogging-1.0.1[stdlog] ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=An enhanced multi-threaded syslogd with database support and more
-EAPI=7
-HOMEPAGE=https://www.rsyslog.com/
-IUSE=clickhouse curl dbi debug doc elasticsearch +gcrypt gnutls imhttp impcap jemalloc kafka kerberos kubernetes libressl mdblookup mongodb mysql normalize omhttp omhttpfs omudpspoof +openssl postgres rabbitmq redis relp rfc3195 rfc5424hmac snmp +ssl systemd test usertools +uuid xxhash zeromq kernel_linux
-KEYWORDS=*
-LICENSE=GPL-3 LGPL-3 Apache-2.0
-RDEPEND=>=dev-libs/libfastjson-0.99.8:= >=dev-libs/libestr-0.1.9 >=sys-libs/zlib-1.2.5 chromeos-base/syslog-cat curl? ( >=net-misc/curl-7.35.0 ) dbi? ( >=dev-db/libdbi-0.8.3 ) elasticsearch? ( >=net-misc/curl-7.35.0 ) gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= ) imhttp? ( www-servers/civetweb ) impcap? ( net-libs/libpcap ) jemalloc? ( >=dev-libs/jemalloc-3.3.1:= ) kafka? ( >=dev-libs/librdkafka-0.9.0.99:= ) kerberos? ( virtual/krb5 ) kubernetes? ( >=net-misc/curl-7.35.0 ) mdblookup? ( dev-libs/libmaxminddb:= ) mongodb? ( >=dev-libs/mongo-c-driver-1.1.10:= ) mysql? ( dev-db/mysql-connector-c:= ) normalize? ( >=dev-libs/liblognorm-2.0.3:= ) clickhouse? ( >=net-misc/curl-7.35.0 ) omhttpfs? ( >=net-misc/curl-7.35.0 ) omudpspoof? ( >=net-libs/libnet-1.1.6 ) postgres? ( >=dev-db/postgresql-8.4.20:= ) rabbitmq? ( >=net-libs/rabbitmq-c-0.3.0:= ) redis? ( >=dev-libs/hiredis-0.11.0:= ) relp? ( >=dev-libs/librelp-1.2.17:= ) rfc3195? ( >=dev-libs/liblogging-1.0.1:=[rfc3195] ) rfc5424hmac? ( !libressl? ( >=dev-libs/openssl-0.9.8y:0= ) libressl? ( dev-libs/libressl:= ) ) snmp? ( >=net-analyzer/net-snmp-5.7.2 ) ssl? ( gnutls? ( >=net-libs/gnutls-2.12.23:0= ) openssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:0= ) ) ) systemd? ( >=sys-apps/systemd-234 ) uuid? ( sys-apps/util-linux:0= ) xxhash? ( dev-libs/xxhash:= ) zeromq? ( >=net-libs/czmq-4:=[drafts] )
-REQUIRED_USE=kubernetes? ( normalize ) ssl? ( || ( gnutls openssl ) )
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://www.rsyslog.com/files/download/rsyslog/rsyslog-8.2102.0.tar.gz doc? ( https://www.rsyslog.com/files/download/rsyslog/rsyslog-doc-8.2102.0.tar.gz )
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=07180f9054f9cf7de6c305e225f632d6
diff --git a/metadata/md5-cache/app-admin/rsyslog-8.2112.0-r2 b/metadata/md5-cache/app-admin/rsyslog-8.2112.0-r2
new file mode 100644
index 0000000..4a50c26
--- /dev/null
+++ b/metadata/md5-cache/app-admin/rsyslog-8.2112.0-r2
@@ -0,0 +1,16 @@
+BDEPEND=>=sys-devel/autoconf-archive-2015.02.24 virtual/pkgconfig test? ( jemalloc? ( <sys-libs/libfaketime-0.9.7 ) !jemalloc? ( sys-libs/libfaketime ) || ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) ) >=app-portage/elt-patches-20170815 virtual/pkgconfig
+DEFINED_PHASES=compile config configure install prepare setup test unpack
+DEPEND=>=dev-libs/libfastjson-0.99.8:= >=dev-libs/libestr-0.1.9 >=sys-libs/zlib-1.2.5 chromeos-base/syslog-cat curl? ( >=net-misc/curl-7.35.0 ) dbi? ( >=dev-db/libdbi-0.8.3 ) elasticsearch? ( >=net-misc/curl-7.35.0 ) gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= ) imhttp? ( dev-libs/apr-util www-servers/civetweb virtual/libcrypt:= ) impcap? ( net-libs/libpcap ) jemalloc? ( >=dev-libs/jemalloc-3.3.1:= ) kafka? ( >=dev-libs/librdkafka-0.9.0.99:= ) kerberos? ( virtual/krb5 ) kubernetes? ( >=net-misc/curl-7.35.0 ) mdblookup? ( dev-libs/libmaxminddb:= ) mongodb? ( >=dev-libs/mongo-c-driver-1.1.10:= ) mysql? ( dev-db/mysql-connector-c:= ) normalize? ( >=dev-libs/liblognorm-2.0.3:= ) clickhouse? ( >=net-misc/curl-7.35.0 ) omhttpfs? ( >=net-misc/curl-7.35.0 ) omudpspoof? ( >=net-libs/libnet-1.1.6 ) postgres? ( >=dev-db/postgresql-8.4.20:= ) rabbitmq? ( >=net-libs/rabbitmq-c-0.3.0:= ) redis? ( >=dev-libs/hiredis-0.11.0:= dev-libs/libevent[threads] ) relp? ( >=dev-libs/librelp-1.2.17:= ) rfc3195? ( >=dev-libs/liblogging-1.0.1:=[rfc3195] ) rfc5424hmac? ( >=dev-libs/openssl-0.9.8y:0= ) snmp? ( >=net-analyzer/net-snmp-5.7.2 ) ssl? ( gnutls? ( >=net-libs/gnutls-2.12.23:0= ) openssl? ( dev-libs/openssl:0= ) ) systemd? ( >=sys-apps/systemd-234 ) uuid? ( sys-apps/util-linux:0= ) xxhash? ( dev-libs/xxhash:= ) zeromq? ( >=net-libs/czmq-4:=[drafts] ) elibc_musl? ( sys-libs/queue-standalone ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=An enhanced multi-threaded syslogd with database support and more
+EAPI=7
+HOMEPAGE=https://www.rsyslog.com/
+IUSE=clickhouse curl dbi debug doc elasticsearch +gcrypt gnutls imhttp impcap jemalloc kafka kerberos kubernetes mdblookup mongodb mysql normalize omhttp omhttpfs omudpspoof +openssl postgres rabbitmq redis relp rfc3195 rfc5424hmac snmp +ssl systemd test usertools +uuid xxhash zeromq kernel_linux
+KEYWORDS=*
+LICENSE=GPL-3 LGPL-3 Apache-2.0
+RDEPEND=>=dev-libs/libfastjson-0.99.8:= >=dev-libs/libestr-0.1.9 >=sys-libs/zlib-1.2.5 chromeos-base/syslog-cat curl? ( >=net-misc/curl-7.35.0 ) dbi? ( >=dev-db/libdbi-0.8.3 ) elasticsearch? ( >=net-misc/curl-7.35.0 ) gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= ) imhttp? ( dev-libs/apr-util www-servers/civetweb virtual/libcrypt:= ) impcap? ( net-libs/libpcap ) jemalloc? ( >=dev-libs/jemalloc-3.3.1:= ) kafka? ( >=dev-libs/librdkafka-0.9.0.99:= ) kerberos? ( virtual/krb5 ) kubernetes? ( >=net-misc/curl-7.35.0 ) mdblookup? ( dev-libs/libmaxminddb:= ) mongodb? ( >=dev-libs/mongo-c-driver-1.1.10:= ) mysql? ( dev-db/mysql-connector-c:= ) normalize? ( >=dev-libs/liblognorm-2.0.3:= ) clickhouse? ( >=net-misc/curl-7.35.0 ) omhttpfs? ( >=net-misc/curl-7.35.0 ) omudpspoof? ( >=net-libs/libnet-1.1.6 ) postgres? ( >=dev-db/postgresql-8.4.20:= ) rabbitmq? ( >=net-libs/rabbitmq-c-0.3.0:= ) redis? ( >=dev-libs/hiredis-0.11.0:= dev-libs/libevent[threads] ) relp? ( >=dev-libs/librelp-1.2.17:= ) rfc3195? ( >=dev-libs/liblogging-1.0.1:=[rfc3195] ) rfc5424hmac? ( >=dev-libs/openssl-0.9.8y:0= ) snmp? ( >=net-analyzer/net-snmp-5.7.2 ) ssl? ( gnutls? ( >=net-libs/gnutls-2.12.23:0= ) openssl? ( dev-libs/openssl:0= ) ) systemd? ( >=sys-apps/systemd-234 ) uuid? ( sys-apps/util-linux:0= ) xxhash? ( dev-libs/xxhash:= ) zeromq? ( >=net-libs/czmq-4:=[drafts] )
+REQUIRED_USE=kubernetes? ( normalize ) ssl? ( || ( gnutls openssl ) )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://www.rsyslog.com/files/download/rsyslog/rsyslog-8.2112.0.tar.gz doc? ( https://www.rsyslog.com/files/download/rsyslog/rsyslog-doc-8.2112.0.tar.gz )
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9caca54219058c9c099be281116fc4c9
diff --git a/metadata/md5-cache/app-arch/libarchive-3.5.1 b/metadata/md5-cache/app-arch/libarchive-3.5.1
deleted file mode 100644
index 16dec28..0000000
--- a/metadata/md5-cache/app-arch/libarchive-3.5.1
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=>=app-portage/elt-patches-20170815
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=acl? ( virtual/acl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) blake2? ( app-crypt/libb2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) bzip2? ( app-arch/bzip2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) expat? ( dev-libs/expat[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !expat? ( dev-libs/libxml2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) iconv? ( virtual/libiconv[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) kernel_linux? ( xattr? ( sys-apps/attr[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) dev-libs/openssl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] lz4? ( >=app-arch/lz4-0_p131:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) lzma? ( app-arch/xz-utils[threads=,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) lzo? ( >=dev-libs/lzo-2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) nettle? ( dev-libs/nettle:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) zlib? ( sys-libs/zlib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) zstd? ( app-arch/zstd[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) kernel_linux? ( virtual/os-headers e2fsprogs? ( sys-fs/e2fsprogs ) )
-DESCRIPTION=Multi-format archive and compression library
-EAPI=7
-HOMEPAGE=https://www.libarchive.org/
-IUSE=acl blake2 +bzip2 +e2fsprogs expat +iconv kernel_linux lz4 +lzma lzo nettle static-libs +threads xattr +zlib zstd abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=BSD BSD-2 BSD-4 public-domain
-RDEPEND=acl? ( virtual/acl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) blake2? ( app-crypt/libb2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) bzip2? ( app-arch/bzip2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) expat? ( dev-libs/expat[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !expat? ( dev-libs/libxml2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) iconv? ( virtual/libiconv[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) kernel_linux? ( xattr? ( sys-apps/attr[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) dev-libs/openssl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] lz4? ( >=app-arch/lz4-0_p131:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) lzma? ( app-arch/xz-utils[threads=,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) lzo? ( >=dev-libs/lzo-2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) nettle? ( dev-libs/nettle:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) zlib? ( sys-libs/zlib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) zstd? ( app-arch/zstd[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
-SLOT=0/13
-SRC_URI=https://www.libarchive.org/downloads/libarchive-3.5.1.tar.gz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e84324d0e502b44ab4953dc6d165da2e
diff --git a/metadata/md5-cache/app-arch/libarchive-3.5.1-r2 b/metadata/md5-cache/app-arch/libarchive-3.5.1-r2
deleted file mode 100644
index 16dec28..0000000
--- a/metadata/md5-cache/app-arch/libarchive-3.5.1-r2
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=>=app-portage/elt-patches-20170815
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=acl? ( virtual/acl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) blake2? ( app-crypt/libb2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) bzip2? ( app-arch/bzip2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) expat? ( dev-libs/expat[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !expat? ( dev-libs/libxml2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) iconv? ( virtual/libiconv[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) kernel_linux? ( xattr? ( sys-apps/attr[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) dev-libs/openssl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] lz4? ( >=app-arch/lz4-0_p131:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) lzma? ( app-arch/xz-utils[threads=,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) lzo? ( >=dev-libs/lzo-2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) nettle? ( dev-libs/nettle:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) zlib? ( sys-libs/zlib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) zstd? ( app-arch/zstd[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) kernel_linux? ( virtual/os-headers e2fsprogs? ( sys-fs/e2fsprogs ) )
-DESCRIPTION=Multi-format archive and compression library
-EAPI=7
-HOMEPAGE=https://www.libarchive.org/
-IUSE=acl blake2 +bzip2 +e2fsprogs expat +iconv kernel_linux lz4 +lzma lzo nettle static-libs +threads xattr +zlib zstd abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=BSD BSD-2 BSD-4 public-domain
-RDEPEND=acl? ( virtual/acl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) blake2? ( app-crypt/libb2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) bzip2? ( app-arch/bzip2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) expat? ( dev-libs/expat[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !expat? ( dev-libs/libxml2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) iconv? ( virtual/libiconv[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) kernel_linux? ( xattr? ( sys-apps/attr[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) dev-libs/openssl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] lz4? ( >=app-arch/lz4-0_p131:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) lzma? ( app-arch/xz-utils[threads=,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) lzo? ( >=dev-libs/lzo-2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) nettle? ( dev-libs/nettle:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) zlib? ( sys-libs/zlib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) zstd? ( app-arch/zstd[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
-SLOT=0/13
-SRC_URI=https://www.libarchive.org/downloads/libarchive-3.5.1.tar.gz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e84324d0e502b44ab4953dc6d165da2e
diff --git a/metadata/md5-cache/app-benchmarks/microbenchmarks-0.0.1-r10 b/metadata/md5-cache/app-benchmarks/microbenchmarks-0.0.1-r10
new file mode 100644
index 0000000..6caf6e4
--- /dev/null
+++ b/metadata/md5-cache/app-benchmarks/microbenchmarks-0.0.1-r10
@@ -0,0 +1,12 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DESCRIPTION=Home for microbenchmarks designed in-house.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/microbenchmarks
+IUSE=cros_host cros_workon_tree_4278e97079c67ddefd0963eb7f6f8382f2aff914 asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+SLOT=0/0.0.1-r10
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=09576e81d83f8eba2bd96f96edbbbd65
diff --git a/metadata/md5-cache/app-benchmarks/microbenchmarks-0.0.1-r8 b/metadata/md5-cache/app-benchmarks/microbenchmarks-0.0.1-r8
deleted file mode 100644
index 7af3877..0000000
--- a/metadata/md5-cache/app-benchmarks/microbenchmarks-0.0.1-r8
+++ /dev/null
@@ -1,12 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DESCRIPTION=Home for microbenchmarks designed in-house.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/microbenchmarks
-IUSE=cros_host cros_workon_tree_d2f7a20eeeca7497d1af6de7e1afcb217fc28aae
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-SLOT=0/0.0.1-r8
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=729e4c18cf3d62b67578cb1db836546c
diff --git a/metadata/md5-cache/app-benchmarks/microbenchmarks-9999 b/metadata/md5-cache/app-benchmarks/microbenchmarks-9999
index c23ea2e..001c705 100644
--- a/metadata/md5-cache/app-benchmarks/microbenchmarks-9999
+++ b/metadata/md5-cache/app-benchmarks/microbenchmarks-9999
@@ -3,10 +3,10 @@
 DESCRIPTION=Home for microbenchmarks designed in-house.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/microbenchmarks
-IUSE=cros_host cros_workon_tree_
+IUSE=cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0/9999
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=83860851ebc4c3b3e5a54834192be6dd
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=90432436a5b4b76af717a8bb65abff74
diff --git a/metadata/md5-cache/app-benchmarks/xfstests-0.0.1-r17 b/metadata/md5-cache/app-benchmarks/xfstests-0.0.1-r17
index 09647de..c9e1e6b 100644
--- a/metadata/md5-cache/app-benchmarks/xfstests-0.0.1-r17
+++ b/metadata/md5-cache/app-benchmarks/xfstests-0.0.1-r17
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=sys-fs/e2fsprogs dev-lang/perl sys-apps/attr sys-apps/diffutils sys-apps/gawk sys-apps/util-linux sys-devel/bc sys-fs/xfsprogs
 SLOT=0
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=6ac1f4a84a9b0b78698598bd2826c213
diff --git a/metadata/md5-cache/app-benchmarks/xfstests-9999 b/metadata/md5-cache/app-benchmarks/xfstests-9999
index e565074..3bf748e 100644
--- a/metadata/md5-cache/app-benchmarks/xfstests-9999
+++ b/metadata/md5-cache/app-benchmarks/xfstests-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=sys-fs/e2fsprogs dev-lang/perl sys-apps/attr sys-apps/diffutils sys-apps/gawk sys-apps/util-linux sys-devel/bc sys-fs/xfsprogs
 SLOT=0
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=54337db6e7378461791ce26b2184c132
diff --git a/metadata/md5-cache/app-crypt/nss-3.44-r2 b/metadata/md5-cache/app-crypt/nss-3.44-r2
deleted file mode 100644
index 89557e1..0000000
--- a/metadata/md5-cache/app-crypt/nss-3.44-r2
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test unpack
-DEPEND=>=virtual/pkgconfig-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-libs/nspr-4.16[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-db/sqlite-3.8.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-libs/nss-3.44[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-DESCRIPTION=Mozilla's Network Security Services library that implements PKI support
-EAPI=6
-HOMEPAGE=http://www.mozilla.org/projects/security/pki/nss/
-IUSE=cacert +nss-pem utils abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=|| ( MPL-2.0 GPL-2 LGPL-2.1 )
-RDEPEND=>=dev-libs/nspr-4.16[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-db/sqlite-3.8.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-libs/nss-3.44[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-RESTRICT=test
-SLOT=0
-SRC_URI=https://archive.mozilla.org/pub/security/nss/releases/NSS_3_44_RTM/src/nss-3.44.tar.gz cacert? ( https://dev.gentoo.org/~axs/distfiles/nss-cacert-class1-class3.patch ) nss-pem? ( https://dev.gentoo.org/~polynomial-c/nss-pem-20160329.tar.xz )
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=27504a56bf6692b89d46d292a3013364
diff --git a/metadata/md5-cache/app-crypt/nss-3.44-r5 b/metadata/md5-cache/app-crypt/nss-3.44-r5
deleted file mode 100644
index 89557e1..0000000
--- a/metadata/md5-cache/app-crypt/nss-3.44-r5
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test unpack
-DEPEND=>=virtual/pkgconfig-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-libs/nspr-4.16[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-db/sqlite-3.8.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-libs/nss-3.44[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-DESCRIPTION=Mozilla's Network Security Services library that implements PKI support
-EAPI=6
-HOMEPAGE=http://www.mozilla.org/projects/security/pki/nss/
-IUSE=cacert +nss-pem utils abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=|| ( MPL-2.0 GPL-2 LGPL-2.1 )
-RDEPEND=>=dev-libs/nspr-4.16[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-db/sqlite-3.8.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-libs/nss-3.44[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-RESTRICT=test
-SLOT=0
-SRC_URI=https://archive.mozilla.org/pub/security/nss/releases/NSS_3_44_RTM/src/nss-3.44.tar.gz cacert? ( https://dev.gentoo.org/~axs/distfiles/nss-cacert-class1-class3.patch ) nss-pem? ( https://dev.gentoo.org/~polynomial-c/nss-pem-20160329.tar.xz )
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=27504a56bf6692b89d46d292a3013364
diff --git a/metadata/md5-cache/app-crypt/nss-3.68.2 b/metadata/md5-cache/app-crypt/nss-3.68.2
new file mode 100644
index 0000000..e2c7f78
--- /dev/null
+++ b/metadata/md5-cache/app-crypt/nss-3.68.2
@@ -0,0 +1,15 @@
+BDEPEND=dev-lang/perl
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=>=dev-libs/nspr-4.32[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-db/sqlite-3.8.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/pkgconfig >=dev-libs/nss-3.68.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+DESCRIPTION=Mozilla's Network Security Services library that implements PKI support
+EAPI=7
+HOMEPAGE=https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
+IUSE=cacert utils cpu_flags_ppc_altivec cpu_flags_ppc_vsx abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
+KEYWORDS=*
+LICENSE=|| ( MPL-2.0 GPL-2 LGPL-2.1 )
+RDEPEND=>=dev-libs/nspr-4.32[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-db/sqlite-3.8.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/pkgconfig >=dev-libs/nss-3.68.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+RESTRICT=test
+SLOT=0
+SRC_URI=https://archive.mozilla.org/pub/security/nss/releases/NSS_3_68_2_RTM/src/nss-3.68.2.tar.gz cacert? ( https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r2.patch )
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7c20f0e4cdc65ca05e5c5c56ec1d2093
diff --git a/metadata/md5-cache/app-crypt/nss-3.68.2-r1 b/metadata/md5-cache/app-crypt/nss-3.68.2-r1
new file mode 100644
index 0000000..e2c7f78
--- /dev/null
+++ b/metadata/md5-cache/app-crypt/nss-3.68.2-r1
@@ -0,0 +1,15 @@
+BDEPEND=dev-lang/perl
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=>=dev-libs/nspr-4.32[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-db/sqlite-3.8.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/pkgconfig >=dev-libs/nss-3.68.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+DESCRIPTION=Mozilla's Network Security Services library that implements PKI support
+EAPI=7
+HOMEPAGE=https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
+IUSE=cacert utils cpu_flags_ppc_altivec cpu_flags_ppc_vsx abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
+KEYWORDS=*
+LICENSE=|| ( MPL-2.0 GPL-2 LGPL-2.1 )
+RDEPEND=>=dev-libs/nspr-4.32[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-db/sqlite-3.8.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/pkgconfig >=dev-libs/nss-3.68.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+RESTRICT=test
+SLOT=0
+SRC_URI=https://archive.mozilla.org/pub/security/nss/releases/NSS_3_68_2_RTM/src/nss-3.68.2.tar.gz cacert? ( https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r2.patch )
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7c20f0e4cdc65ca05e5c5c56ec1d2093
diff --git a/metadata/md5-cache/app-crypt/trousers-0.3.3-r118 b/metadata/md5-cache/app-crypt/trousers-0.3.3-r118
deleted file mode 100644
index 9d85237..0000000
--- a/metadata/md5-cache/app-crypt/trousers-0.3.3-r118
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install postinst prepare setup unpack
-DEPEND=chromeos-base/libhwsec-foundation >=chromeos-base/metrics-0.0.1-r3152 >=dev-libs/openssl-0.9.7:0= dev-util/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] virtual/pkgconfig sys-apps/baselayout
-DESCRIPTION=An open-source TCG Software Stack (TSS) v1.1 implementation
-EAPI=5
-HOMEPAGE=http://trousers.sf.net
-IUSE=asan doc mocktpm systemd tpm_dynamic tss_trace cros-debug asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_81bf2434270b80a9ffe9540418b9f41b3c302c95 cros-debug
-KEYWORDS=*
-LICENSE=CPL-1.0
-PROPERTIES=live
-RDEPEND=chromeos-base/libhwsec-foundation >=chromeos-base/metrics-0.0.1-r3152 >=dev-libs/openssl-0.9.7:0= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] virtual/tmpfiles sys-apps/baselayout
-SLOT=0
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=16f316de2807179436d4507dfa6d7508
diff --git a/metadata/md5-cache/app-crypt/trousers-0.3.3-r121 b/metadata/md5-cache/app-crypt/trousers-0.3.3-r121
new file mode 100644
index 0000000..a4dccf6
--- /dev/null
+++ b/metadata/md5-cache/app-crypt/trousers-0.3.3-r121
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install postinst prepare setup unpack
+DEPEND=chromeos-base/libhwsec-foundation >=chromeos-base/metrics-0.0.1-r3152 >=dev-libs/openssl-0.9.7:0= >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] virtual/pkgconfig sys-apps/baselayout
+DESCRIPTION=An open-source TCG Software Stack (TSS) v1.1 implementation
+EAPI=5
+HOMEPAGE=http://trousers.sf.net
+IUSE=asan doc mocktpm systemd tpm_dynamic tss_trace cros-debug asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_c58986c3e98f1454c840c85ccc9c953b41618956 cros-debug
+KEYWORDS=*
+LICENSE=CPL-1.0
+PROPERTIES=live
+RDEPEND=chromeos-base/libhwsec-foundation >=chromeos-base/metrics-0.0.1-r3152 >=dev-libs/openssl-0.9.7:0= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] virtual/tmpfiles sys-apps/baselayout
+SLOT=0
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=2505832a4cfcca4a7b3f8cf49eb4cfa7
diff --git a/metadata/md5-cache/app-crypt/trousers-9999 b/metadata/md5-cache/app-crypt/trousers-9999
index 86bcb81..9adbe62 100644
--- a/metadata/md5-cache/app-crypt/trousers-9999
+++ b/metadata/md5-cache/app-crypt/trousers-9999
@@ -1,5 +1,5 @@
 DEFINED_PHASES=compile configure info install postinst prepare setup unpack
-DEPEND=chromeos-base/libhwsec-foundation >=chromeos-base/metrics-0.0.1-r3152 >=dev-libs/openssl-0.9.7:0= dev-util/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] virtual/pkgconfig sys-apps/baselayout
+DEPEND=chromeos-base/libhwsec-foundation >=chromeos-base/metrics-0.0.1-r3152 >=dev-libs/openssl-0.9.7:0= >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] virtual/pkgconfig sys-apps/baselayout
 DESCRIPTION=An open-source TCG Software Stack (TSS) v1.1 implementation
 EAPI=5
 HOMEPAGE=http://trousers.sf.net
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/libhwsec-foundation >=chromeos-base/metrics-0.0.1-r3152 >=dev-libs/openssl-0.9.7:0= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] virtual/tmpfiles sys-apps/baselayout
 SLOT=0
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=04d0fab288b553ff62dfc8a141ae07da
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=eb0860b59ab2e445d92ffb92f4372e90
diff --git a/metadata/md5-cache/app-crypt/trousers-tests-0.0.1-r102 b/metadata/md5-cache/app-crypt/trousers-tests-0.0.1-r102
deleted file mode 100644
index f2d7560..0000000
--- a/metadata/md5-cache/app-crypt/trousers-tests-0.0.1-r102
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=app-crypt/trousers !<chromeos-base/autotest-tests-0.0.1-r1521
-DESCRIPTION=Trousers TPM tests
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/trousers/
-IUSE=+autotest +tests_hardware_TPM cros_host cros_workon_tree_81bf2434270b80a9ffe9540418b9f41b3c302c95 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=app-crypt/trousers !<chromeos-base/autotest-tests-0.0.1-r1521 autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5e5e7566a27e89f9bb9eb110e7d16404
diff --git a/metadata/md5-cache/app-crypt/trousers-tests-0.0.1-r104 b/metadata/md5-cache/app-crypt/trousers-tests-0.0.1-r104
new file mode 100644
index 0000000..d943f0d
--- /dev/null
+++ b/metadata/md5-cache/app-crypt/trousers-tests-0.0.1-r104
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=app-crypt/trousers !<chromeos-base/autotest-tests-0.0.1-r1521
+DESCRIPTION=Trousers TPM tests
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/trousers/
+IUSE=+autotest +tests_hardware_TPM cros_host cros_workon_tree_c58986c3e98f1454c840c85ccc9c953b41618956 +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=app-crypt/trousers !<chromeos-base/autotest-tests-0.0.1-r1521 autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=442b31de2d5dfe8417c5df0ac7f029e2
diff --git a/metadata/md5-cache/app-crypt/trousers-tests-9999 b/metadata/md5-cache/app-crypt/trousers-tests-9999
index 62107ad..fa05a88 100644
--- a/metadata/md5-cache/app-crypt/trousers-tests-9999
+++ b/metadata/md5-cache/app-crypt/trousers-tests-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=app-crypt/trousers !<chromeos-base/autotest-tests-0.0.1-r1521 autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=d7e48f6e3ddfdbe87ccad58fda73a78b
diff --git a/metadata/md5-cache/app-emulation/lxd-3.17 b/metadata/md5-cache/app-emulation/lxd-3.17
index 52acb4f..89e0a5a 100644
--- a/metadata/md5-cache/app-emulation/lxd-3.17
+++ b/metadata/md5-cache/app-emulation/lxd-3.17
@@ -1,5 +1,5 @@
 DEFINED_PHASES=compile configure install postinst prepare setup test unpack
-DEPEND=dev-db/sqlite dev-go/cmp dev-go/crypto dev-go/errors dev-go/genproto dev-go/glog dev-go/go-sys dev-go/httprouter dev-go/net dev-go/protobuf dev-go/text dev-go/websocket dev-lang/tcl sys-libs/libcap:= >=dev-lang/go-1.9.4 dev-libs/libuv dev-libs/protobuf:= nls? ( sys-devel/gettext ) test? ( app-misc/jq net-misc/curl sys-devel/gettext ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 dev-lang/go virtual/pkgconfig sys-apps/baselayout
+DEPEND=dev-db/sqlite dev-go/cmp dev-go/crypto dev-go/errors dev-go/genproto dev-go/glog dev-go/go-sys dev-go/httprouter dev-go/net dev-go/protobuf dev-go/protobuf-legacy-api dev-go/text dev-go/websocket dev-lang/tcl sys-libs/libcap:= >=dev-lang/go-1.9.4 dev-libs/libuv dev-libs/protobuf:= nls? ( sys-devel/gettext ) test? ( app-misc/jq net-misc/curl sys-devel/gettext ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 dev-lang/go virtual/pkgconfig sys-apps/baselayout
 DESCRIPTION=Fast, dense and secure container management
 EAPI=6
 HOMEPAGE=https://linuxcontainers.org/lxd/introduction/
@@ -10,5 +10,5 @@
 RESTRICT=test
 SLOT=0
 SRC_URI=https://linuxcontainers.org/downloads/lxd/lxd-3.17.tar.gz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	bash-completion-r1	47a7402d95930413ce25ba8d857339bb	cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=a7e9af33bc3d3376319a304af0ea1aa9
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	bash-completion-r1	47a7402d95930413ce25ba8d857339bb	cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=8b68010966bc778f72ca4c0e90eeb461
diff --git a/metadata/md5-cache/app-emulation/lxd-3.17-r4 b/metadata/md5-cache/app-emulation/lxd-3.17-r4
deleted file mode 100644
index 52acb4f..0000000
--- a/metadata/md5-cache/app-emulation/lxd-3.17-r4
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst prepare setup test unpack
-DEPEND=dev-db/sqlite dev-go/cmp dev-go/crypto dev-go/errors dev-go/genproto dev-go/glog dev-go/go-sys dev-go/httprouter dev-go/net dev-go/protobuf dev-go/text dev-go/websocket dev-lang/tcl sys-libs/libcap:= >=dev-lang/go-1.9.4 dev-libs/libuv dev-libs/protobuf:= nls? ( sys-devel/gettext ) test? ( app-misc/jq net-misc/curl sys-devel/gettext ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 dev-lang/go virtual/pkgconfig sys-apps/baselayout
-DESCRIPTION=Fast, dense and secure container management
-EAPI=6
-HOMEPAGE=https://linuxcontainers.org/lxd/introduction/
-IUSE=+daemon +ipv6 +dnsmasq nls test tools kernel_linux
-KEYWORDS=-* amd64 arm arm64
-LICENSE=Apache-2.0 BSD BSD-2 LGPL-2.1 LGPL-3 MIT MPL-2.0
-RDEPEND=daemon? ( app-arch/xz-utils >=app-emulation/lxc-2.0.7:0[seccomp] dev-libs/libuv dev-libs/lzo dev-util/xdelta:3 dnsmasq? ( net-dns/dnsmasq[dhcp,ipv6?] ) net-firewall/ebtables net-firewall/iptables[ipv6?] net-libs/libnfnetlink net-libs/libnsl:0= net-misc/rsync[xattr] sys-apps/iproute2[ipv6?] sys-fs/fuse sys-fs/lxcfs:0 sys-fs/squashfs-tools virtual/acl ) sys-apps/baselayout
-RESTRICT=test
-SLOT=0
-SRC_URI=https://linuxcontainers.org/downloads/lxd/lxd-3.17.tar.gz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	bash-completion-r1	47a7402d95930413ce25ba8d857339bb	cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=a7e9af33bc3d3376319a304af0ea1aa9
diff --git a/metadata/md5-cache/app-emulation/lxd-3.17-r5 b/metadata/md5-cache/app-emulation/lxd-3.17-r5
new file mode 100644
index 0000000..89e0a5a
--- /dev/null
+++ b/metadata/md5-cache/app-emulation/lxd-3.17-r5
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst prepare setup test unpack
+DEPEND=dev-db/sqlite dev-go/cmp dev-go/crypto dev-go/errors dev-go/genproto dev-go/glog dev-go/go-sys dev-go/httprouter dev-go/net dev-go/protobuf dev-go/protobuf-legacy-api dev-go/text dev-go/websocket dev-lang/tcl sys-libs/libcap:= >=dev-lang/go-1.9.4 dev-libs/libuv dev-libs/protobuf:= nls? ( sys-devel/gettext ) test? ( app-misc/jq net-misc/curl sys-devel/gettext ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 dev-lang/go virtual/pkgconfig sys-apps/baselayout
+DESCRIPTION=Fast, dense and secure container management
+EAPI=6
+HOMEPAGE=https://linuxcontainers.org/lxd/introduction/
+IUSE=+daemon +ipv6 +dnsmasq nls test tools kernel_linux
+KEYWORDS=-* amd64 arm arm64
+LICENSE=Apache-2.0 BSD BSD-2 LGPL-2.1 LGPL-3 MIT MPL-2.0
+RDEPEND=daemon? ( app-arch/xz-utils >=app-emulation/lxc-2.0.7:0[seccomp] dev-libs/libuv dev-libs/lzo dev-util/xdelta:3 dnsmasq? ( net-dns/dnsmasq[dhcp,ipv6?] ) net-firewall/ebtables net-firewall/iptables[ipv6?] net-libs/libnfnetlink net-libs/libnsl:0= net-misc/rsync[xattr] sys-apps/iproute2[ipv6?] sys-fs/fuse sys-fs/lxcfs:0 sys-fs/squashfs-tools virtual/acl ) sys-apps/baselayout
+RESTRICT=test
+SLOT=0
+SRC_URI=https://linuxcontainers.org/downloads/lxd/lxd-3.17.tar.gz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	bash-completion-r1	47a7402d95930413ce25ba8d857339bb	cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=8b68010966bc778f72ca4c0e90eeb461
diff --git a/metadata/md5-cache/app-emulation/lxd-4.0.7 b/metadata/md5-cache/app-emulation/lxd-4.0.7
new file mode 100644
index 0000000..08eb69f
--- /dev/null
+++ b/metadata/md5-cache/app-emulation/lxd-4.0.7
@@ -0,0 +1,14 @@
+BDEPEND=dev-lang/go nls? ( sys-devel/gettext ) verify-sig? ( app-crypt/openpgp-keys-linuxcontainers ) >=app-portage/elt-patches-20170815 virtual/pkgconfig verify-sig? ( app-crypt/gnupg >=app-portage/gemato-16 )
+DEFINED_PHASES=compile configure install postinst prepare setup test unpack
+DEPEND=app-arch/xz-utils >=app-emulation/lxc-3.0.0:4[apparmor?,seccomp(+)] dev-db/sqlite dev-libs/libuv app-arch/lz4 dev-libs/lzo sys-libs/libcap:= net-dns/dnsmasq[dhcp,ipv6?] virtual/libudev !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 dev-lang/go sys-apps/baselayout
+DESCRIPTION=Fast, dense and secure container management
+EAPI=7
+HOMEPAGE=https://linuxcontainers.org/lxd/introduction/ https://github.com/lxc/lxd
+IUSE=apparmor ipv6 nls verify-sig kernel_linux verify-sig
+KEYWORDS=*
+LICENSE=Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0
+RDEPEND=app-arch/xz-utils >=app-emulation/lxc-3.0.0:4[apparmor?,seccomp(+)] dev-db/sqlite dev-libs/libuv app-arch/lz4 dev-libs/lzo sys-libs/libcap:= net-dns/dnsmasq[dhcp,ipv6?] virtual/libudev net-firewall/ebtables net-firewall/iptables[ipv6?] sys-apps/iproute2[ipv6?] sys-fs/fuse:0= sys-fs/lxcfs:4 sys-fs/squashfs-tools[lzma] virtual/acl sys-apps/baselayout
+SLOT=4
+SRC_URI=https://linuxcontainers.org/downloads/lxd/lxd-4.0.7.tar.gz verify-sig? ( https://linuxcontainers.org/downloads/lxd/lxd-4.0.7.tar.gz.asc )
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	bash-completion-r1	47a7402d95930413ce25ba8d857339bb	cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	multilib	2477ebe553d3e4d2c606191fe6c33602	optfeature	f4941a15f8b66955c45f7b0e7c4ae890	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	verify-sig	40b4f4f782cf67118f594ce604cc4c0a
+_md5_=b933b7d6348bafbe1ce46af22d811c48
diff --git a/metadata/md5-cache/app-emulation/lxd-4.0.7-r1 b/metadata/md5-cache/app-emulation/lxd-4.0.7-r1
new file mode 100644
index 0000000..08eb69f
--- /dev/null
+++ b/metadata/md5-cache/app-emulation/lxd-4.0.7-r1
@@ -0,0 +1,14 @@
+BDEPEND=dev-lang/go nls? ( sys-devel/gettext ) verify-sig? ( app-crypt/openpgp-keys-linuxcontainers ) >=app-portage/elt-patches-20170815 virtual/pkgconfig verify-sig? ( app-crypt/gnupg >=app-portage/gemato-16 )
+DEFINED_PHASES=compile configure install postinst prepare setup test unpack
+DEPEND=app-arch/xz-utils >=app-emulation/lxc-3.0.0:4[apparmor?,seccomp(+)] dev-db/sqlite dev-libs/libuv app-arch/lz4 dev-libs/lzo sys-libs/libcap:= net-dns/dnsmasq[dhcp,ipv6?] virtual/libudev !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 dev-lang/go sys-apps/baselayout
+DESCRIPTION=Fast, dense and secure container management
+EAPI=7
+HOMEPAGE=https://linuxcontainers.org/lxd/introduction/ https://github.com/lxc/lxd
+IUSE=apparmor ipv6 nls verify-sig kernel_linux verify-sig
+KEYWORDS=*
+LICENSE=Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0
+RDEPEND=app-arch/xz-utils >=app-emulation/lxc-3.0.0:4[apparmor?,seccomp(+)] dev-db/sqlite dev-libs/libuv app-arch/lz4 dev-libs/lzo sys-libs/libcap:= net-dns/dnsmasq[dhcp,ipv6?] virtual/libudev net-firewall/ebtables net-firewall/iptables[ipv6?] sys-apps/iproute2[ipv6?] sys-fs/fuse:0= sys-fs/lxcfs:4 sys-fs/squashfs-tools[lzma] virtual/acl sys-apps/baselayout
+SLOT=4
+SRC_URI=https://linuxcontainers.org/downloads/lxd/lxd-4.0.7.tar.gz verify-sig? ( https://linuxcontainers.org/downloads/lxd/lxd-4.0.7.tar.gz.asc )
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	bash-completion-r1	47a7402d95930413ce25ba8d857339bb	cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	multilib	2477ebe553d3e4d2c606191fe6c33602	optfeature	f4941a15f8b66955c45f7b0e7c4ae890	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	verify-sig	40b4f4f782cf67118f594ce604cc4c0a
+_md5_=b933b7d6348bafbe1ce46af22d811c48
diff --git a/metadata/md5-cache/app-emulation/lxd-4.0.9 b/metadata/md5-cache/app-emulation/lxd-4.0.9
index 839eb8d..5503190 100644
--- a/metadata/md5-cache/app-emulation/lxd-4.0.9
+++ b/metadata/md5-cache/app-emulation/lxd-4.0.9
@@ -5,10 +5,10 @@
 EAPI=7
 HOMEPAGE=https://linuxcontainers.org/lxd/introduction/ https://github.com/lxc/lxd
 IUSE=apparmor ipv6 nls verify-sig kernel_linux verify-sig
-KEYWORDS=*
+KEYWORDS=~*
 LICENSE=Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0
 RDEPEND=app-arch/xz-utils >=app-emulation/lxc-3.0.0:4[apparmor?,seccomp(+)] dev-db/sqlite dev-libs/libuv app-arch/lz4 dev-libs/lzo sys-libs/libcap:= net-dns/dnsmasq[dhcp,ipv6?] virtual/libudev net-firewall/ebtables net-firewall/iptables[ipv6?] sys-apps/iproute2[ipv6?] sys-fs/fuse:0= sys-fs/lxcfs:4 sys-fs/squashfs-tools[lzma] virtual/acl sys-apps/baselayout
 SLOT=4
 SRC_URI=https://linuxcontainers.org/downloads/lxd/lxd-4.0.9.tar.gz verify-sig? ( https://linuxcontainers.org/downloads/lxd/lxd-4.0.9.tar.gz.asc )
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	bash-completion-r1	47a7402d95930413ce25ba8d857339bb	cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	multilib	2477ebe553d3e4d2c606191fe6c33602	optfeature	f4941a15f8b66955c45f7b0e7c4ae890	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	verify-sig	40b4f4f782cf67118f594ce604cc4c0a
-_md5_=120ae3315c820a7687cfa09eabdbd787
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	bash-completion-r1	47a7402d95930413ce25ba8d857339bb	cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	multilib	2477ebe553d3e4d2c606191fe6c33602	optfeature	f4941a15f8b66955c45f7b0e7c4ae890	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	verify-sig	40b4f4f782cf67118f594ce604cc4c0a
+_md5_=9108e18a881e0099f8f5e18ffbb5e862
diff --git a/metadata/md5-cache/app-emulation/lxd-4.0.9-r1 b/metadata/md5-cache/app-emulation/lxd-4.0.9-r1
new file mode 100644
index 0000000..5503190
--- /dev/null
+++ b/metadata/md5-cache/app-emulation/lxd-4.0.9-r1
@@ -0,0 +1,14 @@
+BDEPEND=dev-lang/go nls? ( sys-devel/gettext ) verify-sig? ( app-crypt/openpgp-keys-linuxcontainers ) >=app-portage/elt-patches-20170815 virtual/pkgconfig verify-sig? ( app-crypt/gnupg >=app-portage/gemato-16 )
+DEFINED_PHASES=compile configure install postinst setup test unpack
+DEPEND=app-arch/xz-utils >=app-emulation/lxc-3.0.0:4[apparmor?,seccomp(+)] dev-db/sqlite dev-libs/libuv app-arch/lz4 dev-libs/lzo sys-libs/libcap:= net-dns/dnsmasq[dhcp,ipv6?] virtual/libudev !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 dev-lang/go sys-apps/baselayout
+DESCRIPTION=Fast, dense and secure container management
+EAPI=7
+HOMEPAGE=https://linuxcontainers.org/lxd/introduction/ https://github.com/lxc/lxd
+IUSE=apparmor ipv6 nls verify-sig kernel_linux verify-sig
+KEYWORDS=~*
+LICENSE=Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0
+RDEPEND=app-arch/xz-utils >=app-emulation/lxc-3.0.0:4[apparmor?,seccomp(+)] dev-db/sqlite dev-libs/libuv app-arch/lz4 dev-libs/lzo sys-libs/libcap:= net-dns/dnsmasq[dhcp,ipv6?] virtual/libudev net-firewall/ebtables net-firewall/iptables[ipv6?] sys-apps/iproute2[ipv6?] sys-fs/fuse:0= sys-fs/lxcfs:4 sys-fs/squashfs-tools[lzma] virtual/acl sys-apps/baselayout
+SLOT=4
+SRC_URI=https://linuxcontainers.org/downloads/lxd/lxd-4.0.9.tar.gz verify-sig? ( https://linuxcontainers.org/downloads/lxd/lxd-4.0.9.tar.gz.asc )
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	bash-completion-r1	47a7402d95930413ce25ba8d857339bb	cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	multilib	2477ebe553d3e4d2c606191fe6c33602	optfeature	f4941a15f8b66955c45f7b0e7c4ae890	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	verify-sig	40b4f4f782cf67118f594ce604cc4c0a
+_md5_=9108e18a881e0099f8f5e18ffbb5e862
diff --git a/metadata/md5-cache/app-emulation/qemu-9999 b/metadata/md5-cache/app-emulation/qemu-9999
index 4ddd716..459023d 100644
--- a/metadata/md5-cache/app-emulation/qemu-9999
+++ b/metadata/md5-cache/app-emulation/qemu-9999
@@ -1,17 +1,17 @@
-BDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) dev-lang/perl sys-apps/texinfo virtual/pkgconfig doc? ( dev-python/sphinx ) gtk? ( nls? ( sys-devel/gettext ) ) test? ( dev-libs/glib[utils] sys-devel/bc ) dev-vcs/git virtual/pkgconfig
+BDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) dev-lang/perl sys-apps/texinfo virtual/pkgconfig doc? ( dev-python/sphinx ) gtk? ( nls? ( sys-devel/gettext ) ) test? ( dev-libs/glib[utils] sys-devel/bc ) dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile configure info install postinst postrm prepare pretend setup test unpack
-DEPEND=!static? ( >=dev-libs/glib-2.0 sys-libs/zlib python? ( python_targets_python3_6? ( dev-lang/python:3.6[ncurses,readline] ) python_targets_python3_7? ( dev-lang/python:3.7[ncurses,readline] ) python_targets_python3_8? ( dev-lang/python:3.8[ncurses,readline] ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] ) systemtap? ( dev-util/systemtap ) xattr? ( sys-apps/attr ) dev-libs/libxml2 xkb? ( x11-libs/libxkbcommon ) >=x11-libs/pixman-0.28.0 accessibility? ( app-accessibility/brltty[api] app-accessibility/brltty ) aio? ( dev-libs/libaio ) alsa? ( >=media-libs/alsa-lib-1.0.13 ) bzip2? ( app-arch/bzip2 ) capstone? ( dev-libs/capstone:= ) caps? ( sys-libs/libcap-ng ) curl? ( >=net-misc/curl-7.15.4 ) fdt? ( >=sys-apps/dtc-1.5.0 ) glusterfs? ( >=sys-cluster/glusterfs-3.4.0 ) gnutls? ( dev-libs/nettle:= >=net-libs/gnutls-3.0:= ) gtk? ( x11-libs/gtk+:3 vte? ( x11-libs/vte:2.91 ) ) infiniband? ( sys-fabric/libibumad:= sys-fabric/libibverbs:= sys-fabric/librdmacm:= ) iscsi? ( net-libs/libiscsi ) io-uring? ( sys-libs/liburing ) jemalloc? ( dev-libs/jemalloc ) jpeg? ( virtual/jpeg:0= ) lzo? ( dev-libs/lzo:2 ) ncurses? ( sys-libs/ncurses:0=[unicode] sys-libs/ncurses:0= ) nfs? ( >=net-fs/libnfs-1.9.3:= ) numa? ( sys-process/numactl ) opengl? ( virtual/opengl media-libs/libepoxy media-libs/mesa media-libs/mesa[egl,gbm] ) png? ( media-libs/libpng:0= ) pulseaudio? ( media-sound/pulseaudio ) rbd? ( sys-cluster/ceph ) sasl? ( dev-libs/cyrus-sasl ) sdl? ( media-libs/libsdl2[video] media-libs/libsdl2 ) sdl-image? ( media-libs/sdl2-image ) seccomp? ( >=sys-libs/libseccomp-2.1.0 ) smartcard? ( >=app-emulation/libcacard-2.5.0 ) snappy? ( app-arch/snappy:= ) spice? ( >=app-emulation/spice-protocol-0.12.3 >=app-emulation/spice-0.12.0 ) ssh? ( >=net-libs/libssh-0.8.6 ) usb? ( >=virtual/libusb-1-r2 ) usbredir? ( >=sys-apps/usbredir-0.6 ) vde? ( net-misc/vde ) virgl? ( media-libs/virglrenderer ) virtfs? ( sys-libs/libcap ) xen? ( app-emulation/xen-tools:= ) xfs? ( sys-fs/xfsprogs ) zstd? ( >=app-arch/zstd-1.4.0 ) ) qemu_softmmu_targets_i386? ( pin-upstream-blobs? ( ~sys-firmware/ipxe-1.0.0_p20190728[binary] ~sys-firmware/seabios-1.11.0[binary,seavgabios] ~sys-firmware/sgabios-0.1_pre8[binary] ) !pin-upstream-blobs? ( sys-firmware/edk2-ovmf sys-firmware/ipxe >=sys-firmware/seabios-1.10.2[seavgabios] sys-firmware/sgabios ) ) qemu_softmmu_targets_x86_64? ( pin-upstream-blobs? ( ~sys-firmware/ipxe-1.0.0_p20190728[binary] ~sys-firmware/seabios-1.11.0[binary,seavgabios] ~sys-firmware/sgabios-0.1_pre8[binary] ) !pin-upstream-blobs? ( sys-firmware/edk2-ovmf sys-firmware/ipxe >=sys-firmware/seabios-1.10.2[seavgabios] sys-firmware/sgabios ) ) qemu_softmmu_targets_ppc64? ( pin-upstream-blobs? ( ~sys-firmware/seabios-1.12.0[binary,seavgabios] ) !pin-upstream-blobs? ( >=sys-firmware/seabios-1.10.2[seavgabios] ) ) kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) static? ( >=dev-libs/glib-2.0[static-libs(+)] sys-libs/zlib[static-libs(+)] python? ( python_targets_python3_6? ( dev-lang/python:3.6[ncurses,readline] ) python_targets_python3_7? ( dev-lang/python:3.7[ncurses,readline] ) python_targets_python3_8? ( dev-lang/python:3.8[ncurses,readline] ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] ) systemtap? ( dev-util/systemtap ) xattr? ( sys-apps/attr[static-libs(+)] ) dev-libs/libxml2[static-libs(+)] xkb? ( x11-libs/libxkbcommon[static-libs(+)] ) >=x11-libs/pixman-0.28.0[static-libs(+)] accessibility? ( app-accessibility/brltty[api] app-accessibility/brltty[static-libs(+)] ) aio? ( dev-libs/libaio[static-libs(+)] ) alsa? ( >=media-libs/alsa-lib-1.0.13 ) bzip2? ( app-arch/bzip2[static-libs(+)] ) capstone? ( dev-libs/capstone:= ) caps? ( sys-libs/libcap-ng[static-libs(+)] ) curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] ) glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) gnutls? ( dev-libs/nettle:=[static-libs(+)] >=net-libs/gnutls-3.0:=[static-libs(+)] ) gtk? ( x11-libs/gtk+:3 vte? ( x11-libs/vte:2.91 ) ) infiniband? ( sys-fabric/libibumad:=[static-libs(+)] sys-fabric/libibverbs:=[static-libs(+)] sys-fabric/librdmacm:=[static-libs(+)] ) iscsi? ( net-libs/libiscsi ) io-uring? ( sys-libs/liburing[static-libs(+)] ) jemalloc? ( dev-libs/jemalloc ) jpeg? ( virtual/jpeg:0=[static-libs(+)] ) lzo? ( dev-libs/lzo:2[static-libs(+)] ) ncurses? ( sys-libs/ncurses:0=[unicode] sys-libs/ncurses:0=[static-libs(+)] ) nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) numa? ( sys-process/numactl[static-libs(+)] ) opengl? ( virtual/opengl media-libs/libepoxy[static-libs(+)] media-libs/mesa[static-libs(+)] media-libs/mesa[egl,gbm] ) png? ( media-libs/libpng:0=[static-libs(+)] ) pulseaudio? ( media-sound/pulseaudio ) rbd? ( sys-cluster/ceph ) sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) sdl? ( media-libs/libsdl2[video] media-libs/libsdl2[static-libs(+)] ) sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) snappy? ( app-arch/snappy:= ) spice? ( >=app-emulation/spice-protocol-0.12.3 >=app-emulation/spice-0.12.0[static-libs(+)] ) ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) vde? ( net-misc/vde[static-libs(+)] ) virgl? ( media-libs/virglrenderer[static-libs(+)] ) virtfs? ( sys-libs/libcap ) xen? ( app-emulation/xen-tools:= ) xfs? ( sys-fs/xfsprogs[static-libs(+)] ) zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) ) static-user? ( >=dev-libs/glib-2.0[static-libs(+)] sys-libs/zlib[static-libs(+)] python? ( python_targets_python3_6? ( dev-lang/python:3.6[ncurses,readline] ) python_targets_python3_7? ( dev-lang/python:3.7[ncurses,readline] ) python_targets_python3_8? ( dev-lang/python:3.8[ncurses,readline] ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] ) systemtap? ( dev-util/systemtap ) xattr? ( sys-apps/attr[static-libs(+)] ) ) filecaps? ( sys-libs/libcap )
+DEPEND=!static? ( >=dev-libs/glib-2.0 sys-libs/zlib python? ( python_targets_python3_6? ( dev-lang/python:3.6[ncurses,readline] ) python_targets_python3_7? ( dev-lang/python:3.7[ncurses,readline] ) python_targets_python3_8? ( dev-lang/python:3.8[ncurses,readline] ) python_targets_python3_9? ( dev-lang/python:3.9[ncurses,readline] ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) systemtap? ( dev-util/systemtap ) xattr? ( sys-apps/attr ) dev-libs/libxml2 xkb? ( x11-libs/libxkbcommon ) >=x11-libs/pixman-0.28.0 accessibility? ( app-accessibility/brltty[api] app-accessibility/brltty ) aio? ( dev-libs/libaio ) alsa? ( >=media-libs/alsa-lib-1.0.13 ) bzip2? ( app-arch/bzip2 ) capstone? ( dev-libs/capstone:= ) caps? ( sys-libs/libcap-ng ) curl? ( >=net-misc/curl-7.15.4 ) fdt? ( >=sys-apps/dtc-1.5.0 ) glusterfs? ( >=sys-cluster/glusterfs-3.4.0 ) gnutls? ( dev-libs/nettle:= >=net-libs/gnutls-3.0:= ) gtk? ( x11-libs/gtk+:3 vte? ( x11-libs/vte:2.91 ) ) infiniband? ( sys-fabric/libibumad:= sys-fabric/libibverbs:= sys-fabric/librdmacm:= ) iscsi? ( net-libs/libiscsi ) io-uring? ( sys-libs/liburing ) jemalloc? ( dev-libs/jemalloc ) jpeg? ( virtual/jpeg:0= ) lzo? ( dev-libs/lzo:2 ) ncurses? ( sys-libs/ncurses:0=[unicode] sys-libs/ncurses:0= ) nfs? ( >=net-fs/libnfs-1.9.3:= ) numa? ( sys-process/numactl ) opengl? ( virtual/opengl media-libs/libepoxy media-libs/mesa media-libs/mesa[egl,gbm] ) png? ( media-libs/libpng:0= ) pulseaudio? ( media-sound/pulseaudio ) rbd? ( sys-cluster/ceph ) sasl? ( dev-libs/cyrus-sasl ) sdl? ( media-libs/libsdl2[video] media-libs/libsdl2 ) sdl-image? ( media-libs/sdl2-image ) seccomp? ( >=sys-libs/libseccomp-2.1.0 ) smartcard? ( >=app-emulation/libcacard-2.5.0 ) snappy? ( app-arch/snappy:= ) spice? ( >=app-emulation/spice-protocol-0.12.3 >=app-emulation/spice-0.12.0 ) ssh? ( >=net-libs/libssh-0.8.6 ) usb? ( >=virtual/libusb-1-r2 ) usbredir? ( >=sys-apps/usbredir-0.6 ) vde? ( net-misc/vde ) virgl? ( media-libs/virglrenderer ) virtfs? ( sys-libs/libcap ) xen? ( app-emulation/xen-tools:= ) xfs? ( sys-fs/xfsprogs ) zstd? ( >=app-arch/zstd-1.4.0 ) ) qemu_softmmu_targets_i386? ( pin-upstream-blobs? ( ~sys-firmware/ipxe-1.0.0_p20190728[binary] ~sys-firmware/seabios-1.11.0[binary,seavgabios] ~sys-firmware/sgabios-0.1_pre8[binary] ) !pin-upstream-blobs? ( sys-firmware/edk2-ovmf sys-firmware/ipxe >=sys-firmware/seabios-1.10.2[seavgabios] sys-firmware/sgabios ) ) qemu_softmmu_targets_x86_64? ( pin-upstream-blobs? ( ~sys-firmware/ipxe-1.0.0_p20190728[binary] ~sys-firmware/seabios-1.11.0[binary,seavgabios] ~sys-firmware/sgabios-0.1_pre8[binary] ) !pin-upstream-blobs? ( sys-firmware/edk2-ovmf sys-firmware/ipxe >=sys-firmware/seabios-1.10.2[seavgabios] sys-firmware/sgabios ) ) qemu_softmmu_targets_ppc64? ( pin-upstream-blobs? ( ~sys-firmware/seabios-1.12.0[binary,seavgabios] ) !pin-upstream-blobs? ( >=sys-firmware/seabios-1.10.2[seavgabios] ) ) kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) static? ( >=dev-libs/glib-2.0[static-libs(+)] sys-libs/zlib[static-libs(+)] python? ( python_targets_python3_6? ( dev-lang/python:3.6[ncurses,readline] ) python_targets_python3_7? ( dev-lang/python:3.7[ncurses,readline] ) python_targets_python3_8? ( dev-lang/python:3.8[ncurses,readline] ) python_targets_python3_9? ( dev-lang/python:3.9[ncurses,readline] ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) systemtap? ( dev-util/systemtap ) xattr? ( sys-apps/attr[static-libs(+)] ) dev-libs/libxml2[static-libs(+)] xkb? ( x11-libs/libxkbcommon[static-libs(+)] ) >=x11-libs/pixman-0.28.0[static-libs(+)] accessibility? ( app-accessibility/brltty[api] app-accessibility/brltty[static-libs(+)] ) aio? ( dev-libs/libaio[static-libs(+)] ) alsa? ( >=media-libs/alsa-lib-1.0.13 ) bzip2? ( app-arch/bzip2[static-libs(+)] ) capstone? ( dev-libs/capstone:= ) caps? ( sys-libs/libcap-ng[static-libs(+)] ) curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] ) glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) gnutls? ( dev-libs/nettle:=[static-libs(+)] >=net-libs/gnutls-3.0:=[static-libs(+)] ) gtk? ( x11-libs/gtk+:3 vte? ( x11-libs/vte:2.91 ) ) infiniband? ( sys-fabric/libibumad:=[static-libs(+)] sys-fabric/libibverbs:=[static-libs(+)] sys-fabric/librdmacm:=[static-libs(+)] ) iscsi? ( net-libs/libiscsi ) io-uring? ( sys-libs/liburing[static-libs(+)] ) jemalloc? ( dev-libs/jemalloc ) jpeg? ( virtual/jpeg:0=[static-libs(+)] ) lzo? ( dev-libs/lzo:2[static-libs(+)] ) ncurses? ( sys-libs/ncurses:0=[unicode] sys-libs/ncurses:0=[static-libs(+)] ) nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) numa? ( sys-process/numactl[static-libs(+)] ) opengl? ( virtual/opengl media-libs/libepoxy[static-libs(+)] media-libs/mesa[static-libs(+)] media-libs/mesa[egl,gbm] ) png? ( media-libs/libpng:0=[static-libs(+)] ) pulseaudio? ( media-sound/pulseaudio ) rbd? ( sys-cluster/ceph ) sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) sdl? ( media-libs/libsdl2[video] media-libs/libsdl2[static-libs(+)] ) sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) snappy? ( app-arch/snappy:= ) spice? ( >=app-emulation/spice-protocol-0.12.3 >=app-emulation/spice-0.12.0[static-libs(+)] ) ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) vde? ( net-misc/vde[static-libs(+)] ) virgl? ( media-libs/virglrenderer[static-libs(+)] ) virtfs? ( sys-libs/libcap ) xen? ( app-emulation/xen-tools:= ) xfs? ( sys-fs/xfsprogs[static-libs(+)] ) zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) ) static-user? ( >=dev-libs/glib-2.0[static-libs(+)] sys-libs/zlib[static-libs(+)] python? ( python_targets_python3_6? ( dev-lang/python:3.6[ncurses,readline] ) python_targets_python3_7? ( dev-lang/python:3.7[ncurses,readline] ) python_targets_python3_8? ( dev-lang/python:3.8[ncurses,readline] ) python_targets_python3_9? ( dev-lang/python:3.9[ncurses,readline] ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) systemtap? ( dev-util/systemtap ) xattr? ( sys-apps/attr[static-libs(+)] ) ) filecaps? ( sys-libs/libcap )
 DESCRIPTION=QEMU + Kernel-based Virtual Machine userland tools
 EAPI=7
 HOMEPAGE=http://www.qemu.org http://www.linux-kvm.org
-IUSE=accessibility +aio alsa bzip2 capstone +caps +curl debug doc +fdt glusterfs gnutls gtk infiniband iscsi io-uring jemalloc +jpeg kernel_linux kernel_FreeBSD lzo ncurses nfs nls numa opengl +oss +pin-upstream-blobs plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux smartcard snappy spice ssh static static-user systemtap tci test usb usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen xfs +xkb zstd qemu_softmmu_targets_aarch64 qemu_softmmu_targets_alpha qemu_softmmu_targets_arm qemu_softmmu_targets_cris qemu_softmmu_targets_hppa qemu_softmmu_targets_i386 qemu_softmmu_targets_m68k qemu_softmmu_targets_microblaze qemu_softmmu_targets_microblazeel qemu_softmmu_targets_mips qemu_softmmu_targets_mips64 qemu_softmmu_targets_mips64el qemu_softmmu_targets_mipsel qemu_softmmu_targets_nios2 qemu_softmmu_targets_or1k qemu_softmmu_targets_ppc qemu_softmmu_targets_ppc64 qemu_softmmu_targets_riscv32 qemu_softmmu_targets_riscv64 qemu_softmmu_targets_s390x qemu_softmmu_targets_sh4 qemu_softmmu_targets_sh4eb qemu_softmmu_targets_sparc qemu_softmmu_targets_sparc64 qemu_softmmu_targets_x86_64 qemu_softmmu_targets_xtensa qemu_softmmu_targets_xtensaeb qemu_softmmu_targets_lm32 qemu_softmmu_targets_moxie qemu_softmmu_targets_rx qemu_softmmu_targets_tricore qemu_softmmu_targets_unicore32 qemu_user_targets_aarch64 qemu_user_targets_alpha qemu_user_targets_arm qemu_user_targets_cris qemu_user_targets_hppa qemu_user_targets_i386 qemu_user_targets_m68k qemu_user_targets_microblaze qemu_user_targets_microblazeel qemu_user_targets_mips qemu_user_targets_mips64 qemu_user_targets_mips64el qemu_user_targets_mipsel qemu_user_targets_nios2 qemu_user_targets_or1k qemu_user_targets_ppc qemu_user_targets_ppc64 qemu_user_targets_riscv32 qemu_user_targets_riscv64 qemu_user_targets_s390x qemu_user_targets_sh4 qemu_user_targets_sh4eb qemu_user_targets_sparc qemu_user_targets_sparc64 qemu_user_targets_x86_64 qemu_user_targets_xtensa qemu_user_targets_xtensaeb qemu_user_targets_aarch64_be qemu_user_targets_armeb qemu_user_targets_mipsn32 qemu_user_targets_mipsn32el qemu_user_targets_ppc64abi32 qemu_user_targets_ppc64le qemu_user_targets_sparc32plus qemu_user_targets_tilegx cros_host cros_workon_tree_ kernel_linux python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 +filecaps
+IUSE=accessibility +aio alsa bzip2 capstone +caps +curl debug doc +fdt glusterfs gnutls gtk infiniband iscsi io-uring jemalloc +jpeg kernel_linux kernel_FreeBSD lzo ncurses nfs nls numa opengl +oss +pin-upstream-blobs plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux smartcard snappy spice ssh static static-user systemtap tci test usb usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen xfs +xkb zstd qemu_softmmu_targets_aarch64 qemu_softmmu_targets_alpha qemu_softmmu_targets_arm qemu_softmmu_targets_cris qemu_softmmu_targets_hppa qemu_softmmu_targets_i386 qemu_softmmu_targets_m68k qemu_softmmu_targets_microblaze qemu_softmmu_targets_microblazeel qemu_softmmu_targets_mips qemu_softmmu_targets_mips64 qemu_softmmu_targets_mips64el qemu_softmmu_targets_mipsel qemu_softmmu_targets_nios2 qemu_softmmu_targets_or1k qemu_softmmu_targets_ppc qemu_softmmu_targets_ppc64 qemu_softmmu_targets_riscv32 qemu_softmmu_targets_riscv64 qemu_softmmu_targets_s390x qemu_softmmu_targets_sh4 qemu_softmmu_targets_sh4eb qemu_softmmu_targets_sparc qemu_softmmu_targets_sparc64 qemu_softmmu_targets_x86_64 qemu_softmmu_targets_xtensa qemu_softmmu_targets_xtensaeb qemu_softmmu_targets_lm32 qemu_softmmu_targets_moxie qemu_softmmu_targets_rx qemu_softmmu_targets_tricore qemu_softmmu_targets_unicore32 qemu_user_targets_aarch64 qemu_user_targets_alpha qemu_user_targets_arm qemu_user_targets_cris qemu_user_targets_hppa qemu_user_targets_i386 qemu_user_targets_m68k qemu_user_targets_microblaze qemu_user_targets_microblazeel qemu_user_targets_mips qemu_user_targets_mips64 qemu_user_targets_mips64el qemu_user_targets_mipsel qemu_user_targets_nios2 qemu_user_targets_or1k qemu_user_targets_ppc qemu_user_targets_ppc64 qemu_user_targets_riscv32 qemu_user_targets_riscv64 qemu_user_targets_s390x qemu_user_targets_sh4 qemu_user_targets_sh4eb qemu_user_targets_sparc qemu_user_targets_sparc64 qemu_user_targets_x86_64 qemu_user_targets_xtensa qemu_user_targets_xtensaeb qemu_user_targets_aarch64_be qemu_user_targets_armeb qemu_user_targets_mipsn32 qemu_user_targets_mipsn32el qemu_user_targets_ppc64abi32 qemu_user_targets_ppc64le qemu_user_targets_sparc32plus qemu_user_targets_tilegx cros_host cros_workon_tree_ kernel_linux python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 +filecaps
 KEYWORDS=~*
 LICENSE=GPL-2 LGPL-2 BSD-2
 PROPERTIES=live
-RDEPEND=!static? ( >=dev-libs/glib-2.0 sys-libs/zlib python? ( python_targets_python3_6? ( dev-lang/python:3.6[ncurses,readline] ) python_targets_python3_7? ( dev-lang/python:3.7[ncurses,readline] ) python_targets_python3_8? ( dev-lang/python:3.8[ncurses,readline] ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] ) systemtap? ( dev-util/systemtap ) xattr? ( sys-apps/attr ) dev-libs/libxml2 xkb? ( x11-libs/libxkbcommon ) >=x11-libs/pixman-0.28.0 accessibility? ( app-accessibility/brltty[api] app-accessibility/brltty ) aio? ( dev-libs/libaio ) alsa? ( >=media-libs/alsa-lib-1.0.13 ) bzip2? ( app-arch/bzip2 ) capstone? ( dev-libs/capstone:= ) caps? ( sys-libs/libcap-ng ) curl? ( >=net-misc/curl-7.15.4 ) fdt? ( >=sys-apps/dtc-1.5.0 ) glusterfs? ( >=sys-cluster/glusterfs-3.4.0 ) gnutls? ( dev-libs/nettle:= >=net-libs/gnutls-3.0:= ) gtk? ( x11-libs/gtk+:3 vte? ( x11-libs/vte:2.91 ) ) infiniband? ( sys-fabric/libibumad:= sys-fabric/libibverbs:= sys-fabric/librdmacm:= ) iscsi? ( net-libs/libiscsi ) io-uring? ( sys-libs/liburing ) jemalloc? ( dev-libs/jemalloc ) jpeg? ( virtual/jpeg:0= ) lzo? ( dev-libs/lzo:2 ) ncurses? ( sys-libs/ncurses:0=[unicode] sys-libs/ncurses:0= ) nfs? ( >=net-fs/libnfs-1.9.3:= ) numa? ( sys-process/numactl ) opengl? ( virtual/opengl media-libs/libepoxy media-libs/mesa media-libs/mesa[egl,gbm] ) png? ( media-libs/libpng:0= ) pulseaudio? ( media-sound/pulseaudio ) rbd? ( sys-cluster/ceph ) sasl? ( dev-libs/cyrus-sasl ) sdl? ( media-libs/libsdl2[video] media-libs/libsdl2 ) sdl-image? ( media-libs/sdl2-image ) seccomp? ( >=sys-libs/libseccomp-2.1.0 ) smartcard? ( >=app-emulation/libcacard-2.5.0 ) snappy? ( app-arch/snappy:= ) spice? ( >=app-emulation/spice-protocol-0.12.3 >=app-emulation/spice-0.12.0 ) ssh? ( >=net-libs/libssh-0.8.6 ) usb? ( >=virtual/libusb-1-r2 ) usbredir? ( >=sys-apps/usbredir-0.6 ) vde? ( net-misc/vde ) virgl? ( media-libs/virglrenderer ) virtfs? ( sys-libs/libcap ) xen? ( app-emulation/xen-tools:= ) xfs? ( sys-fs/xfsprogs ) zstd? ( >=app-arch/zstd-1.4.0 ) ) qemu_softmmu_targets_i386? ( pin-upstream-blobs? ( ~sys-firmware/ipxe-1.0.0_p20190728[binary] ~sys-firmware/seabios-1.11.0[binary,seavgabios] ~sys-firmware/sgabios-0.1_pre8[binary] ) !pin-upstream-blobs? ( sys-firmware/edk2-ovmf sys-firmware/ipxe >=sys-firmware/seabios-1.10.2[seavgabios] sys-firmware/sgabios ) ) qemu_softmmu_targets_x86_64? ( pin-upstream-blobs? ( ~sys-firmware/ipxe-1.0.0_p20190728[binary] ~sys-firmware/seabios-1.11.0[binary,seavgabios] ~sys-firmware/sgabios-0.1_pre8[binary] ) !pin-upstream-blobs? ( sys-firmware/edk2-ovmf sys-firmware/ipxe >=sys-firmware/seabios-1.10.2[seavgabios] sys-firmware/sgabios ) ) qemu_softmmu_targets_ppc64? ( pin-upstream-blobs? ( ~sys-firmware/seabios-1.12.0[binary,seavgabios] ) !pin-upstream-blobs? ( >=sys-firmware/seabios-1.10.2[seavgabios] ) ) acct-group/kvm selinux? ( sec-policy/selinux-qemu )
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 ) qemu_softmmu_targets_arm? ( fdt ) qemu_softmmu_targets_microblaze? ( fdt ) qemu_softmmu_targets_mips64el? ( fdt ) qemu_softmmu_targets_ppc64? ( fdt ) qemu_softmmu_targets_ppc? ( fdt ) qemu_softmmu_targets_riscv32? ( fdt ) qemu_softmmu_targets_riscv64? ( fdt ) static? ( static-user !alsa !gtk !opengl !pulseaudio !plugins !rbd !snappy ) static-user? ( !plugins ) virtfs? ( xattr ) vte? ( gtk ) plugins? ( !static !static-user )
+RDEPEND=!static? ( >=dev-libs/glib-2.0 sys-libs/zlib python? ( python_targets_python3_6? ( dev-lang/python:3.6[ncurses,readline] ) python_targets_python3_7? ( dev-lang/python:3.7[ncurses,readline] ) python_targets_python3_8? ( dev-lang/python:3.8[ncurses,readline] ) python_targets_python3_9? ( dev-lang/python:3.9[ncurses,readline] ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) systemtap? ( dev-util/systemtap ) xattr? ( sys-apps/attr ) dev-libs/libxml2 xkb? ( x11-libs/libxkbcommon ) >=x11-libs/pixman-0.28.0 accessibility? ( app-accessibility/brltty[api] app-accessibility/brltty ) aio? ( dev-libs/libaio ) alsa? ( >=media-libs/alsa-lib-1.0.13 ) bzip2? ( app-arch/bzip2 ) capstone? ( dev-libs/capstone:= ) caps? ( sys-libs/libcap-ng ) curl? ( >=net-misc/curl-7.15.4 ) fdt? ( >=sys-apps/dtc-1.5.0 ) glusterfs? ( >=sys-cluster/glusterfs-3.4.0 ) gnutls? ( dev-libs/nettle:= >=net-libs/gnutls-3.0:= ) gtk? ( x11-libs/gtk+:3 vte? ( x11-libs/vte:2.91 ) ) infiniband? ( sys-fabric/libibumad:= sys-fabric/libibverbs:= sys-fabric/librdmacm:= ) iscsi? ( net-libs/libiscsi ) io-uring? ( sys-libs/liburing ) jemalloc? ( dev-libs/jemalloc ) jpeg? ( virtual/jpeg:0= ) lzo? ( dev-libs/lzo:2 ) ncurses? ( sys-libs/ncurses:0=[unicode] sys-libs/ncurses:0= ) nfs? ( >=net-fs/libnfs-1.9.3:= ) numa? ( sys-process/numactl ) opengl? ( virtual/opengl media-libs/libepoxy media-libs/mesa media-libs/mesa[egl,gbm] ) png? ( media-libs/libpng:0= ) pulseaudio? ( media-sound/pulseaudio ) rbd? ( sys-cluster/ceph ) sasl? ( dev-libs/cyrus-sasl ) sdl? ( media-libs/libsdl2[video] media-libs/libsdl2 ) sdl-image? ( media-libs/sdl2-image ) seccomp? ( >=sys-libs/libseccomp-2.1.0 ) smartcard? ( >=app-emulation/libcacard-2.5.0 ) snappy? ( app-arch/snappy:= ) spice? ( >=app-emulation/spice-protocol-0.12.3 >=app-emulation/spice-0.12.0 ) ssh? ( >=net-libs/libssh-0.8.6 ) usb? ( >=virtual/libusb-1-r2 ) usbredir? ( >=sys-apps/usbredir-0.6 ) vde? ( net-misc/vde ) virgl? ( media-libs/virglrenderer ) virtfs? ( sys-libs/libcap ) xen? ( app-emulation/xen-tools:= ) xfs? ( sys-fs/xfsprogs ) zstd? ( >=app-arch/zstd-1.4.0 ) ) qemu_softmmu_targets_i386? ( pin-upstream-blobs? ( ~sys-firmware/ipxe-1.0.0_p20190728[binary] ~sys-firmware/seabios-1.11.0[binary,seavgabios] ~sys-firmware/sgabios-0.1_pre8[binary] ) !pin-upstream-blobs? ( sys-firmware/edk2-ovmf sys-firmware/ipxe >=sys-firmware/seabios-1.10.2[seavgabios] sys-firmware/sgabios ) ) qemu_softmmu_targets_x86_64? ( pin-upstream-blobs? ( ~sys-firmware/ipxe-1.0.0_p20190728[binary] ~sys-firmware/seabios-1.11.0[binary,seavgabios] ~sys-firmware/sgabios-0.1_pre8[binary] ) !pin-upstream-blobs? ( sys-firmware/edk2-ovmf sys-firmware/ipxe >=sys-firmware/seabios-1.10.2[seavgabios] sys-firmware/sgabios ) ) qemu_softmmu_targets_ppc64? ( pin-upstream-blobs? ( ~sys-firmware/seabios-1.12.0[binary,seavgabios] ) !pin-upstream-blobs? ( >=sys-firmware/seabios-1.10.2[seavgabios] ) ) acct-group/kvm selinux? ( sec-policy/selinux-qemu )
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 ) qemu_softmmu_targets_arm? ( fdt ) qemu_softmmu_targets_microblaze? ( fdt ) qemu_softmmu_targets_mips64el? ( fdt ) qemu_softmmu_targets_ppc64? ( fdt ) qemu_softmmu_targets_ppc? ( fdt ) qemu_softmmu_targets_riscv32? ( fdt ) qemu_softmmu_targets_riscv64? ( fdt ) static? ( static-user !alsa !gtk !opengl !pulseaudio !plugins !rbd !snappy ) static-user? ( !plugins ) virtfs? ( xattr ) vte? ( gtk ) plugins? ( !static !static-user )
 RESTRICT=!test? ( test )
 SLOT=0
 SRC_URI=https://gitlab.freedesktop.org/slirp/libslirp/repository/archive.tar.gz?ref=2faae0f778f818fadc873308f983289df697eb93 -> qemu-20200729-slirp.tar.gz https://github.com/cota/berkeley-testfloat-3/archive/5a59dcec19327396a011a17fd924aed4fec416b3.tar.gz -> qemu-20200729-berkeley-testfloat-3.tar.gz https://github.com/qemu/keycodemapdb/archive/6b3d716e2b6472eb7189d3220552280ef3d832ce.tar.gz -> qemu-20200718-keycodemapdb.tar.gz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	fcaps	eeefea88d5fef2853d4c1e3770340302	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	l10n	97f2753e3f1f3753d53d856c7c0bbb0b	linux-info	327865b9921771330775d971263dc234	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	pax-utils	3551398d6ede2b572568832730cc2a45	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	readme.gentoo-r1	22ae82e140bdd95d17a34fd5fd733190	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=a410705dce9c6be3a4b9c8858e470dbb
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	fcaps	eeefea88d5fef2853d4c1e3770340302	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	l10n	97f2753e3f1f3753d53d856c7c0bbb0b	linux-info	327865b9921771330775d971263dc234	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	pax-utils	3551398d6ede2b572568832730cc2a45	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	readme.gentoo-r1	22ae82e140bdd95d17a34fd5fd733190	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=3088adbf1975a489d728910a4122daa8
diff --git a/metadata/md5-cache/app-emulation/qemu-binfmt-wrapper-1 b/metadata/md5-cache/app-emulation/qemu-binfmt-wrapper-1
index 6f520d2..e9ce2e5 100644
--- a/metadata/md5-cache/app-emulation/qemu-binfmt-wrapper-1
+++ b/metadata/md5-cache/app-emulation/qemu-binfmt-wrapper-1
@@ -1,9 +1,9 @@
 DEFINED_PHASES=compile install
 DESCRIPTION=QEMU wrappers to preserve argv[0] when testing
-EAPI=4
-HOMEPAGE=http://www.chromium.org/
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/docs/+/HEAD/testing/qemu_unit_tests_design.md
 KEYWORDS=*
 LICENSE=BSD-Google
 SLOT=0
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=3229a7096446f53e23da8ced093287d6
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7f3aca1371987b7d14decbfb95f1cc56
diff --git a/metadata/md5-cache/app-emulation/qemu-binfmt-wrapper-1-r1 b/metadata/md5-cache/app-emulation/qemu-binfmt-wrapper-1-r1
new file mode 100644
index 0000000..e9ce2e5
--- /dev/null
+++ b/metadata/md5-cache/app-emulation/qemu-binfmt-wrapper-1-r1
@@ -0,0 +1,9 @@
+DEFINED_PHASES=compile install
+DESCRIPTION=QEMU wrappers to preserve argv[0] when testing
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/docs/+/HEAD/testing/qemu_unit_tests_design.md
+KEYWORDS=*
+LICENSE=BSD-Google
+SLOT=0
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7f3aca1371987b7d14decbfb95f1cc56
diff --git a/metadata/md5-cache/app-emulation/renode-1.13.0 b/metadata/md5-cache/app-emulation/renode-1.13.0
new file mode 100644
index 0000000..aef164c
--- /dev/null
+++ b/metadata/md5-cache/app-emulation/renode-1.13.0
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install test
+DEPEND=>=dev-lang/mono-5.20 python_targets_python3_6? ( =dev-python/robotframework-4.0.1[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/netifaces[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/requests[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/psutil[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/pyyaml[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] ) python_targets_python3_7? ( =dev-python/robotframework-4.0.1[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/netifaces[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/requests[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/psutil[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/pyyaml[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] ) python_targets_python3_8? ( =dev-python/robotframework-4.0.1[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/netifaces[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/requests[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/psutil[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/pyyaml[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] ) python_targets_python3_9? ( =dev-python/robotframework-4.0.1[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/netifaces[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/requests[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/psutil[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/pyyaml[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] )
+DESCRIPTION=Renode is an open source software development framework with commercial support from Antmicro that lets you develop, debug and test multi-node device systems reliably, scalably and effectively.
+EAPI=7
+HOMEPAGE=https://renode.io
+IUSE=python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=>=dev-lang/mono-5.20 python_targets_python3_6? ( =dev-python/robotframework-4.0.1[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/netifaces[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/requests[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/psutil[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/pyyaml[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] ) python_targets_python3_7? ( =dev-python/robotframework-4.0.1[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/netifaces[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/requests[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/psutil[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/pyyaml[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] ) python_targets_python3_8? ( =dev-python/robotframework-4.0.1[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/netifaces[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/requests[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/psutil[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/pyyaml[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] ) python_targets_python3_9? ( =dev-python/robotframework-4.0.1[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/netifaces[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/requests[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/psutil[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] dev-python/pyyaml[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-),python_targets_python3_9(-)?,-python_single_target_python3_9(-)] )
+SLOT=0
+SRC_URI=https://dl.antmicro.com/projects/renode/builds/renode-1.13.0-sources.tar.gz -> renode-1.13.0.tar.gz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=60035854522c0f1a20d27d581d48a440
diff --git a/metadata/md5-cache/app-misc/evtest-1.34 b/metadata/md5-cache/app-misc/evtest-1.34
deleted file mode 100644
index 27d312e..0000000
--- a/metadata/md5-cache/app-misc/evtest-1.34
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=virtual/pkgconfig >=app-portage/elt-patches-20170815
-DEFINED_PHASES=prepare
-DEPEND=!<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=A test program for capturing input device events.
-EAPI=7
-HOMEPAGE=https://gitlab.freedesktop.org/libevdev/evtest/
-IUSE=+xml
-KEYWORDS=*
-LICENSE=GPL-2
-SLOT=0
-SRC_URI=https://gitlab.freedesktop.org/libevdev/evtest/-/archive/evtest-1.34/evtest-evtest-1.34.tar.gz -> evtest-1.34.tar.gz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a588ab751231ee0e50c6c658a7f60379
diff --git a/metadata/md5-cache/app-misc/evtest-1.35 b/metadata/md5-cache/app-misc/evtest-1.35
new file mode 100644
index 0000000..e81b98d
--- /dev/null
+++ b/metadata/md5-cache/app-misc/evtest-1.35
@@ -0,0 +1,13 @@
+BDEPEND=virtual/pkgconfig >=app-portage/elt-patches-20170815
+DEFINED_PHASES=prepare
+DEPEND=!<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=A test program for capturing input device events.
+EAPI=7
+HOMEPAGE=https://gitlab.freedesktop.org/libevdev/evtest/
+IUSE=+xml
+KEYWORDS=*
+LICENSE=GPL-2
+SLOT=0
+SRC_URI=https://gitlab.freedesktop.org/libevdev/evtest/-/archive/evtest-1.35/evtest-evtest-1.35.tar.gz -> evtest-1.35.tar.gz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3319b1bc4fd9c102c34833aef07c5719
diff --git a/metadata/md5-cache/app-misc/utouch-evemu-1.0.5-r10 b/metadata/md5-cache/app-misc/utouch-evemu-1.0.5-r11
similarity index 100%
rename from metadata/md5-cache/app-misc/utouch-evemu-1.0.5-r10
rename to metadata/md5-cache/app-misc/utouch-evemu-1.0.5-r11
diff --git a/metadata/md5-cache/app-portage/repoman-2.3.17-r2 b/metadata/md5-cache/app-portage/repoman-2.3.17-r2
new file mode 100644
index 0000000..162ff66
--- /dev/null
+++ b/metadata/md5-cache/app-portage/repoman-2.3.17-r2
@@ -0,0 +1,15 @@
+BDEPEND=python_targets_python3_6? ( dev-lang/python:3.6[bzip2(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[bzip2(+)] ) python_targets_python3_8? ( dev-lang/python:3.8[bzip2(+)] ) python_targets_python3_9? ( dev-lang/python:3.9[bzip2(+)] ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst prepare setup test unpack
+DEPEND=>=sys-apps/portage-2.3.0_rc[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-python/lxml-3.6.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pyyaml[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DESCRIPTION=Repoman is a Quality Assurance tool for Gentoo ebuilds
+EAPI=7
+HOMEPAGE=https://wiki.gentoo.org/wiki/Project:Portage
+IUSE=python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 cros_host cros_workon_tree_880a638644bd7aa078e04a979f84faa770836889
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=>=sys-apps/portage-2.3.0_rc[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-python/lxml-3.6.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pyyaml[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] python_targets_python3_6? ( dev-lang/python:3.6[bzip2(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[bzip2(+)] ) python_targets_python3_8? ( dev-lang/python:3.8[bzip2(+)] ) python_targets_python3_9? ( dev-lang/python:3.9[bzip2(+)] ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a21e57284eeb9e05c7cc4da14999883e
diff --git a/metadata/md5-cache/app-portage/repoman-9999 b/metadata/md5-cache/app-portage/repoman-9999
new file mode 100644
index 0000000..6a0c85a
--- /dev/null
+++ b/metadata/md5-cache/app-portage/repoman-9999
@@ -0,0 +1,15 @@
+BDEPEND=python_targets_python3_6? ( dev-lang/python:3.6[bzip2(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[bzip2(+)] ) python_targets_python3_8? ( dev-lang/python:3.8[bzip2(+)] ) python_targets_python3_9? ( dev-lang/python:3.9[bzip2(+)] ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst prepare setup test unpack
+DEPEND=>=sys-apps/portage-2.3.0_rc[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-python/lxml-3.6.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pyyaml[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DESCRIPTION=Repoman is a Quality Assurance tool for Gentoo ebuilds
+EAPI=7
+HOMEPAGE=https://wiki.gentoo.org/wiki/Project:Portage
+IUSE=python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 cros_host cros_workon_tree_
+KEYWORDS=~*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=>=sys-apps/portage-2.3.0_rc[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-python/lxml-3.6.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pyyaml[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] python_targets_python3_6? ( dev-lang/python:3.6[bzip2(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[bzip2(+)] ) python_targets_python3_8? ( dev-lang/python:3.8[bzip2(+)] ) python_targets_python3_9? ( dev-lang/python:3.9[bzip2(+)] ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=846dd4b7a1f3a02bdb4168e351bc9c7b
diff --git a/metadata/md5-cache/app-text/ghostscript-gpl-9.54.0 b/metadata/md5-cache/app-text/ghostscript-gpl-9.54.0
deleted file mode 100644
index e96a6a9..0000000
--- a/metadata/md5-cache/app-text/ghostscript-gpl-9.54.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare
-DEPEND=app-text/libpaper media-libs/fontconfig >=media-libs/freetype-2.4.9:2= >=media-libs/lcms-2.6:2 >=media-libs/libpng-1.6.2:0= >=sys-libs/zlib-1.2.7 virtual/jpeg:0 cups? ( >=net-print/cups-1.3.8 ) dbus? ( sys-apps/dbus ) gtk? ( || ( x11-libs/gtk+:3 x11-libs/gtk+:2 ) ) idn? ( net-dns/libidn ) tiff? ( >=media-libs/tiff-4.0.1:0= ) X? ( x11-libs/libXt x11-libs/libXext ) !!media-libs/jbig2dec virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Interpreter for the PostScript language and PDF
-EAPI=6
-HOMEPAGE=https://ghostscript.com/
-IUSE=asan cups dbus fuzzer gtk idn internal linguas_de crosfonts static-libs tiff unicode X linguas_ja linguas_ko linguas_zh_CN linguas_zh_TW fuzzer asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=internal? ( LICENSE.artifex_commercial ) !internal? ( AGPL-3 CPL-1.0 )
-RDEPEND=app-text/libpaper media-libs/fontconfig >=media-libs/freetype-2.4.9:2= >=media-libs/lcms-2.6:2 >=media-libs/libpng-1.6.2:0= >=sys-libs/zlib-1.2.7 virtual/jpeg:0 cups? ( >=net-print/cups-1.3.8 ) dbus? ( sys-apps/dbus ) gtk? ( || ( x11-libs/gtk+:3 x11-libs/gtk+:2 ) ) idn? ( net-dns/libidn ) tiff? ( >=media-libs/tiff-4.0.1:0= ) X? ( x11-libs/libXt x11-libs/libXext ) !!media-libs/jbig2dec !crosfonts? ( >=media-fonts/urw-fonts-2.4.9 ) linguas_ja? ( media-fonts/kochi-substitute ) linguas_ko? ( media-fonts/baekmuk-fonts ) linguas_zh_CN? ( media-fonts/arphicfonts ) linguas_zh_TW? ( media-fonts/arphicfonts )
-SLOT=0
-SRC_URI=https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9540/ghostscript-9.54.0.tar.xz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	versionator	26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=41a39829de71c50a7c066c7092a200ec
diff --git a/metadata/md5-cache/app-text/ghostscript-gpl-9.54.0-r6 b/metadata/md5-cache/app-text/ghostscript-gpl-9.54.0-r6
deleted file mode 100644
index e96a6a9..0000000
--- a/metadata/md5-cache/app-text/ghostscript-gpl-9.54.0-r6
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare
-DEPEND=app-text/libpaper media-libs/fontconfig >=media-libs/freetype-2.4.9:2= >=media-libs/lcms-2.6:2 >=media-libs/libpng-1.6.2:0= >=sys-libs/zlib-1.2.7 virtual/jpeg:0 cups? ( >=net-print/cups-1.3.8 ) dbus? ( sys-apps/dbus ) gtk? ( || ( x11-libs/gtk+:3 x11-libs/gtk+:2 ) ) idn? ( net-dns/libidn ) tiff? ( >=media-libs/tiff-4.0.1:0= ) X? ( x11-libs/libXt x11-libs/libXext ) !!media-libs/jbig2dec virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Interpreter for the PostScript language and PDF
-EAPI=6
-HOMEPAGE=https://ghostscript.com/
-IUSE=asan cups dbus fuzzer gtk idn internal linguas_de crosfonts static-libs tiff unicode X linguas_ja linguas_ko linguas_zh_CN linguas_zh_TW fuzzer asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=internal? ( LICENSE.artifex_commercial ) !internal? ( AGPL-3 CPL-1.0 )
-RDEPEND=app-text/libpaper media-libs/fontconfig >=media-libs/freetype-2.4.9:2= >=media-libs/lcms-2.6:2 >=media-libs/libpng-1.6.2:0= >=sys-libs/zlib-1.2.7 virtual/jpeg:0 cups? ( >=net-print/cups-1.3.8 ) dbus? ( sys-apps/dbus ) gtk? ( || ( x11-libs/gtk+:3 x11-libs/gtk+:2 ) ) idn? ( net-dns/libidn ) tiff? ( >=media-libs/tiff-4.0.1:0= ) X? ( x11-libs/libXt x11-libs/libXext ) !!media-libs/jbig2dec !crosfonts? ( >=media-fonts/urw-fonts-2.4.9 ) linguas_ja? ( media-fonts/kochi-substitute ) linguas_ko? ( media-fonts/baekmuk-fonts ) linguas_zh_CN? ( media-fonts/arphicfonts ) linguas_zh_TW? ( media-fonts/arphicfonts )
-SLOT=0
-SRC_URI=https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9540/ghostscript-9.54.0.tar.xz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	versionator	26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=41a39829de71c50a7c066c7092a200ec
diff --git a/metadata/md5-cache/app-text/ghostscript-gpl-9.55.0 b/metadata/md5-cache/app-text/ghostscript-gpl-9.55.0
new file mode 100644
index 0000000..aa6074f
--- /dev/null
+++ b/metadata/md5-cache/app-text/ghostscript-gpl-9.55.0
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install prepare
+DEPEND=app-text/libpaper media-libs/fontconfig >=media-libs/freetype-2.4.9:2= >=media-libs/lcms-2.6:2 >=media-libs/libpng-1.6.2:0= >=sys-libs/zlib-1.2.7 virtual/jpeg:0 cups? ( >=net-print/cups-1.3.8 ) dbus? ( sys-apps/dbus ) gtk? ( || ( x11-libs/gtk+:3 x11-libs/gtk+:2 ) ) idn? ( net-dns/libidn ) tiff? ( >=media-libs/tiff-4.0.1:0= ) X? ( x11-libs/libXt x11-libs/libXext ) !!media-libs/jbig2dec virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Interpreter for the PostScript language and PDF
+EAPI=6
+HOMEPAGE=https://ghostscript.com/
+IUSE=asan cups dbus fuzzer gtk idn internal linguas_de crosfonts static-libs tiff unicode X linguas_ja linguas_ko linguas_zh_CN linguas_zh_TW fuzzer asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=internal? ( LICENSE.artifex_commercial ) !internal? ( AGPL-3 CPL-1.0 )
+RDEPEND=app-text/libpaper media-libs/fontconfig >=media-libs/freetype-2.4.9:2= >=media-libs/lcms-2.6:2 >=media-libs/libpng-1.6.2:0= >=sys-libs/zlib-1.2.7 virtual/jpeg:0 cups? ( >=net-print/cups-1.3.8 ) dbus? ( sys-apps/dbus ) gtk? ( || ( x11-libs/gtk+:3 x11-libs/gtk+:2 ) ) idn? ( net-dns/libidn ) tiff? ( >=media-libs/tiff-4.0.1:0= ) X? ( x11-libs/libXt x11-libs/libXext ) !!media-libs/jbig2dec !crosfonts? ( >=media-fonts/urw-fonts-2.4.9 ) linguas_ja? ( media-fonts/kochi-substitute ) linguas_ko? ( media-fonts/baekmuk-fonts ) linguas_zh_CN? ( media-fonts/arphicfonts ) linguas_zh_TW? ( media-fonts/arphicfonts )
+SLOT=0
+SRC_URI=https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9550/ghostscript-9.55.0.tar.xz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	versionator	26ca8a8bd95d6a74122c08ba98a4ee72
+_md5_=41a39829de71c50a7c066c7092a200ec
diff --git a/metadata/md5-cache/app-text/ghostscript-gpl-9.55.0-r2 b/metadata/md5-cache/app-text/ghostscript-gpl-9.55.0-r2
new file mode 100644
index 0000000..aa6074f
--- /dev/null
+++ b/metadata/md5-cache/app-text/ghostscript-gpl-9.55.0-r2
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install prepare
+DEPEND=app-text/libpaper media-libs/fontconfig >=media-libs/freetype-2.4.9:2= >=media-libs/lcms-2.6:2 >=media-libs/libpng-1.6.2:0= >=sys-libs/zlib-1.2.7 virtual/jpeg:0 cups? ( >=net-print/cups-1.3.8 ) dbus? ( sys-apps/dbus ) gtk? ( || ( x11-libs/gtk+:3 x11-libs/gtk+:2 ) ) idn? ( net-dns/libidn ) tiff? ( >=media-libs/tiff-4.0.1:0= ) X? ( x11-libs/libXt x11-libs/libXext ) !!media-libs/jbig2dec virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Interpreter for the PostScript language and PDF
+EAPI=6
+HOMEPAGE=https://ghostscript.com/
+IUSE=asan cups dbus fuzzer gtk idn internal linguas_de crosfonts static-libs tiff unicode X linguas_ja linguas_ko linguas_zh_CN linguas_zh_TW fuzzer asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=internal? ( LICENSE.artifex_commercial ) !internal? ( AGPL-3 CPL-1.0 )
+RDEPEND=app-text/libpaper media-libs/fontconfig >=media-libs/freetype-2.4.9:2= >=media-libs/lcms-2.6:2 >=media-libs/libpng-1.6.2:0= >=sys-libs/zlib-1.2.7 virtual/jpeg:0 cups? ( >=net-print/cups-1.3.8 ) dbus? ( sys-apps/dbus ) gtk? ( || ( x11-libs/gtk+:3 x11-libs/gtk+:2 ) ) idn? ( net-dns/libidn ) tiff? ( >=media-libs/tiff-4.0.1:0= ) X? ( x11-libs/libXt x11-libs/libXext ) !!media-libs/jbig2dec !crosfonts? ( >=media-fonts/urw-fonts-2.4.9 ) linguas_ja? ( media-fonts/kochi-substitute ) linguas_ko? ( media-fonts/baekmuk-fonts ) linguas_zh_CN? ( media-fonts/arphicfonts ) linguas_zh_TW? ( media-fonts/arphicfonts )
+SLOT=0
+SRC_URI=https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9550/ghostscript-9.55.0.tar.xz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	versionator	26ca8a8bd95d6a74122c08ba98a4ee72
+_md5_=41a39829de71c50a7c066c7092a200ec
diff --git a/metadata/md5-cache/brillo-base/libsparse-0.0.1-r9 b/metadata/md5-cache/brillo-base/libsparse-0.0.1-r9
index 1067c55..673300f 100644
--- a/metadata/md5-cache/brillo-base/libsparse-0.0.1-r9
+++ b/metadata/md5-cache/brillo-base/libsparse-0.0.1-r9
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=sys-libs/zlib:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=d1510853ff492df4790fb3ac5a210a8f
diff --git a/metadata/md5-cache/brillo-base/libsparse-9999 b/metadata/md5-cache/brillo-base/libsparse-9999
index 4feaefc..79482e0 100644
--- a/metadata/md5-cache/brillo-base/libsparse-9999
+++ b/metadata/md5-cache/brillo-base/libsparse-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=sys-libs/zlib:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=83bf64f27c97d0013ba090b0a2c657c5
diff --git a/metadata/md5-cache/chromeos-base/aosp-frameworks-base-proto-20200929 b/metadata/md5-cache/chromeos-base/aosp-frameworks-base-proto-20200929
index 396f5587..2429168 100644
--- a/metadata/md5-cache/chromeos-base/aosp-frameworks-base-proto-20200929
+++ b/metadata/md5-cache/chromeos-base/aosp-frameworks-base-proto-20200929
@@ -1,5 +1,5 @@
 DEFINED_PHASES=compile install postinst test unpack
-DEPEND=dev-go/protobuf dev-libs/protobuf:= dev-lang/go
+DEPEND=dev-go/protobuf dev-go/protobuf-legacy-api dev-libs/protobuf:= dev-lang/go
 DESCRIPTION=AOSP frameworks/base protobuf files
 EAPI=6
 HOMEPAGE=https://android.googlesource.com/platform/frameworks/base/+/refs/heads/android11-dev/core/proto/
@@ -7,5 +7,5 @@
 LICENSE=Apache-2.0
 SLOT=0
 SRC_URI=https://android.googlesource.com/platform/frameworks/base/+archive/c29468777021f4970ab20b38601448fe81ecdcbb/core/proto.tar.gz -> aosp-frameworks-base-core-proto-20200929.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=81b68b6c378bcd3122191b8592c39b8c
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=849735baf98b3a31614a9c0a55497d8d
diff --git a/metadata/md5-cache/chromeos-base/aosp-frameworks-base-proto-20200929-r2 b/metadata/md5-cache/chromeos-base/aosp-frameworks-base-proto-20200929-r2
deleted file mode 100644
index 396f5587..0000000
--- a/metadata/md5-cache/chromeos-base/aosp-frameworks-base-proto-20200929-r2
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install postinst test unpack
-DEPEND=dev-go/protobuf dev-libs/protobuf:= dev-lang/go
-DESCRIPTION=AOSP frameworks/base protobuf files
-EAPI=6
-HOMEPAGE=https://android.googlesource.com/platform/frameworks/base/+/refs/heads/android11-dev/core/proto/
-KEYWORDS=*
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://android.googlesource.com/platform/frameworks/base/+archive/c29468777021f4970ab20b38601448fe81ecdcbb/core/proto.tar.gz -> aosp-frameworks-base-core-proto-20200929.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=81b68b6c378bcd3122191b8592c39b8c
diff --git a/metadata/md5-cache/chromeos-base/aosp-frameworks-base-proto-20200929-r3 b/metadata/md5-cache/chromeos-base/aosp-frameworks-base-proto-20200929-r3
new file mode 100644
index 0000000..2429168
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/aosp-frameworks-base-proto-20200929-r3
@@ -0,0 +1,11 @@
+DEFINED_PHASES=compile install postinst test unpack
+DEPEND=dev-go/protobuf dev-go/protobuf-legacy-api dev-libs/protobuf:= dev-lang/go
+DESCRIPTION=AOSP frameworks/base protobuf files
+EAPI=6
+HOMEPAGE=https://android.googlesource.com/platform/frameworks/base/+/refs/heads/android11-dev/core/proto/
+KEYWORDS=*
+LICENSE=Apache-2.0
+SLOT=0
+SRC_URI=https://android.googlesource.com/platform/frameworks/base/+archive/c29468777021f4970ab20b38601448fe81ecdcbb/core/proto.tar.gz -> aosp-frameworks-base-core-proto-20200929.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=849735baf98b3a31614a9c0a55497d8d
diff --git a/metadata/md5-cache/chromeos-base/aosp-frameworks-ml-nn-0.0.1-r275 b/metadata/md5-cache/chromeos-base/aosp-frameworks-ml-nn-0.0.1-r275
deleted file mode 100644
index 9fb7d69..0000000
--- a/metadata/md5-cache/chromeos-base/aosp-frameworks-ml-nn-0.0.1-r275
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/nnapi:= dev-libs/openssl:= sci-libs/tensorflow[xnnpack?] dev-libs/libtextclassifier >=dev-cpp/eigen-3 fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS port of the Android Neural Network API
-EAPI=7
-HOMEPAGE=https://developer.android.com/ndk/guides/neuralnetworks
-IUSE=cpu_flags_x86_avx2 vendor-nnhal minimal-driver xnnpack fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_3b51e0d1fad0c7ab5584a16d0942cc33d491f433_dc25ed68a7d37cb190a28c01c84f8bb2e874bb47 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_3b51e0d1fad0c7ab5584a16d0942cc33d491f433_dc25ed68a7d37cb190a28c01c84f8bb2e874bb47 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google Apache-2.0
-PROPERTIES=live live
-RDEPEND=chromeos-base/nnapi:= dev-libs/openssl:= sci-libs/tensorflow[xnnpack?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r275
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=28e5c6226c85fb1467dbb13e7224b284
diff --git a/metadata/md5-cache/chromeos-base/aosp-frameworks-ml-nn-0.0.1-r360 b/metadata/md5-cache/chromeos-base/aosp-frameworks-ml-nn-0.0.1-r360
new file mode 100644
index 0000000..4214b00
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/aosp-frameworks-ml-nn-0.0.1-r360
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/nnapi:= dev-libs/openssl:= sci-libs/tensorflow[xnnpack?] dev-libs/libtextclassifier >=dev-cpp/eigen-3 fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS port of the Android Neural Network API
+EAPI=7
+HOMEPAGE=https://developer.android.com/ndk/guides/neuralnetworks
+IUSE=cpu_flags_x86_avx2 vendor-nnhal minimal-driver xnnpack fuzzer strace_ipc_driver cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e982c0b168527570ec0e64866af23d7199ef2d42_3ef88da49eee33eaeed09c00a9d40169450b7f5a cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e982c0b168527570ec0e64866af23d7199ef2d42_3ef88da49eee33eaeed09c00a9d40169450b7f5a cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google Apache-2.0
+PROPERTIES=live live
+RDEPEND=chromeos-base/nnapi:= dev-libs/openssl:= sci-libs/tensorflow[xnnpack?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r360
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=bf6c263aa6110967aee05f656ffa7aa7
diff --git a/metadata/md5-cache/chromeos-base/aosp-frameworks-ml-nn-9999 b/metadata/md5-cache/chromeos-base/aosp-frameworks-ml-nn-9999
index 61ebc9a..5f6d68c 100644
--- a/metadata/md5-cache/chromeos-base/aosp-frameworks-ml-nn-9999
+++ b/metadata/md5-cache/chromeos-base/aosp-frameworks-ml-nn-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/nnapi:= dev-libs/openssl:= sci-libs/tensorflow[xnnpack?] dev-libs/libtextclassifier >=dev-cpp/eigen-3 fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/nnapi:= dev-libs/openssl:= sci-libs/tensorflow[xnnpack?] dev-libs/libtextclassifier >=dev-cpp/eigen-3 fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS port of the Android Neural Network API
 EAPI=7
 HOMEPAGE=https://developer.android.com/ndk/guides/neuralnetworks
-IUSE=cpu_flags_x86_avx2 vendor-nnhal minimal-driver xnnpack fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cpu_flags_x86_avx2 vendor-nnhal minimal-driver xnnpack fuzzer strace_ipc_driver cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google Apache-2.0
 PROPERTIES=live live
 RDEPEND=chromeos-base/nnapi:= dev-libs/openssl:= sci-libs/tensorflow[xnnpack?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=15ec219cd21b06c36ee88d3304c89c1e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a9d47a7929076294994eef3bb5815072
diff --git a/metadata/md5-cache/chromeos-base/aosp-frameworks-ml-nn-vts-0.0.1-r100 b/metadata/md5-cache/chromeos-base/aosp-frameworks-ml-nn-vts-0.0.1-r100
deleted file mode 100644
index 9ee59dc..0000000
--- a/metadata/md5-cache/chromeos-base/aosp-frameworks-ml-nn-vts-0.0.1-r100
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/aosp-frameworks-ml-nn:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=HAL / Driver Vendor and Compatability Test Tools for NNAPI
-EAPI=7
-HOMEPAGE=https://developer.android.com/ndk/guides/neuralnetworks
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_3b51e0d1fad0c7ab5584a16d0942cc33d491f433_dc25ed68a7d37cb190a28c01c84f8bb2e874bb47 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_3b51e0d1fad0c7ab5584a16d0942cc33d491f433_dc25ed68a7d37cb190a28c01c84f8bb2e874bb47 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google Apache-2.0
-PROPERTIES=live live
-RDEPEND=chromeos-base/aosp-frameworks-ml-nn:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r100
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=f6c9b943b3c12fd11baaa1af0a0fdb89
diff --git a/metadata/md5-cache/chromeos-base/aosp-frameworks-ml-nn-vts-0.0.1-r180 b/metadata/md5-cache/chromeos-base/aosp-frameworks-ml-nn-vts-0.0.1-r180
new file mode 100644
index 0000000..583b1fe
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/aosp-frameworks-ml-nn-vts-0.0.1-r180
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/aosp-frameworks-ml-nn:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=HAL / Driver Vendor and Compatability Test Tools for NNAPI
+EAPI=7
+HOMEPAGE=https://developer.android.com/ndk/guides/neuralnetworks
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e982c0b168527570ec0e64866af23d7199ef2d42_3ef88da49eee33eaeed09c00a9d40169450b7f5a cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e982c0b168527570ec0e64866af23d7199ef2d42_3ef88da49eee33eaeed09c00a9d40169450b7f5a cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google Apache-2.0
+PROPERTIES=live live
+RDEPEND=chromeos-base/aosp-frameworks-ml-nn:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r180
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b1f841b39c068d785e9b2759576caa91
diff --git a/metadata/md5-cache/chromeos-base/aosp-frameworks-ml-nn-vts-9999 b/metadata/md5-cache/chromeos-base/aosp-frameworks-ml-nn-vts-9999
index fb476d0..5de3638 100644
--- a/metadata/md5-cache/chromeos-base/aosp-frameworks-ml-nn-vts-9999
+++ b/metadata/md5-cache/chromeos-base/aosp-frameworks-ml-nn-vts-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/aosp-frameworks-ml-nn:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/aosp-frameworks-ml-nn:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=HAL / Driver Vendor and Compatability Test Tools for NNAPI
 EAPI=7
 HOMEPAGE=https://developer.android.com/ndk/guides/neuralnetworks
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google Apache-2.0
 PROPERTIES=live live
 RDEPEND=chromeos-base/aosp-frameworks-ml-nn:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=8eef26e9663196724e91bb9eed134d37
diff --git a/metadata/md5-cache/chromeos-base/arc-adbd-0.0.1-r435 b/metadata/md5-cache/chromeos-base/arc-adbd-0.0.1-r435
deleted file mode 100644
index eaaccb2..0000000
--- a/metadata/md5-cache/chromeos-base/arc-adbd-0.0.1-r435
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Container to run Android's adbd proxy.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/adbd
-IUSE=+seccomp fuzzer arcvm cros_host cros_workon_tree_66fc2dbe7ed323d858d7ee4a40a15d36baeaa16e_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_66fc2dbe7ed323d858d7ee4a40a15d36baeaa16e_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/minijail >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r435
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=596ce0903787115f7578a8a0b6aa7819
diff --git a/metadata/md5-cache/chromeos-base/arc-adbd-0.0.1-r500 b/metadata/md5-cache/chromeos-base/arc-adbd-0.0.1-r500
new file mode 100644
index 0000000..de7f188
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/arc-adbd-0.0.1-r500
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Container to run Android's adbd proxy.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/adbd
+IUSE=+seccomp fuzzer arcvm cros_host cros_workon_tree_514833ac35feb926ab49dcf952ef3768d02e9b84_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_514833ac35feb926ab49dcf952ef3768d02e9b84_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/minijail >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r500
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a59baf95acce896e1ab2cf80ee01f7de
diff --git a/metadata/md5-cache/chromeos-base/arc-adbd-9999 b/metadata/md5-cache/chromeos-base/arc-adbd-9999
index e39f9d9..c31bd8e 100644
--- a/metadata/md5-cache/chromeos-base/arc-adbd-9999
+++ b/metadata/md5-cache/chromeos-base/arc-adbd-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Container to run Android's adbd proxy.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/adbd
-IUSE=+seccomp fuzzer arcvm cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/adbd
+IUSE=+seccomp fuzzer arcvm cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/minijail >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c0534614218c229239fa0b02cd454079
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0e379b7abaa8c4c3aa9bdcd987259971
diff --git a/metadata/md5-cache/chromeos-base/arc-apk-cache-0.0.1-r438 b/metadata/md5-cache/chromeos-base/arc-apk-cache-0.0.1-r438
deleted file mode 100644
index fab8a87..0000000
--- a/metadata/md5-cache/chromeos-base/arc-apk-cache-0.0.1-r438
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-db/sqlite:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Maintains APK cache in ARC.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/apk-cache
-IUSE=+seccomp cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_5df5bfc5be67365c831d204e61a7ba0722fe58c2_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_5df5bfc5be67365c831d204e61a7ba0722fe58c2_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/minijail dev-db/sqlite:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r438
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=04b46ce95a59b07f98ad7a5a341f0598
diff --git a/metadata/md5-cache/chromeos-base/arc-apk-cache-0.0.1-r499 b/metadata/md5-cache/chromeos-base/arc-apk-cache-0.0.1-r499
new file mode 100644
index 0000000..7c0dadb
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/arc-apk-cache-0.0.1-r499
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=dev-db/sqlite:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Maintains APK cache in ARC.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/apk-cache
+IUSE=+seccomp cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_ab6c050aa8c6ace38d371937e67cfb21e46fd899_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_ab6c050aa8c6ace38d371937e67cfb21e46fd899_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/minijail dev-db/sqlite:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r499
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=608b38a764d22f4346b3c2adbcfb3f27
diff --git a/metadata/md5-cache/chromeos-base/arc-apk-cache-9999 b/metadata/md5-cache/chromeos-base/arc-apk-cache-9999
index 1fad097..57e7829 100644
--- a/metadata/md5-cache/chromeos-base/arc-apk-cache-9999
+++ b/metadata/md5-cache/chromeos-base/arc-apk-cache-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-db/sqlite:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=dev-db/sqlite:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Maintains APK cache in ARC.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/apk-cache
-IUSE=+seccomp cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/apk-cache
+IUSE=+seccomp cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/minijail dev-db/sqlite:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=3cb193534cc70a5ead2e9cc4cdd92a9e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1b085b18d5bcb89d6251c292a9903f5d
diff --git a/metadata/md5-cache/chromeos-base/arc-appfuse-0.0.1-r370 b/metadata/md5-cache/chromeos-base/arc-appfuse-0.0.1-r370
deleted file mode 100644
index b7573f5..0000000
--- a/metadata/md5-cache/chromeos-base/arc-appfuse-0.0.1-r370
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=sys-apps/dbus:= sys-fs/fuse:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=D-Bus service to provide ARC Appfuse
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/appfuse
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_b42ca8f7a5a99cbbe272658e1ab5dd9d3882b6f8_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_b42ca8f7a5a99cbbe272658e1ab5dd9d3882b6f8_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=sys-apps/dbus:= sys-fs/fuse:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r370
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=7cd78a80555d339bea494a5cc025bc78
diff --git a/metadata/md5-cache/chromeos-base/arc-appfuse-0.0.1-r433 b/metadata/md5-cache/chromeos-base/arc-appfuse-0.0.1-r433
new file mode 100644
index 0000000..9cf0d28
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/arc-appfuse-0.0.1-r433
@@ -0,0 +1,14 @@
+BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=sys-apps/dbus:= sys-fs/fuse:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=D-Bus service to provide ARC Appfuse
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/appfuse
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_575718e277c169d180cb6adc060050e72686b317_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_575718e277c169d180cb6adc060050e72686b317_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=sys-apps/dbus:= sys-fs/fuse:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r433
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=c211c56758ca372485f97bcd4a47d9ea
diff --git a/metadata/md5-cache/chromeos-base/arc-appfuse-9999 b/metadata/md5-cache/chromeos-base/arc-appfuse-9999
index 5c4e0f4..ff7d428 100644
--- a/metadata/md5-cache/chromeos-base/arc-appfuse-9999
+++ b/metadata/md5-cache/chromeos-base/arc-appfuse-9999
@@ -1,14 +1,14 @@
 BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=sys-apps/dbus:= sys-fs/fuse:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=sys-apps/dbus:= sys-fs/fuse:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=D-Bus service to provide ARC Appfuse
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/appfuse
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/appfuse
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=sys-apps/dbus:= sys-fs/fuse:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=47d518873fa153e1dec65ac7f7efdb93
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=3530ad0963d9f8476cefba3886c73a33
diff --git a/metadata/md5-cache/chromeos-base/arc-base-0.0.1-r454 b/metadata/md5-cache/chromeos-base/arc-base-0.0.1-r454
deleted file mode 100644
index 97bf057..0000000
--- a/metadata/md5-cache/chromeos-base/arc-base-0.0.1-r454
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install postinst preinst setup unpack
-DEPEND=!<chromeos-base/chromeos-cheets-scripts-0.0.3 sys-apps/baselayout
-DESCRIPTION=Container to run Android.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/bundle
-IUSE=arcpp arcvm cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_2e6009dda566e182775a3e0d822ab4ffbf051ee6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=!<chromeos-base/chromeos-cheets-scripts-0.0.3 sys-apps/baselayout
-REQUIRED_USE=|| ( arcpp arcvm )
-SLOT=0/0.0.1-r454
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=75a3dcd508e4b4c32fceedefba3f346a
diff --git a/metadata/md5-cache/chromeos-base/arc-base-0.0.1-r511 b/metadata/md5-cache/chromeos-base/arc-base-0.0.1-r511
new file mode 100644
index 0000000..5ba4693
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/arc-base-0.0.1-r511
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install postinst preinst setup unpack
+DEPEND=!<chromeos-base/chromeos-cheets-scripts-0.0.3 sys-apps/baselayout
+DESCRIPTION=Container to run Android.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/bundle
+IUSE=arcpp arcvm cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2e6009dda566e182775a3e0d822ab4ffbf051ee6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=!<chromeos-base/chromeos-cheets-scripts-0.0.3 sys-apps/baselayout
+REQUIRED_USE=|| ( arcpp arcvm )
+SLOT=0/0.0.1-r511
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=7a4857d84e74e9aa9d31924110d4035f
diff --git a/metadata/md5-cache/chromeos-base/arc-base-9999 b/metadata/md5-cache/chromeos-base/arc-base-9999
index c7e001e..6776794 100644
--- a/metadata/md5-cache/chromeos-base/arc-base-9999
+++ b/metadata/md5-cache/chromeos-base/arc-base-9999
@@ -3,7 +3,7 @@
 DEPEND=!<chromeos-base/chromeos-cheets-scripts-0.0.3 sys-apps/baselayout
 DESCRIPTION=Container to run Android.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/bundle
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/bundle
 IUSE=arcpp arcvm cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=BSD-Google
@@ -11,5 +11,5 @@
 RDEPEND=!<chromeos-base/chromeos-cheets-scripts-0.0.3 sys-apps/baselayout
 REQUIRED_USE=|| ( arcpp arcvm )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=fec601e4b68de27a84e56f9c0d6494e2
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=59467dacab4b23ac99ea31e209de789c
diff --git a/metadata/md5-cache/chromeos-base/arc-common-scripts-0.0.1-r243 b/metadata/md5-cache/chromeos-base/arc-common-scripts-0.0.1-r243
deleted file mode 100644
index efd23ff..0000000
--- a/metadata/md5-cache/chromeos-base/arc-common-scripts-0.0.1-r243
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install setup unpack
-DESCRIPTION=ARC++ common scripts.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/scripts
-IUSE=arcpp iioservice cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_434170aa6f4b0783eb80a76648f8e27f71b420fd_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=!<=chromeos-base/arc-base-0.0.1-r349 !<chromeos-base/arc-setup-0.0.1-r1084 app-misc/jq
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d8954d96ffd8454dbd50a52be8a1a9b3
diff --git a/metadata/md5-cache/chromeos-base/arc-common-scripts-0.0.1-r300 b/metadata/md5-cache/chromeos-base/arc-common-scripts-0.0.1-r300
new file mode 100644
index 0000000..2b5db10
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/arc-common-scripts-0.0.1-r300
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=ARC++ common scripts.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/scripts
+IUSE=arcpp iioservice cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_434170aa6f4b0783eb80a76648f8e27f71b420fd_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=!<=chromeos-base/arc-base-0.0.1-r349 !<chromeos-base/arc-setup-0.0.1-r1084 app-misc/jq
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8d11c6063fcd4db02c650beb047ab790
diff --git a/metadata/md5-cache/chromeos-base/arc-common-scripts-9999 b/metadata/md5-cache/chromeos-base/arc-common-scripts-9999
index 31c5058..ec4a1e1 100644
--- a/metadata/md5-cache/chromeos-base/arc-common-scripts-9999
+++ b/metadata/md5-cache/chromeos-base/arc-common-scripts-9999
@@ -2,12 +2,12 @@
 DEFINED_PHASES=info install setup unpack
 DESCRIPTION=ARC++ common scripts.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/scripts
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/scripts
 IUSE=arcpp iioservice cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 RDEPEND=!<=chromeos-base/arc-base-0.0.1-r349 !<chromeos-base/arc-setup-0.0.1-r1084 app-misc/jq
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a920258a7e171b7f4f41a930e56f1b30
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=85bfdd2c59826075fcce566f7423cdac
diff --git a/metadata/md5-cache/chromeos-base/arc-data-snapshotd-0.0.1-r153 b/metadata/md5-cache/chromeos-base/arc-data-snapshotd-0.0.1-r153
deleted file mode 100644
index 18d5bee..0000000
--- a/metadata/md5-cache/chromeos-base/arc-data-snapshotd-0.0.1-r153
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/bootlockbox-client:= chromeos-base/minijail:= chromeos-base/system_api:= dev-libs/protobuf:= selinux? ( sys-libs/libselinux:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=ARC data snapshotd daemon in Chrome OS.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/data-snapshotd
-IUSE=+seccomp selinux cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_5873be982b6fcd86debdae465848cf6ee4a1c38d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_5873be982b6fcd86debdae465848cf6ee4a1c38d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/bootlockbox-client:= chromeos-base/minijail:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r153
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=a2bd785a1ba67cd8a210aa6abaa17550
diff --git a/metadata/md5-cache/chromeos-base/arc-data-snapshotd-0.0.1-r215 b/metadata/md5-cache/chromeos-base/arc-data-snapshotd-0.0.1-r215
new file mode 100644
index 0000000..006f062
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/arc-data-snapshotd-0.0.1-r215
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/bootlockbox-client:= chromeos-base/minijail:= chromeos-base/system_api:= dev-libs/protobuf:= selinux? ( sys-libs/libselinux:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=ARC data snapshotd daemon in Chrome OS.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/data-snapshotd
+IUSE=+seccomp selinux cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_a51f6b6dd9d0e920cbe996f244873d1fb0c8a7bb_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_a51f6b6dd9d0e920cbe996f244873d1fb0c8a7bb_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/bootlockbox-client:= chromeos-base/minijail:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r215
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=16c30f3304ca1070a43594ba41892ce4
diff --git a/metadata/md5-cache/chromeos-base/arc-data-snapshotd-9999 b/metadata/md5-cache/chromeos-base/arc-data-snapshotd-9999
index 2e0336c..f5b427b 100644
--- a/metadata/md5-cache/chromeos-base/arc-data-snapshotd-9999
+++ b/metadata/md5-cache/chromeos-base/arc-data-snapshotd-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/bootlockbox-client:= chromeos-base/minijail:= chromeos-base/system_api:= dev-libs/protobuf:= selinux? ( sys-libs/libselinux:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/bootlockbox-client:= chromeos-base/minijail:= chromeos-base/system_api:= dev-libs/protobuf:= selinux? ( sys-libs/libselinux:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=ARC data snapshotd daemon in Chrome OS.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/data-snapshotd
-IUSE=+seccomp selinux cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=+seccomp selinux cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/bootlockbox-client:= chromeos-base/minijail:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
 _md5_=da054c6f8f15cca6ca05e572e429d7e9
diff --git a/metadata/md5-cache/chromeos-base/arc-host-clock-service-0.0.1-r117 b/metadata/md5-cache/chromeos-base/arc-host-clock-service-0.0.1-r117
deleted file mode 100644
index 79d884e..0000000
--- a/metadata/md5-cache/chromeos-base/arc-host-clock-service-0.0.1-r117
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/system_api >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=ARC host clock service
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/host_clock
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_cca15ee6031a3289ea3e45535963bb5874662caa_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_cca15ee6031a3289ea3e45535963bb5874662caa_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r117
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=7d96aa0c50c2fd3322ec29435933ac6a
diff --git a/metadata/md5-cache/chromeos-base/arc-host-clock-service-0.0.1-r174 b/metadata/md5-cache/chromeos-base/arc-host-clock-service-0.0.1-r174
new file mode 100644
index 0000000..cdebe7b
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/arc-host-clock-service-0.0.1-r174
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/system_api >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=ARC host clock service
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/host_clock
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_cca15ee6031a3289ea3e45535963bb5874662caa_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_cca15ee6031a3289ea3e45535963bb5874662caa_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r174
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=5f39bfa1814d74585889dfaf7c99ea66
diff --git a/metadata/md5-cache/chromeos-base/arc-host-clock-service-9999 b/metadata/md5-cache/chromeos-base/arc-host-clock-service-9999
index 8b1176f..a5af514 100644
--- a/metadata/md5-cache/chromeos-base/arc-host-clock-service-9999
+++ b/metadata/md5-cache/chromeos-base/arc-host-clock-service-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/system_api >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/system_api >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=ARC host clock service
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/host_clock
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
 _md5_=e0dcfac9ce27526432adffbbebdecbfe
diff --git a/metadata/md5-cache/chromeos-base/arc-keymaster-0.0.1-r316 b/metadata/md5-cache/chromeos-base/arc-keymaster-0.0.1-r316
deleted file mode 100644
index dfca9f3..0000000
--- a/metadata/md5-cache/chromeos-base/arc-keymaster-0.0.1-r316
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-util/ninja >=dev-util/cmake-3.9.6 dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst prepare setup test unpack
-DEPEND=chromeos-base/chaps:= chromeos-base/cryptohome:= chromeos-base/cryptohome-client:= chromeos-base/minijail:= dev-libs/protobuf:= chromeos-base/session_manager-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Android keymaster service in Chrome OS.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/keymaster
-IUSE=+seccomp cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1ee7bf9b980985c140da18df3546719c9877a53a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_6dbc19849752c206e135ab59349ebb1cc62bb435 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1ee7bf9b980985c140da18df3546719c9877a53a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_6dbc19849752c206e135ab59349ebb1cc62bb435 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/chaps:= chromeos-base/cryptohome:= chromeos-base/cryptohome-client:= chromeos-base/minijail:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r316
-SRC_URI=https://github.com/google/boringssl/archive/430a7423039682e4bbc7b522e3b57b2c8dca5e3b.tar.gz -> boringssl-430a7423039682e4bbc7b522e3b57b2c8dca5e3b.tar.gz
-_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=b6d519b53fc6c26b635c1e9d53747bfd
diff --git a/metadata/md5-cache/chromeos-base/arc-keymaster-0.0.1-r383 b/metadata/md5-cache/chromeos-base/arc-keymaster-0.0.1-r383
new file mode 100644
index 0000000..f4bf234
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/arc-keymaster-0.0.1-r383
@@ -0,0 +1,15 @@
+BDEPEND=dev-util/ninja >=dev-util/cmake-3.9.6 dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst prepare setup test unpack
+DEPEND=chromeos-base/chaps:= chromeos-base/cryptohome:= chromeos-base/cryptohome-client:= chromeos-base/minijail:= dev-libs/protobuf:= chromeos-base/session_manager-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Android keymaster service in Chrome OS.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/keymaster
+IUSE=+seccomp cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_eb015c68db68f86b1e19e0200461bc65c136674b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_6dbc19849752c206e135ab59349ebb1cc62bb435 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_eb015c68db68f86b1e19e0200461bc65c136674b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_6dbc19849752c206e135ab59349ebb1cc62bb435 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/chaps:= chromeos-base/cryptohome:= chromeos-base/cryptohome-client:= chromeos-base/minijail:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r383
+SRC_URI=https://github.com/google/boringssl/archive/3a667d10e94186fd503966f5638e134fe9fb4080.tar.gz -> boringssl-3a667d10e94186fd503966f5638e134fe9fb4080.tar.gz
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=5c18fdd851e1d0ff5ce6c14123c3564e
diff --git a/metadata/md5-cache/chromeos-base/arc-keymaster-9999 b/metadata/md5-cache/chromeos-base/arc-keymaster-9999
index aa489b5..f755d3c 100644
--- a/metadata/md5-cache/chromeos-base/arc-keymaster-9999
+++ b/metadata/md5-cache/chromeos-base/arc-keymaster-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-util/ninja >=dev-util/cmake-3.9.6 dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst prepare setup test unpack
-DEPEND=chromeos-base/chaps:= chromeos-base/cryptohome:= chromeos-base/cryptohome-client:= chromeos-base/minijail:= dev-libs/protobuf:= chromeos-base/session_manager-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/chaps:= chromeos-base/cryptohome:= chromeos-base/cryptohome-client:= chromeos-base/minijail:= dev-libs/protobuf:= chromeos-base/session_manager-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Android keymaster service in Chrome OS.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/keymaster
-IUSE=+seccomp cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/keymaster
+IUSE=+seccomp cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/chaps:= chromeos-base/cryptohome:= chromeos-base/cryptohome-client:= chromeos-base/minijail:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-SRC_URI=https://github.com/google/boringssl/archive/430a7423039682e4bbc7b522e3b57b2c8dca5e3b.tar.gz -> boringssl-430a7423039682e4bbc7b522e3b57b2c8dca5e3b.tar.gz
-_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=205163086143f8baab40964f0e3881e6
+SRC_URI=https://github.com/google/boringssl/archive/3a667d10e94186fd503966f5638e134fe9fb4080.tar.gz -> boringssl-3a667d10e94186fd503966f5638e134fe9fb4080.tar.gz
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=e3b80075af2c2279cb6cce3fdeb89001
diff --git a/metadata/md5-cache/chromeos-base/arc-myfiles-0.0.1-r258 b/metadata/md5-cache/chromeos-base/arc-myfiles-0.0.1-r258
deleted file mode 100644
index fe3d930..0000000
--- a/metadata/md5-cache/chromeos-base/arc-myfiles-0.0.1-r258
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install setup unpack
-DESCRIPTION=Container to run Android's MyFiles daemon.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/myfiles
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_c8a2550e2697f391dc686b4a72841d4568a5de73_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/mount-passthrough !<chromeos-base/chromeos-cheets-scripts-0.0.2-r470
-SLOT=0/0.0.1-r258
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0c92ff31446adf8bf2516a5c34ea2db1
diff --git a/metadata/md5-cache/chromeos-base/arc-myfiles-0.0.1-r316 b/metadata/md5-cache/chromeos-base/arc-myfiles-0.0.1-r316
new file mode 100644
index 0000000..be833fa
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/arc-myfiles-0.0.1-r316
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Container to run Android's MyFiles daemon.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/myfiles
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_97bcfd3487dc7a09335f29f44fc38eaabf21e90b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/mount-passthrough !<chromeos-base/chromeos-cheets-scripts-0.0.2-r470
+SLOT=0/0.0.1-r316
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=88d42480fc9c9d1822884bf530aab8b0
diff --git a/metadata/md5-cache/chromeos-base/arc-myfiles-9999 b/metadata/md5-cache/chromeos-base/arc-myfiles-9999
index a4806ce5..a9bf9c0 100644
--- a/metadata/md5-cache/chromeos-base/arc-myfiles-9999
+++ b/metadata/md5-cache/chromeos-base/arc-myfiles-9999
@@ -2,12 +2,12 @@
 DEFINED_PHASES=info install setup unpack
 DESCRIPTION=Container to run Android's MyFiles daemon.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/myfiles
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/myfiles
 IUSE=cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 RDEPEND=chromeos-base/mount-passthrough !<chromeos-base/chromeos-cheets-scripts-0.0.2-r470
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c72484fefc9e714796fe3eca2e5322b7
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5ac43a906ee60deb4d6fb3b1e0c6959b
diff --git a/metadata/md5-cache/chromeos-base/arc-obb-mounter-0.0.2-r515 b/metadata/md5-cache/chromeos-base/arc-obb-mounter-0.0.2-r515
deleted file mode 100644
index 923969b..0000000
--- a/metadata/md5-cache/chromeos-base/arc-obb-mounter-0.0.2-r515
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=sys-fs/fuse:= sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=D-Bus service to mount OBB files
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/obb-mounter
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_a09852deafdcf2e3901b3b3d1c298ddc2d9b4568_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_a09852deafdcf2e3901b3b3d1c298ddc2d9b4568_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=sys-fs/fuse:= sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.2-r515
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=22fec2656f867dd5f8d204e0e43dcf5b
diff --git a/metadata/md5-cache/chromeos-base/arc-obb-mounter-0.0.2-r577 b/metadata/md5-cache/chromeos-base/arc-obb-mounter-0.0.2-r577
new file mode 100644
index 0000000..2fa2751
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/arc-obb-mounter-0.0.2-r577
@@ -0,0 +1,14 @@
+BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=sys-fs/fuse:= sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=D-Bus service to mount OBB files
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/obb-mounter
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_4407bbb4129cf62cb6e764ecfdb34edc5fbe318e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_4407bbb4129cf62cb6e764ecfdb34edc5fbe318e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=sys-fs/fuse:= sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.2-r577
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a76b8586ef5817fc0c57db4d0381ffef
diff --git a/metadata/md5-cache/chromeos-base/arc-obb-mounter-9999 b/metadata/md5-cache/chromeos-base/arc-obb-mounter-9999
index 58f02fd..6790242 100644
--- a/metadata/md5-cache/chromeos-base/arc-obb-mounter-9999
+++ b/metadata/md5-cache/chromeos-base/arc-obb-mounter-9999
@@ -1,14 +1,14 @@
 BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=sys-fs/fuse:= sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=sys-fs/fuse:= sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=D-Bus service to mount OBB files
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/obb-mounter
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/obb-mounter
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=sys-fs/fuse:= sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6b3690101a1ac92fe67798c77dbed2f7
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=cfb99dfa8539519435adccf49dbb78c5
diff --git a/metadata/md5-cache/chromeos-base/arc-removable-media-0.0.1-r350 b/metadata/md5-cache/chromeos-base/arc-removable-media-0.0.1-r350
deleted file mode 100644
index 702cbfa..0000000
--- a/metadata/md5-cache/chromeos-base/arc-removable-media-0.0.1-r350
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install setup unpack
-DESCRIPTION=Container to run Android's removable-media daemon.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/removable-media
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_a668f1f1ed688f833488719ca2ccefc7e1e4272b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/mount-passthrough !<chromeos-base/chromeos-cheets-scripts-0.0.2-r470
-SLOT=0/0.0.1-r350
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=caaff8a5b96ede74da09c6884468a3c7
diff --git a/metadata/md5-cache/chromeos-base/arc-removable-media-0.0.1-r407 b/metadata/md5-cache/chromeos-base/arc-removable-media-0.0.1-r407
new file mode 100644
index 0000000..7cec071
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/arc-removable-media-0.0.1-r407
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Container to run Android's removable-media daemon.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/removable-media
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_a668f1f1ed688f833488719ca2ccefc7e1e4272b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/mount-passthrough !<chromeos-base/chromeos-cheets-scripts-0.0.2-r470
+SLOT=0/0.0.1-r407
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6bbd69fedd787af2b0fead85c5e25e9a
diff --git a/metadata/md5-cache/chromeos-base/arc-removable-media-9999 b/metadata/md5-cache/chromeos-base/arc-removable-media-9999
index b39d564..753e855 100644
--- a/metadata/md5-cache/chromeos-base/arc-removable-media-9999
+++ b/metadata/md5-cache/chromeos-base/arc-removable-media-9999
@@ -2,12 +2,12 @@
 DEFINED_PHASES=info install setup unpack
 DESCRIPTION=Container to run Android's removable-media daemon.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/removable-media
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/removable-media
 IUSE=cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 RDEPEND=chromeos-base/mount-passthrough !<chromeos-base/chromeos-cheets-scripts-0.0.2-r470
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ea2bff079b6f94dfb4ad0ea84fe9bd83
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=cf5669099d155c797317bc6fd815fbee
diff --git a/metadata/md5-cache/chromeos-base/arc-sdcard-0.0.1-r350 b/metadata/md5-cache/chromeos-base/arc-sdcard-0.0.1-r350
deleted file mode 100644
index 7f2de8e..0000000
--- a/metadata/md5-cache/chromeos-base/arc-sdcard-0.0.1-r350
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Container to run Android's sdcard daemon.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/sdcard
-IUSE=esdfs cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_94ae762a180b92279a7a9f0009240f9eaa7f435e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_94ae762a180b92279a7a9f0009240f9eaa7f435e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=!esdfs? ( chromeos-base/arc-setup ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r350
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=de9a85420b6a5fc1c77ccebcd2d8e8a3
diff --git a/metadata/md5-cache/chromeos-base/arc-sdcard-0.0.1-r409 b/metadata/md5-cache/chromeos-base/arc-sdcard-0.0.1-r409
new file mode 100644
index 0000000..14216de
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/arc-sdcard-0.0.1-r409
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Container to run Android's sdcard daemon.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/sdcard
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_a050dd7c355cb42fde90fdb9c3c4334389d0acb5_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_a050dd7c355cb42fde90fdb9c3c4334389d0acb5_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r409
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b2d92e83ffc6b2ef75b7171455bc32f7
diff --git a/metadata/md5-cache/chromeos-base/arc-sdcard-9999 b/metadata/md5-cache/chromeos-base/arc-sdcard-9999
index d033e73..b52b207 100644
--- a/metadata/md5-cache/chromeos-base/arc-sdcard-9999
+++ b/metadata/md5-cache/chromeos-base/arc-sdcard-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Container to run Android's sdcard daemon.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/sdcard
-IUSE=esdfs cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/container/sdcard
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=!esdfs? ( chromeos-base/arc-setup ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a2449615783a3abfa1d2f1d42db2b5b3
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6848a026cf4caf8b892c1d2d01e081c6
diff --git a/metadata/md5-cache/chromeos-base/arc-sensor-service-0.0.1-r141 b/metadata/md5-cache/chromeos-base/arc-sensor-service-0.0.1-r141
deleted file mode 100644
index f25045d..0000000
--- a/metadata/md5-cache/chromeos-base/arc-sensor-service-0.0.1-r141
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=ARC sensor service.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/sensor_service
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_ea8176237ca94f102e81c98c7c2de00416c2c643_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_ea8176237ca94f102e81c98c7c2de00416c2c643_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r141
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c1924a650030fe7d20efba7fb4bd656e
diff --git a/metadata/md5-cache/chromeos-base/arc-sensor-service-0.0.1-r201 b/metadata/md5-cache/chromeos-base/arc-sensor-service-0.0.1-r201
new file mode 100644
index 0000000..e979403
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/arc-sensor-service-0.0.1-r201
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=ARC sensor service.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/sensor_service
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_cffb412aeb8981beccb3e710c15dbf0d33e790c6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_cffb412aeb8981beccb3e710c15dbf0d33e790c6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r201
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c647400834d6151ddcb3c5238bb07719
diff --git a/metadata/md5-cache/chromeos-base/arc-sensor-service-9999 b/metadata/md5-cache/chromeos-base/arc-sensor-service-9999
index 79bb80b..601c2f1 100644
--- a/metadata/md5-cache/chromeos-base/arc-sensor-service-9999
+++ b/metadata/md5-cache/chromeos-base/arc-sensor-service-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=ARC sensor service.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/sensor_service
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/sensor_service
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=4cfd03d229dc1402cd6efccb05751162
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e85a930365d9fef920e35c53bef0a173
diff --git a/metadata/md5-cache/chromeos-base/arc-setup-0.0.1-r1422 b/metadata/md5-cache/chromeos-base/arc-setup-0.0.1-r1422
deleted file mode 100644
index c11bbf3..0000000
--- a/metadata/md5-cache/chromeos-base/arc-setup-0.0.1-r1422
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=arcpp? ( esdfs? ( chromeos-base/arc-sdcard ) ) chromeos-base/bootstat:= chromeos-base/chromeos-config-tools:= chromeos-base/cryptohome-client:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/patchpanel-client:= dev-libs/libxml2:= dev-libs/protobuf:= sys-libs/libselinux:= chromeos-base/minijail:= chromeos-base/system_api:=[fuzzer?] test? ( chromeos-base/arc-base ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Set up environment to run ARC.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/setup
-IUSE=arc_hw_oemcrypto arcpp arcvm esdfs fuzzer houdini houdini64 iioservice ndk_translation test cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_82b198e146c39b3510c297fb3bf0d60e01db4d77_bea140d13f7cf1092e4c89a45011c04c28327972_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_82b198e146c39b3510c297fb3bf0d60e01db4d77_bea140d13f7cf1092e4c89a45011c04c28327972_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=arcpp? ( esdfs? ( chromeos-base/arc-sdcard ) ) chromeos-base/bootstat:= chromeos-base/chromeos-config-tools:= chromeos-base/cryptohome-client:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/patchpanel-client:= dev-libs/libxml2:= dev-libs/protobuf:= sys-libs/libselinux:= chromeos-base/minijail:= !<chromeos-base/arc-common-scripts-0.0.1-r131 !<chromeos-base/arcvm-common-scripts-0.0.1-r77 chromeos-base/patchpanel arcvm? ( chromeos-base/crosvm ) arcpp? ( chromeos-base/swap-init esdfs? ( sys-apps/restorecon ) ) virtual/tmpfiles has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-REQUIRED_USE=|| ( arcpp arcvm )
-SLOT=0/0.0.1-r1422
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=55b23e3455b5906cc980a48f821bc44f
diff --git a/metadata/md5-cache/chromeos-base/arc-setup-0.0.1-r1600 b/metadata/md5-cache/chromeos-base/arc-setup-0.0.1-r1600
new file mode 100644
index 0000000..a2a9201a
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/arc-setup-0.0.1-r1600
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=arcpp? ( chromeos-base/arc-sdcard ) chromeos-base/bootstat:= chromeos-base/chromeos-config-tools:= chromeos-base/cryptohome-client:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/patchpanel-client:= dev-libs/libxml2:= dev-libs/protobuf:= sys-libs/libselinux:= chromeos-base/minijail:= chromeos-base/system_api:=[fuzzer?] test? ( chromeos-base/arc-base ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Set up environment to run ARC.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/setup
+IUSE=arc_hw_oemcrypto arcpp arcvm fuzzer houdini houdini64 iioservice ndk_translation test cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_07cb07d94b34715810e1a88257031e7091d1a5f5_527abd7a988a45572305a6c44b5324d0d9cf8be2_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_07cb07d94b34715810e1a88257031e7091d1a5f5_527abd7a988a45572305a6c44b5324d0d9cf8be2_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=arcpp? ( chromeos-base/arc-sdcard ) chromeos-base/bootstat:= chromeos-base/chromeos-config-tools:= chromeos-base/cryptohome-client:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/patchpanel-client:= dev-libs/libxml2:= dev-libs/protobuf:= sys-libs/libselinux:= chromeos-base/minijail:= !<chromeos-base/arc-common-scripts-0.0.1-r131 !<chromeos-base/arcvm-common-scripts-0.0.1-r77 chromeos-base/patchpanel arcvm? ( chromeos-base/crosvm ) arcpp? ( chromeos-base/swap-init sys-apps/restorecon ) virtual/tmpfiles has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=|| ( arcpp arcvm )
+SLOT=0/0.0.1-r1600
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f16ef3dd781714440604950491722df7
diff --git a/metadata/md5-cache/chromeos-base/arc-setup-9999 b/metadata/md5-cache/chromeos-base/arc-setup-9999
index cd1fede..30fb6e0 100644
--- a/metadata/md5-cache/chromeos-base/arc-setup-9999
+++ b/metadata/md5-cache/chromeos-base/arc-setup-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=arcpp? ( esdfs? ( chromeos-base/arc-sdcard ) ) chromeos-base/bootstat:= chromeos-base/chromeos-config-tools:= chromeos-base/cryptohome-client:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/patchpanel-client:= dev-libs/libxml2:= dev-libs/protobuf:= sys-libs/libselinux:= chromeos-base/minijail:= chromeos-base/system_api:=[fuzzer?] test? ( chromeos-base/arc-base ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=arcpp? ( chromeos-base/arc-sdcard ) chromeos-base/bootstat:= chromeos-base/chromeos-config-tools:= chromeos-base/cryptohome-client:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/patchpanel-client:= dev-libs/libxml2:= dev-libs/protobuf:= sys-libs/libselinux:= chromeos-base/minijail:= chromeos-base/system_api:=[fuzzer?] test? ( chromeos-base/arc-base ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Set up environment to run ARC.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/setup
-IUSE=arc_hw_oemcrypto arcpp arcvm esdfs fuzzer houdini houdini64 iioservice ndk_translation test cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/setup
+IUSE=arc_hw_oemcrypto arcpp arcvm fuzzer houdini houdini64 iioservice ndk_translation test cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=arcpp? ( esdfs? ( chromeos-base/arc-sdcard ) ) chromeos-base/bootstat:= chromeos-base/chromeos-config-tools:= chromeos-base/cryptohome-client:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/patchpanel-client:= dev-libs/libxml2:= dev-libs/protobuf:= sys-libs/libselinux:= chromeos-base/minijail:= !<chromeos-base/arc-common-scripts-0.0.1-r131 !<chromeos-base/arcvm-common-scripts-0.0.1-r77 chromeos-base/patchpanel arcvm? ( chromeos-base/crosvm ) arcpp? ( chromeos-base/swap-init esdfs? ( sys-apps/restorecon ) ) virtual/tmpfiles has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+RDEPEND=arcpp? ( chromeos-base/arc-sdcard ) chromeos-base/bootstat:= chromeos-base/chromeos-config-tools:= chromeos-base/cryptohome-client:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/patchpanel-client:= dev-libs/libxml2:= dev-libs/protobuf:= sys-libs/libselinux:= chromeos-base/minijail:= !<chromeos-base/arc-common-scripts-0.0.1-r131 !<chromeos-base/arcvm-common-scripts-0.0.1-r77 chromeos-base/patchpanel arcvm? ( chromeos-base/crosvm ) arcpp? ( chromeos-base/swap-init sys-apps/restorecon ) virtual/tmpfiles has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 REQUIRED_USE=|| ( arcpp arcvm )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c1f350a172399d874fbaee981ec964dd
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=fc3c4a69cdd23a3fc3825e9e603320be
diff --git a/metadata/md5-cache/chromeos-base/arc-sslh-init-0.0.1-r22 b/metadata/md5-cache/chromeos-base/arc-sslh-init-0.0.1-r24
similarity index 100%
rename from metadata/md5-cache/chromeos-base/arc-sslh-init-0.0.1-r22
rename to metadata/md5-cache/chromeos-base/arc-sslh-init-0.0.1-r24
diff --git a/metadata/md5-cache/chromeos-base/arcvm-boot-notification-server-0.0.1-r163 b/metadata/md5-cache/chromeos-base/arcvm-boot-notification-server-0.0.1-r163
deleted file mode 100644
index 51deebd..0000000
--- a/metadata/md5-cache/chromeos-base/arcvm-boot-notification-server-0.0.1-r163
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=ARCVM boot notification server
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/boot_notification_server
-IUSE=+seccomp cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_cb40b464bebda1c6fe4169ae48078e8388cfacde_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_cb40b464bebda1c6fe4169ae48078e8388cfacde_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=917aeee21a4112cc3432f4e6fc3140d2
diff --git a/metadata/md5-cache/chromeos-base/arcvm-boot-notification-server-0.0.1-r224 b/metadata/md5-cache/chromeos-base/arcvm-boot-notification-server-0.0.1-r224
new file mode 100644
index 0000000..11f4067
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/arcvm-boot-notification-server-0.0.1-r224
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=ARCVM boot notification server
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/boot_notification_server
+IUSE=+seccomp cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_88e843cfa45c09f42d875d1276aa8c51d84540c6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_88e843cfa45c09f42d875d1276aa8c51d84540c6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=30fe1c18472332ebcb35108964b3b9c3
diff --git a/metadata/md5-cache/chromeos-base/arcvm-boot-notification-server-9999 b/metadata/md5-cache/chromeos-base/arcvm-boot-notification-server-9999
index 095e225..b0413a1 100644
--- a/metadata/md5-cache/chromeos-base/arcvm-boot-notification-server-9999
+++ b/metadata/md5-cache/chromeos-base/arcvm-boot-notification-server-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=ARCVM boot notification server
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/boot_notification_server
-IUSE=+seccomp cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/boot_notification_server
+IUSE=+seccomp cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=57dae0871a0fad1995e17d6734e131a0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=39339242c9135a6f008c370449198289
diff --git a/metadata/md5-cache/chromeos-base/arcvm-codec-software-0.0.1 b/metadata/md5-cache/chromeos-base/arcvm-codec-software-0.0.1
index e648666..430d54b 100644
--- a/metadata/md5-cache/chromeos-base/arcvm-codec-software-0.0.1
+++ b/metadata/md5-cache/chromeos-base/arcvm-codec-software-0.0.1
@@ -1,10 +1,10 @@
 DEFINED_PHASES=install
 DESCRIPTION=Install software codec configuration on ARCVM
 EAPI=5
-IUSE=arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
+IUSE=arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
 KEYWORDS=*
 LICENSE=BSD-Google
-REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
+REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
 SLOT=0
-_eclasses_=arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f
+_eclasses_=arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615
 _md5_=011cd10f6e7454dcc655e5557be790bd
diff --git a/metadata/md5-cache/chromeos-base/arcvm-codec-software-0.0.1-r1 b/metadata/md5-cache/chromeos-base/arcvm-codec-software-0.0.1-r1
index e648666..430d54b 100644
--- a/metadata/md5-cache/chromeos-base/arcvm-codec-software-0.0.1-r1
+++ b/metadata/md5-cache/chromeos-base/arcvm-codec-software-0.0.1-r1
@@ -1,10 +1,10 @@
 DEFINED_PHASES=install
 DESCRIPTION=Install software codec configuration on ARCVM
 EAPI=5
-IUSE=arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
+IUSE=arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
 KEYWORDS=*
 LICENSE=BSD-Google
-REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
+REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
 SLOT=0
-_eclasses_=arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f
+_eclasses_=arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615
 _md5_=011cd10f6e7454dcc655e5557be790bd
diff --git a/metadata/md5-cache/chromeos-base/arcvm-common-scripts-0.0.1-r203 b/metadata/md5-cache/chromeos-base/arcvm-common-scripts-0.0.1-r203
deleted file mode 100644
index 6d4bfab..0000000
--- a/metadata/md5-cache/chromeos-base/arcvm-common-scripts-0.0.1-r203
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install setup unpack
-DESCRIPTION=ARCVM common scripts.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/scripts
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e5d7f3967cfc251309ff3084c98e55862fcb0cd7_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=!<=chromeos-base/arc-base-0.0.1-r349 !<=chromeos-base/arc-common-scripts-0.0.1-r132 chromeos-base/arcvm-mount-media-dirs
-SLOT=0/0.0.1-r203
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=af88eaffc4142d95a3b485fb475ccb36
diff --git a/metadata/md5-cache/chromeos-base/arcvm-common-scripts-0.0.1-r262 b/metadata/md5-cache/chromeos-base/arcvm-common-scripts-0.0.1-r262
new file mode 100644
index 0000000..ccf58c7
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/arcvm-common-scripts-0.0.1-r262
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=ARCVM common scripts.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/scripts
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_6c8e31ddd8673a4d0a97c41281778e94def0e37a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=!<=chromeos-base/arc-base-0.0.1-r349 !<=chromeos-base/arc-common-scripts-0.0.1-r132 chromeos-base/arcvm-mount-media-dirs
+SLOT=0/0.0.1-r262
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d258a99742da4677d29a3bd7c65211a8
diff --git a/metadata/md5-cache/chromeos-base/arcvm-common-scripts-9999 b/metadata/md5-cache/chromeos-base/arcvm-common-scripts-9999
index 5f0d4b9..628b475 100644
--- a/metadata/md5-cache/chromeos-base/arcvm-common-scripts-9999
+++ b/metadata/md5-cache/chromeos-base/arcvm-common-scripts-9999
@@ -2,12 +2,12 @@
 DEFINED_PHASES=info install setup unpack
 DESCRIPTION=ARCVM common scripts.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/scripts
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/scripts
 IUSE=cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 RDEPEND=!<=chromeos-base/arc-base-0.0.1-r349 !<=chromeos-base/arc-common-scripts-0.0.1-r132 chromeos-base/arcvm-mount-media-dirs
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=1bff439b681cf3685400f535f0456d56
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0e28a122feced83991a05a9b5689dab7
diff --git a/metadata/md5-cache/chromeos-base/arcvm-forward-pstore-0.0.1-r240 b/metadata/md5-cache/chromeos-base/arcvm-forward-pstore-0.0.1-r240
deleted file mode 100644
index aac5126..0000000
--- a/metadata/md5-cache/chromeos-base/arcvm-forward-pstore-0.0.1-r240
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/protobuf:= chromeos-base/system_api:= chromeos-base/vm_protos:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Forwards pstore file for ARCVM after upgrade.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/forward-pstore
-IUSE=+seccomp cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_9fceef079c99bc96987ec7b55cac1e78ee986ce1_7ef75a42aba67052842459f221271e681184cc89_c1bde153626532428bf7409bc0597e79452c5eb8 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_9fceef079c99bc96987ec7b55cac1e78ee986ce1_7ef75a42aba67052842459f221271e681184cc89_c1bde153626532428bf7409bc0597e79452c5eb8 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d4fcdc0a50850915d31c5018c0089128
diff --git a/metadata/md5-cache/chromeos-base/arcvm-forward-pstore-9999 b/metadata/md5-cache/chromeos-base/arcvm-forward-pstore-9999
deleted file mode 100644
index 9639031..0000000
--- a/metadata/md5-cache/chromeos-base/arcvm-forward-pstore-9999
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/protobuf:= chromeos-base/system_api:= chromeos-base/vm_protos:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Forwards pstore file for ARCVM after upgrade.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/forward-pstore
-IUSE=+seccomp cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
-KEYWORDS=~*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5fe2f9eb5c671a0f0b8ddc515adfbe39
diff --git a/metadata/md5-cache/chromeos-base/arcvm-mojo-proxy-0.0.1-r162 b/metadata/md5-cache/chromeos-base/arcvm-mojo-proxy-0.0.1-r162
new file mode 100644
index 0000000..85f2462
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/arcvm-mojo-proxy-0.0.1-r162
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=dev-libs/protobuf:= sys-fs/fuse >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=ARCVM mojo proxy.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/mojo_proxy
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9f169e2d15cb3a0fb7ed9bf55a6a443166e10796_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9f169e2d15cb3a0fb7ed9bf55a6a443166e10796_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=dev-libs/protobuf:= sys-fs/fuse >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r162
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=c1a3a11ef217440bb1af9bcb94abe2d8
diff --git a/metadata/md5-cache/chromeos-base/arcvm-mojo-proxy-0.0.1-r98 b/metadata/md5-cache/chromeos-base/arcvm-mojo-proxy-0.0.1-r98
deleted file mode 100644
index 6c2ece3..0000000
--- a/metadata/md5-cache/chromeos-base/arcvm-mojo-proxy-0.0.1-r98
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/protobuf:= sys-fs/fuse >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=ARCVM mojo proxy.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/mojo_proxy
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_12325c256ae55736c53ef164730309387a7208e8_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_12325c256ae55736c53ef164730309387a7208e8_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=dev-libs/protobuf:= sys-fs/fuse >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r98
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e4b72cd4e24fa9f68714819a24c91417
diff --git a/metadata/md5-cache/chromeos-base/arcvm-mojo-proxy-9999 b/metadata/md5-cache/chromeos-base/arcvm-mojo-proxy-9999
index 9bad7e2..9ba03a0 100644
--- a/metadata/md5-cache/chromeos-base/arcvm-mojo-proxy-9999
+++ b/metadata/md5-cache/chromeos-base/arcvm-mojo-proxy-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/protobuf:= sys-fs/fuse >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=dev-libs/protobuf:= sys-fs/fuse >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=ARCVM mojo proxy.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/mojo_proxy
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/mojo_proxy
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=dev-libs/protobuf:= sys-fs/fuse >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+RDEPEND=dev-libs/protobuf:= sys-fs/fuse >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=56dc2b8baa69779e97bc7699a8485c8f
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=a80af3b77795b2da7c0302dc270ee65c
diff --git a/metadata/md5-cache/chromeos-base/arcvm-mount-media-dirs-0.0.1-r127 b/metadata/md5-cache/chromeos-base/arcvm-mount-media-dirs-0.0.1-r127
deleted file mode 100644
index 0053db3..0000000
--- a/metadata/md5-cache/chromeos-base/arcvm-mount-media-dirs-0.0.1-r127
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install setup unpack
-DESCRIPTION=Mount media directories on a mount point shared with ARCVM.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/scripts/init/mount-media-dirs
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_954e934fa76d67253d978d97346b24a1fce9be2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/mount-passthrough
-SLOT=0/0.0.1-r127
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=cf0910aca794d8531601418d5c5d1c8b
diff --git a/metadata/md5-cache/chromeos-base/arcvm-mount-media-dirs-0.0.1-r185 b/metadata/md5-cache/chromeos-base/arcvm-mount-media-dirs-0.0.1-r185
new file mode 100644
index 0000000..ee442ee
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/arcvm-mount-media-dirs-0.0.1-r185
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Mount media directories on a mount point shared with ARCVM.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/scripts/init/mount-media-dirs
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_52a8dfd1ecf17b48fee49f656fc032c0fab03760_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/mount-passthrough
+SLOT=0/0.0.1-r185
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b5df71527f95a17d427b6e6a31a2d4a2
diff --git a/metadata/md5-cache/chromeos-base/arcvm-mount-media-dirs-9999 b/metadata/md5-cache/chromeos-base/arcvm-mount-media-dirs-9999
index 8b3a567..0d7c395 100644
--- a/metadata/md5-cache/chromeos-base/arcvm-mount-media-dirs-9999
+++ b/metadata/md5-cache/chromeos-base/arcvm-mount-media-dirs-9999
@@ -2,12 +2,12 @@
 DEFINED_PHASES=info install setup unpack
 DESCRIPTION=Mount media directories on a mount point shared with ARCVM.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/scripts/init/mount-media-dirs
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/scripts/init/mount-media-dirs
 IUSE=cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 RDEPEND=chromeos-base/mount-passthrough
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c44d451e0153287762781756f3bf287d
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=bc91b4752d7e94805ff1006f11326569
diff --git a/metadata/md5-cache/chromeos-base/assistant-dlc-0.0.1-r2 b/metadata/md5-cache/chromeos-base/assistant-dlc-0.0.1-r2
new file mode 100644
index 0000000..6cd5b61
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/assistant-dlc-0.0.1-r2
@@ -0,0 +1,10 @@
+DEFINED_PHASES=info install setup unpack
+DEPEND=chromeos-base/chromeos-chrome:=
+DESCRIPTION=Assistant DLC
+EAPI=7
+IUSE=cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
+KEYWORDS=*
+LICENSE=BSD-Google
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	dlc	980ce13d2129fa5614d43ffa9d1bb90f	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=03bc8efb8aaf824cd5362290856edea1
diff --git a/metadata/md5-cache/chromeos-base/assistant-dlc-9999 b/metadata/md5-cache/chromeos-base/assistant-dlc-9999
new file mode 100644
index 0000000..39bec9b
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/assistant-dlc-9999
@@ -0,0 +1,10 @@
+DEFINED_PHASES=info install setup unpack
+DEPEND=chromeos-base/chromeos-chrome:=
+DESCRIPTION=Assistant DLC
+EAPI=7
+IUSE=cros_host cros_workon_tree_
+KEYWORDS=~*
+LICENSE=BSD-Google
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	dlc	980ce13d2129fa5614d43ffa9d1bb90f	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b670b49cce11e46d1c1823469f1e7625
diff --git a/metadata/md5-cache/chromeos-base/atrusctl-0.0.1-r1033 b/metadata/md5-cache/chromeos-base/atrusctl-0.0.1-r1033
deleted file mode 100644
index a0777b2..0000000
--- a/metadata/md5-cache/chromeos-base/atrusctl-0.0.1-r1033
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=virtual/libusb:1 virtual/libudev:0= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=CrOS daemon for the Atrus speakerphone
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/atrusctl/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e791cbb573288deecc226b0d77ab4583fe9f747f cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e791cbb573288deecc226b0d77ab4583fe9f747f cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=virtual/libusb:1 virtual/libudev:0= !sys-apps/atrusctl >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r1033
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=842a480806d8bd0375c3b8210e4a9e94
diff --git a/metadata/md5-cache/chromeos-base/atrusctl-0.0.1-r1090 b/metadata/md5-cache/chromeos-base/atrusctl-0.0.1-r1090
new file mode 100644
index 0000000..7ccc08c
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/atrusctl-0.0.1-r1090
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=virtual/libusb:1 virtual/libudev:0= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=CrOS daemon for the Atrus speakerphone
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/atrusctl/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e791cbb573288deecc226b0d77ab4583fe9f747f cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e791cbb573288deecc226b0d77ab4583fe9f747f cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=virtual/libusb:1 virtual/libudev:0= !sys-apps/atrusctl >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r1090
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=88529b5a84923aed770062d73d3b0442
diff --git a/metadata/md5-cache/chromeos-base/atrusctl-9999 b/metadata/md5-cache/chromeos-base/atrusctl-9999
index 1533ce3..01797cd 100644
--- a/metadata/md5-cache/chromeos-base/atrusctl-9999
+++ b/metadata/md5-cache/chromeos-base/atrusctl-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=virtual/libusb:1 virtual/libudev:0= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=virtual/libusb:1 virtual/libudev:0= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=CrOS daemon for the Atrus speakerphone
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/atrusctl/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=virtual/libusb:1 virtual/libudev:0= !sys-apps/atrusctl >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
 _md5_=f98821055cc3d7477ed44a3a63a2f2d4
diff --git a/metadata/md5-cache/chromeos-base/attestation-0.0.1-r3424 b/metadata/md5-cache/chromeos-base/attestation-0.0.1-r3424
deleted file mode 100644
index 5792378..0000000
--- a/metadata/md5-cache/chromeos-base/attestation-0.0.1-r3424
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/chaps:= chromeos-base/libhwsec-foundation:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/tpm_manager:= chromeos-base/attestation-client test? ( chromeos-base/libhwsec:= ) chromeos-base/vboot_reference:= tpm2? ( chromeos-base/trunks:=[test?] chromeos-base/chromeos-ec-headers:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Attestation service for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/attestation/
-IUSE=generic_tpm2 test tpm tpm_dynamic tpm2 cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_3e8ec46db7a894d8f90bf457f66dbe4e3efad0e1_b8893a9e8fdf8b402519c4496addb087f21fbe50_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_b1c7898d3f42051cbba6426c62b35476a8de5b72_4a0dedab080195bdc122d2289118df4af3ddca2c_2acba33c99f07fa000bb44a4df3a65a8fe313bb1_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_3e8ec46db7a894d8f90bf457f66dbe4e3efad0e1_b8893a9e8fdf8b402519c4496addb087f21fbe50_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_b1c7898d3f42051cbba6426c62b35476a8de5b72_4a0dedab080195bdc122d2289118df4af3ddca2c_2acba33c99f07fa000bb44a4df3a65a8fe313bb1_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=Apache-2.0
-PROPERTIES=live live
-RDEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/chaps:= chromeos-base/libhwsec-foundation:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/tpm_manager:= chromeos-base/attestation-client >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
-SLOT=0/0.0.1-r3424
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=e96f60cda79c82c5856304ab2719b1a1
diff --git a/metadata/md5-cache/chromeos-base/attestation-0.0.1-r3625 b/metadata/md5-cache/chromeos-base/attestation-0.0.1-r3625
new file mode 100644
index 0000000..b8ca1d8
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/attestation-0.0.1-r3625
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/chaps:= chromeos-base/libhwsec:=[test?] chromeos-base/libhwsec-foundation:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/tpm_manager:= chromeos-base/attestation-client chromeos-base/vboot_reference:= tpm2? ( chromeos-base/trunks:=[test?] chromeos-base/chromeos-ec-headers:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Attestation service for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/attestation/
+IUSE=generic_tpm2 test ti50_onboard tpm tpm_dynamic tpm2 cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_46debaa1a374952167d5a2ca0bdf36013f053bc3_2e72f56ad37eadb01ad2b42e9938beb23cb3a389_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_944879c9353c2df8adb7022407a8d319671325c1_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_46debaa1a374952167d5a2ca0bdf36013f053bc3_2e72f56ad37eadb01ad2b42e9938beb23cb3a389_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_944879c9353c2df8adb7022407a8d319671325c1_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=Apache-2.0
+PROPERTIES=live live
+RDEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/chaps:= chromeos-base/libhwsec:=[test?] chromeos-base/libhwsec-foundation:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/tpm_manager:= chromeos-base/attestation-client >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
+SLOT=0/0.0.1-r3625
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=1b3636881dd2b5f93ca1c94588cf70f7
diff --git a/metadata/md5-cache/chromeos-base/attestation-9999 b/metadata/md5-cache/chromeos-base/attestation-9999
index 496e12c..80e0f38 100644
--- a/metadata/md5-cache/chromeos-base/attestation-9999
+++ b/metadata/md5-cache/chromeos-base/attestation-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/chaps:= chromeos-base/libhwsec-foundation:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/tpm_manager:= chromeos-base/attestation-client test? ( chromeos-base/libhwsec:= ) chromeos-base/vboot_reference:= tpm2? ( chromeos-base/trunks:=[test?] chromeos-base/chromeos-ec-headers:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/chaps:= chromeos-base/libhwsec:=[test?] chromeos-base/libhwsec-foundation:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/tpm_manager:= chromeos-base/attestation-client chromeos-base/vboot_reference:= tpm2? ( chromeos-base/trunks:=[test?] chromeos-base/chromeos-ec-headers:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Attestation service for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/attestation/
-IUSE=generic_tpm2 test tpm tpm_dynamic tpm2 cros_host cros_workon_tree_ cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/attestation/
+IUSE=generic_tpm2 test ti50_onboard tpm tpm_dynamic tpm2 cros_host cros_workon_tree_ cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=Apache-2.0
 PROPERTIES=live live
-RDEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/chaps:= chromeos-base/libhwsec-foundation:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/tpm_manager:= chromeos-base/attestation-client >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+RDEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/chaps:= chromeos-base/libhwsec:=[test?] chromeos-base/libhwsec-foundation:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/tpm_manager:= chromeos-base/attestation-client >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=67304944b8eca377038e54a0e4f0cb93
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=7e7ac776afc79ec05fa916ff482e31c5
diff --git a/metadata/md5-cache/chromeos-base/attestation-client-0.0.1-r412 b/metadata/md5-cache/chromeos-base/attestation-client-0.0.1-r412
deleted file mode 100644
index f2dda9f..0000000
--- a/metadata/md5-cache/chromeos-base/attestation-client-0.0.1-r412
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=cros_host? ( >=chromeos-base/chromeos-dbus-bindings-0.0.1-r1058 ) chromeos-base/libbrillo:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Attestation D-Bus client library for Chromium OS
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/attestation/client/
-IUSE=cros_host cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_3e8ec46db7a894d8f90bf457f66dbe4e3efad0e1_b1c7898d3f42051cbba6426c62b35476a8de5b72_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_3e8ec46db7a894d8f90bf457f66dbe4e3efad0e1_b1c7898d3f42051cbba6426c62b35476a8de5b72_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=!<chromeos-base/attestation-0.0.1 chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=5863aaba7d6cb49645b6dc0c39ee8b0e
diff --git a/metadata/md5-cache/chromeos-base/attestation-client-0.0.1-r515 b/metadata/md5-cache/chromeos-base/attestation-client-0.0.1-r515
new file mode 100644
index 0000000..b6db1af
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/attestation-client-0.0.1-r515
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=cros_host? ( >=chromeos-base/chromeos-dbus-bindings-0.0.1-r1058 ) chromeos-base/libbrillo:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Attestation D-Bus client library for Chromium OS
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/attestation/client/
+IUSE=cros_host cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_46debaa1a374952167d5a2ca0bdf36013f053bc3_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_46debaa1a374952167d5a2ca0bdf36013f053bc3_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=!<chromeos-base/attestation-0.0.1 chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=6f8b2641bb25d69d6fe1b060dfff895f
diff --git a/metadata/md5-cache/chromeos-base/attestation-client-9999 b/metadata/md5-cache/chromeos-base/attestation-client-9999
index cd87669..fdf80c4 100644
--- a/metadata/md5-cache/chromeos-base/attestation-client-9999
+++ b/metadata/md5-cache/chromeos-base/attestation-client-9999
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=cros_host? ( >=chromeos-base/chromeos-dbus-bindings-0.0.1-r1058 ) chromeos-base/libbrillo:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=cros_host? ( >=chromeos-base/chromeos-dbus-bindings-0.0.1-r1058 ) chromeos-base/libbrillo:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Attestation D-Bus client library for Chromium OS
 EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/attestation/client/
-IUSE=cros_host cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/attestation/client/
+IUSE=cros_host cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=!<chromeos-base/attestation-0.0.1 chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=6bbb7d668b5ab89b51d8c1306eb1469a
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=7b55e8eee94015ca09187443939e7a8a
diff --git a/metadata/md5-cache/chromeos-base/audiotest-0.0.1-r102 b/metadata/md5-cache/chromeos-base/audiotest-0.0.1-r102
deleted file mode 100644
index f3499f2..0000000
--- a/metadata/md5-cache/chromeos-base/audiotest-0.0.1-r102
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=media-libs/alsa-lib media-sound/adhd
-DESCRIPTION=Audio test tools
-EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/audiotest
-IUSE=-asan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_414efb538cdece5f0b7f251484d30e49ddefedb8
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=media-libs/alsa-lib media-sound/adhd
-SLOT=0
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=c65e6cd7568429391f1359db3ec069af
diff --git a/metadata/md5-cache/chromeos-base/audiotest-0.0.1-r104 b/metadata/md5-cache/chromeos-base/audiotest-0.0.1-r104
new file mode 100644
index 0000000..53d4345
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/audiotest-0.0.1-r104
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=media-libs/alsa-lib media-sound/adhd
+DESCRIPTION=Audio test tools
+EAPI=6
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/audiotest
+IUSE=-asan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_4ff961d4d9adf59e6a4c47b6c24652b1d46f1b50
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=media-libs/alsa-lib media-sound/adhd
+SLOT=0
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=e7564c44b72c1df74cb9c93d6b16deb4
diff --git a/metadata/md5-cache/chromeos-base/audiotest-9999 b/metadata/md5-cache/chromeos-base/audiotest-9999
index 150b479..9bdfd07 100644
--- a/metadata/md5-cache/chromeos-base/audiotest-9999
+++ b/metadata/md5-cache/chromeos-base/audiotest-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=media-libs/alsa-lib media-sound/adhd
 SLOT=0
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=eeffca7f4419927811c3e3ff456171ec
diff --git a/metadata/md5-cache/chromeos-base/authpolicy-0.0.1-r1762 b/metadata/md5-cache/chromeos-base/authpolicy-0.0.1-r1762
deleted file mode 100644
index e30f45a..0000000
--- a/metadata/md5-cache/chromeos-base/authpolicy-0.0.1-r1762
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=app-crypt/mit-krb5:= chromeos-base/cryptohome-client:= chromeos-base/libbrillo:=[asan?,fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= >=chromeos-base/minijail-0.0.1-r1477:= dev-libs/protobuf:= samba? ( >=net-fs/samba-4.5.3-r6:= ) sys-apps/dbus:= sys-libs/libcap:= >=chromeos-base/protofiles-0.0.55:= chromeos-base/session_manager-client:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Provides authentication to LDAP and fetching device/user policies
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/authpolicy/
-IUSE=+samba asan fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_b701f8fc5fbbe149f7df5cf1c4e73593ff0ef14d_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_b701f8fc5fbbe149f7df5cf1c4e73593ff0ef14d_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=app-crypt/mit-krb5:= chromeos-base/cryptohome-client:= chromeos-base/libbrillo:=[asan?,fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= >=chromeos-base/minijail-0.0.1-r1477:= dev-libs/protobuf:= samba? ( >=net-fs/samba-4.5.3-r6:= ) sys-apps/dbus:= sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=c45bd2281ea9880d8181f22636a7b7a0
diff --git a/metadata/md5-cache/chromeos-base/authpolicy-0.0.1-r1874 b/metadata/md5-cache/chromeos-base/authpolicy-0.0.1-r1874
new file mode 100644
index 0000000..af610d0
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/authpolicy-0.0.1-r1874
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=app-crypt/mit-krb5:= chromeos-base/cryptohome-client:= chromeos-base/libbrillo:=[asan?,fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= >=chromeos-base/minijail-0.0.1-r1477:= dev-libs/protobuf:= samba? ( >=net-fs/samba-4.5.3-r6:= ) sys-apps/dbus:= sys-libs/libcap:= >=chromeos-base/protofiles-0.0.67:= chromeos-base/session_manager-client:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Provides authentication to LDAP and fetching device/user policies
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/authpolicy/
+IUSE=+samba asan fuzzer cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_b264cb6b90c6ebf905cc374ca3ebd7011ea5fe8c_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_b264cb6b90c6ebf905cc374ca3ebd7011ea5fe8c_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=app-crypt/mit-krb5:= chromeos-base/cryptohome-client:= chromeos-base/libbrillo:=[asan?,fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= >=chromeos-base/minijail-0.0.1-r1477:= dev-libs/protobuf:= samba? ( >=net-fs/samba-4.5.3-r6:= ) sys-apps/dbus:= sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=73b51a36529ce97e27ca07bd7537d16f
diff --git a/metadata/md5-cache/chromeos-base/authpolicy-9999 b/metadata/md5-cache/chromeos-base/authpolicy-9999
index 69006f2..8a32432 100644
--- a/metadata/md5-cache/chromeos-base/authpolicy-9999
+++ b/metadata/md5-cache/chromeos-base/authpolicy-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=app-crypt/mit-krb5:= chromeos-base/cryptohome-client:= chromeos-base/libbrillo:=[asan?,fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= >=chromeos-base/minijail-0.0.1-r1477:= dev-libs/protobuf:= samba? ( >=net-fs/samba-4.5.3-r6:= ) sys-apps/dbus:= sys-libs/libcap:= >=chromeos-base/protofiles-0.0.55:= chromeos-base/session_manager-client:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=app-crypt/mit-krb5:= chromeos-base/cryptohome-client:= chromeos-base/libbrillo:=[asan?,fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= >=chromeos-base/minijail-0.0.1-r1477:= dev-libs/protobuf:= samba? ( >=net-fs/samba-4.5.3-r6:= ) sys-apps/dbus:= sys-libs/libcap:= >=chromeos-base/protofiles-0.0.67:= chromeos-base/session_manager-client:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Provides authentication to LDAP and fetching device/user policies
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/authpolicy/
-IUSE=+samba asan fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/authpolicy/
+IUSE=+samba asan fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=app-crypt/mit-krb5:= chromeos-base/cryptohome-client:= chromeos-base/libbrillo:=[asan?,fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= >=chromeos-base/minijail-0.0.1-r1477:= dev-libs/protobuf:= samba? ( >=net-fs/samba-4.5.3-r6:= ) sys-apps/dbus:= sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=2b9c55a9eea8b3ed072d3b0995dee896
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=38174060069ae7b308fda39167e12b0b
diff --git a/metadata/md5-cache/chromeos-base/autotest-0.0.2-r15464 b/metadata/md5-cache/chromeos-base/autotest-0.0.2-r15464
deleted file mode 100644
index de1b4d8..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-0.0.2-r15464
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install postinst prepare setup test unpack
-DEPEND=!<chromeos-base/autotest-chrome-0.0.1-r1788 !<chromeos-base/autotest-tests-0.0.1-r3291 !<chromeos-base/autotest-deps-0.0.2 virtual/autotest-libs virtual/autotest-assistant-libs
-DESCRIPTION=Autotest scripts and tools
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=cros_host cros_workon_tree_72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2_060563e90e9843d94603f66795083543b5498ec0_dad0497090bce4480ce6b88ada1f4187c960ccf2
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=!<chromeos-base/autotest-chrome-0.0.1-r1788 !<chromeos-base/autotest-tests-0.0.1-r3291 !<chromeos-base/autotest-deps-0.0.2 virtual/autotest-libs virtual/autotest-assistant-libs
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=be6490c7c38051fc709537d3156c2908
diff --git a/metadata/md5-cache/chromeos-base/autotest-0.0.2-r16234 b/metadata/md5-cache/chromeos-base/autotest-0.0.2-r16234
new file mode 100644
index 0000000..b11b2d8
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-0.0.2-r16234
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install postinst prepare setup test unpack
+DEPEND=!<chromeos-base/autotest-chrome-0.0.1-r1788 !<chromeos-base/autotest-tests-0.0.1-r3291 !<chromeos-base/autotest-deps-0.0.2 virtual/autotest-libs virtual/autotest-assistant-libs
+DESCRIPTION=Autotest scripts and tools
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=cros_host cros_workon_tree_e2c200b37b72780b72fd07a23555aedf104222cf_360559203d537727a34f0267da818a5260a642fa_3b88e01b4c689a52c6a8eed97043023877ad2278
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=!<chromeos-base/autotest-chrome-0.0.1-r1788 !<chromeos-base/autotest-tests-0.0.1-r3291 !<chromeos-base/autotest-deps-0.0.2 virtual/autotest-libs virtual/autotest-assistant-libs
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8d18021ed17e729bfb48745a5309c495
diff --git a/metadata/md5-cache/chromeos-base/autotest-9999 b/metadata/md5-cache/chromeos-base/autotest-9999
index 045b3b2..d0008cf 100644
--- a/metadata/md5-cache/chromeos-base/autotest-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=!<chromeos-base/autotest-chrome-0.0.1-r1788 !<chromeos-base/autotest-tests-0.0.1-r3291 !<chromeos-base/autotest-deps-0.0.2 virtual/autotest-libs virtual/autotest-assistant-libs
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2ff047da803fafdf1e4dc10a90a8ee1c
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=305f2bae5560de4c275a34f15a4677e8
diff --git a/metadata/md5-cache/chromeos-base/autotest-all-0.0.1 b/metadata/md5-cache/chromeos-base/autotest-all-0.0.1
index 5890fd9..9205a1a 100644
--- a/metadata/md5-cache/chromeos-base/autotest-all-0.0.1
+++ b/metadata/md5-cache/chromeos-base/autotest-all-0.0.1
@@ -1,12 +1,12 @@
 DEFINED_PHASES=install postinst unpack
-DEPEND=chromeos-base/autotest-client chromeos-base/autotest-private-all chromeos-base/autotest-server-tests chromeos-base/autotest-server-tests-tast chromeos-base/autotest-tests chromeos-base/autotest-tests-security chromeos-base/autotest-tests-toolchain bluetooth? ( chromeos-base/autotest-server-tests-bluetooth ) cellular? ( chromeos-base/autotest-tests-cellular ) cheets? ( chromeos-base/autotest-tests-arc-public ) !chromeless_tty? ( chromeos-base/autotest-tests-cryptohome !chromeless_tests? ( chromeos-base/autotest-chrome chromeos-base/autotest-server-tests-telemetry chromeos-base/autotest-tests-graphics chromeos-base/autotest-tests-ownershipapi chromeos-base/autotest-tests-touchpad ) ) cras? ( chromeos-base/autotest-tests-audio ) debugd? ( chromeos-base/autotest-tests-debugd ) kvm_host? ( chromeos-base/autotest-tests-vm-host ) power_management? ( chromeos-base/autotest-tests-power ) shill? ( chromeos-base/autotest-server-tests-shill chromeos-base/autotest-tests-shill ) tpm2? ( chromeos-base/autotest-tests-tpm ) tpm? ( chromeos-base/autotest-tests-tpm )
+DEPEND=chromeos-base/autotest-client chromeos-base/autotest-private-all chromeos-base/autotest-server-tests chromeos-base/autotest-server-tests-tast chromeos-base/autotest-tests chromeos-base/autotest-tests-security chromeos-base/autotest-tests-toolchain bluetooth? ( chromeos-base/autotest-server-tests-bluetooth chromeos-base/autotest-tests-bluetooth ) cellular? ( chromeos-base/autotest-tests-cellular ) cheets? ( chromeos-base/autotest-tests-arc-public ) !chromeless_tty? ( chromeos-base/autotest-tests-cryptohome !chromeless_tests? ( chromeos-base/autotest-chrome chromeos-base/autotest-server-tests-telemetry chromeos-base/autotest-tests-graphics chromeos-base/autotest-tests-ownershipapi chromeos-base/autotest-tests-touchpad ) ) cras? ( chromeos-base/autotest-tests-audio ) debugd? ( chromeos-base/autotest-tests-debugd ) kvm_host? ( chromeos-base/autotest-tests-vm-host ) power_management? ( chromeos-base/autotest-tests-power ) shill? ( chromeos-base/autotest-server-tests-shill chromeos-base/autotest-tests-shill ) tpm2? ( chromeos-base/autotest-tests-tpm ) tpm? ( chromeos-base/autotest-tests-tpm )
 DESCRIPTION=Meta ebuild for all packages providing tests
 EAPI=5
 HOMEPAGE=http://www.chromium.org
 IUSE=cheets -chromeless_tests +bluetooth +cellular +cras +debugd -chromeless_tty kvm_host +power_management +shill +tpm tpm2
 KEYWORDS=*
 LICENSE=GPL-2
-RDEPEND=chromeos-base/autotest-client chromeos-base/autotest-private-all chromeos-base/autotest-server-tests chromeos-base/autotest-server-tests-tast chromeos-base/autotest-tests chromeos-base/autotest-tests-security chromeos-base/autotest-tests-toolchain bluetooth? ( chromeos-base/autotest-server-tests-bluetooth ) cellular? ( chromeos-base/autotest-tests-cellular ) cheets? ( chromeos-base/autotest-tests-arc-public ) !chromeless_tty? ( chromeos-base/autotest-tests-cryptohome !chromeless_tests? ( chromeos-base/autotest-chrome chromeos-base/autotest-server-tests-telemetry chromeos-base/autotest-tests-graphics chromeos-base/autotest-tests-ownershipapi chromeos-base/autotest-tests-touchpad ) ) cras? ( chromeos-base/autotest-tests-audio ) debugd? ( chromeos-base/autotest-tests-debugd ) kvm_host? ( chromeos-base/autotest-tests-vm-host ) power_management? ( chromeos-base/autotest-tests-power ) shill? ( chromeos-base/autotest-server-tests-shill chromeos-base/autotest-tests-shill ) tpm2? ( chromeos-base/autotest-tests-tpm ) tpm? ( chromeos-base/autotest-tests-tpm )
+RDEPEND=chromeos-base/autotest-client chromeos-base/autotest-private-all chromeos-base/autotest-server-tests chromeos-base/autotest-server-tests-tast chromeos-base/autotest-tests chromeos-base/autotest-tests-security chromeos-base/autotest-tests-toolchain bluetooth? ( chromeos-base/autotest-server-tests-bluetooth chromeos-base/autotest-tests-bluetooth ) cellular? ( chromeos-base/autotest-tests-cellular ) cheets? ( chromeos-base/autotest-tests-arc-public ) !chromeless_tty? ( chromeos-base/autotest-tests-cryptohome !chromeless_tests? ( chromeos-base/autotest-chrome chromeos-base/autotest-server-tests-telemetry chromeos-base/autotest-tests-graphics chromeos-base/autotest-tests-ownershipapi chromeos-base/autotest-tests-touchpad ) ) cras? ( chromeos-base/autotest-tests-audio ) debugd? ( chromeos-base/autotest-tests-debugd ) kvm_host? ( chromeos-base/autotest-tests-vm-host ) power_management? ( chromeos-base/autotest-tests-power ) shill? ( chromeos-base/autotest-server-tests-shill chromeos-base/autotest-tests-shill ) tpm2? ( chromeos-base/autotest-tests-tpm ) tpm? ( chromeos-base/autotest-tests-tpm )
 SLOT=0
 _eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda
-_md5_=0b50aed7f82967286877a69ae5c10c68
+_md5_=21535375ed04410acf1c7981242974a3
diff --git a/metadata/md5-cache/chromeos-base/autotest-all-0.0.1-r56 b/metadata/md5-cache/chromeos-base/autotest-all-0.0.1-r56
deleted file mode 100644
index 5890fd9..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-all-0.0.1-r56
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install postinst unpack
-DEPEND=chromeos-base/autotest-client chromeos-base/autotest-private-all chromeos-base/autotest-server-tests chromeos-base/autotest-server-tests-tast chromeos-base/autotest-tests chromeos-base/autotest-tests-security chromeos-base/autotest-tests-toolchain bluetooth? ( chromeos-base/autotest-server-tests-bluetooth ) cellular? ( chromeos-base/autotest-tests-cellular ) cheets? ( chromeos-base/autotest-tests-arc-public ) !chromeless_tty? ( chromeos-base/autotest-tests-cryptohome !chromeless_tests? ( chromeos-base/autotest-chrome chromeos-base/autotest-server-tests-telemetry chromeos-base/autotest-tests-graphics chromeos-base/autotest-tests-ownershipapi chromeos-base/autotest-tests-touchpad ) ) cras? ( chromeos-base/autotest-tests-audio ) debugd? ( chromeos-base/autotest-tests-debugd ) kvm_host? ( chromeos-base/autotest-tests-vm-host ) power_management? ( chromeos-base/autotest-tests-power ) shill? ( chromeos-base/autotest-server-tests-shill chromeos-base/autotest-tests-shill ) tpm2? ( chromeos-base/autotest-tests-tpm ) tpm? ( chromeos-base/autotest-tests-tpm )
-DESCRIPTION=Meta ebuild for all packages providing tests
-EAPI=5
-HOMEPAGE=http://www.chromium.org
-IUSE=cheets -chromeless_tests +bluetooth +cellular +cras +debugd -chromeless_tty kvm_host +power_management +shill +tpm tpm2
-KEYWORDS=*
-LICENSE=GPL-2
-RDEPEND=chromeos-base/autotest-client chromeos-base/autotest-private-all chromeos-base/autotest-server-tests chromeos-base/autotest-server-tests-tast chromeos-base/autotest-tests chromeos-base/autotest-tests-security chromeos-base/autotest-tests-toolchain bluetooth? ( chromeos-base/autotest-server-tests-bluetooth ) cellular? ( chromeos-base/autotest-tests-cellular ) cheets? ( chromeos-base/autotest-tests-arc-public ) !chromeless_tty? ( chromeos-base/autotest-tests-cryptohome !chromeless_tests? ( chromeos-base/autotest-chrome chromeos-base/autotest-server-tests-telemetry chromeos-base/autotest-tests-graphics chromeos-base/autotest-tests-ownershipapi chromeos-base/autotest-tests-touchpad ) ) cras? ( chromeos-base/autotest-tests-audio ) debugd? ( chromeos-base/autotest-tests-debugd ) kvm_host? ( chromeos-base/autotest-tests-vm-host ) power_management? ( chromeos-base/autotest-tests-power ) shill? ( chromeos-base/autotest-server-tests-shill chromeos-base/autotest-tests-shill ) tpm2? ( chromeos-base/autotest-tests-tpm ) tpm? ( chromeos-base/autotest-tests-tpm )
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda
-_md5_=0b50aed7f82967286877a69ae5c10c68
diff --git a/metadata/md5-cache/chromeos-base/autotest-all-0.0.1-r57 b/metadata/md5-cache/chromeos-base/autotest-all-0.0.1-r57
new file mode 100644
index 0000000..9205a1a
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-all-0.0.1-r57
@@ -0,0 +1,12 @@
+DEFINED_PHASES=install postinst unpack
+DEPEND=chromeos-base/autotest-client chromeos-base/autotest-private-all chromeos-base/autotest-server-tests chromeos-base/autotest-server-tests-tast chromeos-base/autotest-tests chromeos-base/autotest-tests-security chromeos-base/autotest-tests-toolchain bluetooth? ( chromeos-base/autotest-server-tests-bluetooth chromeos-base/autotest-tests-bluetooth ) cellular? ( chromeos-base/autotest-tests-cellular ) cheets? ( chromeos-base/autotest-tests-arc-public ) !chromeless_tty? ( chromeos-base/autotest-tests-cryptohome !chromeless_tests? ( chromeos-base/autotest-chrome chromeos-base/autotest-server-tests-telemetry chromeos-base/autotest-tests-graphics chromeos-base/autotest-tests-ownershipapi chromeos-base/autotest-tests-touchpad ) ) cras? ( chromeos-base/autotest-tests-audio ) debugd? ( chromeos-base/autotest-tests-debugd ) kvm_host? ( chromeos-base/autotest-tests-vm-host ) power_management? ( chromeos-base/autotest-tests-power ) shill? ( chromeos-base/autotest-server-tests-shill chromeos-base/autotest-tests-shill ) tpm2? ( chromeos-base/autotest-tests-tpm ) tpm? ( chromeos-base/autotest-tests-tpm )
+DESCRIPTION=Meta ebuild for all packages providing tests
+EAPI=5
+HOMEPAGE=http://www.chromium.org
+IUSE=cheets -chromeless_tests +bluetooth +cellular +cras +debugd -chromeless_tty kvm_host +power_management +shill +tpm tpm2
+KEYWORDS=*
+LICENSE=GPL-2
+RDEPEND=chromeos-base/autotest-client chromeos-base/autotest-private-all chromeos-base/autotest-server-tests chromeos-base/autotest-server-tests-tast chromeos-base/autotest-tests chromeos-base/autotest-tests-security chromeos-base/autotest-tests-toolchain bluetooth? ( chromeos-base/autotest-server-tests-bluetooth chromeos-base/autotest-tests-bluetooth ) cellular? ( chromeos-base/autotest-tests-cellular ) cheets? ( chromeos-base/autotest-tests-arc-public ) !chromeless_tty? ( chromeos-base/autotest-tests-cryptohome !chromeless_tests? ( chromeos-base/autotest-chrome chromeos-base/autotest-server-tests-telemetry chromeos-base/autotest-tests-graphics chromeos-base/autotest-tests-ownershipapi chromeos-base/autotest-tests-touchpad ) ) cras? ( chromeos-base/autotest-tests-audio ) debugd? ( chromeos-base/autotest-tests-debugd ) kvm_host? ( chromeos-base/autotest-tests-vm-host ) power_management? ( chromeos-base/autotest-tests-power ) shill? ( chromeos-base/autotest-server-tests-shill chromeos-base/autotest-tests-shill ) tpm2? ( chromeos-base/autotest-tests-tpm ) tpm? ( chromeos-base/autotest-tests-tpm )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda
+_md5_=21535375ed04410acf1c7981242974a3
diff --git a/metadata/md5-cache/chromeos-base/autotest-capability-default-0.0.5-r4 b/metadata/md5-cache/chromeos-base/autotest-capability-default-0.0.5-r5
similarity index 100%
rename from metadata/md5-cache/chromeos-base/autotest-capability-default-0.0.5-r4
rename to metadata/md5-cache/chromeos-base/autotest-capability-default-0.0.5-r5
diff --git a/metadata/md5-cache/chromeos-base/autotest-chrome-0.0.1-r7943 b/metadata/md5-cache/chromeos-base/autotest-chrome-0.0.1-r7943
deleted file mode 100644
index 7e00418..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-chrome-0.0.1-r7943
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=!chromeos-base/autotest-telemetry !<chromeos-base/autotest-tests-0.0.4 !<chromeos-base/autotest-tests-cellular-0.0.1-r3203 chromeos-base/autotest-deps-graphics chromeos-base/autotest-deps-policy chromeos-base/autotest-deps-webgl-mpd chromeos-base/chromeos-chrome chromeos-base/policy-testserver dev-python/mkvparse shill? ( chromeos-base/shill-test-scripts ) chromeos-base/telemetry sys-apps/ethtool vaapi? ( x11-libs/libva ) tests_graphics_WebGLAquarium? ( app-benchmarks/microbenchmarks dev-util/memory-eater-locked ) virtual/autotest-private-libs
-DESCRIPTION=Autotest tests that require chrome_binary_test, or telemetry deps
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest +cellular drm_atomic +shill +tpm tpm2 vaapi +tests_accessibility_Check +tests_accessibility_ChromeVoxSound +tests_audio_ActiveStreamStress +tests_audio_AudioCorruption +tests_audio_CrasCheck +tests_audio_PlaybackPower +tests_audio_SeekAudioFeedback +tests_autoupdate_EOL +tests_autoupdate_LoginStartUpdateLogout +tests_autoupdate_StartOOBEUpdate +tests_autoupdate_UpdateFromUI +tests_autoupdate_UserData +tests_bluetooth_AdapterReboot +tests_bluetooth_AdapterHealth +tests_bluetooth_IDCheck +tests_bluetooth_RegressionClient +tests_bluetooth_TurnOnOffUI +tests_desktopui_AudioFeedback +tests_desktopui_CheckRlzPingSent +tests_desktopui_ChromeCheck tests_desktopui_ConnectivityDiagnostics +tests_desktopui_MediaAudioFeedback +tests_desktopui_RootfsLacros +tests_desktopui_ScreenLocker +tests_desktopui_SimpleLogin +tests_desktopui_UrlFetchWithChromeDriver +tests_display_ClientChameleonConnection +tests_display_DisplayContainEdid +tests_enterprise_FakeEnrollment +tests_enterprise_KioskEnrollment +tests_enterprise_OnlineDemoModeEnrollment +tests_enterprise_PowerManagement +tests_enterprise_RemoraRequisition +tests_graphics_Chrome +tests_graphics_Stress +tests_graphics_VideoRenderingPower +tests_graphics_WebGLAquarium +tests_graphics_WebGLManyPlanetsDeep tests_logging_AsanCrash +tests_logging_CrashServices +tests_logging_FeedbackReport +tests_login_ChromeProfileSanitary +tests_login_CryptohomeIncognito +tests_login_GaiaLogin +tests_login_LoginPin +tests_login_LoginSuccess +tests_login_OobeLocalization +tests_login_SavePassword +tests_login_UnicornLogin +tests_login_UserPolicyKeys +tests_longevity_Tracker +tests_network_CastTDLS +tests_network_ChromeWifiConfigure +tests_platform_ChromeCgroups +tests_platform_InitLoginPerf +tests_platform_InputBrightness +tests_platform_InputBrowserNav +tests_platform_InputNewTab +tests_platform_InputScreenshot +tests_platform_InputVolume +tests_platform_LogoutPerf +tests_platform_LowMemoryTest +tests_platform_MouseScrollTest +tests_platform_SessionManagerBlockDevmodeSetting +tests_platform_ScrollTest +tests_policy_AutotestCheck +tests_policy_WilcoUSBPowershare +tests_power_AudioDetector +tests_power_BatteryDrain +tests_power_Consumption +tests_power_Display +tests_power_FlashVideoSuspend +tests_power_Idle +tests_power_IdleSuspend +tests_power_LoadTest +tests_power_LowMemorySuspend +tests_power_MeetClient +tests_power_Speedometer2 +tests_power_ThermalLoad +tests_power_UiResume +tests_power_VideoCall +tests_power_VideoDetector +tests_power_VideoEncode +tests_power_VideoPlayback +tests_power_VideoSuspend +tests_power_WebGL +tests_power_WifiIdle +tests_security_BundledExtensions +tests_stub_IdleSuspend +tests_telemetry_AFDOGenerateClient +tests_telemetry_Check +tests_telemetry_UnitTests +tests_telemetry_UnitTestsServer +tests_touch_GestureNav +tests_touch_MouseScroll +tests_touch_ScrollDirection +tests_touch_TapSettings +tests_touch_TabSwitch +tests_touch_TouchscreenScroll +tests_touch_TouchscreenTaps +tests_touch_TouchscreenZoom +tests_touch_StylusTaps +tests_video_AVAnalysis cellular? ( +tests_cellular_ModemControl +tests_cellular_SuspendResume +tests_network_ChromeCellularEndToEnd +tests_network_ChromeCellularNetworkPresent +tests_network_ChromeCellularNetworkProperties +tests_network_ChromeCellularSmokeTest ) shill? ( +tests_network_ChromeWifiEndToEnd +tests_network_FirewallHolePunch +tests_network_RackWiFiConnect +tests_network_RoamSuspendEndToEnd +tests_network_RoamWifiEndToEnd +tests_policy_GlobalNetworkSettings +tests_policy_WiFiAutoconnect +tests_policy_WiFiPrecedence +tests_policy_WiFiTypes ) tpm? ( +tests_platform_Pkcs11InitOnLogin ) tpm2? ( +tests_platform_Pkcs11InitOnLogin ) +tests_graphics_Idle drm_atomic? ( +tests_graphics_HwOverlays ) +tests_chromium cros_host cros_workon_tree_313d4832c788a22d8b6936e60fcd4b2eb55f21e7 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=!chromeos-base/autotest-telemetry !<chromeos-base/autotest-tests-0.0.4 !<chromeos-base/autotest-tests-cellular-0.0.1-r3203 chromeos-base/autotest-deps-graphics chromeos-base/autotest-deps-policy chromeos-base/autotest-deps-webgl-mpd chromeos-base/chromeos-chrome chromeos-base/policy-testserver dev-python/mkvparse shill? ( chromeos-base/shill-test-scripts ) chromeos-base/telemetry sys-apps/ethtool vaapi? ( x11-libs/libva ) tests_graphics_WebGLAquarium? ( app-benchmarks/microbenchmarks dev-util/memory-eater-locked ) virtual/autotest-private-libs autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=4de24f86ae4fe7c75802450a7235e017
diff --git a/metadata/md5-cache/chromeos-base/autotest-chrome-0.0.1-r7995 b/metadata/md5-cache/chromeos-base/autotest-chrome-0.0.1-r7995
new file mode 100644
index 0000000..cdf4578
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-chrome-0.0.1-r7995
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=!chromeos-base/autotest-telemetry !<chromeos-base/autotest-tests-0.0.4 !<chromeos-base/autotest-tests-cellular-0.0.1-r3203 chromeos-base/autotest-deps-graphics chromeos-base/autotest-deps-policy chromeos-base/autotest-deps-webgl-mpd chromeos-base/chromeos-chrome chromeos-base/policy-testserver dev-python/mkvparse shill? ( chromeos-base/shill-test-scripts ) chromeos-base/telemetry sys-apps/ethtool vaapi? ( x11-libs/libva ) tests_graphics_WebGLAquarium? ( app-benchmarks/microbenchmarks dev-util/memory-eater-locked ) virtual/autotest-private-libs
+DESCRIPTION=Autotest tests that require chrome_binary_test, or telemetry deps
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest +cellular drm_atomic +shill vaapi +tests_accessibility_Check +tests_accessibility_ChromeVoxSound +tests_audio_CrasCheck +tests_autoupdate_EOL +tests_autoupdate_LoginStartUpdateLogout +tests_autoupdate_StartOOBEUpdate +tests_autoupdate_UpdateFromUI +tests_autoupdate_UserData +tests_bluetooth_AdapterReboot +tests_bluetooth_AdapterHealth +tests_bluetooth_IDCheck +tests_bluetooth_RegressionClient +tests_bluetooth_TurnOnOffUI +tests_desktopui_AudioFeedback +tests_desktopui_CheckRlzPingSent +tests_desktopui_ChromeCheck tests_desktopui_ConnectivityDiagnostics +tests_desktopui_MediaAudioFeedback +tests_desktopui_RootfsLacros +tests_desktopui_ScreenLocker +tests_desktopui_SimpleLogin +tests_display_DisplayContainEdid +tests_graphics_Chrome +tests_graphics_Stress +tests_graphics_VideoRenderingPower +tests_graphics_WebGLAquarium +tests_graphics_WebGLManyPlanetsDeep +tests_logging_CrashServices +tests_logging_FeedbackReport +tests_login_CryptohomeIncognito +tests_login_GaiaLogin +tests_login_LoginPin +tests_login_LoginSuccess +tests_login_OobeLocalization +tests_login_SavePassword +tests_network_CastTDLS +tests_network_ChromeWifiConfigure +tests_platform_InitLoginPerf +tests_platform_InputBrightness +tests_platform_InputBrowserNav +tests_platform_InputNewTab +tests_platform_InputScreenshot +tests_platform_InputVolume +tests_platform_LogoutPerf +tests_policy_WilcoUSBPowershare +tests_power_AudioDetector +tests_power_BatteryDrain +tests_power_CellularIdle +tests_power_Display +tests_power_Idle +tests_power_IdleSuspend +tests_power_LoadTest +tests_power_LowMemorySuspend +tests_power_Speedometer2 +tests_power_UiResume +tests_power_VideoCall +tests_power_VideoDetector +tests_power_VideoEncode +tests_power_VideoPlayback +tests_power_VideoSuspend +tests_power_WebGL +tests_power_WifiIdle +tests_security_BundledExtensions +tests_stub_IdleSuspend +tests_telemetry_AFDOGenerateClient +tests_telemetry_Check +tests_touch_GestureNav +tests_touch_MouseScroll +tests_touch_ScrollDirection +tests_touch_TapSettings +tests_touch_TabSwitch +tests_touch_TouchscreenScroll +tests_touch_TouchscreenTaps +tests_touch_TouchscreenZoom +tests_touch_StylusTaps +tests_video_AVAnalysis cellular? ( +tests_cellular_ModemControl +tests_cellular_SuspendResume +tests_network_ChromeCellularEndToEnd +tests_network_ChromeCellularNetworkPresent +tests_network_ChromeCellularNetworkProperties +tests_network_ChromeCellularSmokeTest ) shill? ( +tests_network_ChromeWifiEndToEnd +tests_network_RoamSuspendEndToEnd +tests_network_RoamWifiEndToEnd ) +tests_graphics_Idle drm_atomic? ( +tests_graphics_HwOverlays ) +tests_chromium +tests_chromium_Telemetry cros_host cros_workon_tree_6ec33cf8d1da6f4a2ecefe05306b4b5b0192dcc5 +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=!chromeos-base/autotest-telemetry !<chromeos-base/autotest-tests-0.0.4 !<chromeos-base/autotest-tests-cellular-0.0.1-r3203 chromeos-base/autotest-deps-graphics chromeos-base/autotest-deps-policy chromeos-base/autotest-deps-webgl-mpd chromeos-base/chromeos-chrome chromeos-base/policy-testserver dev-python/mkvparse shill? ( chromeos-base/shill-test-scripts ) chromeos-base/telemetry sys-apps/ethtool vaapi? ( x11-libs/libva ) tests_graphics_WebGLAquarium? ( app-benchmarks/microbenchmarks dev-util/memory-eater-locked ) virtual/autotest-private-libs autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=2c10a35d039c1c1997ed5d23e1fb25d4
diff --git a/metadata/md5-cache/chromeos-base/autotest-chrome-9999 b/metadata/md5-cache/chromeos-base/autotest-chrome-9999
index f5cd5dc..0e67763 100644
--- a/metadata/md5-cache/chromeos-base/autotest-chrome-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-chrome-9999
@@ -3,11 +3,11 @@
 DESCRIPTION=Autotest tests that require chrome_binary_test, or telemetry deps
 EAPI=5
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest +cellular drm_atomic +shill +tpm tpm2 vaapi +tests_accessibility_Check +tests_accessibility_ChromeVoxSound +tests_audio_ActiveStreamStress +tests_audio_AudioCorruption +tests_audio_CrasCheck +tests_audio_PlaybackPower +tests_audio_SeekAudioFeedback +tests_autoupdate_EOL +tests_autoupdate_LoginStartUpdateLogout +tests_autoupdate_StartOOBEUpdate +tests_autoupdate_UpdateFromUI +tests_autoupdate_UserData +tests_bluetooth_AdapterReboot +tests_bluetooth_AdapterHealth +tests_bluetooth_IDCheck +tests_bluetooth_RegressionClient +tests_bluetooth_TurnOnOffUI +tests_desktopui_AudioFeedback +tests_desktopui_CheckRlzPingSent +tests_desktopui_ChromeCheck tests_desktopui_ConnectivityDiagnostics +tests_desktopui_MediaAudioFeedback +tests_desktopui_RootfsLacros +tests_desktopui_ScreenLocker +tests_desktopui_SimpleLogin +tests_desktopui_UrlFetchWithChromeDriver +tests_display_ClientChameleonConnection +tests_display_DisplayContainEdid +tests_enterprise_FakeEnrollment +tests_enterprise_KioskEnrollment +tests_enterprise_OnlineDemoModeEnrollment +tests_enterprise_PowerManagement +tests_enterprise_RemoraRequisition +tests_graphics_Chrome +tests_graphics_Stress +tests_graphics_VideoRenderingPower +tests_graphics_WebGLAquarium +tests_graphics_WebGLManyPlanetsDeep tests_logging_AsanCrash +tests_logging_CrashServices +tests_logging_FeedbackReport +tests_login_ChromeProfileSanitary +tests_login_CryptohomeIncognito +tests_login_GaiaLogin +tests_login_LoginPin +tests_login_LoginSuccess +tests_login_OobeLocalization +tests_login_SavePassword +tests_login_UnicornLogin +tests_login_UserPolicyKeys +tests_longevity_Tracker +tests_network_CastTDLS +tests_network_ChromeWifiConfigure +tests_platform_ChromeCgroups +tests_platform_InitLoginPerf +tests_platform_InputBrightness +tests_platform_InputBrowserNav +tests_platform_InputNewTab +tests_platform_InputScreenshot +tests_platform_InputVolume +tests_platform_LogoutPerf +tests_platform_LowMemoryTest +tests_platform_MouseScrollTest +tests_platform_SessionManagerBlockDevmodeSetting +tests_platform_ScrollTest +tests_policy_AutotestCheck +tests_policy_WilcoUSBPowershare +tests_power_AudioDetector +tests_power_BatteryDrain +tests_power_Consumption +tests_power_Display +tests_power_FlashVideoSuspend +tests_power_Idle +tests_power_IdleSuspend +tests_power_LoadTest +tests_power_LowMemorySuspend +tests_power_MeetClient +tests_power_Speedometer2 +tests_power_ThermalLoad +tests_power_UiResume +tests_power_VideoCall +tests_power_VideoDetector +tests_power_VideoEncode +tests_power_VideoPlayback +tests_power_VideoSuspend +tests_power_WebGL +tests_power_WifiIdle +tests_security_BundledExtensions +tests_stub_IdleSuspend +tests_telemetry_AFDOGenerateClient +tests_telemetry_Check +tests_telemetry_UnitTests +tests_telemetry_UnitTestsServer +tests_touch_GestureNav +tests_touch_MouseScroll +tests_touch_ScrollDirection +tests_touch_TapSettings +tests_touch_TabSwitch +tests_touch_TouchscreenScroll +tests_touch_TouchscreenTaps +tests_touch_TouchscreenZoom +tests_touch_StylusTaps +tests_video_AVAnalysis cellular? ( +tests_cellular_ModemControl +tests_cellular_SuspendResume +tests_network_ChromeCellularEndToEnd +tests_network_ChromeCellularNetworkPresent +tests_network_ChromeCellularNetworkProperties +tests_network_ChromeCellularSmokeTest ) shill? ( +tests_network_ChromeWifiEndToEnd +tests_network_FirewallHolePunch +tests_network_RackWiFiConnect +tests_network_RoamSuspendEndToEnd +tests_network_RoamWifiEndToEnd +tests_policy_GlobalNetworkSettings +tests_policy_WiFiAutoconnect +tests_policy_WiFiPrecedence +tests_policy_WiFiTypes ) tpm? ( +tests_platform_Pkcs11InitOnLogin ) tpm2? ( +tests_platform_Pkcs11InitOnLogin ) +tests_graphics_Idle drm_atomic? ( +tests_graphics_HwOverlays ) +tests_chromium cros_host cros_workon_tree_ +buildcheck autotest opengles
+IUSE=+autotest +cellular drm_atomic +shill vaapi +tests_accessibility_Check +tests_accessibility_ChromeVoxSound +tests_audio_CrasCheck +tests_autoupdate_EOL +tests_autoupdate_LoginStartUpdateLogout +tests_autoupdate_StartOOBEUpdate +tests_autoupdate_UpdateFromUI +tests_autoupdate_UserData +tests_bluetooth_AdapterReboot +tests_bluetooth_AdapterHealth +tests_bluetooth_IDCheck +tests_bluetooth_RegressionClient +tests_bluetooth_TurnOnOffUI +tests_desktopui_AudioFeedback +tests_desktopui_CheckRlzPingSent +tests_desktopui_ChromeCheck tests_desktopui_ConnectivityDiagnostics +tests_desktopui_MediaAudioFeedback +tests_desktopui_RootfsLacros +tests_desktopui_ScreenLocker +tests_desktopui_SimpleLogin +tests_display_DisplayContainEdid +tests_graphics_Chrome +tests_graphics_Stress +tests_graphics_VideoRenderingPower +tests_graphics_WebGLAquarium +tests_graphics_WebGLManyPlanetsDeep +tests_logging_CrashServices +tests_logging_FeedbackReport +tests_login_CryptohomeIncognito +tests_login_GaiaLogin +tests_login_LoginPin +tests_login_LoginSuccess +tests_login_OobeLocalization +tests_login_SavePassword +tests_network_CastTDLS +tests_network_ChromeWifiConfigure +tests_platform_InitLoginPerf +tests_platform_InputBrightness +tests_platform_InputBrowserNav +tests_platform_InputNewTab +tests_platform_InputScreenshot +tests_platform_InputVolume +tests_platform_LogoutPerf +tests_policy_WilcoUSBPowershare +tests_power_AudioDetector +tests_power_BatteryDrain +tests_power_CellularIdle +tests_power_Display +tests_power_Idle +tests_power_IdleSuspend +tests_power_LoadTest +tests_power_LowMemorySuspend +tests_power_Speedometer2 +tests_power_UiResume +tests_power_VideoCall +tests_power_VideoDetector +tests_power_VideoEncode +tests_power_VideoPlayback +tests_power_VideoSuspend +tests_power_WebGL +tests_power_WifiIdle +tests_security_BundledExtensions +tests_stub_IdleSuspend +tests_telemetry_AFDOGenerateClient +tests_telemetry_Check +tests_touch_GestureNav +tests_touch_MouseScroll +tests_touch_ScrollDirection +tests_touch_TapSettings +tests_touch_TabSwitch +tests_touch_TouchscreenScroll +tests_touch_TouchscreenTaps +tests_touch_TouchscreenZoom +tests_touch_StylusTaps +tests_video_AVAnalysis cellular? ( +tests_cellular_ModemControl +tests_cellular_SuspendResume +tests_network_ChromeCellularEndToEnd +tests_network_ChromeCellularNetworkPresent +tests_network_ChromeCellularNetworkProperties +tests_network_ChromeCellularSmokeTest ) shill? ( +tests_network_ChromeWifiEndToEnd +tests_network_RoamSuspendEndToEnd +tests_network_RoamWifiEndToEnd ) +tests_graphics_Idle drm_atomic? ( +tests_graphics_HwOverlays ) +tests_chromium +tests_chromium_Telemetry cros_host cros_workon_tree_ +buildcheck autotest opengles
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
 RDEPEND=!chromeos-base/autotest-telemetry !<chromeos-base/autotest-tests-0.0.4 !<chromeos-base/autotest-tests-cellular-0.0.1-r3203 chromeos-base/autotest-deps-graphics chromeos-base/autotest-deps-policy chromeos-base/autotest-deps-webgl-mpd chromeos-base/chromeos-chrome chromeos-base/policy-testserver dev-python/mkvparse shill? ( chromeos-base/shill-test-scripts ) chromeos-base/telemetry sys-apps/ethtool vaapi? ( x11-libs/libva ) tests_graphics_WebGLAquarium? ( app-benchmarks/microbenchmarks dev-util/memory-eater-locked ) virtual/autotest-private-libs autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=b25c750406a6454431b0fff6e4a272f2
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=e4de63cbdc758dc4b015ee4bc2c38d48
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-0.0.4-r15265 b/metadata/md5-cache/chromeos-base/autotest-deps-0.0.4-r15265
deleted file mode 100644
index 3127d5c..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-deps-0.0.4-r15265
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=dev-cpp/gtest:= dev-libs/libnl:0 >=dev-python/grpcio-1.19 >=dev-python/psutil-5.5.0 sys-devel/binutils chromeos-base/cros-config-api
-DESCRIPTION=Autotest common deps
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest cros_host cros_workon_tree_72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=dev-cpp/gtest:= dev-libs/libnl:0 >=dev-python/grpcio-1.19 >=dev-python/psutil-5.5.0 sys-devel/binutils autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=eabb1cec75859426ee576538d19003fc
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-0.0.4-r15975 b/metadata/md5-cache/chromeos-base/autotest-deps-0.0.4-r15975
new file mode 100644
index 0000000..2e94c33
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-deps-0.0.4-r15975
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=dev-cpp/gtest:= dev-libs/libnl:0 >=dev-python/grpcio-1.19 >=dev-python/psutil-5.5.0 sys-devel/binutils chromeos-base/cros-config-api
+DESCRIPTION=Autotest common deps
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest cros_host cros_workon_tree_e2c200b37b72780b72fd07a23555aedf104222cf +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=dev-cpp/gtest:= dev-libs/libnl:0 >=dev-python/grpcio-1.19 >=dev-python/psutil-5.5.0 sys-devel/binutils autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=e74de72c80f687ccf40acb232a113e4c
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-9999 b/metadata/md5-cache/chromeos-base/autotest-deps-9999
index 4597cad..af55a35 100644
--- a/metadata/md5-cache/chromeos-base/autotest-deps-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-deps-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=dev-cpp/gtest:= dev-libs/libnl:0 >=dev-python/grpcio-1.19 >=dev-python/psutil-5.5.0 sys-devel/binutils autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=6fdcab0bf03e6e1b61763008d25846e7
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=fe1ec533610667f3cf339592c86efbdc
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-camera-hal3-0.0.1-r7285 b/metadata/md5-cache/chromeos-base/autotest-deps-camera-hal3-0.0.1-r7285
deleted file mode 100644
index 0503d59..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-deps-camera-hal3-0.0.1-r7285
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=media-libs/cros-camera-test
-DESCRIPTION=Dependencies for camera_HAL3 autotest
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest cros_host cros_workon_tree_72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=media-libs/cros-camera-test autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=7a70d4fea4cf65cbd3b340dc5362683e
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-camera-hal3-9999 b/metadata/md5-cache/chromeos-base/autotest-deps-camera-hal3-9999
deleted file mode 100644
index cb5a705..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-deps-camera-hal3-9999
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=media-libs/cros-camera-test
-DESCRIPTION=Dependencies for camera_HAL3 autotest
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest cros_host cros_workon_tree_ +buildcheck autotest opengles
-KEYWORDS=~*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=media-libs/cros-camera-test autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=9387758e60147da5f2706dfd41b16765
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-cellular-0.0.1-r10073 b/metadata/md5-cache/chromeos-base/autotest-deps-cellular-0.0.1-r10073
deleted file mode 100644
index 2ea5a6c..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-deps-cellular-0.0.1-r10073
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=!<chromeos-base/autotest-deps-0.0.3 virtual/libgudev chromeos-base/autotest-fakemodem-conf dev-libs/dbus-glib
-DESCRIPTION=Autotest cellular deps
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest cros_host cros_workon_tree_72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=!<chromeos-base/autotest-deps-0.0.3 virtual/libgudev chromeos-base/autotest-fakemodem-conf dev-libs/dbus-glib autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=586160e5a62e4a01741f1d5502616f61
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-cellular-0.0.1-r10782 b/metadata/md5-cache/chromeos-base/autotest-deps-cellular-0.0.1-r10782
new file mode 100644
index 0000000..400d49a
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-deps-cellular-0.0.1-r10782
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=!<chromeos-base/autotest-deps-0.0.3 virtual/libgudev chromeos-base/autotest-fakemodem-conf dev-libs/dbus-glib
+DESCRIPTION=Autotest cellular deps
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest cros_host cros_workon_tree_e2c200b37b72780b72fd07a23555aedf104222cf +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=!<chromeos-base/autotest-deps-0.0.3 virtual/libgudev chromeos-base/autotest-fakemodem-conf dev-libs/dbus-glib autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a96d0fc339362bf528bb14a1c1592877
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-cellular-9999 b/metadata/md5-cache/chromeos-base/autotest-deps-cellular-9999
index 8372eb5..531519b 100644
--- a/metadata/md5-cache/chromeos-base/autotest-deps-cellular-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-deps-cellular-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=!<chromeos-base/autotest-deps-0.0.3 virtual/libgudev chromeos-base/autotest-fakemodem-conf dev-libs/dbus-glib autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=986106e8edf172edd0aaa5dd28adbf99
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-dbus-0.0.1-r5957 b/metadata/md5-cache/chromeos-base/autotest-deps-dbus-0.0.1-r5957
deleted file mode 100644
index 27ee1df..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-deps-dbus-0.0.1-r5957
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=chromeos-base/system_api dev-libs/protobuf:=
-DESCRIPTION=Autotest D-Bus deps
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest cros_host cros_workon_tree_72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=dbe99e477e05b6593a70598d2fac2daf
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-dbus-0.0.1-r6666 b/metadata/md5-cache/chromeos-base/autotest-deps-dbus-0.0.1-r6666
new file mode 100644
index 0000000..768897f
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-deps-dbus-0.0.1-r6666
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=chromeos-base/system_api dev-libs/protobuf:=
+DESCRIPTION=Autotest D-Bus deps
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest cros_host cros_workon_tree_e2c200b37b72780b72fd07a23555aedf104222cf +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=e35f361883ab4d04d042b72c33b137f1
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-dbus-9999 b/metadata/md5-cache/chromeos-base/autotest-deps-dbus-9999
index 760a621..d3c017b 100644
--- a/metadata/md5-cache/chromeos-base/autotest-deps-dbus-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-deps-dbus-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=2eee34ef0be6245d6af2a9170e07b3db
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-glmark2-0.0.1-r10444 b/metadata/md5-cache/chromeos-base/autotest-deps-glmark2-0.0.1-r10444
deleted file mode 100644
index b50a9c0..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-deps-glmark2-0.0.1-r10444
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst prepare setup unpack
-DEPEND=app-benchmarks/glmark2
-DESCRIPTION=Autotest glmark2 dependency
-EAPI=7
-HOMEPAGE=https://launchpad.net/glmark2
-IUSE=-asan +autotest asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-3
-PROPERTIES=live
-RDEPEND=app-benchmarks/glmark2 autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=448bc8d2ad5126a570a04890e6b2f6f8
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-glmark2-0.0.1-r11153 b/metadata/md5-cache/chromeos-base/autotest-deps-glmark2-0.0.1-r11153
new file mode 100644
index 0000000..63dacde
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-deps-glmark2-0.0.1-r11153
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst prepare setup unpack
+DEPEND=app-benchmarks/glmark2
+DESCRIPTION=Autotest glmark2 dependency
+EAPI=7
+HOMEPAGE=https://launchpad.net/glmark2
+IUSE=-asan +autotest asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e2c200b37b72780b72fd07a23555aedf104222cf +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-3
+PROPERTIES=live
+RDEPEND=app-benchmarks/glmark2 autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=df2846dc14484af4cce85f86c3213d49
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-glmark2-9999 b/metadata/md5-cache/chromeos-base/autotest-deps-glmark2-9999
index e7ce5e2..23f4659 100644
--- a/metadata/md5-cache/chromeos-base/autotest-deps-glmark2-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-deps-glmark2-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=app-benchmarks/glmark2 autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f136c14950040415964dab3b823bfc94
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-graphics-0.0.1-r10424 b/metadata/md5-cache/chromeos-base/autotest-deps-graphics-0.0.1-r10424
deleted file mode 100644
index 584a749..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-deps-graphics-0.0.1-r10424
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=!<chromeos-base/autotest-deps-0.0.4
-DESCRIPTION=Dependencies for graphics autotests
-EAPI=4
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest cros_host cros_workon_tree_72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=!<chromeos-base/autotest-deps-0.0.4 autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=c2e8d7960a10d9ebd5e47e53f9e6de5a
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-graphics-0.0.1-r11133 b/metadata/md5-cache/chromeos-base/autotest-deps-graphics-0.0.1-r11133
new file mode 100644
index 0000000..e249521
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-deps-graphics-0.0.1-r11133
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=!<chromeos-base/autotest-deps-0.0.4
+DESCRIPTION=Dependencies for graphics autotests
+EAPI=4
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest cros_host cros_workon_tree_e2c200b37b72780b72fd07a23555aedf104222cf +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=!<chromeos-base/autotest-deps-0.0.4 autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=c5a3469b728be6f5a2b29c23bab49db2
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-graphics-9999 b/metadata/md5-cache/chromeos-base/autotest-deps-graphics-9999
index e6eb3b2..49d710d 100644
--- a/metadata/md5-cache/chromeos-base/autotest-deps-graphics-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-deps-graphics-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=!<chromeos-base/autotest-deps-0.0.4 autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=c8b3de1f5d19d829d7736317b66d0573
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-policy-0.0.1-r6033 b/metadata/md5-cache/chromeos-base/autotest-deps-policy-0.0.1-r6033
deleted file mode 100644
index 4722421..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-deps-policy-0.0.1-r6033
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=>=chromeos-base/protofiles-0.0.43:= chromeos-base/system_api dev-libs/protobuf:=
-DESCRIPTION=Autotest policy deps
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest cros_host cros_workon_tree_72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=e9a34de7f71686d32027362045dc986b
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-policy-0.0.1-r6742 b/metadata/md5-cache/chromeos-base/autotest-deps-policy-0.0.1-r6742
new file mode 100644
index 0000000..42bd30b
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-deps-policy-0.0.1-r6742
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=>=chromeos-base/protofiles-0.0.43:= chromeos-base/system_api dev-libs/protobuf:=
+DESCRIPTION=Autotest policy deps
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest cros_host cros_workon_tree_e2c200b37b72780b72fd07a23555aedf104222cf +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=793ae0b5644151977a58ae5c2ff94551
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-policy-9999 b/metadata/md5-cache/chromeos-base/autotest-deps-policy-9999
index 618b1b0..6a716ee 100644
--- a/metadata/md5-cache/chromeos-base/autotest-deps-policy-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-deps-policy-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=7fd38b840d7d4461f58e5da3419c760e
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-touchpad-0.0.1-r11047 b/metadata/md5-cache/chromeos-base/autotest-deps-touchpad-0.0.1-r11047
deleted file mode 100644
index 6d7b060e..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-deps-touchpad-0.0.1-r11047
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=x11-drivers/touchpad-tests chromeos-base/touch_firmware_test chromeos-base/mttools
-DESCRIPTION=Autotest touchpad deps
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest cros_host cros_workon_tree_72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=x11-drivers/touchpad-tests chromeos-base/touch_firmware_test chromeos-base/mttools autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=05f2084b23d15e4e1986ca67697927fe
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-touchpad-0.0.1-r11757 b/metadata/md5-cache/chromeos-base/autotest-deps-touchpad-0.0.1-r11757
new file mode 100644
index 0000000..6c81c8f
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-deps-touchpad-0.0.1-r11757
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=x11-drivers/touchpad-tests chromeos-base/touch_firmware_test chromeos-base/mttools
+DESCRIPTION=Autotest touchpad deps
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest cros_host cros_workon_tree_e2c200b37b72780b72fd07a23555aedf104222cf +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=x11-drivers/touchpad-tests chromeos-base/touch_firmware_test chromeos-base/mttools autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=34bea788a0a3ffdab3bee622926564cb
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-touchpad-9999 b/metadata/md5-cache/chromeos-base/autotest-deps-touchpad-9999
index 453cfa6..07e8391 100644
--- a/metadata/md5-cache/chromeos-base/autotest-deps-touchpad-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-deps-touchpad-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=x11-drivers/touchpad-tests chromeos-base/touch_firmware_test chromeos-base/mttools autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0cbf41bf1fa9d6e6ffbc5068074ff512
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ed2d93aa158ddbd8731dd3d83138b27f
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-uiautomator-0.0.3 b/metadata/md5-cache/chromeos-base/autotest-deps-uiautomator-0.0.3
index f0fc9a5..f35b9bb 100644
--- a/metadata/md5-cache/chromeos-base/autotest-deps-uiautomator-0.0.3
+++ b/metadata/md5-cache/chromeos-base/autotest-deps-uiautomator-0.0.3
@@ -8,5 +8,5 @@
 RDEPEND=autotest? ( chromeos-base/autotest )
 SLOT=0
 SRC_URI=https://github.com/xiaocong/uiautomator/archive/57ba9333186cc2c748fce8596dd31593a28019a9.tar.gz -> autotest-deps-uiautomator-0.0.3.tar.gz
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	autotest-external-dep	f1a21cd720cbb70b488bedaaf1b64777	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	autotest-external-dep	c0b994b158bca6bc3fcf9799d8d27767	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=13fd55131d0f9a19f417b1e485ec73a3
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-uiautomator-0.0.3-r1 b/metadata/md5-cache/chromeos-base/autotest-deps-uiautomator-0.0.3-r1
index f0fc9a5..f35b9bb 100644
--- a/metadata/md5-cache/chromeos-base/autotest-deps-uiautomator-0.0.3-r1
+++ b/metadata/md5-cache/chromeos-base/autotest-deps-uiautomator-0.0.3-r1
@@ -8,5 +8,5 @@
 RDEPEND=autotest? ( chromeos-base/autotest )
 SLOT=0
 SRC_URI=https://github.com/xiaocong/uiautomator/archive/57ba9333186cc2c748fce8596dd31593a28019a9.tar.gz -> autotest-deps-uiautomator-0.0.3.tar.gz
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	autotest-external-dep	f1a21cd720cbb70b488bedaaf1b64777	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	autotest-external-dep	c0b994b158bca6bc3fcf9799d8d27767	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=13fd55131d0f9a19f417b1e485ec73a3
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-webgl-mpd-0.0.1-r10596 b/metadata/md5-cache/chromeos-base/autotest-deps-webgl-mpd-0.0.1-r10596
deleted file mode 100644
index d00913f..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-deps-webgl-mpd-0.0.1-r10596
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DESCRIPTION=Dependencies for WebGL many planets deep test
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest cros_host cros_workon_tree_72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=autotest? ( chromeos-base/autotest )
-SLOT=0/0.0.1-r10596
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=aa8e839db0abb9bbfee7db020a07a2f1
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-webgl-mpd-0.0.1-r11305 b/metadata/md5-cache/chromeos-base/autotest-deps-webgl-mpd-0.0.1-r11305
new file mode 100644
index 0000000..22906d6
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-deps-webgl-mpd-0.0.1-r11305
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DESCRIPTION=Dependencies for WebGL many planets deep test
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest cros_host cros_workon_tree_e2c200b37b72780b72fd07a23555aedf104222cf +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=autotest? ( chromeos-base/autotest )
+SLOT=0/0.0.1-r11305
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c3e743c2f32b991061d1976e8017a5f8
diff --git a/metadata/md5-cache/chromeos-base/autotest-deps-webgl-mpd-9999 b/metadata/md5-cache/chromeos-base/autotest-deps-webgl-mpd-9999
index 103190b..46d49b0 100644
--- a/metadata/md5-cache/chromeos-base/autotest-deps-webgl-mpd-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-deps-webgl-mpd-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=autotest? ( chromeos-base/autotest )
 SLOT=0/9999
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=10490e31cb9601468333ec4e9504a386
diff --git a/metadata/md5-cache/chromeos-base/autotest-private-all-0.0.1 b/metadata/md5-cache/chromeos-base/autotest-private-all-0.0.1
index 23cc2b6..fb19358 100644
--- a/metadata/md5-cache/chromeos-base/autotest-private-all-0.0.1
+++ b/metadata/md5-cache/chromeos-base/autotest-private-all-0.0.1
@@ -1,8 +1,8 @@
 DEFINED_PHASES=-
 DESCRIPTION=All private autotest tests
-EAPI=2
-HOMEPAGE=http://src.chromium.org
+EAPI=7
+HOMEPAGE=https://dev.chromium.org/chromium-os
 KEYWORDS=*
-LICENSE=GPL-2
+LICENSE=metapackage
 SLOT=0
-_md5_=984aa03f82768563f771c771ff50e1f1
+_md5_=14dba713e945c1d763971dd82f8653c3
diff --git a/metadata/md5-cache/chromeos-base/autotest-private-all-0.0.1-r1 b/metadata/md5-cache/chromeos-base/autotest-private-all-0.0.1-r1
new file mode 100644
index 0000000..fb19358
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-private-all-0.0.1-r1
@@ -0,0 +1,8 @@
+DEFINED_PHASES=-
+DESCRIPTION=All private autotest tests
+EAPI=7
+HOMEPAGE=https://dev.chromium.org/chromium-os
+KEYWORDS=*
+LICENSE=metapackage
+SLOT=0
+_md5_=14dba713e945c1d763971dd82f8653c3
diff --git a/metadata/md5-cache/chromeos-base/autotest-private-board-0.0.1-r1 b/metadata/md5-cache/chromeos-base/autotest-private-board-0.0.1-r1
deleted file mode 100644
index 743dc2a..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-private-board-0.0.1-r1
+++ /dev/null
@@ -1,7 +0,0 @@
-DEFINED_PHASES=-
-DESCRIPTION=Board specific autotests
-EAPI=2
-KEYWORDS=amd64 arm x86
-LICENSE=BSD
-SLOT=0
-_md5_=b96d309286be052334a5d408d7ecaade
diff --git a/metadata/md5-cache/chromeos-base/autotest-private-board-0.0.1-r2 b/metadata/md5-cache/chromeos-base/autotest-private-board-0.0.1-r2
new file mode 100644
index 0000000..8c5b122
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-private-board-0.0.1-r2
@@ -0,0 +1,7 @@
+DEFINED_PHASES=-
+DESCRIPTION=Board specific autotests
+EAPI=7
+KEYWORDS=*
+LICENSE=metapackage
+SLOT=0
+_md5_=4557282790433f15b78aab718fbce959
diff --git a/metadata/md5-cache/chromeos-base/autotest-server-tests-0.0.2-r5522 b/metadata/md5-cache/chromeos-base/autotest-server-tests-0.0.2-r5522
deleted file mode 100644
index 01d7383..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-server-tests-0.0.2-r5522
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=!<chromeos-base/autotest-0.0.2
-DESCRIPTION=Autotest server tests
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=android-container android-container-pi android-vm-rvc +autotest biod +cellular +cheets_user cheets_user_64 -chromeless_tests -chromeless_tty debugd dlc_test has-kernelnext is-kernelnext -moblab +power_management +readahead +tpm tpm2 +tests_android_ACTS +tests_android_EasySetup +tests_audio_AudioAfterReboot +tests_audio_AudioAfterSuspend +tests_audio_AudioArtifacts +tests_audio_AudioBasicAssistant +tests_audio_AudioBasicBluetoothPlayback +tests_audio_AudioBasicBluetoothPlaybackRecord +tests_audio_AudioBasicBluetoothRecord +tests_audio_AudioBasicExternalMicrophone +tests_audio_AudioBasicHDMI +tests_audio_AudioBasicHeadphone +tests_audio_AudioBasicHotwording +tests_audio_AudioBasicInternalMicrophone +tests_audio_AudioBasicInternalSpeaker +tests_audio_AudioBasicUSBPlayback +tests_audio_AudioBasicUSBPlaybackRecord +tests_audio_AudioBasicUSBRecord +tests_audio_AudioBluetoothConnectionStability +tests_audio_AudioNodeSwitch +tests_audio_AudioNoiseCancellation +tests_audio_AudioPinnedStream +tests_audio_AudioQualityAfterSuspend +tests_audio_AudioTestAssumptionCheck +tests_audio_AudioVolume +tests_audio_AudioWebRTCLoopback +tests_audio_InternalCardNodes +tests_audio_LeftRightInternalSpeaker +tests_audio_MediaBasicVerification +tests_audio_PowerConsumption +tests_audiovideo_AVSync +tests_autoupdate_Basic +tests_autoupdate_CatchBadSignatures +tests_autoupdate_Cellular +tests_autoupdate_ConsecutiveUpdatesBeforeReboot +tests_autoupdate_DataPreserved +tests_autoupdate_ForcedOOBEUpdate +tests_autoupdate_FromUI +tests_autoupdate_Interruptions +tests_autoupdate_InvalidateUpdateBeforeReboot +tests_autoupdate_Lacros +tests_autoupdate_NonBlockingOOBEUpdate +tests_autoupdate_OmahaResponse +tests_autoupdate_P2P +tests_autoupdate_Periodic +tests_autoupdate_RejectDuplicateUpdate +tests_autoupdate_Rollback dlc_test? ( +tests_autoupdate_WithDLC ) cellular? ( +tests_cellular_StaleModemReboot ) android-container-pi? ( cheets_user? ( +tests_cheets_CTS_Instant +tests_cheets_CTS_P ) cheets_user_64? ( +tests_cheets_CTS_Instant +tests_cheets_CTS_P ) ) android-vm-rvc? ( cheets_user_64? ( +tests_cheets_CTS_R ) ) +tests_cellular_Callbox_AssertCellularData +tests_cellular_Callbox_AssertSMS +tests_cheets_LabDependencies debugd? ( +tests_debugd_DevTools ) +tests_crosperf_Wrapper +tests_display_EdidStress +tests_display_HDCPScreen +tests_display_HotPlugAtBoot +tests_display_HotPlugAtSuspend +tests_display_HotPlugNoisy +tests_display_LidCloseOpen +tests_display_NoEdid +tests_display_Resolution +tests_display_ResolutionList +tests_display_ServerChameleonConnection +tests_display_SuspendStress +tests_display_SwitchMode +tests_enterprise_ClearTPM +tests_enterprise_KioskEnrollmentServer +tests_enterprise_LongevityTrackerServer +tests_enterprise_OnlineDemoMode +tests_factory_Basic +tests_firmware_Bmpblk +tests_firmware_CgptStress +tests_firmware_ClearTPMOwnerAndReset +tests_firmware_ConsecutiveBoot +tests_firmware_ConsecutiveBootPowerButton +tests_firmware_ConsecutiveLidSwitch +tests_firmware_CorruptBothFwBodyAB +tests_firmware_CorruptBothFwSigAB +tests_firmware_CorruptBothKernelAB +tests_firmware_CorruptBothMiniosAB +tests_firmware_CorruptFwBodyA +tests_firmware_CorruptFwBodyB +tests_firmware_CorruptFwSigA +tests_firmware_CorruptFwSigB +tests_firmware_CorruptKernelA +tests_firmware_CorruptKernelB +tests_firmware_CorruptMinios +tests_firmware_CorruptRecoveryCache +tests_firmware_Cr50BID +tests_firmware_Cr50CCDFirmwareUpdate +tests_firmware_Cr50CCDServoCap +tests_firmware_Cr50CCDUartStress +tests_firmware_Cr50CheckCap +tests_firmware_Cr50ConsoleCommands +tests_firmware_Cr50DeepSleepStress +tests_firmware_Cr50DeferredECReset +tests_firmware_Cr50DeviceState +tests_firmware_Cr50DevMode +tests_firmware_Cr50ECReset +tests_firmware_Cr50FactoryResetVC +tests_firmware_Cr50FIPSDS +tests_firmware_Cr50GetName +tests_firmware_Cr50InvalidateRW +tests_firmware_Cr50Keygen +tests_firmware_Cr50Open +tests_firmware_Cr50OpenWhileAPOff +tests_firmware_Cr50PartialBoardId +tests_firmware_Cr50Password +tests_firmware_Cr50PinWeaverServer +tests_firmware_Cr50RddG3 +tests_firmware_Cr50RejectUpdate +tests_firmware_Cr50RMAOpen +tests_firmware_Cr50SetBoardId +tests_firmware_Cr50ShortECC +tests_firmware_Cr50Testlab +tests_firmware_Cr50TpmManufactured +tests_firmware_Cr50TpmMode +tests_firmware_Cr50U2fCommands +tests_firmware_Cr50Unlock +tests_firmware_Cr50Update +tests_firmware_Cr50UpdateScriptStress +tests_firmware_Cr50USB +tests_firmware_Cr50VerifyEK +tests_firmware_Cr50WilcoEcrst +tests_firmware_Cr50WilcoRmaFactoryMode +tests_firmware_Cr50WPG3 +tests_firmware_CsmeFwUpdate +tests_firmware_DevBootUSB +tests_firmware_DevDefaultBoot +tests_firmware_DevMode +tests_firmware_DevModeStress +tests_firmware_DevScreenTimeout +tests_firmware_ECBattery +tests_firmware_ECCbiEeprom +tests_firmware_ECCharging +tests_firmware_ECChargingState +tests_firmware_ECHash +tests_firmware_ECKeyboard +tests_firmware_ECKeyboardReboot +tests_firmware_ECLidShutdown +tests_firmware_ECLidSwitch +tests_firmware_ECPowerButton +tests_firmware_ECPowerG3 +tests_firmware_ECSharedMem +tests_firmware_ECSystemLocked +tests_firmware_ECThermal +tests_firmware_ECUpdateId +tests_firmware_ECUsbPorts +tests_firmware_ECWakeFromULP +tests_firmware_ECWakeSource +tests_firmware_ECWatchdog +tests_firmware_EmmcWriteLoad +tests_firmware_EventLog +tests_firmware_FAFTPrepare +tests_firmware_FAFTModeTransitions +tests_firmware_FAFTRPC +tests_firmware_FAFTSetup biod? ( +tests_firmware_Fingerprint +tests_firmware_FingerprintCrosConfig +tests_firmware_FingerprintSigner ) +tests_firmware_FMap +tests_firmware_FWMPDisableCCD +tests_firmware_FwScreenCloseLid +tests_firmware_FwScreenPressPower +tests_firmware_FWupdateWP +tests_firmware_FWupdateThenSleep +tests_firmware_FWupdateWP +tests_firmware_InvalidUSB +tests_firmware_LegacyRecovery +tests_firmware_MenuDevBootUSB +tests_firmware_MenuModeTransition +tests_firmware_MenuPowerOff +tests_firmware_MiniDiag +tests_firmware_MiniosMenu +tests_firmware_MiniosPriority +tests_firmware_Mosys +tests_firmware_PDConnect +tests_firmware_PDDataSwap +tests_firmware_PDPowerSwap +tests_firmware_PDProtocol +tests_firmware_PDResetHard +tests_firmware_PDResetSoft +tests_firmware_PDTrySrc +tests_firmware_PDVbusRequest +tests_firmware_RecoveryButton +tests_firmware_RecoveryCacheBootKeys +tests_firmware_RollbackFirmware +tests_firmware_RollbackKernel +tests_firmware_SelfSignedBoot +tests_firmware_SetSerialNumber +tests_firmware_SoftwareSync +tests_firmware_StandbyPowerConsumption +tests_firmware_SysfsVPD +tests_firmware_TPMNotCorruptedDevMode tpm? ( +tests_firmware_TPMExtend ) tpm? ( +tests_firmware_TPMVersionCheck ) tpm? ( +tests_firmware_TPMKernelVersion ) tpm2? ( +tests_firmware_TPMExtend ) tpm2? ( +tests_firmware_TPMVersionCheck ) tpm2? ( +tests_firmware_TPMKernelVersion ) +tests_firmware_TryFwB +tests_firmware_TypeCCharging +tests_firmware_TypeCProbeUSB3 +tests_firmware_UpdateFirmwareDataKeyVersion +tests_firmware_UpdateFirmwareVersion +tests_firmware_UpdateKernelDataKeyVersion +tests_firmware_UpdateKernelSubkeyVersion +tests_firmware_UpdateKernelVersion +tests_firmware_UpdaterModes +tests_firmware_UserRequestRecovery +tests_firmware_WilcoDiagnosticsMode +tests_firmware_WriteProtect +tests_firmware_WriteProtectFunc +tests_fleet_FirmwareUpdate +tests_graphics_MultipleDisplays +tests_graphics_PowerConsumption +tests_hardware_DiskFirmwareUpgrade +tests_hardware_MemoryIntegrity +tests_hardware_StorageQual +tests_hardware_StorageQualBase +tests_hardware_StorageQualCheckSetup +tests_hardware_StorageQualSuspendStress +tests_hardware_StorageQualTrimStress +tests_hardware_StorageQualV2 +tests_hardware_StorageStress +tests_infra_ServerPythonVersion +tests_infra_TLSExecDUTCommand +tests_kernel_EmptyLines +tests_kernel_ExternalUsbPeripheralsDetectionTest +tests_kernel_IdlePerf +tests_kernel_MemoryRamoop moblab? ( +tests_moblab_RunSuite +tests_moblab_StorageQual ) +tests_moblab_Setup +tests_network_FirewallHolePunchServer +tests_p2p_EndToEndTest +tests_platform_ActivateDate +tests_platform_BootDevice +tests_platform_BootLockboxServer +tests_platform_BootPerfServer +tests_platform_CompromisedStatefulPartition +tests_platform_CorruptRootfs +tests_platform_CrashStateful +tests_platform_ExternalUsbPeripherals +tests_platform_FetchCloudConfig +tests_platform_FlashErasers +tests_platform_Flashrom +tests_platform_HWwatchdog +tests_platform_InitLoginPerfServer +tests_platform_InstallTestImage +tests_platform_InternalDisplay +tests_platform_KernelErrorPaths +tests_platform_MTBF power_management? ( +tests_platform_PowerStatusStress +tests_power_WakeSources ) +tests_platform_Powerwash +tests_platform_RotationFps +tests_platform_ServoPowerStateController +tests_platform_StageAndRecover +tests_platform_SyncCrash readahead? ( +tests_platform_UReadAheadServer ) +tests_platform_Vpd +tests_policy_DeviceServer +tests_policy_WilcoServerUSBPowershare +tests_power_BrightnessResetAfterReboot +tests_power_ChargeControlWrapper +tests_power_MeetCall +tests_power_Monitoring +tests_power_LW +tests_power_PowerlogWrapper +tests_power_RPMTest +tests_power_ServoChargeStress +tests_power_ServodWrapper +tests_provision_CheetsUpdate +tests_provision_Cr50TOT +tests_provision_Cr50Update +tests_provision_FactoryImage +tests_provision_FirmwareUpdate +tests_provision_QuickProvision +tests_rlz_CheckPing +tests_sequences +tests_servo_LabControlVerification +tests_servo_LabstationVerification +tests_servo_USBMuxVerification +tests_servo_LogGrab +tests_servo_Verification +tests_servohost_Reboot +tests_stress_ClientTestReboot +tests_stress_EnrollmentRetainment +tests_stub_FailServer +tests_stub_PassServer +tests_stub_ServerToClientPass +tests_stub_SynchronousOffloadServer cros_host cros_workon_tree_892f23b1417ad8574ed3217510b5b05bef84ec02 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=autotest? ( chromeos-base/autotest )
-REQUIRED_USE=?? ( has-kernelnext is-kernelnext )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=74868578a15ef16674cfd5c6604c7449
diff --git a/metadata/md5-cache/chromeos-base/autotest-server-tests-0.0.2-r5697 b/metadata/md5-cache/chromeos-base/autotest-server-tests-0.0.2-r5697
new file mode 100644
index 0000000..b16be36
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-server-tests-0.0.2-r5697
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=!<chromeos-base/autotest-0.0.2
+DESCRIPTION=Autotest server tests
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=android-container android-container-pi android-vm-rvc +autotest biod +cellular -chromeless_tests -chromeless_tty debugd dlc_test has-kernelnext is-kernelnext minios -moblab +power_management +readahead +tpm tpm2 +tests_android_ACTS +tests_android_EasySetup +tests_audio_AudioAfterReboot +tests_audio_AudioAfterSuspend +tests_audio_AudioArtifacts +tests_audio_AudioBasicAssistant +tests_audio_AudioBasicBluetoothPlayback +tests_audio_AudioBasicBluetoothPlaybackRecord +tests_audio_AudioBasicBluetoothRecord +tests_audio_AudioBasicExternalMicrophone +tests_audio_AudioBasicHDMI +tests_audio_AudioBasicHeadphone +tests_audio_AudioBasicHotwording +tests_audio_AudioBasicInternalMicrophone +tests_audio_AudioBasicInternalSpeaker +tests_audio_AudioBasicUSBPlayback +tests_audio_AudioBasicUSBPlaybackRecord +tests_audio_AudioBasicUSBRecord +tests_audio_AudioBluetoothConnectionStability +tests_audio_AudioNodeSwitch +tests_audio_AudioNoiseCancellation +tests_audio_AudioPinnedStream +tests_audio_AudioQualityAfterSuspend +tests_audio_AudioTestAssumptionCheck +tests_audio_AudioVolume +tests_audio_AudioWebRTCLoopback +tests_audio_InternalCardNodes +tests_audio_LeftRightInternalSpeaker +tests_audio_MediaBasicVerification +tests_autoupdate_Basic +tests_autoupdate_CatchBadSignatures +tests_autoupdate_Cellular +tests_autoupdate_ConsecutiveUpdatesBeforeReboot +tests_autoupdate_DataPreserved +tests_autoupdate_DeferredUpdate +tests_autoupdate_EndToEndTest +tests_autoupdate_ForcedOOBEUpdate +tests_autoupdate_FromUI +tests_autoupdate_Interruptions +tests_autoupdate_InvalidateUpdateBeforeReboot +tests_autoupdate_Lacros minios? ( +tests_autoupdate_MiniOS ) +tests_autoupdate_NonBlockingOOBEUpdate +tests_autoupdate_OmahaResponse +tests_autoupdate_P2P +tests_autoupdate_Periodic +tests_autoupdate_RejectDuplicateUpdate +tests_autoupdate_Rollback dlc_test? ( +tests_autoupdate_WithDLC ) cellular? ( +tests_cellular_StaleModemReboot ) android-container-pi? ( +tests_cheets_CTS_Instant +tests_cheets_CTS_P ) android-vm-rvc? ( +tests_cheets_CTS_R ) +tests_cellular_Callbox_AssertCellularData +tests_cellular_Callbox_AssertSMS +tests_display_EdidStress +tests_display_HotPlugAtBoot +tests_display_HotPlugAtSuspend +tests_display_LidCloseOpen +tests_display_Resolution +tests_display_ResolutionList +tests_display_ServerChameleonConnection +tests_display_SwitchMode +tests_factory_Basic +tests_firmware_Bmpblk +tests_firmware_CgptStress +tests_firmware_ClearTPMOwnerAndReset +tests_firmware_ConsecutiveBoot +tests_firmware_ConsecutiveBootPowerButton +tests_firmware_ConsecutiveLidSwitch +tests_firmware_CorruptBothFwBodyAB +tests_firmware_CorruptBothFwSigAB +tests_firmware_CorruptBothKernelAB +tests_firmware_CorruptBothMiniosAB +tests_firmware_CorruptFwBodyA +tests_firmware_CorruptFwBodyB +tests_firmware_CorruptFwSigA +tests_firmware_CorruptFwSigB +tests_firmware_CorruptKernelA +tests_firmware_CorruptKernelB +tests_firmware_CorruptMinios +tests_firmware_CorruptRecoveryCache +tests_firmware_Cr50BID +tests_firmware_Cr50CCDFirmwareUpdate +tests_firmware_Cr50CCDServoCap +tests_firmware_Cr50CCDUartStress +tests_firmware_Cr50CheckCap +tests_firmware_Cr50ConsoleCommands +tests_firmware_Cr50DeepSleepStress +tests_firmware_Cr50DeferredECReset +tests_firmware_Cr50DeviceState +tests_firmware_Cr50DevMode +tests_firmware_Cr50ECReset +tests_firmware_Cr50FactoryResetVC +tests_firmware_Cr50FIPSDS +tests_firmware_Cr50GetName +tests_firmware_Cr50InvalidateRW +tests_firmware_Cr50Keygen +tests_firmware_Cr50Open +tests_firmware_Cr50OpenTPMRstDebounce +tests_firmware_Cr50OpenWhileAPOff +tests_firmware_Cr50PartialBoardId +tests_firmware_Cr50Password +tests_firmware_Cr50PinWeaverServer +tests_firmware_Cr50RddG3 +tests_firmware_Cr50RejectUpdate +tests_firmware_Cr50RMAOpen +tests_firmware_Cr50SetBoardId +tests_firmware_Cr50ShortECC +tests_firmware_Cr50Testlab +tests_firmware_Cr50TpmManufactured +tests_firmware_Cr50TpmMode +tests_firmware_Cr50U2fCommands +tests_firmware_Cr50Unlock +tests_firmware_Cr50Update +tests_firmware_Cr50UpdateScriptStress +tests_firmware_Cr50USB +tests_firmware_Cr50VerifyEK +tests_firmware_Cr50WilcoEcrst +tests_firmware_Cr50WilcoRmaFactoryMode +tests_firmware_Cr50WPG3 +tests_firmware_CsmeFwUpdate +tests_firmware_DevBootUSB +tests_firmware_DevDefaultBoot +tests_firmware_DevMode +tests_firmware_DevModeStress +tests_firmware_DevScreenTimeout +tests_firmware_ECBattery +tests_firmware_ECCbiEeprom +tests_firmware_ECCharging +tests_firmware_ECChargingState +tests_firmware_ECHash +tests_firmware_ECKeyboard +tests_firmware_ECKeyboardReboot +tests_firmware_ECLidShutdown +tests_firmware_ECLidSwitch +tests_firmware_ECPowerButton +tests_firmware_ECPowerG3 +tests_firmware_ECSharedMem +tests_firmware_ECSystemLocked +tests_firmware_ECThermal +tests_firmware_ECUpdateId +tests_firmware_ECUsbPorts +tests_firmware_ECWakeFromULP +tests_firmware_ECWakeSource +tests_firmware_ECWatchdog +tests_firmware_EmmcWriteLoad +tests_firmware_EventLog +tests_firmware_FAFTPrepare +tests_firmware_FAFTModeTransitions +tests_firmware_FAFTRPC +tests_firmware_FAFTSetup biod? ( +tests_firmware_Fingerprint +tests_firmware_FingerprintCrosConfig +tests_firmware_FingerprintSigner ) +tests_firmware_FMap +tests_firmware_FWMPDisableCCD +tests_firmware_FwScreenCloseLid +tests_firmware_FwScreenPressPower +tests_firmware_FWupdateWP +tests_firmware_FWupdateThenSleep +tests_firmware_FWupdateWP +tests_firmware_GSCAPROV1Trigger +tests_firmware_GSCSetAPROV1 +tests_firmware_InvalidUSB +tests_firmware_LegacyRecovery +tests_firmware_MenuDevBootUSB +tests_firmware_MenuPowerOff +tests_firmware_MiniDiag +tests_firmware_MiniosMenu +tests_firmware_MiniosPriority +tests_firmware_Mosys +tests_firmware_PDConnect +tests_firmware_PDDataSwap +tests_firmware_PDPowerSwap +tests_firmware_PDProtocol +tests_firmware_PDResetHard +tests_firmware_PDResetSoft +tests_firmware_PDTrySrc +tests_firmware_PDVbusRequest +tests_firmware_RecoveryButton +tests_firmware_RecoveryCacheBootKeys +tests_firmware_RollbackFirmware +tests_firmware_RollbackKernel +tests_firmware_SelfSignedBoot +tests_firmware_SetSerialNumber +tests_firmware_SoftwareSync +tests_firmware_StandbyPowerConsumption +tests_firmware_SysfsVPD +tests_firmware_TPMNotCorruptedDevMode tpm? ( +tests_firmware_TPMExtend ) tpm? ( +tests_firmware_TPMVersionCheck ) tpm? ( +tests_firmware_TPMKernelVersion ) tpm2? ( +tests_firmware_TPMExtend ) tpm2? ( +tests_firmware_TPMVersionCheck ) tpm2? ( +tests_firmware_TPMKernelVersion ) +tests_firmware_TryFwB +tests_firmware_TypeCCharging +tests_firmware_TypeCProbeUSB3 +tests_firmware_UpdateFirmwareDataKeyVersion +tests_firmware_UpdateFirmwareVersion +tests_firmware_UpdateKernelDataKeyVersion +tests_firmware_UpdateKernelSubkeyVersion +tests_firmware_UpdateKernelVersion +tests_firmware_UpdaterModes +tests_firmware_UserRequestRecovery +tests_firmware_WilcoDiagnosticsMode +tests_firmware_WriteProtect +tests_firmware_WriteProtectFunc +tests_fleet_FirmwareUpdate +tests_graphics_MultipleDisplays +tests_graphics_PowerConsumption +tests_hardware_DiskFirmwareUpgrade +tests_hardware_MemoryIntegrity +tests_hardware_StorageQual +tests_hardware_StorageQualBase +tests_hardware_StorageQualCheckSetup +tests_hardware_StorageQualSuspendStress +tests_hardware_StorageQualTrimStress +tests_hardware_StorageQualV2 +tests_hardware_StorageStress +tests_infra_MultiDutsWithAndroid +tests_infra_TLSExecDUTCommand +tests_kernel_EmptyLines +tests_kernel_VerityCorruptRootfsA minios? ( +tests_nbr_EndToEndTest +tests_nbr_NetworkInterruptions ) +tests_p2p_EndToEndTest +tests_platform_BootDevice +tests_platform_BootLockboxServer +tests_platform_CompromisedStatefulPartition +tests_platform_CorruptRootfs +tests_platform_CrashStateful +tests_platform_ExternalUsbPeripherals +tests_platform_FetchCloudConfig +tests_platform_FlashErasers +tests_platform_Flashrom +tests_platform_HWwatchdog +tests_platform_InitLoginPerfServer +tests_platform_KernelErrorPaths +tests_platform_MTBF power_management? ( +tests_platform_PowerStatusStress +tests_power_WakeSources ) +tests_platform_ServoPowerStateController +tests_platform_StageAndRecover +tests_platform_SyncCrash readahead? ( +tests_platform_UReadAheadServer ) +tests_policy_DeviceServer +tests_power_BrightnessResetAfterReboot +tests_power_LW +tests_power_ServoChargeStress +tests_power_ServodWrapper +tests_provision_CheetsUpdate +tests_provision_Cr50TOT +tests_provision_Cr50Update +tests_provision_FactoryImage +tests_provision_FirmwareUpdate +tests_provision_QuickProvision +tests_pvs_Sequence +tests_rlz_CheckPing +tests_sequences +tests_servo_LabControlVerification +tests_servo_LabstationVerification +tests_servo_USBMuxVerification +tests_servo_LogGrab +tests_servo_Verification +tests_servohost_Reboot +tests_stress_EnrollmentRetainment +tests_stub_FailServer +tests_stub_PassServer +tests_stub_ServerToClientPass +tests_stub_SynchronousOffloadServer cros_host cros_workon_tree_6a73a3b9893611d68f40462d2c15d7af94c522b8 +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=autotest? ( chromeos-base/autotest )
+REQUIRED_USE=?? ( has-kernelnext is-kernelnext )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=88a7c3e9f99d0add25cc7e28d8943c49
diff --git a/metadata/md5-cache/chromeos-base/autotest-server-tests-9999 b/metadata/md5-cache/chromeos-base/autotest-server-tests-9999
index 5769ea1..ef0c54e 100644
--- a/metadata/md5-cache/chromeos-base/autotest-server-tests-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-server-tests-9999
@@ -3,12 +3,12 @@
 DESCRIPTION=Autotest server tests
 EAPI=5
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=android-container android-container-pi android-vm-rvc +autotest biod +cellular +cheets_user cheets_user_64 -chromeless_tests -chromeless_tty debugd dlc_test has-kernelnext is-kernelnext -moblab +power_management +readahead +tpm tpm2 +tests_android_ACTS +tests_android_EasySetup +tests_audio_AudioAfterReboot +tests_audio_AudioAfterSuspend +tests_audio_AudioArtifacts +tests_audio_AudioBasicAssistant +tests_audio_AudioBasicBluetoothPlayback +tests_audio_AudioBasicBluetoothPlaybackRecord +tests_audio_AudioBasicBluetoothRecord +tests_audio_AudioBasicExternalMicrophone +tests_audio_AudioBasicHDMI +tests_audio_AudioBasicHeadphone +tests_audio_AudioBasicHotwording +tests_audio_AudioBasicInternalMicrophone +tests_audio_AudioBasicInternalSpeaker +tests_audio_AudioBasicUSBPlayback +tests_audio_AudioBasicUSBPlaybackRecord +tests_audio_AudioBasicUSBRecord +tests_audio_AudioBluetoothConnectionStability +tests_audio_AudioNodeSwitch +tests_audio_AudioNoiseCancellation +tests_audio_AudioPinnedStream +tests_audio_AudioQualityAfterSuspend +tests_audio_AudioTestAssumptionCheck +tests_audio_AudioVolume +tests_audio_AudioWebRTCLoopback +tests_audio_InternalCardNodes +tests_audio_LeftRightInternalSpeaker +tests_audio_MediaBasicVerification +tests_audio_PowerConsumption +tests_audiovideo_AVSync +tests_autoupdate_Basic +tests_autoupdate_CatchBadSignatures +tests_autoupdate_Cellular +tests_autoupdate_ConsecutiveUpdatesBeforeReboot +tests_autoupdate_DataPreserved +tests_autoupdate_ForcedOOBEUpdate +tests_autoupdate_FromUI +tests_autoupdate_Interruptions +tests_autoupdate_InvalidateUpdateBeforeReboot +tests_autoupdate_Lacros +tests_autoupdate_NonBlockingOOBEUpdate +tests_autoupdate_OmahaResponse +tests_autoupdate_P2P +tests_autoupdate_Periodic +tests_autoupdate_RejectDuplicateUpdate +tests_autoupdate_Rollback dlc_test? ( +tests_autoupdate_WithDLC ) cellular? ( +tests_cellular_StaleModemReboot ) android-container-pi? ( cheets_user? ( +tests_cheets_CTS_Instant +tests_cheets_CTS_P ) cheets_user_64? ( +tests_cheets_CTS_Instant +tests_cheets_CTS_P ) ) android-vm-rvc? ( cheets_user_64? ( +tests_cheets_CTS_R ) ) +tests_cellular_Callbox_AssertCellularData +tests_cellular_Callbox_AssertSMS +tests_cheets_LabDependencies debugd? ( +tests_debugd_DevTools ) +tests_crosperf_Wrapper +tests_display_EdidStress +tests_display_HDCPScreen +tests_display_HotPlugAtBoot +tests_display_HotPlugAtSuspend +tests_display_HotPlugNoisy +tests_display_LidCloseOpen +tests_display_NoEdid +tests_display_Resolution +tests_display_ResolutionList +tests_display_ServerChameleonConnection +tests_display_SuspendStress +tests_display_SwitchMode +tests_enterprise_ClearTPM +tests_enterprise_KioskEnrollmentServer +tests_enterprise_LongevityTrackerServer +tests_enterprise_OnlineDemoMode +tests_factory_Basic +tests_firmware_Bmpblk +tests_firmware_CgptStress +tests_firmware_ClearTPMOwnerAndReset +tests_firmware_ConsecutiveBoot +tests_firmware_ConsecutiveBootPowerButton +tests_firmware_ConsecutiveLidSwitch +tests_firmware_CorruptBothFwBodyAB +tests_firmware_CorruptBothFwSigAB +tests_firmware_CorruptBothKernelAB +tests_firmware_CorruptBothMiniosAB +tests_firmware_CorruptFwBodyA +tests_firmware_CorruptFwBodyB +tests_firmware_CorruptFwSigA +tests_firmware_CorruptFwSigB +tests_firmware_CorruptKernelA +tests_firmware_CorruptKernelB +tests_firmware_CorruptMinios +tests_firmware_CorruptRecoveryCache +tests_firmware_Cr50BID +tests_firmware_Cr50CCDFirmwareUpdate +tests_firmware_Cr50CCDServoCap +tests_firmware_Cr50CCDUartStress +tests_firmware_Cr50CheckCap +tests_firmware_Cr50ConsoleCommands +tests_firmware_Cr50DeepSleepStress +tests_firmware_Cr50DeferredECReset +tests_firmware_Cr50DeviceState +tests_firmware_Cr50DevMode +tests_firmware_Cr50ECReset +tests_firmware_Cr50FactoryResetVC +tests_firmware_Cr50FIPSDS +tests_firmware_Cr50GetName +tests_firmware_Cr50InvalidateRW +tests_firmware_Cr50Keygen +tests_firmware_Cr50Open +tests_firmware_Cr50OpenWhileAPOff +tests_firmware_Cr50PartialBoardId +tests_firmware_Cr50Password +tests_firmware_Cr50PinWeaverServer +tests_firmware_Cr50RddG3 +tests_firmware_Cr50RejectUpdate +tests_firmware_Cr50RMAOpen +tests_firmware_Cr50SetBoardId +tests_firmware_Cr50ShortECC +tests_firmware_Cr50Testlab +tests_firmware_Cr50TpmManufactured +tests_firmware_Cr50TpmMode +tests_firmware_Cr50U2fCommands +tests_firmware_Cr50Unlock +tests_firmware_Cr50Update +tests_firmware_Cr50UpdateScriptStress +tests_firmware_Cr50USB +tests_firmware_Cr50VerifyEK +tests_firmware_Cr50WilcoEcrst +tests_firmware_Cr50WilcoRmaFactoryMode +tests_firmware_Cr50WPG3 +tests_firmware_CsmeFwUpdate +tests_firmware_DevBootUSB +tests_firmware_DevDefaultBoot +tests_firmware_DevMode +tests_firmware_DevModeStress +tests_firmware_DevScreenTimeout +tests_firmware_ECBattery +tests_firmware_ECCbiEeprom +tests_firmware_ECCharging +tests_firmware_ECChargingState +tests_firmware_ECHash +tests_firmware_ECKeyboard +tests_firmware_ECKeyboardReboot +tests_firmware_ECLidShutdown +tests_firmware_ECLidSwitch +tests_firmware_ECPowerButton +tests_firmware_ECPowerG3 +tests_firmware_ECSharedMem +tests_firmware_ECSystemLocked +tests_firmware_ECThermal +tests_firmware_ECUpdateId +tests_firmware_ECUsbPorts +tests_firmware_ECWakeFromULP +tests_firmware_ECWakeSource +tests_firmware_ECWatchdog +tests_firmware_EmmcWriteLoad +tests_firmware_EventLog +tests_firmware_FAFTPrepare +tests_firmware_FAFTModeTransitions +tests_firmware_FAFTRPC +tests_firmware_FAFTSetup biod? ( +tests_firmware_Fingerprint +tests_firmware_FingerprintCrosConfig +tests_firmware_FingerprintSigner ) +tests_firmware_FMap +tests_firmware_FWMPDisableCCD +tests_firmware_FwScreenCloseLid +tests_firmware_FwScreenPressPower +tests_firmware_FWupdateWP +tests_firmware_FWupdateThenSleep +tests_firmware_FWupdateWP +tests_firmware_InvalidUSB +tests_firmware_LegacyRecovery +tests_firmware_MenuDevBootUSB +tests_firmware_MenuModeTransition +tests_firmware_MenuPowerOff +tests_firmware_MiniDiag +tests_firmware_MiniosMenu +tests_firmware_MiniosPriority +tests_firmware_Mosys +tests_firmware_PDConnect +tests_firmware_PDDataSwap +tests_firmware_PDPowerSwap +tests_firmware_PDProtocol +tests_firmware_PDResetHard +tests_firmware_PDResetSoft +tests_firmware_PDTrySrc +tests_firmware_PDVbusRequest +tests_firmware_RecoveryButton +tests_firmware_RecoveryCacheBootKeys +tests_firmware_RollbackFirmware +tests_firmware_RollbackKernel +tests_firmware_SelfSignedBoot +tests_firmware_SetSerialNumber +tests_firmware_SoftwareSync +tests_firmware_StandbyPowerConsumption +tests_firmware_SysfsVPD +tests_firmware_TPMNotCorruptedDevMode tpm? ( +tests_firmware_TPMExtend ) tpm? ( +tests_firmware_TPMVersionCheck ) tpm? ( +tests_firmware_TPMKernelVersion ) tpm2? ( +tests_firmware_TPMExtend ) tpm2? ( +tests_firmware_TPMVersionCheck ) tpm2? ( +tests_firmware_TPMKernelVersion ) +tests_firmware_TryFwB +tests_firmware_TypeCCharging +tests_firmware_TypeCProbeUSB3 +tests_firmware_UpdateFirmwareDataKeyVersion +tests_firmware_UpdateFirmwareVersion +tests_firmware_UpdateKernelDataKeyVersion +tests_firmware_UpdateKernelSubkeyVersion +tests_firmware_UpdateKernelVersion +tests_firmware_UpdaterModes +tests_firmware_UserRequestRecovery +tests_firmware_WilcoDiagnosticsMode +tests_firmware_WriteProtect +tests_firmware_WriteProtectFunc +tests_fleet_FirmwareUpdate +tests_graphics_MultipleDisplays +tests_graphics_PowerConsumption +tests_hardware_DiskFirmwareUpgrade +tests_hardware_MemoryIntegrity +tests_hardware_StorageQual +tests_hardware_StorageQualBase +tests_hardware_StorageQualCheckSetup +tests_hardware_StorageQualSuspendStress +tests_hardware_StorageQualTrimStress +tests_hardware_StorageQualV2 +tests_hardware_StorageStress +tests_infra_ServerPythonVersion +tests_infra_TLSExecDUTCommand +tests_kernel_EmptyLines +tests_kernel_ExternalUsbPeripheralsDetectionTest +tests_kernel_IdlePerf +tests_kernel_MemoryRamoop moblab? ( +tests_moblab_RunSuite +tests_moblab_StorageQual ) +tests_moblab_Setup +tests_network_FirewallHolePunchServer +tests_p2p_EndToEndTest +tests_platform_ActivateDate +tests_platform_BootDevice +tests_platform_BootLockboxServer +tests_platform_BootPerfServer +tests_platform_CompromisedStatefulPartition +tests_platform_CorruptRootfs +tests_platform_CrashStateful +tests_platform_ExternalUsbPeripherals +tests_platform_FetchCloudConfig +tests_platform_FlashErasers +tests_platform_Flashrom +tests_platform_HWwatchdog +tests_platform_InitLoginPerfServer +tests_platform_InstallTestImage +tests_platform_InternalDisplay +tests_platform_KernelErrorPaths +tests_platform_MTBF power_management? ( +tests_platform_PowerStatusStress +tests_power_WakeSources ) +tests_platform_Powerwash +tests_platform_RotationFps +tests_platform_ServoPowerStateController +tests_platform_StageAndRecover +tests_platform_SyncCrash readahead? ( +tests_platform_UReadAheadServer ) +tests_platform_Vpd +tests_policy_DeviceServer +tests_policy_WilcoServerUSBPowershare +tests_power_BrightnessResetAfterReboot +tests_power_ChargeControlWrapper +tests_power_MeetCall +tests_power_Monitoring +tests_power_LW +tests_power_PowerlogWrapper +tests_power_RPMTest +tests_power_ServoChargeStress +tests_power_ServodWrapper +tests_provision_CheetsUpdate +tests_provision_Cr50TOT +tests_provision_Cr50Update +tests_provision_FactoryImage +tests_provision_FirmwareUpdate +tests_provision_QuickProvision +tests_rlz_CheckPing +tests_sequences +tests_servo_LabControlVerification +tests_servo_LabstationVerification +tests_servo_USBMuxVerification +tests_servo_LogGrab +tests_servo_Verification +tests_servohost_Reboot +tests_stress_ClientTestReboot +tests_stress_EnrollmentRetainment +tests_stub_FailServer +tests_stub_PassServer +tests_stub_ServerToClientPass +tests_stub_SynchronousOffloadServer cros_host cros_workon_tree_ +buildcheck autotest opengles
+IUSE=android-container android-container-pi android-vm-rvc +autotest biod +cellular -chromeless_tests -chromeless_tty debugd dlc_test has-kernelnext is-kernelnext minios -moblab +power_management +readahead +tpm tpm2 +tests_android_ACTS +tests_android_EasySetup +tests_audio_AudioAfterReboot +tests_audio_AudioAfterSuspend +tests_audio_AudioArtifacts +tests_audio_AudioBasicAssistant +tests_audio_AudioBasicBluetoothPlayback +tests_audio_AudioBasicBluetoothPlaybackRecord +tests_audio_AudioBasicBluetoothRecord +tests_audio_AudioBasicExternalMicrophone +tests_audio_AudioBasicHDMI +tests_audio_AudioBasicHeadphone +tests_audio_AudioBasicHotwording +tests_audio_AudioBasicInternalMicrophone +tests_audio_AudioBasicInternalSpeaker +tests_audio_AudioBasicUSBPlayback +tests_audio_AudioBasicUSBPlaybackRecord +tests_audio_AudioBasicUSBRecord +tests_audio_AudioBluetoothConnectionStability +tests_audio_AudioNodeSwitch +tests_audio_AudioNoiseCancellation +tests_audio_AudioPinnedStream +tests_audio_AudioQualityAfterSuspend +tests_audio_AudioTestAssumptionCheck +tests_audio_AudioVolume +tests_audio_AudioWebRTCLoopback +tests_audio_InternalCardNodes +tests_audio_LeftRightInternalSpeaker +tests_audio_MediaBasicVerification +tests_autoupdate_Basic +tests_autoupdate_CatchBadSignatures +tests_autoupdate_Cellular +tests_autoupdate_ConsecutiveUpdatesBeforeReboot +tests_autoupdate_DataPreserved +tests_autoupdate_DeferredUpdate +tests_autoupdate_EndToEndTest +tests_autoupdate_ForcedOOBEUpdate +tests_autoupdate_FromUI +tests_autoupdate_Interruptions +tests_autoupdate_InvalidateUpdateBeforeReboot +tests_autoupdate_Lacros minios? ( +tests_autoupdate_MiniOS ) +tests_autoupdate_NonBlockingOOBEUpdate +tests_autoupdate_OmahaResponse +tests_autoupdate_P2P +tests_autoupdate_Periodic +tests_autoupdate_RejectDuplicateUpdate +tests_autoupdate_Rollback dlc_test? ( +tests_autoupdate_WithDLC ) cellular? ( +tests_cellular_StaleModemReboot ) android-container-pi? ( +tests_cheets_CTS_Instant +tests_cheets_CTS_P ) android-vm-rvc? ( +tests_cheets_CTS_R ) +tests_cellular_Callbox_AssertCellularData +tests_cellular_Callbox_AssertSMS +tests_display_EdidStress +tests_display_HotPlugAtBoot +tests_display_HotPlugAtSuspend +tests_display_LidCloseOpen +tests_display_Resolution +tests_display_ResolutionList +tests_display_ServerChameleonConnection +tests_display_SwitchMode +tests_factory_Basic +tests_firmware_Bmpblk +tests_firmware_CgptStress +tests_firmware_ClearTPMOwnerAndReset +tests_firmware_ConsecutiveBoot +tests_firmware_ConsecutiveBootPowerButton +tests_firmware_ConsecutiveLidSwitch +tests_firmware_CorruptBothFwBodyAB +tests_firmware_CorruptBothFwSigAB +tests_firmware_CorruptBothKernelAB +tests_firmware_CorruptBothMiniosAB +tests_firmware_CorruptFwBodyA +tests_firmware_CorruptFwBodyB +tests_firmware_CorruptFwSigA +tests_firmware_CorruptFwSigB +tests_firmware_CorruptKernelA +tests_firmware_CorruptKernelB +tests_firmware_CorruptMinios +tests_firmware_CorruptRecoveryCache +tests_firmware_Cr50BID +tests_firmware_Cr50CCDFirmwareUpdate +tests_firmware_Cr50CCDServoCap +tests_firmware_Cr50CCDUartStress +tests_firmware_Cr50CheckCap +tests_firmware_Cr50ConsoleCommands +tests_firmware_Cr50DeepSleepStress +tests_firmware_Cr50DeferredECReset +tests_firmware_Cr50DeviceState +tests_firmware_Cr50DevMode +tests_firmware_Cr50ECReset +tests_firmware_Cr50FactoryResetVC +tests_firmware_Cr50FIPSDS +tests_firmware_Cr50GetName +tests_firmware_Cr50InvalidateRW +tests_firmware_Cr50Keygen +tests_firmware_Cr50Open +tests_firmware_Cr50OpenTPMRstDebounce +tests_firmware_Cr50OpenWhileAPOff +tests_firmware_Cr50PartialBoardId +tests_firmware_Cr50Password +tests_firmware_Cr50PinWeaverServer +tests_firmware_Cr50RddG3 +tests_firmware_Cr50RejectUpdate +tests_firmware_Cr50RMAOpen +tests_firmware_Cr50SetBoardId +tests_firmware_Cr50ShortECC +tests_firmware_Cr50Testlab +tests_firmware_Cr50TpmManufactured +tests_firmware_Cr50TpmMode +tests_firmware_Cr50U2fCommands +tests_firmware_Cr50Unlock +tests_firmware_Cr50Update +tests_firmware_Cr50UpdateScriptStress +tests_firmware_Cr50USB +tests_firmware_Cr50VerifyEK +tests_firmware_Cr50WilcoEcrst +tests_firmware_Cr50WilcoRmaFactoryMode +tests_firmware_Cr50WPG3 +tests_firmware_CsmeFwUpdate +tests_firmware_DevBootUSB +tests_firmware_DevDefaultBoot +tests_firmware_DevMode +tests_firmware_DevModeStress +tests_firmware_DevScreenTimeout +tests_firmware_ECBattery +tests_firmware_ECCbiEeprom +tests_firmware_ECCharging +tests_firmware_ECChargingState +tests_firmware_ECHash +tests_firmware_ECKeyboard +tests_firmware_ECKeyboardReboot +tests_firmware_ECLidShutdown +tests_firmware_ECLidSwitch +tests_firmware_ECPowerButton +tests_firmware_ECPowerG3 +tests_firmware_ECSharedMem +tests_firmware_ECSystemLocked +tests_firmware_ECThermal +tests_firmware_ECUpdateId +tests_firmware_ECUsbPorts +tests_firmware_ECWakeFromULP +tests_firmware_ECWakeSource +tests_firmware_ECWatchdog +tests_firmware_EmmcWriteLoad +tests_firmware_EventLog +tests_firmware_FAFTPrepare +tests_firmware_FAFTModeTransitions +tests_firmware_FAFTRPC +tests_firmware_FAFTSetup biod? ( +tests_firmware_Fingerprint +tests_firmware_FingerprintCrosConfig +tests_firmware_FingerprintSigner ) +tests_firmware_FMap +tests_firmware_FWMPDisableCCD +tests_firmware_FwScreenCloseLid +tests_firmware_FwScreenPressPower +tests_firmware_FWupdateWP +tests_firmware_FWupdateThenSleep +tests_firmware_FWupdateWP +tests_firmware_GSCAPROV1Trigger +tests_firmware_GSCSetAPROV1 +tests_firmware_InvalidUSB +tests_firmware_LegacyRecovery +tests_firmware_MenuDevBootUSB +tests_firmware_MenuPowerOff +tests_firmware_MiniDiag +tests_firmware_MiniosMenu +tests_firmware_MiniosPriority +tests_firmware_Mosys +tests_firmware_PDConnect +tests_firmware_PDDataSwap +tests_firmware_PDPowerSwap +tests_firmware_PDProtocol +tests_firmware_PDResetHard +tests_firmware_PDResetSoft +tests_firmware_PDTrySrc +tests_firmware_PDVbusRequest +tests_firmware_RecoveryButton +tests_firmware_RecoveryCacheBootKeys +tests_firmware_RollbackFirmware +tests_firmware_RollbackKernel +tests_firmware_SelfSignedBoot +tests_firmware_SetSerialNumber +tests_firmware_SoftwareSync +tests_firmware_StandbyPowerConsumption +tests_firmware_SysfsVPD +tests_firmware_TPMNotCorruptedDevMode tpm? ( +tests_firmware_TPMExtend ) tpm? ( +tests_firmware_TPMVersionCheck ) tpm? ( +tests_firmware_TPMKernelVersion ) tpm2? ( +tests_firmware_TPMExtend ) tpm2? ( +tests_firmware_TPMVersionCheck ) tpm2? ( +tests_firmware_TPMKernelVersion ) +tests_firmware_TryFwB +tests_firmware_TypeCCharging +tests_firmware_TypeCProbeUSB3 +tests_firmware_UpdateFirmwareDataKeyVersion +tests_firmware_UpdateFirmwareVersion +tests_firmware_UpdateKernelDataKeyVersion +tests_firmware_UpdateKernelSubkeyVersion +tests_firmware_UpdateKernelVersion +tests_firmware_UpdaterModes +tests_firmware_UserRequestRecovery +tests_firmware_WilcoDiagnosticsMode +tests_firmware_WriteProtect +tests_firmware_WriteProtectFunc +tests_fleet_FirmwareUpdate +tests_graphics_MultipleDisplays +tests_graphics_PowerConsumption +tests_hardware_DiskFirmwareUpgrade +tests_hardware_MemoryIntegrity +tests_hardware_StorageQual +tests_hardware_StorageQualBase +tests_hardware_StorageQualCheckSetup +tests_hardware_StorageQualSuspendStress +tests_hardware_StorageQualTrimStress +tests_hardware_StorageQualV2 +tests_hardware_StorageStress +tests_infra_MultiDutsWithAndroid +tests_infra_TLSExecDUTCommand +tests_kernel_EmptyLines +tests_kernel_VerityCorruptRootfsA minios? ( +tests_nbr_EndToEndTest +tests_nbr_NetworkInterruptions ) +tests_p2p_EndToEndTest +tests_platform_BootDevice +tests_platform_BootLockboxServer +tests_platform_CompromisedStatefulPartition +tests_platform_CorruptRootfs +tests_platform_CrashStateful +tests_platform_ExternalUsbPeripherals +tests_platform_FetchCloudConfig +tests_platform_FlashErasers +tests_platform_Flashrom +tests_platform_HWwatchdog +tests_platform_InitLoginPerfServer +tests_platform_KernelErrorPaths +tests_platform_MTBF power_management? ( +tests_platform_PowerStatusStress +tests_power_WakeSources ) +tests_platform_ServoPowerStateController +tests_platform_StageAndRecover +tests_platform_SyncCrash readahead? ( +tests_platform_UReadAheadServer ) +tests_policy_DeviceServer +tests_power_BrightnessResetAfterReboot +tests_power_LW +tests_power_ServoChargeStress +tests_power_ServodWrapper +tests_provision_CheetsUpdate +tests_provision_Cr50TOT +tests_provision_Cr50Update +tests_provision_FactoryImage +tests_provision_FirmwareUpdate +tests_provision_QuickProvision +tests_pvs_Sequence +tests_rlz_CheckPing +tests_sequences +tests_servo_LabControlVerification +tests_servo_LabstationVerification +tests_servo_USBMuxVerification +tests_servo_LogGrab +tests_servo_Verification +tests_servohost_Reboot +tests_stress_EnrollmentRetainment +tests_stub_FailServer +tests_stub_PassServer +tests_stub_ServerToClientPass +tests_stub_SynchronousOffloadServer cros_host cros_workon_tree_ +buildcheck autotest opengles
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
 RDEPEND=autotest? ( chromeos-base/autotest )
 REQUIRED_USE=?? ( has-kernelnext is-kernelnext )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=33597a67eacf5e880b83274d35ac74eb
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=25e19a3caa2fb47b59e0a9cdaee10ba3
diff --git a/metadata/md5-cache/chromeos-base/autotest-server-tests-bluetooth-0.0.1-r3465 b/metadata/md5-cache/chromeos-base/autotest-server-tests-bluetooth-0.0.1-r3465
deleted file mode 100644
index f410371..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-server-tests-bluetooth-0.0.1-r3465
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DESCRIPTION=Autotest server tests for Bluetooth
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest +tests_bluetooth_AdapterAdvHealth +tests_bluetooth_AdapterAdvMonitor +tests_bluetooth_AdapterAudioLink +tests_bluetooth_AdapterAUHealth +tests_bluetooth_AdapterCLHealth +tests_bluetooth_AdapterEPHealth +tests_bluetooth_AdapterLEAdvertising +tests_bluetooth_AdapterLEBetterTogether +tests_bluetooth_AdapterLEHIDHealth +tests_bluetooth_AdapterLEHealth +tests_bluetooth_AdapterLLTHealth +tests_bluetooth_AdapterMDHealth +tests_bluetooth_AdapterMTBF +tests_bluetooth_AdapterPowerMeasure +tests_bluetooth_AdapterQuickHealth +tests_bluetooth_AdapterRvR +tests_bluetooth_AdapterSAHealth +tests_bluetooth_AdapterSRHealth +tests_bluetooth_PeerUpdate +tests_bluetooth_PeerVerify cros_host cros_workon_tree_aab84c83030e169ed28f32b9a027cf28b09c036f +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=!<chromeos-base/autotest-server-tests-0.0.2-r4126 autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=fd61671f4e0916265ce0cb1acc47a35c
diff --git a/metadata/md5-cache/chromeos-base/autotest-server-tests-bluetooth-0.0.1-r3523 b/metadata/md5-cache/chromeos-base/autotest-server-tests-bluetooth-0.0.1-r3523
new file mode 100644
index 0000000..1aa6c1e
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-server-tests-bluetooth-0.0.1-r3523
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DESCRIPTION=Autotest server tests for Bluetooth
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest +tests_bluetooth_AdapterAdvHealth +tests_bluetooth_AdapterAdvMonitor +tests_bluetooth_AdapterAudioLink +tests_bluetooth_AdapterAUHealth +tests_bluetooth_AdapterCLHealth +tests_bluetooth_AdapterEPHealth +tests_bluetooth_AdapterLEAdvertising +tests_bluetooth_AdapterLEBetterTogether +tests_bluetooth_AdapterLEHIDHealth +tests_bluetooth_AdapterLEHealth +tests_bluetooth_AdapterLLPrivacyHealth +tests_bluetooth_AdapterLLTHealth +tests_bluetooth_AdapterMDHealth +tests_bluetooth_AdapterMTBF +tests_bluetooth_AdapterPowerMeasure +tests_bluetooth_AdapterQRHealth +tests_bluetooth_AdapterQuickHealth +tests_bluetooth_AdapterRvR +tests_bluetooth_AdapterSAHealth +tests_bluetooth_AdapterSRHealth +tests_bluetooth_FastPair +tests_bluetooth_PeerUpdate +tests_bluetooth_PeerVerify cros_host cros_workon_tree_1427c4c960670d99c8e2de8aa3ad2ad5f08da014 +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=!<chromeos-base/autotest-server-tests-0.0.2-r4126 autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=95a25134d61f89971d9610ec660d7788
diff --git a/metadata/md5-cache/chromeos-base/autotest-server-tests-bluetooth-9999 b/metadata/md5-cache/chromeos-base/autotest-server-tests-bluetooth-9999
index 7c4f6b2..a96d4fd 100644
--- a/metadata/md5-cache/chromeos-base/autotest-server-tests-bluetooth-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-server-tests-bluetooth-9999
@@ -2,11 +2,11 @@
 DESCRIPTION=Autotest server tests for Bluetooth
 EAPI=5
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest +tests_bluetooth_AdapterAdvHealth +tests_bluetooth_AdapterAdvMonitor +tests_bluetooth_AdapterAudioLink +tests_bluetooth_AdapterAUHealth +tests_bluetooth_AdapterCLHealth +tests_bluetooth_AdapterEPHealth +tests_bluetooth_AdapterLEAdvertising +tests_bluetooth_AdapterLEBetterTogether +tests_bluetooth_AdapterLEHIDHealth +tests_bluetooth_AdapterLEHealth +tests_bluetooth_AdapterLLTHealth +tests_bluetooth_AdapterMDHealth +tests_bluetooth_AdapterMTBF +tests_bluetooth_AdapterPowerMeasure +tests_bluetooth_AdapterQuickHealth +tests_bluetooth_AdapterRvR +tests_bluetooth_AdapterSAHealth +tests_bluetooth_AdapterSRHealth +tests_bluetooth_PeerUpdate +tests_bluetooth_PeerVerify cros_host cros_workon_tree_ +buildcheck autotest opengles
+IUSE=+autotest +tests_bluetooth_AdapterAdvHealth +tests_bluetooth_AdapterAdvMonitor +tests_bluetooth_AdapterAudioLink +tests_bluetooth_AdapterAUHealth +tests_bluetooth_AdapterCLHealth +tests_bluetooth_AdapterEPHealth +tests_bluetooth_AdapterLEAdvertising +tests_bluetooth_AdapterLEBetterTogether +tests_bluetooth_AdapterLEHIDHealth +tests_bluetooth_AdapterLEHealth +tests_bluetooth_AdapterLLPrivacyHealth +tests_bluetooth_AdapterLLTHealth +tests_bluetooth_AdapterMDHealth +tests_bluetooth_AdapterMTBF +tests_bluetooth_AdapterPowerMeasure +tests_bluetooth_AdapterQRHealth +tests_bluetooth_AdapterQuickHealth +tests_bluetooth_AdapterRvR +tests_bluetooth_AdapterSAHealth +tests_bluetooth_AdapterSRHealth +tests_bluetooth_FastPair +tests_bluetooth_PeerUpdate +tests_bluetooth_PeerVerify cros_host cros_workon_tree_ +buildcheck autotest opengles
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
 RDEPEND=!<chromeos-base/autotest-server-tests-0.0.2-r4126 autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=71f0d9b348bde582c9b77878ca9f6d51
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=4c5f82101fa3c225672e580357d12c18
diff --git a/metadata/md5-cache/chromeos-base/autotest-server-tests-shill-0.0.1-r3437 b/metadata/md5-cache/chromeos-base/autotest-server-tests-shill-0.0.1-r3437
deleted file mode 100644
index 4a92fe7..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-server-tests-shill-0.0.1-r3437
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DESCRIPTION=Autotest server tests for shill
-EAPI=4
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=-chromeless_tests +autotest -chromeless_tty +tests_network_WiFi_APSupportedRates +tests_network_WiFi_AssocConfigPerformance +tests_network_WiFi_AttenuatedPerf +tests_network_WiFi_BeaconInterval +tests_network_WiFi_BgscanBackoff +tests_network_WiFi_BluetoothScanPerf +tests_network_WiFi_BluetoothStreamPerf +tests_network_WiFi_BSSTMReq +tests_network_WiFi_BT_AntennaCoex +tests_network_WiFi_ChannelHop +tests_network_WiFi_ChannelScanDwellTime +tests_network_WiFi_ChaosConfigFailure +tests_network_WiFi_ChaosConnectDisconnect +tests_network_WiFi_ChaosLongConnect !chromeless_tty ( !chromeless_tests ( +tests_cellular_ChromeEndToEnd +tests_network_WiFi_ChromeEndToEnd +tests_network_WiFi_RoamEndToEnd +tests_network_WiFi_RoamSuspendEndToEnd ) ) +tests_network_WiFi_CSA +tests_network_WiFi_DarkResumeActiveScans +tests_network_WiFi_DisableEnable +tests_network_WiFi_DisableRandomMACAddress +tests_network_WiFi_DisconnectReason +tests_network_WiFi_DTIMPeriod +tests_network_WiFi_FastReconnectInDarkResume +tests_network_WiFi_GTK +tests_network_WiFi_HiddenRemains +tests_network_WiFi_HiddenScan +tests_network_WiFi_LinkMonitorFailure +tests_network_WiFi_MalformedProbeResp +tests_network_WiFi_MultiAuth +tests_network_WiFi_OverlappingBSSScan +tests_network_WiFi_Perf +tests_network_WiFi_PMKSACaching +tests_network_WiFi_Prefer5Ghz +tests_network_WiFi_ProfileBasic +tests_network_WiFi_ProfileGUID +tests_network_WiFi_PTK +tests_network_WiFi_RandomMACAddress +tests_network_WiFi_Reassociate +tests_network_WiFi_ReconnectInDarkResume +tests_network_WiFi_Reset +tests_network_WiFi_Roam +tests_network_WiFi_RoamDbus +tests_network_WiFi_RoamFT +tests_network_WiFi_RoamSuspendTimeout +tests_network_WiFi_SecChange +tests_network_WiFi_SetOptionalDhcpProperties +tests_network_WiFi_SimpleConnect +tests_network_WiFi_SSIDSwitchBack +tests_network_WiFi_SuspendStress +tests_network_WiFi_StressTest +tests_network_WiFi_Throttle +tests_network_WiFi_UpdateRouter +tests_network_WiFi_VerifyRouter +tests_network_WiFi_VisibleScan +tests_network_WiFi_WakeOnDisconnect +tests_network_WiFi_WakeOnSSID +tests_network_WiFi_WakeOnWiFiThrottling +tests_network_WiFi_WoWLAN +tests_network_WiFi_WMM cros_host cros_workon_tree_4a7201a1e88dd81b97ffe82a793a6520a5716d8d +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=b0b6c28aa9640a00c0d926d4e7fda079
diff --git a/metadata/md5-cache/chromeos-base/autotest-server-tests-shill-0.0.1-r3448 b/metadata/md5-cache/chromeos-base/autotest-server-tests-shill-0.0.1-r3448
new file mode 100644
index 0000000..761a054
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-server-tests-shill-0.0.1-r3448
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DESCRIPTION=Autotest server tests for shill
+EAPI=4
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=-chromeless_tests +autotest -chromeless_tty +tests_network_WiFi_AssocConfigPerformance +tests_network_WiFi_AttenuatedPerf +tests_network_WiFi_BluetoothScanPerf +tests_network_WiFi_BluetoothStreamPerf +tests_network_WiFi_ChaosConfigFailure +tests_network_WiFi_ChaosConnectDisconnect +tests_network_WiFi_ChaosLongConnect !chromeless_tty ( !chromeless_tests ( +tests_cellular_ChromeEndToEnd +tests_network_WiFi_ChromeEndToEnd ) ) +tests_network_WiFi_Perf +tests_network_WiFi_StressTest +tests_network_WiFi_Throttle +tests_network_WiFi_UpdateRouter +tests_network_WiFi_VerifyRouter cros_host cros_workon_tree_137e20c598095d68e321d3b84a7209de863e2aa2 +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=5e7fa8a049fea3d4a86df962d0beebf0
diff --git a/metadata/md5-cache/chromeos-base/autotest-server-tests-shill-9999 b/metadata/md5-cache/chromeos-base/autotest-server-tests-shill-9999
index 4277eb9..e3dd540 100644
--- a/metadata/md5-cache/chromeos-base/autotest-server-tests-shill-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-server-tests-shill-9999
@@ -2,11 +2,11 @@
 DESCRIPTION=Autotest server tests for shill
 EAPI=4
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=-chromeless_tests +autotest -chromeless_tty +tests_network_WiFi_APSupportedRates +tests_network_WiFi_AssocConfigPerformance +tests_network_WiFi_AttenuatedPerf +tests_network_WiFi_BeaconInterval +tests_network_WiFi_BgscanBackoff +tests_network_WiFi_BluetoothScanPerf +tests_network_WiFi_BluetoothStreamPerf +tests_network_WiFi_BSSTMReq +tests_network_WiFi_BT_AntennaCoex +tests_network_WiFi_ChannelHop +tests_network_WiFi_ChannelScanDwellTime +tests_network_WiFi_ChaosConfigFailure +tests_network_WiFi_ChaosConnectDisconnect +tests_network_WiFi_ChaosLongConnect !chromeless_tty ( !chromeless_tests ( +tests_cellular_ChromeEndToEnd +tests_network_WiFi_ChromeEndToEnd +tests_network_WiFi_RoamEndToEnd +tests_network_WiFi_RoamSuspendEndToEnd ) ) +tests_network_WiFi_CSA +tests_network_WiFi_DarkResumeActiveScans +tests_network_WiFi_DisableEnable +tests_network_WiFi_DisableRandomMACAddress +tests_network_WiFi_DisconnectReason +tests_network_WiFi_DTIMPeriod +tests_network_WiFi_FastReconnectInDarkResume +tests_network_WiFi_GTK +tests_network_WiFi_HiddenRemains +tests_network_WiFi_HiddenScan +tests_network_WiFi_LinkMonitorFailure +tests_network_WiFi_MalformedProbeResp +tests_network_WiFi_MultiAuth +tests_network_WiFi_OverlappingBSSScan +tests_network_WiFi_Perf +tests_network_WiFi_PMKSACaching +tests_network_WiFi_Prefer5Ghz +tests_network_WiFi_ProfileBasic +tests_network_WiFi_ProfileGUID +tests_network_WiFi_PTK +tests_network_WiFi_RandomMACAddress +tests_network_WiFi_Reassociate +tests_network_WiFi_ReconnectInDarkResume +tests_network_WiFi_Reset +tests_network_WiFi_Roam +tests_network_WiFi_RoamDbus +tests_network_WiFi_RoamFT +tests_network_WiFi_RoamSuspendTimeout +tests_network_WiFi_SecChange +tests_network_WiFi_SetOptionalDhcpProperties +tests_network_WiFi_SimpleConnect +tests_network_WiFi_SSIDSwitchBack +tests_network_WiFi_SuspendStress +tests_network_WiFi_StressTest +tests_network_WiFi_Throttle +tests_network_WiFi_UpdateRouter +tests_network_WiFi_VerifyRouter +tests_network_WiFi_VisibleScan +tests_network_WiFi_WakeOnDisconnect +tests_network_WiFi_WakeOnSSID +tests_network_WiFi_WakeOnWiFiThrottling +tests_network_WiFi_WoWLAN +tests_network_WiFi_WMM cros_host cros_workon_tree_ +buildcheck autotest opengles
+IUSE=-chromeless_tests +autotest -chromeless_tty +tests_network_WiFi_AssocConfigPerformance +tests_network_WiFi_AttenuatedPerf +tests_network_WiFi_BluetoothScanPerf +tests_network_WiFi_BluetoothStreamPerf +tests_network_WiFi_ChaosConfigFailure +tests_network_WiFi_ChaosConnectDisconnect +tests_network_WiFi_ChaosLongConnect !chromeless_tty ( !chromeless_tests ( +tests_cellular_ChromeEndToEnd +tests_network_WiFi_ChromeEndToEnd ) ) +tests_network_WiFi_Perf +tests_network_WiFi_StressTest +tests_network_WiFi_Throttle +tests_network_WiFi_UpdateRouter +tests_network_WiFi_VerifyRouter cros_host cros_workon_tree_ +buildcheck autotest opengles
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
 RDEPEND=autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=0a31ae92188b6fd3d953d367cf96bfd5
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=709f8f08ad83ab12d7de69cfb86463b0
diff --git a/metadata/md5-cache/chromeos-base/autotest-server-tests-tast-0.0.1-r310 b/metadata/md5-cache/chromeos-base/autotest-server-tests-tast-0.0.1-r310
deleted file mode 100644
index 4006e1b..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-server-tests-tast-0.0.1-r310
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DESCRIPTION=Autotest server tests for running Tast-based tests
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast/
-IUSE=+autotest +tests_graphics_TraceReplayExtended +tests_tast cros_host cros_workon_tree_72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=16ba7e6059cbede0e7bb5553b9badd18
diff --git a/metadata/md5-cache/chromeos-base/autotest-server-tests-tast-0.0.1-r408 b/metadata/md5-cache/chromeos-base/autotest-server-tests-tast-0.0.1-r408
new file mode 100644
index 0000000..b94fd22
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-server-tests-tast-0.0.1-r408
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DESCRIPTION=Autotest server tests for running Tast-based tests
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast/
+IUSE=+autotest +tests_tast cros_host cros_workon_tree_6a73a3b9893611d68f40462d2c15d7af94c522b8 +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=eda0cac1d04549c2d1d7becd7bcef17f
diff --git a/metadata/md5-cache/chromeos-base/autotest-server-tests-tast-9999 b/metadata/md5-cache/chromeos-base/autotest-server-tests-tast-9999
index 1ba5608..17f492d 100644
--- a/metadata/md5-cache/chromeos-base/autotest-server-tests-tast-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-server-tests-tast-9999
@@ -2,11 +2,11 @@
 DESCRIPTION=Autotest server tests for running Tast-based tests
 EAPI=5
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast/
-IUSE=+autotest +tests_graphics_TraceReplayExtended +tests_tast cros_host cros_workon_tree_ +buildcheck autotest opengles
+IUSE=+autotest +tests_tast cros_host cros_workon_tree_ +buildcheck autotest opengles
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
 RDEPEND=autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=04f84008863ec711f9bfd816fd13fa00
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=e4e2659d83319eae9fc464823eebb696
diff --git a/metadata/md5-cache/chromeos-base/autotest-server-tests-telemetry-0.0.1-r3254 b/metadata/md5-cache/chromeos-base/autotest-server-tests-telemetry-0.0.1-r3254
deleted file mode 100644
index c952029..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-server-tests-telemetry-0.0.1-r3254
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=!<chromeos-base/autotest-server-tests-0.0.2
-DESCRIPTION=Autotest server tests for shill
-EAPI=4
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest +tests_telemetry_AFDOGenerate +tests_telemetry_Benchmarks +tests_telemetry_Crosperf +tests_telemetry_CrosTests cros_host cros_workon_tree_e7e238a65612870eb155daea8894031ea8b0bf8b +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=08e416c7a5de047cb323b2ef8fc13720
diff --git a/metadata/md5-cache/chromeos-base/autotest-server-tests-telemetry-0.0.1-r3262 b/metadata/md5-cache/chromeos-base/autotest-server-tests-telemetry-0.0.1-r3262
new file mode 100644
index 0000000..35175ed
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-server-tests-telemetry-0.0.1-r3262
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=!<chromeos-base/autotest-server-tests-0.0.2
+DESCRIPTION=Autotest server tests for shill
+EAPI=4
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest +tests_telemetry_AFDOGenerate +tests_telemetry_Benchmarks +tests_telemetry_Crosperf +tests_telemetry_CrosTests cros_host cros_workon_tree_8d8f303ddf2f16c2d8e7188c6a0f8944f7df7db6 +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=3ba963f6d3fd259cc4d7cf08d59e4afb
diff --git a/metadata/md5-cache/chromeos-base/autotest-server-tests-telemetry-9999 b/metadata/md5-cache/chromeos-base/autotest-server-tests-telemetry-9999
index 1e2ce21..6b7d9ba 100644
--- a/metadata/md5-cache/chromeos-base/autotest-server-tests-telemetry-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-server-tests-telemetry-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=ea9276697dcedaecdfa639af453c8a00
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-0.0.4-r8903 b/metadata/md5-cache/chromeos-base/autotest-tests-0.0.4-r8903
deleted file mode 100644
index ecc84d8..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-tests-0.0.4-r8903
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=>=chromeos-base/autotest-deps-0.0.3 !<=chromeos-base/autotest-factory-0.0.1-r4445 dev-python/numpy dev-python/pygobject dev-python/pytest dev-python/python-uinput media-sound/sox sys-apps/ethtool vaapi? ( x11-libs/libva ) virtual/autotest-tests tests_dbench? ( dev-libs/libaio ) tests_platform_MetricsUploader? ( >=chromeos-base/metrics-0.0.1-r3152 dev-python/protobuf-python ) tests_platform_SecureEraseFile? ( chromeos-base/secure-erase-file ) tests_hardware_MemoryLatency? ( app-benchmarks/lmbench ) tests_hardware_MemoryThroughput? ( app-benchmarks/lmbench ) tests_hardware_MemoryZRAMThroughput? ( app-benchmarks/microbenchmarks ) tests_kernel_Lmbench? ( app-benchmarks/lmbench ) arc-camera3? ( tests_camera_HAL3? ( chromeos-base/autotest-deps-camera-hal3 ) tests_camera_HAL3Perf? ( chromeos-base/autotest-deps-camera-hal3 ) ) tests_camera_V4L2? ( media-libs/libyuv dev-libs/re2 ) tests_xfsFilesystemTestSuite? ( app-benchmarks/xfstests ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
-DESCRIPTION=Autotest tests
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=arc-camera3 biod -chromeless_tests -chromeless_tty +crash_reporting cups dlc_test +encrypted_stateful +network_time +passive_metrics +profile vaapi +autotest x86? ( +tests_xfsFilesystemTestSuite +tests_hardware_UnsafeMemory ) amd64? ( +tests_xfsFilesystemTestSuite +tests_hardware_UnsafeMemory ) +tests_profiler_sync +tests_compilebench +tests_crashme +tests_dbench +tests_ddtest +tests_disktest +tests_fsx +tests_hackbench +tests_iperf +tests_bonnie +tests_iozone +tests_netpipe +tests_sleeptest +tests_kernel_sysrq_info +tests_unixbench +tests_autoupdate_Backoff +tests_autoupdate_BadMetadata +tests_autoupdate_CannedOmahaUpdate +tests_autoupdate_DisconnectReconnectNetwork dlc_test? ( +tests_autoupdate_InstallAndUpdateDLC ) +tests_autoupdate_PeriodicCheck +tests_autoupdate_UrlSwitch +tests_blktestsSuiteAll +tests_blktestsSuiteLoopOverBlk +tests_blktestsSuiteLoopOverFile +tests_blktestsSuiteRealBlk +tests_camera_V4L2 arc-camera3? ( +tests_camera_HAL3 +tests_camera_HAL3Perf ) +tests_dummy_Fail +tests_stub_Pass +tests_dummy_SynchronousOffload tests_example_UnitTest +tests_firmware_CbfsMcache +tests_firmware_LockedME +tests_firmware_CheckEOPState +tests_firmware_RomSize +tests_firmware_SetFWMP +tests_firmware_VbootCrypto +tests_flaky_test +tests_hardware_Badblocks +tests_hardware_DiskSize +tests_hardware_EC +tests_hardware_EepromWriteProtect +tests_hardware_GobiGPS +tests_hardware_GPIOSwitches +tests_hardware_GPS +tests_hardware_I2CProbe +tests_hardware_Interrupt +tests_hardware_Keyboard +tests_hardware_LightSensor +tests_hardware_MemoryLatency +tests_hardware_MemoryThroughput +tests_hardware_MemoryZRAMThroughput +tests_hardware_Memtester +tests_hardware_MultiReader +tests_hardware_ProbeComponents +tests_hardware_RamFio +tests_hardware_RealtekCardReader +tests_hardware_Resolution +tests_hardware_SAT +tests_hardware_Smartctl +tests_hardware_SsdDetection +tests_hardware_StorageFio +tests_hardware_StorageFioOther +tests_hardware_StorageTrim +tests_hardware_StorageWearoutDetect +tests_hardware_TouchScreenPowerCycles tests_hardware_TouchScreenPresent +tests_hardware_TrimIntegrity +tests_infra_FirmwareAutoupdate +tests_kernel_AsyncDriverProbe +tests_kernel_FirmwareRequest +tests_kernel_CrosECSysfsAccel +tests_kernel_Delay +tests_kernel_fs_Punybench +tests_kernel_Ktime +tests_kernel_Lmbench +tests_kernel_Memory_Ramoop +tests_kernel_SchedBandwith crash_reporting? ( +tests_logging_CrashSender +tests_logging_KernelCrash +tests_logging_UdevCrash +tests_logging_UserCrash +tests_platform_AnomalyDetector ) +tests_network_EthCaps +tests_network_EthernetStressPlug +tests_network_Ipv6SimpleNegotiation +tests_network_NegotiatedLANSpeed +tests_platform_AccurateTime +tests_platform_AesThroughput !chromeless_tty? ( +tests_platform_BootPerf ) +tests_platform_CheckErrorsInLog +tests_platform_CleanShutdown +tests_platform_Crossystem +tests_platform_Crouton +tests_platform_DaemonsRespawn +tests_platform_DBusMachineIdRotation encrypted_stateful? ( +tests_platform_EncryptedStateful ) +tests_platform_ExternalUSBBootStress +tests_platform_ExternalUSBStress +tests_platform_FileNum +tests_platform_FileSize biod? ( +tests_platform_Fingerprint ) +tests_platform_Firewall +tests_platform_FullyChargedPowerStatus +tests_platform_HighResTimers +tests_platform_ImageLoader +tests_platform_ImageLoaderServer +tests_platform_KernelVersion +tests_platform_LibCBench +tests_platform_LogDupSuppression +tests_platform_LogNonKernelKmsg +tests_platform_MemCheck +tests_platform_MemoryMonitor chromeless_tty? ( +tests_platform_MetricsUploader ) +tests_platform_NetParms +tests_platform_OpenSSLActual profile? ( +tests_platform_Perf +tests_platform_Quipper ) cups? ( +tests_platform_PrinterPpds ) +tests_platform_Rootdev +tests_platform_SecureEraseFile !chromeless_tty? ( +tests_platform_SessionManagerStateKeyGeneration ) +tests_platform_TabletMode +tests_platform_TempFS network_time? ( +tests_platform_TLSDate +tests_platform_TLSDateActual ) +tests_platform_UdevVars +tests_suite_HWConfig +tests_suite_HWQual +tests_system_ColdBoot +tests_touch_HasInput +tests_touch_UpdateErrors +tests_touch_WakeupSource +tests_usbpd_DisplayPortSink +tests_vpd_ReadWrite cros-debug cros_host cros_workon_tree_45230f81767e1e2835752c13a07d5ebd03df8a04 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=>=chromeos-base/autotest-deps-0.0.3 !<=chromeos-base/autotest-factory-0.0.1-r4445 dev-python/numpy dev-python/pygobject dev-python/pytest dev-python/python-uinput media-sound/sox sys-apps/ethtool vaapi? ( x11-libs/libva ) virtual/autotest-tests tests_dbench? ( dev-libs/libaio ) tests_platform_MetricsUploader? ( >=chromeos-base/metrics-0.0.1-r3152 dev-python/protobuf-python ) tests_platform_SecureEraseFile? ( chromeos-base/secure-erase-file ) tests_hardware_MemoryLatency? ( app-benchmarks/lmbench ) tests_hardware_MemoryThroughput? ( app-benchmarks/lmbench ) tests_hardware_MemoryZRAMThroughput? ( app-benchmarks/microbenchmarks ) tests_kernel_Lmbench? ( app-benchmarks/lmbench ) arc-camera3? ( tests_camera_HAL3? ( chromeos-base/autotest-deps-camera-hal3 ) tests_camera_HAL3Perf? ( chromeos-base/autotest-deps-camera-hal3 ) ) tests_camera_V4L2? ( media-libs/libyuv dev-libs/re2 ) tests_xfsFilesystemTestSuite? ( app-benchmarks/xfstests ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=40d18022772218af17cc7901d17c5676
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-0.0.4-r8973 b/metadata/md5-cache/chromeos-base/autotest-tests-0.0.4-r8973
deleted file mode 100644
index 4969ec5..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-tests-0.0.4-r8973
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=>=chromeos-base/autotest-deps-0.0.3 !<=chromeos-base/autotest-factory-0.0.1-r4445 dev-python/numpy dev-python/pillow dev-python/pydbus dev-python/pygobject dev-python/pytest dev-python/python-uinput media-sound/sox sys-apps/ethtool vaapi? ( x11-libs/libva ) virtual/autotest-tests tests_dbench? ( dev-libs/libaio ) tests_platform_MetricsUploader? ( >=chromeos-base/metrics-0.0.1-r3152 dev-python/protobuf-python ) tests_platform_SecureEraseFile? ( chromeos-base/secure-erase-file ) tests_hardware_MemoryLatency? ( app-benchmarks/lmbench ) tests_hardware_MemoryThroughput? ( app-benchmarks/lmbench ) tests_hardware_MemoryZRAMThroughput? ( app-benchmarks/microbenchmarks ) tests_kernel_Lmbench? ( app-benchmarks/lmbench ) arc-camera3? ( tests_camera_HAL3? ( chromeos-base/autotest-deps-camera-hal3 ) tests_camera_HAL3Perf? ( chromeos-base/autotest-deps-camera-hal3 ) ) tests_camera_V4L2? ( media-libs/libyuv dev-libs/re2 ) tests_xfsFilesystemTestSuite? ( app-benchmarks/xfstests ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
-DESCRIPTION=Autotest tests
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=arc-camera3 biod -chromeless_tests -chromeless_tty +crash_reporting cups dlc_test +encrypted_stateful +network_time +passive_metrics +profile vaapi +autotest x86? ( +tests_xfsFilesystemTestSuite +tests_hardware_UnsafeMemory ) amd64? ( +tests_xfsFilesystemTestSuite +tests_hardware_UnsafeMemory ) +tests_profiler_sync +tests_compilebench +tests_crashme +tests_dbench +tests_ddtest +tests_disktest +tests_fsx +tests_hackbench +tests_iperf +tests_bonnie +tests_iozone +tests_netpipe +tests_sleeptest +tests_kernel_sysrq_info +tests_unixbench +tests_autoupdate_Backoff +tests_autoupdate_BadMetadata +tests_autoupdate_CannedOmahaUpdate +tests_autoupdate_DisconnectReconnectNetwork dlc_test? ( +tests_autoupdate_InstallAndUpdateDLC ) +tests_autoupdate_InvalidateSuccessfulUpdate +tests_autoupdate_PeriodicCheck +tests_autoupdate_UrlSwitch +tests_blktestsSuiteAll +tests_blktestsSuiteLoopOverBlk +tests_blktestsSuiteLoopOverFile +tests_blktestsSuiteRealBlk +tests_camera_V4L2 arc-camera3? ( +tests_camera_HAL3 +tests_camera_HAL3Perf ) +tests_dummy_Fail +tests_stub_Pass +tests_dummy_SynchronousOffload tests_example_UnitTest +tests_firmware_CbfsMcache +tests_firmware_LockedME +tests_firmware_CheckEOPState +tests_firmware_RomSize +tests_firmware_SetFWMP +tests_firmware_VbootCrypto +tests_flaky_test +tests_hardware_Badblocks +tests_hardware_DiskSize +tests_hardware_EC +tests_hardware_EepromWriteProtect +tests_hardware_GobiGPS +tests_hardware_GPIOSwitches +tests_hardware_GPS +tests_hardware_I2CProbe +tests_hardware_Interrupt +tests_hardware_Keyboard +tests_hardware_LightSensor +tests_hardware_MemoryLatency +tests_hardware_MemoryThroughput +tests_hardware_MemoryZRAMThroughput +tests_hardware_Memtester +tests_hardware_MultiReader +tests_hardware_ProbeComponents +tests_hardware_RamFio +tests_hardware_RealtekCardReader +tests_hardware_Resolution +tests_hardware_SAT +tests_hardware_Smartctl +tests_hardware_SsdDetection +tests_hardware_StorageFio +tests_hardware_StorageFioOther +tests_hardware_StorageTrim +tests_hardware_StorageWearoutDetect +tests_hardware_TrimIntegrity +tests_infra_FirmwareAutoupdate +tests_infra_PythonVersion +tests_kernel_AsyncDriverProbe +tests_kernel_CrosECSysfsAccel +tests_kernel_Delay +tests_kernel_fs_Punybench +tests_kernel_Ktime +tests_kernel_Lmbench +tests_kernel_Memory_Ramoop +tests_kernel_SchedBandwith crash_reporting? ( +tests_logging_KernelCrash +tests_logging_UdevCrash +tests_logging_UserCrash ) +tests_network_EthCaps +tests_network_EthernetStressPlug +tests_network_Ipv6SimpleNegotiation +tests_network_NegotiatedLANSpeed +tests_platform_AccurateTime +tests_platform_AesThroughput !chromeless_tty? ( +tests_platform_BootPerf ) +tests_platform_CheckErrorsInLog +tests_platform_CleanShutdown +tests_platform_Crossystem +tests_platform_Crouton +tests_platform_DaemonsRespawn +tests_platform_DBusMachineIdRotation encrypted_stateful? ( +tests_platform_EncryptedStateful ) +tests_platform_ExternalUSBBootStress +tests_platform_ExternalUSBStress +tests_platform_FileNum +tests_platform_FileSize biod? ( +tests_platform_Fingerprint ) +tests_platform_Firewall +tests_platform_FullyChargedPowerStatus +tests_platform_HighResTimers +tests_platform_ImageLoader +tests_platform_ImageLoaderServer +tests_platform_KernelVersion +tests_platform_LibCBench +tests_platform_LogDupSuppression +tests_platform_LogNonKernelKmsg +tests_platform_MemCheck +tests_platform_MemoryMonitor chromeless_tty? ( +tests_platform_MetricsUploader ) +tests_platform_NetParms +tests_platform_OpenSSLActual profile? ( +tests_platform_Perf +tests_platform_Quipper ) cups? ( +tests_platform_PrinterPpds ) +tests_platform_Rootdev +tests_platform_SecureEraseFile !chromeless_tty? ( +tests_platform_SessionManagerStateKeyGeneration ) +tests_platform_TabletMode +tests_platform_TempFS network_time? ( +tests_platform_TLSDate +tests_platform_TLSDateActual ) +tests_platform_UdevVars +tests_suite_HWConfig +tests_suite_HWQual +tests_system_ColdBoot +tests_touch_HasInput +tests_touch_UpdateErrors +tests_touch_WakeupSource +tests_vpd_ReadWrite cros-debug cros_host cros_workon_tree_50f1686f71a609fcef9e2dc785be24d28eb6fee5 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=>=chromeos-base/autotest-deps-0.0.3 !<=chromeos-base/autotest-factory-0.0.1-r4445 dev-python/numpy dev-python/pillow dev-python/pydbus dev-python/pygobject dev-python/pytest dev-python/python-uinput media-sound/sox sys-apps/ethtool vaapi? ( x11-libs/libva ) virtual/autotest-tests tests_dbench? ( dev-libs/libaio ) tests_platform_MetricsUploader? ( >=chromeos-base/metrics-0.0.1-r3152 dev-python/protobuf-python ) tests_platform_SecureEraseFile? ( chromeos-base/secure-erase-file ) tests_hardware_MemoryLatency? ( app-benchmarks/lmbench ) tests_hardware_MemoryThroughput? ( app-benchmarks/lmbench ) tests_hardware_MemoryZRAMThroughput? ( app-benchmarks/microbenchmarks ) tests_kernel_Lmbench? ( app-benchmarks/lmbench ) arc-camera3? ( tests_camera_HAL3? ( chromeos-base/autotest-deps-camera-hal3 ) tests_camera_HAL3Perf? ( chromeos-base/autotest-deps-camera-hal3 ) ) tests_camera_V4L2? ( media-libs/libyuv dev-libs/re2 ) tests_xfsFilesystemTestSuite? ( app-benchmarks/xfstests ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=a9e80ee8666c4bc4cdc3883de2c80018
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-0.0.4-r8986 b/metadata/md5-cache/chromeos-base/autotest-tests-0.0.4-r8986
new file mode 100644
index 0000000..dbad8a0
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-0.0.4-r8986
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=>=chromeos-base/autotest-deps-0.0.3 !<=chromeos-base/autotest-factory-0.0.1-r4445 dev-python/numpy dev-python/pillow dev-python/pydbus dev-python/pygobject dev-python/pytest dev-python/python-uinput media-sound/sox sys-apps/ethtool vaapi? ( x11-libs/libva ) virtual/autotest-tests tests_dbench? ( dev-libs/libaio ) tests_hardware_MemoryLatency? ( app-benchmarks/lmbench ) tests_hardware_MemoryThroughput? ( app-benchmarks/lmbench ) tests_hardware_MemoryZRAMThroughput? ( app-benchmarks/microbenchmarks ) tests_xfsFilesystemTestSuite? ( app-benchmarks/xfstests ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
+DESCRIPTION=Autotest tests
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=arc-camera3 biod -chromeless_tests -chromeless_tty +crash_reporting cups dlc_test +encrypted_stateful +network_time +passive_metrics +profile vaapi +autotest x86? ( +tests_xfsFilesystemTestSuite +tests_hardware_UnsafeMemory ) amd64? ( +tests_xfsFilesystemTestSuite +tests_hardware_UnsafeMemory ) +tests_profiler_sync +tests_crashme +tests_dbench +tests_ddtest +tests_fsx +tests_hackbench +tests_iperf +tests_iozone +tests_kernel_sysrq_info +tests_autoupdate_Backoff +tests_autoupdate_BadMetadata +tests_autoupdate_CannedOmahaUpdate +tests_autoupdate_DisconnectReconnectNetwork dlc_test? ( +tests_autoupdate_InstallAndUpdateDLC ) +tests_autoupdate_InvalidateSuccessfulUpdate +tests_autoupdate_PeriodicCheck +tests_autoupdate_UrlSwitch +tests_blktestsSuiteAll +tests_blktestsSuiteLoopOverBlk +tests_blktestsSuiteLoopOverFile +tests_blktestsSuiteRealBlk +tests_dummy_Fail +tests_stub_Pass tests_example_UnitTest +tests_firmware_CbfsMcache +tests_firmware_LockedME +tests_firmware_CheckEOPState +tests_firmware_RomSize +tests_firmware_SetFWMP +tests_firmware_VbootCrypto +tests_flaky_test +tests_hardware_Badblocks +tests_hardware_DiskSize +tests_hardware_EC +tests_hardware_EepromWriteProtect +tests_hardware_GobiGPS +tests_hardware_GPIOSwitches +tests_hardware_GPS +tests_hardware_I2CProbe +tests_hardware_Interrupt +tests_hardware_Keyboard +tests_hardware_MemoryLatency +tests_hardware_MemoryThroughput +tests_hardware_MemoryZRAMThroughput +tests_hardware_Memtester +tests_hardware_RamFio +tests_hardware_SAT +tests_hardware_SsdDetection +tests_hardware_StorageFio +tests_hardware_StorageFioOther +tests_hardware_StorageTrim +tests_hardware_StorageWearoutDetect +tests_hardware_TrimIntegrity +tests_infra_FirmwareAutoupdate +tests_kernel_AsyncDriverProbe +tests_kernel_fs_Punybench +tests_kernel_Memory_Ramoop crash_reporting? ( +tests_logging_KernelCrash +tests_logging_UdevCrash +tests_logging_UserCrash ) +tests_network_EthernetStressPlug +tests_network_Ipv6SimpleNegotiation +tests_platform_Crossystem +tests_platform_DaemonsRespawn encrypted_stateful? ( +tests_platform_EncryptedStateful ) +tests_platform_FileNum +tests_platform_FileSize biod? ( +tests_platform_Fingerprint ) +tests_platform_FullyChargedPowerStatus +tests_platform_HighResTimers +tests_platform_ImageLoader +tests_platform_ImageLoaderServer +tests_platform_MemCheck +tests_platform_MemoryMonitor +tests_platform_NetParms cups? ( +tests_platform_PrinterPpds ) +tests_suite_HWConfig +tests_suite_HWQual +tests_touch_HasInput +tests_touch_WakeupSource cros-debug cros_host cros_workon_tree_6a8ebdfcbce2c62b525311fa34b901357d4b695c +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=>=chromeos-base/autotest-deps-0.0.3 !<=chromeos-base/autotest-factory-0.0.1-r4445 dev-python/numpy dev-python/pillow dev-python/pydbus dev-python/pygobject dev-python/pytest dev-python/python-uinput media-sound/sox sys-apps/ethtool vaapi? ( x11-libs/libva ) virtual/autotest-tests tests_dbench? ( dev-libs/libaio ) tests_hardware_MemoryLatency? ( app-benchmarks/lmbench ) tests_hardware_MemoryThroughput? ( app-benchmarks/lmbench ) tests_hardware_MemoryZRAMThroughput? ( app-benchmarks/microbenchmarks ) tests_xfsFilesystemTestSuite? ( app-benchmarks/xfstests ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=a06d29e26893565d4d1cdbe43b37fc67
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-9999 b/metadata/md5-cache/chromeos-base/autotest-tests-9999
index 2521a38..e87f73a 100644
--- a/metadata/md5-cache/chromeos-base/autotest-tests-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-9999
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=>=chromeos-base/autotest-deps-0.0.3 !<=chromeos-base/autotest-factory-0.0.1-r4445 dev-python/numpy dev-python/pillow dev-python/pydbus dev-python/pygobject dev-python/pytest dev-python/python-uinput media-sound/sox sys-apps/ethtool vaapi? ( x11-libs/libva ) virtual/autotest-tests tests_dbench? ( dev-libs/libaio ) tests_platform_MetricsUploader? ( >=chromeos-base/metrics-0.0.1-r3152 dev-python/protobuf-python ) tests_platform_SecureEraseFile? ( chromeos-base/secure-erase-file ) tests_hardware_MemoryLatency? ( app-benchmarks/lmbench ) tests_hardware_MemoryThroughput? ( app-benchmarks/lmbench ) tests_hardware_MemoryZRAMThroughput? ( app-benchmarks/microbenchmarks ) tests_kernel_Lmbench? ( app-benchmarks/lmbench ) arc-camera3? ( tests_camera_HAL3? ( chromeos-base/autotest-deps-camera-hal3 ) tests_camera_HAL3Perf? ( chromeos-base/autotest-deps-camera-hal3 ) ) tests_camera_V4L2? ( media-libs/libyuv dev-libs/re2 ) tests_xfsFilesystemTestSuite? ( app-benchmarks/xfstests ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
+DEPEND=>=chromeos-base/autotest-deps-0.0.3 !<=chromeos-base/autotest-factory-0.0.1-r4445 dev-python/numpy dev-python/pillow dev-python/pydbus dev-python/pygobject dev-python/pytest dev-python/python-uinput media-sound/sox sys-apps/ethtool vaapi? ( x11-libs/libva ) virtual/autotest-tests tests_dbench? ( dev-libs/libaio ) tests_hardware_MemoryLatency? ( app-benchmarks/lmbench ) tests_hardware_MemoryThroughput? ( app-benchmarks/lmbench ) tests_hardware_MemoryZRAMThroughput? ( app-benchmarks/microbenchmarks ) tests_xfsFilesystemTestSuite? ( app-benchmarks/xfstests ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
 DESCRIPTION=Autotest tests
 EAPI=5
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=arc-camera3 biod -chromeless_tests -chromeless_tty +crash_reporting cups dlc_test +encrypted_stateful +network_time +passive_metrics +profile vaapi +autotest x86? ( +tests_xfsFilesystemTestSuite +tests_hardware_UnsafeMemory ) amd64? ( +tests_xfsFilesystemTestSuite +tests_hardware_UnsafeMemory ) +tests_profiler_sync +tests_compilebench +tests_crashme +tests_dbench +tests_ddtest +tests_disktest +tests_fsx +tests_hackbench +tests_iperf +tests_bonnie +tests_iozone +tests_netpipe +tests_sleeptest +tests_kernel_sysrq_info +tests_unixbench +tests_autoupdate_Backoff +tests_autoupdate_BadMetadata +tests_autoupdate_CannedOmahaUpdate +tests_autoupdate_DisconnectReconnectNetwork dlc_test? ( +tests_autoupdate_InstallAndUpdateDLC ) +tests_autoupdate_InvalidateSuccessfulUpdate +tests_autoupdate_PeriodicCheck +tests_autoupdate_UrlSwitch +tests_blktestsSuiteAll +tests_blktestsSuiteLoopOverBlk +tests_blktestsSuiteLoopOverFile +tests_blktestsSuiteRealBlk +tests_camera_V4L2 arc-camera3? ( +tests_camera_HAL3 +tests_camera_HAL3Perf ) +tests_dummy_Fail +tests_stub_Pass +tests_dummy_SynchronousOffload tests_example_UnitTest +tests_firmware_CbfsMcache +tests_firmware_LockedME +tests_firmware_CheckEOPState +tests_firmware_RomSize +tests_firmware_SetFWMP +tests_firmware_VbootCrypto +tests_flaky_test +tests_hardware_Badblocks +tests_hardware_DiskSize +tests_hardware_EC +tests_hardware_EepromWriteProtect +tests_hardware_GobiGPS +tests_hardware_GPIOSwitches +tests_hardware_GPS +tests_hardware_I2CProbe +tests_hardware_Interrupt +tests_hardware_Keyboard +tests_hardware_LightSensor +tests_hardware_MemoryLatency +tests_hardware_MemoryThroughput +tests_hardware_MemoryZRAMThroughput +tests_hardware_Memtester +tests_hardware_MultiReader +tests_hardware_ProbeComponents +tests_hardware_RamFio +tests_hardware_RealtekCardReader +tests_hardware_Resolution +tests_hardware_SAT +tests_hardware_Smartctl +tests_hardware_SsdDetection +tests_hardware_StorageFio +tests_hardware_StorageFioOther +tests_hardware_StorageTrim +tests_hardware_StorageWearoutDetect +tests_hardware_TrimIntegrity +tests_infra_FirmwareAutoupdate +tests_infra_PythonVersion +tests_kernel_AsyncDriverProbe +tests_kernel_CrosECSysfsAccel +tests_kernel_Delay +tests_kernel_fs_Punybench +tests_kernel_Ktime +tests_kernel_Lmbench +tests_kernel_Memory_Ramoop +tests_kernel_SchedBandwith crash_reporting? ( +tests_logging_KernelCrash +tests_logging_UdevCrash +tests_logging_UserCrash ) +tests_network_EthCaps +tests_network_EthernetStressPlug +tests_network_Ipv6SimpleNegotiation +tests_network_NegotiatedLANSpeed +tests_platform_AccurateTime +tests_platform_AesThroughput !chromeless_tty? ( +tests_platform_BootPerf ) +tests_platform_CheckErrorsInLog +tests_platform_CleanShutdown +tests_platform_Crossystem +tests_platform_Crouton +tests_platform_DaemonsRespawn +tests_platform_DBusMachineIdRotation encrypted_stateful? ( +tests_platform_EncryptedStateful ) +tests_platform_ExternalUSBBootStress +tests_platform_ExternalUSBStress +tests_platform_FileNum +tests_platform_FileSize biod? ( +tests_platform_Fingerprint ) +tests_platform_Firewall +tests_platform_FullyChargedPowerStatus +tests_platform_HighResTimers +tests_platform_ImageLoader +tests_platform_ImageLoaderServer +tests_platform_KernelVersion +tests_platform_LibCBench +tests_platform_LogDupSuppression +tests_platform_LogNonKernelKmsg +tests_platform_MemCheck +tests_platform_MemoryMonitor chromeless_tty? ( +tests_platform_MetricsUploader ) +tests_platform_NetParms +tests_platform_OpenSSLActual profile? ( +tests_platform_Perf +tests_platform_Quipper ) cups? ( +tests_platform_PrinterPpds ) +tests_platform_Rootdev +tests_platform_SecureEraseFile !chromeless_tty? ( +tests_platform_SessionManagerStateKeyGeneration ) +tests_platform_TabletMode +tests_platform_TempFS network_time? ( +tests_platform_TLSDate +tests_platform_TLSDateActual ) +tests_platform_UdevVars +tests_suite_HWConfig +tests_suite_HWQual +tests_system_ColdBoot +tests_touch_HasInput +tests_touch_UpdateErrors +tests_touch_WakeupSource +tests_vpd_ReadWrite cros-debug cros_host cros_workon_tree_ +buildcheck autotest opengles
+IUSE=arc-camera3 biod -chromeless_tests -chromeless_tty +crash_reporting cups dlc_test +encrypted_stateful +network_time +passive_metrics +profile vaapi +autotest x86? ( +tests_xfsFilesystemTestSuite +tests_hardware_UnsafeMemory ) amd64? ( +tests_xfsFilesystemTestSuite +tests_hardware_UnsafeMemory ) +tests_profiler_sync +tests_crashme +tests_dbench +tests_ddtest +tests_fsx +tests_hackbench +tests_iperf +tests_iozone +tests_kernel_sysrq_info +tests_autoupdate_Backoff +tests_autoupdate_BadMetadata +tests_autoupdate_CannedOmahaUpdate +tests_autoupdate_DisconnectReconnectNetwork dlc_test? ( +tests_autoupdate_InstallAndUpdateDLC ) +tests_autoupdate_InvalidateSuccessfulUpdate +tests_autoupdate_PeriodicCheck +tests_autoupdate_UrlSwitch +tests_blktestsSuiteAll +tests_blktestsSuiteLoopOverBlk +tests_blktestsSuiteLoopOverFile +tests_blktestsSuiteRealBlk +tests_dummy_Fail +tests_stub_Pass tests_example_UnitTest +tests_firmware_CbfsMcache +tests_firmware_LockedME +tests_firmware_CheckEOPState +tests_firmware_RomSize +tests_firmware_SetFWMP +tests_firmware_VbootCrypto +tests_flaky_test +tests_hardware_Badblocks +tests_hardware_DiskSize +tests_hardware_EC +tests_hardware_EepromWriteProtect +tests_hardware_GobiGPS +tests_hardware_GPIOSwitches +tests_hardware_GPS +tests_hardware_I2CProbe +tests_hardware_Interrupt +tests_hardware_Keyboard +tests_hardware_MemoryLatency +tests_hardware_MemoryThroughput +tests_hardware_MemoryZRAMThroughput +tests_hardware_Memtester +tests_hardware_RamFio +tests_hardware_SAT +tests_hardware_SsdDetection +tests_hardware_StorageFio +tests_hardware_StorageFioOther +tests_hardware_StorageTrim +tests_hardware_StorageWearoutDetect +tests_hardware_TrimIntegrity +tests_infra_FirmwareAutoupdate +tests_kernel_AsyncDriverProbe +tests_kernel_fs_Punybench +tests_kernel_Memory_Ramoop crash_reporting? ( +tests_logging_KernelCrash +tests_logging_UdevCrash +tests_logging_UserCrash ) +tests_network_EthernetStressPlug +tests_network_Ipv6SimpleNegotiation +tests_platform_Crossystem +tests_platform_DaemonsRespawn encrypted_stateful? ( +tests_platform_EncryptedStateful ) +tests_platform_FileNum +tests_platform_FileSize biod? ( +tests_platform_Fingerprint ) +tests_platform_FullyChargedPowerStatus +tests_platform_HighResTimers +tests_platform_ImageLoader +tests_platform_ImageLoaderServer +tests_platform_MemCheck +tests_platform_MemoryMonitor +tests_platform_NetParms cups? ( +tests_platform_PrinterPpds ) +tests_suite_HWConfig +tests_suite_HWQual +tests_touch_HasInput +tests_touch_WakeupSource cros-debug cros_host cros_workon_tree_ +buildcheck autotest opengles
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
-RDEPEND=>=chromeos-base/autotest-deps-0.0.3 !<=chromeos-base/autotest-factory-0.0.1-r4445 dev-python/numpy dev-python/pillow dev-python/pydbus dev-python/pygobject dev-python/pytest dev-python/python-uinput media-sound/sox sys-apps/ethtool vaapi? ( x11-libs/libva ) virtual/autotest-tests tests_dbench? ( dev-libs/libaio ) tests_platform_MetricsUploader? ( >=chromeos-base/metrics-0.0.1-r3152 dev-python/protobuf-python ) tests_platform_SecureEraseFile? ( chromeos-base/secure-erase-file ) tests_hardware_MemoryLatency? ( app-benchmarks/lmbench ) tests_hardware_MemoryThroughput? ( app-benchmarks/lmbench ) tests_hardware_MemoryZRAMThroughput? ( app-benchmarks/microbenchmarks ) tests_kernel_Lmbench? ( app-benchmarks/lmbench ) arc-camera3? ( tests_camera_HAL3? ( chromeos-base/autotest-deps-camera-hal3 ) tests_camera_HAL3Perf? ( chromeos-base/autotest-deps-camera-hal3 ) ) tests_camera_V4L2? ( media-libs/libyuv dev-libs/re2 ) tests_xfsFilesystemTestSuite? ( app-benchmarks/xfstests ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] autotest? ( chromeos-base/autotest )
+RDEPEND=>=chromeos-base/autotest-deps-0.0.3 !<=chromeos-base/autotest-factory-0.0.1-r4445 dev-python/numpy dev-python/pillow dev-python/pydbus dev-python/pygobject dev-python/pytest dev-python/python-uinput media-sound/sox sys-apps/ethtool vaapi? ( x11-libs/libva ) virtual/autotest-tests tests_dbench? ( dev-libs/libaio ) tests_hardware_MemoryLatency? ( app-benchmarks/lmbench ) tests_hardware_MemoryThroughput? ( app-benchmarks/lmbench ) tests_hardware_MemoryZRAMThroughput? ( app-benchmarks/microbenchmarks ) tests_xfsFilesystemTestSuite? ( app-benchmarks/xfstests ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=086a1afd4ee2c9449b143add3ce9b60c
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=446d7f5fe7e8ea9bc1765d6c97e7d6b7
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-arc-public-0.0.1-r2982 b/metadata/md5-cache/chromeos-base/autotest-tests-arc-public-0.0.1-r2982
deleted file mode 100644
index 9bcbcc2..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-tests-arc-public-0.0.1-r2982
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=dev-python/pyxattr chromeos-base/chromeos-chrome chromeos-base/autotest-chrome chromeos-base/telemetry
-DESCRIPTION=Public ARC autotests
-EAPI=5
-IUSE=+autotest +buildcheck autotest opengles cros_host cros_workon_tree_72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-python/pyxattr chromeos-base/chromeos-chrome chromeos-base/autotest-chrome chromeos-base/telemetry autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=13246218b11abc814e4d06382e0ea4a5
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-arc-public-0.0.1-r3692 b/metadata/md5-cache/chromeos-base/autotest-tests-arc-public-0.0.1-r3692
new file mode 100644
index 0000000..795ad7e
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-arc-public-0.0.1-r3692
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=dev-python/pyxattr chromeos-base/chromeos-chrome chromeos-base/autotest-chrome chromeos-base/telemetry
+DESCRIPTION=Public ARC autotests
+EAPI=5
+IUSE=+autotest +buildcheck autotest opengles cros_host cros_workon_tree_e2c200b37b72780b72fd07a23555aedf104222cf
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-python/pyxattr chromeos-base/chromeos-chrome chromeos-base/autotest-chrome chromeos-base/telemetry autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=24ebcb6dc1d5cb047a3c2b8ccf9e0357
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-arc-public-9999 b/metadata/md5-cache/chromeos-base/autotest-tests-arc-public-9999
index 1e493b1..6a3613d 100644
--- a/metadata/md5-cache/chromeos-base/autotest-tests-arc-public-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-arc-public-9999
@@ -8,5 +8,5 @@
 PROPERTIES=live
 RDEPEND=dev-python/pyxattr chromeos-base/chromeos-chrome chromeos-base/autotest-chrome chromeos-base/telemetry autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=0d4db7a9830882faa32f12fa96bda94d
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=41c76be98dd62e15e851b5826aacf5e9
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-audio-0.0.1-r3230 b/metadata/md5-cache/chromeos-base/autotest-tests-audio-0.0.1-r3230
deleted file mode 100644
index 6ed154c..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-tests-audio-0.0.1-r3230
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/audiotest !chromeless_tty? ( chromeos-base/telemetry )
-DESCRIPTION=Audio autotests
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest -chromeless_tty +tests_audio_Aconnect +tests_audio_Aplay !chromeless_tty? ( +tests_audio_AudioInputGain +tests_audio_CrasGetNodes ) +tests_audio_CRASFormatConversion +tests_audio_CrasDevSwitchStress +tests_audio_CrasPinnedStream +tests_audio_CrasStress +tests_audio_CrasAec cros_host cros_workon_tree_b58098241b96bff4dfeee98f72595fba1d7d3210 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/audiotest !chromeless_tty? ( chromeos-base/telemetry ) autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9d450a61aea86cf3f6c3f5bb79ff851a
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-audio-0.0.1-r3241 b/metadata/md5-cache/chromeos-base/autotest-tests-audio-0.0.1-r3241
new file mode 100644
index 0000000..ee65284
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-audio-0.0.1-r3241
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/audiotest !chromeless_tty? ( chromeos-base/telemetry )
+DESCRIPTION=Audio autotests
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest -chromeless_tty +tests_audio_Aconnect +tests_audio_Aplay !chromeless_tty? ( +tests_audio_AudioInputGain +tests_audio_CrasGetNodes ) +tests_audio_CRASFormatConversion +tests_audio_CrasDevSwitchStress +tests_audio_CrasPinnedStream +tests_audio_CrasStress +tests_audio_CrasAec cros_host cros_workon_tree_496ceb631aba9300adf9986d876166ab0e562420 +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/audiotest !chromeless_tty? ( chromeos-base/telemetry ) autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=81e944d3bc1225cbc084d447f4bb8d14
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-audio-9999 b/metadata/md5-cache/chromeos-base/autotest-tests-audio-9999
index d71d048..abb0351 100644
--- a/metadata/md5-cache/chromeos-base/autotest-tests-audio-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-audio-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/audiotest !chromeless_tty? ( chromeos-base/telemetry ) autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=43c9c370f0582e6f97a2bb502ea231af
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4c2750781ea58c3bd8f367dcf6b45628
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-bluetooth-0.0.1-r15 b/metadata/md5-cache/chromeos-base/autotest-tests-bluetooth-0.0.1-r15
new file mode 100644
index 0000000..b2334b9
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-bluetooth-0.0.1-r15
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DESCRIPTION=Autotest tests for Bluetooth
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest +tests_bluetooth_AVLHCI +tests_bluetooth_AVLDriver +tests_bluetooth_AdapterQuickHealthClient cros_host cros_workon_tree_5e1ee6ce4ed48a5878834b45a979c765e68944c4 +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=chromeos-base/autotest-client dev-python/btsocket autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a1d121e8137c38ed18cc4431dca031fc
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-bluetooth-9999 b/metadata/md5-cache/chromeos-base/autotest-tests-bluetooth-9999
new file mode 100644
index 0000000..e49b95b
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-bluetooth-9999
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DESCRIPTION=Autotest tests for Bluetooth
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest +tests_bluetooth_AVLHCI +tests_bluetooth_AVLDriver +tests_bluetooth_AdapterQuickHealthClient cros_host cros_workon_tree_ +buildcheck autotest opengles
+KEYWORDS=~*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=chromeos-base/autotest-client dev-python/btsocket autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1b5819e2aeb2370b4b0384ad0ef95639
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-cellular-0.0.1-r3275 b/metadata/md5-cache/chromeos-base/autotest-tests-cellular-0.0.1-r3275
deleted file mode 100644
index ce408cc..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-tests-cellular-0.0.1-r3275
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=!<chromeos-base/autotest-tests-0.0.2 chromeos-base/autotest-deps-cellular chromeos-base/shill-test-scripts dev-python/pygobject dev-python/pyusb sys-apps/ethtool
-DESCRIPTION=Cellular autotests
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest +tests_cellular_ActivateLTE +tests_cellular_ConnectFailure +tests_cellular_DeferredRegistration +tests_cellular_DisableWhileConnecting +tests_cellular_DisconnectFailure +tests_cellular_HermesErrorScenarios +tests_cellular_HermesMM_InstallEnable +tests_cellular_Hermes_MultiProfile +tests_cellular_Hermes_Restart_SlotSwitch +tests_cellular_Hermes_SingleProfile +tests_cellular_Identifiers +tests_cellular_OutOfCreditsSubscriptionState +tests_cellular_SIMLocking +tests_cellular_SafetyDance +tests_cellular_ScanningProperty +tests_cellular_ServiceName +tests_cellular_Smoke +tests_cellular_StressEnable +tests_cellular_ValidateTestEnvironment +tests_cellular_MbimComplianceControlCommand +tests_cellular_MbimComplianceControlRequest +tests_cellular_MbimComplianceDataTransfer +tests_cellular_MbimComplianceDescriptor +tests_cellular_MbimComplianceError cros_host cros_workon_tree_15eb42bb3a2037b3fafd2d7882e031dfb97b33ab +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=!<chromeos-base/autotest-tests-0.0.2 chromeos-base/autotest-deps-cellular chromeos-base/shill-test-scripts dev-python/pygobject dev-python/pyusb sys-apps/ethtool autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=38f418cdd586b971bc3a23281b4e3bc2
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-cellular-0.0.1-r3284 b/metadata/md5-cache/chromeos-base/autotest-tests-cellular-0.0.1-r3284
new file mode 100644
index 0000000..45f0112
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-cellular-0.0.1-r3284
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=!<chromeos-base/autotest-tests-0.0.2 chromeos-base/autotest-deps-cellular chromeos-base/shill-test-scripts dev-python/pygobject dev-python/pyusb sys-apps/ethtool
+DESCRIPTION=Cellular autotests
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest +tests_cellular_ConnectFailure +tests_cellular_DisableWhileConnecting +tests_cellular_DisconnectFailure +tests_cellular_HermesErrorScenarios +tests_cellular_HermesMM_InstallEnable +tests_cellular_Hermes_MultiProfile +tests_cellular_Hermes_Restart_SlotSwitch +tests_cellular_Hermes_SingleProfile +tests_cellular_Identifiers +tests_cellular_SIMLocking +tests_cellular_SafetyDance +tests_cellular_Smoke +tests_cellular_StressEnable +tests_cellular_ValidateTestEnvironment cros_host cros_workon_tree_7a121e6ee6cd998fac479dc6ce77067c320ba75b +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=!<chromeos-base/autotest-tests-0.0.2 chromeos-base/autotest-deps-cellular chromeos-base/shill-test-scripts dev-python/pygobject dev-python/pyusb sys-apps/ethtool autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e6a717211806066502b76c5eee6feb04
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-cellular-9999 b/metadata/md5-cache/chromeos-base/autotest-tests-cellular-9999
index c5a2e24..daa602b 100644
--- a/metadata/md5-cache/chromeos-base/autotest-tests-cellular-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-cellular-9999
@@ -4,11 +4,11 @@
 DESCRIPTION=Cellular autotests
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest +tests_cellular_ActivateLTE +tests_cellular_ConnectFailure +tests_cellular_DeferredRegistration +tests_cellular_DisableWhileConnecting +tests_cellular_DisconnectFailure +tests_cellular_HermesErrorScenarios +tests_cellular_HermesMM_InstallEnable +tests_cellular_Hermes_MultiProfile +tests_cellular_Hermes_Restart_SlotSwitch +tests_cellular_Hermes_SingleProfile +tests_cellular_Identifiers +tests_cellular_OutOfCreditsSubscriptionState +tests_cellular_SIMLocking +tests_cellular_SafetyDance +tests_cellular_ScanningProperty +tests_cellular_ServiceName +tests_cellular_Smoke +tests_cellular_StressEnable +tests_cellular_ValidateTestEnvironment +tests_cellular_MbimComplianceControlCommand +tests_cellular_MbimComplianceControlRequest +tests_cellular_MbimComplianceDataTransfer +tests_cellular_MbimComplianceDescriptor +tests_cellular_MbimComplianceError cros_host cros_workon_tree_ +buildcheck autotest opengles
+IUSE=+autotest +tests_cellular_ConnectFailure +tests_cellular_DisableWhileConnecting +tests_cellular_DisconnectFailure +tests_cellular_HermesErrorScenarios +tests_cellular_HermesMM_InstallEnable +tests_cellular_Hermes_MultiProfile +tests_cellular_Hermes_Restart_SlotSwitch +tests_cellular_Hermes_SingleProfile +tests_cellular_Identifiers +tests_cellular_SIMLocking +tests_cellular_SafetyDance +tests_cellular_Smoke +tests_cellular_StressEnable +tests_cellular_ValidateTestEnvironment cros_host cros_workon_tree_ +buildcheck autotest opengles
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
 RDEPEND=!<chromeos-base/autotest-tests-0.0.2 chromeos-base/autotest-deps-cellular chromeos-base/shill-test-scripts dev-python/pygobject dev-python/pyusb sys-apps/ethtool autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5607cf0dcde12f760c6d1359811349c2
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3edd71fa39626c437179a36e488f2713
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-cryptohome-0.0.1-r3188 b/metadata/md5-cache/chromeos-base/autotest-tests-cryptohome-0.0.1-r3188
index 466b571..dc70ad5 100644
--- a/metadata/md5-cache/chromeos-base/autotest-tests-cryptohome-0.0.1-r3188
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-cryptohome-0.0.1-r3188
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/cryptohome-dev-utils autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=60566fdcde78cdc64cd2641a7bfceb29
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-cryptohome-9999 b/metadata/md5-cache/chromeos-base/autotest-tests-cryptohome-9999
index ed5fdf0..ce5fe19 100644
--- a/metadata/md5-cache/chromeos-base/autotest-tests-cryptohome-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-cryptohome-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/cryptohome-dev-utils autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=0248b8405351362d2be7ae3e8acfd940
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-debugd-0.0.1-r3181 b/metadata/md5-cache/chromeos-base/autotest-tests-debugd-0.0.1-r3181
deleted file mode 100644
index 00bf2e5..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-tests-debugd-0.0.1-r3181
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DESCRIPTION=debugd autotests
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest +tests_platform_TraceClockMonotonic +tests_platform_DebugDaemonGetNetworkStatus +tests_platform_DebugDaemonGetPerfData +tests_platform_DebugDaemonGetPerfOutputFd +tests_platform_DebugDaemonGetRoutes +tests_platform_DebugDaemonPerfDataInFeedbackLogs +tests_platform_DebugDaemonPing +tests_platform_DebugDaemonTracePath cros_host cros_workon_tree_6f8448a0bf6f2ed3432ce337d6ae43043c6ca06c +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=!<chromeos-base/autotest-tests-0.0.3 autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=bf0b1d799a9415963bda808cbfa36c24
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-debugd-0.0.1-r3871 b/metadata/md5-cache/chromeos-base/autotest-tests-debugd-0.0.1-r3871
new file mode 100644
index 0000000..81af398
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-debugd-0.0.1-r3871
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DESCRIPTION=debugd autotests
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest cros_host cros_workon_tree_e2c200b37b72780b72fd07a23555aedf104222cf +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=!<chromeos-base/autotest-tests-0.0.3 autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=f4eb097d0569a4d496b57968a54a7271
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-debugd-9999 b/metadata/md5-cache/chromeos-base/autotest-tests-debugd-9999
index dffa5c3..dca2b87 100644
--- a/metadata/md5-cache/chromeos-base/autotest-tests-debugd-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-debugd-9999
@@ -2,11 +2,11 @@
 DESCRIPTION=debugd autotests
 EAPI=5
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest +tests_platform_TraceClockMonotonic +tests_platform_DebugDaemonGetNetworkStatus +tests_platform_DebugDaemonGetPerfData +tests_platform_DebugDaemonGetPerfOutputFd +tests_platform_DebugDaemonGetRoutes +tests_platform_DebugDaemonPerfDataInFeedbackLogs +tests_platform_DebugDaemonPing +tests_platform_DebugDaemonTracePath cros_host cros_workon_tree_ +buildcheck autotest opengles
+IUSE=+autotest cros_host cros_workon_tree_ +buildcheck autotest opengles
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
 RDEPEND=!<chromeos-base/autotest-tests-0.0.3 autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=2ae8be6d5185e85d7aedd1af934f52eb
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=941246e682d09d13bb49a6ccdbd8a7bf
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-graphics-0.0.1-r3275 b/metadata/md5-cache/chromeos-base/autotest-tests-graphics-0.0.1-r3275
deleted file mode 100644
index ec22dcb..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-tests-graphics-0.0.1-r3275
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install postinst prepare setup unpack
-DEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/autotest-deps-graphics tests_graphics_Gbm? ( media-libs/minigbm ) tests_graphics_GLBench? ( chromeos-base/glbench ) tests_graphics_GLMark2? ( chromeos-base/autotest-deps-glmark2 ) tests_graphics_SanAngeles? ( media-libs/waffle )
-DESCRIPTION=Graphics autotests
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest +tests_graphics_Gbm +tests_graphics_GLAPICheck +tests_graphics_GLBench +tests_graphics_GLMark2 +tests_graphics_KernelConfig +tests_graphics_KernelMemory +tests_graphics_LibDRM +tests_graphics_PerfControl +tests_graphics_SanAngeles +tests_graphics_SyncControlTest +tests_graphics_parallel_dEQP +tests_graphics_Power asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_0b01c1fad1d22006b5a807d9a73df52ec0d973cd +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/autotest-deps-graphics tests_graphics_Gbm? ( media-libs/minigbm ) tests_graphics_GLBench? ( chromeos-base/glbench ) tests_graphics_GLMark2? ( chromeos-base/autotest-deps-glmark2 ) tests_graphics_SanAngeles? ( media-libs/waffle ) autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=1574a066c250ff88f4be7be81b242c67
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-graphics-0.0.1-r3295 b/metadata/md5-cache/chromeos-base/autotest-tests-graphics-0.0.1-r3295
new file mode 100644
index 0000000..18a43a0
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-graphics-0.0.1-r3295
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install postinst prepare setup unpack
+DEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/autotest-deps-graphics tests_graphics_Gbm? ( media-libs/minigbm ) tests_graphics_GLBench? ( chromeos-base/glbench ) tests_graphics_SanAngeles? ( media-libs/waffle )
+DESCRIPTION=Graphics autotests
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest +tests_graphics_Gbm +tests_graphics_GLAPICheck +tests_graphics_GLBench +tests_graphics_HardwareProbe +tests_graphics_KernelConfig +tests_graphics_KernelMemory +tests_graphics_LibDRM +tests_graphics_PerfControl +tests_graphics_SanAngeles +tests_graphics_SyncControlTest +tests_graphics_parallel_dEQP +tests_graphics_Power asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_16f1aabf5339445c84e369dcaf2d7e2c086f0da5 +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/autotest-deps-graphics tests_graphics_Gbm? ( media-libs/minigbm ) tests_graphics_GLBench? ( chromeos-base/glbench ) tests_graphics_SanAngeles? ( media-libs/waffle ) autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=9141ada977d9961f7421f62efb6254d6
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-graphics-9999 b/metadata/md5-cache/chromeos-base/autotest-tests-graphics-9999
index 245ec75..45b985a 100644
--- a/metadata/md5-cache/chromeos-base/autotest-tests-graphics-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-graphics-9999
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile configure info install postinst prepare setup unpack
-DEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/autotest-deps-graphics tests_graphics_Gbm? ( media-libs/minigbm ) tests_graphics_GLBench? ( chromeos-base/glbench ) tests_graphics_GLMark2? ( chromeos-base/autotest-deps-glmark2 ) tests_graphics_SanAngeles? ( media-libs/waffle )
+DEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/autotest-deps-graphics tests_graphics_Gbm? ( media-libs/minigbm ) tests_graphics_GLBench? ( chromeos-base/glbench ) tests_graphics_SanAngeles? ( media-libs/waffle )
 DESCRIPTION=Graphics autotests
 EAPI=5
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest +tests_graphics_Gbm +tests_graphics_GLAPICheck +tests_graphics_GLBench +tests_graphics_GLMark2 +tests_graphics_KernelConfig +tests_graphics_KernelMemory +tests_graphics_LibDRM +tests_graphics_PerfControl +tests_graphics_SanAngeles +tests_graphics_SyncControlTest +tests_graphics_parallel_dEQP +tests_graphics_Power asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ +buildcheck autotest opengles
+IUSE=+autotest +tests_graphics_Gbm +tests_graphics_GLAPICheck +tests_graphics_GLBench +tests_graphics_HardwareProbe +tests_graphics_KernelConfig +tests_graphics_KernelMemory +tests_graphics_LibDRM +tests_graphics_PerfControl +tests_graphics_SanAngeles +tests_graphics_SyncControlTest +tests_graphics_parallel_dEQP +tests_graphics_Power asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ +buildcheck autotest opengles
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
-RDEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/autotest-deps-graphics tests_graphics_Gbm? ( media-libs/minigbm ) tests_graphics_GLBench? ( chromeos-base/glbench ) tests_graphics_GLMark2? ( chromeos-base/autotest-deps-glmark2 ) tests_graphics_SanAngeles? ( media-libs/waffle ) autotest? ( chromeos-base/autotest )
+RDEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/autotest-deps-graphics tests_graphics_Gbm? ( media-libs/minigbm ) tests_graphics_GLBench? ( chromeos-base/glbench ) tests_graphics_SanAngeles? ( media-libs/waffle ) autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=79d3bfb77008aafa3e67624f5ea53409
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=36e36190805893489b807a511a8d4417
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-ownershipapi-0.0.1-r7898 b/metadata/md5-cache/chromeos-base/autotest-tests-ownershipapi-0.0.1-r7898
deleted file mode 100644
index fe3e125..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-tests-ownershipapi-0.0.1-r7898
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=chromeos-base/autotest-deps-dbus chromeos-base/autotest-deps-policy chromeos-base/chromeos-chrome chromeos-base/telemetry dev-python/protobuf-python dev-python/pygobject
-DESCRIPTION=login_OwnershipApi autotest
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+xset +tpmtools +autotest +tests_login_CryptohomeOwnerQuery +tests_login_MultipleSessions cros_host cros_workon_tree_738143231455a51480a9776268efe33b1c2f8786 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=chromeos-base/autotest-deps-dbus chromeos-base/autotest-deps-policy chromeos-base/chromeos-chrome chromeos-base/telemetry dev-python/protobuf-python dev-python/pygobject autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=fd91dce24de3eb7b2784a5dea045415e
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-ownershipapi-0.0.1-r7899 b/metadata/md5-cache/chromeos-base/autotest-tests-ownershipapi-0.0.1-r7899
new file mode 100644
index 0000000..0998b6f
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-ownershipapi-0.0.1-r7899
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=chromeos-base/autotest-deps-dbus chromeos-base/autotest-deps-policy chromeos-base/chromeos-chrome chromeos-base/telemetry dev-python/protobuf-python dev-python/pygobject
+DESCRIPTION=login_OwnershipApi autotest
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+xset +tpmtools +autotest +tests_login_CryptohomeOwnerQuery +tests_login_MultipleSessions cros_host cros_workon_tree_0afe9e545add6bbfe1e753734251c983a93fad69 +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=chromeos-base/autotest-deps-dbus chromeos-base/autotest-deps-policy chromeos-base/chromeos-chrome chromeos-base/telemetry dev-python/protobuf-python dev-python/pygobject autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=9901b984f9d683b0b2e6b9469bbf6d89
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-ownershipapi-9999 b/metadata/md5-cache/chromeos-base/autotest-tests-ownershipapi-9999
index 35b69a9..b049f6b 100644
--- a/metadata/md5-cache/chromeos-base/autotest-tests-ownershipapi-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-ownershipapi-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/autotest-deps-dbus chromeos-base/autotest-deps-policy chromeos-base/chromeos-chrome chromeos-base/telemetry dev-python/protobuf-python dev-python/pygobject autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=0d3da87526b40329320cfc8953bd0a86
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=68f915162390060d76c4050955903d54
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-power-0.0.1-r3265 b/metadata/md5-cache/chromeos-base/autotest-tests-power-0.0.1-r3265
deleted file mode 100644
index 970e147..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-tests-power-0.0.1-r3265
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=shill? ( chromeos-base/shill-test-scripts ) !<chromeos-base/autotest-tests-0.0.3
-DESCRIPTION=power autotests
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest +shill +tests_hardware_Backlight +tests_power_ARMSettings +tests_power_Backlight +tests_power_BacklightControl +tests_power_BacklightSuspend +tests_power_BatteryCharge +tests_power_BatteryDesignCapacity +tests_power_CheckAC +tests_power_CheckAfterSuspend +tests_power_CPUFreq +tests_power_CPUIdle +tests_power_Draw +tests_power_Dummy +tests_power_HotCPUSuspend +tests_power_KernelSuspend +tests_power_MemorySuspend +tests_power_NoConsoleSuspend +tests_power_ProbeDriver shill? ( +tests_power_Resume ) +tests_power_Standby +tests_power_StatsCPUFreq +tests_power_StatsCPUIdle +tests_power_StatsUSB +tests_power_Status shill? ( +tests_power_SuspendStress +tests_power_SuspendToIdle ) +tests_power_WaitForCoolDown +tests_power_WakeupRTC cros_host cros_workon_tree_6d68981e5ce5df734d579cb9cfe6f4c1a0722a22 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=shill? ( chromeos-base/shill-test-scripts ) !<chromeos-base/autotest-tests-0.0.3 autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=061b86784834721b34790bb9750587f1
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-power-0.0.1-r3277 b/metadata/md5-cache/chromeos-base/autotest-tests-power-0.0.1-r3277
new file mode 100644
index 0000000..249269d
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-power-0.0.1-r3277
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=shill? ( chromeos-base/shill-test-scripts ) !<chromeos-base/autotest-tests-0.0.3
+DESCRIPTION=power autotests
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest +shill +tests_power_ARMSettings +tests_power_Backlight +tests_power_BacklightSuspend +tests_power_BatteryCharge +tests_power_CheckAC +tests_power_CheckAfterSuspend +tests_power_CPUFreq +tests_power_CPUIdle +tests_power_Draw +tests_power_Dummy +tests_power_HotCPUSuspend +tests_power_KernelSuspend +tests_power_ProbeDriver shill? ( +tests_power_Resume ) +tests_power_Standby +tests_power_StatsCPUFreq +tests_power_StatsCPUIdle +tests_power_Status shill? ( +tests_power_SuspendStress +tests_power_SuspendToIdle ) +tests_power_WaitForCoolDown cros_host cros_workon_tree_d5c97fe37a109c77d0507972f1adef038286e413 +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=shill? ( chromeos-base/shill-test-scripts ) !<chromeos-base/autotest-tests-0.0.3 autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6793e66872ceb19c39a39a00c7d3bf7b
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-power-9999 b/metadata/md5-cache/chromeos-base/autotest-tests-power-9999
index ca668d3..d43b151 100644
--- a/metadata/md5-cache/chromeos-base/autotest-tests-power-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-power-9999
@@ -4,11 +4,11 @@
 DESCRIPTION=power autotests
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest +shill +tests_hardware_Backlight +tests_power_ARMSettings +tests_power_Backlight +tests_power_BacklightControl +tests_power_BacklightSuspend +tests_power_BatteryCharge +tests_power_BatteryDesignCapacity +tests_power_CheckAC +tests_power_CheckAfterSuspend +tests_power_CPUFreq +tests_power_CPUIdle +tests_power_Draw +tests_power_Dummy +tests_power_HotCPUSuspend +tests_power_KernelSuspend +tests_power_MemorySuspend +tests_power_NoConsoleSuspend +tests_power_ProbeDriver shill? ( +tests_power_Resume ) +tests_power_Standby +tests_power_StatsCPUFreq +tests_power_StatsCPUIdle +tests_power_StatsUSB +tests_power_Status shill? ( +tests_power_SuspendStress +tests_power_SuspendToIdle ) +tests_power_WaitForCoolDown +tests_power_WakeupRTC cros_host cros_workon_tree_ +buildcheck autotest opengles
+IUSE=+autotest +shill +tests_power_ARMSettings +tests_power_Backlight +tests_power_BacklightSuspend +tests_power_BatteryCharge +tests_power_CheckAC +tests_power_CheckAfterSuspend +tests_power_CPUFreq +tests_power_CPUIdle +tests_power_Draw +tests_power_Dummy +tests_power_HotCPUSuspend +tests_power_KernelSuspend +tests_power_ProbeDriver shill? ( +tests_power_Resume ) +tests_power_Standby +tests_power_StatsCPUFreq +tests_power_StatsCPUIdle +tests_power_Status shill? ( +tests_power_SuspendStress +tests_power_SuspendToIdle ) +tests_power_WaitForCoolDown cros_host cros_workon_tree_ +buildcheck autotest opengles
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
 RDEPEND=shill? ( chromeos-base/shill-test-scripts ) !<chromeos-base/autotest-tests-0.0.3 autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=11c69497661d0368e8d6c6de7629941c
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=833e5eb57ae6204b45c2bb961bda511b
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-security-0.0.1-r3317 b/metadata/md5-cache/chromeos-base/autotest-tests-security-0.0.1-r3317
deleted file mode 100644
index d68bc97..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-tests-security-0.0.1-r3317
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=!<chromeos-base/autotest-tests-0.0.3 containers? ( tests_security_Libcontainer? ( chromeos-base/minijail:= chromeos-base/libcontainer:= ) ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
-DESCRIPTION=Security autotests
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest -chromeless_tests -chromeless_tty containers +seccomp selinux !chromeless_tty? ( !chromeless_tests? ( +tests_security_RendererSandbox +tests_security_SessionManagerDbusEndpoints ) ) seccomp? ( +tests_security_SeccompSyscallFilters ) containers? ( +tests_security_Libcontainer ) +tests_security_NosymfollowMountOption +tests_security_ProcessManagementPolicy +tests_security_RootfsOwners +tests_security_SysVIPC x86? ( +tests_security_x86Registers ) amd64? ( +tests_security_x86Registers ) cros_host cros_workon_tree_717f7958378805bdc9b2d26f39cfda7864cf0414 +buildcheck autotest opengles cros-debug asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=!<chromeos-base/autotest-tests-0.0.3 containers? ( tests_security_Libcontainer? ( chromeos-base/minijail:= chromeos-base/libcontainer:= ) ) autotest? ( chromeos-base/autotest ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=bdb63dfb52bc86c15db1746111d722ef
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-security-0.0.1-r3319 b/metadata/md5-cache/chromeos-base/autotest-tests-security-0.0.1-r3319
new file mode 100644
index 0000000..b750f1f
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-security-0.0.1-r3319
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=!<chromeos-base/autotest-tests-0.0.3 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
+DESCRIPTION=Security autotests
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest -chromeless_tests -chromeless_tty containers +seccomp selinux +tests_security_NosymfollowMountOption cros_host cros_workon_tree_0afe9e545add6bbfe1e753734251c983a93fad69 +buildcheck autotest opengles cros-debug asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=!<chromeos-base/autotest-tests-0.0.3 autotest? ( chromeos-base/autotest ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=3b86b2c275b40194f2da2272cca4ff17
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-security-9999 b/metadata/md5-cache/chromeos-base/autotest-tests-security-9999
index fe1a8d8..8526256 100644
--- a/metadata/md5-cache/chromeos-base/autotest-tests-security-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-security-9999
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=!<chromeos-base/autotest-tests-0.0.3 containers? ( tests_security_Libcontainer? ( chromeos-base/minijail:= chromeos-base/libcontainer:= ) ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
+DEPEND=!<chromeos-base/autotest-tests-0.0.3 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
 DESCRIPTION=Security autotests
 EAPI=5
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest -chromeless_tests -chromeless_tty containers +seccomp selinux !chromeless_tty? ( !chromeless_tests? ( +tests_security_RendererSandbox +tests_security_SessionManagerDbusEndpoints ) ) seccomp? ( +tests_security_SeccompSyscallFilters ) containers? ( +tests_security_Libcontainer ) +tests_security_NosymfollowMountOption +tests_security_ProcessManagementPolicy +tests_security_RootfsOwners +tests_security_SysVIPC x86? ( +tests_security_x86Registers ) amd64? ( +tests_security_x86Registers ) cros_host cros_workon_tree_ +buildcheck autotest opengles cros-debug asan coverage fuzzer msan tsan ubsan
+IUSE=+autotest -chromeless_tests -chromeless_tty containers +seccomp selinux +tests_security_NosymfollowMountOption cros_host cros_workon_tree_ +buildcheck autotest opengles cros-debug asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
-RDEPEND=!<chromeos-base/autotest-tests-0.0.3 containers? ( tests_security_Libcontainer? ( chromeos-base/minijail:= chromeos-base/libcontainer:= ) ) autotest? ( chromeos-base/autotest ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
+RDEPEND=!<chromeos-base/autotest-tests-0.0.3 autotest? ( chromeos-base/autotest ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=c127bddbfaf1da23f563d46a7fc9c8b5
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=30fd40e075570b266b7569d3343a85c7
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-shill-0.0.1-r3244 b/metadata/md5-cache/chromeos-base/autotest-tests-shill-0.0.1-r3244
deleted file mode 100644
index 5441feb..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-tests-shill-0.0.1-r3244
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/shill-test-scripts
-DESCRIPTION=shill autotests
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest +tpm tpm2 +tests_network_DhcpClasslessStaticRoute +tests_network_DhcpFailureWithStaticIP +tests_network_DhcpNak +tests_network_DhcpNegotiationSuccess +tests_network_DhcpNegotiationTimeout +tests_network_DhcpNonAsciiParameter +tests_network_DhcpRenew +tests_network_DhcpRenewWithOptionSubset +tests_network_DhcpRequestHostName +tests_network_DhcpStaticIP +tests_network_DhcpVendorEncapsulatedOptions +tests_network_DhcpWpadNegotiation +tests_network_WiFiInvalidParameters +tests_network_WiFiResume +tests_network_WlanPresent +tests_network_WlanHasIP cros_host cros_workon_tree_e92fad049ade951451b4a2602f0b46cf40c8d7d9 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/shill-test-scripts autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=533ca149f8a48b6bef3b13211713656a
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-shill-0.0.1-r3245 b/metadata/md5-cache/chromeos-base/autotest-tests-shill-0.0.1-r3245
new file mode 100644
index 0000000..b369506
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-shill-0.0.1-r3245
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/shill-test-scripts
+DESCRIPTION=shill autotests
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest +tpm tpm2 +tests_network_DhcpClasslessStaticRoute +tests_network_DhcpNak +tests_network_DhcpNegotiationSuccess +tests_network_DhcpNegotiationTimeout +tests_network_DhcpNonAsciiParameter +tests_network_DhcpRenew +tests_network_DhcpStaticIP +tests_network_DhcpWpadNegotiation +tests_network_WiFiInvalidParameters +tests_network_WiFiResume +tests_network_WlanPresent +tests_network_WlanHasIP cros_host cros_workon_tree_91dff9335c9dfa6398841cfb49100f2035742e8c +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/shill-test-scripts autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=8ecc4bf8c16efa54ebfcec39dfcae99f
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-shill-9999 b/metadata/md5-cache/chromeos-base/autotest-tests-shill-9999
index 49a2513..125ab8a 100644
--- a/metadata/md5-cache/chromeos-base/autotest-tests-shill-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-shill-9999
@@ -3,11 +3,11 @@
 DESCRIPTION=shill autotests
 EAPI=5
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest +tpm tpm2 +tests_network_DhcpClasslessStaticRoute +tests_network_DhcpFailureWithStaticIP +tests_network_DhcpNak +tests_network_DhcpNegotiationSuccess +tests_network_DhcpNegotiationTimeout +tests_network_DhcpNonAsciiParameter +tests_network_DhcpRenew +tests_network_DhcpRenewWithOptionSubset +tests_network_DhcpRequestHostName +tests_network_DhcpStaticIP +tests_network_DhcpVendorEncapsulatedOptions +tests_network_DhcpWpadNegotiation +tests_network_WiFiInvalidParameters +tests_network_WiFiResume +tests_network_WlanPresent +tests_network_WlanHasIP cros_host cros_workon_tree_ +buildcheck autotest opengles
+IUSE=+autotest +tpm tpm2 +tests_network_DhcpClasslessStaticRoute +tests_network_DhcpNak +tests_network_DhcpNegotiationSuccess +tests_network_DhcpNegotiationTimeout +tests_network_DhcpNonAsciiParameter +tests_network_DhcpRenew +tests_network_DhcpStaticIP +tests_network_DhcpWpadNegotiation +tests_network_WiFiInvalidParameters +tests_network_WiFiResume +tests_network_WlanPresent +tests_network_WlanHasIP cros_host cros_workon_tree_ +buildcheck autotest opengles
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
 RDEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/shill-test-scripts autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=43e7080c80500803f7ea0da2e415774c
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=28a84280acc0143686c768c6da87695d
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-smbprovider-0.0.1-r11 b/metadata/md5-cache/chromeos-base/autotest-tests-smbprovider-0.0.1-r11
deleted file mode 100644
index 385cfe3..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-tests-smbprovider-0.0.1-r11
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=chromeos-base/chromeos-chrome chromeos-base/autotest-chrome
-DESCRIPTION=SmbProvider Autotests
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest +tests_enterprise_SmbProviderDaemon cros_host cros_workon_tree_738143231455a51480a9776268efe33b1c2f8786 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=chromeos-base/chromeos-chrome chromeos-base/autotest-chrome autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=d79f5aac49b4122aa8b169a216c38cdc
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-smbprovider-0.0.1-r702 b/metadata/md5-cache/chromeos-base/autotest-tests-smbprovider-0.0.1-r702
new file mode 100644
index 0000000..828071a
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-smbprovider-0.0.1-r702
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=chromeos-base/chromeos-chrome chromeos-base/autotest-chrome
+DESCRIPTION=SmbProvider Autotests
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest cros_host cros_workon_tree_e2c200b37b72780b72fd07a23555aedf104222cf +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=chromeos-base/chromeos-chrome chromeos-base/autotest-chrome autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=84ad99a61cd1c0aeb62f97bfe24fba4e
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-smbprovider-9999 b/metadata/md5-cache/chromeos-base/autotest-tests-smbprovider-9999
index 67c7abf..340096f 100644
--- a/metadata/md5-cache/chromeos-base/autotest-tests-smbprovider-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-smbprovider-9999
@@ -3,11 +3,11 @@
 DESCRIPTION=SmbProvider Autotests
 EAPI=5
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest +tests_enterprise_SmbProviderDaemon cros_host cros_workon_tree_ +buildcheck autotest opengles
+IUSE=+autotest cros_host cros_workon_tree_ +buildcheck autotest opengles
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
 RDEPEND=chromeos-base/chromeos-chrome chromeos-base/autotest-chrome autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=c5d3be68c75a5d06c16bd60c44657f7f
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=45f8d4d81028a40b3aab831be4d5b8fb
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-toolchain-0.0.1-r15 b/metadata/md5-cache/chromeos-base/autotest-tests-toolchain-0.0.1-r15
deleted file mode 100644
index 4c03400..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-tests-toolchain-0.0.1-r15
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/toolchain-tests
-DESCRIPTION=Compilation and runtime tests for toolchain
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest +tests_platform_ToolchainTests cros_host cros_workon_tree_b504fb0d3cfda94bc8a67543d57f7ffc5dacf45c +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/toolchain-tests autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=dacb868bc2eebba7597b35cbed46260e
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-toolchain-0.0.1-r17 b/metadata/md5-cache/chromeos-base/autotest-tests-toolchain-0.0.1-r17
new file mode 100644
index 0000000..62794ea
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-toolchain-0.0.1-r17
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/toolchain-tests
+DESCRIPTION=Compilation and runtime tests for toolchain
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest +tests_platform_ToolchainTests cros_host cros_workon_tree_756b72f50bc8dd3d8a000ed31c43b34b3f71c635 +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/toolchain-tests autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=28a29dc77dda610d25d8907db2c8d41b
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-toolchain-9999 b/metadata/md5-cache/chromeos-base/autotest-tests-toolchain-9999
index fe5bcd4..1967eee 100644
--- a/metadata/md5-cache/chromeos-base/autotest-tests-toolchain-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-toolchain-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=!<chromeos-base/autotest-tests-0.0.3 chromeos-base/toolchain-tests autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=74482cc8803b15d9465e2e18b4039647
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-touchpad-0.0.1-r4174 b/metadata/md5-cache/chromeos-base/autotest-tests-touchpad-0.0.1-r4174
deleted file mode 100644
index b5bba5e..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-tests-touchpad-0.0.1-r4174
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=chromeos-base/autotest-deps-touchpad
-DESCRIPTION=touchpad autotest
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest +tests_platform_GesturesRegressionTest cros_host cros_workon_tree_738143231455a51480a9776268efe33b1c2f8786 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=chromeos-base/autotest-deps-touchpad autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=66c3f088f00deedc661ea2fed4eecb33
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-touchpad-0.0.1-r4175 b/metadata/md5-cache/chromeos-base/autotest-tests-touchpad-0.0.1-r4175
new file mode 100644
index 0000000..1c2d516
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-touchpad-0.0.1-r4175
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=chromeos-base/autotest-deps-touchpad
+DESCRIPTION=touchpad autotest
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest +tests_platform_GesturesRegressionTest cros_host cros_workon_tree_0afe9e545add6bbfe1e753734251c983a93fad69 +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=chromeos-base/autotest-deps-touchpad autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=940eadbf6015e5a5ef13f72f55b3d6ed
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-touchpad-9999 b/metadata/md5-cache/chromeos-base/autotest-tests-touchpad-9999
index 7d000cd..1d94570 100644
--- a/metadata/md5-cache/chromeos-base/autotest-tests-touchpad-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-touchpad-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/autotest-deps-touchpad autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a788f305ae9e1876553ffd82034b25fc
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9bb7b9e44629ca55005913b3e4b45b21
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-tpm-0.0.1-r3200 b/metadata/md5-cache/chromeos-base/autotest-tests-tpm-0.0.1-r3200
deleted file mode 100644
index 0883a306..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-tests-tpm-0.0.1-r3200
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=!<chromeos-base/autotest-tests-0.0.3 tpm2? ( chromeos-base/g2f_tools )
-DESCRIPTION=Autotests involving the tpm
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest tpm2 +tests_firmware_Cr50VirtualNVRam +tests_firmware_Cr50VirtualNVRamServer +tests_firmware_Cr50U2fPowerwash +tests_hardware_TPMCheck +tests_kernel_TPMStress +tests_platform_Pkcs11InitUnderErrors +tests_platform_Pkcs11ChangeAuthData +tests_platform_Pkcs11Events +tests_platform_Pkcs11LoadPerf +tests_platform_TPMEvict cros_host cros_workon_tree_af83fec5f201d6b7e569affc40e3b2f301e2d939 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=!<chromeos-base/autotest-tests-0.0.3 tpm2? ( chromeos-base/g2f_tools ) autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=7d56d7b0993089326f2eb056cdac671a
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-tpm-0.0.1-r3206 b/metadata/md5-cache/chromeos-base/autotest-tests-tpm-0.0.1-r3206
new file mode 100644
index 0000000..fbdf689
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-tpm-0.0.1-r3206
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DEPEND=!<chromeos-base/autotest-tests-0.0.3 tpm2? ( chromeos-base/g2f_tools )
+DESCRIPTION=Autotests involving the tpm
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest tpm2 +tests_firmware_Cr50VirtualNVRam +tests_firmware_Cr50VirtualNVRamServer +tests_firmware_Cr50U2fPowerwash +tests_hardware_TPMCheck +tests_kernel_TPMStress cros_host cros_workon_tree_6a73a3b9893611d68f40462d2c15d7af94c522b8 +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=!<chromeos-base/autotest-tests-0.0.3 tpm2? ( chromeos-base/g2f_tools ) autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=1b5003f31b0778cec0d78517e20eb28b
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-tpm-9999 b/metadata/md5-cache/chromeos-base/autotest-tests-tpm-9999
index 087e495..87b6221 100644
--- a/metadata/md5-cache/chromeos-base/autotest-tests-tpm-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-tpm-9999
@@ -3,11 +3,11 @@
 DESCRIPTION=Autotests involving the tpm
 EAPI=5
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest tpm2 +tests_firmware_Cr50VirtualNVRam +tests_firmware_Cr50VirtualNVRamServer +tests_firmware_Cr50U2fPowerwash +tests_hardware_TPMCheck +tests_kernel_TPMStress +tests_platform_Pkcs11InitUnderErrors +tests_platform_Pkcs11ChangeAuthData +tests_platform_Pkcs11Events +tests_platform_Pkcs11LoadPerf +tests_platform_TPMEvict cros_host cros_workon_tree_ +buildcheck autotest opengles
+IUSE=+autotest tpm2 +tests_firmware_Cr50VirtualNVRam +tests_firmware_Cr50VirtualNVRamServer +tests_firmware_Cr50U2fPowerwash +tests_hardware_TPMCheck +tests_kernel_TPMStress cros_host cros_workon_tree_ +buildcheck autotest opengles
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
 RDEPEND=!<chromeos-base/autotest-tests-0.0.3 tpm2? ( chromeos-base/g2f_tools ) autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=15de6e624e94bc43f0a0be12e153fb5f
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=d3e5bba018774321792441758886120e
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-vm-host-0.0.1-r3620 b/metadata/md5-cache/chromeos-base/autotest-tests-vm-host-0.0.1-r3620
deleted file mode 100644
index 30b6680..0000000
--- a/metadata/md5-cache/chromeos-base/autotest-tests-vm-host-0.0.1-r3620
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DESCRIPTION=kvm host autotests
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=+autotest +tests_vm_CrosVmStart cros_host cros_workon_tree_72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2 +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=autotest? ( chromeos-base/autotest )
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=7075685bb51e4bb83bbfdc9b9eeba00b
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-vm-host-0.0.1-r4330 b/metadata/md5-cache/chromeos-base/autotest-tests-vm-host-0.0.1-r4330
new file mode 100644
index 0000000..0c66a16
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-vm-host-0.0.1-r4330
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DESCRIPTION=kvm host autotests
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=+autotest +tests_vm_CrosVmStart cros_host cros_workon_tree_e2c200b37b72780b72fd07a23555aedf104222cf +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=autotest? ( chromeos-base/autotest )
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=58130740557186b56e1876c5a74ed61d
diff --git a/metadata/md5-cache/chromeos-base/autotest-tests-vm-host-9999 b/metadata/md5-cache/chromeos-base/autotest-tests-vm-host-9999
index c759720..3977e15 100644
--- a/metadata/md5-cache/chromeos-base/autotest-tests-vm-host-9999
+++ b/metadata/md5-cache/chromeos-base/autotest-tests-vm-host-9999
@@ -8,5 +8,5 @@
 PROPERTIES=live
 RDEPEND=autotest? ( chromeos-base/autotest )
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=562fd70eb22f46aa3c8a92478c9ce6e5
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=8ced70badaea78289cf91f8bda472442
diff --git a/metadata/md5-cache/chromeos-base/avtest_label_detect-0.0.1-r3129 b/metadata/md5-cache/chromeos-base/avtest_label_detect-0.0.1-r3129
deleted file mode 100644
index 99f62746..0000000
--- a/metadata/md5-cache/chromeos-base/avtest_label_detect-0.0.1-r3129
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=vaapi? ( x11-libs/libva )
-DESCRIPTION=Autotest label detector for audio/video/camera
-EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/avtest_label_detect
-IUSE=-asan v4l2_codec vaapi asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_71b0e2fdd906652c604f6adb10d88b0f9ffd040e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=vaapi? ( x11-libs/libva )
-SLOT=0
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=d49861af90093184ddd8932ff6992b57
diff --git a/metadata/md5-cache/chromeos-base/avtest_label_detect-0.0.1-r3189 b/metadata/md5-cache/chromeos-base/avtest_label_detect-0.0.1-r3189
new file mode 100644
index 0000000..5caaa57
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/avtest_label_detect-0.0.1-r3189
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=vaapi? ( x11-libs/libva )
+DESCRIPTION=Autotest label detector for audio/video/camera
+EAPI=6
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/avtest_label_detect
+IUSE=-asan v4l2_codec vaapi asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_b263bb463cd5e0028ada4a34df829a60185da23a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=vaapi? ( x11-libs/libva )
+SLOT=0
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=ed4d182d9af247dad7e0a7768dd76494
diff --git a/metadata/md5-cache/chromeos-base/avtest_label_detect-9999 b/metadata/md5-cache/chromeos-base/avtest_label_detect-9999
index 92b4d46..2825c2e 100644
--- a/metadata/md5-cache/chromeos-base/avtest_label_detect-9999
+++ b/metadata/md5-cache/chromeos-base/avtest_label_detect-9999
@@ -2,12 +2,12 @@
 DEPEND=vaapi? ( x11-libs/libva )
 DESCRIPTION=Autotest label detector for audio/video/camera
 EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/avtest_label_detect
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/avtest_label_detect
 IUSE=-asan v4l2_codec vaapi asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 RDEPEND=vaapi? ( x11-libs/libva )
 SLOT=0
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=17551db4d9d7ba2a09d09b923b8785e5
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=a5614f94414a1ce2303c2216dd1a0c15
diff --git a/metadata/md5-cache/chromeos-base/biod-0.0.1-r2243 b/metadata/md5-cache/chromeos-base/biod-0.0.1-r2243
deleted file mode 100644
index 52462ef..0000000
--- a/metadata/md5-cache/chromeos-base/biod-0.0.1-r2243
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/libec:= >=chromeos-base/metrics-0.0.1-r3152:= sys-apps/flashmap:= chromeos-base/biod_proxy:= chromeos-base/chromeos-ec-headers:= chromeos-base/power_manager-client:= chromeos-base/system_api:=[fuzzer?] dev-libs/openssl:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Biometrics Daemon for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/biod/README.md
-IUSE=factory_branch fp_on_power_button fpmcu_firmware_bloonchipper fpmcu_firmware_dartmonkey fpmcu_firmware_nami fpmcu_firmware_nocturne fuzzer fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_cdd343a1b2fde0b4ac6e0df05b61873de776969a_bea140d13f7cf1092e4c89a45011c04c28327972_b2a628a7e6e84c75bbb6593f7e7d6c7baa8ccba0_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_cdd343a1b2fde0b4ac6e0df05b61873de776969a_bea140d13f7cf1092e4c89a45011c04c28327972_b2a628a7e6e84c75bbb6593f7e7d6c7baa8ccba0_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/libec:= >=chromeos-base/metrics-0.0.1-r3152:= sys-apps/flashmap:= chromeos-base/biod_proxy:= sys-apps/flashrom !factory_branch? ( virtual/chromeos-firmware-fpmcu ) !factory_branch? ( fpmcu_firmware_bloonchipper? ( sys-firmware/chromeos-fpmcu-release-bloonchipper ) fpmcu_firmware_dartmonkey? ( sys-firmware/chromeos-fpmcu-release-dartmonkey ) fpmcu_firmware_nami? ( sys-firmware/chromeos-fpmcu-release-nami ) fpmcu_firmware_nocturne? ( sys-firmware/chromeos-fpmcu-release-nocturne ) ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r2243
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=bda4eae31f20cef022c1f60f5a6dd9a7
diff --git a/metadata/md5-cache/chromeos-base/biod-0.0.1-r2430 b/metadata/md5-cache/chromeos-base/biod-0.0.1-r2430
new file mode 100644
index 0000000..a3e8d8a
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/biod-0.0.1-r2430
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/libec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/vboot_reference:= sys-apps/flashmap:= chromeos-base/biod_proxy:= chromeos-base/chromeos-ec-headers:= chromeos-base/power_manager-client:= chromeos-base/system_api:=[fuzzer?] dev-libs/openssl:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Biometrics Daemon for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/biod/README.md
+IUSE=factory_branch fp_on_power_button fpmcu_firmware_bloonchipper fpmcu_firmware_dartmonkey fpmcu_firmware_nami fpmcu_firmware_nocturne fuzzer fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_3e7613ea6e002e2ed9003c451537961ee1ec8c06_527abd7a988a45572305a6c44b5324d0d9cf8be2_1dbf281b6523338c1a11135ebaf00796f0f664e4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_3e7613ea6e002e2ed9003c451537961ee1ec8c06_527abd7a988a45572305a6c44b5324d0d9cf8be2_1dbf281b6523338c1a11135ebaf00796f0f664e4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/libec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/vboot_reference:= sys-apps/flashmap:= chromeos-base/biod_proxy:= sys-apps/flashrom !factory_branch? ( virtual/chromeos-firmware-fpmcu ) !factory_branch? ( fpmcu_firmware_bloonchipper? ( sys-firmware/chromeos-fpmcu-release-bloonchipper ) fpmcu_firmware_dartmonkey? ( sys-firmware/chromeos-fpmcu-release-dartmonkey ) fpmcu_firmware_nami? ( sys-firmware/chromeos-fpmcu-release-nami ) fpmcu_firmware_nocturne? ( sys-firmware/chromeos-fpmcu-release-nocturne ) ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r2430
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=53dc2b4b59aa9af15ab6e7f071406fd5
diff --git a/metadata/md5-cache/chromeos-base/biod-9999 b/metadata/md5-cache/chromeos-base/biod-9999
index 8ae8f4c7..48f6650 100644
--- a/metadata/md5-cache/chromeos-base/biod-9999
+++ b/metadata/md5-cache/chromeos-base/biod-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/libec:= >=chromeos-base/metrics-0.0.1-r3152:= sys-apps/flashmap:= chromeos-base/biod_proxy:= chromeos-base/chromeos-ec-headers:= chromeos-base/power_manager-client:= chromeos-base/system_api:=[fuzzer?] dev-libs/openssl:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/libec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/vboot_reference:= sys-apps/flashmap:= chromeos-base/biod_proxy:= chromeos-base/chromeos-ec-headers:= chromeos-base/power_manager-client:= chromeos-base/system_api:=[fuzzer?] dev-libs/openssl:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Biometrics Daemon for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/biod/README.md
-IUSE=factory_branch fp_on_power_button fpmcu_firmware_bloonchipper fpmcu_firmware_dartmonkey fpmcu_firmware_nami fpmcu_firmware_nocturne fuzzer fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/biod/README.md
+IUSE=factory_branch fp_on_power_button fpmcu_firmware_bloonchipper fpmcu_firmware_dartmonkey fpmcu_firmware_nami fpmcu_firmware_nocturne fuzzer fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/libec:= >=chromeos-base/metrics-0.0.1-r3152:= sys-apps/flashmap:= chromeos-base/biod_proxy:= sys-apps/flashrom !factory_branch? ( virtual/chromeos-firmware-fpmcu ) !factory_branch? ( fpmcu_firmware_bloonchipper? ( sys-firmware/chromeos-fpmcu-release-bloonchipper ) fpmcu_firmware_dartmonkey? ( sys-firmware/chromeos-fpmcu-release-dartmonkey ) fpmcu_firmware_nami? ( sys-firmware/chromeos-fpmcu-release-nami ) fpmcu_firmware_nocturne? ( sys-firmware/chromeos-fpmcu-release-nocturne ) ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/libec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/vboot_reference:= sys-apps/flashmap:= chromeos-base/biod_proxy:= sys-apps/flashrom !factory_branch? ( virtual/chromeos-firmware-fpmcu ) !factory_branch? ( fpmcu_firmware_bloonchipper? ( sys-firmware/chromeos-fpmcu-release-bloonchipper ) fpmcu_firmware_dartmonkey? ( sys-firmware/chromeos-fpmcu-release-dartmonkey ) fpmcu_firmware_nami? ( sys-firmware/chromeos-fpmcu-release-nami ) fpmcu_firmware_nocturne? ( sys-firmware/chromeos-fpmcu-release-nocturne ) ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=c666108a4ebceb76357254c08c781771
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=1d6c7ee80fb3604a797221c74b6d25a8
diff --git a/metadata/md5-cache/chromeos-base/biod_proxy-0.0.1-r278 b/metadata/md5-cache/chromeos-base/biod_proxy-0.0.1-r278
deleted file mode 100644
index f9af83d..0000000
--- a/metadata/md5-cache/chromeos-base/biod_proxy-0.0.1-r278
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libbrillo:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=DBus Proxy Library for Biometrics Daemon for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/biod/README.md
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_cdd343a1b2fde0b4ac6e0df05b61873de776969a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_cdd343a1b2fde0b4ac6e0df05b61873de776969a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r278
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=dbe030493ae153801a9358c384693dee
diff --git a/metadata/md5-cache/chromeos-base/biod_proxy-0.0.1-r361 b/metadata/md5-cache/chromeos-base/biod_proxy-0.0.1-r361
new file mode 100644
index 0000000..e48b468
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/biod_proxy-0.0.1-r361
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/libbrillo:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=DBus Proxy Library for Biometrics Daemon for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/biod/README.md
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_3e7613ea6e002e2ed9003c451537961ee1ec8c06_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_3e7613ea6e002e2ed9003c451537961ee1ec8c06_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r361
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d9e7623eff0cbe053f114d7565d743b9
diff --git a/metadata/md5-cache/chromeos-base/biod_proxy-9999 b/metadata/md5-cache/chromeos-base/biod_proxy-9999
index 3edf2b2..f87df611 100644
--- a/metadata/md5-cache/chromeos-base/biod_proxy-9999
+++ b/metadata/md5-cache/chromeos-base/biod_proxy-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libbrillo:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/libbrillo:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=DBus Proxy Library for Biometrics Daemon for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/biod/README.md
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/biod/README.md
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=8ca314d145601a99a6c91c37af90a8ce
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c07c467b1943cf5ca31e71cf5048e1ef
diff --git a/metadata/md5-cache/chromeos-base/bootid-logger-0.0.1-r144 b/metadata/md5-cache/chromeos-base/bootid-logger-0.0.1-r144
deleted file mode 100644
index cb9c8a5..0000000
--- a/metadata/md5-cache/chromeos-base/bootid-logger-0.0.1-r144
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/croslog-0.0.1-r45 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Program to record the current boot ID to the log
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/bootid-logger
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1330141be4bcc5ab6d09f1a06295b97e8e3e1210_90cd734b0ad93c5348345a199d6f26e647956eaa_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1330141be4bcc5ab6d09f1a06295b97e8e3e1210_90cd734b0ad93c5348345a199d6f26e647956eaa_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/croslog-0.0.1-r45 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=daa56a28c2122c8e92e2340f572e26d6
diff --git a/metadata/md5-cache/chromeos-base/bootid-logger-0.0.1-r208 b/metadata/md5-cache/chromeos-base/bootid-logger-0.0.1-r208
new file mode 100644
index 0000000..885f5c5
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/bootid-logger-0.0.1-r208
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/croslog-0.0.1-r45 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Program to record the current boot ID to the log
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/bootid-logger
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_83ca22e88798e1cc90cb146bff627f7dca4893bc_8ef7c6aabe0a8edeff8f6030f7c1b79ab3e32522_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_83ca22e88798e1cc90cb146bff627f7dca4893bc_8ef7c6aabe0a8edeff8f6030f7c1b79ab3e32522_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/croslog-0.0.1-r45 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3aea2a90faa06ce5398087d4849b2b3e
diff --git a/metadata/md5-cache/chromeos-base/bootid-logger-9999 b/metadata/md5-cache/chromeos-base/bootid-logger-9999
index da2f136..5bb0780 100644
--- a/metadata/md5-cache/chromeos-base/bootid-logger-9999
+++ b/metadata/md5-cache/chromeos-base/bootid-logger-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/croslog-0.0.1-r45 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/croslog-0.0.1-r45 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Program to record the current boot ID to the log
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/bootid-logger
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/croslog-0.0.1-r45 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=bf3f69bfa39b66205a875752364723d6
diff --git a/metadata/md5-cache/chromeos-base/bootlockbox-client-0.0.1-r1582 b/metadata/md5-cache/chromeos-base/bootlockbox-client-0.0.1-r1582
deleted file mode 100644
index 869f2d4..0000000
--- a/metadata/md5-cache/chromeos-base/bootlockbox-client-0.0.1-r1582
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=chromeos-base/chromeos-dbus-bindings dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=BootLockbox DBus client library for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/cryptohome/
-IUSE=cros_host cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_964775e6e0db71595872056851302232fdba45da_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_964775e6e0db71595872056851302232fdba45da_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r1582
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c494325b31fd148a503c7dbb9ce9deb7
diff --git a/metadata/md5-cache/chromeos-base/bootlockbox-client-0.0.1-r1881 b/metadata/md5-cache/chromeos-base/bootlockbox-client-0.0.1-r1881
new file mode 100644
index 0000000..46c5751
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/bootlockbox-client-0.0.1-r1881
@@ -0,0 +1,14 @@
+BDEPEND=chromeos-base/chromeos-dbus-bindings dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=BootLockbox DBus client library for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cryptohome/
+IUSE=cros_host cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_cae4613fb762e98fcafc23166e621aaa667b6729_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_cae4613fb762e98fcafc23166e621aaa667b6729_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r1881
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7a6116062f27dfac051e510b1f80e937
diff --git a/metadata/md5-cache/chromeos-base/bootlockbox-client-9999 b/metadata/md5-cache/chromeos-base/bootlockbox-client-9999
index 5d8953b..d8cf5b3 100644
--- a/metadata/md5-cache/chromeos-base/bootlockbox-client-9999
+++ b/metadata/md5-cache/chromeos-base/bootlockbox-client-9999
@@ -1,14 +1,14 @@
 BDEPEND=chromeos-base/chromeos-dbus-bindings dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=BootLockbox DBus client library for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/cryptohome/
-IUSE=cros_host cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cryptohome/
+IUSE=cros_host cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=cd4719e8b1aa2c3c5e1f3649d57a7915
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0987bbe31b9bd062c75968908eb8d980
diff --git a/metadata/md5-cache/chromeos-base/bootstat-0.0.2-r3176 b/metadata/md5-cache/chromeos-base/bootstat-0.0.2-r3176
deleted file mode 100644
index 8aac8b5..0000000
--- a/metadata/md5-cache/chromeos-base/bootstat-0.0.2-r3176
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=sys-apps/rootdev:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS Boot Time Statistics Utilities
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/bootstat/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_099ee78ecfdd76a535372e12365bd5372e6e2596_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_099ee78ecfdd76a535372e12365bd5372e6e2596_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=sys-apps/rootdev:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.2-r3176
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=3095f0cecb09a437b6fd92fa04d453a8
diff --git a/metadata/md5-cache/chromeos-base/bootstat-0.0.2-r3235 b/metadata/md5-cache/chromeos-base/bootstat-0.0.2-r3235
new file mode 100644
index 0000000..6736c93
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/bootstat-0.0.2-r3235
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=sys-apps/rootdev:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS Boot Time Statistics Utilities
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/bootstat/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_05c88bcfecc640205a21834d7f46a3d1e651f111_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_05c88bcfecc640205a21834d7f46a3d1e651f111_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=sys-apps/rootdev:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.2-r3235
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0c68458a91b3838c1fbd60edbc780a85
diff --git a/metadata/md5-cache/chromeos-base/bootstat-9999 b/metadata/md5-cache/chromeos-base/bootstat-9999
index 6713143..cac45ce 100644
--- a/metadata/md5-cache/chromeos-base/bootstat-9999
+++ b/metadata/md5-cache/chromeos-base/bootstat-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=sys-apps/rootdev:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=sys-apps/rootdev:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS Boot Time Statistics Utilities
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/bootstat/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/bootstat/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=sys-apps/rootdev:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=99bfbdd3e57483ea135bd495214aac05
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2c99eaa855297e61b17f453114f59635
diff --git a/metadata/md5-cache/chromeos-base/busybox-config-1.21.0 b/metadata/md5-cache/chromeos-base/busybox-config-1.21.0
deleted file mode 100644
index e8a8bdc..0000000
--- a/metadata/md5-cache/chromeos-base/busybox-config-1.21.0
+++ /dev/null
@@ -1,7 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=CrOS specific busybox configuration file.
-EAPI=4
-KEYWORDS=amd64 arm x86
-LICENSE=BSD
-SLOT=0
-_md5_=20d73b73a67e1a5549681dec03ec47ed
diff --git a/metadata/md5-cache/chromeos-base/cbor-0.0.1-r163 b/metadata/md5-cache/chromeos-base/cbor-0.0.1-r163
deleted file mode 100644
index 57eb4a5..0000000
--- a/metadata/md5-cache/chromeos-base/cbor-0.0.1-r163
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Concise Binary Object Representation (CBOR) library for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/cbor
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_be0db62170e9578effaf0492f97a7568a50fe55e cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_be0db62170e9578effaf0492f97a7568a50fe55e cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2e92758424e96193e8b6903e408aa8c8
diff --git a/metadata/md5-cache/chromeos-base/cbor-0.0.1-r222 b/metadata/md5-cache/chromeos-base/cbor-0.0.1-r222
new file mode 100644
index 0000000..57a6b1d
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/cbor-0.0.1-r222
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Concise Binary Object Representation (CBOR) library for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/cbor
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_fa22c2326c89f0ccbecf5d2e3635701867e62b85 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_fa22c2326c89f0ccbecf5d2e3635701867e62b85 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0a0473c316b744d521b3e46925ee040e
diff --git a/metadata/md5-cache/chromeos-base/cbor-9999 b/metadata/md5-cache/chromeos-base/cbor-9999
index 6895137..2c971a8 100644
--- a/metadata/md5-cache/chromeos-base/cbor-9999
+++ b/metadata/md5-cache/chromeos-base/cbor-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Concise Binary Object Representation (CBOR) library for Chromium OS
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/cbor
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=d1ad9ce010f4eed3f60f4b2e30a235c4
diff --git a/metadata/md5-cache/chromeos-base/celltest-perf-endpoint-0.1-r3 b/metadata/md5-cache/chromeos-base/celltest-perf-endpoint-0.1-r3
deleted file mode 100644
index 2a89535..0000000
--- a/metadata/md5-cache/chromeos-base/celltest-perf-endpoint-0.1-r3
+++ /dev/null
@@ -1,9 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Performance testing endpoint for cellular performance tests
-EAPI=4
-HOMEPAGE=http://www.chromium.org/
-KEYWORDS=amd64 arm x86
-LICENSE=BSD
-RDEPEND=net-misc/iperf:2
-SLOT=0
-_md5_=e3264fa62a0acadfa3a366915c736a51
diff --git a/metadata/md5-cache/chromeos-base/cfm-dfu-notification-0.0.1-r161 b/metadata/md5-cache/chromeos-base/cfm-dfu-notification-0.0.1-r161
deleted file mode 100644
index 387e575..0000000
--- a/metadata/md5-cache/chromeos-base/cfm-dfu-notification-0.0.1-r161
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Library to send firmware update notifications to CFM
-EAPI=7
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_63862a9eebc1145ee434295657abeeefaf884645_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_63862a9eebc1145ee434295657abeeefaf884645_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=60c89c62cc6d5907964818bf7da57f73
diff --git a/metadata/md5-cache/chromeos-base/cfm-dfu-notification-0.0.1-r218 b/metadata/md5-cache/chromeos-base/cfm-dfu-notification-0.0.1-r218
new file mode 100644
index 0000000..b8b9466
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/cfm-dfu-notification-0.0.1-r218
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Library to send firmware update notifications to CFM
+EAPI=7
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_63862a9eebc1145ee434295657abeeefaf884645_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_63862a9eebc1145ee434295657abeeefaf884645_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b91cc5f45a989fe78ea759c221fdc6c2
diff --git a/metadata/md5-cache/chromeos-base/cfm-dfu-notification-9999 b/metadata/md5-cache/chromeos-base/cfm-dfu-notification-9999
index 55673b8..422fbe7 100644
--- a/metadata/md5-cache/chromeos-base/cfm-dfu-notification-9999
+++ b/metadata/md5-cache/chromeos-base/cfm-dfu-notification-9999
@@ -1,13 +1,13 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Library to send firmware update notifications to CFM
 EAPI=7
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=37dff4729471bed9857be8bb6767f695
diff --git a/metadata/md5-cache/chromeos-base/chameleon-0.0.2-r495 b/metadata/md5-cache/chromeos-base/chameleon-0.0.2-r495
deleted file mode 100644
index d74bbb3..0000000
--- a/metadata/md5-cache/chromeos-base/chameleon-0.0.2-r495
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=info install setup unpack
-DEPEND=dev-lang/python
-DESCRIPTION=Chameleon bundle for Autotest lab deployment
-EAPI=4
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/chameleon/
-IUSE=cros_host cros_workon_tree_d71d21d542636ba45904f7aac1960c19fa5edfa1
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-lang/python
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=4f682bd8dbbae7051b3dbf529c8f0518
diff --git a/metadata/md5-cache/chromeos-base/chameleon-0.0.2-r526 b/metadata/md5-cache/chromeos-base/chameleon-0.0.2-r526
new file mode 100644
index 0000000..bb47e2e
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chameleon-0.0.2-r526
@@ -0,0 +1,13 @@
+DEFINED_PHASES=configure info install setup unpack
+DEPEND=dev-lang/python
+DESCRIPTION=Chameleon bundle for Autotest lab deployment
+EAPI=4
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/chameleon/
+IUSE=cros_host cros_workon_tree_e30b387083c90748b28f9f231e7b262561bb57cf asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-lang/python
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=96d53193a12af8a81a717343b431bf13
diff --git a/metadata/md5-cache/chromeos-base/chameleon-9999 b/metadata/md5-cache/chromeos-base/chameleon-9999
index 9bb9f55..feeaa33 100644
--- a/metadata/md5-cache/chromeos-base/chameleon-9999
+++ b/metadata/md5-cache/chromeos-base/chameleon-9999
@@ -1,13 +1,13 @@
-DEFINED_PHASES=info install setup unpack
+DEFINED_PHASES=configure info install setup unpack
 DEPEND=dev-lang/python
 DESCRIPTION=Chameleon bundle for Autotest lab deployment
 EAPI=4
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/chameleon/
-IUSE=cros_host cros_workon_tree_
+IUSE=cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 RDEPEND=dev-lang/python
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=56b6292b5c9d08d6dc539b688844c639
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=de182914f140f5ee8c3151d36279836a
diff --git a/metadata/md5-cache/chromeos-base/chaps-0.0.1-r3584 b/metadata/md5-cache/chromeos-base/chaps-0.0.1-r3584
deleted file mode 100644
index 0e13077..0000000
--- a/metadata/md5-cache/chromeos-base/chaps-0.0.1-r3584
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/chaps-client:= chromeos-base/minijail:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/tpm_manager:= !dev-db/leveldb dev-libs/leveldb:= dev-libs/openssl:= dev-libs/protobuf:= test? ( app-arch/gzip app-arch/tar ) chromeos-base/system_api:=[fuzzer?] fuzzer? ( dev-libs/libprotobuf-mutator ) tpm2? ( chromeos-base/trunks:=[test?] ) dev-libs/nss:= dev-libs/nspr:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=PKCS #11 layer over TrouSerS
-EAPI=7
-HOMEPAGE=http://www.chromium.org/developers/design-documents/chaps-technical-design
-IUSE=systemd test tpm tpm_dynamic tpm2 fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_b8893a9e8fdf8b402519c4496addb087f21fbe50_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_b1c7898d3f42051cbba6426c62b35476a8de5b72_4a0dedab080195bdc122d2289118df4af3ddca2c_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_2acba33c99f07fa000bb44a4df3a65a8fe313bb1_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_b8893a9e8fdf8b402519c4496addb087f21fbe50_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_b1c7898d3f42051cbba6426c62b35476a8de5b72_4a0dedab080195bdc122d2289118df4af3ddca2c_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_2acba33c99f07fa000bb44a4df3a65a8fe313bb1_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/chaps-client:= chromeos-base/minijail:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/tpm_manager:= !dev-db/leveldb dev-libs/leveldb:= dev-libs/openssl:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
-SLOT=0/0.0.1-r3584
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=766c63737cb236e783aa853c5a0a3488
diff --git a/metadata/md5-cache/chromeos-base/chaps-0.0.1-r3768 b/metadata/md5-cache/chromeos-base/chaps-0.0.1-r3768
new file mode 100644
index 0000000..4f5279e
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chaps-0.0.1-r3768
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/chaps-client:= chromeos-base/libhwsec:=[test?] chromeos-base/minijail:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/tpm_manager:= !dev-db/leveldb dev-libs/leveldb:= dev-libs/openssl:= dev-libs/protobuf:= test? ( app-arch/gzip app-arch/tar ) chromeos-base/system_api:=[fuzzer?] fuzzer? ( dev-libs/libprotobuf-mutator ) tpm2? ( chromeos-base/trunks:=[test?] ) dev-libs/nss:= dev-libs/nspr:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=PKCS #11 layer over TrouSerS
+EAPI=7
+HOMEPAGE=http://www.chromium.org/developers/design-documents/chaps-technical-design
+IUSE=systemd test tpm tpm_dynamic tpm_insecure_fallback tpm2 fuzzer cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2e72f56ad37eadb01ad2b42e9938beb23cb3a389_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_944879c9353c2df8adb7022407a8d319671325c1_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2e72f56ad37eadb01ad2b42e9938beb23cb3a389_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_944879c9353c2df8adb7022407a8d319671325c1_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/chaps-client:= chromeos-base/libhwsec:=[test?] chromeos-base/minijail:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/tpm_manager:= !dev-db/leveldb dev-libs/leveldb:= dev-libs/openssl:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
+SLOT=0/0.0.1-r3768
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=d4c1f771fc235dfb90ae5e77da8ae8a4
diff --git a/metadata/md5-cache/chromeos-base/chaps-9999 b/metadata/md5-cache/chromeos-base/chaps-9999
index 7ef0bf0..03fde50 100644
--- a/metadata/md5-cache/chromeos-base/chaps-9999
+++ b/metadata/md5-cache/chromeos-base/chaps-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/chaps-client:= chromeos-base/minijail:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/tpm_manager:= !dev-db/leveldb dev-libs/leveldb:= dev-libs/openssl:= dev-libs/protobuf:= test? ( app-arch/gzip app-arch/tar ) chromeos-base/system_api:=[fuzzer?] fuzzer? ( dev-libs/libprotobuf-mutator ) tpm2? ( chromeos-base/trunks:=[test?] ) dev-libs/nss:= dev-libs/nspr:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/chaps-client:= chromeos-base/libhwsec:=[test?] chromeos-base/minijail:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/tpm_manager:= !dev-db/leveldb dev-libs/leveldb:= dev-libs/openssl:= dev-libs/protobuf:= test? ( app-arch/gzip app-arch/tar ) chromeos-base/system_api:=[fuzzer?] fuzzer? ( dev-libs/libprotobuf-mutator ) tpm2? ( chromeos-base/trunks:=[test?] ) dev-libs/nss:= dev-libs/nspr:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=PKCS #11 layer over TrouSerS
 EAPI=7
 HOMEPAGE=http://www.chromium.org/developers/design-documents/chaps-technical-design
-IUSE=systemd test tpm tpm_dynamic tpm2 fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=systemd test tpm tpm_dynamic tpm_insecure_fallback tpm2 fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/chaps-client:= chromeos-base/minijail:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/tpm_manager:= !dev-db/leveldb dev-libs/leveldb:= dev-libs/openssl:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+RDEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/chaps-client:= chromeos-base/libhwsec:=[test?] chromeos-base/minijail:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/tpm_manager:= !dev-db/leveldb dev-libs/leveldb:= dev-libs/openssl:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=acd6f4900a880ce487517ac47412a9e5
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=9eb437771a90dd43c1b63de3c915bafd
diff --git a/metadata/md5-cache/chromeos-base/chaps-client-0.0.1-r144 b/metadata/md5-cache/chromeos-base/chaps-client-0.0.1-r144
new file mode 100644
index 0000000..63d70f6
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chaps-client-0.0.1-r144
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=cros_host? ( >=chromeos-base/chromeos-dbus-bindings-0.0.1-r1058 ) chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=chaps D-Bus client library for Chromium OS
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chaps/client/
+IUSE=cros_host cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2e72f56ad37eadb01ad2b42e9938beb23cb3a389_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2e72f56ad37eadb01ad2b42e9938beb23cb3a389_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=d81ca3424df7fefa734a2327e5846a59
diff --git a/metadata/md5-cache/chromeos-base/chaps-client-0.0.1-r70 b/metadata/md5-cache/chromeos-base/chaps-client-0.0.1-r70
deleted file mode 100644
index 336e0cd..0000000
--- a/metadata/md5-cache/chromeos-base/chaps-client-0.0.1-r70
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=cros_host? ( >=chromeos-base/chromeos-dbus-bindings-0.0.1-r1058 ) chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=chaps D-Bus client library for Chromium OS
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/chaps/client/
-IUSE=cros_host cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_b8893a9e8fdf8b402519c4496addb087f21fbe50_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_b8893a9e8fdf8b402519c4496addb087f21fbe50_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=ba3e47478a62871835b1bee2cd6399b8
diff --git a/metadata/md5-cache/chromeos-base/chaps-client-9999 b/metadata/md5-cache/chromeos-base/chaps-client-9999
index e680ec0..73152d9 100644
--- a/metadata/md5-cache/chromeos-base/chaps-client-9999
+++ b/metadata/md5-cache/chromeos-base/chaps-client-9999
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=cros_host? ( >=chromeos-base/chromeos-dbus-bindings-0.0.1-r1058 ) chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=cros_host? ( >=chromeos-base/chromeos-dbus-bindings-0.0.1-r1058 ) chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=chaps D-Bus client library for Chromium OS
 EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/chaps/client/
-IUSE=cros_host cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chaps/client/
+IUSE=cros_host cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=83d4c91b1e758f129de0f4eca31dcaf5
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=f3c96480c16b66007dea22690ea3c532
diff --git a/metadata/md5-cache/chromeos-base/chargesplash-0.0.1-r33 b/metadata/md5-cache/chromeos-base/chargesplash-0.0.1-r33
new file mode 100644
index 0000000..55d06a8
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chargesplash-0.0.1-r33
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/libec:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Frecon-based charging indicator
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chargesplash
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_83e2bdd8b74ac9fdb0c801679693d2bb0745064c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_83e2bdd8b74ac9fdb0c801679693d2bb0745064c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/libec:= sys-apps/frecon >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3cecb2db346f23182ce5a41c665a4fb7
diff --git a/metadata/md5-cache/chromeos-base/chargesplash-9999 b/metadata/md5-cache/chromeos-base/chargesplash-9999
new file mode 100644
index 0000000..44bbb66
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chargesplash-9999
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/libec:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Frecon-based charging indicator
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chargesplash
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/libec:= sys-apps/frecon >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9fab7b2b268c964d0edc040bab736e6b
diff --git a/metadata/md5-cache/chromeos-base/chrome-binary-tests-0.0.1 b/metadata/md5-cache/chromeos-base/chrome-binary-tests-0.0.1
index 4d615d6..01dbc55 100644
--- a/metadata/md5-cache/chromeos-base/chrome-binary-tests-0.0.1
+++ b/metadata/md5-cache/chromeos-base/chrome-binary-tests-0.0.1
@@ -7,4 +7,4 @@
 KEYWORDS=*
 LICENSE=BSD-Google
 SLOT=0
-_md5_=8cf6bf73b1e6ac468bf69cf86cd9e5fd
+_md5_=f31036260cffb32c59344607d6538340
diff --git a/metadata/md5-cache/chromeos-base/chrome-binary-tests-0.0.1-r20 b/metadata/md5-cache/chromeos-base/chrome-binary-tests-0.0.1-r20
deleted file mode 100644
index 4d615d6..0000000
--- a/metadata/md5-cache/chromeos-base/chrome-binary-tests-0.0.1-r20
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=install
-DEPEND=chromeos-base/chromeos-chrome
-DESCRIPTION=Install Chromium binary tests to test image
-EAPI=6
-HOMEPAGE=http://www.chromium.org
-IUSE=vaapi v4l2_codec
-KEYWORDS=*
-LICENSE=BSD-Google
-SLOT=0
-_md5_=8cf6bf73b1e6ac468bf69cf86cd9e5fd
diff --git a/metadata/md5-cache/chromeos-base/chrome-binary-tests-0.0.1-r23 b/metadata/md5-cache/chromeos-base/chrome-binary-tests-0.0.1-r23
new file mode 100644
index 0000000..01dbc55
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chrome-binary-tests-0.0.1-r23
@@ -0,0 +1,10 @@
+DEFINED_PHASES=install
+DEPEND=chromeos-base/chromeos-chrome
+DESCRIPTION=Install Chromium binary tests to test image
+EAPI=6
+HOMEPAGE=http://www.chromium.org
+IUSE=vaapi v4l2_codec
+KEYWORDS=*
+LICENSE=BSD-Google
+SLOT=0
+_md5_=f31036260cffb32c59344607d6538340
diff --git a/metadata/md5-cache/chromeos-base/chrome-icu-101.0.4907.0_rc-r1 b/metadata/md5-cache/chromeos-base/chrome-icu-101.0.4907.0_rc-r1
deleted file mode 100644
index 22b7b8b..0000000
--- a/metadata/md5-cache/chromeos-base/chrome-icu-101.0.4907.0_rc-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup unpack
-DEPEND=net-print/cups x11-libs/libdrm
-DESCRIPTION=The ICU library copied from chrome/third_party
-EAPI=5
-HOMEPAGE=https://cs.chromium.org/chromium/src/third_party/icu/
-IUSE=asan chrome_internal component_build cups +libcxx msan neon +runhooks thinlto ubsan verbose xkbcommon chrome_internal asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=icu-58
-RDEPEND=!dev-libs/icu !<chromeos-base/chromeos-chrome-83.0.4098.4 xkbcommon? ( x11-libs/libxkbcommon x11-misc/xkeyboard-config )
-RESTRICT=network-sandbox mirror
-SLOT=0/101.0.4907.0_rc-r1
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	chromium-source	30aed414ff3b200d9b82dfcabdaf9195	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=63030a5ba719330754b5d7224f0b72b5
diff --git a/metadata/md5-cache/chromeos-base/chrome-icu-106.0.5229.0_rc-r2 b/metadata/md5-cache/chromeos-base/chrome-icu-106.0.5229.0_rc-r2
new file mode 100644
index 0000000..4969be2
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chrome-icu-106.0.5229.0_rc-r2
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install prepare setup unpack
+DEPEND=net-print/cups x11-libs/libdrm
+DESCRIPTION=The ICU library copied from chrome/third_party
+EAPI=7
+HOMEPAGE=https://cs.chromium.org/chromium/src/third_party/icu/
+IUSE=asan chrome_internal component_build cups +libcxx msan neon +runhooks thinlto ubsan verbose xkbcommon chrome_internal asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=icu-58
+RDEPEND=!dev-libs/icu !<chromeos-base/chromeos-chrome-83.0.4098.4 xkbcommon? ( x11-libs/libxkbcommon x11-misc/xkeyboard-config )
+RESTRICT=network-sandbox mirror
+SLOT=0/106.0.5229.0_rc-r2
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	chromium-source	b257d954237d37ce41ae6245c0c5a5c9	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4f3f2bcfdf4cc2d9dec39601eb08a742
diff --git a/metadata/md5-cache/chromeos-base/chrome-icu-106.0.5239.0_rc-r1 b/metadata/md5-cache/chromeos-base/chrome-icu-106.0.5239.0_rc-r1
new file mode 100644
index 0000000..6c8ac9c
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chrome-icu-106.0.5239.0_rc-r1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install prepare setup unpack
+DEPEND=net-print/cups x11-libs/libdrm
+DESCRIPTION=The ICU library copied from chrome/third_party
+EAPI=7
+HOMEPAGE=https://cs.chromium.org/chromium/src/third_party/icu/
+IUSE=asan chrome_internal component_build cups +libcxx msan neon +runhooks thinlto ubsan verbose xkbcommon chrome_internal asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=icu-58
+RDEPEND=!dev-libs/icu !<chromeos-base/chromeos-chrome-83.0.4098.4 xkbcommon? ( x11-libs/libxkbcommon x11-misc/xkeyboard-config )
+RESTRICT=network-sandbox mirror
+SLOT=0/106.0.5239.0_rc-r1
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	chromium-source	b257d954237d37ce41ae6245c0c5a5c9	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4f3f2bcfdf4cc2d9dec39601eb08a742
diff --git a/metadata/md5-cache/chromeos-base/chrome-icu-9999 b/metadata/md5-cache/chromeos-base/chrome-icu-9999
index 865b772..7cab895 100644
--- a/metadata/md5-cache/chromeos-base/chrome-icu-9999
+++ b/metadata/md5-cache/chromeos-base/chrome-icu-9999
@@ -1,7 +1,7 @@
 DEFINED_PHASES=compile configure install prepare setup unpack
 DEPEND=net-print/cups x11-libs/libdrm
 DESCRIPTION=The ICU library copied from chrome/third_party
-EAPI=5
+EAPI=7
 HOMEPAGE=https://cs.chromium.org/chromium/src/third_party/icu/
 IUSE=asan chrome_internal component_build cups +libcxx msan neon +runhooks thinlto ubsan verbose xkbcommon chrome_internal asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
@@ -9,5 +9,5 @@
 RDEPEND=!dev-libs/icu !<chromeos-base/chromeos-chrome-83.0.4098.4 xkbcommon? ( x11-libs/libxkbcommon x11-misc/xkeyboard-config )
 RESTRICT=network-sandbox mirror
 SLOT=0/9999
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	chromium-source	30aed414ff3b200d9b82dfcabdaf9195	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=53d7b1dcebf2d9bf5fba80d5094b3dfb
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	chromium-source	b257d954237d37ce41ae6245c0c5a5c9	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=47c498246ea4e88c9b5f57d2d001c072
diff --git a/metadata/md5-cache/chromeos-base/chromeos-accelerometer-init-0.0.1 b/metadata/md5-cache/chromeos-base/chromeos-accelerometer-init-0.0.1
index 259baf1..9b47b38 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-accelerometer-init-0.0.1
+++ b/metadata/md5-cache/chromeos-base/chromeos-accelerometer-init-0.0.1
@@ -1,11 +1,9 @@
-DEFINED_PHASES=install test
-DEPEND=virtual/pkgconfig
+DEFINED_PHASES=install
 DESCRIPTION=Chrome OS trigger allowing chrome to access cros-ec-accel device
-EAPI=5
-HOMEPAGE=http://src.chromium.org
+EAPI=7
+HOMEPAGE=https://dev.chromium.org/chromium-os
 KEYWORDS=*
 LICENSE=BSD-Google
-RDEPEND=!chromeos-base/iioservice chromeos-base/mems_setup virtual/chromeos-ec-driver-init virtual/modutils virtual/udev
+RDEPEND=!chromeos-base/iioservice chromeos-base/mems_setup virtual/chromeos-ec-driver-init virtual/udev
 SLOT=0
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=3f13a9d1f5df063dbe0465f0ac7bb895
+_md5_=233d61d0d9265d54231189173d149781
diff --git a/metadata/md5-cache/chromeos-base/chromeos-accelerometer-init-0.0.1-r28 b/metadata/md5-cache/chromeos-base/chromeos-accelerometer-init-0.0.1-r28
deleted file mode 100644
index 259baf1..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-accelerometer-init-0.0.1-r28
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=install test
-DEPEND=virtual/pkgconfig
-DESCRIPTION=Chrome OS trigger allowing chrome to access cros-ec-accel device
-EAPI=5
-HOMEPAGE=http://src.chromium.org
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=!chromeos-base/iioservice chromeos-base/mems_setup virtual/chromeos-ec-driver-init virtual/modutils virtual/udev
-SLOT=0
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=3f13a9d1f5df063dbe0465f0ac7bb895
diff --git a/metadata/md5-cache/chromeos-base/chromeos-accelerometer-init-0.0.1-r29 b/metadata/md5-cache/chromeos-base/chromeos-accelerometer-init-0.0.1-r29
new file mode 100644
index 0000000..9b47b38
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-accelerometer-init-0.0.1-r29
@@ -0,0 +1,9 @@
+DEFINED_PHASES=install
+DESCRIPTION=Chrome OS trigger allowing chrome to access cros-ec-accel device
+EAPI=7
+HOMEPAGE=https://dev.chromium.org/chromium-os
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=!chromeos-base/iioservice chromeos-base/mems_setup virtual/chromeos-ec-driver-init virtual/udev
+SLOT=0
+_md5_=233d61d0d9265d54231189173d149781
diff --git a/metadata/md5-cache/chromeos-base/chromeos-base-1-r11 b/metadata/md5-cache/chromeos-base/chromeos-base-1-r11
deleted file mode 100644
index 21d83bd..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-base-1-r11
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=info install preinst setup unpack
-DEPEND=>=sys-apps/baselayout-2 !<sys-apps/baselayout-2.0.1-r227 !<sys-libs/timezone-data-2011d !<=app-admin/sudo-1.8.2 !<sys-apps/mawk-1.3.4 !<app-shells/bash-4.1 !<app-shells/dash-0.5.5 !<net-misc/openssh-5.2_p1-r8 app-shells/bash !cros_host? ( !pam? ( !app-admin/sudo ) !app-misc/editor-wrapper cros_embedded? ( app-shells/dash ) sys-libs/timezone-data ) sys-apps/baselayout
-DESCRIPTION=ChromeOS specific system setup
-EAPI=7
-HOMEPAGE=https://dev.chromium.org/
-IUSE=ac_only chromeless_tty cros_embedded cros_host pam vtconsole kernel-4_4 kernel-3_18 cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=>=sys-apps/baselayout-2 !<sys-apps/baselayout-2.0.1-r227 !<sys-libs/timezone-data-2011d !<=app-admin/sudo-1.8.2 !<sys-apps/mawk-1.3.4 !<app-shells/bash-4.1 !<app-shells/dash-0.5.5 !<net-misc/openssh-5.2_p1-r8 app-shells/bash !cros_host? ( !pam? ( !app-admin/sudo ) !app-misc/editor-wrapper cros_embedded? ( app-shells/dash ) sys-libs/timezone-data ) sys-apps/baselayout
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=917b5ac22904193f3afab24ba41da8d4
diff --git a/metadata/md5-cache/chromeos-base/chromeos-base-1-r13 b/metadata/md5-cache/chromeos-base/chromeos-base-1-r13
new file mode 100644
index 0000000..72900259
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-base-1-r13
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=info install preinst setup unpack
+DEPEND=>=sys-apps/baselayout-2 !<sys-apps/baselayout-2.0.1-r227 !<sys-libs/timezone-data-2011d !<=app-admin/sudo-1.8.2 !<sys-apps/mawk-1.3.4 !<app-shells/bash-4.1 !<app-shells/dash-0.5.5 !<net-misc/openssh-5.2_p1-r8 app-shells/bash !cros_host? ( !pam? ( !app-admin/sudo ) !app-misc/editor-wrapper cros_embedded? ( app-shells/dash ) sys-libs/timezone-data ) sys-apps/baselayout
+DESCRIPTION=ChromeOS specific system setup
+EAPI=7
+HOMEPAGE=https://dev.chromium.org/
+IUSE=ac_only chromeless_tty cros_embedded cros_host pam vtconsole kernel-4_4 kernel-3_18 cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=>=sys-apps/baselayout-2 !<sys-apps/baselayout-2.0.1-r227 !<sys-libs/timezone-data-2011d !<=app-admin/sudo-1.8.2 !<sys-apps/mawk-1.3.4 !<app-shells/bash-4.1 !<app-shells/dash-0.5.5 !<net-misc/openssh-5.2_p1-r8 app-shells/bash !cros_host? ( !pam? ( !app-admin/sudo ) !app-misc/editor-wrapper cros_embedded? ( app-shells/dash ) sys-libs/timezone-data ) sys-apps/baselayout
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=917b5ac22904193f3afab24ba41da8d4
diff --git a/metadata/md5-cache/chromeos-base/chromeos-base-9999 b/metadata/md5-cache/chromeos-base/chromeos-base-9999
index 142af6b..0530a48 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-base-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-base-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=>=sys-apps/baselayout-2 !<sys-apps/baselayout-2.0.1-r227 !<sys-libs/timezone-data-2011d !<=app-admin/sudo-1.8.2 !<sys-apps/mawk-1.3.4 !<app-shells/bash-4.1 !<app-shells/dash-0.5.5 !<net-misc/openssh-5.2_p1-r8 app-shells/bash !cros_host? ( !pam? ( !app-admin/sudo ) !app-misc/editor-wrapper cros_embedded? ( app-shells/dash ) sys-libs/timezone-data ) sys-apps/baselayout
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
 _md5_=079e9aba155cff8520a755eacb956119
diff --git a/metadata/md5-cache/chromeos-base/chromeos-chrome-100.0.4868.0_rc-r2 b/metadata/md5-cache/chromeos-base/chromeos-chrome-100.0.4868.0_rc-r2
deleted file mode 100644
index 60e1bb6..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-chrome-100.0.4868.0_rc-r2
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure install postinst preinst prepare setup unpack
-DEPEND=app-arch/bzip2 app-crypt/mit-krb5 app-misc/edid-decode authpolicy? ( chromeos-base/authpolicy ) ~chromeos-base/chrome-icu-100.0.4868.0_rc chromeos-base/gestures chromeos-base/libevdev:= fonts? ( chromeos-base/chromeos-fonts ) chrome_internal? ( chromeos-base/quickoffice ) dev-libs/nspr >=dev-libs/nss-3.12.2 libinput? ( dev-libs/libinput:= ) >=media-libs/alsa-lib-1.0.19 media-libs/fontconfig media-libs/libsync x11-libs/libdrm ozone_platform_gbm? ( media-libs/minigbm ) v4lplugin? ( media-libs/libv4lplugins ) >=media-sound/adhd-0.0.1-r310 net-print/cups opengl? ( virtual/opengl ) opengles? ( virtual/opengles ) sys-apps/dbus sys-apps/pciutils virtual/udev sys-libs/libcap chrome_remoting? ( sys-libs/pam ) vaapi? ( x11-libs/libva ) xkbcommon? ( x11-libs/libxkbcommon x11-misc/xkeyboard-config ) accessibility? ( app-accessibility/brltty app-accessibility/espeak-ng app-accessibility/googletts ) libcxx? ( sys-libs/libcxxabi sys-libs/libcxx ) oobe_config? ( chromeos-base/oobe_config ) iioservice? ( chromeos-base/iioservice ) chromeos-base/protofiles >=dev-util/gperf-3.0.3 >=dev-util/pkgconfig-0.23 arm? ( x11-libs/libdrm ) sys-apps/baselayout
-DESCRIPTION=Open-source version of Google Chrome web browser
-EAPI=7
-HOMEPAGE=http://www.chromium.org/
-IUSE=+afdo_use afdo_verify +accessibility amd_oemcrypto app_shell asan +authpolicy +build_tests cdm_factory_daemon +chrome_debug +cfi cfm chrome_debug_tests chrome_dcheck chrome_internal chrome_media +chrome_remoting clang_tidy component_build cros-debug debug_fission +dwarf5 +fonts hw_details goma goma_thinlto +highdpi iioservice intel_oemcrypto internal_gles_conform +libcxx libinput mojo msan +nacl neon +oobe_config opengl opengles orderfile_generate +orderfile_use orderfile_verify remoteexec +runhooks strict_toolchain_checks subpixel_rendering +thinlto touchview tpm_dynamic ubsan v4l2_codec v4lplugin vaapi verbose vtable_verify xkbcommon ozone_platform_gbm ozone_platform_cast ozone_platform_headless ozone_platform_egltest ozone_platform_caca ozone_platform_default_gbm ozone_platform_default_cast ozone_platform_default_headless ozone_platform_default_egltest ozone_platform_default_caca +autotest +buildcheck autotest opengles chrome_internal asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=BSD-Google chrome_internal? ( Google-TOS )
-PROPERTIES=live
-RDEPEND=app-arch/bzip2 app-crypt/mit-krb5 app-misc/edid-decode authpolicy? ( chromeos-base/authpolicy ) ~chromeos-base/chrome-icu-100.0.4868.0_rc chromeos-base/gestures chromeos-base/libevdev:= fonts? ( chromeos-base/chromeos-fonts ) chrome_internal? ( chromeos-base/quickoffice ) dev-libs/nspr >=dev-libs/nss-3.12.2 libinput? ( dev-libs/libinput:= ) >=media-libs/alsa-lib-1.0.19 media-libs/fontconfig media-libs/libsync x11-libs/libdrm ozone_platform_gbm? ( media-libs/minigbm ) v4lplugin? ( media-libs/libv4lplugins ) >=media-sound/adhd-0.0.1-r310 net-print/cups opengl? ( virtual/opengl ) opengles? ( virtual/opengles ) sys-apps/dbus sys-apps/pciutils virtual/udev sys-libs/libcap chrome_remoting? ( sys-libs/pam ) vaapi? ( x11-libs/libva ) xkbcommon? ( x11-libs/libxkbcommon x11-misc/xkeyboard-config ) accessibility? ( app-accessibility/brltty app-accessibility/espeak-ng app-accessibility/googletts ) libcxx? ( sys-libs/libcxxabi sys-libs/libcxx ) oobe_config? ( chromeos-base/oobe_config ) iioservice? ( chromeos-base/iioservice ) autotest? ( chromeos-base/autotest ) sys-apps/baselayout
-REQUIRED_USE=cfi? ( thinlto ) afdo_verify? ( !afdo_use ) orderfile_generate? ( !orderfile_use ) ?? ( goma remoteexec ) ^^ ( ozone_platform_default_gbm ozone_platform_default_cast ozone_platform_default_headless ozone_platform_default_egltest ozone_platform_default_caca )
-RESTRICT=network-sandbox mirror
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	binutils-funcs	6207477a739f6f25d13da27b9cc00160	chromium-source	30aed414ff3b200d9b82dfcabdaf9195	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=99fba3e75d96f965b321ed52dfbb40e6
diff --git a/metadata/md5-cache/chromeos-base/chromeos-chrome-100.0.4880.0_rc-r2 b/metadata/md5-cache/chromeos-base/chromeos-chrome-100.0.4880.0_rc-r2
deleted file mode 100644
index cd68e2d..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-chrome-100.0.4880.0_rc-r2
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure install postinst preinst prepare setup unpack
-DEPEND=app-arch/bzip2 app-crypt/mit-krb5 app-misc/edid-decode authpolicy? ( chromeos-base/authpolicy ) ~chromeos-base/chrome-icu-100.0.4880.0_rc chromeos-base/gestures chromeos-base/libevdev:= fonts? ( chromeos-base/chromeos-fonts ) chrome_internal? ( chromeos-base/quickoffice ) dev-libs/nspr >=dev-libs/nss-3.12.2 libinput? ( dev-libs/libinput:= ) >=media-libs/alsa-lib-1.0.19 media-libs/fontconfig media-libs/libsync x11-libs/libdrm ozone_platform_gbm? ( media-libs/minigbm ) v4lplugin? ( media-libs/libv4lplugins ) >=media-sound/adhd-0.0.1-r310 net-print/cups opengl? ( virtual/opengl ) opengles? ( virtual/opengles ) sys-apps/dbus sys-apps/pciutils virtual/udev sys-libs/libcap chrome_remoting? ( sys-libs/pam ) vaapi? ( x11-libs/libva ) xkbcommon? ( x11-libs/libxkbcommon x11-misc/xkeyboard-config ) accessibility? ( app-accessibility/brltty app-accessibility/espeak-ng app-accessibility/googletts ) libcxx? ( sys-libs/libcxxabi sys-libs/libcxx ) oobe_config? ( chromeos-base/oobe_config ) iioservice? ( chromeos-base/iioservice ) hibernate? ( chromeos-base/hiberman ) chromeos-base/protofiles >=dev-util/gperf-3.0.3 >=dev-util/pkgconfig-0.23 arm? ( x11-libs/libdrm ) sys-apps/baselayout
-DESCRIPTION=Open-source version of Google Chrome web browser
-EAPI=7
-HOMEPAGE=http://www.chromium.org/
-IUSE=+afdo_use afdo_verify +accessibility amd_oemcrypto app_shell asan +authpolicy +build_tests cdm_factory_daemon +chrome_debug +cfi cfm chrome_debug_tests chrome_dcheck chrome_internal chrome_media +chrome_remoting clang_tidy component_build cros-debug debug_fission +dwarf5 +fonts hibernate hw_details goma goma_thinlto +highdpi iioservice intel_oemcrypto internal_gles_conform +libcxx libinput mojo msan +nacl neon +oobe_config opengl opengles orderfile_generate +orderfile_use orderfile_verify remoteexec +runhooks strict_toolchain_checks subpixel_rendering +thinlto touchview tpm_dynamic ubsan v4l2_codec v4lplugin vaapi verbose vtable_verify xkbcommon ozone_platform_gbm ozone_platform_cast ozone_platform_headless ozone_platform_egltest ozone_platform_caca ozone_platform_default_gbm ozone_platform_default_cast ozone_platform_default_headless ozone_platform_default_egltest ozone_platform_default_caca +autotest +buildcheck autotest opengles chrome_internal asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=BSD-Google chrome_internal? ( Google-TOS )
-PROPERTIES=live
-RDEPEND=app-arch/bzip2 app-crypt/mit-krb5 app-misc/edid-decode authpolicy? ( chromeos-base/authpolicy ) ~chromeos-base/chrome-icu-100.0.4880.0_rc chromeos-base/gestures chromeos-base/libevdev:= fonts? ( chromeos-base/chromeos-fonts ) chrome_internal? ( chromeos-base/quickoffice ) dev-libs/nspr >=dev-libs/nss-3.12.2 libinput? ( dev-libs/libinput:= ) >=media-libs/alsa-lib-1.0.19 media-libs/fontconfig media-libs/libsync x11-libs/libdrm ozone_platform_gbm? ( media-libs/minigbm ) v4lplugin? ( media-libs/libv4lplugins ) >=media-sound/adhd-0.0.1-r310 net-print/cups opengl? ( virtual/opengl ) opengles? ( virtual/opengles ) sys-apps/dbus sys-apps/pciutils virtual/udev sys-libs/libcap chrome_remoting? ( sys-libs/pam ) vaapi? ( x11-libs/libva ) xkbcommon? ( x11-libs/libxkbcommon x11-misc/xkeyboard-config ) accessibility? ( app-accessibility/brltty app-accessibility/espeak-ng app-accessibility/googletts ) libcxx? ( sys-libs/libcxxabi sys-libs/libcxx ) oobe_config? ( chromeos-base/oobe_config ) iioservice? ( chromeos-base/iioservice ) hibernate? ( chromeos-base/hiberman ) autotest? ( chromeos-base/autotest ) sys-apps/baselayout
-REQUIRED_USE=cfi? ( thinlto ) afdo_verify? ( !afdo_use ) orderfile_generate? ( !orderfile_use ) ?? ( goma remoteexec ) ^^ ( ozone_platform_default_gbm ozone_platform_default_cast ozone_platform_default_headless ozone_platform_default_egltest ozone_platform_default_caca )
-RESTRICT=network-sandbox mirror
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	binutils-funcs	6207477a739f6f25d13da27b9cc00160	chromium-source	30aed414ff3b200d9b82dfcabdaf9195	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=c782527115bdf3f6502b43924ebe4360
diff --git a/metadata/md5-cache/chromeos-base/chromeos-chrome-100.0.4888.0_rc-r2 b/metadata/md5-cache/chromeos-base/chromeos-chrome-100.0.4888.0_rc-r2
deleted file mode 100644
index c7cc017..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-chrome-100.0.4888.0_rc-r2
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure install postinst preinst prepare setup unpack
-DEPEND=app-arch/bzip2 app-crypt/mit-krb5 app-misc/edid-decode authpolicy? ( chromeos-base/authpolicy ) ~chromeos-base/chrome-icu-100.0.4888.0_rc chromeos-base/gestures chromeos-base/libevdev:= fonts? ( chromeos-base/chromeos-fonts ) chrome_internal? ( chromeos-base/quickoffice ) dev-libs/nspr >=dev-libs/nss-3.12.2 libinput? ( dev-libs/libinput:= ) >=media-libs/alsa-lib-1.0.19 media-libs/fontconfig media-libs/libsync x11-libs/libdrm ozone_platform_gbm? ( media-libs/minigbm ) v4lplugin? ( media-libs/libv4lplugins ) >=media-sound/adhd-0.0.1-r310 net-print/cups opengl? ( virtual/opengl ) opengles? ( virtual/opengles ) sys-apps/dbus sys-apps/pciutils virtual/udev sys-libs/libcap chrome_remoting? ( sys-libs/pam ) vaapi? ( x11-libs/libva ) xkbcommon? ( x11-libs/libxkbcommon x11-misc/xkeyboard-config ) accessibility? ( app-accessibility/brltty app-accessibility/espeak-ng app-accessibility/googletts ) libcxx? ( sys-libs/libcxxabi sys-libs/libcxx ) oobe_config? ( chromeos-base/oobe_config ) iioservice? ( chromeos-base/iioservice ) hibernate? ( chromeos-base/hiberman ) chromeos-base/protofiles >=dev-util/gperf-3.0.3 >=dev-util/pkgconfig-0.23 arm? ( x11-libs/libdrm ) sys-apps/baselayout
-DESCRIPTION=Open-source version of Google Chrome web browser
-EAPI=7
-HOMEPAGE=http://www.chromium.org/
-IUSE=+afdo_use afdo_verify +accessibility app_shell arc_hw_oemcrypto asan +authpolicy +build_tests cdm_factory_daemon +chrome_debug +cfi cfm chrome_debug_tests chrome_dcheck chrome_internal chrome_media +chrome_remoting clang_tidy component_build cros-debug debug_fission +dwarf5 +fonts hibernate hw_details goma goma_thinlto +highdpi iioservice intel_oemcrypto internal_gles_conform +libcxx libinput mojo msan +nacl neon +oobe_config opengl opengles orderfile_generate +orderfile_use orderfile_verify remoteexec +runhooks strict_toolchain_checks subpixel_rendering +thinlto touchview tpm_dynamic ubsan v4l2_codec v4lplugin vaapi verbose vtable_verify xkbcommon ozone_platform_gbm ozone_platform_cast ozone_platform_headless ozone_platform_egltest ozone_platform_caca ozone_platform_default_gbm ozone_platform_default_cast ozone_platform_default_headless ozone_platform_default_egltest ozone_platform_default_caca +autotest +buildcheck autotest opengles chrome_internal asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=BSD-Google chrome_internal? ( Google-TOS )
-PROPERTIES=live
-RDEPEND=app-arch/bzip2 app-crypt/mit-krb5 app-misc/edid-decode authpolicy? ( chromeos-base/authpolicy ) ~chromeos-base/chrome-icu-100.0.4888.0_rc chromeos-base/gestures chromeos-base/libevdev:= fonts? ( chromeos-base/chromeos-fonts ) chrome_internal? ( chromeos-base/quickoffice ) dev-libs/nspr >=dev-libs/nss-3.12.2 libinput? ( dev-libs/libinput:= ) >=media-libs/alsa-lib-1.0.19 media-libs/fontconfig media-libs/libsync x11-libs/libdrm ozone_platform_gbm? ( media-libs/minigbm ) v4lplugin? ( media-libs/libv4lplugins ) >=media-sound/adhd-0.0.1-r310 net-print/cups opengl? ( virtual/opengl ) opengles? ( virtual/opengles ) sys-apps/dbus sys-apps/pciutils virtual/udev sys-libs/libcap chrome_remoting? ( sys-libs/pam ) vaapi? ( x11-libs/libva ) xkbcommon? ( x11-libs/libxkbcommon x11-misc/xkeyboard-config ) accessibility? ( app-accessibility/brltty app-accessibility/espeak-ng app-accessibility/googletts ) libcxx? ( sys-libs/libcxxabi sys-libs/libcxx ) oobe_config? ( chromeos-base/oobe_config ) iioservice? ( chromeos-base/iioservice ) hibernate? ( chromeos-base/hiberman ) autotest? ( chromeos-base/autotest ) sys-apps/baselayout
-REQUIRED_USE=cfi? ( thinlto ) afdo_verify? ( !afdo_use ) orderfile_generate? ( !orderfile_use ) ?? ( goma remoteexec ) ^^ ( ozone_platform_default_gbm ozone_platform_default_cast ozone_platform_default_headless ozone_platform_default_egltest ozone_platform_default_caca )
-RESTRICT=network-sandbox mirror
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	binutils-funcs	6207477a739f6f25d13da27b9cc00160	chromium-source	30aed414ff3b200d9b82dfcabdaf9195	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=c3d3d749686e6f07127619bd958b1a4f
diff --git a/metadata/md5-cache/chromeos-base/chromeos-chrome-101.0.4907.0_rc-r2 b/metadata/md5-cache/chromeos-base/chromeos-chrome-101.0.4907.0_rc-r2
deleted file mode 100644
index 7c1952fc..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-chrome-101.0.4907.0_rc-r2
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure install postinst preinst prepare setup unpack
-DEPEND=app-arch/bzip2 app-crypt/mit-krb5 app-misc/edid-decode authpolicy? ( chromeos-base/authpolicy ) ~chromeos-base/chrome-icu-101.0.4907.0_rc chromeos-base/gestures chromeos-base/libevdev:= fonts? ( chromeos-base/chromeos-fonts ) chrome_internal? ( chromeos-base/quickoffice ) dev-libs/nspr >=dev-libs/nss-3.12.2 libinput? ( dev-libs/libinput:= ) >=media-libs/alsa-lib-1.0.19 media-libs/fontconfig media-libs/libsync x11-libs/libdrm ozone_platform_gbm? ( media-libs/minigbm ) v4lplugin? ( media-libs/libv4lplugins ) >=media-sound/adhd-0.0.1-r310 net-print/cups opengl? ( virtual/opengl ) opengles? ( virtual/opengles ) sys-apps/dbus sys-apps/pciutils virtual/udev sys-libs/libcap chrome_remoting? ( sys-libs/pam ) vaapi? ( x11-libs/libva ) xkbcommon? ( x11-libs/libxkbcommon x11-misc/xkeyboard-config ) accessibility? ( app-accessibility/brltty app-accessibility/espeak-ng app-accessibility/googletts ) libcxx? ( sys-libs/libcxxabi sys-libs/libcxx ) oobe_config? ( chromeos-base/oobe_config ) iioservice? ( chromeos-base/iioservice ) hibernate? ( chromeos-base/hiberman ) chromeos-base/protofiles >=dev-util/gperf-3.0.3 >=dev-util/pkgconfig-0.23 arm? ( x11-libs/libdrm ) sys-apps/baselayout
-DESCRIPTION=Open-source version of Google Chrome web browser
-EAPI=7
-HOMEPAGE=http://www.chromium.org/
-IUSE=+afdo_use afdo_verify +accessibility app_shell arc_hw_oemcrypto asan +authpolicy +build_tests cdm_factory_daemon +chrome_debug +cfi cfm chrome_debug_tests chrome_dcheck chrome_internal chrome_media +chrome_remoting clang_tidy component_build cros-debug debug_fission +dwarf5 +fonts hibernate hw_details goma goma_thinlto +highdpi iioservice intel_oemcrypto internal_gles_conform +libcxx libinput mojo msan +nacl neon +oobe_config opengl opengles orderfile_generate +orderfile_use orderfile_verify remoteexec +runhooks strict_toolchain_checks subpixel_rendering +thinlto touchview tpm_dynamic ubsan v4l2_codec v4lplugin vaapi verbose vtable_verify xkbcommon ozone_platform_gbm ozone_platform_cast ozone_platform_headless ozone_platform_egltest ozone_platform_caca ozone_platform_default_gbm ozone_platform_default_cast ozone_platform_default_headless ozone_platform_default_egltest ozone_platform_default_caca +autotest +buildcheck autotest opengles chrome_internal asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=BSD-Google chrome_internal? ( Google-TOS )
-PROPERTIES=live
-RDEPEND=app-arch/bzip2 app-crypt/mit-krb5 app-misc/edid-decode authpolicy? ( chromeos-base/authpolicy ) ~chromeos-base/chrome-icu-101.0.4907.0_rc chromeos-base/gestures chromeos-base/libevdev:= fonts? ( chromeos-base/chromeos-fonts ) chrome_internal? ( chromeos-base/quickoffice ) dev-libs/nspr >=dev-libs/nss-3.12.2 libinput? ( dev-libs/libinput:= ) >=media-libs/alsa-lib-1.0.19 media-libs/fontconfig media-libs/libsync x11-libs/libdrm ozone_platform_gbm? ( media-libs/minigbm ) v4lplugin? ( media-libs/libv4lplugins ) >=media-sound/adhd-0.0.1-r310 net-print/cups opengl? ( virtual/opengl ) opengles? ( virtual/opengles ) sys-apps/dbus sys-apps/pciutils virtual/udev sys-libs/libcap chrome_remoting? ( sys-libs/pam ) vaapi? ( x11-libs/libva ) xkbcommon? ( x11-libs/libxkbcommon x11-misc/xkeyboard-config ) accessibility? ( app-accessibility/brltty app-accessibility/espeak-ng app-accessibility/googletts ) libcxx? ( sys-libs/libcxxabi sys-libs/libcxx ) oobe_config? ( chromeos-base/oobe_config ) iioservice? ( chromeos-base/iioservice ) hibernate? ( chromeos-base/hiberman ) autotest? ( chromeos-base/autotest ) sys-apps/baselayout
-REQUIRED_USE=cfi? ( thinlto ) afdo_verify? ( !afdo_use ) orderfile_generate? ( !orderfile_use ) ?? ( goma remoteexec ) ^^ ( ozone_platform_default_gbm ozone_platform_default_cast ozone_platform_default_headless ozone_platform_default_egltest ozone_platform_default_caca )
-RESTRICT=network-sandbox mirror
-SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	binutils-funcs	6207477a739f6f25d13da27b9cc00160	chromium-source	30aed414ff3b200d9b82dfcabdaf9195	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=83effac35206e89011e7658bc447e75f
diff --git a/metadata/md5-cache/chromeos-base/chromeos-chrome-106.0.5239.0_rc-r1 b/metadata/md5-cache/chromeos-base/chromeos-chrome-106.0.5239.0_rc-r1
new file mode 100644
index 0000000..83df9c4
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-chrome-106.0.5239.0_rc-r1
@@ -0,0 +1,16 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure install postinst preinst prepare setup unpack
+DEPEND=app-arch/bzip2 app-arch/sharutils app-crypt/mit-krb5 app-misc/edid-decode authpolicy? ( chromeos-base/authpolicy ) ~chromeos-base/chrome-icu-106.0.5239.0_rc chromeos-base/gestures chromeos-base/libevdev:= fonts? ( chromeos-base/chromeos-fonts ) chrome_internal? ( chromeos-base/quickoffice ) dev-libs/nspr >=dev-libs/nss-3.12.2 libinput? ( dev-libs/libinput:= ) >=media-libs/alsa-lib-1.0.19 media-libs/fontconfig media-libs/libsync x11-libs/libdrm ozone_platform_gbm? ( media-libs/minigbm ) v4lplugin? ( media-libs/libv4lplugins ) >=media-sound/adhd-0.0.1-r310 net-print/cups opengl? ( virtual/opengl ) opengles? ( virtual/opengles ) sys-apps/dbus sys-apps/pciutils virtual/udev sys-libs/libcap chrome_remoting? ( sys-libs/pam ) vaapi? ( x11-libs/libva ) xkbcommon? ( x11-libs/libxkbcommon x11-misc/xkeyboard-config ) accessibility? ( app-accessibility/brltty app-accessibility/espeak-ng app-accessibility/googletts ) libcxx? ( sys-libs/libcxx ) oobe_config? ( chromeos-base/oobe_config ) iioservice? ( chromeos-base/iioservice ) hibernate? ( chromeos-base/hiberman ) chromeos-base/protofiles >=dev-util/gperf-3.0.3 arm? ( x11-libs/libdrm ) sys-apps/baselayout
+DESCRIPTION=Open-source version of Google Chrome web browser
+EAPI=7
+HOMEPAGE=http://www.chromium.org/
+IUSE=+afdo_use afdo_verify +accessibility app_shell arc_hw_oemcrypto asan +authpolicy +build_tests cdm_factory_daemon +chrome_debug +cfi cfm chrome_debug_tests chrome_dcheck chrome_internal chrome_media +chrome_remoting clang_tidy component_build cros-debug debug_fission +dwarf5 +fonts hibernate hw_details goma_thinlto +highdpi iioservice intel_oemcrypto internal_gles_conform +libcxx libinput mojo msan +nacl neon +oobe_config opengl opengles orderfile_generate +orderfile_use orderfile_verify protected_av1 +runhooks strict_toolchain_checks subpixel_rendering +thinlto touchview tpm_dynamic ubsan v4l2_codec v4lplugin vaapi verbose vtable_verify xkbcommon ozone_platform_gbm ozone_platform_cast ozone_platform_headless ozone_platform_egltest ozone_platform_caca ozone_platform_default_gbm ozone_platform_default_cast ozone_platform_default_headless ozone_platform_default_egltest ozone_platform_default_caca +autotest +buildcheck autotest opengles chrome_internal asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=BSD-Google chrome_internal? ( Google-TOS )
+PROPERTIES=live
+RDEPEND=app-arch/bzip2 app-arch/sharutils app-crypt/mit-krb5 app-misc/edid-decode authpolicy? ( chromeos-base/authpolicy ) ~chromeos-base/chrome-icu-106.0.5239.0_rc chromeos-base/gestures chromeos-base/libevdev:= fonts? ( chromeos-base/chromeos-fonts ) chrome_internal? ( chromeos-base/quickoffice ) dev-libs/nspr >=dev-libs/nss-3.12.2 libinput? ( dev-libs/libinput:= ) >=media-libs/alsa-lib-1.0.19 media-libs/fontconfig media-libs/libsync x11-libs/libdrm ozone_platform_gbm? ( media-libs/minigbm ) v4lplugin? ( media-libs/libv4lplugins ) >=media-sound/adhd-0.0.1-r310 net-print/cups opengl? ( virtual/opengl ) opengles? ( virtual/opengles ) sys-apps/dbus sys-apps/pciutils virtual/udev sys-libs/libcap chrome_remoting? ( sys-libs/pam ) vaapi? ( x11-libs/libva ) xkbcommon? ( x11-libs/libxkbcommon x11-misc/xkeyboard-config ) accessibility? ( app-accessibility/brltty app-accessibility/espeak-ng app-accessibility/googletts ) libcxx? ( sys-libs/libcxx ) oobe_config? ( chromeos-base/oobe_config ) iioservice? ( chromeos-base/iioservice ) hibernate? ( chromeos-base/hiberman ) autotest? ( chromeos-base/autotest ) sys-apps/baselayout
+REQUIRED_USE=cfi? ( thinlto ) afdo_verify? ( !afdo_use ) orderfile_generate? ( !orderfile_use ) ^^ ( ozone_platform_default_gbm ozone_platform_default_cast ozone_platform_default_headless ozone_platform_default_egltest ozone_platform_default_caca )
+RESTRICT=network-sandbox mirror
+SLOT=0
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	binutils-funcs	6207477a739f6f25d13da27b9cc00160	chromium-source	b257d954237d37ce41ae6245c0c5a5c9	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=99e4bdaef2791743fabab60245694d38
diff --git a/metadata/md5-cache/chromeos-base/chromeos-chrome-9999 b/metadata/md5-cache/chromeos-base/chromeos-chrome-9999
index e8c3aa3..5ba61c5 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-chrome-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-chrome-9999
@@ -1,16 +1,16 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure install postinst preinst prepare setup unpack
-DEPEND=app-arch/bzip2 app-crypt/mit-krb5 app-misc/edid-decode authpolicy? ( chromeos-base/authpolicy ) ~chromeos-base/chrome-icu-9999 chromeos-base/gestures chromeos-base/libevdev:= fonts? ( chromeos-base/chromeos-fonts ) chrome_internal? ( chromeos-base/quickoffice ) dev-libs/nspr >=dev-libs/nss-3.12.2 libinput? ( dev-libs/libinput:= ) >=media-libs/alsa-lib-1.0.19 media-libs/fontconfig media-libs/libsync x11-libs/libdrm ozone_platform_gbm? ( media-libs/minigbm ) v4lplugin? ( media-libs/libv4lplugins ) >=media-sound/adhd-0.0.1-r310 net-print/cups opengl? ( virtual/opengl ) opengles? ( virtual/opengles ) sys-apps/dbus sys-apps/pciutils virtual/udev sys-libs/libcap chrome_remoting? ( sys-libs/pam ) vaapi? ( x11-libs/libva ) xkbcommon? ( x11-libs/libxkbcommon x11-misc/xkeyboard-config ) accessibility? ( app-accessibility/brltty app-accessibility/espeak-ng app-accessibility/googletts ) libcxx? ( sys-libs/libcxxabi sys-libs/libcxx ) oobe_config? ( chromeos-base/oobe_config ) iioservice? ( chromeos-base/iioservice ) hibernate? ( chromeos-base/hiberman ) chromeos-base/protofiles >=dev-util/gperf-3.0.3 >=dev-util/pkgconfig-0.23 arm? ( x11-libs/libdrm ) sys-apps/baselayout
+DEPEND=app-arch/bzip2 app-arch/sharutils app-crypt/mit-krb5 app-misc/edid-decode authpolicy? ( chromeos-base/authpolicy ) ~chromeos-base/chrome-icu-9999 chromeos-base/gestures chromeos-base/libevdev:= fonts? ( chromeos-base/chromeos-fonts ) chrome_internal? ( chromeos-base/quickoffice ) dev-libs/nspr >=dev-libs/nss-3.12.2 libinput? ( dev-libs/libinput:= ) >=media-libs/alsa-lib-1.0.19 media-libs/fontconfig media-libs/libsync x11-libs/libdrm ozone_platform_gbm? ( media-libs/minigbm ) v4lplugin? ( media-libs/libv4lplugins ) >=media-sound/adhd-0.0.1-r310 net-print/cups opengl? ( virtual/opengl ) opengles? ( virtual/opengles ) sys-apps/dbus sys-apps/pciutils virtual/udev sys-libs/libcap chrome_remoting? ( sys-libs/pam ) vaapi? ( x11-libs/libva ) xkbcommon? ( x11-libs/libxkbcommon x11-misc/xkeyboard-config ) accessibility? ( app-accessibility/brltty app-accessibility/espeak-ng app-accessibility/googletts ) libcxx? ( sys-libs/libcxx ) oobe_config? ( chromeos-base/oobe_config ) iioservice? ( chromeos-base/iioservice ) hibernate? ( chromeos-base/hiberman ) chromeos-base/protofiles >=dev-util/gperf-3.0.3 arm? ( x11-libs/libdrm ) sys-apps/baselayout
 DESCRIPTION=Open-source version of Google Chrome web browser
 EAPI=7
 HOMEPAGE=http://www.chromium.org/
-IUSE=+afdo_use afdo_verify +accessibility app_shell arc_hw_oemcrypto asan +authpolicy +build_tests cdm_factory_daemon +chrome_debug +cfi cfm chrome_debug_tests chrome_dcheck chrome_internal chrome_media +chrome_remoting clang_tidy component_build cros-debug debug_fission +dwarf5 +fonts hibernate hw_details goma goma_thinlto +highdpi iioservice intel_oemcrypto internal_gles_conform +libcxx libinput mojo msan +nacl neon +oobe_config opengl opengles orderfile_generate +orderfile_use orderfile_verify remoteexec +runhooks strict_toolchain_checks subpixel_rendering +thinlto touchview tpm_dynamic ubsan v4l2_codec v4lplugin vaapi verbose vtable_verify xkbcommon ozone_platform_gbm ozone_platform_cast ozone_platform_headless ozone_platform_egltest ozone_platform_caca ozone_platform_default_gbm ozone_platform_default_cast ozone_platform_default_headless ozone_platform_default_egltest ozone_platform_default_caca +autotest +buildcheck autotest opengles chrome_internal asan coverage fuzzer msan tsan ubsan
+IUSE=+afdo_use afdo_verify +accessibility app_shell arc_hw_oemcrypto asan +authpolicy +build_tests cdm_factory_daemon +chrome_debug +cfi cfm chrome_debug_tests chrome_dcheck chrome_internal chrome_media +chrome_remoting clang_tidy component_build cros-debug debug_fission +dwarf5 +fonts hibernate hw_details goma_thinlto +highdpi iioservice intel_oemcrypto internal_gles_conform +libcxx libinput mojo msan +nacl neon +oobe_config opengl opengles orderfile_generate +orderfile_use orderfile_verify protected_av1 +runhooks strict_toolchain_checks subpixel_rendering +thinlto touchview tpm_dynamic ubsan v4l2_codec v4lplugin vaapi verbose vtable_verify xkbcommon ozone_platform_gbm ozone_platform_cast ozone_platform_headless ozone_platform_egltest ozone_platform_caca ozone_platform_default_gbm ozone_platform_default_cast ozone_platform_default_headless ozone_platform_default_egltest ozone_platform_default_caca +autotest +buildcheck autotest opengles chrome_internal asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=BSD-Google chrome_internal? ( Google-TOS )
 PROPERTIES=live
-RDEPEND=app-arch/bzip2 app-crypt/mit-krb5 app-misc/edid-decode authpolicy? ( chromeos-base/authpolicy ) ~chromeos-base/chrome-icu-9999 chromeos-base/gestures chromeos-base/libevdev:= fonts? ( chromeos-base/chromeos-fonts ) chrome_internal? ( chromeos-base/quickoffice ) dev-libs/nspr >=dev-libs/nss-3.12.2 libinput? ( dev-libs/libinput:= ) >=media-libs/alsa-lib-1.0.19 media-libs/fontconfig media-libs/libsync x11-libs/libdrm ozone_platform_gbm? ( media-libs/minigbm ) v4lplugin? ( media-libs/libv4lplugins ) >=media-sound/adhd-0.0.1-r310 net-print/cups opengl? ( virtual/opengl ) opengles? ( virtual/opengles ) sys-apps/dbus sys-apps/pciutils virtual/udev sys-libs/libcap chrome_remoting? ( sys-libs/pam ) vaapi? ( x11-libs/libva ) xkbcommon? ( x11-libs/libxkbcommon x11-misc/xkeyboard-config ) accessibility? ( app-accessibility/brltty app-accessibility/espeak-ng app-accessibility/googletts ) libcxx? ( sys-libs/libcxxabi sys-libs/libcxx ) oobe_config? ( chromeos-base/oobe_config ) iioservice? ( chromeos-base/iioservice ) hibernate? ( chromeos-base/hiberman ) autotest? ( chromeos-base/autotest ) sys-apps/baselayout
-REQUIRED_USE=cfi? ( thinlto ) afdo_verify? ( !afdo_use ) orderfile_generate? ( !orderfile_use ) ?? ( goma remoteexec ) ^^ ( ozone_platform_default_gbm ozone_platform_default_cast ozone_platform_default_headless ozone_platform_default_egltest ozone_platform_default_caca )
+RDEPEND=app-arch/bzip2 app-arch/sharutils app-crypt/mit-krb5 app-misc/edid-decode authpolicy? ( chromeos-base/authpolicy ) ~chromeos-base/chrome-icu-9999 chromeos-base/gestures chromeos-base/libevdev:= fonts? ( chromeos-base/chromeos-fonts ) chrome_internal? ( chromeos-base/quickoffice ) dev-libs/nspr >=dev-libs/nss-3.12.2 libinput? ( dev-libs/libinput:= ) >=media-libs/alsa-lib-1.0.19 media-libs/fontconfig media-libs/libsync x11-libs/libdrm ozone_platform_gbm? ( media-libs/minigbm ) v4lplugin? ( media-libs/libv4lplugins ) >=media-sound/adhd-0.0.1-r310 net-print/cups opengl? ( virtual/opengl ) opengles? ( virtual/opengles ) sys-apps/dbus sys-apps/pciutils virtual/udev sys-libs/libcap chrome_remoting? ( sys-libs/pam ) vaapi? ( x11-libs/libva ) xkbcommon? ( x11-libs/libxkbcommon x11-misc/xkeyboard-config ) accessibility? ( app-accessibility/brltty app-accessibility/espeak-ng app-accessibility/googletts ) libcxx? ( sys-libs/libcxx ) oobe_config? ( chromeos-base/oobe_config ) iioservice? ( chromeos-base/iioservice ) hibernate? ( chromeos-base/hiberman ) autotest? ( chromeos-base/autotest ) sys-apps/baselayout
+REQUIRED_USE=cfi? ( thinlto ) afdo_verify? ( !afdo_use ) orderfile_generate? ( !orderfile_use ) ^^ ( ozone_platform_default_gbm ozone_platform_default_cast ozone_platform_default_headless ozone_platform_default_egltest ozone_platform_default_caca )
 RESTRICT=network-sandbox mirror
 SLOT=0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	binutils-funcs	6207477a739f6f25d13da27b9cc00160	chromium-source	30aed414ff3b200d9b82dfcabdaf9195	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=50c4c73ce5e17ae36a25f329edf3df8f
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	autotest-deponly	9b1e5d19c437abea0e7c0fa90c192abd	binutils-funcs	6207477a739f6f25d13da27b9cc00160	chromium-source	b257d954237d37ce41ae6245c0c5a5c9	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=70f67a8c63f7b5b8a902f1777721332b
diff --git a/metadata/md5-cache/chromeos-base/chromeos-common-script-0.0.1-r339 b/metadata/md5-cache/chromeos-base/chromeos-common-script-0.0.1-r339
deleted file mode 100644
index ac4d606..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-common-script-0.0.1-r339
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS storage info tools
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-common-script/
-IUSE=direncryption fsverity kernel-4_4 prjquota cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_6e637013ca230c728661cf58f7cf8271ce339711_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_6e637013ca230c728661cf58f7cf8271ce339711_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-REQUIRED_USE=prjquota? ( !kernel-4_4 )
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=9431dcf7f92a03a801e461fb7d528a46
diff --git a/metadata/md5-cache/chromeos-base/chromeos-common-script-0.0.1-r400 b/metadata/md5-cache/chromeos-base/chromeos-common-script-0.0.1-r400
new file mode 100644
index 0000000..16765e2
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-common-script-0.0.1-r400
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS storage info tools
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-common-script/
+IUSE=direncryption fsverity kernel-4_4 prjquota cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_777454ed89f9fb3a7f25a3f844449983a1f6c3fa_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_777454ed89f9fb3a7f25a3f844449983a1f6c3fa_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=prjquota? ( !kernel-4_4 )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=1f17da46e5bb272719b4b864e69f7492
diff --git a/metadata/md5-cache/chromeos-base/chromeos-common-script-9999 b/metadata/md5-cache/chromeos-base/chromeos-common-script-9999
index f71a074..228bd96 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-common-script-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-common-script-9999
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS storage info tools
 EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-common-script/
-IUSE=direncryption fsverity kernel-4_4 prjquota cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-common-script/
+IUSE=direncryption fsverity kernel-4_4 prjquota cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 REQUIRED_USE=prjquota? ( !kernel-4_4 )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=36c676883d4ad677d2ce1aa2ea0f1801
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=8796bd723ded4ff87b5572399ea3fb3d
diff --git a/metadata/md5-cache/chromeos-base/chromeos-config-0.0.2-r160 b/metadata/md5-cache/chromeos-base/chromeos-config-0.0.2-r160
deleted file mode 100644
index 9c6809c..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-config-0.0.2-r160
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=chromeos-base/chromeos-config-host:= dev-vcs/git
-DEFINED_PHASES=compile info install setup test unpack
-DEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= )
-DESCRIPTION=Chromium OS-specific configuration
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/config/
-IUSE=zephyr_poc has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private cros_host cros_workon_tree_f66447c7ca0a56b9031eb22078e6469d7416349e
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/crosid has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= )
-SLOT=0/0.0.2-r160
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=8bada9b61571c166853a8980ca49f6ac
diff --git a/metadata/md5-cache/chromeos-base/chromeos-config-0.0.2-r193 b/metadata/md5-cache/chromeos-base/chromeos-config-0.0.2-r193
new file mode 100644
index 0000000..c788c0a
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-config-0.0.2-r193
@@ -0,0 +1,14 @@
+BDEPEND=chromeos-base/chromeos-config-host:= dev-vcs/git
+DEFINED_PHASES=compile info install setup test unpack
+DEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= )
+DESCRIPTION=Chromium OS-specific configuration
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/config/
+IUSE=zephyr_poc has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private cros_host cros_workon_tree_32074ceacef3ed31081924ce92b3791ac60dd74d
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/crosid has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= )
+SLOT=0/0.0.2-r193
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=52aca820b860ae6ed28e90ce887f1137
diff --git a/metadata/md5-cache/chromeos-base/chromeos-config-9999 b/metadata/md5-cache/chromeos-base/chromeos-config-9999
index c04eff5..4e7b52a 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-config-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-config-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/crosid has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=aa587af8909a8d1c012eadbeda50f4e5
diff --git a/metadata/md5-cache/chromeos-base/chromeos-config-host-0.0.2-r674 b/metadata/md5-cache/chromeos-base/chromeos-config-host-0.0.2-r674
deleted file mode 100644
index 9267c08..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-config-host-0.0.2-r674
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=>=sys-fs/squashfs-tools-4.3 dev-python/jinja[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] !<chromeos-base/chromeos-config-tools-0.0.4 dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
-DESCRIPTION=Chrome OS configuration host tools
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-config
-IUSE=cros_host cros_workon_tree_bea140d13f7cf1092e4c89a45011c04c28327972 python_targets_python3_6 python_targets_python3_7
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=>=sys-fs/squashfs-tools-4.3 dev-python/jinja[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] !<chromeos-base/chromeos-config-tools-0.0.4 python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 ) || ( python_targets_python3_6 python_targets_python3_7 )
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=c7641068b5a568d2058ee81ab3eb1c3a
diff --git a/metadata/md5-cache/chromeos-base/chromeos-config-host-0.0.2-r723 b/metadata/md5-cache/chromeos-base/chromeos-config-host-0.0.2-r723
new file mode 100644
index 0000000..159d7a8
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-config-host-0.0.2-r723
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=>=sys-fs/squashfs-tools-4.3 dev-python/jinja[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] !<chromeos-base/chromeos-config-tools-0.0.4 dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DESCRIPTION=Chrome OS configuration host tools
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-config
+IUSE=cros_host cros_workon_tree_527abd7a988a45572305a6c44b5324d0d9cf8be2 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=>=sys-fs/squashfs-tools-4.3 dev-python/jinja[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] !<chromeos-base/chromeos-config-tools-0.0.4 python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 ) || ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=90de36468e5a2343b0e03e1d98cc967a
diff --git a/metadata/md5-cache/chromeos-base/chromeos-config-host-9999 b/metadata/md5-cache/chromeos-base/chromeos-config-host-9999
index 618d7d7..3dc957c 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-config-host-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-config-host-9999
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=>=sys-fs/squashfs-tools-4.3 dev-python/jinja[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] !<chromeos-base/chromeos-config-tools-0.0.4 dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
+DEPEND=>=sys-fs/squashfs-tools-4.3 dev-python/jinja[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] !<chromeos-base/chromeos-config-tools-0.0.4 dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
 DESCRIPTION=Chrome OS configuration host tools
 EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-config
-IUSE=cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-config
+IUSE=cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=>=sys-fs/squashfs-tools-4.3 dev-python/jinja[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] !<chromeos-base/chromeos-config-tools-0.0.4 python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 ) || ( python_targets_python3_6 python_targets_python3_7 )
+RDEPEND=>=sys-fs/squashfs-tools-4.3 dev-python/jinja[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] !<chromeos-base/chromeos-config-tools-0.0.4 python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 ) || ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=4bf29a8a2f9eeb4256e385f8723142ae
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=d682e62ddc6aa3a700cef6610dc828c4
diff --git a/metadata/md5-cache/chromeos-base/chromeos-config-tools-0.0.4-r1969 b/metadata/md5-cache/chromeos-base/chromeos-config-tools-0.0.4-r1969
deleted file mode 100644
index 20a4bb2..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-config-tools-0.0.4-r1969
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS configuration tools
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-config
-IUSE=unibuild cros_host cros_workon_tree_4fdfdbe461ccedeaaf176391c0bbb0f74943be45_a625767bb59509159091f2ab0b71f8b9b4b2e353_bea140d13f7cf1092e4c89a45011c04c28327972_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_f48db0af4c70fe6ae23f1861b4b3989bc9fbf4ee_795a5e0d84f739bfbce451f361ae0ebaff103c7b cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_4fdfdbe461ccedeaaf176391c0bbb0f74943be45_a625767bb59509159091f2ab0b71f8b9b4b2e353_bea140d13f7cf1092e4c89a45011c04c28327972_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_f48db0af4c70fe6ae23f1861b4b3989bc9fbf4ee_795a5e0d84f739bfbce451f361ae0ebaff103c7b cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	gtest	46c8cf72585cc28ac06991a07d69648e	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=88369e79faa8028066bf6351068cce1b
diff --git a/metadata/md5-cache/chromeos-base/chromeos-config-tools-0.0.4-r2142 b/metadata/md5-cache/chromeos-base/chromeos-config-tools-0.0.4-r2142
new file mode 100644
index 0000000..e0c93bf
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-config-tools-0.0.4-r2142
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS configuration tools
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-config
+IUSE=unibuild cros_host cros_workon_tree_4fdfdbe461ccedeaaf176391c0bbb0f74943be45_60fa47aebd6ebfb702012849bd560717fceddcd4_527abd7a988a45572305a6c44b5324d0d9cf8be2_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_0bb1188da737e1a0399457e852e32dc8cfba2567_f87095b8c1a06b38a8fe4183b31cdf15821ac9a1 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_4fdfdbe461ccedeaaf176391c0bbb0f74943be45_60fa47aebd6ebfb702012849bd560717fceddcd4_527abd7a988a45572305a6c44b5324d0d9cf8be2_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_0bb1188da737e1a0399457e852e32dc8cfba2567_f87095b8c1a06b38a8fe4183b31cdf15821ac9a1 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	gtest	46c8cf72585cc28ac06991a07d69648e	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=c08314058262c6dd1ef67dab0958d79b
diff --git a/metadata/md5-cache/chromeos-base/chromeos-config-tools-9999 b/metadata/md5-cache/chromeos-base/chromeos-config-tools-9999
index 3055b68..c18ba50 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-config-tools-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-config-tools-9999
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS configuration tools
 EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-config
-IUSE=unibuild cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-config
+IUSE=unibuild cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	gtest	46c8cf72585cc28ac06991a07d69648e	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=869bfbac2e2619463e805be33f45bcef
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	gtest	46c8cf72585cc28ac06991a07d69648e	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=f954f933183ce696ac3ff2878cc83524
diff --git a/metadata/md5-cache/chromeos-base/chromeos-cr50-0.0.1 b/metadata/md5-cache/chromeos-base/chromeos-cr50-0.0.1
index 5236040..aa539c0 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-cr50-0.0.1
+++ b/metadata/md5-cache/chromeos-base/chromeos-cr50-0.0.1
@@ -1,9 +1,10 @@
 DEFINED_PHASES=install
 DESCRIPTION=Ebuild to support the Chrome OS CR50 device.
 EAPI=7
+IUSE=cros_host
 KEYWORDS=*
 LICENSE=BSD-Google
-RDEPEND=chromeos-base/chromeos-cr50-dev chromeos-base/chromeos-cr50-scripts
+RDEPEND=chromeos-base/chromeos-cr50-dev !cros_host? ( chromeos-base/chromeos-cr50-scripts )
 SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles//cr50.r0.0.11.w0.5.93.tbz2 gs://chromeos-localmirror/distfiles//cr50.r0.0.11.w0.6.93_FFFF_00000000_00000010.tbz2
-_md5_=9cca77c6dbe09e2a052c41268511237a
+SRC_URI=gs://chromeos-localmirror/distfiles//cr50.r0.0.11.w0.5.120.tbz2 gs://chromeos-localmirror/distfiles//cr50.r0.0.11.w0.6.120_FFFF_00000000_00000010.tbz2
+_md5_=cd114fd6c246d22e0cd2ffc15dc0a744
diff --git a/metadata/md5-cache/chromeos-base/chromeos-cr50-0.0.1-r1016 b/metadata/md5-cache/chromeos-base/chromeos-cr50-0.0.1-r1016
deleted file mode 100644
index 5236040..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-cr50-0.0.1-r1016
+++ /dev/null
@@ -1,9 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Ebuild to support the Chrome OS CR50 device.
-EAPI=7
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=chromeos-base/chromeos-cr50-dev chromeos-base/chromeos-cr50-scripts
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles//cr50.r0.0.11.w0.5.93.tbz2 gs://chromeos-localmirror/distfiles//cr50.r0.0.11.w0.6.93_FFFF_00000000_00000010.tbz2
-_md5_=9cca77c6dbe09e2a052c41268511237a
diff --git a/metadata/md5-cache/chromeos-base/chromeos-cr50-0.0.1-r1025 b/metadata/md5-cache/chromeos-base/chromeos-cr50-0.0.1-r1025
new file mode 100644
index 0000000..aa539c0
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-cr50-0.0.1-r1025
@@ -0,0 +1,10 @@
+DEFINED_PHASES=install
+DESCRIPTION=Ebuild to support the Chrome OS CR50 device.
+EAPI=7
+IUSE=cros_host
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=chromeos-base/chromeos-cr50-dev !cros_host? ( chromeos-base/chromeos-cr50-scripts )
+SLOT=0
+SRC_URI=gs://chromeos-localmirror/distfiles//cr50.r0.0.11.w0.5.120.tbz2 gs://chromeos-localmirror/distfiles//cr50.r0.0.11.w0.6.120_FFFF_00000000_00000010.tbz2
+_md5_=cd114fd6c246d22e0cd2ffc15dc0a744
diff --git a/metadata/md5-cache/chromeos-base/chromeos-cr50-dev-0.0.1-r392 b/metadata/md5-cache/chromeos-base/chromeos-cr50-dev-0.0.1-r392
deleted file mode 100644
index 0a96dca..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-cr50-dev-0.0.1-r392
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install setup unpack
-DEPEND=dev-libs/openssl:0= virtual/libusb:1= fuzzer? ( dev-libs/protobuf:= ) fuzzer? ( dev-libs/libprotobuf-mutator:= )
-DESCRIPTION=Google Security Chip firmware code
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/+/refs/heads/cr50_stab
-IUSE=asan cros_host fuzzer msan quiet reef ubsan verbose cros_host cros_workon_tree_bc3dd60d00cdabff1bbcb0ff8e017ac39a1ed6a1_f64a48b91fc35d5760bca966436e0effc9e5cacb_2aeca3cffd0e69db866b5623819ecd5bf8db1232
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=!<chromeos-base/chromeos-ec-0.0.2 !<chromeos-base/ec-utils-0.0.2 dev-libs/openssl:0= virtual/libusb:1= fuzzer? ( dev-libs/protobuf:= )
-RESTRICT=binchecks
-SLOT=0/0.0.1-r392
-SRC_URI=gs://chromeos-localmirror/distfiles/cr50.prod.ro.A.0.0.11 gs://chromeos-localmirror/distfiles/cr50.prod.ro.B.0.0.11
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=489ee65d8305d52a6c042abc97f7bfb7
diff --git a/metadata/md5-cache/chromeos-base/chromeos-cr50-dev-0.0.1-r435 b/metadata/md5-cache/chromeos-base/chromeos-cr50-dev-0.0.1-r435
new file mode 100644
index 0000000..e45a297
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-cr50-dev-0.0.1-r435
@@ -0,0 +1,16 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install setup unpack
+DEPEND=dev-libs/openssl:0= virtual/libusb:1= fuzzer? ( dev-libs/protobuf:= ) fuzzer? ( dev-libs/libprotobuf-mutator:= )
+DESCRIPTION=Google Security Chip firmware code
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/+/refs/heads/cr50_stab
+IUSE=asan cros_host fuzzer msan quiet reef ubsan verbose cros_host cros_workon_tree_3160ba00fb2574cb4a584b5da95c782200a542e1_f6cadf087425f2c77af8879a7f83e722ab613a36_cafc71cae4ef6b3e7e64648b257b3f0ca2300e1d asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=!<chromeos-base/chromeos-ec-0.0.2 !<chromeos-base/ec-utils-0.0.2 dev-libs/openssl:0= virtual/libusb:1= fuzzer? ( dev-libs/protobuf:= )
+RESTRICT=binchecks
+SLOT=0/0.0.1-r435
+SRC_URI=gs://chromeos-localmirror/distfiles/cr50.prod.ro.A.0.0.11 gs://chromeos-localmirror/distfiles/cr50.prod.ro.B.0.0.11
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1dec98d661844ec43a99b4f32465b307
diff --git a/metadata/md5-cache/chromeos-base/chromeos-cr50-dev-9999 b/metadata/md5-cache/chromeos-base/chromeos-cr50-dev-9999
index 9e426c1..61a2b77 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-cr50-dev-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-cr50-dev-9999
@@ -1,10 +1,10 @@
 BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install setup unpack
+DEFINED_PHASES=compile configure info install setup unpack
 DEPEND=dev-libs/openssl:0= virtual/libusb:1= fuzzer? ( dev-libs/protobuf:= ) fuzzer? ( dev-libs/libprotobuf-mutator:= )
 DESCRIPTION=Google Security Chip firmware code
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/+/refs/heads/cr50_stab
-IUSE=asan cros_host fuzzer msan quiet reef ubsan verbose cros_host cros_workon_tree_
+IUSE=asan cros_host fuzzer msan quiet reef ubsan verbose cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
@@ -12,5 +12,5 @@
 RESTRICT=binchecks
 SLOT=0/9999
 SRC_URI=gs://chromeos-localmirror/distfiles/cr50.prod.ro.A.0.0.11 gs://chromeos-localmirror/distfiles/cr50.prod.ro.B.0.0.11
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5addac00083961b8cea3a54754f0ccf6
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=648172e261a30b5be8ee599cf3afe307
diff --git a/metadata/md5-cache/chromeos-base/chromeos-cr50-scripts-0.0.1 b/metadata/md5-cache/chromeos-base/chromeos-cr50-scripts-0.0.1
index adf357d..ca25a8f 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-cr50-scripts-0.0.1
+++ b/metadata/md5-cache/chromeos-base/chromeos-cr50-scripts-0.0.1
@@ -2,10 +2,10 @@
 DEPEND=virtual/pkgconfig sys-apps/baselayout
 DESCRIPTION=Ebuild to support the Chrome OS Cr50 device.
 EAPI=5
-IUSE=generic_tpm2 cr50_disable_sleep_in_suspend
+IUSE=generic_tpm2 cr50_onboard ti50_onboard cr50_disable_sleep_in_suspend
 KEYWORDS=*
 LICENSE=BSD-Google
 RDEPEND=chromeos-base/ec-utils !<chromeos-base/chromeos-cr50-0.0.1-r38 sys-apps/baselayout
 SLOT=0
 _eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=e4fcef10f98c9cbdcffacf2d24f205fc
+_md5_=8d0b4fe7ef291e84096ce478ab47051a
diff --git a/metadata/md5-cache/chromeos-base/chromeos-cr50-scripts-0.0.1-r79 b/metadata/md5-cache/chromeos-base/chromeos-cr50-scripts-0.0.1-r79
deleted file mode 100644
index adf357d..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-cr50-scripts-0.0.1-r79
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=install preinst
-DEPEND=virtual/pkgconfig sys-apps/baselayout
-DESCRIPTION=Ebuild to support the Chrome OS Cr50 device.
-EAPI=5
-IUSE=generic_tpm2 cr50_disable_sleep_in_suspend
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=chromeos-base/ec-utils !<chromeos-base/chromeos-cr50-0.0.1-r38 sys-apps/baselayout
-SLOT=0
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=e4fcef10f98c9cbdcffacf2d24f205fc
diff --git a/metadata/md5-cache/chromeos-base/chromeos-cr50-scripts-0.0.1-r92 b/metadata/md5-cache/chromeos-base/chromeos-cr50-scripts-0.0.1-r92
new file mode 100644
index 0000000..ca25a8f
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-cr50-scripts-0.0.1-r92
@@ -0,0 +1,11 @@
+DEFINED_PHASES=install preinst
+DEPEND=virtual/pkgconfig sys-apps/baselayout
+DESCRIPTION=Ebuild to support the Chrome OS Cr50 device.
+EAPI=5
+IUSE=generic_tpm2 cr50_onboard ti50_onboard cr50_disable_sleep_in_suspend
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=chromeos-base/ec-utils !<chromeos-base/chromeos-cr50-0.0.1-r38 sys-apps/baselayout
+SLOT=0
+_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=8d0b4fe7ef291e84096ce478ab47051a
diff --git a/metadata/md5-cache/chromeos-base/chromeos-dbus-bindings-0.0.1-r2723 b/metadata/md5-cache/chromeos-base/chromeos-dbus-bindings-0.0.1-r2723
deleted file mode 100644
index ec747f6..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-dbus-bindings-0.0.1-r2723
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/expat sys-apps/dbus >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Utility for building Chrome D-Bus bindings from an XML description
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-dbus-bindings
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_2aab1d2904dfb619f622fef4012c1c1a2929ab28_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_2aab1d2904dfb619f622fef4012c1c1a2929ab28_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=dev-libs/expat sys-apps/dbus >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=12cb88c6acd253790e4ce9d86533306e
diff --git a/metadata/md5-cache/chromeos-base/chromeos-dbus-bindings-0.0.1-r2771 b/metadata/md5-cache/chromeos-base/chromeos-dbus-bindings-0.0.1-r2771
new file mode 100644
index 0000000..7ed39d3
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-dbus-bindings-0.0.1-r2771
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile info install postinst setup test unpack
+DEPEND=dev-go/cmp dev-lang/go
+DESCRIPTION=Utility for building Chrome D-Bus bindings from an XML description
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-dbus-bindings
+IUSE=cros_host cros_workon_tree_f8f2bb698a2b96ec55bcd7e564b813aea6e1c7b5
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-go/cmp
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=ad5c4b6112c9f0755704d7f8f0342459
diff --git a/metadata/md5-cache/chromeos-base/chromeos-dbus-bindings-9999 b/metadata/md5-cache/chromeos-base/chromeos-dbus-bindings-9999
index db77228..cb2fe7f 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-dbus-bindings-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-dbus-bindings-9999
@@ -1,13 +1,13 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/expat sys-apps/dbus >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEFINED_PHASES=compile info install postinst setup test unpack
+DEPEND=dev-go/cmp dev-lang/go
 DESCRIPTION=Utility for building Chrome D-Bus bindings from an XML description
 EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-dbus-bindings
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-dbus-bindings
+IUSE=cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=dev-libs/expat sys-apps/dbus >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+PROPERTIES=live
+RDEPEND=dev-go/cmp
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=47da67ebe83960d136b8681eab510942
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=d9b3dd1b150d926dccd6ba5601c5457f
diff --git a/metadata/md5-cache/chromeos-base/chromeos-ec-0.0.2-r12164 b/metadata/md5-cache/chromeos-base/chromeos-ec-0.0.2-r12164
deleted file mode 100644
index b26dab9..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-ec-0.0.2-r12164
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=>=chromeos-base/chromeos-config-host-0.0.2 chromeos-base/chromeos-config-host:= dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git
-DEFINED_PHASES=compile info install prepare setup test unpack
-DEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= ) dev-embedded/libftdi:1= fuzzer? ( dev-libs/libprotobuf-mutator:= ) test? ( dev-libs/libprotobuf-mutator:= ) virtual/chromeos-ec-private-files virtual/chromeos-ec-touch-firmware bootblock_in_ec? ( sys-boot/coreboot )
-DESCRIPTION=Embedded Controller firmware code
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md
-IUSE=has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host unibuild cros_host cros_workon_tree_7e6f9e6c00a385e1ca7fa02919c855027b5c4ae2_2aeca3cffd0e69db866b5623819ecd5bf8db1232 has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild quiet verbose +coreboot-sdk unibuild fuzzer bootblock_in_ec asan msan ubsan test cros_host cros_workon_tree_7e6f9e6c00a385e1ca7fa02919c855027b5c4ae2_2aeca3cffd0e69db866b5623819ecd5bf8db1232
-KEYWORDS=*
-LICENSE=CrOS-EC
-PROPERTIES=live live
-RDEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= )
-REQUIRED_USE=|| ( cros_host unibuild ) coreboot-sdk unibuild
-RESTRICT=strip
-SLOT=0/0.0.2-r12164
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-ec	58d29232cef5211a806f93f51ce608d2	cros-ec-board	b3289f96a6674f0defcdf3e911955913	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9aa70a29edb4fb545ae5d2c0b9e8cb3f
diff --git a/metadata/md5-cache/chromeos-base/chromeos-ec-0.0.2-r13757 b/metadata/md5-cache/chromeos-base/chromeos-ec-0.0.2-r13757
new file mode 100644
index 0000000..f0cb1c7
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-ec-0.0.2-r13757
@@ -0,0 +1,16 @@
+BDEPEND=>=chromeos-base/chromeos-config-host-0.0.2 chromeos-base/chromeos-config-host:= dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git
+DEFINED_PHASES=compile info install prepare setup test unpack
+DEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= ) dev-embedded/libftdi:1= fuzzer? ( dev-libs/libprotobuf-mutator:= ) test? ( dev-libs/libprotobuf-mutator:= ) virtual/chromeos-ec-private-files virtual/chromeos-ec-touch-firmware bootblock_in_ec? ( sys-boot/coreboot )
+DESCRIPTION=Embedded Controller firmware code
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/+/HEAD/README.md
+IUSE=has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host unibuild cros_host cros_workon_tree_c4d4dd3923749f39f3075774e374e9e77e0c876f_cafc71cae4ef6b3e7e64648b257b3f0ca2300e1d has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild quiet verbose +coreboot-sdk unibuild fuzzer bootblock_in_ec asan msan ubsan test cros_host cros_workon_tree_c4d4dd3923749f39f3075774e374e9e77e0c876f_cafc71cae4ef6b3e7e64648b257b3f0ca2300e1d
+KEYWORDS=*
+LICENSE=CrOS-EC
+PROPERTIES=live live
+RDEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= )
+REQUIRED_USE=|| ( cros_host unibuild ) coreboot-sdk unibuild
+RESTRICT=strip
+SLOT=0/0.0.2-r13757
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-ec	8817861fcac63d6497065e52e5c26859	cros-ec-board	972232fae22a2fec7ceddda60e7a5968	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=95d453de59bfc40681fa3773f430cb81
diff --git a/metadata/md5-cache/chromeos-base/chromeos-ec-9999 b/metadata/md5-cache/chromeos-base/chromeos-ec-9999
index 071d0d9..ccf2e0d 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-ec-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-ec-9999
@@ -3,7 +3,7 @@
 DEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= ) dev-embedded/libftdi:1= fuzzer? ( dev-libs/libprotobuf-mutator:= ) test? ( dev-libs/libprotobuf-mutator:= ) virtual/chromeos-ec-private-files virtual/chromeos-ec-touch-firmware bootblock_in_ec? ( sys-boot/coreboot )
 DESCRIPTION=Embedded Controller firmware code
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/+/HEAD/README.md
 IUSE=has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host unibuild cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild quiet verbose +coreboot-sdk unibuild fuzzer bootblock_in_ec asan msan ubsan test cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=CrOS-EC
@@ -12,5 +12,5 @@
 REQUIRED_USE=|| ( cros_host unibuild ) coreboot-sdk unibuild
 RESTRICT=strip
 SLOT=0/9999
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-ec	58d29232cef5211a806f93f51ce608d2	cros-ec-board	b3289f96a6674f0defcdf3e911955913	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-ec	8817861fcac63d6497065e52e5c26859	cros-ec-board	972232fae22a2fec7ceddda60e7a5968	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=074ac0c02fa96a2ddeb480e718a22da7
diff --git a/metadata/md5-cache/chromeos-base/chromeos-ec-headers-0.0.1-r7575 b/metadata/md5-cache/chromeos-base/chromeos-ec-headers-0.0.1-r7575
deleted file mode 100644
index 6abc695..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-ec-headers-0.0.1-r7575
+++ /dev/null
@@ -1,12 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install setup unpack
-DESCRIPTION=Exported headers from the embedded controller codebase.
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os/ec-development
-IUSE=cros_host cros_workon_tree_7e6f9e6c00a385e1ca7fa02919c855027b5c4ae2_bc3dd60d00cdabff1bbcb0ff8e017ac39a1ed6a1
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-SLOT=0/0.0.1-r7575
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0b0ee8130eb07760c63ea0e7e059d4d1
diff --git a/metadata/md5-cache/chromeos-base/chromeos-ec-headers-0.0.1-r9194 b/metadata/md5-cache/chromeos-base/chromeos-ec-headers-0.0.1-r9194
new file mode 100644
index 0000000..5ea5c2f
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-ec-headers-0.0.1-r9194
@@ -0,0 +1,12 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install setup unpack
+DESCRIPTION=Exported headers from the embedded controller codebase.
+EAPI=7
+HOMEPAGE=https://www.chromium.org/chromium-os/ec-development
+IUSE=cros_host cros_workon_tree_c4d4dd3923749f39f3075774e374e9e77e0c876f_3160ba00fb2574cb4a584b5da95c782200a542e1
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+SLOT=0/0.0.1-r9194
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=052e772bfd47e0de52f250940634827c
diff --git a/metadata/md5-cache/chromeos-base/chromeos-ec-headers-9999 b/metadata/md5-cache/chromeos-base/chromeos-ec-headers-9999
index f8547c6..7accfdf 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-ec-headers-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-ec-headers-9999
@@ -8,5 +8,5 @@
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=1791094695d150f595c21f2092e13971
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1d92e43b34726434dc88eaaf03d4745b
diff --git a/metadata/md5-cache/chromeos-base/chromeos-firmware-null-0.0.3-r168 b/metadata/md5-cache/chromeos-base/chromeos-firmware-null-0.0.3-r168
deleted file mode 100644
index b5e385c..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-firmware-null-0.0.3-r168
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile info install setup test unpack
-DEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) chromeos-base/vboot_reference unibuild? ( chromeos-base/chromeos-config ) bootimage? ( sys-boot/chromeos-bootimage ) cros_ec? ( chromeos-base/chromeos-ec ) zephyr_ec? ( chromeos-base/chromeos-zephyr )
-DESCRIPTION=Chrome OS Firmware (Template - change to board name)
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/firmware/
-IUSE=cros_host cros_workon_tree_a60750688361ddeadb27f402e186c3302cecc552 cros_host cros_workon_tree_a60750688361ddeadb27f402e186c3302cecc552 has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild bootimage cros_ec cros_ish tot_firmware unibuild zephyr_ec
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) chromeos-base/vboot_reference unibuild? ( chromeos-base/chromeos-config ) chromeos-base/vpd sys-apps/flashrom sys-apps/mosys cros_ish? ( chromeos-base/chromeos-ish )
-RESTRICT=mirror
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-firmware	e91fac701f4ec0f4f42f819862707e50	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=6de5f3866182fb4a7473b934556c3102
diff --git a/metadata/md5-cache/chromeos-base/chromeos-firmware-null-0.0.3-r175 b/metadata/md5-cache/chromeos-base/chromeos-firmware-null-0.0.3-r175
new file mode 100644
index 0000000..a6c9841
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-firmware-null-0.0.3-r175
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile info install setup test unpack
+DEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) chromeos-base/vboot_reference unibuild? ( chromeos-base/chromeos-config ) bootimage? ( sys-boot/chromeos-bootimage ) cros_ec? ( chromeos-base/chromeos-ec ) zephyr_ec? ( chromeos-base/chromeos-zephyr )
+DESCRIPTION=Chrome OS Firmware (Template - change to board name)
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/firmware/
+IUSE=cros_host cros_workon_tree_721e80b4539e93692a985ab973ed288394f146c1 cros_host cros_workon_tree_721e80b4539e93692a985ab973ed288394f146c1 has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild bootimage cros_ec cros_ish tot_firmware unibuild zephyr_ec
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) chromeos-base/vboot_reference unibuild? ( chromeos-base/chromeos-config ) chromeos-base/vpd sys-apps/flashrom sys-apps/mosys cros_ish? ( chromeos-base/chromeos-ish )
+RESTRICT=mirror
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-firmware	59868041aabc3ea87fe86d2463fbb759	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=d6c943d0f7026cc55dc12224795b973e
diff --git a/metadata/md5-cache/chromeos-base/chromeos-firmware-null-9999 b/metadata/md5-cache/chromeos-base/chromeos-firmware-null-9999
index 878bf16..760a73d 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-firmware-null-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-firmware-null-9999
@@ -10,5 +10,5 @@
 RDEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) chromeos-base/vboot_reference unibuild? ( chromeos-base/chromeos-config ) chromeos-base/vpd sys-apps/flashrom sys-apps/mosys cros_ish? ( chromeos-base/chromeos-ish )
 RESTRICT=mirror
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-firmware	e91fac701f4ec0f4f42f819862707e50	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-firmware	59868041aabc3ea87fe86d2463fbb759	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=de6ecd6d5e24caf9d8a8cf4f989341c6
diff --git a/metadata/md5-cache/chromeos-base/chromeos-fonts-0.0.1 b/metadata/md5-cache/chromeos-base/chromeos-fonts-0.0.1
index 3d7deda..79a88af 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-fonts-0.0.1
+++ b/metadata/md5-cache/chromeos-base/chromeos-fonts-0.0.1
@@ -1,13 +1,13 @@
 BDEPEND=chromeos-base/minijail
 DEFINED_PHASES=compile install setup
-DEPEND=internal? ( chromeos-base/monotype-fonts:= chromeos-base/google-sans-fonts:= ) media-fonts/croscorefonts:= media-fonts/crosextrafonts:= media-fonts/crosextrafonts-carlito:= media-fonts/noto-cjk:= media-fonts/notofonts:= media-fonts/ko-nanumfonts:= media-fonts/lohitfonts-cros:= media-fonts/robotofonts:= media-fonts/tibt-jomolhari:= media-libs/fontconfig:= !cros_host? ( sys-libs/gcc-libs:= ) cros_host? ( sys-libs/glibc:= )
+DEPEND=internal? ( chromeos-base/monotype-fonts:= chromeos-base/google-sans-fonts:= ) media-fonts/croscorefonts:= media-fonts/crosextrafonts:= media-fonts/crosextrafonts-carlito:= media-fonts/noto-cjk:= media-fonts/notofonts:= media-fonts/ko-nanumfonts:= media-fonts/lohitfonts-cros:= media-fonts/robotofonts:= media-fonts/tibt-jomolhari:= media-libs/fontconfig:= !cros_host? ( sys-libs/gcc-libs:= ) cros_host? ( sys-libs/glibc:= ) extra_japanese_fonts? ( media-fonts/ipaex media-fonts/morisawa-ud-fonts )
 DESCRIPTION=Chrome OS Fonts (meta package)
 EAPI=7
 HOMEPAGE=http://src.chromium.org
-IUSE=cros_host internal
+IUSE=cros_host extra_japanese_fonts internal
 KEYWORDS=*
 LICENSE=GPL-2
-RDEPEND=internal? ( chromeos-base/monotype-fonts:= chromeos-base/google-sans-fonts:= ) media-fonts/croscorefonts:= media-fonts/crosextrafonts:= media-fonts/crosextrafonts-carlito:= media-fonts/noto-cjk:= media-fonts/notofonts:= media-fonts/ko-nanumfonts:= media-fonts/lohitfonts-cros:= media-fonts/robotofonts:= media-fonts/tibt-jomolhari:= media-libs/fontconfig:= !cros_host? ( sys-libs/gcc-libs:= ) cros_host? ( sys-libs/glibc:= )
+RDEPEND=internal? ( chromeos-base/monotype-fonts:= chromeos-base/google-sans-fonts:= ) media-fonts/croscorefonts:= media-fonts/crosextrafonts:= media-fonts/crosextrafonts-carlito:= media-fonts/noto-cjk:= media-fonts/notofonts:= media-fonts/ko-nanumfonts:= media-fonts/lohitfonts-cros:= media-fonts/robotofonts:= media-fonts/tibt-jomolhari:= media-libs/fontconfig:= !cros_host? ( sys-libs/gcc-libs:= ) cros_host? ( sys-libs/glibc:= ) extra_japanese_fonts? ( media-fonts/ipaex media-fonts/morisawa-ud-fonts )
 SLOT=0
 _eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda
-_md5_=4f72b104f60114cdca915ab0c43b699d
+_md5_=32fc58df69fc67d544fdffcecb29f60f
diff --git a/metadata/md5-cache/chromeos-base/chromeos-fonts-0.0.1-r49 b/metadata/md5-cache/chromeos-base/chromeos-fonts-0.0.1-r49
deleted file mode 100644
index 3d7deda..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-fonts-0.0.1-r49
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=chromeos-base/minijail
-DEFINED_PHASES=compile install setup
-DEPEND=internal? ( chromeos-base/monotype-fonts:= chromeos-base/google-sans-fonts:= ) media-fonts/croscorefonts:= media-fonts/crosextrafonts:= media-fonts/crosextrafonts-carlito:= media-fonts/noto-cjk:= media-fonts/notofonts:= media-fonts/ko-nanumfonts:= media-fonts/lohitfonts-cros:= media-fonts/robotofonts:= media-fonts/tibt-jomolhari:= media-libs/fontconfig:= !cros_host? ( sys-libs/gcc-libs:= ) cros_host? ( sys-libs/glibc:= )
-DESCRIPTION=Chrome OS Fonts (meta package)
-EAPI=7
-HOMEPAGE=http://src.chromium.org
-IUSE=cros_host internal
-KEYWORDS=*
-LICENSE=GPL-2
-RDEPEND=internal? ( chromeos-base/monotype-fonts:= chromeos-base/google-sans-fonts:= ) media-fonts/croscorefonts:= media-fonts/crosextrafonts:= media-fonts/crosextrafonts-carlito:= media-fonts/noto-cjk:= media-fonts/notofonts:= media-fonts/ko-nanumfonts:= media-fonts/lohitfonts-cros:= media-fonts/robotofonts:= media-fonts/tibt-jomolhari:= media-libs/fontconfig:= !cros_host? ( sys-libs/gcc-libs:= ) cros_host? ( sys-libs/glibc:= )
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda
-_md5_=4f72b104f60114cdca915ab0c43b699d
diff --git a/metadata/md5-cache/chromeos-base/chromeos-fonts-0.0.1-r52 b/metadata/md5-cache/chromeos-base/chromeos-fonts-0.0.1-r52
new file mode 100644
index 0000000..79a88af
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-fonts-0.0.1-r52
@@ -0,0 +1,13 @@
+BDEPEND=chromeos-base/minijail
+DEFINED_PHASES=compile install setup
+DEPEND=internal? ( chromeos-base/monotype-fonts:= chromeos-base/google-sans-fonts:= ) media-fonts/croscorefonts:= media-fonts/crosextrafonts:= media-fonts/crosextrafonts-carlito:= media-fonts/noto-cjk:= media-fonts/notofonts:= media-fonts/ko-nanumfonts:= media-fonts/lohitfonts-cros:= media-fonts/robotofonts:= media-fonts/tibt-jomolhari:= media-libs/fontconfig:= !cros_host? ( sys-libs/gcc-libs:= ) cros_host? ( sys-libs/glibc:= ) extra_japanese_fonts? ( media-fonts/ipaex media-fonts/morisawa-ud-fonts )
+DESCRIPTION=Chrome OS Fonts (meta package)
+EAPI=7
+HOMEPAGE=http://src.chromium.org
+IUSE=cros_host extra_japanese_fonts internal
+KEYWORDS=*
+LICENSE=GPL-2
+RDEPEND=internal? ( chromeos-base/monotype-fonts:= chromeos-base/google-sans-fonts:= ) media-fonts/croscorefonts:= media-fonts/crosextrafonts:= media-fonts/crosextrafonts-carlito:= media-fonts/noto-cjk:= media-fonts/notofonts:= media-fonts/ko-nanumfonts:= media-fonts/lohitfonts-cros:= media-fonts/robotofonts:= media-fonts/tibt-jomolhari:= media-libs/fontconfig:= !cros_host? ( sys-libs/gcc-libs:= ) cros_host? ( sys-libs/glibc:= ) extra_japanese_fonts? ( media-fonts/ipaex media-fonts/morisawa-ud-fonts )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda
+_md5_=32fc58df69fc67d544fdffcecb29f60f
diff --git a/metadata/md5-cache/chromeos-base/chromeos-fpmcu-unittests-0.0.1-r4021 b/metadata/md5-cache/chromeos-base/chromeos-fpmcu-unittests-0.0.1-r4021
deleted file mode 100644
index 2ddc5f7..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-fpmcu-unittests-0.0.1-r4021
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=>=chromeos-base/chromeos-config-host-0.0.2 chromeos-base/chromeos-config-host:= dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git
-DEFINED_PHASES=compile info install prepare setup test unpack
-DEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= ) dev-embedded/libftdi:1= fuzzer? ( dev-libs/libprotobuf-mutator:= ) test? ( dev-libs/libprotobuf-mutator:= ) virtual/chromeos-ec-private-files virtual/chromeos-ec-touch-firmware bootblock_in_ec? ( sys-boot/coreboot )
-DESCRIPTION=ChromeOS fingerprint MCU unittest binaries
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md
-IUSE=has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host unibuild cros_host cros_workon_tree_7e6f9e6c00a385e1ca7fa02919c855027b5c4ae2_2aeca3cffd0e69db866b5623819ecd5bf8db1232 has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild quiet verbose +coreboot-sdk unibuild fuzzer bootblock_in_ec asan msan ubsan test cros_host cros_workon_tree_7e6f9e6c00a385e1ca7fa02919c855027b5c4ae2_2aeca3cffd0e69db866b5623819ecd5bf8db1232
-KEYWORDS=*
-LICENSE=CrOS-EC
-PROPERTIES=live live
-RDEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= )
-REQUIRED_USE=|| ( cros_host unibuild ) coreboot-sdk unibuild
-RESTRICT=binchecks
-SLOT=0/0.0.1-r4021
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-ec	58d29232cef5211a806f93f51ce608d2	cros-ec-board	b3289f96a6674f0defcdf3e911955913	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=297c4776235d2a959c28074d3e9a09ce
diff --git a/metadata/md5-cache/chromeos-base/chromeos-fpmcu-unittests-0.0.1-r5615 b/metadata/md5-cache/chromeos-base/chromeos-fpmcu-unittests-0.0.1-r5615
new file mode 100644
index 0000000..2fbe8e2
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-fpmcu-unittests-0.0.1-r5615
@@ -0,0 +1,16 @@
+BDEPEND=>=chromeos-base/chromeos-config-host-0.0.2 chromeos-base/chromeos-config-host:= dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= ) dev-embedded/libftdi:1= fuzzer? ( dev-libs/libprotobuf-mutator:= ) test? ( dev-libs/libprotobuf-mutator:= ) virtual/chromeos-ec-private-files virtual/chromeos-ec-touch-firmware bootblock_in_ec? ( sys-boot/coreboot )
+DESCRIPTION=ChromeOS fingerprint MCU unittest binaries
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/+/HEAD/README.md
+IUSE=has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host unibuild cros_host cros_workon_tree_c4d4dd3923749f39f3075774e374e9e77e0c876f_cafc71cae4ef6b3e7e64648b257b3f0ca2300e1d has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild quiet verbose +coreboot-sdk unibuild fuzzer bootblock_in_ec asan msan ubsan test cros_host cros_workon_tree_c4d4dd3923749f39f3075774e374e9e77e0c876f_cafc71cae4ef6b3e7e64648b257b3f0ca2300e1d asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=CrOS-EC
+PROPERTIES=live live
+RDEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= )
+REQUIRED_USE=|| ( cros_host unibuild ) coreboot-sdk unibuild
+RESTRICT=binchecks
+SLOT=0/0.0.1-r5615
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-ec	8817861fcac63d6497065e52e5c26859	cros-ec-board	972232fae22a2fec7ceddda60e7a5968	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6e4805409f32f8555d2071999ad2d701
diff --git a/metadata/md5-cache/chromeos-base/chromeos-fpmcu-unittests-9999 b/metadata/md5-cache/chromeos-base/chromeos-fpmcu-unittests-9999
index c9c8667..63023a7 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-fpmcu-unittests-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-fpmcu-unittests-9999
@@ -1,10 +1,10 @@
 BDEPEND=>=chromeos-base/chromeos-config-host-0.0.2 chromeos-base/chromeos-config-host:= dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git
-DEFINED_PHASES=compile info install prepare setup test unpack
+DEFINED_PHASES=compile configure info install prepare setup test unpack
 DEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= ) dev-embedded/libftdi:1= fuzzer? ( dev-libs/libprotobuf-mutator:= ) test? ( dev-libs/libprotobuf-mutator:= ) virtual/chromeos-ec-private-files virtual/chromeos-ec-touch-firmware bootblock_in_ec? ( sys-boot/coreboot )
 DESCRIPTION=ChromeOS fingerprint MCU unittest binaries
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md
-IUSE=has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host unibuild cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild quiet verbose +coreboot-sdk unibuild fuzzer bootblock_in_ec asan msan ubsan test cros_host cros_workon_tree_
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/+/HEAD/README.md
+IUSE=has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host unibuild cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild quiet verbose +coreboot-sdk unibuild fuzzer bootblock_in_ec asan msan ubsan test cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=CrOS-EC
 PROPERTIES=live live
@@ -12,5 +12,5 @@
 REQUIRED_USE=|| ( cros_host unibuild ) coreboot-sdk unibuild
 RESTRICT=binchecks
 SLOT=0/9999
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-ec	58d29232cef5211a806f93f51ce608d2	cros-ec-board	b3289f96a6674f0defcdf3e911955913	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=00124b2fb59f3178d28db56ed474e2a1
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-ec	8817861fcac63d6497065e52e5c26859	cros-ec-board	972232fae22a2fec7ceddda60e7a5968	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d33de6d69fb9a1d7cf196d99d4beb864
diff --git a/metadata/md5-cache/chromeos-base/chromeos-imageburner-0.0.1-r3192 b/metadata/md5-cache/chromeos-base/chromeos-imageburner-0.0.1-r3192
deleted file mode 100644
index 781c4da..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-imageburner-0.0.1-r3192
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=sys-apps/rootdev chromeos-base/system_api >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Image-burning service for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/image-burner/
-IUSE=user_session_isolation cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_3f549951f59cf658c62f70f4e1a93a61ebb06f64_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_3f549951f59cf658c62f70f4e1a93a61ebb06f64_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=sys-apps/rootdev >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=1ee0132a932d5c0e62a4454f8ecfca05
diff --git a/metadata/md5-cache/chromeos-base/chromeos-imageburner-0.0.1-r3253 b/metadata/md5-cache/chromeos-base/chromeos-imageburner-0.0.1-r3253
new file mode 100644
index 0000000..5866475
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-imageburner-0.0.1-r3253
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=sys-apps/rootdev chromeos-base/system_api >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Image-burning service for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/image-burner/
+IUSE=user_session_isolation cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_7de555b069d818f590b242435b6c4ec9630b8ead_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_7de555b069d818f590b242435b6c4ec9630b8ead_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=sys-apps/rootdev >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=3475248728da78813db980e05930857d
diff --git a/metadata/md5-cache/chromeos-base/chromeos-imageburner-9999 b/metadata/md5-cache/chromeos-base/chromeos-imageburner-9999
index 35ae10d..c6918a3 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-imageburner-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-imageburner-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=sys-apps/rootdev chromeos-base/system_api >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=sys-apps/rootdev chromeos-base/system_api >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Image-burning service for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/image-burner/
-IUSE=user_session_isolation cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/image-burner/
+IUSE=user_session_isolation cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=sys-apps/rootdev >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=1f924a9c601f786b04fbcc7d64acd662
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=28281c6451a062cc00690337d8d54da7
diff --git a/metadata/md5-cache/chromeos-base/chromeos-init-0.0.25-r4441 b/metadata/md5-cache/chromeos-base/chromeos-init-0.0.25-r4441
deleted file mode 100644
index 1c043b0..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-init-0.0.25-r4441
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/bootstat:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/secure-erase-file:= chromeos-base/vboot_reference:= dev-libs/re2:= sys-apps/rootdev:= test? ( sys-process/psmisc dev-util/shflags dev-util/shunit2 sys-apps/diffutils ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Upstart init scripts for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/init/
-IUSE=arcpp arcvm cros_embedded direncryption +encrypted_stateful +encrypted_reboot_vault frecon fsverity lvm_stateful_partition +oobe_config prjquota -s3halt +syslog systemd tpm2 +udev vivid vtconsole cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_28119455ecaa9c8afca0e45a700be020be9f70a7_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_28119455ecaa9c8afca0e45a700be020be9f70a7_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/bootstat:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/secure-erase-file:= chromeos-base/vboot_reference:= dev-libs/re2:= sys-apps/rootdev:= app-arch/tar app-misc/jq !chromeos-base/chromeos-disableecho chromeos-base/chromeos-common-script chromeos-base/tty oobe_config? ( chromeos-base/oobe_config ) sys-apps/upstart !systemd? ( sys-apps/systemd-tmpfiles ) sys-process/lsof virtual/chromeos-bootcomplete !cros_embedded? ( chromeos-base/common-assets chromeos-base/chromeos-storage-info chromeos-base/swap-init sys-fs/e2fsprogs ) frecon? ( sys-apps/frecon ) virtual/tmpfiles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=5c93ffbcd60b90750181974bcd48fbd1
diff --git a/metadata/md5-cache/chromeos-base/chromeos-init-0.0.25-r4582 b/metadata/md5-cache/chromeos-base/chromeos-init-0.0.25-r4582
new file mode 100644
index 0000000..aafd07c
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-init-0.0.25-r4582
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/bootstat:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/secure-erase-file:= chromeos-base/vboot_reference:= dev-libs/re2:= sys-apps/rootdev:= test? ( sys-process/psmisc dev-util/shflags dev-util/shunit2 sys-apps/diffutils ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Upstart init scripts for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/init/
+IUSE=arcpp arcvm cros_embedded direncryption +encrypted_stateful +encrypted_reboot_vault frecon fsverity lvm_stateful_partition +oobe_config prjquota -s3halt +syslog systemd tpm2 +udev vivid vtconsole cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9f635b4066a77f92e74cc7d80516960224bdf700_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9f635b4066a77f92e74cc7d80516960224bdf700_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/bootstat:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/secure-erase-file:= chromeos-base/vboot_reference:= dev-libs/re2:= sys-apps/rootdev:= app-arch/tar app-misc/jq !chromeos-base/chromeos-disableecho chromeos-base/chromeos-common-script chromeos-base/tty oobe_config? ( chromeos-base/oobe_config ) sys-apps/upstart !systemd? ( sys-apps/systemd-tmpfiles ) sys-process/lsof virtual/chromeos-bootcomplete !cros_embedded? ( chromeos-base/common-assets chromeos-base/chromeos-storage-info chromeos-base/swap-init sys-fs/e2fsprogs ) frecon? ( sys-apps/frecon ) virtual/tmpfiles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=ccfeaa801c6370edea024ceb9cfe6b03
diff --git a/metadata/md5-cache/chromeos-base/chromeos-init-9999 b/metadata/md5-cache/chromeos-base/chromeos-init-9999
index db9f39c..894a02e 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-init-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-init-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/bootstat:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/secure-erase-file:= chromeos-base/vboot_reference:= dev-libs/re2:= sys-apps/rootdev:= test? ( sys-process/psmisc dev-util/shflags dev-util/shunit2 sys-apps/diffutils ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/bootstat:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/secure-erase-file:= chromeos-base/vboot_reference:= dev-libs/re2:= sys-apps/rootdev:= test? ( sys-process/psmisc dev-util/shflags dev-util/shunit2 sys-apps/diffutils ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Upstart init scripts for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/init/
-IUSE=arcpp arcvm cros_embedded direncryption +encrypted_stateful +encrypted_reboot_vault frecon fsverity lvm_stateful_partition +oobe_config prjquota -s3halt +syslog systemd tpm2 +udev vivid vtconsole cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/init/
+IUSE=arcpp arcvm cros_embedded direncryption +encrypted_stateful +encrypted_reboot_vault frecon fsverity lvm_stateful_partition +oobe_config prjquota -s3halt +syslog systemd tpm2 +udev vivid vtconsole cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/bootstat:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/secure-erase-file:= chromeos-base/vboot_reference:= dev-libs/re2:= sys-apps/rootdev:= app-arch/tar app-misc/jq !chromeos-base/chromeos-disableecho chromeos-base/chromeos-common-script chromeos-base/tty oobe_config? ( chromeos-base/oobe_config ) sys-apps/upstart !systemd? ( sys-apps/systemd-tmpfiles ) sys-process/lsof virtual/chromeos-bootcomplete !cros_embedded? ( chromeos-base/common-assets chromeos-base/chromeos-storage-info chromeos-base/swap-init sys-fs/e2fsprogs ) frecon? ( sys-apps/frecon ) virtual/tmpfiles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=1a60f9478ede7f95e3cdd8d33ac369a3
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=be23bbf2b254c6f24630fe14aaf4e6a6
diff --git a/metadata/md5-cache/chromeos-base/chromeos-initramfs-0.0.1-r500 b/metadata/md5-cache/chromeos-base/chromeos-initramfs-0.0.1-r500
deleted file mode 100644
index 6e90e4d..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-initramfs-0.0.1-r500
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=hypervisor_ramfs? ( chromeos-base/sirenia-tools ) dev-vcs/git
-DEFINED_PHASES=compile info install prepare setup unpack
-DEPEND=!no_factory_flow? ( factory_netboot_ramfs? ( app-arch/lbzip2 app-arch/pigz app-arch/sharutils app-misc/jq app-shells/bash chromeos-base/chromeos-base chromeos-base/chromeos-installer chromeos-base/chromeos-installshim chromeos-base/chromeos-storage-info chromeos-base/ec-utils chromeos-base/factory_installer chromeos-base/vboot_reference chromeos-base/vpd dev-libs/openssl:0= dev-util/shflags dev-util/xxd net-misc/curl net-misc/htpdate net-misc/uftp net-misc/wget sys-apps/coreutils sys-apps/flashrom sys-apps/iproute2 sys-apps/mosys sys-apps/util-linux sys-fs/dosfstools sys-fs/e2fsprogs sys-libs/ncurses virtual/udev ) factory_shim_ramfs? ( chromeos-base/factory_installer chromeos-base/vboot_reference ) ) recovery_ramfs? ( chromeos-base/chromeos-installer chromeos-base/common-assets chromeos-base/vboot_reference chromeos-base/vpd sys-apps/flashrom sys-apps/pv virtual/assets virtual/chromeos-regions ) hypervisor_ramfs? ( chromeos-base/crosvm chromeos-base/sirenia sys-apps/coreboot-utils virtual/linux-sources ) minios_ramfs? ( chromeos-base/minios dev-util/strace net-misc/curl net-misc/dhcp net-misc/dhcpcd net-wireless/wpa_supplicant-cros chromeos-base/minijail chromeos-base/chromeos-installer chromeos-base/factory_installer chromeos-base/common-assets chromeos-base/vboot_reference chromeos-base/vpd sys-apps/flashrom sys-apps/pv virtual/assets virtual/chromeos-regions ) minios_test_ramfs? ( chromeos-base/minios dev-util/strace net-misc/curl net-misc/dhcp net-misc/dhcpcd net-wireless/wpa_supplicant-cros chromeos-base/minijail chromeos-base/chromeos-installer chromeos-base/factory_installer chromeos-base/common-assets chromeos-base/vboot_reference chromeos-base/vpd sys-apps/flashrom sys-apps/pv virtual/assets virtual/chromeos-regions chromeos-base/chromeos-test-root virtual/target-os-test ) sys-apps/busybox[-make-symlinks] sys-fs/lvm2 virtual/chromeos-bsp-initramfs chromeos-base/chromeos-init sys-apps/frecon-lite power_management? ( chromeos-base/power_manager ) unibuild? ( chromeos-base/chromeos-config ) chromeos-base/chromeos-config-tools
-DESCRIPTION=Create Chrome OS initramfs
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/initramfs/
-IUSE=+cros_ec_utils detachable device_tree +interactive_recovery legacy_firmware_ui -mtd +power_management physical_presence_power physical_presence_recovery unibuild +oobe_config no_factory_flow factory_netboot_ramfs factory_shim_ramfs hypervisor_ramfs recovery_ramfs minios_ramfs minios_test_ramfs cros_host cros_workon_tree_5323a400444923138abc178228e405c433980c8c board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-REQUIRED_USE=|| ( factory_netboot_ramfs factory_shim_ramfs hypervisor_ramfs recovery_ramfs minios_ramfs minios_test_ramfs )
-SLOT=0
-_eclasses_=cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ba8d7b03088d859758fd73ced08b19c5
diff --git a/metadata/md5-cache/chromeos-base/chromeos-initramfs-0.0.1-r581 b/metadata/md5-cache/chromeos-base/chromeos-initramfs-0.0.1-r581
new file mode 100644
index 0000000..db92260
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-initramfs-0.0.1-r581
@@ -0,0 +1,14 @@
+BDEPEND=hypervisor_ramfs? ( chromeos-base/sirenia-tools ) dev-vcs/git
+DEFINED_PHASES=compile info install prepare setup test unpack
+DEPEND=!no_factory_flow? ( factory_netboot_ramfs? ( app-arch/lbzip2 app-arch/pigz app-arch/sharutils app-misc/jq app-shells/bash chromeos-base/chromeos-base chromeos-base/chromeos-installer chromeos-base/chromeos-installshim chromeos-base/chromeos-storage-info chromeos-base/ec-utils chromeos-base/factory_installer ufs? ( chromeos-base/factory_ufs ) chromeos-base/vboot_reference chromeos-base/vpd dev-libs/openssl:0= dev-util/shflags dev-util/xxd net-misc/curl net-misc/htpdate net-misc/uftp net-misc/wget sys-apps/coreutils sys-apps/flashrom sys-apps/iproute2 sys-apps/mosys sys-apps/util-linux sys-fs/dosfstools sys-fs/e2fsprogs sys-libs/ncurses virtual/udev ) factory_shim_ramfs? ( chromeos-base/factory_installer chromeos-base/vboot_reference ) ) recovery_ramfs? ( chromeos-base/chromeos-installer chromeos-base/common-assets chromeos-base/vboot_reference chromeos-base/vpd sys-apps/flashrom sys-apps/pv virtual/assets virtual/chromeos-regions ) hypervisor_ramfs? ( chromeos-base/crosvm chromeos-base/sirenia sys-apps/coreboot-utils virtual/linux-sources virtual/manatee-apps manatee_performance_tools? ( app-admin/sysstat dev-util/strace dev-util/turbostat dev-util/perf dev-util/trace-cmd sys-process/htop chromeos-base/perfetto ) ) minios_ramfs? ( chromeos-base/chromeos-installer chromeos-base/common-assets chromeos-base/factory_installer chromeos-base/minijail chromeos-base/minios chromeos-base/update-utils chromeos-base/vboot_reference chromeos-base/vpd dev-util/strace net-misc/curl net-misc/dhcp net-misc/dhcpcd net-wireless/wpa_supplicant-cros nvme? ( sys-apps/nvme-cli ) sys-apps/flashrom sys-apps/pv virtual/assets virtual/chromeos-regions ) sys-apps/busybox[-make-symlinks] sys-fs/lvm2 virtual/chromeos-bsp-initramfs chromeos-base/chromeos-init sys-apps/frecon-lite power_management? ( chromeos-base/power_manager ) unibuild? ( chromeos-base/chromeos-config ) chromeos-base/chromeos-config-tools test? ( dev-util/shunit2 )
+DESCRIPTION=Create Chrome OS initramfs
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/initramfs/
+IUSE=+cros_ec_utils detachable device_tree +interactive_recovery legacy_firmware_ui -mtd +power_management unibuild +oobe_config no_factory_flow manatee_performance_tools nvme ufs test factory_netboot_ramfs factory_shim_ramfs hypervisor_ramfs recovery_ramfs minios_ramfs cros_host cros_workon_tree_ccade7d0ab8756b8f5752b85efbfd460cce591c6 board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+REQUIRED_USE=|| ( test factory_netboot_ramfs factory_shim_ramfs hypervisor_ramfs recovery_ramfs minios_ramfs )
+SLOT=0
+_eclasses_=cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a16180422e261855c06b433a078d2939
diff --git a/metadata/md5-cache/chromeos-base/chromeos-initramfs-9999 b/metadata/md5-cache/chromeos-base/chromeos-initramfs-9999
index 587105e8..d0ac285 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-initramfs-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-initramfs-9999
@@ -1,14 +1,14 @@
 BDEPEND=hypervisor_ramfs? ( chromeos-base/sirenia-tools ) dev-vcs/git
-DEFINED_PHASES=compile info install prepare setup unpack
-DEPEND=!no_factory_flow? ( factory_netboot_ramfs? ( app-arch/lbzip2 app-arch/pigz app-arch/sharutils app-misc/jq app-shells/bash chromeos-base/chromeos-base chromeos-base/chromeos-installer chromeos-base/chromeos-installshim chromeos-base/chromeos-storage-info chromeos-base/ec-utils chromeos-base/factory_installer chromeos-base/vboot_reference chromeos-base/vpd dev-libs/openssl:0= dev-util/shflags dev-util/xxd net-misc/curl net-misc/htpdate net-misc/uftp net-misc/wget sys-apps/coreutils sys-apps/flashrom sys-apps/iproute2 sys-apps/mosys sys-apps/util-linux sys-fs/dosfstools sys-fs/e2fsprogs sys-libs/ncurses virtual/udev ) factory_shim_ramfs? ( chromeos-base/factory_installer chromeos-base/vboot_reference ) ) recovery_ramfs? ( chromeos-base/chromeos-installer chromeos-base/common-assets chromeos-base/vboot_reference chromeos-base/vpd sys-apps/flashrom sys-apps/pv virtual/assets virtual/chromeos-regions ) hypervisor_ramfs? ( chromeos-base/crosvm chromeos-base/sirenia sys-apps/coreboot-utils virtual/linux-sources ) minios_ramfs? ( chromeos-base/minios dev-util/strace net-misc/curl net-misc/dhcp net-misc/dhcpcd net-wireless/wpa_supplicant-cros chromeos-base/minijail chromeos-base/chromeos-installer chromeos-base/factory_installer chromeos-base/common-assets chromeos-base/vboot_reference chromeos-base/vpd sys-apps/flashrom sys-apps/pv virtual/assets virtual/chromeos-regions ) minios_test_ramfs? ( chromeos-base/minios dev-util/strace net-misc/curl net-misc/dhcp net-misc/dhcpcd net-wireless/wpa_supplicant-cros chromeos-base/minijail chromeos-base/chromeos-installer chromeos-base/factory_installer chromeos-base/common-assets chromeos-base/vboot_reference chromeos-base/vpd sys-apps/flashrom sys-apps/pv virtual/assets virtual/chromeos-regions chromeos-base/chromeos-test-root virtual/target-os-test ) sys-apps/busybox[-make-symlinks] sys-fs/lvm2 virtual/chromeos-bsp-initramfs chromeos-base/chromeos-init sys-apps/frecon-lite power_management? ( chromeos-base/power_manager ) unibuild? ( chromeos-base/chromeos-config ) chromeos-base/chromeos-config-tools
+DEFINED_PHASES=compile info install prepare setup test unpack
+DEPEND=!no_factory_flow? ( factory_netboot_ramfs? ( app-arch/lbzip2 app-arch/pigz app-arch/sharutils app-misc/jq app-shells/bash chromeos-base/chromeos-base chromeos-base/chromeos-installer chromeos-base/chromeos-installshim chromeos-base/chromeos-storage-info chromeos-base/ec-utils chromeos-base/factory_installer ufs? ( chromeos-base/factory_ufs ) chromeos-base/vboot_reference chromeos-base/vpd dev-libs/openssl:0= dev-util/shflags dev-util/xxd net-misc/curl net-misc/htpdate net-misc/uftp net-misc/wget sys-apps/coreutils sys-apps/flashrom sys-apps/iproute2 sys-apps/mosys sys-apps/util-linux sys-fs/dosfstools sys-fs/e2fsprogs sys-libs/ncurses virtual/udev ) factory_shim_ramfs? ( chromeos-base/factory_installer chromeos-base/vboot_reference ) ) recovery_ramfs? ( chromeos-base/chromeos-installer chromeos-base/common-assets chromeos-base/vboot_reference chromeos-base/vpd sys-apps/flashrom sys-apps/pv virtual/assets virtual/chromeos-regions ) hypervisor_ramfs? ( chromeos-base/crosvm chromeos-base/sirenia sys-apps/coreboot-utils virtual/linux-sources virtual/manatee-apps manatee_performance_tools? ( app-admin/sysstat dev-util/strace dev-util/turbostat dev-util/perf dev-util/trace-cmd sys-process/htop chromeos-base/perfetto ) ) minios_ramfs? ( chromeos-base/chromeos-installer chromeos-base/common-assets chromeos-base/factory_installer chromeos-base/minijail chromeos-base/minios chromeos-base/update-utils chromeos-base/vboot_reference chromeos-base/vpd dev-util/strace net-misc/curl net-misc/dhcp net-misc/dhcpcd net-wireless/wpa_supplicant-cros nvme? ( sys-apps/nvme-cli ) sys-apps/flashrom sys-apps/pv virtual/assets virtual/chromeos-regions ) sys-apps/busybox[-make-symlinks] sys-fs/lvm2 virtual/chromeos-bsp-initramfs chromeos-base/chromeos-init sys-apps/frecon-lite power_management? ( chromeos-base/power_manager ) unibuild? ( chromeos-base/chromeos-config ) chromeos-base/chromeos-config-tools test? ( dev-util/shunit2 )
 DESCRIPTION=Create Chrome OS initramfs
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/initramfs/
-IUSE=+cros_ec_utils detachable device_tree +interactive_recovery legacy_firmware_ui -mtd +power_management physical_presence_power physical_presence_recovery unibuild +oobe_config no_factory_flow factory_netboot_ramfs factory_shim_ramfs hypervisor_ramfs recovery_ramfs minios_ramfs minios_test_ramfs cros_host cros_workon_tree_ board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild
+IUSE=+cros_ec_utils detachable device_tree +interactive_recovery legacy_firmware_ui -mtd +power_management unibuild +oobe_config no_factory_flow manatee_performance_tools nvme ufs test factory_netboot_ramfs factory_shim_ramfs hypervisor_ramfs recovery_ramfs minios_ramfs cros_host cros_workon_tree_ board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-REQUIRED_USE=|| ( factory_netboot_ramfs factory_shim_ramfs hypervisor_ramfs recovery_ramfs minios_ramfs minios_test_ramfs )
+REQUIRED_USE=|| ( test factory_netboot_ramfs factory_shim_ramfs hypervisor_ramfs recovery_ramfs minios_ramfs )
 SLOT=0
-_eclasses_=cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=1106d6dcf60c58af2fe5995a305fcacb
+_eclasses_=cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b41b2a62afc0511a41765b7af0692a79
diff --git a/metadata/md5-cache/chromeos-base/chromeos-installer-0.0.3-r3565 b/metadata/md5-cache/chromeos-base/chromeos-installer-0.0.3-r3565
deleted file mode 100644
index fec14d7..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-installer-0.0.3-r3565
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libbrillo:= chromeos-base/vboot_reference chromeos-base/verity manage_efi_boot_entries? ( sys-libs/efivar ) dev-libs/openssl:0= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= virtual/pkgconfig
-DESCRIPTION=Chrome OS Installer
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/installer/
-IUSE=cros_embedded enable_slow_boot_notify -mtd pam systemd lvm_stateful_partition postinstall_config_efi_and_legacy manage_efi_boot_entries cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_ef9e5cc7e9b9b963d2308f285e853f72a569615d_6fc4c6b35e5c71304e6fed40a7a24e6401d38df3_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_ef9e5cc7e9b9b963d2308f285e853f72a569615d_6fc4c6b35e5c71304e6fed40a7a24e6401d38df3_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/libbrillo:= chromeos-base/vboot_reference chromeos-base/verity manage_efi_boot_entries? ( sys-libs/efivar ) pam? ( app-admin/sudo ) chromeos-base/chromeos-common-script !cros_embedded? ( chromeos-base/chromeos-storage-info ) dev-libs/openssl:0= dev-util/shflags sys-apps/rootdev sys-apps/util-linux sys-apps/which sys-fs/e2fsprogs >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=b71ab98400b5a0abb141cf7595334be8
diff --git a/metadata/md5-cache/chromeos-base/chromeos-installer-0.0.3-r3670 b/metadata/md5-cache/chromeos-base/chromeos-installer-0.0.3-r3670
new file mode 100644
index 0000000..878fcf6
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-installer-0.0.3-r3670
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/libbrillo:= chromeos-base/vboot_reference chromeos-base/verity manage_efi_boot_entries? ( chromeos-base/chromeos-config sys-libs/efivar ) dev-libs/openssl:0= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= virtual/pkgconfig
+DESCRIPTION=Chrome OS Installer
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/installer/
+IUSE=cros_embedded enable_slow_boot_notify -mtd pam systemd lvm_stateful_partition postinstall_config_efi_and_legacy manage_efi_boot_entries cros_host cros_workon_tree_527abd7a988a45572305a6c44b5324d0d9cf8be2_60fa47aebd6ebfb702012849bd560717fceddcd4_aec60c261c19c132b6dda00ed40f61717c823a15_a65107acb3c4cbbae51687d8409856f07b5dda27_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_527abd7a988a45572305a6c44b5324d0d9cf8be2_60fa47aebd6ebfb702012849bd560717fceddcd4_aec60c261c19c132b6dda00ed40f61717c823a15_a65107acb3c4cbbae51687d8409856f07b5dda27_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/libbrillo:= chromeos-base/vboot_reference chromeos-base/verity manage_efi_boot_entries? ( chromeos-base/chromeos-config sys-libs/efivar ) pam? ( app-admin/sudo ) chromeos-base/chromeos-common-script !cros_embedded? ( chromeos-base/chromeos-storage-info ) dev-libs/openssl:0= dev-util/shflags sys-apps/rootdev sys-apps/util-linux sys-apps/which sys-fs/e2fsprogs >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=7f749d4175517dc50dbd6aef26e76fd7
diff --git a/metadata/md5-cache/chromeos-base/chromeos-installer-9999 b/metadata/md5-cache/chromeos-base/chromeos-installer-9999
index d56eb49..4fdbec8 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-installer-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-installer-9999
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libbrillo:= chromeos-base/vboot_reference chromeos-base/verity manage_efi_boot_entries? ( sys-libs/efivar ) dev-libs/openssl:0= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= virtual/pkgconfig
+DEPEND=chromeos-base/libbrillo:= chromeos-base/vboot_reference chromeos-base/verity manage_efi_boot_entries? ( chromeos-base/chromeos-config sys-libs/efivar ) dev-libs/openssl:0= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= virtual/pkgconfig
 DESCRIPTION=Chrome OS Installer
 EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/installer/
-IUSE=cros_embedded enable_slow_boot_notify -mtd pam systemd lvm_stateful_partition postinstall_config_efi_and_legacy manage_efi_boot_entries cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/installer/
+IUSE=cros_embedded enable_slow_boot_notify -mtd pam systemd lvm_stateful_partition postinstall_config_efi_and_legacy manage_efi_boot_entries cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=chromeos-base/libbrillo:= chromeos-base/vboot_reference chromeos-base/verity manage_efi_boot_entries? ( sys-libs/efivar ) pam? ( app-admin/sudo ) chromeos-base/chromeos-common-script !cros_embedded? ( chromeos-base/chromeos-storage-info ) dev-libs/openssl:0= dev-util/shflags sys-apps/rootdev sys-apps/util-linux sys-apps/which sys-fs/e2fsprogs >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+RDEPEND=chromeos-base/libbrillo:= chromeos-base/vboot_reference chromeos-base/verity manage_efi_boot_entries? ( chromeos-base/chromeos-config sys-libs/efivar ) pam? ( app-admin/sudo ) chromeos-base/chromeos-common-script !cros_embedded? ( chromeos-base/chromeos-storage-info ) dev-libs/openssl:0= dev-util/shflags sys-apps/rootdev sys-apps/util-linux sys-apps/which sys-fs/e2fsprogs >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=7669f2863af2c448b38bac63bddf6132
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=4cb7f72c2108d836f211f7d6f9a4f6ec
diff --git a/metadata/md5-cache/chromeos-base/chromeos-installshim-0.0.1 b/metadata/md5-cache/chromeos-base/chromeos-installshim-0.0.1
index d042cad..7c8a845 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-installshim-0.0.1
+++ b/metadata/md5-cache/chromeos-base/chromeos-installshim-0.0.1
@@ -1,10 +1,10 @@
 DEFINED_PHASES=-
 DESCRIPTION=Chrome OS Install Shim (meta package)
-EAPI=5
-HOMEPAGE=http://src.chromium.org
-IUSE=cr50_onboard +network_time tpm_slb9645 tpm_slb9655 tpm_slb9655_v4_31 tpm_slb9670 internal +shill tpm2
+EAPI=7
+HOMEPAGE=https://dev.chromium.org/chromium-os
+IUSE=cr50_onboard +network_time tpm_slb9645 tpm_slb9655 tpm_slb9655_v4_31 tpm_slb9670 internal +shill ti50_onboard tpm2
 KEYWORDS=*
-LICENSE=GPL-2
-RDEPEND=x86? ( sys-boot/syslinux ) amd64? ( sys-boot/syslinux ) arm? ( chromeos-base/u-boot-scripts ) app-arch/sharutils !tpm2? ( app-crypt/trousers ) app-shells/bash app-shells/dash chromeos-base/chromeos-base chromeos-base/chromeos-init chromeos-base/dev-install chromeos-base/factory_installer internal? ( tpm_slb9645? ( chromeos-base/infineon-firmware ) tpm_slb9655? ( chromeos-base/infineon-firmware ) tpm_slb9655_v4_31? ( chromeos-base/infineon-firmware ) tpm_slb9670? ( chromeos-base/infineon-firmware ) ) chromeos-base/power_manager shill? ( chromeos-base/shill ) !shill? ( net-misc/dhcpcd ) chromeos-base/vboot_reference cr50_onboard? ( media-gfx/qrencode ) net-firewall/iptables network_time? ( net-misc/tlsdate ) >=sys-apps/baselayout-2.0.0 sys-apps/coreutils sys-apps/dbus sys-apps/flashrom sys-apps/grep sys-apps/iproute2 sys-apps/mawk sys-apps/mosys sys-apps/net-tools sys-apps/pv sys-apps/rootdev sys-apps/sed sys-apps/shadow sys-apps/upstart sys-apps/util-linux sys-apps/which sys-auth/pam_pwdfile sys-fs/e2fsprogs sys-libs/gcc-libs sys-libs/libcxx sys-process/lsof sys-process/procps virtual/chromeos-auth-config virtual/chromeos-bsp virtual/modutils virtual/udev
+LICENSE=metapackage
+RDEPEND=x86? ( sys-boot/syslinux ) amd64? ( sys-boot/syslinux ) arm? ( chromeos-base/u-boot-scripts ) app-arch/sharutils !tpm2? ( app-crypt/trousers ) app-shells/bash app-shells/dash chromeos-base/chromeos-base chromeos-base/chromeos-init chromeos-base/dev-install chromeos-base/factory_installer internal? ( tpm_slb9645? ( chromeos-base/infineon-firmware ) tpm_slb9655? ( chromeos-base/infineon-firmware ) tpm_slb9655_v4_31? ( chromeos-base/infineon-firmware ) tpm_slb9670? ( chromeos-base/infineon-firmware ) ) chromeos-base/power_manager shill? ( chromeos-base/shill ) !shill? ( net-misc/dhcpcd ) chromeos-base/vboot_reference cr50_onboard? ( media-gfx/qrencode ) net-firewall/iptables network_time? ( net-misc/tlsdate ) >=sys-apps/baselayout-2.0.0 sys-apps/coreutils sys-apps/dbus sys-apps/flashrom sys-apps/grep sys-apps/kmod[tools] sys-apps/iproute2 sys-apps/mawk sys-apps/mosys sys-apps/net-tools sys-apps/pv sys-apps/rootdev sys-apps/sed sys-apps/shadow sys-apps/upstart sys-apps/util-linux sys-apps/which sys-auth/pam_pwdfile sys-fs/e2fsprogs sys-libs/gcc-libs sys-libs/libcxx sys-process/lsof sys-process/procps ti50_onboard? ( media-gfx/qrencode ) virtual/chromeos-auth-config virtual/chromeos-bsp virtual/udev
 SLOT=0
-_md5_=b0a24053c881fdff5eba616ab34f475a
+_md5_=d4529f74391beea451978c67d4e8bf17
diff --git a/metadata/md5-cache/chromeos-base/chromeos-installshim-0.0.1-r19 b/metadata/md5-cache/chromeos-base/chromeos-installshim-0.0.1-r19
deleted file mode 100644
index d042cad..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-installshim-0.0.1-r19
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=-
-DESCRIPTION=Chrome OS Install Shim (meta package)
-EAPI=5
-HOMEPAGE=http://src.chromium.org
-IUSE=cr50_onboard +network_time tpm_slb9645 tpm_slb9655 tpm_slb9655_v4_31 tpm_slb9670 internal +shill tpm2
-KEYWORDS=*
-LICENSE=GPL-2
-RDEPEND=x86? ( sys-boot/syslinux ) amd64? ( sys-boot/syslinux ) arm? ( chromeos-base/u-boot-scripts ) app-arch/sharutils !tpm2? ( app-crypt/trousers ) app-shells/bash app-shells/dash chromeos-base/chromeos-base chromeos-base/chromeos-init chromeos-base/dev-install chromeos-base/factory_installer internal? ( tpm_slb9645? ( chromeos-base/infineon-firmware ) tpm_slb9655? ( chromeos-base/infineon-firmware ) tpm_slb9655_v4_31? ( chromeos-base/infineon-firmware ) tpm_slb9670? ( chromeos-base/infineon-firmware ) ) chromeos-base/power_manager shill? ( chromeos-base/shill ) !shill? ( net-misc/dhcpcd ) chromeos-base/vboot_reference cr50_onboard? ( media-gfx/qrencode ) net-firewall/iptables network_time? ( net-misc/tlsdate ) >=sys-apps/baselayout-2.0.0 sys-apps/coreutils sys-apps/dbus sys-apps/flashrom sys-apps/grep sys-apps/iproute2 sys-apps/mawk sys-apps/mosys sys-apps/net-tools sys-apps/pv sys-apps/rootdev sys-apps/sed sys-apps/shadow sys-apps/upstart sys-apps/util-linux sys-apps/which sys-auth/pam_pwdfile sys-fs/e2fsprogs sys-libs/gcc-libs sys-libs/libcxx sys-process/lsof sys-process/procps virtual/chromeos-auth-config virtual/chromeos-bsp virtual/modutils virtual/udev
-SLOT=0
-_md5_=b0a24053c881fdff5eba616ab34f475a
diff --git a/metadata/md5-cache/chromeos-base/chromeos-installshim-0.0.1-r21 b/metadata/md5-cache/chromeos-base/chromeos-installshim-0.0.1-r21
new file mode 100644
index 0000000..7c8a845
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-installshim-0.0.1-r21
@@ -0,0 +1,10 @@
+DEFINED_PHASES=-
+DESCRIPTION=Chrome OS Install Shim (meta package)
+EAPI=7
+HOMEPAGE=https://dev.chromium.org/chromium-os
+IUSE=cr50_onboard +network_time tpm_slb9645 tpm_slb9655 tpm_slb9655_v4_31 tpm_slb9670 internal +shill ti50_onboard tpm2
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=x86? ( sys-boot/syslinux ) amd64? ( sys-boot/syslinux ) arm? ( chromeos-base/u-boot-scripts ) app-arch/sharutils !tpm2? ( app-crypt/trousers ) app-shells/bash app-shells/dash chromeos-base/chromeos-base chromeos-base/chromeos-init chromeos-base/dev-install chromeos-base/factory_installer internal? ( tpm_slb9645? ( chromeos-base/infineon-firmware ) tpm_slb9655? ( chromeos-base/infineon-firmware ) tpm_slb9655_v4_31? ( chromeos-base/infineon-firmware ) tpm_slb9670? ( chromeos-base/infineon-firmware ) ) chromeos-base/power_manager shill? ( chromeos-base/shill ) !shill? ( net-misc/dhcpcd ) chromeos-base/vboot_reference cr50_onboard? ( media-gfx/qrencode ) net-firewall/iptables network_time? ( net-misc/tlsdate ) >=sys-apps/baselayout-2.0.0 sys-apps/coreutils sys-apps/dbus sys-apps/flashrom sys-apps/grep sys-apps/kmod[tools] sys-apps/iproute2 sys-apps/mawk sys-apps/mosys sys-apps/net-tools sys-apps/pv sys-apps/rootdev sys-apps/sed sys-apps/shadow sys-apps/upstart sys-apps/util-linux sys-apps/which sys-auth/pam_pwdfile sys-fs/e2fsprogs sys-libs/gcc-libs sys-libs/libcxx sys-process/lsof sys-process/procps ti50_onboard? ( media-gfx/qrencode ) virtual/chromeos-auth-config virtual/chromeos-bsp virtual/udev
+SLOT=0
+_md5_=d4529f74391beea451978c67d4e8bf17
diff --git a/metadata/md5-cache/chromeos-base/chromeos-lacros-101.0.4916.0-r1 b/metadata/md5-cache/chromeos-base/chromeos-lacros-101.0.4916.0-r1
deleted file mode 100644
index 5cfaeb4..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-lacros-101.0.4916.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install setup unpack
-DESCRIPTION=Rootfs lacros for all architectures
-EAPI=7
-IUSE=cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/chromeos-chrome
-SLOT=0
-SRC_URI=amd64? ( gs://chrome-unsigned/desktop-5c0tCh/101.0.4916.0/lacros64/lacros_compressed.squash -> chromeos-lacros-amd64-squash-101.0.4916.0 gs://chrome-unsigned/desktop-5c0tCh/101.0.4916.0/lacros64/metadata.json -> chromeos-lacros-amd64-metadata-101.0.4916.0 ) arm? ( gs://chrome-unsigned/desktop-5c0tCh/101.0.4916.0/lacros-arm32/lacros_compressed.squash -> chromeos-lacros-arm-squash-101.0.4916.0 gs://chrome-unsigned/desktop-5c0tCh/101.0.4916.0/lacros-arm32/metadata.json -> chromeos-lacros-arm-metadata-101.0.4916.0 ) arm64? ( gs://chrome-unsigned/desktop-5c0tCh/101.0.4916.0/lacros-arm32/lacros_compressed.squash -> chromeos-lacros-arm-squash-101.0.4916.0 gs://chrome-unsigned/desktop-5c0tCh/101.0.4916.0/lacros-arm32/metadata.json -> chromeos-lacros-arm-metadata-101.0.4916.0 )
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9cae32af884a4639dbea43510bbbe61b
diff --git a/metadata/md5-cache/chromeos-base/chromeos-lacros-106.0.5239.0-r1 b/metadata/md5-cache/chromeos-base/chromeos-lacros-106.0.5239.0-r1
new file mode 100644
index 0000000..32cbe7b
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-lacros-106.0.5239.0-r1
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Rootfs lacros for all architectures
+EAPI=7
+IUSE=cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/chromeos-chrome
+SLOT=0
+SRC_URI=amd64? ( gs://chrome-unsigned/desktop-5c0tCh/106.0.5239.0/lacros64/lacros_compressed.squash -> chromeos-lacros-amd64-squash-106.0.5239.0 gs://chrome-unsigned/desktop-5c0tCh/106.0.5239.0/lacros64/metadata.json -> chromeos-lacros-amd64-metadata-106.0.5239.0 ) arm? ( gs://chrome-unsigned/desktop-5c0tCh/106.0.5239.0/lacros-arm32/lacros_compressed.squash -> chromeos-lacros-arm-squash-106.0.5239.0 gs://chrome-unsigned/desktop-5c0tCh/106.0.5239.0/lacros-arm32/metadata.json -> chromeos-lacros-arm-metadata-106.0.5239.0 ) arm64? ( gs://chrome-unsigned/desktop-5c0tCh/106.0.5239.0/lacros-arm64/lacros_compressed.squash -> chromeos-lacros-arm64-squash-106.0.5239.0 gs://chrome-unsigned/desktop-5c0tCh/106.0.5239.0/lacros-arm64/metadata.json -> chromeos-lacros-arm64-metadata-106.0.5239.0 )
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=727839ce20df8dde50583cd4f0a7837d
diff --git a/metadata/md5-cache/chromeos-base/chromeos-lacros-9999 b/metadata/md5-cache/chromeos-base/chromeos-lacros-9999
index 027652c..2450edf 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-lacros-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-lacros-9999
@@ -8,5 +8,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/chromeos-chrome
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=bfc8e3597457eabd9782699010220416
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2538c3ae9b4a21d2d49dcf87f15d3def
diff --git a/metadata/md5-cache/chromeos-base/chromeos-login-0.0.2-r4905 b/metadata/md5-cache/chromeos-base/chromeos-login-0.0.2-r4905
deleted file mode 100644
index ec30161..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-login-0.0.2-r4905
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/bootstat:= chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= chromeos-base/cryptohome:= chromeos-base/libchromeos-ui:= chromeos-base/libcontainer:= chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/nss:= dev-libs/protobuf:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) sys-apps/util-linux:= >=chromeos-base/protofiles-0.0.43:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Login manager for Chromium OS.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-login/
-IUSE=arc_adb_sideloading cheets client_id fuzzer systemd user_session_isolation cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_bea140d13f7cf1092e4c89a45011c04c28327972_c483b9613962116a8881cefbe046d52ce851e598_56dc9b3a788bc68f829c1e7a1d3b6cf067c7aaf9_1a6128185802c1ad69c05ed98bd4a1d00a8e5206_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_bea140d13f7cf1092e4c89a45011c04c28327972_c483b9613962116a8881cefbe046d52ce851e598_56dc9b3a788bc68f829c1e7a1d3b6cf067c7aaf9_1a6128185802c1ad69c05ed98bd4a1d00a8e5206_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/bootstat:= chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= chromeos-base/cryptohome:= chromeos-base/libchromeos-ui:= chromeos-base/libcontainer:= chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/nss:= dev-libs/protobuf:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) sys-apps/util-linux:= client_id? ( chromeos-base/client_id:= ) virtual/tmpfiles has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.2-r4905
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=dc7539300dc1ba724e06c91e14a7bf00
diff --git a/metadata/md5-cache/chromeos-base/chromeos-login-0.0.2-r5083 b/metadata/md5-cache/chromeos-base/chromeos-login-0.0.2-r5083
new file mode 100644
index 0000000..ebcfff6
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-login-0.0.2-r5083
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/bootstat:= chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= chromeos-base/cryptohome:= chromeos-base/libchromeos-ui:= chromeos-base/libcontainer:= chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/nss:= dev-libs/protobuf:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) sys-apps/util-linux:= >=chromeos-base/protofiles-0.0.43:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Login manager for Chromium OS.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/login_manager/
+IUSE=arc_adb_sideloading cheets flex_id fuzzer systemd user_session_isolation cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_527abd7a988a45572305a6c44b5324d0d9cf8be2_dbb4c5a189c098e0c692a1dee66f5a6b6ef33a32_fb8e41991af9e4c6c88768b137a9b48e4e5e47da_86c7faad3e91503ff0fd5d28ede2e13016668322_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_527abd7a988a45572305a6c44b5324d0d9cf8be2_dbb4c5a189c098e0c692a1dee66f5a6b6ef33a32_fb8e41991af9e4c6c88768b137a9b48e4e5e47da_86c7faad3e91503ff0fd5d28ede2e13016668322_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/bootstat:= chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= chromeos-base/cryptohome:= chromeos-base/libchromeos-ui:= chromeos-base/libcontainer:= chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/nss:= dev-libs/protobuf:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) sys-apps/util-linux:= flex_id? ( chromeos-base/flex_id:= ) virtual/tmpfiles has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.2-r5083
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=0c1647608770e07b3fefbc4ac039f36a
diff --git a/metadata/md5-cache/chromeos-base/chromeos-login-9999 b/metadata/md5-cache/chromeos-base/chromeos-login-9999
index db747a5..7c1062c 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-login-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-login-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/bootstat:= chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= chromeos-base/cryptohome:= chromeos-base/libchromeos-ui:= chromeos-base/libcontainer:= chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/nss:= dev-libs/protobuf:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) sys-apps/util-linux:= >=chromeos-base/protofiles-0.0.43:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/bootstat:= chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= chromeos-base/cryptohome:= chromeos-base/libchromeos-ui:= chromeos-base/libcontainer:= chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/nss:= dev-libs/protobuf:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) sys-apps/util-linux:= >=chromeos-base/protofiles-0.0.43:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Login manager for Chromium OS.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-login/
-IUSE=arc_adb_sideloading cheets client_id fuzzer systemd user_session_isolation cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/login_manager/
+IUSE=arc_adb_sideloading cheets flex_id fuzzer systemd user_session_isolation cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=chromeos-base/bootstat:= chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= chromeos-base/cryptohome:= chromeos-base/libchromeos-ui:= chromeos-base/libcontainer:= chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/nss:= dev-libs/protobuf:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) sys-apps/util-linux:= client_id? ( chromeos-base/client_id:= ) virtual/tmpfiles has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+RDEPEND=chromeos-base/bootstat:= chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= chromeos-base/cryptohome:= chromeos-base/libchromeos-ui:= chromeos-base/libcontainer:= chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/nss:= dev-libs/protobuf:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) sys-apps/util-linux:= flex_id? ( chromeos-base/flex_id:= ) virtual/tmpfiles has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=99e15c0488407fe19e340549c512e00c
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=9e0b37b1293ff337730bfe8e87cbaeb3
diff --git a/metadata/md5-cache/chromeos-base/chromeos-nvt-tcon-updater-0.0.1-r5 b/metadata/md5-cache/chromeos-base/chromeos-nvt-tcon-updater-0.0.1-r5
deleted file mode 100644
index fbf54c4..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-nvt-tcon-updater-0.0.1-r5
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install preinst setup unpack
-DEPEND=sys-apps/baselayout
-DESCRIPTION=Shell library for integrating the Novatek TCON Firmware updater
-EAPI=7
-IUSE=cros_host cros_workon_tree_46004e0e5781880050cd53e1f573fda1e540cec5
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/chromeos-init chromeos-base/common-assets chromeos-base/minijail sys-apps/novatek-tcon-fw-update-tool sys-apps/baselayout
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=9bc40a31b6e58b7f1b46d94f97f6a62c
diff --git a/metadata/md5-cache/chromeos-base/chromeos-nvt-tcon-updater-0.0.1-r7 b/metadata/md5-cache/chromeos-base/chromeos-nvt-tcon-updater-0.0.1-r7
new file mode 100644
index 0000000..5316227
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-nvt-tcon-updater-0.0.1-r7
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install preinst setup unpack
+DEPEND=sys-apps/baselayout
+DESCRIPTION=Shell library for integrating the Novatek TCON Firmware updater
+EAPI=7
+IUSE=cros_host cros_workon_tree_7decdf4cfcc8b3e1c1e53ab5186dbb2ba4629f31
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/chromeos-init chromeos-base/common-assets chromeos-base/minijail sys-apps/novatek-tcon-fw-update-tool sys-apps/baselayout
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=d3ffe50bd7efa3cf7b42a241a310c13c
diff --git a/metadata/md5-cache/chromeos-base/chromeos-nvt-tcon-updater-9999 b/metadata/md5-cache/chromeos-base/chromeos-nvt-tcon-updater-9999
index a9c48e5..b4030cc 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-nvt-tcon-updater-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-nvt-tcon-updater-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/chromeos-init chromeos-base/common-assets chromeos-base/minijail sys-apps/novatek-tcon-fw-update-tool sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
 _md5_=4d23048ea58e8f447b9de1e64d2a5afa
diff --git a/metadata/md5-cache/chromeos-base/chromeos-nvt-touch-updater-1.0.5 b/metadata/md5-cache/chromeos-base/chromeos-nvt-touch-updater-1.0.5
deleted file mode 100644
index a40f870..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-nvt-touch-updater-1.0.5
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=configure install
-DESCRIPTION=Novatek Touch Firmware Update
-EAPI=7
-HOMEPAGE=https://github.com/Novatek-MSP/chromeos-nvt-touch-updater
-KEYWORDS=*
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/Novatek-MSP/chromeos-nvt-touch-updater/archive/v1.0.5.tar.gz -> chromeos-nvt-touch-updater-1.0.5.tar.gz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=01488240c6c75d761becb278b704044e
diff --git a/metadata/md5-cache/chromeos-base/chromeos-nvt-touch-updater-1.0.7 b/metadata/md5-cache/chromeos-base/chromeos-nvt-touch-updater-1.0.7
new file mode 100644
index 0000000..ebf0aa7
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-nvt-touch-updater-1.0.7
@@ -0,0 +1,10 @@
+DEFINED_PHASES=configure install
+DESCRIPTION=Novatek Touch Firmware Update
+EAPI=7
+HOMEPAGE=https://github.com/Novatek-MSP/chromeos-nvt-touch-updater
+KEYWORDS=*
+LICENSE=Apache-2.0
+SLOT=0
+SRC_URI=https://github.com/Novatek-MSP/chromeos-nvt-touch-updater/archive/v1.0.7.tar.gz -> chromeos-nvt-touch-updater-1.0.7.tar.gz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=01488240c6c75d761becb278b704044e
diff --git a/metadata/md5-cache/chromeos-base/chromeos-nvt-touch-updater-1.0.7-r1 b/metadata/md5-cache/chromeos-base/chromeos-nvt-touch-updater-1.0.7-r1
new file mode 100644
index 0000000..ebf0aa7
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-nvt-touch-updater-1.0.7-r1
@@ -0,0 +1,10 @@
+DEFINED_PHASES=configure install
+DESCRIPTION=Novatek Touch Firmware Update
+EAPI=7
+HOMEPAGE=https://github.com/Novatek-MSP/chromeos-nvt-touch-updater
+KEYWORDS=*
+LICENSE=Apache-2.0
+SLOT=0
+SRC_URI=https://github.com/Novatek-MSP/chromeos-nvt-touch-updater/archive/v1.0.7.tar.gz -> chromeos-nvt-touch-updater-1.0.7.tar.gz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=01488240c6c75d761becb278b704044e
diff --git a/metadata/md5-cache/chromeos-base/chromeos-oobe-assets-20180919 b/metadata/md5-cache/chromeos-base/chromeos-oobe-assets-20180919
deleted file mode 100644
index da1a3f1..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-oobe-assets-20180919
+++ /dev/null
@@ -1,8 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=OOBE videos for Chrome OS
-EAPI=5
-KEYWORDS=*
-LICENSE=BSD-Google
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/chromeos-oobe-assets-default-20180919.tar.gz
-_md5_=c085e86f1f39ac5fa14541ff46c9c791
diff --git a/metadata/md5-cache/chromeos-base/chromeos-ssh-testkeys-0.0.1 b/metadata/md5-cache/chromeos-base/chromeos-ssh-testkeys-0.0.1
index 7492b4b..bb6f0dd 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-ssh-testkeys-0.0.1
+++ b/metadata/md5-cache/chromeos-base/chromeos-ssh-testkeys-0.0.1
@@ -1,9 +1,9 @@
 DEFINED_PHASES=compile install
 DESCRIPTION=Install Chromium OS ssh test keys to a shared location.
-EAPI=4
-HOMEPAGE=http://www.chromium.org/
+EAPI=7
+HOMEPAGE=https://dev.chromium.org/chromium-os/
 IUSE=-generated_ssh_key
 KEYWORDS=*
 LICENSE=BSD-Google
 SLOT=0
-_md5_=d59b0d3c0bb819311e9f341a291864ee
+_md5_=14e4b947a71b569019939d56fb9f7ac2
diff --git a/metadata/md5-cache/chromeos-base/chromeos-ssh-testkeys-0.0.1-r2 b/metadata/md5-cache/chromeos-base/chromeos-ssh-testkeys-0.0.1-r2
deleted file mode 100644
index 7492b4b..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-ssh-testkeys-0.0.1-r2
+++ /dev/null
@@ -1,9 +0,0 @@
-DEFINED_PHASES=compile install
-DESCRIPTION=Install Chromium OS ssh test keys to a shared location.
-EAPI=4
-HOMEPAGE=http://www.chromium.org/
-IUSE=-generated_ssh_key
-KEYWORDS=*
-LICENSE=BSD-Google
-SLOT=0
-_md5_=d59b0d3c0bb819311e9f341a291864ee
diff --git a/metadata/md5-cache/chromeos-base/chromeos-ssh-testkeys-0.0.1-r3 b/metadata/md5-cache/chromeos-base/chromeos-ssh-testkeys-0.0.1-r3
new file mode 100644
index 0000000..bb6f0dd
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-ssh-testkeys-0.0.1-r3
@@ -0,0 +1,9 @@
+DEFINED_PHASES=compile install
+DESCRIPTION=Install Chromium OS ssh test keys to a shared location.
+EAPI=7
+HOMEPAGE=https://dev.chromium.org/chromium-os/
+IUSE=-generated_ssh_key
+KEYWORDS=*
+LICENSE=BSD-Google
+SLOT=0
+_md5_=14e4b947a71b569019939d56fb9f7ac2
diff --git a/metadata/md5-cache/chromeos-base/chromeos-storage-info-0.0.1-r327 b/metadata/md5-cache/chromeos-base/chromeos-storage-info-0.0.1-r327
deleted file mode 100644
index 99d02ff..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-storage-info-0.0.1-r327
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS storage info tools
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/storage_info/
-IUSE=mmc nvme +sata test cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_5677517e4588520ad730f2709f010c78505d8101_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_5677517e4588520ad730f2709f010c78505d8101_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/chromeos-common-script sata? ( sys-apps/hdparm sys-apps/smartmontools ) nvme? ( sys-apps/smartmontools ) mmc? ( sys-apps/mmc-utils ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=27a98914ba7c1b76cc9f11fa004db47c
diff --git a/metadata/md5-cache/chromeos-base/chromeos-storage-info-0.0.1-r388 b/metadata/md5-cache/chromeos-base/chromeos-storage-info-0.0.1-r388
new file mode 100644
index 0000000..4fd6eee
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-storage-info-0.0.1-r388
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS storage info tools
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/storage_info/
+IUSE=mmc nvme +sata test cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f008fb9e266cb811b8604fca21e59d8114dab267_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f008fb9e266cb811b8604fca21e59d8114dab267_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/chromeos-common-script sata? ( sys-apps/hdparm sys-apps/smartmontools ) nvme? ( sys-apps/smartmontools ) mmc? ( sys-apps/mmc-utils ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=170900cb326de131372b5bf8533dccd0
diff --git a/metadata/md5-cache/chromeos-base/chromeos-storage-info-9999 b/metadata/md5-cache/chromeos-base/chromeos-storage-info-9999
index 4955c16..4cb39e2 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-storage-info-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-storage-info-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS storage info tools
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/storage_info/
-IUSE=mmc nvme +sata test cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/storage_info/
+IUSE=mmc nvme +sata test cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/chromeos-common-script sata? ( sys-apps/hdparm sys-apps/smartmontools ) nvme? ( sys-apps/smartmontools ) mmc? ( sys-apps/mmc-utils ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9eaf1c1f13a5586d283a84a82b19236d
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f78d1fb38fe95e4a04a2ef70ba23f406
diff --git a/metadata/md5-cache/chromeos-base/chromeos-test-init-0.0.1-r3164 b/metadata/md5-cache/chromeos-base/chromeos-test-init-0.0.1-r3164
deleted file mode 100644
index c050d75..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-test-init-0.0.1-r3164
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=info install setup unpack
-DESCRIPTION=Additional upstart jobs that will be installed on test images
-EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/init/
-IUSE=+encrypted_stateful tpm2 cros_host cros_workon_tree_8003c2b9367e0f055d0e2f89bb2a8de0784d8dde
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=!<chromeos-base/hwsec-test-utils-0.0.1-r83
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=7394a92283f6989aea9bf725ce1b968f
diff --git a/metadata/md5-cache/chromeos-base/chromeos-test-init-0.0.1-r3166 b/metadata/md5-cache/chromeos-base/chromeos-test-init-0.0.1-r3166
new file mode 100644
index 0000000..3d2baa8
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-test-init-0.0.1-r3166
@@ -0,0 +1,12 @@
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Additional upstart jobs that will be installed on test images
+EAPI=6
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/init/
+IUSE=+encrypted_stateful tpm2 cros_host cros_workon_tree_f4c86152d8c9c209f9fa46c547f797dd2e6549a4
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=!<chromeos-base/hwsec-test-utils-0.0.1-r83
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=4728f83539aa12e165f19a2e160d3110
diff --git a/metadata/md5-cache/chromeos-base/chromeos-test-init-9999 b/metadata/md5-cache/chromeos-base/chromeos-test-init-9999
index c429051..32ea82f 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-test-init-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-test-init-9999
@@ -1,12 +1,12 @@
 DEFINED_PHASES=info install setup unpack
 DESCRIPTION=Additional upstart jobs that will be installed on test images
 EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/init/
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/init/
 IUSE=+encrypted_stateful tpm2 cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 RDEPEND=!<chromeos-base/hwsec-test-utils-0.0.1-r83
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=85bdc92712b9001b9afa14966a25e655
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=1985fc14ec29bdbd3c10e2893b2ccd72
diff --git a/metadata/md5-cache/chromeos-base/chromeos-test-root-0.0.1 b/metadata/md5-cache/chromeos-base/chromeos-test-root-0.0.1
index cf7e4ea..27dca4a 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-test-root-0.0.1
+++ b/metadata/md5-cache/chromeos-base/chromeos-test-root-0.0.1
@@ -2,9 +2,9 @@
 DESCRIPTION=Install packages that must live in the rootfs in test images
 EAPI=6
 HOMEPAGE=http://www.chromium.org/
-IUSE=+bootchart
+IUSE=+bootchart dlc
 KEYWORDS=*
 LICENSE=BSD-Google
-RDEPEND=bootchart? ( app-benchmarks/bootchart ) chromeos-base/chromeos-test-init chromeos-base/update-utils virtual/chromeos-test-testauthkeys virtual/chromeos-bsp-test-root
+RDEPEND=bootchart? ( app-benchmarks/bootchart ) chromeos-base/chromeos-test-init chromeos-base/update-utils dlc? ( chromeos-base/test-dlc ) virtual/chromeos-test-testauthkeys virtual/chromeos-bsp-test-root
 SLOT=0
-_md5_=20685215f0f6bcd854e3ff0ef136251f
+_md5_=c0361afec6b0d0e8adba88d0bcb3ab69
diff --git a/metadata/md5-cache/chromeos-base/chromeos-test-root-0.0.1-r11 b/metadata/md5-cache/chromeos-base/chromeos-test-root-0.0.1-r11
deleted file mode 100644
index cf7e4ea..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-test-root-0.0.1-r11
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=-
-DESCRIPTION=Install packages that must live in the rootfs in test images
-EAPI=6
-HOMEPAGE=http://www.chromium.org/
-IUSE=+bootchart
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=bootchart? ( app-benchmarks/bootchart ) chromeos-base/chromeos-test-init chromeos-base/update-utils virtual/chromeos-test-testauthkeys virtual/chromeos-bsp-test-root
-SLOT=0
-_md5_=20685215f0f6bcd854e3ff0ef136251f
diff --git a/metadata/md5-cache/chromeos-base/chromeos-test-root-0.0.1-r12 b/metadata/md5-cache/chromeos-base/chromeos-test-root-0.0.1-r12
new file mode 100644
index 0000000..27dca4a
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-test-root-0.0.1-r12
@@ -0,0 +1,10 @@
+DEFINED_PHASES=-
+DESCRIPTION=Install packages that must live in the rootfs in test images
+EAPI=6
+HOMEPAGE=http://www.chromium.org/
+IUSE=+bootchart dlc
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=bootchart? ( app-benchmarks/bootchart ) chromeos-base/chromeos-test-init chromeos-base/update-utils dlc? ( chromeos-base/test-dlc ) virtual/chromeos-test-testauthkeys virtual/chromeos-bsp-test-root
+SLOT=0
+_md5_=c0361afec6b0d0e8adba88d0bcb3ab69
diff --git a/metadata/md5-cache/chromeos-base/chromeos-ti50-0.0.1 b/metadata/md5-cache/chromeos-base/chromeos-ti50-0.0.1
index cf7a081..e99124b 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-ti50-0.0.1
+++ b/metadata/md5-cache/chromeos-base/chromeos-ti50-0.0.1
@@ -1,9 +1,10 @@
 DEFINED_PHASES=install
 DESCRIPTION=Ebuild to support the Chrome OS TI50 device.
 EAPI=7
+IUSE=cros_host
 KEYWORDS=*
 LICENSE=BSD-Google
-RDEPEND=chromeos-base/chromeos-cr50-dev chromeos-base/chromeos-cr50-scripts
+RDEPEND=chromeos-base/chromeos-cr50-dev !cros_host? ( chromeos-base/chromeos-cr50-scripts )
 SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles//ti50.ro.0.0.17.rw.0.0.13.tar.xz
-_md5_=37420d2a1647eab150290ee0659b7cc8
+SRC_URI=gs://chromeos-localmirror/distfiles//ti50.ro.0.0.26.rw.0.21.0.tar.xz gs://chromeos-localmirror/distfiles//ti50.ro.0.0.26.rw.0.22.3_FFFF_00000000_00000010.tar.xz
+_md5_=792fb54022d1ed05e70ce2360643be98
diff --git a/metadata/md5-cache/chromeos-base/chromeos-ti50-0.0.1-r16 b/metadata/md5-cache/chromeos-base/chromeos-ti50-0.0.1-r16
new file mode 100644
index 0000000..e99124b
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-ti50-0.0.1-r16
@@ -0,0 +1,10 @@
+DEFINED_PHASES=install
+DESCRIPTION=Ebuild to support the Chrome OS TI50 device.
+EAPI=7
+IUSE=cros_host
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=chromeos-base/chromeos-cr50-dev !cros_host? ( chromeos-base/chromeos-cr50-scripts )
+SLOT=0
+SRC_URI=gs://chromeos-localmirror/distfiles//ti50.ro.0.0.26.rw.0.21.0.tar.xz gs://chromeos-localmirror/distfiles//ti50.ro.0.0.26.rw.0.22.3_FFFF_00000000_00000010.tar.xz
+_md5_=792fb54022d1ed05e70ce2360643be98
diff --git a/metadata/md5-cache/chromeos-base/chromeos-ti50-0.0.1-r6 b/metadata/md5-cache/chromeos-base/chromeos-ti50-0.0.1-r6
deleted file mode 100644
index cf7a081..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-ti50-0.0.1-r6
+++ /dev/null
@@ -1,9 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Ebuild to support the Chrome OS TI50 device.
-EAPI=7
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=chromeos-base/chromeos-cr50-dev chromeos-base/chromeos-cr50-scripts
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles//ti50.ro.0.0.17.rw.0.0.13.tar.xz
-_md5_=37420d2a1647eab150290ee0659b7cc8
diff --git a/metadata/md5-cache/chromeos-base/chromeos-touch-common-0.0.1-r13 b/metadata/md5-cache/chromeos-base/chromeos-touch-common-0.0.1-r13
deleted file mode 100644
index 4edc651b..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-touch-common-0.0.1-r13
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install setup unpack
-DESCRIPTION=Common shell libraries for touch firmware updater wrapper scripts
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=cros_host cros_workon_tree_7daad4c6871c83b2f58298b7981a5cd089025b4c
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=sys-apps/mosys !<chromeos-base/touch_updater-0.0.1-r167
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=60e24c8c18f64e42af9c9c16aee15fe6
diff --git a/metadata/md5-cache/chromeos-base/chromeos-touch-common-0.0.1-r14 b/metadata/md5-cache/chromeos-base/chromeos-touch-common-0.0.1-r14
new file mode 100644
index 0000000..f8f53c3
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-touch-common-0.0.1-r14
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Common shell libraries for touch firmware updater wrapper scripts
+EAPI=7
+HOMEPAGE=https://www.chromium.org/chromium-os
+IUSE=cros_host cros_workon_tree_2f4b7841e05fce061d3991b0efb7c793cd33305a
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=sys-apps/mosys !<chromeos-base/touch_updater-0.0.1-r167
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=790b3ca103667ece732d8a94cf58c73e
diff --git a/metadata/md5-cache/chromeos-base/chromeos-touch-common-9999 b/metadata/md5-cache/chromeos-base/chromeos-touch-common-9999
index da546c1..4cb642f 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-touch-common-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-touch-common-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=sys-apps/mosys !<chromeos-base/touch_updater-0.0.1-r167
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=4486e42cf03b8f39e988d8813bf4c852
diff --git a/metadata/md5-cache/chromeos-base/chromeos-touch-etphidiap-0.0.1-r16 b/metadata/md5-cache/chromeos-base/chromeos-touch-etphidiap-0.0.1-r16
deleted file mode 100644
index 6e7c855..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-touch-etphidiap-0.0.1-r16
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install preinst setup unpack
-DEPEND=sys-apps/baselayout
-DESCRIPTION=Wrapper for etphidiap touch firmware updater.
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=cros_host cros_workon_tree_bb6c3b6c6859218ed93e22894b20eb95a36f7605
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/chromeos-touch-common sys-apps/etphidiap !<chromeos-base/touch_updater-0.0.1-r167 sys-apps/baselayout
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=4393dad3ce40db94076c97253a689f65
diff --git a/metadata/md5-cache/chromeos-base/chromeos-touch-etphidiap-0.0.1-r17 b/metadata/md5-cache/chromeos-base/chromeos-touch-etphidiap-0.0.1-r17
new file mode 100644
index 0000000..3ade9e5
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-touch-etphidiap-0.0.1-r17
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install preinst setup unpack
+DEPEND=sys-apps/baselayout
+DESCRIPTION=Wrapper for etphidiap touch firmware updater.
+EAPI=7
+HOMEPAGE=https://www.chromium.org/chromium-os
+IUSE=cros_host cros_workon_tree_0b0b1f88719b8298d8749ebe6834564f4b9f5b30
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/chromeos-touch-common sys-apps/etphidiap !<chromeos-base/touch_updater-0.0.1-r167 sys-apps/baselayout
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=fed239731fa90c72b2ca6196b30bb310
diff --git a/metadata/md5-cache/chromeos-base/chromeos-touch-etphidiap-9999 b/metadata/md5-cache/chromeos-base/chromeos-touch-etphidiap-9999
index 5c2c70f..64c33ef 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-touch-etphidiap-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-touch-etphidiap-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/chromeos-touch-common sys-apps/etphidiap !<chromeos-base/touch_updater-0.0.1-r167 sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
 _md5_=497aba3022c1ae69c021f51f809ba272
diff --git a/metadata/md5-cache/chromeos-base/chromeos-touch-stupdate-0.0.1-r12 b/metadata/md5-cache/chromeos-base/chromeos-touch-stupdate-0.0.1-r12
deleted file mode 100644
index dafce03..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-touch-stupdate-0.0.1-r12
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install preinst setup unpack
-DEPEND=sys-apps/baselayout
-DESCRIPTION=Wrapper for ST touch firmware updater.
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=cros_host cros_workon_tree_85c862c58d2ad4b07479b1b9ac509b5c1e65c538
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/chromeos-touch-common sys-apps/st-touch-fw-updater !<chromeos-base/touch_updater-0.0.1-r167 sys-apps/baselayout
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=0b110f575d8cc84499bbc593071cf4e8
diff --git a/metadata/md5-cache/chromeos-base/chromeos-touch-stupdate-0.0.1-r14 b/metadata/md5-cache/chromeos-base/chromeos-touch-stupdate-0.0.1-r14
new file mode 100644
index 0000000..44e80e2
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-touch-stupdate-0.0.1-r14
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install preinst setup unpack
+DEPEND=sys-apps/baselayout
+DESCRIPTION=Wrapper for ST touch firmware updater.
+EAPI=7
+HOMEPAGE=https://www.chromium.org/chromium-os
+IUSE=cros_host cros_workon_tree_fce9491b27463f6bbbbf3954ea90eb6d674149d7
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/chromeos-touch-common sys-apps/st-touch-fw-updater !<chromeos-base/touch_updater-0.0.1-r167 sys-apps/baselayout
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=956529c881fa40ef39ab4df45b621fce
diff --git a/metadata/md5-cache/chromeos-base/chromeos-touch-stupdate-9999 b/metadata/md5-cache/chromeos-base/chromeos-touch-stupdate-9999
index db7cdcc..ee8f10b4 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-touch-stupdate-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-touch-stupdate-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/chromeos-touch-common sys-apps/st-touch-fw-updater !<chromeos-base/touch_updater-0.0.1-r167 sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
 _md5_=e55b82602fc10e628bb936b009197a72
diff --git a/metadata/md5-cache/chromeos-base/chromeos-trim-0.0.1-r1710 b/metadata/md5-cache/chromeos-base/chromeos-trim-0.0.1-r1710
deleted file mode 100644
index 8bf39a5..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-trim-0.0.1-r1710
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Stateful partition periodic trimmer
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/trim/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1e69ede3d074afd135fa6f2136ea5d99c425702b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1e69ede3d074afd135fa6f2136ea5d99c425702b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/chromeos-common-script chromeos-base/chromeos-init sys-apps/util-linux >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9079482e6b4ad158cc5988d98097e1da
diff --git a/metadata/md5-cache/chromeos-base/chromeos-trim-0.0.1-r1768 b/metadata/md5-cache/chromeos-base/chromeos-trim-0.0.1-r1768
new file mode 100644
index 0000000..2355f87
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-trim-0.0.1-r1768
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Stateful partition periodic trimmer
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/trim/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_1e69ede3d074afd135fa6f2136ea5d99c425702b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_1e69ede3d074afd135fa6f2136ea5d99c425702b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/chromeos-common-script chromeos-base/chromeos-init sys-apps/util-linux >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=094e77f859f201a6f4a14f21e557f6d4
diff --git a/metadata/md5-cache/chromeos-base/chromeos-trim-9999 b/metadata/md5-cache/chromeos-base/chromeos-trim-9999
index 6d29f3d..769b2fe 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-trim-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-trim-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Stateful partition periodic trimmer
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/trim/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/trim/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/chromeos-common-script chromeos-base/chromeos-init sys-apps/util-linux >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=971be24137bdb2c4064a54770eaa8545
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=730f50f4573aae38b8f4f9e159790043
diff --git a/metadata/md5-cache/chromeos-base/chromeos-zephyr-0.0.1-r2758 b/metadata/md5-cache/chromeos-base/chromeos-zephyr-0.0.1-r2758
deleted file mode 100644
index 9304523..0000000
--- a/metadata/md5-cache/chromeos-base/chromeos-zephyr-0.0.1-r2758
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=chromeos-base/zephyr-build-tools dev-python/docopt dev-python/pykwalify dev-util/ninja dev-vcs/git chromeos-base/chromeos-config-host:=
-DEFINED_PHASES=compile info install setup unpack
-DEPEND=chromeos-base/chromeos-config has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
-DESCRIPTION=Zephyr based Embedded Controller firmware
-EAPI=7
-IUSE=unibuild cros_host cros_workon_tree_ad801ffd521c4f622dca3b192b539d92238a3394_b179ccd74d7d387aea458358f205107cb12fddd9_0806a13ff4dc41aca5ba34176c1b41611c195645_bea004e95973d9e20bbeb07189966519fc74e8e4_7e6f9e6c00a385e1ca7fa02919c855027b5c4ae2 has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild
-KEYWORDS=*
-LICENSE=Apache-2.0 BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/chromeos-config has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
-REQUIRED_USE=unibuild
-SLOT=0/0.0.1-r2758
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=b0d27801bc94a7019f98ef813156b61c
diff --git a/metadata/md5-cache/chromeos-base/chromeos-zephyr-0.0.1-r4486 b/metadata/md5-cache/chromeos-base/chromeos-zephyr-0.0.1-r4486
new file mode 100644
index 0000000..c1bdc8f
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromeos-zephyr-0.0.1-r4486
@@ -0,0 +1,14 @@
+BDEPEND=chromeos-base/zephyr-build-tools dev-python/docopt dev-python/pykwalify dev-util/ninja dev-vcs/git chromeos-base/chromeos-config-host:=
+DEFINED_PHASES=compile info install setup unpack
+DEPEND=chromeos-base/chromeos-config has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
+DESCRIPTION=Zephyr based Embedded Controller firmware
+EAPI=7
+IUSE=unibuild cros_host cros_workon_tree_3bf5d4b7673f2eff6b21d24c0ab38cadad8785dc_27307ed38fd548a34915387bf3477456118b7e2a_fa09b2c5e1b0265e807e3348cf0c7a8caf850bb0_b7cd5b19f195084b4849c677b63f4e4288042998_c4d4dd3923749f39f3075774e374e9e77e0c876f has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild
+KEYWORDS=*
+LICENSE=Apache-2.0 BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/chromeos-config has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
+REQUIRED_USE=unibuild
+SLOT=0/0.0.1-r4486
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=aebad1d9f7362ad54e48e33069acba45
diff --git a/metadata/md5-cache/chromeos-base/chromeos-zephyr-9999 b/metadata/md5-cache/chromeos-base/chromeos-zephyr-9999
index 132844a..6bba01e 100644
--- a/metadata/md5-cache/chromeos-base/chromeos-zephyr-9999
+++ b/metadata/md5-cache/chromeos-base/chromeos-zephyr-9999
@@ -10,5 +10,5 @@
 RDEPEND=chromeos-base/chromeos-config has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
 REQUIRED_USE=unibuild
 SLOT=0/9999
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9351fc9513ba4771b6fded9084c39c2c
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=63333152903133077e876a1d0d929318
diff --git a/metadata/md5-cache/chromeos-base/chromium-source-101.0.4907.0_rc-r1 b/metadata/md5-cache/chromeos-base/chromium-source-101.0.4907.0_rc-r1
deleted file mode 100644
index 6a2be70..0000000
--- a/metadata/md5-cache/chromeos-base/chromium-source-101.0.4907.0_rc-r1
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=unpack
-DESCRIPTION=Source code for the open-source version of Google Chrome web browser
-EAPI=6
-HOMEPAGE=http://www.chromium.org/
-IUSE=chrome_internal
-KEYWORDS=*
-LICENSE=BSD-Google chrome_internal? ( Google-TOS )
-SLOT=0
-_eclasses_=chromium-source	30aed414ff3b200d9b82dfcabdaf9195	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92
-_md5_=291ca4eadc26429efa91579c3fd47bc9
diff --git a/metadata/md5-cache/chromeos-base/chromium-source-106.0.5239.0_rc-r1 b/metadata/md5-cache/chromeos-base/chromium-source-106.0.5239.0_rc-r1
new file mode 100644
index 0000000..dd9eeda
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chromium-source-106.0.5239.0_rc-r1
@@ -0,0 +1,10 @@
+DEFINED_PHASES=unpack
+DESCRIPTION=Source code for the open-source version of Google Chrome web browser
+EAPI=6
+HOMEPAGE=http://www.chromium.org/
+IUSE=chrome_internal
+KEYWORDS=*
+LICENSE=BSD-Google chrome_internal? ( Google-TOS )
+SLOT=0
+_eclasses_=chromium-source	b257d954237d37ce41ae6245c0c5a5c9	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194
+_md5_=291ca4eadc26429efa91579c3fd47bc9
diff --git a/metadata/md5-cache/chromeos-base/chromium-source-9999 b/metadata/md5-cache/chromeos-base/chromium-source-9999
index d31d028..a5fd7a9 100644
--- a/metadata/md5-cache/chromeos-base/chromium-source-9999
+++ b/metadata/md5-cache/chromeos-base/chromium-source-9999
@@ -6,5 +6,5 @@
 KEYWORDS=~*
 LICENSE=BSD-Google chrome_internal? ( Google-TOS )
 SLOT=0
-_eclasses_=chromium-source	30aed414ff3b200d9b82dfcabdaf9195	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92
+_eclasses_=chromium-source	b257d954237d37ce41ae6245c0c5a5c9	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194
 _md5_=bef178d3fd767cf3ba1477609fef309e
diff --git a/metadata/md5-cache/chromeos-base/chromiumos-assets-0.0.1-r15 b/metadata/md5-cache/chromeos-base/chromiumos-assets-0.0.1-r15
index 00fb49c..e690cec 100644
--- a/metadata/md5-cache/chromeos-base/chromiumos-assets-0.0.1-r15
+++ b/metadata/md5-cache/chromeos-base/chromiumos-assets-0.0.1-r15
@@ -7,5 +7,5 @@
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=a54485adaf0b82619461e25c129d3db0
diff --git a/metadata/md5-cache/chromeos-base/chromiumos-assets-9999 b/metadata/md5-cache/chromeos-base/chromiumos-assets-9999
index 86d8c0a..dd6379a 100644
--- a/metadata/md5-cache/chromeos-base/chromiumos-assets-9999
+++ b/metadata/md5-cache/chromeos-base/chromiumos-assets-9999
@@ -7,5 +7,5 @@
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=ac9c044d071d877406155729812ce5d2
diff --git a/metadata/md5-cache/chromeos-base/chunnel-0.1.0-r26 b/metadata/md5-cache/chromeos-base/chunnel-0.1.0-r26
deleted file mode 100644
index fceb566..0000000
--- a/metadata/md5-cache/chromeos-base/chunnel-0.1.0-r26
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/system_api:= dev-rust/libchromeos:= dev-rust/sys_util:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-tree-0.9*:= =dev-rust/getopts-0.2*:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= >=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3 >=dev-rust/protoc-rust-2.16.2:= <dev-rust/protoc-rust-3 =dev-rust/remain-0.2*:= dev-rust/sys_util:= =dev-rust/tempfile-3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:= sys-apps/baselayout
-DESCRIPTION=Tunnel between localhost in different netns
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/chunnel
-IUSE=kvm_host cros_host cros_workon_tree_a65c0fd06be8412c4575b3876fce04b4aea5f562 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=sys-apps/dbus sys-apps/baselayout
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=6585de5ff0b0ac47a4bcf94532d733d6
diff --git a/metadata/md5-cache/chromeos-base/chunnel-0.1.0-r29 b/metadata/md5-cache/chromeos-base/chunnel-0.1.0-r29
new file mode 100644
index 0000000..dc57c4d
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/chunnel-0.1.0-r29
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=chromeos-base/system_api:= dev-rust/libchromeos:= dev-rust/sys_util:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-tree-0.9*:= =dev-rust/getopts-0.2*:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= >=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3 >=dev-rust/protoc-rust-2.16.2:= <dev-rust/protoc-rust-3 =dev-rust/remain-0.2*:= dev-rust/sys_util:= =dev-rust/tempfile-3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:= sys-apps/baselayout
+DESCRIPTION=Tunnel between localhost in different netns
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/chunnel
+IUSE=kvm_host cros_host cros_workon_tree_b6bc357ae990db1306217b697725cb038957023a cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=sys-apps/dbus virtual/rust-binaries:= sys-apps/baselayout
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=a6762ad413ffe8424a2d1182f763eb93
diff --git a/metadata/md5-cache/chromeos-base/chunnel-9999 b/metadata/md5-cache/chromeos-base/chunnel-9999
index db1c451..a02d180 100644
--- a/metadata/md5-cache/chromeos-base/chunnel-9999
+++ b/metadata/md5-cache/chromeos-base/chunnel-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/system_api:= dev-rust/libchromeos:= dev-rust/sys_util:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-tree-0.9*:= =dev-rust/getopts-0.2*:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= >=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3 >=dev-rust/protoc-rust-2.16.2:= <dev-rust/protoc-rust-3 =dev-rust/remain-0.2*:= dev-rust/sys_util:= =dev-rust/tempfile-3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:= sys-apps/baselayout
+DEPEND=chromeos-base/system_api:= dev-rust/libchromeos:= dev-rust/sys_util:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-tree-0.9*:= =dev-rust/getopts-0.2*:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= >=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3 >=dev-rust/protoc-rust-2.16.2:= <dev-rust/protoc-rust-3 =dev-rust/remain-0.2*:= dev-rust/sys_util:= =dev-rust/tempfile-3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:= sys-apps/baselayout
 DESCRIPTION=Tunnel between localhost in different netns
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/chunnel
-IUSE=kvm_host cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=kvm_host cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=sys-apps/dbus sys-apps/baselayout
+RDEPEND=sys-apps/dbus virtual/rust-binaries:= sys-apps/baselayout
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
 _md5_=76003af1dd0a6a4f20c8699acb6fc33c
diff --git a/metadata/md5-cache/chromeos-base/client_id-0.0.1-r20 b/metadata/md5-cache/chromeos-base/client_id-0.0.1-r20
deleted file mode 100644
index 110ddc48..0000000
--- a/metadata/md5-cache/chromeos-base/client_id-0.0.1-r20
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Utility to generate Client ID for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/client_id
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_44fee33df1d1e1d19aa6078be1f5c33590102ac8_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_44fee33df1d1e1d19aa6078be1f5c33590102ac8_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r20
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=65e6031f412ff1fa7f034589caba89e1
diff --git a/metadata/md5-cache/chromeos-base/client_id-9999 b/metadata/md5-cache/chromeos-base/client_id-9999
deleted file mode 100644
index 22d4f2b..0000000
--- a/metadata/md5-cache/chromeos-base/client_id-9999
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Utility to generate Client ID for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/client_id
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
-KEYWORDS=~*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=24ab1fd60b2fa68b358afd507b68be02
diff --git a/metadata/md5-cache/chromeos-base/codelab-0.0.1-r210 b/metadata/md5-cache/chromeos-base/codelab-0.0.1-r210
deleted file mode 100644
index e48a8ce..0000000
--- a/metadata/md5-cache/chromeos-base/codelab-0.0.1-r210
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Developer codelab for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/codelab/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4437bdb33c7e5b4e68ee7e64a71ac1f216c0511c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4437bdb33c7e5b4e68ee7e64a71ac1f216c0511c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r210
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=b4babcd755be2d1fddd17f369d07e192
diff --git a/metadata/md5-cache/chromeos-base/codelab-0.0.1-r271 b/metadata/md5-cache/chromeos-base/codelab-0.0.1-r271
new file mode 100644
index 0000000..b5352ba
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/codelab-0.0.1-r271
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Developer codelab for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/codelab/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_0bb4f1d027f4fd2368775ade6c2d929e5773cdf8_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_0bb4f1d027f4fd2368775ade6c2d929e5773cdf8_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r271
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0d70d53ebee9657cf195d7587f784c0f
diff --git a/metadata/md5-cache/chromeos-base/codelab-9999 b/metadata/md5-cache/chromeos-base/codelab-9999
index 38dbe16..a28a3de 100644
--- a/metadata/md5-cache/chromeos-base/codelab-9999
+++ b/metadata/md5-cache/chromeos-base/codelab-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Developer codelab for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/codelab/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/codelab/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a1292a0bad33a5c2279e2432e2e3a017
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dd1442a5dc417ebda70d244f1e7947e0
diff --git a/metadata/md5-cache/chromeos-base/common-assets-0.0.2-r140 b/metadata/md5-cache/chromeos-base/common-assets-0.0.2-r140
index 4a4e022..56ce895 100644
--- a/metadata/md5-cache/chromeos-base/common-assets-0.0.2-r140
+++ b/metadata/md5-cache/chromeos-base/common-assets-0.0.2-r140
@@ -8,5 +8,5 @@
 PROPERTIES=live
 RDEPEND=fonts? ( chromeos-base/chromeos-fonts ) x11-libs/pango
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=fa87d0aa647a6401263c5f365b86f63e
diff --git a/metadata/md5-cache/chromeos-base/common-assets-9999 b/metadata/md5-cache/chromeos-base/common-assets-9999
index 2ab84d6..9304fb1 100644
--- a/metadata/md5-cache/chromeos-base/common-assets-9999
+++ b/metadata/md5-cache/chromeos-base/common-assets-9999
@@ -8,5 +8,5 @@
 PROPERTIES=live
 RDEPEND=fonts? ( chromeos-base/chromeos-fonts ) x11-libs/pango
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=5df65fb56fa12678c5a3bc9846b7c6cb
diff --git a/metadata/md5-cache/chromeos-base/crash-reporter-0.0.1-r3722 b/metadata/md5-cache/chromeos-base/crash-reporter-0.0.1-r3722
deleted file mode 100644
index 1cebea7..0000000
--- a/metadata/md5-cache/chromeos-base/crash-reporter-0.0.1-r3722
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git dev-vcs/git dev-vcs/git virtual/pkgconfig virtual/pkgconfig
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/minijail:= chromeos-base/google-breakpad:=[cros_i686?,cros_arm64?] >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/protobuf:= dev-libs/re2:= kvm_guest? ( net-libs/grpc:= ) net-misc/curl:= sys-libs/zlib:= chromeos-base/debugd-client:= chromeos-base/session_manager-client:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= chromeos-base/vm_protos:= test? ( app-arch/gzip ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Crash reporting service that uploads crash reports with debug information
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/crash-reporter/
-IUSE=arcpp arcvm chromeless_tty cros_ec cros_embedded -direncryption kvm_guest systemd fuzzer test vm-containers cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_f555048a76aed639a7a9113b23bd686aaf8520ba_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros_arm64 cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_f555048a76aed639a7a9113b23bd686aaf8520ba_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros_i686 cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_f555048a76aed639a7a9113b23bd686aaf8520ba_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_f555048a76aed639a7a9113b23bd686aaf8520ba_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live live live
-RDEPEND=chromeos-base/minijail:= chromeos-base/google-breakpad:=[cros_i686?,cros_arm64?] >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/protobuf:= dev-libs/re2:= kvm_guest? ( net-libs/grpc:= ) net-misc/curl:= sys-libs/zlib:= chromeos-base/chromeos-ca-certificates direncryption? ( sys-apps/keyutils:= ) cros_ec? ( chromeos-base/ec-utils ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r3722
-_eclasses_=cros-arm64	99e3147108567dd0bb2989d51049e8c0	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-i686	2e67545fc7d4a6f126932c99c39a6627	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=610300bd636647f7205667b67fc02b32
diff --git a/metadata/md5-cache/chromeos-base/crash-reporter-0.0.1-r3846 b/metadata/md5-cache/chromeos-base/crash-reporter-0.0.1-r3846
new file mode 100644
index 0000000..2bab2e7
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/crash-reporter-0.0.1-r3846
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git dev-vcs/git dev-vcs/git virtual/pkgconfig virtual/pkgconfig
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/libcrossystem:= chromeos-base/minijail:= chromeos-base/google-breakpad:=[cros_i686?,cros_arm64?] >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/protobuf:= dev-libs/re2:= kvm_guest? ( net-libs/grpc:= ) net-misc/curl:= sys-libs/zlib:= chromeos-base/debugd-client:= chromeos-base/session_manager-client:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= chromeos-base/vm_protos:= test? ( app-arch/gzip ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Crash reporting service that uploads crash reports with debug information
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/crash-reporter/
+IUSE=arcpp arcvm chromeless_tty cros_ec cros_embedded -direncryption kvm_guest systemd fuzzer test vm-containers force_breakpad cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_b6de0ed9bf68f24a62063f5dd296e2f6c23120cb_3b33fc07daf512e548300eefbd028b622bc51b44_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros_arm64 cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_b6de0ed9bf68f24a62063f5dd296e2f6c23120cb_3b33fc07daf512e548300eefbd028b622bc51b44_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros_i686 cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_b6de0ed9bf68f24a62063f5dd296e2f6c23120cb_3b33fc07daf512e548300eefbd028b622bc51b44_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_b6de0ed9bf68f24a62063f5dd296e2f6c23120cb_3b33fc07daf512e548300eefbd028b622bc51b44_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live live live
+RDEPEND=chromeos-base/libcrossystem:= chromeos-base/minijail:= chromeos-base/google-breakpad:=[cros_i686?,cros_arm64?] >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/protobuf:= dev-libs/re2:= kvm_guest? ( net-libs/grpc:= ) net-misc/curl:= sys-libs/zlib:= chromeos-base/chromeos-ca-certificates direncryption? ( sys-apps/keyutils:= ) cros_ec? ( chromeos-base/ec-utils ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r3846
+_eclasses_=cros-arm64	99e3147108567dd0bb2989d51049e8c0	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-i686	2e67545fc7d4a6f126932c99c39a6627	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=84d07db389118054a55097f717e5bcc0
diff --git a/metadata/md5-cache/chromeos-base/crash-reporter-9999 b/metadata/md5-cache/chromeos-base/crash-reporter-9999
index d362357..2d642e4 100644
--- a/metadata/md5-cache/chromeos-base/crash-reporter-9999
+++ b/metadata/md5-cache/chromeos-base/crash-reporter-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git dev-vcs/git dev-vcs/git virtual/pkgconfig virtual/pkgconfig
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/minijail:= chromeos-base/google-breakpad:=[cros_i686?,cros_arm64?] >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/protobuf:= dev-libs/re2:= kvm_guest? ( net-libs/grpc:= ) net-misc/curl:= sys-libs/zlib:= chromeos-base/debugd-client:= chromeos-base/session_manager-client:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= chromeos-base/vm_protos:= test? ( app-arch/gzip ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/libcrossystem:= chromeos-base/minijail:= chromeos-base/google-breakpad:=[cros_i686?,cros_arm64?] >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/protobuf:= dev-libs/re2:= kvm_guest? ( net-libs/grpc:= ) net-misc/curl:= sys-libs/zlib:= chromeos-base/debugd-client:= chromeos-base/session_manager-client:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= chromeos-base/vm_protos:= test? ( app-arch/gzip ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Crash reporting service that uploads crash reports with debug information
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/crash-reporter/
-IUSE=arcpp arcvm chromeless_tty cros_ec cros_embedded -direncryption kvm_guest systemd fuzzer test vm-containers cros_host cros_workon_tree_ cros_arm64 cros_host cros_workon_tree_ cros_i686 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=arcpp arcvm chromeless_tty cros_ec cros_embedded -direncryption kvm_guest systemd fuzzer test vm-containers force_breakpad cros_host cros_workon_tree_ cros_arm64 cros_host cros_workon_tree_ cros_i686 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live live live
-RDEPEND=chromeos-base/minijail:= chromeos-base/google-breakpad:=[cros_i686?,cros_arm64?] >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/protobuf:= dev-libs/re2:= kvm_guest? ( net-libs/grpc:= ) net-misc/curl:= sys-libs/zlib:= chromeos-base/chromeos-ca-certificates direncryption? ( sys-apps/keyutils:= ) cros_ec? ( chromeos-base/ec-utils ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+RDEPEND=chromeos-base/libcrossystem:= chromeos-base/minijail:= chromeos-base/google-breakpad:=[cros_i686?,cros_arm64?] >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/protobuf:= dev-libs/re2:= kvm_guest? ( net-libs/grpc:= ) net-misc/curl:= sys-libs/zlib:= chromeos-base/chromeos-ca-certificates direncryption? ( sys-apps/keyutils:= ) cros_ec? ( chromeos-base/ec-utils ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-arm64	99e3147108567dd0bb2989d51049e8c0	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-i686	2e67545fc7d4a6f126932c99c39a6627	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=1f3deb1bc6e092cfc1972e28cb082f68
+_eclasses_=cros-arm64	99e3147108567dd0bb2989d51049e8c0	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-i686	2e67545fc7d4a6f126932c99c39a6627	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=0379c9acc78167d58a804f94f79f40ac
diff --git a/metadata/md5-cache/chromeos-base/cronista-0.24.52-r12 b/metadata/md5-cache/chromeos-base/cronista-0.24.52-r12
deleted file mode 100644
index ca0c9f4..0000000
--- a/metadata/md5-cache/chromeos-base/cronista-0.24.52-r12
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/libsirenia:= =dev-rust/anyhow-1*:= =dev-rust/getopts-0.2*:= dev-rust/libchromeos:= >=dev-rust/openssl-0.10.25 <dev-rust/openssl-0.11.0_alpha:= >=dev-rust/protobuf-2.16.2 <dev-rust/protobuf-3.0.0_alpha:= >=dev-rust/protoc-rust-2.16.2 <dev-rust/protoc-rust-3.0.0_alpha:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2.0.0_alpha:= >=dev-rust/serde_derive-1.0.114 <dev-rust/serde_derive-2.0.0_alpha:= dev-rust/sys_util:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0_alpha:= sys-apps/baselayout >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Authenticated storage daemon.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cronista/
-IUSE=manatee cros_host cros_workon_tree_c0c32f86c982a5e9ba24083659211862342462cc cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=sys-apps/dbus sys-apps/baselayout
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.24.52-r12
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=fd82cc68bc36e773cbaa469995488654
diff --git a/metadata/md5-cache/chromeos-base/cronista-0.24.52-r14 b/metadata/md5-cache/chromeos-base/cronista-0.24.52-r14
new file mode 100644
index 0000000..bfed2fc
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/cronista-0.24.52-r14
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=chromeos-base/crosvm-base:= chromeos-base/libsirenia:= =dev-rust/anyhow-1*:= =dev-rust/getopts-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/openssl-0.10*:= =dev-rust/protobuf-2*:= =dev-rust/protoc-rust-2*:= =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= =dev-rust/thiserror-1*:= sys-apps/baselayout >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Authenticated storage daemon.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cronista/
+IUSE=manatee cros_host cros_workon_tree_98a25e3d9944b35d6018c91e0a335d5aef591547 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=sys-apps/dbus sys-apps/baselayout virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.24.52-r14
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=67c7a015680bd880d13451d14e1ac278
diff --git a/metadata/md5-cache/chromeos-base/cronista-9999 b/metadata/md5-cache/chromeos-base/cronista-9999
index 63f6091..32c0747 100644
--- a/metadata/md5-cache/chromeos-base/cronista-9999
+++ b/metadata/md5-cache/chromeos-base/cronista-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/libsirenia:= =dev-rust/anyhow-1*:= =dev-rust/getopts-0.2*:= dev-rust/libchromeos:= >=dev-rust/openssl-0.10.25 <dev-rust/openssl-0.11.0_alpha:= >=dev-rust/protobuf-2.16.2 <dev-rust/protobuf-3.0.0_alpha:= >=dev-rust/protoc-rust-2.16.2 <dev-rust/protoc-rust-3.0.0_alpha:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2.0.0_alpha:= >=dev-rust/serde_derive-1.0.114 <dev-rust/serde_derive-2.0.0_alpha:= dev-rust/sys_util:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0_alpha:= sys-apps/baselayout >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=chromeos-base/crosvm-base:= chromeos-base/libsirenia:= =dev-rust/anyhow-1*:= =dev-rust/getopts-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/openssl-0.10*:= =dev-rust/protobuf-2*:= =dev-rust/protoc-rust-2*:= =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= =dev-rust/thiserror-1*:= sys-apps/baselayout >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Authenticated storage daemon.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cronista/
-IUSE=manatee cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=manatee cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=sys-apps/dbus sys-apps/baselayout
+RDEPEND=sys-apps/dbus sys-apps/baselayout virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=4ee736fbb2074f05a7a80319450c12a2
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=27e76522f98db647a589369dd79af6c8
diff --git a/metadata/md5-cache/chromeos-base/cros-camera-0.0.1-r1153 b/metadata/md5-cache/chromeos-base/cros-camera-0.0.1-r1153
deleted file mode 100644
index 4f30f7b..0000000
--- a/metadata/md5-cache/chromeos-base/cros-camera-0.0.1-r1153
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=>=chromeos-base/cros-camera-libs-0.0.1-r34:= chromeos-base/cros-camera-android-deps:= media-libs/cros-camera-hal-usb:= media-libs/libsync:= libcamera? ( media-libs/libcamera ) !libcamera? ( virtual/cros-camera-hal virtual/cros-camera-hal-configs ) >=chromeos-base/metrics-0.0.1-r3152:= media-libs/minigbm:= x11-libs/libdrm:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Chrome OS camera service. The service is in charge of accessing camera device. It uses unix domain socket to build a synchronous channel.
-EAPI=7
-IUSE=arc-camera1 cheets camera_feature_face_detection -libcamera cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_1fc2d79c469ce970cc8c648b9bc205d8320774cb_27f07f8f694f6cd78b09e80103a5f7aecc3f2378_080361d5d45e74e7927e56bab774531748d1a569_17c0af603db6e69e7d5b07fe21738237ebe29f3f_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_1fc2d79c469ce970cc8c648b9bc205d8320774cb_27f07f8f694f6cd78b09e80103a5f7aecc3f2378_080361d5d45e74e7927e56bab774531748d1a569_17c0af603db6e69e7d5b07fe21738237ebe29f3f_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/cros-camera-libs-0.0.1-r34:= chromeos-base/cros-camera-android-deps:= media-libs/cros-camera-hal-usb:= media-libs/libsync:= libcamera? ( media-libs/libcamera ) !libcamera? ( virtual/cros-camera-hal virtual/cros-camera-hal-configs ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
-SLOT=0/0.0.1-r1153
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=b43e826691e9e2ade1f7a06e51b83652
diff --git a/metadata/md5-cache/chromeos-base/cros-camera-0.0.1-r1274 b/metadata/md5-cache/chromeos-base/cros-camera-0.0.1-r1274
new file mode 100644
index 0000000..bfbe320
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/cros-camera-0.0.1-r1274
@@ -0,0 +1,14 @@
+BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=>=chromeos-base/cros-camera-libs-0.0.1-r34:= chromeos-base/cros-camera-android-deps:= media-libs/cros-camera-hal-usb:= media-libs/libsync:= libcamera? ( media-libs/libcamera ) !libcamera? ( virtual/cros-camera-hal virtual/cros-camera-hal-configs ) >=chromeos-base/metrics-0.0.1-r3152:= media-libs/minigbm:= x11-libs/libdrm:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Chrome OS camera service. The service is in charge of accessing camera device. It uses unix domain socket to build a synchronous channel.
+EAPI=7
+IUSE=arc-camera1 cheets camera_feature_face_detection -libcamera march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7093536475612fadc6a0afe16b8f5f4f4251e4c2_b0ccef63d93d3f8d215dd201788aeebd15619f07_0aff79d6a3216ce221fa82dfa9e8fda54a0df26a_2b7909959649540a63997338914ec45cf9c7d07c_aae8bf048bbe1147ff2aa47f59de29bad1b6355d_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7093536475612fadc6a0afe16b8f5f4f4251e4c2_b0ccef63d93d3f8d215dd201788aeebd15619f07_0aff79d6a3216ce221fa82dfa9e8fda54a0df26a_2b7909959649540a63997338914ec45cf9c7d07c_aae8bf048bbe1147ff2aa47f59de29bad1b6355d_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/cros-camera-libs-0.0.1-r34:= chromeos-base/cros-camera-android-deps:= media-libs/cros-camera-hal-usb:= media-libs/libsync:= libcamera? ( media-libs/libcamera ) !libcamera? ( virtual/cros-camera-hal virtual/cros-camera-hal-configs ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
+SLOT=0/0.0.1-r1274
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=52e28a8742614e96cbe945cabf3c44cc
diff --git a/metadata/md5-cache/chromeos-base/cros-camera-9999 b/metadata/md5-cache/chromeos-base/cros-camera-9999
index d794764..85467f2 100644
--- a/metadata/md5-cache/chromeos-base/cros-camera-9999
+++ b/metadata/md5-cache/chromeos-base/cros-camera-9999
@@ -1,13 +1,14 @@
 BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=>=chromeos-base/cros-camera-libs-0.0.1-r34:= chromeos-base/cros-camera-android-deps:= media-libs/cros-camera-hal-usb:= media-libs/libsync:= libcamera? ( media-libs/libcamera ) !libcamera? ( virtual/cros-camera-hal virtual/cros-camera-hal-configs ) >=chromeos-base/metrics-0.0.1-r3152:= media-libs/minigbm:= x11-libs/libdrm:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=>=chromeos-base/cros-camera-libs-0.0.1-r34:= chromeos-base/cros-camera-android-deps:= media-libs/cros-camera-hal-usb:= media-libs/libsync:= libcamera? ( media-libs/libcamera ) !libcamera? ( virtual/cros-camera-hal virtual/cros-camera-hal-configs ) >=chromeos-base/metrics-0.0.1-r3152:= media-libs/minigbm:= x11-libs/libdrm:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Chrome OS camera service. The service is in charge of accessing camera device. It uses unix domain socket to build a synchronous channel.
 EAPI=7
-IUSE=arc-camera1 cheets camera_feature_face_detection -libcamera cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=arc-camera1 cheets camera_feature_face_detection -libcamera march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/cros-camera-libs-0.0.1-r34:= chromeos-base/cros-camera-android-deps:= media-libs/cros-camera-hal-usb:= media-libs/libsync:= libcamera? ( media-libs/libcamera ) !libcamera? ( virtual/cros-camera-hal virtual/cros-camera-hal-configs ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
 SLOT=0/9999
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
 _md5_=e335d36780adb6222ade16494b555333
diff --git a/metadata/md5-cache/chromeos-base/cros-camera-android-deps-0.0.1-r155 b/metadata/md5-cache/chromeos-base/cros-camera-android-deps-0.0.1-r155
new file mode 100644
index 0000000..aa48d41
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/cros-camera-android-deps-0.0.1-r155
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Android dependencies needed by cros-camera service and vendor HALs
+EAPI=7
+IUSE=cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_efe904e8c621b150b9937196a1b506dfbdc10ece_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_efe904e8c621b150b9937196a1b506dfbdc10ece_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=!media-libs/cros-camera-android-headers !media-libs/cros-camera-libcamera_client !media-libs/cros-camera-libcamera_metadata >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=be7dfab7e8f79c757af4f8f19c361322
diff --git a/metadata/md5-cache/chromeos-base/cros-camera-android-deps-0.0.1-r92 b/metadata/md5-cache/chromeos-base/cros-camera-android-deps-0.0.1-r92
deleted file mode 100644
index cae90eb..0000000
--- a/metadata/md5-cache/chromeos-base/cros-camera-android-deps-0.0.1-r92
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Android dependencies needed by cros-camera service and vendor HALs
-EAPI=7
-IUSE=cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_6675ee88e02a0fc7d69be0173e1d9af0812751f6_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_6675ee88e02a0fc7d69be0173e1d9af0812751f6_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=!media-libs/cros-camera-android-headers !media-libs/cros-camera-libcamera_client !media-libs/cros-camera-libcamera_metadata >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5f517e776ca6fd79919261d9c5b238cb
diff --git a/metadata/md5-cache/chromeos-base/cros-camera-android-deps-9999 b/metadata/md5-cache/chromeos-base/cros-camera-android-deps-9999
index 233b87e..08f7f57 100644
--- a/metadata/md5-cache/chromeos-base/cros-camera-android-deps-9999
+++ b/metadata/md5-cache/chromeos-base/cros-camera-android-deps-9999
@@ -1,13 +1,13 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Android dependencies needed by cros-camera service and vendor HALs
 EAPI=7
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=!media-libs/cros-camera-android-headers !media-libs/cros-camera-libcamera_client !media-libs/cros-camera-libcamera_metadata >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f715507d35489f632dd3578dad2b3b0d
diff --git a/metadata/md5-cache/chromeos-base/cros-camera-libs-0.0.1-r361 b/metadata/md5-cache/chromeos-base/cros-camera-libs-0.0.1-r361
deleted file mode 100644
index 3fbbc8f..0000000
--- a/metadata/md5-cache/chromeos-base/cros-camera-libs-0.0.1-r361
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=!media-libs/cros-camera-libcab !media-libs/cros-camera-libcam_gpu_algo !media-libs/cros-camera-libcamera_common !media-libs/cros-camera-libcamera_connector !media-libs/cros-camera-libcamera_exif !media-libs/cros-camera-libcamera_ipc !media-libs/cros-camera-libcamera_timezone !media-libs/cros-camera-libcamera_v4l2_device !media-libs/cros-camera-libcbm !media-libs/cros-camera-libjda chromeos-base/chromeos-config-tools:= chromeos-base/cros-camera-android-deps:= camera_feature_auto_framing? ( media-libs/cros-camera-libautoframing:= ) camera_feature_hdrnet? ( media-libs/cros-camera-libgcam:= ) camera_feature_portrait_mode? ( media-libs/cros-camera-effect-portrait-mode:= ) media-libs/libexif:= media-libs/libsync:= media-libs/minigbm:= media-libs/cros-camera-facessd:= virtual/libudev:= virtual/opengles:= x11-libs/libdrm:= >=chromeos-base/metrics-0.0.1-r3152:= media-libs/cros-camera-libcamera_connector_headers:= media-libs/libyuv:= x11-drivers/opengles-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS camera common libraries.
-EAPI=7
-IUSE=camera_feature_auto_framing camera_feature_face_detection camera_feature_hdrnet camera_feature_portrait_mode ipu6 ipu6ep ipu6se cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_cb410200827b0e0e8a13e27ee2d8beee28948361_8aea57128c1adc8ea0b845047ce01733cecaf5c1_080361d5d45e74e7927e56bab774531748d1a569_17c0af603db6e69e7d5b07fe21738237ebe29f3f_bea140d13f7cf1092e4c89a45011c04c28327972_8a9ef8758fbc933dbbb61914e0a924d6fd9626f6_5344097beef866bd9f20e32d6264c0d33ea1623a cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_cb410200827b0e0e8a13e27ee2d8beee28948361_8aea57128c1adc8ea0b845047ce01733cecaf5c1_080361d5d45e74e7927e56bab774531748d1a569_17c0af603db6e69e7d5b07fe21738237ebe29f3f_bea140d13f7cf1092e4c89a45011c04c28327972_8a9ef8758fbc933dbbb61914e0a924d6fd9626f6_5344097beef866bd9f20e32d6264c0d33ea1623a cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=!media-libs/cros-camera-libcab !media-libs/cros-camera-libcam_gpu_algo !media-libs/cros-camera-libcamera_common !media-libs/cros-camera-libcamera_connector !media-libs/cros-camera-libcamera_exif !media-libs/cros-camera-libcamera_ipc !media-libs/cros-camera-libcamera_timezone !media-libs/cros-camera-libcamera_v4l2_device !media-libs/cros-camera-libcbm !media-libs/cros-camera-libjda chromeos-base/chromeos-config-tools:= chromeos-base/cros-camera-android-deps:= camera_feature_auto_framing? ( media-libs/cros-camera-libautoframing:= ) camera_feature_hdrnet? ( media-libs/cros-camera-libgcam:= ) camera_feature_portrait_mode? ( media-libs/cros-camera-effect-portrait-mode:= ) media-libs/libexif:= media-libs/libsync:= media-libs/minigbm:= media-libs/cros-camera-facessd:= virtual/libudev:= virtual/opengles:= x11-libs/libdrm:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-REQUIRED_USE=camera_feature_auto_framing? ( camera_feature_face_detection )
-SLOT=0/0.0.1-r361
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a3e2497041585ba73820e5973ba12640
diff --git a/metadata/md5-cache/chromeos-base/cros-camera-libs-0.0.1-r557 b/metadata/md5-cache/chromeos-base/cros-camera-libs-0.0.1-r557
new file mode 100644
index 0000000..ba9f26a
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/cros-camera-libs-0.0.1-r557
@@ -0,0 +1,14 @@
+BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=!media-libs/cros-camera-libcab !media-libs/cros-camera-libcam_gpu_algo !media-libs/cros-camera-libcamera_common !media-libs/cros-camera-libcamera_connector !media-libs/cros-camera-libcamera_exif !media-libs/cros-camera-libcamera_ipc !media-libs/cros-camera-libcamera_timezone !media-libs/cros-camera-libcamera_v4l2_device !media-libs/cros-camera-libcbm !media-libs/cros-camera-libjda chromeos-base/chromeos-config-tools:= chromeos-base/cros-camera-android-deps:= media-libs/cros-camera-libfs:= media-libs/libexif:= media-libs/libsync:= media-libs/minigbm:= virtual/libudev:= virtual/opengles:= x11-libs/libdrm:= >=chromeos-base/metrics-0.0.1-r3152:= media-libs/cros-camera-libcamera_connector_headers:= media-libs/libyuv:= x11-base/xorg-proto:= x11-drivers/opengles-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS camera common libraries.
+EAPI=7
+IUSE=camera_feature_auto_framing camera_feature_face_detection camera_feature_hdrnet camera_feature_portrait_mode ipu6 ipu6ep ipu6se qualcomm_camx march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7093536475612fadc6a0afe16b8f5f4f4251e4c2_f481c437e0dbbacc4832a55dfc3fda4c078162b2_29d52c6d2464057e3fde8214a173f96d96f3b267_2b7909959649540a63997338914ec45cf9c7d07c_aae8bf048bbe1147ff2aa47f59de29bad1b6355d_527abd7a988a45572305a6c44b5324d0d9cf8be2_8a9ef8758fbc933dbbb61914e0a924d6fd9626f6_6c730fa6bc9c00d204b80c4944f1951b8f35a48e cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7093536475612fadc6a0afe16b8f5f4f4251e4c2_f481c437e0dbbacc4832a55dfc3fda4c078162b2_29d52c6d2464057e3fde8214a173f96d96f3b267_2b7909959649540a63997338914ec45cf9c7d07c_aae8bf048bbe1147ff2aa47f59de29bad1b6355d_527abd7a988a45572305a6c44b5324d0d9cf8be2_8a9ef8758fbc933dbbb61914e0a924d6fd9626f6_6c730fa6bc9c00d204b80c4944f1951b8f35a48e cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=!media-libs/cros-camera-libcab !media-libs/cros-camera-libcam_gpu_algo !media-libs/cros-camera-libcamera_common !media-libs/cros-camera-libcamera_connector !media-libs/cros-camera-libcamera_exif !media-libs/cros-camera-libcamera_ipc !media-libs/cros-camera-libcamera_timezone !media-libs/cros-camera-libcamera_v4l2_device !media-libs/cros-camera-libcbm !media-libs/cros-camera-libjda chromeos-base/chromeos-config-tools:= chromeos-base/cros-camera-android-deps:= media-libs/cros-camera-libfs:= media-libs/libexif:= media-libs/libsync:= media-libs/minigbm:= virtual/libudev:= virtual/opengles:= x11-libs/libdrm:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=camera_feature_auto_framing? ( camera_feature_face_detection ) ?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
+SLOT=0/0.0.1-r557
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=066c6876ad1121a24d7d0fca9f320208
diff --git a/metadata/md5-cache/chromeos-base/cros-camera-libs-9999 b/metadata/md5-cache/chromeos-base/cros-camera-libs-9999
index f9cb207..edb6d4e 100644
--- a/metadata/md5-cache/chromeos-base/cros-camera-libs-9999
+++ b/metadata/md5-cache/chromeos-base/cros-camera-libs-9999
@@ -1,14 +1,14 @@
 BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=!media-libs/cros-camera-libcab !media-libs/cros-camera-libcam_gpu_algo !media-libs/cros-camera-libcamera_common !media-libs/cros-camera-libcamera_connector !media-libs/cros-camera-libcamera_exif !media-libs/cros-camera-libcamera_ipc !media-libs/cros-camera-libcamera_timezone !media-libs/cros-camera-libcamera_v4l2_device !media-libs/cros-camera-libcbm !media-libs/cros-camera-libjda chromeos-base/chromeos-config-tools:= chromeos-base/cros-camera-android-deps:= camera_feature_auto_framing? ( media-libs/cros-camera-libautoframing:= ) camera_feature_hdrnet? ( media-libs/cros-camera-libgcam:= ) camera_feature_portrait_mode? ( media-libs/cros-camera-effect-portrait-mode:= ) media-libs/libexif:= media-libs/libsync:= media-libs/minigbm:= media-libs/cros-camera-facessd:= virtual/libudev:= virtual/opengles:= x11-libs/libdrm:= >=chromeos-base/metrics-0.0.1-r3152:= media-libs/cros-camera-libcamera_connector_headers:= media-libs/libyuv:= x11-drivers/opengles-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=!media-libs/cros-camera-libcab !media-libs/cros-camera-libcam_gpu_algo !media-libs/cros-camera-libcamera_common !media-libs/cros-camera-libcamera_connector !media-libs/cros-camera-libcamera_exif !media-libs/cros-camera-libcamera_ipc !media-libs/cros-camera-libcamera_timezone !media-libs/cros-camera-libcamera_v4l2_device !media-libs/cros-camera-libcbm !media-libs/cros-camera-libjda chromeos-base/chromeos-config-tools:= chromeos-base/cros-camera-android-deps:= media-libs/cros-camera-libfs:= media-libs/libexif:= media-libs/libsync:= media-libs/minigbm:= virtual/libudev:= virtual/opengles:= x11-libs/libdrm:= >=chromeos-base/metrics-0.0.1-r3152:= media-libs/cros-camera-libcamera_connector_headers:= media-libs/libyuv:= x11-base/xorg-proto:= x11-drivers/opengles-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS camera common libraries.
 EAPI=7
-IUSE=camera_feature_auto_framing camera_feature_face_detection camera_feature_hdrnet camera_feature_portrait_mode ipu6 ipu6ep ipu6se cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=camera_feature_auto_framing camera_feature_face_detection camera_feature_hdrnet camera_feature_portrait_mode ipu6 ipu6ep ipu6se qualcomm_camx march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=!media-libs/cros-camera-libcab !media-libs/cros-camera-libcam_gpu_algo !media-libs/cros-camera-libcamera_common !media-libs/cros-camera-libcamera_connector !media-libs/cros-camera-libcamera_exif !media-libs/cros-camera-libcamera_ipc !media-libs/cros-camera-libcamera_timezone !media-libs/cros-camera-libcamera_v4l2_device !media-libs/cros-camera-libcbm !media-libs/cros-camera-libjda chromeos-base/chromeos-config-tools:= chromeos-base/cros-camera-android-deps:= camera_feature_auto_framing? ( media-libs/cros-camera-libautoframing:= ) camera_feature_hdrnet? ( media-libs/cros-camera-libgcam:= ) camera_feature_portrait_mode? ( media-libs/cros-camera-effect-portrait-mode:= ) media-libs/libexif:= media-libs/libsync:= media-libs/minigbm:= media-libs/cros-camera-facessd:= virtual/libudev:= virtual/opengles:= x11-libs/libdrm:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-REQUIRED_USE=camera_feature_auto_framing? ( camera_feature_face_detection )
+RDEPEND=!media-libs/cros-camera-libcab !media-libs/cros-camera-libcam_gpu_algo !media-libs/cros-camera-libcamera_common !media-libs/cros-camera-libcamera_connector !media-libs/cros-camera-libcamera_exif !media-libs/cros-camera-libcamera_ipc !media-libs/cros-camera-libcamera_timezone !media-libs/cros-camera-libcamera_v4l2_device !media-libs/cros-camera-libcbm !media-libs/cros-camera-libjda chromeos-base/chromeos-config-tools:= chromeos-base/cros-camera-android-deps:= media-libs/cros-camera-libfs:= media-libs/libexif:= media-libs/libsync:= media-libs/minigbm:= virtual/libudev:= virtual/opengles:= x11-libs/libdrm:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=camera_feature_auto_framing? ( camera_feature_face_detection ) ?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
 SLOT=0/9999
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=50d93704034b304244a7597877f04e21
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a2daf79c69889728b048438eccd6825a
diff --git a/metadata/md5-cache/chromeos-base/cros-camera-tool-0.0.1-r403 b/metadata/md5-cache/chromeos-base/cros-camera-tool-0.0.1-r403
deleted file mode 100644
index f7b319d..0000000
--- a/metadata/md5-cache/chromeos-base/cros-camera-tool-0.0.1-r403
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS camera test utility.
-EAPI=7
-IUSE=cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_4a17cb7a754b78de765e63bb30c619b74cd67d1d_080361d5d45e74e7927e56bab774531748d1a569_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_4a17cb7a754b78de765e63bb30c619b74cd67d1d_080361d5d45e74e7927e56bab774531748d1a569_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/cros-camera-libs:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r403
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=4e5d99039aa1c570ffa02bab30f62eec
diff --git a/metadata/md5-cache/chromeos-base/cros-camera-tool-0.0.1-r473 b/metadata/md5-cache/chromeos-base/cros-camera-tool-0.0.1-r473
new file mode 100644
index 0000000..713b3b9
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/cros-camera-tool-0.0.1-r473
@@ -0,0 +1,14 @@
+BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS camera test utility.
+EAPI=7
+IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_2de57cadefcee72268944188060875f71560d058_2b7909959649540a63997338914ec45cf9c7d07c_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_2de57cadefcee72268944188060875f71560d058_2b7909959649540a63997338914ec45cf9c7d07c_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/cros-camera-libs:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
+SLOT=0/0.0.1-r473
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7fffba48b551183fd8b94df305b4691c
diff --git a/metadata/md5-cache/chromeos-base/cros-camera-tool-9999 b/metadata/md5-cache/chromeos-base/cros-camera-tool-9999
index ac3e846..ef83159 100644
--- a/metadata/md5-cache/chromeos-base/cros-camera-tool-9999
+++ b/metadata/md5-cache/chromeos-base/cros-camera-tool-9999
@@ -1,13 +1,14 @@
 BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS camera test utility.
 EAPI=7
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/cros-camera-libs:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
 SLOT=0/9999
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=33e4dc2d331ae9955a5f27ecf0b98bbd
diff --git a/metadata/md5-cache/chromeos-base/cros-config-api-0.0.1-r362 b/metadata/md5-cache/chromeos-base/cros-config-api-0.0.1-r362
deleted file mode 100644
index 514a7e0..0000000
--- a/metadata/md5-cache/chromeos-base/cros-config-api-0.0.1-r362
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=dev-go/genproto
-DESCRIPTION=Provides python and go bindings to the config API
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/config/+/master/python/
-IUSE=cros_host cros_workon_tree_060563e90e9843d94603f66795083543b5498ec0_fae695d8e3a56f06b723de0eda7b6751ae9acc37_26ecfe17870e553da0c3f58b17b765b53d661823 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-go/genproto python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=7eeb19a9434df3eb8b43acf7cb98a948
diff --git a/metadata/md5-cache/chromeos-base/cros-config-api-0.0.1-r422 b/metadata/md5-cache/chromeos-base/cros-config-api-0.0.1-r422
new file mode 100644
index 0000000..f7f7615
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/cros-config-api-0.0.1-r422
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=dev-go/genproto dev-go/grpc dev-go/protobuf-legacy-api
+DESCRIPTION=Provides python and go bindings to the config API
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/config/+/master/python/
+IUSE=cros_host cros_workon_tree_360559203d537727a34f0267da818a5260a642fa_8f40a2aae9fc5b3574838855130c910376c07ced_135e1b74b93b7eca3633f0075e774ef4b57dd25d python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-go/genproto dev-go/grpc dev-go/protobuf-legacy-api python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a8d0301d8fb5e0b518d6a8fa0590b24f
diff --git a/metadata/md5-cache/chromeos-base/cros-config-api-9999 b/metadata/md5-cache/chromeos-base/cros-config-api-9999
index 2a171b1f..8dbfbfe 100644
--- a/metadata/md5-cache/chromeos-base/cros-config-api-9999
+++ b/metadata/md5-cache/chromeos-base/cros-config-api-9999
@@ -1,6 +1,6 @@
 BDEPEND=dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
 DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=dev-go/genproto
+DEPEND=dev-go/genproto dev-go/grpc dev-go/protobuf-legacy-api
 DESCRIPTION=Provides python and go bindings to the config API
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/config/+/master/python/
@@ -8,8 +8,8 @@
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=dev-go/genproto python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+RDEPEND=dev-go/genproto dev-go/grpc dev-go/protobuf-legacy-api python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
 REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bd5382682c463e9ecaeacacf2666a02
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e6068699cc73edb9354fde98a85408be
diff --git a/metadata/md5-cache/chromeos-base/cros-devutils-1-r1256 b/metadata/md5-cache/chromeos-base/cros-devutils-1-r1256
deleted file mode 100644
index 8999ff43..0000000
--- a/metadata/md5-cache/chromeos-base/cros-devutils-1-r1256
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install setup unpack
-DESCRIPTION=Development utilities for ChromiumOS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/host/
-IUSE=cros_host cros_workon_tree_ca49addb78c5c9e5dd77b6f3befa4bec0f841922
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=app-portage/gentoolkit >=chromeos-base/devserver-0.0.2 dev-util/shflags dev-util/toolchain-utils
-SLOT=0/1-r1256
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=079a8c349568797cef28970263f03818
diff --git a/metadata/md5-cache/chromeos-base/cros-devutils-1-r1257 b/metadata/md5-cache/chromeos-base/cros-devutils-1-r1257
new file mode 100644
index 0000000..2a3f67f
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/cros-devutils-1-r1257
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install setup unpack
+DESCRIPTION=Development utilities for ChromiumOS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/host/
+IUSE=cros_host cros_workon_tree_824a8482ee834dfa7f30e680bf9dd7e1686c7773
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=app-portage/gentoolkit >=chromeos-base/devserver-0.0.2 dev-util/shflags dev-util/toolchain-utils
+SLOT=0/1-r1257
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=13edfaa9e7500e6e2a91965e059daa6a
diff --git a/metadata/md5-cache/chromeos-base/cros-devutils-9999 b/metadata/md5-cache/chromeos-base/cros-devutils-9999
index 98ac26a..83eddd3 100644
--- a/metadata/md5-cache/chromeos-base/cros-devutils-9999
+++ b/metadata/md5-cache/chromeos-base/cros-devutils-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=app-portage/gentoolkit >=chromeos-base/devserver-0.0.2 dev-util/shflags dev-util/toolchain-utils
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=cf2e1f7502befe527bc46c9db760d6fa
diff --git a/metadata/md5-cache/chromeos-base/cros-disks-0.0.1-r3353 b/metadata/md5-cache/chromeos-base/cros-disks-0.0.1-r3353
deleted file mode 100644
index c6a3130..0000000
--- a/metadata/md5-cache/chromeos-base/cros-disks-0.0.1-r3353
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/session_manager-client:= sys-apps/rootdev:= sys-apps/util-linux:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Disk mounting daemon for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/cros-disks/
-IUSE=chromeless_tty fuzzer +seccomp cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_30a695a5e67a088447765d6b9ac6df1707bf65d5_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_30a695a5e67a088447765d6b9ac6df1707bf65d5_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/session_manager-client:= sys-apps/rootdev:= sys-apps/util-linux:= net-fs/sshfs sys-fs/dosfstools sys-fs/exfat-utils sys-fs/fuse-archive sys-fs/fuse-exfat sys-fs/mount-zip sys-fs/ntfs3g sys-fs/rar2fs virtual/udev >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r3353
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=4ddfa78cc0ce0208788f49045c863fc7
diff --git a/metadata/md5-cache/chromeos-base/cros-disks-0.0.1-r3515 b/metadata/md5-cache/chromeos-base/cros-disks-0.0.1-r3515
new file mode 100644
index 0000000..4428744
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/cros-disks-0.0.1-r3515
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/session_manager-client:= sys-apps/rootdev:= sys-apps/util-linux:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Disk mounting daemon for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cros-disks/
+IUSE=chromeless_tty fuzzer +seccomp cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_8f2675a7fb1f6b8b5dda4c1070aaa0b8de796429_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_8f2675a7fb1f6b8b5dda4c1070aaa0b8de796429_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/session_manager-client:= sys-apps/rootdev:= sys-apps/util-linux:= net-fs/sshfs sys-fs/dosfstools sys-fs/exfat-utils sys-fs/fuse-archive sys-fs/fuse-exfat sys-fs/mount-zip sys-fs/ntfs3g sys-fs/rar2fs virtual/udev >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r3515
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=56a14e509f7a21b79ee8d67f585f87bd
diff --git a/metadata/md5-cache/chromeos-base/cros-disks-9999 b/metadata/md5-cache/chromeos-base/cros-disks-9999
index 0750aee..0edce7d 100644
--- a/metadata/md5-cache/chromeos-base/cros-disks-9999
+++ b/metadata/md5-cache/chromeos-base/cros-disks-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/session_manager-client:= sys-apps/rootdev:= sys-apps/util-linux:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/session_manager-client:= sys-apps/rootdev:= sys-apps/util-linux:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Disk mounting daemon for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/cros-disks/
-IUSE=chromeless_tty fuzzer +seccomp cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cros-disks/
+IUSE=chromeless_tty fuzzer +seccomp cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/session_manager-client:= sys-apps/rootdev:= sys-apps/util-linux:= net-fs/sshfs sys-fs/dosfstools sys-fs/exfat-utils sys-fs/fuse-archive sys-fs/fuse-exfat sys-fs/mount-zip sys-fs/ntfs3g sys-fs/rar2fs virtual/udev >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=2e8b52992ad2fa713d0b868dc227a6ee
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=07ae14043cf5a5d765049bacf857acb8
diff --git a/metadata/md5-cache/chromeos-base/cros-testutils-0.0.1-r627 b/metadata/md5-cache/chromeos-base/cros-testutils-0.0.1-r627
deleted file mode 100644
index f8c5af2..0000000
--- a/metadata/md5-cache/chromeos-base/cros-testutils-0.0.1-r627
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info setup unpack
-DESCRIPTION=Host test utilities for ChromiumOS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crostestutils/
-IUSE=cros_host cros_workon_tree_f3144acef13929bdf518eb34a9445bc8a4a334e1
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-python/django
-SLOT=0/0.0.1-r627
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=3727a1ac84aebdc43e30355a79613b6f
diff --git a/metadata/md5-cache/chromeos-base/cros-testutils-0.0.1-r637 b/metadata/md5-cache/chromeos-base/cros-testutils-0.0.1-r637
new file mode 100644
index 0000000..e793c5e
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/cros-testutils-0.0.1-r637
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info setup unpack
+DESCRIPTION=Host test utilities for ChromiumOS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crostestutils/
+IUSE=cros_host cros_workon_tree_4b8e764fe9da4270606558d688cbcafba952567f
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-python/django
+SLOT=0/0.0.1-r637
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=bd01bbe87eecd221ac989f6531452cff
diff --git a/metadata/md5-cache/chromeos-base/cros-testutils-9999 b/metadata/md5-cache/chromeos-base/cros-testutils-9999
index 466d454..0843a05 100644
--- a/metadata/md5-cache/chromeos-base/cros-testutils-9999
+++ b/metadata/md5-cache/chromeos-base/cros-testutils-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=dev-python/django
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=914983390bbb5a49652a1396fa540942
diff --git a/metadata/md5-cache/chromeos-base/cros_healthd-client-0.0.1-r162 b/metadata/md5-cache/chromeos-base/cros_healthd-client-0.0.1-r162
new file mode 100644
index 0000000..c98a576
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/cros_healthd-client-0.0.1-r162
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS Mojo client for cros_healthd
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/diagnostics/mojo
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_22e73209a1f442bdb7f51b01281a5e5bae946c16_aae4149b879c9ea92a2c1a8f3468f77a698d34c3_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_22e73209a1f442bdb7f51b01281a5e5bae946c16_aae4149b879c9ea92a2c1a8f3468f77a698d34c3_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
+SLOT=0/0.0.1-r162
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c03a7cfd6ea7f54d79ddee9e23dc6ac1
diff --git a/metadata/md5-cache/chromeos-base/cros_healthd-client-0.0.1-r69 b/metadata/md5-cache/chromeos-base/cros_healthd-client-0.0.1-r69
deleted file mode 100644
index b78df5e..0000000
--- a/metadata/md5-cache/chromeos-base/cros_healthd-client-0.0.1-r69
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS Mojo client for cros_healthd
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/diagnostics/mojo
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_36b901d31b2b1858ec25d421e23ed3de8f75dcde_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_36b901d31b2b1858ec25d421e23ed3de8f75dcde_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
-SLOT=0/0.0.1-r69
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0cb19a4f6f70caf4192d7f0587ee5703
diff --git a/metadata/md5-cache/chromeos-base/cros_healthd-client-9999 b/metadata/md5-cache/chromeos-base/cros_healthd-client-9999
index 8b70511..6941643 100644
--- a/metadata/md5-cache/chromeos-base/cros_healthd-client-9999
+++ b/metadata/md5-cache/chromeos-base/cros_healthd-client-9999
@@ -4,11 +4,11 @@
 DESCRIPTION=Chrome OS Mojo client for cros_healthd
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/diagnostics/mojo
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=7a8b6c654a782cc7482db64b2321db64
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=83f7acf3bd64537f49d8323ebd183caf
diff --git a/metadata/md5-cache/chromeos-base/croscomp-0.1.0-r17 b/metadata/md5-cache/chromeos-base/croscomp-0.1.0-r17
deleted file mode 100644
index 0ff0f77..0000000
--- a/metadata/md5-cache/chromeos-base/croscomp-0.1.0-r17
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=virtual/pkgconfig >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=x11-libs/libdrm-2.4.94:= dev-libs/expat:= dev-libs/libevdev:= dev-libs/libinput:= dev-libs/wayland:= media-libs/lcms:= sys-libs/mtdev:= x11-libs/cairo:= x11-libs/libxkbcommon:= x11-libs/pango:= x11-libs/pixman:= >=dev-rust/proc-macro2-1.0.11 <dev-rust/proc-macro2-2.0.0_alpha:= =dev-rust/quote-1*:= >=dev-rust/xml-rs-0.7.0 <dev-rust/xml-rs-0.9.0_alpha:= =dev-rust/nix-0.23*:= >=dev-rust/once_cell-1.1.0 <dev-rust/once_cell-2.0.0_alpha:= =dev-rust/smallvec-1*:= =dev-rust/libloading-0.7*:= >=dev-rust/lazy_static-1.0.2 <dev-rust/lazy_static-2.0.0_alpha:= =dev-rust/libc-0.2*:= >=dev-rust/memoffset-0.6.4 <dev-rust/memoffset-0.7.0_alpha:= >=dev-rust/pkg-config-0.3.7 <dev-rust/pkg-config-0.4.0_alpha:= =dev-rust/bitflags-1*:= >=dev-rust/downcast-rs-1.0.4 <dev-rust/downcast-rs-2.0.0_alpha:= >=dev-rust/lazy_static-1.0.2 <dev-rust/lazy_static-2.0.0_alpha:= =dev-rust/libc-0.2*:= =dev-rust/nix-0.23*:= =dev-rust/parking_lot-0.11*:= =dev-rust/scoped-tls-1*:= dev-libs/wayland-protocols:= >=dev-rust/env_logger-0.8.3 <dev-rust/env_logger-0.9.0_alpha:= >=dev-rust/nix-0.23.0 <dev-rust/nix-0.24.0_alpha:= >=dev-rust/structopt-0.3.20 <dev-rust/structopt-0.4.0_alpha:= virtual/bindgen:= x11-drivers/opengles-headers:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=ChromeOS System Compositor
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/croscomp/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86 cros_host cros_workon_tree_bf6d715752a340855c1d5c0824f00f144772dfe8
-KEYWORDS=*
-LICENSE=MIT BSD-Google
-PROPERTIES=live
-RDEPEND=>=x11-libs/libdrm-2.4.94:= dev-libs/expat:= dev-libs/libevdev:= dev-libs/libinput:= dev-libs/wayland:= media-libs/lcms:= sys-libs/mtdev:= x11-libs/cairo:= x11-libs/libxkbcommon:= x11-libs/pango:= x11-libs/pixman:= virtual/opengles || ( media-libs/mesa[gbm] media-libs/minigbm )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d2b1f532aad63f28000c4942af259a81
diff --git a/metadata/md5-cache/chromeos-base/croscomp-0.1.0-r32 b/metadata/md5-cache/chromeos-base/croscomp-0.1.0-r32
new file mode 100644
index 0000000..33bf47c
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/croscomp-0.1.0-r32
@@ -0,0 +1,15 @@
+BDEPEND=virtual/pkgconfig >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=x11-libs/libdrm-2.4.94:= dev-libs/expat:= dev-libs/libevdev:= dev-libs/libinput:= dev-libs/wayland:= media-libs/lcms:= media-libs/libpng:= sys-libs/mtdev:= x11-libs/cairo:= x11-libs/libxkbcommon:= x11-libs/pango:= x11-libs/pixman:= >=dev-rust/proc-macro2-1.0.11 <dev-rust/proc-macro2-2.0.0_alpha:= =dev-rust/quote-1*:= >=dev-rust/xml-rs-0.7.0 <dev-rust/xml-rs-0.9.0_alpha:= =dev-rust/nix-0.23*:= >=dev-rust/once_cell-1.1.0 <dev-rust/once_cell-2.0.0_alpha:= =dev-rust/smallvec-1*:= =dev-rust/libloading-0.7*:= >=dev-rust/lazy_static-1.0.2 <dev-rust/lazy_static-2.0.0_alpha:= =dev-rust/libc-0.2*:= >=dev-rust/memoffset-0.6.4 <dev-rust/memoffset-0.7.0_alpha:= >=dev-rust/pkg-config-0.3.7 <dev-rust/pkg-config-0.4.0_alpha:= =dev-rust/bitflags-1*:= >=dev-rust/downcast-rs-1.0.4 <dev-rust/downcast-rs-2.0.0_alpha:= >=dev-rust/lazy_static-1.0.2 <dev-rust/lazy_static-2.0.0_alpha:= =dev-rust/libc-0.2*:= =dev-rust/nix-0.23*:= =dev-rust/parking_lot-0.11*:= =dev-rust/scoped-tls-1*:= dev-libs/wayland-protocols:= >=dev-rust/env_logger-0.8.3 <dev-rust/env_logger-0.9.0_alpha:= >=dev-rust/nix-0.23.0 <dev-rust/nix-0.24.0_alpha:= >=dev-rust/structopt-0.3.20 <dev-rust/structopt-0.4.0_alpha:= dev-rust/cbindgen:= x11-drivers/opengles-headers:= =dev-rust/cfg-if-1.0.0:= =dev-rust/jobserver-0.1.16:= =dev-rust/tokio-1*:= =dev-rust/tokio-macros-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=ChromeOS System Compositor
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/croscomp/
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86 cros_host cros_workon_tree_b11b9ea5c361845ea90f9b8f99f303208464ba69
+KEYWORDS=*
+LICENSE=MIT BSD-Google
+PROPERTIES=live
+RDEPEND=>=x11-libs/libdrm-2.4.94:= dev-libs/expat:= dev-libs/libevdev:= dev-libs/libinput:= dev-libs/wayland:= media-libs/lcms:= media-libs/libpng:= sys-libs/mtdev:= x11-libs/cairo:= x11-libs/libxkbcommon:= x11-libs/pango:= x11-libs/pixman:= virtual/opengles || ( media-libs/mesa[gbm] media-libs/minigbm ) virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0a8cbb6fdb6795b5e78b38094c1008ef
diff --git a/metadata/md5-cache/chromeos-base/croscomp-9999 b/metadata/md5-cache/chromeos-base/croscomp-9999
index 37e4745..8b743d2 100644
--- a/metadata/md5-cache/chromeos-base/croscomp-9999
+++ b/metadata/md5-cache/chromeos-base/croscomp-9999
@@ -1,15 +1,15 @@
-BDEPEND=virtual/pkgconfig >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+BDEPEND=virtual/pkgconfig >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=x11-libs/libdrm-2.4.94:= dev-libs/expat:= dev-libs/libevdev:= dev-libs/libinput:= dev-libs/wayland:= media-libs/lcms:= sys-libs/mtdev:= x11-libs/cairo:= x11-libs/libxkbcommon:= x11-libs/pango:= x11-libs/pixman:= >=dev-rust/proc-macro2-1.0.11 <dev-rust/proc-macro2-2.0.0_alpha:= =dev-rust/quote-1*:= >=dev-rust/xml-rs-0.7.0 <dev-rust/xml-rs-0.9.0_alpha:= =dev-rust/nix-0.23*:= >=dev-rust/once_cell-1.1.0 <dev-rust/once_cell-2.0.0_alpha:= =dev-rust/smallvec-1*:= =dev-rust/libloading-0.7*:= >=dev-rust/lazy_static-1.0.2 <dev-rust/lazy_static-2.0.0_alpha:= =dev-rust/libc-0.2*:= >=dev-rust/memoffset-0.6.4 <dev-rust/memoffset-0.7.0_alpha:= >=dev-rust/pkg-config-0.3.7 <dev-rust/pkg-config-0.4.0_alpha:= =dev-rust/bitflags-1*:= >=dev-rust/downcast-rs-1.0.4 <dev-rust/downcast-rs-2.0.0_alpha:= >=dev-rust/lazy_static-1.0.2 <dev-rust/lazy_static-2.0.0_alpha:= =dev-rust/libc-0.2*:= =dev-rust/nix-0.23*:= =dev-rust/parking_lot-0.11*:= =dev-rust/scoped-tls-1*:= dev-libs/wayland-protocols:= >=dev-rust/env_logger-0.8.3 <dev-rust/env_logger-0.9.0_alpha:= >=dev-rust/nix-0.23.0 <dev-rust/nix-0.24.0_alpha:= >=dev-rust/structopt-0.3.20 <dev-rust/structopt-0.4.0_alpha:= virtual/bindgen:= x11-drivers/opengles-headers:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=x11-libs/libdrm-2.4.94:= dev-libs/expat:= dev-libs/libevdev:= dev-libs/libinput:= dev-libs/wayland:= media-libs/lcms:= media-libs/libpng:= sys-libs/mtdev:= x11-libs/cairo:= x11-libs/libxkbcommon:= x11-libs/pango:= x11-libs/pixman:= >=dev-rust/proc-macro2-1.0.11 <dev-rust/proc-macro2-2.0.0_alpha:= =dev-rust/quote-1*:= >=dev-rust/xml-rs-0.7.0 <dev-rust/xml-rs-0.9.0_alpha:= =dev-rust/nix-0.23*:= >=dev-rust/once_cell-1.1.0 <dev-rust/once_cell-2.0.0_alpha:= =dev-rust/smallvec-1*:= =dev-rust/libloading-0.7*:= >=dev-rust/lazy_static-1.0.2 <dev-rust/lazy_static-2.0.0_alpha:= =dev-rust/libc-0.2*:= >=dev-rust/memoffset-0.6.4 <dev-rust/memoffset-0.7.0_alpha:= >=dev-rust/pkg-config-0.3.7 <dev-rust/pkg-config-0.4.0_alpha:= =dev-rust/bitflags-1*:= >=dev-rust/downcast-rs-1.0.4 <dev-rust/downcast-rs-2.0.0_alpha:= >=dev-rust/lazy_static-1.0.2 <dev-rust/lazy_static-2.0.0_alpha:= =dev-rust/libc-0.2*:= =dev-rust/nix-0.23*:= =dev-rust/parking_lot-0.11*:= =dev-rust/scoped-tls-1*:= dev-libs/wayland-protocols:= >=dev-rust/env_logger-0.8.3 <dev-rust/env_logger-0.9.0_alpha:= >=dev-rust/nix-0.23.0 <dev-rust/nix-0.24.0_alpha:= >=dev-rust/structopt-0.3.20 <dev-rust/structopt-0.4.0_alpha:= dev-rust/cbindgen:= x11-drivers/opengles-headers:= =dev-rust/cfg-if-1.0.0:= =dev-rust/jobserver-0.1.16:= =dev-rust/tokio-1*:= =dev-rust/tokio-macros-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=ChromeOS System Compositor
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/croscomp/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86 cros_host cros_workon_tree_
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86 cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=MIT BSD-Google
 PROPERTIES=live
-RDEPEND=>=x11-libs/libdrm-2.4.94:= dev-libs/expat:= dev-libs/libevdev:= dev-libs/libinput:= dev-libs/wayland:= media-libs/lcms:= sys-libs/mtdev:= x11-libs/cairo:= x11-libs/libxkbcommon:= x11-libs/pango:= x11-libs/pixman:= virtual/opengles || ( media-libs/mesa[gbm] media-libs/minigbm )
+RDEPEND=>=x11-libs/libdrm-2.4.94:= dev-libs/expat:= dev-libs/libevdev:= dev-libs/libinput:= dev-libs/wayland:= media-libs/lcms:= media-libs/libpng:= sys-libs/mtdev:= x11-libs/cairo:= x11-libs/libxkbcommon:= x11-libs/pango:= x11-libs/pixman:= virtual/opengles || ( media-libs/mesa[gbm] media-libs/minigbm ) virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=8130886bdef886b0c6cae25081bc9079
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=fa9852f96e283fdf5dbbc88333ce3a86
diff --git a/metadata/md5-cache/chromeos-base/crosdns-0.0.2-r356 b/metadata/md5-cache/chromeos-base/crosdns-0.0.2-r356
deleted file mode 100644
index 64a3634..0000000
--- a/metadata/md5-cache/chromeos-base/crosdns-0.0.2-r356
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/libbrillo:=[asan?,fuzzer?] chromeos-base/minijail:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Local hostname modifier service for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/crosdns
-IUSE=+seccomp asan fuzzer fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_ea1649cf014084f1675b205831e4ccd549c88864_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_ea1649cf014084f1675b205831e4ccd549c88864_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/libbrillo:=[asan?,fuzzer?] chromeos-base/minijail:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=aad6fb96a67adcbd4cabe47c056d639b
diff --git a/metadata/md5-cache/chromeos-base/crosdns-0.0.2-r416 b/metadata/md5-cache/chromeos-base/crosdns-0.0.2-r416
new file mode 100644
index 0000000..ffaa69d
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/crosdns-0.0.2-r416
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/libbrillo:=[asan?,fuzzer?] chromeos-base/minijail:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Local hostname modifier service for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/crosdns
+IUSE=+seccomp asan fuzzer fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_8ef13102d74ef6d7591c8da21fadd38830971769_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_8ef13102d74ef6d7591c8da21fadd38830971769_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/libbrillo:=[asan?,fuzzer?] chromeos-base/minijail:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=fa731275b644d9b5281c34d44d2b1cf2
diff --git a/metadata/md5-cache/chromeos-base/crosdns-9999 b/metadata/md5-cache/chromeos-base/crosdns-9999
index cbd5b9d..0fb9d98 100644
--- a/metadata/md5-cache/chromeos-base/crosdns-9999
+++ b/metadata/md5-cache/chromeos-base/crosdns-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/libbrillo:=[asan?,fuzzer?] chromeos-base/minijail:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/libbrillo:=[asan?,fuzzer?] chromeos-base/minijail:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Local hostname modifier service for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/crosdns
-IUSE=+seccomp asan fuzzer fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/crosdns
+IUSE=+seccomp asan fuzzer fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/libbrillo:=[asan?,fuzzer?] chromeos-base/minijail:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=53744539a652d5a99397e3c99a27aa5d
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=ea469fed440e99a9da9fd9201bac56b6
diff --git a/metadata/md5-cache/chromeos-base/crosh-0.24.52-r3062 b/metadata/md5-cache/chromeos-base/crosh-0.24.52-r3062
deleted file mode 100644
index 6b5cac7..0000000
--- a/metadata/md5-cache/chromeos-base/crosh-0.24.52-r3062
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/vboot_reference:= sys-apps/dbus >=dev-rust/bitflags-1.3.2 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/chrono-0.4*:= =dev-rust/dbus-0.9*:= =dev-rust/getopts-0.2*:= dev-rust/libchromeos:= =dev-rust/rand-0.7*:= >=dev-rust/regex-1.0.6 <dev-rust/regex-2.0.0_alpha:= dev-rust/remain:= =dev-rust/rustyline-7*:= dev-rust/shell-words:= dev-rust/sys_util:= dev-rust/system_api:= dev-rust/tempfile:= >dev-rust/tlsdate_dbus-0.24.52-r8:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Chrome OS developer command-line shell
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/crosh/
-IUSE=+rust-crosh cros_host cros_workon_tree_e3db3d762aa48661ab2a7e725dd699b6ccda6c13 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/vboot_reference:= sys-apps/dbus app-admin/sudo net-misc/iputils net-misc/openssh net-wireless/iw sys-apps/net-tools
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c1a9eeb86dbeefc2e788e7b472e3245c
diff --git a/metadata/md5-cache/chromeos-base/crosh-0.24.52-r3104 b/metadata/md5-cache/chromeos-base/crosh-0.24.52-r3104
new file mode 100644
index 0000000..a9ec8c5
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/crosh-0.24.52-r3104
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=chromeos-base/vboot_reference:= sys-apps/dbus >=dev-rust/bitflags-1.3.2 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/chrono-0.4*:= =dev-rust/dbus-0.9*:= =dev-rust/getopts-0.2*:= dev-rust/libchromeos:= =dev-rust/rand-0.7*:= >=dev-rust/regex-1.0.6 <dev-rust/regex-2.0.0_alpha:= dev-rust/remain:= =dev-rust/rustyline-9*:= dev-rust/shell-words:= dev-rust/sys_util:= dev-rust/system_api:= dev-rust/tempfile:= >dev-rust/tlsdate_dbus-0.24.52-r8:= =dev-rust/textwrap-0.11*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Chrome OS developer command-line shell
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/crosh/
+IUSE=cros_host cros_workon_tree_249590f655a6dec984d22ffa1bb6cf080af45f93 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/vboot_reference:= sys-apps/dbus app-admin/sudo net-misc/iputils net-misc/openssh net-wireless/iw sys-apps/net-tools virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=fc88e840da9a2b1f1aa2608b0dec27e8
diff --git a/metadata/md5-cache/chromeos-base/crosh-9999 b/metadata/md5-cache/chromeos-base/crosh-9999
index d3597e9..cfec960 100644
--- a/metadata/md5-cache/chromeos-base/crosh-9999
+++ b/metadata/md5-cache/chromeos-base/crosh-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/vboot_reference:= sys-apps/dbus >=dev-rust/bitflags-1.3.2 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/chrono-0.4*:= =dev-rust/dbus-0.9*:= =dev-rust/getopts-0.2*:= dev-rust/libchromeos:= =dev-rust/rand-0.7*:= >=dev-rust/regex-1.0.6 <dev-rust/regex-2.0.0_alpha:= dev-rust/remain:= =dev-rust/rustyline-7*:= dev-rust/shell-words:= dev-rust/sys_util:= dev-rust/system_api:= dev-rust/tempfile:= >dev-rust/tlsdate_dbus-0.24.52-r8:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=chromeos-base/vboot_reference:= sys-apps/dbus >=dev-rust/bitflags-1.3.2 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/chrono-0.4*:= =dev-rust/dbus-0.9*:= =dev-rust/getopts-0.2*:= dev-rust/libchromeos:= =dev-rust/rand-0.7*:= >=dev-rust/regex-1.0.6 <dev-rust/regex-2.0.0_alpha:= dev-rust/remain:= =dev-rust/rustyline-9*:= dev-rust/shell-words:= dev-rust/sys_util:= dev-rust/system_api:= dev-rust/tempfile:= >dev-rust/tlsdate_dbus-0.24.52-r8:= =dev-rust/textwrap-0.11*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Chrome OS developer command-line shell
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/crosh/
-IUSE=+rust-crosh cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=chromeos-base/vboot_reference:= sys-apps/dbus app-admin/sudo net-misc/iputils net-misc/openssh net-wireless/iw sys-apps/net-tools
+RDEPEND=chromeos-base/vboot_reference:= sys-apps/dbus app-admin/sudo net-misc/iputils net-misc/openssh net-wireless/iw sys-apps/net-tools virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c19279ee740607b99bee9a914ea8f3a5
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8f3878be4ca047ba8e86ae14d0a0cf17
diff --git a/metadata/md5-cache/chromeos-base/crosh-extension-0.44-r1185 b/metadata/md5-cache/chromeos-base/crosh-extension-0.44-r1185
deleted file mode 100644
index c1aa162..0000000
--- a/metadata/md5-cache/chromeos-base/crosh-extension-0.44-r1185
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install setup unpack
-DESCRIPTION=The Chromium OS Shell extension (the HTML/JS rendering part)
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/apps/libapps/+/master/nassh/doc/chromeos-crosh.md
-IUSE=cros_host cros_workon_tree_106feab4dda3db44a9ac6743f7e67097731522b0_689fa9b9751fad93fb0b135f354084d639b317ac_ca37db968bad8c6e5a32fa92578fefb49534a4f3_3927ce0ef74808ba93ee3662bacc36873a533a72_bdd0506d02f0d5d832f36c6d468326f8f98e96b2
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=!<chromeos-base/common-assets-0.0.2
-RESTRICT=nomirror
-SLOT=0/0
-SRC_URI=https://storage.googleapis.com/chromium-nodejs/14.15.4/b2e40ddbac04d05baafbb007f203c6663c9d4ca9 https://storage.googleapis.com/chromeos-localmirror/secureshell/distfiles/fonts-d6dc5eaf459abd058cd3aef1e25963fde893f9d87f5f55f340431697ce4b3506.tar.xz https://storage.googleapis.com/chromeos-localmirror/secureshell/distfiles/fonts-d6dc5eaf459abd058cd3aef1e25963fde893f9d87f5f55f340431697ce4b3506.tar.xz https://storage.googleapis.com/chromeos-localmirror/secureshell/distfiles/node_modules-2cd2dd365999ae139b6b0fb62a5a09e2a7fb5ab1c0926cf1968a1dec9b74fea5.tar.xz https://storage.googleapis.com/chromeos-localmirror/secureshell/distfiles/node_modules-16e0b36c0c3d448c7fd00d1db3ba27ff8477007fb4b0eae31ae25960aeae3fbc.tar.xz https://storage.googleapis.com/chromeos-localmirror/secureshell/releases/0.41.tar.xz https://storage.googleapis.com/chromeos-localmirror/secureshell/releases/0.42.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=61bdd1155ba08770d3c4c829868fa1c8
diff --git a/metadata/md5-cache/chromeos-base/crosh-extension-0.48-r1412 b/metadata/md5-cache/chromeos-base/crosh-extension-0.48-r1412
new file mode 100644
index 0000000..45958ee
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/crosh-extension-0.48-r1412
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install setup unpack
+DESCRIPTION=The Chromium OS Shell extension (the HTML/JS rendering part)
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/apps/libapps/+/master/nassh/doc/chromeos-crosh.md
+IUSE=cros_host cros_workon_tree_3d899703f696fcdfc099de06cedd32f6427689c6_6ac5f9629491ef6eaf4c8e08b7b62116de4bf762_c4bc04ecbc771a4c6af6aa6d749d2ef52d3522ee_866f1553ef376ac21cd4b1b00f1efecbb8d0c132_28693a3631abe53118a13a33584ef1a0e54eec37_818feadd37d21ca7c3a3c3bf100ccfe0e63f1c8c_857d22a5c676e2a1aef1eb8c878a5717f5ae6d0d
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=!<chromeos-base/common-assets-0.0.2
+RESTRICT=nomirror
+SLOT=0/0
+SRC_URI=https://storage.googleapis.com/chromium-nodejs/14.15.4/b2e40ddbac04d05baafbb007f203c6663c9d4ca9 https://storage.googleapis.com/chromium-nodejs/16.13.0/ab9544e24e752d3d17f335fb7b2055062e582d11 https://storage.googleapis.com/chromeos-localmirror/secureshell/distfiles/fonts-d6dc5eaf459abd058cd3aef1e25963fde893f9d87f5f55f340431697ce4b3506.tar.xz https://storage.googleapis.com/chromeos-localmirror/secureshell/distfiles/node_modules-7539e02265e046755ad0fffa36018f915c4feeb2c87f21346ded68a857f38153.tar.xz https://storage.googleapis.com/chromeos-localmirror/secureshell/distfiles/node_modules-70ab4f912a599b4d3e01dc6548243857a812d0b858e4d2ea6bdfd036357ee0c9.tar.xz https://storage.googleapis.com/chromeos-localmirror/secureshell/releases/0.46.tar.xz https://storage.googleapis.com/chromeos-localmirror/secureshell/releases/0.48.tar.xz
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=cff0a62186ec8c94f2ba3d998ece372e
diff --git a/metadata/md5-cache/chromeos-base/crosh-extension-9999 b/metadata/md5-cache/chromeos-base/crosh-extension-9999
index dad793f..dada09b 100644
--- a/metadata/md5-cache/chromeos-base/crosh-extension-9999
+++ b/metadata/md5-cache/chromeos-base/crosh-extension-9999
@@ -10,6 +10,6 @@
 RDEPEND=!<chromeos-base/common-assets-0.0.2
 RESTRICT=nomirror
 SLOT=0/0
-SRC_URI=https://storage.googleapis.com/chromium-nodejs/14.15.4/b2e40ddbac04d05baafbb007f203c6663c9d4ca9 https://storage.googleapis.com/chromeos-localmirror/secureshell/distfiles/fonts-d6dc5eaf459abd058cd3aef1e25963fde893f9d87f5f55f340431697ce4b3506.tar.xz https://storage.googleapis.com/chromeos-localmirror/secureshell/distfiles/fonts-d6dc5eaf459abd058cd3aef1e25963fde893f9d87f5f55f340431697ce4b3506.tar.xz https://storage.googleapis.com/chromeos-localmirror/secureshell/distfiles/node_modules-2cd2dd365999ae139b6b0fb62a5a09e2a7fb5ab1c0926cf1968a1dec9b74fea5.tar.xz https://storage.googleapis.com/chromeos-localmirror/secureshell/distfiles/node_modules-16e0b36c0c3d448c7fd00d1db3ba27ff8477007fb4b0eae31ae25960aeae3fbc.tar.xz https://storage.googleapis.com/chromeos-localmirror/secureshell/releases/0.41.tar.xz https://storage.googleapis.com/chromeos-localmirror/secureshell/releases/0.42.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=900cf809b656c1202ad49fdbe825fe8a
+SRC_URI=https://storage.googleapis.com/chromium-nodejs/14.15.4/b2e40ddbac04d05baafbb007f203c6663c9d4ca9 https://storage.googleapis.com/chromium-nodejs/16.13.0/ab9544e24e752d3d17f335fb7b2055062e582d11 https://storage.googleapis.com/chromeos-localmirror/secureshell/distfiles/fonts-d6dc5eaf459abd058cd3aef1e25963fde893f9d87f5f55f340431697ce4b3506.tar.xz https://storage.googleapis.com/chromeos-localmirror/secureshell/distfiles/node_modules-7539e02265e046755ad0fffa36018f915c4feeb2c87f21346ded68a857f38153.tar.xz https://storage.googleapis.com/chromeos-localmirror/secureshell/distfiles/node_modules-70ab4f912a599b4d3e01dc6548243857a812d0b858e4d2ea6bdfd036357ee0c9.tar.xz https://storage.googleapis.com/chromeos-localmirror/secureshell/releases/0.46.tar.xz https://storage.googleapis.com/chromeos-localmirror/secureshell/releases/0.48.tar.xz
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=16aedd231621691555fa97cbe3da097a
diff --git a/metadata/md5-cache/chromeos-base/crosid-0.0.1-r29 b/metadata/md5-cache/chromeos-base/crosid-0.0.1-r29
deleted file mode 100644
index 18e9b06..0000000
--- a/metadata/md5-cache/chromeos-base/crosid-0.0.1-r29
+++ /dev/null
@@ -1,11 +0,0 @@
-BDEPEND=dev-vcs/git >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
-DEFINED_PHASES=compile configure info install setup test unpack
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-config
-IUSE=cros_host cros_workon_tree_bea140d13f7cf1092e4c89a45011c04c28327972
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-SLOT=0/0.0.1-r29
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=3a0c370b4768d14b84e9fbc4f1bc2089
diff --git a/metadata/md5-cache/chromeos-base/crosid-0.0.1-r77 b/metadata/md5-cache/chromeos-base/crosid-0.0.1-r77
new file mode 100644
index 0000000..dfa0be2
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/crosid-0.0.1-r77
@@ -0,0 +1,11 @@
+BDEPEND=dev-vcs/git >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+DEFINED_PHASES=compile configure info install setup test unpack
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-config
+IUSE=cros_host cros_workon_tree_527abd7a988a45572305a6c44b5324d0d9cf8be2 asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+SLOT=0/0.0.1-r77
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2ad5e052a12ec999f555ed69b98c5711
diff --git a/metadata/md5-cache/chromeos-base/crosid-9999 b/metadata/md5-cache/chromeos-base/crosid-9999
index 1f7f8d8..42fa004 100644
--- a/metadata/md5-cache/chromeos-base/crosid-9999
+++ b/metadata/md5-cache/chromeos-base/crosid-9999
@@ -1,11 +1,11 @@
-BDEPEND=dev-vcs/git >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+BDEPEND=dev-vcs/git >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
 DEFINED_PHASES=compile configure info install setup test unpack
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-config
-IUSE=cros_host cros_workon_tree_
+IUSE=cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c4c786d36631ddb492f9c4a7718cf606
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=912e0f951ab88fe9e1c3fb7dd5c1b079
diff --git a/metadata/md5-cache/chromeos-base/croslog-0.0.1-r257 b/metadata/md5-cache/chromeos-base/croslog-0.0.1-r257
deleted file mode 100644
index b9a91a8..0000000
--- a/metadata/md5-cache/chromeos-base/croslog-0.0.1-r257
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Log viewer for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/croslog
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_90cd734b0ad93c5348345a199d6f26e647956eaa_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_90cd734b0ad93c5348345a199d6f26e647956eaa_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=00681d1f7054cd40f1c0362b21b4fe3a
diff --git a/metadata/md5-cache/chromeos-base/croslog-0.0.1-r361 b/metadata/md5-cache/chromeos-base/croslog-0.0.1-r361
new file mode 100644
index 0000000..6517e8e
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/croslog-0.0.1-r361
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Log viewer for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/croslog
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_8ef7c6aabe0a8edeff8f6030f7c1b79ab3e32522_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_8ef7c6aabe0a8edeff8f6030f7c1b79ab3e32522_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c785e9e6faa32672d0fcac5f1c7e385f
diff --git a/metadata/md5-cache/chromeos-base/croslog-9999 b/metadata/md5-cache/chromeos-base/croslog-9999
index 59845c2..45d076f 100644
--- a/metadata/md5-cache/chromeos-base/croslog-9999
+++ b/metadata/md5-cache/chromeos-base/croslog-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Log viewer for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/croslog
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/croslog
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a6d36a40ba66388c06684f7cd03d4298
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a66303900703d094c6158bce0d63c9de
diff --git a/metadata/md5-cache/chromeos-base/crostini_client-0.1.0-r105 b/metadata/md5-cache/chromeos-base/crostini_client-0.1.0-r105
new file mode 100644
index 0000000..9f711a0
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/crostini_client-0.1.0-r105
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=chromeos-base/system_api =dev-rust/dbus-0.8*:= =dev-rust/getopts-0.2*:= =dev-rust/lazy_static-1*:= >=dev-rust/libc-0.2.44:= !>=dev-rust/libc-0.3 >=dev-rust/protobuf-2.16:= <dev-rust/protobuf-3 >=dev-rust/protoc-rust-2.16:= <dev-rust/protoc-rust-3 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Command-line client for controlling crostini
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/crostini_client/
+IUSE=cros_host cros_workon_tree_8ab7bdc7d30992114e61f2d9c119b774886a0c66 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=sys-apps/dbus virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=19fd16c4038b78d8b4572b6c0df82501
diff --git a/metadata/md5-cache/chromeos-base/crostini_client-0.1.0-r98 b/metadata/md5-cache/chromeos-base/crostini_client-0.1.0-r98
deleted file mode 100644
index 7327663..0000000
--- a/metadata/md5-cache/chromeos-base/crostini_client-0.1.0-r98
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/system_api =dev-rust/dbus-0.8*:= =dev-rust/getopts-0.2*:= =dev-rust/lazy_static-1*:= >=dev-rust/libc-0.2.44:= !>=dev-rust/libc-0.3 >=dev-rust/protobuf-2.16:= <dev-rust/protobuf-3 >=dev-rust/protoc-rust-2.16:= <dev-rust/protoc-rust-3 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Command-line client for controlling crostini
-EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools/crostini_client/
-IUSE=cros_host cros_workon_tree_7c0ce00de37f9b2b72146296d138fa8c4af44f0d cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=sys-apps/dbus
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=eaa0561a7635bf44e421c2aa1b3abe1f
diff --git a/metadata/md5-cache/chromeos-base/crostini_client-9999 b/metadata/md5-cache/chromeos-base/crostini_client-9999
index abb2808..d26de46 100644
--- a/metadata/md5-cache/chromeos-base/crostini_client-9999
+++ b/metadata/md5-cache/chromeos-base/crostini_client-9999
@@ -1,14 +1,15 @@
+BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/system_api =dev-rust/dbus-0.8*:= =dev-rust/getopts-0.2*:= =dev-rust/lazy_static-1*:= >=dev-rust/libc-0.2.44:= !>=dev-rust/libc-0.3 >=dev-rust/protobuf-2.16:= <dev-rust/protobuf-3 >=dev-rust/protoc-rust-2.16:= <dev-rust/protoc-rust-3 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=chromeos-base/system_api =dev-rust/dbus-0.8*:= =dev-rust/getopts-0.2*:= =dev-rust/lazy_static-1*:= >=dev-rust/libc-0.2.44:= !>=dev-rust/libc-0.3 >=dev-rust/protobuf-2.16:= <dev-rust/protobuf-3 >=dev-rust/protoc-rust-2.16:= <dev-rust/protoc-rust-3 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Command-line client for controlling crostini
-EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools/crostini_client/
-IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/crostini_client/
+IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=sys-apps/dbus
+RDEPEND=sys-apps/dbus virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=30d7875391ee91e5741d0ab0c050b5ee
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2a5859869f11ee531e5697018ae5e15a
diff --git a/metadata/md5-cache/chromeos-base/crosvm-0.1.0-r1641 b/metadata/md5-cache/chromeos-base/crosvm-0.1.0-r1641
deleted file mode 100644
index 854732e..0000000
--- a/metadata/md5-cache/chromeos-base/crosvm-0.1.0-r1641
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=sys-apps/dtc:= sys-libs/libcap:= chromeos-base/libvda:= chromeos-base/minijail:= dev-libs/wayland:= crosvm-gpu? ( media-libs/virglrenderer:= ) crosvm-wl-dmabuf? ( media-libs/minigbm:= ) dev-rust/libchromeos:= virtual/libusb:1= dev-libs/wayland-protocols:= =dev-rust/android_log-sys-0.2*:= >=dev-rust/anyhow-1.0.32:= <dev-rust/anyhow-2.0 >=dev-rust/argh-0.1.7:= <dev-rust/argh-0.2.0 =dev-rust/async-task-4*:= =dev-rust/async-trait-0.1*:= =dev-rust/bitflags-1*:= >=dev-rust/cc-1.0.25 <dev-rust/cc-2_alpha:= =dev-rust/cfg-if-1*:= >=dev-rust/crc32fast-1.2.1:= <dev-rust/crc32fast-2 dev-rust/cros_fuzz:= =dev-rust/dbus-0.8*:= >=dev-rust/downcast-rs-1.2.0:= <dev-rust/downcast-rs-2.0 =dev-rust/enumn-0.1*:= =dev-rust/futures-0.3*:= dev-rust/intrusive-collections:= =dev-rust/gdbstub-0.5*:= >=dev-rust/gdbstub_arch-0.1.1:= <dev-rust/gdbstub_arch-0.2 ~dev-rust/getopts-0.2.18:= >=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0 >=dev-rust/memoffset-0.6:= <dev-rust/memoffset-1 dev-rust/minijail:= >=dev-rust/mio-0.7.14 <dev-rust/mio-0.8.0_alpha:= ~dev-rust/num_cpus-1.9.0:= >=dev-rust/once_cell-1.7.2:= <dev-rust/once_cell-2 dev-rust/p9:= =dev-rust/paste-1*:= =dev-rust/pin-utils-0.1*:= ~dev-rust/pkg-config-0.3.11:= =dev-rust/proc-macro2-1*:= >=dev-rust/protobuf-2.8:= !>=dev-rust/protobuf-3 >=dev-rust/protoc-rust-2.8:= !>=dev-rust/protoc-rust-3 =dev-rust/quote-1*:= =dev-rust/rand-0.6*:= >=dev-rust/scudo-0.1.2 <dev-rust/scudo-0.2_alpha:= =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= >=dev-rust/smallvec-1.6.1:= <dev-rust/smallvec-2 =dev-rust/syn-1*:= =dev-rust/tempfile-3*:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 >=dev-rust/uuid-0.8.2:= <dev-rust/uuid-0.9 dev-rust/remain:= dev-rust/system_api:= tpm2? ( chromeos-base/tpm2:= chromeos-base/trunks:= =dev-rust/dbus-0.6*:= ) media-sound/libcras:= crosvm-power-monitor-powerd? ( chromeos-base/system_api =dev-rust/dbus-0.6*:= ) >=virtual/rust-1.39.0:= virtual/rust-binaries:= sys-apps/baselayout
-DESCRIPTION=Utility for running VMs on Chrome OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/
-IUSE=test cros-debug crosvm-gpu -crosvm-direct -crosvm-plugin +crosvm-power-monitor-powerd +crosvm-video-decoder +crosvm-video-encoder +crosvm-video-libvda +crosvm-wl-dmabuf fuzzer tpm2 android-vm-master arcvm_gce_l1 fuzzer cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86 cros_host cros_workon_tree_80f9e4e3017742fbd3ac33518375b8856b695bab
-KEYWORDS=*
-LICENSE=BSD-Google Apache-2.0 BSD-vmm_vhost
-PROPERTIES=live
-RDEPEND=sys-apps/dtc:= sys-libs/libcap:= chromeos-base/libvda:= chromeos-base/minijail:= dev-libs/wayland:= crosvm-gpu? ( media-libs/virglrenderer:= ) crosvm-wl-dmabuf? ( media-libs/minigbm:= ) dev-rust/libchromeos:= virtual/libusb:1= !chromeos-base/crosvm-bin crosvm-power-monitor-powerd? ( sys-apps/dbus ) tpm2? ( sys-apps/dbus ) sys-apps/baselayout
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r1641
-SRC_URI=test? ( https://storage.googleapis.com/chromeos-localmirror/crosvm-testing-bzimage-x86_64-r0000 https://storage.googleapis.com/chromeos-localmirror/crosvm-testing-rootfs-x86_64-r0000 )
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=3e3af632b2578165ca647eab573bb17b
diff --git a/metadata/md5-cache/chromeos-base/crosvm-0.1.0-r1752 b/metadata/md5-cache/chromeos-base/crosvm-0.1.0-r1752
new file mode 100644
index 0000000..8746e23
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/crosvm-0.1.0-r1752
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=sys-apps/dtc:= sys-libs/libcap:= crosvm-video-ffmpeg? ( media-video/ffmpeg ) crosvm-video-libvda? ( chromeos-base/libvda ) chromeos-base/minijail:= dev-libs/wayland:= crosvm-gpu? ( media-libs/virglrenderer:= ) crosvm-wl-dmabuf? ( media-libs/minigbm:= ) dev-rust/libchromeos:= virtual/libusb:1= dev-libs/wayland-protocols:= =dev-rust/android_log-sys-0.2*:= >=dev-rust/anyhow-1.0.32:= <dev-rust/anyhow-2.0 >=dev-rust/argh-0.1.7:= <dev-rust/argh-0.2.0 =dev-rust/async-task-4*:= =dev-rust/async-trait-0.1*:= =dev-rust/bitflags-1*:= >=dev-rust/bytes-1.1.0:= <dev-rust/bytes-2.0.0 dev-rust/cbindgen:= >=dev-rust/cc-1.0.25 <dev-rust/cc-2_alpha:= =dev-rust/cfg-if-1*:= dev-rust/chrono:= >=dev-rust/crc32fast-1.2.1:= <dev-rust/crc32fast-2 dev-rust/cros_fuzz:= =dev-rust/crossbeam-utils-0.8*:= =dev-rust/ctrlc-3.2*:= =dev-rust/dbus-0.8*:= >=dev-rust/downcast-rs-1.2.0:= <dev-rust/downcast-rs-2.0 =dev-rust/enumn-0.1*:= =dev-rust/env_logger-0.9*:= =dev-rust/futures-0.3*:= =dev-rust/fnv-1*:= >=dev-rust/gdbstub-0.6.1:= <dev-rust/gdbstub-0.7 >=dev-rust/gdbstub_arch-0.2.2:= <dev-rust/gdbstub_arch-0.3 ~dev-rust/getopts-0.2.18:= dev-rust/intrusive-collections:= >=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0 dev-rust/libslirp-sys:= >=dev-rust/libudev-0.2.0:= <dev-rust/libudev-0.3.0 >=dev-rust/memoffset-0.6:= <dev-rust/memoffset-1 dev-rust/minijail:= >=dev-rust/mio-0.7.14 <dev-rust/mio-0.8.0_alpha:= ~dev-rust/num_cpus-1.9.0:= =dev-rust/num-traits-0.2*:= >=dev-rust/once_cell-1.7.2:= <dev-rust/once_cell-2 dev-rust/p9:= =dev-rust/paste-1*:= dev-rust/pcap-file:= =dev-rust/pin-utils-0.1*:= ~dev-rust/pkg-config-0.3.11:= =dev-rust/proc-macro2-1*:= >=dev-rust/protobuf-2.8:= !>=dev-rust/protobuf-3 >=dev-rust/protoc-rust-2.8:= !>=dev-rust/protoc-rust-3 =dev-rust/quote-1*:= =dev-rust/rand-0.8*:= dev-rust/regex:= dev-rust/remain:= >=dev-rust/scudo-0.1.2 <dev-rust/scudo-0.2_alpha:= =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= >=dev-rust/smallvec-1.6.1:= <dev-rust/smallvec-2 =dev-rust/syn-1*:= dev-rust/system_api:= =dev-rust/tempfile-3*:= >=dev-rust/terminal_size-0.1.17:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 >=dev-rust/uuid-0.8.2:= <dev-rust/uuid-0.9 dev-rust/winapi:= >=dev-rust/windows-0.10.0:= <dev-rust/windows-0.11 dev-rust/wio:= dev-rust/wmi:= media-sound/libcras:= tpm2? ( chromeos-base/tpm2:= chromeos-base/trunks:= =dev-rust/dbus-0.6*:= ) crosvm-power-monitor-powerd? ( chromeos-base/system_api =dev-rust/dbus-0.6*:= ) >=virtual/rust-1.60.0:= virtual/rust-binaries:= sys-apps/baselayout
+DESCRIPTION=Utility for running VMs on Chrome OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/
+IUSE=test cros-debug crosvm-gpu -crosvm-direct -crosvm-plugin +crosvm-power-monitor-powerd +crosvm-video-decoder +crosvm-video-encoder -crosvm-video-ffmpeg +crosvm-video-libvda +crosvm-wl-dmabuf fuzzer tpm2 android-vm-master android-vm-tm arcvm_gce_l1 fuzzer cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86 cros_host cros_workon_tree_62c91cc57f4bbb759cc97766a681ed0c7deac706
+KEYWORDS=*
+LICENSE=BSD-Google Apache-2.0 BSD-vmm_vhost
+PROPERTIES=live
+RDEPEND=sys-apps/dtc:= sys-libs/libcap:= crosvm-video-ffmpeg? ( media-video/ffmpeg ) crosvm-video-libvda? ( chromeos-base/libvda ) chromeos-base/minijail:= dev-libs/wayland:= crosvm-gpu? ( media-libs/virglrenderer:= ) crosvm-wl-dmabuf? ( media-libs/minigbm:= ) dev-rust/libchromeos:= virtual/libusb:1= !chromeos-base/crosvm-bin crosvm-power-monitor-powerd? ( sys-apps/dbus ) tpm2? ( sys-apps/dbus ) virtual/rust-binaries:= sys-apps/baselayout
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r1752
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=2a7e243d53f33d335b1cb0fe3a2a8d1f
diff --git a/metadata/md5-cache/chromeos-base/crosvm-9999 b/metadata/md5-cache/chromeos-base/crosvm-9999
index 486699c..53e4fe5 100644
--- a/metadata/md5-cache/chromeos-base/crosvm-9999
+++ b/metadata/md5-cache/chromeos-base/crosvm-9999
@@ -1,16 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=sys-apps/dtc:= sys-libs/libcap:= chromeos-base/libvda:= chromeos-base/minijail:= dev-libs/wayland:= crosvm-gpu? ( media-libs/virglrenderer:= ) crosvm-wl-dmabuf? ( media-libs/minigbm:= ) dev-rust/libchromeos:= virtual/libusb:1= dev-libs/wayland-protocols:= =dev-rust/android_log-sys-0.2*:= >=dev-rust/anyhow-1.0.32:= <dev-rust/anyhow-2.0 >=dev-rust/argh-0.1.7:= <dev-rust/argh-0.2.0 =dev-rust/async-task-4*:= =dev-rust/async-trait-0.1*:= =dev-rust/bitflags-1*:= >=dev-rust/cc-1.0.25 <dev-rust/cc-2_alpha:= =dev-rust/cfg-if-1*:= >=dev-rust/crc32fast-1.2.1:= <dev-rust/crc32fast-2 dev-rust/cros_fuzz:= =dev-rust/dbus-0.8*:= >=dev-rust/downcast-rs-1.2.0:= <dev-rust/downcast-rs-2.0 =dev-rust/enumn-0.1*:= =dev-rust/futures-0.3*:= dev-rust/intrusive-collections:= =dev-rust/gdbstub-0.5*:= >=dev-rust/gdbstub_arch-0.1.1:= <dev-rust/gdbstub_arch-0.2 ~dev-rust/getopts-0.2.18:= >=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0 >=dev-rust/memoffset-0.6:= <dev-rust/memoffset-1 dev-rust/minijail:= >=dev-rust/mio-0.7.14 <dev-rust/mio-0.8.0_alpha:= ~dev-rust/num_cpus-1.9.0:= >=dev-rust/once_cell-1.7.2:= <dev-rust/once_cell-2 dev-rust/p9:= =dev-rust/paste-1*:= =dev-rust/pin-utils-0.1*:= ~dev-rust/pkg-config-0.3.11:= =dev-rust/proc-macro2-1*:= >=dev-rust/protobuf-2.8:= !>=dev-rust/protobuf-3 >=dev-rust/protoc-rust-2.8:= !>=dev-rust/protoc-rust-3 =dev-rust/quote-1*:= =dev-rust/rand-0.6*:= >=dev-rust/scudo-0.1.2 <dev-rust/scudo-0.2_alpha:= =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= >=dev-rust/smallvec-1.6.1:= <dev-rust/smallvec-2 =dev-rust/syn-1*:= =dev-rust/tempfile-3*:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 >=dev-rust/uuid-0.8.2:= <dev-rust/uuid-0.9 dev-rust/remain:= dev-rust/system_api:= tpm2? ( chromeos-base/tpm2:= chromeos-base/trunks:= =dev-rust/dbus-0.6*:= ) media-sound/libcras:= crosvm-power-monitor-powerd? ( chromeos-base/system_api =dev-rust/dbus-0.6*:= ) >=virtual/rust-1.39.0:= virtual/rust-binaries:= sys-apps/baselayout
+DEPEND=sys-apps/dtc:= sys-libs/libcap:= crosvm-video-ffmpeg? ( media-video/ffmpeg ) crosvm-video-libvda? ( chromeos-base/libvda ) chromeos-base/minijail:= dev-libs/wayland:= crosvm-gpu? ( media-libs/virglrenderer:= ) crosvm-wl-dmabuf? ( media-libs/minigbm:= ) dev-rust/libchromeos:= virtual/libusb:1= dev-libs/wayland-protocols:= =dev-rust/android_log-sys-0.2*:= >=dev-rust/anyhow-1.0.32:= <dev-rust/anyhow-2.0 >=dev-rust/argh-0.1.7:= <dev-rust/argh-0.2.0 =dev-rust/async-task-4*:= =dev-rust/async-trait-0.1*:= =dev-rust/bitflags-1*:= >=dev-rust/bytes-1.1.0:= <dev-rust/bytes-2.0.0 dev-rust/cbindgen:= >=dev-rust/cc-1.0.25 <dev-rust/cc-2_alpha:= =dev-rust/cfg-if-1*:= dev-rust/chrono:= >=dev-rust/crc32fast-1.2.1:= <dev-rust/crc32fast-2 dev-rust/cros_fuzz:= =dev-rust/crossbeam-utils-0.8*:= =dev-rust/ctrlc-3.2*:= =dev-rust/dbus-0.8*:= >=dev-rust/downcast-rs-1.2.0:= <dev-rust/downcast-rs-2.0 =dev-rust/enumn-0.1*:= =dev-rust/env_logger-0.9*:= =dev-rust/futures-0.3*:= =dev-rust/fnv-1*:= >=dev-rust/gdbstub-0.6.1:= <dev-rust/gdbstub-0.7 >=dev-rust/gdbstub_arch-0.2.2:= <dev-rust/gdbstub_arch-0.3 ~dev-rust/getopts-0.2.18:= dev-rust/intrusive-collections:= >=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0 dev-rust/libslirp-sys:= >=dev-rust/libudev-0.2.0:= <dev-rust/libudev-0.3.0 >=dev-rust/memoffset-0.6:= <dev-rust/memoffset-1 dev-rust/minijail:= >=dev-rust/mio-0.7.14 <dev-rust/mio-0.8.0_alpha:= ~dev-rust/num_cpus-1.9.0:= =dev-rust/num-traits-0.2*:= >=dev-rust/once_cell-1.7.2:= <dev-rust/once_cell-2 dev-rust/p9:= =dev-rust/paste-1*:= dev-rust/pcap-file:= =dev-rust/pin-utils-0.1*:= ~dev-rust/pkg-config-0.3.11:= =dev-rust/proc-macro2-1*:= >=dev-rust/protobuf-2.8:= !>=dev-rust/protobuf-3 >=dev-rust/protoc-rust-2.8:= !>=dev-rust/protoc-rust-3 =dev-rust/quote-1*:= =dev-rust/rand-0.8*:= dev-rust/regex:= dev-rust/remain:= >=dev-rust/scudo-0.1.2 <dev-rust/scudo-0.2_alpha:= =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= >=dev-rust/smallvec-1.6.1:= <dev-rust/smallvec-2 =dev-rust/syn-1*:= dev-rust/system_api:= =dev-rust/tempfile-3*:= >=dev-rust/terminal_size-0.1.17:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 >=dev-rust/uuid-0.8.2:= <dev-rust/uuid-0.9 dev-rust/winapi:= >=dev-rust/windows-0.10.0:= <dev-rust/windows-0.11 dev-rust/wio:= dev-rust/wmi:= media-sound/libcras:= tpm2? ( chromeos-base/tpm2:= chromeos-base/trunks:= =dev-rust/dbus-0.6*:= ) crosvm-power-monitor-powerd? ( chromeos-base/system_api =dev-rust/dbus-0.6*:= ) >=virtual/rust-1.60.0:= virtual/rust-binaries:= sys-apps/baselayout
 DESCRIPTION=Utility for running VMs on Chrome OS
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/
-IUSE=test cros-debug crosvm-gpu -crosvm-direct -crosvm-plugin +crosvm-power-monitor-powerd +crosvm-video-decoder +crosvm-video-encoder +crosvm-video-libvda +crosvm-wl-dmabuf fuzzer tpm2 android-vm-master arcvm_gce_l1 fuzzer cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86 cros_host cros_workon_tree_
+IUSE=test cros-debug crosvm-gpu -crosvm-direct -crosvm-plugin +crosvm-power-monitor-powerd +crosvm-video-decoder +crosvm-video-encoder -crosvm-video-ffmpeg +crosvm-video-libvda +crosvm-wl-dmabuf fuzzer tpm2 android-vm-master android-vm-tm arcvm_gce_l1 fuzzer cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86 cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=BSD-Google Apache-2.0 BSD-vmm_vhost
 PROPERTIES=live
-RDEPEND=sys-apps/dtc:= sys-libs/libcap:= chromeos-base/libvda:= chromeos-base/minijail:= dev-libs/wayland:= crosvm-gpu? ( media-libs/virglrenderer:= ) crosvm-wl-dmabuf? ( media-libs/minigbm:= ) dev-rust/libchromeos:= virtual/libusb:1= !chromeos-base/crosvm-bin crosvm-power-monitor-powerd? ( sys-apps/dbus ) tpm2? ( sys-apps/dbus ) sys-apps/baselayout
+RDEPEND=sys-apps/dtc:= sys-libs/libcap:= crosvm-video-ffmpeg? ( media-video/ffmpeg ) crosvm-video-libvda? ( chromeos-base/libvda ) chromeos-base/minijail:= dev-libs/wayland:= crosvm-gpu? ( media-libs/virglrenderer:= ) crosvm-wl-dmabuf? ( media-libs/minigbm:= ) dev-rust/libchromeos:= virtual/libusb:1= !chromeos-base/crosvm-bin crosvm-power-monitor-powerd? ( sys-apps/dbus ) tpm2? ( sys-apps/dbus ) virtual/rust-binaries:= sys-apps/baselayout
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-SRC_URI=test? ( https://storage.googleapis.com/chromeos-localmirror/crosvm-testing-bzimage-x86_64-r0000 https://storage.googleapis.com/chromeos-localmirror/crosvm-testing-rootfs-x86_64-r0000 )
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=131095b9b9f710f612de1c1e28a74f7f
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=f07231027b895b1a1713db6732aa9b8a
diff --git a/metadata/md5-cache/chromeos-base/crosvm-base-0.1.0-r1 b/metadata/md5-cache/chromeos-base/crosvm-base-0.1.0-r1
new file mode 100644
index 0000000..f9f0df7
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/crosvm-base-0.1.0-r1
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= dev-rust/cfg-if:= dev-rust/chrono:= =dev-rust/env_logger-0.9*:= dev-rust/data_model:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/once_cell-1*:= =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= =dev-rust/smallvec-1*:= dev-rust/sync:= =dev-rust/tempfile-3*:= =dev-rust/thiserror-1*:= =dev-rust/uuid-0.8*:= media-sound/audio_streams:= sys-libs/libcap:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Small system utility modules for usage by other modules.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/base
+IUSE=test cros_host cros_workon_tree_6c2513c16be66f88bf4499a5e4e6afc4c4423ed1_a920b8bc18a923d5cfa6abfb5390bc903526beef cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= dev-rust/cfg-if:= dev-rust/chrono:= =dev-rust/env_logger-0.9*:= dev-rust/data_model:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/once_cell-1*:= =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= =dev-rust/smallvec-1*:= dev-rust/sync:= =dev-rust/tempfile-3*:= =dev-rust/thiserror-1*:= =dev-rust/uuid-0.8*:= media-sound/audio_streams:= sys-libs/libcap:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r1
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=640440714fb002ac7e91332da399ac77
diff --git a/metadata/md5-cache/chromeos-base/crosvm-base-9999 b/metadata/md5-cache/chromeos-base/crosvm-base-9999
new file mode 100644
index 0000000..ed09711
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/crosvm-base-9999
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= dev-rust/cfg-if:= dev-rust/chrono:= =dev-rust/env_logger-0.9*:= dev-rust/data_model:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/once_cell-1*:= =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= =dev-rust/smallvec-1*:= dev-rust/sync:= =dev-rust/tempfile-3*:= =dev-rust/thiserror-1*:= =dev-rust/uuid-0.8*:= media-sound/audio_streams:= sys-libs/libcap:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Small system utility modules for usage by other modules.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/base
+IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= dev-rust/cfg-if:= dev-rust/chrono:= =dev-rust/env_logger-0.9*:= dev-rust/data_model:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/once_cell-1*:= =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= =dev-rust/smallvec-1*:= dev-rust/sync:= =dev-rust/tempfile-3*:= =dev-rust/thiserror-1*:= =dev-rust/uuid-0.8*:= media-sound/audio_streams:= sys-libs/libcap:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/9999
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7a9ba80a4a6323eb1eb2a0a6104ad46a
diff --git a/metadata/md5-cache/chromeos-base/cryptohome-0.0.1-r4150 b/metadata/md5-cache/chromeos-base/cryptohome-0.0.1-r4150
deleted file mode 100644
index 46facd1..0000000
--- a/metadata/md5-cache/chromeos-base/cryptohome-0.0.1-r4150
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git virtual/pkgconfig virtual/pkgconfig
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=!chromeos-base/chromeos-cryptohome tpm? ( app-crypt/trousers:= ) fuzzer? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) selinux? ( sys-libs/libselinux:= ) chromeos-base/attestation:= chromeos-base/biod_proxy:= chromeos-base/bootlockbox-client:= chromeos-base/cbor:= chromeos-base/chaps:= chromeos-base/chromeos-config-tools:= chromeos-base/libhwsec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/secure-erase-file:= chromeos-base/tpm_manager:= >=dev-libs/flatbuffers-2.0.0-r1:= dev-libs/openssl:= dev-libs/protobuf:= sys-apps/flashmap:= sys-apps/keyutils:= sys-apps/rootdev:= sys-fs/e2fsprogs:= sys-fs/ecryptfs-utils:= sys-fs/lvm2:= tpm2? ( chromeos-base/trunks:=[test?] ) chromeos-base/attestation-client:= chromeos-base/cryptohome-client:= chromeos-base/power_manager-client:= chromeos-base/protofiles:= chromeos-base/system_api:=[fuzzer?] chromeos-base/tpm_manager-client:= chromeos-base/vboot_reference:= chromeos-base/libhwsec:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Encrypted home directories for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/cryptohome/
-IUSE=-cert_provision +device_mapper -direncription_allow_v2 -direncryption double_extend_pcr_issue +downloads_bind_mount fuzzer generic_tpm2 kernel-5_15 kernel-5_10 kernel-5_4 kernel-upstream lvm_stateful_partition mount_oop pinweaver selinux slow_mount systemd test tpm tpm_dynamic tpm2 uprev-4-to-5 user_session_isolation +vault_legacy_mount cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_964775e6e0db71595872056851302232fdba45da_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_b1c7898d3f42051cbba6426c62b35476a8de5b72_1454f5ebf6a159645127c22d8c4e382e8752569d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_964775e6e0db71595872056851302232fdba45da_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_b1c7898d3f42051cbba6426c62b35476a8de5b72_1454f5ebf6a159645127c22d8c4e382e8752569d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=!chromeos-base/chromeos-cryptohome tpm? ( app-crypt/trousers:= ) fuzzer? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) selinux? ( sys-libs/libselinux:= ) chromeos-base/attestation:= chromeos-base/biod_proxy:= chromeos-base/bootlockbox-client:= chromeos-base/cbor:= chromeos-base/chaps:= chromeos-base/chromeos-config-tools:= chromeos-base/libhwsec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/secure-erase-file:= chromeos-base/tpm_manager:= >=dev-libs/flatbuffers-2.0.0-r1:= dev-libs/openssl:= dev-libs/protobuf:= sys-apps/flashmap:= sys-apps/keyutils:= sys-apps/rootdev:= sys-fs/e2fsprogs:= sys-fs/ecryptfs-utils:= sys-fs/lvm2:= virtual/tmpfiles has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-REQUIRED_USE=device_mapper tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=07e828173f0204198033209a0ce4b035
diff --git a/metadata/md5-cache/chromeos-base/cryptohome-0.0.1-r4470 b/metadata/md5-cache/chromeos-base/cryptohome-0.0.1-r4470
new file mode 100644
index 0000000..c86456f
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/cryptohome-0.0.1-r4470
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git virtual/pkgconfig virtual/pkgconfig
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=!chromeos-base/chromeos-cryptohome tpm? ( app-crypt/trousers:= ) fuzzer? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) selinux? ( sys-libs/libselinux:= chromeos-base/selinux-policy:= ) chromeos-base/attestation:= chromeos-base/biod_proxy:= chromeos-base/bootlockbox-client:= chromeos-base/cbor:= chromeos-base/chaps:= chromeos-base/chromeos-config-tools:= chromeos-base/libhwsec:=[test?] >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/secure-erase-file:= chromeos-base/tpm_manager:= >=dev-libs/flatbuffers-2.0.0-r1:= dev-libs/openssl:= dev-libs/protobuf:= sys-apps/flashmap:= sys-apps/keyutils:= sys-apps/rootdev:= sys-fs/e2fsprogs:= sys-fs/ecryptfs-utils:= sys-fs/lvm2:= test? ( app-shells/dash:= chromeos-base/chromeos-base:= ) tpm2? ( chromeos-base/trunks:=[test?] ) chromeos-base/attestation-client:= chromeos-base/cryptohome-client:= chromeos-base/power_manager-client:= chromeos-base/protofiles:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/tpm_manager-client:= chromeos-base/vboot_reference:= chromeos-base/libhwsec:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Encrypted home directories for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cryptohome/
+IUSE=-cert_provision +device_mapper -direncription_allow_v2 -direncryption double_extend_pcr_issue +downloads_bind_mount fuzzer generic_tpm2 kernel-5_15 kernel-5_10 kernel-5_4 kernel-upstream lvm_stateful_partition mount_oop pinweaver selinux slow_mount systemd test tpm tpm_dynamic tpm_insecure_fallback tpm2 tpm2_simulator uprev-4-to-5 user_session_isolation uss_migration +vault_legacy_mount vtpm_proxy cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_cae4613fb762e98fcafc23166e621aaa667b6729_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_1454f5ebf6a159645127c22d8c4e382e8752569d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_cae4613fb762e98fcafc23166e621aaa667b6729_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_1454f5ebf6a159645127c22d8c4e382e8752569d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=!chromeos-base/chromeos-cryptohome tpm? ( app-crypt/trousers:= ) fuzzer? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) selinux? ( sys-libs/libselinux:= chromeos-base/selinux-policy:= ) chromeos-base/attestation:= chromeos-base/biod_proxy:= chromeos-base/bootlockbox-client:= chromeos-base/cbor:= chromeos-base/chaps:= chromeos-base/chromeos-config-tools:= chromeos-base/libhwsec:=[test?] >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/secure-erase-file:= chromeos-base/tpm_manager:= >=dev-libs/flatbuffers-2.0.0-r1:= dev-libs/openssl:= dev-libs/protobuf:= sys-apps/flashmap:= sys-apps/keyutils:= sys-apps/rootdev:= sys-fs/e2fsprogs:= sys-fs/ecryptfs-utils:= sys-fs/lvm2:= virtual/tmpfiles has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+REQUIRED_USE=device_mapper tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=ede02af21b4e00d1aac5447b1a877bc8
diff --git a/metadata/md5-cache/chromeos-base/cryptohome-9999 b/metadata/md5-cache/chromeos-base/cryptohome-9999
index 38de1e3..d2672c6 100644
--- a/metadata/md5-cache/chromeos-base/cryptohome-9999
+++ b/metadata/md5-cache/chromeos-base/cryptohome-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git virtual/pkgconfig virtual/pkgconfig
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=!chromeos-base/chromeos-cryptohome tpm? ( app-crypt/trousers:= ) fuzzer? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) selinux? ( sys-libs/libselinux:= ) chromeos-base/attestation:= chromeos-base/biod_proxy:= chromeos-base/bootlockbox-client:= chromeos-base/cbor:= chromeos-base/chaps:= chromeos-base/chromeos-config-tools:= chromeos-base/libhwsec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/secure-erase-file:= chromeos-base/tpm_manager:= >=dev-libs/flatbuffers-2.0.0-r1:= dev-libs/openssl:= dev-libs/protobuf:= sys-apps/flashmap:= sys-apps/keyutils:= sys-apps/rootdev:= sys-fs/e2fsprogs:= sys-fs/ecryptfs-utils:= sys-fs/lvm2:= tpm2? ( chromeos-base/trunks:=[test?] ) chromeos-base/attestation-client:= chromeos-base/cryptohome-client:= chromeos-base/power_manager-client:= chromeos-base/protofiles:= chromeos-base/system_api:=[fuzzer?] chromeos-base/tpm_manager-client:= chromeos-base/vboot_reference:= chromeos-base/libhwsec:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=!chromeos-base/chromeos-cryptohome tpm? ( app-crypt/trousers:= ) fuzzer? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) selinux? ( sys-libs/libselinux:= chromeos-base/selinux-policy:= ) chromeos-base/attestation:= chromeos-base/biod_proxy:= chromeos-base/bootlockbox-client:= chromeos-base/cbor:= chromeos-base/chaps:= chromeos-base/chromeos-config-tools:= chromeos-base/libhwsec:=[test?] >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/secure-erase-file:= chromeos-base/tpm_manager:= >=dev-libs/flatbuffers-2.0.0-r1:= dev-libs/openssl:= dev-libs/protobuf:= sys-apps/flashmap:= sys-apps/keyutils:= sys-apps/rootdev:= sys-fs/e2fsprogs:= sys-fs/ecryptfs-utils:= sys-fs/lvm2:= test? ( app-shells/dash:= chromeos-base/chromeos-base:= ) tpm2? ( chromeos-base/trunks:=[test?] ) chromeos-base/attestation-client:= chromeos-base/cryptohome-client:= chromeos-base/power_manager-client:= chromeos-base/protofiles:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/tpm_manager-client:= chromeos-base/vboot_reference:= chromeos-base/libhwsec:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Encrypted home directories for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/cryptohome/
-IUSE=-cert_provision +device_mapper -direncription_allow_v2 -direncryption double_extend_pcr_issue +downloads_bind_mount fuzzer generic_tpm2 kernel-5_15 kernel-5_10 kernel-5_4 kernel-upstream lvm_stateful_partition mount_oop pinweaver selinux slow_mount systemd test tpm tpm_dynamic tpm2 uprev-4-to-5 user_session_isolation +vault_legacy_mount cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cryptohome/
+IUSE=-cert_provision +device_mapper -direncription_allow_v2 -direncryption double_extend_pcr_issue +downloads_bind_mount fuzzer generic_tpm2 kernel-5_15 kernel-5_10 kernel-5_4 kernel-upstream lvm_stateful_partition mount_oop pinweaver selinux slow_mount systemd test tpm tpm_dynamic tpm_insecure_fallback tpm2 tpm2_simulator uprev-4-to-5 user_session_isolation uss_migration +vault_legacy_mount vtpm_proxy cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=!chromeos-base/chromeos-cryptohome tpm? ( app-crypt/trousers:= ) fuzzer? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) selinux? ( sys-libs/libselinux:= ) chromeos-base/attestation:= chromeos-base/biod_proxy:= chromeos-base/bootlockbox-client:= chromeos-base/cbor:= chromeos-base/chaps:= chromeos-base/chromeos-config-tools:= chromeos-base/libhwsec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/secure-erase-file:= chromeos-base/tpm_manager:= >=dev-libs/flatbuffers-2.0.0-r1:= dev-libs/openssl:= dev-libs/protobuf:= sys-apps/flashmap:= sys-apps/keyutils:= sys-apps/rootdev:= sys-fs/e2fsprogs:= sys-fs/ecryptfs-utils:= sys-fs/lvm2:= virtual/tmpfiles has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+RDEPEND=!chromeos-base/chromeos-cryptohome tpm? ( app-crypt/trousers:= ) fuzzer? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) selinux? ( sys-libs/libselinux:= chromeos-base/selinux-policy:= ) chromeos-base/attestation:= chromeos-base/biod_proxy:= chromeos-base/bootlockbox-client:= chromeos-base/cbor:= chromeos-base/chaps:= chromeos-base/chromeos-config-tools:= chromeos-base/libhwsec:=[test?] >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/secure-erase-file:= chromeos-base/tpm_manager:= >=dev-libs/flatbuffers-2.0.0-r1:= dev-libs/openssl:= dev-libs/protobuf:= sys-apps/flashmap:= sys-apps/keyutils:= sys-apps/rootdev:= sys-fs/e2fsprogs:= sys-fs/ecryptfs-utils:= sys-fs/lvm2:= virtual/tmpfiles has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 REQUIRED_USE=device_mapper tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=5a2263862ee926c0eecfe20d30d633c6
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=6eb332bf92c140cda31ca3d23fed0c38
diff --git a/metadata/md5-cache/chromeos-base/cryptohome-client-0.0.1-r1765 b/metadata/md5-cache/chromeos-base/cryptohome-client-0.0.1-r1765
deleted file mode 100644
index 3dfaa4a..0000000
--- a/metadata/md5-cache/chromeos-base/cryptohome-client-0.0.1-r1765
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=chromeos-base/chromeos-dbus-bindings dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Cryptohome D-Bus client library for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/cryptohome
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_964775e6e0db71595872056851302232fdba45da_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_964775e6e0db71595872056851302232fdba45da_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=!<chromeos-base/cryptohome-0.0.1-r3700 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r1765
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9f6ffa10c324bcf87cc5c82adcff4f54
diff --git a/metadata/md5-cache/chromeos-base/cryptohome-client-0.0.1-r2064 b/metadata/md5-cache/chromeos-base/cryptohome-client-0.0.1-r2064
new file mode 100644
index 0000000..5bf9002
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/cryptohome-client-0.0.1-r2064
@@ -0,0 +1,14 @@
+BDEPEND=chromeos-base/chromeos-dbus-bindings dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Cryptohome D-Bus client library for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cryptohome
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_cae4613fb762e98fcafc23166e621aaa667b6729_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_cae4613fb762e98fcafc23166e621aaa667b6729_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=!<chromeos-base/cryptohome-0.0.1-r3700 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r2064
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d5624d306e6c3f9405ee98dd13cee1c3
diff --git a/metadata/md5-cache/chromeos-base/cryptohome-client-9999 b/metadata/md5-cache/chromeos-base/cryptohome-client-9999
index 0863230..6cd3898 100644
--- a/metadata/md5-cache/chromeos-base/cryptohome-client-9999
+++ b/metadata/md5-cache/chromeos-base/cryptohome-client-9999
@@ -1,14 +1,14 @@
 BDEPEND=chromeos-base/chromeos-dbus-bindings dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Cryptohome D-Bus client library for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/cryptohome
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cryptohome
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=!<chromeos-base/cryptohome-0.0.1-r3700 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=874ce792b1363e1f1105887a49634a13
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7e5acc9d9fa593ecdc18e3e81dbf62ae
diff --git a/metadata/md5-cache/chromeos-base/cryptohome-dev-utils-0.0.1-r1610 b/metadata/md5-cache/chromeos-base/cryptohome-dev-utils-0.0.1-r1610
deleted file mode 100644
index d3e15da..0000000
--- a/metadata/md5-cache/chromeos-base/cryptohome-dev-utils-0.0.1-r1610
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/attestation:= chromeos-base/biod_proxy:= chromeos-base/bootlockbox-client:= chromeos-base/cbor:= chromeos-base/chaps:= chromeos-base/libhwsec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/tpm_manager:= chromeos-base/secure-erase-file:= dev-libs/flatbuffers:= dev-libs/glib:= dev-libs/openssl:= dev-libs/protobuf:= sys-apps/keyutils:= sys-fs/e2fsprogs:= sys-fs/ecryptfs-utils:= chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Cryptohome developer and testing utilities for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/cryptohome
-IUSE=tpm tpm_dynamic tpm2 cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_964775e6e0db71595872056851302232fdba45da_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_1454f5ebf6a159645127c22d8c4e382e8752569d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_964775e6e0db71595872056851302232fdba45da_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_1454f5ebf6a159645127c22d8c4e382e8752569d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/attestation:= chromeos-base/biod_proxy:= chromeos-base/bootlockbox-client:= chromeos-base/cbor:= chromeos-base/chaps:= chromeos-base/libhwsec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/tpm_manager:= chromeos-base/secure-erase-file:= dev-libs/flatbuffers:= dev-libs/glib:= dev-libs/openssl:= dev-libs/protobuf:= sys-apps/keyutils:= sys-fs/e2fsprogs:= sys-fs/ecryptfs-utils:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=97331c78b758497d0be43657edd2e105
diff --git a/metadata/md5-cache/chromeos-base/cryptohome-dev-utils-0.0.1-r1927 b/metadata/md5-cache/chromeos-base/cryptohome-dev-utils-0.0.1-r1927
new file mode 100644
index 0000000..389dde2
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/cryptohome-dev-utils-0.0.1-r1927
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/attestation:= chromeos-base/biod_proxy:= chromeos-base/bootlockbox-client:= chromeos-base/cbor:= chromeos-base/chaps:= chromeos-base/libhwsec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/tpm_manager:= chromeos-base/secure-erase-file:= dev-libs/flatbuffers:= dev-libs/glib:= dev-libs/openssl:= dev-libs/protobuf:= sys-apps/keyutils:= sys-fs/e2fsprogs:= sys-fs/ecryptfs-utils:= chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Cryptohome developer and testing utilities for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cryptohome
+IUSE=tpm tpm_dynamic tpm2 cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_cae4613fb762e98fcafc23166e621aaa667b6729_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_1454f5ebf6a159645127c22d8c4e382e8752569d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_cae4613fb762e98fcafc23166e621aaa667b6729_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_1454f5ebf6a159645127c22d8c4e382e8752569d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/attestation:= chromeos-base/biod_proxy:= chromeos-base/bootlockbox-client:= chromeos-base/cbor:= chromeos-base/chaps:= chromeos-base/libhwsec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/tpm_manager:= chromeos-base/secure-erase-file:= dev-libs/flatbuffers:= dev-libs/glib:= dev-libs/openssl:= dev-libs/protobuf:= sys-apps/keyutils:= sys-fs/e2fsprogs:= sys-fs/ecryptfs-utils:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a62ca36b9fd9bfd4daa5954d4cb3bc03
diff --git a/metadata/md5-cache/chromeos-base/cryptohome-dev-utils-9999 b/metadata/md5-cache/chromeos-base/cryptohome-dev-utils-9999
index 91e6a59..edb9bd4 100644
--- a/metadata/md5-cache/chromeos-base/cryptohome-dev-utils-9999
+++ b/metadata/md5-cache/chromeos-base/cryptohome-dev-utils-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/attestation:= chromeos-base/biod_proxy:= chromeos-base/bootlockbox-client:= chromeos-base/cbor:= chromeos-base/chaps:= chromeos-base/libhwsec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/tpm_manager:= chromeos-base/secure-erase-file:= dev-libs/flatbuffers:= dev-libs/glib:= dev-libs/openssl:= dev-libs/protobuf:= sys-apps/keyutils:= sys-fs/e2fsprogs:= sys-fs/ecryptfs-utils:= chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/attestation:= chromeos-base/biod_proxy:= chromeos-base/bootlockbox-client:= chromeos-base/cbor:= chromeos-base/chaps:= chromeos-base/libhwsec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/tpm_manager:= chromeos-base/secure-erase-file:= dev-libs/flatbuffers:= dev-libs/glib:= dev-libs/openssl:= dev-libs/protobuf:= sys-apps/keyutils:= sys-fs/e2fsprogs:= sys-fs/ecryptfs-utils:= chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Cryptohome developer and testing utilities for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/cryptohome
-IUSE=tpm tpm_dynamic tpm2 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cryptohome
+IUSE=tpm tpm_dynamic tpm2 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:= ) chromeos-base/attestation:= chromeos-base/biod_proxy:= chromeos-base/bootlockbox-client:= chromeos-base/cbor:= chromeos-base/chaps:= chromeos-base/libhwsec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/tpm_manager:= chromeos-base/secure-erase-file:= dev-libs/flatbuffers:= dev-libs/glib:= dev-libs/openssl:= dev-libs/protobuf:= sys-apps/keyutils:= sys-fs/e2fsprogs:= sys-fs/ecryptfs-utils:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=53d97c9dcdd75c776d4dd7631598e8dc
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=574b23901248f30ec03feda22b3d07c9
diff --git a/metadata/md5-cache/chromeos-base/cups-fuzz-2.3.3-r22 b/metadata/md5-cache/chromeos-base/cups-fuzz-2.3.3-r22
index a7c5c8c..3fcbe02 100644
--- a/metadata/md5-cache/chromeos-base/cups-fuzz-2.3.3-r22
+++ b/metadata/md5-cache/chromeos-base/cups-fuzz-2.3.3-r22
@@ -11,5 +11,5 @@
 RDEPEND=net-print/cups:=[fuzzer] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
 REQUIRED_USE=fuzzer
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=4ecb8782f2ea5eb2ac00e39863134dae
diff --git a/metadata/md5-cache/chromeos-base/cups-fuzz-9999 b/metadata/md5-cache/chromeos-base/cups-fuzz-9999
index b401539..359d955 100644
--- a/metadata/md5-cache/chromeos-base/cups-fuzz-9999
+++ b/metadata/md5-cache/chromeos-base/cups-fuzz-9999
@@ -11,5 +11,5 @@
 RDEPEND=net-print/cups:=[fuzzer] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
 REQUIRED_USE=fuzzer
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=6fe3f06dad4527125717b9008595a913
diff --git a/metadata/md5-cache/chromeos-base/debugd-0.0.1-r3198 b/metadata/md5-cache/chromeos-base/debugd-0.0.1-r3198
deleted file mode 100644
index f5393b3..0000000
--- a/metadata/md5-cache/chromeos-base/debugd-0.0.1-r3198
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/chromeos-login:= chromeos-base/cryptohome-client:= chromeos-base/minijail:= chromeos-base/metrics:= chromeos-base/shill-client:= chromeos-base/vboot_reference:= dev-libs/protobuf:= dev-libs/re2:= net-libs/libpcap:= net-wireless/iw:= sys-apps/rootdev:= sys-libs/libcap:= sata? ( sys-apps/smartmontools:= ) chromeos-base/debugd-client:= chromeos-base/system_api:= sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Chrome OS debugging service
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/debugd/
-IUSE=arcvm cellular iwlwifi_dump nvme sata tpm cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_5c7b1787b7d1d6d95fa789fdf2e0b7f1a9dcc46b_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_5c7b1787b7d1d6d95fa789fdf2e0b7f1a9dcc46b_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/chromeos-login:= chromeos-base/cryptohome-client:= chromeos-base/minijail:= chromeos-base/metrics:= chromeos-base/shill-client:= chromeos-base/vboot_reference:= dev-libs/protobuf:= dev-libs/re2:= net-libs/libpcap:= net-wireless/iw:= sys-apps/rootdev:= sys-libs/libcap:= sata? ( sys-apps/smartmontools:= ) iwlwifi_dump? ( chromeos-base/intel-wifi-fw-dump ) nvme? ( sys-apps/nvme-cli ) chromeos-base/chromeos-ssh-testkeys chromeos-base/chromeos-sshd-init !chromeos-base/workarounds sys-apps/iproute2 sys-apps/memtester >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
-SLOT=0/0.0.1-r3198
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=4b3278839b058f9643d24be1136fc6b0
diff --git a/metadata/md5-cache/chromeos-base/debugd-0.0.1-r3350 b/metadata/md5-cache/chromeos-base/debugd-0.0.1-r3350
new file mode 100644
index 0000000..9f6d222
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/debugd-0.0.1-r3350
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/chromeos-login:= chromeos-base/cryptohome-client:= chromeos-base/minijail:= chromeos-base/metrics:= chromeos-base/shill-client:= chromeos-base/vboot_reference:= dev-libs/protobuf:= dev-libs/re2:= net-libs/libpcap:= net-wireless/iw:= sys-apps/rootdev:= sys-libs/libcap:= sata? ( sys-apps/smartmontools:= ) chromeos-base/debugd-client:= chromeos-base/system_api:= sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Chrome OS debugging service
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/debugd/
+IUSE=arcvm cellular iwlwifi_dump nvme sata tpm ufs cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9a6a63bdae61e619e74357a4cd21ab4674791490_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9a6a63bdae61e619e74357a4cd21ab4674791490_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/chromeos-login:= chromeos-base/cryptohome-client:= chromeos-base/minijail:= chromeos-base/metrics:= chromeos-base/shill-client:= chromeos-base/vboot_reference:= dev-libs/protobuf:= dev-libs/re2:= net-libs/libpcap:= net-wireless/iw:= sys-apps/rootdev:= sys-libs/libcap:= sata? ( sys-apps/smartmontools:= ) iwlwifi_dump? ( chromeos-base/intel-wifi-fw-dump ) nvme? ( sys-apps/nvme-cli ) ufs? ( sys-apps/sg3_utils sys-apps/ufs-utils ) chromeos-base/chromeos-ssh-testkeys chromeos-base/chromeos-sshd-init !chromeos-base/workarounds sys-apps/iproute2 sys-apps/memtester >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
+SLOT=0/0.0.1-r3350
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=11bb11304e4e77578f1065de20490469
diff --git a/metadata/md5-cache/chromeos-base/debugd-9999 b/metadata/md5-cache/chromeos-base/debugd-9999
index 1c5070b..a5e1df8 100644
--- a/metadata/md5-cache/chromeos-base/debugd-9999
+++ b/metadata/md5-cache/chromeos-base/debugd-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/chromeos-login:= chromeos-base/cryptohome-client:= chromeos-base/minijail:= chromeos-base/metrics:= chromeos-base/shill-client:= chromeos-base/vboot_reference:= dev-libs/protobuf:= dev-libs/re2:= net-libs/libpcap:= net-wireless/iw:= sys-apps/rootdev:= sys-libs/libcap:= sata? ( sys-apps/smartmontools:= ) chromeos-base/debugd-client:= chromeos-base/system_api:= sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/chromeos-login:= chromeos-base/cryptohome-client:= chromeos-base/minijail:= chromeos-base/metrics:= chromeos-base/shill-client:= chromeos-base/vboot_reference:= dev-libs/protobuf:= dev-libs/re2:= net-libs/libpcap:= net-wireless/iw:= sys-apps/rootdev:= sys-libs/libcap:= sata? ( sys-apps/smartmontools:= ) chromeos-base/debugd-client:= chromeos-base/system_api:= sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Chrome OS debugging service
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/debugd/
-IUSE=arcvm cellular iwlwifi_dump nvme sata tpm cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/debugd/
+IUSE=arcvm cellular iwlwifi_dump nvme sata tpm ufs cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=chromeos-base/chromeos-login:= chromeos-base/cryptohome-client:= chromeos-base/minijail:= chromeos-base/metrics:= chromeos-base/shill-client:= chromeos-base/vboot_reference:= dev-libs/protobuf:= dev-libs/re2:= net-libs/libpcap:= net-wireless/iw:= sys-apps/rootdev:= sys-libs/libcap:= sata? ( sys-apps/smartmontools:= ) iwlwifi_dump? ( chromeos-base/intel-wifi-fw-dump ) nvme? ( sys-apps/nvme-cli ) chromeos-base/chromeos-ssh-testkeys chromeos-base/chromeos-sshd-init !chromeos-base/workarounds sys-apps/iproute2 sys-apps/memtester >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
+RDEPEND=chromeos-base/chromeos-login:= chromeos-base/cryptohome-client:= chromeos-base/minijail:= chromeos-base/metrics:= chromeos-base/shill-client:= chromeos-base/vboot_reference:= dev-libs/protobuf:= dev-libs/re2:= net-libs/libpcap:= net-wireless/iw:= sys-apps/rootdev:= sys-libs/libcap:= sata? ( sys-apps/smartmontools:= ) iwlwifi_dump? ( chromeos-base/intel-wifi-fw-dump ) nvme? ( sys-apps/nvme-cli ) ufs? ( sys-apps/sg3_utils sys-apps/ufs-utils ) chromeos-base/chromeos-ssh-testkeys chromeos-base/chromeos-sshd-init !chromeos-base/workarounds sys-apps/iproute2 sys-apps/memtester >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=9839910e7c7dafeeee87a5f62efa35c5
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=b1050b3a57ae1025e2f381c40ee9dd4b
diff --git a/metadata/md5-cache/chromeos-base/debugd-client-0.0.1-r2168 b/metadata/md5-cache/chromeos-base/debugd-client-0.0.1-r2168
deleted file mode 100644
index 0ea0141..0000000
--- a/metadata/md5-cache/chromeos-base/debugd-client-0.0.1-r2168
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=chromeos-base/chromeos-dbus-bindings dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS debugd client library
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/debugd/
-IUSE=cros_host cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_5c7b1787b7d1d6d95fa789fdf2e0b7f1a9dcc46b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_5c7b1787b7d1d6d95fa789fdf2e0b7f1a9dcc46b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r2168
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=67e38a466111b81eef17f3c98d5d973c
diff --git a/metadata/md5-cache/chromeos-base/debugd-client-0.0.1-r2283 b/metadata/md5-cache/chromeos-base/debugd-client-0.0.1-r2283
new file mode 100644
index 0000000..6d7a440
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/debugd-client-0.0.1-r2283
@@ -0,0 +1,14 @@
+BDEPEND=chromeos-base/chromeos-dbus-bindings dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS debugd client library
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/debugd/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9a6a63bdae61e619e74357a4cd21ab4674791490_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9a6a63bdae61e619e74357a4cd21ab4674791490_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r2283
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0c775c658f7d46d72b9801009fdfc6ad
diff --git a/metadata/md5-cache/chromeos-base/debugd-client-9999 b/metadata/md5-cache/chromeos-base/debugd-client-9999
index 27d3ba7..6d2af9e 100644
--- a/metadata/md5-cache/chromeos-base/debugd-client-9999
+++ b/metadata/md5-cache/chromeos-base/debugd-client-9999
@@ -1,14 +1,14 @@
 BDEPEND=chromeos-base/chromeos-dbus-bindings dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS debugd client library
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/debugd/
-IUSE=cros_host cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/debugd/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=308edde34df2bf06eae84cfc7264e6cd
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=aa326a996706a3c6f85e654edb0b2f8f
diff --git a/metadata/md5-cache/chromeos-base/dev-install-0.0.1-r1284 b/metadata/md5-cache/chromeos-base/dev-install-0.0.1-r1284
deleted file mode 100644
index f98f576..0000000
--- a/metadata/md5-cache/chromeos-base/dev-install-0.0.1-r1284
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chromium OS Developer Packages installer
-EAPI=7
-HOMEPAGE=http://dev.chromium.org/chromium-os/how-tos-and-troubleshooting/install-software-on-base-images
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_5fa61fa3694f6c6a2bf3e6c16e733017e055daa7_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_5fa61fa3694f6c6a2bf3e6c16e733017e055daa7_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/vboot_reference:= app-arch/bzip2 app-arch/tar net-misc/curl >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ff2afbfbaaf576b4dea53eec9a9220b7
diff --git a/metadata/md5-cache/chromeos-base/dev-install-0.0.1-r1343 b/metadata/md5-cache/chromeos-base/dev-install-0.0.1-r1343
new file mode 100644
index 0000000..f2541dc
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/dev-install-0.0.1-r1343
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chromium OS Developer Packages installer
+EAPI=7
+HOMEPAGE=http://dev.chromium.org/chromium-os/how-tos-and-troubleshooting/install-software-on-base-images
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_42d7c5735687e4d0b875e7985955ca1da771f93f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_42d7c5735687e4d0b875e7985955ca1da771f93f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/vboot_reference:= app-arch/bzip2 app-arch/tar net-misc/curl >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7b3880b0f510b8aea042507662ece1c4
diff --git a/metadata/md5-cache/chromeos-base/dev-install-9999 b/metadata/md5-cache/chromeos-base/dev-install-9999
index e281a1b..78064a5 100644
--- a/metadata/md5-cache/chromeos-base/dev-install-9999
+++ b/metadata/md5-cache/chromeos-base/dev-install-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chromium OS Developer Packages installer
 EAPI=7
 HOMEPAGE=http://dev.chromium.org/chromium-os/how-tos-and-troubleshooting/install-software-on-base-images
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/vboot_reference:= app-arch/bzip2 app-arch/tar net-misc/curl >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=a259f68359639bd6e6c4b9aed6559666
diff --git a/metadata/md5-cache/chromeos-base/devserver-0.0.3-r1236 b/metadata/md5-cache/chromeos-base/devserver-0.0.3-r1236
deleted file mode 100644
index 720c37a..0000000
--- a/metadata/md5-cache/chromeos-base/devserver-0.0.3-r1236
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install setup test unpack
-DEPEND=dev-python/psutil
-DESCRIPTION=Server to cache Chromium OS build artifacts from Google Storage.
-EAPI=7
-HOMEPAGE=http://dev.chromium.org/chromium-os/how-tos-and-troubleshooting/using-the-dev-server
-IUSE=cros_host cros_workon_tree_f1eaf98d7a24cd7142d4517c40faebc588a2c61f
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-lang/python dev-python/protobuf-python dev-python/cherrypy net-misc/gsutil !<chromeos-base/cros-devutils-1
-SLOT=0/0.0.3-r1236
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=76f8c287d7113ff81de8904086887e00
diff --git a/metadata/md5-cache/chromeos-base/devserver-0.0.3-r1432 b/metadata/md5-cache/chromeos-base/devserver-0.0.3-r1432
new file mode 100644
index 0000000..e199aaa
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/devserver-0.0.3-r1432
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install setup test unpack
+DEPEND=dev-python/psutil
+DESCRIPTION=Server to cache Chromium OS build artifacts from Google Storage.
+EAPI=7
+HOMEPAGE=http://dev.chromium.org/chromium-os/how-tos-and-troubleshooting/using-the-dev-server
+IUSE=cros_host cros_workon_tree_3ebd1bcdfcefa8558aaa5c66da3bd9ccf4f50405
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-lang/python dev-python/protobuf-python dev-python/cherrypy net-misc/gsutil !<chromeos-base/cros-devutils-1
+SLOT=0/0.0.3-r1432
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=85be46b2c34478eeca041e575d9eb328
diff --git a/metadata/md5-cache/chromeos-base/devserver-9999 b/metadata/md5-cache/chromeos-base/devserver-9999
index b8737ae..0e01375 100644
--- a/metadata/md5-cache/chromeos-base/devserver-9999
+++ b/metadata/md5-cache/chromeos-base/devserver-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=dev-lang/python dev-python/protobuf-python dev-python/cherrypy net-misc/gsutil !<chromeos-base/cros-devutils-1
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f6220d4509abee52b71f323e1ae254e8
diff --git a/metadata/md5-cache/chromeos-base/diagnostics-0.0.1-r1259 b/metadata/md5-cache/chromeos-base/diagnostics-0.0.1-r1259
deleted file mode 100644
index 863713f..0000000
--- a/metadata/md5-cache/chromeos-base/diagnostics-0.0.1-r1259
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= chromeos-base/missive:= dev-libs/protobuf:= dev-libs/re2:= net-libs/grpc:= virtual/libudev:= sys-apps/pciutils:= virtual/libusb:1= virtual/opengles:= app-arch/zstd:= chromeos-base/attestation-client:= chromeos-base/debugd-client:= chromeos-base/tpm_manager-client:= chromeos-base/system_api:=[fuzzer?] media-sound/adhd:= x11-drivers/opengles-headers:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Device telemetry and diagnostics for Chrome OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/diagnostics
-IUSE=fuzzer wilco mesa_reven cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_bea140d13f7cf1092e4c89a45011c04c28327972_9e66382b03347c75c26c85bc14db150d365a0be6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_bea140d13f7cf1092e4c89a45011c04c28327972_9e66382b03347c75c26c85bc14db150d365a0be6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= chromeos-base/missive:= dev-libs/protobuf:= dev-libs/re2:= net-libs/grpc:= virtual/libudev:= sys-apps/pciutils:= virtual/libusb:1= virtual/opengles:= app-arch/zstd:= dev-util/stressapptest wilco? ( sys-block/fio chromeos-base/chromeos-dtc-vm chromeos-base/vpd ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r1259
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=68e789b3e4298f91adc83f2a1782a7cd
diff --git a/metadata/md5-cache/chromeos-base/diagnostics-0.0.1-r1472 b/metadata/md5-cache/chromeos-base/diagnostics-0.0.1-r1472
new file mode 100644
index 0000000..3be7548
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/diagnostics-0.0.1-r1472
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= chromeos-base/missive:= dev-libs/libevdev:= dev-libs/protobuf:= dev-libs/re2:= net-libs/grpc:= virtual/libudev:= sys-apps/pciutils:= virtual/libusb:1= virtual/opengles:= app-arch/zstd:= sys-apps/fwupd:= chromeos-base/attestation-client:= chromeos-base/debugd-client:= chromeos-base/tpm_manager-client:= chromeos-base/system_api:=[fuzzer?] media-sound/adhd:= x11-drivers/opengles-headers:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Device telemetry and diagnostics for Chrome OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/diagnostics
+IUSE=fuzzer wilco mesa_reven cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_527abd7a988a45572305a6c44b5324d0d9cf8be2_ab5bf458d33d9fd75a653fd0b130cc21ef57744f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_527abd7a988a45572305a6c44b5324d0d9cf8be2_ab5bf458d33d9fd75a653fd0b130cc21ef57744f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= chromeos-base/missive:= dev-libs/libevdev:= dev-libs/protobuf:= dev-libs/re2:= net-libs/grpc:= virtual/libudev:= sys-apps/pciutils:= virtual/libusb:1= virtual/opengles:= app-arch/zstd:= sys-apps/fwupd:= dev-util/stressapptest wilco? ( sys-block/fio chromeos-base/chromeos-dtc-vm chromeos-base/vpd ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r1472
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=614d73a46b3bc4d7a5a314d0b9b7abee
diff --git a/metadata/md5-cache/chromeos-base/diagnostics-9999 b/metadata/md5-cache/chromeos-base/diagnostics-9999
index 7a49436..1423d1d 100644
--- a/metadata/md5-cache/chromeos-base/diagnostics-9999
+++ b/metadata/md5-cache/chromeos-base/diagnostics-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= chromeos-base/missive:= dev-libs/protobuf:= dev-libs/re2:= net-libs/grpc:= virtual/libudev:= sys-apps/pciutils:= virtual/libusb:1= virtual/opengles:= app-arch/zstd:= chromeos-base/attestation-client:= chromeos-base/debugd-client:= chromeos-base/tpm_manager-client:= chromeos-base/system_api:=[fuzzer?] media-sound/adhd:= x11-drivers/opengles-headers:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= chromeos-base/missive:= dev-libs/libevdev:= dev-libs/protobuf:= dev-libs/re2:= net-libs/grpc:= virtual/libudev:= sys-apps/pciutils:= virtual/libusb:1= virtual/opengles:= app-arch/zstd:= sys-apps/fwupd:= chromeos-base/attestation-client:= chromeos-base/debugd-client:= chromeos-base/tpm_manager-client:= chromeos-base/system_api:=[fuzzer?] media-sound/adhd:= x11-drivers/opengles-headers:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Device telemetry and diagnostics for Chrome OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/diagnostics
-IUSE=fuzzer wilco mesa_reven cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/diagnostics
+IUSE=fuzzer wilco mesa_reven cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= chromeos-base/missive:= dev-libs/protobuf:= dev-libs/re2:= net-libs/grpc:= virtual/libudev:= sys-apps/pciutils:= virtual/libusb:1= virtual/opengles:= app-arch/zstd:= dev-util/stressapptest wilco? ( sys-block/fio chromeos-base/chromeos-dtc-vm chromeos-base/vpd ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= chromeos-base/missive:= dev-libs/libevdev:= dev-libs/protobuf:= dev-libs/re2:= net-libs/grpc:= virtual/libudev:= sys-apps/pciutils:= virtual/libusb:1= virtual/opengles:= app-arch/zstd:= sys-apps/fwupd:= dev-util/stressapptest wilco? ( sys-block/fio chromeos-base/chromeos-dtc-vm chromeos-base/vpd ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=3e1c6da1930d631fb83059364b2c7499
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=7a6ab1401ba9db72db71658c1ee86e91
diff --git a/metadata/md5-cache/chromeos-base/diagnostics-dpsl-test-0.0.1-r1026 b/metadata/md5-cache/chromeos-base/diagnostics-dpsl-test-0.0.1-r1026
new file mode 100644
index 0000000..71373d9
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/diagnostics-dpsl-test-0.0.1-r1026
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Diagnostics DPSL test designed to be run inside VM
+EAPI=6
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/diagnostics/dpsl/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_ab5bf458d33d9fd75a653fd0b130cc21ef57744f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_ab5bf458d33d9fd75a653fd0b130cc21ef57744f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=net-libs/grpc:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=e003b7d5bf75ba4e1968a2df00a0d9a2
diff --git a/metadata/md5-cache/chromeos-base/diagnostics-dpsl-test-0.0.1-r857 b/metadata/md5-cache/chromeos-base/diagnostics-dpsl-test-0.0.1-r857
deleted file mode 100644
index c47e019..0000000
--- a/metadata/md5-cache/chromeos-base/diagnostics-dpsl-test-0.0.1-r857
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Diagnostics DPSL test designed to be run inside VM
-EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/diagnostics/dpsl/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_9e66382b03347c75c26c85bc14db150d365a0be6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_9e66382b03347c75c26c85bc14db150d365a0be6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=net-libs/grpc:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=c69d99646df654fc4b82a07e11043942
diff --git a/metadata/md5-cache/chromeos-base/diagnostics-dpsl-test-9999 b/metadata/md5-cache/chromeos-base/diagnostics-dpsl-test-9999
index 597f12f..9719c69 100644
--- a/metadata/md5-cache/chromeos-base/diagnostics-dpsl-test-9999
+++ b/metadata/md5-cache/chromeos-base/diagnostics-dpsl-test-9999
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Diagnostics DPSL test designed to be run inside VM
 EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/diagnostics/dpsl/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/diagnostics/dpsl/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=net-libs/grpc:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=beda9c0689041584b822037f4d582c24
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=f98de0426a59d60323aecc88e7e08f8f
diff --git a/metadata/md5-cache/chromeos-base/diagnostics-test-0.0.1-r150 b/metadata/md5-cache/chromeos-base/diagnostics-test-0.0.1-r150
new file mode 100644
index 0000000..f751c3a
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/diagnostics-test-0.0.1-r150
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/diagnostics:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Test utility for cros-healthd
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/diagnostics
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_ab5bf458d33d9fd75a653fd0b130cc21ef57744f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_ab5bf458d33d9fd75a653fd0b130cc21ef57744f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r150
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6d3aa7a21e7c7cc58faeef749b506623
diff --git a/metadata/md5-cache/chromeos-base/diagnostics-test-9999 b/metadata/md5-cache/chromeos-base/diagnostics-test-9999
new file mode 100644
index 0000000..ddc67d5
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/diagnostics-test-9999
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/diagnostics:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Test utility for cros-healthd
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/diagnostics
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/9999
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1127ed3e74822f75d42f7ebfa2c4017a
diff --git a/metadata/md5-cache/chromeos-base/discod-0.0.1-r17 b/metadata/md5-cache/chromeos-base/discod-0.0.1-r17
new file mode 100644
index 0000000..cb6f579
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/discod-0.0.1-r17
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/libhwsec-foundation:= chromeos-base/metrics:= sys-apps/rootdev:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Disk Control daemon for ChromiumOS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/discod/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_8b4967427a3d2dad96feaf0caf2e514e9e6f052e_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_8b4967427a3d2dad96feaf0caf2e514e9e6f052e_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/libhwsec-foundation:= chromeos-base/metrics:= sys-apps/rootdev:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r17
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=d0323ec6540e7ae0a314cb8481ed162d
diff --git a/metadata/md5-cache/chromeos-base/discod-9999 b/metadata/md5-cache/chromeos-base/discod-9999
new file mode 100644
index 0000000..3de1913
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/discod-9999
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/libhwsec-foundation:= chromeos-base/metrics:= sys-apps/rootdev:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Disk Control daemon for ChromiumOS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/discod/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/libhwsec-foundation:= chromeos-base/metrics:= sys-apps/rootdev:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/9999
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=7c177c14aa93a2e713f366726a876675
diff --git a/metadata/md5-cache/chromeos-base/disk_updater-0.0.1-r3140 b/metadata/md5-cache/chromeos-base/disk_updater-0.0.1-r3140
deleted file mode 100644
index 0ff267a..0000000
--- a/metadata/md5-cache/chromeos-base/disk_updater-0.0.1-r3140
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=test? ( sys-apps/diffutils ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Root disk firmware updater
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/disk_updater/
-IUSE=+sata mmc nvme cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_0c5a8625f66e9dd776c8fd52f54c5c18b6158123_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_0c5a8625f66e9dd776c8fd52f54c5c18b6158123_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/chromeos-common-script dev-util/shflags sata? ( sys-apps/hdparm ) mmc? ( sys-apps/mmc-utils ) nvme? ( sys-apps/nvme-cli ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r3140
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e7a717e313d2f484278b30effa5e4606
diff --git a/metadata/md5-cache/chromeos-base/disk_updater-0.0.1-r3199 b/metadata/md5-cache/chromeos-base/disk_updater-0.0.1-r3199
new file mode 100644
index 0000000..74705c9
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/disk_updater-0.0.1-r3199
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=test? ( sys-apps/diffutils ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Root disk firmware updater
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/disk_updater/
+IUSE=+sata mmc nvme cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_7222defad0516675cbd74df61b74d388be5eae64_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_7222defad0516675cbd74df61b74d388be5eae64_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/chromeos-common-script dev-util/shflags sata? ( sys-apps/hdparm ) mmc? ( sys-apps/mmc-utils ) nvme? ( sys-apps/nvme-cli ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r3199
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=510660c1fa9104cac9bb6acc0f56a21a
diff --git a/metadata/md5-cache/chromeos-base/disk_updater-9999 b/metadata/md5-cache/chromeos-base/disk_updater-9999
index a102fc5..edc0352 100644
--- a/metadata/md5-cache/chromeos-base/disk_updater-9999
+++ b/metadata/md5-cache/chromeos-base/disk_updater-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=test? ( sys-apps/diffutils ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=test? ( sys-apps/diffutils ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Root disk firmware updater
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/disk_updater/
-IUSE=+sata mmc nvme cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/disk_updater/
+IUSE=+sata mmc nvme cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/chromeos-common-script dev-util/shflags sata? ( sys-apps/hdparm ) mmc? ( sys-apps/mmc-utils ) nvme? ( sys-apps/nvme-cli ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6451e3dbbd24c5527a9d8eed2115c28c
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=923a867ef2741dfef7a22265db942ca3
diff --git a/metadata/md5-cache/chromeos-base/dlcservice-0.0.1-r683 b/metadata/md5-cache/chromeos-base/dlcservice-0.0.1-r683
deleted file mode 100644
index 92e8506..0000000
--- a/metadata/md5-cache/chromeos-base/dlcservice-0.0.1-r683
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/imageloader:= chromeos-base/minijail:= >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/protobuf:= chromeos-base/dlcservice-client:= chromeos-base/imageloader-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/session_manager-client:= chromeos-base/update_engine-client:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=A D-Bus service for Downloadable Content (DLC)
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/dlcservice/
-IUSE=fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_7c08c9f91be28208831f8bd0e18e399cec7d4562_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_7c08c9f91be28208831f8bd0e18e399cec7d4562_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/imageloader:= chromeos-base/minijail:= >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r683
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=1d39157fe99c1c3b53743454c3a9daef
diff --git a/metadata/md5-cache/chromeos-base/dlcservice-0.0.1-r797 b/metadata/md5-cache/chromeos-base/dlcservice-0.0.1-r797
new file mode 100644
index 0000000..de8661a
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/dlcservice-0.0.1-r797
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/imageloader:= lvm_stateful_partition? ( chromeos-base/lvmd:= ) chromeos-base/minijail:= >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/protobuf:= chromeos-base/dlcservice-client:= chromeos-base/imageloader-client:= lvm_stateful_partition? ( chromeos-base/lvmd-client:= ) chromeos-base/system_api:=[fuzzer?] chromeos-base/session_manager-client:= chromeos-base/update_engine-client:= chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=A D-Bus service for Downloadable Content (DLC)
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/dlcservice/
+IUSE=fuzzer lvm_stateful_partition cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_a66b767a2b19d7eeb270c9a193d4f8bf9365060c_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_a66b767a2b19d7eeb270c9a193d4f8bf9365060c_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/imageloader:= lvm_stateful_partition? ( chromeos-base/lvmd:= ) chromeos-base/minijail:= >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
+SLOT=0/0.0.1-r797
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=cf204755e1f3f84efda68e4f43948983
diff --git a/metadata/md5-cache/chromeos-base/dlcservice-9999 b/metadata/md5-cache/chromeos-base/dlcservice-9999
index 72d7fa2..07f73d3 100644
--- a/metadata/md5-cache/chromeos-base/dlcservice-9999
+++ b/metadata/md5-cache/chromeos-base/dlcservice-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/imageloader:= chromeos-base/minijail:= >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/protobuf:= chromeos-base/dlcservice-client:= chromeos-base/imageloader-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/session_manager-client:= chromeos-base/update_engine-client:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/imageloader:= lvm_stateful_partition? ( chromeos-base/lvmd:= ) chromeos-base/minijail:= >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/protobuf:= chromeos-base/dlcservice-client:= chromeos-base/imageloader-client:= lvm_stateful_partition? ( chromeos-base/lvmd-client:= ) chromeos-base/system_api:=[fuzzer?] chromeos-base/session_manager-client:= chromeos-base/update_engine-client:= chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=A D-Bus service for Downloadable Content (DLC)
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/dlcservice/
-IUSE=fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/dlcservice/
+IUSE=fuzzer lvm_stateful_partition cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=chromeos-base/imageloader:= chromeos-base/minijail:= >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+RDEPEND=chromeos-base/imageloader:= lvm_stateful_partition? ( chromeos-base/lvmd:= ) chromeos-base/minijail:= >=chromeos-base/metrics-0.0.1-r3152:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=dd4e7e49b95265c5b42cdeefff6d3613
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=943463f379cd3075e879008c2b02f1f8
diff --git a/metadata/md5-cache/chromeos-base/dlcservice-client-0.0.1-r527 b/metadata/md5-cache/chromeos-base/dlcservice-client-0.0.1-r527
deleted file mode 100644
index f06b0a3..0000000
--- a/metadata/md5-cache/chromeos-base/dlcservice-client-0.0.1-r527
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/chromeos-dbus-bindings >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=DlcService D-Bus client library for Chromium OS
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/dlcservice/client
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_7c08c9f91be28208831f8bd0e18e399cec7d4562_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_7c08c9f91be28208831f8bd0e18e399cec7d4562_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=52dc004cd75b5eddb6bca1f062a90a3c
diff --git a/metadata/md5-cache/chromeos-base/dlcservice-client-0.0.1-r603 b/metadata/md5-cache/chromeos-base/dlcservice-client-0.0.1-r603
new file mode 100644
index 0000000..29954a9
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/dlcservice-client-0.0.1-r603
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/chromeos-dbus-bindings >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=DlcService D-Bus client library for Chromium OS
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/dlcservice/client
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_a66b767a2b19d7eeb270c9a193d4f8bf9365060c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_a66b767a2b19d7eeb270c9a193d4f8bf9365060c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=5abe88c99bc5e057eb60ca51eead2f9f
diff --git a/metadata/md5-cache/chromeos-base/dlcservice-client-9999 b/metadata/md5-cache/chromeos-base/dlcservice-client-9999
index 5b0ad8a..bf69b51 100644
--- a/metadata/md5-cache/chromeos-base/dlcservice-client-9999
+++ b/metadata/md5-cache/chromeos-base/dlcservice-client-9999
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/chromeos-dbus-bindings >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/chromeos-dbus-bindings >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=DlcService D-Bus client library for Chromium OS
 EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/dlcservice/client
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/dlcservice/client
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=f8a3b22301bb21b0a176af5b510129aa
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=0ffb669b10a5a35f283d9017c82a31a0
diff --git a/metadata/md5-cache/chromeos-base/dlp-0.0.1-r102 b/metadata/md5-cache/chromeos-base/dlp-0.0.1-r102
deleted file mode 100644
index e2fad27..0000000
--- a/metadata/md5-cache/chromeos-base/dlp-0.0.1-r102
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/minijail:= !dev-db/leveldb dev-libs/leveldb:= dev-libs/protobuf:= chromeos-base/session_manager-client:= chromeos-base/system_api:= sys-apps/dbus:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=A daemon that provides support for Data Leak Prevention restrictions for file accesses.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/dlp/
-IUSE=fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_d29a527ccad50f4fcb2948220674062299d13b5a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_d29a527ccad50f4fcb2948220674062299d13b5a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/minijail:= !dev-db/leveldb dev-libs/leveldb:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r102
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=59d3e9899afedf941a1686dcb980c4b2
diff --git a/metadata/md5-cache/chromeos-base/dlp-0.0.1-r168 b/metadata/md5-cache/chromeos-base/dlp-0.0.1-r168
new file mode 100644
index 0000000..7235c14
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/dlp-0.0.1-r168
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/minijail:= !dev-db/leveldb dev-libs/leveldb:= dev-libs/protobuf:= chromeos-base/session_manager-client:= chromeos-base/system_api:= sys-apps/dbus:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=A daemon that provides support for Data Leak Prevention restrictions for file accesses.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/dlp/
+IUSE=fuzzer cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_179a073f51a15a90cbbdf56fba124d9d71ba4c92_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_179a073f51a15a90cbbdf56fba124d9d71ba4c92_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/minijail:= !dev-db/leveldb dev-libs/leveldb:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r168
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=f90507304b744ddedf7df6bbb22b095e
diff --git a/metadata/md5-cache/chromeos-base/dlp-9999 b/metadata/md5-cache/chromeos-base/dlp-9999
index 3de2816..ea51846 100644
--- a/metadata/md5-cache/chromeos-base/dlp-9999
+++ b/metadata/md5-cache/chromeos-base/dlp-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/minijail:= !dev-db/leveldb dev-libs/leveldb:= dev-libs/protobuf:= chromeos-base/session_manager-client:= chromeos-base/system_api:= sys-apps/dbus:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/minijail:= !dev-db/leveldb dev-libs/leveldb:= dev-libs/protobuf:= chromeos-base/session_manager-client:= chromeos-base/system_api:= sys-apps/dbus:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=A daemon that provides support for Data Leak Prevention restrictions for file accesses.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/dlp/
-IUSE=fuzzer cros_host cros_workon_tree_ cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/dlp/
+IUSE=fuzzer cros_host cros_workon_tree_ cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/minijail:= !dev-db/leveldb dev-libs/leveldb:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=1c20a302bb467ca1b20c9aa52e369144
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=393136c3502e9b9baa095856008e795e
diff --git a/metadata/md5-cache/chromeos-base/dns-proxy-0.0.1-r215 b/metadata/md5-cache/chromeos-base/dns-proxy-0.0.1-r215
deleted file mode 100644
index 257b1a5..0000000
--- a/metadata/md5-cache/chromeos-base/dns-proxy-0.0.1-r215
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/metrics:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= chromeos-base/shill-dbus-client:= chromeos-base/shill-net:= dev-libs/protobuf:= dev-libs/dbus-glib:= sys-apps/dbus:= net-misc/curl:= chromeos-base/permission_broker-client:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=A daemon that provides DNS proxying services.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/dns-proxy/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_d274a7315cff6ee42e7706a0046d32232706e42e_4a0dedab080195bdc122d2289118df4af3ddca2c_df2875ccc771270175813bb56bd8288194e09568_959cf5c9e5c2eee5a1601125f7f3288e2f7a7c61_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_d274a7315cff6ee42e7706a0046d32232706e42e_4a0dedab080195bdc122d2289118df4af3ddca2c_df2875ccc771270175813bb56bd8288194e09568_959cf5c9e5c2eee5a1601125f7f3288e2f7a7c61_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/metrics:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= chromeos-base/shill-dbus-client:= chromeos-base/shill-net:= dev-libs/protobuf:= dev-libs/dbus-glib:= sys-apps/dbus:= net-misc/curl:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=333df7509d3f450067bbe202c3c29912
diff --git a/metadata/md5-cache/chromeos-base/dns-proxy-0.0.1-r345 b/metadata/md5-cache/chromeos-base/dns-proxy-0.0.1-r345
new file mode 100644
index 0000000..8eb92cf
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/dns-proxy-0.0.1-r345
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/metrics:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= chromeos-base/shill-dbus-client:= chromeos-base/shill-net:= dev-libs/protobuf:= dev-libs/dbus-glib:= sys-apps/dbus:= net-misc/curl:= chromeos-base/permission_broker-client:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=A daemon that provides DNS proxying services.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/dns-proxy/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_235fefd7a1a3627928bea9ea768909f97eb5a889_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_62f84a7b4216d539df553a5bafe00d85969a9f63_bf11ffe5bade82cef5574e57f94fd0e7e38b716c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_235fefd7a1a3627928bea9ea768909f97eb5a889_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_62f84a7b4216d539df553a5bafe00d85969a9f63_bf11ffe5bade82cef5574e57f94fd0e7e38b716c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/metrics:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= chromeos-base/shill-dbus-client:= chromeos-base/shill-net:= dev-libs/protobuf:= dev-libs/dbus-glib:= sys-apps/dbus:= net-misc/curl:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=c0bc830e79eda8ad1a568ad63322b8ac
diff --git a/metadata/md5-cache/chromeos-base/dns-proxy-9999 b/metadata/md5-cache/chromeos-base/dns-proxy-9999
index 8fca8d6..2f785a4 100644
--- a/metadata/md5-cache/chromeos-base/dns-proxy-9999
+++ b/metadata/md5-cache/chromeos-base/dns-proxy-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/metrics:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= chromeos-base/shill-dbus-client:= chromeos-base/shill-net:= dev-libs/protobuf:= dev-libs/dbus-glib:= sys-apps/dbus:= net-misc/curl:= chromeos-base/permission_broker-client:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/metrics:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= chromeos-base/shill-dbus-client:= chromeos-base/shill-net:= dev-libs/protobuf:= dev-libs/dbus-glib:= sys-apps/dbus:= net-misc/curl:= chromeos-base/permission_broker-client:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=A daemon that provides DNS proxying services.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/dns-proxy/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/metrics:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= chromeos-base/shill-dbus-client:= chromeos-base/shill-net:= dev-libs/protobuf:= dev-libs/dbus-glib:= sys-apps/dbus:= net-misc/curl:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
 _md5_=c19cd87ad6923251871d485aeccc7c26
diff --git a/metadata/md5-cache/chromeos-base/drm-tests-0.0.1-r250 b/metadata/md5-cache/chromeos-base/drm-tests-0.0.1-r250
deleted file mode 100644
index f942d83..0000000
--- a/metadata/md5-cache/chromeos-base/drm-tests-0.0.1-r250
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install setup unpack
-DEPEND=virtual/opengles || ( media-libs/mesa[gbm] media-libs/minigbm ) media-libs/libsync v4lplugin? ( media-libs/libv4lplugins ) vulkan? ( media-libs/vulkan-loader virtual/vulkan-icd ) x11-drivers/opengles-headers
-DESCRIPTION=Chrome OS DRM Tests
-EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/drm-tests/
-IUSE=v4lplugin vulkan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_bfb6a7aa062f0b6e0f72cd324e35c0c9d9f3af5e
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=virtual/opengles || ( media-libs/mesa[gbm] media-libs/minigbm ) media-libs/libsync v4lplugin? ( media-libs/libv4lplugins ) vulkan? ( media-libs/vulkan-loader virtual/vulkan-icd )
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=42744c82538a6c0fba6b294c7074d190
diff --git a/metadata/md5-cache/chromeos-base/drm-tests-0.0.1-r268 b/metadata/md5-cache/chromeos-base/drm-tests-0.0.1-r268
new file mode 100644
index 0000000..a188da2
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/drm-tests-0.0.1-r268
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup unpack
+DEPEND=virtual/opengles || ( media-libs/mesa[gbm] media-libs/minigbm ) media-libs/libsync v4lplugin? ( media-libs/libv4lplugins ) vulkan? ( media-libs/vulkan-loader virtual/vulkan-icd ) x11-drivers/opengles-headers
+DESCRIPTION=Chrome OS DRM Tests
+EAPI=6
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/drm-tests/
+IUSE=v4lplugin vulkan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_d041420585751c20526d016355047acbdaacc6ab
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=virtual/opengles || ( media-libs/mesa[gbm] media-libs/minigbm ) media-libs/libsync v4lplugin? ( media-libs/libv4lplugins ) vulkan? ( media-libs/vulkan-loader virtual/vulkan-icd )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=72b4e62d6a7daeae3cd81d13bd010cfa
diff --git a/metadata/md5-cache/chromeos-base/drm-tests-9999 b/metadata/md5-cache/chromeos-base/drm-tests-9999
index 44f880b..4bf9cc2 100644
--- a/metadata/md5-cache/chromeos-base/drm-tests-9999
+++ b/metadata/md5-cache/chromeos-base/drm-tests-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=virtual/opengles || ( media-libs/mesa[gbm] media-libs/minigbm ) media-libs/libsync v4lplugin? ( media-libs/libv4lplugins ) vulkan? ( media-libs/vulkan-loader virtual/vulkan-icd )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=39827fa353f31892513a7ee2e5220b06
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=1669256e4cfad76fd19016c6db862c24
diff --git a/metadata/md5-cache/chromeos-base/easy-unlock-0.0.1-r3040 b/metadata/md5-cache/chromeos-base/easy-unlock-0.0.1-r3040
deleted file mode 100644
index be4f921..0000000
--- a/metadata/md5-cache/chromeos-base/easy-unlock-0.0.1-r3040
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/easy-unlock-crypto:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Service for supporting Easy Unlock in Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/easy-unlock/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_fb008405766fe5622d85f42194c2fb6f302453f7_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_fb008405766fe5622d85f42194c2fb6f302453f7_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/easy-unlock-crypto:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=2561dc0cc491650e4a5c37349cfc83db
diff --git a/metadata/md5-cache/chromeos-base/easy-unlock-0.0.1-r3102 b/metadata/md5-cache/chromeos-base/easy-unlock-0.0.1-r3102
new file mode 100644
index 0000000..90f80ca
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/easy-unlock-0.0.1-r3102
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/easy-unlock-crypto:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Service for supporting Easy Unlock in Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/easy-unlock/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_ead09467b3f58a6e812f692940d708f1c286b94d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_ead09467b3f58a6e812f692940d708f1c286b94d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/easy-unlock-crypto:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=edc49ef780393d663d9a4aa0e79f4cbe
diff --git a/metadata/md5-cache/chromeos-base/easy-unlock-9999 b/metadata/md5-cache/chromeos-base/easy-unlock-9999
index d50ac89..81613e1 100644
--- a/metadata/md5-cache/chromeos-base/easy-unlock-9999
+++ b/metadata/md5-cache/chromeos-base/easy-unlock-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/easy-unlock-crypto:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/easy-unlock-crypto:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Service for supporting Easy Unlock in Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/easy-unlock/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/easy-unlock/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/easy-unlock-crypto:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=dedf8a2b957f326472ebc43cffe03171
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=cf70578664966b88403fec7273b68958
diff --git a/metadata/md5-cache/chromeos-base/ec-devutils-0.0.2-r10168 b/metadata/md5-cache/chromeos-base/ec-devutils-0.0.2-r10168
deleted file mode 100644
index a025f88..0000000
--- a/metadata/md5-cache/chromeos-base/ec-devutils-0.0.2-r10168
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] virtual/pkgconfig dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] dev-python/setuptools[python_targets_python3_6(-)?,-python_single_target_python3_6(-)]
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=virtual/libusb:1= sys-apps/flashmap:=
-DESCRIPTION=Host development utilities for Chromium OS EC
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os/ec-development
-IUSE=hammerd cros_host cros_workon_tree_7e6f9e6c00a385e1ca7fa02919c855027b5c4ae2 python_targets_python3_6
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=virtual/libusb:1= sys-apps/flashmap:= app-mobilephone/dfu-util sys-firmware/servo-firmware sys-apps/flashrom !<chromeos-base/ec-utils-0.0.1-r6153 chromeos-base/ec-utils >=dev-python/pyusb-1.0.2[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,-python_single_target_python3_6(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 )
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9423510d22c7ef623fceb6c75d649a84
diff --git a/metadata/md5-cache/chromeos-base/ec-devutils-0.0.2-r11762 b/metadata/md5-cache/chromeos-base/ec-devutils-0.0.2-r11762
new file mode 100644
index 0000000..97a0314
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/ec-devutils-0.0.2-r11762
@@ -0,0 +1,15 @@
+BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] virtual/pkgconfig dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=virtual/libusb:1= sys-apps/flashmap:=
+DESCRIPTION=Host development utilities for Chromium OS EC
+EAPI=7
+HOMEPAGE=https://www.chromium.org/chromium-os/ec-development
+IUSE=hammerd cros_host cros_workon_tree_c4d4dd3923749f39f3075774e374e9e77e0c876f python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=virtual/libusb:1= sys-apps/flashmap:= app-mobilephone/dfu-util sys-firmware/servo-firmware sys-apps/flashrom !<chromeos-base/ec-utils-0.0.1-r6153 chromeos-base/ec-utils >=dev-python/pyusb-1.0.2[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ed75daa01513d93bb0803865fd4f36f2
diff --git a/metadata/md5-cache/chromeos-base/ec-devutils-9999 b/metadata/md5-cache/chromeos-base/ec-devutils-9999
index 317d0d6..aefea0e 100644
--- a/metadata/md5-cache/chromeos-base/ec-devutils-9999
+++ b/metadata/md5-cache/chromeos-base/ec-devutils-9999
@@ -1,15 +1,15 @@
-BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] virtual/pkgconfig dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] dev-python/setuptools[python_targets_python3_6(-)?,-python_single_target_python3_6(-)]
+BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] virtual/pkgconfig dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
 DEFINED_PHASES=compile configure info install prepare setup test unpack
 DEPEND=virtual/libusb:1= sys-apps/flashmap:=
 DESCRIPTION=Host development utilities for Chromium OS EC
 EAPI=7
 HOMEPAGE=https://www.chromium.org/chromium-os/ec-development
-IUSE=hammerd cros_host cros_workon_tree_ python_targets_python3_6
+IUSE=hammerd cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=virtual/libusb:1= sys-apps/flashmap:= app-mobilephone/dfu-util sys-firmware/servo-firmware sys-apps/flashrom !<chromeos-base/ec-utils-0.0.1-r6153 chromeos-base/ec-utils >=dev-python/pyusb-1.0.2[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,-python_single_target_python3_6(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 )
+RDEPEND=virtual/libusb:1= sys-apps/flashmap:= app-mobilephone/dfu-util sys-firmware/servo-firmware sys-apps/flashrom !<chromeos-base/ec-utils-0.0.1-r6153 chromeos-base/ec-utils >=dev-python/pyusb-1.0.2[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=f19cdd231d57cfc1896855f392304cf8
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b28677f22ccf1359b3a1c77fc4e9cb65
diff --git a/metadata/md5-cache/chromeos-base/ec-utils-0.0.2-r12102 b/metadata/md5-cache/chromeos-base/ec-utils-0.0.2-r12102
deleted file mode 100644
index 03eb255..0000000
--- a/metadata/md5-cache/chromeos-base/ec-utils-0.0.2-r12102
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst preinst setup unpack
-DEPEND=dev-embedded/libftdi:= dev-libs/openssl:0= sys-libs/zlib:= virtual/libusb:1= sys-apps/baselayout
-DESCRIPTION=Chrome OS EC Utility
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/
-IUSE=static -updater_utils cros_host +cros_ec_utils cros_host cros_workon_tree_7e6f9e6c00a385e1ca7fa02919c855027b5c4ae2
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-embedded/libftdi:= dev-libs/openssl:0= sys-libs/zlib:= virtual/libusb:1= sys-apps/baselayout
-SLOT=0/0.0.2-r12102
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=33769daef23c889864d8f58b98950852
diff --git a/metadata/md5-cache/chromeos-base/ec-utils-0.0.2-r13695 b/metadata/md5-cache/chromeos-base/ec-utils-0.0.2-r13695
new file mode 100644
index 0000000..50c9a33
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/ec-utils-0.0.2-r13695
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst preinst setup unpack
+DEPEND=dev-embedded/libftdi:= dev-libs/openssl:0= sys-libs/zlib:= virtual/libusb:1= sys-apps/baselayout
+DESCRIPTION=Chrome OS EC Utility
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/
+IUSE=static -updater_utils cros_host +cros_ec_utils cros_host cros_workon_tree_c4d4dd3923749f39f3075774e374e9e77e0c876f
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-embedded/libftdi:= dev-libs/openssl:0= sys-libs/zlib:= virtual/libusb:1= sys-apps/baselayout
+SLOT=0/0.0.2-r13695
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=270aa6e2263f151b5c35c4bce46be882
diff --git a/metadata/md5-cache/chromeos-base/ec-utils-9999 b/metadata/md5-cache/chromeos-base/ec-utils-9999
index 80b4db6..d7757c1 100644
--- a/metadata/md5-cache/chromeos-base/ec-utils-9999
+++ b/metadata/md5-cache/chromeos-base/ec-utils-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=dev-embedded/libftdi:= dev-libs/openssl:0= sys-libs/zlib:= virtual/libusb:1= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=2e0fcb19a00f2e94df3bc6bfa2f0e292
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=87a4d6b5eaae562823374524ba6d4b03
diff --git a/metadata/md5-cache/chromeos-base/ec-utils-test-0.0.1-r10867 b/metadata/md5-cache/chromeos-base/ec-utils-test-0.0.1-r10867
new file mode 100644
index 0000000..5bcf0a6
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/ec-utils-test-0.0.1-r10867
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install setup unpack
+DESCRIPTION=Chrome OS EC Utility Helper
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/
+IUSE=biod -cr50_onboard cros_host cros_workon_tree_c4d4dd3923749f39f3075774e374e9e77e0c876f python_targets_pypy3 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=python_targets_pypy3? ( >=dev-python/pypy3-7.3.0:0= ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] chromeos-base/ec-utils biod? ( chromeos-base/ec-devutils dev-util/shflags )
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1c3d8cf3a9198bf93127aca5a8099808
diff --git a/metadata/md5-cache/chromeos-base/ec-utils-test-0.0.1-r9274 b/metadata/md5-cache/chromeos-base/ec-utils-test-0.0.1-r9274
deleted file mode 100644
index 07bc589..0000000
--- a/metadata/md5-cache/chromeos-base/ec-utils-test-0.0.1-r9274
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install setup unpack
-DESCRIPTION=Chrome OS EC Utility Helper
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/
-IUSE=biod -cr50_onboard cros_host cros_workon_tree_7e6f9e6c00a385e1ca7fa02919c855027b5c4ae2 python_targets_pypy3 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=python_targets_pypy3? ( >=dev-python/pypy3-7.3.0:0= ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] chromeos-base/ec-utils biod? ( chromeos-base/ec-devutils dev-util/shflags )
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2629068ca6a835a98f4b91a388ca8f11
diff --git a/metadata/md5-cache/chromeos-base/ec-utils-test-9999 b/metadata/md5-cache/chromeos-base/ec-utils-test-9999
index 9d31aba..bcf6261 100644
--- a/metadata/md5-cache/chromeos-base/ec-utils-test-9999
+++ b/metadata/md5-cache/chromeos-base/ec-utils-test-9999
@@ -3,11 +3,11 @@
 DESCRIPTION=Chrome OS EC Utility Helper
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/
-IUSE=biod -cr50_onboard cros_host cros_workon_tree_ python_targets_pypy3 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
+IUSE=biod -cr50_onboard cros_host cros_workon_tree_ python_targets_pypy3 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=python_targets_pypy3? ( >=dev-python/pypy3-7.3.0:0= ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] chromeos-base/ec-utils biod? ( chromeos-base/ec-devutils dev-util/shflags )
+RDEPEND=python_targets_pypy3? ( >=dev-python/pypy3-7.3.0:0= ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] chromeos-base/ec-utils biod? ( chromeos-base/ec-devutils dev-util/shflags )
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=441560df9bf3321904e7f16dfd15c0c8
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f98ef22c05ea91d6c64a5f1d6cd9aae4
diff --git a/metadata/md5-cache/chromeos-base/elan_i2chid_tools-1.14-r12 b/metadata/md5-cache/chromeos-base/elan_i2chid_tools-1.14-r12
deleted file mode 100644
index 04fabce..0000000
--- a/metadata/md5-cache/chromeos-base/elan_i2chid_tools-1.14-r12
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=configure install
-DESCRIPTION=Elan Touchscreen I2C-HID Tools for Firmware Update
-EAPI=6
-HOMEPAGE=https://github.com/PaulLiang01043/elan_i2chid_tools
-KEYWORDS=*
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=http://storage.googleapis.com/chromeos-localmirror/distfiles/elan_i2chid_tools-1.14.tar.gz
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=f10f7c477a74f285e0f5fa120a511c60
diff --git a/metadata/md5-cache/chromeos-base/elan_i2chid_tools-1.16-r9 b/metadata/md5-cache/chromeos-base/elan_i2chid_tools-1.16-r9
new file mode 100644
index 0000000..99fa595
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/elan_i2chid_tools-1.16-r9
@@ -0,0 +1,10 @@
+DEFINED_PHASES=configure install
+DESCRIPTION=Elan Touchscreen I2C-HID Tools for Firmware Update
+EAPI=6
+HOMEPAGE=https://github.com/PaulLiang01043/elan_i2chid_tools
+KEYWORDS=*
+LICENSE=Apache-2.0
+SLOT=0
+SRC_URI=http://storage.googleapis.com/chromeos-localmirror/distfiles/elan_i2chid_tools-1.16.tar.gz
+_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=f10f7c477a74f285e0f5fa120a511c60
diff --git a/metadata/md5-cache/chromeos-base/factory-0.2.0-r2455 b/metadata/md5-cache/chromeos-base/factory-0.2.0-r2455
deleted file mode 100644
index c47fdd5..0000000
--- a/metadata/md5-cache/chromeos-base/factory-0.2.0-r2455
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=virtual/chromeos-bsp-factory:= virtual/chromeos-regions:= dev-python/jsonrpclib:= dev-python/pyyaml:= dev-python/protobuf-python:=
-DESCRIPTION=Chrome OS Factory Software Platform
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/factory/
-IUSE=cros_host cros_workon_tree_7a08d5b4ce22019a7f4cf5645c6bf6f8bd4a749e python_targets_python3_6 python_targets_python3_7 cheets factory_branch
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-REQUIRED_USE=factory_branch? ( !cheets )
-SLOT=0/0.2.0-r2455
-SRC_URI=http://commondatastorage.googleapis.com/chromeos-localmirror//distfiles/webgl-aquarium-20130524.tar.bz2
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-factory	c09e6adcbeb150690257aa95b6154ec7	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0b99f3528eca87d9520c78e901e90fef
diff --git a/metadata/md5-cache/chromeos-base/factory-0.2.0-r2707 b/metadata/md5-cache/chromeos-base/factory-0.2.0-r2707
new file mode 100644
index 0000000..003ddf5
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/factory-0.2.0-r2707
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=virtual/chromeos-bsp-factory:= virtual/chromeos-regions:= dev-python/jsonrpclib:= dev-python/pyyaml:= dev-python/protobuf-python:=
+DESCRIPTION=Chrome OS Factory Software Platform
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/factory/
+IUSE=cros_host cros_workon_tree_2f51113b10e8654ea39e27bd5e62c28477cf9c08 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 cheets factory_branch
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+REQUIRED_USE=factory_branch? ( !cheets )
+SLOT=0/0.2.0-r2707
+SRC_URI=http://commondatastorage.googleapis.com/chromeos-localmirror//distfiles/webgl-aquarium-20130524.tar.bz2
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-factory	b493be9c2c9f2855ff7a884d0ed7fb38	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3b3951d5aefe6c37a7acbc7623b05ae1
diff --git a/metadata/md5-cache/chromeos-base/factory-9999 b/metadata/md5-cache/chromeos-base/factory-9999
index cf6dc93..ec0539d 100644
--- a/metadata/md5-cache/chromeos-base/factory-9999
+++ b/metadata/md5-cache/chromeos-base/factory-9999
@@ -4,12 +4,12 @@
 DESCRIPTION=Chrome OS Factory Software Platform
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/factory/
-IUSE=cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 cheets factory_branch
+IUSE=cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 cheets factory_branch
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 REQUIRED_USE=factory_branch? ( !cheets )
 SLOT=0/9999
 SRC_URI=http://commondatastorage.googleapis.com/chromeos-localmirror//distfiles/webgl-aquarium-20130524.tar.bz2
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-factory	c09e6adcbeb150690257aa95b6154ec7	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a876578849b5ac64c8df0d652afd488b
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-factory	b493be9c2c9f2855ff7a884d0ed7fb38	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8fc23befa3c2fbb1c6fdeb364ac52727
diff --git a/metadata/md5-cache/chromeos-base/factory-deps-1 b/metadata/md5-cache/chromeos-base/factory-deps-1
index 3ba6d23..e93082c 100644
--- a/metadata/md5-cache/chromeos-base/factory-deps-1
+++ b/metadata/md5-cache/chromeos-base/factory-deps-1
@@ -5,6 +5,6 @@
 IUSE=+cras +shill
 KEYWORDS=*
 LICENSE=BSD-Google
-RDEPEND=shill? ( chromeos-base/shill-test-scripts ) dev-lang/python dev-python/dbus-python dev-python/dpkt dev-python/jsonrpclib dev-python/jsonschema dev-python/netifaces dev-python/pyyaml dev-python/setproctitle dev-python/ws4py app-arch/lbzip2 app-arch/pigz app-arch/xz-utils chromeos-base/cryptohome dev-python/numpy dev-python/pyserial dev-python/python-evdev dev-python/python-gnupg dev-python/pyudev dev-python/requests dev-util/stressapptest net-misc/htpdate sys-apps/iproute2 sys-apps/lshw cras? ( chromeos-base/audiotest media-sound/sox ) media-gfx/zbar media-libs/opencv sys-block/parted dev-python/pexpect net-misc/iperf:3 dev-python/protobuf-python chromeos-base/autotest-client sys-apps/busybox sys-apps/toybox sys-apps/coreboot-utils dev-python/qrcode chromeos-base/cros-config-api
+RDEPEND=shill? ( chromeos-base/shill-test-scripts ) dev-lang/python dev-python/dbus-python dev-python/dpkt dev-python/jsonrpclib dev-python/jsonschema dev-python/netifaces dev-python/pyyaml dev-python/setproctitle dev-python/ws4py app-arch/lbzip2 app-arch/pigz app-arch/xz-utils chromeos-base/cryptohome dev-python/numpy dev-python/pyserial dev-python/python-evdev dev-python/python-gnupg dev-python/pyudev dev-python/requests dev-util/stressapptest net-misc/htpdate sys-apps/iproute2 sys-apps/lshw sys-apps/mosys cras? ( chromeos-base/audiotest media-sound/sox ) media-gfx/zbar media-libs/opencv sys-block/parted dev-python/pexpect net-misc/iperf:3 dev-python/protobuf-python chromeos-base/autotest-client sys-apps/busybox sys-apps/toybox sys-apps/coreboot-utils dev-python/qrcode chromeos-base/cros-config-api dev-python/crcmod dev-python/pycryptodome
 SLOT=0
-_md5_=5af84969e5d34407a4f8ddacedc5439d
+_md5_=e4f5395f98978def65d3b65be276687c
diff --git a/metadata/md5-cache/chromeos-base/factory-deps-1-r12 b/metadata/md5-cache/chromeos-base/factory-deps-1-r12
deleted file mode 100644
index 3ba6d23..0000000
--- a/metadata/md5-cache/chromeos-base/factory-deps-1-r12
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=-
-DESCRIPTION=List of packages that are needed for Chrome OS factory software.
-EAPI=6
-HOMEPAGE=http://dev.chromium.org/
-IUSE=+cras +shill
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=shill? ( chromeos-base/shill-test-scripts ) dev-lang/python dev-python/dbus-python dev-python/dpkt dev-python/jsonrpclib dev-python/jsonschema dev-python/netifaces dev-python/pyyaml dev-python/setproctitle dev-python/ws4py app-arch/lbzip2 app-arch/pigz app-arch/xz-utils chromeos-base/cryptohome dev-python/numpy dev-python/pyserial dev-python/python-evdev dev-python/python-gnupg dev-python/pyudev dev-python/requests dev-util/stressapptest net-misc/htpdate sys-apps/iproute2 sys-apps/lshw cras? ( chromeos-base/audiotest media-sound/sox ) media-gfx/zbar media-libs/opencv sys-block/parted dev-python/pexpect net-misc/iperf:3 dev-python/protobuf-python chromeos-base/autotest-client sys-apps/busybox sys-apps/toybox sys-apps/coreboot-utils dev-python/qrcode chromeos-base/cros-config-api
-SLOT=0
-_md5_=5af84969e5d34407a4f8ddacedc5439d
diff --git a/metadata/md5-cache/chromeos-base/factory-deps-1-r14 b/metadata/md5-cache/chromeos-base/factory-deps-1-r14
new file mode 100644
index 0000000..e93082c
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/factory-deps-1-r14
@@ -0,0 +1,10 @@
+DEFINED_PHASES=-
+DESCRIPTION=List of packages that are needed for Chrome OS factory software.
+EAPI=6
+HOMEPAGE=http://dev.chromium.org/
+IUSE=+cras +shill
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=shill? ( chromeos-base/shill-test-scripts ) dev-lang/python dev-python/dbus-python dev-python/dpkt dev-python/jsonrpclib dev-python/jsonschema dev-python/netifaces dev-python/pyyaml dev-python/setproctitle dev-python/ws4py app-arch/lbzip2 app-arch/pigz app-arch/xz-utils chromeos-base/cryptohome dev-python/numpy dev-python/pyserial dev-python/python-evdev dev-python/python-gnupg dev-python/pyudev dev-python/requests dev-util/stressapptest net-misc/htpdate sys-apps/iproute2 sys-apps/lshw sys-apps/mosys cras? ( chromeos-base/audiotest media-sound/sox ) media-gfx/zbar media-libs/opencv sys-block/parted dev-python/pexpect net-misc/iperf:3 dev-python/protobuf-python chromeos-base/autotest-client sys-apps/busybox sys-apps/toybox sys-apps/coreboot-utils dev-python/qrcode chromeos-base/cros-config-api dev-python/crcmod dev-python/pycryptodome
+SLOT=0
+_md5_=e4f5395f98978def65d3b65be276687c
diff --git a/metadata/md5-cache/chromeos-base/factory-mini-0.0.1-r2522 b/metadata/md5-cache/chromeos-base/factory-mini-0.0.1-r2522
deleted file mode 100644
index ca37353..0000000
--- a/metadata/md5-cache/chromeos-base/factory-mini-0.0.1-r2522
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install setup unpack
-DEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/jsonrpclib:= dev-python/pyyaml:= dev-python/protobuf-python:= virtual/chromeos-bsp-factory:= virtual/chromeos-regions:=
-DESCRIPTION=Subset of factory software to be installed in test images
-EAPI=7
-IUSE=cros_host cros_workon_tree_7a08d5b4ce22019a7f4cf5645c6bf6f8bd4a749e python_targets_python3_6 python_targets_python3_7
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-SLOT=0/0.0.1-r2522
-SRC_URI=http://commondatastorage.googleapis.com/chromeos-localmirror//distfiles/webgl-aquarium-20130524.tar.bz2
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ece7ad753a23074b2189a0ad7b95399d
diff --git a/metadata/md5-cache/chromeos-base/factory-mini-0.0.1-r2774 b/metadata/md5-cache/chromeos-base/factory-mini-0.0.1-r2774
new file mode 100644
index 0000000..cc0ba7e
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/factory-mini-0.0.1-r2774
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install setup unpack
+DEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/jsonrpclib:= dev-python/pyyaml:= dev-python/protobuf-python:= virtual/chromeos-bsp-factory:= virtual/chromeos-regions:=
+DESCRIPTION=Subset of factory software to be installed in test images
+EAPI=7
+IUSE=cros_host cros_workon_tree_2f51113b10e8654ea39e27bd5e62c28477cf9c08 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+SLOT=0/0.0.1-r2774
+SRC_URI=http://commondatastorage.googleapis.com/chromeos-localmirror//distfiles/webgl-aquarium-20130524.tar.bz2
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4e4af740f4e190d5196a8237eefb6bcb
diff --git a/metadata/md5-cache/chromeos-base/factory-mini-9999 b/metadata/md5-cache/chromeos-base/factory-mini-9999
index 6baa1ca..7c16808 100644
--- a/metadata/md5-cache/chromeos-base/factory-mini-9999
+++ b/metadata/md5-cache/chromeos-base/factory-mini-9999
@@ -1,13 +1,13 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install setup unpack
-DEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/jsonrpclib:= dev-python/pyyaml:= dev-python/protobuf-python:= virtual/chromeos-bsp-factory:= virtual/chromeos-regions:=
+DEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/jsonrpclib:= dev-python/pyyaml:= dev-python/protobuf-python:= virtual/chromeos-bsp-factory:= virtual/chromeos-regions:=
 DESCRIPTION=Subset of factory software to be installed in test images
 EAPI=7
-IUSE=cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7
+IUSE=cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0/9999
 SRC_URI=http://commondatastorage.googleapis.com/chromeos-localmirror//distfiles/webgl-aquarium-20130524.tar.bz2
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5a32c811a6a07504e363251feb4fc5c5
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=07f1c0f28cbb33dc710b3d22719d203a
diff --git a/metadata/md5-cache/chromeos-base/factory_installer-0.0.1-r182 b/metadata/md5-cache/chromeos-base/factory_installer-0.0.1-r182
deleted file mode 100644
index 39b8ee9..0000000
--- a/metadata/md5-cache/chromeos-base/factory_installer-0.0.1-r182
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=test? ( chromeos-base/chromeos-common-script ) dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst setup test unpack
-DEPEND=chromeos-base/chromeos-init:= !chromeos-base/chromeos-factoryinstall !chromeos-base/chromeos-factory chromeos-base/factory:= test? ( chromeos-base/secure-wipe:= ) x86? ( sys-boot/syslinux:= )
-DESCRIPTION=Chrome OS Factory Installer
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/factory_installer/
-IUSE=tty_console_ttyAMA0 tty_console_ttyAMA1 tty_console_ttyAMA2 tty_console_ttyAMA3 tty_console_ttyAMA4 tty_console_ttyAMA5 tty_console_ttyHSL0 tty_console_ttyHSL1 tty_console_ttyHSL2 tty_console_ttyHSL3 tty_console_ttyHSL4 tty_console_ttyHSL5 tty_console_ttyMSM0 tty_console_ttyMSM1 tty_console_ttyMSM2 tty_console_ttyMSM3 tty_console_ttyMSM4 tty_console_ttyMSM5 tty_console_ttymxc0 tty_console_ttymxc1 tty_console_ttymxc2 tty_console_ttymxc3 tty_console_ttymxc4 tty_console_ttymxc5 tty_console_ttyO0 tty_console_ttyO1 tty_console_ttyO2 tty_console_ttyO3 tty_console_ttyO4 tty_console_ttyO5 tty_console_ttyS0 tty_console_ttyS1 tty_console_ttyS2 tty_console_ttyS3 tty_console_ttyS4 tty_console_ttyS5 tty_console_ttySAC0 tty_console_ttySAC1 tty_console_ttySAC2 tty_console_ttySAC3 tty_console_ttySAC4 tty_console_ttySAC5 tty_console_ttyUSB0 tty_console_ttyUSB1 tty_console_ttyUSB2 tty_console_ttyUSB3 tty_console_ttyUSB4 tty_console_ttyUSB5 tty_console_tty0 tty_console_tty1 tty_console_tty2 tty_console_tty3 tty_console_tty4 tty_console_tty5 -asan test asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_4c6fa66135d03b585b8e0bfe8bf5cd357a42b0e9 cheets factory_branch
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/chromeos-init:= !chromeos-base/chromeos-factoryinstall !chromeos-base/chromeos-factory app-arch/gzip app-arch/sharutils app-arch/tar app-misc/figlet chromeos-base/chromeos-config-tools chromeos-base/vboot_reference sys-apps/mosys sys-apps/util-linux app-arch/lbzip2 app-arch/pigz app-misc/jq chromeos-base/chromeos-installer chromeos-base/chromeos-storage-info chromeos-base/dlcservice chromeos-base/ec-utils chromeos-base/secure-wipe chromeos-base/vpd dev-util/stressapptest net-misc/htpdate net-wireless/iw sys-apps/flashrom sys-apps/net-tools sys-apps/upstart sys-apps/util-linux sys-block/parted sys-fs/e2fsprogs
-REQUIRED_USE=factory_branch? ( !cheets )
-SLOT=0/0.0.1-r182
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-factory	c09e6adcbeb150690257aa95b6154ec7	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=bbd2a84fbb9a52bd8f8b0aef2f272935
diff --git a/metadata/md5-cache/chromeos-base/factory_installer-0.0.1-r219 b/metadata/md5-cache/chromeos-base/factory_installer-0.0.1-r219
new file mode 100644
index 0000000..60b7896
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/factory_installer-0.0.1-r219
@@ -0,0 +1,15 @@
+BDEPEND=test? ( chromeos-base/chromeos-common-script ) dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=chromeos-base/chromeos-init:= !chromeos-base/chromeos-factoryinstall !chromeos-base/chromeos-factory chromeos-base/factory:= chromeos-base/factory_rust test? ( chromeos-base/secure-wipe:= ) x86? ( sys-boot/syslinux:= ) >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Chrome OS Factory Installer
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/factory_installer/
+IUSE=tty_console_ttyAMA0 tty_console_ttyAMA1 tty_console_ttyAMA2 tty_console_ttyAMA3 tty_console_ttyAMA4 tty_console_ttyAMA5 tty_console_ttyHSL0 tty_console_ttyHSL1 tty_console_ttyHSL2 tty_console_ttyHSL3 tty_console_ttyHSL4 tty_console_ttyHSL5 tty_console_ttyMSM0 tty_console_ttyMSM1 tty_console_ttyMSM2 tty_console_ttyMSM3 tty_console_ttyMSM4 tty_console_ttyMSM5 tty_console_ttymxc0 tty_console_ttymxc1 tty_console_ttymxc2 tty_console_ttymxc3 tty_console_ttymxc4 tty_console_ttymxc5 tty_console_ttyO0 tty_console_ttyO1 tty_console_ttyO2 tty_console_ttyO3 tty_console_ttyO4 tty_console_ttyO5 tty_console_ttyS0 tty_console_ttyS1 tty_console_ttyS2 tty_console_ttyS3 tty_console_ttyS4 tty_console_ttyS5 tty_console_ttySAC0 tty_console_ttySAC1 tty_console_ttySAC2 tty_console_ttySAC3 tty_console_ttySAC4 tty_console_ttySAC5 tty_console_ttyUSB0 tty_console_ttyUSB1 tty_console_ttyUSB2 tty_console_ttyUSB3 tty_console_ttyUSB4 tty_console_ttyUSB5 tty_console_tty0 tty_console_tty1 tty_console_tty2 tty_console_tty3 tty_console_tty4 tty_console_tty5 -asan test cros_host cros_workon_tree_973913527c97518feffdeea7eafd58e0e4d9955f cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86 cheets factory_branch
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/chromeos-init:= !chromeos-base/chromeos-factoryinstall !chromeos-base/chromeos-factory app-arch/gzip app-arch/sharutils app-arch/tar app-misc/figlet chromeos-base/chromeos-config-tools chromeos-base/vboot_reference sys-apps/mosys sys-apps/util-linux app-arch/lbzip2 app-arch/pigz app-misc/jq chromeos-base/chromeos-installer chromeos-base/chromeos-storage-info chromeos-base/dlcservice chromeos-base/ec-utils chromeos-base/secure-wipe chromeos-base/vpd dev-util/stressapptest net-misc/htpdate net-wireless/iw sys-apps/flashrom sys-apps/net-tools sys-apps/upstart sys-apps/util-linux sys-block/parted sys-fs/e2fsprogs sys-kernel/linux-firmware virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan ) factory_branch? ( !cheets )
+SLOT=0/0.0.1-r219
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-factory	b493be9c2c9f2855ff7a884d0ed7fb38	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dd71ea42ded1ddcbd24d6badf9cbb631
diff --git a/metadata/md5-cache/chromeos-base/factory_installer-9999 b/metadata/md5-cache/chromeos-base/factory_installer-9999
index 8649baf..9d87214 100644
--- a/metadata/md5-cache/chromeos-base/factory_installer-9999
+++ b/metadata/md5-cache/chromeos-base/factory_installer-9999
@@ -1,15 +1,15 @@
 BDEPEND=test? ( chromeos-base/chromeos-common-script ) dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst setup test unpack
-DEPEND=chromeos-base/chromeos-init:= !chromeos-base/chromeos-factoryinstall !chromeos-base/chromeos-factory chromeos-base/factory:= test? ( chromeos-base/secure-wipe:= ) x86? ( sys-boot/syslinux:= )
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=chromeos-base/chromeos-init:= !chromeos-base/chromeos-factoryinstall !chromeos-base/chromeos-factory chromeos-base/factory:= chromeos-base/factory_rust test? ( chromeos-base/secure-wipe:= ) x86? ( sys-boot/syslinux:= ) >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Chrome OS Factory Installer
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/factory_installer/
-IUSE=tty_console_ttyAMA0 tty_console_ttyAMA1 tty_console_ttyAMA2 tty_console_ttyAMA3 tty_console_ttyAMA4 tty_console_ttyAMA5 tty_console_ttyHSL0 tty_console_ttyHSL1 tty_console_ttyHSL2 tty_console_ttyHSL3 tty_console_ttyHSL4 tty_console_ttyHSL5 tty_console_ttyMSM0 tty_console_ttyMSM1 tty_console_ttyMSM2 tty_console_ttyMSM3 tty_console_ttyMSM4 tty_console_ttyMSM5 tty_console_ttymxc0 tty_console_ttymxc1 tty_console_ttymxc2 tty_console_ttymxc3 tty_console_ttymxc4 tty_console_ttymxc5 tty_console_ttyO0 tty_console_ttyO1 tty_console_ttyO2 tty_console_ttyO3 tty_console_ttyO4 tty_console_ttyO5 tty_console_ttyS0 tty_console_ttyS1 tty_console_ttyS2 tty_console_ttyS3 tty_console_ttyS4 tty_console_ttyS5 tty_console_ttySAC0 tty_console_ttySAC1 tty_console_ttySAC2 tty_console_ttySAC3 tty_console_ttySAC4 tty_console_ttySAC5 tty_console_ttyUSB0 tty_console_ttyUSB1 tty_console_ttyUSB2 tty_console_ttyUSB3 tty_console_ttyUSB4 tty_console_ttyUSB5 tty_console_tty0 tty_console_tty1 tty_console_tty2 tty_console_tty3 tty_console_tty4 tty_console_tty5 -asan test asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cheets factory_branch
+IUSE=tty_console_ttyAMA0 tty_console_ttyAMA1 tty_console_ttyAMA2 tty_console_ttyAMA3 tty_console_ttyAMA4 tty_console_ttyAMA5 tty_console_ttyHSL0 tty_console_ttyHSL1 tty_console_ttyHSL2 tty_console_ttyHSL3 tty_console_ttyHSL4 tty_console_ttyHSL5 tty_console_ttyMSM0 tty_console_ttyMSM1 tty_console_ttyMSM2 tty_console_ttyMSM3 tty_console_ttyMSM4 tty_console_ttyMSM5 tty_console_ttymxc0 tty_console_ttymxc1 tty_console_ttymxc2 tty_console_ttymxc3 tty_console_ttymxc4 tty_console_ttymxc5 tty_console_ttyO0 tty_console_ttyO1 tty_console_ttyO2 tty_console_ttyO3 tty_console_ttyO4 tty_console_ttyO5 tty_console_ttyS0 tty_console_ttyS1 tty_console_ttyS2 tty_console_ttyS3 tty_console_ttyS4 tty_console_ttyS5 tty_console_ttySAC0 tty_console_ttySAC1 tty_console_ttySAC2 tty_console_ttySAC3 tty_console_ttySAC4 tty_console_ttySAC5 tty_console_ttyUSB0 tty_console_ttyUSB1 tty_console_ttyUSB2 tty_console_ttyUSB3 tty_console_ttyUSB4 tty_console_ttyUSB5 tty_console_tty0 tty_console_tty1 tty_console_tty2 tty_console_tty3 tty_console_tty4 tty_console_tty5 -asan test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86 cheets factory_branch
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=chromeos-base/chromeos-init:= !chromeos-base/chromeos-factoryinstall !chromeos-base/chromeos-factory app-arch/gzip app-arch/sharutils app-arch/tar app-misc/figlet chromeos-base/chromeos-config-tools chromeos-base/vboot_reference sys-apps/mosys sys-apps/util-linux app-arch/lbzip2 app-arch/pigz app-misc/jq chromeos-base/chromeos-installer chromeos-base/chromeos-storage-info chromeos-base/dlcservice chromeos-base/ec-utils chromeos-base/secure-wipe chromeos-base/vpd dev-util/stressapptest net-misc/htpdate net-wireless/iw sys-apps/flashrom sys-apps/net-tools sys-apps/upstart sys-apps/util-linux sys-block/parted sys-fs/e2fsprogs
-REQUIRED_USE=factory_branch? ( !cheets )
+RDEPEND=chromeos-base/chromeos-init:= !chromeos-base/chromeos-factoryinstall !chromeos-base/chromeos-factory app-arch/gzip app-arch/sharutils app-arch/tar app-misc/figlet chromeos-base/chromeos-config-tools chromeos-base/vboot_reference sys-apps/mosys sys-apps/util-linux app-arch/lbzip2 app-arch/pigz app-misc/jq chromeos-base/chromeos-installer chromeos-base/chromeos-storage-info chromeos-base/dlcservice chromeos-base/ec-utils chromeos-base/secure-wipe chromeos-base/vpd dev-util/stressapptest net-misc/htpdate net-wireless/iw sys-apps/flashrom sys-apps/net-tools sys-apps/upstart sys-apps/util-linux sys-block/parted sys-fs/e2fsprogs sys-kernel/linux-firmware virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan ) factory_branch? ( !cheets )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-factory	c09e6adcbeb150690257aa95b6154ec7	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c9f153f670f525241fcaf23dbce255bd
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-factory	b493be9c2c9f2855ff7a884d0ed7fb38	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4c705eb0d49e617a2142a04dc7685a00
diff --git a/metadata/md5-cache/chromeos-base/factory_runtime_probe-0.0.1-r169 b/metadata/md5-cache/chromeos-base/factory_runtime_probe-0.0.1-r169
deleted file mode 100644
index d3aed4f..0000000
--- a/metadata/md5-cache/chromeos-base/factory_runtime_probe-0.0.1-r169
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/debugd-client:= chromeos-base/shill-client:= chromeos-base/system_api:= chromeos-base/vboot_reference:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Device component probe tool **for factory environment**.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/runtime_probe/
-IUSE=cros-debug +factory_runtime_probe cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_bea140d13f7cf1092e4c89a45011c04c28327972_1aed0c3c60315dba4d781aa861490bd01a1d53f6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_bea140d13f7cf1092e4c89a45011c04c28327972_1aed0c3c60315dba4d781aa861490bd01a1d53f6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/ec-utils has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r169
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=fbd7c8a792970265cb20b36faef4f9ab
diff --git a/metadata/md5-cache/chromeos-base/factory_runtime_probe-0.0.1-r295 b/metadata/md5-cache/chromeos-base/factory_runtime_probe-0.0.1-r295
new file mode 100644
index 0000000..2096ed2
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/factory_runtime_probe-0.0.1-r295
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/debugd-client:= chromeos-base/libec:= chromeos-base/shill-client:= chromeos-base/system_api:= chromeos-base/vboot_reference:= media-libs/minigbm:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Device component probe tool **for factory environment**.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/runtime_probe/
+IUSE=cros-debug cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_527abd7a988a45572305a6c44b5324d0d9cf8be2_1dbf281b6523338c1a11135ebaf00796f0f664e4_7cab0a8a8eaf018de16dca9470abb154f82697a6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_527abd7a988a45572305a6c44b5324d0d9cf8be2_1dbf281b6523338c1a11135ebaf00796f0f664e4_7cab0a8a8eaf018de16dca9470abb154f82697a6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/ec-utils has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r295
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e42a21945a4725007a258cd849beb0ca
diff --git a/metadata/md5-cache/chromeos-base/factory_runtime_probe-9999 b/metadata/md5-cache/chromeos-base/factory_runtime_probe-9999
index b8f08c6..c359d12 100644
--- a/metadata/md5-cache/chromeos-base/factory_runtime_probe-9999
+++ b/metadata/md5-cache/chromeos-base/factory_runtime_probe-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/debugd-client:= chromeos-base/shill-client:= chromeos-base/system_api:= chromeos-base/vboot_reference:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/debugd-client:= chromeos-base/libec:= chromeos-base/shill-client:= chromeos-base/system_api:= chromeos-base/vboot_reference:= media-libs/minigbm:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Device component probe tool **for factory environment**.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/runtime_probe/
-IUSE=cros-debug +factory_runtime_probe cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros-debug cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/ec-utils has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=97cdb1027dcbcbb2d29cf79fd8e80ba6
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2053aebf72826485a8319499b280d521
diff --git a/metadata/md5-cache/chromeos-base/factory_rust-0.0.1-r4 b/metadata/md5-cache/chromeos-base/factory_rust-0.0.1-r4
new file mode 100644
index 0000000..97f64b7
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/factory_rust-0.0.1-r4
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info setup unpack
+DEPEND==dev-rust/anyhow-1*:= >=dev-rust/bincode-1.0.1 <dev-rust/bincode-1.1.0_alpha:= >=dev-rust/byteorder-1.4.3 <dev-rust/byteorder-2.0.0_alpha:= >=dev-rust/clap-3.1.0 <dev-rust/clap-4.0.0_alpha:= =dev-rust/glob-0.3*:= >=dev-rust/hmac-sha256-0.1.7 <dev-rust/hmac-sha256-0.2.0_alpha:= =dev-rust/libc-0.2*:= =dev-rust/num-derive-0.3*:= =dev-rust/num-traits-0.2*:= =dev-rust/regex-1*:= =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= >=dev-rust/tempdir-0.3.7 <dev-rust/tempdir-0.4.0_alpha:= >=dev-rust/tempfile-3.2.0 <dev-rust/tempfile-4.0.0_alpha:=
+DESCRIPTION=This ebuild defines the rust dependencies used in factory_installer dir.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/factory_installer/
+IUSE=cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+SLOT=0/0.0.1-r4
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ab5733587e1789d91448bcff0920db34
diff --git a/metadata/md5-cache/chromeos-base/factory_rust-9999 b/metadata/md5-cache/chromeos-base/factory_rust-9999
new file mode 100644
index 0000000..7dd89ce
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/factory_rust-9999
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info setup unpack
+DEPEND==dev-rust/anyhow-1*:= >=dev-rust/bincode-1.0.1 <dev-rust/bincode-1.1.0_alpha:= >=dev-rust/byteorder-1.4.3 <dev-rust/byteorder-2.0.0_alpha:= >=dev-rust/clap-3.1.0 <dev-rust/clap-4.0.0_alpha:= =dev-rust/glob-0.3*:= >=dev-rust/hmac-sha256-0.1.7 <dev-rust/hmac-sha256-0.2.0_alpha:= =dev-rust/libc-0.2*:= =dev-rust/num-derive-0.3*:= =dev-rust/num-traits-0.2*:= =dev-rust/regex-1*:= =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= >=dev-rust/tempdir-0.3.7 <dev-rust/tempdir-0.4.0_alpha:= >=dev-rust/tempfile-3.2.0 <dev-rust/tempfile-4.0.0_alpha:=
+DESCRIPTION=This ebuild defines the rust dependencies used in factory_installer dir.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/factory_installer/
+IUSE=cros_host cros_workon_tree_
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live
+SLOT=0/9999
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=04638b5996ee4ce783c69f34a39fd097
diff --git a/metadata/md5-cache/chromeos-base/factory_ufs-0.0.1-r29 b/metadata/md5-cache/chromeos-base/factory_ufs-0.0.1-r29
new file mode 100644
index 0000000..5df98ed
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/factory_ufs-0.0.1-r29
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=chromeos-base/factory_rust >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A binary for UFS provisioning written in Rust
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/factory_installer/
+IUSE=cros_host cros_workon_tree_973913527c97518feffdeea7eafd58e0e4d9955f cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=sys-apps/ufs-utils virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.0.1-r29
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9d8c4337c35b4878a1ad5ecd832872d6
diff --git a/metadata/md5-cache/chromeos-base/factory_ufs-9999 b/metadata/md5-cache/chromeos-base/factory_ufs-9999
new file mode 100644
index 0000000..aaac09e
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/factory_ufs-9999
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=chromeos-base/factory_rust >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A binary for UFS provisioning written in Rust
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/factory_installer/
+IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=sys-apps/ufs-utils virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/9999
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=21fa61837c60aeaccd2b50ad731b2ea3
diff --git a/metadata/md5-cache/chromeos-base/feature_usage-0.0.1-r79 b/metadata/md5-cache/chromeos-base/feature_usage-0.0.1-r79
new file mode 100644
index 0000000..0458956
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/feature_usage-0.0.1-r79
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/metrics:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Provides a unified approach to report feature usage events
+EAPI=7
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9487cb70b8720982545a04ade6a4f464cdde53ac_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9487cb70b8720982545a04ade6a4f464cdde53ac_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/metrics:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3189afe53f30d187e44b17ad1ad4f129
diff --git a/metadata/md5-cache/chromeos-base/feature_usage-9999 b/metadata/md5-cache/chromeos-base/feature_usage-9999
new file mode 100644
index 0000000..89413e7
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/feature_usage-9999
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/metrics:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Provides a unified approach to report feature usage events
+EAPI=7
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/metrics:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=fbff9129950d5ab5a6a769bb1e9bea99
diff --git a/metadata/md5-cache/chromeos-base/featured-0.0.1-r126 b/metadata/md5-cache/chromeos-base/featured-0.0.1-r126
new file mode 100644
index 0000000..c4cb405
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/featured-0.0.1-r126
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/system_api:= sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Chrome OS feature management service
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/featured/
+IUSE=test cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_545d67a6429090226f1d6ac899f5f2d86bd38b99_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_545d67a6429090226f1d6ac899f5f2d86bd38b99_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r126
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=d82f1ee3f6f25eaa86c3355b9719561b
diff --git a/metadata/md5-cache/chromeos-base/featured-0.0.1-r56 b/metadata/md5-cache/chromeos-base/featured-0.0.1-r56
deleted file mode 100644
index 7a78ff4..0000000
--- a/metadata/md5-cache/chromeos-base/featured-0.0.1-r56
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/system_api:= sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Chrome OS feature management service
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/featured/
-IUSE=test cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e6d3266e1144e97a3914f1e4116368b08b29b4c6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e6d3266e1144e97a3914f1e4116368b08b29b4c6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r56
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=f2ab558bc9dc4662423b6bcbed1029b5
diff --git a/metadata/md5-cache/chromeos-base/featured-9999 b/metadata/md5-cache/chromeos-base/featured-9999
index eb16765..292bbce 100644
--- a/metadata/md5-cache/chromeos-base/featured-9999
+++ b/metadata/md5-cache/chromeos-base/featured-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/system_api:= sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/system_api:= sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Chrome OS feature management service
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/featured/
-IUSE=test cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=test cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=a33f61804392f5ed1f0c2261ba7bc3e0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=2f118bb2e07547dbd8a36ad39f6079ea
diff --git a/metadata/md5-cache/chromeos-base/federated-service-0.0.1-r144 b/metadata/md5-cache/chromeos-base/federated-service-0.0.1-r144
new file mode 100644
index 0000000..559b338
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/federated-service-0.0.1-r144
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=dev-db/sqlite:= chromeos-base/dlcservice-client:= chromeos-base/session_manager-client:= chromeos-base/system_api:= sys-cluster/fcp:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Federated Computation service for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/federated
+IUSE=local-federated-server cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_01406a223aab1eb5a4a224b0e216d352c178037f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_01406a223aab1eb5a4a224b0e216d352c178037f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=dev-db/sqlite:= chromeos-base/dlcservice-client:= chromeos-base/session_manager-client:= chromeos-base/system_api:= sys-cluster/fcp:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=164857d21d3230ab50b864109e281180
diff --git a/metadata/md5-cache/chromeos-base/federated-service-0.0.1-r79 b/metadata/md5-cache/chromeos-base/federated-service-0.0.1-r79
deleted file mode 100644
index b266626..0000000
--- a/metadata/md5-cache/chromeos-base/federated-service-0.0.1-r79
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-db/sqlite:= chromeos-base/dlcservice-client:= chromeos-base/session_manager-client:= chromeos-base/system_api:= sys-cluster/fcp:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Federated Computation service for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/federated
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_2d45a0de6653d89c37f70dd2250802291bc61805_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_2d45a0de6653d89c37f70dd2250802291bc61805_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=dev-db/sqlite:= chromeos-base/dlcservice-client:= chromeos-base/session_manager-client:= chromeos-base/system_api:= sys-cluster/fcp:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=d1d7ec6d7a682811bbce25e6ca19ca30
diff --git a/metadata/md5-cache/chromeos-base/federated-service-9999 b/metadata/md5-cache/chromeos-base/federated-service-9999
index fc1a470..2d2dd06 100644
--- a/metadata/md5-cache/chromeos-base/federated-service-9999
+++ b/metadata/md5-cache/chromeos-base/federated-service-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-db/sqlite:= chromeos-base/dlcservice-client:= chromeos-base/session_manager-client:= chromeos-base/system_api:= sys-cluster/fcp:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=dev-db/sqlite:= chromeos-base/dlcservice-client:= chromeos-base/session_manager-client:= chromeos-base/system_api:= sys-cluster/fcp:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Federated Computation service for Chromium OS
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/federated
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=local-federated-server cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=dev-db/sqlite:= chromeos-base/dlcservice-client:= chromeos-base/session_manager-client:= chromeos-base/system_api:= sys-cluster/fcp:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=b2e0773da5a984079cf4265251d4217e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=b83d1d422fdafbca47d39531d21139c9
diff --git a/metadata/md5-cache/chromeos-base/feedback-0.0.1-r879 b/metadata/md5-cache/chromeos-base/feedback-0.0.1-r879
deleted file mode 100644
index 340645c..0000000
--- a/metadata/md5-cache/chromeos-base/feedback-0.0.1-r879
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Feedback service for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/feedback/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_f37832d93b823c501c57ba16589eb76b00bb61ae_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_f37832d93b823c501c57ba16589eb76b00bb61ae_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r879
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=3c1f1a405fcc736c072a4c69a72dfb4f
diff --git a/metadata/md5-cache/chromeos-base/feedback-0.0.1-r940 b/metadata/md5-cache/chromeos-base/feedback-0.0.1-r940
new file mode 100644
index 0000000..c141bbf
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/feedback-0.0.1-r940
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Feedback service for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/feedback/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_5395cfe3ef077195924f7da08cada1ec5b1ded6d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_5395cfe3ef077195924f7da08cada1ec5b1ded6d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r940
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=36074e4df9632fe831aa5ebbf1434f85
diff --git a/metadata/md5-cache/chromeos-base/feedback-9999 b/metadata/md5-cache/chromeos-base/feedback-9999
index b35a9c4..be7d934 100644
--- a/metadata/md5-cache/chromeos-base/feedback-9999
+++ b/metadata/md5-cache/chromeos-base/feedback-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Feedback service for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/feedback/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/feedback/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=411055447deb164c88dfcc67a2459690
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=733e340f01e7d7d6e1dcd977b4146dfa
diff --git a/metadata/md5-cache/chromeos-base/fingerprint_study-0.0.1-r38 b/metadata/md5-cache/chromeos-base/fingerprint_study-0.0.1-r38
deleted file mode 100644
index 75d5ad3..0000000
--- a/metadata/md5-cache/chromeos-base/fingerprint_study-0.0.1-r38
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install setup unpack
-DESCRIPTION=Chromium OS Fingerprint user study software
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/biod/study
-IUSE=cros_host cros_workon_tree_ea5b9b141ca3d4d54fe56c9527757e5294cd32fe python_targets_pypy3 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=python_targets_pypy3? ( >=dev-python/pypy3-7.3.0:0= ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] chromeos-base/ec-utils chromeos-base/ec-utils-test dev-python/cherrypy[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/python-gnupg[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/ws4py[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] virtual/chromeos-fpmcu-test
-SLOT=0/0.0.1-r38
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=1c9cb5da572174e3e7daa7aa9609a96d
diff --git a/metadata/md5-cache/chromeos-base/fingerprint_study-0.0.1-r44 b/metadata/md5-cache/chromeos-base/fingerprint_study-0.0.1-r44
new file mode 100644
index 0000000..a0c1b59
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/fingerprint_study-0.0.1-r44
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Chromium OS Fingerprint user study software
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/biod/study
+IUSE=cros_host cros_workon_tree_59e36e58b088d26027bc817efae5b518acb09e06 python_targets_pypy3 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=python_targets_pypy3? ( >=dev-python/pypy3-7.3.0:0= ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] chromeos-base/ec-utils chromeos-base/ec-utils-test dev-python/cherrypy[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/python-gnupg[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/ws4py[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] virtual/chromeos-fpmcu-test
+SLOT=0/0.0.1-r44
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=937ae18d327bd969f9652f30d08497dc
diff --git a/metadata/md5-cache/chromeos-base/fingerprint_study-9999 b/metadata/md5-cache/chromeos-base/fingerprint_study-9999
index 4c0f73f..c61d9ec 100644
--- a/metadata/md5-cache/chromeos-base/fingerprint_study-9999
+++ b/metadata/md5-cache/chromeos-base/fingerprint_study-9999
@@ -2,12 +2,12 @@
 DEFINED_PHASES=info install setup unpack
 DESCRIPTION=Chromium OS Fingerprint user study software
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/biod/study
-IUSE=cros_host cros_workon_tree_ python_targets_pypy3 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/biod/study
+IUSE=cros_host cros_workon_tree_ python_targets_pypy3 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=python_targets_pypy3? ( >=dev-python/pypy3-7.3.0:0= ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] chromeos-base/ec-utils chromeos-base/ec-utils-test dev-python/cherrypy[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/python-gnupg[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/ws4py[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] virtual/chromeos-fpmcu-test
+RDEPEND=python_targets_pypy3? ( >=dev-python/pypy3-7.3.0:0= ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] chromeos-base/ec-utils chromeos-base/ec-utils-test dev-python/cherrypy[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/python-gnupg[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/ws4py[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] virtual/chromeos-fpmcu-test
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=fde826240a82fbed0cfb18ec035e0d8d
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dada1c5da75deb5bd14e3cdc14ae74dc
diff --git a/metadata/md5-cache/chromeos-base/flex_id-0.0.1-r58 b/metadata/md5-cache/chromeos-base/flex_id-0.0.1-r58
new file mode 100644
index 0000000..5d557c4
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/flex_id-0.0.1-r58
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Utility to generate Flex ID for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/flex_id
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_c5a49444cc51d4d5d217c797f33502ff7e8a3dbc_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_c5a49444cc51d4d5d217c797f33502ff7e8a3dbc_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=!chromeos-base/client_id >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r58
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=02a9bd134c0c46973866ffce48524c5f
diff --git a/metadata/md5-cache/chromeos-base/flex_id-9999 b/metadata/md5-cache/chromeos-base/flex_id-9999
new file mode 100644
index 0000000..54c432c
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/flex_id-9999
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Utility to generate Flex ID for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/flex_id
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=!chromeos-base/client_id >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/9999
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=be8280c64670618d2794dc72d79dab1a
diff --git a/metadata/md5-cache/chromeos-base/foomatic_shell-0.0.1-r122 b/metadata/md5-cache/chromeos-base/foomatic_shell-0.0.1-r122
deleted file mode 100644
index 9eac51d7..0000000
--- a/metadata/md5-cache/chromeos-base/foomatic_shell-0.0.1-r122
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Mini shell used by foomatic-rip to execute scripts in PPD files.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/foomatic_shell/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_3b4d7f82f5d68f35d2412d679e794ec15a3a45e0_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_3b4d7f82f5d68f35d2412d679e794ec15a3a45e0_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r122
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=fa6104ddf45bea86f9672b9a0d7cb956
diff --git a/metadata/md5-cache/chromeos-base/foomatic_shell-0.0.1-r179 b/metadata/md5-cache/chromeos-base/foomatic_shell-0.0.1-r179
new file mode 100644
index 0000000..bbc0739
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/foomatic_shell-0.0.1-r179
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Mini shell used by foomatic-rip to execute scripts in PPD files.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/foomatic_shell/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_3b4d7f82f5d68f35d2412d679e794ec15a3a45e0_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_3b4d7f82f5d68f35d2412d679e794ec15a3a45e0_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r179
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3b104fb52ac6f9e58fa2b3007e7970bb
diff --git a/metadata/md5-cache/chromeos-base/foomatic_shell-9999 b/metadata/md5-cache/chromeos-base/foomatic_shell-9999
index db1a57b..669752f 100644
--- a/metadata/md5-cache/chromeos-base/foomatic_shell-9999
+++ b/metadata/md5-cache/chromeos-base/foomatic_shell-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Mini shell used by foomatic-rip to execute scripts in PPD files.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/foomatic_shell/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e15d47ffea2701851d0a2d0355e067a5
diff --git a/metadata/md5-cache/chromeos-base/fusebox-0.0.2-r139 b/metadata/md5-cache/chromeos-base/fusebox-0.0.2-r139
deleted file mode 100644
index 02a069c..0000000
--- a/metadata/md5-cache/chromeos-base/fusebox-0.0.2-r139
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/protobuf:= sys-apps/dbus:= =sys-fs/fuse-2.9*:= chromeos-base/system_api >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=FuseBox service
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/main/fusebox
-IUSE=test cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_36ffab952cda77c99492dfe25badf06c272e7d46_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_36ffab952cda77c99492dfe25badf06c272e7d46_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=dev-libs/protobuf:= sys-apps/dbus:= =sys-fs/fuse-2.9*:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.2-r139
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=6ca7670b03913a885431b749f12e7ad8
diff --git a/metadata/md5-cache/chromeos-base/fusebox-0.0.2-r237 b/metadata/md5-cache/chromeos-base/fusebox-0.0.2-r237
new file mode 100644
index 0000000..1979de0
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/fusebox-0.0.2-r237
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=dev-libs/protobuf:= sys-apps/dbus:= =sys-fs/fuse-2.9*:= chromeos-base/system_api >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=FuseBox service
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/main/fusebox
+IUSE=test cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_86c75ff12317f1fc3eae5f0d87b89682b86dd88e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_86c75ff12317f1fc3eae5f0d87b89682b86dd88e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=dev-libs/protobuf:= sys-apps/dbus:= =sys-fs/fuse-2.9*:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.2-r237
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=25e8ba2cc20c2bc5ae6b7dbe500217d9
diff --git a/metadata/md5-cache/chromeos-base/fusebox-9999 b/metadata/md5-cache/chromeos-base/fusebox-9999
index 7cd1f57..e9b99dd 100644
--- a/metadata/md5-cache/chromeos-base/fusebox-9999
+++ b/metadata/md5-cache/chromeos-base/fusebox-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/protobuf:= sys-apps/dbus:= =sys-fs/fuse-2.9*:= chromeos-base/system_api >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=dev-libs/protobuf:= sys-apps/dbus:= =sys-fs/fuse-2.9*:= chromeos-base/system_api >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=FuseBox service
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/main/fusebox
-IUSE=test cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=test cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=dev-libs/protobuf:= sys-apps/dbus:= =sys-fs/fuse-2.9*:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=a1595ef3d5a2818507299a9dd601f63e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=c9cd3391084d99e950ea2c9f5c5f0f6d
diff --git a/metadata/md5-cache/chromeos-base/g2f_tools-0.0.1-r721 b/metadata/md5-cache/chromeos-base/g2f_tools-0.0.1-r721
deleted file mode 100644
index e263efa..0000000
--- a/metadata/md5-cache/chromeos-base/g2f_tools-0.0.1-r721
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libhwsec:= dev-libs/hidapi:= chromeos-base/chromeos-ec-headers:= chromeos-base/u2fd:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=G2F gnubby (U2F+GCSE) development and testing tools
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/u2fd
-IUSE=cr50_onboard ti50_onboard cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_4a0dedab080195bdc122d2289118df4af3ddca2c_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_31eed1e89a0f52385e3ced51c05a2551b866a0c4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_4a0dedab080195bdc122d2289118df4af3ddca2c_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_31eed1e89a0f52385e3ced51c05a2551b866a0c4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/libhwsec:= dev-libs/hidapi:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=8993d43b89070c89cb7d4746b8eb877a
diff --git a/metadata/md5-cache/chromeos-base/g2f_tools-0.0.1-r894 b/metadata/md5-cache/chromeos-base/g2f_tools-0.0.1-r894
new file mode 100644
index 0000000..193a744
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/g2f_tools-0.0.1-r894
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/libhwsec:= dev-libs/hidapi:= chromeos-base/chromeos-ec-headers:= chromeos-base/u2fd:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=G2F gnubby (U2F+GCSE) development and testing tools
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/u2fd
+IUSE=cr50_onboard ti50_onboard cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_b5881b78580dbead29183a70fdc260387f29d82a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_b5881b78580dbead29183a70fdc260387f29d82a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/libhwsec:= dev-libs/hidapi:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=da666e0f816e7c7f9a991d766b4fc5d4
diff --git a/metadata/md5-cache/chromeos-base/g2f_tools-9999 b/metadata/md5-cache/chromeos-base/g2f_tools-9999
index e13b219..914cf73 100644
--- a/metadata/md5-cache/chromeos-base/g2f_tools-9999
+++ b/metadata/md5-cache/chromeos-base/g2f_tools-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libhwsec:= dev-libs/hidapi:= chromeos-base/chromeos-ec-headers:= chromeos-base/u2fd:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/libhwsec:= dev-libs/hidapi:= chromeos-base/chromeos-ec-headers:= chromeos-base/u2fd:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=G2F gnubby (U2F+GCSE) development and testing tools
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/u2fd
-IUSE=cr50_onboard ti50_onboard cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/u2fd
+IUSE=cr50_onboard ti50_onboard cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/libhwsec:= dev-libs/hidapi:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=be16ed269dee025890cd406885fd1fa6
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7e2d0e3c09b6cb88e0116e9c364ef806
diff --git a/metadata/md5-cache/chromeos-base/gestures-0.0.1-r613 b/metadata/md5-cache/chromeos-base/gestures-0.0.1-r613
deleted file mode 100644
index a652467..0000000
--- a/metadata/md5-cache/chromeos-base/gestures-0.0.1-r613
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-cpp/gtest:= X? ( x11-libs/libXi:= ) chromeos-base/gestures-conf:= chromeos-base/libevdev:= dev-libs/jsoncpp:= virtual/udev
-DESCRIPTION=Gesture recognizer library
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/gestures/
-IUSE=-asan +X cros-debug asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_8088b222860ac74bf737de79db3ef2bdfa3c498b
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/gestures-conf:= chromeos-base/libevdev:= dev-libs/jsoncpp:= virtual/udev
-SLOT=0/0.0.1-r613
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=57c83fef12b80888ac91fe92d77d0d46
diff --git a/metadata/md5-cache/chromeos-base/gestures-0.0.1-r621 b/metadata/md5-cache/chromeos-base/gestures-0.0.1-r621
new file mode 100644
index 0000000..08e3510
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/gestures-0.0.1-r621
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=dev-cpp/gtest:= X? ( x11-libs/libXi:= ) chromeos-base/gestures-conf:= chromeos-base/libevdev:= dev-libs/jsoncpp:= virtual/udev
+DESCRIPTION=Gesture recognizer library
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/gestures/
+IUSE=-asan +X cros-debug asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_32642fa85639ac49bd21b28378671493e96efc87
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/gestures-conf:= chromeos-base/libevdev:= dev-libs/jsoncpp:= virtual/udev
+SLOT=0/0.0.1-r621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6a5e3b5239e322a7296e0baf0dbb0795
diff --git a/metadata/md5-cache/chromeos-base/gestures-9999 b/metadata/md5-cache/chromeos-base/gestures-9999
index 512ae13..7ae6571 100644
--- a/metadata/md5-cache/chromeos-base/gestures-9999
+++ b/metadata/md5-cache/chromeos-base/gestures-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/gestures-conf:= chromeos-base/libevdev:= dev-libs/jsoncpp:= virtual/udev
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=999ae599c6fb3f5a15586aab0be5f0d1
diff --git a/metadata/md5-cache/chromeos-base/gestures-conf-0.0.1-r149 b/metadata/md5-cache/chromeos-base/gestures-conf-0.0.1-r149
deleted file mode 100644
index d49cefe..0000000
--- a/metadata/md5-cache/chromeos-base/gestures-conf-0.0.1-r149
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install setup unpack
-DEPEND=sys-apps/baselayout
-DESCRIPTION=Board specific gestures library configuration file.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/xorg-conf/
-IUSE=elan board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild cros_host cros_workon_tree_cb60c936877f2e933b02e277aa12fde33c24c79b
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=!chromeos-base/touchpad-linearity sys-apps/baselayout
-SLOT=0/0.0.1-r149
-_eclasses_=cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=ee83656f31a881837f8fef40b325f7c5
diff --git a/metadata/md5-cache/chromeos-base/gestures-conf-0.0.1-r154 b/metadata/md5-cache/chromeos-base/gestures-conf-0.0.1-r154
new file mode 100644
index 0000000..8801c2e
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/gestures-conf-0.0.1-r154
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Board specific gestures library configuration file.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/xorg-conf/
+IUSE=elan board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild cros_host cros_workon_tree_6a9e4da35e7547cb642ca611c6490e18789128bc
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=!chromeos-base/touchpad-linearity
+SLOT=0/0.0.1-r154
+_eclasses_=cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7d887589e512a497b137cfeac27962cc
diff --git a/metadata/md5-cache/chromeos-base/gestures-conf-9999 b/metadata/md5-cache/chromeos-base/gestures-conf-9999
index 79c99df..1b9b093 100644
--- a/metadata/md5-cache/chromeos-base/gestures-conf-9999
+++ b/metadata/md5-cache/chromeos-base/gestures-conf-9999
@@ -1,14 +1,13 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=info install setup unpack
-DEPEND=sys-apps/baselayout
 DESCRIPTION=Board specific gestures library configuration file.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/xorg-conf/
-IUSE=elan board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild cros_host cros_workon_tree_
+IUSE=elan board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=!chromeos-base/touchpad-linearity sys-apps/baselayout
+RDEPEND=!chromeos-base/touchpad-linearity
 SLOT=0/9999
-_eclasses_=cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=b288ce958af2848474a05753a98e7525
+_eclasses_=cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=898fd08d8ace94955aa578198111b868
diff --git a/metadata/md5-cache/chromeos-base/gfxreconstruct-0.9.11 b/metadata/md5-cache/chromeos-base/gfxreconstruct-0.9.11
new file mode 100644
index 0000000..570feb3
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/gfxreconstruct-0.9.11
@@ -0,0 +1,13 @@
+BDEPEND=x11-libs/xcb-util-keysyms dev-util/vulkan-headers dev-util/ninja >=dev-util/cmake-3.9.6
+DEFINED_PHASES=compile configure install prepare test unpack
+DEPEND=x11-libs/libxcb sys-libs/zlib app-arch/zstd
+DESCRIPTION=Vulkan API Capture and Replay Tools
+EAPI=7
+HOMEPAGE=https://github.com/LunarG/gfxreconstruct
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=x11-libs/libxcb sys-libs/zlib app-arch/zstd
+SLOT=0
+SRC_URI=https://github.com/LunarG/gfxreconstruct/archive/761837794a1e57f918a85af7000b12e531b178ae.tar.gz -> gfxreconstruct-761837794a1e57f918a85af7000b12e531b178ae.tar.gz
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	unpacker	04385b0f181c42fa9c18ec0e31729d1f	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=cf2b452cffed86715d0f898ad8938eb7
diff --git a/metadata/md5-cache/chromeos-base/gfxreconstruct-0.9.11-r1 b/metadata/md5-cache/chromeos-base/gfxreconstruct-0.9.11-r1
new file mode 100644
index 0000000..570feb3
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/gfxreconstruct-0.9.11-r1
@@ -0,0 +1,13 @@
+BDEPEND=x11-libs/xcb-util-keysyms dev-util/vulkan-headers dev-util/ninja >=dev-util/cmake-3.9.6
+DEFINED_PHASES=compile configure install prepare test unpack
+DEPEND=x11-libs/libxcb sys-libs/zlib app-arch/zstd
+DESCRIPTION=Vulkan API Capture and Replay Tools
+EAPI=7
+HOMEPAGE=https://github.com/LunarG/gfxreconstruct
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=x11-libs/libxcb sys-libs/zlib app-arch/zstd
+SLOT=0
+SRC_URI=https://github.com/LunarG/gfxreconstruct/archive/761837794a1e57f918a85af7000b12e531b178ae.tar.gz -> gfxreconstruct-761837794a1e57f918a85af7000b12e531b178ae.tar.gz
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	unpacker	04385b0f181c42fa9c18ec0e31729d1f	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=cf2b452cffed86715d0f898ad8938eb7
diff --git a/metadata/md5-cache/chromeos-base/glbench-0.0.1-r24 b/metadata/md5-cache/chromeos-base/glbench-0.0.1-r24
deleted file mode 100644
index 47e759f..0000000
--- a/metadata/md5-cache/chromeos-base/glbench-0.0.1-r24
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install setup unpack
-DEPEND=>=dev-cpp/gflags-2.0:= media-libs/libpng:= virtual/opengles:= media-libs/waffle:= x11-drivers/opengles-headers:=
-DESCRIPTION=Microbenchmark for opengl/gles
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/glbench/
-IUSE=opengl opengles cros_host cros_workon_tree_8b161c6f7b90a49e76c005b5e32f25a84345576c
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=>=dev-cpp/gflags-2.0:= media-libs/libpng:= virtual/opengles:= media-libs/waffle:=
-SLOT=0/0.0.1-r24
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=1657391b1b0849b13ea65c62d4dbde1c
diff --git a/metadata/md5-cache/chromeos-base/glbench-0.0.1-r30 b/metadata/md5-cache/chromeos-base/glbench-0.0.1-r30
new file mode 100644
index 0000000..d9fbcea
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/glbench-0.0.1-r30
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install setup unpack
+DEPEND=>=dev-cpp/gflags-2.0:= media-libs/libpng:= virtual/opengles:= media-libs/waffle:= x11-drivers/opengles-headers:=
+DESCRIPTION=Microbenchmark for opengl/gles
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/glbench/
+IUSE=opengl opengles cros_host cros_workon_tree_77ea444324f8e06bbf322cf767674ac416396177
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=>=dev-cpp/gflags-2.0:= media-libs/libpng:= virtual/opengles:= media-libs/waffle:=
+SLOT=0/0.0.1-r30
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d907590ce69b0389eeb009dce9895138
diff --git a/metadata/md5-cache/chromeos-base/glbench-9999 b/metadata/md5-cache/chromeos-base/glbench-9999
index 8360993..8386dd3 100644
--- a/metadata/md5-cache/chromeos-base/glbench-9999
+++ b/metadata/md5-cache/chromeos-base/glbench-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=>=dev-cpp/gflags-2.0:= media-libs/libpng:= virtual/opengles:= media-libs/waffle:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=20c9a8c970d32e7ffc776a80989f9d72
diff --git a/metadata/md5-cache/chromeos-base/glib-bridge-0.0.1-r263 b/metadata/md5-cache/chromeos-base/glib-bridge-0.0.1-r263
deleted file mode 100644
index 42c306d..0000000
--- a/metadata/md5-cache/chromeos-base/glib-bridge-0.0.1-r263
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/glib:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=libchrome-glib message loop bridge
-EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/glib-bridge
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_ee86bced1316f6a39f5e8b884ff29cb26138128d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_ee86bced1316f6a39f5e8b884ff29cb26138128d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=dev-libs/glib:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=65d4a2c72f11df64ddf06594fb7f9408
diff --git a/metadata/md5-cache/chromeos-base/glib-bridge-0.0.1-r322 b/metadata/md5-cache/chromeos-base/glib-bridge-0.0.1-r322
new file mode 100644
index 0000000..13dc95a
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/glib-bridge-0.0.1-r322
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=dev-libs/glib:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=libchrome-glib message loop bridge
+EAPI=6
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/glib-bridge
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_36dc2ec558e1f7491a9167556fd841be0c78aec5_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_36dc2ec558e1f7491a9167556fd841be0c78aec5_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=dev-libs/glib:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=a0f002b79f2f56d95579a3ff8e91e27e
diff --git a/metadata/md5-cache/chromeos-base/glib-bridge-9999 b/metadata/md5-cache/chromeos-base/glib-bridge-9999
index 3e65207..eacc11c 100644
--- a/metadata/md5-cache/chromeos-base/glib-bridge-9999
+++ b/metadata/md5-cache/chromeos-base/glib-bridge-9999
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/glib:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=dev-libs/glib:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=libchrome-glib message loop bridge
 EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/glib-bridge
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/glib-bridge
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=dev-libs/glib:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=7b7a01bcc4f86ab8cf6285e44f35a781
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=07ef2f56b32ec2e7837a9d2789f4eb2c
diff --git a/metadata/md5-cache/chromeos-base/goldfishd-0.0.1-r568 b/metadata/md5-cache/chromeos-base/goldfishd-0.0.1-r568
deleted file mode 100644
index 12b54dd..0000000
--- a/metadata/md5-cache/chromeos-base/goldfishd-0.0.1-r568
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Android Emulator Daemon for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/goldfishd/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_d73e948ee4d98ed9a0b228cf85588b9ceeae13c3_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_d73e948ee4d98ed9a0b228cf85588b9ceeae13c3_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/autotest-client >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c0e0db42977e2a7ee35f8decc4bdc89d
diff --git a/metadata/md5-cache/chromeos-base/goldfishd-0.0.1-r626 b/metadata/md5-cache/chromeos-base/goldfishd-0.0.1-r626
new file mode 100644
index 0000000..04a9a28
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/goldfishd-0.0.1-r626
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Android Emulator Daemon for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/goldfishd/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_d73e948ee4d98ed9a0b228cf85588b9ceeae13c3_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_d73e948ee4d98ed9a0b228cf85588b9ceeae13c3_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/autotest-client >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6515a2e287d49a7c3497f87c280aabac
diff --git a/metadata/md5-cache/chromeos-base/goldfishd-9999 b/metadata/md5-cache/chromeos-base/goldfishd-9999
index 764f338..0931fdf 100644
--- a/metadata/md5-cache/chromeos-base/goldfishd-9999
+++ b/metadata/md5-cache/chromeos-base/goldfishd-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Android Emulator Daemon for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/goldfishd/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/goldfishd/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/autotest-client >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=822cc1ae759959add9157b25f1a1cd40
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=23ccc6fc245c7ebe0b7319a865271450
diff --git a/metadata/md5-cache/chromeos-base/google-breakpad-2021.08.09.232412-r207 b/metadata/md5-cache/chromeos-base/google-breakpad-2021.08.09.232412-r207
deleted file mode 100644
index 398874ae..0000000
--- a/metadata/md5-cache/chromeos-base/google-breakpad-2021.08.09.232412-r207
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=net-misc/curl:= test? ( dev-cpp/gtest:= )
-DESCRIPTION=Google crash reporting
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/breakpad/breakpad
-IUSE=-alltests cros_host test cros_host cros_workon_tree_3f31ee606d96ec70db0a8bbe95886810917284eb_c2034bc1106379848e2c8c7b68f40d13b3c09097 cros_arm64 cros_host cros_workon_tree_3f31ee606d96ec70db0a8bbe95886810917284eb_c2034bc1106379848e2c8c7b68f40d13b3c09097 cros_i686 cros_host cros_workon_tree_3f31ee606d96ec70db0a8bbe95886810917284eb_c2034bc1106379848e2c8c7b68f40d13b3c09097
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live live
-RDEPEND=net-misc/curl:=
-SLOT=0/2021.08.09.232412-r207
-_eclasses_=cros-arm64	99e3147108567dd0bb2989d51049e8c0	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-i686	2e67545fc7d4a6f126932c99c39a6627	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=335c6ccbdfee2015182cc1d414680988
diff --git a/metadata/md5-cache/chromeos-base/google-breakpad-2022.07.13.054504-r211 b/metadata/md5-cache/chromeos-base/google-breakpad-2022.07.13.054504-r211
new file mode 100644
index 0000000..7f20e56
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/google-breakpad-2022.07.13.054504-r211
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=rustc-demangle? ( dev-rust/rustc-demangle-capi:= ) net-misc/curl:= test? ( dev-cpp/gtest:= )
+DESCRIPTION=Google crash reporting
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/breakpad/breakpad
+IUSE=-alltests cros_host +rustc-demangle test cros_host cros_workon_tree_75d62b1d79d030850963909b7c2f1ccc00dafa46_c2034bc1106379848e2c8c7b68f40d13b3c09097 cros_arm64 cros_host cros_workon_tree_75d62b1d79d030850963909b7c2f1ccc00dafa46_c2034bc1106379848e2c8c7b68f40d13b3c09097 cros_i686 cros_host cros_workon_tree_75d62b1d79d030850963909b7c2f1ccc00dafa46_c2034bc1106379848e2c8c7b68f40d13b3c09097 asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live live
+RDEPEND=rustc-demangle? ( dev-rust/rustc-demangle-capi:= ) net-misc/curl:=
+SLOT=0/2022.07.13.054504-r211
+_eclasses_=cros-arm64	99e3147108567dd0bb2989d51049e8c0	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-i686	2e67545fc7d4a6f126932c99c39a6627	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3e5f084d010d24bf202b4769c0cfb323
diff --git a/metadata/md5-cache/chromeos-base/google-breakpad-9999 b/metadata/md5-cache/chromeos-base/google-breakpad-9999
index b7106dc..312aa63 100644
--- a/metadata/md5-cache/chromeos-base/google-breakpad-9999
+++ b/metadata/md5-cache/chromeos-base/google-breakpad-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=net-misc/curl:= test? ( dev-cpp/gtest:= )
+DEPEND=rustc-demangle? ( dev-rust/rustc-demangle-capi:= ) net-misc/curl:= test? ( dev-cpp/gtest:= )
 DESCRIPTION=Google crash reporting
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/breakpad/breakpad
-IUSE=-alltests cros_host test cros_host cros_workon_tree_ cros_arm64 cros_host cros_workon_tree_ cros_i686 cros_host cros_workon_tree_
+IUSE=-alltests cros_host +rustc-demangle test cros_host cros_workon_tree_ cros_arm64 cros_host cros_workon_tree_ cros_i686 cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live live
-RDEPEND=net-misc/curl:=
+RDEPEND=rustc-demangle? ( dev-rust/rustc-demangle-capi:= ) net-misc/curl:=
 SLOT=0/9999
-_eclasses_=cros-arm64	99e3147108567dd0bb2989d51049e8c0	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-i686	2e67545fc7d4a6f126932c99c39a6627	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=fbe6f508f322e461700fc17bb3a3080d
+_eclasses_=cros-arm64	99e3147108567dd0bb2989d51049e8c0	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-i686	2e67545fc7d4a6f126932c99c39a6627	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=705a56397c28e50265018e60aeecc497
diff --git a/metadata/md5-cache/chromeos-base/graphics-expectations-0.0.1-r19 b/metadata/md5-cache/chromeos-base/graphics-expectations-0.0.1-r19
new file mode 100644
index 0000000..41f4a80
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/graphics-expectations-0.0.1-r19
@@ -0,0 +1,12 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Installs shared expectations for graphics tests.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/graphics/
+IUSE=cros_host cros_workon_tree_5080a5539179d6fcad0eb6edafcdf77b5ac72f74
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9d8fbf6246327ddaf4b122dd7230647b
diff --git a/metadata/md5-cache/chromeos-base/graphics-expectations-9999 b/metadata/md5-cache/chromeos-base/graphics-expectations-9999
new file mode 100644
index 0000000..e569d6c
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/graphics-expectations-9999
@@ -0,0 +1,12 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Installs shared expectations for graphics tests.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/graphics/
+IUSE=cros_host cros_workon_tree_
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b63473f452813ac5a0c3aa95ad41ce83
diff --git a/metadata/md5-cache/chromeos-base/graphics-utils-go-0.0.1-r114 b/metadata/md5-cache/chromeos-base/graphics-utils-go-0.0.1-r114
deleted file mode 100644
index ae439b6..0000000
--- a/metadata/md5-cache/chromeos-base/graphics-utils-go-0.0.1-r114
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst prepare setup test unpack
-DEPEND=chromeos-base/cros-config-api dev-go/crypto dev-go/fogleman-gg dev-go/go-image dev-go/gofpdf dev-go/golang-freetype dev-go/gonum-plot dev-go/protobuf dev-go/readline dev-go/svgo dev-go/uuid dev-lang/go
-DESCRIPTION=Portable graphics utils written in go
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/graphics/
-IUSE=cros_host cros_workon_tree_74272bf342ba8f37910569d478cbdcfa8d7125db
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/cros-config-api dev-go/crypto dev-go/fogleman-gg dev-go/go-image dev-go/gofpdf dev-go/golang-freetype dev-go/gonum-plot dev-go/protobuf dev-go/readline dev-go/svgo dev-go/uuid
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=cfc8f0632514544a4932164451eb209a
diff --git a/metadata/md5-cache/chromeos-base/graphics-utils-go-0.0.1-r142 b/metadata/md5-cache/chromeos-base/graphics-utils-go-0.0.1-r142
new file mode 100644
index 0000000..3a49eb3
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/graphics-utils-go-0.0.1-r142
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst prepare setup test unpack
+DEPEND=chromeos-base/cros-config-api dev-go/crypto dev-go/fogleman-gg dev-go/go-image dev-go/go-pdf dev-go/golang-freetype dev-go/gonum-plot dev-go/protobuf dev-go/protobuf-legacy-api dev-go/readline dev-go/svgo dev-go/uuid dev-lang/go
+DESCRIPTION=Portable graphics utils written in go
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/graphics/
+IUSE=cros_host cros_workon_tree_5080a5539179d6fcad0eb6edafcdf77b5ac72f74
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/cros-config-api dev-go/crypto dev-go/fogleman-gg dev-go/go-image dev-go/go-pdf dev-go/golang-freetype dev-go/gonum-plot dev-go/protobuf dev-go/protobuf-legacy-api dev-go/readline dev-go/svgo dev-go/uuid
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=952d0a2ba2633b1312b6180c0b89f04a
diff --git a/metadata/md5-cache/chromeos-base/graphics-utils-go-9999 b/metadata/md5-cache/chromeos-base/graphics-utils-go-9999
index a9edd05..adafa42 100644
--- a/metadata/md5-cache/chromeos-base/graphics-utils-go-9999
+++ b/metadata/md5-cache/chromeos-base/graphics-utils-go-9999
@@ -1,6 +1,6 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile info install postinst prepare setup test unpack
-DEPEND=chromeos-base/cros-config-api dev-go/crypto dev-go/fogleman-gg dev-go/go-image dev-go/gofpdf dev-go/golang-freetype dev-go/gonum-plot dev-go/protobuf dev-go/readline dev-go/svgo dev-go/uuid dev-lang/go
+DEPEND=chromeos-base/cros-config-api dev-go/crypto dev-go/fogleman-gg dev-go/go-image dev-go/go-pdf dev-go/golang-freetype dev-go/gonum-plot dev-go/protobuf dev-go/protobuf-legacy-api dev-go/readline dev-go/svgo dev-go/uuid dev-lang/go
 DESCRIPTION=Portable graphics utils written in go
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/graphics/
@@ -8,7 +8,7 @@
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=chromeos-base/cros-config-api dev-go/crypto dev-go/fogleman-gg dev-go/go-image dev-go/gofpdf dev-go/golang-freetype dev-go/gonum-plot dev-go/protobuf dev-go/readline dev-go/svgo dev-go/uuid
+RDEPEND=chromeos-base/cros-config-api dev-go/crypto dev-go/fogleman-gg dev-go/go-image dev-go/go-pdf dev-go/golang-freetype dev-go/gonum-plot dev-go/protobuf dev-go/protobuf-legacy-api dev-go/readline dev-go/svgo dev-go/uuid
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=45627ea6553d5f41caf98affb5ab60f8
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=bc84f770887e18da0efaf143d6da1e3c
diff --git a/metadata/md5-cache/chromeos-base/graphics-utils-python-0.0.1-r5 b/metadata/md5-cache/chromeos-base/graphics-utils-python-0.0.1-r5
deleted file mode 100644
index 9b9df43..0000000
--- a/metadata/md5-cache/chromeos-base/graphics-utils-python-0.0.1-r5
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=chromeos-base/cros-config-api
-DESCRIPTION=Graphics utilities written in python
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/graphics/
-IUSE=cros_host cros_workon_tree_95b75597932a73a3f6a2fb6eb32a171a8362990f python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/cros-config-api python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 )
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=923564c88c8ca72c6e4f9966aa036deb
diff --git a/metadata/md5-cache/chromeos-base/graphics-utils-python-0.0.1-r6 b/metadata/md5-cache/chromeos-base/graphics-utils-python-0.0.1-r6
new file mode 100644
index 0000000..1f8a627
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/graphics-utils-python-0.0.1-r6
@@ -0,0 +1,15 @@
+BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=chromeos-base/cros-config-api
+DESCRIPTION=Graphics utilities written in python
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/graphics/
+IUSE=cros_host cros_workon_tree_95b75597932a73a3f6a2fb6eb32a171a8362990f python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/cros-config-api python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5e5d933126265fe04172145795311afa
diff --git a/metadata/md5-cache/chromeos-base/graphics-utils-python-9999 b/metadata/md5-cache/chromeos-base/graphics-utils-python-9999
index bed5b6f..2dc9675 100644
--- a/metadata/md5-cache/chromeos-base/graphics-utils-python-9999
+++ b/metadata/md5-cache/chromeos-base/graphics-utils-python-9999
@@ -1,15 +1,15 @@
-BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
+BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
 DEFINED_PHASES=compile configure info install prepare setup test unpack
 DEPEND=chromeos-base/cros-config-api
 DESCRIPTION=Graphics utilities written in python
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/graphics/
-IUSE=cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
+IUSE=cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=chromeos-base/cros-config-api python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 )
+RDEPEND=chromeos-base/cros-config-api python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=947b715d84c540614e15bf79c6b09923
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7812b68eaf46b048f0e69f0b00002688
diff --git a/metadata/md5-cache/chromeos-base/graphyte-0.0.1-r39 b/metadata/md5-cache/chromeos-base/graphyte-0.0.1-r39
deleted file mode 100644
index c827c9e..0000000
--- a/metadata/md5-cache/chromeos-base/graphyte-0.0.1-r39
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DESCRIPTION=Graphyte RF testing framework
-EAPI=7
-HOMEPAGE=https://sites.google.com/a/google.com/graphyte/home
-IUSE=cros_host cros_workon_tree_f05776e43faaedc4b58f8b38e20bdf050a59b264 python_targets_python3_6 python_targets_python3_7
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 )
-SLOT=0/0.0.1-r39
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=786a12b751cd39368137a4e6db9735be
diff --git a/metadata/md5-cache/chromeos-base/graphyte-0.0.1-r40 b/metadata/md5-cache/chromeos-base/graphyte-0.0.1-r40
new file mode 100644
index 0000000..ad4fc1f
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/graphyte-0.0.1-r40
@@ -0,0 +1,14 @@
+BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DESCRIPTION=Graphyte RF testing framework
+EAPI=7
+HOMEPAGE=https://sites.google.com/a/google.com/graphyte/home
+IUSE=cros_host cros_workon_tree_f05776e43faaedc4b58f8b38e20bdf050a59b264 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0/0.0.1-r40
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=72d2b36bca54bffec55e29718855c0cf
diff --git a/metadata/md5-cache/chromeos-base/graphyte-9999 b/metadata/md5-cache/chromeos-base/graphyte-9999
index 96024e9..45f3d6f 100644
--- a/metadata/md5-cache/chromeos-base/graphyte-9999
+++ b/metadata/md5-cache/chromeos-base/graphyte-9999
@@ -1,14 +1,14 @@
-BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
+BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
 DEFINED_PHASES=compile configure info install prepare setup test unpack
 DESCRIPTION=Graphyte RF testing framework
 EAPI=7
 HOMEPAGE=https://sites.google.com/a/google.com/graphyte/home
-IUSE=cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7
+IUSE=cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 )
+RDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=53d99aad1ff2bf1dc8b3946b93fb8755
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d190ac033fcb5329b3043238d128b682
diff --git a/metadata/md5-cache/chromeos-base/hammerd-0.0.1-r1101 b/metadata/md5-cache/chromeos-base/hammerd-0.0.1-r1101
deleted file mode 100644
index 48435a3..0000000
--- a/metadata/md5-cache/chromeos-base/hammerd-0.0.1-r1101
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/ec-utils:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/vboot_reference:= dev-libs/openssl:0= sys-apps/flashmap:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=A daemon to update EC firmware of hammer, the base of the detachable.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/hammerd/
-IUSE=-hammerd_api fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_23df230842a4c3dc7f151ee7495072f999bd7ddd_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_23df230842a4c3dc7f151ee7495072f999bd7ddd_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/ec-utils:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/vboot_reference:= dev-libs/openssl:0= sys-apps/flashmap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r1101
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=f0adf17e63d8859360869968ad18348d
diff --git a/metadata/md5-cache/chromeos-base/hammerd-0.0.1-r1165 b/metadata/md5-cache/chromeos-base/hammerd-0.0.1-r1165
new file mode 100644
index 0000000..dfb8319
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/hammerd-0.0.1-r1165
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/ec-utils:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/vboot_reference:= dev-libs/openssl:0= sys-apps/flashmap:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=A daemon to update EC firmware of hammer, the base of the detachable.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hammerd/
+IUSE=-hammerd_api fuzzer cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_012c74a2d8eae81ede02bdd5d5fdcdaeafd46f34_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_012c74a2d8eae81ede02bdd5d5fdcdaeafd46f34_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/ec-utils:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/vboot_reference:= dev-libs/openssl:0= sys-apps/flashmap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r1165
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=25905e6334aa02ac523d86c34936082a
diff --git a/metadata/md5-cache/chromeos-base/hammerd-9999 b/metadata/md5-cache/chromeos-base/hammerd-9999
index 6cf8d54..8051743 100644
--- a/metadata/md5-cache/chromeos-base/hammerd-9999
+++ b/metadata/md5-cache/chromeos-base/hammerd-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/ec-utils:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/vboot_reference:= dev-libs/openssl:0= sys-apps/flashmap:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/ec-utils:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/vboot_reference:= dev-libs/openssl:0= sys-apps/flashmap:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=A daemon to update EC firmware of hammer, the base of the detachable.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/hammerd/
-IUSE=-hammerd_api fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hammerd/
+IUSE=-hammerd_api fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/ec-utils:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/vboot_reference:= dev-libs/openssl:0= sys-apps/flashmap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=cf11cbf5981a89053581047a005ee3da
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=9e532517715209eb9a132139248b0ee6
diff --git a/metadata/md5-cache/chromeos-base/hammerd-test-utils-0.0.1-r638 b/metadata/md5-cache/chromeos-base/hammerd-test-utils-0.0.1-r638
deleted file mode 100644
index 4714523..0000000
--- a/metadata/md5-cache/chromeos-base/hammerd-test-utils-0.0.1-r638
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-vcs/git dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=chromeos-base/hammerd:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Python wrapper of hammerd API and some python utility scripts.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/hammerd/
-IUSE=+hammerd_api cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_23df230842a4c3dc7f151ee7495072f999bd7ddd_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_23df230842a4c3dc7f151ee7495072f999bd7ddd_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/hammerd:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 )
-SLOT=0/0.0.1-r638
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=33b9b05888fee624cd8a61dde76a9ef9
diff --git a/metadata/md5-cache/chromeos-base/hammerd-test-utils-0.0.1-r703 b/metadata/md5-cache/chromeos-base/hammerd-test-utils-0.0.1-r703
new file mode 100644
index 0000000..62fc58c
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/hammerd-test-utils-0.0.1-r703
@@ -0,0 +1,15 @@
+BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=chromeos-base/hammerd:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Python wrapper of hammerd API and some python utility scripts.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hammerd/
+IUSE=+hammerd_api cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_012c74a2d8eae81ede02bdd5d5fdcdaeafd46f34_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_012c74a2d8eae81ede02bdd5d5fdcdaeafd46f34_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/hammerd:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0/0.0.1-r703
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d0b93587a39bb744034041af0236b70c
diff --git a/metadata/md5-cache/chromeos-base/hammerd-test-utils-9999 b/metadata/md5-cache/chromeos-base/hammerd-test-utils-9999
index 871a579..17e1cae 100644
--- a/metadata/md5-cache/chromeos-base/hammerd-test-utils-9999
+++ b/metadata/md5-cache/chromeos-base/hammerd-test-utils-9999
@@ -1,15 +1,15 @@
-BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-vcs/git dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
+BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
 DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=chromeos-base/hammerd:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/hammerd:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Python wrapper of hammerd API and some python utility scripts.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/hammerd/
-IUSE=+hammerd_api cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hammerd/
+IUSE=+hammerd_api cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=chromeos-base/hammerd:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 )
+RDEPEND=chromeos-base/hammerd:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=8b1cac82fbdb4e1f7489e8294aa1f8c8
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d7e4184995d1e5559c278f1810b73ac7
diff --git a/metadata/md5-cache/chromeos-base/hardware_verifier-0.0.1-r432 b/metadata/md5-cache/chromeos-base/hardware_verifier-0.0.1-r432
deleted file mode 100644
index d046d5c..0000000
--- a/metadata/md5-cache/chromeos-base/hardware_verifier-0.0.1-r432
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/chromeos-config-tools:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/system_api:= chromeos-base/vboot_reference:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Hardware Verifier Tool/Lib for Chrome OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/hardware_verifier/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_bea140d13f7cf1092e4c89a45011c04c28327972_1b6791d8f3bd43faefbaff3664ccf8eeabdfa502_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_bea140d13f7cf1092e4c89a45011c04c28327972_1b6791d8f3bd43faefbaff3664ccf8eeabdfa502_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r432
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=3e81f78dbaa608a6621b1af7ee1724f2
diff --git a/metadata/md5-cache/chromeos-base/hardware_verifier-0.0.1-r577 b/metadata/md5-cache/chromeos-base/hardware_verifier-0.0.1-r577
new file mode 100644
index 0000000..a3054cf
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/hardware_verifier-0.0.1-r577
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/chromeos-config-tools:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/runtime_probe-client:= chromeos-base/system_api:= chromeos-base/vboot_reference:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Hardware Verifier Tool/Lib for Chrome OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hardware_verifier/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_527abd7a988a45572305a6c44b5324d0d9cf8be2_68361c6922909c829d679a3b5f79a5a64e977c35_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_527abd7a988a45572305a6c44b5324d0d9cf8be2_68361c6922909c829d679a3b5f79a5a64e977c35_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r577
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=29ee612b6e1df628d7866e898fdabbbe
diff --git a/metadata/md5-cache/chromeos-base/hardware_verifier-9999 b/metadata/md5-cache/chromeos-base/hardware_verifier-9999
index f1f5e38..b947a61 100644
--- a/metadata/md5-cache/chromeos-base/hardware_verifier-9999
+++ b/metadata/md5-cache/chromeos-base/hardware_verifier-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/chromeos-config-tools:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/system_api:= chromeos-base/vboot_reference:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/chromeos-config-tools:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/runtime_probe-client:= chromeos-base/system_api:= chromeos-base/vboot_reference:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Hardware Verifier Tool/Lib for Chrome OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/hardware_verifier/
-IUSE=cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hardware_verifier/
+IUSE=cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=d07bc37162d574131d556ae79f262751
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=5f71706901948403c0b43908dfc77369
diff --git a/metadata/md5-cache/chromeos-base/hardware_verifier_proto-0.0.1-r284 b/metadata/md5-cache/chromeos-base/hardware_verifier_proto-0.0.1-r284
deleted file mode 100644
index dfd7ee4..0000000
--- a/metadata/md5-cache/chromeos-base/hardware_verifier_proto-0.0.1-r284
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst setup test unpack
-DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/system_api:= chromeos-base/vboot_reference:= dev-go/protobuf dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Hardware Verifier go proto for Chrome OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/hardware_verifier/proto
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1b6791d8f3bd43faefbaff3664ccf8eeabdfa502_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1b6791d8f3bd43faefbaff3664ccf8eeabdfa502_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r284
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=cad2b08e00e42510faa8b21f5f1c1f12
diff --git a/metadata/md5-cache/chromeos-base/hardware_verifier_proto-0.0.1-r385 b/metadata/md5-cache/chromeos-base/hardware_verifier_proto-0.0.1-r385
new file mode 100644
index 0000000..ef28348
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/hardware_verifier_proto-0.0.1-r385
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst setup test unpack
+DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/system_api:= chromeos-base/vboot_reference:= dev-go/protobuf dev-go/protobuf-legacy-api dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Hardware Verifier go proto for Chrome OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hardware_verifier/proto
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_68361c6922909c829d679a3b5f79a5a64e977c35_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_68361c6922909c829d679a3b5f79a5a64e977c35_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r385
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8317973d5e8c7b77774d6184f9148aec
diff --git a/metadata/md5-cache/chromeos-base/hardware_verifier_proto-9999 b/metadata/md5-cache/chromeos-base/hardware_verifier_proto-9999
index 83b4c31..0b4a4c8 100644
--- a/metadata/md5-cache/chromeos-base/hardware_verifier_proto-9999
+++ b/metadata/md5-cache/chromeos-base/hardware_verifier_proto-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst setup test unpack
-DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/system_api:= chromeos-base/vboot_reference:= dev-go/protobuf dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/system_api:= chromeos-base/vboot_reference:= dev-go/protobuf dev-go/protobuf-legacy-api dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Hardware Verifier go proto for Chrome OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/hardware_verifier/proto
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hardware_verifier/proto
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a354659c2a596610845888d29a2b6191
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4d1832ac869b28dbdf8f875f6ff0601f
diff --git a/metadata/md5-cache/chromeos-base/hiberman-0.0.1-r25 b/metadata/md5-cache/chromeos-base/hiberman-0.0.1-r25
new file mode 100644
index 0000000..a6d784b
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/hiberman-0.0.1-r25
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=dev-libs/openssl:= =dev-rust/anyhow-1*:= dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/getopts-0.2* >=dev-rust/libc-0.2.94 <dev-rust/libc-0.3.0_alpha:= =dev-rust/log-0.4*:= =dev-rust/once_cell-1*:= =dev-rust/stderrlog-0.5*:= =dev-rust/syslog-6*:= =dev-rust/openssl-0.10*:= =dev-rust/protobuf-2*:= =dev-rust/serde-1*:= dev-rust/serde_derive:= =dev-rust/serde_json-1*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/system_api:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:= >=dev-rust/zeroize-1.5.1 <dev-rust/zeroize-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:= sys-apps/baselayout
+DESCRIPTION=The hibernate service manager.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hiberman/
+IUSE=cros_host cros_workon_tree_08bdf83cf4f403dd53e27531e66f3a1fd9a23881 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-libs/openssl:= =dev-rust/anyhow-1*:= dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/getopts-0.2* >=dev-rust/libc-0.2.94 <dev-rust/libc-0.3.0_alpha:= =dev-rust/log-0.4*:= =dev-rust/once_cell-1*:= =dev-rust/stderrlog-0.5*:= =dev-rust/syslog-6*:= =dev-rust/openssl-0.10*:= =dev-rust/protobuf-2*:= =dev-rust/serde-1*:= dev-rust/serde_derive:= =dev-rust/serde_json-1*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/system_api:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:= >=dev-rust/zeroize-1.5.1 <dev-rust/zeroize-2.0.0_alpha:= sys-apps/dbus virtual/rust-binaries:= sys-apps/baselayout
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.0.1-r25
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=25bac507115c7671b6ac41c855e1e05f
diff --git a/metadata/md5-cache/chromeos-base/hiberman-0.0.1-r6 b/metadata/md5-cache/chromeos-base/hiberman-0.0.1-r6
deleted file mode 100644
index 462176b..0000000
--- a/metadata/md5-cache/chromeos-base/hiberman-0.0.1-r6
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-libs/openssl:= =dev-rust/anyhow-1*:= dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/getopts-0.2* >=dev-rust/libc-0.2.94 <dev-rust/libc-0.3.0_alpha:= =dev-rust/log-0.4*:= =dev-rust/once_cell-1*:= dev-rust/syslog:= =dev-rust/openssl-0.10*:= =dev-rust/protobuf-2*:= =dev-rust/serde-1*:= dev-rust/serde_derive:= =dev-rust/serde_json-1*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/system_api:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:= >=dev-rust/zeroize-1.5.1 <dev-rust/zeroize-2.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:= sys-apps/baselayout
-DESCRIPTION=The hibernate service manager.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hiberman/
-IUSE=cros_host cros_workon_tree_e6e638284933bbc1a4d011036e9cfaa09b4813eb cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-libs/openssl:= =dev-rust/anyhow-1*:= dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/getopts-0.2* >=dev-rust/libc-0.2.94 <dev-rust/libc-0.3.0_alpha:= =dev-rust/log-0.4*:= =dev-rust/once_cell-1*:= dev-rust/syslog:= =dev-rust/openssl-0.10*:= =dev-rust/protobuf-2*:= =dev-rust/serde-1*:= dev-rust/serde_derive:= =dev-rust/serde_json-1*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/system_api:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:= >=dev-rust/zeroize-1.5.1 <dev-rust/zeroize-2.0.0_alpha:= sys-apps/dbus sys-apps/baselayout
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.0.1-r6
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=03eb619934a6fed8935619432f8a9cae
diff --git a/metadata/md5-cache/chromeos-base/hiberman-9999 b/metadata/md5-cache/chromeos-base/hiberman-9999
index 0e3bf93..62b8d49 100644
--- a/metadata/md5-cache/chromeos-base/hiberman-9999
+++ b/metadata/md5-cache/chromeos-base/hiberman-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-libs/openssl:= =dev-rust/anyhow-1*:= dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/getopts-0.2* >=dev-rust/libc-0.2.94 <dev-rust/libc-0.3.0_alpha:= =dev-rust/log-0.4*:= =dev-rust/once_cell-1*:= dev-rust/syslog:= =dev-rust/openssl-0.10*:= =dev-rust/protobuf-2*:= =dev-rust/serde-1*:= dev-rust/serde_derive:= =dev-rust/serde_json-1*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/system_api:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:= >=dev-rust/zeroize-1.5.1 <dev-rust/zeroize-2.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:= sys-apps/baselayout
+DEPEND=dev-libs/openssl:= =dev-rust/anyhow-1*:= dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/getopts-0.2* >=dev-rust/libc-0.2.94 <dev-rust/libc-0.3.0_alpha:= =dev-rust/log-0.4*:= =dev-rust/once_cell-1*:= =dev-rust/stderrlog-0.5*:= =dev-rust/syslog-6*:= =dev-rust/openssl-0.10*:= =dev-rust/protobuf-2*:= =dev-rust/serde-1*:= dev-rust/serde_derive:= =dev-rust/serde_json-1*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/system_api:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:= >=dev-rust/zeroize-1.5.1 <dev-rust/zeroize-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:= sys-apps/baselayout
 DESCRIPTION=The hibernate service manager.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hiberman/
-IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=dev-libs/openssl:= =dev-rust/anyhow-1*:= dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/getopts-0.2* >=dev-rust/libc-0.2.94 <dev-rust/libc-0.3.0_alpha:= =dev-rust/log-0.4*:= =dev-rust/once_cell-1*:= dev-rust/syslog:= =dev-rust/openssl-0.10*:= =dev-rust/protobuf-2*:= =dev-rust/serde-1*:= dev-rust/serde_derive:= =dev-rust/serde_json-1*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/system_api:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:= >=dev-rust/zeroize-1.5.1 <dev-rust/zeroize-2.0.0_alpha:= sys-apps/dbus sys-apps/baselayout
+RDEPEND=dev-libs/openssl:= =dev-rust/anyhow-1*:= dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/getopts-0.2* >=dev-rust/libc-0.2.94 <dev-rust/libc-0.3.0_alpha:= =dev-rust/log-0.4*:= =dev-rust/once_cell-1*:= =dev-rust/stderrlog-0.5*:= =dev-rust/syslog-6*:= =dev-rust/openssl-0.10*:= =dev-rust/protobuf-2*:= =dev-rust/serde-1*:= dev-rust/serde_derive:= =dev-rust/serde_json-1*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/system_api:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:= >=dev-rust/zeroize-1.5.1 <dev-rust/zeroize-2.0.0_alpha:= sys-apps/dbus virtual/rust-binaries:= sys-apps/baselayout
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=a5bcbca9c1994093b727944bd7b2acf5
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=d3200b64216fc163db64d7747dae0f20
diff --git a/metadata/md5-cache/chromeos-base/hiberman-client-0.0.1-r24 b/metadata/md5-cache/chromeos-base/hiberman-client-0.0.1-r24
deleted file mode 100644
index 97b52fe..0000000
--- a/metadata/md5-cache/chromeos-base/hiberman-client-0.0.1-r24
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=chromeos-base/chromeos-dbus-bindings:= dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Hibernate manager DBus client library for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hiberman/
-IUSE=cros_host cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e6e638284933bbc1a4d011036e9cfaa09b4813eb_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e6e638284933bbc1a4d011036e9cfaa09b4813eb_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r24
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=f62f4ca1b15cbcf5b4be1efde9aa3de7
diff --git a/metadata/md5-cache/chromeos-base/hiberman-client-0.0.1-r98 b/metadata/md5-cache/chromeos-base/hiberman-client-0.0.1-r98
new file mode 100644
index 0000000..b17229e
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/hiberman-client-0.0.1-r98
@@ -0,0 +1,14 @@
+BDEPEND=chromeos-base/chromeos-dbus-bindings:= dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Hibernate manager DBus client library for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hiberman/
+IUSE=cros_host cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_08bdf83cf4f403dd53e27531e66f3a1fd9a23881_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_08bdf83cf4f403dd53e27531e66f3a1fd9a23881_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r98
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=30b9fe8fcc8caecc0b24407a229bfd5d
diff --git a/metadata/md5-cache/chromeos-base/hiberman-client-9999 b/metadata/md5-cache/chromeos-base/hiberman-client-9999
index e10abcb..d9df467 100644
--- a/metadata/md5-cache/chromeos-base/hiberman-client-9999
+++ b/metadata/md5-cache/chromeos-base/hiberman-client-9999
@@ -1,14 +1,14 @@
 BDEPEND=chromeos-base/chromeos-dbus-bindings:= dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Hibernate manager DBus client library for Chromium OS
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hiberman/
-IUSE=cros_host cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=9867bc05aff629e1f4c3a7d5aae586ce
diff --git a/metadata/md5-cache/chromeos-base/hps-firmware-0.1.0-r286 b/metadata/md5-cache/chromeos-base/hps-firmware-0.1.0-r286
deleted file mode 100644
index d1b744c..0000000
--- a/metadata/md5-cache/chromeos-base/hps-firmware-0.1.0-r286
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-embedded/hps-sdk dev-rust/svd2rust >=sci-electronics/litespi-2021.12_p20220215 sci-electronics/litex >=sci-electronics/nextpnr-0.1_p20220210 sci-electronics/nmigen sci-electronics/prjoxide sci-electronics/pythondata-cpu-vexriscv sci-electronics/yosys dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/anyhow-1.0.38:= <dev-rust/anyhow-2.0.0 >=dev-rust/bayer-0.1.5 <dev-rust/bayer-0.2.0_alpha:= =dev-rust/bindgen-0.59* >=dev-rust/bitflags-1.3.2:= <dev-rust/bitflags-2.0.0 =dev-rust/clap-3*:= =dev-rust/colored-2*:= >=dev-rust/cortex-m-0.6.2:= <dev-rust/cortex-m-0.7.0 >=dev-rust/cortex-m-rt-0.6.13:= <dev-rust/cortex-m-rt-0.7.0 >=dev-rust/cortex-m-rtic-0.5.5:= <dev-rust/cortex-m-rtic-0.6.0 =dev-rust/crc-2*:= >=dev-rust/defmt-0.2.1:= <dev-rust/defmt-0.3.0 =dev-rust/defmt-rtt-0.2*:= =dev-rust/ed25519-compact-1*:= >=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0 =dev-rust/embedded-hal-mock-0.8*:= >=dev-rust/hmac-sha256-0.1.6:= <dev-rust/hmac-sha256-0.2.0 >=dev-rust/image-0.23.14:= <dev-rust/image-0.24 >=dev-rust/linux-embedded-hal-0.3.1:= <dev-rust/linux-embedded-hal-0.4 >=dev-rust/num_enum-0.5.1:= <dev-rust/num_enum-0.6.0 =dev-rust/nb-1*:= =dev-rust/panic-halt-0.2*:= =dev-rust/panic-reset-0.1*:= =dev-rust/riscv-0.7*:= =dev-rust/riscv-rt-0.8*:= >=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9 =dev-rust/rustyline-9*:= >=dev-rust/serialport-4.0.1:= <dev-rust/serialport-5 >=dev-rust/spi-memory-0.2.0:= <dev-rust/spi-memory-0.3.0 =dev-rust/stm32g0xx-hal-0.1*:= =dev-rust/ufmt-0.1*:= =dev-rust/ufmt-write-0.1*:= >=dev-rust/panic-rtt-target-0.1.2:= <dev-rust/panic-rtt-target-0.2.0 >=dev-rust/rtt-target-0.3.1:= <dev-rust/rtt-target-0.4.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=HPS firmware and tooling
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/hps-firmware
-IUSE=cros_host cros_workon_tree_de9d95a683e7775ccb25df983231ed1523154494 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=!<chromeos-base/hps-firmware-images-0.0.1-r17
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r286
-SRC_URI=https://github.com/riscv-collab/riscv-gnu-toolchain/archive/refs/tags/2021.04.23.tar.gz -> riscv-gnu-toolchain-2021.04.23.tar.gz https://github.com/riscv-collab/riscv-binutils-gdb/archive/f35674005e609660f5f45005a9e095541ca4c5fe.tar.gz -> riscv-binutils-gdb-f35674005e609660f5f45005a9e095541ca4c5fe.tar.gz https://github.com/riscv-collab/riscv-gcc/archive/03cb20e5433cd8e65af6a1a6baaf3fe4c72785f6.tar.gz -> riscv-gcc-03cb20e5433cd8e65af6a1a6baaf3fe4c72785f6.tar.gz ftp://sourceware.org/pub/newlib/newlib-4.1.0.tar.gz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=b09d809ef6b024da70daa45adf76ba74
diff --git a/metadata/md5-cache/chromeos-base/hps-firmware-0.1.0-r414 b/metadata/md5-cache/chromeos-base/hps-firmware-0.1.0-r414
new file mode 100644
index 0000000..e14d5bf
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/hps-firmware-0.1.0-r414
@@ -0,0 +1,15 @@
+BDEPEND=chromeos-base/hps-sign-rom dev-embedded/hps-sdk dev-rust/svd2rust sci-electronics/amaranth >=sci-electronics/nextpnr-0.1_p20220210 sci-electronics/prjoxide sci-electronics/yosys sci-electronics/yosys-f4pga-plugins || ( ( dev-lang/python:3.9 sci-electronics/litespi[python_targets_python3_9(-),python_single_target_python3_9(+)] sci-electronics/litex[python_targets_python3_9(-),python_single_target_python3_9(+)] sci-electronics/pythondata-cpu-vexriscv[python_targets_python3_9(-),python_single_target_python3_9(+)] ) ( dev-lang/python:3.8 sci-electronics/litespi[python_targets_python3_8(-),python_single_target_python3_8(+)] sci-electronics/litex[python_targets_python3_8(-),python_single_target_python3_8(+)] sci-electronics/pythondata-cpu-vexriscv[python_targets_python3_8(-),python_single_target_python3_8(+)] ) ( dev-lang/python:3.7 sci-electronics/litespi[python_targets_python3_7(-),python_single_target_python3_7(+)] sci-electronics/litex[python_targets_python3_7(-),python_single_target_python3_7(+)] sci-electronics/pythondata-cpu-vexriscv[python_targets_python3_7(-),python_single_target_python3_7(+)] ) ( dev-lang/python:3.6 sci-electronics/litespi[python_targets_python3_6(-),python_single_target_python3_6(+)] sci-electronics/litex[python_targets_python3_6(-),python_single_target_python3_6(+)] sci-electronics/pythondata-cpu-vexriscv[python_targets_python3_6(-),python_single_target_python3_6(+)] ) ) dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/anyhow-1.0.38:= <dev-rust/anyhow-2.0.0 >=dev-rust/bayer-0.1.5 <dev-rust/bayer-0.2.0_alpha:= =dev-rust/bindgen-0.59* >=dev-rust/bitflags-1.3.2:= <dev-rust/bitflags-2.0.0 =dev-rust/clap-3.0.0_beta2:= =dev-rust/colored-2*:= >=dev-rust/cortex-m-0.6.2:= <dev-rust/cortex-m-0.7.0 >=dev-rust/cortex-m-rt-0.6.13:= <dev-rust/cortex-m-rt-0.7.0 >=dev-rust/cortex-m-rtic-1.1.3:= <dev-rust/cortex-m-rtic-2.0.0 =dev-rust/crc-2*:= >=dev-rust/defmt-0.2.1:= <dev-rust/defmt-0.3.0 =dev-rust/defmt-rtt-0.2*:= =dev-rust/ed25519-compact-1*:= >=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0 =dev-rust/embedded-hal-mock-0.8*:= >=dev-rust/hmac-sha256-0.1.6:= <dev-rust/hmac-sha256-0.2.0 >=dev-rust/image-0.23.14:= <dev-rust/image-0.24 >=dev-rust/indicatif-0.16.2:= <dev-rust/indicatif-0.17 >=dev-rust/linux-embedded-hal-0.3.1:= <dev-rust/linux-embedded-hal-0.4 >=dev-rust/log-0.4.14:= <dev-rust/log-0.5 >=dev-rust/num_enum-0.5.1:= <dev-rust/num_enum-0.6.0 =dev-rust/nb-1*:= =dev-rust/panic-halt-0.2*:= =dev-rust/panic-reset-0.1*:= =dev-rust/riscv-0.7*:= =dev-rust/riscv-rt-0.8*:= >=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9 =dev-rust/rustyline-9*:= >=dev-rust/simple_logger-1.13.0:= <dev-rust/simple_logger-2 >=dev-rust/spi-memory-0.2.0:= <dev-rust/spi-memory-0.3.0 =dev-rust/stm32g0xx-hal-0.1*:= =dev-rust/ufmt-0.1*:= =dev-rust/ufmt-write-0.1*:= >=dev-rust/panic-rtt-target-0.1.2:= <dev-rust/panic-rtt-target-0.2.0 >=dev-rust/rtt-target-0.3.1:= <dev-rust/rtt-target-0.4.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=HPS firmware and tooling
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/hps-firmware
+IUSE=cros_host cros_workon_tree_fb710f2e0908c3029361faef0d4897ab303db6dd cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=!<chromeos-base/hps-firmware-images-0.0.1-r17 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r414
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=20e367e179ee09fc3588afc22b97d825
diff --git a/metadata/md5-cache/chromeos-base/hps-firmware-9999 b/metadata/md5-cache/chromeos-base/hps-firmware-9999
index 481d985..c91b3fd 100644
--- a/metadata/md5-cache/chromeos-base/hps-firmware-9999
+++ b/metadata/md5-cache/chromeos-base/hps-firmware-9999
@@ -1,16 +1,15 @@
-BDEPEND=dev-embedded/hps-sdk dev-rust/svd2rust >=sci-electronics/litespi-2021.12_p20220215 sci-electronics/litex >=sci-electronics/nextpnr-0.1_p20220210 sci-electronics/nmigen sci-electronics/prjoxide sci-electronics/pythondata-cpu-vexriscv sci-electronics/yosys dev-vcs/git
+BDEPEND=chromeos-base/hps-sign-rom dev-embedded/hps-sdk dev-rust/svd2rust sci-electronics/amaranth >=sci-electronics/nextpnr-0.1_p20220210 sci-electronics/prjoxide sci-electronics/yosys sci-electronics/yosys-f4pga-plugins || ( ( dev-lang/python:3.9 sci-electronics/litespi[python_targets_python3_9(-),python_single_target_python3_9(+)] sci-electronics/litex[python_targets_python3_9(-),python_single_target_python3_9(+)] sci-electronics/pythondata-cpu-vexriscv[python_targets_python3_9(-),python_single_target_python3_9(+)] ) ( dev-lang/python:3.8 sci-electronics/litespi[python_targets_python3_8(-),python_single_target_python3_8(+)] sci-electronics/litex[python_targets_python3_8(-),python_single_target_python3_8(+)] sci-electronics/pythondata-cpu-vexriscv[python_targets_python3_8(-),python_single_target_python3_8(+)] ) ( dev-lang/python:3.7 sci-electronics/litespi[python_targets_python3_7(-),python_single_target_python3_7(+)] sci-electronics/litex[python_targets_python3_7(-),python_single_target_python3_7(+)] sci-electronics/pythondata-cpu-vexriscv[python_targets_python3_7(-),python_single_target_python3_7(+)] ) ( dev-lang/python:3.6 sci-electronics/litespi[python_targets_python3_6(-),python_single_target_python3_6(+)] sci-electronics/litex[python_targets_python3_6(-),python_single_target_python3_6(+)] sci-electronics/pythondata-cpu-vexriscv[python_targets_python3_6(-),python_single_target_python3_6(+)] ) ) dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/anyhow-1.0.38:= <dev-rust/anyhow-2.0.0 >=dev-rust/bayer-0.1.5 <dev-rust/bayer-0.2.0_alpha:= =dev-rust/bindgen-0.59* >=dev-rust/bitflags-1.3.2:= <dev-rust/bitflags-2.0.0 =dev-rust/clap-3*:= =dev-rust/colored-2*:= >=dev-rust/cortex-m-0.6.2:= <dev-rust/cortex-m-0.7.0 >=dev-rust/cortex-m-rt-0.6.13:= <dev-rust/cortex-m-rt-0.7.0 >=dev-rust/cortex-m-rtic-0.5.5:= <dev-rust/cortex-m-rtic-0.6.0 =dev-rust/crc-2*:= >=dev-rust/defmt-0.2.1:= <dev-rust/defmt-0.3.0 =dev-rust/defmt-rtt-0.2*:= =dev-rust/ed25519-compact-1*:= >=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0 =dev-rust/embedded-hal-mock-0.8*:= >=dev-rust/hmac-sha256-0.1.6:= <dev-rust/hmac-sha256-0.2.0 >=dev-rust/image-0.23.14:= <dev-rust/image-0.24 >=dev-rust/linux-embedded-hal-0.3.1:= <dev-rust/linux-embedded-hal-0.4 >=dev-rust/num_enum-0.5.1:= <dev-rust/num_enum-0.6.0 =dev-rust/nb-1*:= =dev-rust/panic-halt-0.2*:= =dev-rust/panic-reset-0.1*:= =dev-rust/riscv-0.7*:= =dev-rust/riscv-rt-0.8*:= >=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9 =dev-rust/rustyline-9*:= >=dev-rust/serialport-4.0.1:= <dev-rust/serialport-5 >=dev-rust/spi-memory-0.2.0:= <dev-rust/spi-memory-0.3.0 =dev-rust/stm32g0xx-hal-0.1*:= =dev-rust/ufmt-0.1*:= =dev-rust/ufmt-write-0.1*:= >=dev-rust/panic-rtt-target-0.1.2:= <dev-rust/panic-rtt-target-0.2.0 >=dev-rust/rtt-target-0.3.1:= <dev-rust/rtt-target-0.4.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/anyhow-1.0.38:= <dev-rust/anyhow-2.0.0 >=dev-rust/bayer-0.1.5 <dev-rust/bayer-0.2.0_alpha:= =dev-rust/bindgen-0.59* >=dev-rust/bitflags-1.3.2:= <dev-rust/bitflags-2.0.0 =dev-rust/clap-3.0.0_beta2:= =dev-rust/colored-2*:= >=dev-rust/cortex-m-0.6.2:= <dev-rust/cortex-m-0.7.0 >=dev-rust/cortex-m-rt-0.6.13:= <dev-rust/cortex-m-rt-0.7.0 >=dev-rust/cortex-m-rtic-1.1.3:= <dev-rust/cortex-m-rtic-2.0.0 =dev-rust/crc-2*:= >=dev-rust/defmt-0.2.1:= <dev-rust/defmt-0.3.0 =dev-rust/defmt-rtt-0.2*:= =dev-rust/ed25519-compact-1*:= >=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0 =dev-rust/embedded-hal-mock-0.8*:= >=dev-rust/hmac-sha256-0.1.6:= <dev-rust/hmac-sha256-0.2.0 >=dev-rust/image-0.23.14:= <dev-rust/image-0.24 >=dev-rust/indicatif-0.16.2:= <dev-rust/indicatif-0.17 >=dev-rust/linux-embedded-hal-0.3.1:= <dev-rust/linux-embedded-hal-0.4 >=dev-rust/log-0.4.14:= <dev-rust/log-0.5 >=dev-rust/num_enum-0.5.1:= <dev-rust/num_enum-0.6.0 =dev-rust/nb-1*:= =dev-rust/panic-halt-0.2*:= =dev-rust/panic-reset-0.1*:= =dev-rust/riscv-0.7*:= =dev-rust/riscv-rt-0.8*:= >=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9 =dev-rust/rustyline-9*:= >=dev-rust/simple_logger-1.13.0:= <dev-rust/simple_logger-2 >=dev-rust/spi-memory-0.2.0:= <dev-rust/spi-memory-0.3.0 =dev-rust/stm32g0xx-hal-0.1*:= =dev-rust/ufmt-0.1*:= =dev-rust/ufmt-write-0.1*:= >=dev-rust/panic-rtt-target-0.1.2:= <dev-rust/panic-rtt-target-0.2.0 >=dev-rust/rtt-target-0.3.1:= <dev-rust/rtt-target-0.4.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=HPS firmware and tooling
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/hps-firmware
-IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=!<chromeos-base/hps-firmware-images-0.0.1-r17
+RDEPEND=!<chromeos-base/hps-firmware-images-0.0.1-r17 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-SRC_URI=https://github.com/riscv-collab/riscv-gnu-toolchain/archive/refs/tags/2021.04.23.tar.gz -> riscv-gnu-toolchain-2021.04.23.tar.gz https://github.com/riscv-collab/riscv-binutils-gdb/archive/f35674005e609660f5f45005a9e095541ca4c5fe.tar.gz -> riscv-binutils-gdb-f35674005e609660f5f45005a9e095541ca4c5fe.tar.gz https://github.com/riscv-collab/riscv-gcc/archive/03cb20e5433cd8e65af6a1a6baaf3fe4c72785f6.tar.gz -> riscv-gcc-03cb20e5433cd8e65af6a1a6baaf3fe4c72785f6.tar.gz ftp://sourceware.org/pub/newlib/newlib-4.1.0.tar.gz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ba93f37da4ba3b7872721544b1bdec1d
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=04e9b425ac0b4007600bc9ac9489ca76
diff --git a/metadata/md5-cache/chromeos-base/hps-firmware-images-0.0.1-r19 b/metadata/md5-cache/chromeos-base/hps-firmware-images-0.0.1-r19
deleted file mode 100644
index f3dab08..0000000
--- a/metadata/md5-cache/chromeos-base/hps-firmware-images-0.0.1-r19
+++ /dev/null
@@ -1,12 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install setup unpack
-DESCRIPTION=Chrome OS HPS firmware
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/hps-firmware-images/+/HEAD
-IUSE=cros_host cros_workon_tree_4c623ad83bb42ce52ae0fa54630da22ad319b1d8
-KEYWORDS=*
-LICENSE=BSD-Google BSD-2 Apache-2.0 MIT 0BSD BSD ISC
-PROPERTIES=live
-SLOT=0/0.0.1-r19
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=3f2189bfd5a51d719721368832dad16d
diff --git a/metadata/md5-cache/chromeos-base/hps-firmware-images-0.0.1-r40 b/metadata/md5-cache/chromeos-base/hps-firmware-images-0.0.1-r40
new file mode 100644
index 0000000..18b02ca
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/hps-firmware-images-0.0.1-r40
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Chrome OS HPS firmware
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/hps-firmware-images/+/HEAD
+IUSE=cros_host cros_workon_tree_7113c8558041fad75b61ed7f430dfc96090943b2
+KEYWORDS=*
+LICENSE=BSD-Google BSD-2 Apache-2.0 MIT 0BSD BSD ISC
+PROPERTIES=live
+RDEPEND=!<chromeos-base/hps-firmware-0.1.0-r296
+SLOT=0/0.0.1-r40
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=da7ac98a017fe4a4feb6e022c6c88740
diff --git a/metadata/md5-cache/chromeos-base/hps-firmware-images-9999 b/metadata/md5-cache/chromeos-base/hps-firmware-images-9999
index 7e57ba1..3d66989 100644
--- a/metadata/md5-cache/chromeos-base/hps-firmware-images-9999
+++ b/metadata/md5-cache/chromeos-base/hps-firmware-images-9999
@@ -7,6 +7,7 @@
 KEYWORDS=~*
 LICENSE=BSD-Google BSD-2 Apache-2.0 MIT 0BSD BSD ISC
 PROPERTIES=live
+RDEPEND=!<chromeos-base/hps-firmware-0.1.0-r296
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=f020c27e4d4c299c38483964861860f1
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3ad72a7e3817f96f2ca1a49d0c4026ed
diff --git a/metadata/md5-cache/chromeos-base/hps-firmware-tools-0.0.1-r169 b/metadata/md5-cache/chromeos-base/hps-firmware-tools-0.0.1-r169
new file mode 100644
index 0000000..1f4658f
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/hps-firmware-tools-0.0.1-r169
@@ -0,0 +1,15 @@
+BDEPEND=dev-embedded/hps-sdk dev-rust/svd2rust >=sci-electronics/nextpnr-0.1_p20220210 sci-electronics/nmigen sci-electronics/prjoxide sci-electronics/yosys sci-electronics/yosys-f4pga-plugins || ( ( dev-lang/python:3.9 sci-electronics/litespi[python_targets_python3_9(-),python_single_target_python3_9(+)] sci-electronics/litex[python_targets_python3_9(-),python_single_target_python3_9(+)] sci-electronics/pythondata-cpu-vexriscv[python_targets_python3_9(-),python_single_target_python3_9(+)] ) ( dev-lang/python:3.8 sci-electronics/litespi[python_targets_python3_8(-),python_single_target_python3_8(+)] sci-electronics/litex[python_targets_python3_8(-),python_single_target_python3_8(+)] sci-electronics/pythondata-cpu-vexriscv[python_targets_python3_8(-),python_single_target_python3_8(+)] ) ( dev-lang/python:3.7 sci-electronics/litespi[python_targets_python3_7(-),python_single_target_python3_7(+)] sci-electronics/litex[python_targets_python3_7(-),python_single_target_python3_7(+)] sci-electronics/pythondata-cpu-vexriscv[python_targets_python3_7(-),python_single_target_python3_7(+)] ) ( dev-lang/python:3.6 sci-electronics/litespi[python_targets_python3_6(-),python_single_target_python3_6(+)] sci-electronics/litex[python_targets_python3_6(-),python_single_target_python3_6(+)] sci-electronics/pythondata-cpu-vexriscv[python_targets_python3_6(-),python_single_target_python3_6(+)] ) ) dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/anyhow-1.0.38:= <dev-rust/anyhow-2.0.0 >=dev-rust/bayer-0.1.5 <dev-rust/bayer-0.2.0_alpha:= =dev-rust/bindgen-0.59* >=dev-rust/bitflags-1.3.2:= <dev-rust/bitflags-2.0.0 =dev-rust/clap-3.0.0_beta2:= =dev-rust/colored-2*:= >=dev-rust/cortex-m-0.7.1:= <dev-rust/cortex-m-0.8.0 >=dev-rust/cortex-m-rt-0.6.13:= <dev-rust/cortex-m-rt-0.7.0 >=dev-rust/cortex-m-rtic-1.1.3:= <dev-rust/cortex-m-rtic-2.0.0 =dev-rust/crc-2*:= >=dev-rust/defmt-0.2.1:= <dev-rust/defmt-0.3.0 =dev-rust/defmt-rtt-0.2*:= =dev-rust/ed25519-compact-1*:= >=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0 =dev-rust/embedded-hal-mock-0.8*:= >=dev-rust/hmac-sha256-0.1.6:= <dev-rust/hmac-sha256-0.2.0 >=dev-rust/image-0.23.14:= <dev-rust/image-0.24 >=dev-rust/indicatif-0.16.2:= <dev-rust/indicatif-0.17 >=dev-rust/linux-embedded-hal-0.3.1:= <dev-rust/linux-embedded-hal-0.4 >=dev-rust/log-0.4.14:= <dev-rust/log-0.5 >=dev-rust/num_enum-0.5.1:= <dev-rust/num_enum-0.6.0 =dev-rust/nb-1*:= =dev-rust/panic-halt-0.2*:= =dev-rust/panic-reset-0.1*:= =dev-rust/riscv-0.7*:= =dev-rust/riscv-rt-0.8*:= >=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9 =dev-rust/rustyline-9*:= >=dev-rust/simple_logger-1.13.0:= <dev-rust/simple_logger-2 >=dev-rust/spi-memory-0.2.0:= <dev-rust/spi-memory-0.3.0 =dev-rust/stm32g0xx-hal-0.1*:= =dev-rust/ufmt-0.1*:= =dev-rust/ufmt-write-0.1*:= >=dev-rust/panic-rtt-target-0.1.2:= <dev-rust/panic-rtt-target-0.2.0 >=dev-rust/rtt-target-0.3.1:= <dev-rust/rtt-target-0.4.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=HPS firmware tools for development and testing
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/hps-firmware
+IUSE=cros_host cros_workon_tree_fb710f2e0908c3029361faef0d4897ab303db6dd cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=!<chromeos-base/hps-firmware-0.1.0-r244 !<chromeos-base/hps-firmware-images-0.0.1-r28 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.0.1-r169
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d5ceb7bef2d02ed020bf1a1fc1340b5e
diff --git a/metadata/md5-cache/chromeos-base/hps-firmware-tools-0.0.1-r44 b/metadata/md5-cache/chromeos-base/hps-firmware-tools-0.0.1-r44
deleted file mode 100644
index 4e1574b..0000000
--- a/metadata/md5-cache/chromeos-base/hps-firmware-tools-0.0.1-r44
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/anyhow-1.0.38:= <dev-rust/anyhow-2.0.0 >=dev-rust/bayer-0.1.5 <dev-rust/bayer-0.2.0_alpha:= =dev-rust/bindgen-0.59* >=dev-rust/bitflags-1.3.2:= <dev-rust/bitflags-2.0.0 =dev-rust/clap-3*:= =dev-rust/colored-2*:= >=dev-rust/cortex-m-0.7.1:= <dev-rust/cortex-m-0.8.0 >=dev-rust/cortex-m-rt-0.6.13:= <dev-rust/cortex-m-rt-0.7.0 >=dev-rust/cortex-m-rtic-0.5.5:= <dev-rust/cortex-m-rtic-0.6.0 =dev-rust/crc-2*:= >=dev-rust/defmt-0.2.1:= <dev-rust/defmt-0.3.0 =dev-rust/defmt-rtt-0.2*:= =dev-rust/ed25519-compact-1*:= >=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0 =dev-rust/embedded-hal-mock-0.8*:= >=dev-rust/hmac-sha256-0.1.6:= <dev-rust/hmac-sha256-0.2.0 >=dev-rust/image-0.23.14:= <dev-rust/image-0.24 >=dev-rust/linux-embedded-hal-0.3.1:= <dev-rust/linux-embedded-hal-0.4 >=dev-rust/num_enum-0.5.1:= <dev-rust/num_enum-0.6.0 =dev-rust/nb-1*:= =dev-rust/panic-halt-0.2*:= =dev-rust/panic-reset-0.1*:= =dev-rust/riscv-0.7*:= =dev-rust/riscv-rt-0.8*:= >=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9 =dev-rust/rustyline-9*:= >=dev-rust/serialport-4.0.1:= <dev-rust/serialport-5 >=dev-rust/spi-memory-0.2.0:= <dev-rust/spi-memory-0.3.0 =dev-rust/stm32g0xx-hal-0.1*:= =dev-rust/ufmt-0.1*:= =dev-rust/ufmt-write-0.1*:= >=dev-rust/panic-rtt-target-0.1.2:= <dev-rust/panic-rtt-target-0.2.0 >=dev-rust/rtt-target-0.3.1:= <dev-rust/rtt-target-0.4.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=HPS firmware tools for development and testing
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/hps-firmware
-IUSE=cros_host cros_workon_tree_de9d95a683e7775ccb25df983231ed1523154494 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=!<chromeos-base/hps-firmware-0.1.0-r244
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.0.1-r44
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=fd6f20050cfcd5ec664cb5129904df3a
diff --git a/metadata/md5-cache/chromeos-base/hps-firmware-tools-9999 b/metadata/md5-cache/chromeos-base/hps-firmware-tools-9999
index db20af8..a3c6651 100644
--- a/metadata/md5-cache/chromeos-base/hps-firmware-tools-9999
+++ b/metadata/md5-cache/chromeos-base/hps-firmware-tools-9999
@@ -1,15 +1,15 @@
-BDEPEND=dev-vcs/git
+BDEPEND=dev-embedded/hps-sdk dev-rust/svd2rust >=sci-electronics/nextpnr-0.1_p20220210 sci-electronics/nmigen sci-electronics/prjoxide sci-electronics/yosys sci-electronics/yosys-f4pga-plugins || ( ( dev-lang/python:3.9 sci-electronics/litespi[python_targets_python3_9(-),python_single_target_python3_9(+)] sci-electronics/litex[python_targets_python3_9(-),python_single_target_python3_9(+)] sci-electronics/pythondata-cpu-vexriscv[python_targets_python3_9(-),python_single_target_python3_9(+)] ) ( dev-lang/python:3.8 sci-electronics/litespi[python_targets_python3_8(-),python_single_target_python3_8(+)] sci-electronics/litex[python_targets_python3_8(-),python_single_target_python3_8(+)] sci-electronics/pythondata-cpu-vexriscv[python_targets_python3_8(-),python_single_target_python3_8(+)] ) ( dev-lang/python:3.7 sci-electronics/litespi[python_targets_python3_7(-),python_single_target_python3_7(+)] sci-electronics/litex[python_targets_python3_7(-),python_single_target_python3_7(+)] sci-electronics/pythondata-cpu-vexriscv[python_targets_python3_7(-),python_single_target_python3_7(+)] ) ( dev-lang/python:3.6 sci-electronics/litespi[python_targets_python3_6(-),python_single_target_python3_6(+)] sci-electronics/litex[python_targets_python3_6(-),python_single_target_python3_6(+)] sci-electronics/pythondata-cpu-vexriscv[python_targets_python3_6(-),python_single_target_python3_6(+)] ) ) dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/anyhow-1.0.38:= <dev-rust/anyhow-2.0.0 >=dev-rust/bayer-0.1.5 <dev-rust/bayer-0.2.0_alpha:= =dev-rust/bindgen-0.59* >=dev-rust/bitflags-1.3.2:= <dev-rust/bitflags-2.0.0 =dev-rust/clap-3*:= =dev-rust/colored-2*:= >=dev-rust/cortex-m-0.7.1:= <dev-rust/cortex-m-0.8.0 >=dev-rust/cortex-m-rt-0.6.13:= <dev-rust/cortex-m-rt-0.7.0 >=dev-rust/cortex-m-rtic-0.5.5:= <dev-rust/cortex-m-rtic-0.6.0 =dev-rust/crc-2*:= >=dev-rust/defmt-0.2.1:= <dev-rust/defmt-0.3.0 =dev-rust/defmt-rtt-0.2*:= =dev-rust/ed25519-compact-1*:= >=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0 =dev-rust/embedded-hal-mock-0.8*:= >=dev-rust/hmac-sha256-0.1.6:= <dev-rust/hmac-sha256-0.2.0 >=dev-rust/image-0.23.14:= <dev-rust/image-0.24 >=dev-rust/linux-embedded-hal-0.3.1:= <dev-rust/linux-embedded-hal-0.4 >=dev-rust/num_enum-0.5.1:= <dev-rust/num_enum-0.6.0 =dev-rust/nb-1*:= =dev-rust/panic-halt-0.2*:= =dev-rust/panic-reset-0.1*:= =dev-rust/riscv-0.7*:= =dev-rust/riscv-rt-0.8*:= >=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9 =dev-rust/rustyline-9*:= >=dev-rust/serialport-4.0.1:= <dev-rust/serialport-5 >=dev-rust/spi-memory-0.2.0:= <dev-rust/spi-memory-0.3.0 =dev-rust/stm32g0xx-hal-0.1*:= =dev-rust/ufmt-0.1*:= =dev-rust/ufmt-write-0.1*:= >=dev-rust/panic-rtt-target-0.1.2:= <dev-rust/panic-rtt-target-0.2.0 >=dev-rust/rtt-target-0.3.1:= <dev-rust/rtt-target-0.4.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/anyhow-1.0.38:= <dev-rust/anyhow-2.0.0 >=dev-rust/bayer-0.1.5 <dev-rust/bayer-0.2.0_alpha:= =dev-rust/bindgen-0.59* >=dev-rust/bitflags-1.3.2:= <dev-rust/bitflags-2.0.0 =dev-rust/clap-3.0.0_beta2:= =dev-rust/colored-2*:= >=dev-rust/cortex-m-0.7.1:= <dev-rust/cortex-m-0.8.0 >=dev-rust/cortex-m-rt-0.6.13:= <dev-rust/cortex-m-rt-0.7.0 >=dev-rust/cortex-m-rtic-1.1.3:= <dev-rust/cortex-m-rtic-2.0.0 =dev-rust/crc-2*:= >=dev-rust/defmt-0.2.1:= <dev-rust/defmt-0.3.0 =dev-rust/defmt-rtt-0.2*:= =dev-rust/ed25519-compact-1*:= >=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0 =dev-rust/embedded-hal-mock-0.8*:= >=dev-rust/hmac-sha256-0.1.6:= <dev-rust/hmac-sha256-0.2.0 >=dev-rust/image-0.23.14:= <dev-rust/image-0.24 >=dev-rust/indicatif-0.16.2:= <dev-rust/indicatif-0.17 >=dev-rust/linux-embedded-hal-0.3.1:= <dev-rust/linux-embedded-hal-0.4 >=dev-rust/log-0.4.14:= <dev-rust/log-0.5 >=dev-rust/num_enum-0.5.1:= <dev-rust/num_enum-0.6.0 =dev-rust/nb-1*:= =dev-rust/panic-halt-0.2*:= =dev-rust/panic-reset-0.1*:= =dev-rust/riscv-0.7*:= =dev-rust/riscv-rt-0.8*:= >=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9 =dev-rust/rustyline-9*:= >=dev-rust/simple_logger-1.13.0:= <dev-rust/simple_logger-2 >=dev-rust/spi-memory-0.2.0:= <dev-rust/spi-memory-0.3.0 =dev-rust/stm32g0xx-hal-0.1*:= =dev-rust/ufmt-0.1*:= =dev-rust/ufmt-write-0.1*:= >=dev-rust/panic-rtt-target-0.1.2:= <dev-rust/panic-rtt-target-0.2.0 >=dev-rust/rtt-target-0.3.1:= <dev-rust/rtt-target-0.4.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=HPS firmware tools for development and testing
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/hps-firmware
-IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=!<chromeos-base/hps-firmware-0.1.0-r244
+RDEPEND=!<chromeos-base/hps-firmware-0.1.0-r244 !<chromeos-base/hps-firmware-images-0.0.1-r28 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=8e4ebeae1f188c5b2383d73b7f930b06
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=83cbe23cbc6a26a00cb131799c7a9f22
diff --git a/metadata/md5-cache/chromeos-base/hps-sign-rom-0.1.0-r28 b/metadata/md5-cache/chromeos-base/hps-sign-rom-0.1.0-r28
new file mode 100644
index 0000000..55210be
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/hps-sign-rom-0.1.0-r28
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/anyhow-1.0.38:= <dev-rust/anyhow-2.0.0 >=dev-rust/bayer-0.1.5 <dev-rust/bayer-0.2.0_alpha:= =dev-rust/bindgen-0.59* >=dev-rust/bitflags-1.3.2:= <dev-rust/bitflags-2.0.0 =dev-rust/clap-3.0.0_beta2:= =dev-rust/colored-2*:= >=dev-rust/cortex-m-0.6.2:= <dev-rust/cortex-m-0.7.0 >=dev-rust/cortex-m-rt-0.6.13:= <dev-rust/cortex-m-rt-0.7.0 >=dev-rust/cortex-m-rtic-1.1.3:= <dev-rust/cortex-m-rtic-2.0.0 =dev-rust/crc-2*:= >=dev-rust/defmt-0.2.1:= <dev-rust/defmt-0.3.0 =dev-rust/defmt-rtt-0.2*:= =dev-rust/ed25519-compact-1*:= >=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0 =dev-rust/embedded-hal-mock-0.8*:= >=dev-rust/hmac-sha256-0.1.6:= <dev-rust/hmac-sha256-0.2.0 >=dev-rust/image-0.23.14:= <dev-rust/image-0.24 >=dev-rust/indicatif-0.16.2:= <dev-rust/indicatif-0.17 >=dev-rust/linux-embedded-hal-0.3.1:= <dev-rust/linux-embedded-hal-0.4 >=dev-rust/log-0.4.14:= <dev-rust/log-0.5 >=dev-rust/num_enum-0.5.1:= <dev-rust/num_enum-0.6.0 =dev-rust/nb-1*:= =dev-rust/panic-halt-0.2*:= =dev-rust/panic-reset-0.1*:= =dev-rust/riscv-0.7*:= =dev-rust/riscv-rt-0.8*:= >=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9 =dev-rust/rustyline-9*:= >=dev-rust/simple_logger-1.13.0:= <dev-rust/simple_logger-2 >=dev-rust/spi-memory-0.2.0:= <dev-rust/spi-memory-0.3.0 =dev-rust/stm32g0xx-hal-0.1*:= =dev-rust/ufmt-0.1*:= =dev-rust/ufmt-write-0.1*:= >=dev-rust/panic-rtt-target-0.1.2:= <dev-rust/panic-rtt-target-0.2.0 >=dev-rust/rtt-target-0.3.1:= <dev-rust/rtt-target-0.4.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Tool to sign HPS firmware
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/hps-firmware
+IUSE=cros_host cros_workon_tree_fb710f2e0908c3029361faef0d4897ab303db6dd cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=!<chromeos-base/hps-firmware-tools-0.0.1-r141 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r28
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ba77fb62c45dbe811371e4bf7816c48e
diff --git a/metadata/md5-cache/chromeos-base/hps-sign-rom-9999 b/metadata/md5-cache/chromeos-base/hps-sign-rom-9999
new file mode 100644
index 0000000..49e0653
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/hps-sign-rom-9999
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/anyhow-1.0.38:= <dev-rust/anyhow-2.0.0 >=dev-rust/bayer-0.1.5 <dev-rust/bayer-0.2.0_alpha:= =dev-rust/bindgen-0.59* >=dev-rust/bitflags-1.3.2:= <dev-rust/bitflags-2.0.0 =dev-rust/clap-3.0.0_beta2:= =dev-rust/colored-2*:= >=dev-rust/cortex-m-0.6.2:= <dev-rust/cortex-m-0.7.0 >=dev-rust/cortex-m-rt-0.6.13:= <dev-rust/cortex-m-rt-0.7.0 >=dev-rust/cortex-m-rtic-1.1.3:= <dev-rust/cortex-m-rtic-2.0.0 =dev-rust/crc-2*:= >=dev-rust/defmt-0.2.1:= <dev-rust/defmt-0.3.0 =dev-rust/defmt-rtt-0.2*:= =dev-rust/ed25519-compact-1*:= >=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0 =dev-rust/embedded-hal-mock-0.8*:= >=dev-rust/hmac-sha256-0.1.6:= <dev-rust/hmac-sha256-0.2.0 >=dev-rust/image-0.23.14:= <dev-rust/image-0.24 >=dev-rust/indicatif-0.16.2:= <dev-rust/indicatif-0.17 >=dev-rust/linux-embedded-hal-0.3.1:= <dev-rust/linux-embedded-hal-0.4 >=dev-rust/log-0.4.14:= <dev-rust/log-0.5 >=dev-rust/num_enum-0.5.1:= <dev-rust/num_enum-0.6.0 =dev-rust/nb-1*:= =dev-rust/panic-halt-0.2*:= =dev-rust/panic-reset-0.1*:= =dev-rust/riscv-0.7*:= =dev-rust/riscv-rt-0.8*:= >=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9 =dev-rust/rustyline-9*:= >=dev-rust/simple_logger-1.13.0:= <dev-rust/simple_logger-2 >=dev-rust/spi-memory-0.2.0:= <dev-rust/spi-memory-0.3.0 =dev-rust/stm32g0xx-hal-0.1*:= =dev-rust/ufmt-0.1*:= =dev-rust/ufmt-write-0.1*:= >=dev-rust/panic-rtt-target-0.1.2:= <dev-rust/panic-rtt-target-0.2.0 >=dev-rust/rtt-target-0.3.1:= <dev-rust/rtt-target-0.4.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Tool to sign HPS firmware
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/hps-firmware
+IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=!<chromeos-base/hps-firmware-tools-0.0.1-r141 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/9999
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0ec00ee130e824a0be59979fc7644eab
diff --git a/metadata/md5-cache/chromeos-base/hps-tool-0.0.1-r226 b/metadata/md5-cache/chromeos-base/hps-tool-0.0.1-r226
deleted file mode 100644
index 0c88186..0000000
--- a/metadata/md5-cache/chromeos-base/hps-tool-0.0.1-r226
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/metrics:= virtual/libusb:1 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=HPS utilities and tool
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/main/hps
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_373107fcd9ff3dbb7ab268aebeca33accdf65ed1_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4a0dedab080195bdc122d2289118df4af3ddca2c cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_373107fcd9ff3dbb7ab268aebeca33accdf65ed1_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4a0dedab080195bdc122d2289118df4af3ddca2c cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/metrics:= virtual/libusb:1 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0fcfa74aa52913801864c7111cd716c9
diff --git a/metadata/md5-cache/chromeos-base/hps-tool-0.0.1-r351 b/metadata/md5-cache/chromeos-base/hps-tool-0.0.1-r351
new file mode 100644
index 0000000..6542779
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/hps-tool-0.0.1-r351
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/metrics:= virtual/libusb:1 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=HPS utilities and tool
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/main/hps
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_ddbdbd7f7519a0d8da3e33b0eaf9c5a88dc3084e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_ddbdbd7f7519a0d8da3e33b0eaf9c5a88dc3084e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/metrics:= virtual/libusb:1 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dfe175d1fec4767e3a4e15357ec350d5
diff --git a/metadata/md5-cache/chromeos-base/hps-tool-9999 b/metadata/md5-cache/chromeos-base/hps-tool-9999
index 0ce987e..11e1704 100644
--- a/metadata/md5-cache/chromeos-base/hps-tool-9999
+++ b/metadata/md5-cache/chromeos-base/hps-tool-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/metrics:= virtual/libusb:1 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/metrics:= virtual/libusb:1 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=HPS utilities and tool
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/main/hps
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/metrics:= virtual/libusb:1 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=8ec417706e920ed0243dc58e6e2b9383
diff --git a/metadata/md5-cache/chromeos-base/hpsd-0.0.1-r213 b/metadata/md5-cache/chromeos-base/hpsd-0.0.1-r213
deleted file mode 100644
index 5ffa574..0000000
--- a/metadata/md5-cache/chromeos-base/hpsd-0.0.1-r213
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/metrics:= hpsd-roflash? ( dev-libs/libgpiod ) virtual/libusb:1 chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Chrome OS HPS daemon.
-EAPI=7
-IUSE=hpsd-roflash cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_373107fcd9ff3dbb7ab268aebeca33accdf65ed1_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_373107fcd9ff3dbb7ab268aebeca33accdf65ed1_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/metrics:= hpsd-roflash? ( dev-libs/libgpiod ) virtual/libusb:1 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r213
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=bf83628c61036b05ebffc6c542fdc3de
diff --git a/metadata/md5-cache/chromeos-base/hpsd-0.0.1-r339 b/metadata/md5-cache/chromeos-base/hpsd-0.0.1-r339
new file mode 100644
index 0000000..80f2226
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/hpsd-0.0.1-r339
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/metrics:= virtual/libusb:1 chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Chrome OS HPS daemon.
+EAPI=7
+IUSE=cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_ddbdbd7f7519a0d8da3e33b0eaf9c5a88dc3084e_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_ddbdbd7f7519a0d8da3e33b0eaf9c5a88dc3084e_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/metrics:= virtual/libusb:1 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r339
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=5f8a95d911afbce3653a3ebd49996cf2
diff --git a/metadata/md5-cache/chromeos-base/hpsd-9999 b/metadata/md5-cache/chromeos-base/hpsd-9999
index 648fce4..0dd8311 100644
--- a/metadata/md5-cache/chromeos-base/hpsd-9999
+++ b/metadata/md5-cache/chromeos-base/hpsd-9999
@@ -1,13 +1,13 @@
 BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/metrics:= hpsd-roflash? ( dev-libs/libgpiod ) virtual/libusb:1 chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/metrics:= virtual/libusb:1 chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Chrome OS HPS daemon.
 EAPI=7
-IUSE=hpsd-roflash cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=chromeos-base/metrics:= hpsd-roflash? ( dev-libs/libgpiod ) virtual/libusb:1 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+RDEPEND=chromeos-base/metrics:= virtual/libusb:1 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=3e276ab078cce503ae76a59f7b6903b3
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=f81a3eac4e099c73f6a0b96e52e7c5b7
diff --git a/metadata/md5-cache/chromeos-base/hwid_extractor-0.0.1-r1360 b/metadata/md5-cache/chromeos-base/hwid_extractor-0.0.1-r1360
new file mode 100644
index 0000000..4faa10a
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/hwid_extractor-0.0.1-r1360
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Chrome OS HWID Extractor
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/factory/
+IUSE=cros_host cros_host cros_workon_tree_efc9d7208bf0ffc87de181aca5f5ed6b14a27b2f_a330cffda307faf662807a5e28688533cb922085_5328e03abfd1af165a3a26805d1ff6b213a3ca48_28e022f9ce27e2e0075d8f726856c964d4460dd8_047aec16e03eb36312cc201dc75d33e25ece833d
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/vboot_reference chromeos-base/vpd dev-python/pyserial dev-util/hdctools sys-apps/flashrom
+SLOT=0/0.0.1-r1360
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=cfa3744ecf666ed802aa4f48f6513cc8
diff --git a/metadata/md5-cache/chromeos-base/hwid_extractor-0.0.1-r836 b/metadata/md5-cache/chromeos-base/hwid_extractor-0.0.1-r836
deleted file mode 100644
index 610f197..0000000
--- a/metadata/md5-cache/chromeos-base/hwid_extractor-0.0.1-r836
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install setup unpack
-DESCRIPTION=Chrome OS HWID Extractor
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/factory/
-IUSE=cros_host cros_host cros_workon_tree_6800d1802b6e73248c400a79e98c2d7234dd7515_a58f4c6a970f9c1d926bf95ac3144fd3f0e20fe2_9dc51c42f7c3bc915dba587092317fd6391e1477_559ac58cdfbc906b59b51655ea2fbe6c57faea6e_9a7af1d1341bf696f721159ae6aa221f639b5478
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/vboot_reference chromeos-base/vpd dev-python/pyserial dev-util/hdctools sys-apps/flashrom
-SLOT=0/0.0.1-r836
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c67caf979278cdaebbe2325c19803639
diff --git a/metadata/md5-cache/chromeos-base/hwid_extractor-9999 b/metadata/md5-cache/chromeos-base/hwid_extractor-9999
index 96e67aa..79b1628 100644
--- a/metadata/md5-cache/chromeos-base/hwid_extractor-9999
+++ b/metadata/md5-cache/chromeos-base/hwid_extractor-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/vboot_reference chromeos-base/vpd dev-python/pyserial dev-util/hdctools sys-apps/flashrom
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=b2f3021d1e778ce58ab6668ad451ae61
diff --git a/metadata/md5-cache/chromeos-base/hwsec-test-utils-0.0.1-r367 b/metadata/md5-cache/chromeos-base/hwsec-test-utils-0.0.1-r367
deleted file mode 100644
index 807a3ce..0000000
--- a/metadata/md5-cache/chromeos-base/hwsec-test-utils-0.0.1-r367
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:=[test?] ) chromeos-base/attestation:= chromeos-base/libhwsec-foundation:= chromeos-base/system_api:= dev-libs/openssl:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Hwsec-related test-only features. This package resides in test images only.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/hwsec-test-utils/
-IUSE=test tpm tpm_dynamic tpm2 cros_host cros_workon_tree_3e8ec46db7a894d8f90bf457f66dbe4e3efad0e1_a625767bb59509159091f2ab0b71f8b9b4b2e353_6b093b609ed7d0c59dd0e0b5656c9fe306ad3127_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_b1c7898d3f42051cbba6426c62b35476a8de5b72_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_3e8ec46db7a894d8f90bf457f66dbe4e3efad0e1_a625767bb59509159091f2ab0b71f8b9b4b2e353_6b093b609ed7d0c59dd0e0b5656c9fe306ad3127_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_b1c7898d3f42051cbba6426c62b35476a8de5b72_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
-SLOT=0/0.0.1-r367
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d1fcfa7228a7abd0444db476a4540dcc
diff --git a/metadata/md5-cache/chromeos-base/hwsec-test-utils-0.0.1-r528 b/metadata/md5-cache/chromeos-base/hwsec-test-utils-0.0.1-r528
new file mode 100644
index 0000000..3f6853f
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/hwsec-test-utils-0.0.1-r528
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) chromeos-base/libhwsec:= tpm2? ( chromeos-base/trunks:=[test?] ) chromeos-base/attestation:= chromeos-base/libhwsec-foundation:= chromeos-base/system_api:= dev-libs/openssl:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Hwsec-related test-only features. This package resides in test images only.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hwsec-test-utils/
+IUSE=test tpm tpm_dynamic tpm2 cros_host cros_workon_tree_46debaa1a374952167d5a2ca0bdf36013f053bc3_60fa47aebd6ebfb702012849bd560717fceddcd4_d3dca65ea14d72be7cfe4a01dcee20b783804e56_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_944879c9353c2df8adb7022407a8d319671325c1_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_46debaa1a374952167d5a2ca0bdf36013f053bc3_60fa47aebd6ebfb702012849bd560717fceddcd4_d3dca65ea14d72be7cfe4a01dcee20b783804e56_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_944879c9353c2df8adb7022407a8d319671325c1_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) chromeos-base/libhwsec:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
+SLOT=0/0.0.1-r528
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d94cfc0e5afdc205421d5987e3939cb0
diff --git a/metadata/md5-cache/chromeos-base/hwsec-test-utils-9999 b/metadata/md5-cache/chromeos-base/hwsec-test-utils-9999
index 316260f..da13dff 100644
--- a/metadata/md5-cache/chromeos-base/hwsec-test-utils-9999
+++ b/metadata/md5-cache/chromeos-base/hwsec-test-utils-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) tpm2? ( chromeos-base/trunks:=[test?] ) chromeos-base/attestation:= chromeos-base/libhwsec-foundation:= chromeos-base/system_api:= dev-libs/openssl:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) chromeos-base/libhwsec:= tpm2? ( chromeos-base/trunks:=[test?] ) chromeos-base/attestation:= chromeos-base/libhwsec-foundation:= chromeos-base/system_api:= dev-libs/openssl:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Hwsec-related test-only features. This package resides in test images only.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/hwsec-test-utils/
-IUSE=test tpm tpm_dynamic tpm2 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hwsec-test-utils/
+IUSE=test tpm tpm_dynamic tpm2 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+RDEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) chromeos-base/libhwsec:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=f6edac632c49066c54cbdb36ed0ec31d
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=23c9b91bd1bd2e9693946e43675faa1e
diff --git a/metadata/md5-cache/chromeos-base/hwsec-utils-0.1.0-r2 b/metadata/md5-cache/chromeos-base/hwsec-utils-0.1.0-r2
new file mode 100644
index 0000000..1a58e79
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/hwsec-utils-0.1.0-r2
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Hwsec-related features.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hwsec-utils/
+IUSE=test cr50_onboard cros_host cros_workon_tree_54dc28b2ba07f905cdf8b247981361b1187bfa18 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=cr50_onboard? ( chromeos-base/chromeos-cr50 ) virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r2
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1dd814121c73f54816abefebc6db97cc
diff --git a/metadata/md5-cache/chromeos-base/hwsec-utils-9999 b/metadata/md5-cache/chromeos-base/hwsec-utils-9999
new file mode 100644
index 0000000..f7dc1dd1
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/hwsec-utils-9999
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Hwsec-related features.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/hwsec-utils/
+IUSE=test cr50_onboard cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=cr50_onboard? ( chromeos-base/chromeos-cr50 ) virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/9999
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9b0e9421085b78230a7e1f3f144b2509
diff --git a/metadata/md5-cache/chromeos-base/iioservice-0.0.1-r284 b/metadata/md5-cache/chromeos-base/iioservice-0.0.1-r284
deleted file mode 100644
index 5316bbd..0000000
--- a/metadata/md5-cache/chromeos-base/iioservice-0.0.1-r284
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=!chromeos-base/chromeos-accelerometer-init >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/libiioservice_ipc:= chromeos-base/libmems:= chromeos-base/mems_setup virtual/chromeos-ec-driver-init chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Chrome OS sensor HAL IPC util.
-EAPI=7
-IUSE=+seccomp cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_04d918571ad6d12563589ccf1b8c0e79b65521aa_f09f4711e5043f57c202260d0214f64c0eab5431_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_7b1902bfd171c628068c91fc41e253d0c08df363 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_04d918571ad6d12563589ccf1b8c0e79b65521aa_f09f4711e5043f57c202260d0214f64c0eab5431_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_7b1902bfd171c628068c91fc41e253d0c08df363 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=!chromeos-base/chromeos-accelerometer-init >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/libiioservice_ipc:= chromeos-base/libmems:= chromeos-base/mems_setup virtual/chromeos-ec-driver-init >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r284
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=19d2b56f487c0a76d0f0b7b4f64ba2ac
diff --git a/metadata/md5-cache/chromeos-base/iioservice-0.0.1-r408 b/metadata/md5-cache/chromeos-base/iioservice-0.0.1-r408
new file mode 100644
index 0000000..18a45a4
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/iioservice-0.0.1-r408
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=!chromeos-base/chromeos-accelerometer-init >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/libiioservice_ipc:= chromeos-base/libmems:= chromeos-base/mems_setup virtual/chromeos-ec-driver-init chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Chrome OS sensor HAL IPC util.
+EAPI=7
+IUSE=+seccomp cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_a97bd01dbd0e88c337336d29105ee63b03a4ef9f_4d8f590bd987ed599a906fe078fb08b51c7c7f9c_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_693bb2d63562c6eff050d04f75aab1e9251e6548 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_a97bd01dbd0e88c337336d29105ee63b03a4ef9f_4d8f590bd987ed599a906fe078fb08b51c7c7f9c_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_693bb2d63562c6eff050d04f75aab1e9251e6548 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=!chromeos-base/chromeos-accelerometer-init >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/libiioservice_ipc:= chromeos-base/libmems:= chromeos-base/mems_setup virtual/chromeos-ec-driver-init >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r408
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=c672da52a737f96b9af29b8b74f8e75d
diff --git a/metadata/md5-cache/chromeos-base/iioservice-9999 b/metadata/md5-cache/chromeos-base/iioservice-9999
index 8581837..999957c 100644
--- a/metadata/md5-cache/chromeos-base/iioservice-9999
+++ b/metadata/md5-cache/chromeos-base/iioservice-9999
@@ -1,13 +1,13 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=!chromeos-base/chromeos-accelerometer-init >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/libiioservice_ipc:= chromeos-base/libmems:= chromeos-base/mems_setup virtual/chromeos-ec-driver-init chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=!chromeos-base/chromeos-accelerometer-init >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/libiioservice_ipc:= chromeos-base/libmems:= chromeos-base/mems_setup virtual/chromeos-ec-driver-init chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Chrome OS sensor HAL IPC util.
 EAPI=7
-IUSE=+seccomp cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=+seccomp cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=!chromeos-base/chromeos-accelerometer-init >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/libiioservice_ipc:= chromeos-base/libmems:= chromeos-base/mems_setup virtual/chromeos-ec-driver-init >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
 _md5_=f32549177622a93ce3f46a9c5dd064f5
diff --git a/metadata/md5-cache/chromeos-base/iioservice_simpleclient-0.0.1-r197 b/metadata/md5-cache/chromeos-base/iioservice_simpleclient-0.0.1-r197
deleted file mode 100644
index eb767e8..0000000
--- a/metadata/md5-cache/chromeos-base/iioservice_simpleclient-0.0.1-r197
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libiioservice_ipc:= chromeos-base/libmems:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=A simple client to test iioservice's mojo IPC for Chromium OS.
-EAPI=7
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_04d918571ad6d12563589ccf1b8c0e79b65521aa_f09f4711e5043f57c202260d0214f64c0eab5431_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_04d918571ad6d12563589ccf1b8c0e79b65521aa_f09f4711e5043f57c202260d0214f64c0eab5431_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/libiioservice_ipc:= chromeos-base/libmems:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r197
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c3954958459a8edd3b14f1575e456762
diff --git a/metadata/md5-cache/chromeos-base/iioservice_simpleclient-0.0.1-r284 b/metadata/md5-cache/chromeos-base/iioservice_simpleclient-0.0.1-r284
new file mode 100644
index 0000000..d5a06d40
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/iioservice_simpleclient-0.0.1-r284
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/libiioservice_ipc:= chromeos-base/libmems:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=A simple client to test iioservice's mojo IPC for Chromium OS.
+EAPI=7
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_a97bd01dbd0e88c337336d29105ee63b03a4ef9f_4d8f590bd987ed599a906fe078fb08b51c7c7f9c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_a97bd01dbd0e88c337336d29105ee63b03a4ef9f_4d8f590bd987ed599a906fe078fb08b51c7c7f9c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/libiioservice_ipc:= chromeos-base/libmems:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r284
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dbc268a5ffc7dc01393ef87e3756b3e7
diff --git a/metadata/md5-cache/chromeos-base/iioservice_simpleclient-9999 b/metadata/md5-cache/chromeos-base/iioservice_simpleclient-9999
index 1748258..63064b6 100644
--- a/metadata/md5-cache/chromeos-base/iioservice_simpleclient-9999
+++ b/metadata/md5-cache/chromeos-base/iioservice_simpleclient-9999
@@ -1,13 +1,13 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libiioservice_ipc:= chromeos-base/libmems:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/libiioservice_ipc:= chromeos-base/libmems:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=A simple client to test iioservice's mojo IPC for Chromium OS.
 EAPI=7
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/libiioservice_ipc:= chromeos-base/libmems:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=60176e3e3a49785575faeb82853b6a5a
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3c5dc1199443310d2efaa72c96eea33d
diff --git a/metadata/md5-cache/chromeos-base/imageloader-0.0.1-r1677 b/metadata/md5-cache/chromeos-base/imageloader-0.0.1-r1677
deleted file mode 100644
index 21481940..0000000
--- a/metadata/md5-cache/chromeos-base/imageloader-0.0.1-r1677
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/vboot_reference:= chromeos-base/minijail:= dev-libs/openssl:= dev-libs/protobuf:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) sys-fs/lvm2:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Allow mounting verified utility images
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/imageloader/
-IUSE=fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_8ea0cb6f8586f7be81d2137768a413a43d525e2d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_8ea0cb6f8586f7be81d2137768a413a43d525e2d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/vboot_reference:= chromeos-base/minijail:= dev-libs/openssl:= dev-libs/protobuf:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) sys-fs/lvm2:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r1677
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=72103e2d88795f7ea49b426e5f3f69d2
diff --git a/metadata/md5-cache/chromeos-base/imageloader-0.0.1-r1747 b/metadata/md5-cache/chromeos-base/imageloader-0.0.1-r1747
new file mode 100644
index 0000000..c6501b4
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/imageloader-0.0.1-r1747
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/vboot_reference:= chromeos-base/minijail:= dev-libs/openssl:= dev-libs/protobuf:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) sys-fs/lvm2:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Allow mounting verified utility images
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/imageloader/
+IUSE=fuzzer cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_bc5f4dc1eac5097a6d543202f4a5a5a4460f724b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_bc5f4dc1eac5097a6d543202f4a5a5a4460f724b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/vboot_reference:= chromeos-base/minijail:= dev-libs/openssl:= dev-libs/protobuf:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) sys-fs/lvm2:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r1747
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=b46cccd59896c3342dc370153c1fa022
diff --git a/metadata/md5-cache/chromeos-base/imageloader-9999 b/metadata/md5-cache/chromeos-base/imageloader-9999
index bedf7d4..ac2910c 100644
--- a/metadata/md5-cache/chromeos-base/imageloader-9999
+++ b/metadata/md5-cache/chromeos-base/imageloader-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/vboot_reference:= chromeos-base/minijail:= dev-libs/openssl:= dev-libs/protobuf:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) sys-fs/lvm2:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/vboot_reference:= chromeos-base/minijail:= dev-libs/openssl:= dev-libs/protobuf:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) sys-fs/lvm2:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Allow mounting verified utility images
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/imageloader/
-IUSE=fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/imageloader/
+IUSE=fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/vboot_reference:= chromeos-base/minijail:= dev-libs/openssl:= dev-libs/protobuf:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) sys-fs/lvm2:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=00ae37bb1d357fb0d6693fa6c4095390
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=773a7dc471f7a8fda93efcda264607da
diff --git a/metadata/md5-cache/chromeos-base/imageloader-client-0.0.1-r717 b/metadata/md5-cache/chromeos-base/imageloader-client-0.0.1-r717
deleted file mode 100644
index c5b6a9e..0000000
--- a/metadata/md5-cache/chromeos-base/imageloader-client-0.0.1-r717
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=cros_host? ( chromeos-base/chromeos-dbus-bindings:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=ImageLoader DBus client library for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/imageloader/
-IUSE=cros_host cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_8ea0cb6f8586f7be81d2137768a413a43d525e2d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_8ea0cb6f8586f7be81d2137768a413a43d525e2d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/imageloader >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r717
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=21988a9a200545b906227a206a325253
diff --git a/metadata/md5-cache/chromeos-base/imageloader-client-0.0.1-r787 b/metadata/md5-cache/chromeos-base/imageloader-client-0.0.1-r787
new file mode 100644
index 0000000..67d1a4c
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/imageloader-client-0.0.1-r787
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=cros_host? ( chromeos-base/chromeos-dbus-bindings:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=ImageLoader DBus client library for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/imageloader/
+IUSE=cros_host cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_bc5f4dc1eac5097a6d543202f4a5a5a4460f724b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_bc5f4dc1eac5097a6d543202f4a5a5a4460f724b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/imageloader >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r787
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ef5a0a642049d166a44816edcf1a10cd
diff --git a/metadata/md5-cache/chromeos-base/imageloader-client-9999 b/metadata/md5-cache/chromeos-base/imageloader-client-9999
index d55d89a..a878fb1 100644
--- a/metadata/md5-cache/chromeos-base/imageloader-client-9999
+++ b/metadata/md5-cache/chromeos-base/imageloader-client-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=cros_host? ( chromeos-base/chromeos-dbus-bindings:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=cros_host? ( chromeos-base/chromeos-dbus-bindings:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=ImageLoader DBus client library for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/imageloader/
-IUSE=cros_host cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/imageloader/
+IUSE=cros_host cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/imageloader >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5079728e20c3b68891c8366a8d884816
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=bc4d4ff1f32a38f63872f1d1bc0d53e4
diff --git a/metadata/md5-cache/chromeos-base/infineon-firmware-updater-1.1.2459.0 b/metadata/md5-cache/chromeos-base/infineon-firmware-updater-1.1.2459.0
index 5f4dfb2..2c08706 100644
--- a/metadata/md5-cache/chromeos-base/infineon-firmware-updater-1.1.2459.0
+++ b/metadata/md5-cache/chromeos-base/infineon-firmware-updater-1.1.2459.0
@@ -9,4 +9,4 @@
 SLOT=0
 SRC_URI=gs://chromeos-localmirror/distfiles/infineon-firmware-updater-1.1.2459.0.tar.gz
 _eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=7bf1af2fb304e7fd4f5b9df326f62e40
+_md5_=a8af33de60df651a326f17167965309b
diff --git a/metadata/md5-cache/chromeos-base/infineon-firmware-updater-1.1.2459.0-r32 b/metadata/md5-cache/chromeos-base/infineon-firmware-updater-1.1.2459.0-r32
deleted file mode 100644
index 5f4dfb2..0000000
--- a/metadata/md5-cache/chromeos-base/infineon-firmware-updater-1.1.2459.0-r32
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=dev-libs/openssl:0= tpm_slb9655_v4_31? ( chromeos-base/ec-utils )
-DESCRIPTION=Infineon TPM firmware updater
-EAPI=5
-IUSE=tpm_slb9655_v4_31
-KEYWORDS=*
-LICENSE=BSD-Infineon LICENSE.infineon-firmware-updater-TCG
-RDEPEND=dev-libs/openssl:0= tpm_slb9655_v4_31? ( chromeos-base/ec-utils )
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/infineon-firmware-updater-1.1.2459.0.tar.gz
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=7bf1af2fb304e7fd4f5b9df326f62e40
diff --git a/metadata/md5-cache/chromeos-base/infineon-firmware-updater-1.1.2459.0-r34 b/metadata/md5-cache/chromeos-base/infineon-firmware-updater-1.1.2459.0-r34
new file mode 100644
index 0000000..2c08706
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/infineon-firmware-updater-1.1.2459.0-r34
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=dev-libs/openssl:0= tpm_slb9655_v4_31? ( chromeos-base/ec-utils )
+DESCRIPTION=Infineon TPM firmware updater
+EAPI=5
+IUSE=tpm_slb9655_v4_31
+KEYWORDS=*
+LICENSE=BSD-Infineon LICENSE.infineon-firmware-updater-TCG
+RDEPEND=dev-libs/openssl:0= tpm_slb9655_v4_31? ( chromeos-base/ec-utils )
+SLOT=0
+SRC_URI=gs://chromeos-localmirror/distfiles/infineon-firmware-updater-1.1.2459.0.tar.gz
+_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=a8af33de60df651a326f17167965309b
diff --git a/metadata/md5-cache/chromeos-base/inputcontrol-0.0.1-r115 b/metadata/md5-cache/chromeos-base/inputcontrol-0.0.1-r115
index 2c21aa0..795da84 100644
--- a/metadata/md5-cache/chromeos-base/inputcontrol-0.0.1-r115
+++ b/metadata/md5-cache/chromeos-base/inputcontrol-0.0.1-r115
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=app-arch/gzip
 SLOT=0/0.0.1-r115
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=4caed6c4cc2c8992a9051f4e0fadac80
diff --git a/metadata/md5-cache/chromeos-base/inputcontrol-9999 b/metadata/md5-cache/chromeos-base/inputcontrol-9999
index 3f71123..b8654b4 100644
--- a/metadata/md5-cache/chromeos-base/inputcontrol-9999
+++ b/metadata/md5-cache/chromeos-base/inputcontrol-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=app-arch/gzip
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f865bc34cdc2565e1ab0b85741cebf9e
diff --git a/metadata/md5-cache/chromeos-base/intel-nnhal-0.0.1-r115 b/metadata/md5-cache/chromeos-base/intel-nnhal-0.0.1-r115
deleted file mode 100644
index 55043b6..0000000
--- a/metadata/md5-cache/chromeos-base/intel-nnhal-0.0.1-r115
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=chromeos-base/aosp-frameworks-ml-nn chromeos-base/intel-openvino chromeos-base/intel-gnalib >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Intel NNAPI HAL
-EAPI=7
-HOMEPAGE=https://github.com/intel/nn-hal
-IUSE=vendor-nnhal cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=-* amd64
-LICENSE=BSD-Google
-RDEPEND=chromeos-base/aosp-frameworks-ml-nn chromeos-base/intel-openvino chromeos-base/intel-gnalib >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-RESTRICT=strip
-SLOT=0/0.0.1-r115
-SRC_URI=https://github.com/intel/nn-hal/archive/311f5d1ce6243751a04eee920e353314875f839e.tar.gz -> intel-nn-hal-311f5d1c.tar.gz https://github.com/openvinotoolkit/openvino/archive/a4a1bff1cc5a6b22f806adac8845d2806772dacd.tar.xz -> intel-openvino-a4a1bff1.tar.xz
-_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	unpacker	04385b0f181c42fa9c18ec0e31729d1f
-_md5_=01618773c4fe28b5c1b711582aee75f9
diff --git a/metadata/md5-cache/chromeos-base/intel-nnhal-0.0.1-r172 b/metadata/md5-cache/chromeos-base/intel-nnhal-0.0.1-r172
new file mode 100644
index 0000000..03294f2
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/intel-nnhal-0.0.1-r172
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=chromeos-base/aosp-frameworks-ml-nn chromeos-base/intel-openvino chromeos-base/intel-gnalib >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Intel NNAPI HAL
+EAPI=7
+HOMEPAGE=https://github.com/intel/nn-hal
+IUSE=vendor-nnhal cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=-* amd64
+LICENSE=BSD-Google
+RDEPEND=chromeos-base/aosp-frameworks-ml-nn chromeos-base/intel-openvino chromeos-base/intel-gnalib >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+RESTRICT=strip
+SLOT=0/0.0.1-r172
+SRC_URI=https://github.com/intel/nn-hal/archive/311f5d1ce6243751a04eee920e353314875f839e.tar.gz -> intel-nn-hal-311f5d1c.tar.gz https://github.com/openvinotoolkit/openvino/archive/a4a1bff1cc5a6b22f806adac8845d2806772dacd.tar.xz -> intel-openvino-a4a1bff1.tar.xz
+_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	unpacker	04385b0f181c42fa9c18ec0e31729d1f
+_md5_=82a2d9c95fc60f257c6063cd7250c1a5
diff --git a/metadata/md5-cache/chromeos-base/intel-nnhal-9999 b/metadata/md5-cache/chromeos-base/intel-nnhal-9999
index 2387539..c35a145 100644
--- a/metadata/md5-cache/chromeos-base/intel-nnhal-9999
+++ b/metadata/md5-cache/chromeos-base/intel-nnhal-9999
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=chromeos-base/aosp-frameworks-ml-nn chromeos-base/intel-openvino chromeos-base/intel-gnalib >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/aosp-frameworks-ml-nn chromeos-base/intel-openvino chromeos-base/intel-gnalib >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Intel NNAPI HAL
 EAPI=7
 HOMEPAGE=https://github.com/intel/nn-hal
-IUSE=vendor-nnhal cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=vendor-nnhal cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=-* ~amd64
 LICENSE=BSD-Google
 RDEPEND=chromeos-base/aosp-frameworks-ml-nn chromeos-base/intel-openvino chromeos-base/intel-gnalib >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 RESTRICT=strip
 SLOT=0/9999
 SRC_URI=https://github.com/intel/nn-hal/archive/311f5d1ce6243751a04eee920e353314875f839e.tar.gz -> intel-nn-hal-311f5d1c.tar.gz https://github.com/openvinotoolkit/openvino/archive/a4a1bff1cc5a6b22f806adac8845d2806772dacd.tar.xz -> intel-openvino-a4a1bff1.tar.xz
-_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	unpacker	04385b0f181c42fa9c18ec0e31729d1f
+_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	unpacker	04385b0f181c42fa9c18ec0e31729d1f
 _md5_=ec09de5307a24e7b43194f6b0a01e4ce
diff --git a/metadata/md5-cache/chromeos-base/ippusb_bridge-0.0.1-r47 b/metadata/md5-cache/chromeos-base/ippusb_bridge-0.0.1-r47
deleted file mode 100644
index 51923e8..0000000
--- a/metadata/md5-cache/chromeos-base/ippusb_bridge-0.0.1-r47
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=virtual/libusb:1= >=dev-rust/chunked_transfer-1:= <dev-rust/chunked_transfer-2 >=dev-rust/getopts-0.2.18:= <dev-rust/getopts-0.3 >=dev-rust/httparse-1.3.4:= <dev-rust/httparse-1.4 >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3 >=dev-rust/rusb-0.6.2:= <dev-rust/rusb-0.7 dev-rust/sync:= dev-rust/sys_util:= >=dev-rust/tiny_http-0.8:= <dev-rust/tiny_http-0.9 >=virtual/rust-1.39.0:= virtual/rust-binaries:= sys-apps/baselayout
-DESCRIPTION=A proxy for HTTP traffic over an IPP-USB printer connection
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/ippusb_bridge/
-IUSE=cros_host cros_workon_tree_236482b6860489c83e10afb39ba9aa78efe3f47b cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=virtual/libusb:1= !chromeos-base/ippusb_manager sys-apps/baselayout
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=ed334a8b6b94e997d89e6c585897e336
diff --git a/metadata/md5-cache/chromeos-base/ippusb_bridge-0.0.1-r56 b/metadata/md5-cache/chromeos-base/ippusb_bridge-0.0.1-r56
new file mode 100644
index 0000000..83e9084
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/ippusb_bridge-0.0.1-r56
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=virtual/libusb:1= >=dev-rust/chunked_transfer-1:= <dev-rust/chunked_transfer-2 >=dev-rust/getopts-0.2.18:= <dev-rust/getopts-0.3 >=dev-rust/httparse-1.3.4:= <dev-rust/httparse-1.4 >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3 >=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9 dev-rust/sync:= dev-rust/sys_util:= >=dev-rust/tiny_http-0.8:= <dev-rust/tiny_http-0.9 >=virtual/rust-1.60.0:= virtual/rust-binaries:= sys-apps/baselayout
+DESCRIPTION=A proxy for HTTP traffic over an IPP-USB printer connection
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/ippusb_bridge/
+IUSE=cros_host cros_workon_tree_9f52ac3e563d9881b5a0bcb553f5dc83d8ae8d10 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=virtual/libusb:1= !chromeos-base/ippusb_manager virtual/rust-binaries:= sys-apps/baselayout
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=e3fe5cffe66a3aeda87eddf599abfdf5
diff --git a/metadata/md5-cache/chromeos-base/ippusb_bridge-9999 b/metadata/md5-cache/chromeos-base/ippusb_bridge-9999
index 38d4d63..85c15d5 100644
--- a/metadata/md5-cache/chromeos-base/ippusb_bridge-9999
+++ b/metadata/md5-cache/chromeos-base/ippusb_bridge-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=virtual/libusb:1= >=dev-rust/chunked_transfer-1:= <dev-rust/chunked_transfer-2 >=dev-rust/getopts-0.2.18:= <dev-rust/getopts-0.3 >=dev-rust/httparse-1.3.4:= <dev-rust/httparse-1.4 >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3 >=dev-rust/rusb-0.6.2:= <dev-rust/rusb-0.7 dev-rust/sync:= dev-rust/sys_util:= >=dev-rust/tiny_http-0.8:= <dev-rust/tiny_http-0.9 >=virtual/rust-1.39.0:= virtual/rust-binaries:= sys-apps/baselayout
+DEPEND=virtual/libusb:1= >=dev-rust/chunked_transfer-1:= <dev-rust/chunked_transfer-2 >=dev-rust/getopts-0.2.18:= <dev-rust/getopts-0.3 >=dev-rust/httparse-1.3.4:= <dev-rust/httparse-1.4 >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3 >=dev-rust/rusb-0.8.1:= <dev-rust/rusb-0.9 dev-rust/sync:= dev-rust/sys_util:= >=dev-rust/tiny_http-0.8:= <dev-rust/tiny_http-0.9 >=virtual/rust-1.60.0:= virtual/rust-binaries:= sys-apps/baselayout
 DESCRIPTION=A proxy for HTTP traffic over an IPP-USB printer connection
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/ippusb_bridge/
-IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=virtual/libusb:1= !chromeos-base/ippusb_manager sys-apps/baselayout
+RDEPEND=virtual/libusb:1= !chromeos-base/ippusb_manager virtual/rust-binaries:= sys-apps/baselayout
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=377eeef21f6e2a21847e61aedfb2549e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=2daf4852d58f69f2b32e9eb1dbbac2ae
diff --git a/metadata/md5-cache/chromeos-base/jabra-vold-0.0.1-r16 b/metadata/md5-cache/chromeos-base/jabra-vold-0.0.1-r16
index dcae9c4..9e83595 100644
--- a/metadata/md5-cache/chromeos-base/jabra-vold-0.0.1-r16
+++ b/metadata/md5-cache/chromeos-base/jabra-vold-0.0.1-r16
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=>=media-libs/alsa-lib-1.0:= sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
 _md5_=854b4c30aa5818cf3f08751c239229da
diff --git a/metadata/md5-cache/chromeos-base/jabra-vold-9999 b/metadata/md5-cache/chromeos-base/jabra-vold-9999
index 3d5a3f6..f3ca5eb 100644
--- a/metadata/md5-cache/chromeos-base/jabra-vold-9999
+++ b/metadata/md5-cache/chromeos-base/jabra-vold-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=>=media-libs/alsa-lib-1.0:= sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
 _md5_=f76df8f69888df756f57f1be3f92acb5
diff --git a/metadata/md5-cache/chromeos-base/kerberos-0.0.1-r451 b/metadata/md5-cache/chromeos-base/kerberos-0.0.1-r451
deleted file mode 100644
index c3b8a0f..0000000
--- a/metadata/md5-cache/chromeos-base/kerberos-0.0.1-r451
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=app-crypt/mit-krb5:= chromeos-base/libbrillo:=[asan?,fuzzer?] chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= dev-libs/protobuf:= sys-apps/dbus:= chromeos-base/protofiles:= chromeos-base/session_manager-client:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Requests and manages Kerberos tickets to enable Kerberos SSO
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/kerberos/
-IUSE=asan fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1f42c8aafc4ed5cf73379b9cf55d7f1da941d9ce_56dc9b3a788bc68f829c1e7a1d3b6cf067c7aaf9_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1f42c8aafc4ed5cf73379b9cf55d7f1da941d9ce_56dc9b3a788bc68f829c1e7a1d3b6cf067c7aaf9_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=app-crypt/mit-krb5:= chromeos-base/libbrillo:=[asan?,fuzzer?] chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= dev-libs/protobuf:= sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r451
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=40ecc66171b2c8a26273f16a8536c244
diff --git a/metadata/md5-cache/chromeos-base/kerberos-0.0.1-r554 b/metadata/md5-cache/chromeos-base/kerberos-0.0.1-r554
new file mode 100644
index 0000000..563b0a6
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/kerberos-0.0.1-r554
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=app-crypt/mit-krb5:= chromeos-base/libbrillo:=[asan?,fuzzer?] chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= dev-libs/protobuf:= sys-apps/dbus:= chromeos-base/protofiles:= chromeos-base/session_manager-client:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Requests and manages Kerberos tickets to enable Kerberos SSO
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/kerberos/
+IUSE=asan fuzzer cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_ac73f1a95b3439bdecc48d4cf6569e1f971592eb_fb8e41991af9e4c6c88768b137a9b48e4e5e47da_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_ac73f1a95b3439bdecc48d4cf6569e1f971592eb_fb8e41991af9e4c6c88768b137a9b48e4e5e47da_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=app-crypt/mit-krb5:= chromeos-base/libbrillo:=[asan?,fuzzer?] chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= dev-libs/protobuf:= sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r554
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=4555d156f8c9ed0c6629a61495d5064f
diff --git a/metadata/md5-cache/chromeos-base/kerberos-9999 b/metadata/md5-cache/chromeos-base/kerberos-9999
index 8dc8f1b..d694f30 100644
--- a/metadata/md5-cache/chromeos-base/kerberos-9999
+++ b/metadata/md5-cache/chromeos-base/kerberos-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=app-crypt/mit-krb5:= chromeos-base/libbrillo:=[asan?,fuzzer?] chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= dev-libs/protobuf:= sys-apps/dbus:= chromeos-base/protofiles:= chromeos-base/session_manager-client:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=app-crypt/mit-krb5:= chromeos-base/libbrillo:=[asan?,fuzzer?] chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= dev-libs/protobuf:= sys-apps/dbus:= chromeos-base/protofiles:= chromeos-base/session_manager-client:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Requests and manages Kerberos tickets to enable Kerberos SSO
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/kerberos/
-IUSE=asan fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/kerberos/
+IUSE=asan fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=app-crypt/mit-krb5:= chromeos-base/libbrillo:=[asan?,fuzzer?] chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= dev-libs/protobuf:= sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=408e90bc13831b04eb77eff815efc8a4
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=43d187333f891cc21ef46930fa12bb5a
diff --git a/metadata/md5-cache/chromeos-base/languagepack-handwriting-es-0.0.1-r2 b/metadata/md5-cache/chromeos-base/languagepack-handwriting-es-0.0.1-r2
index 47a5489..63ee8bc 100644
--- a/metadata/md5-cache/chromeos-base/languagepack-handwriting-es-0.0.1-r2
+++ b/metadata/md5-cache/chromeos-base/languagepack-handwriting-es-0.0.1-r2
@@ -7,5 +7,5 @@
 REQUIRED_USE=dlc ondevice_handwriting
 SLOT=0/0.0.1-r2
 SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-es-20210730.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	dlc	980ce13d2129fa5614d43ffa9d1bb90f	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	dlc	980ce13d2129fa5614d43ffa9d1bb90f	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=65bc89ec52ece45e2d0b3c5e02ffc170
diff --git a/metadata/md5-cache/chromeos-base/languagepack-handwriting-es-9999 b/metadata/md5-cache/chromeos-base/languagepack-handwriting-es-9999
index e64550e..42a307a 100644
--- a/metadata/md5-cache/chromeos-base/languagepack-handwriting-es-9999
+++ b/metadata/md5-cache/chromeos-base/languagepack-handwriting-es-9999
@@ -7,5 +7,5 @@
 REQUIRED_USE=dlc ondevice_handwriting
 SLOT=0/9999
 SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-es-20210730.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	dlc	980ce13d2129fa5614d43ffa9d1bb90f	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	dlc	980ce13d2129fa5614d43ffa9d1bb90f	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e8541497c0bef2d1ef80c1e670201a24
diff --git a/metadata/md5-cache/chromeos-base/lexmark-fax-pnh-0.0.1-r126 b/metadata/md5-cache/chromeos-base/lexmark-fax-pnh-0.0.1-r126
deleted file mode 100644
index b656a19..0000000
--- a/metadata/md5-cache/chromeos-base/lexmark-fax-pnh-0.0.1-r126
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=net-print/cups >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=ChromeOS implementation of the Lexmark fax-pnh-filter
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/lexmark-fax-pnh/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4c04b0ebf35112629d2f6bc7e478514dcb5805cb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4c04b0ebf35112629d2f6bc7e478514dcb5805cb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=MPL-2.0
-PROPERTIES=live live
-RDEPEND=net-print/cups >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r126
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e97500527f105e567f73e414808dd3cc
diff --git a/metadata/md5-cache/chromeos-base/lexmark-fax-pnh-0.0.1-r183 b/metadata/md5-cache/chromeos-base/lexmark-fax-pnh-0.0.1-r183
new file mode 100644
index 0000000..29c766d4
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/lexmark-fax-pnh-0.0.1-r183
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=net-print/cups >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=ChromeOS implementation of the Lexmark fax-pnh-filter
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/lexmark-fax-pnh/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4c04b0ebf35112629d2f6bc7e478514dcb5805cb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4c04b0ebf35112629d2f6bc7e478514dcb5805cb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=MPL-2.0
+PROPERTIES=live live
+RDEPEND=net-print/cups >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r183
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=11c547710eed36c772f56d159515f05c
diff --git a/metadata/md5-cache/chromeos-base/lexmark-fax-pnh-9999 b/metadata/md5-cache/chromeos-base/lexmark-fax-pnh-9999
index 802308c..36877e9 100644
--- a/metadata/md5-cache/chromeos-base/lexmark-fax-pnh-9999
+++ b/metadata/md5-cache/chromeos-base/lexmark-fax-pnh-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=net-print/cups >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=net-print/cups >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=ChromeOS implementation of the Lexmark fax-pnh-filter
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/lexmark-fax-pnh/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=MPL-2.0
 PROPERTIES=live live
 RDEPEND=net-print/cups >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=3a4953e818a838073997dc0685f073cd
diff --git a/metadata/md5-cache/chromeos-base/libbrillo-0.0.1-r1924 b/metadata/md5-cache/chromeos-base/libbrillo-0.0.1-r1924
deleted file mode 100644
index 11bb5af..0000000
--- a/metadata/md5-cache/chromeos-base/libbrillo-0.0.1-r1924
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/minijail:= chromeos-base/vboot_reference:= dbus? ( dev-libs/dbus-glib:= ) dev-libs/openssl:= dev-libs/protobuf:= net-libs/grpc:= net-misc/curl:= sys-apps/rootdev:= device_mapper? ( sys-fs/lvm2:=[thin] ) lvm_stateful_partition? ( sys-fs/lvm2:= ) udev? ( virtual/libudev ) >=chromeos-base/protofiles-0.0.55:= dbus? ( chromeos-base/system_api:=[fuzzer?] ) dev-libs/modp_b64:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Base library for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/libbrillo/
-IUSE=cros_host +dbus +device_mapper fuzzer -lvm_stateful_partition +udev cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_612e813a03deb8074ea50200112a45acb3131c70_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_612e813a03deb8074ea50200112a45acb3131c70_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/minijail:= chromeos-base/vboot_reference:= dbus? ( dev-libs/dbus-glib:= ) dev-libs/openssl:= dev-libs/protobuf:= net-libs/grpc:= net-misc/curl:= sys-apps/rootdev:= device_mapper? ( sys-fs/lvm2:=[thin] ) lvm_stateful_partition? ( sys-fs/lvm2:= ) udev? ( virtual/libudev ) !cros_host? ( chromeos-base/libchromeos-use-flags ) chromeos-base/chromeos-ca-certificates !chromeos-base/libchromeos >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
-SLOT=0/0.0.1-r1924
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0680567f7650eb8fe5eac5d2fe43c68e
diff --git a/metadata/md5-cache/chromeos-base/libbrillo-0.0.1-r2033 b/metadata/md5-cache/chromeos-base/libbrillo-0.0.1-r2033
new file mode 100644
index 0000000..5f45ab2
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/libbrillo-0.0.1-r2033
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/minijail:= dbus? ( dev-libs/dbus-glib:= ) dev-libs/openssl:= dev-libs/protobuf:= net-libs/grpc:= net-misc/curl:= sys-apps/rootdev:= device_mapper? ( sys-fs/lvm2:=[thin] ) lvm_stateful_partition? ( sys-fs/lvm2:= ) udev? ( virtual/libudev ) usb? ( virtual/libusb:1= ) >=chromeos-base/protofiles-0.0.60:= dbus? ( chromeos-base/system_api:=[fuzzer?] ) dev-libs/modp_b64:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Base library for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libbrillo/
+IUSE=cros_host +dbus +device_mapper fuzzer -lvm_stateful_partition +udev usb cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_abc7d0936bf74ade075dcbf17a34a8be5ea99b5f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_abc7d0936bf74ade075dcbf17a34a8be5ea99b5f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/minijail:= dbus? ( dev-libs/dbus-glib:= ) dev-libs/openssl:= dev-libs/protobuf:= net-libs/grpc:= net-misc/curl:= sys-apps/rootdev:= device_mapper? ( sys-fs/lvm2:=[thin] ) lvm_stateful_partition? ( sys-fs/lvm2:= ) udev? ( virtual/libudev ) usb? ( virtual/libusb:1= ) !cros_host? ( chromeos-base/libchromeos-use-flags ) chromeos-base/chromeos-ca-certificates !chromeos-base/libchromeos >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
+SLOT=0/0.0.1-r2033
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=927272e1664e5a6e1b5e34b60e40510f
diff --git a/metadata/md5-cache/chromeos-base/libbrillo-9999 b/metadata/md5-cache/chromeos-base/libbrillo-9999
index c5e1bdd..92bb60c 100644
--- a/metadata/md5-cache/chromeos-base/libbrillo-9999
+++ b/metadata/md5-cache/chromeos-base/libbrillo-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/minijail:= chromeos-base/vboot_reference:= dbus? ( dev-libs/dbus-glib:= ) dev-libs/openssl:= dev-libs/protobuf:= net-libs/grpc:= net-misc/curl:= sys-apps/rootdev:= device_mapper? ( sys-fs/lvm2:=[thin] ) lvm_stateful_partition? ( sys-fs/lvm2:= ) udev? ( virtual/libudev ) >=chromeos-base/protofiles-0.0.55:= dbus? ( chromeos-base/system_api:=[fuzzer?] ) dev-libs/modp_b64:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/minijail:= dbus? ( dev-libs/dbus-glib:= ) dev-libs/openssl:= dev-libs/protobuf:= net-libs/grpc:= net-misc/curl:= sys-apps/rootdev:= device_mapper? ( sys-fs/lvm2:=[thin] ) lvm_stateful_partition? ( sys-fs/lvm2:= ) udev? ( virtual/libudev ) usb? ( virtual/libusb:1= ) >=chromeos-base/protofiles-0.0.60:= dbus? ( chromeos-base/system_api:=[fuzzer?] ) dev-libs/modp_b64:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Base library for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/libbrillo/
-IUSE=cros_host +dbus +device_mapper fuzzer -lvm_stateful_partition +udev cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libbrillo/
+IUSE=cros_host +dbus +device_mapper fuzzer -lvm_stateful_partition +udev usb cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=chromeos-base/minijail:= chromeos-base/vboot_reference:= dbus? ( dev-libs/dbus-glib:= ) dev-libs/openssl:= dev-libs/protobuf:= net-libs/grpc:= net-misc/curl:= sys-apps/rootdev:= device_mapper? ( sys-fs/lvm2:=[thin] ) lvm_stateful_partition? ( sys-fs/lvm2:= ) udev? ( virtual/libudev ) !cros_host? ( chromeos-base/libchromeos-use-flags ) chromeos-base/chromeos-ca-certificates !chromeos-base/libchromeos >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
+RDEPEND=chromeos-base/minijail:= dbus? ( dev-libs/dbus-glib:= ) dev-libs/openssl:= dev-libs/protobuf:= net-libs/grpc:= net-misc/curl:= sys-apps/rootdev:= device_mapper? ( sys-fs/lvm2:=[thin] ) lvm_stateful_partition? ( sys-fs/lvm2:= ) udev? ( virtual/libudev ) usb? ( virtual/libusb:1= ) !cros_host? ( chromeos-base/libchromeos-use-flags ) chromeos-base/chromeos-ca-certificates !chromeos-base/libchromeos >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6b4ed929b596a831653cc59132b08be8
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=251c17d868c93b6951bde29ca2662a70
diff --git a/metadata/md5-cache/chromeos-base/libchrome-0.0.1-r305 b/metadata/md5-cache/chromeos-base/libchrome-0.0.1-r305
deleted file mode 100644
index dd2e964..0000000
--- a/metadata/md5-cache/chromeos-base/libchrome-0.0.1-r305
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=>=chromeos-base/perfetto-21.0-r4:= >=dev-cpp/absl-20200923-r4:= dev-libs/double-conversion:= dev-libs/glib:2= dev-libs/libevent:= dev-libs/modp_b64:= crypto? ( dev-libs/nss:= dev-libs/openssl:= ) dbus? ( sys-apps/dbus:= dev-libs/protobuf:= ) dev-libs/re2:= !~chromeos-base/libchrome-576279 !chromeos-base/libchrome:576279 !chromeos-base/libchrome:462023 !chromeos-base/libchrome:456626 !chromeos-base/libchrome:395517 dev-cpp/gtest:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome base/ and dbus/ libraries extracted for use on Chrome OS
-EAPI=7
-HOMEPAGE=http://dev.chromium.org/chromium-os/packages/libchrome
-IUSE=cros_host +crypto +dbus fuzzer +mojo libchrome_b182295239 media_perception board_use_mistral cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_3bfa6e62b0800f4426c0fc71d9cccabdcd43d79e cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_3bfa6e62b0800f4426c0fc71d9cccabdcd43d79e compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/perfetto-21.0-r4:= >=dev-cpp/absl-20200923-r4:= dev-libs/double-conversion:= dev-libs/glib:2= dev-libs/libevent:= dev-libs/modp_b64:= crypto? ( dev-libs/nss:= dev-libs/openssl:= ) dbus? ( sys-apps/dbus:= dev-libs/protobuf:= ) dev-libs/re2:= !~chromeos-base/libchrome-576279 !chromeos-base/libchrome:576279 !chromeos-base/libchrome:462023 !chromeos-base/libchrome:456626 !chromeos-base/libchrome:395517 !chromeos-base/libmojo
-REQUIRED_USE=mojo? ( crypto )
-SLOT=0/0.0.1-r305
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=8f8ea570900eb3c6d76172150c002665
diff --git a/metadata/md5-cache/chromeos-base/libchrome-0.0.1-r419 b/metadata/md5-cache/chromeos-base/libchrome-0.0.1-r419
new file mode 100644
index 0000000..a55634f
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/libchrome-0.0.1-r419
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=>=chromeos-base/perfetto-21.0-r4:= >=dev-cpp/abseil-cpp-20200923-r4:= dev-libs/double-conversion:= dev-libs/glib:2= dev-libs/libevent:= dev-libs/modp_b64:= crypto? ( dev-libs/nss:= dev-libs/openssl:= ) dbus? ( sys-apps/dbus:= dev-libs/protobuf:= ) dev-libs/re2:= !~chromeos-base/libchrome-576279 !chromeos-base/libchrome:576279 !chromeos-base/libchrome:462023 !chromeos-base/libchrome:456626 !chromeos-base/libchrome:395517 dev-cpp/gtest:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome base/ and dbus/ libraries extracted for use on Chrome OS
+EAPI=7
+HOMEPAGE=http://dev.chromium.org/chromium-os/packages/libchrome
+IUSE=cros_host +crypto +dbus fuzzer +mojo libchrome_b182295239 media_perception board_use_mistral cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_021b14c95e2a0a46d07c3d8a1e749be44c1e96b4 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_021b14c95e2a0a46d07c3d8a1e749be44c1e96b4 compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/perfetto-21.0-r4:= >=dev-cpp/abseil-cpp-20200923-r4:= dev-libs/double-conversion:= dev-libs/glib:2= dev-libs/libevent:= dev-libs/modp_b64:= crypto? ( dev-libs/nss:= dev-libs/openssl:= ) dbus? ( sys-apps/dbus:= dev-libs/protobuf:= ) dev-libs/re2:= !~chromeos-base/libchrome-576279 !chromeos-base/libchrome:576279 !chromeos-base/libchrome:462023 !chromeos-base/libchrome:456626 !chromeos-base/libchrome:395517 !chromeos-base/libmojo
+REQUIRED_USE=mojo? ( crypto )
+SLOT=0/0.0.1-r419
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6101c927b21995862708ec5c1b57a31b
diff --git a/metadata/md5-cache/chromeos-base/libchrome-9999 b/metadata/md5-cache/chromeos-base/libchrome-9999
index 6c91b23..9a7b589 100644
--- a/metadata/md5-cache/chromeos-base/libchrome-9999
+++ b/metadata/md5-cache/chromeos-base/libchrome-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=>=chromeos-base/perfetto-21.0-r4:= >=dev-cpp/absl-20200923-r4:= dev-libs/double-conversion:= dev-libs/glib:2= dev-libs/libevent:= dev-libs/modp_b64:= crypto? ( dev-libs/nss:= dev-libs/openssl:= ) dbus? ( sys-apps/dbus:= dev-libs/protobuf:= ) dev-libs/re2:= !~chromeos-base/libchrome-576279 !chromeos-base/libchrome:576279 !chromeos-base/libchrome:462023 !chromeos-base/libchrome:456626 !chromeos-base/libchrome:395517 dev-cpp/gtest:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/perfetto-21.0-r4:= >=dev-cpp/abseil-cpp-20200923-r4:= dev-libs/double-conversion:= dev-libs/glib:2= dev-libs/libevent:= dev-libs/modp_b64:= crypto? ( dev-libs/nss:= dev-libs/openssl:= ) dbus? ( sys-apps/dbus:= dev-libs/protobuf:= ) dev-libs/re2:= !~chromeos-base/libchrome-576279 !chromeos-base/libchrome:576279 !chromeos-base/libchrome:462023 !chromeos-base/libchrome:456626 !chromeos-base/libchrome:395517 dev-cpp/gtest:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome base/ and dbus/ libraries extracted for use on Chrome OS
 EAPI=7
 HOMEPAGE=http://dev.chromium.org/chromium-os/packages/libchrome
-IUSE=cros_host +crypto +dbus fuzzer +mojo libchrome_b182295239 media_perception board_use_mistral cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ compilation_database cros_host test
+IUSE=cros_host +crypto +dbus fuzzer +mojo libchrome_b182295239 media_perception board_use_mistral cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=>=chromeos-base/perfetto-21.0-r4:= >=dev-cpp/absl-20200923-r4:= dev-libs/double-conversion:= dev-libs/glib:2= dev-libs/libevent:= dev-libs/modp_b64:= crypto? ( dev-libs/nss:= dev-libs/openssl:= ) dbus? ( sys-apps/dbus:= dev-libs/protobuf:= ) dev-libs/re2:= !~chromeos-base/libchrome-576279 !chromeos-base/libchrome:576279 !chromeos-base/libchrome:462023 !chromeos-base/libchrome:456626 !chromeos-base/libchrome:395517 !chromeos-base/libmojo
+RDEPEND=>=chromeos-base/perfetto-21.0-r4:= >=dev-cpp/abseil-cpp-20200923-r4:= dev-libs/double-conversion:= dev-libs/glib:2= dev-libs/libevent:= dev-libs/modp_b64:= crypto? ( dev-libs/nss:= dev-libs/openssl:= ) dbus? ( sys-apps/dbus:= dev-libs/protobuf:= ) dev-libs/re2:= !~chromeos-base/libchrome-576279 !chromeos-base/libchrome:576279 !chromeos-base/libchrome:462023 !chromeos-base/libchrome:456626 !chromeos-base/libchrome:395517 !chromeos-base/libmojo
 REQUIRED_USE=mojo? ( crypto )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=105ed2ad7ed522974b9d22a604830566
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8e95243985138cf2bcc2bf19e43183f1
diff --git a/metadata/md5-cache/chromeos-base/libchromeos-ui-0.0.1-r1866 b/metadata/md5-cache/chromeos-base/libchromeos-ui-0.0.1-r1866
deleted file mode 100644
index 2c5b5f1..0000000
--- a/metadata/md5-cache/chromeos-base/libchromeos-ui-0.0.1-r1866
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Library used to start Chromium-based UIs
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/libchromeos-ui/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_a88378f84563bfeb2d78d1d3f104fb180c574c1b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_a88378f84563bfeb2d78d1d3f104fb180c574c1b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/bootstat >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r1866
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=fc7ae026ce9a92ff05b280f83c963223
diff --git a/metadata/md5-cache/chromeos-base/libchromeos-ui-0.0.1-r1929 b/metadata/md5-cache/chromeos-base/libchromeos-ui-0.0.1-r1929
new file mode 100644
index 0000000..50c0292
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/libchromeos-ui-0.0.1-r1929
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Library used to start Chromium-based UIs
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libchromeos-ui/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2361f68127fc1aaed7591baf3a4ad462108f161a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2361f68127fc1aaed7591baf3a4ad462108f161a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/bootstat >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r1929
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e6aa61de0473659a5a3f69badf35adb7
diff --git a/metadata/md5-cache/chromeos-base/libchromeos-ui-9999 b/metadata/md5-cache/chromeos-base/libchromeos-ui-9999
index bfd40aa..c1e02fb 100644
--- a/metadata/md5-cache/chromeos-base/libchromeos-ui-9999
+++ b/metadata/md5-cache/chromeos-base/libchromeos-ui-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Library used to start Chromium-based UIs
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/libchromeos-ui/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libchromeos-ui/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/bootstat >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a0d4d73bf8bfc237f9af4fea2a095ccb
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ddd5f5bcacbfa63f6ad76b7dcb03e39c
diff --git a/metadata/md5-cache/chromeos-base/libchromeos-use-flags-1-r36 b/metadata/md5-cache/chromeos-base/libchromeos-use-flags-1-r36
deleted file mode 100644
index d24e494..0000000
--- a/metadata/md5-cache/chromeos-base/libchromeos-use-flags-1-r36
+++ /dev/null
@@ -1,11 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install setup unpack
-DESCRIPTION=Text file listing USE flags for chromeos-base/libchromeos
-EAPI=7
-IUSE=allow_consumer_kiosk arc arc_adb_sideloading arc_disable_cros_video_decoder arc_force_2x_scaling arc_native_bridge_64bit_support_experiment arc_transition_m_to_n arcpp arcvm asan background_blur big_little biod borealis_host broken_24hours_wake cfm_enabled_device cheets clear_fast_ink_buffer compupdates diagnostics disable_background_blur disable_cros_video_decoder disable_explicit_dma_fences disable_native_gpu_memory_buffers disable_instant_tethering disable_spectre_variant2_mitigation drm_atomic edge_touch_filtering enable_dsp_hotword enable_heuristic_palm_detection_filter enable_neural_palm_detection_filter force_breakpad gpu_sandbox_allow_sysv_shm gpu_sandbox_failures_not_fatal gpu_sandbox_start_early houdini houdini64 houdini_dlc kvm_guest kvm_host kvm_transition lacros legacy_keyboard legacy_power_button ml_service moblab native_gpu_memory_buffers natural_scroll_default ndk_translation ndk_translation64 neon ondevice_document_scanner ondevice_handwriting ondevice_handwriting_dlc ondevice_speech oobe_skip_postlogin oobe_skip_to_login opengles os_install_service passive_event_listeners pita pita-camera pita-microphone reven_branding rialto scheduler_configuration_performance screenshare_sw_codec set_hw_overlay_strategy_none shelf-hotseat smartdim tablet_form_factor touch_centric_device touchscreen_wakeup touchview tpm_dynamic video_capture_use_gpu_memory_buffer virtio_gpu webui-tab-strip wilco cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=407b5a5439fe88a98f280e66e388eb8b
diff --git a/metadata/md5-cache/chromeos-base/libchromeos-use-flags-1-r42 b/metadata/md5-cache/chromeos-base/libchromeos-use-flags-1-r42
new file mode 100644
index 0000000..9480442
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/libchromeos-use-flags-1-r42
@@ -0,0 +1,11 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Text file listing USE flags for chromeos-base/libchromeos
+EAPI=7
+IUSE=allow_consumer_kiosk arc arc_adb_sideloading arc_disable_cros_video_decoder arc_force_2x_scaling arc_transition_m_to_n arcpp arcvm arcvm_virtio_blk_data asan background_blur big_little biod borealis_host broken_24hours_wake cfm_enabled_device cheets clear_fast_ink_buffer compupdates diagnostics disable_background_blur disable_cros_video_decoder disable_explicit_dma_fences disable_native_gpu_memory_buffers disable_instant_tethering disable_spectre_variant2_mitigation drm_atomic edge_touch_filtering enable_dsp_hotword enable_heuristic_palm_detection_filter enable_neural_palm_detection_filter force_breakpad gpu_sandbox_allow_sysv_shm gpu_sandbox_failures_not_fatal gpu_sandbox_start_early houdini houdini64 houdini_dlc kvm_guest kvm_host lacros legacy_keyboard legacy_power_button ml_service moblab mojo_service_manager native_gpu_memory_buffers natural_scroll_default ndk_translation ndk_translation64 neon ondevice_document_scanner ondevice_document_scanner_dlc ondevice_grammar ondevice_handwriting ondevice_handwriting_dlc ondevice_speech oobe_skip_postlogin oobe_skip_to_login opengles os_install_service passive_event_listeners pita pita-camera pita-microphone reven_branding rialto scheduler_configuration_performance screenshare_sw_codec set_hw_overlay_strategy_none shelf-hotseat smartdim tablet_form_factor touch_centric_device touchscreen_wakeup touchview tpm_dynamic video_capture_use_gpu_memory_buffer virtio_gpu webui-tab-strip wilco cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=71cf59ddaf89caf4b8dc4d5c7e91c983
diff --git a/metadata/md5-cache/chromeos-base/libchromeos-use-flags-9999 b/metadata/md5-cache/chromeos-base/libchromeos-use-flags-9999
index 64a667b..aa00529 100644
--- a/metadata/md5-cache/chromeos-base/libchromeos-use-flags-9999
+++ b/metadata/md5-cache/chromeos-base/libchromeos-use-flags-9999
@@ -2,10 +2,10 @@
 DEFINED_PHASES=info install setup unpack
 DESCRIPTION=Text file listing USE flags for chromeos-base/libchromeos
 EAPI=7
-IUSE=allow_consumer_kiosk arc arc_adb_sideloading arc_disable_cros_video_decoder arc_force_2x_scaling arc_native_bridge_64bit_support_experiment arc_transition_m_to_n arcpp arcvm asan background_blur big_little biod borealis_host broken_24hours_wake cfm_enabled_device cheets clear_fast_ink_buffer compupdates diagnostics disable_background_blur disable_cros_video_decoder disable_explicit_dma_fences disable_native_gpu_memory_buffers disable_instant_tethering disable_spectre_variant2_mitigation drm_atomic edge_touch_filtering enable_dsp_hotword enable_heuristic_palm_detection_filter enable_neural_palm_detection_filter force_breakpad gpu_sandbox_allow_sysv_shm gpu_sandbox_failures_not_fatal gpu_sandbox_start_early houdini houdini64 houdini_dlc kvm_guest kvm_host kvm_transition lacros legacy_keyboard legacy_power_button ml_service moblab native_gpu_memory_buffers natural_scroll_default ndk_translation ndk_translation64 neon ondevice_document_scanner ondevice_handwriting ondevice_handwriting_dlc ondevice_speech oobe_skip_postlogin oobe_skip_to_login opengles os_install_service passive_event_listeners pita pita-camera pita-microphone reven_branding rialto scheduler_configuration_performance screenshare_sw_codec set_hw_overlay_strategy_none shelf-hotseat smartdim tablet_form_factor touch_centric_device touchscreen_wakeup touchview tpm_dynamic video_capture_use_gpu_memory_buffer virtio_gpu webui-tab-strip wilco cros_host cros_workon_tree_
+IUSE=allow_consumer_kiosk arc arc_adb_sideloading arc_disable_cros_video_decoder arc_force_2x_scaling arc_transition_m_to_n arcpp arcvm arcvm_virtio_blk_data asan background_blur big_little biod borealis_host broken_24hours_wake cfm_enabled_device cheets clear_fast_ink_buffer compupdates diagnostics disable_background_blur disable_cros_video_decoder disable_explicit_dma_fences disable_native_gpu_memory_buffers disable_instant_tethering disable_spectre_variant2_mitigation drm_atomic edge_touch_filtering enable_dsp_hotword enable_heuristic_palm_detection_filter enable_neural_palm_detection_filter force_breakpad gpu_sandbox_allow_sysv_shm gpu_sandbox_failures_not_fatal gpu_sandbox_start_early houdini houdini64 houdini_dlc kvm_guest kvm_host lacros legacy_keyboard legacy_power_button ml_service moblab mojo_service_manager native_gpu_memory_buffers natural_scroll_default ndk_translation ndk_translation64 neon ondevice_document_scanner ondevice_document_scanner_dlc ondevice_grammar ondevice_handwriting ondevice_handwriting_dlc ondevice_speech oobe_skip_postlogin oobe_skip_to_login opengles os_install_service passive_event_listeners pita pita-camera pita-microphone reven_branding rialto scheduler_configuration_performance screenshare_sw_codec set_hw_overlay_strategy_none shelf-hotseat smartdim tablet_form_factor touch_centric_device touchscreen_wakeup touchview tpm_dynamic video_capture_use_gpu_memory_buffer virtio_gpu webui-tab-strip wilco cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=08df73ab8a7b18179aa92be00a278d6c
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=efa6a3cadc5e1ecd55c0a781516b20dd
diff --git a/metadata/md5-cache/chromeos-base/libcontainer-0.0.1-r1632 b/metadata/md5-cache/chromeos-base/libcontainer-0.0.1-r1632
deleted file mode 100644
index 4df67ce..0000000
--- a/metadata/md5-cache/chromeos-base/libcontainer-0.0.1-r1632
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/minijail:= device-mapper? ( sys-fs/lvm2:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Library to run jailed containers on Chrome OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/libcontainer/
-IUSE=+device-mapper cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_c483b9613962116a8881cefbe046d52ce851e598_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_c483b9613962116a8881cefbe046d52ce851e598_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/minijail:= device-mapper? ( sys-fs/lvm2:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r1632
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=a157c53137c2d60b362954ca59ff51b7
diff --git a/metadata/md5-cache/chromeos-base/libcontainer-0.0.1-r1694 b/metadata/md5-cache/chromeos-base/libcontainer-0.0.1-r1694
new file mode 100644
index 0000000..987989e
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/libcontainer-0.0.1-r1694
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/minijail:= device-mapper? ( sys-fs/lvm2:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Library to run jailed containers on Chrome OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libcontainer/
+IUSE=+device-mapper cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_dbb4c5a189c098e0c692a1dee66f5a6b6ef33a32_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_dbb4c5a189c098e0c692a1dee66f5a6b6ef33a32_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/minijail:= device-mapper? ( sys-fs/lvm2:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r1694
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=c711bbedbfe435a5791d1a7d16359dc2
diff --git a/metadata/md5-cache/chromeos-base/libcontainer-9999 b/metadata/md5-cache/chromeos-base/libcontainer-9999
index 8b470f4..f4d1372 100644
--- a/metadata/md5-cache/chromeos-base/libcontainer-9999
+++ b/metadata/md5-cache/chromeos-base/libcontainer-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/minijail:= device-mapper? ( sys-fs/lvm2:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/minijail:= device-mapper? ( sys-fs/lvm2:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Library to run jailed containers on Chrome OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/libcontainer/
-IUSE=+device-mapper cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libcontainer/
+IUSE=+device-mapper cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/minijail:= device-mapper? ( sys-fs/lvm2:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=9cb1ac9242c8a0449c98b0b5becb711d
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=024265cb641b39a9b1b31669d0518c51
diff --git a/metadata/md5-cache/chromeos-base/libcrossystem-0.0.1-r52 b/metadata/md5-cache/chromeos-base/libcrossystem-0.0.1-r52
new file mode 100644
index 0000000..8dc564c
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/libcrossystem-0.0.1-r52
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Library to get Chromium OS system properties
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libcrossystem
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_3b33fc07daf512e548300eefbd028b622bc51b44_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_3b33fc07daf512e548300eefbd028b622bc51b44_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r52
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=24a7f6bda84cbb86c8187439898f6900
diff --git a/metadata/md5-cache/chromeos-base/libcrossystem-9999 b/metadata/md5-cache/chromeos-base/libcrossystem-9999
new file mode 100644
index 0000000..997d4c9
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/libcrossystem-9999
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Library to get Chromium OS system properties
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libcrossystem
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/9999
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2c6c228a03111523cde7a6e02afc238b
diff --git a/metadata/md5-cache/chromeos-base/libec-0.0.1-r133 b/metadata/md5-cache/chromeos-base/libec-0.0.1-r133
deleted file mode 100644
index 0ef0162..0000000
--- a/metadata/md5-cache/chromeos-base/libec-0.0.1-r133
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/chromeos-ec-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Embedded Controller Library for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libec
-IUSE=cros_host cros_workon_tree_cdd343a1b2fde0b4ac6e0df05b61873de776969a_a625767bb59509159091f2ab0b71f8b9b4b2e353_b2a628a7e6e84c75bbb6593f7e7d6c7baa8ccba0_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_cdd343a1b2fde0b4ac6e0df05b61873de776969a_a625767bb59509159091f2ab0b71f8b9b4b2e353_b2a628a7e6e84c75bbb6593f7e7d6c7baa8ccba0_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r133
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d16c9ec0fac380cfef4f363c6f097d5f
diff --git a/metadata/md5-cache/chromeos-base/libec-0.0.1-r239 b/metadata/md5-cache/chromeos-base/libec-0.0.1-r239
new file mode 100644
index 0000000..5172225
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/libec-0.0.1-r239
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/chromeos-ec-headers:= chromeos-base/power_manager-client:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Embedded Controller Library for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libec
+IUSE=cros_host cros_workon_tree_3e7613ea6e002e2ed9003c451537961ee1ec8c06_60fa47aebd6ebfb702012849bd560717fceddcd4_1dbf281b6523338c1a11135ebaf00796f0f664e4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_3e7613ea6e002e2ed9003c451537961ee1ec8c06_60fa47aebd6ebfb702012849bd560717fceddcd4_1dbf281b6523338c1a11135ebaf00796f0f664e4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r239
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=deccc747e02825bc1203fe68b7b08a88
diff --git a/metadata/md5-cache/chromeos-base/libec-9999 b/metadata/md5-cache/chromeos-base/libec-9999
index 206d836..15cf0c4 100644
--- a/metadata/md5-cache/chromeos-base/libec-9999
+++ b/metadata/md5-cache/chromeos-base/libec-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/chromeos-ec-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/chromeos-ec-headers:= chromeos-base/power_manager-client:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Embedded Controller Library for Chromium OS
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libec
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=282cd7e31239fdcd7ebee908e0d0fbb3
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e1d8773b70d707e8c1f6c8b2da4d286b
diff --git a/metadata/md5-cache/chromeos-base/libevdev-0.0.1-r83 b/metadata/md5-cache/chromeos-base/libevdev-0.0.1-r83
index acedad3..1591b82 100644
--- a/metadata/md5-cache/chromeos-base/libevdev-0.0.1-r83
+++ b/metadata/md5-cache/chromeos-base/libevdev-0.0.1-r83
@@ -8,5 +8,5 @@
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0/1
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=60c66c19c5c1abc7a6196ced4c74c36f
diff --git a/metadata/md5-cache/chromeos-base/libevdev-9999 b/metadata/md5-cache/chromeos-base/libevdev-9999
index facb53b..48a505f 100644
--- a/metadata/md5-cache/chromeos-base/libevdev-9999
+++ b/metadata/md5-cache/chromeos-base/libevdev-9999
@@ -8,5 +8,5 @@
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0/1
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=34f96617dbd4a335e7ede20103661343
diff --git a/metadata/md5-cache/chromeos-base/libhwsec-0.0.1-r302 b/metadata/md5-cache/chromeos-base/libhwsec-0.0.1-r302
deleted file mode 100644
index 4421f74..0000000
--- a/metadata/md5-cache/chromeos-base/libhwsec-0.0.1-r302
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libhwsec-foundation dev-libs/openssl:0= tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) fuzzer? ( app-crypt/trousers:= chromeos-base/trunks:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Crypto and utility functions used in TPM related daemons.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/libhwsec/
-IUSE=test fuzzer tpm tpm2 tpm_dynamic cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_b1c7898d3f42051cbba6426c62b35476a8de5b72_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_b1c7898d3f42051cbba6426c62b35476a8de5b72_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/libhwsec-foundation dev-libs/openssl:0= tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) fuzzer? ( app-crypt/trousers:= chromeos-base/trunks:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r302
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e3a4c923a1ded210b06e3a50f071eb80
diff --git a/metadata/md5-cache/chromeos-base/libhwsec-0.0.1-r441 b/metadata/md5-cache/chromeos-base/libhwsec-0.0.1-r441
new file mode 100644
index 0000000..a4c97cb
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/libhwsec-0.0.1-r441
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/libhwsec-foundation chromeos-base/tpm_manager-client dev-libs/openssl:0= dev-libs/flatbuffers tpm2? ( chromeos-base/pinweaver:= chromeos-base/trunks:=[test?] ) tpm? ( app-crypt/trousers:= ) fuzzer? ( app-crypt/trousers:= chromeos-base/trunks:= ) test? ( chromeos-base/pinweaver:= chromeos-base/trunks:=[test] chromeos-base/tpm2-simulator:=[test] ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Crypto and utility functions used in TPM related daemons.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libhwsec/
+IUSE=test fuzzer tpm tpm2 tpm_dynamic cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_944879c9353c2df8adb7022407a8d319671325c1_b2ae20cf5a237ca246eecb61de48d18247370fd5_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_944879c9353c2df8adb7022407a8d319671325c1_b2ae20cf5a237ca246eecb61de48d18247370fd5_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/libhwsec-foundation chromeos-base/tpm_manager-client dev-libs/openssl:0= dev-libs/flatbuffers tpm2? ( chromeos-base/pinweaver:= chromeos-base/trunks:=[test?] ) tpm? ( app-crypt/trousers:= ) fuzzer? ( app-crypt/trousers:= chromeos-base/trunks:= ) test? ( chromeos-base/pinweaver:= chromeos-base/trunks:=[test] chromeos-base/tpm2-simulator:=[test] ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r441
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6639ebcddba0dd36841004b19508b1ca
diff --git a/metadata/md5-cache/chromeos-base/libhwsec-9999 b/metadata/md5-cache/chromeos-base/libhwsec-9999
index 0a4e125..218d478 100644
--- a/metadata/md5-cache/chromeos-base/libhwsec-9999
+++ b/metadata/md5-cache/chromeos-base/libhwsec-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libhwsec-foundation dev-libs/openssl:0= tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) fuzzer? ( app-crypt/trousers:= chromeos-base/trunks:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/libhwsec-foundation chromeos-base/tpm_manager-client dev-libs/openssl:0= dev-libs/flatbuffers tpm2? ( chromeos-base/pinweaver:= chromeos-base/trunks:=[test?] ) tpm? ( app-crypt/trousers:= ) fuzzer? ( app-crypt/trousers:= chromeos-base/trunks:= ) test? ( chromeos-base/pinweaver:= chromeos-base/trunks:=[test] chromeos-base/tpm2-simulator:=[test] ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Crypto and utility functions used in TPM related daemons.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/libhwsec/
-IUSE=test fuzzer tpm tpm2 tpm_dynamic cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libhwsec/
+IUSE=test fuzzer tpm tpm2 tpm_dynamic cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=chromeos-base/libhwsec-foundation dev-libs/openssl:0= tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) fuzzer? ( app-crypt/trousers:= chromeos-base/trunks:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+RDEPEND=chromeos-base/libhwsec-foundation chromeos-base/tpm_manager-client dev-libs/openssl:0= dev-libs/flatbuffers tpm2? ( chromeos-base/pinweaver:= chromeos-base/trunks:=[test?] ) tpm? ( app-crypt/trousers:= ) fuzzer? ( app-crypt/trousers:= chromeos-base/trunks:= ) test? ( chromeos-base/pinweaver:= chromeos-base/trunks:=[test] chromeos-base/tpm2-simulator:=[test] ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=4eb7c4b7bb46edde4960aac56e3b9043
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3f56409065cd22510ddcd02306a43873
diff --git a/metadata/md5-cache/chromeos-base/libhwsec-foundation-0.0.1-r175 b/metadata/md5-cache/chromeos-base/libhwsec-foundation-0.0.1-r175
deleted file mode 100644
index 71eee3f..0000000
--- a/metadata/md5-cache/chromeos-base/libhwsec-foundation-0.0.1-r175
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Crypto and utility functions used in TPM related daemons.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/libhwsec-foundation/
-IUSE=test tpm tpm_dynamic tpm2 cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_b1c7898d3f42051cbba6426c62b35476a8de5b72_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_b1c7898d3f42051cbba6426c62b35476a8de5b72_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/metrics-0.0.1-r3152 chromeos-base/system_api chromeos-base/tpm_manager-client >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r175
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0b87705aea104f2f06a35e550430e27b
diff --git a/metadata/md5-cache/chromeos-base/libhwsec-foundation-0.0.1-r313 b/metadata/md5-cache/chromeos-base/libhwsec-foundation-0.0.1-r313
new file mode 100644
index 0000000..8a26b3b
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/libhwsec-foundation-0.0.1-r313
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Crypto and utility functions used in TPM related daemons.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libhwsec-foundation/
+IUSE=profiling test tpm tpm_dynamic tpm2 cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/metrics-0.0.1-r3152 chromeos-base/system_api chromeos-base/tpm_manager-client >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r313
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=53ea2d53467bbbd2b0c1116bbced446c
diff --git a/metadata/md5-cache/chromeos-base/libhwsec-foundation-9999 b/metadata/md5-cache/chromeos-base/libhwsec-foundation-9999
index 5d0a1e1..e692e5f 100644
--- a/metadata/md5-cache/chromeos-base/libhwsec-foundation-9999
+++ b/metadata/md5-cache/chromeos-base/libhwsec-foundation-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Crypto and utility functions used in TPM related daemons.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/libhwsec-foundation/
-IUSE=test tpm tpm_dynamic tpm2 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libhwsec-foundation/
+IUSE=profiling test tpm tpm_dynamic tpm2 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/metrics-0.0.1-r3152 chromeos-base/system_api chromeos-base/tpm_manager-client >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a7bcabcd22ae03c46c4b894ba5d0841f
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d89fe965fe08dff92e7e328c436da4d2
diff --git a/metadata/md5-cache/chromeos-base/libiioservice_ipc-0.0.1-r243 b/metadata/md5-cache/chromeos-base/libiioservice_ipc-0.0.1-r243
deleted file mode 100644
index 698aee6..0000000
--- a/metadata/md5-cache/chromeos-base/libiioservice_ipc-0.0.1-r243
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS sensor HAL IPC util.
-EAPI=7
-IUSE=cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_04d918571ad6d12563589ccf1b8c0e79b65521aa_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_04d918571ad6d12563589ccf1b8c0e79b65521aa_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r243
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=24150f99f3789d2563eb1fea4bf2b970
diff --git a/metadata/md5-cache/chromeos-base/libiioservice_ipc-0.0.1-r327 b/metadata/md5-cache/chromeos-base/libiioservice_ipc-0.0.1-r327
new file mode 100644
index 0000000..582555c
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/libiioservice_ipc-0.0.1-r327
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS sensor HAL IPC util.
+EAPI=7
+IUSE=cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_a97bd01dbd0e88c337336d29105ee63b03a4ef9f_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_a97bd01dbd0e88c337336d29105ee63b03a4ef9f_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r327
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=532f2685895a6595d77496afb2b915ce
diff --git a/metadata/md5-cache/chromeos-base/libiioservice_ipc-9999 b/metadata/md5-cache/chromeos-base/libiioservice_ipc-9999
index 423f275..7191f5f 100644
--- a/metadata/md5-cache/chromeos-base/libiioservice_ipc-9999
+++ b/metadata/md5-cache/chromeos-base/libiioservice_ipc-9999
@@ -1,13 +1,13 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS sensor HAL IPC util.
 EAPI=7
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=07d8a59e15159a40f26b20ee43c42f1c
diff --git a/metadata/md5-cache/chromeos-base/libipp-0.0.1-r215 b/metadata/md5-cache/chromeos-base/libipp-0.0.1-r215
deleted file mode 100644
index 0e2ce51..0000000
--- a/metadata/md5-cache/chromeos-base/libipp-0.0.1-r215
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=The library for building and parsing IPP (Internet Printing Protocol) frames.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/libipp/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_d97dfe0923014fa72bd59f759082482c55f7690d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_d97dfe0923014fa72bd59f759082482c55f7690d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r215
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=83a3207582aa096de7317d1ec8582b19
diff --git a/metadata/md5-cache/chromeos-base/libipp-0.0.1-r280 b/metadata/md5-cache/chromeos-base/libipp-0.0.1-r280
new file mode 100644
index 0000000..81943d4
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/libipp-0.0.1-r280
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=The library for building and parsing IPP (Internet Printing Protocol) frames.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libipp/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_a6691fe1e00666995d1480ebcc515c990861e702_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_a6691fe1e00666995d1480ebcc515c990861e702_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r280
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3a9c0ab707f2702938cb607904f0c532
diff --git a/metadata/md5-cache/chromeos-base/libipp-9999 b/metadata/md5-cache/chromeos-base/libipp-9999
index 028ea7b..9c47f55 100644
--- a/metadata/md5-cache/chromeos-base/libipp-9999
+++ b/metadata/md5-cache/chromeos-base/libipp-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=The library for building and parsing IPP (Internet Printing Protocol) frames.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/libipp/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libipp/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=97948e8eb55215d4e9d5442656cef7b6
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=934b6c2150f10357ad07b149bff2d87d
diff --git a/metadata/md5-cache/chromeos-base/libmems-0.0.1-r256 b/metadata/md5-cache/chromeos-base/libmems-0.0.1-r256
deleted file mode 100644
index c8fc9f3..0000000
--- a/metadata/md5-cache/chromeos-base/libmems-0.0.1-r256
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=net-libs/libiio:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=MEMS support library for Chromium OS.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/libmems
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_f09f4711e5043f57c202260d0214f64c0eab5431_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_f09f4711e5043f57c202260d0214f64c0eab5431_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=net-libs/libiio:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r256
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=f693e2cead5a9d1537f91ac83e246b8c
diff --git a/metadata/md5-cache/chromeos-base/libmems-0.0.1-r320 b/metadata/md5-cache/chromeos-base/libmems-0.0.1-r320
new file mode 100644
index 0000000..ca0ea58
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/libmems-0.0.1-r320
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=net-libs/libiio:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=MEMS support library for Chromium OS.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libmems
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_4d8f590bd987ed599a906fe078fb08b51c7c7f9c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_4d8f590bd987ed599a906fe078fb08b51c7c7f9c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=net-libs/libiio:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r320
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3f8a4d755db392cf429bcc807962c314
diff --git a/metadata/md5-cache/chromeos-base/libmems-9999 b/metadata/md5-cache/chromeos-base/libmems-9999
index adbe622..0777e5e 100644
--- a/metadata/md5-cache/chromeos-base/libmems-9999
+++ b/metadata/md5-cache/chromeos-base/libmems-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=net-libs/libiio:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=net-libs/libiio:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=MEMS support library for Chromium OS.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/libmems
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libmems
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=net-libs/libiio:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9fa52fa581786123112f40a017f1e031
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ddc1ec7aa9ff0692dfc4476234c299e9
diff --git a/metadata/md5-cache/chromeos-base/libpasswordprovider-0.0.1-r502 b/metadata/md5-cache/chromeos-base/libpasswordprovider-0.0.1-r502
deleted file mode 100644
index eea2aa3..0000000
--- a/metadata/md5-cache/chromeos-base/libpasswordprovider-0.0.1-r502
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=sys-apps/keyutils:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Library for storing and retrieving user password
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/libpasswordprovider
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_56dc9b3a788bc68f829c1e7a1d3b6cf067c7aaf9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_56dc9b3a788bc68f829c1e7a1d3b6cf067c7aaf9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=sys-apps/keyutils:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r502
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=579c3922c6e6ca91d34a723d4a0c4ab8
diff --git a/metadata/md5-cache/chromeos-base/libpasswordprovider-0.0.1-r562 b/metadata/md5-cache/chromeos-base/libpasswordprovider-0.0.1-r562
new file mode 100644
index 0000000..04df1ba
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/libpasswordprovider-0.0.1-r562
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=sys-apps/keyutils:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Library for storing and retrieving user password
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libpasswordprovider
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_fb8e41991af9e4c6c88768b137a9b48e4e5e47da_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_fb8e41991af9e4c6c88768b137a9b48e4e5e47da_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=sys-apps/keyutils:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r562
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=698e7fb8b4dd96c37d43a31a66813e9f
diff --git a/metadata/md5-cache/chromeos-base/libpasswordprovider-9999 b/metadata/md5-cache/chromeos-base/libpasswordprovider-9999
index 675ca1d..143afb2 100644
--- a/metadata/md5-cache/chromeos-base/libpasswordprovider-9999
+++ b/metadata/md5-cache/chromeos-base/libpasswordprovider-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=sys-apps/keyutils:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=sys-apps/keyutils:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Library for storing and retrieving user password
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/libpasswordprovider
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libpasswordprovider
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=sys-apps/keyutils:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=f82fb4c8f5dcc6b6270c3d41483b0478
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3bf6cc496afedc7591cba4c4aade698c
diff --git a/metadata/md5-cache/chromeos-base/libsirenia-0.1.0-r71 b/metadata/md5-cache/chromeos-base/libsirenia-0.1.0-r71
deleted file mode 100644
index 6cf4fcc..0000000
--- a/metadata/md5-cache/chromeos-base/libsirenia-0.1.0-r71
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/sirenia-rpc-macros:= =dev-rust/anyhow-1*:= >=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:= =dev-rust/base64-0.13*:= =dev-rust/chrono-0.4*:= =dev-rust/flexbuffers-2*:= =dev-rust/getopts-0.2*:= >=dev-rust/libc-0.2.44 <dev-rust/libc-0.3_alpha:= dev-rust/libchromeos:= >=dev-rust/minijail-0.2.3:= >=dev-rust/openssl-0.10.25 <dev-rust/openssl-0.11.0_alpha:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2_alpha:= =dev-rust/serde_derive-1*:= >=dev-rust/serde_json-1.0.64 <dev-rust/serde_json-2.0.0_alpha:= dev-rust/sys_util:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=The support library for the ManaTEE runtime environment.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/libsirenia
-IUSE=cros_host cros_workon_tree_d3de10836a8b0ca3a02380f57201253d9ec56744 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/sirenia-rpc-macros:= =dev-rust/anyhow-1*:= >=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:= =dev-rust/base64-0.13*:= =dev-rust/chrono-0.4*:= =dev-rust/flexbuffers-2*:= =dev-rust/getopts-0.2*:= >=dev-rust/libc-0.2.44 <dev-rust/libc-0.3_alpha:= dev-rust/libchromeos:= >=dev-rust/minijail-0.2.3:= >=dev-rust/openssl-0.10.25 <dev-rust/openssl-0.11.0_alpha:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2_alpha:= =dev-rust/serde_derive-1*:= >=dev-rust/serde_json-1.0.64 <dev-rust/serde_json-2.0.0_alpha:= dev-rust/sys_util:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0_alpha:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r71
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c16f943853bbeb22912eb3a28959044b
diff --git a/metadata/md5-cache/chromeos-base/libsirenia-0.1.0-r94 b/metadata/md5-cache/chromeos-base/libsirenia-0.1.0-r94
new file mode 100644
index 0000000..32e971d
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/libsirenia-0.1.0-r94
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=chromeos-base/crosvm-base:= chromeos-base/sirenia-rpc-macros:= =dev-rust/anyhow-1*:= =dev-rust/assert_matches-1*:= =dev-rust/base64-0.13*:= =dev-rust/chrono-0.4*:= =dev-rust/flexbuffers-2*:= =dev-rust/getopts-0.2*:= =dev-rust/libc-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= >=dev-rust/minijail-0.2.3:= =dev-rust/openssl-0.10*:= =dev-rust/serde-1*:= =dev-rust/serde_bytes-0.10*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= =dev-rust/thiserror-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=The support library for the ManaTEE runtime environment.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/libsirenia
+IUSE=cros_host cros_workon_tree_651aeeaca36ae686d43f70f7b06f4464e3606813 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/crosvm-base:= chromeos-base/sirenia-rpc-macros:= =dev-rust/anyhow-1*:= =dev-rust/assert_matches-1*:= =dev-rust/base64-0.13*:= =dev-rust/chrono-0.4*:= =dev-rust/flexbuffers-2*:= =dev-rust/getopts-0.2*:= =dev-rust/libc-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= >=dev-rust/minijail-0.2.3:= =dev-rust/openssl-0.10*:= =dev-rust/serde-1*:= =dev-rust/serde_bytes-0.10*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= =dev-rust/thiserror-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r94
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8c6f7da48eaa99f9bd1382bc0e54f01c
diff --git a/metadata/md5-cache/chromeos-base/libsirenia-9999 b/metadata/md5-cache/chromeos-base/libsirenia-9999
index 27a34ca..b53f08e 100644
--- a/metadata/md5-cache/chromeos-base/libsirenia-9999
+++ b/metadata/md5-cache/chromeos-base/libsirenia-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/sirenia-rpc-macros:= =dev-rust/anyhow-1*:= >=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:= =dev-rust/base64-0.13*:= =dev-rust/chrono-0.4*:= =dev-rust/flexbuffers-2*:= =dev-rust/getopts-0.2*:= >=dev-rust/libc-0.2.44 <dev-rust/libc-0.3_alpha:= dev-rust/libchromeos:= >=dev-rust/minijail-0.2.3:= >=dev-rust/openssl-0.10.25 <dev-rust/openssl-0.11.0_alpha:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2_alpha:= =dev-rust/serde_derive-1*:= >=dev-rust/serde_json-1.0.64 <dev-rust/serde_json-2.0.0_alpha:= dev-rust/sys_util:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=chromeos-base/crosvm-base:= chromeos-base/sirenia-rpc-macros:= =dev-rust/anyhow-1*:= =dev-rust/assert_matches-1*:= =dev-rust/base64-0.13*:= =dev-rust/chrono-0.4*:= =dev-rust/flexbuffers-2*:= =dev-rust/getopts-0.2*:= =dev-rust/libc-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= >=dev-rust/minijail-0.2.3:= =dev-rust/openssl-0.10*:= =dev-rust/serde-1*:= =dev-rust/serde_bytes-0.10*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= =dev-rust/thiserror-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=The support library for the ManaTEE runtime environment.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/libsirenia
-IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=chromeos-base/sirenia-rpc-macros:= =dev-rust/anyhow-1*:= >=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:= =dev-rust/base64-0.13*:= =dev-rust/chrono-0.4*:= =dev-rust/flexbuffers-2*:= =dev-rust/getopts-0.2*:= >=dev-rust/libc-0.2.44 <dev-rust/libc-0.3_alpha:= dev-rust/libchromeos:= >=dev-rust/minijail-0.2.3:= >=dev-rust/openssl-0.10.25 <dev-rust/openssl-0.11.0_alpha:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2_alpha:= =dev-rust/serde_derive-1*:= >=dev-rust/serde_json-1.0.64 <dev-rust/serde_json-2.0.0_alpha:= dev-rust/sys_util:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0_alpha:=
+RDEPEND=chromeos-base/crosvm-base:= chromeos-base/sirenia-rpc-macros:= =dev-rust/anyhow-1*:= =dev-rust/assert_matches-1*:= =dev-rust/base64-0.13*:= =dev-rust/chrono-0.4*:= =dev-rust/flexbuffers-2*:= =dev-rust/getopts-0.2*:= =dev-rust/libc-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= >=dev-rust/minijail-0.2.3:= =dev-rust/openssl-0.10*:= =dev-rust/serde-1*:= =dev-rust/serde_bytes-0.10*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= =dev-rust/thiserror-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=3649d6c145785fc3b3296cf7b766af4a
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=62e23197d7e7d101e2218e9e321bcb1c
diff --git a/metadata/md5-cache/chromeos-base/libtpmcrypto-0.0.1-r442 b/metadata/md5-cache/chromeos-base/libtpmcrypto-0.0.1-r442
deleted file mode 100644
index c8ceaa3..0000000
--- a/metadata/md5-cache/chromeos-base/libtpmcrypto-0.0.1-r442
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) chromeos-base/libhwsec-foundation:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Encrypts/Decrypts data to a serialized proto with TPM sealed key.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/libtpmcrypto/
-IUSE=tpm tpm_dynamic tpm2 cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_b1c7898d3f42051cbba6426c62b35476a8de5b72_99cb261212fa3c73badb7ce5bd2da101c2567206_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_b1c7898d3f42051cbba6426c62b35476a8de5b72_99cb261212fa3c73badb7ce5bd2da101c2567206_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) chromeos-base/libhwsec-foundation:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
-SLOT=0/0.0.1-r442
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2dce5a3ba94cb92e6d3eda7c20bebdd6
diff --git a/metadata/md5-cache/chromeos-base/libtpmcrypto-0.0.1-r568 b/metadata/md5-cache/chromeos-base/libtpmcrypto-0.0.1-r568
new file mode 100644
index 0000000..47d806f
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/libtpmcrypto-0.0.1-r568
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) chromeos-base/libhwsec-foundation:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Encrypts/Decrypts data to a serialized proto with TPM sealed key.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libtpmcrypto/
+IUSE=tpm tpm_dynamic tpm2 cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_b90d0e8f789e8cfe86794cb3f36ae69967b7dc36_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_b90d0e8f789e8cfe86794cb3f36ae69967b7dc36_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) chromeos-base/libhwsec-foundation:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
+SLOT=0/0.0.1-r568
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3ef46351bdb3383e7aca1928427d1fcd
diff --git a/metadata/md5-cache/chromeos-base/libtpmcrypto-9999 b/metadata/md5-cache/chromeos-base/libtpmcrypto-9999
index 56bda5f..a340410 100644
--- a/metadata/md5-cache/chromeos-base/libtpmcrypto-9999
+++ b/metadata/md5-cache/chromeos-base/libtpmcrypto-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) chromeos-base/libhwsec-foundation:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) chromeos-base/libhwsec-foundation:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Encrypts/Decrypts data to a serialized proto with TPM sealed key.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/libtpmcrypto/
-IUSE=tpm tpm_dynamic tpm2 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libtpmcrypto/
+IUSE=tpm tpm_dynamic tpm2 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) chromeos-base/libhwsec-foundation:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e7bf9d885e626542b0289a98d23d333d
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b44ed14de526ffc9a815daaeeff2911f
diff --git a/metadata/md5-cache/chromeos-base/libva-fake-driver-0.0.1-r1 b/metadata/md5-cache/chromeos-base/libva-fake-driver-0.0.1-r1
deleted file mode 100644
index cda680a..0000000
--- a/metadata/md5-cache/chromeos-base/libva-fake-driver-0.0.1-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=virtual/pkgconfig dev-vcs/git
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=>=x11-libs/libva-2.6.0:=
-DESCRIPTION=Chrome OS fake LibVA driver; intended as a backend replacement for VMs and other test fixtures
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/libva-fake-driver/
-IUSE=cros_host cros_workon_tree_770f83539238977e8d6999b4807bb0ef596f4ec2
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=>=x11-libs/libva-2.6.0:=
-SLOT=0/0.0.1-r1
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=1e4aaee393e3bdf9546f67c2ebe156a4
diff --git a/metadata/md5-cache/chromeos-base/libva-fake-driver-0.0.1-r2 b/metadata/md5-cache/chromeos-base/libva-fake-driver-0.0.1-r2
new file mode 100644
index 0000000..377fd0a
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/libva-fake-driver-0.0.1-r2
@@ -0,0 +1,14 @@
+BDEPEND=virtual/pkgconfig dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=>=x11-libs/libva-2.6.0:=
+DESCRIPTION=Chrome OS fake LibVA driver; intended as a backend replacement for VMs and other test fixtures
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/libva-fake-driver/
+IUSE=cros_host cros_workon_tree_770f83539238977e8d6999b4807bb0ef596f4ec2 asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=>=x11-libs/libva-2.6.0:=
+SLOT=0/0.0.1-r2
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=aed2e7068a6fd5a7fee7c597f136efdf
diff --git a/metadata/md5-cache/chromeos-base/libva-fake-driver-9999 b/metadata/md5-cache/chromeos-base/libva-fake-driver-9999
index ca7a457..0861b6be 100644
--- a/metadata/md5-cache/chromeos-base/libva-fake-driver-9999
+++ b/metadata/md5-cache/chromeos-base/libva-fake-driver-9999
@@ -4,11 +4,11 @@
 DESCRIPTION=Chrome OS fake LibVA driver; intended as a backend replacement for VMs and other test fixtures
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/libva-fake-driver/
-IUSE=cros_host cros_workon_tree_
+IUSE=cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 RDEPEND=>=x11-libs/libva-2.6.0:=
 SLOT=0/9999
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6f0f1c9f9a6e6717f317fb135242788f
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f41130ba1235d3dcc28b60fd3a9da98d
diff --git a/metadata/md5-cache/chromeos-base/libvda-0.0.1-r306 b/metadata/md5-cache/chromeos-base/libvda-0.0.1-r306
deleted file mode 100644
index 7d77377..0000000
--- a/metadata/md5-cache/chromeos-base/libvda-0.0.1-r306
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=media-libs/minigbm:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=libvda CrOS video decoding library
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/libvda
-IUSE=libvda_test cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1325424e92ae114997c41128a4ca1ae401bd107b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1325424e92ae114997c41128a4ca1ae401bd107b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=media-libs/minigbm:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r306
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e2a5dfb45cedd81fff9c317a8925bddc
diff --git a/metadata/md5-cache/chromeos-base/libvda-0.0.1-r368 b/metadata/md5-cache/chromeos-base/libvda-0.0.1-r368
new file mode 100644
index 0000000..04f787e
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/libvda-0.0.1-r368
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=media-libs/minigbm:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=libvda CrOS video decoding library
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/libvda
+IUSE=libvda_test cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_4b86eae6fc1a2faee58169d41c841c86ad9bc73c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_4b86eae6fc1a2faee58169d41c841c86ad9bc73c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=media-libs/minigbm:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r368
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b6e348fcdd66aea3c7c202725a040330
diff --git a/metadata/md5-cache/chromeos-base/libvda-9999 b/metadata/md5-cache/chromeos-base/libvda-9999
index d956a96..5f684dd 100644
--- a/metadata/md5-cache/chromeos-base/libvda-9999
+++ b/metadata/md5-cache/chromeos-base/libvda-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=media-libs/minigbm:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=media-libs/minigbm:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=libvda CrOS video decoding library
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/libvda
-IUSE=libvda_test cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/libvda
+IUSE=libvda_test cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=media-libs/minigbm:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=102b9cddde7655391f11359d95719093
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=80a791ebfe167a5f519df54eb3650e16
diff --git a/metadata/md5-cache/chromeos-base/libvda-gpu-tests-0.0.1-r299 b/metadata/md5-cache/chromeos-base/libvda-gpu-tests-0.0.1-r299
deleted file mode 100644
index 7e4ea87..0000000
--- a/metadata/md5-cache/chromeos-base/libvda-gpu-tests-0.0.1-r299
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libbrillo:= media-libs/minigbm:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=libvda Chrome GPU tests
-EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/libvda
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1325424e92ae114997c41128a4ca1ae401bd107b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1325424e92ae114997c41128a4ca1ae401bd107b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/libbrillo:= media-libs/minigbm:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=ae3f0adfcc9b84de3a7ca787fa5f53bd
diff --git a/metadata/md5-cache/chromeos-base/libvda-gpu-tests-0.0.1-r361 b/metadata/md5-cache/chromeos-base/libvda-gpu-tests-0.0.1-r361
new file mode 100644
index 0000000..14462b1
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/libvda-gpu-tests-0.0.1-r361
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/libbrillo:= media-libs/minigbm:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=libvda Chrome GPU tests
+EAPI=6
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/libvda
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_4b86eae6fc1a2faee58169d41c841c86ad9bc73c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_4b86eae6fc1a2faee58169d41c841c86ad9bc73c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/libbrillo:= media-libs/minigbm:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=3e85c5e60e6f5e7651ea21ea0b631f6f
diff --git a/metadata/md5-cache/chromeos-base/libvda-gpu-tests-9999 b/metadata/md5-cache/chromeos-base/libvda-gpu-tests-9999
index 2765139..309c00b 100644
--- a/metadata/md5-cache/chromeos-base/libvda-gpu-tests-9999
+++ b/metadata/md5-cache/chromeos-base/libvda-gpu-tests-9999
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libbrillo:= media-libs/minigbm:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/libbrillo:= media-libs/minigbm:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=libvda Chrome GPU tests
 EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/libvda
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/libvda
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/libbrillo:= media-libs/minigbm:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=7966c4b2769263fbe54c35ae8e95a351
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=6880fa3bacd58244f92e52b30fbeb1b7
diff --git a/metadata/md5-cache/chromeos-base/lorgnette-0.0.1-r3196 b/metadata/md5-cache/chromeos-base/lorgnette-0.0.1-r3196
deleted file mode 100644
index 50d54ba..0000000
--- a/metadata/md5-cache/chromeos-base/lorgnette-0.0.1-r3196
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= media-libs/libpng:= media-gfx/sane-airscan:= media-gfx/sane-backends:= virtual/jpeg:0= virtual/libusb:1 chromeos-base/permission_broker-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Document Scanning service for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/lorgnette/
-IUSE=test cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1540b1aa5d7bb259f0fd0c8c23b218607a506186_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1540b1aa5d7bb259f0fd0c8c23b218607a506186_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= media-libs/libpng:= media-gfx/sane-airscan:= media-gfx/sane-backends:= virtual/jpeg:0= virtual/libusb:1 chromeos-base/minijail test? ( chromeos-base/sane-backends-test media-gfx/perceptualdiff:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r3196
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=7dfbf1addf3daf80b96fc0e66b12b848
diff --git a/metadata/md5-cache/chromeos-base/lorgnette-0.0.1-r3301 b/metadata/md5-cache/chromeos-base/lorgnette-0.0.1-r3301
new file mode 100644
index 0000000..79ecb14
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/lorgnette-0.0.1-r3301
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= media-libs/libpng:= media-gfx/sane-airscan:= media-gfx/sane-backends:= virtual/jpeg:0= virtual/libusb:1 chromeos-base/permission_broker-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Document Scanning service for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/lorgnette/
+IUSE=test cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2ebd98a342da634118dbe0c2147061dadbacd722_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2ebd98a342da634118dbe0c2147061dadbacd722_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= media-libs/libpng:= media-gfx/sane-airscan:= media-gfx/sane-backends:= virtual/jpeg:0= virtual/libusb:1 chromeos-base/minijail test? ( chromeos-base/sane-backends-test media-gfx/perceptualdiff:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r3301
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=b59eafc2acce711ffd100a3822a040ca
diff --git a/metadata/md5-cache/chromeos-base/lorgnette-9999 b/metadata/md5-cache/chromeos-base/lorgnette-9999
index 24c3a82..f397162 100644
--- a/metadata/md5-cache/chromeos-base/lorgnette-9999
+++ b/metadata/md5-cache/chromeos-base/lorgnette-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= media-libs/libpng:= media-gfx/sane-airscan:= media-gfx/sane-backends:= virtual/jpeg:0= virtual/libusb:1 chromeos-base/permission_broker-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= media-libs/libpng:= media-gfx/sane-airscan:= media-gfx/sane-backends:= virtual/jpeg:0= virtual/libusb:1 chromeos-base/permission_broker-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Document Scanning service for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/lorgnette/
-IUSE=test cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/lorgnette/
+IUSE=test cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= media-libs/libpng:= media-gfx/sane-airscan:= media-gfx/sane-backends:= virtual/jpeg:0= virtual/libusb:1 chromeos-base/minijail test? ( chromeos-base/sane-backends-test media-gfx/perceptualdiff:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=417577f97fa1d50f6f9b5403ee0bb271
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=74dd36e1df8915249046f51ab57bdaeb
diff --git a/metadata/md5-cache/chromeos-base/lorgnette-wwcb-tests-0.0.1-r17 b/metadata/md5-cache/chromeos-base/lorgnette-wwcb-tests-0.0.1-r17
deleted file mode 100644
index 38b21f6..0000000
--- a/metadata/md5-cache/chromeos-base/lorgnette-wwcb-tests-0.0.1-r17
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst setup test unpack
-DEPEND=dev-go/cmp dev-lang/go
-DESCRIPTION=Works with Chromebook test suite for scanners
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/lorgnette/hwtests
-IUSE=cros_host cros_workon_tree_eed948040edc46de104c2d2371d6a87c1a486e28
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/lorgnette_cli
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=07aa855250488d497f569637a9dc8f3e
diff --git a/metadata/md5-cache/chromeos-base/lorgnette-wwcb-tests-0.0.1-r18 b/metadata/md5-cache/chromeos-base/lorgnette-wwcb-tests-0.0.1-r18
new file mode 100644
index 0000000..7c84ef1
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/lorgnette-wwcb-tests-0.0.1-r18
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst setup test unpack
+DEPEND=dev-go/cmp dev-lang/go
+DESCRIPTION=Works with Chromebook test suite for scanners
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/lorgnette/hwtests
+IUSE=cros_host cros_workon_tree_acecd2f5487e6023edf52d615bd9c21483504124
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/lorgnette_cli
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d94d0d8f256338ca01d0e2cd2bf3f124
diff --git a/metadata/md5-cache/chromeos-base/lorgnette-wwcb-tests-9999 b/metadata/md5-cache/chromeos-base/lorgnette-wwcb-tests-9999
index 00f037c..616a073 100644
--- a/metadata/md5-cache/chromeos-base/lorgnette-wwcb-tests-9999
+++ b/metadata/md5-cache/chromeos-base/lorgnette-wwcb-tests-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/lorgnette_cli
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=8a1e3ebe132b82295c26da9cdccc9c6a
diff --git a/metadata/md5-cache/chromeos-base/lorgnette_cli-0.0.1-r241 b/metadata/md5-cache/chromeos-base/lorgnette_cli-0.0.1-r241
deleted file mode 100644
index 27939a7..0000000
--- a/metadata/md5-cache/chromeos-base/lorgnette_cli-0.0.1-r241
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Command line interface to scanning service for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/lorgnette
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1540b1aa5d7bb259f0fd0c8c23b218607a506186_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1540b1aa5d7bb259f0fd0c8c23b218607a506186_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/lorgnette >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a214be8d7fea80cece21ec60da17fe9a
diff --git a/metadata/md5-cache/chromeos-base/lorgnette_cli-0.0.1-r307 b/metadata/md5-cache/chromeos-base/lorgnette_cli-0.0.1-r307
new file mode 100644
index 0000000..27452ce
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/lorgnette_cli-0.0.1-r307
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Command line interface to scanning service for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/lorgnette
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2ebd98a342da634118dbe0c2147061dadbacd722_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2ebd98a342da634118dbe0c2147061dadbacd722_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/lorgnette >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=746823b2a55073f116153eef73055d0c
diff --git a/metadata/md5-cache/chromeos-base/lorgnette_cli-9999 b/metadata/md5-cache/chromeos-base/lorgnette_cli-9999
index 38afa4c..cfe36f8 100644
--- a/metadata/md5-cache/chromeos-base/lorgnette_cli-9999
+++ b/metadata/md5-cache/chromeos-base/lorgnette_cli-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Command line interface to scanning service for Chromium OS
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/lorgnette
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/lorgnette >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=5c86acfc6c3e7b65c94cd7aac9a56fee
diff --git a/metadata/md5-cache/chromeos-base/lvmd-0.0.1-r12 b/metadata/md5-cache/chromeos-base/lvmd-0.0.1-r12
new file mode 100644
index 0000000..c120c98
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/lvmd-0.0.1-r12
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=sys-fs/lvm2:= chromeos-base/lvmd-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=A D-Bus service daemon for LVM
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/lvmd/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9e73e8a72352b1b1983427c5dcadad86102dae9f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9e73e8a72352b1b1983427c5dcadad86102dae9f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=sys-fs/lvm2:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=545c4b29f3a4e2d5071ae38b5dd43a9a
diff --git a/metadata/md5-cache/chromeos-base/lvmd-9999 b/metadata/md5-cache/chromeos-base/lvmd-9999
new file mode 100644
index 0000000..2dd1643b
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/lvmd-9999
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=sys-fs/lvm2:= chromeos-base/lvmd-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=A D-Bus service daemon for LVM
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/lvmd/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=sys-fs/lvm2:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8e648d76953dbe85452af515b67b9815
diff --git a/metadata/md5-cache/chromeos-base/lvmd-client-0.0.1-r11 b/metadata/md5-cache/chromeos-base/lvmd-client-0.0.1-r11
new file mode 100644
index 0000000..be76f16
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/lvmd-client-0.0.1-r11
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/chromeos-dbus-bindings:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Lvmd DBus client library
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/lvmd/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9e73e8a72352b1b1983427c5dcadad86102dae9f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9e73e8a72352b1b1983427c5dcadad86102dae9f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r11
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=af80ef965e60770b4088bf88596c5fc3
diff --git a/metadata/md5-cache/chromeos-base/lvmd-client-9999 b/metadata/md5-cache/chromeos-base/lvmd-client-9999
new file mode 100644
index 0000000..6469864
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/lvmd-client-9999
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/chromeos-dbus-bindings:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Lvmd DBus client library
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/lvmd/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/9999
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=39756801295e61c03aabd38c31514657
diff --git a/metadata/md5-cache/chromeos-base/manatee-client-0.0.1-r187 b/metadata/md5-cache/chromeos-base/manatee-client-0.0.1-r187
deleted file mode 100644
index cec6be9..0000000
--- a/metadata/md5-cache/chromeos-base/manatee-client-0.0.1-r187
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=chromeos-base/chromeos-dbus-bindings dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS ManaTEE D-Bus client library
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_68c18dcb5d0981cfd8fb60b1fc6f360c59d61bbc_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_68c18dcb5d0981cfd8fb60b1fc6f360c59d61bbc_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r187
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=871f330fd4ff1dc1e61192d3cc79db0f
diff --git a/metadata/md5-cache/chromeos-base/manatee-client-0.0.1-r278 b/metadata/md5-cache/chromeos-base/manatee-client-0.0.1-r278
new file mode 100644
index 0000000..f2abd4d
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/manatee-client-0.0.1-r278
@@ -0,0 +1,14 @@
+BDEPEND=chromeos-base/chromeos-dbus-bindings dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS ManaTEE D-Bus client library
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9c2074e601aedb8358ee3b7c367c62042409c577_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9c2074e601aedb8358ee3b7c367c62042409c577_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r278
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=32e671460a108259fcc5065a1bb6aa25
diff --git a/metadata/md5-cache/chromeos-base/manatee-client-9999 b/metadata/md5-cache/chromeos-base/manatee-client-9999
index 35ca125..61bd943 100644
--- a/metadata/md5-cache/chromeos-base/manatee-client-9999
+++ b/metadata/md5-cache/chromeos-base/manatee-client-9999
@@ -1,14 +1,14 @@
 BDEPEND=chromeos-base/chromeos-dbus-bindings dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS ManaTEE D-Bus client library
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=c73b5f2d8dc45ed6874cf710fa2b84f2
diff --git a/metadata/md5-cache/chromeos-base/manatee-runtime-0.1.0-r21 b/metadata/md5-cache/chromeos-base/manatee-runtime-0.1.0-r21
deleted file mode 100644
index f548801..0000000
--- a/metadata/md5-cache/chromeos-base/manatee-runtime-0.1.0-r21
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=chromeos-base/sirenia-tools dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/libsirenia:= =dev-rust/anyhow-1*:= >=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:= dev-rust/libchromeos:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2.0.0_alpha:= dev-rust/sync:= dev-rust/sys_util:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Library for TEE apps to interact with sirenia.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/manatee-runtime/
-IUSE=cros_host manatee cros_host cros_workon_tree_64da81af0b167f173bc429cd5753323771e15f12 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/libsirenia:= =dev-rust/anyhow-1*:= >=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:= dev-rust/libchromeos:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2.0.0_alpha:= dev-rust/sync:= dev-rust/sys_util:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r21
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9c93e1df687f29ef93b997fd60d17ee9
diff --git a/metadata/md5-cache/chromeos-base/manatee-runtime-0.1.0-r28 b/metadata/md5-cache/chromeos-base/manatee-runtime-0.1.0-r28
new file mode 100644
index 0000000..bd941a6
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/manatee-runtime-0.1.0-r28
@@ -0,0 +1,15 @@
+BDEPEND=chromeos-base/sirenia-tools dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=chromeos-base/libsirenia:= =dev-rust/anyhow-1*:= =dev-rust/assert_matches-1*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/once_cell-1*:= =dev-rust/serde-1*:= =dev-rust/serde_bytes-0.10*:= =dev-rust/stderrlog-0.5*:= dev-rust/sync:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Library for TEE apps to interact with sirenia.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/manatee-runtime/
+IUSE=cros_host manatee cros_host cros_workon_tree_8422c1eb4cbea0ef6d84e0211fbff62d0186a98a cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/libsirenia:= =dev-rust/anyhow-1*:= =dev-rust/assert_matches-1*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/once_cell-1*:= =dev-rust/serde-1*:= =dev-rust/serde_bytes-0.10*:= =dev-rust/stderrlog-0.5*:= dev-rust/sync:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r28
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=84c19234a2fee141c1c32f115fcf66a9
diff --git a/metadata/md5-cache/chromeos-base/manatee-runtime-9999 b/metadata/md5-cache/chromeos-base/manatee-runtime-9999
index a42640b..0a711e4 100644
--- a/metadata/md5-cache/chromeos-base/manatee-runtime-9999
+++ b/metadata/md5-cache/chromeos-base/manatee-runtime-9999
@@ -1,15 +1,15 @@
 BDEPEND=chromeos-base/sirenia-tools dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/libsirenia:= =dev-rust/anyhow-1*:= >=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:= dev-rust/libchromeos:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2.0.0_alpha:= dev-rust/sync:= dev-rust/sys_util:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=chromeos-base/libsirenia:= =dev-rust/anyhow-1*:= =dev-rust/assert_matches-1*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/once_cell-1*:= =dev-rust/serde-1*:= =dev-rust/serde_bytes-0.10*:= =dev-rust/stderrlog-0.5*:= dev-rust/sync:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Library for TEE apps to interact with sirenia.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/manatee-runtime/
-IUSE=cros_host manatee cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros_host manatee cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=chromeos-base/libsirenia:= =dev-rust/anyhow-1*:= >=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:= dev-rust/libchromeos:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2.0.0_alpha:= dev-rust/sync:= dev-rust/sys_util:=
+RDEPEND=chromeos-base/libsirenia:= =dev-rust/anyhow-1*:= =dev-rust/assert_matches-1*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/once_cell-1*:= =dev-rust/serde-1*:= =dev-rust/serde_bytes-0.10*:= =dev-rust/stderrlog-0.5*:= dev-rust/sync:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=db673355dfb33a19ff6b32bb7e1ff62b
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=478e397ca301c5f9eccdb05ee90d2627
diff --git a/metadata/md5-cache/chromeos-base/mcastd-0.0.1-r349 b/metadata/md5-cache/chromeos-base/mcastd-0.0.1-r349
deleted file mode 100644
index d7fab85..0000000
--- a/metadata/md5-cache/chromeos-base/mcastd-0.0.1-r349
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/protobuf:= chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Multicast forwarder daemon
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/network/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_49c48c6a3ecaa1c5c5d4762c8275d21891e7c40d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_49c48c6a3ecaa1c5c5d4762c8275d21891e7c40d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=dev-libs/protobuf:= chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r349
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=3c8d638c74c3ee6478d03d8c6ecf714b
diff --git a/metadata/md5-cache/chromeos-base/mcastd-0.0.1-r432 b/metadata/md5-cache/chromeos-base/mcastd-0.0.1-r432
new file mode 100644
index 0000000..cb5297b
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/mcastd-0.0.1-r432
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=dev-libs/protobuf:= chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Multicast forwarder daemon
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/network/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f03ea3ffcf6f08a1cad9dffba29095b0b988ec0d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f03ea3ffcf6f08a1cad9dffba29095b0b988ec0d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=dev-libs/protobuf:= chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r432
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c60d4cb976c7f55c76b5d460f687bede
diff --git a/metadata/md5-cache/chromeos-base/mcastd-9999 b/metadata/md5-cache/chromeos-base/mcastd-9999
index 4f9ffb0..c542f3a 100644
--- a/metadata/md5-cache/chromeos-base/mcastd-9999
+++ b/metadata/md5-cache/chromeos-base/mcastd-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/protobuf:= chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=dev-libs/protobuf:= chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Multicast forwarder daemon
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/network/
-IUSE=cros_host cros_workon_tree_ cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/network/
+IUSE=cros_host cros_workon_tree_ cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=dev-libs/protobuf:= chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=519194f7e6b651e5fd502ae9d17b3629
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e216a6d11084c5fc4e7e2bc8ba971d61
diff --git a/metadata/md5-cache/chromeos-base/memd-0.1.0-r161 b/metadata/md5-cache/chromeos-base/memd-0.1.0-r161
deleted file mode 100644
index 38edcff..0000000
--- a/metadata/md5-cache/chromeos-base/memd-0.1.0-r161
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/system_api:= sys-apps/dbus:= >=dev-rust/chrono-0.4.2:= <dev-rust/chrono-0.5.0 >=dev-rust/dbus-0.6.1:= <dev-rust/dbus-0.7.0 =dev-rust/env_logger-0.6*:= >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/log-0.4.5:= <dev-rust/log-0.5.0 >=dev-rust/protobuf-2.3:= <dev-rust/protobuf-3.0 >=dev-rust/protoc-rust-2.3:= <dev-rust/protoc-rust-3 =dev-rust/syslog-4*:= =dev-rust/tempfile-3*:= >=dev-rust/time-0.1.40:= <dev-rust/time-0.2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Fine-grain memory metrics collector
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/metrics/memd/
-IUSE=+seccomp cros_host cros_workon_tree_dd1155feccf95c9b2518b57939d4ed1b7b5c3dc0_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=sys-apps/dbus
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r161
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a67a834a43a16ccd988344b4e77e6196
diff --git a/metadata/md5-cache/chromeos-base/memd-0.1.0-r221 b/metadata/md5-cache/chromeos-base/memd-0.1.0-r221
new file mode 100644
index 0000000..01d536b
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/memd-0.1.0-r221
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=chromeos-base/system_api:= sys-apps/dbus:= >=dev-rust/chrono-0.4.2:= <dev-rust/chrono-0.5.0 >=dev-rust/dbus-0.6.1:= <dev-rust/dbus-0.7.0 =dev-rust/env_logger-0.9*:= >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/log-0.4.5:= <dev-rust/log-0.5.0 >=dev-rust/protobuf-2.3:= <dev-rust/protobuf-3.0 >=dev-rust/protoc-rust-2.3:= <dev-rust/protoc-rust-3 =dev-rust/syslog-6*:= =dev-rust/tempfile-3*:= =dev-rust/time-0.3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Fine-grain memory metrics collector
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/metrics/memd/
+IUSE=+seccomp cros_host cros_workon_tree_01b50a59e273ec24dbcb97c99f0613495bec8cd2_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=sys-apps/dbus virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r221
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f0b5cf4033baa54c350a51605461cd84
diff --git a/metadata/md5-cache/chromeos-base/memd-9999 b/metadata/md5-cache/chromeos-base/memd-9999
index 9e54a57..1c01a4e 100644
--- a/metadata/md5-cache/chromeos-base/memd-9999
+++ b/metadata/md5-cache/chromeos-base/memd-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/system_api:= sys-apps/dbus:= >=dev-rust/chrono-0.4.2:= <dev-rust/chrono-0.5.0 >=dev-rust/dbus-0.6.1:= <dev-rust/dbus-0.7.0 =dev-rust/env_logger-0.6*:= >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/log-0.4.5:= <dev-rust/log-0.5.0 >=dev-rust/protobuf-2.3:= <dev-rust/protobuf-3.0 >=dev-rust/protoc-rust-2.3:= <dev-rust/protoc-rust-3 =dev-rust/syslog-4*:= =dev-rust/tempfile-3*:= >=dev-rust/time-0.1.40:= <dev-rust/time-0.2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=chromeos-base/system_api:= sys-apps/dbus:= >=dev-rust/chrono-0.4.2:= <dev-rust/chrono-0.5.0 >=dev-rust/dbus-0.6.1:= <dev-rust/dbus-0.7.0 =dev-rust/env_logger-0.9*:= >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/log-0.4.5:= <dev-rust/log-0.5.0 >=dev-rust/protobuf-2.3:= <dev-rust/protobuf-3.0 >=dev-rust/protoc-rust-2.3:= <dev-rust/protoc-rust-3 =dev-rust/syslog-6*:= =dev-rust/tempfile-3*:= =dev-rust/time-0.3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Fine-grain memory metrics collector
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/metrics/memd/
-IUSE=+seccomp cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=+seccomp cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=sys-apps/dbus
+RDEPEND=sys-apps/dbus virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c48d637d578f7d6916d993d179c17bbe
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=45ee65da60da12877771964ca63102d7
diff --git a/metadata/md5-cache/chromeos-base/mems_setup-0.0.1-r411 b/metadata/md5-cache/chromeos-base/mems_setup-0.0.1-r411
deleted file mode 100644
index 8d9615d..0000000
--- a/metadata/md5-cache/chromeos-base/mems_setup-0.0.1-r411
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libmems:= net-libs/libiio:= dev-libs/re2:= chromeos-base/system_api:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=MEMS Setup for Chromium OS.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/mems_setup
-IUSE=fuzzer iioservice cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_bea140d13f7cf1092e4c89a45011c04c28327972_04d918571ad6d12563589ccf1b8c0e79b65521aa_c624960a2c8270e05dbfc93b37f1ac2a8f8fa0bd_f09f4711e5043f57c202260d0214f64c0eab5431_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_bea140d13f7cf1092e4c89a45011c04c28327972_04d918571ad6d12563589ccf1b8c0e79b65521aa_c624960a2c8270e05dbfc93b37f1ac2a8f8fa0bd_f09f4711e5043f57c202260d0214f64c0eab5431_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/libmems:= net-libs/libiio:= dev-libs/re2:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r411
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
-_md5_=5cc2fd5ca603e831e5dbdecf49433474
diff --git a/metadata/md5-cache/chromeos-base/mems_setup-0.0.1-r543 b/metadata/md5-cache/chromeos-base/mems_setup-0.0.1-r543
new file mode 100644
index 0000000..8c19808
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/mems_setup-0.0.1-r543
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/libmems:= net-libs/libiio:= dev-libs/re2:= chromeos-base/system_api:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=MEMS Setup for Chromium OS.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/mems_setup
+IUSE=fuzzer iioservice cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_527abd7a988a45572305a6c44b5324d0d9cf8be2_a97bd01dbd0e88c337336d29105ee63b03a4ef9f_59907d1e2a26ebb55ffe31e1bb4154906a2a8b80_4d8f590bd987ed599a906fe078fb08b51c7c7f9c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_527abd7a988a45572305a6c44b5324d0d9cf8be2_a97bd01dbd0e88c337336d29105ee63b03a4ef9f_59907d1e2a26ebb55ffe31e1bb4154906a2a8b80_4d8f590bd987ed599a906fe078fb08b51c7c7f9c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/libmems:= net-libs/libiio:= dev-libs/re2:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r543
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
+_md5_=35931f08aa63247bf679439088c2d6f5
diff --git a/metadata/md5-cache/chromeos-base/mems_setup-9999 b/metadata/md5-cache/chromeos-base/mems_setup-9999
index 27bbfa2..e967cba 100644
--- a/metadata/md5-cache/chromeos-base/mems_setup-9999
+++ b/metadata/md5-cache/chromeos-base/mems_setup-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libmems:= net-libs/libiio:= dev-libs/re2:= chromeos-base/system_api:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/libmems:= net-libs/libiio:= dev-libs/re2:= chromeos-base/system_api:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=MEMS Setup for Chromium OS.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/mems_setup
-IUSE=fuzzer iioservice cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/mems_setup
+IUSE=fuzzer iioservice cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/libmems:= net-libs/libiio:= dev-libs/re2:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
-_md5_=6c8c6018a6a46a5432ac697201e6bea5
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
+_md5_=f59a21bf1831f385814a4b96951a8cb1
diff --git a/metadata/md5-cache/chromeos-base/metrics-0.0.1-r3368 b/metadata/md5-cache/chromeos-base/metrics-0.0.1-r3368
deleted file mode 100644
index f6b15e1..0000000
--- a/metadata/md5-cache/chromeos-base/metrics-0.0.1-r3368
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=dev-libs/protobuf:= dev-libs/re2:= sys-apps/rootdev:= chromeos-base/session_manager-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Metrics aggregation service for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/metrics/
-IUSE=fuzzer metrics_uploader +passive_metrics systemd cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=dev-libs/protobuf:= dev-libs/re2:= sys-apps/rootdev:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
-SLOT=0/0.0.1-r3368
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=ec07d7057e2f2314e22ceeb193857b97
diff --git a/metadata/md5-cache/chromeos-base/metrics-0.0.1-r3468 b/metadata/md5-cache/chromeos-base/metrics-0.0.1-r3468
new file mode 100644
index 0000000..f2300ff2
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/metrics-0.0.1-r3468
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=dev-libs/protobuf:= dev-libs/re2:= sys-apps/rootdev:= chromeos-base/session_manager-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Metrics aggregation service for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/metrics/
+IUSE=fuzzer metrics_uploader +passive_metrics systemd cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=dev-libs/protobuf:= dev-libs/re2:= sys-apps/rootdev:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
+SLOT=0/0.0.1-r3468
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=9b4eef53d514fe026d912ea89404c488
diff --git a/metadata/md5-cache/chromeos-base/metrics-9999 b/metadata/md5-cache/chromeos-base/metrics-9999
index 9a2e748..b941a24 100644
--- a/metadata/md5-cache/chromeos-base/metrics-9999
+++ b/metadata/md5-cache/chromeos-base/metrics-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=dev-libs/protobuf:= dev-libs/re2:= sys-apps/rootdev:= chromeos-base/session_manager-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=dev-libs/protobuf:= dev-libs/re2:= sys-apps/rootdev:= chromeos-base/session_manager-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Metrics aggregation service for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/metrics/
-IUSE=fuzzer metrics_uploader +passive_metrics systemd cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/metrics/
+IUSE=fuzzer metrics_uploader +passive_metrics systemd cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=dev-libs/protobuf:= dev-libs/re2:= sys-apps/rootdev:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=5692f8eaaceaedf78415d03c6b860a08
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=01fef0483e07fba1b057124eb52d4a19
diff --git a/metadata/md5-cache/chromeos-base/midis-0.0.1-r1230 b/metadata/md5-cache/chromeos-base/midis-0.0.1-r1230
deleted file mode 100644
index 6ab667b..0000000
--- a/metadata/md5-cache/chromeos-base/midis-0.0.1-r1230
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=media-libs/alsa-lib:= chromeos-base/libbrillo:=[asan?,fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=MIDI Server for Chromium OS
-EAPI=7
-IUSE=+seccomp asan fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1dc86efdcfdaf1aa0f9cbaf949d36e5901dc6513_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4baf7cba90f916c94dd07c5746355f65e2ee0d8e cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1dc86efdcfdaf1aa0f9cbaf949d36e5901dc6513_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4baf7cba90f916c94dd07c5746355f65e2ee0d8e cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=media-libs/alsa-lib:= chromeos-base/libbrillo:=[asan?,fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r1230
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=86c4eab3846cdf8b9cea7f7cc46ac996
diff --git a/metadata/md5-cache/chromeos-base/midis-0.0.1-r1290 b/metadata/md5-cache/chromeos-base/midis-0.0.1-r1290
new file mode 100644
index 0000000..0c32fa9
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/midis-0.0.1-r1290
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=media-libs/alsa-lib:= chromeos-base/libbrillo:=[asan?,fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=MIDI Server for Chromium OS
+EAPI=7
+IUSE=+seccomp asan fuzzer cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_31231d9b91954e1332b0c70e98f518eed9f27186_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4baf7cba90f916c94dd07c5746355f65e2ee0d8e cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_31231d9b91954e1332b0c70e98f518eed9f27186_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4baf7cba90f916c94dd07c5746355f65e2ee0d8e cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=media-libs/alsa-lib:= chromeos-base/libbrillo:=[asan?,fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r1290
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=00b503efe4eb43dd48be584dc9017772
diff --git a/metadata/md5-cache/chromeos-base/midis-9999 b/metadata/md5-cache/chromeos-base/midis-9999
index ce2d537..882fa48 100644
--- a/metadata/md5-cache/chromeos-base/midis-9999
+++ b/metadata/md5-cache/chromeos-base/midis-9999
@@ -1,13 +1,13 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=media-libs/alsa-lib:= chromeos-base/libbrillo:=[asan?,fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=media-libs/alsa-lib:= chromeos-base/libbrillo:=[asan?,fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=MIDI Server for Chromium OS
 EAPI=7
-IUSE=+seccomp asan fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=+seccomp asan fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=media-libs/alsa-lib:= chromeos-base/libbrillo:=[asan?,fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
 _md5_=29726501553f8bbd8f1ee1d54cb8b5f1
diff --git a/metadata/md5-cache/chromeos-base/minijail-17-r28 b/metadata/md5-cache/chromeos-base/minijail-17-r28
deleted file mode 100644
index 642208b..0000000
--- a/metadata/md5-cache/chromeos-base/minijail-17-r28
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=sys-libs/libcap:= !<chromeos-base/chromeos-minijail-1 cros_host? ( python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_6? ( dev-python/setuptools[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/setuptools[python_targets_python3_7(-)] ) ) test? ( dev-cpp/gtest:= )
-DESCRIPTION=helper binary and library for sandboxing & restricting privs of services
-EAPI=7
-HOMEPAGE=https://android.googlesource.com/platform/external/minijail
-IUSE=asan cros-debug default-ret-log +seccomp test cros-debug asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_aafa68f31c18627726261f3af23594488e94aaba python_single_target_python3_6 python_single_target_python3_7
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=sys-libs/libcap:= !<chromeos-base/chromeos-minijail-1
-REQUIRED_USE=default-ret-log? ( cros-debug )
-SLOT=0/17-r28
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0b2aee4480d402e46d7e6c098b51bfa7
diff --git a/metadata/md5-cache/chromeos-base/minijail-18-r12 b/metadata/md5-cache/chromeos-base/minijail-18-r12
new file mode 100644
index 0000000..7f07483
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/minijail-18-r12
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=sys-libs/libcap:= !<chromeos-base/chromeos-minijail-1 cros_host? ( python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) python_single_target_python3_6? ( dev-python/setuptools[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/setuptools[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/setuptools[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/setuptools[python_targets_python3_9(-)] ) ) test? ( dev-cpp/gtest:= )
+DESCRIPTION=helper binary and library for sandboxing & restricting privs of services
+EAPI=7
+HOMEPAGE=https://google.github.io/minijail/
+IUSE=asan cros-debug default-ret-log +seccomp test cros-debug asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_2c7fbae3490573a0292d6a29b44f767f217685ea python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=sys-libs/libcap:= !<chromeos-base/chromeos-minijail-1
+REQUIRED_USE=default-ret-log? ( cros-debug )
+SLOT=0/18-r12
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=fc4de36dc58a4523502a933bc9ea783f
diff --git a/metadata/md5-cache/chromeos-base/minijail-9999 b/metadata/md5-cache/chromeos-base/minijail-9999
index 83c4484..043f9c7 100644
--- a/metadata/md5-cache/chromeos-base/minijail-9999
+++ b/metadata/md5-cache/chromeos-base/minijail-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=sys-libs/libcap:= !<chromeos-base/chromeos-minijail-1 cros_host? ( python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_6? ( dev-python/setuptools[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/setuptools[python_targets_python3_7(-)] ) ) test? ( dev-cpp/gtest:= )
+DEPEND=sys-libs/libcap:= !<chromeos-base/chromeos-minijail-1 cros_host? ( python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) python_single_target_python3_6? ( dev-python/setuptools[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/setuptools[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/setuptools[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/setuptools[python_targets_python3_9(-)] ) ) test? ( dev-cpp/gtest:= )
 DESCRIPTION=helper binary and library for sandboxing & restricting privs of services
 EAPI=7
-HOMEPAGE=https://android.googlesource.com/platform/external/minijail
-IUSE=asan cros-debug default-ret-log +seccomp test cros-debug asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ python_single_target_python3_6 python_single_target_python3_7
+HOMEPAGE=https://google.github.io/minijail/
+IUSE=asan cros-debug default-ret-log +seccomp test cros-debug asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 RDEPEND=sys-libs/libcap:= !<chromeos-base/chromeos-minijail-1
 REQUIRED_USE=default-ret-log? ( cros-debug )
 SLOT=0/9999
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=b2a53b145b55c90f8d827d51366e72bc
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8791b2dae61064c1487d3fd77f8fe701
diff --git a/metadata/md5-cache/chromeos-base/minios-0.0.1-r186 b/metadata/md5-cache/chromeos-base/minios-0.0.1-r186
deleted file mode 100644
index dfb382e..0000000
--- a/metadata/md5-cache/chromeos-base/minios-0.0.1-r186
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/metrics:= chromeos-base/shill-client:= chromeos-base/update_engine-client:= x11-libs/libxkbcommon:= x11-misc/xkeyboard-config:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=The miniOS main logic.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/minios/
-IUSE=minios cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_2666aac28fb7f5fda601ac383ea8a1a97b6a0142_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_2666aac28fb7f5fda601ac383ea8a1a97b6a0142_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/metrics:= chromeos-base/shill-client:= chromeos-base/update_engine-client:= x11-libs/libxkbcommon:= x11-misc/xkeyboard-config:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-REQUIRED_USE=minios
-SLOT=0/0.0.1-r186
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e80c656cb9748168c6a1ebc518e20c00
diff --git a/metadata/md5-cache/chromeos-base/minios-0.0.1-r295 b/metadata/md5-cache/chromeos-base/minios-0.0.1-r295
new file mode 100644
index 0000000..84f451c
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/minios-0.0.1-r295
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/metrics:= chromeos-base/shill-client:= chromeos-base/update_engine-client:= x11-libs/libxkbcommon:= x11-misc/xkeyboard-config:= chromeos-base/system_api:= chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=The miniOS main logic.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/minios/
+IUSE=lvm_stateful_partition minios cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_267f4c31778cc992ff3cbbff6a8147c24cad8a2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_267f4c31778cc992ff3cbbff6a8147c24cad8a2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/metrics:= chromeos-base/shill-client:= chromeos-base/update_engine-client:= x11-libs/libxkbcommon:= x11-misc/xkeyboard-config:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=minios
+SLOT=0/0.0.1-r295
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f398a892ed8faebe6798fde459676a4f
diff --git a/metadata/md5-cache/chromeos-base/minios-9999 b/metadata/md5-cache/chromeos-base/minios-9999
index 0897588..cd4e329 100644
--- a/metadata/md5-cache/chromeos-base/minios-9999
+++ b/metadata/md5-cache/chromeos-base/minios-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/metrics:= chromeos-base/shill-client:= chromeos-base/update_engine-client:= x11-libs/libxkbcommon:= x11-misc/xkeyboard-config:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/metrics:= chromeos-base/shill-client:= chromeos-base/update_engine-client:= x11-libs/libxkbcommon:= x11-misc/xkeyboard-config:= chromeos-base/system_api:= chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=The miniOS main logic.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/minios/
-IUSE=minios cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=lvm_stateful_partition minios cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/metrics:= chromeos-base/shill-client:= chromeos-base/update_engine-client:= x11-libs/libxkbcommon:= x11-misc/xkeyboard-config:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 REQUIRED_USE=minios
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=b4848bb76a45bd329ef1929cbd81b046
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=977362079b1cc47c426a2296c2f85478
diff --git a/metadata/md5-cache/chromeos-base/missive-0.0.1-r173 b/metadata/md5-cache/chromeos-base/missive-0.0.1-r173
deleted file mode 100644
index ff4dbc0..0000000
--- a/metadata/md5-cache/chromeos-base/missive-0.0.1-r173
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=app-arch/snappy chromeos-base/minijail:= dev-libs/protobuf:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Daemon to encrypt, store, and forward reporting events for managed devices.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/missive/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_681110dc099a5f8294c98964bbb8d664be4e73b6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_681110dc099a5f8294c98964bbb8d664be4e73b6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=app-arch/snappy chromeos-base/minijail:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=32bd296afdd0cf0e26e17d437d758a58
diff --git a/metadata/md5-cache/chromeos-base/missive-0.0.1-r300 b/metadata/md5-cache/chromeos-base/missive-0.0.1-r300
new file mode 100644
index 0000000..0687d35
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/missive-0.0.1-r300
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=app-arch/snappy chromeos-base/metrics:= chromeos-base/minijail:= dev-libs/protobuf:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Daemon to encrypt, store, and forward reporting events for managed devices.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/missive/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_193c9f869b11ef9acebdda75fc70f0f0e79c54ee_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_193c9f869b11ef9acebdda75fc70f0f0e79c54ee_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=app-arch/snappy chromeos-base/metrics:= chromeos-base/minijail:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=9d594b7bde1d21e14328c429df4cf7e3
diff --git a/metadata/md5-cache/chromeos-base/missive-9999 b/metadata/md5-cache/chromeos-base/missive-9999
index 16b4ff9..71c0fc8 100644
--- a/metadata/md5-cache/chromeos-base/missive-9999
+++ b/metadata/md5-cache/chromeos-base/missive-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=app-arch/snappy chromeos-base/minijail:= dev-libs/protobuf:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=app-arch/snappy chromeos-base/metrics:= chromeos-base/minijail:= dev-libs/protobuf:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Daemon to encrypt, store, and forward reporting events for managed devices.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/missive/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=app-arch/snappy chromeos-base/minijail:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+RDEPEND=app-arch/snappy chromeos-base/metrics:= chromeos-base/minijail:= dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=01f8d96cc923d1557134d0b16074dcb5
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=eef4bdfbf7edffbc9fdc1ec18354a936
diff --git a/metadata/md5-cache/chromeos-base/mist-0.0.1-r3205 b/metadata/md5-cache/chromeos-base/mist-0.0.1-r3205
deleted file mode 100644
index ffb715b..0000000
--- a/metadata/md5-cache/chromeos-base/mist-0.0.1-r3205
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libbrillo:=[udev] >=chromeos-base/metrics-0.0.1-r3152 dev-libs/protobuf:= net-dialup/ppp virtual/libusb:1 virtual/udev >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= virtual/pkgconfig
-DESCRIPTION=Chromium OS Modem Interface Switching Tool
-EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/mist/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_1c2495a946b9d6151daff52a17cbc3548d26aa94_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_1c2495a946b9d6151daff52a17cbc3548d26aa94_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/libbrillo:=[udev] >=chromeos-base/metrics-0.0.1-r3152 dev-libs/protobuf:= net-dialup/ppp virtual/libusb:1 virtual/udev >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=220c362ea73bc3449e913c5eea6c6b4d
diff --git a/metadata/md5-cache/chromeos-base/mist-0.0.1-r3304 b/metadata/md5-cache/chromeos-base/mist-0.0.1-r3304
new file mode 100644
index 0000000..6a7f526
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/mist-0.0.1-r3304
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/libbrillo:=[udev] >=chromeos-base/metrics-0.0.1-r3152 dev-libs/protobuf:= net-dialup/ppp virtual/libusb:1 virtual/udev >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= virtual/pkgconfig
+DESCRIPTION=Chromium OS Modem Interface Switching Tool
+EAPI=6
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/mist/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_4ec2fa4d5c39ef8f7ff31b3d41e38249461e55f7_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_4ec2fa4d5c39ef8f7ff31b3d41e38249461e55f7_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/libbrillo:=[udev] >=chromeos-base/metrics-0.0.1-r3152 dev-libs/protobuf:= net-dialup/ppp virtual/libusb:1 virtual/udev >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=ee00bbf35c60a1a1524a4a7b7ad1fabd
diff --git a/metadata/md5-cache/chromeos-base/mist-9999 b/metadata/md5-cache/chromeos-base/mist-9999
index c84b984..14a415e 100644
--- a/metadata/md5-cache/chromeos-base/mist-9999
+++ b/metadata/md5-cache/chromeos-base/mist-9999
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libbrillo:=[udev] >=chromeos-base/metrics-0.0.1-r3152 dev-libs/protobuf:= net-dialup/ppp virtual/libusb:1 virtual/udev >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= virtual/pkgconfig
+DEPEND=chromeos-base/libbrillo:=[udev] >=chromeos-base/metrics-0.0.1-r3152 dev-libs/protobuf:= net-dialup/ppp virtual/libusb:1 virtual/udev >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= virtual/pkgconfig
 DESCRIPTION=Chromium OS Modem Interface Switching Tool
 EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/mist/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/mist/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/libbrillo:=[udev] >=chromeos-base/metrics-0.0.1-r3152 dev-libs/protobuf:= net-dialup/ppp virtual/libusb:1 virtual/udev >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=bfa1d6824d7cb16c0f1f87650f885d03
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=91f61d8bda59fe1b40cd391b0d67cbfb
diff --git a/metadata/md5-cache/chromeos-base/mk-payload-0.0.1 b/metadata/md5-cache/chromeos-base/mk-payload-0.0.1
new file mode 100644
index 0000000..ffc0b0a
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/mk-payload-0.0.1
@@ -0,0 +1,8 @@
+DEFINED_PHASES=install
+DESCRIPTION=Ebuild for Android mk_payload tool.
+EAPI=7
+KEYWORDS=-* amd64
+LICENSE=Apache-2.0
+SLOT=0
+SRC_URI=gs://chromeos-localmirror/distfiles/mk-payload-0.0.1.gz
+_md5_=86abb242fe8c0b68706d4c58f05cf725
diff --git a/metadata/md5-cache/chromeos-base/ml-0.0.1-r680 b/metadata/md5-cache/chromeos-base/ml-0.0.1-r680
deleted file mode 100644
index b5d2871..0000000
--- a/metadata/md5-cache/chromeos-base/ml-0.0.1-r680
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/chrome-icu:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= internal? ( ondevice_speech? ( chromeos-soda/libsoda:=[dlc=] ) ) nnapi? ( chromeos-base/aosp-frameworks-ml-nn ) media-libs/cros-camera-document-scanning:=[ondevice_document_scanner=] >=dev-libs/libgrammar-0.0.4:=[ondevice_grammar=] dev-libs/libhandwriting:=[ondevice_handwriting=,ondevice_handwriting_dlc=] >=dev-libs/libsuggest-0.0.9:=[ondevice_text_suggestions=] >=dev-libs/libtextclassifier-0.0.1-r79:= sci-libs/tensorflow:= chromeos-base/system_api:=[fuzzer?] dev-cpp/absl:= dev-libs/libutf:= dev-libs/marisa-aosp:= fuzzer? ( dev-libs/libprotobuf-mutator ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Machine learning service for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/main/ml
-IUSE=dlc fuzzer internal ml_benchmark_drivers nnapi ondevice_document_scanner ondevice_grammar ondevice_handwriting ondevice_handwriting_dlc ondevice_speech ondevice_text_suggestions cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_c9e5f91317203c51c0b741bb06a86cd64bf542c2_fdd0209826719268c01d190ed7bbfa76b177f2f5_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_c9e5f91317203c51c0b741bb06a86cd64bf542c2_fdd0209826719268c01d190ed7bbfa76b177f2f5_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/chrome-icu:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= internal? ( ondevice_speech? ( chromeos-soda/libsoda:=[dlc=] ) ) nnapi? ( chromeos-base/aosp-frameworks-ml-nn ) media-libs/cros-camera-document-scanning:=[ondevice_document_scanner=] >=dev-libs/libgrammar-0.0.4:=[ondevice_grammar=] dev-libs/libhandwriting:=[ondevice_handwriting=,ondevice_handwriting_dlc=] >=dev-libs/libsuggest-0.0.9:=[ondevice_text_suggestions=] >=dev-libs/libtextclassifier-0.0.1-r79:= sci-libs/tensorflow:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-REQUIRED_USE=ondevice_speech? ( dlc )
-SLOT=0/0.0.1-r680
-SRC_URI=gs://chromeos-localmirror/distfiles/mlservice-model-smart_dim-20200206-downloadable.tflite gs://chromeos-localmirror/distfiles/mlservice-model-smart_dim-20210201-downloadable.tflite gs://chromeos-localmirror/distfiles/mlservice-model-test_add-20180914.tflite gs://chromeos-localmirror/distfiles/mlservice-model-search_ranker-20190923.tflite gs://chromeos-localmirror/distfiles/mlservice-model-smart_dim-20190521-v3.tflite gs://chromeos-localmirror/distfiles/mlservice-model-adaptive_charging-20211105.tflite gs://chromeos-localmirror/distfiles/mlservice-model-adaptive_charging-20211105-preprocessor.pb gs://chromeos-localmirror/distfiles/mlservice-model-smart_dim-20190521-preprocessor.pb
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=98a1ae036e5f21c529b977b1cfaefa48
diff --git a/metadata/md5-cache/chromeos-base/ml-0.0.1-r765 b/metadata/md5-cache/chromeos-base/ml-0.0.1-r765
new file mode 100644
index 0000000..eacd72d
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/ml-0.0.1-r765
@@ -0,0 +1,16 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/chrome-icu:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= internal? ( ondevice_speech? ( chromeos-soda/libsoda:=[dlc=] ) ) nnapi? ( chromeos-base/aosp-frameworks-ml-nn ) dlc? ( ondevice_document_scanner_dlc? ( media-libs/cros-camera-document-scanner-dlc ) ) media-libs/cros-camera-libfs:=[ondevice_document_scanner=,ondevice_document_scanner_dlc=] >=dev-libs/libgrammar-0.0.4:=[ondevice_grammar=] dev-libs/libhandwriting:=[ondevice_handwriting=,ondevice_handwriting_dlc=] >=dev-libs/libsuggest-0.0.9:=[ondevice_text_suggestions=] >=dev-libs/libtextclassifier-0.0.1-r79:= sci-libs/tensorflow:= chromeos-base/system_api:=[fuzzer?] dev-cpp/abseil-cpp:= dev-libs/libutf:= dev-libs/marisa-aosp:= fuzzer? ( dev-libs/libprotobuf-mutator ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Machine learning service for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/main/ml
+IUSE=dlc fuzzer internal march_alderlake ml_benchmark_drivers nnapi ondevice_document_scanner ondevice_document_scanner_dlc ondevice_grammar ondevice_handwriting ondevice_handwriting_dlc ondevice_speech ondevice_text_suggestions cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_efb8748309392ad76f174d36f109b9866bcf8241_363badc7f07136727d95cdd25b229e9282328f00_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_efb8748309392ad76f174d36f109b9866bcf8241_363badc7f07136727d95cdd25b229e9282328f00_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/chrome-icu:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= internal? ( ondevice_speech? ( chromeos-soda/libsoda:=[dlc=] ) ) nnapi? ( chromeos-base/aosp-frameworks-ml-nn ) dlc? ( ondevice_document_scanner_dlc? ( media-libs/cros-camera-document-scanner-dlc ) ) media-libs/cros-camera-libfs:=[ondevice_document_scanner=,ondevice_document_scanner_dlc=] >=dev-libs/libgrammar-0.0.4:=[ondevice_grammar=] dev-libs/libhandwriting:=[ondevice_handwriting=,ondevice_handwriting_dlc=] >=dev-libs/libsuggest-0.0.9:=[ondevice_text_suggestions=] >=dev-libs/libtextclassifier-0.0.1-r79:= sci-libs/tensorflow:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+REQUIRED_USE=ondevice_speech? ( dlc )
+SLOT=0/0.0.1-r765
+SRC_URI=gs://chromeos-localmirror/distfiles/mlservice-model-smart_dim-20200206-downloadable.tflite gs://chromeos-localmirror/distfiles/mlservice-model-smart_dim-20210201-downloadable.tflite gs://chromeos-localmirror/distfiles/mlservice-model-test_add-20180914.tflite gs://chromeos-localmirror/distfiles/mlservice-model-search_ranker-20190923.tflite gs://chromeos-localmirror/distfiles/mlservice-model-smart_dim-20190521-v3.tflite gs://chromeos-localmirror/distfiles/mlservice-model-adaptive_charging-20211105.tflite gs://chromeos-localmirror/distfiles/mlservice-model-adaptive_charging-20211105-preprocessor.pb gs://chromeos-localmirror/distfiles/mlservice-model-smart_dim-20190521-preprocessor.pb
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=344e70456544d27d4560ac9af5a8a805
diff --git a/metadata/md5-cache/chromeos-base/ml-9999 b/metadata/md5-cache/chromeos-base/ml-9999
index ee7df6e..0b9505d 100644
--- a/metadata/md5-cache/chromeos-base/ml-9999
+++ b/metadata/md5-cache/chromeos-base/ml-9999
@@ -1,16 +1,16 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/chrome-icu:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= internal? ( ondevice_speech? ( chromeos-soda/libsoda:=[dlc=] ) ) nnapi? ( chromeos-base/aosp-frameworks-ml-nn ) media-libs/cros-camera-document-scanning:=[ondevice_document_scanner=] >=dev-libs/libgrammar-0.0.4:=[ondevice_grammar=] dev-libs/libhandwriting:=[ondevice_handwriting=,ondevice_handwriting_dlc=] >=dev-libs/libsuggest-0.0.9:=[ondevice_text_suggestions=] >=dev-libs/libtextclassifier-0.0.1-r79:= sci-libs/tensorflow:= chromeos-base/system_api:=[fuzzer?] dev-cpp/absl:= dev-libs/libutf:= dev-libs/marisa-aosp:= fuzzer? ( dev-libs/libprotobuf-mutator ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/chrome-icu:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= internal? ( ondevice_speech? ( chromeos-soda/libsoda:=[dlc=] ) ) nnapi? ( chromeos-base/aosp-frameworks-ml-nn ) dlc? ( ondevice_document_scanner_dlc? ( media-libs/cros-camera-document-scanner-dlc ) ) media-libs/cros-camera-libfs:=[ondevice_document_scanner=,ondevice_document_scanner_dlc=] >=dev-libs/libgrammar-0.0.4:=[ondevice_grammar=] dev-libs/libhandwriting:=[ondevice_handwriting=,ondevice_handwriting_dlc=] >=dev-libs/libsuggest-0.0.9:=[ondevice_text_suggestions=] >=dev-libs/libtextclassifier-0.0.1-r79:= sci-libs/tensorflow:= chromeos-base/system_api:=[fuzzer?] dev-cpp/abseil-cpp:= dev-libs/libutf:= dev-libs/marisa-aosp:= fuzzer? ( dev-libs/libprotobuf-mutator ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Machine learning service for Chromium OS
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/main/ml
-IUSE=dlc fuzzer internal ml_benchmark_drivers nnapi ondevice_document_scanner ondevice_grammar ondevice_handwriting ondevice_handwriting_dlc ondevice_speech ondevice_text_suggestions cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=dlc fuzzer internal march_alderlake ml_benchmark_drivers nnapi ondevice_document_scanner ondevice_document_scanner_dlc ondevice_grammar ondevice_handwriting ondevice_handwriting_dlc ondevice_speech ondevice_text_suggestions cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=chromeos-base/chrome-icu:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= internal? ( ondevice_speech? ( chromeos-soda/libsoda:=[dlc=] ) ) nnapi? ( chromeos-base/aosp-frameworks-ml-nn ) media-libs/cros-camera-document-scanning:=[ondevice_document_scanner=] >=dev-libs/libgrammar-0.0.4:=[ondevice_grammar=] dev-libs/libhandwriting:=[ondevice_handwriting=,ondevice_handwriting_dlc=] >=dev-libs/libsuggest-0.0.9:=[ondevice_text_suggestions=] >=dev-libs/libtextclassifier-0.0.1-r79:= sci-libs/tensorflow:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+RDEPEND=chromeos-base/chrome-icu:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= internal? ( ondevice_speech? ( chromeos-soda/libsoda:=[dlc=] ) ) nnapi? ( chromeos-base/aosp-frameworks-ml-nn ) dlc? ( ondevice_document_scanner_dlc? ( media-libs/cros-camera-document-scanner-dlc ) ) media-libs/cros-camera-libfs:=[ondevice_document_scanner=,ondevice_document_scanner_dlc=] >=dev-libs/libgrammar-0.0.4:=[ondevice_grammar=] dev-libs/libhandwriting:=[ondevice_handwriting=,ondevice_handwriting_dlc=] >=dev-libs/libsuggest-0.0.9:=[ondevice_text_suggestions=] >=dev-libs/libtextclassifier-0.0.1-r79:= sci-libs/tensorflow:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 REQUIRED_USE=ondevice_speech? ( dlc )
 SLOT=0/9999
 SRC_URI=gs://chromeos-localmirror/distfiles/mlservice-model-smart_dim-20200206-downloadable.tflite gs://chromeos-localmirror/distfiles/mlservice-model-smart_dim-20210201-downloadable.tflite gs://chromeos-localmirror/distfiles/mlservice-model-test_add-20180914.tflite gs://chromeos-localmirror/distfiles/mlservice-model-search_ranker-20190923.tflite gs://chromeos-localmirror/distfiles/mlservice-model-smart_dim-20190521-v3.tflite gs://chromeos-localmirror/distfiles/mlservice-model-adaptive_charging-20211105.tflite gs://chromeos-localmirror/distfiles/mlservice-model-adaptive_charging-20211105-preprocessor.pb gs://chromeos-localmirror/distfiles/mlservice-model-smart_dim-20190521-preprocessor.pb
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=26b237f9b51d8eb09b2c9113b8419e3e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=3967c58bf27ae1b5bf2c6e997ce582c6
diff --git a/metadata/md5-cache/chromeos-base/ml-benchmark-0.0.1-r157 b/metadata/md5-cache/chromeos-base/ml-benchmark-0.0.1-r157
deleted file mode 100644
index 2b6c624..0000000
--- a/metadata/md5-cache/chromeos-base/ml-benchmark-0.0.1-r157
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=!chromeos-base/ml_benchmark vulkan? ( media-libs/clvk ) dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS ML Benchmarking Suite
-EAPI=7
-IUSE=vulkan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_fdd0209826719268c01d190ed7bbfa76b177f2f5_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_fdd0209826719268c01d190ed7bbfa76b177f2f5_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=!chromeos-base/ml_benchmark vulkan? ( media-libs/clvk ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r157
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6578c8f60cfdf23abead1969ef12d037
diff --git a/metadata/md5-cache/chromeos-base/ml-benchmark-0.0.1-r219 b/metadata/md5-cache/chromeos-base/ml-benchmark-0.0.1-r219
new file mode 100644
index 0000000..488cfa4
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/ml-benchmark-0.0.1-r219
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=!chromeos-base/ml_benchmark vulkan? ( media-libs/clvk ) dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS ML Benchmarking Suite
+EAPI=7
+IUSE=vulkan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_363badc7f07136727d95cdd25b229e9282328f00_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_363badc7f07136727d95cdd25b229e9282328f00_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=!chromeos-base/ml_benchmark vulkan? ( media-libs/clvk ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r219
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a75656aa572910144aba8123c2cf6fec
diff --git a/metadata/md5-cache/chromeos-base/ml-benchmark-9999 b/metadata/md5-cache/chromeos-base/ml-benchmark-9999
index 29dc8a0..0704801 100644
--- a/metadata/md5-cache/chromeos-base/ml-benchmark-9999
+++ b/metadata/md5-cache/chromeos-base/ml-benchmark-9999
@@ -1,13 +1,13 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=!chromeos-base/ml_benchmark vulkan? ( media-libs/clvk ) dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=!chromeos-base/ml_benchmark vulkan? ( media-libs/clvk ) dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS ML Benchmarking Suite
 EAPI=7
-IUSE=vulkan cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=vulkan cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=!chromeos-base/ml_benchmark vulkan? ( media-libs/clvk ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=cd8b93a2d8edb5d9314d08ac3728845e
diff --git a/metadata/md5-cache/chromeos-base/ml-client-0.0.1-r120 b/metadata/md5-cache/chromeos-base/ml-client-0.0.1-r120
deleted file mode 100644
index ec7603b..0000000
--- a/metadata/md5-cache/chromeos-base/ml-client-0.0.1-r120
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=chromeos-base/chromeos-dbus-bindings:= dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=ML Service D-Bus client library for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/main/ml/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_c9e5f91317203c51c0b741bb06a86cd64bf542c2_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_c9e5f91317203c51c0b741bb06a86cd64bf542c2_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r120
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=985604ccd06643eda6064354cfee1706
diff --git a/metadata/md5-cache/chromeos-base/ml-client-0.0.1-r201 b/metadata/md5-cache/chromeos-base/ml-client-0.0.1-r201
new file mode 100644
index 0000000..4516351
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/ml-client-0.0.1-r201
@@ -0,0 +1,14 @@
+BDEPEND=chromeos-base/chromeos-dbus-bindings:= dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=ML Service D-Bus client library for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/main/ml/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_efb8748309392ad76f174d36f109b9866bcf8241_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_efb8748309392ad76f174d36f109b9866bcf8241_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r201
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=90e0dcf5e1ab26843e091766378341b1
diff --git a/metadata/md5-cache/chromeos-base/ml-client-9999 b/metadata/md5-cache/chromeos-base/ml-client-9999
index 9e2f284..3ee3faa 100644
--- a/metadata/md5-cache/chromeos-base/ml-client-9999
+++ b/metadata/md5-cache/chromeos-base/ml-client-9999
@@ -1,14 +1,14 @@
 BDEPEND=chromeos-base/chromeos-dbus-bindings:= dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=ML Service D-Bus client library for Chromium OS
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/main/ml/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=8e4ed354712ee4dd8eae3b5be2280b4f
diff --git a/metadata/md5-cache/chromeos-base/ml-cmdline-0.0.1-r362 b/metadata/md5-cache/chromeos-base/ml-cmdline-0.0.1-r362
deleted file mode 100644
index 1b50120..0000000
--- a/metadata/md5-cache/chromeos-base/ml-cmdline-0.0.1-r362
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/chrome-icu:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/ml:= sci-libs/tensorflow:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Command line interface to machine learning service for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/main/ml
-IUSE=internal cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_c9e5f91317203c51c0b741bb06a86cd64bf542c2_fdd0209826719268c01d190ed7bbfa76b177f2f5_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_c9e5f91317203c51c0b741bb06a86cd64bf542c2_fdd0209826719268c01d190ed7bbfa76b177f2f5_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/chrome-icu:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/ml:= sci-libs/tensorflow:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6ccf98ece1d5da2eb64f1e42465984ef
diff --git a/metadata/md5-cache/chromeos-base/ml-cmdline-0.0.1-r445 b/metadata/md5-cache/chromeos-base/ml-cmdline-0.0.1-r445
new file mode 100644
index 0000000..4400279
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/ml-cmdline-0.0.1-r445
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/chrome-icu:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/ml:= sci-libs/tensorflow:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Command line interface to machine learning service for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/main/ml
+IUSE=internal cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_efb8748309392ad76f174d36f109b9866bcf8241_363badc7f07136727d95cdd25b229e9282328f00_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_efb8748309392ad76f174d36f109b9866bcf8241_363badc7f07136727d95cdd25b229e9282328f00_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/chrome-icu:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/ml:= sci-libs/tensorflow:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3a6a66247d4c76f87b51a68c8ec94a76
diff --git a/metadata/md5-cache/chromeos-base/ml-cmdline-9999 b/metadata/md5-cache/chromeos-base/ml-cmdline-9999
index ae6ecfe..9cb0656 100644
--- a/metadata/md5-cache/chromeos-base/ml-cmdline-9999
+++ b/metadata/md5-cache/chromeos-base/ml-cmdline-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/chrome-icu:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/ml:= sci-libs/tensorflow:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/chrome-icu:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/ml:= sci-libs/tensorflow:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Command line interface to machine learning service for Chromium OS
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/main/ml
-IUSE=internal cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=internal cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/chrome-icu:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/ml:= sci-libs/tensorflow:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e1e3dfadbaa10a03e182dc01dd1eec3b
diff --git a/metadata/md5-cache/chromeos-base/modem-utilities-0.0.1-r2880 b/metadata/md5-cache/chromeos-base/modem-utilities-0.0.1-r2880
deleted file mode 100644
index bae53e4..0000000
--- a/metadata/md5-cache/chromeos-base/modem-utilities-0.0.1-r2880
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chromium OS modem utilities
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/modem-utilities/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_80dae67b133604ca4e0625a9a26fb3410f705e45_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_80dae67b133604ca4e0625a9a26fb3410f705e45_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=sys-apps/dbus:= virtual/tmpfiles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r2880
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5930cbc7e5529b702068a078b3ba26bb
diff --git a/metadata/md5-cache/chromeos-base/modem-utilities-0.0.1-r2939 b/metadata/md5-cache/chromeos-base/modem-utilities-0.0.1-r2939
new file mode 100644
index 0000000..d791b11
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/modem-utilities-0.0.1-r2939
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chromium OS modem utilities
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/modem-utilities/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e2b936a0514f5beabb11c1b2b5bbe45470430604_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e2b936a0514f5beabb11c1b2b5bbe45470430604_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=sys-apps/dbus:= virtual/tmpfiles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r2939
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3c78d8d89d8e686aa9da02c584d32aea
diff --git a/metadata/md5-cache/chromeos-base/modem-utilities-9999 b/metadata/md5-cache/chromeos-base/modem-utilities-9999
index 7407f5d..75ba217 100644
--- a/metadata/md5-cache/chromeos-base/modem-utilities-9999
+++ b/metadata/md5-cache/chromeos-base/modem-utilities-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chromium OS modem utilities
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/modem-utilities/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/modem-utilities/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=sys-apps/dbus:= virtual/tmpfiles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=09feeee4ba11ee39e764b679d8e58f59
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=cc1bb53b4570e96ca90261d35fec8953
diff --git a/metadata/md5-cache/chromeos-base/modemfwd-0.0.1-r1123 b/metadata/md5-cache/chromeos-base/modemfwd-0.0.1-r1123
new file mode 100644
index 0000000..e7fcc8c
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/modemfwd-0.0.1-r1123
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=app-arch/xz-utils:= chromeos-base/chromeos-config:= chromeos-base/chromeos-config-tools:= chromeos-base/dlcservice-client:= chromeos-base/metrics:= dev-libs/protobuf:= net-misc/modemmanager-next:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Modem firmware updater daemon
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/modemfwd
+IUSE=fuzzer cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_527abd7a988a45572305a6c44b5324d0d9cf8be2_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_f9d7642be5b503d284cb5ac683ec681e06938c01_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_527abd7a988a45572305a6c44b5324d0d9cf8be2_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_f9d7642be5b503d284cb5ac683ec681e06938c01_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=app-arch/xz-utils:= chromeos-base/chromeos-config:= chromeos-base/chromeos-config-tools:= chromeos-base/dlcservice-client:= chromeos-base/metrics:= dev-libs/protobuf:= net-misc/modemmanager-next:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=d7b5096e6dfa831681e33460b61b63c1
diff --git a/metadata/md5-cache/chromeos-base/modemfwd-0.0.1-r962 b/metadata/md5-cache/chromeos-base/modemfwd-0.0.1-r962
deleted file mode 100644
index 17aa5b5..0000000
--- a/metadata/md5-cache/chromeos-base/modemfwd-0.0.1-r962
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=app-arch/xz-utils:= chromeos-base/chromeos-config:= chromeos-base/chromeos-config-tools:= dev-libs/protobuf:= net-misc/modemmanager-next:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Modem firmware updater daemon
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/modemfwd
-IUSE=fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_bea140d13f7cf1092e4c89a45011c04c28327972_4a29f76a6b306682c769f8c829a71004118a79da_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_bea140d13f7cf1092e4c89a45011c04c28327972_4a29f76a6b306682c769f8c829a71004118a79da_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=app-arch/xz-utils:= chromeos-base/chromeos-config:= chromeos-base/chromeos-config-tools:= dev-libs/protobuf:= net-misc/modemmanager-next:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=40cd2e45cefd8e3062a36a9515a765fb
diff --git a/metadata/md5-cache/chromeos-base/modemfwd-9999 b/metadata/md5-cache/chromeos-base/modemfwd-9999
index c588980..ebf9fdf 100644
--- a/metadata/md5-cache/chromeos-base/modemfwd-9999
+++ b/metadata/md5-cache/chromeos-base/modemfwd-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=app-arch/xz-utils:= chromeos-base/chromeos-config:= chromeos-base/chromeos-config-tools:= dev-libs/protobuf:= net-misc/modemmanager-next:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=app-arch/xz-utils:= chromeos-base/chromeos-config:= chromeos-base/chromeos-config-tools:= chromeos-base/dlcservice-client:= chromeos-base/metrics:= dev-libs/protobuf:= net-misc/modemmanager-next:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Modem firmware updater daemon
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/modemfwd
-IUSE=fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/modemfwd
+IUSE=fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=app-arch/xz-utils:= chromeos-base/chromeos-config:= chromeos-base/chromeos-config-tools:= dev-libs/protobuf:= net-misc/modemmanager-next:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+RDEPEND=app-arch/xz-utils:= chromeos-base/chromeos-config:= chromeos-base/chromeos-config-tools:= chromeos-base/dlcservice-client:= chromeos-base/metrics:= dev-libs/protobuf:= net-misc/modemmanager-next:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=d6e81f33561cd572f112efe6bdd0e806
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=e8debdf0f167220d41e89daf65d352c8
diff --git a/metadata/md5-cache/chromeos-base/modemfwd-proto-0.0.1-r150 b/metadata/md5-cache/chromeos-base/modemfwd-proto-0.0.1-r150
new file mode 100644
index 0000000..8d91c4b
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/modemfwd-proto-0.0.1-r150
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst setup test unpack
+DEPEND=dev-libs/protobuf:= dev-go/protobuf dev-go/protobuf-legacy-api dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=modemfwd go proto for Chrome OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/main/modemfwd
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f9d7642be5b503d284cb5ac683ec681e06938c01_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f9d7642be5b503d284cb5ac683ec681e06938c01_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r150
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a0eff7ae2a7afeaba7b03843ec57dadd
diff --git a/metadata/md5-cache/chromeos-base/modemfwd-proto-0.0.1-r66 b/metadata/md5-cache/chromeos-base/modemfwd-proto-0.0.1-r66
deleted file mode 100644
index 69dff9e..0000000
--- a/metadata/md5-cache/chromeos-base/modemfwd-proto-0.0.1-r66
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst setup test unpack
-DEPEND=dev-libs/protobuf:= dev-go/protobuf dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=modemfwd go proto for Chrome OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/main/modemfwd
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a29f76a6b306682c769f8c829a71004118a79da_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a29f76a6b306682c769f8c829a71004118a79da_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r66
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a0c2be56011772ed8f052a15e7297fd4
diff --git a/metadata/md5-cache/chromeos-base/modemfwd-proto-9999 b/metadata/md5-cache/chromeos-base/modemfwd-proto-9999
index bf58bce..21da8f6 100644
--- a/metadata/md5-cache/chromeos-base/modemfwd-proto-9999
+++ b/metadata/md5-cache/chromeos-base/modemfwd-proto-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst setup test unpack
-DEPEND=dev-libs/protobuf:= dev-go/protobuf dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=dev-libs/protobuf:= dev-go/protobuf dev-go/protobuf-legacy-api dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=modemfwd go proto for Chrome OS
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/main/modemfwd
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=4a5e3cc48fab1e477b35ff654e171b58
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=cee14ce4cbb107af785060b5f68a177f
diff --git a/metadata/md5-cache/chromeos-base/mojo-tools-0.0.1-r11 b/metadata/md5-cache/chromeos-base/mojo-tools-0.0.1-r11
new file mode 100644
index 0000000..8a4ae02
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/mojo-tools-0.0.1-r11
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Mojo python tools for binding generating.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromium/src/+/HEAD/mojo/public/tools/mojom/
+IUSE=cros_host cros_workon_tree_40b2972d075c5d64fe39d57608ae33c47c2f05cf python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-python/jinja[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+SLOT=0/0.0.1-r11
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0736f0c9b5970d60faed59b4c93328e7
diff --git a/metadata/md5-cache/chromeos-base/mojo-tools-0.0.1-r3 b/metadata/md5-cache/chromeos-base/mojo-tools-0.0.1-r3
deleted file mode 100644
index 24e63df..0000000
--- a/metadata/md5-cache/chromeos-base/mojo-tools-0.0.1-r3
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install setup unpack
-DESCRIPTION=Mojo python tools for binding generating.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromium/src/+/HEAD/mojo/public/tools/mojom/
-IUSE=cros_host cros_workon_tree_db6d87dad1e5bd24016004a74d55f4108b3fac74 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-python/jinja[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-SLOT=0/0.0.1-r3
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ef3dccf17b218921a9e16a50c0aceb63
diff --git a/metadata/md5-cache/chromeos-base/mojo-tools-9999 b/metadata/md5-cache/chromeos-base/mojo-tools-9999
index bcd9454..31c815b 100644
--- a/metadata/md5-cache/chromeos-base/mojo-tools-9999
+++ b/metadata/md5-cache/chromeos-base/mojo-tools-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=dev-python/jinja[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=afe2bee262709ad50f2d7c7112f02e27
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b6726be14d3a7c39fd80f956ac9c4a2a
diff --git a/metadata/md5-cache/chromeos-base/mojo_service_manager-0.0.1-r83 b/metadata/md5-cache/chromeos-base/mojo_service_manager-0.0.1-r83
new file mode 100644
index 0000000..f915135
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/mojo_service_manager-0.0.1-r83
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Daemon to manage mojo interfaces
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/mojo_service_manager/README.md
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e5479e7b2bbc0ce8164e799c7f1bc50ec3216a48_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e5479e7b2bbc0ce8164e799c7f1bc50ec3216a48_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r83
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=0f6ef65744c4e34b46bf3608cf6fa3ee
diff --git a/metadata/md5-cache/chromeos-base/mojo_service_manager-9999 b/metadata/md5-cache/chromeos-base/mojo_service_manager-9999
new file mode 100644
index 0000000..afbd680
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/mojo_service_manager-9999
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Daemon to manage mojo interfaces
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/mojo_service_manager/README.md
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/9999
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=b1f92d216bb1d60999e6e16a3cd730ee
diff --git a/metadata/md5-cache/chromeos-base/mount-passthrough-0.0.2-r533 b/metadata/md5-cache/chromeos-base/mount-passthrough-0.0.2-r533
deleted file mode 100644
index 2df1f2b..0000000
--- a/metadata/md5-cache/chromeos-base/mount-passthrough-0.0.2-r533
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND==sys-fs/fuse-2* sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Mounts the specified directory with different owner UID and GID
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/mount-passthrough
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_348e1bcce3f170ce3e4e0be69882434a861acfbd_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_348e1bcce3f170ce3e4e0be69882434a861acfbd_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND==sys-fs/fuse-2* sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.2-r533
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a1bbb42a1ff73771f38e3bd2e06bb0ea
diff --git a/metadata/md5-cache/chromeos-base/mount-passthrough-0.0.2-r597 b/metadata/md5-cache/chromeos-base/mount-passthrough-0.0.2-r597
new file mode 100644
index 0000000..096d101
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/mount-passthrough-0.0.2-r597
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND==sys-fs/fuse-2* sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Mounts the specified directory with different owner UID and GID
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/mount-passthrough
+IUSE=arcpp cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f783dc02e17f522e5e62cbc3a6f56aa96082b0c2_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f783dc02e17f522e5e62cbc3a6f56aa96082b0c2_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND==sys-fs/fuse-2* sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.2-r597
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=faac7e86be15b00c6050c6e058321d03
diff --git a/metadata/md5-cache/chromeos-base/mount-passthrough-9999 b/metadata/md5-cache/chromeos-base/mount-passthrough-9999
index 68c8554..c7fbf0c 100644
--- a/metadata/md5-cache/chromeos-base/mount-passthrough-9999
+++ b/metadata/md5-cache/chromeos-base/mount-passthrough-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND==sys-fs/fuse-2* sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND==sys-fs/fuse-2* sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Mounts the specified directory with different owner UID and GID
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/mount-passthrough
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/mount-passthrough
+IUSE=arcpp cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND==sys-fs/fuse-2* sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=de88928f01652f6e89a7b7edc0964d82
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dc31a3ff613ef67731ae4bef12dab760
diff --git a/metadata/md5-cache/chromeos-base/mri_package-0.0.1-r358 b/metadata/md5-cache/chromeos-base/mri_package-0.0.1-r358
deleted file mode 100644
index c1efd23a..0000000
--- a/metadata/md5-cache/chromeos-base/mri_package-0.0.1-r358
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=media-sound/adhd:= >=sys-apps/dbus-1.0:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Media perception service
-EAPI=7
-IUSE=internal cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_46fa8bf62d6bab381954c1aeda3e376de7030f85_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_46fa8bf62d6bab381954c1aeda3e376de7030f85_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=media-sound/adhd:= >=sys-apps/dbus-1.0:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-RESTRICT=mirror
-SLOT=0/0.0.1-r358
-SRC_URI=internal? ( gs://chromeos-localmirror-private/distfiles/mri_package-72.0.0.tar.gz )
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=e750c870a6ee13296e9a6ac0d3a89490
diff --git a/metadata/md5-cache/chromeos-base/mri_package-0.0.1-r424 b/metadata/md5-cache/chromeos-base/mri_package-0.0.1-r424
new file mode 100644
index 0000000..4b56c42
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/mri_package-0.0.1-r424
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=media-sound/adhd:= >=sys-apps/dbus-1.0:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Media perception service
+EAPI=7
+IUSE=internal cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_55e711ea347453c157ecfbeaa434f6236e83a8f6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_55e711ea347453c157ecfbeaa434f6236e83a8f6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=media-sound/adhd:= >=sys-apps/dbus-1.0:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+RESTRICT=mirror
+SLOT=0/0.0.1-r424
+SRC_URI=internal? ( gs://chromeos-localmirror-private/distfiles/mri_package-72.0.0.tar.gz )
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=2974f3fb632bd04b3355b5ca343ccf3b
diff --git a/metadata/md5-cache/chromeos-base/mri_package-9999 b/metadata/md5-cache/chromeos-base/mri_package-9999
index f6de87e..9de4280 100644
--- a/metadata/md5-cache/chromeos-base/mri_package-9999
+++ b/metadata/md5-cache/chromeos-base/mri_package-9999
@@ -1,9 +1,9 @@
 BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=media-sound/adhd:= >=sys-apps/dbus-1.0:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=media-sound/adhd:= >=sys-apps/dbus-1.0:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Media perception service
 EAPI=7
-IUSE=internal cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=internal cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
@@ -11,5 +11,5 @@
 RESTRICT=mirror
 SLOT=0/9999
 SRC_URI=internal? ( gs://chromeos-localmirror-private/distfiles/mri_package-72.0.0.tar.gz )
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
 _md5_=f1a28582b98f084b87e2e475b0200b1b
diff --git a/metadata/md5-cache/chromeos-base/mtpd-0.0.1-r1058 b/metadata/md5-cache/chromeos-base/mtpd-0.0.1-r1058
new file mode 100644
index 0000000..0f8905c
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/mtpd-0.0.1-r1058
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=dev-libs/protobuf:= media-libs/libmtp:= virtual/udev chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=MTP daemon for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/mtpd
+IUSE=-asan +seccomp systemd test cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_19fd4b7d746a3e6652d8d74ce0ca72cba5b79156_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_19fd4b7d746a3e6652d8d74ce0ca72cba5b79156_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=dev-libs/protobuf:= media-libs/libmtp:= virtual/udev >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r1058
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=f46341110fb90678d9c010d5eccdc4ea
diff --git a/metadata/md5-cache/chromeos-base/mtpd-0.0.1-r996 b/metadata/md5-cache/chromeos-base/mtpd-0.0.1-r996
deleted file mode 100644
index ada17cb..0000000
--- a/metadata/md5-cache/chromeos-base/mtpd-0.0.1-r996
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=dev-libs/protobuf:= media-libs/libmtp:= virtual/udev chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=MTP daemon for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/mtpd
-IUSE=-asan +seccomp systemd test cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_06cc27d6b24f1793991fbf918e9bf52a57a6c78d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_06cc27d6b24f1793991fbf918e9bf52a57a6c78d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=dev-libs/protobuf:= media-libs/libmtp:= virtual/udev >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r996
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=4c741806c1cb84cba6bae4fb2783de2f
diff --git a/metadata/md5-cache/chromeos-base/mtpd-9999 b/metadata/md5-cache/chromeos-base/mtpd-9999
index bf1cf21..7ce400e 100644
--- a/metadata/md5-cache/chromeos-base/mtpd-9999
+++ b/metadata/md5-cache/chromeos-base/mtpd-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=dev-libs/protobuf:= media-libs/libmtp:= virtual/udev chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=dev-libs/protobuf:= media-libs/libmtp:= virtual/udev chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=MTP daemon for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/mtpd
-IUSE=-asan +seccomp systemd test cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/mtpd
+IUSE=-asan +seccomp systemd test cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=dev-libs/protobuf:= media-libs/libmtp:= virtual/udev >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=2d753eb52cf53db09d6cbd9c1a11d960
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=4b7b834889fe87fc8be124d2c83ba5ed
diff --git a/metadata/md5-cache/chromeos-base/mttools-0.0.1-r163 b/metadata/md5-cache/chromeos-base/mttools-0.0.1-r163
index a2c5c8a..318456d 100644
--- a/metadata/md5-cache/chromeos-base/mttools-0.0.1-r163
+++ b/metadata/md5-cache/chromeos-base/mttools-0.0.1-r163
@@ -10,5 +10,5 @@
 RDEPEND=chromeos-base/gestures app-misc/utouch-evemu chromeos-base/libevdev:= chromeos-base/touch_firmware_test
 RESTRICT=test
 SLOT=0
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=4298127ba6ff71aec9f3c2530d3db6d0
diff --git a/metadata/md5-cache/chromeos-base/mttools-9999 b/metadata/md5-cache/chromeos-base/mttools-9999
index 73ae2d0..9ca1f3e 100644
--- a/metadata/md5-cache/chromeos-base/mttools-9999
+++ b/metadata/md5-cache/chromeos-base/mttools-9999
@@ -10,5 +10,5 @@
 RDEPEND=chromeos-base/gestures app-misc/utouch-evemu chromeos-base/libevdev:= chromeos-base/touch_firmware_test
 RESTRICT=test
 SLOT=0
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=c0142f589c656eee35c0576a29738ccc
diff --git a/metadata/md5-cache/chromeos-base/ndproxyd-0.0.1-r349 b/metadata/md5-cache/chromeos-base/ndproxyd-0.0.1-r349
deleted file mode 100644
index 1872a95..0000000
--- a/metadata/md5-cache/chromeos-base/ndproxyd-0.0.1-r349
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/protobuf:= chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=NDProxy daemon
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/network/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_49c48c6a3ecaa1c5c5d4762c8275d21891e7c40d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_49c48c6a3ecaa1c5c5d4762c8275d21891e7c40d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=dev-libs/protobuf:= chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r349
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=988ae854bf00ec20ae0434d178dd127b
diff --git a/metadata/md5-cache/chromeos-base/ndproxyd-0.0.1-r432 b/metadata/md5-cache/chromeos-base/ndproxyd-0.0.1-r432
new file mode 100644
index 0000000..4a75c56
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/ndproxyd-0.0.1-r432
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=dev-libs/protobuf:= chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=NDProxy daemon
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/network/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f03ea3ffcf6f08a1cad9dffba29095b0b988ec0d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f03ea3ffcf6f08a1cad9dffba29095b0b988ec0d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=dev-libs/protobuf:= chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r432
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=26a1f90e938f4a10449fb51aacf1d321
diff --git a/metadata/md5-cache/chromeos-base/ndproxyd-9999 b/metadata/md5-cache/chromeos-base/ndproxyd-9999
index 2cc4cd5..c0e5450 100644
--- a/metadata/md5-cache/chromeos-base/ndproxyd-9999
+++ b/metadata/md5-cache/chromeos-base/ndproxyd-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/protobuf:= chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=dev-libs/protobuf:= chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=NDProxy daemon
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/network/
-IUSE=cros_host cros_workon_tree_ cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/network/
+IUSE=cros_host cros_workon_tree_ cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=dev-libs/protobuf:= chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6d610ec0ccce326ce8444d62f817219d
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f726baeb7c4ea04cffcd366f2c90adf1
diff --git a/metadata/md5-cache/chromeos-base/nnapi-0.0.2-r5 b/metadata/md5-cache/chromeos-base/nnapi-0.0.2-r5
deleted file mode 100644
index 3cbff97..0000000
--- a/metadata/md5-cache/chromeos-base/nnapi-0.0.2-r5
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS support utils for Android Neural Network API
-EAPI=7
-HOMEPAGE=https://developer.android.com/ndk/guides/neuralnetworks
-IUSE=cros_host cros_workon_tree_a3d79a5641e6cda7da95a9316f5d29998cc84865_f735b73d41b17c5c309f6dc632a9491131208d47_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_7b1902bfd171c628068c91fc41e253d0c08df363_050ba80727394b4c61589662e7e89333a0022cd9_81192a924ab8c0627a67df8adaf8e6f68bd1d19b_3628c32fe8388012af3c4322912f5b3bfb7c16fa_cabdebe334f485c590ae0279805a523ec5021a3d_19196bf22a93d302a71314ea2ee52f398d486b0a_21bb97d372054e0717410c37ebf2528fc1afb8fa cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a3d79a5641e6cda7da95a9316f5d29998cc84865_f735b73d41b17c5c309f6dc632a9491131208d47_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_7b1902bfd171c628068c91fc41e253d0c08df363_050ba80727394b4c61589662e7e89333a0022cd9_81192a924ab8c0627a67df8adaf8e6f68bd1d19b_3628c32fe8388012af3c4322912f5b3bfb7c16fa_cabdebe334f485c590ae0279805a523ec5021a3d_19196bf22a93d302a71314ea2ee52f398d486b0a_21bb97d372054e0717410c37ebf2528fc1afb8fa cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google Apache-2.0
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.2-r5
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=54d4d9f2d18a76f48b71bc3f7d3904df
diff --git a/metadata/md5-cache/chromeos-base/nnapi-0.0.2-r7 b/metadata/md5-cache/chromeos-base/nnapi-0.0.2-r7
new file mode 100644
index 0000000..6ffbdf5
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/nnapi-0.0.2-r7
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS support utils for Android Neural Network API
+EAPI=7
+HOMEPAGE=https://developer.android.com/ndk/guides/neuralnetworks
+IUSE=cros_host cros_workon_tree_20fecf8e8aefa548043f2cb501f222213c15929d_bdc8fc4c0d82b11e24d0a4048a1cac7f17a7cc12_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_693bb2d63562c6eff050d04f75aab1e9251e6548_1a77f7f025502657540bbec1f57cbbb6478be4b4_6e40c8c1bb5c4bf8a74175e2f1cf12ca9071319a_6fadd8addab8504349cdeefe51b583b97c2ae7f4_420490156b9efe3f015ad092cc203f7d8bbdd6cf_94b4cc4a6205839e2c297f30d0a2e62b1c221a04_ae1614ebb22b8aa59ecd0d29e1a0e162deaa2d09 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_20fecf8e8aefa548043f2cb501f222213c15929d_bdc8fc4c0d82b11e24d0a4048a1cac7f17a7cc12_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_693bb2d63562c6eff050d04f75aab1e9251e6548_1a77f7f025502657540bbec1f57cbbb6478be4b4_6e40c8c1bb5c4bf8a74175e2f1cf12ca9071319a_6fadd8addab8504349cdeefe51b583b97c2ae7f4_420490156b9efe3f015ad092cc203f7d8bbdd6cf_94b4cc4a6205839e2c297f30d0a2e62b1c221a04_ae1614ebb22b8aa59ecd0d29e1a0e162deaa2d09 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google Apache-2.0
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.2-r7
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1f47bd7330413bf3d748f763dffca868
diff --git a/metadata/md5-cache/chromeos-base/nnapi-9999 b/metadata/md5-cache/chromeos-base/nnapi-9999
index 6b083f5..1f18b5a 100644
--- a/metadata/md5-cache/chromeos-base/nnapi-9999
+++ b/metadata/md5-cache/chromeos-base/nnapi-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS support utils for Android Neural Network API
 EAPI=7
 HOMEPAGE=https://developer.android.com/ndk/guides/neuralnetworks
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google Apache-2.0
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=00cfb18dc66f575048e3a886d1c2b6f8
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1c7a824cd416658a39c8464c2738c08d
diff --git a/metadata/md5-cache/chromeos-base/ocr-0.0.1-r129 b/metadata/md5-cache/chromeos-base/ocr-0.0.1-r129
deleted file mode 100644
index 9b5279d..0000000
--- a/metadata/md5-cache/chromeos-base/ocr-0.0.1-r129
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=app-text/tesseract:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Optical Character Recognition service for Chrome OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/ocr/
-IUSE=fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_71ac4fba03d3ae469f2a9b2474be4fe0eee115f4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_71ac4fba03d3ae469f2a9b2474be4fe0eee115f4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=app-text/tesseract:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=ace4bcfe4bf1274fa791da2f228365cd
diff --git a/metadata/md5-cache/chromeos-base/ocr-0.0.1-r186 b/metadata/md5-cache/chromeos-base/ocr-0.0.1-r186
new file mode 100644
index 0000000..9dbafe7
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/ocr-0.0.1-r186
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=app-text/tesseract:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Optical Character Recognition service for Chrome OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/ocr/
+IUSE=fuzzer cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_71ac4fba03d3ae469f2a9b2474be4fe0eee115f4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_71ac4fba03d3ae469f2a9b2474be4fe0eee115f4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=app-text/tesseract:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=f71c6ebdd7907f0056bee942f6c791fc
diff --git a/metadata/md5-cache/chromeos-base/ocr-9999 b/metadata/md5-cache/chromeos-base/ocr-9999
index ef2fe99..d7ac631 100644
--- a/metadata/md5-cache/chromeos-base/ocr-9999
+++ b/metadata/md5-cache/chromeos-base/ocr-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=app-text/tesseract:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=app-text/tesseract:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Optical Character Recognition service for Chrome OS
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/ocr/
-IUSE=fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=app-text/tesseract:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
 _md5_=d1e2bab482a3288a9e06f2cc344b88fc
diff --git a/metadata/md5-cache/chromeos-base/oobe_config-0.0.1-r572 b/metadata/md5-cache/chromeos-base/oobe_config-0.0.1-r572
deleted file mode 100644
index 104b6b5..0000000
--- a/metadata/md5-cache/chromeos-base/oobe_config-0.0.1-r572
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= sys-apps/dbus:= chromeos-base/power_manager-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Provides utilities to save and restore OOBE config.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/oobe_config/
-IUSE=tpm tpm_dynamic tpm2 cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_b3a023015c49fe955aac7adb3fb687fa5aaff377_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_b3a023015c49fe955aac7adb3fb687fa5aaff377_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
-SLOT=0/0.0.1-r572
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=a308760488fe9dc1cf50bc5068446939
diff --git a/metadata/md5-cache/chromeos-base/oobe_config-0.0.1-r676 b/metadata/md5-cache/chromeos-base/oobe_config-0.0.1-r676
new file mode 100644
index 0000000..8d4056b
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/oobe_config-0.0.1-r676
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= sys-apps/dbus:= chromeos-base/power_manager-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Provides utilities to save and restore OOBE config.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/oobe_config/
+IUSE=tpm tpm_dynamic tpm2 cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_23e26d72db170ceb92e4d3682dbad1c73030acfa_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_23e26d72db170ceb92e4d3682dbad1c73030acfa_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
+REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
+SLOT=0/0.0.1-r676
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=1017fd1574340c2a4704022499333273
diff --git a/metadata/md5-cache/chromeos-base/oobe_config-9999 b/metadata/md5-cache/chromeos-base/oobe_config-9999
index 8a0d5f7..5f67385 100644
--- a/metadata/md5-cache/chromeos-base/oobe_config-9999
+++ b/metadata/md5-cache/chromeos-base/oobe_config-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= sys-apps/dbus:= chromeos-base/power_manager-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= sys-apps/dbus:= chromeos-base/power_manager-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Provides utilities to save and restore OOBE config.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/oobe_config/
-IUSE=tpm tpm_dynamic tpm2 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/oobe_config/
+IUSE=tpm tpm_dynamic tpm2 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
 REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=6ff46b26b4d90a831381f4a3f674c2df
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=00ceb3eef96965aeed8324064b1f81e3
diff --git a/metadata/md5-cache/chromeos-base/openssh-server-init-0.0.1 b/metadata/md5-cache/chromeos-base/openssh-server-init-0.0.1
index 1b338e7fa..e60e67ce 100644
--- a/metadata/md5-cache/chromeos-base/openssh-server-init-0.0.1
+++ b/metadata/md5-cache/chromeos-base/openssh-server-init-0.0.1
@@ -1,12 +1,12 @@
+BDEPEND=virtual/pkgconfig
 DEFINED_PHASES=install
-DEPEND=virtual/pkgconfig
 DESCRIPTION=Install the upstart job that launches the openssh-server.
-EAPI=4
-HOMEPAGE=http://www.chromium.org/
+EAPI=7
+HOMEPAGE=https://dev.chromium.org/chromium-os
 IUSE=systemd
 KEYWORDS=*
 LICENSE=BSD-Google
 RDEPEND=chromeos-base/chromeos-sshd-init net-misc/openssh virtual/chromeos-firewall
 SLOT=0
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=36546c4da3d5e0823f01df16f5e187ec
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4494e5f9b901cf04f5aa1e02932c39ce
diff --git a/metadata/md5-cache/chromeos-base/openssh-server-init-0.0.1-r25 b/metadata/md5-cache/chromeos-base/openssh-server-init-0.0.1-r25
deleted file mode 100644
index 1b338e7fa..0000000
--- a/metadata/md5-cache/chromeos-base/openssh-server-init-0.0.1-r25
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install
-DEPEND=virtual/pkgconfig
-DESCRIPTION=Install the upstart job that launches the openssh-server.
-EAPI=4
-HOMEPAGE=http://www.chromium.org/
-IUSE=systemd
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=chromeos-base/chromeos-sshd-init net-misc/openssh virtual/chromeos-firewall
-SLOT=0
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=36546c4da3d5e0823f01df16f5e187ec
diff --git a/metadata/md5-cache/chromeos-base/openssh-server-init-0.0.1-r26 b/metadata/md5-cache/chromeos-base/openssh-server-init-0.0.1-r26
new file mode 100644
index 0000000..e60e67ce
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/openssh-server-init-0.0.1-r26
@@ -0,0 +1,12 @@
+BDEPEND=virtual/pkgconfig
+DEFINED_PHASES=install
+DESCRIPTION=Install the upstart job that launches the openssh-server.
+EAPI=7
+HOMEPAGE=https://dev.chromium.org/chromium-os
+IUSE=systemd
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=chromeos-base/chromeos-sshd-init net-misc/openssh virtual/chromeos-firewall
+SLOT=0
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4494e5f9b901cf04f5aa1e02932c39ce
diff --git a/metadata/md5-cache/chromeos-base/os_install_service-1.0.0-r14 b/metadata/md5-cache/chromeos-base/os_install_service-1.0.0-r14
deleted file mode 100644
index 590473e..0000000
--- a/metadata/md5-cache/chromeos-base/os_install_service-1.0.0-r14
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/system_api:= =dev-rust/anyhow-1.0*:= =dev-rust/chrono-0.4*:= =dev-rust/crossbeam-channel-0.5*:= =dev-rust/dbus-0.8*:= =dev-rust/lazy_static-1.4*:= =dev-rust/log-0.4*:= =dev-rust/nix-0.19*:= =dev-rust/serde-1.0*:= =dev-rust/serde_json-1.0*:= dev-rust/sys_util:= =dev-rust/tempfile-3*:= =dev-rust/thiserror-1.0*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-EAPI=7
-IUSE=test cros_host cros_workon_tree_5035102ea3b2071cfbdc99275b59d4317aa05439 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/chromeos-installer sys-apps/util-linux sys-block/parted virtual/tmpfiles
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/1.0.0-r14
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=60f334b4008d722f8b976597a6fe6ba0
diff --git a/metadata/md5-cache/chromeos-base/os_install_service-1.0.0-r19 b/metadata/md5-cache/chromeos-base/os_install_service-1.0.0-r19
new file mode 100644
index 0000000..20a42cf
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/os_install_service-1.0.0-r19
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=chromeos-base/system_api:= =dev-rust/anyhow-1.0*:= =dev-rust/chrono-0.4*:= =dev-rust/crossbeam-channel-0.5*:= =dev-rust/dbus-0.8*:= =dev-rust/lazy_static-1.4*:= =dev-rust/log-0.4*:= =dev-rust/nix-0.23*:= =dev-rust/serde-1.0*:= =dev-rust/serde_json-1.0*:= dev-rust/sys_util:= =dev-rust/tempfile-3*:= =dev-rust/thiserror-1.0*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+EAPI=7
+IUSE=test cros_host cros_workon_tree_3b94d21015b70ad2a11e890fd58495debfd58afb cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/chromeos-installer sys-apps/util-linux sys-block/parted virtual/rust-binaries:= virtual/tmpfiles
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/1.0.0-r19
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f986fbb8c21fb122886180e189d1fd6d
diff --git a/metadata/md5-cache/chromeos-base/os_install_service-9999 b/metadata/md5-cache/chromeos-base/os_install_service-9999
index 3559133..84d6973 100644
--- a/metadata/md5-cache/chromeos-base/os_install_service-9999
+++ b/metadata/md5-cache/chromeos-base/os_install_service-9999
@@ -1,13 +1,13 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/system_api:= =dev-rust/anyhow-1.0*:= =dev-rust/chrono-0.4*:= =dev-rust/crossbeam-channel-0.5*:= =dev-rust/dbus-0.8*:= =dev-rust/lazy_static-1.4*:= =dev-rust/log-0.4*:= =dev-rust/nix-0.19*:= =dev-rust/serde-1.0*:= =dev-rust/serde_json-1.0*:= dev-rust/sys_util:= =dev-rust/tempfile-3*:= =dev-rust/thiserror-1.0*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=chromeos-base/system_api:= =dev-rust/anyhow-1.0*:= =dev-rust/chrono-0.4*:= =dev-rust/crossbeam-channel-0.5*:= =dev-rust/dbus-0.8*:= =dev-rust/lazy_static-1.4*:= =dev-rust/log-0.4*:= =dev-rust/nix-0.23*:= =dev-rust/serde-1.0*:= =dev-rust/serde_json-1.0*:= dev-rust/sys_util:= =dev-rust/tempfile-3*:= =dev-rust/thiserror-1.0*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 EAPI=7
-IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=chromeos-base/chromeos-installer sys-apps/util-linux sys-block/parted virtual/tmpfiles
+RDEPEND=chromeos-base/chromeos-installer sys-apps/util-linux sys-block/parted virtual/rust-binaries:= virtual/tmpfiles
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2e4734716584f7697ddf7e755480eb00
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8b2ab070ed472ae6ce9df2431a4a3c99
diff --git a/metadata/md5-cache/chromeos-base/p2p-0.0.1-r3420 b/metadata/md5-cache/chromeos-base/p2p-0.0.1-r3420
deleted file mode 100644
index 4af2d7e..0000000
--- a/metadata/md5-cache/chromeos-base/p2p-0.0.1-r3420
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/glib:= net-dns/avahi-daemon:= net-firewall/iptables:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Chromium OS P2P
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/p2p/
-IUSE=cros-debug cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_cb6d891fb3788db7b72539467ccd7cfb17069afc_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_cb6d891fb3788db7b72539467ccd7cfb17069afc_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/glib:= net-dns/avahi-daemon:= net-firewall/iptables:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=6ae685a483f5bfbcc25f32050bf89014
diff --git a/metadata/md5-cache/chromeos-base/p2p-0.0.1-r3519 b/metadata/md5-cache/chromeos-base/p2p-0.0.1-r3519
new file mode 100644
index 0000000..c7f95e5
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/p2p-0.0.1-r3519
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/glib:= net-dns/avahi-daemon:= net-firewall/iptables:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Chromium OS P2P
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/p2p/
+IUSE=cros-debug cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_d8f47448cc0c72d3398c8e958cf3ce08eba6f1d5_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_d8f47448cc0c72d3398c8e958cf3ce08eba6f1d5_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/glib:= net-dns/avahi-daemon:= net-firewall/iptables:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=da6fc4164c0deb50000f753c0c189538
diff --git a/metadata/md5-cache/chromeos-base/p2p-9999 b/metadata/md5-cache/chromeos-base/p2p-9999
index a6f34d4..f8106cc 100644
--- a/metadata/md5-cache/chromeos-base/p2p-9999
+++ b/metadata/md5-cache/chromeos-base/p2p-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/glib:= net-dns/avahi-daemon:= net-firewall/iptables:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/glib:= net-dns/avahi-daemon:= net-firewall/iptables:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Chromium OS P2P
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/p2p/
-IUSE=cros-debug cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/p2p/
+IUSE=cros-debug cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/glib:= net-dns/avahi-daemon:= net-firewall/iptables:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=a775b696fbaeeeb9936734c25d0c3910
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=dd797ac95882be6b02716f4b08fb9007
diff --git a/metadata/md5-cache/chromeos-base/patchpanel-0.0.2-r430 b/metadata/md5-cache/chromeos-base/patchpanel-0.0.2-r430
deleted file mode 100644
index 672de2e..0000000
--- a/metadata/md5-cache/chromeos-base/patchpanel-0.0.2-r430
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=dev-libs/protobuf:= chromeos-base/metrics:= chromeos-base/shill-net:= chromeos-base/system_api:=[fuzzer?] chromeos-base/session_manager-client:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Patchpanel network connectivity management daemon
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/patchpanel/
-IUSE=fuzzer arcvm cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_49c48c6a3ecaa1c5c5d4762c8275d21891e7c40d_959cf5c9e5c2eee5a1601125f7f3288e2f7a7c61_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_49c48c6a3ecaa1c5c5d4762c8275d21891e7c40d_959cf5c9e5c2eee5a1601125f7f3288e2f7a7c61_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=dev-libs/protobuf:= chromeos-base/metrics:= chromeos-base/shill-net:= chromeos-base/system_api:=[fuzzer?] chromeos-base/shill net-firewall/iptables net-misc/bridge-utils sys-apps/iproute2 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.2-r430
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=a341b0d2389c71b874fede2b3ae270e9
diff --git a/metadata/md5-cache/chromeos-base/patchpanel-0.0.2-r564 b/metadata/md5-cache/chromeos-base/patchpanel-0.0.2-r564
new file mode 100644
index 0000000..9394230
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/patchpanel-0.0.2-r564
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=dev-libs/protobuf:= chromeos-base/metrics:= chromeos-base/shill-net:= chromeos-base/system_api:=[fuzzer?] chromeos-base/session_manager-client:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Patchpanel network connectivity management daemon
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/patchpanel/
+IUSE=fuzzer arcvm cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_f03ea3ffcf6f08a1cad9dffba29095b0b988ec0d_bf11ffe5bade82cef5574e57f94fd0e7e38b716c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_f03ea3ffcf6f08a1cad9dffba29095b0b988ec0d_bf11ffe5bade82cef5574e57f94fd0e7e38b716c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=dev-libs/protobuf:= chromeos-base/metrics:= chromeos-base/shill-net:= chromeos-base/system_api:=[fuzzer?] chromeos-base/shill net-firewall/iptables net-misc/bridge-utils sys-apps/iproute2 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.2-r564
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=35d9cf7134a24d0b45d06c585250bdbb
diff --git a/metadata/md5-cache/chromeos-base/patchpanel-9999 b/metadata/md5-cache/chromeos-base/patchpanel-9999
index ce14153..85a95af 100644
--- a/metadata/md5-cache/chromeos-base/patchpanel-9999
+++ b/metadata/md5-cache/chromeos-base/patchpanel-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=dev-libs/protobuf:= chromeos-base/metrics:= chromeos-base/shill-net:= chromeos-base/system_api:=[fuzzer?] chromeos-base/session_manager-client:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=dev-libs/protobuf:= chromeos-base/metrics:= chromeos-base/shill-net:= chromeos-base/system_api:=[fuzzer?] chromeos-base/session_manager-client:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Patchpanel network connectivity management daemon
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/patchpanel/
-IUSE=fuzzer arcvm cros_host cros_workon_tree_ cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/patchpanel/
+IUSE=fuzzer arcvm cros_host cros_workon_tree_ cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=dev-libs/protobuf:= chromeos-base/metrics:= chromeos-base/shill-net:= chromeos-base/system_api:=[fuzzer?] chromeos-base/shill net-firewall/iptables net-misc/bridge-utils sys-apps/iproute2 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=cbf6bfd9cb988aa35ab8404fe697a7ba
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=6d18b6ab607062f8eaff79f896765a02
diff --git a/metadata/md5-cache/chromeos-base/patchpanel-client-0.0.1-r265 b/metadata/md5-cache/chromeos-base/patchpanel-client-0.0.1-r265
deleted file mode 100644
index 99e08cc..0000000
--- a/metadata/md5-cache/chromeos-base/patchpanel-client-0.0.1-r265
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/protobuf:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Patchpanel network connectivity management D-Bus client
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/patchpanel/dbus/
-IUSE=fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_49c48c6a3ecaa1c5c5d4762c8275d21891e7c40d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_49c48c6a3ecaa1c5c5d4762c8275d21891e7c40d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=!<chromeos-base/patchpanel-0.0.2 dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r265
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=3cd29abacdd1886bb5bd00b4600c0881
diff --git a/metadata/md5-cache/chromeos-base/patchpanel-client-0.0.1-r348 b/metadata/md5-cache/chromeos-base/patchpanel-client-0.0.1-r348
new file mode 100644
index 0000000..607648c
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/patchpanel-client-0.0.1-r348
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=dev-libs/protobuf:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Patchpanel network connectivity management D-Bus client
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/patchpanel/dbus/
+IUSE=fuzzer cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f03ea3ffcf6f08a1cad9dffba29095b0b988ec0d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f03ea3ffcf6f08a1cad9dffba29095b0b988ec0d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=!<chromeos-base/patchpanel-0.0.2 dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r348
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d09492264bd7d0b96bd49e4ee745fb82
diff --git a/metadata/md5-cache/chromeos-base/patchpanel-client-9999 b/metadata/md5-cache/chromeos-base/patchpanel-client-9999
index dfc6c15..5f2c872 100644
--- a/metadata/md5-cache/chromeos-base/patchpanel-client-9999
+++ b/metadata/md5-cache/chromeos-base/patchpanel-client-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/protobuf:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=dev-libs/protobuf:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Patchpanel network connectivity management D-Bus client
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/patchpanel/dbus/
-IUSE=fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=!<chromeos-base/patchpanel-0.0.2 dev-libs/protobuf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=7e25d31e85b17340e4aeba3ac7b5d8a2
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=af26b9a9ade6c65d4c690373edb2feb9
diff --git a/metadata/md5-cache/chromeos-base/pciguard-0.0.1-r112 b/metadata/md5-cache/chromeos-base/pciguard-0.0.1-r112
deleted file mode 100644
index 00598b2..0000000
--- a/metadata/md5-cache/chromeos-base/pciguard-0.0.1-r112
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/session_manager-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Chrome OS External PCI device security daemon
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/pciguard/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_67e7be6d23006bdd5f08190f90facd1bcfaf157d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_67e7be6d23006bdd5f08190f90facd1bcfaf157d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=f91284a7777fa9beda735328ccd732bb
diff --git a/metadata/md5-cache/chromeos-base/pciguard-0.0.1-r171 b/metadata/md5-cache/chromeos-base/pciguard-0.0.1-r171
new file mode 100644
index 0000000..08d3b16
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/pciguard-0.0.1-r171
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/session_manager-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Chrome OS External PCI device security daemon
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/pciguard/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_ab158a900aa41e259ccbdbc58b75bfc3ae136f3b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_ab158a900aa41e259ccbdbc58b75bfc3ae136f3b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=92368e38da6acb395ec8f9d90edc9f83
diff --git a/metadata/md5-cache/chromeos-base/pciguard-9999 b/metadata/md5-cache/chromeos-base/pciguard-9999
index 1cb9ffd..8553267 100644
--- a/metadata/md5-cache/chromeos-base/pciguard-9999
+++ b/metadata/md5-cache/chromeos-base/pciguard-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/session_manager-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/session_manager-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Chrome OS External PCI device security daemon
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/pciguard/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=8f320cd8204018760a276c61153af324
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=9c13828b9a52f1c715274e8db418a5f7
diff --git a/metadata/md5-cache/chromeos-base/percetto-0.1.6-r1 b/metadata/md5-cache/chromeos-base/percetto-0.1.6-r1
deleted file mode 100644
index f4d9507..0000000
--- a/metadata/md5-cache/chromeos-base/percetto-0.1.6-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=>=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
-DEFINED_PHASES=compile configure install test
-DEPEND=>=chromeos-base/perfetto-22.0
-DESCRIPTION=Percetto is a C wrapper for Perfetto SDK.
-EAPI=7
-HOMEPAGE=https://github.com/olvaffe/percetto
-IUSE=cros-debug
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND=>=chromeos-base/perfetto-22.0
-SLOT=0
-SRC_URI=https://github.com/olvaffe/percetto/archive/v0.1.6.tar.gz -> percetto-0.1.6.tar.gz
-_eclasses_=cros-debug	d2750757005d6a444f8eb12bb9eb9944	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c7d9f7c56dc8ae365f9aa1d157861d63
diff --git a/metadata/md5-cache/chromeos-base/percetto-0.1.6-r2 b/metadata/md5-cache/chromeos-base/percetto-0.1.6-r2
new file mode 100644
index 0000000..8dd243f
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/percetto-0.1.6-r2
@@ -0,0 +1,14 @@
+BDEPEND=>=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+DEFINED_PHASES=compile configure install test
+DEPEND=>=chromeos-base/perfetto-22.0
+DESCRIPTION=Percetto is a C wrapper for Perfetto SDK.
+EAPI=7
+HOMEPAGE=https://github.com/olvaffe/percetto
+IUSE=cros-debug
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=>=chromeos-base/perfetto-22.0
+SLOT=0
+SRC_URI=https://github.com/olvaffe/percetto/archive/v0.1.6.tar.gz -> percetto-0.1.6.tar.gz
+_eclasses_=cros-debug	d2750757005d6a444f8eb12bb9eb9944	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9481d58796c0e6919cd9b25f6fdc95dc
diff --git a/metadata/md5-cache/chromeos-base/perfetto-24.2-r1 b/metadata/md5-cache/chromeos-base/perfetto-24.2-r1
deleted file mode 100644
index 5880fa2..0000000
--- a/metadata/md5-cache/chromeos-base/perfetto-24.2-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-util/gn dev-util/ninja dev-libs/protobuf dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup unpack
-DEPEND=sys-apps/baselayout
-DESCRIPTION=An open-source project for performance instrumentation and tracing.
-EAPI=7
-HOMEPAGE=https://perfetto.dev/
-IUSE=cros-debug cros_host cros_workon_tree_7db74cbccde01bad10a08f5f9dd6256916ec7eba
-KEYWORDS=*
-LICENSE=Apache-2.0
-PROPERTIES=live
-RDEPEND=virtual/tmpfiles sys-apps/baselayout
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=aa63709d845e66d23bb3b22a1c6340d4
diff --git a/metadata/md5-cache/chromeos-base/perfetto-24.2-r2 b/metadata/md5-cache/chromeos-base/perfetto-24.2-r2
new file mode 100644
index 0000000..0f531fe
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/perfetto-24.2-r2
@@ -0,0 +1,14 @@
+BDEPEND=dev-util/gn dev-util/ninja dev-libs/protobuf dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup unpack
+DEPEND=sys-apps/baselayout
+DESCRIPTION=An open-source project for performance instrumentation and tracing.
+EAPI=7
+HOMEPAGE=https://perfetto.dev/
+IUSE=cros-debug cros_host cros_workon_tree_7db74cbccde01bad10a08f5f9dd6256916ec7eba
+KEYWORDS=*
+LICENSE=Apache-2.0
+PROPERTIES=live
+RDEPEND=virtual/tmpfiles sys-apps/baselayout
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=aa63709d845e66d23bb3b22a1c6340d4
diff --git a/metadata/md5-cache/chromeos-base/perfetto-9999 b/metadata/md5-cache/chromeos-base/perfetto-9999
index 1e7d801..a753c00 100644
--- a/metadata/md5-cache/chromeos-base/perfetto-9999
+++ b/metadata/md5-cache/chromeos-base/perfetto-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=virtual/tmpfiles sys-apps/baselayout
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
 _md5_=c30310b23c8d5a6a406332f1fb971607
diff --git a/metadata/md5-cache/chromeos-base/perfetto_simple_producer-0.0.1-r138 b/metadata/md5-cache/chromeos-base/perfetto_simple_producer-0.0.1-r138
new file mode 100644
index 0000000..953b126
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/perfetto_simple_producer-0.0.1-r138
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/perfetto:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Simple Producer of Perfetto for Chromium OS.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/perfetto_simple_producer
+IUSE=cros-debug cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_1288ac713c854ca0f3e6c2cd1c77e98a5a194e74_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_1288ac713c854ca0f3e6c2cd1c77e98a5a194e74_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r138
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6ac900f8d86e663b68a1956c705b9adf
diff --git a/metadata/md5-cache/chromeos-base/perfetto_simple_producer-0.0.1-r81 b/metadata/md5-cache/chromeos-base/perfetto_simple_producer-0.0.1-r81
deleted file mode 100644
index e783f49..0000000
--- a/metadata/md5-cache/chromeos-base/perfetto_simple_producer-0.0.1-r81
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/perfetto:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Simple Producer of Perfetto for Chromium OS.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/perfetto_simple_producer
-IUSE=cros-debug cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1288ac713c854ca0f3e6c2cd1c77e98a5a194e74_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1288ac713c854ca0f3e6c2cd1c77e98a5a194e74_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r81
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e751c2b8b8fd25e049cd5c7b916eb630
diff --git a/metadata/md5-cache/chromeos-base/perfetto_simple_producer-9999 b/metadata/md5-cache/chromeos-base/perfetto_simple_producer-9999
index fd54ba1..bc5669b 100644
--- a/metadata/md5-cache/chromeos-base/perfetto_simple_producer-9999
+++ b/metadata/md5-cache/chromeos-base/perfetto_simple_producer-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/perfetto:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/perfetto:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Simple Producer of Perfetto for Chromium OS.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/perfetto_simple_producer
-IUSE=cros-debug cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros-debug cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=ccf299ddcc43c7a483fb44912e85381d
diff --git a/metadata/md5-cache/chromeos-base/permission_broker-0.0.1-r3202 b/metadata/md5-cache/chromeos-base/permission_broker-0.0.1-r3202
deleted file mode 100644
index 664fb42..0000000
--- a/metadata/md5-cache/chromeos-base/permission_broker-0.0.1-r3202
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/patchpanel-client:= sys-apps/dbus:= virtual/libusb:1 virtual/udev chromeos-base/system_api:=[fuzzer?] sys-kernel/linux-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Permission Broker for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/permission_broker/
-IUSE=cfm_enabled_device fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_ee30bffa5e7b68afe08820cc3b668f209a688a4b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_ee30bffa5e7b68afe08820cc3b668f209a688a4b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/patchpanel-client:= sys-apps/dbus:= virtual/libusb:1 virtual/udev >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r3202
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=f1269b04d2f7f13333e0e8f449404c55
diff --git a/metadata/md5-cache/chromeos-base/permission_broker-0.0.1-r3280 b/metadata/md5-cache/chromeos-base/permission_broker-0.0.1-r3280
new file mode 100644
index 0000000..2901cd6
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/permission_broker-0.0.1-r3280
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/patchpanel-client:= sys-apps/dbus:= virtual/libusb:1 virtual/udev chromeos-base/system_api:=[fuzzer?] sys-kernel/linux-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Permission Broker for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/permission_broker/
+IUSE=cfm_enabled_device fuzzer cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f4e705a84c3c965c7fdb404c95aaf83f31e7316d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f4e705a84c3c965c7fdb404c95aaf83f31e7316d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/patchpanel-client:= sys-apps/dbus:= virtual/libusb:1 virtual/udev >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r3280
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=46b395b5916c6b647ace4f28801ad1d1
diff --git a/metadata/md5-cache/chromeos-base/permission_broker-9999 b/metadata/md5-cache/chromeos-base/permission_broker-9999
index 3a48c25..cb8e982 100644
--- a/metadata/md5-cache/chromeos-base/permission_broker-9999
+++ b/metadata/md5-cache/chromeos-base/permission_broker-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/patchpanel-client:= sys-apps/dbus:= virtual/libusb:1 virtual/udev chromeos-base/system_api:=[fuzzer?] sys-kernel/linux-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/patchpanel-client:= sys-apps/dbus:= virtual/libusb:1 virtual/udev chromeos-base/system_api:=[fuzzer?] sys-kernel/linux-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Permission Broker for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/permission_broker/
-IUSE=cfm_enabled_device fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/permission_broker/
+IUSE=cfm_enabled_device fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/patchpanel-client:= sys-apps/dbus:= virtual/libusb:1 virtual/udev >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=220814e474c6545a80e25c1a93a9c138
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=c50d4862851978f27386567c1d3de299
diff --git a/metadata/md5-cache/chromeos-base/permission_broker-client-0.0.1-r1949 b/metadata/md5-cache/chromeos-base/permission_broker-client-0.0.1-r1949
deleted file mode 100644
index 3c3f646..0000000
--- a/metadata/md5-cache/chromeos-base/permission_broker-client-0.0.1-r1949
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=cros_host? ( chromeos-base/chromeos-dbus-bindings:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Permission Broker DBus client library for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/permission_broker/
-IUSE=cros_host cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_ee30bffa5e7b68afe08820cc3b668f209a688a4b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_ee30bffa5e7b68afe08820cc3b668f209a688a4b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r1949
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=362acc02f1d1b27b51482f13f3483329
diff --git a/metadata/md5-cache/chromeos-base/permission_broker-client-0.0.1-r2026 b/metadata/md5-cache/chromeos-base/permission_broker-client-0.0.1-r2026
new file mode 100644
index 0000000..020db0c
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/permission_broker-client-0.0.1-r2026
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=cros_host? ( chromeos-base/chromeos-dbus-bindings:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Permission Broker DBus client library for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/permission_broker/
+IUSE=cros_host cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f4e705a84c3c965c7fdb404c95aaf83f31e7316d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f4e705a84c3c965c7fdb404c95aaf83f31e7316d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r2026
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3d66424c30c7cb4c0ef9362b43ce6b23
diff --git a/metadata/md5-cache/chromeos-base/permission_broker-client-9999 b/metadata/md5-cache/chromeos-base/permission_broker-client-9999
index d0bcc69..e3181de 100644
--- a/metadata/md5-cache/chromeos-base/permission_broker-client-9999
+++ b/metadata/md5-cache/chromeos-base/permission_broker-client-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=cros_host? ( chromeos-base/chromeos-dbus-bindings:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=cros_host? ( chromeos-base/chromeos-dbus-bindings:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Permission Broker DBus client library for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/permission_broker/
-IUSE=cros_host cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/permission_broker/
+IUSE=cros_host cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=47c7b468d0dab08c7d9214e59215ed9b
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0e66f62b3b5cab9937119ea6356d8203
diff --git a/metadata/md5-cache/chromeos-base/pinweaver-0.0.1-r25 b/metadata/md5-cache/chromeos-base/pinweaver-0.0.1-r25
deleted file mode 100644
index 588c350..0000000
--- a/metadata/md5-cache/chromeos-base/pinweaver-0.0.1-r25
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=PinWeaver code that can be used across implementation platforms.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/pinweaver/+/main/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_0976a2b7b2acb179add29936ed65851ab6662c95 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_0976a2b7b2acb179add29936ed65851ab6662c95 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6566ce8400912545967090eadd877a91
diff --git a/metadata/md5-cache/chromeos-base/pinweaver-0.0.1-r89 b/metadata/md5-cache/chromeos-base/pinweaver-0.0.1-r89
new file mode 100644
index 0000000..1f00d72
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/pinweaver-0.0.1-r89
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=PinWeaver code that can be used across implementation platforms.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/pinweaver/+/main/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_86f25a69ccb900fd0f5da1a8861df68696c36330 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_86f25a69ccb900fd0f5da1a8861df68696c36330 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9a590ee3a95e5bfe29a176b89bcfa582
diff --git a/metadata/md5-cache/chromeos-base/pinweaver-9999 b/metadata/md5-cache/chromeos-base/pinweaver-9999
index 3a3b8ab..5f605d4 100644
--- a/metadata/md5-cache/chromeos-base/pinweaver-9999
+++ b/metadata/md5-cache/chromeos-base/pinweaver-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=PinWeaver code that can be used across implementation platforms.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/pinweaver/+/main/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=0f085cbd58f2fb7d170cf37e90f213a7
diff --git a/metadata/md5-cache/chromeos-base/policy-go-proto-0.0.1-r268 b/metadata/md5-cache/chromeos-base/policy-go-proto-0.0.1-r268
deleted file mode 100644
index af523c7..0000000
--- a/metadata/md5-cache/chromeos-base/policy-go-proto-0.0.1-r268
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst setup test unpack
-DEPEND=>=chromeos-base/protofiles-0.0.48:= dev-go/protobuf:= dev-libs/protobuf:= dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS policy protocol buffer binding for go
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/policy_proto
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_f6e985347a838bbbdd2997e97c4b4940571f2dd2_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_f6e985347a838bbbdd2997e97c4b4940571f2dd2_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r268
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2b3bc8c2d8eaa446282b4d45ea612683
diff --git a/metadata/md5-cache/chromeos-base/policy-go-proto-0.0.1-r327 b/metadata/md5-cache/chromeos-base/policy-go-proto-0.0.1-r327
new file mode 100644
index 0000000..0236f19
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/policy-go-proto-0.0.1-r327
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst setup test unpack
+DEPEND=>=chromeos-base/protofiles-0.0.48:= dev-go/protobuf:= dev-go/protobuf-legacy-api:= dev-libs/protobuf:= dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS policy protocol buffer binding for go
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/policy_proto
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f6e985347a838bbbdd2997e97c4b4940571f2dd2_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f6e985347a838bbbdd2997e97c4b4940571f2dd2_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r327
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=47a5f3ea9ad40f85c28168292243a89b
diff --git a/metadata/md5-cache/chromeos-base/policy-go-proto-9999 b/metadata/md5-cache/chromeos-base/policy-go-proto-9999
index 91f721e..82633d8 100644
--- a/metadata/md5-cache/chromeos-base/policy-go-proto-9999
+++ b/metadata/md5-cache/chromeos-base/policy-go-proto-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst setup test unpack
-DEPEND=>=chromeos-base/protofiles-0.0.48:= dev-go/protobuf:= dev-libs/protobuf:= dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/protofiles-0.0.48:= dev-go/protobuf:= dev-go/protobuf-legacy-api:= dev-libs/protobuf:= dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS policy protocol buffer binding for go
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/policy_proto
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/policy_proto
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=613dee30d5260f11b7d0a32d13d92bd4
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ef6ea07c1755f47cdd2e929527c0e9cc
diff --git a/metadata/md5-cache/chromeos-base/policy-testserver-0.0.10-r2 b/metadata/md5-cache/chromeos-base/policy-testserver-0.0.10-r2
deleted file mode 100644
index 6ac324d..0000000
--- a/metadata/md5-cache/chromeos-base/policy-testserver-0.0.10-r2
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile info install setup unpack
-DEPEND=dev-libs/protobuf:=
-DESCRIPTION=Dependencies needed by the policy_testserver
-EAPI=6
-IUSE=cros_host cros_workon_tree_
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-python/protobuf-python
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=9d7b96aa31972dd50ccfe9c9e5e3d2e9
diff --git a/metadata/md5-cache/chromeos-base/policy-testserver-0.0.21 b/metadata/md5-cache/chromeos-base/policy-testserver-0.0.21
new file mode 100644
index 0000000..9795c63
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/policy-testserver-0.0.21
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile info install setup unpack
+DEPEND=dev-libs/protobuf:=
+DESCRIPTION=Dependencies needed by the policy_testserver
+EAPI=6
+IUSE=cros_host cros_workon_tree_
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-python/protobuf-python
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=7c3e38c4a549ea1eadedffe006d90ae8
diff --git a/metadata/md5-cache/chromeos-base/policy-testserver-9999 b/metadata/md5-cache/chromeos-base/policy-testserver-9999
index 48f2685..02dc70e 100644
--- a/metadata/md5-cache/chromeos-base/policy-testserver-9999
+++ b/metadata/md5-cache/chromeos-base/policy-testserver-9999
@@ -8,5 +8,5 @@
 PROPERTIES=live
 RDEPEND=dev-python/protobuf-python
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=6617c5f5e0d97f21b182adf79f7628d1
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=1687763342d89705b94d54b7a584b424
diff --git a/metadata/md5-cache/chromeos-base/policy_utils-0.0.1-r270 b/metadata/md5-cache/chromeos-base/policy_utils-0.0.1-r270
deleted file mode 100644
index 76754b7..0000000
--- a/metadata/md5-cache/chromeos-base/policy_utils-0.0.1-r270
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/system_api >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Device-policy-management library and tool for Chrome OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/policy_utils/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1e1e0c6f92d27a5c185ea1ba3cdfc88575ce4182_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1e1e0c6f92d27a5c185ea1ba3cdfc88575ce4182_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=4d838dd03faed2f22fb5b0a58ad50769
diff --git a/metadata/md5-cache/chromeos-base/policy_utils-0.0.1-r330 b/metadata/md5-cache/chromeos-base/policy_utils-0.0.1-r330
new file mode 100644
index 0000000..6c9e099
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/policy_utils-0.0.1-r330
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/system_api >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Device-policy-management library and tool for Chrome OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/policy_utils/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_8fbdaea8ad40677acc8a26ad43f036ed7ece2ec8_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_8fbdaea8ad40677acc8a26ad43f036ed7ece2ec8_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8da2e749348ad84a0f8484bc34b5e9fe
diff --git a/metadata/md5-cache/chromeos-base/policy_utils-9999 b/metadata/md5-cache/chromeos-base/policy_utils-9999
index 6f96856..77a56c5 100644
--- a/metadata/md5-cache/chromeos-base/policy_utils-9999
+++ b/metadata/md5-cache/chromeos-base/policy_utils-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/system_api >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/system_api >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Device-policy-management library and tool for Chrome OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/policy_utils/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/policy_utils/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=66de907fb8c0c3ab0fc366d16a6de9b5
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=77924c8771c2cff647b716195316d8a8
diff --git a/metadata/md5-cache/chromeos-base/power_manager-0.0.2-r4066 b/metadata/md5-cache/chromeos-base/power_manager-0.0.2-r4066
deleted file mode 100644
index 30060f1..0000000
--- a/metadata/md5-cache/chromeos-base/power_manager-0.0.2-r4066
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git virtual/pkgconfig virtual/pkgconfig
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/libec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/shill-dbus-client:= chromeos-base/tpm_manager-client:= dev-libs/libnl:= dev-libs/protobuf:= dev-libs/re2:= cras? ( media-sound/adhd:= ) virtual/udev cellular? ( net-misc/modemmanager-next:= ) chromeos-base/chromeos-ec-headers:= chromeos-base/system_api:=[fuzzer?] qrtr? ( sys-apps/upstart:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Power Manager for Chromium OS
-EAPI=7
-HOMEPAGE=http://dev.chromium.org/chromium-os/packages/power_manager
-IUSE=-als cellular +cras cros_embedded +display_backlight fuzzer -has_keyboard_backlight iioservice -keyboard_includes_side_buttons keyboard_convertible_no_side_buttons -legacy_power_button -powerd_manual_eventlog_add +powerknobs systemd +touchpad_wakeup -touchscreen_wakeup unibuild wilco qrtr -has_machine_quirks cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_bea140d13f7cf1092e4c89a45011c04c28327972_04d918571ad6d12563589ccf1b8c0e79b65521aa_b2a628a7e6e84c75bbb6593f7e7d6c7baa8ccba0_4a0dedab080195bdc122d2289118df4af3ddca2c_f48db0af4c70fe6ae23f1861b4b3989bc9fbf4ee_df2875ccc771270175813bb56bd8288194e09568_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_bea140d13f7cf1092e4c89a45011c04c28327972_04d918571ad6d12563589ccf1b8c0e79b65521aa_b2a628a7e6e84c75bbb6593f7e7d6c7baa8ccba0_4a0dedab080195bdc122d2289118df4af3ddca2c_f48db0af4c70fe6ae23f1861b4b3989bc9fbf4ee_df2875ccc771270175813bb56bd8288194e09568_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/libec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/shill-dbus-client:= chromeos-base/tpm_manager-client:= dev-libs/libnl:= dev-libs/protobuf:= dev-libs/re2:= cras? ( media-sound/adhd:= ) virtual/udev cellular? ( net-misc/modemmanager-next:= ) chromeos-base/ec-utils iioservice? ( chromeos-base/libiioservice_ipc:= ) powerd_manual_eventlog_add? ( sys-apps/coreboot-utils ) qrtr? ( net-libs/libqrtr:= ) virtual/tmpfiles has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-REQUIRED_USE=?? ( keyboard_includes_side_buttons keyboard_convertible_no_side_buttons )
-SLOT=0/0.0.2-r4066
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=cd3e61751efa08dce66fd1e107f47964
diff --git a/metadata/md5-cache/chromeos-base/power_manager-0.0.2-r4328 b/metadata/md5-cache/chromeos-base/power_manager-0.0.2-r4328
new file mode 100644
index 0000000..5377b29
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/power_manager-0.0.2-r4328
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git virtual/pkgconfig virtual/pkgconfig
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/libec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/ml-client:= chromeos-base/shill-dbus-client:= chromeos-base/tpm_manager-client:= dev-libs/libnl:= dev-libs/protobuf:= dev-libs/re2:= cras? ( media-sound/adhd:= ) virtual/udev cellular? ( net-misc/modemmanager-next:= ) chromeos-base/chromeos-ec-headers:= chromeos-base/system_api:=[fuzzer?] qrtr? ( sys-apps/upstart:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Power Manager for Chromium OS
+EAPI=7
+HOMEPAGE=http://dev.chromium.org/chromium-os/packages/power_manager
+IUSE=-als cellular +cras cros_embedded +display_backlight fuzzer -has_keyboard_backlight iioservice -keyboard_includes_side_buttons keyboard_convertible_no_side_buttons -legacy_power_button -powerd_manual_eventlog_add +powerknobs systemd +touchpad_wakeup -touchscreen_wakeup unibuild wilco qrtr cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_527abd7a988a45572305a6c44b5324d0d9cf8be2_a97bd01dbd0e88c337336d29105ee63b03a4ef9f_1dbf281b6523338c1a11135ebaf00796f0f664e4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_0bb1188da737e1a0399457e852e32dc8cfba2567_62f84a7b4216d539df553a5bafe00d85969a9f63_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_527abd7a988a45572305a6c44b5324d0d9cf8be2_a97bd01dbd0e88c337336d29105ee63b03a4ef9f_1dbf281b6523338c1a11135ebaf00796f0f664e4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_0bb1188da737e1a0399457e852e32dc8cfba2567_62f84a7b4216d539df553a5bafe00d85969a9f63_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/libec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/ml-client:= chromeos-base/shill-dbus-client:= chromeos-base/tpm_manager-client:= dev-libs/libnl:= dev-libs/protobuf:= dev-libs/re2:= cras? ( media-sound/adhd:= ) virtual/udev cellular? ( net-misc/modemmanager-next:= ) chromeos-base/ec-utils iioservice? ( chromeos-base/libiioservice_ipc:= ) powerd_manual_eventlog_add? ( sys-apps/coreboot-utils ) qrtr? ( net-libs/libqrtr:= ) virtual/tmpfiles has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+REQUIRED_USE=?? ( keyboard_includes_side_buttons keyboard_convertible_no_side_buttons )
+SLOT=0/0.0.2-r4328
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=b15726b653ec2569758cf4bff51c5ef4
diff --git a/metadata/md5-cache/chromeos-base/power_manager-9999 b/metadata/md5-cache/chromeos-base/power_manager-9999
index 8767725..4f87ea2 100644
--- a/metadata/md5-cache/chromeos-base/power_manager-9999
+++ b/metadata/md5-cache/chromeos-base/power_manager-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git virtual/pkgconfig virtual/pkgconfig
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/libec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/shill-dbus-client:= chromeos-base/tpm_manager-client:= dev-libs/libnl:= dev-libs/protobuf:= dev-libs/re2:= cras? ( media-sound/adhd:= ) virtual/udev cellular? ( net-misc/modemmanager-next:= ) chromeos-base/chromeos-ec-headers:= chromeos-base/system_api:=[fuzzer?] qrtr? ( sys-apps/upstart:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/libec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/ml-client:= chromeos-base/shill-dbus-client:= chromeos-base/tpm_manager-client:= dev-libs/libnl:= dev-libs/protobuf:= dev-libs/re2:= cras? ( media-sound/adhd:= ) virtual/udev cellular? ( net-misc/modemmanager-next:= ) chromeos-base/chromeos-ec-headers:= chromeos-base/system_api:=[fuzzer?] qrtr? ( sys-apps/upstart:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Power Manager for Chromium OS
 EAPI=7
 HOMEPAGE=http://dev.chromium.org/chromium-os/packages/power_manager
-IUSE=-als cellular +cras cros_embedded +display_backlight fuzzer -has_keyboard_backlight iioservice -keyboard_includes_side_buttons keyboard_convertible_no_side_buttons -legacy_power_button -powerd_manual_eventlog_add +powerknobs systemd +touchpad_wakeup -touchscreen_wakeup unibuild wilco qrtr -has_machine_quirks cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=-als cellular +cras cros_embedded +display_backlight fuzzer -has_keyboard_backlight iioservice -keyboard_includes_side_buttons keyboard_convertible_no_side_buttons -legacy_power_button -powerd_manual_eventlog_add +powerknobs systemd +touchpad_wakeup -touchscreen_wakeup unibuild wilco qrtr cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/libec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/shill-dbus-client:= chromeos-base/tpm_manager-client:= dev-libs/libnl:= dev-libs/protobuf:= dev-libs/re2:= cras? ( media-sound/adhd:= ) virtual/udev cellular? ( net-misc/modemmanager-next:= ) chromeos-base/ec-utils iioservice? ( chromeos-base/libiioservice_ipc:= ) powerd_manual_eventlog_add? ( sys-apps/coreboot-utils ) qrtr? ( net-libs/libqrtr:= ) virtual/tmpfiles has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/libec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/ml-client:= chromeos-base/shill-dbus-client:= chromeos-base/tpm_manager-client:= dev-libs/libnl:= dev-libs/protobuf:= dev-libs/re2:= cras? ( media-sound/adhd:= ) virtual/udev cellular? ( net-misc/modemmanager-next:= ) chromeos-base/ec-utils iioservice? ( chromeos-base/libiioservice_ipc:= ) powerd_manual_eventlog_add? ( sys-apps/coreboot-utils ) qrtr? ( net-libs/libqrtr:= ) virtual/tmpfiles has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 REQUIRED_USE=?? ( keyboard_includes_side_buttons keyboard_convertible_no_side_buttons )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=6be6172017fabbf8462c195e68b36314
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=7826ceb70aa994e94434a22256c891f5
diff --git a/metadata/md5-cache/chromeos-base/power_manager-client-0.0.1-r2288 b/metadata/md5-cache/chromeos-base/power_manager-client-0.0.1-r2288
deleted file mode 100644
index d57ff42..0000000
--- a/metadata/md5-cache/chromeos-base/power_manager-client-0.0.1-r2288
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=chromeos-base/chromeos-dbus-bindings:= dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Power manager DBus client library for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/power_manager/
-IUSE=cros_host cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_f48db0af4c70fe6ae23f1861b4b3989bc9fbf4ee_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_f48db0af4c70fe6ae23f1861b4b3989bc9fbf4ee_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r2288
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=fbe6d7c0cf2adc52b15ea28fff6196ca
diff --git a/metadata/md5-cache/chromeos-base/power_manager-client-0.0.1-r2419 b/metadata/md5-cache/chromeos-base/power_manager-client-0.0.1-r2419
new file mode 100644
index 0000000..b6d2aac
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/power_manager-client-0.0.1-r2419
@@ -0,0 +1,14 @@
+BDEPEND=chromeos-base/chromeos-dbus-bindings:= dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Power manager DBus client library for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/power_manager/
+IUSE=cros_host cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_0bb1188da737e1a0399457e852e32dc8cfba2567_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_0bb1188da737e1a0399457e852e32dc8cfba2567_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r2419
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=225bec6389cbe2448b468899be2aebf6
diff --git a/metadata/md5-cache/chromeos-base/power_manager-client-9999 b/metadata/md5-cache/chromeos-base/power_manager-client-9999
index 441c0b5..1cd67c6 100644
--- a/metadata/md5-cache/chromeos-base/power_manager-client-9999
+++ b/metadata/md5-cache/chromeos-base/power_manager-client-9999
@@ -1,14 +1,14 @@
 BDEPEND=chromeos-base/chromeos-dbus-bindings:= dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Power manager DBus client library for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/power_manager/
-IUSE=cros_host cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/power_manager/
+IUSE=cros_host cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d328bdefe390a7490c448043ed07b52f
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9c5d542001a8e61f3b4becbcd6c5e267
diff --git a/metadata/md5-cache/chromeos-base/print_tools-0.0.1-r197 b/metadata/md5-cache/chromeos-base/print_tools-0.0.1-r197
deleted file mode 100644
index 9451531..0000000
--- a/metadata/md5-cache/chromeos-base/print_tools-0.0.1-r197
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libipp:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Various tools for the native printing system.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/print_tools/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_16ed628a2ab08887298d13700ab8efe04c8cd38f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_16ed628a2ab08887298d13700ab8efe04c8cd38f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/libipp:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r197
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c2bff68a3296e77376e7887842a13996
diff --git a/metadata/md5-cache/chromeos-base/print_tools-0.0.1-r260 b/metadata/md5-cache/chromeos-base/print_tools-0.0.1-r260
new file mode 100644
index 0000000..db0626d
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/print_tools-0.0.1-r260
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/libipp:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Various tools for the native printing system.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/print_tools/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_13183fe914ad9f617d493ad25fe9b7db7b0078ab_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_13183fe914ad9f617d493ad25fe9b7db7b0078ab_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/libipp:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r260
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3435c8a39f233b9455e2cc3be58b9cdf
diff --git a/metadata/md5-cache/chromeos-base/print_tools-9999 b/metadata/md5-cache/chromeos-base/print_tools-9999
index 5b1cb81..db8dd26 100644
--- a/metadata/md5-cache/chromeos-base/print_tools-9999
+++ b/metadata/md5-cache/chromeos-base/print_tools-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libipp:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/libipp:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Various tools for the native printing system.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/print_tools/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/print_tools/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/libipp:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=af270c8a1070ed8ac42eabf89e6d74a3
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1255e6600c97920cfb74ed329908910f
diff --git a/metadata/md5-cache/chromeos-base/protofiles-0.0.57 b/metadata/md5-cache/chromeos-base/protofiles-0.0.57
deleted file mode 100644
index 3fa676a..0000000
--- a/metadata/md5-cache/chromeos-base/protofiles-0.0.57
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install setup unpack
-DESCRIPTION=Protobuf installer for the device policy proto definitions.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromium/src/components/policy
-IUSE=cros_host cros_workon_tree_c994783f3b462cbf186408b7eb831008c4c9c35e_2b33c6c1b6529c83b4dee92c4c581b0844325591_36b1891707e49195ca9114e1465dc2c0add9eb8b
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=!<chromeos-base/chromeos-chrome-82.0.4056.0_rc-r1
-SLOT=0/0.0.57
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=b337949fdc7a4e316fb7d4c66db3b0e2
diff --git a/metadata/md5-cache/chromeos-base/protofiles-0.0.68 b/metadata/md5-cache/chromeos-base/protofiles-0.0.68
new file mode 100644
index 0000000..1ac2a11
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/protofiles-0.0.68
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install setup unpack
+DESCRIPTION=Protobuf installer for the device policy proto definitions.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromium/src/components/policy
+IUSE=cros_host cros_workon_tree_a6e16b51c45b12815ab48eeb9c96cd3040850d9b_b8d20bc0d11609ffe2bc40bb4b3613cf94b6bd6d_f684c7405b47af0d6f74e4bc062845fca1359fe4
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=!<chromeos-base/chromeos-chrome-82.0.4056.0_rc-r1
+SLOT=0/0.0.68
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f3572aa3dc42804e8e2c80d3071fdc47
diff --git a/metadata/md5-cache/chromeos-base/protofiles-9999 b/metadata/md5-cache/chromeos-base/protofiles-9999
index dfd38ec..b01468c 100644
--- a/metadata/md5-cache/chromeos-base/protofiles-9999
+++ b/metadata/md5-cache/chromeos-base/protofiles-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=!<chromeos-base/chromeos-chrome-82.0.4056.0_rc-r1
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=f31c0107d200840ba5464a312123bea4
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2aacfd3d0d6076559c1a70f4d5dd233b
diff --git a/metadata/md5-cache/chromeos-base/qc-modemfwd-helper-0.0.1-r16 b/metadata/md5-cache/chromeos-base/qc-modemfwd-helper-0.0.1-r16
new file mode 100644
index 0000000..0bfcf4f
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/qc-modemfwd-helper-0.0.1-r16
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=modemfwd helper for Qualcomm modems
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/modemfwd
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f9d7642be5b503d284cb5ac683ec681e06938c01_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f9d7642be5b503d284cb5ac683ec681e06938c01_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-cellular	275b6422b884252c55003202ebed1e0b	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=bc13b7c21aff96639b5cbf1a5176be91
diff --git a/metadata/md5-cache/chromeos-base/qc-modemfwd-helper-9999 b/metadata/md5-cache/chromeos-base/qc-modemfwd-helper-9999
new file mode 100644
index 0000000..f38b37c
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/qc-modemfwd-helper-9999
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=modemfwd helper for Qualcomm modems
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/modemfwd
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-cellular	275b6422b884252c55003202ebed1e0b	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=61ce55ea058f4d43703d56cb42133a77
diff --git a/metadata/md5-cache/chromeos-base/quipper-0.0.1-r2731 b/metadata/md5-cache/chromeos-base/quipper-0.0.1-r2731
deleted file mode 100644
index 3e63313..0000000
--- a/metadata/md5-cache/chromeos-base/quipper-0.0.1-r2731
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=dev-cpp/gflags-2.0:= >=dev-libs/glib-2.30:= dev-libs/openssl:= dev-libs/protobuf:= dev-libs/re2:= dev-util/perf:= chromeos-base/protofiles:= test? ( app-shells/dash ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=quipper: chromiumos wide profiling
-EAPI=7
-HOMEPAGE=http://www.chromium.org/chromium-os/profiling-in-chromeos
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=dev-cpp/gflags-2.0:= >=dev-libs/glib-2.30:= dev-libs/openssl:= dev-libs/protobuf:= dev-libs/re2:= dev-util/perf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r2731
-SRC_URI=gs://chromeos-localmirror/distfiles/quipper-9e1c26cb7912122f0a61a41fea86453b1aebeed1.tar.gz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=14d88b0ec08620c9868dbbce6d1f4b07
diff --git a/metadata/md5-cache/chromeos-base/quipper-0.0.1-r2793 b/metadata/md5-cache/chromeos-base/quipper-0.0.1-r2793
new file mode 100644
index 0000000..a91e43e
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/quipper-0.0.1-r2793
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=dev-cpp/gflags-2.0:= >=dev-libs/glib-2.30:= dev-libs/openssl:= dev-libs/protobuf:= dev-libs/re2:= dev-util/perf:= chromeos-base/protofiles:= test? ( app-shells/dash ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=quipper: chromiumos wide profiling
+EAPI=7
+HOMEPAGE=http://www.chromium.org/chromium-os/profiling-in-chromeos
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=dev-cpp/gflags-2.0:= >=dev-libs/glib-2.30:= dev-libs/openssl:= dev-libs/protobuf:= dev-libs/re2:= dev-util/perf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r2793
+SRC_URI=gs://chromeos-localmirror/distfiles/quipper-3a630ff16ba6a8ba8e834d9a2acf3f06a879cadf.tar.gz
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=709f19fca39b31ed805156868115a7cd
diff --git a/metadata/md5-cache/chromeos-base/quipper-9999 b/metadata/md5-cache/chromeos-base/quipper-9999
index b41f367..a6ab50e 100644
--- a/metadata/md5-cache/chromeos-base/quipper-9999
+++ b/metadata/md5-cache/chromeos-base/quipper-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=dev-cpp/gflags-2.0:= >=dev-libs/glib-2.30:= dev-libs/openssl:= dev-libs/protobuf:= dev-libs/re2:= dev-util/perf:= chromeos-base/protofiles:= test? ( app-shells/dash ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=dev-cpp/gflags-2.0:= >=dev-libs/glib-2.30:= dev-libs/openssl:= dev-libs/protobuf:= dev-libs/re2:= dev-util/perf:= chromeos-base/protofiles:= test? ( app-shells/dash ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=quipper: chromiumos wide profiling
 EAPI=7
 HOMEPAGE=http://www.chromium.org/chromium-os/profiling-in-chromeos
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=dev-cpp/gflags-2.0:= >=dev-libs/glib-2.30:= dev-libs/openssl:= dev-libs/protobuf:= dev-libs/re2:= dev-util/perf:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-SRC_URI=gs://chromeos-localmirror/distfiles/quipper-9e1c26cb7912122f0a61a41fea86453b1aebeed1.tar.gz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=1039a45749e049705d8ee7b5d7d6a425
+SRC_URI=gs://chromeos-localmirror/distfiles/quipper-3a630ff16ba6a8ba8e834d9a2acf3f06a879cadf.tar.gz
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f8e9aaed518dc6e8d296d28946b6966c
diff --git a/metadata/md5-cache/chromeos-base/recover-duts-0.0.1-r422 b/metadata/md5-cache/chromeos-base/recover-duts-0.0.1-r422
index 8b0d678..e975971 100644
--- a/metadata/md5-cache/chromeos-base/recover-duts-0.0.1-r422
+++ b/metadata/md5-cache/chromeos-base/recover-duts-0.0.1-r422
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/chromeos-init
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=8e17a1f8c3f9fd99457685148393fc1f
diff --git a/metadata/md5-cache/chromeos-base/recover-duts-9999 b/metadata/md5-cache/chromeos-base/recover-duts-9999
index d3fed86..361b2a2 100644
--- a/metadata/md5-cache/chromeos-base/recover-duts-9999
+++ b/metadata/md5-cache/chromeos-base/recover-duts-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/chromeos-init
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=46038a9cd8cbde2a0446bd53714fe066
diff --git a/metadata/md5-cache/chromeos-base/regions-0.0.1-r2025 b/metadata/md5-cache/chromeos-base/regions-0.0.1-r2025
deleted file mode 100644
index f93e918..0000000
--- a/metadata/md5-cache/chromeos-base/regions-0.0.1-r2025
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install setup test unpack
-DESCRIPTION=Chromium OS Region Data
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/regions/
-IUSE=cros-debug cros_host cros_workon_tree_a7f68cef55f958d3a2648d89630c39072a943a37
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=app-misc/jq
-SLOT=0/0.0.1-r2025
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=f4a401693fbaec09baae81e746e5e9ee
diff --git a/metadata/md5-cache/chromeos-base/regions-0.0.1-r2027 b/metadata/md5-cache/chromeos-base/regions-0.0.1-r2027
new file mode 100644
index 0000000..ecf11f5
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/regions-0.0.1-r2027
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install setup test unpack
+DESCRIPTION=Chromium OS Region Data
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/regions/
+IUSE=cros-debug cros_host cros_workon_tree_980c6c483b08452d1fc206a2c489640cfe042d13
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=app-misc/jq
+SLOT=0/0.0.1-r2027
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d249b8737f5b1f5e5e734b93f8efb24d
diff --git a/metadata/md5-cache/chromeos-base/regions-9999 b/metadata/md5-cache/chromeos-base/regions-9999
index f45092c..3d4f3c0 100644
--- a/metadata/md5-cache/chromeos-base/regions-9999
+++ b/metadata/md5-cache/chromeos-base/regions-9999
@@ -2,12 +2,12 @@
 DEFINED_PHASES=compile info install setup test unpack
 DESCRIPTION=Chromium OS Region Data
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/regions/
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/regions/
 IUSE=cros-debug cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 RDEPEND=app-misc/jq
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=b88699ca7103ee80dc73b5344456b105
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=547e00e11cc659fc76dd040298142c7a
diff --git a/metadata/md5-cache/chromeos-base/rendernodehost-0.0.1-r242 b/metadata/md5-cache/chromeos-base/rendernodehost-0.0.1-r242
deleted file mode 100644
index a2046c2..0000000
--- a/metadata/md5-cache/chromeos-base/rendernodehost-0.0.1-r242
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=x11-libs/libdrm:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=host service for render node forwarding
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/rendernodehost/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-SLOT=0/0.0.1-r242
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=8226686bd36e462ee7e13ca04f731d3a
diff --git a/metadata/md5-cache/chromeos-base/rendernodehost-0.0.1-r300 b/metadata/md5-cache/chromeos-base/rendernodehost-0.0.1-r300
new file mode 100644
index 0000000..4da73726
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/rendernodehost-0.0.1-r300
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=x11-libs/libdrm:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=host service for render node forwarding
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/rendernodehost/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+SLOT=0/0.0.1-r300
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=035fe81ed7b5b278f3d15ab1a57cb62b
diff --git a/metadata/md5-cache/chromeos-base/rendernodehost-9999 b/metadata/md5-cache/chromeos-base/rendernodehost-9999
index 9419bfd..6ef9552 100644
--- a/metadata/md5-cache/chromeos-base/rendernodehost-9999
+++ b/metadata/md5-cache/chromeos-base/rendernodehost-9999
@@ -3,11 +3,11 @@
 DEPEND=x11-libs/libdrm:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=host service for render node forwarding
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/rendernodehost/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/rendernodehost/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=00ba41671c260b9c3c2f7b373e056891
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=aa7a515d01d5579625f17b21d1bec79f
diff --git a/metadata/md5-cache/chromeos-base/resourced-0.1.0-r47 b/metadata/md5-cache/chromeos-base/resourced-0.1.0-r47
deleted file mode 100644
index 328d59f..0000000
--- a/metadata/md5-cache/chromeos-base/resourced-0.1.0-r47
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/anyhow-1*:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-tree-0.9*:= =dev-rust/glob-0.3*:= =dev-rust/once_cell-1.7*:= =dev-rust/regex-1.5*:= dev-rust/sys_util:= >=virtual/rust-1.39.0:= virtual/rust-binaries:= sys-apps/baselayout
-DESCRIPTION=ChromeOS Resource Management Daemon
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/resourced/
-IUSE=+seccomp cros_host cros_workon_tree_a940640b2120af021ea7161dd1b12594012f706a cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=sys-apps/baselayout
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r47
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=e5455fb957d776956c165b7c782b0ada
diff --git a/metadata/md5-cache/chromeos-base/resourced-0.1.0-r76 b/metadata/md5-cache/chromeos-base/resourced-0.1.0-r76
new file mode 100644
index 0000000..0db4dec
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/resourced-0.1.0-r76
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/anyhow-1*:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-tree-0.9*:= dev-rust/featured:= =dev-rust/glob-0.3*:= =dev-rust/once_cell-1.7*:= =dev-rust/regex-1.5*:= dev-rust/sys_util:= >=virtual/rust-1.60.0:= virtual/rust-binaries:= sys-apps/baselayout
+DESCRIPTION=ChromeOS Resource Management Daemon
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/resourced/
+IUSE=+seccomp cros_host cros_workon_tree_1fa9c5f073e1ebe58a00a06080a16b4c6823c052 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=virtual/rust-binaries:= sys-apps/baselayout
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r76
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=175fb3a567100bf5787aa28d9896b3d8
diff --git a/metadata/md5-cache/chromeos-base/resourced-9999 b/metadata/md5-cache/chromeos-base/resourced-9999
index 5a90b16..40e0f77 100644
--- a/metadata/md5-cache/chromeos-base/resourced-9999
+++ b/metadata/md5-cache/chromeos-base/resourced-9999
@@ -1,15 +1,15 @@
-BDEPEND=dev-vcs/git
+BDEPEND=dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/anyhow-1*:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-tree-0.9*:= =dev-rust/glob-0.3*:= =dev-rust/once_cell-1.7*:= =dev-rust/regex-1.5*:= dev-rust/sys_util:= >=virtual/rust-1.39.0:= virtual/rust-binaries:= sys-apps/baselayout
+DEPEND==dev-rust/anyhow-1*:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-tree-0.9*:= dev-rust/featured:= =dev-rust/glob-0.3*:= =dev-rust/once_cell-1.7*:= =dev-rust/regex-1.5*:= dev-rust/sys_util:= >=virtual/rust-1.60.0:= virtual/rust-binaries:= sys-apps/baselayout
 DESCRIPTION=ChromeOS Resource Management Daemon
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/resourced/
-IUSE=+seccomp cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=+seccomp cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=sys-apps/baselayout
+RDEPEND=virtual/rust-binaries:= sys-apps/baselayout
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=c3ab68fb4e819f5f2c70510491e0fa23
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=cd8cd23fa3bf1966f45c43c7b1e7a528
diff --git a/metadata/md5-cache/chromeos-base/rgbkbd-0.0.1-r127 b/metadata/md5-cache/chromeos-base/rgbkbd-0.0.1-r127
new file mode 100644
index 0000000..be29975
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/rgbkbd-0.0.1-r127
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/libec:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=A daemon for controlling an RGB backlit keyboard.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/rgbkbd/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_1dbf281b6523338c1a11135ebaf00796f0f664e4_58bdeaa3004ba5dc3bf524c1d0a3d444f4984d28_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_1dbf281b6523338c1a11135ebaf00796f0f664e4_58bdeaa3004ba5dc3bf524c1d0a3d444f4984d28_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
+SLOT=0/0.0.1-r127
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=14c16aab69a7805c740dea7e82b3d05f
diff --git a/metadata/md5-cache/chromeos-base/rgbkbd-9999 b/metadata/md5-cache/chromeos-base/rgbkbd-9999
new file mode 100644
index 0000000..4c494a8
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/rgbkbd-9999
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/libec:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=A daemon for controlling an RGB backlit keyboard.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/rgbkbd/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
+SLOT=0/9999
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=0738eebcacfc46bd9df6f7cabade8c63
diff --git a/metadata/md5-cache/chromeos-base/rmad-0.0.1-r285 b/metadata/md5-cache/chromeos-base/rmad-0.0.1-r285
deleted file mode 100644
index 6ee0f4d..0000000
--- a/metadata/md5-cache/chromeos-base/rmad-0.0.1-r285
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= chromeos-base/cryptohome-client:= chromeos-base/metrics:= chromeos-base/shill-client:= chromeos-base/system_api:= chromeos-base/tpm_manager-client:= chromeos-base/vboot_reference:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=ChromeOS RMA daemon.
-EAPI=7
-IUSE=cr50_onboard iioservice ti50_onboard cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_bea140d13f7cf1092e4c89a45011c04c28327972_1b6791d8f3bd43faefbaff3664ccf8eeabdfa502_f09f4711e5043f57c202260d0214f64c0eab5431_4a0dedab080195bdc122d2289118df4af3ddca2c_f582e95c139364975d4a1e0bdd9881f1baabd68c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_bea140d13f7cf1092e4c89a45011c04c28327972_1b6791d8f3bd43faefbaff3664ccf8eeabdfa502_f09f4711e5043f57c202260d0214f64c0eab5431_4a0dedab080195bdc122d2289118df4af3ddca2c_f582e95c139364975d4a1e0bdd9881f1baabd68c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= cr50_onboard? ( chromeos-base/chromeos-cr50 ) iioservice? ( chromeos-base/iioservice_simpleclient ) ti50_onboard? ( chromeos-base/chromeos-ti50 ) chromeos-base/croslog chromeos-base/hardware_verifier chromeos-base/libmems chromeos-base/runtime_probe has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
-SLOT=0/0.0.1-r285
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=a0a026a286a0d1d5c21c83a674fb4d4c
diff --git a/metadata/md5-cache/chromeos-base/rmad-0.0.1-r492 b/metadata/md5-cache/chromeos-base/rmad-0.0.1-r492
new file mode 100644
index 0000000..5e9b26d
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/rmad-0.0.1-r492
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= chromeos-base/cryptohome-client:= chromeos-base/metrics:= chromeos-base/runtime_probe-client:= chromeos-base/shill-client:= chromeos-base/system_api:= chromeos-base/tpm_manager-client:= chromeos-base/vboot_reference:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=ChromeOS RMA daemon.
+EAPI=7
+IUSE=cr50_onboard iioservice ti50_onboard cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_527abd7a988a45572305a6c44b5324d0d9cf8be2_68361c6922909c829d679a3b5f79a5a64e977c35_4d8f590bd987ed599a906fe078fb08b51c7c7f9c_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_bdcd86d7f8af0e0cfd82183af63cd1006e593a1a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_527abd7a988a45572305a6c44b5324d0d9cf8be2_68361c6922909c829d679a3b5f79a5a64e977c35_4d8f590bd987ed599a906fe078fb08b51c7c7f9c_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_bdcd86d7f8af0e0cfd82183af63cd1006e593a1a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= cr50_onboard? ( chromeos-base/chromeos-cr50 ) iioservice? ( chromeos-base/iioservice_simpleclient ) ti50_onboard? ( chromeos-base/chromeos-ti50 ) chromeos-base/croslog chromeos-base/hardware_verifier chromeos-base/libmems chromeos-base/runtime_probe has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
+SLOT=0/0.0.1-r492
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=ac0f4a6f8f278cd81e5434108fe1b82d
diff --git a/metadata/md5-cache/chromeos-base/rmad-9999 b/metadata/md5-cache/chromeos-base/rmad-9999
index 29519f5..32e8218 100644
--- a/metadata/md5-cache/chromeos-base/rmad-9999
+++ b/metadata/md5-cache/chromeos-base/rmad-9999
@@ -1,13 +1,13 @@
 BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= chromeos-base/cryptohome-client:= chromeos-base/metrics:= chromeos-base/shill-client:= chromeos-base/system_api:= chromeos-base/tpm_manager-client:= chromeos-base/vboot_reference:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= chromeos-base/cryptohome-client:= chromeos-base/metrics:= chromeos-base/runtime_probe-client:= chromeos-base/shill-client:= chromeos-base/system_api:= chromeos-base/tpm_manager-client:= chromeos-base/vboot_reference:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=ChromeOS RMA daemon.
 EAPI=7
-IUSE=cr50_onboard iioservice ti50_onboard cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cr50_onboard iioservice ti50_onboard cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/minijail:= cr50_onboard? ( chromeos-base/chromeos-cr50 ) iioservice? ( chromeos-base/iioservice_simpleclient ) ti50_onboard? ( chromeos-base/chromeos-ti50 ) chromeos-base/croslog chromeos-base/hardware_verifier chromeos-base/libmems chromeos-base/runtime_probe has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=5d513c9d4ec22499efb7c23b26dcc81e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=82973887807fca4594fcc21d4e534b8e
diff --git a/metadata/md5-cache/chromeos-base/rmi4utils-1.3.8-r1 b/metadata/md5-cache/chromeos-base/rmi4utils-1.3.8-r1
deleted file mode 100644
index 5626c60..0000000
--- a/metadata/md5-cache/chromeos-base/rmi4utils-1.3.8-r1
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=configure install
-DESCRIPTION=Synaptics RMI4 Utilities for Firmware Update
-EAPI=7
-HOMEPAGE=https://github.com/aduggan/rmi4utils
-KEYWORDS=*
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/aduggan/rmi4utils/archive/v1.3.8.tar.gz -> rmi4utils-1.3.8.tar.gz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5c0ac445492a2c9aa98a2c66b04311c7
diff --git a/metadata/md5-cache/chromeos-base/rmi4utils-1.3.9-r1 b/metadata/md5-cache/chromeos-base/rmi4utils-1.3.9-r1
new file mode 100644
index 0000000..8ab8fab3
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/rmi4utils-1.3.9-r1
@@ -0,0 +1,10 @@
+DEFINED_PHASES=configure install
+DESCRIPTION=Synaptics RMI4 Utilities for Firmware Update
+EAPI=7
+HOMEPAGE=https://github.com/aduggan/rmi4utils
+KEYWORDS=*
+LICENSE=Apache-2.0
+SLOT=0
+SRC_URI=https://github.com/aduggan/rmi4utils/archive/v1.3.9.tar.gz -> rmi4utils-1.3.9.tar.gz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5c0ac445492a2c9aa98a2c66b04311c7
diff --git a/metadata/md5-cache/chromeos-base/run_oci-0.0.1-r1179 b/metadata/md5-cache/chromeos-base/run_oci-0.0.1-r1179
deleted file mode 100644
index 8c3a400..0000000
--- a/metadata/md5-cache/chromeos-base/run_oci-0.0.1-r1179
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libcontainer:= chromeos-base/minijail:= sys-apps/util-linux:= sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Utility for running OCI-compatible containers
-EAPI=7
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_c483b9613962116a8881cefbe046d52ce851e598_bc0cbbb23284a0282bf0a3ec43e3db3e016afcfd_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_c483b9613962116a8881cefbe046d52ce851e598_bc0cbbb23284a0282bf0a3ec43e3db3e016afcfd_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/libcontainer:= chromeos-base/minijail:= sys-apps/util-linux:= sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a96a25891bdd905eb9ff3479cfe2f5fe
diff --git a/metadata/md5-cache/chromeos-base/run_oci-0.0.1-r1243 b/metadata/md5-cache/chromeos-base/run_oci-0.0.1-r1243
new file mode 100644
index 0000000..9110081
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/run_oci-0.0.1-r1243
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/libcontainer:= chromeos-base/minijail:= sys-apps/util-linux:= sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Utility for running OCI-compatible containers
+EAPI=7
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_dbb4c5a189c098e0c692a1dee66f5a6b6ef33a32_a6cf87161b285bcef270a8d37f2240ab6eb2952e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_dbb4c5a189c098e0c692a1dee66f5a6b6ef33a32_a6cf87161b285bcef270a8d37f2240ab6eb2952e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/libcontainer:= chromeos-base/minijail:= sys-apps/util-linux:= sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=cf881e5fbea58bb76b28d6efe362ca9b
diff --git a/metadata/md5-cache/chromeos-base/run_oci-9999 b/metadata/md5-cache/chromeos-base/run_oci-9999
index 3b0c92b..25947b8 100644
--- a/metadata/md5-cache/chromeos-base/run_oci-9999
+++ b/metadata/md5-cache/chromeos-base/run_oci-9999
@@ -1,13 +1,13 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libcontainer:= chromeos-base/minijail:= sys-apps/util-linux:= sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/libcontainer:= chromeos-base/minijail:= sys-apps/util-linux:= sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Utility for running OCI-compatible containers
 EAPI=7
-IUSE=cros_host cros_workon_tree_ cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/libcontainer:= chromeos-base/minijail:= sys-apps/util-linux:= sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=1ad51ffe3dfdd063a61bce992d3fcdc7
diff --git a/metadata/md5-cache/chromeos-base/runtime_probe-0.0.1-r718 b/metadata/md5-cache/chromeos-base/runtime_probe-0.0.1-r718
deleted file mode 100644
index 4052def..0000000
--- a/metadata/md5-cache/chromeos-base/runtime_probe-0.0.1-r718
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/debugd-client:= chromeos-base/libec:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Runtime probing on device componenets.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/runtime_probe/
-IUSE=asan fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_bea140d13f7cf1092e4c89a45011c04c28327972_b2a628a7e6e84c75bbb6593f7e7d6c7baa8ccba0_1aed0c3c60315dba4d781aa861490bd01a1d53f6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_bea140d13f7cf1092e4c89a45011c04c28327972_b2a628a7e6e84c75bbb6593f7e7d6c7baa8ccba0_1aed0c3c60315dba4d781aa861490bd01a1d53f6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/ec-utils has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r718
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=7495af6a39db2286b8ba02781424fd8c
diff --git a/metadata/md5-cache/chromeos-base/runtime_probe-0.0.1-r867 b/metadata/md5-cache/chromeos-base/runtime_probe-0.0.1-r867
new file mode 100644
index 0000000..0a5ef6e
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/runtime_probe-0.0.1-r867
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/debugd-client:= chromeos-base/libec:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= media-libs/minigbm:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Runtime probing on device componenets.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/runtime_probe/
+IUSE=asan fuzzer cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_527abd7a988a45572305a6c44b5324d0d9cf8be2_1dbf281b6523338c1a11135ebaf00796f0f664e4_7cab0a8a8eaf018de16dca9470abb154f82697a6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_527abd7a988a45572305a6c44b5324d0d9cf8be2_1dbf281b6523338c1a11135ebaf00796f0f664e4_7cab0a8a8eaf018de16dca9470abb154f82697a6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/ec-utils has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r867
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=a51f4b854e87d6a96837e68e6cd32b37
diff --git a/metadata/md5-cache/chromeos-base/runtime_probe-9999 b/metadata/md5-cache/chromeos-base/runtime_probe-9999
index cddf25c..3afc175 100644
--- a/metadata/md5-cache/chromeos-base/runtime_probe-9999
+++ b/metadata/md5-cache/chromeos-base/runtime_probe-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/debugd-client:= chromeos-base/libec:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/debugd-client:= chromeos-base/libec:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= media-libs/minigbm:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Runtime probing on device componenets.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/runtime_probe/
-IUSE=asan fuzzer cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/runtime_probe/
+IUSE=asan fuzzer cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/ec-utils has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=a71f059d77a9b9fa417f63df4089ba2c
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=55a23e9272e6e6da29e86f85e3c10123
diff --git a/metadata/md5-cache/chromeos-base/runtime_probe-client-0.0.1-r20 b/metadata/md5-cache/chromeos-base/runtime_probe-client-0.0.1-r20
new file mode 100644
index 0000000..efc7dab
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/runtime_probe-client-0.0.1-r20
@@ -0,0 +1,14 @@
+BDEPEND=chromeos-base/chromeos-dbus-bindings:= dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Runtime Probe D-Bus client library for ChromiumOS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/runtime_probe/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_7cab0a8a8eaf018de16dca9470abb154f82697a6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_7cab0a8a8eaf018de16dca9470abb154f82697a6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/runtime_probe >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r20
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=bf098e85d39fa45225bee070185985cf
diff --git a/metadata/md5-cache/chromeos-base/runtime_probe-client-9999 b/metadata/md5-cache/chromeos-base/runtime_probe-client-9999
new file mode 100644
index 0000000..b910831
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/runtime_probe-client-9999
@@ -0,0 +1,14 @@
+BDEPEND=chromeos-base/chromeos-dbus-bindings:= dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Runtime Probe D-Bus client library for ChromiumOS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/runtime_probe/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/runtime_probe >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/9999
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d963e6200d0ae4f3e9ceee01820ec456
diff --git a/metadata/md5-cache/chromeos-base/screen-capture-utils-0.0.1-r189 b/metadata/md5-cache/chromeos-base/screen-capture-utils-0.0.1-r189
deleted file mode 100644
index 38f05e4..0000000
--- a/metadata/md5-cache/chromeos-base/screen-capture-utils-0.0.1-r189
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/metrics !chromeos-base/screenshot media-libs/libpng:0= media-libs/minigbm:= net-libs/libvncserver x11-libs/libdrm:= virtual/opengles x11-drivers/opengles-headers >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Utilities for screen capturing
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/screen-capture-utils/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_356f1f6294b75be3dc79348a1cf68b07c023df79_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_356f1f6294b75be3dc79348a1cf68b07c023df79_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/metrics !chromeos-base/screenshot media-libs/libpng:0= media-libs/minigbm:= net-libs/libvncserver x11-libs/libdrm:= virtual/opengles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r189
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e4609582f5404b573b88ad76a18003fb
diff --git a/metadata/md5-cache/chromeos-base/screen-capture-utils-0.0.1-r254 b/metadata/md5-cache/chromeos-base/screen-capture-utils-0.0.1-r254
new file mode 100644
index 0000000..722b885
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/screen-capture-utils-0.0.1-r254
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=!chromeos-base/screenshot media-libs/libpng:0= media-libs/minigbm:= net-libs/libvncserver x11-libs/libdrm:= virtual/opengles x11-drivers/opengles-headers >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Utilities for screen capturing
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/screen-capture-utils/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_b996d22037bb49a510f4dbf3139a179f8727ed59_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_b996d22037bb49a510f4dbf3139a179f8727ed59_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=!chromeos-base/screenshot media-libs/libpng:0= media-libs/minigbm:= net-libs/libvncserver x11-libs/libdrm:= virtual/opengles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r254
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b1af702701cf0471bc1688a83cf39bdf
diff --git a/metadata/md5-cache/chromeos-base/screen-capture-utils-9999 b/metadata/md5-cache/chromeos-base/screen-capture-utils-9999
index 9d2af86..ab3fd08 100644
--- a/metadata/md5-cache/chromeos-base/screen-capture-utils-9999
+++ b/metadata/md5-cache/chromeos-base/screen-capture-utils-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/metrics !chromeos-base/screenshot media-libs/libpng:0= media-libs/minigbm:= net-libs/libvncserver x11-libs/libdrm:= virtual/opengles x11-drivers/opengles-headers >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=!chromeos-base/screenshot media-libs/libpng:0= media-libs/minigbm:= net-libs/libvncserver x11-libs/libdrm:= virtual/opengles x11-drivers/opengles-headers >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Utilities for screen capturing
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/screen-capture-utils/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=chromeos-base/metrics !chromeos-base/screenshot media-libs/libpng:0= media-libs/minigbm:= net-libs/libvncserver x11-libs/libdrm:= virtual/opengles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+RDEPEND=!chromeos-base/screenshot media-libs/libpng:0= media-libs/minigbm:= net-libs/libvncserver x11-libs/libdrm:= virtual/opengles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=38fc944247b830858c50c0db00b3a7a6
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2652c6e640be5fd5733d2925664b1db9
diff --git a/metadata/md5-cache/chromeos-base/sealed_storage-0.0.1-r486 b/metadata/md5-cache/chromeos-base/sealed_storage-0.0.1-r486
deleted file mode 100644
index 1a16497..0000000
--- a/metadata/md5-cache/chromeos-base/sealed_storage-0.0.1-r486
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/tpm_manager:=[test?] chromeos-base/trunks:=[test?] chromeos-base/protofiles:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Library for sealing data to device identity and state
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/sealed_storage
-IUSE=test tpm2 cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_68093a4cbee15674cd95edc8eef76f1342433dfd_2acba33c99f07fa000bb44a4df3a65a8fe313bb1_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_68093a4cbee15674cd95edc8eef76f1342433dfd_2acba33c99f07fa000bb44a4df3a65a8fe313bb1_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/tpm_manager:=[test?] chromeos-base/trunks:=[test?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-REQUIRED_USE=tpm2
-SLOT=0/0.0.1-r486
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=bb5fc81fd67e15f25cd0642ee4c3236d
diff --git a/metadata/md5-cache/chromeos-base/sealed_storage-0.0.1-r591 b/metadata/md5-cache/chromeos-base/sealed_storage-0.0.1-r591
new file mode 100644
index 0000000..1d939a5
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/sealed_storage-0.0.1-r591
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/tpm_manager:=[test?] chromeos-base/trunks:=[test?] chromeos-base/protofiles:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Library for sealing data to device identity and state
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sealed_storage
+IUSE=test tpm2 cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_ebd80d3e9a0d5136bc9154864fc7c23cea4a5861_944879c9353c2df8adb7022407a8d319671325c1_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_ebd80d3e9a0d5136bc9154864fc7c23cea4a5861_944879c9353c2df8adb7022407a8d319671325c1_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/tpm_manager:=[test?] chromeos-base/trunks:=[test?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=tpm2
+SLOT=0/0.0.1-r591
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=63d52ca8ab1e6c5ee827b00ae82c9b56
diff --git a/metadata/md5-cache/chromeos-base/sealed_storage-9999 b/metadata/md5-cache/chromeos-base/sealed_storage-9999
index 01fe1fa..4cbc6ab 100644
--- a/metadata/md5-cache/chromeos-base/sealed_storage-9999
+++ b/metadata/md5-cache/chromeos-base/sealed_storage-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/tpm_manager:=[test?] chromeos-base/trunks:=[test?] chromeos-base/protofiles:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/tpm_manager:=[test?] chromeos-base/trunks:=[test?] chromeos-base/protofiles:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Library for sealing data to device identity and state
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/sealed_storage
-IUSE=test tpm2 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sealed_storage
+IUSE=test tpm2 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/tpm_manager:=[test?] chromeos-base/trunks:=[test?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 REQUIRED_USE=tpm2
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=84d03a838ce161cdc42a95912ee32cba
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=045cf5316749b08d7ac824497ac25074
diff --git a/metadata/md5-cache/chromeos-base/secanomalyd-0.0.1-r156 b/metadata/md5-cache/chromeos-base/secanomalyd-0.0.1-r156
deleted file mode 100644
index 67bbb84..0000000
--- a/metadata/md5-cache/chromeos-base/secanomalyd-0.0.1-r156
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/metrics:= chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Chrome OS security-anomaly detection daemon
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/secanomalyd/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_5550ececb8b1aa955a1a0cbbaf76fb26937aa9c8_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_5550ececb8b1aa955a1a0cbbaf76fb26937aa9c8_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/metrics:= chromeos-base/vboot_reference:= chromeos-base/minijail:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r156
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=ffaec1db4e69e0155fd8cd0f058567b8
diff --git a/metadata/md5-cache/chromeos-base/secanomalyd-0.0.1-r262 b/metadata/md5-cache/chromeos-base/secanomalyd-0.0.1-r262
new file mode 100644
index 0000000..3eba5a6
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/secanomalyd-0.0.1-r262
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/metrics:= chromeos-base/vboot_reference:= chromeos-base/session_manager-client:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Chrome OS security-anomaly detection daemon
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/secanomalyd/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_49734b00bc3c6d6877429cc25d1d504275e3a151_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_49734b00bc3c6d6877429cc25d1d504275e3a151_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/metrics:= chromeos-base/vboot_reference:= chromeos-base/minijail:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r262
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=a69569d83e09b2d5e5d0aec50e2808b9
diff --git a/metadata/md5-cache/chromeos-base/secanomalyd-9999 b/metadata/md5-cache/chromeos-base/secanomalyd-9999
index f81610b..5ec9d6c 100644
--- a/metadata/md5-cache/chromeos-base/secanomalyd-9999
+++ b/metadata/md5-cache/chromeos-base/secanomalyd-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/metrics:= chromeos-base/vboot_reference:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/metrics:= chromeos-base/vboot_reference:= chromeos-base/session_manager-client:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Chrome OS security-anomaly detection daemon
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/secanomalyd/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/metrics:= chromeos-base/vboot_reference:= chromeos-base/minijail:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=f0d2b08e58bf965ec5c1b3c3f60b4fff
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=6e7dbcb05861c9176ba49342709fd603
diff --git a/metadata/md5-cache/chromeos-base/secure-erase-file-0.0.1-r1045 b/metadata/md5-cache/chromeos-base/secure-erase-file-0.0.1-r1045
new file mode 100644
index 0000000..ba35119
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/secure-erase-file-0.0.1-r1045
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Secure file erasure for Chrome OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/secure_erase_file/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_1454f5ebf6a159645127c22d8c4e382e8752569d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_1454f5ebf6a159645127c22d8c4e382e8752569d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r1045
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=414310f9e96043ddca8fbbcf111fdd1b
diff --git a/metadata/md5-cache/chromeos-base/secure-erase-file-0.0.1-r987 b/metadata/md5-cache/chromeos-base/secure-erase-file-0.0.1-r987
deleted file mode 100644
index 94ea159..0000000
--- a/metadata/md5-cache/chromeos-base/secure-erase-file-0.0.1-r987
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Secure file erasure for Chrome OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/secure_erase_file/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1454f5ebf6a159645127c22d8c4e382e8752569d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1454f5ebf6a159645127c22d8c4e382e8752569d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r987
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=b070b9af87b26715e8f7e1a473d9eda1
diff --git a/metadata/md5-cache/chromeos-base/secure-erase-file-9999 b/metadata/md5-cache/chromeos-base/secure-erase-file-9999
index 390a7ec..184c6b4 100644
--- a/metadata/md5-cache/chromeos-base/secure-erase-file-9999
+++ b/metadata/md5-cache/chromeos-base/secure-erase-file-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Secure file erasure for Chrome OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/secure_erase_file/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/secure_erase_file/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6e7463ae1826347c94e54fd574cd6739
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=31aea9e0ca4f02f20e874f06ca4395e1
diff --git a/metadata/md5-cache/chromeos-base/secure-wipe-0.0.1-r206 b/metadata/md5-cache/chromeos-base/secure-wipe-0.0.1-r206
deleted file mode 100644
index b1c5708..0000000
--- a/metadata/md5-cache/chromeos-base/secure-wipe-0.0.1-r206
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Secure wipe
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/secure-wipe/
-IUSE=mmc nvme sata test cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_898687cfd878621b0aa42a27138c8a6c72210b16_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_898687cfd878621b0aa42a27138c8a6c72210b16_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=app-misc/jq sata? ( sys-apps/hdparm ) mmc? ( sys-apps/mmc-utils ) nvme? ( sys-apps/nvme-cli ) sys-apps/util-linux sys-block/fio >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r206
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=38e62dc576b45f22c4b29b39f66bf6af
diff --git a/metadata/md5-cache/chromeos-base/secure-wipe-0.0.1-r264 b/metadata/md5-cache/chromeos-base/secure-wipe-0.0.1-r264
new file mode 100644
index 0000000..c6db420
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/secure-wipe-0.0.1-r264
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Secure wipe
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/secure-wipe/
+IUSE=mmc nvme sata test cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_898687cfd878621b0aa42a27138c8a6c72210b16_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_898687cfd878621b0aa42a27138c8a6c72210b16_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=app-misc/jq sata? ( sys-apps/hdparm ) mmc? ( sys-apps/mmc-utils ) nvme? ( sys-apps/nvme-cli ) sys-apps/util-linux sys-block/fio >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r264
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5dc1842ddad8d2dff01812d29db844b6
diff --git a/metadata/md5-cache/chromeos-base/secure-wipe-9999 b/metadata/md5-cache/chromeos-base/secure-wipe-9999
index c5e0ac3..0bcf168 100644
--- a/metadata/md5-cache/chromeos-base/secure-wipe-9999
+++ b/metadata/md5-cache/chromeos-base/secure-wipe-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Secure wipe
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/secure-wipe/
-IUSE=mmc nvme sata test cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/secure-wipe/
+IUSE=mmc nvme sata test cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=app-misc/jq sata? ( sys-apps/hdparm ) mmc? ( sys-apps/mmc-utils ) nvme? ( sys-apps/nvme-cli ) sys-apps/util-linux sys-block/fio >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d1d2224392377c7015315d0a18f38f78
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1448bdd4cdea0f00ab677f0a76d9828b
diff --git a/metadata/md5-cache/chromeos-base/selinux-policy-0.0.1-r388 b/metadata/md5-cache/chromeos-base/selinux-policy-0.0.1-r388
deleted file mode 100644
index 9f5990c..0000000
--- a/metadata/md5-cache/chromeos-base/selinux-policy-0.0.1-r388
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=compile info install setup test unpack
-DEPEND=android-container-pi? ( chromeos-base/android-container-pi:0= ) android-vm-master? ( chromeos-base/android-vm-master:0= ) android-vm-rvc? ( chromeos-base/android-vm-rvc:0= ) android-vm-sc? ( chromeos-base/android-vm-sc:0= )
-DESCRIPTION=Chrome OS SELinux Policy Package
-EAPI=7
-IUSE=android-container-pi android-vm-master android-vm-rvc android-vm-sc selinux_audit_all selinux_develop selinux_experimental arc_first_release_n nocheck cheets_user cheets_user_64 cros_host cros_workon_tree_09afce24b1ce93b3070ecf07ad536dee7ac6331d
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=android-container-pi? ( chromeos-base/android-container-pi:0= ) android-vm-master? ( chromeos-base/android-vm-master:0= ) android-vm-rvc? ( chromeos-base/android-vm-rvc:0= ) android-vm-sc? ( chromeos-base/android-vm-sc:0= ) sys-apps/restorecon sys-process/audit
-SLOT=0/0.0.1-r388
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
-_md5_=f9bdc7773d8852b8082ab934c74f8c68
diff --git a/metadata/md5-cache/chromeos-base/selinux-policy-0.0.1-r438 b/metadata/md5-cache/chromeos-base/selinux-policy-0.0.1-r438
new file mode 100644
index 0000000..fd006f0
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/selinux-policy-0.0.1-r438
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile info install setup test unpack
+DEPEND=android-container-pi? ( chromeos-base/android-container-pi:0= ) android-vm-master? ( chromeos-base/android-vm-master:0= ) android-vm-rvc? ( chromeos-base/android-vm-rvc:0= ) android-vm-sc? ( chromeos-base/android-vm-sc:0= ) android-vm-tm? ( chromeos-base/android-vm-tm:0= )
+DESCRIPTION=Chrome OS SELinux Policy Package
+EAPI=7
+IUSE=android-container-pi android-vm-master android-vm-rvc android-vm-sc android-vm-tm selinux_audit_all selinux_develop selinux_experimental arc_first_release_n nocheck cheets_user cheets_user_64 cros_host cros_workon_tree_f12060545b7fb31186af841e4fccdb50cbaaec5a
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=android-container-pi? ( chromeos-base/android-container-pi:0= ) android-vm-master? ( chromeos-base/android-vm-master:0= ) android-vm-rvc? ( chromeos-base/android-vm-rvc:0= ) android-vm-sc? ( chromeos-base/android-vm-sc:0= ) android-vm-tm? ( chromeos-base/android-vm-tm:0= ) sys-apps/restorecon sys-process/audit
+SLOT=0/0.0.1-r438
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
+_md5_=fd40713651c773f249563c659a753eaf
diff --git a/metadata/md5-cache/chromeos-base/selinux-policy-9999 b/metadata/md5-cache/chromeos-base/selinux-policy-9999
index 82db9e5..1d0e0d7 100644
--- a/metadata/md5-cache/chromeos-base/selinux-policy-9999
+++ b/metadata/md5-cache/chromeos-base/selinux-policy-9999
@@ -1,13 +1,13 @@
 BDEPEND=dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile info install setup test unpack
-DEPEND=android-container-pi? ( chromeos-base/android-container-pi:0= ) android-vm-master? ( chromeos-base/android-vm-master:0= ) android-vm-rvc? ( chromeos-base/android-vm-rvc:0= ) android-vm-sc? ( chromeos-base/android-vm-sc:0= )
+DEPEND=android-container-pi? ( chromeos-base/android-container-pi:0= ) android-vm-master? ( chromeos-base/android-vm-master:0= ) android-vm-rvc? ( chromeos-base/android-vm-rvc:0= ) android-vm-sc? ( chromeos-base/android-vm-sc:0= ) android-vm-tm? ( chromeos-base/android-vm-tm:0= )
 DESCRIPTION=Chrome OS SELinux Policy Package
 EAPI=7
-IUSE=android-container-pi android-vm-master android-vm-rvc android-vm-sc selinux_audit_all selinux_develop selinux_experimental arc_first_release_n nocheck cheets_user cheets_user_64 cros_host cros_workon_tree_
+IUSE=android-container-pi android-vm-master android-vm-rvc android-vm-sc android-vm-tm selinux_audit_all selinux_develop selinux_experimental arc_first_release_n nocheck cheets_user cheets_user_64 cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=android-container-pi? ( chromeos-base/android-container-pi:0= ) android-vm-master? ( chromeos-base/android-vm-master:0= ) android-vm-rvc? ( chromeos-base/android-vm-rvc:0= ) android-vm-sc? ( chromeos-base/android-vm-sc:0= ) sys-apps/restorecon sys-process/audit
+RDEPEND=android-container-pi? ( chromeos-base/android-container-pi:0= ) android-vm-master? ( chromeos-base/android-vm-master:0= ) android-vm-rvc? ( chromeos-base/android-vm-rvc:0= ) android-vm-sc? ( chromeos-base/android-vm-sc:0= ) android-vm-tm? ( chromeos-base/android-vm-tm:0= ) sys-apps/restorecon sys-process/audit
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
-_md5_=603abaac79191629d687d0f3ffea6749
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
+_md5_=942479b9f80d0ad38fd1c6f8630dd3e2
diff --git a/metadata/md5-cache/chromeos-base/session_manager-client-0.0.1-r2264 b/metadata/md5-cache/chromeos-base/session_manager-client-0.0.1-r2264
deleted file mode 100644
index a6e0e53..0000000
--- a/metadata/md5-cache/chromeos-base/session_manager-client-0.0.1-r2264
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=cros_host? ( chromeos-base/chromeos-dbus-bindings:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Session manager (chromeos-login) DBus client library for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/login_manager/
-IUSE=cros_host cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1a6128185802c1ad69c05ed98bd4a1d00a8e5206_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1a6128185802c1ad69c05ed98bd4a1d00a8e5206_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=!<chromeos-base/chromeos-login-0.0.2 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r2264
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2f5cc9b9f8bc657d222b4b6ded128d61
diff --git a/metadata/md5-cache/chromeos-base/session_manager-client-0.0.1-r2358 b/metadata/md5-cache/chromeos-base/session_manager-client-0.0.1-r2358
new file mode 100644
index 0000000..e4809a5
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/session_manager-client-0.0.1-r2358
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=cros_host? ( chromeos-base/chromeos-dbus-bindings:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Session manager (chromeos-login) DBus client library for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/login_manager/
+IUSE=cros_host cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_86c7faad3e91503ff0fd5d28ede2e13016668322_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_86c7faad3e91503ff0fd5d28ede2e13016668322_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=!<chromeos-base/chromeos-login-0.0.2 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r2358
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f79db6eb007f6510dcc24276a2ada135
diff --git a/metadata/md5-cache/chromeos-base/session_manager-client-9999 b/metadata/md5-cache/chromeos-base/session_manager-client-9999
index c5f2c27..6f52996 100644
--- a/metadata/md5-cache/chromeos-base/session_manager-client-9999
+++ b/metadata/md5-cache/chromeos-base/session_manager-client-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=cros_host? ( chromeos-base/chromeos-dbus-bindings:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=cros_host? ( chromeos-base/chromeos-dbus-bindings:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Session manager (chromeos-login) DBus client library for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/login_manager/
-IUSE=cros_host cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/login_manager/
+IUSE=cros_host cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=!<chromeos-base/chromeos-login-0.0.2 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=06ed55cdb097c7bd3842e43d48640167
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=215038bbda97f97cf97b4e44f0b9b3bb
diff --git a/metadata/md5-cache/chromeos-base/shill-0.0.5-r3103 b/metadata/md5-cache/chromeos-base/shill-0.0.5-r3103
deleted file mode 100644
index 5de6aca..0000000
--- a/metadata/md5-cache/chromeos-base/shill-0.0.5-r3103
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig virtual/pkgconfig
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/bootstat:= chromeos-base/chaps:= chromeos-base/minijail:= chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/nsswitch:= chromeos-base/patchpanel-client:= chromeos-base/shill-net:= dev-libs/re2:= cellular? ( net-dialup/ppp:= ) pppoe? ( net-dialup/ppp:= ) vpn? ( net-dialup/ppp:= ) net-dns/c-ares:= net-libs/libtirpc:= net-firewall/conntrack-tools:= net-firewall/iptables:= wifi? ( virtual/wpa_supplicant ) wired_8021x? ( virtual/wpa_supplicant ) sys-apps/rootdev:= cellular? ( net-misc/modemmanager-next:= ) chromeos-base/shill-client:= chromeos-base/power_manager-client:= chromeos-base/system_api:=[fuzzer?] vpn? ( chromeos-base/vpn-manager:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Shill Connection Manager for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/shill/
-IUSE=cellular fuzzer pppoe sae_h2e systemd +tpm +vpn +wake_on_wifi +wifi +wired_8021x +wpa3_sae +wireguard cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_b8893a9e8fdf8b402519c4496addb087f21fbe50_56dc9b3a788bc68f829c1e7a1d3b6cf067c7aaf9_4a0dedab080195bdc122d2289118df4af3ddca2c_91229756774a69d68bb9cfc49171cf88062fdf15_b77be93bd5b9a461cc8508aa57571afd308e97ce_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_b8893a9e8fdf8b402519c4496addb087f21fbe50_56dc9b3a788bc68f829c1e7a1d3b6cf067c7aaf9_4a0dedab080195bdc122d2289118df4af3ddca2c_91229756774a69d68bb9cfc49171cf88062fdf15_b77be93bd5b9a461cc8508aa57571afd308e97ce_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PDEPEND=chromeos-base/patchpanel
-PROPERTIES=live live
-RDEPEND=chromeos-base/bootstat:= chromeos-base/chaps:= chromeos-base/minijail:= chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/nsswitch:= chromeos-base/patchpanel-client:= chromeos-base/shill-net:= dev-libs/re2:= cellular? ( net-dialup/ppp:= ) pppoe? ( net-dialup/ppp:= ) vpn? ( net-dialup/ppp:= ) net-dns/c-ares:= net-libs/libtirpc:= net-firewall/conntrack-tools:= net-firewall/iptables:= wifi? ( virtual/wpa_supplicant ) wired_8021x? ( virtual/wpa_supplicant ) sys-apps/rootdev:= cellular? ( net-misc/modemmanager-next:= ) net-misc/dhcpcd vpn? ( net-vpn/openvpn ) wireguard? ( net-vpn/wireguard-tools ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
-REQUIRED_USE=fuzzer? ( wifi )
-SLOT=0/0.0.5-r3103
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=547efc4343912fd23cd3c2299ab5be6d
diff --git a/metadata/md5-cache/chromeos-base/shill-0.0.5-r3426 b/metadata/md5-cache/chromeos-base/shill-0.0.5-r3426
new file mode 100644
index 0000000..657bb3a
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/shill-0.0.5-r3426
@@ -0,0 +1,16 @@
+BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig virtual/pkgconfig
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/bootstat:= chromeos-base/chaps:= chromeos-base/minijail:= chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/nsswitch:= chromeos-base/patchpanel-client:= chromeos-base/shill-net:= dev-libs/re2:= cellular? ( net-dialup/ppp:= ) vpn? ( net-dialup/ppp:= ) net-dns/c-ares:= net-libs/libtirpc:= net-firewall/conntrack-tools:= net-firewall/iptables:= wifi? ( virtual/wpa_supplicant ) wired_8021x? ( virtual/wpa_supplicant ) sys-apps/rootdev:= cellular? ( net-misc/modemmanager-next:= ) chromeos-base/shill-client:= chromeos-base/power_manager-client:= chromeos-base/system_api:=[fuzzer?] vpn? ( chromeos-base/vpn-manager:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Shill Connection Manager for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/
+IUSE=cellular fuzzer sae_h2e systemd +tpm +vpn +wake_on_wifi +wifi +wired_8021x +wpa3_sae +wireguard cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2e72f56ad37eadb01ad2b42e9938beb23cb3a389_fb8e41991af9e4c6c88768b137a9b48e4e5e47da_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_9a3daa495c363b563765cfb1fcc30ac93eef90c6_462cb7ad367bdc196dd234e5bae863472f6d704b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2e72f56ad37eadb01ad2b42e9938beb23cb3a389_fb8e41991af9e4c6c88768b137a9b48e4e5e47da_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_9a3daa495c363b563765cfb1fcc30ac93eef90c6_462cb7ad367bdc196dd234e5bae863472f6d704b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PDEPEND=chromeos-base/patchpanel
+PROPERTIES=live live
+RDEPEND=chromeos-base/bootstat:= chromeos-base/chaps:= chromeos-base/minijail:= chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/nsswitch:= chromeos-base/patchpanel-client:= chromeos-base/shill-net:= dev-libs/re2:= cellular? ( net-dialup/ppp:= ) vpn? ( net-dialup/ppp:= ) net-dns/c-ares:= net-libs/libtirpc:= net-firewall/conntrack-tools:= net-firewall/iptables:= wifi? ( virtual/wpa_supplicant ) wired_8021x? ( virtual/wpa_supplicant ) sys-apps/rootdev:= cellular? ( net-misc/modemmanager-next:= ) net-misc/dhcpcd vpn? ( net-vpn/openvpn ) wireguard? ( net-vpn/wireguard-tools ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
+REQUIRED_USE=fuzzer? ( wifi )
+SLOT=0/0.0.5-r3426
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=b800bc1720ee1c06c4b218d6fb972998
diff --git a/metadata/md5-cache/chromeos-base/shill-9999 b/metadata/md5-cache/chromeos-base/shill-9999
index 7aa7d84..4cda2e0 100644
--- a/metadata/md5-cache/chromeos-base/shill-9999
+++ b/metadata/md5-cache/chromeos-base/shill-9999
@@ -1,16 +1,16 @@
 BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig virtual/pkgconfig
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/bootstat:= chromeos-base/chaps:= chromeos-base/minijail:= chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/nsswitch:= chromeos-base/patchpanel-client:= chromeos-base/shill-net:= dev-libs/re2:= cellular? ( net-dialup/ppp:= ) pppoe? ( net-dialup/ppp:= ) vpn? ( net-dialup/ppp:= ) net-dns/c-ares:= net-libs/libtirpc:= net-firewall/conntrack-tools:= net-firewall/iptables:= wifi? ( virtual/wpa_supplicant ) wired_8021x? ( virtual/wpa_supplicant ) sys-apps/rootdev:= cellular? ( net-misc/modemmanager-next:= ) chromeos-base/shill-client:= chromeos-base/power_manager-client:= chromeos-base/system_api:=[fuzzer?] vpn? ( chromeos-base/vpn-manager:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/bootstat:= chromeos-base/chaps:= chromeos-base/minijail:= chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/nsswitch:= chromeos-base/patchpanel-client:= chromeos-base/shill-net:= dev-libs/re2:= cellular? ( net-dialup/ppp:= ) vpn? ( net-dialup/ppp:= ) net-dns/c-ares:= net-libs/libtirpc:= net-firewall/conntrack-tools:= net-firewall/iptables:= wifi? ( virtual/wpa_supplicant ) wired_8021x? ( virtual/wpa_supplicant ) sys-apps/rootdev:= cellular? ( net-misc/modemmanager-next:= ) chromeos-base/shill-client:= chromeos-base/power_manager-client:= chromeos-base/system_api:=[fuzzer?] vpn? ( chromeos-base/vpn-manager:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Shill Connection Manager for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/shill/
-IUSE=cellular fuzzer pppoe sae_h2e systemd +tpm +vpn +wake_on_wifi +wifi +wired_8021x +wpa3_sae +wireguard cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/
+IUSE=cellular fuzzer sae_h2e systemd +tpm +vpn +wake_on_wifi +wifi +wired_8021x +wpa3_sae +wireguard cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PDEPEND=chromeos-base/patchpanel
 PROPERTIES=live live
-RDEPEND=chromeos-base/bootstat:= chromeos-base/chaps:= chromeos-base/minijail:= chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/nsswitch:= chromeos-base/patchpanel-client:= chromeos-base/shill-net:= dev-libs/re2:= cellular? ( net-dialup/ppp:= ) pppoe? ( net-dialup/ppp:= ) vpn? ( net-dialup/ppp:= ) net-dns/c-ares:= net-libs/libtirpc:= net-firewall/conntrack-tools:= net-firewall/iptables:= wifi? ( virtual/wpa_supplicant ) wired_8021x? ( virtual/wpa_supplicant ) sys-apps/rootdev:= cellular? ( net-misc/modemmanager-next:= ) net-misc/dhcpcd vpn? ( net-vpn/openvpn ) wireguard? ( net-vpn/wireguard-tools ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
+RDEPEND=chromeos-base/bootstat:= chromeos-base/chaps:= chromeos-base/minijail:= chromeos-base/libpasswordprovider:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/nsswitch:= chromeos-base/patchpanel-client:= chromeos-base/shill-net:= dev-libs/re2:= cellular? ( net-dialup/ppp:= ) vpn? ( net-dialup/ppp:= ) net-dns/c-ares:= net-libs/libtirpc:= net-firewall/conntrack-tools:= net-firewall/iptables:= wifi? ( virtual/wpa_supplicant ) wired_8021x? ( virtual/wpa_supplicant ) sys-apps/rootdev:= cellular? ( net-misc/modemmanager-next:= ) net-misc/dhcpcd vpn? ( net-vpn/openvpn ) wireguard? ( net-vpn/wireguard-tools ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles sys-apps/baselayout
 REQUIRED_USE=fuzzer? ( wifi )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=f84ecd9fe2fb7dbc64a3f84ec65f7431
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=f60dbc5ba559197f42160f558ad9900c
diff --git a/metadata/md5-cache/chromeos-base/shill-client-0.0.1-r2926 b/metadata/md5-cache/chromeos-base/shill-client-0.0.1-r2926
deleted file mode 100644
index 1b3247a..0000000
--- a/metadata/md5-cache/chromeos-base/shill-client-0.0.1-r2926
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=chromeos-base/chromeos-dbus-bindings:= dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Shill DBus client library for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/shill/
-IUSE=cros_host cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_91229756774a69d68bb9cfc49171cf88062fdf15_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_91229756774a69d68bb9cfc49171cf88062fdf15_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=!<chromeos-base/shill-0.0.2 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=3cb666bc3b1241b2bbef3d5c4bd56622
diff --git a/metadata/md5-cache/chromeos-base/shill-client-0.0.1-r3204 b/metadata/md5-cache/chromeos-base/shill-client-0.0.1-r3204
new file mode 100644
index 0000000..3af19d0
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/shill-client-0.0.1-r3204
@@ -0,0 +1,14 @@
+BDEPEND=chromeos-base/chromeos-dbus-bindings:= dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Shill DBus client library for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/
+IUSE=cros_host cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9a3daa495c363b563765cfb1fcc30ac93eef90c6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9a3daa495c363b563765cfb1fcc30ac93eef90c6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=!<chromeos-base/shill-0.0.2 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=686bd90e84900ef80376add646b0e074
diff --git a/metadata/md5-cache/chromeos-base/shill-client-9999 b/metadata/md5-cache/chromeos-base/shill-client-9999
index 2f495de..bbae431 100644
--- a/metadata/md5-cache/chromeos-base/shill-client-9999
+++ b/metadata/md5-cache/chromeos-base/shill-client-9999
@@ -1,14 +1,14 @@
 BDEPEND=chromeos-base/chromeos-dbus-bindings:= dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Shill DBus client library for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/shill/
-IUSE=cros_host cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/
+IUSE=cros_host cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=!<chromeos-base/shill-0.0.2 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=dc51cbd89b54f272886b514d9f64e0f8
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=136e04d592005247a78a23520c51fe7d
diff --git a/metadata/md5-cache/chromeos-base/shill-dbus-client-0.0.1-r699 b/metadata/md5-cache/chromeos-base/shill-dbus-client-0.0.1-r699
deleted file mode 100644
index 9c09484..0000000
--- a/metadata/md5-cache/chromeos-base/shill-dbus-client-0.0.1-r699
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/shill-client:= chromeos-base/shill-net >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Shill DBus client interface library
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/dbus/client
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_91229756774a69d68bb9cfc49171cf88062fdf15_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_91229756774a69d68bb9cfc49171cf88062fdf15_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/shill-client:= chromeos-base/shill-net >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=bafb392d289ade9efe1c18d3b25d2c6a
diff --git a/metadata/md5-cache/chromeos-base/shill-dbus-client-0.0.1-r976 b/metadata/md5-cache/chromeos-base/shill-dbus-client-0.0.1-r976
new file mode 100644
index 0000000..ec569eb
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/shill-dbus-client-0.0.1-r976
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/shill-client:= chromeos-base/shill-net >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Shill DBus client interface library
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/dbus/client
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9a3daa495c363b563765cfb1fcc30ac93eef90c6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9a3daa495c363b563765cfb1fcc30ac93eef90c6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/shill-client:= chromeos-base/shill-net >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a6b66cb5120365a6475053d2482903d1
diff --git a/metadata/md5-cache/chromeos-base/shill-dbus-client-9999 b/metadata/md5-cache/chromeos-base/shill-dbus-client-9999
index 12d05a4..e7aaf7e 100644
--- a/metadata/md5-cache/chromeos-base/shill-dbus-client-9999
+++ b/metadata/md5-cache/chromeos-base/shill-dbus-client-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/shill-client:= chromeos-base/shill-net >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/shill-client:= chromeos-base/shill-net >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Shill DBus client interface library
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/dbus/client
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/shill-client:= chromeos-base/shill-net >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=b7180ff0ff6a803ab6cd1292486aee7e
diff --git a/metadata/md5-cache/chromeos-base/shill-net-0.0.1-r1052 b/metadata/md5-cache/chromeos-base/shill-net-0.0.1-r1052
new file mode 100644
index 0000000..b01d67c
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/shill-net-0.0.1-r1052
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=dev-libs/re2:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Shill networking component interface library
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/net
+IUSE=fuzzer +wifi cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9a3daa495c363b563765cfb1fcc30ac93eef90c6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_9a3daa495c363b563765cfb1fcc30ac93eef90c6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=!<chromeos-base/shill-0.0.5 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8a6ceecdaea5a613ce2727989f835fda
diff --git a/metadata/md5-cache/chromeos-base/shill-net-0.0.1-r775 b/metadata/md5-cache/chromeos-base/shill-net-0.0.1-r775
deleted file mode 100644
index 0fb0e39..0000000
--- a/metadata/md5-cache/chromeos-base/shill-net-0.0.1-r775
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/re2:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Shill networking component interface library
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/net
-IUSE=fuzzer +wifi cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_91229756774a69d68bb9cfc49171cf88062fdf15_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_91229756774a69d68bb9cfc49171cf88062fdf15_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=!<chromeos-base/shill-0.0.5 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6b6b0a03e43a4f38de33facd7e61ea68
diff --git a/metadata/md5-cache/chromeos-base/shill-net-9999 b/metadata/md5-cache/chromeos-base/shill-net-9999
index 44e126d..23c7062 100644
--- a/metadata/md5-cache/chromeos-base/shill-net-9999
+++ b/metadata/md5-cache/chromeos-base/shill-net-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/re2:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=dev-libs/re2:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Shill networking component interface library
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/net
-IUSE=fuzzer +wifi cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=fuzzer +wifi cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=!<chromeos-base/shill-0.0.5 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e9dba47cecf46d88150d51bf1c22fa07
diff --git a/metadata/md5-cache/chromeos-base/shill-test-scripts-0.0.1-r3162 b/metadata/md5-cache/chromeos-base/shill-test-scripts-0.0.1-r3162
deleted file mode 100644
index fe5d02c..0000000
--- a/metadata/md5-cache/chromeos-base/shill-test-scripts-0.0.1-r3162
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile info install setup unpack
-DESCRIPTION=shill's test scripts
-EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/shill/
-IUSE=cros_host cros_workon_tree_ec9037e2aa74f4b5acf28ea062272f5c6a90b02e python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) python_single_target_python3_6? ( dev-python/dbus-python[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/dbus-python[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/dbus-python[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/dbus-python[python_targets_python3_9(-)] ) >=chromeos-base/shill-0.0.1-r2205 net-dns/dnsmasq sys-apps/iproute2
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=84a24650dab8b4630ddbb0443c62591e
diff --git a/metadata/md5-cache/chromeos-base/shill-test-scripts-0.0.1-r3165 b/metadata/md5-cache/chromeos-base/shill-test-scripts-0.0.1-r3165
new file mode 100644
index 0000000..3a65bdd
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/shill-test-scripts-0.0.1-r3165
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile info install setup unpack
+DESCRIPTION=shill's test scripts
+EAPI=6
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/
+IUSE=cros_host cros_workon_tree_97268c525992d3c32c7bf9e675aecf6d48ea31f3 python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) python_single_target_python3_6? ( dev-python/dbus-python[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/dbus-python[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/dbus-python[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/dbus-python[python_targets_python3_9(-)] ) >=chromeos-base/shill-0.0.1-r2205 net-dns/dnsmasq sys-apps/iproute2
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=c20d40324ca84ab8d96889e5b69e0ba0
diff --git a/metadata/md5-cache/chromeos-base/shill-test-scripts-9999 b/metadata/md5-cache/chromeos-base/shill-test-scripts-9999
index 982b25f..bef8d46 100644
--- a/metadata/md5-cache/chromeos-base/shill-test-scripts-9999
+++ b/metadata/md5-cache/chromeos-base/shill-test-scripts-9999
@@ -1,12 +1,12 @@
 DEFINED_PHASES=compile info install setup unpack
 DESCRIPTION=shill's test scripts
 EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/shill/
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/shill/
 IUSE=cros_host cros_workon_tree_ python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 RDEPEND=python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) python_single_target_python3_6? ( dev-python/dbus-python[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/dbus-python[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/dbus-python[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/dbus-python[python_targets_python3_9(-)] ) >=chromeos-base/shill-0.0.1-r2205 net-dns/dnsmasq sys-apps/iproute2
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=b2b2b4280ca75590ab67e0289b3f611c
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=162e3376236514f05fa3a74d4091dbfb
diff --git a/metadata/md5-cache/chromeos-base/sirenia-0.24.52-r128 b/metadata/md5-cache/chromeos-base/sirenia-0.24.52-r128
deleted file mode 100644
index acff822..0000000
--- a/metadata/md5-cache/chromeos-base/sirenia-0.24.52-r128
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=chromeos-base/sirenia-tools dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/libsirenia:= dev-libs/openssl:0= =dev-rust/anyhow-1*:= >=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:= dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/flexbuffers-2*:= =dev-rust/getopts-0.2*:= >=dev-rust/libc-0.2.94 <dev-rust/libc-0.3.0_alpha:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2_alpha:= =dev-rust/serde_derive-1*:= >=dev-rust/serde_json-1.0.64 <dev-rust/serde_json-2.0.0_alpha:= =dev-rust/stderrlog-0.5*:= dev-rust/sys_util:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:= sys-apps/baselayout
-DESCRIPTION=The runtime environment and middleware for ManaTEE.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/
-IUSE=cros_host manatee cros_host cros_workon_tree_68c18dcb5d0981cfd8fb60b1fc6f360c59d61bbc cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/libsirenia:= dev-libs/openssl:0= =dev-rust/anyhow-1*:= >=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:= dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/flexbuffers-2*:= =dev-rust/getopts-0.2*:= >=dev-rust/libc-0.2.94 <dev-rust/libc-0.3.0_alpha:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2_alpha:= =dev-rust/serde_derive-1*:= >=dev-rust/serde_json-1.0.64 <dev-rust/serde_json-2.0.0_alpha:= =dev-rust/stderrlog-0.5*:= dev-rust/sys_util:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:= chromeos-base/cronista chromeos-base/manatee-runtime dev-rust/manatee-client sys-apps/dbus sys-apps/baselayout
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.24.52-r128
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=88249b835c33176572b9c111dd72ce6b
diff --git a/metadata/md5-cache/chromeos-base/sirenia-0.24.52-r164 b/metadata/md5-cache/chromeos-base/sirenia-0.24.52-r164
new file mode 100644
index 0000000..ac2e648
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/sirenia-0.24.52-r164
@@ -0,0 +1,15 @@
+BDEPEND=chromeos-base/sirenia-tools dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=chromeos-base/crosvm-base:= chromeos-base/libsirenia:= dev-libs/openssl:0= =dev-rust/anyhow-1*:= =dev-rust/assert_matches-1*:= dev-rust/balloon_control:= dev-rust/chromeos-dbus-bindings:= dev-rust/data_model:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/flexbuffers-2*:= =dev-rust/getopts-0.2*:= =dev-rust/libc-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/serde-1*:= =dev-rust/serde_bytes-0.10*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= =dev-rust/stderrlog-0.5*:= =dev-rust/thiserror-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:= sys-apps/baselayout
+DESCRIPTION=The runtime environment and middleware for ManaTEE.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/
+IUSE=cros_host manatee sirenia cros_host cros_workon_tree_9c2074e601aedb8358ee3b7c367c62042409c577 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/crosvm-base:= chromeos-base/libsirenia:= dev-libs/openssl:0= =dev-rust/anyhow-1*:= =dev-rust/assert_matches-1*:= dev-rust/balloon_control:= dev-rust/chromeos-dbus-bindings:= dev-rust/data_model:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/flexbuffers-2*:= =dev-rust/getopts-0.2*:= =dev-rust/libc-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/serde-1*:= =dev-rust/serde_bytes-0.10*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= =dev-rust/stderrlog-0.5*:= =dev-rust/thiserror-1*:= chromeos-base/cronista chromeos-base/manatee-runtime dev-rust/manatee-client sys-apps/dbus virtual/rust-binaries:= sys-apps/baselayout
+REQUIRED_USE=cros_host? ( !manatee ) ?? ( asan lsan msan tsan )
+SLOT=0/0.24.52-r164
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=4eeb3e5616541619badc3be49816d5bd
diff --git a/metadata/md5-cache/chromeos-base/sirenia-9999 b/metadata/md5-cache/chromeos-base/sirenia-9999
index 6f19c8e..eaf6847 100644
--- a/metadata/md5-cache/chromeos-base/sirenia-9999
+++ b/metadata/md5-cache/chromeos-base/sirenia-9999
@@ -1,15 +1,15 @@
 BDEPEND=chromeos-base/sirenia-tools dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/libsirenia:= dev-libs/openssl:0= =dev-rust/anyhow-1*:= >=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:= dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/flexbuffers-2*:= =dev-rust/getopts-0.2*:= >=dev-rust/libc-0.2.94 <dev-rust/libc-0.3.0_alpha:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2_alpha:= =dev-rust/serde_derive-1*:= >=dev-rust/serde_json-1.0.64 <dev-rust/serde_json-2.0.0_alpha:= =dev-rust/stderrlog-0.5*:= dev-rust/sys_util:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:= sys-apps/baselayout
+DEPEND=chromeos-base/crosvm-base:= chromeos-base/libsirenia:= dev-libs/openssl:0= =dev-rust/anyhow-1*:= =dev-rust/assert_matches-1*:= dev-rust/balloon_control:= dev-rust/chromeos-dbus-bindings:= dev-rust/data_model:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/flexbuffers-2*:= =dev-rust/getopts-0.2*:= =dev-rust/libc-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/serde-1*:= =dev-rust/serde_bytes-0.10*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= =dev-rust/stderrlog-0.5*:= =dev-rust/thiserror-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:= sys-apps/baselayout
 DESCRIPTION=The runtime environment and middleware for ManaTEE.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/
-IUSE=cros_host manatee cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros_host manatee sirenia cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=chromeos-base/libsirenia:= dev-libs/openssl:0= =dev-rust/anyhow-1*:= >=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:= dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/flexbuffers-2*:= =dev-rust/getopts-0.2*:= >=dev-rust/libc-0.2.94 <dev-rust/libc-0.3.0_alpha:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2_alpha:= =dev-rust/serde_derive-1*:= >=dev-rust/serde_json-1.0.64 <dev-rust/serde_json-2.0.0_alpha:= =dev-rust/stderrlog-0.5*:= dev-rust/sys_util:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:= chromeos-base/cronista chromeos-base/manatee-runtime dev-rust/manatee-client sys-apps/dbus sys-apps/baselayout
-REQUIRED_USE=?? ( asan lsan msan tsan )
+RDEPEND=chromeos-base/crosvm-base:= chromeos-base/libsirenia:= dev-libs/openssl:0= =dev-rust/anyhow-1*:= =dev-rust/assert_matches-1*:= dev-rust/balloon_control:= dev-rust/chromeos-dbus-bindings:= dev-rust/data_model:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/flexbuffers-2*:= =dev-rust/getopts-0.2*:= =dev-rust/libc-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/serde-1*:= =dev-rust/serde_bytes-0.10*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= =dev-rust/stderrlog-0.5*:= =dev-rust/thiserror-1*:= chromeos-base/cronista chromeos-base/manatee-runtime dev-rust/manatee-client sys-apps/dbus virtual/rust-binaries:= sys-apps/baselayout
+REQUIRED_USE=cros_host? ( !manatee ) ?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=43b7b3e785c813832efd446ee834e5de
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=af2ece032bf945980f28a43cd2a210f9
diff --git a/metadata/md5-cache/chromeos-base/sirenia-rpc-macros-0.1.0-r7 b/metadata/md5-cache/chromeos-base/sirenia-rpc-macros-0.1.0-r7
deleted file mode 100644
index af5131c..0000000
--- a/metadata/md5-cache/chromeos-base/sirenia-rpc-macros-0.1.0-r7
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/anyhow-1*:= >=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Macros for generating the RPC implementation for Sirenia.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/libsirenia/sirenia-rpc-macros
-IUSE=cros_host cros_workon_tree_ef44b842f0a62ba1f23f27bd16848b9105cec045 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND==dev-rust/anyhow-1*:= >=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r7
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6ef649a68ab10e6708533a5333824ff0
diff --git a/metadata/md5-cache/chromeos-base/sirenia-rpc-macros-0.1.0-r9 b/metadata/md5-cache/chromeos-base/sirenia-rpc-macros-0.1.0-r9
new file mode 100644
index 0000000..2043f81
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/sirenia-rpc-macros-0.1.0-r9
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/anyhow-1*:= >=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Macros for generating the RPC implementation for Sirenia.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/libsirenia/sirenia-rpc-macros
+IUSE=cros_host cros_workon_tree_6cfc12a6cca1f0d1ddeabc20c89c96fc7bfdf49f cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND==dev-rust/anyhow-1*:= >=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r9
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dde51f7a58320d1407141cfb31e045be
diff --git a/metadata/md5-cache/chromeos-base/sirenia-rpc-macros-9999 b/metadata/md5-cache/chromeos-base/sirenia-rpc-macros-9999
index bc0acd3..85b6e45 100644
--- a/metadata/md5-cache/chromeos-base/sirenia-rpc-macros-9999
+++ b/metadata/md5-cache/chromeos-base/sirenia-rpc-macros-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/anyhow-1*:= >=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/anyhow-1*:= >=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Macros for generating the RPC implementation for Sirenia.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/libsirenia/sirenia-rpc-macros
-IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND==dev-rust/anyhow-1*:= >=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:=
+RDEPEND==dev-rust/anyhow-1*:= >=dev-rust/assert_matches-1.5.0 <dev-rust/assert_matches-2.0.0_alpha:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=0f6740085938297feda6a2427e7dd047
diff --git a/metadata/md5-cache/chromeos-base/sirenia-tools-0.0.1-r45 b/metadata/md5-cache/chromeos-base/sirenia-tools-0.0.1-r45
deleted file mode 100644
index 334ae30..0000000
--- a/metadata/md5-cache/chromeos-base/sirenia-tools-0.0.1-r45
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/libsirenia:= dev-libs/openssl:0= =dev-rust/anyhow-1*:= =dev-rust/base64-0.13*:= dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.8*:= >=dev-rust/flexbuffers-0.1.1:= <dev-rust/flexbuffers-0.2.0 =dev-rust/getopts-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/openssl-0.10*:= >=dev-rust/serde-1.0.114:= <dev-rust/serde-2 =dev-rust/serde_derive-1*:= >=dev-rust/serde_json-1.0.64:= <dev-rust/serde_json-2.0.0 =dev-rust/stderrlog-0.5*:= dev-rust/sys_util:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:= sys-apps/baselayout
-DESCRIPTION=Build tools for the ManaTEE runtime environment.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/
-IUSE=cros_host cros_workon_tree_68c18dcb5d0981cfd8fb60b1fc6f360c59d61bbc cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=sys-apps/dbus sys-apps/baselayout
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.0.1-r45
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=b92dce85ecff3ba836a6475b673dc645
diff --git a/metadata/md5-cache/chromeos-base/sirenia-tools-0.0.1-r82 b/metadata/md5-cache/chromeos-base/sirenia-tools-0.0.1-r82
new file mode 100644
index 0000000..5d14a3b
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/sirenia-tools-0.0.1-r82
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=chromeos-base/crosvm-base:= chromeos-base/libsirenia:= dev-libs/openssl:0= =dev-rust/anyhow-1*:= =dev-rust/assert_matches-1*:= dev-rust/balloon_control:= dev-rust/chromeos-dbus-bindings:= dev-rust/data_model:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/flexbuffers-2*:= =dev-rust/getopts-0.2*:= =dev-rust/libc-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/multi_log-0.1*:= =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= =dev-rust/stderrlog-0.5*:= =dev-rust/thiserror-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:= sys-apps/baselayout
+DESCRIPTION=Build tools for the ManaTEE runtime environment.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/
+IUSE=cros_host cros_host cros_workon_tree_9c2074e601aedb8358ee3b7c367c62042409c577 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=sys-apps/dbus cros_host? ( chromeos-base/crosvm-base:= chromeos-base/libsirenia:= dev-libs/openssl:0= =dev-rust/anyhow-1*:= =dev-rust/assert_matches-1*:= dev-rust/balloon_control:= dev-rust/chromeos-dbus-bindings:= dev-rust/data_model:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/flexbuffers-2*:= =dev-rust/getopts-0.2*:= =dev-rust/libc-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/multi_log-0.1*:= =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= =dev-rust/stderrlog-0.5*:= =dev-rust/thiserror-1*:= ) virtual/rust-binaries:= sys-apps/baselayout
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.0.1-r82
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=1e35747d24d558824bdb11c10ab46951
diff --git a/metadata/md5-cache/chromeos-base/sirenia-tools-9999 b/metadata/md5-cache/chromeos-base/sirenia-tools-9999
index e7e7e17..8497bc2 100644
--- a/metadata/md5-cache/chromeos-base/sirenia-tools-9999
+++ b/metadata/md5-cache/chromeos-base/sirenia-tools-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/libsirenia:= dev-libs/openssl:0= =dev-rust/anyhow-1*:= =dev-rust/base64-0.13*:= dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.8*:= >=dev-rust/flexbuffers-0.1.1:= <dev-rust/flexbuffers-0.2.0 =dev-rust/getopts-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/openssl-0.10*:= >=dev-rust/serde-1.0.114:= <dev-rust/serde-2 =dev-rust/serde_derive-1*:= >=dev-rust/serde_json-1.0.64:= <dev-rust/serde_json-2.0.0 =dev-rust/stderrlog-0.5*:= dev-rust/sys_util:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:= sys-apps/baselayout
+DEPEND=chromeos-base/crosvm-base:= chromeos-base/libsirenia:= dev-libs/openssl:0= =dev-rust/anyhow-1*:= =dev-rust/assert_matches-1*:= dev-rust/balloon_control:= dev-rust/chromeos-dbus-bindings:= dev-rust/data_model:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/flexbuffers-2*:= =dev-rust/getopts-0.2*:= =dev-rust/libc-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/multi_log-0.1*:= =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= =dev-rust/stderrlog-0.5*:= =dev-rust/thiserror-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:= sys-apps/baselayout
 DESCRIPTION=Build tools for the ManaTEE runtime environment.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/
-IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros_host cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=sys-apps/dbus sys-apps/baselayout
+RDEPEND=sys-apps/dbus cros_host? ( chromeos-base/crosvm-base:= chromeos-base/libsirenia:= dev-libs/openssl:0= =dev-rust/anyhow-1*:= =dev-rust/assert_matches-1*:= dev-rust/balloon_control:= dev-rust/chromeos-dbus-bindings:= dev-rust/data_model:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/flexbuffers-2*:= =dev-rust/getopts-0.2*:= =dev-rust/libc-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/multi_log-0.1*:= =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= =dev-rust/stderrlog-0.5*:= =dev-rust/thiserror-1*:= ) virtual/rust-binaries:= sys-apps/baselayout
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=7f40c1b016060a63962b711203e16bfe
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=4c403abfb3c56edfb239e5c7e49983e6
diff --git a/metadata/md5-cache/chromeos-base/smbfs-0.0.1-r279 b/metadata/md5-cache/chromeos-base/smbfs-0.0.1-r279
deleted file mode 100644
index fcfff3f..0000000
--- a/metadata/md5-cache/chromeos-base/smbfs-0.0.1-r279
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND==sys-fs/fuse-2.9*:= net-fs/samba:= chromeos-base/system_api:= chromeos-base/libpasswordprovider:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=FUSE filesystem to mount SMB shares.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/smbfs/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_56dc9b3a788bc68f829c1e7a1d3b6cf067c7aaf9_e081a9a32efeea3d0632a35e698e01d73a40e10d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_56dc9b3a788bc68f829c1e7a1d3b6cf067c7aaf9_e081a9a32efeea3d0632a35e698e01d73a40e10d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND==sys-fs/fuse-2.9*:= net-fs/samba:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=79e3ea1af7fb376d0acf1c8c25ef9edf
diff --git a/metadata/md5-cache/chromeos-base/smbfs-0.0.1-r346 b/metadata/md5-cache/chromeos-base/smbfs-0.0.1-r346
new file mode 100644
index 0000000..c4f9189
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/smbfs-0.0.1-r346
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND==sys-fs/fuse-2.9*:= net-fs/samba:= chromeos-base/system_api:= chromeos-base/libpasswordprovider:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=FUSE filesystem to mount SMB shares.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/smbfs/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_fb8e41991af9e4c6c88768b137a9b48e4e5e47da_081f3cb6a8b89d84bcb58dd2f4af48252bc9af8b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_fb8e41991af9e4c6c88768b137a9b48e4e5e47da_081f3cb6a8b89d84bcb58dd2f4af48252bc9af8b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND==sys-fs/fuse-2.9*:= net-fs/samba:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=720c62f2fe3f453b76db5b53b8e53c29
diff --git a/metadata/md5-cache/chromeos-base/smbfs-9999 b/metadata/md5-cache/chromeos-base/smbfs-9999
index 29876c8..f2f1950 100644
--- a/metadata/md5-cache/chromeos-base/smbfs-9999
+++ b/metadata/md5-cache/chromeos-base/smbfs-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND==sys-fs/fuse-2.9*:= net-fs/samba:= chromeos-base/system_api:= chromeos-base/libpasswordprovider:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND==sys-fs/fuse-2.9*:= net-fs/samba:= chromeos-base/system_api:= chromeos-base/libpasswordprovider:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=FUSE filesystem to mount SMB shares.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/smbfs/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/smbfs/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND==sys-fs/fuse-2.9*:= net-fs/samba:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=06b262d751d679e700db605e9424fc2e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=8c833e73830a4160bad77399e0e01240
diff --git a/metadata/md5-cache/chromeos-base/smbprovider-0.0.1-r785 b/metadata/md5-cache/chromeos-base/smbprovider-0.0.1-r785
deleted file mode 100644
index 0aa6549..0000000
--- a/metadata/md5-cache/chromeos-base/smbprovider-0.0.1-r785
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/protobuf:= >=net-fs/samba-4.5.3-r6 sys-apps/dbus:= chromeos-base/protofiles:= chromeos-base/system_api:=[fuzzer?] chromeos-base/libpasswordprovider:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Provides access to Samba file share
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/smbprovider/
-IUSE=fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_56dc9b3a788bc68f829c1e7a1d3b6cf067c7aaf9_e9b14182f9c7386624de46f7621bce9672f3ab0d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_56dc9b3a788bc68f829c1e7a1d3b6cf067c7aaf9_e9b14182f9c7386624de46f7621bce9672f3ab0d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=dev-libs/protobuf:= >=net-fs/samba-4.5.3-r6 sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=9413cd0811c81d2035e72894c0357ee1
diff --git a/metadata/md5-cache/chromeos-base/smbprovider-0.0.1-r850 b/metadata/md5-cache/chromeos-base/smbprovider-0.0.1-r850
new file mode 100644
index 0000000..69c175e
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/smbprovider-0.0.1-r850
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=dev-libs/protobuf:= >=net-fs/samba-4.5.3-r6 sys-apps/dbus:= chromeos-base/protofiles:= chromeos-base/system_api:=[fuzzer?] chromeos-base/libpasswordprovider:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Provides access to Samba file share
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/smbprovider/
+IUSE=fuzzer cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_fb8e41991af9e4c6c88768b137a9b48e4e5e47da_2e66ddb9236626115d901c320e96774023921bb0_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_fb8e41991af9e4c6c88768b137a9b48e4e5e47da_2e66ddb9236626115d901c320e96774023921bb0_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=dev-libs/protobuf:= >=net-fs/samba-4.5.3-r6 sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=0125fab9b4ed419ec32019e8381cc921
diff --git a/metadata/md5-cache/chromeos-base/smbprovider-9999 b/metadata/md5-cache/chromeos-base/smbprovider-9999
index a6d1aca0..1091961 100644
--- a/metadata/md5-cache/chromeos-base/smbprovider-9999
+++ b/metadata/md5-cache/chromeos-base/smbprovider-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/protobuf:= >=net-fs/samba-4.5.3-r6 sys-apps/dbus:= chromeos-base/protofiles:= chromeos-base/system_api:=[fuzzer?] chromeos-base/libpasswordprovider:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=dev-libs/protobuf:= >=net-fs/samba-4.5.3-r6 sys-apps/dbus:= chromeos-base/protofiles:= chromeos-base/system_api:=[fuzzer?] chromeos-base/libpasswordprovider:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Provides access to Samba file share
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/smbprovider/
-IUSE=fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/smbprovider/
+IUSE=fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=dev-libs/protobuf:= >=net-fs/samba-4.5.3-r6 sys-apps/dbus:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=f81bdb8e7b3bc9a6eb6a876bef482fb7
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=0e515e99fc7d534c8f99e8cf5980f714
diff --git a/metadata/md5-cache/chromeos-base/smogcheck-0.0.1-r3123 b/metadata/md5-cache/chromeos-base/smogcheck-0.0.1-r3123
deleted file mode 100644
index b03a4af..0000000
--- a/metadata/md5-cache/chromeos-base/smogcheck-0.0.1-r3123
+++ /dev/null
@@ -1,12 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DESCRIPTION=TPM SmogCheck library
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/smogcheck/
-IUSE=-asan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_25b90cd13b01122d778a1d55d814c5b001b88d22_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-SLOT=0/0.0.1-r3123
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=12be0c59bc25278e3dfd2b7983ba6229
diff --git a/metadata/md5-cache/chromeos-base/smogcheck-0.0.1-r3180 b/metadata/md5-cache/chromeos-base/smogcheck-0.0.1-r3180
new file mode 100644
index 0000000..a7942a5
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/smogcheck-0.0.1-r3180
@@ -0,0 +1,12 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DESCRIPTION=TPM SmogCheck library
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/smogcheck/
+IUSE=-asan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_25b90cd13b01122d778a1d55d814c5b001b88d22_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+SLOT=0/0.0.1-r3180
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e4816866e6faaeec2d51c004abcf3c8c
diff --git a/metadata/md5-cache/chromeos-base/smogcheck-9999 b/metadata/md5-cache/chromeos-base/smogcheck-9999
index 0585583..2fd4153 100644
--- a/metadata/md5-cache/chromeos-base/smogcheck-9999
+++ b/metadata/md5-cache/chromeos-base/smogcheck-9999
@@ -2,11 +2,11 @@
 DEFINED_PHASES=compile configure info install prepare setup test unpack
 DESCRIPTION=TPM SmogCheck library
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/smogcheck/
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/smogcheck/
 IUSE=-asan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0/9999
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=71b4bf3cda2160382ebb334b8c34be08
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d6e69eda7cd20006847960e9ce2fc228
diff --git a/metadata/md5-cache/chromeos-base/sommelier-0.0.1-r233 b/metadata/md5-cache/chromeos-base/sommelier-0.0.1-r233
deleted file mode 100644
index ae4913c..0000000
--- a/metadata/md5-cache/chromeos-base/sommelier-0.0.1-r233
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/libevdev:= x11-libs/libxkbcommon:= x11-libs/libxcb:= x11-libs/pixman:= x11-libs/libdrm:= dev-libs/wayland:= || ( media-libs/mesa:=[gbm] media-libs/minigbm:= ) !fuzzer? ( x11-base/xwayland:= ) chromeos-base/perfetto dev-util/meson dev-util/ninja >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=A Wayland compositor for use in CrOS VMs
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools/sommelier
-IUSE=kvm_guest cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_332ccf98f5ef8cbc4fcaf7ad9d3aaa3130a62d38_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_332ccf98f5ef8cbc4fcaf7ad9d3aaa3130a62d38_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=!<chromeos-base/vm_guest_tools-0.0.2-r722 dev-libs/libevdev:= x11-libs/libxkbcommon:= x11-libs/libxcb:= x11-libs/pixman:= x11-libs/libdrm:= dev-libs/wayland:= || ( media-libs/mesa:=[gbm] media-libs/minigbm:= ) !fuzzer? ( x11-base/xwayland:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-REQUIRED_USE=kvm_guest
-SLOT=0/0.0.1-r233
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c6864a0bbb560e864fb740c09b481f2b
diff --git a/metadata/md5-cache/chromeos-base/sommelier-0.0.1-r316 b/metadata/md5-cache/chromeos-base/sommelier-0.0.1-r316
new file mode 100644
index 0000000..8b375d7
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/sommelier-0.0.1-r316
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=dev-libs/libevdev:= x11-libs/libxkbcommon:= x11-libs/libxcb:= x11-libs/pixman:= x11-libs/libdrm:= dev-libs/wayland:= || ( media-libs/mesa:=[gbm] media-libs/minigbm:= ) !fuzzer? ( x11-base/xwayland:= ) chromeos-base/perfetto dev-util/meson dev-util/ninja >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=A Wayland compositor for use in CrOS VMs
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/sommelier
+IUSE=kvm_guest cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f81fd2f617fbb538b0e48736020d89814f047321_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f81fd2f617fbb538b0e48736020d89814f047321_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=!<chromeos-base/vm_guest_tools-0.0.2-r722 dev-libs/libevdev:= x11-libs/libxkbcommon:= x11-libs/libxcb:= x11-libs/pixman:= x11-libs/libdrm:= dev-libs/wayland:= || ( media-libs/mesa:=[gbm] media-libs/minigbm:= ) !fuzzer? ( x11-base/xwayland:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=kvm_guest
+SLOT=0/0.0.1-r316
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d6f860ac9737f9520482820652719bd1
diff --git a/metadata/md5-cache/chromeos-base/sommelier-9999 b/metadata/md5-cache/chromeos-base/sommelier-9999
index f605c6a..7f11aad 100644
--- a/metadata/md5-cache/chromeos-base/sommelier-9999
+++ b/metadata/md5-cache/chromeos-base/sommelier-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/libevdev:= x11-libs/libxkbcommon:= x11-libs/libxcb:= x11-libs/pixman:= x11-libs/libdrm:= dev-libs/wayland:= || ( media-libs/mesa:=[gbm] media-libs/minigbm:= ) !fuzzer? ( x11-base/xwayland:= ) chromeos-base/perfetto dev-util/meson dev-util/ninja >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=dev-libs/libevdev:= x11-libs/libxkbcommon:= x11-libs/libxcb:= x11-libs/pixman:= x11-libs/libdrm:= dev-libs/wayland:= || ( media-libs/mesa:=[gbm] media-libs/minigbm:= ) !fuzzer? ( x11-base/xwayland:= ) chromeos-base/perfetto dev-util/meson dev-util/ninja >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=A Wayland compositor for use in CrOS VMs
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools/sommelier
-IUSE=kvm_guest cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/sommelier
+IUSE=kvm_guest cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=!<chromeos-base/vm_guest_tools-0.0.2-r722 dev-libs/libevdev:= x11-libs/libxkbcommon:= x11-libs/libxcb:= x11-libs/pixman:= x11-libs/libdrm:= dev-libs/wayland:= || ( media-libs/mesa:=[gbm] media-libs/minigbm:= ) !fuzzer? ( x11-base/xwayland:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 REQUIRED_USE=kvm_guest
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=4b341356c4087997a9c641ef8cedf77e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3dcb25f083236a4e6b7223821df752c5
diff --git a/metadata/md5-cache/chromeos-base/spaced-0.0.1-r135 b/metadata/md5-cache/chromeos-base/spaced-0.0.1-r135
new file mode 100644
index 0000000..5229442
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/spaced-0.0.1-r135
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Disk space information daemon for Chrome OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/spaced/
+IUSE=+seccomp cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_350cc434223a8fc7e7852f0b810bac3e4cb660ce_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_350cc434223a8fc7e7852f0b810bac3e4cb660ce_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r135
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=9e2593cbc60b6726b640f15c9ea61ea4
diff --git a/metadata/md5-cache/chromeos-base/spaced-0.0.1-r72 b/metadata/md5-cache/chromeos-base/spaced-0.0.1-r72
deleted file mode 100644
index 38f12ab..0000000
--- a/metadata/md5-cache/chromeos-base/spaced-0.0.1-r72
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Disk space information daemon for Chrome OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/spaced/
-IUSE=+seccomp cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_5dc05fbca65f19ba10ddb8d67988cb5ba2f80127_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_5dc05fbca65f19ba10ddb8d67988cb5ba2f80127_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r72
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=94f07ef843c2e91944e2639ab4d0255b
diff --git a/metadata/md5-cache/chromeos-base/spaced-9999 b/metadata/md5-cache/chromeos-base/spaced-9999
index 8126796..f23a754 100644
--- a/metadata/md5-cache/chromeos-base/spaced-9999
+++ b/metadata/md5-cache/chromeos-base/spaced-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Disk space information daemon for Chrome OS
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/spaced/
-IUSE=+seccomp cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=+seccomp cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
 _md5_=b3801ea23d7d69374840f3c015bab29e
diff --git a/metadata/md5-cache/chromeos-base/spirv-cross-1.3.216.0 b/metadata/md5-cache/chromeos-base/spirv-cross-1.3.216.0
new file mode 100644
index 0000000..d02799a
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/spirv-cross-1.3.216.0
@@ -0,0 +1,11 @@
+BDEPEND=dev-util/ninja >=dev-util/cmake-3.9.6
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=SPIR-V Decompiler
+EAPI=7
+HOMEPAGE=https://github.com/KhronosGroup/SPIRV-Cross
+KEYWORDS=*
+LICENSE=Apache-2.0
+SLOT=0
+SRC_URI=https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/sdk-1.3.216.0.tar.gz -> spirv-cross-sdk-1.3.216.0.tar.gz
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=11fe94c7ffa66a778edf0b75ed249ced
diff --git a/metadata/md5-cache/chromeos-base/st_flash-0.0.1-r1314 b/metadata/md5-cache/chromeos-base/st_flash-0.0.1-r1314
deleted file mode 100644
index 4f0b820..0000000
--- a/metadata/md5-cache/chromeos-base/st_flash-0.0.1-r1314
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=STM32 IAP firmware updater for Chrome OS touchpads
-EAPI=5
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_0f74874dbc6607278e98259190322851828be09a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_0f74874dbc6607278e98259190322851828be09a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=5f447c1036ac7525f218ce6b23f37a38
diff --git a/metadata/md5-cache/chromeos-base/st_flash-0.0.1-r1371 b/metadata/md5-cache/chromeos-base/st_flash-0.0.1-r1371
new file mode 100644
index 0000000..65e1441
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/st_flash-0.0.1-r1371
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=STM32 IAP firmware updater for Chrome OS touchpads
+EAPI=5
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_0f74874dbc6607278e98259190322851828be09a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_0f74874dbc6607278e98259190322851828be09a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=6ec89676bf031e6c05d884f5b4c50872
diff --git a/metadata/md5-cache/chromeos-base/st_flash-9999 b/metadata/md5-cache/chromeos-base/st_flash-9999
index 174603e..ee7501d 100644
--- a/metadata/md5-cache/chromeos-base/st_flash-9999
+++ b/metadata/md5-cache/chromeos-base/st_flash-9999
@@ -1,12 +1,12 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=STM32 IAP firmware updater for Chrome OS touchpads
 EAPI=5
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=6721532afea26b31e21be8cf4732e278
diff --git a/metadata/md5-cache/chromeos-base/swap-init-0.0.1 b/metadata/md5-cache/chromeos-base/swap-init-0.0.1
index c4410e1..530803c 100644
--- a/metadata/md5-cache/chromeos-base/swap-init-0.0.1
+++ b/metadata/md5-cache/chromeos-base/swap-init-0.0.1
@@ -3,10 +3,10 @@
 DESCRIPTION=Install the upstart job that creates the swap and zram.
 EAPI=7
 HOMEPAGE=http://www.chromium.org/
-IUSE=diskswap systemd
+IUSE=systemd
 KEYWORDS=*
 LICENSE=BSD-Google
-RDEPEND=sys-apps/util-linux diskswap? ( sys-fs/cryptsetup )
+RDEPEND=sys-apps/util-linux sys-fs/cryptsetup
 SLOT=0
 _eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9d957bc3d3fd75153eca18888e5c0018
+_md5_=fc2619285c533fbc0fce0437a9b486e3
diff --git a/metadata/md5-cache/chromeos-base/swap-init-0.0.1-r42 b/metadata/md5-cache/chromeos-base/swap-init-0.0.1-r42
deleted file mode 100644
index c4410e1..0000000
--- a/metadata/md5-cache/chromeos-base/swap-init-0.0.1-r42
+++ /dev/null
@@ -1,12 +0,0 @@
-BDEPEND=virtual/pkgconfig
-DEFINED_PHASES=install
-DESCRIPTION=Install the upstart job that creates the swap and zram.
-EAPI=7
-HOMEPAGE=http://www.chromium.org/
-IUSE=diskswap systemd
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=sys-apps/util-linux diskswap? ( sys-fs/cryptsetup )
-SLOT=0
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9d957bc3d3fd75153eca18888e5c0018
diff --git a/metadata/md5-cache/chromeos-base/swap-init-0.0.1-r45 b/metadata/md5-cache/chromeos-base/swap-init-0.0.1-r45
new file mode 100644
index 0000000..530803c
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/swap-init-0.0.1-r45
@@ -0,0 +1,12 @@
+BDEPEND=virtual/pkgconfig
+DEFINED_PHASES=install
+DESCRIPTION=Install the upstart job that creates the swap and zram.
+EAPI=7
+HOMEPAGE=http://www.chromium.org/
+IUSE=systemd
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=sys-apps/util-linux sys-fs/cryptsetup
+SLOT=0
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=fc2619285c533fbc0fce0437a9b486e3
diff --git a/metadata/md5-cache/chromeos-base/syslog-cat-0.0.1-r107 b/metadata/md5-cache/chromeos-base/syslog-cat-0.0.1-r107
deleted file mode 100644
index a413cb5..0000000
--- a/metadata/md5-cache/chromeos-base/syslog-cat-0.0.1-r107
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Simple command to forward stdout/err to syslog
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/syslog-cat
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_08b91a2f1e0d6e18374c6c9f0f6a1e1f30e21bee_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_08b91a2f1e0d6e18374c6c9f0f6a1e1f30e21bee_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=12dd422c8c17849f2d1011195b9ffbd9
diff --git a/metadata/md5-cache/chromeos-base/syslog-cat-0.0.1-r166 b/metadata/md5-cache/chromeos-base/syslog-cat-0.0.1-r166
new file mode 100644
index 0000000..f10c74f
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/syslog-cat-0.0.1-r166
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Simple command to forward stdout/err to syslog
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/syslog-cat
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_14d6946889ebac09c54e1fba8bc1e1b13ab78411_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_14d6946889ebac09c54e1fba8bc1e1b13ab78411_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4df4e650a0e49f7f7c540c634299dce1
diff --git a/metadata/md5-cache/chromeos-base/syslog-cat-9999 b/metadata/md5-cache/chromeos-base/syslog-cat-9999
index bc83051..2a0ce4b 100644
--- a/metadata/md5-cache/chromeos-base/syslog-cat-9999
+++ b/metadata/md5-cache/chromeos-base/syslog-cat-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Simple command to forward stdout/err to syslog
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/syslog-cat
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/syslog-cat
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=17a9979571deae77cc5b34e2802dee4d
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a7d5fe0a501e116ac8954149ee0125d9
diff --git a/metadata/md5-cache/chromeos-base/system-proxy-0.0.1-r285 b/metadata/md5-cache/chromeos-base/system-proxy-0.0.1-r285
deleted file mode 100644
index 69f0a47..0000000
--- a/metadata/md5-cache/chromeos-base/system-proxy-0.0.1-r285
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/libpasswordprovider:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= dev-libs/protobuf:= sys-apps/dbus:= net-misc/curl:= chromeos-base/permission_broker-client:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=A daemon that provides authentication support for system services and ARC apps behind an authenticated web proxy.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/system-proxy/
-IUSE=fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_56dc9b3a788bc68f829c1e7a1d3b6cf067c7aaf9_47e08d746e33c555317ae5a3c41f75d09c94ad07_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_56dc9b3a788bc68f829c1e7a1d3b6cf067c7aaf9_47e08d746e33c555317ae5a3c41f75d09c94ad07_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/libpasswordprovider:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= dev-libs/protobuf:= sys-apps/dbus:= net-misc/curl:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=86f25169b68da14db44f26a72cad9111
diff --git a/metadata/md5-cache/chromeos-base/system-proxy-0.0.1-r350 b/metadata/md5-cache/chromeos-base/system-proxy-0.0.1-r350
new file mode 100644
index 0000000..45b4ee7
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/system-proxy-0.0.1-r350
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/libpasswordprovider:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= dev-libs/protobuf:= sys-apps/dbus:= net-misc/curl:= chromeos-base/permission_broker-client:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=A daemon that provides authentication support for system services and ARC apps behind an authenticated web proxy.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/system-proxy/
+IUSE=fuzzer cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_fb8e41991af9e4c6c88768b137a9b48e4e5e47da_70b0fead532fb2583dfa6edeaabc09c1d55d2fc7_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_fb8e41991af9e4c6c88768b137a9b48e4e5e47da_70b0fead532fb2583dfa6edeaabc09c1d55d2fc7_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/libpasswordprovider:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= dev-libs/protobuf:= sys-apps/dbus:= net-misc/curl:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=1c54ed905bbe510c2aa2df4f4d001058
diff --git a/metadata/md5-cache/chromeos-base/system-proxy-9999 b/metadata/md5-cache/chromeos-base/system-proxy-9999
index 338c431..4105184 100644
--- a/metadata/md5-cache/chromeos-base/system-proxy-9999
+++ b/metadata/md5-cache/chromeos-base/system-proxy-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/libpasswordprovider:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= dev-libs/protobuf:= sys-apps/dbus:= net-misc/curl:= chromeos-base/permission_broker-client:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/libpasswordprovider:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= dev-libs/protobuf:= sys-apps/dbus:= net-misc/curl:= chromeos-base/permission_broker-client:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=A daemon that provides authentication support for system services and ARC apps behind an authenticated web proxy.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/system-proxy/
-IUSE=fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/system-proxy/
+IUSE=fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/libpasswordprovider:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= dev-libs/protobuf:= sys-apps/dbus:= net-misc/curl:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=236f69bfac2e337dede67b77e796443b
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=dda26481e1354ecdf681ff65568073c1
diff --git a/metadata/md5-cache/chromeos-base/system_api-0.0.1-r4626 b/metadata/md5-cache/chromeos-base/system_api-0.0.1-r4626
deleted file mode 100644
index 193b3db..0000000
--- a/metadata/md5-cache/chromeos-base/system_api-0.0.1-r4626
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst setup test unpack
-DEPEND=dev-libs/protobuf:= cros_host? ( net-libs/grpc:= ) dev-go/protobuf:= dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS system API (D-Bus service names, etc.)
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/system_api/
-IUSE=cros_host fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1598b683b53518d752c086851a508c90976b55da_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1598b683b53518d752c086851a508c90976b55da_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=dev-libs/protobuf:= cros_host? ( net-libs/grpc:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
-SLOT=0/1
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0b0cc85395d3a783d2bf48e464a190fd
diff --git a/metadata/md5-cache/chromeos-base/system_api-0.0.1-r4859 b/metadata/md5-cache/chromeos-base/system_api-0.0.1-r4859
new file mode 100644
index 0000000..319efb6
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/system_api-0.0.1-r4859
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst setup test unpack
+DEPEND=dev-libs/protobuf:= cros_host? ( net-libs/grpc:= ) dev-go/protobuf:= dev-go/protobuf-legacy-api:= dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS system API (D-Bus service names, etc.)
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/system_api/
+IUSE=cros_host fuzzer cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_1341afbe61e8ddabb7a86b15e553b65d92db921d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_1341afbe61e8ddabb7a86b15e553b65d92db921d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=dev-libs/protobuf:= cros_host? ( net-libs/grpc:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
+SLOT=0/1
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5e5fa396763e42eb8b333ec1ceec6f50
diff --git a/metadata/md5-cache/chromeos-base/system_api-9999 b/metadata/md5-cache/chromeos-base/system_api-9999
index 85587ec..b68ee4a 100644
--- a/metadata/md5-cache/chromeos-base/system_api-9999
+++ b/metadata/md5-cache/chromeos-base/system_api-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst setup test unpack
-DEPEND=dev-libs/protobuf:= cros_host? ( net-libs/grpc:= ) dev-go/protobuf:= dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=dev-libs/protobuf:= cros_host? ( net-libs/grpc:= ) dev-go/protobuf:= dev-go/protobuf-legacy-api:= dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS system API (D-Bus service names, etc.)
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/system_api/
-IUSE=cros_host fuzzer cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/system_api/
+IUSE=cros_host fuzzer cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=dev-libs/protobuf:= cros_host? ( net-libs/grpc:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
 SLOT=0/1
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=7f0593f0f3eeaa6efb246654c21eb58e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e1a4a95a750d8cd04bf12553643acb6e
diff --git a/metadata/md5-cache/chromeos-base/tast-build-deps-2-r16 b/metadata/md5-cache/chromeos-base/tast-build-deps-2-r16
deleted file mode 100644
index f120a9b..0000000
--- a/metadata/md5-cache/chromeos-base/tast-build-deps-2-r16
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info setup unpack
-DEPEND=chromeos-base/aosp-frameworks-base-proto chromeos-base/cros-config-api chromeos-base/hardware_verifier_proto chromeos-base/modemfwd-proto chromeos-base/policy-go-proto chromeos-base/system_api chromeos-base/vm_protos chromeos-base/wilco-dtc-grpc-protos dev-go/boringssl-acvptool dev-go/cdp dev-go/clock dev-go/cmp dev-go/crypto dev-go/dbus dev-go/docker dev-go/dst dev-go/exif dev-go/fscrypt dev-go/gapi-drive dev-go/genproto dev-go/godebug dev-go/golang-evdev dev-go/golint dev-go/gopacket dev-go/gopsutil dev-go/go-matroska dev-go/go-sys dev-go/grpc dev-go/mdns dev-go/mock dev-go/mp4 dev-go/oauth2 dev-go/perfetto-protos dev-go/protobuf dev-go/selinux dev-go/subcommands dev-go/sync dev-go/tarm-serial dev-go/uuid dev-go/vnc2video dev-go/vsock dev-go/yaml:0
-DESCRIPTION=Build-time dependencies of Tast binaries
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast/
-IUSE=cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/aosp-frameworks-base-proto chromeos-base/cros-config-api chromeos-base/hardware_verifier_proto chromeos-base/modemfwd-proto chromeos-base/policy-go-proto chromeos-base/system_api chromeos-base/vm_protos chromeos-base/wilco-dtc-grpc-protos dev-go/boringssl-acvptool dev-go/cdp dev-go/clock dev-go/cmp dev-go/crypto dev-go/dbus dev-go/docker dev-go/dst dev-go/exif dev-go/fscrypt dev-go/gapi-drive dev-go/genproto dev-go/godebug dev-go/golang-evdev dev-go/golint dev-go/gopacket dev-go/gopsutil dev-go/go-matroska dev-go/go-sys dev-go/grpc dev-go/mdns dev-go/mock dev-go/mp4 dev-go/oauth2 dev-go/perfetto-protos dev-go/protobuf dev-go/selinux dev-go/subcommands dev-go/sync dev-go/tarm-serial dev-go/uuid dev-go/vnc2video dev-go/vsock dev-go/yaml:0
-SLOT=0/2-r16
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=3859841049ef91f5ac053f7b289fd5bb
diff --git a/metadata/md5-cache/chromeos-base/tast-build-deps-2-r20 b/metadata/md5-cache/chromeos-base/tast-build-deps-2-r20
new file mode 100644
index 0000000..2b06cb5
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/tast-build-deps-2-r20
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info setup unpack
+DEPEND=chromeos-base/aosp-frameworks-base-proto chromeos-base/cros-config-api chromeos-base/hardware_verifier_proto chromeos-base/modemfwd-proto chromeos-base/policy-go-proto chromeos-base/system_api chromeos-base/vm_protos chromeos-base/wilco-dtc-grpc-protos dev-go/boringssl-acvptool dev-go/cdp dev-go/clock dev-go/cmp dev-go/crypto dev-go/dbus dev-go/docker dev-go/dst dev-go/exif dev-go/fscrypt dev-go/gapi dev-go/gax dev-go/genproto dev-go/godebug dev-go/golang-evdev dev-go/golint dev-go/gopacket dev-go/gopsutil dev-go/go-matroska dev-go/go-sys dev-go/grpc dev-go/mdns dev-go/mock dev-go/mp4 dev-go/oauth2 dev-go/opencensus dev-go/perfetto-protos dev-go/protobuf dev-go/protobuf-legacy-api dev-go/selinux dev-go/subcommands dev-go/sync dev-go/tarm-serial dev-go/uuid dev-go/vnc2video dev-go/vsock dev-go/yaml:0
+DESCRIPTION=Build-time dependencies of Tast binaries
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast/
+IUSE=cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/aosp-frameworks-base-proto chromeos-base/cros-config-api chromeos-base/hardware_verifier_proto chromeos-base/modemfwd-proto chromeos-base/policy-go-proto chromeos-base/system_api chromeos-base/vm_protos chromeos-base/wilco-dtc-grpc-protos dev-go/boringssl-acvptool dev-go/cdp dev-go/clock dev-go/cmp dev-go/crypto dev-go/dbus dev-go/docker dev-go/dst dev-go/exif dev-go/fscrypt dev-go/gapi dev-go/gax dev-go/genproto dev-go/godebug dev-go/golang-evdev dev-go/golint dev-go/gopacket dev-go/gopsutil dev-go/go-matroska dev-go/go-sys dev-go/grpc dev-go/mdns dev-go/mock dev-go/mp4 dev-go/oauth2 dev-go/opencensus dev-go/perfetto-protos dev-go/protobuf dev-go/protobuf-legacy-api dev-go/selinux dev-go/subcommands dev-go/sync dev-go/tarm-serial dev-go/uuid dev-go/vnc2video dev-go/vsock dev-go/yaml:0
+SLOT=0/2-r20
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=21060be7e312f8b88bee0ca71cb88ceb
diff --git a/metadata/md5-cache/chromeos-base/tast-build-deps-9999 b/metadata/md5-cache/chromeos-base/tast-build-deps-9999
index d5bf5da..d71f1ff 100644
--- a/metadata/md5-cache/chromeos-base/tast-build-deps-9999
+++ b/metadata/md5-cache/chromeos-base/tast-build-deps-9999
@@ -1,6 +1,6 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=info setup unpack
-DEPEND=chromeos-base/aosp-frameworks-base-proto chromeos-base/cros-config-api chromeos-base/hardware_verifier_proto chromeos-base/modemfwd-proto chromeos-base/policy-go-proto chromeos-base/system_api chromeos-base/vm_protos chromeos-base/wilco-dtc-grpc-protos dev-go/boringssl-acvptool dev-go/cdp dev-go/clock dev-go/cmp dev-go/crypto dev-go/dbus dev-go/docker dev-go/dst dev-go/exif dev-go/fscrypt dev-go/gapi-drive dev-go/genproto dev-go/godebug dev-go/golang-evdev dev-go/golint dev-go/gopacket dev-go/gopsutil dev-go/go-matroska dev-go/go-sys dev-go/grpc dev-go/mdns dev-go/mock dev-go/mp4 dev-go/oauth2 dev-go/perfetto-protos dev-go/protobuf dev-go/selinux dev-go/subcommands dev-go/sync dev-go/tarm-serial dev-go/uuid dev-go/vnc2video dev-go/vsock dev-go/yaml:0
+DEPEND=chromeos-base/aosp-frameworks-base-proto chromeos-base/cros-config-api chromeos-base/hardware_verifier_proto chromeos-base/modemfwd-proto chromeos-base/policy-go-proto chromeos-base/system_api chromeos-base/vm_protos chromeos-base/wilco-dtc-grpc-protos dev-go/boringssl-acvptool dev-go/cdp dev-go/clock dev-go/cmp dev-go/crypto dev-go/dbus dev-go/docker dev-go/dst dev-go/exif dev-go/fscrypt dev-go/gapi dev-go/gax dev-go/genproto dev-go/godebug dev-go/golang-evdev dev-go/golint dev-go/gopacket dev-go/gopsutil dev-go/go-matroska dev-go/go-sys dev-go/grpc dev-go/mdns dev-go/mock dev-go/mp4 dev-go/oauth2 dev-go/opencensus dev-go/perfetto-protos dev-go/protobuf dev-go/protobuf-legacy-api dev-go/selinux dev-go/subcommands dev-go/sync dev-go/tarm-serial dev-go/uuid dev-go/vnc2video dev-go/vsock dev-go/yaml:0
 DESCRIPTION=Build-time dependencies of Tast binaries
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast/
@@ -8,7 +8,7 @@
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=chromeos-base/aosp-frameworks-base-proto chromeos-base/cros-config-api chromeos-base/hardware_verifier_proto chromeos-base/modemfwd-proto chromeos-base/policy-go-proto chromeos-base/system_api chromeos-base/vm_protos chromeos-base/wilco-dtc-grpc-protos dev-go/boringssl-acvptool dev-go/cdp dev-go/clock dev-go/cmp dev-go/crypto dev-go/dbus dev-go/docker dev-go/dst dev-go/exif dev-go/fscrypt dev-go/gapi-drive dev-go/genproto dev-go/godebug dev-go/golang-evdev dev-go/golint dev-go/gopacket dev-go/gopsutil dev-go/go-matroska dev-go/go-sys dev-go/grpc dev-go/mdns dev-go/mock dev-go/mp4 dev-go/oauth2 dev-go/perfetto-protos dev-go/protobuf dev-go/selinux dev-go/subcommands dev-go/sync dev-go/tarm-serial dev-go/uuid dev-go/vnc2video dev-go/vsock dev-go/yaml:0
+RDEPEND=chromeos-base/aosp-frameworks-base-proto chromeos-base/cros-config-api chromeos-base/hardware_verifier_proto chromeos-base/modemfwd-proto chromeos-base/policy-go-proto chromeos-base/system_api chromeos-base/vm_protos chromeos-base/wilco-dtc-grpc-protos dev-go/boringssl-acvptool dev-go/cdp dev-go/clock dev-go/cmp dev-go/crypto dev-go/dbus dev-go/docker dev-go/dst dev-go/exif dev-go/fscrypt dev-go/gapi dev-go/gax dev-go/genproto dev-go/godebug dev-go/golang-evdev dev-go/golint dev-go/gopacket dev-go/gopsutil dev-go/go-matroska dev-go/go-sys dev-go/grpc dev-go/mdns dev-go/mock dev-go/mp4 dev-go/oauth2 dev-go/opencensus dev-go/perfetto-protos dev-go/protobuf dev-go/protobuf-legacy-api dev-go/selinux dev-go/subcommands dev-go/sync dev-go/tarm-serial dev-go/uuid dev-go/vnc2video dev-go/vsock dev-go/yaml:0
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=02a4ef25ece671321f52803b6aa0646e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=de29b0cc70b32e6e74a7eedff18b3108
diff --git a/metadata/md5-cache/chromeos-base/tast-cmd-0.0.1-r1472 b/metadata/md5-cache/chromeos-base/tast-cmd-0.0.1-r1472
deleted file mode 100644
index 446f8ea..0000000
--- a/metadata/md5-cache/chromeos-base/tast-cmd-0.0.1-r1472
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst prepare setup test unpack
-DEPEND=chromeos-base/tast-build-deps:= dev-lang/go
-DESCRIPTION=Host executables for running integration tests
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast/
-IUSE=cros_host cros_workon_tree_22dce69eb9b87f1074930ff8ca5592eb2312c7da
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=app-arch/tar app-arch/xz-utils chromeos-base/google-breakpad chromeos-base/tast-build-deps chromeos-base/tast-vars net-misc/gsutil !chromeos-base/tast-common
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a8596e9791d690540bedaabf41ea95c0
diff --git a/metadata/md5-cache/chromeos-base/tast-cmd-0.0.1-r1640 b/metadata/md5-cache/chromeos-base/tast-cmd-0.0.1-r1640
new file mode 100644
index 0000000..18f6310
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/tast-cmd-0.0.1-r1640
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst prepare setup test unpack
+DEPEND=chromeos-base/tast-build-deps:= dev-lang/go
+DESCRIPTION=Host executables for running integration tests
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast/
+IUSE=cros_host cros_workon_tree_85ff64bf9199aa5473db461312b3208004cbb7e0
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=app-arch/tar app-arch/xz-utils chromeos-base/google-breakpad chromeos-base/tast-build-deps chromeos-base/tast-vars net-misc/gsutil !chromeos-base/tast-common
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e6d3025c7e6c321d688ed1b78fa8fe0a
diff --git a/metadata/md5-cache/chromeos-base/tast-cmd-9999 b/metadata/md5-cache/chromeos-base/tast-cmd-9999
index 7f17b1f..7e7be3b 100644
--- a/metadata/md5-cache/chromeos-base/tast-cmd-9999
+++ b/metadata/md5-cache/chromeos-base/tast-cmd-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=app-arch/tar app-arch/xz-utils chromeos-base/google-breakpad chromeos-base/tast-build-deps chromeos-base/tast-vars net-misc/gsutil !chromeos-base/tast-common
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=1281a8684471d75c0e869ddf378f692e
diff --git a/metadata/md5-cache/chromeos-base/tast-local-apks-cros-0.0.1-r159 b/metadata/md5-cache/chromeos-base/tast-local-apks-cros-0.0.1-r159
deleted file mode 100644
index ab46da3..0000000
--- a/metadata/md5-cache/chromeos-base/tast-local-apks-cros-0.0.1-r159
+++ /dev/null
@@ -1,12 +0,0 @@
-BDEPEND=chromeos-base/android-sdk dev-util/gn virtual/jdk:1.8 dev-vcs/git
-DEFINED_PHASES=compile info install setup unpack
-DESCRIPTION=Compiled apks used by local Tast tests in the cros bundle
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/master/android
-IUSE=cros_host cros_workon_tree_45262c01452bad952727f0e3926f20740fa2357e
-KEYWORDS=*
-LICENSE=BSD-Google GPL-3
-PROPERTIES=live
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=cd60271f52097e862140d9b60e4d42f2
diff --git a/metadata/md5-cache/chromeos-base/tast-local-apks-cros-0.0.1-r178 b/metadata/md5-cache/chromeos-base/tast-local-apks-cros-0.0.1-r178
new file mode 100644
index 0000000..ae8970d
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/tast-local-apks-cros-0.0.1-r178
@@ -0,0 +1,12 @@
+BDEPEND=chromeos-base/android-sdk dev-util/gn virtual/jdk:1.8 dev-vcs/git
+DEFINED_PHASES=compile info install setup unpack
+DESCRIPTION=Compiled apks used by local Tast tests in the cros bundle
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/master/android
+IUSE=cros_host cros_workon_tree_05be63a2ed7556ce123985aeb711421a9556b120
+KEYWORDS=*
+LICENSE=BSD-Google GPL-3
+PROPERTIES=live
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5d9a013ac7b95dae2da1bf082c34d938
diff --git a/metadata/md5-cache/chromeos-base/tast-local-apks-cros-9999 b/metadata/md5-cache/chromeos-base/tast-local-apks-cros-9999
index a76246f..99570c2 100644
--- a/metadata/md5-cache/chromeos-base/tast-local-apks-cros-9999
+++ b/metadata/md5-cache/chromeos-base/tast-local-apks-cros-9999
@@ -8,5 +8,5 @@
 LICENSE=BSD-Google GPL-3
 PROPERTIES=live
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=91b4a3c910173a567ec071ef5dbf06a9
diff --git a/metadata/md5-cache/chromeos-base/tast-local-helpers-cros-0.0.1-r267 b/metadata/md5-cache/chromeos-base/tast-local-helpers-cros-0.0.1-r267
deleted file mode 100644
index 7af0126..0000000
--- a/metadata/md5-cache/chromeos-base/tast-local-helpers-cros-0.0.1-r267
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-cpp/gtest:= media-libs/minigbm:= x11-libs/libdrm:= chromeos-base/goldctl media-video/ffmpeg >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Compiled executables used by local Tast tests in the cros bundle
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/master/helpers
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_dea91ab048f26f8102ca8ec3d71e4e48841abafe cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_dea91ab048f26f8102ca8ec3d71e4e48841abafe cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google GPL-3
-PROPERTIES=live live
-RDEPEND=dev-cpp/gtest:= media-libs/minigbm:= x11-libs/libdrm:= chromeos-base/goldctl media-video/ffmpeg >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=aeab2e92b7517c54d058b12c9c41a630
diff --git a/metadata/md5-cache/chromeos-base/tast-local-helpers-cros-0.0.1-r326 b/metadata/md5-cache/chromeos-base/tast-local-helpers-cros-0.0.1-r326
new file mode 100644
index 0000000..06ea303
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/tast-local-helpers-cros-0.0.1-r326
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=dev-cpp/gtest:= media-libs/minigbm:= x11-libs/libdrm:= chromeos-base/goldctl media-video/ffmpeg >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Compiled executables used by local Tast tests in the cros bundle
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/master/helpers
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_bf03aea0f861ec5a30ee63b5814057ceee176ad9 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_bf03aea0f861ec5a30ee63b5814057ceee176ad9 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google GPL-3
+PROPERTIES=live live
+RDEPEND=dev-cpp/gtest:= media-libs/minigbm:= x11-libs/libdrm:= chromeos-base/goldctl media-video/ffmpeg >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d184fb5dfc762e02d75aaa928c28f944
diff --git a/metadata/md5-cache/chromeos-base/tast-local-helpers-cros-9999 b/metadata/md5-cache/chromeos-base/tast-local-helpers-cros-9999
index 19cbe8c..58b9d10 100644
--- a/metadata/md5-cache/chromeos-base/tast-local-helpers-cros-9999
+++ b/metadata/md5-cache/chromeos-base/tast-local-helpers-cros-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-cpp/gtest:= media-libs/minigbm:= x11-libs/libdrm:= chromeos-base/goldctl media-video/ffmpeg >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=dev-cpp/gtest:= media-libs/minigbm:= x11-libs/libdrm:= chromeos-base/goldctl media-video/ffmpeg >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Compiled executables used by local Tast tests in the cros bundle
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/master/helpers
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google GPL-3
 PROPERTIES=live live
 RDEPEND=dev-cpp/gtest:= media-libs/minigbm:= x11-libs/libdrm:= chromeos-base/goldctl media-video/ffmpeg >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f95a2f6d76af935c869fca9aba863b34
diff --git a/metadata/md5-cache/chromeos-base/tast-local-test-runner-0.0.1-r1423 b/metadata/md5-cache/chromeos-base/tast-local-test-runner-0.0.1-r1423
deleted file mode 100644
index 5052d0a..0000000
--- a/metadata/md5-cache/chromeos-base/tast-local-test-runner-0.0.1-r1423
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst prepare setup test unpack
-DEPEND=chromeos-base/tast-build-deps:= dev-lang/go
-DESCRIPTION=Runner for local integration tests
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast/
-IUSE=cros_host cros_workon_tree_22dce69eb9b87f1074930ff8ca5592eb2312c7da
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=app-arch/tar !chromeos-base/tast-common
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=76256d3876a60db48ca3c52000bf33d3
diff --git a/metadata/md5-cache/chromeos-base/tast-local-test-runner-0.0.1-r1591 b/metadata/md5-cache/chromeos-base/tast-local-test-runner-0.0.1-r1591
new file mode 100644
index 0000000..1b3e02fe
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/tast-local-test-runner-0.0.1-r1591
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst prepare setup test unpack
+DEPEND=chromeos-base/tast-build-deps:= dev-lang/go
+DESCRIPTION=Runner for local integration tests
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast/
+IUSE=cros_host cros_workon_tree_85ff64bf9199aa5473db461312b3208004cbb7e0
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=app-arch/tar !chromeos-base/tast-common
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9f4a05a592e784ec2d095b98af5c613a
diff --git a/metadata/md5-cache/chromeos-base/tast-local-test-runner-9999 b/metadata/md5-cache/chromeos-base/tast-local-test-runner-9999
index 4d101fc..e74eb82 100644
--- a/metadata/md5-cache/chromeos-base/tast-local-test-runner-9999
+++ b/metadata/md5-cache/chromeos-base/tast-local-test-runner-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=app-arch/tar !chromeos-base/tast-common
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=912d6f3eb89e31da8608476aa69b8c89
diff --git a/metadata/md5-cache/chromeos-base/tast-local-tests-cros-0.0.2-r11878 b/metadata/md5-cache/chromeos-base/tast-local-tests-cros-0.0.2-r11878
new file mode 100644
index 0000000..b990715
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/tast-local-tests-cros-0.0.2-r11878
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile info install postinst prepare setup test unpack
+DEPEND=chromeos-base/tast-build-deps:= dev-lang/go dev-go/crypto
+DESCRIPTION=Bundle of local integration tests for Chrome OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast-tests/
+IUSE=arc chromeless_tty chromeless_tests cups cros_host cros_workon_tree_d5539da7b776f8c67f3445ec0d236f0d6c0878dc_85ff64bf9199aa5473db461312b3208004cbb7e0 cros_host cros_workon_tree_d5539da7b776f8c67f3445ec0d236f0d6c0878dc_85ff64bf9199aa5473db461312b3208004cbb7e0
+KEYWORDS=*
+LICENSE=Apache-2.0 BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/policy-testserver chromeos-base/tast-local-helpers-cros chromeos-base/tast-tests-local-data chromeos-base/virtual-usb-printer chromeos-base/wprgo !chromeless_tty? ( !chromeless_tests? ( chromeos-base/drm-tests ) ) dev-libs/openssl:0= dev-python/pyftdi arc? ( chromeos-base/tast-local-apks-cros dev-util/android-tools dev-util/android-uiautomator-server ) net-misc/curl cups? ( net-print/ippsample ) sys-apps/memtester sys-apps/rootdev virtual/udev app-arch/tar
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	tast-bundle	b98b8e2383f1767859fd623600c37ee4	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2f8c83beed589f017b0d20dd57550c07
diff --git a/metadata/md5-cache/chromeos-base/tast-local-tests-cros-0.0.2-r9581 b/metadata/md5-cache/chromeos-base/tast-local-tests-cros-0.0.2-r9581
deleted file mode 100644
index ebf68b4..0000000
--- a/metadata/md5-cache/chromeos-base/tast-local-tests-cros-0.0.2-r9581
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst prepare setup test unpack
-DEPEND=chromeos-base/tast-build-deps:= dev-lang/go dev-go/crypto
-DESCRIPTION=Bundle of local integration tests for Chrome OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast-tests/
-IUSE=arc chromeless_tty chromeless_tests cups cros_host cros_workon_tree_e80e7356b3a8ed509575ebbf44ab929c19a37fe4_22dce69eb9b87f1074930ff8ca5592eb2312c7da
-KEYWORDS=*
-LICENSE=Apache-2.0 BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/policy-testserver chromeos-base/tast-local-helpers-cros chromeos-base/tast-tests-local-data chromeos-base/virtual-usb-printer chromeos-base/wprgo !chromeless_tty? ( !chromeless_tests? ( chromeos-base/drm-tests ) ) dev-libs/openssl:0= arc? ( chromeos-base/tast-local-apks-cros dev-util/android-tools dev-util/android-uiautomator-server ) net-misc/curl cups? ( net-print/ippsample ) sys-apps/memtester sys-apps/rootdev virtual/udev app-arch/tar
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	tast-bundle	826225bcc121e73e6eeaf0152bfea17a	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=152aa5620c280c4250d7bcf58e4b08eb
diff --git a/metadata/md5-cache/chromeos-base/tast-local-tests-cros-9999 b/metadata/md5-cache/chromeos-base/tast-local-tests-cros-9999
index 0775746..23ece26 100644
--- a/metadata/md5-cache/chromeos-base/tast-local-tests-cros-9999
+++ b/metadata/md5-cache/chromeos-base/tast-local-tests-cros-9999
@@ -1,14 +1,14 @@
-BDEPEND=dev-vcs/git
+BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile info install postinst prepare setup test unpack
 DEPEND=chromeos-base/tast-build-deps:= dev-lang/go dev-go/crypto
 DESCRIPTION=Bundle of local integration tests for Chrome OS
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast-tests/
-IUSE=arc chromeless_tty chromeless_tests cups cros_host cros_workon_tree_
+IUSE=arc chromeless_tty chromeless_tests cups cros_host cros_workon_tree_ cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=Apache-2.0 BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/policy-testserver chromeos-base/tast-local-helpers-cros chromeos-base/tast-tests-local-data chromeos-base/virtual-usb-printer chromeos-base/wprgo !chromeless_tty? ( !chromeless_tests? ( chromeos-base/drm-tests ) ) dev-libs/openssl:0= arc? ( chromeos-base/tast-local-apks-cros dev-util/android-tools dev-util/android-uiautomator-server ) net-misc/curl cups? ( net-print/ippsample ) sys-apps/memtester sys-apps/rootdev virtual/udev app-arch/tar
+PROPERTIES=live live
+RDEPEND=chromeos-base/policy-testserver chromeos-base/tast-local-helpers-cros chromeos-base/tast-tests-local-data chromeos-base/virtual-usb-printer chromeos-base/wprgo !chromeless_tty? ( !chromeless_tests? ( chromeos-base/drm-tests ) ) dev-libs/openssl:0= dev-python/pyftdi arc? ( chromeos-base/tast-local-apks-cros dev-util/android-tools dev-util/android-uiautomator-server ) net-misc/curl cups? ( net-print/ippsample ) sys-apps/memtester sys-apps/rootdev virtual/udev app-arch/tar
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	tast-bundle	826225bcc121e73e6eeaf0152bfea17a	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=098edbcd3592f8e0742fb438f1655272
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	tast-bundle	b98b8e2383f1767859fd623600c37ee4	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3d9547ffdef8f556e86e266d207b876d
diff --git a/metadata/md5-cache/chromeos-base/tast-proto-0.0.1-r339 b/metadata/md5-cache/chromeos-base/tast-proto-0.0.1-r339
deleted file mode 100644
index be0cbbd..0000000
--- a/metadata/md5-cache/chromeos-base/tast-proto-0.0.1-r339
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst setup test unpack
-DEPEND=dev-lang/go
-DESCRIPTION=Provides go bindings to proto APIs for tast
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast/
-IUSE=cros_host cros_workon_tree_22dce69eb9b87f1074930ff8ca5592eb2312c7da
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=db0154a55750a5ad492e57cac33387d8
diff --git a/metadata/md5-cache/chromeos-base/tast-proto-0.0.1-r509 b/metadata/md5-cache/chromeos-base/tast-proto-0.0.1-r509
new file mode 100644
index 0000000..28a00f6
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/tast-proto-0.0.1-r509
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst setup test unpack
+DEPEND=dev-go/protobuf-legacy-api dev-go/text dev-lang/go
+DESCRIPTION=Provides go bindings to proto APIs for tast
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast/
+IUSE=cros_host cros_workon_tree_85ff64bf9199aa5473db461312b3208004cbb7e0
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0bb9c3e68a28800fa7d47a5758c87b01
diff --git a/metadata/md5-cache/chromeos-base/tast-proto-9999 b/metadata/md5-cache/chromeos-base/tast-proto-9999
index b210627..9163fb5 100644
--- a/metadata/md5-cache/chromeos-base/tast-proto-9999
+++ b/metadata/md5-cache/chromeos-base/tast-proto-9999
@@ -1,6 +1,6 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile info install postinst setup test unpack
-DEPEND=dev-lang/go
+DEPEND=dev-go/protobuf-legacy-api dev-go/text dev-lang/go
 DESCRIPTION=Provides go bindings to proto APIs for tast
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast/
@@ -9,5 +9,5 @@
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=4dc9ce6298f3a9563c21660f9f444f97
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f7fe13f5f0690dd0e412ac723f48f980
diff --git a/metadata/md5-cache/chromeos-base/tast-remote-tests-1 b/metadata/md5-cache/chromeos-base/tast-remote-tests-1
new file mode 100644
index 0000000..653db8a
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/tast-remote-tests-1
@@ -0,0 +1,10 @@
+DEFINED_PHASES=-
+DEPEND=chromeos-base/tast-remote-tests-cros virtual/tast-remote-tests
+DESCRIPTION=All Tast remote test bundles
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast/
+KEYWORDS=*
+LICENSE=Apache-2.0 BSD-Google
+RDEPEND=chromeos-base/tast-remote-tests-cros virtual/tast-remote-tests
+SLOT=0
+_md5_=8248af8eb7659e9597a6fd21b0125afc
diff --git a/metadata/md5-cache/chromeos-base/tast-remote-tests-1-r1 b/metadata/md5-cache/chromeos-base/tast-remote-tests-1-r1
new file mode 100644
index 0000000..653db8a
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/tast-remote-tests-1-r1
@@ -0,0 +1,10 @@
+DEFINED_PHASES=-
+DEPEND=chromeos-base/tast-remote-tests-cros virtual/tast-remote-tests
+DESCRIPTION=All Tast remote test bundles
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast/
+KEYWORDS=*
+LICENSE=Apache-2.0 BSD-Google
+RDEPEND=chromeos-base/tast-remote-tests-cros virtual/tast-remote-tests
+SLOT=0
+_md5_=8248af8eb7659e9597a6fd21b0125afc
diff --git a/metadata/md5-cache/chromeos-base/tast-remote-tests-cros-0.0.2-r11980 b/metadata/md5-cache/chromeos-base/tast-remote-tests-cros-0.0.2-r11980
new file mode 100644
index 0000000..7867bd6
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/tast-remote-tests-cros-0.0.2-r11980
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile info install postinst prepare setup test unpack
+DEPEND=chromeos-base/tast-build-deps:= dev-lang/go dev-go/crypto
+DESCRIPTION=Bundle of remote integration tests for Chrome OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast-tests/
+IUSE=cros_host cros_workon_tree_d5539da7b776f8c67f3445ec0d236f0d6c0878dc_85ff64bf9199aa5473db461312b3208004cbb7e0_3b88e01b4c689a52c6a8eed97043023877ad2278 cros_host cros_workon_tree_d5539da7b776f8c67f3445ec0d236f0d6c0878dc_85ff64bf9199aa5473db461312b3208004cbb7e0_3b88e01b4c689a52c6a8eed97043023877ad2278
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/tast-tests-remote-data dev-python/pillow media-libs/opencv app-arch/tar
+SLOT=0/0.0.2-r11980
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	tast-bundle	b98b8e2383f1767859fd623600c37ee4	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ae79ce8a8690162116b0dec570d866b9
diff --git a/metadata/md5-cache/chromeos-base/tast-remote-tests-cros-0.0.2-r9666 b/metadata/md5-cache/chromeos-base/tast-remote-tests-cros-0.0.2-r9666
deleted file mode 100644
index b91fc97..0000000
--- a/metadata/md5-cache/chromeos-base/tast-remote-tests-cros-0.0.2-r9666
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst prepare setup test unpack
-DEPEND=chromeos-base/tast-build-deps:= dev-lang/go dev-go/crypto
-DESCRIPTION=Bundle of remote integration tests for Chrome OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast-tests/
-IUSE=cros_host cros_workon_tree_e80e7356b3a8ed509575ebbf44ab929c19a37fe4_22dce69eb9b87f1074930ff8ca5592eb2312c7da_dad0497090bce4480ce6b88ada1f4187c960ccf2
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/tast-tests-remote-data dev-python/pillow media-libs/opencv app-arch/tar
-SLOT=0/0.0.2-r9666
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	tast-bundle	826225bcc121e73e6eeaf0152bfea17a	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e5965a2b33693860273662796de64cfe
diff --git a/metadata/md5-cache/chromeos-base/tast-remote-tests-cros-9999 b/metadata/md5-cache/chromeos-base/tast-remote-tests-cros-9999
index 6e293fa..613087b 100644
--- a/metadata/md5-cache/chromeos-base/tast-remote-tests-cros-9999
+++ b/metadata/md5-cache/chromeos-base/tast-remote-tests-cros-9999
@@ -1,14 +1,14 @@
-BDEPEND=dev-vcs/git
+BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile info install postinst prepare setup test unpack
 DEPEND=chromeos-base/tast-build-deps:= dev-lang/go dev-go/crypto
 DESCRIPTION=Bundle of remote integration tests for Chrome OS
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast-tests/
-IUSE=cros_host cros_workon_tree_
+IUSE=cros_host cros_workon_tree_ cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=BSD-Google
-PROPERTIES=live
+PROPERTIES=live live
 RDEPEND=chromeos-base/tast-tests-remote-data dev-python/pillow media-libs/opencv app-arch/tar
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	tast-bundle	826225bcc121e73e6eeaf0152bfea17a	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	tast-bundle	b98b8e2383f1767859fd623600c37ee4	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=7fb38036027bed719eb60450f54e5a4e
diff --git a/metadata/md5-cache/chromeos-base/tast-tests-local-data-0.0.1-r1999 b/metadata/md5-cache/chromeos-base/tast-tests-local-data-0.0.1-r1999
deleted file mode 100644
index 9e845f4..0000000
--- a/metadata/md5-cache/chromeos-base/tast-tests-local-data-0.0.1-r1999
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install setup unpack
-DESCRIPTION=Data files for local Tast tests
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast-tests
-IUSE=cros_host cros_workon_tree_bf7d7e0b2358c49e5512f15ffd2fd1d1ead3238b
-KEYWORDS=*
-LICENSE=BSD-Google GPL-3
-PROPERTIES=live
-RDEPEND=!<chromeos-base/tast-local-tests-cros-0.0.2
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	tast-bundle-data	8a38f8cda493ae24c6e77f86a49a92cc	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9fe6ee56f6392ddf7737cf83d071dd3a
diff --git a/metadata/md5-cache/chromeos-base/tast-tests-local-data-0.0.1-r3975 b/metadata/md5-cache/chromeos-base/tast-tests-local-data-0.0.1-r3975
new file mode 100644
index 0000000..fde08cf
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/tast-tests-local-data-0.0.1-r3975
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Data files for local Tast tests
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast-tests
+IUSE=cros_host cros_workon_tree_f7feac3c194c0c3700532bb5c98ffec822a2840b
+KEYWORDS=*
+LICENSE=BSD-Google GPL-3
+PROPERTIES=live
+RDEPEND=!<chromeos-base/tast-local-tests-cros-0.0.2
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	tast-bundle-data	8a38f8cda493ae24c6e77f86a49a92cc	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ab28b72a984518fd42694df12de6551a
diff --git a/metadata/md5-cache/chromeos-base/tast-tests-local-data-9999 b/metadata/md5-cache/chromeos-base/tast-tests-local-data-9999
index 9837dca..a5fda7d 100644
--- a/metadata/md5-cache/chromeos-base/tast-tests-local-data-9999
+++ b/metadata/md5-cache/chromeos-base/tast-tests-local-data-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=!<chromeos-base/tast-local-tests-cros-0.0.2
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	tast-bundle-data	8a38f8cda493ae24c6e77f86a49a92cc	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	tast-bundle-data	8a38f8cda493ae24c6e77f86a49a92cc	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=d3f062e5029f897e90013ec39293f29b
diff --git a/metadata/md5-cache/chromeos-base/tast-tests-remote-data-0.0.1-r2259 b/metadata/md5-cache/chromeos-base/tast-tests-remote-data-0.0.1-r2259
deleted file mode 100644
index 01ed004..0000000
--- a/metadata/md5-cache/chromeos-base/tast-tests-remote-data-0.0.1-r2259
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install setup unpack
-DEPEND=sys-firmware/ap-firmware-config:=
-DESCRIPTION=Data files for remote Tast tests
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast-tests
-IUSE=cros_host cros_workon_tree_a234b9a3a96d866af1137454e23e2d9020253b2b
-KEYWORDS=*
-LICENSE=BSD-Google GPL-3
-PROPERTIES=live
-RDEPEND=!<chromeos-base/tast-remote-tests-cros-0.0.2
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	tast-bundle-data	8a38f8cda493ae24c6e77f86a49a92cc	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=646e01b6c045c4d1efede71cc5995d95
diff --git a/metadata/md5-cache/chromeos-base/tast-tests-remote-data-0.0.1-r4472 b/metadata/md5-cache/chromeos-base/tast-tests-remote-data-0.0.1-r4472
new file mode 100644
index 0000000..093e639
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/tast-tests-remote-data-0.0.1-r4472
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install setup unpack
+DEPEND=sys-firmware/ap-firmware-config:=
+DESCRIPTION=Data files for remote Tast tests
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast-tests
+IUSE=cros_host cros_workon_tree_42ff5fb36233d8f67bb7424bb1d48a72a503a478
+KEYWORDS=*
+LICENSE=BSD-Google GPL-3
+PROPERTIES=live
+RDEPEND=!<chromeos-base/tast-remote-tests-cros-0.0.2
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	tast-bundle-data	8a38f8cda493ae24c6e77f86a49a92cc	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=db23f4ddc2541c5f8e1e2369b1e771bd
diff --git a/metadata/md5-cache/chromeos-base/tast-tests-remote-data-9999 b/metadata/md5-cache/chromeos-base/tast-tests-remote-data-9999
index d6c0a7c..271c9cd 100644
--- a/metadata/md5-cache/chromeos-base/tast-tests-remote-data-9999
+++ b/metadata/md5-cache/chromeos-base/tast-tests-remote-data-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=!<chromeos-base/tast-remote-tests-cros-0.0.2
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	tast-bundle-data	8a38f8cda493ae24c6e77f86a49a92cc	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	tast-bundle-data	8a38f8cda493ae24c6e77f86a49a92cc	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=c8a5a14ecdbbb826904f3ff21e95f607
diff --git a/metadata/md5-cache/chromeos-base/tast-use-flags-1-r72 b/metadata/md5-cache/chromeos-base/tast-use-flags-1-r72
deleted file mode 100644
index 96f860d..0000000
--- a/metadata/md5-cache/chromeos-base/tast-use-flags-1-r72
+++ /dev/null
@@ -1,11 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install setup unpack
-DESCRIPTION=Text file listing USE flags for Tast test dependencies
-EAPI=7
-IUSE=amd64 android-container-pi android-vm-pi android-vm-rvc arc arc-camera1 arc-camera3 arc-launched-32bit-abi arcpp arcvm arm arm64 asan betty biod borealis_host camera_feature_hdrnet cdm_factory_daemon cert_provision cheets_user cheets_user_64 cheets_userdebug cheets_userdebug_64 chrome_dcheck chrome_internal chrome_media chromeless_tty containers coresched cr50_onboard +cras crosvm-gpu cups diagnostics disable_cros_video_decoder dptf elm-kernelnext direncription_allow_v2 dlc dlc_test +drivefs drm_atomic elm fizz force_breakpad fwupd gboard_decoder grunt hammerd hana hana-kernelnext houdini houdini64 hps iioservice inference_accuracy_eval internal iwlwifi_rescan kernel-4_4 kernel-4_14 kernel-4_19 kernel-5_4 kernel-5_10 kernel-5_15 kernel-upstream kukui kvm_host kvm_transition lvm_stateful_partition lxc manatee +mbo memd ml_benchmark_drivers ml_service moblab mocktpm modemfwd msan +nacl ndk_translation ndk_translation64 nnapi no_factory_flow nvme nyan_kitty ocr octopus ondevice_document_scanner ondevice_handwriting ondevice_speech pinweaver_csme pita racc rialto rk3399 sata selinux selinux_experimental sirenia skate smartdim snow spring +storage_wearout_detect tablet_form_factor tpm2 tpm2_simulator tpm_dynamic transparent_hugepage ubsan unibuild usbguard v4l2_codec vaapi veyron_mickey veyron_rialto video_cards_amdgpu video_cards_iHD video_cards_intel video_cards_mediatek video_cards_msm virtio_gpu vulkan watchdog wifi_hostap_test wilco +wired_8021x +wpa3_sae zork cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=46ae1fdc6d01176c96efe7a26ed8e288
diff --git a/metadata/md5-cache/chromeos-base/tast-use-flags-1-r84 b/metadata/md5-cache/chromeos-base/tast-use-flags-1-r84
new file mode 100644
index 0000000..8b8e307
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/tast-use-flags-1-r84
@@ -0,0 +1,11 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Text file listing USE flags for Tast test dependencies
+EAPI=7
+IUSE=amd64 android-container-pi android-vm-pi android-vm-rvc android-vm-tm arc arc-camera1 arc-camera3 arc-launched-32bit-abi arcpp arcvm arcvm_virtio_blk_data arm arm64 asan betty biod borealis_host camera_feature_auto_framing camera_feature_hdrnet camera_feature_portrait_mode cdm_factory_daemon cert_provision cheets_user cheets_user_64 cheets_userdebug cheets_userdebug_64 chrome_dcheck chrome_internal chrome_media chromeless_tty containers coresched cr50_onboard +cras crosvm-gpu cups diagnostics disable_cros_video_decoder dptf elm-kernelnext direncription_allow_v2 dlc dlc_test +drivefs drm_atomic elm fizz flex_id force_breakpad fwupd grunt hammerd hana hana-kernelnext houdini houdini64 hps iioservice inference_accuracy_eval internal iwlwifi_rescan kernel-4_4 kernel-4_14 kernel-4_19 kernel-5_4 kernel-5_10 kernel-5_15 kernel-upstream kukui kvm_host lvm_stateful_partition lxc manatee +mbo memd ml_benchmark_drivers ml_service moblab mocktpm modemfwd mojo_service_manager msan +nacl ndk_translation ndk_translation64 nnapi no_factory_flow nvme nyan_kitty ocr octopus ondevice_document_scanner ondevice_document_scanner_dlc ondevice_grammar ondevice_handwriting ondevice_speech ondevice_text_suggestions pinweaver_csme pita racc rialto rk3399 sata selinux selinux_experimental sirenia skate smartdim snow spring +storage_wearout_detect tablet_form_factor ti50_onboard tpm2 tpm2_simulator tpm_dynamic transparent_hugepage ubsan unibuild usbguard v4l2_codec vaapi veyron_mickey veyron_rialto video_cards_amdgpu video_cards_iHD video_cards_intel video_cards_mediatek video_cards_msm virtio_gpu vkms vulkan watchdog wifi_hostap_test wilco +wired_8021x +wpa3_sae zork cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b913099d0cf211097f282804307252fb
diff --git a/metadata/md5-cache/chromeos-base/tast-use-flags-9999 b/metadata/md5-cache/chromeos-base/tast-use-flags-9999
index 9e09e02..d0adc5b 100644
--- a/metadata/md5-cache/chromeos-base/tast-use-flags-9999
+++ b/metadata/md5-cache/chromeos-base/tast-use-flags-9999
@@ -2,10 +2,10 @@
 DEFINED_PHASES=info install setup unpack
 DESCRIPTION=Text file listing USE flags for Tast test dependencies
 EAPI=7
-IUSE=amd64 android-container-pi android-vm-pi android-vm-rvc arc arc-camera1 arc-camera3 arc-launched-32bit-abi arcpp arcvm arm arm64 asan betty biod borealis_host camera_feature_hdrnet cdm_factory_daemon cert_provision cheets_user cheets_user_64 cheets_userdebug cheets_userdebug_64 chrome_dcheck chrome_internal chrome_media chromeless_tty containers coresched cr50_onboard +cras crosvm-gpu cups diagnostics disable_cros_video_decoder dptf elm-kernelnext direncription_allow_v2 dlc dlc_test +drivefs drm_atomic elm fizz force_breakpad fwupd gboard_decoder grunt hammerd hana hana-kernelnext houdini houdini64 hps iioservice inference_accuracy_eval internal iwlwifi_rescan kernel-4_4 kernel-4_14 kernel-4_19 kernel-5_4 kernel-5_10 kernel-5_15 kernel-upstream kukui kvm_host kvm_transition lvm_stateful_partition lxc manatee +mbo memd ml_benchmark_drivers ml_service moblab mocktpm modemfwd msan +nacl ndk_translation ndk_translation64 nnapi no_factory_flow nvme nyan_kitty ocr octopus ondevice_document_scanner ondevice_handwriting ondevice_speech pinweaver_csme pita racc rialto rk3399 sata selinux selinux_experimental sirenia skate smartdim snow spring +storage_wearout_detect tablet_form_factor tpm2 tpm2_simulator tpm_dynamic transparent_hugepage ubsan unibuild usbguard v4l2_codec vaapi veyron_mickey veyron_rialto video_cards_amdgpu video_cards_iHD video_cards_intel video_cards_mediatek video_cards_msm virtio_gpu vulkan watchdog wifi_hostap_test wilco +wired_8021x +wpa3_sae zork cros_host cros_workon_tree_
+IUSE=amd64 android-container-pi android-vm-pi android-vm-rvc android-vm-tm arc arc-camera1 arc-camera3 arc-launched-32bit-abi arcpp arcvm arcvm_virtio_blk_data arm arm64 asan betty biod borealis_host camera_feature_auto_framing camera_feature_hdrnet camera_feature_portrait_mode cdm_factory_daemon cert_provision cheets_user cheets_user_64 cheets_userdebug cheets_userdebug_64 chrome_dcheck chrome_internal chrome_media chromeless_tty containers coresched cr50_onboard +cras crosvm-gpu cups diagnostics disable_cros_video_decoder dptf elm-kernelnext direncription_allow_v2 dlc dlc_test +drivefs drm_atomic elm fizz flex_id force_breakpad fwupd grunt hammerd hana hana-kernelnext houdini houdini64 hps iioservice inference_accuracy_eval internal iwlwifi_rescan kernel-4_4 kernel-4_14 kernel-4_19 kernel-5_4 kernel-5_10 kernel-5_15 kernel-upstream kukui kvm_host lvm_stateful_partition lxc manatee +mbo memd ml_benchmark_drivers ml_service moblab mocktpm modemfwd mojo_service_manager msan +nacl ndk_translation ndk_translation64 nnapi no_factory_flow nvme nyan_kitty ocr octopus ondevice_document_scanner ondevice_document_scanner_dlc ondevice_grammar ondevice_handwriting ondevice_speech ondevice_text_suggestions pinweaver_csme pita racc rialto rk3399 sata selinux selinux_experimental sirenia skate smartdim snow spring +storage_wearout_detect tablet_form_factor ti50_onboard tpm2 tpm2_simulator tpm_dynamic transparent_hugepage ubsan unibuild usbguard v4l2_codec vaapi veyron_mickey veyron_rialto video_cards_amdgpu video_cards_iHD video_cards_intel video_cards_mediatek video_cards_msm virtio_gpu vkms vulkan watchdog wifi_hostap_test wilco +wired_8021x +wpa3_sae zork cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5777919550826cdca64a197e5ca6d76a
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=110a96e4c763cbfa38970a7cc9b17e67
diff --git a/metadata/md5-cache/chromeos-base/tast-vars-0.0.1-r1 b/metadata/md5-cache/chromeos-base/tast-vars-0.0.1-r1
index 18b3222..0078775 100644
--- a/metadata/md5-cache/chromeos-base/tast-vars-0.0.1-r1
+++ b/metadata/md5-cache/chromeos-base/tast-vars-0.0.1-r1
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=virtual/tast-vars
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=d5b97aca55555b1f63821bf4701e6371
diff --git a/metadata/md5-cache/chromeos-base/tast-vars-9999 b/metadata/md5-cache/chromeos-base/tast-vars-9999
index e4b751a..449353f 100644
--- a/metadata/md5-cache/chromeos-base/tast-vars-9999
+++ b/metadata/md5-cache/chromeos-base/tast-vars-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=virtual/tast-vars
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=1ba04dc57cf392b99a5b4668bbe04b68
diff --git a/metadata/md5-cache/chromeos-base/termina-dlc-101.14539.0.0-r1 b/metadata/md5-cache/chromeos-base/termina-dlc-101.14539.0.0-r1
deleted file mode 100644
index d9a562b..0000000
--- a/metadata/md5-cache/chromeos-base/termina-dlc-101.14539.0.0-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile info install setup unpack
-DESCRIPTION=DLC package for termina.
-EAPI=7
-IUSE=kvm_host dlc amd64 arm manatee cros_host cros_workon_tree_
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc kvm_host ^^ ( amd64 arm arm64 )
-RESTRICT=nomirror
-SLOT=0
-SRC_URI=amd64? ( gs://termina-component-testing/uprev-test/amd64/101.14539.0.0/guest-vm-base.tbz -> termina_amd64.tbz ) arm? ( gs://termina-component-testing/uprev-test/arm/101.14539.0.0/guest-vm-base.tbz -> termina_arm.tbz ) arm64? ( gs://termina-component-testing/uprev-test/arm/101.14539.0.0/guest-vm-base.tbz -> termina_arm.tbz )
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	dlc	980ce13d2129fa5614d43ffa9d1bb90f	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5d527d47f1d5496affc50f7ac4afc927
diff --git a/metadata/md5-cache/chromeos-base/termina-dlc-106.15036.0.0-r1 b/metadata/md5-cache/chromeos-base/termina-dlc-106.15036.0.0-r1
new file mode 100644
index 0000000..92c6f44
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/termina-dlc-106.15036.0.0-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile info install setup unpack
+DESCRIPTION=DLC package for termina.
+EAPI=7
+IUSE=kvm_host dlc amd64 arm manatee cros_host cros_workon_tree_
+KEYWORDS=*
+LICENSE=BSD-Google
+REQUIRED_USE=dlc kvm_host ^^ ( amd64 arm arm64 )
+RESTRICT=nomirror
+SLOT=0
+SRC_URI=amd64? ( gs://termina-component-testing/uprev-test/amd64/106.15036.0.0/guest-vm-base.tbz -> termina_amd64.tbz ) arm? ( gs://termina-component-testing/uprev-test/arm/106.15036.0.0/guest-vm-base.tbz -> termina_arm.tbz ) arm64? ( gs://termina-component-testing/uprev-test/arm/106.15036.0.0/guest-vm-base.tbz -> termina_arm.tbz )
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	dlc	980ce13d2129fa5614d43ffa9d1bb90f	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=041835245d1904c0e07540b8b437f369
diff --git a/metadata/md5-cache/chromeos-base/termina-dlc-9999 b/metadata/md5-cache/chromeos-base/termina-dlc-9999
index 8d8bb80..41c1ca4 100644
--- a/metadata/md5-cache/chromeos-base/termina-dlc-9999
+++ b/metadata/md5-cache/chromeos-base/termina-dlc-9999
@@ -7,5 +7,5 @@
 REQUIRED_USE=dlc kvm_host ^^ ( amd64 arm arm64 )
 RESTRICT=nomirror
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	dlc	980ce13d2129fa5614d43ffa9d1bb90f	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=7c93a20f25492ffa6f48f9e7ac899eff
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	dlc	980ce13d2129fa5614d43ffa9d1bb90f	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b70ff5c1fdf38106ae19906ce4f529fd
diff --git a/metadata/md5-cache/chromeos-base/termina-tools-dlc-101.14539.0.0-r1 b/metadata/md5-cache/chromeos-base/termina-tools-dlc-101.14539.0.0-r1
deleted file mode 100644
index b17a47f..0000000
--- a/metadata/md5-cache/chromeos-base/termina-tools-dlc-101.14539.0.0-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile info install setup unpack
-DESCRIPTION=DLC package for vm tools for termina.
-EAPI=7
-IUSE=kvm_host dlc amd64 arm cros_host cros_workon_tree_
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc kvm_host ^^ ( amd64 arm arm64 )
-RESTRICT=nomirror
-SLOT=0
-SRC_URI=amd64? ( gs://termina-component-testing/uprev-test/amd64/101.14539.0.0/guest-vm-base.tbz -> termina_amd64.tbz ) arm? ( gs://termina-component-testing/uprev-test/arm/101.14539.0.0/guest-vm-base.tbz -> termina_arm.tbz ) arm64? ( gs://termina-component-testing/uprev-test/arm/101.14539.0.0/guest-vm-base.tbz -> termina_arm.tbz )
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	dlc	980ce13d2129fa5614d43ffa9d1bb90f	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c6103b567993473b609418261e0119a3
diff --git a/metadata/md5-cache/chromeos-base/termina-tools-dlc-106.15036.0.0-r1 b/metadata/md5-cache/chromeos-base/termina-tools-dlc-106.15036.0.0-r1
new file mode 100644
index 0000000..95a4f97
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/termina-tools-dlc-106.15036.0.0-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile info install setup unpack
+DESCRIPTION=DLC package for vm tools for termina.
+EAPI=7
+IUSE=kvm_host dlc amd64 arm cros_host cros_workon_tree_
+KEYWORDS=*
+LICENSE=BSD-Google
+REQUIRED_USE=dlc kvm_host ^^ ( amd64 arm arm64 )
+RESTRICT=nomirror
+SLOT=0
+SRC_URI=amd64? ( gs://termina-component-testing/uprev-test/amd64/106.15036.0.0/guest-vm-base.tbz -> termina_amd64.tbz ) arm? ( gs://termina-component-testing/uprev-test/arm/106.15036.0.0/guest-vm-base.tbz -> termina_arm.tbz ) arm64? ( gs://termina-component-testing/uprev-test/arm/106.15036.0.0/guest-vm-base.tbz -> termina_arm.tbz )
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	dlc	980ce13d2129fa5614d43ffa9d1bb90f	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c6103b567993473b609418261e0119a3
diff --git a/metadata/md5-cache/chromeos-base/termina-tools-dlc-9999 b/metadata/md5-cache/chromeos-base/termina-tools-dlc-9999
index 55245a9..cae23b3 100644
--- a/metadata/md5-cache/chromeos-base/termina-tools-dlc-9999
+++ b/metadata/md5-cache/chromeos-base/termina-tools-dlc-9999
@@ -7,5 +7,5 @@
 REQUIRED_USE=dlc kvm_host ^^ ( amd64 arm arm64 )
 RESTRICT=nomirror
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	dlc	980ce13d2129fa5614d43ffa9d1bb90f	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	dlc	980ce13d2129fa5614d43ffa9d1bb90f	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=6c3e3a11d1b4f5c506818c4c5450d12e
diff --git a/metadata/md5-cache/chromeos-base/termina_container_tools-0.0.1 b/metadata/md5-cache/chromeos-base/termina_container_tools-0.0.1
index 74472af..0d80639 100644
--- a/metadata/md5-cache/chromeos-base/termina_container_tools-0.0.1
+++ b/metadata/md5-cache/chromeos-base/termina_container_tools-0.0.1
@@ -8,5 +8,5 @@
 LICENSE=BSD-Google
 RDEPEND=x11-themes/cros-adapta >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=125630f460c69fd378430b9b94b71d5c
diff --git a/metadata/md5-cache/chromeos-base/termina_container_tools-0.0.1-r30 b/metadata/md5-cache/chromeos-base/termina_container_tools-0.0.1-r30
index 74472af..0d80639 100644
--- a/metadata/md5-cache/chromeos-base/termina_container_tools-0.0.1-r30
+++ b/metadata/md5-cache/chromeos-base/termina_container_tools-0.0.1-r30
@@ -8,5 +8,5 @@
 LICENSE=BSD-Google
 RDEPEND=x11-themes/cros-adapta >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=125630f460c69fd378430b9b94b71d5c
diff --git a/metadata/md5-cache/chromeos-base/test-server-0.0.1-r138 b/metadata/md5-cache/chromeos-base/test-server-0.0.1-r138
deleted file mode 100644
index dc2f671..0000000
--- a/metadata/md5-cache/chromeos-base/test-server-0.0.1-r138
+++ /dev/null
@@ -1,12 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info setup unpack
-DESCRIPTION=Obsolete (to remove)
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src
-IUSE=cros_host cros_workon_tree_deaf62ac70faaf18ace949c7830a18f80afaea89
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-SLOT=0/0.0.1-r138
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c5ecd98f36b030ae9a99e6a192d00078
diff --git a/metadata/md5-cache/chromeos-base/test-server-0.0.1-r215 b/metadata/md5-cache/chromeos-base/test-server-0.0.1-r215
new file mode 100644
index 0000000..da0a7a3
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/test-server-0.0.1-r215
@@ -0,0 +1,12 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info setup unpack
+DESCRIPTION=Obsolete (to remove)
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src
+IUSE=cros_host cros_workon_tree_451aa817520c1ec50b61a36767a7ac50517b5f64
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+SLOT=0/0.0.1-r215
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=05cf53d12cc37b68a97c0a09d8c48ce0
diff --git a/metadata/md5-cache/chromeos-base/test-server-9999 b/metadata/md5-cache/chromeos-base/test-server-9999
index 6dcb039..86ab60a 100644
--- a/metadata/md5-cache/chromeos-base/test-server-9999
+++ b/metadata/md5-cache/chromeos-base/test-server-9999
@@ -8,5 +8,5 @@
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=db47a2d64bf9d0c59b2a0f0b540df32f
diff --git a/metadata/md5-cache/chromeos-base/timberslide-0.0.1-r1657 b/metadata/md5-cache/chromeos-base/timberslide-0.0.1-r1657
deleted file mode 100644
index fe5dc49..0000000
--- a/metadata/md5-cache/chromeos-base/timberslide-0.0.1-r1657
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/re2:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=EC log concatenator for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/timberslide/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_03fa7b4f0634999ce6aec1391ba9d90f1b0395dc_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_03fa7b4f0634999ce6aec1391ba9d90f1b0395dc_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/re2:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r1657
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=fe83e8b2980d8d621de61437230c4dc2
diff --git a/metadata/md5-cache/chromeos-base/timberslide-0.0.1-r1754 b/metadata/md5-cache/chromeos-base/timberslide-0.0.1-r1754
new file mode 100644
index 0000000..1541f3e
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/timberslide-0.0.1-r1754
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/re2:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=EC log concatenator for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/timberslide/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_03fa7b4f0634999ce6aec1391ba9d90f1b0395dc_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_03fa7b4f0634999ce6aec1391ba9d90f1b0395dc_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/re2:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r1754
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=79b37228fc00d9415cad8329487dc6cf
diff --git a/metadata/md5-cache/chromeos-base/timberslide-9999 b/metadata/md5-cache/chromeos-base/timberslide-9999
index 123fc58..e29b4f2 100644
--- a/metadata/md5-cache/chromeos-base/timberslide-9999
+++ b/metadata/md5-cache/chromeos-base/timberslide-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/re2:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/re2:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=EC log concatenator for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/timberslide/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/timberslide/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/re2:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c0f48ce7fee60e686a06f75074b26608
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=32bcb40662dfef8bf0e2f088215e1809
diff --git a/metadata/md5-cache/chromeos-base/toolchain-tests-0.0.1-r6117 b/metadata/md5-cache/chromeos-base/toolchain-tests-0.0.1-r6117
deleted file mode 100644
index 03a25e8..0000000
--- a/metadata/md5-cache/chromeos-base/toolchain-tests-0.0.1-r6117
+++ /dev/null
@@ -1,12 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info setup unpack
-DESCRIPTION=Compilation and runtime tests for toolchain
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
-IUSE=cros_host cros_workon_tree_72d10c78adcc6d635f7cb9fff4b87ac70c16a7b2
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-SLOT=0/0.0.1-r6117
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a4e23aa9a8bf0700fb20eba0cc04dd28
diff --git a/metadata/md5-cache/chromeos-base/toolchain-tests-0.0.1-r6828 b/metadata/md5-cache/chromeos-base/toolchain-tests-0.0.1-r6828
new file mode 100644
index 0000000..8c3e8a3
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/toolchain-tests-0.0.1-r6828
@@ -0,0 +1,12 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info setup test unpack
+DESCRIPTION=Compilation and runtime tests for toolchain
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
+IUSE=cros_host cros_workon_tree_e2c200b37b72780b72fd07a23555aedf104222cf
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+SLOT=0/0.0.1-r6828
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=62628648a4eaabdccd20a411b919497d
diff --git a/metadata/md5-cache/chromeos-base/toolchain-tests-9999 b/metadata/md5-cache/chromeos-base/toolchain-tests-9999
index 3250ee9..992b383 100644
--- a/metadata/md5-cache/chromeos-base/toolchain-tests-9999
+++ b/metadata/md5-cache/chromeos-base/toolchain-tests-9999
@@ -1,5 +1,5 @@
 BDEPEND=dev-vcs/git
-DEFINED_PHASES=info setup unpack
+DEFINED_PHASES=info setup test unpack
 DESCRIPTION=Compilation and runtime tests for toolchain
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/autotest/
@@ -8,5 +8,5 @@
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=df799c005a822500cb5cae1292160db3
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9d0676bf1c68f9745bb5811b1d3e03eb
diff --git a/metadata/md5-cache/chromeos-base/touch_firmware_calibration-0.0.1-r1010 b/metadata/md5-cache/chromeos-base/touch_firmware_calibration-0.0.1-r1010
new file mode 100644
index 0000000..dbe2de4
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/touch_firmware_calibration-0.0.1-r1010
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout virtual/pkgconfig
+DESCRIPTION=Touch Firmware Calibration
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/touch_firmware_calibration/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_55f3832e43104006d40fb50872f058e8cd27f233_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_55f3832e43104006d40fb50872f058e8cd27f233_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=fe6cddd393ed47e9d4cb436ae5578e45
diff --git a/metadata/md5-cache/chromeos-base/touch_firmware_calibration-0.0.1-r951 b/metadata/md5-cache/chromeos-base/touch_firmware_calibration-0.0.1-r951
deleted file mode 100644
index f2e4106..0000000
--- a/metadata/md5-cache/chromeos-base/touch_firmware_calibration-0.0.1-r951
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout virtual/pkgconfig
-DESCRIPTION=Touch Firmware Calibration
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/touch_firmware_calibration/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_c0f8db1d4e6470300faa1aca4149c872dd57c1ad_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_c0f8db1d4e6470300faa1aca4149c872dd57c1ad_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=b247bbd5c2d4af655f3eb2a4931b2cf1
diff --git a/metadata/md5-cache/chromeos-base/touch_firmware_calibration-9999 b/metadata/md5-cache/chromeos-base/touch_firmware_calibration-9999
index 999aead..4eaffa0 100644
--- a/metadata/md5-cache/chromeos-base/touch_firmware_calibration-9999
+++ b/metadata/md5-cache/chromeos-base/touch_firmware_calibration-9999
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout virtual/pkgconfig
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout virtual/pkgconfig
 DESCRIPTION=Touch Firmware Calibration
 EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/touch_firmware_calibration/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/touch_firmware_calibration/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=3f2d0d30f67da119cfdb592d8f5d1df9
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=a68437b82b147446706b87a521688c70
diff --git a/metadata/md5-cache/chromeos-base/touch_firmware_test-0.0.1-r120 b/metadata/md5-cache/chromeos-base/touch_firmware_test-0.0.1-r120
deleted file mode 100644
index 18bc9f2..0000000
--- a/metadata/md5-cache/chromeos-base/touch_firmware_test-0.0.1-r120
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/setuptools[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DESCRIPTION=Chromium OS multitouch utilities
-EAPI=7
-IUSE=-asan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_09eb58ea97822c5589c961d0bd338c40927ee224 cros-debug python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
-REQUIRED_USE=|| ( python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 )
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=74a5ce380c1907275838135bdcce8e7b
diff --git a/metadata/md5-cache/chromeos-base/touch_firmware_test-0.0.1-r123 b/metadata/md5-cache/chromeos-base/touch_firmware_test-0.0.1-r123
new file mode 100644
index 0000000..f7d8fc2
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/touch_firmware_test-0.0.1-r123
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DESCRIPTION=Chromium OS multitouch utilities
+EAPI=7
+IUSE=-asan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_90bdf7bf8277a134d32c41f8816b2551cceb66a3 cros-debug python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6d53da9be47088de7b12ce554d31a483
diff --git a/metadata/md5-cache/chromeos-base/touch_firmware_test-9999 b/metadata/md5-cache/chromeos-base/touch_firmware_test-9999
index e719d0c..668ca12 100644
--- a/metadata/md5-cache/chromeos-base/touch_firmware_test-9999
+++ b/metadata/md5-cache/chromeos-base/touch_firmware_test-9999
@@ -1,13 +1,13 @@
-BDEPEND=dev-vcs/git python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/setuptools[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
+BDEPEND=dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
 DEFINED_PHASES=compile configure info install prepare setup test unpack
 DESCRIPTION=Chromium OS multitouch utilities
 EAPI=7
-IUSE=-asan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
+IUSE=-asan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
-REQUIRED_USE=|| ( python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 )
+RDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=3ec2b337730ff30d554e3207edab5217
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c4e51cd9ac2409ae2879410bed723808
diff --git a/metadata/md5-cache/chromeos-base/touch_updater-0.0.1-r243 b/metadata/md5-cache/chromeos-base/touch_updater-0.0.1-r243
deleted file mode 100644
index 971f492..0000000
--- a/metadata/md5-cache/chromeos-base/touch_updater-0.0.1-r243
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install preinst setup unpack
-DEPEND=sys-apps/baselayout
-DESCRIPTION=Touch firmware and config updater
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=input_devices_synaptics input_devices_wacom input_devices_etphidiap input_devices_st input_devices_st_touchscreen input_devices_weida input_devices_goodix input_devices_sis input_devices_pixart input_devices_g2touch input_devices_cirque input_devices_elan_i2chid input_devices_melfas input_devices_emright input_devices_eps2pstiap input_devices_zinitix input_devices_himax input_devices_nvt_ts cros_host cros_workon_tree_824f3c5b3117a27dae643bee78a60aea65ef9b43_8be5f648b1d2ee7c4afaf96a61b010fed415df31
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/chromeos-touch-common input_devices_synaptics? ( chromeos-base/rmi4utils ) input_devices_wacom? ( chromeos-base/wacom_fw_flash ) input_devices_etphidiap? ( chromeos-base/chromeos-touch-etphidiap ) input_devices_st? ( chromeos-base/st_flash ) input_devices_st_touchscreen? ( chromeos-base/chromeos-touch-stupdate ) input_devices_weida? ( chromeos-base/weida_wdt_util ) input_devices_goodix? ( chromeos-base/gdix_hid_firmware_update ) input_devices_sis? ( chromeos-base/sisConsoletool ) input_devices_pixart? ( chromeos-base/pixart_tpfwup ) input_devices_g2touch? ( chromeos-base/g2update_tool ) input_devices_cirque? ( chromeos-base/cirque_fw_update ) input_devices_elan_i2chid? ( chromeos-base/elan_i2chid_tools ) input_devices_melfas? ( chromeos-base/mfs-console-tool ) input_devices_emright? ( chromeos-base/emright_fw_updater ) input_devices_eps2pstiap? ( chromeos-base/epstps2iap ) input_devices_zinitix? ( chromeos-base/zinitix_fw_updater ) input_devices_himax? ( chromeos-base/hx_hid_util ) input_devices_nvt_ts? ( chromeos-base/chromeos-nvt-touch-updater ) sys-apps/baselayout
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=74cf58e6951ce47ce2a5afac95f9363b
diff --git a/metadata/md5-cache/chromeos-base/touch_updater-0.0.1-r250 b/metadata/md5-cache/chromeos-base/touch_updater-0.0.1-r250
new file mode 100644
index 0000000..3e8b720
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/touch_updater-0.0.1-r250
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install preinst setup unpack
+DEPEND=sys-apps/baselayout
+DESCRIPTION=Touch firmware and config updater
+EAPI=7
+HOMEPAGE=https://www.chromium.org/chromium-os
+IUSE=input_devices_synaptics input_devices_wacom input_devices_etphidiap input_devices_st input_devices_st_touchscreen input_devices_weida input_devices_goodix input_devices_sis input_devices_pixart input_devices_g2touch input_devices_cirque input_devices_elan_i2chid input_devices_melfas input_devices_emright input_devices_eps2pstiap input_devices_zinitix input_devices_himax input_devices_nvt_ts cros_host cros_workon_tree_fd6d899d42e4b40b437dbb32dd304e68bdfdc583_10bc8533947cc221add91d7399b8a07827aec86e
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/chromeos-touch-common input_devices_synaptics? ( chromeos-base/rmi4utils ) input_devices_wacom? ( chromeos-base/wacom_fw_flash ) input_devices_etphidiap? ( chromeos-base/chromeos-touch-etphidiap ) input_devices_st? ( chromeos-base/st_flash ) input_devices_st_touchscreen? ( chromeos-base/chromeos-touch-stupdate ) input_devices_weida? ( chromeos-base/weida_wdt_util ) input_devices_goodix? ( chromeos-base/gdix_hid_firmware_update ) input_devices_sis? ( chromeos-base/sisConsoletool ) input_devices_pixart? ( chromeos-base/pixart_tpfwup ) input_devices_g2touch? ( chromeos-base/g2update_tool ) input_devices_cirque? ( chromeos-base/cirque_fw_update ) input_devices_elan_i2chid? ( chromeos-base/elan_i2chid_tools ) input_devices_melfas? ( chromeos-base/mfs-console-tool ) input_devices_emright? ( chromeos-base/emright_fw_updater ) input_devices_eps2pstiap? ( chromeos-base/epstps2iap ) input_devices_zinitix? ( chromeos-base/zinitix_fw_updater ) input_devices_himax? ( chromeos-base/hx_hid_util ) input_devices_nvt_ts? ( chromeos-base/chromeos-nvt-touch-updater ) sys-apps/baselayout
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=403e3b004d61864466fa7d2f58e2434d
diff --git a/metadata/md5-cache/chromeos-base/touch_updater-9999 b/metadata/md5-cache/chromeos-base/touch_updater-9999
index c4cf731..521034f 100644
--- a/metadata/md5-cache/chromeos-base/touch_updater-9999
+++ b/metadata/md5-cache/chromeos-base/touch_updater-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/chromeos-touch-common input_devices_synaptics? ( chromeos-base/rmi4utils ) input_devices_wacom? ( chromeos-base/wacom_fw_flash ) input_devices_etphidiap? ( chromeos-base/chromeos-touch-etphidiap ) input_devices_st? ( chromeos-base/st_flash ) input_devices_st_touchscreen? ( chromeos-base/chromeos-touch-stupdate ) input_devices_weida? ( chromeos-base/weida_wdt_util ) input_devices_goodix? ( chromeos-base/gdix_hid_firmware_update ) input_devices_sis? ( chromeos-base/sisConsoletool ) input_devices_pixart? ( chromeos-base/pixart_tpfwup ) input_devices_g2touch? ( chromeos-base/g2update_tool ) input_devices_cirque? ( chromeos-base/cirque_fw_update ) input_devices_elan_i2chid? ( chromeos-base/elan_i2chid_tools ) input_devices_melfas? ( chromeos-base/mfs-console-tool ) input_devices_emright? ( chromeos-base/emright_fw_updater ) input_devices_eps2pstiap? ( chromeos-base/epstps2iap ) input_devices_zinitix? ( chromeos-base/zinitix_fw_updater ) input_devices_himax? ( chromeos-base/hx_hid_util ) input_devices_nvt_ts? ( chromeos-base/chromeos-nvt-touch-updater ) sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
 _md5_=864f34f207cfedcd93e05c5834110b31
diff --git a/metadata/md5-cache/chromeos-base/tpm-0.0.1-r18 b/metadata/md5-cache/chromeos-base/tpm-0.0.1-r18
index 23002e3..9ff070c 100644
--- a/metadata/md5-cache/chromeos-base/tpm-0.0.1-r18
+++ b/metadata/md5-cache/chromeos-base/tpm-0.0.1-r18
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=app-crypt/trousers:=
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f96dbe507d44f244b66db61fda3792da
diff --git a/metadata/md5-cache/chromeos-base/tpm-9999 b/metadata/md5-cache/chromeos-base/tpm-9999
index 192f765..e97c9f1 100644
--- a/metadata/md5-cache/chromeos-base/tpm-9999
+++ b/metadata/md5-cache/chromeos-base/tpm-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=app-crypt/trousers:=
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f4d306e226a82704f5c61b62a26f4d70
diff --git a/metadata/md5-cache/chromeos-base/tpm-check-0.0.1-r2074 b/metadata/md5-cache/chromeos-base/tpm-check-0.0.1-r2074
deleted file mode 100644
index cd9249c..0000000
--- a/metadata/md5-cache/chromeos-base/tpm-check-0.0.1-r2074
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DESCRIPTION=tpm check test
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/vboot_reference/
-IUSE=+autotest +tests_hardware_TPMCheck cros_host cros_workon_tree_22dd0942e2590c2ea8b09bd8606689b6e5dc495c +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=autotest? ( chromeos-base/autotest )
-SLOT=0/0.0.1-r2074
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c587f8905484f1e0671f1ea2cca65df1
diff --git a/metadata/md5-cache/chromeos-base/tpm-check-0.0.1-r2142 b/metadata/md5-cache/chromeos-base/tpm-check-0.0.1-r2142
new file mode 100644
index 0000000..294f37c12
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/tpm-check-0.0.1-r2142
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst prepare setup unpack
+DESCRIPTION=tpm check test
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/vboot_reference/
+IUSE=+autotest +tests_hardware_TPMCheck cros_host cros_workon_tree_13350f1d92d867a643e89ff2eac4e50ed31c18ab +buildcheck autotest opengles
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=autotest? ( chromeos-base/autotest )
+SLOT=0/0.0.1-r2142
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=bd8a9653d78bb4936f81a9cdd9632988
diff --git a/metadata/md5-cache/chromeos-base/tpm-check-9999 b/metadata/md5-cache/chromeos-base/tpm-check-9999
index 0b350eb..a104d67 100644
--- a/metadata/md5-cache/chromeos-base/tpm-check-9999
+++ b/metadata/md5-cache/chromeos-base/tpm-check-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=autotest? ( chromeos-base/autotest )
 SLOT=0/9999
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=6f9612d32297b8c376d94aa08b0b40b1
diff --git a/metadata/md5-cache/chromeos-base/tpm-firmware-tests-0.0.1-r2094 b/metadata/md5-cache/chromeos-base/tpm-firmware-tests-0.0.1-r2094
deleted file mode 100644
index e6176b5..0000000
--- a/metadata/md5-cache/chromeos-base/tpm-firmware-tests-0.0.1-r2094
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=app-crypt/trousers:= chromeos-base/tpm:=
-DESCRIPTION=TPM firmware tests
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/vboot_reference/
-IUSE=+autotest +tests_hardware_TPMFirmware +tests_hardware_TPMFirmwareServer cros_host cros_workon_tree_22dd0942e2590c2ea8b09bd8606689b6e5dc495c +buildcheck autotest opengles
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=autotest? ( chromeos-base/autotest )
-SLOT=0/0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c3ef0b70b9726e33e0ea2f9211638817
diff --git a/metadata/md5-cache/chromeos-base/tpm-firmware-tests-9999 b/metadata/md5-cache/chromeos-base/tpm-firmware-tests-9999
deleted file mode 100644
index 26c1f10..0000000
--- a/metadata/md5-cache/chromeos-base/tpm-firmware-tests-9999
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst prepare setup unpack
-DEPEND=app-crypt/trousers:= chromeos-base/tpm:=
-DESCRIPTION=TPM firmware tests
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/vboot_reference/
-IUSE=+autotest +tests_hardware_TPMFirmware +tests_hardware_TPMFirmwareServer cros_host cros_workon_tree_ +buildcheck autotest opengles
-KEYWORDS=~*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=autotest? ( chromeos-base/autotest )
-SLOT=0/0
-_eclasses_=autotest	eadb1cf950e538b3f253d33164e48304	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=69e670cc784c4b3a24afc05332fa1bc2
diff --git a/metadata/md5-cache/chromeos-base/tpm2-0.0.1-r145 b/metadata/md5-cache/chromeos-base/tpm2-0.0.1-r145
deleted file mode 100644
index 44558fb..0000000
--- a/metadata/md5-cache/chromeos-base/tpm2-0.0.1-r145
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install setup unpack
-DEPEND=dev-libs/openssl:0=
-DESCRIPTION=TPM2.0 library
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/tpm2/
-IUSE=generic_tpm2 test tpm2_simulator tpm2_simulator_manufacturer cros_host cros_workon_tree_f64a48b91fc35d5760bca966436e0effc9e5cacb
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-SLOT=0/0.0.1-r145
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=3cca87ce25a4463f4baf9457f7a125ce
diff --git a/metadata/md5-cache/chromeos-base/tpm2-0.0.1-r146 b/metadata/md5-cache/chromeos-base/tpm2-0.0.1-r146
new file mode 100644
index 0000000..3ba845e
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/tpm2-0.0.1-r146
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install setup unpack
+DEPEND=dev-libs/openssl:0=
+DESCRIPTION=TPM2.0 library
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/tpm2/
+IUSE=generic_tpm2 test tpm2_simulator tpm2_simulator_manufacturer cros_host cros_workon_tree_f6cadf087425f2c77af8879a7f83e722ab613a36
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+SLOT=0/0.0.1-r146
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4e1a97c66d12cc9ca3a6e115cf61495e
diff --git a/metadata/md5-cache/chromeos-base/tpm2-9999 b/metadata/md5-cache/chromeos-base/tpm2-9999
index a20bca6..29ffefa 100644
--- a/metadata/md5-cache/chromeos-base/tpm2-9999
+++ b/metadata/md5-cache/chromeos-base/tpm2-9999
@@ -9,5 +9,5 @@
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=58e1e0c670010d58529a90ed3be49197
diff --git a/metadata/md5-cache/chromeos-base/tpm2-simulator-0.0.1-r1890 b/metadata/md5-cache/chromeos-base/tpm2-simulator-0.0.1-r1890
deleted file mode 100644
index 66e67db..0000000
--- a/metadata/md5-cache/chromeos-base/tpm2-simulator-0.0.1-r1890
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=tpm? ( dev-libs/libtpms:= ) tpm2? ( chromeos-base/tpm2:=[tpm2_simulator,tpm2_simulator_manufacturer] ) chromeos-base/minijail:= chromeos-base/pinweaver:= chromeos-base/vboot_reference:=[tpm2_simulator] dev-libs/openssl:0= sys-libs/libselinux:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=TPM 2.0 Simulator
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/tpm2-simulator/
-IUSE=tpm tpm2 cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_30dbe432f5e7874ebed1557763eb0d2f7e311249_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_30dbe432f5e7874ebed1557763eb0d2f7e311249_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=tpm? ( dev-libs/libtpms:= ) tpm2? ( chromeos-base/tpm2:=[tpm2_simulator,tpm2_simulator_manufacturer] ) chromeos-base/minijail:= chromeos-base/pinweaver:= chromeos-base/vboot_reference:=[tpm2_simulator] dev-libs/openssl:0= sys-libs/libselinux:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=008a33c10b70499ae7f16e514f749887
diff --git a/metadata/md5-cache/chromeos-base/tpm2-simulator-0.0.1-r1953 b/metadata/md5-cache/chromeos-base/tpm2-simulator-0.0.1-r1953
new file mode 100644
index 0000000..2f2e4bc
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/tpm2-simulator-0.0.1-r1953
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=tpm? ( !test? ( dev-libs/libtpms:= ) ) tpm2? ( chromeos-base/tpm2:=[tpm2_simulator?] chromeos-base/tpm2:=[tpm2_simulator_manufacturer?] ) test? ( chromeos-base/tpm2:=[test] ) chromeos-base/minijail:= chromeos-base/pinweaver:= chromeos-base/vboot_reference:=[tpm2_simulator?] dev-libs/openssl:0= sys-libs/libselinux:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=TPM 2.0 Simulator
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/tpm2-simulator/
+IUSE=selinux tpm tpm2 test tpm2_simulator tpm2_simulator_manufacturer cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_b2ae20cf5a237ca246eecb61de48d18247370fd5_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_b2ae20cf5a237ca246eecb61de48d18247370fd5_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=tpm? ( !test? ( dev-libs/libtpms:= ) ) tpm2? ( chromeos-base/tpm2:=[tpm2_simulator?] chromeos-base/tpm2:=[tpm2_simulator_manufacturer?] ) test? ( chromeos-base/tpm2:=[test] ) chromeos-base/minijail:= chromeos-base/pinweaver:= chromeos-base/vboot_reference:=[tpm2_simulator?] dev-libs/openssl:0= sys-libs/libselinux:= selinux? ( chromeos-base/selinux-policy ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=9bd98fbe920de9129d606a433339beb7
diff --git a/metadata/md5-cache/chromeos-base/tpm2-simulator-9999 b/metadata/md5-cache/chromeos-base/tpm2-simulator-9999
index 24da95f..4bb20e7 100644
--- a/metadata/md5-cache/chromeos-base/tpm2-simulator-9999
+++ b/metadata/md5-cache/chromeos-base/tpm2-simulator-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=tpm? ( dev-libs/libtpms:= ) tpm2? ( chromeos-base/tpm2:=[tpm2_simulator,tpm2_simulator_manufacturer] ) chromeos-base/minijail:= chromeos-base/pinweaver:= chromeos-base/vboot_reference:=[tpm2_simulator] dev-libs/openssl:0= sys-libs/libselinux:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=tpm? ( !test? ( dev-libs/libtpms:= ) ) tpm2? ( chromeos-base/tpm2:=[tpm2_simulator?] chromeos-base/tpm2:=[tpm2_simulator_manufacturer?] ) test? ( chromeos-base/tpm2:=[test] ) chromeos-base/minijail:= chromeos-base/pinweaver:= chromeos-base/vboot_reference:=[tpm2_simulator?] dev-libs/openssl:0= sys-libs/libselinux:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=TPM 2.0 Simulator
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/tpm2-simulator/
-IUSE=tpm tpm2 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/tpm2-simulator/
+IUSE=selinux tpm tpm2 test tpm2_simulator tpm2_simulator_manufacturer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=tpm? ( dev-libs/libtpms:= ) tpm2? ( chromeos-base/tpm2:=[tpm2_simulator,tpm2_simulator_manufacturer] ) chromeos-base/minijail:= chromeos-base/pinweaver:= chromeos-base/vboot_reference:=[tpm2_simulator] dev-libs/openssl:0= sys-libs/libselinux:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+RDEPEND=tpm? ( !test? ( dev-libs/libtpms:= ) ) tpm2? ( chromeos-base/tpm2:=[tpm2_simulator?] chromeos-base/tpm2:=[tpm2_simulator_manufacturer?] ) test? ( chromeos-base/tpm2:=[test] ) chromeos-base/minijail:= chromeos-base/pinweaver:= chromeos-base/vboot_reference:=[tpm2_simulator?] dev-libs/openssl:0= sys-libs/libselinux:= selinux? ( chromeos-base/selinux-policy ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=ed36d506b1b8d63555d9211e625987ce
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=95ee8110b483aba249186af60307860e
diff --git a/metadata/md5-cache/chromeos-base/tpm_lite-0.0.1-r16 b/metadata/md5-cache/chromeos-base/tpm_lite-0.0.1-r16
index 94a1a80..f2b3523 100644
--- a/metadata/md5-cache/chromeos-base/tpm_lite-0.0.1-r16
+++ b/metadata/md5-cache/chromeos-base/tpm_lite-0.0.1-r16
@@ -9,5 +9,5 @@
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=dd72d8a77505999e183e54ac232a0bef
diff --git a/metadata/md5-cache/chromeos-base/tpm_lite-9999 b/metadata/md5-cache/chromeos-base/tpm_lite-9999
index d4f64ea..65c871e 100644
--- a/metadata/md5-cache/chromeos-base/tpm_lite-9999
+++ b/metadata/md5-cache/chromeos-base/tpm_lite-9999
@@ -9,5 +9,5 @@
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=99b461cb781faa53987b05ac0a189d2c
diff --git a/metadata/md5-cache/chromeos-base/tpm_manager-0.0.1-r2440 b/metadata/md5-cache/chromeos-base/tpm_manager-0.0.1-r2440
deleted file mode 100644
index 2cea85a..0000000
--- a/metadata/md5-cache/chromeos-base/tpm_manager-0.0.1-r2440
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=tpm? ( app-crypt/trousers ) tpm2? ( chromeos-base/trunks ) >=chromeos-base/metrics-0.0.1-r3152 chromeos-base/minijail chromeos-base/libhwsec chromeos-base/libtpmcrypto chromeos-base/system_api:=[fuzzer?] chromeos-base/tpm_manager-client tpm2? ( chromeos-base/trunks[test?] ) fuzzer? ( dev-libs/libprotobuf-mutator ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Daemon to manage TPM ownership.
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/tpm_manager/
-IUSE=cr50_onboard pinweaver_csme test tpm tpm_dynamic tpm2 fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_b1c7898d3f42051cbba6426c62b35476a8de5b72_99cb261212fa3c73badb7ce5bd2da101c2567206_4a0dedab080195bdc122d2289118df4af3ddca2c_2acba33c99f07fa000bb44a4df3a65a8fe313bb1_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_b1c7898d3f42051cbba6426c62b35476a8de5b72_99cb261212fa3c73badb7ce5bd2da101c2567206_4a0dedab080195bdc122d2289118df4af3ddca2c_2acba33c99f07fa000bb44a4df3a65a8fe313bb1_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=Apache-2.0
-PROPERTIES=live live
-RDEPEND=tpm? ( app-crypt/trousers ) tpm2? ( chromeos-base/trunks ) >=chromeos-base/metrics-0.0.1-r3152 chromeos-base/minijail chromeos-base/libhwsec chromeos-base/libtpmcrypto chromeos-base/system_api:=[fuzzer?] chromeos-base/tpm_manager-client >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-REQUIRED_USE=?? ( cr50_onboard pinweaver_csme ) tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=a07135b18711c76da24f9b608fb6579f
diff --git a/metadata/md5-cache/chromeos-base/tpm_manager-0.0.1-r2616 b/metadata/md5-cache/chromeos-base/tpm_manager-0.0.1-r2616
new file mode 100644
index 0000000..3c076aa
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/tpm_manager-0.0.1-r2616
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=tpm? ( app-crypt/trousers ) tpm2? ( chromeos-base/trunks ) tpm2_simulator? ( chromeos-base/tpm2-simulator:= ) >=chromeos-base/metrics-0.0.1-r3152 chromeos-base/minijail chromeos-base/libhwsec[test?] chromeos-base/libhwsec-foundation chromeos-base/libtpmcrypto chromeos-base/system_api:=[fuzzer?] chromeos-base/tpm_manager-client tpm2? ( chromeos-base/trunks[test?] ) fuzzer? ( dev-libs/libprotobuf-mutator ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Daemon to manage TPM ownership.
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/tpm_manager/
+IUSE=cr50_onboard double_extend_pcr_issue pinweaver_csme profiling test tpm tpm_dynamic tpm_insecure_fallback tpm2 tpm2_simulator fuzzer os_install_service cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_b90d0e8f789e8cfe86794cb3f36ae69967b7dc36_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_944879c9353c2df8adb7022407a8d319671325c1_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_b90d0e8f789e8cfe86794cb3f36ae69967b7dc36_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_944879c9353c2df8adb7022407a8d319671325c1_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=Apache-2.0
+PROPERTIES=live live
+RDEPEND=tpm? ( app-crypt/trousers ) tpm2? ( chromeos-base/trunks ) tpm2_simulator? ( chromeos-base/tpm2-simulator:= ) >=chromeos-base/metrics-0.0.1-r3152 chromeos-base/minijail chromeos-base/libhwsec[test?] chromeos-base/libhwsec-foundation chromeos-base/libtpmcrypto chromeos-base/system_api:=[fuzzer?] chromeos-base/tpm_manager-client >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+REQUIRED_USE=?? ( cr50_onboard pinweaver_csme ) tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=6ca58f4bd7e794e1db81f6abc4a7487a
diff --git a/metadata/md5-cache/chromeos-base/tpm_manager-9999 b/metadata/md5-cache/chromeos-base/tpm_manager-9999
index b3eeba62..c1e6e00 100644
--- a/metadata/md5-cache/chromeos-base/tpm_manager-9999
+++ b/metadata/md5-cache/chromeos-base/tpm_manager-9999
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=tpm? ( app-crypt/trousers ) tpm2? ( chromeos-base/trunks ) >=chromeos-base/metrics-0.0.1-r3152 chromeos-base/minijail chromeos-base/libhwsec chromeos-base/libtpmcrypto chromeos-base/system_api:=[fuzzer?] chromeos-base/tpm_manager-client tpm2? ( chromeos-base/trunks[test?] ) fuzzer? ( dev-libs/libprotobuf-mutator ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=tpm? ( app-crypt/trousers ) tpm2? ( chromeos-base/trunks ) tpm2_simulator? ( chromeos-base/tpm2-simulator:= ) >=chromeos-base/metrics-0.0.1-r3152 chromeos-base/minijail chromeos-base/libhwsec[test?] chromeos-base/libhwsec-foundation chromeos-base/libtpmcrypto chromeos-base/system_api:=[fuzzer?] chromeos-base/tpm_manager-client tpm2? ( chromeos-base/trunks[test?] ) fuzzer? ( dev-libs/libprotobuf-mutator ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Daemon to manage TPM ownership.
 EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/tpm_manager/
-IUSE=cr50_onboard pinweaver_csme test tpm tpm_dynamic tpm2 fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/tpm_manager/
+IUSE=cr50_onboard double_extend_pcr_issue pinweaver_csme profiling test tpm tpm_dynamic tpm_insecure_fallback tpm2 tpm2_simulator fuzzer os_install_service cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=Apache-2.0
 PROPERTIES=live live
-RDEPEND=tpm? ( app-crypt/trousers ) tpm2? ( chromeos-base/trunks ) >=chromeos-base/metrics-0.0.1-r3152 chromeos-base/minijail chromeos-base/libhwsec chromeos-base/libtpmcrypto chromeos-base/system_api:=[fuzzer?] chromeos-base/tpm_manager-client >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+RDEPEND=tpm? ( app-crypt/trousers ) tpm2? ( chromeos-base/trunks ) tpm2_simulator? ( chromeos-base/tpm2-simulator:= ) >=chromeos-base/metrics-0.0.1-r3152 chromeos-base/minijail chromeos-base/libhwsec[test?] chromeos-base/libhwsec-foundation chromeos-base/libtpmcrypto chromeos-base/system_api:=[fuzzer?] chromeos-base/tpm_manager-client >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 REQUIRED_USE=?? ( cr50_onboard pinweaver_csme ) tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=c6ce3595f32b5d54076616b2cd6bc718
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=7d9324103f32140881a687bd2f70bab6
diff --git a/metadata/md5-cache/chromeos-base/tpm_manager-client-0.0.1-r358 b/metadata/md5-cache/chromeos-base/tpm_manager-client-0.0.1-r358
deleted file mode 100644
index cf679aa..0000000
--- a/metadata/md5-cache/chromeos-base/tpm_manager-client-0.0.1-r358
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=cros_host? ( >=chromeos-base/chromeos-dbus-bindings-0.0.1-r1058 ) chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=TPM Manager D-Bus client library for Chromium OS
-EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/tpm_manager/client/
-IUSE=cros_host test tpm tpm2 fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_b1c7898d3f42051cbba6426c62b35476a8de5b72_2acba33c99f07fa000bb44a4df3a65a8fe313bb1_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_b1c7898d3f42051cbba6426c62b35476a8de5b72_2acba33c99f07fa000bb44a4df3a65a8fe313bb1_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=!<chromeos-base/tpm_manager-0.0.1-r2238 chromeos-base/libbrillo:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=149cc3434ee8a246a4aba196d1a4b957
diff --git a/metadata/md5-cache/chromeos-base/tpm_manager-client-0.0.1-r453 b/metadata/md5-cache/chromeos-base/tpm_manager-client-0.0.1-r453
new file mode 100644
index 0000000..412d1599
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/tpm_manager-client-0.0.1-r453
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=cros_host? ( >=chromeos-base/chromeos-dbus-bindings-0.0.1-r1058 ) chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=TPM Manager D-Bus client library for Chromium OS
+EAPI=6
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/tpm_manager/client/
+IUSE=cros_host test tpm tpm2 fuzzer cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_944879c9353c2df8adb7022407a8d319671325c1_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_944879c9353c2df8adb7022407a8d319671325c1_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=!<chromeos-base/tpm_manager-0.0.1-r2238 chromeos-base/libbrillo:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=98d4a0d118c38e2f3e01efd514430e66
diff --git a/metadata/md5-cache/chromeos-base/tpm_manager-client-9999 b/metadata/md5-cache/chromeos-base/tpm_manager-client-9999
index 910c73d..8a93cca 100644
--- a/metadata/md5-cache/chromeos-base/tpm_manager-client-9999
+++ b/metadata/md5-cache/chromeos-base/tpm_manager-client-9999
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=cros_host? ( >=chromeos-base/chromeos-dbus-bindings-0.0.1-r1058 ) chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=cros_host? ( >=chromeos-base/chromeos-dbus-bindings-0.0.1-r1058 ) chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=TPM Manager D-Bus client library for Chromium OS
 EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/tpm_manager/client/
-IUSE=cros_host test tpm tpm2 fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/tpm_manager/client/
+IUSE=cros_host test tpm tpm2 fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=!<chromeos-base/tpm_manager-0.0.1-r2238 chromeos-base/libbrillo:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=aad7a44aec3feea6200205c6610ee3cb
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=23a93ecc64169803cc4a940dc0476c22
diff --git a/metadata/md5-cache/chromeos-base/tpm_softclear_utils-0.0.1-r362 b/metadata/md5-cache/chromeos-base/tpm_softclear_utils-0.0.1-r362
deleted file mode 100644
index b1fc86b..0000000
--- a/metadata/md5-cache/chromeos-base/tpm_softclear_utils-0.0.1-r362
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) chromeos-base/libhwsec-foundation:= tpm2? ( chromeos-base/system_api:= chromeos-base/trunks:=[test?] ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Utilities for soft-clearing TPM. This package resides in test images only.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/tpm_softclear_utils/
-IUSE=test tpm tpm_dynamic tpm2 cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_b1c7898d3f42051cbba6426c62b35476a8de5b72_269119352150a99393faf5787ab5b2e2ea5ed872_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_b1c7898d3f42051cbba6426c62b35476a8de5b72_269119352150a99393faf5787ab5b2e2ea5ed872_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) chromeos-base/libhwsec-foundation:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
-SLOT=0/0.0.1-r362
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=477a63aba1ba1df17e8275b72f5e42fd
diff --git a/metadata/md5-cache/chromeos-base/tpm_softclear_utils-0.0.1-r487 b/metadata/md5-cache/chromeos-base/tpm_softclear_utils-0.0.1-r487
new file mode 100644
index 0000000..44fe821
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/tpm_softclear_utils-0.0.1-r487
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) chromeos-base/libhwsec-foundation:= tpm2? ( chromeos-base/system_api:= chromeos-base/trunks:=[test?] ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Utilities for soft-clearing TPM. This package resides in test images only.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/tpm_softclear_utils/
+IUSE=test tpm tpm_dynamic tpm2 cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_e92f2290c63a51a33949ed1a9610b7c26e83d813_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_e92f2290c63a51a33949ed1a9610b7c26e83d813_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) chromeos-base/libhwsec-foundation:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
+SLOT=0/0.0.1-r487
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0fd0a3e89b1c1ef5268ce926b00d5e77
diff --git a/metadata/md5-cache/chromeos-base/tpm_softclear_utils-9999 b/metadata/md5-cache/chromeos-base/tpm_softclear_utils-9999
index a2a56cf..aec76d8 100644
--- a/metadata/md5-cache/chromeos-base/tpm_softclear_utils-9999
+++ b/metadata/md5-cache/chromeos-base/tpm_softclear_utils-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) chromeos-base/libhwsec-foundation:= tpm2? ( chromeos-base/system_api:= chromeos-base/trunks:=[test?] ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) chromeos-base/libhwsec-foundation:= tpm2? ( chromeos-base/system_api:= chromeos-base/trunks:=[test?] ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Utilities for soft-clearing TPM. This package resides in test images only.
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/tpm_softclear_utils/
-IUSE=test tpm tpm_dynamic tpm2 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/tpm_softclear_utils/
+IUSE=test tpm tpm_dynamic tpm2 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=tpm2? ( chromeos-base/trunks:= ) tpm? ( app-crypt/trousers:= ) chromeos-base/libhwsec-foundation:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e2269d18f8409ce33bbb01b22df47257
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=bc51192f3bd8dce0ae56c0dfb1a1f023
diff --git a/metadata/md5-cache/chromeos-base/tremplin-0.0.1-r152 b/metadata/md5-cache/chromeos-base/tremplin-0.0.1-r152
deleted file mode 100644
index ea75fda..0000000
--- a/metadata/md5-cache/chromeos-base/tremplin-0.0.1-r152
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst setup test unpack
-DEPEND=app-emulation/lxd:0 app-emulation/lxd:4 chromeos-base/vm_guest_tools:= chromeos-base/vm_protos:= dev-go/go-libaudit:= dev-go/go-sys:= dev-go/grpc:= dev-go/kobject:= dev-go/netlink:= dev-go/vsock:= dev-go/yaml:0 dev-lang/go
-DESCRIPTION=Tremplin LXD client with gRPC support
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tremplin/
-IUSE=cros_host cros_workon_tree_372aa326e02d79e28e1f272682a1f410838b024b
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=app-emulation/lxd:0 app-emulation/lxd:4
-SLOT=0/0.0.1-r152
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=20cfc3da96ce96081c1b1db7cac74b63
diff --git a/metadata/md5-cache/chromeos-base/tremplin-0.0.1-r158 b/metadata/md5-cache/chromeos-base/tremplin-0.0.1-r158
new file mode 100644
index 0000000..5e328ab
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/tremplin-0.0.1-r158
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst setup test unpack
+DEPEND=app-emulation/lxd:0 app-emulation/lxd:4 chromeos-base/vm_guest_tools:= chromeos-base/vm_protos:= dev-go/go-libaudit:= dev-go/go-sys:= dev-go/grpc:= dev-go/kobject:= dev-go/netlink:= dev-go/vsock:= dev-go/yaml:0 dev-lang/go
+DESCRIPTION=Tremplin LXD client with gRPC support
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tremplin/
+IUSE=cros_host cros_workon_tree_9bdae8272896bdccd819ae02aed5b074f95ecb47
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=app-emulation/lxd:0 app-emulation/lxd:4
+SLOT=0/0.0.1-r158
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=adee23a67d3acb0b6ce4f0bb5f9e39f7
diff --git a/metadata/md5-cache/chromeos-base/tremplin-9999 b/metadata/md5-cache/chromeos-base/tremplin-9999
index d72d193..d843431 100644
--- a/metadata/md5-cache/chromeos-base/tremplin-9999
+++ b/metadata/md5-cache/chromeos-base/tremplin-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=app-emulation/lxd:0 app-emulation/lxd:4
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f082f9f4e6fdce07d684fc914b9f3173
diff --git a/metadata/md5-cache/chromeos-base/trunks-0.0.1-r3130 b/metadata/md5-cache/chromeos-base/trunks-0.0.1-r3130
deleted file mode 100644
index cdf1526..0000000
--- a/metadata/md5-cache/chromeos-base/trunks-0.0.1-r3130
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/power_manager-client:= ftdi_tpm? ( dev-embedded/libftdi:= ) test? ( chromeos-base/tpm2:=[test] ) tpm2_simulator? ( chromeos-base/tpm2-simulator:= ) dev-libs/protobuf:= fuzzer? ( dev-cpp/gtest:= ) chromeos-base/chromeos-ec-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Trunks service for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/trunks/
-IUSE=cr50_onboard csme_emulator fuzzer ftdi_tpm generic_tpm2 pinweaver_csme test ti50_onboard tpm_dynamic tpm2_simulator cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_b1c7898d3f42051cbba6426c62b35476a8de5b72_4a0dedab080195bdc122d2289118df4af3ddca2c_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_b1c7898d3f42051cbba6426c62b35476a8de5b72_4a0dedab080195bdc122d2289118df4af3ddca2c_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=Apache-2.0
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/power_manager-client:= ftdi_tpm? ( dev-embedded/libftdi:= ) test? ( chromeos-base/tpm2:=[test] ) tpm2_simulator? ( chromeos-base/tpm2-simulator:= ) dev-libs/protobuf:= fuzzer? ( dev-cpp/gtest:= ) cr50_onboard? ( chromeos-base/chromeos-cr50 ) ti50_onboard? ( chromeos-base/chromeos-ti50 ) generic_tpm2? ( chromeos-base/chromeos-cr50-scripts ) !tpm_dynamic? ( !app-crypt/tpm-tools ) chromeos-base/libhwsec-foundation >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-REQUIRED_USE=?? ( cr50_onboard pinweaver_csme )
-SLOT=0/0.0.1-r3130
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=00d2636284ac266b8ab899702017d105
diff --git a/metadata/md5-cache/chromeos-base/trunks-0.0.1-r3292 b/metadata/md5-cache/chromeos-base/trunks-0.0.1-r3292
new file mode 100644
index 0000000..7fc924b
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/trunks-0.0.1-r3292
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/power_manager-client:= ftdi_tpm? ( dev-embedded/libftdi:= ) test? ( chromeos-base/tpm2:=[test] ) tpm2_simulator? ( chromeos-base/tpm2-simulator:= ) dev-libs/protobuf:= fuzzer? ( dev-cpp/gtest:= ) chromeos-base/pinweaver:= chromeos-base/chromeos-ec-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Trunks service for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/trunks/
+IUSE=cr50_onboard csme_emulator fuzzer ftdi_tpm generic_tpm2 pinweaver_csme test ti50_onboard tpm_dynamic tpm2_simulator cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=Apache-2.0
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/power_manager-client:= ftdi_tpm? ( dev-embedded/libftdi:= ) test? ( chromeos-base/tpm2:=[test] ) tpm2_simulator? ( chromeos-base/tpm2-simulator:= ) dev-libs/protobuf:= fuzzer? ( dev-cpp/gtest:= ) chromeos-base/pinweaver:= cr50_onboard? ( chromeos-base/chromeos-cr50 ) ti50_onboard? ( chromeos-base/chromeos-ti50 ) generic_tpm2? ( chromeos-base/chromeos-cr50-scripts ) !tpm_dynamic? ( !app-crypt/tpm-tools ) chromeos-base/libhwsec-foundation >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+REQUIRED_USE=?? ( cr50_onboard pinweaver_csme )
+SLOT=0/0.0.1-r3292
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=27189402311c5e7fe2e74143842134f0
diff --git a/metadata/md5-cache/chromeos-base/trunks-9999 b/metadata/md5-cache/chromeos-base/trunks-9999
index 20df5d5..5dbdef6b 100644
--- a/metadata/md5-cache/chromeos-base/trunks-9999
+++ b/metadata/md5-cache/chromeos-base/trunks-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/power_manager-client:= ftdi_tpm? ( dev-embedded/libftdi:= ) test? ( chromeos-base/tpm2:=[test] ) tpm2_simulator? ( chromeos-base/tpm2-simulator:= ) dev-libs/protobuf:= fuzzer? ( dev-cpp/gtest:= ) chromeos-base/chromeos-ec-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/power_manager-client:= ftdi_tpm? ( dev-embedded/libftdi:= ) test? ( chromeos-base/tpm2:=[test] ) tpm2_simulator? ( chromeos-base/tpm2-simulator:= ) dev-libs/protobuf:= fuzzer? ( dev-cpp/gtest:= ) chromeos-base/pinweaver:= chromeos-base/chromeos-ec-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Trunks service for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/trunks/
-IUSE=cr50_onboard csme_emulator fuzzer ftdi_tpm generic_tpm2 pinweaver_csme test ti50_onboard tpm_dynamic tpm2_simulator cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/trunks/
+IUSE=cr50_onboard csme_emulator fuzzer ftdi_tpm generic_tpm2 pinweaver_csme test ti50_onboard tpm_dynamic tpm2_simulator cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=Apache-2.0
 PROPERTIES=live live
-RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/power_manager-client:= ftdi_tpm? ( dev-embedded/libftdi:= ) test? ( chromeos-base/tpm2:=[test] ) tpm2_simulator? ( chromeos-base/tpm2-simulator:= ) dev-libs/protobuf:= fuzzer? ( dev-cpp/gtest:= ) cr50_onboard? ( chromeos-base/chromeos-cr50 ) ti50_onboard? ( chromeos-base/chromeos-ti50 ) generic_tpm2? ( chromeos-base/chromeos-cr50-scripts ) !tpm_dynamic? ( !app-crypt/tpm-tools ) chromeos-base/libhwsec-foundation >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/power_manager-client:= ftdi_tpm? ( dev-embedded/libftdi:= ) test? ( chromeos-base/tpm2:=[test] ) tpm2_simulator? ( chromeos-base/tpm2-simulator:= ) dev-libs/protobuf:= fuzzer? ( dev-cpp/gtest:= ) chromeos-base/pinweaver:= cr50_onboard? ( chromeos-base/chromeos-cr50 ) ti50_onboard? ( chromeos-base/chromeos-ti50 ) generic_tpm2? ( chromeos-base/chromeos-cr50-scripts ) !tpm_dynamic? ( !app-crypt/tpm-tools ) chromeos-base/libhwsec-foundation >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 REQUIRED_USE=?? ( cr50_onboard pinweaver_csme )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=ad4aab906459ad8d0a80d77cc26f965e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=97a1ed12fc9d05af66707622d2ed11e2
diff --git a/metadata/md5-cache/chromeos-base/typecd-0.0.1-r278 b/metadata/md5-cache/chromeos-base/typecd-0.0.1-r278
deleted file mode 100644
index 78cbabb..0000000
--- a/metadata/md5-cache/chromeos-base/typecd-0.0.1-r278
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/debugd-client:= chromeos-base/session_manager-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Chrome OS USB Type C daemon
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/typecd/
-IUSE=+seccomp cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_943933c3a4bbde8abb4628b4739df0904ac8f4b0_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_943933c3a4bbde8abb4628b4739df0904ac8f4b0_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=35355be8fff7b3defc9bc76ff271acb6
diff --git a/metadata/md5-cache/chromeos-base/typecd-0.0.1-r359 b/metadata/md5-cache/chromeos-base/typecd-0.0.1-r359
new file mode 100644
index 0000000..8f5839d
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/typecd-0.0.1-r359
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/debugd-client:= chromeos-base/session_manager-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Chrome OS USB Type C daemon
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/typecd/
+IUSE=+seccomp cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_fa7554557aaddd2c63ee2c755c84e72a366d4302_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_fa7554557aaddd2c63ee2c755c84e72a366d4302_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=16f05bc7841a9a6609727f4c5ae3a249
diff --git a/metadata/md5-cache/chromeos-base/typecd-9999 b/metadata/md5-cache/chromeos-base/typecd-9999
index 025c110..56a260f 100644
--- a/metadata/md5-cache/chromeos-base/typecd-9999
+++ b/metadata/md5-cache/chromeos-base/typecd-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/debugd-client:= chromeos-base/session_manager-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/debugd-client:= chromeos-base/session_manager-client:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Chrome OS USB Type C daemon
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/typecd/
-IUSE=+seccomp cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=+seccomp cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
 _md5_=fd5009b3346fc54513beb6193f83ac60
diff --git a/metadata/md5-cache/chromeos-base/u2fd-0.0.1-r1347 b/metadata/md5-cache/chromeos-base/u2fd-0.0.1-r1347
deleted file mode 100644
index d54ca10..0000000
--- a/metadata/md5-cache/chromeos-base/u2fd-0.0.1-r1347
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=tpm? ( app-crypt/trousers:= ) cr50_onboard? ( chromeos-base/trunks:= ) ti50_onboard? ( chromeos-base/trunks:= ) chromeos-base/attestation:= chromeos-base/attestation-client:= chromeos-base/cbor:= chromeos-base/cryptohome-client:= chromeos-base/libhwsec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/power_manager-client:= chromeos-base/tpm_manager:= dev-libs/hidapi:= chromeos-base/attestation-client:= >=chromeos-base/protofiles-0.0.43:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=U2FHID Emulation Daemon
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/u2fhid
-IUSE=fuzzer tpm cr50_onboard ti50_onboard cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_4a0dedab080195bdc122d2289118df4af3ddca2c_2acba33c99f07fa000bb44a4df3a65a8fe313bb1_31eed1e89a0f52385e3ced51c05a2551b866a0c4_b1c7898d3f42051cbba6426c62b35476a8de5b72_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_97266a4772907835fdab5d56b3ca24ed9c1c7a0e_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_4a0dedab080195bdc122d2289118df4af3ddca2c_2acba33c99f07fa000bb44a4df3a65a8fe313bb1_31eed1e89a0f52385e3ced51c05a2551b866a0c4_b1c7898d3f42051cbba6426c62b35476a8de5b72_fb2b8277318fb7e7eff84f5c7669a46bf60f19f5_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=tpm? ( app-crypt/trousers:= ) cr50_onboard? ( chromeos-base/trunks:= ) ti50_onboard? ( chromeos-base/trunks:= ) chromeos-base/attestation:= chromeos-base/attestation-client:= chromeos-base/cbor:= chromeos-base/cryptohome-client:= chromeos-base/libhwsec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/power_manager-client:= chromeos-base/tpm_manager:= dev-libs/hidapi:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r1347
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=9987a0951d961629cbc4f183b3b83572
diff --git a/metadata/md5-cache/chromeos-base/u2fd-0.0.1-r1545 b/metadata/md5-cache/chromeos-base/u2fd-0.0.1-r1545
new file mode 100644
index 0000000..a389712
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/u2fd-0.0.1-r1545
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=tpm? ( app-crypt/trousers:= ) fuzzer? ( chromeos-base/trunks:= ) cr50_onboard? ( chromeos-base/trunks:= ) ti50_onboard? ( chromeos-base/trunks:= ) chromeos-base/attestation:= chromeos-base/attestation-client:= chromeos-base/cbor:= chromeos-base/chromeos-ec-headers:= chromeos-base/cryptohome-client:= chromeos-base/libhwsec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/power_manager-client:= chromeos-base/tpm_manager:= chromeos-base/u2fd-client:= dev-libs/hidapi:= chromeos-base/attestation-client:= >=chromeos-base/protofiles-0.0.43:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=U2FHID Emulation Daemon
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/u2fd/
+IUSE=fuzzer tpm cr50_onboard ti50_onboard cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_944879c9353c2df8adb7022407a8d319671325c1_b5881b78580dbead29183a70fdc260387f29d82a_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_944879c9353c2df8adb7022407a8d319671325c1_b5881b78580dbead29183a70fdc260387f29d82a_8ca9c97a07408fdff5abf480fb1b2a15405b6bc0_2e036f417afe5d55dcbd138f7bfe2c98ab14403f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=tpm? ( app-crypt/trousers:= ) fuzzer? ( chromeos-base/trunks:= ) cr50_onboard? ( chromeos-base/trunks:= ) ti50_onboard? ( chromeos-base/trunks:= ) chromeos-base/attestation:= chromeos-base/attestation-client:= chromeos-base/cbor:= chromeos-base/chromeos-ec-headers:= chromeos-base/cryptohome-client:= chromeos-base/libhwsec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/power_manager-client:= chromeos-base/tpm_manager:= chromeos-base/u2fd-client:= dev-libs/hidapi:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r1545
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=b6f1be66fdbde1e3525f0ac6b006d002
diff --git a/metadata/md5-cache/chromeos-base/u2fd-9999 b/metadata/md5-cache/chromeos-base/u2fd-9999
index 66525f8..23fbdf0 100644
--- a/metadata/md5-cache/chromeos-base/u2fd-9999
+++ b/metadata/md5-cache/chromeos-base/u2fd-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=tpm? ( app-crypt/trousers:= ) cr50_onboard? ( chromeos-base/trunks:= ) ti50_onboard? ( chromeos-base/trunks:= ) chromeos-base/attestation:= chromeos-base/attestation-client:= chromeos-base/cbor:= chromeos-base/cryptohome-client:= chromeos-base/libhwsec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/power_manager-client:= chromeos-base/tpm_manager:= dev-libs/hidapi:= chromeos-base/attestation-client:= >=chromeos-base/protofiles-0.0.43:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=tpm? ( app-crypt/trousers:= ) fuzzer? ( chromeos-base/trunks:= ) cr50_onboard? ( chromeos-base/trunks:= ) ti50_onboard? ( chromeos-base/trunks:= ) chromeos-base/attestation:= chromeos-base/attestation-client:= chromeos-base/cbor:= chromeos-base/chromeos-ec-headers:= chromeos-base/cryptohome-client:= chromeos-base/libhwsec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/power_manager-client:= chromeos-base/tpm_manager:= chromeos-base/u2fd-client:= dev-libs/hidapi:= chromeos-base/attestation-client:= >=chromeos-base/protofiles-0.0.43:= chromeos-base/system_api:=[fuzzer?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=U2FHID Emulation Daemon
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/u2fhid
-IUSE=fuzzer tpm cr50_onboard ti50_onboard cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/u2fd/
+IUSE=fuzzer tpm cr50_onboard ti50_onboard cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=tpm? ( app-crypt/trousers:= ) cr50_onboard? ( chromeos-base/trunks:= ) ti50_onboard? ( chromeos-base/trunks:= ) chromeos-base/attestation:= chromeos-base/attestation-client:= chromeos-base/cbor:= chromeos-base/cryptohome-client:= chromeos-base/libhwsec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/power_manager-client:= chromeos-base/tpm_manager:= dev-libs/hidapi:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+RDEPEND=tpm? ( app-crypt/trousers:= ) fuzzer? ( chromeos-base/trunks:= ) cr50_onboard? ( chromeos-base/trunks:= ) ti50_onboard? ( chromeos-base/trunks:= ) chromeos-base/attestation:= chromeos-base/attestation-client:= chromeos-base/cbor:= chromeos-base/chromeos-ec-headers:= chromeos-base/cryptohome-client:= chromeos-base/libhwsec:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/power_manager-client:= chromeos-base/tpm_manager:= chromeos-base/u2fd-client:= dev-libs/hidapi:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=b22b80fad5d8fae29134f3a37b74cac3
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=d8a907199cc3cc4e5da41ba16ee13fe8
diff --git a/metadata/md5-cache/chromeos-base/u2fd-client-0.0.1-r71 b/metadata/md5-cache/chromeos-base/u2fd-client-0.0.1-r71
new file mode 100644
index 0000000..12d31fe
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/u2fd-client-0.0.1-r71
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=fuzzer? ( chromeos-base/trunks:= ) cr50_onboard? ( chromeos-base/trunks:= ) ti50_onboard? ( chromeos-base/trunks:= ) >=chromeos-base/protofiles-0.0.43:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=U2FHID library used by the internal corp U2F library
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/u2fd/client/
+IUSE=fuzzer cr50_onboard ti50_onboard cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_b5881b78580dbead29183a70fdc260387f29d82a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_b5881b78580dbead29183a70fdc260387f29d82a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=fuzzer? ( chromeos-base/trunks:= ) cr50_onboard? ( chromeos-base/trunks:= ) ti50_onboard? ( chromeos-base/trunks:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r71
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=004445a4d8d6009b5e534812e39b8cc4
diff --git a/metadata/md5-cache/chromeos-base/u2fd-client-9999 b/metadata/md5-cache/chromeos-base/u2fd-client-9999
new file mode 100644
index 0000000..c9dd4c6
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/u2fd-client-9999
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=fuzzer? ( chromeos-base/trunks:= ) cr50_onboard? ( chromeos-base/trunks:= ) ti50_onboard? ( chromeos-base/trunks:= ) >=chromeos-base/protofiles-0.0.43:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=U2FHID library used by the internal corp U2F library
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/u2fd/client/
+IUSE=fuzzer cr50_onboard ti50_onboard cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=fuzzer? ( chromeos-base/trunks:= ) cr50_onboard? ( chromeos-base/trunks:= ) ti50_onboard? ( chromeos-base/trunks:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/9999
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=94714b1a16d80c267ffa017b5f48ffe9
diff --git a/metadata/md5-cache/chromeos-base/update-utils-0.0.1-r59 b/metadata/md5-cache/chromeos-base/update-utils-0.0.1-r59
deleted file mode 100644
index 8e35d36..0000000
--- a/metadata/md5-cache/chromeos-base/update-utils-0.0.1-r59
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile info install setup test unpack
-DESCRIPTION=A set of utilities for updating Chrome OS.
-EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/
-IUSE=cros_host cros_workon_tree_6987e5426556116433db68183c448e72bf83583b python_targets_python2_7 python_targets_python3_6 python_targets_python3_7
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=!chromeos-base/gmerge
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=554498108cb4290b147bfc5e5a378ed2
diff --git a/metadata/md5-cache/chromeos-base/update-utils-0.0.1-r63 b/metadata/md5-cache/chromeos-base/update-utils-0.0.1-r63
new file mode 100644
index 0000000..14dfdb7
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/update-utils-0.0.1-r63
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile info install setup test unpack
+DESCRIPTION=A set of utilities for updating Chrome OS.
+EAPI=6
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/
+IUSE=cros_host cros_workon_tree_ea708c8d92d9f462c714b43ec46137da4de835ab python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=!chromeos-base/gmerge
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=b9c8fe091d21bf4a79af141809b7e7b6
diff --git a/metadata/md5-cache/chromeos-base/update-utils-9999 b/metadata/md5-cache/chromeos-base/update-utils-9999
index 8b620fd..04f1750 100644
--- a/metadata/md5-cache/chromeos-base/update-utils-9999
+++ b/metadata/md5-cache/chromeos-base/update-utils-9999
@@ -2,11 +2,11 @@
 DESCRIPTION=A set of utilities for updating Chrome OS.
 EAPI=6
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/
-IUSE=cros_host cros_workon_tree_ python_targets_python2_7 python_targets_python3_6 python_targets_python3_7
+IUSE=cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 RDEPEND=!chromeos-base/gmerge
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=9c42ca27e889419ca275dc4a358cfd8a
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=72378ac4bd2582b24b219ce9f79e1206
diff --git a/metadata/md5-cache/chromeos-base/update_engine-0.0.3-r3976 b/metadata/md5-cache/chromeos-base/update_engine-0.0.3-r3976
deleted file mode 100644
index 1872bbc..0000000
--- a/metadata/md5-cache/chromeos-base/update_engine-0.0.3-r3976
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=app-arch/xz-utils:= chromeos-base/debugd-client:= dlc? ( chromeos-base/dlcservice-client:= ) chromeos-base/power_manager-client:= chromeos-base/session_manager-client:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/update_engine-client:= test? ( sys-fs/squashfs-tools ) app-arch/bzip2:= chromeos-base/chromeos-ca-certificates:= hw_details? ( chromeos-base/diagnostics:= ) >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/vboot_reference:= cros_p2p? ( chromeos-base/p2p:= ) dev-libs/expat:= dev-libs/openssl:= dev-libs/protobuf:= dev-libs/xz-embedded:= dev-util/bsdiff:= dev-util/puffin:= net-misc/curl:= sys-apps/rootdev:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS Update Engine
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/aosp/platform/system/update_engine/
-IUSE=cfm cros_host cros_p2p dlc fuzzer hw_details -hwid_override minios +power_management systemd cros-debug cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_9e66382b03347c75c26c85bc14db150d365a0be6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_405a9012a5bd76dfc4c3f8d2377c6d63eb6e6f51 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_9e66382b03347c75c26c85bc14db150d365a0be6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_405a9012a5bd76dfc4c3f8d2377c6d63eb6e6f51 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=Apache-2.0
-PROPERTIES=live live
-RDEPEND=!cros_host? ( chromeos-base/chromeos-installer ) app-arch/bzip2:= chromeos-base/chromeos-ca-certificates:= hw_details? ( chromeos-base/diagnostics:= ) >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/vboot_reference:= cros_p2p? ( chromeos-base/p2p:= ) dev-libs/expat:= dev-libs/openssl:= dev-libs/protobuf:= dev-libs/xz-embedded:= dev-util/bsdiff:= dev-util/puffin:= net-misc/curl:= sys-apps/rootdev:= cros_host? ( app-arch/unzip:= app-arch/xz-utils:= sys-libs/e2fsprogs-libs:= sys-fs/squashfs-tools ) power_management? ( chromeos-base/power_manager:= ) virtual/update-policy:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.3-r3976
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=3c0468aa5d08e8ea924ade2b0444ba6c
diff --git a/metadata/md5-cache/chromeos-base/update_engine-0.0.3-r4163 b/metadata/md5-cache/chromeos-base/update_engine-0.0.3-r4163
new file mode 100644
index 0000000..94ef0a8
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/update_engine-0.0.3-r4163
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=app-arch/xz-utils:= chromeos-base/debugd-client:= dlc? ( chromeos-base/dlcservice-client:= ) chromeos-base/power_manager-client:= chromeos-base/session_manager-client:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/update_engine-client:= test? ( sys-fs/squashfs-tools ) app-arch/bzip2:= chromeos-base/chromeos-ca-certificates:= hw_details? ( chromeos-base/diagnostics:= ) >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/vboot_reference:= cros_p2p? ( chromeos-base/p2p:= ) dev-libs/expat:= dev-libs/openssl:= dev-libs/protobuf:= dev-libs/xz-embedded:= dev-util/bsdiff:= dev-util/puffin:= net-misc/curl:= sys-apps/rootdev:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS Update Engine
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/aosp/platform/system/update_engine/
+IUSE=cfm cros_host cros_p2p dlc fuzzer hw_details -hwid_override minios +power_management report_requisition systemd cros-debug cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_ab5bf458d33d9fd75a653fd0b130cc21ef57744f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_372f10e79ea2c24a73cc3a7dc6e2a620e1486ac5 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_ab5bf458d33d9fd75a653fd0b130cc21ef57744f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_372f10e79ea2c24a73cc3a7dc6e2a620e1486ac5 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=Apache-2.0
+PROPERTIES=live live
+RDEPEND=!cros_host? ( chromeos-base/chromeos-installer ) app-arch/bzip2:= chromeos-base/chromeos-ca-certificates:= hw_details? ( chromeos-base/diagnostics:= ) >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/vboot_reference:= cros_p2p? ( chromeos-base/p2p:= ) dev-libs/expat:= dev-libs/openssl:= dev-libs/protobuf:= dev-libs/xz-embedded:= dev-util/bsdiff:= dev-util/puffin:= net-misc/curl:= sys-apps/rootdev:= cros_host? ( app-arch/xz-utils:= chromeos-base/debugd-client:= dlc? ( chromeos-base/dlcservice-client:= ) chromeos-base/power_manager-client:= chromeos-base/session_manager-client:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/update_engine-client:= test? ( sys-fs/squashfs-tools ) app-arch/bzip2:= chromeos-base/chromeos-ca-certificates:= hw_details? ( chromeos-base/diagnostics:= ) >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/vboot_reference:= cros_p2p? ( chromeos-base/p2p:= ) dev-libs/expat:= dev-libs/openssl:= dev-libs/protobuf:= dev-libs/xz-embedded:= dev-util/bsdiff:= dev-util/puffin:= net-misc/curl:= sys-apps/rootdev:= app-arch/unzip:= app-arch/xz-utils:= || ( >=sys-fs/e2fsprogs-1.46.4-r5:= sys-libs/e2fsprogs-libs:= ) sys-fs/squashfs-tools ) power_management? ( chromeos-base/power_manager:= ) virtual/update-policy:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.3-r4163
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=61d33981b07c1d4bf5d3ae96496e30a9
diff --git a/metadata/md5-cache/chromeos-base/update_engine-9999 b/metadata/md5-cache/chromeos-base/update_engine-9999
index 54b3c06..7b5a372 100644
--- a/metadata/md5-cache/chromeos-base/update_engine-9999
+++ b/metadata/md5-cache/chromeos-base/update_engine-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=app-arch/xz-utils:= chromeos-base/debugd-client:= dlc? ( chromeos-base/dlcservice-client:= ) chromeos-base/power_manager-client:= chromeos-base/session_manager-client:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/update_engine-client:= test? ( sys-fs/squashfs-tools ) app-arch/bzip2:= chromeos-base/chromeos-ca-certificates:= hw_details? ( chromeos-base/diagnostics:= ) >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/vboot_reference:= cros_p2p? ( chromeos-base/p2p:= ) dev-libs/expat:= dev-libs/openssl:= dev-libs/protobuf:= dev-libs/xz-embedded:= dev-util/bsdiff:= dev-util/puffin:= net-misc/curl:= sys-apps/rootdev:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=app-arch/xz-utils:= chromeos-base/debugd-client:= dlc? ( chromeos-base/dlcservice-client:= ) chromeos-base/power_manager-client:= chromeos-base/session_manager-client:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/update_engine-client:= test? ( sys-fs/squashfs-tools ) app-arch/bzip2:= chromeos-base/chromeos-ca-certificates:= hw_details? ( chromeos-base/diagnostics:= ) >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/vboot_reference:= cros_p2p? ( chromeos-base/p2p:= ) dev-libs/expat:= dev-libs/openssl:= dev-libs/protobuf:= dev-libs/xz-embedded:= dev-util/bsdiff:= dev-util/puffin:= net-misc/curl:= sys-apps/rootdev:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS Update Engine
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/aosp/platform/system/update_engine/
-IUSE=cfm cros_host cros_p2p dlc fuzzer hw_details -hwid_override minios +power_management systemd cros-debug cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cfm cros_host cros_p2p dlc fuzzer hw_details -hwid_override minios +power_management report_requisition systemd cros-debug cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=Apache-2.0
 PROPERTIES=live live
-RDEPEND=!cros_host? ( chromeos-base/chromeos-installer ) app-arch/bzip2:= chromeos-base/chromeos-ca-certificates:= hw_details? ( chromeos-base/diagnostics:= ) >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/vboot_reference:= cros_p2p? ( chromeos-base/p2p:= ) dev-libs/expat:= dev-libs/openssl:= dev-libs/protobuf:= dev-libs/xz-embedded:= dev-util/bsdiff:= dev-util/puffin:= net-misc/curl:= sys-apps/rootdev:= cros_host? ( app-arch/unzip:= app-arch/xz-utils:= sys-libs/e2fsprogs-libs:= sys-fs/squashfs-tools ) power_management? ( chromeos-base/power_manager:= ) virtual/update-policy:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+RDEPEND=!cros_host? ( chromeos-base/chromeos-installer ) app-arch/bzip2:= chromeos-base/chromeos-ca-certificates:= hw_details? ( chromeos-base/diagnostics:= ) >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/vboot_reference:= cros_p2p? ( chromeos-base/p2p:= ) dev-libs/expat:= dev-libs/openssl:= dev-libs/protobuf:= dev-libs/xz-embedded:= dev-util/bsdiff:= dev-util/puffin:= net-misc/curl:= sys-apps/rootdev:= cros_host? ( app-arch/xz-utils:= chromeos-base/debugd-client:= dlc? ( chromeos-base/dlcservice-client:= ) chromeos-base/power_manager-client:= chromeos-base/session_manager-client:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/update_engine-client:= test? ( sys-fs/squashfs-tools ) app-arch/bzip2:= chromeos-base/chromeos-ca-certificates:= hw_details? ( chromeos-base/diagnostics:= ) >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/vboot_reference:= cros_p2p? ( chromeos-base/p2p:= ) dev-libs/expat:= dev-libs/openssl:= dev-libs/protobuf:= dev-libs/xz-embedded:= dev-util/bsdiff:= dev-util/puffin:= net-misc/curl:= sys-apps/rootdev:= app-arch/unzip:= app-arch/xz-utils:= || ( >=sys-fs/e2fsprogs-1.46.4-r5:= sys-libs/e2fsprogs-libs:= ) sys-fs/squashfs-tools ) power_management? ( chromeos-base/power_manager:= ) virtual/update-policy:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=142671ba0c6552402f1d0e060625f8be
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3f2e46cb1c4d9ad69b08400e1f54d5b3
diff --git a/metadata/md5-cache/chromeos-base/update_engine-client-0.0.1-r2012 b/metadata/md5-cache/chromeos-base/update_engine-client-0.0.1-r2012
deleted file mode 100644
index a102eef..0000000
--- a/metadata/md5-cache/chromeos-base/update_engine-client-0.0.1-r2012
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=chromeos-base/chromeos-dbus-bindings:= dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS Update Engine client library
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/aosp/platform/system/update_engine/
-IUSE=cros_host cros-debug cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_405a9012a5bd76dfc4c3f8d2377c6d63eb6e6f51 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_405a9012a5bd76dfc4c3f8d2377c6d63eb6e6f51 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=!<chromeos-base/update_engine-0.0.3 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=4d6e186ee35ed3ad8c17bfbf2c913313
diff --git a/metadata/md5-cache/chromeos-base/update_engine-client-0.0.1-r2086 b/metadata/md5-cache/chromeos-base/update_engine-client-0.0.1-r2086
new file mode 100644
index 0000000..03680b4
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/update_engine-client-0.0.1-r2086
@@ -0,0 +1,14 @@
+BDEPEND=chromeos-base/chromeos-dbus-bindings:= dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS Update Engine client library
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/aosp/platform/system/update_engine/
+IUSE=cros_host cros-debug cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_372f10e79ea2c24a73cc3a7dc6e2a620e1486ac5 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_372f10e79ea2c24a73cc3a7dc6e2a620e1486ac5 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=!<chromeos-base/update_engine-0.0.3 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=39d546564eb16c617f6aec4499d5fa2b
diff --git a/metadata/md5-cache/chromeos-base/update_engine-client-9999 b/metadata/md5-cache/chromeos-base/update_engine-client-9999
index 3afa37b..669f4cf 100644
--- a/metadata/md5-cache/chromeos-base/update_engine-client-9999
+++ b/metadata/md5-cache/chromeos-base/update_engine-client-9999
@@ -1,14 +1,14 @@
 BDEPEND=chromeos-base/chromeos-dbus-bindings:= dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS Update Engine client library
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/aosp/platform/system/update_engine/
-IUSE=cros_host cros-debug cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros-debug cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=!<chromeos-base/update_engine-0.0.3 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=85bfc33a074c5c6c8c02a3f459fad0a4
diff --git a/metadata/md5-cache/chromeos-base/update_payload-0.0.1-r440 b/metadata/md5-cache/chromeos-base/update_payload-0.0.1-r440
deleted file mode 100644
index 464a536..0000000
--- a/metadata/md5-cache/chromeos-base/update_payload-0.0.1-r440
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install setup test unpack
-DESCRIPTION=Chrome OS Update Engine Update Payload Scripts
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/aosp/platform/system/update_engine
-IUSE=cros_host cros_workon_tree_405a9012a5bd76dfc4c3f8d2377c6d63eb6e6f51 python_targets_python3_6 python_targets_python3_7
-KEYWORDS=*
-LICENSE=Apache-2.0
-PROPERTIES=live
-RDEPEND=dev-python/protobuf-python[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] !<chromeos-base/devserver-0.0.3
-SLOT=0/0.0.1-r440
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ac51348065179023bc0d1e083b94238d
diff --git a/metadata/md5-cache/chromeos-base/update_payload-0.0.1-r459 b/metadata/md5-cache/chromeos-base/update_payload-0.0.1-r459
new file mode 100644
index 0000000..624da9d
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/update_payload-0.0.1-r459
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install setup test unpack
+DESCRIPTION=Chrome OS Update Engine Update Payload Scripts
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/aosp/platform/system/update_engine
+IUSE=cros_host cros_workon_tree_372f10e79ea2c24a73cc3a7dc6e2a620e1486ac5 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=Apache-2.0
+PROPERTIES=live
+RDEPEND=dev-python/protobuf-python[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] !<chromeos-base/devserver-0.0.3
+SLOT=0/0.0.1-r459
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f6cd5ea9f3855297594efa95090caf0f
diff --git a/metadata/md5-cache/chromeos-base/update_payload-9999 b/metadata/md5-cache/chromeos-base/update_payload-9999
index a3197db..ae1bf40 100644
--- a/metadata/md5-cache/chromeos-base/update_payload-9999
+++ b/metadata/md5-cache/chromeos-base/update_payload-9999
@@ -3,11 +3,11 @@
 DESCRIPTION=Chrome OS Update Engine Update Payload Scripts
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/aosp/platform/system/update_engine
-IUSE=cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7
+IUSE=cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
 KEYWORDS=~*
 LICENSE=Apache-2.0
 PROPERTIES=live
-RDEPEND=dev-python/protobuf-python[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] !<chromeos-base/devserver-0.0.3
+RDEPEND=dev-python/protobuf-python[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] !<chromeos-base/devserver-0.0.3
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=3ff8c92a7c213e035c0c444de7080795
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1c1bf3994c61104189df0d2b80a76b7c
diff --git a/metadata/md5-cache/chromeos-base/ureadahead-diff-0.0.1-r155 b/metadata/md5-cache/chromeos-base/ureadahead-diff-0.0.1-r155
deleted file mode 100644
index f86a8309..0000000
--- a/metadata/md5-cache/chromeos-base/ureadahead-diff-0.0.1-r155
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Calculate common part and difference of two ureadahead packs
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/ureadahead-diff
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_a3eac5d15a46a63784099b3fe4af44a89d376a6f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_a3eac5d15a46a63784099b3fe4af44a89d376a6f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=fbe6e622b2a2c61ce4f0f78bb887a4e6
diff --git a/metadata/md5-cache/chromeos-base/ureadahead-diff-0.0.1-r213 b/metadata/md5-cache/chromeos-base/ureadahead-diff-0.0.1-r213
new file mode 100644
index 0000000..efec226
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/ureadahead-diff-0.0.1-r213
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Calculate common part and difference of two ureadahead packs
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/ureadahead-diff
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_a3eac5d15a46a63784099b3fe4af44a89d376a6f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_a3eac5d15a46a63784099b3fe4af44a89d376a6f_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=db3426b1073d2f4200ae6ddbe4daec95
diff --git a/metadata/md5-cache/chromeos-base/ureadahead-diff-9999 b/metadata/md5-cache/chromeos-base/ureadahead-diff-9999
index 559b91d..e66e4c2 100644
--- a/metadata/md5-cache/chromeos-base/ureadahead-diff-9999
+++ b/metadata/md5-cache/chromeos-base/ureadahead-diff-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Calculate common part and difference of two ureadahead packs
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/ureadahead-diff
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/ureadahead-diff
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5dae247b1575c379190acac83cc6c378
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=01d13bf0f53d63b0948859a2179e5c29
diff --git a/metadata/md5-cache/chromeos-base/usb_bouncer-0.0.1-r457 b/metadata/md5-cache/chromeos-base/usb_bouncer-0.0.1-r457
deleted file mode 100644
index 997ef02..0000000
--- a/metadata/md5-cache/chromeos-base/usb_bouncer-0.0.1-r457
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= dev-libs/openssl:0= sys-apps/usbguard:= chromeos-base/session_manager-client:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=Manage the usbguard whitelist
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/usb_bouncer/
-IUSE=fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_8cd7defb988caf6502019d5c83e26cc585ef1fc3_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4a0dedab080195bdc122d2289118df4af3ddca2c_8cd7defb988caf6502019d5c83e26cc585ef1fc3_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= dev-libs/openssl:0= sys-apps/usbguard:= virtual/tmpfiles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=a817397060d5e8aead8a12050aeaf0a3
diff --git a/metadata/md5-cache/chromeos-base/usb_bouncer-0.0.1-r558 b/metadata/md5-cache/chromeos-base/usb_bouncer-0.0.1-r558
new file mode 100644
index 0000000..c1c3712
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/usb_bouncer-0.0.1-r558
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= dev-libs/openssl:0= sys-apps/usbguard:= chromeos-base/session_manager-client:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Manage the usbguard whitelist
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/usb_bouncer/
+IUSE=fuzzer cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_974e43385202b259caed149a94f511942d087201_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_974e43385202b259caed149a94f511942d087201_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= dev-libs/openssl:0= sys-apps/usbguard:= virtual/tmpfiles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=73c568ca99cbb8450e5593676f59dde5
diff --git a/metadata/md5-cache/chromeos-base/usb_bouncer-9999 b/metadata/md5-cache/chromeos-base/usb_bouncer-9999
index ed3005b..32b82dd 100644
--- a/metadata/md5-cache/chromeos-base/usb_bouncer-9999
+++ b/metadata/md5-cache/chromeos-base/usb_bouncer-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= dev-libs/openssl:0= sys-apps/usbguard:= chromeos-base/session_manager-client:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= dev-libs/openssl:0= sys-apps/usbguard:= chromeos-base/session_manager-client:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=Manage the usbguard whitelist
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/usb_bouncer/
-IUSE=fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/usb_bouncer/
+IUSE=fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= dev-libs/openssl:0= sys-apps/usbguard:= virtual/tmpfiles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=324e5636f6ba0d1c39bda20e7c9bd50e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=fea2725b33b7c084a28ba0b172d4e9f5
diff --git a/metadata/md5-cache/chromeos-base/userfeedback-0.0.1-r2903 b/metadata/md5-cache/chromeos-base/userfeedback-0.0.1-r2903
deleted file mode 100644
index fc19b2e..0000000
--- a/metadata/md5-cache/chromeos-base/userfeedback-0.0.1-r2903
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=info install setup unpack
-DESCRIPTION=Log scripts used by userfeedback to report cros system information
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/userfeedback/
-IUSE=systemd X cros_host cros_workon_tree_1931320fd5d91a0266effb9cc31122c0724c0b93
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/chromeos-init chromeos-base/crash-reporter chromeos-base/modem-utilities chromeos-base/vboot_reference media-libs/fontconfig media-sound/alsa-utils sys-apps/coreboot-utils sys-apps/net-tools sys-apps/pciutils sys-apps/usbutils X? ( x11-apps/setxkbmap )
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=817962c92a259a546be2b8d12af89bcc
diff --git a/metadata/md5-cache/chromeos-base/userfeedback-0.0.1-r2905 b/metadata/md5-cache/chromeos-base/userfeedback-0.0.1-r2905
new file mode 100644
index 0000000..77849f1
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/userfeedback-0.0.1-r2905
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Log scripts used by userfeedback to report cros system information
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/userfeedback/
+IUSE=systemd X cros_host cros_workon_tree_f94d6fc9421e2ff3795caf5e2cf743fcea891f2e
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/chromeos-init chromeos-base/crash-reporter chromeos-base/modem-utilities chromeos-base/vboot_reference media-libs/fontconfig media-sound/alsa-utils sys-apps/coreboot-utils sys-apps/net-tools sys-apps/pciutils sys-apps/usbutils X? ( x11-apps/setxkbmap )
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=be3b9607195f5d10d981c0e9902977f6
diff --git a/metadata/md5-cache/chromeos-base/userfeedback-9999 b/metadata/md5-cache/chromeos-base/userfeedback-9999
index b5ee8392..cb3c486c 100644
--- a/metadata/md5-cache/chromeos-base/userfeedback-9999
+++ b/metadata/md5-cache/chromeos-base/userfeedback-9999
@@ -2,12 +2,12 @@
 DEFINED_PHASES=info install setup unpack
 DESCRIPTION=Log scripts used by userfeedback to report cros system information
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/userfeedback/
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/userfeedback/
 IUSE=systemd X cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 RDEPEND=chromeos-base/chromeos-init chromeos-base/crash-reporter chromeos-base/modem-utilities chromeos-base/vboot_reference media-libs/fontconfig media-sound/alsa-utils sys-apps/coreboot-utils sys-apps/net-tools sys-apps/pciutils sys-apps/usbutils X? ( x11-apps/setxkbmap )
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ee4724c3635cd531386729940fad7853
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f989a8137accead2fb1e710fd2de3591
diff --git a/metadata/md5-cache/chromeos-base/userspace_touchpad-0.0.1-r1297 b/metadata/md5-cache/chromeos-base/userspace_touchpad-0.0.1-r1297
deleted file mode 100644
index 469ffcc..0000000
--- a/metadata/md5-cache/chromeos-base/userspace_touchpad-0.0.1-r1297
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Userspace Touchpad
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/userspace_touchpad/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=13ebaff4b94cbf49a054699c6df8640e
diff --git a/metadata/md5-cache/chromeos-base/userspace_touchpad-0.0.1-r1355 b/metadata/md5-cache/chromeos-base/userspace_touchpad-0.0.1-r1355
new file mode 100644
index 0000000..3072677
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/userspace_touchpad-0.0.1-r1355
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Userspace Touchpad
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/userspace_touchpad/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3fe4509f862ff3bf6bea3659ab736f89
diff --git a/metadata/md5-cache/chromeos-base/userspace_touchpad-9999 b/metadata/md5-cache/chromeos-base/userspace_touchpad-9999
index 85c05b6..dd51721 100644
--- a/metadata/md5-cache/chromeos-base/userspace_touchpad-9999
+++ b/metadata/md5-cache/chromeos-base/userspace_touchpad-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Userspace Touchpad
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/userspace_touchpad/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/userspace_touchpad/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ff364745af7fbf88bf3f3bb411f6d6c9
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d6a8ffb9135e6e214e0a5e535329d300
diff --git a/metadata/md5-cache/chromeos-base/usi-test-0.0.1-r2 b/metadata/md5-cache/chromeos-base/usi-test-0.0.1-r2
deleted file mode 100644
index ab14557..0000000
--- a/metadata/md5-cache/chromeos-base/usi-test-0.0.1-r2
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=~dev-python/hid-tools-0.2[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
-DESCRIPTION=Universal Stylus Initiative (USI) Certification Tool
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/usi-test/
-IUSE=- cros_host cros_workon_tree_3df4e9ea258213e789b984b837eac63585d8bb8e python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=~dev-python/hid-tools-0.2[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 )
-SLOT=0/0.0.1-r2
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=142168440a101f34c60555a30daa66e4
diff --git a/metadata/md5-cache/chromeos-base/usi-test-0.0.1-r5 b/metadata/md5-cache/chromeos-base/usi-test-0.0.1-r5
new file mode 100644
index 0000000..06b267b
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/usi-test-0.0.1-r5
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=~dev-python/hid-tools-0.2[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DESCRIPTION=Universal Stylus Initiative (USI) Certification Tool
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/usi-test/
+IUSE=- cros_host cros_workon_tree_b0f121faef567b7be3620e5ddf9b7b1a6d6b5bee python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=~dev-python/hid-tools-0.2[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0/0.0.1-r5
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ea249b4a2d085a4345ca058ca5e505d8
diff --git a/metadata/md5-cache/chromeos-base/usi-test-9999 b/metadata/md5-cache/chromeos-base/usi-test-9999
index 10b3c07..22030d7 100644
--- a/metadata/md5-cache/chromeos-base/usi-test-9999
+++ b/metadata/md5-cache/chromeos-base/usi-test-9999
@@ -1,15 +1,15 @@
-BDEPEND=dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
+BDEPEND=dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
 DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=~dev-python/hid-tools-0.2[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
+DEPEND=~dev-python/hid-tools-0.2[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
 DESCRIPTION=Universal Stylus Initiative (USI) Certification Tool
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/usi-test/
-IUSE=- cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
+IUSE=- cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=~dev-python/hid-tools-0.2[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 )
+RDEPEND=~dev-python/hid-tools-0.2[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=163f418aae2aac6cf1bfa8180fb7b464
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4fbb865f995269f06a93ea51399dc18e
diff --git a/metadata/md5-cache/chromeos-base/vboot_reference-1.0-r2237 b/metadata/md5-cache/chromeos-base/vboot_reference-1.0-r2237
deleted file mode 100644
index 2716099..0000000
--- a/metadata/md5-cache/chromeos-base/vboot_reference-1.0-r2237
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/crosid:= dev-libs/libzip:= dev-libs/openssl:= sys-apps/flashrom:= sys-apps/util-linux:=
-DESCRIPTION=Chrome OS verified boot tools
-EAPI=7
-IUSE=cros_host dev_debug_force fuzzer pd_sync test tpmtests tpm tpm_dynamic tpm2 tpm2_simulator vtpm_proxy cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_22dd0942e2590c2ea8b09bd8606689b6e5dc495c
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/crosid:= dev-libs/libzip:= dev-libs/openssl:= sys-apps/flashrom:= sys-apps/util-linux:=
-REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
-SLOT=0/1.0-r2237
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6dd2920875a4e6711434e75dc10eb755
diff --git a/metadata/md5-cache/chromeos-base/vboot_reference-1.0-r2306 b/metadata/md5-cache/chromeos-base/vboot_reference-1.0-r2306
new file mode 100644
index 0000000..66ac53c
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/vboot_reference-1.0-r2306
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/crosid:= app-arch/libarchive:= dev-libs/libzip:= dev-libs/openssl:= sys-apps/coreboot-utils:= sys-apps/flashrom:= sys-apps/util-linux:=
+DESCRIPTION=Chrome OS verified boot tools
+EAPI=7
+IUSE=cros_host dev_debug_force fuzzer pd_sync test tpmtests tpm tpm_dynamic tpm2 tpm2_simulator vtpm_proxy cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_13350f1d92d867a643e89ff2eac4e50ed31c18ab
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/crosid:= app-arch/libarchive:= dev-libs/libzip:= dev-libs/openssl:= sys-apps/coreboot-utils:= sys-apps/flashrom:= sys-apps/util-linux:=
+REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
+SLOT=0/1.0-r2306
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=511b14f6a18d39e562f8165535ad4f14
diff --git a/metadata/md5-cache/chromeos-base/vboot_reference-9999 b/metadata/md5-cache/chromeos-base/vboot_reference-9999
index fd55375..c2c1270 100644
--- a/metadata/md5-cache/chromeos-base/vboot_reference-9999
+++ b/metadata/md5-cache/chromeos-base/vboot_reference-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/crosid:= dev-libs/libzip:= dev-libs/openssl:= sys-apps/flashrom:= sys-apps/util-linux:=
+DEPEND=chromeos-base/crosid:= app-arch/libarchive:= dev-libs/libzip:= dev-libs/openssl:= sys-apps/coreboot-utils:= sys-apps/flashrom:= sys-apps/util-linux:=
 DESCRIPTION=Chrome OS verified boot tools
 EAPI=7
 IUSE=cros_host dev_debug_force fuzzer pd_sync test tpmtests tpm tpm_dynamic tpm2 tpm2_simulator vtpm_proxy cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=chromeos-base/crosid:= dev-libs/libzip:= dev-libs/openssl:= sys-apps/flashrom:= sys-apps/util-linux:=
+RDEPEND=chromeos-base/crosid:= app-arch/libarchive:= dev-libs/libzip:= dev-libs/openssl:= sys-apps/coreboot-utils:= sys-apps/flashrom:= sys-apps/util-linux:=
 REQUIRED_USE=tpm_dynamic? ( tpm tpm2 ) !tpm_dynamic? ( ?? ( tpm tpm2 ) )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ccf9bf743288362f20f92d73ce606dce
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0886aa734b98ad4430a8f50d70abe4f6
diff --git a/metadata/md5-cache/chromeos-base/vboot_reference-tests-0.0.1-r2095 b/metadata/md5-cache/chromeos-base/vboot_reference-tests-0.0.1-r2095
deleted file mode 100644
index ae69e1d..0000000
--- a/metadata/md5-cache/chromeos-base/vboot_reference-tests-0.0.1-r2095
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install setup unpack
-DEPEND=dev-libs/libzip:= dev-libs/openssl:= sys-apps/flashrom:= sys-apps/util-linux:=
-DESCRIPTION=vboot tests
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/vboot_reference/
-IUSE=cros_host cros_workon_tree_22dd0942e2590c2ea8b09bd8606689b6e5dc495c
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-libs/libzip:= dev-libs/openssl:= sys-apps/flashrom:= sys-apps/util-linux:=
-SLOT=0/0.0.1-r2095
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5f74aad9006225bad80e93a5b3a8127f
diff --git a/metadata/md5-cache/chromeos-base/vboot_reference-tests-0.0.1-r2164 b/metadata/md5-cache/chromeos-base/vboot_reference-tests-0.0.1-r2164
new file mode 100644
index 0000000..189a810
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/vboot_reference-tests-0.0.1-r2164
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install setup unpack
+DEPEND=dev-libs/libzip:= dev-libs/openssl:= sys-apps/flashrom:= sys-apps/util-linux:=
+DESCRIPTION=vboot tests
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/vboot_reference/
+IUSE=cros_host cros_workon_tree_13350f1d92d867a643e89ff2eac4e50ed31c18ab asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-libs/libzip:= dev-libs/openssl:= sys-apps/flashrom:= sys-apps/util-linux:=
+SLOT=0/0.0.1-r2164
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ebd83225a9cdbc5b90659ac863aa44cb
diff --git a/metadata/md5-cache/chromeos-base/vboot_reference-tests-9999 b/metadata/md5-cache/chromeos-base/vboot_reference-tests-9999
index 468d764..ea48181 100644
--- a/metadata/md5-cache/chromeos-base/vboot_reference-tests-9999
+++ b/metadata/md5-cache/chromeos-base/vboot_reference-tests-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install setup unpack
+DEFINED_PHASES=compile configure info install setup unpack
 DEPEND=dev-libs/libzip:= dev-libs/openssl:= sys-apps/flashrom:= sys-apps/util-linux:=
 DESCRIPTION=vboot tests
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/vboot_reference/
-IUSE=cros_host cros_workon_tree_
+IUSE=cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 RDEPEND=dev-libs/libzip:= dev-libs/openssl:= sys-apps/flashrom:= sys-apps/util-linux:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=75ebe1313f5261f6b8a00020bc3825bc
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=89b92f5a3338ca493a3debdab6e0e686
diff --git a/metadata/md5-cache/chromeos-base/verity-0.0.1-r248 b/metadata/md5-cache/chromeos-base/verity-0.0.1-r248
deleted file mode 100644
index 120a401..0000000
--- a/metadata/md5-cache/chromeos-base/verity-0.0.1-r248
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=File system integrity image generator for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/verity/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_6fc4c6b35e5c71304e6fed40a7a24e6401d38df3_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_6fc4c6b35e5c71304e6fed40a7a24e6401d38df3_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google GPL-2
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r248
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=3a0ef1deab6bf5052ed632961e59ab60
diff --git a/metadata/md5-cache/chromeos-base/verity-0.0.1-r307 b/metadata/md5-cache/chromeos-base/verity-0.0.1-r307
new file mode 100644
index 0000000..8fda530
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/verity-0.0.1-r307
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=File system integrity image generator for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/verity/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_a65107acb3c4cbbae51687d8409856f07b5dda27_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_a65107acb3c4cbbae51687d8409856f07b5dda27_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google GPL-2
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r307
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=08223fccee28103c5f9d3e780a8714fc
diff --git a/metadata/md5-cache/chromeos-base/verity-9999 b/metadata/md5-cache/chromeos-base/verity-9999
index 94d9857..2c63cdf 100644
--- a/metadata/md5-cache/chromeos-base/verity-9999
+++ b/metadata/md5-cache/chromeos-base/verity-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=File system integrity image generator for Chromium OS
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/verity/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google GPL-2
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=861f48d0f563d9b01116e29ea2dc60ea
diff --git a/metadata/md5-cache/chromeos-base/virtual-file-provider-0.0.1-r886 b/metadata/md5-cache/chromeos-base/virtual-file-provider-0.0.1-r886
deleted file mode 100644
index 0e2a222..0000000
--- a/metadata/md5-cache/chromeos-base/virtual-file-provider-0.0.1-r886
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=sys-fs/fuse:= sys-libs/libcap:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=D-Bus service to provide virtual file
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/virtual_file_provider
-IUSE=arcvm cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_edd0270df5e8c0f2a18acf652fca864457636112_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_edd0270df5e8c0f2a18acf652fca864457636112_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=sys-fs/fuse:= sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r886
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=90e39c0373a83d1a1f5c4319a0b57bf2
diff --git a/metadata/md5-cache/chromeos-base/virtual-file-provider-0.0.1-r948 b/metadata/md5-cache/chromeos-base/virtual-file-provider-0.0.1-r948
new file mode 100644
index 0000000..01e014b
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/virtual-file-provider-0.0.1-r948
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=sys-fs/fuse:= sys-libs/libcap:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=D-Bus service to provide virtual file
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/virtual_file_provider
+IUSE=arcvm cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_fc293354fb8ad9a9192d7ebfab15a03e8f0799ba_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_fc293354fb8ad9a9192d7ebfab15a03e8f0799ba_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=sys-fs/fuse:= sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r948
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=29ac3f9cf77e014bda5022aea595231c
diff --git a/metadata/md5-cache/chromeos-base/virtual-file-provider-9999 b/metadata/md5-cache/chromeos-base/virtual-file-provider-9999
index 63a08c1..cd85006 100644
--- a/metadata/md5-cache/chromeos-base/virtual-file-provider-9999
+++ b/metadata/md5-cache/chromeos-base/virtual-file-provider-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=sys-fs/fuse:= sys-libs/libcap:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=sys-fs/fuse:= sys-libs/libcap:= chromeos-base/system_api:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=D-Bus service to provide virtual file
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/virtual_file_provider
-IUSE=arcvm cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/virtual_file_provider
+IUSE=arcvm cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=sys-fs/fuse:= sys-libs/libcap:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=d67eb84a0b9dcf6c6687e56166939a9a
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=d8d7eea434c69f500a0e4f9b1a85607b
diff --git a/metadata/md5-cache/chromeos-base/virtual-usb-printer-0.0.1-r354 b/metadata/md5-cache/chromeos-base/virtual-usb-printer-0.0.1-r354
deleted file mode 100644
index d219bae..0000000
--- a/metadata/md5-cache/chromeos-base/virtual-usb-printer-0.0.1-r354
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libipp:= dev-libs/libxml2:= dev-libs/protobuf:= net-misc/usbip:= virtual/jpeg:0= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Used with USBIP to provide a virtual USB printer for testing.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/virtual-usb-printer/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_771d5213f60555b35b26fa8e733af71361c96435 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_771d5213f60555b35b26fa8e733af71361c96435 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live live
-RDEPEND=chromeos-base/libipp:= dev-libs/libxml2:= dev-libs/protobuf:= net-misc/usbip:= virtual/jpeg:0= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r354
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=dd4752f34557c84344d684ac6fdcd735
diff --git a/metadata/md5-cache/chromeos-base/virtual-usb-printer-0.0.1-r428 b/metadata/md5-cache/chromeos-base/virtual-usb-printer-0.0.1-r428
new file mode 100644
index 0000000..717f15a
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/virtual-usb-printer-0.0.1-r428
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/libipp:= dev-libs/libxml2:= dev-libs/protobuf:= net-misc/usbip:= virtual/jpeg:0= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Used with USBIP to provide a virtual USB printer for testing.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/virtual-usb-printer/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_a5bcfc0f633bf4f53ef09fcf2f8045ecbd51ab93 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_a5bcfc0f633bf4f53ef09fcf2f8045ecbd51ab93 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live live
+RDEPEND=chromeos-base/libipp:= dev-libs/libxml2:= dev-libs/protobuf:= net-misc/usbip:= virtual/jpeg:0= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r428
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3b42cecfde4d47690bfacfb16835cc79
diff --git a/metadata/md5-cache/chromeos-base/virtual-usb-printer-9999 b/metadata/md5-cache/chromeos-base/virtual-usb-printer-9999
index 3d9b70d..4a3fe9e 100644
--- a/metadata/md5-cache/chromeos-base/virtual-usb-printer-9999
+++ b/metadata/md5-cache/chromeos-base/virtual-usb-printer-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libipp:= dev-libs/libxml2:= dev-libs/protobuf:= net-misc/usbip:= virtual/jpeg:0= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/libipp:= dev-libs/libxml2:= dev-libs/protobuf:= net-misc/usbip:= virtual/jpeg:0= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Used with USBIP to provide a virtual USB printer for testing.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/virtual-usb-printer/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live live
 RDEPEND=chromeos-base/libipp:= dev-libs/libxml2:= dev-libs/protobuf:= net-misc/usbip:= virtual/jpeg:0= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=49c36d3cbfa5614da9ffa3cd27b2c06a
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7a969e21192e8ce80b98c23f8f2cf650
diff --git a/metadata/md5-cache/chromeos-base/vkbench-0.0.1-r11 b/metadata/md5-cache/chromeos-base/vkbench-0.0.1-r11
deleted file mode 100644
index 9d4fffa..0000000
--- a/metadata/md5-cache/chromeos-base/vkbench-0.0.1-r11
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-util/glslang dev-vcs/git dev-util/ninja >=dev-util/cmake-3.9.6
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=dev-libs/libfmt:= media-libs/libpng:= media-libs/vulkan-loader:= virtual/vulkan-icd:=
-DESCRIPTION=Microbenchmark for vulkan
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/vkbench/
-IUSE=vulkan cros_host cros_workon_tree_ab77730e73c6c56c3bacf7fa3c48942ed762d970
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-libs/libfmt:= media-libs/libpng:= media-libs/vulkan-loader:= virtual/vulkan-icd:=
-REQUIRED_USE=vulkan
-SLOT=0/0.0.1-r11
-_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=a222b9e6aafeb04a087061225953ed69
diff --git a/metadata/md5-cache/chromeos-base/vkbench-0.0.1-r12 b/metadata/md5-cache/chromeos-base/vkbench-0.0.1-r12
new file mode 100644
index 0000000..0f50627
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/vkbench-0.0.1-r12
@@ -0,0 +1,15 @@
+BDEPEND=dev-util/glslang dev-vcs/git dev-util/ninja >=dev-util/cmake-3.9.6
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=dev-libs/libfmt:= media-libs/libpng:= media-libs/vulkan-loader:= virtual/vulkan-icd:=
+DESCRIPTION=Microbenchmark for vulkan
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/vkbench/
+IUSE=vulkan cros_host cros_workon_tree_3e8df131b1195f7ca731d3b2c080287c7474ab87
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-libs/libfmt:= media-libs/libpng:= media-libs/vulkan-loader:= virtual/vulkan-icd:=
+REQUIRED_USE=vulkan
+SLOT=0/0.0.1-r12
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=c34c8f713c6e3ddfa2ac32fa38af8cc2
diff --git a/metadata/md5-cache/chromeos-base/vkbench-9999 b/metadata/md5-cache/chromeos-base/vkbench-9999
index 68b81eb..5a1751d 100644
--- a/metadata/md5-cache/chromeos-base/vkbench-9999
+++ b/metadata/md5-cache/chromeos-base/vkbench-9999
@@ -11,5 +11,5 @@
 RDEPEND=dev-libs/libfmt:= media-libs/libpng:= media-libs/vulkan-loader:= virtual/vulkan-icd:=
 REQUIRED_USE=vulkan
 SLOT=0/9999
-_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
 _md5_=d4cb91e9064a17507e62526cbaddfbd8
diff --git a/metadata/md5-cache/chromeos-base/vm_guest_tools-0.0.2-r1268 b/metadata/md5-cache/chromeos-base/vm_guest_tools-0.0.2-r1268
deleted file mode 100644
index 6fb7bb0..0000000
--- a/metadata/md5-cache/chromeos-base/vm_guest_tools-0.0.2-r1268
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst preinst setup test unpack
-DEPEND=!!chromeos-base/vm_tools chromeos-base/minijail:= net-libs/grpc:= dev-libs/protobuf:= dev-go/grpc:= dev-go/protobuf:= sys-kernel/linux-headers:= chromeos-base/vm_protos:= dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=VM guest tools for Chrome OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools
-IUSE=kvm_guest vm-containers fuzzer vm_borealis cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_7ef75a42aba67052842459f221271e681184cc89_0865c9d3ea1e3df829430fe6bc25ecbc3bc865ca_c1bde153626532428bf7409bc0597e79452c5eb8_5159f439e8516f904859190cfd0375b7a4d05db2_cd3dcc2c1e2f23d9c5783064e46a13be49ee9221_97190407ff6df6ae497a54e632369afdf09cd621_6e5ecc305ec4e5430265bd3e928a6de4fb0a4a72_ea7cf24b770b6e9776290ee8900a3b0fe537275f_332ccf98f5ef8cbc4fcaf7ad9d3aaa3130a62d38_fa62109f340296eacfec7022cbe3242f1bd4879d_b423643df4afaa0a936886bdc3d6b1749c0b6e7a_889e63b35e958b34d6cf15f62b243d442f1bac83_68b86394265699731d795155ad6e998ec55e5463_81465f23987dd2c482006411430ef171e856c5fe_a01dc69a1e1fa54805fe9b48ce5c278a7e70de0c cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_7ef75a42aba67052842459f221271e681184cc89_0865c9d3ea1e3df829430fe6bc25ecbc3bc865ca_c1bde153626532428bf7409bc0597e79452c5eb8_5159f439e8516f904859190cfd0375b7a4d05db2_cd3dcc2c1e2f23d9c5783064e46a13be49ee9221_97190407ff6df6ae497a54e632369afdf09cd621_6e5ecc305ec4e5430265bd3e928a6de4fb0a4a72_ea7cf24b770b6e9776290ee8900a3b0fe537275f_332ccf98f5ef8cbc4fcaf7ad9d3aaa3130a62d38_fa62109f340296eacfec7022cbe3242f1bd4879d_b423643df4afaa0a936886bdc3d6b1749c0b6e7a_889e63b35e958b34d6cf15f62b243d442f1bac83_68b86394265699731d795155ad6e998ec55e5463_81465f23987dd2c482006411430ef171e856c5fe_a01dc69a1e1fa54805fe9b48ce5c278a7e70de0c cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=!!chromeos-base/vm_tools chromeos-base/minijail:= net-libs/grpc:= dev-libs/protobuf:= vm-containers? ( chromeos-base/crash-reporter ) !fuzzer? ( chromeos-base/sommelier ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-REQUIRED_USE=kvm_guest
-SLOT=0/0.0.2-r1268
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=4b42373384796eb581598adfbc4773f8
diff --git a/metadata/md5-cache/chromeos-base/vm_guest_tools-0.0.2-r1376 b/metadata/md5-cache/chromeos-base/vm_guest_tools-0.0.2-r1376
new file mode 100644
index 0000000..9974a06
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/vm_guest_tools-0.0.2-r1376
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst preinst setup test unpack
+DEPEND=!!chromeos-base/vm_tools chromeos-base/minijail:= net-libs/grpc:= dev-libs/protobuf:= dev-go/protobuf-legacy-api:= dev-go/grpc:= dev-go/protobuf:= sys-kernel/linux-headers:= chromeos-base/vm_protos:= dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=VM guest tools for Chrome OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools
+IUSE=kvm_guest vm-containers fuzzer vm_borealis cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_7ef75a42aba67052842459f221271e681184cc89_8c8679f9db77b724d522f2d6a76d3bfdfeae827e_78a28564de27e03edbd93427ebc24aede3905082_5159f439e8516f904859190cfd0375b7a4d05db2_7c108bfa432bb4ff83e68e2ea1f884213ef29868_97190407ff6df6ae497a54e632369afdf09cd621_12dbe2245d86e86471aa84fb7656d3f422e1d6b6_49733aa1ca831c8f507f6c0eae190e74c4c188d3_f81fd2f617fbb538b0e48736020d89814f047321_8ead32c3d109ae63ef89e4aa3b818aeb38b51d14_aeddba56bfc6b1475cd7c298400145765f327a2f_889e63b35e958b34d6cf15f62b243d442f1bac83_64eb467661fb048cf581eb28e5ee0423136b4a02_81465f23987dd2c482006411430ef171e856c5fe_a01dc69a1e1fa54805fe9b48ce5c278a7e70de0c cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_7ef75a42aba67052842459f221271e681184cc89_8c8679f9db77b724d522f2d6a76d3bfdfeae827e_78a28564de27e03edbd93427ebc24aede3905082_5159f439e8516f904859190cfd0375b7a4d05db2_7c108bfa432bb4ff83e68e2ea1f884213ef29868_97190407ff6df6ae497a54e632369afdf09cd621_12dbe2245d86e86471aa84fb7656d3f422e1d6b6_49733aa1ca831c8f507f6c0eae190e74c4c188d3_f81fd2f617fbb538b0e48736020d89814f047321_8ead32c3d109ae63ef89e4aa3b818aeb38b51d14_aeddba56bfc6b1475cd7c298400145765f327a2f_889e63b35e958b34d6cf15f62b243d442f1bac83_64eb467661fb048cf581eb28e5ee0423136b4a02_81465f23987dd2c482006411430ef171e856c5fe_a01dc69a1e1fa54805fe9b48ce5c278a7e70de0c cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=!!chromeos-base/vm_tools chromeos-base/minijail:= net-libs/grpc:= dev-libs/protobuf:= dev-go/protobuf-legacy-api:= vm-containers? ( chromeos-base/crash-reporter ) !fuzzer? ( chromeos-base/sommelier ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+REQUIRED_USE=kvm_guest
+SLOT=0/0.0.2-r1376
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=0410c1a68f88662b167af7451b872da2
diff --git a/metadata/md5-cache/chromeos-base/vm_guest_tools-9999 b/metadata/md5-cache/chromeos-base/vm_guest_tools-9999
index d20d01f..2383799 100644
--- a/metadata/md5-cache/chromeos-base/vm_guest_tools-9999
+++ b/metadata/md5-cache/chromeos-base/vm_guest_tools-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst preinst setup test unpack
-DEPEND=!!chromeos-base/vm_tools chromeos-base/minijail:= net-libs/grpc:= dev-libs/protobuf:= dev-go/grpc:= dev-go/protobuf:= sys-kernel/linux-headers:= chromeos-base/vm_protos:= dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=!!chromeos-base/vm_tools chromeos-base/minijail:= net-libs/grpc:= dev-libs/protobuf:= dev-go/protobuf-legacy-api:= dev-go/grpc:= dev-go/protobuf:= sys-kernel/linux-headers:= chromeos-base/vm_protos:= dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=VM guest tools for Chrome OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools
-IUSE=kvm_guest vm-containers fuzzer vm_borealis cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools
+IUSE=kvm_guest vm-containers fuzzer vm_borealis cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=!!chromeos-base/vm_tools chromeos-base/minijail:= net-libs/grpc:= dev-libs/protobuf:= vm-containers? ( chromeos-base/crash-reporter ) !fuzzer? ( chromeos-base/sommelier ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+RDEPEND=!!chromeos-base/vm_tools chromeos-base/minijail:= net-libs/grpc:= dev-libs/protobuf:= dev-go/protobuf-legacy-api:= vm-containers? ( chromeos-base/crash-reporter ) !fuzzer? ( chromeos-base/sommelier ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 REQUIRED_USE=kvm_guest
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=f87d110ed24beb797e8ff448a6872957
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=da037fb23b6ee66e1c1099e96fd7d105
diff --git a/metadata/md5-cache/chromeos-base/vm_host_tools-0.0.2-r1559 b/metadata/md5-cache/chromeos-base/vm_host_tools-0.0.2-r1559
deleted file mode 100644
index 1ab4bbe..0000000
--- a/metadata/md5-cache/chromeos-base/vm_host_tools-0.0.2-r1559
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=app-arch/libarchive:= !!chromeos-base/vm_tools chromeos-base/chunnel:= chromeos-base/crosvm:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= net-libs/grpc:= dev-libs/protobuf:= chromeos-base/dlcservice-client:= chromeos-base/featured:= chromeos-base/manatee-client:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vm_protos:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=VM host tools for Chrome OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools
-IUSE=+kvm_host +seccomp +crosvm-wl-dmabuf fuzzer wilco +crosvm-virtio-video vulkan libglvnd cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e6d3266e1144e97a3914f1e4116368b08b29b4c6_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_68c18dcb5d0981cfd8fb60b1fc6f360c59d61bbc_7ef75a42aba67052842459f221271e681184cc89_cace8f1b0c58eccc16a704fec623e5d41eae0022_c1bde153626532428bf7409bc0597e79452c5eb8_3ace6fdf4b70f625dc47e81c194b8f92e840b623_ac29cd690c008065789426e0f02d71068ceba848_49d30ddddeef5feefdad25e5c32cfd8b7b40b9d5_af4e33c298acaf7af5278dc52d5814329c624f44_e2598f8160f0e1089268ae21cb458eb6bc46d71e_3a57293314fa7ffce092cd9ce0b29e1d51e1080b_9810247054961cb8639bad6bc185331754e21bb1_fa62109f340296eacfec7022cbe3242f1bd4879d_af7c9c6d25610d01525f53b4c72445fb15f79f03_4b930736bc7da8c301f27c7a82718e7d605de289_68b86394265699731d795155ad6e998ec55e5463_81465f23987dd2c482006411430ef171e856c5fe cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e6d3266e1144e97a3914f1e4116368b08b29b4c6_4a0dedab080195bdc122d2289118df4af3ddca2c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_68c18dcb5d0981cfd8fb60b1fc6f360c59d61bbc_7ef75a42aba67052842459f221271e681184cc89_cace8f1b0c58eccc16a704fec623e5d41eae0022_c1bde153626532428bf7409bc0597e79452c5eb8_3ace6fdf4b70f625dc47e81c194b8f92e840b623_ac29cd690c008065789426e0f02d71068ceba848_49d30ddddeef5feefdad25e5c32cfd8b7b40b9d5_af4e33c298acaf7af5278dc52d5814329c624f44_e2598f8160f0e1089268ae21cb458eb6bc46d71e_3a57293314fa7ffce092cd9ce0b29e1d51e1080b_9810247054961cb8639bad6bc185331754e21bb1_fa62109f340296eacfec7022cbe3242f1bd4879d_af7c9c6d25610d01525f53b4c72445fb15f79f03_4b930736bc7da8c301f27c7a82718e7d605de289_68b86394265699731d795155ad6e998ec55e5463_81465f23987dd2c482006411430ef171e856c5fe cros-debug compilation_database cros_host test arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=app-arch/libarchive:= !!chromeos-base/vm_tools chromeos-base/chunnel:= chromeos-base/crosvm:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= net-libs/grpc:= dev-libs/protobuf:= dev-rust/s9 virtual/tmpfiles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-REQUIRED_USE=kvm_host cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
-SLOT=0/0.0.2-r1559
-_eclasses_=arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=5a8ae675c5d1ed7d68df0546c742367b
diff --git a/metadata/md5-cache/chromeos-base/vm_host_tools-0.0.2-r1827 b/metadata/md5-cache/chromeos-base/vm_host_tools-0.0.2-r1827
new file mode 100644
index 0000000..287f4f5
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/vm_host_tools-0.0.2-r1827
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=app-arch/libarchive:= !!chromeos-base/vm_tools chromeos-base/chunnel:= chromeos-base/crosvm:= chromeos-base/libcrossystem:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= net-libs/grpc:= dev-libs/protobuf:= chromeos-base/dlcservice-client:= chromeos-base/featured:= chromeos-base/manatee-client:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= chromeos-base/vm_protos:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=VM host tools for Chrome OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools
+IUSE=+kvm_host +seccomp +crosvm-wl-dmabuf fuzzer wilco +crosvm-virtio-video vulkan libglvnd crosvm_siblings virtgpu_native_context iioservice cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_545d67a6429090226f1d6ac899f5f2d86bd38b99_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_9c2074e601aedb8358ee3b7c367c62042409c577_3b33fc07daf512e548300eefbd028b622bc51b44_7ef75a42aba67052842459f221271e681184cc89_876b666eae5a63a4d1573c7d9fb1196a78dd6fad_78a28564de27e03edbd93427ebc24aede3905082_f2f8d1e7f3179d4c0673c8fe56b7ae0478f065ef_59d684e9494215dbc87a3be67ed3ef4ee21a39da_369b6c3d6ddd2bbf6b89585b7e1a156954faebd9_10821612029dc3c4e863c760f918e55433e669cf_e2598f8160f0e1089268ae21cb458eb6bc46d71e_7cae38f61d328484fe9d49f19fc2cb49eb89e883_1ff86d1c03040927751e5f099ac70d0a3194f21b_8ead32c3d109ae63ef89e4aa3b818aeb38b51d14_477938c1f2459147988d2039df85eeda34202514_bc7248c2839eb191c34aa68d63e57ed5eb70768d_64eb467661fb048cf581eb28e5ee0423136b4a02_81465f23987dd2c482006411430ef171e856c5fe cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_545d67a6429090226f1d6ac899f5f2d86bd38b99_509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_9c2074e601aedb8358ee3b7c367c62042409c577_3b33fc07daf512e548300eefbd028b622bc51b44_7ef75a42aba67052842459f221271e681184cc89_876b666eae5a63a4d1573c7d9fb1196a78dd6fad_78a28564de27e03edbd93427ebc24aede3905082_f2f8d1e7f3179d4c0673c8fe56b7ae0478f065ef_59d684e9494215dbc87a3be67ed3ef4ee21a39da_369b6c3d6ddd2bbf6b89585b7e1a156954faebd9_10821612029dc3c4e863c760f918e55433e669cf_e2598f8160f0e1089268ae21cb458eb6bc46d71e_7cae38f61d328484fe9d49f19fc2cb49eb89e883_1ff86d1c03040927751e5f099ac70d0a3194f21b_8ead32c3d109ae63ef89e4aa3b818aeb38b51d14_477938c1f2459147988d2039df85eeda34202514_bc7248c2839eb191c34aa68d63e57ed5eb70768d_64eb467661fb048cf581eb28e5ee0423136b4a02_81465f23987dd2c482006411430ef171e856c5fe cros-debug compdb_only compilation_database cros_host test arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=app-arch/libarchive:= !!chromeos-base/vm_tools chromeos-base/chunnel:= chromeos-base/crosvm:= chromeos-base/libcrossystem:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= net-libs/grpc:= dev-libs/protobuf:= dev-rust/s9 virtual/tmpfiles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+REQUIRED_USE=kvm_host cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
+SLOT=0/0.0.2-r1827
+_eclasses_=arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=3d9c5ff76478bd6dd603e105f843d86d
diff --git a/metadata/md5-cache/chromeos-base/vm_host_tools-9999 b/metadata/md5-cache/chromeos-base/vm_host_tools-9999
index 0c6c366..8b11cbd 100644
--- a/metadata/md5-cache/chromeos-base/vm_host_tools-9999
+++ b/metadata/md5-cache/chromeos-base/vm_host_tools-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=app-arch/libarchive:= !!chromeos-base/vm_tools chromeos-base/chunnel:= chromeos-base/crosvm:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= net-libs/grpc:= dev-libs/protobuf:= chromeos-base/dlcservice-client:= chromeos-base/featured:= chromeos-base/manatee-client:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vm_protos:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=app-arch/libarchive:= !!chromeos-base/vm_tools chromeos-base/chunnel:= chromeos-base/crosvm:= chromeos-base/libcrossystem:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= net-libs/grpc:= dev-libs/protobuf:= chromeos-base/dlcservice-client:= chromeos-base/featured:= chromeos-base/manatee-client:= chromeos-base/shill-client:= chromeos-base/system_api:=[fuzzer?] chromeos-base/vboot_reference:= chromeos-base/vm_protos:= fuzzer? ( dev-libs/libprotobuf-mutator:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=VM host tools for Chrome OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools
-IUSE=+kvm_host +seccomp +crosvm-wl-dmabuf fuzzer wilco +crosvm-virtio-video vulkan libglvnd cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools
+IUSE=+kvm_host +seccomp +crosvm-wl-dmabuf fuzzer wilco +crosvm-virtio-video vulkan libglvnd crosvm_siblings virtgpu_native_context iioservice cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=app-arch/libarchive:= !!chromeos-base/vm_tools chromeos-base/chunnel:= chromeos-base/crosvm:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= net-libs/grpc:= dev-libs/protobuf:= dev-rust/s9 virtual/tmpfiles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-REQUIRED_USE=kvm_host cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
+RDEPEND=app-arch/libarchive:= !!chromeos-base/vm_tools chromeos-base/chunnel:= chromeos-base/crosvm:= chromeos-base/libcrossystem:= >=chromeos-base/metrics-0.0.1-r3152:= chromeos-base/minijail:= chromeos-base/patchpanel:= chromeos-base/patchpanel-client:= net-libs/grpc:= dev-libs/protobuf:= dev-rust/s9 virtual/tmpfiles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+REQUIRED_USE=kvm_host cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
 SLOT=0/9999
-_eclasses_=arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=3fa280d1f784c0130a5e6d785694813c
+_eclasses_=arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=eec988ff148be08a9604aabdfc6bd8ad
diff --git a/metadata/md5-cache/chromeos-base/vm_protos-0.0.1-r271 b/metadata/md5-cache/chromeos-base/vm_protos-0.0.1-r271
deleted file mode 100644
index 7bfee2d..0000000
--- a/metadata/md5-cache/chromeos-base/vm_protos-0.0.1-r271
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst setup test unpack
-DEPEND=dev-libs/protobuf:= net-libs/grpc:= !<chromeos-base/vm_guest_tools-0.0.2 !<chromeos-base/vm_host_tools-0.0.2 dev-go/protobuf:= dev-go/grpc:= dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS VM protobuf API
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools/proto
-IUSE=fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1a8a220b87d8f6e4d420e937fa0391999d00e449_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_1a8a220b87d8f6e4d420e937fa0391999d00e449_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=dev-libs/protobuf:= net-libs/grpc:= !<chromeos-base/vm_guest_tools-0.0.2 !<chromeos-base/vm_host_tools-0.0.2 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r271
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=77c0657afc70730fb8055538e2973528
diff --git a/metadata/md5-cache/chromeos-base/vm_protos-0.0.1-r338 b/metadata/md5-cache/chromeos-base/vm_protos-0.0.1-r338
new file mode 100644
index 0000000..27ffead
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/vm_protos-0.0.1-r338
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst setup test unpack
+DEPEND=dev-libs/protobuf:= net-libs/grpc:= !<chromeos-base/vm_guest_tools-0.0.2 !<chromeos-base/vm_host_tools-0.0.2 dev-go/protobuf:= dev-go/protobuf-legacy-api:= dev-go/grpc:= dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS VM protobuf API
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/proto
+IUSE=fuzzer cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_00ae29506296382180cec355ee3acb3662874ea9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_00ae29506296382180cec355ee3acb3662874ea9_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=dev-libs/protobuf:= net-libs/grpc:= !<chromeos-base/vm_guest_tools-0.0.2 !<chromeos-base/vm_host_tools-0.0.2 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r338
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8ca76f601a4e871adea6355d6423b7b1
diff --git a/metadata/md5-cache/chromeos-base/vm_protos-9999 b/metadata/md5-cache/chromeos-base/vm_protos-9999
index 8bf878c..6bb1f9b6 100644
--- a/metadata/md5-cache/chromeos-base/vm_protos-9999
+++ b/metadata/md5-cache/chromeos-base/vm_protos-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst setup test unpack
-DEPEND=dev-libs/protobuf:= net-libs/grpc:= !<chromeos-base/vm_guest_tools-0.0.2 !<chromeos-base/vm_host_tools-0.0.2 dev-go/protobuf:= dev-go/grpc:= dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=dev-libs/protobuf:= net-libs/grpc:= !<chromeos-base/vm_guest_tools-0.0.2 !<chromeos-base/vm_host_tools-0.0.2 dev-go/protobuf:= dev-go/protobuf-legacy-api:= dev-go/grpc:= dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS VM protobuf API
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools/proto
-IUSE=fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/proto
+IUSE=fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=dev-libs/protobuf:= net-libs/grpc:= !<chromeos-base/vm_guest_tools-0.0.2 !<chromeos-base/vm_host_tools-0.0.2 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c900270438227efc5646322a12d5844d
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=44f03246171c99d741e80c919a81a7d9
diff --git a/metadata/md5-cache/chromeos-base/vpd-0.0.1-r150 b/metadata/md5-cache/chromeos-base/vpd-0.0.1-r150
index b10f9d0..5c35bfa 100644
--- a/metadata/md5-cache/chromeos-base/vpd-0.0.1-r150
+++ b/metadata/md5-cache/chromeos-base/vpd-0.0.1-r150
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=sys-apps/flashrom dev-util/shflags virtual/chromeos-activate-date
 SLOT=0/0.0.1-r150
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f90b92e3aa3901f460c9e5c6f06aa85e
diff --git a/metadata/md5-cache/chromeos-base/vpd-9999 b/metadata/md5-cache/chromeos-base/vpd-9999
index 739230d..d7fe8e2 100644
--- a/metadata/md5-cache/chromeos-base/vpd-9999
+++ b/metadata/md5-cache/chromeos-base/vpd-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=sys-apps/flashrom dev-util/shflags virtual/chromeos-activate-date
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=cf45179804a1c9a94779153db20bd14a
diff --git a/metadata/md5-cache/chromeos-base/vpn-manager-0.0.1-r2862 b/metadata/md5-cache/chromeos-base/vpn-manager-0.0.1-r2862
deleted file mode 100644
index 3d3a236..0000000
--- a/metadata/md5-cache/chromeos-base/vpn-manager-0.0.1-r2862
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=net-dialup/ppp:= net-dialup/xl2tpd:= net-vpn/strongswan:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=L2TP/IPsec VPN manager for Chromium OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/vpn-manager/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_b77be93bd5b9a461cc8508aa57571afd308e97ce_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_b77be93bd5b9a461cc8508aa57571afd308e97ce_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=net-dialup/ppp:= net-dialup/xl2tpd:= net-vpn/strongswan:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r2862
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=f3e90511fe55ad7b98cd21514c95ce7c
diff --git a/metadata/md5-cache/chromeos-base/vpn-manager-0.0.1-r2922 b/metadata/md5-cache/chromeos-base/vpn-manager-0.0.1-r2922
new file mode 100644
index 0000000..8dc4c0d
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/vpn-manager-0.0.1-r2922
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=net-dialup/ppp:= net-dialup/xl2tpd:= net-vpn/strongswan:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=L2TP/IPsec VPN manager for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vpn-manager/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_462cb7ad367bdc196dd234e5bae863472f6d704b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_462cb7ad367bdc196dd234e5bae863472f6d704b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=net-dialup/ppp:= net-dialup/xl2tpd:= net-vpn/strongswan:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r2922
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4aa8b2e7c6d4393f0386f32ec4b6b4e8
diff --git a/metadata/md5-cache/chromeos-base/vpn-manager-9999 b/metadata/md5-cache/chromeos-base/vpn-manager-9999
index 81529e7..b9e2187 100644
--- a/metadata/md5-cache/chromeos-base/vpn-manager-9999
+++ b/metadata/md5-cache/chromeos-base/vpn-manager-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=net-dialup/ppp:= net-dialup/xl2tpd:= net-vpn/strongswan:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=net-dialup/ppp:= net-dialup/xl2tpd:= net-vpn/strongswan:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=L2TP/IPsec VPN manager for Chromium OS
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/vpn-manager/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vpn-manager/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=net-dialup/ppp:= net-dialup/xl2tpd:= net-vpn/strongswan:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=034a974f3d05ef32f1e9196d6f6e0b42
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5d46e42598ac94d35955a66741487176
diff --git a/metadata/md5-cache/chromeos-base/vtpm-0.0.1-r89 b/metadata/md5-cache/chromeos-base/vtpm-0.0.1-r89
new file mode 100644
index 0000000..60f2eed
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/vtpm-0.0.1-r89
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/attestation:=[test?] chromeos-base/system_api:= chromeos-base/tpm_manager:= chromeos-base/trunks:= chromeos-base/attestation-client:= chromeos-base/trunks:=[test?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Virtual TPM service for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vtpm/
+IUSE=test cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_46debaa1a374952167d5a2ca0bdf36013f053bc3_944879c9353c2df8adb7022407a8d319671325c1_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_5807b49f2a89205c10a0208e1124edffbff205af_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_46debaa1a374952167d5a2ca0bdf36013f053bc3_944879c9353c2df8adb7022407a8d319671325c1_0c8e3de65339e7e6a1ffe16a54c7ae719bacc57c_5807b49f2a89205c10a0208e1124edffbff205af_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=Apache-2.0
+PROPERTIES=live live
+RDEPEND=chromeos-base/attestation:=[test?] chromeos-base/system_api:= chromeos-base/tpm_manager:= chromeos-base/trunks:= virtual/tmpfiles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r89
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=10010eb1c76a11c2e38544a908e01a41
diff --git a/metadata/md5-cache/chromeos-base/vtpm-9999 b/metadata/md5-cache/chromeos-base/vtpm-9999
new file mode 100644
index 0000000..b7a1ca9
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/vtpm-9999
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/attestation:=[test?] chromeos-base/system_api:= chromeos-base/tpm_manager:= chromeos-base/trunks:= chromeos-base/attestation-client:= chromeos-base/trunks:=[test?] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=Virtual TPM service for Chromium OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vtpm/
+IUSE=test cros_host cros_workon_tree_ cros-debug cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=~*
+LICENSE=Apache-2.0
+PROPERTIES=live live
+RDEPEND=chromeos-base/attestation:=[test?] chromeos-base/system_api:= chromeos-base/tpm_manager:= chromeos-base/trunks:= virtual/tmpfiles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/9999
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=784194fa09332b65aba923b1274087d1
diff --git a/metadata/md5-cache/chromeos-base/webserver-0.0.1-r2407 b/metadata/md5-cache/chromeos-base/webserver-0.0.1-r2407
deleted file mode 100644
index 06d63de..0000000
--- a/metadata/md5-cache/chromeos-base/webserver-0.0.1-r2407
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/permission_broker:= net-libs/libmicrohttpd:= !chromeos-base/libwebserv:= chromeos-base/permission_broker-client:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=HTTP sever interface library
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/webserver/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_ee30bffa5e7b68afe08820cc3b668f209a688a4b_be6b72e4e8d4c78a70e2d560138706266e4f3a18_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_ee30bffa5e7b68afe08820cc3b668f209a688a4b_be6b72e4e8d4c78a70e2d560138706266e4f3a18_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/permission_broker:= net-libs/libmicrohttpd:= !chromeos-base/libwebserv:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0/0.0.1-r2407
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=3b6a25e4f9ed9cdf2f80f3f2897ee008
diff --git a/metadata/md5-cache/chromeos-base/webserver-0.0.1-r2488 b/metadata/md5-cache/chromeos-base/webserver-0.0.1-r2488
new file mode 100644
index 0000000..c8bd2cc
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/webserver-0.0.1-r2488
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/permission_broker:= net-libs/libmicrohttpd:= !chromeos-base/libwebserv:= chromeos-base/permission_broker-client:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=HTTP sever interface library
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/webserver/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f4e705a84c3c965c7fdb404c95aaf83f31e7316d_78e6b102575514dd562d53f188ae1ed43deb839c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_f4e705a84c3c965c7fdb404c95aaf83f31e7316d_78e6b102575514dd562d53f188ae1ed43deb839c_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/permission_broker:= net-libs/libmicrohttpd:= !chromeos-base/libwebserv:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0/0.0.1-r2488
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=822e4a4b1096df47b00368d5113001b3
diff --git a/metadata/md5-cache/chromeos-base/webserver-9999 b/metadata/md5-cache/chromeos-base/webserver-9999
index ed07b1c..54c3988 100644
--- a/metadata/md5-cache/chromeos-base/webserver-9999
+++ b/metadata/md5-cache/chromeos-base/webserver-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/permission_broker:= net-libs/libmicrohttpd:= !chromeos-base/libwebserv:= chromeos-base/permission_broker-client:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/permission_broker:= net-libs/libmicrohttpd:= !chromeos-base/libwebserv:= chromeos-base/permission_broker-client:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=HTTP sever interface library
 EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/webserver/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/webserver/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/permission_broker:= net-libs/libmicrohttpd:= !chromeos-base/libwebserv:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=056a89d9bd6bbc2b30d0c91c61b55ec9
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=e7fd4a610de842e04b5f517cbf7e0cb6
diff --git a/metadata/md5-cache/chromeos-base/wilco-dtc-grpc-protos-0.0.1-r211 b/metadata/md5-cache/chromeos-base/wilco-dtc-grpc-protos-0.0.1-r211
deleted file mode 100644
index 1e7efa0..0000000
--- a/metadata/md5-cache/chromeos-base/wilco-dtc-grpc-protos-0.0.1-r211
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install postinst setup test unpack
-DEPEND=dev-libs/protobuf:= net-libs/grpc:= dev-go/protobuf dev-go/grpc dev-lang/go cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS Wilco DTC proto/gRPC API
-EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/diagnostics/grpc
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_59c17a65a89d8ba657de6454bc8dce70a1052ca1_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_59c17a65a89d8ba657de6454bc8dce70a1052ca1_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=dev-libs/protobuf:= net-libs/grpc:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=8997f4c0cd55155600e79ff07be2641b
diff --git a/metadata/md5-cache/chromeos-base/wilco-dtc-grpc-protos-0.0.1-r271 b/metadata/md5-cache/chromeos-base/wilco-dtc-grpc-protos-0.0.1-r271
new file mode 100644
index 0000000..485e408
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/wilco-dtc-grpc-protos-0.0.1-r271
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install postinst setup test unpack
+DEPEND=dev-libs/protobuf:= dev-go/protobuf-legacy-api:= net-libs/grpc:= dev-go/protobuf dev-go/grpc dev-lang/go cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS Wilco DTC proto/gRPC API
+EAPI=6
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/diagnostics/grpc
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_48152c166377a472e88e63a8996aeb920ac44e0a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_48152c166377a472e88e63a8996aeb920ac44e0a_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=dev-libs/protobuf:= dev-go/protobuf-legacy-api:= net-libs/grpc:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=7c78967e5dd6df86a04a350babbaedda
diff --git a/metadata/md5-cache/chromeos-base/wilco-dtc-grpc-protos-9999 b/metadata/md5-cache/chromeos-base/wilco-dtc-grpc-protos-9999
index cc5dc5d..347f64b 100644
--- a/metadata/md5-cache/chromeos-base/wilco-dtc-grpc-protos-9999
+++ b/metadata/md5-cache/chromeos-base/wilco-dtc-grpc-protos-9999
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile configure info install postinst setup test unpack
-DEPEND=dev-libs/protobuf:= net-libs/grpc:= dev-go/protobuf dev-go/grpc dev-lang/go cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=dev-libs/protobuf:= dev-go/protobuf-legacy-api:= net-libs/grpc:= dev-go/protobuf dev-go/grpc dev-lang/go cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS Wilco DTC proto/gRPC API
 EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/diagnostics/grpc
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/diagnostics/grpc
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=dev-libs/protobuf:= net-libs/grpc:=
+RDEPEND=dev-libs/protobuf:= dev-go/protobuf-legacy-api:= net-libs/grpc:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=644d6d9a78554887a0db442882942e18
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=7f29c097c8d497804c84203f62aefa8a
diff --git a/metadata/md5-cache/chromeos-base/wprgo-0.0.1 b/metadata/md5-cache/chromeos-base/wprgo-0.0.1
index 63f29cb..7060f0a 100644
--- a/metadata/md5-cache/chromeos-base/wprgo-0.0.1
+++ b/metadata/md5-cache/chromeos-base/wprgo-0.0.1
@@ -7,5 +7,5 @@
 LICENSE=BSD-Google
 SLOT=0
 SRC_URI=https://github.com/catapult-project/catapult/archive/35457f076227dce062ece5b51f3655223af1788f.tar.gz -> github.com-catapult-project-catapult-35457f076227dce062ece5b51f3655223af1788f.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=d076a4d2fb52f8bab72634f0fc4c48e7
diff --git a/metadata/md5-cache/chromeos-base/wprgo-0.0.1-r2 b/metadata/md5-cache/chromeos-base/wprgo-0.0.1-r2
index 63f29cb..7060f0a 100644
--- a/metadata/md5-cache/chromeos-base/wprgo-0.0.1-r2
+++ b/metadata/md5-cache/chromeos-base/wprgo-0.0.1-r2
@@ -7,5 +7,5 @@
 LICENSE=BSD-Google
 SLOT=0
 SRC_URI=https://github.com/catapult-project/catapult/archive/35457f076227dce062ece5b51f3655223af1788f.tar.gz -> github.com-catapult-project-catapult-35457f076227dce062ece5b51f3655223af1788f.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=d076a4d2fb52f8bab72634f0fc4c48e7
diff --git a/metadata/md5-cache/chromeos-base/zephyr-build-tools-0.0.1-r171 b/metadata/md5-cache/chromeos-base/zephyr-build-tools-0.0.1-r171
deleted file mode 100644
index 22573f9..0000000
--- a/metadata/md5-cache/chromeos-base/zephyr-build-tools-0.0.1-r171
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DESCRIPTION=Tools used for building Zephyr OS
-EAPI=7
-HOMEPAGE=http://src.chromium.org
-IUSE=cros_host cros_workon_tree_586d5b0ed6f4ce531019a56882c098d1c08d1e5d python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-embedded/binman dev-python/black[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/colorama[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/docopt[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/flake8[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/hypothesis[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/isort[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/jsonschema[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pykwalify[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pytest[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pyyaml[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/testfixtures[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-util/ninja sys-apps/dtc python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 ) || ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=53053b5e0e70f9ec18d36f70e811ac89
diff --git a/metadata/md5-cache/chromeos-base/zephyr-build-tools-0.0.1-r212 b/metadata/md5-cache/chromeos-base/zephyr-build-tools-0.0.1-r212
new file mode 100644
index 0000000..cc60fd4
--- /dev/null
+++ b/metadata/md5-cache/chromeos-base/zephyr-build-tools-0.0.1-r212
@@ -0,0 +1,14 @@
+BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DESCRIPTION=Tools used for building Zephyr OS
+EAPI=7
+HOMEPAGE=http://src.chromium.org
+IUSE=cros_host cros_workon_tree_beb648de92385c06b6faf2ec8a7d9ce65020f80c python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-embedded/binman dev-python/black[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/colorama[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/docopt[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/flake8[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/hypothesis[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/isort[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/jsonschema[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pykwalify[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pytest[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pyyaml[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/testfixtures[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-util/ninja sys-apps/dtc python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 ) || ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=74d6fa8bf7b9c46f317ed62bacc83b41
diff --git a/metadata/md5-cache/chromeos-base/zephyr-build-tools-9999 b/metadata/md5-cache/chromeos-base/zephyr-build-tools-9999
index a08bb6f..df08433 100644
--- a/metadata/md5-cache/chromeos-base/zephyr-build-tools-9999
+++ b/metadata/md5-cache/chromeos-base/zephyr-build-tools-9999
@@ -10,5 +10,5 @@
 RDEPEND=dev-embedded/binman dev-python/black[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/colorama[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/docopt[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/flake8[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/hypothesis[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/isort[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/jsonschema[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pykwalify[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pytest[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pyyaml[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/testfixtures[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-util/ninja sys-apps/dtc python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
 REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 ) || ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=24f41242f1e44a4a026b61eb4717e120
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4c43425a1557333ff5c5d621b4fe93c9
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-am-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-am-20220203
deleted file mode 100644
index 3ad67d1..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-am-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting am Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-am-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=8e2c1efdbd8428111baa1d029af8d858
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-ar-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-ar-20220203
deleted file mode 100644
index 07b7954..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-ar-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting ar Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-ar-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=beb08ee18abb6bde1271b6d0e174b9e4
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-base-0.0.15 b/metadata/md5-cache/chromeos-languagepacks/handwriting-base-0.0.15
new file mode 100644
index 0000000..d6fd9b7
--- /dev/null
+++ b/metadata/md5-cache/chromeos-languagepacks/handwriting-base-0.0.15
@@ -0,0 +1,11 @@
+DEFINED_PHASES=install
+DESCRIPTION=Handwriting Library used by Language Pack for Chromium OS
+EAPI=7
+IUSE=dlc ondevice_handwriting
+KEYWORDS=*
+LICENSE=BSD-Google
+REQUIRED_USE=dlc ondevice_handwriting
+SLOT=0
+SRC_URI=gs://chromeos-localmirror/distfiles/libhandwriting-0.0.15.tar.gz
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
+_md5_=e9359f4b84562d8f5505b0f14520ef9f
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-be-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-be-20220203
deleted file mode 100644
index 6b3ca2b1..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-be-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting be Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-be-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=aa50a571d0eaef912546e6579f113ef7
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-bg-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-bg-20220203
deleted file mode 100644
index 3ca1ce4..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-bg-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting bg Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-bg-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=558de292dcc597a7ee9d3e9dc15b7f19
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-bn-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-bn-20220203
deleted file mode 100644
index 85081e8..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-bn-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting bn Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-bn-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=59c46eea8c15f84b0bef8a3c41080e24
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-ca-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-ca-20220203
deleted file mode 100644
index 5dde65c..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-ca-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting ca Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-ca-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=4831887a73a79e48fb29546767e4044a
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-cs-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-cs-20220203
deleted file mode 100644
index 5fe510f..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-cs-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting cs Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-cs-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=2dc2a8b872c3ef73a56392d41e47239d
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-el-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-el-20220203
deleted file mode 100644
index 39925ec..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-el-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting el Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-el-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=c58933b1a1ac57df9430d907401da66b
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-es-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-es-20220203
index 294a425..28cf350 100644
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-es-20220203
+++ b/metadata/md5-cache/chromeos-languagepacks/handwriting-es-20220203
@@ -9,4 +9,4 @@
 SLOT=0
 SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-es-20220203.tar.xz
 _eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=1e2d6615a6766bf60b156cc6fb502818
+_md5_=e4b62c0f7ddbe796971ab85220548fc0
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-es-20220203-r1 b/metadata/md5-cache/chromeos-languagepacks/handwriting-es-20220203-r1
new file mode 100644
index 0000000..28cf350
--- /dev/null
+++ b/metadata/md5-cache/chromeos-languagepacks/handwriting-es-20220203-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=install unpack
+DESCRIPTION=Handwriting es Language Pack for Chromium OS
+EAPI=7
+HOMEPAGE=https://www.chromium.org/chromium-os
+IUSE=dlc ondevice_handwriting
+KEYWORDS=*
+LICENSE=BSD-Google
+REQUIRED_USE=dlc ondevice_handwriting
+SLOT=0
+SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-es-20220203.tar.xz
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
+_md5_=e4b62c0f7ddbe796971ab85220548fc0
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-et-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-et-20220203
deleted file mode 100644
index d253108..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-et-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting et Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-et-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=e62de0b499b3e8bad6f4ce98defae702
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-fa-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-fa-20220203
deleted file mode 100644
index 08d9d39..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-fa-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting fa Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-fa-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=734d358616320e173a08625953914ff9
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-ga-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-ga-20220203
deleted file mode 100644
index a5617e4..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-ga-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting ga Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-ga-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=fe3ac3145c25bce66011633908ad2fb9
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-gu-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-gu-20220203
deleted file mode 100644
index f975631..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-gu-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting gu Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-gu-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=de3267e002a63d3cf5c9c5a313f07e7e
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-hi-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-hi-20220203
deleted file mode 100644
index 4037db3..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-hi-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting hi Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-hi-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=12d78a7bcbfe1d8818c03f0ea495ae64
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-hr-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-hr-20220203
deleted file mode 100644
index 70831ca..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-hr-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting hr Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-hr-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=881f1be0a088e20cb59534a888c89f5e
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-hu-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-hu-20220203
deleted file mode 100644
index dac4284..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-hu-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting hu Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-hu-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=76abfb4b549a0006cd85fc1464437b0c
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-hy-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-hy-20220203
deleted file mode 100644
index 3f842e5b..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-hy-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting hy Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-hy-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=0c35f5b05f5ab728fdf50f6eb8b60248
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-id-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-id-20220203
deleted file mode 100644
index 9dbeda6..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-id-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting id Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-id-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=332cf71e677e0027bf99a12028f5f6f7
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-is-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-is-20220203
deleted file mode 100644
index a543854..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-is-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting is Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-is-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=19a234b1923ad36ef4066235c3185e0d
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-iw-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-iw-20220203
deleted file mode 100644
index 132bf7d..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-iw-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting iw Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-iw-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=204fa052917b4a77a625507fd88e1967
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-ka-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-ka-20220203
deleted file mode 100644
index 67caa05..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-ka-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting ka Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-ka-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=1999a43df0f4e05610179d4e331b79ce
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-kk-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-kk-20220203
deleted file mode 100644
index e9c9d8d..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-kk-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting kk Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-kk-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=ff74195a735a45820cd4f102bfd7e25e
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-km-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-km-20220203
deleted file mode 100644
index 6f3d70f..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-km-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting km Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-km-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=fd4233c54394d7364939f3380b941cc2
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-kn-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-kn-20220203
deleted file mode 100644
index c0095b6..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-kn-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting kn Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-kn-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=e4fc2ba2aa7e033235f86120553986f9
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-ko-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-ko-20220203
deleted file mode 100644
index 94dfe8f..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-ko-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting ko Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-ko-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=48499512c269b2926f407a35ae7fc8a7
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-lo-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-lo-20220203
deleted file mode 100644
index 2f41a54..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-lo-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting lo Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-lo-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=f368208af622ceba606dbb69214d0330
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-lt-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-lt-20220203
deleted file mode 100644
index 8aee68e..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-lt-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting lt Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-lt-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=b6f1e5c2ee37ed090bd87907b6349052
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-lv-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-lv-20220203
deleted file mode 100644
index af38d43..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-lv-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting lv Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-lv-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=5fdd96a6cb50bf9efd00b73ab8b77e57
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-ml-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-ml-20220203
deleted file mode 100644
index 8c2b3db..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-ml-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting ml Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-ml-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=8a80550ce88bcc9c5c175aa89ee71504
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-mn-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-mn-20220203
deleted file mode 100644
index 59c754f..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-mn-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting mn Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-mn-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=26cee9e1a7d98c0afd5330db7d446243
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-mr-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-mr-20220203
deleted file mode 100644
index 4fedfb5..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-mr-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting mr Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-mr-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=21b074889cc495c5dcf5c38f3782fdde
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-ms-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-ms-20220203
deleted file mode 100644
index c8bc889..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-ms-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting ms Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-ms-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=55fb07409592fbb486633b577b9cb43b
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-mt-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-mt-20220203
deleted file mode 100644
index c0b8455..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-mt-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting mt Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-mt-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=be23e75f8b57e256741e22c783e6d749
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-my-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-my-20220203
deleted file mode 100644
index 4411c1e..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-my-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting my Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-my-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=866fba1fffaffa52418e0484d17e4641
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-ne-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-ne-20220203
deleted file mode 100644
index 0e3a5ce..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-ne-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting ne Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-ne-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=0e2282d8304263ccdfb8b7c3d1002a4a
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-no-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-no-20220203
deleted file mode 100644
index e7388bc..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-no-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting no Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-no-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=cd9878cbe7272f9630b63ac3ec8470d2
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-or-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-or-20220203
deleted file mode 100644
index 059ac44..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-or-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting or Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-or-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=32881a8427441c4b0993d299d6cb5f55
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-pa-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-pa-20220203
deleted file mode 100644
index 353640f..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-pa-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting pa Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-pa-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=84275989c872bc49b5f5fd17be262d79
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-pl-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-pl-20220203
deleted file mode 100644
index 5672cad..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-pl-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting pl Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-pl-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=8d3264971acfcc20c2b7ed4042c790ee
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-ro-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-ro-20220203
deleted file mode 100644
index b36fcd6..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-ro-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting ro Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-ro-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=952ba7da27dbd186fd362807b2ddb306
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-ru-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-ru-20220203
deleted file mode 100644
index bc32dbf..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-ru-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting ru Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-ru-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=4064f4c9d970414aa7cc5e441e72d7bf
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-si-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-si-20220203
deleted file mode 100644
index 0942dc3..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-si-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting si Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-si-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=093c519062116ad9df9c3037efb806be
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-sk-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-sk-20220203
deleted file mode 100644
index 374f01a..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-sk-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting sk Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-sk-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=3f415be7e4bd20cbb07f79418c26827e
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-sl-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-sl-20220203
deleted file mode 100644
index 9b1ac37..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-sl-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting sl Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-sl-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=5fe57e4143e42037251d0d826f481934
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-sr-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-sr-20220203
deleted file mode 100644
index f13fcd9..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-sr-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting sr Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-sr-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=c1ce549b7d13d25e1197c7f3996a3dec
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-ta-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-ta-20220203
deleted file mode 100644
index 13b71fd..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-ta-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting ta Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-ta-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=dac36712b95e9077cabf230a38972f72
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-te-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-te-20220203
deleted file mode 100644
index 9867387..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-te-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting te Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-te-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=6ba6cf171a14d8a15db983bc124d270c
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-th-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-th-20220203
deleted file mode 100644
index ed72d17..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-th-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting th Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-th-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=3603bbe88162ad6064cde50151daa170
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-ti-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-ti-20220203
deleted file mode 100644
index ecb09ef..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-ti-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting ti Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-ti-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=2de28129413dcaee54590e8abdf51613
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-tl-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-tl-20220203
deleted file mode 100644
index aced423..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-tl-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting tl Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-tl-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=07a3f7b6e5c00afe6124fd214994ad30
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-tr-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-tr-20220203
deleted file mode 100644
index 70c732b..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-tr-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting tr Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-tr-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=633ac3795db28e05632ebc5a755d970f
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-uk-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-uk-20220203
deleted file mode 100644
index 71962eb..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-uk-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting uk Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-uk-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=21060fb768f5b0ee1670e0a8c2f07ea2
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-ur-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-ur-20220203
deleted file mode 100644
index 294886d..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-ur-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting ur Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-ur-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=a0fbcf50ada697db644aa80a07ee4f0f
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-vi-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-vi-20220203
deleted file mode 100644
index 3dbaf95..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-vi-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting vi Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-vi-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=cc847dec348c7d7a778c2d0e595f7f3d
diff --git a/metadata/md5-cache/chromeos-languagepacks/handwriting-zh-20220203 b/metadata/md5-cache/chromeos-languagepacks/handwriting-zh-20220203
deleted file mode 100644
index 0d06e47..0000000
--- a/metadata/md5-cache/chromeos-languagepacks/handwriting-zh-20220203
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install unpack
-DESCRIPTION=Handwriting zh Language Pack for Chromium OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=dlc ondevice_handwriting
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=dlc ondevice_handwriting
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-handwriting-zh-20220203.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
-_md5_=f62890efd77fcd528ccde847aa4b5e0c
diff --git a/metadata/md5-cache/chromeos-languagepacks/tts-es-us-37 b/metadata/md5-cache/chromeos-languagepacks/tts-es-us-37
new file mode 100644
index 0000000..1349211
--- /dev/null
+++ b/metadata/md5-cache/chromeos-languagepacks/tts-es-us-37
@@ -0,0 +1,12 @@
+DEFINED_PHASES=install
+DESCRIPTION=TTS es-us Language Pack for Chromium OS
+EAPI=7
+HOMEPAGE=https://www.chromium.org/chromium-os
+IUSE=dlc
+KEYWORDS=*
+LICENSE=BSD-Google
+REQUIRED_USE=dlc
+SLOT=0
+SRC_URI=gs://chromeos-localmirror/distfiles/languagepack-tts-es-us-37.tar.xz
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
+_md5_=600c690ac488192fcbc471a5540bb49b
diff --git a/metadata/md5-cache/dev-cpp/abseil-cpp-20210324.2 b/metadata/md5-cache/dev-cpp/abseil-cpp-20210324.2
deleted file mode 100644
index 258fe53..0000000
--- a/metadata/md5-cache/dev-cpp/abseil-cpp-20210324.2
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=|| ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) test? ( sys-libs/timezone-data ) dev-util/ninja dev-util/cmake
-DEFINED_PHASES=compile configure install prepare setup test
-DEPEND=!=dev-cpp/absl-20210324.1
-DESCRIPTION=Abseil Common Libraries (C++), LTS Branch
-EAPI=7
-HOMEPAGE=https://abseil.io
-IUSE=test
-KEYWORDS=*
-LICENSE=Apache-2.0 test? ( BSD )
-RDEPEND=!=dev-cpp/absl-20210324.1
-RESTRICT=!test? ( test )
-SLOT=0/20210324
-SRC_URI=https://github.com/abseil/abseil-cpp/archive/20210324.2.tar.gz -> abseil-cpp-20210324.2.tar.gz test? ( https://github.com/google/googletest/archive/aee0f9d9b5b87796ee8a0ab26b7587ec30e8858e.tar.gz -> gtest-1.10.0_p20200702.tar.gz )
-_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=b013e04829c46307b5e3e0e1adb838e3
diff --git a/metadata/md5-cache/dev-cpp/abseil-cpp-20210324.2-r1 b/metadata/md5-cache/dev-cpp/abseil-cpp-20210324.2-r1
deleted file mode 100644
index 258fe53..0000000
--- a/metadata/md5-cache/dev-cpp/abseil-cpp-20210324.2-r1
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=|| ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) test? ( sys-libs/timezone-data ) dev-util/ninja dev-util/cmake
-DEFINED_PHASES=compile configure install prepare setup test
-DEPEND=!=dev-cpp/absl-20210324.1
-DESCRIPTION=Abseil Common Libraries (C++), LTS Branch
-EAPI=7
-HOMEPAGE=https://abseil.io
-IUSE=test
-KEYWORDS=*
-LICENSE=Apache-2.0 test? ( BSD )
-RDEPEND=!=dev-cpp/absl-20210324.1
-RESTRICT=!test? ( test )
-SLOT=0/20210324
-SRC_URI=https://github.com/abseil/abseil-cpp/archive/20210324.2.tar.gz -> abseil-cpp-20210324.2.tar.gz test? ( https://github.com/google/googletest/archive/aee0f9d9b5b87796ee8a0ab26b7587ec30e8858e.tar.gz -> gtest-1.10.0_p20200702.tar.gz )
-_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=b013e04829c46307b5e3e0e1adb838e3
diff --git a/metadata/md5-cache/dev-cpp/abseil-cpp-20211102.0-r4 b/metadata/md5-cache/dev-cpp/abseil-cpp-20211102.0-r4
new file mode 100644
index 0000000..52b8a229
--- /dev/null
+++ b/metadata/md5-cache/dev-cpp/abseil-cpp-20211102.0-r4
@@ -0,0 +1,14 @@
+BDEPEND=|| ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) test? ( sys-libs/timezone-data ) dev-util/ninja dev-util/cmake
+DEFINED_PHASES=compile configure install prepare setup test
+DESCRIPTION=Abseil Common Libraries (C++), LTS Branch
+EAPI=7
+HOMEPAGE=https://abseil.io
+IUSE=test
+KEYWORDS=*
+LICENSE=Apache-2.0 test? ( BSD )
+RDEPEND=!<dev-cpp/absl-20211102.0
+RESTRICT=!test? ( test )
+SLOT=0/20211102.0-r4
+SRC_URI=https://github.com/abseil/abseil-cpp/archive/20211102.0.tar.gz -> abseil-cpp-20211102.0.tar.gz test? ( https://github.com/google/googletest/archive/1b18723e874b256c1e39378c6774a90701d70f7a.tar.gz -> gtest-1b18723e874b256c1e39378c6774a90701d70f7a.tar.gz )
+_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=5021dc1095ec377437f0779cf8b91bb1
diff --git a/metadata/md5-cache/dev-cpp/absl-20210324.1 b/metadata/md5-cache/dev-cpp/absl-20210324.1
deleted file mode 100644
index c79cc02..0000000
--- a/metadata/md5-cache/dev-cpp/absl-20210324.1
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=Abseil - C++ Common Libraries
-EAPI=6
-HOMEPAGE=https://abseil.io
-KEYWORDS=*
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/abseil/abseil-cpp/archive/refs/tags/20210324.1.tar.gz -> absl-20210324.1.tar.gz
-_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=24f2d235e36751635310740b5c85ac71
diff --git a/metadata/md5-cache/dev-cpp/absl-20210324.1-r1 b/metadata/md5-cache/dev-cpp/absl-20210324.1-r1
deleted file mode 100644
index c79cc02..0000000
--- a/metadata/md5-cache/dev-cpp/absl-20210324.1-r1
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=Abseil - C++ Common Libraries
-EAPI=6
-HOMEPAGE=https://abseil.io
-KEYWORDS=*
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/abseil/abseil-cpp/archive/refs/tags/20210324.1.tar.gz -> absl-20210324.1.tar.gz
-_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=24f2d235e36751635310740b5c85ac71
diff --git a/metadata/md5-cache/dev-embedded/binman-0.0.1-r6 b/metadata/md5-cache/dev-embedded/binman-0.0.1-r6
deleted file mode 100644
index 6c37a3d..0000000
--- a/metadata/md5-cache/dev-embedded/binman-0.0.1-r6
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DESCRIPTION=Binman tool (from U-Boot) for creating / adjusting firmware images
-EAPI=7
-HOMEPAGE=https://www.denx.de/wiki/U-Boot
-IUSE=cros_host cros_workon_tree_16384d991c25985ca4c0345c6b9fb7df570ff40c python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=dev-embedded/dtoc dev-vcs/patman python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 )
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=1d86ecaf30b21fbd831f95a193f9776b
diff --git a/metadata/md5-cache/dev-embedded/binman-0.0.1-r8 b/metadata/md5-cache/dev-embedded/binman-0.0.1-r8
new file mode 100644
index 0000000..d6d747b
--- /dev/null
+++ b/metadata/md5-cache/dev-embedded/binman-0.0.1-r8
@@ -0,0 +1,14 @@
+BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DESCRIPTION=Binman tool (from U-Boot) for creating / adjusting firmware images
+EAPI=7
+HOMEPAGE=https://www.denx.de/wiki/U-Boot
+IUSE=cros_host cros_workon_tree_41d467c36587f7a865d87ea4817675a0aa4a9163 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=dev-embedded/dtoc dev-vcs/patman python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0bb57599d4ecee072080be8c7949f3b5
diff --git a/metadata/md5-cache/dev-embedded/binman-9999 b/metadata/md5-cache/dev-embedded/binman-9999
index 3eeb71c..83d8b4c 100644
--- a/metadata/md5-cache/dev-embedded/binman-9999
+++ b/metadata/md5-cache/dev-embedded/binman-9999
@@ -1,14 +1,14 @@
-BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
+BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
 DEFINED_PHASES=compile configure info install prepare setup test unpack
 DESCRIPTION=Binman tool (from U-Boot) for creating / adjusting firmware images
 EAPI=7
 HOMEPAGE=https://www.denx.de/wiki/U-Boot
-IUSE=cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
+IUSE=cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
-RDEPEND=dev-embedded/dtoc dev-vcs/patman python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 )
+RDEPEND=dev-embedded/dtoc dev-vcs/patman python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=37b9b238a6f2a014a7483186b965281f
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4f1abfa421c1fb8c565384d33e97ab78
diff --git a/metadata/md5-cache/dev-embedded/coreboot-sdk-0.0.1-r115 b/metadata/md5-cache/dev-embedded/coreboot-sdk-0.0.1-r115
index 74a2a5f..919e1f1 100644
--- a/metadata/md5-cache/dev-embedded/coreboot-sdk-0.0.1-r115
+++ b/metadata/md5-cache/dev-embedded/coreboot-sdk-0.0.1-r115
@@ -9,5 +9,5 @@
 PROPERTIES=live
 SLOT=0/0.0.1-r115
 SRC_URI=https://ftpmirror.gnu.org/gmp/gmp-6.2.1.tar.xz https://ftpmirror.gnu.org/mpfr/mpfr-4.1.0.tar.xz https://ftpmirror.gnu.org/mpc/mpc-1.2.1.tar.gz https://ftpmirror.gnu.org/gcc/gcc-11.2.0/gcc-11.2.0.tar.xz https://ftpmirror.gnu.org/binutils/binutils-2.37.tar.xz https://acpica.org/sites/acpica/files/acpica-unix2-20210331.tar.gz http://mirrors.cdn.adacore.com/art/591c6d80c7a447af2deed1d7 -> gnat-gpl-2017-x86_64-linux-bin.tar.gz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=8d37e35f2156b457e3bd5953f1209943
diff --git a/metadata/md5-cache/dev-embedded/coreboot-sdk-9999 b/metadata/md5-cache/dev-embedded/coreboot-sdk-9999
index 5ea058d..fb75000 100644
--- a/metadata/md5-cache/dev-embedded/coreboot-sdk-9999
+++ b/metadata/md5-cache/dev-embedded/coreboot-sdk-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 SLOT=0/9999
 SRC_URI=https://ftpmirror.gnu.org/gmp/gmp-6.2.1.tar.xz https://ftpmirror.gnu.org/mpfr/mpfr-4.1.0.tar.xz https://ftpmirror.gnu.org/mpc/mpc-1.2.1.tar.gz https://ftpmirror.gnu.org/gcc/gcc-11.2.0/gcc-11.2.0.tar.xz https://ftpmirror.gnu.org/binutils/binutils-2.37.tar.xz https://acpica.org/sites/acpica/files/acpica-unix2-20210331.tar.gz http://mirrors.cdn.adacore.com/art/591c6d80c7a447af2deed1d7 -> gnat-gpl-2017-x86_64-linux-bin.tar.gz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=90d448e5caf8d03c6667b048c6d7b950
diff --git a/metadata/md5-cache/dev-embedded/dtoc-0.0.1-r3 b/metadata/md5-cache/dev-embedded/dtoc-0.0.1-r3
deleted file mode 100644
index 2341999..0000000
--- a/metadata/md5-cache/dev-embedded/dtoc-0.0.1-r3
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DESCRIPTION=Dtoc tool (from U-Boot) for converting devicetree files to C
-EAPI=7
-HOMEPAGE=https://www.denx.de/wiki/U-Boot
-IUSE=cros_host cros_workon_tree_b9d094a27545777931d3af534417c065aa9d9985 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=dev-vcs/patman python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 )
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=b1a6683c97025523e0cb7b8931e34a92
diff --git a/metadata/md5-cache/dev-embedded/dtoc-0.0.1-r5 b/metadata/md5-cache/dev-embedded/dtoc-0.0.1-r5
new file mode 100644
index 0000000..140a121
--- /dev/null
+++ b/metadata/md5-cache/dev-embedded/dtoc-0.0.1-r5
@@ -0,0 +1,14 @@
+BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DESCRIPTION=Dtoc tool (from U-Boot) for converting devicetree files to C
+EAPI=7
+HOMEPAGE=https://www.denx.de/wiki/U-Boot
+IUSE=cros_host cros_workon_tree_5ea09cc328ef299f1d252026d4ea9982e53dd496 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=dev-vcs/patman python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2f38ec750927323fa454cbc4548b43b9
diff --git a/metadata/md5-cache/dev-embedded/dtoc-9999 b/metadata/md5-cache/dev-embedded/dtoc-9999
index e806b61..72231e2 100644
--- a/metadata/md5-cache/dev-embedded/dtoc-9999
+++ b/metadata/md5-cache/dev-embedded/dtoc-9999
@@ -1,14 +1,14 @@
-BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
+BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
 DEFINED_PHASES=compile configure info install prepare setup test unpack
 DESCRIPTION=Dtoc tool (from U-Boot) for converting devicetree files to C
 EAPI=7
 HOMEPAGE=https://www.denx.de/wiki/U-Boot
-IUSE=cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
+IUSE=cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
-RDEPEND=dev-vcs/patman python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 )
+RDEPEND=dev-vcs/patman python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=65921555a0915bebf83807f26e9d13c2
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5723426cdb0f0fe95b73aaba41cfe24a
diff --git a/metadata/md5-cache/dev-embedded/hps-sdk-0.0.1 b/metadata/md5-cache/dev-embedded/hps-sdk-0.0.1
index 16c2e66..1aa423c 100644
--- a/metadata/md5-cache/dev-embedded/hps-sdk-0.0.1
+++ b/metadata/md5-cache/dev-embedded/hps-sdk-0.0.1
@@ -3,8 +3,8 @@
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/hps-firmware
 KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA
+LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA GPL-3 LGPL-3 libgcc FDL-1.2
 SLOT=0
-SRC_URI=https://static.rust-lang.org/dist/rustc-1.58.1-src.tar.gz https://static.rust-lang.org/dist/rustc-1.57.0-x86_64-unknown-linux-gnu.tar.xz https://static.rust-lang.org/dist/rust-std-1.57.0-x86_64-unknown-linux-gnu.tar.xz https://static.rust-lang.org/dist/cargo-1.57.0-x86_64-unknown-linux-gnu.tar.xz
+SRC_URI=https://static.rust-lang.org/dist/rustc-1.60.0-src.tar.gz https://static.rust-lang.org/dist/rustc-1.59.0-x86_64-unknown-linux-gnu.tar.xz https://static.rust-lang.org/dist/rust-std-1.59.0-x86_64-unknown-linux-gnu.tar.xz https://static.rust-lang.org/dist/cargo-1.59.0-x86_64-unknown-linux-gnu.tar.xz https://github.com/riscv-collab/riscv-binutils-gdb/archive/f35674005e609660f5f45005a9e095541ca4c5fe.tar.gz -> riscv-binutils-gdb-f35674005e609660f5f45005a9e095541ca4c5fe.tar.gz https://github.com/riscv-collab/riscv-gcc/archive/03cb20e5433cd8e65af6a1a6baaf3fe4c72785f6.tar.gz -> riscv-gcc-03cb20e5433cd8e65af6a1a6baaf3fe4c72785f6.tar.gz ftp://sourceware.org/pub/newlib/newlib-4.1.0.tar.gz
 _eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ed33b10ecb3b452eaf6e279820f19fb9
+_md5_=f5869c5be78355bacb4bdfa4990bd8b2
diff --git a/metadata/md5-cache/dev-embedded/hps-sdk-0.0.1-r4 b/metadata/md5-cache/dev-embedded/hps-sdk-0.0.1-r4
new file mode 100644
index 0000000..1aa423c
--- /dev/null
+++ b/metadata/md5-cache/dev-embedded/hps-sdk-0.0.1-r4
@@ -0,0 +1,10 @@
+DEFINED_PHASES=compile configure install prepare setup unpack
+DESCRIPTION=Compilers for building HPS firmware
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/hps-firmware
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA GPL-3 LGPL-3 libgcc FDL-1.2
+SLOT=0
+SRC_URI=https://static.rust-lang.org/dist/rustc-1.60.0-src.tar.gz https://static.rust-lang.org/dist/rustc-1.59.0-x86_64-unknown-linux-gnu.tar.xz https://static.rust-lang.org/dist/rust-std-1.59.0-x86_64-unknown-linux-gnu.tar.xz https://static.rust-lang.org/dist/cargo-1.59.0-x86_64-unknown-linux-gnu.tar.xz https://github.com/riscv-collab/riscv-binutils-gdb/archive/f35674005e609660f5f45005a9e095541ca4c5fe.tar.gz -> riscv-binutils-gdb-f35674005e609660f5f45005a9e095541ca4c5fe.tar.gz https://github.com/riscv-collab/riscv-gcc/archive/03cb20e5433cd8e65af6a1a6baaf3fe4c72785f6.tar.gz -> riscv-gcc-03cb20e5433cd8e65af6a1a6baaf3fe4c72785f6.tar.gz ftp://sourceware.org/pub/newlib/newlib-4.1.0.tar.gz
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f5869c5be78355bacb4bdfa4990bd8b2
diff --git a/metadata/md5-cache/dev-embedded/openocd-0.10.0 b/metadata/md5-cache/dev-embedded/openocd-0.10.0
deleted file mode 100644
index db51d12..0000000
--- a/metadata/md5-cache/dev-embedded/openocd-0.10.0
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=configure install postinst prepare setup
-DEPEND=>=dev-lang/jimtcl-0.76 cmsis-dap? ( dev-libs/hidapi ) jlink? ( dev-embedded/libjaylink ) usb? ( virtual/libusb:0 virtual/libusb:1 ) ftdi? ( dev-embedded/libftdi:= ) virtual/pkgconfig virtual/pkgconfig sys-apps/baselayout
-DESCRIPTION=OpenOCD - Open On-Chip Debugger
-EAPI=5
-HOMEPAGE=http://openocd.sourceforge.net
-IUSE=+cmsis-dap dummy +ftdi +jlink parport +usb verbose-io
-KEYWORDS=*
-LICENSE=GPL-2+
-RDEPEND=>=dev-lang/jimtcl-0.76 cmsis-dap? ( dev-libs/hidapi ) jlink? ( dev-embedded/libjaylink ) usb? ( virtual/libusb:0 virtual/libusb:1 ) ftdi? ( dev-embedded/libftdi:= ) sys-apps/baselayout
-RESTRICT=strip
-SLOT=0
-SRC_URI=mirror://sourceforge/project/openocd/openocd/0.10.0/openocd-0.10.0.tar.gz
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=ca85b350bcad932a42b57ee43cec2680
diff --git a/metadata/md5-cache/dev-embedded/openocd-0.10.0-r3 b/metadata/md5-cache/dev-embedded/openocd-0.10.0-r3
deleted file mode 100644
index db51d12..0000000
--- a/metadata/md5-cache/dev-embedded/openocd-0.10.0-r3
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=configure install postinst prepare setup
-DEPEND=>=dev-lang/jimtcl-0.76 cmsis-dap? ( dev-libs/hidapi ) jlink? ( dev-embedded/libjaylink ) usb? ( virtual/libusb:0 virtual/libusb:1 ) ftdi? ( dev-embedded/libftdi:= ) virtual/pkgconfig virtual/pkgconfig sys-apps/baselayout
-DESCRIPTION=OpenOCD - Open On-Chip Debugger
-EAPI=5
-HOMEPAGE=http://openocd.sourceforge.net
-IUSE=+cmsis-dap dummy +ftdi +jlink parport +usb verbose-io
-KEYWORDS=*
-LICENSE=GPL-2+
-RDEPEND=>=dev-lang/jimtcl-0.76 cmsis-dap? ( dev-libs/hidapi ) jlink? ( dev-embedded/libjaylink ) usb? ( virtual/libusb:0 virtual/libusb:1 ) ftdi? ( dev-embedded/libftdi:= ) sys-apps/baselayout
-RESTRICT=strip
-SLOT=0
-SRC_URI=mirror://sourceforge/project/openocd/openocd/0.10.0/openocd-0.10.0.tar.gz
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=ca85b350bcad932a42b57ee43cec2680
diff --git a/metadata/md5-cache/dev-embedded/openocd-0.11.0 b/metadata/md5-cache/dev-embedded/openocd-0.11.0
new file mode 100644
index 0000000..978be86
--- /dev/null
+++ b/metadata/md5-cache/dev-embedded/openocd-0.11.0
@@ -0,0 +1,15 @@
+BDEPEND=virtual/pkgconfig >=app-portage/elt-patches-20170815 virtual/pkgconfig
+DEFINED_PHASES=configure install postinst prepare
+DEPEND=acct-group/plugdev >=dev-lang/jimtcl-0.76:= <dev-lang/jimtcl-0.80:= capstone? ( dev-libs/capstone ) cmsis-dap? ( dev-libs/hidapi ) usb? ( virtual/libusb:0 virtual/libusb:1 ) ftdi? ( dev-embedded/libftdi:= ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=OpenOCD - Open On-Chip Debugger
+EAPI=7
+HOMEPAGE=http://openocd.sourceforge.net
+IUSE=capstone +cmsis-dap dummy +ftdi parport +usb verbose-io
+KEYWORDS=*
+LICENSE=GPL-2+
+RDEPEND=acct-group/plugdev >=dev-lang/jimtcl-0.76:= <dev-lang/jimtcl-0.80:= capstone? ( dev-libs/capstone ) cmsis-dap? ( dev-libs/hidapi ) usb? ( virtual/libusb:0 virtual/libusb:1 ) ftdi? ( dev-embedded/libftdi:= )
+RESTRICT=strip
+SLOT=0
+SRC_URI=mirror://sourceforge/project/openocd/openocd/0.11.0/openocd-0.11.0.tar.gz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
+_md5_=6f9404da200bdd6e0d6246db3d2498e2
diff --git a/metadata/md5-cache/dev-embedded/ti50-sdk-0.0.3 b/metadata/md5-cache/dev-embedded/ti50-sdk-0.0.3
deleted file mode 100644
index 3904e4e..0000000
--- a/metadata/md5-cache/dev-embedded/ti50-sdk-0.0.3
+++ /dev/null
@@ -1,11 +0,0 @@
-BDEPEND=|| ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) dev-lang/perl sys-devel/gnuconfig || ( ( dev-lang/python:3.9 dev-python/sphinx[python_targets_python3_9(-),python_single_target_python3_9(+)] ) ( dev-lang/python:3.8 dev-python/sphinx[python_targets_python3_8(-),python_single_target_python3_8(+)] ) ( dev-lang/python:3.7 dev-python/sphinx[python_targets_python3_7(-),python_single_target_python3_7(+)] ) ( dev-lang/python:3.6 dev-python/sphinx[python_targets_python3_6(-),python_single_target_python3_6(+)] ) ) >=dev-libs/libxml2-2.9.6 >=dev-lang/perl-5.0
-DEFINED_PHASES=compile install prepare setup unpack
-DEPEND=sys-libs/zlib >=sys-libs/ncurses-5.9-r3 sys-devel/binutils
-DESCRIPTION=Ebuild that installs Ti50's SDK
-EAPI=7
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA
-SLOT=0
-SRC_URI=https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/llvm-bb852a09ae36-src.tar.xz https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/rust-acbe4443cc4c-rustc-acbe4443cc4c-src.tar.xz https://static.rust-lang.org/dist/2021-11-30/cargo-beta-x86_64-unknown-linux-gnu.tar.xz -> rust-acbe4443cc4c-cargo-beta-x86_64-unknown-linux-gnu.tar.xz https://static.rust-lang.org/dist/2021-11-30/rustc-beta-x86_64-unknown-linux-gnu.tar.xz -> rust-acbe4443cc4c-rustc-beta-x86_64-unknown-linux-gnu.tar.xz https://static.rust-lang.org/dist/2021-11-30/rust-std-beta-x86_64-unknown-linux-gnu.tar.xz -> rust-acbe4443cc4c-rust-std-beta-x86_64-unknown-linux-gnu.tar.xz https://static.rust-lang.org/dist/2021-11-30/rustfmt-beta-x86_64-unknown-linux-gnu.tar.xz -> rust-acbe4443cc4c-rustfmt-beta-x86_64-unknown-linux-gnu.tar.xz https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/newlib-1debd4d635c2-src.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d80b529c08a1da74908a7e2dff5d3e87
diff --git a/metadata/md5-cache/dev-embedded/ti50-sdk-0.0.3-r2 b/metadata/md5-cache/dev-embedded/ti50-sdk-0.0.3-r2
deleted file mode 100644
index 3904e4e..0000000
--- a/metadata/md5-cache/dev-embedded/ti50-sdk-0.0.3-r2
+++ /dev/null
@@ -1,11 +0,0 @@
-BDEPEND=|| ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) dev-lang/perl sys-devel/gnuconfig || ( ( dev-lang/python:3.9 dev-python/sphinx[python_targets_python3_9(-),python_single_target_python3_9(+)] ) ( dev-lang/python:3.8 dev-python/sphinx[python_targets_python3_8(-),python_single_target_python3_8(+)] ) ( dev-lang/python:3.7 dev-python/sphinx[python_targets_python3_7(-),python_single_target_python3_7(+)] ) ( dev-lang/python:3.6 dev-python/sphinx[python_targets_python3_6(-),python_single_target_python3_6(+)] ) ) >=dev-libs/libxml2-2.9.6 >=dev-lang/perl-5.0
-DEFINED_PHASES=compile install prepare setup unpack
-DEPEND=sys-libs/zlib >=sys-libs/ncurses-5.9-r3 sys-devel/binutils
-DESCRIPTION=Ebuild that installs Ti50's SDK
-EAPI=7
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA
-SLOT=0
-SRC_URI=https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/llvm-bb852a09ae36-src.tar.xz https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/rust-acbe4443cc4c-rustc-acbe4443cc4c-src.tar.xz https://static.rust-lang.org/dist/2021-11-30/cargo-beta-x86_64-unknown-linux-gnu.tar.xz -> rust-acbe4443cc4c-cargo-beta-x86_64-unknown-linux-gnu.tar.xz https://static.rust-lang.org/dist/2021-11-30/rustc-beta-x86_64-unknown-linux-gnu.tar.xz -> rust-acbe4443cc4c-rustc-beta-x86_64-unknown-linux-gnu.tar.xz https://static.rust-lang.org/dist/2021-11-30/rust-std-beta-x86_64-unknown-linux-gnu.tar.xz -> rust-acbe4443cc4c-rust-std-beta-x86_64-unknown-linux-gnu.tar.xz https://static.rust-lang.org/dist/2021-11-30/rustfmt-beta-x86_64-unknown-linux-gnu.tar.xz -> rust-acbe4443cc4c-rustfmt-beta-x86_64-unknown-linux-gnu.tar.xz https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/newlib-1debd4d635c2-src.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d80b529c08a1da74908a7e2dff5d3e87
diff --git a/metadata/md5-cache/dev-embedded/ti50-sdk-0.0.4 b/metadata/md5-cache/dev-embedded/ti50-sdk-0.0.4
new file mode 100644
index 0000000..7659ce5
--- /dev/null
+++ b/metadata/md5-cache/dev-embedded/ti50-sdk-0.0.4
@@ -0,0 +1,11 @@
+BDEPEND=|| ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) dev-lang/perl sys-devel/gnuconfig || ( ( dev-lang/python:3.9 dev-python/sphinx[python_targets_python3_9(-),python_single_target_python3_9(+)] ) ( dev-lang/python:3.8 dev-python/sphinx[python_targets_python3_8(-),python_single_target_python3_8(+)] ) ( dev-lang/python:3.7 dev-python/sphinx[python_targets_python3_7(-),python_single_target_python3_7(+)] ) ( dev-lang/python:3.6 dev-python/sphinx[python_targets_python3_6(-),python_single_target_python3_6(+)] ) ) >=dev-libs/libxml2-2.9.6 >=dev-lang/perl-5.0
+DEFINED_PHASES=compile install prepare setup unpack
+DEPEND=sys-libs/zlib >=sys-libs/ncurses-5.9-r3 sys-devel/binutils
+DESCRIPTION=Ebuild that installs Ti50's SDK
+EAPI=7
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA
+SLOT=0
+SRC_URI=https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/llvm-bb852a09ae36-src.tar.xz https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/rust-7737e0b5c410-rustc-7737e0b5c410-src.tar.xz https://static.rust-lang.org/dist/2022-02-24/cargo-1.59.0-x86_64-unknown-linux-gnu.tar.xz -> rust-7737e0b5c410-cargo-1.59.0-x86_64-unknown-linux-gnu.tar.xz https://static.rust-lang.org/dist/2022-02-24/rustc-1.59.0-x86_64-unknown-linux-gnu.tar.xz -> rust-7737e0b5c410-rustc-1.59.0-x86_64-unknown-linux-gnu.tar.xz https://static.rust-lang.org/dist/2022-02-24/rust-std-1.59.0-x86_64-unknown-linux-gnu.tar.xz -> rust-7737e0b5c410-rust-std-1.59.0-x86_64-unknown-linux-gnu.tar.xz https://static.rust-lang.org/dist/2022-02-24/rustfmt-1.59.0-x86_64-unknown-linux-gnu.tar.xz -> rust-7737e0b5c410-rustfmt-1.59.0-x86_64-unknown-linux-gnu.tar.xz https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/newlib-1debd4d635c2-src.tar.xz
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8d6c88160c04ec61268acbe2b3d48466
diff --git a/metadata/md5-cache/dev-embedded/ti50-sdk-0.0.4-r1 b/metadata/md5-cache/dev-embedded/ti50-sdk-0.0.4-r1
new file mode 100644
index 0000000..7659ce5
--- /dev/null
+++ b/metadata/md5-cache/dev-embedded/ti50-sdk-0.0.4-r1
@@ -0,0 +1,11 @@
+BDEPEND=|| ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) dev-lang/perl sys-devel/gnuconfig || ( ( dev-lang/python:3.9 dev-python/sphinx[python_targets_python3_9(-),python_single_target_python3_9(+)] ) ( dev-lang/python:3.8 dev-python/sphinx[python_targets_python3_8(-),python_single_target_python3_8(+)] ) ( dev-lang/python:3.7 dev-python/sphinx[python_targets_python3_7(-),python_single_target_python3_7(+)] ) ( dev-lang/python:3.6 dev-python/sphinx[python_targets_python3_6(-),python_single_target_python3_6(+)] ) ) >=dev-libs/libxml2-2.9.6 >=dev-lang/perl-5.0
+DEFINED_PHASES=compile install prepare setup unpack
+DEPEND=sys-libs/zlib >=sys-libs/ncurses-5.9-r3 sys-devel/binutils
+DESCRIPTION=Ebuild that installs Ti50's SDK
+EAPI=7
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA
+SLOT=0
+SRC_URI=https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/llvm-bb852a09ae36-src.tar.xz https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/rust-7737e0b5c410-rustc-7737e0b5c410-src.tar.xz https://static.rust-lang.org/dist/2022-02-24/cargo-1.59.0-x86_64-unknown-linux-gnu.tar.xz -> rust-7737e0b5c410-cargo-1.59.0-x86_64-unknown-linux-gnu.tar.xz https://static.rust-lang.org/dist/2022-02-24/rustc-1.59.0-x86_64-unknown-linux-gnu.tar.xz -> rust-7737e0b5c410-rustc-1.59.0-x86_64-unknown-linux-gnu.tar.xz https://static.rust-lang.org/dist/2022-02-24/rust-std-1.59.0-x86_64-unknown-linux-gnu.tar.xz -> rust-7737e0b5c410-rust-std-1.59.0-x86_64-unknown-linux-gnu.tar.xz https://static.rust-lang.org/dist/2022-02-24/rustfmt-1.59.0-x86_64-unknown-linux-gnu.tar.xz -> rust-7737e0b5c410-rustfmt-1.59.0-x86_64-unknown-linux-gnu.tar.xz https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/newlib-1debd4d635c2-src.tar.xz
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8d6c88160c04ec61268acbe2b3d48466
diff --git a/metadata/md5-cache/dev-go/afero-1.8.2 b/metadata/md5-cache/dev-go/afero-1.8.2
new file mode 100644
index 0000000..f1cb8fa
--- /dev/null
+++ b/metadata/md5-cache/dev-go/afero-1.8.2
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/crypto dev-go/gapi dev-go/oauth2 dev-go/sftp dev-go/text dev-lang/go
+DESCRIPTION=A FileSystem Abstraction System for Go
+EAPI=7
+HOMEPAGE=https://github.com/spf13/afero
+KEYWORDS=*
+LICENSE=Apache-2.0
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/spf13/afero/archive/v1.8.2.tar.gz -> github.com-spf13-afero-v1.8.2.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a1ade5f334eff25124c13209138c60e6
diff --git a/metadata/md5-cache/dev-go/afero-1.8.2-r2 b/metadata/md5-cache/dev-go/afero-1.8.2-r2
new file mode 100644
index 0000000..f1cb8fa
--- /dev/null
+++ b/metadata/md5-cache/dev-go/afero-1.8.2-r2
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/crypto dev-go/gapi dev-go/oauth2 dev-go/sftp dev-go/text dev-lang/go
+DESCRIPTION=A FileSystem Abstraction System for Go
+EAPI=7
+HOMEPAGE=https://github.com/spf13/afero
+KEYWORDS=*
+LICENSE=Apache-2.0
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/spf13/afero/archive/v1.8.2.tar.gz -> github.com-spf13-afero-v1.8.2.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a1ade5f334eff25124c13209138c60e6
diff --git a/metadata/md5-cache/dev-go/appengine-1.6.7 b/metadata/md5-cache/dev-go/appengine-1.6.7
index ccf0cc2..b25f460 100644
--- a/metadata/md5-cache/dev-go/appengine-1.6.7
+++ b/metadata/md5-cache/dev-go/appengine-1.6.7
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
+DEPEND=dev-go/net dev-go/protobuf-legacy-api dev-go/text dev-lang/go
 DESCRIPTION=Go APIs for interacting with App Engine.
 EAPI=7
 HOMEPAGE=https://github.com/golang/appengine
 KEYWORDS=*
 LICENSE=Apache-2.0
+RDEPEND=dev-go/net dev-go/protobuf-legacy-api dev-go/text
 SLOT=0
 SRC_URI=https://github.com/golang/appengine/archive/v1.6.7.tar.gz -> github.com-golang-appengine-v1.6.7.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=622b5ed9ba1475c5bb44c1f53f2c6c3e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6fd8cd49bfc89af0daa6412c60d1b421
diff --git a/metadata/md5-cache/dev-go/appengine-1.6.7-r2 b/metadata/md5-cache/dev-go/appengine-1.6.7-r2
new file mode 100644
index 0000000..b25f460
--- /dev/null
+++ b/metadata/md5-cache/dev-go/appengine-1.6.7-r2
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/net dev-go/protobuf-legacy-api dev-go/text dev-lang/go
+DESCRIPTION=Go APIs for interacting with App Engine.
+EAPI=7
+HOMEPAGE=https://github.com/golang/appengine
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=dev-go/net dev-go/protobuf-legacy-api dev-go/text
+SLOT=0
+SRC_URI=https://github.com/golang/appengine/archive/v1.6.7.tar.gz -> github.com-golang-appengine-v1.6.7.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6fd8cd49bfc89af0daa6412c60d1b421
diff --git a/metadata/md5-cache/dev-go/blackfriday-2.1.0 b/metadata/md5-cache/dev-go/blackfriday-2.1.0
new file mode 100644
index 0000000..1a78984
--- /dev/null
+++ b/metadata/md5-cache/dev-go/blackfriday-2.1.0
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Blackfriday is a Markdown processor implemented in Go.
+EAPI=7
+HOMEPAGE=https://github.com/russross/blackfriday
+IUSE=test
+KEYWORDS=*
+LICENSE=BSD
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/russross/blackfriday/archive/v2.1.0.tar.gz -> github.com-russross-blackfriday-v2.1.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e84a4bc27d794c3a3e02906949bb80d2
diff --git a/metadata/md5-cache/dev-go/boringssl-acvptool-20191211 b/metadata/md5-cache/dev-go/boringssl-acvptool-20191211
index 8512a53..7cfb0ac 100644
--- a/metadata/md5-cache/dev-go/boringssl-acvptool-20191211
+++ b/metadata/md5-cache/dev-go/boringssl-acvptool-20191211
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://boringssl.googlesource.com/boringssl/+archive/6ba98ff60144f60aba589b4d6121689528fbae76.tar.gz -> boringssl.googlesource.com-boringssl-6ba98ff60144f60aba589b4d6121689528fbae76.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=f1b8db49fd935c315797ba75fdeb1ee6
diff --git a/metadata/md5-cache/dev-go/boringssl-acvptool-20191211-r1 b/metadata/md5-cache/dev-go/boringssl-acvptool-20191211-r1
index 8512a53..7cfb0ac 100644
--- a/metadata/md5-cache/dev-go/boringssl-acvptool-20191211-r1
+++ b/metadata/md5-cache/dev-go/boringssl-acvptool-20191211-r1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://boringssl.googlesource.com/boringssl/+archive/6ba98ff60144f60aba589b4d6121689528fbae76.tar.gz -> boringssl.googlesource.com-boringssl-6ba98ff60144f60aba589b4d6121689528fbae76.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=f1b8db49fd935c315797ba75fdeb1ee6
diff --git a/metadata/md5-cache/dev-go/bufseekio-0.0.1 b/metadata/md5-cache/dev-go/bufseekio-0.0.1
index ebd729c..8584b2d 100644
--- a/metadata/md5-cache/dev-go/bufseekio-0.0.1
+++ b/metadata/md5-cache/dev-go/bufseekio-0.0.1
@@ -1,5 +1,5 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
+DEPEND=dev-go/testify dev-lang/go
 DESCRIPTION=Go library for providing buffered I/O with io.Seeker interface.
 EAPI=7
 HOMEPAGE=https://github.com/sunfish-shogi/bufseekio
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/sunfish-shogi/bufseekio/archive/e5e41a4a1c4c3aa91b37213834257b960f1aed9c.tar.gz -> github.com-sunfish-shogi-bufseekio-e5e41a4a1c4c3aa91b37213834257b960f1aed9c.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=99dce7bd69dc6ddec45baf60e525c563
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b2c095a994fa5e0a1ba87dd72058635a
diff --git a/metadata/md5-cache/dev-go/bufseekio-0.0.1-r1 b/metadata/md5-cache/dev-go/bufseekio-0.0.1-r1
deleted file mode 100644
index ebd729c..0000000
--- a/metadata/md5-cache/dev-go/bufseekio-0.0.1-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
-DESCRIPTION=Go library for providing buffered I/O with io.Seeker interface.
-EAPI=7
-HOMEPAGE=https://github.com/sunfish-shogi/bufseekio
-KEYWORDS=*
-LICENSE=MIT
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/sunfish-shogi/bufseekio/archive/e5e41a4a1c4c3aa91b37213834257b960f1aed9c.tar.gz -> github.com-sunfish-shogi-bufseekio-e5e41a4a1c4c3aa91b37213834257b960f1aed9c.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=99dce7bd69dc6ddec45baf60e525c563
diff --git a/metadata/md5-cache/dev-go/bufseekio-0.0.1-r2 b/metadata/md5-cache/dev-go/bufseekio-0.0.1-r2
new file mode 100644
index 0000000..8584b2d
--- /dev/null
+++ b/metadata/md5-cache/dev-go/bufseekio-0.0.1-r2
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/testify dev-lang/go
+DESCRIPTION=Go library for providing buffered I/O with io.Seeker interface.
+EAPI=7
+HOMEPAGE=https://github.com/sunfish-shogi/bufseekio
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/sunfish-shogi/bufseekio/archive/e5e41a4a1c4c3aa91b37213834257b960f1aed9c.tar.gz -> github.com-sunfish-shogi-bufseekio-e5e41a4a1c4c3aa91b37213834257b960f1aed9c.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b2c095a994fa5e0a1ba87dd72058635a
diff --git a/metadata/md5-cache/dev-go/cdp-0.31.0 b/metadata/md5-cache/dev-go/cdp-0.31.0
index 255bc0b..8b18226 100644
--- a/metadata/md5-cache/dev-go/cdp-0.31.0
+++ b/metadata/md5-cache/dev-go/cdp-0.31.0
@@ -1,5 +1,5 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/misspell test? ( dev-go/cmp dev-go/sync ) dev-go/websocket dev-lang/go
+DEPEND=dev-go/go-tools dev-go/misspell dev-go/mod test? ( dev-go/cmp dev-go/sync ) dev-go/websocket dev-lang/go
 DESCRIPTION=Type-safe bindings for the Chrome Debugging Protocol written in Go
 EAPI=5
 HOMEPAGE=https://github.com/mafredri/cdp
@@ -10,5 +10,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/mafredri/cdp/archive/v0.31.0.tar.gz -> github.com-mafredri-cdp-v0.31.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=726504d99aa3c0a03159e81c93187aac
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=d096c7f4287f19ab06b6ed97fdabd937
diff --git a/metadata/md5-cache/dev-go/cdp-0.31.0-r1 b/metadata/md5-cache/dev-go/cdp-0.31.0-r1
deleted file mode 100644
index 255bc0b..0000000
--- a/metadata/md5-cache/dev-go/cdp-0.31.0-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/misspell test? ( dev-go/cmp dev-go/sync ) dev-go/websocket dev-lang/go
-DESCRIPTION=Type-safe bindings for the Chrome Debugging Protocol written in Go
-EAPI=5
-HOMEPAGE=https://github.com/mafredri/cdp
-IUSE=test
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND=dev-go/websocket
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/mafredri/cdp/archive/v0.31.0.tar.gz -> github.com-mafredri-cdp-v0.31.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=726504d99aa3c0a03159e81c93187aac
diff --git a/metadata/md5-cache/dev-go/cdp-0.31.0-r2 b/metadata/md5-cache/dev-go/cdp-0.31.0-r2
new file mode 100644
index 0000000..8b18226
--- /dev/null
+++ b/metadata/md5-cache/dev-go/cdp-0.31.0-r2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/go-tools dev-go/misspell dev-go/mod test? ( dev-go/cmp dev-go/sync ) dev-go/websocket dev-lang/go
+DESCRIPTION=Type-safe bindings for the Chrome Debugging Protocol written in Go
+EAPI=5
+HOMEPAGE=https://github.com/mafredri/cdp
+IUSE=test
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=dev-go/websocket
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/mafredri/cdp/archive/v0.31.0.tar.gz -> github.com-mafredri-cdp-v0.31.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=d096c7f4287f19ab06b6ed97fdabd937
diff --git a/metadata/md5-cache/dev-go/check-0.0.1 b/metadata/md5-cache/dev-go/check-0.0.1
index f2e66e8..04d1872 100644
--- a/metadata/md5-cache/dev-go/check-0.0.1
+++ b/metadata/md5-cache/dev-go/check-0.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/go-check/check/archive/10cb98267c6cb43ea9cd6793f29ff4089c306974.tar.gz -> github.com-go-check-check-10cb98267c6cb43ea9cd6793f29ff4089c306974.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=104d2e55acdca020fcaa1fc61bf78b10
diff --git a/metadata/md5-cache/dev-go/check-0.0.1-r1 b/metadata/md5-cache/dev-go/check-0.0.1-r1
index f2e66e8..04d1872 100644
--- a/metadata/md5-cache/dev-go/check-0.0.1-r1
+++ b/metadata/md5-cache/dev-go/check-0.0.1-r1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/go-check/check/archive/10cb98267c6cb43ea9cd6793f29ff4089c306974.tar.gz -> github.com-go-check-check-10cb98267c6cb43ea9cd6793f29ff4089c306974.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=104d2e55acdca020fcaa1fc61bf78b10
diff --git a/metadata/md5-cache/dev-go/cli-1.20.0 b/metadata/md5-cache/dev-go/cli-1.20.0
deleted file mode 100644
index 92a670f..0000000
--- a/metadata/md5-cache/dev-go/cli-1.20.0
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
-DESCRIPTION=A simple, fast, and fun package for building command line apps in Go
-EAPI=6
-HOMEPAGE=https://github.com/urfave/cli
-KEYWORDS=*
-LICENSE=BSD-Google
-SLOT=0
-SRC_URI=https://github.com/urfave/cli/archive/v1.20.0.tar.gz -> github.com-urfave-cli-v1.20.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=26e742aa4a7a6338af1838c16b826249
diff --git a/metadata/md5-cache/dev-go/cli-1.22.5 b/metadata/md5-cache/dev-go/cli-1.22.5
new file mode 100644
index 0000000..87afa77
--- /dev/null
+++ b/metadata/md5-cache/dev-go/cli-1.22.5
@@ -0,0 +1,11 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/toml dev-go/yaml:0 dev-go/go-md2man dev-lang/go
+DESCRIPTION=A simple, fast, and fun package for building command line apps in Go
+EAPI=6
+HOMEPAGE=https://github.com/urfave/cli
+KEYWORDS=*
+LICENSE=BSD-Google
+SLOT=0
+SRC_URI=https://github.com/urfave/cli/archive/v1.22.5.tar.gz -> github.com-urfave-cli-v1.22.5.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=d9265ae1db5b411fd51ff4ac6759a798
diff --git a/metadata/md5-cache/dev-go/cli-1.22.5-r1 b/metadata/md5-cache/dev-go/cli-1.22.5-r1
new file mode 100644
index 0000000..87afa77
--- /dev/null
+++ b/metadata/md5-cache/dev-go/cli-1.22.5-r1
@@ -0,0 +1,11 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/toml dev-go/yaml:0 dev-go/go-md2man dev-lang/go
+DESCRIPTION=A simple, fast, and fun package for building command line apps in Go
+EAPI=6
+HOMEPAGE=https://github.com/urfave/cli
+KEYWORDS=*
+LICENSE=BSD-Google
+SLOT=0
+SRC_URI=https://github.com/urfave/cli/archive/v1.22.5.tar.gz -> github.com-urfave-cli-v1.22.5.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=d9265ae1db5b411fd51ff4ac6759a798
diff --git a/metadata/md5-cache/dev-go/clock-1.0.0 b/metadata/md5-cache/dev-go/clock-1.0.0
index d73fba9..7f7551e 100644
--- a/metadata/md5-cache/dev-go/clock-1.0.0
+++ b/metadata/md5-cache/dev-go/clock-1.0.0
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip test
 SLOT=0
 SRC_URI=https://github.com/cloudfoundry/clock/archive/v1.0.0.tar.gz -> github.com-cloudfoundry-clock-v1.0.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=d30d6205823b58197f50671ec20dc882
diff --git a/metadata/md5-cache/dev-go/cmp-0.5.6 b/metadata/md5-cache/dev-go/cmp-0.5.6
index 91b6558..f4fc84e 100644
--- a/metadata/md5-cache/dev-go/cmp-0.5.6
+++ b/metadata/md5-cache/dev-go/cmp-0.5.6
@@ -1,5 +1,5 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
+DEPEND=dev-go/xerrors dev-lang/go
 DESCRIPTION=Package for comparing Go values in tests
 EAPI=5
 HOMEPAGE=https://github.com/google/go-cmp
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/google/go-cmp/archive/v0.5.6.tar.gz -> github.com-google-go-cmp-v0.5.6.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=b2dbab3ec63f91282ba490f15aeda3e9
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=b8c81e4007198053622a65489cfb9307
diff --git a/metadata/md5-cache/dev-go/cmp-0.5.6-r1 b/metadata/md5-cache/dev-go/cmp-0.5.6-r1
deleted file mode 100644
index 91b6558..0000000
--- a/metadata/md5-cache/dev-go/cmp-0.5.6-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
-DESCRIPTION=Package for comparing Go values in tests
-EAPI=5
-HOMEPAGE=https://github.com/google/go-cmp
-KEYWORDS=*
-LICENSE=BSD-Google
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/go-cmp/archive/v0.5.6.tar.gz -> github.com-google-go-cmp-v0.5.6.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=b2dbab3ec63f91282ba490f15aeda3e9
diff --git a/metadata/md5-cache/dev-go/cmp-0.5.6-r2 b/metadata/md5-cache/dev-go/cmp-0.5.6-r2
new file mode 100644
index 0000000..f4fc84e
--- /dev/null
+++ b/metadata/md5-cache/dev-go/cmp-0.5.6-r2
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/xerrors dev-lang/go
+DESCRIPTION=Package for comparing Go values in tests
+EAPI=5
+HOMEPAGE=https://github.com/google/go-cmp
+KEYWORDS=*
+LICENSE=BSD-Google
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/google/go-cmp/archive/v0.5.6.tar.gz -> github.com-google-go-cmp-v0.5.6.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=b8c81e4007198053622a65489cfb9307
diff --git a/metadata/md5-cache/dev-go/cncf-xds-0.0.1 b/metadata/md5-cache/dev-go/cncf-xds-0.0.1
index 771b005..314e564 100644
--- a/metadata/md5-cache/dev-go/cncf-xds-0.0.1
+++ b/metadata/md5-cache/dev-go/cncf-xds-0.0.1
@@ -9,5 +9,5 @@
 RESTRICT=binchecks
 SLOT=0
 SRC_URI=https://github.com/cncf/xds/archive/01c748900fbb8fd467c4f091385123c4715312fb.tar.gz -> github.com-cncf-xds-01c748900fbb8fd467c4f091385123c4715312fb.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=cb79688c5509db4dee8f1e8fc013eab7
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a735d02c9521d1692d138d3a31b60660
diff --git a/metadata/md5-cache/dev-go/cncf-xds-0.0.1-r4 b/metadata/md5-cache/dev-go/cncf-xds-0.0.1-r4
deleted file mode 100644
index 771b005..0000000
--- a/metadata/md5-cache/dev-go/cncf-xds-0.0.1-r4
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/ep-pvg dev-lang/go
-DESCRIPTION=xDS API Working Group (xDS-WG)
-EAPI=7
-HOMEPAGE=https://github.com/cncf/xds
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/ep-pvg
-RESTRICT=binchecks
-SLOT=0
-SRC_URI=https://github.com/cncf/xds/archive/01c748900fbb8fd467c4f091385123c4715312fb.tar.gz -> github.com-cncf-xds-01c748900fbb8fd467c4f091385123c4715312fb.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=cb79688c5509db4dee8f1e8fc013eab7
diff --git a/metadata/md5-cache/dev-go/cncf-xds-0.0.1-r5 b/metadata/md5-cache/dev-go/cncf-xds-0.0.1-r5
new file mode 100644
index 0000000..314e564
--- /dev/null
+++ b/metadata/md5-cache/dev-go/cncf-xds-0.0.1-r5
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/ep-pvg dev-lang/go
+DESCRIPTION=xDS API Working Group (xDS-WG)
+EAPI=7
+HOMEPAGE=https://github.com/cncf/xds
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/ep-pvg
+RESTRICT=binchecks
+SLOT=0
+SRC_URI=https://github.com/cncf/xds/archive/01c748900fbb8fd467c4f091385123c4715312fb.tar.gz -> github.com-cncf-xds-01c748900fbb8fd467c4f091385123c4715312fb.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a735d02c9521d1692d138d3a31b60660
diff --git a/metadata/md5-cache/dev-go/containerd-1.5.1 b/metadata/md5-cache/dev-go/containerd-1.5.1
new file mode 100644
index 0000000..c2d9b46
--- /dev/null
+++ b/metadata/md5-cache/dev-go/containerd-1.5.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/errcheck dev-go/grpc dev-lang/go
+DESCRIPTION=An open and reliable container runtime
+EAPI=7
+HOMEPAGE=https://github.com/containerd/containerd
+IUSE=test
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=!<=dev-go/docker-20.10.8-r1
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/containerd/containerd/archive/v1.5.1.tar.gz -> github.com-containerd-containerd-v1.5.1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d3bd8c50cc5f9d0df72c0f1fece7bad2
diff --git a/metadata/md5-cache/dev-go/containerd-1.5.1-r2 b/metadata/md5-cache/dev-go/containerd-1.5.1-r2
new file mode 100644
index 0000000..c2d9b46
--- /dev/null
+++ b/metadata/md5-cache/dev-go/containerd-1.5.1-r2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/errcheck dev-go/grpc dev-lang/go
+DESCRIPTION=An open and reliable container runtime
+EAPI=7
+HOMEPAGE=https://github.com/containerd/containerd
+IUSE=test
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=!<=dev-go/docker-20.10.8-r1
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/containerd/containerd/archive/v1.5.1.tar.gz -> github.com-containerd-containerd-v1.5.1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d3bd8c50cc5f9d0df72c0f1fece7bad2
diff --git a/metadata/md5-cache/dev-go/crypto-0.0.1 b/metadata/md5-cache/dev-go/crypto-0.0.1
index 8c9cb37..5ebb756 100644
--- a/metadata/md5-cache/dev-go/crypto-0.0.1
+++ b/metadata/md5-cache/dev-go/crypto-0.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://go.googlesource.com/crypto/+archive/aa10faf2a1f825c8ba49e90899862da2a0d353ca.tar.gz -> go.googlesource.com-crypto-aa10faf2a1f825c8ba49e90899862da2a0d353ca.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=084a27f9b1dede0734b8b3f95e875531
diff --git a/metadata/md5-cache/dev-go/crypto-0.0.1-r6 b/metadata/md5-cache/dev-go/crypto-0.0.1-r6
index 8c9cb37..5ebb756 100644
--- a/metadata/md5-cache/dev-go/crypto-0.0.1-r6
+++ b/metadata/md5-cache/dev-go/crypto-0.0.1-r6
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://go.googlesource.com/crypto/+archive/aa10faf2a1f825c8ba49e90899862da2a0d353ca.tar.gz -> go.googlesource.com-crypto-aa10faf2a1f825c8ba49e90899862da2a0d353ca.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=084a27f9b1dede0734b8b3f95e875531
diff --git a/metadata/md5-cache/dev-go/dbus-5.0.3_p20200215 b/metadata/md5-cache/dev-go/dbus-5.0.3_p20200215
index 5a36976..d823b34 100644
--- a/metadata/md5-cache/dev-go/dbus-5.0.3_p20200215
+++ b/metadata/md5-cache/dev-go/dbus-5.0.3_p20200215
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip test
 SLOT=0
 SRC_URI=https://github.com/godbus/dbus/archive/06fc4b473149e499166adbb9e31c7365a8ea146f.tar.gz -> github.com-godbus-dbus-06fc4b473149e499166adbb9e31c7365a8ea146f.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=1f099a7a3a66e8075e10d4c788ace919
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=f9bd907c1c1a9d48272af7373286a78a
diff --git a/metadata/md5-cache/dev-go/dbus-5.0.3_p20200215-r1 b/metadata/md5-cache/dev-go/dbus-5.0.3_p20200215-r1
deleted file mode 100644
index 5a36976..0000000
--- a/metadata/md5-cache/dev-go/dbus-5.0.3_p20200215-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
-DESCRIPTION=Native Go client bindings for the D-Bus message bus system
-EAPI=5
-HOMEPAGE=https://github.com/godbus/dbus
-KEYWORDS=*
-LICENSE=BSD-Google
-RESTRICT=binchecks strip test
-SLOT=0
-SRC_URI=https://github.com/godbus/dbus/archive/06fc4b473149e499166adbb9e31c7365a8ea146f.tar.gz -> github.com-godbus-dbus-06fc4b473149e499166adbb9e31c7365a8ea146f.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=1f099a7a3a66e8075e10d4c788ace919
diff --git a/metadata/md5-cache/dev-go/dbus-5.0.3_p20200215-r3 b/metadata/md5-cache/dev-go/dbus-5.0.3_p20200215-r3
new file mode 100644
index 0000000..d823b34
--- /dev/null
+++ b/metadata/md5-cache/dev-go/dbus-5.0.3_p20200215-r3
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Native Go client bindings for the D-Bus message bus system
+EAPI=5
+HOMEPAGE=https://github.com/godbus/dbus
+KEYWORDS=*
+LICENSE=BSD-Google
+RESTRICT=binchecks strip test
+SLOT=0
+SRC_URI=https://github.com/godbus/dbus/archive/06fc4b473149e499166adbb9e31c7365a8ea146f.tar.gz -> github.com-godbus-dbus-06fc4b473149e499166adbb9e31c7365a8ea146f.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=f9bd907c1c1a9d48272af7373286a78a
diff --git a/metadata/md5-cache/dev-go/delve-1.7.2 b/metadata/md5-cache/dev-go/delve-1.7.2
deleted file mode 100644
index e14fab6..0000000
--- a/metadata/md5-cache/dev-go/delve-1.7.2
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
-DESCRIPTION=A debugger for the go programming language.
-EAPI=7
-HOMEPAGE=https://github.com/go-delve/delve
-KEYWORDS=-* x86 amd64 arm64
-LICENSE=MIT
-RESTRICT=strip
-SLOT=0
-SRC_URI=https://github.com/go-delve/delve/archive/v1.7.2.tar.gz -> github.com-go-delve-delve-v1.7.2.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=71b5a446b44e067fe035dcbc933ad7da
diff --git a/metadata/md5-cache/dev-go/delve-1.8.3 b/metadata/md5-cache/dev-go/delve-1.8.3
new file mode 100644
index 0000000..1e10e3b
--- /dev/null
+++ b/metadata/md5-cache/dev-go/delve-1.8.3
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=A debugger for the go programming language.
+EAPI=7
+HOMEPAGE=https://github.com/go-delve/delve
+KEYWORDS=-* x86 amd64 arm64
+LICENSE=MIT
+RESTRICT=strip
+SLOT=0
+SRC_URI=https://github.com/go-delve/delve/archive/v1.8.3.tar.gz -> github.com-go-delve-delve-v1.8.3.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=71b5a446b44e067fe035dcbc933ad7da
diff --git a/metadata/md5-cache/dev-go/demangle-0.0.1 b/metadata/md5-cache/dev-go/demangle-0.0.1
new file mode 100644
index 0000000..67172ce
--- /dev/null
+++ b/metadata/md5-cache/dev-go/demangle-0.0.1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=C++ symbol name demangler written in Go
+EAPI=7
+HOMEPAGE=https://github.com/ianlancetaylor/demangle
+KEYWORDS=*
+LICENSE=BSD
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/ianlancetaylor/demangle/archive/b7f99f1dbc9644095cd3254251eccb314d1a81f7.tar.gz -> github.com-ianlancetaylor-demangle-b7f99f1dbc9644095cd3254251eccb314d1a81f7.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=70b7496f7be78bcde9d32faee2b0953b
diff --git a/metadata/md5-cache/dev-go/demangle-0.0.1-r1 b/metadata/md5-cache/dev-go/demangle-0.0.1-r1
new file mode 100644
index 0000000..67172ce
--- /dev/null
+++ b/metadata/md5-cache/dev-go/demangle-0.0.1-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=C++ symbol name demangler written in Go
+EAPI=7
+HOMEPAGE=https://github.com/ianlancetaylor/demangle
+KEYWORDS=*
+LICENSE=BSD
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/ianlancetaylor/demangle/archive/b7f99f1dbc9644095cd3254251eccb314d1a81f7.tar.gz -> github.com-ianlancetaylor-demangle-b7f99f1dbc9644095cd3254251eccb314d1a81f7.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=70b7496f7be78bcde9d32faee2b0953b
diff --git a/metadata/md5-cache/dev-go/distribution-2.7.1 b/metadata/md5-cache/dev-go/distribution-2.7.1
new file mode 100644
index 0000000..43f98af
--- /dev/null
+++ b/metadata/md5-cache/dev-go/distribution-2.7.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=The toolkit to pack, ship, store, and deliver container content
+EAPI=7
+HOMEPAGE=https://github.com/docker/distribution
+IUSE=test
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=!<=dev-go/docker-20.10.8-r1
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/docker/distribution/archive/v2.7.1.tar.gz -> github.com-docker-distribution-v2.7.1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2370642149b88d08eec5dc41958ea967
diff --git a/metadata/md5-cache/dev-go/distribution-2.7.1-r2 b/metadata/md5-cache/dev-go/distribution-2.7.1-r2
new file mode 100644
index 0000000..43f98af
--- /dev/null
+++ b/metadata/md5-cache/dev-go/distribution-2.7.1-r2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=The toolkit to pack, ship, store, and deliver container content
+EAPI=7
+HOMEPAGE=https://github.com/docker/distribution
+IUSE=test
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=!<=dev-go/docker-20.10.8-r1
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/docker/distribution/archive/v2.7.1.tar.gz -> github.com-docker-distribution-v2.7.1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2370642149b88d08eec5dc41958ea967
diff --git a/metadata/md5-cache/dev-go/dns-1.1.1 b/metadata/md5-cache/dev-go/dns-1.1.1
deleted file mode 100644
index 1c9f691..0000000
--- a/metadata/md5-cache/dev-go/dns-1.1.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/crypto dev-go/go-sys dev-go/net dev-lang/go
-DESCRIPTION=DNS library in Go
-EAPI=5
-HOMEPAGE=https://github.com/miekg/dns
-KEYWORDS=*
-LICENSE=BSD
-RDEPEND=dev-go/crypto dev-go/go-sys dev-go/net
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/miekg/dns/archive/v1.1.1.tar.gz -> github.com-miekg-dns-v1.1.1.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=9d0a880021a76bbc593f3fbdc5e3b1fc
diff --git a/metadata/md5-cache/dev-go/dns-1.1.41 b/metadata/md5-cache/dev-go/dns-1.1.41
new file mode 100644
index 0000000..6904a25
--- /dev/null
+++ b/metadata/md5-cache/dev-go/dns-1.1.41
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/crypto dev-go/go-sys dev-go/net dev-go/sync dev-lang/go
+DESCRIPTION=DNS library in Go
+EAPI=7
+HOMEPAGE=https://github.com/miekg/dns
+KEYWORDS=*
+LICENSE=BSD
+RDEPEND=dev-go/crypto dev-go/go-sys dev-go/net dev-go/sync
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/miekg/dns/archive/v1.1.41.tar.gz -> github.com-miekg-dns-v1.1.41.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0c9d4bfb9ebec1481b3bcf9447fecb74
diff --git a/metadata/md5-cache/dev-go/dns-1.1.41-r1 b/metadata/md5-cache/dev-go/dns-1.1.41-r1
new file mode 100644
index 0000000..6904a25
--- /dev/null
+++ b/metadata/md5-cache/dev-go/dns-1.1.41-r1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/crypto dev-go/go-sys dev-go/net dev-go/sync dev-lang/go
+DESCRIPTION=DNS library in Go
+EAPI=7
+HOMEPAGE=https://github.com/miekg/dns
+KEYWORDS=*
+LICENSE=BSD
+RDEPEND=dev-go/crypto dev-go/go-sys dev-go/net dev-go/sync
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/miekg/dns/archive/v1.1.41.tar.gz -> github.com-miekg-dns-v1.1.41.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0c9d4bfb9ebec1481b3bcf9447fecb74
diff --git a/metadata/md5-cache/dev-go/docker-20.10.8 b/metadata/md5-cache/dev-go/docker-20.10.8
index 1260721..3b5b41d 100644
--- a/metadata/md5-cache/dev-go/docker-20.10.8
+++ b/metadata/md5-cache/dev-go/docker-20.10.8
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/protobuf dev-go/crypto dev-go/grpc dev-go/text dev-go/net dev-go/go-sys dev-go/errors dev-lang/go
+DEPEND=dev-go/containerd dev-go/crypto dev-go/distribution dev-go/errors dev-go/go-connections dev-go/go-digest dev-go/go-sys dev-go/go-units dev-go/gogo-protobuf dev-go/grpc dev-go/image-spec dev-go/logrus dev-go/net dev-go/protobuf dev-go/protobuf-legacy-api dev-go/text dev-lang/go
 DESCRIPTION=Docker SDK in Go
-EAPI=5
+EAPI=7
 HOMEPAGE=mobyproject.org
 KEYWORDS=*
 LICENSE=Apache-2.0
-RDEPEND=dev-go/protobuf dev-go/crypto dev-go/grpc dev-go/text dev-go/net dev-go/go-sys dev-go/errors
+RDEPEND=dev-go/containerd dev-go/crypto dev-go/distribution dev-go/errors dev-go/go-connections dev-go/go-digest dev-go/go-sys dev-go/go-units dev-go/gogo-protobuf dev-go/grpc dev-go/image-spec dev-go/logrus dev-go/net dev-go/protobuf dev-go/protobuf-legacy-api dev-go/text
 RESTRICT=binchecks strip
 SLOT=0
-SRC_URI=https://github.com/moby/moby/archive/5f0703c549935d2cfec42b468b858d822b58a27e.tar.gz -> github.com-moby-moby-5f0703c549935d2cfec42b468b858d822b58a27e.tar.gz https://github.com/containerd/containerd/archive/v1.5.1.tar.gz -> github.com-containerd-containerd-v1.5.1.tar.gz https://github.com/docker/distribution/archive/v2.7.1.tar.gz -> github.com-docker-distribution-v2.7.1.tar.gz https://github.com/docker/go-connections/archive/88e5af338bb1e6c7f51b69cc1864249d1e8f4786.tar.gz -> github.com-docker-go-connections-88e5af338bb1e6c7f51b69cc1864249d1e8f4786.tar.gz https://github.com/docker/go-units/archive/519db1ee28dcc9fd2474ae59fca29a810482bfb1.tar.gz -> github.com-docker-go-units-519db1ee28dcc9fd2474ae59fca29a810482bfb1.tar.gz https://github.com/gogo/protobuf/archive/226206f39bd7276e88ec684ea0028c18ec2c91ae.tar.gz -> github.com-gogo-protobuf-226206f39bd7276e88ec684ea0028c18ec2c91ae.tar.gz https://github.com/opencontainers/go-digest/archive/v1.0.0.tar.gz -> github.com-opencontainers-go-digest-v1.0.0.tar.gz https://github.com/opencontainers/image-spec/archive/v1.0.1.tar.gz -> github.com-opencontainers-image-spec-v1.0.1.tar.gz https://github.com/sirupsen/logrus/archive/v1.8.1.tar.gz -> github.com-sirupsen-logrus-v1.8.1.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=adcac44ce2d564bf8273e1fb0b8fc03e
+SRC_URI=https://github.com/moby/moby/archive/5f0703c549935d2cfec42b468b858d822b58a27e.tar.gz -> github.com-moby-moby-5f0703c549935d2cfec42b468b858d822b58a27e.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ca93c5e073916cd44276de2d009aff3f
diff --git a/metadata/md5-cache/dev-go/docker-20.10.8-r3 b/metadata/md5-cache/dev-go/docker-20.10.8-r3
new file mode 100644
index 0000000..3b5b41d
--- /dev/null
+++ b/metadata/md5-cache/dev-go/docker-20.10.8-r3
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/containerd dev-go/crypto dev-go/distribution dev-go/errors dev-go/go-connections dev-go/go-digest dev-go/go-sys dev-go/go-units dev-go/gogo-protobuf dev-go/grpc dev-go/image-spec dev-go/logrus dev-go/net dev-go/protobuf dev-go/protobuf-legacy-api dev-go/text dev-lang/go
+DESCRIPTION=Docker SDK in Go
+EAPI=7
+HOMEPAGE=mobyproject.org
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=dev-go/containerd dev-go/crypto dev-go/distribution dev-go/errors dev-go/go-connections dev-go/go-digest dev-go/go-sys dev-go/go-units dev-go/gogo-protobuf dev-go/grpc dev-go/image-spec dev-go/logrus dev-go/net dev-go/protobuf dev-go/protobuf-legacy-api dev-go/text
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/moby/moby/archive/5f0703c549935d2cfec42b468b858d822b58a27e.tar.gz -> github.com-moby-moby-5f0703c549935d2cfec42b468b858d822b58a27e.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ca93c5e073916cd44276de2d009aff3f
diff --git a/metadata/md5-cache/dev-go/dst-0.23.1 b/metadata/md5-cache/dev-go/dst-0.23.1
index 2fdc8d4..087c0ad 100644
--- a/metadata/md5-cache/dev-go/dst-0.23.1
+++ b/metadata/md5-cache/dev-go/dst-0.23.1
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/jennifer >=dev-go/go-tools-0.0.1-r13 dev-lang/go
+DEPEND=dev-go/crypto dev-go/demangle dev-go/go-arch dev-go/go-billy dev-go/go-diff dev-go/go-tools dev-go/jennifer dev-go/pprof dev-lang/go
 DESCRIPTION=Decorated Syntax Tree
 EAPI=7
 HOMEPAGE=https://github.com/dave/dst
 KEYWORDS=*
 LICENSE=MIT BSD-Google
-RDEPEND=dev-go/jennifer >=dev-go/go-tools-0.0.1-r13
+RDEPEND=dev-go/crypto dev-go/demangle dev-go/go-arch dev-go/go-billy dev-go/go-diff dev-go/go-tools dev-go/jennifer dev-go/pprof
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/dave/dst/archive/v0.23.1.tar.gz -> github.com-dave-dst-v0.23.1.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a58b6e447c5e1f3c6e6fd1d32ede201d
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=50a881b822ffe4c292b908a42009ce78
diff --git a/metadata/md5-cache/dev-go/dst-0.23.1-r1 b/metadata/md5-cache/dev-go/dst-0.23.1-r1
new file mode 100644
index 0000000..087c0ad
--- /dev/null
+++ b/metadata/md5-cache/dev-go/dst-0.23.1-r1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/crypto dev-go/demangle dev-go/go-arch dev-go/go-billy dev-go/go-diff dev-go/go-tools dev-go/jennifer dev-go/pprof dev-lang/go
+DESCRIPTION=Decorated Syntax Tree
+EAPI=7
+HOMEPAGE=https://github.com/dave/dst
+KEYWORDS=*
+LICENSE=MIT BSD-Google
+RDEPEND=dev-go/crypto dev-go/demangle dev-go/go-arch dev-go/go-billy dev-go/go-diff dev-go/go-tools dev-go/jennifer dev-go/pprof
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/dave/dst/archive/v0.23.1.tar.gz -> github.com-dave-dst-v0.23.1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=50a881b822ffe4c292b908a42009ce78
diff --git a/metadata/md5-cache/dev-go/ep-gcp-0.10.0 b/metadata/md5-cache/dev-go/ep-gcp-0.10.0
index 40d9b21..ed6497f 100644
--- a/metadata/md5-cache/dev-go/ep-gcp-0.10.0
+++ b/metadata/md5-cache/dev-go/ep-gcp-0.10.0
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/cncf-xds dev-go/ep-pvg dev-go/genproto-api-expr dev-lang/go
+DEPEND=dev-go/cncf-xds dev-go/ep-pvg dev-go/genproto dev-go/go-sys dev-go/net dev-go/protobuf dev-go/protobuf-legacy-api dev-go/testify dev-lang/go
 DESCRIPTION=Discovery service APIs for Go
 EAPI=7
 HOMEPAGE=https://github.com/envoyproxy/go-control-plane
 KEYWORDS=*
 LICENSE=BSD-Google
-RDEPEND=dev-go/cncf-xds dev-go/ep-pvg dev-go/genproto-api-expr
+RDEPEND=dev-go/cncf-xds dev-go/ep-pvg dev-go/genproto dev-go/go-sys dev-go/net dev-go/protobuf dev-go/protobuf-legacy-api dev-go/testify
 RESTRICT=binchecks
 SLOT=0
 SRC_URI=https://github.com/envoyproxy/go-control-plane/archive/v0.10.0.tar.gz -> github.com-envoyproxy-go-control-plane-v0.10.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d36495170e7e11f0d514dc49c81176f1
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0decbf80a66e549d1b7bb7b0a6da522a
diff --git a/metadata/md5-cache/dev-go/ep-gcp-0.10.0-r1 b/metadata/md5-cache/dev-go/ep-gcp-0.10.0-r1
deleted file mode 100644
index 40d9b21..0000000
--- a/metadata/md5-cache/dev-go/ep-gcp-0.10.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/cncf-xds dev-go/ep-pvg dev-go/genproto-api-expr dev-lang/go
-DESCRIPTION=Discovery service APIs for Go
-EAPI=7
-HOMEPAGE=https://github.com/envoyproxy/go-control-plane
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/cncf-xds dev-go/ep-pvg dev-go/genproto-api-expr
-RESTRICT=binchecks
-SLOT=0
-SRC_URI=https://github.com/envoyproxy/go-control-plane/archive/v0.10.0.tar.gz -> github.com-envoyproxy-go-control-plane-v0.10.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d36495170e7e11f0d514dc49c81176f1
diff --git a/metadata/md5-cache/dev-go/ep-gcp-0.10.0-r3 b/metadata/md5-cache/dev-go/ep-gcp-0.10.0-r3
new file mode 100644
index 0000000..ed6497f
--- /dev/null
+++ b/metadata/md5-cache/dev-go/ep-gcp-0.10.0-r3
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/cncf-xds dev-go/ep-pvg dev-go/genproto dev-go/go-sys dev-go/net dev-go/protobuf dev-go/protobuf-legacy-api dev-go/testify dev-lang/go
+DESCRIPTION=Discovery service APIs for Go
+EAPI=7
+HOMEPAGE=https://github.com/envoyproxy/go-control-plane
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/cncf-xds dev-go/ep-pvg dev-go/genproto dev-go/go-sys dev-go/net dev-go/protobuf dev-go/protobuf-legacy-api dev-go/testify
+RESTRICT=binchecks
+SLOT=0
+SRC_URI=https://github.com/envoyproxy/go-control-plane/archive/v0.10.0.tar.gz -> github.com-envoyproxy-go-control-plane-v0.10.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0decbf80a66e549d1b7bb7b0a6da522a
diff --git a/metadata/md5-cache/dev-go/ep-pvg-0.6.2 b/metadata/md5-cache/dev-go/ep-pvg-0.6.2
index 682d7dd..6c9c9aa 100644
--- a/metadata/md5-cache/dev-go/ep-pvg-0.6.2
+++ b/metadata/md5-cache/dev-go/ep-pvg-0.6.2
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/protobuf dev-lang/go
+DEPEND=dev-go/afero dev-go/protobuf dev-go/protobuf-legacy-api dev-go/strcase dev-lang/go
 DESCRIPTION=Protoc plugin to generate polyglot message validators
 EAPI=7
 HOMEPAGE=https://github.com/envoyproxy/go-control-plane/protoc-gen-validate
 KEYWORDS=*
 LICENSE=BSD-Google
-RDEPEND=dev-go/protobuf
+RDEPEND=dev-go/afero dev-go/protobuf dev-go/protobuf-legacy-api dev-go/strcase
 RESTRICT=binchecks
 SLOT=0
 SRC_URI=https://github.com/envoyproxy/protoc-gen-validate/archive/v0.6.2.tar.gz -> github.com-envoyproxy-protoc-gen-validate-v0.6.2.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=1c92c88faf62972b0df66fb761e023ba
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=34d4bf22306075bc91bd51e3870cc5aa
diff --git a/metadata/md5-cache/dev-go/ep-pvg-0.6.2-r1 b/metadata/md5-cache/dev-go/ep-pvg-0.6.2-r1
deleted file mode 100644
index 682d7dd..0000000
--- a/metadata/md5-cache/dev-go/ep-pvg-0.6.2-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/protobuf dev-lang/go
-DESCRIPTION=Protoc plugin to generate polyglot message validators
-EAPI=7
-HOMEPAGE=https://github.com/envoyproxy/go-control-plane/protoc-gen-validate
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/protobuf
-RESTRICT=binchecks
-SLOT=0
-SRC_URI=https://github.com/envoyproxy/protoc-gen-validate/archive/v0.6.2.tar.gz -> github.com-envoyproxy-protoc-gen-validate-v0.6.2.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=1c92c88faf62972b0df66fb761e023ba
diff --git a/metadata/md5-cache/dev-go/ep-pvg-0.6.2-r3 b/metadata/md5-cache/dev-go/ep-pvg-0.6.2-r3
new file mode 100644
index 0000000..6c9c9aa
--- /dev/null
+++ b/metadata/md5-cache/dev-go/ep-pvg-0.6.2-r3
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/afero dev-go/protobuf dev-go/protobuf-legacy-api dev-go/strcase dev-lang/go
+DESCRIPTION=Protoc plugin to generate polyglot message validators
+EAPI=7
+HOMEPAGE=https://github.com/envoyproxy/go-control-plane/protoc-gen-validate
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/afero dev-go/protobuf dev-go/protobuf-legacy-api dev-go/strcase
+RESTRICT=binchecks
+SLOT=0
+SRC_URI=https://github.com/envoyproxy/protoc-gen-validate/archive/v0.6.2.tar.gz -> github.com-envoyproxy-protoc-gen-validate-v0.6.2.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=34d4bf22306075bc91bd51e3870cc5aa
diff --git a/metadata/md5-cache/dev-go/errcheck-1.6.0 b/metadata/md5-cache/dev-go/errcheck-1.6.0
new file mode 100644
index 0000000..7dd925e
--- /dev/null
+++ b/metadata/md5-cache/dev-go/errcheck-1.6.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/go-tools dev-lang/go
+DESCRIPTION=errcheck checks that you checked errors.
+EAPI=7
+HOMEPAGE=https://github.com/kisielk/errcheck
+IUSE=test
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=!<=dev-go/docker-20.10.8-r1
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/kisielk/errcheck/archive/v1.6.0.tar.gz -> github.com-kisielk-errcheck-v1.6.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1a598d9a7e2b9008fbea176263e31444
diff --git a/metadata/md5-cache/dev-go/errcheck-1.6.0-r1 b/metadata/md5-cache/dev-go/errcheck-1.6.0-r1
new file mode 100644
index 0000000..7dd925e
--- /dev/null
+++ b/metadata/md5-cache/dev-go/errcheck-1.6.0-r1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/go-tools dev-lang/go
+DESCRIPTION=errcheck checks that you checked errors.
+EAPI=7
+HOMEPAGE=https://github.com/kisielk/errcheck
+IUSE=test
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=!<=dev-go/docker-20.10.8-r1
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/kisielk/errcheck/archive/v1.6.0.tar.gz -> github.com-kisielk-errcheck-v1.6.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1a598d9a7e2b9008fbea176263e31444
diff --git a/metadata/md5-cache/dev-go/errors-0.9.1 b/metadata/md5-cache/dev-go/errors-0.9.1
index 26dc0b5..b4367bd 100644
--- a/metadata/md5-cache/dev-go/errors-0.9.1
+++ b/metadata/md5-cache/dev-go/errors-0.9.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/pkg/errors/archive/v0.9.1.tar.gz -> github.com-pkg-errors-v0.9.1.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=71ed1bdf63adc6fe9c005b151abc5186
diff --git a/metadata/md5-cache/dev-go/errors-0.9.1-r1 b/metadata/md5-cache/dev-go/errors-0.9.1-r1
index 26dc0b5..b4367bd 100644
--- a/metadata/md5-cache/dev-go/errors-0.9.1-r1
+++ b/metadata/md5-cache/dev-go/errors-0.9.1-r1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/pkg/errors/archive/v0.9.1.tar.gz -> github.com-pkg-errors-v0.9.1.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=71ed1bdf63adc6fe9c005b151abc5186
diff --git a/metadata/md5-cache/dev-go/exif-0.0.1 b/metadata/md5-cache/dev-go/exif-0.0.1
index 17320d8..015700e 100644
--- a/metadata/md5-cache/dev-go/exif-0.0.1
+++ b/metadata/md5-cache/dev-go/exif-0.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/rwcarlsen/goexif/archive/9e8deecbddbd4989a3e8d003684b783412b41e7a.tar.gz -> github.com-rwcarlsen-goexif-9e8deecbddbd4989a3e8d003684b783412b41e7a.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=7f6abe039fa83ee5c2edf4c0ed30846c
diff --git a/metadata/md5-cache/dev-go/exif-0.0.1-r1 b/metadata/md5-cache/dev-go/exif-0.0.1-r1
index 17320d8..015700e 100644
--- a/metadata/md5-cache/dev-go/exif-0.0.1-r1
+++ b/metadata/md5-cache/dev-go/exif-0.0.1-r1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/rwcarlsen/goexif/archive/9e8deecbddbd4989a3e8d003684b783412b41e7a.tar.gz -> github.com-rwcarlsen-goexif-9e8deecbddbd4989a3e8d003684b783412b41e7a.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=7f6abe039fa83ee5c2edf4c0ed30846c
diff --git a/metadata/md5-cache/dev-go/fogleman-gg-0.0.1 b/metadata/md5-cache/dev-go/fogleman-gg-0.0.1
index 5021fc0..e261bdf 100644
--- a/metadata/md5-cache/dev-go/fogleman-gg-0.0.1
+++ b/metadata/md5-cache/dev-go/fogleman-gg-0.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/fogleman/gg/archive/v1.3.0.tar.gz -> github.com-fogleman-gg-v1.3.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=c0ef30cfe43ec8352961a348b0a73a77
diff --git a/metadata/md5-cache/dev-go/fscrypt-0.2.9 b/metadata/md5-cache/dev-go/fscrypt-0.2.9
index 5bebd1d..d4d0800 100644
--- a/metadata/md5-cache/dev-go/fscrypt-0.2.9
+++ b/metadata/md5-cache/dev-go/fscrypt-0.2.9
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/misspell dev-go/crypto dev-go/go-sys sys-libs/pam:= dev-lang/go
+DEPEND=dev-go/cli dev-go/crypto dev-go/errors dev-go/go-tools dev-go/go-sys dev-go/golint dev-go/misspell dev-go/protobuf-legacy-api dev-go/staticcheck sys-libs/pam:= dev-lang/go
 DESCRIPTION=Go package for fscrypt utils
 EAPI=7
 HOMEPAGE=https://github.com/google/fscrypt
 KEYWORDS=*
 LICENSE=Apache-2.0
-RDEPEND=dev-go/misspell dev-go/crypto dev-go/go-sys sys-libs/pam:=
+RDEPEND=dev-go/cli dev-go/crypto dev-go/errors dev-go/go-tools dev-go/go-sys dev-go/golint dev-go/misspell dev-go/protobuf-legacy-api dev-go/staticcheck sys-libs/pam:=
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/google/fscrypt/archive/v0.2.9.tar.gz -> github.com-google-fscrypt-v0.2.9.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=60bfd53ef40c5768541ef10abac6da19
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a2910ceb896f37305a1f326654f65b93
diff --git a/metadata/md5-cache/dev-go/fscrypt-0.2.9-r1 b/metadata/md5-cache/dev-go/fscrypt-0.2.9-r1
deleted file mode 100644
index 5bebd1d..0000000
--- a/metadata/md5-cache/dev-go/fscrypt-0.2.9-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/misspell dev-go/crypto dev-go/go-sys sys-libs/pam:= dev-lang/go
-DESCRIPTION=Go package for fscrypt utils
-EAPI=7
-HOMEPAGE=https://github.com/google/fscrypt
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND=dev-go/misspell dev-go/crypto dev-go/go-sys sys-libs/pam:=
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/fscrypt/archive/v0.2.9.tar.gz -> github.com-google-fscrypt-v0.2.9.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=60bfd53ef40c5768541ef10abac6da19
diff --git a/metadata/md5-cache/dev-go/fscrypt-0.2.9-r3 b/metadata/md5-cache/dev-go/fscrypt-0.2.9-r3
new file mode 100644
index 0000000..d4d0800
--- /dev/null
+++ b/metadata/md5-cache/dev-go/fscrypt-0.2.9-r3
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/cli dev-go/crypto dev-go/errors dev-go/go-tools dev-go/go-sys dev-go/golint dev-go/misspell dev-go/protobuf-legacy-api dev-go/staticcheck sys-libs/pam:= dev-lang/go
+DESCRIPTION=Go package for fscrypt utils
+EAPI=7
+HOMEPAGE=https://github.com/google/fscrypt
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=dev-go/cli dev-go/crypto dev-go/errors dev-go/go-tools dev-go/go-sys dev-go/golint dev-go/misspell dev-go/protobuf-legacy-api dev-go/staticcheck sys-libs/pam:=
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/google/fscrypt/archive/v0.2.9.tar.gz -> github.com-google-fscrypt-v0.2.9.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a2910ceb896f37305a1f326654f65b93
diff --git a/metadata/md5-cache/dev-go/fsnotify-1.4.2 b/metadata/md5-cache/dev-go/fsnotify-1.4.2
index 509664a6..6f4ffac 100644
--- a/metadata/md5-cache/dev-go/fsnotify-1.4.2
+++ b/metadata/md5-cache/dev-go/fsnotify-1.4.2
@@ -9,5 +9,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/fsnotify/fsnotify/archive/v1.4.2.tar.gz -> github.com-fsnotify-fsnotify-v1.4.2.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=8833e0c734a6d48d2d8139c9f0abf644
diff --git a/metadata/md5-cache/dev-go/fsnotify-1.4.2-r1 b/metadata/md5-cache/dev-go/fsnotify-1.4.2-r1
index 509664a6..6f4ffac 100644
--- a/metadata/md5-cache/dev-go/fsnotify-1.4.2-r1
+++ b/metadata/md5-cache/dev-go/fsnotify-1.4.2-r1
@@ -9,5 +9,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/fsnotify/fsnotify/archive/v1.4.2.tar.gz -> github.com-fsnotify-fsnotify-v1.4.2.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=8833e0c734a6d48d2d8139c9f0abf644
diff --git a/metadata/md5-cache/dev-go/gapi-0.60.0 b/metadata/md5-cache/dev-go/gapi-0.60.0
new file mode 100644
index 0000000..ed89c99
--- /dev/null
+++ b/metadata/md5-cache/dev-go/gapi-0.60.0
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/appengine dev-go/genproto dev-go/golang-groupcache dev-go/cmp dev-go/net dev-lang/go
+DESCRIPTION=Auto-generated Google APIs for Go
+EAPI=7
+HOMEPAGE=https://github.com/google/google-api-go-client
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=!dev-go/gapi-bigquery !dev-go/gapi-bundler !dev-go/gapi-discovery !dev-go/gapi-drive !dev-go/gapi-gensupport !dev-go/gapi-googleapi !dev-go/gapi-iamcredentials !dev-go/gapi-internal !dev-go/gapi-internal-thirdparty !dev-go/gapi-iterator !dev-go/gapi-option !dev-go/gapi-storage !dev-go/gapi-transport
+RESTRICT=binchecks
+SLOT=0
+SRC_URI=https://github.com/google/google-api-go-client/archive/ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz -> github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=99f952380cb328f7e73979767250f37d
diff --git a/metadata/md5-cache/dev-go/gapi-0.60.0-r1 b/metadata/md5-cache/dev-go/gapi-0.60.0-r1
new file mode 100644
index 0000000..ed89c99
--- /dev/null
+++ b/metadata/md5-cache/dev-go/gapi-0.60.0-r1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/appengine dev-go/genproto dev-go/golang-groupcache dev-go/cmp dev-go/net dev-lang/go
+DESCRIPTION=Auto-generated Google APIs for Go
+EAPI=7
+HOMEPAGE=https://github.com/google/google-api-go-client
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=!dev-go/gapi-bigquery !dev-go/gapi-bundler !dev-go/gapi-discovery !dev-go/gapi-drive !dev-go/gapi-gensupport !dev-go/gapi-googleapi !dev-go/gapi-iamcredentials !dev-go/gapi-internal !dev-go/gapi-internal-thirdparty !dev-go/gapi-iterator !dev-go/gapi-option !dev-go/gapi-storage !dev-go/gapi-transport
+RESTRICT=binchecks
+SLOT=0
+SRC_URI=https://github.com/google/google-api-go-client/archive/ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz -> github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=99f952380cb328f7e73979767250f37d
diff --git a/metadata/md5-cache/dev-go/gapi-bigquery-0.0.1 b/metadata/md5-cache/dev-go/gapi-bigquery-0.0.1
deleted file mode 100644
index 0f786f7..0000000
--- a/metadata/md5-cache/dev-go/gapi-bigquery-0.0.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-gensupport dev-go/gapi-googleapi dev-go/net dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=5
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-gensupport dev-go/gapi-googleapi dev-go/net
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/068431dcab1a5817548dd244d9795788a98329f4.tar.gz -> github.com-google-google-api-go-client-068431dcab1a5817548dd244d9795788a98329f4.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=10abffa9f643e1960f9e28b49d9ff1e9
diff --git a/metadata/md5-cache/dev-go/gapi-bigquery-0.0.1-r2 b/metadata/md5-cache/dev-go/gapi-bigquery-0.0.1-r2
deleted file mode 100644
index 0f786f7..0000000
--- a/metadata/md5-cache/dev-go/gapi-bigquery-0.0.1-r2
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-gensupport dev-go/gapi-googleapi dev-go/net dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=5
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-gensupport dev-go/gapi-googleapi dev-go/net
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/068431dcab1a5817548dd244d9795788a98329f4.tar.gz -> github.com-google-google-api-go-client-068431dcab1a5817548dd244d9795788a98329f4.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=10abffa9f643e1960f9e28b49d9ff1e9
diff --git a/metadata/md5-cache/dev-go/gapi-bundler-0.0.1 b/metadata/md5-cache/dev-go/gapi-bundler-0.0.1
deleted file mode 100644
index 0fa0472..0000000
--- a/metadata/md5-cache/dev-go/gapi-bundler-0.0.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/net dev-go/sync dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=5
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/net dev-go/sync
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/068431dcab1a5817548dd244d9795788a98329f4.tar.gz -> github.com-google-google-api-go-client-068431dcab1a5817548dd244d9795788a98329f4.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=7b4f56b899e0d12bd863c9fa5a6f53fd
diff --git a/metadata/md5-cache/dev-go/gapi-bundler-0.0.1-r2 b/metadata/md5-cache/dev-go/gapi-bundler-0.0.1-r2
deleted file mode 100644
index 0fa0472..0000000
--- a/metadata/md5-cache/dev-go/gapi-bundler-0.0.1-r2
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/net dev-go/sync dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=5
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/net dev-go/sync
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/068431dcab1a5817548dd244d9795788a98329f4.tar.gz -> github.com-google-google-api-go-client-068431dcab1a5817548dd244d9795788a98329f4.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=7b4f56b899e0d12bd863c9fa5a6f53fd
diff --git a/metadata/md5-cache/dev-go/gapi-discovery-0.60.0 b/metadata/md5-cache/dev-go/gapi-discovery-0.60.0
deleted file mode 100644
index ed41917..0000000
--- a/metadata/md5-cache/dev-go/gapi-discovery-0.60.0
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-gensupport:= dev-go/gapi-internal dev-go/gapi-transport:= dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=7
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-gensupport:= dev-go/gapi-internal dev-go/gapi-transport:=
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz -> github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0c947d8aed22964651cb9f5fa80b9ef6
diff --git a/metadata/md5-cache/dev-go/gapi-discovery-0.60.0-r1 b/metadata/md5-cache/dev-go/gapi-discovery-0.60.0-r1
deleted file mode 100644
index ed41917..0000000
--- a/metadata/md5-cache/dev-go/gapi-discovery-0.60.0-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-gensupport:= dev-go/gapi-internal dev-go/gapi-transport:= dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=7
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-gensupport:= dev-go/gapi-internal dev-go/gapi-transport:=
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz -> github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0c947d8aed22964651cb9f5fa80b9ef6
diff --git a/metadata/md5-cache/dev-go/gapi-drive-0.0.1 b/metadata/md5-cache/dev-go/gapi-drive-0.0.1
deleted file mode 100644
index 8200310..0000000
--- a/metadata/md5-cache/dev-go/gapi-drive-0.0.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-gensupport dev-go/gapi-googleapi dev-go/net dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=5
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-gensupport dev-go/gapi-googleapi dev-go/net
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/068431dcab1a5817548dd244d9795788a98329f4.tar.gz -> github.com-google-google-api-go-client-068431dcab1a5817548dd244d9795788a98329f4.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=c098885890f73988c560cac5f3561f26
diff --git a/metadata/md5-cache/dev-go/gapi-drive-0.0.1-r1 b/metadata/md5-cache/dev-go/gapi-drive-0.0.1-r1
deleted file mode 100644
index 8200310..0000000
--- a/metadata/md5-cache/dev-go/gapi-drive-0.0.1-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-gensupport dev-go/gapi-googleapi dev-go/net dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=5
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-gensupport dev-go/gapi-googleapi dev-go/net
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/068431dcab1a5817548dd244d9795788a98329f4.tar.gz -> github.com-google-google-api-go-client-068431dcab1a5817548dd244d9795788a98329f4.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=c098885890f73988c560cac5f3561f26
diff --git a/metadata/md5-cache/dev-go/gapi-gensupport-0.0.1 b/metadata/md5-cache/dev-go/gapi-gensupport-0.0.1
deleted file mode 100644
index 666502b..0000000
--- a/metadata/md5-cache/dev-go/gapi-gensupport-0.0.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-googleapi dev-go/net dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=5
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-googleapi dev-go/net
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/068431dcab1a5817548dd244d9795788a98329f4.tar.gz -> github.com-google-google-api-go-client-068431dcab1a5817548dd244d9795788a98329f4.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=51c4602f24fbd2eb7729a59cc428c3fa
diff --git a/metadata/md5-cache/dev-go/gapi-gensupport-0.0.1-r2 b/metadata/md5-cache/dev-go/gapi-gensupport-0.0.1-r2
deleted file mode 100644
index 666502b..0000000
--- a/metadata/md5-cache/dev-go/gapi-gensupport-0.0.1-r2
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-googleapi dev-go/net dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=5
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-googleapi dev-go/net
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/068431dcab1a5817548dd244d9795788a98329f4.tar.gz -> github.com-google-google-api-go-client-068431dcab1a5817548dd244d9795788a98329f4.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=51c4602f24fbd2eb7729a59cc428c3fa
diff --git a/metadata/md5-cache/dev-go/gapi-googleapi-0.60.0 b/metadata/md5-cache/dev-go/gapi-googleapi-0.60.0
deleted file mode 100644
index 810bec8..0000000
--- a/metadata/md5-cache/dev-go/gapi-googleapi-0.60.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-internal-thirdparty dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=5
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-internal-thirdparty
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz -> github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=1f129daeaa19d162f76bc49bff9a608f
diff --git a/metadata/md5-cache/dev-go/gapi-googleapi-0.60.0-r1 b/metadata/md5-cache/dev-go/gapi-googleapi-0.60.0-r1
deleted file mode 100644
index 810bec8..0000000
--- a/metadata/md5-cache/dev-go/gapi-googleapi-0.60.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-internal-thirdparty dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=5
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-internal-thirdparty
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz -> github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=1f129daeaa19d162f76bc49bff9a608f
diff --git a/metadata/md5-cache/dev-go/gapi-iamcredentials-0.60.0 b/metadata/md5-cache/dev-go/gapi-iamcredentials-0.60.0
deleted file mode 100644
index 00a69df..0000000
--- a/metadata/md5-cache/dev-go/gapi-iamcredentials-0.60.0
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=7
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RESTRICT=binchecks
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz -> github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=84a3445ce2dfb64ada425e2b92279834
diff --git a/metadata/md5-cache/dev-go/gapi-iamcredentials-0.60.0-r1 b/metadata/md5-cache/dev-go/gapi-iamcredentials-0.60.0-r1
deleted file mode 100644
index 00a69df..0000000
--- a/metadata/md5-cache/dev-go/gapi-iamcredentials-0.60.0-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=7
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RESTRICT=binchecks
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz -> github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=84a3445ce2dfb64ada425e2b92279834
diff --git a/metadata/md5-cache/dev-go/gapi-internal-0.60.0 b/metadata/md5-cache/dev-go/gapi-internal-0.60.0
deleted file mode 100644
index 57980b2..0000000
--- a/metadata/md5-cache/dev-go/gapi-internal-0.60.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/cmp dev-go/gax dev-go/grpc dev-go/oauth2 dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=5
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/cmp dev-go/gax dev-go/grpc dev-go/oauth2
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz -> github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=fd70686dee2b0febd326d904a13a6580
diff --git a/metadata/md5-cache/dev-go/gapi-internal-0.60.0-r1 b/metadata/md5-cache/dev-go/gapi-internal-0.60.0-r1
deleted file mode 100644
index 57980b2..0000000
--- a/metadata/md5-cache/dev-go/gapi-internal-0.60.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/cmp dev-go/gax dev-go/grpc dev-go/oauth2 dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=5
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/cmp dev-go/gax dev-go/grpc dev-go/oauth2
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz -> github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=fd70686dee2b0febd326d904a13a6580
diff --git a/metadata/md5-cache/dev-go/gapi-internal-thirdparty-0.60.0 b/metadata/md5-cache/dev-go/gapi-internal-thirdparty-0.60.0
deleted file mode 100644
index 24f9889..0000000
--- a/metadata/md5-cache/dev-go/gapi-internal-thirdparty-0.60.0
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=7
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RESTRICT=binchecks
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz -> github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9b1794eca0aeb76b8093f7e04a882b08
diff --git a/metadata/md5-cache/dev-go/gapi-internal-thirdparty-0.60.0-r1 b/metadata/md5-cache/dev-go/gapi-internal-thirdparty-0.60.0-r1
deleted file mode 100644
index 24f9889..0000000
--- a/metadata/md5-cache/dev-go/gapi-internal-thirdparty-0.60.0-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=7
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RESTRICT=binchecks
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz -> github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9b1794eca0aeb76b8093f7e04a882b08
diff --git a/metadata/md5-cache/dev-go/gapi-iterator-0.60.0 b/metadata/md5-cache/dev-go/gapi-iterator-0.60.0
deleted file mode 100644
index be39b18..0000000
--- a/metadata/md5-cache/dev-go/gapi-iterator-0.60.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/net dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=5
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/net
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz -> github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=7b455ca3c45e9d1150cd58dfcb6b471e
diff --git a/metadata/md5-cache/dev-go/gapi-iterator-0.60.0-r1 b/metadata/md5-cache/dev-go/gapi-iterator-0.60.0-r1
deleted file mode 100644
index be39b18..0000000
--- a/metadata/md5-cache/dev-go/gapi-iterator-0.60.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/net dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=5
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/net
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz -> github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=7b455ca3c45e9d1150cd58dfcb6b471e
diff --git a/metadata/md5-cache/dev-go/gapi-option-0.60.0 b/metadata/md5-cache/dev-go/gapi-option-0.60.0
deleted file mode 100644
index 538a639..0000000
--- a/metadata/md5-cache/dev-go/gapi-option-0.60.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-internal dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=5
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-internal
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz -> github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=d2a11abf07f953d657ff84b85db4948b
diff --git a/metadata/md5-cache/dev-go/gapi-option-0.60.0-r1 b/metadata/md5-cache/dev-go/gapi-option-0.60.0-r1
deleted file mode 100644
index 538a639..0000000
--- a/metadata/md5-cache/dev-go/gapi-option-0.60.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-internal dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=5
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-internal
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz -> github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=d2a11abf07f953d657ff84b85db4948b
diff --git a/metadata/md5-cache/dev-go/gapi-storage-0.60.0 b/metadata/md5-cache/dev-go/gapi-storage-0.60.0
deleted file mode 100644
index 3e79f54..0000000
--- a/metadata/md5-cache/dev-go/gapi-storage-0.60.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-gensupport dev-go/gapi-googleapi dev-go/net dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=5
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-gensupport dev-go/gapi-googleapi dev-go/net
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz -> github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=eedc79df4af5bee11e65b2fa75f0231d
diff --git a/metadata/md5-cache/dev-go/gapi-storage-0.60.0-r1 b/metadata/md5-cache/dev-go/gapi-storage-0.60.0-r1
deleted file mode 100644
index 3e79f54..0000000
--- a/metadata/md5-cache/dev-go/gapi-storage-0.60.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-gensupport dev-go/gapi-googleapi dev-go/net dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=5
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-gensupport dev-go/gapi-googleapi dev-go/net
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz -> github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=eedc79df4af5bee11e65b2fa75f0231d
diff --git a/metadata/md5-cache/dev-go/gapi-transport-0.60.0 b/metadata/md5-cache/dev-go/gapi-transport-0.60.0
deleted file mode 100644
index 63423fa..0000000
--- a/metadata/md5-cache/dev-go/gapi-transport-0.60.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-googleapi dev-go/gapi-internal dev-go/gapi-option dev-go/grpc dev-go/opencensus dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=5
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-googleapi dev-go/gapi-internal dev-go/gapi-option dev-go/grpc dev-go/opencensus !dev-go/grpc-credentials-oauth
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz -> github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=235c0fb68656bffa16573fe7e8abf12c
diff --git a/metadata/md5-cache/dev-go/gapi-transport-0.60.0-r1 b/metadata/md5-cache/dev-go/gapi-transport-0.60.0-r1
deleted file mode 100644
index 63423fa..0000000
--- a/metadata/md5-cache/dev-go/gapi-transport-0.60.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-googleapi dev-go/gapi-internal dev-go/gapi-option dev-go/grpc dev-go/opencensus dev-lang/go
-DESCRIPTION=Auto-generated Google APIs for Go
-EAPI=5
-HOMEPAGE=https://github.com/google/google-api-go-client
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-googleapi dev-go/gapi-internal dev-go/gapi-option dev-go/grpc dev-go/opencensus !dev-go/grpc-credentials-oauth
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/google-api-go-client/archive/ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz -> github.com-google-google-api-go-client-ccca5aa6d9d9aba8ad11c879ccea89c94663ea39.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=235c0fb68656bffa16573fe7e8abf12c
diff --git a/metadata/md5-cache/dev-go/gax-1.0.1 b/metadata/md5-cache/dev-go/gax-1.0.1
new file mode 100644
index 0000000..3cd74e5
--- /dev/null
+++ b/metadata/md5-cache/dev-go/gax-1.0.1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/gax:0 dev-lang/go
+DESCRIPTION=Google API Extensions for Go
+EAPI=7
+HOMEPAGE=https://github.com/googleapis/gax-go
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/gax:0
+RESTRICT=binchecks strip
+SLOT=1
+SRC_URI=https://github.com/googleapis/gax-go/archive/v2.1.1.tar.gz -> github.com-googleapis-gax-go-v2.1.1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f7dadca3ca53e2e29522b672bcb7e277
diff --git a/metadata/md5-cache/dev-go/gax-1.0.1-r1 b/metadata/md5-cache/dev-go/gax-1.0.1-r1
new file mode 100644
index 0000000..3cd74e5
--- /dev/null
+++ b/metadata/md5-cache/dev-go/gax-1.0.1-r1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/gax:0 dev-lang/go
+DESCRIPTION=Google API Extensions for Go
+EAPI=7
+HOMEPAGE=https://github.com/googleapis/gax-go
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/gax:0
+RESTRICT=binchecks strip
+SLOT=1
+SRC_URI=https://github.com/googleapis/gax-go/archive/v2.1.1.tar.gz -> github.com-googleapis-gax-go-v2.1.1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f7dadca3ca53e2e29522b672bcb7e277
diff --git a/metadata/md5-cache/dev-go/gax-2.1.1 b/metadata/md5-cache/dev-go/gax-2.1.1
index 1d829dc..6f19cdb 100644
--- a/metadata/md5-cache/dev-go/gax-2.1.1
+++ b/metadata/md5-cache/dev-go/gax-2.1.1
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-googleapi dev-go/grpc dev-go/yaml:0 dev-lang/go
+DEPEND=dev-go/gapi dev-go/genproto dev-go/go-tools dev-go/golint dev-go/grpc dev-go/net dev-go/protobuf dev-go/yaml:0 dev-lang/go
 DESCRIPTION=Google API Extensions for Go
-EAPI=5
+EAPI=7
 HOMEPAGE=https://github.com/googleapis/gax-go
 KEYWORDS=*
 LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-googleapi dev-go/grpc dev-go/yaml:0
+RDEPEND=dev-go/gapi dev-go/genproto dev-go/go-tools dev-go/golint dev-go/grpc dev-go/net dev-go/protobuf dev-go/yaml:0
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/googleapis/gax-go/archive/v2.1.1.tar.gz -> github.com-googleapis-gax-go-v2.1.1.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=1c5e982b8faaf2fc6fed1217d37614e7
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=44ab73082eeee6c3826b23233a408663
diff --git a/metadata/md5-cache/dev-go/gax-2.1.1-r2 b/metadata/md5-cache/dev-go/gax-2.1.1-r2
deleted file mode 100644
index 1d829dc..0000000
--- a/metadata/md5-cache/dev-go/gax-2.1.1-r2
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-googleapi dev-go/grpc dev-go/yaml:0 dev-lang/go
-DESCRIPTION=Google API Extensions for Go
-EAPI=5
-HOMEPAGE=https://github.com/googleapis/gax-go
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-googleapi dev-go/grpc dev-go/yaml:0
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/googleapis/gax-go/archive/v2.1.1.tar.gz -> github.com-googleapis-gax-go-v2.1.1.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=1c5e982b8faaf2fc6fed1217d37614e7
diff --git a/metadata/md5-cache/dev-go/gax-2.1.1-r5 b/metadata/md5-cache/dev-go/gax-2.1.1-r5
new file mode 100644
index 0000000..6f19cdb
--- /dev/null
+++ b/metadata/md5-cache/dev-go/gax-2.1.1-r5
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/gapi dev-go/genproto dev-go/go-tools dev-go/golint dev-go/grpc dev-go/net dev-go/protobuf dev-go/yaml:0 dev-lang/go
+DESCRIPTION=Google API Extensions for Go
+EAPI=7
+HOMEPAGE=https://github.com/googleapis/gax-go
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/gapi dev-go/genproto dev-go/go-tools dev-go/golint dev-go/grpc dev-go/net dev-go/protobuf dev-go/yaml:0
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/googleapis/gax-go/archive/v2.1.1.tar.gz -> github.com-googleapis-gax-go-v2.1.1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=44ab73082eeee6c3826b23233a408663
diff --git a/metadata/md5-cache/dev-go/gcp-0.97.0 b/metadata/md5-cache/dev-go/gcp-0.97.0
new file mode 100644
index 0000000..7807855
--- /dev/null
+++ b/metadata/md5-cache/dev-go/gcp-0.97.0
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/cmp dev-go/gapi dev-go/genproto dev-go/net dev-go/protoc-gen-go-grpc dev-lang/go
+DESCRIPTION=Google Cloud Client Libraries for Go
+EAPI=7
+HOMEPAGE=https://code.googlesource.com/gocloud
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/cmp dev-go/gapi dev-go/genproto dev-go/net dev-go/protoc-gen-go-grpc !dev-go/gcp-internal !dev-go/gcp-civil
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.97.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.97.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=281538063cf7b7ff33bdaae9488e0727
diff --git a/metadata/md5-cache/dev-go/gcp-0.97.0-r2 b/metadata/md5-cache/dev-go/gcp-0.97.0-r2
new file mode 100644
index 0000000..7807855
--- /dev/null
+++ b/metadata/md5-cache/dev-go/gcp-0.97.0-r2
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/cmp dev-go/gapi dev-go/genproto dev-go/net dev-go/protoc-gen-go-grpc dev-lang/go
+DESCRIPTION=Google Cloud Client Libraries for Go
+EAPI=7
+HOMEPAGE=https://code.googlesource.com/gocloud
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/cmp dev-go/gapi dev-go/genproto dev-go/net dev-go/protoc-gen-go-grpc !dev-go/gcp-internal !dev-go/gcp-civil
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.97.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.97.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=281538063cf7b7ff33bdaae9488e0727
diff --git a/metadata/md5-cache/dev-go/gcp-bigquery-0.18.0 b/metadata/md5-cache/dev-go/gcp-bigquery-0.18.0
index 5dfbd3c..c6c8a4f 100644
--- a/metadata/md5-cache/dev-go/gcp-bigquery-0.18.0
+++ b/metadata/md5-cache/dev-go/gcp-bigquery-0.18.0
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-bigquery dev-go/gapi-googleapi dev-go/gapi-iterator dev-go/gapi-option dev-go/gapi-storage dev-go/gapi-transport dev-go/gcp-civil dev-go/gcp-internal dev-go/genproto dev-lang/go
+DEPEND=dev-go/gapi dev-go/gcp dev-go/genproto dev-lang/go
 DESCRIPTION=Google Cloud Client Libraries for Go
 EAPI=5
 HOMEPAGE=https://code.googlesource.com/gocloud
 KEYWORDS=*
 LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-bigquery dev-go/gapi-googleapi dev-go/gapi-iterator dev-go/gapi-option dev-go/gapi-storage dev-go/gapi-transport dev-go/gcp-civil dev-go/gcp-internal dev-go/genproto
+RDEPEND=dev-go/gapi dev-go/gcp dev-go/genproto
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.18.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.18.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=64cba64d871fbfa4e7704cafd423a156
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=f030f13c037580d49f14ad02883879af
diff --git a/metadata/md5-cache/dev-go/gcp-bigquery-0.18.0-r4 b/metadata/md5-cache/dev-go/gcp-bigquery-0.18.0-r4
deleted file mode 100644
index 5dfbd3c..0000000
--- a/metadata/md5-cache/dev-go/gcp-bigquery-0.18.0-r4
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-bigquery dev-go/gapi-googleapi dev-go/gapi-iterator dev-go/gapi-option dev-go/gapi-storage dev-go/gapi-transport dev-go/gcp-civil dev-go/gcp-internal dev-go/genproto dev-lang/go
-DESCRIPTION=Google Cloud Client Libraries for Go
-EAPI=5
-HOMEPAGE=https://code.googlesource.com/gocloud
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-bigquery dev-go/gapi-googleapi dev-go/gapi-iterator dev-go/gapi-option dev-go/gapi-storage dev-go/gapi-transport dev-go/gcp-civil dev-go/gcp-internal dev-go/genproto
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.18.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.18.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=64cba64d871fbfa4e7704cafd423a156
diff --git a/metadata/md5-cache/dev-go/gcp-bigquery-0.18.0-r6 b/metadata/md5-cache/dev-go/gcp-bigquery-0.18.0-r6
new file mode 100644
index 0000000..c6c8a4f
--- /dev/null
+++ b/metadata/md5-cache/dev-go/gcp-bigquery-0.18.0-r6
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/gapi dev-go/gcp dev-go/genproto dev-lang/go
+DESCRIPTION=Google Cloud Client Libraries for Go
+EAPI=5
+HOMEPAGE=https://code.googlesource.com/gocloud
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/gapi dev-go/gcp dev-go/genproto
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.18.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.18.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=f030f13c037580d49f14ad02883879af
diff --git a/metadata/md5-cache/dev-go/gcp-civil-0.18.0 b/metadata/md5-cache/dev-go/gcp-civil-0.18.0
deleted file mode 100644
index 618880d..0000000
--- a/metadata/md5-cache/dev-go/gcp-civil-0.18.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/cmp dev-lang/go
-DESCRIPTION=Google Cloud Client Libraries for Go
-EAPI=5
-HOMEPAGE=https://code.googlesource.com/gocloud
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/cmp
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.18.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.18.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=14e92a801602cf0e8264812e42f8f97f
diff --git a/metadata/md5-cache/dev-go/gcp-civil-0.18.0-r3 b/metadata/md5-cache/dev-go/gcp-civil-0.18.0-r3
deleted file mode 100644
index 618880d..0000000
--- a/metadata/md5-cache/dev-go/gcp-civil-0.18.0-r3
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/cmp dev-lang/go
-DESCRIPTION=Google Cloud Client Libraries for Go
-EAPI=5
-HOMEPAGE=https://code.googlesource.com/gocloud
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/cmp
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.18.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.18.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=14e92a801602cf0e8264812e42f8f97f
diff --git a/metadata/md5-cache/dev-go/gcp-compute-0.97.0 b/metadata/md5-cache/dev-go/gcp-compute-0.97.0
index 3ddb1f5..707b6d3 100644
--- a/metadata/md5-cache/dev-go/gcp-compute-0.97.0
+++ b/metadata/md5-cache/dev-go/gcp-compute-0.97.0
@@ -9,5 +9,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.97.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.97.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=6cea665232db3a60ff232ad0871863db
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=b2a2fe386bab40c11b6fa03d637ea952
diff --git a/metadata/md5-cache/dev-go/gcp-compute-0.97.0-r1 b/metadata/md5-cache/dev-go/gcp-compute-0.97.0-r1
deleted file mode 100644
index 3ddb1f5..0000000
--- a/metadata/md5-cache/dev-go/gcp-compute-0.97.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/net dev-lang/go
-DESCRIPTION=Google Cloud Client Libraries for Go
-EAPI=5
-HOMEPAGE=https://code.googlesource.com/gocloud
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/net
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.97.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.97.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=6cea665232db3a60ff232ad0871863db
diff --git a/metadata/md5-cache/dev-go/gcp-compute-0.97.0-r2 b/metadata/md5-cache/dev-go/gcp-compute-0.97.0-r2
new file mode 100644
index 0000000..707b6d3
--- /dev/null
+++ b/metadata/md5-cache/dev-go/gcp-compute-0.97.0-r2
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/net dev-lang/go
+DESCRIPTION=Google Cloud Client Libraries for Go
+EAPI=5
+HOMEPAGE=https://code.googlesource.com/gocloud
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/net
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.97.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.97.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=b2a2fe386bab40c11b6fa03d637ea952
diff --git a/metadata/md5-cache/dev-go/gcp-iam-0.18.0 b/metadata/md5-cache/dev-go/gcp-iam-0.18.0
index 54fc400..06d66668 100644
--- a/metadata/md5-cache/dev-go/gcp-iam-0.18.0
+++ b/metadata/md5-cache/dev-go/gcp-iam-0.18.0
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gax dev-go/genproto dev-go/grpc dev-go/net dev-lang/go
+DEPEND=dev-go/gapi dev-go/gax:1 dev-go/genproto dev-go/grpc dev-go/net dev-go/protobuf-legacy-api dev-lang/go
 DESCRIPTION=Google Cloud Client Libraries for Go
 EAPI=5
 HOMEPAGE=https://code.googlesource.com/gocloud
 KEYWORDS=*
 LICENSE=BSD-Google
-RDEPEND=dev-go/gax dev-go/genproto dev-go/grpc dev-go/net
+RDEPEND=dev-go/gapi dev-go/gax:1 dev-go/genproto dev-go/grpc dev-go/net dev-go/protobuf-legacy-api
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.18.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.18.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=25d4bc548de1340d252dd6d5e8c3c63d
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=2fef723530974b646004794022427d31
diff --git a/metadata/md5-cache/dev-go/gcp-iam-0.18.0-r1 b/metadata/md5-cache/dev-go/gcp-iam-0.18.0-r1
deleted file mode 100644
index 54fc400..0000000
--- a/metadata/md5-cache/dev-go/gcp-iam-0.18.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gax dev-go/genproto dev-go/grpc dev-go/net dev-lang/go
-DESCRIPTION=Google Cloud Client Libraries for Go
-EAPI=5
-HOMEPAGE=https://code.googlesource.com/gocloud
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gax dev-go/genproto dev-go/grpc dev-go/net
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.18.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.18.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=25d4bc548de1340d252dd6d5e8c3c63d
diff --git a/metadata/md5-cache/dev-go/gcp-iam-0.18.0-r3 b/metadata/md5-cache/dev-go/gcp-iam-0.18.0-r3
new file mode 100644
index 0000000..06d66668
--- /dev/null
+++ b/metadata/md5-cache/dev-go/gcp-iam-0.18.0-r3
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/gapi dev-go/gax:1 dev-go/genproto dev-go/grpc dev-go/net dev-go/protobuf-legacy-api dev-lang/go
+DESCRIPTION=Google Cloud Client Libraries for Go
+EAPI=5
+HOMEPAGE=https://code.googlesource.com/gocloud
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/gapi dev-go/gax:1 dev-go/genproto dev-go/grpc dev-go/net dev-go/protobuf-legacy-api
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.18.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.18.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=2fef723530974b646004794022427d31
diff --git a/metadata/md5-cache/dev-go/gcp-internal-0.97.0 b/metadata/md5-cache/dev-go/gcp-internal-0.97.0
deleted file mode 100644
index 34bc8e6..0000000
--- a/metadata/md5-cache/dev-go/gcp-internal-0.97.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-googleapi dev-go/gapi-iterator dev-go/gapi-transport dev-go/grpc dev-go/gax dev-go/genproto dev-go/net dev-go/opencensus dev-lang/go
-DESCRIPTION=Google Cloud Client Libraries for Go
-EAPI=5
-HOMEPAGE=https://code.googlesource.com/gocloud
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-googleapi dev-go/gapi-iterator dev-go/gapi-transport dev-go/grpc dev-go/gax dev-go/genproto dev-go/net dev-go/opencensus
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.97.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.97.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=39faa69e40826abf6b0e188159bb8439
diff --git a/metadata/md5-cache/dev-go/gcp-internal-0.97.0-r1 b/metadata/md5-cache/dev-go/gcp-internal-0.97.0-r1
deleted file mode 100644
index 34bc8e6..0000000
--- a/metadata/md5-cache/dev-go/gcp-internal-0.97.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-googleapi dev-go/gapi-iterator dev-go/gapi-transport dev-go/grpc dev-go/gax dev-go/genproto dev-go/net dev-go/opencensus dev-lang/go
-DESCRIPTION=Google Cloud Client Libraries for Go
-EAPI=5
-HOMEPAGE=https://code.googlesource.com/gocloud
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-googleapi dev-go/gapi-iterator dev-go/gapi-transport dev-go/grpc dev-go/gax dev-go/genproto dev-go/net dev-go/opencensus
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.97.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.97.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=39faa69e40826abf6b0e188159bb8439
diff --git a/metadata/md5-cache/dev-go/gcp-monitoring-0.97.0 b/metadata/md5-cache/dev-go/gcp-monitoring-0.97.0
index fa64b02..922e670 100644
--- a/metadata/md5-cache/dev-go/gcp-monitoring-0.97.0
+++ b/metadata/md5-cache/dev-go/gcp-monitoring-0.97.0
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-iterator dev-go/gapi-option dev-go/gapi-transport dev-go/gax dev-lang/go
+DEPEND=dev-go/gapi dev-go/gax:1 dev-lang/go
 DESCRIPTION=Google Cloud Client Libraries for Go
 EAPI=5
 HOMEPAGE=https://code.googlesource.com/gocloud
 KEYWORDS=*
 LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-iterator dev-go/gapi-option dev-go/gapi-transport dev-go/gax
+RDEPEND=dev-go/gapi dev-go/gax:1
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.97.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.97.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=34da89c6c38faf71146d59917f9dc920
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=dcd2c640c179a8e76fdf54b495ae8652
diff --git a/metadata/md5-cache/dev-go/gcp-monitoring-0.97.0-r1 b/metadata/md5-cache/dev-go/gcp-monitoring-0.97.0-r1
deleted file mode 100644
index fa64b02..0000000
--- a/metadata/md5-cache/dev-go/gcp-monitoring-0.97.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-iterator dev-go/gapi-option dev-go/gapi-transport dev-go/gax dev-lang/go
-DESCRIPTION=Google Cloud Client Libraries for Go
-EAPI=5
-HOMEPAGE=https://code.googlesource.com/gocloud
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-iterator dev-go/gapi-option dev-go/gapi-transport dev-go/gax
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.97.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.97.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=34da89c6c38faf71146d59917f9dc920
diff --git a/metadata/md5-cache/dev-go/gcp-monitoring-0.97.0-r4 b/metadata/md5-cache/dev-go/gcp-monitoring-0.97.0-r4
new file mode 100644
index 0000000..922e670
--- /dev/null
+++ b/metadata/md5-cache/dev-go/gcp-monitoring-0.97.0-r4
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/gapi dev-go/gax:1 dev-lang/go
+DESCRIPTION=Google Cloud Client Libraries for Go
+EAPI=5
+HOMEPAGE=https://code.googlesource.com/gocloud
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/gapi dev-go/gax:1
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.97.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.97.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=dcd2c640c179a8e76fdf54b495ae8652
diff --git a/metadata/md5-cache/dev-go/gcp-pubsub-0.18.0 b/metadata/md5-cache/dev-go/gcp-pubsub-0.18.0
index 1545f2c..23b51bc 100644
--- a/metadata/md5-cache/dev-go/gcp-pubsub-0.18.0
+++ b/metadata/md5-cache/dev-go/gcp-pubsub-0.18.0
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-bundler dev-go/gapi-iterator dev-go/gapi-option dev-go/gapi-transport dev-go/gax dev-go/gcp-iam dev-go/gcp-internal dev-go/genproto dev-go/grpc dev-go/net dev-go/opencensus dev-go/protobuf dev-go/sync dev-lang/go
+DEPEND=dev-go/gapi dev-go/gax:1 dev-go/gcp dev-go/gcp-iam dev-go/genproto dev-go/grpc dev-go/net dev-go/opencensus dev-go/protobuf dev-go/protobuf-legacy-api dev-go/sync dev-lang/go
 DESCRIPTION=Google Cloud Client Libraries for Go
 EAPI=5
 HOMEPAGE=https://code.googlesource.com/gocloud
 KEYWORDS=*
 LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-bundler dev-go/gapi-iterator dev-go/gapi-option dev-go/gapi-transport dev-go/gax dev-go/gcp-iam dev-go/gcp-internal dev-go/genproto dev-go/grpc dev-go/net dev-go/opencensus dev-go/protobuf dev-go/sync
+RDEPEND=dev-go/gapi dev-go/gax:1 dev-go/gcp dev-go/gcp-iam dev-go/genproto dev-go/grpc dev-go/net dev-go/opencensus dev-go/protobuf dev-go/protobuf-legacy-api dev-go/sync
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.18.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.18.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=f2c030bce92c3acf9fce2b8a6dfa5477
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=25091c6e0d838db1b287397a551ce035
diff --git a/metadata/md5-cache/dev-go/gcp-pubsub-0.18.0-r1 b/metadata/md5-cache/dev-go/gcp-pubsub-0.18.0-r1
deleted file mode 100644
index 1545f2c..0000000
--- a/metadata/md5-cache/dev-go/gcp-pubsub-0.18.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-bundler dev-go/gapi-iterator dev-go/gapi-option dev-go/gapi-transport dev-go/gax dev-go/gcp-iam dev-go/gcp-internal dev-go/genproto dev-go/grpc dev-go/net dev-go/opencensus dev-go/protobuf dev-go/sync dev-lang/go
-DESCRIPTION=Google Cloud Client Libraries for Go
-EAPI=5
-HOMEPAGE=https://code.googlesource.com/gocloud
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-bundler dev-go/gapi-iterator dev-go/gapi-option dev-go/gapi-transport dev-go/gax dev-go/gcp-iam dev-go/gcp-internal dev-go/genproto dev-go/grpc dev-go/net dev-go/opencensus dev-go/protobuf dev-go/sync
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.18.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.18.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=f2c030bce92c3acf9fce2b8a6dfa5477
diff --git a/metadata/md5-cache/dev-go/gcp-pubsub-0.18.0-r5 b/metadata/md5-cache/dev-go/gcp-pubsub-0.18.0-r5
new file mode 100644
index 0000000..23b51bc
--- /dev/null
+++ b/metadata/md5-cache/dev-go/gcp-pubsub-0.18.0-r5
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/gapi dev-go/gax:1 dev-go/gcp dev-go/gcp-iam dev-go/genproto dev-go/grpc dev-go/net dev-go/opencensus dev-go/protobuf dev-go/protobuf-legacy-api dev-go/sync dev-lang/go
+DESCRIPTION=Google Cloud Client Libraries for Go
+EAPI=5
+HOMEPAGE=https://code.googlesource.com/gocloud
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/gapi dev-go/gax:1 dev-go/gcp dev-go/gcp-iam dev-go/genproto dev-go/grpc dev-go/net dev-go/opencensus dev-go/protobuf dev-go/protobuf-legacy-api dev-go/sync
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.18.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.18.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=25091c6e0d838db1b287397a551ce035
diff --git a/metadata/md5-cache/dev-go/gcp-storage-1.18.2 b/metadata/md5-cache/dev-go/gcp-storage-1.18.2
index abb6ce2..cdfbefc 100644
--- a/metadata/md5-cache/dev-go/gcp-storage-1.18.2
+++ b/metadata/md5-cache/dev-go/gcp-storage-1.18.2
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-iamcredentials dev-go/gapi-storage dev-go/gapi-transport dev-go/gcp-iam dev-go/gcp-internal dev-go/gcp-trace dev-go/genproto dev-lang/go
+DEPEND=dev-go/gapi dev-go/gcp dev-go/gcp-iam dev-go/gcp-trace dev-go/genproto dev-lang/go
 DESCRIPTION=Google Cloud Client Libraries for Go
 EAPI=7
 HOMEPAGE=https://code.googlesource.com/gocloud
 KEYWORDS=*
 LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-iamcredentials dev-go/gapi-storage dev-go/gapi-transport dev-go/gcp-iam dev-go/gcp-internal dev-go/gcp-trace dev-go/genproto
+RDEPEND=dev-go/gapi dev-go/gcp dev-go/gcp-iam dev-go/gcp-trace dev-go/genproto
 RESTRICT=binchecks
 SLOT=0
 SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/ae85bf6f82f4807ee46a814b416659cf0a766f0f.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-ae85bf6f82f4807ee46a814b416659cf0a766f0f.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=dba03db039393e8a4602136b9e6d08c7
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=55f47eaf632df61a7f87d0adebda9a53
diff --git a/metadata/md5-cache/dev-go/gcp-storage-1.18.2-r1 b/metadata/md5-cache/dev-go/gcp-storage-1.18.2-r1
deleted file mode 100644
index abb6ce2..0000000
--- a/metadata/md5-cache/dev-go/gcp-storage-1.18.2-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-iamcredentials dev-go/gapi-storage dev-go/gapi-transport dev-go/gcp-iam dev-go/gcp-internal dev-go/gcp-trace dev-go/genproto dev-lang/go
-DESCRIPTION=Google Cloud Client Libraries for Go
-EAPI=7
-HOMEPAGE=https://code.googlesource.com/gocloud
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gapi-iamcredentials dev-go/gapi-storage dev-go/gapi-transport dev-go/gcp-iam dev-go/gcp-internal dev-go/gcp-trace dev-go/genproto
-RESTRICT=binchecks
-SLOT=0
-SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/ae85bf6f82f4807ee46a814b416659cf0a766f0f.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-ae85bf6f82f4807ee46a814b416659cf0a766f0f.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=dba03db039393e8a4602136b9e6d08c7
diff --git a/metadata/md5-cache/dev-go/gcp-storage-1.18.2-r4 b/metadata/md5-cache/dev-go/gcp-storage-1.18.2-r4
new file mode 100644
index 0000000..cdfbefc
--- /dev/null
+++ b/metadata/md5-cache/dev-go/gcp-storage-1.18.2-r4
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/gapi dev-go/gcp dev-go/gcp-iam dev-go/gcp-trace dev-go/genproto dev-lang/go
+DESCRIPTION=Google Cloud Client Libraries for Go
+EAPI=7
+HOMEPAGE=https://code.googlesource.com/gocloud
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/gapi dev-go/gcp dev-go/gcp-iam dev-go/gcp-trace dev-go/genproto
+RESTRICT=binchecks
+SLOT=0
+SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/ae85bf6f82f4807ee46a814b416659cf0a766f0f.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-ae85bf6f82f4807ee46a814b416659cf0a766f0f.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=55f47eaf632df61a7f87d0adebda9a53
diff --git a/metadata/md5-cache/dev-go/gcp-trace-0.97.0 b/metadata/md5-cache/dev-go/gcp-trace-0.97.0
index f379a8f..368b5c5 100644
--- a/metadata/md5-cache/dev-go/gcp-trace-0.97.0
+++ b/metadata/md5-cache/dev-go/gcp-trace-0.97.0
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/cmp dev-go/gapi-option dev-go/gapi-transport dev-go/gax dev-go/genproto dev-go/grpc dev-go/net dev-lang/go
+DEPEND=dev-go/cmp dev-go/gapi dev-go/gax:1 dev-go/genproto dev-go/grpc dev-go/net dev-go/opencensus dev-lang/go
 DESCRIPTION=Google Cloud Client Libraries for Go
 EAPI=5
 HOMEPAGE=https://code.googlesource.com/gocloud
 KEYWORDS=*
 LICENSE=BSD-Google
-RDEPEND=dev-go/cmp dev-go/gapi-option dev-go/gapi-transport dev-go/gax dev-go/genproto dev-go/grpc dev-go/net
+RDEPEND=dev-go/cmp dev-go/gapi dev-go/gax:1 dev-go/genproto dev-go/grpc dev-go/net dev-go/opencensus
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.97.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.97.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=208724d1fb4651d089b3f77786537347
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=895a8d60d03e06bfcd5c6a8c085f52cb
diff --git a/metadata/md5-cache/dev-go/gcp-trace-0.97.0-r1 b/metadata/md5-cache/dev-go/gcp-trace-0.97.0-r1
deleted file mode 100644
index f379a8f..0000000
--- a/metadata/md5-cache/dev-go/gcp-trace-0.97.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/cmp dev-go/gapi-option dev-go/gapi-transport dev-go/gax dev-go/genproto dev-go/grpc dev-go/net dev-lang/go
-DESCRIPTION=Google Cloud Client Libraries for Go
-EAPI=5
-HOMEPAGE=https://code.googlesource.com/gocloud
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/cmp dev-go/gapi-option dev-go/gapi-transport dev-go/gax dev-go/genproto dev-go/grpc dev-go/net
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.97.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.97.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=208724d1fb4651d089b3f77786537347
diff --git a/metadata/md5-cache/dev-go/gcp-trace-0.97.0-r4 b/metadata/md5-cache/dev-go/gcp-trace-0.97.0-r4
new file mode 100644
index 0000000..368b5c5
--- /dev/null
+++ b/metadata/md5-cache/dev-go/gcp-trace-0.97.0-r4
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/cmp dev-go/gapi dev-go/gax:1 dev-go/genproto dev-go/grpc dev-go/net dev-go/opencensus dev-lang/go
+DESCRIPTION=Google Cloud Client Libraries for Go
+EAPI=5
+HOMEPAGE=https://code.googlesource.com/gocloud
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/cmp dev-go/gapi dev-go/gax:1 dev-go/genproto dev-go/grpc dev-go/net dev-go/opencensus
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/GoogleCloudPlatform/google-cloud-go/archive/v0.97.0.tar.gz -> github.com-GoogleCloudPlatform-google-cloud-go-v0.97.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=895a8d60d03e06bfcd5c6a8c085f52cb
diff --git a/metadata/md5-cache/dev-go/genproto-0.0.1 b/metadata/md5-cache/dev-go/genproto-0.0.1
index b5d71cf..8c13350 100644
--- a/metadata/md5-cache/dev-go/genproto-0.0.1
+++ b/metadata/md5-cache/dev-go/genproto-0.0.1
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/genproto-rpc dev-go/grpc dev-lang/go
+DEPEND=dev-go/protobuf-legacy-api !dev-go/genproto-rpc !dev-go/genproto-api-expr !dev-go/genproto-chromeosuidetection dev-lang/go
 DESCRIPTION=Go generated proto packages
-EAPI=5
+EAPI=7
 HOMEPAGE=https://github.com/googleapis/googleapis/
 KEYWORDS=*
 LICENSE=BSD-Google
-RDEPEND=dev-go/genproto-rpc dev-go/grpc
+RDEPEND=dev-go/protobuf-legacy-api !dev-go/genproto-rpc !dev-go/genproto-api-expr !dev-go/genproto-chromeosuidetection
 RESTRICT=binchecks strip
 SLOT=0
-SRC_URI=https://github.com/google/go-genproto/archive/848deb03c04d9a338463a46b71f28a63b81c461b.tar.gz -> github.com-google-go-genproto-848deb03c04d9a338463a46b71f28a63b81c461b.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=1a2e76efaa57a0772884f616a631db1c
+SRC_URI=https://github.com/google/go-genproto/archive/43724f9ea8cfe9ecde3dd00c5b763498f9840a03.tar.gz -> github.com-google-go-genproto-43724f9ea8cfe9ecde3dd00c5b763498f9840a03.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ac89dfd5937a71c3b1dd25b911ab620e
diff --git a/metadata/md5-cache/dev-go/genproto-0.0.1-r7 b/metadata/md5-cache/dev-go/genproto-0.0.1-r7
deleted file mode 100644
index b5d71cf..0000000
--- a/metadata/md5-cache/dev-go/genproto-0.0.1-r7
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/genproto-rpc dev-go/grpc dev-lang/go
-DESCRIPTION=Go generated proto packages
-EAPI=5
-HOMEPAGE=https://github.com/googleapis/googleapis/
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/genproto-rpc dev-go/grpc
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/go-genproto/archive/848deb03c04d9a338463a46b71f28a63b81c461b.tar.gz -> github.com-google-go-genproto-848deb03c04d9a338463a46b71f28a63b81c461b.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=1a2e76efaa57a0772884f616a631db1c
diff --git a/metadata/md5-cache/dev-go/genproto-0.0.1-r9 b/metadata/md5-cache/dev-go/genproto-0.0.1-r9
new file mode 100644
index 0000000..8c13350
--- /dev/null
+++ b/metadata/md5-cache/dev-go/genproto-0.0.1-r9
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/protobuf-legacy-api !dev-go/genproto-rpc !dev-go/genproto-api-expr !dev-go/genproto-chromeosuidetection dev-lang/go
+DESCRIPTION=Go generated proto packages
+EAPI=7
+HOMEPAGE=https://github.com/googleapis/googleapis/
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/protobuf-legacy-api !dev-go/genproto-rpc !dev-go/genproto-api-expr !dev-go/genproto-chromeosuidetection
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/google/go-genproto/archive/43724f9ea8cfe9ecde3dd00c5b763498f9840a03.tar.gz -> github.com-google-go-genproto-43724f9ea8cfe9ecde3dd00c5b763498f9840a03.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ac89dfd5937a71c3b1dd25b911ab620e
diff --git a/metadata/md5-cache/dev-go/genproto-api-expr-0.0.1 b/metadata/md5-cache/dev-go/genproto-api-expr-0.0.1
deleted file mode 100644
index 6f9d24b..0000000
--- a/metadata/md5-cache/dev-go/genproto-api-expr-0.0.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/genproto-rpc dev-lang/go
-DESCRIPTION=Go generated proto packages
-EAPI=7
-HOMEPAGE=https://github.com/googleapis/googleapis/
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/genproto-rpc
-RESTRICT=binchecks
-SLOT=0
-SRC_URI=https://github.com/google/go-genproto/archive/848deb03c04d9a338463a46b71f28a63b81c461b.tar.gz -> github.com-google-go-genproto-848deb03c04d9a338463a46b71f28a63b81c461b.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=b6f506c8a768c1f95fc70d9378506579
diff --git a/metadata/md5-cache/dev-go/genproto-api-expr-0.0.1-r1 b/metadata/md5-cache/dev-go/genproto-api-expr-0.0.1-r1
deleted file mode 100644
index 6f9d24b..0000000
--- a/metadata/md5-cache/dev-go/genproto-api-expr-0.0.1-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/genproto-rpc dev-lang/go
-DESCRIPTION=Go generated proto packages
-EAPI=7
-HOMEPAGE=https://github.com/googleapis/googleapis/
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/genproto-rpc
-RESTRICT=binchecks
-SLOT=0
-SRC_URI=https://github.com/google/go-genproto/archive/848deb03c04d9a338463a46b71f28a63b81c461b.tar.gz -> github.com-google-go-genproto-848deb03c04d9a338463a46b71f28a63b81c461b.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=b6f506c8a768c1f95fc70d9378506579
diff --git a/metadata/md5-cache/dev-go/genproto-rpc-0.0.1 b/metadata/md5-cache/dev-go/genproto-rpc-0.0.1
deleted file mode 100644
index 45ca2cf..0000000
--- a/metadata/md5-cache/dev-go/genproto-rpc-0.0.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/protobuf dev-lang/go
-DESCRIPTION=Go generated proto packages
-EAPI=5
-HOMEPAGE=https://github.com/googleapis/googleapis/
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/protobuf
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/go-genproto/archive/848deb03c04d9a338463a46b71f28a63b81c461b.tar.gz -> github.com-google-go-genproto-848deb03c04d9a338463a46b71f28a63b81c461b.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=338fdf4dce670d5236a84002a0a7dd62
diff --git a/metadata/md5-cache/dev-go/genproto-rpc-0.0.1-r2 b/metadata/md5-cache/dev-go/genproto-rpc-0.0.1-r2
deleted file mode 100644
index 45ca2cf..0000000
--- a/metadata/md5-cache/dev-go/genproto-rpc-0.0.1-r2
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/protobuf dev-lang/go
-DESCRIPTION=Go generated proto packages
-EAPI=5
-HOMEPAGE=https://github.com/googleapis/googleapis/
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/protobuf
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/go-genproto/archive/848deb03c04d9a338463a46b71f28a63b81c461b.tar.gz -> github.com-google-go-genproto-848deb03c04d9a338463a46b71f28a63b81c461b.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=338fdf4dce670d5236a84002a0a7dd62
diff --git a/metadata/md5-cache/dev-go/glog-0.0.1 b/metadata/md5-cache/dev-go/glog-0.0.1
deleted file mode 100644
index b35771c..0000000
--- a/metadata/md5-cache/dev-go/glog-0.0.1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
-DESCRIPTION=Leveled execution logs for Go
-EAPI=5
-HOMEPAGE=https://github.com/golang/glog
-KEYWORDS=*
-LICENSE=BSD-Google
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/golang/glog/archive/44145f04b68cf362d9c4df2182967c2275eaefed.tar.gz -> github.com-golang-glog-44145f04b68cf362d9c4df2182967c2275eaefed.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=871f256f2627110b280f180aeaaa4a6a
diff --git a/metadata/md5-cache/dev-go/glog-0.0.1-r4 b/metadata/md5-cache/dev-go/glog-0.0.1-r4
deleted file mode 100644
index b35771c..0000000
--- a/metadata/md5-cache/dev-go/glog-0.0.1-r4
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
-DESCRIPTION=Leveled execution logs for Go
-EAPI=5
-HOMEPAGE=https://github.com/golang/glog
-KEYWORDS=*
-LICENSE=BSD-Google
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/golang/glog/archive/44145f04b68cf362d9c4df2182967c2275eaefed.tar.gz -> github.com-golang-glog-44145f04b68cf362d9c4df2182967c2275eaefed.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=871f256f2627110b280f180aeaaa4a6a
diff --git a/metadata/md5-cache/dev-go/glog-1.0.0 b/metadata/md5-cache/dev-go/glog-1.0.0
new file mode 100644
index 0000000..1137f099
--- /dev/null
+++ b/metadata/md5-cache/dev-go/glog-1.0.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Leveled execution logs for Go
+EAPI=5
+HOMEPAGE=https://github.com/golang/glog
+KEYWORDS=*
+LICENSE=BSD-Google
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/golang/glog/archive/v1.0.0.tar.gz -> github.com-golang-glog-v1.0.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=67b50364f632f3d1a1e76326cdae068a
diff --git a/metadata/md5-cache/dev-go/glog-1.0.0-r1 b/metadata/md5-cache/dev-go/glog-1.0.0-r1
new file mode 100644
index 0000000..1137f099
--- /dev/null
+++ b/metadata/md5-cache/dev-go/glog-1.0.0-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Leveled execution logs for Go
+EAPI=5
+HOMEPAGE=https://github.com/golang/glog
+KEYWORDS=*
+LICENSE=BSD-Google
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/golang/glog/archive/v1.0.0.tar.gz -> github.com-golang-glog-v1.0.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=67b50364f632f3d1a1e76326cdae068a
diff --git a/metadata/md5-cache/dev-go/go-arch-0.0.1 b/metadata/md5-cache/dev-go/go-arch-0.0.1
new file mode 100644
index 0000000..815bb92
--- /dev/null
+++ b/metadata/md5-cache/dev-go/go-arch-0.0.1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/rsc-io-pdf dev-lang/go
+DESCRIPTION=Machine architecture information used by the Go toolchain.
+EAPI=5
+HOMEPAGE=https://golang.org/x/arch
+KEYWORDS=*
+LICENSE=BSD-Google
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://go.googlesource.com/arch/+archive/cbf565b21d1e6f86b3114f28f516032b201c97fa.tar.gz -> go.googlesource.com-arch-cbf565b21d1e6f86b3114f28f516032b201c97fa.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=a814ef616c049508b14f9a16a6426d15
diff --git a/metadata/md5-cache/dev-go/go-arch-0.0.1-r1 b/metadata/md5-cache/dev-go/go-arch-0.0.1-r1
new file mode 100644
index 0000000..815bb92
--- /dev/null
+++ b/metadata/md5-cache/dev-go/go-arch-0.0.1-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/rsc-io-pdf dev-lang/go
+DESCRIPTION=Machine architecture information used by the Go toolchain.
+EAPI=5
+HOMEPAGE=https://golang.org/x/arch
+KEYWORDS=*
+LICENSE=BSD-Google
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://go.googlesource.com/arch/+archive/cbf565b21d1e6f86b3114f28f516032b201c97fa.tar.gz -> go.googlesource.com-arch-cbf565b21d1e6f86b3114f28f516032b201c97fa.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=a814ef616c049508b14f9a16a6426d15
diff --git a/metadata/md5-cache/dev-go/go-billy-4.3.2 b/metadata/md5-cache/dev-go/go-billy-4.3.2
new file mode 100644
index 0000000..e953425
--- /dev/null
+++ b/metadata/md5-cache/dev-go/go-billy-4.3.2
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/pretty dev-go/pty dev-go/go-sys dev-go/check dev-lang/go
+DESCRIPTION=The missing interface filesystem abstraction for Go
+EAPI=7
+HOMEPAGE=https://github.com/src-d/go-billy
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=dev-go/pretty dev-go/pty dev-go/go-sys dev-go/check
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/src-d/go-billy/archive/v4.3.2.tar.gz -> github.com-src-d-go-billy-v4.3.2.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2ec0e57bd768aec11d1ab735ef4a309f
diff --git a/metadata/md5-cache/dev-go/go-billy-4.3.2-r1 b/metadata/md5-cache/dev-go/go-billy-4.3.2-r1
new file mode 100644
index 0000000..e953425
--- /dev/null
+++ b/metadata/md5-cache/dev-go/go-billy-4.3.2-r1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/pretty dev-go/pty dev-go/go-sys dev-go/check dev-lang/go
+DESCRIPTION=The missing interface filesystem abstraction for Go
+EAPI=7
+HOMEPAGE=https://github.com/src-d/go-billy
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=dev-go/pretty dev-go/pty dev-go/go-sys dev-go/check
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/src-d/go-billy/archive/v4.3.2.tar.gz -> github.com-src-d-go-billy-v4.3.2.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2ec0e57bd768aec11d1ab735ef4a309f
diff --git a/metadata/md5-cache/dev-go/go-connections-0.4.0 b/metadata/md5-cache/dev-go/go-connections-0.4.0
new file mode 100644
index 0000000..c3f4ea5
--- /dev/null
+++ b/metadata/md5-cache/dev-go/go-connections-0.4.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/errors dev-lang/go
+DESCRIPTION=Utility package to work with network connections
+EAPI=7
+HOMEPAGE=https://github.com/docker/go-connections
+IUSE=test
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=!<=dev-go/docker-20.10.8-r1
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/docker/go-connections/archive/88e5af338bb1e6c7f51b69cc1864249d1e8f4786.tar.gz -> github.com-docker-go-connections-88e5af338bb1e6c7f51b69cc1864249d1e8f4786.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d22089fc502b1c18513f1bef4e956b29
diff --git a/metadata/md5-cache/dev-go/go-connections-0.4.0-r1 b/metadata/md5-cache/dev-go/go-connections-0.4.0-r1
new file mode 100644
index 0000000..c3f4ea5
--- /dev/null
+++ b/metadata/md5-cache/dev-go/go-connections-0.4.0-r1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/errors dev-lang/go
+DESCRIPTION=Utility package to work with network connections
+EAPI=7
+HOMEPAGE=https://github.com/docker/go-connections
+IUSE=test
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=!<=dev-go/docker-20.10.8-r1
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/docker/go-connections/archive/88e5af338bb1e6c7f51b69cc1864249d1e8f4786.tar.gz -> github.com-docker-go-connections-88e5af338bb1e6c7f51b69cc1864249d1e8f4786.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d22089fc502b1c18513f1bef4e956b29
diff --git a/metadata/md5-cache/dev-go/go-diff-1.2.0 b/metadata/md5-cache/dev-go/go-diff-1.2.0
new file mode 100644
index 0000000..424930b
--- /dev/null
+++ b/metadata/md5-cache/dev-go/go-diff-1.2.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/go-spew dev-go/pretty dev-go/testify dev-go/check dev-go/yaml:0 dev-lang/go
+DESCRIPTION=go-diff offers algorithms to perform operations required for synchronizing plain text
+EAPI=7
+HOMEPAGE=https://github.com/sergi/go-diff
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/sergi/go-diff/archive/v1.2.0.tar.gz -> github.com-sergi-go-diff-v1.2.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e760c35d263681d46916f45b0ab5f293
diff --git a/metadata/md5-cache/dev-go/go-diff-1.2.0-r1 b/metadata/md5-cache/dev-go/go-diff-1.2.0-r1
new file mode 100644
index 0000000..424930b
--- /dev/null
+++ b/metadata/md5-cache/dev-go/go-diff-1.2.0-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/go-spew dev-go/pretty dev-go/testify dev-go/check dev-go/yaml:0 dev-lang/go
+DESCRIPTION=go-diff offers algorithms to perform operations required for synchronizing plain text
+EAPI=7
+HOMEPAGE=https://github.com/sergi/go-diff
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/sergi/go-diff/archive/v1.2.0.tar.gz -> github.com-sergi-go-diff-v1.2.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e760c35d263681d46916f45b0ab5f293
diff --git a/metadata/md5-cache/dev-go/go-difflib-1.0.0 b/metadata/md5-cache/dev-go/go-difflib-1.0.0
new file mode 100644
index 0000000..c1130e2
--- /dev/null
+++ b/metadata/md5-cache/dev-go/go-difflib-1.0.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Go-difflib is a partial port of python 3 difflib package.
+EAPI=7
+HOMEPAGE=https://github.com/pmezard/go-difflib
+KEYWORDS=*
+LICENSE=BSD
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/pmezard/go-difflib/archive/v1.0.0.tar.gz -> github.com-pmezard-go-difflib-v1.0.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=15f78edcd01e6ae762959abf53bcc86a
diff --git a/metadata/md5-cache/dev-go/go-digest-1.0.0 b/metadata/md5-cache/dev-go/go-digest-1.0.0
new file mode 100644
index 0000000..2bd63ff
--- /dev/null
+++ b/metadata/md5-cache/dev-go/go-digest-1.0.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Common digest package used across the container ecosystem
+EAPI=7
+HOMEPAGE=https://github.com/opencontainers/go-digest
+IUSE=test
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=!<=dev-go/docker-20.10.8-r1
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/opencontainers/go-digest/archive/v1.0.0.tar.gz -> github.com-opencontainers-go-digest-v1.0.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6a1518102907b09e9d8cf338b9f09fe9
diff --git a/metadata/md5-cache/dev-go/go-digest-1.0.0-r1 b/metadata/md5-cache/dev-go/go-digest-1.0.0-r1
new file mode 100644
index 0000000..2bd63ff
--- /dev/null
+++ b/metadata/md5-cache/dev-go/go-digest-1.0.0-r1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Common digest package used across the container ecosystem
+EAPI=7
+HOMEPAGE=https://github.com/opencontainers/go-digest
+IUSE=test
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=!<=dev-go/docker-20.10.8-r1
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/opencontainers/go-digest/archive/v1.0.0.tar.gz -> github.com-opencontainers-go-digest-v1.0.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6a1518102907b09e9d8cf338b9f09fe9
diff --git a/metadata/md5-cache/dev-go/go-fonts-liberation-0.2.0 b/metadata/md5-cache/dev-go/go-fonts-liberation-0.2.0
new file mode 100644
index 0000000..9e5999c
--- /dev/null
+++ b/metadata/md5-cache/dev-go/go-fonts-liberation-0.2.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/go-image dev-lang/go
+DESCRIPTION=Liberation fonts for Go
+EAPI=7
+HOMEPAGE=https://github.com/go-fonts/liberation
+KEYWORDS=*
+LICENSE=BSD
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/go-fonts/liberation/archive/v0.2.0.tar.gz -> github.com-go-fonts-liberation-v0.2.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e469c3935209ef722a8502953aa3d162
diff --git a/metadata/md5-cache/dev-go/go-image-0.0.1 b/metadata/md5-cache/dev-go/go-image-0.0.1
index 2eaef6a..2ae3e61 100644
--- a/metadata/md5-cache/dev-go/go-image-0.0.1
+++ b/metadata/md5-cache/dev-go/go-image-0.0.1
@@ -7,6 +7,6 @@
 LICENSE=BSD-Google
 RESTRICT=binchecks strip
 SLOT=0
-SRC_URI=https://go.googlesource.com/image/+archive/9130b4cfad522142c86367afe5e34ce811a85a4b.tar.gz -> go.googlesource.com-image-9130b4cfad522142c86367afe5e34ce811a85a4b.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=55bf8e8c3ab87bc15a50449d9b6c7b65
+SRC_URI=https://go.googlesource.com/image/+archive/a66eb6448b8d7557efb0c974c8d4d72085371c58.tar.gz -> go.googlesource.com-image-a66eb6448b8d7557efb0c974c8d4d72085371c58.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=4545f5d8cc830e558d0104cd32a35579
diff --git a/metadata/md5-cache/dev-go/go-image-0.0.1-r1 b/metadata/md5-cache/dev-go/go-image-0.0.1-r1
new file mode 100644
index 0000000..2ae3e61
--- /dev/null
+++ b/metadata/md5-cache/dev-go/go-image-0.0.1-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/text dev-lang/go
+DESCRIPTION=Go packages for image libraries
+EAPI=5
+HOMEPAGE=https://go.googlesource.com/image
+KEYWORDS=*
+LICENSE=BSD-Google
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://go.googlesource.com/image/+archive/a66eb6448b8d7557efb0c974c8d4d72085371c58.tar.gz -> go.googlesource.com-image-a66eb6448b8d7557efb0c974c8d4d72085371c58.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=4545f5d8cc830e558d0104cd32a35579
diff --git a/metadata/md5-cache/dev-go/go-latex-0.0.1 b/metadata/md5-cache/dev-go/go-latex-0.0.1
new file mode 100644
index 0000000..51c0d4b
--- /dev/null
+++ b/metadata/md5-cache/dev-go/go-latex-0.0.1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/go-fonts-liberation dev-go/go-image dev-go/gofpdf dev-go/fogleman-gg dev-lang/go
+DESCRIPTION=Go package for LaTeX
+EAPI=7
+HOMEPAGE=https://github.com/go-latex/latex
+KEYWORDS=*
+LICENSE=BSD
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/go-latex/latex/archive/fdd06906368d258859329d1a962a071ea194800b.tar.gz -> github.com-go-latex-latex-fdd06906368d258859329d1a962a071ea194800b.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6622049c3bc1fd00d9bce4dc243105ff
diff --git a/metadata/md5-cache/dev-go/go-libaudit-0.4.0 b/metadata/md5-cache/dev-go/go-libaudit-0.4.0
index 81de7fa..4fe6f61 100644
--- a/metadata/md5-cache/dev-go/go-libaudit-0.4.0
+++ b/metadata/md5-cache/dev-go/go-libaudit-0.4.0
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/elastic/go-libaudit/archive/v0.4.0.tar.gz -> github.com-elastic-go-libaudit-v0.4.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=895a1768340800999eae8da58e80978e
diff --git a/metadata/md5-cache/dev-go/go-libaudit-0.4.0-r2 b/metadata/md5-cache/dev-go/go-libaudit-0.4.0-r2
index 81de7fa..4fe6f61 100644
--- a/metadata/md5-cache/dev-go/go-libaudit-0.4.0-r2
+++ b/metadata/md5-cache/dev-go/go-libaudit-0.4.0-r2
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/elastic/go-libaudit/archive/v0.4.0.tar.gz -> github.com-elastic-go-libaudit-v0.4.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=895a1768340800999eae8da58e80978e
diff --git a/metadata/md5-cache/dev-go/go-matroska-0.0.1 b/metadata/md5-cache/dev-go/go-matroska-0.0.1
index 8f2cb20..cc69d35 100644
--- a/metadata/md5-cache/dev-go/go-matroska-0.0.1
+++ b/metadata/md5-cache/dev-go/go-matroska-0.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/pixelbender/go-matroska/archive/4ea028a99fa677aba6359303ce619ad7d6d9ee57.tar.gz -> github.com-pixelbender-go-matroska-4ea028a99fa677aba6359303ce619ad7d6d9ee57.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=46ae4e715bc95c22d41a8ab9373a497c
diff --git a/metadata/md5-cache/dev-go/go-matroska-0.0.1-r1 b/metadata/md5-cache/dev-go/go-matroska-0.0.1-r1
index 8f2cb20..cc69d35 100644
--- a/metadata/md5-cache/dev-go/go-matroska-0.0.1-r1
+++ b/metadata/md5-cache/dev-go/go-matroska-0.0.1-r1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/pixelbender/go-matroska/archive/4ea028a99fa677aba6359303ce619ad7d6d9ee57.tar.gz -> github.com-pixelbender-go-matroska-4ea028a99fa677aba6359303ce619ad7d6d9ee57.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=46ae4e715bc95c22d41a8ab9373a497c
diff --git a/metadata/md5-cache/dev-go/go-md2man-2.0.1 b/metadata/md5-cache/dev-go/go-md2man-2.0.1
new file mode 100644
index 0000000..d13fbf5
--- /dev/null
+++ b/metadata/md5-cache/dev-go/go-md2man-2.0.1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/blackfriday dev-lang/go
+DESCRIPTION=Converts markdown into roff (man pages).
+EAPI=7
+HOMEPAGE=https://github.com/cpuguy83/go-md2man
+IUSE=test
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/cpuguy83/go-md2man/archive/v2.0.1.tar.gz -> github.com-cpuguy83-go-md2man-v2.0.1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=24bf97824c5a4825d3374c2531fff34e
diff --git a/metadata/md5-cache/dev-go/go-pdf-0.5.0 b/metadata/md5-cache/dev-go/go-pdf-0.5.0
new file mode 100644
index 0000000..42fc7eb
--- /dev/null
+++ b/metadata/md5-cache/dev-go/go-pdf-0.5.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/go-image dev-go/gofpdi dev-lang/go
+DESCRIPTION=A PDF document generator with high level support for text, drawing and images
+EAPI=5
+HOMEPAGE=https://github.com/go-pdf/fpdf
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/go-pdf/fpdf/archive/v0.5.0.tar.gz -> github.com-go-pdf-fpdf-v0.5.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=6d1d1cb912e914b8daa8f349984c299c
diff --git a/metadata/md5-cache/dev-go/go-spew-1.1.1 b/metadata/md5-cache/dev-go/go-spew-1.1.1
new file mode 100644
index 0000000..349160c
--- /dev/null
+++ b/metadata/md5-cache/dev-go/go-spew-1.1.1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Go-spew implements a deep pretty printer for Go data structures to aid in debugging.
+EAPI=7
+HOMEPAGE=https://github.com/davecgh/go-spew
+IUSE=test
+KEYWORDS=*
+LICENSE=ISC
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/davecgh/go-spew/archive/v1.1.1.tar.gz -> github.com-davecgh-go-spew-v1.1.1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c2847aa32e62eda79250173210d83c38
diff --git a/metadata/md5-cache/dev-go/go-sys-0.0.1 b/metadata/md5-cache/dev-go/go-sys-0.0.1
index 2ca4608..f8040c1 100644
--- a/metadata/md5-cache/dev-go/go-sys-0.0.1
+++ b/metadata/md5-cache/dev-go/go-sys-0.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://go.googlesource.com/sys/+archive/04245dca01dae530ad36275d662a90d6b8a5ee29.tar.gz -> go.googlesource.com-sys-04245dca01dae530ad36275d662a90d6b8a5ee29.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=ea52870ec728d7eb30e9b11859db4151
diff --git a/metadata/md5-cache/dev-go/go-sys-0.0.1-r6 b/metadata/md5-cache/dev-go/go-sys-0.0.1-r6
index 2ca4608..f8040c1 100644
--- a/metadata/md5-cache/dev-go/go-sys-0.0.1-r6
+++ b/metadata/md5-cache/dev-go/go-sys-0.0.1-r6
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://go.googlesource.com/sys/+archive/04245dca01dae530ad36275d662a90d6b8a5ee29.tar.gz -> go.googlesource.com-sys-04245dca01dae530ad36275d662a90d6b8a5ee29.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=ea52870ec728d7eb30e9b11859db4151
diff --git a/metadata/md5-cache/dev-go/go-sysconf-0.3.7 b/metadata/md5-cache/dev-go/go-sysconf-0.3.7
index 4f6e243..09ddb52 100644
--- a/metadata/md5-cache/dev-go/go-sysconf-0.3.7
+++ b/metadata/md5-cache/dev-go/go-sysconf-0.3.7
@@ -10,5 +10,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/tklauser/go-sysconf/archive/v0.3.7.tar.gz -> github.com-tklauser-go-sysconf-v0.3.7.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=0a8a8cc43ff60d30cf61ca2aa695b38b
diff --git a/metadata/md5-cache/dev-go/go-sysconf-0.3.7-r1 b/metadata/md5-cache/dev-go/go-sysconf-0.3.7-r1
index 4f6e243..09ddb52 100644
--- a/metadata/md5-cache/dev-go/go-sysconf-0.3.7-r1
+++ b/metadata/md5-cache/dev-go/go-sysconf-0.3.7-r1
@@ -10,5 +10,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/tklauser/go-sysconf/archive/v0.3.7.tar.gz -> github.com-tklauser-go-sysconf-v0.3.7.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=0a8a8cc43ff60d30cf61ca2aa695b38b
diff --git a/metadata/md5-cache/dev-go/go-tools-0.1.9 b/metadata/md5-cache/dev-go/go-tools-0.1.9
index 6c0c2597..b47a729 100644
--- a/metadata/md5-cache/dev-go/go-tools-0.1.9
+++ b/metadata/md5-cache/dev-go/go-tools-0.1.9
@@ -8,6 +8,6 @@
 RDEPEND=dev-go/mod dev-go/net dev-go/sync dev-go/xerrors dev-go/text dev-go/goldmark
 RESTRICT=binchecks strip
 SLOT=0
-SRC_URI=https://go.googlesource.com/tools/+archive/vgo-tools.tar.gz -> go.googlesource.com-tools-vgo-tools.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=31f2f79fb6efb6b20d91ee95865efc49
+SRC_URI=https://go.googlesource.com/tools/+archive/v0.1.9.tar.gz -> go.googlesource.com-tools-v0.1.9.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=93a9dd04293cd0a3f6a6a6a22fb8ef81
diff --git a/metadata/md5-cache/dev-go/go-tools-0.1.9-r1 b/metadata/md5-cache/dev-go/go-tools-0.1.9-r1
deleted file mode 100644
index 6c0c2597..0000000
--- a/metadata/md5-cache/dev-go/go-tools-0.1.9-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/mod dev-go/net dev-go/sync dev-go/xerrors dev-go/text dev-go/goldmark dev-lang/go
-DESCRIPTION=Packages and tools that support the Go programming language
-EAPI=7
-HOMEPAGE=https://golang.org/x/tools
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/mod dev-go/net dev-go/sync dev-go/xerrors dev-go/text dev-go/goldmark
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://go.googlesource.com/tools/+archive/vgo-tools.tar.gz -> go.googlesource.com-tools-vgo-tools.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=31f2f79fb6efb6b20d91ee95865efc49
diff --git a/metadata/md5-cache/dev-go/go-tools-0.1.9-r5 b/metadata/md5-cache/dev-go/go-tools-0.1.9-r5
new file mode 100644
index 0000000..b47a729
--- /dev/null
+++ b/metadata/md5-cache/dev-go/go-tools-0.1.9-r5
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/mod dev-go/net dev-go/sync dev-go/xerrors dev-go/text dev-go/goldmark dev-lang/go
+DESCRIPTION=Packages and tools that support the Go programming language
+EAPI=7
+HOMEPAGE=https://golang.org/x/tools
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/mod dev-go/net dev-go/sync dev-go/xerrors dev-go/text dev-go/goldmark
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://go.googlesource.com/tools/+archive/v0.1.9.tar.gz -> go.googlesource.com-tools-v0.1.9.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=93a9dd04293cd0a3f6a6a6a22fb8ef81
diff --git a/metadata/md5-cache/dev-go/go-units-0.4.0 b/metadata/md5-cache/dev-go/go-units-0.4.0
new file mode 100644
index 0000000..365ca06
--- /dev/null
+++ b/metadata/md5-cache/dev-go/go-units-0.4.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Parse and print size and time units in human-readable format.
+EAPI=7
+HOMEPAGE=https://github.com/docker/go-units
+IUSE=test
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=!<=dev-go/docker-20.10.8-r1
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/docker/go-units/archive/v0.4.0.tar.gz -> github.com-docker-go-units-v0.4.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c0f2dd129821dbcac465fb7904a2c7aa
diff --git a/metadata/md5-cache/dev-go/go-units-0.4.0-r1 b/metadata/md5-cache/dev-go/go-units-0.4.0-r1
new file mode 100644
index 0000000..365ca06
--- /dev/null
+++ b/metadata/md5-cache/dev-go/go-units-0.4.0-r1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Parse and print size and time units in human-readable format.
+EAPI=7
+HOMEPAGE=https://github.com/docker/go-units
+IUSE=test
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=!<=dev-go/docker-20.10.8-r1
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/docker/go-units/archive/v0.4.0.tar.gz -> github.com-docker-go-units-v0.4.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c0f2dd129821dbcac465fb7904a2c7aa
diff --git a/metadata/md5-cache/dev-go/godebug-1.1.0 b/metadata/md5-cache/dev-go/godebug-1.1.0
index ec52778..f43bbfe 100644
--- a/metadata/md5-cache/dev-go/godebug-1.1.0
+++ b/metadata/md5-cache/dev-go/godebug-1.1.0
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/kylelemons/godebug/archive/v1.1.0.tar.gz -> github.com-kylelemons-godebug-v1.1.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=155b42012eb93326058948f726f220a1
diff --git a/metadata/md5-cache/dev-go/godebug-1.1.0-r1 b/metadata/md5-cache/dev-go/godebug-1.1.0-r1
index ec52778..f43bbfe 100644
--- a/metadata/md5-cache/dev-go/godebug-1.1.0-r1
+++ b/metadata/md5-cache/dev-go/godebug-1.1.0-r1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/kylelemons/godebug/archive/v1.1.0.tar.gz -> github.com-kylelemons-godebug-v1.1.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=155b42012eb93326058948f726f220a1
diff --git a/metadata/md5-cache/dev-go/gofountain-0.0.1 b/metadata/md5-cache/dev-go/gofountain-0.0.1
index 1ad2a0c..c2120f5 100644
--- a/metadata/md5-cache/dev-go/gofountain-0.0.1
+++ b/metadata/md5-cache/dev-go/gofountain-0.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/google/gofountain/archive/4928733085e9593b7dcdb0fe268b20e1e1184b6d.tar.gz -> github.com-google-gofountain-4928733085e9593b7dcdb0fe268b20e1e1184b6d.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=dbae35dc471d7cc19897d6cc575a6a8c
diff --git a/metadata/md5-cache/dev-go/gofountain-0.0.1-r1 b/metadata/md5-cache/dev-go/gofountain-0.0.1-r1
index 1ad2a0c..c2120f5 100644
--- a/metadata/md5-cache/dev-go/gofountain-0.0.1-r1
+++ b/metadata/md5-cache/dev-go/gofountain-0.0.1-r1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/google/gofountain/archive/4928733085e9593b7dcdb0fe268b20e1e1184b6d.tar.gz -> github.com-google-gofountain-4928733085e9593b7dcdb0fe268b20e1e1184b6d.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=dbae35dc471d7cc19897d6cc575a6a8c
diff --git a/metadata/md5-cache/dev-go/gofpdf-0.0.1 b/metadata/md5-cache/dev-go/gofpdf-0.0.1
index 4b9c3f6..70fbaf8 100644
--- a/metadata/md5-cache/dev-go/gofpdf-0.0.1
+++ b/metadata/md5-cache/dev-go/gofpdf-0.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/jung-kurt/gofpdf/archive/v2.17.2.tar.gz -> github.com-jung-kurt-gofpdf-v2.17.2.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=a84dad22f7c3d8d36526978aac463f65
diff --git a/metadata/md5-cache/dev-go/gofpdi-1.0.13 b/metadata/md5-cache/dev-go/gofpdi-1.0.13
new file mode 100644
index 0000000..ed2b73ab
--- /dev/null
+++ b/metadata/md5-cache/dev-go/gofpdi-1.0.13
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Go Free PDF Document Importer
+EAPI=7
+HOMEPAGE=https://github.com/phpdave11/gofpdi
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/phpdave11/gofpdi/archive/v1.0.13.tar.gz -> github.com-phpdave11-gofpdi-v1.0.13.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a59c359fe56e9030067f4878f1246c94
diff --git a/metadata/md5-cache/dev-go/gogo-protobuf-1.3.2 b/metadata/md5-cache/dev-go/gogo-protobuf-1.3.2
new file mode 100644
index 0000000..2a6e933
--- /dev/null
+++ b/metadata/md5-cache/dev-go/gogo-protobuf-1.3.2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/errcheck dev-go/go-tools dev-lang/go
+DESCRIPTION=Protocol Buffers for Go with Gadgets.
+EAPI=7
+HOMEPAGE=https://github.com/gogo/protobuf
+IUSE=test
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=!<=dev-go/docker-20.10.8-r1
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/gogo/protobuf/archive/226206f39bd7276e88ec684ea0028c18ec2c91ae.tar.gz -> github.com-gogo-protobuf-226206f39bd7276e88ec684ea0028c18ec2c91ae.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0a9213167475a67a14c674fab9d365c4
diff --git a/metadata/md5-cache/dev-go/gogo-protobuf-1.3.2-r1 b/metadata/md5-cache/dev-go/gogo-protobuf-1.3.2-r1
new file mode 100644
index 0000000..2a6e933
--- /dev/null
+++ b/metadata/md5-cache/dev-go/gogo-protobuf-1.3.2-r1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/errcheck dev-go/go-tools dev-lang/go
+DESCRIPTION=Protocol Buffers for Go with Gadgets.
+EAPI=7
+HOMEPAGE=https://github.com/gogo/protobuf
+IUSE=test
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=!<=dev-go/docker-20.10.8-r1
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/gogo/protobuf/archive/226206f39bd7276e88ec684ea0028c18ec2c91ae.tar.gz -> github.com-gogo-protobuf-226206f39bd7276e88ec684ea0028c18ec2c91ae.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0a9213167475a67a14c674fab9d365c4
diff --git a/metadata/md5-cache/dev-go/golang-evdev-0.0.1 b/metadata/md5-cache/dev-go/golang-evdev-0.0.1
index b063725..908def5 100644
--- a/metadata/md5-cache/dev-go/golang-evdev-0.0.1
+++ b/metadata/md5-cache/dev-go/golang-evdev-0.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/gvalkov/golang-evdev/archive/287e62b94bcb850ab42e711bd74b2875da83af2c.tar.gz -> github.com-gvalkov-golang-evdev-287e62b94bcb850ab42e711bd74b2875da83af2c.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=90a7347fd5de7bc309a90806eeeb4217
diff --git a/metadata/md5-cache/dev-go/golang-freetype-0.0.1 b/metadata/md5-cache/dev-go/golang-freetype-0.0.1
index 0b548f1..455b244 100644
--- a/metadata/md5-cache/dev-go/golang-freetype-0.0.1
+++ b/metadata/md5-cache/dev-go/golang-freetype-0.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/golang/freetype/archive/bcfeb16b74e8aea9e2fe043406f2ef74b1cb0759.tar.gz -> github.com-golang-freetype-bcfeb16b74e8aea9e2fe043406f2ef74b1cb0759.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=a53e34c1434645b2fa3c05b82d54d3d4
diff --git a/metadata/md5-cache/dev-go/golang-groupcache-0.0.1 b/metadata/md5-cache/dev-go/golang-groupcache-0.0.1
index d1823f0..d36c428 100644
--- a/metadata/md5-cache/dev-go/golang-groupcache-0.0.1
+++ b/metadata/md5-cache/dev-go/golang-groupcache-0.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks
 SLOT=0
 SRC_URI=https://github.com/golang/groupcache/archive/0c9617f2e0990bd8a5f8bb87fd1535575d2e3e2c.tar.gz -> github.com-golang-groupcache-0c9617f2e0990bd8a5f8bb87fd1535575d2e3e2c.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=474aa61046c34ef593422495f28f6bde
diff --git a/metadata/md5-cache/dev-go/golang-groupcache-0.0.1-r1 b/metadata/md5-cache/dev-go/golang-groupcache-0.0.1-r1
index d1823f0..d36c428 100644
--- a/metadata/md5-cache/dev-go/golang-groupcache-0.0.1-r1
+++ b/metadata/md5-cache/dev-go/golang-groupcache-0.0.1-r1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks
 SLOT=0
 SRC_URI=https://github.com/golang/groupcache/archive/0c9617f2e0990bd8a5f8bb87fd1535575d2e3e2c.tar.gz -> github.com-golang-groupcache-0c9617f2e0990bd8a5f8bb87fd1535575d2e3e2c.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=474aa61046c34ef593422495f28f6bde
diff --git a/metadata/md5-cache/dev-go/goldmark-1.4.1 b/metadata/md5-cache/dev-go/goldmark-1.4.1
index 3917e95..f76f73a 100644
--- a/metadata/md5-cache/dev-go/goldmark-1.4.1
+++ b/metadata/md5-cache/dev-go/goldmark-1.4.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/yuin/goldmark/archive/v1.4.1.tar.gz -> github.com-yuin-goldmark-v1.4.1.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=44ca4dc97840687f3983bc24d5523d15
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=622dd1ce14ffe1931154540148c09275
diff --git a/metadata/md5-cache/dev-go/goldmark-1.4.1-r1 b/metadata/md5-cache/dev-go/goldmark-1.4.1-r1
deleted file mode 100644
index 3917e95..0000000
--- a/metadata/md5-cache/dev-go/goldmark-1.4.1-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
-DESCRIPTION=A Markdown parser written in Go.
-EAPI=7
-HOMEPAGE=https://github.com/yuin/goldmark
-KEYWORDS=*
-LICENSE=MIT
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/yuin/goldmark/archive/v1.4.1.tar.gz -> github.com-yuin-goldmark-v1.4.1.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=44ca4dc97840687f3983bc24d5523d15
diff --git a/metadata/md5-cache/dev-go/goldmark-1.4.1-r2 b/metadata/md5-cache/dev-go/goldmark-1.4.1-r2
new file mode 100644
index 0000000..f76f73a
--- /dev/null
+++ b/metadata/md5-cache/dev-go/goldmark-1.4.1-r2
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=A Markdown parser written in Go.
+EAPI=7
+HOMEPAGE=https://github.com/yuin/goldmark
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/yuin/goldmark/archive/v1.4.1.tar.gz -> github.com-yuin-goldmark-v1.4.1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=622dd1ce14ffe1931154540148c09275
diff --git a/metadata/md5-cache/dev-go/golint-0.0.1 b/metadata/md5-cache/dev-go/golint-0.0.1
index 7c5a8e7..1f3b8a9 100644
--- a/metadata/md5-cache/dev-go/golint-0.0.1
+++ b/metadata/md5-cache/dev-go/golint-0.0.1
@@ -7,6 +7,6 @@
 LICENSE=BSD-Google
 RESTRICT=binchecks strip
 SLOT=0
-SRC_URI=https://go.googlesource.com/lint/+archive/5906bd5c48cd840279ace88b165057fbbd7fb35a.tar.gz -> go.googlesource.com-lint-5906bd5c48cd840279ace88b165057fbbd7fb35a.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=c95e898f5cee388ab7ab9f401be88976
+SRC_URI=https://go.googlesource.com/lint/+archive/6edffad5e6160f5949cdefc81710b2706fbcd4f6.tar.gz -> go.googlesource.com-lint-6edffad5e6160f5949cdefc81710b2706fbcd4f6.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=400a266a8f56d2f82e765f7c7ab8403c
diff --git a/metadata/md5-cache/dev-go/golint-0.0.1-r6 b/metadata/md5-cache/dev-go/golint-0.0.1-r6
deleted file mode 100644
index 7c5a8e7..0000000
--- a/metadata/md5-cache/dev-go/golint-0.0.1-r6
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/go-tools dev-lang/go
-DESCRIPTION=A linter for Go source code
-EAPI=5
-HOMEPAGE=https://github.com/golang/lint
-KEYWORDS=*
-LICENSE=BSD-Google
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://go.googlesource.com/lint/+archive/5906bd5c48cd840279ace88b165057fbbd7fb35a.tar.gz -> go.googlesource.com-lint-5906bd5c48cd840279ace88b165057fbbd7fb35a.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=c95e898f5cee388ab7ab9f401be88976
diff --git a/metadata/md5-cache/dev-go/golint-0.0.1-r8 b/metadata/md5-cache/dev-go/golint-0.0.1-r8
new file mode 100644
index 0000000..1f3b8a9
--- /dev/null
+++ b/metadata/md5-cache/dev-go/golint-0.0.1-r8
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/go-tools dev-lang/go
+DESCRIPTION=A linter for Go source code
+EAPI=5
+HOMEPAGE=https://github.com/golang/lint
+KEYWORDS=*
+LICENSE=BSD-Google
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://go.googlesource.com/lint/+archive/6edffad5e6160f5949cdefc81710b2706fbcd4f6.tar.gz -> go.googlesource.com-lint-6edffad5e6160f5949cdefc81710b2706fbcd4f6.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=400a266a8f56d2f82e765f7c7ab8403c
diff --git a/metadata/md5-cache/dev-go/gonum-0.11.0 b/metadata/md5-cache/dev-go/gonum-0.11.0
new file mode 100644
index 0000000..e5793cc
--- /dev/null
+++ b/metadata/md5-cache/dev-go/gonum-0.11.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/cmp dev-go/go-tools dev-go/golang-freetype dev-go/svgo dev-lang/go
+DESCRIPTION=The core packages of the Gonum suite are written in pure Go with some assembly.
+EAPI=5
+HOMEPAGE=https://www.gonum.org/
+KEYWORDS=*
+LICENSE=BSD
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/gonum/gonum/archive/v0.11.0.tar.gz -> github.com-gonum-gonum-v0.11.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=5f32d5e4102f0079bf617423f65f9a3a
diff --git a/metadata/md5-cache/dev-go/gonum-plot-0.0.1 b/metadata/md5-cache/dev-go/gonum-plot-0.0.1
deleted file mode 100644
index 448303e..0000000
--- a/metadata/md5-cache/dev-go/gonum-plot-0.0.1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/fogleman-gg dev-go/rsc-io-pdf dev-go/svgo dev-lang/go
-DESCRIPTION=Provides an API for setting up plots, and primitives for drawing on plots
-EAPI=5
-HOMEPAGE=https://www.gonum.org/
-KEYWORDS=*
-LICENSE=BSD MIT
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/gonum/plot/archive/4abb28f724d5129237103b5844685e7d60f93cfd.tar.gz -> github.com-gonum-plot-4abb28f724d5129237103b5844685e7d60f93cfd.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=e5f58b3aa9982295fc168055dcba211e
diff --git a/metadata/md5-cache/dev-go/gonum-plot-0.10.0 b/metadata/md5-cache/dev-go/gonum-plot-0.10.0
new file mode 100644
index 0000000..caabc3d
--- /dev/null
+++ b/metadata/md5-cache/dev-go/gonum-plot-0.10.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/go-image dev-go/go-fonts-liberation dev-go/go-latex dev-go/gonum dev-go/golang-freetype dev-go/fogleman-gg dev-go/rsc-io-pdf dev-go/svgo dev-lang/go
+DESCRIPTION=Provides an API for setting up plots, and primitives for drawing on plots
+EAPI=5
+HOMEPAGE=https://www.gonum.org/
+KEYWORDS=*
+LICENSE=BSD MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/gonum/plot/archive/v0.10.0.tar.gz -> github.com-gonum-plot-v0.10.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=df3e3038870468d067b86de927acffc3
diff --git a/metadata/md5-cache/dev-go/gopacket-1.1.17 b/metadata/md5-cache/dev-go/gopacket-1.1.17
index 9228485..8b431ef 100644
--- a/metadata/md5-cache/dev-go/gopacket-1.1.17
+++ b/metadata/md5-cache/dev-go/gopacket-1.1.17
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/google/gopacket/archive/v1.1.17.tar.gz -> github.com-google-gopacket-v1.1.17.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=196f8971a67b6855a5a67685494eb6db
diff --git a/metadata/md5-cache/dev-go/gopacket-1.1.17-r1 b/metadata/md5-cache/dev-go/gopacket-1.1.17-r1
index 9228485..8b431ef 100644
--- a/metadata/md5-cache/dev-go/gopacket-1.1.17-r1
+++ b/metadata/md5-cache/dev-go/gopacket-1.1.17-r1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/google/gopacket/archive/v1.1.17.tar.gz -> github.com-google-gopacket-v1.1.17.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=196f8971a67b6855a5a67685494eb6db
diff --git a/metadata/md5-cache/dev-go/gopsutil-3.21.12 b/metadata/md5-cache/dev-go/gopsutil-3.21.12
new file mode 100644
index 0000000..647d90f
--- /dev/null
+++ b/metadata/md5-cache/dev-go/gopsutil-3.21.12
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/cmp dev-go/errcheck dev-go/go-sys dev-go/go-sysconf dev-go/testify dev-lang/go
+DESCRIPTION=Cross-platform lib for process and system monitoring in Go
+EAPI=5
+HOMEPAGE=https://github.com/shirou/gopsutil
+IUSE=test
+KEYWORDS=*
+LICENSE=BSD
+RDEPEND=dev-go/cmp dev-go/errcheck dev-go/go-sys dev-go/go-sysconf dev-go/testify
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/shirou/gopsutil/archive/v3.21.12.tar.gz -> github.com-shirou-gopsutil-v3.21.12.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=8754967e62e9f8aef6c1509d553b0890
diff --git a/metadata/md5-cache/dev-go/gopsutil-3.21.12-r2 b/metadata/md5-cache/dev-go/gopsutil-3.21.12-r2
new file mode 100644
index 0000000..647d90f
--- /dev/null
+++ b/metadata/md5-cache/dev-go/gopsutil-3.21.12-r2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/cmp dev-go/errcheck dev-go/go-sys dev-go/go-sysconf dev-go/testify dev-lang/go
+DESCRIPTION=Cross-platform lib for process and system monitoring in Go
+EAPI=5
+HOMEPAGE=https://github.com/shirou/gopsutil
+IUSE=test
+KEYWORDS=*
+LICENSE=BSD
+RDEPEND=dev-go/cmp dev-go/errcheck dev-go/go-sys dev-go/go-sysconf dev-go/testify
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/shirou/gopsutil/archive/v3.21.12.tar.gz -> github.com-shirou-gopsutil-v3.21.12.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=8754967e62e9f8aef6c1509d553b0890
diff --git a/metadata/md5-cache/dev-go/gopsutil-3.21.7 b/metadata/md5-cache/dev-go/gopsutil-3.21.7
deleted file mode 100644
index 19f02d2..0000000
--- a/metadata/md5-cache/dev-go/gopsutil-3.21.7
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=test? ( dev-go/go-sys ) dev-go/go-sysconf dev-lang/go
-DESCRIPTION=Cross-platform lib for process and system monitoring in Go
-EAPI=5
-HOMEPAGE=https://github.com/shirou/gopsutil
-IUSE=test
-KEYWORDS=*
-LICENSE=BSD
-RDEPEND=dev-go/go-sys dev-go/go-sysconf
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/shirou/gopsutil/archive/v3.21.7.tar.gz -> github.com-shirou-gopsutil-v3.21.7.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=9ef459cb90acb3fd208ce638e3ae0c01
diff --git a/metadata/md5-cache/dev-go/gopsutil-3.21.7-r1 b/metadata/md5-cache/dev-go/gopsutil-3.21.7-r1
deleted file mode 100644
index 19f02d2..0000000
--- a/metadata/md5-cache/dev-go/gopsutil-3.21.7-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=test? ( dev-go/go-sys ) dev-go/go-sysconf dev-lang/go
-DESCRIPTION=Cross-platform lib for process and system monitoring in Go
-EAPI=5
-HOMEPAGE=https://github.com/shirou/gopsutil
-IUSE=test
-KEYWORDS=*
-LICENSE=BSD
-RDEPEND=dev-go/go-sys dev-go/go-sysconf
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/shirou/gopsutil/archive/v3.21.7.tar.gz -> github.com-shirou-gopsutil-v3.21.7.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=9ef459cb90acb3fd208ce638e3ae0c01
diff --git a/metadata/md5-cache/dev-go/grpc-1.42.0 b/metadata/md5-cache/dev-go/grpc-1.42.0
index 1d9ca6a..46fbdbb 100644
--- a/metadata/md5-cache/dev-go/grpc-1.42.0
+++ b/metadata/md5-cache/dev-go/grpc-1.42.0
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/ep-gcp dev-go/genproto-rpc dev-go/go-sys dev-go/net dev-go/oauth2 dev-go/yaml:0 dev-lang/go
+DEPEND=dev-go/cmp dev-go/cncf-xds dev-go/glog dev-go/ep-gcp dev-go/genproto dev-go/go-sys dev-go/net dev-go/oauth2 dev-go/protobuf-legacy-api dev-go/uuid dev-go/xxhash dev-go/yaml:0 dev-lang/go
 DESCRIPTION=Go implementation of gRPC
 EAPI=5
 HOMEPAGE=https://grpc.io/
 KEYWORDS=*
 LICENSE=BSD-Google
-RDEPEND=dev-go/ep-gcp dev-go/genproto-rpc dev-go/go-sys dev-go/net dev-go/oauth2 dev-go/yaml:0 !dev-go/grpc-credentials-oauth
+RDEPEND=dev-go/cmp dev-go/cncf-xds dev-go/glog dev-go/ep-gcp dev-go/genproto dev-go/go-sys dev-go/net dev-go/oauth2 dev-go/protobuf-legacy-api dev-go/uuid dev-go/xxhash dev-go/yaml:0 !dev-go/grpc-credentials-oauth
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/grpc/grpc-go/archive/v1.42.0.tar.gz -> github.com-grpc-grpc-go-v1.42.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=f196039566a26369d438d5946c854bed
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=c4cf6cf93491eb9ea69b1250cae264bd
diff --git a/metadata/md5-cache/dev-go/grpc-1.42.0-r2 b/metadata/md5-cache/dev-go/grpc-1.42.0-r2
deleted file mode 100644
index 1d9ca6a..0000000
--- a/metadata/md5-cache/dev-go/grpc-1.42.0-r2
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/ep-gcp dev-go/genproto-rpc dev-go/go-sys dev-go/net dev-go/oauth2 dev-go/yaml:0 dev-lang/go
-DESCRIPTION=Go implementation of gRPC
-EAPI=5
-HOMEPAGE=https://grpc.io/
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/ep-gcp dev-go/genproto-rpc dev-go/go-sys dev-go/net dev-go/oauth2 dev-go/yaml:0 !dev-go/grpc-credentials-oauth
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/grpc/grpc-go/archive/v1.42.0.tar.gz -> github.com-grpc-grpc-go-v1.42.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=f196039566a26369d438d5946c854bed
diff --git a/metadata/md5-cache/dev-go/grpc-1.42.0-r6 b/metadata/md5-cache/dev-go/grpc-1.42.0-r6
new file mode 100644
index 0000000..46fbdbb
--- /dev/null
+++ b/metadata/md5-cache/dev-go/grpc-1.42.0-r6
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/cmp dev-go/cncf-xds dev-go/glog dev-go/ep-gcp dev-go/genproto dev-go/go-sys dev-go/net dev-go/oauth2 dev-go/protobuf-legacy-api dev-go/uuid dev-go/xxhash dev-go/yaml:0 dev-lang/go
+DESCRIPTION=Go implementation of gRPC
+EAPI=5
+HOMEPAGE=https://grpc.io/
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/cmp dev-go/cncf-xds dev-go/glog dev-go/ep-gcp dev-go/genproto dev-go/go-sys dev-go/net dev-go/oauth2 dev-go/protobuf-legacy-api dev-go/uuid dev-go/xxhash dev-go/yaml:0 !dev-go/grpc-credentials-oauth
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/grpc/grpc-go/archive/v1.42.0.tar.gz -> github.com-grpc-grpc-go-v1.42.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=c4cf6cf93491eb9ea69b1250cae264bd
diff --git a/metadata/md5-cache/dev-go/homedir-0.0.1 b/metadata/md5-cache/dev-go/homedir-0.0.1
index 29a55d0..8d1ec68 100644
--- a/metadata/md5-cache/dev-go/homedir-0.0.1
+++ b/metadata/md5-cache/dev-go/homedir-0.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks test strip
 SLOT=0
 SRC_URI=https://github.com/mitchellh/go-homedir/archive/b8bc1bf767474819792c23f32d8286a45736f1c6.tar.gz -> github.com-mitchellh-go-homedir-b8bc1bf767474819792c23f32d8286a45736f1c6.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=de07f0e5bdfa9f0610edc79f7111a879
diff --git a/metadata/md5-cache/dev-go/homedir-0.0.1-r3 b/metadata/md5-cache/dev-go/homedir-0.0.1-r3
index 29a55d0..8d1ec68 100644
--- a/metadata/md5-cache/dev-go/homedir-0.0.1-r3
+++ b/metadata/md5-cache/dev-go/homedir-0.0.1-r3
@@ -8,5 +8,5 @@
 RESTRICT=binchecks test strip
 SLOT=0
 SRC_URI=https://github.com/mitchellh/go-homedir/archive/b8bc1bf767474819792c23f32d8286a45736f1c6.tar.gz -> github.com-mitchellh-go-homedir-b8bc1bf767474819792c23f32d8286a45736f1c6.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=de07f0e5bdfa9f0610edc79f7111a879
diff --git a/metadata/md5-cache/dev-go/httprouter-0.0.1 b/metadata/md5-cache/dev-go/httprouter-0.0.1
deleted file mode 100644
index 641572f..0000000
--- a/metadata/md5-cache/dev-go/httprouter-0.0.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=!<app-emulation/lxd-3.0.0-r4 dev-lang/go
-DESCRIPTION=A high performance HTTP request router that scales well
-EAPI=5
-HOMEPAGE=https://github.com/julienschmidt/httprouter
-KEYWORDS=*
-LICENSE=BSD
-RDEPEND=!<app-emulation/lxd-3.0.0-r4
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/julienschmidt/httprouter/archive/348b672cd90d8190f8240323e372ecd1e66b59dc.tar.gz -> github.com-julienschmidt-httprouter-348b672cd90d8190f8240323e372ecd1e66b59dc.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=81a8ea96727f194dba3e9672926c393f
diff --git a/metadata/md5-cache/dev-go/httprouter-0.0.1-r1 b/metadata/md5-cache/dev-go/httprouter-0.0.1-r1
deleted file mode 100644
index 641572f..0000000
--- a/metadata/md5-cache/dev-go/httprouter-0.0.1-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=!<app-emulation/lxd-3.0.0-r4 dev-lang/go
-DESCRIPTION=A high performance HTTP request router that scales well
-EAPI=5
-HOMEPAGE=https://github.com/julienschmidt/httprouter
-KEYWORDS=*
-LICENSE=BSD
-RDEPEND=!<app-emulation/lxd-3.0.0-r4
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/julienschmidt/httprouter/archive/348b672cd90d8190f8240323e372ecd1e66b59dc.tar.gz -> github.com-julienschmidt-httprouter-348b672cd90d8190f8240323e372ecd1e66b59dc.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=81a8ea96727f194dba3e9672926c393f
diff --git a/metadata/md5-cache/dev-go/httprouter-1.3.0 b/metadata/md5-cache/dev-go/httprouter-1.3.0
new file mode 100644
index 0000000..a64fc8c
--- /dev/null
+++ b/metadata/md5-cache/dev-go/httprouter-1.3.0
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=!<app-emulation/lxd-3.0.0-r4 dev-lang/go
+DESCRIPTION=A high performance HTTP request router that scales well
+EAPI=7
+HOMEPAGE=https://github.com/julienschmidt/httprouter
+KEYWORDS=*
+LICENSE=BSD
+RDEPEND=!<app-emulation/lxd-3.0.0-r4
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/julienschmidt/httprouter/archive/v1.3.0.tar.gz -> github.com-julienschmidt-httprouter-v1.3.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4eba9fbb5ca214cd7fbec015d4cab5f3
diff --git a/metadata/md5-cache/dev-go/httprouter-1.3.0-r1 b/metadata/md5-cache/dev-go/httprouter-1.3.0-r1
new file mode 100644
index 0000000..a64fc8c
--- /dev/null
+++ b/metadata/md5-cache/dev-go/httprouter-1.3.0-r1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=!<app-emulation/lxd-3.0.0-r4 dev-lang/go
+DESCRIPTION=A high performance HTTP request router that scales well
+EAPI=7
+HOMEPAGE=https://github.com/julienschmidt/httprouter
+KEYWORDS=*
+LICENSE=BSD
+RDEPEND=!<app-emulation/lxd-3.0.0-r4
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/julienschmidt/httprouter/archive/v1.3.0.tar.gz -> github.com-julienschmidt-httprouter-v1.3.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4eba9fbb5ca214cd7fbec015d4cab5f3
diff --git a/metadata/md5-cache/dev-go/image-spec-1.0.1 b/metadata/md5-cache/dev-go/image-spec-1.0.1
new file mode 100644
index 0000000..ad82542
--- /dev/null
+++ b/metadata/md5-cache/dev-go/image-spec-1.0.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/blackfriday dev-go/errors dev-go/go-digest dev-go/go-spew dev-go/testify dev-go/yaml:3 dev-lang/go
+DESCRIPTION=OCI Image Format
+EAPI=7
+HOMEPAGE=https://github.com/opencontainers/image-spec
+IUSE=test
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=!<=dev-go/docker-20.10.8-r1
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/opencontainers/image-spec/archive/v1.0.1.tar.gz -> github.com-opencontainers-image-spec-v1.0.1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5e1759e29748956fd0f8db24de367d24
diff --git a/metadata/md5-cache/dev-go/image-spec-1.0.1-r1 b/metadata/md5-cache/dev-go/image-spec-1.0.1-r1
new file mode 100644
index 0000000..ad82542
--- /dev/null
+++ b/metadata/md5-cache/dev-go/image-spec-1.0.1-r1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/blackfriday dev-go/errors dev-go/go-digest dev-go/go-spew dev-go/testify dev-go/yaml:3 dev-lang/go
+DESCRIPTION=OCI Image Format
+EAPI=7
+HOMEPAGE=https://github.com/opencontainers/image-spec
+IUSE=test
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=!<=dev-go/docker-20.10.8-r1
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/opencontainers/image-spec/archive/v1.0.1.tar.gz -> github.com-opencontainers-image-spec-v1.0.1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5e1759e29748956fd0f8db24de367d24
diff --git a/metadata/md5-cache/dev-go/infra-proto-0.0.1 b/metadata/md5-cache/dev-go/infra-proto-0.0.1
index a2c9eca..49745d7 100644
--- a/metadata/md5-cache/dev-go/infra-proto-0.0.1
+++ b/metadata/md5-cache/dev-go/infra-proto-0.0.1
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
+DEPEND=chromeos-base/cros-config-api dev-go/genproto dev-go/go-sys dev-go/grpc dev-go/net dev-go/protobuf dev-go/protobuf-legacy-api dev-go/text dev-lang/go
 DESCRIPTION=Go bindings for ChromiumOS infra protocol buffers.
 EAPI=7
 HOMEPAGE=chromium.googlesource.com/chromiumos/infra/proto
 KEYWORDS=*
 LICENSE=Apache-2.0
+RDEPEND=chromeos-base/cros-config-api dev-go/genproto dev-go/go-sys dev-go/grpc dev-go/net dev-go/protobuf dev-go/protobuf-legacy-api dev-go/text
 SLOT=0
 SRC_URI=https://chromium.googlesource.com/chromiumos/infra/proto/+archive/3b9d473de0fec93ded28a89eaf1776ebcf200ccf.tar.gz -> chromium.googlesource.com-chromiumos-infra-proto-3b9d473de0fec93ded28a89eaf1776ebcf200ccf.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d25ea74fcbb51bddd0263125992749b5
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ada81447edc6741721d18686cb89435d
diff --git a/metadata/md5-cache/dev-go/infra-proto-0.0.1-r1 b/metadata/md5-cache/dev-go/infra-proto-0.0.1-r1
deleted file mode 100644
index a2c9eca..0000000
--- a/metadata/md5-cache/dev-go/infra-proto-0.0.1-r1
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
-DESCRIPTION=Go bindings for ChromiumOS infra protocol buffers.
-EAPI=7
-HOMEPAGE=chromium.googlesource.com/chromiumos/infra/proto
-KEYWORDS=*
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://chromium.googlesource.com/chromiumos/infra/proto/+archive/3b9d473de0fec93ded28a89eaf1776ebcf200ccf.tar.gz -> chromium.googlesource.com-chromiumos-infra-proto-3b9d473de0fec93ded28a89eaf1776ebcf200ccf.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d25ea74fcbb51bddd0263125992749b5
diff --git a/metadata/md5-cache/dev-go/infra-proto-0.0.1-r2 b/metadata/md5-cache/dev-go/infra-proto-0.0.1-r2
new file mode 100644
index 0000000..49745d7
--- /dev/null
+++ b/metadata/md5-cache/dev-go/infra-proto-0.0.1-r2
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=chromeos-base/cros-config-api dev-go/genproto dev-go/go-sys dev-go/grpc dev-go/net dev-go/protobuf dev-go/protobuf-legacy-api dev-go/text dev-lang/go
+DESCRIPTION=Go bindings for ChromiumOS infra protocol buffers.
+EAPI=7
+HOMEPAGE=chromium.googlesource.com/chromiumos/infra/proto
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=chromeos-base/cros-config-api dev-go/genproto dev-go/go-sys dev-go/grpc dev-go/net dev-go/protobuf dev-go/protobuf-legacy-api dev-go/text
+SLOT=0
+SRC_URI=https://chromium.googlesource.com/chromiumos/infra/proto/+archive/3b9d473de0fec93ded28a89eaf1776ebcf200ccf.tar.gz -> chromium.googlesource.com-chromiumos-infra-proto-3b9d473de0fec93ded28a89eaf1776ebcf200ccf.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ada81447edc6741721d18686cb89435d
diff --git a/metadata/md5-cache/dev-go/jennifer-1.2.0 b/metadata/md5-cache/dev-go/jennifer-1.2.0
index 7d02779..f41c1c5 100644
--- a/metadata/md5-cache/dev-go/jennifer-1.2.0
+++ b/metadata/md5-cache/dev-go/jennifer-1.2.0
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/dave/jennifer/archive/v1.2.0.tar.gz -> github.com-dave-jennifer-v1.2.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=2b343097d4fcbf115be9dc2c50291544
diff --git a/metadata/md5-cache/dev-go/klauspost-compress-1.14.2 b/metadata/md5-cache/dev-go/klauspost-compress-1.14.2
index 62c7e17..024e13e 100644
--- a/metadata/md5-cache/dev-go/klauspost-compress-1.14.2
+++ b/metadata/md5-cache/dev-go/klauspost-compress-1.14.2
@@ -7,5 +7,5 @@
 LICENSE=Apache-2.0
 SLOT=0
 SRC_URI=https://github.com/klauspost/compress/archive/v1.14.2.tar.gz -> github.com-klauspost-compress-v1.14.2.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=2cc891b9d2d683b8d4dd275168dd1271
diff --git a/metadata/md5-cache/dev-go/kobject-0.0.1 b/metadata/md5-cache/dev-go/kobject-0.0.1
index 84c1932..68f1e75 100644
--- a/metadata/md5-cache/dev-go/kobject-0.0.1
+++ b/metadata/md5-cache/dev-go/kobject-0.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/mdlayher/kobject/archive/b96c97ecd94cb099c51321f651acb576067c960c.tar.gz -> github.com-mdlayher-kobject-b96c97ecd94cb099c51321f651acb576067c960c.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=470e87d3e0dd0de1fb75dff73c1a3666
diff --git a/metadata/md5-cache/dev-go/kr-fs-0.1.0 b/metadata/md5-cache/dev-go/kr-fs-0.1.0
new file mode 100644
index 0000000..73837af
--- /dev/null
+++ b/metadata/md5-cache/dev-go/kr-fs-0.1.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Package fs provides filesystem-related functions.
+EAPI=7
+HOMEPAGE=https://github.com/kr/fs
+KEYWORDS=*
+LICENSE=BSD
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/kr/fs/archive/v0.1.0.tar.gz -> github.com-kr-fs-v0.1.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=661e2807f281dc4bcde077a5cbe4dba2
diff --git a/metadata/md5-cache/dev-go/kr-fs-0.1.0-r1 b/metadata/md5-cache/dev-go/kr-fs-0.1.0-r1
new file mode 100644
index 0000000..73837af
--- /dev/null
+++ b/metadata/md5-cache/dev-go/kr-fs-0.1.0-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Package fs provides filesystem-related functions.
+EAPI=7
+HOMEPAGE=https://github.com/kr/fs
+KEYWORDS=*
+LICENSE=BSD
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/kr/fs/archive/v0.1.0.tar.gz -> github.com-kr-fs-v0.1.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=661e2807f281dc4bcde077a5cbe4dba2
diff --git a/metadata/md5-cache/dev-go/kr-text-0.2.0 b/metadata/md5-cache/dev-go/kr-text-0.2.0
index ce980b8..7ac1541 100644
--- a/metadata/md5-cache/dev-go/kr-text-0.2.0
+++ b/metadata/md5-cache/dev-go/kr-text-0.2.0
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/kr/text/archive/v0.2.0.tar.gz -> github.com-kr-text-v0.2.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=b06922361b6875dd4e4c181ce6247984
diff --git a/metadata/md5-cache/dev-go/levenshtein-0.0.1 b/metadata/md5-cache/dev-go/levenshtein-0.0.1
deleted file mode 100644
index 0be7a46..0000000
--- a/metadata/md5-cache/dev-go/levenshtein-0.0.1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
-DESCRIPTION=Go subcommand library
-EAPI=7
-HOMEPAGE=https://github.com/texttheater/golang-levenshtein/levenshtein
-KEYWORDS=*
-LICENSE=MIT
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/texttheater/golang-levenshtein/archive/eb6844b05fc6f7e10932b0621c7f5f7e8890541d.tar.gz -> github.com-texttheater-golang-levenshtein-eb6844b05fc6f7e10932b0621c7f5f7e8890541d.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=06dbcd51db605ee2cb1c874f61f2341c
diff --git a/metadata/md5-cache/dev-go/levenshtein-1.0.1 b/metadata/md5-cache/dev-go/levenshtein-1.0.1
new file mode 100644
index 0000000..a3bcacb
--- /dev/null
+++ b/metadata/md5-cache/dev-go/levenshtein-1.0.1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Go subcommand library
+EAPI=7
+HOMEPAGE=https://github.com/texttheater/golang-levenshtein/levenshtein
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/texttheater/golang-levenshtein/archive/v1.0.1.tar.gz -> github.com-texttheater-golang-levenshtein-v1.0.1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7e131f3b86a510acd021065e368c5bf7
diff --git a/metadata/md5-cache/dev-go/levenshtein-1.0.1-r1 b/metadata/md5-cache/dev-go/levenshtein-1.0.1-r1
new file mode 100644
index 0000000..a3bcacb
--- /dev/null
+++ b/metadata/md5-cache/dev-go/levenshtein-1.0.1-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Go subcommand library
+EAPI=7
+HOMEPAGE=https://github.com/texttheater/golang-levenshtein/levenshtein
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/texttheater/golang-levenshtein/archive/v1.0.1.tar.gz -> github.com-texttheater-golang-levenshtein-v1.0.1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7e131f3b86a510acd021065e368c5bf7
diff --git a/metadata/md5-cache/dev-go/logex-1.2.0 b/metadata/md5-cache/dev-go/logex-1.2.0
new file mode 100644
index 0000000..8fd151b
--- /dev/null
+++ b/metadata/md5-cache/dev-go/logex-1.2.0
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=An golang log lib, supports tracing and level, wrap by standard log lib.
+EAPI=7
+HOMEPAGE=https://github.com/chzyer/logex
+IUSE=test
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/chzyer/logex/archive/v1.2.0.tar.gz -> github.com-chzyer-logex-v1.2.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ab75e65d1796ced3c50129ae5c9a6e56
diff --git a/metadata/md5-cache/dev-go/logex-1.2.0-r1 b/metadata/md5-cache/dev-go/logex-1.2.0-r1
new file mode 100644
index 0000000..8fd151b
--- /dev/null
+++ b/metadata/md5-cache/dev-go/logex-1.2.0-r1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=An golang log lib, supports tracing and level, wrap by standard log lib.
+EAPI=7
+HOMEPAGE=https://github.com/chzyer/logex
+IUSE=test
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/chzyer/logex/archive/v1.2.0.tar.gz -> github.com-chzyer-logex-v1.2.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ab75e65d1796ced3c50129ae5c9a6e56
diff --git a/metadata/md5-cache/dev-go/logrus-1.8.1 b/metadata/md5-cache/dev-go/logrus-1.8.1
new file mode 100644
index 0000000..8c4a966
--- /dev/null
+++ b/metadata/md5-cache/dev-go/logrus-1.8.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/go-spew dev-go/go-sys dev-go/testify dev-lang/go
+DESCRIPTION=Logrus is a structured logger for Go (golang), completely API compatible with the standard library logger.
+EAPI=7
+HOMEPAGE=https://github.com/sirupsen/logrus
+IUSE=test
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=!<=dev-go/docker-20.10.8-r1
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/sirupsen/logrus/archive/v1.8.1.tar.gz -> github.com-sirupsen-logrus-v1.8.1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2f6e123afdf43b6010ce30514afd0002
diff --git a/metadata/md5-cache/dev-go/logrus-1.8.1-r1 b/metadata/md5-cache/dev-go/logrus-1.8.1-r1
new file mode 100644
index 0000000..8c4a966
--- /dev/null
+++ b/metadata/md5-cache/dev-go/logrus-1.8.1-r1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/go-spew dev-go/go-sys dev-go/testify dev-lang/go
+DESCRIPTION=Logrus is a structured logger for Go (golang), completely API compatible with the standard library logger.
+EAPI=7
+HOMEPAGE=https://github.com/sirupsen/logrus
+IUSE=test
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=!<=dev-go/docker-20.10.8-r1
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/sirupsen/logrus/archive/v1.8.1.tar.gz -> github.com-sirupsen-logrus-v1.8.1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2f6e123afdf43b6010ce30514afd0002
diff --git a/metadata/md5-cache/dev-go/luci-go-common-0.0.1 b/metadata/md5-cache/dev-go/luci-go-common-0.0.1
index 86095fb..712413c 100644
--- a/metadata/md5-cache/dev-go/luci-go-common-0.0.1
+++ b/metadata/md5-cache/dev-go/luci-go-common-0.0.1
@@ -1,12 +1,12 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/appengine dev-go/gapi-googleapi dev-go/grpc dev-go/httprouter dev-go/klauspost-compress dev-go/protobuf dev-go/starlark-go dev-go/txtpbfmt dev-go/yaml:0 dev-lang/go
+DEPEND=dev-go/appengine dev-go/gapi dev-go/grpc dev-go/httprouter dev-go/klauspost-compress dev-go/protobuf dev-go/protobuf-legacy-api dev-go/starlark-go dev-go/txtpbfmt dev-go/yaml:0 dev-lang/go
 DESCRIPTION=LUCI-related packages and other common utility packages.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/infra/luci/luci-go
 KEYWORDS=*
 LICENSE=Apache-2.0
-RDEPEND=dev-go/appengine dev-go/gapi-googleapi dev-go/grpc dev-go/httprouter dev-go/klauspost-compress dev-go/protobuf dev-go/starlark-go dev-go/txtpbfmt dev-go/yaml:0
+RDEPEND=dev-go/appengine dev-go/gapi dev-go/grpc dev-go/httprouter dev-go/klauspost-compress dev-go/protobuf dev-go/protobuf-legacy-api dev-go/starlark-go dev-go/txtpbfmt dev-go/yaml:0
 SLOT=0
 SRC_URI=https://chromium.googlesource.com/infra/luci/luci-go/+archive/fbf085364d0e2db2aa35e78f526ca0d7468201a8.tar.gz -> chromium.googlesource.com-infra-luci-luci-go-fbf085364d0e2db2aa35e78f526ca0d7468201a8.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=1e37768ab4a745f9ebad25d54ba0a57a
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8b459ef008c9c1370f2b8064f22c589b
diff --git a/metadata/md5-cache/dev-go/luci-go-common-0.0.1-r4 b/metadata/md5-cache/dev-go/luci-go-common-0.0.1-r4
deleted file mode 100644
index 86095fb..0000000
--- a/metadata/md5-cache/dev-go/luci-go-common-0.0.1-r4
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/appengine dev-go/gapi-googleapi dev-go/grpc dev-go/httprouter dev-go/klauspost-compress dev-go/protobuf dev-go/starlark-go dev-go/txtpbfmt dev-go/yaml:0 dev-lang/go
-DESCRIPTION=LUCI-related packages and other common utility packages.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/infra/luci/luci-go
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND=dev-go/appengine dev-go/gapi-googleapi dev-go/grpc dev-go/httprouter dev-go/klauspost-compress dev-go/protobuf dev-go/starlark-go dev-go/txtpbfmt dev-go/yaml:0
-SLOT=0
-SRC_URI=https://chromium.googlesource.com/infra/luci/luci-go/+archive/fbf085364d0e2db2aa35e78f526ca0d7468201a8.tar.gz -> chromium.googlesource.com-infra-luci-luci-go-fbf085364d0e2db2aa35e78f526ca0d7468201a8.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=1e37768ab4a745f9ebad25d54ba0a57a
diff --git a/metadata/md5-cache/dev-go/luci-go-common-0.0.1-r7 b/metadata/md5-cache/dev-go/luci-go-common-0.0.1-r7
new file mode 100644
index 0000000..712413c
--- /dev/null
+++ b/metadata/md5-cache/dev-go/luci-go-common-0.0.1-r7
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/appengine dev-go/gapi dev-go/grpc dev-go/httprouter dev-go/klauspost-compress dev-go/protobuf dev-go/protobuf-legacy-api dev-go/starlark-go dev-go/txtpbfmt dev-go/yaml:0 dev-lang/go
+DESCRIPTION=LUCI-related packages and other common utility packages.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/infra/luci/luci-go
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=dev-go/appengine dev-go/gapi dev-go/grpc dev-go/httprouter dev-go/klauspost-compress dev-go/protobuf dev-go/protobuf-legacy-api dev-go/starlark-go dev-go/txtpbfmt dev-go/yaml:0
+SLOT=0
+SRC_URI=https://chromium.googlesource.com/infra/luci/luci-go/+archive/fbf085364d0e2db2aa35e78f526ca0d7468201a8.tar.gz -> chromium.googlesource.com-infra-luci-luci-go-fbf085364d0e2db2aa35e78f526ca0d7468201a8.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8b459ef008c9c1370f2b8064f22c589b
diff --git a/metadata/md5-cache/dev-go/martian-3.2.1 b/metadata/md5-cache/dev-go/martian-3.2.1
new file mode 100644
index 0000000..c5f3383
--- /dev/null
+++ b/metadata/md5-cache/dev-go/martian-3.2.1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/protobuf dev-go/protobuf-legacy-api dev-go/snappy dev-go/net dev-go/grpc dev-lang/go
+DESCRIPTION=Martian Proxy is a programmable HTTP proxy designed to be used for testing.
+EAPI=7
+HOMEPAGE=https://github.com/google/martian
+KEYWORDS=*
+LICENSE=Apache-2.0
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/google/martian/archive/v3.2.1.tar.gz -> github.com-google-martian-v3.2.1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9ac131c15ce1791bc6232f47c42e82a3
diff --git a/metadata/md5-cache/dev-go/martian-3.2.1-r1 b/metadata/md5-cache/dev-go/martian-3.2.1-r1
new file mode 100644
index 0000000..c5f3383
--- /dev/null
+++ b/metadata/md5-cache/dev-go/martian-3.2.1-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/protobuf dev-go/protobuf-legacy-api dev-go/snappy dev-go/net dev-go/grpc dev-lang/go
+DESCRIPTION=Martian Proxy is a programmable HTTP proxy designed to be used for testing.
+EAPI=7
+HOMEPAGE=https://github.com/google/martian
+KEYWORDS=*
+LICENSE=Apache-2.0
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/google/martian/archive/v3.2.1.tar.gz -> github.com-google-martian-v3.2.1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9ac131c15ce1791bc6232f47c42e82a3
diff --git a/metadata/md5-cache/dev-go/maruel-subcommands-0.0.1 b/metadata/md5-cache/dev-go/maruel-subcommands-0.0.1
deleted file mode 100644
index bd99c25..0000000
--- a/metadata/md5-cache/dev-go/maruel-subcommands-0.0.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/levenshtein dev-lang/go
-DESCRIPTION=Go subcommand library
-EAPI=7
-HOMEPAGE=https://github.com/maruel/subcommands
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND=dev-go/levenshtein
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/maruel/subcommands/archive/de1d40e70d4b89b9c560a4d308e0bc9f5c9e18d7.tar.gz -> github.com-maruel-subcommands-de1d40e70d4b89b9c560a4d308e0bc9f5c9e18d7.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0898ea6779a2cb20b00edb7e51377bcd
diff --git a/metadata/md5-cache/dev-go/maruel-subcommands-0.0.1-r1 b/metadata/md5-cache/dev-go/maruel-subcommands-0.0.1-r1
deleted file mode 100644
index bd99c25..0000000
--- a/metadata/md5-cache/dev-go/maruel-subcommands-0.0.1-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/levenshtein dev-lang/go
-DESCRIPTION=Go subcommand library
-EAPI=7
-HOMEPAGE=https://github.com/maruel/subcommands
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND=dev-go/levenshtein
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/maruel/subcommands/archive/de1d40e70d4b89b9c560a4d308e0bc9f5c9e18d7.tar.gz -> github.com-maruel-subcommands-de1d40e70d4b89b9c560a4d308e0bc9f5c9e18d7.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0898ea6779a2cb20b00edb7e51377bcd
diff --git a/metadata/md5-cache/dev-go/maruel-subcommands-1.1.0 b/metadata/md5-cache/dev-go/maruel-subcommands-1.1.0
new file mode 100644
index 0000000..fb93535
--- /dev/null
+++ b/metadata/md5-cache/dev-go/maruel-subcommands-1.1.0
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/cmp dev-go/levenshtein dev-go/kr-text dev-go/pretty dev-go/utiltest dev-lang/go
+DESCRIPTION=Go subcommand library
+EAPI=7
+HOMEPAGE=https://github.com/maruel/subcommands
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=dev-go/cmp dev-go/levenshtein dev-go/kr-text dev-go/pretty dev-go/utiltest
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/maruel/subcommands/archive/v1.1.0.tar.gz -> github.com-maruel-subcommands-v1.1.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=67dad9a959cd1f6002243bfd245d4698
diff --git a/metadata/md5-cache/dev-go/maruel-subcommands-1.1.0-r1 b/metadata/md5-cache/dev-go/maruel-subcommands-1.1.0-r1
new file mode 100644
index 0000000..fb93535
--- /dev/null
+++ b/metadata/md5-cache/dev-go/maruel-subcommands-1.1.0-r1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/cmp dev-go/levenshtein dev-go/kr-text dev-go/pretty dev-go/utiltest dev-lang/go
+DESCRIPTION=Go subcommand library
+EAPI=7
+HOMEPAGE=https://github.com/maruel/subcommands
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=dev-go/cmp dev-go/levenshtein dev-go/kr-text dev-go/pretty dev-go/utiltest
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/maruel/subcommands/archive/v1.1.0.tar.gz -> github.com-maruel-subcommands-v1.1.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=67dad9a959cd1f6002243bfd245d4698
diff --git a/metadata/md5-cache/dev-go/mdns-0.0.1 b/metadata/md5-cache/dev-go/mdns-0.0.1
deleted file mode 100644
index f2e50ca..0000000
--- a/metadata/md5-cache/dev-go/mdns-0.0.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst prepare test unpack
-DEPEND=dev-go/dns dev-lang/go
-DESCRIPTION=Simple mDNS client/server library in Golang
-EAPI=5
-HOMEPAGE=https://github.com/hashicorp/mdns
-KEYWORDS=*
-LICENSE=BSD
-RDEPEND=dev-go/dns
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/hashicorp/go.net/archive/104dcad90073cd8d1e6828b2af19185b60cf3e29.tar.gz -> github.com-hashicorp-go.net-104dcad90073cd8d1e6828b2af19185b60cf3e29.tar.gz https://github.com/hashicorp/mdns/archive/4e527d9d808175f132f949523e640c699e4253bb.tar.gz -> github.com-hashicorp-mdns-4e527d9d808175f132f949523e640c699e4253bb.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=b9543304beb14d79e9e198524557ba0c
diff --git a/metadata/md5-cache/dev-go/mdns-0.0.1-r1 b/metadata/md5-cache/dev-go/mdns-0.0.1-r1
deleted file mode 100644
index f2e50ca..0000000
--- a/metadata/md5-cache/dev-go/mdns-0.0.1-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst prepare test unpack
-DEPEND=dev-go/dns dev-lang/go
-DESCRIPTION=Simple mDNS client/server library in Golang
-EAPI=5
-HOMEPAGE=https://github.com/hashicorp/mdns
-KEYWORDS=*
-LICENSE=BSD
-RDEPEND=dev-go/dns
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/hashicorp/go.net/archive/104dcad90073cd8d1e6828b2af19185b60cf3e29.tar.gz -> github.com-hashicorp-go.net-104dcad90073cd8d1e6828b2af19185b60cf3e29.tar.gz https://github.com/hashicorp/mdns/archive/4e527d9d808175f132f949523e640c699e4253bb.tar.gz -> github.com-hashicorp-mdns-4e527d9d808175f132f949523e640c699e4253bb.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=b9543304beb14d79e9e198524557ba0c
diff --git a/metadata/md5-cache/dev-go/mdns-1.0.5 b/metadata/md5-cache/dev-go/mdns-1.0.5
new file mode 100644
index 0000000..52547b6
--- /dev/null
+++ b/metadata/md5-cache/dev-go/mdns-1.0.5
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/dns dev-go/net dev-lang/go
+DESCRIPTION=Simple mDNS client/server library in Golang
+EAPI=7
+HOMEPAGE=https://github.com/hashicorp/mdns
+KEYWORDS=*
+LICENSE=BSD
+RDEPEND=dev-go/dns dev-go/net
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/hashicorp/mdns/archive/v1.0.5.tar.gz -> github.com-hashicorp-mdns-v1.0.5.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f4cd531e07de8db593f02867fae74110
diff --git a/metadata/md5-cache/dev-go/mdns-1.0.5-r1 b/metadata/md5-cache/dev-go/mdns-1.0.5-r1
new file mode 100644
index 0000000..52547b6
--- /dev/null
+++ b/metadata/md5-cache/dev-go/mdns-1.0.5-r1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/dns dev-go/net dev-lang/go
+DESCRIPTION=Simple mDNS client/server library in Golang
+EAPI=7
+HOMEPAGE=https://github.com/hashicorp/mdns
+KEYWORDS=*
+LICENSE=BSD
+RDEPEND=dev-go/dns dev-go/net
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/hashicorp/mdns/archive/v1.0.5.tar.gz -> github.com-hashicorp-mdns-v1.0.5.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f4cd531e07de8db593f02867fae74110
diff --git a/metadata/md5-cache/dev-go/misspell-0.3.4 b/metadata/md5-cache/dev-go/misspell-0.3.4
index b75eeaa..d3776c1 100644
--- a/metadata/md5-cache/dev-go/misspell-0.3.4
+++ b/metadata/md5-cache/dev-go/misspell-0.3.4
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/client9/misspell/archive/v0.3.4.tar.gz -> github.com-client9-misspell-v0.3.4.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=43ee57548a5e558927592d7bbdd5accd
diff --git a/metadata/md5-cache/dev-go/mock-1.6.0 b/metadata/md5-cache/dev-go/mock-1.6.0
index d239bfe..c477b63 100644
--- a/metadata/md5-cache/dev-go/mock-1.6.0
+++ b/metadata/md5-cache/dev-go/mock-1.6.0
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/golang/mock/archive/v1.6.0.tar.gz -> github.com-golang-mock-v1.6.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=ef195b5ea38c8bd2c3b9a0aa21484441
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=6059a8248e7618e2d87bc0feef4ae93d
diff --git a/metadata/md5-cache/dev-go/mock-1.6.0-r1 b/metadata/md5-cache/dev-go/mock-1.6.0-r1
deleted file mode 100644
index d239bfe..0000000
--- a/metadata/md5-cache/dev-go/mock-1.6.0-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/mod dev-go/go-tools dev-lang/go
-DESCRIPTION=A mocking framework for the Go programming language
-EAPI=5
-HOMEPAGE=https://github.com/golang/mock
-KEYWORDS=*
-LICENSE=Apache-2.0
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/golang/mock/archive/v1.6.0.tar.gz -> github.com-golang-mock-v1.6.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=ef195b5ea38c8bd2c3b9a0aa21484441
diff --git a/metadata/md5-cache/dev-go/mock-1.6.0-r2 b/metadata/md5-cache/dev-go/mock-1.6.0-r2
new file mode 100644
index 0000000..c477b63
--- /dev/null
+++ b/metadata/md5-cache/dev-go/mock-1.6.0-r2
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/mod dev-go/go-tools dev-lang/go
+DESCRIPTION=A mocking framework for the Go programming language
+EAPI=5
+HOMEPAGE=https://github.com/golang/mock
+KEYWORDS=*
+LICENSE=Apache-2.0
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/golang/mock/archive/v1.6.0.tar.gz -> github.com-golang-mock-v1.6.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=6059a8248e7618e2d87bc0feef4ae93d
diff --git a/metadata/md5-cache/dev-go/mod-0.5.1 b/metadata/md5-cache/dev-go/mod-0.5.1
index 34b4c90..0a677fd 100644
--- a/metadata/md5-cache/dev-go/mod-0.5.1
+++ b/metadata/md5-cache/dev-go/mod-0.5.1
@@ -9,5 +9,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://go.googlesource.com/mod/+archive/v0.5.1.tar.gz -> go.googlesource.com-mod-v0.5.1.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=01f856aca9ffbc9532f74456555cccea
diff --git a/metadata/md5-cache/dev-go/mod-0.5.1-r2 b/metadata/md5-cache/dev-go/mod-0.5.1-r2
index 34b4c90..0a677fd 100644
--- a/metadata/md5-cache/dev-go/mod-0.5.1-r2
+++ b/metadata/md5-cache/dev-go/mod-0.5.1-r2
@@ -9,5 +9,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://go.googlesource.com/mod/+archive/v0.5.1.tar.gz -> go.googlesource.com-mod-v0.5.1.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=01f856aca9ffbc9532f74456555cccea
diff --git a/metadata/md5-cache/dev-go/mp4-0.0.1 b/metadata/md5-cache/dev-go/mp4-0.0.1
index f54b974..582d381 100644
--- a/metadata/md5-cache/dev-go/mp4-0.0.1
+++ b/metadata/md5-cache/dev-go/mp4-0.0.1
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/bufseekio dev-go/crypto dev-go/yaml:0 dev-lang/go
+DEPEND=dev-go/bufseekio dev-go/writeseeker dev-go/crypto dev-go/go-spew dev-go/uuid dev-go/testify dev-go/go-billy dev-go/yaml:0 dev-lang/go
 DESCRIPTION=Go library for reading and writing MP4 file
 EAPI=7
 HOMEPAGE=https://github.com/abema/go-mp4
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=dev-go/bufseekio dev-go/crypto dev-go/yaml:0
+RDEPEND=dev-go/bufseekio dev-go/writeseeker dev-go/crypto dev-go/go-spew dev-go/uuid dev-go/testify dev-go/go-billy dev-go/yaml:0
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/abema/go-mp4/archive/5bdb34118acfef5536b63c4b70ce4314b5373f87.tar.gz -> github.com-abema-go-mp4-5bdb34118acfef5536b63c4b70ce4314b5373f87.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0645ecb67a36eca54ba51f508c84c75a
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f85116608d2e12e43a8c7cfde12ea791
diff --git a/metadata/md5-cache/dev-go/mp4-0.0.1-r5 b/metadata/md5-cache/dev-go/mp4-0.0.1-r5
deleted file mode 100644
index f54b974..0000000
--- a/metadata/md5-cache/dev-go/mp4-0.0.1-r5
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/bufseekio dev-go/crypto dev-go/yaml:0 dev-lang/go
-DESCRIPTION=Go library for reading and writing MP4 file
-EAPI=7
-HOMEPAGE=https://github.com/abema/go-mp4
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND=dev-go/bufseekio dev-go/crypto dev-go/yaml:0
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/abema/go-mp4/archive/5bdb34118acfef5536b63c4b70ce4314b5373f87.tar.gz -> github.com-abema-go-mp4-5bdb34118acfef5536b63c4b70ce4314b5373f87.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0645ecb67a36eca54ba51f508c84c75a
diff --git a/metadata/md5-cache/dev-go/mp4-0.0.1-r7 b/metadata/md5-cache/dev-go/mp4-0.0.1-r7
new file mode 100644
index 0000000..582d381
--- /dev/null
+++ b/metadata/md5-cache/dev-go/mp4-0.0.1-r7
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/bufseekio dev-go/writeseeker dev-go/crypto dev-go/go-spew dev-go/uuid dev-go/testify dev-go/go-billy dev-go/yaml:0 dev-lang/go
+DESCRIPTION=Go library for reading and writing MP4 file
+EAPI=7
+HOMEPAGE=https://github.com/abema/go-mp4
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=dev-go/bufseekio dev-go/writeseeker dev-go/crypto dev-go/go-spew dev-go/uuid dev-go/testify dev-go/go-billy dev-go/yaml:0
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/abema/go-mp4/archive/5bdb34118acfef5536b63c4b70ce4314b5373f87.tar.gz -> github.com-abema-go-mp4-5bdb34118acfef5536b63c4b70ce4314b5373f87.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f85116608d2e12e43a8c7cfde12ea791
diff --git a/metadata/md5-cache/dev-go/net-0.0.1 b/metadata/md5-cache/dev-go/net-0.0.1
index e957d29..25deadc 100644
--- a/metadata/md5-cache/dev-go/net-0.0.1
+++ b/metadata/md5-cache/dev-go/net-0.0.1
@@ -9,5 +9,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://go.googlesource.com/net/+archive/4f30a5c0130f199e0dfd54e9de49f9367cabf1ad.tar.gz -> go.googlesource.com-net-4f30a5c0130f199e0dfd54e9de49f9367cabf1ad.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=133ca5d5d5a7c88098afef0c472c2548
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3731f16bf3911deae85bc8c180a3de39
diff --git a/metadata/md5-cache/dev-go/net-0.0.1-r11 b/metadata/md5-cache/dev-go/net-0.0.1-r11
deleted file mode 100644
index e957d29..0000000
--- a/metadata/md5-cache/dev-go/net-0.0.1-r11
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/term dev-go/text dev-go/go-sys dev-lang/go
-DESCRIPTION=Go supplementary network libraries
-EAPI=7
-HOMEPAGE=https://golang.org/x/net
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/text
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://go.googlesource.com/net/+archive/4f30a5c0130f199e0dfd54e9de49f9367cabf1ad.tar.gz -> go.googlesource.com-net-4f30a5c0130f199e0dfd54e9de49f9367cabf1ad.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=133ca5d5d5a7c88098afef0c472c2548
diff --git a/metadata/md5-cache/dev-go/net-0.0.1-r13 b/metadata/md5-cache/dev-go/net-0.0.1-r13
new file mode 100644
index 0000000..25deadc
--- /dev/null
+++ b/metadata/md5-cache/dev-go/net-0.0.1-r13
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/term dev-go/text dev-go/go-sys dev-lang/go
+DESCRIPTION=Go supplementary network libraries
+EAPI=7
+HOMEPAGE=https://golang.org/x/net
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/text
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://go.googlesource.com/net/+archive/4f30a5c0130f199e0dfd54e9de49f9367cabf1ad.tar.gz -> go.googlesource.com-net-4f30a5c0130f199e0dfd54e9de49f9367cabf1ad.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3731f16bf3911deae85bc8c180a3de39
diff --git a/metadata/md5-cache/dev-go/netlink-0.0.1 b/metadata/md5-cache/dev-go/netlink-0.0.1
index b9e79bf..610fbfd 100644
--- a/metadata/md5-cache/dev-go/netlink-0.0.1
+++ b/metadata/md5-cache/dev-go/netlink-0.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/mdlayher/netlink/archive/336c8d74f4a037ab2e19a7b95dc2189673095121.tar.gz -> github.com-mdlayher-netlink-336c8d74f4a037ab2e19a7b95dc2189673095121.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=3d02867cc3e72c9668e4163c2ee9e909
diff --git a/metadata/md5-cache/dev-go/netlink-0.0.1-r2 b/metadata/md5-cache/dev-go/netlink-0.0.1-r2
index b9e79bf..610fbfd 100644
--- a/metadata/md5-cache/dev-go/netlink-0.0.1-r2
+++ b/metadata/md5-cache/dev-go/netlink-0.0.1-r2
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/mdlayher/netlink/archive/336c8d74f4a037ab2e19a7b95dc2189673095121.tar.gz -> github.com-mdlayher-netlink-336c8d74f4a037ab2e19a7b95dc2189673095121.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=3d02867cc3e72c9668e4163c2ee9e909
diff --git a/metadata/md5-cache/dev-go/numcpus-0.2.3 b/metadata/md5-cache/dev-go/numcpus-0.2.3
index cb6aa1a..dcf9a3a 100644
--- a/metadata/md5-cache/dev-go/numcpus-0.2.3
+++ b/metadata/md5-cache/dev-go/numcpus-0.2.3
@@ -10,5 +10,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/tklauser/numcpus/archive/v0.2.3.tar.gz -> github.com-tklauser-numcpus-v0.2.3.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=745a1edf40d7adc23d459805de9696b8
diff --git a/metadata/md5-cache/dev-go/numcpus-0.2.3-r1 b/metadata/md5-cache/dev-go/numcpus-0.2.3-r1
index cb6aa1a..dcf9a3a 100644
--- a/metadata/md5-cache/dev-go/numcpus-0.2.3-r1
+++ b/metadata/md5-cache/dev-go/numcpus-0.2.3-r1
@@ -10,5 +10,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/tklauser/numcpus/archive/v0.2.3.tar.gz -> github.com-tklauser-numcpus-v0.2.3.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=745a1edf40d7adc23d459805de9696b8
diff --git a/metadata/md5-cache/dev-go/oauth2-0.0.1 b/metadata/md5-cache/dev-go/oauth2-0.0.1
index eda967c..f671b67 100644
--- a/metadata/md5-cache/dev-go/oauth2-0.0.1
+++ b/metadata/md5-cache/dev-go/oauth2-0.0.1
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gcp-compute dev-go/yaml:0 dev-lang/go
+DEPEND=dev-go/gcp dev-go/gcp-compute dev-go/net dev-go/yaml:0 dev-lang/go
 DESCRIPTION=Go packages for oauth2
 EAPI=7
 HOMEPAGE=https://golang.org/x/oauth2
 KEYWORDS=*
 LICENSE=BSD-Google
-RDEPEND=dev-go/gcp-compute dev-go/yaml:0
+RDEPEND=dev-go/gcp dev-go/gcp-compute dev-go/net dev-go/yaml:0
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://go.googlesource.com/oauth2/+archive/d3ed0bb246c8d3c75b63937d9a5eecff9c74d7fe.tar.gz -> go.googlesource.com-oauth2-d3ed0bb246c8d3c75b63937d9a5eecff9c74d7fe.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e61af27d527a116186948f1e7c9ec4f1
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=12afa45e2adcf8fa6ccf7b683b0d50ad
diff --git a/metadata/md5-cache/dev-go/oauth2-0.0.1-r7 b/metadata/md5-cache/dev-go/oauth2-0.0.1-r7
deleted file mode 100644
index eda967c..0000000
--- a/metadata/md5-cache/dev-go/oauth2-0.0.1-r7
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gcp-compute dev-go/yaml:0 dev-lang/go
-DESCRIPTION=Go packages for oauth2
-EAPI=7
-HOMEPAGE=https://golang.org/x/oauth2
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=dev-go/gcp-compute dev-go/yaml:0
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://go.googlesource.com/oauth2/+archive/d3ed0bb246c8d3c75b63937d9a5eecff9c74d7fe.tar.gz -> go.googlesource.com-oauth2-d3ed0bb246c8d3c75b63937d9a5eecff9c74d7fe.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e61af27d527a116186948f1e7c9ec4f1
diff --git a/metadata/md5-cache/dev-go/oauth2-0.0.1-r9 b/metadata/md5-cache/dev-go/oauth2-0.0.1-r9
new file mode 100644
index 0000000..f671b67
--- /dev/null
+++ b/metadata/md5-cache/dev-go/oauth2-0.0.1-r9
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/gcp dev-go/gcp-compute dev-go/net dev-go/yaml:0 dev-lang/go
+DESCRIPTION=Go packages for oauth2
+EAPI=7
+HOMEPAGE=https://golang.org/x/oauth2
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/gcp dev-go/gcp-compute dev-go/net dev-go/yaml:0
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://go.googlesource.com/oauth2/+archive/d3ed0bb246c8d3c75b63937d9a5eecff9c74d7fe.tar.gz -> go.googlesource.com-oauth2-d3ed0bb246c8d3c75b63937d9a5eecff9c74d7fe.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=12afa45e2adcf8fa6ccf7b683b0d50ad
diff --git a/metadata/md5-cache/dev-go/objx-0.3.0 b/metadata/md5-cache/dev-go/objx-0.3.0
new file mode 100644
index 0000000..b1c2997
--- /dev/null
+++ b/metadata/md5-cache/dev-go/objx-0.3.0
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/go-spew dev-lang/go
+DESCRIPTION=Go package for dealing with maps, slices, JSON and other data.
+EAPI=7
+HOMEPAGE=https://github.com/stretchr/objx
+IUSE=test
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/stretchr/objx/archive/v0.3.0.tar.gz -> github.com-stretchr-objx-v0.3.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=42d36fc063da1a0e57b2b377d7499d8a
diff --git a/metadata/md5-cache/dev-go/op-logging-0.0.1 b/metadata/md5-cache/dev-go/op-logging-0.0.1
index abff31a..2c0ca26 100644
--- a/metadata/md5-cache/dev-go/op-logging-0.0.1
+++ b/metadata/md5-cache/dev-go/op-logging-0.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/op/go-logging/archive/970db520ece77730c7e4724c61121037378659d9.tar.gz -> github.com-op-go-logging-970db520ece77730c7e4724c61121037378659d9.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=ce9f393d35e0ef6811f9905032d1e48e
diff --git a/metadata/md5-cache/dev-go/op-logging-0.0.1-r1 b/metadata/md5-cache/dev-go/op-logging-0.0.1-r1
index abff31a..2c0ca26 100644
--- a/metadata/md5-cache/dev-go/op-logging-0.0.1-r1
+++ b/metadata/md5-cache/dev-go/op-logging-0.0.1-r1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/op/go-logging/archive/970db520ece77730c7e4724c61121037378659d9.tar.gz -> github.com-op-go-logging-970db520ece77730c7e4724c61121037378659d9.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=ce9f393d35e0ef6811f9905032d1e48e
diff --git a/metadata/md5-cache/dev-go/opencensus-0.23.0 b/metadata/md5-cache/dev-go/opencensus-0.23.0
index b7cfed6..aed7ec1 100644
--- a/metadata/md5-cache/dev-go/opencensus-0.23.0
+++ b/metadata/md5-cache/dev-go/opencensus-0.23.0
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-bundler dev-go/genproto dev-go/golang-groupcache dev-go/protobuf dev-lang/go
+DEPEND=dev-go/appengine dev-go/cmp dev-go/gapi dev-go/genproto dev-go/golang-groupcache dev-go/grpc dev-go/net dev-go/protobuf dev-go/protobuf-legacy-api dev-go/testify dev-lang/go
 DESCRIPTION=A stats collection and distributed tracing framework
 EAPI=5
 HOMEPAGE=http://opencensus.io/
 KEYWORDS=*
 LICENSE=Apache-2.0
-RDEPEND=dev-go/gapi-bundler dev-go/genproto dev-go/golang-groupcache dev-go/protobuf
+RDEPEND=dev-go/appengine dev-go/cmp dev-go/gapi dev-go/genproto dev-go/golang-groupcache dev-go/grpc dev-go/net dev-go/protobuf dev-go/protobuf-legacy-api dev-go/testify
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/census-instrumentation/opencensus-go/archive/v0.23.0.tar.gz -> github.com-census-instrumentation-opencensus-go-v0.23.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=4d531d0af797e2b004b42c62c878cade
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=d1c1f5770c9750301e71806a55285537
diff --git a/metadata/md5-cache/dev-go/opencensus-0.23.0-r1 b/metadata/md5-cache/dev-go/opencensus-0.23.0-r1
deleted file mode 100644
index b7cfed6..0000000
--- a/metadata/md5-cache/dev-go/opencensus-0.23.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/gapi-bundler dev-go/genproto dev-go/golang-groupcache dev-go/protobuf dev-lang/go
-DESCRIPTION=A stats collection and distributed tracing framework
-EAPI=5
-HOMEPAGE=http://opencensus.io/
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND=dev-go/gapi-bundler dev-go/genproto dev-go/golang-groupcache dev-go/protobuf
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/census-instrumentation/opencensus-go/archive/v0.23.0.tar.gz -> github.com-census-instrumentation-opencensus-go-v0.23.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=4d531d0af797e2b004b42c62c878cade
diff --git a/metadata/md5-cache/dev-go/opencensus-0.23.0-r6 b/metadata/md5-cache/dev-go/opencensus-0.23.0-r6
new file mode 100644
index 0000000..aed7ec1
--- /dev/null
+++ b/metadata/md5-cache/dev-go/opencensus-0.23.0-r6
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/appengine dev-go/cmp dev-go/gapi dev-go/genproto dev-go/golang-groupcache dev-go/grpc dev-go/net dev-go/protobuf dev-go/protobuf-legacy-api dev-go/testify dev-lang/go
+DESCRIPTION=A stats collection and distributed tracing framework
+EAPI=5
+HOMEPAGE=http://opencensus.io/
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=dev-go/appengine dev-go/cmp dev-go/gapi dev-go/genproto dev-go/golang-groupcache dev-go/grpc dev-go/net dev-go/protobuf dev-go/protobuf-legacy-api dev-go/testify
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/census-instrumentation/opencensus-go/archive/v0.23.0.tar.gz -> github.com-census-instrumentation-opencensus-go-v0.23.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=d1c1f5770c9750301e71806a55285537
diff --git a/metadata/md5-cache/dev-go/perfetto-protos-17.0-r1186 b/metadata/md5-cache/dev-go/perfetto-protos-17.0-r1186
new file mode 100644
index 0000000..8586650
--- /dev/null
+++ b/metadata/md5-cache/dev-go/perfetto-protos-17.0-r1186
@@ -0,0 +1,14 @@
+BDEPEND=dev-go/protobuf dev-go/protobuf-legacy-api dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst prepare setup test unpack
+DEPEND=dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Perfetto go proto for Chrome OS
+EAPI=7
+HOMEPAGE=https://android.googlesource.com/platform/external/perfetto/+/refs/heads/master/protos/perfetto/metrics/android/
+IUSE=cros-debug cros_host cros_workon_tree_b64a8926dd779c2ee2ae89e9073436d8c49693e5_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_b64a8926dd779c2ee2ae89e9073436d8c49693e5_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=Apache-2.0
+PROPERTIES=live live
+RDEPEND=!chromeos-base/perfetto_proto >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8614df02faf2206004e8c1d30305272f
diff --git a/metadata/md5-cache/dev-go/perfetto-protos-17.0-r466 b/metadata/md5-cache/dev-go/perfetto-protos-17.0-r466
deleted file mode 100644
index 1bd3d5d..0000000
--- a/metadata/md5-cache/dev-go/perfetto-protos-17.0-r466
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-go/protobuf dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst prepare setup test unpack
-DEPEND=dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Perfetto go proto for Chrome OS
-EAPI=7
-HOMEPAGE=https://android.googlesource.com/platform/external/perfetto/+/refs/heads/master/protos/perfetto/metrics/android/
-IUSE=cros-debug cros_host cros_workon_tree_f3a7d714c5347d6f6759ad5df809eddccaf45a61_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_f3a7d714c5347d6f6759ad5df809eddccaf45a61_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=Apache-2.0
-PROPERTIES=live live
-RDEPEND=!chromeos-base/perfetto_proto >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=298a470e8e37c6049dcaa2ca58c42563
diff --git a/metadata/md5-cache/dev-go/perfetto-protos-9999 b/metadata/md5-cache/dev-go/perfetto-protos-9999
index 3fc748c..c1c0da9 100644
--- a/metadata/md5-cache/dev-go/perfetto-protos-9999
+++ b/metadata/md5-cache/dev-go/perfetto-protos-9999
@@ -1,14 +1,14 @@
-BDEPEND=dev-go/protobuf dev-vcs/git dev-vcs/git
+BDEPEND=dev-go/protobuf dev-go/protobuf-legacy-api dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst prepare setup test unpack
-DEPEND=dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=dev-lang/go >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Perfetto go proto for Chrome OS
 EAPI=7
 HOMEPAGE=https://android.googlesource.com/platform/external/perfetto/+/refs/heads/master/protos/perfetto/metrics/android/
-IUSE=cros-debug cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros-debug cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=Apache-2.0
 PROPERTIES=live live
 RDEPEND=!chromeos-base/perfetto_proto >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=65a4223a53cc9d884bcf6efe9263530f
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3388e163da6d0ac807010aacce717190
diff --git a/metadata/md5-cache/dev-go/pprof-0.0.1 b/metadata/md5-cache/dev-go/pprof-0.0.1
new file mode 100644
index 0000000..f32cd6d
--- /dev/null
+++ b/metadata/md5-cache/dev-go/pprof-0.0.1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/demangle dev-go/logex dev-go/readline dev-go/test dev-go/go-sys dev-lang/go
+DESCRIPTION=pprof is a tool for visualization and analysis of profiling data
+EAPI=7
+HOMEPAGE=https://github.com/google/pprof
+KEYWORDS=*
+LICENSE=Apache-2.0
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/google/pprof/archive/513e8ac6eea103037e9be150bd17ceccacbe7bf6.tar.gz -> github.com-google-pprof-513e8ac6eea103037e9be150bd17ceccacbe7bf6.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e0c29cb0612d9dd4d347a6c5a6580af1
diff --git a/metadata/md5-cache/dev-go/pprof-0.0.1-r1 b/metadata/md5-cache/dev-go/pprof-0.0.1-r1
new file mode 100644
index 0000000..f32cd6d
--- /dev/null
+++ b/metadata/md5-cache/dev-go/pprof-0.0.1-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/demangle dev-go/logex dev-go/readline dev-go/test dev-go/go-sys dev-lang/go
+DESCRIPTION=pprof is a tool for visualization and analysis of profiling data
+EAPI=7
+HOMEPAGE=https://github.com/google/pprof
+KEYWORDS=*
+LICENSE=Apache-2.0
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/google/pprof/archive/513e8ac6eea103037e9be150bd17ceccacbe7bf6.tar.gz -> github.com-google-pprof-513e8ac6eea103037e9be150bd17ceccacbe7bf6.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e0c29cb0612d9dd4d347a6c5a6580af1
diff --git a/metadata/md5-cache/dev-go/pretty-0.2.1 b/metadata/md5-cache/dev-go/pretty-0.2.1
index 9e95cf5..d773c27 100644
--- a/metadata/md5-cache/dev-go/pretty-0.2.1
+++ b/metadata/md5-cache/dev-go/pretty-0.2.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/kr/pretty/archive/v0.2.1.tar.gz -> github.com-kr-pretty-v0.2.1.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=21eab37e64461cb6841e67353e7fefdf
diff --git a/metadata/md5-cache/dev-go/protobuf-1.27.1 b/metadata/md5-cache/dev-go/protobuf-1.27.1
index f9bd652..e1d01f5a5 100644
--- a/metadata/md5-cache/dev-go/protobuf-1.27.1
+++ b/metadata/md5-cache/dev-go/protobuf-1.27.1
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
 DEPEND=dev-go/cmp test? ( dev-go/sync ) dev-lang/go
 DESCRIPTION=Go support for Google's protocol buffers
-EAPI=5
+EAPI=7
 HOMEPAGE=https://github.com/protocolbuffers/protobuf-go
 IUSE=test
 KEYWORDS=*
 LICENSE=BSD-Google
 RESTRICT=binchecks strip
 SLOT=0
-SRC_URI=https://github.com/golang/protobuf/archive/v1.5.2.tar.gz -> github.com-golang-protobuf-v1.5.2.tar.gz https://github.com/protocolbuffers/protobuf-go/archive/v1.27.1.tar.gz -> github.com-protocolbuffers-protobuf-go-v1.27.1.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=22b5bd5f7120d4735ed5539f28c4dc87
+SRC_URI=https://github.com/protocolbuffers/protobuf-go/archive/v1.27.1.tar.gz -> github.com-protocolbuffers-protobuf-go-v1.27.1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=283838c3dd5988a9ffb112e667715162
diff --git a/metadata/md5-cache/dev-go/protobuf-1.27.1-r1 b/metadata/md5-cache/dev-go/protobuf-1.27.1-r1
deleted file mode 100644
index f9bd652..0000000
--- a/metadata/md5-cache/dev-go/protobuf-1.27.1-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/cmp test? ( dev-go/sync ) dev-lang/go
-DESCRIPTION=Go support for Google's protocol buffers
-EAPI=5
-HOMEPAGE=https://github.com/protocolbuffers/protobuf-go
-IUSE=test
-KEYWORDS=*
-LICENSE=BSD-Google
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/golang/protobuf/archive/v1.5.2.tar.gz -> github.com-golang-protobuf-v1.5.2.tar.gz https://github.com/protocolbuffers/protobuf-go/archive/v1.27.1.tar.gz -> github.com-protocolbuffers-protobuf-go-v1.27.1.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=22b5bd5f7120d4735ed5539f28c4dc87
diff --git a/metadata/md5-cache/dev-go/protobuf-1.27.1-r2 b/metadata/md5-cache/dev-go/protobuf-1.27.1-r2
new file mode 100644
index 0000000..e1d01f5a5
--- /dev/null
+++ b/metadata/md5-cache/dev-go/protobuf-1.27.1-r2
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/cmp test? ( dev-go/sync ) dev-lang/go
+DESCRIPTION=Go support for Google's protocol buffers
+EAPI=7
+HOMEPAGE=https://github.com/protocolbuffers/protobuf-go
+IUSE=test
+KEYWORDS=*
+LICENSE=BSD-Google
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/protocolbuffers/protobuf-go/archive/v1.27.1.tar.gz -> github.com-protocolbuffers-protobuf-go-v1.27.1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=283838c3dd5988a9ffb112e667715162
diff --git a/metadata/md5-cache/dev-go/protobuf-legacy-api-1.5.2 b/metadata/md5-cache/dev-go/protobuf-legacy-api-1.5.2
new file mode 100644
index 0000000..20ce61e
--- /dev/null
+++ b/metadata/md5-cache/dev-go/protobuf-legacy-api-1.5.2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/cmp dev-go/protobuf test? ( dev-go/sync ) dev-lang/go
+DESCRIPTION=Legacy Go API support for Google's protocol buffers
+EAPI=7
+HOMEPAGE=https://github.com/golang/protobuf
+IUSE=test
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/protobuf
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/golang/protobuf/archive/v1.5.2.tar.gz -> github.com-golang-protobuf-v1.5.2.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dccfb7684a9ed0626fcd93e2ca81bc98
diff --git a/metadata/md5-cache/dev-go/protobuf-legacy-api-1.5.2-r4 b/metadata/md5-cache/dev-go/protobuf-legacy-api-1.5.2-r4
new file mode 100644
index 0000000..20ce61e
--- /dev/null
+++ b/metadata/md5-cache/dev-go/protobuf-legacy-api-1.5.2-r4
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/cmp dev-go/protobuf test? ( dev-go/sync ) dev-lang/go
+DESCRIPTION=Legacy Go API support for Google's protocol buffers
+EAPI=7
+HOMEPAGE=https://github.com/golang/protobuf
+IUSE=test
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=dev-go/protobuf
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/golang/protobuf/archive/v1.5.2.tar.gz -> github.com-golang-protobuf-v1.5.2.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dccfb7684a9ed0626fcd93e2ca81bc98
diff --git a/metadata/md5-cache/dev-go/protoc-gen-go-grpc-1.42.0 b/metadata/md5-cache/dev-go/protoc-gen-go-grpc-1.42.0
new file mode 100644
index 0000000..08681a4
--- /dev/null
+++ b/metadata/md5-cache/dev-go/protoc-gen-go-grpc-1.42.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/protobuf dev-lang/go
+DESCRIPTION=This tool generates Go language bindings of services in protobuf definition files for gRPC.
+EAPI=5
+HOMEPAGE=https://grpc.io/
+KEYWORDS=*
+LICENSE=BSD-Google
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/grpc/grpc-go/archive/v1.42.0.tar.gz -> github.com-grpc-grpc-go-v1.42.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=7b709cffb8f089db93239d66aed5c559
diff --git a/metadata/md5-cache/dev-go/protoc-gen-go-grpc-1.42.0-r1 b/metadata/md5-cache/dev-go/protoc-gen-go-grpc-1.42.0-r1
new file mode 100644
index 0000000..08681a4
--- /dev/null
+++ b/metadata/md5-cache/dev-go/protoc-gen-go-grpc-1.42.0-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/protobuf dev-lang/go
+DESCRIPTION=This tool generates Go language bindings of services in protobuf definition files for gRPC.
+EAPI=5
+HOMEPAGE=https://grpc.io/
+KEYWORDS=*
+LICENSE=BSD-Google
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/grpc/grpc-go/archive/v1.42.0.tar.gz -> github.com-grpc-grpc-go-v1.42.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=7b709cffb8f089db93239d66aed5c559
diff --git a/metadata/md5-cache/dev-go/pty-1.1.9 b/metadata/md5-cache/dev-go/pty-1.1.9
index 9cc36f9..2232704 100644
--- a/metadata/md5-cache/dev-go/pty-1.1.9
+++ b/metadata/md5-cache/dev-go/pty-1.1.9
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/creack/pty/archive/v1.1.9.tar.gz -> github.com-creack-pty-v1.1.9.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=6436227d067aa059dff27f06841904d4
diff --git a/metadata/md5-cache/dev-go/readline-0.0.1 b/metadata/md5-cache/dev-go/readline-0.0.1
deleted file mode 100644
index a48ea76..0000000
--- a/metadata/md5-cache/dev-go/readline-0.0.1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
-DESCRIPTION=Readline is a pure go implementation for GNU-Readline kind library
-EAPI=5
-HOMEPAGE=https://https://github.com/chzyer/readline
-KEYWORDS=*
-LICENSE=MIT
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/chzyer/readline/archive/v1.4.tar.gz -> github.com-chzyer-readline-v1.4.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=a96168721b2505462af8f6ed767ab5e5
diff --git a/metadata/md5-cache/dev-go/readline-1.4 b/metadata/md5-cache/dev-go/readline-1.4
new file mode 100644
index 0000000..9707166
--- /dev/null
+++ b/metadata/md5-cache/dev-go/readline-1.4
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Readline is a pure go implementation for GNU-Readline kind library
+EAPI=5
+HOMEPAGE=https://https://github.com/chzyer/readline
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/chzyer/readline/archive/v1.4.tar.gz -> github.com-chzyer-readline-v1.4.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=d1a8cadbb68cdd3aae7ada97cda8a7ee
diff --git a/metadata/md5-cache/dev-go/readline-1.4-r1 b/metadata/md5-cache/dev-go/readline-1.4-r1
new file mode 100644
index 0000000..9707166
--- /dev/null
+++ b/metadata/md5-cache/dev-go/readline-1.4-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Readline is a pure go implementation for GNU-Readline kind library
+EAPI=5
+HOMEPAGE=https://https://github.com/chzyer/readline
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/chzyer/readline/archive/v1.4.tar.gz -> github.com-chzyer-readline-v1.4.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=d1a8cadbb68cdd3aae7ada97cda8a7ee
diff --git a/metadata/md5-cache/dev-go/rsc-io-pdf-0.0.1 b/metadata/md5-cache/dev-go/rsc-io-pdf-0.0.1
index 00d5372..965c04b 100644
--- a/metadata/md5-cache/dev-go/rsc-io-pdf-0.0.1
+++ b/metadata/md5-cache/dev-go/rsc-io-pdf-0.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/rsc/pdf/archive/v0.1.1.tar.gz -> github.com-rsc-pdf-v0.1.1.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=87f922ebbd17fcd41276bf55795d1344
diff --git a/metadata/md5-cache/dev-go/selinux-0.0.1 b/metadata/md5-cache/dev-go/selinux-0.0.1
index 9532908..f36c1dc 100644
--- a/metadata/md5-cache/dev-go/selinux-0.0.1
+++ b/metadata/md5-cache/dev-go/selinux-0.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/opencontainers/selinux/archive/f5322ec9f783adb26f125d2086908dc546508b6d.tar.gz -> github.com-opencontainers-selinux-f5322ec9f783adb26f125d2086908dc546508b6d.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=6ba92456874e75f9e9c85969e4a87a34
diff --git a/metadata/md5-cache/dev-go/selinux-0.0.1-r2 b/metadata/md5-cache/dev-go/selinux-0.0.1-r2
index 9532908..f36c1dc 100644
--- a/metadata/md5-cache/dev-go/selinux-0.0.1-r2
+++ b/metadata/md5-cache/dev-go/selinux-0.0.1-r2
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/opencontainers/selinux/archive/f5322ec9f783adb26f125d2086908dc546508b6d.tar.gz -> github.com-opencontainers-selinux-f5322ec9f783adb26f125d2086908dc546508b6d.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=6ba92456874e75f9e9c85969e4a87a34
diff --git a/metadata/md5-cache/dev-go/sftp-1.13.4 b/metadata/md5-cache/dev-go/sftp-1.13.4
new file mode 100644
index 0000000..17edc1b
--- /dev/null
+++ b/metadata/md5-cache/dev-go/sftp-1.13.4
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/crypto dev-go/go-sys dev-go/kr-fs dev-go/testify dev-lang/go
+DESCRIPTION=The sftp package provides support for file system operations on remote ssh servers using the SFTP subsystem.
+EAPI=7
+HOMEPAGE=https://github.com/pkg/sftp
+KEYWORDS=*
+LICENSE=BSD-2
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/pkg/sftp/archive/v1.13.4.tar.gz -> github.com-pkg-sftp-v1.13.4.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=78347e306d9eec563162eae0eb688412
diff --git a/metadata/md5-cache/dev-go/sftp-1.13.4-r1 b/metadata/md5-cache/dev-go/sftp-1.13.4-r1
new file mode 100644
index 0000000..17edc1b
--- /dev/null
+++ b/metadata/md5-cache/dev-go/sftp-1.13.4-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/crypto dev-go/go-sys dev-go/kr-fs dev-go/testify dev-lang/go
+DESCRIPTION=The sftp package provides support for file system operations on remote ssh servers using the SFTP subsystem.
+EAPI=7
+HOMEPAGE=https://github.com/pkg/sftp
+KEYWORDS=*
+LICENSE=BSD-2
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/pkg/sftp/archive/v1.13.4.tar.gz -> github.com-pkg-sftp-v1.13.4.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=78347e306d9eec563162eae0eb688412
diff --git a/metadata/md5-cache/dev-go/snappy-0.0.3 b/metadata/md5-cache/dev-go/snappy-0.0.3
new file mode 100644
index 0000000..0f0b4c7
--- /dev/null
+++ b/metadata/md5-cache/dev-go/snappy-0.0.3
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=The Snappy compression format in the Go programming language.
+EAPI=7
+HOMEPAGE=https://github.com/golang/snappy
+KEYWORDS=*
+LICENSE=BSD
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/golang/snappy/archive/v0.0.3.tar.gz -> github.com-golang-snappy-v0.0.3.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8e5ceec22441b6fc33c60ac20f2f8057
diff --git a/metadata/md5-cache/dev-go/snappy-0.0.3-r1 b/metadata/md5-cache/dev-go/snappy-0.0.3-r1
new file mode 100644
index 0000000..0f0b4c7
--- /dev/null
+++ b/metadata/md5-cache/dev-go/snappy-0.0.3-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=The Snappy compression format in the Go programming language.
+EAPI=7
+HOMEPAGE=https://github.com/golang/snappy
+KEYWORDS=*
+LICENSE=BSD
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/golang/snappy/archive/v0.0.3.tar.gz -> github.com-golang-snappy-v0.0.3.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8e5ceec22441b6fc33c60ac20f2f8057
diff --git a/metadata/md5-cache/dev-go/starlark-go-0.0.1 b/metadata/md5-cache/dev-go/starlark-go-0.0.1
index c0126e4..a998bf0 100644
--- a/metadata/md5-cache/dev-go/starlark-go-0.0.1
+++ b/metadata/md5-cache/dev-go/starlark-go-0.0.1
@@ -1,5 +1,5 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/cmp dev-go/go-sys dev-go/protobuf dev-go/xerrors dev-lang/go
+DEPEND=dev-go/cmp dev-go/go-sys dev-go/logex dev-go/protobuf dev-go/protobuf-legacy-api dev-go/readline dev-go/test dev-go/xerrors dev-lang/go
 DESCRIPTION=Go impl of the starlark config language
 EAPI=7
 HOMEPAGE=https://github.com/google/starlark-go
@@ -7,6 +7,6 @@
 LICENSE=BSD-Google
 RESTRICT=binchecks strip
 SLOT=0
-SRC_URI=https://github.com/google/starlark-go/archive/87f333178d5942de51b193111d6f636c79833ea5.tar.gz -> github.com-google-starlark-go-87f333178d5942de51b193111d6f636c79833ea5.tar.gz https://github.com/chzyer/logex/archive/v1.1.10.tar.gz -> github.com-chzyer-logex-v1.1.10.tar.gz https://github.com/chzyer/readline/archive/2972be24d48e78746da79ba8e24e8b488c9880de.tar.gz -> github.com-chzyer-readline-2972be24d48e78746da79ba8e24e8b488c9880de.tar.gz https://github.com/chzyer/test/archive/a1ea475d72b168a29f44221e0ad031a842642302.tar.gz -> github.com-chzyer-test-a1ea475d72b168a29f44221e0ad031a842642302.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0e4b0b27792d88bf756cd388b284afbf
+SRC_URI=https://github.com/google/starlark-go/archive/87f333178d5942de51b193111d6f636c79833ea5.tar.gz -> github.com-google-starlark-go-87f333178d5942de51b193111d6f636c79833ea5.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=42928e20e6649d23200940e39f97b527
diff --git a/metadata/md5-cache/dev-go/starlark-go-0.0.1-r2 b/metadata/md5-cache/dev-go/starlark-go-0.0.1-r2
deleted file mode 100644
index c0126e4..0000000
--- a/metadata/md5-cache/dev-go/starlark-go-0.0.1-r2
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/cmp dev-go/go-sys dev-go/protobuf dev-go/xerrors dev-lang/go
-DESCRIPTION=Go impl of the starlark config language
-EAPI=7
-HOMEPAGE=https://github.com/google/starlark-go
-KEYWORDS=*
-LICENSE=BSD-Google
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/starlark-go/archive/87f333178d5942de51b193111d6f636c79833ea5.tar.gz -> github.com-google-starlark-go-87f333178d5942de51b193111d6f636c79833ea5.tar.gz https://github.com/chzyer/logex/archive/v1.1.10.tar.gz -> github.com-chzyer-logex-v1.1.10.tar.gz https://github.com/chzyer/readline/archive/2972be24d48e78746da79ba8e24e8b488c9880de.tar.gz -> github.com-chzyer-readline-2972be24d48e78746da79ba8e24e8b488c9880de.tar.gz https://github.com/chzyer/test/archive/a1ea475d72b168a29f44221e0ad031a842642302.tar.gz -> github.com-chzyer-test-a1ea475d72b168a29f44221e0ad031a842642302.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0e4b0b27792d88bf756cd388b284afbf
diff --git a/metadata/md5-cache/dev-go/starlark-go-0.0.1-r4 b/metadata/md5-cache/dev-go/starlark-go-0.0.1-r4
new file mode 100644
index 0000000..a998bf0
--- /dev/null
+++ b/metadata/md5-cache/dev-go/starlark-go-0.0.1-r4
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/cmp dev-go/go-sys dev-go/logex dev-go/protobuf dev-go/protobuf-legacy-api dev-go/readline dev-go/test dev-go/xerrors dev-lang/go
+DESCRIPTION=Go impl of the starlark config language
+EAPI=7
+HOMEPAGE=https://github.com/google/starlark-go
+KEYWORDS=*
+LICENSE=BSD-Google
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/google/starlark-go/archive/87f333178d5942de51b193111d6f636c79833ea5.tar.gz -> github.com-google-starlark-go-87f333178d5942de51b193111d6f636c79833ea5.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=42928e20e6649d23200940e39f97b527
diff --git a/metadata/md5-cache/dev-go/staticcheck-0.2.2 b/metadata/md5-cache/dev-go/staticcheck-0.2.2
new file mode 100644
index 0000000..fee4923
--- /dev/null
+++ b/metadata/md5-cache/dev-go/staticcheck-0.2.2
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/go-tools dev-go/mod dev-go/toml dev-go/xerrors dev-lang/go
+DESCRIPTION=Staticcheck is a state of the art linter for the Go programming language.
+EAPI=7
+HOMEPAGE=https://github.com/dominikh/go-tools
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=dev-go/go-tools dev-go/mod dev-go/toml dev-go/xerrors
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/dominikh/go-tools/archive/v0.2.2.tar.gz -> github.com-dominikh-go-tools-v0.2.2.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=024eaedbebff836cd0ec43ed1602d00b
diff --git a/metadata/md5-cache/dev-go/staticcheck-0.2.2-r1 b/metadata/md5-cache/dev-go/staticcheck-0.2.2-r1
new file mode 100644
index 0000000..fee4923
--- /dev/null
+++ b/metadata/md5-cache/dev-go/staticcheck-0.2.2-r1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/go-tools dev-go/mod dev-go/toml dev-go/xerrors dev-lang/go
+DESCRIPTION=Staticcheck is a state of the art linter for the Go programming language.
+EAPI=7
+HOMEPAGE=https://github.com/dominikh/go-tools
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=dev-go/go-tools dev-go/mod dev-go/toml dev-go/xerrors
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/dominikh/go-tools/archive/v0.2.2.tar.gz -> github.com-dominikh-go-tools-v0.2.2.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=024eaedbebff836cd0ec43ed1602d00b
diff --git a/metadata/md5-cache/dev-go/strcase-0.2.0 b/metadata/md5-cache/dev-go/strcase-0.2.0
new file mode 100644
index 0000000..c488497
--- /dev/null
+++ b/metadata/md5-cache/dev-go/strcase-0.2.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=strcase is a go package for converting string case to various cases
+EAPI=7
+HOMEPAGE=https://github.com/iancoleman/strcase
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/iancoleman/strcase/archive/v0.2.0.tar.gz -> github.com-iancoleman-strcase-v0.2.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=eeb8e6043fded8a701b1e00360f354e0
diff --git a/metadata/md5-cache/dev-go/strcase-0.2.0-r1 b/metadata/md5-cache/dev-go/strcase-0.2.0-r1
new file mode 100644
index 0000000..c488497
--- /dev/null
+++ b/metadata/md5-cache/dev-go/strcase-0.2.0-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=strcase is a go package for converting string case to various cases
+EAPI=7
+HOMEPAGE=https://github.com/iancoleman/strcase
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/iancoleman/strcase/archive/v0.2.0.tar.gz -> github.com-iancoleman-strcase-v0.2.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=eeb8e6043fded8a701b1e00360f354e0
diff --git a/metadata/md5-cache/dev-go/subcommands-0.0.1 b/metadata/md5-cache/dev-go/subcommands-0.0.1
deleted file mode 100644
index 07b66e4..0000000
--- a/metadata/md5-cache/dev-go/subcommands-0.0.1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
-DESCRIPTION=Go subcommand library
-EAPI=5
-HOMEPAGE=https://github.com/google/subcommands
-KEYWORDS=*
-LICENSE=Apache-2.0
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/subcommands/archive/ce3d4cfc062faac7115d44e5befec8b5a08c3faa.tar.gz -> github.com-google-subcommands-ce3d4cfc062faac7115d44e5befec8b5a08c3faa.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=cff3013fe4d3390b1faab1efcc434092
diff --git a/metadata/md5-cache/dev-go/subcommands-0.0.1-r1 b/metadata/md5-cache/dev-go/subcommands-0.0.1-r1
deleted file mode 100644
index 07b66e4..0000000
--- a/metadata/md5-cache/dev-go/subcommands-0.0.1-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
-DESCRIPTION=Go subcommand library
-EAPI=5
-HOMEPAGE=https://github.com/google/subcommands
-KEYWORDS=*
-LICENSE=Apache-2.0
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/google/subcommands/archive/ce3d4cfc062faac7115d44e5befec8b5a08c3faa.tar.gz -> github.com-google-subcommands-ce3d4cfc062faac7115d44e5befec8b5a08c3faa.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=cff3013fe4d3390b1faab1efcc434092
diff --git a/metadata/md5-cache/dev-go/subcommands-1.2.0 b/metadata/md5-cache/dev-go/subcommands-1.2.0
new file mode 100644
index 0000000..30e7fb4
--- /dev/null
+++ b/metadata/md5-cache/dev-go/subcommands-1.2.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Go subcommand library
+EAPI=7
+HOMEPAGE=https://github.com/google/subcommands
+KEYWORDS=*
+LICENSE=Apache-2.0
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/google/subcommands/archive/v1.2.0.tar.gz -> github.com-google-subcommands-v1.2.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ee1d5b37335201320a2a369ab2457e7d
diff --git a/metadata/md5-cache/dev-go/subcommands-1.2.0-r1 b/metadata/md5-cache/dev-go/subcommands-1.2.0-r1
new file mode 100644
index 0000000..30e7fb4
--- /dev/null
+++ b/metadata/md5-cache/dev-go/subcommands-1.2.0-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Go subcommand library
+EAPI=7
+HOMEPAGE=https://github.com/google/subcommands
+KEYWORDS=*
+LICENSE=Apache-2.0
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/google/subcommands/archive/v1.2.0.tar.gz -> github.com-google-subcommands-v1.2.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ee1d5b37335201320a2a369ab2457e7d
diff --git a/metadata/md5-cache/dev-go/svgo-0.0.1 b/metadata/md5-cache/dev-go/svgo-0.0.1
index dea3aa1..8af61dd 100644
--- a/metadata/md5-cache/dev-go/svgo-0.0.1
+++ b/metadata/md5-cache/dev-go/svgo-0.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/ajstarks/svgo/archive/go.weekly.2012-01-27.tar.gz -> github.com-ajstarks-svgo-go.weekly.2012-01-27.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=91ce826b694599a403f0d16fe52fb92d
diff --git a/metadata/md5-cache/dev-go/sync-0.0.1 b/metadata/md5-cache/dev-go/sync-0.0.1
index 2852153..0599628 100644
--- a/metadata/md5-cache/dev-go/sync-0.0.1
+++ b/metadata/md5-cache/dev-go/sync-0.0.1
@@ -9,5 +9,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://go.googlesource.com/sync/+archive/036812b2e83c0ddf193dd5a34e034151da389d09.tar.gz -> go.googlesource.com-sync-036812b2e83c0ddf193dd5a34e034151da389d09.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f8e0c96d5c7bc45698d32df9b70d0968
diff --git a/metadata/md5-cache/dev-go/sync-0.0.1-r4 b/metadata/md5-cache/dev-go/sync-0.0.1-r4
index 2852153..0599628 100644
--- a/metadata/md5-cache/dev-go/sync-0.0.1-r4
+++ b/metadata/md5-cache/dev-go/sync-0.0.1-r4
@@ -9,5 +9,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://go.googlesource.com/sync/+archive/036812b2e83c0ddf193dd5a34e034151da389d09.tar.gz -> go.googlesource.com-sync-036812b2e83c0ddf193dd5a34e034151da389d09.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f8e0c96d5c7bc45698d32df9b70d0968
diff --git a/metadata/md5-cache/dev-go/syzkaller-0.0.12 b/metadata/md5-cache/dev-go/syzkaller-0.0.12
deleted file mode 100644
index c66f310..0000000
--- a/metadata/md5-cache/dev-go/syzkaller-0.0.12
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst prepare test unpack
-DEPEND=dev-lang/go
-DESCRIPTION=Syzkaller kernel fuzzer
-EAPI=7
-HOMEPAGE=https://github.com/google/syzkaller
-KEYWORDS=*
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/google/syzkaller/archive/8ee2dea687224e1e5759783abf5046d298bbe167.tar.gz -> github.com-google-syzkaller-8ee2dea687224e1e5759783abf5046d298bbe167.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0c02deb1804694b518158c823e677d50
diff --git a/metadata/md5-cache/dev-go/syzkaller-0.0.12-r3 b/metadata/md5-cache/dev-go/syzkaller-0.0.12-r3
deleted file mode 100644
index c66f310..0000000
--- a/metadata/md5-cache/dev-go/syzkaller-0.0.12-r3
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst prepare test unpack
-DEPEND=dev-lang/go
-DESCRIPTION=Syzkaller kernel fuzzer
-EAPI=7
-HOMEPAGE=https://github.com/google/syzkaller
-KEYWORDS=*
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/google/syzkaller/archive/8ee2dea687224e1e5759783abf5046d298bbe167.tar.gz -> github.com-google-syzkaller-8ee2dea687224e1e5759783abf5046d298bbe167.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0c02deb1804694b518158c823e677d50
diff --git a/metadata/md5-cache/dev-go/syzkaller-0.0.13 b/metadata/md5-cache/dev-go/syzkaller-0.0.13
new file mode 100644
index 0000000..e9344b6
--- /dev/null
+++ b/metadata/md5-cache/dev-go/syzkaller-0.0.13
@@ -0,0 +1,11 @@
+DEFINED_PHASES=compile install nofetch postinst prepare test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Syzkaller kernel fuzzer
+EAPI=7
+HOMEPAGE=https://github.com/google/syzkaller
+KEYWORDS=*
+LICENSE=Apache-2.0
+SLOT=0
+SRC_URI=https://github.com/google/syzkaller/archive/2df221f6ab480a3f2d315d283f26cfae890da3a1.tar.gz -> github.com-google-syzkaller-2df221f6ab480a3f2d315d283f26cfae890da3a1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f5569407a5c0185d85acb0902f453f6e
diff --git a/metadata/md5-cache/dev-go/syzkaller-0.0.13-r3 b/metadata/md5-cache/dev-go/syzkaller-0.0.13-r3
new file mode 100644
index 0000000..e9344b6
--- /dev/null
+++ b/metadata/md5-cache/dev-go/syzkaller-0.0.13-r3
@@ -0,0 +1,11 @@
+DEFINED_PHASES=compile install nofetch postinst prepare test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Syzkaller kernel fuzzer
+EAPI=7
+HOMEPAGE=https://github.com/google/syzkaller
+KEYWORDS=*
+LICENSE=Apache-2.0
+SLOT=0
+SRC_URI=https://github.com/google/syzkaller/archive/2df221f6ab480a3f2d315d283f26cfae890da3a1.tar.gz -> github.com-google-syzkaller-2df221f6ab480a3f2d315d283f26cfae890da3a1.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f5569407a5c0185d85acb0902f453f6e
diff --git a/metadata/md5-cache/dev-go/tarm-serial-0.0.1 b/metadata/md5-cache/dev-go/tarm-serial-0.0.1
index a953bee..d989fd9 100644
--- a/metadata/md5-cache/dev-go/tarm-serial-0.0.1
+++ b/metadata/md5-cache/dev-go/tarm-serial-0.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/tarm/serial/archive/98f6abe2eb07edd42f6dfa2a934aea469acc29b7.tar.gz -> github.com-tarm-serial-98f6abe2eb07edd42f6dfa2a934aea469acc29b7.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=9c3da24d1379643379580a775ddd06f3
diff --git a/metadata/md5-cache/dev-go/tarm-serial-0.0.1-r1 b/metadata/md5-cache/dev-go/tarm-serial-0.0.1-r1
index a953bee..d989fd9 100644
--- a/metadata/md5-cache/dev-go/tarm-serial-0.0.1-r1
+++ b/metadata/md5-cache/dev-go/tarm-serial-0.0.1-r1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/tarm/serial/archive/98f6abe2eb07edd42f6dfa2a934aea469acc29b7.tar.gz -> github.com-tarm-serial-98f6abe2eb07edd42f6dfa2a934aea469acc29b7.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=9c3da24d1379643379580a775ddd06f3
diff --git a/metadata/md5-cache/dev-go/term-0.0.1 b/metadata/md5-cache/dev-go/term-0.0.1
index cafc0f1..7fac09d 100644
--- a/metadata/md5-cache/dev-go/term-0.0.1
+++ b/metadata/md5-cache/dev-go/term-0.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://go.googlesource.com/term/+archive/03fcf44c2211dcd5eb77510b5f7c1fb02d6ded50.tar.gz -> go.googlesource.com-term-03fcf44c2211dcd5eb77510b5f7c1fb02d6ded50.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=0078529c0269c6401b9c8310fe82c41a
diff --git a/metadata/md5-cache/dev-go/term-0.0.1-r1 b/metadata/md5-cache/dev-go/term-0.0.1-r1
index cafc0f1..7fac09d 100644
--- a/metadata/md5-cache/dev-go/term-0.0.1-r1
+++ b/metadata/md5-cache/dev-go/term-0.0.1-r1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://go.googlesource.com/term/+archive/03fcf44c2211dcd5eb77510b5f7c1fb02d6ded50.tar.gz -> go.googlesource.com-term-03fcf44c2211dcd5eb77510b5f7c1fb02d6ded50.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=0078529c0269c6401b9c8310fe82c41a
diff --git a/metadata/md5-cache/dev-go/test-0.0.1 b/metadata/md5-cache/dev-go/test-0.0.1
new file mode 100644
index 0000000..18d315e
--- /dev/null
+++ b/metadata/md5-cache/dev-go/test-0.0.1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/logex dev-lang/go
+DESCRIPTION=Small disk testing package
+EAPI=7
+HOMEPAGE=https://github.com/chzyer/test
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/chzyer/test/archive/a1ea475d72b168a29f44221e0ad031a842642302.tar.gz -> github.com-chzyer-test-a1ea475d72b168a29f44221e0ad031a842642302.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=bc39e9115fe3c15c3992851b2f9f231a
diff --git a/metadata/md5-cache/dev-go/test-0.0.1-r1 b/metadata/md5-cache/dev-go/test-0.0.1-r1
new file mode 100644
index 0000000..18d315e
--- /dev/null
+++ b/metadata/md5-cache/dev-go/test-0.0.1-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/logex dev-lang/go
+DESCRIPTION=Small disk testing package
+EAPI=7
+HOMEPAGE=https://github.com/chzyer/test
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/chzyer/test/archive/a1ea475d72b168a29f44221e0ad031a842642302.tar.gz -> github.com-chzyer-test-a1ea475d72b168a29f44221e0ad031a842642302.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=bc39e9115fe3c15c3992851b2f9f231a
diff --git a/metadata/md5-cache/dev-go/testify-1.7.0 b/metadata/md5-cache/dev-go/testify-1.7.0
new file mode 100644
index 0000000..d452218
--- /dev/null
+++ b/metadata/md5-cache/dev-go/testify-1.7.0
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/go-spew dev-go/go-difflib dev-go/objx dev-go/yaml:3 dev-lang/go
+DESCRIPTION=Go code (golang) set of packages that provide many tools for testifying that your code will behave as you intend.
+EAPI=7
+HOMEPAGE=https://github.com/stretchr/testify
+IUSE=test
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/stretchr/testify/archive/v1.7.0.tar.gz -> github.com-stretchr-testify-v1.7.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d4e138ef90b570eab085a85aafda784a
diff --git a/metadata/md5-cache/dev-go/text-0.3.7 b/metadata/md5-cache/dev-go/text-0.3.7
index 028d953..966ebbe 100644
--- a/metadata/md5-cache/dev-go/text-0.3.7
+++ b/metadata/md5-cache/dev-go/text-0.3.7
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://go.googlesource.com/text/+archive/v0.3.7.tar.gz -> go.googlesource.com-text-v0.3.7.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e48bbd853a2997d1c63b8ebcb9fd633d
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=be60cae9376014855d07d72f5a1e7fce
diff --git a/metadata/md5-cache/dev-go/text-0.3.7-r1 b/metadata/md5-cache/dev-go/text-0.3.7-r1
deleted file mode 100644
index 028d953..0000000
--- a/metadata/md5-cache/dev-go/text-0.3.7-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-lang/go
-DESCRIPTION=Go text processing support
-EAPI=7
-HOMEPAGE=https://golang.org/x/text
-KEYWORDS=*
-LICENSE=BSD-Google
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://go.googlesource.com/text/+archive/v0.3.7.tar.gz -> go.googlesource.com-text-v0.3.7.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e48bbd853a2997d1c63b8ebcb9fd633d
diff --git a/metadata/md5-cache/dev-go/text-0.3.7-r3 b/metadata/md5-cache/dev-go/text-0.3.7-r3
new file mode 100644
index 0000000..966ebbe
--- /dev/null
+++ b/metadata/md5-cache/dev-go/text-0.3.7-r3
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=Go text processing support
+EAPI=7
+HOMEPAGE=https://golang.org/x/text
+KEYWORDS=*
+LICENSE=BSD-Google
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://go.googlesource.com/text/+archive/v0.3.7.tar.gz -> go.googlesource.com-text-v0.3.7.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=be60cae9376014855d07d72f5a1e7fce
diff --git a/metadata/md5-cache/dev-go/toml-1.0.0 b/metadata/md5-cache/dev-go/toml-1.0.0
new file mode 100644
index 0000000..9ffd8f9
--- /dev/null
+++ b/metadata/md5-cache/dev-go/toml-1.0.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=TOML parser for Golang with reflection.
+EAPI=7
+HOMEPAGE=https://github.com/BurntSushi/toml
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/BurntSushi/toml/archive/v1.0.0.tar.gz -> github.com-BurntSushi-toml-v1.0.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=63343b412d71f2a6ee284c06c0b3fe06
diff --git a/metadata/md5-cache/dev-go/toml-1.0.0-r1 b/metadata/md5-cache/dev-go/toml-1.0.0-r1
new file mode 100644
index 0000000..9ffd8f9
--- /dev/null
+++ b/metadata/md5-cache/dev-go/toml-1.0.0-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=TOML parser for Golang with reflection.
+EAPI=7
+HOMEPAGE=https://github.com/BurntSushi/toml
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/BurntSushi/toml/archive/v1.0.0.tar.gz -> github.com-BurntSushi-toml-v1.0.0.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=63343b412d71f2a6ee284c06c0b3fe06
diff --git a/metadata/md5-cache/dev-go/txtpbfmt-0.0.1 b/metadata/md5-cache/dev-go/txtpbfmt-0.0.1
index 2458cc2..06ad4fe 100644
--- a/metadata/md5-cache/dev-go/txtpbfmt-0.0.1
+++ b/metadata/md5-cache/dev-go/txtpbfmt-0.0.1
@@ -8,5 +8,5 @@
 RDEPEND=dev-go/glog dev-go/wordwrap
 SLOT=0
 SRC_URI=https://github.com/protocolbuffers/txtpbfmt/archive/6b0cb7827ab2684011788e72d1d05226b8588f89.tar.gz -> github.com-protocolbuffers-txtpbfmt-6b0cb7827ab2684011788e72d1d05226b8588f89.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=0baeaf5fbcfc6b6fb8b84ffc27e148c5
diff --git a/metadata/md5-cache/dev-go/txtpbfmt-0.0.1-r2 b/metadata/md5-cache/dev-go/txtpbfmt-0.0.1-r2
index 2458cc2..06ad4fe 100644
--- a/metadata/md5-cache/dev-go/txtpbfmt-0.0.1-r2
+++ b/metadata/md5-cache/dev-go/txtpbfmt-0.0.1-r2
@@ -8,5 +8,5 @@
 RDEPEND=dev-go/glog dev-go/wordwrap
 SLOT=0
 SRC_URI=https://github.com/protocolbuffers/txtpbfmt/archive/6b0cb7827ab2684011788e72d1d05226b8588f89.tar.gz -> github.com-protocolbuffers-txtpbfmt-6b0cb7827ab2684011788e72d1d05226b8588f89.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=0baeaf5fbcfc6b6fb8b84ffc27e148c5
diff --git a/metadata/md5-cache/dev-go/utiltest-1.0.2 b/metadata/md5-cache/dev-go/utiltest-1.0.2
new file mode 100644
index 0000000..fc59233
--- /dev/null
+++ b/metadata/md5-cache/dev-go/utiltest-1.0.2
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/go-difflib dev-go/pretty dev-lang/go
+DESCRIPTION=Compact testing utilities to shorten Go unit tests.
+EAPI=7
+HOMEPAGE=https://github.com/maruel/ut
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=dev-go/go-difflib dev-go/pretty
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/maruel/ut/archive/v1.0.2.tar.gz -> github.com-maruel-ut-v1.0.2.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=66327e1347b089a6353314889d21c091
diff --git a/metadata/md5-cache/dev-go/utiltest-1.0.2-r1 b/metadata/md5-cache/dev-go/utiltest-1.0.2-r1
new file mode 100644
index 0000000..fc59233
--- /dev/null
+++ b/metadata/md5-cache/dev-go/utiltest-1.0.2-r1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/go-difflib dev-go/pretty dev-lang/go
+DESCRIPTION=Compact testing utilities to shorten Go unit tests.
+EAPI=7
+HOMEPAGE=https://github.com/maruel/ut
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=dev-go/go-difflib dev-go/pretty
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/maruel/ut/archive/v1.0.2.tar.gz -> github.com-maruel-ut-v1.0.2.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=66327e1347b089a6353314889d21c091
diff --git a/metadata/md5-cache/dev-go/uuid-1.1.1 b/metadata/md5-cache/dev-go/uuid-1.1.1
index 0d50fb6..c9481c2 100644
--- a/metadata/md5-cache/dev-go/uuid-1.1.1
+++ b/metadata/md5-cache/dev-go/uuid-1.1.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/google/uuid/archive/v1.1.1.tar.gz -> github.com-google-uuid-v1.1.1.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=2e0471de93a3b523dc19caa31fa84758
diff --git a/metadata/md5-cache/dev-go/uuid-1.1.1-r1 b/metadata/md5-cache/dev-go/uuid-1.1.1-r1
index 0d50fb6..c9481c2 100644
--- a/metadata/md5-cache/dev-go/uuid-1.1.1-r1
+++ b/metadata/md5-cache/dev-go/uuid-1.1.1-r1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/google/uuid/archive/v1.1.1.tar.gz -> github.com-google-uuid-v1.1.1.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=2e0471de93a3b523dc19caa31fa84758
diff --git a/metadata/md5-cache/dev-go/vnc2video-1.0.1 b/metadata/md5-cache/dev-go/vnc2video-1.0.1
index 44a6bb4..c5be411 100644
--- a/metadata/md5-cache/dev-go/vnc2video-1.0.1
+++ b/metadata/md5-cache/dev-go/vnc2video-1.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/matts1/vnc2video/archive/v1.0.1.tar.gz -> github.com-matts1-vnc2video-v1.0.1.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=de04c8135206324c39caa9bb54468c7b
diff --git a/metadata/md5-cache/dev-go/vsock-0.0.2 b/metadata/md5-cache/dev-go/vsock-0.0.2
index c81e527..11fdbca2 100644
--- a/metadata/md5-cache/dev-go/vsock-0.0.2
+++ b/metadata/md5-cache/dev-go/vsock-0.0.2
@@ -1,5 +1,5 @@
 DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/go-sys dev-lang/go
+DEPEND=dev-go/cmp dev-go/go-sys dev-go/net dev-lang/go
 DESCRIPTION=Package for using AF_VSOCK in Go
 EAPI=6
 HOMEPAGE=https://github.com/mdlayher/vsock
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/mdlayher/vsock/archive/9de589a8c10bfadb0e94fe67caa79a05a1a45a52.tar.gz -> github.com-mdlayher-vsock-9de589a8c10bfadb0e94fe67caa79a05a1a45a52.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=87d1f32fb481911d3e95ca5ac63a5cb4
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=59dbeee068e33fff117a501b881f84b3
diff --git a/metadata/md5-cache/dev-go/vsock-0.0.2-r1 b/metadata/md5-cache/dev-go/vsock-0.0.2-r1
deleted file mode 100644
index c81e527..0000000
--- a/metadata/md5-cache/dev-go/vsock-0.0.2-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install nofetch postinst test unpack
-DEPEND=dev-go/go-sys dev-lang/go
-DESCRIPTION=Package for using AF_VSOCK in Go
-EAPI=6
-HOMEPAGE=https://github.com/mdlayher/vsock
-KEYWORDS=*
-LICENSE=MIT
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://github.com/mdlayher/vsock/archive/9de589a8c10bfadb0e94fe67caa79a05a1a45a52.tar.gz -> github.com-mdlayher-vsock-9de589a8c10bfadb0e94fe67caa79a05a1a45a52.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=87d1f32fb481911d3e95ca5ac63a5cb4
diff --git a/metadata/md5-cache/dev-go/vsock-0.0.2-r2 b/metadata/md5-cache/dev-go/vsock-0.0.2-r2
new file mode 100644
index 0000000..11fdbca2
--- /dev/null
+++ b/metadata/md5-cache/dev-go/vsock-0.0.2-r2
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-go/cmp dev-go/go-sys dev-go/net dev-lang/go
+DESCRIPTION=Package for using AF_VSOCK in Go
+EAPI=6
+HOMEPAGE=https://github.com/mdlayher/vsock
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/mdlayher/vsock/archive/9de589a8c10bfadb0e94fe67caa79a05a1a45a52.tar.gz -> github.com-mdlayher-vsock-9de589a8c10bfadb0e94fe67caa79a05a1a45a52.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=59dbeee068e33fff117a501b881f84b3
diff --git a/metadata/md5-cache/dev-go/websocket-1.4.2 b/metadata/md5-cache/dev-go/websocket-1.4.2
index a32bf3a..4deca9d 100644
--- a/metadata/md5-cache/dev-go/websocket-1.4.2
+++ b/metadata/md5-cache/dev-go/websocket-1.4.2
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/gorilla/websocket/archive/v1.4.2.tar.gz -> github.com-gorilla-websocket-v1.4.2.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=39350d8e69635f3d2cffdc361d37a320
diff --git a/metadata/md5-cache/dev-go/websocket-1.4.2-r1 b/metadata/md5-cache/dev-go/websocket-1.4.2-r1
index a32bf3a..4deca9d 100644
--- a/metadata/md5-cache/dev-go/websocket-1.4.2-r1
+++ b/metadata/md5-cache/dev-go/websocket-1.4.2-r1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/gorilla/websocket/archive/v1.4.2.tar.gz -> github.com-gorilla-websocket-v1.4.2.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=39350d8e69635f3d2cffdc361d37a320
diff --git a/metadata/md5-cache/dev-go/wordwrap-1.0.1 b/metadata/md5-cache/dev-go/wordwrap-1.0.1
index 5966a5d..586f014 100644
--- a/metadata/md5-cache/dev-go/wordwrap-1.0.1
+++ b/metadata/md5-cache/dev-go/wordwrap-1.0.1
@@ -7,5 +7,5 @@
 LICENSE=Apache-2.0
 SLOT=0
 SRC_URI=https://github.com/mitchellh/go-wordwrap/archive/v1.0.1.tar.gz -> github.com-mitchellh-go-wordwrap-v1.0.1.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=116ea41463dcc98369e399575834275e
diff --git a/metadata/md5-cache/dev-go/writeseeker-0.0.1 b/metadata/md5-cache/dev-go/writeseeker-0.0.1
new file mode 100644
index 0000000..5ecc2a2
--- /dev/null
+++ b/metadata/md5-cache/dev-go/writeseeker-0.0.1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=WriterSeeker is the in-memory io.WriteSeeker implementation missing in the standard lib
+EAPI=7
+HOMEPAGE=https://github.com/orcaman/writerseeker
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/orcaman/writerseeker/archive/1d3f536ff85e22cb6225ccc454728facfcb70531.tar.gz -> github.com-orcaman-writerseeker-1d3f536ff85e22cb6225ccc454728facfcb70531.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=365920ab03dee9406db1adcd27368145
diff --git a/metadata/md5-cache/dev-go/xerrors-0.0.1 b/metadata/md5-cache/dev-go/xerrors-0.0.1
index f22c0eb..1859a45 100644
--- a/metadata/md5-cache/dev-go/xerrors-0.0.1
+++ b/metadata/md5-cache/dev-go/xerrors-0.0.1
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/golang/xerrors/archive/1a77d5e9f316d6917d88a497ab4db07399cbc923.tar.gz -> github.com-golang-xerrors-1a77d5e9f316d6917d88a497ab4db07399cbc923.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=6fcbf90b76154fbe391ad76bd969854b
diff --git a/metadata/md5-cache/dev-go/xerrors-0.0.1-r2 b/metadata/md5-cache/dev-go/xerrors-0.0.1-r2
index f22c0eb..1859a45 100644
--- a/metadata/md5-cache/dev-go/xerrors-0.0.1-r2
+++ b/metadata/md5-cache/dev-go/xerrors-0.0.1-r2
@@ -8,5 +8,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/golang/xerrors/archive/1a77d5e9f316d6917d88a497ab4db07399cbc923.tar.gz -> github.com-golang-xerrors-1a77d5e9f316d6917d88a497ab4db07399cbc923.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=6fcbf90b76154fbe391ad76bd969854b
diff --git a/metadata/md5-cache/dev-go/xxhash-2.1.2 b/metadata/md5-cache/dev-go/xxhash-2.1.2
new file mode 100644
index 0000000..4b6e7ea
--- /dev/null
+++ b/metadata/md5-cache/dev-go/xxhash-2.1.2
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=A Go implementation of the 64-bit xxHash algorithm (XXH64)
+EAPI=7
+HOMEPAGE=https://github.com/cespare/xxhash
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/cespare/xxhash/archive/v2.1.2.tar.gz -> github.com-cespare-xxhash-v2.1.2.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5b83b4ae5421d93cc54e311d1bffded7
diff --git a/metadata/md5-cache/dev-go/xxhash-2.1.2-r2 b/metadata/md5-cache/dev-go/xxhash-2.1.2-r2
new file mode 100644
index 0000000..4b6e7ea
--- /dev/null
+++ b/metadata/md5-cache/dev-go/xxhash-2.1.2-r2
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install nofetch postinst test unpack
+DEPEND=dev-lang/go
+DESCRIPTION=A Go implementation of the 64-bit xxHash algorithm (XXH64)
+EAPI=7
+HOMEPAGE=https://github.com/cespare/xxhash
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://github.com/cespare/xxhash/archive/v2.1.2.tar.gz -> github.com-cespare-xxhash-v2.1.2.tar.gz
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5b83b4ae5421d93cc54e311d1bffded7
diff --git a/metadata/md5-cache/dev-go/yaml-2.4.0 b/metadata/md5-cache/dev-go/yaml-2.4.0
index 529d03e..a8dcede 100644
--- a/metadata/md5-cache/dev-go/yaml-2.4.0
+++ b/metadata/md5-cache/dev-go/yaml-2.4.0
@@ -9,5 +9,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/go-yaml/yaml/archive/v2.4.0.tar.gz -> github.com-go-yaml-yaml-v2.4.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=0d28d77188fec70730fbf7b1a66deaf8
diff --git a/metadata/md5-cache/dev-go/yaml-2.4.0-r1 b/metadata/md5-cache/dev-go/yaml-2.4.0-r1
index 529d03e..a8dcede 100644
--- a/metadata/md5-cache/dev-go/yaml-2.4.0-r1
+++ b/metadata/md5-cache/dev-go/yaml-2.4.0-r1
@@ -9,5 +9,5 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=https://github.com/go-yaml/yaml/archive/v2.4.0.tar.gz -> github.com-go-yaml-yaml-v2.4.0.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=0d28d77188fec70730fbf7b1a66deaf8
diff --git a/metadata/md5-cache/dev-go/yaml-3.0.0 b/metadata/md5-cache/dev-go/yaml-3.0.0
index 36e0eef..990c07b 100644
--- a/metadata/md5-cache/dev-go/yaml-3.0.0
+++ b/metadata/md5-cache/dev-go/yaml-3.0.0
@@ -9,5 +9,5 @@
 RESTRICT=binchecks strip
 SLOT=3
 SRC_URI=https://github.com/go-yaml/yaml/archive/496545a6307b2a7d7a710fd516e5e16e8ab62dbc.tar.gz -> github.com-go-yaml-yaml-496545a6307b2a7d7a710fd516e5e16e8ab62dbc.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=ca56216edbb57aa7c89a3c686e95c100
diff --git a/metadata/md5-cache/dev-go/yaml-3.0.0-r1 b/metadata/md5-cache/dev-go/yaml-3.0.0-r1
index 36e0eef..990c07b 100644
--- a/metadata/md5-cache/dev-go/yaml-3.0.0-r1
+++ b/metadata/md5-cache/dev-go/yaml-3.0.0-r1
@@ -9,5 +9,5 @@
 RESTRICT=binchecks strip
 SLOT=3
 SRC_URI=https://github.com/go-yaml/yaml/archive/496545a6307b2a7d7a710fd516e5e16e8ab62dbc.tar.gz -> github.com-go-yaml-yaml-496545a6307b2a7d7a710fd516e5e16e8ab62dbc.tar.gz
-_eclasses_=cros-go	dac85c3271572c8bed5a845ea12f3e93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-go	9e4f3d4e15241da364684ed8b906b8d9	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=ca56216edbb57aa7c89a3c686e95c100
diff --git a/metadata/md5-cache/dev-haskell/cabal-2.4.0.1 b/metadata/md5-cache/dev-haskell/cabal-2.4.0.1
deleted file mode 100644
index 52e21e1..0000000
--- a/metadata/md5-cache/dev-haskell/cabal-2.4.0.1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm setup test
-DEPEND=>=dev-lang/ghc-8.6.1:=
-DESCRIPTION=A framework for packaging Haskell software
-EAPI=7
-HOMEPAGE=http://www.haskell.org/cabal/
-IUSE=profile
-KEYWORDS=*
-LICENSE=BSD
-RDEPEND=>=dev-lang/ghc-8.6.1:=
-RESTRICT=test
-SLOT=0/2.4.0.1
-SRC_URI=https://hackage.haskell.org/package/Cabal-2.4.0.1/Cabal-2.4.0.1.tar.gz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ghc-package	cfc8267c6151d804d0c34bf9e180533f	haskell-cabal	433b5153bec6b0ffe21c7be2210e8396	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=978ff80b4f399050e39816c61a87d3df
diff --git a/metadata/md5-cache/dev-haskell/cabal-2.4.0.1-r1 b/metadata/md5-cache/dev-haskell/cabal-2.4.0.1-r1
new file mode 100644
index 0000000..6716472
--- /dev/null
+++ b/metadata/md5-cache/dev-haskell/cabal-2.4.0.1-r1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm setup test
+DEPEND=>=dev-lang/ghc-8.6.1:=
+DESCRIPTION=A framework for packaging Haskell software
+EAPI=7
+HOMEPAGE=http://www.haskell.org/cabal/
+IUSE=profile
+KEYWORDS=*
+LICENSE=BSD
+RDEPEND=>=dev-lang/ghc-8.6.1:=
+RESTRICT=test
+SLOT=0/2.4.0.1
+SRC_URI=https://hackage.haskell.org/package/Cabal-2.4.0.1/Cabal-2.4.0.1.tar.gz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ghc-package	cfc8267c6151d804d0c34bf9e180533f	haskell-cabal	433b5153bec6b0ffe21c7be2210e8396	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6551b741998738cc379322c3fec786d5
diff --git a/metadata/md5-cache/dev-haskell/stm-2.5.0.0 b/metadata/md5-cache/dev-haskell/stm-2.5.0.0
deleted file mode 100644
index 25242a1..0000000
--- a/metadata/md5-cache/dev-haskell/stm-2.5.0.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm setup test
-DEPEND=>=dev-lang/ghc-7.4.1:= >=dev-haskell/cabal-1.10 doc? ( || ( dev-haskell/haddock >=dev-lang/ghc-7.10.2 ) ) hscolour? ( dev-haskell/hscolour )
-DESCRIPTION=Software Transactional Memory
-EAPI=5
-HOMEPAGE=http://hackage.haskell.org/package/stm
-IUSE=doc hscolour profile
-KEYWORDS=*
-LICENSE=BSD
-RDEPEND=>=dev-lang/ghc-7.4.1:=
-SLOT=0/2.5.0.0
-SRC_URI=mirror://hackage/packages/archive/stm/2.5.0.0/stm-2.5.0.0.tar.gz
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ghc-package	cfc8267c6151d804d0c34bf9e180533f	haskell-cabal	433b5153bec6b0ffe21c7be2210e8396	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=4ef4f1b3ab4555b02b7d2fcc446de5ff
diff --git a/metadata/md5-cache/dev-haskell/stm-2.5.0.0-r1 b/metadata/md5-cache/dev-haskell/stm-2.5.0.0-r1
new file mode 100644
index 0000000..17ca5f4
--- /dev/null
+++ b/metadata/md5-cache/dev-haskell/stm-2.5.0.0-r1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install postinst postrm setup test
+DEPEND=>=dev-lang/ghc-7.4.1:= >=dev-haskell/cabal-1.10 doc? ( || ( dev-haskell/haddock >=dev-lang/ghc-7.10.2 ) ) hscolour? ( dev-haskell/hscolour )
+DESCRIPTION=Software Transactional Memory
+EAPI=5
+HOMEPAGE=http://hackage.haskell.org/package/stm
+IUSE=doc hscolour profile
+KEYWORDS=*
+LICENSE=BSD
+RDEPEND=>=dev-lang/ghc-7.4.1:=
+SLOT=0/2.5.0.0
+SRC_URI=mirror://hackage/packages/archive/stm/2.5.0.0/stm-2.5.0.0.tar.gz
+_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ghc-package	cfc8267c6151d804d0c34bf9e180533f	haskell-cabal	433b5153bec6b0ffe21c7be2210e8396	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=3cb8e63dc09b2959ee179ca477dd8e59
diff --git a/metadata/md5-cache/dev-haskell/transformers-0.5.6.2 b/metadata/md5-cache/dev-haskell/transformers-0.5.6.2
deleted file mode 100644
index 5b2784d..0000000
--- a/metadata/md5-cache/dev-haskell/transformers-0.5.6.2
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm setup test
-DEPEND=>=dev-lang/ghc-7.4.1:= >=dev-haskell/cabal-1.6 doc? ( || ( dev-haskell/haddock >=dev-lang/ghc-7.10.2 ) ) hscolour? ( dev-haskell/hscolour )
-DESCRIPTION=Concrete functor and monad transformers
-EAPI=6
-HOMEPAGE=http://hackage.haskell.org/package/transformers
-IUSE=doc hscolour profile
-KEYWORDS=*
-LICENSE=BSD
-RDEPEND=>=dev-lang/ghc-7.4.1:=
-SLOT=0/0.5.6.2
-SRC_URI=mirror://hackage/packages/archive/transformers/0.5.6.2/transformers-0.5.6.2.tar.gz
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ghc-package	cfc8267c6151d804d0c34bf9e180533f	haskell-cabal	433b5153bec6b0ffe21c7be2210e8396	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=246af7e55ccd8c115a277283a3b7a02c
diff --git a/metadata/md5-cache/dev-haskell/transformers-0.5.6.2-r1 b/metadata/md5-cache/dev-haskell/transformers-0.5.6.2-r1
new file mode 100644
index 0000000..4631784
--- /dev/null
+++ b/metadata/md5-cache/dev-haskell/transformers-0.5.6.2-r1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install postinst postrm setup test
+DEPEND=>=dev-lang/ghc-7.4.1:= >=dev-haskell/cabal-1.6 doc? ( || ( dev-haskell/haddock >=dev-lang/ghc-7.10.2 ) ) hscolour? ( dev-haskell/hscolour )
+DESCRIPTION=Concrete functor and monad transformers
+EAPI=6
+HOMEPAGE=http://hackage.haskell.org/package/transformers
+IUSE=doc hscolour profile
+KEYWORDS=*
+LICENSE=BSD
+RDEPEND=>=dev-lang/ghc-7.4.1:=
+SLOT=0/0.5.6.2
+SRC_URI=mirror://hackage/packages/archive/transformers/0.5.6.2/transformers-0.5.6.2.tar.gz
+_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ghc-package	cfc8267c6151d804d0c34bf9e180533f	haskell-cabal	433b5153bec6b0ffe21c7be2210e8396	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=1e69b3e3faf2741507fb9d98615278b8
diff --git a/metadata/md5-cache/dev-lang/ghc-8.6.5 b/metadata/md5-cache/dev-lang/ghc-8.6.5
index 738d82e..4f6a033 100644
--- a/metadata/md5-cache/dev-lang/ghc-8.6.5
+++ b/metadata/md5-cache/dev-lang/ghc-8.6.5
@@ -13,4 +13,4 @@
 SLOT=0/8.6.5
 SRC_URI=!binary? ( https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-src.tar.xz test? ( https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-testsuite.tar.xz ) ) !ghcbootstrap? ( amd64? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-8.4.3-x86_64-pc-linux-gnu.tbz2 ) ppc64? ( !big-endian? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-8.6.5-powerpc64le-unknown-linux-gnu.tbz2 ) ) x86? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-8.6.5-i686-pc-linux-gnu.tbz2 ) )
 _eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	bash-completion-r1	47a7402d95930413ce25ba8d857339bb	check-reqs	74c98e9a7b34b32be3548357852e9ec3	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ghc-package	cfc8267c6151d804d0c34bf9e180533f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	pax-utils	3551398d6ede2b572568832730cc2a45	prefix	e51c7882b7b721e54e684f7eb143cbfe	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	versionator	26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=effa3106f973d46d85463baad2eab400
+_md5_=384b61c774a676c16c6cf0415fe0cdb5
diff --git a/metadata/md5-cache/dev-lang/ghc-8.6.5-r1 b/metadata/md5-cache/dev-lang/ghc-8.6.5-r1
deleted file mode 100644
index 738d82e..0000000
--- a/metadata/md5-cache/dev-lang/ghc-8.6.5-r1
+++ /dev/null
@@ -1,16 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm pretend setup test unpack
-DEPEND=>=dev-lang/perl-5.6.1 dev-libs/gmp:0= sys-libs/ncurses:0=[unicode] elfutils? ( dev-libs/elfutils ) !ghcmakebinary? ( dev-libs/libffi:= ) numa? ( sys-process/numactl ) binary? ( !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.17 ) ) sys-libs/ncurses:0/6 ) doc? ( app-text/docbook-xml-dtd:4.2 app-text/docbook-xml-dtd:4.5 app-text/docbook-xsl-stylesheets dev-python/sphinx >=dev-libs/libxslt-1.1.2 ) !ghcbootstrap? ( !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.17 ) ) ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=The Glasgow Haskell Compiler
-EAPI=6
-HOMEPAGE=https://www.haskell.org/ghc/
-IUSE=big-endian doc elfutils ghcbootstrap ghcmakebinary +gmp numa profile test binary
-KEYWORDS=*
-LICENSE=BSD
-PDEPEND=!ghcbootstrap? ( >=app-admin/haskell-updater-1.2 )
-RDEPEND=>=dev-lang/perl-5.6.1 dev-libs/gmp:0= sys-libs/ncurses:0=[unicode] elfutils? ( dev-libs/elfutils ) !ghcmakebinary? ( dev-libs/libffi:= ) numa? ( sys-process/numactl ) binary? ( !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.17 ) ) sys-libs/ncurses:0/6 )
-REQUIRED_USE=?? ( ghcbootstrap binary )
-RESTRICT=!test? ( test )
-SLOT=0/8.6.5
-SRC_URI=!binary? ( https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-src.tar.xz test? ( https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-testsuite.tar.xz ) ) !ghcbootstrap? ( amd64? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-8.4.3-x86_64-pc-linux-gnu.tbz2 ) ppc64? ( !big-endian? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-8.6.5-powerpc64le-unknown-linux-gnu.tbz2 ) ) x86? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-8.6.5-i686-pc-linux-gnu.tbz2 ) )
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	bash-completion-r1	47a7402d95930413ce25ba8d857339bb	check-reqs	74c98e9a7b34b32be3548357852e9ec3	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ghc-package	cfc8267c6151d804d0c34bf9e180533f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	pax-utils	3551398d6ede2b572568832730cc2a45	prefix	e51c7882b7b721e54e684f7eb143cbfe	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	versionator	26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=effa3106f973d46d85463baad2eab400
diff --git a/metadata/md5-cache/dev-lang/ghc-8.6.5-r4 b/metadata/md5-cache/dev-lang/ghc-8.6.5-r4
new file mode 100644
index 0000000..4f6a033
--- /dev/null
+++ b/metadata/md5-cache/dev-lang/ghc-8.6.5-r4
@@ -0,0 +1,16 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm pretend setup test unpack
+DEPEND=>=dev-lang/perl-5.6.1 dev-libs/gmp:0= sys-libs/ncurses:0=[unicode] elfutils? ( dev-libs/elfutils ) !ghcmakebinary? ( dev-libs/libffi:= ) numa? ( sys-process/numactl ) binary? ( !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.17 ) ) sys-libs/ncurses:0/6 ) doc? ( app-text/docbook-xml-dtd:4.2 app-text/docbook-xml-dtd:4.5 app-text/docbook-xsl-stylesheets dev-python/sphinx >=dev-libs/libxslt-1.1.2 ) !ghcbootstrap? ( !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.17 ) ) ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=The Glasgow Haskell Compiler
+EAPI=6
+HOMEPAGE=https://www.haskell.org/ghc/
+IUSE=big-endian doc elfutils ghcbootstrap ghcmakebinary +gmp numa profile test binary
+KEYWORDS=*
+LICENSE=BSD
+PDEPEND=!ghcbootstrap? ( >=app-admin/haskell-updater-1.2 )
+RDEPEND=>=dev-lang/perl-5.6.1 dev-libs/gmp:0= sys-libs/ncurses:0=[unicode] elfutils? ( dev-libs/elfutils ) !ghcmakebinary? ( dev-libs/libffi:= ) numa? ( sys-process/numactl ) binary? ( !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.17 ) ) sys-libs/ncurses:0/6 )
+REQUIRED_USE=?? ( ghcbootstrap binary )
+RESTRICT=!test? ( test )
+SLOT=0/8.6.5
+SRC_URI=!binary? ( https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-src.tar.xz test? ( https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-testsuite.tar.xz ) ) !ghcbootstrap? ( amd64? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-8.4.3-x86_64-pc-linux-gnu.tbz2 ) ppc64? ( !big-endian? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-8.6.5-powerpc64le-unknown-linux-gnu.tbz2 ) ) x86? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-8.6.5-i686-pc-linux-gnu.tbz2 ) )
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	bash-completion-r1	47a7402d95930413ce25ba8d857339bb	check-reqs	74c98e9a7b34b32be3548357852e9ec3	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ghc-package	cfc8267c6151d804d0c34bf9e180533f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	pax-utils	3551398d6ede2b572568832730cc2a45	prefix	e51c7882b7b721e54e684f7eb143cbfe	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	versionator	26ca8a8bd95d6a74122c08ba98a4ee72
+_md5_=384b61c774a676c16c6cf0415fe0cdb5
diff --git a/metadata/md5-cache/dev-lang/go-1.17.1 b/metadata/md5-cache/dev-lang/go-1.17.1
deleted file mode 100644
index 19e131b..0000000
--- a/metadata/md5-cache/dev-lang/go-1.17.1
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install unpack
-DESCRIPTION=An expressive, concurrent, garbage-collected programming language
-EAPI=5
-HOMEPAGE=http://golang.org/
-KEYWORDS=*
-LICENSE=BSD-Google
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://storage.googleapis.com/golang/go1.17.1.src.tar.gz https://storage.googleapis.com/golang/go1.4-bootstrap-20170531.tar.gz
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=9a48b7b8dcf89ee0139f5a759ee7f900
diff --git a/metadata/md5-cache/dev-lang/go-1.17.1-r1 b/metadata/md5-cache/dev-lang/go-1.17.1-r1
deleted file mode 100644
index 19e131b..0000000
--- a/metadata/md5-cache/dev-lang/go-1.17.1-r1
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install unpack
-DESCRIPTION=An expressive, concurrent, garbage-collected programming language
-EAPI=5
-HOMEPAGE=http://golang.org/
-KEYWORDS=*
-LICENSE=BSD-Google
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=https://storage.googleapis.com/golang/go1.17.1.src.tar.gz https://storage.googleapis.com/golang/go1.4-bootstrap-20170531.tar.gz
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=9a48b7b8dcf89ee0139f5a759ee7f900
diff --git a/metadata/md5-cache/dev-lang/go-1.18 b/metadata/md5-cache/dev-lang/go-1.18
new file mode 100644
index 0000000..0980546
--- /dev/null
+++ b/metadata/md5-cache/dev-lang/go-1.18
@@ -0,0 +1,11 @@
+DEFINED_PHASES=compile configure install unpack
+DESCRIPTION=An expressive, concurrent, garbage-collected programming language
+EAPI=7
+HOMEPAGE=http://golang.org/
+KEYWORDS=*
+LICENSE=BSD-Google
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://storage.googleapis.com/golang/go1.18.src.tar.gz https://storage.googleapis.com/golang/go1.4-bootstrap-20170531.tar.gz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=de7dbe7c38ed31b97d06bf40568c8c4c
diff --git a/metadata/md5-cache/dev-lang/go-1.18-r2 b/metadata/md5-cache/dev-lang/go-1.18-r2
new file mode 100644
index 0000000..0980546
--- /dev/null
+++ b/metadata/md5-cache/dev-lang/go-1.18-r2
@@ -0,0 +1,11 @@
+DEFINED_PHASES=compile configure install unpack
+DESCRIPTION=An expressive, concurrent, garbage-collected programming language
+EAPI=7
+HOMEPAGE=http://golang.org/
+KEYWORDS=*
+LICENSE=BSD-Google
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://storage.googleapis.com/golang/go1.18.src.tar.gz https://storage.googleapis.com/golang/go1.4-bootstrap-20170531.tar.gz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=de7dbe7c38ed31b97d06bf40568c8c4c
diff --git a/metadata/md5-cache/dev-lang/mono-6.12.0.122 b/metadata/md5-cache/dev-lang/mono-6.12.0.122
new file mode 100644
index 0000000..b49b176
--- /dev/null
+++ b/metadata/md5-cache/dev-lang/mono-6.12.0.122
@@ -0,0 +1,14 @@
+BDEPEND=sys-devel/bc virtual/yacc pax-kernel? ( sys-apps/elfix ) >=app-portage/elt-patches-20170815
+DEFINED_PHASES=compile configure install postinst prepare pretend setup test
+DEPEND=app-crypt/mit-krb5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/zlib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ia64? ( sys-libs/libunwind ) nls? ( sys-devel/gettext ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Mono runtime and class libraries, a C# compiler/interpreter
+EAPI=7
+HOMEPAGE=https://mono-project.com
+IUSE=doc nls pax-kernel xen kernel_linux abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
+KEYWORDS=-* amd64
+LICENSE=MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL
+RDEPEND=app-crypt/mit-krb5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/zlib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ia64? ( sys-libs/libunwind ) nls? ( sys-devel/gettext ) app-misc/ca-certificates
+SLOT=0
+SRC_URI=https://download.mono-project.com/sources/mono/mono-6.12.0.122.tar.xz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	check-reqs	74c98e9a7b34b32be3548357852e9ec3	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	mono-env	59ca1177366cc9e14521d3501e9bb281	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	pax-utils	3551398d6ede2b572568832730cc2a45	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=91f402a6af4d102996afac2ec579e4bb
diff --git a/metadata/md5-cache/dev-lang/python-2.7.15 b/metadata/md5-cache/dev-lang/python-2.7.15
deleted file mode 100644
index f9dc273..0000000
--- a/metadata/md5-cache/dev-lang/python-2.7.15
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFINED_PHASES=compile configure install postinst prepare setup test
-DEPEND=app-arch/bzip2:0= >=sys-libs/zlib-1.1.3:0= virtual/libffi:= virtual/libintl berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:5.1 sys-libs/db:4.8 sys-libs/db:4.7 sys-libs/db:4.6 sys-libs/db:4.5 sys-libs/db:4.4 sys-libs/db:4.3 sys-libs/db:4.2 ) ) gdbm? ( sys-libs/gdbm:0=[berkdb] ) ncurses? ( >=sys-libs/ncurses-5.2:0= ) readline? ( >=sys-libs/readline-4.1:0= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:0= ) ) tk? ( >=dev-lang/tcl-8.0:0= >=dev-lang/tk-8.0:0= dev-tcltk/blt:0= dev-tcltk/tix ) xml? ( >=dev-libs/expat-2.1 ) !!<sys-apps/portage-2.1.9 bluetooth? ( net-wireless/bluez ) virtual/pkgconfig >=sys-devel/autoconf-2.65 !sys-devel/gcc[libffi(-)] >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69
-DESCRIPTION=An interpreted, interactive, object-oriented programming language
-EAPI=5
-HOMEPAGE=https://www.python.org/
-IUSE=-berkdb bluetooth build doc elibc_uclibc examples gdbm hardened ipv6 pgo_generate +pgo_use libressl +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml
-KEYWORDS=*
-LICENSE=PSF-2
-PDEPEND=>=app-eselect/eselect-python-20140125-r1
-RDEPEND=app-arch/bzip2:0= >=sys-libs/zlib-1.1.3:0= virtual/libffi:= virtual/libintl berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:5.1 sys-libs/db:4.8 sys-libs/db:4.7 sys-libs/db:4.6 sys-libs/db:4.5 sys-libs/db:4.4 sys-libs/db:4.3 sys-libs/db:4.2 ) ) gdbm? ( sys-libs/gdbm:0=[berkdb] ) ncurses? ( >=sys-libs/ncurses-5.2:0= ) readline? ( >=sys-libs/readline-4.1:0= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:0= ) ) tk? ( >=dev-lang/tcl-8.0:0= >=dev-lang/tk-8.0:0= dev-tcltk/blt:0= dev-tcltk/tix ) xml? ( >=dev-libs/expat-2.1 ) !!<sys-apps/portage-2.1.9 !build? ( app-misc/mime-types ) doc? ( dev-python/python-docs:2.7 )
-REQUIRED_USE=pgo_generate? ( !pgo_use )
-SLOT=2.7
-SRC_URI=https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tar.xz https://dev.gentoo.org/~floppym/python/python-gentoo-patches-2.7.15.tar.xz pgo_use? ( gs://chromeos-localmirror/distfiles/python-2.7.15-pgo-prof.profdata.tar.xz )
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	pax-utils	3551398d6ede2b572568832730cc2a45	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=cc87f9697da95097009880325303f2a3
diff --git a/metadata/md5-cache/dev-lang/python-2.7.15-r9 b/metadata/md5-cache/dev-lang/python-2.7.15-r9
deleted file mode 100644
index f9dc273..0000000
--- a/metadata/md5-cache/dev-lang/python-2.7.15-r9
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFINED_PHASES=compile configure install postinst prepare setup test
-DEPEND=app-arch/bzip2:0= >=sys-libs/zlib-1.1.3:0= virtual/libffi:= virtual/libintl berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:5.1 sys-libs/db:4.8 sys-libs/db:4.7 sys-libs/db:4.6 sys-libs/db:4.5 sys-libs/db:4.4 sys-libs/db:4.3 sys-libs/db:4.2 ) ) gdbm? ( sys-libs/gdbm:0=[berkdb] ) ncurses? ( >=sys-libs/ncurses-5.2:0= ) readline? ( >=sys-libs/readline-4.1:0= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:0= ) ) tk? ( >=dev-lang/tcl-8.0:0= >=dev-lang/tk-8.0:0= dev-tcltk/blt:0= dev-tcltk/tix ) xml? ( >=dev-libs/expat-2.1 ) !!<sys-apps/portage-2.1.9 bluetooth? ( net-wireless/bluez ) virtual/pkgconfig >=sys-devel/autoconf-2.65 !sys-devel/gcc[libffi(-)] >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69
-DESCRIPTION=An interpreted, interactive, object-oriented programming language
-EAPI=5
-HOMEPAGE=https://www.python.org/
-IUSE=-berkdb bluetooth build doc elibc_uclibc examples gdbm hardened ipv6 pgo_generate +pgo_use libressl +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml
-KEYWORDS=*
-LICENSE=PSF-2
-PDEPEND=>=app-eselect/eselect-python-20140125-r1
-RDEPEND=app-arch/bzip2:0= >=sys-libs/zlib-1.1.3:0= virtual/libffi:= virtual/libintl berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:5.1 sys-libs/db:4.8 sys-libs/db:4.7 sys-libs/db:4.6 sys-libs/db:4.5 sys-libs/db:4.4 sys-libs/db:4.3 sys-libs/db:4.2 ) ) gdbm? ( sys-libs/gdbm:0=[berkdb] ) ncurses? ( >=sys-libs/ncurses-5.2:0= ) readline? ( >=sys-libs/readline-4.1:0= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:0= ) ) tk? ( >=dev-lang/tcl-8.0:0= >=dev-lang/tk-8.0:0= dev-tcltk/blt:0= dev-tcltk/tix ) xml? ( >=dev-libs/expat-2.1 ) !!<sys-apps/portage-2.1.9 !build? ( app-misc/mime-types ) doc? ( dev-python/python-docs:2.7 )
-REQUIRED_USE=pgo_generate? ( !pgo_use )
-SLOT=2.7
-SRC_URI=https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tar.xz https://dev.gentoo.org/~floppym/python/python-gentoo-patches-2.7.15.tar.xz pgo_use? ( gs://chromeos-localmirror/distfiles/python-2.7.15-pgo-prof.profdata.tar.xz )
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	pax-utils	3551398d6ede2b572568832730cc2a45	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=cc87f9697da95097009880325303f2a3
diff --git a/metadata/md5-cache/dev-lang/python-3.6.12 b/metadata/md5-cache/dev-lang/python-3.6.12
deleted file mode 100644
index 3984e14..0000000
--- a/metadata/md5-cache/dev-lang/python-3.6.12
+++ /dev/null
@@ -1,17 +0,0 @@
-BDEPEND=>=app-portage/elt-patches-20170815
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare test
-DEPEND=app-arch/bzip2:= app-arch/xz-utils:= dev-libs/libffi:= >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( !libressl? ( dev-libs/openssl:= ) libressl? ( dev-libs/libressl:= ) ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) xml? ( >=dev-libs/expat-2.1:= ) bluetooth? ( net-wireless/bluez ) test? ( app-arch/xz-utils[extra-filters(+)] ) virtual/pkgconfig !sys-devel/gcc[libffi(-)] !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69
-DESCRIPTION=An interpreted, interactive, object-oriented programming language
-EAPI=7
-HOMEPAGE=https://www.python.org/
-IUSE=bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test +threads tk wininst +xml pgo_generate +pgo_use
-KEYWORDS=*
-LICENSE=PSF-2
-PDEPEND=>=app-eselect/eselect-python-20140125-r1
-RDEPEND=app-arch/bzip2:= app-arch/xz-utils:= dev-libs/libffi:= >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( !libressl? ( dev-libs/openssl:= ) libressl? ( dev-libs/libressl:= ) ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) xml? ( >=dev-libs/expat-2.1:= ) !build? ( app-misc/mime-types )
-REQUIRED_USE=pgo_generate? ( !pgo_use )
-RESTRICT=!test? ( test )
-SLOT=3.6/3.6m
-SRC_URI=https://www.python.org/ftp/python/3.6.12/Python-3.6.12.tar.xz https://dev.gentoo.org/~mgorny/dist/python/python-gentoo-patches-3.6.12-r1.tar.xz pgo_use? ( gs://chromeos-localmirror/distfiles/python-3.6-profile.tar.xz )
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	pax-utils	3551398d6ede2b572568832730cc2a45	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=325530db3a1f7714dc036e50c1b72baf
diff --git a/metadata/md5-cache/dev-lang/python-3.6.12-r5 b/metadata/md5-cache/dev-lang/python-3.6.12-r5
deleted file mode 100644
index 3984e14..0000000
--- a/metadata/md5-cache/dev-lang/python-3.6.12-r5
+++ /dev/null
@@ -1,17 +0,0 @@
-BDEPEND=>=app-portage/elt-patches-20170815
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare test
-DEPEND=app-arch/bzip2:= app-arch/xz-utils:= dev-libs/libffi:= >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( !libressl? ( dev-libs/openssl:= ) libressl? ( dev-libs/libressl:= ) ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) xml? ( >=dev-libs/expat-2.1:= ) bluetooth? ( net-wireless/bluez ) test? ( app-arch/xz-utils[extra-filters(+)] ) virtual/pkgconfig !sys-devel/gcc[libffi(-)] !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69
-DESCRIPTION=An interpreted, interactive, object-oriented programming language
-EAPI=7
-HOMEPAGE=https://www.python.org/
-IUSE=bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test +threads tk wininst +xml pgo_generate +pgo_use
-KEYWORDS=*
-LICENSE=PSF-2
-PDEPEND=>=app-eselect/eselect-python-20140125-r1
-RDEPEND=app-arch/bzip2:= app-arch/xz-utils:= dev-libs/libffi:= >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( !libressl? ( dev-libs/openssl:= ) libressl? ( dev-libs/libressl:= ) ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) xml? ( >=dev-libs/expat-2.1:= ) !build? ( app-misc/mime-types )
-REQUIRED_USE=pgo_generate? ( !pgo_use )
-RESTRICT=!test? ( test )
-SLOT=3.6/3.6m
-SRC_URI=https://www.python.org/ftp/python/3.6.12/Python-3.6.12.tar.xz https://dev.gentoo.org/~mgorny/dist/python/python-gentoo-patches-3.6.12-r1.tar.xz pgo_use? ( gs://chromeos-localmirror/distfiles/python-3.6-profile.tar.xz )
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	pax-utils	3551398d6ede2b572568832730cc2a45	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=325530db3a1f7714dc036e50c1b72baf
diff --git a/metadata/md5-cache/dev-lang/python-3.6.15 b/metadata/md5-cache/dev-lang/python-3.6.15
new file mode 100644
index 0000000..b305e00
--- /dev/null
+++ b/metadata/md5-cache/dev-lang/python-3.6.15
@@ -0,0 +1,16 @@
+BDEPEND=virtual/awk virtual/pkgconfig verify-sig? ( sec-keys/openpgp-keys-python ) !sys-devel/gcc[libffi(-)] >=app-portage/elt-patches-20170815 verify-sig? ( app-crypt/gnupg >=app-portage/gemato-16 )
+DEFINED_PHASES=compile configure install prepare test unpack
+DEPEND=app-arch/bzip2:= app-arch/xz-utils:= dev-libs/libffi:= >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( dev-libs/openssl:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) xml? ( >=dev-libs/expat-2.1:= ) bluetooth? ( net-wireless/bluez ) test? ( app-arch/xz-utils[extra-filters(+)] ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69
+DESCRIPTION=An interpreted, interactive, object-oriented programming language
+EAPI=7
+HOMEPAGE=https://www.python.org/
+IUSE=bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +xml pgo_generate +pgo_use verify-sig
+KEYWORDS=*
+LICENSE=PSF-2
+RDEPEND=app-arch/bzip2:= app-arch/xz-utils:= dev-libs/libffi:= >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( dev-libs/openssl:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) xml? ( >=dev-libs/expat-2.1:= ) !build? ( app-misc/mime-types )
+REQUIRED_USE=pgo_generate? ( !pgo_use )
+RESTRICT=!test? ( test )
+SLOT=3.6/3.6m
+SRC_URI=https://www.python.org/ftp/python/3.6.15/Python-3.6.15.tar.xz https://dev.gentoo.org/~mgorny/dist/python/python-gentoo-patches-3.6.15.tar.xz verify-sig? ( https://www.python.org/ftp/python/3.6.15/Python-3.6.15.tar.xz.asc ) pgo_use? ( gs://chromeos-localmirror/distfiles/python-3.6-profile.tar.xz )
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	pax-utils	3551398d6ede2b572568832730cc2a45	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	verify-sig	40b4f4f782cf67118f594ce604cc4c0a
+_md5_=ab00aa10745d65ed4f3f65103da818b1
diff --git a/metadata/md5-cache/dev-lang/python-3.6.15-r2 b/metadata/md5-cache/dev-lang/python-3.6.15-r2
new file mode 100644
index 0000000..b305e00
--- /dev/null
+++ b/metadata/md5-cache/dev-lang/python-3.6.15-r2
@@ -0,0 +1,16 @@
+BDEPEND=virtual/awk virtual/pkgconfig verify-sig? ( sec-keys/openpgp-keys-python ) !sys-devel/gcc[libffi(-)] >=app-portage/elt-patches-20170815 verify-sig? ( app-crypt/gnupg >=app-portage/gemato-16 )
+DEFINED_PHASES=compile configure install prepare test unpack
+DEPEND=app-arch/bzip2:= app-arch/xz-utils:= dev-libs/libffi:= >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( dev-libs/openssl:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) xml? ( >=dev-libs/expat-2.1:= ) bluetooth? ( net-wireless/bluez ) test? ( app-arch/xz-utils[extra-filters(+)] ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69
+DESCRIPTION=An interpreted, interactive, object-oriented programming language
+EAPI=7
+HOMEPAGE=https://www.python.org/
+IUSE=bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +xml pgo_generate +pgo_use verify-sig
+KEYWORDS=*
+LICENSE=PSF-2
+RDEPEND=app-arch/bzip2:= app-arch/xz-utils:= dev-libs/libffi:= >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( dev-libs/openssl:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) xml? ( >=dev-libs/expat-2.1:= ) !build? ( app-misc/mime-types )
+REQUIRED_USE=pgo_generate? ( !pgo_use )
+RESTRICT=!test? ( test )
+SLOT=3.6/3.6m
+SRC_URI=https://www.python.org/ftp/python/3.6.15/Python-3.6.15.tar.xz https://dev.gentoo.org/~mgorny/dist/python/python-gentoo-patches-3.6.15.tar.xz verify-sig? ( https://www.python.org/ftp/python/3.6.15/Python-3.6.15.tar.xz.asc ) pgo_use? ( gs://chromeos-localmirror/distfiles/python-3.6-profile.tar.xz )
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	pax-utils	3551398d6ede2b572568832730cc2a45	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	verify-sig	40b4f4f782cf67118f594ce604cc4c0a
+_md5_=ab00aa10745d65ed4f3f65103da818b1
diff --git a/metadata/md5-cache/dev-lang/python-3.8.13 b/metadata/md5-cache/dev-lang/python-3.8.13
new file mode 100644
index 0000000..5cf2880
--- /dev/null
+++ b/metadata/md5-cache/dev-lang/python-3.8.13
@@ -0,0 +1,16 @@
+BDEPEND=sys-devel/autoconf-archive virtual/awk virtual/pkgconfig verify-sig? ( sec-keys/openpgp-keys-python ) !sys-devel/gcc[libffi(-)] >=app-portage/elt-patches-20170815 verify-sig? ( app-crypt/gnupg >=app-portage/gemato-16 )
+DEFINED_PHASES=compile configure install prepare test unpack
+DEPEND=app-arch/bzip2:= app-arch/xz-utils:= dev-lang/python-exec[python_targets_python3_8(-)] dev-libs/libffi:= sys-apps/util-linux:= >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) xml? ( >=dev-libs/expat-2.1:= ) bluetooth? ( net-wireless/bluez ) test? ( app-arch/xz-utils[extra-filters(+)] ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69
+DESCRIPTION=An interpreted, interactive, object-oriented programming language
+EAPI=7
+HOMEPAGE=https://www.python.org/
+IUSE=bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +xml pgo_generate -pgo_use verify-sig
+KEYWORDS=*
+LICENSE=PSF-2
+RDEPEND=app-arch/bzip2:= app-arch/xz-utils:= dev-lang/python-exec[python_targets_python3_8(-)] dev-libs/libffi:= sys-apps/util-linux:= >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) xml? ( >=dev-libs/expat-2.1:= ) build? ( app-misc/mime-types )
+REQUIRED_USE=pgo_generate? ( !pgo_use )
+RESTRICT=!test? ( test )
+SLOT=3.8
+SRC_URI=https://www.python.org/ftp/python/3.8.13/Python-3.8.13.tar.xz https://dev.gentoo.org/~mgorny/dist/python/python-gentoo-patches-3.8.13.tar.xz verify-sig? ( https://www.python.org/ftp/python/3.8.13/Python-3.8.13.tar.xz.asc )
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	pax-utils	3551398d6ede2b572568832730cc2a45	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	verify-sig	40b4f4f782cf67118f594ce604cc4c0a
+_md5_=1c69154a072c7f235e53c8a3c0912a7a
diff --git a/metadata/md5-cache/dev-lang/python-3.8.13-r1 b/metadata/md5-cache/dev-lang/python-3.8.13-r1
new file mode 100644
index 0000000..5cf2880
--- /dev/null
+++ b/metadata/md5-cache/dev-lang/python-3.8.13-r1
@@ -0,0 +1,16 @@
+BDEPEND=sys-devel/autoconf-archive virtual/awk virtual/pkgconfig verify-sig? ( sec-keys/openpgp-keys-python ) !sys-devel/gcc[libffi(-)] >=app-portage/elt-patches-20170815 verify-sig? ( app-crypt/gnupg >=app-portage/gemato-16 )
+DEFINED_PHASES=compile configure install prepare test unpack
+DEPEND=app-arch/bzip2:= app-arch/xz-utils:= dev-lang/python-exec[python_targets_python3_8(-)] dev-libs/libffi:= sys-apps/util-linux:= >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) xml? ( >=dev-libs/expat-2.1:= ) bluetooth? ( net-wireless/bluez ) test? ( app-arch/xz-utils[extra-filters(+)] ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69
+DESCRIPTION=An interpreted, interactive, object-oriented programming language
+EAPI=7
+HOMEPAGE=https://www.python.org/
+IUSE=bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +xml pgo_generate -pgo_use verify-sig
+KEYWORDS=*
+LICENSE=PSF-2
+RDEPEND=app-arch/bzip2:= app-arch/xz-utils:= dev-lang/python-exec[python_targets_python3_8(-)] dev-libs/libffi:= sys-apps/util-linux:= >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= dev-tcltk/blt:= dev-tcltk/tix ) xml? ( >=dev-libs/expat-2.1:= ) build? ( app-misc/mime-types )
+REQUIRED_USE=pgo_generate? ( !pgo_use )
+RESTRICT=!test? ( test )
+SLOT=3.8
+SRC_URI=https://www.python.org/ftp/python/3.8.13/Python-3.8.13.tar.xz https://dev.gentoo.org/~mgorny/dist/python/python-gentoo-patches-3.8.13.tar.xz verify-sig? ( https://www.python.org/ftp/python/3.8.13/Python-3.8.13.tar.xz.asc )
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	pax-utils	3551398d6ede2b572568832730cc2a45	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	verify-sig	40b4f4f782cf67118f594ce604cc4c0a
+_md5_=1c69154a072c7f235e53c8a3c0912a7a
diff --git a/metadata/md5-cache/dev-lang/rust-1.58.1 b/metadata/md5-cache/dev-lang/rust-1.58.1
deleted file mode 100644
index 489889a..0000000
--- a/metadata/md5-cache/dev-lang/rust-1.58.1
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-lang/rust-bootstrap:1.57.0
-DEFINED_PHASES=compile configure install prepare setup
-DEPEND=|| ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) >=dev-libs/libxml2-2.9.6 >=dev-lang/perl-5.0
-DESCRIPTION=Systems programming language from Mozilla
-EAPI=7
-HOMEPAGE=http://www.rust-lang.org/
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA
-RDEPEND=!dev-util/cargo
-REQUIRED_USE=amd64
-RESTRICT=binchecks strip
-SLOT=stable/1.58
-SRC_URI=https://static.rust-lang.org/dist/rustc-1.58.1-src.tar.gz -> rustc-1.58.1-src.tar.gz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=faeba952acc9978aa4f8f520be89bdf1
diff --git a/metadata/md5-cache/dev-lang/rust-1.60.0 b/metadata/md5-cache/dev-lang/rust-1.60.0
new file mode 100644
index 0000000..d3a4405
--- /dev/null
+++ b/metadata/md5-cache/dev-lang/rust-1.60.0
@@ -0,0 +1,13 @@
+BDEPEND==dev-lang/rust-host-1.60.0 dev-lang/rust-bootstrap:1.59.0
+DEFINED_PHASES=compile configure install prepare setup unpack
+DEPEND=|| ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) >=dev-libs/libxml2-2.9.6 >=dev-lang/perl-5.0
+EAPI=7
+HOMEPAGE=https://www.rust-lang.org/
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA
+RDEPEND==dev-lang/rust-host-1.60.0
+RESTRICT=binchecks strip
+SLOT=stable/1.60
+SRC_URI=https://static.rust-lang.org/dist/rustc-1.60.0-src.tar.gz -> rustc-1.60.0-src.tar.gz
+_eclasses_=cros-rustc	8da70fd81347e38a9e3031eb32a5da93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=020ef2d74fa789585790c6482a0df705
diff --git a/metadata/md5-cache/dev-lang/rust-1.60.0-r2 b/metadata/md5-cache/dev-lang/rust-1.60.0-r2
new file mode 100644
index 0000000..028f572
--- /dev/null
+++ b/metadata/md5-cache/dev-lang/rust-1.60.0-r2
@@ -0,0 +1,13 @@
+BDEPEND==dev-lang/rust-host-1.60.0-r2 dev-lang/rust-bootstrap:1.59.0
+DEFINED_PHASES=compile configure install prepare setup unpack
+DEPEND=|| ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) >=dev-libs/libxml2-2.9.6 >=dev-lang/perl-5.0
+EAPI=7
+HOMEPAGE=https://www.rust-lang.org/
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA
+RDEPEND==dev-lang/rust-host-1.60.0-r2
+RESTRICT=binchecks strip
+SLOT=stable/1.60
+SRC_URI=https://static.rust-lang.org/dist/rustc-1.60.0-src.tar.gz -> rustc-1.60.0-src.tar.gz
+_eclasses_=cros-rustc	8da70fd81347e38a9e3031eb32a5da93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=020ef2d74fa789585790c6482a0df705
diff --git a/metadata/md5-cache/dev-lang/rust-bootstrap-1.57.0 b/metadata/md5-cache/dev-lang/rust-bootstrap-1.57.0
deleted file mode 100644
index 6377ebf..0000000
--- a/metadata/md5-cache/dev-lang/rust-bootstrap-1.57.0
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup unpack
-DEPEND=dev-libs/openssl net-libs/libssh2
-DESCRIPTION=Bootstraps the rustc Rust compiler using mrustc
-EAPI=7
-HOMEPAGE=https://github.com/thepowersgang/mrustc
-IUSE=-fullbootstrap
-KEYWORDS=*
-LICENSE=MIT Apache-2.0 BSD-1 BSD-2 BSD-4 UoI-NCSA
-RDEPEND=dev-libs/openssl net-libs/libssh2
-RESTRICT=binchecks strip
-SLOT=1.57.0
-SRC_URI=gs://chromeos-localmirror/distfiles/rustc-1.57.0-src.tar.gz !fullbootstrap? ( gs://chromeos-localmirror/distfiles/rust-bootstrap-1.56.1.tbz2 ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/mrustc-0.9.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.29.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.30.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.31.1-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.32.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.33.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.34.2-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.35.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.36.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.37.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.38.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.39.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.40.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.41.1-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.42.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.43.1-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.44.1-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.45.2-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.46.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.47.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.48.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.49.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.50.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.51.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.52.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.53.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.54.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.55.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.56.1-src.tar.gz )
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=1b9858b488053fdea4c8f4e781474d61
diff --git a/metadata/md5-cache/dev-lang/rust-bootstrap-1.59.0 b/metadata/md5-cache/dev-lang/rust-bootstrap-1.59.0
new file mode 100644
index 0000000..5fcfa52
--- /dev/null
+++ b/metadata/md5-cache/dev-lang/rust-bootstrap-1.59.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install prepare setup unpack
+DEPEND=dev-libs/openssl net-libs/libssh2
+DESCRIPTION=Bootstraps the rustc Rust compiler using mrustc
+EAPI=7
+HOMEPAGE=https://github.com/thepowersgang/mrustc
+IUSE=-fullbootstrap
+KEYWORDS=*
+LICENSE=MIT Apache-2.0 BSD-1 BSD-2 BSD-4 UoI-NCSA
+RDEPEND=dev-libs/openssl net-libs/libssh2
+RESTRICT=binchecks strip
+SLOT=1.59.0
+SRC_URI=gs://chromeos-localmirror/distfiles/rustc-1.59.0-src.tar.gz !fullbootstrap? ( gs://chromeos-localmirror/distfiles/rust-bootstrap-1.58.1.tbz2 ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/mrustc-0.9.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.29.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.30.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.31.1-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.32.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.33.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.34.2-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.35.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.36.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.37.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.38.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.39.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.40.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.41.1-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.42.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.43.1-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.44.1-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.45.2-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.46.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.47.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.48.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.49.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.50.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.51.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.52.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.53.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.54.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.55.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.56.1-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.57.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.58.1-src.tar.gz )
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0e8c331d5e145a5766eb1659d9c0d283
diff --git a/metadata/md5-cache/dev-lang/rust-bootstrap-1.60.0 b/metadata/md5-cache/dev-lang/rust-bootstrap-1.60.0
new file mode 100644
index 0000000..9d02316
--- /dev/null
+++ b/metadata/md5-cache/dev-lang/rust-bootstrap-1.60.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install prepare setup unpack
+DEPEND=dev-libs/openssl net-libs/libssh2
+DESCRIPTION=Bootstraps the rustc Rust compiler using mrustc
+EAPI=7
+HOMEPAGE=https://github.com/thepowersgang/mrustc
+IUSE=-fullbootstrap
+KEYWORDS=*
+LICENSE=MIT Apache-2.0 BSD-1 BSD-2 BSD-4 UoI-NCSA
+RDEPEND=dev-libs/openssl net-libs/libssh2
+RESTRICT=binchecks strip
+SLOT=1.60.0
+SRC_URI=gs://chromeos-localmirror/distfiles/rustc-1.60.0-src.tar.gz !fullbootstrap? ( gs://chromeos-localmirror/distfiles/rust-bootstrap-1.59.0.tbz2 ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/mrustc-0.9.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.29.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.30.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.31.1-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.32.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.33.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.34.2-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.35.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.36.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.37.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.38.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.39.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.40.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.41.1-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.42.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.43.1-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.44.1-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.45.2-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.46.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.47.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.48.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.49.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.50.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.51.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.52.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.53.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.54.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.55.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.56.1-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.57.0-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.58.1-src.tar.gz ) fullbootstrap? ( gs://chromeos-localmirror/distfiles/rustc-1.59.0-src.tar.gz )
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0e8c331d5e145a5766eb1659d9c0d283
diff --git a/metadata/md5-cache/dev-lang/rust-host-1.60.0 b/metadata/md5-cache/dev-lang/rust-host-1.60.0
new file mode 100644
index 0000000..c584252
--- /dev/null
+++ b/metadata/md5-cache/dev-lang/rust-host-1.60.0
@@ -0,0 +1,13 @@
+BDEPEND=dev-lang/rust-bootstrap:1.59.0
+DEFINED_PHASES=compile configure install prepare setup unpack
+DEPEND=|| ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) >=dev-libs/libxml2-2.9.6 >=dev-lang/perl-5.0
+EAPI=7
+HOMEPAGE=https://www.rust-lang.org/
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA
+RDEPEND=!<dev-lang/rust-1.59.0
+RESTRICT=binchecks strip
+SLOT=stable/1.60
+SRC_URI=https://static.rust-lang.org/dist/rustc-1.60.0-src.tar.gz -> rustc-1.60.0-src.tar.gz
+_eclasses_=cros-rustc	8da70fd81347e38a9e3031eb32a5da93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e264d3579a75ec5db6129e90ce1d433f
diff --git a/metadata/md5-cache/dev-lang/rust-host-1.60.0-r2 b/metadata/md5-cache/dev-lang/rust-host-1.60.0-r2
new file mode 100644
index 0000000..c584252
--- /dev/null
+++ b/metadata/md5-cache/dev-lang/rust-host-1.60.0-r2
@@ -0,0 +1,13 @@
+BDEPEND=dev-lang/rust-bootstrap:1.59.0
+DEFINED_PHASES=compile configure install prepare setup unpack
+DEPEND=|| ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) >=dev-libs/libxml2-2.9.6 >=dev-lang/perl-5.0
+EAPI=7
+HOMEPAGE=https://www.rust-lang.org/
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA
+RDEPEND=!<dev-lang/rust-1.59.0
+RESTRICT=binchecks strip
+SLOT=stable/1.60
+SRC_URI=https://static.rust-lang.org/dist/rustc-1.60.0-src.tar.gz -> rustc-1.60.0-src.tar.gz
+_eclasses_=cros-rustc	8da70fd81347e38a9e3031eb32a5da93	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e264d3579a75ec5db6129e90ce1d433f
diff --git a/metadata/md5-cache/dev-libs/arc-libelf-0.8.13-r2 b/metadata/md5-cache/dev-libs/arc-libelf-0.8.13-r2
index b98969a..3d88350 100644
--- a/metadata/md5-cache/dev-libs/arc-libelf-0.8.13-r2
+++ b/metadata/md5-cache/dev-libs/arc-libelf-0.8.13-r2
@@ -3,12 +3,12 @@
 DESCRIPTION=A ELF object file access library
 EAPI=6
 HOMEPAGE=http://www.mr511.de/software/
-IUSE=debug abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
+IUSE=debug abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
 KEYWORDS=*
 LICENSE=LGPL-2
 RDEPEND=!dev-libs/arc-elfutils
-REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
+REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
 SLOT=0
 SRC_URI=http://www.mr511.de/software/libelf-0.8.13.tar.gz
-_eclasses_=arc-build	b81e284348e452b00e55bc049a3fb873	arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=3616d6e4d1c2e432b2361deb7e55e369
diff --git a/metadata/md5-cache/dev-libs/glib-2.68.3-r2 b/metadata/md5-cache/dev-libs/glib-2.68.3-r2
deleted file mode 100644
index 5dc6549..0000000
--- a/metadata/md5-cache/dev-libs/glib-2.68.3-r2
+++ /dev/null
@@ -1,17 +0,0 @@
-BDEPEND=doc? ( app-text/docbook-xsl-stylesheets dev-libs/libxslt ) >=sys-devel/gettext-0.19.8 gtk-doc? ( >=dev-util/gtk-doc-1.33 app-text/docbook-xml-dtd:4.2 app-text/docbook-xml-dtd:4.5 ) systemtap? ( >=dev-util/systemtap-1.3 ) || ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) test? ( >=sys-apps/dbus-1.2.14 ) virtual/pkgconfig app-arch/xz-utils >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup test
-DEPEND=!<dev-util/gdbus-codegen-2.68.3 >=virtual/libiconv-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-libs/libpcre-8.31:3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?,static-libs?] >=dev-libs/libffi-3.0.13-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=virtual/libintl-0-r2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] kernel_linux? ( >=sys-apps/util-linux-2.23[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) selinux? ( >=sys-libs/libselinux-2.2.2-r5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) cros_host? ( virtual/libelf:0= ) fam? ( >=virtual/fam-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
-DESCRIPTION=The GLib library of C routines
-EAPI=7
-HOMEPAGE=https://www.gtk.org/
-IUSE=cros_host dbus debug doc elibc_glibc fam gtk-doc kernel_linux +mime selinux static-libs sysprof systemtap test utils xattr kernel_linux abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=LGPL-2.1+
-PDEPEND=dbus? ( gnome-base/dconf ) mime? ( x11-misc/shared-mime-info )
-RDEPEND=!<dev-util/gdbus-codegen-2.68.3 >=virtual/libiconv-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-libs/libpcre-8.31:3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?,static-libs?] >=dev-libs/libffi-3.0.13-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=virtual/libintl-0-r2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] kernel_linux? ( >=sys-apps/util-linux-2.23[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) selinux? ( >=sys-libs/libselinux-2.2.2-r5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) cros_host? ( virtual/libelf:0= ) fam? ( >=virtual/fam-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
-REQUIRED_USE=gtk-doc? ( test )
-RESTRICT=!test? ( test )
-SLOT=2
-SRC_URI=mirror://gnome/sources/glib/2.68/glib-2.68.3.tar.xz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnome.org	532d56d07b9eace4831aaa817d2b756a	gnome2-utils	893e828f0f25f070f0b38d20c83c7670	linux-info	327865b9921771330775d971263dc234	meson	5ec14fdbc5446b8767e87e186e3b1a52	meson-multilib	485215fef459a86936e377c0eaa513a0	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg	c7ba313ea1eaf266f95cc6235f7d6a07	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=00fa89e60858fd462b19bf9c8f4e3ed5
diff --git a/metadata/md5-cache/dev-libs/glib-2.72.1 b/metadata/md5-cache/dev-libs/glib-2.72.1
new file mode 100644
index 0000000..b88b03a
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/glib-2.72.1
@@ -0,0 +1,17 @@
+BDEPEND=doc? ( app-text/docbook-xsl-stylesheets dev-libs/libxslt ) >=sys-devel/gettext-0.19.8 gtk-doc? ( >=dev-util/gtk-doc-1.33 app-text/docbook-xml-dtd:4.2 app-text/docbook-xml-dtd:4.5 ) systemtap? ( >=dev-util/systemtap-1.3 ) || ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) test? ( >=sys-apps/dbus-1.2.14 ) virtual/pkgconfig app-arch/xz-utils >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup test
+DEPEND=!<dev-util/gdbus-codegen-2.72.1 >=virtual/libiconv-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-libs/libpcre-8.31:3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?,static-libs?] >=dev-libs/libffi-3.0.13-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=virtual/libintl-0-r2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] kernel_linux? ( >=sys-apps/util-linux-2.23[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) selinux? ( >=sys-libs/libselinux-2.2.2-r5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) cros_host? ( virtual/libelf:0= ) fam? ( >=virtual/fam-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
+DESCRIPTION=The GLib library of C routines
+EAPI=7
+HOMEPAGE=https://www.gtk.org/
+IUSE=cros_host dbus debug doc elibc_glibc fam gtk-doc kernel_linux +mime selinux static-libs sysprof systemtap test utils xattr kernel_linux abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
+KEYWORDS=*
+LICENSE=LGPL-2.1+
+PDEPEND=dbus? ( gnome-base/dconf ) mime? ( x11-misc/shared-mime-info )
+RDEPEND=!<dev-util/gdbus-codegen-2.72.1 >=virtual/libiconv-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-libs/libpcre-8.31:3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?,static-libs?] >=dev-libs/libffi-3.0.13-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=virtual/libintl-0-r2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] kernel_linux? ( >=sys-apps/util-linux-2.23[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) selinux? ( >=sys-libs/libselinux-2.2.2-r5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) cros_host? ( virtual/libelf:0= ) fam? ( >=virtual/fam-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
+REQUIRED_USE=gtk-doc? ( test )
+RESTRICT=!test? ( test )
+SLOT=2
+SRC_URI=mirror://gnome/sources/glib/2.72/glib-2.72.1.tar.xz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnome.org	532d56d07b9eace4831aaa817d2b756a	gnome2-utils	893e828f0f25f070f0b38d20c83c7670	linux-info	327865b9921771330775d971263dc234	meson	1cac59cd2074f59abbe00de88e93af9f	meson-multilib	84c0d4019bf29be0d9d0a2d98fb8b0d9	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg	c7ba313ea1eaf266f95cc6235f7d6a07	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=877ce415d41c4a3be3abdf0e1e6ff641
diff --git a/metadata/md5-cache/dev-libs/gobject-introspection-1.68.0 b/metadata/md5-cache/dev-libs/gobject-introspection-1.68.0
deleted file mode 100644
index cba5106..0000000
--- a/metadata/md5-cache/dev-libs/gobject-introspection-1.68.0
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=!cros_host? ( >=dev-libs/gobject-introspection-1.68.0 app-emulation/qemu ) app-arch/xz-utils >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup test
-DEPEND=>=dev-libs/gobject-introspection-common-1.68.0 >=dev-libs/glib-2.58.0:2 dev-libs/libffi:= doctool? ( python_single_target_python3_6? ( dev-python/mako[python_targets_python3_6(-)] dev-python/markdown[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/mako[python_targets_python3_7(-)] dev-python/markdown[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/mako[python_targets_python3_8(-)] dev-python/markdown[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/mako[python_targets_python3_9(-)] dev-python/markdown[python_targets_python3_9(-)] ) ) virtual/pkgconfig python_single_target_python3_6? ( dev-lang/python:3.6[xml] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[xml] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[xml] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[xml] >=dev-lang/python-exec-2:=[python_targets_python3_9] ) gtk-doc? ( >=dev-util/gtk-doc-1.19 app-text/docbook-xml-dtd:4.3 app-text/docbook-xml-dtd:4.5 ) sys-devel/bison sys-devel/flex test? ( x11-libs/cairo[glib] python_single_target_python3_6? ( dev-python/mako[python_targets_python3_6(-)] dev-python/markdown[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/mako[python_targets_python3_7(-)] dev-python/markdown[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/mako[python_targets_python3_8(-)] dev-python/markdown[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/mako[python_targets_python3_9(-)] dev-python/markdown[python_targets_python3_9(-)] ) ) dev-util/desktop-file-utils x11-misc/shared-mime-info
-DESCRIPTION=Introspection system for GObject-based libraries
-EAPI=7
-HOMEPAGE=https://wiki.gnome.org/Projects/GObjectIntrospection
-IUSE=cros_host doctool gtk-doc test python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
-KEYWORDS=*
-LICENSE=LGPL-2+ GPL-2+
-RDEPEND=>=dev-libs/gobject-introspection-common-1.68.0 >=dev-libs/glib-2.58.0:2 dev-libs/libffi:= doctool? ( python_single_target_python3_6? ( dev-python/mako[python_targets_python3_6(-)] dev-python/markdown[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/mako[python_targets_python3_7(-)] dev-python/markdown[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/mako[python_targets_python3_8(-)] dev-python/markdown[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/mako[python_targets_python3_9(-)] dev-python/markdown[python_targets_python3_9(-)] ) ) virtual/pkgconfig python_single_target_python3_6? ( dev-lang/python:3.6[xml] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[xml] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[xml] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[xml] >=dev-lang/python-exec-2:=[python_targets_python3_9] )
-REQUIRED_USE=^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 )
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=mirror://gnome/sources/gobject-introspection/1.68/gobject-introspection-1.68.0.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnome.org	532d56d07b9eace4831aaa817d2b756a	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg	c7ba313ea1eaf266f95cc6235f7d6a07	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=b5ddc2829386ed33d15e5cf9e2c880f3
diff --git a/metadata/md5-cache/dev-libs/gobject-introspection-1.68.0-r2 b/metadata/md5-cache/dev-libs/gobject-introspection-1.68.0-r2
deleted file mode 100644
index cba5106..0000000
--- a/metadata/md5-cache/dev-libs/gobject-introspection-1.68.0-r2
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=!cros_host? ( >=dev-libs/gobject-introspection-1.68.0 app-emulation/qemu ) app-arch/xz-utils >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup test
-DEPEND=>=dev-libs/gobject-introspection-common-1.68.0 >=dev-libs/glib-2.58.0:2 dev-libs/libffi:= doctool? ( python_single_target_python3_6? ( dev-python/mako[python_targets_python3_6(-)] dev-python/markdown[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/mako[python_targets_python3_7(-)] dev-python/markdown[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/mako[python_targets_python3_8(-)] dev-python/markdown[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/mako[python_targets_python3_9(-)] dev-python/markdown[python_targets_python3_9(-)] ) ) virtual/pkgconfig python_single_target_python3_6? ( dev-lang/python:3.6[xml] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[xml] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[xml] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[xml] >=dev-lang/python-exec-2:=[python_targets_python3_9] ) gtk-doc? ( >=dev-util/gtk-doc-1.19 app-text/docbook-xml-dtd:4.3 app-text/docbook-xml-dtd:4.5 ) sys-devel/bison sys-devel/flex test? ( x11-libs/cairo[glib] python_single_target_python3_6? ( dev-python/mako[python_targets_python3_6(-)] dev-python/markdown[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/mako[python_targets_python3_7(-)] dev-python/markdown[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/mako[python_targets_python3_8(-)] dev-python/markdown[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/mako[python_targets_python3_9(-)] dev-python/markdown[python_targets_python3_9(-)] ) ) dev-util/desktop-file-utils x11-misc/shared-mime-info
-DESCRIPTION=Introspection system for GObject-based libraries
-EAPI=7
-HOMEPAGE=https://wiki.gnome.org/Projects/GObjectIntrospection
-IUSE=cros_host doctool gtk-doc test python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
-KEYWORDS=*
-LICENSE=LGPL-2+ GPL-2+
-RDEPEND=>=dev-libs/gobject-introspection-common-1.68.0 >=dev-libs/glib-2.58.0:2 dev-libs/libffi:= doctool? ( python_single_target_python3_6? ( dev-python/mako[python_targets_python3_6(-)] dev-python/markdown[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/mako[python_targets_python3_7(-)] dev-python/markdown[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/mako[python_targets_python3_8(-)] dev-python/markdown[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/mako[python_targets_python3_9(-)] dev-python/markdown[python_targets_python3_9(-)] ) ) virtual/pkgconfig python_single_target_python3_6? ( dev-lang/python:3.6[xml] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[xml] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[xml] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[xml] >=dev-lang/python-exec-2:=[python_targets_python3_9] )
-REQUIRED_USE=^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 )
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=mirror://gnome/sources/gobject-introspection/1.68/gobject-introspection-1.68.0.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnome.org	532d56d07b9eace4831aaa817d2b756a	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg	c7ba313ea1eaf266f95cc6235f7d6a07	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=b5ddc2829386ed33d15e5cf9e2c880f3
diff --git a/metadata/md5-cache/dev-libs/gobject-introspection-1.72.0-r1 b/metadata/md5-cache/dev-libs/gobject-introspection-1.72.0-r1
new file mode 100644
index 0000000..3877a93
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/gobject-introspection-1.72.0-r1
@@ -0,0 +1,16 @@
+BDEPEND=!cros_host? ( >=dev-libs/gobject-introspection-1.72.0 app-emulation/qemu ) app-arch/xz-utils >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup test
+DEPEND=>=dev-libs/gobject-introspection-common-1.72.0 >=dev-libs/glib-2.58.0:2 dev-libs/libffi:= doctool? ( python_single_target_python3_6? ( dev-python/mako[python_targets_python3_6(-)] dev-python/markdown[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/mako[python_targets_python3_7(-)] dev-python/markdown[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/mako[python_targets_python3_8(-)] dev-python/markdown[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/mako[python_targets_python3_9(-)] dev-python/markdown[python_targets_python3_9(-)] ) ) virtual/pkgconfig python_single_target_python3_6? ( dev-lang/python:3.6[xml] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[xml] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[xml] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[xml] >=dev-lang/python-exec-2:=[python_targets_python3_9] ) gtk-doc? ( >=dev-util/gtk-doc-1.19 app-text/docbook-xml-dtd:4.3 app-text/docbook-xml-dtd:4.5 ) sys-devel/bison sys-devel/flex test? ( x11-libs/cairo[glib] python_single_target_python3_6? ( dev-python/mako[python_targets_python3_6(-)] dev-python/markdown[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/mako[python_targets_python3_7(-)] dev-python/markdown[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/mako[python_targets_python3_8(-)] dev-python/markdown[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/mako[python_targets_python3_9(-)] dev-python/markdown[python_targets_python3_9(-)] ) ) dev-util/desktop-file-utils x11-misc/shared-mime-info
+DESCRIPTION=Introspection system for GObject-based libraries
+EAPI=7
+HOMEPAGE=https://wiki.gnome.org/Projects/GObjectIntrospection
+IUSE=cros_host doctool gtk-doc test python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
+KEYWORDS=*
+LICENSE=LGPL-2+ GPL-2+
+RDEPEND=>=dev-libs/gobject-introspection-common-1.72.0 >=dev-libs/glib-2.58.0:2 dev-libs/libffi:= doctool? ( python_single_target_python3_6? ( dev-python/mako[python_targets_python3_6(-)] dev-python/markdown[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/mako[python_targets_python3_7(-)] dev-python/markdown[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/mako[python_targets_python3_8(-)] dev-python/markdown[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/mako[python_targets_python3_9(-)] dev-python/markdown[python_targets_python3_9(-)] ) ) virtual/pkgconfig python_single_target_python3_6? ( dev-lang/python:3.6[xml] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[xml] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[xml] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[xml] >=dev-lang/python-exec-2:=[python_targets_python3_9] )
+REQUIRED_USE=^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=mirror://gnome/sources/gobject-introspection/1.72/gobject-introspection-1.72.0.tar.xz
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnome.org	532d56d07b9eace4831aaa817d2b756a	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg	c7ba313ea1eaf266f95cc6235f7d6a07	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=e8db6180e158dac2962e0ef93629514c
diff --git a/metadata/md5-cache/dev-libs/gobject-introspection-common-1.68.0 b/metadata/md5-cache/dev-libs/gobject-introspection-common-1.68.0
deleted file mode 100644
index fc22d9741..0000000
--- a/metadata/md5-cache/dev-libs/gobject-introspection-common-1.68.0
+++ /dev/null
@@ -1,12 +0,0 @@
-BDEPEND=app-arch/xz-utils
-DEFINED_PHASES=compile configure install
-DESCRIPTION=Build infrastructure for GObject Introspection
-EAPI=7
-HOMEPAGE=https://wiki.gnome.org/Projects/GObjectIntrospection
-KEYWORDS=*
-LICENSE=HPND
-RDEPEND=!<dev-libs/gobject-introspection-1.68.0
-SLOT=0
-SRC_URI=mirror://gnome/sources/gobject-introspection/1.68/gobject-introspection-1.68.0.tar.xz
-_eclasses_=gnome.org	532d56d07b9eace4831aaa817d2b756a
-_md5_=bf98c7e1b016eee334b95d6349e9de4a
diff --git a/metadata/md5-cache/dev-libs/gobject-introspection-common-1.72.0 b/metadata/md5-cache/dev-libs/gobject-introspection-common-1.72.0
new file mode 100644
index 0000000..78af694
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/gobject-introspection-common-1.72.0
@@ -0,0 +1,12 @@
+BDEPEND=app-arch/xz-utils
+DEFINED_PHASES=compile configure install
+DESCRIPTION=Build infrastructure for GObject Introspection
+EAPI=7
+HOMEPAGE=https://wiki.gnome.org/Projects/GObjectIntrospection
+KEYWORDS=*
+LICENSE=HPND
+RDEPEND=!<dev-libs/gobject-introspection-1.72.0
+SLOT=0
+SRC_URI=mirror://gnome/sources/gobject-introspection/1.72/gobject-introspection-1.72.0.tar.xz
+_eclasses_=gnome.org	532d56d07b9eace4831aaa817d2b756a
+_md5_=62d56e049018fe218b2d5bfcb910b386
diff --git a/metadata/md5-cache/dev-libs/intel-onednn-0.0.1 b/metadata/md5-cache/dev-libs/intel-onednn-0.0.1
new file mode 100644
index 0000000..33dbe3d
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/intel-onednn-0.0.1
@@ -0,0 +1,13 @@
+BDEPEND=dev-util/ninja >=dev-util/cmake-3.9.6 >=dev-vcs/git-1.8.2.1[curl]
+DEFINED_PHASES=compile configure install prepare test unpack
+DEPEND=dev-util/opencl-headers
+DESCRIPTION=Intel oneAPI Deep Neural Network Library (oneDNN)
+EAPI=7
+HOMEPAGE=https://github.com/oneapi-src/oneDNN
+IUSE=+clang
+KEYWORDS=-* amd64
+LICENSE=Apache-2.0 MIT BSD-2 BSD-3 Boost-1.0
+PROPERTIES=live
+SLOT=0
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-r3	c8f4649ab5a3c07ee2b75b12bc446f6a	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=3807ca0d747cf6de7276b4cc30b043b7
diff --git a/metadata/md5-cache/dev-libs/intel-onednn-0.0.1-r1 b/metadata/md5-cache/dev-libs/intel-onednn-0.0.1-r1
new file mode 100644
index 0000000..33dbe3d
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/intel-onednn-0.0.1-r1
@@ -0,0 +1,13 @@
+BDEPEND=dev-util/ninja >=dev-util/cmake-3.9.6 >=dev-vcs/git-1.8.2.1[curl]
+DEFINED_PHASES=compile configure install prepare test unpack
+DEPEND=dev-util/opencl-headers
+DESCRIPTION=Intel oneAPI Deep Neural Network Library (oneDNN)
+EAPI=7
+HOMEPAGE=https://github.com/oneapi-src/oneDNN
+IUSE=+clang
+KEYWORDS=-* amd64
+LICENSE=Apache-2.0 MIT BSD-2 BSD-3 Boost-1.0
+PROPERTIES=live
+SLOT=0
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-r3	c8f4649ab5a3c07ee2b75b12bc446f6a	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=3807ca0d747cf6de7276b4cc30b043b7
diff --git a/metadata/md5-cache/dev-libs/libevent-2.1.12 b/metadata/md5-cache/dev-libs/libevent-2.1.12
new file mode 100644
index 0000000..e6cfdd2
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/libevent-2.1.12
@@ -0,0 +1,14 @@
+BDEPEND=>=app-portage/elt-patches-20170815
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=ssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=A library to execute a function when a specific event occurs on a file descriptor
+EAPI=7
+HOMEPAGE=https://libevent.org/ https://github.com/libevent/libevent/
+IUSE=debug +ssl static-libs test +threads abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
+KEYWORDS=*
+LICENSE=BSD
+RDEPEND=ssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !<=dev-libs/9libs-1.0
+SLOT=0/2.1-7
+SRC_URI=https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz -> libevent-2.1.12.tar.gz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9e62bf6bd3cb760b5a6bf7519e3eac0d
diff --git a/metadata/md5-cache/dev-libs/libevent-2.1.8 b/metadata/md5-cache/dev-libs/libevent-2.1.8
deleted file mode 100644
index 75d315d..0000000
--- a/metadata/md5-cache/dev-libs/libevent-2.1.8
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=ssl? ( !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libressl? ( dev-libs/libressl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=A library to execute a function when a specific event occurs on a file descriptor
-EAPI=5
-HOMEPAGE=http://libevent.org/ https://github.com/libevent/libevent/
-IUSE=debug libressl +ssl static-libs test +threads abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=BSD
-RDEPEND=ssl? ( !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libressl? ( dev-libs/libressl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) !<=dev-libs/9libs-1.0
-SLOT=0/2.1-6
-SRC_URI=https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz -> libevent-2.1.8.tar.gz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=4c6cc22ff59d0c61a0021ea23c699782
diff --git a/metadata/md5-cache/dev-libs/libevent-2.1.8-r2 b/metadata/md5-cache/dev-libs/libevent-2.1.8-r2
deleted file mode 100644
index 75d315d..0000000
--- a/metadata/md5-cache/dev-libs/libevent-2.1.8-r2
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=ssl? ( !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libressl? ( dev-libs/libressl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=A library to execute a function when a specific event occurs on a file descriptor
-EAPI=5
-HOMEPAGE=http://libevent.org/ https://github.com/libevent/libevent/
-IUSE=debug libressl +ssl static-libs test +threads abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=BSD
-RDEPEND=ssl? ( !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libressl? ( dev-libs/libressl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) !<=dev-libs/9libs-1.0
-SLOT=0/2.1-6
-SRC_URI=https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz -> libevent-2.1.8.tar.gz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=4c6cc22ff59d0c61a0021ea23c699782
diff --git a/metadata/md5-cache/dev-libs/libgrammar-0.0.5 b/metadata/md5-cache/dev-libs/libgrammar-0.0.5
deleted file mode 100644
index 8c08ab6..0000000
--- a/metadata/md5-cache/dev-libs/libgrammar-0.0.5
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Google grammar check library for Chrome OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=ondevice_grammar
-KEYWORDS=*
-LICENSE=BSD-Google
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/libgrammar-0.0.5.tar.gz
-_md5_=d2a225a0a3f1b5c405c8be6c6e1f95d0
diff --git a/metadata/md5-cache/dev-libs/libgrammar-0.0.5-r1 b/metadata/md5-cache/dev-libs/libgrammar-0.0.5-r1
deleted file mode 100644
index 8c08ab6..0000000
--- a/metadata/md5-cache/dev-libs/libgrammar-0.0.5-r1
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Google grammar check library for Chrome OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-IUSE=ondevice_grammar
-KEYWORDS=*
-LICENSE=BSD-Google
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/libgrammar-0.0.5.tar.gz
-_md5_=d2a225a0a3f1b5c405c8be6c6e1f95d0
diff --git a/metadata/md5-cache/dev-libs/libgrammar-0.9.0 b/metadata/md5-cache/dev-libs/libgrammar-0.9.0
new file mode 100644
index 0000000..0bbd4b7
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/libgrammar-0.9.0
@@ -0,0 +1,10 @@
+DEFINED_PHASES=install
+DESCRIPTION=Google grammar check library for Chrome OS
+EAPI=7
+HOMEPAGE=https://www.chromium.org/chromium-os
+IUSE=ondevice_grammar
+KEYWORDS=*
+LICENSE=BSD-Google
+SLOT=0
+SRC_URI=amd64? ( gs://chromeos-localmirror/distfiles/libgrammar-amd64-0.9.0.tar.gz ) arm? ( gs://chromeos-localmirror/distfiles/libgrammar-arm-0.9.0.tar.gz ) arm64? ( gs://chromeos-localmirror/distfiles/libgrammar-arm64-0.9.0.tar.gz )
+_md5_=7f544a4bcb97e6697d581c4b1ab7e146
diff --git a/metadata/md5-cache/dev-libs/libgrammar-0.9.0-r1 b/metadata/md5-cache/dev-libs/libgrammar-0.9.0-r1
new file mode 100644
index 0000000..0bbd4b7
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/libgrammar-0.9.0-r1
@@ -0,0 +1,10 @@
+DEFINED_PHASES=install
+DESCRIPTION=Google grammar check library for Chrome OS
+EAPI=7
+HOMEPAGE=https://www.chromium.org/chromium-os
+IUSE=ondevice_grammar
+KEYWORDS=*
+LICENSE=BSD-Google
+SLOT=0
+SRC_URI=amd64? ( gs://chromeos-localmirror/distfiles/libgrammar-amd64-0.9.0.tar.gz ) arm? ( gs://chromeos-localmirror/distfiles/libgrammar-arm-0.9.0.tar.gz ) arm64? ( gs://chromeos-localmirror/distfiles/libgrammar-arm64-0.9.0.tar.gz )
+_md5_=7f544a4bcb97e6697d581c4b1ab7e146
diff --git a/metadata/md5-cache/dev-libs/libjcat-0.1.8 b/metadata/md5-cache/dev-libs/libjcat-0.1.8
index de1c6a3..f4581d2 100644
--- a/metadata/md5-cache/dev-libs/libjcat-0.1.8
+++ b/metadata/md5-cache/dev-libs/libjcat-0.1.8
@@ -1,4 +1,4 @@
-BDEPEND=virtual/pkgconfig || ( ( dev-lang/python:3.9[xml] dev-python/setuptools[python_targets_python3_9(-),python_single_target_python3_9(+)] ) ( dev-lang/python:3.8[xml] dev-python/setuptools[python_targets_python3_8(-),python_single_target_python3_8(+)] ) ( dev-lang/python:3.7[xml] dev-python/setuptools[python_targets_python3_7(-),python_single_target_python3_7(+)] ) ( dev-lang/python:3.6[xml] dev-python/setuptools[python_targets_python3_6(-),python_single_target_python3_6(+)] ) ( >=dev-lang/python-2.7.5-r2:2.7[xml] dev-python/setuptools[python_targets_python2_7(-),python_single_target_python2_7(+)] ) ) gtk-doc? ( dev-util/gtk-doc ) man? ( sys-apps/help2man ) test? ( net-libs/gnutls[tools] ) >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+BDEPEND=virtual/pkgconfig || ( ( dev-lang/python:3.9[xml] dev-python/setuptools[python_targets_python3_9(-),python_single_target_python3_9(+)] ) ( dev-lang/python:3.8[xml] dev-python/setuptools[python_targets_python3_8(-),python_single_target_python3_8(+)] ) ( dev-lang/python:3.7[xml] dev-python/setuptools[python_targets_python3_7(-),python_single_target_python3_7(+)] ) ( dev-lang/python:3.6[xml] dev-python/setuptools[python_targets_python3_6(-),python_single_target_python3_6(+)] ) ( >=dev-lang/python-2.7.5-r2:2.7[xml] dev-python/setuptools[python_targets_python2_7(-),python_single_target_python2_7(+)] ) ) gtk-doc? ( dev-util/gtk-doc ) man? ( sys-apps/help2man ) test? ( net-libs/gnutls[tools] ) >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
 DEFINED_PHASES=compile configure install prepare setup test
 DEPEND=dev-libs/glib:2 dev-libs/json-glib:= gpg? ( app-crypt/gpgme dev-libs/libgpg-error ) introspection? ( dev-libs/gobject-introspection:= ) pkcs7? ( net-libs/gnutls ) vala? ( dev-lang/vala:= )
 DESCRIPTION=Library and tool for reading and writing Jcat files
@@ -11,5 +11,5 @@
 RESTRICT=!test? ( test )
 SLOT=0
 SRC_URI=https://github.com/hughsie/libjcat/archive/0.1.8.tar.gz -> libjcat-0.1.8.tar.gz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vala	2f3804278870542119da624a5eded505	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vala	2f3804278870542119da624a5eded505	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
 _md5_=83028dedb16c5c9b8286bbf81d2850ff
diff --git a/metadata/md5-cache/dev-libs/libjcat-0.1.8-r1 b/metadata/md5-cache/dev-libs/libjcat-0.1.8-r1
index de1c6a3..f4581d2 100644
--- a/metadata/md5-cache/dev-libs/libjcat-0.1.8-r1
+++ b/metadata/md5-cache/dev-libs/libjcat-0.1.8-r1
@@ -1,4 +1,4 @@
-BDEPEND=virtual/pkgconfig || ( ( dev-lang/python:3.9[xml] dev-python/setuptools[python_targets_python3_9(-),python_single_target_python3_9(+)] ) ( dev-lang/python:3.8[xml] dev-python/setuptools[python_targets_python3_8(-),python_single_target_python3_8(+)] ) ( dev-lang/python:3.7[xml] dev-python/setuptools[python_targets_python3_7(-),python_single_target_python3_7(+)] ) ( dev-lang/python:3.6[xml] dev-python/setuptools[python_targets_python3_6(-),python_single_target_python3_6(+)] ) ( >=dev-lang/python-2.7.5-r2:2.7[xml] dev-python/setuptools[python_targets_python2_7(-),python_single_target_python2_7(+)] ) ) gtk-doc? ( dev-util/gtk-doc ) man? ( sys-apps/help2man ) test? ( net-libs/gnutls[tools] ) >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+BDEPEND=virtual/pkgconfig || ( ( dev-lang/python:3.9[xml] dev-python/setuptools[python_targets_python3_9(-),python_single_target_python3_9(+)] ) ( dev-lang/python:3.8[xml] dev-python/setuptools[python_targets_python3_8(-),python_single_target_python3_8(+)] ) ( dev-lang/python:3.7[xml] dev-python/setuptools[python_targets_python3_7(-),python_single_target_python3_7(+)] ) ( dev-lang/python:3.6[xml] dev-python/setuptools[python_targets_python3_6(-),python_single_target_python3_6(+)] ) ( >=dev-lang/python-2.7.5-r2:2.7[xml] dev-python/setuptools[python_targets_python2_7(-),python_single_target_python2_7(+)] ) ) gtk-doc? ( dev-util/gtk-doc ) man? ( sys-apps/help2man ) test? ( net-libs/gnutls[tools] ) >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
 DEFINED_PHASES=compile configure install prepare setup test
 DEPEND=dev-libs/glib:2 dev-libs/json-glib:= gpg? ( app-crypt/gpgme dev-libs/libgpg-error ) introspection? ( dev-libs/gobject-introspection:= ) pkcs7? ( net-libs/gnutls ) vala? ( dev-lang/vala:= )
 DESCRIPTION=Library and tool for reading and writing Jcat files
@@ -11,5 +11,5 @@
 RESTRICT=!test? ( test )
 SLOT=0
 SRC_URI=https://github.com/hughsie/libjcat/archive/0.1.8.tar.gz -> libjcat-0.1.8.tar.gz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vala	2f3804278870542119da624a5eded505	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vala	2f3804278870542119da624a5eded505	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
 _md5_=83028dedb16c5c9b8286bbf81d2850ff
diff --git a/metadata/md5-cache/dev-libs/libp11-0.2.8-r5 b/metadata/md5-cache/dev-libs/libp11-0.2.8-r5
deleted file mode 100644
index 01bc0ef..0000000
--- a/metadata/md5-cache/dev-libs/libp11-0.2.8-r5
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=configure install prepare
-DEPEND=dev-libs/openssl dev-util/pkgconfig doc? ( app-doc/doxygen ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=A library implementing a layer on top of PKCS#11 API to make using PKCS#11 implementations easier.
-EAPI=4
-HOMEPAGE=http://www.opensc-project.org/libp11/
-IUSE=doc
-KEYWORDS=*
-LICENSE=LGPL-2.1
-RDEPEND=dev-libs/openssl
-SLOT=0
-SRC_URI=http://www.opensc-project.org/files/libp11/libp11-0.2.8.tar.gz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=839c12f10f20768cb33d3898ef148a08
diff --git a/metadata/md5-cache/dev-libs/libp11-0.2.8-r6 b/metadata/md5-cache/dev-libs/libp11-0.2.8-r6
new file mode 100644
index 0000000..5da9c54
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/libp11-0.2.8-r6
@@ -0,0 +1,13 @@
+DEFINED_PHASES=configure install prepare
+DEPEND=dev-libs/openssl doc? ( app-doc/doxygen ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=A library implementing a layer on top of PKCS#11 API to make using PKCS#11 implementations easier.
+EAPI=4
+HOMEPAGE=http://www.opensc-project.org/libp11/
+IUSE=doc
+KEYWORDS=*
+LICENSE=LGPL-2.1
+RDEPEND=dev-libs/openssl
+SLOT=0
+SRC_URI=http://www.opensc-project.org/files/libp11/libp11-0.2.8.tar.gz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=5a42b0082cdfee8488d157ed8c275eed
diff --git a/metadata/md5-cache/dev-libs/libtextclassifier-0.0.1-r174 b/metadata/md5-cache/dev-libs/libtextclassifier-0.0.1-r174
deleted file mode 100644
index 77256ca..0000000
--- a/metadata/md5-cache/dev-libs/libtextclassifier-0.0.1-r174
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/chrome-icu:= dev-libs/flatbuffers:= sci-libs/tensorflow:= sys-libs/zlib:= !<chromeos-base/ml-0.0.1-r369 dev-libs/libutf:= dev-libs/marisa-aosp:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Library for classifying text
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/libtextclassifier/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4fa2be0611424952390eb570106ed5944e294b46 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4fa2be0611424952390eb570106ed5944e294b46 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=Apache-2.0
-PROPERTIES=live live
-RDEPEND=chromeos-base/chrome-icu:= dev-libs/flatbuffers:= sci-libs/tensorflow:= sys-libs/zlib:= !<chromeos-base/ml-0.0.1-r369 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r174
-SRC_URI=gs://chromeos-localmirror/distfiles/mlservice-model-language_identification-20190924.smfb gs://chromeos-localmirror/distfiles/mlservice-model-text_classifier_en-v711_vocab-v1.fb
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e39de02da66709b35fb613c3882416bd
diff --git a/metadata/md5-cache/dev-libs/libtextclassifier-0.0.1-r232 b/metadata/md5-cache/dev-libs/libtextclassifier-0.0.1-r232
new file mode 100644
index 0000000..798d3fb
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/libtextclassifier-0.0.1-r232
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/chrome-icu:= dev-libs/flatbuffers:= sci-libs/tensorflow:= sys-libs/zlib:= !<chromeos-base/ml-0.0.1-r369 dev-libs/libutf:= dev-libs/marisa-aosp:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Library for classifying text
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/libtextclassifier/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4fa2be0611424952390eb570106ed5944e294b46 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4fa2be0611424952390eb570106ed5944e294b46 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=Apache-2.0
+PROPERTIES=live live
+RDEPEND=chromeos-base/chrome-icu:= dev-libs/flatbuffers:= sci-libs/tensorflow:= sys-libs/zlib:= !<chromeos-base/ml-0.0.1-r369 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r232
+SRC_URI=gs://chromeos-localmirror/distfiles/mlservice-model-language_identification-20190924.smfb gs://chromeos-localmirror/distfiles/mlservice-model-text_classifier_en-v714_vocab-with_beginner_words-20220318.fb
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e3a6d5ea63f0dc0f182c35c42478a22d
diff --git a/metadata/md5-cache/dev-libs/libtextclassifier-9999 b/metadata/md5-cache/dev-libs/libtextclassifier-9999
index b91e33d..c495dbd 100644
--- a/metadata/md5-cache/dev-libs/libtextclassifier-9999
+++ b/metadata/md5-cache/dev-libs/libtextclassifier-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/chrome-icu:= dev-libs/flatbuffers:= sci-libs/tensorflow:= sys-libs/zlib:= !<chromeos-base/ml-0.0.1-r369 dev-libs/libutf:= dev-libs/marisa-aosp:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/chrome-icu:= dev-libs/flatbuffers:= sci-libs/tensorflow:= sys-libs/zlib:= !<chromeos-base/ml-0.0.1-r369 dev-libs/libutf:= dev-libs/marisa-aosp:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Library for classifying text
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/libtextclassifier/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=Apache-2.0
 PROPERTIES=live live
 RDEPEND=chromeos-base/chrome-icu:= dev-libs/flatbuffers:= sci-libs/tensorflow:= sys-libs/zlib:= !<chromeos-base/ml-0.0.1-r369 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-SRC_URI=gs://chromeos-localmirror/distfiles/mlservice-model-language_identification-20190924.smfb gs://chromeos-localmirror/distfiles/mlservice-model-text_classifier_en-v711_vocab-v1.fb
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=63c58468c481fdea1d8401395184f1c2
+SRC_URI=gs://chromeos-localmirror/distfiles/mlservice-model-language_identification-20190924.smfb gs://chromeos-localmirror/distfiles/mlservice-model-text_classifier_en-v714_vocab-with_beginner_words-20220318.fb
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7102f1da9f534dc54f8757267d202cb8
diff --git a/metadata/md5-cache/dev-libs/libtraceevent-1.6.2 b/metadata/md5-cache/dev-libs/libtraceevent-1.6.2
new file mode 100644
index 0000000..1d80aa3
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/libtraceevent-1.6.2
@@ -0,0 +1,12 @@
+DEFINED_PHASES=configure
+DEPEND=!<dev-util/trace-cmd-3.0.0 test? ( dev-util/cunit )
+DESCRIPTION=Library to parse raw Linux kernel trace event formats
+EAPI=7
+HOMEPAGE=https://www.trace-cmd.org
+IUSE=test
+KEYWORDS=*
+LICENSE=LGPL-2.1
+RDEPEND=!<dev-util/trace-cmd-3.0.0
+SLOT=0/1
+SRC_URI=https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/snapshot/libtraceevent-1.6.2.tar.gz
+_md5_=214eb890fa9a3ca27d1cd985a54c9ab3
diff --git a/metadata/md5-cache/dev-libs/libtraceevent-1.6.2-r2 b/metadata/md5-cache/dev-libs/libtraceevent-1.6.2-r2
new file mode 100644
index 0000000..1d80aa3
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/libtraceevent-1.6.2-r2
@@ -0,0 +1,12 @@
+DEFINED_PHASES=configure
+DEPEND=!<dev-util/trace-cmd-3.0.0 test? ( dev-util/cunit )
+DESCRIPTION=Library to parse raw Linux kernel trace event formats
+EAPI=7
+HOMEPAGE=https://www.trace-cmd.org
+IUSE=test
+KEYWORDS=*
+LICENSE=LGPL-2.1
+RDEPEND=!<dev-util/trace-cmd-3.0.0
+SLOT=0/1
+SRC_URI=https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/snapshot/libtraceevent-1.6.2.tar.gz
+_md5_=214eb890fa9a3ca27d1cd985a54c9ab3
diff --git a/metadata/md5-cache/dev-libs/libtracefs-1.4.2 b/metadata/md5-cache/dev-libs/libtracefs-1.4.2
new file mode 100644
index 0000000..99bdee3
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/libtracefs-1.4.2
@@ -0,0 +1,12 @@
+DEFINED_PHASES=configure
+DEPEND=!<dev-util/trace-cmd-3.0.0 dev-libs/libtraceevent:= test? ( dev-util/cunit )
+DESCRIPTION=Library to access the Linux tracing tracefs file system
+EAPI=7
+HOMEPAGE=https://www.trace-cmd.org
+IUSE=test
+KEYWORDS=*
+LICENSE=LGPL-2.1
+RDEPEND=!<dev-util/trace-cmd-3.0.0
+SLOT=0/1
+SRC_URI=https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot/libtracefs-1.4.2.tar.gz
+_md5_=d7922582386d2d146d026649b82edfb3
diff --git a/metadata/md5-cache/dev-libs/libtracefs-1.4.2-r2 b/metadata/md5-cache/dev-libs/libtracefs-1.4.2-r2
new file mode 100644
index 0000000..99bdee3
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/libtracefs-1.4.2-r2
@@ -0,0 +1,12 @@
+DEFINED_PHASES=configure
+DEPEND=!<dev-util/trace-cmd-3.0.0 dev-libs/libtraceevent:= test? ( dev-util/cunit )
+DESCRIPTION=Library to access the Linux tracing tracefs file system
+EAPI=7
+HOMEPAGE=https://www.trace-cmd.org
+IUSE=test
+KEYWORDS=*
+LICENSE=LGPL-2.1
+RDEPEND=!<dev-util/trace-cmd-3.0.0
+SLOT=0/1
+SRC_URI=https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot/libtracefs-1.4.2.tar.gz
+_md5_=d7922582386d2d146d026649b82edfb3
diff --git a/metadata/md5-cache/dev-libs/libusbhp-1.0.2 b/metadata/md5-cache/dev-libs/libusbhp-1.0.2
deleted file mode 100644
index 75580be..0000000
--- a/metadata/md5-cache/dev-libs/libusbhp-1.0.2
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=configure install
-DEPEND=virtual/udev dev-util/pkgconfig
-DESCRIPTION=Usb Hotplug Library
-EAPI=5
-HOMEPAGE=http://www.aasimon.org/libusbhp/
-IUSE=static-libs
-KEYWORDS=*
-LICENSE=GPL-3
-RDEPEND=virtual/udev
-SLOT=0
-SRC_URI=http://www.aasimon.org/libusbhp/libusbhp-1.0.2.tar.gz
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=1b182be080d3c5113860e66bc23e44df
diff --git a/metadata/md5-cache/dev-libs/libutf-0.0.1-r126 b/metadata/md5-cache/dev-libs/libutf-0.0.1-r126
deleted file mode 100644
index c25ed32..0000000
--- a/metadata/md5-cache/dev-libs/libutf-0.0.1-r126
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=A UTF-8 library based on the AOSP version of libutf.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/aosp/platform/external/libutf/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_fc022abae9d52285526cb0dda697e2bea18696ca cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_fc022abae9d52285526cb0dda697e2bea18696ca cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=MIT
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=379166c75a347418cb2a1bc7b387e259
diff --git a/metadata/md5-cache/dev-libs/libutf-0.0.1-r183 b/metadata/md5-cache/dev-libs/libutf-0.0.1-r183
new file mode 100644
index 0000000..6f7f2d3
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/libutf-0.0.1-r183
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=A UTF-8 library based on the AOSP version of libutf.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/aosp/platform/external/libutf/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_fc022abae9d52285526cb0dda697e2bea18696ca cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_fc022abae9d52285526cb0dda697e2bea18696ca cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=MIT
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=587dfe9fcc31241f59f27613ce37354e
diff --git a/metadata/md5-cache/dev-libs/libutf-9999 b/metadata/md5-cache/dev-libs/libutf-9999
index 8d4146b..125b032 100644
--- a/metadata/md5-cache/dev-libs/libutf-9999
+++ b/metadata/md5-cache/dev-libs/libutf-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=A UTF-8 library based on the AOSP version of libutf.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/aosp/platform/external/libutf/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=MIT
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=2fbdb434ee69b4096490988f63d67f4c
diff --git a/metadata/md5-cache/dev-libs/libxmlb-0.3.2 b/metadata/md5-cache/dev-libs/libxmlb-0.3.2
index 26e63fa..e60fa6b 100644
--- a/metadata/md5-cache/dev-libs/libxmlb-0.3.2
+++ b/metadata/md5-cache/dev-libs/libxmlb-0.3.2
@@ -1,4 +1,4 @@
-BDEPEND=|| ( dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-util/meson-0.47.0 virtual/pkgconfig introspection? ( || ( ( dev-lang/python:3.8 dev-python/setuptools[python_targets_python3_8(-),python_single_target_python3_8(+)] ) ( dev-lang/python:3.7 dev-python/setuptools[python_targets_python3_7(-),python_single_target_python3_7(+)] ) ( dev-lang/python:3.6 dev-python/setuptools[python_targets_python3_6(-),python_single_target_python3_6(+)] ) ( >=dev-lang/python-2.7.5-r2:2.7 dev-python/setuptools[python_targets_python2_7(-),python_single_target_python2_7(+)] ) ) ) >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+BDEPEND=|| ( dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-util/meson-0.47.0 virtual/pkgconfig introspection? ( || ( ( dev-lang/python:3.8 dev-python/setuptools[python_targets_python3_8(-),python_single_target_python3_8(+)] ) ( dev-lang/python:3.7 dev-python/setuptools[python_targets_python3_7(-),python_single_target_python3_7(+)] ) ( dev-lang/python:3.6 dev-python/setuptools[python_targets_python3_6(-),python_single_target_python3_6(+)] ) ( >=dev-lang/python-2.7.5-r2:2.7 dev-python/setuptools[python_targets_python2_7(-),python_single_target_python2_7(+)] ) ) ) >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
 DEFINED_PHASES=compile configure install setup test
 DEPEND=dev-libs/glib:2 sys-apps/util-linux stemmer? ( dev-libs/snowball-stemmer ) doc? ( dev-util/gtk-doc ) introspection? ( dev-libs/gobject-introspection )
 DESCRIPTION=Library to help create and query binary XML blobs
@@ -11,5 +11,5 @@
 RESTRICT=!test? ( test )
 SLOT=0/2
 SRC_URI=https://github.com/hughsie/libxmlb/archive/0.3.2.tar.gz -> libxmlb-0.3.2.tar.gz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=7d372143959aa1c691947c160f241a4f
diff --git a/metadata/md5-cache/dev-libs/libxmlb-0.3.2-r1 b/metadata/md5-cache/dev-libs/libxmlb-0.3.2-r1
index 26e63fa..e60fa6b 100644
--- a/metadata/md5-cache/dev-libs/libxmlb-0.3.2-r1
+++ b/metadata/md5-cache/dev-libs/libxmlb-0.3.2-r1
@@ -1,4 +1,4 @@
-BDEPEND=|| ( dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-util/meson-0.47.0 virtual/pkgconfig introspection? ( || ( ( dev-lang/python:3.8 dev-python/setuptools[python_targets_python3_8(-),python_single_target_python3_8(+)] ) ( dev-lang/python:3.7 dev-python/setuptools[python_targets_python3_7(-),python_single_target_python3_7(+)] ) ( dev-lang/python:3.6 dev-python/setuptools[python_targets_python3_6(-),python_single_target_python3_6(+)] ) ( >=dev-lang/python-2.7.5-r2:2.7 dev-python/setuptools[python_targets_python2_7(-),python_single_target_python2_7(+)] ) ) ) >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+BDEPEND=|| ( dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-util/meson-0.47.0 virtual/pkgconfig introspection? ( || ( ( dev-lang/python:3.8 dev-python/setuptools[python_targets_python3_8(-),python_single_target_python3_8(+)] ) ( dev-lang/python:3.7 dev-python/setuptools[python_targets_python3_7(-),python_single_target_python3_7(+)] ) ( dev-lang/python:3.6 dev-python/setuptools[python_targets_python3_6(-),python_single_target_python3_6(+)] ) ( >=dev-lang/python-2.7.5-r2:2.7 dev-python/setuptools[python_targets_python2_7(-),python_single_target_python2_7(+)] ) ) ) >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
 DEFINED_PHASES=compile configure install setup test
 DEPEND=dev-libs/glib:2 sys-apps/util-linux stemmer? ( dev-libs/snowball-stemmer ) doc? ( dev-util/gtk-doc ) introspection? ( dev-libs/gobject-introspection )
 DESCRIPTION=Library to help create and query binary XML blobs
@@ -11,5 +11,5 @@
 RESTRICT=!test? ( test )
 SLOT=0/2
 SRC_URI=https://github.com/hughsie/libxmlb/archive/0.3.2.tar.gz -> libxmlb-0.3.2.tar.gz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=7d372143959aa1c691947c160f241a4f
diff --git a/metadata/md5-cache/dev-libs/marisa-aosp-0.0.2 b/metadata/md5-cache/dev-libs/marisa-aosp-0.0.2
index be7594b..b1d08b0 100644
--- a/metadata/md5-cache/dev-libs/marisa-aosp-0.0.2
+++ b/metadata/md5-cache/dev-libs/marisa-aosp-0.0.2
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=MARISA: Matching Algorithm with Recursively Implemented StorAge (AOSP fork)
 EAPI=7
 HOMEPAGE=https://android.googlesource.com/platform/external/marisa-trie/
-IUSE=cros_host cros_workon_tree_9d87849894323414dd9afca425cb349d84a71f6b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_f68e9f2c95cfb02b54d9697d8b4a2ae0be2d546c cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_9d87849894323414dd9afca425cb349d84a71f6b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_f68e9f2c95cfb02b54d9697d8b4a2ae0be2d546c cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_9d87849894323414dd9afca425cb349d84a71f6b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_f68e9f2c95cfb02b54d9697d8b4a2ae0be2d546c cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_9d87849894323414dd9afca425cb349d84a71f6b_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_f68e9f2c95cfb02b54d9697d8b4a2ae0be2d546c cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=*
 LICENSE=BSD-2 LGPL-2.1 BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=a643d5ba607d0ec80c310c31483fdb31
diff --git a/metadata/md5-cache/dev-libs/marisa-aosp-9999 b/metadata/md5-cache/dev-libs/marisa-aosp-9999
index 9aaaf74..0dc3f43 100644
--- a/metadata/md5-cache/dev-libs/marisa-aosp-9999
+++ b/metadata/md5-cache/dev-libs/marisa-aosp-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=MARISA: Matching Algorithm with Recursively Implemented StorAge (AOSP fork)
 EAPI=7
 HOMEPAGE=https://android.googlesource.com/platform/external/marisa-trie/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-2 LGPL-2.1 BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=da03a94dcce3d7f8e3600321c9ab9d84
diff --git a/metadata/md5-cache/dev-libs/ml-core-0.0.1-r28 b/metadata/md5-cache/dev-libs/ml-core-0.0.1-r28
new file mode 100644
index 0000000..90b1521
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/ml-core-0.0.1-r28
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS ML Core Feature Library
+EAPI=7
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_4aad1773476a4fd5d6d51a5332a66ad94dd3aa13_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_4aad1773476a4fd5d6d51a5332a66ad94dd3aa13_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r28
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b7f1ea7cecf0c506df06675d3c24e65b
diff --git a/metadata/md5-cache/dev-libs/ml-core-9999 b/metadata/md5-cache/dev-libs/ml-core-9999
new file mode 100644
index 0000000..4e1d4b6
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/ml-core-9999
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS ML Core Feature Library
+EAPI=7
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/9999
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=85d02d42decbae6d69d7d3d5d180a885
diff --git a/metadata/md5-cache/dev-libs/modp_b64-0.0.1-r188 b/metadata/md5-cache/dev-libs/modp_b64-0.0.1-r188
deleted file mode 100644
index 67f07d6..0000000
--- a/metadata/md5-cache/dev-libs/modp_b64-0.0.1-r188
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Base64 encoder/decoder library.
-EAPI=6
-HOMEPAGE=https://github.com/client9/stringencoders
-IUSE=fuzzer fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_9473949bc842cc166ac244567638b94150a97865 cros-debug cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_9473949bc842cc166ac244567638b94150a97865 compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD
-PROPERTIES=live live
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=0f1c754e0f8259e689c6d36e71de5a3d
diff --git a/metadata/md5-cache/dev-libs/modp_b64-0.0.1-r245 b/metadata/md5-cache/dev-libs/modp_b64-0.0.1-r245
new file mode 100644
index 0000000..641adb7
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/modp_b64-0.0.1-r245
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Base64 encoder/decoder library.
+EAPI=6
+HOMEPAGE=https://github.com/client9/stringencoders
+IUSE=fuzzer fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_9473949bc842cc166ac244567638b94150a97865 cros-debug cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_9473949bc842cc166ac244567638b94150a97865 compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD
+PROPERTIES=live live
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=12e4e385518d75ee2dcfcfe79d5cc76a
diff --git a/metadata/md5-cache/dev-libs/modp_b64-9999 b/metadata/md5-cache/dev-libs/modp_b64-9999
index 175f728..e2a5825 100644
--- a/metadata/md5-cache/dev-libs/modp_b64-9999
+++ b/metadata/md5-cache/dev-libs/modp_b64-9999
@@ -3,10 +3,10 @@
 DESCRIPTION=Base64 encoder/decoder library.
 EAPI=6
 HOMEPAGE=https://github.com/client9/stringencoders
-IUSE=fuzzer fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug cros_host cros_workon_tree_ compilation_database cros_host test
+IUSE=fuzzer fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug cros_host cros_workon_tree_ compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD
 PROPERTIES=live live
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=dd60faffa8dd07eb16ffdfeb116137d4
diff --git a/metadata/md5-cache/dev-libs/nss-3.44-r2 b/metadata/md5-cache/dev-libs/nss-3.44-r2
deleted file mode 100644
index 6641211..0000000
--- a/metadata/md5-cache/dev-libs/nss-3.44-r2
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm prepare test unpack
-DEPEND=>=virtual/pkgconfig-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-libs/nspr-4.16[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-db/sqlite-3.8.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-DESCRIPTION=Mozilla's Network Security Services library that implements PKI support
-EAPI=6
-HOMEPAGE=http://www.mozilla.org/projects/security/pki/nss/
-IUSE=cacert cros_host +nss-pem utils abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=|| ( MPL-2.0 GPL-2 LGPL-2.1 )
-RDEPEND=>=dev-libs/nspr-4.16[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-db/sqlite-3.8.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] !<app-crypt/nss-3.44[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-RESTRICT=test
-SLOT=0
-SRC_URI=https://archive.mozilla.org/pub/security/nss/releases/NSS_3_44_RTM/src/nss-3.44.tar.gz cacert? ( https://dev.gentoo.org/~axs/distfiles/nss-cacert-class1-class3.patch ) nss-pem? ( https://dev.gentoo.org/~polynomial-c/nss-pem-20160329.tar.xz )
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=14e6b94dad0f38804667de914eb4d147
diff --git a/metadata/md5-cache/dev-libs/nss-3.44-r8 b/metadata/md5-cache/dev-libs/nss-3.44-r8
deleted file mode 100644
index 6641211..0000000
--- a/metadata/md5-cache/dev-libs/nss-3.44-r8
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm prepare test unpack
-DEPEND=>=virtual/pkgconfig-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-libs/nspr-4.16[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-db/sqlite-3.8.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-DESCRIPTION=Mozilla's Network Security Services library that implements PKI support
-EAPI=6
-HOMEPAGE=http://www.mozilla.org/projects/security/pki/nss/
-IUSE=cacert cros_host +nss-pem utils abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=|| ( MPL-2.0 GPL-2 LGPL-2.1 )
-RDEPEND=>=dev-libs/nspr-4.16[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-db/sqlite-3.8.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] !<app-crypt/nss-3.44[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-RESTRICT=test
-SLOT=0
-SRC_URI=https://archive.mozilla.org/pub/security/nss/releases/NSS_3_44_RTM/src/nss-3.44.tar.gz cacert? ( https://dev.gentoo.org/~axs/distfiles/nss-cacert-class1-class3.patch ) nss-pem? ( https://dev.gentoo.org/~polynomial-c/nss-pem-20160329.tar.xz )
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=14e6b94dad0f38804667de914eb4d147
diff --git a/metadata/md5-cache/dev-libs/nss-3.68.2 b/metadata/md5-cache/dev-libs/nss-3.68.2
new file mode 100644
index 0000000..48eea6d
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/nss-3.68.2
@@ -0,0 +1,15 @@
+BDEPEND=dev-lang/perl
+DEFINED_PHASES=compile configure install postinst postrm prepare test
+DEPEND=>=dev-libs/nspr-4.32[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-db/sqlite-3.8.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/pkgconfig
+DESCRIPTION=Mozilla's Network Security Services library that implements PKI support
+EAPI=7
+HOMEPAGE=https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
+IUSE=cacert utils cpu_flags_ppc_altivec cpu_flags_ppc_vsx abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
+KEYWORDS=*
+LICENSE=|| ( MPL-2.0 GPL-2 LGPL-2.1 )
+RDEPEND=>=dev-libs/nspr-4.32[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-db/sqlite-3.8.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/pkgconfig !<app-crypt/nss-3.68.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+RESTRICT=test
+SLOT=0
+SRC_URI=https://archive.mozilla.org/pub/security/nss/releases/NSS_3_68_2_RTM/src/nss-3.68.2.tar.gz cacert? ( https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r2.patch )
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6265761b50fba2b8332566d2de376e80
diff --git a/metadata/md5-cache/dev-libs/nss-3.68.2-r2 b/metadata/md5-cache/dev-libs/nss-3.68.2-r2
new file mode 100644
index 0000000..48eea6d
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/nss-3.68.2-r2
@@ -0,0 +1,15 @@
+BDEPEND=dev-lang/perl
+DEFINED_PHASES=compile configure install postinst postrm prepare test
+DEPEND=>=dev-libs/nspr-4.32[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-db/sqlite-3.8.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/pkgconfig
+DESCRIPTION=Mozilla's Network Security Services library that implements PKI support
+EAPI=7
+HOMEPAGE=https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
+IUSE=cacert utils cpu_flags_ppc_altivec cpu_flags_ppc_vsx abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
+KEYWORDS=*
+LICENSE=|| ( MPL-2.0 GPL-2 LGPL-2.1 )
+RDEPEND=>=dev-libs/nspr-4.32[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-db/sqlite-3.8.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/pkgconfig !<app-crypt/nss-3.68.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+RESTRICT=test
+SLOT=0
+SRC_URI=https://archive.mozilla.org/pub/security/nss/releases/NSS_3_68_2_RTM/src/nss-3.68.2.tar.gz cacert? ( https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r2.patch )
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6265761b50fba2b8332566d2de376e80
diff --git a/metadata/md5-cache/dev-libs/opencsd-1.2.0-r1 b/metadata/md5-cache/dev-libs/opencsd-1.2.0-r1
deleted file mode 100644
index e16b4e9..0000000
--- a/metadata/md5-cache/dev-libs/opencsd-1.2.0-r1
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install
-DESCRIPTION=Open source CoreSight trace decode library
-EAPI=7
-HOMEPAGE=https://github.com/Linaro/OpenCSD
-IUSE=debug
-KEYWORDS=*
-LICENSE=BSD
-SLOT=0
-SRC_URI=https://github.com/linaro/opencsd/archive/opencsd-1.2.0.tar.xz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9db619bf50faa90b069ab8ad4e928318
diff --git a/metadata/md5-cache/dev-libs/opencsd-1.2.1-r2 b/metadata/md5-cache/dev-libs/opencsd-1.2.1-r2
new file mode 100644
index 0000000..a960a70
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/opencsd-1.2.1-r2
@@ -0,0 +1,11 @@
+DEFINED_PHASES=compile install
+DESCRIPTION=Open source CoreSight trace decode library
+EAPI=7
+HOMEPAGE=https://github.com/Linaro/OpenCSD
+IUSE=debug
+KEYWORDS=*
+LICENSE=BSD
+SLOT=0
+SRC_URI=https://github.com/linaro/opencsd/archive/opencsd-1.2.1.tar.xz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b968a2fb65db33f44fb19336288f785e
diff --git a/metadata/md5-cache/dev-libs/openssl-1.1.1m b/metadata/md5-cache/dev-libs/openssl-1.1.1m
deleted file mode 100644
index f073ec9..0000000
--- a/metadata/md5-cache/dev-libs/openssl-1.1.1m
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=>=dev-lang/perl-5 sctp? ( >=net-misc/lksctp-tools-1.0.12 ) test? ( sys-apps/diffutils sys-devel/bc kernel_linux? ( sys-process/procps ) )
-DEFINED_PHASES=compile configure install postinst prepare setup test
-DEPEND=>=app-misc/c_rehash-1.7-r1 tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
-DESCRIPTION=full-strength general purpose cryptography library (including SSL and TLS)
-EAPI=7
-HOMEPAGE=https://www.openssl.org/
-IUSE=+asm bindist rfc3779 sctp cpu_flags_x86_sse2 sslv3 static-libs test tls-compression tls-heartbeat vanilla abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=openssl
-PDEPEND=app-misc/ca-certificates
-RDEPEND=>=app-misc/c_rehash-1.7-r1 tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !<net-misc/openssh-8.0_p1-r3
-RESTRICT=!test? ( test )
-SLOT=0/1.1
-SRC_URI=mirror://openssl/source/openssl-1.1.1m.tar.gz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=69dec8b9cf3229527e8a9d064979d21d
diff --git a/metadata/md5-cache/dev-libs/openssl-1.1.1m-r1 b/metadata/md5-cache/dev-libs/openssl-1.1.1m-r1
deleted file mode 100644
index f073ec9..0000000
--- a/metadata/md5-cache/dev-libs/openssl-1.1.1m-r1
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=>=dev-lang/perl-5 sctp? ( >=net-misc/lksctp-tools-1.0.12 ) test? ( sys-apps/diffutils sys-devel/bc kernel_linux? ( sys-process/procps ) )
-DEFINED_PHASES=compile configure install postinst prepare setup test
-DEPEND=>=app-misc/c_rehash-1.7-r1 tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
-DESCRIPTION=full-strength general purpose cryptography library (including SSL and TLS)
-EAPI=7
-HOMEPAGE=https://www.openssl.org/
-IUSE=+asm bindist rfc3779 sctp cpu_flags_x86_sse2 sslv3 static-libs test tls-compression tls-heartbeat vanilla abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=openssl
-PDEPEND=app-misc/ca-certificates
-RDEPEND=>=app-misc/c_rehash-1.7-r1 tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !<net-misc/openssh-8.0_p1-r3
-RESTRICT=!test? ( test )
-SLOT=0/1.1
-SRC_URI=mirror://openssl/source/openssl-1.1.1m.tar.gz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=69dec8b9cf3229527e8a9d064979d21d
diff --git a/metadata/md5-cache/dev-libs/openssl-1.1.1n b/metadata/md5-cache/dev-libs/openssl-1.1.1n
new file mode 100644
index 0000000..b6a012a
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/openssl-1.1.1n
@@ -0,0 +1,16 @@
+BDEPEND=>=dev-lang/perl-5 sctp? ( >=net-misc/lksctp-tools-1.0.12 ) test? ( sys-apps/diffutils sys-devel/bc kernel_linux? ( sys-process/procps ) ) verify-sig? ( sec-keys/openpgp-keys-openssl ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-16 )
+DEFINED_PHASES=compile configure install postinst prepare setup test unpack
+DEPEND=>=app-misc/c_rehash-1.7-r1 tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
+DESCRIPTION=full-strength general purpose cryptography library (including SSL and TLS)
+EAPI=7
+HOMEPAGE=https://www.openssl.org/
+IUSE=+asm rfc3779 sctp cpu_flags_x86_sse2 sslv3 static-libs test tls-compression tls-heartbeat vanilla verify-sig bindist abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 verify-sig
+KEYWORDS=*
+LICENSE=openssl
+PDEPEND=app-misc/ca-certificates
+RDEPEND=>=app-misc/c_rehash-1.7-r1 tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !<net-misc/openssh-8.0_p1-r3
+RESTRICT=!test? ( test )
+SLOT=0/1.1
+SRC_URI=mirror://openssl/source/openssl-1.1.1n.tar.gz verify-sig? ( mirror://openssl/source/openssl-1.1.1n.tar.gz.asc )
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	verify-sig	40b4f4f782cf67118f594ce604cc4c0a
+_md5_=ccff835dd9c1193487d22a385eb65e9b
diff --git a/metadata/md5-cache/dev-libs/openssl-1.1.1n-r1 b/metadata/md5-cache/dev-libs/openssl-1.1.1n-r1
new file mode 100644
index 0000000..b6a012a
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/openssl-1.1.1n-r1
@@ -0,0 +1,16 @@
+BDEPEND=>=dev-lang/perl-5 sctp? ( >=net-misc/lksctp-tools-1.0.12 ) test? ( sys-apps/diffutils sys-devel/bc kernel_linux? ( sys-process/procps ) ) verify-sig? ( sec-keys/openpgp-keys-openssl ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-16 )
+DEFINED_PHASES=compile configure install postinst prepare setup test unpack
+DEPEND=>=app-misc/c_rehash-1.7-r1 tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
+DESCRIPTION=full-strength general purpose cryptography library (including SSL and TLS)
+EAPI=7
+HOMEPAGE=https://www.openssl.org/
+IUSE=+asm rfc3779 sctp cpu_flags_x86_sse2 sslv3 static-libs test tls-compression tls-heartbeat vanilla verify-sig bindist abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 verify-sig
+KEYWORDS=*
+LICENSE=openssl
+PDEPEND=app-misc/ca-certificates
+RDEPEND=>=app-misc/c_rehash-1.7-r1 tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !<net-misc/openssh-8.0_p1-r3
+RESTRICT=!test? ( test )
+SLOT=0/1.1
+SRC_URI=mirror://openssl/source/openssl-1.1.1n.tar.gz verify-sig? ( mirror://openssl/source/openssl-1.1.1n.tar.gz.asc )
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	verify-sig	40b4f4f782cf67118f594ce604cc4c0a
+_md5_=ccff835dd9c1193487d22a385eb65e9b
diff --git a/metadata/md5-cache/dev-python/btsocket-1.0-r22 b/metadata/md5-cache/dev-python/btsocket-1.0-r22
deleted file mode 100644
index 3b8b988..0000000
--- a/metadata/md5-cache/dev-python/btsocket-1.0-r22
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=dev-python/setuptools[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/setuptools[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
-DESCRIPTION=Bluetooth Socket support module
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/btsocket/
-IUSE=-asan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_2b5cdcf058f6528d1f4a9ea0462e331242a0b418 python_targets_python2_7 python_targets_python3_6 python_targets_python3_7
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
-REQUIRED_USE=|| ( python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 )
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=293cdbe5c60321f867ecc18edddcee85
diff --git a/metadata/md5-cache/dev-python/btsocket-1.0-r23 b/metadata/md5-cache/dev-python/btsocket-1.0-r23
new file mode 100644
index 0000000..d7e412c
--- /dev/null
+++ b/metadata/md5-cache/dev-python/btsocket-1.0-r23
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DESCRIPTION=Bluetooth Socket support module
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/btsocket/
+IUSE=-asan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_2b5cdcf058f6528d1f4a9ea0462e331242a0b418 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=8dbe5a27c1a46259f12272fa1b390193
diff --git a/metadata/md5-cache/dev-python/btsocket-9999 b/metadata/md5-cache/dev-python/btsocket-9999
index 0723807..bbd2d83 100644
--- a/metadata/md5-cache/dev-python/btsocket-9999
+++ b/metadata/md5-cache/dev-python/btsocket-9999
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=dev-python/setuptools[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/setuptools[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
+DEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
 DESCRIPTION=Bluetooth Socket support module
 EAPI=5
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/btsocket/
-IUSE=-asan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ python_targets_python2_7 python_targets_python3_6 python_targets_python3_7
+IUSE=-asan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
-REQUIRED_USE=|| ( python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 )
+RDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=af53dab45f03e29e2a08fc545530ee7c
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=761aca95e94ce0802d4e509b3f1bd066
diff --git a/metadata/md5-cache/dev-python/google-cloud-pubsub-1.0.2 b/metadata/md5-cache/dev-python/google-cloud-pubsub-1.0.2
deleted file mode 100644
index 6c1f1d5..0000000
--- a/metadata/md5-cache/dev-python/google-cloud-pubsub-1.0.2
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)] dev-python/setuptools[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)]
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=>=dev-python/google-api-core-1.14.0[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)] dev-python/grpc-google-iam-v1[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)] virtual/python-enum34[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)] dev-python/setuptools[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)]
-DESCRIPTION=Google Cloud PubSub API client library
-EAPI=7
-HOMEPAGE=https://pypi.python.org/pypi/google-cloud-pubsub
-IUSE=python_targets_python2_7 python_targets_python3_6
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND=>=dev-python/google-api-core-1.14.0[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)] dev-python/grpc-google-iam-v1[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)] virtual/python-enum34[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)] python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)]
-REQUIRED_USE=|| ( python_targets_python2_7 python_targets_python3_6 )
-SLOT=0
-SRC_URI=mirror://pypi/g/google-cloud-pubsub/google-cloud-pubsub-1.0.2.tar.gz
-_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=4c448de6787bc8c04c41c52758b0caca
diff --git a/metadata/md5-cache/dev-python/grpc-google-iam-v1-0.12.3 b/metadata/md5-cache/dev-python/grpc-google-iam-v1-0.12.3
deleted file mode 100644
index 7e4bdc0..0000000
--- a/metadata/md5-cache/dev-python/grpc-google-iam-v1-0.12.3
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)] dev-python/setuptools[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)]
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=>=dev-python/google-api-core-1.14.0[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)] virtual/python-enum34[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)] dev-python/setuptools[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)]
-DESCRIPTION=gRPC library for google-iam-v1
-EAPI=7
-HOMEPAGE=https://pypi.python.org/pypi/grpc-google-iam-v1/
-IUSE=python_targets_python2_7 python_targets_python3_6
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND=>=dev-python/google-api-core-1.14.0[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)] virtual/python-enum34[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)] python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)]
-REQUIRED_USE=|| ( python_targets_python2_7 python_targets_python3_6 )
-SLOT=0
-SRC_URI=mirror://pypi/g/grpc-google-iam-v1/grpc-google-iam-v1-0.12.3.tar.gz
-_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0e823b92a2ac6f12324a57e0a553bad5
diff --git a/metadata/md5-cache/dev-python/grpcio-1.23.0 b/metadata/md5-cache/dev-python/grpcio-1.23.0
index ec055cc..43a7c08 100644
--- a/metadata/md5-cache/dev-python/grpcio-1.23.0
+++ b/metadata/md5-cache/dev-python/grpcio-1.23.0
@@ -1,14 +1,15 @@
+BDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
 DEFINED_PHASES=compile configure install prepare test
-DEPEND=>=dev-libs/openssl-1.0.2:0=[-bindist] dev-python/cython[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/protobuf-python[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/six[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] net-dns/c-ares:= !<net-libs/grpc-1.16.0[python] sys-libs/zlib:= virtual/python-enum34[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] virtual/python-futures[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/setuptools[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/setuptools[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
+DEPEND=>=dev-libs/openssl-1.0.2:0=[-bindist] dev-python/cython[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/protobuf-python[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/six[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] net-dns/c-ares:= !<net-libs/grpc-1.16.0[python] sys-libs/zlib:= dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
 DESCRIPTION=High-performance RPC framework (python libraries)
-EAPI=6
+EAPI=7
 HOMEPAGE=https://grpc.io
-IUSE=python_targets_python2_7 python_targets_python3_6 python_targets_python3_7
+IUSE=python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
 KEYWORDS=*
 LICENSE=Apache-2.0
-RDEPEND=>=dev-libs/openssl-1.0.2:0=[-bindist] dev-python/cython[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/protobuf-python[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/six[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] net-dns/c-ares:= !<net-libs/grpc-1.16.0[python] sys-libs/zlib:= virtual/python-enum34[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] virtual/python-futures[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
-REQUIRED_USE=|| ( python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 )
+RDEPEND=>=dev-libs/openssl-1.0.2:0=[-bindist] dev-python/cython[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/protobuf-python[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/six[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] net-dns/c-ares:= !<net-libs/grpc-1.16.0[python] sys-libs/zlib:= python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
 SLOT=0
 SRC_URI=mirror://pypi/g/grpcio/grpcio-1.23.0.tar.gz
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=70c69c74e8f59f4c4c07a107bebabc8a
+_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=987cb92136c2481ac0d8aa969ac62db0
diff --git a/metadata/md5-cache/dev-python/grpcio-1.23.0-r2 b/metadata/md5-cache/dev-python/grpcio-1.23.0-r2
deleted file mode 100644
index ec055cc..0000000
--- a/metadata/md5-cache/dev-python/grpcio-1.23.0-r2
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=>=dev-libs/openssl-1.0.2:0=[-bindist] dev-python/cython[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/protobuf-python[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/six[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] net-dns/c-ares:= !<net-libs/grpc-1.16.0[python] sys-libs/zlib:= virtual/python-enum34[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] virtual/python-futures[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/setuptools[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/setuptools[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
-DESCRIPTION=High-performance RPC framework (python libraries)
-EAPI=6
-HOMEPAGE=https://grpc.io
-IUSE=python_targets_python2_7 python_targets_python3_6 python_targets_python3_7
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND=>=dev-libs/openssl-1.0.2:0=[-bindist] dev-python/cython[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/protobuf-python[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/six[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] net-dns/c-ares:= !<net-libs/grpc-1.16.0[python] sys-libs/zlib:= virtual/python-enum34[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] virtual/python-futures[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
-REQUIRED_USE=|| ( python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 )
-SLOT=0
-SRC_URI=mirror://pypi/g/grpcio/grpcio-1.23.0.tar.gz
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=70c69c74e8f59f4c4c07a107bebabc8a
diff --git a/metadata/md5-cache/dev-python/grpcio-1.23.0-r4 b/metadata/md5-cache/dev-python/grpcio-1.23.0-r4
new file mode 100644
index 0000000..43a7c08
--- /dev/null
+++ b/metadata/md5-cache/dev-python/grpcio-1.23.0-r4
@@ -0,0 +1,15 @@
+BDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=>=dev-libs/openssl-1.0.2:0=[-bindist] dev-python/cython[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/protobuf-python[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/six[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] net-dns/c-ares:= !<net-libs/grpc-1.16.0[python] sys-libs/zlib:= dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DESCRIPTION=High-performance RPC framework (python libraries)
+EAPI=7
+HOMEPAGE=https://grpc.io
+IUSE=python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=>=dev-libs/openssl-1.0.2:0=[-bindist] dev-python/cython[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/protobuf-python[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/six[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] net-dns/c-ares:= !<net-libs/grpc-1.16.0[python] sys-libs/zlib:= python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0
+SRC_URI=mirror://pypi/g/grpcio/grpcio-1.23.0.tar.gz
+_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=987cb92136c2481ac0d8aa969ac62db0
diff --git a/metadata/md5-cache/dev-python/kconfiglib-14.1.0 b/metadata/md5-cache/dev-python/kconfiglib-14.1.0
new file mode 100644
index 0000000..078212e
--- /dev/null
+++ b/metadata/md5-cache/dev-python/kconfiglib-14.1.0
@@ -0,0 +1,14 @@
+BDEPEND=python_targets_pypy3? ( >=dev-python/pypy3-7.3.0:0=[ncurses] ) python_targets_python3_6? ( dev-lang/python:3.6[ncurses] ) python_targets_python3_7? ( dev-lang/python:3.7[ncurses] ) python_targets_python3_8? ( dev-lang/python:3.8[ncurses] ) python_targets_python3_9? ( dev-lang/python:3.9[ncurses] ) >=dev-lang/python-exec-2:=[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=A flexible Python Kconfig implementation
+EAPI=7
+HOMEPAGE=https://github.com/ulfalizer/Kconfiglib https://pypi.org/project/kconfiglib/
+IUSE=python_targets_pypy3 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=ISC
+RDEPEND=python_targets_pypy3? ( >=dev-python/pypy3-7.3.0:0=[ncurses] ) python_targets_python3_6? ( dev-lang/python:3.6[ncurses] ) python_targets_python3_7? ( dev-lang/python:3.7[ncurses] ) python_targets_python3_8? ( dev-lang/python:3.8[ncurses] ) python_targets_python3_9? ( dev-lang/python:3.9[ncurses] ) >=dev-lang/python-exec-2:=[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_pypy3 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0
+SRC_URI=https://github.com/ulfalizer/Kconfiglib/archive/v14.1.0.tar.gz -> kconfiglib-14.1.0.tar.gz
+_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a5199ba1ff63e784060c1f61304e3110
diff --git a/metadata/md5-cache/dev-python/kconfiglib-14.1.0-r1 b/metadata/md5-cache/dev-python/kconfiglib-14.1.0-r1
new file mode 100644
index 0000000..078212e
--- /dev/null
+++ b/metadata/md5-cache/dev-python/kconfiglib-14.1.0-r1
@@ -0,0 +1,14 @@
+BDEPEND=python_targets_pypy3? ( >=dev-python/pypy3-7.3.0:0=[ncurses] ) python_targets_python3_6? ( dev-lang/python:3.6[ncurses] ) python_targets_python3_7? ( dev-lang/python:3.7[ncurses] ) python_targets_python3_8? ( dev-lang/python:3.8[ncurses] ) python_targets_python3_9? ( dev-lang/python:3.9[ncurses] ) >=dev-lang/python-exec-2:=[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=A flexible Python Kconfig implementation
+EAPI=7
+HOMEPAGE=https://github.com/ulfalizer/Kconfiglib https://pypi.org/project/kconfiglib/
+IUSE=python_targets_pypy3 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=ISC
+RDEPEND=python_targets_pypy3? ( >=dev-python/pypy3-7.3.0:0=[ncurses] ) python_targets_python3_6? ( dev-lang/python:3.6[ncurses] ) python_targets_python3_7? ( dev-lang/python:3.7[ncurses] ) python_targets_python3_8? ( dev-lang/python:3.8[ncurses] ) python_targets_python3_9? ( dev-lang/python:3.9[ncurses] ) >=dev-lang/python-exec-2:=[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_pypy3 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0
+SRC_URI=https://github.com/ulfalizer/Kconfiglib/archive/v14.1.0.tar.gz -> kconfiglib-14.1.0.tar.gz
+_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a5199ba1ff63e784060c1f61304e3110
diff --git a/metadata/md5-cache/dev-python/pyftdi-0.53.3 b/metadata/md5-cache/dev-python/pyftdi-0.53.3
deleted file mode 100644
index ab40648..0000000
--- a/metadata/md5-cache/dev-python/pyftdi-0.53.3
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-DEFINED_PHASES=compile configure install prepare test
-DESCRIPTION=FTDI device driver written in pure Python
-EAPI=7
-HOMEPAGE=https://github.com/eblot/pyftdi
-IUSE=python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
-KEYWORDS=*
-LICENSE=BSD
-RDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
-SLOT=0
-SRC_URI=mirror://pypi/p/pyftdi/pyftdi-0.53.3.tar.gz
-_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=b906d11f1d1a4403db19548f9abcbf2b
diff --git a/metadata/md5-cache/dev-python/pyftdi-0.54.0 b/metadata/md5-cache/dev-python/pyftdi-0.54.0
new file mode 100644
index 0000000..dc93d26
--- /dev/null
+++ b/metadata/md5-cache/dev-python/pyftdi-0.54.0
@@ -0,0 +1,14 @@
+BDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=FTDI device driver written in pure Python
+EAPI=7
+HOMEPAGE=https://github.com/eblot/pyftdi
+IUSE=python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD
+RDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0
+SRC_URI=mirror://pypi/p/pyftdi/pyftdi-0.54.0.tar.gz
+_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b906d11f1d1a4403db19548f9abcbf2b
diff --git a/metadata/md5-cache/dev-python/pygobject-3.36.1 b/metadata/md5-cache/dev-python/pygobject-3.36.1
index 454f9f1..6502b5f 100644
--- a/metadata/md5-cache/dev-python/pygobject-3.36.1
+++ b/metadata/md5-cache/dev-python/pygobject-3.36.1
@@ -1,4 +1,4 @@
-BDEPEND=virtual/pkgconfig app-arch/xz-utils >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+BDEPEND=virtual/pkgconfig app-arch/xz-utils >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare test
 DEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-libs/glib-2.48:2 >=dev-libs/gobject-introspection-1.54:= dev-libs/libffi:= cairo? ( >=dev-python/pycairo-1.11.1[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] x11-libs/cairo[glib] ) test? ( dev-libs/atk[introspection] dev-python/pytest[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] x11-libs/gdk-pixbuf:2[introspection,jpeg] x11-libs/gtk+:3[introspection] x11-libs/pango[introspection] ) test? ( !prefix? ( x11-base/xorg-server ) x11-apps/xhost ) dev-util/desktop-file-utils x11-misc/shared-mime-info
 DESCRIPTION=Python bindings for GObject Introspection
@@ -12,5 +12,5 @@
 RESTRICT=!test? ( test )
 SLOT=3
 SRC_URI=mirror://gnome/sources/pygobject/3.36/pygobject-3.36.1.tar.xz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnome.org	532d56d07b9eace4831aaa817d2b756a	meson	5ec14fdbc5446b8767e87e186e3b1a52	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	virtualx	e9162f65645513120b4e12863a5fa972	xdg	c7ba313ea1eaf266f95cc6235f7d6a07	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnome.org	532d56d07b9eace4831aaa817d2b756a	meson	1cac59cd2074f59abbe00de88e93af9f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	virtualx	e9162f65645513120b4e12863a5fa972	xdg	c7ba313ea1eaf266f95cc6235f7d6a07	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
 _md5_=a4ceef42f22f130a95c35db51396b4b2
diff --git a/metadata/md5-cache/dev-python/pygobject-3.36.1-r1 b/metadata/md5-cache/dev-python/pygobject-3.36.1-r1
index 454f9f1..6502b5f 100644
--- a/metadata/md5-cache/dev-python/pygobject-3.36.1-r1
+++ b/metadata/md5-cache/dev-python/pygobject-3.36.1-r1
@@ -1,4 +1,4 @@
-BDEPEND=virtual/pkgconfig app-arch/xz-utils >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+BDEPEND=virtual/pkgconfig app-arch/xz-utils >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare test
 DEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-libs/glib-2.48:2 >=dev-libs/gobject-introspection-1.54:= dev-libs/libffi:= cairo? ( >=dev-python/pycairo-1.11.1[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] x11-libs/cairo[glib] ) test? ( dev-libs/atk[introspection] dev-python/pytest[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] x11-libs/gdk-pixbuf:2[introspection,jpeg] x11-libs/gtk+:3[introspection] x11-libs/pango[introspection] ) test? ( !prefix? ( x11-base/xorg-server ) x11-apps/xhost ) dev-util/desktop-file-utils x11-misc/shared-mime-info
 DESCRIPTION=Python bindings for GObject Introspection
@@ -12,5 +12,5 @@
 RESTRICT=!test? ( test )
 SLOT=3
 SRC_URI=mirror://gnome/sources/pygobject/3.36/pygobject-3.36.1.tar.xz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnome.org	532d56d07b9eace4831aaa817d2b756a	meson	5ec14fdbc5446b8767e87e186e3b1a52	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	virtualx	e9162f65645513120b4e12863a5fa972	xdg	c7ba313ea1eaf266f95cc6235f7d6a07	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnome.org	532d56d07b9eace4831aaa817d2b756a	meson	1cac59cd2074f59abbe00de88e93af9f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	virtualx	e9162f65645513120b4e12863a5fa972	xdg	c7ba313ea1eaf266f95cc6235f7d6a07	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
 _md5_=a4ceef42f22f130a95c35db51396b4b2
diff --git a/metadata/md5-cache/dev-python/pypy3-exe-bin-7.3.1 b/metadata/md5-cache/dev-python/pypy3-exe-bin-7.3.1
new file mode 100644
index 0000000..5c2445d
--- /dev/null
+++ b/metadata/md5-cache/dev-python/pypy3-exe-bin-7.3.1
@@ -0,0 +1,11 @@
+DEFINED_PHASES=compile configure install unpack
+DESCRIPTION=PyPy3 executable (pre-built version)
+EAPI=7
+HOMEPAGE=https://www.pypy.org/
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=>=sys-libs/zlib-1.1.3:0/1 virtual/libintl:0/0 dev-libs/expat:0/0 app-arch/bzip2:0/1 !dev-python/pypy-exe:7.3.1
+SLOT=7.3.1
+SRC_URI=https://github.com/libffi/libffi/releases/download/v3.3/libffi-3.3.tar.gz mirror://gnu/ncurses/ncurses-6.1.tar.gz amd64? ( https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3-exe/pypy3-exe-7.3.1-1.xpak -> pypy3-exe-7.3.1-1.amd64.xpak ) x86? ( https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3-exe/pypy3-exe-7.3.1-1.xpak -> pypy3-exe-7.3.1-1.x86.xpak )
+_eclasses_=pax-utils	3551398d6ede2b572568832730cc2a45
+_md5_=5795ec2d705de2c9dd05e31f72bd131b
diff --git a/metadata/md5-cache/dev-python/pypy3-exe-bin-7.3.1-r1 b/metadata/md5-cache/dev-python/pypy3-exe-bin-7.3.1-r1
new file mode 100644
index 0000000..5c2445d
--- /dev/null
+++ b/metadata/md5-cache/dev-python/pypy3-exe-bin-7.3.1-r1
@@ -0,0 +1,11 @@
+DEFINED_PHASES=compile configure install unpack
+DESCRIPTION=PyPy3 executable (pre-built version)
+EAPI=7
+HOMEPAGE=https://www.pypy.org/
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=>=sys-libs/zlib-1.1.3:0/1 virtual/libintl:0/0 dev-libs/expat:0/0 app-arch/bzip2:0/1 !dev-python/pypy-exe:7.3.1
+SLOT=7.3.1
+SRC_URI=https://github.com/libffi/libffi/releases/download/v3.3/libffi-3.3.tar.gz mirror://gnu/ncurses/ncurses-6.1.tar.gz amd64? ( https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3-exe/pypy3-exe-7.3.1-1.xpak -> pypy3-exe-7.3.1-1.amd64.xpak ) x86? ( https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3-exe/pypy3-exe-7.3.1-1.xpak -> pypy3-exe-7.3.1-1.x86.xpak )
+_eclasses_=pax-utils	3551398d6ede2b572568832730cc2a45
+_md5_=5795ec2d705de2c9dd05e31f72bd131b
diff --git a/metadata/md5-cache/dev-python/pyshark-0.4.3 b/metadata/md5-cache/dev-python/pyshark-0.4.3
new file mode 100644
index 0000000..60cd171
--- /dev/null
+++ b/metadata/md5-cache/dev-python/pyshark-0.4.3
@@ -0,0 +1,16 @@
+BDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_8(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_8(-)]
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_8(-)] test? ( dev-python/py[python_targets_python3_6(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_8(-)] dev-python/lxml[python_targets_python3_6(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_8(-)] net-analyzer/wireshark[tshark(+)] dev-python/pytest[python_targets_python3_6(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_8(-)] )
+DESCRIPTION=A Python wrapper for tshark output parsing
+EAPI=7
+HOMEPAGE=https://pypi.org/project/pyshark/ https://github.com/KimiNewt/pyshark
+IUSE=test python_targets_python3_6 python_targets_python3_8
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=dev-python/py[python_targets_python3_6(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_8(-)] dev-python/lxml[python_targets_python3_6(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_8(-)] net-analyzer/wireshark[tshark(+)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_8(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_8 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/KimiNewt/pyshark/archive/refs/tags/v0.4.3.tar.gz -> pyshark-0.4.3.tar.gz
+_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4dca31fe3d9ca0e905cc6218df959a7f
diff --git a/metadata/md5-cache/dev-python/pyshark-0.4.3-r1 b/metadata/md5-cache/dev-python/pyshark-0.4.3-r1
new file mode 100644
index 0000000..60cd171
--- /dev/null
+++ b/metadata/md5-cache/dev-python/pyshark-0.4.3-r1
@@ -0,0 +1,16 @@
+BDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_8(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_8(-)]
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_8(-)] test? ( dev-python/py[python_targets_python3_6(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_8(-)] dev-python/lxml[python_targets_python3_6(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_8(-)] net-analyzer/wireshark[tshark(+)] dev-python/pytest[python_targets_python3_6(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_8(-)] )
+DESCRIPTION=A Python wrapper for tshark output parsing
+EAPI=7
+HOMEPAGE=https://pypi.org/project/pyshark/ https://github.com/KimiNewt/pyshark
+IUSE=test python_targets_python3_6 python_targets_python3_8
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=dev-python/py[python_targets_python3_6(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_8(-)] dev-python/lxml[python_targets_python3_6(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_8(-)] net-analyzer/wireshark[tshark(+)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_8(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_8 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/KimiNewt/pyshark/archive/refs/tags/v0.4.3.tar.gz -> pyshark-0.4.3.tar.gz
+_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4dca31fe3d9ca0e905cc6218df959a7f
diff --git a/metadata/md5-cache/dev-python/robotframework-4.0.1 b/metadata/md5-cache/dev-python/robotframework-4.0.1
new file mode 100644
index 0000000..b0f8635
--- /dev/null
+++ b/metadata/md5-cache/dev-python/robotframework-4.0.1
@@ -0,0 +1,14 @@
+BDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=Generic automation framework for acceptance testing and robotic process automation (RPA)
+EAPI=7
+HOMEPAGE=https://robotframework.org/
+IUSE=python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0
+SRC_URI=mirror://pypi/r/robotframework/robotframework-4.0.1.zip
+_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2704d7c5fa70e4dd0cdb9a2c818e6a4c
diff --git a/metadata/md5-cache/dev-python/ws4py-0.5.1 b/metadata/md5-cache/dev-python/ws4py-0.5.1
deleted file mode 100644
index c5c3a07..0000000
--- a/metadata/md5-cache/dev-python/ws4py-0.5.1
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test unpack
-DEPEND=test? ( >=dev-python/cherrypy-3.2.4[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] dev-python/unittest2[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] >=dev-python/mock-1.0.1[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] ) python_targets_python3_6? ( dev-lang/python:3.6[threads?] ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] dev-python/setuptools[python_targets_python3_6(-)?,-python_single_target_python3_6(-)]
-DESCRIPTION=WebSocket client and server library for Python 2 and 3 as well as PyPy
-EAPI=6
-HOMEPAGE=https://github.com/Lawouach/WebSocket-for-Python
-IUSE=+client +server test +threads python_targets_python3_6
-KEYWORDS=*
-LICENSE=BSD
-RDEPEND=>=dev-python/greenlet-0.4.1[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] >=dev-python/cython-0.19.1[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] server? ( >=dev-python/cherrypy-3.2.4[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] ) python_targets_python3_6? ( dev-lang/python:3.6[threads?] ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,-python_single_target_python3_6(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 )
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://github.com/Lawouach/WebSocket-for-Python/archive/0.5.1.tar.gz -> ws4py-0.5.1.tar.gz
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	vcs-snapshot	3be1ab44131e8c0bbdaa75823008444b	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=eec26d787b5ca77900387b83133c2d28
diff --git a/metadata/md5-cache/dev-python/ws4py-0.5.1-r1 b/metadata/md5-cache/dev-python/ws4py-0.5.1-r1
new file mode 100644
index 0000000..f90724b
--- /dev/null
+++ b/metadata/md5-cache/dev-python/ws4py-0.5.1-r1
@@ -0,0 +1,16 @@
+BDEPEND=python_targets_python3_6? ( dev-lang/python:3.6[threads(+)?] ) python_targets_python3_7? ( dev-lang/python:3.7[threads(+)?] ) python_targets_python3_8? ( dev-lang/python:3.8[threads(+)?] ) python_targets_python3_9? ( dev-lang/python:3.9[threads(+)?] ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=test? ( >=dev-python/cherrypy-3.2.4[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-python/mock-1.0.1[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] )
+DESCRIPTION=WebSocket client and server library for Python 2 and 3 as well as PyPy
+EAPI=7
+HOMEPAGE=https://github.com/Lawouach/WebSocket-for-Python
+IUSE=+client +server test +threads python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD
+RDEPEND=>=dev-python/greenlet-0.4.1[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-python/cython-0.19.1[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] server? ( >=dev-python/cherrypy-3.2.4[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) python_targets_python3_6? ( dev-lang/python:3.6[threads(+)?] ) python_targets_python3_7? ( dev-lang/python:3.7[threads(+)?] ) python_targets_python3_8? ( dev-lang/python:3.8[threads(+)?] ) python_targets_python3_9? ( dev-lang/python:3.9[threads(+)?] ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/Lawouach/WebSocket-for-Python/archive/0.5.1.tar.gz -> ws4py-0.5.1.tar.gz
+_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=220ae05b33cb5d554d809263b55b27a0
diff --git a/metadata/md5-cache/dev-rust/addr2line-0.17.0 b/metadata/md5-cache/dev-rust/addr2line-0.17.0
index d82d99a..3f20e12 100644
--- a/metadata/md5-cache/dev-rust/addr2line-0.17.0
+++ b/metadata/md5-cache/dev-rust/addr2line-0.17.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/rustc-std-workspace-alloc-1*:= >=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= =dev-rust/cpp_demangle-0.3*:= =dev-rust/fallible-iterator-0.2*:= =dev-rust/gimli-0.26*:= >=dev-rust/object-0.27.1 <dev-rust/object-0.28.0_alpha:= =dev-rust/rustc-demangle-0.1*:= =dev-rust/smallvec-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/rustc-std-workspace-alloc-1*:= >=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= =dev-rust/cpp_demangle-0.3*:= =dev-rust/fallible-iterator-0.2*:= =dev-rust/gimli-0.26*:= >=dev-rust/object-0.27.1 <dev-rust/object-0.28.0_alpha:= =dev-rust/rustc-demangle-0.1*:= =dev-rust/smallvec-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A cross-platform symbolication library written in Rust, using "gimli"
 EAPI=7
 HOMEPAGE=https://crates.io/crates/addr2line
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
-RDEPEND==dev-rust/rustc-std-workspace-alloc-1*:= >=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= =dev-rust/cpp_demangle-0.3*:= =dev-rust/fallible-iterator-0.2*:= =dev-rust/gimli-0.26*:= >=dev-rust/object-0.27.1 <dev-rust/object-0.28.0_alpha:= =dev-rust/rustc-demangle-0.1*:= =dev-rust/smallvec-1*:=
+RDEPEND==dev-rust/rustc-std-workspace-alloc-1*:= >=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= =dev-rust/cpp_demangle-0.3*:= =dev-rust/fallible-iterator-0.2*:= =dev-rust/gimli-0.26*:= >=dev-rust/object-0.27.1 <dev-rust/object-0.28.0_alpha:= =dev-rust/rustc-demangle-0.1*:= =dev-rust/smallvec-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.17.0/r0
 SRC_URI=https://crates.io/api/v1/crates/addr2line/0.17.0/download -> addr2line-0.17.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=6dc373939e627f016167e21ca0b3bc97
diff --git a/metadata/md5-cache/dev-rust/adler-1.0.2 b/metadata/md5-cache/dev-rust/adler-1.0.2
index 5f1a8f3..8c8faa0 100644
--- a/metadata/md5-cache/dev-rust/adler-1.0.2
+++ b/metadata/md5-cache/dev-rust/adler-1.0.2
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A simple clean-room implementation of the Adler-32 checksum
 EAPI=7
 HOMEPAGE=https://github.com/jonas-schievink/adler.git
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=1.0.2/r0
 SRC_URI=https://crates.io/api/v1/crates/adler/1.0.2/download -> adler-1.0.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=839f6e2a4c729fe20d7376e34a850f06
diff --git a/metadata/md5-cache/dev-rust/adler32-1.2.0 b/metadata/md5-cache/dev-rust/adler32-1.2.0
index 0645154..1ee9f5b 100644
--- a/metadata/md5-cache/dev-rust/adler32-1.2.0
+++ b/metadata/md5-cache/dev-rust/adler32-1.2.0
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Minimal Adler32 implementation for Rust.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/adler32
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=ZLIB
-RDEPEND=>=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:=
+RDEPEND=>=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=1.2.0/r0
 SRC_URI=https://crates.io/api/v1/crates/adler32/1.2.0/download -> adler32-1.2.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f9a89fd9450890271cb718e3cffb0104
diff --git a/metadata/md5-cache/dev-rust/ahash-0.7.0 b/metadata/md5-cache/dev-rust/ahash-0.7.0
index b5c3793..d2d21a6 100644
--- a/metadata/md5-cache/dev-rust/ahash-0.7.0
+++ b/metadata/md5-cache/dev-rust/ahash-0.7.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.7.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/ahash-0.7.6 b/metadata/md5-cache/dev-rust/ahash-0.7.6
new file mode 100644
index 0000000..090af9a
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/ahash-0.7.6
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/version_check-0.9*:= >=dev-rust/const-random-0.1.12 <dev-rust/const-random-0.2.0_alpha:= >=dev-rust/getrandom-0.2.3 <dev-rust/getrandom-0.3.0_alpha:= >=dev-rust/serde-1.0.117 <dev-rust/serde-2.0.0_alpha:= >=dev-rust/once_cell-1.8.0 <dev-rust/once_cell-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A non-cryptographic hash function using AES-NI for high performance
+EAPI=7
+HOMEPAGE=https://crates.io/crates/ahash
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/version_check-0.9*:= >=dev-rust/const-random-0.1.12 <dev-rust/const-random-0.2.0_alpha:= >=dev-rust/getrandom-0.2.3 <dev-rust/getrandom-0.3.0_alpha:= >=dev-rust/serde-1.0.117 <dev-rust/serde-2.0.0_alpha:= >=dev-rust/once_cell-1.8.0 <dev-rust/once_cell-2.0.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.7.6/r0
+SRC_URI=https://crates.io/api/v1/crates/ahash/0.7.6/download -> ahash-0.7.6.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d9640e03361389438e3c7031342005e4
diff --git a/metadata/md5-cache/dev-rust/ahash-0.7.6-r2 b/metadata/md5-cache/dev-rust/ahash-0.7.6-r2
new file mode 100644
index 0000000..99e5033
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/ahash-0.7.6-r2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/version_check-0.9*:= >=dev-rust/const-random-0.1.12 <dev-rust/const-random-0.2.0_alpha:= >=dev-rust/getrandom-0.2.3 <dev-rust/getrandom-0.3.0_alpha:= >=dev-rust/serde-1.0.117 <dev-rust/serde-2.0.0_alpha:= >=dev-rust/once_cell-1.8.0 <dev-rust/once_cell-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A non-cryptographic hash function using AES-NI for high performance
+EAPI=7
+HOMEPAGE=https://crates.io/crates/ahash
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/version_check-0.9*:= >=dev-rust/const-random-0.1.12 <dev-rust/const-random-0.2.0_alpha:= >=dev-rust/getrandom-0.2.3 <dev-rust/getrandom-0.3.0_alpha:= >=dev-rust/serde-1.0.117 <dev-rust/serde-2.0.0_alpha:= >=dev-rust/once_cell-1.8.0 <dev-rust/once_cell-2.0.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.7.6/r2
+SRC_URI=https://crates.io/api/v1/crates/ahash/0.7.6/download -> ahash-0.7.6.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d9640e03361389438e3c7031342005e4
diff --git a/metadata/md5-cache/dev-rust/aho-corasick-0.7.18 b/metadata/md5-cache/dev-rust/aho-corasick-0.7.18
index 06f92be..9b68687 100644
--- a/metadata/md5-cache/dev-rust/aho-corasick-0.7.18
+++ b/metadata/md5-cache/dev-rust/aho-corasick-0.7.18
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/memchr-2.4.0:= <dev-rust/memchr-3.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/memchr-2.4.0:= <dev-rust/memchr-3.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Fast multiple substring searching.
 EAPI=7
 HOMEPAGE=https://github.com/BurntSushi/aho-corasick
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/memchr-2.4.0:= <dev-rust/memchr-3.0.0
+RDEPEND=>=dev-rust/memchr-2.4.0:= <dev-rust/memchr-3.0.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.7.18/r0
 SRC_URI=https://crates.io/api/v1/crates/aho-corasick/0.7.18/download -> aho-corasick-0.7.18.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=9947696dcf25f8e14246eafb9cefe83d
diff --git a/metadata/md5-cache/dev-rust/aligned-0.3.4 b/metadata/md5-cache/dev-rust/aligned-0.3.4
index c26a41e..f4e202f6 100644
--- a/metadata/md5-cache/dev-rust/aligned-0.3.4
+++ b/metadata/md5-cache/dev-rust/aligned-0.3.4
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/as-slice-0.1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/as-slice-0.1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A newtype with alignment of at least "A" bytes
 EAPI=7
 HOMEPAGE=https://crates.io/crates/aligned
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/as-slice-0.1*:=
+RDEPEND==dev-rust/as-slice-0.1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.4/r0
 SRC_URI=https://crates.io/api/v1/crates/aligned/0.3.4/download -> aligned-0.3.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=61451eb1313fe58ad47c56b7a0b247ad
diff --git a/metadata/md5-cache/dev-rust/alsa-sys-0.2.0 b/metadata/md5-cache/dev-rust/alsa-sys-0.2.0
index 242fc59..d5ffa06 100644
--- a/metadata/md5-cache/dev-rust/alsa-sys-0.2.0
+++ b/metadata/md5-cache/dev-rust/alsa-sys-0.2.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2.65:= <dev-rust/libc-0.3 >=dev-rust/pkg-config-0.3.0:= <dev-rust/pkg-config-0.4.0 >=media-libs/alsa-lib-1.1.8-r3:= <media-libs/alsa-lib-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/libc-0.2.65:= <dev-rust/libc-0.3 >=dev-rust/pkg-config-0.3.0:= <dev-rust/pkg-config-0.4.0 >=media-libs/alsa-lib-1.1.8-r3:= <media-libs/alsa-lib-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=FFI bindings for the ALSA project (Advanced Linux Sound Architecture)
-EAPI=6
+EAPI=7
 HOMEPAGE=https://docs.rs/alsa-sys
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.0/r0
 SRC_URI=https://crates.io/api/v1/crates/alsa-sys/0.2.0/download -> alsa-sys-0.2.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=6ee2ffc215c61611cea439a928807a20
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b221bdf3729f1e9ed3eb68d7ee3d87ad
diff --git a/metadata/md5-cache/dev-rust/android_log-sys-0.2.0 b/metadata/md5-cache/dev-rust/android_log-sys-0.2.0
index 1442454..b701cb3 100644
--- a/metadata/md5-cache/dev-rust/android_log-sys-0.2.0
+++ b/metadata/md5-cache/dev-rust/android_log-sys-0.2.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty android_log-sys crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/ansi_term-0.11.0 b/metadata/md5-cache/dev-rust/ansi_term-0.11.0
index 25cba26..9c92c8b 100644
--- a/metadata/md5-cache/dev-rust/ansi_term-0.11.0
+++ b/metadata/md5-cache/dev-rust/ansi_term-0.11.0
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/winapi-0.3.4:= <dev-rust/winapi-0.4.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/winapi-0.3.4:= <dev-rust/winapi-0.4.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Library for ANSI terminal colours and styles (bold, underline).
 EAPI=7
 HOMEPAGE=https://github.com/ogham/rust-ansi-term
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/winapi-0.3.4:= <dev-rust/winapi-0.4.0
+RDEPEND=>=dev-rust/winapi-0.3.4:= <dev-rust/winapi-0.4.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.11.0/r0
 SRC_URI=https://crates.io/api/v1/crates/ansi_term/0.11.0/download -> ansi_term-0.11.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=fb3e7c0fa852851627e40bc1013058a5
diff --git a/metadata/md5-cache/dev-rust/ansi_term-0.11.0-r2 b/metadata/md5-cache/dev-rust/ansi_term-0.11.0-r2
index aefb6dc..8e29381 100644
--- a/metadata/md5-cache/dev-rust/ansi_term-0.11.0-r2
+++ b/metadata/md5-cache/dev-rust/ansi_term-0.11.0-r2
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/winapi-0.3.4:= <dev-rust/winapi-0.4.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/winapi-0.3.4:= <dev-rust/winapi-0.4.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Library for ANSI terminal colours and styles (bold, underline).
 EAPI=7
 HOMEPAGE=https://github.com/ogham/rust-ansi-term
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/winapi-0.3.4:= <dev-rust/winapi-0.4.0
+RDEPEND=>=dev-rust/winapi-0.3.4:= <dev-rust/winapi-0.4.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.11.0/r2
 SRC_URI=https://crates.io/api/v1/crates/ansi_term/0.11.0/download -> ansi_term-0.11.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=fb3e7c0fa852851627e40bc1013058a5
diff --git a/metadata/md5-cache/dev-rust/anyhow-1.0.51 b/metadata/md5-cache/dev-rust/anyhow-1.0.51
index 9f84f62..5da8908 100644
--- a/metadata/md5-cache/dev-rust/anyhow-1.0.51
+++ b/metadata/md5-cache/dev-rust/anyhow-1.0.51
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/backtrace-0.3.51 <dev-rust/backtrace-0.4.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/backtrace-0.3.51 <dev-rust/backtrace-0.4.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Flexible concrete Error type built on std::error::Error
 EAPI=7
 HOMEPAGE=https://crates.io/crates/anyhow
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/backtrace-0.3.51 <dev-rust/backtrace-0.4.0_alpha:=
+RDEPEND=>=dev-rust/backtrace-0.3.51 <dev-rust/backtrace-0.4.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=1.0.51/r0
 SRC_URI=https://crates.io/api/v1/crates/anyhow/1.0.51/download -> anyhow-1.0.51.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=a506310555bb76109cc28706491635df
diff --git a/metadata/md5-cache/dev-rust/anyhow-1.0.56 b/metadata/md5-cache/dev-rust/anyhow-1.0.56
new file mode 100644
index 0000000..febc6df
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/anyhow-1.0.56
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/backtrace-0.3.51 <dev-rust/backtrace-0.4.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Flexible concrete Error type built on std::error::Error
+EAPI=7
+HOMEPAGE=https://crates.io/crates/anyhow
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/backtrace-0.3.51 <dev-rust/backtrace-0.4.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.0.56/r0
+SRC_URI=https://crates.io/api/v1/crates/anyhow/1.0.56/download -> anyhow-1.0.56.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=669a4c78009d7ba446229e07d30d6798
diff --git a/metadata/md5-cache/dev-rust/arbitrary-0.4.0 b/metadata/md5-cache/dev-rust/arbitrary-0.4.0
index e11f162..4d2cd7e 100644
--- a/metadata/md5-cache/dev-rust/arbitrary-0.4.0
+++ b/metadata/md5-cache/dev-rust/arbitrary-0.4.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.4.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/arbitrary-1.0.0 b/metadata/md5-cache/dev-rust/arbitrary-1.0.0
index 89b8c8d..c829268 100644
--- a/metadata/md5-cache/dev-rust/arbitrary-1.0.0
+++ b/metadata/md5-cache/dev-rust/arbitrary-1.0.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/arc-swap-0.4.8 b/metadata/md5-cache/dev-rust/arc-swap-0.4.8
deleted file mode 100644
index 7998729bd..0000000
--- a/metadata/md5-cache/dev-rust/arc-swap-0.4.8
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Atomically swappable Arc
-EAPI=7
-HOMEPAGE=https://crates.io/crates/arc-swap
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( Apache-2.0 MIT )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.4.8/r0
-SRC_URI=https://crates.io/api/v1/crates/arc-swap/0.4.8/download -> arc-swap-0.4.8.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=085772578ad9e54010b31d0ea25d132d
diff --git a/metadata/md5-cache/dev-rust/argh-0.1.7 b/metadata/md5-cache/dev-rust/argh-0.1.7
index f720de5..58fb239 100644
--- a/metadata/md5-cache/dev-rust/argh-0.1.7
+++ b/metadata/md5-cache/dev-rust/argh-0.1.7
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/argh_derive-0.1.7 <dev-rust/argh_derive-0.2.0_alpha:= >=dev-rust/argh_shared-0.1.7 <dev-rust/argh_shared-0.2.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/argh_derive-0.1.7 <dev-rust/argh_derive-0.2.0_alpha:= >=dev-rust/argh_shared-0.1.7 <dev-rust/argh_shared-0.2.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Derive-based argument parser optimized for code size
 EAPI=7
 HOMEPAGE=https://crates.io/crates/argh
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=BSD
-RDEPEND=>=dev-rust/argh_derive-0.1.7 <dev-rust/argh_derive-0.2.0_alpha:= >=dev-rust/argh_shared-0.1.7 <dev-rust/argh_shared-0.2.0_alpha:=
+RDEPEND=>=dev-rust/argh_derive-0.1.7 <dev-rust/argh_derive-0.2.0_alpha:= >=dev-rust/argh_shared-0.1.7 <dev-rust/argh_shared-0.2.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.7/r0
 SRC_URI=https://crates.io/api/v1/crates/argh/0.1.7/download -> argh-0.1.7.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=4671837edfca1fc6cf5fa79d90ffa9ab
diff --git a/metadata/md5-cache/dev-rust/argh_derive-0.1.7 b/metadata/md5-cache/dev-rust/argh_derive-0.1.7
index eb82b54..bc63fce 100644
--- a/metadata/md5-cache/dev-rust/argh_derive-0.1.7
+++ b/metadata/md5-cache/dev-rust/argh_derive-0.1.7
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/argh_shared-0.1.7 <dev-rust/argh_shared-0.2.0_alpha:= >=dev-rust/heck-0.3.1 <dev-rust/heck-0.4.0_alpha:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/argh_shared-0.1.7 <dev-rust/argh_shared-0.2.0_alpha:= >=dev-rust/heck-0.3.1 <dev-rust/heck-0.4.0_alpha:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Derive-based argument parsing optimized for code size
 EAPI=7
 HOMEPAGE=https://crates.io/crates/argh_derive
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=BSD
-RDEPEND=>=dev-rust/argh_shared-0.1.7 <dev-rust/argh_shared-0.2.0_alpha:= >=dev-rust/heck-0.3.1 <dev-rust/heck-0.4.0_alpha:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:=
+RDEPEND=>=dev-rust/argh_shared-0.1.7 <dev-rust/argh_shared-0.2.0_alpha:= >=dev-rust/heck-0.3.1 <dev-rust/heck-0.4.0_alpha:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.7/r0
 SRC_URI=https://crates.io/api/v1/crates/argh_derive/0.1.7/download -> argh_derive-0.1.7.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=4fad51c78f2049016c49a6b808c27422
diff --git a/metadata/md5-cache/dev-rust/argh_shared-0.1.7 b/metadata/md5-cache/dev-rust/argh_shared-0.1.7
index 320be2e..c8711ab 100644
--- a/metadata/md5-cache/dev-rust/argh_shared-0.1.7
+++ b/metadata/md5-cache/dev-rust/argh_shared-0.1.7
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Derive-based argument parsing optimized for code size
 EAPI=7
 HOMEPAGE=https://crates.io/crates/argh_shared
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=BSD
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.7/r0
 SRC_URI=https://crates.io/api/v1/crates/argh_shared/0.1.7/download -> argh_shared-0.1.7.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=da2937f0c50a71db916909654cc34a6e
diff --git a/metadata/md5-cache/dev-rust/as-slice-0.1.5 b/metadata/md5-cache/dev-rust/as-slice-0.1.5
index ca351f1..ef2ea70 100644
--- a/metadata/md5-cache/dev-rust/as-slice-0.1.5
+++ b/metadata/md5-cache/dev-rust/as-slice-0.1.5
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/generic-array-0.13.3:0.13.3= =dev-rust/generic-array-0.14.4:0.14.4= =dev-rust/generic-array-0.12.4:0.12.4= >=dev-rust/stable_deref_trait-1.1.1:= <dev-rust/stable_deref_trait-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/generic-array-0.13.3:0.13.3= =dev-rust/generic-array-0.14.4:0.14.4= =dev-rust/generic-array-0.12.4:0.12.4= >=dev-rust/stable_deref_trait-1.1.1:= <dev-rust/stable_deref_trait-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION="AsSlice" and "AsMutSlice" traits
 EAPI=7
 HOMEPAGE=https://crates.io/crates/as-slice
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/generic-array-0.13.3:0.13.3= =dev-rust/generic-array-0.14.4:0.14.4= =dev-rust/generic-array-0.12.4:0.12.4= >=dev-rust/stable_deref_trait-1.1.1:= <dev-rust/stable_deref_trait-2.0.0
+RDEPEND==dev-rust/generic-array-0.13.3:0.13.3= =dev-rust/generic-array-0.14.4:0.14.4= =dev-rust/generic-array-0.12.4:0.12.4= >=dev-rust/stable_deref_trait-1.1.1:= <dev-rust/stable_deref_trait-2.0.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.5/r0
 SRC_URI=https://crates.io/api/v1/crates/as-slice/0.1.5/download -> as-slice-0.1.5.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=731a4ff5ac44b5951ad9c7a1e7aeb600
diff --git a/metadata/md5-cache/dev-rust/as-slice-0.1.5-r1 b/metadata/md5-cache/dev-rust/as-slice-0.1.5-r1
index f94c662..3455b4b 100644
--- a/metadata/md5-cache/dev-rust/as-slice-0.1.5-r1
+++ b/metadata/md5-cache/dev-rust/as-slice-0.1.5-r1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/generic-array-0.13.3:0.13.3= =dev-rust/generic-array-0.14.4:0.14.4= =dev-rust/generic-array-0.12.4:0.12.4= >=dev-rust/stable_deref_trait-1.1.1:= <dev-rust/stable_deref_trait-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/generic-array-0.13.3:0.13.3= =dev-rust/generic-array-0.14.4:0.14.4= =dev-rust/generic-array-0.12.4:0.12.4= >=dev-rust/stable_deref_trait-1.1.1:= <dev-rust/stable_deref_trait-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION="AsSlice" and "AsMutSlice" traits
 EAPI=7
 HOMEPAGE=https://crates.io/crates/as-slice
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/generic-array-0.13.3:0.13.3= =dev-rust/generic-array-0.14.4:0.14.4= =dev-rust/generic-array-0.12.4:0.12.4= >=dev-rust/stable_deref_trait-1.1.1:= <dev-rust/stable_deref_trait-2.0.0
+RDEPEND==dev-rust/generic-array-0.13.3:0.13.3= =dev-rust/generic-array-0.14.4:0.14.4= =dev-rust/generic-array-0.12.4:0.12.4= >=dev-rust/stable_deref_trait-1.1.1:= <dev-rust/stable_deref_trait-2.0.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.5/r1
 SRC_URI=https://crates.io/api/v1/crates/as-slice/0.1.5/download -> as-slice-0.1.5.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=731a4ff5ac44b5951ad9c7a1e7aeb600
diff --git a/metadata/md5-cache/dev-rust/ascii-1.0.0 b/metadata/md5-cache/dev-rust/ascii-1.0.0
index f8e2302..623db86 100644
--- a/metadata/md5-cache/dev-rust/ascii-1.0.0
+++ b/metadata/md5-cache/dev-rust/ascii-1.0.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/serde-1.0.25:= <dev-rust/serde-2 >=dev-rust/serde_test-1:= <dev-rust/serde_test-2 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/serde-1.0.25:= <dev-rust/serde-2 >=dev-rust/serde_test-1:= <dev-rust/serde_test-2 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=ASCII-only equivalents to 'char', 'str' and 'String'.
 EAPI=7
 HOMEPAGE=https://docs.rs/crate/ascii/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.0/r0
 SRC_URI=https://crates.io/api/v1/crates/ascii/1.0.0/download -> ascii-1.0.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e08e7df2ca251a739a0e4bef2c4e8747
diff --git a/metadata/md5-cache/dev-rust/assert_matches-1.5.0 b/metadata/md5-cache/dev-rust/assert_matches-1.5.0
index 754b8e8..da73360 100644
--- a/metadata/md5-cache/dev-rust/assert_matches-1.5.0
+++ b/metadata/md5-cache/dev-rust/assert_matches-1.5.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Asserts that a value matches a pattern
 EAPI=7
 HOMEPAGE=https://github.com/murarth/assert_matches
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.5.0/r0
 SRC_URI=https://crates.io/api/v1/crates/assert_matches/1.5.0/download -> assert_matches-1.5.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=ddd6088e4e9994f35a48e5a0c5d4b4f4
diff --git a/metadata/md5-cache/dev-rust/assertions-0.1.0-r13 b/metadata/md5-cache/dev-rust/assertions-0.1.0-r13
deleted file mode 100644
index 08e3192..0000000
--- a/metadata/md5-cache/dev-rust/assertions-0.1.0-r13
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Crates for compile-time assertion macro.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/assertions
-IUSE=test cros_host cros_workon_tree_dbe587d866956d88c4445de8a9380cca33c6a231_657879d7112bd65f190dbbf687daca14399681d0 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=!!<=dev-rust/assertions-0.1.0-r3
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r13
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6b99a22ac4b9dd13c6737d89535098fe
diff --git a/metadata/md5-cache/dev-rust/assertions-0.1.0-r18 b/metadata/md5-cache/dev-rust/assertions-0.1.0-r18
new file mode 100644
index 0000000..f7e09e3
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/assertions-0.1.0-r18
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Crates for compile-time assertion macro.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/assertions
+IUSE=test cros_host cros_workon_tree_98dc0e41c39db32bf5bff523e7fb2c372405d891_8083bdbef3cd7fbbc9ec90941ff0418df2ce6d78 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=!!<=dev-rust/assertions-0.1.0-r3 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r18
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2ae75086e72cf5fa47b6f237fbe64445
diff --git a/metadata/md5-cache/dev-rust/assertions-9999 b/metadata/md5-cache/dev-rust/assertions-9999
index b9c7134..7a17dce 100644
--- a/metadata/md5-cache/dev-rust/assertions-9999
+++ b/metadata/md5-cache/dev-rust/assertions-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Crates for compile-time assertion macro.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/assertions
-IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=!!<=dev-rust/assertions-0.1.0-r3
+RDEPEND=!!<=dev-rust/assertions-0.1.0-r3 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=dbceb4776d287373835f8a7d5a3a3c4e
diff --git a/metadata/md5-cache/dev-rust/async-task-4.0.3 b/metadata/md5-cache/dev-rust/async-task-4.0.3
index 11faba1..44aa7ad 100644
--- a/metadata/md5-cache/dev-rust/async-task-4.0.3
+++ b/metadata/md5-cache/dev-rust/async-task-4.0.3
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Task abstraction for building executors
 EAPI=7
 HOMEPAGE=https://github.com/smol-rs/async-task
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=4.0.3/r0
 SRC_URI=https://crates.io/api/v1/crates/async-task/4.0.3/download -> async-task-4.0.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e0f7e37e17e8159fd1c82f885c9c2675
diff --git a/metadata/md5-cache/dev-rust/async-trait-0.1.36 b/metadata/md5-cache/dev-rust/async-trait-0.1.36
index 17ccd71..ed2dc81 100644
--- a/metadata/md5-cache/dev-rust/async-trait-0.1.36
+++ b/metadata/md5-cache/dev-rust/async-trait-0.1.36
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Async trait methods
 EAPI=7
 HOMEPAGE=https://github.com/dtolnay/async-trait
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.36/r0
 SRC_URI=https://crates.io/api/v1/crates/async-trait/0.1.36/download -> async-trait-0.1.36.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=d0fef127d24456c9594aa350577c8211
diff --git a/metadata/md5-cache/dev-rust/atomic-polyfill-0.1.0 b/metadata/md5-cache/dev-rust/atomic-polyfill-0.1.0
deleted file mode 100644
index bce4f9f..0000000
--- a/metadata/md5-cache/dev-rust/atomic-polyfill-0.1.0
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Empty crate
-EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
diff --git a/metadata/md5-cache/dev-rust/atomic-polyfill-0.1.8 b/metadata/md5-cache/dev-rust/atomic-polyfill-0.1.8
new file mode 100644
index 0000000..244498a
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/atomic-polyfill-0.1.8
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/critical-section-0.2.7 <dev-rust/critical-section-0.3.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Atomic polyfills, for targets where they"re not available.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/atomic-polyfill
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/critical-section-0.2.7 <dev-rust/critical-section-0.3.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.1.8/r0
+SRC_URI=https://crates.io/api/v1/crates/atomic-polyfill/0.1.8/download -> atomic-polyfill-0.1.8.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6bceaf1eb447640baa1221a67b59ddce
diff --git a/metadata/md5-cache/dev-rust/atty-0.2.14 b/metadata/md5-cache/dev-rust/atty-0.2.14
index cdf7bed..9fc9799 100644
--- a/metadata/md5-cache/dev-rust/atty-0.2.14
+++ b/metadata/md5-cache/dev-rust/atty-0.2.14
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/libc-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/libc-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A simple interface for querying atty
 EAPI=7
 HOMEPAGE=https://github.com/softprops/atty
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/libc-0.2*:=
+RDEPEND==dev-rust/libc-0.2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.2.14/r0
 SRC_URI=https://crates.io/api/v1/crates/atty/0.2.14/download -> atty-0.2.14.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=ea51243e9b5fea398bd31786d004156b
diff --git a/metadata/md5-cache/dev-rust/autocfg-0.1.2 b/metadata/md5-cache/dev-rust/autocfg-0.1.2
index 6362f24..e4b7169 100644
--- a/metadata/md5-cache/dev-rust/autocfg-0.1.2
+++ b/metadata/md5-cache/dev-rust/autocfg-0.1.2
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A Rust library for build scripts to automatically configure code based on compiler support
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/cuviper/autocfg
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.1.2/r0
 SRC_URI=https://crates.io/api/v1/crates/autocfg/0.1.2/download -> autocfg-0.1.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=39effb5aaa0e0ac5264191eefd62b6db
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=660ac38a8abbc5204a18fde2e0eb6870
diff --git a/metadata/md5-cache/dev-rust/autocfg-1.0.1 b/metadata/md5-cache/dev-rust/autocfg-1.0.1
index 3257132..861e9a2 100644
--- a/metadata/md5-cache/dev-rust/autocfg-1.0.1
+++ b/metadata/md5-cache/dev-rust/autocfg-1.0.1
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A Rust library for build scripts to automatically configure code based on compiler support
 EAPI=7
 HOMEPAGE=https://github.com/cuviper/autocfg
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=1.0.1/r0
 SRC_URI=https://crates.io/api/v1/crates/autocfg/1.0.1/download -> autocfg-1.0.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=ec98c9b4423487655f2288a432dd7f6f
diff --git a/metadata/md5-cache/dev-rust/autocfg-1.1.0 b/metadata/md5-cache/dev-rust/autocfg-1.1.0
new file mode 100644
index 0000000..5f802fb
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/autocfg-1.1.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Automatic cfg for Rust compiler features
+EAPI=7
+HOMEPAGE=https://crates.io/crates/autocfg
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( Apache-2.0 MIT )
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.1.0/r0
+SRC_URI=https://crates.io/api/v1/crates/autocfg/1.1.0/download -> autocfg-1.1.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d0826dda1f51c356f1abffcfe5699c40
diff --git a/metadata/md5-cache/dev-rust/average-0.9.3 b/metadata/md5-cache/dev-rust/average-0.9.3
index 711791f..43589f7 100644
--- a/metadata/md5-cache/dev-rust/average-0.9.3
+++ b/metadata/md5-cache/dev-rust/average-0.9.3
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty average crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.9.3/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/backtrace-0.3.63 b/metadata/md5-cache/dev-rust/backtrace-0.3.63
index 19f3089..95a14e9 100644
--- a/metadata/md5-cache/dev-rust/backtrace-0.3.63
+++ b/metadata/md5-cache/dev-rust/backtrace-0.3.63
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/addr2line-0.17*:= =dev-rust/cfg-if-1*:= =dev-rust/cpp_demangle-0.3*:= >=dev-rust/libc-0.2.94 <dev-rust/libc-0.3.0_alpha:= =dev-rust/miniz_oxide-0.4*:= =dev-rust/object-0.27*:= >=dev-rust/rustc-demangle-0.1.4 <dev-rust/rustc-demangle-0.2.0_alpha:= =dev-rust/rustc-serialize-0.3*:= =dev-rust/serde-1*:= >=dev-rust/cc-1.0.67 <dev-rust/cc-2.0.0_alpha:= >=dev-rust/winapi-0.3.9:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/addr2line-0.17*:= =dev-rust/cfg-if-1*:= =dev-rust/cpp_demangle-0.3*:= >=dev-rust/libc-0.2.94 <dev-rust/libc-0.3.0_alpha:= =dev-rust/miniz_oxide-0.4*:= =dev-rust/object-0.27*:= >=dev-rust/rustc-demangle-0.1.4 <dev-rust/rustc-demangle-0.2.0_alpha:= =dev-rust/rustc-serialize-0.3*:= =dev-rust/serde-1*:= >=dev-rust/cc-1.0.67 <dev-rust/cc-2.0.0_alpha:= >=dev-rust/winapi-0.3.9:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A library to acquire a stack trace (backtrace) at runtime in a Rust program.
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang/backtrace-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/addr2line-0.17*:= =dev-rust/cfg-if-1*:= =dev-rust/cpp_demangle-0.3*:= >=dev-rust/libc-0.2.94 <dev-rust/libc-0.3.0_alpha:= =dev-rust/miniz_oxide-0.4*:= =dev-rust/object-0.27*:= >=dev-rust/rustc-demangle-0.1.4 <dev-rust/rustc-demangle-0.2.0_alpha:= =dev-rust/rustc-serialize-0.3*:= =dev-rust/serde-1*:= >=dev-rust/cc-1.0.67 <dev-rust/cc-2.0.0_alpha:= >=dev-rust/winapi-0.3.9:=
+RDEPEND==dev-rust/addr2line-0.17*:= =dev-rust/cfg-if-1*:= =dev-rust/cpp_demangle-0.3*:= >=dev-rust/libc-0.2.94 <dev-rust/libc-0.3.0_alpha:= =dev-rust/miniz_oxide-0.4*:= =dev-rust/object-0.27*:= >=dev-rust/rustc-demangle-0.1.4 <dev-rust/rustc-demangle-0.2.0_alpha:= =dev-rust/rustc-serialize-0.3*:= =dev-rust/serde-1*:= >=dev-rust/cc-1.0.67 <dev-rust/cc-2.0.0_alpha:= >=dev-rust/winapi-0.3.9:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.63/r0
 SRC_URI=https://crates.io/api/v1/crates/backtrace/0.3.63/download -> backtrace-0.3.63.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=c818c3726645a92988a4ba2c5695f523
diff --git a/metadata/md5-cache/dev-rust/backtrace-sys-0.1.16 b/metadata/md5-cache/dev-rust/backtrace-sys-0.1.16
index 1fe834f..e37dff0c 100644
--- a/metadata/md5-cache/dev-rust/backtrace-sys-0.1.16
+++ b/metadata/md5-cache/dev-rust/backtrace-sys-0.1.16
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/cc-1.0.0:= >=dev-rust/libc-0.2.0:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/cc-1.0.0:= >=dev-rust/libc-0.2.0:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Bindings to the libbacktrace gcc library
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/alexcrichton/backtrace-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.16/r0
 SRC_URI=https://crates.io/api/v1/crates/backtrace-sys/0.1.16/download -> backtrace-sys-0.1.16.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=3ff642e41e05fc661b866cba653b8728
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=021771489f220c65da4635693e66f79c
diff --git a/metadata/md5-cache/dev-rust/balloon_control-0.1.0-r1 b/metadata/md5-cache/dev-rust/balloon_control-0.1.0-r1
deleted file mode 100644
index 7d2b33e..0000000
--- a/metadata/md5-cache/dev-rust/balloon_control-0.1.0-r1
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/serde-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=APIs to allow external control of a virtio balloon device
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/common/balloon_control
-IUSE=test cros_host cros_workon_tree_5ff27d139a5de3c9025c9f2bd8be9524af894bfe cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND==dev-rust/serde-1*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r1
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0f10ee5aa3fb0c0c68f263a6656b8f6d
diff --git a/metadata/md5-cache/dev-rust/balloon_control-0.1.0-r6 b/metadata/md5-cache/dev-rust/balloon_control-0.1.0-r6
new file mode 100644
index 0000000..043336b
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/balloon_control-0.1.0-r6
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/serde-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=APIs to allow external control of a virtio balloon device
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/common/balloon_control
+IUSE=test cros_host cros_workon_tree_fc23f6fc79cfe42999480f307ad3b5a12d4c9186 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND==dev-rust/serde-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r6
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=af7eaca954898b1eaee98088793f6288
diff --git a/metadata/md5-cache/dev-rust/balloon_control-9999 b/metadata/md5-cache/dev-rust/balloon_control-9999
index a2f0c2d..813c36b 100644
--- a/metadata/md5-cache/dev-rust/balloon_control-9999
+++ b/metadata/md5-cache/dev-rust/balloon_control-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/serde-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/serde-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=APIs to allow external control of a virtio balloon device
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/common/balloon_control
-IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND==dev-rust/serde-1*:=
+RDEPEND==dev-rust/serde-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=90450325430fa04b9f41fa17d286a89f
diff --git a/metadata/md5-cache/dev-rust/bare-metal-0.2.5 b/metadata/md5-cache/dev-rust/bare-metal-0.2.5
index 6140634..bf67a66 100644
--- a/metadata/md5-cache/dev-rust/bare-metal-0.2.5
+++ b/metadata/md5-cache/dev-rust/bare-metal-0.2.5
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/rustc_version-0.2.3:= <dev-rust/rustc_version-0.3.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/rustc_version-0.2.3:= <dev-rust/rustc_version-0.3.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Abstractions common to bare metal systems
 EAPI=7
 HOMEPAGE=https://crates.io/crates/bare-metal
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/rustc_version-0.2.3:= <dev-rust/rustc_version-0.3.0
+RDEPEND=>=dev-rust/rustc_version-0.2.3:= <dev-rust/rustc_version-0.3.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.5/r0
 SRC_URI=https://crates.io/api/v1/crates/bare-metal/0.2.5/download -> bare-metal-0.2.5.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f3258da79c7ddc13a4910d31bcbfb7a6
diff --git a/metadata/md5-cache/dev-rust/bare-metal-1.0.0 b/metadata/md5-cache/dev-rust/bare-metal-1.0.0
index c384a56..084a6e5 100644
--- a/metadata/md5-cache/dev-rust/bare-metal-1.0.0
+++ b/metadata/md5-cache/dev-rust/bare-metal-1.0.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Abstractions common to bare metal systems
 EAPI=7
 HOMEPAGE=https://crates.io/crates/bare-metal
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.0/r0
 SRC_URI=https://crates.io/api/v1/crates/bare-metal/1.0.0/download -> bare-metal-1.0.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e775b03e4d71c603520971a01f568575
diff --git a/metadata/md5-cache/dev-rust/base64-0.10.1 b/metadata/md5-cache/dev-rust/base64-0.10.1
index 2e5a259..5cd95fa 100644
--- a/metadata/md5-cache/dev-rust/base64-0.10.1
+++ b/metadata/md5-cache/dev-rust/base64-0.10.1
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/byteorder-1.2.6:= <dev-rust/byteorder-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/byteorder-1.2.6:= <dev-rust/byteorder-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=encodes and decodes base64 as bytes or utf8
 EAPI=7
 HOMEPAGE=https://crates.io/crates/base64
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/byteorder-1.2.6:= <dev-rust/byteorder-2.0.0
+RDEPEND=>=dev-rust/byteorder-1.2.6:= <dev-rust/byteorder-2.0.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.10.1/r0
 SRC_URI=https://crates.io/api/v1/crates/base64/0.10.1/download -> base64-0.10.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=dff0489c32c462364893c8a3c94a3a61
diff --git a/metadata/md5-cache/dev-rust/base64-0.13.0 b/metadata/md5-cache/dev-rust/base64-0.13.0
index eadcf8a..7a9dba8 100644
--- a/metadata/md5-cache/dev-rust/base64-0.13.0
+++ b/metadata/md5-cache/dev-rust/base64-0.13.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=encodes and decodes base64 as bytes or utf8
 EAPI=7
 HOMEPAGE=https://github.com/marshallpierce/rust-base64
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.13.0/r0
 SRC_URI=https://crates.io/api/v1/crates/base64/0.13.0/download -> base64-0.13.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=4de61c817ce63fe88aa27587443baa00
diff --git a/metadata/md5-cache/dev-rust/bayer-0.1.5 b/metadata/md5-cache/dev-rust/bayer-0.1.5
index 18a9edf..098ffd0 100644
--- a/metadata/md5-cache/dev-rust/bayer-0.1.5
+++ b/metadata/md5-cache/dev-rust/bayer-0.1.5
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/byteorder-1.1.0 <dev-rust/byteorder-2.0.0_alpha:= =dev-rust/libc-0.2*:= >=dev-rust/quick-error-1.2.0 <dev-rust/quick-error-2.0.0_alpha:= =dev-rust/rayon-0.8*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/byteorder-1.1.0 <dev-rust/byteorder-2.0.0_alpha:= =dev-rust/libc-0.2*:= >=dev-rust/quick-error-1.2.0 <dev-rust/quick-error-2.0.0_alpha:= =dev-rust/rayon-0.8*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Algorithms for demosaicing Bayer images.
 EAPI=7
 HOMEPAGE=https://github.com/wangds/libbayer.git
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/byteorder-1.1.0 <dev-rust/byteorder-2.0.0_alpha:= =dev-rust/libc-0.2*:= >=dev-rust/quick-error-1.2.0 <dev-rust/quick-error-2.0.0_alpha:= =dev-rust/rayon-0.8*:=
+RDEPEND=>=dev-rust/byteorder-1.1.0 <dev-rust/byteorder-2.0.0_alpha:= =dev-rust/libc-0.2*:= >=dev-rust/quick-error-1.2.0 <dev-rust/quick-error-2.0.0_alpha:= =dev-rust/rayon-0.8*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.1.5/r0
 SRC_URI=https://crates.io/api/v1/crates/bayer/0.1.5/download -> bayer-0.1.5.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=b606108582637f8aba636493b2a71a75
diff --git a/metadata/md5-cache/dev-rust/bencher-0.1.5 b/metadata/md5-cache/dev-rust/bencher-0.1.5
index 5fbc1e0..2a04ab5 100644
--- a/metadata/md5-cache/dev-rust/bencher-0.1.5
+++ b/metadata/md5-cache/dev-rust/bencher-0.1.5
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty bencher crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.5/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/bincode-0.8.0 b/metadata/md5-cache/dev-rust/bincode-0.8.0
index afd9388..c1e7090 100644
--- a/metadata/md5-cache/dev-rust/bincode-0.8.0
+++ b/metadata/md5-cache/dev-rust/bincode-0.8.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty bincode crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=MIT
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.8.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=8e4a6d1ef01671ebbfa11bd51c59761b
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/bincode-1.0.1 b/metadata/md5-cache/dev-rust/bincode-1.0.1
index 1304e7e..85461be 100644
--- a/metadata/md5-cache/dev-rust/bincode-1.0.1
+++ b/metadata/md5-cache/dev-rust/bincode-1.0.1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/byteorder-1.2.0:= <dev-rust/byteorder-2.0.0 >=dev-rust/serde-1.0.63:= <dev-rust/serde-2.0.0 >=dev-rust/serde_derive-1.0.27:= <dev-rust/serde_derive-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/byteorder-1.2.0:= <dev-rust/byteorder-2.0.0 >=dev-rust/serde-1.0.63:= <dev-rust/serde-2.0.0 >=dev-rust/serde_derive-1.0.27:= <dev-rust/serde_derive-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A compact encoder / decoder pair that uses a binary zero-fluff encoding scheme
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/TyOverby/bincode
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.1/r0
 SRC_URI=https://crates.io/api/v1/crates/bincode/1.0.1/download -> bincode-1.0.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=2eb47e8f951ce499a687790650e1510e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7556fec06a59935b92c59d4242dcafe8
diff --git a/metadata/md5-cache/dev-rust/bincode-1.0.1-r1 b/metadata/md5-cache/dev-rust/bincode-1.0.1-r1
index ab380a1f..de316e9 100644
--- a/metadata/md5-cache/dev-rust/bincode-1.0.1-r1
+++ b/metadata/md5-cache/dev-rust/bincode-1.0.1-r1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/byteorder-1.2.0:= <dev-rust/byteorder-2.0.0 >=dev-rust/serde-1.0.63:= <dev-rust/serde-2.0.0 >=dev-rust/serde_derive-1.0.27:= <dev-rust/serde_derive-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/byteorder-1.2.0:= <dev-rust/byteorder-2.0.0 >=dev-rust/serde-1.0.63:= <dev-rust/serde-2.0.0 >=dev-rust/serde_derive-1.0.27:= <dev-rust/serde_derive-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A compact encoder / decoder pair that uses a binary zero-fluff encoding scheme
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/TyOverby/bincode
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.1/r1
 SRC_URI=https://crates.io/api/v1/crates/bincode/1.0.1/download -> bincode-1.0.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=2eb47e8f951ce499a687790650e1510e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7556fec06a59935b92c59d4242dcafe8
diff --git a/metadata/md5-cache/dev-rust/bindgen-0.59.1 b/metadata/md5-cache/dev-rust/bindgen-0.59.1
deleted file mode 100644
index c881063..0000000
--- a/metadata/md5-cache/dev-rust/bindgen-0.59.1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bitflags-1.0.3 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/cexpr-0.6*:= =dev-rust/clang-sys-1*:= =dev-rust/clap-2*:= =dev-rust/env_logger-0.8*:= =dev-rust/lazy_static-1*:= =dev-rust/lazycell-1*:= =dev-rust/log-0.4*:= >=dev-rust/peeking_take_while-0.1.2 <dev-rust/peeking_take_while-0.2.0_alpha:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/regex-1*:= >=dev-rust/rustc-hash-1.0.1 <dev-rust/rustc-hash-2.0.0_alpha:= =dev-rust/shlex-1*:= =dev-rust/which-3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Automatically generates Rust FFI bindings to C and C++ libraries.
-EAPI=7
-HOMEPAGE=https://rust-lang.github.io/rust-bindgen/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD
-RDEPEND=>=dev-rust/bitflags-1.0.3 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/cexpr-0.6*:= =dev-rust/clang-sys-1*:= =dev-rust/clap-2*:= =dev-rust/env_logger-0.8*:= =dev-rust/lazy_static-1*:= =dev-rust/lazycell-1*:= =dev-rust/log-0.4*:= >=dev-rust/peeking_take_while-0.1.2 <dev-rust/peeking_take_while-0.2.0_alpha:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/regex-1*:= >=dev-rust/rustc-hash-1.0.1 <dev-rust/rustc-hash-2.0.0_alpha:= =dev-rust/shlex-1*:= =dev-rust/which-3*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.59.1
-SRC_URI=https://crates.io/api/v1/crates/bindgen/0.59.1/download -> bindgen-0.59.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=22955ee5902fe3ab3f3e7c332bd63938
diff --git a/metadata/md5-cache/dev-rust/bindgen-0.59.1-r1 b/metadata/md5-cache/dev-rust/bindgen-0.59.1-r1
deleted file mode 100644
index c6f3610..0000000
--- a/metadata/md5-cache/dev-rust/bindgen-0.59.1-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bitflags-1.0.3 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/cexpr-0.6*:= =dev-rust/clang-sys-1*:= =dev-rust/clap-2*:= =dev-rust/env_logger-0.8*:= =dev-rust/lazy_static-1*:= =dev-rust/lazycell-1*:= =dev-rust/log-0.4*:= >=dev-rust/peeking_take_while-0.1.2 <dev-rust/peeking_take_while-0.2.0_alpha:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/regex-1*:= >=dev-rust/rustc-hash-1.0.1 <dev-rust/rustc-hash-2.0.0_alpha:= =dev-rust/shlex-1*:= =dev-rust/which-3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Automatically generates Rust FFI bindings to C and C++ libraries.
-EAPI=7
-HOMEPAGE=https://rust-lang.github.io/rust-bindgen/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD
-RDEPEND=>=dev-rust/bitflags-1.0.3 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/cexpr-0.6*:= =dev-rust/clang-sys-1*:= =dev-rust/clap-2*:= =dev-rust/env_logger-0.8*:= =dev-rust/lazy_static-1*:= =dev-rust/lazycell-1*:= =dev-rust/log-0.4*:= >=dev-rust/peeking_take_while-0.1.2 <dev-rust/peeking_take_while-0.2.0_alpha:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/regex-1*:= >=dev-rust/rustc-hash-1.0.1 <dev-rust/rustc-hash-2.0.0_alpha:= =dev-rust/shlex-1*:= =dev-rust/which-3*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.59.1-r1
-SRC_URI=https://crates.io/api/v1/crates/bindgen/0.59.1/download -> bindgen-0.59.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=22955ee5902fe3ab3f3e7c332bd63938
diff --git a/metadata/md5-cache/dev-rust/bindgen-0.59.2 b/metadata/md5-cache/dev-rust/bindgen-0.59.2
new file mode 100644
index 0000000..c687fa8
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/bindgen-0.59.2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/bitflags-1.0.3 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/cexpr-0.6*:= =dev-rust/clang-sys-1*:= =dev-rust/clap-2*:= =dev-rust/env_logger-0.9*:= =dev-rust/lazy_static-1*:= =dev-rust/lazycell-1*:= =dev-rust/log-0.4*:= >=dev-rust/peeking_take_while-0.1.2 <dev-rust/peeking_take_while-0.2.0_alpha:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/regex-1*:= >=dev-rust/rustc-hash-1.0.1 <dev-rust/rustc-hash-2.0.0_alpha:= =dev-rust/shlex-1*:= >=dev-rust/which-4.2.1 <dev-rust/which-5.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Automatically generates Rust FFI bindings to C and C++ libraries.
+EAPI=7
+HOMEPAGE=https://rust-lang.github.io/rust-bindgen/
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD
+RDEPEND=>=dev-rust/bitflags-1.0.3 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/cexpr-0.6*:= =dev-rust/clang-sys-1*:= =dev-rust/clap-2*:= =dev-rust/env_logger-0.9*:= =dev-rust/lazy_static-1*:= =dev-rust/lazycell-1*:= =dev-rust/log-0.4*:= >=dev-rust/peeking_take_while-0.1.2 <dev-rust/peeking_take_while-0.2.0_alpha:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/regex-1*:= >=dev-rust/rustc-hash-1.0.1 <dev-rust/rustc-hash-2.0.0_alpha:= =dev-rust/shlex-1*:= >=dev-rust/which-4.2.1 <dev-rust/which-5.0.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.59.2
+SRC_URI=https://crates.io/api/v1/crates/bindgen/0.59.2/download -> bindgen-0.59.2.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=94ec8d6cd0073fcebb03e993e73c76b2
diff --git a/metadata/md5-cache/dev-rust/bit-set-0.5.2 b/metadata/md5-cache/dev-rust/bit-set-0.5.2
new file mode 100644
index 0000000..62be9e1
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/bit-set-0.5.2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/bit-vec-0.6.1 <dev-rust/bit-vec-0.7.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A set of bits
+EAPI=7
+HOMEPAGE=https://github.com/contain-rs/bit-set
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/bit-vec-0.6.1 <dev-rust/bit-vec-0.7.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.5.2/r0
+SRC_URI=https://crates.io/api/v1/crates/bit-set/0.5.2/download -> bit-set-0.5.2.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=432a790780ca8174b3c8f7479d740bad
diff --git a/metadata/md5-cache/dev-rust/bit-vec-0.6.3 b/metadata/md5-cache/dev-rust/bit-vec-0.6.3
new file mode 100644
index 0000000..e920819
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/bit-vec-0.6.3
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/serde-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A vector of bits
+EAPI=7
+HOMEPAGE=https://github.com/contain-rs/bit-vec
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/serde-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.6.3/r0
+SRC_URI=https://crates.io/api/v1/crates/bit-vec/0.6.3/download -> bit-vec-0.6.3.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f30d8afcb7cf307705356bddf1b55851
diff --git a/metadata/md5-cache/dev-rust/bit_field-0.10.1 b/metadata/md5-cache/dev-rust/bit_field-0.10.1
index 601f223..d1eadc7 100644
--- a/metadata/md5-cache/dev-rust/bit_field-0.10.1
+++ b/metadata/md5-cache/dev-rust/bit_field-0.10.1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Simple bit field trait providing get_bit, get_bits, set_bit, and set_bits methods for Rust's integral types.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/bit_field
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.10.1/r0
 SRC_URI=https://crates.io/api/v1/crates/bit_field/0.10.1/download -> bit_field-0.10.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=fd8d74c91c090079c6f81921bf71162f
diff --git a/metadata/md5-cache/dev-rust/bitfield-0.13.2 b/metadata/md5-cache/dev-rust/bitfield-0.13.2
index 256233a..ea06fa0 100644
--- a/metadata/md5-cache/dev-rust/bitfield-0.13.2
+++ b/metadata/md5-cache/dev-rust/bitfield-0.13.2
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=This crate provides macros to generate bitfield-like struct.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/bitfield
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.13.2/r0
 SRC_URI=https://crates.io/api/v1/crates/bitfield/0.13.2/download -> bitfield-0.13.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=ac7490ecfbe0fac7e770487d53b4338f
diff --git a/metadata/md5-cache/dev-rust/bitflags-1.3.2 b/metadata/md5-cache/dev-rust/bitflags-1.3.2
index 65075e7..63393c9 100644
--- a/metadata/md5-cache/dev-rust/bitflags-1.3.2
+++ b/metadata/md5-cache/dev-rust/bitflags-1.3.2
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A macro to generate structures which behave like bitflags.
 EAPI=7
 HOMEPAGE=https://github.com/bitflags/bitflags
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:=
+RDEPEND=>=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.3.2/r0
 SRC_URI=https://crates.io/api/v1/crates/bitflags/1.3.2/download -> bitflags-1.3.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=db4584cf9d08b4333ea7d32ecc69de69
diff --git a/metadata/md5-cache/dev-rust/built-0.3.1 b/metadata/md5-cache/dev-rust/built-0.3.1
deleted file mode 100644
index 5179b53..0000000
--- a/metadata/md5-cache/dev-rust/built-0.3.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/toml-0.5*:= =dev-rust/chrono-0.4*:= =dev-rust/git2-0.9*:= =dev-rust/semver-0.9*:= =dev-rust/tempdir-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=built provides a crate with information from the time it was built.
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-RESTRICT=test
-SLOT=0.3.1/r0
-SRC_URI=https://crates.io/api/v1/crates/built/0.3.1/download -> built-0.3.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=0b4b53296f7798f6b7270d4557d509d1
diff --git a/metadata/md5-cache/dev-rust/built-0.3.1-r1 b/metadata/md5-cache/dev-rust/built-0.3.1-r1
deleted file mode 100644
index d65d3e0d..0000000
--- a/metadata/md5-cache/dev-rust/built-0.3.1-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/toml-0.5*:= =dev-rust/chrono-0.4*:= =dev-rust/git2-0.9*:= =dev-rust/semver-0.9*:= =dev-rust/tempdir-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=built provides a crate with information from the time it was built.
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-RESTRICT=test
-SLOT=0.3.1/r1
-SRC_URI=https://crates.io/api/v1/crates/built/0.3.1/download -> built-0.3.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=0b4b53296f7798f6b7270d4557d509d1
diff --git a/metadata/md5-cache/dev-rust/built-0.5.1 b/metadata/md5-cache/dev-rust/built-0.5.1
new file mode 100644
index 0000000..c51b0a8
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/built-0.5.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/cargo-lock-7*:= =dev-rust/chrono-0.4*:= =dev-rust/git2-0.13*:= =dev-rust/semver-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Provides a crate with information from the time it was built.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/built
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND==dev-rust/cargo-lock-7*:= =dev-rust/chrono-0.4*:= =dev-rust/git2-0.13*:= =dev-rust/semver-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.5.1/r0
+SRC_URI=https://crates.io/api/v1/crates/built/0.5.1/download -> built-0.5.1.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a4918e7e3156218eb537befd86bfb477
diff --git a/metadata/md5-cache/dev-rust/bumpalo-3.5.0 b/metadata/md5-cache/dev-rust/bumpalo-3.5.0
index 9aeb078..5110457 100644
--- a/metadata/md5-cache/dev-rust/bumpalo-3.5.0
+++ b/metadata/md5-cache/dev-rust/bumpalo-3.5.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=3.5.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/bytecount-0.6.2 b/metadata/md5-cache/dev-rust/bytecount-0.6.2
new file mode 100644
index 0000000..2814e84
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/bytecount-0.6.2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/packed_simd_2-0.3.4 <dev-rust/packed_simd_2-0.4.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=count occurrences of a given byte, or the number of UTF-8 code points, in a byte slice, fast
+EAPI=7
+HOMEPAGE=https://crates.io/crates/bytecount
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( Apache-2.0 MIT )
+RDEPEND=>=dev-rust/packed_simd_2-0.3.4 <dev-rust/packed_simd_2-0.4.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.6.2/r0
+SRC_URI=https://crates.io/api/v1/crates/bytecount/0.6.2/download -> bytecount-0.6.2.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ea63d24e43c44892a40e524a73598776
diff --git a/metadata/md5-cache/dev-rust/bytemuck-1.7.3 b/metadata/md5-cache/dev-rust/bytemuck-1.7.3
index e5313df..b6bd158 100644
--- a/metadata/md5-cache/dev-rust/bytemuck-1.7.3
+++ b/metadata/md5-cache/dev-rust/bytemuck-1.7.3
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bytemuck_derive-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/bytemuck_derive-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A crate for mucking around with piles of bytes.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/bytemuck
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
-RDEPEND==dev-rust/bytemuck_derive-1*:=
+RDEPEND==dev-rust/bytemuck_derive-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.7.3/r0
 SRC_URI=https://crates.io/api/v1/crates/bytemuck/1.7.3/download -> bytemuck-1.7.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=7312d48885c1e636d4a2cf3c80b44e24
diff --git a/metadata/md5-cache/dev-rust/bytemuck_derive-1.0.0 b/metadata/md5-cache/dev-rust/bytemuck_derive-1.0.0
index 89b8c8d..c829268 100644
--- a/metadata/md5-cache/dev-rust/bytemuck_derive-1.0.0
+++ b/metadata/md5-cache/dev-rust/bytemuck_derive-1.0.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/byteorder-1.4.3 b/metadata/md5-cache/dev-rust/byteorder-1.4.3
index e187fc1..46f65d9 100644
--- a/metadata/md5-cache/dev-rust/byteorder-1.4.3
+++ b/metadata/md5-cache/dev-rust/byteorder-1.4.3
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Library for reading/writing numbers in big-endian and little-endian.
 EAPI=7
 HOMEPAGE=https://github.com/BurntSushi/byteorder
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=1.4.3/r0
 SRC_URI=https://crates.io/api/v1/crates/byteorder/1.4.3/download -> byteorder-1.4.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=d5d6bab0c9d8113d2b7e81bcea297dc8
diff --git a/metadata/md5-cache/dev-rust/bytes-0.4.12 b/metadata/md5-cache/dev-rust/bytes-0.4.12
index 38220f1..12499ae 100644
--- a/metadata/md5-cache/dev-rust/bytes-0.4.12
+++ b/metadata/md5-cache/dev-rust/bytes-0.4.12
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/byteorder-1.1.0:= <dev-rust/byteorder-2.0.0 >=dev-rust/either-1.5.0:= <dev-rust/either-2.0.0 =dev-rust/iovec-0.1*:= =dev-rust/serde-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/byteorder-1.1.0:= <dev-rust/byteorder-2.0.0 >=dev-rust/either-1.5.0:= <dev-rust/either-2.0.0 =dev-rust/iovec-0.1*:= =dev-rust/serde-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Types and traits for working with bytes
 EAPI=7
 HOMEPAGE=https://github.com/carllerche/bytes
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/byteorder-1.1.0:= <dev-rust/byteorder-2.0.0 >=dev-rust/either-1.5.0:= <dev-rust/either-2.0.0 =dev-rust/iovec-0.1*:= =dev-rust/serde-1*:=
+RDEPEND=>=dev-rust/byteorder-1.1.0:= <dev-rust/byteorder-2.0.0 >=dev-rust/either-1.5.0:= <dev-rust/either-2.0.0 =dev-rust/iovec-0.1*:= =dev-rust/serde-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.4.12/r0
 SRC_URI=https://crates.io/api/v1/crates/bytes/0.4.12/download -> bytes-0.4.12.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=7ec951c9be63c5c55f6e0d82edd52591
diff --git a/metadata/md5-cache/dev-rust/bytes-0.5.6 b/metadata/md5-cache/dev-rust/bytes-0.5.6
index 1e6c9b0..57ddaaa 100644
--- a/metadata/md5-cache/dev-rust/bytes-0.5.6
+++ b/metadata/md5-cache/dev-rust/bytes-0.5.6
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/serde-1.0.60:= <dev-rust/serde-2 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/serde-1.0.60:= <dev-rust/serde-2 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A utility library for working with bytes.
 EAPI=7
 HOMEPAGE=https://github.com/tokio-rs/bytes
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.5.6/r0
 SRC_URI=https://crates.io/api/v1/crates/bytes/0.5.6/download -> bytes-0.5.6.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=3494793e7f8e2bec90a6f0845fcbfc62
diff --git a/metadata/md5-cache/dev-rust/bytes-1.1.0-r1 b/metadata/md5-cache/dev-rust/bytes-1.1.0-r1
new file mode 100644
index 0000000..176472f
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/bytes-1.1.0-r1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/serde-1.0.60:= <dev-rust/serde-2 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A utility library for working with bytes.
+EAPI=7
+HOMEPAGE=https://github.com/tokio-rs/bytes
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.1.0/r1
+SRC_URI=https://crates.io/api/v1/crates/bytes/1.1.0/download -> bytes-1.1.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=90b59750c794ffb1deaa3a36f3066ae1
diff --git a/metadata/md5-cache/dev-rust/capnp-0.14.2 b/metadata/md5-cache/dev-rust/capnp-0.14.2
index 77c007a..ace6986 100644
--- a/metadata/md5-cache/dev-rust/capnp-0.14.2
+++ b/metadata/md5-cache/dev-rust/capnp-0.14.2
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.14.2/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/capnpc-0.14.4 b/metadata/md5-cache/dev-rust/capnpc-0.14.4
index df86abc..6f5d111 100644
--- a/metadata/md5-cache/dev-rust/capnpc-0.14.4
+++ b/metadata/md5-cache/dev-rust/capnpc-0.14.4
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.14.4/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/cargo-lock-7.1.0 b/metadata/md5-cache/dev-rust/cargo-lock-7.1.0
new file mode 100644
index 0000000..72bc9e5
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/cargo-lock-7.1.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/gumdrop-0.8*:= =dev-rust/petgraph-0.6*:= =dev-rust/semver-1*:= =dev-rust/serde-1*:= =dev-rust/toml-0.5*:= =dev-rust/url-2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Self-contained Cargo.lock parser with optional dependency graph analysis
+EAPI=7
+HOMEPAGE=https://rustsec.org
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( Apache-2.0 MIT )
+RDEPEND==dev-rust/gumdrop-0.8*:= =dev-rust/petgraph-0.6*:= =dev-rust/semver-1*:= =dev-rust/serde-1*:= =dev-rust/toml-0.5*:= =dev-rust/url-2*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=7.1.0/r0
+SRC_URI=https://crates.io/api/v1/crates/cargo-lock/7.1.0/download -> cargo-lock-7.1.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7509f8ff17377e01ba18b3f43779dded
diff --git a/metadata/md5-cache/dev-rust/cast-0.3.0 b/metadata/md5-cache/dev-rust/cast-0.3.0
index 96293f9..1e154be 100644
--- a/metadata/md5-cache/dev-rust/cast-0.3.0
+++ b/metadata/md5-cache/dev-rust/cast-0.3.0
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Ergonomic, checked cast functions for primitive types
 EAPI=7
 HOMEPAGE=https://crates.io/crates/cast
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.3.0/r0
 SRC_URI=https://crates.io/api/v1/crates/cast/0.3.0/download -> cast-0.3.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f713fb08d27779deca41091e28677935
diff --git a/metadata/md5-cache/dev-rust/cbindgen-0.20.0 b/metadata/md5-cache/dev-rust/cbindgen-0.20.0
new file mode 100644
index 0000000..67209f4
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/cbindgen-0.20.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/clap-2*:= =dev-rust/heck-0.3*:= =dev-rust/indexmap-1*:= =dev-rust/log-0.4*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/serde-1.0.103 <dev-rust/serde-2.0.0_alpha:= =dev-rust/serde_json-1*:= >=dev-rust/syn-1.0.3 <dev-rust/syn-2.0.0_alpha:= =dev-rust/tempfile-3*:= =dev-rust/toml-0.5*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A tool for generating C bindings to Rust code.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/cbindgen
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MPL-2.0
+RDEPEND==dev-rust/clap-2*:= =dev-rust/heck-0.3*:= =dev-rust/indexmap-1*:= =dev-rust/log-0.4*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/serde-1.0.103 <dev-rust/serde-2.0.0_alpha:= =dev-rust/serde_json-1*:= >=dev-rust/syn-1.0.3 <dev-rust/syn-2.0.0_alpha:= =dev-rust/tempfile-3*:= =dev-rust/toml-0.5*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.20.0
+SRC_URI=https://crates.io/api/v1/crates/cbindgen/0.20.0/download -> cbindgen-0.20.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8f6c435fc24878ed2fe5ce25f5637c4c
diff --git a/metadata/md5-cache/dev-rust/cbindgen-0.20.0-r1 b/metadata/md5-cache/dev-rust/cbindgen-0.20.0-r1
new file mode 100644
index 0000000..f76ff36
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/cbindgen-0.20.0-r1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/clap-2*:= =dev-rust/heck-0.3*:= =dev-rust/indexmap-1*:= =dev-rust/log-0.4*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/serde-1.0.103 <dev-rust/serde-2.0.0_alpha:= =dev-rust/serde_json-1*:= >=dev-rust/syn-1.0.3 <dev-rust/syn-2.0.0_alpha:= =dev-rust/tempfile-3*:= =dev-rust/toml-0.5*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A tool for generating C bindings to Rust code.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/cbindgen
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MPL-2.0
+RDEPEND==dev-rust/clap-2*:= =dev-rust/heck-0.3*:= =dev-rust/indexmap-1*:= =dev-rust/log-0.4*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/serde-1.0.103 <dev-rust/serde-2.0.0_alpha:= =dev-rust/serde_json-1*:= >=dev-rust/syn-1.0.3 <dev-rust/syn-2.0.0_alpha:= =dev-rust/tempfile-3*:= =dev-rust/toml-0.5*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.20.0-r1
+SRC_URI=https://crates.io/api/v1/crates/cbindgen/0.20.0/download -> cbindgen-0.20.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8f6c435fc24878ed2fe5ce25f5637c4c
diff --git a/metadata/md5-cache/dev-rust/cc-1.0.72 b/metadata/md5-cache/dev-rust/cc-1.0.72
index 2ec9114..8a69d14 100644
--- a/metadata/md5-cache/dev-rust/cc-1.0.72
+++ b/metadata/md5-cache/dev-rust/cc-1.0.72
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/jobserver-0.1.16 <dev-rust/jobserver-0.2.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/jobserver-0.1.16 <dev-rust/jobserver-0.2.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A build-time dependency for Cargo build scripts to assist in invoking the native C compiler to compile native C code into a static archive to be linked into Rust code.
 EAPI=7
 HOMEPAGE=https://github.com/alexcrichton/cc-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/jobserver-0.1.16 <dev-rust/jobserver-0.2.0_alpha:=
+RDEPEND=>=dev-rust/jobserver-0.1.16 <dev-rust/jobserver-0.2.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.72/r0
 SRC_URI=https://crates.io/api/v1/crates/cc/1.0.72/download -> cc-1.0.72.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=88fd53e2580e81de9c56732234208d19
diff --git a/metadata/md5-cache/dev-rust/cexpr-0.6.0 b/metadata/md5-cache/dev-rust/cexpr-0.6.0
index ba8b162..e0cf7fc 100644
--- a/metadata/md5-cache/dev-rust/cexpr-0.6.0
+++ b/metadata/md5-cache/dev-rust/cexpr-0.6.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/nom-7*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/nom-7*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A C expression parser and evaluator
 EAPI=7
 HOMEPAGE=https://crates.io/crates/cexpr
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
-RDEPEND==dev-rust/nom-7*:=
+RDEPEND==dev-rust/nom-7*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.6.0/r0
 SRC_URI=https://crates.io/api/v1/crates/cexpr/0.6.0/download -> cexpr-0.6.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=22cecdee6116f72bc5dfbe4c6d2d9bb9
diff --git a/metadata/md5-cache/dev-rust/cfg-if-0.1.10 b/metadata/md5-cache/dev-rust/cfg-if-0.1.10
index 03a1f26..9f4034a 100644
--- a/metadata/md5-cache/dev-rust/cfg-if-0.1.10
+++ b/metadata/md5-cache/dev-rust/cfg-if-0.1.10
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A macro to ergonomically define an item depending on a large number of #[cfg] parameters
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/alexcrichton/cfg-if
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.1.10/r0
 SRC_URI=https://crates.io/api/v1/crates/cfg-if/0.1.10/download -> cfg-if-0.1.10.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=182e6ebc07b985de83fd5c3611cb0d85
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=590cabe0a25e73e58cf89789b68be19f
diff --git a/metadata/md5-cache/dev-rust/cfg-if-1.0.0 b/metadata/md5-cache/dev-rust/cfg-if-1.0.0
index 97eb19b..87f8ab0 100644
--- a/metadata/md5-cache/dev-rust/cfg-if-1.0.0
+++ b/metadata/md5-cache/dev-rust/cfg-if-1.0.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A macro to ergonomically define an item depending on a large number of #[cfg] parameters
 EAPI=7
 HOMEPAGE=https://github.com/alexcrichton/cfg-if
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.0/r0
 SRC_URI=https://crates.io/api/v1/crates/cfg-if/1.0.0/download -> cfg-if-1.0.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e4ba87dc2fa6a64ebb032d6a370c9eaa
diff --git a/metadata/md5-cache/dev-rust/chashmap-2.2.2 b/metadata/md5-cache/dev-rust/chashmap-2.2.2
deleted file mode 100644
index f0d46ed..0000000
--- a/metadata/md5-cache/dev-rust/chashmap-2.2.2
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/owning_ref-0.3*:= =dev-rust/parking_lot-0.4*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Fast, concurrent hash maps with extensive API
-EAPI=7
-HOMEPAGE=https://gitlab.redox-os.org/redox-os/chashmap
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND==dev-rust/owning_ref-0.3*:= =dev-rust/parking_lot-0.4*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=2.2.2/r0
-SRC_URI=https://crates.io/api/v1/crates/chashmap/2.2.2/download -> chashmap-2.2.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5cdfad587436a41d9da5e91e0f6d01b5
diff --git a/metadata/md5-cache/dev-rust/chashmap-2.2.2-r2 b/metadata/md5-cache/dev-rust/chashmap-2.2.2-r2
deleted file mode 100644
index 95fa7f9..0000000
--- a/metadata/md5-cache/dev-rust/chashmap-2.2.2-r2
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/owning_ref-0.3*:= =dev-rust/parking_lot-0.4*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Fast, concurrent hash maps with extensive API
-EAPI=7
-HOMEPAGE=https://gitlab.redox-os.org/redox-os/chashmap
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND==dev-rust/owning_ref-0.3*:= =dev-rust/parking_lot-0.4*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=2.2.2/r2
-SRC_URI=https://crates.io/api/v1/crates/chashmap/2.2.2/download -> chashmap-2.2.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5cdfad587436a41d9da5e91e0f6d01b5
diff --git a/metadata/md5-cache/dev-rust/chromeos-dbus-bindings-0.25.52-r17 b/metadata/md5-cache/dev-rust/chromeos-dbus-bindings-0.25.52-r17
deleted file mode 100644
index b4ef9fc..0000000
--- a/metadata/md5-cache/dev-rust/chromeos-dbus-bindings-0.25.52-r17
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=>=dev-rust/dbus-codegen-0.10.0 dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/which-4*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Chrome OS D-Bus bindings generator for Rust.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-dbus-bindings/
-IUSE=cros_host cros_workon_tree_2aab1d2904dfb619f622fef4012c1c1a2929ab28 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=!chromeos-base/chromeos-dbus-bindings-rust =dev-rust/which-4*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.25.52-r17
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=32377dd0b4128bea56efb3f39d3fede1
diff --git a/metadata/md5-cache/dev-rust/chromeos-dbus-bindings-0.25.52-r39 b/metadata/md5-cache/dev-rust/chromeos-dbus-bindings-0.25.52-r39
new file mode 100644
index 0000000..c950526
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/chromeos-dbus-bindings-0.25.52-r39
@@ -0,0 +1,15 @@
+BDEPEND=>=dev-rust/dbus-codegen-0.10.0 dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/which-4*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Chrome OS D-Bus bindings generator for Rust.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-dbus-bindings/
+IUSE=cros_host cros_workon_tree_f8f2bb698a2b96ec55bcd7e564b813aea6e1c7b5 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=!chromeos-base/chromeos-dbus-bindings-rust =dev-rust/which-4*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.25.52-r39
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c078f83be693921705ddac95394b5ab3
diff --git a/metadata/md5-cache/dev-rust/chromeos-dbus-bindings-9999 b/metadata/md5-cache/dev-rust/chromeos-dbus-bindings-9999
index 2bd00ed..3644e97 100644
--- a/metadata/md5-cache/dev-rust/chromeos-dbus-bindings-9999
+++ b/metadata/md5-cache/dev-rust/chromeos-dbus-bindings-9999
@@ -1,15 +1,15 @@
 BDEPEND=>=dev-rust/dbus-codegen-0.10.0 dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/which-4*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/which-4*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Chrome OS D-Bus bindings generator for Rust.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-dbus-bindings/
-IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=!chromeos-base/chromeos-dbus-bindings-rust =dev-rust/which-4*:=
+RDEPEND=!chromeos-base/chromeos-dbus-bindings-rust =dev-rust/which-4*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=0ccfc8662cd18a0d01395acda8619827
diff --git a/metadata/md5-cache/dev-rust/chrono-0.4.19 b/metadata/md5-cache/dev-rust/chrono-0.4.19
index f45ad16..c6c9cf8 100644
--- a/metadata/md5-cache/dev-rust/chrono-0.4.19
+++ b/metadata/md5-cache/dev-rust/chrono-0.4.19
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bincode-0.8*:= >=dev-rust/num-integer-0.1.36:= <dev-rust/num-integer-0.2.0 >=dev-rust/num-iter-0.1.35:= <dev-rust/num-iter-0.2.0 =dev-rust/num-traits-0.2*:= >=dev-rust/rustc-serialize-0.3.20:= <dev-rust/rustc-serialize-0.4.0 =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= >=dev-rust/time-0.1.43:= <dev-rust/time-0.2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/bincode-0.8*:= >=dev-rust/num-integer-0.1.36:= <dev-rust/num-integer-0.2.0 >=dev-rust/num-iter-0.1.35:= <dev-rust/num-iter-0.2.0 =dev-rust/num-traits-0.2*:= >=dev-rust/rustc-serialize-0.3.20:= <dev-rust/rustc-serialize-0.4.0 =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Aims to be a feature-complete superset of the time library
 EAPI=7
 HOMEPAGE=https://github.com/chronotope/chrono
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/bincode-0.8*:= >=dev-rust/num-integer-0.1.36:= <dev-rust/num-integer-0.2.0 >=dev-rust/num-iter-0.1.35:= <dev-rust/num-iter-0.2.0 =dev-rust/num-traits-0.2*:= >=dev-rust/rustc-serialize-0.3.20:= <dev-rust/rustc-serialize-0.4.0 =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= >=dev-rust/time-0.1.43:= <dev-rust/time-0.2.0
+RDEPEND==dev-rust/bincode-0.8*:= >=dev-rust/num-integer-0.1.36:= <dev-rust/num-integer-0.2.0 >=dev-rust/num-iter-0.1.35:= <dev-rust/num-iter-0.2.0 =dev-rust/num-traits-0.2*:= >=dev-rust/rustc-serialize-0.3.20:= <dev-rust/rustc-serialize-0.4.0 =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.4.19/r0
 SRC_URI=https://crates.io/api/v1/crates/chrono/0.4.19/download -> chrono-0.4.19.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2fb5a3080de332458e4f480ad9f39b3a
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=70f7f6076f26210bbf514fddd18df87a
diff --git a/metadata/md5-cache/dev-rust/chrono-0.4.19-r2 b/metadata/md5-cache/dev-rust/chrono-0.4.19-r2
deleted file mode 100644
index a86b8a1..0000000
--- a/metadata/md5-cache/dev-rust/chrono-0.4.19-r2
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bincode-0.8*:= >=dev-rust/num-integer-0.1.36:= <dev-rust/num-integer-0.2.0 >=dev-rust/num-iter-0.1.35:= <dev-rust/num-iter-0.2.0 =dev-rust/num-traits-0.2*:= >=dev-rust/rustc-serialize-0.3.20:= <dev-rust/rustc-serialize-0.4.0 =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= >=dev-rust/time-0.1.43:= <dev-rust/time-0.2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Aims to be a feature-complete superset of the time library
-EAPI=7
-HOMEPAGE=https://github.com/chronotope/chrono
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/bincode-0.8*:= >=dev-rust/num-integer-0.1.36:= <dev-rust/num-integer-0.2.0 >=dev-rust/num-iter-0.1.35:= <dev-rust/num-iter-0.2.0 =dev-rust/num-traits-0.2*:= >=dev-rust/rustc-serialize-0.3.20:= <dev-rust/rustc-serialize-0.4.0 =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= >=dev-rust/time-0.1.43:= <dev-rust/time-0.2.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-RESTRICT=test
-SLOT=0.4.19/r2
-SRC_URI=https://crates.io/api/v1/crates/chrono/0.4.19/download -> chrono-0.4.19.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2fb5a3080de332458e4f480ad9f39b3a
diff --git a/metadata/md5-cache/dev-rust/chrono-0.4.19-r3 b/metadata/md5-cache/dev-rust/chrono-0.4.19-r3
new file mode 100644
index 0000000..2096529
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/chrono-0.4.19-r3
@@ -0,0 +1,15 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/bincode-0.8*:= >=dev-rust/num-integer-0.1.36:= <dev-rust/num-integer-0.2.0 >=dev-rust/num-iter-0.1.35:= <dev-rust/num-iter-0.2.0 =dev-rust/num-traits-0.2*:= >=dev-rust/rustc-serialize-0.3.20:= <dev-rust/rustc-serialize-0.4.0 =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Aims to be a feature-complete superset of the time library
+EAPI=7
+HOMEPAGE=https://github.com/chronotope/chrono
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/bincode-0.8*:= >=dev-rust/num-integer-0.1.36:= <dev-rust/num-integer-0.2.0 >=dev-rust/num-iter-0.1.35:= <dev-rust/num-iter-0.2.0 =dev-rust/num-traits-0.2*:= >=dev-rust/rustc-serialize-0.3.20:= <dev-rust/rustc-serialize-0.4.0 =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+RESTRICT=test
+SLOT=0.4.19/r3
+SRC_URI=https://crates.io/api/v1/crates/chrono/0.4.19/download -> chrono-0.4.19.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=70f7f6076f26210bbf514fddd18df87a
diff --git a/metadata/md5-cache/dev-rust/chunked_transfer-1.2.0 b/metadata/md5-cache/dev-rust/chunked_transfer-1.2.0
index 703e36e..44ed954 100644
--- a/metadata/md5-cache/dev-rust/chunked_transfer-1.2.0
+++ b/metadata/md5-cache/dev-rust/chunked_transfer-1.2.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Encoder and decoder for HTTP chunked transfer coding (RFC 7230 § 4.1)
 EAPI=7
 HOMEPAGE=https://docs.rs/crate/chunked_transfer/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=Apache-2.0
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.2.0/r0
 SRC_URI=https://crates.io/api/v1/crates/chunked_transfer/1.2.0/download -> chunked_transfer-1.2.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=6f2f14ac2ade340f8e10e051cd69c789
diff --git a/metadata/md5-cache/dev-rust/clang-sys-1.2.0 b/metadata/md5-cache/dev-rust/clang-sys-1.2.0
index 6b7fa66..671a132 100644
--- a/metadata/md5-cache/dev-rust/clang-sys-1.2.0
+++ b/metadata/md5-cache/dev-rust/clang-sys-1.2.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/glob-0.3*:= >=dev-rust/libc-0.2.39:= <dev-rust/libc-0.3.0 =dev-rust/libloading-0.7*:= =dev-rust/glob-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/glob-0.3*:= >=dev-rust/libc-0.2.39:= <dev-rust/libc-0.3.0 =dev-rust/libloading-0.7*:= =dev-rust/glob-0.3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust bindings for libclang.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/clang-sys
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=Apache-2.0
-RDEPEND==dev-rust/glob-0.3*:= >=dev-rust/libc-0.2.39:= <dev-rust/libc-0.3.0 =dev-rust/libloading-0.7*:= =dev-rust/glob-0.3*:=
+RDEPEND==dev-rust/glob-0.3*:= >=dev-rust/libc-0.2.39:= <dev-rust/libc-0.3.0 =dev-rust/libloading-0.7*:= =dev-rust/glob-0.3*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.2.0/r0
 SRC_URI=https://crates.io/api/v1/crates/clang-sys/1.2.0/download -> clang-sys-1.2.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=fd58659b93b7d9d1523890463e7d2a4f
diff --git a/metadata/md5-cache/dev-rust/clap-2.33.3 b/metadata/md5-cache/dev-rust/clap-2.33.3
index 6499516..89eaa6c 100644
--- a/metadata/md5-cache/dev-rust/clap-2.33.3
+++ b/metadata/md5-cache/dev-rust/clap-2.33.3
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/atty-0.2.2:= <dev-rust/atty-0.3.0 =dev-rust/bitflags-1*:= ~dev-rust/clippy-0.0.166:= =dev-rust/strsim-0.8*:= =dev-rust/term_size-0.3*:= =dev-rust/textwrap-0.11*:= >=dev-rust/unicode-width-0.1.4:= <dev-rust/unicode-width-0.2.0 =dev-rust/vec_map-0.8*:= =dev-rust/yaml-rust-0.3*:= =dev-rust/ansi_term-0.11*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/atty-0.2.2:= <dev-rust/atty-0.3.0 =dev-rust/bitflags-1*:= ~dev-rust/clippy-0.0.166:= =dev-rust/strsim-0.8*:= =dev-rust/term_size-0.3*:= =dev-rust/textwrap-0.11*:= >=dev-rust/unicode-width-0.1.4:= <dev-rust/unicode-width-0.2.0 =dev-rust/vec_map-0.8*:= =dev-rust/yaml-rust-0.3*:= =dev-rust/ansi_term-0.11*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A simple to use, efficient, and full-featured Command Line Argument Parser
 EAPI=7
 HOMEPAGE=https://clap.rs/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/atty-0.2.2:= <dev-rust/atty-0.3.0 =dev-rust/bitflags-1*:= ~dev-rust/clippy-0.0.166:= =dev-rust/strsim-0.8*:= =dev-rust/term_size-0.3*:= =dev-rust/textwrap-0.11*:= >=dev-rust/unicode-width-0.1.4:= <dev-rust/unicode-width-0.2.0 =dev-rust/vec_map-0.8*:= =dev-rust/yaml-rust-0.3*:= =dev-rust/ansi_term-0.11*:=
+RDEPEND=>=dev-rust/atty-0.2.2:= <dev-rust/atty-0.3.0 =dev-rust/bitflags-1*:= ~dev-rust/clippy-0.0.166:= =dev-rust/strsim-0.8*:= =dev-rust/term_size-0.3*:= =dev-rust/textwrap-0.11*:= >=dev-rust/unicode-width-0.1.4:= <dev-rust/unicode-width-0.2.0 =dev-rust/vec_map-0.8*:= =dev-rust/yaml-rust-0.3*:= =dev-rust/ansi_term-0.11*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=2.33.3/r0
 SRC_URI=https://crates.io/api/v1/crates/clap/2.33.3/download -> clap-2.33.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=a4f292bc92f03bad125aef4821a3a6f0
diff --git a/metadata/md5-cache/dev-rust/clap-2.33.3-r1 b/metadata/md5-cache/dev-rust/clap-2.33.3-r1
index d00f793..fc73b18 100644
--- a/metadata/md5-cache/dev-rust/clap-2.33.3-r1
+++ b/metadata/md5-cache/dev-rust/clap-2.33.3-r1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/atty-0.2.2:= <dev-rust/atty-0.3.0 =dev-rust/bitflags-1*:= ~dev-rust/clippy-0.0.166:= =dev-rust/strsim-0.8*:= =dev-rust/term_size-0.3*:= =dev-rust/textwrap-0.11*:= >=dev-rust/unicode-width-0.1.4:= <dev-rust/unicode-width-0.2.0 =dev-rust/vec_map-0.8*:= =dev-rust/yaml-rust-0.3*:= =dev-rust/ansi_term-0.11*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/atty-0.2.2:= <dev-rust/atty-0.3.0 =dev-rust/bitflags-1*:= ~dev-rust/clippy-0.0.166:= =dev-rust/strsim-0.8*:= =dev-rust/term_size-0.3*:= =dev-rust/textwrap-0.11*:= >=dev-rust/unicode-width-0.1.4:= <dev-rust/unicode-width-0.2.0 =dev-rust/vec_map-0.8*:= =dev-rust/yaml-rust-0.3*:= =dev-rust/ansi_term-0.11*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A simple to use, efficient, and full-featured Command Line Argument Parser
 EAPI=7
 HOMEPAGE=https://clap.rs/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/atty-0.2.2:= <dev-rust/atty-0.3.0 =dev-rust/bitflags-1*:= ~dev-rust/clippy-0.0.166:= =dev-rust/strsim-0.8*:= =dev-rust/term_size-0.3*:= =dev-rust/textwrap-0.11*:= >=dev-rust/unicode-width-0.1.4:= <dev-rust/unicode-width-0.2.0 =dev-rust/vec_map-0.8*:= =dev-rust/yaml-rust-0.3*:= =dev-rust/ansi_term-0.11*:=
+RDEPEND=>=dev-rust/atty-0.2.2:= <dev-rust/atty-0.3.0 =dev-rust/bitflags-1*:= ~dev-rust/clippy-0.0.166:= =dev-rust/strsim-0.8*:= =dev-rust/term_size-0.3*:= =dev-rust/textwrap-0.11*:= >=dev-rust/unicode-width-0.1.4:= <dev-rust/unicode-width-0.2.0 =dev-rust/vec_map-0.8*:= =dev-rust/yaml-rust-0.3*:= =dev-rust/ansi_term-0.11*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=2.33.3/r1
 SRC_URI=https://crates.io/api/v1/crates/clap/2.33.3/download -> clap-2.33.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=a4f292bc92f03bad125aef4821a3a6f0
diff --git a/metadata/md5-cache/dev-rust/clap-3.0.0_beta2 b/metadata/md5-cache/dev-rust/clap-3.0.0_beta2
index 283d397..8f312b1 100644
--- a/metadata/md5-cache/dev-rust/clap-3.0.0_beta2
+++ b/metadata/md5-cache/dev-rust/clap-3.0.0_beta2
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/atty-0.2*:= >=dev-rust/bitflags-1.2.0:= <dev-rust/bitflags-2.0.0 =dev-rust/clap_derive-3*:= =dev-rust/indexmap-1*:= =dev-rust/lazy_static-1*:= >=dev-rust/os_str_bytes-2.3.0:= <dev-rust/os_str_bytes-3.0.0 =dev-rust/regex-1*:= =dev-rust/strsim-0.10*:= >=dev-rust/termcolor-1.1.0:= <dev-rust/termcolor-2.0.0 >=dev-rust/terminal_size-0.1.12:= <dev-rust/terminal_size-0.2.0 =dev-rust/textwrap-0.12*:= =dev-rust/unicode-width-0.1*:= =dev-rust/vec_map-0.8*:= >=dev-rust/yaml-rust-0.4.1:= <dev-rust/yaml-rust-0.5.0 test? ( =dev-rust/criterion-0.3.2:= =dev-rust/version-sync-0.8*:= ) >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/atty-0.2*:= >=dev-rust/bitflags-1.2.0:= <dev-rust/bitflags-2.0.0 =dev-rust/clap_derive-3.0.0_beta2:= =dev-rust/indexmap-1*:= =dev-rust/lazy_static-1*:= >=dev-rust/os_str_bytes-2.3.0:= <dev-rust/os_str_bytes-3.0.0 =dev-rust/regex-1*:= =dev-rust/strsim-0.10*:= >=dev-rust/termcolor-1.1.0:= <dev-rust/termcolor-2.0.0 >=dev-rust/terminal_size-0.1.12:= <dev-rust/terminal_size-0.2.0 =dev-rust/textwrap-0.12*:= =dev-rust/unicode-width-0.1*:= =dev-rust/vec_map-0.8*:= >=dev-rust/yaml-rust-0.4.1:= <dev-rust/yaml-rust-0.5.0 test? ( =dev-rust/criterion-0.3.2:= =dev-rust/version-sync-0.8*:= ) >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A simple to use, efficient, and full-featured Command Line Argument Parser
 EAPI=7
 HOMEPAGE=https://clap.rs/
-IUSE=test cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=test cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/atty-0.2*:= >=dev-rust/bitflags-1.2.0:= <dev-rust/bitflags-2.0.0 =dev-rust/clap_derive-3*:= =dev-rust/indexmap-1*:= =dev-rust/lazy_static-1*:= >=dev-rust/os_str_bytes-2.3.0:= <dev-rust/os_str_bytes-3.0.0 =dev-rust/regex-1*:= =dev-rust/strsim-0.10*:= >=dev-rust/termcolor-1.1.0:= <dev-rust/termcolor-2.0.0 >=dev-rust/terminal_size-0.1.12:= <dev-rust/terminal_size-0.2.0 =dev-rust/textwrap-0.12*:= =dev-rust/unicode-width-0.1*:= =dev-rust/vec_map-0.8*:= >=dev-rust/yaml-rust-0.4.1:= <dev-rust/yaml-rust-0.5.0 test? ( =dev-rust/criterion-0.3.2:= =dev-rust/version-sync-0.8*:= )
+RDEPEND==dev-rust/atty-0.2*:= >=dev-rust/bitflags-1.2.0:= <dev-rust/bitflags-2.0.0 =dev-rust/clap_derive-3.0.0_beta2:= =dev-rust/indexmap-1*:= =dev-rust/lazy_static-1*:= >=dev-rust/os_str_bytes-2.3.0:= <dev-rust/os_str_bytes-3.0.0 =dev-rust/regex-1*:= =dev-rust/strsim-0.10*:= >=dev-rust/termcolor-1.1.0:= <dev-rust/termcolor-2.0.0 >=dev-rust/terminal_size-0.1.12:= <dev-rust/terminal_size-0.2.0 =dev-rust/textwrap-0.12*:= =dev-rust/unicode-width-0.1*:= =dev-rust/vec_map-0.8*:= >=dev-rust/yaml-rust-0.4.1:= <dev-rust/yaml-rust-0.5.0 test? ( =dev-rust/criterion-0.3.2:= =dev-rust/version-sync-0.8*:= ) virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=3.0.0_beta2/r0
 SRC_URI=https://crates.io/api/v1/crates/clap/3.0.0-beta.2/download -> clap-3.0.0_beta2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=7fc13bfe62fd775db54640a58a73a31f
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=061c866ddfe8026e846ff505a754d98b
diff --git a/metadata/md5-cache/dev-rust/clap-3.0.0_beta2-r1 b/metadata/md5-cache/dev-rust/clap-3.0.0_beta2-r1
new file mode 100644
index 0000000..f193387
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/clap-3.0.0_beta2-r1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/atty-0.2*:= >=dev-rust/bitflags-1.2.0:= <dev-rust/bitflags-2.0.0 =dev-rust/clap_derive-3.0.0_beta2:= =dev-rust/indexmap-1*:= =dev-rust/lazy_static-1*:= >=dev-rust/os_str_bytes-2.3.0:= <dev-rust/os_str_bytes-3.0.0 =dev-rust/regex-1*:= =dev-rust/strsim-0.10*:= >=dev-rust/termcolor-1.1.0:= <dev-rust/termcolor-2.0.0 >=dev-rust/terminal_size-0.1.12:= <dev-rust/terminal_size-0.2.0 =dev-rust/textwrap-0.12*:= =dev-rust/unicode-width-0.1*:= =dev-rust/vec_map-0.8*:= >=dev-rust/yaml-rust-0.4.1:= <dev-rust/yaml-rust-0.5.0 test? ( =dev-rust/criterion-0.3.2:= =dev-rust/version-sync-0.8*:= ) >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A simple to use, efficient, and full-featured Command Line Argument Parser
+EAPI=7
+HOMEPAGE=https://clap.rs/
+IUSE=test cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/atty-0.2*:= >=dev-rust/bitflags-1.2.0:= <dev-rust/bitflags-2.0.0 =dev-rust/clap_derive-3.0.0_beta2:= =dev-rust/indexmap-1*:= =dev-rust/lazy_static-1*:= >=dev-rust/os_str_bytes-2.3.0:= <dev-rust/os_str_bytes-3.0.0 =dev-rust/regex-1*:= =dev-rust/strsim-0.10*:= >=dev-rust/termcolor-1.1.0:= <dev-rust/termcolor-2.0.0 >=dev-rust/terminal_size-0.1.12:= <dev-rust/terminal_size-0.2.0 =dev-rust/textwrap-0.12*:= =dev-rust/unicode-width-0.1*:= =dev-rust/vec_map-0.8*:= >=dev-rust/yaml-rust-0.4.1:= <dev-rust/yaml-rust-0.5.0 test? ( =dev-rust/criterion-0.3.2:= =dev-rust/version-sync-0.8*:= ) virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=3.0.0_beta2/r1
+SRC_URI=https://crates.io/api/v1/crates/clap/3.0.0-beta.2/download -> clap-3.0.0_beta2.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=061c866ddfe8026e846ff505a754d98b
diff --git a/metadata/md5-cache/dev-rust/clap-3.1.12 b/metadata/md5-cache/dev-rust/clap-3.1.12
new file mode 100644
index 0000000..1a72cca
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/clap-3.1.12
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/atty-0.2*:= =dev-rust/backtrace-0.3*:= >=dev-rust/bitflags-1.2.0 <dev-rust/bitflags-2.0.0_alpha:= ~dev-rust/clap_derive-3.1.7:= =dev-rust/clap_lex-0.1*:= =dev-rust/indexmap-1*:= =dev-rust/lazy_static-1*:= =dev-rust/regex-1*:= =dev-rust/strsim-0.10*:= >=dev-rust/termcolor-1.1.1 <dev-rust/termcolor-2.0.0_alpha:= >=dev-rust/terminal_size-0.1.12 <dev-rust/terminal_size-0.2.0_alpha:= =dev-rust/textwrap-0.15*:= >=dev-rust/unicase-2.6.0 <dev-rust/unicase-3.0.0_alpha:= >=dev-rust/yaml-rust-0.4.1 <dev-rust/yaml-rust-0.5.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A simple to use, efficient, and full-featured Command Line Argument Parser
+EAPI=7
+HOMEPAGE=https://crates.io/crates/clap
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/atty-0.2*:= =dev-rust/backtrace-0.3*:= >=dev-rust/bitflags-1.2.0 <dev-rust/bitflags-2.0.0_alpha:= ~dev-rust/clap_derive-3.1.7:= =dev-rust/clap_lex-0.1*:= =dev-rust/indexmap-1*:= =dev-rust/lazy_static-1*:= =dev-rust/regex-1*:= =dev-rust/strsim-0.10*:= >=dev-rust/termcolor-1.1.1 <dev-rust/termcolor-2.0.0_alpha:= >=dev-rust/terminal_size-0.1.12 <dev-rust/terminal_size-0.2.0_alpha:= =dev-rust/textwrap-0.15*:= >=dev-rust/unicase-2.6.0 <dev-rust/unicase-3.0.0_alpha:= >=dev-rust/yaml-rust-0.4.1 <dev-rust/yaml-rust-0.5.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=3.1.12/r0
+SRC_URI=https://crates.io/api/v1/crates/clap/3.1.12/download -> clap-3.1.12.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b5a91f6ba2eef5f99ba81a83024f44c8
diff --git a/metadata/md5-cache/dev-rust/clap_complete-3.1.2 b/metadata/md5-cache/dev-rust/clap_complete-3.1.2
new file mode 100644
index 0000000..ab95bb9
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/clap_complete-3.1.2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/clap-3.1.10 <dev-rust/clap-4.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Generate shell completion scripts for your clap::Command
+EAPI=7
+HOMEPAGE=https://crates.io/crates/clap_complete
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/clap-3.1.10 <dev-rust/clap-4.0.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=3.1.2/r0
+SRC_URI=https://crates.io/api/v1/crates/clap_complete/3.1.2/download -> clap_complete-3.1.2.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=cecada39d3baec498861b3b8a5f7c970
diff --git a/metadata/md5-cache/dev-rust/clap_complete_fig-3.1.5 b/metadata/md5-cache/dev-rust/clap_complete_fig-3.1.5
new file mode 100644
index 0000000..0a025e3
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/clap_complete_fig-3.1.5
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/clap-3.1.10 <dev-rust/clap-4.0.0_alpha:= >=dev-rust/clap_complete-3.1.2 <dev-rust/clap_complete-4.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A generator library used with clap for Fig completion scripts
+EAPI=7
+HOMEPAGE=https://crates.io/crates/clap_complete_fig
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/clap-3.1.10 <dev-rust/clap-4.0.0_alpha:= >=dev-rust/clap_complete-3.1.2 <dev-rust/clap_complete-4.0.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=3.1.5/r0
+SRC_URI=https://crates.io/api/v1/crates/clap_complete_fig/3.1.5/download -> clap_complete_fig-3.1.5.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8960ea56e262b0034b21b820ea03f1f3
diff --git a/metadata/md5-cache/dev-rust/clap_conf-0.1.5 b/metadata/md5-cache/dev-rust/clap_conf-0.1.5
index 100d9b9..149647e 100644
--- a/metadata/md5-cache/dev-rust/clap_conf-0.1.5
+++ b/metadata/md5-cache/dev-rust/clap_conf-0.1.5
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/anyhow-1.0.31 <dev-rust/anyhow-2.0.0_alpha:= >=dev-rust/clap-2.33.0 <dev-rust/clap-3.0.0_alpha:= >=dev-rust/serde-1.0.90 <dev-rust/serde-2.0.0_alpha:= >=dev-rust/thiserror-1.0.17 <dev-rust/thiserror-2.0.0_alpha:= =dev-rust/toml-0.5*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/anyhow-1.0.31 <dev-rust/anyhow-2.0.0_alpha:= >=dev-rust/clap-2.33.0 <dev-rust/clap-3.0.0_alpha:= >=dev-rust/serde-1.0.90 <dev-rust/serde-2.0.0_alpha:= >=dev-rust/thiserror-1.0.17 <dev-rust/thiserror-2.0.0_alpha:= =dev-rust/toml-0.5*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A library to unify commandline arguments with config files and environment variables. And make it easier for users to tell your program how to behave across the three main input sources
 EAPI=7
 HOMEPAGE=https://crates.io/crates/clap_conf
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/anyhow-1.0.31 <dev-rust/anyhow-2.0.0_alpha:= >=dev-rust/clap-2.33.0 <dev-rust/clap-3.0.0_alpha:= >=dev-rust/serde-1.0.90 <dev-rust/serde-2.0.0_alpha:= >=dev-rust/thiserror-1.0.17 <dev-rust/thiserror-2.0.0_alpha:= =dev-rust/toml-0.5*:=
+RDEPEND=>=dev-rust/anyhow-1.0.31 <dev-rust/anyhow-2.0.0_alpha:= >=dev-rust/clap-2.33.0 <dev-rust/clap-3.0.0_alpha:= >=dev-rust/serde-1.0.90 <dev-rust/serde-2.0.0_alpha:= >=dev-rust/thiserror-1.0.17 <dev-rust/thiserror-2.0.0_alpha:= =dev-rust/toml-0.5*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.1.5/r0
 SRC_URI=https://crates.io/api/v1/crates/clap_conf/0.1.5/download -> clap_conf-0.1.5.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=a25972f2e14cba3adf4eb591fa0e19c8
diff --git a/metadata/md5-cache/dev-rust/clap_derive-3.0.0_beta2 b/metadata/md5-cache/dev-rust/clap_derive-3.0.0_beta2
index 74d9e75..609f454 100644
--- a/metadata/md5-cache/dev-rust/clap_derive-3.0.0_beta2
+++ b/metadata/md5-cache/dev-rust/clap_derive-3.0.0_beta2
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/heck-0.3*:= =dev-rust/proc-macro-error-1*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/heck-0.3*:= =dev-rust/proc-macro-error-1*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Parse command line argument by defining a struct, derive crate.
 EAPI=7
 HOMEPAGE=https://clap.rs/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/heck-0.3*:= =dev-rust/proc-macro-error-1*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:=
+RDEPEND==dev-rust/heck-0.3*:= =dev-rust/proc-macro-error-1*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=3.0.0_beta2/r0
 SRC_URI=https://crates.io/api/v1/crates/clap_derive/3.0.0-beta.2/download -> clap_derive-3.0.0_beta2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=6cc452ed9906e9cbb738580b1294dbbd
diff --git a/metadata/md5-cache/dev-rust/clap_derive-3.1.7 b/metadata/md5-cache/dev-rust/clap_derive-3.1.7
new file mode 100644
index 0000000..19d9c16
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/clap_derive-3.1.7
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/heck-0.4*:= =dev-rust/proc-macro-error-1*:= >=dev-rust/proc-macro2-1.0.28 <dev-rust/proc-macro2-2.0.0_alpha:= >=dev-rust/quote-1.0.9 <dev-rust/quote-2.0.0_alpha:= >=dev-rust/syn-1.0.74 <dev-rust/syn-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Parse command line argument by defining a struct, derive crate.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/clap_derive
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/heck-0.4*:= =dev-rust/proc-macro-error-1*:= >=dev-rust/proc-macro2-1.0.28 <dev-rust/proc-macro2-2.0.0_alpha:= >=dev-rust/quote-1.0.9 <dev-rust/quote-2.0.0_alpha:= >=dev-rust/syn-1.0.74 <dev-rust/syn-2.0.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=3.1.7/r0
+SRC_URI=https://crates.io/api/v1/crates/clap_derive/3.1.7/download -> clap_derive-3.1.7.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=bd31356bc954e52704e7597b8dbf2321
diff --git a/metadata/md5-cache/dev-rust/clap_lex-0.1.1 b/metadata/md5-cache/dev-rust/clap_lex-0.1.1
new file mode 100644
index 0000000..40b14f5
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/clap_lex-0.1.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/os_str_bytes-6*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Minimal, flexible command line parser
+EAPI=7
+HOMEPAGE=https://crates.io/crates/clap_lex
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/os_str_bytes-6*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.1.1/r0
+SRC_URI=https://crates.io/api/v1/crates/clap_lex/0.1.1/download -> clap_lex-0.1.1.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c97bef10969d9be01a28aef6e56cca31
diff --git a/metadata/md5-cache/dev-rust/clap_mangen-0.1.6 b/metadata/md5-cache/dev-rust/clap_mangen-0.1.6
new file mode 100644
index 0000000..ee51356
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/clap_mangen-0.1.6
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/clap-3.1.10 <dev-rust/clap-4.0.0_alpha:= >=dev-rust/roff-0.2.1 <dev-rust/roff-0.3.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A manpage generator for clap
+EAPI=7
+HOMEPAGE=https://crates.io/crates/clap_mangen
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/clap-3.1.10 <dev-rust/clap-4.0.0_alpha:= >=dev-rust/roff-0.2.1 <dev-rust/roff-0.3.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.1.6/r0
+SRC_URI=https://crates.io/api/v1/crates/clap_mangen/0.1.6/download -> clap_mangen-0.1.6.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=506089cd2b86b0e5cd5ae5cf03085df7
diff --git a/metadata/md5-cache/dev-rust/clippy-0.0.166 b/metadata/md5-cache/dev-rust/clippy-0.0.166
index 6a862a3..68526c9 100644
--- a/metadata/md5-cache/dev-rust/clippy-0.0.166
+++ b/metadata/md5-cache/dev-rust/clippy-0.0.166
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty clippy crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.0.166/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=fe642eb1e1c685d100e0b97134e98668
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3d31343062e28bfb87bec24acad9eef2
diff --git a/metadata/md5-cache/dev-rust/cloudflare-zlib-sys-0.2.0 b/metadata/md5-cache/dev-rust/cloudflare-zlib-sys-0.2.0
index ae8155a..5866d45 100644
--- a/metadata/md5-cache/dev-rust/cloudflare-zlib-sys-0.2.0
+++ b/metadata/md5-cache/dev-rust/cloudflare-zlib-sys-0.2.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/cc-1.0.25:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/cc-1.0.25:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Cloudflare fork of zlib with massive performance improvements
 EAPI=7
 HOMEPAGE=https://gitlab.com/kornelski/cloudflare-zlib-sys
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 ) ZLIB
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.0/r0
 SRC_URI=https://crates.io/api/v1/crates/cloudflare-zlib-sys/0.2.0/download -> cloudflare-zlib-sys-0.2.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=4fd54b136eb3f8a931e8a860b0b62569
diff --git a/metadata/md5-cache/dev-rust/codespan-reporting-0.11.1 b/metadata/md5-cache/dev-rust/codespan-reporting-0.11.1
index e7dbe15..7213505 100644
--- a/metadata/md5-cache/dev-rust/codespan-reporting-0.11.1
+++ b/metadata/md5-cache/dev-rust/codespan-reporting-0.11.1
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/serde-1:= <dev-rust/serde-2 >=dev-rust/termcolor-1:= <dev-rust/termcolor-2 >=dev-rust/unicode-width-0.1:= <dev-rust/unicode-width-0.2 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/serde-1:= <dev-rust/serde-2 >=dev-rust/termcolor-1:= <dev-rust/termcolor-2 >=dev-rust/unicode-width-0.1:= <dev-rust/unicode-width-0.2 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Beautiful diagnostic reporting for text-based programming languages
 EAPI=7
 HOMEPAGE=https://crates.io/crates/codespan-reporting
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=Apache-2.0
-RDEPEND=>=dev-rust/serde-1:= <dev-rust/serde-2 >=dev-rust/termcolor-1:= <dev-rust/termcolor-2 >=dev-rust/unicode-width-0.1:= <dev-rust/unicode-width-0.2
+RDEPEND=>=dev-rust/serde-1:= <dev-rust/serde-2 >=dev-rust/termcolor-1:= <dev-rust/termcolor-2 >=dev-rust/unicode-width-0.1:= <dev-rust/unicode-width-0.2 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.11.1/r0
 SRC_URI=https://crates.io/api/v1/crates/codespan-reporting/0.11.1/download -> codespan-reporting-0.11.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e83b75549cb2250fac96e012c2991af8
diff --git a/metadata/md5-cache/dev-rust/color_quant-1.1.0 b/metadata/md5-cache/dev-rust/color_quant-1.1.0
index f8d0a03..b8dd366 100644
--- a/metadata/md5-cache/dev-rust/color_quant-1.1.0
+++ b/metadata/md5-cache/dev-rust/color_quant-1.1.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Color quantization library to reduce n colors to 256 colors.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/color_quant
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.1.0/r0
 SRC_URI=https://crates.io/api/v1/crates/color_quant/1.1.0/download -> color_quant-1.1.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=b051dec00c1a47d0be494f5c981b5123
diff --git a/metadata/md5-cache/dev-rust/colored-2.0.0 b/metadata/md5-cache/dev-rust/colored-2.0.0
index 3767822..de281d3 100644
--- a/metadata/md5-cache/dev-rust/colored-2.0.0
+++ b/metadata/md5-cache/dev-rust/colored-2.0.0
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/atty-0.2*:= =dev-rust/lazy_static-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/atty-0.2*:= =dev-rust/lazy_static-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=The most simple way to add colors in your terminal
 EAPI=7
 HOMEPAGE=https://github.com/mackwic/colored
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MPL-2.0
-RDEPEND==dev-rust/atty-0.2*:= =dev-rust/lazy_static-1*:=
+RDEPEND==dev-rust/atty-0.2*:= =dev-rust/lazy_static-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=2.0.0/r0
 SRC_URI=https://crates.io/api/v1/crates/colored/2.0.0/download -> colored-2.0.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=c3ad0d3ee623986c89313ece32eba61f
diff --git a/metadata/md5-cache/dev-rust/compiler_builtins-0.1.0 b/metadata/md5-cache/dev-rust/compiler_builtins-0.1.0
new file mode 100644
index 0000000..90f7e48
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/compiler_builtins-0.1.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.1.0/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=648d4323d6c90740a82e249b59881fe9
diff --git a/metadata/md5-cache/dev-rust/compiler_builtins-0.1.2 b/metadata/md5-cache/dev-rust/compiler_builtins-0.1.2
index 9601384..d0be311 100644
--- a/metadata/md5-cache/dev-rust/compiler_builtins-0.1.2
+++ b/metadata/md5-cache/dev-rust/compiler_builtins-0.1.2
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.2/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/console-0.15.0 b/metadata/md5-cache/dev-rust/console-0.15.0
new file mode 100644
index 0000000..f075566
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/console-0.15.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/libc-0.2*:= =dev-rust/once_cell-1*:= >=dev-rust/regex-1.4.2 <dev-rust/regex-2.0.0_alpha:= >=dev-rust/terminal_size-0.1.14 <dev-rust/terminal_size-0.2.0_alpha:= =dev-rust/unicode-width-0.1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A terminal and console abstraction for Rust
+EAPI=7
+HOMEPAGE=https://github.com/mitsuhiko/console
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND==dev-rust/libc-0.2*:= =dev-rust/once_cell-1*:= >=dev-rust/regex-1.4.2 <dev-rust/regex-2.0.0_alpha:= >=dev-rust/terminal_size-0.1.14 <dev-rust/terminal_size-0.2.0_alpha:= =dev-rust/unicode-width-0.1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.15.0/r0
+SRC_URI=https://crates.io/api/v1/crates/console/0.15.0/download -> console-0.15.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=54edbd992423c0bbb91dea51d8a2b9ae
diff --git a/metadata/md5-cache/dev-rust/const-random-0.1.12 b/metadata/md5-cache/dev-rust/const-random-0.1.12
new file mode 100644
index 0000000..c51ab75
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/const-random-0.1.12
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.1.12/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/const-random-0.1.6 b/metadata/md5-cache/dev-rust/const-random-0.1.6
index 2b261fa..2901c79 100644
--- a/metadata/md5-cache/dev-rust/const-random-0.1.6
+++ b/metadata/md5-cache/dev-rust/const-random-0.1.6
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.6/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/const_fn-0.4.3 b/metadata/md5-cache/dev-rust/const_fn-0.4.3
index 317e665..b0baf54 100644
--- a/metadata/md5-cache/dev-rust/const_fn-0.4.3
+++ b/metadata/md5-cache/dev-rust/const_fn-0.4.3
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=An attribute for easy generation of const functions with conditional compilations.
 EAPI=7
 HOMEPAGE=https://github.com/taiki-e/const_fn
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.4.3/r0
 SRC_URI=https://crates.io/api/v1/crates/const_fn/0.4.3/download -> const_fn-0.4.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=9207dbeab4701c58cb0b7abd2838d8fb
diff --git a/metadata/md5-cache/dev-rust/cortex-m-0.6.7 b/metadata/md5-cache/dev-rust/cortex-m-0.6.7
index 397f17c..025c29e 100644
--- a/metadata/md5-cache/dev-rust/cortex-m-0.6.7
+++ b/metadata/md5-cache/dev-rust/cortex-m-0.6.7
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/aligned-0.3.1:= <dev-rust/aligned-0.4.0 =dev-rust/bare-metal-0.2*:= >=dev-rust/bitfield-0.13.2:= <dev-rust/bitfield-0.14.0 =dev-rust/cortex-m-0.7*:= =dev-rust/volatile-register-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/aligned-0.3.1:= <dev-rust/aligned-0.4.0 =dev-rust/bare-metal-0.2*:= >=dev-rust/bitfield-0.13.2:= <dev-rust/bitfield-0.14.0 =dev-rust/cortex-m-0.7*:= =dev-rust/volatile-register-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Low level access to Cortex-M processors
 EAPI=7
 HOMEPAGE=https://crates.io/crates/cortex-m
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/aligned-0.3.1:= <dev-rust/aligned-0.4.0 =dev-rust/bare-metal-0.2*:= >=dev-rust/bitfield-0.13.2:= <dev-rust/bitfield-0.14.0 =dev-rust/cortex-m-0.7*:= =dev-rust/volatile-register-0.2*:=
+RDEPEND=>=dev-rust/aligned-0.3.1:= <dev-rust/aligned-0.4.0 =dev-rust/bare-metal-0.2*:= >=dev-rust/bitfield-0.13.2:= <dev-rust/bitfield-0.14.0 =dev-rust/cortex-m-0.7*:= =dev-rust/volatile-register-0.2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.6.7/r0
 SRC_URI=https://crates.io/api/v1/crates/cortex-m/0.6.7/download -> cortex-m-0.6.7.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=65cb84b3947bdea70d5ec18b020a4904
diff --git a/metadata/md5-cache/dev-rust/cortex-m-0.6.7-r1 b/metadata/md5-cache/dev-rust/cortex-m-0.6.7-r1
index d820c24..e0dabe5 100644
--- a/metadata/md5-cache/dev-rust/cortex-m-0.6.7-r1
+++ b/metadata/md5-cache/dev-rust/cortex-m-0.6.7-r1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/aligned-0.3.1:= <dev-rust/aligned-0.4.0 =dev-rust/bare-metal-0.2*:= >=dev-rust/bitfield-0.13.2:= <dev-rust/bitfield-0.14.0 =dev-rust/cortex-m-0.7*:= =dev-rust/volatile-register-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/aligned-0.3.1:= <dev-rust/aligned-0.4.0 =dev-rust/bare-metal-0.2*:= >=dev-rust/bitfield-0.13.2:= <dev-rust/bitfield-0.14.0 =dev-rust/cortex-m-0.7*:= =dev-rust/volatile-register-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Low level access to Cortex-M processors
 EAPI=7
 HOMEPAGE=https://crates.io/crates/cortex-m
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/aligned-0.3.1:= <dev-rust/aligned-0.4.0 =dev-rust/bare-metal-0.2*:= >=dev-rust/bitfield-0.13.2:= <dev-rust/bitfield-0.14.0 =dev-rust/cortex-m-0.7*:= =dev-rust/volatile-register-0.2*:=
+RDEPEND=>=dev-rust/aligned-0.3.1:= <dev-rust/aligned-0.4.0 =dev-rust/bare-metal-0.2*:= >=dev-rust/bitfield-0.13.2:= <dev-rust/bitfield-0.14.0 =dev-rust/cortex-m-0.7*:= =dev-rust/volatile-register-0.2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.6.7/r1
 SRC_URI=https://crates.io/api/v1/crates/cortex-m/0.6.7/download -> cortex-m-0.6.7.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=65cb84b3947bdea70d5ec18b020a4904
diff --git a/metadata/md5-cache/dev-rust/cortex-m-0.7.3 b/metadata/md5-cache/dev-rust/cortex-m-0.7.3
index b2ddef8..d61d0a3 100644
--- a/metadata/md5-cache/dev-rust/cortex-m-0.7.3
+++ b/metadata/md5-cache/dev-rust/cortex-m-0.7.3
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bare-metal-0.2*:= >=dev-rust/bitfield-0.13.2:= <dev-rust/bitfield-0.14.0 >=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0 =dev-rust/volatile-register-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/bare-metal-0.2*:= >=dev-rust/bitfield-0.13.2:= <dev-rust/bitfield-0.14.0 >=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0 =dev-rust/volatile-register-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Low level access to Cortex-M processors
 EAPI=7
 HOMEPAGE=https://crates.io/crates/cortex-m
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/bare-metal-0.2*:= >=dev-rust/bitfield-0.13.2:= <dev-rust/bitfield-0.14.0 >=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0 =dev-rust/volatile-register-0.2*:=
+RDEPEND==dev-rust/bare-metal-0.2*:= >=dev-rust/bitfield-0.13.2:= <dev-rust/bitfield-0.14.0 >=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0 =dev-rust/volatile-register-0.2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.7.3/r0
 SRC_URI=https://crates.io/api/v1/crates/cortex-m/0.7.3/download -> cortex-m-0.7.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=b082b8a1464e7956d8e0f12b6ec85c83
diff --git a/metadata/md5-cache/dev-rust/cortex-m-0.7.3-r1 b/metadata/md5-cache/dev-rust/cortex-m-0.7.3-r1
index 7c302f1..35bc602 100644
--- a/metadata/md5-cache/dev-rust/cortex-m-0.7.3-r1
+++ b/metadata/md5-cache/dev-rust/cortex-m-0.7.3-r1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bare-metal-0.2*:= >=dev-rust/bitfield-0.13.2:= <dev-rust/bitfield-0.14.0 >=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0 =dev-rust/volatile-register-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/bare-metal-0.2*:= >=dev-rust/bitfield-0.13.2:= <dev-rust/bitfield-0.14.0 >=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0 =dev-rust/volatile-register-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Low level access to Cortex-M processors
 EAPI=7
 HOMEPAGE=https://crates.io/crates/cortex-m
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/bare-metal-0.2*:= >=dev-rust/bitfield-0.13.2:= <dev-rust/bitfield-0.14.0 >=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0 =dev-rust/volatile-register-0.2*:=
+RDEPEND==dev-rust/bare-metal-0.2*:= >=dev-rust/bitfield-0.13.2:= <dev-rust/bitfield-0.14.0 >=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0 =dev-rust/volatile-register-0.2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.7.3/r1
 SRC_URI=https://crates.io/api/v1/crates/cortex-m/0.7.3/download -> cortex-m-0.7.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=b082b8a1464e7956d8e0f12b6ec85c83
diff --git a/metadata/md5-cache/dev-rust/cortex-m-rt-0.6.14 b/metadata/md5-cache/dev-rust/cortex-m-rt-0.6.14
index 0ed6852..459b004 100644
--- a/metadata/md5-cache/dev-rust/cortex-m-rt-0.6.14
+++ b/metadata/md5-cache/dev-rust/cortex-m-rt-0.6.14
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=~dev-rust/cortex-m-rt-macros-0.1.8:= >=dev-rust/r0-0.2.2:= <dev-rust/r0-0.3.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=~dev-rust/cortex-m-rt-macros-0.1.8:= >=dev-rust/r0-0.2.2:= <dev-rust/r0-0.3.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Minimal runtime / startup for Cortex-M microcontrollers
 EAPI=7
 HOMEPAGE=https://crates.io/crates/cortex-m-rt
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=~dev-rust/cortex-m-rt-macros-0.1.8:= >=dev-rust/r0-0.2.2:= <dev-rust/r0-0.3.0
+RDEPEND=~dev-rust/cortex-m-rt-macros-0.1.8:= >=dev-rust/r0-0.2.2:= <dev-rust/r0-0.3.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.6.14/r0
 SRC_URI=https://crates.io/api/v1/crates/cortex-m-rt/0.6.14/download -> cortex-m-rt-0.6.14.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=c7d913274d27f0fb44bbbbd4e9556e07
diff --git a/metadata/md5-cache/dev-rust/cortex-m-rt-0.6.14-r1 b/metadata/md5-cache/dev-rust/cortex-m-rt-0.6.14-r1
index 6103691..97cd314 100644
--- a/metadata/md5-cache/dev-rust/cortex-m-rt-0.6.14-r1
+++ b/metadata/md5-cache/dev-rust/cortex-m-rt-0.6.14-r1
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=~dev-rust/cortex-m-rt-macros-0.1.8:= >=dev-rust/r0-0.2.2:= <dev-rust/r0-0.3.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=~dev-rust/cortex-m-rt-macros-0.1.8:= >=dev-rust/r0-0.2.2:= <dev-rust/r0-0.3.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Minimal runtime / startup for Cortex-M microcontrollers
 EAPI=7
 HOMEPAGE=https://crates.io/crates/cortex-m-rt
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=~dev-rust/cortex-m-rt-macros-0.1.8:= >=dev-rust/r0-0.2.2:= <dev-rust/r0-0.3.0
+RDEPEND=~dev-rust/cortex-m-rt-macros-0.1.8:= >=dev-rust/r0-0.2.2:= <dev-rust/r0-0.3.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.6.14/r1
 SRC_URI=https://crates.io/api/v1/crates/cortex-m-rt/0.6.14/download -> cortex-m-rt-0.6.14.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=c7d913274d27f0fb44bbbbd4e9556e07
diff --git a/metadata/md5-cache/dev-rust/cortex-m-rt-0.6.15 b/metadata/md5-cache/dev-rust/cortex-m-rt-0.6.15
new file mode 100644
index 0000000..5f4f28a
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/cortex-m-rt-0.6.15
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=~dev-rust/cortex-m-rt-macros-0.6.15:= >=dev-rust/r0-0.2.2 <dev-rust/r0-0.3.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Minimal runtime / startup for Cortex-M microcontrollers
+EAPI=7
+HOMEPAGE=https://crates.io/crates/cortex-m-rt
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=~dev-rust/cortex-m-rt-macros-0.6.15:= >=dev-rust/r0-0.2.2 <dev-rust/r0-0.3.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.6.15/r0
+SRC_URI=https://crates.io/api/v1/crates/cortex-m-rt/0.6.15/download -> cortex-m-rt-0.6.15.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=602f0291f0eb454fdaa332ac47d99811
diff --git a/metadata/md5-cache/dev-rust/cortex-m-rt-macros-0.1.8 b/metadata/md5-cache/dev-rust/cortex-m-rt-macros-0.1.8
index ab9dcec..f9c565e 100644
--- a/metadata/md5-cache/dev-rust/cortex-m-rt-macros-0.1.8
+++ b/metadata/md5-cache/dev-rust/cortex-m-rt-macros-0.1.8
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Attributes re-exported in "cortex-m-rt"
 EAPI=7
 HOMEPAGE=https://crates.io/crates/cortex-m-rt-macros
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:=
+RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.8/r0
 SRC_URI=https://crates.io/api/v1/crates/cortex-m-rt-macros/0.1.8/download -> cortex-m-rt-macros-0.1.8.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=43a627dd2b7506cb5617afe10015af40
diff --git a/metadata/md5-cache/dev-rust/cortex-m-rt-macros-0.6.15 b/metadata/md5-cache/dev-rust/cortex-m-rt-macros-0.6.15
new file mode 100644
index 0000000..55ece12
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/cortex-m-rt-macros-0.6.15
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Attributes re-exported in "cortex-m-rt"
+EAPI=7
+HOMEPAGE=https://crates.io/crates/cortex-m-rt-macros
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.6.15/r0
+SRC_URI=https://crates.io/api/v1/crates/cortex-m-rt-macros/0.6.15/download -> cortex-m-rt-macros-0.6.15.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=06804975ab779a0184f41d79516f124b
diff --git a/metadata/md5-cache/dev-rust/cortex-m-rtic-0.5.7 b/metadata/md5-cache/dev-rust/cortex-m-rtic-0.5.7
deleted file mode 100644
index d2e4fa1..0000000
--- a/metadata/md5-cache/dev-rust/cortex-m-rtic-0.5.7
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/cortex-m-0.6.2:= <dev-rust/cortex-m-0.7.0 >=dev-rust/cortex-m-rt-0.6.9:= <dev-rust/cortex-m-rt-0.7.0 >=dev-rust/cortex-m-rtic-macros-0.5.3:= <dev-rust/cortex-m-rtic-macros-0.6.0 >=dev-rust/heapless-0.6.1:= <dev-rust/heapless-0.7.0 =dev-rust/microamp-0.1*:= =dev-rust/rtic-core-0.3*:= =dev-rust/version_check-0.9*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Real-Time Interrupt-driven Concurrency (RTIC): a concurrency framework for building real-time systems
-EAPI=7
-HOMEPAGE=https://crates.io/crates/cortex-m-rtic
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/cortex-m-0.6.2:= <dev-rust/cortex-m-0.7.0 >=dev-rust/cortex-m-rt-0.6.9:= <dev-rust/cortex-m-rt-0.7.0 >=dev-rust/cortex-m-rtic-macros-0.5.3:= <dev-rust/cortex-m-rtic-macros-0.6.0 >=dev-rust/heapless-0.6.1:= <dev-rust/heapless-0.7.0 =dev-rust/microamp-0.1*:= =dev-rust/rtic-core-0.3*:= =dev-rust/version_check-0.9*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-RESTRICT=test
-SLOT=0.5.7/r0
-SRC_URI=https://crates.io/api/v1/crates/cortex-m-rtic/0.5.7/download -> cortex-m-rtic-0.5.7.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5971b32ec69741fb125e178dc6272053
diff --git a/metadata/md5-cache/dev-rust/cortex-m-rtic-1.1.3 b/metadata/md5-cache/dev-rust/cortex-m-rtic-1.1.3
new file mode 100644
index 0000000..57b7f3e
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/cortex-m-rtic-1.1.3
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/bare-metal-1*:= =dev-rust/cortex-m-0.7*:= >=dev-rust/cortex-m-rtic-macros-1.1.5 <dev-rust/cortex-m-rtic-macros-2.0.0_alpha:= >=dev-rust/heapless-0.7.7 <dev-rust/heapless-0.8.0_alpha:= =dev-rust/rtic-core-1*:= =dev-rust/rtic-monotonic-1*:= =dev-rust/version_check-0.9*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Real-Time Interrupt-driven Concurrency (RTIC): a concurrency framework for building real-time systems
+EAPI=7
+HOMEPAGE=https://crates.io/crates/cortex-m-rtic
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/bare-metal-1*:= =dev-rust/cortex-m-0.7*:= >=dev-rust/cortex-m-rtic-macros-1.1.5 <dev-rust/cortex-m-rtic-macros-2.0.0_alpha:= >=dev-rust/heapless-0.7.7 <dev-rust/heapless-0.8.0_alpha:= =dev-rust/rtic-core-1*:= =dev-rust/rtic-monotonic-1*:= =dev-rust/version_check-0.9*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.1.3/r0
+SRC_URI=https://crates.io/api/v1/crates/cortex-m-rtic/1.1.3/download -> cortex-m-rtic-1.1.3.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c555b249ea1d3b5df45eeb575f16ce6f
diff --git a/metadata/md5-cache/dev-rust/cortex-m-rtic-macros-0.5.3 b/metadata/md5-cache/dev-rust/cortex-m-rtic-macros-0.5.3
deleted file mode 100644
index 69a8f31..0000000
--- a/metadata/md5-cache/dev-rust/cortex-m-rtic-macros-0.5.3
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/rtic-syntax-0.4*:= =dev-rust/syn-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Procedural macros of the cortex-m-rtic crate
-EAPI=7
-HOMEPAGE=https://crates.io/crates/cortex-m-rtic-macros
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/rtic-syntax-0.4*:= =dev-rust/syn-1*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.5.3/r0
-SRC_URI=https://crates.io/api/v1/crates/cortex-m-rtic-macros/0.5.3/download -> cortex-m-rtic-macros-0.5.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9b9b952fcac7d3f81fb9b75e65315381
diff --git a/metadata/md5-cache/dev-rust/cortex-m-rtic-macros-1.1.5 b/metadata/md5-cache/dev-rust/cortex-m-rtic-macros-1.1.5
new file mode 100644
index 0000000..a87c674
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/cortex-m-rtic-macros-1.1.5
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/proc-macro-error-1*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/rtic-syntax-1.0.2 <dev-rust/rtic-syntax-2.0.0_alpha:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Procedural macros of the cortex-m-rtic crate
+EAPI=7
+HOMEPAGE=https://crates.io/crates/cortex-m-rtic-macros
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/proc-macro-error-1*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/rtic-syntax-1.0.2 <dev-rust/rtic-syntax-2.0.0_alpha:= =dev-rust/syn-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.1.5/r0
+SRC_URI=https://crates.io/api/v1/crates/cortex-m-rtic-macros/1.1.5/download -> cortex-m-rtic-macros-1.1.5.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a8cf54c2a28a52a3108dbe46c9123f42
diff --git a/metadata/md5-cache/dev-rust/cpp_demangle-0.3.0 b/metadata/md5-cache/dev-rust/cpp_demangle-0.3.0
index 447e9e8..23b5477 100644
--- a/metadata/md5-cache/dev-rust/cpp_demangle-0.3.0
+++ b/metadata/md5-cache/dev-rust/cpp_demangle-0.3.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/crates-index-0.5.1 b/metadata/md5-cache/dev-rust/crates-index-0.5.1
index 1fff4c7..903e09b 100644
--- a/metadata/md5-cache/dev-rust/crates-index-0.5.1
+++ b/metadata/md5-cache/dev-rust/crates-index-0.5.1
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crates-index crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.5.1/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/crc-2.0.0 b/metadata/md5-cache/dev-rust/crc-2.0.0
index dbe8d15..e12ad2e 100644
--- a/metadata/md5-cache/dev-rust/crc-2.0.0
+++ b/metadata/md5-cache/dev-rust/crc-2.0.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/crc-catalog-1.1.0 <dev-rust/crc-catalog-2.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/crc-catalog-1.1.0 <dev-rust/crc-catalog-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust implementation of CRC(16, 32, 64) with support of various standards
 EAPI=7
 HOMEPAGE=https://crates.io/crates/crc
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/crc-catalog-1.1.0 <dev-rust/crc-catalog-2.0.0_alpha:=
+RDEPEND=>=dev-rust/crc-catalog-1.1.0 <dev-rust/crc-catalog-2.0.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=2.0.0/r0
 SRC_URI=https://crates.io/api/v1/crates/crc/2.0.0/download -> crc-2.0.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e89d69fae0747e44fe8d25bc96a94e17
diff --git a/metadata/md5-cache/dev-rust/crc-catalog-1.1.1 b/metadata/md5-cache/dev-rust/crc-catalog-1.1.1
index 3cc5ae0..b3d1af3 100644
--- a/metadata/md5-cache/dev-rust/crc-catalog-1.1.1
+++ b/metadata/md5-cache/dev-rust/crc-catalog-1.1.1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Catalog of CRC algorithms (generated from http://reveng.sourceforge.net/crc-catalogue) expressed as simple Rust structs.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/crc-catalog
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.1.1/r0
 SRC_URI=https://crates.io/api/v1/crates/crc-catalog/1.1.1/download -> crc-catalog-1.1.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=27beabd4a7002be45fb0c2038f6e8e3f
diff --git a/metadata/md5-cache/dev-rust/crc32fast-1.2.1 b/metadata/md5-cache/dev-rust/crc32fast-1.2.1
index 2cb5137..1faa437 100644
--- a/metadata/md5-cache/dev-rust/crc32fast-1.2.1
+++ b/metadata/md5-cache/dev-rust/crc32fast-1.2.1
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/cfg-if-1:= <dev-rust/cfg-if-2 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/cfg-if-1:= <dev-rust/cfg-if-2 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Fast, SIMD-accelerated CRC32 (IEEE) checksum computation
 EAPI=7
 HOMEPAGE=https://github.com/srijs/rust-crc32fast
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=1.2.1/r0
 SRC_URI=https://crates.io/api/v1/crates/crc32fast/1.2.1/download -> crc32fast-1.2.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=78c9a964c1118a8ad64d1ad3e62a34c5
diff --git a/metadata/md5-cache/dev-rust/criterion-0.3.3 b/metadata/md5-cache/dev-rust/criterion-0.3.3
new file mode 100644
index 0000000..1873295
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/criterion-0.3.3
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.3.3/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dcd7e86695f5a9ea614dc8b5a7b64d6d
diff --git a/metadata/md5-cache/dev-rust/critical-section-0.2.7 b/metadata/md5-cache/dev-rust/critical-section-0.2.7
new file mode 100644
index 0000000..af0cba2
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/critical-section-0.2.7
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/bare-metal-1*:= =dev-rust/cfg-if-1*:= >=dev-rust/riscv-0.7.0 <dev-rust/riscv-0.8.0:= >=dev-rust/cortex-m-0.7.2 <dev-rust/riscv-0.8.0:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Critical section abstraction
+EAPI=7
+HOMEPAGE=https://crates.io/crates/critical-section
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/bare-metal-1*:= =dev-rust/cfg-if-1*:= >=dev-rust/riscv-0.7.0 <dev-rust/riscv-0.8.0:= >=dev-rust/cortex-m-0.7.2 <dev-rust/riscv-0.8.0:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.2.7/r0
+SRC_URI=https://crates.io/api/v1/crates/critical-section/0.2.7/download -> critical-section-0.2.7.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c2b95d9ee1255fcb95311d3e13669af8
diff --git a/metadata/md5-cache/dev-rust/cros_async-0.1.0-r34 b/metadata/md5-cache/dev-rust/cros_async-0.1.0-r34
deleted file mode 100644
index b6f76cfa..0000000
--- a/metadata/md5-cache/dev-rust/cros_async-0.1.0-r34
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/async-task-4*:= >=dev-rust/async-trait-0.1.36 <dev-rust/async-trait-0.2:= dev-rust/data_model:= =dev-rust/futures-0.3*:= dev-rust/intrusive-collections:= dev-rust/io_uring:= >=dev-rust/libc-0.2.93 <dev-rust/libc-0.3:= >=dev-rust/once_cell-1.7.2 <dev-rust/once_cell-2:= =dev-rust/paste-1*:= =dev-rust/pin-utils-0.1*:= =dev-rust/remain-0.2*:= =dev-rust/slab-0.4*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Rust async tools for Chrome OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/cros_async
-IUSE=cros_host cros_workon_tree_ea9b2edf4b7fb1d77d6ea6b11e364be13a831ba4_657879d7112bd65f190dbbf687daca14399681d0 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND==dev-rust/async-task-4*:= >=dev-rust/async-trait-0.1.36 <dev-rust/async-trait-0.2:= dev-rust/data_model:= =dev-rust/futures-0.3*:= dev-rust/intrusive-collections:= dev-rust/io_uring:= >=dev-rust/libc-0.2.93 <dev-rust/libc-0.3:= >=dev-rust/once_cell-1.7.2 <dev-rust/once_cell-2:= =dev-rust/paste-1*:= =dev-rust/pin-utils-0.1*:= =dev-rust/remain-0.2*:= =dev-rust/slab-0.4*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r34
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5c54206c2a5b6ffcf3e91816270c8131
diff --git a/metadata/md5-cache/dev-rust/cros_async-0.1.0-r41 b/metadata/md5-cache/dev-rust/cros_async-0.1.0-r41
new file mode 100644
index 0000000..18ba5f4
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/cros_async-0.1.0-r41
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/async-task-4*:= >=dev-rust/async-trait-0.1.36 <dev-rust/async-trait-0.2:= dev-rust/data_model:= =dev-rust/futures-0.3*:= dev-rust/intrusive-collections:= dev-rust/io_uring:= >=dev-rust/libc-0.2.93 <dev-rust/libc-0.3:= >=dev-rust/once_cell-1.7.2 <dev-rust/once_cell-2:= =dev-rust/paste-1*:= =dev-rust/pin-utils-0.1*:= =dev-rust/remain-0.2*:= =dev-rust/slab-0.4*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2:= media-sound/audio_streams:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Rust async tools for Chrome OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/cros_async
+IUSE=cros_host cros_workon_tree_0544f91c96de739a518c34933c282036d34b81d7_a920b8bc18a923d5cfa6abfb5390bc903526beef cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND==dev-rust/async-task-4*:= >=dev-rust/async-trait-0.1.36 <dev-rust/async-trait-0.2:= dev-rust/data_model:= =dev-rust/futures-0.3*:= dev-rust/intrusive-collections:= dev-rust/io_uring:= >=dev-rust/libc-0.2.93 <dev-rust/libc-0.3:= >=dev-rust/once_cell-1.7.2 <dev-rust/once_cell-2:= =dev-rust/paste-1*:= =dev-rust/pin-utils-0.1*:= =dev-rust/remain-0.2*:= =dev-rust/slab-0.4*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2:= media-sound/audio_streams:= !<=dev-rust/cros_async-0.1.0-r38 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r41
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=35215ced46ee5e49e2f1a70dafe61745
diff --git a/metadata/md5-cache/dev-rust/cros_async-9999 b/metadata/md5-cache/dev-rust/cros_async-9999
index 4fcde96..b92a4f7 100644
--- a/metadata/md5-cache/dev-rust/cros_async-9999
+++ b/metadata/md5-cache/dev-rust/cros_async-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/async-task-4*:= >=dev-rust/async-trait-0.1.36 <dev-rust/async-trait-0.2:= dev-rust/data_model:= =dev-rust/futures-0.3*:= dev-rust/intrusive-collections:= dev-rust/io_uring:= >=dev-rust/libc-0.2.93 <dev-rust/libc-0.3:= >=dev-rust/once_cell-1.7.2 <dev-rust/once_cell-2:= =dev-rust/paste-1*:= =dev-rust/pin-utils-0.1*:= =dev-rust/remain-0.2*:= =dev-rust/slab-0.4*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/async-task-4*:= >=dev-rust/async-trait-0.1.36 <dev-rust/async-trait-0.2:= dev-rust/data_model:= =dev-rust/futures-0.3*:= dev-rust/intrusive-collections:= dev-rust/io_uring:= >=dev-rust/libc-0.2.93 <dev-rust/libc-0.3:= >=dev-rust/once_cell-1.7.2 <dev-rust/once_cell-2:= =dev-rust/paste-1*:= =dev-rust/pin-utils-0.1*:= =dev-rust/remain-0.2*:= =dev-rust/slab-0.4*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2:= media-sound/audio_streams:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust async tools for Chrome OS
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/cros_async
-IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND==dev-rust/async-task-4*:= >=dev-rust/async-trait-0.1.36 <dev-rust/async-trait-0.2:= dev-rust/data_model:= =dev-rust/futures-0.3*:= dev-rust/intrusive-collections:= dev-rust/io_uring:= >=dev-rust/libc-0.2.93 <dev-rust/libc-0.3:= >=dev-rust/once_cell-1.7.2 <dev-rust/once_cell-2:= =dev-rust/paste-1*:= =dev-rust/pin-utils-0.1*:= =dev-rust/remain-0.2*:= =dev-rust/slab-0.4*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2:=
+RDEPEND==dev-rust/async-task-4*:= >=dev-rust/async-trait-0.1.36 <dev-rust/async-trait-0.2:= dev-rust/data_model:= =dev-rust/futures-0.3*:= dev-rust/intrusive-collections:= dev-rust/io_uring:= >=dev-rust/libc-0.2.93 <dev-rust/libc-0.3:= >=dev-rust/once_cell-1.7.2 <dev-rust/once_cell-2:= =dev-rust/paste-1*:= =dev-rust/pin-utils-0.1*:= =dev-rust/remain-0.2*:= =dev-rust/slab-0.4*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2:= media-sound/audio_streams:= !<=dev-rust/cros_async-0.1.0-r38 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=7db1e162a210191a616b7ba01d41d097
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=418df479414f1656259bd6073fbdbc0e
diff --git a/metadata/md5-cache/dev-rust/cros_fuzz-0.1.0-r210 b/metadata/md5-cache/dev-rust/cros_fuzz-0.1.0-r210
deleted file mode 100644
index 9539f29..0000000
--- a/metadata/md5-cache/dev-rust/cros_fuzz-0.1.0-r210
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/rand_core-0.4*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Support crate for running rust fuzzers on Chrome OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cros-fuzz
-IUSE=fuzzer test cros_host cros_workon_tree_80f9e4e3017742fbd3ac33518375b8856b695bab cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND==dev-rust/rand_core-0.4*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r210
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=02eee4bb48dccd644d477f2e3b2aaa50
diff --git a/metadata/md5-cache/dev-rust/cros_fuzz-0.1.0-r295 b/metadata/md5-cache/dev-rust/cros_fuzz-0.1.0-r295
new file mode 100644
index 0000000..ed152b8
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/cros_fuzz-0.1.0-r295
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/rand_core-0.4*:= =dev-rust/rand_core-0.6*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Support crate for running rust fuzzers on Chrome OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cros-fuzz
+IUSE=fuzzer test cros_host cros_workon_tree_62c91cc57f4bbb759cc97766a681ed0c7deac706 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND==dev-rust/rand_core-0.4*:= =dev-rust/rand_core-0.6*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r295
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c43d0f82273eb084378568f4f12f5908
diff --git a/metadata/md5-cache/dev-rust/cros_fuzz-9999 b/metadata/md5-cache/dev-rust/cros_fuzz-9999
index 2c2c0b5..22a964e 100644
--- a/metadata/md5-cache/dev-rust/cros_fuzz-9999
+++ b/metadata/md5-cache/dev-rust/cros_fuzz-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/rand_core-0.4*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/rand_core-0.4*:= =dev-rust/rand_core-0.6*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Support crate for running rust fuzzers on Chrome OS
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cros-fuzz
-IUSE=fuzzer test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=fuzzer test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND==dev-rust/rand_core-0.4*:=
+RDEPEND==dev-rust/rand_core-0.4*:= =dev-rust/rand_core-0.6*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c4e27db12117985d75a14cd4a57bc4bd
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f6d2caf55272d097992a6f25f5a34e46
diff --git a/metadata/md5-cache/dev-rust/crossbeam-channel-0.5.0 b/metadata/md5-cache/dev-rust/crossbeam-channel-0.5.0
index c5a74dd..242f8a3 100644
--- a/metadata/md5-cache/dev-rust/crossbeam-channel-0.5.0
+++ b/metadata/md5-cache/dev-rust/crossbeam-channel-0.5.0
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/cfg-if-1*:= >=dev-rust/crossbeam-utils-0.8.0:= <dev-rust/crossbeam-utils-0.9.0 =dev-rust/rand-0.7*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/cfg-if-1*:= >=dev-rust/crossbeam-utils-0.8.0:= <dev-rust/crossbeam-utils-0.9.0 =dev-rust/rand-0.7*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=This crate provides multi-producer multi-consumer channels for message passing.
 EAPI=7
 HOMEPAGE=https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-channel
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.5.0/r0
 SRC_URI=https://crates.io/api/v1/crates/crossbeam-channel/0.5.0/download -> crossbeam-channel-0.5.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=1d30de70e5134e9d5d1c498a5d844e89
diff --git a/metadata/md5-cache/dev-rust/crossbeam-deque-0.8.1 b/metadata/md5-cache/dev-rust/crossbeam-deque-0.8.1
index 563e094..ff101c4 100644
--- a/metadata/md5-cache/dev-rust/crossbeam-deque-0.8.1
+++ b/metadata/md5-cache/dev-rust/crossbeam-deque-0.8.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/cfg-if-1*:= =dev-rust/crossbeam-epoch-0.9*:= =dev-rust/crossbeam-utils-0.8*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/cfg-if-1*:= =dev-rust/crossbeam-epoch-0.9*:= =dev-rust/crossbeam-utils-0.8*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Concurrent work-stealing deque
 EAPI=7
 HOMEPAGE=https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-deque
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/cfg-if-1*:= =dev-rust/crossbeam-epoch-0.9*:= =dev-rust/crossbeam-utils-0.8*:=
+RDEPEND==dev-rust/cfg-if-1*:= =dev-rust/crossbeam-epoch-0.9*:= =dev-rust/crossbeam-utils-0.8*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.8.1/r0
 SRC_URI=https://crates.io/api/v1/crates/crossbeam-deque/0.8.1/download -> crossbeam-deque-0.8.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=2a14789ac8877762fc1d3b2dbe72e917
diff --git a/metadata/md5-cache/dev-rust/crossbeam-epoch-0.9.0 b/metadata/md5-cache/dev-rust/crossbeam-epoch-0.9.0
index 4f6dbf8..52d25ec 100644
--- a/metadata/md5-cache/dev-rust/crossbeam-epoch-0.9.0
+++ b/metadata/md5-cache/dev-rust/crossbeam-epoch-0.9.0
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/cfg-if-0.1*:= =dev-rust/const_fn-0.4*:= =dev-rust/crossbeam-utils-0.8*:= >=dev-rust/memoffset-0.5.4:= <dev-rust/memoffset-0.6.0 >=dev-rust/scopeguard-1.1.0:= <dev-rust/scopeguard-2.0.0 =dev-rust/lazy_static-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/cfg-if-0.1*:= =dev-rust/const_fn-0.4*:= =dev-rust/crossbeam-utils-0.8*:= >=dev-rust/memoffset-0.5.4:= <dev-rust/memoffset-0.6.0 >=dev-rust/scopeguard-1.1.0:= <dev-rust/scopeguard-2.0.0 =dev-rust/lazy_static-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=This crate provides epoch-based garbage collection for building concurrent data structures
 EAPI=7
 HOMEPAGE=https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-epoch
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.9.0/r0
 SRC_URI=https://crates.io/api/v1/crates/crossbeam-epoch/0.9.0/download -> crossbeam-epoch-0.9.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e8f4e0be3b6aa6ba3283e872f9b9b71e
diff --git a/metadata/md5-cache/dev-rust/crossbeam-queue-0.2.3 b/metadata/md5-cache/dev-rust/crossbeam-queue-0.2.3
index e6ed6cf..a43768a 100644
--- a/metadata/md5-cache/dev-rust/crossbeam-queue-0.2.3
+++ b/metadata/md5-cache/dev-rust/crossbeam-queue-0.2.3
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/cfg-if-0.1.2:= <dev-rust/cfg-if-0.2.0 =dev-rust/crossbeam-utils-0.7*:= =dev-rust/maybe-uninit-2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/cfg-if-0.1.2:= <dev-rust/cfg-if-0.2.0 =dev-rust/crossbeam-utils-0.7*:= =dev-rust/maybe-uninit-2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Concurrent queues
 EAPI=7
 HOMEPAGE=https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-utils
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/cfg-if-0.1.2:= <dev-rust/cfg-if-0.2.0 =dev-rust/crossbeam-utils-0.7*:= =dev-rust/maybe-uninit-2*:=
+RDEPEND=>=dev-rust/cfg-if-0.1.2:= <dev-rust/cfg-if-0.2.0 =dev-rust/crossbeam-utils-0.7*:= =dev-rust/maybe-uninit-2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.3/r0
 SRC_URI=https://crates.io/api/v1/crates/crossbeam-queue/0.2.3/download -> crossbeam-queue-0.2.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=da63740a53bcd452fafd78977e5e3dad
diff --git a/metadata/md5-cache/dev-rust/crossbeam-utils-0.8.3 b/metadata/md5-cache/dev-rust/crossbeam-utils-0.8.3
index 4b3c989..556c33a 100644
--- a/metadata/md5-cache/dev-rust/crossbeam-utils-0.8.3
+++ b/metadata/md5-cache/dev-rust/crossbeam-utils-0.8.3
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/autocfg-1*:= =dev-rust/cfg-if-1*:= =dev-rust/lazy_static-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/autocfg-1*:= =dev-rust/cfg-if-1*:= =dev-rust/lazy_static-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=This crate provides miscellaneous tools for concurrent programming
 EAPI=7
 HOMEPAGE=https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-utils
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.8.3/r0
 SRC_URI=https://crates.io/api/v1/crates/crossbeam-utils/0.8.3/download -> crossbeam-utils-0.8.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f659fb0a24a5affdda9a67ece2875692
diff --git a/metadata/md5-cache/dev-rust/csv-1.1.1 b/metadata/md5-cache/dev-rust/csv-1.1.1
deleted file mode 100644
index c2cb9e2..0000000
--- a/metadata/md5-cache/dev-rust/csv-1.1.1
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Empty csv crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=1.1.1/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
diff --git a/metadata/md5-cache/dev-rust/ct-codecs-1.1.1 b/metadata/md5-cache/dev-rust/ct-codecs-1.1.1
index efc852c8..9ab8011 100644
--- a/metadata/md5-cache/dev-rust/ct-codecs-1.1.1
+++ b/metadata/md5-cache/dev-rust/ct-codecs-1.1.1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Constant-time hex and base64 codecs from libsodium reimplemented in Rust
 EAPI=7
 HOMEPAGE=https://github.com/jedisct1/rust-ct-codecs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.1.1/r0
 SRC_URI=https://crates.io/api/v1/crates/ct-codecs/1.1.1/download -> ct-codecs-1.1.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f704510064fa116c1a7e1e06d86935cd
diff --git a/metadata/md5-cache/dev-rust/ctrlc-3.2.1 b/metadata/md5-cache/dev-rust/ctrlc-3.2.1
new file mode 100644
index 0000000..6d377b8
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/ctrlc-3.2.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/nix-0.23*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Easy Ctrl-C handler for Rust projects
+EAPI=7
+HOMEPAGE=https://github.com/Detegr/rust-ctrlc
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/nix-0.23*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=3.2.1/r0
+SRC_URI=https://crates.io/api/v1/crates/ctrlc/3.2.1/download -> ctrlc-3.2.1.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c62371b0273589764f85e54646a32457
diff --git a/metadata/md5-cache/dev-rust/curl-0.4.22 b/metadata/md5-cache/dev-rust/curl-0.4.22
deleted file mode 100644
index f125889..0000000
--- a/metadata/md5-cache/dev-rust/curl-0.4.22
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/curl-sys-0.4.18:= <dev-rust/curl-sys-0.5.0 >=dev-rust/kernel32-sys-0.2.2:= <dev-rust/kernel32-sys-0.3.0 >=dev-rust/libc-0.2.42:= <dev-rust/libc-0.3.0 >=dev-rust/schannel-0.1.13:= <dev-rust/schannel-0.2.0 >=dev-rust/socket2-0.3.7:= <dev-rust/socket2-0.4.0 >=dev-rust/winapi-0.2.7:= <dev-rust/winapi-0.3.0 >=dev-rust/openssl-probe-0.1.2:= <dev-rust/openssl-probe-0.2.0 >=dev-rust/openssl-sys-0.9.43:= <dev-rust/openssl-sys-0.10.0 =dev-rust/mio-0.6*:= >=dev-rust/mio-extras-2.0.3:= <dev-rust/mio-extras-3.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Rust bindings to libcurl for making HTTP requests
-EAPI=7
-HOMEPAGE=https://github.com/alexcrichton/curl-rust
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND=>=dev-rust/curl-sys-0.4.18:= <dev-rust/curl-sys-0.5.0 >=dev-rust/kernel32-sys-0.2.2:= <dev-rust/kernel32-sys-0.3.0 >=dev-rust/libc-0.2.42:= <dev-rust/libc-0.3.0 >=dev-rust/schannel-0.1.13:= <dev-rust/schannel-0.2.0 >=dev-rust/socket2-0.3.7:= <dev-rust/socket2-0.4.0 >=dev-rust/winapi-0.2.7:= <dev-rust/winapi-0.3.0 >=dev-rust/openssl-probe-0.1.2:= <dev-rust/openssl-probe-0.2.0 >=dev-rust/openssl-sys-0.9.43:= <dev-rust/openssl-sys-0.10.0 =dev-rust/mio-0.6*:= >=dev-rust/mio-extras-2.0.3:= <dev-rust/mio-extras-3.0.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.4.22/r0
-SRC_URI=https://crates.io/api/v1/crates/curl/0.4.22/download -> curl-0.4.22.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=242005484eda69d11c498c9901556efb
diff --git a/metadata/md5-cache/dev-rust/curl-0.4.22-r1 b/metadata/md5-cache/dev-rust/curl-0.4.22-r1
deleted file mode 100644
index d8e83b9..0000000
--- a/metadata/md5-cache/dev-rust/curl-0.4.22-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/curl-sys-0.4.18:= <dev-rust/curl-sys-0.5.0 >=dev-rust/kernel32-sys-0.2.2:= <dev-rust/kernel32-sys-0.3.0 >=dev-rust/libc-0.2.42:= <dev-rust/libc-0.3.0 >=dev-rust/schannel-0.1.13:= <dev-rust/schannel-0.2.0 >=dev-rust/socket2-0.3.7:= <dev-rust/socket2-0.4.0 >=dev-rust/winapi-0.2.7:= <dev-rust/winapi-0.3.0 >=dev-rust/openssl-probe-0.1.2:= <dev-rust/openssl-probe-0.2.0 >=dev-rust/openssl-sys-0.9.43:= <dev-rust/openssl-sys-0.10.0 =dev-rust/mio-0.6*:= >=dev-rust/mio-extras-2.0.3:= <dev-rust/mio-extras-3.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Rust bindings to libcurl for making HTTP requests
-EAPI=7
-HOMEPAGE=https://github.com/alexcrichton/curl-rust
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND=>=dev-rust/curl-sys-0.4.18:= <dev-rust/curl-sys-0.5.0 >=dev-rust/kernel32-sys-0.2.2:= <dev-rust/kernel32-sys-0.3.0 >=dev-rust/libc-0.2.42:= <dev-rust/libc-0.3.0 >=dev-rust/schannel-0.1.13:= <dev-rust/schannel-0.2.0 >=dev-rust/socket2-0.3.7:= <dev-rust/socket2-0.4.0 >=dev-rust/winapi-0.2.7:= <dev-rust/winapi-0.3.0 >=dev-rust/openssl-probe-0.1.2:= <dev-rust/openssl-probe-0.2.0 >=dev-rust/openssl-sys-0.9.43:= <dev-rust/openssl-sys-0.10.0 =dev-rust/mio-0.6*:= >=dev-rust/mio-extras-2.0.3:= <dev-rust/mio-extras-3.0.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.4.22/r1
-SRC_URI=https://crates.io/api/v1/crates/curl/0.4.22/download -> curl-0.4.22.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=242005484eda69d11c498c9901556efb
diff --git a/metadata/md5-cache/dev-rust/curl-sys-0.4.18 b/metadata/md5-cache/dev-rust/curl-sys-0.4.18
deleted file mode 100644
index 4249e65a..0000000
--- a/metadata/md5-cache/dev-rust/curl-sys-0.4.18
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/cc-1*:= >=dev-rust/libc-0.2.2:= <dev-rust/libc-0.3.0 >=dev-rust/libz-sys-1.0.18:= <dev-rust/libz-sys-2.0.0 >=dev-rust/pkg-config-0.3.3:= <dev-rust/pkg-config-0.4.0 =dev-rust/vcpkg-0.2*:= =dev-rust/winapi-0.3*:= =dev-rust/libnghttp2-sys-0.1*:= =dev-rust/openssl-sys-0.9*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Native bindings to the libcurl library
-EAPI=7
-HOMEPAGE=https://github.com/alexcrichton/curl-rust/tree/master/curl-sys
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND==dev-rust/cc-1*:= >=dev-rust/libc-0.2.2:= <dev-rust/libc-0.3.0 >=dev-rust/libz-sys-1.0.18:= <dev-rust/libz-sys-2.0.0 >=dev-rust/pkg-config-0.3.3:= <dev-rust/pkg-config-0.4.0 =dev-rust/vcpkg-0.2*:= =dev-rust/winapi-0.3*:= =dev-rust/libnghttp2-sys-0.1*:= =dev-rust/openssl-sys-0.9*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.4.18/r0
-SRC_URI=https://crates.io/api/v1/crates/curl-sys/0.4.18/download -> curl-sys-0.4.18.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=b9b1d5441dc88dab283f25b4279165c2
diff --git a/metadata/md5-cache/dev-rust/curl-sys-0.4.18-r1 b/metadata/md5-cache/dev-rust/curl-sys-0.4.18-r1
deleted file mode 100644
index c7d814d..0000000
--- a/metadata/md5-cache/dev-rust/curl-sys-0.4.18-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/cc-1*:= >=dev-rust/libc-0.2.2:= <dev-rust/libc-0.3.0 >=dev-rust/libz-sys-1.0.18:= <dev-rust/libz-sys-2.0.0 >=dev-rust/pkg-config-0.3.3:= <dev-rust/pkg-config-0.4.0 =dev-rust/vcpkg-0.2*:= =dev-rust/winapi-0.3*:= =dev-rust/libnghttp2-sys-0.1*:= =dev-rust/openssl-sys-0.9*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Native bindings to the libcurl library
-EAPI=7
-HOMEPAGE=https://github.com/alexcrichton/curl-rust/tree/master/curl-sys
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND==dev-rust/cc-1*:= >=dev-rust/libc-0.2.2:= <dev-rust/libc-0.3.0 >=dev-rust/libz-sys-1.0.18:= <dev-rust/libz-sys-2.0.0 >=dev-rust/pkg-config-0.3.3:= <dev-rust/pkg-config-0.4.0 =dev-rust/vcpkg-0.2*:= =dev-rust/winapi-0.3*:= =dev-rust/libnghttp2-sys-0.1*:= =dev-rust/openssl-sys-0.9*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.4.18/r1
-SRC_URI=https://crates.io/api/v1/crates/curl-sys/0.4.18/download -> curl-sys-0.4.18.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=b9b1d5441dc88dab283f25b4279165c2
diff --git a/metadata/md5-cache/dev-rust/data-encoding-2.1.2 b/metadata/md5-cache/dev-rust/data-encoding-2.1.2
deleted file mode 100644
index c285c5c..0000000
--- a/metadata/md5-cache/dev-rust/data-encoding-2.1.2
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Empty data-encoding crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=2.1.2/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
diff --git a/metadata/md5-cache/dev-rust/data_model-0.1.0-r46 b/metadata/md5-cache/dev-rust/data_model-0.1.0-r46
deleted file mode 100644
index 5eb15a6..0000000
--- a/metadata/md5-cache/dev-rust/data_model-0.1.0-r46
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-rust/assertions:= dev-rust/libc:= =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Crates includes traits and types for safe interaction with raw memory.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/data_model
-IUSE=test cros_host cros_workon_tree_18102c768327557f0707356872e09a7db42fd896_657879d7112bd65f190dbbf687daca14399681d0 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-rust/assertions:= dev-rust/libc:= =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 !!<=dev-rust/data_model-0.1.0-r13
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r46
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=7787d29df1bd978f85727aa1ec09b89d
diff --git a/metadata/md5-cache/dev-rust/data_model-0.1.0-r50 b/metadata/md5-cache/dev-rust/data_model-0.1.0-r50
new file mode 100644
index 0000000..8063de3
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/data_model-0.1.0-r50
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=dev-rust/assertions:= dev-rust/libc:= =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Crates includes traits and types for safe interaction with raw memory.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/data_model
+IUSE=test cros_host cros_workon_tree_21dfa4764b2f9940fb18945fd1d7bf4b6c7e2c32_a920b8bc18a923d5cfa6abfb5390bc903526beef cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-rust/assertions:= dev-rust/libc:= =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 !!<=dev-rust/data_model-0.1.0-r13 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r50
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=fae1d47fd10150ea0b3e766c1135d3e0
diff --git a/metadata/md5-cache/dev-rust/data_model-9999 b/metadata/md5-cache/dev-rust/data_model-9999
index a5c73ca..17f59b1 100644
--- a/metadata/md5-cache/dev-rust/data_model-9999
+++ b/metadata/md5-cache/dev-rust/data_model-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-rust/assertions:= dev-rust/libc:= =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=dev-rust/assertions:= dev-rust/libc:= =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Crates includes traits and types for safe interaction with raw memory.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/data_model
-IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=dev-rust/assertions:= dev-rust/libc:= =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 !!<=dev-rust/data_model-0.1.0-r13
+RDEPEND=dev-rust/assertions:= dev-rust/libc:= =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 !!<=dev-rust/data_model-0.1.0-r13 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=b5a1c2ebd7df8773580a257b8c71c237
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0a01bc5795aa0384c17b2bd0302f043c
diff --git a/metadata/md5-cache/dev-rust/dav1d-0.6.0 b/metadata/md5-cache/dev-rust/dav1d-0.6.0
index cad7539..e262239 100644
--- a/metadata/md5-cache/dev-rust/dav1d-0.6.0
+++ b/metadata/md5-cache/dev-rust/dav1d-0.6.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.6.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/dbus-0.6.1 b/metadata/md5-cache/dev-rust/dbus-0.6.1
index 6fa08f4..e68818d 100644
--- a/metadata/md5-cache/dev-rust/dbus-0.6.1
+++ b/metadata/md5-cache/dev-rust/dbus-0.6.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2.7:= >=dev-rust/libdbus-sys-0.1.2:= <dev-rust/libdbus-sys-0.2 >=dev-rust/tempdir-0.3.0:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/libc-0.2.7:= >=dev-rust/libdbus-sys-0.1.2:= <dev-rust/libdbus-sys-0.2 >=dev-rust/tempdir-0.3.0:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust bindings to D-Bus.
 EAPI=7
 HOMEPAGE=https://github.com/diwic/dbus-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/libc-0.2.7:= >=dev-rust/libdbus-sys-0.1.2:= <dev-rust/libdbus-sys-0.2 >=dev-rust/tempdir-0.3.0:=
+RDEPEND=>=dev-rust/libc-0.2.7:= >=dev-rust/libdbus-sys-0.1.2:= <dev-rust/libdbus-sys-0.2 >=dev-rust/tempdir-0.3.0:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.6.1/r0
 SRC_URI=https://crates.io/api/v1/crates/dbus/0.6.1/download -> dbus-0.6.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=5535ed6b2fb974acf0428a08ca50e261
diff --git a/metadata/md5-cache/dev-rust/dbus-0.6.1-r2 b/metadata/md5-cache/dev-rust/dbus-0.6.1-r2
index bd7d8b2..2115f95 100644
--- a/metadata/md5-cache/dev-rust/dbus-0.6.1-r2
+++ b/metadata/md5-cache/dev-rust/dbus-0.6.1-r2
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2.7:= >=dev-rust/libdbus-sys-0.1.2:= <dev-rust/libdbus-sys-0.2 >=dev-rust/tempdir-0.3.0:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/libc-0.2.7:= >=dev-rust/libdbus-sys-0.1.2:= <dev-rust/libdbus-sys-0.2 >=dev-rust/tempdir-0.3.0:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust bindings to D-Bus.
 EAPI=7
 HOMEPAGE=https://github.com/diwic/dbus-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/libc-0.2.7:= >=dev-rust/libdbus-sys-0.1.2:= <dev-rust/libdbus-sys-0.2 >=dev-rust/tempdir-0.3.0:=
+RDEPEND=>=dev-rust/libc-0.2.7:= >=dev-rust/libdbus-sys-0.1.2:= <dev-rust/libdbus-sys-0.2 >=dev-rust/tempdir-0.3.0:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.6.1/r2
 SRC_URI=https://crates.io/api/v1/crates/dbus/0.6.1/download -> dbus-0.6.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=5535ed6b2fb974acf0428a08ca50e261
diff --git a/metadata/md5-cache/dev-rust/dbus-0.8.4 b/metadata/md5-cache/dev-rust/dbus-0.8.4
index 1d3786f..3f73e06 100644
--- a/metadata/md5-cache/dev-rust/dbus-0.8.4
+++ b/metadata/md5-cache/dev-rust/dbus-0.8.4
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2.66:= <dev-rust/libc-0.3 =dev-rust/libdbus-sys-0.2*:= =dev-rust/futures-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/libc-0.2.66:= <dev-rust/libc-0.3 =dev-rust/libdbus-sys-0.2*:= =dev-rust/futures-0.3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust bindings to D-Bus.
 EAPI=7
 HOMEPAGE=https://github.com/diwic/dbus-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/libc-0.2.66:= <dev-rust/libc-0.3 =dev-rust/libdbus-sys-0.2*:= =dev-rust/futures-0.3*:=
+RDEPEND=>=dev-rust/libc-0.2.66:= <dev-rust/libc-0.3 =dev-rust/libdbus-sys-0.2*:= =dev-rust/futures-0.3*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.8.4/r0
 SRC_URI=https://crates.io/api/v1/crates/dbus/0.8.4/download -> dbus-0.8.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=c7632ad616b8b0677ca0b8061888246f
diff --git a/metadata/md5-cache/dev-rust/dbus-0.8.4-r2 b/metadata/md5-cache/dev-rust/dbus-0.8.4-r2
index d011ebc..4bab868 100644
--- a/metadata/md5-cache/dev-rust/dbus-0.8.4-r2
+++ b/metadata/md5-cache/dev-rust/dbus-0.8.4-r2
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2.66:= <dev-rust/libc-0.3 =dev-rust/libdbus-sys-0.2*:= =dev-rust/futures-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/libc-0.2.66:= <dev-rust/libc-0.3 =dev-rust/libdbus-sys-0.2*:= =dev-rust/futures-0.3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust bindings to D-Bus.
 EAPI=7
 HOMEPAGE=https://github.com/diwic/dbus-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/libc-0.2.66:= <dev-rust/libc-0.3 =dev-rust/libdbus-sys-0.2*:= =dev-rust/futures-0.3*:=
+RDEPEND=>=dev-rust/libc-0.2.66:= <dev-rust/libc-0.3 =dev-rust/libdbus-sys-0.2*:= =dev-rust/futures-0.3*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.8.4/r2
 SRC_URI=https://crates.io/api/v1/crates/dbus/0.8.4/download -> dbus-0.8.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=c7632ad616b8b0677ca0b8061888246f
diff --git a/metadata/md5-cache/dev-rust/dbus-0.9.3 b/metadata/md5-cache/dev-rust/dbus-0.9.3
index ff37840..8e87cae0 100644
--- a/metadata/md5-cache/dev-rust/dbus-0.9.3
+++ b/metadata/md5-cache/dev-rust/dbus-0.9.3
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/futures-channel-0.3*:= =dev-rust/futures-executor-0.3*:= =dev-rust/futures-util-0.3*:= >=dev-rust/libc-0.2.66:= <dev-rust/libc-0.3.0_alpha =dev-rust/libdbus-sys-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/futures-channel-0.3*:= =dev-rust/futures-executor-0.3*:= =dev-rust/futures-util-0.3*:= >=dev-rust/libc-0.2.66:= <dev-rust/libc-0.3.0_alpha =dev-rust/libdbus-sys-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Bindings to D-Bus, which is a bus commonly used on Linux for inter-process communication.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/dbus
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
-RDEPEND==dev-rust/futures-channel-0.3*:= =dev-rust/futures-executor-0.3*:= =dev-rust/futures-util-0.3*:= >=dev-rust/libc-0.2.66:= <dev-rust/libc-0.3.0_alpha =dev-rust/libdbus-sys-0.2*:=
+RDEPEND==dev-rust/futures-channel-0.3*:= =dev-rust/futures-executor-0.3*:= =dev-rust/futures-util-0.3*:= >=dev-rust/libc-0.2.66:= <dev-rust/libc-0.3.0_alpha =dev-rust/libdbus-sys-0.2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.9.3/r0
 SRC_URI=https://crates.io/api/v1/crates/dbus/0.9.3/download -> dbus-0.9.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=bd302f0daa059d422cf8c1d457dda2fd
diff --git a/metadata/md5-cache/dev-rust/dbus-codegen-0.10.0 b/metadata/md5-cache/dev-rust/dbus-codegen-0.10.0
index 506a38b..8b1d55a 100644
--- a/metadata/md5-cache/dev-rust/dbus-codegen-0.10.0
+++ b/metadata/md5-cache/dev-rust/dbus-codegen-0.10.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/clap-2.20.0 <dev-rust/clap-3.0.0_alpha:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/dbus-tree-0.9*:= >=dev-rust/xml-rs-0.8.3 <dev-rust/xml-rs-0.9.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/clap-2.20.0 <dev-rust/clap-3.0.0_alpha:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/dbus-tree-0.9*:= >=dev-rust/xml-rs-0.8.3 <dev-rust/xml-rs-0.9.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Binary crate to generate Rust code from XML introspection data
 EAPI=7
 HOMEPAGE=https://crates.io/crates/dbus-codegen
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
-RDEPEND=>=dev-rust/clap-2.20.0 <dev-rust/clap-3.0.0_alpha:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/dbus-tree-0.9*:= >=dev-rust/xml-rs-0.8.3 <dev-rust/xml-rs-0.9.0_alpha:=
+RDEPEND=>=dev-rust/clap-2.20.0 <dev-rust/clap-3.0.0_alpha:= =dev-rust/dbus-0.9*:= =dev-rust/dbus-crossroads-0.5*:= =dev-rust/dbus-tree-0.9*:= >=dev-rust/xml-rs-0.8.3 <dev-rust/xml-rs-0.9.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/0.10.0
 SRC_URI=https://crates.io/api/v1/crates/dbus-codegen/0.10.0/download -> dbus-codegen-0.10.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=2ce21fc3a2b8dd2372508a5dfe8cdf94
diff --git a/metadata/md5-cache/dev-rust/dbus-crossroads-0.5.0-r1 b/metadata/md5-cache/dev-rust/dbus-crossroads-0.5.0-r1
index 4d78b99..a1c079b 100644
--- a/metadata/md5-cache/dev-rust/dbus-crossroads-0.5.0-r1
+++ b/metadata/md5-cache/dev-rust/dbus-crossroads-0.5.0-r1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/dbus-0.9*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/dbus-0.9*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Framework for writing D-Bus method handlers
 EAPI=7
 HOMEPAGE=https://crates.io/crates/dbus-crossroads
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
-RDEPEND==dev-rust/dbus-0.9*:=
+RDEPEND==dev-rust/dbus-0.9*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.5.0/r1
 SRC_URI=https://crates.io/api/v1/crates/dbus-crossroads/0.5.0/download -> dbus-crossroads-0.5.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f084d458b26d2c7e09f59b4454414b82
diff --git a/metadata/md5-cache/dev-rust/dbus-tree-0.9.1 b/metadata/md5-cache/dev-rust/dbus-tree-0.9.1
index 4e27f39..a6f9e7d 100644
--- a/metadata/md5-cache/dev-rust/dbus-tree-0.9.1
+++ b/metadata/md5-cache/dev-rust/dbus-tree-0.9.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/dbus-0.9*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/dbus-0.9*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Framework for writing D-Bus method handlers (legacy)
 EAPI=7
 HOMEPAGE=https://crates.io/crates/dbus-tree
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
-RDEPEND==dev-rust/dbus-0.9*:=
+RDEPEND==dev-rust/dbus-0.9*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.9.1/r0
 SRC_URI=https://crates.io/api/v1/crates/dbus-tree/0.9.1/download -> dbus-tree-0.9.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=75a3d666c2c4c50076d27b010efedd78
diff --git a/metadata/md5-cache/dev-rust/dcv-color-primitives-0.1.16 b/metadata/md5-cache/dev-rust/dcv-color-primitives-0.1.16
index 2169924..ce9a203 100644
--- a/metadata/md5-cache/dev-rust/dcv-color-primitives-0.1.16
+++ b/metadata/md5-cache/dev-rust/dcv-color-primitives-0.1.16
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.16/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/deflate-0.8.6 b/metadata/md5-cache/dev-rust/deflate-0.8.6
index 58d28c3..ffdf863 100644
--- a/metadata/md5-cache/dev-rust/deflate-0.8.6
+++ b/metadata/md5-cache/dev-rust/deflate-0.8.6
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/adler32-1.0.4 <dev-rust/adler32-2.0.0_alpha:= =dev-rust/byteorder-1*:= =dev-rust/gzip-header-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/adler32-1.0.4 <dev-rust/adler32-2.0.0_alpha:= =dev-rust/byteorder-1*:= =dev-rust/gzip-header-0.3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A DEFLATE, zlib and gzip encoder written in rust.
 EAPI=7
 HOMEPAGE=https://github.com/image-rs/deflate-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/adler32-1.0.4 <dev-rust/adler32-2.0.0_alpha:= =dev-rust/byteorder-1*:= =dev-rust/gzip-header-0.3*:=
+RDEPEND=>=dev-rust/adler32-1.0.4 <dev-rust/adler32-2.0.0_alpha:= =dev-rust/byteorder-1*:= =dev-rust/gzip-header-0.3*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.8.6/r0
 SRC_URI=https://crates.io/api/v1/crates/deflate/0.8.6/download -> deflate-0.8.6.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=2fe092a255d93db7f5b216745b83caa9
diff --git a/metadata/md5-cache/dev-rust/defmt-0.2.3 b/metadata/md5-cache/dev-rust/defmt-0.2.3
index 3102457..32fa3a5 100644
--- a/metadata/md5-cache/dev-rust/defmt-0.2.3
+++ b/metadata/md5-cache/dev-rust/defmt-0.2.3
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/defmt-macros-0.2.2:= <dev-rust/defmt-macros-0.3.0 =dev-rust/semver-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/defmt-macros-0.2.2:= <dev-rust/defmt-macros-0.3.0 =dev-rust/semver-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A highly efficient logging framework that targets resource-constrained devices, like microcontrollers
 EAPI=7
 HOMEPAGE=https://crates.io/crates/defmt
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/defmt-macros-0.2.2:= <dev-rust/defmt-macros-0.3.0 =dev-rust/semver-1*:=
+RDEPEND=>=dev-rust/defmt-macros-0.2.2:= <dev-rust/defmt-macros-0.3.0 =dev-rust/semver-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.2.3/r0
 SRC_URI=https://crates.io/api/v1/crates/defmt/0.2.3/download -> defmt-0.2.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=11229641b2066e3352a12a45ea33a80d
diff --git a/metadata/md5-cache/dev-rust/defmt-macros-0.2.3 b/metadata/md5-cache/dev-rust/defmt-macros-0.2.3
index 26e99d9..b1610c4 100644
--- a/metadata/md5-cache/dev-rust/defmt-macros-0.2.3
+++ b/metadata/md5-cache/dev-rust/defmt-macros-0.2.3
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=~dev-rust/defmt-parser-0.2.2:= >=dev-rust/proc-macro2-1.0.27:= <dev-rust/proc-macro2-2.0.0 >=dev-rust/quote-1.0.9:= <dev-rust/quote-2.0.0 =dev-rust/syn-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=~dev-rust/defmt-parser-0.2.2:= >=dev-rust/proc-macro2-1.0.27:= <dev-rust/proc-macro2-2.0.0 >=dev-rust/quote-1.0.9:= <dev-rust/quote-2.0.0 =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=defmt macros
 EAPI=7
 HOMEPAGE=https://crates.io/crates/defmt-macros
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=~dev-rust/defmt-parser-0.2.2:= >=dev-rust/proc-macro2-1.0.27:= <dev-rust/proc-macro2-2.0.0 >=dev-rust/quote-1.0.9:= <dev-rust/quote-2.0.0 =dev-rust/syn-1*:=
+RDEPEND=~dev-rust/defmt-parser-0.2.2:= >=dev-rust/proc-macro2-1.0.27:= <dev-rust/proc-macro2-2.0.0 >=dev-rust/quote-1.0.9:= <dev-rust/quote-2.0.0 =dev-rust/syn-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.3/r0
 SRC_URI=https://crates.io/api/v1/crates/defmt-macros/0.2.3/download -> defmt-macros-0.2.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=2fbba118f71aee2b1700362f2587721e
diff --git a/metadata/md5-cache/dev-rust/defmt-parser-0.2.2 b/metadata/md5-cache/dev-rust/defmt-parser-0.2.2
index 4f126df..292e0ea 100644
--- a/metadata/md5-cache/dev-rust/defmt-parser-0.2.2
+++ b/metadata/md5-cache/dev-rust/defmt-parser-0.2.2
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Parsing library for defmt format strings
 EAPI=7
 HOMEPAGE=https://crates.io/crates/defmt-parser
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.2/r0
 SRC_URI=https://crates.io/api/v1/crates/defmt-parser/0.2.2/download -> defmt-parser-0.2.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=970677ac663dba2b4ff5c7852e361b28
diff --git a/metadata/md5-cache/dev-rust/defmt-rtt-0.2.0 b/metadata/md5-cache/dev-rust/defmt-rtt-0.2.0
index dbc2e6f..94ed656 100644
--- a/metadata/md5-cache/dev-rust/defmt-rtt-0.2.0
+++ b/metadata/md5-cache/dev-rust/defmt-rtt-0.2.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/cortex-m-0.6.3:= <dev-rust/cortex-m-0.7.0 =dev-rust/defmt-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/cortex-m-0.6.3:= <dev-rust/cortex-m-0.7.0 =dev-rust/defmt-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Transmit defmt log messages over the RTT (Real-Time Transfer) protocol
 EAPI=7
 HOMEPAGE=https://crates.io/crates/defmt-rtt
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/cortex-m-0.6.3:= <dev-rust/cortex-m-0.7.0 =dev-rust/defmt-0.2*:=
+RDEPEND=>=dev-rust/cortex-m-0.6.3:= <dev-rust/cortex-m-0.7.0 =dev-rust/defmt-0.2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.0/r0
 SRC_URI=https://crates.io/api/v1/crates/defmt-rtt/0.2.0/download -> defmt-rtt-0.2.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=161f9fc477ad331a353fb722e9e2d3a6
diff --git a/metadata/md5-cache/dev-rust/derivative-2.1.1 b/metadata/md5-cache/dev-rust/derivative-2.1.1
index 2ace0f3..1dc96c2 100644
--- a/metadata/md5-cache/dev-rust/derivative-2.1.1
+++ b/metadata/md5-cache/dev-rust/derivative-2.1.1
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/syn-1.0.3:= <dev-rust/syn-2 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/syn-1.0.3:= <dev-rust/syn-2 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A set of alternative 'derive' attributes for Rust.
 EAPI=7
 HOMEPAGE=https://github.com/mcarton/rust-derivative
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=2.1.1/r0
 SRC_URI=https://crates.io/api/v1/crates/derivative/2.1.1/download -> derivative-2.1.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=9a2700369819f85fcc328ed8c3385dae
diff --git a/metadata/md5-cache/dev-rust/derive-getters-0.1.1-r1 b/metadata/md5-cache/dev-rust/derive-getters-0.1.1-r1
index 309cc45..9e23a1a 100644
--- a/metadata/md5-cache/dev-rust/derive-getters-0.1.1-r1
+++ b/metadata/md5-cache/dev-rust/derive-getters-0.1.1-r1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Simple Getters derive macro for generating field getter methods on a named struct.
 EAPI=7
 HOMEPAGE=https://git.sr.ht/~kvsari/derive-getters
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:=
+RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.1/r1
 SRC_URI=https://crates.io/api/v1/crates/derive-getters/0.1.1/download -> derive-getters-0.1.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=11948526a4443ce7a5cbe114560a58d3
diff --git a/metadata/md5-cache/dev-rust/digest-0.9.0 b/metadata/md5-cache/dev-rust/digest-0.9.0
index 43b0864..32a2688 100644
--- a/metadata/md5-cache/dev-rust/digest-0.9.0
+++ b/metadata/md5-cache/dev-rust/digest-0.9.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.9.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/dirs-next-2.0.0 b/metadata/md5-cache/dev-rust/dirs-next-2.0.0
index bd3221d..384eeaa 100644
--- a/metadata/md5-cache/dev-rust/dirs-next-2.0.0
+++ b/metadata/md5-cache/dev-rust/dirs-next-2.0.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/cfg-if-1*:= =dev-rust/dirs-sys-next-0.1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/cfg-if-1*:= =dev-rust/dirs-sys-next-0.1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A tiny low-level library that provides platform-specific standard locations of directories for config, cache and other data on Linux, Windows, macOS and Redox by leveraging the mechanisms defined by the XDG base/user directory specifications on Linux, the Known Folder API on Windows, and the Standard Directory guidelines on macOS.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/dirs-next
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/cfg-if-1*:= =dev-rust/dirs-sys-next-0.1*:=
+RDEPEND==dev-rust/cfg-if-1*:= =dev-rust/dirs-sys-next-0.1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=2.0.0/r0
 SRC_URI=https://crates.io/api/v1/crates/dirs-next/2.0.0/download -> dirs-next-2.0.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e4332517d3ec3fcf44a31ef896e8d72f
diff --git a/metadata/md5-cache/dev-rust/dirs-sys-next-0.1.2 b/metadata/md5-cache/dev-rust/dirs-sys-next-0.1.2
index ef5e573..aae6d05 100644
--- a/metadata/md5-cache/dev-rust/dirs-sys-next-0.1.2
+++ b/metadata/md5-cache/dev-rust/dirs-sys-next-0.1.2
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/libc-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/libc-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=system-level helper functions for the dirs and directories crates
 EAPI=7
 HOMEPAGE=https://crates.io/crates/dirs-sys-next
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/libc-0.2*:=
+RDEPEND==dev-rust/libc-0.2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.2/r0
 SRC_URI=https://crates.io/api/v1/crates/dirs-sys-next/0.1.2/download -> dirs-sys-next-0.1.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=9dd82bafd845053a9965bfc960d838e5
diff --git a/metadata/md5-cache/dev-rust/dlib-0.0.0 b/metadata/md5-cache/dev-rust/dlib-0.0.0
new file mode 100644
index 0000000..65119ca
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/dlib-0.0.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.0.0/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=648d4323d6c90740a82e249b59881fe9
diff --git a/metadata/md5-cache/dev-rust/downcast-rs-1.2.0 b/metadata/md5-cache/dev-rust/downcast-rs-1.2.0
index a908abe..9e541cbe 100644
--- a/metadata/md5-cache/dev-rust/downcast-rs-1.2.0
+++ b/metadata/md5-cache/dev-rust/downcast-rs-1.2.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Trait object downcasting support using only safe Rust. It supports type parameters, associated types, and type constraints.
 EAPI=7
 HOMEPAGE=https://github.com/marcianx/downcast-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.2.0/r0
 SRC_URI=https://crates.io/api/v1/crates/downcast-rs/1.2.0/download -> downcast-rs-1.2.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=7b8b5c89c925c1a02c3d0e833be3eda9
diff --git a/metadata/md5-cache/dev-rust/dtoa-0.4.5 b/metadata/md5-cache/dev-rust/dtoa-0.4.5
deleted file mode 100644
index 96cb4bd..0000000
--- a/metadata/md5-cache/dev-rust/dtoa-0.4.5
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Fast functions for printing floating-point primitives to an io::Write
-EAPI=6
-HOMEPAGE=https://github.com/dtolnay/dtoa
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.4.5/r0
-SRC_URI=https://crates.io/api/v1/crates/dtoa/0.4.5/download -> dtoa-0.4.5.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=e7589bc98fd8837338211b77d8859dca
diff --git a/metadata/md5-cache/dev-rust/ed25519-1.0.0 b/metadata/md5-cache/dev-rust/ed25519-1.0.0
index 89b8c8d..c829268 100644
--- a/metadata/md5-cache/dev-rust/ed25519-1.0.0
+++ b/metadata/md5-cache/dev-rust/ed25519-1.0.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/ed25519-1.2.0 b/metadata/md5-cache/dev-rust/ed25519-1.2.0
index 2015f75..abdb7c7 100644
--- a/metadata/md5-cache/dev-rust/ed25519-1.2.0
+++ b/metadata/md5-cache/dev-rust/ed25519-1.2.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.2.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=648d4323d6c90740a82e249b59881fe9
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dcd7e86695f5a9ea614dc8b5a7b64d6d
diff --git a/metadata/md5-cache/dev-rust/ed25519-compact-0.1.9 b/metadata/md5-cache/dev-rust/ed25519-compact-0.1.9
index db90749..4e3f1bf 100644
--- a/metadata/md5-cache/dev-rust/ed25519-compact-0.1.9
+++ b/metadata/md5-cache/dev-rust/ed25519-compact-0.1.9
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/ed25519-1*:= =dev-rust/getrandom-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/ed25519-1*:= =dev-rust/getrandom-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A small, self-contained, wasm-friendly Ed25519 implementation
 EAPI=7
 HOMEPAGE=https://crates.io/crates/ed25519-compact
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=ISC
-RDEPEND==dev-rust/ed25519-1*:= =dev-rust/getrandom-0.2*:=
+RDEPEND==dev-rust/ed25519-1*:= =dev-rust/getrandom-0.2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.9/r0
 SRC_URI=https://crates.io/api/v1/crates/ed25519-compact/0.1.9/download -> ed25519-compact-0.1.9.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=3cc38f8bda7b278e994c74c2fc720576
diff --git a/metadata/md5-cache/dev-rust/ed25519-compact-1.0.2 b/metadata/md5-cache/dev-rust/ed25519-compact-1.0.2
index 95a8b23..3fc6b0c 100644
--- a/metadata/md5-cache/dev-rust/ed25519-compact-1.0.2
+++ b/metadata/md5-cache/dev-rust/ed25519-compact-1.0.2
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/ct-codecs-1.1.0 <dev-rust/ct-codecs-2.0.0_alpha:= >=dev-rust/ed25519-1.2.0 <dev-rust/ed25519-2.0.0_alpha:= =dev-rust/getrandom-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/ct-codecs-1.1.0 <dev-rust/ct-codecs-2.0.0_alpha:= >=dev-rust/ed25519-1.2.0 <dev-rust/ed25519-2.0.0_alpha:= =dev-rust/getrandom-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A small, self-contained, wasm-friendly Ed25519 implementation
 EAPI=7
 HOMEPAGE=https://github.com/jedisct1/rust-ed25519-compact
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=ISC
-RDEPEND=>=dev-rust/ct-codecs-1.1.0 <dev-rust/ct-codecs-2.0.0_alpha:= >=dev-rust/ed25519-1.2.0 <dev-rust/ed25519-2.0.0_alpha:= =dev-rust/getrandom-0.2*:=
+RDEPEND=>=dev-rust/ct-codecs-1.1.0 <dev-rust/ct-codecs-2.0.0_alpha:= >=dev-rust/ed25519-1.2.0 <dev-rust/ed25519-2.0.0_alpha:= =dev-rust/getrandom-0.2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.2/r0
 SRC_URI=https://crates.io/api/v1/crates/ed25519-compact/1.0.2/download -> ed25519-compact-1.0.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=35464fa9946b70a3054fda49a5344bb8
diff --git a/metadata/md5-cache/dev-rust/either-1.5.2 b/metadata/md5-cache/dev-rust/either-1.5.2
deleted file mode 100644
index 06a1e0b..0000000
--- a/metadata/md5-cache/dev-rust/either-1.5.2
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/serde-1.0.0:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Either has methods that are similar to Option and Result, and it also implements traits like Iterator.
-EAPI=6
-HOMEPAGE=https://github.com/bluss/either
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=1.5.2/r0
-SRC_URI=https://crates.io/api/v1/crates/either/1.5.2/download -> either-1.5.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=04c7d847f8bdd471ef0eee747e756bb9
diff --git a/metadata/md5-cache/dev-rust/either-1.6.1 b/metadata/md5-cache/dev-rust/either-1.6.1
new file mode 100644
index 0000000..c9c16dd
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/either-1.6.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/serde-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Either has methods that are similar to Option and Result, and it also implements traits like Iterator.
+EAPI=7
+HOMEPAGE=https://github.com/bluss/either
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.6.1/r0
+SRC_URI=https://crates.io/api/v1/crates/either/1.6.1/download -> either-1.6.1.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=fb1a567930c91dab3db04e8660ed884c
diff --git a/metadata/md5-cache/dev-rust/embedded-hal-0.2.6 b/metadata/md5-cache/dev-rust/embedded-hal-0.2.6
index 6df6071..1405fc7 100644
--- a/metadata/md5-cache/dev-rust/embedded-hal-0.2.6
+++ b/metadata/md5-cache/dev-rust/embedded-hal-0.2.6
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/nb-0.1.3:= <dev-rust/nb-0.2.0 >=dev-rust/void-1.0.2:= <dev-rust/void-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/nb-0.1.3:= <dev-rust/nb-0.2.0 >=dev-rust/void-1.0.2:= <dev-rust/void-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A Hardware Abstraction Layer (HAL) for embedded systems
 EAPI=7
 HOMEPAGE=https://crates.io/crates/embedded-hal
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/nb-0.1.3:= <dev-rust/nb-0.2.0 >=dev-rust/void-1.0.2:= <dev-rust/void-2.0.0
+RDEPEND=>=dev-rust/nb-0.1.3:= <dev-rust/nb-0.2.0 >=dev-rust/void-1.0.2:= <dev-rust/void-2.0.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.6/r0
 SRC_URI=https://crates.io/api/v1/crates/embedded-hal/0.2.6/download -> embedded-hal-0.2.6.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=11907e3a5174d31674ba07335da14445
diff --git a/metadata/md5-cache/dev-rust/embedded-hal-mock-0.8.0 b/metadata/md5-cache/dev-rust/embedded-hal-mock-0.8.0
index 82fd560..75b729d 100644
--- a/metadata/md5-cache/dev-rust/embedded-hal-mock-0.8.0
+++ b/metadata/md5-cache/dev-rust/embedded-hal-mock-0.8.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/nb-0.1.3:= <dev-rust/nb-0.2.0 >=dev-rust/embedded-hal-0.2.5:= <dev-rust/embedded-hal-0.3.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/nb-0.1.3:= <dev-rust/nb-0.2.0 >=dev-rust/embedded-hal-0.2.5:= <dev-rust/embedded-hal-0.3.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A Hardware Abstraction Layer (HAL) mock for embedded systems
 EAPI=7
 HOMEPAGE=https://crates.io/crates/embedded-hal-mock
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/nb-0.1.3:= <dev-rust/nb-0.2.0 >=dev-rust/embedded-hal-0.2.5:= <dev-rust/embedded-hal-0.3.0
+RDEPEND=>=dev-rust/nb-0.1.3:= <dev-rust/nb-0.2.0 >=dev-rust/embedded-hal-0.2.5:= <dev-rust/embedded-hal-0.3.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.8.0/r0
 SRC_URI=https://crates.io/api/v1/crates/embedded-hal-mock/0.8.0/download -> embedded-hal-mock-0.8.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=41e69b7b7c91441bb2ba924b56e85429
diff --git a/metadata/md5-cache/dev-rust/encoding-0.2.33 b/metadata/md5-cache/dev-rust/encoding-0.2.33
index a17b6ad..22cae48 100644
--- a/metadata/md5-cache/dev-rust/encoding-0.2.33
+++ b/metadata/md5-cache/dev-rust/encoding-0.2.33
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty encoding crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.33/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/endian-type-0.1.2 b/metadata/md5-cache/dev-rust/endian-type-0.1.2
index 73c6b03..e01cd84 100644
--- a/metadata/md5-cache/dev-rust/endian-type-0.1.2
+++ b/metadata/md5-cache/dev-rust/endian-type-0.1.2
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Type safe wrappers for types with a defined byte order
 EAPI=7
 HOMEPAGE=https://github.com/Lolirofle/endian-type
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.2/r0
 SRC_URI=https://crates.io/api/v1/crates/endian-type/0.1.2/download -> endian-type-0.1.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=8ddcaaf005ff277f67375d58d084c15d
diff --git a/metadata/md5-cache/dev-rust/enum-as-inner-0.2.1 b/metadata/md5-cache/dev-rust/enum-as-inner-0.2.1
deleted file mode 100644
index 78570c6..0000000
--- a/metadata/md5-cache/dev-rust/enum-as-inner-0.2.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-0.4*:= =dev-rust/quote-0.6*:= =dev-rust/syn-0.15*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A deriving proc-macro for generating functions to automatically give access to the inner members of enum
-EAPI=6
-HOMEPAGE=https://github.com/bluejekyll/enum-as-inner
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.2.1/r0
-SRC_URI=https://crates.io/api/v1/crates/enum-as-inner/0.2.1/download -> enum-as-inner-0.2.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=69dc9f415fa303b721163ec7a490cbbc
diff --git a/metadata/md5-cache/dev-rust/enumn-0.1.3 b/metadata/md5-cache/dev-rust/enumn-0.1.3
index a28954e..ec09f0e 100644
--- a/metadata/md5-cache/dev-rust/enumn-0.1.3
+++ b/metadata/md5-cache/dev-rust/enumn-0.1.3
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Convert number to enum
 EAPI=7
 HOMEPAGE=https://crates.io/crates/enumn
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:=
+RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.3/r0
 SRC_URI=https://crates.io/api/v1/crates/enumn/0.1.3/download -> enumn-0.1.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=19d241bf5d7a72c05415e4351cb3246b
diff --git a/metadata/md5-cache/dev-rust/env_logger-0.6.1 b/metadata/md5-cache/dev-rust/env_logger-0.6.1
deleted file mode 100644
index 72c0b49..0000000
--- a/metadata/md5-cache/dev-rust/env_logger-0.6.1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/atty-0.2.5:= <dev-rust/atty-0.3.0 =dev-rust/humantime-1.1*:= =dev-rust/log-0.4*:= >=dev-rust/regex-1.0.3:= <dev-rust/regex-2.0.0 >=dev-rust/termcolor-1.0.2:= <dev-rust/termcolor-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Implements a logger that can be configured via environment variables.
-EAPI=7
-HOMEPAGE=https://github.com/sebasmagri/env_logger/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/atty-0.2.5:= <dev-rust/atty-0.3.0 =dev-rust/humantime-1.1*:= =dev-rust/log-0.4*:= >=dev-rust/regex-1.0.3:= <dev-rust/regex-2.0.0 >=dev-rust/termcolor-1.0.2:= <dev-rust/termcolor-2.0.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.6.1/r0
-SRC_URI=https://crates.io/api/v1/crates/env_logger/0.6.1/download -> env_logger-0.6.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=8e9569a471004648cfaf203db0ad4af3
diff --git a/metadata/md5-cache/dev-rust/env_logger-0.6.1-r2 b/metadata/md5-cache/dev-rust/env_logger-0.6.1-r2
deleted file mode 100644
index 871a7fd..0000000
--- a/metadata/md5-cache/dev-rust/env_logger-0.6.1-r2
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/atty-0.2.5:= <dev-rust/atty-0.3.0 =dev-rust/humantime-1.1*:= =dev-rust/log-0.4*:= >=dev-rust/regex-1.0.3:= <dev-rust/regex-2.0.0 >=dev-rust/termcolor-1.0.2:= <dev-rust/termcolor-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Implements a logger that can be configured via environment variables.
-EAPI=7
-HOMEPAGE=https://github.com/sebasmagri/env_logger/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/atty-0.2.5:= <dev-rust/atty-0.3.0 =dev-rust/humantime-1.1*:= =dev-rust/log-0.4*:= >=dev-rust/regex-1.0.3:= <dev-rust/regex-2.0.0 >=dev-rust/termcolor-1.0.2:= <dev-rust/termcolor-2.0.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.6.1/r2
-SRC_URI=https://crates.io/api/v1/crates/env_logger/0.6.1/download -> env_logger-0.6.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=8e9569a471004648cfaf203db0ad4af3
diff --git a/metadata/md5-cache/dev-rust/env_logger-0.8.3 b/metadata/md5-cache/dev-rust/env_logger-0.8.3
index 873ff5e..5ee4235 100644
--- a/metadata/md5-cache/dev-rust/env_logger-0.8.3
+++ b/metadata/md5-cache/dev-rust/env_logger-0.8.3
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/atty-0.2.5:= <dev-rust/atty-0.3.0 =dev-rust/humantime-2*:= >=dev-rust/log-0.4.8:= <dev-rust/log-0.5.0 >=dev-rust/regex-1.0.3:= <dev-rust/regex-2.0.0 >=dev-rust/termcolor-1.0.2:= <dev-rust/termcolor-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/atty-0.2.5:= <dev-rust/atty-0.3.0 =dev-rust/humantime-2*:= >=dev-rust/log-0.4.8:= <dev-rust/log-0.5.0 >=dev-rust/regex-1.0.3:= <dev-rust/regex-2.0.0 >=dev-rust/termcolor-1.0.2:= <dev-rust/termcolor-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A logging implementation for 'log' which is configured via an environment variable.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/env_logger
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/atty-0.2.5:= <dev-rust/atty-0.3.0 =dev-rust/humantime-2*:= >=dev-rust/log-0.4.8:= <dev-rust/log-0.5.0 >=dev-rust/regex-1.0.3:= <dev-rust/regex-2.0.0 >=dev-rust/termcolor-1.0.2:= <dev-rust/termcolor-2.0.0
+RDEPEND=>=dev-rust/atty-0.2.5:= <dev-rust/atty-0.3.0 =dev-rust/humantime-2*:= >=dev-rust/log-0.4.8:= <dev-rust/log-0.5.0 >=dev-rust/regex-1.0.3:= <dev-rust/regex-2.0.0 >=dev-rust/termcolor-1.0.2:= <dev-rust/termcolor-2.0.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.8.3/r0
 SRC_URI=https://crates.io/api/v1/crates/env_logger/0.8.3/download -> env_logger-0.8.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=156a981e04bb2542ccd7d7e00dd7a501
diff --git a/metadata/md5-cache/dev-rust/env_logger-0.9.0 b/metadata/md5-cache/dev-rust/env_logger-0.9.0
index 5600e56..049994a 100644
--- a/metadata/md5-cache/dev-rust/env_logger-0.9.0
+++ b/metadata/md5-cache/dev-rust/env_logger-0.9.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/atty-0.2.5 <dev-rust/atty-0.3.0_alpha:= =dev-rust/humantime-2*:= >=dev-rust/log-0.4.8 <dev-rust/log-0.5.0_alpha:= >=dev-rust/regex-1.0.3 <dev-rust/regex-2.0.0_alpha:= >=dev-rust/termcolor-1.0.2 <dev-rust/termcolor-2.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/atty-0.2.5 <dev-rust/atty-0.3.0_alpha:= =dev-rust/humantime-2*:= >=dev-rust/log-0.4.8 <dev-rust/log-0.5.0_alpha:= >=dev-rust/regex-1.0.3 <dev-rust/regex-2.0.0_alpha:= >=dev-rust/termcolor-1.0.2 <dev-rust/termcolor-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A logging implementation for "log" which is configured via an environment variable.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/env_logger
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/atty-0.2.5 <dev-rust/atty-0.3.0_alpha:= =dev-rust/humantime-2*:= >=dev-rust/log-0.4.8 <dev-rust/log-0.5.0_alpha:= >=dev-rust/regex-1.0.3 <dev-rust/regex-2.0.0_alpha:= >=dev-rust/termcolor-1.0.2 <dev-rust/termcolor-2.0.0_alpha:=
+RDEPEND=>=dev-rust/atty-0.2.5 <dev-rust/atty-0.3.0_alpha:= =dev-rust/humantime-2*:= >=dev-rust/log-0.4.8 <dev-rust/log-0.5.0_alpha:= >=dev-rust/regex-1.0.3 <dev-rust/regex-2.0.0_alpha:= >=dev-rust/termcolor-1.0.2 <dev-rust/termcolor-2.0.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.9.0/r0
 SRC_URI=https://crates.io/api/v1/crates/env_logger/0.9.0/download -> env_logger-0.9.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=7c202029e5ea13bf0b403d53e367d257
diff --git a/metadata/md5-cache/dev-rust/error-chain-0.11.0 b/metadata/md5-cache/dev-rust/error-chain-0.11.0
index 8b0317e..07f5c5f 100644
--- a/metadata/md5-cache/dev-rust/error-chain-0.11.0
+++ b/metadata/md5-cache/dev-rust/error-chain-0.11.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/backtrace-0.3.0:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/backtrace-0.3.0:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Helps avoid boilerplate when using chained-errors.
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/rust-lang-nursery/error-chain
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.11.0/r0
 SRC_URI=https://crates.io/api/v1/crates/error-chain/0.11.0/download -> error-chain-0.11.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=786e73e4a4c51a0434fb6d23c541bf04
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4d06f63d6a8dcb7ce6f2d551b18decc2
diff --git a/metadata/md5-cache/dev-rust/error-chain-0.12.4 b/metadata/md5-cache/dev-rust/error-chain-0.12.4
new file mode 100644
index 0000000..6cb98e1
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/error-chain-0.12.4
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/backtrace-0.3.3 <dev-rust/backtrace-0.4.0_alpha:= =dev-rust/version_check-0.9*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Yet another error boilerplate library.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/error-chain
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/backtrace-0.3.3 <dev-rust/backtrace-0.4.0_alpha:= =dev-rust/version_check-0.9*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.12.4/r0
+SRC_URI=https://crates.io/api/v1/crates/error-chain/0.12.4/download -> error-chain-0.12.4.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a611376a9dd79a5d2760579fdc91fefa
diff --git a/metadata/md5-cache/dev-rust/eui48-0.4.6 b/metadata/md5-cache/dev-rust/eui48-0.4.6
deleted file mode 100644
index 327c4c9..0000000
--- a/metadata/md5-cache/dev-rust/eui48-0.4.6
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/rustc-serialize-0.3.24:= <dev-rust/rustc-serialize-0.4.0 >=dev-rust/serde-1.0.80:= <dev-rust/serde-2.0.0 >=dev-rust/serde_json-1.0.37:= <dev-rust/serde_json-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A Rust library to represent and parse IEEE EUI-48 also known as MAC-48 media access control addresses.
-EAPI=7
-HOMEPAGE=https://github.com/abaumhauer/eui48
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/rustc-serialize-0.3.24:= <dev-rust/rustc-serialize-0.4.0 >=dev-rust/serde-1.0.80:= <dev-rust/serde-2.0.0 >=dev-rust/serde_json-1.0.37:= <dev-rust/serde_json-2.0.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.4.6/r0
-SRC_URI=https://crates.io/api/v1/crates/eui48/0.4.6/download -> eui48-0.4.6.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0b3b9492cdff9cbdc1f8c9dcb0b5a8c1
diff --git a/metadata/md5-cache/dev-rust/eui48-0.4.6-r2 b/metadata/md5-cache/dev-rust/eui48-0.4.6-r2
deleted file mode 100644
index 111d3e9..0000000
--- a/metadata/md5-cache/dev-rust/eui48-0.4.6-r2
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/rustc-serialize-0.3.24:= <dev-rust/rustc-serialize-0.4.0 >=dev-rust/serde-1.0.80:= <dev-rust/serde-2.0.0 >=dev-rust/serde_json-1.0.37:= <dev-rust/serde_json-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A Rust library to represent and parse IEEE EUI-48 also known as MAC-48 media access control addresses.
-EAPI=7
-HOMEPAGE=https://github.com/abaumhauer/eui48
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/rustc-serialize-0.3.24:= <dev-rust/rustc-serialize-0.4.0 >=dev-rust/serde-1.0.80:= <dev-rust/serde-2.0.0 >=dev-rust/serde_json-1.0.37:= <dev-rust/serde_json-2.0.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.4.6/r2
-SRC_URI=https://crates.io/api/v1/crates/eui48/0.4.6/download -> eui48-0.4.6.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0b3b9492cdff9cbdc1f8c9dcb0b5a8c1
diff --git a/metadata/md5-cache/dev-rust/failure-0.1.5 b/metadata/md5-cache/dev-rust/failure-0.1.5
deleted file mode 100644
index 16a58f6..0000000
--- a/metadata/md5-cache/dev-rust/failure-0.1.5
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/backtrace-0.3*:= =dev-rust/failure_derive-0.1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Experimental error handling abstraction
-EAPI=6
-HOMEPAGE=https://rust-lang-nursery.github.io/failure/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.5/r0
-SRC_URI=https://crates.io/api/v1/crates/failure/0.1.5/download -> failure-0.1.5.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=ce8f2f37e9aee73387c56079e803573b
diff --git a/metadata/md5-cache/dev-rust/failure_derive-0.1.5 b/metadata/md5-cache/dev-rust/failure_derive-0.1.5
index bfeaf06..3bc5883 100644
--- a/metadata/md5-cache/dev-rust/failure_derive-0.1.5
+++ b/metadata/md5-cache/dev-rust/failure_derive-0.1.5
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-0.4*:= =dev-rust/quote-0.6*:= =dev-rust/syn-0.15*:= =dev-rust/synstructure-0.10*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/proc-macro2-0.4*:= =dev-rust/quote-0.6*:= =dev-rust/syn-0.15*:= =dev-rust/synstructure-0.10*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Derives for the failure crate
-EAPI=6
+EAPI=7
 HOMEPAGE=https://rust-lang-nursery.github.io/failure/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.5/r0
 SRC_URI=https://crates.io/api/v1/crates/failure_derive/0.1.5/download -> failure_derive-0.1.5.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=b4ac01ce59fafb4137df7bb45e0f7d13
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=83de5ce2bb9e625a402fbb83cf0af659
diff --git a/metadata/md5-cache/dev-rust/failure_derive-0.1.5-r1 b/metadata/md5-cache/dev-rust/failure_derive-0.1.5-r1
index b16f984..e1118b5 100644
--- a/metadata/md5-cache/dev-rust/failure_derive-0.1.5-r1
+++ b/metadata/md5-cache/dev-rust/failure_derive-0.1.5-r1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-0.4*:= =dev-rust/quote-0.6*:= =dev-rust/syn-0.15*:= =dev-rust/synstructure-0.10*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/proc-macro2-0.4*:= =dev-rust/quote-0.6*:= =dev-rust/syn-0.15*:= =dev-rust/synstructure-0.10*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Derives for the failure crate
-EAPI=6
+EAPI=7
 HOMEPAGE=https://rust-lang-nursery.github.io/failure/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.5/r1
 SRC_URI=https://crates.io/api/v1/crates/failure_derive/0.1.5/download -> failure_derive-0.1.5.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=b4ac01ce59fafb4137df7bb45e0f7d13
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=83de5ce2bb9e625a402fbb83cf0af659
diff --git a/metadata/md5-cache/dev-rust/fallible-iterator-0.2.0 b/metadata/md5-cache/dev-rust/fallible-iterator-0.2.0
index e5c0e3c..533ac42 100644
--- a/metadata/md5-cache/dev-rust/fallible-iterator-0.2.0
+++ b/metadata/md5-cache/dev-rust/fallible-iterator-0.2.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Fallible iterators for Rust
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/sfackler/rust-fallible-iterator
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.0/r0
 SRC_URI=https://crates.io/api/v1/crates/fallible-iterator/0.2.0/download -> fallible-iterator-0.2.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=cd5f578118dad0e51ff358105713eb04
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f3cee50ed44d0386d8a09ab8b48838d5
diff --git a/metadata/md5-cache/dev-rust/fallible-streaming-iterator-0.1.9 b/metadata/md5-cache/dev-rust/fallible-streaming-iterator-0.1.9
deleted file mode 100644
index 720d297..0000000
--- a/metadata/md5-cache/dev-rust/fallible-streaming-iterator-0.1.9
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Fallible, streaming iteration
-EAPI=6
-HOMEPAGE=https://github.com/sfackler/fallible-streaming-iterator
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.9/r0
-SRC_URI=https://crates.io/api/v1/crates/fallible-streaming-iterator/0.1.9/download -> fallible-streaming-iterator-0.1.9.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=841e9e99d7e9bd293de07175ea072342
diff --git a/metadata/md5-cache/dev-rust/fancy-regex-0.8.0 b/metadata/md5-cache/dev-rust/fancy-regex-0.8.0
new file mode 100644
index 0000000..eca8aac
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/fancy-regex-0.8.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/bit-set-0.5*:= >=dev-rust/regex-1.3.8 <dev-rust/regex-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=An implementation of regexes, supporting a relatively rich set of features, including backreferences and look-around.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/fancy-regex
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND==dev-rust/bit-set-0.5*:= >=dev-rust/regex-1.3.8 <dev-rust/regex-2.0.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.8.0/r0
+SRC_URI=https://crates.io/api/v1/crates/fancy-regex/0.8.0/download -> fancy-regex-0.8.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7f8ffde73080f0ce75fa1e82fc28c3ba
diff --git a/metadata/md5-cache/dev-rust/fd-lock-3.0.2 b/metadata/md5-cache/dev-rust/fd-lock-3.0.2
index a09f5a7..70d83b6 100644
--- a/metadata/md5-cache/dev-rust/fd-lock-3.0.2
+++ b/metadata/md5-cache/dev-rust/fd-lock-3.0.2
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/cfg-if-1*:= >=dev-rust/libc-0.2.58 <dev-rust/libc-0.3.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/cfg-if-1*:= >=dev-rust/libc-0.2.58 <dev-rust/libc-0.3.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Advisory cross-platform lock on a file using a file descriptor to it.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/fd-lock
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/cfg-if-1*:= >=dev-rust/libc-0.2.58 <dev-rust/libc-0.3.0_alpha:=
+RDEPEND==dev-rust/cfg-if-1*:= >=dev-rust/libc-0.2.58 <dev-rust/libc-0.3.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=3.0.2/r0
 SRC_URI=https://crates.io/api/v1/crates/fd-lock/3.0.2/download -> fd-lock-3.0.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=330888dedd6baf4b48138c984cdd390c
diff --git a/metadata/md5-cache/dev-rust/featured-0.1.0-r7 b/metadata/md5-cache/dev-rust/featured-0.1.0-r7
new file mode 100644
index 0000000..8fa7ab9
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/featured-0.1.0-r7
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=chromeos-base/featured =dev-rust/bindgen-0.59*:= =dev-rust/log-0.4*:= =dev-rust/thiserror-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Chrome OS feature management service
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/featured/
+IUSE=cros_host cros_workon_tree_545d67a6429090226f1d6ac899f5f2d86bd38b99 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/featured =dev-rust/bindgen-0.59*:= =dev-rust/log-0.4*:= =dev-rust/thiserror-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r7
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5d961a7220096f67b6c9b29204cfbb8c
diff --git a/metadata/md5-cache/dev-rust/featured-9999 b/metadata/md5-cache/dev-rust/featured-9999
new file mode 100644
index 0000000..188e48e
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/featured-9999
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=chromeos-base/featured =dev-rust/bindgen-0.59*:= =dev-rust/log-0.4*:= =dev-rust/thiserror-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Chrome OS feature management service
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/featured/
+IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/featured =dev-rust/bindgen-0.59*:= =dev-rust/log-0.4*:= =dev-rust/thiserror-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/9999
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b397eb66337655e612431e30a9bc2804
diff --git a/metadata/md5-cache/dev-rust/findshlibs-0.3.3 b/metadata/md5-cache/dev-rust/findshlibs-0.3.3
deleted file mode 100644
index a40a95b..0000000
--- a/metadata/md5-cache/dev-rust/findshlibs-0.3.3
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Empty findshlibs crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.3.3/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
diff --git a/metadata/md5-cache/dev-rust/flame-0.1.12 b/metadata/md5-cache/dev-rust/flame-0.1.12
index c377a5b..22f5f455 100644
--- a/metadata/md5-cache/dev-rust/flame-0.1.12
+++ b/metadata/md5-cache/dev-rust/flame-0.1.12
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty flame crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.12/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/flamer-0.1.4 b/metadata/md5-cache/dev-rust/flamer-0.1.4
index f840e89..9b728c8 100644
--- a/metadata/md5-cache/dev-rust/flamer-0.1.4
+++ b/metadata/md5-cache/dev-rust/flamer-0.1.4
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty flamer crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.4/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/flate2-1.0.20 b/metadata/md5-cache/dev-rust/flate2-1.0.20
index ef81c93..661c957 100644
--- a/metadata/md5-cache/dev-rust/flate2-1.0.20
+++ b/metadata/md5-cache/dev-rust/flate2-1.0.20
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/cfg-if-1:= <dev-rust/cfg-if-2 >=dev-rust/crc32fast-1.2:= <dev-rust/crc32fast-2 >=dev-rust/libc-0.2.65:= <dev-rust/libc-0.3 >=dev-rust/miniz_oxide-0.4.0:= <dev-rust/miniz_oxide-0.5 >=dev-rust/cloudflare-zlib-sys-0.2.0:= <dev-rust/cloudflare-zlib-sys-0.3 >=dev-rust/futures-0.1.25:= <dev-rust/futures-0.2 >=dev-rust/libz-sys-1.1.0:= <dev-rust/libz-sys-2 >=dev-rust/miniz-sys-0.1.11:= <dev-rust/miniz-sys-0.2 >=dev-rust/tokio-io-0.1.11:= <dev-rust/tokio-io-0.2 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/cfg-if-1:= <dev-rust/cfg-if-2 >=dev-rust/crc32fast-1.2:= <dev-rust/crc32fast-2 >=dev-rust/libc-0.2.65:= <dev-rust/libc-0.3 >=dev-rust/miniz_oxide-0.4.0:= <dev-rust/miniz_oxide-0.5 >=dev-rust/cloudflare-zlib-sys-0.2.0:= <dev-rust/cloudflare-zlib-sys-0.3 >=dev-rust/futures-0.1.25:= <dev-rust/futures-0.2 >=dev-rust/libz-sys-1.1.0:= <dev-rust/libz-sys-2 >=dev-rust/miniz-sys-0.1.11:= <dev-rust/miniz-sys-0.2 >=dev-rust/tokio-io-0.1.11:= <dev-rust/tokio-io-0.2 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=DEFLATE compression and decompression exposed as Read/BufRead/Write streams.
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang/flate2-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=1.0.20/r0
 SRC_URI=https://crates.io/api/v1/crates/flate2/1.0.20/download -> flate2-1.0.20.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=11070435798f9e31239f1ae7f99e74b6
diff --git a/metadata/md5-cache/dev-rust/flexbuffers-0.1.1 b/metadata/md5-cache/dev-rust/flexbuffers-0.1.1
index d56ff72..81e1f98 100644
--- a/metadata/md5-cache/dev-rust/flexbuffers-0.1.1
+++ b/metadata/md5-cache/dev-rust/flexbuffers-0.1.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bitflags-1.2.1 <dev-rust/bitflags-2:= >=dev-rust/byteorder-1.3.2 <dev-rust/byteorder-2:= =dev-rust/num_enum-0.5*:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2:= =dev-rust/serde_derive-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/bitflags-1.2.1 <dev-rust/bitflags-2:= >=dev-rust/byteorder-1.3.2 <dev-rust/byteorder-2:= =dev-rust/num_enum-0.5*:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2:= =dev-rust/serde_derive-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Official FlexBuffers Rust runtime library.
 EAPI=7
 HOMEPAGE=https://google.github.io/flatbuffers/flexbuffers
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=Apache-2.0
-RDEPEND=>=dev-rust/bitflags-1.2.1 <dev-rust/bitflags-2:= >=dev-rust/byteorder-1.3.2 <dev-rust/byteorder-2:= =dev-rust/num_enum-0.5*:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2:= =dev-rust/serde_derive-1*:=
+RDEPEND=>=dev-rust/bitflags-1.2.1 <dev-rust/bitflags-2:= >=dev-rust/byteorder-1.3.2 <dev-rust/byteorder-2:= =dev-rust/num_enum-0.5*:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2:= =dev-rust/serde_derive-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.1/r0
 SRC_URI=https://crates.io/api/v1/crates/flexbuffers/0.1.1/download -> flexbuffers-0.1.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e4557800ccce4e8f81614974cf2400cf
diff --git a/metadata/md5-cache/dev-rust/flexbuffers-0.1.1-r1 b/metadata/md5-cache/dev-rust/flexbuffers-0.1.1-r1
index 7e5ccf3..b0c0c22 100644
--- a/metadata/md5-cache/dev-rust/flexbuffers-0.1.1-r1
+++ b/metadata/md5-cache/dev-rust/flexbuffers-0.1.1-r1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bitflags-1.2.1 <dev-rust/bitflags-2:= >=dev-rust/byteorder-1.3.2 <dev-rust/byteorder-2:= =dev-rust/num_enum-0.5*:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2:= =dev-rust/serde_derive-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/bitflags-1.2.1 <dev-rust/bitflags-2:= >=dev-rust/byteorder-1.3.2 <dev-rust/byteorder-2:= =dev-rust/num_enum-0.5*:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2:= =dev-rust/serde_derive-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Official FlexBuffers Rust runtime library.
 EAPI=7
 HOMEPAGE=https://google.github.io/flatbuffers/flexbuffers
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=Apache-2.0
-RDEPEND=>=dev-rust/bitflags-1.2.1 <dev-rust/bitflags-2:= >=dev-rust/byteorder-1.3.2 <dev-rust/byteorder-2:= =dev-rust/num_enum-0.5*:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2:= =dev-rust/serde_derive-1*:=
+RDEPEND=>=dev-rust/bitflags-1.2.1 <dev-rust/bitflags-2:= >=dev-rust/byteorder-1.3.2 <dev-rust/byteorder-2:= =dev-rust/num_enum-0.5*:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2:= =dev-rust/serde_derive-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.1/r1
 SRC_URI=https://crates.io/api/v1/crates/flexbuffers/0.1.1/download -> flexbuffers-0.1.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e4557800ccce4e8f81614974cf2400cf
diff --git a/metadata/md5-cache/dev-rust/flexbuffers-2.0.0 b/metadata/md5-cache/dev-rust/flexbuffers-2.0.0
index 68e3824..34f1cf4 100644
--- a/metadata/md5-cache/dev-rust/flexbuffers-2.0.0
+++ b/metadata/md5-cache/dev-rust/flexbuffers-2.0.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bitflags-1.2.1 <dev-rust/bitflags-2.0.0_alpha:= >=dev-rust/byteorder-1.4.2 <dev-rust/byteorder-2.0.0_alpha:= >=dev-rust/num_enum-0.5.1 <dev-rust/num_enum-0.6.0_alpha:= >=dev-rust/serde-1.0.119 <dev-rust/serde-2.0.0_alpha:= >=dev-rust/serde_derive-1.0.119 <dev-rust/serde_derive-2.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/bitflags-1.2.1 <dev-rust/bitflags-2.0.0_alpha:= >=dev-rust/byteorder-1.4.2 <dev-rust/byteorder-2.0.0_alpha:= >=dev-rust/num_enum-0.5.1 <dev-rust/num_enum-0.6.0_alpha:= >=dev-rust/serde-1.0.119 <dev-rust/serde-2.0.0_alpha:= >=dev-rust/serde_derive-1.0.119 <dev-rust/serde_derive-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Official FlexBuffers Rust runtime library.
 EAPI=7
 HOMEPAGE=https://google.github.io/flatbuffers/flexbuffers
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=Apache-2.0
-RDEPEND=>=dev-rust/bitflags-1.2.1 <dev-rust/bitflags-2.0.0_alpha:= >=dev-rust/byteorder-1.4.2 <dev-rust/byteorder-2.0.0_alpha:= >=dev-rust/num_enum-0.5.1 <dev-rust/num_enum-0.6.0_alpha:= >=dev-rust/serde-1.0.119 <dev-rust/serde-2.0.0_alpha:= >=dev-rust/serde_derive-1.0.119 <dev-rust/serde_derive-2.0.0_alpha:=
+RDEPEND=>=dev-rust/bitflags-1.2.1 <dev-rust/bitflags-2.0.0_alpha:= >=dev-rust/byteorder-1.4.2 <dev-rust/byteorder-2.0.0_alpha:= >=dev-rust/num_enum-0.5.1 <dev-rust/num_enum-0.6.0_alpha:= >=dev-rust/serde-1.0.119 <dev-rust/serde-2.0.0_alpha:= >=dev-rust/serde_derive-1.0.119 <dev-rust/serde_derive-2.0.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=2.0.0/r0
 SRC_URI=https://crates.io/api/v1/crates/flexbuffers/2.0.0/download -> flexbuffers-2.0.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=c22eafe372be8075f0c644e30d400fac
diff --git a/metadata/md5-cache/dev-rust/fnv-1.0.7 b/metadata/md5-cache/dev-rust/fnv-1.0.7
index a180c6b..3e54bea 100644
--- a/metadata/md5-cache/dev-rust/fnv-1.0.7
+++ b/metadata/md5-cache/dev-rust/fnv-1.0.7
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Fowler–Noll–Vo hash function
 EAPI=7
 HOMEPAGE=https://crates.io/crates/fnv
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.7/r0
 SRC_URI=https://crates.io/api/v1/crates/fnv/1.0.7/download -> fnv-1.0.7.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e55952e49759a3770c60dd0622c265b3
diff --git a/metadata/md5-cache/dev-rust/foreign-types-0.3.2 b/metadata/md5-cache/dev-rust/foreign-types-0.3.2
index f94e04f..f64fbf8 100644
--- a/metadata/md5-cache/dev-rust/foreign-types-0.3.2
+++ b/metadata/md5-cache/dev-rust/foreign-types-0.3.2
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/foreign-types-shared-0.1:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/foreign-types-shared-0.1:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A framework for Rust wrappers over C APIs.
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/sfackler/foreign-types
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/foreign-types-shared-0.1:=
+RDEPEND=>=dev-rust/foreign-types-shared-0.1:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.2/r0
 SRC_URI=https://crates.io/api/v1/crates/foreign-types/0.3.2/download -> foreign-types-0.3.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=27c785f9ca791b2b5e1d850afae1ded6
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=cc79e407b67e6661e3fa6fc389f25084
diff --git a/metadata/md5-cache/dev-rust/foreign-types-0.3.2-r1 b/metadata/md5-cache/dev-rust/foreign-types-0.3.2-r1
index febc020..e325e16 100644
--- a/metadata/md5-cache/dev-rust/foreign-types-0.3.2-r1
+++ b/metadata/md5-cache/dev-rust/foreign-types-0.3.2-r1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/foreign-types-shared-0.1:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/foreign-types-shared-0.1:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A framework for Rust wrappers over C APIs.
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/sfackler/foreign-types
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/foreign-types-shared-0.1:=
+RDEPEND=>=dev-rust/foreign-types-shared-0.1:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.2/r1
 SRC_URI=https://crates.io/api/v1/crates/foreign-types/0.3.2/download -> foreign-types-0.3.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=27c785f9ca791b2b5e1d850afae1ded6
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=cc79e407b67e6661e3fa6fc389f25084
diff --git a/metadata/md5-cache/dev-rust/foreign-types-shared-0.1.1 b/metadata/md5-cache/dev-rust/foreign-types-shared-0.1.1
index 960460b..c9c1734 100644
--- a/metadata/md5-cache/dev-rust/foreign-types-shared-0.1.1
+++ b/metadata/md5-cache/dev-rust/foreign-types-shared-0.1.1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=An internal crate used by foreign-types
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/sfackler/foreign-types
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.1/r0
 SRC_URI=https://crates.io/api/v1/crates/foreign-types-shared/0.1.1/download -> foreign-types-shared-0.1.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=b68d1b1ffe30543fa18074881501303e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e8716441a94071209819e077de74b2c7
diff --git a/metadata/md5-cache/dev-rust/form_urlencoded-1.0.1 b/metadata/md5-cache/dev-rust/form_urlencoded-1.0.1
new file mode 100644
index 0000000..bb8e33c
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/form_urlencoded-1.0.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/matches-0.1*:= >=dev-rust/percent-encoding-2.1.0 <dev-rust/percent-encoding-3.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Parser and serializer for the application/x-www-form-urlencoded syntax, as used by HTML forms.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/form_urlencoded
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/matches-0.1*:= >=dev-rust/percent-encoding-2.1.0 <dev-rust/percent-encoding-3.0.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.0.1/r0
+SRC_URI=https://crates.io/api/v1/crates/form_urlencoded/1.0.1/download -> form_urlencoded-1.0.1.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f128372f88acfaa96255af722d58df9f
diff --git a/metadata/md5-cache/dev-rust/fraction-0.10.0 b/metadata/md5-cache/dev-rust/fraction-0.10.0
new file mode 100644
index 0000000..ddcdfa4
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/fraction-0.10.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/byteorder-1*:= =dev-rust/bytes-1*:= =dev-rust/juniper-0.15*:= >=dev-rust/lazy_static-1.1.0 <dev-rust/lazy_static-2.0.0_alpha:= =dev-rust/num-0.2*:= =dev-rust/postgres-types-0.2*:= =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Lossless fractions and decimals; drop-in float replacement
+EAPI=7
+HOMEPAGE=https://github.com/dnsl48/fraction.git
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/byteorder-1*:= =dev-rust/bytes-1*:= =dev-rust/juniper-0.15*:= >=dev-rust/lazy_static-1.1.0 <dev-rust/lazy_static-2.0.0_alpha:= =dev-rust/num-0.2*:= =dev-rust/postgres-types-0.2*:= =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.10.0/r0
+SRC_URI=https://crates.io/api/v1/crates/fraction/0.10.0/download -> fraction-0.10.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ab4845cc079bb8e6adfb71d8875b8488
diff --git a/metadata/md5-cache/dev-rust/fs2-0.4.3 b/metadata/md5-cache/dev-rust/fs2-0.4.3
index 2dff8e9..b7c8fe0 100644
--- a/metadata/md5-cache/dev-rust/fs2-0.4.3
+++ b/metadata/md5-cache/dev-rust/fs2-0.4.3
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2.30:= <dev-rust/libc-0.3.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/libc-0.2.30:= <dev-rust/libc-0.3.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Cross-platform file locks and file duplication.
 EAPI=7
 HOMEPAGE=https://docs.rs/fs2
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.4.3/r0
 SRC_URI=https://crates.io/api/v1/crates/fs2/0.4.3/download -> fs2-0.4.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=fd4e3d07209a44938f5c34808f9cfe4a
diff --git a/metadata/md5-cache/dev-rust/fuchsia-zircon-0.3.2 b/metadata/md5-cache/dev-rust/fuchsia-zircon-0.3.2
index 246f8a8..2bfb015 100644
--- a/metadata/md5-cache/dev-rust/fuchsia-zircon-0.3.2
+++ b/metadata/md5-cache/dev-rust/fuchsia-zircon-0.3.2
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty fuchsia-zircon crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.2/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=b459f025504105b3b301bb8096b60267
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=22da6121c9ea20e4b371df9f14f4fa99
diff --git a/metadata/md5-cache/dev-rust/futures-0.1.31 b/metadata/md5-cache/dev-rust/futures-0.1.31
index 34da3d1..9b00361e 100644
--- a/metadata/md5-cache/dev-rust/futures-0.1.31
+++ b/metadata/md5-cache/dev-rust/futures-0.1.31
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=An implementation of futures and streams featuring zero allocations, composability, and iterator-like interfaces.
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang-nursery/futures-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.31/r0
 SRC_URI=https://crates.io/api/v1/crates/futures/0.1.31/download -> futures-0.1.31.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=a0dcf920b3fb213adb2a2c2908242501
diff --git a/metadata/md5-cache/dev-rust/futures-0.3.13 b/metadata/md5-cache/dev-rust/futures-0.3.13
index 4c28c11..b1a03b4 100644
--- a/metadata/md5-cache/dev-rust/futures-0.3.13
+++ b/metadata/md5-cache/dev-rust/futures-0.3.13
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/futures-channel-0.3.13:= <dev-rust/futures-channel-0.4 >=dev-rust/futures-core-0.3.13:= <dev-rust/futures-core-0.4 >=dev-rust/futures-executor-0.3.13:= <dev-rust/futures-executor-0.4 >=dev-rust/futures-io-0.3.13:= <dev-rust/futures-io-0.4 >=dev-rust/futures-sink-0.3.13:= <dev-rust/futures-sink-0.4 >=dev-rust/futures-task-0.3.13:= <dev-rust/futures-task-0.4 >=dev-rust/futures-util-0.3.13:= <dev-rust/futures-util-0.4 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/futures-channel-0.3.13:= <dev-rust/futures-channel-0.4 >=dev-rust/futures-core-0.3.13:= <dev-rust/futures-core-0.4 >=dev-rust/futures-executor-0.3.13:= <dev-rust/futures-executor-0.4 >=dev-rust/futures-io-0.3.13:= <dev-rust/futures-io-0.4 >=dev-rust/futures-sink-0.3.13:= <dev-rust/futures-sink-0.4 >=dev-rust/futures-task-0.3.13:= <dev-rust/futures-task-0.4 >=dev-rust/futures-util-0.3.13:= <dev-rust/futures-util-0.4 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=This library is an implementation of zero-cost futures in Rust
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang-nursery/futures-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/futures-channel-0.3.13:= <dev-rust/futures-channel-0.4 >=dev-rust/futures-core-0.3.13:= <dev-rust/futures-core-0.4 >=dev-rust/futures-executor-0.3.13:= <dev-rust/futures-executor-0.4 >=dev-rust/futures-io-0.3.13:= <dev-rust/futures-io-0.4 >=dev-rust/futures-sink-0.3.13:= <dev-rust/futures-sink-0.4 >=dev-rust/futures-task-0.3.13:= <dev-rust/futures-task-0.4 >=dev-rust/futures-util-0.3.13:= <dev-rust/futures-util-0.4 !~dev-rust/futures-0.3.1
+RDEPEND=>=dev-rust/futures-channel-0.3.13:= <dev-rust/futures-channel-0.4 >=dev-rust/futures-core-0.3.13:= <dev-rust/futures-core-0.4 >=dev-rust/futures-executor-0.3.13:= <dev-rust/futures-executor-0.4 >=dev-rust/futures-io-0.3.13:= <dev-rust/futures-io-0.4 >=dev-rust/futures-sink-0.3.13:= <dev-rust/futures-sink-0.4 >=dev-rust/futures-task-0.3.13:= <dev-rust/futures-task-0.4 >=dev-rust/futures-util-0.3.13:= <dev-rust/futures-util-0.4 !~dev-rust/futures-0.3.1 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.3.13/r0
 SRC_URI=https://crates.io/api/v1/crates/futures/0.3.13/download -> futures-0.3.13.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=dcd73095f742686befd154bc3fb1c7bd
diff --git a/metadata/md5-cache/dev-rust/futures-channel-0.3.13 b/metadata/md5-cache/dev-rust/futures-channel-0.3.13
index 52d7c32..29f8510 100644
--- a/metadata/md5-cache/dev-rust/futures-channel-0.3.13
+++ b/metadata/md5-cache/dev-rust/futures-channel-0.3.13
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/futures-core-0.3.13:= <dev-rust/futures-core-0.4 >=dev-rust/futures-sink-0.3.13:= <dev-rust/futures-sink-0.4 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/futures-core-0.3.13:= <dev-rust/futures-core-0.4 >=dev-rust/futures-sink-0.3.13:= <dev-rust/futures-sink-0.4 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Channels for asynchronous communication using futures-rs.
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang-nursery/futures-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/futures-core-0.3.13:= <dev-rust/futures-core-0.4 >=dev-rust/futures-sink-0.3.13:= <dev-rust/futures-sink-0.4 !~dev-rust/futures-channel-0.3.1
+RDEPEND=>=dev-rust/futures-core-0.3.13:= <dev-rust/futures-core-0.4 >=dev-rust/futures-sink-0.3.13:= <dev-rust/futures-sink-0.4 !~dev-rust/futures-channel-0.3.1 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.3.13/r0
 SRC_URI=https://crates.io/api/v1/crates/futures-channel/0.3.13/download -> futures-channel-0.3.13.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=a668ef011bd87cf1ab93ef07d4e88e49
diff --git a/metadata/md5-cache/dev-rust/futures-core-0.3.13 b/metadata/md5-cache/dev-rust/futures-core-0.3.13
index 202d3bd..68de8b1 100644
--- a/metadata/md5-cache/dev-rust/futures-core-0.3.13
+++ b/metadata/md5-cache/dev-rust/futures-core-0.3.13
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=The core traits and types in for the 'futures' library.
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang-nursery/futures-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=!~dev-rust/futures-core-0.3.1
+RDEPEND=!~dev-rust/futures-core-0.3.1 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.13/r0
 SRC_URI=https://crates.io/api/v1/crates/futures-core/0.3.13/download -> futures-core-0.3.13.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=7c5ed1d2cc5f405cf997419382334006
diff --git a/metadata/md5-cache/dev-rust/futures-cpupool-0.1.8 b/metadata/md5-cache/dev-rust/futures-cpupool-0.1.8
deleted file mode 100644
index 02d91cab..0000000
--- a/metadata/md5-cache/dev-rust/futures-cpupool-0.1.8
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/futures-0.1:= >=dev-rust/num_cpus-1.0:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=An implementation of thread pools which hand out futures to the results of the computation on the threads themselves.
-EAPI=6
-HOMEPAGE=https://github.com/rust-lang-nursery/futures-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.8/r0
-SRC_URI=https://crates.io/api/v1/crates/futures-cpupool/0.1.8/download -> futures-cpupool-0.1.8.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=f72779a79e1f38d5cc68176d2cb82539
diff --git a/metadata/md5-cache/dev-rust/futures-cpupool-0.1.8-r1 b/metadata/md5-cache/dev-rust/futures-cpupool-0.1.8-r1
deleted file mode 100644
index 083a0b0..0000000
--- a/metadata/md5-cache/dev-rust/futures-cpupool-0.1.8-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/futures-0.1:= >=dev-rust/num_cpus-1.0:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=An implementation of thread pools which hand out futures to the results of the computation on the threads themselves.
-EAPI=6
-HOMEPAGE=https://github.com/rust-lang-nursery/futures-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.8/r1
-SRC_URI=https://crates.io/api/v1/crates/futures-cpupool/0.1.8/download -> futures-cpupool-0.1.8.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=f72779a79e1f38d5cc68176d2cb82539
diff --git a/metadata/md5-cache/dev-rust/futures-executor-0.3.13 b/metadata/md5-cache/dev-rust/futures-executor-0.3.13
index a8a2e07..6742664 100644
--- a/metadata/md5-cache/dev-rust/futures-executor-0.3.13
+++ b/metadata/md5-cache/dev-rust/futures-executor-0.3.13
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/futures-core-0.3.13:= <dev-rust/futures-core-0.4 >=dev-rust/futures-task-0.3.13:= <dev-rust/futures-task-0.4 >=dev-rust/futures-util-0.3.13:= <dev-rust/futures-util-0.4 >=dev-rust/num_cpus-1.8.0:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/futures-core-0.3.13:= <dev-rust/futures-core-0.4 >=dev-rust/futures-task-0.3.13:= <dev-rust/futures-task-0.4 >=dev-rust/futures-util-0.3.13:= <dev-rust/futures-util-0.4 >=dev-rust/num_cpus-1.8.0:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Executors for asynchronous tasks based on the futures-rs library.
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang-nursery/futures-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/futures-core-0.3.13:= <dev-rust/futures-core-0.4 >=dev-rust/futures-task-0.3.13:= <dev-rust/futures-task-0.4 >=dev-rust/futures-util-0.3.13:= <dev-rust/futures-util-0.4 >=dev-rust/num_cpus-1.8.0:= !~dev-rust/futures-executor-0.3.1
+RDEPEND=>=dev-rust/futures-core-0.3.13:= <dev-rust/futures-core-0.4 >=dev-rust/futures-task-0.3.13:= <dev-rust/futures-task-0.4 >=dev-rust/futures-util-0.3.13:= <dev-rust/futures-util-0.4 >=dev-rust/num_cpus-1.8.0:= !~dev-rust/futures-executor-0.3.1 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.3.13/r0
 SRC_URI=https://crates.io/api/v1/crates/futures-executor/0.3.13/download -> futures-executor-0.3.13.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=4cc545b8350ed37194b8c39a2d4bce18
diff --git a/metadata/md5-cache/dev-rust/futures-io-0.3.13 b/metadata/md5-cache/dev-rust/futures-io-0.3.13
index ad40585..901a950 100644
--- a/metadata/md5-cache/dev-rust/futures-io-0.3.13
+++ b/metadata/md5-cache/dev-rust/futures-io-0.3.13
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=The 'AsyncRead' and 'AsyncWrite' traits for the futures-rs library.
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang-nursery/futures-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=!~dev-rust/futures-io-0.3.1
+RDEPEND=!~dev-rust/futures-io-0.3.1 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.13/r0
 SRC_URI=https://crates.io/api/v1/crates/futures-io/0.3.13/download -> futures-io-0.3.13.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=d81707a0f8a6860eaaf23509791414d7
diff --git a/metadata/md5-cache/dev-rust/futures-macro-0.3.13 b/metadata/md5-cache/dev-rust/futures-macro-0.3.13
index 6179aca..837ff00 100644
--- a/metadata/md5-cache/dev-rust/futures-macro-0.3.13
+++ b/metadata/md5-cache/dev-rust/futures-macro-0.3.13
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-1*:= >=dev-rust/proc-macro-hack-0.5.19:= <dev-rust/proc-macro-hack-0.6 =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/proc-macro2-1*:= >=dev-rust/proc-macro-hack-0.5.19:= <dev-rust/proc-macro-hack-0.6 =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=The futures-rs procedural macro implementations.
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang-nursery/futures-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/proc-macro2-1*:= >=dev-rust/proc-macro-hack-0.5.19:= <dev-rust/proc-macro-hack-0.6 =dev-rust/quote-1*:= =dev-rust/syn-1*:=
+RDEPEND==dev-rust/proc-macro2-1*:= >=dev-rust/proc-macro-hack-0.5.19:= <dev-rust/proc-macro-hack-0.6 =dev-rust/quote-1*:= =dev-rust/syn-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.13/r0
 SRC_URI=https://crates.io/api/v1/crates/futures-macro/0.3.13/download -> futures-macro-0.3.13.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=7b1295b7e318866d5560302c5a933f60
diff --git a/metadata/md5-cache/dev-rust/futures-sink-0.3.13 b/metadata/md5-cache/dev-rust/futures-sink-0.3.13
index 4ce28fe..76f1775 100644
--- a/metadata/md5-cache/dev-rust/futures-sink-0.3.13
+++ b/metadata/md5-cache/dev-rust/futures-sink-0.3.13
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=The asynchronous 'Sink' trait for the futures-rs library.
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang-nursery/futures-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=!~dev-rust/futures-sink-0.3.1
+RDEPEND=!~dev-rust/futures-sink-0.3.1 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.13/r0
 SRC_URI=https://crates.io/api/v1/crates/futures-sink/0.3.13/download -> futures-sink-0.3.13.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f236863e1411c3693d86781882c82d9a
diff --git a/metadata/md5-cache/dev-rust/futures-task-0.3.13 b/metadata/md5-cache/dev-rust/futures-task-0.3.13
index c261226..a9e5b8c 100644
--- a/metadata/md5-cache/dev-rust/futures-task-0.3.13
+++ b/metadata/md5-cache/dev-rust/futures-task-0.3.13
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Tools for working with tasks.
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang-nursery/futures-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=!~dev-rust/futures-task-0.3.1
+RDEPEND=!~dev-rust/futures-task-0.3.1 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.13/r0
 SRC_URI=https://crates.io/api/v1/crates/futures-task/0.3.13/download -> futures-task-0.3.13.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=59399c6a67febb99f2d3f3d8a95a1501
diff --git a/metadata/md5-cache/dev-rust/futures-util-0.3.13 b/metadata/md5-cache/dev-rust/futures-util-0.3.13
index 8a0317d..f561d7a 100644
--- a/metadata/md5-cache/dev-rust/futures-util-0.3.13
+++ b/metadata/md5-cache/dev-rust/futures-util-0.3.13
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/futures-channel-0.3.13:= <dev-rust/futures-channel-0.4 >=dev-rust/futures-core-0.3.13:= <dev-rust/futures-core-0.4 >=dev-rust/futures-io-0.3.13:= <dev-rust/futures-io-0.4 >=dev-rust/futures-macro-0.3.13:= <dev-rust/futures-macro-0.4 >=dev-rust/futures-sink-0.3.13:= <dev-rust/futures-sink-0.4 >=dev-rust/futures-task-0.3.13:= <dev-rust/futures-task-0.4 >=dev-rust/memchr-2.2:= <dev-rust/memchr-3.0 >=dev-rust/pin-utils-0.1.0_alpha4:= <dev-rust/pin-utils-0.2 >=dev-rust/pin-project-lite-0.2.4_alpha4:= <dev-rust/pin-project-lite-0.3 >=dev-rust/proc-macro-hack-0.5.19:= <dev-rust/proc-macro-hack-0.6 >=dev-rust/proc-macro-nested-0.1.2:= <dev-rust/proc-macro-nested-0.2 >=dev-rust/slab-0.4.2:= <dev-rust/slab-1.0 ~dev-rust/tokio-io-0.1.9 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/futures-channel-0.3.13:= <dev-rust/futures-channel-0.4 >=dev-rust/futures-core-0.3.13:= <dev-rust/futures-core-0.4 >=dev-rust/futures-io-0.3.13:= <dev-rust/futures-io-0.4 >=dev-rust/futures-macro-0.3.13:= <dev-rust/futures-macro-0.4 >=dev-rust/futures-sink-0.3.13:= <dev-rust/futures-sink-0.4 >=dev-rust/futures-task-0.3.13:= <dev-rust/futures-task-0.4 >=dev-rust/memchr-2.2:= <dev-rust/memchr-3.0 >=dev-rust/pin-utils-0.1.0_alpha4:= <dev-rust/pin-utils-0.2 >=dev-rust/pin-project-lite-0.2.4_alpha4:= <dev-rust/pin-project-lite-0.3 >=dev-rust/proc-macro-hack-0.5.19:= <dev-rust/proc-macro-hack-0.6 >=dev-rust/proc-macro-nested-0.1.2:= <dev-rust/proc-macro-nested-0.2 >=dev-rust/slab-0.4.2:= <dev-rust/slab-1.0 ~dev-rust/tokio-io-0.1.9 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Common utilities and extension traits for the futures-rs library.
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang-nursery/futures-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/futures-channel-0.3.13:= <dev-rust/futures-channel-0.4 >=dev-rust/futures-core-0.3.13:= <dev-rust/futures-core-0.4 >=dev-rust/futures-io-0.3.13:= <dev-rust/futures-io-0.4 >=dev-rust/futures-macro-0.3.13:= <dev-rust/futures-macro-0.4 >=dev-rust/futures-sink-0.3.13:= <dev-rust/futures-sink-0.4 >=dev-rust/futures-task-0.3.13:= <dev-rust/futures-task-0.4 >=dev-rust/memchr-2.2:= <dev-rust/memchr-3.0 >=dev-rust/pin-utils-0.1.0_alpha4:= <dev-rust/pin-utils-0.2 >=dev-rust/pin-project-lite-0.2.4_alpha4:= <dev-rust/pin-project-lite-0.3 >=dev-rust/proc-macro-hack-0.5.19:= <dev-rust/proc-macro-hack-0.6 >=dev-rust/proc-macro-nested-0.1.2:= <dev-rust/proc-macro-nested-0.2 >=dev-rust/slab-0.4.2:= <dev-rust/slab-1.0 ~dev-rust/tokio-io-0.1.9 !~dev-rust/futures-util-0.3.1
+RDEPEND=>=dev-rust/futures-channel-0.3.13:= <dev-rust/futures-channel-0.4 >=dev-rust/futures-core-0.3.13:= <dev-rust/futures-core-0.4 >=dev-rust/futures-io-0.3.13:= <dev-rust/futures-io-0.4 >=dev-rust/futures-macro-0.3.13:= <dev-rust/futures-macro-0.4 >=dev-rust/futures-sink-0.3.13:= <dev-rust/futures-sink-0.4 >=dev-rust/futures-task-0.3.13:= <dev-rust/futures-task-0.4 >=dev-rust/memchr-2.2:= <dev-rust/memchr-3.0 >=dev-rust/pin-utils-0.1.0_alpha4:= <dev-rust/pin-utils-0.2 >=dev-rust/pin-project-lite-0.2.4_alpha4:= <dev-rust/pin-project-lite-0.3 >=dev-rust/proc-macro-hack-0.5.19:= <dev-rust/proc-macro-hack-0.6 >=dev-rust/proc-macro-nested-0.1.2:= <dev-rust/proc-macro-nested-0.2 >=dev-rust/slab-0.4.2:= <dev-rust/slab-1.0 ~dev-rust/tokio-io-0.1.9 !~dev-rust/futures-util-0.3.1 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.3.13/r0
 SRC_URI=https://crates.io/api/v1/crates/futures-util/0.3.13/download -> futures-util-0.3.13.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=b0ac27104898f751b970c3f977ca3fff
diff --git a/metadata/md5-cache/dev-rust/futures-util-0.3.13-r1 b/metadata/md5-cache/dev-rust/futures-util-0.3.13-r1
index 925a17b..79586e5 100644
--- a/metadata/md5-cache/dev-rust/futures-util-0.3.13-r1
+++ b/metadata/md5-cache/dev-rust/futures-util-0.3.13-r1
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/futures-channel-0.3.13:= <dev-rust/futures-channel-0.4 >=dev-rust/futures-core-0.3.13:= <dev-rust/futures-core-0.4 >=dev-rust/futures-io-0.3.13:= <dev-rust/futures-io-0.4 >=dev-rust/futures-macro-0.3.13:= <dev-rust/futures-macro-0.4 >=dev-rust/futures-sink-0.3.13:= <dev-rust/futures-sink-0.4 >=dev-rust/futures-task-0.3.13:= <dev-rust/futures-task-0.4 >=dev-rust/memchr-2.2:= <dev-rust/memchr-3.0 >=dev-rust/pin-utils-0.1.0_alpha4:= <dev-rust/pin-utils-0.2 >=dev-rust/pin-project-lite-0.2.4_alpha4:= <dev-rust/pin-project-lite-0.3 >=dev-rust/proc-macro-hack-0.5.19:= <dev-rust/proc-macro-hack-0.6 >=dev-rust/proc-macro-nested-0.1.2:= <dev-rust/proc-macro-nested-0.2 >=dev-rust/slab-0.4.2:= <dev-rust/slab-1.0 ~dev-rust/tokio-io-0.1.9 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/futures-channel-0.3.13:= <dev-rust/futures-channel-0.4 >=dev-rust/futures-core-0.3.13:= <dev-rust/futures-core-0.4 >=dev-rust/futures-io-0.3.13:= <dev-rust/futures-io-0.4 >=dev-rust/futures-macro-0.3.13:= <dev-rust/futures-macro-0.4 >=dev-rust/futures-sink-0.3.13:= <dev-rust/futures-sink-0.4 >=dev-rust/futures-task-0.3.13:= <dev-rust/futures-task-0.4 >=dev-rust/memchr-2.2:= <dev-rust/memchr-3.0 >=dev-rust/pin-utils-0.1.0_alpha4:= <dev-rust/pin-utils-0.2 >=dev-rust/pin-project-lite-0.2.4_alpha4:= <dev-rust/pin-project-lite-0.3 >=dev-rust/proc-macro-hack-0.5.19:= <dev-rust/proc-macro-hack-0.6 >=dev-rust/proc-macro-nested-0.1.2:= <dev-rust/proc-macro-nested-0.2 >=dev-rust/slab-0.4.2:= <dev-rust/slab-1.0 ~dev-rust/tokio-io-0.1.9 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Common utilities and extension traits for the futures-rs library.
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang-nursery/futures-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/futures-channel-0.3.13:= <dev-rust/futures-channel-0.4 >=dev-rust/futures-core-0.3.13:= <dev-rust/futures-core-0.4 >=dev-rust/futures-io-0.3.13:= <dev-rust/futures-io-0.4 >=dev-rust/futures-macro-0.3.13:= <dev-rust/futures-macro-0.4 >=dev-rust/futures-sink-0.3.13:= <dev-rust/futures-sink-0.4 >=dev-rust/futures-task-0.3.13:= <dev-rust/futures-task-0.4 >=dev-rust/memchr-2.2:= <dev-rust/memchr-3.0 >=dev-rust/pin-utils-0.1.0_alpha4:= <dev-rust/pin-utils-0.2 >=dev-rust/pin-project-lite-0.2.4_alpha4:= <dev-rust/pin-project-lite-0.3 >=dev-rust/proc-macro-hack-0.5.19:= <dev-rust/proc-macro-hack-0.6 >=dev-rust/proc-macro-nested-0.1.2:= <dev-rust/proc-macro-nested-0.2 >=dev-rust/slab-0.4.2:= <dev-rust/slab-1.0 ~dev-rust/tokio-io-0.1.9 !~dev-rust/futures-util-0.3.1
+RDEPEND=>=dev-rust/futures-channel-0.3.13:= <dev-rust/futures-channel-0.4 >=dev-rust/futures-core-0.3.13:= <dev-rust/futures-core-0.4 >=dev-rust/futures-io-0.3.13:= <dev-rust/futures-io-0.4 >=dev-rust/futures-macro-0.3.13:= <dev-rust/futures-macro-0.4 >=dev-rust/futures-sink-0.3.13:= <dev-rust/futures-sink-0.4 >=dev-rust/futures-task-0.3.13:= <dev-rust/futures-task-0.4 >=dev-rust/memchr-2.2:= <dev-rust/memchr-3.0 >=dev-rust/pin-utils-0.1.0_alpha4:= <dev-rust/pin-utils-0.2 >=dev-rust/pin-project-lite-0.2.4_alpha4:= <dev-rust/pin-project-lite-0.3 >=dev-rust/proc-macro-hack-0.5.19:= <dev-rust/proc-macro-hack-0.6 >=dev-rust/proc-macro-nested-0.1.2:= <dev-rust/proc-macro-nested-0.2 >=dev-rust/slab-0.4.2:= <dev-rust/slab-1.0 ~dev-rust/tokio-io-0.1.9 !~dev-rust/futures-util-0.3.1 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.3.13/r1
 SRC_URI=https://crates.io/api/v1/crates/futures-util/0.3.13/download -> futures-util-0.3.13.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=b0ac27104898f751b970c3f977ca3fff
diff --git a/metadata/md5-cache/dev-rust/gdbstub-0.5.0 b/metadata/md5-cache/dev-rust/gdbstub-0.5.0
deleted file mode 100644
index 2f96d93..0000000
--- a/metadata/md5-cache/dev-rust/gdbstub-0.5.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/cfg-if-0.1.10:= <dev-rust/cfg-if-0.2 =dev-rust/log-0.4*:= =dev-rust/managed-0.8*:= =dev-rust/num-traits-0.2*:= =dev-rust/paste-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=An ergonomic and easy-to-integrate implementation of the GDB Remote Serial Protocol in Rust, with full #![no_std] support.
-EAPI=7
-HOMEPAGE=https://github.com/daniel5151/gdbstub
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.5.0/r0
-SRC_URI=https://crates.io/api/v1/crates/gdbstub/0.5.0/download -> gdbstub-0.5.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=821d1c16fd7a003072201d8a05e83387
diff --git a/metadata/md5-cache/dev-rust/gdbstub-0.6.1 b/metadata/md5-cache/dev-rust/gdbstub-0.6.1
new file mode 100644
index 0000000..84ce7cf
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/gdbstub-0.6.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/bitflags-1.3:= <dev-rust/bitflags-2.0 =dev-rust/cfg-if-1*:= =dev-rust/log-0.4*:= =dev-rust/managed-0.8*:= =dev-rust/num-traits-0.2*:= =dev-rust/paste-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=An ergonomic and easy-to-integrate implementation of the GDB Remote Serial Protocol in Rust, with full #![no_std] support.
+EAPI=7
+HOMEPAGE=https://github.com/daniel5151/gdbstub
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.6.1/r0
+SRC_URI=https://crates.io/api/v1/crates/gdbstub/0.6.1/download -> gdbstub-0.6.1.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8637750d5dbda5e1a1442cb6da48d034
diff --git a/metadata/md5-cache/dev-rust/gdbstub_arch-0.1.1 b/metadata/md5-cache/dev-rust/gdbstub_arch-0.1.1
deleted file mode 100644
index 1a92e74..0000000
--- a/metadata/md5-cache/dev-rust/gdbstub_arch-0.1.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/gdbstub-0.5*:= =dev-rust/num-traits-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Implementations of gdbstub::arch::Arch for various architectures.
-EAPI=7
-HOMEPAGE=https://github.com/daniel5151/gdbstub
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.1/r0
-SRC_URI=https://crates.io/api/v1/crates/gdbstub_arch/0.1.1/download -> gdbstub_arch-0.1.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=05ba0ab31db7fad9928bdf4e991b520c
diff --git a/metadata/md5-cache/dev-rust/gdbstub_arch-0.2.2 b/metadata/md5-cache/dev-rust/gdbstub_arch-0.2.2
new file mode 100644
index 0000000..e137981
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/gdbstub_arch-0.2.2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/gdbstub-0.6*:= =dev-rust/num-traits-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Implementations of gdbstub::arch::Arch for various architectures.
+EAPI=7
+HOMEPAGE=https://github.com/daniel5151/gdbstub
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.2.2/r0
+SRC_URI=https://crates.io/api/v1/crates/gdbstub_arch/0.2.2/download -> gdbstub_arch-0.2.2.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5c9b548166aa35ed836e96c0d42ccde8
diff --git a/metadata/md5-cache/dev-rust/generic-array-0.12.4 b/metadata/md5-cache/dev-rust/generic-array-0.12.4
index eb8a966..6539c8b 100644
--- a/metadata/md5-cache/dev-rust/generic-array-0.12.4
+++ b/metadata/md5-cache/dev-rust/generic-array-0.12.4
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/serde-1*:= >=dev-rust/typenum-1.10.0:= <dev-rust/typenum-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/serde-1*:= >=dev-rust/typenum-1.10.0:= <dev-rust/typenum-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Generic types implementing functionality of arrays
 EAPI=7
 HOMEPAGE=https://crates.io/crates/generic-array
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/serde-1*:= >=dev-rust/typenum-1.10.0:= <dev-rust/typenum-2.0.0
+RDEPEND==dev-rust/serde-1*:= >=dev-rust/typenum-1.10.0:= <dev-rust/typenum-2.0.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.12.4/r0
 SRC_URI=https://crates.io/api/v1/crates/generic-array/0.12.4/download -> generic-array-0.12.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=06bc6903dcc975b5accd10b325c0a861
diff --git a/metadata/md5-cache/dev-rust/generic-array-0.13.3 b/metadata/md5-cache/dev-rust/generic-array-0.13.3
index 5c9ad33..f7d4c3b 100644
--- a/metadata/md5-cache/dev-rust/generic-array-0.13.3
+++ b/metadata/md5-cache/dev-rust/generic-array-0.13.3
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/serde-1*:= >=dev-rust/typenum-1.10.0:= <dev-rust/typenum-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/serde-1*:= >=dev-rust/typenum-1.10.0:= <dev-rust/typenum-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Generic types implementing functionality of arrays
 EAPI=7
 HOMEPAGE=https://crates.io/crates/generic-array
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/serde-1*:= >=dev-rust/typenum-1.10.0:= <dev-rust/typenum-2.0.0
+RDEPEND==dev-rust/serde-1*:= >=dev-rust/typenum-1.10.0:= <dev-rust/typenum-2.0.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.13.3/r0
 SRC_URI=https://crates.io/api/v1/crates/generic-array/0.13.3/download -> generic-array-0.13.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=06bc6903dcc975b5accd10b325c0a861
diff --git a/metadata/md5-cache/dev-rust/generic-array-0.14.4 b/metadata/md5-cache/dev-rust/generic-array-0.14.4
index c83ef21..04a0625 100644
--- a/metadata/md5-cache/dev-rust/generic-array-0.14.4
+++ b/metadata/md5-cache/dev-rust/generic-array-0.14.4
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/serde-1*:= >=dev-rust/typenum-1.12.0:= <dev-rust/typenum-2.0.0 =dev-rust/version_check-0.9*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/serde-1*:= >=dev-rust/typenum-1.12.0:= <dev-rust/typenum-2.0.0 =dev-rust/version_check-0.9*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Generic types implementing functionality of arrays
 EAPI=7
 HOMEPAGE=https://crates.io/crates/generic-array
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/serde-1*:= >=dev-rust/typenum-1.12.0:= <dev-rust/typenum-2.0.0 =dev-rust/version_check-0.9*:=
+RDEPEND==dev-rust/serde-1*:= >=dev-rust/typenum-1.12.0:= <dev-rust/typenum-2.0.0 =dev-rust/version_check-0.9*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.14.4/r0
 SRC_URI=https://crates.io/api/v1/crates/generic-array/0.14.4/download -> generic-array-0.14.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=528cc3fbe053cd4043e7fb211eb6bc94
diff --git a/metadata/md5-cache/dev-rust/getopts-0.2.18 b/metadata/md5-cache/dev-rust/getopts-0.2.18
index bd4256b..3bdf4f1 100644
--- a/metadata/md5-cache/dev-rust/getopts-0.2.18
+++ b/metadata/md5-cache/dev-rust/getopts-0.2.18
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-rust/log:= dev-rust/unicode-width:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=dev-rust/log:= dev-rust/unicode-width:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=getopts-like option parsing
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/rust-lang/getopts
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.18/r0
 SRC_URI=https://crates.io/api/v1/crates/getopts/0.2.18/download -> getopts-0.2.18.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=6ef2288f6f732bb35a22a8e8447e333d
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7cc97f4509ac205ed45419f535370d46
diff --git a/metadata/md5-cache/dev-rust/getopts-0.2.21 b/metadata/md5-cache/dev-rust/getopts-0.2.21
index 4df641e..45682ea 100644
--- a/metadata/md5-cache/dev-rust/getopts-0.2.21
+++ b/metadata/md5-cache/dev-rust/getopts-0.2.21
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/rustc-std-workspace-core-1*:= =dev-rust/rustc-std-workspace-std-1*:= >=dev-rust/unicode-width-0.1.5:= <dev-rust/unicode-width-0.2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/rustc-std-workspace-core-1*:= =dev-rust/rustc-std-workspace-std-1*:= >=dev-rust/unicode-width-0.1.5:= <dev-rust/unicode-width-0.2.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=getopts-like option parsing.
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang/getopts
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/rustc-std-workspace-core-1*:= =dev-rust/rustc-std-workspace-std-1*:= >=dev-rust/unicode-width-0.1.5:= <dev-rust/unicode-width-0.2.0
+RDEPEND==dev-rust/rustc-std-workspace-core-1*:= =dev-rust/rustc-std-workspace-std-1*:= >=dev-rust/unicode-width-0.1.5:= <dev-rust/unicode-width-0.2.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.2.21/r0
 SRC_URI=https://crates.io/api/v1/crates/getopts/0.2.21/download -> getopts-0.2.21.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=cec59344a0e5f364dba3bd2c060bb94f
diff --git a/metadata/md5-cache/dev-rust/getrandom-0.1.15 b/metadata/md5-cache/dev-rust/getrandom-0.1.15
index ced3747..833537d 100644
--- a/metadata/md5-cache/dev-rust/getrandom-0.1.15
+++ b/metadata/md5-cache/dev-rust/getrandom-0.1.15
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/cfg-if-0.1.2:= <dev-rust/cfg-if-0.2.0 >=dev-rust/libc-0.2.64:= <dev-rust/libc-0.3.0 =dev-rust/rustc-std-workspace-core-1*:= >=dev-rust/stdweb-0.4.18:= <dev-rust/stdweb-0.5.0 >=dev-rust/wasi-0.9.0:= <dev-rust/wasi-0.10.0 >=dev-rust/wasm-bindgen-0.2.62:= <dev-rust/wasm-bindgen-0.3.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/cfg-if-0.1.2:= <dev-rust/cfg-if-0.2.0 >=dev-rust/libc-0.2.64:= <dev-rust/libc-0.3.0 =dev-rust/rustc-std-workspace-core-1*:= >=dev-rust/stdweb-0.4.18:= <dev-rust/stdweb-0.5.0 >=dev-rust/wasi-0.9.0:= <dev-rust/wasi-0.10.0 >=dev-rust/wasm-bindgen-0.2.62:= <dev-rust/wasm-bindgen-0.3.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A Rust library for retrieving random data from (operating) system source
 EAPI=7
 HOMEPAGE=https://github.com/rust-random/getrandom
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.1.15/r0
 SRC_URI=https://crates.io/api/v1/crates/getrandom/0.1.15/download -> getrandom-0.1.15.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=a81e0ba65b66b2f915da717ce71d3d88
diff --git a/metadata/md5-cache/dev-rust/getrandom-0.2.0 b/metadata/md5-cache/dev-rust/getrandom-0.2.0
index 19c732d..9fbec5d 100644
--- a/metadata/md5-cache/dev-rust/getrandom-0.2.0
+++ b/metadata/md5-cache/dev-rust/getrandom-0.2.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/cfg-if-0.1.2:= <dev-rust/cfg-if-0.2.0 >=dev-rust/libc-0.2.64:= <dev-rust/libc-0.3.0 >=dev-rust/wasi-0.9.0:= <dev-rust/wasi-0.10.0 >=dev-rust/compiler_builtins-0.1.0:= <dev-rust/compiler_builtins-0.2.0 =dev-rust/rustc-std-workspace-core-1*:= >=dev-rust/stdweb-0.4.18:= <dev-rust/stdweb-0.5.0 >=dev-rust/wasm-bindgen-0.2.62:= <dev-rust/wasm-bindgen-0.3.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/cfg-if-0.1.2:= <dev-rust/cfg-if-0.2.0 >=dev-rust/libc-0.2.64:= <dev-rust/libc-0.3.0 >=dev-rust/wasi-0.9.0:= <dev-rust/wasi-0.10.0 >=dev-rust/compiler_builtins-0.1.0:= <dev-rust/compiler_builtins-0.2.0 =dev-rust/rustc-std-workspace-core-1*:= >=dev-rust/stdweb-0.4.18:= <dev-rust/stdweb-0.5.0 >=dev-rust/wasm-bindgen-0.2.62:= <dev-rust/wasm-bindgen-0.3.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A Rust library for retrieving random data from (operating) system source
 EAPI=7
 HOMEPAGE=https://github.com/rust-random/getrandom
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/cfg-if-0.1.2:= <dev-rust/cfg-if-0.2.0 >=dev-rust/libc-0.2.64:= <dev-rust/libc-0.3.0 >=dev-rust/wasi-0.9.0:= <dev-rust/wasi-0.10.0 >=dev-rust/compiler_builtins-0.1.0:= <dev-rust/compiler_builtins-0.2.0 =dev-rust/rustc-std-workspace-core-1*:= >=dev-rust/stdweb-0.4.18:= <dev-rust/stdweb-0.5.0 >=dev-rust/wasm-bindgen-0.2.62:= <dev-rust/wasm-bindgen-0.3.0
+RDEPEND=>=dev-rust/cfg-if-0.1.2:= <dev-rust/cfg-if-0.2.0 >=dev-rust/libc-0.2.64:= <dev-rust/libc-0.3.0 >=dev-rust/wasi-0.9.0:= <dev-rust/wasi-0.10.0 >=dev-rust/compiler_builtins-0.1.0:= <dev-rust/compiler_builtins-0.2.0 =dev-rust/rustc-std-workspace-core-1*:= >=dev-rust/stdweb-0.4.18:= <dev-rust/stdweb-0.5.0 >=dev-rust/wasm-bindgen-0.2.62:= <dev-rust/wasm-bindgen-0.3.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.0/r0
 SRC_URI=https://crates.io/api/v1/crates/getrandom/0.2.0/download -> getrandom-0.2.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=4eb86866547123a6e50d8fc4152456bf
diff --git a/metadata/md5-cache/dev-rust/getrandom-0.2.0-r1 b/metadata/md5-cache/dev-rust/getrandom-0.2.0-r1
index a437d09..1445861 100644
--- a/metadata/md5-cache/dev-rust/getrandom-0.2.0-r1
+++ b/metadata/md5-cache/dev-rust/getrandom-0.2.0-r1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/cfg-if-0.1.2:= <dev-rust/cfg-if-0.2.0 >=dev-rust/libc-0.2.64:= <dev-rust/libc-0.3.0 >=dev-rust/wasi-0.9.0:= <dev-rust/wasi-0.10.0 >=dev-rust/compiler_builtins-0.1.0:= <dev-rust/compiler_builtins-0.2.0 =dev-rust/rustc-std-workspace-core-1*:= >=dev-rust/stdweb-0.4.18:= <dev-rust/stdweb-0.5.0 >=dev-rust/wasm-bindgen-0.2.62:= <dev-rust/wasm-bindgen-0.3.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/cfg-if-0.1.2:= <dev-rust/cfg-if-0.2.0 >=dev-rust/libc-0.2.64:= <dev-rust/libc-0.3.0 >=dev-rust/wasi-0.9.0:= <dev-rust/wasi-0.10.0 >=dev-rust/compiler_builtins-0.1.0:= <dev-rust/compiler_builtins-0.2.0 =dev-rust/rustc-std-workspace-core-1*:= >=dev-rust/stdweb-0.4.18:= <dev-rust/stdweb-0.5.0 >=dev-rust/wasm-bindgen-0.2.62:= <dev-rust/wasm-bindgen-0.3.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A Rust library for retrieving random data from (operating) system source
 EAPI=7
 HOMEPAGE=https://github.com/rust-random/getrandom
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/cfg-if-0.1.2:= <dev-rust/cfg-if-0.2.0 >=dev-rust/libc-0.2.64:= <dev-rust/libc-0.3.0 >=dev-rust/wasi-0.9.0:= <dev-rust/wasi-0.10.0 >=dev-rust/compiler_builtins-0.1.0:= <dev-rust/compiler_builtins-0.2.0 =dev-rust/rustc-std-workspace-core-1*:= >=dev-rust/stdweb-0.4.18:= <dev-rust/stdweb-0.5.0 >=dev-rust/wasm-bindgen-0.2.62:= <dev-rust/wasm-bindgen-0.3.0
+RDEPEND=>=dev-rust/cfg-if-0.1.2:= <dev-rust/cfg-if-0.2.0 >=dev-rust/libc-0.2.64:= <dev-rust/libc-0.3.0 >=dev-rust/wasi-0.9.0:= <dev-rust/wasi-0.10.0 >=dev-rust/compiler_builtins-0.1.0:= <dev-rust/compiler_builtins-0.2.0 =dev-rust/rustc-std-workspace-core-1*:= >=dev-rust/stdweb-0.4.18:= <dev-rust/stdweb-0.5.0 >=dev-rust/wasm-bindgen-0.2.62:= <dev-rust/wasm-bindgen-0.3.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.0/r1
 SRC_URI=https://crates.io/api/v1/crates/getrandom/0.2.0/download -> getrandom-0.2.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=4eb86866547123a6e50d8fc4152456bf
diff --git a/metadata/md5-cache/dev-rust/getrandom-0.2.6 b/metadata/md5-cache/dev-rust/getrandom-0.2.6
new file mode 100644
index 0000000..bbfe830
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/getrandom-0.2.6
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/cfg-if-1*:= =dev-rust/compiler_builtins-0.1*:= =dev-rust/rustc-std-workspace-core-1*:= >=dev-rust/libc-0.2.120 <dev-rust/libc-0.3.0_alpha:= >=dev-rust/wasi-0.10.0:= >=dev-rust/wasm-bindgen-0.2.62:= <dev-rust/wasm-bindgen-0.3.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A small cross-platform library for retrieving random data from system source
+EAPI=7
+HOMEPAGE=https://crates.io/crates/getrandom
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/cfg-if-1*:= =dev-rust/compiler_builtins-0.1*:= =dev-rust/rustc-std-workspace-core-1*:= >=dev-rust/libc-0.2.120 <dev-rust/libc-0.3.0_alpha:= >=dev-rust/wasi-0.10.0:= >=dev-rust/wasm-bindgen-0.2.62:= <dev-rust/wasm-bindgen-0.3.0 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.2.6/r0
+SRC_URI=https://crates.io/api/v1/crates/getrandom/0.2.6/download -> getrandom-0.2.6.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7a060dd3e054e9b18053ae8a5e705e9c
diff --git a/metadata/md5-cache/dev-rust/gif-0.11.1 b/metadata/md5-cache/dev-rust/gif-0.11.1
index 8b0f4d0..6b68a62 100644
--- a/metadata/md5-cache/dev-rust/gif-0.11.1
+++ b/metadata/md5-cache/dev-rust/gif-0.11.1
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.11.1/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/gimli-0.26.1 b/metadata/md5-cache/dev-rust/gimli-0.26.1
index 715b14a..08634b2 100644
--- a/metadata/md5-cache/dev-rust/gimli-0.26.1
+++ b/metadata/md5-cache/dev-rust/gimli-0.26.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/rustc-std-workspace-alloc-1*:= >=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= =dev-rust/fallible-iterator-0.2*:= >=dev-rust/indexmap-1.0.2 <dev-rust/indexmap-2.0.0_alpha:= >=dev-rust/stable_deref_trait-1.1.0 <dev-rust/stable_deref_trait-2.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/rustc-std-workspace-alloc-1*:= >=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= =dev-rust/fallible-iterator-0.2*:= >=dev-rust/indexmap-1.0.2 <dev-rust/indexmap-2.0.0_alpha:= >=dev-rust/stable_deref_trait-1.1.0 <dev-rust/stable_deref_trait-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A library for reading and writing the DWARF debugging format.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/gimli
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
-RDEPEND==dev-rust/rustc-std-workspace-alloc-1*:= >=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= =dev-rust/fallible-iterator-0.2*:= >=dev-rust/indexmap-1.0.2 <dev-rust/indexmap-2.0.0_alpha:= >=dev-rust/stable_deref_trait-1.1.0 <dev-rust/stable_deref_trait-2.0.0_alpha:=
+RDEPEND==dev-rust/rustc-std-workspace-alloc-1*:= >=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= =dev-rust/fallible-iterator-0.2*:= >=dev-rust/indexmap-1.0.2 <dev-rust/indexmap-2.0.0_alpha:= >=dev-rust/stable_deref_trait-1.1.0 <dev-rust/stable_deref_trait-2.0.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.26.1/r0
 SRC_URI=https://crates.io/api/v1/crates/gimli/0.26.1/download -> gimli-0.26.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=452ea18fab407599aaf137ff3502786d
diff --git a/metadata/md5-cache/dev-rust/git-version-0.3.5 b/metadata/md5-cache/dev-rust/git-version-0.3.5
index 7f57092..3a2aad8 100644
--- a/metadata/md5-cache/dev-rust/git-version-0.3.5
+++ b/metadata/md5-cache/dev-rust/git-version-0.3.5
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=~dev-rust/git-version-macro-0.3.5:= =dev-rust/proc-macro-hack-0.5*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=~dev-rust/git-version-macro-0.3.5:= =dev-rust/proc-macro-hack-0.5*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Compile the git version (tag name, or hash otherwise) and dirty state into your program.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/git-version
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=BSD-2
-RDEPEND=~dev-rust/git-version-macro-0.3.5:= =dev-rust/proc-macro-hack-0.5*:=
+RDEPEND=~dev-rust/git-version-macro-0.3.5:= =dev-rust/proc-macro-hack-0.5*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.3.5/r0
 SRC_URI=https://crates.io/api/v1/crates/git-version/0.3.5/download -> git-version-0.3.5.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=787dd08579c34faf56eefd42b5c081bc
diff --git a/metadata/md5-cache/dev-rust/git-version-macro-0.3.5 b/metadata/md5-cache/dev-rust/git-version-macro-0.3.5
index 75921b2..9771fc4 100644
--- a/metadata/md5-cache/dev-rust/git-version-macro-0.3.5
+++ b/metadata/md5-cache/dev-rust/git-version-macro-0.3.5
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro-hack-0.5*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/proc-macro-hack-0.5*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Internal macro crate for git-version.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/git-version-macro
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=BSD-2
-RDEPEND==dev-rust/proc-macro-hack-0.5*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:=
+RDEPEND==dev-rust/proc-macro-hack-0.5*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.3.5/r0
 SRC_URI=https://crates.io/api/v1/crates/git-version-macro/0.3.5/download -> git-version-macro-0.3.5.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=173d12c9ef59a1062b7cf97b75367445
diff --git a/metadata/md5-cache/dev-rust/git2-0.13.0 b/metadata/md5-cache/dev-rust/git2-0.13.0
new file mode 100644
index 0000000..2693c3a
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/git2-0.13.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.13.0/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dcd7e86695f5a9ea614dc8b5a7b64d6d
diff --git a/metadata/md5-cache/dev-rust/git2-0.9.1 b/metadata/md5-cache/dev-rust/git2-0.9.1
deleted file mode 100644
index b065aed..0000000
--- a/metadata/md5-cache/dev-rust/git2-0.9.1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bitflags-1.0:= >=dev-rust/libc-0.2:= >=dev-rust/libgit2-sys-0.8.0:= =dev-rust/log-0.4*:= =dev-rust/url-1*:= >=dev-rust/openssl-probe-0.1.2:= >=dev-rust/openssl-sys-0.9.47:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=libgit2 bindings for Rust
-EAPI=6
-HOMEPAGE=https://github.com/rust-lang/git2-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-RESTRICT=test
-SLOT=0.9.1/r0
-SRC_URI=https://crates.io/api/v1/crates/git2/0.9.1/download -> git2-0.9.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=2c09f9d6426132fcdae8780afa879b98
diff --git a/metadata/md5-cache/dev-rust/glob-0.3.0 b/metadata/md5-cache/dev-rust/glob-0.3.0
index eba99a5..727b74c 100644
--- a/metadata/md5-cache/dev-rust/glob-0.3.0
+++ b/metadata/md5-cache/dev-rust/glob-0.3.0
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/nom-5*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/nom-5*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Support for matching file paths against Unix shell style patterns.
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang/glob
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.3.0/r0
 SRC_URI=https://crates.io/api/v1/crates/glob/0.3.0/download -> glob-0.3.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=55b03b19cc140534246c596cb24d28de
diff --git a/metadata/md5-cache/dev-rust/gpio-cdev-0.5.1 b/metadata/md5-cache/dev-rust/gpio-cdev-0.5.1
index 9b634e2..379ab16 100644
--- a/metadata/md5-cache/dev-rust/gpio-cdev-0.5.1
+++ b/metadata/md5-cache/dev-rust/gpio-cdev-0.5.1
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bitflags-1.3.0 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/futures-0.3*:= =dev-rust/libc-0.2*:= =dev-rust/nix-0.23*:= =dev-rust/tokio-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/bitflags-1.3.0 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/futures-0.3*:= =dev-rust/libc-0.2*:= =dev-rust/nix-0.23*:= =dev-rust/tokio-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Linux GPIO Character Device Support (/dev/gpiochipN)
 EAPI=7
 HOMEPAGE=https://github.com/rust-embedded/gpio-cdev
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/bitflags-1.3.0 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/futures-0.3*:= =dev-rust/libc-0.2*:= =dev-rust/nix-0.23*:= =dev-rust/tokio-1*:=
+RDEPEND=>=dev-rust/bitflags-1.3.0 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/futures-0.3*:= =dev-rust/libc-0.2*:= =dev-rust/nix-0.23*:= =dev-rust/tokio-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.5.1/r0
 SRC_URI=https://crates.io/api/v1/crates/gpio-cdev/0.5.1/download -> gpio-cdev-0.5.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=4075568abcd1ddcac2a6728f13d1bba7
diff --git a/metadata/md5-cache/dev-rust/gumdrop-0.8.0 b/metadata/md5-cache/dev-rust/gumdrop-0.8.0
new file mode 100644
index 0000000..d49a841
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/gumdrop-0.8.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.8.0/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dcd7e86695f5a9ea614dc8b5a7b64d6d
diff --git a/metadata/md5-cache/dev-rust/gzip-header-0.3.0 b/metadata/md5-cache/dev-rust/gzip-header-0.3.0
index 447e9e8..23b5477 100644
--- a/metadata/md5-cache/dev-rust/gzip-header-0.3.0
+++ b/metadata/md5-cache/dev-rust/gzip-header-0.3.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/h2-0.1.26 b/metadata/md5-cache/dev-rust/h2-0.1.26
deleted file mode 100644
index 4635630..0000000
--- a/metadata/md5-cache/dev-rust/h2-0.1.26
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/byteorder-1.0:= >=dev-rust/bytes-0.4.7:= >=dev-rust/fnv-1.0.5:= >=dev-rust/futures-0.1:= >=dev-rust/http-0.1.8:= >=dev-rust/indexmap-1.0:= >=dev-rust/log-0.4.1:= >=dev-rust/slab-0.4.0:= >=dev-rust/string-0.2:= >=dev-rust/tokio-io-0.1.4:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A Tokio aware, HTTP/2.0 client & server implementation for Rust.
-EAPI=6
-HOMEPAGE=https://github.com/hyperium/h2
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.26/r0
-SRC_URI=https://crates.io/api/v1/crates/h2/0.1.26/download -> h2-0.1.26.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=57b3cdb703c724859126c4b1c5f235b6
diff --git a/metadata/md5-cache/dev-rust/hash32-0.1.1 b/metadata/md5-cache/dev-rust/hash32-0.1.1
index e38e2e4..b256101 100644
--- a/metadata/md5-cache/dev-rust/hash32-0.1.1
+++ b/metadata/md5-cache/dev-rust/hash32-0.1.1
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/byteorder-1.2.2:= <dev-rust/byteorder-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/byteorder-1.2.2:= <dev-rust/byteorder-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=32-bit hashing machinery
 EAPI=7
 HOMEPAGE=https://crates.io/crates/hash32
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/byteorder-1.2.2:= <dev-rust/byteorder-2.0.0
+RDEPEND=>=dev-rust/byteorder-1.2.2:= <dev-rust/byteorder-2.0.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.1.1/r0
 SRC_URI=https://crates.io/api/v1/crates/hash32/0.1.1/download -> hash32-0.1.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=889d9a97899da5583f3b50cc058c813e
diff --git a/metadata/md5-cache/dev-rust/hash32-0.2.1 b/metadata/md5-cache/dev-rust/hash32-0.2.1
new file mode 100644
index 0000000..cfcc9335
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/hash32-0.2.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/byteorder-1.2.2 <dev-rust/byteorder-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=32-bit hashing machinery
+EAPI=7
+HOMEPAGE=https://crates.io/crates/hash32
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/byteorder-1.2.2 <dev-rust/byteorder-2.0.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.2.1/r0
+SRC_URI=https://crates.io/api/v1/crates/hash32/0.2.1/download -> hash32-0.2.1.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b337c186d493fc002e934b5dc8f504e7
diff --git a/metadata/md5-cache/dev-rust/hashbrown-0.11.2 b/metadata/md5-cache/dev-rust/hashbrown-0.11.2
index dfb14de..39cff1f 100644
--- a/metadata/md5-cache/dev-rust/hashbrown-0.11.2
+++ b/metadata/md5-cache/dev-rust/hashbrown-0.11.2
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/ahash-0.7*:= =dev-rust/rustc-std-workspace-alloc-1*:= >=dev-rust/bumpalo-3.5.0:= <dev-rust/bumpalo-4.0.0 >=dev-rust/compiler_builtins-0.1.2:= <dev-rust/compiler_builtins-0.2.0 =dev-rust/rustc-std-workspace-core-1*:= =dev-rust/rayon-1*:= >=dev-rust/serde-1.0.25:= <dev-rust/serde-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/ahash-0.7.0:= =dev-rust/rustc-std-workspace-alloc-1*:= >=dev-rust/bumpalo-3.5.0:= <dev-rust/bumpalo-4.0.0 >=dev-rust/compiler_builtins-0.1.2:= <dev-rust/compiler_builtins-0.2.0 =dev-rust/rustc-std-workspace-core-1*:= =dev-rust/rayon-1*:= >=dev-rust/serde-1.0.25:= <dev-rust/serde-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A Rust port of Google"s SwissTable hash map
 EAPI=7
 HOMEPAGE=https://crates.io/crates/hashbrown
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
-RDEPEND==dev-rust/ahash-0.7*:= =dev-rust/rustc-std-workspace-alloc-1*:= >=dev-rust/bumpalo-3.5.0:= <dev-rust/bumpalo-4.0.0 >=dev-rust/compiler_builtins-0.1.2:= <dev-rust/compiler_builtins-0.2.0 =dev-rust/rustc-std-workspace-core-1*:= =dev-rust/rayon-1*:= >=dev-rust/serde-1.0.25:= <dev-rust/serde-2.0.0
+RDEPEND==dev-rust/ahash-0.7.0:= =dev-rust/rustc-std-workspace-alloc-1*:= >=dev-rust/bumpalo-3.5.0:= <dev-rust/bumpalo-4.0.0 >=dev-rust/compiler_builtins-0.1.2:= <dev-rust/compiler_builtins-0.2.0 =dev-rust/rustc-std-workspace-core-1*:= =dev-rust/rayon-1*:= >=dev-rust/serde-1.0.25:= <dev-rust/serde-2.0.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.11.2/r0
 SRC_URI=https://crates.io/api/v1/crates/hashbrown/0.11.2/download -> hashbrown-0.11.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e85d4a9692bcb0113dd8deb880197f6f
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1c51df3affa208f367dddfeef4fd9f6c
diff --git a/metadata/md5-cache/dev-rust/hashbrown-0.11.2-r1 b/metadata/md5-cache/dev-rust/hashbrown-0.11.2-r1
new file mode 100644
index 0000000..6b28cbb
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/hashbrown-0.11.2-r1
@@ -0,0 +1,15 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/ahash-0.7.0:= =dev-rust/rustc-std-workspace-alloc-1*:= >=dev-rust/bumpalo-3.5.0:= <dev-rust/bumpalo-4.0.0 >=dev-rust/compiler_builtins-0.1.2:= <dev-rust/compiler_builtins-0.2.0 =dev-rust/rustc-std-workspace-core-1*:= =dev-rust/rayon-1*:= >=dev-rust/serde-1.0.25:= <dev-rust/serde-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A Rust port of Google"s SwissTable hash map
+EAPI=7
+HOMEPAGE=https://crates.io/crates/hashbrown
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( Apache-2.0 MIT )
+RDEPEND==dev-rust/ahash-0.7.0:= =dev-rust/rustc-std-workspace-alloc-1*:= >=dev-rust/bumpalo-3.5.0:= <dev-rust/bumpalo-4.0.0 >=dev-rust/compiler_builtins-0.1.2:= <dev-rust/compiler_builtins-0.2.0 =dev-rust/rustc-std-workspace-core-1*:= =dev-rust/rayon-1*:= >=dev-rust/serde-1.0.25:= <dev-rust/serde-2.0.0 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+RESTRICT=test
+SLOT=0.11.2/r1
+SRC_URI=https://crates.io/api/v1/crates/hashbrown/0.11.2/download -> hashbrown-0.11.2.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1c51df3affa208f367dddfeef4fd9f6c
diff --git a/metadata/md5-cache/dev-rust/heapless-0.6.1 b/metadata/md5-cache/dev-rust/heapless-0.6.1
index 8c68d6c..cd50a58 100644
--- a/metadata/md5-cache/dev-rust/heapless-0.6.1
+++ b/metadata/md5-cache/dev-rust/heapless-0.6.1
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/as-slice-0.1.5:= <dev-rust/as-slice-0.2.0 >=dev-rust/generic-array-0.14.4:= <dev-rust/generic-array-0.15.0 =dev-rust/hash32-0.1*:= =dev-rust/stable_deref_trait-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/as-slice-0.1.5:= <dev-rust/as-slice-0.2.0 >=dev-rust/generic-array-0.14.4:= <dev-rust/generic-array-0.15.0 =dev-rust/hash32-0.1*:= =dev-rust/stable_deref_trait-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION="static" friendly data structures that don"t require dynamic memory allocation
 EAPI=7
 HOMEPAGE=https://crates.io/crates/heapless
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/as-slice-0.1.5:= <dev-rust/as-slice-0.2.0 >=dev-rust/generic-array-0.14.4:= <dev-rust/generic-array-0.15.0 =dev-rust/hash32-0.1*:= =dev-rust/stable_deref_trait-1*:=
+RDEPEND=>=dev-rust/as-slice-0.1.5:= <dev-rust/as-slice-0.2.0 >=dev-rust/generic-array-0.14.4:= <dev-rust/generic-array-0.15.0 =dev-rust/hash32-0.1*:= =dev-rust/stable_deref_trait-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.6.1/r0
 SRC_URI=https://crates.io/api/v1/crates/heapless/0.6.1/download -> heapless-0.6.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=800c89417151d00d37068130815e7bd8
diff --git a/metadata/md5-cache/dev-rust/heapless-0.7.15 b/metadata/md5-cache/dev-rust/heapless-0.7.15
new file mode 100644
index 0000000..320af49
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/heapless-0.7.15
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/defmt-0.2.0 <dev-rust/defmt-0.4.0_alpha:= >=dev-rust/hash32-0.2.1 <dev-rust/hash32-0.3.0_alpha:= >=dev-rust/atomic-polyfill-0.1.8 <dev-rust/atomic-polyfill-0.2.0:= >=dev-rust/spin-0.9.2 <dev-rust/spin-0.10.0:= =dev-rust/serde-1*:= =dev-rust/stable_deref_trait-1*:= =dev-rust/ufmt-write-0.1*:= =dev-rust/rustc_version-0.4*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION="static" friendly data structures that don't require dynamic memory allocation
+EAPI=7
+HOMEPAGE=https://crates.io/crates/heapless
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/defmt-0.2.0 <dev-rust/defmt-0.4.0_alpha:= >=dev-rust/hash32-0.2.1 <dev-rust/hash32-0.3.0_alpha:= >=dev-rust/atomic-polyfill-0.1.8 <dev-rust/atomic-polyfill-0.2.0:= >=dev-rust/spin-0.9.2 <dev-rust/spin-0.10.0:= =dev-rust/serde-1*:= =dev-rust/stable_deref_trait-1*:= =dev-rust/ufmt-write-0.1*:= =dev-rust/rustc_version-0.4*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.7.15/r0
+SRC_URI=https://crates.io/api/v1/crates/heapless/0.7.15/download -> heapless-0.7.15.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a18b5734c424639a4c16d2131a20c831
diff --git a/metadata/md5-cache/dev-rust/heapsize-0.4.2 b/metadata/md5-cache/dev-rust/heapsize-0.4.2
index b8cad72..3ebe553 100644
--- a/metadata/md5-cache/dev-rust/heapsize-0.4.2
+++ b/metadata/md5-cache/dev-rust/heapsize-0.4.2
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty heapsize crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.4.2/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/heck-0.3.3 b/metadata/md5-cache/dev-rust/heck-0.3.3
index 5a04b42c..b271d23 100644
--- a/metadata/md5-cache/dev-rust/heck-0.3.3
+++ b/metadata/md5-cache/dev-rust/heck-0.3.3
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/unicode-segmentation-1.2.0:= <dev-rust/unicode-segmentation-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/unicode-segmentation-1.2.0:= <dev-rust/unicode-segmentation-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=heck is a case conversion library.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/heck
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/unicode-segmentation-1.2.0:= <dev-rust/unicode-segmentation-2.0.0
+RDEPEND=>=dev-rust/unicode-segmentation-1.2.0:= <dev-rust/unicode-segmentation-2.0.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.3/r0
 SRC_URI=https://crates.io/api/v1/crates/heck/0.3.3/download -> heck-0.3.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=1ff31217391f7aaa5157531f6165651b
diff --git a/metadata/md5-cache/dev-rust/heck-0.4.0 b/metadata/md5-cache/dev-rust/heck-0.4.0
new file mode 100644
index 0000000..ad16ecf
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/heck-0.4.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/unicode-segmentation-1.2.0 <dev-rust/unicode-segmentation-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=heck is a case conversion library.
+EAPI=7
+HOMEPAGE=https://github.com/withoutboats/heck
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/unicode-segmentation-1.2.0 <dev-rust/unicode-segmentation-2.0.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.4.0/r0
+SRC_URI=https://crates.io/api/v1/crates/heck/0.4.0/download -> heck-0.4.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1dbef676c96fd026f3852e4104b0e769
diff --git a/metadata/md5-cache/dev-rust/hermit-abi-0.1.3 b/metadata/md5-cache/dev-rust/hermit-abi-0.1.3
index 77207e8..d397b27 100644
--- a/metadata/md5-cache/dev-rust/hermit-abi-0.1.3
+++ b/metadata/md5-cache/dev-rust/hermit-abi-0.1.3
@@ -1,12 +1,13 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty hermit-abi crate
 EAPI=7
 HOMEPAGE=https://github.com/hermitcore/libhermit-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.3/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=8c1477352f7e65ce0b82467f45f52b89
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=39390f9774bd5669708630953868b9b8
diff --git a/metadata/md5-cache/dev-rust/hmac-sha256-0.1.7 b/metadata/md5-cache/dev-rust/hmac-sha256-0.1.7
index ac2b661..12d13f7 100644
--- a/metadata/md5-cache/dev-rust/hmac-sha256-0.1.7
+++ b/metadata/md5-cache/dev-rust/hmac-sha256-0.1.7
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/digest-0.9*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/digest-0.9*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A small, self-contained SHA256 and HMAC-SHA256 implementation
 EAPI=7
 HOMEPAGE=https://crates.io/crates/hmac-sha256
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=ISC
-RDEPEND==dev-rust/digest-0.9*:=
+RDEPEND==dev-rust/digest-0.9*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.7/r0
 SRC_URI=https://crates.io/api/v1/crates/hmac-sha256/0.1.7/download -> hmac-sha256-0.1.7.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=b5224da6414ee566471f3d5b32c35ebb
diff --git a/metadata/md5-cache/dev-rust/hostname-0.3.1 b/metadata/md5-cache/dev-rust/hostname-0.3.1
new file mode 100644
index 0000000..79514bb
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/hostname-0.3.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/match_cfg-0.1*:= =dev-rust/libc-0.2*:= =dev-rust/winapi-0.3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Cross-platform system"s host name functions
+EAPI=7
+HOMEPAGE=https://crates.io/crates/hostname
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND==dev-rust/match_cfg-0.1*:= =dev-rust/libc-0.2*:= =dev-rust/winapi-0.3*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.3.1/r0
+SRC_URI=https://crates.io/api/v1/crates/hostname/0.3.1/download -> hostname-0.3.1.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=eb1c8cafed728c268d9a9d5bbcd05ebb
diff --git a/metadata/md5-cache/dev-rust/hound-3.4.0 b/metadata/md5-cache/dev-rust/hound-3.4.0
index 27c2e25..1cb9848 100644
--- a/metadata/md5-cache/dev-rust/hound-3.4.0
+++ b/metadata/md5-cache/dev-rust/hound-3.4.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A wav encoding and decoding library
 EAPI=7
 HOMEPAGE=https://github.com/ruuda/hound
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=3.4.0/r0
 SRC_URI=https://crates.io/api/v1/crates/hound/3.4.0/download -> hound-3.4.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=02fbba0960462a9db11c94533a04cdea
diff --git a/metadata/md5-cache/dev-rust/http-0.1.19 b/metadata/md5-cache/dev-rust/http-0.1.19
deleted file mode 100644
index e716227..0000000
--- a/metadata/md5-cache/dev-rust/http-0.1.19
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bytes-0.4:= >=dev-rust/fnv-1.0.5:= >=dev-rust/itoa-0.4.1:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A general purpose library of common HTTP types
-EAPI=6
-HOMEPAGE=https://github.com/hyperium/http
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.19/r0
-SRC_URI=https://crates.io/api/v1/crates/http/0.1.19/download -> http-0.1.19.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=cb9c0fb68363dcf13ca2a00f9e7b6e73
diff --git a/metadata/md5-cache/dev-rust/http-body-0.1.0 b/metadata/md5-cache/dev-rust/http-body-0.1.0
deleted file mode 100644
index 36216ca..0000000
--- a/metadata/md5-cache/dev-rust/http-body-0.1.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bytes-0.4.11:= >=dev-rust/futures-0.1.25:= >=dev-rust/http-0.1.16:= >=dev-rust/tokio-buf-0.1:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A trait representing asynchronous operations on an HTTP body.
-EAPI=6
-HOMEPAGE=https://github.com/hyperium/http-body
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.0/r0
-SRC_URI=https://crates.io/api/v1/crates/http-body/0.1.0/download -> http-body-0.1.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=a48304008ea886bff770dd3afba31a6b
diff --git a/metadata/md5-cache/dev-rust/httparse-1.3.4 b/metadata/md5-cache/dev-rust/httparse-1.3.4
index e21fe22..51e267a0 100644
--- a/metadata/md5-cache/dev-rust/httparse-1.3.4
+++ b/metadata/md5-cache/dev-rust/httparse-1.3.4
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A push parser for the HTTP 1.x protocol. Avoids allocations. No copy. Fast.
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/seanmonstar/httparse
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.3.4/r0
 SRC_URI=https://crates.io/api/v1/crates/httparse/1.3.4/download -> httparse-1.3.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=f548d6a2948034facc146df469ae9169
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8529c004d75f0ad14f3723b53288413d
diff --git a/metadata/md5-cache/dev-rust/httparse-1.3.4-r1 b/metadata/md5-cache/dev-rust/httparse-1.3.4-r1
index 2020e2c..0f1e9ba 100644
--- a/metadata/md5-cache/dev-rust/httparse-1.3.4-r1
+++ b/metadata/md5-cache/dev-rust/httparse-1.3.4-r1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A push parser for the HTTP 1.x protocol. Avoids allocations. No copy. Fast.
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/seanmonstar/httparse
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.3.4/r1
 SRC_URI=https://crates.io/api/v1/crates/httparse/1.3.4/download -> httparse-1.3.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=f548d6a2948034facc146df469ae9169
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8529c004d75f0ad14f3723b53288413d
diff --git a/metadata/md5-cache/dev-rust/humantime-1.1.1 b/metadata/md5-cache/dev-rust/humantime-1.1.1
deleted file mode 100644
index 1b8fb55..0000000
--- a/metadata/md5-cache/dev-rust/humantime-1.1.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/quick-error-1*:= =dev-rust/chrono-0.4*:= =dev-rust/rand-0.4*:= >=dev-rust/time-0.1.39:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Human-friendly time parser and formatter.
-EAPI=6
-HOMEPAGE=https://github.com/tailhook/humantime
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=1.1.1/r0
-SRC_URI=https://crates.io/api/v1/crates/humantime/1.1.1/download -> humantime-1.1.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=cd559a426e257850011b37382a56fa11
diff --git a/metadata/md5-cache/dev-rust/humantime-2.1.0 b/metadata/md5-cache/dev-rust/humantime-2.1.0
index b0179c4..f97ca11 100644
--- a/metadata/md5-cache/dev-rust/humantime-2.1.0
+++ b/metadata/md5-cache/dev-rust/humantime-2.1.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A parser and formatter for std::time::{Duration, SystemTime}
 EAPI=7
 HOMEPAGE=https://github.com/tailhook/humantime
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=2.1.0/r0
 SRC_URI=https://crates.io/api/v1/crates/humantime/2.1.0/download -> humantime-2.1.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=09f3b93985d86a2f57361c8c1d7a6719
diff --git a/metadata/md5-cache/dev-rust/hyper-0.12.35 b/metadata/md5-cache/dev-rust/hyper-0.12.35
deleted file mode 100644
index e36473a..0000000
--- a/metadata/md5-cache/dev-rust/hyper-0.12.35
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bytes-0.4.4:= <dev-rust/bytes-0.5.0 >=dev-rust/futures-0.1.21:= <dev-rust/futures-0.2.0 >=dev-rust/h2-0.1.10:= <dev-rust/h2-0.2.0 >=dev-rust/http-0.1.15:= <dev-rust/http-0.2.0 =dev-rust/httparse-1*:= =dev-rust/http-body-0.1*:= =dev-rust/iovec-0.1*:= >=dev-rust/itoa-0.4.1:= <dev-rust/itoa-0.5.0 =dev-rust/log-0.4*:= =dev-rust/rustc_version-0.2*:= =dev-rust/time-0.1*:= =dev-rust/tokio-buf-0.1*:= =dev-rust/tokio-io-0.1*:= =dev-rust/want-0.2*:= >=dev-rust/futures-cpupool-0.1.6:= <dev-rust/futures-cpupool-0.2.0 >=dev-rust/net2-0.2.32:= <dev-rust/net2-0.3.0 >=dev-rust/tokio-0.1.14:= <dev-rust/tokio-0.2.0 =dev-rust/tokio-executor-0.1*:= =dev-rust/tokio-reactor-0.1*:= =dev-rust/tokio-tcp-0.1*:= >=dev-rust/tokio-threadpool-0.1.3:= <dev-rust/tokio-threadpool-0.2.0 =dev-rust/tokio-timer-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A fast and correct HTTP implementation for Rust.
-EAPI=7
-HOMEPAGE=https://github.com/hyperium/hyper
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND=>=dev-rust/bytes-0.4.4:= <dev-rust/bytes-0.5.0 >=dev-rust/futures-0.1.21:= <dev-rust/futures-0.2.0 >=dev-rust/h2-0.1.10:= <dev-rust/h2-0.2.0 >=dev-rust/http-0.1.15:= <dev-rust/http-0.2.0 =dev-rust/httparse-1*:= =dev-rust/http-body-0.1*:= =dev-rust/iovec-0.1*:= >=dev-rust/itoa-0.4.1:= <dev-rust/itoa-0.5.0 =dev-rust/log-0.4*:= =dev-rust/rustc_version-0.2*:= =dev-rust/time-0.1*:= =dev-rust/tokio-buf-0.1*:= =dev-rust/tokio-io-0.1*:= =dev-rust/want-0.2*:= >=dev-rust/futures-cpupool-0.1.6:= <dev-rust/futures-cpupool-0.2.0 >=dev-rust/net2-0.2.32:= <dev-rust/net2-0.3.0 >=dev-rust/tokio-0.1.14:= <dev-rust/tokio-0.2.0 =dev-rust/tokio-executor-0.1*:= =dev-rust/tokio-reactor-0.1*:= =dev-rust/tokio-tcp-0.1*:= >=dev-rust/tokio-threadpool-0.1.3:= <dev-rust/tokio-threadpool-0.2.0 =dev-rust/tokio-timer-0.2*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.12.35/r0
-SRC_URI=https://crates.io/api/v1/crates/hyper/0.12.35/download -> hyper-0.12.35.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6efb233a0de8d3fb4782c7819bcdb467
diff --git a/metadata/md5-cache/dev-rust/hyper-0.12.35-r2 b/metadata/md5-cache/dev-rust/hyper-0.12.35-r2
deleted file mode 100644
index ab4ea14..0000000
--- a/metadata/md5-cache/dev-rust/hyper-0.12.35-r2
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bytes-0.4.4:= <dev-rust/bytes-0.5.0 >=dev-rust/futures-0.1.21:= <dev-rust/futures-0.2.0 >=dev-rust/h2-0.1.10:= <dev-rust/h2-0.2.0 >=dev-rust/http-0.1.15:= <dev-rust/http-0.2.0 =dev-rust/httparse-1*:= =dev-rust/http-body-0.1*:= =dev-rust/iovec-0.1*:= >=dev-rust/itoa-0.4.1:= <dev-rust/itoa-0.5.0 =dev-rust/log-0.4*:= =dev-rust/rustc_version-0.2*:= =dev-rust/time-0.1*:= =dev-rust/tokio-buf-0.1*:= =dev-rust/tokio-io-0.1*:= =dev-rust/want-0.2*:= >=dev-rust/futures-cpupool-0.1.6:= <dev-rust/futures-cpupool-0.2.0 >=dev-rust/net2-0.2.32:= <dev-rust/net2-0.3.0 >=dev-rust/tokio-0.1.14:= <dev-rust/tokio-0.2.0 =dev-rust/tokio-executor-0.1*:= =dev-rust/tokio-reactor-0.1*:= =dev-rust/tokio-tcp-0.1*:= >=dev-rust/tokio-threadpool-0.1.3:= <dev-rust/tokio-threadpool-0.2.0 =dev-rust/tokio-timer-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A fast and correct HTTP implementation for Rust.
-EAPI=7
-HOMEPAGE=https://github.com/hyperium/hyper
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND=>=dev-rust/bytes-0.4.4:= <dev-rust/bytes-0.5.0 >=dev-rust/futures-0.1.21:= <dev-rust/futures-0.2.0 >=dev-rust/h2-0.1.10:= <dev-rust/h2-0.2.0 >=dev-rust/http-0.1.15:= <dev-rust/http-0.2.0 =dev-rust/httparse-1*:= =dev-rust/http-body-0.1*:= =dev-rust/iovec-0.1*:= >=dev-rust/itoa-0.4.1:= <dev-rust/itoa-0.5.0 =dev-rust/log-0.4*:= =dev-rust/rustc_version-0.2*:= =dev-rust/time-0.1*:= =dev-rust/tokio-buf-0.1*:= =dev-rust/tokio-io-0.1*:= =dev-rust/want-0.2*:= >=dev-rust/futures-cpupool-0.1.6:= <dev-rust/futures-cpupool-0.2.0 >=dev-rust/net2-0.2.32:= <dev-rust/net2-0.3.0 >=dev-rust/tokio-0.1.14:= <dev-rust/tokio-0.2.0 =dev-rust/tokio-executor-0.1*:= =dev-rust/tokio-reactor-0.1*:= =dev-rust/tokio-tcp-0.1*:= >=dev-rust/tokio-threadpool-0.1.3:= <dev-rust/tokio-threadpool-0.2.0 =dev-rust/tokio-timer-0.2*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.12.35/r2
-SRC_URI=https://crates.io/api/v1/crates/hyper/0.12.35/download -> hyper-0.12.35.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6efb233a0de8d3fb4782c7819bcdb467
diff --git a/metadata/md5-cache/dev-rust/hyper-tls-0.3.2 b/metadata/md5-cache/dev-rust/hyper-tls-0.3.2
deleted file mode 100644
index eaf4282..0000000
--- a/metadata/md5-cache/dev-rust/hyper-tls-0.3.2
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bytes-0.4*:= >=dev-rust/futures-0.1.21:= <dev-rust/futures-0.2.0 =dev-rust/hyper-0.12*:= =dev-rust/native-tls-0.2*:= =dev-rust/tokio-io-0.1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Default TLS implementation for use with hyper
-EAPI=7
-HOMEPAGE=https://github.com/hyperium/hyper-tls
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/bytes-0.4*:= >=dev-rust/futures-0.1.21:= <dev-rust/futures-0.2.0 =dev-rust/hyper-0.12*:= =dev-rust/native-tls-0.2*:= =dev-rust/tokio-io-0.1*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.3.2/r0
-SRC_URI=https://crates.io/api/v1/crates/hyper-tls/0.3.2/download -> hyper-tls-0.3.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=4cff1a1f67f2557659215d163c2477ec
diff --git a/metadata/md5-cache/dev-rust/hyper-tls-0.3.2-r2 b/metadata/md5-cache/dev-rust/hyper-tls-0.3.2-r2
deleted file mode 100644
index 032a3aa..0000000
--- a/metadata/md5-cache/dev-rust/hyper-tls-0.3.2-r2
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bytes-0.4*:= >=dev-rust/futures-0.1.21:= <dev-rust/futures-0.2.0 =dev-rust/hyper-0.12*:= =dev-rust/native-tls-0.2*:= =dev-rust/tokio-io-0.1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Default TLS implementation for use with hyper
-EAPI=7
-HOMEPAGE=https://github.com/hyperium/hyper-tls
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/bytes-0.4*:= >=dev-rust/futures-0.1.21:= <dev-rust/futures-0.2.0 =dev-rust/hyper-0.12*:= =dev-rust/native-tls-0.2*:= =dev-rust/tokio-io-0.1*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.3.2/r2
-SRC_URI=https://crates.io/api/v1/crates/hyper-tls/0.3.2/download -> hyper-tls-0.3.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=4cff1a1f67f2557659215d163c2477ec
diff --git a/metadata/md5-cache/dev-rust/hyphenation-0.7.1 b/metadata/md5-cache/dev-rust/hyphenation-0.7.1
index 7d83627..be3deed 100644
--- a/metadata/md5-cache/dev-rust/hyphenation-0.7.1
+++ b/metadata/md5-cache/dev-rust/hyphenation-0.7.1
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty hyphenation crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.7.1/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=bc6aca5c8ee7fc43c9e14fd5a3e5e494
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5371797cf4af7d2db51ee48769bcb571
diff --git a/metadata/md5-cache/dev-rust/hyphenation-0.8.0 b/metadata/md5-cache/dev-rust/hyphenation-0.8.0
index 3c73861..0ae6388 100644
--- a/metadata/md5-cache/dev-rust/hyphenation-0.8.0
+++ b/metadata/md5-cache/dev-rust/hyphenation-0.8.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.8.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9aa07c5881f593a1cb62eb261b520418
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e54f96be2d04472cb9c9a512136f4dcd
diff --git a/metadata/md5-cache/dev-rust/hyphenation-0.8.4 b/metadata/md5-cache/dev-rust/hyphenation-0.8.4
new file mode 100644
index 0000000..7a3036e
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/hyphenation-0.8.4
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.8.4/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8ccbf74254dc25baa98052863984ff5c
diff --git a/metadata/md5-cache/dev-rust/i2cdev-0.5.1 b/metadata/md5-cache/dev-rust/i2cdev-0.5.1
index 19c0736..7ad98a2 100644
--- a/metadata/md5-cache/dev-rust/i2cdev-0.5.1
+++ b/metadata/md5-cache/dev-rust/i2cdev-0.5.1
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bitflags-1.3.0 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/byteorder-1*:= =dev-rust/libc-0.2*:= =dev-rust/nix-0.23*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/bitflags-1.3.0 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/byteorder-1*:= =dev-rust/libc-0.2*:= =dev-rust/nix-0.23*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Provides API for safe access to Linux i2c device interface.
 EAPI=7
 HOMEPAGE=https://github.com/rust-embedded/rust-i2cdev
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/bitflags-1.3.0 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/byteorder-1*:= =dev-rust/libc-0.2*:= =dev-rust/nix-0.23*:=
+RDEPEND=>=dev-rust/bitflags-1.3.0 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/byteorder-1*:= =dev-rust/libc-0.2*:= =dev-rust/nix-0.23*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.5.1/r0
 SRC_URI=https://crates.io/api/v1/crates/i2cdev/0.5.1/download -> i2cdev-0.5.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=3931ab5ac9ec5d9a169a2d9975c93212
diff --git a/metadata/md5-cache/dev-rust/idna-0.1.5 b/metadata/md5-cache/dev-rust/idna-0.1.5
deleted file mode 100644
index 680ba51..0000000
--- a/metadata/md5-cache/dev-rust/idna-0.1.5
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/matches-0.1*:= =dev-rust/unicode-bidi-0.3*:= =dev-rust/unicode-normalization-0.1*:= =dev-rust/rustc-serialize-0.3*:= =dev-rust/rustc-test-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=IDNA (Internationalizing Domain Names in Applications) and Punycode
-EAPI=6
-HOMEPAGE=https://github.com/servo/rust-url/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-RESTRICT=test
-SLOT=0.1.5/r0
-SRC_URI=https://crates.io/api/v1/crates/idna/0.1.5/download -> idna-0.1.5.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=503dccd9908cbbb880953afea25fe067
diff --git a/metadata/md5-cache/dev-rust/idna-0.2.3 b/metadata/md5-cache/dev-rust/idna-0.2.3
new file mode 100644
index 0000000..da904a6
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/idna-0.2.3
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/matches-0.1*:= =dev-rust/unicode-bidi-0.3*:= >=dev-rust/unicode-normalization-0.1.17 <dev-rust/unicode-normalization-0.2.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=IDNA (Internationalizing Domain Names in Applications) and Punycode.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/idna
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/matches-0.1*:= =dev-rust/unicode-bidi-0.3*:= >=dev-rust/unicode-normalization-0.1.17 <dev-rust/unicode-normalization-0.2.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.2.3/r0
+SRC_URI=https://crates.io/api/v1/crates/idna/0.2.3/download -> idna-0.2.3.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c1d7689773a34fa3c4f94db74b0b77d7
diff --git a/metadata/md5-cache/dev-rust/image-0.23.14 b/metadata/md5-cache/dev-rust/image-0.23.14
index 03d17b1..07bf6c7 100644
--- a/metadata/md5-cache/dev-rust/image-0.23.14
+++ b/metadata/md5-cache/dev-rust/image-0.23.14
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bytemuck-1*:= >=dev-rust/byteorder-1.3.2 <dev-rust/byteorder-2.0.0_alpha:= >=dev-rust/color_quant-1.1.0 <dev-rust/color_quant-2.0.0_alpha:= =dev-rust/dav1d-0.6*:= >=dev-rust/dcv-color-primitives-0.1.16 <dev-rust/dcv-color-primitives-0.2.0_alpha:= >=dev-rust/gif-0.11.1 <dev-rust/gif-0.12.0_alpha:= >=dev-rust/jpeg-decoder-0.1.22 <dev-rust/jpeg-decoder-0.2.0_alpha:= >=dev-rust/mp4parse-0.11.5 <dev-rust/mp4parse-0.12.0_alpha:= >=dev-rust/num-iter-0.1.42 <dev-rust/num-iter-0.2.0_alpha:= =dev-rust/num-rational-0.3*:= =dev-rust/num-traits-0.2*:= >=dev-rust/png-0.16.5 <dev-rust/png-0.17.0_alpha:= =dev-rust/ravif-0.6*:= >=dev-rust/rgb-0.8.25 <dev-rust/rgb-0.9.0_alpha:= =dev-rust/scoped_threadpool-0.1*:= =dev-rust/tiff-0.6*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/bytemuck-1*:= >=dev-rust/byteorder-1.3.2 <dev-rust/byteorder-2.0.0_alpha:= >=dev-rust/color_quant-1.1.0 <dev-rust/color_quant-2.0.0_alpha:= =dev-rust/dav1d-0.6*:= >=dev-rust/dcv-color-primitives-0.1.16 <dev-rust/dcv-color-primitives-0.2.0_alpha:= >=dev-rust/gif-0.11.1 <dev-rust/gif-0.12.0_alpha:= >=dev-rust/jpeg-decoder-0.1.22 <dev-rust/jpeg-decoder-0.2.0_alpha:= >=dev-rust/mp4parse-0.11.5 <dev-rust/mp4parse-0.12.0_alpha:= >=dev-rust/num-iter-0.1.42 <dev-rust/num-iter-0.2.0_alpha:= =dev-rust/num-rational-0.3*:= =dev-rust/num-traits-0.2*:= >=dev-rust/png-0.16.5 <dev-rust/png-0.17.0_alpha:= =dev-rust/ravif-0.6*:= >=dev-rust/rgb-0.8.25 <dev-rust/rgb-0.9.0_alpha:= =dev-rust/scoped_threadpool-0.1*:= =dev-rust/tiff-0.6*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Imaging library written in Rust. Provides basic filters and decoders for the most common image formats.
 EAPI=7
 HOMEPAGE=https://github.com/image-rs/image
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/bytemuck-1*:= >=dev-rust/byteorder-1.3.2 <dev-rust/byteorder-2.0.0_alpha:= >=dev-rust/color_quant-1.1.0 <dev-rust/color_quant-2.0.0_alpha:= =dev-rust/dav1d-0.6*:= >=dev-rust/dcv-color-primitives-0.1.16 <dev-rust/dcv-color-primitives-0.2.0_alpha:= >=dev-rust/gif-0.11.1 <dev-rust/gif-0.12.0_alpha:= >=dev-rust/jpeg-decoder-0.1.22 <dev-rust/jpeg-decoder-0.2.0_alpha:= >=dev-rust/mp4parse-0.11.5 <dev-rust/mp4parse-0.12.0_alpha:= >=dev-rust/num-iter-0.1.42 <dev-rust/num-iter-0.2.0_alpha:= =dev-rust/num-rational-0.3*:= =dev-rust/num-traits-0.2*:= >=dev-rust/png-0.16.5 <dev-rust/png-0.17.0_alpha:= =dev-rust/ravif-0.6*:= >=dev-rust/rgb-0.8.25 <dev-rust/rgb-0.9.0_alpha:= =dev-rust/scoped_threadpool-0.1*:= =dev-rust/tiff-0.6*:=
+RDEPEND==dev-rust/bytemuck-1*:= >=dev-rust/byteorder-1.3.2 <dev-rust/byteorder-2.0.0_alpha:= >=dev-rust/color_quant-1.1.0 <dev-rust/color_quant-2.0.0_alpha:= =dev-rust/dav1d-0.6*:= >=dev-rust/dcv-color-primitives-0.1.16 <dev-rust/dcv-color-primitives-0.2.0_alpha:= >=dev-rust/gif-0.11.1 <dev-rust/gif-0.12.0_alpha:= >=dev-rust/jpeg-decoder-0.1.22 <dev-rust/jpeg-decoder-0.2.0_alpha:= >=dev-rust/mp4parse-0.11.5 <dev-rust/mp4parse-0.12.0_alpha:= >=dev-rust/num-iter-0.1.42 <dev-rust/num-iter-0.2.0_alpha:= =dev-rust/num-rational-0.3*:= =dev-rust/num-traits-0.2*:= >=dev-rust/png-0.16.5 <dev-rust/png-0.17.0_alpha:= =dev-rust/ravif-0.6*:= >=dev-rust/rgb-0.8.25 <dev-rust/rgb-0.9.0_alpha:= =dev-rust/scoped_threadpool-0.1*:= =dev-rust/tiff-0.6*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.23.14/r0
 SRC_URI=https://crates.io/api/v1/crates/image/0.23.14/download -> image-0.23.14.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=860188a4f4d3def625f57601015d0b10
diff --git a/metadata/md5-cache/dev-rust/image-0.23.14-r1 b/metadata/md5-cache/dev-rust/image-0.23.14-r1
index bc31e7d..22404bc 100644
--- a/metadata/md5-cache/dev-rust/image-0.23.14-r1
+++ b/metadata/md5-cache/dev-rust/image-0.23.14-r1
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bytemuck-1*:= >=dev-rust/byteorder-1.3.2 <dev-rust/byteorder-2.0.0_alpha:= >=dev-rust/color_quant-1.1.0 <dev-rust/color_quant-2.0.0_alpha:= =dev-rust/dav1d-0.6*:= >=dev-rust/dcv-color-primitives-0.1.16 <dev-rust/dcv-color-primitives-0.2.0_alpha:= >=dev-rust/gif-0.11.1 <dev-rust/gif-0.12.0_alpha:= >=dev-rust/jpeg-decoder-0.1.22 <dev-rust/jpeg-decoder-0.2.0_alpha:= >=dev-rust/mp4parse-0.11.5 <dev-rust/mp4parse-0.12.0_alpha:= >=dev-rust/num-iter-0.1.42 <dev-rust/num-iter-0.2.0_alpha:= =dev-rust/num-rational-0.3*:= =dev-rust/num-traits-0.2*:= >=dev-rust/png-0.16.5 <dev-rust/png-0.17.0_alpha:= =dev-rust/ravif-0.6*:= >=dev-rust/rgb-0.8.25 <dev-rust/rgb-0.9.0_alpha:= =dev-rust/scoped_threadpool-0.1*:= =dev-rust/tiff-0.6*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/bytemuck-1*:= >=dev-rust/byteorder-1.3.2 <dev-rust/byteorder-2.0.0_alpha:= >=dev-rust/color_quant-1.1.0 <dev-rust/color_quant-2.0.0_alpha:= =dev-rust/dav1d-0.6*:= >=dev-rust/dcv-color-primitives-0.1.16 <dev-rust/dcv-color-primitives-0.2.0_alpha:= >=dev-rust/gif-0.11.1 <dev-rust/gif-0.12.0_alpha:= >=dev-rust/jpeg-decoder-0.1.22 <dev-rust/jpeg-decoder-0.2.0_alpha:= >=dev-rust/mp4parse-0.11.5 <dev-rust/mp4parse-0.12.0_alpha:= >=dev-rust/num-iter-0.1.42 <dev-rust/num-iter-0.2.0_alpha:= =dev-rust/num-rational-0.3*:= =dev-rust/num-traits-0.2*:= >=dev-rust/png-0.16.5 <dev-rust/png-0.17.0_alpha:= =dev-rust/ravif-0.6*:= >=dev-rust/rgb-0.8.25 <dev-rust/rgb-0.9.0_alpha:= =dev-rust/scoped_threadpool-0.1*:= =dev-rust/tiff-0.6*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Imaging library written in Rust. Provides basic filters and decoders for the most common image formats.
 EAPI=7
 HOMEPAGE=https://github.com/image-rs/image
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/bytemuck-1*:= >=dev-rust/byteorder-1.3.2 <dev-rust/byteorder-2.0.0_alpha:= >=dev-rust/color_quant-1.1.0 <dev-rust/color_quant-2.0.0_alpha:= =dev-rust/dav1d-0.6*:= >=dev-rust/dcv-color-primitives-0.1.16 <dev-rust/dcv-color-primitives-0.2.0_alpha:= >=dev-rust/gif-0.11.1 <dev-rust/gif-0.12.0_alpha:= >=dev-rust/jpeg-decoder-0.1.22 <dev-rust/jpeg-decoder-0.2.0_alpha:= >=dev-rust/mp4parse-0.11.5 <dev-rust/mp4parse-0.12.0_alpha:= >=dev-rust/num-iter-0.1.42 <dev-rust/num-iter-0.2.0_alpha:= =dev-rust/num-rational-0.3*:= =dev-rust/num-traits-0.2*:= >=dev-rust/png-0.16.5 <dev-rust/png-0.17.0_alpha:= =dev-rust/ravif-0.6*:= >=dev-rust/rgb-0.8.25 <dev-rust/rgb-0.9.0_alpha:= =dev-rust/scoped_threadpool-0.1*:= =dev-rust/tiff-0.6*:=
+RDEPEND==dev-rust/bytemuck-1*:= >=dev-rust/byteorder-1.3.2 <dev-rust/byteorder-2.0.0_alpha:= >=dev-rust/color_quant-1.1.0 <dev-rust/color_quant-2.0.0_alpha:= =dev-rust/dav1d-0.6*:= >=dev-rust/dcv-color-primitives-0.1.16 <dev-rust/dcv-color-primitives-0.2.0_alpha:= >=dev-rust/gif-0.11.1 <dev-rust/gif-0.12.0_alpha:= >=dev-rust/jpeg-decoder-0.1.22 <dev-rust/jpeg-decoder-0.2.0_alpha:= >=dev-rust/mp4parse-0.11.5 <dev-rust/mp4parse-0.12.0_alpha:= >=dev-rust/num-iter-0.1.42 <dev-rust/num-iter-0.2.0_alpha:= =dev-rust/num-rational-0.3*:= =dev-rust/num-traits-0.2*:= >=dev-rust/png-0.16.5 <dev-rust/png-0.17.0_alpha:= =dev-rust/ravif-0.6*:= >=dev-rust/rgb-0.8.25 <dev-rust/rgb-0.9.0_alpha:= =dev-rust/scoped_threadpool-0.1*:= =dev-rust/tiff-0.6*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.23.14/r1
 SRC_URI=https://crates.io/api/v1/crates/image/0.23.14/download -> image-0.23.14.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=860188a4f4d3def625f57601015d0b10
diff --git a/metadata/md5-cache/dev-rust/include_dir-0.6.1 b/metadata/md5-cache/dev-rust/include_dir-0.6.1
index 377b343..78dcc68 100644
--- a/metadata/md5-cache/dev-rust/include_dir-0.6.1
+++ b/metadata/md5-cache/dev-rust/include_dir-0.6.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/glob-0.3*:= ~dev-rust/include_dir_impl-0.6.1:= =dev-rust/proc-macro-hack-0.5*:= =dev-rust/tempdir-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/glob-0.3*:= ~dev-rust/include_dir_impl-0.6.1:= =dev-rust/proc-macro-hack-0.5*:= =dev-rust/tempdir-0.3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Embed the contents of a directory in your binary
 EAPI=7
 HOMEPAGE=https://crates.io/crates/include_dir
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/glob-0.3*:= ~dev-rust/include_dir_impl-0.6.1:= =dev-rust/proc-macro-hack-0.5*:= =dev-rust/tempdir-0.3*:=
+RDEPEND==dev-rust/glob-0.3*:= ~dev-rust/include_dir_impl-0.6.1:= =dev-rust/proc-macro-hack-0.5*:= =dev-rust/tempdir-0.3*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.6.1/r0
 SRC_URI=https://crates.io/api/v1/crates/include_dir/0.6.1/download -> include_dir-0.6.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=652938333df1b78b3489f7519da13628
diff --git a/metadata/md5-cache/dev-rust/include_dir_impl-0.6.1 b/metadata/md5-cache/dev-rust/include_dir_impl-0.6.1
index d82e46b..071b1c4 100644
--- a/metadata/md5-cache/dev-rust/include_dir_impl-0.6.1
+++ b/metadata/md5-cache/dev-rust/include_dir_impl-0.6.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/anyhow-1*:= =dev-rust/proc-macro-hack-0.5*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/anyhow-1*:= =dev-rust/proc-macro-hack-0.5*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Implementation crate for include_dir
 EAPI=7
 HOMEPAGE=https://crates.io/crates/include_dir_impl
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/anyhow-1*:= =dev-rust/proc-macro-hack-0.5*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:=
+RDEPEND==dev-rust/anyhow-1*:= =dev-rust/proc-macro-hack-0.5*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.6.1/r0
 SRC_URI=https://crates.io/api/v1/crates/include_dir_impl/0.6.1/download -> include_dir_impl-0.6.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=5556cf2a2be1d0cb2bc1efc95a921406
diff --git a/metadata/md5-cache/dev-rust/indexmap-1.7.0 b/metadata/md5-cache/dev-rust/indexmap-1.7.0
index 480fb0f..d051259 100644
--- a/metadata/md5-cache/dev-rust/indexmap-1.7.0
+++ b/metadata/md5-cache/dev-rust/indexmap-1.7.0
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/hashbrown-0.11*:= >=dev-rust/rayon-1.2.0:= <dev-rust/rayon-2.0.0 =dev-rust/serde-1*:= =dev-rust/autocfg-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/hashbrown-0.11*:= >=dev-rust/rayon-1.2.0:= <dev-rust/rayon-2.0.0 =dev-rust/serde-1*:= =dev-rust/autocfg-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A hash table with consistent order and fast iteration. The indexmap is a hash table where the iteration order of the key-value pairs is independent of the hash values of the keys. It has the usual hash table functionality, it preserves insertion order except after removals, and it allows lookup of its elements by either hash table key or numerical index. A corresponding hash set type is also provided. This crate was initially published under the name ordermap, but it was renamed to indexmap.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/indexmap
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
-RDEPEND==dev-rust/hashbrown-0.11*:= >=dev-rust/rayon-1.2.0:= <dev-rust/rayon-2.0.0 =dev-rust/serde-1*:= =dev-rust/autocfg-1*:=
+RDEPEND==dev-rust/hashbrown-0.11*:= >=dev-rust/rayon-1.2.0:= <dev-rust/rayon-2.0.0 =dev-rust/serde-1*:= =dev-rust/autocfg-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=1.7.0/r0
 SRC_URI=https://crates.io/api/v1/crates/indexmap/1.7.0/download -> indexmap-1.7.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=83e4530754d9e73b7f5f16fd4271bf36
diff --git a/metadata/md5-cache/dev-rust/indicatif-0.16.2 b/metadata/md5-cache/dev-rust/indicatif-0.16.2
new file mode 100644
index 0000000..d5e3ba0
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/indicatif-0.16.2
@@ -0,0 +1,15 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/console-0.9.1 <dev-rust/console-1.0.0_alpha:= =dev-rust/lazy_static-1*:= =dev-rust/number_prefix-0.4*:= =dev-rust/rayon-1*:= >=dev-rust/regex-1.3.1 <dev-rust/regex-2.0.0_alpha:= >=dev-rust/unicode-segmentation-1.6.0 <dev-rust/unicode-segmentation-2.0.0_alpha:= >=dev-rust/unicode-width-0.1.7 <dev-rust/unicode-width-0.2.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A progress bar and cli reporting library for Rust
+EAPI=7
+HOMEPAGE=https://crates.io/crates/indicatif
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=>=dev-rust/console-0.9.1 <dev-rust/console-1.0.0_alpha:= =dev-rust/lazy_static-1*:= =dev-rust/number_prefix-0.4*:= =dev-rust/rayon-1*:= >=dev-rust/regex-1.3.1 <dev-rust/regex-2.0.0_alpha:= >=dev-rust/unicode-segmentation-1.6.0 <dev-rust/unicode-segmentation-2.0.0_alpha:= >=dev-rust/unicode-width-0.1.7 <dev-rust/unicode-width-0.2.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+RESTRICT=test
+SLOT=0.16.2/r0
+SRC_URI=https://crates.io/api/v1/crates/indicatif/0.16.2/download -> indicatif-0.16.2.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=df72d9e9e6c7b306e8d4796e763e7b42
diff --git a/metadata/md5-cache/dev-rust/inflections-1.1.1 b/metadata/md5-cache/dev-rust/inflections-1.1.1
index 1df808e..58edee8 100644
--- a/metadata/md5-cache/dev-rust/inflections-1.1.1
+++ b/metadata/md5-cache/dev-rust/inflections-1.1.1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=High performance inflection transformation library for changing properties of words like the case.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/inflections
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.1.1/r0
 SRC_URI=https://crates.io/api/v1/crates/inflections/1.1.1/download -> inflections-1.1.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=96e76358e4b22ce8b3177eff527ab49a
diff --git a/metadata/md5-cache/dev-rust/instant-0.1.9 b/metadata/md5-cache/dev-rust/instant-0.1.9
index 3357f16..afa7a70 100644
--- a/metadata/md5-cache/dev-rust/instant-0.1.9
+++ b/metadata/md5-cache/dev-rust/instant-0.1.9
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/cfg-if-1.0*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/cfg-if-1.0*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A partial replacement for std::time::Instant that works on WASM too.
 EAPI=7
 HOMEPAGE=https://github.com/sebcrozet/instant
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=BSD-Google
-RDEPEND==dev-rust/cfg-if-1.0*:=
+RDEPEND==dev-rust/cfg-if-1.0*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.9/r0
 SRC_URI=https://crates.io/api/v1/crates/instant/0.1.9/download -> instant-0.1.9.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=256fdbad18b8231d12d74567281f91e0
diff --git a/metadata/md5-cache/dev-rust/intrusive-collections-0.9.0 b/metadata/md5-cache/dev-rust/intrusive-collections-0.9.0
index aee7f11..7efa5f2 100644
--- a/metadata/md5-cache/dev-rust/intrusive-collections-0.9.0
+++ b/metadata/md5-cache/dev-rust/intrusive-collections-0.9.0
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/memoffset-0.5.4:= <dev-rust/memoffset-0.6 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/memoffset-0.5.4:= <dev-rust/memoffset-0.6 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A Rust library for creating intrusive collections
 EAPI=7
 HOMEPAGE=https://github.com/Amanieu/intrusive-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.9.0/r0
 SRC_URI=https://crates.io/api/v1/crates/intrusive-collections/0.9.0/download -> intrusive-collections-0.9.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=cfefd89c32265152b350d553e89c0488
diff --git a/metadata/md5-cache/dev-rust/io_uring-0.1.0-r16 b/metadata/md5-cache/dev-rust/io_uring-0.1.0-r16
deleted file mode 100644
index f96488a..0000000
--- a/metadata/md5-cache/dev-rust/io_uring-0.1.0-r16
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-rust/data_model:= >=dev-rust/libc-0.2.93:= =dev-rust/remain-0.2*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Safe wrappers around the linux kernel's io_uring interface
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/io_uring
-IUSE=cros_host cros_workon_tree_79391f72c330442bc581174269f89b5fb6d3da2a_657879d7112bd65f190dbbf687daca14399681d0 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-rust/data_model:= >=dev-rust/libc-0.2.93:= =dev-rust/remain-0.2*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r16
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0112a273614ec2c6f7077b05be0e6687
diff --git a/metadata/md5-cache/dev-rust/io_uring-0.1.0-r23 b/metadata/md5-cache/dev-rust/io_uring-0.1.0-r23
new file mode 100644
index 0000000..42335da
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/io_uring-0.1.0-r23
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=dev-rust/data_model:= >=dev-rust/libc-0.2.93:= =dev-rust/remain-0.2*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Safe wrappers around the linux kernel's io_uring interface
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/io_uring
+IUSE=cros_host cros_workon_tree_036faddf548a679c333c51196c141271deeebd89_a920b8bc18a923d5cfa6abfb5390bc903526beef cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-rust/data_model:= >=dev-rust/libc-0.2.93:= =dev-rust/remain-0.2*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r23
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=693752214c0c63bc235af2d318c94d86
diff --git a/metadata/md5-cache/dev-rust/io_uring-9999 b/metadata/md5-cache/dev-rust/io_uring-9999
index 0712d20..02002ef 100644
--- a/metadata/md5-cache/dev-rust/io_uring-9999
+++ b/metadata/md5-cache/dev-rust/io_uring-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-rust/data_model:= >=dev-rust/libc-0.2.93:= =dev-rust/remain-0.2*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=dev-rust/data_model:= >=dev-rust/libc-0.2.93:= =dev-rust/remain-0.2*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Safe wrappers around the linux kernel's io_uring interface
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/io_uring
-IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=dev-rust/data_model:= >=dev-rust/libc-0.2.93:= =dev-rust/remain-0.2*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0
+RDEPEND=dev-rust/data_model:= >=dev-rust/libc-0.2.93:= =dev-rust/remain-0.2*:= dev-rust/sync:= dev-rust/sys_util:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=31798c392720b41ad0a6bfd1d60c4473
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=aa8acccdd686598c7cbcf8d4bd947301
diff --git a/metadata/md5-cache/dev-rust/ioctl-rs-0.1.6 b/metadata/md5-cache/dev-rust/ioctl-rs-0.1.6
index e349154..15cfb2c 100644
--- a/metadata/md5-cache/dev-rust/ioctl-rs-0.1.6
+++ b/metadata/md5-cache/dev-rust/ioctl-rs-0.1.6
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/libc-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/libc-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust bindings for system ioctls.
 EAPI=7
 HOMEPAGE=https://github.com/dcuddeback/ioctl-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/libc-0.2*:=
+RDEPEND==dev-rust/libc-0.2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.6/r0
 SRC_URI=https://crates.io/api/v1/crates/ioctl-rs/0.1.6/download -> ioctl-rs-0.1.6.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=2d1c9b7602a629ca38d28024a75c929c
diff --git a/metadata/md5-cache/dev-rust/iovec-0.1.4 b/metadata/md5-cache/dev-rust/iovec-0.1.4
index 45b6173..69d399c 100644
--- a/metadata/md5-cache/dev-rust/iovec-0.1.4
+++ b/metadata/md5-cache/dev-rust/iovec-0.1.4
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/libc-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/libc-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Portable buffer type for scatter/gather I/O operations
 EAPI=7
 HOMEPAGE=https://github.com/carllerche/iovec
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/libc-0.2*:=
+RDEPEND==dev-rust/libc-0.2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.4/r0
 SRC_URI=https://crates.io/api/v1/crates/iovec/0.1.4/download -> iovec-0.1.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=62bd4f2bc3b02ead6ce8c7d79d8700cc
diff --git a/metadata/md5-cache/dev-rust/iso8601-0.4.1 b/metadata/md5-cache/dev-rust/iso8601-0.4.1
new file mode 100644
index 0000000..c52c439
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/iso8601-0.4.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/nom-7*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Parsing ISO8601 dates using nom
+EAPI=7
+HOMEPAGE=https://crates.io/crates/iso8601
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND==dev-rust/nom-7*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.4.1/r0
+SRC_URI=https://crates.io/api/v1/crates/iso8601/0.4.1/download -> iso8601-0.4.1.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=bd18186a143f1ea0cab8a3a21e7d0e92
diff --git a/metadata/md5-cache/dev-rust/itertools-0.8.2 b/metadata/md5-cache/dev-rust/itertools-0.8.2
index 9a1ce28..ad4c29d 100644
--- a/metadata/md5-cache/dev-rust/itertools-0.8.2
+++ b/metadata/md5-cache/dev-rust/itertools-0.8.2
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/either-1*:= test? ( =dev-rust/permutohedron-0.2*:= =dev-rust/quickcheck-0.7*:= =dev-rust/rand-0.6*:= ) >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/either-1*:= test? ( =dev-rust/permutohedron-0.2*:= =dev-rust/quickcheck-0.7*:= =dev-rust/rand-0.6*:= ) >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Extra iterator adaptors, iterator methods, free functions, and macros.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/itertools
-IUSE=test cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=test cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/either-1*:= test? ( =dev-rust/permutohedron-0.2*:= =dev-rust/quickcheck-0.7*:= =dev-rust/rand-0.6*:= )
+RDEPEND==dev-rust/either-1*:= test? ( =dev-rust/permutohedron-0.2*:= =dev-rust/quickcheck-0.7*:= =dev-rust/rand-0.6*:= ) virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.8.2/r0
 SRC_URI=https://crates.io/api/v1/crates/itertools/0.8.2/download -> itertools-0.8.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=81ac1ae046a7b6ab87081f776c47b0a7
diff --git a/metadata/md5-cache/dev-rust/itoa-0.4.7 b/metadata/md5-cache/dev-rust/itoa-0.4.7
index 57e3fe9..7de41bb 100644
--- a/metadata/md5-cache/dev-rust/itoa-0.4.7
+++ b/metadata/md5-cache/dev-rust/itoa-0.4.7
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Fast functions for printing integer primitives to an io::Write
 EAPI=7
 HOMEPAGE=https://crates.io/crates/itoa
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.4.7/r0
 SRC_URI=https://crates.io/api/v1/crates/itoa/0.4.7/download -> itoa-0.4.7.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=2e9d63b65c212d120d1ccb17372090be
diff --git a/metadata/md5-cache/dev-rust/itoa-1.0.1 b/metadata/md5-cache/dev-rust/itoa-1.0.1
new file mode 100644
index 0000000..bc6a3ec
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/itoa-1.0.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Fast integer primitive to string conversion
+EAPI=7
+HOMEPAGE=https://crates.io/crates/itoa
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.0.1/r0
+SRC_URI=https://crates.io/api/v1/crates/itoa/1.0.1/download -> itoa-1.0.1.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=128e67aac15ff5f387437054f3b84f59
diff --git a/metadata/md5-cache/dev-rust/jobserver-0.1.16 b/metadata/md5-cache/dev-rust/jobserver-0.1.16
index 2169924..ce9a203 100644
--- a/metadata/md5-cache/dev-rust/jobserver-0.1.16
+++ b/metadata/md5-cache/dev-rust/jobserver-0.1.16
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.16/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/jobserver-0.1.24 b/metadata/md5-cache/dev-rust/jobserver-0.1.24
new file mode 100644
index 0000000..fecefde
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/jobserver-0.1.24
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/libc-0.2.50 <dev-rust/libc-0.3.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=An implementation of the GNU make jobserver for Rust
+EAPI=7
+HOMEPAGE=https://github.com/alexcrichton/jobserver-rs
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/libc-0.2.50 <dev-rust/libc-0.3.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.1.24/r0
+SRC_URI=https://crates.io/api/v1/crates/jobserver/0.1.24/download -> jobserver-0.1.24.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9435807f5328eb76d2a0cf34aef73ddc
diff --git a/metadata/md5-cache/dev-rust/jpeg-decoder-0.1.22 b/metadata/md5-cache/dev-rust/jpeg-decoder-0.1.22
index 4b1bf13..e406ea0 100644
--- a/metadata/md5-cache/dev-rust/jpeg-decoder-0.1.22
+++ b/metadata/md5-cache/dev-rust/jpeg-decoder-0.1.22
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.22/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/jsonschema-0.15.1 b/metadata/md5-cache/dev-rust/jsonschema-0.15.1
new file mode 100644
index 0000000..68ce80f
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/jsonschema-0.15.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/ahash-0.7.6 <dev-rust/ahash-0.8.0_alpha:= >=dev-rust/anyhow-1.0.55 <dev-rust/anyhow-2.0.0_alpha:= =dev-rust/base64-0.13*:= >=dev-rust/bytecount-0.6.2 <dev-rust/bytecount-0.7.0_alpha:= =dev-rust/fancy-regex-0.8*:= =dev-rust/fraction-0.10*:= >=dev-rust/iso8601-0.4.1 <dev-rust/iso8601-0.5.0_alpha:= >=dev-rust/itoa-1.0.1 <dev-rust/itoa-2.0.0_alpha:= >=dev-rust/lazy_static-1.4.0 <dev-rust/lazy_static-2.0.0_alpha:= >=dev-rust/memchr-2.4.1 <dev-rust/memchr-3.0.0_alpha:= =dev-rust/num-cmp-0.1*:= =dev-rust/parking_lot-0.12*:= >=dev-rust/percent-encoding-2.1.0 <dev-rust/percent-encoding-3.0.0_alpha:= >=dev-rust/regex-1.5.4 <dev-rust/regex-2.0.0_alpha:= >=dev-rust/reqwest-0.11.9 <dev-rust/reqwest-0.12.0_alpha:= >=dev-rust/serde-1.0.136 <dev-rust/serde-2.0.0_alpha:= >=dev-rust/serde_json-1.0.79 <dev-rust/serde_json-2.0.0_alpha:= >=dev-rust/structopt-0.3.26 <dev-rust/structopt-0.4.0_alpha:= >=dev-rust/time-0.3.7 <dev-rust/time-0.4.0_alpha:= >=dev-rust/url-2.2.2 <dev-rust/url-3.0.0_alpha:= >=dev-rust/uuid-0.8.2 <dev-rust/uuid-0.9.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A crate for performing JSON schema validation
+EAPI=7
+HOMEPAGE=https://crates.io/crates/jsonschema
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=>=dev-rust/ahash-0.7.6 <dev-rust/ahash-0.8.0_alpha:= >=dev-rust/anyhow-1.0.55 <dev-rust/anyhow-2.0.0_alpha:= =dev-rust/base64-0.13*:= >=dev-rust/bytecount-0.6.2 <dev-rust/bytecount-0.7.0_alpha:= =dev-rust/fancy-regex-0.8*:= =dev-rust/fraction-0.10*:= >=dev-rust/iso8601-0.4.1 <dev-rust/iso8601-0.5.0_alpha:= >=dev-rust/itoa-1.0.1 <dev-rust/itoa-2.0.0_alpha:= >=dev-rust/lazy_static-1.4.0 <dev-rust/lazy_static-2.0.0_alpha:= >=dev-rust/memchr-2.4.1 <dev-rust/memchr-3.0.0_alpha:= =dev-rust/num-cmp-0.1*:= =dev-rust/parking_lot-0.12*:= >=dev-rust/percent-encoding-2.1.0 <dev-rust/percent-encoding-3.0.0_alpha:= >=dev-rust/regex-1.5.4 <dev-rust/regex-2.0.0_alpha:= >=dev-rust/reqwest-0.11.9 <dev-rust/reqwest-0.12.0_alpha:= >=dev-rust/serde-1.0.136 <dev-rust/serde-2.0.0_alpha:= >=dev-rust/serde_json-1.0.79 <dev-rust/serde_json-2.0.0_alpha:= >=dev-rust/structopt-0.3.26 <dev-rust/structopt-0.4.0_alpha:= >=dev-rust/time-0.3.7 <dev-rust/time-0.4.0_alpha:= >=dev-rust/url-2.2.2 <dev-rust/url-3.0.0_alpha:= >=dev-rust/uuid-0.8.2 <dev-rust/uuid-0.9.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.15.1/r0
+SRC_URI=https://crates.io/api/v1/crates/jsonschema/0.15.1/download -> jsonschema-0.15.1.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=87e2e7c10a9eb056e22ce6249e1f8d82
diff --git a/metadata/md5-cache/dev-rust/juniper-0.15.0 b/metadata/md5-cache/dev-rust/juniper-0.15.0
new file mode 100644
index 0000000..99dae55
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/juniper-0.15.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.15.0/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dcd7e86695f5a9ea614dc8b5a7b64d6d
diff --git a/metadata/md5-cache/dev-rust/junit-report-0.4.0 b/metadata/md5-cache/dev-rust/junit-report-0.4.0
index 57a24e4..5ae72a0 100644
--- a/metadata/md5-cache/dev-rust/junit-report-0.4.0
+++ b/metadata/md5-cache/dev-rust/junit-report-0.4.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/chrono-0.4.11:= <dev-rust/chrono-0.5.0 =dev-rust/derive-getters-0.1*:= >=dev-rust/thiserror-1.0.19:= <dev-rust/thiserror-2 >=dev-rust/xml-rs-0.8.3:= <dev-rust/xml-rs-0.9 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/chrono-0.4.11:= <dev-rust/chrono-0.5.0 =dev-rust/derive-getters-0.1*:= >=dev-rust/thiserror-1.0.19:= <dev-rust/thiserror-2 >=dev-rust/xml-rs-0.8.3:= <dev-rust/xml-rs-0.9 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Generate JUnit compatible XML reports in Rust.
 EAPI=7
 HOMEPAGE=https://github.com/bachp/junit-report-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.4.0/r0
 SRC_URI=https://crates.io/api/v1/crates/junit-report/0.4.0/download -> junit-report-0.4.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=7f3012cca4626dc0e0274ee0c99282e5
diff --git a/metadata/md5-cache/dev-rust/kernel32-sys-0.2.2 b/metadata/md5-cache/dev-rust/kernel32-sys-0.2.2
index 76720d7..00d241f 100644
--- a/metadata/md5-cache/dev-rust/kernel32-sys-0.2.2
+++ b/metadata/md5-cache/dev-rust/kernel32-sys-0.2.2
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty kernel32-sys crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.2/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/lazy_static-1.4.0 b/metadata/md5-cache/dev-rust/lazy_static-1.4.0
index 63f8472a..4d17f5b 100644
--- a/metadata/md5-cache/dev-rust/lazy_static-1.4.0
+++ b/metadata/md5-cache/dev-rust/lazy_static-1.4.0
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/spin-0.5*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/spin-0.5*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A macro for declaring lazily evaluated statics in Rust.
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang-nursery/lazy-static.rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/spin-0.5*:=
+RDEPEND==dev-rust/spin-0.5*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=1.4.0/r0
 SRC_URI=https://crates.io/api/v1/crates/lazy_static/1.4.0/download -> lazy_static-1.4.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=d1cbfcfcb7e0ee8f0fea58b8a799a9f2
diff --git a/metadata/md5-cache/dev-rust/lazy_static-1.4.0-r2 b/metadata/md5-cache/dev-rust/lazy_static-1.4.0-r2
index e104d24..2653b81 100644
--- a/metadata/md5-cache/dev-rust/lazy_static-1.4.0-r2
+++ b/metadata/md5-cache/dev-rust/lazy_static-1.4.0-r2
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/spin-0.5*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/spin-0.5*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A macro for declaring lazily evaluated statics in Rust.
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang-nursery/lazy-static.rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/spin-0.5*:=
+RDEPEND==dev-rust/spin-0.5*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=1.4.0/r2
 SRC_URI=https://crates.io/api/v1/crates/lazy_static/1.4.0/download -> lazy_static-1.4.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=d1cbfcfcb7e0ee8f0fea58b8a799a9f2
diff --git a/metadata/md5-cache/dev-rust/lazycell-1.3.0 b/metadata/md5-cache/dev-rust/lazycell-1.3.0
index 522efc0..c9e1f32 100644
--- a/metadata/md5-cache/dev-rust/lazycell-1.3.0
+++ b/metadata/md5-cache/dev-rust/lazycell-1.3.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/clippy-0.0*:= =dev-rust/serde-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/clippy-0.0*:= =dev-rust/serde-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A library providing a lazily filled Cell struct
 EAPI=7
 HOMEPAGE=https://github.com/indiv0/lazycell
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.3.0/r0
 SRC_URI=https://crates.io/api/v1/crates/lazycell/1.3.0/download -> lazycell-1.3.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=2831a805c391e869f99e4ee356046dec
diff --git a/metadata/md5-cache/dev-rust/lexical-core-0.6.0 b/metadata/md5-cache/dev-rust/lexical-core-0.6.0
index 1fb64df..866c6a0 100644
--- a/metadata/md5-cache/dev-rust/lexical-core-0.6.0
+++ b/metadata/md5-cache/dev-rust/lexical-core-0.6.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty lexical-core crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.6.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=eebfd99c03729092f422b6acfa37c16c
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=402783165b9a92d1652d7ee105b0b8b4
diff --git a/metadata/md5-cache/dev-rust/libc-0.2.106 b/metadata/md5-cache/dev-rust/libc-0.2.106
index 245a4b6..9b2e163 100644
--- a/metadata/md5-cache/dev-rust/libc-0.2.106
+++ b/metadata/md5-cache/dev-rust/libc-0.2.106
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/rustc-std-workspace-core-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/rustc-std-workspace-core-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Raw FFI bindings to platform libraries like libc.
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang/libc
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/rustc-std-workspace-core-1*:=
+RDEPEND==dev-rust/rustc-std-workspace-core-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.106/r0
 SRC_URI=https://crates.io/api/v1/crates/libc/0.2.106/download -> libc-0.2.106.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=77bacdf5f7a847d3ad2f67def7a68b4b
diff --git a/metadata/md5-cache/dev-rust/libc-0.2.124 b/metadata/md5-cache/dev-rust/libc-0.2.124
new file mode 100644
index 0000000..99dbd56
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/libc-0.2.124
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/rustc-std-workspace-core-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Raw FFI bindings to platform libraries like libc.
+EAPI=7
+HOMEPAGE=https://github.com/rust-lang/libc
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/rustc-std-workspace-core-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.2.124/r0
+SRC_URI=https://crates.io/api/v1/crates/libc/0.2.124/download -> libc-0.2.124.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f866f9508db58db29c50b2e56cda798f
diff --git a/metadata/md5-cache/dev-rust/libchromeos-0.1.0-r56 b/metadata/md5-cache/dev-rust/libchromeos-0.1.0-r56
deleted file mode 100644
index 11bbd93..0000000
--- a/metadata/md5-cache/dev-rust/libchromeos-0.1.0-r56
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-rust/data_model:= =dev-rust/dbus-0.9*:= =dev-rust/futures-0.3*:= =dev-rust/getopts-0.2*:= =dev-rust/intrusive-collections-0.9*:= >=dev-rust/lazy_static-1.4.0 <dev-rust/lazy_static-2.0.0_alpha:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= >=dev-rust/pkg-config-0.3.11 <dev-rust/pkg-config-0.4.0_alpha:= >=dev-rust/protobuf-2.1 <dev-rust/protobuf-3.0_alpha:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2_alpha:= =dev-rust/serde_derive-1*:= dev-rust/sys_util:= dev-rust/system_api:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:= dev-rust/vboot_reference-sys:= >=dev-rust/zeroize-1.2.0 <dev-rust/zeroize-2.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A Rust utility library for Chrome OS
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libchromeos-rs/
-IUSE=test cros_host cros_workon_tree_769c1f1daa4e9819ef404687a209c67e5fa72401 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-rust/data_model:= =dev-rust/dbus-0.9*:= =dev-rust/futures-0.3*:= =dev-rust/getopts-0.2*:= =dev-rust/intrusive-collections-0.9*:= >=dev-rust/lazy_static-1.4.0 <dev-rust/lazy_static-2.0.0_alpha:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= >=dev-rust/pkg-config-0.3.11 <dev-rust/pkg-config-0.4.0_alpha:= >=dev-rust/protobuf-2.1 <dev-rust/protobuf-3.0_alpha:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2_alpha:= =dev-rust/serde_derive-1*:= dev-rust/sys_util:= dev-rust/system_api:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:= dev-rust/vboot_reference-sys:= >=dev-rust/zeroize-1.2.0 <dev-rust/zeroize-2.0.0_alpha:= !!<=dev-rust/libchromeos-0.1.0-r2
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r56
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=dd33528e7e02db33849a800fa3dbb4d2
diff --git a/metadata/md5-cache/dev-rust/libchromeos-0.1.0-r61 b/metadata/md5-cache/dev-rust/libchromeos-0.1.0-r61
new file mode 100644
index 0000000..ba59635
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/libchromeos-0.1.0-r61
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=chromeos-base/crosvm-base:= =dev-rust/dbus-0.9*:= =dev-rust/lazy_static-1*:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/multi_log-0.1*:= =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= =dev-rust/stderrlog-0.5*:= =dev-rust/syslog-6*:= dev-rust/system_api:= =dev-rust/thiserror-1*:= dev-rust/vboot_reference-sys:= =dev-rust/zeroize-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A Rust utility library for Chrome OS
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libchromeos-rs/
+IUSE=test cros_host cros_workon_tree_1bd2df917ffe0fcefbb459b4c1d9838bfacffc8e cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/crosvm-base:= =dev-rust/dbus-0.9*:= =dev-rust/lazy_static-1*:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/multi_log-0.1*:= =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= =dev-rust/stderrlog-0.5*:= =dev-rust/syslog-6*:= dev-rust/system_api:= =dev-rust/thiserror-1*:= dev-rust/vboot_reference-sys:= =dev-rust/zeroize-1*:= !!<=dev-rust/libchromeos-0.1.0-r2 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r61
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=39a0075082c3901e668944f1e66b6813
diff --git a/metadata/md5-cache/dev-rust/libchromeos-9999 b/metadata/md5-cache/dev-rust/libchromeos-9999
index 95e6e7b..1363139 100644
--- a/metadata/md5-cache/dev-rust/libchromeos-9999
+++ b/metadata/md5-cache/dev-rust/libchromeos-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-rust/data_model:= =dev-rust/dbus-0.9*:= =dev-rust/futures-0.3*:= =dev-rust/getopts-0.2*:= =dev-rust/intrusive-collections-0.9*:= >=dev-rust/lazy_static-1.4.0 <dev-rust/lazy_static-2.0.0_alpha:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= >=dev-rust/pkg-config-0.3.11 <dev-rust/pkg-config-0.4.0_alpha:= >=dev-rust/protobuf-2.1 <dev-rust/protobuf-3.0_alpha:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2_alpha:= =dev-rust/serde_derive-1*:= dev-rust/sys_util:= dev-rust/system_api:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:= dev-rust/vboot_reference-sys:= >=dev-rust/zeroize-1.2.0 <dev-rust/zeroize-2.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=chromeos-base/crosvm-base:= =dev-rust/dbus-0.9*:= =dev-rust/lazy_static-1*:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/multi_log-0.1*:= =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= =dev-rust/stderrlog-0.5*:= =dev-rust/syslog-6*:= dev-rust/system_api:= =dev-rust/thiserror-1*:= dev-rust/vboot_reference-sys:= =dev-rust/zeroize-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A Rust utility library for Chrome OS
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libchromeos-rs/
-IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=dev-rust/data_model:= =dev-rust/dbus-0.9*:= =dev-rust/futures-0.3*:= =dev-rust/getopts-0.2*:= =dev-rust/intrusive-collections-0.9*:= >=dev-rust/lazy_static-1.4.0 <dev-rust/lazy_static-2.0.0_alpha:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= >=dev-rust/pkg-config-0.3.11 <dev-rust/pkg-config-0.4.0_alpha:= >=dev-rust/protobuf-2.1 <dev-rust/protobuf-3.0_alpha:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2_alpha:= =dev-rust/serde_derive-1*:= dev-rust/sys_util:= dev-rust/system_api:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0_alpha:= dev-rust/vboot_reference-sys:= >=dev-rust/zeroize-1.2.0 <dev-rust/zeroize-2.0.0_alpha:= !!<=dev-rust/libchromeos-0.1.0-r2
+RDEPEND=chromeos-base/crosvm-base:= =dev-rust/dbus-0.9*:= =dev-rust/lazy_static-1*:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/multi_log-0.1*:= =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= =dev-rust/stderrlog-0.5*:= =dev-rust/syslog-6*:= dev-rust/system_api:= =dev-rust/thiserror-1*:= dev-rust/vboot_reference-sys:= =dev-rust/zeroize-1*:= !!<=dev-rust/libchromeos-0.1.0-r2 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6029125e74a1f110ad5d52390ba14323
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d9be0072b8863ce66325dcc5424d4ff2
diff --git a/metadata/md5-cache/dev-rust/libdbus-sys-0.1.3 b/metadata/md5-cache/dev-rust/libdbus-sys-0.1.3
index 6739d77..051f0cc 100644
--- a/metadata/md5-cache/dev-rust/libdbus-sys-0.1.3
+++ b/metadata/md5-cache/dev-rust/libdbus-sys-0.1.3
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/pkg-config-0.3:= sys-apps/dbus >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/pkg-config-0.3:= sys-apps/dbus >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust FFI bindings to libdbus.
 EAPI=7
 HOMEPAGE=https://github.com/diwic/dbus-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/pkg-config-0.3:= sys-apps/dbus
+RDEPEND=>=dev-rust/pkg-config-0.3:= sys-apps/dbus virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.3/r0
 SRC_URI=https://crates.io/api/v1/crates/libdbus-sys/0.1.3/download -> libdbus-sys-0.1.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=220e9b000799261fd73e6c58e4648307
diff --git a/metadata/md5-cache/dev-rust/libdbus-sys-0.1.3-r2 b/metadata/md5-cache/dev-rust/libdbus-sys-0.1.3-r2
index 12518a1..672ed27 100644
--- a/metadata/md5-cache/dev-rust/libdbus-sys-0.1.3-r2
+++ b/metadata/md5-cache/dev-rust/libdbus-sys-0.1.3-r2
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/pkg-config-0.3:= sys-apps/dbus >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/pkg-config-0.3:= sys-apps/dbus >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust FFI bindings to libdbus.
 EAPI=7
 HOMEPAGE=https://github.com/diwic/dbus-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/pkg-config-0.3:= sys-apps/dbus
+RDEPEND=>=dev-rust/pkg-config-0.3:= sys-apps/dbus virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.3/r2
 SRC_URI=https://crates.io/api/v1/crates/libdbus-sys/0.1.3/download -> libdbus-sys-0.1.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=220e9b000799261fd73e6c58e4648307
diff --git a/metadata/md5-cache/dev-rust/libdbus-sys-0.2.1 b/metadata/md5-cache/dev-rust/libdbus-sys-0.2.1
index 685992e..7679010 100644
--- a/metadata/md5-cache/dev-rust/libdbus-sys-0.2.1
+++ b/metadata/md5-cache/dev-rust/libdbus-sys-0.2.1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/pkg-config-0.3*:= sys-apps/dbus:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/pkg-config-0.3*:= sys-apps/dbus:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust FFI bindings to libdbus.
 EAPI=7
 HOMEPAGE=https://github.com/diwic/dbus-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.1/r0
 SRC_URI=https://crates.io/api/v1/crates/libdbus-sys/0.2.1/download -> libdbus-sys-0.2.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=d90ad91a6a21f3d0eb443f37a61e500c
diff --git a/metadata/md5-cache/dev-rust/libgit2-sys-0.8.0 b/metadata/md5-cache/dev-rust/libgit2-sys-0.8.0
index e6dc221..cac4751 100644
--- a/metadata/md5-cache/dev-rust/libgit2-sys-0.8.0
+++ b/metadata/md5-cache/dev-rust/libgit2-sys-0.8.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/cc-1.0.25:= >=dev-rust/libc-0.2:= >=dev-rust/libssh2-sys-0.2.11:= >=dev-rust/libz-sys-1.0.22:= >=dev-rust/pkg-config-0.3.7:= >=dev-rust/openssl-sys-0.9.47:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/cc-1.0.25:= >=dev-rust/libc-0.2:= >=dev-rust/libssh2-sys-0.2.11:= >=dev-rust/libz-sys-1.0.22:= >=dev-rust/pkg-config-0.3.7:= >=dev-rust/openssl-sys-0.9.47:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Native bindings to the libgit2 library
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/rust-lang/git2-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.8.0/r0
 SRC_URI=https://crates.io/api/v1/crates/libgit2-sys/0.8.0/download -> libgit2-sys-0.8.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=e554571ba4c274b62089eadcb7e79636
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=da0e159a072799e386cceed794d561b6
diff --git a/metadata/md5-cache/dev-rust/libloading-0.7.0 b/metadata/md5-cache/dev-rust/libloading-0.7.0
index 5038592..379a4ad 100644
--- a/metadata/md5-cache/dev-rust/libloading-0.7.0
+++ b/metadata/md5-cache/dev-rust/libloading-0.7.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/cfg-if-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/cfg-if-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A safer binding to platform’s dynamic library loading utilities
 EAPI=7
 HOMEPAGE=https://crates.io/crates/libloading
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=ISC
-RDEPEND==dev-rust/cfg-if-1*:=
+RDEPEND==dev-rust/cfg-if-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.7.0/r0
 SRC_URI=https://crates.io/api/v1/crates/libloading/0.7.0/download -> libloading-0.7.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=20121da4725702b4d726ff3831d4d2d4
diff --git a/metadata/md5-cache/dev-rust/libnghttp2-sys-0.1.1 b/metadata/md5-cache/dev-rust/libnghttp2-sys-0.1.1
deleted file mode 100644
index 2dc4c2e..0000000
--- a/metadata/md5-cache/dev-rust/libnghttp2-sys-0.1.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/cc-1.0.24:= =dev-rust/libc-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A common library for linking nghttp2 to rust programs (also known as libnghttp2).
-EAPI=6
-HOMEPAGE=https://github.com/alexcrichton/nghttp2-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.1/r0
-SRC_URI=https://crates.io/api/v1/crates/libnghttp2-sys/0.1.1/download -> libnghttp2-sys-0.1.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=5d207b657a14d4ace1a66cba852d7529
diff --git a/metadata/md5-cache/dev-rust/libslirp-sys-4.2.1 b/metadata/md5-cache/dev-rust/libslirp-sys-4.2.1
new file mode 100644
index 0000000..2280432
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/libslirp-sys-4.2.1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty libslirp-sys crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=4.2.1/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=086a77f3d879e68e874d6ced452da6f1
diff --git a/metadata/md5-cache/dev-rust/libsqlite3-sys-0.15.0 b/metadata/md5-cache/dev-rust/libsqlite3-sys-0.15.0
deleted file mode 100644
index 70e4582..0000000
--- a/metadata/md5-cache/dev-rust/libsqlite3-sys-0.15.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bindgen-0.49*:= =dev-rust/cc-1*:= =dev-rust/pkg-config-0.3*:= =dev-rust/vcpkg-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Native bindings to the libsqlite3 library
-EAPI=6
-HOMEPAGE=https://github.com/jgallagher/rusqlite
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.15.0/r0
-SRC_URI=https://crates.io/api/v1/crates/libsqlite3-sys/0.15.0/download -> libsqlite3-sys-0.15.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=e308356015f92177baacdf7901e4cb9b
diff --git a/metadata/md5-cache/dev-rust/libssh2-sys-0.2.11 b/metadata/md5-cache/dev-rust/libssh2-sys-0.2.11
index 96b6bcb..435f377 100644
--- a/metadata/md5-cache/dev-rust/libssh2-sys-0.2.11
+++ b/metadata/md5-cache/dev-rust/libssh2-sys-0.2.11
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/cc-1.0.25:= >=dev-rust/libc-0.2:= >=dev-rust/libz-sys-1.0.21:= >=dev-rust/openssl-sys-0.9.35:= >=dev-rust/pkg-config-0.3.11:= >=dev-rust/vcpkg-0.2:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/cc-1.0.25:= >=dev-rust/libc-0.2:= >=dev-rust/libz-sys-1.0.21:= >=dev-rust/openssl-sys-0.9.35:= >=dev-rust/pkg-config-0.3.11:= >=dev-rust/vcpkg-0.2:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Native bindings to the libssh2 library
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/alexcrichton/ssh2-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.11/r0
 SRC_URI=https://crates.io/api/v1/crates/libssh2-sys/0.2.11/download -> libssh2-sys-0.2.11.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=e6510c3b34f2088db6bd4c5ca18996bb
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c886597866d8553e2b7c32df40442901
diff --git a/metadata/md5-cache/dev-rust/libudev-0.2.0 b/metadata/md5-cache/dev-rust/libudev-0.2.0
index 12ed632..777af426 100644
--- a/metadata/md5-cache/dev-rust/libudev-0.2.0
+++ b/metadata/md5-cache/dev-rust/libudev-0.2.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/libc-0.2*:= >=dev-rust/libudev-sys-0.1.3 <dev-rust/libudev-sys-0.2.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/libc-0.2*:= >=dev-rust/libudev-sys-0.1.3 <dev-rust/libudev-sys-0.2.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust wrapper for libudev
 EAPI=7
 HOMEPAGE=https://github.com/dcuddeback/libudev-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/libc-0.2*:= >=dev-rust/libudev-sys-0.1.3 <dev-rust/libudev-sys-0.2.0_alpha:=
+RDEPEND==dev-rust/libc-0.2*:= >=dev-rust/libudev-sys-0.1.3 <dev-rust/libudev-sys-0.2.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.0/r0
 SRC_URI=https://crates.io/api/v1/crates/libudev/0.2.0/download -> libudev-0.2.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f40bfe12cbd05ac70060d8fe2d6b4f04
diff --git a/metadata/md5-cache/dev-rust/libudev-sys-0.1.4 b/metadata/md5-cache/dev-rust/libudev-sys-0.1.4
index a36a257..a84edbd 100644
--- a/metadata/md5-cache/dev-rust/libudev-sys-0.1.4
+++ b/metadata/md5-cache/dev-rust/libudev-sys-0.1.4
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/libc-0.2*:= >=dev-rust/pkg-config-0.3.2 <dev-rust/pkg-config-0.4.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/libc-0.2*:= >=dev-rust/pkg-config-0.3.2 <dev-rust/pkg-config-0.4.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=FFI bindings to libudev
 EAPI=7
 HOMEPAGE=https://github.com/dcuddeback/libudev-sys
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/libc-0.2*:= >=dev-rust/pkg-config-0.3.2 <dev-rust/pkg-config-0.4.0_alpha:=
+RDEPEND==dev-rust/libc-0.2*:= >=dev-rust/pkg-config-0.3.2 <dev-rust/pkg-config-0.4.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.4/r0
 SRC_URI=https://crates.io/api/v1/crates/libudev-sys/0.1.4/download -> libudev-sys-0.1.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=608060eb5dd16f33ee90fb95c35d3b25
diff --git a/metadata/md5-cache/dev-rust/libusb1-sys-0.3.7 b/metadata/md5-cache/dev-rust/libusb1-sys-0.3.7
index 1e0f33f..49f9ed3 100644
--- a/metadata/md5-cache/dev-rust/libusb1-sys-0.3.7
+++ b/metadata/md5-cache/dev-rust/libusb1-sys-0.3.7
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/libc-0.2*:= =dev-rust/pkg-config-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/libc-0.2*:= =dev-rust/pkg-config-0.3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=FFI bindings for libusb
 EAPI=7
 HOMEPAGE=https://docs.rs/crate/libusb1-sys/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/libc-0.2*:= =dev-rust/pkg-config-0.3*:=
+RDEPEND==dev-rust/libc-0.2*:= =dev-rust/pkg-config-0.3*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.7/r0
 SRC_URI=https://crates.io/api/v1/crates/libusb1-sys/0.3.7/download -> libusb1-sys-0.3.7.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=dc44a266a7ab8525eb4a883ed26bf30d
diff --git a/metadata/md5-cache/dev-rust/libusb1-sys-0.3.7-r2 b/metadata/md5-cache/dev-rust/libusb1-sys-0.3.7-r2
index 6a46e44..34a2afb 100644
--- a/metadata/md5-cache/dev-rust/libusb1-sys-0.3.7-r2
+++ b/metadata/md5-cache/dev-rust/libusb1-sys-0.3.7-r2
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/libc-0.2*:= =dev-rust/pkg-config-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/libc-0.2*:= =dev-rust/pkg-config-0.3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=FFI bindings for libusb
 EAPI=7
 HOMEPAGE=https://docs.rs/crate/libusb1-sys/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/libc-0.2*:= =dev-rust/pkg-config-0.3*:=
+RDEPEND==dev-rust/libc-0.2*:= =dev-rust/pkg-config-0.3*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.7/r2
 SRC_URI=https://crates.io/api/v1/crates/libusb1-sys/0.3.7/download -> libusb1-sys-0.3.7.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=dc44a266a7ab8525eb4a883ed26bf30d
diff --git a/metadata/md5-cache/dev-rust/libusb1-sys-0.5.0 b/metadata/md5-cache/dev-rust/libusb1-sys-0.5.0
index 2fb6636..6e77991 100644
--- a/metadata/md5-cache/dev-rust/libusb1-sys-0.5.0
+++ b/metadata/md5-cache/dev-rust/libusb1-sys-0.5.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/libc-0.2*:= =dev-rust/cc-1*:= =dev-rust/pkg-config-0.3*:= virtual/libusb:1 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/libc-0.2*:= =dev-rust/cc-1*:= =dev-rust/pkg-config-0.3*:= virtual/libusb:1 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=FFI bindings for libusb.
 EAPI=7
 HOMEPAGE=https://github.com/a1ien/libusb1-sys
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/libc-0.2*:= =dev-rust/cc-1*:= =dev-rust/pkg-config-0.3*:= virtual/libusb:1
+RDEPEND==dev-rust/libc-0.2*:= =dev-rust/cc-1*:= =dev-rust/pkg-config-0.3*:= virtual/libusb:1 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.5.0/r0
 SRC_URI=https://crates.io/api/v1/crates/libusb1-sys/0.5.0/download -> libusb1-sys-0.5.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=aa185c8162f7752bea051456060c1559
diff --git a/metadata/md5-cache/dev-rust/libz-sys-1.1.2 b/metadata/md5-cache/dev-rust/libz-sys-1.1.2
index c7f5c68..35ac13f 100644
--- a/metadata/md5-cache/dev-rust/libz-sys-1.1.2
+++ b/metadata/md5-cache/dev-rust/libz-sys-1.1.2
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2.43:= <dev-rust/libc-0.3 >=dev-rust/cc-1.0.18:= <dev-rust/cc-2 >=dev-rust/pkg-config-0.3.9:= <dev-rust/pkg-config-0.4 >=dev-rust/vcpkg-0.2:= <dev-rust/vcpkg-0.3 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/libc-0.2.43:= <dev-rust/libc-0.3 >=dev-rust/cc-1.0.18:= <dev-rust/cc-2 >=dev-rust/pkg-config-0.3.9:= <dev-rust/pkg-config-0.4 >=dev-rust/vcpkg-0.2:= <dev-rust/vcpkg-0.3 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Bindings to the system libz library (also known as zlib).
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang/libz-sys
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.1.2/r0
 SRC_URI=https://crates.io/api/v1/crates/libz-sys/1.1.2/download -> libz-sys-1.1.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=51a7331d3ae6a4f9bca1f08f44edfc4f
diff --git a/metadata/md5-cache/dev-rust/linked-hash-map-0.5.4 b/metadata/md5-cache/dev-rust/linked-hash-map-0.5.4
index 7be2b405..5b80da7 100644
--- a/metadata/md5-cache/dev-rust/linked-hash-map-0.5.4
+++ b/metadata/md5-cache/dev-rust/linked-hash-map-0.5.4
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/clippy-0.0*:= =dev-rust/heapsize-0.4*:= =dev-rust/serde-1*:= =dev-rust/serde_test-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/clippy-0.0*:= =dev-rust/heapsize-0.4*:= =dev-rust/serde-1*:= =dev-rust/serde_test-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A HashMap wrapper that holds key-value pairs in insertion order
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/contain-rs/linked-hash-map
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.5.4/r0
 SRC_URI=https://crates.io/api/v1/crates/linked-hash-map/0.5.4/download -> linked-hash-map-0.5.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=4b31628cef5d2efe3d65c9cffa14ee56
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=eb4202058094261a1de7cb1ea616f2e5
diff --git a/metadata/md5-cache/dev-rust/linux-embedded-hal-0.3.2 b/metadata/md5-cache/dev-rust/linux-embedded-hal-0.3.2
index 351794a..5304761 100644
--- a/metadata/md5-cache/dev-rust/linux-embedded-hal-0.3.2
+++ b/metadata/md5-cache/dev-rust/linux-embedded-hal-0.3.2
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/cast-0.3*:= >=dev-rust/embedded-hal-0.2.6 <dev-rust/embedded-hal-0.3.0_alpha:= =dev-rust/gpio-cdev-0.5*:= =dev-rust/i2cdev-0.5*:= >=dev-rust/nb-0.1.3 <dev-rust/nb-0.2.0_alpha:= =dev-rust/serial-core-0.4*:= =dev-rust/serial-unix-0.4*:= =dev-rust/spidev-0.5*:= =dev-rust/sysfs_gpio-0.6*:= =dev-rust/void-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/cast-0.3*:= >=dev-rust/embedded-hal-0.2.6 <dev-rust/embedded-hal-0.3.0_alpha:= =dev-rust/gpio-cdev-0.5*:= =dev-rust/i2cdev-0.5*:= >=dev-rust/nb-0.1.3 <dev-rust/nb-0.2.0_alpha:= =dev-rust/serial-core-0.4*:= =dev-rust/serial-unix-0.4*:= =dev-rust/spidev-0.5*:= =dev-rust/sysfs_gpio-0.6*:= =dev-rust/void-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Implementation of the "embedded-hal" traits for Linux devices
 EAPI=7
 HOMEPAGE=https://crates.io/crates/linux-embedded-hal
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/cast-0.3*:= >=dev-rust/embedded-hal-0.2.6 <dev-rust/embedded-hal-0.3.0_alpha:= =dev-rust/gpio-cdev-0.5*:= =dev-rust/i2cdev-0.5*:= >=dev-rust/nb-0.1.3 <dev-rust/nb-0.2.0_alpha:= =dev-rust/serial-core-0.4*:= =dev-rust/serial-unix-0.4*:= =dev-rust/spidev-0.5*:= =dev-rust/sysfs_gpio-0.6*:= =dev-rust/void-1*:=
+RDEPEND==dev-rust/cast-0.3*:= >=dev-rust/embedded-hal-0.2.6 <dev-rust/embedded-hal-0.3.0_alpha:= =dev-rust/gpio-cdev-0.5*:= =dev-rust/i2cdev-0.5*:= >=dev-rust/nb-0.1.3 <dev-rust/nb-0.2.0_alpha:= =dev-rust/serial-core-0.4*:= =dev-rust/serial-unix-0.4*:= =dev-rust/spidev-0.5*:= =dev-rust/sysfs_gpio-0.6*:= =dev-rust/void-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.3.2/r0
 SRC_URI=https://crates.io/api/v1/crates/linux-embedded-hal/0.3.2/download -> linux-embedded-hal-0.3.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=512c60a5015de1019c1dcac4aa40d271
diff --git a/metadata/md5-cache/dev-rust/lock_api-0.4.4 b/metadata/md5-cache/dev-rust/lock_api-0.4.4
index 64b5e1c..4685f1d 100644
--- a/metadata/md5-cache/dev-rust/lock_api-0.4.4
+++ b/metadata/md5-cache/dev-rust/lock_api-0.4.4
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/owning_ref-0.4.1 <dev-rust/owning_ref-0.5.0_alpha:= >=dev-rust/scopeguard-1.1.0 <dev-rust/scopeguard-2.0.0_alpha:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/owning_ref-0.4.1 <dev-rust/owning_ref-0.5.0_alpha:= >=dev-rust/scopeguard-1.1.0 <dev-rust/scopeguard-2.0.0_alpha:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/lock_api
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
-RDEPEND=>=dev-rust/owning_ref-0.4.1 <dev-rust/owning_ref-0.5.0_alpha:= >=dev-rust/scopeguard-1.1.0 <dev-rust/scopeguard-2.0.0_alpha:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2.0.0_alpha:=
+RDEPEND=>=dev-rust/owning_ref-0.4.1 <dev-rust/owning_ref-0.5.0_alpha:= >=dev-rust/scopeguard-1.1.0 <dev-rust/scopeguard-2.0.0_alpha:= >=dev-rust/serde-1.0.114 <dev-rust/serde-2.0.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.4.4/r0
 SRC_URI=https://crates.io/api/v1/crates/lock_api/0.4.4/download -> lock_api-0.4.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=4c9b79c52ef41c54f8ff8ddefe3d92b0
diff --git a/metadata/md5-cache/dev-rust/lock_api-0.4.7 b/metadata/md5-cache/dev-rust/lock_api-0.4.7
new file mode 100644
index 0000000..1e61d46
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/lock_api-0.4.7
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/owning_ref-0.4.1 <dev-rust/owning_ref-0.5.0_alpha:= >=dev-rust/scopeguard-1.1.0 <dev-rust/scopeguard-2.0.0_alpha:= >=dev-rust/serde-1.0.126 <dev-rust/serde-2.0.0_alpha:= >=dev-rust/autocfg-1.1.0 <dev-rust/autocfg-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/lock_api
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/owning_ref-0.4.1 <dev-rust/owning_ref-0.5.0_alpha:= >=dev-rust/scopeguard-1.1.0 <dev-rust/scopeguard-2.0.0_alpha:= >=dev-rust/serde-1.0.126 <dev-rust/serde-2.0.0_alpha:= >=dev-rust/autocfg-1.1.0 <dev-rust/autocfg-2.0.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.4.7/r0
+SRC_URI=https://crates.io/api/v1/crates/lock_api/0.4.7/download -> lock_api-0.4.7.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=18f9b079841b7b1054942d85bd3563fe
diff --git a/metadata/md5-cache/dev-rust/log-0.4.14 b/metadata/md5-cache/dev-rust/log-0.4.14
index 17b849e..48bf209 100644
--- a/metadata/md5-cache/dev-rust/log-0.4.14
+++ b/metadata/md5-cache/dev-rust/log-0.4.14
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/cfg-if-1*:= =dev-rust/serde-1*:= =dev-rust/sval-1*:= =dev-rust/value-bag-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/cfg-if-1*:= =dev-rust/serde-1*:= =dev-rust/sval-1*:= =dev-rust/value-bag-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A lightweight logging facade for Rust
 EAPI=7
 HOMEPAGE=https://crates.io/crates/log
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/cfg-if-1*:= =dev-rust/serde-1*:= =dev-rust/sval-1*:= =dev-rust/value-bag-1*:=
+RDEPEND==dev-rust/cfg-if-1*:= =dev-rust/serde-1*:= =dev-rust/sval-1*:= =dev-rust/value-bag-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.4.14/r0
 SRC_URI=https://crates.io/api/v1/crates/log/0.4.14/download -> log-0.4.14.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=3bc94ed9dbbd2ada973fe32b05eb6e69
diff --git a/metadata/md5-cache/dev-rust/lru-0.6.5 b/metadata/md5-cache/dev-rust/lru-0.6.5
deleted file mode 100644
index 0dc4be3..0000000
--- a/metadata/md5-cache/dev-rust/lru-0.6.5
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/hashbrown-0.9*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A LRU cache implementation
-EAPI=7
-HOMEPAGE=https://github.com/jeromefroe/lru-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND==dev-rust/hashbrown-0.9*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.6.5/r0
-SRC_URI=https://crates.io/api/v1/crates/lru/0.6.5/download -> lru-0.6.5.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=179ea1f87824727c0f1909d81a8f57f3
diff --git a/metadata/md5-cache/dev-rust/lru-cache-0.1.2 b/metadata/md5-cache/dev-rust/lru-cache-0.1.2
deleted file mode 100644
index 886fd7d..0000000
--- a/metadata/md5-cache/dev-rust/lru-cache-0.1.2
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/linked-hash-map-0.5*:= =dev-rust/heapsize-0.4*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A cache that holds a limited number of key-value pairs
-EAPI=6
-HOMEPAGE=https://github.com/contain-rs/lru-cache
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.2/r0
-SRC_URI=https://crates.io/api/v1/crates/lru-cache/0.1.2/download -> lru-cache-0.1.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=ca44c14b6ca8abfa3bcce15535f7c4a2
diff --git a/metadata/md5-cache/dev-rust/managed-0.8.0 b/metadata/md5-cache/dev-rust/managed-0.8.0
index 269e9cd..5336c10 100644
--- a/metadata/md5-cache/dev-rust/managed-0.8.0
+++ b/metadata/md5-cache/dev-rust/managed-0.8.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=managed is a library that provides a way to logically own objects, whether or not heap allocation is available.
 EAPI=7
 HOMEPAGE=https://github.com/smoltcp-rs/rust-managed
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=BSD
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.8.0/r0
 SRC_URI=https://crates.io/api/v1/crates/managed/0.8.0/download -> managed-0.8.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=8fd32779cc99e75a82e21c06e0ba87b6
diff --git a/metadata/md5-cache/dev-rust/manatee-client-0.24.52-r31 b/metadata/md5-cache/dev-rust/manatee-client-0.24.52-r31
deleted file mode 100644
index 2116cd8..0000000
--- a/metadata/md5-cache/dev-rust/manatee-client-0.24.52-r31
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=sirenia? ( chromeos-base/sirenia-tools ) dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=sys-apps/dbus sirenia? ( chromeos-base/manatee-runtime ) chromeos-base/libsirenia:= =dev-rust/anyhow-1*:= dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= =dev-rust/getopts-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/stderrlog-0.5*:= dev-rust/sys_util:= >=dev-rust/termion-1.5.0 <dev-rust/termion-2.0.0:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 =dev-rust/which-4*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Rust D-Bus bindings for ManaTEE.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/manatee-client
-IUSE=sirenia cros_host cros_workon_tree_a45d74935ed8a1b416a2704f61f7b0db2709db63_25a1ae7cda68dd556be3abce89032e8c2298d5c4 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=sys-apps/dbus sirenia? ( chromeos-base/manatee-runtime )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.24.52-r31
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=b76cce77d471caa67256e473e6c379d8
diff --git a/metadata/md5-cache/dev-rust/manatee-client-0.24.52-r43 b/metadata/md5-cache/dev-rust/manatee-client-0.24.52-r43
new file mode 100644
index 0000000..62a75bb
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/manatee-client-0.24.52-r43
@@ -0,0 +1,15 @@
+BDEPEND=sirenia? ( chromeos-base/sirenia-tools ) dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=chromeos-base/crosvm-base:= chromeos-base/libsirenia:= =dev-rust/anyhow-1*:= dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= =dev-rust/getopts-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/stderrlog-0.5*:= =dev-rust/thiserror-1*:= =dev-rust/which-4*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Rust D-Bus bindings for ManaTEE.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/manatee-client
+IUSE=sirenia cros_host cros_workon_tree_ce7b9998eda3497ef3ccafe00cbefc08b940240c_2760d1ea048101782b134e43d5c1149e5e227ad2 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/crosvm-base:= chromeos-base/libsirenia:= =dev-rust/anyhow-1*:= dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= =dev-rust/getopts-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/stderrlog-0.5*:= =dev-rust/thiserror-1*:= =dev-rust/which-4*:= sys-apps/dbus sirenia? ( chromeos-base/manatee-runtime ) virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.24.52-r43
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1bda2bbbf33933106d2da7255feb7827
diff --git a/metadata/md5-cache/dev-rust/manatee-client-9999 b/metadata/md5-cache/dev-rust/manatee-client-9999
index ad30d43..7826546 100644
--- a/metadata/md5-cache/dev-rust/manatee-client-9999
+++ b/metadata/md5-cache/dev-rust/manatee-client-9999
@@ -1,15 +1,15 @@
 BDEPEND=sirenia? ( chromeos-base/sirenia-tools ) dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=sys-apps/dbus sirenia? ( chromeos-base/manatee-runtime ) chromeos-base/libsirenia:= =dev-rust/anyhow-1*:= dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= =dev-rust/getopts-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/stderrlog-0.5*:= dev-rust/sys_util:= >=dev-rust/termion-1.5.0 <dev-rust/termion-2.0.0:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 =dev-rust/which-4*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=chromeos-base/crosvm-base:= chromeos-base/libsirenia:= =dev-rust/anyhow-1*:= dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= =dev-rust/getopts-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/stderrlog-0.5*:= =dev-rust/thiserror-1*:= =dev-rust/which-4*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust D-Bus bindings for ManaTEE.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/sirenia/manatee-client
-IUSE=sirenia cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=sirenia cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=sys-apps/dbus sirenia? ( chromeos-base/manatee-runtime )
+RDEPEND=chromeos-base/crosvm-base:= chromeos-base/libsirenia:= =dev-rust/anyhow-1*:= dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= =dev-rust/getopts-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= =dev-rust/stderrlog-0.5*:= =dev-rust/thiserror-1*:= =dev-rust/which-4*:= sys-apps/dbus sirenia? ( chromeos-base/manatee-runtime ) virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=bd8db5e10799c2f94ef32a776f4e532d
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a4d79d02ad4b9e19e1a096754e276ea2
diff --git a/metadata/md5-cache/dev-rust/match_cfg-0.1.0 b/metadata/md5-cache/dev-rust/match_cfg-0.1.0
new file mode 100644
index 0000000..02967ce
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/match_cfg-0.1.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A convenience macro to ergonomically define an item depending on a large number of "#[cfg]" parameters. Structured like match statement, the first matching branch is the item that gets emitted.
+EAPI=7
+HOMEPAGE=https://github.com/gnzlbg/match_cfg
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.1.0/r0
+SRC_URI=https://crates.io/api/v1/crates/match_cfg/0.1.0/download -> match_cfg-0.1.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2eab8fe49e14f035e41ef918416a1c20
diff --git a/metadata/md5-cache/dev-rust/matches-0.1.8 b/metadata/md5-cache/dev-rust/matches-0.1.8
index 5881a93..4810a88 100644
--- a/metadata/md5-cache/dev-rust/matches-0.1.8
+++ b/metadata/md5-cache/dev-rust/matches-0.1.8
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A macro to evaluate, as a boolean, whether an expression matches a pattern
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/SimonSapin/rust-std-candidates
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.8/r0
 SRC_URI=https://crates.io/api/v1/crates/matches/0.1.8/download -> matches-0.1.8.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=4a292c75abb4d90b66d1c3feae66831e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=efdbce1efedaa1817224ef71a4623fd1
diff --git a/metadata/md5-cache/dev-rust/maybe-uninit-2.0.0 b/metadata/md5-cache/dev-rust/maybe-uninit-2.0.0
index 0470f88..c8de6d2 100644
--- a/metadata/md5-cache/dev-rust/maybe-uninit-2.0.0
+++ b/metadata/md5-cache/dev-rust/maybe-uninit-2.0.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=MaybeUninit for friends of backwards compatibility
 EAPI=7
 HOMEPAGE=https://crates.io/crates/maybe-uninit
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=2.0.0/r0
 SRC_URI=https://crates.io/api/v1/crates/maybe-uninit/2.0.0/download -> maybe-uninit-2.0.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=3643f4199a90280407778d2a19d5ed88
diff --git a/metadata/md5-cache/dev-rust/md5-0.7.0 b/metadata/md5-cache/dev-rust/md5-0.7.0
index b5c3793..d2d21a6 100644
--- a/metadata/md5-cache/dev-rust/md5-0.7.0
+++ b/metadata/md5-cache/dev-rust/md5-0.7.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.7.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/memchr-2.4.1 b/metadata/md5-cache/dev-rust/memchr-2.4.1
index 05cef9a..8bcb27c 100644
--- a/metadata/md5-cache/dev-rust/memchr-2.4.1
+++ b/metadata/md5-cache/dev-rust/memchr-2.4.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= >=dev-rust/libc-0.2.18 <dev-rust/libc-0.3.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= >=dev-rust/libc-0.2.18 <dev-rust/libc-0.3.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Safe interface to memchr.
 EAPI=7
 HOMEPAGE=https://github.com/BurntSushi/memchr
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= >=dev-rust/libc-0.2.18 <dev-rust/libc-0.3.0_alpha:=
+RDEPEND=>=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= >=dev-rust/libc-0.2.18 <dev-rust/libc-0.3.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=2.4.1/r0
 SRC_URI=https://crates.io/api/v1/crates/memchr/2.4.1/download -> memchr-2.4.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=676d914bdf10703784500b6d19689cc6
diff --git a/metadata/md5-cache/dev-rust/memmap-0.6.2 b/metadata/md5-cache/dev-rust/memmap-0.6.2
deleted file mode 100644
index 9ad319f..0000000
--- a/metadata/md5-cache/dev-rust/memmap-0.6.2
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Empty memmap crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.6.2/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
diff --git a/metadata/md5-cache/dev-rust/memoffset-0.5.6 b/metadata/md5-cache/dev-rust/memoffset-0.5.6
index bf1eaa1..e3ac3af 100644
--- a/metadata/md5-cache/dev-rust/memoffset-0.5.6
+++ b/metadata/md5-cache/dev-rust/memoffset-0.5.6
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/autocfg-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/autocfg-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=C-Like offset_of functionality for Rust structs
 EAPI=7
 HOMEPAGE=https://github.com/Gilnaa/memoffset
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/autocfg-1*:=
+RDEPEND==dev-rust/autocfg-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.5.6/r0
 SRC_URI=https://crates.io/api/v1/crates/memoffset/0.5.6/download -> memoffset-0.5.6.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=0ae7e6c5da7c116388dda4b007a5641c
diff --git a/metadata/md5-cache/dev-rust/memoffset-0.6.4 b/metadata/md5-cache/dev-rust/memoffset-0.6.4
index c92ff70..8afa3b3 100644
--- a/metadata/md5-cache/dev-rust/memoffset-0.6.4
+++ b/metadata/md5-cache/dev-rust/memoffset-0.6.4
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/autocfg-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/autocfg-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=offset_of functionality for Rust structs.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/memoffset
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/autocfg-1*:=
+RDEPEND==dev-rust/autocfg-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.6.4/r0
 SRC_URI=https://crates.io/api/v1/crates/memoffset/0.6.4/download -> memoffset-0.6.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=9e07b1990b0c5ac948d5085ee51429a6
diff --git a/metadata/md5-cache/dev-rust/memoffset-0.6.5 b/metadata/md5-cache/dev-rust/memoffset-0.6.5
new file mode 100644
index 0000000..77aec14
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/memoffset-0.6.5
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/autocfg-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=offset_of functionality for Rust structs.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/memoffset
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND==dev-rust/autocfg-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.6.5/r0
+SRC_URI=https://crates.io/api/v1/crates/memoffset/0.6.5/download -> memoffset-0.6.5.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9e07b1990b0c5ac948d5085ee51429a6
diff --git a/metadata/md5-cache/dev-rust/microamp-0.1.0 b/metadata/md5-cache/dev-rust/microamp-0.1.0
index bce4f9f..63e2e17 100644
--- a/metadata/md5-cache/dev-rust/microamp-0.1.0
+++ b/metadata/md5-cache/dev-rust/microamp-0.1.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/minijail-0.2.3-r12 b/metadata/md5-cache/dev-rust/minijail-0.2.3-r12
deleted file mode 100644
index 97bee0a..0000000
--- a/metadata/md5-cache/dev-rust/minijail-0.2.3-r12
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/minijail-sys-0.0.13:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=rust bindings for minijail
-EAPI=7
-HOMEPAGE=https://android.googlesource.com/platform/external/minijail
-IUSE=asan test cros_host cros_workon_tree_4ccd276e95e37eca12852241ed970581465d097a cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=>=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/minijail-sys-0.0.13:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.2.3-r12
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c5493701f96b5cf825ae58b3ee8acd7c
diff --git a/metadata/md5-cache/dev-rust/minijail-0.2.3-r15 b/metadata/md5-cache/dev-rust/minijail-0.2.3-r15
new file mode 100644
index 0000000..974558b
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/minijail-0.2.3-r15
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/minijail-sys-0.0.13:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=rust bindings for minijail
+EAPI=7
+HOMEPAGE=https://google.github.io/minijail
+IUSE=asan test cros_host cros_workon_tree_fcb23a620b2c154c3d998c5c82ece97765494a24 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=>=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/minijail-sys-0.0.13:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.2.3-r15
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e30a8fe82e931c4e557b23d33db80c60
diff --git a/metadata/md5-cache/dev-rust/minijail-9999 b/metadata/md5-cache/dev-rust/minijail-9999
index e1aa84c..72eeb59 100644
--- a/metadata/md5-cache/dev-rust/minijail-9999
+++ b/metadata/md5-cache/dev-rust/minijail-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/minijail-sys-0.0.13:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/minijail-sys-0.0.13:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=rust bindings for minijail
 EAPI=7
-HOMEPAGE=https://android.googlesource.com/platform/external/minijail
-IUSE=asan test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+HOMEPAGE=https://google.github.io/minijail
+IUSE=asan test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=>=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/minijail-sys-0.0.13:=
+RDEPEND=>=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/minijail-sys-0.0.13:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=55824a876b06577b1b0c102bdc5e5a52
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=16c2ef93268c9012c7a6c440021aec8f
diff --git a/metadata/md5-cache/dev-rust/minijail-sys-0.0.13-r14 b/metadata/md5-cache/dev-rust/minijail-sys-0.0.13-r14
deleted file mode 100644
index 749c895..0000000
--- a/metadata/md5-cache/dev-rust/minijail-sys-0.0.13-r14
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/minijail:= >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/pkg-config-0.3.0:= <dev-rust/pkg-config-0.4.0 =dev-rust/which-4*:= sys-libs/libcap:= virtual/bindgen:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=rust bindings for minijail
-EAPI=7
-HOMEPAGE=https://android.googlesource.com/platform/external/minijail
-IUSE=test cros_host cros_workon_tree_aafa68f31c18627726261f3af23594488e94aaba cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/minijail:= >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/pkg-config-0.3.0:= <dev-rust/pkg-config-0.4.0 =dev-rust/which-4*:= sys-libs/libcap:= virtual/bindgen:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.0.13-r14
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0de935454af54d8f0739016e6d76cfb4
diff --git a/metadata/md5-cache/dev-rust/minijail-sys-0.0.13-r21 b/metadata/md5-cache/dev-rust/minijail-sys-0.0.13-r21
new file mode 100644
index 0000000..ad86a1d
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/minijail-sys-0.0.13-r21
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=chromeos-base/minijail:= >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/pkg-config-0.3.0:= <dev-rust/pkg-config-0.4.0 =dev-rust/which-4*:= sys-libs/libcap:= virtual/bindgen:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=rust bindings for minijail
+EAPI=7
+HOMEPAGE=https://google.github.io/minijail
+IUSE=test cros_host cros_workon_tree_2c7fbae3490573a0292d6a29b44f767f217685ea cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/minijail:= >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/pkg-config-0.3.0:= <dev-rust/pkg-config-0.4.0 =dev-rust/which-4*:= sys-libs/libcap:= virtual/bindgen:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.0.13-r21
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=cae63bb6e7dbe4103a02ded2641f756d
diff --git a/metadata/md5-cache/dev-rust/minijail-sys-9999 b/metadata/md5-cache/dev-rust/minijail-sys-9999
index 70b1c50..93ff115 100644
--- a/metadata/md5-cache/dev-rust/minijail-sys-9999
+++ b/metadata/md5-cache/dev-rust/minijail-sys-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/minijail:= >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/pkg-config-0.3.0:= <dev-rust/pkg-config-0.4.0 =dev-rust/which-4*:= sys-libs/libcap:= virtual/bindgen:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=chromeos-base/minijail:= >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/pkg-config-0.3.0:= <dev-rust/pkg-config-0.4.0 =dev-rust/which-4*:= sys-libs/libcap:= virtual/bindgen:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=rust bindings for minijail
 EAPI=7
-HOMEPAGE=https://android.googlesource.com/platform/external/minijail
-IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+HOMEPAGE=https://google.github.io/minijail
+IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=chromeos-base/minijail:= >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/pkg-config-0.3.0:= <dev-rust/pkg-config-0.4.0 =dev-rust/which-4*:= sys-libs/libcap:= virtual/bindgen:=
+RDEPEND=chromeos-base/minijail:= >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/pkg-config-0.3.0:= <dev-rust/pkg-config-0.4.0 =dev-rust/which-4*:= sys-libs/libcap:= virtual/bindgen:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=3c57faea359e750570e296540095f32b
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0b7041eb9400ec43627e683aa00d460c
diff --git a/metadata/md5-cache/dev-rust/minimal-lexical-0.2.1 b/metadata/md5-cache/dev-rust/minimal-lexical-0.2.1
index bc5b78d..36f2c98 100644
--- a/metadata/md5-cache/dev-rust/minimal-lexical-0.2.1
+++ b/metadata/md5-cache/dev-rust/minimal-lexical-0.2.1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Fast float parsing conversion routines.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/minimal-lexical
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.1/r0
 SRC_URI=https://crates.io/api/v1/crates/minimal-lexical/0.2.1/download -> minimal-lexical-0.2.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=ee6cab970714d49db1f3a8dc343b34cb
diff --git a/metadata/md5-cache/dev-rust/miniz-sys-0.1.12 b/metadata/md5-cache/dev-rust/miniz-sys-0.1.12
index 73dc149..d0d0786 100644
--- a/metadata/md5-cache/dev-rust/miniz-sys-0.1.12
+++ b/metadata/md5-cache/dev-rust/miniz-sys-0.1.12
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2:= <dev-rust/libc-0.3 >=dev-rust/cc-1.0:= <dev-rust/cc-2 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/libc-0.2:= <dev-rust/libc-0.3 >=dev-rust/cc-1.0:= <dev-rust/cc-2 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Bindings to the miniz.c library
 EAPI=7
 HOMEPAGE=https://github.com/alexcrichton/flate2-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.12/r0
 SRC_URI=https://crates.io/api/v1/crates/miniz-sys/0.1.12/download -> miniz-sys-0.1.12.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=05bb35708104da2c0ed4cb8b3df2b520
diff --git a/metadata/md5-cache/dev-rust/miniz_oxide-0.4.4 b/metadata/md5-cache/dev-rust/miniz_oxide-0.4.4
index 5bff9b9..07d3166 100644
--- a/metadata/md5-cache/dev-rust/miniz_oxide-0.4.4
+++ b/metadata/md5-cache/dev-rust/miniz_oxide-0.4.4
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/adler-1.0:= <dev-rust/adler-2 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/adler-1.0:= <dev-rust/adler-2 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=DEFLATE compression and decompression library rewritten in Rust based on miniz
 EAPI=7
 HOMEPAGE=https://github.com/Frommi/miniz_oxide/tree/master/miniz_oxide
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT ZLIB Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.4.4/r0
 SRC_URI=https://crates.io/api/v1/crates/miniz_oxide/0.4.4/download -> miniz_oxide-0.4.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f065a31864be717acaec2bb063d326e6
diff --git a/metadata/md5-cache/dev-rust/mio-0.7.14 b/metadata/md5-cache/dev-rust/mio-0.7.14
index a3451f4..743a43c 100644
--- a/metadata/md5-cache/dev-rust/mio-0.7.14
+++ b/metadata/md5-cache/dev-rust/mio-0.7.14
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/log-0.4.8 <dev-rust/log-0.5.0_alpha:= >=dev-rust/libc-0.2.86 <dev-rust/libc-0.3.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/log-0.4.8 <dev-rust/log-0.5.0_alpha:= >=dev-rust/libc-0.2.86 <dev-rust/libc-0.3.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Lightweight non-blocking IO
 EAPI=7
 HOMEPAGE=https://github.com/tokio-rs/mio
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/log-0.4.8 <dev-rust/log-0.5.0_alpha:= >=dev-rust/libc-0.2.86 <dev-rust/libc-0.3.0_alpha:=
+RDEPEND=>=dev-rust/log-0.4.8 <dev-rust/log-0.5.0_alpha:= >=dev-rust/libc-0.2.86 <dev-rust/libc-0.3.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.7.14/r0
 SRC_URI=https://crates.io/api/v1/crates/mio/0.7.14/download -> mio-0.7.14.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=96ea0755e83fb6c322a62666b3e4838c
diff --git a/metadata/md5-cache/dev-rust/mio-0.8.0 b/metadata/md5-cache/dev-rust/mio-0.8.0
index 5c7312f..f5ddfc3 100644
--- a/metadata/md5-cache/dev-rust/mio-0.8.0
+++ b/metadata/md5-cache/dev-rust/mio-0.8.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/log-0.4.8 <dev-rust/log-0.5.0_alpha:= >=dev-rust/libc-0.2.86 <dev-rust/libc-0.3.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/log-0.4.8 <dev-rust/log-0.5.0_alpha:= >=dev-rust/libc-0.2.86 <dev-rust/libc-0.3.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Lightweight non-blocking IO
 EAPI=7
 HOMEPAGE=https://github.com/tokio-rs/mio
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/log-0.4.8 <dev-rust/log-0.5.0_alpha:= >=dev-rust/libc-0.2.86 <dev-rust/libc-0.3.0_alpha:=
+RDEPEND=>=dev-rust/log-0.4.8 <dev-rust/log-0.5.0_alpha:= >=dev-rust/libc-0.2.86 <dev-rust/libc-0.3.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.8.0/r0
 SRC_URI=https://crates.io/api/v1/crates/mio/0.8.0/download -> mio-0.8.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=47f7e9c68d48e4dc8dbf1061790f53a6
diff --git a/metadata/md5-cache/dev-rust/mio-0.8.3 b/metadata/md5-cache/dev-rust/mio-0.8.3
new file mode 100644
index 0000000..3134aa6
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/mio-0.8.3
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/log-0.4.8 <dev-rust/log-0.5.0_alpha:= >=dev-rust/libc-0.2.121 <dev-rust/libc-0.3.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Lightweight non-blocking IO
+EAPI=7
+HOMEPAGE=https://github.com/tokio-rs/mio
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=>=dev-rust/log-0.4.8 <dev-rust/log-0.5.0_alpha:= >=dev-rust/libc-0.2.121 <dev-rust/libc-0.3.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.8.3/r0
+SRC_URI=https://crates.io/api/v1/crates/mio/0.8.3/download -> mio-0.8.3.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7c66a1e0ca7af9321f1c96651b9dfa05
diff --git a/metadata/md5-cache/dev-rust/mio-extras-2.0.5 b/metadata/md5-cache/dev-rust/mio-extras-2.0.5
index a230f5b..29c08ee 100644
--- a/metadata/md5-cache/dev-rust/mio-extras-2.0.5
+++ b/metadata/md5-cache/dev-rust/mio-extras-2.0.5
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty mio-extras crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=2.0.5/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/mio-uds-0.6.8 b/metadata/md5-cache/dev-rust/mio-uds-0.6.8
index 2f70306..8f48c80 100644
--- a/metadata/md5-cache/dev-rust/mio-uds-0.6.8
+++ b/metadata/md5-cache/dev-rust/mio-uds-0.6.8
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/iovec-0.1*:= >=dev-rust/libc-0.2.69:= <dev-rust/libc-0.3.0 >=dev-rust/mio-0.6.5:= <dev-rust/mio-0.7.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/iovec-0.1*:= >=dev-rust/libc-0.2.69:= <dev-rust/libc-0.3.0 >=dev-rust/mio-0.6.5:= <dev-rust/mio-0.7.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Unix domain socket bindings for mio
 EAPI=7
 HOMEPAGE=https://github.com/deprecrated/mio-uds
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/iovec-0.1*:= >=dev-rust/libc-0.2.69:= <dev-rust/libc-0.3.0 >=dev-rust/mio-0.6.5:= <dev-rust/mio-0.7.0
+RDEPEND==dev-rust/iovec-0.1*:= >=dev-rust/libc-0.2.69:= <dev-rust/libc-0.3.0 >=dev-rust/mio-0.6.5:= <dev-rust/mio-0.7.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.6.8/r0
 SRC_URI=https://crates.io/api/v1/crates/mio-uds/0.6.8/download -> mio-uds-0.6.8.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=3593256a2d93cb28dee32ff18da8e353
diff --git a/metadata/md5-cache/dev-rust/mp4parse-0.11.5 b/metadata/md5-cache/dev-rust/mp4parse-0.11.5
index 3c67382..b874ed3 100644
--- a/metadata/md5-cache/dev-rust/mp4parse-0.11.5
+++ b/metadata/md5-cache/dev-rust/mp4parse-0.11.5
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.11.5/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/multi_log-0.1.2 b/metadata/md5-cache/dev-rust/multi_log-0.1.2
new file mode 100644
index 0000000..a77917e
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/multi_log-0.1.2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/log-0.4*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Logger which passes messages on to any number of other loggers.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/multi_log
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND==dev-rust/log-0.4*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.1.2/r0
+SRC_URI=https://crates.io/api/v1/crates/multi_log/0.1.2/download -> multi_log-0.1.2.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b0e2bcb40a8b2c4eff594f2feedac90a
diff --git a/metadata/md5-cache/dev-rust/multimap-0.8.3 b/metadata/md5-cache/dev-rust/multimap-0.8.3
index bc21e9c..b4ff325 100644
--- a/metadata/md5-cache/dev-rust/multimap-0.8.3
+++ b/metadata/md5-cache/dev-rust/multimap-0.8.3
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/serde-1.0*:= test? ( =dev-rust/serde_test-1.0*:= ) >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/serde-1.0*:= test? ( =dev-rust/serde_test-1.0*:= ) >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A multimap implementation.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/multimap
-IUSE=test cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=test cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/serde-1.0*:= test? ( =dev-rust/serde_test-1.0*:= )
+RDEPEND==dev-rust/serde-1.0*:= test? ( =dev-rust/serde_test-1.0*:= ) virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.8.3/r0
 SRC_URI=https://crates.io/api/v1/crates/multimap/0.8.3/download -> multimap-0.8.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=12bccb89b8680efd99a170df3da739e1
diff --git a/metadata/md5-cache/dev-rust/native-tls-0.2.3-r1 b/metadata/md5-cache/dev-rust/native-tls-0.2.3-r1
deleted file mode 100644
index 2a885f5..0000000
--- a/metadata/md5-cache/dev-rust/native-tls-0.2.3-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/lazy_static-1*:= =dev-rust/libc-0.2*:= >=dev-rust/security-framework-0.3.1:= <dev-rust/security-framework-0.4.0_alpha >=dev-rust/security-framework-sys-0.3.1:= <dev-rust/security-framework-sys-0.4.0_alpha =dev-rust/tempfile-3*:= >=dev-rust/log-0.4.5:= <dev-rust/log-0.5.0_alpha >=dev-rust/openssl-0.10.15:= <dev-rust/openssl-0.11.0_alpha =dev-rust/openssl-probe-0.1*:= >=dev-rust/openssl-sys-0.9.30:= <dev-rust/openssl-sys-0.10.0_alpha >=dev-rust/schannel-0.1.13:= <dev-rust/schannel-0.2.0_alpha >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A wrapper over a platform"s native TLS implementation
-EAPI=7
-HOMEPAGE=https://crates.io/crates/native-tls
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/lazy_static-1*:= =dev-rust/libc-0.2*:= >=dev-rust/security-framework-0.3.1:= <dev-rust/security-framework-0.4.0_alpha >=dev-rust/security-framework-sys-0.3.1:= <dev-rust/security-framework-sys-0.4.0_alpha =dev-rust/tempfile-3*:= >=dev-rust/log-0.4.5:= <dev-rust/log-0.5.0_alpha >=dev-rust/openssl-0.10.15:= <dev-rust/openssl-0.11.0_alpha =dev-rust/openssl-probe-0.1*:= >=dev-rust/openssl-sys-0.9.30:= <dev-rust/openssl-sys-0.10.0_alpha >=dev-rust/schannel-0.1.13:= <dev-rust/schannel-0.2.0_alpha
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.2.3/r1
-SRC_URI=https://crates.io/api/v1/crates/native-tls/0.2.3/download -> native-tls-0.2.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=eee1f938056aa209b6b60ba36d1eaaad
diff --git a/metadata/md5-cache/dev-rust/nb-0.1.3 b/metadata/md5-cache/dev-rust/nb-0.1.3
index 997a98c..7434a6c 100644
--- a/metadata/md5-cache/dev-rust/nb-0.1.3
+++ b/metadata/md5-cache/dev-rust/nb-0.1.3
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/nb-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/nb-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Minimal non-blocking I/O layer
 EAPI=7
 HOMEPAGE=https://crates.io/crates/nb
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/nb-1*:=
+RDEPEND==dev-rust/nb-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.3/r0
 SRC_URI=https://crates.io/api/v1/crates/nb/0.1.3/download -> nb-0.1.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=5cb7c1578f8f65fcf8d89bcc30d765a1
diff --git a/metadata/md5-cache/dev-rust/nb-1.0.0 b/metadata/md5-cache/dev-rust/nb-1.0.0
index fab2ddf..72f8e3b 100644
--- a/metadata/md5-cache/dev-rust/nb-1.0.0
+++ b/metadata/md5-cache/dev-rust/nb-1.0.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Minimal non-blocking I/O layer
 EAPI=7
 HOMEPAGE=https://crates.io/crates/nb
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.0/r0
 SRC_URI=https://crates.io/api/v1/crates/nb/1.0.0/download -> nb-1.0.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=bdbe15e3886261e8c349d72181db3dd3
diff --git a/metadata/md5-cache/dev-rust/net2-0.2.37 b/metadata/md5-cache/dev-rust/net2-0.2.37
deleted file mode 100644
index 089a63d..0000000
--- a/metadata/md5-cache/dev-rust/net2-0.2.37
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/cfg-if-0.1*:= >=dev-rust/libc-0.2.54:= <dev-rust/libc-0.3.0 =dev-rust/winapi-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Extensions to the standard library's networking types as proposed in RFC 1158.
-EAPI=7
-HOMEPAGE=https://github.com/deprecrated/net2-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/cfg-if-0.1*:= >=dev-rust/libc-0.2.54:= <dev-rust/libc-0.3.0 =dev-rust/winapi-0.3*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.2.37/r0
-SRC_URI=https://crates.io/api/v1/crates/net2/0.2.37/download -> net2-0.2.37.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=f9385dd59c322fdc1dc5b69f05f9f9fc
diff --git a/metadata/md5-cache/dev-rust/nibble_vec-0.1.0 b/metadata/md5-cache/dev-rust/nibble_vec-0.1.0
index 5d1201f..29a138b 100644
--- a/metadata/md5-cache/dev-rust/nibble_vec-0.1.0
+++ b/metadata/md5-cache/dev-rust/nibble_vec-0.1.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/smallvec-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/smallvec-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Vector data-structure for half-byte values.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/nibble_vec
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/smallvec-1*:=
+RDEPEND==dev-rust/smallvec-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.0/r0
 SRC_URI=https://crates.io/api/v1/crates/nibble_vec/0.1.0/download -> nibble_vec-0.1.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=42f1134d2dc5e4a2f0d2bc98063d7468
diff --git a/metadata/md5-cache/dev-rust/nix-0.16.1 b/metadata/md5-cache/dev-rust/nix-0.16.1
deleted file mode 100644
index 76f64e6..0000000
--- a/metadata/md5-cache/dev-rust/nix-0.16.1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bitflags-1*:= >=dev-rust/cfg-if-0.1.2 <dev-rust/cfg-if-0.2.0_alpha:= >=dev-rust/libc-0.2.60 <dev-rust/libc-0.3.0_alpha:= >=dev-rust/void-1.0.2 <dev-rust/void-2.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Rust friendly bindings to *nix APIs
-EAPI=7
-HOMEPAGE=https://crates.io/crates/nix
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND==dev-rust/bitflags-1*:= >=dev-rust/cfg-if-0.1.2 <dev-rust/cfg-if-0.2.0_alpha:= >=dev-rust/libc-0.2.60 <dev-rust/libc-0.3.0_alpha:= >=dev-rust/void-1.0.2 <dev-rust/void-2.0.0_alpha:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.16.1/r0
-SRC_URI=https://crates.io/api/v1/crates/nix/0.16.1/download -> nix-0.16.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=74e28e35ccce6f1e53917a40ed724b06
diff --git a/metadata/md5-cache/dev-rust/nix-0.19.0 b/metadata/md5-cache/dev-rust/nix-0.19.0
deleted file mode 100644
index 81c1270..0000000
--- a/metadata/md5-cache/dev-rust/nix-0.19.0
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bitflags-1.1.0:= <dev-rust/bitflags-2.0.0 >=dev-rust/cfg-if-0.1.10:= <dev-rust/cfg-if-0.2.0 >=dev-rust/libc-0.2.78:= <dev-rust/libc-3.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Rust friendly bindings to *nix APIs.
-EAPI=7
-HOMEPAGE=https://github.com/nix-rust/nix
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND=>=dev-rust/bitflags-1.1.0:= <dev-rust/bitflags-2.0.0 >=dev-rust/cfg-if-0.1.10:= <dev-rust/cfg-if-0.2.0 >=dev-rust/libc-0.2.78:= <dev-rust/libc-3.0.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-RESTRICT=test
-SLOT=0.19.0/r0
-SRC_URI=https://crates.io/api/v1/crates/nix/0.19.0/download -> nix-0.19.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2a3e20ac3945a3b0ada8af7509555a81
diff --git a/metadata/md5-cache/dev-rust/nix-0.19.0-r1 b/metadata/md5-cache/dev-rust/nix-0.19.0-r1
deleted file mode 100644
index 7c68352..0000000
--- a/metadata/md5-cache/dev-rust/nix-0.19.0-r1
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bitflags-1.1.0:= <dev-rust/bitflags-2.0.0 >=dev-rust/cfg-if-0.1.10:= <dev-rust/cfg-if-0.2.0 >=dev-rust/libc-0.2.78:= <dev-rust/libc-3.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Rust friendly bindings to *nix APIs.
-EAPI=7
-HOMEPAGE=https://github.com/nix-rust/nix
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND=>=dev-rust/bitflags-1.1.0:= <dev-rust/bitflags-2.0.0 >=dev-rust/cfg-if-0.1.10:= <dev-rust/cfg-if-0.2.0 >=dev-rust/libc-0.2.78:= <dev-rust/libc-3.0.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-RESTRICT=test
-SLOT=0.19.0/r1
-SRC_URI=https://crates.io/api/v1/crates/nix/0.19.0/download -> nix-0.19.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2a3e20ac3945a3b0ada8af7509555a81
diff --git a/metadata/md5-cache/dev-rust/nix-0.23.0 b/metadata/md5-cache/dev-rust/nix-0.23.0
index 69edf2e..88c8a3b 100644
--- a/metadata/md5-cache/dev-rust/nix-0.23.0
+++ b/metadata/md5-cache/dev-rust/nix-0.23.0
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bitflags-1.3.1 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/cfg-if-1*:= >=dev-rust/libc-0.2.102 <dev-rust/libc-0.3.0_alpha:= >=dev-rust/memoffset-0.6.3 <dev-rust/memoffset-0.7.0_alpha:= =dev-rust/cc-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/bitflags-1.3.1 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/cfg-if-1*:= >=dev-rust/libc-0.2.102 <dev-rust/libc-0.3.0_alpha:= >=dev-rust/memoffset-0.6.3 <dev-rust/memoffset-0.7.0_alpha:= =dev-rust/cc-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust friendly bindings to *nix APIs
 EAPI=7
 HOMEPAGE=https://crates.io/crates/nix
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/bitflags-1.3.1 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/cfg-if-1*:= >=dev-rust/libc-0.2.102 <dev-rust/libc-0.3.0_alpha:= >=dev-rust/memoffset-0.6.3 <dev-rust/memoffset-0.7.0_alpha:= =dev-rust/cc-1*:=
+RDEPEND=>=dev-rust/bitflags-1.3.1 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/cfg-if-1*:= >=dev-rust/libc-0.2.102 <dev-rust/libc-0.3.0_alpha:= >=dev-rust/memoffset-0.6.3 <dev-rust/memoffset-0.7.0_alpha:= =dev-rust/cc-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.23.0/r0
 SRC_URI=https://crates.io/api/v1/crates/nix/0.23.0/download -> nix-0.23.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=94469c24a64e0ed9598c9514965fe63c
diff --git a/metadata/md5-cache/dev-rust/no-panic-0.1.10 b/metadata/md5-cache/dev-rust/no-panic-0.1.10
index 6f9c13a..5ef94b4 100644
--- a/metadata/md5-cache/dev-rust/no-panic-0.1.10
+++ b/metadata/md5-cache/dev-rust/no-panic-0.1.10
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-0.4*:= =dev-rust/quote-0.6*:= =dev-rust/syn-0.15*:= =dev-rust/tempfile-3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/proc-macro2-0.4*:= =dev-rust/quote-0.6*:= =dev-rust/syn-0.15*:= =dev-rust/tempfile-3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A Rust attribute macro to require that the compiler prove a function can't ever panic.
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/dtolnay/no-panic
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.1.10/r0
 SRC_URI=https://crates.io/api/v1/crates/no-panic/0.1.10/download -> no-panic-0.1.10.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=8ba6a27d2abe7c4913116841618627ae
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1a9f04ccf4da10f7eee40202ea89c563
diff --git a/metadata/md5-cache/dev-rust/nom-5.1.2 b/metadata/md5-cache/dev-rust/nom-5.1.2
index e4fe774..fabf849 100644
--- a/metadata/md5-cache/dev-rust/nom-5.1.2
+++ b/metadata/md5-cache/dev-rust/nom-5.1.2
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/lazy_static-1*:= >=dev-rust/lexical-core-0.6.0 <dev-rust/lexical-core-0.8.0 =dev-rust/memchr-2*:= =dev-rust/regex-1*:= =dev-rust/version_check-0.9*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/lazy_static-1*:= >=dev-rust/lexical-core-0.6.0 <dev-rust/lexical-core-0.8.0 =dev-rust/memchr-2*:= =dev-rust/regex-1*:= =dev-rust/version_check-0.9*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A byte-oriented, zero-copy, parser combinators library
 EAPI=7
 HOMEPAGE=https://github.com/Geal/nom
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=5.1.2/r0
 SRC_URI=https://crates.io/api/v1/crates/nom/5.1.2/download -> nom-5.1.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=6e23d09928be3a1693dcf076fbe6aebe
diff --git a/metadata/md5-cache/dev-rust/nom-7.1.0 b/metadata/md5-cache/dev-rust/nom-7.1.0
index 3ffd520..493ce7d 100644
--- a/metadata/md5-cache/dev-rust/nom-7.1.0
+++ b/metadata/md5-cache/dev-rust/nom-7.1.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/memchr-2.3.0 <dev-rust/memchr-3.0.0_alpha:= =dev-rust/minimal-lexical-0.2*:= =dev-rust/version_check-0.9*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/memchr-2.3.0 <dev-rust/memchr-3.0.0_alpha:= =dev-rust/minimal-lexical-0.2*:= =dev-rust/version_check-0.9*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A byte-oriented, zero-copy, parser combinators library
 EAPI=7
 HOMEPAGE=https://crates.io/crates/nom
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/memchr-2.3.0 <dev-rust/memchr-3.0.0_alpha:= =dev-rust/minimal-lexical-0.2*:= =dev-rust/version_check-0.9*:=
+RDEPEND=>=dev-rust/memchr-2.3.0 <dev-rust/memchr-3.0.0_alpha:= =dev-rust/minimal-lexical-0.2*:= =dev-rust/version_check-0.9*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=7.1.0/r0
 SRC_URI=https://crates.io/api/v1/crates/nom/7.1.0/download -> nom-7.1.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=a78c0fc460b691a1bb4aa691bd6cdb28
diff --git a/metadata/md5-cache/dev-rust/num-0.2.1 b/metadata/md5-cache/dev-rust/num-0.2.1
new file mode 100644
index 0000000..6117e7d
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/num-0.2.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/num-bigint-0.2.5 <dev-rust/num-bigint-0.3.0_alpha:= >=dev-rust/num-complex-0.2.4 <dev-rust/num-complex-0.3.0_alpha:= >=dev-rust/num-integer-0.1.42 <dev-rust/num-integer-0.2.0_alpha:= >=dev-rust/num-iter-0.1.40 <dev-rust/num-iter-0.2.0_alpha:= >=dev-rust/num-rational-0.2.3 <dev-rust/num-rational-0.3.0_alpha:= >=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A collection of numeric types and traits for Rust, including bigint, complex, rational, range iterators, generic integers, and more!
+EAPI=7
+HOMEPAGE=https://github.com/rust-num/num
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/num-bigint-0.2.5 <dev-rust/num-bigint-0.3.0_alpha:= >=dev-rust/num-complex-0.2.4 <dev-rust/num-complex-0.3.0_alpha:= >=dev-rust/num-integer-0.1.42 <dev-rust/num-integer-0.2.0_alpha:= >=dev-rust/num-iter-0.1.40 <dev-rust/num-iter-0.2.0_alpha:= >=dev-rust/num-rational-0.2.3 <dev-rust/num-rational-0.3.0_alpha:= >=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.2.1/r0
+SRC_URI=https://crates.io/api/v1/crates/num/0.2.1/download -> num-0.2.1.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2af8822cf5e6578e0f180a9c428c0fff
diff --git a/metadata/md5-cache/dev-rust/num-bigint-0.2.6 b/metadata/md5-cache/dev-rust/num-bigint-0.2.6
new file mode 100644
index 0000000..c2594b9
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/num-bigint-0.2.6
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/num-integer-0.1.42 <dev-rust/num-integer-0.2.0_alpha:= >=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:= =dev-rust/quickcheck-0.9*:= =dev-rust/quickcheck_macros-0.8*:= =dev-rust/rand-0.6*:= =dev-rust/serde-1*:= =dev-rust/autocfg-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Big integer implementation for Rust
+EAPI=7
+HOMEPAGE=https://github.com/rust-num/num-bigint
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/num-integer-0.1.42 <dev-rust/num-integer-0.2.0_alpha:= >=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:= =dev-rust/quickcheck-0.9*:= =dev-rust/quickcheck_macros-0.8*:= =dev-rust/rand-0.6*:= =dev-rust/serde-1*:= =dev-rust/autocfg-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.2.6/r0
+SRC_URI=https://crates.io/api/v1/crates/num-bigint/0.2.6/download -> num-bigint-0.2.6.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f4415a84ef92a0878fd5176e685b8464
diff --git a/metadata/md5-cache/dev-rust/num-bigint-0.3.3 b/metadata/md5-cache/dev-rust/num-bigint-0.3.3
index cc0f6a6..86d39ed 100644
--- a/metadata/md5-cache/dev-rust/num-bigint-0.3.3
+++ b/metadata/md5-cache/dev-rust/num-bigint-0.3.3
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/arbitrary-0.4*:= >=dev-rust/num-integer-0.1.42 <dev-rust/num-integer-0.2.0_alpha:= >=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:= =dev-rust/quickcheck-0.9*:= =dev-rust/rand-0.7*:= =dev-rust/serde-1*:= =dev-rust/autocfg-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/arbitrary-0.4*:= >=dev-rust/num-integer-0.1.42 <dev-rust/num-integer-0.2.0_alpha:= >=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:= =dev-rust/quickcheck-0.9*:= =dev-rust/rand-0.7*:= =dev-rust/serde-1*:= =dev-rust/autocfg-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Big integer implementation for Rust
 EAPI=7
 HOMEPAGE=https://github.com/rust-num/num-bigint
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/arbitrary-0.4*:= >=dev-rust/num-integer-0.1.42 <dev-rust/num-integer-0.2.0_alpha:= >=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:= =dev-rust/quickcheck-0.9*:= =dev-rust/rand-0.7*:= =dev-rust/serde-1*:= =dev-rust/autocfg-1*:=
+RDEPEND==dev-rust/arbitrary-0.4*:= >=dev-rust/num-integer-0.1.42 <dev-rust/num-integer-0.2.0_alpha:= >=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:= =dev-rust/quickcheck-0.9*:= =dev-rust/rand-0.7*:= =dev-rust/serde-1*:= =dev-rust/autocfg-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.3/r0
 SRC_URI=https://crates.io/api/v1/crates/num-bigint/0.3.3/download -> num-bigint-0.3.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=7522f8f60262d37c72e4a7914814f3bb
diff --git a/metadata/md5-cache/dev-rust/num-bigint-0.4.0 b/metadata/md5-cache/dev-rust/num-bigint-0.4.0
index 9a986fd..6ca6014 100644
--- a/metadata/md5-cache/dev-rust/num-bigint-0.4.0
+++ b/metadata/md5-cache/dev-rust/num-bigint-0.4.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/arbitrary-1*:= >=dev-rust/num-integer-0.1.42:= <dev-rust/num-integer-0.2.0 >=dev-rust/num-traits-0.2.11:= <dev-rust/num-traits-0.3.0 =dev-rust/quickcheck-1*:= =dev-rust/rand-0.8*:= =dev-rust/serde-1*:= =dev-rust/autocfg-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/arbitrary-1*:= >=dev-rust/num-integer-0.1.42:= <dev-rust/num-integer-0.2.0 >=dev-rust/num-traits-0.2.11:= <dev-rust/num-traits-0.3.0 =dev-rust/quickcheck-1*:= =dev-rust/rand-0.8*:= =dev-rust/serde-1*:= =dev-rust/autocfg-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Big integer implementation for Rust
 EAPI=7
 HOMEPAGE=https://github.com/rust-num/num-bigint
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/arbitrary-1*:= >=dev-rust/num-integer-0.1.42:= <dev-rust/num-integer-0.2.0 >=dev-rust/num-traits-0.2.11:= <dev-rust/num-traits-0.3.0 =dev-rust/quickcheck-1*:= =dev-rust/rand-0.8*:= =dev-rust/serde-1*:= =dev-rust/autocfg-1*:=
+RDEPEND==dev-rust/arbitrary-1*:= >=dev-rust/num-integer-0.1.42:= <dev-rust/num-integer-0.2.0 >=dev-rust/num-traits-0.2.11:= <dev-rust/num-traits-0.3.0 =dev-rust/quickcheck-1*:= =dev-rust/rand-0.8*:= =dev-rust/serde-1*:= =dev-rust/autocfg-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.4.0/r0
 SRC_URI=https://crates.io/api/v1/crates/num-bigint/0.4.0/download -> num-bigint-0.4.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=b752ce321718a67433cb223ff0fe5ec7
diff --git a/metadata/md5-cache/dev-rust/num-cmp-0.1.0 b/metadata/md5-cache/dev-rust/num-cmp-0.1.0
new file mode 100644
index 0000000..50c3b2a
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/num-cmp-0.1.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Comparison between differently typed numbers
+EAPI=7
+HOMEPAGE=https://github.com/lifthrasiir/num-cmp
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.1.0/r0
+SRC_URI=https://crates.io/api/v1/crates/num-cmp/0.1.0/download -> num-cmp-0.1.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=135ca7e6df205d44322e39222a1009b8
diff --git a/metadata/md5-cache/dev-rust/num-complex-0.2.4 b/metadata/md5-cache/dev-rust/num-complex-0.2.4
new file mode 100644
index 0000000..4dcf5fb
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/num-complex-0.2.4
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:= =dev-rust/rand-0.6*:= =dev-rust/serde-1*:= =dev-rust/autocfg-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Complex numbers implementation for Rust
+EAPI=7
+HOMEPAGE=https://github.com/rust-num/num-complex
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:= =dev-rust/rand-0.6*:= =dev-rust/serde-1*:= =dev-rust/autocfg-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.2.4/r0
+SRC_URI=https://crates.io/api/v1/crates/num-complex/0.2.4/download -> num-complex-0.2.4.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a75d09cb144e292125ecfe4c6e51d4bc
diff --git a/metadata/md5-cache/dev-rust/num-derive-0.3.3 b/metadata/md5-cache/dev-rust/num-derive-0.3.3
new file mode 100644
index 0000000..9a6c337
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/num-derive-0.3.3
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Numeric syntax extensions
+EAPI=7
+HOMEPAGE=https://github.com/rust-num/num-derive
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.3.3/r0
+SRC_URI=https://crates.io/api/v1/crates/num-derive/0.3.3/download -> num-derive-0.3.3.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=39c761912e028340042da99fe06c8808
diff --git a/metadata/md5-cache/dev-rust/num-integer-0.1.44 b/metadata/md5-cache/dev-rust/num-integer-0.1.44
index d580273..28079b5 100644
--- a/metadata/md5-cache/dev-rust/num-integer-0.1.44
+++ b/metadata/md5-cache/dev-rust/num-integer-0.1.44
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/num-traits-0.2.11:= <dev-rust/num-traits-0.3.0 =dev-rust/autocfg-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/num-traits-0.2.11:= <dev-rust/num-traits-0.3.0 =dev-rust/autocfg-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Integer traits and functions
 EAPI=7
 HOMEPAGE=https://github.com/rust-num/num-integer
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/num-traits-0.2.11:= <dev-rust/num-traits-0.3.0 =dev-rust/autocfg-1*:=
+RDEPEND=>=dev-rust/num-traits-0.2.11:= <dev-rust/num-traits-0.3.0 =dev-rust/autocfg-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.44/r0
 SRC_URI=https://crates.io/api/v1/crates/num-integer/0.1.44/download -> num-integer-0.1.44.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=c3e287a4da2fe6f1ce1f79c4ea8aa29b
diff --git a/metadata/md5-cache/dev-rust/num-iter-0.1.37 b/metadata/md5-cache/dev-rust/num-iter-0.1.37
index 4dde024..4657cde 100644
--- a/metadata/md5-cache/dev-rust/num-iter-0.1.37
+++ b/metadata/md5-cache/dev-rust/num-iter-0.1.37
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty num-iter crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.37/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=b459f025504105b3b301bb8096b60267
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=22da6121c9ea20e4b371df9f14f4fa99
diff --git a/metadata/md5-cache/dev-rust/num-iter-0.1.42 b/metadata/md5-cache/dev-rust/num-iter-0.1.42
index 1eda86e..ac680ba 100644
--- a/metadata/md5-cache/dev-rust/num-iter-0.1.42
+++ b/metadata/md5-cache/dev-rust/num-iter-0.1.42
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/num-integer-0.1.42 <dev-rust/num-integer-0.2.0_alpha:= >=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:= =dev-rust/autocfg-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/num-integer-0.1.42 <dev-rust/num-integer-0.2.0_alpha:= >=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:= =dev-rust/autocfg-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=External iterators for generic mathematics
 EAPI=7
 HOMEPAGE=https://github.com/rust-num/num-iter
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/num-integer-0.1.42 <dev-rust/num-integer-0.2.0_alpha:= >=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:= =dev-rust/autocfg-1*:=
+RDEPEND=>=dev-rust/num-integer-0.1.42 <dev-rust/num-integer-0.2.0_alpha:= >=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:= =dev-rust/autocfg-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.42/r0
 SRC_URI=https://crates.io/api/v1/crates/num-iter/0.1.42/download -> num-iter-0.1.42.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=35259975246efe293856c661c7c275fc
diff --git a/metadata/md5-cache/dev-rust/num-rational-0.2.4 b/metadata/md5-cache/dev-rust/num-rational-0.2.4
new file mode 100644
index 0000000..6b69e14f1
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/num-rational-0.2.4
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/num-bigint-0.2.5 <dev-rust/num-bigint-0.3.0_alpha:= >=dev-rust/num-integer-0.1.42 <dev-rust/num-integer-0.2.0_alpha:= >=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:= =dev-rust/serde-1*:= =dev-rust/autocfg-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Rational numbers implementation for Rust
+EAPI=7
+HOMEPAGE=https://github.com/rust-num/num-rational
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/num-bigint-0.2.5 <dev-rust/num-bigint-0.3.0_alpha:= >=dev-rust/num-integer-0.1.42 <dev-rust/num-integer-0.2.0_alpha:= >=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:= =dev-rust/serde-1*:= =dev-rust/autocfg-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.2.4/r0
+SRC_URI=https://crates.io/api/v1/crates/num-rational/0.2.4/download -> num-rational-0.2.4.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8340b6e9cfa903d925dfdbd2e8438b3b
diff --git a/metadata/md5-cache/dev-rust/num-rational-0.3.2 b/metadata/md5-cache/dev-rust/num-rational-0.3.2
index 976d0b3..1525c4e 100644
--- a/metadata/md5-cache/dev-rust/num-rational-0.3.2
+++ b/metadata/md5-cache/dev-rust/num-rational-0.3.2
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/num-bigint-0.3*:= >=dev-rust/num-integer-0.1.42 <dev-rust/num-integer-0.2.0_alpha:= >=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:= =dev-rust/serde-1*:= =dev-rust/autocfg-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/num-bigint-0.3*:= >=dev-rust/num-integer-0.1.42 <dev-rust/num-integer-0.2.0_alpha:= >=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:= =dev-rust/serde-1*:= =dev-rust/autocfg-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rational numbers implementation for Rust
 EAPI=7
 HOMEPAGE=https://github.com/rust-num/num-rational
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/num-bigint-0.3*:= >=dev-rust/num-integer-0.1.42 <dev-rust/num-integer-0.2.0_alpha:= >=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:= =dev-rust/serde-1*:= =dev-rust/autocfg-1*:=
+RDEPEND==dev-rust/num-bigint-0.3*:= >=dev-rust/num-integer-0.1.42 <dev-rust/num-integer-0.2.0_alpha:= >=dev-rust/num-traits-0.2.11 <dev-rust/num-traits-0.3.0_alpha:= =dev-rust/serde-1*:= =dev-rust/autocfg-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.2/r0
 SRC_URI=https://crates.io/api/v1/crates/num-rational/0.3.2/download -> num-rational-0.3.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=ecd34d8e85eb1612efcae1666bf6a8d7
diff --git a/metadata/md5-cache/dev-rust/num-traits-0.2.12 b/metadata/md5-cache/dev-rust/num-traits-0.2.12
index ca59c10..1a47cd2 100644
--- a/metadata/md5-cache/dev-rust/num-traits-0.2.12
+++ b/metadata/md5-cache/dev-rust/num-traits-0.2.12
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Numeric traits for generic mathematics in Rust.
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/rust-num/num-traits
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.2.12/r0
 SRC_URI=https://crates.io/api/v1/crates/num-traits/0.2.12/download -> num-traits-0.2.12.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=1b1ba30675daceb56d250690be76bd66
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d114b25beb87950d2ae16817cb1fe82f
diff --git a/metadata/md5-cache/dev-rust/num_cpus-1.13.0 b/metadata/md5-cache/dev-rust/num_cpus-1.13.0
index c562980..418d9ca 100644
--- a/metadata/md5-cache/dev-rust/num_cpus-1.13.0
+++ b/metadata/md5-cache/dev-rust/num_cpus-1.13.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/hermit-abi-0.1.3:= <dev-rust/hermit-abi-0.2.0 >=dev-rust/libc-0.2.26:= <dev-rust/libc-0.3.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/hermit-abi-0.1.3:= <dev-rust/hermit-abi-0.2.0 >=dev-rust/libc-0.2.26:= <dev-rust/libc-0.3.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Get the number of CPUs on a machine
 EAPI=7
 HOMEPAGE=https://github.com/seanmonstar/num_cpus
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.13.0/r0
 SRC_URI=https://crates.io/api/v1/crates/num_cpus/1.13.0/download -> num_cpus-1.13.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=d7b8d3095847eea2d817faef7b429fe5
diff --git a/metadata/md5-cache/dev-rust/num_cpus-1.9.0 b/metadata/md5-cache/dev-rust/num_cpus-1.9.0
index 1276e28..4ca1676 100644
--- a/metadata/md5-cache/dev-rust/num_cpus-1.9.0
+++ b/metadata/md5-cache/dev-rust/num_cpus-1.9.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2.26:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/libc-0.2.26:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Get the number of CPUs on a machine
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/seanmonstar/num_cpus
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.9.0/r0
 SRC_URI=https://crates.io/api/v1/crates/num_cpus/1.9.0/download -> num_cpus-1.9.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=224962b00facb57ee87a8dc81e32d7d4
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=304a4f1399481186cbaf70c5edc2c8c8
diff --git a/metadata/md5-cache/dev-rust/num_enum-0.5.1-r1 b/metadata/md5-cache/dev-rust/num_enum-0.5.1-r1
index ce7ae1c..81ccd99 100644
--- a/metadata/md5-cache/dev-rust/num_enum-0.5.1-r1
+++ b/metadata/md5-cache/dev-rust/num_enum-0.5.1-r1
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/derivative-2*:= >=dev-rust/num_enum_derive-0.5.1:= <dev-rust/num_enum_derive-0.6.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/derivative-2*:= >=dev-rust/num_enum_derive-0.5.1:= <dev-rust/num_enum_derive-0.6.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Procedural macros to make inter-operation between primitives and enums easier.
 EAPI=7
 HOMEPAGE=https://github.com/illicitonion/num_enum
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=BSD
-RDEPEND==dev-rust/derivative-2*:= >=dev-rust/num_enum_derive-0.5.1:= <dev-rust/num_enum_derive-0.6.0 !=dev-rust/num_enum-5*
+RDEPEND==dev-rust/derivative-2*:= >=dev-rust/num_enum_derive-0.5.1:= <dev-rust/num_enum_derive-0.6.0 !=dev-rust/num_enum-5* virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.5.1/r1
 SRC_URI=https://crates.io/api/v1/crates/num_enum/0.5.1/download -> num_enum-0.5.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=23f8d6e4ba0908690c4e2c2fd49aea8c
diff --git a/metadata/md5-cache/dev-rust/num_enum_derive-0.5.1 b/metadata/md5-cache/dev-rust/num_enum_derive-0.5.1
index 0a00ba3..646c499 100644
--- a/metadata/md5-cache/dev-rust/num_enum_derive-0.5.1
+++ b/metadata/md5-cache/dev-rust/num_enum_derive-0.5.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/proc-macro-crate-0.1.4:= <dev-rust/proc-macro-crate-0.2 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/proc-macro-crate-0.1.4:= <dev-rust/proc-macro-crate-0.2 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Internal implementation details for ::num_enum (Procedural macros to make inter-operation between primitives and enums easier)
 EAPI=7
 HOMEPAGE=https://github.com/illicitonion/num_enum
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=BSD
-RDEPEND=>=dev-rust/proc-macro-crate-0.1.4:= <dev-rust/proc-macro-crate-0.2 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= !=dev-rust/num_enum_derive-5*
+RDEPEND=>=dev-rust/proc-macro-crate-0.1.4:= <dev-rust/proc-macro-crate-0.2 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= !=dev-rust/num_enum_derive-5* virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.5.1/r0
 SRC_URI=https://crates.io/api/v1/crates/num_enum_derive/0.5.1/download -> num_enum_derive-0.5.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=0086dbc5b7f2dc4f21584ed5bc669dfd
diff --git a/metadata/md5-cache/dev-rust/num_threads-0.1.5 b/metadata/md5-cache/dev-rust/num_threads-0.1.5
new file mode 100644
index 0000000..ad31b96
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/num_threads-0.1.5
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A minimal library that determines the number of running threads for the current process.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/num_threads
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.1.5/r0
+SRC_URI=https://crates.io/api/v1/crates/num_threads/0.1.5/download -> num_threads-0.1.5.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=19db30ac6413416209e758e250b9dea7
diff --git a/metadata/md5-cache/dev-rust/number_prefix-0.4.0 b/metadata/md5-cache/dev-rust/number_prefix-0.4.0
new file mode 100644
index 0000000..26acf64
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/number_prefix-0.4.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Library for numeric prefixes (kilo, giga, kibi).
+EAPI=7
+HOMEPAGE=https://crates.io/crates/number_prefix
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.4.0/r0
+SRC_URI=https://crates.io/api/v1/crates/number_prefix/0.4.0/download -> number_prefix-0.4.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7fcde6baf3d59064bdf7638f0b00f8c0
diff --git a/metadata/md5-cache/dev-rust/object-0.27.1 b/metadata/md5-cache/dev-rust/object-0.27.1
index e18a2b1..cb88360 100644
--- a/metadata/md5-cache/dev-rust/object-0.27.1
+++ b/metadata/md5-cache/dev-rust/object-0.27.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/rustc-std-workspace-alloc-1*:= >=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= >=dev-rust/crc32fast-1.2.0 <dev-rust/crc32fast-2.0.0_alpha:= =dev-rust/flate2-1*:= >=dev-rust/indexmap-1.1.0 <dev-rust/indexmap-2.0.0_alpha:= >=dev-rust/memchr-2.4.1 <dev-rust/memchr-3.0.0_alpha:= =dev-rust/wasmparser-0.57*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/rustc-std-workspace-alloc-1*:= >=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= >=dev-rust/crc32fast-1.2.0 <dev-rust/crc32fast-2.0.0_alpha:= =dev-rust/flate2-1*:= >=dev-rust/indexmap-1.1.0 <dev-rust/indexmap-2.0.0_alpha:= >=dev-rust/memchr-2.4.1 <dev-rust/memchr-3.0.0_alpha:= =dev-rust/wasmparser-0.57*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A unified interface for reading and writing object file formats.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/object
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
-RDEPEND==dev-rust/rustc-std-workspace-alloc-1*:= >=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= >=dev-rust/crc32fast-1.2.0 <dev-rust/crc32fast-2.0.0_alpha:= =dev-rust/flate2-1*:= >=dev-rust/indexmap-1.1.0 <dev-rust/indexmap-2.0.0_alpha:= >=dev-rust/memchr-2.4.1 <dev-rust/memchr-3.0.0_alpha:= =dev-rust/wasmparser-0.57*:=
+RDEPEND==dev-rust/rustc-std-workspace-alloc-1*:= >=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= >=dev-rust/crc32fast-1.2.0 <dev-rust/crc32fast-2.0.0_alpha:= =dev-rust/flate2-1*:= >=dev-rust/indexmap-1.1.0 <dev-rust/indexmap-2.0.0_alpha:= >=dev-rust/memchr-2.4.1 <dev-rust/memchr-3.0.0_alpha:= =dev-rust/wasmparser-0.57*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.27.1/r0
 SRC_URI=https://crates.io/api/v1/crates/object/0.27.1/download -> object-0.27.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=ea3dcd0ad2a1d29a64c12eeccbaa8ee7
diff --git a/metadata/md5-cache/dev-rust/once_cell-1.7.2 b/metadata/md5-cache/dev-rust/once_cell-1.7.2
index cc31a1c..ab962a4 100644
--- a/metadata/md5-cache/dev-rust/once_cell-1.7.2
+++ b/metadata/md5-cache/dev-rust/once_cell-1.7.2
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Single assignment cells and lazy values.
 EAPI=7
 HOMEPAGE=https://github.com/matklad/once_cell
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.7.2/r0
 SRC_URI=https://crates.io/api/v1/crates/once_cell/1.7.2/download -> once_cell-1.7.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=a94e56ea4acf82de157a2098b502504e
diff --git a/metadata/md5-cache/dev-rust/once_cell-1.9.0 b/metadata/md5-cache/dev-rust/once_cell-1.9.0
index b3bffe7..dcf8a71 100644
--- a/metadata/md5-cache/dev-rust/once_cell-1.9.0
+++ b/metadata/md5-cache/dev-rust/once_cell-1.9.0
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/atomic-polyfill-0.1*:= =dev-rust/parking_lot-0.11*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/atomic-polyfill-0.1*:= =dev-rust/parking_lot-0.11*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Single assignment cells and lazy values.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/once_cell
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/atomic-polyfill-0.1*:= =dev-rust/parking_lot-0.11*:=
+RDEPEND==dev-rust/atomic-polyfill-0.1*:= =dev-rust/parking_lot-0.11*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=1.9.0/r0
 SRC_URI=https://crates.io/api/v1/crates/once_cell/1.9.0/download -> once_cell-1.9.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=bec0ea3f6a4447c8687c01a2e549eab9
diff --git a/metadata/md5-cache/dev-rust/openssl-0.10.36 b/metadata/md5-cache/dev-rust/openssl-0.10.36
deleted file mode 100644
index d1518c2..0000000
--- a/metadata/md5-cache/dev-rust/openssl-0.10.36
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bitflags-1*:= =dev-rust/cfg-if-1*:= >=dev-rust/foreign-types-0.3.1 <dev-rust/foreign-types-0.4.0:= =dev-rust/libc-0.2*:= >=dev-rust/once_cell-1.5.2 <dev-rust/once_cell-2.0.0:= >=dev-rust/openssl-sys-0.9.66:= <dev-rust/openssl-sys-0.10.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=OpenSSL bindings for the Rust programming language.
-EAPI=7
-HOMEPAGE=https://github.com/sfackler/rust-openssl
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND==dev-rust/bitflags-1*:= =dev-rust/cfg-if-1*:= >=dev-rust/foreign-types-0.3.1 <dev-rust/foreign-types-0.4.0:= =dev-rust/libc-0.2*:= >=dev-rust/once_cell-1.5.2 <dev-rust/once_cell-2.0.0:= >=dev-rust/openssl-sys-0.9.66:= <dev-rust/openssl-sys-0.10.0 !=dev-rust/openssl-0.10*
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.10.36/r0
-SRC_URI=https://crates.io/api/v1/crates/openssl/0.10.36/download -> openssl-0.10.36.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=f6d624480794aa5e1bc7503f9e6dfc14
diff --git a/metadata/md5-cache/dev-rust/openssl-0.10.36-r1 b/metadata/md5-cache/dev-rust/openssl-0.10.36-r1
deleted file mode 100644
index 204d189..0000000
--- a/metadata/md5-cache/dev-rust/openssl-0.10.36-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bitflags-1*:= =dev-rust/cfg-if-1*:= >=dev-rust/foreign-types-0.3.1 <dev-rust/foreign-types-0.4.0:= =dev-rust/libc-0.2*:= >=dev-rust/once_cell-1.5.2 <dev-rust/once_cell-2.0.0:= >=dev-rust/openssl-sys-0.9.66:= <dev-rust/openssl-sys-0.10.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=OpenSSL bindings for the Rust programming language.
-EAPI=7
-HOMEPAGE=https://github.com/sfackler/rust-openssl
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND==dev-rust/bitflags-1*:= =dev-rust/cfg-if-1*:= >=dev-rust/foreign-types-0.3.1 <dev-rust/foreign-types-0.4.0:= =dev-rust/libc-0.2*:= >=dev-rust/once_cell-1.5.2 <dev-rust/once_cell-2.0.0:= >=dev-rust/openssl-sys-0.9.66:= <dev-rust/openssl-sys-0.10.0 !=dev-rust/openssl-0.10*
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.10.36/r1
-SRC_URI=https://crates.io/api/v1/crates/openssl/0.10.36/download -> openssl-0.10.36.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=f6d624480794aa5e1bc7503f9e6dfc14
diff --git a/metadata/md5-cache/dev-rust/openssl-0.10.40 b/metadata/md5-cache/dev-rust/openssl-0.10.40
new file mode 100644
index 0000000..050d6ee
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/openssl-0.10.40
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/bitflags-1*:= =dev-rust/cfg-if-1*:= >=dev-rust/foreign-types-0.3.1 <dev-rust/foreign-types-0.4.0:= =dev-rust/libc-0.2*:= >=dev-rust/once_cell-1.5.2 <dev-rust/once_cell-2.0.0:= >=dev-rust/openssl-macros-0.1.0:= <dev-rust/openssl-macros-0.2.0 >=dev-rust/openssl-sys-0.9.73:= <dev-rust/openssl-sys-0.10.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=OpenSSL bindings for the Rust programming language.
+EAPI=7
+HOMEPAGE=https://github.com/sfackler/rust-openssl
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND==dev-rust/bitflags-1*:= =dev-rust/cfg-if-1*:= >=dev-rust/foreign-types-0.3.1 <dev-rust/foreign-types-0.4.0:= =dev-rust/libc-0.2*:= >=dev-rust/once_cell-1.5.2 <dev-rust/once_cell-2.0.0:= >=dev-rust/openssl-macros-0.1.0:= <dev-rust/openssl-macros-0.2.0 >=dev-rust/openssl-sys-0.9.73:= <dev-rust/openssl-sys-0.10.0 !=dev-rust/openssl-0.10* virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.10.40/r0
+SRC_URI=https://crates.io/api/v1/crates/openssl/0.10.40/download -> openssl-0.10.40.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f0d6a67c8798431a984e7b9285735a16
diff --git a/metadata/md5-cache/dev-rust/openssl-macros-0.1.0 b/metadata/md5-cache/dev-rust/openssl-macros-0.1.0
new file mode 100644
index 0000000..08f52cd
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/openssl-macros-0.1.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Internal macros used by the openssl crate.
+EAPI=7
+HOMEPAGE=https://github.com/sfackler/rust-openssl
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= !=dev-rust/openssl-macros-0.1* virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.1.0/r0
+SRC_URI=https://crates.io/api/v1/crates/openssl-macros/0.1.0/download -> openssl-macros-0.1.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=72f28c02bfd3ed517a422ab423df0db6
diff --git a/metadata/md5-cache/dev-rust/openssl-probe-0.1.2 b/metadata/md5-cache/dev-rust/openssl-probe-0.1.2
index 74ef56b..04e9e10 100644
--- a/metadata/md5-cache/dev-rust/openssl-probe-0.1.2
+++ b/metadata/md5-cache/dev-rust/openssl-probe-0.1.2
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Tool for helping to find SSL certificate locations on the system for OpenSSL
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/alexcrichton/openssl-probe
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.2/r0
 SRC_URI=https://crates.io/api/v1/crates/openssl-probe/0.1.2/download -> openssl-probe-0.1.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=5dc9ec963925ec082a28a282f951e96f
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8f7bfa7dc77e373161b14184a56cf880
diff --git a/metadata/md5-cache/dev-rust/openssl-src-111.0.1 b/metadata/md5-cache/dev-rust/openssl-src-111.0.1
index 4b12c22..46fec101 100644
--- a/metadata/md5-cache/dev-rust/openssl-src-111.0.1
+++ b/metadata/md5-cache/dev-rust/openssl-src-111.0.1
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-libs/openssl:0= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=dev-libs/openssl:0= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty openssl-src crate that pulls in the openssl headers.
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=111.0.1/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2d89a49fb294a4eaf30d0448ce3a9cc8
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3b96d63bc4e9f81585a9f6ea1ea037f9
diff --git a/metadata/md5-cache/dev-rust/openssl-src-111.0.1-r1 b/metadata/md5-cache/dev-rust/openssl-src-111.0.1-r1
index a7f03ff..9798124 100644
--- a/metadata/md5-cache/dev-rust/openssl-src-111.0.1-r1
+++ b/metadata/md5-cache/dev-rust/openssl-src-111.0.1-r1
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-libs/openssl:0= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=dev-libs/openssl:0= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty openssl-src crate that pulls in the openssl headers.
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=111.0.1/r1
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2d89a49fb294a4eaf30d0448ce3a9cc8
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3b96d63bc4e9f81585a9f6ea1ea037f9
diff --git a/metadata/md5-cache/dev-rust/openssl-sys-0.9.66 b/metadata/md5-cache/dev-rust/openssl-sys-0.9.66
index b2e8211..79ca97f 100644
--- a/metadata/md5-cache/dev-rust/openssl-sys-0.9.66
+++ b/metadata/md5-cache/dev-rust/openssl-sys-0.9.66
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/autocfg-1*:= =dev-rust/cc-1*:= =dev-rust/libc-0.2*:= >=dev-rust/pkg-config-0.3.9:= <dev-rust/pkg-config-0.4 >=dev-rust/vcpkg-0.2.8:= <dev-rust/vcpkg-0.3 >=dev-rust/openssl-src-111.0.1:= <dev-rust/openssl-src-112 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/autocfg-1*:= =dev-rust/cc-1*:= =dev-rust/libc-0.2*:= >=dev-rust/pkg-config-0.3.9:= <dev-rust/pkg-config-0.4 >=dev-rust/vcpkg-0.2.8:= <dev-rust/vcpkg-0.3 >=dev-rust/openssl-src-111.0.1:= <dev-rust/openssl-src-112 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=OpenSSL bindings for the Rust programming language.
 EAPI=7
 HOMEPAGE=https://github.com/sfackler/rust-openssl
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/autocfg-1*:= =dev-rust/cc-1*:= =dev-rust/libc-0.2*:= >=dev-rust/pkg-config-0.3.9:= <dev-rust/pkg-config-0.4 >=dev-rust/vcpkg-0.2.8:= <dev-rust/vcpkg-0.3 >=dev-rust/openssl-src-111.0.1:= <dev-rust/openssl-src-112 !=dev-rust/openssl-sys-0.9*
+RDEPEND==dev-rust/autocfg-1*:= =dev-rust/cc-1*:= =dev-rust/libc-0.2*:= >=dev-rust/pkg-config-0.3.9:= <dev-rust/pkg-config-0.4 >=dev-rust/vcpkg-0.2.8:= <dev-rust/vcpkg-0.3 >=dev-rust/openssl-src-111.0.1:= <dev-rust/openssl-src-112 !=dev-rust/openssl-sys-0.9* virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.9.66/r0
 SRC_URI=https://crates.io/api/v1/crates/openssl-sys/0.9.66/download -> openssl-sys-0.9.66.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=d42888d0b134b83088863a1f2a56d677
diff --git a/metadata/md5-cache/dev-rust/openssl-sys-0.9.66-r1 b/metadata/md5-cache/dev-rust/openssl-sys-0.9.66-r1
index 8d27080..0957112 100644
--- a/metadata/md5-cache/dev-rust/openssl-sys-0.9.66-r1
+++ b/metadata/md5-cache/dev-rust/openssl-sys-0.9.66-r1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/autocfg-1*:= =dev-rust/cc-1*:= =dev-rust/libc-0.2*:= >=dev-rust/pkg-config-0.3.9:= <dev-rust/pkg-config-0.4 >=dev-rust/vcpkg-0.2.8:= <dev-rust/vcpkg-0.3 >=dev-rust/openssl-src-111.0.1:= <dev-rust/openssl-src-112 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/autocfg-1*:= =dev-rust/cc-1*:= =dev-rust/libc-0.2*:= >=dev-rust/pkg-config-0.3.9:= <dev-rust/pkg-config-0.4 >=dev-rust/vcpkg-0.2.8:= <dev-rust/vcpkg-0.3 >=dev-rust/openssl-src-111.0.1:= <dev-rust/openssl-src-112 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=OpenSSL bindings for the Rust programming language.
 EAPI=7
 HOMEPAGE=https://github.com/sfackler/rust-openssl
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/autocfg-1*:= =dev-rust/cc-1*:= =dev-rust/libc-0.2*:= >=dev-rust/pkg-config-0.3.9:= <dev-rust/pkg-config-0.4 >=dev-rust/vcpkg-0.2.8:= <dev-rust/vcpkg-0.3 >=dev-rust/openssl-src-111.0.1:= <dev-rust/openssl-src-112 !=dev-rust/openssl-sys-0.9*
+RDEPEND==dev-rust/autocfg-1*:= =dev-rust/cc-1*:= =dev-rust/libc-0.2*:= >=dev-rust/pkg-config-0.3.9:= <dev-rust/pkg-config-0.4 >=dev-rust/vcpkg-0.2.8:= <dev-rust/vcpkg-0.3 >=dev-rust/openssl-src-111.0.1:= <dev-rust/openssl-src-112 !=dev-rust/openssl-sys-0.9* virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.9.66/r1
 SRC_URI=https://crates.io/api/v1/crates/openssl-sys/0.9.66/download -> openssl-sys-0.9.66.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=d42888d0b134b83088863a1f2a56d677
diff --git a/metadata/md5-cache/dev-rust/openssl-sys-0.9.73 b/metadata/md5-cache/dev-rust/openssl-sys-0.9.73
new file mode 100644
index 0000000..aba0a0b
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/openssl-sys-0.9.73
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/autocfg-1*:= >=dev-rust/bindgen-0.59.2:= <dev-rust/bindgen-1 =dev-rust/cc-1*:= =dev-rust/libc-0.2*:= >=dev-rust/pkg-config-0.3.9:= <dev-rust/pkg-config-0.4 >=dev-rust/vcpkg-0.2.8:= <dev-rust/vcpkg-0.3 >=dev-rust/openssl-src-111.0.1:= <dev-rust/openssl-src-112 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=OpenSSL bindings for the Rust programming language.
+EAPI=7
+HOMEPAGE=https://github.com/sfackler/rust-openssl
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND==dev-rust/autocfg-1*:= >=dev-rust/bindgen-0.59.2:= <dev-rust/bindgen-1 =dev-rust/cc-1*:= =dev-rust/libc-0.2*:= >=dev-rust/pkg-config-0.3.9:= <dev-rust/pkg-config-0.4 >=dev-rust/vcpkg-0.2.8:= <dev-rust/vcpkg-0.3 >=dev-rust/openssl-src-111.0.1:= <dev-rust/openssl-src-112 !=dev-rust/openssl-sys-0.9* virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.9.73/r0
+SRC_URI=https://crates.io/api/v1/crates/openssl-sys/0.9.73/download -> openssl-sys-0.9.73.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ad73f5a8d8f6d4a7d9b628f9cc3f3179
diff --git a/metadata/md5-cache/dev-rust/os_str_bytes-2.4.0 b/metadata/md5-cache/dev-rust/os_str_bytes-2.4.0
index 2e8a5c4..d91d805 100644
--- a/metadata/md5-cache/dev-rust/os_str_bytes-2.4.0
+++ b/metadata/md5-cache/dev-rust/os_str_bytes-2.4.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Traits for converting between byte sequences and platform-native strings
 EAPI=7
 HOMEPAGE=https://crates.io/crates/os_str_bytes
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=2.4.0/r0
 SRC_URI=https://crates.io/api/v1/crates/os_str_bytes/2.4.0/download -> os_str_bytes-2.4.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=33b99f9d68c75e27104d70bd415cefc8
diff --git a/metadata/md5-cache/dev-rust/os_str_bytes-6.0.0 b/metadata/md5-cache/dev-rust/os_str_bytes-6.0.0
new file mode 100644
index 0000000..38cb64b
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/os_str_bytes-6.0.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/memchr-2.4.0 <dev-rust/memchr-3.0.0_alpha:= =dev-rust/print_bytes-0.5*:= =dev-rust/uniquote-3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Utilities for converting between byte sequences and platform-native strings
+EAPI=7
+HOMEPAGE=https://crates.io/crates/os_str_bytes
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/memchr-2.4.0 <dev-rust/memchr-3.0.0_alpha:= =dev-rust/print_bytes-0.5*:= =dev-rust/uniquote-3*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=6.0.0/r0
+SRC_URI=https://crates.io/api/v1/crates/os_str_bytes/6.0.0/download -> os_str_bytes-6.0.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7247b465541df46303f09119e1c1b60e
diff --git a/metadata/md5-cache/dev-rust/owning_ref-0.4.1 b/metadata/md5-cache/dev-rust/owning_ref-0.4.1
index 06b7431..203caa6 100644
--- a/metadata/md5-cache/dev-rust/owning_ref-0.4.1
+++ b/metadata/md5-cache/dev-rust/owning_ref-0.4.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/stable_deref_trait-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/stable_deref_trait-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A library for creating references that carry their owner with them.
 EAPI=7
 HOMEPAGE=https://github.com/Kimundi/owning-ref-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/stable_deref_trait-1*:=
+RDEPEND==dev-rust/stable_deref_trait-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.4.1/r0
 SRC_URI=https://crates.io/api/v1/crates/owning_ref/0.4.1/download -> owning_ref-0.4.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=0f14c89e4535f09de9e4223ba49b20ea
diff --git a/metadata/md5-cache/dev-rust/p9-0.1.0-r204 b/metadata/md5-cache/dev-rust/p9-0.1.0-r204
deleted file mode 100644
index b2a0111..0000000
--- a/metadata/md5-cache/dev-rust/p9-0.1.0-r204
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-rust/libc:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= dev-rust/sys_util:= fuzzer? ( dev-rust/cros_fuzz:= ) >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Server implementation of the 9P file system protocol
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/p9/
-IUSE=fuzzer test fuzzer cros_host cros_workon_tree_80f9e4e3017742fbd3ac33518375b8856b695bab cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-rust/libc:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= dev-rust/sys_util:= fuzzer? ( dev-rust/cros_fuzz:= ) !!<=dev-rust/p9-0.1.0-r14
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r204
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=941c839c2f44f4a77eba1c8c6e5157af
diff --git a/metadata/md5-cache/dev-rust/p9-0.1.0-r287 b/metadata/md5-cache/dev-rust/p9-0.1.0-r287
new file mode 100644
index 0000000..4863763
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/p9-0.1.0-r287
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=dev-rust/libc:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= dev-rust/sys_util:= fuzzer? ( dev-rust/cros_fuzz:= ) >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Server implementation of the 9P file system protocol
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/p9/
+IUSE=fuzzer test fuzzer cros_host cros_workon_tree_62c91cc57f4bbb759cc97766a681ed0c7deac706 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-rust/libc:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= dev-rust/sys_util:= fuzzer? ( dev-rust/cros_fuzz:= ) !!<=dev-rust/p9-0.1.0-r14 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r287
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=74db456083981581a1b100c3058a413d
diff --git a/metadata/md5-cache/dev-rust/p9-9999 b/metadata/md5-cache/dev-rust/p9-9999
index 40380cb..878cb1c 100644
--- a/metadata/md5-cache/dev-rust/p9-9999
+++ b/metadata/md5-cache/dev-rust/p9-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-rust/libc:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= dev-rust/sys_util:= fuzzer? ( dev-rust/cros_fuzz:= ) >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=dev-rust/libc:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= dev-rust/sys_util:= fuzzer? ( dev-rust/cros_fuzz:= ) >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Server implementation of the 9P file system protocol
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/p9/
-IUSE=fuzzer test fuzzer cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=fuzzer test fuzzer cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=dev-rust/libc:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= dev-rust/sys_util:= fuzzer? ( dev-rust/cros_fuzz:= ) !!<=dev-rust/p9-0.1.0-r14
+RDEPEND=dev-rust/libc:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= dev-rust/sys_util:= fuzzer? ( dev-rust/cros_fuzz:= ) !!<=dev-rust/p9-0.1.0-r14 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=8310aff3e756228b43b212b2f4c8780e
diff --git a/metadata/md5-cache/dev-rust/packed_simd_2-0.3.4 b/metadata/md5-cache/dev-rust/packed_simd_2-0.3.4
new file mode 100644
index 0000000..125f1ff
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/packed_simd_2-0.3.4
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.3.4/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dcd7e86695f5a9ea614dc8b5a7b64d6d
diff --git a/metadata/md5-cache/dev-rust/panic-halt-0.2.0 b/metadata/md5-cache/dev-rust/panic-halt-0.2.0
index 6f7afed..52decb5 100644
--- a/metadata/md5-cache/dev-rust/panic-halt-0.2.0
+++ b/metadata/md5-cache/dev-rust/panic-halt-0.2.0
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Set panicking behavior to halt
 EAPI=7
 HOMEPAGE=https://crates.io/crates/panic-halt
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.2.0/r0
 SRC_URI=https://crates.io/api/v1/crates/panic-halt/0.2.0/download -> panic-halt-0.2.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=32b252009736135db616cca41a5acc5f
diff --git a/metadata/md5-cache/dev-rust/panic-reset-0.1.0 b/metadata/md5-cache/dev-rust/panic-reset-0.1.0
index de9ebcb..d1820fd 100644
--- a/metadata/md5-cache/dev-rust/panic-reset-0.1.0
+++ b/metadata/md5-cache/dev-rust/panic-reset-0.1.0
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/cortex-m-0.6*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/cortex-m-0.6*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Set panicking behavior to reset
 EAPI=7
 HOMEPAGE=https://crates.io/crates/panic-reset
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/cortex-m-0.6*:=
+RDEPEND==dev-rust/cortex-m-0.6*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.1.0/r0
 SRC_URI=https://crates.io/api/v1/crates/panic-reset/0.1.0/download -> panic-reset-0.1.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=4ef571e5ca53b4bb01612c33648b3b39
diff --git a/metadata/md5-cache/dev-rust/panic-rtt-target-0.1.2 b/metadata/md5-cache/dev-rust/panic-rtt-target-0.1.2
index 8f02240..975b680 100644
--- a/metadata/md5-cache/dev-rust/panic-rtt-target-0.1.2
+++ b/metadata/md5-cache/dev-rust/panic-rtt-target-0.1.2
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/cortex-m-0.7.1 <dev-rust/cortex-m-0.8.0_alpha:= >=dev-rust/rtt-target-0.3.1 <dev-rust/rtt-target-0.4.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/cortex-m-0.7.1 <dev-rust/cortex-m-0.8.0_alpha:= >=dev-rust/rtt-target-0.3.1 <dev-rust/rtt-target-0.4.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Logs panic messages over RTT using rtt-target
 EAPI=7
 HOMEPAGE=https://crates.io/crates/panic-rtt-target
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/cortex-m-0.7.1 <dev-rust/cortex-m-0.8.0_alpha:= >=dev-rust/rtt-target-0.3.1 <dev-rust/rtt-target-0.4.0_alpha:=
+RDEPEND=>=dev-rust/cortex-m-0.7.1 <dev-rust/cortex-m-0.8.0_alpha:= >=dev-rust/rtt-target-0.3.1 <dev-rust/rtt-target-0.4.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.2/r0
 SRC_URI=https://crates.io/api/v1/crates/panic-rtt-target/0.1.2/download -> panic-rtt-target-0.1.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=a142b696629106d871b3da8592296442
diff --git a/metadata/md5-cache/dev-rust/parking_lot-0.11.1 b/metadata/md5-cache/dev-rust/parking_lot-0.11.1
index 4886437..7011e20 100644
--- a/metadata/md5-cache/dev-rust/parking_lot-0.11.1
+++ b/metadata/md5-cache/dev-rust/parking_lot-0.11.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/instant-0.1.4 <dev-rust/instant-0.2.0_alpha:= =dev-rust/lock_api-0.4*:= =dev-rust/parking_lot_core-0.8*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/instant-0.1.4 <dev-rust/instant-0.2.0_alpha:= =dev-rust/lock_api-0.4*:= =dev-rust/parking_lot_core-0.8*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=More compact and efficient implementations of the standard synchronization primitives.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/parking_lot
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
-RDEPEND=>=dev-rust/instant-0.1.4 <dev-rust/instant-0.2.0_alpha:= =dev-rust/lock_api-0.4*:= =dev-rust/parking_lot_core-0.8*:=
+RDEPEND=>=dev-rust/instant-0.1.4 <dev-rust/instant-0.2.0_alpha:= =dev-rust/lock_api-0.4*:= =dev-rust/parking_lot_core-0.8*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.11.1/r0
 SRC_URI=https://crates.io/api/v1/crates/parking_lot/0.11.1/download -> parking_lot-0.11.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=b1455474552a81cea4f8a5d2f1518828
diff --git a/metadata/md5-cache/dev-rust/parking_lot-0.12.0 b/metadata/md5-cache/dev-rust/parking_lot-0.12.0
new file mode 100644
index 0000000..f5eae71
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/parking_lot-0.12.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/lock_api-0.4.6 <dev-rust/lock_api-0.5.0_alpha:= =dev-rust/parking_lot_core-0.9*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=More compact and efficient implementations of the standard synchronization primitives.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/parking_lot
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( Apache-2.0 MIT )
+RDEPEND=>=dev-rust/lock_api-0.4.6 <dev-rust/lock_api-0.5.0_alpha:= =dev-rust/parking_lot_core-0.9*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.12.0/r0
+SRC_URI=https://crates.io/api/v1/crates/parking_lot/0.12.0/download -> parking_lot-0.12.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dec23e0c5e2bf0491500ca7f12bf1208
diff --git a/metadata/md5-cache/dev-rust/parking_lot_core-0.8.3 b/metadata/md5-cache/dev-rust/parking_lot_core-0.8.3
index 2aabf4a..04f65b9 100644
--- a/metadata/md5-cache/dev-rust/parking_lot_core-0.8.3
+++ b/metadata/md5-cache/dev-rust/parking_lot_core-0.8.3
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/backtrace-0.3.49 <dev-rust/backtrace-0.4.0_alpha:= =dev-rust/cfg-if-1*:= >=dev-rust/instant-0.1.4 <dev-rust/instant-0.2.0_alpha:= >=dev-rust/petgraph-0.5.1 <dev-rust/petgraph-0.6.0_alpha:= >=dev-rust/smallvec-1.6.1 <dev-rust/smallvec-2.0.0_alpha:= >=dev-rust/thread-id-3.3.0 <dev-rust/thread-id-4.0.0_alpha:= >=dev-rust/libc-0.2.71 <dev-rust/libc-0.3.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/backtrace-0.3.49 <dev-rust/backtrace-0.4.0_alpha:= =dev-rust/cfg-if-1*:= >=dev-rust/instant-0.1.4 <dev-rust/instant-0.2.0_alpha:= >=dev-rust/petgraph-0.5.1 <dev-rust/petgraph-0.6.0_alpha:= >=dev-rust/smallvec-1.6.1 <dev-rust/smallvec-2.0.0_alpha:= >=dev-rust/thread-id-3.3.0 <dev-rust/thread-id-4.0.0_alpha:= >=dev-rust/libc-0.2.71 <dev-rust/libc-0.3.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=An advanced API for creating custom synchronization primitives.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/parking_lot_core
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
-RDEPEND=>=dev-rust/backtrace-0.3.49 <dev-rust/backtrace-0.4.0_alpha:= =dev-rust/cfg-if-1*:= >=dev-rust/instant-0.1.4 <dev-rust/instant-0.2.0_alpha:= >=dev-rust/petgraph-0.5.1 <dev-rust/petgraph-0.6.0_alpha:= >=dev-rust/smallvec-1.6.1 <dev-rust/smallvec-2.0.0_alpha:= >=dev-rust/thread-id-3.3.0 <dev-rust/thread-id-4.0.0_alpha:= >=dev-rust/libc-0.2.71 <dev-rust/libc-0.3.0_alpha:=
+RDEPEND=>=dev-rust/backtrace-0.3.49 <dev-rust/backtrace-0.4.0_alpha:= =dev-rust/cfg-if-1*:= >=dev-rust/instant-0.1.4 <dev-rust/instant-0.2.0_alpha:= >=dev-rust/petgraph-0.5.1 <dev-rust/petgraph-0.6.0_alpha:= >=dev-rust/smallvec-1.6.1 <dev-rust/smallvec-2.0.0_alpha:= >=dev-rust/thread-id-3.3.0 <dev-rust/thread-id-4.0.0_alpha:= >=dev-rust/libc-0.2.71 <dev-rust/libc-0.3.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.8.3/r0
 SRC_URI=https://crates.io/api/v1/crates/parking_lot_core/0.8.3/download -> parking_lot_core-0.8.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e4714a64a29797a4c4d9142a4a7164d0
diff --git a/metadata/md5-cache/dev-rust/parking_lot_core-0.9.2 b/metadata/md5-cache/dev-rust/parking_lot_core-0.9.2
new file mode 100644
index 0000000..02a1f5b
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/parking_lot_core-0.9.2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/backtrace-0.3.60 <dev-rust/backtrace-0.4.0_alpha:= =dev-rust/cfg-if-1*:= =dev-rust/petgraph-0.6*:= >=dev-rust/smallvec-1.6.1 <dev-rust/smallvec-2.0.0_alpha:= =dev-rust/thread-id-4*:= >=dev-rust/libc-0.2.95 <dev-rust/libc-0.3.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=An advanced API for creating custom synchronization primitives.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/parking_lot_core
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/backtrace-0.3.60 <dev-rust/backtrace-0.4.0_alpha:= =dev-rust/cfg-if-1*:= =dev-rust/petgraph-0.6*:= >=dev-rust/smallvec-1.6.1 <dev-rust/smallvec-2.0.0_alpha:= =dev-rust/thread-id-4*:= >=dev-rust/libc-0.2.95 <dev-rust/libc-0.3.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.9.2/r0
+SRC_URI=https://crates.io/api/v1/crates/parking_lot_core/0.9.2/download -> parking_lot_core-0.9.2.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=de83c7e30f5d9651f6134537bd1a817f
diff --git a/metadata/md5-cache/dev-rust/paste-1.0.2 b/metadata/md5-cache/dev-rust/paste-1.0.2
index 003c5d0..7d16bdf 100644
--- a/metadata/md5-cache/dev-rust/paste-1.0.2
+++ b/metadata/md5-cache/dev-rust/paste-1.0.2
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Macros for all your token pasting needs
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/dtolnay/paste
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.2/r0
 SRC_URI=https://crates.io/api/v1/crates/paste/1.0.2/download -> paste-1.0.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=e37201c6da9b5e2a2c929659789ffb7a
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2af7e93f2a2e65969a5f3cafcbc5becf
diff --git a/metadata/md5-cache/dev-rust/paw-1.0.0 b/metadata/md5-cache/dev-rust/paw-1.0.0
index 51227c3..5ce6142 100644
--- a/metadata/md5-cache/dev-rust/paw-1.0.0
+++ b/metadata/md5-cache/dev-rust/paw-1.0.0
@@ -1,12 +1,13 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty paw crate
 EAPI=7
 HOMEPAGE=https://github.com/rust-cli/paw
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=00f19a425c17ea89833361a9d1c6acef
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d293d511541d785c9175516cb3a00d53
diff --git a/metadata/md5-cache/dev-rust/pcap-file-1.1.1 b/metadata/md5-cache/dev-rust/pcap-file-1.1.1
new file mode 100644
index 0000000..6a86800
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/pcap-file-1.1.1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty pcap-file crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.1.1/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d2b924387d24ef5421fe1a0bdc1b4aed
diff --git a/metadata/md5-cache/dev-rust/peeking_take_while-0.1.2 b/metadata/md5-cache/dev-rust/peeking_take_while-0.1.2
index 67bd52d..847ddb8 100644
--- a/metadata/md5-cache/dev-rust/peeking_take_while-0.1.2
+++ b/metadata/md5-cache/dev-rust/peeking_take_while-0.1.2
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Like Iterator::take_while, but calls the predicate on a peeked value.
 EAPI=7
 HOMEPAGE=https://github.com/fitzgen/peeking_take_while
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.2/r0
 SRC_URI=https://crates.io/api/v1/crates/peeking_take_while/0.1.2/download -> peeking_take_while-0.1.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=56ab87518e732df7743c23b1c72bda2f
diff --git a/metadata/md5-cache/dev-rust/percent-encoding-1.0.1 b/metadata/md5-cache/dev-rust/percent-encoding-1.0.1
index 0e72800..b26f461 100644
--- a/metadata/md5-cache/dev-rust/percent-encoding-1.0.1
+++ b/metadata/md5-cache/dev-rust/percent-encoding-1.0.1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Percent encoding and decoding
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/servo/rust-url/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.1/r0
 SRC_URI=https://crates.io/api/v1/crates/percent-encoding/1.0.1/download -> percent-encoding-1.0.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=214b88bd705c706a0f78ce4e2cf12b8a
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=897d630f755f5c9acce4a77594aba4a1
diff --git a/metadata/md5-cache/dev-rust/percent-encoding-2.1.0 b/metadata/md5-cache/dev-rust/percent-encoding-2.1.0
new file mode 100644
index 0000000..5d89de7
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/percent-encoding-2.1.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Percent encoding and decoding
+EAPI=7
+HOMEPAGE=https://crates.io/crates/percent-encoding
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=2.1.0/r0
+SRC_URI=https://crates.io/api/v1/crates/percent-encoding/2.1.0/download -> percent-encoding-2.1.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=edd6bd6c7db78a74e519d41fd29a901a
diff --git a/metadata/md5-cache/dev-rust/petgraph-0.5.1 b/metadata/md5-cache/dev-rust/petgraph-0.5.1
index 578b567..2046bfa 100644
--- a/metadata/md5-cache/dev-rust/petgraph-0.5.1
+++ b/metadata/md5-cache/dev-rust/petgraph-0.5.1
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.5.1/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/petgraph-0.6.0 b/metadata/md5-cache/dev-rust/petgraph-0.6.0
new file mode 100644
index 0000000..e262239
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/petgraph-0.6.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.6.0/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/pin-project-lite-0.2.4 b/metadata/md5-cache/dev-rust/pin-project-lite-0.2.4
index 3367039..13d0e67 100644
--- a/metadata/md5-cache/dev-rust/pin-project-lite-0.2.4
+++ b/metadata/md5-cache/dev-rust/pin-project-lite-0.2.4
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A lightweight version of pin-project written with declarative macros.
 EAPI=7
 HOMEPAGE=https://github.com/taiki-e/pin-project-lite
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.2.4/r0
 SRC_URI=https://crates.io/api/v1/crates/pin-project-lite/0.2.4/download -> pin-project-lite-0.2.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=5f7f3e9e79fb48f3224e26f869386efe
diff --git a/metadata/md5-cache/dev-rust/pin-utils-0.1.0 b/metadata/md5-cache/dev-rust/pin-utils-0.1.0
index 1ac6f50..3bf92703 100644
--- a/metadata/md5-cache/dev-rust/pin-utils-0.1.0
+++ b/metadata/md5-cache/dev-rust/pin-utils-0.1.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Utilities for pinning
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang-nursery/pin-utils
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=!~dev-rust/pin-utils-0.1.0_alpha4
+RDEPEND=!~dev-rust/pin-utils-0.1.0_alpha4 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.0/r0
 SRC_URI=https://crates.io/api/v1/crates/pin-utils/0.1.0/download -> pin-utils-0.1.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=33aa0e5c710f5a66a324b20adf37ff64
diff --git a/metadata/md5-cache/dev-rust/pkg-config-0.3.11-r2 b/metadata/md5-cache/dev-rust/pkg-config-0.3.11-r2
index 6e72097..e8c6d13 100644
--- a/metadata/md5-cache/dev-rust/pkg-config-0.3.11-r2
+++ b/metadata/md5-cache/dev-rust/pkg-config-0.3.11-r2
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/lazy_static-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/lazy_static-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A library to run the pkg-config system tool at build time in order to be used in Cargo build scripts
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/alexcrichton/pkg-config-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.11/r2
 SRC_URI=https://crates.io/api/v1/crates/pkg-config/0.3.11/download -> pkg-config-0.3.11.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=2c4f48112c1961eb2089f372e114eae7
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=790d4a523ebd7622ab7dde2885a0bebb
diff --git a/metadata/md5-cache/dev-rust/pkg-config-0.3.19 b/metadata/md5-cache/dev-rust/pkg-config-0.3.19
index 735fc2d..56b88fa 100644
--- a/metadata/md5-cache/dev-rust/pkg-config-0.3.19
+++ b/metadata/md5-cache/dev-rust/pkg-config-0.3.19
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A library to run the pkg-config system tool at build time in order to be used in Cargo build scripts.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/pkg-config
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.3.19/r0
 SRC_URI=https://crates.io/api/v1/crates/pkg-config/0.3.19/download -> pkg-config-0.3.19.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=5c9b39bde730c9ed81308f93b9dac05f
diff --git a/metadata/md5-cache/dev-rust/png-0.16.8 b/metadata/md5-cache/dev-rust/png-0.16.8
index 708bd76..644745a 100644
--- a/metadata/md5-cache/dev-rust/png-0.16.8
+++ b/metadata/md5-cache/dev-rust/png-0.16.8
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bitflags-1*:= >=dev-rust/crc32fast-1.2.0 <dev-rust/crc32fast-2.0.0_alpha:= >=dev-rust/deflate-0.8.2 <dev-rust/deflate-0.9.0_alpha:= >=dev-rust/miniz_oxide-0.4.1 <dev-rust/miniz_oxide-0.5.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/bitflags-1*:= >=dev-rust/crc32fast-1.2.0 <dev-rust/crc32fast-2.0.0_alpha:= >=dev-rust/deflate-0.8.2 <dev-rust/deflate-0.9.0_alpha:= >=dev-rust/miniz_oxide-0.4.1 <dev-rust/miniz_oxide-0.5.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=PNG decoding and encoding library in pure Rust
 EAPI=7
 HOMEPAGE=https://crates.io/crates/png
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/bitflags-1*:= >=dev-rust/crc32fast-1.2.0 <dev-rust/crc32fast-2.0.0_alpha:= >=dev-rust/deflate-0.8.2 <dev-rust/deflate-0.9.0_alpha:= >=dev-rust/miniz_oxide-0.4.1 <dev-rust/miniz_oxide-0.5.0_alpha:=
+RDEPEND==dev-rust/bitflags-1*:= >=dev-rust/crc32fast-1.2.0 <dev-rust/crc32fast-2.0.0_alpha:= >=dev-rust/deflate-0.8.2 <dev-rust/deflate-0.9.0_alpha:= >=dev-rust/miniz_oxide-0.4.1 <dev-rust/miniz_oxide-0.5.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.16.8/r0
 SRC_URI=https://crates.io/api/v1/crates/png/0.16.8/download -> png-0.16.8.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=eb261bea9d11961d8f93e3d3dca008de
diff --git a/metadata/md5-cache/dev-rust/portable-atomic-0.3.0 b/metadata/md5-cache/dev-rust/portable-atomic-0.3.0
new file mode 100644
index 0000000..bc56c35
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/portable-atomic-0.3.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.3.0/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dcd7e86695f5a9ea614dc8b5a7b64d6d
diff --git a/metadata/md5-cache/dev-rust/postgres-types-0.2.0 b/metadata/md5-cache/dev-rust/postgres-types-0.2.0
new file mode 100644
index 0000000..59b764f
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/postgres-types-0.2.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.2.0/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dcd7e86695f5a9ea614dc8b5a7b64d6d
diff --git a/metadata/md5-cache/dev-rust/ppv-lite86-0.2.10 b/metadata/md5-cache/dev-rust/ppv-lite86-0.2.10
index 344fd24..e7e1cf2 100644
--- a/metadata/md5-cache/dev-rust/ppv-lite86-0.2.10
+++ b/metadata/md5-cache/dev-rust/ppv-lite86-0.2.10
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Implementation of the crypto-simd API for x86
 EAPI=7
 HOMEPAGE=https://github.com/cryptocorrosion/cryptocorrosion
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.10/r0
 SRC_URI=https://crates.io/api/v1/crates/ppv-lite86/0.2.10/download -> ppv-lite86-0.2.10.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=c3ff0823dd75ffb741035e70b8573286
diff --git a/metadata/md5-cache/dev-rust/print_bytes-0.5.0 b/metadata/md5-cache/dev-rust/print_bytes-0.5.0
new file mode 100644
index 0000000..4e6eeae
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/print_bytes-0.5.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.5.0/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dcd7e86695f5a9ea614dc8b5a7b64d6d
diff --git a/metadata/md5-cache/dev-rust/proc-macro-crate-0.1.5 b/metadata/md5-cache/dev-rust/proc-macro-crate-0.1.5
deleted file mode 100644
index deeec48..0000000
--- a/metadata/md5-cache/dev-rust/proc-macro-crate-0.1.5
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/toml-0.5*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Replacement for crate (macro_rules keyword) in proc-macros.
-EAPI=7
-HOMEPAGE=https://github.com/bkchr/proc-macro-crate
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.5/r0
-SRC_URI=https://crates.io/api/v1/crates/proc-macro-crate/0.1.5/download -> proc-macro-crate-0.1.5.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=7f24e5c241b5192874591a943def6571
diff --git a/metadata/md5-cache/dev-rust/proc-macro-crate-0.1.5-r1 b/metadata/md5-cache/dev-rust/proc-macro-crate-0.1.5-r1
new file mode 100644
index 0000000..6225e1f
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/proc-macro-crate-0.1.5-r1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/toml-0.5*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Replacement for crate (macro_rules keyword) in proc-macros.
+EAPI=7
+HOMEPAGE=https://github.com/bkchr/proc-macro-crate
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/toml-0.5*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.1.5/r1
+SRC_URI=https://crates.io/api/v1/crates/proc-macro-crate/0.1.5/download -> proc-macro-crate-0.1.5.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8040e15835a412161d156a2b41d02916
diff --git a/metadata/md5-cache/dev-rust/proc-macro-error-1.0.4 b/metadata/md5-cache/dev-rust/proc-macro-error-1.0.4
index e9dc0f2..1a8821e 100644
--- a/metadata/md5-cache/dev-rust/proc-macro-error-1.0.4
+++ b/metadata/md5-cache/dev-rust/proc-macro-error-1.0.4
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-1*:= ~dev-rust/proc-macro-error-attr-1.0.4:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= =dev-rust/version_check-0.9*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/proc-macro2-1*:= ~dev-rust/proc-macro-error-attr-1.0.4:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= =dev-rust/version_check-0.9*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=This crate aims to make error reporting in proc-macros simple and easy to use
 EAPI=7
 HOMEPAGE=https://gitlab.com/CreepySkeleton/proc-macro-error
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=1.0.4/r0
 SRC_URI=https://crates.io/api/v1/crates/proc-macro-error/1.0.4/download -> proc-macro-error-1.0.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=566e71d86b1d9bb3d85b18542be274ae
diff --git a/metadata/md5-cache/dev-rust/proc-macro-error-attr-1.0.4 b/metadata/md5-cache/dev-rust/proc-macro-error-attr-1.0.4
index efc0428..d08d522 100644
--- a/metadata/md5-cache/dev-rust/proc-macro-error-attr-1.0.4
+++ b/metadata/md5-cache/dev-rust/proc-macro-error-attr-1.0.4
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/version_check-0.9*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/version_check-0.9*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Attribute macro for proc-macro-error crate
 EAPI=7
 HOMEPAGE=https://gitlab.com/CreepySkeleton/proc-macro-error
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.4/r0
 SRC_URI=https://crates.io/api/v1/crates/proc-macro-error-attr/1.0.4/download -> proc-macro-error-attr-1.0.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=02a1d14b5e7668c035aca3e63ad7b53b
diff --git a/metadata/md5-cache/dev-rust/proc-macro-hack-0.5.19 b/metadata/md5-cache/dev-rust/proc-macro-hack-0.5.19
index 1924e5f..f80e4aa 100644
--- a/metadata/md5-cache/dev-rust/proc-macro-hack-0.5.19
+++ b/metadata/md5-cache/dev-rust/proc-macro-hack-0.5.19
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Procedural macros in expression position
 EAPI=7
 HOMEPAGE=https://github.com/dtolnay/proc-macro-hack
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=!~dev-rust/proc-macro-hack-0.5.11
+RDEPEND=!~dev-rust/proc-macro-hack-0.5.11 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.5.19/r0
 SRC_URI=https://crates.io/api/v1/crates/proc-macro-hack/0.5.19/download -> proc-macro-hack-0.5.19.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=fea72203047de61ea395dfce73933e62
diff --git a/metadata/md5-cache/dev-rust/proc-macro-nested-0.1.3 b/metadata/md5-cache/dev-rust/proc-macro-nested-0.1.3
index 2c500f2..b9b7db1 100644
--- a/metadata/md5-cache/dev-rust/proc-macro-nested-0.1.3
+++ b/metadata/md5-cache/dev-rust/proc-macro-nested-0.1.3
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Support for nested proc-macro-hack invocations
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/dtolnay/proc-macro-hack
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.3/r0
 SRC_URI=https://crates.io/api/v1/crates/proc-macro-nested/0.1.3/download -> proc-macro-nested-0.1.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=38bd84c1b11f7b578f41008d5407c0da
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8fc2030582562f04ea0d991a28620ee2
diff --git a/metadata/md5-cache/dev-rust/proc-macro2-0.4.21 b/metadata/md5-cache/dev-rust/proc-macro2-0.4.21
index a8ebc0b..63bccd5 100644
--- a/metadata/md5-cache/dev-rust/proc-macro2-0.4.21
+++ b/metadata/md5-cache/dev-rust/proc-macro2-0.4.21
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/unicode-xid-0.1:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/unicode-xid-0.1:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Stable implemntation of the upcoming 'proc_macro' API
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/alexcrichton/proc-macro2
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.4.21/r0
 SRC_URI=https://crates.io/api/v1/crates/proc-macro2/0.4.21/download -> proc-macro2-0.4.21.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=b189aa6688fd54119395ae0b996be530
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9d231363fed2d58a4f5caf867fa5c844
diff --git a/metadata/md5-cache/dev-rust/proc-macro2-1.0.29 b/metadata/md5-cache/dev-rust/proc-macro2-1.0.29
index 282b266..c2d90f7 100644
--- a/metadata/md5-cache/dev-rust/proc-macro2-1.0.29
+++ b/metadata/md5-cache/dev-rust/proc-macro2-1.0.29
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/unicode-xid-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/unicode-xid-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A substitute implementation of the compiler"s "proc_macro" API to decouple token-based libraries from the procedural macro use case.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/proc-macro2
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/unicode-xid-0.2*:=
+RDEPEND==dev-rust/unicode-xid-0.2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.29/r0
 SRC_URI=https://crates.io/api/v1/crates/proc-macro2/1.0.29/download -> proc-macro2-1.0.29.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=0acd9754cba3ea588fd4868dca1708f3
diff --git a/metadata/md5-cache/dev-rust/proc-macro2-1.0.36 b/metadata/md5-cache/dev-rust/proc-macro2-1.0.36
new file mode 100644
index 0000000..3517bb5
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/proc-macro2-1.0.36
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/unicode-xid-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A substitute implementation of the compiler"s "proc_macro" API to decouple token-based libraries from the procedural macro use case.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/proc-macro2
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/unicode-xid-0.2*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.0.36/r0
+SRC_URI=https://crates.io/api/v1/crates/proc-macro2/1.0.36/download -> proc-macro2-1.0.36.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=fdac369b4abedca0ecd9b4fb3ef87b53
diff --git a/metadata/md5-cache/dev-rust/proc-macro2-1.0.37 b/metadata/md5-cache/dev-rust/proc-macro2-1.0.37
new file mode 100644
index 0000000..5f14537
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/proc-macro2-1.0.37
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/unicode-xid-0.2.2 <dev-rust/unicode-xid-0.3.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A substitute implementation of the compiler"s "proc_macro" API to decouple token-based libraries from the procedural macro use case.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/proc-macro2
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/unicode-xid-0.2.2 <dev-rust/unicode-xid-0.3.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.0.37/r0
+SRC_URI=https://crates.io/api/v1/crates/proc-macro2/1.0.37/download -> proc-macro2-1.0.37.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=238860563892dd15ab81749847143c74
diff --git a/metadata/md5-cache/dev-rust/protobuf-2.24.1 b/metadata/md5-cache/dev-rust/protobuf-2.24.1
index a7861bb..f0348cc 100644
--- a/metadata/md5-cache/dev-rust/protobuf-2.24.1
+++ b/metadata/md5-cache/dev-rust/protobuf-2.24.1
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bytes-0.5*:= =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/bytes-0.5*:= =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust implementation of Google protocol buffers
 EAPI=7
 HOMEPAGE=https://github.com/stepancheg/rust-protobuf/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/bytes-0.5*:= =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:=
+RDEPEND==dev-rust/bytes-0.5*:= =dev-rust/serde-1*:= =dev-rust/serde_derive-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=2.24.1/r0
 SRC_URI=https://crates.io/api/v1/crates/protobuf/2.24.1/download -> protobuf-2.24.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f310bf384bf8aa6d57f80c5020d94881
diff --git a/metadata/md5-cache/dev-rust/protobuf-codegen-2.24.1 b/metadata/md5-cache/dev-rust/protobuf-codegen-2.24.1
index 7c7af20..031db27 100644
--- a/metadata/md5-cache/dev-rust/protobuf-codegen-2.24.1
+++ b/metadata/md5-cache/dev-rust/protobuf-codegen-2.24.1
@@ -1,14 +1,15 @@
+BDEPEND=!cros_host? ( =dev-rust/protobuf-codegen-2.24.1 )
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=~dev-rust/protobuf-2.24.1:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=~dev-rust/protobuf-2.24.1:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Protobuf code generator and a protoc-gen-rust protoc plugin
 EAPI=7
 HOMEPAGE=https://github.com/stepancheg/rust-protobuf/protobuf-codegen
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros_host cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=~dev-rust/protobuf-2.24.1:=
+RDEPEND=~dev-rust/protobuf-2.24.1:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/2.24.1
 SRC_URI=https://crates.io/api/v1/crates/protobuf-codegen/2.24.1/download -> protobuf-codegen-2.24.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=53e04d34ff0791a0c2b3ec00f0632633
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d40f8208cb94eff61694b42c10cfa5c7
diff --git a/metadata/md5-cache/dev-rust/protobuf-codegen-2.24.1-r1 b/metadata/md5-cache/dev-rust/protobuf-codegen-2.24.1-r1
new file mode 100644
index 0000000..e826da4
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/protobuf-codegen-2.24.1-r1
@@ -0,0 +1,15 @@
+BDEPEND=!cros_host? ( =dev-rust/protobuf-codegen-2.24.1-r1 )
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=~dev-rust/protobuf-2.24.1:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Protobuf code generator and a protoc-gen-rust protoc plugin
+EAPI=7
+HOMEPAGE=https://github.com/stepancheg/rust-protobuf/protobuf-codegen
+IUSE=cros_host cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=~dev-rust/protobuf-2.24.1:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/2.24.1-r1
+SRC_URI=https://crates.io/api/v1/crates/protobuf-codegen/2.24.1/download -> protobuf-codegen-2.24.1.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d40f8208cb94eff61694b42c10cfa5c7
diff --git a/metadata/md5-cache/dev-rust/protoc-2.24.1 b/metadata/md5-cache/dev-rust/protoc-2.24.1
index 096d45d..0357cd6 100644
--- a/metadata/md5-cache/dev-rust/protoc-2.24.1
+++ b/metadata/md5-cache/dev-rust/protoc-2.24.1
@@ -1,14 +1,15 @@
 BDEPEND=dev-libs/protobuf
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/log-0*:= =dev-rust/which-4*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/log-0*:= =dev-rust/which-4*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Protobuf protoc command as API
 EAPI=7
 HOMEPAGE=https://github.com/stepancheg/rust-protobuf/protoc/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=2.24.1/r0
 SRC_URI=https://crates.io/api/v1/crates/protoc/2.24.1/download -> protoc-2.24.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=ca90c97b33af3f72a7bf29f6ae3daff8
diff --git a/metadata/md5-cache/dev-rust/protoc-rust-2.24.1 b/metadata/md5-cache/dev-rust/protoc-rust-2.24.1
index a3557a9..aeec00c 100644
--- a/metadata/md5-cache/dev-rust/protoc-rust-2.24.1
+++ b/metadata/md5-cache/dev-rust/protoc-rust-2.24.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=~dev-rust/protobuf-2.24.1:= ~dev-rust/protobuf-codegen-2.24.1:= ~dev-rust/protoc-2.24.1:= =dev-rust/tempfile-3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=~dev-rust/protobuf-2.24.1:= ~dev-rust/protobuf-codegen-2.24.1:= ~dev-rust/protoc-2.24.1:= =dev-rust/tempfile-3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=protoc --rust_out=... available as API.
 EAPI=7
 HOMEPAGE=https://github.com/stepancheg/rust-protobuf/protoc-rust/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=~dev-rust/protobuf-2.24.1:= ~dev-rust/protobuf-codegen-2.24.1:= ~dev-rust/protoc-2.24.1:= =dev-rust/tempfile-3*:=
+RDEPEND=~dev-rust/protobuf-2.24.1:= ~dev-rust/protobuf-codegen-2.24.1:= ~dev-rust/protoc-2.24.1:= =dev-rust/tempfile-3*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/2.24.1
 SRC_URI=https://crates.io/api/v1/crates/protoc-rust/2.24.1/download -> protoc-rust-2.24.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=6e3d8ce688e01032165ee3a7830e6a03
diff --git a/metadata/md5-cache/dev-rust/pulldown-cmark-0.6.1 b/metadata/md5-cache/dev-rust/pulldown-cmark-0.6.1
index e8fcf3e..2044d21 100644
--- a/metadata/md5-cache/dev-rust/pulldown-cmark-0.6.1
+++ b/metadata/md5-cache/dev-rust/pulldown-cmark-0.6.1
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bitflags-1.2.0:= <dev-rust/bitflags-2.0.0 =dev-rust/getopts-0.2*:= >=dev-rust/memchr-2.2.0:= <dev-rust/memchr-3.0.0 >=dev-rust/unicase-2.5.0:= <dev-rust/unicase-3.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/bitflags-1.2.0:= <dev-rust/bitflags-2.0.0 =dev-rust/getopts-0.2*:= >=dev-rust/memchr-2.2.0:= <dev-rust/memchr-3.0.0 >=dev-rust/unicase-2.5.0:= <dev-rust/unicase-3.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A pull parser for CommonMark
 EAPI=7
 HOMEPAGE=https://crates.io/crates/pulldown-cmark
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/bitflags-1.2.0:= <dev-rust/bitflags-2.0.0 =dev-rust/getopts-0.2*:= >=dev-rust/memchr-2.2.0:= <dev-rust/memchr-3.0.0 >=dev-rust/unicase-2.5.0:= <dev-rust/unicase-3.0.0
+RDEPEND=>=dev-rust/bitflags-1.2.0:= <dev-rust/bitflags-2.0.0 =dev-rust/getopts-0.2*:= >=dev-rust/memchr-2.2.0:= <dev-rust/memchr-3.0.0 >=dev-rust/unicase-2.5.0:= <dev-rust/unicase-3.0.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.6.1/r0
 SRC_URI=https://crates.io/api/v1/crates/pulldown-cmark/0.6.1/download -> pulldown-cmark-0.6.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=eca7af9914450b6bb15130ed359e35c6
diff --git a/metadata/md5-cache/dev-rust/quick-error-1.2.1 b/metadata/md5-cache/dev-rust/quick-error-1.2.1
index 5102d6d..321317f 100644
--- a/metadata/md5-cache/dev-rust/quick-error-1.2.1
+++ b/metadata/md5-cache/dev-rust/quick-error-1.2.1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A macro which makes error types pleasant to write.
-EAPI=6
+EAPI=7
 HOMEPAGE=http://github.com/tailhook/quick-error
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.2.1/r0
 SRC_URI=https://crates.io/api/v1/crates/quick-error/1.2.1/download -> quick-error-1.2.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=54fca8389b6f482052cf4e7ff4951365
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b32f17e89311c81e896e679e1b176438
diff --git a/metadata/md5-cache/dev-rust/quickcheck-0.9.0 b/metadata/md5-cache/dev-rust/quickcheck-0.9.0
index 43b0864..32a2688 100644
--- a/metadata/md5-cache/dev-rust/quickcheck-0.9.0
+++ b/metadata/md5-cache/dev-rust/quickcheck-0.9.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.9.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/quickcheck-1.0.0 b/metadata/md5-cache/dev-rust/quickcheck-1.0.0
index 89b8c8d..c829268 100644
--- a/metadata/md5-cache/dev-rust/quickcheck-1.0.0
+++ b/metadata/md5-cache/dev-rust/quickcheck-1.0.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/quickcheck-1.0.3 b/metadata/md5-cache/dev-rust/quickcheck-1.0.3
new file mode 100644
index 0000000..cceebc7
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/quickcheck-1.0.3
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.0.3/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dcd7e86695f5a9ea614dc8b5a7b64d6d
diff --git a/metadata/md5-cache/dev-rust/quickcheck_macros-0.8.0 b/metadata/md5-cache/dev-rust/quickcheck_macros-0.8.0
new file mode 100644
index 0000000..d49a841
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/quickcheck_macros-0.8.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.8.0/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dcd7e86695f5a9ea614dc8b5a7b64d6d
diff --git a/metadata/md5-cache/dev-rust/quote-0.6.10 b/metadata/md5-cache/dev-rust/quote-0.6.10
index f65e17f..ce64304 100644
--- a/metadata/md5-cache/dev-rust/quote-0.6.10
+++ b/metadata/md5-cache/dev-rust/quote-0.6.10
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=~dev-rust/proc-macro2-0.4.21:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=~dev-rust/proc-macro2-0.4.21:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Quasi-quoting macro quote!(...)
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/dtolnay/quote
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.6.10/r0
 SRC_URI=https://crates.io/api/v1/crates/quote/0.6.10/download -> quote-0.6.10.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=3dee3a77039946501509f7f7a124b0c7
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2c3315639755050d1d8fe3020730878e
diff --git a/metadata/md5-cache/dev-rust/quote-1.0.9 b/metadata/md5-cache/dev-rust/quote-1.0.9
index 2c1265c..4d1889d 100644
--- a/metadata/md5-cache/dev-rust/quote-1.0.9
+++ b/metadata/md5-cache/dev-rust/quote-1.0.9
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/proc-macro2-1.0.20:= <dev-rust/proc-macro2-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/proc-macro2-1.0.20:= <dev-rust/proc-macro2-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Quasi-quoting macro quote!(...)
 EAPI=7
 HOMEPAGE=https://crates.io/crates/quote
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/proc-macro2-1.0.20:= <dev-rust/proc-macro2-2.0.0
+RDEPEND=>=dev-rust/proc-macro2-1.0.20:= <dev-rust/proc-macro2-2.0.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=1.0.9/r0
 SRC_URI=https://crates.io/api/v1/crates/quote/1.0.9/download -> quote-1.0.9.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=88fadedd2c537568cea48b75e22b7eb1
diff --git a/metadata/md5-cache/dev-rust/r0-0.2.2 b/metadata/md5-cache/dev-rust/r0-0.2.2
index aa1fff7..f569ebe 100644
--- a/metadata/md5-cache/dev-rust/r0-0.2.2
+++ b/metadata/md5-cache/dev-rust/r0-0.2.2
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Initialization code ("crt0") written in Rust
 EAPI=7
 HOMEPAGE=https://crates.io/crates/r0
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.2/r0
 SRC_URI=https://crates.io/api/v1/crates/r0/0.2.2/download -> r0-0.2.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=8f446fee392bc09bce6bed12b69afe88
diff --git a/metadata/md5-cache/dev-rust/r0-1.0.0 b/metadata/md5-cache/dev-rust/r0-1.0.0
index 63c57d3..a783820 100644
--- a/metadata/md5-cache/dev-rust/r0-1.0.0
+++ b/metadata/md5-cache/dev-rust/r0-1.0.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Initialization code ("crt0") written in Rust
 EAPI=7
 HOMEPAGE=https://crates.io/crates/r0
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.0/r0
 SRC_URI=https://crates.io/api/v1/crates/r0/1.0.0/download -> r0-1.0.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=c1b2a4d451410432881786aa29c14624
diff --git a/metadata/md5-cache/dev-rust/radix_trie-0.2.1 b/metadata/md5-cache/dev-rust/radix_trie-0.2.1
index 833902f..90a638d 100644
--- a/metadata/md5-cache/dev-rust/radix_trie-0.2.1
+++ b/metadata/md5-cache/dev-rust/radix_trie-0.2.1
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/endian-type-0.1.2 <dev-rust/endian-type-0.2.0_alpha:= =dev-rust/nibble_vec-0.1*:= =dev-rust/serde-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/endian-type-0.1.2 <dev-rust/endian-type-0.2.0_alpha:= =dev-rust/nibble_vec-0.1*:= =dev-rust/serde-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Generic radix trie data-structure.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/radix_trie
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/endian-type-0.1.2 <dev-rust/endian-type-0.2.0_alpha:= =dev-rust/nibble_vec-0.1*:= =dev-rust/serde-1*:=
+RDEPEND=>=dev-rust/endian-type-0.1.2 <dev-rust/endian-type-0.2.0_alpha:= =dev-rust/nibble_vec-0.1*:= =dev-rust/serde-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.2.1/r0
 SRC_URI=https://crates.io/api/v1/crates/radix_trie/0.2.1/download -> radix_trie-0.2.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=57b1737e7865dd5dac4bc07be5648ffd
diff --git a/metadata/md5-cache/dev-rust/rand-0.3.20 b/metadata/md5-cache/dev-rust/rand-0.3.20
index 0c4164d..33d1c42 100644
--- a/metadata/md5-cache/dev-rust/rand-0.3.20
+++ b/metadata/md5-cache/dev-rust/rand-0.3.20
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty rand crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.20/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=6a6f95690def37edad390c266623a6bc
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a30c5d2141fe6b7f4e0b493006cd0a91
diff --git a/metadata/md5-cache/dev-rust/rand-0.4.2 b/metadata/md5-cache/dev-rust/rand-0.4.2
index 394f279..454df31 100644
--- a/metadata/md5-cache/dev-rust/rand-0.4.2
+++ b/metadata/md5-cache/dev-rust/rand-0.4.2
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/fuchsia-zircon-0.3.2:= >=dev-rust/winapi-0.3.0:= >=dev-rust/libc-0.2.0:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/fuchsia-zircon-0.3.2:= >=dev-rust/winapi-0.3.0:= >=dev-rust/libc-0.2.0:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A Rust library for random number generation.
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/rust-random/rand
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/fuchsia-zircon-0.3.2:= >=dev-rust/winapi-0.3.0:= >=dev-rust/libc-0.2.0:=
+RDEPEND=>=dev-rust/fuchsia-zircon-0.3.2:= >=dev-rust/winapi-0.3.0:= >=dev-rust/libc-0.2.0:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.4.2/r0
 SRC_URI=https://crates.io/api/v1/crates/rand/0.4.2/download -> rand-0.4.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=fce99cd237ab9d166555a20fad667a36
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=54b5bc25d3dad52298b232496d8f71d0
diff --git a/metadata/md5-cache/dev-rust/rand-0.4.2-r1 b/metadata/md5-cache/dev-rust/rand-0.4.2-r1
index e0f8a13..f19c1b9 100644
--- a/metadata/md5-cache/dev-rust/rand-0.4.2-r1
+++ b/metadata/md5-cache/dev-rust/rand-0.4.2-r1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/fuchsia-zircon-0.3.2:= >=dev-rust/winapi-0.3.0:= >=dev-rust/libc-0.2.0:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/fuchsia-zircon-0.3.2:= >=dev-rust/winapi-0.3.0:= >=dev-rust/libc-0.2.0:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A Rust library for random number generation.
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/rust-random/rand
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/fuchsia-zircon-0.3.2:= >=dev-rust/winapi-0.3.0:= >=dev-rust/libc-0.2.0:=
+RDEPEND=>=dev-rust/fuchsia-zircon-0.3.2:= >=dev-rust/winapi-0.3.0:= >=dev-rust/libc-0.2.0:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.4.2/r1
 SRC_URI=https://crates.io/api/v1/crates/rand/0.4.2/download -> rand-0.4.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=fce99cd237ab9d166555a20fad667a36
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=54b5bc25d3dad52298b232496d8f71d0
diff --git a/metadata/md5-cache/dev-rust/rand-0.6.5 b/metadata/md5-cache/dev-rust/rand-0.6.5
index 45a991a..250fcb3 100644
--- a/metadata/md5-cache/dev-rust/rand-0.6.5
+++ b/metadata/md5-cache/dev-rust/rand-0.6.5
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/autocfg-0.1*:= >=dev-rust/average-0.9.2:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= ~dev-rust/rand_chacha-0.1.1:= ~dev-rust/rand_core-0.4.0:= ~dev-rust/rand_hc-0.1.0:= ~dev-rust/rand_isaac-0.1.1:= ~dev-rust/rand_jitter-0.1.3:= ~dev-rust/rand_pcg-0.1.2:= ~dev-rust/rand_xorshift-0.1.1:= ~dev-rust/rand_xoshiro-0.1.0:= =dev-rust/rand_os-0.1*:= =dev-rust/winapi-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/autocfg-0.1*:= >=dev-rust/average-0.9.2:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= ~dev-rust/rand_chacha-0.1.1:= ~dev-rust/rand_core-0.4.0:= ~dev-rust/rand_hc-0.1.0:= ~dev-rust/rand_isaac-0.1.1:= ~dev-rust/rand_jitter-0.1.3:= ~dev-rust/rand_pcg-0.1.2:= ~dev-rust/rand_xorshift-0.1.1:= ~dev-rust/rand_xoshiro-0.1.0:= =dev-rust/rand_os-0.1*:= =dev-rust/winapi-0.3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A Rust library for random number generation.
 EAPI=7
 HOMEPAGE=https://github.com/rust-random/rand
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/autocfg-0.1*:= >=dev-rust/average-0.9.2:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= ~dev-rust/rand_chacha-0.1.1:= ~dev-rust/rand_core-0.4.0:= ~dev-rust/rand_hc-0.1.0:= ~dev-rust/rand_isaac-0.1.1:= ~dev-rust/rand_jitter-0.1.3:= ~dev-rust/rand_pcg-0.1.2:= ~dev-rust/rand_xorshift-0.1.1:= ~dev-rust/rand_xoshiro-0.1.0:= =dev-rust/rand_os-0.1*:= =dev-rust/winapi-0.3*:=
+RDEPEND==dev-rust/autocfg-0.1*:= >=dev-rust/average-0.9.2:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= ~dev-rust/rand_chacha-0.1.1:= ~dev-rust/rand_core-0.4.0:= ~dev-rust/rand_hc-0.1.0:= ~dev-rust/rand_isaac-0.1.1:= ~dev-rust/rand_jitter-0.1.3:= ~dev-rust/rand_pcg-0.1.2:= ~dev-rust/rand_xorshift-0.1.1:= ~dev-rust/rand_xoshiro-0.1.0:= =dev-rust/rand_os-0.1*:= =dev-rust/winapi-0.3*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.6.5/r0
 SRC_URI=https://crates.io/api/v1/crates/rand/0.6.5/download -> rand-0.6.5.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=71625fe2bb1e7e3800d2fcc8717fe078
diff --git a/metadata/md5-cache/dev-rust/rand-0.6.5-r2 b/metadata/md5-cache/dev-rust/rand-0.6.5-r2
index c4e10e3..fcfc419 100644
--- a/metadata/md5-cache/dev-rust/rand-0.6.5-r2
+++ b/metadata/md5-cache/dev-rust/rand-0.6.5-r2
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/autocfg-0.1*:= >=dev-rust/average-0.9.2:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= ~dev-rust/rand_chacha-0.1.1:= ~dev-rust/rand_core-0.4.0:= ~dev-rust/rand_hc-0.1.0:= ~dev-rust/rand_isaac-0.1.1:= ~dev-rust/rand_jitter-0.1.3:= ~dev-rust/rand_pcg-0.1.2:= ~dev-rust/rand_xorshift-0.1.1:= ~dev-rust/rand_xoshiro-0.1.0:= =dev-rust/rand_os-0.1*:= =dev-rust/winapi-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/autocfg-0.1*:= >=dev-rust/average-0.9.2:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= ~dev-rust/rand_chacha-0.1.1:= ~dev-rust/rand_core-0.4.0:= ~dev-rust/rand_hc-0.1.0:= ~dev-rust/rand_isaac-0.1.1:= ~dev-rust/rand_jitter-0.1.3:= ~dev-rust/rand_pcg-0.1.2:= ~dev-rust/rand_xorshift-0.1.1:= ~dev-rust/rand_xoshiro-0.1.0:= =dev-rust/rand_os-0.1*:= =dev-rust/winapi-0.3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A Rust library for random number generation.
 EAPI=7
 HOMEPAGE=https://github.com/rust-random/rand
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/autocfg-0.1*:= >=dev-rust/average-0.9.2:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= ~dev-rust/rand_chacha-0.1.1:= ~dev-rust/rand_core-0.4.0:= ~dev-rust/rand_hc-0.1.0:= ~dev-rust/rand_isaac-0.1.1:= ~dev-rust/rand_jitter-0.1.3:= ~dev-rust/rand_pcg-0.1.2:= ~dev-rust/rand_xorshift-0.1.1:= ~dev-rust/rand_xoshiro-0.1.0:= =dev-rust/rand_os-0.1*:= =dev-rust/winapi-0.3*:=
+RDEPEND==dev-rust/autocfg-0.1*:= >=dev-rust/average-0.9.2:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= ~dev-rust/rand_chacha-0.1.1:= ~dev-rust/rand_core-0.4.0:= ~dev-rust/rand_hc-0.1.0:= ~dev-rust/rand_isaac-0.1.1:= ~dev-rust/rand_jitter-0.1.3:= ~dev-rust/rand_pcg-0.1.2:= ~dev-rust/rand_xorshift-0.1.1:= ~dev-rust/rand_xoshiro-0.1.0:= =dev-rust/rand_os-0.1*:= =dev-rust/winapi-0.3*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.6.5/r2
 SRC_URI=https://crates.io/api/v1/crates/rand/0.6.5/download -> rand-0.6.5.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=71625fe2bb1e7e3800d2fcc8717fe078
diff --git a/metadata/md5-cache/dev-rust/rand-0.7.3 b/metadata/md5-cache/dev-rust/rand-0.7.3
index ca56d57..bffde9b 100644
--- a/metadata/md5-cache/dev-rust/rand-0.7.3
+++ b/metadata/md5-cache/dev-rust/rand-0.7.3
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/getrandom-0.1.1:= <dev-rust/getrandom-0.2.0 >=dev-rust/libc-0.2.22:= <dev-rust/libc-0.3.0 >=dev-rust/log-0.4.4:= <dev-rust/log-0.5.0 >=dev-rust/rand_chacha-0.2.1:= <dev-rust/rand_chacha-0.3.0 >=dev-rust/rand_core-0.5.1:= <dev-rust/rand_core-0.6.0 =dev-rust/rand_hc-0.2*:= =dev-rust/rand_pcg-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/getrandom-0.1.1:= <dev-rust/getrandom-0.2.0 >=dev-rust/libc-0.2.22:= <dev-rust/libc-0.3.0 >=dev-rust/log-0.4.4:= <dev-rust/log-0.5.0 >=dev-rust/rand_chacha-0.2.1:= <dev-rust/rand_chacha-0.3.0 >=dev-rust/rand_core-0.5.1:= <dev-rust/rand_core-0.6.0 =dev-rust/rand_hc-0.2*:= =dev-rust/rand_pcg-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A Rust library for random number generation.
 EAPI=7
 HOMEPAGE=https://github.com/rust-random/rand
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/getrandom-0.1.1:= <dev-rust/getrandom-0.2.0 >=dev-rust/libc-0.2.22:= <dev-rust/libc-0.3.0 >=dev-rust/log-0.4.4:= <dev-rust/log-0.5.0 >=dev-rust/rand_chacha-0.2.1:= <dev-rust/rand_chacha-0.3.0 >=dev-rust/rand_core-0.5.1:= <dev-rust/rand_core-0.6.0 =dev-rust/rand_hc-0.2*:= =dev-rust/rand_pcg-0.2*:=
+RDEPEND=>=dev-rust/getrandom-0.1.1:= <dev-rust/getrandom-0.2.0 >=dev-rust/libc-0.2.22:= <dev-rust/libc-0.3.0 >=dev-rust/log-0.4.4:= <dev-rust/log-0.5.0 >=dev-rust/rand_chacha-0.2.1:= <dev-rust/rand_chacha-0.3.0 >=dev-rust/rand_core-0.5.1:= <dev-rust/rand_core-0.6.0 =dev-rust/rand_hc-0.2*:= =dev-rust/rand_pcg-0.2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.7.3/r0
 SRC_URI=https://crates.io/api/v1/crates/rand/0.7.3/download -> rand-0.7.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e605486eada344a4a2ada1d4c4341f94
diff --git a/metadata/md5-cache/dev-rust/rand-0.7.3-r2 b/metadata/md5-cache/dev-rust/rand-0.7.3-r2
index 8f0ac4b..467592c 100644
--- a/metadata/md5-cache/dev-rust/rand-0.7.3-r2
+++ b/metadata/md5-cache/dev-rust/rand-0.7.3-r2
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/getrandom-0.1.1:= <dev-rust/getrandom-0.2.0 >=dev-rust/libc-0.2.22:= <dev-rust/libc-0.3.0 >=dev-rust/log-0.4.4:= <dev-rust/log-0.5.0 >=dev-rust/rand_chacha-0.2.1:= <dev-rust/rand_chacha-0.3.0 >=dev-rust/rand_core-0.5.1:= <dev-rust/rand_core-0.6.0 =dev-rust/rand_hc-0.2*:= =dev-rust/rand_pcg-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/getrandom-0.1.1:= <dev-rust/getrandom-0.2.0 >=dev-rust/libc-0.2.22:= <dev-rust/libc-0.3.0 >=dev-rust/log-0.4.4:= <dev-rust/log-0.5.0 >=dev-rust/rand_chacha-0.2.1:= <dev-rust/rand_chacha-0.3.0 >=dev-rust/rand_core-0.5.1:= <dev-rust/rand_core-0.6.0 =dev-rust/rand_hc-0.2*:= =dev-rust/rand_pcg-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A Rust library for random number generation.
 EAPI=7
 HOMEPAGE=https://github.com/rust-random/rand
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/getrandom-0.1.1:= <dev-rust/getrandom-0.2.0 >=dev-rust/libc-0.2.22:= <dev-rust/libc-0.3.0 >=dev-rust/log-0.4.4:= <dev-rust/log-0.5.0 >=dev-rust/rand_chacha-0.2.1:= <dev-rust/rand_chacha-0.3.0 >=dev-rust/rand_core-0.5.1:= <dev-rust/rand_core-0.6.0 =dev-rust/rand_hc-0.2*:= =dev-rust/rand_pcg-0.2*:=
+RDEPEND=>=dev-rust/getrandom-0.1.1:= <dev-rust/getrandom-0.2.0 >=dev-rust/libc-0.2.22:= <dev-rust/libc-0.3.0 >=dev-rust/log-0.4.4:= <dev-rust/log-0.5.0 >=dev-rust/rand_chacha-0.2.1:= <dev-rust/rand_chacha-0.3.0 >=dev-rust/rand_core-0.5.1:= <dev-rust/rand_core-0.6.0 =dev-rust/rand_hc-0.2*:= =dev-rust/rand_pcg-0.2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.7.3/r2
 SRC_URI=https://crates.io/api/v1/crates/rand/0.7.3/download -> rand-0.7.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e605486eada344a4a2ada1d4c4341f94
diff --git a/metadata/md5-cache/dev-rust/rand-0.8.4 b/metadata/md5-cache/dev-rust/rand-0.8.4
index 0b88007..d314a20 100644
--- a/metadata/md5-cache/dev-rust/rand-0.8.4
+++ b/metadata/md5-cache/dev-rust/rand-0.8.4
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/log-0.4.4:= <dev-rust/log-0.5.0_alpha =dev-rust/rand_core-0.6*:= >=dev-rust/serde-1.0.103:= <dev-rust/serde-2.0.0_alpha =dev-rust/rand_chacha-0.3*:= =dev-rust/rand_hc-0.3*:= >=dev-rust/libc-0.2.22:= <dev-rust/libc-0.3.0_alpha >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/log-0.4.4:= <dev-rust/log-0.5.0_alpha =dev-rust/rand_core-0.6*:= >=dev-rust/serde-1.0.103:= <dev-rust/serde-2.0.0_alpha =dev-rust/rand_chacha-0.3*:= =dev-rust/rand_hc-0.3*:= >=dev-rust/libc-0.2.22:= <dev-rust/libc-0.3.0_alpha >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Random number generators and other randomness functionality.
 EAPI=7
 HOMEPAGE=https://rust-random.github.io/book
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/log-0.4.4:= <dev-rust/log-0.5.0_alpha =dev-rust/rand_core-0.6*:= >=dev-rust/serde-1.0.103:= <dev-rust/serde-2.0.0_alpha =dev-rust/rand_chacha-0.3*:= =dev-rust/rand_hc-0.3*:= >=dev-rust/libc-0.2.22:= <dev-rust/libc-0.3.0_alpha
+RDEPEND=>=dev-rust/log-0.4.4:= <dev-rust/log-0.5.0_alpha =dev-rust/rand_core-0.6*:= >=dev-rust/serde-1.0.103:= <dev-rust/serde-2.0.0_alpha =dev-rust/rand_chacha-0.3*:= =dev-rust/rand_hc-0.3*:= >=dev-rust/libc-0.2.22:= <dev-rust/libc-0.3.0_alpha virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.8.4/r0
 SRC_URI=https://crates.io/api/v1/crates/rand/0.8.4/download -> rand-0.8.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=7650d90110ae1dd16dae673ae927c106
diff --git a/metadata/md5-cache/dev-rust/rand_chacha-0.1.1 b/metadata/md5-cache/dev-rust/rand_chacha-0.1.1
index 0152e07..90b648a 100644
--- a/metadata/md5-cache/dev-rust/rand_chacha-0.1.1
+++ b/metadata/md5-cache/dev-rust/rand_chacha-0.1.1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/autocfg-0.1*:= <dev-rust/rand_core_transitional-0.4.0:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/autocfg-0.1*:= <dev-rust/rand_core_transitional-0.4.0:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A cryptographically secure random number generator that uses the ChaCha algorithm
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/rust-random/rand
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.1/r0
 SRC_URI=https://crates.io/api/v1/crates/rand_chacha/0.1.1/download -> rand_chacha-0.1.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=bedc1ae8bf2a571b687cb8ce7da4275a
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3d1119e2dd314d51ef1c9b7548009c7c
diff --git a/metadata/md5-cache/dev-rust/rand_chacha-0.2.2 b/metadata/md5-cache/dev-rust/rand_chacha-0.2.2
index 16186c3..d2046fc 100644
--- a/metadata/md5-cache/dev-rust/rand_chacha-0.2.2
+++ b/metadata/md5-cache/dev-rust/rand_chacha-0.2.2
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/ppv-lite86-0.2.6:= <dev-rust/ppv-lite86-0.3.0 =dev-rust/rand_core-0.5*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/ppv-lite86-0.2.6:= <dev-rust/ppv-lite86-0.3.0 =dev-rust/rand_core-0.5*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A cryptographically secure random number generator that uses the ChaCha algorithm
 EAPI=7
 HOMEPAGE=https://github.com/rust-random/rand
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.2/r0
 SRC_URI=https://crates.io/api/v1/crates/rand_chacha/0.2.2/download -> rand_chacha-0.2.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=531ff563b5726f0a3605d28b9a72d6f6
diff --git a/metadata/md5-cache/dev-rust/rand_chacha-0.3.1 b/metadata/md5-cache/dev-rust/rand_chacha-0.3.1
index 7c90f5f..0c07e59 100644
--- a/metadata/md5-cache/dev-rust/rand_chacha-0.3.1
+++ b/metadata/md5-cache/dev-rust/rand_chacha-0.3.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/ppv-lite86-0.2.8:= <dev-rust/ppv-lite86-0.3.0_alpha =dev-rust/rand_core-0.6*:= =dev-rust/serde-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/ppv-lite86-0.2.8:= <dev-rust/ppv-lite86-0.3.0_alpha =dev-rust/rand_core-0.6*:= =dev-rust/serde-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=ChaCha random number generator
 EAPI=7
 HOMEPAGE=https://rust-random.github.io/book
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/ppv-lite86-0.2.8:= <dev-rust/ppv-lite86-0.3.0_alpha =dev-rust/rand_core-0.6*:= =dev-rust/serde-1*:=
+RDEPEND=>=dev-rust/ppv-lite86-0.2.8:= <dev-rust/ppv-lite86-0.3.0_alpha =dev-rust/rand_core-0.6*:= =dev-rust/serde-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.1/r0
 SRC_URI=https://crates.io/api/v1/crates/rand_chacha/0.3.1/download -> rand_chacha-0.3.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=77e9081c30009288a3db1b849801a05c
diff --git a/metadata/md5-cache/dev-rust/rand_core-0.4.0 b/metadata/md5-cache/dev-rust/rand_core-0.4.0
index 2f42ea3..10e265c 100644
--- a/metadata/md5-cache/dev-rust/rand_core-0.4.0
+++ b/metadata/md5-cache/dev-rust/rand_core-0.4.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/serde-1*:= >=dev-rust/serde_derive-1.0.38:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/serde-1*:= >=dev-rust/serde_derive-1.0.38:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Core traits and error types of the rand library, plus tools for implementing RNGs
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/rust-random/rand
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.4.0/r0
 SRC_URI=https://crates.io/api/v1/crates/rand_core/0.4.0/download -> rand_core-0.4.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=0d1dc3cc5fd407c81ad13bad51f9c592
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3a48e6913db8e1db7ab60628cdec12f
diff --git a/metadata/md5-cache/dev-rust/rand_core-0.5.1 b/metadata/md5-cache/dev-rust/rand_core-0.5.1
index 3ac78e2..43c70bd 100644
--- a/metadata/md5-cache/dev-rust/rand_core-0.5.1
+++ b/metadata/md5-cache/dev-rust/rand_core-0.5.1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/getrandom-0.1*:= =dev-rust/serde-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/getrandom-0.1*:= =dev-rust/serde-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Core traits and error types of the rand library, plus tools for implementing RNGs
 EAPI=7
 HOMEPAGE=https://github.com/rust-random/rand
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.5.1/r0
 SRC_URI=https://crates.io/api/v1/crates/rand_core/0.5.1/download -> rand_core-0.5.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=4ce9b4ed8a541854fa7118c08cb9d2b9
diff --git a/metadata/md5-cache/dev-rust/rand_core-0.6.3 b/metadata/md5-cache/dev-rust/rand_core-0.6.3
index 39cc52a..59a6f65 100644
--- a/metadata/md5-cache/dev-rust/rand_core-0.6.3
+++ b/metadata/md5-cache/dev-rust/rand_core-0.6.3
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/getrandom-0.2*:= =dev-rust/serde-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/getrandom-0.2*:= =dev-rust/serde-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Core random number generator traits and tools for implementation.
 EAPI=7
 HOMEPAGE=https://rust-random.github.io/book
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/getrandom-0.2*:= =dev-rust/serde-1*:=
+RDEPEND==dev-rust/getrandom-0.2*:= =dev-rust/serde-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.6.3/r0
 SRC_URI=https://crates.io/api/v1/crates/rand_core/0.6.3/download -> rand_core-0.6.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=b437e49fb48f23c9876422541f87f577
diff --git a/metadata/md5-cache/dev-rust/rand_core_transitional-0.3.1 b/metadata/md5-cache/dev-rust/rand_core_transitional-0.3.1
index c21b7c8..140c9ed 100644
--- a/metadata/md5-cache/dev-rust/rand_core_transitional-0.3.1
+++ b/metadata/md5-cache/dev-rust/rand_core_transitional-0.3.1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=~dev-rust/rand_core-0.4.0:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=~dev-rust/rand_core-0.4.0:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Transitional package for rand_core
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/rust-random/rand
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.1/r0
 SRC_URI=https://crates.io/api/v1/crates/rand_core/0.3.1/download -> rand_core-0.3.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=608df72417a3485ccfe32e7f0b97ecb0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ee59640ab6c69d9d68d33572f2a9024a
diff --git a/metadata/md5-cache/dev-rust/rand_core_transitional-0.3.1-r1 b/metadata/md5-cache/dev-rust/rand_core_transitional-0.3.1-r1
index 7c60194..3bfe74d 100644
--- a/metadata/md5-cache/dev-rust/rand_core_transitional-0.3.1-r1
+++ b/metadata/md5-cache/dev-rust/rand_core_transitional-0.3.1-r1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=~dev-rust/rand_core-0.4.0:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=~dev-rust/rand_core-0.4.0:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Transitional package for rand_core
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/rust-random/rand
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.1/r1
 SRC_URI=https://crates.io/api/v1/crates/rand_core/0.3.1/download -> rand_core-0.3.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=608df72417a3485ccfe32e7f0b97ecb0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ee59640ab6c69d9d68d33572f2a9024a
diff --git a/metadata/md5-cache/dev-rust/rand_hc-0.1.0 b/metadata/md5-cache/dev-rust/rand_hc-0.1.0
index eef68fb..2e3133c 100644
--- a/metadata/md5-cache/dev-rust/rand_hc-0.1.0
+++ b/metadata/md5-cache/dev-rust/rand_hc-0.1.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=~dev-rust/rand_core_transitional-0.3.1:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=~dev-rust/rand_core_transitional-0.3.1:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A cryptographically secure random number generator that uses the ChaCha algorithm
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/rust-random/rand
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.0/r0
 SRC_URI=https://crates.io/api/v1/crates/rand_hc/0.1.0/download -> rand_hc-0.1.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=445343c963d07c7c2f34c07c00d9b188
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=acc6779572cd94acfc752df3fc87ae07
diff --git a/metadata/md5-cache/dev-rust/rand_hc-0.2.0 b/metadata/md5-cache/dev-rust/rand_hc-0.2.0
index 3b0bfec..a53a5ac 100644
--- a/metadata/md5-cache/dev-rust/rand_hc-0.2.0
+++ b/metadata/md5-cache/dev-rust/rand_hc-0.2.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/rand_core-0.5*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/rand_core-0.5*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A cryptographically secure random number generator that uses the HC-128 algorithm
 EAPI=7
 HOMEPAGE=https://github.com/rust-random/rand
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.0/r0
 SRC_URI=https://crates.io/api/v1/crates/rand_hc/0.2.0/download -> rand_hc-0.2.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=5fc711e158f795effb6e379359bdfb2b
diff --git a/metadata/md5-cache/dev-rust/rand_hc-0.3.1 b/metadata/md5-cache/dev-rust/rand_hc-0.3.1
index ef5b6f7..5e94239 100644
--- a/metadata/md5-cache/dev-rust/rand_hc-0.3.1
+++ b/metadata/md5-cache/dev-rust/rand_hc-0.3.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/rand_core-0.6*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/rand_core-0.6*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=HC128 random number generator
 EAPI=7
 HOMEPAGE=https://rust-random.github.io/book
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/rand_core-0.6*:=
+RDEPEND==dev-rust/rand_core-0.6*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.1/r0
 SRC_URI=https://crates.io/api/v1/crates/rand_hc/0.3.1/download -> rand_hc-0.3.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f061dde7920faf1492f0ed157543dec9
diff --git a/metadata/md5-cache/dev-rust/rand_isaac-0.1.1-r1 b/metadata/md5-cache/dev-rust/rand_isaac-0.1.1-r1
index d3a6fa6..1f48fb1 100644
--- a/metadata/md5-cache/dev-rust/rand_isaac-0.1.1-r1
+++ b/metadata/md5-cache/dev-rust/rand_isaac-0.1.1-r1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=~dev-rust/rand_core_transitional-0.3.1:= =dev-rust/serde-1*:= >=dev-rust/serde_derive-1.0.38:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=~dev-rust/rand_core_transitional-0.3.1:= =dev-rust/serde-1*:= >=dev-rust/serde_derive-1.0.38:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Implements the ISAAC and ISAAC-64 random number generators
 EAPI=7
 HOMEPAGE=https://github.com/rust-random/rand
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=~dev-rust/rand_core_transitional-0.3.1:= =dev-rust/serde-1*:= >=dev-rust/serde_derive-1.0.38:=
+RDEPEND=~dev-rust/rand_core_transitional-0.3.1:= =dev-rust/serde-1*:= >=dev-rust/serde_derive-1.0.38:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.1/r1
 SRC_URI=https://crates.io/api/v1/crates/rand_isaac/0.1.1/download -> rand_isaac-0.1.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=678820eda433021b0271f29a1128dba0
diff --git a/metadata/md5-cache/dev-rust/rand_jitter-0.1.3 b/metadata/md5-cache/dev-rust/rand_jitter-0.1.3
index c73c5e8..89aa74e 100644
--- a/metadata/md5-cache/dev-rust/rand_jitter-0.1.3
+++ b/metadata/md5-cache/dev-rust/rand_jitter-0.1.3
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/rand_core-0.4*:= =dev-rust/winapi-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/rand_core-0.4*:= =dev-rust/winapi-0.3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Non-physical true random number generator based on timing jitter
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/rust-random/rand
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.3/r0
 SRC_URI=https://crates.io/api/v1/crates/rand_jitter/0.1.3/download -> rand_jitter-0.1.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=ce68820b363498bca458bd9400f437bb
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ae6762d48c33594343ac279a44b47004
diff --git a/metadata/md5-cache/dev-rust/rand_os-0.1.2 b/metadata/md5-cache/dev-rust/rand_os-0.1.2
index 446af58..e746631 100644
--- a/metadata/md5-cache/dev-rust/rand_os-0.1.2
+++ b/metadata/md5-cache/dev-rust/rand_os-0.1.2
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= ~dev-rust/rand_core-0.4.0:= =dev-rust/stdweb-0.4*:= >=dev-rust/wasm-bindgen-0.2.12:= <dev-rust/wasm-bindgen-0.3.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= ~dev-rust/rand_core-0.4.0:= =dev-rust/stdweb-0.4*:= >=dev-rust/wasm-bindgen-0.2.12:= <dev-rust/wasm-bindgen-0.3.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A random number generator that retrieves randomness straight from the operating system
 EAPI=7
 HOMEPAGE=https://github.com/rust-random/rand
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= ~dev-rust/rand_core-0.4.0:= =dev-rust/stdweb-0.4*:= >=dev-rust/wasm-bindgen-0.2.12:= <dev-rust/wasm-bindgen-0.3.0
+RDEPEND==dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= ~dev-rust/rand_core-0.4.0:= =dev-rust/stdweb-0.4*:= >=dev-rust/wasm-bindgen-0.2.12:= <dev-rust/wasm-bindgen-0.3.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.2/r0
 SRC_URI=https://crates.io/api/v1/crates/rand_os/0.1.2/download -> rand_os-0.1.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=62f559aeab845dc6fb6a92a5dc2fa09f
diff --git a/metadata/md5-cache/dev-rust/rand_os-0.1.2-r1 b/metadata/md5-cache/dev-rust/rand_os-0.1.2-r1
index 51fba87..2bd9836 100644
--- a/metadata/md5-cache/dev-rust/rand_os-0.1.2-r1
+++ b/metadata/md5-cache/dev-rust/rand_os-0.1.2-r1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= ~dev-rust/rand_core-0.4.0:= =dev-rust/stdweb-0.4*:= >=dev-rust/wasm-bindgen-0.2.12:= <dev-rust/wasm-bindgen-0.3.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= ~dev-rust/rand_core-0.4.0:= =dev-rust/stdweb-0.4*:= >=dev-rust/wasm-bindgen-0.2.12:= <dev-rust/wasm-bindgen-0.3.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A random number generator that retrieves randomness straight from the operating system
 EAPI=7
 HOMEPAGE=https://github.com/rust-random/rand
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= ~dev-rust/rand_core-0.4.0:= =dev-rust/stdweb-0.4*:= >=dev-rust/wasm-bindgen-0.2.12:= <dev-rust/wasm-bindgen-0.3.0
+RDEPEND==dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= ~dev-rust/rand_core-0.4.0:= =dev-rust/stdweb-0.4*:= >=dev-rust/wasm-bindgen-0.2.12:= <dev-rust/wasm-bindgen-0.3.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.2/r1
 SRC_URI=https://crates.io/api/v1/crates/rand_os/0.1.2/download -> rand_os-0.1.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=62f559aeab845dc6fb6a92a5dc2fa09f
diff --git a/metadata/md5-cache/dev-rust/rand_pcg-0.1.2-r1 b/metadata/md5-cache/dev-rust/rand_pcg-0.1.2-r1
index e0a5041..cbca7e75 100644
--- a/metadata/md5-cache/dev-rust/rand_pcg-0.1.2-r1
+++ b/metadata/md5-cache/dev-rust/rand_pcg-0.1.2-r1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/autocfg-0.1*:= ~dev-rust/rand_core-0.4.0:= =dev-rust/serde-1*:= >=dev-rust/serde_derive-1.0.38:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/autocfg-0.1*:= ~dev-rust/rand_core-0.4.0:= =dev-rust/serde-1*:= >=dev-rust/serde_derive-1.0.38:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Implements a selection of PCG random number generators.
 EAPI=7
 HOMEPAGE=https://github.com/rust-random/rand
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/autocfg-0.1*:= ~dev-rust/rand_core-0.4.0:= =dev-rust/serde-1*:= >=dev-rust/serde_derive-1.0.38:=
+RDEPEND==dev-rust/autocfg-0.1*:= ~dev-rust/rand_core-0.4.0:= =dev-rust/serde-1*:= >=dev-rust/serde_derive-1.0.38:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.2/r1
 SRC_URI=https://crates.io/api/v1/crates/rand_pcg/0.1.2/download -> rand_pcg-0.1.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=3775f677f908feaa2ae5c63757afd590
diff --git a/metadata/md5-cache/dev-rust/rand_pcg-0.2.1 b/metadata/md5-cache/dev-rust/rand_pcg-0.2.1
index bb00b5c..ecd62f9 100644
--- a/metadata/md5-cache/dev-rust/rand_pcg-0.2.1
+++ b/metadata/md5-cache/dev-rust/rand_pcg-0.2.1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/rand_core-0.5*:= =dev-rust/serde-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/rand_core-0.5*:= =dev-rust/serde-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Implements a selection of PCG random number generators.
 EAPI=7
 HOMEPAGE=https://github.com/rust-random/rand
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.1/r0
 SRC_URI=https://crates.io/api/v1/crates/rand_pcg/0.2.1/download -> rand_pcg-0.2.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=9997aefcce9bba3584e86a7f723bb464
diff --git a/metadata/md5-cache/dev-rust/rand_xorshift-0.1.1-r1 b/metadata/md5-cache/dev-rust/rand_xorshift-0.1.1-r1
index 0175c56..a27a234 100644
--- a/metadata/md5-cache/dev-rust/rand_xorshift-0.1.1-r1
+++ b/metadata/md5-cache/dev-rust/rand_xorshift-0.1.1-r1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=~dev-rust/rand_core_transitional-0.3.1:= =dev-rust/serde-1*:= >=dev-rust/serde_derive-1.0.38:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=~dev-rust/rand_core_transitional-0.3.1:= =dev-rust/serde-1*:= >=dev-rust/serde_derive-1.0.38:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Implements the Xorshift random number generator
 EAPI=7
 HOMEPAGE=https://github.com/rust-random/rand
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=~dev-rust/rand_core_transitional-0.3.1:= =dev-rust/serde-1*:= >=dev-rust/serde_derive-1.0.38:=
+RDEPEND=~dev-rust/rand_core_transitional-0.3.1:= =dev-rust/serde-1*:= >=dev-rust/serde_derive-1.0.38:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.1/r1
 SRC_URI=https://crates.io/api/v1/crates/rand_xorshift/0.1.1/download -> rand_xorshift-0.1.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=6829df83685f3e8e2f3c3d760e015033
diff --git a/metadata/md5-cache/dev-rust/rand_xoshiro-0.1.0 b/metadata/md5-cache/dev-rust/rand_xoshiro-0.1.0
index 58c090e..b5fbe62 100644
--- a/metadata/md5-cache/dev-rust/rand_xoshiro-0.1.0
+++ b/metadata/md5-cache/dev-rust/rand_xoshiro-0.1.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty rand_xoshiro crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/ravif-0.6.0 b/metadata/md5-cache/dev-rust/ravif-0.6.0
index cad7539..e262239 100644
--- a/metadata/md5-cache/dev-rust/ravif-0.6.0
+++ b/metadata/md5-cache/dev-rust/ravif-0.6.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.6.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/rayon-0.8.2 b/metadata/md5-cache/dev-rust/rayon-0.8.2
index 5695c19..d0bd4ab 100644
--- a/metadata/md5-cache/dev-rust/rayon-0.8.2
+++ b/metadata/md5-cache/dev-rust/rayon-0.8.2
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/rayon-core-1.2.0 <dev-rust/rayon-core-2.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/rayon-core-1.2.0 <dev-rust/rayon-core-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Simple work-stealing parallelism for Rust
 EAPI=7
 HOMEPAGE=https://crates.io/crates/rayon
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
-RDEPEND=>=dev-rust/rayon-core-1.2.0 <dev-rust/rayon-core-2.0.0_alpha:=
+RDEPEND=>=dev-rust/rayon-core-1.2.0 <dev-rust/rayon-core-2.0.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.8.2/r0
 SRC_URI=https://crates.io/api/v1/crates/rayon/0.8.2/download -> rayon-0.8.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=16f3d356cb1dae723205f24cfeb5a0c6
diff --git a/metadata/md5-cache/dev-rust/rayon-1.5.0 b/metadata/md5-cache/dev-rust/rayon-1.5.0
index 85c8524..ce93b8b 100644
--- a/metadata/md5-cache/dev-rust/rayon-1.5.0
+++ b/metadata/md5-cache/dev-rust/rayon-1.5.0
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/autocfg-1*:= =dev-rust/crossbeam-deque-0.8*:= =dev-rust/either-1*:= >=dev-rust/rayon-core-1.9:= <dev-rust/rayon-core-2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/autocfg-1*:= =dev-rust/crossbeam-deque-0.8*:= =dev-rust/either-1*:= >=dev-rust/rayon-core-1.9:= <dev-rust/rayon-core-2.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rayon is a data-parallelism library for Rust
 EAPI=7
 HOMEPAGE=https://github.com/rayon-rs/rayon
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros_host cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=cros_host? ( =dev-rust/autocfg-1*:= =dev-rust/crossbeam-deque-0.8*:= =dev-rust/either-1*:= >=dev-rust/rayon-core-1.9:= <dev-rust/rayon-core-2.0 ) virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=1.5.0/r0
 SRC_URI=https://crates.io/api/v1/crates/rayon/1.5.0/download -> rayon-1.5.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=3cbe104c4182d93b5defc3be5b9ce27f
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=938b91fa9a2769f818f3cb1706359306
diff --git a/metadata/md5-cache/dev-rust/rayon-1.5.0-r2 b/metadata/md5-cache/dev-rust/rayon-1.5.0-r2
new file mode 100644
index 0000000..cf0dbf2
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/rayon-1.5.0-r2
@@ -0,0 +1,15 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/autocfg-1*:= =dev-rust/crossbeam-deque-0.8*:= =dev-rust/either-1*:= >=dev-rust/rayon-core-1.9:= <dev-rust/rayon-core-2.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Rayon is a data-parallelism library for Rust
+EAPI=7
+HOMEPAGE=https://github.com/rayon-rs/rayon
+IUSE=cros_host cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=cros_host? ( =dev-rust/autocfg-1*:= =dev-rust/crossbeam-deque-0.8*:= =dev-rust/either-1*:= >=dev-rust/rayon-core-1.9:= <dev-rust/rayon-core-2.0 ) virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+RESTRICT=test
+SLOT=1.5.0/r2
+SRC_URI=https://crates.io/api/v1/crates/rayon/1.5.0/download -> rayon-1.5.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=938b91fa9a2769f818f3cb1706359306
diff --git a/metadata/md5-cache/dev-rust/rayon-core-1.9.0 b/metadata/md5-cache/dev-rust/rayon-core-1.9.0
index 30517e8..374dc24 100644
--- a/metadata/md5-cache/dev-rust/rayon-core-1.9.0
+++ b/metadata/md5-cache/dev-rust/rayon-core-1.9.0
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/crossbeam-channel-0.5*:= =dev-rust/crossbeam-deque-0.8*:= =dev-rust/crossbeam-utils-0.8*:= =dev-rust/lazy_static-1*:= >=dev-rust/num_cpus-1.2:= <dev-rust/num_cpus-2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/crossbeam-channel-0.5*:= =dev-rust/crossbeam-deque-0.8*:= =dev-rust/crossbeam-utils-0.8*:= =dev-rust/lazy_static-1*:= >=dev-rust/num_cpus-1.2:= <dev-rust/num_cpus-2.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rayon-core represents the core, stable APIs of Rayon: join, scope, and so forth
 EAPI=7
 HOMEPAGE=https://github.com/rayon-rs/rayon
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/crossbeam-channel-0.5*:= =dev-rust/crossbeam-deque-0.8*:= =dev-rust/crossbeam-utils-0.8*:= =dev-rust/lazy_static-1*:= >=dev-rust/num_cpus-1.2:= <dev-rust/num_cpus-2.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=1.9.0/r0
 SRC_URI=https://crates.io/api/v1/crates/rayon-core/1.9.0/download -> rayon-core-1.9.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c534cce1d0c77e0bb681bce0ed63c33f
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7dd7fca6949e85a1f09e4fef84ec61e2
diff --git a/metadata/md5-cache/dev-rust/rayon-core-1.9.0-r1 b/metadata/md5-cache/dev-rust/rayon-core-1.9.0-r1
new file mode 100644
index 0000000..c970172
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/rayon-core-1.9.0-r1
@@ -0,0 +1,15 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/crossbeam-channel-0.5*:= =dev-rust/crossbeam-deque-0.8*:= =dev-rust/crossbeam-utils-0.8*:= =dev-rust/lazy_static-1*:= >=dev-rust/num_cpus-1.2:= <dev-rust/num_cpus-2.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Rayon-core represents the core, stable APIs of Rayon: join, scope, and so forth
+EAPI=7
+HOMEPAGE=https://github.com/rayon-rs/rayon
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/crossbeam-channel-0.5*:= =dev-rust/crossbeam-deque-0.8*:= =dev-rust/crossbeam-utils-0.8*:= =dev-rust/lazy_static-1*:= >=dev-rust/num_cpus-1.2:= <dev-rust/num_cpus-2.0 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+RESTRICT=test
+SLOT=1.9.0/r1
+SRC_URI=https://crates.io/api/v1/crates/rayon-core/1.9.0/download -> rayon-core-1.9.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7dd7fca6949e85a1f09e4fef84ec61e2
diff --git a/metadata/md5-cache/dev-rust/redox_syscall-0.1.51 b/metadata/md5-cache/dev-rust/redox_syscall-0.1.51
index d0af175..a27e450 100644
--- a/metadata/md5-cache/dev-rust/redox_syscall-0.1.51
+++ b/metadata/md5-cache/dev-rust/redox_syscall-0.1.51
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty redox_syscall crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.51/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/redox_termios-0.1.1 b/metadata/md5-cache/dev-rust/redox_termios-0.1.1
deleted file mode 100644
index 14b386e..0000000
--- a/metadata/md5-cache/dev-rust/redox_termios-0.1.1
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Empty redox_termios crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.1/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
diff --git a/metadata/md5-cache/dev-rust/regex-1.5.3 b/metadata/md5-cache/dev-rust/regex-1.5.3
deleted file mode 100644
index c144f59..0000000
--- a/metadata/md5-cache/dev-rust/regex-1.5.3
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/aho-corasick-0.7.18:= <dev-rust/aho-corasick-0.8.0 >=dev-rust/memchr-2.4.0:= <dev-rust/memchr-3.0.0 >=dev-rust/regex-syntax-0.6.25:= <dev-rust/regex-syntax-0.7.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.
-EAPI=7
-HOMEPAGE=https://github.com/rust-lang/regex
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/aho-corasick-0.7.18:= <dev-rust/aho-corasick-0.8.0 >=dev-rust/memchr-2.4.0:= <dev-rust/memchr-3.0.0 >=dev-rust/regex-syntax-0.6.25:= <dev-rust/regex-syntax-0.7.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-RESTRICT=test
-SLOT=1.5.3/r0
-SRC_URI=https://crates.io/api/v1/crates/regex/1.5.3/download -> regex-1.5.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=52845057a107e5faba44e850fd7ea51e
diff --git a/metadata/md5-cache/dev-rust/regex-1.5.4 b/metadata/md5-cache/dev-rust/regex-1.5.4
deleted file mode 100644
index ea9c86d..0000000
--- a/metadata/md5-cache/dev-rust/regex-1.5.4
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/aho-corasick-0.7.18:= <dev-rust/aho-corasick-0.8.0 >=dev-rust/memchr-2.4.0:= <dev-rust/memchr-3.0.0 >=dev-rust/regex-syntax-0.6.25:= <dev-rust/regex-syntax-0.7.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.
-EAPI=7
-HOMEPAGE=https://github.com/rust-lang/regex
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/aho-corasick-0.7.18:= <dev-rust/aho-corasick-0.8.0 >=dev-rust/memchr-2.4.0:= <dev-rust/memchr-3.0.0 >=dev-rust/regex-syntax-0.6.25:= <dev-rust/regex-syntax-0.7.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-RESTRICT=test
-SLOT=1.5.4/r0
-SRC_URI=https://crates.io/api/v1/crates/regex/1.5.4/download -> regex-1.5.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=52845057a107e5faba44e850fd7ea51e
diff --git a/metadata/md5-cache/dev-rust/regex-1.5.5 b/metadata/md5-cache/dev-rust/regex-1.5.5
new file mode 100644
index 0000000..bdbc92b
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/regex-1.5.5
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/aho-corasick-0.7.18 <dev-rust/aho-corasick-0.8.0_alpha:= >=dev-rust/memchr-2.4.0 <dev-rust/memchr-3.0.0_alpha:= >=dev-rust/regex-syntax-0.6.25 <dev-rust/regex-syntax-0.7.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.
+EAPI=7
+HOMEPAGE=https://github.com/rust-lang/regex
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/aho-corasick-0.7.18 <dev-rust/aho-corasick-0.8.0_alpha:= >=dev-rust/memchr-2.4.0 <dev-rust/memchr-3.0.0_alpha:= >=dev-rust/regex-syntax-0.6.25 <dev-rust/regex-syntax-0.7.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.5.5/r0
+SRC_URI=https://crates.io/api/v1/crates/regex/1.5.5/download -> regex-1.5.5.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=70f5f5b82d5ae9de114bfc2f337d532a
diff --git a/metadata/md5-cache/dev-rust/regex-syntax-0.6.25 b/metadata/md5-cache/dev-rust/regex-syntax-0.6.25
index 1b128cb..91e9052 100644
--- a/metadata/md5-cache/dev-rust/regex-syntax-0.6.25
+++ b/metadata/md5-cache/dev-rust/regex-syntax-0.6.25
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A regular expression parser.
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang/regex
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.6.25/r0
 SRC_URI=https://crates.io/api/v1/crates/regex-syntax/0.6.25/download -> regex-syntax-0.6.25.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=9bd7ecd6e702e4ed08cbddc1603441ce
diff --git a/metadata/md5-cache/dev-rust/remain-0.2.1 b/metadata/md5-cache/dev-rust/remain-0.2.1
index cbcf872..9817710 100644
--- a/metadata/md5-cache/dev-rust/remain-0.2.1
+++ b/metadata/md5-cache/dev-rust/remain-0.2.1
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Compile-time checks that an enum or match is written in sorted order
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/dtolnay/remain
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.2.1/r0
 SRC_URI=https://crates.io/api/v1/crates/remain/0.2.1/download -> remain-0.2.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=c48d54c0903b3e8faa3aacf8a39097d4
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d0d844194b8fc34d0b3425dbfad7f701
diff --git a/metadata/md5-cache/dev-rust/remove_dir_all-0.5.1 b/metadata/md5-cache/dev-rust/remove_dir_all-0.5.1
index 6861edd..806e4e3 100644
--- a/metadata/md5-cache/dev-rust/remove_dir_all-0.5.1
+++ b/metadata/md5-cache/dev-rust/remove_dir_all-0.5.1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/winapi-0.3.0:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/winapi-0.3.0:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A reliable implementation of remove_dir_all for Windows. For Unix systems re-exports std::fs::remove_dir_all.
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/Aaronepower/remove_dir_all.git
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.5.1/r0
 SRC_URI=https://crates.io/api/v1/crates/remove_dir_all/0.5.1/download -> remove_dir_all-0.5.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=5a7ee2e402e412a3dbaac0f31dfe3dfa
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=380249cef615084d1ffbaa3894b34029
diff --git a/metadata/md5-cache/dev-rust/reqwest-0.11.10 b/metadata/md5-cache/dev-rust/reqwest-0.11.10
new file mode 100644
index 0000000..68070e4
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/reqwest-0.11.10
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty reqwest crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.11.10/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=299a147df86d70414dba0f2d9e83ff51
diff --git a/metadata/md5-cache/dev-rust/rgb-0.8.25 b/metadata/md5-cache/dev-rust/rgb-0.8.25
index 27ecdb8..fca3044 100644
--- a/metadata/md5-cache/dev-rust/rgb-0.8.25
+++ b/metadata/md5-cache/dev-rust/rgb-0.8.25
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.8.25/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/ring-0.14.6 b/metadata/md5-cache/dev-rust/ring-0.14.6
deleted file mode 100644
index c3ad4774..0000000
--- a/metadata/md5-cache/dev-rust/ring-0.14.6
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Empty ring crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.14.6/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
diff --git a/metadata/md5-cache/dev-rust/riscv-0.6.0 b/metadata/md5-cache/dev-rust/riscv-0.6.0
index c485484..ea7a4e9 100644
--- a/metadata/md5-cache/dev-rust/riscv-0.6.0
+++ b/metadata/md5-cache/dev-rust/riscv-0.6.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty riscv crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.6.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=2e3627e92a9d99c1142243e56e94abb3
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8863c6688ff80b409aa0ebb716949a84
diff --git a/metadata/md5-cache/dev-rust/riscv-0.7.0 b/metadata/md5-cache/dev-rust/riscv-0.7.0
index 541f42e..f7f8417 100644
--- a/metadata/md5-cache/dev-rust/riscv-0.7.0
+++ b/metadata/md5-cache/dev-rust/riscv-0.7.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bare-metal-1*:= =dev-rust/bit_field-0.10*:= >=dev-rust/riscv-target-0.1.2 <dev-rust/riscv-target-0.2.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/bare-metal-1*:= =dev-rust/bit_field-0.10*:= >=dev-rust/riscv-target-0.1.2 <dev-rust/riscv-target-0.2.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Low level access to RISC-V processors
 EAPI=7
 HOMEPAGE=https://crates.io/crates/riscv
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=ISC
-RDEPEND==dev-rust/bare-metal-1*:= =dev-rust/bit_field-0.10*:= >=dev-rust/riscv-target-0.1.2 <dev-rust/riscv-target-0.2.0_alpha:=
+RDEPEND==dev-rust/bare-metal-1*:= =dev-rust/bit_field-0.10*:= >=dev-rust/riscv-target-0.1.2 <dev-rust/riscv-target-0.2.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.7.0/r0
 SRC_URI=https://crates.io/api/v1/crates/riscv/0.7.0/download -> riscv-0.7.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=cb98e0d60dc0cf5f48f69f22f58c4266
diff --git a/metadata/md5-cache/dev-rust/riscv-rt-0.8.0 b/metadata/md5-cache/dev-rust/riscv-rt-0.8.0
index 07cc015..ec28c1e 100644
--- a/metadata/md5-cache/dev-rust/riscv-rt-0.8.0
+++ b/metadata/md5-cache/dev-rust/riscv-rt-0.8.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/panic-halt-0.2*:= =dev-rust/r0-1*:= =dev-rust/riscv-0.7*:= >=dev-rust/riscv-rt-macros-0.1.6 <dev-rust/riscv-rt-macros-0.2.0_alpha:= >=dev-rust/riscv-target-0.1.2 <dev-rust/riscv-target-0.2.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/panic-halt-0.2*:= =dev-rust/r0-1*:= =dev-rust/riscv-0.7*:= >=dev-rust/riscv-rt-macros-0.1.6 <dev-rust/riscv-rt-macros-0.2.0_alpha:= >=dev-rust/riscv-target-0.1.2 <dev-rust/riscv-target-0.2.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Minimal runtime / startup for RISC-V CPUs
 EAPI=7
 HOMEPAGE=https://crates.io/crates/riscv-rt
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=ISC
-RDEPEND==dev-rust/panic-halt-0.2*:= =dev-rust/r0-1*:= =dev-rust/riscv-0.7*:= >=dev-rust/riscv-rt-macros-0.1.6 <dev-rust/riscv-rt-macros-0.2.0_alpha:= >=dev-rust/riscv-target-0.1.2 <dev-rust/riscv-target-0.2.0_alpha:=
+RDEPEND==dev-rust/panic-halt-0.2*:= =dev-rust/r0-1*:= =dev-rust/riscv-0.7*:= >=dev-rust/riscv-rt-macros-0.1.6 <dev-rust/riscv-rt-macros-0.2.0_alpha:= >=dev-rust/riscv-target-0.1.2 <dev-rust/riscv-target-0.2.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.8.0/r0
 SRC_URI=https://crates.io/api/v1/crates/riscv-rt/0.8.0/download -> riscv-rt-0.8.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=da383eff4ccc5a1ec96929d8fdb649f5
diff --git a/metadata/md5-cache/dev-rust/riscv-rt-macros-0.1.6 b/metadata/md5-cache/dev-rust/riscv-rt-macros-0.1.6
index 9d23420..c7b57a3 100644
--- a/metadata/md5-cache/dev-rust/riscv-rt-macros-0.1.6
+++ b/metadata/md5-cache/dev-rust/riscv-rt-macros-0.1.6
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/rand-0.7.3 <dev-rust/rand-0.8.0_alpha:= =dev-rust/syn-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/rand-0.7.3 <dev-rust/rand-0.8.0_alpha:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Attributes re-exported in "riscv-rt"
 EAPI=7
 HOMEPAGE=https://crates.io/crates/riscv-rt-macros
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/rand-0.7.3 <dev-rust/rand-0.8.0_alpha:= =dev-rust/syn-1*:=
+RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/rand-0.7.3 <dev-rust/rand-0.8.0_alpha:= =dev-rust/syn-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.6/r0
 SRC_URI=https://crates.io/api/v1/crates/riscv-rt-macros/0.1.6/download -> riscv-rt-macros-0.1.6.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=62bb43844670a28706a613ceaf4bb8f7
diff --git a/metadata/md5-cache/dev-rust/riscv-target-0.1.2 b/metadata/md5-cache/dev-rust/riscv-target-0.1.2
index 82bd69b..54b1b7a 100644
--- a/metadata/md5-cache/dev-rust/riscv-target-0.1.2
+++ b/metadata/md5-cache/dev-rust/riscv-target-0.1.2
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/lazy_static-1*:= =dev-rust/regex-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/lazy_static-1*:= =dev-rust/regex-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=RISC-V target string manipulation utilities
 EAPI=7
 HOMEPAGE=https://crates.io/crates/riscv-target
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=ISC
-RDEPEND==dev-rust/lazy_static-1*:= =dev-rust/regex-1*:=
+RDEPEND==dev-rust/lazy_static-1*:= =dev-rust/regex-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.2/r0
 SRC_URI=https://crates.io/api/v1/crates/riscv-target/0.1.2/download -> riscv-target-0.1.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=055f36d2fe7b9fb8cb0524f13cc58caa
diff --git a/metadata/md5-cache/dev-rust/roff-0.2.1 b/metadata/md5-cache/dev-rust/roff-0.2.1
new file mode 100644
index 0000000..a3206eb
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/roff-0.2.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=ROFF (man page format) generation library
+EAPI=7
+HOMEPAGE=https://github.com/rust-cli/roff-rs
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.2.1/r0
+SRC_URI=https://crates.io/api/v1/crates/roff/0.2.1/download -> roff-0.2.1.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ee21dc0a22849bba9d2af27b3a7f0561
diff --git a/metadata/md5-cache/dev-rust/ron-0.5.1 b/metadata/md5-cache/dev-rust/ron-0.5.1
index 717ed5b..0eddfbe 100644
--- a/metadata/md5-cache/dev-rust/ron-0.5.1
+++ b/metadata/md5-cache/dev-rust/ron-0.5.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/base64-0.10*:= =dev-rust/bitflags-1*:= =dev-rust/serde-1*:= test? ( =dev-rust/serde_bytes-0.10*:= =dev-rust/serde_json-1*:= ) >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/base64-0.10*:= =dev-rust/bitflags-1*:= =dev-rust/serde-1*:= test? ( =dev-rust/serde_bytes-0.10*:= =dev-rust/serde_json-1*:= ) >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rusty Object Notation
 EAPI=7
 HOMEPAGE=https://github.com/ron-rs/ron
-IUSE=test cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=test cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/base64-0.10*:= =dev-rust/bitflags-1*:= =dev-rust/serde-1*:= test? ( =dev-rust/serde_bytes-0.10*:= =dev-rust/serde_json-1*:= )
+RDEPEND==dev-rust/base64-0.10*:= =dev-rust/bitflags-1*:= =dev-rust/serde-1*:= test? ( =dev-rust/serde_bytes-0.10*:= =dev-rust/serde_json-1*:= ) virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.5.1/r0
 SRC_URI=https://crates.io/api/v1/crates/ron/0.5.1/download -> ron-0.5.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e6debf71da7049c5f6ac068d8d61abdd
diff --git a/metadata/md5-cache/dev-rust/roxmltree-0.13.1 b/metadata/md5-cache/dev-rust/roxmltree-0.13.1
index b22f726..92ef788 100644
--- a/metadata/md5-cache/dev-rust/roxmltree-0.13.1
+++ b/metadata/md5-cache/dev-rust/roxmltree-0.13.1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/xmlparser-0.13.3:= <dev-rust/xmlparser-0.14 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/xmlparser-0.13.3:= <dev-rust/xmlparser-0.14 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Represent an XML as a read-only tree.
 EAPI=7
 HOMEPAGE=https://github.com/RazrFalcon/roxmltree
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.13.1/r0
 SRC_URI=https://crates.io/api/v1/crates/roxmltree/0.13.1/download -> roxmltree-0.13.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=36ada93a2efbe1eca1b4de49b38228cb
diff --git a/metadata/md5-cache/dev-rust/roxmltree-0.14.1 b/metadata/md5-cache/dev-rust/roxmltree-0.14.1
index 41b9598..001e938 100644
--- a/metadata/md5-cache/dev-rust/roxmltree-0.14.1
+++ b/metadata/md5-cache/dev-rust/roxmltree-0.14.1
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/xmlparser-0.13.3 <dev-rust/xmlparser-0.14.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/xmlparser-0.13.3 <dev-rust/xmlparser-0.14.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Represent an XML as a read-only tree.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/roxmltree
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/xmlparser-0.13.3 <dev-rust/xmlparser-0.14.0_alpha:=
+RDEPEND=>=dev-rust/xmlparser-0.13.3 <dev-rust/xmlparser-0.14.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.14.1/r0
 SRC_URI=https://crates.io/api/v1/crates/roxmltree/0.14.1/download -> roxmltree-0.14.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=5aafdd17ccd52e333f7feab43f8cc99d
diff --git a/metadata/md5-cache/dev-rust/rtic-core-0.3.1 b/metadata/md5-cache/dev-rust/rtic-core-0.3.1
deleted file mode 100644
index 8df598b..0000000
--- a/metadata/md5-cache/dev-rust/rtic-core-0.3.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Core abstractions of the Real-Time Interrupt-driven Concurrency framework
-EAPI=7
-HOMEPAGE=https://crates.io/crates/rtic-core
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.3.1/r0
-SRC_URI=https://crates.io/api/v1/crates/rtic-core/0.3.1/download -> rtic-core-0.3.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=4431cb07407bc0c97849cc1a9c2c37e9
diff --git a/metadata/md5-cache/dev-rust/rtic-core-1.0.0 b/metadata/md5-cache/dev-rust/rtic-core-1.0.0
new file mode 100644
index 0000000..6ae4d68
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/rtic-core-1.0.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Core abstractions of the Real-Time Interrupt-driven Concurrency framework
+EAPI=7
+HOMEPAGE=https://crates.io/crates/rtic-core
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.0.0/r0
+SRC_URI=https://crates.io/api/v1/crates/rtic-core/1.0.0/download -> rtic-core-1.0.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f2f400c22e890f2f0a459869a3b8b1e9
diff --git a/metadata/md5-cache/dev-rust/rtic-monotonic-1.0.0 b/metadata/md5-cache/dev-rust/rtic-monotonic-1.0.0
new file mode 100644
index 0000000..66bff4d
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/rtic-monotonic-1.0.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Core abstractions of the Real-Time Interrupt-driven Concurrency Monotonic timers
+EAPI=7
+HOMEPAGE=https://crates.io/crates/rtic-monotonic
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.0.0/r0
+SRC_URI=https://crates.io/api/v1/crates/rtic-monotonic/1.0.0/download -> rtic-monotonic-1.0.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=022ac9b8b2ce62f6af8192a54d6703b0
diff --git a/metadata/md5-cache/dev-rust/rtic-syntax-0.4.0 b/metadata/md5-cache/dev-rust/rtic-syntax-0.4.0
index 3f0196a..514e0c6 100644
--- a/metadata/md5-cache/dev-rust/rtic-syntax-0.4.0
+++ b/metadata/md5-cache/dev-rust/rtic-syntax-0.4.0
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/indexmap-1.0.2:= <dev-rust/indexmap-2.0.0 =dev-rust/proc-macro2-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/indexmap-1.0.2:= <dev-rust/indexmap-2.0.0 =dev-rust/proc-macro2-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=The Real-Time Interrupt-driven Concurrency (RTIC) meta language
 EAPI=7
 HOMEPAGE=https://crates.io/crates/rtic-syntax
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/indexmap-1.0.2:= <dev-rust/indexmap-2.0.0 =dev-rust/proc-macro2-1*:= =dev-rust/syn-1*:=
+RDEPEND=>=dev-rust/indexmap-1.0.2:= <dev-rust/indexmap-2.0.0 =dev-rust/proc-macro2-1*:= =dev-rust/syn-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.4.0/r0
 SRC_URI=https://crates.io/api/v1/crates/rtic-syntax/0.4.0/download -> rtic-syntax-0.4.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e31d295edcff36481ecf90e547480e15
diff --git a/metadata/md5-cache/dev-rust/rtic-syntax-1.0.2 b/metadata/md5-cache/dev-rust/rtic-syntax-1.0.2
new file mode 100644
index 0000000..d113d6f
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/rtic-syntax-1.0.2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/indexmap-1.0.2 <dev-rust/indexmap-2.0.0_alpha:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/syn-1.0.12 <dev-rust/syn-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=The Real-Time Interrupt-driven Concurrency (RTIC) meta language
+EAPI=7
+HOMEPAGE=https://crates.io/crates/rtic-syntax
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/indexmap-1.0.2 <dev-rust/indexmap-2.0.0_alpha:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/syn-1.0.12 <dev-rust/syn-2.0.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.0.2/r0
+SRC_URI=https://crates.io/api/v1/crates/rtic-syntax/1.0.2/download -> rtic-syntax-1.0.2.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=263a1ffa3bfc195596c746ebe6a37845
diff --git a/metadata/md5-cache/dev-rust/rtt-target-0.3.1 b/metadata/md5-cache/dev-rust/rtt-target-0.3.1
index 38b7d57..514bfb7 100644
--- a/metadata/md5-cache/dev-rust/rtt-target-0.3.1
+++ b/metadata/md5-cache/dev-rust/rtt-target-0.3.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/cortex-m-0.7.1 <dev-rust/cortex-m-0.8.0_alpha:= =dev-rust/riscv-0.6*:= =dev-rust/ufmt-write-0.1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/cortex-m-0.7.1 <dev-rust/cortex-m-0.8.0_alpha:= =dev-rust/riscv-0.6*:= =dev-rust/ufmt-write-0.1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Target side implementation of the RTT (Real-Time Transfer) I/O protocol
 EAPI=7
 HOMEPAGE=https://crates.io/crates/rtt-target
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/cortex-m-0.7.1 <dev-rust/cortex-m-0.8.0_alpha:= =dev-rust/riscv-0.6*:= =dev-rust/ufmt-write-0.1*:=
+RDEPEND=>=dev-rust/cortex-m-0.7.1 <dev-rust/cortex-m-0.8.0_alpha:= =dev-rust/riscv-0.6*:= =dev-rust/ufmt-write-0.1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.1/r0
 SRC_URI=https://crates.io/api/v1/crates/rtt-target/0.3.1/download -> rtt-target-0.3.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f84c44248e5c3fa5af8b7eec7abf20e6
diff --git a/metadata/md5-cache/dev-rust/rusb-0.6.2 b/metadata/md5-cache/dev-rust/rusb-0.6.2
index cff2600..93b968f 100644
--- a/metadata/md5-cache/dev-rust/rusb-0.6.2
+++ b/metadata/md5-cache/dev-rust/rusb-0.6.2
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libusb1-sys-0.3.5:= <dev-rust/libusb1-sys-0.4 =dev-rust/libc-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/libusb1-sys-0.3.5:= <dev-rust/libusb1-sys-0.4 =dev-rust/libc-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust library for accessing USB devices
 EAPI=7
 HOMEPAGE=https://docs.rs/crate/rusb/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.6.2/r0
 SRC_URI=https://crates.io/api/v1/crates/rusb/0.6.2/download -> rusb-0.6.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=84443b7ee9063f8e6c3eb7017e016197
diff --git a/metadata/md5-cache/dev-rust/rusb-0.8.1 b/metadata/md5-cache/dev-rust/rusb-0.8.1
index 60ab030..a9d87da 100644
--- a/metadata/md5-cache/dev-rust/rusb-0.8.1
+++ b/metadata/md5-cache/dev-rust/rusb-0.8.1
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/libc-0.2*:= =dev-rust/libusb1-sys-0.5*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/libc-0.2*:= =dev-rust/libusb1-sys-0.5*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust library for accessing USB devices.
 EAPI=7
 HOMEPAGE=https://github.com/a1ien/rusb
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/libc-0.2*:= =dev-rust/libusb1-sys-0.5*:=
+RDEPEND==dev-rust/libc-0.2*:= =dev-rust/libusb1-sys-0.5*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.8.1/r0
 SRC_URI=https://crates.io/api/v1/crates/rusb/0.8.1/download -> rusb-0.8.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=75a5afa9c77a9edeb237b3807574ff4c
diff --git a/metadata/md5-cache/dev-rust/rusqlite-0.19.0 b/metadata/md5-cache/dev-rust/rusqlite-0.19.0
deleted file mode 100644
index dc3aecd..0000000
--- a/metadata/md5-cache/dev-rust/rusqlite-0.19.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bitflags-1*:= =dev-rust/fallible-iterator-0.2*:= =dev-rust/fallible-streaming-iterator-0.1*:= =dev-rust/libsqlite3-sys-0.15*:= =dev-rust/lru-cache-0.1*:= =dev-rust/memchr-2.2*:= =dev-rust/time-0.1*:= =dev-rust/byteorder-1.2*:= =dev-rust/chrono-0.4*:= =dev-rust/csv-1*:= =dev-rust/lazy_static-1*:= =dev-rust/serde_json-1*:= =dev-rust/url-1.7*:= =dev-rust/uuid-0.7*:= =dev-rust/regex-1*:= =dev-rust/tempdir-0.3*:= =dev-rust/unicase-2.4*:= =dev-rust/uuid-0.7*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Rusqlite is an ergonomic wrapper for using SQLite from Rust
-EAPI=6
-HOMEPAGE=https://github.com/jgallagher/rusqlite
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.19.0/r0
-SRC_URI=https://crates.io/api/v1/crates/rusqlite/0.19.0/download -> rusqlite-0.19.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=54939ba9e49e1a7a49b1667f388d2730
diff --git a/metadata/md5-cache/dev-rust/rustc-demangle-0.1.21 b/metadata/md5-cache/dev-rust/rustc-demangle-0.1.21
new file mode 100644
index 0000000..08ada12
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/rustc-demangle-0.1.21
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Rust compiler symbol demangling.
+EAPI=7
+HOMEPAGE=https://github.com/alexcrichton/rustc-demangle
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/compiler_builtins-0.1.2 <dev-rust/compiler_builtins-0.2.0_alpha:= =dev-rust/rustc-std-workspace-core-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.1.21/r0
+SRC_URI=https://crates.io/api/v1/crates/rustc-demangle/0.1.21/download -> rustc-demangle-0.1.21.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b1cf42e0489bc4da62c3e0ea074ad109
diff --git a/metadata/md5-cache/dev-rust/rustc-demangle-0.1.4 b/metadata/md5-cache/dev-rust/rustc-demangle-0.1.4
deleted file mode 100644
index 0b79dac..0000000
--- a/metadata/md5-cache/dev-rust/rustc-demangle-0.1.4
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Symbol demangling for Rust
-EAPI=6
-HOMEPAGE=https://github.com/alexcrichton/rustc-demangle
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.4/r0
-SRC_URI=https://crates.io/api/v1/crates/rustc-demangle/0.1.4/download -> rustc-demangle-0.1.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=06722ff391b8bdaa74db19718f4cf8fd
diff --git a/metadata/md5-cache/dev-rust/rustc-demangle-capi-0.1.0 b/metadata/md5-cache/dev-rust/rustc-demangle-capi-0.1.0
new file mode 100644
index 0000000..9e4d6ee
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/rustc-demangle-capi-0.1.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/rustc-demangle-0.1.16 <dev-rust/rustc-demangle-0.2.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=C API for the "rustc-demangle" crate
+EAPI=7
+HOMEPAGE=https://crates.io/crates/rustc-demangle-capi
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/rustc-demangle-0.1.16 <dev-rust/rustc-demangle-0.2.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0
+SRC_URI=https://crates.io/api/v1/crates/rustc-demangle-capi/0.1.0/download -> rustc-demangle-capi-0.1.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a9f6833b2160eb95585c72928eac094e
diff --git a/metadata/md5-cache/dev-rust/rustc-hash-1.1.0 b/metadata/md5-cache/dev-rust/rustc-hash-1.1.0
index 2b021cf..8c57382 100644
--- a/metadata/md5-cache/dev-rust/rustc-hash-1.1.0
+++ b/metadata/md5-cache/dev-rust/rustc-hash-1.1.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=speed, non-cryptographic hash used in rustc
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang-nursery/rustc-hash
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.1.0/r0
 SRC_URI=https://crates.io/api/v1/crates/rustc-hash/1.1.0/download -> rustc-hash-1.1.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=593dd9f8e97bfae4a45140a956b06d40
diff --git a/metadata/md5-cache/dev-rust/rustc-serialize-0.3.24 b/metadata/md5-cache/dev-rust/rustc-serialize-0.3.24
index 25848ec..c973598 100644
--- a/metadata/md5-cache/dev-rust/rustc-serialize-0.3.24
+++ b/metadata/md5-cache/dev-rust/rustc-serialize-0.3.24
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/rand-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/rand-0.3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Serialization and deserialization support provided by the compiler in the form of derive(RustcEncodable, RustcDecodable).
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/rust-lang-deprecated/rustc-serialize
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.3.24/r0
 SRC_URI=https://crates.io/api/v1/crates/rustc-serialize/0.3.24/download -> rustc-serialize-0.3.24.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=e6e63192056881c05c96e2232ebe5abb
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e0daf4ea51fba99b40cac1959d6fe9e2
diff --git a/metadata/md5-cache/dev-rust/rustc-serialize-0.3.24-r1 b/metadata/md5-cache/dev-rust/rustc-serialize-0.3.24-r1
index 504d96e..c429098 100644
--- a/metadata/md5-cache/dev-rust/rustc-serialize-0.3.24-r1
+++ b/metadata/md5-cache/dev-rust/rustc-serialize-0.3.24-r1
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/rand-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/rand-0.3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Serialization and deserialization support provided by the compiler in the form of derive(RustcEncodable, RustcDecodable).
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/rust-lang-deprecated/rustc-serialize
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.3.24/r1
 SRC_URI=https://crates.io/api/v1/crates/rustc-serialize/0.3.24/download -> rustc-serialize-0.3.24.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=e6e63192056881c05c96e2232ebe5abb
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e0daf4ea51fba99b40cac1959d6fe9e2
diff --git a/metadata/md5-cache/dev-rust/rustc-std-workspace-alloc-1.0.0 b/metadata/md5-cache/dev-rust/rustc-std-workspace-alloc-1.0.0
index 89b8c8d..c829268 100644
--- a/metadata/md5-cache/dev-rust/rustc-std-workspace-alloc-1.0.0
+++ b/metadata/md5-cache/dev-rust/rustc-std-workspace-alloc-1.0.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/rustc-std-workspace-core-1.0.0 b/metadata/md5-cache/dev-rust/rustc-std-workspace-core-1.0.0
index a2eb9cf..59dcd6b 100644
--- a/metadata/md5-cache/dev-rust/rustc-std-workspace-core-1.0.0
+++ b/metadata/md5-cache/dev-rust/rustc-std-workspace-core-1.0.0
@@ -1,10 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty rustc-std-workspace-core crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=bd17a758f31d5462ebd445618878377b
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d14b6fdef6a9b39031be8ebf9e1c323c
diff --git a/metadata/md5-cache/dev-rust/rustc-std-workspace-std-1.0.0 b/metadata/md5-cache/dev-rust/rustc-std-workspace-std-1.0.0
index 89b8c8d..c829268 100644
--- a/metadata/md5-cache/dev-rust/rustc-std-workspace-std-1.0.0
+++ b/metadata/md5-cache/dev-rust/rustc-std-workspace-std-1.0.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/rustc-test-0.3.0 b/metadata/md5-cache/dev-rust/rustc-test-0.3.0
index 54e3c7e..edf3c25 100644
--- a/metadata/md5-cache/dev-rust/rustc-test-0.3.0
+++ b/metadata/md5-cache/dev-rust/rustc-test-0.3.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty rustc-test crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/rustc_version-0.2.3 b/metadata/md5-cache/dev-rust/rustc_version-0.2.3
index 323c015..ac99cd1 100644
--- a/metadata/md5-cache/dev-rust/rustc_version-0.2.3
+++ b/metadata/md5-cache/dev-rust/rustc_version-0.2.3
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/semver-0.9*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/semver-0.9*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A library for querying the version of a rustc compiler
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/Kimundi/rustc-version-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.2.3/r0
 SRC_URI=https://crates.io/api/v1/crates/rustc_version/0.2.3/download -> rustc_version-0.2.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=abe0672021633f99bfe12d86f58024be
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f38a64d27ab3b932cea4a02cd64dc04f
diff --git a/metadata/md5-cache/dev-rust/rustc_version-0.4.0 b/metadata/md5-cache/dev-rust/rustc_version-0.4.0
new file mode 100644
index 0000000..f7d8500
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/rustc_version-0.4.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/semver-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A library for querying the version of a installed rustc compiler
+EAPI=7
+HOMEPAGE=https://crates.io/crates/rustc_version
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/semver-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.4.0/r0
+SRC_URI=https://crates.io/api/v1/crates/rustc_version/0.4.0/download -> rustc_version-0.4.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2275421aaaed2eae5cdd1a573948e5f4
diff --git a/metadata/md5-cache/dev-rust/rustyline-7.0.0-r1 b/metadata/md5-cache/dev-rust/rustyline-7.0.0-r1
deleted file mode 100644
index 29c9c07..0000000
--- a/metadata/md5-cache/dev-rust/rustyline-7.0.0-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bitflags-1.2.0:= <dev-rust/bitflags-2.0.0 =dev-rust/fs2-0.4*:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/memchr-2*:= =dev-rust/nix-0.19*:= =dev-rust/unicode-segmentation-1*:= =dev-rust/unicode-width-0.1*:= =dev-rust/utf8parse-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Rustyline, a readline implementation based on Antirez's Linenoise.
-EAPI=7
-HOMEPAGE=https://docs.rs/rustyline
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-REQUIRED_USE=?? ( asan lsan msan tsan )
-RESTRICT=test
-SLOT=7.0.0/r1
-SRC_URI=https://crates.io/api/v1/crates/rustyline/7.0.0/download -> rustyline-7.0.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=00e86e839a26a847525c0d7dbb5908dd
diff --git a/metadata/md5-cache/dev-rust/rustyline-9.1.1 b/metadata/md5-cache/dev-rust/rustyline-9.1.1
index 2e14a9a..9dd8b58 100644
--- a/metadata/md5-cache/dev-rust/rustyline-9.1.1
+++ b/metadata/md5-cache/dev-rust/rustyline-9.1.1
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bitflags-1.3.0 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/cfg-if-1*:= =dev-rust/dirs-next-2*:= =dev-rust/fd-lock-3*:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/memchr-2*:= =dev-rust/radix_trie-0.2*:= >=dev-rust/regex-1.5.4 <dev-rust/regex-2.0.0_alpha:= >=dev-rust/smallvec-1.6.1 <dev-rust/smallvec-2.0.0_alpha:= =dev-rust/unicode-segmentation-1*:= =dev-rust/unicode-width-0.1*:= =dev-rust/nix-0.23*:= =dev-rust/skim-0.9*:= =dev-rust/utf8parse-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/bitflags-1.3.0 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/cfg-if-1*:= =dev-rust/dirs-next-2*:= =dev-rust/fd-lock-3*:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/memchr-2*:= =dev-rust/radix_trie-0.2*:= >=dev-rust/regex-1.5.4 <dev-rust/regex-2.0.0_alpha:= >=dev-rust/smallvec-1.6.1 <dev-rust/smallvec-2.0.0_alpha:= =dev-rust/unicode-segmentation-1*:= =dev-rust/unicode-width-0.1*:= =dev-rust/nix-0.23*:= =dev-rust/skim-0.9*:= =dev-rust/utf8parse-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rustyline, a readline implementation based on Antirez's Linenoise
 EAPI=7
 HOMEPAGE=https://crates.io/crates/rustyline
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/bitflags-1.3.0 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/cfg-if-1*:= =dev-rust/dirs-next-2*:= =dev-rust/fd-lock-3*:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/memchr-2*:= =dev-rust/radix_trie-0.2*:= >=dev-rust/regex-1.5.4 <dev-rust/regex-2.0.0_alpha:= >=dev-rust/smallvec-1.6.1 <dev-rust/smallvec-2.0.0_alpha:= =dev-rust/unicode-segmentation-1*:= =dev-rust/unicode-width-0.1*:= =dev-rust/nix-0.23*:= =dev-rust/skim-0.9*:= =dev-rust/utf8parse-0.2*:=
+RDEPEND=>=dev-rust/bitflags-1.3.0 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/cfg-if-1*:= =dev-rust/dirs-next-2*:= =dev-rust/fd-lock-3*:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/memchr-2*:= =dev-rust/radix_trie-0.2*:= >=dev-rust/regex-1.5.4 <dev-rust/regex-2.0.0_alpha:= >=dev-rust/smallvec-1.6.1 <dev-rust/smallvec-2.0.0_alpha:= =dev-rust/unicode-segmentation-1*:= =dev-rust/unicode-width-0.1*:= =dev-rust/nix-0.23*:= =dev-rust/skim-0.9*:= =dev-rust/utf8parse-0.2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=9.1.1/r0
 SRC_URI=https://crates.io/api/v1/crates/rustyline/9.1.1/download -> rustyline-9.1.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f6e6160e83eed2a2dbbbaf01e21e195f
diff --git a/metadata/md5-cache/dev-rust/rustyline-derive-0.6.0 b/metadata/md5-cache/dev-rust/rustyline-derive-0.6.0
new file mode 100644
index 0000000..bf868fc
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/rustyline-derive-0.6.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Rustyline macros implementation of #[derive(Completer, Helper, Hinter, Highlighter)]
+EAPI=7
+HOMEPAGE=https://crates.io/crates/rustyline-derive
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND==dev-rust/quote-1*:= =dev-rust/syn-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.6.0/r0
+SRC_URI=https://crates.io/api/v1/crates/rustyline-derive/0.6.0/download -> rustyline-derive-0.6.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=80886c17eaf049bd12e33cdc5bb2c0d3
diff --git a/metadata/md5-cache/dev-rust/ryu-1.0.5 b/metadata/md5-cache/dev-rust/ryu-1.0.5
index b0368a7..34285b8 100644
--- a/metadata/md5-cache/dev-rust/ryu-1.0.5
+++ b/metadata/md5-cache/dev-rust/ryu-1.0.5
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/no-panic-0.1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/no-panic-0.1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Fast floating point to string conversion
 EAPI=7
 HOMEPAGE=https://crates.io/crates/ryu
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=Apache-2.0
-RDEPEND==dev-rust/no-panic-0.1*:=
+RDEPEND==dev-rust/no-panic-0.1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=1.0.5/r0
 SRC_URI=https://crates.io/api/v1/crates/ryu/1.0.5/download -> ryu-1.0.5.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=53df3e1a34b7370f5f354b5540168bc8
diff --git a/metadata/md5-cache/dev-rust/s9-0.1.0-r40 b/metadata/md5-cache/dev-rust/s9-0.1.0-r40
deleted file mode 100644
index fe9eeaa..0000000
--- a/metadata/md5-cache/dev-rust/s9-0.1.0-r40
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/getopts-0.2*:= =dev-rust/libc-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= dev-rust/p9:= dev-rust/sys_util:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Server binary for the 9P file system protocol
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/9s/
-IUSE=test cros_host cros_workon_tree_9e30b8b04984f1025a63b378c49bf397551f25dd cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=!<chromeos-base/crosvm-0.0.1-r260 !dev-rust/9s
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0c419fc9dddb47f2931bd03b2a5bf99c
diff --git a/metadata/md5-cache/dev-rust/s9-0.1.0-r42 b/metadata/md5-cache/dev-rust/s9-0.1.0-r42
new file mode 100644
index 0000000..c78a68e
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/s9-0.1.0-r42
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/getopts-0.2*:= =dev-rust/libc-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= dev-rust/p9:= dev-rust/sys_util:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Server binary for the 9P file system protocol
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/9s/
+IUSE=test cros_host cros_workon_tree_af889731f76a5bd8b00f4ea9fac63540c129bd4b cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=!<chromeos-base/crosvm-0.0.1-r260 !dev-rust/9s virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0c040487969be86cf839c10cdf2561f4
diff --git a/metadata/md5-cache/dev-rust/s9-9999 b/metadata/md5-cache/dev-rust/s9-9999
index 8b4a2be..8e7b273 100644
--- a/metadata/md5-cache/dev-rust/s9-9999
+++ b/metadata/md5-cache/dev-rust/s9-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/getopts-0.2*:= =dev-rust/libc-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= dev-rust/p9:= dev-rust/sys_util:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/getopts-0.2*:= =dev-rust/libc-0.2*:= dev-rust/libchromeos:= =dev-rust/log-0.4*:= dev-rust/p9:= dev-rust/sys_util:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Server binary for the 9P file system protocol
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/9s/
-IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=!<chromeos-base/crosvm-0.0.1-r260 !dev-rust/9s
+RDEPEND=!<chromeos-base/crosvm-0.0.1-r260 !dev-rust/9s virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=2053caffb6d3c3a75abe0364d1a2c4f6
diff --git a/metadata/md5-cache/dev-rust/schannel-0.1.15 b/metadata/md5-cache/dev-rust/schannel-0.1.15
deleted file mode 100644
index 57badb5..0000000
--- a/metadata/md5-cache/dev-rust/schannel-0.1.15
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/lazy_static-1*:= =dev-rust/winapi-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Rust bindings to the Windows SChannel APIs providing TLS client and server functionality.
-EAPI=6
-HOMEPAGE=https://github.com/steffengy/schannel-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.15/r0
-SRC_URI=https://crates.io/api/v1/crates/schannel/0.1.15/download -> schannel-0.1.15.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=ab40bf3a2b6abbeb2594bd73d4a90148
diff --git a/metadata/md5-cache/dev-rust/scoped-tls-1.0.0 b/metadata/md5-cache/dev-rust/scoped-tls-1.0.0
index a5f9c92..6c43169 100644
--- a/metadata/md5-cache/dev-rust/scoped-tls-1.0.0
+++ b/metadata/md5-cache/dev-rust/scoped-tls-1.0.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A Rust library providing the old standard library's scoped_thread_local! macro as a library implementation on crates.io.
 EAPI=7
 HOMEPAGE=https://github.com/alexcrichton/scoped-tls
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.0/r0
 SRC_URI=https://crates.io/api/v1/crates/scoped-tls/1.0.0/download -> scoped-tls-1.0.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=0d2169802ce5d5e3df5323ff6d87e27d
diff --git a/metadata/md5-cache/dev-rust/scoped_threadpool-0.1.0 b/metadata/md5-cache/dev-rust/scoped_threadpool-0.1.0
index bce4f9f..63e2e17 100644
--- a/metadata/md5-cache/dev-rust/scoped_threadpool-0.1.0
+++ b/metadata/md5-cache/dev-rust/scoped_threadpool-0.1.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/scopeguard-1.1.0 b/metadata/md5-cache/dev-rust/scopeguard-1.1.0
index 2ce566f..b18da55 100644
--- a/metadata/md5-cache/dev-rust/scopeguard-1.1.0
+++ b/metadata/md5-cache/dev-rust/scopeguard-1.1.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A RAII scope guard that will run a given closure when it goes out of scope
 EAPI=7
 HOMEPAGE=https://github.com/bluss/scopeguard
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.1.0/r0
 SRC_URI=https://crates.io/api/v1/crates/scopeguard/1.1.0/download -> scopeguard-1.1.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=a9ebe4ba7eb70f79f8bf221532ad1c8d
diff --git a/metadata/md5-cache/dev-rust/scudo-0.1.2 b/metadata/md5-cache/dev-rust/scudo-0.1.2
index 4efff3a..9d96096 100644
--- a/metadata/md5-cache/dev-rust/scudo-0.1.2
+++ b/metadata/md5-cache/dev-rust/scudo-0.1.2
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2.104 <dev-rust/libc-0.3.0_alpha:= =dev-rust/scudo-sys-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/libc-0.2.104 <dev-rust/libc-0.3.0_alpha:= =dev-rust/scudo-sys-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust Bindings for the Scudo Hardened Allocator
 EAPI=7
 HOMEPAGE=https://llvm.org/docs/ScudoHardenedAllocator.html
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=Apache-2.0
-RDEPEND=>=dev-rust/libc-0.2.104 <dev-rust/libc-0.3.0_alpha:= =dev-rust/scudo-sys-0.2*:=
+RDEPEND=>=dev-rust/libc-0.2.104 <dev-rust/libc-0.3.0_alpha:= =dev-rust/scudo-sys-0.2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.2/r0
 SRC_URI=https://crates.io/api/v1/crates/scudo/0.1.2/download -> scudo-0.1.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=13d4cb8486d7d3c6120417698716a008
diff --git a/metadata/md5-cache/dev-rust/scudo-sys-0.2.1 b/metadata/md5-cache/dev-rust/scudo-sys-0.2.1
index 09913ce..c8e5a12 100644
--- a/metadata/md5-cache/dev-rust/scudo-sys-0.2.1
+++ b/metadata/md5-cache/dev-rust/scudo-sys-0.2.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2.104 <dev-rust/libc-0.3.0_alpha:= >=dev-rust/cc-1.0.71 <dev-rust/cc-2.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/libc-0.2.104 <dev-rust/libc-0.3.0_alpha:= >=dev-rust/cc-1.0.71 <dev-rust/cc-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=C/FFI Bindings for the Scudo Hardened Allocator
 EAPI=7
 HOMEPAGE=https://llvm.org/docs/ScudoHardenedAllocator.html
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=Apache-2.0
-RDEPEND=>=dev-rust/libc-0.2.104 <dev-rust/libc-0.3.0_alpha:= >=dev-rust/cc-1.0.71 <dev-rust/cc-2.0.0_alpha:=
+RDEPEND=>=dev-rust/libc-0.2.104 <dev-rust/libc-0.3.0_alpha:= >=dev-rust/cc-1.0.71 <dev-rust/cc-2.0.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.1/r0
 SRC_URI=https://crates.io/api/v1/crates/scudo-sys/0.2.1/download -> scudo-sys-0.2.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=75d15665188998d67faaa57c83a20b83
diff --git a/metadata/md5-cache/dev-rust/security-framework-0.3.3 b/metadata/md5-cache/dev-rust/security-framework-0.3.3
deleted file mode 100644
index 56f4f3e..0000000
--- a/metadata/md5-cache/dev-rust/security-framework-0.3.3
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Empty security-framework crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.3.3/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=41923915aa8b03ebf1d6af087d106c83
diff --git a/metadata/md5-cache/dev-rust/security-framework-sys-0.3.3 b/metadata/md5-cache/dev-rust/security-framework-sys-0.3.3
index 0ca1bed..e4f024e 100644
--- a/metadata/md5-cache/dev-rust/security-framework-sys-0.3.3
+++ b/metadata/md5-cache/dev-rust/security-framework-sys-0.3.3
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty security-framework-sys crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.3/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=41923915aa8b03ebf1d6af087d106c83
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=22da6121c9ea20e4b371df9f14f4fa99
diff --git a/metadata/md5-cache/dev-rust/semver-0.9.0 b/metadata/md5-cache/dev-rust/semver-0.9.0
index c18b424..221d23d 100644
--- a/metadata/md5-cache/dev-rust/semver-0.9.0
+++ b/metadata/md5-cache/dev-rust/semver-0.9.0
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/semver-parser-0.7*:= =dev-rust/serde-1*:= =dev-rust/crates-index-0.5*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= =dev-rust/tempdir-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/semver-parser-0.7*:= =dev-rust/serde-1*:= =dev-rust/crates-index-0.5*:= =dev-rust/serde_derive-1*:= =dev-rust/serde_json-1*:= =dev-rust/tempdir-0.3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Semantic version parsing and comparison
-EAPI=6
+EAPI=7
 HOMEPAGE=https://docs.rs/crate/semver/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.9.0/r0
 SRC_URI=https://crates.io/api/v1/crates/semver/0.9.0/download -> semver-0.9.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=b32e1e0da11136b3e1021fb81029ba04
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=61bf7bfd603eee408227a7f74fd390f6
diff --git a/metadata/md5-cache/dev-rust/semver-1.0.3 b/metadata/md5-cache/dev-rust/semver-1.0.3
index a7aebd4..2b06cbb 100644
--- a/metadata/md5-cache/dev-rust/semver-1.0.3
+++ b/metadata/md5-cache/dev-rust/semver-1.0.3
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/serde-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/serde-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Parser and evaluator for Cargo"s flavor of Semantic Versioning
 EAPI=7
 HOMEPAGE=https://crates.io/crates/semver
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/serde-1*:=
+RDEPEND==dev-rust/serde-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.3/r0
 SRC_URI=https://crates.io/api/v1/crates/semver/1.0.3/download -> semver-1.0.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=712c5920913ad71f4ef03d58553add4b
diff --git a/metadata/md5-cache/dev-rust/semver-parser-0.7.0 b/metadata/md5-cache/dev-rust/semver-parser-0.7.0
index b622f09..38283d3 100644
--- a/metadata/md5-cache/dev-rust/semver-parser-0.7.0
+++ b/metadata/md5-cache/dev-rust/semver-parser-0.7.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Parsing for the semver spec
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/steveklabnik/semver-parser
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.7.0/r0
 SRC_URI=https://crates.io/api/v1/crates/semver-parser/0.7.0/download -> semver-parser-0.7.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=65b1cf25f42ccb6ac2af5af503541bce
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=16fe110a42ce17d76d2dfb886cf6c95a
diff --git a/metadata/md5-cache/dev-rust/serde-0.8.23 b/metadata/md5-cache/dev-rust/serde-0.8.23
index 834640c..1fdb880 100644
--- a/metadata/md5-cache/dev-rust/serde-0.8.23
+++ b/metadata/md5-cache/dev-rust/serde-0.8.23
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty serde crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.8.23/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=a24171f2ba7b7f5d00b155293ff5debe
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/serde-1.0.125 b/metadata/md5-cache/dev-rust/serde-1.0.125
index f94142f..ab432d2 100644
--- a/metadata/md5-cache/dev-rust/serde-1.0.125
+++ b/metadata/md5-cache/dev-rust/serde-1.0.125
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=~dev-rust/serde_derive-1.0.125:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=~dev-rust/serde_derive-1.0.125:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A generic serialization/deserialization framework
 EAPI=7
 HOMEPAGE=https://serde.rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=~dev-rust/serde_derive-1.0.125:=
+RDEPEND=~dev-rust/serde_derive-1.0.125:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.125/r0
 SRC_URI=https://crates.io/api/v1/crates/serde/1.0.125/download -> serde-1.0.125.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=1299331d6c69b365527e21725702990a
diff --git a/metadata/md5-cache/dev-rust/serde-1.0.136 b/metadata/md5-cache/dev-rust/serde-1.0.136
new file mode 100644
index 0000000..5487a3a
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/serde-1.0.136
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=~dev-rust/serde_derive-1.0.136:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A generic serialization/deserialization framework
+EAPI=7
+HOMEPAGE=https://serde.rs
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=~dev-rust/serde_derive-1.0.136:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.0.136/r0
+SRC_URI=https://crates.io/api/v1/crates/serde/1.0.136/download -> serde-1.0.136.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=752af0d6d119d1f4e1d311df49d0fc7b
diff --git a/metadata/md5-cache/dev-rust/serde-tuple-vec-map-1.0.0 b/metadata/md5-cache/dev-rust/serde-tuple-vec-map-1.0.0
index 78d5a3f..3eb8073 100644
--- a/metadata/md5-cache/dev-rust/serde-tuple-vec-map-1.0.0
+++ b/metadata/md5-cache/dev-rust/serde-tuple-vec-map-1.0.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/serde-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/serde-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Deserialize a serialized map to a Vec<(K, V)> in serde
 EAPI=7
 HOMEPAGE=https://crates.io/crates/serde-tuple-vec-map
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/serde-1*:=
+RDEPEND==dev-rust/serde-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.0/r0
 SRC_URI=https://crates.io/api/v1/crates/serde-tuple-vec-map/1.0.0/download -> serde-tuple-vec-map-1.0.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=43b66eaebc505745810c00e6bcb43e58
diff --git a/metadata/md5-cache/dev-rust/serde_bytes-0.10.5 b/metadata/md5-cache/dev-rust/serde_bytes-0.10.5
index c8feec6..9a03634 100644
--- a/metadata/md5-cache/dev-rust/serde_bytes-0.10.5
+++ b/metadata/md5-cache/dev-rust/serde_bytes-0.10.5
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bincode-1.0*:= =dev-rust/serde-1.0*:= =dev-rust/serde_derive-1.0*:= =dev-rust/serde_test-1.0*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/bincode-1.0*:= =dev-rust/serde-1.0*:= =dev-rust/serde_derive-1.0*:= =dev-rust/serde_test-1.0*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Wrapper types to enable optimized handling of &[u8] and Vec<u8>
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/serde-rs/bytes
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.10.5/r0
 SRC_URI=https://crates.io/api/v1/crates/serde_bytes/0.10.5/download -> serde_bytes-0.10.5.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=6672a45492a97789b9e802e387d81554
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3fbd8455e22743e1c2e85519941b7520
diff --git a/metadata/md5-cache/dev-rust/serde_derive-1.0.125 b/metadata/md5-cache/dev-rust/serde_derive-1.0.125
index f079cb3..73fe815 100644
--- a/metadata/md5-cache/dev-rust/serde_derive-1.0.125
+++ b/metadata/md5-cache/dev-rust/serde_derive-1.0.125
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/syn-1.0.60:= <dev-rust/syn-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/syn-1.0.60:= <dev-rust/syn-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Macros 1.1 implementation of #[derive(Serialize, Deserialize)]
 EAPI=7
 HOMEPAGE=https://serde.rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/syn-1.0.60:= <dev-rust/syn-2.0.0
+RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/syn-1.0.60:= <dev-rust/syn-2.0.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.125/r0
 SRC_URI=https://crates.io/api/v1/crates/serde_derive/1.0.125/download -> serde_derive-1.0.125.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=d3c1ff17cf6609b3a4833d7153311951
diff --git a/metadata/md5-cache/dev-rust/serde_derive-1.0.136 b/metadata/md5-cache/dev-rust/serde_derive-1.0.136
new file mode 100644
index 0000000..88d6eaa
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/serde_derive-1.0.136
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/syn-1.0.60 <dev-rust/syn-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Macros 1.1 implementation of #[derive(Serialize, Deserialize)]
+EAPI=7
+HOMEPAGE=https://serde.rs
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/syn-1.0.60 <dev-rust/syn-2.0.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.0.136/r0
+SRC_URI=https://crates.io/api/v1/crates/serde_derive/1.0.136/download -> serde_derive-1.0.136.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=bbcc19945667db00065674ec5a402894
diff --git a/metadata/md5-cache/dev-rust/serde_json-0.8.6 b/metadata/md5-cache/dev-rust/serde_json-0.8.6
index 91fee93..9d4861f 100644
--- a/metadata/md5-cache/dev-rust/serde_json-0.8.6
+++ b/metadata/md5-cache/dev-rust/serde_json-0.8.6
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty serde_json crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.8.6/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=a24171f2ba7b7f5d00b155293ff5debe
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/serde_json-1.0.64 b/metadata/md5-cache/dev-rust/serde_json-1.0.64
index 7a3c4c9..71ae896 100644
--- a/metadata/md5-cache/dev-rust/serde_json-1.0.64
+++ b/metadata/md5-cache/dev-rust/serde_json-1.0.64
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/indexmap-1.5.0:= <dev-rust/indexmap-2.0.0 >=dev-rust/itoa-0.4.3:= <dev-rust/itoa-0.5.0 =dev-rust/ryu-1*:= >=dev-rust/serde-1.0.100:= <dev-rust/serde-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/indexmap-1.5.0:= <dev-rust/indexmap-2.0.0 >=dev-rust/itoa-0.4.3:= <dev-rust/itoa-0.5.0 =dev-rust/ryu-1*:= >=dev-rust/serde-1.0.100:= <dev-rust/serde-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A JSON serialization file format
 EAPI=7
 HOMEPAGE=https://crates.io/crates/serde_json
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/indexmap-1.5.0:= <dev-rust/indexmap-2.0.0 >=dev-rust/itoa-0.4.3:= <dev-rust/itoa-0.5.0 =dev-rust/ryu-1*:= >=dev-rust/serde-1.0.100:= <dev-rust/serde-2.0.0
+RDEPEND=>=dev-rust/indexmap-1.5.0:= <dev-rust/indexmap-2.0.0 >=dev-rust/itoa-0.4.3:= <dev-rust/itoa-0.5.0 =dev-rust/ryu-1*:= >=dev-rust/serde-1.0.100:= <dev-rust/serde-2.0.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.64/r0
 SRC_URI=https://crates.io/api/v1/crates/serde_json/1.0.64/download -> serde_json-1.0.64.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=8dd26b57bdb4ee2f48527717f85968a6
diff --git a/metadata/md5-cache/dev-rust/serde_json-1.0.79 b/metadata/md5-cache/dev-rust/serde_json-1.0.79
new file mode 100644
index 0000000..ff84b7e
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/serde_json-1.0.79
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/indexmap-1.5.0 <dev-rust/indexmap-2.0.0_alpha:= =dev-rust/itoa-1*:= =dev-rust/ryu-1*:= >=dev-rust/serde-1.0.100 <dev-rust/serde-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A JSON serialization file format
+EAPI=7
+HOMEPAGE=https://crates.io/crates/serde_json
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/indexmap-1.5.0 <dev-rust/indexmap-2.0.0_alpha:= =dev-rust/itoa-1*:= =dev-rust/ryu-1*:= >=dev-rust/serde-1.0.100 <dev-rust/serde-2.0.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.0.79/r0
+SRC_URI=https://crates.io/api/v1/crates/serde_json/1.0.79/download -> serde_json-1.0.79.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3775f1d7a85d31858073f2f46d96a45
diff --git a/metadata/md5-cache/dev-rust/serde_repr-0.1.7 b/metadata/md5-cache/dev-rust/serde_repr-0.1.7
deleted file mode 100644
index 2c5fd45..0000000
--- a/metadata/md5-cache/dev-rust/serde_repr-0.1.7
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Derive Serialize and Deserialize that delegates to the underlying repr of a C-like enum.
-EAPI=7
-HOMEPAGE=https://crates.io/crates/serde_repr
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.7/r0
-SRC_URI=https://crates.io/api/v1/crates/serde_repr/0.1.7/download -> serde_repr-0.1.7.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=299a228fdb8db8ff3af5c618ba23ded8
diff --git a/metadata/md5-cache/dev-rust/serde_test-1.0.127 b/metadata/md5-cache/dev-rust/serde_test-1.0.127
index 76d4890..70826af 100644
--- a/metadata/md5-cache/dev-rust/serde_test-1.0.127
+++ b/metadata/md5-cache/dev-rust/serde_test-1.0.127
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/serde-1.0.60:= <dev-rust/serde-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/serde-1.0.60:= <dev-rust/serde-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Token De/Serializer for testing De/Serialize implementations
 EAPI=7
 HOMEPAGE=https://serde.rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/serde-1.0.60:= <dev-rust/serde-2.0.0
+RDEPEND=>=dev-rust/serde-1.0.60:= <dev-rust/serde-2.0.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.127/r0
 SRC_URI=https://crates.io/api/v1/crates/serde_test/1.0.127/download -> serde_test-1.0.127.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=3f87ec5db899cf2a2764a168832a412d
diff --git a/metadata/md5-cache/dev-rust/serde_yaml-0.8.11 b/metadata/md5-cache/dev-rust/serde_yaml-0.8.11
deleted file mode 100644
index e2113ac..0000000
--- a/metadata/md5-cache/dev-rust/serde_yaml-0.8.11
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/dtoa-0.4*:= =dev-rust/linked-hash-map-0.5*:= >=dev-rust/serde-1.0.60:= <dev-rust/serde-2.0 =dev-rust/yaml-rust-0.4*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=YAML support for Serde
-EAPI=6
-HOMEPAGE=https://docs.rs/crate/serde_yaml
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.8.11/r0
-SRC_URI=https://crates.io/api/v1/crates/serde_yaml/0.8.11/download -> serde_yaml-0.8.11.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=2d7dcff948c9f716cc50f024a0f369e2
diff --git a/metadata/md5-cache/dev-rust/serde_yaml-0.8.24 b/metadata/md5-cache/dev-rust/serde_yaml-0.8.24
new file mode 100644
index 0000000..70a248a
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/serde_yaml-0.8.24
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/indexmap-1.5.2 <dev-rust/indexmap-2.0.0_alpha:= =dev-rust/ryu-1*:= >=dev-rust/serde-1.0.69 <dev-rust/serde-2.0.0_alpha:= >=dev-rust/yaml-rust-0.4.5 <dev-rust/yaml-rust-0.5.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=YAML support for Serde
+EAPI=7
+HOMEPAGE=https://crates.io/crates/serde_yaml
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/indexmap-1.5.2 <dev-rust/indexmap-2.0.0_alpha:= =dev-rust/ryu-1*:= >=dev-rust/serde-1.0.69 <dev-rust/serde-2.0.0_alpha:= >=dev-rust/yaml-rust-0.4.5 <dev-rust/yaml-rust-0.5.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.8.24/r0
+SRC_URI=https://crates.io/api/v1/crates/serde_yaml/0.8.24/download -> serde_yaml-0.8.24.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1b26988c345489548c767105e1b73c3d
diff --git a/metadata/md5-cache/dev-rust/serial-core-0.4.0 b/metadata/md5-cache/dev-rust/serial-core-0.4.0
index 94070c3..807028e 100644
--- a/metadata/md5-cache/dev-rust/serial-core-0.4.0
+++ b/metadata/md5-cache/dev-rust/serial-core-0.4.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/libc-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/libc-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust abstractions for serial ports.
 EAPI=7
 HOMEPAGE=https://github.com/dcuddeback/serial-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/libc-0.2*:=
+RDEPEND==dev-rust/libc-0.2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.4.0/r0
 SRC_URI=https://crates.io/api/v1/crates/serial-core/0.4.0/download -> serial-core-0.4.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=d1c2694b9d7950fde6f51a39d70361d7
diff --git a/metadata/md5-cache/dev-rust/serial-unix-0.4.0 b/metadata/md5-cache/dev-rust/serial-unix-0.4.0
index a2e531fd..8634416 100644
--- a/metadata/md5-cache/dev-rust/serial-unix-0.4.0
+++ b/metadata/md5-cache/dev-rust/serial-unix-0.4.0
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/ioctl-rs-0.1.5 <dev-rust/ioctl-rs-0.2.0_alpha:= >=dev-rust/libc-0.2.1 <dev-rust/libc-0.3.0_alpha:= =dev-rust/serial-core-0.4*:= >=dev-rust/termios-0.2.2 <dev-rust/termios-0.3.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/ioctl-rs-0.1.5 <dev-rust/ioctl-rs-0.2.0_alpha:= >=dev-rust/libc-0.2.1 <dev-rust/libc-0.3.0_alpha:= =dev-rust/serial-core-0.4*:= >=dev-rust/termios-0.2.2 <dev-rust/termios-0.3.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Serial port implementation for Unix.
 EAPI=7
 HOMEPAGE=https://github.com/dcuddeback/serial-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/ioctl-rs-0.1.5 <dev-rust/ioctl-rs-0.2.0_alpha:= >=dev-rust/libc-0.2.1 <dev-rust/libc-0.3.0_alpha:= =dev-rust/serial-core-0.4*:= >=dev-rust/termios-0.2.2 <dev-rust/termios-0.3.0_alpha:=
+RDEPEND=>=dev-rust/ioctl-rs-0.1.5 <dev-rust/ioctl-rs-0.2.0_alpha:= >=dev-rust/libc-0.2.1 <dev-rust/libc-0.3.0_alpha:= =dev-rust/serial-core-0.4*:= >=dev-rust/termios-0.2.2 <dev-rust/termios-0.3.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.4.0/r0
 SRC_URI=https://crates.io/api/v1/crates/serial-unix/0.4.0/download -> serial-unix-0.4.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=9ea729180f799be7857d42635bca34ea
diff --git a/metadata/md5-cache/dev-rust/serialport-4.0.1 b/metadata/md5-cache/dev-rust/serialport-4.0.1
deleted file mode 100644
index 26513b6..0000000
--- a/metadata/md5-cache/dev-rust/serialport-4.0.1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/libudev-0.2*:= >=dev-rust/bitflags-1.0.4 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/cfg-if-0.1*:= >=dev-rust/nix-0.16.1 <dev-rust/nix-0.17.0_alpha:= >=dev-rust/clap-2.32.0 <dev-rust/clap-3.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A cross-platform low-level serial port library
-EAPI=7
-HOMEPAGE=https://crates.io/crates/serialport
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MPL-2.0
-RDEPEND==dev-rust/libudev-0.2*:= >=dev-rust/bitflags-1.0.4 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/cfg-if-0.1*:= >=dev-rust/nix-0.16.1 <dev-rust/nix-0.17.0_alpha:= >=dev-rust/clap-2.32.0 <dev-rust/clap-3.0.0_alpha:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=4.0.1/r0
-SRC_URI=https://crates.io/api/v1/crates/serialport/4.0.1/download -> serialport-4.0.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c6eec07c09f75de068e38b266eba28f3
diff --git a/metadata/md5-cache/dev-rust/sha1-0.6.0 b/metadata/md5-cache/dev-rust/sha1-0.6.0
index cad7539..e262239 100644
--- a/metadata/md5-cache/dev-rust/sha1-0.6.0
+++ b/metadata/md5-cache/dev-rust/sha1-0.6.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.6.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/shell-words-1.0.0 b/metadata/md5-cache/dev-rust/shell-words-1.0.0
index 333af2f..f28c4a3 100644
--- a/metadata/md5-cache/dev-rust/shell-words-1.0.0
+++ b/metadata/md5-cache/dev-rust/shell-words-1.0.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Process command line according to parsing rules of Unix shell.
 EAPI=7
 HOMEPAGE=https://github.com/tmiasko/shell-words
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.0/r0
 SRC_URI=https://crates.io/api/v1/crates/shell-words/1.0.0/download -> shell-words-1.0.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=621988a0b5019a7024c137960e47bf2f
diff --git a/metadata/md5-cache/dev-rust/shlex-1.1.0 b/metadata/md5-cache/dev-rust/shlex-1.1.0
index b4b0acd..7672cf0 100644
--- a/metadata/md5-cache/dev-rust/shlex-1.1.0
+++ b/metadata/md5-cache/dev-rust/shlex-1.1.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Split a string into shell words, like Python"s shlex.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/shlex
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.1.0/r0
 SRC_URI=https://crates.io/api/v1/crates/shlex/1.1.0/download -> shlex-1.1.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=9600ccefa5d10736edf9bcdb7c9d08e1
diff --git a/metadata/md5-cache/dev-rust/signal-hook-registry-1.4.0 b/metadata/md5-cache/dev-rust/signal-hook-registry-1.4.0
new file mode 100644
index 0000000..2c722c1
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/signal-hook-registry-1.4.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/libc-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Backend crate for signal-hook
+EAPI=7
+HOMEPAGE=https://crates.io/crates/signal-hook-registry
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( Apache-2.0 MIT )
+RDEPEND==dev-rust/libc-0.2*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.4.0/r0
+SRC_URI=https://crates.io/api/v1/crates/signal-hook-registry/1.4.0/download -> signal-hook-registry-1.4.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e01d8d349517cab19dc2f518f0cf64a5
diff --git a/metadata/md5-cache/dev-rust/simple_logger-1.13.0 b/metadata/md5-cache/dev-rust/simple_logger-1.13.0
new file mode 100644
index 0000000..7ebb94f
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/simple_logger-1.13.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/chrono-0.4.6 <dev-rust/chrono-0.5.0_alpha:= =dev-rust/colored-2*:= >=dev-rust/log-0.4.5 <dev-rust/log-0.5.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A logger that prints all messages with a readable output format
+EAPI=7
+HOMEPAGE=https://crates.io/crates/simple_logger
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=>=dev-rust/chrono-0.4.6 <dev-rust/chrono-0.5.0_alpha:= =dev-rust/colored-2*:= >=dev-rust/log-0.4.5 <dev-rust/log-0.5.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.13.0/r0
+SRC_URI=https://crates.io/api/v1/crates/simple_logger/1.13.0/download -> simple_logger-1.13.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5b91927dda7337e45d4edfd4f1366e25
diff --git a/metadata/md5-cache/dev-rust/simplelog-0.10.0 b/metadata/md5-cache/dev-rust/simplelog-0.10.0
deleted file mode 100644
index ca46d08..0000000
--- a/metadata/md5-cache/dev-rust/simplelog-0.10.0
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/chrono-0.4*:= =dev-rust/log-0.4*:= =dev-rust/termcolor-1.1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A simple and easy-to-use logging facility for Rust's log crate
-EAPI=7
-HOMEPAGE=https://github.com/drakulix/simplelog.rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/chrono-0.4*:= =dev-rust/log-0.4*:= =dev-rust/termcolor-1.1*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.10.0/r0
-SRC_URI=https://crates.io/api/v1/crates/simplelog/0.10.0/download -> simplelog-0.10.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d3ea0ddfc283341d63bde6ac5a13811f
diff --git a/metadata/md5-cache/dev-rust/skim-0.9.0 b/metadata/md5-cache/dev-rust/skim-0.9.0
index 43b0864..32a2688 100644
--- a/metadata/md5-cache/dev-rust/skim-0.9.0
+++ b/metadata/md5-cache/dev-rust/skim-0.9.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.9.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/slab-0.4.3 b/metadata/md5-cache/dev-rust/slab-0.4.3
index 009acb5..cfd6236 100644
--- a/metadata/md5-cache/dev-rust/slab-0.4.3
+++ b/metadata/md5-cache/dev-rust/slab-0.4.3
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/serde-1.0.95:= <dev-rust/serde-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/serde-1.0.95:= <dev-rust/serde-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Pre-allocated storage for a uniform data type
 EAPI=7
 HOMEPAGE=https://github.com/tokio-rs/slab
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/serde-1.0.95:= <dev-rust/serde-2.0.0
+RDEPEND=>=dev-rust/serde-1.0.95:= <dev-rust/serde-2.0.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.4.3/r0
 SRC_URI=https://crates.io/api/v1/crates/slab/0.4.3/download -> slab-0.4.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=423b2cc9d156e5ce8e5a625cf870422e
diff --git a/metadata/md5-cache/dev-rust/slog-2.0.0 b/metadata/md5-cache/dev-rust/slog-2.0.0
index 8ca165e..0e61243 100644
--- a/metadata/md5-cache/dev-rust/slog-2.0.0
+++ b/metadata/md5-cache/dev-rust/slog-2.0.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=2.0.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/smallvec-0.6.14 b/metadata/md5-cache/dev-rust/smallvec-0.6.14
index b615358..2172363 100644
--- a/metadata/md5-cache/dev-rust/smallvec-0.6.14
+++ b/metadata/md5-cache/dev-rust/smallvec-0.6.14
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/maybe-uninit-2*:= =dev-rust/serde-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/maybe-uninit-2*:= =dev-rust/serde-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION='Small vector' optimization: store up to a small number of items on the stack
 EAPI=7
 HOMEPAGE=https://crates.io/crates/smallvec
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/maybe-uninit-2*:= =dev-rust/serde-1*:=
+RDEPEND==dev-rust/maybe-uninit-2*:= =dev-rust/serde-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.6.14/r0
 SRC_URI=https://crates.io/api/v1/crates/smallvec/0.6.14/download -> smallvec-0.6.14.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=45a4a916584c16ecc49052684c996fec
diff --git a/metadata/md5-cache/dev-rust/smallvec-1.6.1 b/metadata/md5-cache/dev-rust/smallvec-1.6.1
index a7b75e7..6dd4e6a 100644
--- a/metadata/md5-cache/dev-rust/smallvec-1.6.1
+++ b/metadata/md5-cache/dev-rust/smallvec-1.6.1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/serde-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/serde-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Small vector optimization for Rust
 EAPI=7
 HOMEPAGE=https://github.com/servo/rust-smallvec
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.6.1/r0
 SRC_URI=https://crates.io/api/v1/crates/smallvec/1.6.1/download -> smallvec-1.6.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=bf50f32ed80f7a2e4dab2c5e7b6d0ee7
diff --git a/metadata/md5-cache/dev-rust/smawk-0.3.1 b/metadata/md5-cache/dev-rust/smawk-0.3.1
new file mode 100644
index 0000000..fec966a
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/smawk-0.3.1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.3.1/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dcd7e86695f5a9ea614dc8b5a7b64d6d
diff --git a/metadata/md5-cache/dev-rust/socket2-0.3.9 b/metadata/md5-cache/dev-rust/socket2-0.3.9
index f209752..f996e87 100644
--- a/metadata/md5-cache/dev-rust/socket2-0.3.9
+++ b/metadata/md5-cache/dev-rust/socket2-0.3.9
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/cfg-if-0.1*:= =dev-rust/libc-0.2*:= =dev-rust/redox_syscall-0.1*:= =dev-rust/winapi-0.3*:= =dev-rust/tempdir-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/cfg-if-0.1*:= =dev-rust/libc-0.2*:= =dev-rust/redox_syscall-0.1*:= =dev-rust/winapi-0.3*:= =dev-rust/tempdir-0.3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Provide as direct as possible access to the system's functionality for sockets as possible
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/alexcrichton/socket2-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.9/r0
 SRC_URI=https://crates.io/api/v1/crates/socket2/0.3.9/download -> socket2-0.3.9.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=3f0a2dcec7d3a0e513f41e0fc23254b0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=37cb0056322b93c6c78f0aaaf9963ceb
diff --git a/metadata/md5-cache/dev-rust/socket2-0.4.4 b/metadata/md5-cache/dev-rust/socket2-0.4.4
new file mode 100644
index 0000000..d52f621
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/socket2-0.4.4
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/libc-0.2.114 <dev-rust/libc-0.3.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Utilities for handling networking sockets with a maximal amount of configuration possible intended.
+EAPI=7
+HOMEPAGE=https://github.com/rust-lang/socket2
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/libc-0.2.114 <dev-rust/libc-0.3.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.4.4/r0
+SRC_URI=https://crates.io/api/v1/crates/socket2/0.4.4/download -> socket2-0.4.4.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5c16b4c17baad770744457e0a7829643
diff --git a/metadata/md5-cache/dev-rust/spi-memory-0.2.0 b/metadata/md5-cache/dev-rust/spi-memory-0.2.0
index a753499..3f2f136 100644
--- a/metadata/md5-cache/dev-rust/spi-memory-0.2.0
+++ b/metadata/md5-cache/dev-rust/spi-memory-0.2.0
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bitflags-1.0.4:= <dev-rust/bitflags-2.0.0 >=dev-rust/embedded-hal-0.2.3:= <dev-rust/embedded-hal-0.3.0 >=dev-rust/log-0.4.6:= <dev-rust/log-0.5.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/bitflags-1.0.4:= <dev-rust/bitflags-2.0.0 >=dev-rust/embedded-hal-0.2.3:= <dev-rust/embedded-hal-0.3.0 >=dev-rust/log-0.4.6:= <dev-rust/log-0.5.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A generic driver for different SPI Flash and EEPROM chips
 EAPI=7
 HOMEPAGE=https://crates.io/crates/spi-memory
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=0BSD
-RDEPEND=>=dev-rust/bitflags-1.0.4:= <dev-rust/bitflags-2.0.0 >=dev-rust/embedded-hal-0.2.3:= <dev-rust/embedded-hal-0.3.0 >=dev-rust/log-0.4.6:= <dev-rust/log-0.5.0
+RDEPEND=>=dev-rust/bitflags-1.0.4:= <dev-rust/bitflags-2.0.0 >=dev-rust/embedded-hal-0.2.3:= <dev-rust/embedded-hal-0.3.0 >=dev-rust/log-0.4.6:= <dev-rust/log-0.5.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.2.0/r0
 SRC_URI=https://crates.io/api/v1/crates/spi-memory/0.2.0/download -> spi-memory-0.2.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=106e98c5dbfd8f840f362c133553fa50
diff --git a/metadata/md5-cache/dev-rust/spidev-0.5.1 b/metadata/md5-cache/dev-rust/spidev-0.5.1
index b233960..2dec3ed 100644
--- a/metadata/md5-cache/dev-rust/spidev-0.5.1
+++ b/metadata/md5-cache/dev-rust/spidev-0.5.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bitflags-1.3.0 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/libc-0.2*:= =dev-rust/nix-0.23*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/bitflags-1.3.0 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/libc-0.2*:= =dev-rust/nix-0.23*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Provides access to the Linux spidev interface. This interface allows for configuration of the spidev device, half-duplex SPI access, and full-duplex SPI access.
 EAPI=7
 HOMEPAGE=https://github.com/rust-embedded/rust-spidev
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/bitflags-1.3.0 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/libc-0.2*:= =dev-rust/nix-0.23*:=
+RDEPEND=>=dev-rust/bitflags-1.3.0 <dev-rust/bitflags-2.0.0_alpha:= =dev-rust/libc-0.2*:= =dev-rust/nix-0.23*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.5.1/r0
 SRC_URI=https://crates.io/api/v1/crates/spidev/0.5.1/download -> spidev-0.5.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=58b33b2ae781bf30795f2fdb61200db0
diff --git a/metadata/md5-cache/dev-rust/spin-0.5.2 b/metadata/md5-cache/dev-rust/spin-0.5.2
index bd85250..d6ac9f4 100644
--- a/metadata/md5-cache/dev-rust/spin-0.5.2
+++ b/metadata/md5-cache/dev-rust/spin-0.5.2
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Synchronization primitives based on spinning.
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/mvdnes/spin-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.5.2/r0
 SRC_URI=https://crates.io/api/v1/crates/spin/0.5.2/download -> spin-0.5.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=fa6501919b9ea0b410fd6b597d0ede4f
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=91e9365b6ed279a4987444c2cd360a18
diff --git a/metadata/md5-cache/dev-rust/spin-0.9.4 b/metadata/md5-cache/dev-rust/spin-0.9.4
new file mode 100644
index 0000000..acefcad
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/spin-0.9.4
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/lock_api-0.4*:= =dev-rust/portable-atomic-0.3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Spin-based synchronization primitives
+EAPI=7
+HOMEPAGE=https://crates.io/crates/spin
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND==dev-rust/lock_api-0.4*:= =dev-rust/portable-atomic-0.3*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.9.4/r0
+SRC_URI=https://crates.io/api/v1/crates/spin/0.9.4/download -> spin-0.9.4.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5ca3dc70827e6d8282cd4f04c007c1ec
diff --git a/metadata/md5-cache/dev-rust/stable_deref_trait-1.2.0 b/metadata/md5-cache/dev-rust/stable_deref_trait-1.2.0
index c17c88b..36ae571 100644
--- a/metadata/md5-cache/dev-rust/stable_deref_trait-1.2.0
+++ b/metadata/md5-cache/dev-rust/stable_deref_trait-1.2.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=An unsafe marker trait for types like Box and Rc that dereference to a stable address even when moved, and hence can be used with libraries such as owning_ref and rental.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/stable_deref_trait
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.2.0/r0
 SRC_URI=https://crates.io/api/v1/crates/stable_deref_trait/1.2.0/download -> stable_deref_trait-1.2.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=1bb2cadebd65b0f351383dfbdd6b284e
diff --git a/metadata/md5-cache/dev-rust/stderrlog-0.5.0 b/metadata/md5-cache/dev-rust/stderrlog-0.5.0
deleted file mode 100644
index 2fbdfb9..0000000
--- a/metadata/md5-cache/dev-rust/stderrlog-0.5.0
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/atty-0.2.6:= <dev-rust/atty-0.3.0 >=dev-rust/chrono-0.4.10:= <dev-rust/chrono-0.5.0 >=dev-rust/log-0.4.11:= <dev-rust/log-0.5.0 >=dev-rust/termcolor-1.1:= <dev-rust/termcolor-1.2 >=dev-rust/thread_local-1.0:= <dev-rust/thread_local-1.1 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Logger that aims to provide a simple case of env_logger that just logs to stderr based on verbosity
-EAPI=7
-HOMEPAGE=https://github.com/cardoe/stderrlog-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/atty-0.2.6:= <dev-rust/atty-0.3.0 >=dev-rust/chrono-0.4.10:= <dev-rust/chrono-0.5.0 >=dev-rust/log-0.4.11:= <dev-rust/log-0.5.0 >=dev-rust/termcolor-1.1:= <dev-rust/termcolor-1.2 >=dev-rust/thread_local-1.0:= <dev-rust/thread_local-1.1
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.5.0/r0
-SRC_URI=https://crates.io/api/v1/crates/stderrlog/0.5.0/download -> stderrlog-0.5.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=76fe04f5091766f3d3090c12c46cf862
diff --git a/metadata/md5-cache/dev-rust/stderrlog-0.5.0-r1 b/metadata/md5-cache/dev-rust/stderrlog-0.5.0-r1
deleted file mode 100644
index 8e855a7..0000000
--- a/metadata/md5-cache/dev-rust/stderrlog-0.5.0-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/atty-0.2.6:= <dev-rust/atty-0.3.0 >=dev-rust/chrono-0.4.10:= <dev-rust/chrono-0.5.0 >=dev-rust/log-0.4.11:= <dev-rust/log-0.5.0 >=dev-rust/termcolor-1.1:= <dev-rust/termcolor-1.2 >=dev-rust/thread_local-1.0:= <dev-rust/thread_local-1.1 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Logger that aims to provide a simple case of env_logger that just logs to stderr based on verbosity
-EAPI=7
-HOMEPAGE=https://github.com/cardoe/stderrlog-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/atty-0.2.6:= <dev-rust/atty-0.3.0 >=dev-rust/chrono-0.4.10:= <dev-rust/chrono-0.5.0 >=dev-rust/log-0.4.11:= <dev-rust/log-0.5.0 >=dev-rust/termcolor-1.1:= <dev-rust/termcolor-1.2 >=dev-rust/thread_local-1.0:= <dev-rust/thread_local-1.1
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.5.0/r1
-SRC_URI=https://crates.io/api/v1/crates/stderrlog/0.5.0/download -> stderrlog-0.5.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=76fe04f5091766f3d3090c12c46cf862
diff --git a/metadata/md5-cache/dev-rust/stderrlog-0.5.3 b/metadata/md5-cache/dev-rust/stderrlog-0.5.3
new file mode 100644
index 0000000..b71fbf5
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/stderrlog-0.5.3
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/atty-0.2.6 <dev-rust/atty-0.3.0_alpha:= >=dev-rust/chrono-0.4.10 <dev-rust/chrono-0.5.0_alpha:= >=dev-rust/log-0.4.11 <dev-rust/log-0.5.0_alpha:= =dev-rust/termcolor-1.1*:= =dev-rust/thread_local-1.1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Logger that logs to stderr based on verbosity specified
+EAPI=7
+HOMEPAGE=https://github.com/cardoe/stderrlog-rs
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/atty-0.2.6 <dev-rust/atty-0.3.0_alpha:= >=dev-rust/chrono-0.4.10 <dev-rust/chrono-0.5.0_alpha:= >=dev-rust/log-0.4.11 <dev-rust/log-0.5.0_alpha:= =dev-rust/termcolor-1.1*:= =dev-rust/thread_local-1.1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.5.3/r0
+SRC_URI=https://crates.io/api/v1/crates/stderrlog/0.5.3/download -> stderrlog-0.5.3.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=811e1467c44d0ee942be054eb9d4caaf
diff --git a/metadata/md5-cache/dev-rust/stdweb-0.4.20 b/metadata/md5-cache/dev-rust/stdweb-0.4.20
index 6cca366..adda83c 100644
--- a/metadata/md5-cache/dev-rust/stdweb-0.4.20
+++ b/metadata/md5-cache/dev-rust/stdweb-0.4.20
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty stdweb crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.4.20/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/stm32g0-0.13.0 b/metadata/md5-cache/dev-rust/stm32g0-0.13.0
index f00c307..4d3af3a 100644
--- a/metadata/md5-cache/dev-rust/stm32g0-0.13.0
+++ b/metadata/md5-cache/dev-rust/stm32g0-0.13.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bare-metal-0.2.4:= <dev-rust/bare-metal-0.3.0 >=dev-rust/cortex-m-0.5.8:= <dev-rust/cortex-m-0.8.0 >=dev-rust/cortex-m-rt-0.6.10:= <dev-rust/cortex-m-rt-0.7.0 =dev-rust/vcell-0.1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/bare-metal-0.2.4:= <dev-rust/bare-metal-0.3.0 >=dev-rust/cortex-m-0.5.8:= <dev-rust/cortex-m-0.8.0 >=dev-rust/cortex-m-rt-0.6.10:= <dev-rust/cortex-m-rt-0.7.0 =dev-rust/vcell-0.1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Device support crates for STM32G0 devices
 EAPI=7
 HOMEPAGE=https://crates.io/crates/stm32g0
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/bare-metal-0.2.4:= <dev-rust/bare-metal-0.3.0 >=dev-rust/cortex-m-0.5.8:= <dev-rust/cortex-m-0.8.0 >=dev-rust/cortex-m-rt-0.6.10:= <dev-rust/cortex-m-rt-0.7.0 =dev-rust/vcell-0.1*:=
+RDEPEND=>=dev-rust/bare-metal-0.2.4:= <dev-rust/bare-metal-0.3.0 >=dev-rust/cortex-m-0.5.8:= <dev-rust/cortex-m-0.8.0 >=dev-rust/cortex-m-rt-0.6.10:= <dev-rust/cortex-m-rt-0.7.0 =dev-rust/vcell-0.1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.13.0/r0
 SRC_URI=https://crates.io/api/v1/crates/stm32g0/0.13.0/download -> stm32g0-0.13.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=209f2ca1227456f5912c5b5601b2d355
diff --git a/metadata/md5-cache/dev-rust/stm32g0xx-hal-0.1.0 b/metadata/md5-cache/dev-rust/stm32g0xx-hal-0.1.0
deleted file mode 100644
index a888c5e..0000000
--- a/metadata/md5-cache/dev-rust/stm32g0xx-hal-0.1.0
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bare-metal-1*:= >=dev-rust/cortex-m-0.7.1:= <dev-rust/cortex-m-0.8.0 >=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0 =dev-rust/nb-1*:= =dev-rust/stm32g0-0.13*:= >=dev-rust/void-1.0.2:= <dev-rust/void-2.0.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Peripheral access API for STM32G0 series microcontrollers
-EAPI=7
-HOMEPAGE=https://crates.io/crates/stm32g0xx-hal
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/bare-metal-1*:= >=dev-rust/cortex-m-0.7.1:= <dev-rust/cortex-m-0.8.0 >=dev-rust/embedded-hal-0.2.4:= <dev-rust/embedded-hal-0.3.0 =dev-rust/nb-1*:= =dev-rust/stm32g0-0.13*:= >=dev-rust/void-1.0.2:= <dev-rust/void-2.0.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-RESTRICT=test
-SLOT=0.1.0/r0
-SRC_URI=https://crates.io/api/v1/crates/stm32g0xx-hal/0.1.0/download -> stm32g0xx-hal-0.1.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=db9ba9283e65071d13564a6fab4efd08
diff --git a/metadata/md5-cache/dev-rust/stm32g0xx-hal-0.1.5 b/metadata/md5-cache/dev-rust/stm32g0xx-hal-0.1.5
new file mode 100644
index 0000000..64ea980
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/stm32g0xx-hal-0.1.5
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/bare-metal-1*:= >=dev-rust/cortex-m-0.7.1 <dev-rust/cortex-m-0.8.0_alpha:= >=dev-rust/embedded-hal-0.2.6 <dev-rust/embedded-hal-0.3.0_alpha:= =dev-rust/nb-1*:= =dev-rust/stm32g0-0.13*:= >=dev-rust/void-1.0.2 <dev-rust/void-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Peripheral access API for STM32G0 series microcontrollers
+EAPI=7
+HOMEPAGE=https://crates.io/crates/stm32g0xx-hal
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/bare-metal-1*:= >=dev-rust/cortex-m-0.7.1 <dev-rust/cortex-m-0.8.0_alpha:= >=dev-rust/embedded-hal-0.2.6 <dev-rust/embedded-hal-0.3.0_alpha:= =dev-rust/nb-1*:= =dev-rust/stm32g0-0.13*:= >=dev-rust/void-1.0.2 <dev-rust/void-2.0.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.1.5/r0
+SRC_URI=https://crates.io/api/v1/crates/stm32g0xx-hal/0.1.5/download -> stm32g0xx-hal-0.1.5.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b20bb883e67b105ee6db864ea89c3909
diff --git a/metadata/md5-cache/dev-rust/string-0.2.1 b/metadata/md5-cache/dev-rust/string-0.2.1
deleted file mode 100644
index 9b6099c..0000000
--- a/metadata/md5-cache/dev-rust/string-0.2.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bytes-0.4:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A UTF-8 encoded string with configurable byte storage.
-EAPI=6
-HOMEPAGE=https://github.com/carllerche/string
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.2.1/r0
-SRC_URI=https://crates.io/api/v1/crates/string/0.2.1/download -> string-0.2.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=3c17b654150aaf83969149884f191bdf
diff --git a/metadata/md5-cache/dev-rust/strsim-0.10.0 b/metadata/md5-cache/dev-rust/strsim-0.10.0
index 6de42ae..7324a00 100644
--- a/metadata/md5-cache/dev-rust/strsim-0.10.0
+++ b/metadata/md5-cache/dev-rust/strsim-0.10.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Implementations of string similarity metrics. Includes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro, Jaro-Winkler, and Sørensen-Dice.
 EAPI=7
 HOMEPAGE=https://github.com/dguo/strsim-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.10.0/r0
 SRC_URI=https://crates.io/api/v1/crates/strsim/0.10.0/download -> strsim-0.10.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=c58f758748917cc5b3b2ebb8ca0cb3f9
diff --git a/metadata/md5-cache/dev-rust/strsim-0.8.0 b/metadata/md5-cache/dev-rust/strsim-0.8.0
index 19beeae..6e47a5d 100644
--- a/metadata/md5-cache/dev-rust/strsim-0.8.0
+++ b/metadata/md5-cache/dev-rust/strsim-0.8.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Implementations of string similarity metrics.
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/dguo/strsim-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.8.0/r0
 SRC_URI=https://crates.io/api/v1/crates/strsim/0.8.0/download -> strsim-0.8.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=f2a5717f1ffb813878d0dc6bed348dd2
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=fbb16d2949e6439af343e73b64131552
diff --git a/metadata/md5-cache/dev-rust/strsim-0.8.0-r1 b/metadata/md5-cache/dev-rust/strsim-0.8.0-r1
index 130282b..5dc3b36 100644
--- a/metadata/md5-cache/dev-rust/strsim-0.8.0-r1
+++ b/metadata/md5-cache/dev-rust/strsim-0.8.0-r1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Implementations of string similarity metrics.
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/dguo/strsim-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.8.0/r1
 SRC_URI=https://crates.io/api/v1/crates/strsim/0.8.0/download -> strsim-0.8.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=f2a5717f1ffb813878d0dc6bed348dd2
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=fbb16d2949e6439af343e73b64131552
diff --git a/metadata/md5-cache/dev-rust/structopt-0.3.20 b/metadata/md5-cache/dev-rust/structopt-0.3.20
index 0eb4ba9..3b1f45a 100644
--- a/metadata/md5-cache/dev-rust/structopt-0.3.20
+++ b/metadata/md5-cache/dev-rust/structopt-0.3.20
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/clap-2.33.0:= <dev-rust/clap-3 >=dev-rust/lazy_static-1.4.0:= <dev-rust/lazy_static-2.0.0 =dev-rust/structopt-derive-0.4.13:= =dev-rust/paw-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/clap-2.33.0:= <dev-rust/clap-3 >=dev-rust/lazy_static-1.4.0:= <dev-rust/lazy_static-2.0.0 =dev-rust/structopt-derive-0.4.13:= =dev-rust/paw-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Parse command line arguments by defining a struct.
 EAPI=7
 HOMEPAGE=https://github.com/TeXitoi/structopt
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.3.20/r0
 SRC_URI=https://crates.io/api/v1/crates/structopt/0.3.20/download -> structopt-0.3.20.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=331960bf697cdc442a476fad09e6a9d9
diff --git a/metadata/md5-cache/dev-rust/structopt-0.3.26 b/metadata/md5-cache/dev-rust/structopt-0.3.26
new file mode 100644
index 0000000..62d5843
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/structopt-0.3.26
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/clap-2.33.0 <dev-rust/clap-3.0.0_alpha:= >=dev-rust/lazy_static-1.4.0 <dev-rust/lazy_static-2.0.0_alpha:= =dev-rust/paw-1*:= ~dev-rust/structopt-derive-0.4.18:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Parse command line argument by defining a struct.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/structopt
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( Apache-2.0 MIT )
+RDEPEND=>=dev-rust/clap-2.33.0 <dev-rust/clap-3.0.0_alpha:= >=dev-rust/lazy_static-1.4.0 <dev-rust/lazy_static-2.0.0_alpha:= =dev-rust/paw-1*:= ~dev-rust/structopt-derive-0.4.18:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.3.26/r0
+SRC_URI=https://crates.io/api/v1/crates/structopt/0.3.26/download -> structopt-0.3.26.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=cf195f22e1cd7549cd10862b8be47fa0
diff --git a/metadata/md5-cache/dev-rust/structopt-derive-0.4.13 b/metadata/md5-cache/dev-rust/structopt-derive-0.4.13
index 9f70c56..70705e4 100644
--- a/metadata/md5-cache/dev-rust/structopt-derive-0.4.13
+++ b/metadata/md5-cache/dev-rust/structopt-derive-0.4.13
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/heck-0.3*:= =dev-rust/proc-macro2-1*:= =dev-rust/proc-macro-error-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/heck-0.3*:= =dev-rust/proc-macro2-1*:= =dev-rust/proc-macro-error-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Parse command line argument by defining a struct, derive crate
 EAPI=7
 HOMEPAGE=https://github.com/TeXitoi/structopt
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.4.13/r0
 SRC_URI=https://crates.io/api/v1/crates/structopt-derive/0.4.13/download -> structopt-derive-0.4.13.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=cf83464df47082c784dae2bf8054d4aa
diff --git a/metadata/md5-cache/dev-rust/structopt-derive-0.4.18 b/metadata/md5-cache/dev-rust/structopt-derive-0.4.18
new file mode 100644
index 0000000..5ea85fb
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/structopt-derive-0.4.18
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/heck-0.3*:= =dev-rust/proc-macro-error-1*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Parse command line argument by defining a struct, derive crate.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/structopt-derive
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( Apache-2.0 MIT )
+RDEPEND==dev-rust/heck-0.3*:= =dev-rust/proc-macro-error-1*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.4.18/r0
+SRC_URI=https://crates.io/api/v1/crates/structopt-derive/0.4.18/download -> structopt-derive-0.4.18.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9de43caafbaf95a05f7a3f70a3b10f76
diff --git a/metadata/md5-cache/dev-rust/sval-1.0.0 b/metadata/md5-cache/dev-rust/sval-1.0.0
index 5fbd3f9..e696560 100644
--- a/metadata/md5-cache/dev-rust/sval-1.0.0
+++ b/metadata/md5-cache/dev-rust/sval-1.0.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty sval crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=eebfd99c03729092f422b6acfa37c16c
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=402783165b9a92d1652d7ee105b0b8b4
diff --git a/metadata/md5-cache/dev-rust/svd-parser-0.12.0 b/metadata/md5-cache/dev-rust/svd-parser-0.12.0
index 70e61e1..0aa8f6d 100644
--- a/metadata/md5-cache/dev-rust/svd-parser-0.12.0
+++ b/metadata/md5-cache/dev-rust/svd-parser-0.12.0
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/anyhow-1.0.45 <dev-rust/anyhow-2.0.0_alpha:= >=dev-rust/roxmltree-0.14.1 <dev-rust/roxmltree-0.15.0_alpha:= =dev-rust/svd-rs-0.12*:= >=dev-rust/thiserror-1.0.30 <dev-rust/thiserror-2.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/anyhow-1.0.45 <dev-rust/anyhow-2.0.0_alpha:= >=dev-rust/roxmltree-0.14.1 <dev-rust/roxmltree-0.15.0_alpha:= =dev-rust/svd-rs-0.12*:= >=dev-rust/thiserror-1.0.30 <dev-rust/thiserror-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A CMSIS-SVD file parser
 EAPI=7
 HOMEPAGE=https://crates.io/crates/svd-parser
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/anyhow-1.0.45 <dev-rust/anyhow-2.0.0_alpha:= >=dev-rust/roxmltree-0.14.1 <dev-rust/roxmltree-0.15.0_alpha:= =dev-rust/svd-rs-0.12*:= >=dev-rust/thiserror-1.0.30 <dev-rust/thiserror-2.0.0_alpha:=
+RDEPEND=>=dev-rust/anyhow-1.0.45 <dev-rust/anyhow-2.0.0_alpha:= >=dev-rust/roxmltree-0.14.1 <dev-rust/roxmltree-0.15.0_alpha:= =dev-rust/svd-rs-0.12*:= >=dev-rust/thiserror-1.0.30 <dev-rust/thiserror-2.0.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.12.0/r0
 SRC_URI=https://crates.io/api/v1/crates/svd-parser/0.12.0/download -> svd-parser-0.12.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=ffcbb9c56b3ffee18e1492883f0a8bb2
diff --git a/metadata/md5-cache/dev-rust/svd-rs-0.12.1 b/metadata/md5-cache/dev-rust/svd-rs-0.12.1
index 4dbde34..5752dbf 100644
--- a/metadata/md5-cache/dev-rust/svd-rs-0.12.1
+++ b/metadata/md5-cache/dev-rust/svd-rs-0.12.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/once_cell-1.8.0 <dev-rust/once_cell-2.0.0_alpha:= =dev-rust/regex-1*:= =dev-rust/serde-1*:= >=dev-rust/thiserror-1.0.5 <dev-rust/thiserror-2.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/once_cell-1.8.0 <dev-rust/once_cell-2.0.0_alpha:= =dev-rust/regex-1*:= =dev-rust/serde-1*:= >=dev-rust/thiserror-1.0.5 <dev-rust/thiserror-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A CMSIS-SVD base structures
 EAPI=7
 HOMEPAGE=https://crates.io/crates/svd-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/once_cell-1.8.0 <dev-rust/once_cell-2.0.0_alpha:= =dev-rust/regex-1*:= =dev-rust/serde-1*:= >=dev-rust/thiserror-1.0.5 <dev-rust/thiserror-2.0.0_alpha:=
+RDEPEND=>=dev-rust/once_cell-1.8.0 <dev-rust/once_cell-2.0.0_alpha:= =dev-rust/regex-1*:= =dev-rust/serde-1*:= >=dev-rust/thiserror-1.0.5 <dev-rust/thiserror-2.0.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.12.1/r0
 SRC_URI=https://crates.io/api/v1/crates/svd-rs/0.12.1/download -> svd-rs-0.12.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=aca2a151bfefb02efe06bf0d5210b861
diff --git a/metadata/md5-cache/dev-rust/svd2rust-0.20.0 b/metadata/md5-cache/dev-rust/svd2rust-0.20.0
index 764b3ca..3180697 100644
--- a/metadata/md5-cache/dev-rust/svd2rust-0.20.0
+++ b/metadata/md5-cache/dev-rust/svd2rust-0.20.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/anyhow-1*:= =dev-rust/cast-0.3*:= >=dev-rust/clap-2.33.0 <dev-rust/clap-3.0.0_alpha:= >=dev-rust/clap_conf-0.1.5 <dev-rust/clap_conf-0.2.0_alpha:= =dev-rust/env_logger-0.9*:= >=dev-rust/inflections-1.1.0 <dev-rust/inflections-2.0.0_alpha:= =dev-rust/log-0.4*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/svd-parser-0.12*:= =dev-rust/syn-1*:= =dev-rust/thiserror-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/anyhow-1*:= =dev-rust/cast-0.3*:= >=dev-rust/clap-2.33.0 <dev-rust/clap-3.0.0_alpha:= >=dev-rust/clap_conf-0.1.5 <dev-rust/clap_conf-0.2.0_alpha:= =dev-rust/env_logger-0.9*:= >=dev-rust/inflections-1.1.0 <dev-rust/inflections-2.0.0_alpha:= =dev-rust/log-0.4*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/svd-parser-0.12*:= =dev-rust/syn-1*:= =dev-rust/thiserror-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Generate Rust register maps ("struct"s) from SVD files
 EAPI=7
 HOMEPAGE=https://crates.io/crates/svd2rust
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/anyhow-1*:= =dev-rust/cast-0.3*:= >=dev-rust/clap-2.33.0 <dev-rust/clap-3.0.0_alpha:= >=dev-rust/clap_conf-0.1.5 <dev-rust/clap_conf-0.2.0_alpha:= =dev-rust/env_logger-0.9*:= >=dev-rust/inflections-1.1.0 <dev-rust/inflections-2.0.0_alpha:= =dev-rust/log-0.4*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/svd-parser-0.12*:= =dev-rust/syn-1*:= =dev-rust/thiserror-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.20.0/r0
 SRC_URI=https://crates.io/api/v1/crates/svd2rust/0.20.0/download -> svd2rust-0.20.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=634d4c2faa2d8a71e857752698ce91ef
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4bedc6d1bc0fdf511245f95eca294a51
diff --git a/metadata/md5-cache/dev-rust/svd2rust-0.20.0-r1 b/metadata/md5-cache/dev-rust/svd2rust-0.20.0-r1
deleted file mode 100644
index 970c8833..0000000
--- a/metadata/md5-cache/dev-rust/svd2rust-0.20.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/anyhow-1*:= =dev-rust/cast-0.3*:= >=dev-rust/clap-2.33.0 <dev-rust/clap-3.0.0_alpha:= >=dev-rust/clap_conf-0.1.5 <dev-rust/clap_conf-0.2.0_alpha:= =dev-rust/env_logger-0.9*:= >=dev-rust/inflections-1.1.0 <dev-rust/inflections-2.0.0_alpha:= =dev-rust/log-0.4*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/svd-parser-0.12*:= =dev-rust/syn-1*:= =dev-rust/thiserror-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Generate Rust register maps ("struct"s) from SVD files
-EAPI=7
-HOMEPAGE=https://crates.io/crates/svd2rust
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.20.0/r1
-SRC_URI=https://crates.io/api/v1/crates/svd2rust/0.20.0/download -> svd2rust-0.20.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=634d4c2faa2d8a71e857752698ce91ef
diff --git a/metadata/md5-cache/dev-rust/svd2rust-0.20.0-r2 b/metadata/md5-cache/dev-rust/svd2rust-0.20.0-r2
new file mode 100644
index 0000000..6b888e7b
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/svd2rust-0.20.0-r2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/anyhow-1*:= =dev-rust/cast-0.3*:= >=dev-rust/clap-2.33.0 <dev-rust/clap-3.0.0_alpha:= >=dev-rust/clap_conf-0.1.5 <dev-rust/clap_conf-0.2.0_alpha:= =dev-rust/env_logger-0.9*:= >=dev-rust/inflections-1.1.0 <dev-rust/inflections-2.0.0_alpha:= =dev-rust/log-0.4*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/svd-parser-0.12*:= =dev-rust/syn-1*:= =dev-rust/thiserror-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Generate Rust register maps ("struct"s) from SVD files
+EAPI=7
+HOMEPAGE=https://crates.io/crates/svd2rust
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/anyhow-1*:= =dev-rust/cast-0.3*:= >=dev-rust/clap-2.33.0 <dev-rust/clap-3.0.0_alpha:= >=dev-rust/clap_conf-0.1.5 <dev-rust/clap_conf-0.2.0_alpha:= =dev-rust/env_logger-0.9*:= >=dev-rust/inflections-1.1.0 <dev-rust/inflections-2.0.0_alpha:= =dev-rust/log-0.4*:= =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/svd-parser-0.12*:= =dev-rust/syn-1*:= =dev-rust/thiserror-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.20.0/r2
+SRC_URI=https://crates.io/api/v1/crates/svd2rust/0.20.0/download -> svd2rust-0.20.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4bedc6d1bc0fdf511245f95eca294a51
diff --git a/metadata/md5-cache/dev-rust/syn-0.15.26-r1 b/metadata/md5-cache/dev-rust/syn-0.15.26-r1
index 3b66572..054e7b5 100644
--- a/metadata/md5-cache/dev-rust/syn-0.15.26-r1
+++ b/metadata/md5-cache/dev-rust/syn-0.15.26-r1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/proc-macro2-0.4.4:= <dev-rust/proc-macro2-0.5.0 =dev-rust/quote-0.6*:= =dev-rust/unicode-xid-0.1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/proc-macro2-0.4.4:= <dev-rust/proc-macro2-0.5.0 =dev-rust/quote-0.6*:= =dev-rust/unicode-xid-0.1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Parser for rust source code
 EAPI=7
 HOMEPAGE=https://github.com/dtolnay/syn
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/proc-macro2-0.4.4:= <dev-rust/proc-macro2-0.5.0 =dev-rust/quote-0.6*:= =dev-rust/unicode-xid-0.1*:=
+RDEPEND=>=dev-rust/proc-macro2-0.4.4:= <dev-rust/proc-macro2-0.5.0 =dev-rust/quote-0.6*:= =dev-rust/unicode-xid-0.1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.15.26/r1
 SRC_URI=https://crates.io/api/v1/crates/syn/0.15.26/download -> syn-0.15.26.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=5d192d9c67f8278e4be07e857fd485c1
diff --git a/metadata/md5-cache/dev-rust/syn-1.0.72 b/metadata/md5-cache/dev-rust/syn-1.0.72
index 143335f..4a91aec 100644
--- a/metadata/md5-cache/dev-rust/syn-1.0.72
+++ b/metadata/md5-cache/dev-rust/syn-1.0.72
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/proc-macro2-1.0.26:= <dev-rust/proc-macro2-2.0.0 =dev-rust/quote-1*:= =dev-rust/unicode-xid-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/proc-macro2-1.0.26:= <dev-rust/proc-macro2-2.0.0 =dev-rust/quote-1*:= =dev-rust/unicode-xid-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Parser for Rust source code
 EAPI=7
 HOMEPAGE=https://crates.io/crates/syn
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/proc-macro2-1.0.26:= <dev-rust/proc-macro2-2.0.0 =dev-rust/quote-1*:= =dev-rust/unicode-xid-0.2*:=
+RDEPEND=>=dev-rust/proc-macro2-1.0.26:= <dev-rust/proc-macro2-2.0.0 =dev-rust/quote-1*:= =dev-rust/unicode-xid-0.2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=1.0.72/r0
 SRC_URI=https://crates.io/api/v1/crates/syn/1.0.72/download -> syn-1.0.72.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=0c0b2ed919b8430f4e26ca1a555ccf73
diff --git a/metadata/md5-cache/dev-rust/syn-1.0.91 b/metadata/md5-cache/dev-rust/syn-1.0.91
new file mode 100644
index 0000000..f3ed0ed
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/syn-1.0.91
@@ -0,0 +1,15 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/proc-macro2-1.0.32 <dev-rust/proc-macro2-2.0.0_alpha:= =dev-rust/quote-1*:= =dev-rust/unicode-xid-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Parser for Rust source code
+EAPI=7
+HOMEPAGE=https://crates.io/crates/syn
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/proc-macro2-1.0.32 <dev-rust/proc-macro2-2.0.0_alpha:= =dev-rust/quote-1*:= =dev-rust/unicode-xid-0.2*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+RESTRICT=test
+SLOT=1.0.91/r0
+SRC_URI=https://crates.io/api/v1/crates/syn/1.0.91/download -> syn-1.0.91.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=86d9ded7a8082265c4a066e7337b58da
diff --git a/metadata/md5-cache/dev-rust/sync-0.1.0-r19 b/metadata/md5-cache/dev-rust/sync-0.1.0-r19
deleted file mode 100644
index 5499751..0000000
--- a/metadata/md5-cache/dev-rust/sync-0.1.0-r19
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Containing a type sync::Mutex which wraps the standard library Mutex and mirrors the same methods
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/sync
-IUSE=test cros_host cros_workon_tree_af21c512e6b9981138e4df7664dab87bf004b04b_657879d7112bd65f190dbbf687daca14399681d0 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=!!<=dev-rust/sync-0.1.0-r6
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r19
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=dec300f47972d9bc224645e020716964
diff --git a/metadata/md5-cache/dev-rust/sync-0.1.149-r1 b/metadata/md5-cache/dev-rust/sync-0.1.149-r1
new file mode 100644
index 0000000..e5e9f97
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/sync-0.1.149-r1
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Containing a type sync::Mutex which wraps the standard library Mutex and mirrors the same methods
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/sync
+IUSE=test cros_host cros_workon_tree_ed58383bff970e82eebd1d963416d17aa7b3a66d_a920b8bc18a923d5cfa6abfb5390bc903526beef cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=!!<=dev-rust/sync-0.1.0-r6 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.149-r1
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d723e39379f214c4968603540ecd373e
diff --git a/metadata/md5-cache/dev-rust/sync-9999 b/metadata/md5-cache/dev-rust/sync-9999
index 23bcfab..b90b52a 100644
--- a/metadata/md5-cache/dev-rust/sync-9999
+++ b/metadata/md5-cache/dev-rust/sync-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Containing a type sync::Mutex which wraps the standard library Mutex and mirrors the same methods
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/sync
-IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=!!<=dev-rust/sync-0.1.0-r6
+RDEPEND=!!<=dev-rust/sync-0.1.0-r6 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=53e28f8bf85706a86f1f1d23fb653f52
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4f9929b816835e3a299ad7438bfb927f
diff --git a/metadata/md5-cache/dev-rust/synstructure-0.12.4 b/metadata/md5-cache/dev-rust/synstructure-0.12.4
index 47015a0..a27a506 100644
--- a/metadata/md5-cache/dev-rust/synstructure-0.12.4
+++ b/metadata/md5-cache/dev-rust/synstructure-0.12.4
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= =dev-rust/unicode-xid-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= =dev-rust/unicode-xid-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=This crate provides helper types for matching against enum variants, and extracting bindings to each of the fields in the deriving Struct or Enum in a generic way
 EAPI=7
 HOMEPAGE=https://crates.io/crates/synstructure
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= =dev-rust/unicode-xid-0.2*:=
+RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= =dev-rust/unicode-xid-0.2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.12.4/r0
 SRC_URI=https://crates.io/api/v1/crates/synstructure/0.12.4/download -> synstructure-0.12.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=c2e1414403da5267fc49ce509106320b
diff --git a/metadata/md5-cache/dev-rust/synstructure_test_traits-0.1.0 b/metadata/md5-cache/dev-rust/synstructure_test_traits-0.1.0
index fd2ca486..5e55d92 100644
--- a/metadata/md5-cache/dev-rust/synstructure_test_traits-0.1.0
+++ b/metadata/md5-cache/dev-rust/synstructure_test_traits-0.1.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty synstructure_test_traits crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/sys-info-0.5.7 b/metadata/md5-cache/dev-rust/sys-info-0.5.7
deleted file mode 100644
index c97aedff..0000000
--- a/metadata/md5-cache/dev-rust/sys-info-0.5.7
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2:= =dev-rust/cc-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Get system information in Rust
-EAPI=6
-HOMEPAGE=https://github.com/FillZpp/sys-info-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.5.7/r0
-SRC_URI=https://crates.io/api/v1/crates/sys-info/0.5.7/download -> sys-info-0.5.7.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=3637c53dac713437c2e85a33b9e82e16
diff --git a/metadata/md5-cache/dev-rust/sys-info-0.9.1 b/metadata/md5-cache/dev-rust/sys-info-0.9.1
new file mode 100644
index 0000000..5b80548
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/sys-info-0.9.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/libc-0.2:= =dev-rust/cc-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Get system information in Rust
+EAPI=7
+HOMEPAGE=https://github.com/FillZpp/sys-info-rs
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.9.1/r0
+SRC_URI=https://crates.io/api/v1/crates/sys-info/0.9.1/download -> sys-info-0.9.1.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=bf3b23e0261e344da2407cae47d774ee
diff --git a/metadata/md5-cache/dev-rust/sys_util-0.1.0-r198 b/metadata/md5-cache/dev-rust/sys_util-0.1.0-r198
deleted file mode 100644
index 6671e4e..0000000
--- a/metadata/md5-cache/dev-rust/sys_util-0.1.0-r198
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/android_log-sys-0.2*:= dev-rust/assertions:= dev-rust/sys_util_core:= dev-rust/data_model:= >=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= =dev-rust/syn-1*:= dev-rust/sync:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 sys-libs/libcap:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Small system utility modules for usage by other modules.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/sys_util
-IUSE=test cros_host cros_workon_tree_9a3194a3b312dea502b03dab12b6dd907cab1780_657879d7112bd65f190dbbf687daca14399681d0 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND==dev-rust/android_log-sys-0.2*:= dev-rust/assertions:= dev-rust/sys_util_core:= dev-rust/data_model:= >=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= =dev-rust/syn-1*:= dev-rust/sync:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 sys-libs/libcap:= !!<=dev-rust/sys_util-0.1.0-r60
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r198
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d5165f970e29c9d8790c6d5f6e486878
diff --git a/metadata/md5-cache/dev-rust/sys_util-0.1.0-r206 b/metadata/md5-cache/dev-rust/sys_util-0.1.0-r206
new file mode 100644
index 0000000..bd363dc
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/sys_util-0.1.0-r206
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/android_log-sys-0.2*:= dev-rust/assertions:= dev-rust/sys_util_core:= dev-rust/data_model:= >=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= =dev-rust/syn-1*:= dev-rust/sync:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 sys-libs/libcap:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Small system utility modules for usage by other modules.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/sys_util
+IUSE=test cros_host cros_workon_tree_38989e6bcb3123982d0c467ade366c30751a860a_a920b8bc18a923d5cfa6abfb5390bc903526beef cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND==dev-rust/android_log-sys-0.2*:= dev-rust/assertions:= dev-rust/sys_util_core:= dev-rust/data_model:= >=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= =dev-rust/syn-1*:= dev-rust/sync:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 sys-libs/libcap:= !!<=dev-rust/sys_util-0.1.0-r60 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r206
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7884f2be18064bea6fb9fe29f870c57e
diff --git a/metadata/md5-cache/dev-rust/sys_util-9999 b/metadata/md5-cache/dev-rust/sys_util-9999
index f845dd4..9a34790 100644
--- a/metadata/md5-cache/dev-rust/sys_util-9999
+++ b/metadata/md5-cache/dev-rust/sys_util-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/android_log-sys-0.2*:= dev-rust/assertions:= dev-rust/sys_util_core:= dev-rust/data_model:= >=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= =dev-rust/syn-1*:= dev-rust/sync:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 sys-libs/libcap:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/android_log-sys-0.2*:= dev-rust/assertions:= dev-rust/sys_util_core:= dev-rust/data_model:= >=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= =dev-rust/syn-1*:= dev-rust/sync:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 sys-libs/libcap:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Small system utility modules for usage by other modules.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/sys_util
-IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND==dev-rust/android_log-sys-0.2*:= dev-rust/assertions:= dev-rust/sys_util_core:= dev-rust/data_model:= >=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= =dev-rust/syn-1*:= dev-rust/sync:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 sys-libs/libcap:= !!<=dev-rust/sys_util-0.1.0-r60
+RDEPEND==dev-rust/android_log-sys-0.2*:= dev-rust/assertions:= dev-rust/sys_util_core:= dev-rust/data_model:= >=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= =dev-rust/syn-1*:= dev-rust/sync:= dev-rust/tempfile:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 sys-libs/libcap:= !!<=dev-rust/sys_util-0.1.0-r60 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0d506784284d2a990fd2a1c88156f563
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b672d51afb1184bf93b2acb754a94d8e
diff --git a/metadata/md5-cache/dev-rust/sys_util_core-0.1.0-r2 b/metadata/md5-cache/dev-rust/sys_util_core-0.1.0-r2
deleted file mode 100644
index e6a4c37..0000000
--- a/metadata/md5-cache/dev-rust/sys_util_core-0.1.0-r2
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0 =dev-rust/remain-0.2*:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Internal dependency of dev-rust/sys_util. Do not use directly
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/common/sys_util_core
-IUSE=test cros_host cros_workon_tree_74abdd11e59b7e540f5df99f6235e4cd890ee3e3_657879d7112bd65f190dbbf687daca14399681d0 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=>=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0 =dev-rust/remain-0.2*:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 !<dev-rust/sys_util-0.1.0-r197
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r2
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=8c870e131038b6a0e2be6f1b8875d011
diff --git a/metadata/md5-cache/dev-rust/sys_util_core-0.1.0-r8 b/metadata/md5-cache/dev-rust/sys_util_core-0.1.0-r8
new file mode 100644
index 0000000..09a18eb
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/sys_util_core-0.1.0-r8
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0 =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Internal dependency of dev-rust/sys_util. Do not use directly
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/common/sys_util_core
+IUSE=test cros_host cros_workon_tree_2e81210aa1a57e94b0ba73a3c478e68e1af94e73_a920b8bc18a923d5cfa6abfb5390bc903526beef cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=>=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0 =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 !<dev-rust/sys_util-0.1.0-r197 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r8
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=80af65289934fb1ef86defd572b68be1
diff --git a/metadata/md5-cache/dev-rust/sys_util_core-9999 b/metadata/md5-cache/dev-rust/sys_util_core-9999
index e340141..b51430b 100644
--- a/metadata/md5-cache/dev-rust/sys_util_core-9999
+++ b/metadata/md5-cache/dev-rust/sys_util_core-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0 =dev-rust/remain-0.2*:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0 =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Internal dependency of dev-rust/sys_util. Do not use directly
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/common/sys_util_core
-IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=>=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0 =dev-rust/remain-0.2*:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 !<dev-rust/sys_util-0.1.0-r197
+RDEPEND=>=dev-rust/libc-0.2.93:= <dev-rust/libc-0.3.0 =dev-rust/remain-0.2*:= =dev-rust/serde-1*:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 !<dev-rust/sys_util-0.1.0-r197 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ca125740049e34d4faec2847e01d740b
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=157e91ccfc877529157498a2c9b716ae
diff --git a/metadata/md5-cache/dev-rust/sysfs_gpio-0.6.1 b/metadata/md5-cache/dev-rust/sysfs_gpio-0.6.1
index feb6a20..cb35e75 100644
--- a/metadata/md5-cache/dev-rust/sysfs_gpio-0.6.1
+++ b/metadata/md5-cache/dev-rust/sysfs_gpio-0.6.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/futures-0.3*:= =dev-rust/mio-0.8*:= =dev-rust/nix-0.23*:= =dev-rust/tokio-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/futures-0.3*:= =dev-rust/mio-0.8*:= =dev-rust/nix-0.23*:= =dev-rust/tokio-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Provides access to GPIOs using the Linux sysfs interface.
 EAPI=7
 HOMEPAGE=https://github.com/rust-embedded/rust-sysfs-gpio
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/futures-0.3*:= =dev-rust/mio-0.8*:= =dev-rust/nix-0.23*:= =dev-rust/tokio-1*:=
+RDEPEND==dev-rust/futures-0.3*:= =dev-rust/mio-0.8*:= =dev-rust/nix-0.23*:= =dev-rust/tokio-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.6.1/r0
 SRC_URI=https://crates.io/api/v1/crates/sysfs_gpio/0.6.1/download -> sysfs_gpio-0.6.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e7a92354850dca396e7fd037237ad259
diff --git a/metadata/md5-cache/dev-rust/syslog-4.0.1-r1 b/metadata/md5-cache/dev-rust/syslog-4.0.1-r1
deleted file mode 100644
index 25c792c..0000000
--- a/metadata/md5-cache/dev-rust/syslog-4.0.1-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/error-chain-0.11.0:= >=dev-rust/libc-0.2.0:= >=dev-rust/log-0.4.1:= >=dev-rust/time-0.1.0:= >=dev-rust/unix_socket-0.5.0:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Send log messages to syslog.
-EAPI=7
-HOMEPAGE=https://github.com/Geal/rust-syslog
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=4.0.1/r1
-SRC_URI=https://crates.io/api/v1/crates/syslog/4.0.1/download -> syslog-4.0.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d687fec7f98917aff922afd0ac9fda2c
diff --git a/metadata/md5-cache/dev-rust/syslog-4.0.1-r2 b/metadata/md5-cache/dev-rust/syslog-4.0.1-r2
new file mode 100644
index 0000000..f5e7b99
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/syslog-4.0.1-r2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/error-chain-0.11*:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/time-0.1*:= =dev-rust/unix_socket-0.5*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Send log messages to syslog.
+EAPI=7
+HOMEPAGE=https://github.com/Geal/rust-syslog
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/error-chain-0.11*:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/time-0.1*:= =dev-rust/unix_socket-0.5*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=4.0.1/r2
+SRC_URI=https://crates.io/api/v1/crates/syslog/4.0.1/download -> syslog-4.0.1.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=793f9809009525778681085ca501cebe
diff --git a/metadata/md5-cache/dev-rust/syslog-6.0.1 b/metadata/md5-cache/dev-rust/syslog-6.0.1
new file mode 100644
index 0000000..7f637f8
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/syslog-6.0.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/error-chain-0.12.2 <dev-rust/error-chain-0.13.0_alpha:= >=dev-rust/hostname-0.3.1 <dev-rust/hostname-0.4.0_alpha:= >=dev-rust/libc-0.2.112 <dev-rust/libc-0.3.0_alpha:= >=dev-rust/log-0.4.8 <dev-rust/log-0.5.0_alpha:= >=dev-rust/time-0.3.5 <dev-rust/time-0.4.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Send log messages to syslog
+EAPI=7
+HOMEPAGE=https://crates.io/crates/syslog
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=>=dev-rust/error-chain-0.12.2 <dev-rust/error-chain-0.13.0_alpha:= >=dev-rust/hostname-0.3.1 <dev-rust/hostname-0.4.0_alpha:= >=dev-rust/libc-0.2.112 <dev-rust/libc-0.3.0_alpha:= >=dev-rust/log-0.4.8 <dev-rust/log-0.5.0_alpha:= >=dev-rust/time-0.3.5 <dev-rust/time-0.4.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=6.0.1/r0
+SRC_URI=https://crates.io/api/v1/crates/syslog/6.0.1/download -> syslog-6.0.1.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=82a3692b28a6f5634519824dbbbf743f
diff --git a/metadata/md5-cache/dev-rust/system_api-0.24.53-r397 b/metadata/md5-cache/dev-rust/system_api-0.24.53-r397
deleted file mode 100644
index b6f555c..0000000
--- a/metadata/md5-cache/dev-rust/system_api-0.24.53-r397
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= >=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3 >=dev-rust/protoc-rust-2.16.2:= <dev-rust/protoc-rust-3 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Chrome OS system API D-Bus bindings for Rust.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/system_api/
-IUSE=cros_host cros_workon_tree_1598b683b53518d752c086851a508c90976b55da_a0d8550678a1ed2a4ab62782049032a024bf40df_ce5574dce15ac01944baf617d8b52ead9dca5c98_51b217ebe9d2e2a749d0d8b01943858c3122191f_e54be0f555fddae41c01fbbcabed7ed7973d78f3_0fb497918a556fc7f79f1d7e5cede1d85be01409 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= >=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3 >=dev-rust/protoc-rust-2.16.2:= <dev-rust/protoc-rust-3 !chromeos-base/system_api-rust
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.24.53-r397
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6b3401508d6a42866289d7abe75f0adf
diff --git a/metadata/md5-cache/dev-rust/system_api-0.24.53-r581 b/metadata/md5-cache/dev-rust/system_api-0.24.53-r581
new file mode 100644
index 0000000..4c5d8e4
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/system_api-0.24.53-r581
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= >=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3 >=dev-rust/protoc-rust-2.16.2:= <dev-rust/protoc-rust-3 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Chrome OS system API D-Bus bindings for Rust.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/system_api/
+IUSE=cros_host cros_workon_tree_1341afbe61e8ddabb7a86b15e553b65d92db921d_a0d8550678a1ed2a4ab62782049032a024bf40df_a96eb8a2b84ea10696f5a6e64a2a3054dff17d99_c7bd7c1304c81d7c3da4a5a1c334537d2a9a8226_8829a5a24648f7ac6d85554f6e0e8bb8ac9cde29_f43eb63aebfc423dae23b8ea345bb79d455c0e7b_74d020c63f65b15d7fd8123e792b7c503561f297_ddd22f0572ba73430977571c1084513fb9c7fcc3_5807b49f2a89205c10a0208e1124edffbff205af cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= >=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3 >=dev-rust/protoc-rust-2.16.2:= <dev-rust/protoc-rust-3 !chromeos-base/system_api-rust virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.24.53-r581
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=187e660884c21da9db4cb342e9e0a3c7
diff --git a/metadata/md5-cache/dev-rust/system_api-9999 b/metadata/md5-cache/dev-rust/system_api-9999
index 0e68d34..ac447a6 100644
--- a/metadata/md5-cache/dev-rust/system_api-9999
+++ b/metadata/md5-cache/dev-rust/system_api-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= >=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3 >=dev-rust/protoc-rust-2.16.2:= <dev-rust/protoc-rust-3 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= >=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3 >=dev-rust/protoc-rust-2.16.2:= <dev-rust/protoc-rust-3 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Chrome OS system API D-Bus bindings for Rust.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/system_api/
-IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= >=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3 >=dev-rust/protoc-rust-2.16.2:= <dev-rust/protoc-rust-3 !chromeos-base/system_api-rust
+RDEPEND=dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= >=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3 >=dev-rust/protoc-rust-2.16.2:= <dev-rust/protoc-rust-3 !chromeos-base/system_api-rust virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=171d4149eeb5eca59397aa94fb4be42b
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0b14d5ce0c48a838d96839ed9639eb15
diff --git a/metadata/md5-cache/dev-rust/tempdir-0.3.7 b/metadata/md5-cache/dev-rust/tempdir-0.3.7
index 983f5af..c1c9df5 100644
--- a/metadata/md5-cache/dev-rust/tempdir-0.3.7
+++ b/metadata/md5-cache/dev-rust/tempdir-0.3.7
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/rand-0.4*:= =dev-rust/remove_dir_all-0.5*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/rand-0.4*:= =dev-rust/remove_dir_all-0.5*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A Rust library for creating a temporary directory and deleting its entire contents when the directory is dropped.
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang/tempdir
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/rand-0.4*:= =dev-rust/remove_dir_all-0.5*:=
+RDEPEND==dev-rust/rand-0.4*:= =dev-rust/remove_dir_all-0.5*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.7/r0
 SRC_URI=https://crates.io/api/v1/crates/tempdir/0.3.7/download -> tempdir-0.3.7.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=bf7940075e4fc5dda362bbcc4677ec74
diff --git a/metadata/md5-cache/dev-rust/tempdir-0.3.7-r3 b/metadata/md5-cache/dev-rust/tempdir-0.3.7-r3
index c2d40ee..71ca62e 100644
--- a/metadata/md5-cache/dev-rust/tempdir-0.3.7-r3
+++ b/metadata/md5-cache/dev-rust/tempdir-0.3.7-r3
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/rand-0.4*:= =dev-rust/remove_dir_all-0.5*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/rand-0.4*:= =dev-rust/remove_dir_all-0.5*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A Rust library for creating a temporary directory and deleting its entire contents when the directory is dropped.
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang/tempdir
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/rand-0.4*:= =dev-rust/remove_dir_all-0.5*:=
+RDEPEND==dev-rust/rand-0.4*:= =dev-rust/remove_dir_all-0.5*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.7/r3
 SRC_URI=https://crates.io/api/v1/crates/tempdir/0.3.7/download -> tempdir-0.3.7.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=bf7940075e4fc5dda362bbcc4677ec74
diff --git a/metadata/md5-cache/dev-rust/tempfile-3.2.0 b/metadata/md5-cache/dev-rust/tempfile-3.2.0
index ee89b4a..3f97981 100644
--- a/metadata/md5-cache/dev-rust/tempfile-3.2.0
+++ b/metadata/md5-cache/dev-rust/tempfile-3.2.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/cfg-if-1*:= =dev-rust/rand-0.8*:= =dev-rust/remove_dir_all-0.5*:= >=dev-rust/libc-0.2.27:= <dev-rust/libc-0.3.0_alpha >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/cfg-if-1*:= =dev-rust/rand-0.8*:= =dev-rust/remove_dir_all-0.5*:= >=dev-rust/libc-0.2.27:= <dev-rust/libc-0.3.0_alpha >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A library for managing temporary files and directories.
 EAPI=7
 HOMEPAGE=http://stebalien.com/projects/tempfile-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/cfg-if-1*:= =dev-rust/rand-0.8*:= =dev-rust/remove_dir_all-0.5*:= >=dev-rust/libc-0.2.27:= <dev-rust/libc-0.3.0_alpha
+RDEPEND==dev-rust/cfg-if-1*:= =dev-rust/rand-0.8*:= =dev-rust/remove_dir_all-0.5*:= >=dev-rust/libc-0.2.27:= <dev-rust/libc-0.3.0_alpha virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=3.2.0/r0
 SRC_URI=https://crates.io/api/v1/crates/tempfile/3.2.0/download -> tempfile-3.2.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=d62f5acc366109bcf46844038b0bcfba
diff --git a/metadata/md5-cache/dev-rust/term_size-0.3.0 b/metadata/md5-cache/dev-rust/term_size-0.3.0
index cdfedbf..702e481 100644
--- a/metadata/md5-cache/dev-rust/term_size-0.3.0
+++ b/metadata/md5-cache/dev-rust/term_size-0.3.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty term_size crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=611c760b759231009c177190d157e6d3
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0414dec0e6d3400ea6d0b36e892a24ec
diff --git a/metadata/md5-cache/dev-rust/termcolor-1.1.2 b/metadata/md5-cache/dev-rust/termcolor-1.1.2
index 96c5ef2..ac2cde7 100644
--- a/metadata/md5-cache/dev-rust/termcolor-1.1.2
+++ b/metadata/md5-cache/dev-rust/termcolor-1.1.2
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A simple cross platform library for writing colored text to a terminal.
 EAPI=7
 HOMEPAGE=https://github.com/BurntSushi/termcolor
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.1.2/r0
 SRC_URI=https://crates.io/api/v1/crates/termcolor/1.1.2/download -> termcolor-1.1.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=953ed7107cdf579f6ac70c33337ee432
diff --git a/metadata/md5-cache/dev-rust/terminal_size-0.1.12 b/metadata/md5-cache/dev-rust/terminal_size-0.1.12
index 84ee27b..c51ab75 100644
--- a/metadata/md5-cache/dev-rust/terminal_size-0.1.12
+++ b/metadata/md5-cache/dev-rust/terminal_size-0.1.12
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.12/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/terminal_size-0.1.17 b/metadata/md5-cache/dev-rust/terminal_size-0.1.17
new file mode 100644
index 0000000..8651cbc
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/terminal_size-0.1.17
@@ -0,0 +1,15 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/libc-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Gets the size of your Linux or Windows terminal
+EAPI=7
+HOMEPAGE=https://crates.io/crates/terminal_size
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/libc-0.2*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+RESTRICT=test
+SLOT=0.1.17/r0
+SRC_URI=https://crates.io/api/v1/crates/terminal_size/0.1.17/download -> terminal_size-0.1.17.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ab25a33cf2cfde4cb6c81860324c76b6
diff --git a/metadata/md5-cache/dev-rust/termion-1.5.1 b/metadata/md5-cache/dev-rust/termion-1.5.1
deleted file mode 100644
index 404b91b..0000000
--- a/metadata/md5-cache/dev-rust/termion-1.5.1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2.8:= >=dev-rust/redox_syscall-0.1.0:= >=dev-rust/redox_termios-0.1.0:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A bindless library for manipulating terminals.
-EAPI=7
-HOMEPAGE=https://gitlab.redox-os.org/redox-os/termion
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/libc-0.2.8:= >=dev-rust/redox_syscall-0.1.0:= >=dev-rust/redox_termios-0.1.0:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=1.5.1/r0
-SRC_URI=https://crates.io/api/v1/crates/termion/1.5.1/download -> termion-1.5.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9da6dc2c3bdc48e4593df66c4a339c6a
diff --git a/metadata/md5-cache/dev-rust/termion-1.5.1-r1 b/metadata/md5-cache/dev-rust/termion-1.5.1-r1
deleted file mode 100644
index 49ba545c..0000000
--- a/metadata/md5-cache/dev-rust/termion-1.5.1-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2.8:= >=dev-rust/redox_syscall-0.1.0:= >=dev-rust/redox_termios-0.1.0:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A bindless library for manipulating terminals.
-EAPI=7
-HOMEPAGE=https://gitlab.redox-os.org/redox-os/termion
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/libc-0.2.8:= >=dev-rust/redox_syscall-0.1.0:= >=dev-rust/redox_termios-0.1.0:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=1.5.1/r1
-SRC_URI=https://crates.io/api/v1/crates/termion/1.5.1/download -> termion-1.5.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9da6dc2c3bdc48e4593df66c4a339c6a
diff --git a/metadata/md5-cache/dev-rust/termios-0.2.2 b/metadata/md5-cache/dev-rust/termios-0.2.2
index e913cd0..3ebae7f 100644
--- a/metadata/md5-cache/dev-rust/termios-0.2.2
+++ b/metadata/md5-cache/dev-rust/termios-0.2.2
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/libc-0.2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/libc-0.2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Safe bindings for the termios library.
 EAPI=7
 HOMEPAGE=https://github.com/dcuddeback/termios-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/libc-0.2*:=
+RDEPEND==dev-rust/libc-0.2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.2/r0
 SRC_URI=https://crates.io/api/v1/crates/termios/0.2.2/download -> termios-0.2.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=285a62309c6f4eb4ca73de229ea1501b
diff --git a/metadata/md5-cache/dev-rust/textwrap-0.11.0 b/metadata/md5-cache/dev-rust/textwrap-0.11.0
index 1121caa..132d27e 100644
--- a/metadata/md5-cache/dev-rust/textwrap-0.11.0
+++ b/metadata/md5-cache/dev-rust/textwrap-0.11.0
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/unicode-width-0.1*:= =dev-rust/hyphenation-0.7*:= =dev-rust/term_size-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/unicode-width-0.1*:= =dev-rust/hyphenation-0.7*:= =dev-rust/term_size-0.3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Word wrapping text
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/mgeisler/textwrap
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.11.0/r0
 SRC_URI=https://crates.io/api/v1/crates/textwrap/0.11.0/download -> textwrap-0.11.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=9968c4cb1fcd2a9fa6ed08a1cae870c7
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b6bb9575c5e14bb92ff59d786a1ff8f4
diff --git a/metadata/md5-cache/dev-rust/textwrap-0.11.0-r1 b/metadata/md5-cache/dev-rust/textwrap-0.11.0-r1
index 0e20636f..3570f32 100644
--- a/metadata/md5-cache/dev-rust/textwrap-0.11.0-r1
+++ b/metadata/md5-cache/dev-rust/textwrap-0.11.0-r1
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/unicode-width-0.1*:= =dev-rust/hyphenation-0.7*:= =dev-rust/term_size-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/unicode-width-0.1*:= =dev-rust/hyphenation-0.7*:= =dev-rust/term_size-0.3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Word wrapping text
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/mgeisler/textwrap
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.11.0/r1
 SRC_URI=https://crates.io/api/v1/crates/textwrap/0.11.0/download -> textwrap-0.11.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=9968c4cb1fcd2a9fa6ed08a1cae870c7
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b6bb9575c5e14bb92ff59d786a1ff8f4
diff --git a/metadata/md5-cache/dev-rust/textwrap-0.12.1 b/metadata/md5-cache/dev-rust/textwrap-0.12.1
index abe856a..57da789 100644
--- a/metadata/md5-cache/dev-rust/textwrap-0.12.1
+++ b/metadata/md5-cache/dev-rust/textwrap-0.12.1
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/hyphenation-0.8*:= =dev-rust/terminal_size-0.1*:= =dev-rust/unicode-width-0.1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/hyphenation-0.8*:= =dev-rust/terminal_size-0.1*:= =dev-rust/unicode-width-0.1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Textwrap is a library for word wrapping, indenting, and dedenting strings. You can use it to format strings (such as help and error messages) for display in commandline applications. It is designed to be efficient and handle Unicode characters correctly.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/textwrap
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/hyphenation-0.8*:= =dev-rust/terminal_size-0.1*:= =dev-rust/unicode-width-0.1*:=
+RDEPEND==dev-rust/hyphenation-0.8*:= =dev-rust/terminal_size-0.1*:= =dev-rust/unicode-width-0.1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.12.1/r0
 SRC_URI=https://crates.io/api/v1/crates/textwrap/0.12.1/download -> textwrap-0.12.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f00e929245a53c5b268fbb4b76155b4a
diff --git a/metadata/md5-cache/dev-rust/textwrap-0.15.0 b/metadata/md5-cache/dev-rust/textwrap-0.15.0
new file mode 100644
index 0000000..15d3be7
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/textwrap-0.15.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/hyphenation-0.8.4 <dev-rust/hyphenation-0.9.0_alpha:= >=dev-rust/smawk-0.3.1 <dev-rust/smawk-0.4.0_alpha:= >=dev-rust/terminal_size-0.1.17 <dev-rust/terminal_size-0.2.0_alpha:= >=dev-rust/unicode-linebreak-0.1.2 <dev-rust/unicode-linebreak-0.2.0_alpha:= >=dev-rust/unicode-width-0.1.9 <dev-rust/unicode-width-0.2.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Powerful library for word wrapping, indenting, and dedenting strings
+EAPI=7
+HOMEPAGE=https://crates.io/crates/textwrap
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=>=dev-rust/hyphenation-0.8.4 <dev-rust/hyphenation-0.9.0_alpha:= >=dev-rust/smawk-0.3.1 <dev-rust/smawk-0.4.0_alpha:= >=dev-rust/terminal_size-0.1.17 <dev-rust/terminal_size-0.2.0_alpha:= >=dev-rust/unicode-linebreak-0.1.2 <dev-rust/unicode-linebreak-0.2.0_alpha:= >=dev-rust/unicode-width-0.1.9 <dev-rust/unicode-width-0.2.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.15.0/r0
+SRC_URI=https://crates.io/api/v1/crates/textwrap/0.15.0/download -> textwrap-0.15.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ad6fabe1bacd2100257063545e156f2c
diff --git a/metadata/md5-cache/dev-rust/thiserror-1.0.30 b/metadata/md5-cache/dev-rust/thiserror-1.0.30
index 163f8a1..9c8b7f5 100644
--- a/metadata/md5-cache/dev-rust/thiserror-1.0.30
+++ b/metadata/md5-cache/dev-rust/thiserror-1.0.30
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=~dev-rust/thiserror-impl-1.0.30:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=~dev-rust/thiserror-impl-1.0.30:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=derive(Error)
 EAPI=7
 HOMEPAGE=https://crates.io/crates/thiserror
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=~dev-rust/thiserror-impl-1.0.30:=
+RDEPEND=~dev-rust/thiserror-impl-1.0.30:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=1.0.30/r0
 SRC_URI=https://crates.io/api/v1/crates/thiserror/1.0.30/download -> thiserror-1.0.30.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=9fda1e3c697a2922462507b7abe73073
diff --git a/metadata/md5-cache/dev-rust/thiserror-impl-1.0.30 b/metadata/md5-cache/dev-rust/thiserror-impl-1.0.30
index 08df40c..b202951 100644
--- a/metadata/md5-cache/dev-rust/thiserror-impl-1.0.30
+++ b/metadata/md5-cache/dev-rust/thiserror-impl-1.0.30
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/syn-1.0.45 <dev-rust/syn-2.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/syn-1.0.45 <dev-rust/syn-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Implementation detail of the "thiserror" crate
 EAPI=7
 HOMEPAGE=https://crates.io/crates/thiserror-impl
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/syn-1.0.45 <dev-rust/syn-2.0.0_alpha:=
+RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= >=dev-rust/syn-1.0.45 <dev-rust/syn-2.0.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.30/r0
 SRC_URI=https://crates.io/api/v1/crates/thiserror-impl/1.0.30/download -> thiserror-impl-1.0.30.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=4f5cb3244b80a4a11ff5e65608a88970
diff --git a/metadata/md5-cache/dev-rust/thread-id-3.3.0 b/metadata/md5-cache/dev-rust/thread-id-3.3.0
index 147ca3f..93686f5 100644
--- a/metadata/md5-cache/dev-rust/thread-id-3.3.0
+++ b/metadata/md5-cache/dev-rust/thread-id-3.3.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/libc-0.2*:= =dev-rust/redox_syscall-0.1*:= =dev-rust/winapi-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/libc-0.2*:= =dev-rust/redox_syscall-0.1*:= =dev-rust/winapi-0.3*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Get a unique ID for the current thread in Rust
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/ruuda/thread-id
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=3.3.0/r0
 SRC_URI=https://crates.io/api/v1/crates/thread-id/3.3.0/download -> thread-id-3.3.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=2e841f56eefde6a97112215e5ca5f3c7
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5ad388a112299f4d904ca321654cea41
diff --git a/metadata/md5-cache/dev-rust/thread-id-4.0.0 b/metadata/md5-cache/dev-rust/thread-id-4.0.0
index d2bab8f..fd9da95 100644
--- a/metadata/md5-cache/dev-rust/thread-id-4.0.0
+++ b/metadata/md5-cache/dev-rust/thread-id-4.0.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=4.0.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/thread_local-1.0.1 b/metadata/md5-cache/dev-rust/thread_local-1.0.1
deleted file mode 100644
index 00c020d..0000000
--- a/metadata/md5-cache/dev-rust/thread_local-1.0.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/lazy_static-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Per-object thread-local storage.
-EAPI=7
-HOMEPAGE=https://github.com/Amanieu/thread_local-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=1.0.1/r0
-SRC_URI=https://crates.io/api/v1/crates/thread_local/1.0.1/download -> thread_local-1.0.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ea20ca3fc81e5693b5ec223924647f8d
diff --git a/metadata/md5-cache/dev-rust/thread_local-1.1.4 b/metadata/md5-cache/dev-rust/thread_local-1.1.4
new file mode 100644
index 0000000..6fba216
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/thread_local-1.1.4
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/criterion-0.3.3 <dev-rust/criterion-0.4.0_alpha:= >=dev-rust/once_cell-1.5.2 <dev-rust/once_cell-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Per-object thread-local storage
+EAPI=7
+HOMEPAGE=https://crates.io/crates/thread_local
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( Apache-2.0 MIT )
+RDEPEND=>=dev-rust/criterion-0.3.3 <dev-rust/criterion-0.4.0_alpha:= >=dev-rust/once_cell-1.5.2 <dev-rust/once_cell-2.0.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.1.4/r0
+SRC_URI=https://crates.io/api/v1/crates/thread_local/1.1.4/download -> thread_local-1.1.4.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=467c2f1b5889d23575454653509b5fe6
diff --git a/metadata/md5-cache/dev-rust/tiff-0.6.0 b/metadata/md5-cache/dev-rust/tiff-0.6.0
index cad7539..e262239 100644
--- a/metadata/md5-cache/dev-rust/tiff-0.6.0
+++ b/metadata/md5-cache/dev-rust/tiff-0.6.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.6.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/time-0.1.44 b/metadata/md5-cache/dev-rust/time-0.1.44
index 0ace555..821fe80 100644
--- a/metadata/md5-cache/dev-rust/time-0.1.44
+++ b/metadata/md5-cache/dev-rust/time-0.1.44
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2.1:= >=dev-rust/log-0.4.0:= >=dev-rust/redox_syscall-0.1.0:= >=dev-rust/wasi-0.10.0:= >=dev-rust/winapi-0.3.0:= >=dev-rust/rustc-serialize-0.3.0:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/libc-0.2.1:= >=dev-rust/log-0.4.0:= >=dev-rust/redox_syscall-0.1.0:= >=dev-rust/wasi-0.10.0:= >=dev-rust/winapi-0.3.0:= >=dev-rust/rustc-serialize-0.3.0:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Utilities for working with time-related functions in Rust.
 EAPI=7
 HOMEPAGE=https://github.com/rust-lang/time
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.44/r0
 SRC_URI=https://crates.io/api/v1/crates/time/0.1.44/download -> time-0.1.44.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=581e3a8dafd09ce3b3d3819793364afa
diff --git a/metadata/md5-cache/dev-rust/time-0.3.9 b/metadata/md5-cache/dev-rust/time-0.3.9
new file mode 100644
index 0000000..01ccbf8
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/time-0.3.9
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/itoa-1.0.1 <dev-rust/itoa-2.0.0_alpha:= >=dev-rust/quickcheck-1.0.3 <dev-rust/quickcheck-2.0.0_alpha:= >=dev-rust/rand-0.8.4 <dev-rust/rand-0.9.0_alpha:= >=dev-rust/serde-1.0.126 <dev-rust/serde-2.0.0_alpha:= ~dev-rust/time-macros-0.2.4:= >=dev-rust/libc-0.2.98 <dev-rust/libc-0.3.0_alpha:= >=dev-rust/num_threads-0.1.2 <dev-rust/num_threads-0.2.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Date and time library. Fully interoperable with the standard library. Mostly compatible with #![no_std].
+EAPI=7
+HOMEPAGE=https://time-rs.github.io
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/itoa-1.0.1 <dev-rust/itoa-2.0.0_alpha:= >=dev-rust/quickcheck-1.0.3 <dev-rust/quickcheck-2.0.0_alpha:= >=dev-rust/rand-0.8.4 <dev-rust/rand-0.9.0_alpha:= >=dev-rust/serde-1.0.126 <dev-rust/serde-2.0.0_alpha:= ~dev-rust/time-macros-0.2.4:= >=dev-rust/libc-0.2.98 <dev-rust/libc-0.3.0_alpha:= >=dev-rust/num_threads-0.1.2 <dev-rust/num_threads-0.2.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.3.9/r0
+SRC_URI=https://crates.io/api/v1/crates/time/0.3.9/download -> time-0.3.9.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3a6e93cd4c9256954a8360603987b597
diff --git a/metadata/md5-cache/dev-rust/time-macros-0.2.4 b/metadata/md5-cache/dev-rust/time-macros-0.2.4
new file mode 100644
index 0000000..983b1c9
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/time-macros-0.2.4
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Procedural macros for the time crate.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/time-macros
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.2.4/r0
+SRC_URI=https://crates.io/api/v1/crates/time-macros/0.2.4/download -> time-macros-0.2.4.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f2358ae5e80316fb5a299b07a2405e74
diff --git a/metadata/md5-cache/dev-rust/timeout-readwrite-0.3.1 b/metadata/md5-cache/dev-rust/timeout-readwrite-0.3.1
deleted file mode 100644
index 6327ca4..0000000
--- a/metadata/md5-cache/dev-rust/timeout-readwrite-0.3.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/lazy_static-1.3.0:= <dev-rust/lazy_static-2.0.0 >=dev-rust/nix-0.17.0:= <dev-rust/nix-0.20.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A Rust crate providing Reader and Writer structs that timeout
-EAPI=7
-HOMEPAGE=https://github.com/jcreekmore/timeout-readwrite-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.3.1/r0
-SRC_URI=https://crates.io/api/v1/crates/timeout-readwrite/0.3.1/download -> timeout-readwrite-0.3.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=35edf92f85bbad2b20c281f1d3aa64b5
diff --git a/metadata/md5-cache/dev-rust/timeout-readwrite-0.3.2 b/metadata/md5-cache/dev-rust/timeout-readwrite-0.3.2
new file mode 100644
index 0000000..cb29b07
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/timeout-readwrite-0.3.2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/nix-0.23*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Adds timeout capabilities to Readers and Writers
+EAPI=7
+HOMEPAGE=https://github.com/jcreekmore/timeout-readwrite-rs
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/nix-0.23*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.3.2/r0
+SRC_URI=https://crates.io/api/v1/crates/timeout-readwrite/0.3.2/download -> timeout-readwrite-0.3.2.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b23196803da690e2149e76dfa9ddd44c
diff --git a/metadata/md5-cache/dev-rust/tiny_http-0.8.0 b/metadata/md5-cache/dev-rust/tiny_http-0.8.0
index b143055..f8578aa 100644
--- a/metadata/md5-cache/dev-rust/tiny_http-0.8.0
+++ b/metadata/md5-cache/dev-rust/tiny_http-0.8.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/ascii-1*:= =dev-rust/chunked_transfer-1*:= =dev-rust/url-2*:= =dev-rust/chrono-0.4*:= =dev-rust/log-0.4*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/ascii-1*:= =dev-rust/chunked_transfer-1*:= =dev-rust/url-2*:= =dev-rust/chrono-0.4*:= =dev-rust/log-0.4*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Low level HTTP server library
 EAPI=7
 HOMEPAGE=https://docs.rs/crate/tiny_http/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/ascii-1*:= =dev-rust/chunked_transfer-1*:= =dev-rust/url-2*:= =dev-rust/chrono-0.4*:= =dev-rust/log-0.4*:= !~dev-rust/tiny_http-0.7.0
+RDEPEND==dev-rust/ascii-1*:= =dev-rust/chunked_transfer-1*:= =dev-rust/url-2*:= =dev-rust/chrono-0.4*:= =dev-rust/log-0.4*:= !~dev-rust/tiny_http-0.7.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.8.0/r0
 SRC_URI=https://crates.io/api/v1/crates/tiny_http/0.8.0/download -> tiny_http-0.8.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=3a23ec47e4d7c1cb8fc623c6b51f1ee5
diff --git a/metadata/md5-cache/dev-rust/tinyvec-1.5.1 b/metadata/md5-cache/dev-rust/tinyvec-1.5.1
new file mode 100644
index 0000000..0b56620
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/tinyvec-1.5.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/arbitrary-1*:= =dev-rust/serde-1*:= =dev-rust/tinyvec_macros-0.1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION="tinyvec" provides 100% safe vec-like data structures.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/tinyvec
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( Apache-2.0 MIT )
+RDEPEND==dev-rust/arbitrary-1*:= =dev-rust/serde-1*:= =dev-rust/tinyvec_macros-0.1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.5.1/r0
+SRC_URI=https://crates.io/api/v1/crates/tinyvec/1.5.1/download -> tinyvec-1.5.1.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7e1db78e56820f6f76143ce4f6490b4e
diff --git a/metadata/md5-cache/dev-rust/tinyvec_macros-0.1.0 b/metadata/md5-cache/dev-rust/tinyvec_macros-0.1.0
new file mode 100644
index 0000000..ec89032
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/tinyvec_macros-0.1.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Some macros for tiny containers
+EAPI=7
+HOMEPAGE=https://crates.io/crates/tinyvec_macros
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.1.0/r0
+SRC_URI=https://crates.io/api/v1/crates/tinyvec_macros/0.1.0/download -> tinyvec_macros-0.1.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1daa2fcc5533c89d8d357fbc09fc57d3
diff --git a/metadata/md5-cache/dev-rust/tlsdate_dbus-0.24.52-r29 b/metadata/md5-cache/dev-rust/tlsdate_dbus-0.24.52-r29
deleted file mode 100644
index 2b1309d..0000000
--- a/metadata/md5-cache/dev-rust/tlsdate_dbus-0.24.52-r29
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/dbus-0.9*:= dev-rust/chromeos-dbus-bindings:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Rust D-Bus bindings for tlsdate.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/tlsdate/+/master/
-IUSE=cros_host cros_workon_tree_e559de3e87a1762e6208a03f18c0122467a0fb0e cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND==dev-rust/dbus-0.9*:= dev-rust/chromeos-dbus-bindings:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.24.52-r29
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a5540408f59838315d5c5ddb5684ca26
diff --git a/metadata/md5-cache/dev-rust/tlsdate_dbus-0.24.52-r33 b/metadata/md5-cache/dev-rust/tlsdate_dbus-0.24.52-r33
new file mode 100644
index 0000000..dbaf4be
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/tlsdate_dbus-0.24.52-r33
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/dbus-0.9*:= dev-rust/chromeos-dbus-bindings:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Rust D-Bus bindings for tlsdate.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/tlsdate/+/master/
+IUSE=cros_host cros_workon_tree_621e47f9f541786981ded938a7e7890f3fba236a cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND==dev-rust/dbus-0.9*:= dev-rust/chromeos-dbus-bindings:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.24.52-r33
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=eaf64ff1b3243f960aba18316a18ae25
diff --git a/metadata/md5-cache/dev-rust/tlsdate_dbus-9999 b/metadata/md5-cache/dev-rust/tlsdate_dbus-9999
index b3793a9..f1f248a 100644
--- a/metadata/md5-cache/dev-rust/tlsdate_dbus-9999
+++ b/metadata/md5-cache/dev-rust/tlsdate_dbus-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/dbus-0.9*:= dev-rust/chromeos-dbus-bindings:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/dbus-0.9*:= dev-rust/chromeos-dbus-bindings:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust D-Bus bindings for tlsdate.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/tlsdate/+/master/
-IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND==dev-rust/dbus-0.9*:= dev-rust/chromeos-dbus-bindings:=
+RDEPEND==dev-rust/dbus-0.9*:= dev-rust/chromeos-dbus-bindings:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=eca27f5d63a6d552881db3072f17566b
diff --git a/metadata/md5-cache/dev-rust/tokio-0.1.22 b/metadata/md5-cache/dev-rust/tokio-0.1.22
deleted file mode 100644
index 8fd0ee3..0000000
--- a/metadata/md5-cache/dev-rust/tokio-0.1.22
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bytes-0.4*:= >=dev-rust/futures-0.1.20:= <dev-rust/futures-0.2.0 >=dev-rust/mio-0.6.14:= <dev-rust/mio-0.7.0 >=dev-rust/num_cpus-1.8.0:= <dev-rust/num_cpus-2.0.0 =dev-rust/tokio-codec-0.1*:= >=dev-rust/tokio-current-thread-0.1.6:= <dev-rust/tokio-current-thread-0.2.0 >=dev-rust/tokio-executor-0.1.7:= <dev-rust/tokio-executor-0.2.0 >=dev-rust/tokio-fs-0.1.6:= <dev-rust/tokio-fs-0.2.0 >=dev-rust/tokio-io-0.1.6:= <dev-rust/tokio-io-0.2.0 >=dev-rust/tokio-reactor-0.1.1:= <dev-rust/tokio-reactor-0.2.0 >=dev-rust/tokio-sync-0.1.5:= <dev-rust/tokio-sync-0.2.0 =dev-rust/tokio-tcp-0.1*:= >=dev-rust/tokio-threadpool-0.1.14:= <dev-rust/tokio-threadpool-0.2.0 >=dev-rust/tokio-timer-0.2.8:= <dev-rust/tokio-timer-0.3.0 =dev-rust/tokio-udp-0.1*:= =dev-rust/tracing-core-0.1*:= >=dev-rust/tokio-uds-0.2.1:= <dev-rust/tokio-uds-0.3.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=An event-driven, non-blocking I/O platform for writing asynchronous I/O backed applications.
-EAPI=7
-HOMEPAGE=https://tokio.rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND==dev-rust/bytes-0.4*:= >=dev-rust/futures-0.1.20:= <dev-rust/futures-0.2.0 >=dev-rust/mio-0.6.14:= <dev-rust/mio-0.7.0 >=dev-rust/num_cpus-1.8.0:= <dev-rust/num_cpus-2.0.0 =dev-rust/tokio-codec-0.1*:= >=dev-rust/tokio-current-thread-0.1.6:= <dev-rust/tokio-current-thread-0.2.0 >=dev-rust/tokio-executor-0.1.7:= <dev-rust/tokio-executor-0.2.0 >=dev-rust/tokio-fs-0.1.6:= <dev-rust/tokio-fs-0.2.0 >=dev-rust/tokio-io-0.1.6:= <dev-rust/tokio-io-0.2.0 >=dev-rust/tokio-reactor-0.1.1:= <dev-rust/tokio-reactor-0.2.0 >=dev-rust/tokio-sync-0.1.5:= <dev-rust/tokio-sync-0.2.0 =dev-rust/tokio-tcp-0.1*:= >=dev-rust/tokio-threadpool-0.1.14:= <dev-rust/tokio-threadpool-0.2.0 >=dev-rust/tokio-timer-0.2.8:= <dev-rust/tokio-timer-0.3.0 =dev-rust/tokio-udp-0.1*:= =dev-rust/tracing-core-0.1*:= >=dev-rust/tokio-uds-0.2.1:= <dev-rust/tokio-uds-0.3.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.22/r0
-SRC_URI=https://crates.io/api/v1/crates/tokio/0.1.22/download -> tokio-0.1.22.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6783985fa825414cf2e41619c33322ae
diff --git a/metadata/md5-cache/dev-rust/tokio-1.15.0 b/metadata/md5-cache/dev-rust/tokio-1.15.0
index 95f1f7d..ffd75b1 100644
--- a/metadata/md5-cache/dev-rust/tokio-1.15.0
+++ b/metadata/md5-cache/dev-rust/tokio-1.15.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.15.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2ec158264ad272e37b519138e3f76c5c
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8c34e7a2f2d8dc38b79277de5a57f0dd
diff --git a/metadata/md5-cache/dev-rust/tokio-1.19.2 b/metadata/md5-cache/dev-rust/tokio-1.19.2
new file mode 100644
index 0000000..489d46e
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/tokio-1.19.2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/bytes-1*:= >=dev-rust/memchr-2.2.0 <dev-rust/memchr-3.0.0_alpha:= >=dev-rust/mio-0.8.1 <dev-rust/mio-0.9.0_alpha:= >=dev-rust/num_cpus-1.8.0 <dev-rust/num_cpus-2.0.0_alpha:= >=dev-rust/once_cell-1.5.2 <dev-rust/once_cell-2.0.0_alpha:= =dev-rust/parking_lot-0.12*:= =dev-rust/pin-project-lite-0.2*:= >=dev-rust/socket2-0.4.4 <dev-rust/socket2-0.5.0_alpha:= >=dev-rust/tokio-macros-1.7.0 <dev-rust/tokio-macros-2.0.0_alpha:= >=dev-rust/libc-0.2.42 <dev-rust/libc-0.3.0_alpha:= >=dev-rust/signal-hook-registry-1.1.1 <dev-rust/signal-hook-registry-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=An event-driven, non-blocking I/O platform for writing asynchronous I/O backed applications.
+EAPI=7
+HOMEPAGE=https://tokio.rs
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND==dev-rust/bytes-1*:= >=dev-rust/memchr-2.2.0 <dev-rust/memchr-3.0.0_alpha:= >=dev-rust/mio-0.8.1 <dev-rust/mio-0.9.0_alpha:= >=dev-rust/num_cpus-1.8.0 <dev-rust/num_cpus-2.0.0_alpha:= >=dev-rust/once_cell-1.5.2 <dev-rust/once_cell-2.0.0_alpha:= =dev-rust/parking_lot-0.12*:= =dev-rust/pin-project-lite-0.2*:= >=dev-rust/socket2-0.4.4 <dev-rust/socket2-0.5.0_alpha:= >=dev-rust/tokio-macros-1.7.0 <dev-rust/tokio-macros-2.0.0_alpha:= >=dev-rust/libc-0.2.42 <dev-rust/libc-0.3.0_alpha:= >=dev-rust/signal-hook-registry-1.1.1 <dev-rust/signal-hook-registry-2.0.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.19.2/r0
+SRC_URI=https://crates.io/api/v1/crates/tokio/1.19.2/download -> tokio-1.19.2.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6ffdf001718620664381c1edff6cec92
diff --git a/metadata/md5-cache/dev-rust/tokio-buf-0.1.1 b/metadata/md5-cache/dev-rust/tokio-buf-0.1.1
deleted file mode 100644
index d02e9c8..0000000
--- a/metadata/md5-cache/dev-rust/tokio-buf-0.1.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bytes-0.4.10:= >=dev-rust/futures-0.1.23:= >=dev-rust/either-1.5:= >=dev-rust/tokio-mock-task-0.1.1:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Asynchronous stream of byte buffers
-EAPI=6
-HOMEPAGE=https://github.com/tokio-rs/tokio
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.1/r0
-SRC_URI=https://crates.io/api/v1/crates/tokio-buf/0.1.1/download -> tokio-buf-0.1.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=571cb583ae79566f3a224e0f65138989
diff --git a/metadata/md5-cache/dev-rust/tokio-codec-0.1.2 b/metadata/md5-cache/dev-rust/tokio-codec-0.1.2
deleted file mode 100644
index b6be2e8..0000000
--- a/metadata/md5-cache/dev-rust/tokio-codec-0.1.2
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bytes-0.4.7:= <dev-rust/bytes-0.5.0 >=dev-rust/futures-0.1.18:= <dev-rust/futures-0.2.0 >=dev-rust/tokio-io-0.1.7:= <dev-rust/tokio-io-0.2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Utilities for encoding and decoding frames.
-EAPI=7
-HOMEPAGE=https://tokio.rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND=>=dev-rust/bytes-0.4.7:= <dev-rust/bytes-0.5.0 >=dev-rust/futures-0.1.18:= <dev-rust/futures-0.2.0 >=dev-rust/tokio-io-0.1.7:= <dev-rust/tokio-io-0.2.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.2/r0
-SRC_URI=https://crates.io/api/v1/crates/tokio-codec/0.1.2/download -> tokio-codec-0.1.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=649f63f82b91b2b5fbca24c622b79b2c
diff --git a/metadata/md5-cache/dev-rust/tokio-core-0.1.17-r1 b/metadata/md5-cache/dev-rust/tokio-core-0.1.17-r1
deleted file mode 100644
index d34a41e..0000000
--- a/metadata/md5-cache/dev-rust/tokio-core-0.1.17-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bytes-0.4*:= =dev-rust/futures-0.1*:= =dev-rust/iovec-0.1*:= =dev-rust/log-0.4*:= >=dev-rust/mio-0.6.12:= <dev-rust/mio-0.7.0 =dev-rust/scoped-tls-0.1*:= >=dev-rust/tokio-0.1.5:= <dev-rust/tokio-0.2.0 >=dev-rust/tokio-executor-0.1.2:= <dev-rust/tokio-executor-0.2.0 =dev-rust/tokio-io-0.1*:= >=dev-rust/tokio-reactor-0.1.1:= <dev-rust/tokio-reactor-0.2.0 >=dev-rust/tokio-timer-0.2.1:= <dev-rust/tokio-timer-0.3.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Core I/O and event loop abstraction for asynchronous I/O in Rust built on futures and mio.
-EAPI=7
-HOMEPAGE=https://tokio.rs/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/bytes-0.4*:= =dev-rust/futures-0.1*:= =dev-rust/iovec-0.1*:= =dev-rust/log-0.4*:= >=dev-rust/mio-0.6.12:= <dev-rust/mio-0.7.0 =dev-rust/scoped-tls-0.1*:= >=dev-rust/tokio-0.1.5:= <dev-rust/tokio-0.2.0 >=dev-rust/tokio-executor-0.1.2:= <dev-rust/tokio-executor-0.2.0 =dev-rust/tokio-io-0.1*:= >=dev-rust/tokio-reactor-0.1.1:= <dev-rust/tokio-reactor-0.2.0 >=dev-rust/tokio-timer-0.2.1:= <dev-rust/tokio-timer-0.3.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.17/r1
-SRC_URI=https://crates.io/api/v1/crates/tokio-core/0.1.17/download -> tokio-core-0.1.17.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=cbccae00ebb4c9f84a33a1a3d4d25887
diff --git a/metadata/md5-cache/dev-rust/tokio-curl-0.1.11 b/metadata/md5-cache/dev-rust/tokio-curl-0.1.11
deleted file mode 100644
index d8390f18..0000000
--- a/metadata/md5-cache/dev-rust/tokio-curl-0.1.11
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/curl-0.4*:= =dev-rust/env_logger-0.4*:= =dev-rust/futures-0.1*:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/mio-0.6*:= =dev-rust/scoped-tls-0.1*:= =dev-rust/slab-0.4*:= =dev-rust/tokio-core-0.1*:= =dev-rust/tokio-io-0.1*:= =dev-rust/winapi-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=An implementation of an asynchronous HTTP client using futures backed by libcurl.
-EAPI=6
-HOMEPAGE=https://tokio.rs/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.11/r0
-SRC_URI=https://crates.io/api/v1/crates/tokio-curl/0.1.11/download -> tokio-curl-0.1.11.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=115e87441fbc415c1a215c73235fd72d
diff --git a/metadata/md5-cache/dev-rust/tokio-curl-0.1.11-r1 b/metadata/md5-cache/dev-rust/tokio-curl-0.1.11-r1
deleted file mode 100644
index 740149c..0000000
--- a/metadata/md5-cache/dev-rust/tokio-curl-0.1.11-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/curl-0.4*:= =dev-rust/env_logger-0.4*:= =dev-rust/futures-0.1*:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/mio-0.6*:= =dev-rust/scoped-tls-0.1*:= =dev-rust/slab-0.4*:= =dev-rust/tokio-core-0.1*:= =dev-rust/tokio-io-0.1*:= =dev-rust/winapi-0.3*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=An implementation of an asynchronous HTTP client using futures backed by libcurl.
-EAPI=6
-HOMEPAGE=https://tokio.rs/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.11/r1
-SRC_URI=https://crates.io/api/v1/crates/tokio-curl/0.1.11/download -> tokio-curl-0.1.11.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=115e87441fbc415c1a215c73235fd72d
diff --git a/metadata/md5-cache/dev-rust/tokio-current-thread-0.1.7 b/metadata/md5-cache/dev-rust/tokio-current-thread-0.1.7
deleted file mode 100644
index 9f3c53d..0000000
--- a/metadata/md5-cache/dev-rust/tokio-current-thread-0.1.7
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0 >=dev-rust/tokio-executor-0.1.7:= <dev-rust/tokio-executor-0.2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Single threaded executor which manage many tasks concurrently on the current thread.
-EAPI=7
-HOMEPAGE=https://github.com/tokio-rs/tokio
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND=>=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0 >=dev-rust/tokio-executor-0.1.7:= <dev-rust/tokio-executor-0.2.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.7/r0
-SRC_URI=https://crates.io/api/v1/crates/tokio-current-thread/0.1.7/download -> tokio-current-thread-0.1.7.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6436b595df2a2b356e204b8b17499c76
diff --git a/metadata/md5-cache/dev-rust/tokio-executor-0.1.10 b/metadata/md5-cache/dev-rust/tokio-executor-0.1.10
index 45872f6..4b312fa 100644
--- a/metadata/md5-cache/dev-rust/tokio-executor-0.1.10
+++ b/metadata/md5-cache/dev-rust/tokio-executor-0.1.10
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/crossbeam-utils-0.7*:= >=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/crossbeam-utils-0.7*:= >=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Future execution primitives
 EAPI=7
 HOMEPAGE=https://github.com/tokio-rs/tokio
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND==dev-rust/crossbeam-utils-0.7*:= >=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0
+RDEPEND==dev-rust/crossbeam-utils-0.7*:= >=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.10/r0
 SRC_URI=https://crates.io/api/v1/crates/tokio-executor/0.1.10/download -> tokio-executor-0.1.10.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=98d69cf13bb5de3e8281ee374a45b5e6
diff --git a/metadata/md5-cache/dev-rust/tokio-fs-0.1.7 b/metadata/md5-cache/dev-rust/tokio-fs-0.1.7
deleted file mode 100644
index 7474289..0000000
--- a/metadata/md5-cache/dev-rust/tokio-fs-0.1.7
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/futures-0.1.21:= <dev-rust/futures-0.2.0 >=dev-rust/tokio-io-0.1.6:= <dev-rust/tokio-io-0.2.0 >=dev-rust/tokio-threadpool-0.1.3:= <dev-rust/tokio-threadpool-0.2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Filesystem API for Tokio.
-EAPI=7
-HOMEPAGE=https://tokio.rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND=>=dev-rust/futures-0.1.21:= <dev-rust/futures-0.2.0 >=dev-rust/tokio-io-0.1.6:= <dev-rust/tokio-io-0.2.0 >=dev-rust/tokio-threadpool-0.1.3:= <dev-rust/tokio-threadpool-0.2.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.7/r0
-SRC_URI=https://crates.io/api/v1/crates/tokio-fs/0.1.7/download -> tokio-fs-0.1.7.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=8b93756c960a04e7f021eaadc10e1385
diff --git a/metadata/md5-cache/dev-rust/tokio-io-0.1.13 b/metadata/md5-cache/dev-rust/tokio-io-0.1.13
index 132f4fb..a018ece 100644
--- a/metadata/md5-cache/dev-rust/tokio-io-0.1.13
+++ b/metadata/md5-cache/dev-rust/tokio-io-0.1.13
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bytes-0.4.7:= <dev-rust/bytes-0.5.0 >=dev-rust/futures-0.1.18:= <dev-rust/futures-0.2.0 =dev-rust/log-0.4*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/bytes-0.4.7:= <dev-rust/bytes-0.5.0 >=dev-rust/futures-0.1.18:= <dev-rust/futures-0.2.0 =dev-rust/log-0.4*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Core I/O primitives for asynchronous I/O in Rust.
 EAPI=7
 HOMEPAGE=https://tokio.rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/bytes-0.4.7:= <dev-rust/bytes-0.5.0 >=dev-rust/futures-0.1.18:= <dev-rust/futures-0.2.0 =dev-rust/log-0.4*:=
+RDEPEND=>=dev-rust/bytes-0.4.7:= <dev-rust/bytes-0.5.0 >=dev-rust/futures-0.1.18:= <dev-rust/futures-0.2.0 =dev-rust/log-0.4*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.1.13/r0
 SRC_URI=https://crates.io/api/v1/crates/tokio-io/0.1.13/download -> tokio-io-0.1.13.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=c947350bb0efeb3bfa4669b86ee699b9
diff --git a/metadata/md5-cache/dev-rust/tokio-io-0.1.9 b/metadata/md5-cache/dev-rust/tokio-io-0.1.9
index d5de68e..72200d6 100644
--- a/metadata/md5-cache/dev-rust/tokio-io-0.1.9
+++ b/metadata/md5-cache/dev-rust/tokio-io-0.1.9
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.9/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e7d10f36a41e64993d9c11cc32e8200e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e9656e916c5961796a8ec88d2d2dd7f2
diff --git a/metadata/md5-cache/dev-rust/tokio-macros-1.8.0 b/metadata/md5-cache/dev-rust/tokio-macros-1.8.0
new file mode 100644
index 0000000..4948f7f
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/tokio-macros-1.8.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/proc-macro2-1.0.7 <dev-rust/proc-macro2-2.0.0_alpha:= =dev-rust/quote-1*:= >=dev-rust/syn-1.0.56 <dev-rust/syn-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Tokio"s proc macros.
+EAPI=7
+HOMEPAGE=https://tokio.rs
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=>=dev-rust/proc-macro2-1.0.7 <dev-rust/proc-macro2-2.0.0_alpha:= =dev-rust/quote-1*:= >=dev-rust/syn-1.0.56 <dev-rust/syn-2.0.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=1.8.0/r0
+SRC_URI=https://crates.io/api/v1/crates/tokio-macros/1.8.0/download -> tokio-macros-1.8.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=918aaa45d8c16fc3aab2973a5da7db33
diff --git a/metadata/md5-cache/dev-rust/tokio-mock-task-0.1.1 b/metadata/md5-cache/dev-rust/tokio-mock-task-0.1.1
deleted file mode 100644
index 882613a..0000000
--- a/metadata/md5-cache/dev-rust/tokio-mock-task-0.1.1
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Empty tokio-mock-task crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.1/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
diff --git a/metadata/md5-cache/dev-rust/tokio-reactor-0.1.12 b/metadata/md5-cache/dev-rust/tokio-reactor-0.1.12
deleted file mode 100644
index a6ebc91..0000000
--- a/metadata/md5-cache/dev-rust/tokio-reactor-0.1.12
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/crossbeam-utils-0.7*:= >=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0 >=dev-rust/lazy_static-1.0.2:= <dev-rust/lazy_static-2.0.0 >=dev-rust/log-0.4.1:= <dev-rust/log-0.5.0 >=dev-rust/mio-0.6.14:= <dev-rust/mio-0.7.0 >=dev-rust/num_cpus-1.8.0:= <dev-rust/num_cpus-2.0.0 =dev-rust/parking_lot-0.9*:= =dev-rust/slab-0.4*:= >=dev-rust/tokio-executor-0.1.1:= <dev-rust/tokio-executor-0.2.0 >=dev-rust/tokio-io-0.1.6:= <dev-rust/tokio-io-0.2.0 >=dev-rust/tokio-sync-0.1.1:= <dev-rust/tokio-sync-0.2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Event loop that drives Tokio I/O resources.
-EAPI=7
-HOMEPAGE=https://tokio.rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND==dev-rust/crossbeam-utils-0.7*:= >=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0 >=dev-rust/lazy_static-1.0.2:= <dev-rust/lazy_static-2.0.0 >=dev-rust/log-0.4.1:= <dev-rust/log-0.5.0 >=dev-rust/mio-0.6.14:= <dev-rust/mio-0.7.0 >=dev-rust/num_cpus-1.8.0:= <dev-rust/num_cpus-2.0.0 =dev-rust/parking_lot-0.9*:= =dev-rust/slab-0.4*:= >=dev-rust/tokio-executor-0.1.1:= <dev-rust/tokio-executor-0.2.0 >=dev-rust/tokio-io-0.1.6:= <dev-rust/tokio-io-0.2.0 >=dev-rust/tokio-sync-0.1.1:= <dev-rust/tokio-sync-0.2.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.12/r0
-SRC_URI=https://crates.io/api/v1/crates/tokio-reactor/0.1.12/download -> tokio-reactor-0.1.12.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6e3a64479ae8739ff57314fadd7e1011
diff --git a/metadata/md5-cache/dev-rust/tokio-sync-0.1.8 b/metadata/md5-cache/dev-rust/tokio-sync-0.1.8
deleted file mode 100644
index 10a075b..0000000
--- a/metadata/md5-cache/dev-rust/tokio-sync-0.1.8
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/fnv-1.0.6:= <dev-rust/fnv-2.0.0 >=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Synchronization utilities.
-EAPI=7
-HOMEPAGE=https://tokio.rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND=>=dev-rust/fnv-1.0.6:= <dev-rust/fnv-2.0.0 >=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.8/r0
-SRC_URI=https://crates.io/api/v1/crates/tokio-sync/0.1.8/download -> tokio-sync-0.1.8.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=7b59a1b76b8c9c53bac0125080e99573
diff --git a/metadata/md5-cache/dev-rust/tokio-tcp-0.1.4 b/metadata/md5-cache/dev-rust/tokio-tcp-0.1.4
deleted file mode 100644
index 52be8b9..0000000
--- a/metadata/md5-cache/dev-rust/tokio-tcp-0.1.4
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bytes-0.4*:= >=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0 =dev-rust/iovec-0.1*:= >=dev-rust/mio-0.6.14:= <dev-rust/mio-0.7.0 >=dev-rust/tokio-io-0.1.6:= <dev-rust/tokio-io-0.2.0 >=dev-rust/tokio-reactor-0.1.1:= <dev-rust/tokio-reactor-0.2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=TCP bindings for tokio.
-EAPI=7
-HOMEPAGE=https://tokio.rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND==dev-rust/bytes-0.4*:= >=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0 =dev-rust/iovec-0.1*:= >=dev-rust/mio-0.6.14:= <dev-rust/mio-0.7.0 >=dev-rust/tokio-io-0.1.6:= <dev-rust/tokio-io-0.2.0 >=dev-rust/tokio-reactor-0.1.1:= <dev-rust/tokio-reactor-0.2.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.4/r0
-SRC_URI=https://crates.io/api/v1/crates/tokio-tcp/0.1.4/download -> tokio-tcp-0.1.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=72710045c675dc89c298ba88b9c3cb08
diff --git a/metadata/md5-cache/dev-rust/tokio-threadpool-0.1.18 b/metadata/md5-cache/dev-rust/tokio-threadpool-0.1.18
deleted file mode 100644
index b3ba798..0000000
--- a/metadata/md5-cache/dev-rust/tokio-threadpool-0.1.18
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/crossbeam-deque-0.7*:= =dev-rust/crossbeam-queue-0.2*:= =dev-rust/crossbeam-utils-0.7*:= >=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0 =dev-rust/lazy_static-1*:= =dev-rust/log-0.4*:= >=dev-rust/num_cpus-1.2.0:= <dev-rust/num_cpus-2.0.0 >=dev-rust/slab-0.4.1:= <dev-rust/slab-0.5.0 >=dev-rust/tokio-executor-0.1.8:= <dev-rust/tokio-executor-0.2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A task scheduler backed by a work-stealing thread pool.
-EAPI=7
-HOMEPAGE=https://github.com/tokio-rs/tokio
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND==dev-rust/crossbeam-deque-0.7*:= =dev-rust/crossbeam-queue-0.2*:= =dev-rust/crossbeam-utils-0.7*:= >=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0 =dev-rust/lazy_static-1*:= =dev-rust/log-0.4*:= >=dev-rust/num_cpus-1.2.0:= <dev-rust/num_cpus-2.0.0 >=dev-rust/slab-0.4.1:= <dev-rust/slab-0.5.0 >=dev-rust/tokio-executor-0.1.8:= <dev-rust/tokio-executor-0.2.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.18/r0
-SRC_URI=https://crates.io/api/v1/crates/tokio-threadpool/0.1.18/download -> tokio-threadpool-0.1.18.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=7ac5c16172ae479589845ec4431ed402
diff --git a/metadata/md5-cache/dev-rust/tokio-timer-0.2.13 b/metadata/md5-cache/dev-rust/tokio-timer-0.2.13
deleted file mode 100644
index 23cf5b6..0000000
--- a/metadata/md5-cache/dev-rust/tokio-timer-0.2.13
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/crossbeam-utils-0.7*:= >=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0 >=dev-rust/slab-0.4.1:= <dev-rust/slab-0.5.0 >=dev-rust/tokio-executor-0.1.1:= <dev-rust/tokio-executor-0.2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Timer facilities for Tokio
-EAPI=7
-HOMEPAGE=https://github.com/tokio-rs/tokio
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND==dev-rust/crossbeam-utils-0.7*:= >=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0 >=dev-rust/slab-0.4.1:= <dev-rust/slab-0.5.0 >=dev-rust/tokio-executor-0.1.1:= <dev-rust/tokio-executor-0.2.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.2.13/r0
-SRC_URI=https://crates.io/api/v1/crates/tokio-timer/0.2.13/download -> tokio-timer-0.2.13.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6c4dfd99a9879a2e79ca42826e23c806
diff --git a/metadata/md5-cache/dev-rust/tokio-udp-0.1.6 b/metadata/md5-cache/dev-rust/tokio-udp-0.1.6
deleted file mode 100644
index 45cd2ca..0000000
--- a/metadata/md5-cache/dev-rust/tokio-udp-0.1.6
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/bytes-0.4*:= >=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0 =dev-rust/log-0.4*:= >=dev-rust/mio-0.6.14:= <dev-rust/mio-0.7.0 =dev-rust/tokio-codec-0.1*:= >=dev-rust/tokio-io-0.1.7:= <dev-rust/tokio-io-0.2.0 >=dev-rust/tokio-reactor-0.1.1:= <dev-rust/tokio-reactor-0.2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=UDP bindings for tokio.
-EAPI=7
-HOMEPAGE=https://tokio.rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND==dev-rust/bytes-0.4*:= >=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0 =dev-rust/log-0.4*:= >=dev-rust/mio-0.6.14:= <dev-rust/mio-0.7.0 =dev-rust/tokio-codec-0.1*:= >=dev-rust/tokio-io-0.1.7:= <dev-rust/tokio-io-0.2.0 >=dev-rust/tokio-reactor-0.1.1:= <dev-rust/tokio-reactor-0.2.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.6/r0
-SRC_URI=https://crates.io/api/v1/crates/tokio-udp/0.1.6/download -> tokio-udp-0.1.6.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2586f76fc622c09fc0ed18e711d0ae35
diff --git a/metadata/md5-cache/dev-rust/tokio-uds-0.2.7 b/metadata/md5-cache/dev-rust/tokio-uds-0.2.7
deleted file mode 100644
index 8f70b47..0000000
--- a/metadata/md5-cache/dev-rust/tokio-uds-0.2.7
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/bytes-0.4.8:= <dev-rust/bytes-0.5.0 >=dev-rust/futures-0.1.21:= <dev-rust/futures-0.2.0 >=dev-rust/iovec-0.1.2:= <dev-rust/iovec-0.2.0 >=dev-rust/libc-0.2.42:= <dev-rust/libc-0.3.0 >=dev-rust/log-0.4.2:= <dev-rust/log-0.5.0 >=dev-rust/mio-0.6.14:= <dev-rust/mio-0.7.0 >=dev-rust/mio-uds-0.6.5:= <dev-rust/mio-uds-0.7.0 =dev-rust/tokio-codec-0.1*:= >=dev-rust/tokio-io-0.1.6:= <dev-rust/tokio-io-0.2.0 >=dev-rust/tokio-reactor-0.1.1:= <dev-rust/tokio-reactor-0.2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Unix Domain sockets for Tokio
-EAPI=7
-HOMEPAGE=https://github.com/tokio-rs/tokio
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND=>=dev-rust/bytes-0.4.8:= <dev-rust/bytes-0.5.0 >=dev-rust/futures-0.1.21:= <dev-rust/futures-0.2.0 >=dev-rust/iovec-0.1.2:= <dev-rust/iovec-0.2.0 >=dev-rust/libc-0.2.42:= <dev-rust/libc-0.3.0 >=dev-rust/log-0.4.2:= <dev-rust/log-0.5.0 >=dev-rust/mio-0.6.14:= <dev-rust/mio-0.7.0 >=dev-rust/mio-uds-0.6.5:= <dev-rust/mio-uds-0.7.0 =dev-rust/tokio-codec-0.1*:= >=dev-rust/tokio-io-0.1.6:= <dev-rust/tokio-io-0.2.0 >=dev-rust/tokio-reactor-0.1.1:= <dev-rust/tokio-reactor-0.2.0
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.2.7/r0
-SRC_URI=https://crates.io/api/v1/crates/tokio-uds/0.2.7/download -> tokio-uds-0.2.7.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=571b753c8fe37ea457baca41b8ed4ced
diff --git a/metadata/md5-cache/dev-rust/toml-0.5.1 b/metadata/md5-cache/dev-rust/toml-0.5.1
index 01992f5..25ef70c 100644
--- a/metadata/md5-cache/dev-rust/toml-0.5.1
+++ b/metadata/md5-cache/dev-rust/toml-0.5.1
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/serde-1.0:= >=dev-rust/linked-hash-map-0.5.2:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/serde-1.0:= >=dev-rust/linked-hash-map-0.5.2:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A TOML decoder and encoder for Rust.
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/alexcrichton/toml-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.5.1/r0
 SRC_URI=https://crates.io/api/v1/crates/toml/0.5.1/download -> toml-0.5.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=0f8f8d7dcb6f265d3f8774b712726649
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=974c3297c43a4ef5fbbb31b51f93ab24
diff --git a/metadata/md5-cache/dev-rust/tracing-core-0.1.0 b/metadata/md5-cache/dev-rust/tracing-core-0.1.0
deleted file mode 100644
index bce4f9f..0000000
--- a/metadata/md5-cache/dev-rust/tracing-core-0.1.0
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Empty crate
-EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.1.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
diff --git a/metadata/md5-cache/dev-rust/trust-dns-proto-0.7.3 b/metadata/md5-cache/dev-rust/trust-dns-proto-0.7.3
deleted file mode 100644
index 1f2d938..0000000
--- a/metadata/md5-cache/dev-rust/trust-dns-proto-0.7.3
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/byteorder-1*:= =dev-rust/data-encoding-2*:= =dev-rust/enum-as-inner-0.2*:= =dev-rust/failure-0.1*:= =dev-rust/futures-0.1*:= =dev-rust/idna-0.1*:= =dev-rust/lazy_static-1*:= =dev-rust/log-0.4*:= =dev-rust/openssl-0.10*:= =dev-rust/rand-0.6*:= =dev-rust/smallvec-0.6*:= =dev-rust/socket2-0.3*:= =dev-rust/tokio-executor-0.1*:= =dev-rust/tokio-io-0.1*:= =dev-rust/tokio-reactor-0.1*:= =dev-rust/tokio-tcp-0.1*:= =dev-rust/tokio-timer-0.2*:= =dev-rust/tokio-udp-0.1*:= =dev-rust/url-1*:= =dev-rust/ring-0.14*:= =dev-rust/serde-1*:= =dev-rust/untrusted-0.6*:= =dev-rust/env_logger-0.6*:= =dev-rust/tokio-0.1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=DNS protocol library and implementation for Trust-DNS
-EAPI=7
-HOMEPAGE=http://www.trust-dns.org/index.html
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/byteorder-1*:= =dev-rust/data-encoding-2*:= =dev-rust/enum-as-inner-0.2*:= =dev-rust/failure-0.1*:= =dev-rust/futures-0.1*:= =dev-rust/idna-0.1*:= =dev-rust/lazy_static-1*:= =dev-rust/log-0.4*:= =dev-rust/openssl-0.10*:= =dev-rust/rand-0.6*:= =dev-rust/smallvec-0.6*:= =dev-rust/socket2-0.3*:= =dev-rust/tokio-executor-0.1*:= =dev-rust/tokio-io-0.1*:= =dev-rust/tokio-reactor-0.1*:= =dev-rust/tokio-tcp-0.1*:= =dev-rust/tokio-timer-0.2*:= =dev-rust/tokio-udp-0.1*:= =dev-rust/url-1*:= =dev-rust/ring-0.14*:= =dev-rust/serde-1*:= =dev-rust/untrusted-0.6*:= =dev-rust/env_logger-0.6*:= =dev-rust/tokio-0.1*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.7.3/r0
-SRC_URI=https://crates.io/api/v1/crates/trust-dns-proto/0.7.3/download -> trust-dns-proto-0.7.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=b2a62db9078a6a3ffc0c1f01b07c3e18
diff --git a/metadata/md5-cache/dev-rust/trust-dns-proto-0.7.3-r4 b/metadata/md5-cache/dev-rust/trust-dns-proto-0.7.3-r4
deleted file mode 100644
index 373e63b..0000000
--- a/metadata/md5-cache/dev-rust/trust-dns-proto-0.7.3-r4
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/byteorder-1*:= =dev-rust/data-encoding-2*:= =dev-rust/enum-as-inner-0.2*:= =dev-rust/failure-0.1*:= =dev-rust/futures-0.1*:= =dev-rust/idna-0.1*:= =dev-rust/lazy_static-1*:= =dev-rust/log-0.4*:= =dev-rust/openssl-0.10*:= =dev-rust/rand-0.6*:= =dev-rust/smallvec-0.6*:= =dev-rust/socket2-0.3*:= =dev-rust/tokio-executor-0.1*:= =dev-rust/tokio-io-0.1*:= =dev-rust/tokio-reactor-0.1*:= =dev-rust/tokio-tcp-0.1*:= =dev-rust/tokio-timer-0.2*:= =dev-rust/tokio-udp-0.1*:= =dev-rust/url-1*:= =dev-rust/ring-0.14*:= =dev-rust/serde-1*:= =dev-rust/untrusted-0.6*:= =dev-rust/env_logger-0.6*:= =dev-rust/tokio-0.1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=DNS protocol library and implementation for Trust-DNS
-EAPI=7
-HOMEPAGE=http://www.trust-dns.org/index.html
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/byteorder-1*:= =dev-rust/data-encoding-2*:= =dev-rust/enum-as-inner-0.2*:= =dev-rust/failure-0.1*:= =dev-rust/futures-0.1*:= =dev-rust/idna-0.1*:= =dev-rust/lazy_static-1*:= =dev-rust/log-0.4*:= =dev-rust/openssl-0.10*:= =dev-rust/rand-0.6*:= =dev-rust/smallvec-0.6*:= =dev-rust/socket2-0.3*:= =dev-rust/tokio-executor-0.1*:= =dev-rust/tokio-io-0.1*:= =dev-rust/tokio-reactor-0.1*:= =dev-rust/tokio-tcp-0.1*:= =dev-rust/tokio-timer-0.2*:= =dev-rust/tokio-udp-0.1*:= =dev-rust/url-1*:= =dev-rust/ring-0.14*:= =dev-rust/serde-1*:= =dev-rust/untrusted-0.6*:= =dev-rust/env_logger-0.6*:= =dev-rust/tokio-0.1*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.7.3/r4
-SRC_URI=https://crates.io/api/v1/crates/trust-dns-proto/0.7.3/download -> trust-dns-proto-0.7.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=b2a62db9078a6a3ffc0c1f01b07c3e18
diff --git a/metadata/md5-cache/dev-rust/try-lock-0.2.2 b/metadata/md5-cache/dev-rust/try-lock-0.2.2
deleted file mode 100644
index 1e844db..0000000
--- a/metadata/md5-cache/dev-rust/try-lock-0.2.2
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A light-weight lock guarded by an atomic boolean.
-EAPI=6
-HOMEPAGE=https://github.com/seanmonstar/try-lock
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.2.2/r0
-SRC_URI=https://crates.io/api/v1/crates/try-lock/0.2.2/download -> try-lock-0.2.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=a74949c691cb6e85a9d7422c5b12a5b2
diff --git a/metadata/md5-cache/dev-rust/typenum-1.13.0 b/metadata/md5-cache/dev-rust/typenum-1.13.0
index 76ecd9d..341d776 100644
--- a/metadata/md5-cache/dev-rust/typenum-1.13.0
+++ b/metadata/md5-cache/dev-rust/typenum-1.13.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Typenum is a Rust library for type-level numbers evaluated at compile time. It currently supports bits, unsigned integers, and signed integers. It also provides a type-level array of type-level numbers, but its implementation is incomplete.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/typenum
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.13.0/r0
 SRC_URI=https://crates.io/api/v1/crates/typenum/1.13.0/download -> typenum-1.13.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=44858b73f473362fd8570d683dadd347
diff --git a/metadata/md5-cache/dev-rust/ufmt-0.1.0 b/metadata/md5-cache/dev-rust/ufmt-0.1.0
index 450d71f..6e88232 100644
--- a/metadata/md5-cache/dev-rust/ufmt-0.1.0
+++ b/metadata/md5-cache/dev-rust/ufmt-0.1.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/proc-macro-hack-0.5.11:= <dev-rust/proc-macro-hack-0.6.0 =dev-rust/ufmt-macros-0.1*:= =dev-rust/ufmt-write-0.1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/proc-macro-hack-0.5.11:= <dev-rust/proc-macro-hack-0.6.0 =dev-rust/ufmt-macros-0.1*:= =dev-rust/ufmt-write-0.1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A (6-40x) smaller, (2-9x) faster and panic-free alternative to "core::fmt"
 EAPI=7
 HOMEPAGE=https://crates.io/crates/ufmt
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/proc-macro-hack-0.5.11:= <dev-rust/proc-macro-hack-0.6.0 =dev-rust/ufmt-macros-0.1*:= =dev-rust/ufmt-write-0.1*:=
+RDEPEND=>=dev-rust/proc-macro-hack-0.5.11:= <dev-rust/proc-macro-hack-0.6.0 =dev-rust/ufmt-macros-0.1*:= =dev-rust/ufmt-write-0.1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.0/r0
 SRC_URI=https://crates.io/api/v1/crates/ufmt/0.1.0/download -> ufmt-0.1.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=48331cc92d0d8cb5d4d27d9bc581ce71
diff --git a/metadata/md5-cache/dev-rust/ufmt-macros-0.1.1 b/metadata/md5-cache/dev-rust/ufmt-macros-0.1.1
index 1c58809..6d05a57 100644
--- a/metadata/md5-cache/dev-rust/ufmt-macros-0.1.1
+++ b/metadata/md5-cache/dev-rust/ufmt-macros-0.1.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/proc-macro-hack-0.5.11:= <dev-rust/proc-macro-hack-0.6.0 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/proc-macro-hack-0.5.11:= <dev-rust/proc-macro-hack-0.6.0 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION="μfmt" macros
 EAPI=7
 HOMEPAGE=https://crates.io/crates/ufmt-macros
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/proc-macro-hack-0.5.11:= <dev-rust/proc-macro-hack-0.6.0 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:=
+RDEPEND=>=dev-rust/proc-macro-hack-0.5.11:= <dev-rust/proc-macro-hack-0.6.0 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.1/r0
 SRC_URI=https://crates.io/api/v1/crates/ufmt-macros/0.1.1/download -> ufmt-macros-0.1.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=2d2adbb5130fe3a13f1d7637d990feba
diff --git a/metadata/md5-cache/dev-rust/ufmt-write-0.1.0 b/metadata/md5-cache/dev-rust/ufmt-write-0.1.0
index 5ba5d82..d75848b 100644
--- a/metadata/md5-cache/dev-rust/ufmt-write-0.1.0
+++ b/metadata/md5-cache/dev-rust/ufmt-write-0.1.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION="μfmt""s "uWrite" trait
 EAPI=7
 HOMEPAGE=https://crates.io/crates/ufmt-write
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.0/r0
 SRC_URI=https://crates.io/api/v1/crates/ufmt-write/0.1.0/download -> ufmt-write-0.1.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=85d8a3f7f5cd03b808172b558ac61238
diff --git a/metadata/md5-cache/dev-rust/unicase-2.6.0 b/metadata/md5-cache/dev-rust/unicase-2.6.0
index 9ce37c0..4fd290831 100644
--- a/metadata/md5-cache/dev-rust/unicase-2.6.0
+++ b/metadata/md5-cache/dev-rust/unicase-2.6.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/version_check-0.9*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/version_check-0.9*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A case-insensitive wrapper around strings.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/unicase
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/version_check-0.9*:=
+RDEPEND==dev-rust/version_check-0.9*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=2.6.0/r0
 SRC_URI=https://crates.io/api/v1/crates/unicase/2.6.0/download -> unicase-2.6.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=68da227e2adb06d23b318ce6576fb476
diff --git a/metadata/md5-cache/dev-rust/unicode-bidi-0.3.4 b/metadata/md5-cache/dev-rust/unicode-bidi-0.3.4
index 094f25f..efc8f67 100644
--- a/metadata/md5-cache/dev-rust/unicode-bidi-0.3.4
+++ b/metadata/md5-cache/dev-rust/unicode-bidi-0.3.4
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/matches-0.1*:= =dev-rust/flame-0.1*:= =dev-rust/flamer-0.1*:= =dev-rust/serde-1*:= =dev-rust/serde_test-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/matches-0.1*:= =dev-rust/flame-0.1*:= =dev-rust/flamer-0.1*:= =dev-rust/serde-1*:= =dev-rust/serde_test-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Implementation of the Unicode Bidirectional Algorithm
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/servo/unicode-bidi
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.4/r0
 SRC_URI=https://crates.io/api/v1/crates/unicode-bidi/0.3.4/download -> unicode-bidi-0.3.4.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=4bb4d7ea16db1e0822146a7a1d8f8cc3
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c61efb2aa7548c4aa05bd57035f51c2f
diff --git a/metadata/md5-cache/dev-rust/unicode-linebreak-0.1.2 b/metadata/md5-cache/dev-rust/unicode-linebreak-0.1.2
new file mode 100644
index 0000000..6fd1f42
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/unicode-linebreak-0.1.2
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.1.2/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dcd7e86695f5a9ea614dc8b5a7b64d6d
diff --git a/metadata/md5-cache/dev-rust/unicode-normalization-0.1.19 b/metadata/md5-cache/dev-rust/unicode-normalization-0.1.19
new file mode 100644
index 0000000..c1cb3d6
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/unicode-normalization-0.1.19
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/tinyvec-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=This crate provides functions for normalization of Unicode strings, including Canonical and Compatible Decomposition and Recomposition, as described in Unicode Standard Annex #15.
+EAPI=7
+HOMEPAGE=https://github.com/unicode-rs/unicode-normalization
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/tinyvec-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.1.19/r0
+SRC_URI=https://crates.io/api/v1/crates/unicode-normalization/0.1.19/download -> unicode-normalization-0.1.19.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=cd4667f73f25603202e823a0cbb3dc07
diff --git a/metadata/md5-cache/dev-rust/unicode-normalization-0.1.8 b/metadata/md5-cache/dev-rust/unicode-normalization-0.1.8
index 84ed9f0..56084b9 100644
--- a/metadata/md5-cache/dev-rust/unicode-normalization-0.1.8
+++ b/metadata/md5-cache/dev-rust/unicode-normalization-0.1.8
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/smallvec-0.6*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/smallvec-0.6*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Unicode character composition and decomposition utilities
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/unicode-rs/unicode-normalization
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.1.8/r0
 SRC_URI=https://crates.io/api/v1/crates/unicode-normalization/0.1.8/download -> unicode-normalization-0.1.8.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=8f382f638fd805ce4ec567489a7e3edc
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=998a1c31ada0bcd98b63a86ae68901ba
diff --git a/metadata/md5-cache/dev-rust/unicode-segmentation-1.8.0 b/metadata/md5-cache/dev-rust/unicode-segmentation-1.8.0
index 1ee91a0..cfc2991 100644
--- a/metadata/md5-cache/dev-rust/unicode-segmentation-1.8.0
+++ b/metadata/md5-cache/dev-rust/unicode-segmentation-1.8.0
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=This crate provides Grapheme Cluster, Word and Sentence boundaries according to Unicode Standard Annex #29 rules.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/unicode-segmentation
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=1.8.0/r0
 SRC_URI=https://crates.io/api/v1/crates/unicode-segmentation/1.8.0/download -> unicode-segmentation-1.8.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=de12314ab2b7a89fde39e74c0a239238
diff --git a/metadata/md5-cache/dev-rust/unicode-width-0.1.8 b/metadata/md5-cache/dev-rust/unicode-width-0.1.8
index 1fa50e8..b94f2e8 100644
--- a/metadata/md5-cache/dev-rust/unicode-width-0.1.8
+++ b/metadata/md5-cache/dev-rust/unicode-width-0.1.8
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/compiler_builtins-0.1*:= =dev-rust/rustc-std-workspace-core-1*:= =dev-rust/rustc-std-workspace-std-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/compiler_builtins-0.1*:= =dev-rust/rustc-std-workspace-core-1*:= =dev-rust/rustc-std-workspace-std-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Determine displayed width of 'char' and 'str' types according to Unicode Standard Annex #11 rules.
 EAPI=7
 HOMEPAGE=https://github.com/unicode-rs/unicode-width
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/compiler_builtins-0.1*:= =dev-rust/rustc-std-workspace-core-1*:= =dev-rust/rustc-std-workspace-std-1*:=
+RDEPEND==dev-rust/compiler_builtins-0.1*:= =dev-rust/rustc-std-workspace-core-1*:= =dev-rust/rustc-std-workspace-std-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.8/r0
 SRC_URI=https://crates.io/api/v1/crates/unicode-width/0.1.8/download -> unicode-width-0.1.8.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=3723a2720b4ab67162750600f7d6e437
diff --git a/metadata/md5-cache/dev-rust/unicode-width-0.1.9 b/metadata/md5-cache/dev-rust/unicode-width-0.1.9
new file mode 100644
index 0000000..057d947
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/unicode-width-0.1.9
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/compiler_builtins-0.1*:= =dev-rust/rustc-std-workspace-core-1*:= =dev-rust/rustc-std-workspace-std-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Determine displayed width of "char" and "str" types according to Unicode Standard Annex #11 rules.
+EAPI=7
+HOMEPAGE=https://github.com/unicode-rs/unicode-width
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/compiler_builtins-0.1*:= =dev-rust/rustc-std-workspace-core-1*:= =dev-rust/rustc-std-workspace-std-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.1.9/r0
+SRC_URI=https://crates.io/api/v1/crates/unicode-width/0.1.9/download -> unicode-width-0.1.9.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9f9255f09a16cd2a379bbd024abc303c
diff --git a/metadata/md5-cache/dev-rust/unicode-xid-0.1.0 b/metadata/md5-cache/dev-rust/unicode-xid-0.1.0
index a249731..3d29967 100644
--- a/metadata/md5-cache/dev-rust/unicode-xid-0.1.0
+++ b/metadata/md5-cache/dev-rust/unicode-xid-0.1.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Determines whether characters have the XID_Start or XID_Continue properties according to Unicode Standard Annex #31
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/unicode-rs/unicode-xid
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.0/r0
 SRC_URI=https://crates.io/api/v1/crates/unicode-xid/0.1.0/download -> unicode-xid-0.1.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=587c9313949826bc56180f397b1b754d
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=97756bec37071c115285718d9b807cef
diff --git a/metadata/md5-cache/dev-rust/unicode-xid-0.2.2 b/metadata/md5-cache/dev-rust/unicode-xid-0.2.2
index d766c97..e92488e 100644
--- a/metadata/md5-cache/dev-rust/unicode-xid-0.2.2
+++ b/metadata/md5-cache/dev-rust/unicode-xid-0.2.2
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Determine whether characters have the XID_Start or XID_Continue properties according to Unicode Standard Annex #31.
 EAPI=7
 HOMEPAGE=https://github.com/unicode-rs/unicode-xid
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.2/r0
 SRC_URI=https://crates.io/api/v1/crates/unicode-xid/0.2.2/download -> unicode-xid-0.2.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=419f2d1a564596b7d7dded89ea841f91
diff --git a/metadata/md5-cache/dev-rust/uniquote-3.0.0 b/metadata/md5-cache/dev-rust/uniquote-3.0.0
new file mode 100644
index 0000000..f382cd3
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/uniquote-3.0.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=3.0.0/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dcd7e86695f5a9ea614dc8b5a7b64d6d
diff --git a/metadata/md5-cache/dev-rust/unix_socket-0.5.0 b/metadata/md5-cache/dev-rust/unix_socket-0.5.0
index 0035dad..49435b5 100644
--- a/metadata/md5-cache/dev-rust/unix_socket-0.5.0
+++ b/metadata/md5-cache/dev-rust/unix_socket-0.5.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/cfg-if-0.1.0:= >=dev-rust/libc-0.2.1:= >=dev-rust/tempdir-0.3.0:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/cfg-if-0.1.0:= >=dev-rust/libc-0.2.1:= >=dev-rust/tempdir-0.3.0:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Support for Unix domain socket clients and servers.
-EAPI=6
+EAPI=7
 HOMEPAGE=https://github.com/rust-lang-nursery/unix-socket
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.5.0/r0
 SRC_URI=https://crates.io/api/v1/crates/unix_socket/0.5.0/download -> unix_socket-0.5.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=e02db72fd402939ed4ea6411b039a16f
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ab1396229025949dfb5bb7e388207049
diff --git a/metadata/md5-cache/dev-rust/untrusted-0.6.2 b/metadata/md5-cache/dev-rust/untrusted-0.6.2
deleted file mode 100644
index 151efce..0000000
--- a/metadata/md5-cache/dev-rust/untrusted-0.6.2
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Empty untrusted crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.6.2/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
diff --git a/metadata/md5-cache/dev-rust/url-1.7.2 b/metadata/md5-cache/dev-rust/url-1.7.2
deleted file mode 100644
index 81a90e9..0000000
--- a/metadata/md5-cache/dev-rust/url-1.7.2
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/idna-0.1*:= =dev-rust/matches-0.1*:= =dev-rust/percent-encoding-1*:= =dev-rust/encoding-0.2*:= =dev-rust/heapsize-0.4*:= =dev-rust/rustc-serialize-0.3*:= =dev-rust/serde-0.8*:= =dev-rust/bencher-0.1*:= =dev-rust/rustc-test-0.3*:= =dev-rust/serde_json-0.8*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=URL library for Rust, based on the URL Standard
-EAPI=6
-HOMEPAGE=https://github.com/servo/rust-url
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-RESTRICT=test
-SLOT=1.7.2/r0
-SRC_URI=https://crates.io/api/v1/crates/url/1.7.2/download -> url-1.7.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=906cf34114f4dbc00b2fdb0b65476471
diff --git a/metadata/md5-cache/dev-rust/url-2.0.0 b/metadata/md5-cache/dev-rust/url-2.0.0
index 87b676a..adb978a 100644
--- a/metadata/md5-cache/dev-rust/url-2.0.0
+++ b/metadata/md5-cache/dev-rust/url-2.0.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty url crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=2.0.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=a24171f2ba7b7f5d00b155293ff5debe
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/url-2.2.2 b/metadata/md5-cache/dev-rust/url-2.2.2
new file mode 100644
index 0000000..595a713
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/url-2.2.2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/form_urlencoded-1*:= =dev-rust/idna-0.2*:= =dev-rust/matches-0.1*:= >=dev-rust/percent-encoding-2.1.0 <dev-rust/percent-encoding-3.0.0_alpha:= =dev-rust/serde-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=URL library for Rust, based on the WHATWG URL Standard
+EAPI=7
+HOMEPAGE=https://crates.io/crates/url
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND==dev-rust/form_urlencoded-1*:= =dev-rust/idna-0.2*:= =dev-rust/matches-0.1*:= >=dev-rust/percent-encoding-2.1.0 <dev-rust/percent-encoding-3.0.0_alpha:= =dev-rust/serde-1*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=2.2.2/r0
+SRC_URI=https://crates.io/api/v1/crates/url/2.2.2/download -> url-2.2.2.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1abba55e4f79a0d561498270bfa239b0
diff --git a/metadata/md5-cache/dev-rust/utf8parse-0.2.0 b/metadata/md5-cache/dev-rust/utf8parse-0.2.0
index b9f9a77..c6ef4f7 100644
--- a/metadata/md5-cache/dev-rust/utf8parse-0.2.0
+++ b/metadata/md5-cache/dev-rust/utf8parse-0.2.0
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Table-driven UTF-8 parser.
 EAPI=7
 HOMEPAGE=https://docs.rs/utf8parse/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.0/r0
 SRC_URI=https://crates.io/api/v1/crates/utf8parse/0.2.0/download -> utf8parse-0.2.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=431193648756458a73024e44354fc630
diff --git a/metadata/md5-cache/dev-rust/uuid-0.8.2 b/metadata/md5-cache/dev-rust/uuid-0.8.2
index 6d2074a..1d62bcc 100644
--- a/metadata/md5-cache/dev-rust/uuid-0.8.2
+++ b/metadata/md5-cache/dev-rust/uuid-0.8.2
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/getrandom-0.2*:= =dev-rust/md5-0.7*:= >=dev-rust/serde-1.0.56:= <dev-rust/serde-2.0.0 =dev-rust/sha1-0.6*:= =dev-rust/slog-2*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/getrandom-0.2*:= =dev-rust/md5-0.7*:= >=dev-rust/serde-1.0.56:= <dev-rust/serde-2.0.0 =dev-rust/sha1-0.6*:= =dev-rust/slog-2*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A library to generate and parse UUIDs.
 EAPI=7
 HOMEPAGE=https://github.com/uuid-rs/uuid
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
-RDEPEND==dev-rust/getrandom-0.2*:= =dev-rust/md5-0.7*:= >=dev-rust/serde-1.0.56:= <dev-rust/serde-2.0.0 =dev-rust/sha1-0.6*:= =dev-rust/slog-2*:=
+RDEPEND==dev-rust/getrandom-0.2*:= =dev-rust/md5-0.7*:= >=dev-rust/serde-1.0.56:= <dev-rust/serde-2.0.0 =dev-rust/sha1-0.6*:= =dev-rust/slog-2*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.8.2/r0
 SRC_URI=https://crates.io/api/v1/crates/uuid/0.8.2/download -> uuid-0.8.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=d0905e518b21bed7a50d2a7e6f4c6f2e
diff --git a/metadata/md5-cache/dev-rust/value-bag-1.0.0 b/metadata/md5-cache/dev-rust/value-bag-1.0.0
index 89b8c8d..c829268 100644
--- a/metadata/md5-cache/dev-rust/value-bag-1.0.0
+++ b/metadata/md5-cache/dev-rust/value-bag-1.0.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.0.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/vboot_reference-sys-1.0.0-r4 b/metadata/md5-cache/dev-rust/vboot_reference-sys-1.0.0-r4
index 11a8e8c..68908a8 100644
--- a/metadata/md5-cache/dev-rust/vboot_reference-sys-1.0.0-r4
+++ b/metadata/md5-cache/dev-rust/vboot_reference-sys-1.0.0-r4
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/vboot_reference:= >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/pkg-config-0.3.0:= <dev-rust/pkg-config-0.4.0 =dev-rust/which-4*:= >=virtual/bindgen-0.59:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=chromeos-base/vboot_reference:= >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/pkg-config-0.3.0:= <dev-rust/pkg-config-0.4.0 =dev-rust/which-4*:= >=virtual/bindgen-0.59:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Chrome OS verified boot tools Rust bindings
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+/HEAD/rust
-IUSE=cros_host cros_workon_tree_122ceb184fa0013a15fa4a0d4644fec0c6a8778c_e829420c9fa9f62f2a83f57313a80d8149c52a0c cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros_host cros_workon_tree_122ceb184fa0013a15fa4a0d4644fec0c6a8778c_e829420c9fa9f62f2a83f57313a80d8149c52a0c cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=chromeos-base/vboot_reference:= >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/pkg-config-0.3.0:= <dev-rust/pkg-config-0.4.0 =dev-rust/which-4*:= >=virtual/bindgen-0.59:=
+RDEPEND=chromeos-base/vboot_reference:= >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/pkg-config-0.3.0:= <dev-rust/pkg-config-0.4.0 =dev-rust/which-4*:= >=virtual/bindgen-0.59:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/1.0.0-r4
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=dd41a8f34d1949c59a2cebfbde37d365
diff --git a/metadata/md5-cache/dev-rust/vboot_reference-sys-9999 b/metadata/md5-cache/dev-rust/vboot_reference-sys-9999
index ccda202..20bed34 100644
--- a/metadata/md5-cache/dev-rust/vboot_reference-sys-9999
+++ b/metadata/md5-cache/dev-rust/vboot_reference-sys-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=chromeos-base/vboot_reference:= >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/pkg-config-0.3.0:= <dev-rust/pkg-config-0.4.0 =dev-rust/which-4*:= >=virtual/bindgen-0.59:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=chromeos-base/vboot_reference:= >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/pkg-config-0.3.0:= <dev-rust/pkg-config-0.4.0 =dev-rust/which-4*:= >=virtual/bindgen-0.59:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Chrome OS verified boot tools Rust bindings
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+/HEAD/rust
-IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=chromeos-base/vboot_reference:= >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/pkg-config-0.3.0:= <dev-rust/pkg-config-0.4.0 =dev-rust/which-4*:= >=virtual/bindgen-0.59:=
+RDEPEND=chromeos-base/vboot_reference:= >=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0 >=dev-rust/pkg-config-0.3.0:= <dev-rust/pkg-config-0.4.0 =dev-rust/which-4*:= >=virtual/bindgen-0.59:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=8901c02332f31a20bfadfd228952211e
diff --git a/metadata/md5-cache/dev-rust/vcell-0.1.3 b/metadata/md5-cache/dev-rust/vcell-0.1.3
index 8ac56ce..d7bdc7a 100644
--- a/metadata/md5-cache/dev-rust/vcell-0.1.3
+++ b/metadata/md5-cache/dev-rust/vcell-0.1.3
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION="Cell" with volatile read / write operations
 EAPI=7
 HOMEPAGE=https://crates.io/crates/vcell
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.1.3/r0
 SRC_URI=https://crates.io/api/v1/crates/vcell/0.1.3/download -> vcell-0.1.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=b5b7f045e5dd11b61adcaf124f65992e
diff --git a/metadata/md5-cache/dev-rust/vcpkg-0.2.11 b/metadata/md5-cache/dev-rust/vcpkg-0.2.11
index 2a615ab..7972acb 100644
--- a/metadata/md5-cache/dev-rust/vcpkg-0.2.11
+++ b/metadata/md5-cache/dev-rust/vcpkg-0.2.11
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=This is a helper for finding native MSVC ABI libraries in a Vcpkg installation from cargo build scripts.
 EAPI=7
 HOMEPAGE=https://github.com/mcgoo/vcpkg-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=!=dev-rust/vcpkg-0.2*
+RDEPEND=!=dev-rust/vcpkg-0.2* virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.2.11/r0
 SRC_URI=https://crates.io/api/v1/crates/vcpkg/0.2.11/download -> vcpkg-0.2.11.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=6809328d40953f45487700c6d7d0cf9b
diff --git a/metadata/md5-cache/dev-rust/vcpkg-0.2.11-r1 b/metadata/md5-cache/dev-rust/vcpkg-0.2.11-r1
index 22973ae..48430b1 100644
--- a/metadata/md5-cache/dev-rust/vcpkg-0.2.11-r1
+++ b/metadata/md5-cache/dev-rust/vcpkg-0.2.11-r1
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=This is a helper for finding native MSVC ABI libraries in a Vcpkg installation from cargo build scripts.
 EAPI=7
 HOMEPAGE=https://github.com/mcgoo/vcpkg-rs
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=!=dev-rust/vcpkg-0.2*
+RDEPEND=!=dev-rust/vcpkg-0.2* virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=0.2.11/r1
 SRC_URI=https://crates.io/api/v1/crates/vcpkg/0.2.11/download -> vcpkg-0.2.11.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=6809328d40953f45487700c6d7d0cf9b
diff --git a/metadata/md5-cache/dev-rust/vec_map-0.8.2 b/metadata/md5-cache/dev-rust/vec_map-0.8.2
index 07031c9..cc8a76c 100644
--- a/metadata/md5-cache/dev-rust/vec_map-0.8.2
+++ b/metadata/md5-cache/dev-rust/vec_map-0.8.2
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/serde-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/serde-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=A simple map based on a vector for small integer keys
 EAPI=7
 HOMEPAGE=https://github.com/contain-rs/vec-map
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/serde-1*:=
+RDEPEND==dev-rust/serde-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.8.2/r0
 SRC_URI=https://crates.io/api/v1/crates/vec_map/0.8.2/download -> vec_map-0.8.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=2ed4ffa41b94ee958505e06f628dfbf5
diff --git a/metadata/md5-cache/dev-rust/version_check-0.9.3 b/metadata/md5-cache/dev-rust/version_check-0.9.3
index a76b78e..c70e6a7 100644
--- a/metadata/md5-cache/dev-rust/version_check-0.9.3
+++ b/metadata/md5-cache/dev-rust/version_check-0.9.3
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Tiny crate to check the version of the installed/running rustc.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/version_check
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.9.3/r0
 SRC_URI=https://crates.io/api/v1/crates/version_check/0.9.3/download -> version_check-0.9.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=73787f10e9c968621c5f12de2b3b6b39
diff --git a/metadata/md5-cache/dev-rust/void-1.0.2 b/metadata/md5-cache/dev-rust/void-1.0.2
index 6814905..a47c2ed 100644
--- a/metadata/md5-cache/dev-rust/void-1.0.2
+++ b/metadata/md5-cache/dev-rust/void-1.0.2
@@ -1,14 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=The uninhabited void type for use in statically impossible cases.
 EAPI=7
 HOMEPAGE=https://github.com/reem/rust-void.git
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=1.0.2/r0
 SRC_URI=https://crates.io/api/v1/crates/void/1.0.2/download -> void-1.0.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=657b30881542a7319d849769cabaf979
diff --git a/metadata/md5-cache/dev-rust/volatile-register-0.2.0 b/metadata/md5-cache/dev-rust/volatile-register-0.2.0
index 7fcea75..72a006e 100644
--- a/metadata/md5-cache/dev-rust/volatile-register-0.2.0
+++ b/metadata/md5-cache/dev-rust/volatile-register-0.2.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/vcell-0.1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/vcell-0.1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Volatile access to memory mapped hardware registers
 EAPI=7
 HOMEPAGE=https://crates.io/crates/volatile-register
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/vcell-0.1*:=
+RDEPEND==dev-rust/vcell-0.1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.0/r0
 SRC_URI=https://crates.io/api/v1/crates/volatile-register/0.2.0/download -> volatile-register-0.2.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=03f56e6f25feadee1e6ecbcf148dd297
diff --git a/metadata/md5-cache/dev-rust/want-0.2.0 b/metadata/md5-cache/dev-rust/want-0.2.0
deleted file mode 100644
index 4fd796b..0000000
--- a/metadata/md5-cache/dev-rust/want-0.2.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/futures-0.1:= >=dev-rust/log-0.4:= >=dev-rust/try-lock-0.2:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Detect when another Future wants a result.
-EAPI=6
-HOMEPAGE=https://github.com/seanmonstar/want
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0.2.0/r0
-SRC_URI=https://crates.io/api/v1/crates/want/0.2.0/download -> want-0.2.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=45904c3b43e35e7446bffc2f68bbc86b
diff --git a/metadata/md5-cache/dev-rust/wasi-0.10.0 b/metadata/md5-cache/dev-rust/wasi-0.10.0
index fa32b91..cdb2f08 100644
--- a/metadata/md5-cache/dev-rust/wasi-0.10.0
+++ b/metadata/md5-cache/dev-rust/wasi-0.10.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty wasi crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.10.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/wasi-0.9.0 b/metadata/md5-cache/dev-rust/wasi-0.9.0
index 115d70f..4f32d0a 100644
--- a/metadata/md5-cache/dev-rust/wasi-0.9.0
+++ b/metadata/md5-cache/dev-rust/wasi-0.9.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty wasi crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.9.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/wasm-bindgen-0.2.68 b/metadata/md5-cache/dev-rust/wasm-bindgen-0.2.68
index 08e14fc..edebfb5 100644
--- a/metadata/md5-cache/dev-rust/wasm-bindgen-0.2.68
+++ b/metadata/md5-cache/dev-rust/wasm-bindgen-0.2.68
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty wasm-bindgen crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.2.68/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=900161294f5dae3873a5d1e154c9a699
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=853095c7a9a71b2b2db5086217909d82
diff --git a/metadata/md5-cache/dev-rust/wasmparser-0.57.0 b/metadata/md5-cache/dev-rust/wasmparser-0.57.0
index 2496b17..c7abae1 100644
--- a/metadata/md5-cache/dev-rust/wasmparser-0.57.0
+++ b/metadata/md5-cache/dev-rust/wasmparser-0.57.0
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty crate
 EAPI=7
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.57.0/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2bde60a80008a5717cc088362983971e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3280850e23cb1c64e6d90b05ef5186f
diff --git a/metadata/md5-cache/dev-rust/wayland-commons-0.29.0 b/metadata/md5-cache/dev-rust/wayland-commons-0.29.0
new file mode 100644
index 0000000..b2d6980
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/wayland-commons-0.29.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/nix-0.23*:= >=dev-rust/once_cell-1.1.0 <dev-rust/once_cell-2.0.0_alpha:= =dev-rust/smallvec-1*:= =dev-rust/wayland-sys-0.29*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Common types and structures used by wayland-client and wayland-server.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/wayland-commons
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND==dev-rust/nix-0.23*:= >=dev-rust/once_cell-1.1.0 <dev-rust/once_cell-2.0.0_alpha:= =dev-rust/smallvec-1*:= =dev-rust/wayland-sys-0.29*:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.29.0/r0
+SRC_URI=https://crates.io/api/v1/crates/wayland-commons/0.29.0/download -> wayland-commons-0.29.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b18f16213d1981ec5e62ceddd4599e10
diff --git a/metadata/md5-cache/dev-rust/wayland-scanner-0.29.0 b/metadata/md5-cache/dev-rust/wayland-scanner-0.29.0
new file mode 100644
index 0000000..d348ca9
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/wayland-scanner-0.29.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/proc-macro2-1.0.11 <dev-rust/proc-macro2-2.0.0_alpha:= =dev-rust/quote-1*:= >=dev-rust/xml-rs-0.7.0 <dev-rust/xml-rs-0.9.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Wayland Scanner for generating rust APIs from XML wayland protocol files. Intended for use with wayland-sys. You should only need this crate if you are working on custom wayland protocol extensions. Look at the crate wayland-client for usable bindings.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/wayland-scanner
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=>=dev-rust/proc-macro2-1.0.11 <dev-rust/proc-macro2-2.0.0_alpha:= =dev-rust/quote-1*:= >=dev-rust/xml-rs-0.7.0 <dev-rust/xml-rs-0.9.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.29.0/r0
+SRC_URI=https://crates.io/api/v1/crates/wayland-scanner/0.29.0/download -> wayland-scanner-0.29.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=37e07b619626a590739865b23066904b
diff --git a/metadata/md5-cache/dev-rust/wayland-sys-0.29.0 b/metadata/md5-cache/dev-rust/wayland-sys-0.29.0
new file mode 100644
index 0000000..ac2ecee
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/wayland-sys-0.29.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=dev-rust/dlib:= >=dev-rust/lazy_static-1.0.2 <dev-rust/lazy_static-2.0.0_alpha:= =dev-rust/libc-0.2*:= >=dev-rust/memoffset-0.6.4 <dev-rust/memoffset-0.7.0_alpha:= >=dev-rust/pkg-config-0.3.7 <dev-rust/pkg-config-0.4.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=FFI bindings to the various libwayland-*.so libraries. You should only need this crate if you are working on custom wayland protocol extensions. Look at the crate wayland-client for usable bindings.
+EAPI=7
+HOMEPAGE=https://crates.io/crates/wayland-sys
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=dev-rust/dlib:= >=dev-rust/lazy_static-1.0.2 <dev-rust/lazy_static-2.0.0_alpha:= =dev-rust/libc-0.2*:= >=dev-rust/memoffset-0.6.4 <dev-rust/memoffset-0.7.0_alpha:= >=dev-rust/pkg-config-0.3.7 <dev-rust/pkg-config-0.4.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.29.0/r0
+SRC_URI=https://crates.io/api/v1/crates/wayland-sys/0.29.0/download -> wayland-sys-0.29.0.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b690bc8dc50f0b520ec4ee810ddf0d0c
diff --git a/metadata/md5-cache/dev-rust/which-3.1.1 b/metadata/md5-cache/dev-rust/which-3.1.1
index 8559e24..2538168 100644
--- a/metadata/md5-cache/dev-rust/which-3.1.1
+++ b/metadata/md5-cache/dev-rust/which-3.1.1
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2.65:= <dev-rust/libc-0.3 =dev-rust/thiserror-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/libc-0.2.65:= <dev-rust/libc-0.3 =dev-rust/thiserror-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Locate installed executable in cross platforms.
 EAPI=7
 HOMEPAGE=https://github.com/harryfei/which-rs.git
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=3.1.1/r0
 SRC_URI=https://crates.io/api/v1/crates/which/3.1.1/download -> which-3.1.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=2d45c22b5c0f345b402ab77a16b66b50
diff --git a/metadata/md5-cache/dev-rust/which-4.0.2 b/metadata/md5-cache/dev-rust/which-4.0.2
index b1661be..abddc0f 100644
--- a/metadata/md5-cache/dev-rust/which-4.0.2
+++ b/metadata/md5-cache/dev-rust/which-4.0.2
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2.65:= <dev-rust/libc-0.3 =dev-rust/thiserror-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/libc-0.2.65:= <dev-rust/libc-0.3 =dev-rust/thiserror-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Locate installed executable in cross platforms.
 EAPI=7
 HOMEPAGE=https://github.com/harryfei/which-rs.git
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=>=dev-rust/libc-0.2.65:= <dev-rust/libc-0.3 =dev-rust/thiserror-1*:=
+RDEPEND=>=dev-rust/libc-0.2.65:= <dev-rust/libc-0.3 =dev-rust/thiserror-1*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 RESTRICT=test
 SLOT=4.0.2/r0
 SRC_URI=https://crates.io/api/v1/crates/which/4.0.2/download -> which-4.0.2.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=93e17cc5511126b20dcb294f1e04be2e
diff --git a/metadata/md5-cache/dev-rust/which-4.2.1 b/metadata/md5-cache/dev-rust/which-4.2.1
new file mode 100644
index 0000000..478805f
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/which-4.2.1
@@ -0,0 +1,15 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/either-1.6.0:= <dev-rust/either-2.0.0 =dev-rust/lazy_static-1*:= >=dev-rust/libc-0.2.65:= <dev-rust/libc-0.3 >=dev-rust/regex-1.5.4:= <dev-rust/regex-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Locate installed executable in cross platforms.
+EAPI=7
+HOMEPAGE=https://github.com/harryfei/which-rs.git
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=>=dev-rust/either-1.6.0:= <dev-rust/either-2.0.0 =dev-rust/lazy_static-1*:= >=dev-rust/libc-0.2.65:= <dev-rust/libc-0.3 >=dev-rust/regex-1.5.4:= <dev-rust/regex-2.0.0 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+RESTRICT=test
+SLOT=4.2.1/r0
+SRC_URI=https://crates.io/api/v1/crates/which/4.2.1/download -> which-4.2.1.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=eb96d3ec3b12cdbf42a46cf0f9a46763
diff --git a/metadata/md5-cache/dev-rust/winapi-0.3.9 b/metadata/md5-cache/dev-rust/winapi-0.3.9
index 80b2646..d6d32b6 100644
--- a/metadata/md5-cache/dev-rust/winapi-0.3.9
+++ b/metadata/md5-cache/dev-rust/winapi-0.3.9
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Raw FFI bindings for all of Windows API.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/winapi
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.9/r0
 SRC_URI=https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=ec83541530f15aac0add6c7f308f284b
diff --git a/metadata/md5-cache/dev-rust/windows-0.10.0 b/metadata/md5-cache/dev-rust/windows-0.10.0
new file mode 100644
index 0000000..888155d
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/windows-0.10.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty windows crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.10.0/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=30a11d81cbe77e94c9a153ca6b2e966b
diff --git a/metadata/md5-cache/dev-rust/wio-0.2.2 b/metadata/md5-cache/dev-rust/wio-0.2.2
new file mode 100644
index 0000000..4b0e1eb
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/wio-0.2.2
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty wio crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.2.2/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d3347a72e8ccbe2a26e9473f01169986
diff --git a/metadata/md5-cache/dev-rust/wmi-0.9.0 b/metadata/md5-cache/dev-rust/wmi-0.9.0
new file mode 100644
index 0000000..0498c38
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/wmi-0.9.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Empty wmi crate
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.9.0/r0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=fc702c0af84380b2c461754991453084
diff --git a/metadata/md5-cache/dev-rust/xml-rs-0.8.3 b/metadata/md5-cache/dev-rust/xml-rs-0.8.3
index 4b5961d..a6c6901 100644
--- a/metadata/md5-cache/dev-rust/xml-rs-0.8.3
+++ b/metadata/md5-cache/dev-rust/xml-rs-0.8.3
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=An XML library in pure Rust.
 EAPI=7
 HOMEPAGE=http://netvl.github.io/xml-rs/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.8.3/r0
 SRC_URI=https://crates.io/api/v1/crates/xml-rs/0.8.3/download -> xml-rs-0.8.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=495f1c10110dd60c901767bbb652f860
diff --git a/metadata/md5-cache/dev-rust/xmlparser-0.13.3 b/metadata/md5-cache/dev-rust/xmlparser-0.13.3
index e9d9641..02a5294 100644
--- a/metadata/md5-cache/dev-rust/xmlparser-0.13.3
+++ b/metadata/md5-cache/dev-rust/xmlparser-0.13.3
@@ -1,13 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Pull-based, zero-allocation XML parser.
 EAPI=7
 HOMEPAGE=https://github.com/RazrFalcon/xmlparser
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.13.3/r0
 SRC_URI=https://crates.io/api/v1/crates/xmlparser/0.13.3/download -> xmlparser-0.13.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=34b50e1e9428889ab5a955d174c2b906
diff --git a/metadata/md5-cache/dev-rust/yaml-rust-0.3.5 b/metadata/md5-cache/dev-rust/yaml-rust-0.3.5
index 694d019..42612db 100644
--- a/metadata/md5-cache/dev-rust/yaml-rust-0.3.5
+++ b/metadata/md5-cache/dev-rust/yaml-rust-0.3.5
@@ -1,11 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Empty yaml-rust crate
-EAPI=6
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+EAPI=7
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
-LICENSE=BSD-Google
+LICENSE=metapackage
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0.3.5/r0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=a10c45c80def616e132a5a38403f8943
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=10c840f3efd97c5405cb6662dd1af66e
diff --git a/metadata/md5-cache/dev-rust/yaml-rust-0.4.3 b/metadata/md5-cache/dev-rust/yaml-rust-0.4.3
deleted file mode 100644
index ff1b43b..0000000
--- a/metadata/md5-cache/dev-rust/yaml-rust-0.4.3
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/linked-hash-map-0.0.9:= <dev-rust/linked-hash-map-0.6 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=The missing YAML 1.2 parser for rust
-EAPI=6
-HOMEPAGE=https://docs.rs/yaml-rust/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-REQUIRED_USE=?? ( asan lsan msan tsan )
-RESTRICT=test
-SLOT=0.4.3/r0
-SRC_URI=https://crates.io/api/v1/crates/yaml-rust/0.4.3/download -> yaml-rust-0.4.3.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=b4619535911a27539e854b026628fbaa
diff --git a/metadata/md5-cache/dev-rust/yaml-rust-0.4.5 b/metadata/md5-cache/dev-rust/yaml-rust-0.4.5
new file mode 100644
index 0000000..d254830
--- /dev/null
+++ b/metadata/md5-cache/dev-rust/yaml-rust-0.4.5
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/linked-hash-map-0.5.3 <dev-rust/linked-hash-map-0.6.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=The missing YAML 1.2 parser for rust
+EAPI=7
+HOMEPAGE=http://chyh1990.github.io/yaml-rust/
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+RDEPEND=>=dev-rust/linked-hash-map-0.5.3 <dev-rust/linked-hash-map-0.6.0_alpha:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0.4.5/r0
+SRC_URI=https://crates.io/api/v1/crates/yaml-rust/0.4.5/download -> yaml-rust-0.4.5.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9aee1bd4728e2c7f1b3e6784c87ec3d7
diff --git a/metadata/md5-cache/dev-rust/zeroize-1.2.0 b/metadata/md5-cache/dev-rust/zeroize-1.2.0
deleted file mode 100644
index 03105a6..0000000
--- a/metadata/md5-cache/dev-rust/zeroize-1.2.0
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/zeroize_derive-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Securely clear secrets from memory
-EAPI=7
-HOMEPAGE=https://github.com/iqlusioninc/crates/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND==dev-rust/zeroize_derive-1*:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=1.2.0/r0
-SRC_URI=https://crates.io/api/v1/crates/zeroize/1.2.0/download -> zeroize-1.2.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=125361c3b520c84e355d999f80c3fc11
diff --git a/metadata/md5-cache/dev-rust/zeroize-1.5.0 b/metadata/md5-cache/dev-rust/zeroize-1.5.0
deleted file mode 100644
index 0ce7ba8..0000000
--- a/metadata/md5-cache/dev-rust/zeroize-1.5.0
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/zeroize_derive-1.3.0 <dev-rust/zeroize_derive-2.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Securely clear secrets from memory
-EAPI=7
-HOMEPAGE=https://github.com/iqlusioninc/crates/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/zeroize_derive-1.3.0 <dev-rust/zeroize_derive-2.0.0_alpha:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=1.5.0/r0
-SRC_URI=https://crates.io/api/v1/crates/zeroize/1.5.0/download -> zeroize-1.5.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=337770d8432d1f3d3d400cf7e60b0722
diff --git a/metadata/md5-cache/dev-rust/zeroize-1.5.0-r1 b/metadata/md5-cache/dev-rust/zeroize-1.5.0-r1
deleted file mode 100644
index 16ec0af..0000000
--- a/metadata/md5-cache/dev-rust/zeroize-1.5.0-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/zeroize_derive-1.3.0 <dev-rust/zeroize_derive-2.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Securely clear secrets from memory
-EAPI=7
-HOMEPAGE=https://github.com/iqlusioninc/crates/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/zeroize_derive-1.3.0 <dev-rust/zeroize_derive-2.0.0_alpha:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=1.5.0/r1
-SRC_URI=https://crates.io/api/v1/crates/zeroize/1.5.0/download -> zeroize-1.5.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=337770d8432d1f3d3d400cf7e60b0722
diff --git a/metadata/md5-cache/dev-rust/zeroize-1.5.1 b/metadata/md5-cache/dev-rust/zeroize-1.5.1
index 5321a0a..dbc1b4b 100644
--- a/metadata/md5-cache/dev-rust/zeroize-1.5.1
+++ b/metadata/md5-cache/dev-rust/zeroize-1.5.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/zeroize_derive-1.3.0 <dev-rust/zeroize_derive-2.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/zeroize_derive-1.3.0 <dev-rust/zeroize_derive-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Securely clear secrets from memory
 EAPI=7
 HOMEPAGE=https://github.com/iqlusioninc/crates/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/zeroize_derive-1.3.0 <dev-rust/zeroize_derive-2.0.0_alpha:=
+RDEPEND=>=dev-rust/zeroize_derive-1.3.0 <dev-rust/zeroize_derive-2.0.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.5.1/r0
 SRC_URI=https://crates.io/api/v1/crates/zeroize/1.5.1/download -> zeroize-1.5.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=337770d8432d1f3d3d400cf7e60b0722
diff --git a/metadata/md5-cache/dev-rust/zeroize-1.5.1-r1 b/metadata/md5-cache/dev-rust/zeroize-1.5.1-r1
index fb54e89..d7987b6 100644
--- a/metadata/md5-cache/dev-rust/zeroize-1.5.1-r1
+++ b/metadata/md5-cache/dev-rust/zeroize-1.5.1-r1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/zeroize_derive-1.3.0 <dev-rust/zeroize_derive-2.0.0_alpha:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/zeroize_derive-1.3.0 <dev-rust/zeroize_derive-2.0.0_alpha:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Securely clear secrets from memory
 EAPI=7
 HOMEPAGE=https://github.com/iqlusioninc/crates/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/zeroize_derive-1.3.0 <dev-rust/zeroize_derive-2.0.0_alpha:=
+RDEPEND=>=dev-rust/zeroize_derive-1.3.0 <dev-rust/zeroize_derive-2.0.0_alpha:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.5.1/r1
 SRC_URI=https://crates.io/api/v1/crates/zeroize/1.5.1/download -> zeroize-1.5.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=337770d8432d1f3d3d400cf7e60b0722
diff --git a/metadata/md5-cache/dev-rust/zeroize_derive-1.2.0 b/metadata/md5-cache/dev-rust/zeroize_derive-1.2.0
index c8935ae..87ae049 100644
--- a/metadata/md5-cache/dev-rust/zeroize_derive-1.2.0
+++ b/metadata/md5-cache/dev-rust/zeroize_derive-1.2.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= =dev-rust/synstructure-0.12*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= =dev-rust/synstructure-0.12*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Custom derive support for zeroize
 EAPI=7
 HOMEPAGE=https://github.com/iqlusioninc/crates/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
-RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= =dev-rust/synstructure-0.12*:=
+RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= =dev-rust/synstructure-0.12*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.2.0/r0
 SRC_URI=https://crates.io/api/v1/crates/zeroize_derive/1.2.0/download -> zeroize_derive-1.2.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=6648931dd492cca742687133a2612121
diff --git a/metadata/md5-cache/dev-rust/zeroize_derive-1.3.1 b/metadata/md5-cache/dev-rust/zeroize_derive-1.3.1
index b5de689..753db53 100644
--- a/metadata/md5-cache/dev-rust/zeroize_derive-1.3.1
+++ b/metadata/md5-cache/dev-rust/zeroize_derive-1.3.1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= =dev-rust/synstructure-0.12*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= =dev-rust/synstructure-0.12*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Custom derive support for zeroize
 EAPI=7
 HOMEPAGE=https://github.com/iqlusioninc/crates/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
-RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= =dev-rust/synstructure-0.12*:=
+RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= =dev-rust/synstructure-0.12*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.3.1/r0
 SRC_URI=https://crates.io/api/v1/crates/zeroize_derive/1.3.1/download -> zeroize_derive-1.3.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=6648931dd492cca742687133a2612121
diff --git a/metadata/md5-cache/dev-rust/zeroize_derive-1.3.1-r1 b/metadata/md5-cache/dev-rust/zeroize_derive-1.3.1-r1
index 37e2918..dfa53ba 100644
--- a/metadata/md5-cache/dev-rust/zeroize_derive-1.3.1-r1
+++ b/metadata/md5-cache/dev-rust/zeroize_derive-1.3.1-r1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= =dev-rust/synstructure-0.12*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= =dev-rust/synstructure-0.12*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Custom derive support for zeroize
 EAPI=7
 HOMEPAGE=https://github.com/iqlusioninc/crates/
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( Apache-2.0 MIT )
-RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= =dev-rust/synstructure-0.12*:=
+RDEPEND==dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= =dev-rust/synstructure-0.12*:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=1.3.1/r1
 SRC_URI=https://crates.io/api/v1/crates/zeroize_derive/1.3.1/download -> zeroize_derive-1.3.1.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=6648931dd492cca742687133a2612121
diff --git a/metadata/md5-cache/dev-util/apitrace-9.0 b/metadata/md5-cache/dev-util/apitrace-9.0
index 892e56e..07d8101 100644
--- a/metadata/md5-cache/dev-util/apitrace-9.0
+++ b/metadata/md5-cache/dev-util/apitrace-9.0
@@ -11,4 +11,4 @@
 SLOT=0
 SRC_URI=https://github.com/apitrace/apitrace/archive/9.0.tar.gz -> apitrace-9.0.tar.gz
 _eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=7f6a76c31b05f2ba56fb202cb9bde6d8
+_md5_=0377e2ca687d0dae59fc99e7dff4ff98
diff --git a/metadata/md5-cache/dev-util/apitrace-9.0-r1 b/metadata/md5-cache/dev-util/apitrace-9.0-r1
deleted file mode 100644
index 892e56e..0000000
--- a/metadata/md5-cache/dev-util/apitrace-9.0-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup test
-DEPEND=python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) media-libs/libpng:0= media-libs/waffle sys-libs/zlib:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-process/procps X? ( x11-libs/libX11 ) opengl? ( virtual/opengl ) opengles? ( virtual/opengles ) qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5[-gles2] dev-qt/qtnetwork:5 dev-qt/qtwebkit:5 dev-qt/qtwidgets:5[-gles2] ) system-snappy? ( >=app-arch/snappy-1.1.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=Tool for tracing, analyzing, and debugging graphics APIs
-EAPI=6
-HOMEPAGE=https://github.com/apitrace/apitrace
-IUSE=+cli egl opengl opengles qt5 system-snappy X abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 +python_single_target_python3_6
-KEYWORDS=*
-LICENSE=MIT BSD CC-BY-3.0 CC-BY-4.0 public-domain
-RDEPEND=python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) media-libs/libpng:0= media-libs/waffle sys-libs/zlib:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-process/procps X? ( x11-libs/libX11 ) opengl? ( virtual/opengl ) opengles? ( virtual/opengles ) qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5[-gles2] dev-qt/qtnetwork:5 dev-qt/qtwebkit:5 dev-qt/qtwidgets:5[-gles2] ) system-snappy? ( >=app-arch/snappy-1.1.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
-REQUIRED_USE=^^ ( python_single_target_python3_6 )
-SLOT=0
-SRC_URI=https://github.com/apitrace/apitrace/archive/9.0.tar.gz -> apitrace-9.0.tar.gz
-_eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=7f6a76c31b05f2ba56fb202cb9bde6d8
diff --git a/metadata/md5-cache/dev-util/apitrace-9.0-r2 b/metadata/md5-cache/dev-util/apitrace-9.0-r2
new file mode 100644
index 0000000..07d8101
--- /dev/null
+++ b/metadata/md5-cache/dev-util/apitrace-9.0-r2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install prepare setup test
+DEPEND=python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) media-libs/libpng:0= media-libs/waffle sys-libs/zlib:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-process/procps X? ( x11-libs/libX11 ) opengl? ( virtual/opengl ) opengles? ( virtual/opengles ) qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5[-gles2] dev-qt/qtnetwork:5 dev-qt/qtwebkit:5 dev-qt/qtwidgets:5[-gles2] ) system-snappy? ( >=app-arch/snappy-1.1.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) sys-devel/make >=dev-util/cmake-3.9.6
+DESCRIPTION=Tool for tracing, analyzing, and debugging graphics APIs
+EAPI=6
+HOMEPAGE=https://github.com/apitrace/apitrace
+IUSE=+cli egl opengl opengles qt5 system-snappy X abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 +python_single_target_python3_6
+KEYWORDS=*
+LICENSE=MIT BSD CC-BY-3.0 CC-BY-4.0 public-domain
+RDEPEND=python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) media-libs/libpng:0= media-libs/waffle sys-libs/zlib:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-process/procps X? ( x11-libs/libX11 ) opengl? ( virtual/opengl ) opengles? ( virtual/opengles ) qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5[-gles2] dev-qt/qtnetwork:5 dev-qt/qtwebkit:5 dev-qt/qtwidgets:5[-gles2] ) system-snappy? ( >=app-arch/snappy-1.1.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
+REQUIRED_USE=^^ ( python_single_target_python3_6 )
+SLOT=0
+SRC_URI=https://github.com/apitrace/apitrace/archive/9.0.tar.gz -> apitrace-9.0.tar.gz
+_eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=0377e2ca687d0dae59fc99e7dff4ff98
diff --git a/metadata/md5-cache/dev-util/bsdiff-4.3.1-r34 b/metadata/md5-cache/dev-util/bsdiff-4.3.1-r34
deleted file mode 100644
index dce192f..0000000
--- a/metadata/md5-cache/dev-util/bsdiff-4.3.1-r34
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=app-arch/brotli-1.0.6:= app-arch/bzip2:= dev-libs/libdivsufsort:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=bsdiff: Binary Differencer using a suffix alg
-EAPI=7
-HOMEPAGE=http://www.daemonology.net/bsdiff/
-IUSE=cros_host cros_workon_tree_a3d79a5641e6cda7da95a9316f5d29998cc84865_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_7a09dff0a55fec57ae1ba55d023b5deae612d4fb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a3d79a5641e6cda7da95a9316f5d29998cc84865_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_7a09dff0a55fec57ae1ba55d023b5deae612d4fb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-2
-PROPERTIES=live live
-RDEPEND=>=app-arch/brotli-1.0.6:= app-arch/bzip2:= dev-libs/libdivsufsort:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/4.3.1-r34
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ccab52d0955cefef33353c6a870ab763
diff --git a/metadata/md5-cache/dev-util/bsdiff-4.3.1-r35 b/metadata/md5-cache/dev-util/bsdiff-4.3.1-r35
new file mode 100644
index 0000000..45f50b9
--- /dev/null
+++ b/metadata/md5-cache/dev-util/bsdiff-4.3.1-r35
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=app-arch/brotli-1.0.6:= app-arch/bzip2:= dev-libs/libdivsufsort:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=bsdiff: Binary Differencer using a suffix alg
+EAPI=7
+HOMEPAGE=http://www.daemonology.net/bsdiff/
+IUSE=cros_host cros_workon_tree_20fecf8e8aefa548043f2cb501f222213c15929d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4f60cc104be3c4d98888fedc7529c8ca449fe405 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_20fecf8e8aefa548043f2cb501f222213c15929d_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4f60cc104be3c4d98888fedc7529c8ca449fe405 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-2
+PROPERTIES=live live
+RDEPEND=>=app-arch/brotli-1.0.6:= app-arch/bzip2:= dev-libs/libdivsufsort:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/4.3.1-r35
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=64b7eb73f5f93596fdf6a6461b671e6e
diff --git a/metadata/md5-cache/dev-util/bsdiff-9999 b/metadata/md5-cache/dev-util/bsdiff-9999
index ef9b570..9ec4c7b 100644
--- a/metadata/md5-cache/dev-util/bsdiff-9999
+++ b/metadata/md5-cache/dev-util/bsdiff-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=app-arch/brotli-1.0.6:= app-arch/bzip2:= dev-libs/libdivsufsort:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=app-arch/brotli-1.0.6:= app-arch/bzip2:= dev-libs/libdivsufsort:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=bsdiff: Binary Differencer using a suffix alg
 EAPI=7
 HOMEPAGE=http://www.daemonology.net/bsdiff/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-2
 PROPERTIES=live live
 RDEPEND=>=app-arch/brotli-1.0.6:= app-arch/bzip2:= dev-libs/libdivsufsort:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f50e3f09e2b8e121e3fee2ec74aefdce
diff --git a/metadata/md5-cache/dev-util/cros-dut-0.0.1-r17 b/metadata/md5-cache/dev-util/cros-dut-0.0.1-r17
new file mode 100644
index 0000000..a0c0c3a
--- /dev/null
+++ b/metadata/md5-cache/dev-util/cros-dut-0.0.1-r17
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst prepare setup test unpack
+DEPEND=dev-util/lro-server dev-go/crypto dev-go/grpc dev-go/mock dev-go/protobuf dev-go/protobuf-legacy-api chromeos-base/cros-config-api dev-lang/go
+DESCRIPTION=DUT Service Server implementation for interfacing with the DUT
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/dut
+IUSE=cros_host cros_workon_tree_d1ea349018798f647e326155b4275aa8bf822a49
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-util/lro-server dev-go/crypto dev-go/grpc dev-go/mock dev-go/protobuf dev-go/protobuf-legacy-api chromeos-base/cros-config-api
+SLOT=0/0.0.1-r17
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5f15618fa9053ab38f29ee7af3a47844
diff --git a/metadata/md5-cache/dev-util/cros-dut-0.0.1-r7 b/metadata/md5-cache/dev-util/cros-dut-0.0.1-r7
deleted file mode 100644
index f5b956c..0000000
--- a/metadata/md5-cache/dev-util/cros-dut-0.0.1-r7
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst prepare setup test unpack
-DEPEND=dev-util/lro-server dev-go/crypto dev-go/grpc dev-go/mock dev-go/protobuf chromeos-base/cros-config-api dev-lang/go
-DESCRIPTION=DUT Service Server implementation for interfacing with the DUT
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/dut
-IUSE=cros_host cros_workon_tree_07362ab10100ccb431484a3ed415fa3ed3a6d547
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-util/lro-server dev-go/crypto dev-go/grpc dev-go/mock dev-go/protobuf chromeos-base/cros-config-api
-SLOT=0/0.0.1-r7
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ad865894fefc4cab1752103066e06e5c
diff --git a/metadata/md5-cache/dev-util/cros-dut-9999 b/metadata/md5-cache/dev-util/cros-dut-9999
index 07d66ed..d20d09e 100644
--- a/metadata/md5-cache/dev-util/cros-dut-9999
+++ b/metadata/md5-cache/dev-util/cros-dut-9999
@@ -1,6 +1,6 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile info install postinst prepare setup test unpack
-DEPEND=dev-util/lro-server dev-go/crypto dev-go/grpc dev-go/mock dev-go/protobuf chromeos-base/cros-config-api dev-lang/go
+DEPEND=dev-util/lro-server dev-go/crypto dev-go/grpc dev-go/mock dev-go/protobuf dev-go/protobuf-legacy-api chromeos-base/cros-config-api dev-lang/go
 DESCRIPTION=DUT Service Server implementation for interfacing with the DUT
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/dut
@@ -8,7 +8,7 @@
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=dev-util/lro-server dev-go/crypto dev-go/grpc dev-go/mock dev-go/protobuf chromeos-base/cros-config-api
+RDEPEND=dev-util/lro-server dev-go/crypto dev-go/grpc dev-go/mock dev-go/protobuf dev-go/protobuf-legacy-api chromeos-base/cros-config-api
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=1af98fa0e424835b3791d3ed59f370b0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0b2c3422bdae9312d8c55f7d5b1d2ef1
diff --git a/metadata/md5-cache/dev-util/cros-provision-0.0.1-r19 b/metadata/md5-cache/dev-util/cros-provision-0.0.1-r19
deleted file mode 100644
index 6b8f30c..0000000
--- a/metadata/md5-cache/dev-util/cros-provision-0.0.1-r19
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst prepare setup test unpack
-DEPEND=dev-util/lro-server dev-util/lroold-server dev-go/genproto-rpc dev-go/luci-go-common dev-go/mock dev-go/protobuf chromeos-base/cros-config-api dev-lang/go
-DESCRIPTION=Provision server implementation for installing CrOS on a test device
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/provision
-IUSE=cros_host cros_workon_tree_542250868f6a1f23fe797d688c6ee3474afe1eed
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-util/lro-server dev-util/lroold-server dev-go/genproto-rpc dev-go/luci-go-common dev-go/mock dev-go/protobuf chromeos-base/cros-config-api
-SLOT=0/0.0.1-r19
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5410bc999571ad7260c2e44170518ff0
diff --git a/metadata/md5-cache/dev-util/cros-provision-0.0.1-r45 b/metadata/md5-cache/dev-util/cros-provision-0.0.1-r45
new file mode 100644
index 0000000..21917d8
--- /dev/null
+++ b/metadata/md5-cache/dev-util/cros-provision-0.0.1-r45
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst prepare setup test unpack
+DEPEND=dev-util/lro-server dev-util/lroold-server dev-go/genproto dev-go/luci-go-common dev-go/mock dev-go/protobuf dev-go/protobuf-legacy-api chromeos-base/cros-config-api dev-lang/go
+DESCRIPTION=Provision server implementation for installing CrOS on a test device
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/provision
+IUSE=cros_host cros_workon_tree_3e62f06c1a80e07f44c426a95102b20cf5357cb8
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-util/lro-server dev-util/lroold-server dev-go/genproto dev-go/luci-go-common dev-go/mock dev-go/protobuf dev-go/protobuf-legacy-api chromeos-base/cros-config-api
+SLOT=0/0.0.1-r45
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d5212dd83b490eb126135aa0d0731be2
diff --git a/metadata/md5-cache/dev-util/cros-provision-9999 b/metadata/md5-cache/dev-util/cros-provision-9999
index ea5cab8..744eac2 100644
--- a/metadata/md5-cache/dev-util/cros-provision-9999
+++ b/metadata/md5-cache/dev-util/cros-provision-9999
@@ -1,6 +1,6 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile info install postinst prepare setup test unpack
-DEPEND=dev-util/lro-server dev-util/lroold-server dev-go/genproto-rpc dev-go/luci-go-common dev-go/mock dev-go/protobuf chromeos-base/cros-config-api dev-lang/go
+DEPEND=dev-util/lro-server dev-util/lroold-server dev-go/genproto dev-go/luci-go-common dev-go/mock dev-go/protobuf dev-go/protobuf-legacy-api chromeos-base/cros-config-api dev-lang/go
 DESCRIPTION=Provision server implementation for installing CrOS on a test device
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/provision
@@ -8,7 +8,7 @@
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=dev-util/lro-server dev-util/lroold-server dev-go/genproto-rpc dev-go/luci-go-common dev-go/mock dev-go/protobuf chromeos-base/cros-config-api
+RDEPEND=dev-util/lro-server dev-util/lroold-server dev-go/genproto dev-go/luci-go-common dev-go/mock dev-go/protobuf dev-go/protobuf-legacy-api chromeos-base/cros-config-api
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d2488dd021358309ded4ff4d705183db
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f1cbdb9302cc9e876d7ec3d1e565d800
diff --git a/metadata/md5-cache/dev-util/cros-publish-0.0.1-r4 b/metadata/md5-cache/dev-util/cros-publish-0.0.1-r4
deleted file mode 100644
index a679c17..0000000
--- a/metadata/md5-cache/dev-util/cros-publish-0.0.1-r4
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst setup test unpack
-DEPEND=dev-util/lro-server dev-go/crypto dev-go/gcp-storage dev-go/grpc dev-go/mock dev-go/protobuf chromeos-base/cros-config-api dev-lang/go
-DESCRIPTION=Publish server implementation for uploading test result artifacts to GCS bucket
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/publish
-IUSE=cros_host cros_workon_tree_0784f2536cc879930eb9c9e8d27178348ffbb61e
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-util/lro-server dev-go/crypto dev-go/gcp-storage dev-go/grpc dev-go/mock dev-go/protobuf chromeos-base/cros-config-api
-SLOT=0/0.0.1-r4
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=7556f66a4fdd2e2bfbf77bfbbe49f446
diff --git a/metadata/md5-cache/dev-util/cros-publish-0.0.1-r8 b/metadata/md5-cache/dev-util/cros-publish-0.0.1-r8
new file mode 100644
index 0000000..8ee28eb
--- /dev/null
+++ b/metadata/md5-cache/dev-util/cros-publish-0.0.1-r8
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst setup test unpack
+DEPEND=dev-util/lro-server dev-go/crypto dev-go/gcp-storage dev-go/grpc dev-go/mock dev-go/protobuf dev-go/protobuf-legacy-api chromeos-base/cros-config-api dev-lang/go
+DESCRIPTION=Publish server implementation for uploading test result artifacts to GCS bucket
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/publish
+IUSE=cros_host cros_workon_tree_6b5e0ce1ebb8a97db9a0874bdffdbc0fb171f8df
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-util/lro-server dev-go/crypto dev-go/gcp-storage dev-go/grpc dev-go/mock dev-go/protobuf dev-go/protobuf-legacy-api chromeos-base/cros-config-api
+SLOT=0/0.0.1-r8
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=52440c71b514142859c7058da1e396e9
diff --git a/metadata/md5-cache/dev-util/cros-publish-9999 b/metadata/md5-cache/dev-util/cros-publish-9999
index 8e15cbc..8d85f9db 100644
--- a/metadata/md5-cache/dev-util/cros-publish-9999
+++ b/metadata/md5-cache/dev-util/cros-publish-9999
@@ -1,6 +1,6 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile info install postinst setup test unpack
-DEPEND=dev-util/lro-server dev-go/crypto dev-go/gcp-storage dev-go/grpc dev-go/mock dev-go/protobuf chromeos-base/cros-config-api dev-lang/go
+DEPEND=dev-util/lro-server dev-go/crypto dev-go/gcp-storage dev-go/grpc dev-go/mock dev-go/protobuf dev-go/protobuf-legacy-api chromeos-base/cros-config-api dev-lang/go
 DESCRIPTION=Publish server implementation for uploading test result artifacts to GCS bucket
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/publish
@@ -8,7 +8,7 @@
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=dev-util/lro-server dev-go/crypto dev-go/gcp-storage dev-go/grpc dev-go/mock dev-go/protobuf chromeos-base/cros-config-api
+RDEPEND=dev-util/lro-server dev-go/crypto dev-go/gcp-storage dev-go/grpc dev-go/mock dev-go/protobuf dev-go/protobuf-legacy-api chromeos-base/cros-config-api
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=408fee5ffbfd887549c786b73221c9bc
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5ed339c8b9f88f45a0438ca10fb7add1
diff --git a/metadata/md5-cache/dev-util/cros-test-0.0.1-r19 b/metadata/md5-cache/dev-util/cros-test-0.0.1-r19
new file mode 100644
index 0000000..e2ab4ef
--- /dev/null
+++ b/metadata/md5-cache/dev-util/cros-test-0.0.1-r19
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst prepare setup test unpack
+DEPEND=chromeos-base/tast-cmd:= chromeos-base/tast-proto dev-go/cmp dev-go/grpc dev-go/protobuf-legacy-api dev-util/lro-server dev-lang/go
+DESCRIPTION=Test execution server for running tests and capturing results
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/execution
+IUSE=cros_host cros_workon_tree_893a6c65e547215a0fbd306fe773bb5e8e27f34b_a5b7a8cfa5fee66dae2198d608c1767f315ab13d
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/tast-cmd:= chromeos-base/tast-proto dev-go/cmp dev-go/grpc dev-go/protobuf-legacy-api dev-util/lro-server
+SLOT=0/0.0.1-r19
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e5fbe5ca3eab56ebe134ffaca890c0ff
diff --git a/metadata/md5-cache/dev-util/cros-test-0.0.1-r5 b/metadata/md5-cache/dev-util/cros-test-0.0.1-r5
deleted file mode 100644
index 399417e..0000000
--- a/metadata/md5-cache/dev-util/cros-test-0.0.1-r5
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst prepare setup test unpack
-DEPEND=chromeos-base/tast-cmd:= chromeos-base/tast-proto dev-util/lro-server dev-lang/go
-DESCRIPTION=Test execution server for running tests and capturing results
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/execution
-IUSE=cros_host cros_workon_tree_8e16fb03947f7ce6f98542b377f94829d13e621e_a5b7a8cfa5fee66dae2198d608c1767f315ab13d
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/tast-cmd:= chromeos-base/tast-proto dev-util/lro-server
-SLOT=0/0.0.1-r5
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c23c4dbe0d21dc366d8509209fe264cc
diff --git a/metadata/md5-cache/dev-util/cros-test-9999 b/metadata/md5-cache/dev-util/cros-test-9999
index 177c882..b72df52 100644
--- a/metadata/md5-cache/dev-util/cros-test-9999
+++ b/metadata/md5-cache/dev-util/cros-test-9999
@@ -1,6 +1,6 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile info install postinst prepare setup test unpack
-DEPEND=chromeos-base/tast-cmd:= chromeos-base/tast-proto dev-util/lro-server dev-lang/go
+DEPEND=chromeos-base/tast-cmd:= chromeos-base/tast-proto dev-go/cmp dev-go/grpc dev-go/protobuf-legacy-api dev-util/lro-server dev-lang/go
 DESCRIPTION=Test execution server for running tests and capturing results
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/execution
@@ -8,7 +8,7 @@
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=chromeos-base/tast-cmd:= chromeos-base/tast-proto dev-util/lro-server
+RDEPEND=chromeos-base/tast-cmd:= chromeos-base/tast-proto dev-go/cmp dev-go/grpc dev-go/protobuf-legacy-api dev-util/lro-server
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=82b2bf46fc392666bbb8bbedb390fcda
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2234ceac5db9bd07c243fec08d1a5835
diff --git a/metadata/md5-cache/dev-util/cros-test-finder-0.0.1-r27 b/metadata/md5-cache/dev-util/cros-test-finder-0.0.1-r27
new file mode 100644
index 0000000..28a30a8
--- /dev/null
+++ b/metadata/md5-cache/dev-util/cros-test-finder-0.0.1-r27
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst prepare setup test unpack
+DEPEND=chromeos-base/tast-cmd:= chromeos-base/tast-proto dev-util/cros-test dev-util/lro-server dev-lang/go
+DESCRIPTION=Test finder for find tests that match the specified test suite tags
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/test_finder
+IUSE=cros_host cros_workon_tree_b4a202ab905c738735c1b0a422ad4f7c0f80e9b3_a5b7a8cfa5fee66dae2198d608c1767f315ab13d_893a6c65e547215a0fbd306fe773bb5e8e27f34b
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/tast-cmd:= chromeos-base/tast-proto dev-util/cros-test dev-util/lro-server
+SLOT=0/0.0.1-r27
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ef774a864bc8403a6778176835d9869c
diff --git a/metadata/md5-cache/dev-util/cros-test-finder-0.0.1-r9 b/metadata/md5-cache/dev-util/cros-test-finder-0.0.1-r9
deleted file mode 100644
index a129e9f..0000000
--- a/metadata/md5-cache/dev-util/cros-test-finder-0.0.1-r9
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst prepare setup test unpack
-DEPEND=chromeos-base/tast-cmd:= chromeos-base/tast-proto dev-util/lro-server dev-lang/go
-DESCRIPTION=Test finder for find tests that match the specified test suite tags
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/test_finder
-IUSE=cros_host cros_workon_tree_7795def0ec1f2171ba06d3e3b6079de1c0c7fe7a_a5b7a8cfa5fee66dae2198d608c1767f315ab13d_8e16fb03947f7ce6f98542b377f94829d13e621e
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/tast-cmd:= chromeos-base/tast-proto dev-util/lro-server
-SLOT=0/0.0.1-r9
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9d0d05d149be08585b84cfe66c15482e
diff --git a/metadata/md5-cache/dev-util/cros-test-finder-9999 b/metadata/md5-cache/dev-util/cros-test-finder-9999
index 87903ff..ad58006 100644
--- a/metadata/md5-cache/dev-util/cros-test-finder-9999
+++ b/metadata/md5-cache/dev-util/cros-test-finder-9999
@@ -1,6 +1,6 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile info install postinst prepare setup test unpack
-DEPEND=chromeos-base/tast-cmd:= chromeos-base/tast-proto dev-util/lro-server dev-lang/go
+DEPEND=chromeos-base/tast-cmd:= chromeos-base/tast-proto dev-util/cros-test dev-util/lro-server dev-lang/go
 DESCRIPTION=Test finder for find tests that match the specified test suite tags
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/test_finder
@@ -8,7 +8,7 @@
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=chromeos-base/tast-cmd:= chromeos-base/tast-proto dev-util/lro-server
+RDEPEND=chromeos-base/tast-cmd:= chromeos-base/tast-proto dev-util/cros-test dev-util/lro-server
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d7f01387e77d181465499293e997de9c
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4ed93702f41927e17e463bc22ade2322
diff --git a/metadata/md5-cache/dev-util/cvise-2.4.0-r3 b/metadata/md5-cache/dev-util/cvise-2.4.0-r3
new file mode 100644
index 0000000..b8e3a63
--- /dev/null
+++ b/metadata/md5-cache/dev-util/cvise-2.4.0-r3
@@ -0,0 +1,16 @@
+BDEPEND=python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) sys-devel/flex test? ( python_single_target_python3_6? ( dev-python/pebble[python_targets_python3_6(-)] dev-python/pytest[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/pebble[python_targets_python3_7(-)] dev-python/pytest[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/pebble[python_targets_python3_8(-)] dev-python/pytest[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/pebble[python_targets_python3_9(-)] dev-python/pytest[python_targets_python3_9(-)] ) ) dev-util/ninja dev-util/cmake
+DEFINED_PHASES=compile configure install prepare setup test
+DEPEND=sys-devel/llvm
+DESCRIPTION=Super-parallel Python port of the C-Reduce
+EAPI=7
+HOMEPAGE=https://github.com/marxin/cvise/
+IUSE=test python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
+KEYWORDS=*
+LICENSE=UoI-NCSA
+RDEPEND=sys-devel/llvm python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) python_single_target_python3_6? ( dev-python/chardet[python_targets_python3_6(-)] dev-python/pebble[python_targets_python3_6(-)] dev-python/psutil[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/chardet[python_targets_python3_7(-)] dev-python/pebble[python_targets_python3_7(-)] dev-python/psutil[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/chardet[python_targets_python3_8(-)] dev-python/pebble[python_targets_python3_8(-)] dev-python/psutil[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/chardet[python_targets_python3_9(-)] dev-python/pebble[python_targets_python3_9(-)] dev-python/psutil[python_targets_python3_9(-)] ) dev-util/unifdef sys-devel/flex
+REQUIRED_USE=^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/marxin/cvise/archive/v2.4.0.tar.gz -> cvise-2.4.0.tar.gz
+_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=8ca098a2b5c3432b75e1c8633833c791
diff --git a/metadata/md5-cache/dev-util/cxxbridge-cmd-1.0.42 b/metadata/md5-cache/dev-util/cxxbridge-cmd-1.0.42
index b474f75..e84492e 100644
--- a/metadata/md5-cache/dev-util/cxxbridge-cmd-1.0.42
+++ b/metadata/md5-cache/dev-util/cxxbridge-cmd-1.0.42
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/clap-2.33:= <dev-rust/clap-3.0.0_alpha >=dev-rust/codespan-reporting-0.11:= <dev-rust/codespan-reporting-0.12.0_alpha >=dev-rust/proc-macro2-1.0.26:= <dev-rust/proc-macro2-2.0.0_alpha >=dev-rust/quote-1.0:= <dev-rust/quote-2.0.0_alpha >=dev-rust/syn-1.0.68:= <dev-rust/syn-2.0.0_alpha >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/clap-2.33:= <dev-rust/clap-3.0.0_alpha >=dev-rust/codespan-reporting-0.11:= <dev-rust/codespan-reporting-0.12.0_alpha >=dev-rust/proc-macro2-1.0.26:= <dev-rust/proc-macro2-2.0.0_alpha >=dev-rust/quote-1.0:= <dev-rust/quote-2.0.0_alpha >=dev-rust/syn-1.0.68:= <dev-rust/syn-2.0.0_alpha >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=C++ code generator for integrating 'cxx' crate into a non-Cargo build.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/cxxbridge-cmd
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/clap-2.33:= <dev-rust/clap-3.0.0_alpha >=dev-rust/codespan-reporting-0.11:= <dev-rust/codespan-reporting-0.12.0_alpha >=dev-rust/proc-macro2-1.0.26:= <dev-rust/proc-macro2-2.0.0_alpha >=dev-rust/quote-1.0:= <dev-rust/quote-2.0.0_alpha >=dev-rust/syn-1.0.68:= <dev-rust/syn-2.0.0_alpha !dev-util/cxxbridge-cmd:1.0.42
+RDEPEND=>=dev-rust/clap-2.33:= <dev-rust/clap-3.0.0_alpha >=dev-rust/codespan-reporting-0.11:= <dev-rust/codespan-reporting-0.12.0_alpha >=dev-rust/proc-macro2-1.0.26:= <dev-rust/proc-macro2-2.0.0_alpha >=dev-rust/quote-1.0:= <dev-rust/quote-2.0.0_alpha >=dev-rust/syn-1.0.68:= <dev-rust/syn-2.0.0_alpha !dev-util/cxxbridge-cmd:1.0.42 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/1.0.42
 SRC_URI=https://crates.io/api/v1/crates/cxxbridge-cmd/1.0.42/download -> cxxbridge-cmd-1.0.42.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=a822038fc7cb21c6c51176b1176f2b18
diff --git a/metadata/md5-cache/dev-util/cxxbridge-cmd-1.0.42-r3 b/metadata/md5-cache/dev-util/cxxbridge-cmd-1.0.42-r3
index c166764..f90b4c4 100644
--- a/metadata/md5-cache/dev-util/cxxbridge-cmd-1.0.42-r3
+++ b/metadata/md5-cache/dev-util/cxxbridge-cmd-1.0.42-r3
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/clap-2.33:= <dev-rust/clap-3.0.0_alpha >=dev-rust/codespan-reporting-0.11:= <dev-rust/codespan-reporting-0.12.0_alpha >=dev-rust/proc-macro2-1.0.26:= <dev-rust/proc-macro2-2.0.0_alpha >=dev-rust/quote-1.0:= <dev-rust/quote-2.0.0_alpha >=dev-rust/syn-1.0.68:= <dev-rust/syn-2.0.0_alpha >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/clap-2.33:= <dev-rust/clap-3.0.0_alpha >=dev-rust/codespan-reporting-0.11:= <dev-rust/codespan-reporting-0.12.0_alpha >=dev-rust/proc-macro2-1.0.26:= <dev-rust/proc-macro2-2.0.0_alpha >=dev-rust/quote-1.0:= <dev-rust/quote-2.0.0_alpha >=dev-rust/syn-1.0.68:= <dev-rust/syn-2.0.0_alpha >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=C++ code generator for integrating 'cxx' crate into a non-Cargo build.
 EAPI=7
 HOMEPAGE=https://crates.io/crates/cxxbridge-cmd
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=*
 LICENSE=|| ( MIT Apache-2.0 )
-RDEPEND=>=dev-rust/clap-2.33:= <dev-rust/clap-3.0.0_alpha >=dev-rust/codespan-reporting-0.11:= <dev-rust/codespan-reporting-0.12.0_alpha >=dev-rust/proc-macro2-1.0.26:= <dev-rust/proc-macro2-2.0.0_alpha >=dev-rust/quote-1.0:= <dev-rust/quote-2.0.0_alpha >=dev-rust/syn-1.0.68:= <dev-rust/syn-2.0.0_alpha !dev-util/cxxbridge-cmd:1.0.42
+RDEPEND=>=dev-rust/clap-2.33:= <dev-rust/clap-3.0.0_alpha >=dev-rust/codespan-reporting-0.11:= <dev-rust/codespan-reporting-0.12.0_alpha >=dev-rust/proc-macro2-1.0.26:= <dev-rust/proc-macro2-2.0.0_alpha >=dev-rust/quote-1.0:= <dev-rust/quote-2.0.0_alpha >=dev-rust/syn-1.0.68:= <dev-rust/syn-2.0.0_alpha !dev-util/cxxbridge-cmd:1.0.42 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/1.0.42-r3
 SRC_URI=https://crates.io/api/v1/crates/cxxbridge-cmd/1.0.42/download -> cxxbridge-cmd-1.0.42.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=a822038fc7cb21c6c51176b1176f2b18
diff --git a/metadata/md5-cache/dev-util/fatrace-0.16.3 b/metadata/md5-cache/dev-util/fatrace-0.16.3
new file mode 100644
index 0000000..984d324
--- /dev/null
+++ b/metadata/md5-cache/dev-util/fatrace-0.16.3
@@ -0,0 +1,11 @@
+DEFINED_PHASES=install setup
+DESCRIPTION=report file access events from all running processes
+EAPI=7
+HOMEPAGE=https://github.com/martinpitt/fatrace
+IUSE=kernel_linux
+KEYWORDS=*
+LICENSE=GPL-3
+SLOT=0
+SRC_URI=https://github.com/martinpitt/fatrace/archive/refs/tags/0.16.3.tar.gz -> fatrace-0.16.3.tar.gz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	linux-info	327865b9921771330775d971263dc234	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=32cddfce981956c5bf74fa43aa8f459a
diff --git a/metadata/md5-cache/dev-util/gdbus-codegen-2.68.3 b/metadata/md5-cache/dev-util/gdbus-codegen-2.68.3
deleted file mode 100644
index d5dc70d..0000000
--- a/metadata/md5-cache/dev-util/gdbus-codegen-2.68.3
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-libs/libxslt app-text/docbook-xsl-stylesheets app-arch/xz-utils python_single_target_python3_6? ( dev-lang/python:3.6[xml] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[xml] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[xml] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[xml] >=dev-lang/python-exec-2:=[python_targets_python3_9] )
-DEFINED_PHASES=compile configure install prepare setup test
-DEPEND=python_single_target_python3_6? ( dev-lang/python:3.6[xml] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[xml] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[xml] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[xml] >=dev-lang/python-exec-2:=[python_targets_python3_9] )
-DESCRIPTION=GDBus code and documentation generator
-EAPI=7
-HOMEPAGE=https://www.gtk.org/
-IUSE=python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
-KEYWORDS=*
-LICENSE=LGPL-2+
-RDEPEND=python_single_target_python3_6? ( dev-lang/python:3.6[xml] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[xml] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[xml] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[xml] >=dev-lang/python-exec-2:=[python_targets_python3_9] ) python_single_target_python3_6? ( dev-lang/python:3.6[xml] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[xml] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[xml] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[xml] >=dev-lang/python-exec-2:=[python_targets_python3_9] )
-REQUIRED_USE=^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 )
-SLOT=0
-SRC_URI=mirror://gnome/sources/glib/2.68/glib-2.68.3.tar.xz
-_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnome.org	532d56d07b9eace4831aaa817d2b756a	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=54f597e1d59dae1657a4ca613831c0af
diff --git a/metadata/md5-cache/dev-util/gdbus-codegen-2.68.3-r1 b/metadata/md5-cache/dev-util/gdbus-codegen-2.68.3-r1
deleted file mode 100644
index d5dc70d..0000000
--- a/metadata/md5-cache/dev-util/gdbus-codegen-2.68.3-r1
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-libs/libxslt app-text/docbook-xsl-stylesheets app-arch/xz-utils python_single_target_python3_6? ( dev-lang/python:3.6[xml] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[xml] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[xml] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[xml] >=dev-lang/python-exec-2:=[python_targets_python3_9] )
-DEFINED_PHASES=compile configure install prepare setup test
-DEPEND=python_single_target_python3_6? ( dev-lang/python:3.6[xml] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[xml] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[xml] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[xml] >=dev-lang/python-exec-2:=[python_targets_python3_9] )
-DESCRIPTION=GDBus code and documentation generator
-EAPI=7
-HOMEPAGE=https://www.gtk.org/
-IUSE=python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
-KEYWORDS=*
-LICENSE=LGPL-2+
-RDEPEND=python_single_target_python3_6? ( dev-lang/python:3.6[xml] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[xml] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[xml] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[xml] >=dev-lang/python-exec-2:=[python_targets_python3_9] ) python_single_target_python3_6? ( dev-lang/python:3.6[xml] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[xml] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[xml] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[xml] >=dev-lang/python-exec-2:=[python_targets_python3_9] )
-REQUIRED_USE=^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 )
-SLOT=0
-SRC_URI=mirror://gnome/sources/glib/2.68/glib-2.68.3.tar.xz
-_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnome.org	532d56d07b9eace4831aaa817d2b756a	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=54f597e1d59dae1657a4ca613831c0af
diff --git a/metadata/md5-cache/dev-util/gdbus-codegen-2.72.1 b/metadata/md5-cache/dev-util/gdbus-codegen-2.72.1
new file mode 100644
index 0000000..64741d7
--- /dev/null
+++ b/metadata/md5-cache/dev-util/gdbus-codegen-2.72.1
@@ -0,0 +1,15 @@
+BDEPEND=dev-libs/libxslt app-text/docbook-xsl-stylesheets app-arch/xz-utils python_single_target_python3_6? ( dev-lang/python:3.6[xml] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[xml] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[xml] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[xml] >=dev-lang/python-exec-2:=[python_targets_python3_9] )
+DEFINED_PHASES=compile configure install prepare setup test
+DEPEND=python_single_target_python3_6? ( dev-lang/python:3.6[xml] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[xml] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[xml] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[xml] >=dev-lang/python-exec-2:=[python_targets_python3_9] )
+DESCRIPTION=GDBus code and documentation generator
+EAPI=7
+HOMEPAGE=https://www.gtk.org/
+IUSE=python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
+KEYWORDS=*
+LICENSE=LGPL-2+
+RDEPEND=python_single_target_python3_6? ( dev-lang/python:3.6[xml] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[xml] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[xml] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[xml] >=dev-lang/python-exec-2:=[python_targets_python3_9] ) python_single_target_python3_6? ( dev-lang/python:3.6[xml] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[xml] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[xml] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[xml] >=dev-lang/python-exec-2:=[python_targets_python3_9] )
+REQUIRED_USE=^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 )
+SLOT=0
+SRC_URI=mirror://gnome/sources/glib/2.72/glib-2.72.1.tar.xz
+_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnome.org	532d56d07b9eace4831aaa817d2b756a	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=54f597e1d59dae1657a4ca613831c0af
diff --git a/metadata/md5-cache/dev-util/glib-utils-2.68.3 b/metadata/md5-cache/dev-util/glib-utils-2.68.3
deleted file mode 100644
index f8f5185..0000000
--- a/metadata/md5-cache/dev-util/glib-utils-2.68.3
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-libs/libxslt app-text/docbook-xsl-stylesheets app-arch/xz-utils
-DEFINED_PHASES=compile configure install setup
-DEPEND=python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) cros-host? ( dev-libs/libxslt app-text/docbook-xsl-stylesheets )
-DESCRIPTION=Build utilities for GLib using projects
-EAPI=7
-HOMEPAGE=https://www.gtk.org/
-IUSE=cros-host python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
-KEYWORDS=*
-LICENSE=LGPL-2.1+
-RDEPEND=python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] )
-REQUIRED_USE=^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 )
-SLOT=0
-SRC_URI=mirror://gnome/sources/glib/2.68/glib-2.68.3.tar.xz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnome.org	532d56d07b9eace4831aaa817d2b756a	multilib	2477ebe553d3e4d2c606191fe6c33602	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a8ab342aadb76d7c185f6fa9e2cd0585
diff --git a/metadata/md5-cache/dev-util/glib-utils-2.68.3-r1 b/metadata/md5-cache/dev-util/glib-utils-2.68.3-r1
deleted file mode 100644
index f8f5185..0000000
--- a/metadata/md5-cache/dev-util/glib-utils-2.68.3-r1
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-libs/libxslt app-text/docbook-xsl-stylesheets app-arch/xz-utils
-DEFINED_PHASES=compile configure install setup
-DEPEND=python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) cros-host? ( dev-libs/libxslt app-text/docbook-xsl-stylesheets )
-DESCRIPTION=Build utilities for GLib using projects
-EAPI=7
-HOMEPAGE=https://www.gtk.org/
-IUSE=cros-host python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
-KEYWORDS=*
-LICENSE=LGPL-2.1+
-RDEPEND=python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] )
-REQUIRED_USE=^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 )
-SLOT=0
-SRC_URI=mirror://gnome/sources/glib/2.68/glib-2.68.3.tar.xz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnome.org	532d56d07b9eace4831aaa817d2b756a	multilib	2477ebe553d3e4d2c606191fe6c33602	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a8ab342aadb76d7c185f6fa9e2cd0585
diff --git a/metadata/md5-cache/dev-util/glib-utils-2.72.1 b/metadata/md5-cache/dev-util/glib-utils-2.72.1
new file mode 100644
index 0000000..7735113
--- /dev/null
+++ b/metadata/md5-cache/dev-util/glib-utils-2.72.1
@@ -0,0 +1,15 @@
+BDEPEND=dev-libs/libxslt app-text/docbook-xsl-stylesheets app-arch/xz-utils
+DEFINED_PHASES=compile configure install setup
+DEPEND=python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) cros-host? ( dev-libs/libxslt app-text/docbook-xsl-stylesheets )
+DESCRIPTION=Build utilities for GLib using projects
+EAPI=7
+HOMEPAGE=https://www.gtk.org/
+IUSE=cros-host python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
+KEYWORDS=*
+LICENSE=LGPL-2.1+
+RDEPEND=python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] )
+REQUIRED_USE=^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 )
+SLOT=0
+SRC_URI=mirror://gnome/sources/glib/2.72/glib-2.72.1.tar.xz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnome.org	532d56d07b9eace4831aaa817d2b756a	multilib	2477ebe553d3e4d2c606191fe6c33602	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a8ab342aadb76d7c185f6fa9e2cd0585
diff --git a/metadata/md5-cache/dev-util/gyp-2019.06.04.155326 b/metadata/md5-cache/dev-util/gyp-2019.06.04.155326
deleted file mode 100644
index bc6bf1c..0000000
--- a/metadata/md5-cache/dev-util/gyp-2019.06.04.155326
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/setuptools[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
-DESCRIPTION=GYP, a tool to generates native build files
-EAPI=5
-HOMEPAGE=https://gyp.gsrc.io/
-IUSE=python_targets_python2_7 python_targets_python3_6 python_targets_python3_7
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
-REQUIRED_USE=|| ( python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 )
-SLOT=0
-SRC_URI=http://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/gyp-2019.06.04.155326.tar.gz
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=95261ff7d425035dd73fc686dbda365b
diff --git a/metadata/md5-cache/dev-util/hdctools-0.0.1-r1516 b/metadata/md5-cache/dev-util/hdctools-0.0.1-r1516
deleted file mode 100644
index 9823e56..0000000
--- a/metadata/md5-cache/dev-util/hdctools-0.0.1-r1516
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=test? ( dev-python/pytest[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] virtual/pkgconfig
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=>=dev-embedded/libftdi-0.18:= dev-python/numpy[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-python/pexpect-3.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pyserial[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-python/pyusb-1.0.2[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sys-power/uhubctl virtual/libusb:1= chromeos-base/ec-devutils:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] app-text/htmltidy
-DESCRIPTION=Software to communicate with servo/miniservo debug boards
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os/servo
-IUSE=cros_host test cros_host cros_workon_tree_1b270bb08bcd2153363b7b70589b1227f4d0c5be python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=>=dev-embedded/libftdi-0.18:= dev-python/numpy[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-python/pexpect-3.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pyserial[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-python/pyusb-1.0.2[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sys-power/uhubctl virtual/libusb:1= chromeos-base/ec-devutils:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] virtual/servo-config-dut-usb3:* python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
-SLOT=0/0.0.1-r1516
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
-_md5_=0f45e61e6d1e7031fc53baf860d9f221
diff --git a/metadata/md5-cache/dev-util/hdctools-0.0.1-r1656 b/metadata/md5-cache/dev-util/hdctools-0.0.1-r1656
new file mode 100644
index 0000000..bf3e1a1
--- /dev/null
+++ b/metadata/md5-cache/dev-util/hdctools-0.0.1-r1656
@@ -0,0 +1,15 @@
+BDEPEND=test? ( dev-python/pytest[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] virtual/pkgconfig
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=>=dev-embedded/libftdi-0.18:= dev-python/numpy[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-python/pexpect-3.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pyserial[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-python/pyusb-1.0.2[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sys-power/uhubctl virtual/libusb:1= chromeos-base/ec-devutils:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DESCRIPTION=Software to communicate with servo/miniservo debug boards
+EAPI=7
+HOMEPAGE=https://www.chromium.org/chromium-os/servo
+IUSE=cros_host test cros_host cros_workon_tree_88b1aaf2e05c457f543c0ccc678ca85f510800c6 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=>=dev-embedded/libftdi-0.18:= dev-python/numpy[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-python/pexpect-3.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pyserial[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-python/pyusb-1.0.2[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sys-power/uhubctl virtual/libusb:1= chromeos-base/ec-devutils:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] virtual/servo-config-dut-usb3:* python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0/0.0.1-r1656
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
+_md5_=27ecb60373baf8a7d91ef985cab84fe9
diff --git a/metadata/md5-cache/dev-util/hdctools-9999 b/metadata/md5-cache/dev-util/hdctools-9999
index a96ac15..4a330d7 100644
--- a/metadata/md5-cache/dev-util/hdctools-9999
+++ b/metadata/md5-cache/dev-util/hdctools-9999
@@ -1,15 +1,15 @@
 BDEPEND=test? ( dev-python/pytest[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] virtual/pkgconfig
 DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=>=dev-embedded/libftdi-0.18:= dev-python/numpy[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-python/pexpect-3.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pyserial[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-python/pyusb-1.0.2[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sys-power/uhubctl virtual/libusb:1= chromeos-base/ec-devutils:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] app-text/htmltidy
+DEPEND=>=dev-embedded/libftdi-0.18:= dev-python/numpy[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-python/pexpect-3.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pyserial[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-python/pyusb-1.0.2[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sys-power/uhubctl virtual/libusb:1= chromeos-base/ec-devutils:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
 DESCRIPTION=Software to communicate with servo/miniservo debug boards
 EAPI=7
 HOMEPAGE=https://www.chromium.org/chromium-os/servo
-IUSE=cros_host test cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+IUSE=cros_host test cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 RDEPEND=>=dev-embedded/libftdi-0.18:= dev-python/numpy[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-python/pexpect-3.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pyserial[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=dev-python/pyusb-1.0.2[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sys-power/uhubctl virtual/libusb:1= chromeos-base/ec-devutils:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] virtual/servo-config-dut-usb3:* python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
 REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
-_md5_=bccf43f3ef46822ab213478bf42cf8ff
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
+_md5_=8e6d6f0e965f2f99c29a33b2c85ae9f5
diff --git a/metadata/md5-cache/dev-util/lldb-server-14.0_pre445002 b/metadata/md5-cache/dev-util/lldb-server-14.0_pre445002
deleted file mode 100644
index a270ff0..0000000
--- a/metadata/md5-cache/dev-util/lldb-server-14.0_pre445002
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=sys-libs/ncurses sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=lldb-server, for the LLDB debugger
-EAPI=6
-HOMEPAGE=https://github.com/llvm/llvm-project
-IUSE=cros_host llvm-next llvm-tot abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_
-KEYWORDS=*
-LICENSE=|| ( UoI-NCSA MIT )
-PROPERTIES=live live
-SLOT=0
-_eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-llvm	bb582d113e05e1d252d1c86ac2983b68	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=8f023c76b90513fbe1efdc8d577644b1
diff --git a/metadata/md5-cache/dev-util/lldb-server-14.0_pre445002-r1 b/metadata/md5-cache/dev-util/lldb-server-14.0_pre445002-r1
deleted file mode 100644
index a270ff0..0000000
--- a/metadata/md5-cache/dev-util/lldb-server-14.0_pre445002-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=sys-libs/ncurses sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=lldb-server, for the LLDB debugger
-EAPI=6
-HOMEPAGE=https://github.com/llvm/llvm-project
-IUSE=cros_host llvm-next llvm-tot abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_
-KEYWORDS=*
-LICENSE=|| ( UoI-NCSA MIT )
-PROPERTIES=live live
-SLOT=0
-_eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-llvm	bb582d113e05e1d252d1c86ac2983b68	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=8f023c76b90513fbe1efdc8d577644b1
diff --git a/metadata/md5-cache/dev-util/lldb-server-15.0_pre458507 b/metadata/md5-cache/dev-util/lldb-server-15.0_pre458507
new file mode 100644
index 0000000..ec6cc10
--- /dev/null
+++ b/metadata/md5-cache/dev-util/lldb-server-15.0_pre458507
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=sys-libs/ncurses sys-devel/make >=dev-util/cmake-3.9.6
+DESCRIPTION=lldb-server, for the LLDB debugger
+EAPI=6
+HOMEPAGE=https://github.com/llvm/llvm-project
+IUSE=cros_host llvm-next llvm-tot continue-on-patch-failure abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_
+KEYWORDS=*
+LICENSE=|| ( UoI-NCSA MIT )
+PROPERTIES=live live
+SLOT=0
+_eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-llvm	1286c7977ce85506c2f3f2d5471f7d78	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=ce3fbcf9f0e97347a94b48df50f96bde
diff --git a/metadata/md5-cache/dev-util/lldb-server-15.0_pre458507-r3 b/metadata/md5-cache/dev-util/lldb-server-15.0_pre458507-r3
new file mode 100644
index 0000000..ec6cc10
--- /dev/null
+++ b/metadata/md5-cache/dev-util/lldb-server-15.0_pre458507-r3
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=sys-libs/ncurses sys-devel/make >=dev-util/cmake-3.9.6
+DESCRIPTION=lldb-server, for the LLDB debugger
+EAPI=6
+HOMEPAGE=https://github.com/llvm/llvm-project
+IUSE=cros_host llvm-next llvm-tot continue-on-patch-failure abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_
+KEYWORDS=*
+LICENSE=|| ( UoI-NCSA MIT )
+PROPERTIES=live live
+SLOT=0
+_eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-llvm	1286c7977ce85506c2f3f2d5471f7d78	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=ce3fbcf9f0e97347a94b48df50f96bde
diff --git a/metadata/md5-cache/dev-util/lro-server-0.0.1-r5 b/metadata/md5-cache/dev-util/lro-server-0.0.1-r5
deleted file mode 100644
index 869673e..0000000
--- a/metadata/md5-cache/dev-util/lro-server-0.0.1-r5
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst setup test unpack
-DEPEND=dev-go/go-tools dev-go/grpc dev-go/mock dev-go/protobuf dev-go/uuid chromeos-base/cros-config-api dev-lang/go
-DESCRIPTION=Common golang library to support google.longrunning.operations server impls
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/lro
-IUSE=cros_host cros_workon_tree_0a82488b21ac7734f64c67f4addb83f5f0eceb3f
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=!<chromeos-base/test-server-0.0.1-r49
-SLOT=0/0.0.1-r5
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=f6ae0a89a09fffc2a74479de6d16de30
diff --git a/metadata/md5-cache/dev-util/lro-server-0.0.1-r7 b/metadata/md5-cache/dev-util/lro-server-0.0.1-r7
new file mode 100644
index 0000000..f48fa5e
--- /dev/null
+++ b/metadata/md5-cache/dev-util/lro-server-0.0.1-r7
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst setup test unpack
+DEPEND=dev-go/go-tools dev-go/grpc dev-go/mock dev-go/protobuf dev-go/protobuf-legacy-api dev-go/uuid chromeos-base/cros-config-api dev-lang/go
+DESCRIPTION=Common golang library to support google.longrunning.operations server impls
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/lro
+IUSE=cros_host cros_workon_tree_bd1f90b22734de709ac1f35f8428b412fab4fbe1
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=!<chromeos-base/test-server-0.0.1-r49
+SLOT=0/0.0.1-r7
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1a346f0b8ee90ffc66442cc4758c0064
diff --git a/metadata/md5-cache/dev-util/lro-server-9999 b/metadata/md5-cache/dev-util/lro-server-9999
index afbe5c9..8f900e1 100644
--- a/metadata/md5-cache/dev-util/lro-server-9999
+++ b/metadata/md5-cache/dev-util/lro-server-9999
@@ -1,6 +1,6 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile info install postinst setup test unpack
-DEPEND=dev-go/go-tools dev-go/grpc dev-go/mock dev-go/protobuf dev-go/uuid chromeos-base/cros-config-api dev-lang/go
+DEPEND=dev-go/go-tools dev-go/grpc dev-go/mock dev-go/protobuf dev-go/protobuf-legacy-api dev-go/uuid chromeos-base/cros-config-api dev-lang/go
 DESCRIPTION=Common golang library to support google.longrunning.operations server impls
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/lro
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=!<chromeos-base/test-server-0.0.1-r49
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=46ca40150c67605ea073d10e048aec0c
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0a4162ab9841979ea7b984663190cf72
diff --git a/metadata/md5-cache/dev-util/lroold-server-0.0.1-r1 b/metadata/md5-cache/dev-util/lroold-server-0.0.1-r1
deleted file mode 100644
index d657de9..0000000
--- a/metadata/md5-cache/dev-util/lroold-server-0.0.1-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst setup test unpack
-DEPEND=dev-go/go-tools dev-go/grpc dev-go/mock dev-go/protobuf chromeos-base/cros-config-api dev-lang/go
-DESCRIPTION=Common golang library to support google.longrunning.operations server impls
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/lroold
-IUSE=cros_host cros_workon_tree_6fd739434fd74ac7d4f838c8817c842b3df37cc3
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=!<chromeos-base/test-server-0.0.1-r49
-SLOT=0/0.0.1-r1
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=aba70961461ab24f1d3521d436201751
diff --git a/metadata/md5-cache/dev-util/lroold-server-0.0.1-r3 b/metadata/md5-cache/dev-util/lroold-server-0.0.1-r3
new file mode 100644
index 0000000..20a7a28
--- /dev/null
+++ b/metadata/md5-cache/dev-util/lroold-server-0.0.1-r3
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst setup test unpack
+DEPEND=dev-go/go-tools dev-go/grpc dev-go/mock dev-go/protobuf dev-go/protobuf-legacy-api chromeos-base/cros-config-api dev-lang/go
+DESCRIPTION=Common golang library to support google.longrunning.operations server impls
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/lroold
+IUSE=cros_host cros_workon_tree_c3f73cc3c4bc36a0d9ff17ee8deb577d8eceea1f
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=!<chromeos-base/test-server-0.0.1-r49
+SLOT=0/0.0.1-r3
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=98dbce08387f522ba8596d10830f93f1
diff --git a/metadata/md5-cache/dev-util/lroold-server-9999 b/metadata/md5-cache/dev-util/lroold-server-9999
index dcf6082..aeb26d2 100644
--- a/metadata/md5-cache/dev-util/lroold-server-9999
+++ b/metadata/md5-cache/dev-util/lroold-server-9999
@@ -1,6 +1,6 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile info install postinst setup test unpack
-DEPEND=dev-go/go-tools dev-go/grpc dev-go/mock dev-go/protobuf chromeos-base/cros-config-api dev-lang/go
+DEPEND=dev-go/go-tools dev-go/grpc dev-go/mock dev-go/protobuf dev-go/protobuf-legacy-api chromeos-base/cros-config-api dev-lang/go
 DESCRIPTION=Common golang library to support google.longrunning.operations server impls
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/lroold
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=!<chromeos-base/test-server-0.0.1-r49
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=54ad0c24fafd1090a6e7b8a5a8b3ebde
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=813f62b853606d51d3604a9dd65f9852
diff --git a/metadata/md5-cache/dev-util/memory-eater-locked-0.0.1-r5 b/metadata/md5-cache/dev-util/memory-eater-locked-0.0.1-r5
deleted file mode 100644
index 5ee9208..0000000
--- a/metadata/md5-cache/dev-util/memory-eater-locked-0.0.1-r5
+++ /dev/null
@@ -1,12 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install setup unpack
-DESCRIPTION=A memory consumer to allocate mlocked (non-swappable) memory
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/experimental/+/master/memory-eater-locked/
-IUSE=cros_host cros_workon_tree_557307a70c32f48207a6ce6542d5a0035a0e098c
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=368f8ca7e8ced0aadd79b332fe402659
diff --git a/metadata/md5-cache/dev-util/memory-eater-locked-0.0.1-r6 b/metadata/md5-cache/dev-util/memory-eater-locked-0.0.1-r6
new file mode 100644
index 0000000..04b5c25
--- /dev/null
+++ b/metadata/md5-cache/dev-util/memory-eater-locked-0.0.1-r6
@@ -0,0 +1,12 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install setup unpack
+DESCRIPTION=A memory consumer to allocate mlocked (non-swappable) memory
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/experimental/+/master/memory-eater-locked/
+IUSE=cros_host cros_workon_tree_557307a70c32f48207a6ce6542d5a0035a0e098c asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0a31a8aee3ce9953aea43643be44e5de
diff --git a/metadata/md5-cache/dev-util/memory-eater-locked-9999 b/metadata/md5-cache/dev-util/memory-eater-locked-9999
index e3cb6ca..17f6e23 100644
--- a/metadata/md5-cache/dev-util/memory-eater-locked-9999
+++ b/metadata/md5-cache/dev-util/memory-eater-locked-9999
@@ -1,12 +1,12 @@
 BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install setup unpack
+DEFINED_PHASES=compile configure info install setup unpack
 DESCRIPTION=A memory consumer to allocate mlocked (non-swappable) memory
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/experimental/+/master/memory-eater-locked/
-IUSE=cros_host cros_workon_tree_
+IUSE=cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0d252a5feeee6c708fe7aaa9607e64ff
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=48ae6c55cf13ea89b9a48cd80d35ed96
diff --git a/metadata/md5-cache/dev-util/parallax-0.0.1-r5 b/metadata/md5-cache/dev-util/parallax-0.0.1-r5
new file mode 100644
index 0000000..0c6a61a
--- /dev/null
+++ b/metadata/md5-cache/dev-util/parallax-0.0.1-r5
@@ -0,0 +1,14 @@
+BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DESCRIPTION=Parallax: Visual Analysis Framework
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/parallax/
+IUSE=cros_host cros_workon_tree_a35a16cf52a59a1bccb5de30971ce3dbe7c577cb python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a3a1361d28ef254e909ffb7e7282a7f3
diff --git a/metadata/md5-cache/dev-util/parallax-9999 b/metadata/md5-cache/dev-util/parallax-9999
new file mode 100644
index 0000000..d1abe58
--- /dev/null
+++ b/metadata/md5-cache/dev-util/parallax-9999
@@ -0,0 +1,14 @@
+BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DESCRIPTION=Parallax: Visual Analysis Framework
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/parallax/
+IUSE=cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0b3cfd5177ad0a5fff6e4187429840ee
diff --git a/metadata/md5-cache/dev-util/perf-5.15 b/metadata/md5-cache/dev-util/perf-5.15
new file mode 100644
index 0000000..e7daf7d
--- /dev/null
+++ b/metadata/md5-cache/dev-util/perf-5.15
@@ -0,0 +1,15 @@
+BDEPEND=sys-devel/bison sys-devel/flex virtual/pkgconfig doc? ( app-text/asciidoc app-text/sgml-common app-text/xmlto sys-process/time ) python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,-python_single_target_python3_6(-)]
+DEFINED_PHASES=compile install prepare pretend setup test unpack
+DEPEND=audit? ( sys-process/audit ) babeltrace? ( dev-util/babeltrace ) crypt? ( virtual/libcrypt:= ) clang? ( sys-devel/clang:= sys-devel/llvm:= ) coresight? ( dev-libs/opencsd ) gtk? ( x11-libs/gtk+:2 ) java? ( virtual/jre:* ) libpfm? ( dev-libs/libpfm ) lzma? ( app-arch/xz-utils ) numa? ( sys-process/numactl ) perl? ( dev-lang/perl:= ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] ) slang? ( sys-libs/slang ) systemtap? ( dev-util/systemtap ) unwind? ( sys-libs/llvm-libunwind ) zlib? ( sys-libs/zlib ) zstd? ( app-arch/zstd ) dev-libs/elfutils sys-libs/binutils-libs:= >=sys-kernel/linux-headers-4.4 java? ( virtual/jdk ) !!sys-devel/llvm:0
+DESCRIPTION=Userland tools for Linux Performance Counters
+EAPI=7
+HOMEPAGE=https://perf.wiki.kernel.org/
+IUSE=audit babeltrace clang coresight crypt debug +doc gtk java libpfm lzma numa perl python slang systemtap unwind zlib zstd python_targets_python3_6 kernel_linux
+KEYWORDS=*
+LICENSE=GPL-2
+RDEPEND=audit? ( sys-process/audit ) babeltrace? ( dev-util/babeltrace ) crypt? ( virtual/libcrypt:= ) clang? ( sys-devel/clang:= sys-devel/llvm:= ) coresight? ( dev-libs/opencsd ) gtk? ( x11-libs/gtk+:2 ) java? ( virtual/jre:* ) libpfm? ( dev-libs/libpfm ) lzma? ( app-arch/xz-utils ) numa? ( sys-process/numactl ) perl? ( dev-lang/perl:= ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] ) slang? ( sys-libs/slang ) systemtap? ( dev-util/systemtap ) unwind? ( sys-libs/llvm-libunwind ) zlib? ( sys-libs/zlib ) zstd? ( app-arch/zstd ) dev-libs/elfutils sys-libs/binutils-libs:=
+REQUIRED_USE=|| ( python_targets_python3_6 )
+SLOT=0
+SRC_URI=https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.15.tar.xz
+_eclasses_=bash-completion-r1	47a7402d95930413ce25ba8d857339bb	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	linux-info	327865b9921771330775d971263dc234	llvm	8b7c4e5fc38650215226b5186859d0d4	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	prefix	e51c7882b7b721e54e684f7eb143cbfe	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=35e9ff406433faeede27e8d6591fee39
diff --git a/metadata/md5-cache/dev-util/perf-5.15-r1 b/metadata/md5-cache/dev-util/perf-5.15-r1
new file mode 100644
index 0000000..e7daf7d
--- /dev/null
+++ b/metadata/md5-cache/dev-util/perf-5.15-r1
@@ -0,0 +1,15 @@
+BDEPEND=sys-devel/bison sys-devel/flex virtual/pkgconfig doc? ( app-text/asciidoc app-text/sgml-common app-text/xmlto sys-process/time ) python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,-python_single_target_python3_6(-)]
+DEFINED_PHASES=compile install prepare pretend setup test unpack
+DEPEND=audit? ( sys-process/audit ) babeltrace? ( dev-util/babeltrace ) crypt? ( virtual/libcrypt:= ) clang? ( sys-devel/clang:= sys-devel/llvm:= ) coresight? ( dev-libs/opencsd ) gtk? ( x11-libs/gtk+:2 ) java? ( virtual/jre:* ) libpfm? ( dev-libs/libpfm ) lzma? ( app-arch/xz-utils ) numa? ( sys-process/numactl ) perl? ( dev-lang/perl:= ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] ) slang? ( sys-libs/slang ) systemtap? ( dev-util/systemtap ) unwind? ( sys-libs/llvm-libunwind ) zlib? ( sys-libs/zlib ) zstd? ( app-arch/zstd ) dev-libs/elfutils sys-libs/binutils-libs:= >=sys-kernel/linux-headers-4.4 java? ( virtual/jdk ) !!sys-devel/llvm:0
+DESCRIPTION=Userland tools for Linux Performance Counters
+EAPI=7
+HOMEPAGE=https://perf.wiki.kernel.org/
+IUSE=audit babeltrace clang coresight crypt debug +doc gtk java libpfm lzma numa perl python slang systemtap unwind zlib zstd python_targets_python3_6 kernel_linux
+KEYWORDS=*
+LICENSE=GPL-2
+RDEPEND=audit? ( sys-process/audit ) babeltrace? ( dev-util/babeltrace ) crypt? ( virtual/libcrypt:= ) clang? ( sys-devel/clang:= sys-devel/llvm:= ) coresight? ( dev-libs/opencsd ) gtk? ( x11-libs/gtk+:2 ) java? ( virtual/jre:* ) libpfm? ( dev-libs/libpfm ) lzma? ( app-arch/xz-utils ) numa? ( sys-process/numactl ) perl? ( dev-lang/perl:= ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] ) slang? ( sys-libs/slang ) systemtap? ( dev-util/systemtap ) unwind? ( sys-libs/llvm-libunwind ) zlib? ( sys-libs/zlib ) zstd? ( app-arch/zstd ) dev-libs/elfutils sys-libs/binutils-libs:=
+REQUIRED_USE=|| ( python_targets_python3_6 )
+SLOT=0
+SRC_URI=https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.15.tar.xz
+_eclasses_=bash-completion-r1	47a7402d95930413ce25ba8d857339bb	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	linux-info	327865b9921771330775d971263dc234	llvm	8b7c4e5fc38650215226b5186859d0d4	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	prefix	e51c7882b7b721e54e684f7eb143cbfe	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=35e9ff406433faeede27e8d6591fee39
diff --git a/metadata/md5-cache/dev-util/perf-5.3.7 b/metadata/md5-cache/dev-util/perf-5.3.7
deleted file mode 100644
index 530388d..0000000
--- a/metadata/md5-cache/dev-util/perf-5.3.7
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-util/patchutils sys-devel/bison sys-devel/flex java? ( virtual/jdk ) doc? ( app-text/asciidoc app-text/sgml-common app-text/xmlto sys-process/time )
-DEFINED_PHASES=compile install postinst prepare setup test unpack
-DEPEND=audit? ( sys-process/audit ) crypt? ( dev-libs/openssl:0= ) clang? ( sys-devel/clang:* sys-devel/llvm:* ) coresight? ( dev-libs/opencsd ) gtk? ( x11-libs/gtk+:2 ) java? ( virtual/jre:* ) lzma? ( app-arch/xz-utils ) numa? ( sys-process/numactl ) perl? ( dev-lang/perl:= ) python? ( python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) ) slang? ( sys-libs/slang ) systemtap? ( dev-util/systemtap ) unwind? ( sys-libs/llvm-libunwind ) zlib? ( sys-libs/zlib ) zstd? ( app-arch/zstd ) dev-libs/elfutils sys-libs/binutils-libs:= >=sys-kernel/linux-headers-4.4
-DESCRIPTION=Userland tools for Linux Performance Counters
-EAPI=7
-HOMEPAGE=https://perf.wiki.kernel.org/
-IUSE=audit clang coresight crypt debug +demangle +doc gtk java lzma numa perl python slang systemtap unwind zlib zstd +python_single_target_python2_7 kernel_linux
-KEYWORDS=*
-LICENSE=GPL-2
-RDEPEND=audit? ( sys-process/audit ) crypt? ( dev-libs/openssl:0= ) clang? ( sys-devel/clang:* sys-devel/llvm:* ) coresight? ( dev-libs/opencsd ) gtk? ( x11-libs/gtk+:2 ) java? ( virtual/jre:* ) lzma? ( app-arch/xz-utils ) numa? ( sys-process/numactl ) perl? ( dev-lang/perl:= ) python? ( python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) ) slang? ( sys-libs/slang ) systemtap? ( dev-util/systemtap ) unwind? ( sys-libs/llvm-libunwind ) zlib? ( sys-libs/zlib ) zstd? ( app-arch/zstd ) dev-libs/elfutils sys-libs/binutils-libs:=
-REQUIRED_USE=python? ( ^^ ( python_single_target_python2_7 ) )
-SLOT=0
-SRC_URI=https://www.kernel.org/pub/linux/kernel/v5.x/patch-5.3.7.xz https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.3.tar.xz
-_eclasses_=bash-completion-r1	47a7402d95930413ce25ba8d857339bb	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	linux-info	327865b9921771330775d971263dc234	multilib	2477ebe553d3e4d2c606191fe6c33602	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5ee58b9b70c0f17536f9638662319c69
diff --git a/metadata/md5-cache/dev-util/perf-5.3.7-r27 b/metadata/md5-cache/dev-util/perf-5.3.7-r27
deleted file mode 100644
index 530388d..0000000
--- a/metadata/md5-cache/dev-util/perf-5.3.7-r27
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-util/patchutils sys-devel/bison sys-devel/flex java? ( virtual/jdk ) doc? ( app-text/asciidoc app-text/sgml-common app-text/xmlto sys-process/time )
-DEFINED_PHASES=compile install postinst prepare setup test unpack
-DEPEND=audit? ( sys-process/audit ) crypt? ( dev-libs/openssl:0= ) clang? ( sys-devel/clang:* sys-devel/llvm:* ) coresight? ( dev-libs/opencsd ) gtk? ( x11-libs/gtk+:2 ) java? ( virtual/jre:* ) lzma? ( app-arch/xz-utils ) numa? ( sys-process/numactl ) perl? ( dev-lang/perl:= ) python? ( python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) ) slang? ( sys-libs/slang ) systemtap? ( dev-util/systemtap ) unwind? ( sys-libs/llvm-libunwind ) zlib? ( sys-libs/zlib ) zstd? ( app-arch/zstd ) dev-libs/elfutils sys-libs/binutils-libs:= >=sys-kernel/linux-headers-4.4
-DESCRIPTION=Userland tools for Linux Performance Counters
-EAPI=7
-HOMEPAGE=https://perf.wiki.kernel.org/
-IUSE=audit clang coresight crypt debug +demangle +doc gtk java lzma numa perl python slang systemtap unwind zlib zstd +python_single_target_python2_7 kernel_linux
-KEYWORDS=*
-LICENSE=GPL-2
-RDEPEND=audit? ( sys-process/audit ) crypt? ( dev-libs/openssl:0= ) clang? ( sys-devel/clang:* sys-devel/llvm:* ) coresight? ( dev-libs/opencsd ) gtk? ( x11-libs/gtk+:2 ) java? ( virtual/jre:* ) lzma? ( app-arch/xz-utils ) numa? ( sys-process/numactl ) perl? ( dev-lang/perl:= ) python? ( python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) ) slang? ( sys-libs/slang ) systemtap? ( dev-util/systemtap ) unwind? ( sys-libs/llvm-libunwind ) zlib? ( sys-libs/zlib ) zstd? ( app-arch/zstd ) dev-libs/elfutils sys-libs/binutils-libs:=
-REQUIRED_USE=python? ( ^^ ( python_single_target_python2_7 ) )
-SLOT=0
-SRC_URI=https://www.kernel.org/pub/linux/kernel/v5.x/patch-5.3.7.xz https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.3.tar.xz
-_eclasses_=bash-completion-r1	47a7402d95930413ce25ba8d857339bb	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	linux-info	327865b9921771330775d971263dc234	multilib	2477ebe553d3e4d2c606191fe6c33602	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5ee58b9b70c0f17536f9638662319c69
diff --git a/metadata/md5-cache/dev-util/puffin-1.0.0-r440 b/metadata/md5-cache/dev-util/puffin-1.0.0-r440
deleted file mode 100644
index 16af68f0..0000000
--- a/metadata/md5-cache/dev-util/puffin-1.0.0-r440
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libbrillo:=[asan?,fuzzer?] dev-libs/protobuf:= dev-util/bsdiff:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Puffin: Deterministic patching tool for deflate streams
-EAPI=7
-HOMEPAGE=https://android.googlesource.com/platform/external/puffin/
-IUSE=asan fuzzer cros_host cros_workon_tree_791c6808b4f4f5f1c484108d66ff958d65f8f1e3_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_d5b2e1140bb5d80e845bd170bd364e892b05ebd1 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_791c6808b4f4f5f1c484108d66ff958d65f8f1e3_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_d5b2e1140bb5d80e845bd170bd364e892b05ebd1 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/libbrillo:=[asan?,fuzzer?] dev-libs/protobuf:= dev-util/bsdiff:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/1.0.0-r440
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e5d04382762863a2b52beb2832649367
diff --git a/metadata/md5-cache/dev-util/puffin-1.0.0-r441 b/metadata/md5-cache/dev-util/puffin-1.0.0-r441
new file mode 100644
index 0000000..bba2eec
--- /dev/null
+++ b/metadata/md5-cache/dev-util/puffin-1.0.0-r441
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=chromeos-base/libbrillo:=[asan?,fuzzer?] dev-libs/protobuf:= dev-util/bsdiff:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Puffin: Deterministic patching tool for deflate streams
+EAPI=7
+HOMEPAGE=https://android.googlesource.com/platform/external/puffin/
+IUSE=asan fuzzer cros_host cros_workon_tree_791c6808b4f4f5f1c484108d66ff958d65f8f1e3_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_d5b2e1140bb5d80e845bd170bd364e892b05ebd1 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_791c6808b4f4f5f1c484108d66ff958d65f8f1e3_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_d5b2e1140bb5d80e845bd170bd364e892b05ebd1 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/libbrillo:=[asan?,fuzzer?] dev-libs/protobuf:= dev-util/bsdiff:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/1.0.0-r441
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8b07b375603a1c7cc5606174fe89681e
diff --git a/metadata/md5-cache/dev-util/puffin-9999 b/metadata/md5-cache/dev-util/puffin-9999
index f080cd2..1ea92f8 100644
--- a/metadata/md5-cache/dev-util/puffin-9999
+++ b/metadata/md5-cache/dev-util/puffin-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libbrillo:=[asan?,fuzzer?] dev-libs/protobuf:= dev-util/bsdiff:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=chromeos-base/libbrillo:=[asan?,fuzzer?] dev-libs/protobuf:= dev-util/bsdiff:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Puffin: Deterministic patching tool for deflate streams
 EAPI=7
 HOMEPAGE=https://android.googlesource.com/platform/external/puffin/
-IUSE=asan fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=asan fuzzer cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/libbrillo:=[asan?,fuzzer?] dev-libs/protobuf:= dev-util/bsdiff:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=35f62490e6ba1333dd9b84b803c5ed3a
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6e65b7f16623ccdbc174f53cd7177582
diff --git a/metadata/md5-cache/dev-util/servo-config-dut-usb3-public-0.0.1-r2 b/metadata/md5-cache/dev-util/servo-config-dut-usb3-public-0.0.1-r2
index a211476..dfbfbbb 100644
--- a/metadata/md5-cache/dev-util/servo-config-dut-usb3-public-0.0.1-r2
+++ b/metadata/md5-cache/dev-util/servo-config-dut-usb3-public-0.0.1-r2
@@ -7,5 +7,5 @@
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0/0.0.1-r2
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=423c431d00e265a2d91b30d252abbd8e
diff --git a/metadata/md5-cache/dev-util/servo-config-dut-usb3-public-9999 b/metadata/md5-cache/dev-util/servo-config-dut-usb3-public-9999
index a948c20..f78b818 100644
--- a/metadata/md5-cache/dev-util/servo-config-dut-usb3-public-9999
+++ b/metadata/md5-cache/dev-util/servo-config-dut-usb3-public-9999
@@ -7,5 +7,5 @@
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=5abe71be9ad5e6a301efbb42f2c83a69
diff --git a/metadata/md5-cache/dev-util/shellcheck-0.7.1-r46 b/metadata/md5-cache/dev-util/shellcheck-0.7.1-r46
deleted file mode 100644
index 9349abd..0000000
--- a/metadata/md5-cache/dev-util/shellcheck-0.7.1-r46
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install postinst postrm setup test unpack
-DEPEND=dev-haskell/aeson:=[profile?] >=dev-haskell/diff-0.2.0:=[profile?] >=dev-haskell/mtl-2.2.1:=[profile?] >=dev-haskell/parsec-3.0:=[profile?] >=dev-haskell/quickcheck-2.7.4:2=[template_haskell,profile?] dev-haskell/regex-tdfa:=[profile?] dev-haskell/semigroups:=[profile?] >=dev-lang/ghc-7.8.2:= >=dev-haskell/cabal-1.18.1.3 <dev-haskell/cabal-2.5 dev-libs/gmp[static-libs] dev-libs/libffi[static-libs] doc? ( || ( dev-haskell/haddock >=dev-lang/ghc-7.10.2 ) ) hscolour? ( dev-haskell/hscolour )
-DESCRIPTION=Shell script analysis tool
-EAPI=6
-HOMEPAGE=https://www.shellcheck.net/
-IUSE=cros_host cros_workon_tree_276632ca93702dfd95fc5be0ed8beb7dbfe7d001 doc hscolour profile test
-KEYWORDS=*
-LICENSE=GPL-3
-PROPERTIES=live
-RESTRICT=!test? ( test )
-SLOT=0/0.7.1
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ghc-package	cfc8267c6151d804d0c34bf9e180533f	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	haskell-cabal	433b5153bec6b0ffe21c7be2210e8396	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=93fe1159c1ae0958951893ee517900c4
diff --git a/metadata/md5-cache/dev-util/shellcheck-0.7.1-r51 b/metadata/md5-cache/dev-util/shellcheck-0.7.1-r51
new file mode 100644
index 0000000..6970592
--- /dev/null
+++ b/metadata/md5-cache/dev-util/shellcheck-0.7.1-r51
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install postinst postrm setup test unpack
+DEPEND=dev-haskell/aeson:=[profile?] >=dev-haskell/diff-0.2.0:=[profile?] >=dev-haskell/mtl-2.2.1:=[profile?] >=dev-haskell/parsec-3.0:=[profile?] >=dev-haskell/quickcheck-2.7.4:2=[template_haskell,profile?] dev-haskell/regex-tdfa:=[profile?] dev-haskell/semigroups:=[profile?] >=dev-lang/ghc-7.8.2:= >=dev-haskell/cabal-1.18.1.3 <dev-haskell/cabal-2.5 dev-libs/gmp[static-libs] dev-libs/libffi[static-libs] doc? ( || ( dev-haskell/haddock >=dev-lang/ghc-7.10.2 ) ) hscolour? ( dev-haskell/hscolour )
+DESCRIPTION=Shell script analysis tool
+EAPI=6
+HOMEPAGE=https://www.shellcheck.net/
+IUSE=cros_host cros_workon_tree_604884c13af73b81797d1b8cc44ef3300ea84333 doc hscolour profile test
+KEYWORDS=*
+LICENSE=GPL-3
+PROPERTIES=live
+RESTRICT=!test? ( test )
+SLOT=0/0.7.1
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ghc-package	cfc8267c6151d804d0c34bf9e180533f	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	haskell-cabal	433b5153bec6b0ffe21c7be2210e8396	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=676232ca3fd30765ca8319b6541afdbf
diff --git a/metadata/md5-cache/dev-util/shellcheck-9999 b/metadata/md5-cache/dev-util/shellcheck-9999
index c2ea59a..1909a5e 100644
--- a/metadata/md5-cache/dev-util/shellcheck-9999
+++ b/metadata/md5-cache/dev-util/shellcheck-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RESTRICT=!test? ( test )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ghc-package	cfc8267c6151d804d0c34bf9e180533f	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	haskell-cabal	433b5153bec6b0ffe21c7be2210e8396	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ghc-package	cfc8267c6151d804d0c34bf9e180533f	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	haskell-cabal	433b5153bec6b0ffe21c7be2210e8396	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=6b3be2cd504ce526a33c180b6eb5b232
diff --git a/metadata/md5-cache/dev-util/test-plan-0.0.1-r31 b/metadata/md5-cache/dev-util/test-plan-0.0.1-r31
deleted file mode 100644
index 05b4c74..0000000
--- a/metadata/md5-cache/dev-util/test-plan-0.0.1-r31
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst prepare setup test unpack
-DEPEND=chromeos-base/cros-config-api dev-go/glog dev-go/infra-proto dev-go/luci-go-common dev-go/maruel-subcommands dev-go/protobuf dev-lang/go
-DESCRIPTION=A tool to generate ChromeOS CoverageRule protos from SourceTestPlan protos.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/plan
-IUSE=cros_host cros_workon_tree_a6718332c204a566ba247ff4102c64450be368c9
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/cros-config-api dev-go/glog dev-go/infra-proto dev-go/luci-go-common dev-go/maruel-subcommands dev-go/protobuf
-SLOT=0/0.0.1-r31
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=bb11e332605d709416c2b1969e48d67e
diff --git a/metadata/md5-cache/dev-util/test-plan-0.0.1-r44 b/metadata/md5-cache/dev-util/test-plan-0.0.1-r44
new file mode 100644
index 0000000..2f4f860
--- /dev/null
+++ b/metadata/md5-cache/dev-util/test-plan-0.0.1-r44
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst prepare setup test unpack
+DEPEND=chromeos-base/cros-config-api dev-go/glog dev-go/infra-proto dev-go/luci-go-common dev-go/maruel-subcommands dev-go/protobuf dev-go/protobuf-legacy-api dev-lang/go
+DESCRIPTION=A tool to generate ChromeOS CoverageRule protos from SourceTestPlan protos.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/plan
+IUSE=cros_host cros_workon_tree_2c3d1cf555595edf3b43d55352361bca30c1e0e7
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/cros-config-api dev-go/glog dev-go/infra-proto dev-go/luci-go-common dev-go/maruel-subcommands dev-go/protobuf dev-go/protobuf-legacy-api
+SLOT=0/0.0.1-r44
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4d558c52e6ce000837fa2737950e6cc8
diff --git a/metadata/md5-cache/dev-util/test-plan-9999 b/metadata/md5-cache/dev-util/test-plan-9999
index 0476900..6a7f758 100644
--- a/metadata/md5-cache/dev-util/test-plan-9999
+++ b/metadata/md5-cache/dev-util/test-plan-9999
@@ -1,6 +1,6 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile info install postinst prepare setup test unpack
-DEPEND=chromeos-base/cros-config-api dev-go/glog dev-go/infra-proto dev-go/luci-go-common dev-go/maruel-subcommands dev-go/protobuf dev-lang/go
+DEPEND=chromeos-base/cros-config-api dev-go/glog dev-go/infra-proto dev-go/luci-go-common dev-go/maruel-subcommands dev-go/protobuf dev-go/protobuf-legacy-api dev-lang/go
 DESCRIPTION=A tool to generate ChromeOS CoverageRule protos from SourceTestPlan protos.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/plan
@@ -8,7 +8,7 @@
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=chromeos-base/cros-config-api dev-go/glog dev-go/infra-proto dev-go/luci-go-common dev-go/maruel-subcommands dev-go/protobuf
+RDEPEND=chromeos-base/cros-config-api dev-go/glog dev-go/infra-proto dev-go/luci-go-common dev-go/maruel-subcommands dev-go/protobuf dev-go/protobuf-legacy-api
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=871dd42e58781d99cb2db8e22e01c499
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=00c248d1859394c80298199dfb5f3c93
diff --git a/metadata/md5-cache/dev-util/test-services-0.0.1-r170 b/metadata/md5-cache/dev-util/test-services-0.0.1-r170
new file mode 100644
index 0000000..c0bab2f
--- /dev/null
+++ b/metadata/md5-cache/dev-util/test-services-0.0.1-r170
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info setup unpack
+DEPEND=dev-util/cros-provision dev-util/testlabenv-local dev-util/cros-test dev-util/cros-dut dev-util/cros-publish dev-util/cros-test-finder dev-util/test-plan
+DESCRIPTION=Collection of test services installed into the cros_sdk env
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src
+IUSE=cros_host cros_workon_tree_451aa817520c1ec50b61a36767a7ac50517b5f64
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-util/cros-provision dev-util/testlabenv-local dev-util/cros-test dev-util/cros-dut dev-util/cros-publish dev-util/cros-test-finder dev-util/test-plan !<chromeos-base/test-server-0.0.1-r49
+SLOT=0/0.0.1-r170
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2244988d3355ad13f16f21da0f2ae514
diff --git a/metadata/md5-cache/dev-util/test-services-0.0.1-r92 b/metadata/md5-cache/dev-util/test-services-0.0.1-r92
deleted file mode 100644
index 88b1a16..0000000
--- a/metadata/md5-cache/dev-util/test-services-0.0.1-r92
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info setup unpack
-DEPEND=dev-util/cros-provision dev-util/testlabenv-local dev-util/cros-test dev-util/cros-dut dev-util/cros-test-finder dev-util/test-plan
-DESCRIPTION=Collection of test services installed into the cros_sdk env
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src
-IUSE=cros_host cros_workon_tree_deaf62ac70faaf18ace949c7830a18f80afaea89
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-util/cros-provision dev-util/testlabenv-local dev-util/cros-test dev-util/cros-dut dev-util/cros-test-finder dev-util/test-plan !<chromeos-base/test-server-0.0.1-r49
-SLOT=0/0.0.1-r92
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=bf6a91714513436ff3e81727e9eb40cb
diff --git a/metadata/md5-cache/dev-util/test-services-9999 b/metadata/md5-cache/dev-util/test-services-9999
index e8b362d..b4024b7 100644
--- a/metadata/md5-cache/dev-util/test-services-9999
+++ b/metadata/md5-cache/dev-util/test-services-9999
@@ -1,6 +1,6 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=info setup unpack
-DEPEND=dev-util/cros-provision dev-util/testlabenv-local dev-util/cros-test dev-util/cros-dut dev-util/cros-test-finder dev-util/test-plan
+DEPEND=dev-util/cros-provision dev-util/testlabenv-local dev-util/cros-test dev-util/cros-dut dev-util/cros-publish dev-util/cros-test-finder dev-util/test-plan
 DESCRIPTION=Collection of test services installed into the cros_sdk env
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src
@@ -8,7 +8,7 @@
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=dev-util/cros-provision dev-util/testlabenv-local dev-util/cros-test dev-util/cros-dut dev-util/cros-test-finder dev-util/test-plan !<chromeos-base/test-server-0.0.1-r49
+RDEPEND=dev-util/cros-provision dev-util/testlabenv-local dev-util/cros-test dev-util/cros-dut dev-util/cros-publish dev-util/cros-test-finder dev-util/test-plan !<chromeos-base/test-server-0.0.1-r49
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a28c3ef8b03c3209f2ad7ef5814efa66
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2c6e63d44639c879ea8b083dd3ef4493
diff --git a/metadata/md5-cache/dev-util/testlabenv-local-0.0.1-r3 b/metadata/md5-cache/dev-util/testlabenv-local-0.0.1-r3
deleted file mode 100644
index 2d41024..0000000
--- a/metadata/md5-cache/dev-util/testlabenv-local-0.0.1-r3
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst setup test unpack
-DEPEND=dev-go/genproto-rpc dev-go/mock dev-go/protobuf chromeos-base/cros-config-api dev-lang/go
-DESCRIPTION=Local test lab environment support (local DUT setup/wiring support for test execution)
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/lab/local
-IUSE=cros_host cros_workon_tree_4b946e9c995155a84021703c48444873d8061a9e
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-go/genproto-rpc dev-go/mock dev-go/protobuf chromeos-base/cros-config-api
-SLOT=0/0.0.1-r3
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a518292d342cd24153281ddde53e5fa9
diff --git a/metadata/md5-cache/dev-util/testlabenv-local-0.0.1-r5 b/metadata/md5-cache/dev-util/testlabenv-local-0.0.1-r5
new file mode 100644
index 0000000..65ecfd8
--- /dev/null
+++ b/metadata/md5-cache/dev-util/testlabenv-local-0.0.1-r5
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst setup test unpack
+DEPEND=dev-go/genproto dev-go/mock dev-go/protobuf dev-go/protobuf-legacy-api chromeos-base/cros-config-api dev-lang/go
+DESCRIPTION=Local test lab environment support (local DUT setup/wiring support for test execution)
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/lab/local
+IUSE=cros_host cros_workon_tree_4b946e9c995155a84021703c48444873d8061a9e
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-go/genproto dev-go/mock dev-go/protobuf dev-go/protobuf-legacy-api chromeos-base/cros-config-api
+SLOT=0/0.0.1-r5
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3a38aee00be076b2ab03629fef3ab307
diff --git a/metadata/md5-cache/dev-util/testlabenv-local-9999 b/metadata/md5-cache/dev-util/testlabenv-local-9999
index 974ab7af..fe3b931 100644
--- a/metadata/md5-cache/dev-util/testlabenv-local-9999
+++ b/metadata/md5-cache/dev-util/testlabenv-local-9999
@@ -1,6 +1,6 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile info install postinst setup test unpack
-DEPEND=dev-go/genproto-rpc dev-go/mock dev-go/protobuf chromeos-base/cros-config-api dev-lang/go
+DEPEND=dev-go/genproto dev-go/mock dev-go/protobuf dev-go/protobuf-legacy-api chromeos-base/cros-config-api dev-lang/go
 DESCRIPTION=Local test lab environment support (local DUT setup/wiring support for test execution)
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/dev-util/+/HEAD/src/chromiumos/test/lab/local
@@ -8,7 +8,7 @@
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=dev-go/genproto-rpc dev-go/mock dev-go/protobuf chromeos-base/cros-config-api
+RDEPEND=dev-go/genproto dev-go/mock dev-go/protobuf dev-go/protobuf-legacy-api chromeos-base/cros-config-api
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ec5a865cd843f5464d08f69695b21a12
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=55ae0918a8362041797b3257714ff438
diff --git a/metadata/md5-cache/dev-util/toolchain-utils-0.0.1-r806 b/metadata/md5-cache/dev-util/toolchain-utils-0.0.1-r806
deleted file mode 100644
index e6748a6..0000000
--- a/metadata/md5-cache/dev-util/toolchain-utils-0.0.1-r806
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install setup unpack
-DESCRIPTION=Compilation and runtime tests for toolchain
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/toolchain-utils/
-IUSE=cros_host cros_workon_tree_080a2c77eca4d7101cea305b79f16afd69056610
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=app-misc/pax-utils dev-lang/python sys-devel/binutils
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=1e8b960e37e541b551d721f04f29c692
diff --git a/metadata/md5-cache/dev-util/toolchain-utils-0.0.1-r873 b/metadata/md5-cache/dev-util/toolchain-utils-0.0.1-r873
new file mode 100644
index 0000000..00d2b8c
--- /dev/null
+++ b/metadata/md5-cache/dev-util/toolchain-utils-0.0.1-r873
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Compilation and runtime tests for toolchain
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/toolchain-utils/
+IUSE=cros_host cros_workon_tree_124f5c81cb1baeaa220668d5f13facde8251723a
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=app-misc/pax-utils dev-lang/python sys-devel/binutils
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2ca95dd96d1222acb912ddd8244d42eb
diff --git a/metadata/md5-cache/dev-util/toolchain-utils-9999 b/metadata/md5-cache/dev-util/toolchain-utils-9999
index aec0d84..1d4b074 100644
--- a/metadata/md5-cache/dev-util/toolchain-utils-9999
+++ b/metadata/md5-cache/dev-util/toolchain-utils-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=app-misc/pax-utils dev-lang/python sys-devel/binutils
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=9be17ccb113646afb8a84044c260ca25
diff --git a/metadata/md5-cache/dev-util/trace-cmd-3.1.2 b/metadata/md5-cache/dev-util/trace-cmd-3.1.2
new file mode 100644
index 0000000..4f6a380
--- /dev/null
+++ b/metadata/md5-cache/dev-util/trace-cmd-3.1.2
@@ -0,0 +1,16 @@
+BDEPEND=python? ( virtual/pkgconfig dev-lang/swig ) doc? ( app-text/asciidoc )
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=dev-libs/libtraceevent:= dev-libs/libtracefs:= audit? ( sys-process/audit ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) udis86? ( dev-libs/udis86 ) sys-kernel/linux-headers test? ( dev-util/cunit )
+DESCRIPTION=User-space front-end for Ftrace
+EAPI=7
+HOMEPAGE=https://www.trace-cmd.org
+IUSE=+audit doc python test udis86 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=GPL-2+ LGPL-2.1+
+RDEPEND=dev-libs/libtraceevent:= dev-libs/libtracefs:= audit? ( sys-process/audit ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) udis86? ( dev-libs/udis86 )
+REQUIRED_USE=python? ( || ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 ) )
+RESTRICT=!test? ( test ) test
+SLOT=0/3.1.2
+SRC_URI=https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/snapshot/trace-cmd-v3.1.2.tar.gz
+_eclasses_=bash-completion-r1	47a7402d95930413ce25ba8d857339bb	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ad5c95a3bb485d19c136676f5fb9958b
diff --git a/metadata/md5-cache/dev-util/turbostat-5.10.102-r2325 b/metadata/md5-cache/dev-util/turbostat-5.10.102-r2325
deleted file mode 100644
index 22537ef..0000000
--- a/metadata/md5-cache/dev-util/turbostat-5.10.102-r2325
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install setup unpack
-DEPEND=sys-libs/libcap:=
-DESCRIPTION=Intel processor C-state and P-state reporting tool
-EAPI=7
-HOMEPAGE=https://www.kernel.org/
-IUSE=-asan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_775dd747a6334a8f1737c55611733056f2b4d843_d3bfdcd693c261ef14182a1e834e9bf59ec2e834_82f471a1f381850d569b3edbfa0ba3ec42139f56
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=sys-libs/libcap:=
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e202fa7fcdaa300673cdc3f889300490
diff --git a/metadata/md5-cache/dev-util/turbostat-5.15.59-r2362 b/metadata/md5-cache/dev-util/turbostat-5.15.59-r2362
new file mode 100644
index 0000000..e6305fd
--- /dev/null
+++ b/metadata/md5-cache/dev-util/turbostat-5.15.59-r2362
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install setup unpack
+DEPEND=sys-libs/libcap:=
+DESCRIPTION=Intel processor C-state and P-state reporting tool
+EAPI=7
+HOMEPAGE=https://www.kernel.org/
+IUSE=-asan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_c3323f429bb05868a7a686beac7cec95e494123b_93a8dfdf36c8ecad7cbd219d2ff96e514b13f019_942fe56bd753858b9e64595b2fcf2a7b12dfdb27
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=sys-libs/libcap:=
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b69601acb903606b113b21f1d2908105
diff --git a/metadata/md5-cache/dev-util/turbostat-9999 b/metadata/md5-cache/dev-util/turbostat-9999
index c547a34..a796467 100644
--- a/metadata/md5-cache/dev-util/turbostat-9999
+++ b/metadata/md5-cache/dev-util/turbostat-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=sys-libs/libcap:=
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=7a6806778966c7da1e2e2a69d2de25a4
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=23d445faf1d5987b8d2294c4c650219b
diff --git a/metadata/md5-cache/dev-util/vulkan-tools-1.2.162 b/metadata/md5-cache/dev-util/vulkan-tools-1.2.162
deleted file mode 100644
index fd8e082..0000000
--- a/metadata/md5-cache/dev-util/vulkan-tools-1.2.162
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=|| ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) >=dev-util/cmake-3.10.2 cube? ( dev-util/glslang:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) dev-util/ninja dev-util/cmake
-DEFINED_PHASES=compile configure install prepare setup test
-DEPEND=>=media-libs/vulkan-loader-1.2.162:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?,wayland?,X?] wayland? ( dev-libs/wayland:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) X? ( x11-libs/libX11:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/libXrandr:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) >=dev-util/vulkan-headers-1.2.162
-DESCRIPTION=Official Vulkan Tools and Utilities for Windows, Linux, Android, and MacOS
-EAPI=7
-HOMEPAGE=https://github.com/KhronosGroup/Vulkan-Tools
-IUSE=cube wayland +X abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND=>=media-libs/vulkan-loader-1.2.162:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?,wayland?,X?] wayland? ( dev-libs/wayland:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) X? ( x11-libs/libX11:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/libXrandr:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
-REQUIRED_USE=cube? ( ^^ ( X wayland ) )
-SLOT=0
-SRC_URI=https://github.com/KhronosGroup/Vulkan-Tools/archive/v1.2.162.tar.gz -> vulkan-tools-1.2.162.tar.gz
-_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=5394ab94393271c00be423d617b43241
diff --git a/metadata/md5-cache/dev-util/vulkan-tools-1.3.211 b/metadata/md5-cache/dev-util/vulkan-tools-1.3.211
new file mode 100644
index 0000000..c622709
--- /dev/null
+++ b/metadata/md5-cache/dev-util/vulkan-tools-1.3.211
@@ -0,0 +1,15 @@
+BDEPEND=|| ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) >=dev-util/cmake-3.10.2 cube? ( ~dev-util/glslang-1.3.211:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) dev-util/ninja dev-util/cmake
+DEFINED_PHASES=compile configure install prepare setup test
+DEPEND=~media-libs/vulkan-loader-1.3.211:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?,wayland?,X?] wayland? ( dev-libs/wayland:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) X? ( x11-libs/libX11:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/libXrandr:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ~dev-util/vulkan-headers-1.3.211
+DESCRIPTION=Official Vulkan Tools and Utilities for Windows, Linux, Android, and MacOS
+EAPI=7
+HOMEPAGE=https://github.com/KhronosGroup/Vulkan-Tools
+IUSE=cube wayland +X abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=~media-libs/vulkan-loader-1.3.211:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?,wayland?,X?] wayland? ( dev-libs/wayland:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) X? ( x11-libs/libX11:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/libXrandr:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
+REQUIRED_USE=cube? ( ^^ ( X wayland ) )
+SLOT=0
+SRC_URI=https://github.com/KhronosGroup/Vulkan-Tools/archive/sdk-1.3.211.0.tar.gz -> vulkan-tools-1.3.211.tar.gz
+_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=e4891e79b48c36c4d47ed6370c388508
diff --git a/metadata/md5-cache/dev-vcs/patman-0.0.1-r342 b/metadata/md5-cache/dev-vcs/patman-0.0.1-r342
deleted file mode 100644
index 8baa14d..0000000
--- a/metadata/md5-cache/dev-vcs/patman-0.0.1-r342
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] dev-python/setuptools[python_targets_python3_6(-)?,-python_single_target_python3_6(-)]
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DESCRIPTION=Patman tool (from U-Boot) for sending patches upstream
-EAPI=7
-HOMEPAGE=https://www.denx.de/wiki/U-Boot
-IUSE=cros_host cros_workon_tree_3429c1a71068b0c1e875e3a0d6aea14f8b4564a5 python_targets_python3_6
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,-python_single_target_python3_6(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 )
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=f285f91b2f4903fa96603f094566f0e6
diff --git a/metadata/md5-cache/dev-vcs/patman-0.0.1-r344 b/metadata/md5-cache/dev-vcs/patman-0.0.1-r344
new file mode 100644
index 0000000..2381a0d
--- /dev/null
+++ b/metadata/md5-cache/dev-vcs/patman-0.0.1-r344
@@ -0,0 +1,14 @@
+BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DESCRIPTION=Patman tool (from U-Boot) for sending patches upstream
+EAPI=7
+HOMEPAGE=https://www.denx.de/wiki/U-Boot
+IUSE=cros_host cros_workon_tree_93f4d104a894fc2b6ebe3e54b19fbe515d59633c python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dad80b29ab49dcc22169d86c7ade3e88
diff --git a/metadata/md5-cache/dev-vcs/patman-9999 b/metadata/md5-cache/dev-vcs/patman-9999
index 9797391..8ffc15d 100644
--- a/metadata/md5-cache/dev-vcs/patman-9999
+++ b/metadata/md5-cache/dev-vcs/patman-9999
@@ -1,14 +1,14 @@
-BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] dev-python/setuptools[python_targets_python3_6(-)?,-python_single_target_python3_6(-)]
+BDEPEND=dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
 DEFINED_PHASES=compile configure info install prepare setup test unpack
 DESCRIPTION=Patman tool (from U-Boot) for sending patches upstream
 EAPI=7
 HOMEPAGE=https://www.denx.de/wiki/U-Boot
-IUSE=cros_host cros_workon_tree_ python_targets_python3_6
+IUSE=cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
-RDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,-python_single_target_python3_6(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 )
+RDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9a3427f4b7f4c67264d1256525e92922
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=830650835ebcbe3bef15b52404b77cf7
diff --git a/metadata/md5-cache/media-fonts/ipaex-004.01 b/metadata/md5-cache/media-fonts/ipaex-004.01
new file mode 100644
index 0000000..bc2c3b4
--- /dev/null
+++ b/metadata/md5-cache/media-fonts/ipaex-004.01
@@ -0,0 +1,14 @@
+BDEPEND=app-arch/unzip
+DEFINED_PHASES=install postinst postrm prepare setup
+DEPEND=X? ( x11-apps/mkfontdir media-fonts/encodings ) >=media-libs/fontconfig-2.4.0
+DESCRIPTION=Japanese IPA extended TrueType fonts
+EAPI=7
+HOMEPAGE=https://moji.or.jp/ipafont/
+IUSE=X
+KEYWORDS=*
+LICENSE=IPAfont
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://moji.or.jp/wp-content/ipafont/IPAexfont/IPAexfont00401.zip
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	font	bc3df4ed373e09f86a90e8fad39034d6
+_md5_=bf85a42e0bbebcdb1ff8583a728aec4b
diff --git a/metadata/md5-cache/media-fonts/ipaex-004.01-r1 b/metadata/md5-cache/media-fonts/ipaex-004.01-r1
new file mode 100644
index 0000000..bc2c3b4
--- /dev/null
+++ b/metadata/md5-cache/media-fonts/ipaex-004.01-r1
@@ -0,0 +1,14 @@
+BDEPEND=app-arch/unzip
+DEFINED_PHASES=install postinst postrm prepare setup
+DEPEND=X? ( x11-apps/mkfontdir media-fonts/encodings ) >=media-libs/fontconfig-2.4.0
+DESCRIPTION=Japanese IPA extended TrueType fonts
+EAPI=7
+HOMEPAGE=https://moji.or.jp/ipafont/
+IUSE=X
+KEYWORDS=*
+LICENSE=IPAfont
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=https://moji.or.jp/wp-content/ipafont/IPAexfont/IPAexfont00401.zip
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	font	bc3df4ed373e09f86a90e8fad39034d6
+_md5_=bf85a42e0bbebcdb1ff8583a728aec4b
diff --git a/metadata/md5-cache/media-fonts/morisawa-ud-fonts-20220502 b/metadata/md5-cache/media-fonts/morisawa-ud-fonts-20220502
new file mode 100644
index 0000000..14ccc6b
--- /dev/null
+++ b/metadata/md5-cache/media-fonts/morisawa-ud-fonts-20220502
@@ -0,0 +1,12 @@
+DEFINED_PHASES=install postinst postrm setup
+DEPEND=X? ( x11-apps/mkfontdir media-fonts/encodings ) >=media-libs/fontconfig-2.4.0
+DESCRIPTION=BIZ UD Fonts by Morisawa
+EAPI=7
+IUSE=X
+KEYWORDS=*
+LICENSE=OFL-1.1
+RESTRICT=strip binchecks
+SLOT=0
+SRC_URI=http://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/morisawa-ud-fonts-20220502.tar.xz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	font	bc3df4ed373e09f86a90e8fad39034d6
+_md5_=dd351d852c2a28375f1e665c68757e08
diff --git a/metadata/md5-cache/media-fonts/morisawa-ud-fonts-20220502-r1 b/metadata/md5-cache/media-fonts/morisawa-ud-fonts-20220502-r1
new file mode 100644
index 0000000..14ccc6b
--- /dev/null
+++ b/metadata/md5-cache/media-fonts/morisawa-ud-fonts-20220502-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=install postinst postrm setup
+DEPEND=X? ( x11-apps/mkfontdir media-fonts/encodings ) >=media-libs/fontconfig-2.4.0
+DESCRIPTION=BIZ UD Fonts by Morisawa
+EAPI=7
+IUSE=X
+KEYWORDS=*
+LICENSE=OFL-1.1
+RESTRICT=strip binchecks
+SLOT=0
+SRC_URI=http://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/morisawa-ud-fonts-20220502.tar.xz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	font	bc3df4ed373e09f86a90e8fad39034d6
+_md5_=dd351d852c2a28375f1e665c68757e08
diff --git a/metadata/md5-cache/media-gfx/deqp-2021.08.20-r2 b/metadata/md5-cache/media-gfx/deqp-2021.08.20-r2
deleted file mode 100644
index 696c74c..0000000
--- a/metadata/md5-cache/media-gfx/deqp-2021.08.20-r2
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test unpack
-DEPEND=virtual/opengles media-libs/minigbm media-libs/libpng vulkan? ( virtual/vulkan-icd ) x11-drivers/opengles-headers x11-libs/libX11 dev-util/ninja >=dev-util/cmake-3.9.6
-DESCRIPTION=drawElements Quality Program - an OpenGL ES testsuite
-EAPI=6
-HOMEPAGE=https://github.com/KhronosGroup/VK-GL-CTS
-IUSE=-vulkan asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND=virtual/opengles media-libs/minigbm media-libs/libpng vulkan? ( virtual/vulkan-icd )
-SLOT=0
-SRC_URI=https://github.com/KhronosGroup/VK-GL-CTS/archive/34639fb3f8b467b261624a1b2863b5e808bb7aef.tar.gz -> deqp-34639fb3f8b467b261624a1b2863b5e808bb7aef.tar.gz https://github.com/KhronosGroup/glslang/archive/9158061398a96033c990e69156bd28c67114544b.tar.gz -> glslang-9158061398a96033c990e69156bd28c67114544b.tar.gz https://github.com/KhronosGroup/SPIRV-Tools/archive/11cd875ed88484f93943071083b4821b4c3d2193.tar.gz -> SPIRV-Tools-11cd875ed88484f93943071083b4821b4c3d2193.tar.gz https://github.com/KhronosGroup/SPIRV-Headers/archive/cf653e4ca4858583802b0d1656bc934edff6bd7f.tar.gz -> SPIRV-Headers-cf653e4ca4858583802b0d1656bc934edff6bd7f.tar.gz https://github.com/google/amber/archive/8797ee109e7a6ea4d1f58f387f757545fa35325b.tar.gz -> amber-8797ee109e7a6ea4d1f58f387f757545fa35325b.tar.gz
-_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=6a19e57573e7016ee99bf182aa8b50af
diff --git a/metadata/md5-cache/media-gfx/deqp-2022.02.23-r1 b/metadata/md5-cache/media-gfx/deqp-2022.02.23-r1
new file mode 100644
index 0000000..3fb09a1
--- /dev/null
+++ b/metadata/md5-cache/media-gfx/deqp-2022.02.23-r1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install prepare test unpack
+DEPEND=virtual/opengles media-libs/minigbm media-libs/libpng vulkan? ( virtual/vulkan-icd ) x11-drivers/opengles-headers x11-libs/libX11 dev-util/ninja >=dev-util/cmake-3.9.6
+DESCRIPTION=drawElements Quality Program - an OpenGL ES testsuite
+EAPI=6
+HOMEPAGE=https://github.com/KhronosGroup/VK-GL-CTS
+IUSE=-vulkan asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=virtual/opengles media-libs/minigbm media-libs/libpng vulkan? ( virtual/vulkan-icd )
+SLOT=0
+SRC_URI=https://github.com/KhronosGroup/VK-GL-CTS/archive/a8fc4961d753dc2bddb1f78bdb91a21960a1ed57.tar.gz -> deqp-a8fc4961d753dc2bddb1f78bdb91a21960a1ed57.tar.gz https://github.com/KhronosGroup/glslang/archive/c34bb3b6c55f6ab084124ad964be95a699700d34.tar.gz -> glslang-c34bb3b6c55f6ab084124ad964be95a699700d34.tar.gz https://github.com/KhronosGroup/SPIRV-Tools/archive/20b122b2e0d43fcc322a383354d1a3f4514e3757.tar.gz -> SPIRV-Tools-20b122b2e0d43fcc322a383354d1a3f4514e3757.tar.gz https://github.com/KhronosGroup/SPIRV-Headers/archive/b42ba6d92faf6b4938e6f22ddd186dbdacc98d78.tar.gz -> SPIRV-Headers-b42ba6d92faf6b4938e6f22ddd186dbdacc98d78.tar.gz https://github.com/google/amber/archive/615ab4863f7d2e31d3037d0c6a0f641fd6fc0d07.tar.gz -> amber-615ab4863f7d2e31d3037d0c6a0f641fd6fc0d07.tar.gz
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=d0c2229bf01ba12b9d63af616afa4831
diff --git a/metadata/md5-cache/media-gfx/deqp-android11-2022.04.08-r1 b/metadata/md5-cache/media-gfx/deqp-android11-2022.04.08-r1
new file mode 100644
index 0000000..29adb10
--- /dev/null
+++ b/metadata/md5-cache/media-gfx/deqp-android11-2022.04.08-r1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install prepare test unpack
+DEPEND=virtual/opengles media-libs/minigbm media-libs/libpng vulkan? ( virtual/vulkan-icd ) x11-drivers/opengles-headers x11-libs/libX11 dev-util/ninja >=dev-util/cmake-3.9.6
+DESCRIPTION=drawElements Quality Program - an OpenGL ES testsuite
+EAPI=6
+HOMEPAGE=https://github.com/KhronosGroup/VK-GL-CTS
+IUSE=-vulkan asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=virtual/opengles media-libs/minigbm media-libs/libpng vulkan? ( virtual/vulkan-icd )
+SLOT=0
+SRC_URI=https://android.googlesource.com/platform/external/deqp/+archive/45fbecdfac49bb38572cca17f5211b1ce0d5b23d.tar.gz -> deqp-android11-45fbecdfac49bb38572cca17f5211b1ce0d5b23d.tar.gz https://github.com/KhronosGroup/glslang/archive/b5f003d7a3ece37db45578a8a3140b370036fc64.tar.gz -> glslang-b5f003d7a3ece37db45578a8a3140b370036fc64.tar.gz https://github.com/KhronosGroup/SPIRV-Tools/archive/34be23373b9e73694c3b214ba857283bad65aedb.tar.gz -> SPIRV-Tools-34be23373b9e73694c3b214ba857283bad65aedb.tar.gz https://github.com/KhronosGroup/SPIRV-Headers/archive/f8bf11a0253a32375c32cad92c841237b96696c0.tar.gz -> SPIRV-Headers-f8bf11a0253a32375c32cad92c841237b96696c0.tar.gz https://github.com/google/amber/archive/0556811aeaad846f4bacbbd03e05e61fbfe1e545.tar.gz -> amber-0556811aeaad846f4bacbbd03e05e61fbfe1e545.tar.gz
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=ea743433b5b32c0142c62bb1e0f08a04
diff --git a/metadata/md5-cache/media-gfx/deqp-runner-0.12.0-r1 b/metadata/md5-cache/media-gfx/deqp-runner-0.12.0-r1
deleted file mode 100644
index dec34128..0000000
--- a/metadata/md5-cache/media-gfx/deqp-runner-0.12.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/anyhow-1*:= >=dev-rust/crossbeam-utils-0.8:= <dev-rust/crossbeam-utils-0.9 >=dev-rust/flate2-1.0.18:= <dev-rust/flate2-2 =dev-rust/junit-report-0.4*:= >=dev-rust/lazy_static-1.4:= <dev-rust/lazy_static-2.0 >=dev-rust/log-0.4:= >=dev-rust/rand-0.7.3:= <dev-rust/rand-0.8 >=dev-rust/rayon-1.5.0:= <dev-rust/rayon-2.0.0 =dev-rust/regex-1*:= >=dev-rust/roxmltree-0.13.0:= <dev-rust/roxmltree-0.14 >=dev-rust/stderrlog-0.4:= <dev-rust/stderrlog-0.6 =dev-rust/structopt-0.3*:= >=dev-rust/thread-id-3.3.0:= <dev-rust/thread-id-4.0 >=dev-rust/timeout-readwrite-0.3.1:= <dev-rust/timeout-readwrite-0.4 =dev-rust/serde-tuple-vec-map-1.0*:= =dev-rust/toml-0.5*:= =dev-rust/serde-1.0*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=A VK-GL-CTS/dEQP wrapper program to parallelize it across CPUs and report results against a baseline.
-EAPI=7
-HOMEPAGE=https://gitlab.freedesktop.org/anholt/deqp-runner
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=MIT
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/r1
-SRC_URI=https://crates.io/api/v1/crates/deqp-runner/0.12.0/download -> deqp-runner-0.12.0.crate
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=54e0bcb1a8c1a09e6b1ee46b93252ebd
diff --git a/metadata/md5-cache/media-gfx/deqp-runner-0.13.1 b/metadata/md5-cache/media-gfx/deqp-runner-0.13.1
new file mode 100644
index 0000000..52a4da7
--- /dev/null
+++ b/metadata/md5-cache/media-gfx/deqp-runner-0.13.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/anyhow-1*:= >=dev-rust/crossbeam-utils-0.8:= <dev-rust/crossbeam-utils-0.9 >=dev-rust/flate2-1.0.18:= <dev-rust/flate2-2 =dev-rust/junit-report-0.4*:= >=dev-rust/lazy_static-1.4:= <dev-rust/lazy_static-2.0 >=dev-rust/log-0.4:= >=dev-rust/rand-0.7.3:= <dev-rust/rand-0.8 >=dev-rust/rayon-1.5.0:= <dev-rust/rayon-2.0.0 =dev-rust/regex-1*:= >=dev-rust/roxmltree-0.13.0:= <dev-rust/roxmltree-0.14 >=dev-rust/stderrlog-0.4:= <dev-rust/stderrlog-0.6 =dev-rust/structopt-0.3*:= >=dev-rust/timeout-readwrite-0.3.1:= <dev-rust/timeout-readwrite-0.4 =dev-rust/serde-tuple-vec-map-1.0*:= =dev-rust/toml-0.5*:= =dev-rust/serde-1.0*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=A VK-GL-CTS/dEQP wrapper program to parallelize it across CPUs and report results against a baseline.
+EAPI=7
+HOMEPAGE=https://gitlab.freedesktop.org/anholt/deqp-runner
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/r0
+SRC_URI=https://crates.io/api/v1/crates/deqp-runner/0.13.1/download -> deqp-runner-0.13.1.crate
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d23ec8ac0d8d71d6004b5a84aac8a226
diff --git a/metadata/md5-cache/media-gfx/sane-airscan-0.99.27 b/metadata/md5-cache/media-gfx/sane-airscan-0.99.27
index e04555b..ecb285a 100644
--- a/metadata/md5-cache/media-gfx/sane-airscan-0.99.27
+++ b/metadata/md5-cache/media-gfx/sane-airscan-0.99.27
@@ -1,4 +1,4 @@
-BDEPEND=>=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+BDEPEND=>=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
 DEFINED_PHASES=compile configure install test
 DEPEND=dev-libs/libxml2:= media-gfx/sane-backends:= media-libs/libjpeg-turbo:= media-libs/libpng:= net-dns/avahi:= net-libs/libsoup:=
 DESCRIPTION=eSCL and WSD SANE backend
@@ -10,5 +10,5 @@
 RDEPEND=dev-libs/libxml2:= media-gfx/sane-backends:= media-libs/libjpeg-turbo:= media-libs/libpng:= net-dns/avahi:= net-libs/libsoup:=
 SLOT=0/0.99.27
 SRC_URI=https://github.com/alexpevzner/sane-airscan/archive/0.99.27.tar.gz -> sane-airscan-0.99.27.tar.gz
-_eclasses_=cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9550b6773e3d3c79c9170932b4ea7c53
+_eclasses_=cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9f5e7fa7948ed59fa503bb956bde3c4b
diff --git a/metadata/md5-cache/media-gfx/sane-airscan-0.99.27-r1 b/metadata/md5-cache/media-gfx/sane-airscan-0.99.27-r1
deleted file mode 100644
index 4f889ad..0000000
--- a/metadata/md5-cache/media-gfx/sane-airscan-0.99.27-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=>=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
-DEFINED_PHASES=compile configure install test
-DEPEND=dev-libs/libxml2:= media-gfx/sane-backends:= media-libs/libjpeg-turbo:= media-libs/libpng:= net-dns/avahi:= net-libs/libsoup:=
-DESCRIPTION=eSCL and WSD SANE backend
-EAPI=7
-HOMEPAGE=https://github.com/alexpevzner/sane-airscan
-IUSE=fuzzer fuzzer asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=GPL-2
-RDEPEND=dev-libs/libxml2:= media-gfx/sane-backends:= media-libs/libjpeg-turbo:= media-libs/libpng:= net-dns/avahi:= net-libs/libsoup:=
-SLOT=0/0.99.27-r1
-SRC_URI=https://github.com/alexpevzner/sane-airscan/archive/0.99.27.tar.gz -> sane-airscan-0.99.27.tar.gz
-_eclasses_=cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9550b6773e3d3c79c9170932b4ea7c53
diff --git a/metadata/md5-cache/media-gfx/sane-airscan-0.99.27-r2 b/metadata/md5-cache/media-gfx/sane-airscan-0.99.27-r2
new file mode 100644
index 0000000..66c2d3a
--- /dev/null
+++ b/metadata/md5-cache/media-gfx/sane-airscan-0.99.27-r2
@@ -0,0 +1,14 @@
+BDEPEND=>=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+DEFINED_PHASES=compile configure install test
+DEPEND=dev-libs/libxml2:= media-gfx/sane-backends:= media-libs/libjpeg-turbo:= media-libs/libpng:= net-dns/avahi:= net-libs/libsoup:=
+DESCRIPTION=eSCL and WSD SANE backend
+EAPI=7
+HOMEPAGE=https://github.com/alexpevzner/sane-airscan
+IUSE=fuzzer fuzzer asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=GPL-2
+RDEPEND=dev-libs/libxml2:= media-gfx/sane-backends:= media-libs/libjpeg-turbo:= media-libs/libpng:= net-dns/avahi:= net-libs/libsoup:=
+SLOT=0/0.99.27-r2
+SRC_URI=https://github.com/alexpevzner/sane-airscan/archive/0.99.27.tar.gz -> sane-airscan-0.99.27.tar.gz
+_eclasses_=cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9f5e7fa7948ed59fa503bb956bde3c4b
diff --git a/metadata/md5-cache/media-libs/arc-camera-profile-0.0.1-r869 b/metadata/md5-cache/media-libs/arc-camera-profile-0.0.1-r869
deleted file mode 100644
index 8bdfef2..0000000
--- a/metadata/md5-cache/media-libs/arc-camera-profile-0.0.1-r869
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Runtime detect the number of cameras on device to generate corresponding media_profiles.xml.
-EAPI=5
-IUSE=cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_aae9573ddce70ef8c8cfb47800c806eb8a703aa4_080361d5d45e74e7927e56bab774531748d1a569_4a17cb7a754b78de765e63bb30c619b74cd67d1d_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_aae9573ddce70ef8c8cfb47800c806eb8a703aa4_080361d5d45e74e7927e56bab774531748d1a569_4a17cb7a754b78de765e63bb30c619b74cd67d1d_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=0ef8cd37ac4ea7f78c610a068967e7ed
diff --git a/metadata/md5-cache/media-libs/arc-camera-profile-0.0.1-r977 b/metadata/md5-cache/media-libs/arc-camera-profile-0.0.1-r977
new file mode 100644
index 0000000..16c5910
--- /dev/null
+++ b/metadata/md5-cache/media-libs/arc-camera-profile-0.0.1-r977
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Runtime detect the number of cameras on device to generate corresponding media_profiles.xml.
+EAPI=5
+IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7093536475612fadc6a0afe16b8f5f4f4251e4c2_66167969f21d9a7bd20fc7fd2e582ad849d7d8eb_2b7909959649540a63997338914ec45cf9c7d07c_2de57cadefcee72268944188060875f71560d058_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7093536475612fadc6a0afe16b8f5f4f4251e4c2_66167969f21d9a7bd20fc7fd2e582ad849d7d8eb_2b7909959649540a63997338914ec45cf9c7d07c_2de57cadefcee72268944188060875f71560d058_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
+SLOT=0
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=a0c47eac2211dccbd48c8a1ae0f79ac4
diff --git a/metadata/md5-cache/media-libs/arc-camera-profile-9999 b/metadata/md5-cache/media-libs/arc-camera-profile-9999
index 7f3e1e8..d856021 100644
--- a/metadata/md5-cache/media-libs/arc-camera-profile-9999
+++ b/metadata/md5-cache/media-libs/arc-camera-profile-9999
@@ -1,12 +1,13 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Runtime detect the number of cameras on device to generate corresponding media_profiles.xml.
 EAPI=5
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
 SLOT=0
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=68c0c61b82a230f6454b3d842366e922
diff --git a/metadata/md5-cache/media-libs/arc-cros-gralloc-0.0.1-r511 b/metadata/md5-cache/media-libs/arc-cros-gralloc-0.0.1-r511
deleted file mode 100644
index af0e8e9..0000000
--- a/metadata/md5-cache/media-libs/arc-cros-gralloc-0.0.1-r511
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=!<media-libs/minigbm-0.0.1-r438 x11-libs/arc-libdrm[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] video_cards_amdgpu? ( virtual/arc-opengles ) sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-DESCRIPTION=ChromeOS gralloc implementation
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/minigbm
-IUSE=video_cards_amdgpu video_cards_exynos video_cards_intel video_cards_marvell video_cards_mediatek video_cards_msm video_cards_rockchip video_cards_tegra video_cards_virgl minigbm_platform_mt8183 minigbm_platform_mt8192 minigbm_platform_mt8195 minigbm_platform_sc7280 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master cros_host cros_workon_tree_889ec259c7672ffc733d3ea60a0403fdddd2735d
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=!<media-libs/minigbm-0.0.1-r438 x11-libs/arc-libdrm[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
-SLOT=0
-_eclasses_=arc-build	b81e284348e452b00e55bc049a3fb873	arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=45f4e739a213182b779debde3b0569a3
diff --git a/metadata/md5-cache/media-libs/arc-cros-gralloc-0.0.1-r551 b/metadata/md5-cache/media-libs/arc-cros-gralloc-0.0.1-r551
new file mode 100644
index 0000000..b35731d
--- /dev/null
+++ b/metadata/md5-cache/media-libs/arc-cros-gralloc-0.0.1-r551
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=!<media-libs/minigbm-0.0.1-r438 x11-libs/arc-libdrm[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] video_cards_amdgpu? ( virtual/arc-opengles ) sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+DESCRIPTION=ChromeOS gralloc implementation
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/minigbm
+IUSE=video_cards_amdgpu video_cards_exynos video_cards_intel video_cards_marvell video_cards_mediatek video_cards_msm video_cards_rockchip video_cards_tegra video_cards_virgl minigbm_platform_mt8183 minigbm_platform_mt8186 minigbm_platform_mt8192 minigbm_platform_mt8195 minigbm_platform_sc7280 android-container-pi abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master cros_host cros_workon_tree_307193d7a54eb264e2b9246ad4af49c3436fe4b6 asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=!<media-libs/minigbm-0.0.1-r438 x11-libs/arc-libdrm[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
+SLOT=0
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a653456d0b12e65d236b6039733986e5
diff --git a/metadata/md5-cache/media-libs/arc-cros-gralloc-9999 b/metadata/md5-cache/media-libs/arc-cros-gralloc-9999
index 7bdfec1..be58212 100644
--- a/metadata/md5-cache/media-libs/arc-cros-gralloc-9999
+++ b/metadata/md5-cache/media-libs/arc-cros-gralloc-9999
@@ -4,12 +4,12 @@
 DESCRIPTION=ChromeOS gralloc implementation
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/minigbm
-IUSE=video_cards_amdgpu video_cards_exynos video_cards_intel video_cards_marvell video_cards_mediatek video_cards_msm video_cards_rockchip video_cards_tegra video_cards_virgl minigbm_platform_mt8183 minigbm_platform_mt8192 minigbm_platform_mt8195 minigbm_platform_sc7280 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master cros_host cros_workon_tree_
+IUSE=video_cards_amdgpu video_cards_exynos video_cards_intel video_cards_marvell video_cards_mediatek video_cards_msm video_cards_rockchip video_cards_tegra video_cards_virgl minigbm_platform_mt8183 minigbm_platform_mt8186 minigbm_platform_mt8192 minigbm_platform_mt8195 minigbm_platform_sc7280 android-container-pi abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 RDEPEND=!<media-libs/minigbm-0.0.1-r438 x11-libs/arc-libdrm[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
+REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
 SLOT=0
-_eclasses_=arc-build	b81e284348e452b00e55bc049a3fb873	arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9f7110119c4f4387249ae63283c001b2
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c4df1331155bfd3deb46de15c1856233
diff --git a/metadata/md5-cache/media-libs/arc-mesa-19.0 b/metadata/md5-cache/media-libs/arc-mesa-19.0
index 069d114..4160487 100644
--- a/metadata/md5-cache/media-libs/arc-mesa-19.0
+++ b/metadata/md5-cache/media-libs/arc-mesa-19.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure info install postinst prepare setup test unpack
-DEPEND=cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] llvm? ( >=sys-devel/arc-llvm-9:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) video_cards_amdgpu? ( dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+DEPEND=cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] llvm? ( >=sys-devel/arc-llvm-9:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) video_cards_amdgpu? ( dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
 DESCRIPTION=OpenGL-like graphic library for Linux
 EAPI=6
 HOMEPAGE=http://mesa3d.sourceforge.net/
-IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_powervr video_cards_r128 video_cards_savage video_cards_sis video_cards_vmware video_cards_tdfx video_cards_via video_cards_freedreno video_cards_virgl android_aep -android_gles2 -android_gles30 +android_gles31 -android_gles32 -android_vulkan_compute_0 cheets +classic debug dri egl +gallium -gbm gles1 gles2 +llvm +nptl pic selinux shared-glapi vulkan X xlib-glx cheets_user cheets_user_64 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_040a39591a38d3dc778725575c72dcdc1b07e032 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
+IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_powervr video_cards_r128 video_cards_savage video_cards_sis video_cards_vmware video_cards_tdfx video_cards_via video_cards_freedreno video_cards_virgl android_aep -android_gles2 -android_gles30 +android_gles31 -android_gles32 -android_vulkan_compute_0 cheets +classic debug dri egl +gallium -gbm gles1 gles2 +llvm +nptl pic selinux shared-glapi vulkan X xlib-glx cheets_user cheets_user_64 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_040a39591a38d3dc778725575c72dcdc1b07e032 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
 KEYWORDS=*
 LICENSE=MIT LGPL-3 SGI-B-2.0
 PROPERTIES=live
 RDEPEND=cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] llvm? ( >=sys-devel/arc-llvm-9:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) video_cards_amdgpu? ( dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) )
-REQUIRED_USE=^^ ( android_gles2 android_gles30 android_gles31 android_gles32 ) android_aep? ( !android_gles2 !android_gles30 ) android_vulkan_compute_0? ( vulkan ) cheets? ( vulkan? ( ^^ ( video_cards_amdgpu video_cards_intel ) ) video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( !cheets_user !cheets_user_64 ) ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
+REQUIRED_USE=^^ ( android_gles2 android_gles30 android_gles31 android_gles32 ) android_aep? ( !android_gles2 !android_gles30 ) android_vulkan_compute_0? ( vulkan ) cheets? ( vulkan? ( ^^ ( video_cards_amdgpu video_cards_intel ) ) video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( !cheets_user !cheets_user_64 ) ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
 SLOT=0
-_eclasses_=arc-build	b81e284348e452b00e55bc049a3fb873	arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=cb96e03cf9ce1ef3a6741cc7c39506e8
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=d03cee2c88f555a2a86d8d5ecbc949ad
diff --git a/metadata/md5-cache/media-libs/arc-mesa-19.0-r41 b/metadata/md5-cache/media-libs/arc-mesa-19.0-r41
deleted file mode 100644
index 069d114..0000000
--- a/metadata/md5-cache/media-libs/arc-mesa-19.0-r41
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure info install postinst prepare setup test unpack
-DEPEND=cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] llvm? ( >=sys-devel/arc-llvm-9:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) video_cards_amdgpu? ( dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-DESCRIPTION=OpenGL-like graphic library for Linux
-EAPI=6
-HOMEPAGE=http://mesa3d.sourceforge.net/
-IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_powervr video_cards_r128 video_cards_savage video_cards_sis video_cards_vmware video_cards_tdfx video_cards_via video_cards_freedreno video_cards_virgl android_aep -android_gles2 -android_gles30 +android_gles31 -android_gles32 -android_vulkan_compute_0 cheets +classic debug dri egl +gallium -gbm gles1 gles2 +llvm +nptl pic selinux shared-glapi vulkan X xlib-glx cheets_user cheets_user_64 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_040a39591a38d3dc778725575c72dcdc1b07e032 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
-KEYWORDS=*
-LICENSE=MIT LGPL-3 SGI-B-2.0
-PROPERTIES=live
-RDEPEND=cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] llvm? ( >=sys-devel/arc-llvm-9:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) video_cards_amdgpu? ( dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) )
-REQUIRED_USE=^^ ( android_gles2 android_gles30 android_gles31 android_gles32 ) android_aep? ( !android_gles2 !android_gles30 ) android_vulkan_compute_0? ( vulkan ) cheets? ( vulkan? ( ^^ ( video_cards_amdgpu video_cards_intel ) ) video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( !cheets_user !cheets_user_64 ) ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
-SLOT=0
-_eclasses_=arc-build	b81e284348e452b00e55bc049a3fb873	arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=cb96e03cf9ce1ef3a6741cc7c39506e8
diff --git a/metadata/md5-cache/media-libs/arc-mesa-19.0-r44 b/metadata/md5-cache/media-libs/arc-mesa-19.0-r44
new file mode 100644
index 0000000..4160487
--- /dev/null
+++ b/metadata/md5-cache/media-libs/arc-mesa-19.0-r44
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure info install postinst prepare setup test unpack
+DEPEND=cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] llvm? ( >=sys-devel/arc-llvm-9:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) video_cards_amdgpu? ( dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+DESCRIPTION=OpenGL-like graphic library for Linux
+EAPI=6
+HOMEPAGE=http://mesa3d.sourceforge.net/
+IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_powervr video_cards_r128 video_cards_savage video_cards_sis video_cards_vmware video_cards_tdfx video_cards_via video_cards_freedreno video_cards_virgl android_aep -android_gles2 -android_gles30 +android_gles31 -android_gles32 -android_vulkan_compute_0 cheets +classic debug dri egl +gallium -gbm gles1 gles2 +llvm +nptl pic selinux shared-glapi vulkan X xlib-glx cheets_user cheets_user_64 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_040a39591a38d3dc778725575c72dcdc1b07e032 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
+KEYWORDS=*
+LICENSE=MIT LGPL-3 SGI-B-2.0
+PROPERTIES=live
+RDEPEND=cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] llvm? ( >=sys-devel/arc-llvm-9:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) video_cards_amdgpu? ( dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) )
+REQUIRED_USE=^^ ( android_gles2 android_gles30 android_gles31 android_gles32 ) android_aep? ( !android_gles2 !android_gles30 ) android_vulkan_compute_0? ( vulkan ) cheets? ( vulkan? ( ^^ ( video_cards_amdgpu video_cards_intel ) ) video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( !cheets_user !cheets_user_64 ) ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
+SLOT=0
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=d03cee2c88f555a2a86d8d5ecbc949ad
diff --git a/metadata/md5-cache/media-libs/arc-mesa-9999 b/metadata/md5-cache/media-libs/arc-mesa-9999
index 79d5fe1..5ddfad2 100644
--- a/metadata/md5-cache/media-libs/arc-mesa-9999
+++ b/metadata/md5-cache/media-libs/arc-mesa-9999
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure info install postinst prepare setup test unpack
-DEPEND=cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] llvm? ( >=sys-devel/arc-llvm-9:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) video_cards_amdgpu? ( dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+DEPEND=cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] llvm? ( >=sys-devel/arc-llvm-9:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) video_cards_amdgpu? ( dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
 DESCRIPTION=OpenGL-like graphic library for Linux
 EAPI=6
 HOMEPAGE=http://mesa3d.sourceforge.net/
-IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_powervr video_cards_r128 video_cards_savage video_cards_sis video_cards_vmware video_cards_tdfx video_cards_via video_cards_freedreno video_cards_virgl android_aep -android_gles2 -android_gles30 +android_gles31 -android_gles32 -android_vulkan_compute_0 cheets +classic debug dri egl +gallium -gbm gles1 gles2 +llvm +nptl pic selinux shared-glapi vulkan X xlib-glx cheets_user cheets_user_64 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_ arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
+IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_powervr video_cards_r128 video_cards_savage video_cards_sis video_cards_vmware video_cards_tdfx video_cards_via video_cards_freedreno video_cards_virgl android_aep -android_gles2 -android_gles30 +android_gles31 -android_gles32 -android_vulkan_compute_0 cheets +classic debug dri egl +gallium -gbm gles1 gles2 +llvm +nptl pic selinux shared-glapi vulkan X xlib-glx cheets_user cheets_user_64 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_ arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=MIT LGPL-3 SGI-B-2.0
 PROPERTIES=live
 RDEPEND=cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] llvm? ( >=sys-devel/arc-llvm-9:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) video_cards_amdgpu? ( dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) )
-REQUIRED_USE=^^ ( android_gles2 android_gles30 android_gles31 android_gles32 ) android_aep? ( !android_gles2 !android_gles30 ) android_vulkan_compute_0? ( vulkan ) cheets? ( vulkan? ( ^^ ( video_cards_amdgpu video_cards_intel ) ) video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( !cheets_user !cheets_user_64 ) ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
+REQUIRED_USE=^^ ( android_gles2 android_gles30 android_gles31 android_gles32 ) android_aep? ( !android_gles2 !android_gles30 ) android_vulkan_compute_0? ( vulkan ) cheets? ( vulkan? ( ^^ ( video_cards_amdgpu video_cards_intel ) ) video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( !cheets_user !cheets_user_64 ) ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
 SLOT=0
-_eclasses_=arc-build	b81e284348e452b00e55bc049a3fb873	arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=784423566204979cbeac9e05a4e6a70e
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=0b411caca8e21d92929c862b46e46e0b
diff --git a/metadata/md5-cache/media-libs/arc-mesa-amd-21.2.1-r76 b/metadata/md5-cache/media-libs/arc-mesa-amd-21.2.1-r76
deleted file mode 100644
index e176895..0000000
--- a/metadata/md5-cache/media-libs/arc-mesa-amd-21.2.1-r76
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-devel/arc-llvm:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-DESCRIPTION=The Mesa 3D Graphics Library
-EAPI=6
-HOMEPAGE=http://mesa3d.org/
-IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_freedreno video_cards_llvmpipe android-container-pi -android_vulkan_compute_0 cheets debug vulkan cheets_user cheets_user_64 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_df54eccb038d4e32af6d83cf3f40637298234c10 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
-KEYWORDS=*
-LICENSE=MIT
-PROPERTIES=live
-RDEPEND=>=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-devel/arc-llvm:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] !media-libs/arc-mesa
-REQUIRED_USE=android_vulkan_compute_0? ( vulkan ) vulkan? ( || ( video_cards_amdgpu video_cards_intel ) ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
-SLOT=0
-_eclasses_=arc-build	b81e284348e452b00e55bc049a3fb873	arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=1d90fed872fa68f68763c1ccc35baa7f
diff --git a/metadata/md5-cache/media-libs/arc-mesa-amd-22.1.4-r87 b/metadata/md5-cache/media-libs/arc-mesa-amd-22.1.4-r87
new file mode 100644
index 0000000..f0a652d
--- /dev/null
+++ b/metadata/md5-cache/media-libs/arc-mesa-amd-22.1.4-r87
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-devel/arc-llvm:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+DESCRIPTION=The Mesa 3D Graphics Library
+EAPI=6
+HOMEPAGE=http://mesa3d.org/
+IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_freedreno video_cards_llvmpipe android-container-pi -android_vulkan_compute_0 cheets debug vulkan cheets_user cheets_user_64 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_a4eb80a9659d7bd3744f9efb755c019f90da23ea arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
+KEYWORDS=*
+LICENSE=MIT
+PROPERTIES=live
+RDEPEND=>=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-devel/arc-llvm:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] !media-libs/arc-mesa
+REQUIRED_USE=android_vulkan_compute_0? ( vulkan ) vulkan? ( || ( video_cards_amdgpu video_cards_intel ) ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
+SLOT=0
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=0214860352bb0fee05faeaab563a4ffa
diff --git a/metadata/md5-cache/media-libs/arc-mesa-amd-9999 b/metadata/md5-cache/media-libs/arc-mesa-amd-9999
index d89be15..055aba4 100644
--- a/metadata/md5-cache/media-libs/arc-mesa-amd-9999
+++ b/metadata/md5-cache/media-libs/arc-mesa-amd-9999
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-devel/arc-llvm:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+DEPEND=>=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-devel/arc-llvm:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
 DESCRIPTION=The Mesa 3D Graphics Library
 EAPI=6
 HOMEPAGE=http://mesa3d.org/
-IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_freedreno video_cards_llvmpipe android-container-pi -android_vulkan_compute_0 cheets debug vulkan cheets_user cheets_user_64 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_ arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
+IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_freedreno video_cards_llvmpipe android-container-pi -android_vulkan_compute_0 cheets debug vulkan cheets_user cheets_user_64 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_ arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
 KEYWORDS=~*
 LICENSE=MIT
 PROPERTIES=live
 RDEPEND=>=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-devel/arc-llvm:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] !media-libs/arc-mesa
-REQUIRED_USE=android_vulkan_compute_0? ( vulkan ) vulkan? ( || ( video_cards_amdgpu video_cards_intel ) ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
+REQUIRED_USE=android_vulkan_compute_0? ( vulkan ) vulkan? ( || ( video_cards_amdgpu video_cards_intel ) ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
 SLOT=0
-_eclasses_=arc-build	b81e284348e452b00e55bc049a3fb873	arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=b39ab6ec5ae73f75e6df4003ec9b8514
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=2aa2661e01f9f798066ec9a4f5b7bb63
diff --git a/metadata/md5-cache/media-libs/arc-mesa-freedreno-22.0.0_pre-r74 b/metadata/md5-cache/media-libs/arc-mesa-freedreno-22.0.0_pre-r74
deleted file mode 100644
index 9b537da..0000000
--- a/metadata/md5-cache/media-libs/arc-mesa-freedreno-22.0.0_pre-r74
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-DESCRIPTION=OpenGL-like graphic library for Linux
-EAPI=6
-HOMEPAGE=http://mesa3d.sourceforge.net/
-IUSE=cheets cheets_user cheets_user_64 debug vulkan android_vulkan_compute_0 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_26c1ee090572c537752937a509a6ba387bd58d62 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
-KEYWORDS=*
-LICENSE=MIT SGI-B-2.0
-PROPERTIES=live
-RDEPEND=>=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-REQUIRED_USE=cheets android_vulkan_compute_0? ( vulkan ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
-SLOT=0
-_eclasses_=arc-build	b81e284348e452b00e55bc049a3fb873	arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=9029a80cb80df7ca79aa493b698e53ae
diff --git a/metadata/md5-cache/media-libs/arc-mesa-freedreno-22.3.0_pre-r80 b/metadata/md5-cache/media-libs/arc-mesa-freedreno-22.3.0_pre-r80
new file mode 100644
index 0000000..cdc537a
--- /dev/null
+++ b/metadata/md5-cache/media-libs/arc-mesa-freedreno-22.3.0_pre-r80
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+DESCRIPTION=OpenGL-like graphic library for Linux
+EAPI=6
+HOMEPAGE=http://mesa3d.sourceforge.net/
+IUSE=cheets cheets_user cheets_user_64 debug vulkan android_vulkan_compute_0 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_a3e5ce4259de770713970232d0b5a43edc478a83 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
+KEYWORDS=*
+LICENSE=MIT SGI-B-2.0
+PROPERTIES=live
+RDEPEND=>=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+REQUIRED_USE=cheets android_vulkan_compute_0? ( vulkan ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
+SLOT=0
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=b59d6988a38be30bdcd4289899867bf3
diff --git a/metadata/md5-cache/media-libs/arc-mesa-freedreno-9999 b/metadata/md5-cache/media-libs/arc-mesa-freedreno-9999
index e212e2a..9f92c7f 100644
--- a/metadata/md5-cache/media-libs/arc-mesa-freedreno-9999
+++ b/metadata/md5-cache/media-libs/arc-mesa-freedreno-9999
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+DEPEND=>=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
 DESCRIPTION=OpenGL-like graphic library for Linux
 EAPI=6
 HOMEPAGE=http://mesa3d.sourceforge.net/
-IUSE=cheets cheets_user cheets_user_64 debug vulkan android_vulkan_compute_0 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_ arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
+IUSE=cheets cheets_user cheets_user_64 debug vulkan android_vulkan_compute_0 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_ arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
 KEYWORDS=~*
 LICENSE=MIT SGI-B-2.0
 PROPERTIES=live
 RDEPEND=>=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-REQUIRED_USE=cheets android_vulkan_compute_0? ( vulkan ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
+REQUIRED_USE=cheets android_vulkan_compute_0? ( vulkan ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
 SLOT=0
-_eclasses_=arc-build	b81e284348e452b00e55bc049a3fb873	arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=6f9f4ee6e97b6c3289c79d7379f542d5
diff --git a/metadata/md5-cache/media-libs/arc-mesa-img-19.0_pre1 b/metadata/md5-cache/media-libs/arc-mesa-img-19.0_pre1
index d9c3313..b048194 100644
--- a/metadata/md5-cache/media-libs/arc-mesa-img-19.0_pre1
+++ b/metadata/md5-cache/media-libs/arc-mesa-img-19.0_pre1
@@ -3,12 +3,12 @@
 DESCRIPTION=OpenGL-like graphic library for Linux
 EAPI=5
 HOMEPAGE=http://mesa3d.sourceforge.net/
-IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_powervr video_cards_r128 video_cards_savage video_cards_sis video_cards_vmware video_cards_tdfx video_cards_via video_cards_freedreno video_cards_virgl android_aep -android_gles2 -android_gles30 +android_gles31 -android_gles32 -android_vulkan_compute_0 cheets +classic debug dri egl -gallium -gbm gles1 gles2 -llvm +nptl pic selinux shared-glapi vulkan X xlib-glx cheets_user cheets_user_64 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_040a39591a38d3dc778725575c72dcdc1b07e032 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
+IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_powervr video_cards_r128 video_cards_savage video_cards_sis video_cards_vmware video_cards_tdfx video_cards_via video_cards_freedreno video_cards_virgl android_aep -android_gles2 -android_gles30 +android_gles31 -android_gles32 -android_vulkan_compute_0 cheets +classic debug dri egl -gallium -gbm gles1 gles2 -llvm +nptl pic selinux shared-glapi vulkan X xlib-glx cheets_user cheets_user_64 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_040a39591a38d3dc778725575c72dcdc1b07e032 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
 KEYWORDS=*
 LICENSE=MIT LGPL-3 SGI-B-2.0
 PROPERTIES=live
 RDEPEND=video_cards_powervr? ( media-libs/arc-img-ddk !<media-libs/arc-img-ddk-1.9 ) cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] llvm? ( sys-devel/arc-llvm:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) video_cards_amdgpu? ( dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) )
-REQUIRED_USE=^^ ( android_gles2 android_gles30 android_gles31 android_gles32 ) android_aep? ( !android_gles2 !android_gles30 ) android_vulkan_compute_0? ( vulkan ) cheets? ( vulkan? ( ^^ ( video_cards_amdgpu video_cards_intel video_cards_powervr ) ) video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( !cheets_user !cheets_user_64 ) ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
+REQUIRED_USE=^^ ( android_gles2 android_gles30 android_gles31 android_gles32 ) android_aep? ( !android_gles2 !android_gles30 ) android_vulkan_compute_0? ( vulkan ) cheets? ( vulkan? ( ^^ ( video_cards_amdgpu video_cards_intel video_cards_powervr ) ) video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( !cheets_user !cheets_user_64 ) ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
 SLOT=0
-_eclasses_=arc-build	b81e284348e452b00e55bc049a3fb873	arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	autotools	d0e5375d47f4c809f406eb892e531513	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	autotools	d0e5375d47f4c809f406eb892e531513	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=781670352d2d848b1161245998a3c38f
diff --git a/metadata/md5-cache/media-libs/arc-mesa-img-19.0_pre1-r8 b/metadata/md5-cache/media-libs/arc-mesa-img-19.0_pre1-r8
index d9c3313..b048194 100644
--- a/metadata/md5-cache/media-libs/arc-mesa-img-19.0_pre1-r8
+++ b/metadata/md5-cache/media-libs/arc-mesa-img-19.0_pre1-r8
@@ -3,12 +3,12 @@
 DESCRIPTION=OpenGL-like graphic library for Linux
 EAPI=5
 HOMEPAGE=http://mesa3d.sourceforge.net/
-IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_powervr video_cards_r128 video_cards_savage video_cards_sis video_cards_vmware video_cards_tdfx video_cards_via video_cards_freedreno video_cards_virgl android_aep -android_gles2 -android_gles30 +android_gles31 -android_gles32 -android_vulkan_compute_0 cheets +classic debug dri egl -gallium -gbm gles1 gles2 -llvm +nptl pic selinux shared-glapi vulkan X xlib-glx cheets_user cheets_user_64 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_040a39591a38d3dc778725575c72dcdc1b07e032 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
+IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_powervr video_cards_r128 video_cards_savage video_cards_sis video_cards_vmware video_cards_tdfx video_cards_via video_cards_freedreno video_cards_virgl android_aep -android_gles2 -android_gles30 +android_gles31 -android_gles32 -android_vulkan_compute_0 cheets +classic debug dri egl -gallium -gbm gles1 gles2 -llvm +nptl pic selinux shared-glapi vulkan X xlib-glx cheets_user cheets_user_64 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_040a39591a38d3dc778725575c72dcdc1b07e032 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
 KEYWORDS=*
 LICENSE=MIT LGPL-3 SGI-B-2.0
 PROPERTIES=live
 RDEPEND=video_cards_powervr? ( media-libs/arc-img-ddk !<media-libs/arc-img-ddk-1.9 ) cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] llvm? ( sys-devel/arc-llvm:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) video_cards_amdgpu? ( dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) )
-REQUIRED_USE=^^ ( android_gles2 android_gles30 android_gles31 android_gles32 ) android_aep? ( !android_gles2 !android_gles30 ) android_vulkan_compute_0? ( vulkan ) cheets? ( vulkan? ( ^^ ( video_cards_amdgpu video_cards_intel video_cards_powervr ) ) video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( !cheets_user !cheets_user_64 ) ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
+REQUIRED_USE=^^ ( android_gles2 android_gles30 android_gles31 android_gles32 ) android_aep? ( !android_gles2 !android_gles30 ) android_vulkan_compute_0? ( vulkan ) cheets? ( vulkan? ( ^^ ( video_cards_amdgpu video_cards_intel video_cards_powervr ) ) video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( !cheets_user !cheets_user_64 ) ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
 SLOT=0
-_eclasses_=arc-build	b81e284348e452b00e55bc049a3fb873	arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	autotools	d0e5375d47f4c809f406eb892e531513	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	autotools	d0e5375d47f4c809f406eb892e531513	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=781670352d2d848b1161245998a3c38f
diff --git a/metadata/md5-cache/media-libs/arc-mesa-img-9999 b/metadata/md5-cache/media-libs/arc-mesa-img-9999
index 557185c..4dd882a 100644
--- a/metadata/md5-cache/media-libs/arc-mesa-img-9999
+++ b/metadata/md5-cache/media-libs/arc-mesa-img-9999
@@ -3,12 +3,12 @@
 DESCRIPTION=OpenGL-like graphic library for Linux
 EAPI=5
 HOMEPAGE=http://mesa3d.sourceforge.net/
-IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_powervr video_cards_r128 video_cards_savage video_cards_sis video_cards_vmware video_cards_tdfx video_cards_via video_cards_freedreno video_cards_virgl android_aep -android_gles2 -android_gles30 +android_gles31 -android_gles32 -android_vulkan_compute_0 cheets +classic debug dri egl -gallium -gbm gles1 gles2 -llvm +nptl pic selinux shared-glapi vulkan X xlib-glx cheets_user cheets_user_64 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_ arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
+IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_powervr video_cards_r128 video_cards_savage video_cards_sis video_cards_vmware video_cards_tdfx video_cards_via video_cards_freedreno video_cards_virgl android_aep -android_gles2 -android_gles30 +android_gles31 -android_gles32 -android_vulkan_compute_0 cheets +classic debug dri egl -gallium -gbm gles1 gles2 -llvm +nptl pic selinux shared-glapi vulkan X xlib-glx cheets_user cheets_user_64 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_ arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
 KEYWORDS=~*
 LICENSE=MIT LGPL-3 SGI-B-2.0
 PROPERTIES=live
 RDEPEND=video_cards_powervr? ( media-libs/arc-img-ddk !<media-libs/arc-img-ddk-1.9 ) cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] llvm? ( sys-devel/arc-llvm:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) video_cards_amdgpu? ( dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) )
-REQUIRED_USE=^^ ( android_gles2 android_gles30 android_gles31 android_gles32 ) android_aep? ( !android_gles2 !android_gles30 ) android_vulkan_compute_0? ( vulkan ) cheets? ( vulkan? ( ^^ ( video_cards_amdgpu video_cards_intel video_cards_powervr ) ) video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( !cheets_user !cheets_user_64 ) ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
+REQUIRED_USE=^^ ( android_gles2 android_gles30 android_gles31 android_gles32 ) android_aep? ( !android_gles2 !android_gles30 ) android_vulkan_compute_0? ( vulkan ) cheets? ( vulkan? ( ^^ ( video_cards_amdgpu video_cards_intel video_cards_powervr ) ) video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( !cheets_user !cheets_user_64 ) ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
 SLOT=0
-_eclasses_=arc-build	b81e284348e452b00e55bc049a3fb873	arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	autotools	d0e5375d47f4c809f406eb892e531513	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	autotools	d0e5375d47f4c809f406eb892e531513	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=c69bfb4bdf96843cf987ffabbe8ca139
diff --git a/metadata/md5-cache/media-libs/arc-mesa-iris-21.2.5-r36 b/metadata/md5-cache/media-libs/arc-mesa-iris-21.2.5-r36
deleted file mode 100644
index 3faeece..0000000
--- a/metadata/md5-cache/media-libs/arc-mesa-iris-21.2.5-r36
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-DESCRIPTION=The Mesa 3D Graphics Library
-EAPI=6
-HOMEPAGE=http://mesa3d.org/
-IUSE=cheets cheets_user cheets_user_64 debug vulkan android_vulkan_compute_0 android_aep abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_4049f13733d26cfc9a9360f0868039fba31959db arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
-KEYWORDS=*
-LICENSE=MIT SGI-B-2.0
-PROPERTIES=live
-RDEPEND=>=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-REQUIRED_USE=cheets android_vulkan_compute_0? ( vulkan ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
-SLOT=0
-_eclasses_=arc-build	b81e284348e452b00e55bc049a3fb873	arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=0432333457613d822fb100590c29ccb6
diff --git a/metadata/md5-cache/media-libs/arc-mesa-iris-22.1.4-r50 b/metadata/md5-cache/media-libs/arc-mesa-iris-22.1.4-r50
new file mode 100644
index 0000000..2af4b44
--- /dev/null
+++ b/metadata/md5-cache/media-libs/arc-mesa-iris-22.1.4-r50
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+DESCRIPTION=The Mesa 3D Graphics Library
+EAPI=6
+HOMEPAGE=http://mesa3d.org/
+IUSE=cheets cheets_user cheets_user_64 debug vulkan android_vulkan_compute_0 android_aep abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_6f7e0fcf8fa0ac39af0cb8bd0ae435c46fd501a5 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
+KEYWORDS=*
+LICENSE=MIT SGI-B-2.0
+PROPERTIES=live
+RDEPEND=>=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+REQUIRED_USE=cheets android_vulkan_compute_0? ( vulkan ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
+SLOT=0
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=3b97d8ac88ec43f1c12cf96d83bbd4c1
diff --git a/metadata/md5-cache/media-libs/arc-mesa-iris-9999 b/metadata/md5-cache/media-libs/arc-mesa-iris-9999
index 456fe5f..06007e0 100644
--- a/metadata/md5-cache/media-libs/arc-mesa-iris-9999
+++ b/metadata/md5-cache/media-libs/arc-mesa-iris-9999
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+DEPEND=>=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
 DESCRIPTION=The Mesa 3D Graphics Library
 EAPI=6
 HOMEPAGE=http://mesa3d.org/
-IUSE=cheets cheets_user cheets_user_64 debug vulkan android_vulkan_compute_0 android_aep abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_ arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
+IUSE=cheets cheets_user cheets_user_64 debug vulkan android_vulkan_compute_0 android_aep abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_ arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
 KEYWORDS=~*
 LICENSE=MIT SGI-B-2.0
 PROPERTIES=live
 RDEPEND=>=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/arc-libelf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-REQUIRED_USE=cheets android_vulkan_compute_0? ( vulkan ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
+REQUIRED_USE=cheets android_vulkan_compute_0? ( vulkan ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
 SLOT=0
-_eclasses_=arc-build	b81e284348e452b00e55bc049a3fb873	arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=d2f2c1a10aec3236e5c23a79b33293ca
diff --git a/metadata/md5-cache/media-libs/arc-mesa-virgl-22.0.0_rc2-r4 b/metadata/md5-cache/media-libs/arc-mesa-virgl-22.0.0_rc2-r4
deleted file mode 100644
index 4b5598e..0000000
--- a/metadata/md5-cache/media-libs/arc-mesa-virgl-22.0.0_rc2-r4
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure info install postinst prepare setup test unpack
-DEPEND=cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] llvm? ( sys-devel/arc-llvm:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-DESCRIPTION=OpenGL-like graphic library for Linux
-EAPI=6
-HOMEPAGE=http://mesa3d.sourceforge.net/
-IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_powervr video_cards_r128 video_cards_savage video_cards_sis video_cards_vmware video_cards_tdfx video_cards_via video_cards_freedreno video_cards_virgl video_cards_mediatek android_aep -android_gles2 -android_gles30 +android_gles31 -android_gles32 -android_vulkan_compute_0 -swvulkan +cheets classic debug dri +egl +gallium -gbm +gles1 +gles2 -llvm +nptl pic selinux +shared-glapi -vulkan -X xlib-glx cheets_user cheets_user_64 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_16d9e8abb49237fb62ed6dcd92b2f7560cc7bbbf arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
-KEYWORDS=*
-LICENSE=MIT LGPL-3 SGI-B-2.0
-PROPERTIES=live
-RDEPEND=cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] llvm? ( sys-devel/arc-llvm:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) )
-REQUIRED_USE=^^ ( android_gles2 android_gles30 android_gles31 android_gles32 ) android_aep? ( !android_gles2 !android_gles30 ) android_vulkan_compute_0? ( vulkan ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
-SLOT=0
-_eclasses_=arc-build	b81e284348e452b00e55bc049a3fb873	arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=7ffde972f9443dcb72f60678eee80925
diff --git a/metadata/md5-cache/media-libs/arc-mesa-virgl-22.0.0_rc2-r42 b/metadata/md5-cache/media-libs/arc-mesa-virgl-22.0.0_rc2-r42
new file mode 100644
index 0000000..40773f8
--- /dev/null
+++ b/metadata/md5-cache/media-libs/arc-mesa-virgl-22.0.0_rc2-r42
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] llvm? ( sys-devel/arc-llvm:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+DESCRIPTION=OpenGL-like graphic library for Linux
+EAPI=6
+HOMEPAGE=http://mesa3d.sourceforge.net/
+IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_powervr video_cards_r128 video_cards_savage video_cards_sis video_cards_vmware video_cards_tdfx video_cards_via video_cards_freedreno video_cards_virgl video_cards_mediatek video_cards_msm android_aep -android_gles2 -android_gles30 +android_gles31 -android_gles32 -android_vulkan_compute_0 -angle -swvulkan +cheets classic debug dri +egl +gallium -gbm +gles1 +gles2 -llvm +nptl pic selinux +shared-glapi -vulkan -X xlib-glx cheets_user cheets_user_64 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_08c55bc4466b88c7ca1c214c3f3e339d29e82020 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=MIT LGPL-3 SGI-B-2.0
+PROPERTIES=live
+RDEPEND=cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] llvm? ( sys-devel/arc-llvm:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) )
+REQUIRED_USE=^^ ( android_gles2 android_gles30 android_gles31 android_gles32 ) android_aep? ( !android_gles2 !android_gles30 ) angle? ( vulkan !egl ) android_vulkan_compute_0? ( vulkan ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
+SLOT=0
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=80ccafd623268afb1394f88ee33bafc5
diff --git a/metadata/md5-cache/media-libs/arc-mesa-virgl-9999 b/metadata/md5-cache/media-libs/arc-mesa-virgl-9999
index 003e0f1..7c03b70 100644
--- a/metadata/md5-cache/media-libs/arc-mesa-virgl-9999
+++ b/metadata/md5-cache/media-libs/arc-mesa-virgl-9999
@@ -1,14 +1,14 @@
-DEFINED_PHASES=compile configure info install postinst prepare setup test unpack
-DEPEND=cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] llvm? ( sys-devel/arc-llvm:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] llvm? ( sys-devel/arc-llvm:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
 DESCRIPTION=OpenGL-like graphic library for Linux
 EAPI=6
 HOMEPAGE=http://mesa3d.sourceforge.net/
-IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_powervr video_cards_r128 video_cards_savage video_cards_sis video_cards_vmware video_cards_tdfx video_cards_via video_cards_freedreno video_cards_virgl video_cards_mediatek android_aep -android_gles2 -android_gles30 +android_gles31 -android_gles32 -android_vulkan_compute_0 -swvulkan +cheets classic debug dri +egl +gallium -gbm +gles1 +gles2 -llvm +nptl pic selinux +shared-glapi -vulkan -X xlib-glx cheets_user cheets_user_64 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_ arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
+IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_powervr video_cards_r128 video_cards_savage video_cards_sis video_cards_vmware video_cards_tdfx video_cards_via video_cards_freedreno video_cards_virgl video_cards_mediatek video_cards_msm android_aep -android_gles2 -android_gles30 +android_gles31 -android_gles32 -android_vulkan_compute_0 -angle -swvulkan +cheets classic debug dri +egl +gallium -gbm +gles1 +gles2 -llvm +nptl pic selinux +shared-glapi -vulkan -X xlib-glx cheets_user cheets_user_64 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_ arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=MIT LGPL-3 SGI-B-2.0
 PROPERTIES=live
 RDEPEND=cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] llvm? ( sys-devel/arc-llvm:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) )
-REQUIRED_USE=^^ ( android_gles2 android_gles30 android_gles31 android_gles32 ) android_aep? ( !android_gles2 !android_gles30 ) android_vulkan_compute_0? ( vulkan ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
+REQUIRED_USE=^^ ( android_gles2 android_gles30 android_gles31 android_gles32 ) android_aep? ( !android_gles2 !android_gles30 ) angle? ( vulkan !egl ) android_vulkan_compute_0? ( vulkan ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
 SLOT=0
-_eclasses_=arc-build	b81e284348e452b00e55bc049a3fb873	arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=a0517427aaed291144dbc1b51858a13d
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=cdc792891e9fc20ad03b57a993b1a889
diff --git a/metadata/md5-cache/media-libs/arcvm-mesa-freedreno-22.3.0_pre-r4 b/metadata/md5-cache/media-libs/arcvm-mesa-freedreno-22.3.0_pre-r4
new file mode 100644
index 0000000..b62b355
--- /dev/null
+++ b/metadata/md5-cache/media-libs/arcvm-mesa-freedreno-22.3.0_pre-r4
@@ -0,0 +1,15 @@
+BDEPEND=>=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+DESCRIPTION=OpenGL-like graphic library for Linux
+EAPI=7
+HOMEPAGE=http://mesa3d.sourceforge.net/
+IUSE=cheets cheets_user cheets_user_64 debug selinux vulkan android_vulkan_compute_0 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_a3e5ce4259de770713970232d0b5a43edc478a83 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
+KEYWORDS=*
+LICENSE=MIT LGPL-3 SGI-B-2.0
+PROPERTIES=live
+RDEPEND=cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
+REQUIRED_USE=cheets android_vulkan_compute_0? ( vulkan ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
+SLOT=0
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ad3057a0f81f233055c049ebd8dd7cad
diff --git a/metadata/md5-cache/media-libs/arcvm-mesa-freedreno-9999 b/metadata/md5-cache/media-libs/arcvm-mesa-freedreno-9999
new file mode 100644
index 0000000..9983a9d
--- /dev/null
+++ b/metadata/md5-cache/media-libs/arcvm-mesa-freedreno-9999
@@ -0,0 +1,15 @@
+BDEPEND=>=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+DESCRIPTION=OpenGL-like graphic library for Linux
+EAPI=7
+HOMEPAGE=http://mesa3d.sourceforge.net/
+IUSE=cheets cheets_user cheets_user_64 debug selinux vulkan android_vulkan_compute_0 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_ arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
+KEYWORDS=~*
+LICENSE=MIT LGPL-3 SGI-B-2.0
+PROPERTIES=live
+RDEPEND=cheets? ( >=x11-libs/arc-libdrm-2.4.82[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
+REQUIRED_USE=cheets android_vulkan_compute_0? ( vulkan ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
+SLOT=0
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=bbd391b7dc857008a2f14b891ff59f10
diff --git a/metadata/md5-cache/media-libs/clvk-0.0.1 b/metadata/md5-cache/media-libs/clvk-0.0.1
index 5124358..a229102 100644
--- a/metadata/md5-cache/media-libs/clvk-0.0.1
+++ b/metadata/md5-cache/media-libs/clvk-0.0.1
@@ -1,15 +1,15 @@
 BDEPEND=>=dev-util/cmake-3.13.4 dev-util/ninja >=dev-util/cmake-3.9.6 dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=>=dev-util/vulkan-headers-1.2.162 >=dev-util/opencl-headers-2021.04.29 >=dev-util/spirv-tools-2020.6 dev-util/spirv-headers
+DEPEND=>=dev-util/vulkan-headers-1.3.211 >=dev-util/opencl-headers-2021.04.29 >=dev-util/spirv-tools-1.3.211 >=dev-util/spirv-headers-1.3.211-r1
 DESCRIPTION=Prototype implementation of OpenCL 1.2 on to of Vulkan using clspv as the Compiler
 EAPI=7
 HOMEPAGE=https://github.com/kpet/clvk
-IUSE=debug cros_host cros_workon_tree_a64c0156eb61a51c3d17c14d0741ca27c742fda9_f99809bdab1710846633b4ec24f5448263e75da7
+IUSE=debug cros_host cros_workon_tree_ad6d1b71dc6b351928b6c9e9d4d826e39fe2ea44_c6e5827af039c20e44c6c0a1d9ee6dd89c251646
 KEYWORDS=*
 LICENSE=Apache-2.0
 PROPERTIES=live
-RDEPEND=>=dev-util/spirv-tools-2020.6 >=media-libs/vulkan-loader-1.2.162
+RDEPEND=>=dev-util/spirv-tools-1.3.211 >=media-libs/vulkan-loader-1.3.211
 SLOT=0
-SRC_URI=https://storage.cloud.google.com/chromeos-localmirror/distfiles/llvm-project-d7630b37ceb8d7032f133e0257724997e4cc76ec.zip
-_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=323d75476b233413574811cdfa125099
+SRC_URI=https://storage.cloud.google.com/chromeos-localmirror/distfiles/llvm-project-88b9d1a49aba54171804da355f00c8fe0483f428.zip https://storage.cloud.google.com/chromeos-localmirror/distfiles/SPIRV-LLVM-Translator-a836197d52aced43f49b7f9a2386424ce734acba.zip
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=4ca81ec8a520661b5933bed2f33470f3
diff --git a/metadata/md5-cache/media-libs/clvk-0.0.1-r15 b/metadata/md5-cache/media-libs/clvk-0.0.1-r15
new file mode 100644
index 0000000..a229102
--- /dev/null
+++ b/metadata/md5-cache/media-libs/clvk-0.0.1-r15
@@ -0,0 +1,15 @@
+BDEPEND=>=dev-util/cmake-3.13.4 dev-util/ninja >=dev-util/cmake-3.9.6 dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=>=dev-util/vulkan-headers-1.3.211 >=dev-util/opencl-headers-2021.04.29 >=dev-util/spirv-tools-1.3.211 >=dev-util/spirv-headers-1.3.211-r1
+DESCRIPTION=Prototype implementation of OpenCL 1.2 on to of Vulkan using clspv as the Compiler
+EAPI=7
+HOMEPAGE=https://github.com/kpet/clvk
+IUSE=debug cros_host cros_workon_tree_ad6d1b71dc6b351928b6c9e9d4d826e39fe2ea44_c6e5827af039c20e44c6c0a1d9ee6dd89c251646
+KEYWORDS=*
+LICENSE=Apache-2.0
+PROPERTIES=live
+RDEPEND=>=dev-util/spirv-tools-1.3.211 >=media-libs/vulkan-loader-1.3.211
+SLOT=0
+SRC_URI=https://storage.cloud.google.com/chromeos-localmirror/distfiles/llvm-project-88b9d1a49aba54171804da355f00c8fe0483f428.zip https://storage.cloud.google.com/chromeos-localmirror/distfiles/SPIRV-LLVM-Translator-a836197d52aced43f49b7f9a2386424ce734acba.zip
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=4ca81ec8a520661b5933bed2f33470f3
diff --git a/metadata/md5-cache/media-libs/clvk-0.0.1-r4 b/metadata/md5-cache/media-libs/clvk-0.0.1-r4
deleted file mode 100644
index 5124358..0000000
--- a/metadata/md5-cache/media-libs/clvk-0.0.1-r4
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=>=dev-util/cmake-3.13.4 dev-util/ninja >=dev-util/cmake-3.9.6 dev-vcs/git
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=>=dev-util/vulkan-headers-1.2.162 >=dev-util/opencl-headers-2021.04.29 >=dev-util/spirv-tools-2020.6 dev-util/spirv-headers
-DESCRIPTION=Prototype implementation of OpenCL 1.2 on to of Vulkan using clspv as the Compiler
-EAPI=7
-HOMEPAGE=https://github.com/kpet/clvk
-IUSE=debug cros_host cros_workon_tree_a64c0156eb61a51c3d17c14d0741ca27c742fda9_f99809bdab1710846633b4ec24f5448263e75da7
-KEYWORDS=*
-LICENSE=Apache-2.0
-PROPERTIES=live
-RDEPEND=>=dev-util/spirv-tools-2020.6 >=media-libs/vulkan-loader-1.2.162
-SLOT=0
-SRC_URI=https://storage.cloud.google.com/chromeos-localmirror/distfiles/llvm-project-d7630b37ceb8d7032f133e0257724997e4cc76ec.zip
-_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=323d75476b233413574811cdfa125099
diff --git a/metadata/md5-cache/media-libs/clvk-9999 b/metadata/md5-cache/media-libs/clvk-9999
index 7b6ffbd..ecd4aa8 100644
--- a/metadata/md5-cache/media-libs/clvk-9999
+++ b/metadata/md5-cache/media-libs/clvk-9999
@@ -1,6 +1,6 @@
 BDEPEND=>=dev-util/cmake-3.13.4 dev-util/ninja >=dev-util/cmake-3.9.6 dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=>=dev-util/vulkan-headers-1.2.162 >=dev-util/opencl-headers-2021.04.29 >=dev-util/spirv-tools-2020.6 dev-util/spirv-headers
+DEPEND=>=dev-util/vulkan-headers-1.3.211 >=dev-util/opencl-headers-2021.04.29 >=dev-util/spirv-tools-1.3.211 >=dev-util/spirv-headers-1.3.211-r1
 DESCRIPTION=Prototype implementation of OpenCL 1.2 on to of Vulkan using clspv as the Compiler
 EAPI=7
 HOMEPAGE=https://github.com/kpet/clvk
@@ -8,8 +8,8 @@
 KEYWORDS=~*
 LICENSE=Apache-2.0
 PROPERTIES=live
-RDEPEND=>=dev-util/spirv-tools-2020.6 >=media-libs/vulkan-loader-1.2.162
+RDEPEND=>=dev-util/spirv-tools-1.3.211 >=media-libs/vulkan-loader-1.3.211
 SLOT=0
-SRC_URI=https://storage.cloud.google.com/chromeos-localmirror/distfiles/llvm-project-d7630b37ceb8d7032f133e0257724997e4cc76ec.zip
-_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=1af0d31ea005eaad1eb2429ff4ca5fbd
+SRC_URI=https://storage.cloud.google.com/chromeos-localmirror/distfiles/llvm-project-88b9d1a49aba54171804da355f00c8fe0483f428.zip https://storage.cloud.google.com/chromeos-localmirror/distfiles/SPIRV-LLVM-Translator-a836197d52aced43f49b7f9a2386424ce734acba.zip
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=b0750c472463c27e1e5d4929b45b6ba4
diff --git a/metadata/md5-cache/media-libs/clvk-test-0.0.1 b/metadata/md5-cache/media-libs/clvk-test-0.0.1
index 50591f2..6c15a09 100644
--- a/metadata/md5-cache/media-libs/clvk-test-0.0.1
+++ b/metadata/md5-cache/media-libs/clvk-test-0.0.1
@@ -4,11 +4,11 @@
 DESCRIPTION=Prototype implementation of OpenCL 1.2 on to of Vulkan using clspv as the Compiler
 EAPI=7
 HOMEPAGE=https://github.com/kpet/clvk-test
-IUSE=debug cros_host cros_workon_tree_a64c0156eb61a51c3d17c14d0741ca27c742fda9
+IUSE=debug cros_host cros_workon_tree_ad6d1b71dc6b351928b6c9e9d4d826e39fe2ea44
 KEYWORDS=*
 LICENSE=Apache-2.0
 PROPERTIES=live
-RDEPEND=>=dev-util/spirv-tools-2020.6 >=media-libs/vulkan-loader-1.2.162 >=media-libs/clvk-0.0.1
+RDEPEND=>=media-libs/clvk-0.0.1
 SLOT=0
-_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=437ca73c0997cb08849a224bc2b391d2
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=ebcb3164ea4d0705ff842adefff73482
diff --git a/metadata/md5-cache/media-libs/clvk-test-0.0.1-r3 b/metadata/md5-cache/media-libs/clvk-test-0.0.1-r3
deleted file mode 100644
index 50591f2..0000000
--- a/metadata/md5-cache/media-libs/clvk-test-0.0.1-r3
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=>=dev-util/cmake-3.13.4 dev-util/ninja >=dev-util/cmake-3.9.6 dev-vcs/git
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=>=dev-util/opencl-headers-2021.04.29 >=media-libs/clvk-0.0.1 >=dev-cpp/gtest-1.10.0
-DESCRIPTION=Prototype implementation of OpenCL 1.2 on to of Vulkan using clspv as the Compiler
-EAPI=7
-HOMEPAGE=https://github.com/kpet/clvk-test
-IUSE=debug cros_host cros_workon_tree_a64c0156eb61a51c3d17c14d0741ca27c742fda9
-KEYWORDS=*
-LICENSE=Apache-2.0
-PROPERTIES=live
-RDEPEND=>=dev-util/spirv-tools-2020.6 >=media-libs/vulkan-loader-1.2.162 >=media-libs/clvk-0.0.1
-SLOT=0
-_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=437ca73c0997cb08849a224bc2b391d2
diff --git a/metadata/md5-cache/media-libs/clvk-test-0.0.1-r9 b/metadata/md5-cache/media-libs/clvk-test-0.0.1-r9
new file mode 100644
index 0000000..6c15a09
--- /dev/null
+++ b/metadata/md5-cache/media-libs/clvk-test-0.0.1-r9
@@ -0,0 +1,14 @@
+BDEPEND=>=dev-util/cmake-3.13.4 dev-util/ninja >=dev-util/cmake-3.9.6 dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=>=dev-util/opencl-headers-2021.04.29 >=media-libs/clvk-0.0.1 >=dev-cpp/gtest-1.10.0
+DESCRIPTION=Prototype implementation of OpenCL 1.2 on to of Vulkan using clspv as the Compiler
+EAPI=7
+HOMEPAGE=https://github.com/kpet/clvk-test
+IUSE=debug cros_host cros_workon_tree_ad6d1b71dc6b351928b6c9e9d4d826e39fe2ea44
+KEYWORDS=*
+LICENSE=Apache-2.0
+PROPERTIES=live
+RDEPEND=>=media-libs/clvk-0.0.1
+SLOT=0
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=ebcb3164ea4d0705ff842adefff73482
diff --git a/metadata/md5-cache/media-libs/clvk-test-9999 b/metadata/md5-cache/media-libs/clvk-test-9999
index 066bbab..a61685e 100644
--- a/metadata/md5-cache/media-libs/clvk-test-9999
+++ b/metadata/md5-cache/media-libs/clvk-test-9999
@@ -8,7 +8,7 @@
 KEYWORDS=~*
 LICENSE=Apache-2.0
 PROPERTIES=live
-RDEPEND=>=dev-util/spirv-tools-2020.6 >=media-libs/vulkan-loader-1.2.162 >=media-libs/clvk-0.0.1
+RDEPEND=>=media-libs/clvk-0.0.1
 SLOT=0
-_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=7172ae3e1d3dc151e99ec96a82050c93
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=940166bd2b3c10f7cfbcc9e46ce28aeb
diff --git a/metadata/md5-cache/media-libs/cros-camera-auto-framing-tests-0.0.1-r10 b/metadata/md5-cache/media-libs/cros-camera-auto-framing-tests-0.0.1-r10
new file mode 100644
index 0000000..40118fc
--- /dev/null
+++ b/metadata/md5-cache/media-libs/cros-camera-auto-framing-tests-0.0.1-r10
@@ -0,0 +1,13 @@
+BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/cros-camera-android-deps:= dev-cpp/gtest:= media-libs/cros-camera-libfs:= media-libs/libexif:= media-libs/libsync:= media-libs/minigbm:= virtual/opengles:= x11-libs/libdrm:= chromeos-base/metrics:= media-libs/libyuv:= x11-drivers/opengles-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=ChromeOS Camera Auto-framing feature tests
+EAPI=7
+IUSE=camera_feature_auto_framing camera_feature_face_detection cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_f481c437e0dbbacc4832a55dfc3fda4c078162b2_2b7909959649540a63997338914ec45cf9c7d07c_29d52c6d2464057e3fde8214a173f96d96f3b267_7093536475612fadc6a0afe16b8f5f4f4251e4c2_aae8bf048bbe1147ff2aa47f59de29bad1b6355d_527abd7a988a45572305a6c44b5324d0d9cf8be2_60fa47aebd6ebfb702012849bd560717fceddcd4_8a9ef8758fbc933dbbb61914e0a924d6fd9626f6_6c730fa6bc9c00d204b80c4944f1951b8f35a48e cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_f481c437e0dbbacc4832a55dfc3fda4c078162b2_2b7909959649540a63997338914ec45cf9c7d07c_29d52c6d2464057e3fde8214a173f96d96f3b267_7093536475612fadc6a0afe16b8f5f4f4251e4c2_aae8bf048bbe1147ff2aa47f59de29bad1b6355d_527abd7a988a45572305a6c44b5324d0d9cf8be2_60fa47aebd6ebfb702012849bd560717fceddcd4_8a9ef8758fbc933dbbb61914e0a924d6fd9626f6_6c730fa6bc9c00d204b80c4944f1951b8f35a48e cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/cros-camera-android-deps:= dev-cpp/gtest:= media-libs/cros-camera-libfs:= media-libs/libexif:= media-libs/libsync:= media-libs/minigbm:= virtual/opengles:= x11-libs/libdrm:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r10
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d0a4b58e29bef870d32d2068ebd01dea
diff --git a/metadata/md5-cache/media-libs/cros-camera-auto-framing-tests-9999 b/metadata/md5-cache/media-libs/cros-camera-auto-framing-tests-9999
new file mode 100644
index 0000000..c1416c6
--- /dev/null
+++ b/metadata/md5-cache/media-libs/cros-camera-auto-framing-tests-9999
@@ -0,0 +1,13 @@
+BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/cros-camera-android-deps:= dev-cpp/gtest:= media-libs/cros-camera-libfs:= media-libs/libexif:= media-libs/libsync:= media-libs/minigbm:= virtual/opengles:= x11-libs/libdrm:= chromeos-base/metrics:= media-libs/libyuv:= x11-drivers/opengles-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=ChromeOS Camera Auto-framing feature tests
+EAPI=7
+IUSE=camera_feature_auto_framing camera_feature_face_detection cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/chromeos-config-tools:= chromeos-base/cros-camera-android-deps:= dev-cpp/gtest:= media-libs/cros-camera-libfs:= media-libs/libexif:= media-libs/libsync:= media-libs/minigbm:= virtual/opengles:= x11-libs/libdrm:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/9999
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dfd4bc73206ec88d5aedc6def515281b
diff --git a/metadata/md5-cache/media-libs/cros-camera-connector-client-0.0.1-r390 b/metadata/md5-cache/media-libs/cros-camera-connector-client-0.0.1-r390
deleted file mode 100644
index 04f5188..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-connector-client-0.0.1-r390
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/cros-camera-libs x11-libs/libdrm >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=A simple package that exercises cros-camera-libcamera_connector
-EAPI=7
-IUSE=cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_318ca9f48604274cd31481e13eb9321be3d94d8f_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_080361d5d45e74e7927e56bab774531748d1a569_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_318ca9f48604274cd31481e13eb9321be3d94d8f_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_080361d5d45e74e7927e56bab774531748d1a569_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/cros-camera-libs >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r390
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=224280149dd7c33c993222fbd3c599ce
diff --git a/metadata/md5-cache/media-libs/cros-camera-connector-client-0.0.1-r489 b/metadata/md5-cache/media-libs/cros-camera-connector-client-0.0.1-r489
new file mode 100644
index 0000000..b86c38f
--- /dev/null
+++ b/metadata/md5-cache/media-libs/cros-camera-connector-client-0.0.1-r489
@@ -0,0 +1,14 @@
+BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/cros-camera-libs x11-libs/libdrm >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=A simple package that exercises cros-camera-libcamera_connector
+EAPI=7
+IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_318ca9f48604274cd31481e13eb9321be3d94d8f_7093536475612fadc6a0afe16b8f5f4f4251e4c2_2b7909959649540a63997338914ec45cf9c7d07c_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_318ca9f48604274cd31481e13eb9321be3d94d8f_7093536475612fadc6a0afe16b8f5f4f4251e4c2_2b7909959649540a63997338914ec45cf9c7d07c_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/cros-camera-libs >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
+SLOT=0/0.0.1-r489
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=fb4dc39b8bc8f916dc1271f855f63975
diff --git a/metadata/md5-cache/media-libs/cros-camera-connector-client-9999 b/metadata/md5-cache/media-libs/cros-camera-connector-client-9999
index dff302c..afa292d 100644
--- a/metadata/md5-cache/media-libs/cros-camera-connector-client-9999
+++ b/metadata/md5-cache/media-libs/cros-camera-connector-client-9999
@@ -1,13 +1,14 @@
 BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/cros-camera-libs x11-libs/libdrm >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/cros-camera-libs x11-libs/libdrm >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=A simple package that exercises cros-camera-libcamera_connector
 EAPI=7
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/cros-camera-libs >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
 SLOT=0/9999
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=7515ce089787e1e1762f67d96627b0da
diff --git a/metadata/md5-cache/media-libs/cros-camera-document-scanner-dlc-2022.08.05 b/metadata/md5-cache/media-libs/cros-camera-document-scanner-dlc-2022.08.05
new file mode 100644
index 0000000..951a76a
--- /dev/null
+++ b/metadata/md5-cache/media-libs/cros-camera-document-scanner-dlc-2022.08.05
@@ -0,0 +1,11 @@
+DEFINED_PHASES=install
+DESCRIPTION=Package for document scanner library as a DLC
+EAPI=7
+IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1
+KEYWORDS=*
+LICENSE=BSD-Google
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
+SLOT=0
+SRC_URI=gs://chromeos-localmirror/distfiles/chromeos-document-scanning-lib-2022.08.05.tar.bz2
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=246eff3d4af7417dfad04742193adfde
diff --git a/metadata/md5-cache/media-libs/cros-camera-document-scanner-dlc-2022.08.05-r1 b/metadata/md5-cache/media-libs/cros-camera-document-scanner-dlc-2022.08.05-r1
new file mode 100644
index 0000000..951a76a
--- /dev/null
+++ b/metadata/md5-cache/media-libs/cros-camera-document-scanner-dlc-2022.08.05-r1
@@ -0,0 +1,11 @@
+DEFINED_PHASES=install
+DESCRIPTION=Package for document scanner library as a DLC
+EAPI=7
+IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1
+KEYWORDS=*
+LICENSE=BSD-Google
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
+SLOT=0
+SRC_URI=gs://chromeos-localmirror/distfiles/chromeos-document-scanning-lib-2022.08.05.tar.bz2
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=246eff3d4af7417dfad04742193adfde
diff --git a/metadata/md5-cache/media-libs/cros-camera-document-scanning-2021.11.10 b/metadata/md5-cache/media-libs/cros-camera-document-scanning-2021.11.10
deleted file mode 100644
index 3cefc76..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-document-scanning-2021.11.10
+++ /dev/null
@@ -1,9 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Google3 document scanning library.
-EAPI=7
-IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ondevice_document_scanner
-KEYWORDS=*
-LICENSE=BSD-Google
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/chromeos-document-scanning-lib-2021.11.10.tar.bz2
-_md5_=05bd5db93437374a40cc28f45152952d
diff --git a/metadata/md5-cache/media-libs/cros-camera-document-scanning-2021.11.10-r1 b/metadata/md5-cache/media-libs/cros-camera-document-scanning-2021.11.10-r1
deleted file mode 100644
index 3cefc76..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-document-scanning-2021.11.10-r1
+++ /dev/null
@@ -1,9 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Google3 document scanning library.
-EAPI=7
-IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ondevice_document_scanner
-KEYWORDS=*
-LICENSE=BSD-Google
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/chromeos-document-scanning-lib-2021.11.10.tar.bz2
-_md5_=05bd5db93437374a40cc28f45152952d
diff --git a/metadata/md5-cache/media-libs/cros-camera-document-scanning-test-0.0.1-r110 b/metadata/md5-cache/media-libs/cros-camera-document-scanning-test-0.0.1-r110
new file mode 100644
index 0000000..6ca9fd7
--- /dev/null
+++ b/metadata/md5-cache/media-libs/cros-camera-document-scanning-test-0.0.1-r110
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/libbrillo:= dev-cpp/gtest:= media-libs/cros-camera-libfs:= virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS camera Document Scanning test.
+EAPI=7
+IUSE=cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7627e6797f3edbcec56c490a77967a4d416ccf15_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7627e6797f3edbcec56c490a77967a4d416ccf15_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/libbrillo:= dev-cpp/gtest:= media-libs/cros-camera-libfs:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b06b194a9ef7af7b4105e02df8861e98
diff --git a/metadata/md5-cache/media-libs/cros-camera-document-scanning-test-0.0.1-r49 b/metadata/md5-cache/media-libs/cros-camera-document-scanning-test-0.0.1-r49
deleted file mode 100644
index 2a41434..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-document-scanning-test-0.0.1-r49
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libbrillo:= dev-cpp/gtest:= media-libs/cros-camera-document-scanning:= virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS camera Document Scanning test.
-EAPI=7
-IUSE=cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_80bb65ab125f7aaa2eddb0f06313cba045f954c6_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_80bb65ab125f7aaa2eddb0f06313cba045f954c6_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/libbrillo:= dev-cpp/gtest:= media-libs/cros-camera-document-scanning:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0d55e0d9f1314ba276bb24cca4fe451f
diff --git a/metadata/md5-cache/media-libs/cros-camera-document-scanning-test-9999 b/metadata/md5-cache/media-libs/cros-camera-document-scanning-test-9999
index 8bd7a15..8d3997d 100644
--- a/metadata/md5-cache/media-libs/cros-camera-document-scanning-test-9999
+++ b/metadata/md5-cache/media-libs/cros-camera-document-scanning-test-9999
@@ -1,13 +1,13 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/libbrillo:= dev-cpp/gtest:= media-libs/cros-camera-document-scanning:= virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/libbrillo:= dev-cpp/gtest:= media-libs/cros-camera-libfs:= virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS camera Document Scanning test.
 EAPI=7
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=chromeos-base/libbrillo:= dev-cpp/gtest:= media-libs/cros-camera-document-scanning:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+RDEPEND=chromeos-base/libbrillo:= dev-cpp/gtest:= media-libs/cros-camera-libfs:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=553c2f5a5cb9516cc727d395ca6ef18c
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0fd6a5c019cff8d0af83c8ab110b55a6
diff --git a/metadata/md5-cache/media-libs/cros-camera-effect-portrait-mode-2020.04.06 b/metadata/md5-cache/media-libs/cros-camera-effect-portrait-mode-2020.04.06
deleted file mode 100644
index d11e035..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-effect-portrait-mode-2020.04.06
+++ /dev/null
@@ -1,8 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Chrome OS camera portrait processor library
-EAPI=7
-KEYWORDS=*
-LICENSE=BSD-Google
-SLOT=0
-SRC_URI=amd64? ( gs://chromeos-localmirror/distfiles/portrait-processor-lib-x86_64-2020.04.06-unstripped.tbz2 ) arm? ( gs://chromeos-localmirror/distfiles/portrait-processor-lib-armv7-2020.04.06-unstripped.tbz2 )
-_md5_=c6ec90694aa4ab9170276636ab657e9f
diff --git a/metadata/md5-cache/media-libs/cros-camera-effect-portrait-mode-2020.04.06-r2 b/metadata/md5-cache/media-libs/cros-camera-effect-portrait-mode-2020.04.06-r2
deleted file mode 100644
index d11e035..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-effect-portrait-mode-2020.04.06-r2
+++ /dev/null
@@ -1,8 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Chrome OS camera portrait processor library
-EAPI=7
-KEYWORDS=*
-LICENSE=BSD-Google
-SLOT=0
-SRC_URI=amd64? ( gs://chromeos-localmirror/distfiles/portrait-processor-lib-x86_64-2020.04.06-unstripped.tbz2 ) arm? ( gs://chromeos-localmirror/distfiles/portrait-processor-lib-armv7-2020.04.06-unstripped.tbz2 )
-_md5_=c6ec90694aa4ab9170276636ab657e9f
diff --git a/metadata/md5-cache/media-libs/cros-camera-facessd-2021.10.27 b/metadata/md5-cache/media-libs/cros-camera-facessd-2021.10.27
deleted file mode 100644
index 3332685..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-facessd-2021.10.27
+++ /dev/null
@@ -1,9 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Google3 face detection library.
-EAPI=7
-IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1
-KEYWORDS=*
-LICENSE=BSD-Google
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/chromeos-facessd-lib-2021.10.27.tar.bz2
-_md5_=d5e8a34137fe98e98711e1a9d7569a4c
diff --git a/metadata/md5-cache/media-libs/cros-camera-facessd-2021.10.27-r1 b/metadata/md5-cache/media-libs/cros-camera-facessd-2021.10.27-r1
deleted file mode 100644
index 3332685..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-facessd-2021.10.27-r1
+++ /dev/null
@@ -1,9 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Google3 face detection library.
-EAPI=7
-IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1
-KEYWORDS=*
-LICENSE=BSD-Google
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/chromeos-facessd-lib-2021.10.27.tar.bz2
-_md5_=d5e8a34137fe98e98711e1a9d7569a4c
diff --git a/metadata/md5-cache/media-libs/cros-camera-gpu-test-0.0.1-r140 b/metadata/md5-cache/media-libs/cros-camera-gpu-test-0.0.1-r140
deleted file mode 100644
index 4c04aa1..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-gpu-test-0.0.1-r140
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/cros-camera-android-deps:= chromeos-base/cros-camera-libs:= dev-cpp/gtest:= virtual/opengles:= x11-drivers/opengles-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS camera GPU-related tests
-EAPI=7
-IUSE=cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_080361d5d45e74e7927e56bab774531748d1a569_8aea57128c1adc8ea0b845047ce01733cecaf5c1_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_080361d5d45e74e7927e56bab774531748d1a569_8aea57128c1adc8ea0b845047ce01733cecaf5c1_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/cros-camera-android-deps:= chromeos-base/cros-camera-libs:= dev-cpp/gtest:= virtual/opengles:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r140
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=02dab0674ab3979c3ed0c678fe15b82d
diff --git a/metadata/md5-cache/media-libs/cros-camera-gpu-test-0.0.1-r239 b/metadata/md5-cache/media-libs/cros-camera-gpu-test-0.0.1-r239
new file mode 100644
index 0000000..f9c28af
--- /dev/null
+++ b/metadata/md5-cache/media-libs/cros-camera-gpu-test-0.0.1-r239
@@ -0,0 +1,13 @@
+BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/cros-camera-android-deps:= chromeos-base/cros-camera-libs:= dev-cpp/gtest:= virtual/opengles:= x11-drivers/opengles-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS camera GPU-related tests
+EAPI=7
+IUSE=cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_2b7909959649540a63997338914ec45cf9c7d07c_29d52c6d2464057e3fde8214a173f96d96f3b267_7093536475612fadc6a0afe16b8f5f4f4251e4c2_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_2b7909959649540a63997338914ec45cf9c7d07c_29d52c6d2464057e3fde8214a173f96d96f3b267_7093536475612fadc6a0afe16b8f5f4f4251e4c2_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/cros-camera-android-deps:= chromeos-base/cros-camera-libs:= dev-cpp/gtest:= virtual/opengles:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r239
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5037ba65fb7a543335cd16d8b91bc6ef
diff --git a/metadata/md5-cache/media-libs/cros-camera-gpu-test-9999 b/metadata/md5-cache/media-libs/cros-camera-gpu-test-9999
index 605c1fe..f2646689 100644
--- a/metadata/md5-cache/media-libs/cros-camera-gpu-test-9999
+++ b/metadata/md5-cache/media-libs/cros-camera-gpu-test-9999
@@ -1,13 +1,13 @@
 BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/cros-camera-android-deps:= chromeos-base/cros-camera-libs:= dev-cpp/gtest:= virtual/opengles:= x11-drivers/opengles-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/cros-camera-android-deps:= chromeos-base/cros-camera-libs:= dev-cpp/gtest:= virtual/opengles:= x11-drivers/opengles-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS camera GPU-related tests
 EAPI=7
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/cros-camera-android-deps:= chromeos-base/cros-camera-libs:= dev-cpp/gtest:= virtual/opengles:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=5dd7e73bafb6a9e856320b4a0fc40a3c
diff --git a/metadata/md5-cache/media-libs/cros-camera-hal-intel-ipu6-0.0.2-r176 b/metadata/md5-cache/media-libs/cros-camera-hal-intel-ipu6-0.0.2-r176
deleted file mode 100644
index c08a205..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-hal-intel-ipu6-0.0.2-r176
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/chromeos-config-tools chromeos-base/cros-camera-libs chromeos-base/cros-camera-android-deps dev-libs/expat !ipu6se? ( !ipu6ep? ( media-libs/intel-ipu6-camera-bins ) ) ipu6se? ( media-libs/intel-ipu6se-camera-bins x11-libs/libva-intel-media-driver ) ipu6ep? ( media-libs/intel-ipu6ep-camera-bins ) !media-libs/cros-camera-hal-intel-ipu6-squash media-libs/libsync media-libs/libyuv sys-kernel/linux-headers virtual/jpeg:0 virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Intel IPU6 (Image Processing Unit) Chrome OS camera HAL
-EAPI=7
-IUSE=ipu6se ipu6ep cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_a625767bb59509159091f2ab0b71f8b9b4b2e353_aaada68c28c95ae27bdfc97f08c635bd67d6869a cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_a625767bb59509159091f2ab0b71f8b9b4b2e353_aaada68c28c95ae27bdfc97f08c635bd67d6869a cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=Apache-2.0
-PROPERTIES=live live
-RDEPEND=chromeos-base/chromeos-config-tools chromeos-base/cros-camera-libs chromeos-base/cros-camera-android-deps dev-libs/expat !ipu6se? ( !ipu6ep? ( media-libs/intel-ipu6-camera-bins ) ) ipu6se? ( media-libs/intel-ipu6se-camera-bins x11-libs/libva-intel-media-driver ) ipu6ep? ( media-libs/intel-ipu6ep-camera-bins ) !media-libs/cros-camera-hal-intel-ipu6-squash media-libs/libsync media-libs/libyuv >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
-_md5_=a61ccf0d49c99cd6bf3519abefa6df76
diff --git a/metadata/md5-cache/media-libs/cros-camera-hal-intel-ipu6-0.0.2-r245 b/metadata/md5-cache/media-libs/cros-camera-hal-intel-ipu6-0.0.2-r245
new file mode 100644
index 0000000..a2b818b
--- /dev/null
+++ b/metadata/md5-cache/media-libs/cros-camera-hal-intel-ipu6-0.0.2-r245
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/chromeos-config-tools chromeos-base/cros-camera-libs chromeos-base/cros-camera-android-deps dev-libs/expat !ipu6se? ( !ipu6ep? ( !ipu6epmtl? ( !ipu6epadln? ( media-libs/intel-ipu6-camera-bins ) ) ) ) ipu6se? ( media-libs/intel-ipu6se-camera-bins x11-libs/libva-intel-media-driver ) ipu6ep? ( media-libs/intel-ipu6ep-camera-bins ) ipu6epadln? ( media-libs/intel-ipu6epadln-camera-bins ) ipu6epmtl? ( media-libs/intel-ipu6epmtl-camera-bins ) !media-libs/cros-camera-hal-intel-ipu6-squash media-libs/libsync media-libs/libyuv sys-kernel/linux-headers virtual/jpeg:0 virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Intel IPU6 (Image Processing Unit) Chrome OS camera HAL
+EAPI=7
+IUSE=ipu6se ipu6ep ipu6epmtl ipu6epadln march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_60fa47aebd6ebfb702012849bd560717fceddcd4_47aba8606dfa27f4b75305cae2a7a23857ccec2d cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_60fa47aebd6ebfb702012849bd560717fceddcd4_47aba8606dfa27f4b75305cae2a7a23857ccec2d cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=Apache-2.0
+PROPERTIES=live live
+RDEPEND=chromeos-base/chromeos-config-tools chromeos-base/cros-camera-libs chromeos-base/cros-camera-android-deps dev-libs/expat !ipu6se? ( !ipu6ep? ( !ipu6epmtl? ( !ipu6epadln? ( media-libs/intel-ipu6-camera-bins ) ) ) ) ipu6se? ( media-libs/intel-ipu6se-camera-bins x11-libs/libva-intel-media-driver ) ipu6ep? ( media-libs/intel-ipu6ep-camera-bins ) ipu6epadln? ( media-libs/intel-ipu6epadln-camera-bins ) ipu6epmtl? ( media-libs/intel-ipu6epmtl-camera-bins ) !media-libs/cros-camera-hal-intel-ipu6-squash media-libs/libsync media-libs/libyuv >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
+SLOT=0
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
+_md5_=5d9ab7f185b96c2f7b5d12035f816dbd
diff --git a/metadata/md5-cache/media-libs/cros-camera-hal-intel-ipu6-9999 b/metadata/md5-cache/media-libs/cros-camera-hal-intel-ipu6-9999
index 75bddbf..73b43d3 100644
--- a/metadata/md5-cache/media-libs/cros-camera-hal-intel-ipu6-9999
+++ b/metadata/md5-cache/media-libs/cros-camera-hal-intel-ipu6-9999
@@ -1,13 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/chromeos-config-tools chromeos-base/cros-camera-libs chromeos-base/cros-camera-android-deps dev-libs/expat !ipu6se? ( !ipu6ep? ( media-libs/intel-ipu6-camera-bins ) ) ipu6se? ( media-libs/intel-ipu6se-camera-bins x11-libs/libva-intel-media-driver ) ipu6ep? ( media-libs/intel-ipu6ep-camera-bins ) !media-libs/cros-camera-hal-intel-ipu6-squash media-libs/libsync media-libs/libyuv sys-kernel/linux-headers virtual/jpeg:0 virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/chromeos-config-tools chromeos-base/cros-camera-libs chromeos-base/cros-camera-android-deps dev-libs/expat !ipu6se? ( !ipu6ep? ( !ipu6epmtl? ( !ipu6epadln? ( media-libs/intel-ipu6-camera-bins ) ) ) ) ipu6se? ( media-libs/intel-ipu6se-camera-bins x11-libs/libva-intel-media-driver ) ipu6ep? ( media-libs/intel-ipu6ep-camera-bins ) ipu6epadln? ( media-libs/intel-ipu6epadln-camera-bins ) ipu6epmtl? ( media-libs/intel-ipu6epmtl-camera-bins ) !media-libs/cros-camera-hal-intel-ipu6-squash media-libs/libsync media-libs/libyuv sys-kernel/linux-headers virtual/jpeg:0 virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Intel IPU6 (Image Processing Unit) Chrome OS camera HAL
 EAPI=7
-IUSE=ipu6se ipu6ep cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=ipu6se ipu6ep ipu6epmtl ipu6epadln march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=Apache-2.0
 PROPERTIES=live live
-RDEPEND=chromeos-base/chromeos-config-tools chromeos-base/cros-camera-libs chromeos-base/cros-camera-android-deps dev-libs/expat !ipu6se? ( !ipu6ep? ( media-libs/intel-ipu6-camera-bins ) ) ipu6se? ( media-libs/intel-ipu6se-camera-bins x11-libs/libva-intel-media-driver ) ipu6ep? ( media-libs/intel-ipu6ep-camera-bins ) !media-libs/cros-camera-hal-intel-ipu6-squash media-libs/libsync media-libs/libyuv >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+RDEPEND=chromeos-base/chromeos-config-tools chromeos-base/cros-camera-libs chromeos-base/cros-camera-android-deps dev-libs/expat !ipu6se? ( !ipu6ep? ( !ipu6epmtl? ( !ipu6epadln? ( media-libs/intel-ipu6-camera-bins ) ) ) ) ipu6se? ( media-libs/intel-ipu6se-camera-bins x11-libs/libva-intel-media-driver ) ipu6ep? ( media-libs/intel-ipu6ep-camera-bins ) ipu6epadln? ( media-libs/intel-ipu6epadln-camera-bins ) ipu6epmtl? ( media-libs/intel-ipu6epmtl-camera-bins ) !media-libs/cros-camera-hal-intel-ipu6-squash media-libs/libsync media-libs/libyuv >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
 SLOT=0
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
-_md5_=67af6d5945c3ba8346f8218623ccfebb
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
+_md5_=d7d5106776602ff871f8e0362ddfafbd
diff --git a/metadata/md5-cache/media-libs/cros-camera-hal-ip-0.0.1-r665 b/metadata/md5-cache/media-libs/cros-camera-hal-ip-0.0.1-r665
deleted file mode 100644
index abd5c03..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-hal-ip-0.0.1-r665
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/chromeos-config-tools chromeos-base/cros-camera-android-deps chromeos-base/cros-camera-libs media-libs/libsync virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS IP camera HAL v3.
-EAPI=5
-IUSE=cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_12c17125945225da59b1bd19199cfc6006f0bdf8_aae9573ddce70ef8c8cfb47800c806eb8a703aa4_080361d5d45e74e7927e56bab774531748d1a569_17c0af603db6e69e7d5b07fe21738237ebe29f3f_bea140d13f7cf1092e4c89a45011c04c28327972_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_12c17125945225da59b1bd19199cfc6006f0bdf8_aae9573ddce70ef8c8cfb47800c806eb8a703aa4_080361d5d45e74e7927e56bab774531748d1a569_17c0af603db6e69e7d5b07fe21738237ebe29f3f_bea140d13f7cf1092e4c89a45011c04c28327972_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/chromeos-config-tools chromeos-base/cros-camera-android-deps chromeos-base/cros-camera-libs media-libs/libsync >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=a43024daecbf57fec8016eb193bbd38a
diff --git a/metadata/md5-cache/media-libs/cros-camera-hal-ip-0.0.1-r817 b/metadata/md5-cache/media-libs/cros-camera-hal-ip-0.0.1-r817
new file mode 100644
index 0000000..1ab4acf
--- /dev/null
+++ b/metadata/md5-cache/media-libs/cros-camera-hal-ip-0.0.1-r817
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/chromeos-config-tools chromeos-base/cros-camera-android-deps chromeos-base/cros-camera-libs media-libs/libsync virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS IP camera HAL v3.
+EAPI=5
+IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7093536475612fadc6a0afe16b8f5f4f4251e4c2_9ff7c0ea2761e1863475bcd96a983e5e18089f57_66167969f21d9a7bd20fc7fd2e582ad849d7d8eb_2b7909959649540a63997338914ec45cf9c7d07c_aae8bf048bbe1147ff2aa47f59de29bad1b6355d_527abd7a988a45572305a6c44b5324d0d9cf8be2_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7093536475612fadc6a0afe16b8f5f4f4251e4c2_9ff7c0ea2761e1863475bcd96a983e5e18089f57_66167969f21d9a7bd20fc7fd2e582ad849d7d8eb_2b7909959649540a63997338914ec45cf9c7d07c_aae8bf048bbe1147ff2aa47f59de29bad1b6355d_527abd7a988a45572305a6c44b5324d0d9cf8be2_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/chromeos-config-tools chromeos-base/cros-camera-android-deps chromeos-base/cros-camera-libs media-libs/libsync >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
+SLOT=0
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=721a1731c633f5ed50bbf6aaf98321e7
diff --git a/metadata/md5-cache/media-libs/cros-camera-hal-ip-9999 b/metadata/md5-cache/media-libs/cros-camera-hal-ip-9999
index 1990ac6..a20cc33 100644
--- a/metadata/md5-cache/media-libs/cros-camera-hal-ip-9999
+++ b/metadata/md5-cache/media-libs/cros-camera-hal-ip-9999
@@ -1,12 +1,13 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/chromeos-config-tools chromeos-base/cros-camera-android-deps chromeos-base/cros-camera-libs media-libs/libsync virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/chromeos-config-tools chromeos-base/cros-camera-android-deps chromeos-base/cros-camera-libs media-libs/libsync virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS IP camera HAL v3.
 EAPI=5
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/chromeos-config-tools chromeos-base/cros-camera-android-deps chromeos-base/cros-camera-libs media-libs/libsync >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
 SLOT=0
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=4dad28e634ff952ffbac9723da791175
diff --git a/metadata/md5-cache/media-libs/cros-camera-hal-usb-0.0.1-r1104 b/metadata/md5-cache/media-libs/cros-camera-hal-usb-0.0.1-r1104
deleted file mode 100644
index 838dedc..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-hal-usb-0.0.1-r1104
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/cros-camera-android-deps chromeos-base/cros-camera-libs dev-libs/re2 media-libs/libsync media-libs/libyuv virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS USB camera HAL v3.
-EAPI=5
-IUSE=cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_aae9573ddce70ef8c8cfb47800c806eb8a703aa4_080361d5d45e74e7927e56bab774531748d1a569_17c0af603db6e69e7d5b07fe21738237ebe29f3f_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_aae9573ddce70ef8c8cfb47800c806eb8a703aa4_080361d5d45e74e7927e56bab774531748d1a569_17c0af603db6e69e7d5b07fe21738237ebe29f3f_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/cros-camera-android-deps chromeos-base/cros-camera-libs dev-libs/re2 media-libs/libsync >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=9f31c37f64d46b50314c6a5054d885b8
diff --git a/metadata/md5-cache/media-libs/cros-camera-hal-usb-0.0.1-r1212 b/metadata/md5-cache/media-libs/cros-camera-hal-usb-0.0.1-r1212
new file mode 100644
index 0000000..de6878e8
--- /dev/null
+++ b/metadata/md5-cache/media-libs/cros-camera-hal-usb-0.0.1-r1212
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/cros-camera-android-deps chromeos-base/cros-camera-libs dev-libs/re2 media-libs/libsync media-libs/libyuv virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS USB camera HAL v3.
+EAPI=5
+IUSE=asan march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7093536475612fadc6a0afe16b8f5f4f4251e4c2_66167969f21d9a7bd20fc7fd2e582ad849d7d8eb_2b7909959649540a63997338914ec45cf9c7d07c_aae8bf048bbe1147ff2aa47f59de29bad1b6355d_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7093536475612fadc6a0afe16b8f5f4f4251e4c2_66167969f21d9a7bd20fc7fd2e582ad849d7d8eb_2b7909959649540a63997338914ec45cf9c7d07c_aae8bf048bbe1147ff2aa47f59de29bad1b6355d_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/cros-camera-android-deps chromeos-base/cros-camera-libs dev-libs/re2 media-libs/libsync >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
+SLOT=0
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=6007f963b56fe0afed717ea9060a3b82
diff --git a/metadata/md5-cache/media-libs/cros-camera-hal-usb-9999 b/metadata/md5-cache/media-libs/cros-camera-hal-usb-9999
index a6da364..3646372 100644
--- a/metadata/md5-cache/media-libs/cros-camera-hal-usb-9999
+++ b/metadata/md5-cache/media-libs/cros-camera-hal-usb-9999
@@ -1,12 +1,13 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/cros-camera-android-deps chromeos-base/cros-camera-libs dev-libs/re2 media-libs/libsync media-libs/libyuv virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/cros-camera-android-deps chromeos-base/cros-camera-libs dev-libs/re2 media-libs/libsync media-libs/libyuv virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS USB camera HAL v3.
 EAPI=5
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=asan march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/cros-camera-android-deps chromeos-base/cros-camera-libs dev-libs/re2 media-libs/libsync >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
 SLOT=0
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=3a71c9e470297f851fc8b43877b07866
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=ad7a5bb5ce6f2bbd8cf03d6f0f9925b6
diff --git a/metadata/md5-cache/media-libs/cros-camera-hdrnet-tests-0.0.1-r195 b/metadata/md5-cache/media-libs/cros-camera-hdrnet-tests-0.0.1-r195
deleted file mode 100644
index 989b637..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-hdrnet-tests-0.0.1-r195
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/cros-camera-android-deps:= chromeos-base/cros-camera-libs:= dev-cpp/benchmark:= dev-cpp/gtest:= media-libs/cros-camera-libgcam:= virtual/opengles:= x11-drivers/opengles-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS camera HDRnet integration tests
-EAPI=7
-IUSE=ipu6 ipu6ep cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_cb410200827b0e0e8a13e27ee2d8beee28948361_080361d5d45e74e7927e56bab774531748d1a569_8aea57128c1adc8ea0b845047ce01733cecaf5c1_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_bea140d13f7cf1092e4c89a45011c04c28327972_a625767bb59509159091f2ab0b71f8b9b4b2e353_8a9ef8758fbc933dbbb61914e0a924d6fd9626f6 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_cb410200827b0e0e8a13e27ee2d8beee28948361_080361d5d45e74e7927e56bab774531748d1a569_8aea57128c1adc8ea0b845047ce01733cecaf5c1_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_bea140d13f7cf1092e4c89a45011c04c28327972_a625767bb59509159091f2ab0b71f8b9b4b2e353_8a9ef8758fbc933dbbb61914e0a924d6fd9626f6 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/cros-camera-android-deps:= chromeos-base/cros-camera-libs:= dev-cpp/benchmark:= dev-cpp/gtest:= media-libs/cros-camera-libgcam:= virtual/opengles:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r195
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5a375488b758cbfe9c80960ee4bf57b0
diff --git a/metadata/md5-cache/media-libs/cros-camera-hdrnet-tests-0.0.1-r353 b/metadata/md5-cache/media-libs/cros-camera-hdrnet-tests-0.0.1-r353
new file mode 100644
index 0000000..ef9ea44
--- /dev/null
+++ b/metadata/md5-cache/media-libs/cros-camera-hdrnet-tests-0.0.1-r353
@@ -0,0 +1,13 @@
+BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/cros-camera-android-deps:= chromeos-base/cros-camera-libs:= dev-cpp/benchmark:= dev-cpp/gtest:= media-libs/cros-camera-libfs:= virtual/opengles:= x11-drivers/opengles-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS camera HDRnet integration tests
+EAPI=7
+IUSE=ipu6 ipu6ep cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_f481c437e0dbbacc4832a55dfc3fda4c078162b2_2b7909959649540a63997338914ec45cf9c7d07c_29d52c6d2464057e3fde8214a173f96d96f3b267_7093536475612fadc6a0afe16b8f5f4f4251e4c2_aae8bf048bbe1147ff2aa47f59de29bad1b6355d_527abd7a988a45572305a6c44b5324d0d9cf8be2_60fa47aebd6ebfb702012849bd560717fceddcd4_8a9ef8758fbc933dbbb61914e0a924d6fd9626f6_6c730fa6bc9c00d204b80c4944f1951b8f35a48e cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_f481c437e0dbbacc4832a55dfc3fda4c078162b2_2b7909959649540a63997338914ec45cf9c7d07c_29d52c6d2464057e3fde8214a173f96d96f3b267_7093536475612fadc6a0afe16b8f5f4f4251e4c2_aae8bf048bbe1147ff2aa47f59de29bad1b6355d_527abd7a988a45572305a6c44b5324d0d9cf8be2_60fa47aebd6ebfb702012849bd560717fceddcd4_8a9ef8758fbc933dbbb61914e0a924d6fd9626f6_6c730fa6bc9c00d204b80c4944f1951b8f35a48e cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/cros-camera-android-deps:= chromeos-base/cros-camera-libs:= dev-cpp/benchmark:= dev-cpp/gtest:= media-libs/cros-camera-libfs:= virtual/opengles:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0/0.0.1-r353
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c3bbbce46f92ee9cf2481df72992b2f5
diff --git a/metadata/md5-cache/media-libs/cros-camera-hdrnet-tests-9999 b/metadata/md5-cache/media-libs/cros-camera-hdrnet-tests-9999
index 6fc7454..d8a5fea 100644
--- a/metadata/md5-cache/media-libs/cros-camera-hdrnet-tests-9999
+++ b/metadata/md5-cache/media-libs/cros-camera-hdrnet-tests-9999
@@ -1,13 +1,13 @@
 BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/cros-camera-android-deps:= chromeos-base/cros-camera-libs:= dev-cpp/benchmark:= dev-cpp/gtest:= media-libs/cros-camera-libgcam:= virtual/opengles:= x11-drivers/opengles-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/cros-camera-android-deps:= chromeos-base/cros-camera-libs:= dev-cpp/benchmark:= dev-cpp/gtest:= media-libs/cros-camera-libfs:= virtual/opengles:= x11-drivers/opengles-headers:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS camera HDRnet integration tests
 EAPI=7
-IUSE=ipu6 ipu6ep cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=ipu6 ipu6ep cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
-RDEPEND=chromeos-base/cros-camera-android-deps:= chromeos-base/cros-camera-libs:= dev-cpp/benchmark:= dev-cpp/gtest:= media-libs/cros-camera-libgcam:= virtual/opengles:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+RDEPEND=chromeos-base/cros-camera-android-deps:= chromeos-base/cros-camera-libs:= dev-cpp/benchmark:= dev-cpp/gtest:= media-libs/cros-camera-libfs:= virtual/opengles:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=18a324e64338cb93b14de3f0919d8a05
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4775e40465aa9205a4ffa0672a09f0ee
diff --git a/metadata/md5-cache/media-libs/cros-camera-libautoframing-2022.02.24 b/metadata/md5-cache/media-libs/cros-camera-libautoframing-2022.02.24
deleted file mode 100644
index b9e84d9..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-libautoframing-2022.02.24
+++ /dev/null
@@ -1,8 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Google3 auto-framing libraries for Chrome OS.
-EAPI=7
-KEYWORDS=-* amd64
-LICENSE=BSD-Google
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/chromeos-camera-libautoframing-2022.02.24.tbz2
-_md5_=62f27b437f687cda8b171f15992080d7
diff --git a/metadata/md5-cache/media-libs/cros-camera-libautoframing-2022.02.24-r1 b/metadata/md5-cache/media-libs/cros-camera-libautoframing-2022.02.24-r1
deleted file mode 100644
index b9e84d9..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-libautoframing-2022.02.24-r1
+++ /dev/null
@@ -1,8 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Google3 auto-framing libraries for Chrome OS.
-EAPI=7
-KEYWORDS=-* amd64
-LICENSE=BSD-Google
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/chromeos-camera-libautoframing-2022.02.24.tbz2
-_md5_=62f27b437f687cda8b171f15992080d7
diff --git a/metadata/md5-cache/media-libs/cros-camera-libcab-test-0.0.1-r691 b/metadata/md5-cache/media-libs/cros-camera-libcab-test-0.0.1-r691
deleted file mode 100644
index f48d71e..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-libcab-test-0.0.1-r691
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/cros-camera-libs dev-cpp/gtest:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Test for camera algorithm bridge library
-EAPI=5
-IUSE=cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_080361d5d45e74e7927e56bab774531748d1a569_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_080361d5d45e74e7927e56bab774531748d1a569_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/cros-camera-libs dev-cpp/gtest:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=6711a7085711678d302e0dd75ffcea6d
diff --git a/metadata/md5-cache/media-libs/cros-camera-libcab-test-0.0.1-r790 b/metadata/md5-cache/media-libs/cros-camera-libcab-test-0.0.1-r790
new file mode 100644
index 0000000..cd8b241
--- /dev/null
+++ b/metadata/md5-cache/media-libs/cros-camera-libcab-test-0.0.1-r790
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/cros-camera-libs dev-cpp/gtest:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Test for camera algorithm bridge library
+EAPI=5
+IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7093536475612fadc6a0afe16b8f5f4f4251e4c2_2b7909959649540a63997338914ec45cf9c7d07c_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7093536475612fadc6a0afe16b8f5f4f4251e4c2_2b7909959649540a63997338914ec45cf9c7d07c_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/cros-camera-libs dev-cpp/gtest:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
+SLOT=0
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=9e9960c1977d0b34e95500393d64f8f3
diff --git a/metadata/md5-cache/media-libs/cros-camera-libcab-test-9999 b/metadata/md5-cache/media-libs/cros-camera-libcab-test-9999
index bb581cf..c317b97 100644
--- a/metadata/md5-cache/media-libs/cros-camera-libcab-test-9999
+++ b/metadata/md5-cache/media-libs/cros-camera-libcab-test-9999
@@ -1,12 +1,13 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/cros-camera-libs dev-cpp/gtest:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/cros-camera-libs dev-cpp/gtest:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Test for camera algorithm bridge library
 EAPI=5
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/cros-camera-libs dev-cpp/gtest:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
 SLOT=0
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=c3e0999a6c5be76c6fe57f8dd64c5a79
diff --git a/metadata/md5-cache/media-libs/cros-camera-libcamera_connector_test-0.0.1-r374 b/metadata/md5-cache/media-libs/cros-camera-libcamera_connector_test-0.0.1-r374
deleted file mode 100644
index a02eb61..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-libcamera_connector_test-0.0.1-r374
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/cros-camera-libs:= dev-cpp/gtest:= media-libs/libyuv virtual/jpeg:0 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS camera connector test.
-EAPI=7
-IUSE=cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_080361d5d45e74e7927e56bab774531748d1a569_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_080361d5d45e74e7927e56bab774531748d1a569_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/cros-camera-libs:= dev-cpp/gtest:= media-libs/libyuv virtual/jpeg:0 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0/0.0.1-r374
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=162a46b4fa2ea04255b1da90ddd52fd9
diff --git a/metadata/md5-cache/media-libs/cros-camera-libcamera_connector_test-0.0.1-r473 b/metadata/md5-cache/media-libs/cros-camera-libcamera_connector_test-0.0.1-r473
new file mode 100644
index 0000000..acf8b4e
--- /dev/null
+++ b/metadata/md5-cache/media-libs/cros-camera-libcamera_connector_test-0.0.1-r473
@@ -0,0 +1,14 @@
+BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/cros-camera-libs:= dev-cpp/gtest:= media-libs/libyuv virtual/jpeg:0 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS camera connector test.
+EAPI=7
+IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7093536475612fadc6a0afe16b8f5f4f4251e4c2_2b7909959649540a63997338914ec45cf9c7d07c_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7093536475612fadc6a0afe16b8f5f4f4251e4c2_2b7909959649540a63997338914ec45cf9c7d07c_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/cros-camera-libs:= dev-cpp/gtest:= media-libs/libyuv virtual/jpeg:0 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
+SLOT=0/0.0.1-r473
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=bb72dc3a096a1d12a218a88ee240e799
diff --git a/metadata/md5-cache/media-libs/cros-camera-libcamera_connector_test-9999 b/metadata/md5-cache/media-libs/cros-camera-libcamera_connector_test-9999
index 816f027..6ed2410 100644
--- a/metadata/md5-cache/media-libs/cros-camera-libcamera_connector_test-9999
+++ b/metadata/md5-cache/media-libs/cros-camera-libcamera_connector_test-9999
@@ -1,13 +1,14 @@
 BDEPEND=virtual/pkgconfig dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/cros-camera-libs:= dev-cpp/gtest:= media-libs/libyuv virtual/jpeg:0 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/cros-camera-libs:= dev-cpp/gtest:= media-libs/libyuv virtual/jpeg:0 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS camera connector test.
 EAPI=7
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/cros-camera-libs:= dev-cpp/gtest:= media-libs/libyuv virtual/jpeg:0 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
 SLOT=0/9999
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=687d06a9c511efd126a30a2857510ecf
diff --git a/metadata/md5-cache/media-libs/cros-camera-libfs-0.0.1-r65 b/metadata/md5-cache/media-libs/cros-camera-libfs-0.0.1-r65
new file mode 100644
index 0000000..9dfa6e0
--- /dev/null
+++ b/metadata/md5-cache/media-libs/cros-camera-libfs-0.0.1-r65
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Camera Libraries File System which installs the prebuilt libraries.
+EAPI=7
+IUSE=camera_feature_auto_framing camera_feature_face_detection camera_feature_hdrnet camera_feature_portrait_mode march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ondevice_document_scanner ondevice_document_scanner_dlc march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_835ea099c8643676eca960bb95a9349559008807_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_835ea099c8643676eca960bb95a9349559008807_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=!media-libs/cros-camera-document-scanning !media-libs/cros-camera-effect-portrait-mode !media-libs/cros-camera-facessd !media-libs/cros-camera-libautoframing !media-libs/cros-camera-libgcam >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=camera_feature_auto_framing? ( camera_feature_face_detection ) ?? ( ondevice_document_scanner ondevice_document_scanner_dlc ) ?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
+SLOT=0
+SRC_URI=camera_feature_auto_framing? ( gs://chromeos-localmirror/distfiles/chromeos-camera-libautoframing-2022.07.26.tbz2 ) gs://chromeos-localmirror/distfiles/chromeos-document-scanning-lib-2022.08.05.tar.bz2 gs://chromeos-localmirror/distfiles/chromeos-facessd-lib-2021.10.27.tar.bz2 camera_feature_hdrnet? ( gs://chromeos-localmirror/distfiles/chromeos-camera-libgcam-2022.02.24.tar.bz2 ) camera_feature_portrait_mode? ( amd64? ( gs://chromeos-localmirror/distfiles/portrait-processor-lib-x86_64-2020.04.06-unstripped.tbz2 ) arm? ( gs://chromeos-localmirror/distfiles/portrait-processor-lib-armv7-2020.04.06-unstripped.tbz2 ) )
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=bcbcc2bd740f39ac42ff0667a732bf22
diff --git a/metadata/md5-cache/media-libs/cros-camera-libfs-9999 b/metadata/md5-cache/media-libs/cros-camera-libfs-9999
new file mode 100644
index 0000000..784d7f4
--- /dev/null
+++ b/metadata/md5-cache/media-libs/cros-camera-libfs-9999
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Camera Libraries File System which installs the prebuilt libraries.
+EAPI=7
+IUSE=camera_feature_auto_framing camera_feature_face_detection camera_feature_hdrnet camera_feature_portrait_mode march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ondevice_document_scanner ondevice_document_scanner_dlc march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=~*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=!media-libs/cros-camera-document-scanning !media-libs/cros-camera-effect-portrait-mode !media-libs/cros-camera-facessd !media-libs/cros-camera-libautoframing !media-libs/cros-camera-libgcam >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=camera_feature_auto_framing? ( camera_feature_face_detection ) ?? ( ondevice_document_scanner ondevice_document_scanner_dlc ) ?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
+SLOT=0
+SRC_URI=camera_feature_auto_framing? ( gs://chromeos-localmirror/distfiles/chromeos-camera-libautoframing-2022.07.26.tbz2 ) gs://chromeos-localmirror/distfiles/chromeos-document-scanning-lib-2022.08.05.tar.bz2 gs://chromeos-localmirror/distfiles/chromeos-facessd-lib-2021.10.27.tar.bz2 camera_feature_hdrnet? ( gs://chromeos-localmirror/distfiles/chromeos-camera-libgcam-2022.02.24.tar.bz2 ) camera_feature_portrait_mode? ( amd64? ( gs://chromeos-localmirror/distfiles/portrait-processor-lib-x86_64-2020.04.06-unstripped.tbz2 ) arm? ( gs://chromeos-localmirror/distfiles/portrait-processor-lib-armv7-2020.04.06-unstripped.tbz2 ) )
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2e768aaa113de494d8c8a5aa5fdb9737
diff --git a/metadata/md5-cache/media-libs/cros-camera-libgcam-2022.01.07 b/metadata/md5-cache/media-libs/cros-camera-libgcam-2022.01.07
deleted file mode 100644
index 8b86c5b..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-libgcam-2022.01.07
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Gcam libraries ported from google3 that are specialized for CrOS.
-EAPI=7
-IUSE=march_skylake march_alderlake
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=!media-libs/cros-camera-libhdr
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/chromeos-camera-libgcam-2022.01.07.tar.bz2
-_md5_=350651d1921e662be6071a4beb743e2c
diff --git a/metadata/md5-cache/media-libs/cros-camera-libgcam-2022.01.07-r1 b/metadata/md5-cache/media-libs/cros-camera-libgcam-2022.01.07-r1
deleted file mode 100644
index 8b86c5b..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-libgcam-2022.01.07-r1
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Gcam libraries ported from google3 that are specialized for CrOS.
-EAPI=7
-IUSE=march_skylake march_alderlake
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=!media-libs/cros-camera-libhdr
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/chromeos-camera-libgcam-2022.01.07.tar.bz2
-_md5_=350651d1921e662be6071a4beb743e2c
diff --git a/metadata/md5-cache/media-libs/cros-camera-libjda_test-0.0.1-r694 b/metadata/md5-cache/media-libs/cros-camera-libjda_test-0.0.1-r694
deleted file mode 100644
index f442a2a..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-libjda_test-0.0.1-r694
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-cpp/gtest chromeos-base/cros-camera-libs >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=End to end test for JPEG decode accelerator
-EAPI=5
-IUSE=cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_080361d5d45e74e7927e56bab774531748d1a569_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_080361d5d45e74e7927e56bab774531748d1a569_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=dev-cpp/gtest >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=6a6bb7413c39866a94571be3784aa48a
diff --git a/metadata/md5-cache/media-libs/cros-camera-libjda_test-0.0.1-r793 b/metadata/md5-cache/media-libs/cros-camera-libjda_test-0.0.1-r793
new file mode 100644
index 0000000..d270ded
--- /dev/null
+++ b/metadata/md5-cache/media-libs/cros-camera-libjda_test-0.0.1-r793
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=dev-cpp/gtest chromeos-base/cros-camera-libs >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=End to end test for JPEG decode accelerator
+EAPI=5
+IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7093536475612fadc6a0afe16b8f5f4f4251e4c2_2b7909959649540a63997338914ec45cf9c7d07c_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7093536475612fadc6a0afe16b8f5f4f4251e4c2_2b7909959649540a63997338914ec45cf9c7d07c_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=dev-cpp/gtest >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
+SLOT=0
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=2b88a04805a98433e2264102417a4364
diff --git a/metadata/md5-cache/media-libs/cros-camera-libjda_test-9999 b/metadata/md5-cache/media-libs/cros-camera-libjda_test-9999
index d0392c5..15d19db 100644
--- a/metadata/md5-cache/media-libs/cros-camera-libjda_test-9999
+++ b/metadata/md5-cache/media-libs/cros-camera-libjda_test-9999
@@ -1,12 +1,13 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-cpp/gtest chromeos-base/cros-camera-libs >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=dev-cpp/gtest chromeos-base/cros-camera-libs >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=End to end test for JPEG decode accelerator
 EAPI=5
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=dev-cpp/gtest >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
 SLOT=0
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=4a0a523a3fc411073a484aac891bbe5f
diff --git a/metadata/md5-cache/media-libs/cros-camera-libjea_test-0.0.1-r747 b/metadata/md5-cache/media-libs/cros-camera-libjea_test-0.0.1-r747
deleted file mode 100644
index cf8bb47c..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-libjea_test-0.0.1-r747
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/cros-camera-android-deps chromeos-base/cros-camera-libs dev-cpp/gtest:= media-libs/libyuv >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=End to end test for JPEG encode accelerator
-EAPI=5
-IUSE=cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_080361d5d45e74e7927e56bab774531748d1a569_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_080361d5d45e74e7927e56bab774531748d1a569_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/cros-camera-android-deps chromeos-base/cros-camera-libs dev-cpp/gtest:= media-libs/libyuv >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=e76f0d494af4e077da14c1ffa9ab8948
diff --git a/metadata/md5-cache/media-libs/cros-camera-libjea_test-0.0.1-r846 b/metadata/md5-cache/media-libs/cros-camera-libjea_test-0.0.1-r846
new file mode 100644
index 0000000..40fe94f
--- /dev/null
+++ b/metadata/md5-cache/media-libs/cros-camera-libjea_test-0.0.1-r846
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/cros-camera-android-deps chromeos-base/cros-camera-libs dev-cpp/gtest:= media-libs/libyuv >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=End to end test for JPEG encode accelerator
+EAPI=5
+IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7093536475612fadc6a0afe16b8f5f4f4251e4c2_2b7909959649540a63997338914ec45cf9c7d07c_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7093536475612fadc6a0afe16b8f5f4f4251e4c2_2b7909959649540a63997338914ec45cf9c7d07c_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/cros-camera-android-deps chromeos-base/cros-camera-libs dev-cpp/gtest:= media-libs/libyuv >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
+SLOT=0
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=8d3a236c93954142c0820562c2bd4a5b
diff --git a/metadata/md5-cache/media-libs/cros-camera-libjea_test-9999 b/metadata/md5-cache/media-libs/cros-camera-libjea_test-9999
index 92ab236..8644c45 100644
--- a/metadata/md5-cache/media-libs/cros-camera-libjea_test-9999
+++ b/metadata/md5-cache/media-libs/cros-camera-libjea_test-9999
@@ -1,12 +1,13 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/cros-camera-android-deps chromeos-base/cros-camera-libs dev-cpp/gtest:= media-libs/libyuv >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/cros-camera-android-deps chromeos-base/cros-camera-libs dev-cpp/gtest:= media-libs/libyuv >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=End to end test for JPEG encode accelerator
 EAPI=5
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/cros-camera-android-deps chromeos-base/cros-camera-libs dev-cpp/gtest:= media-libs/libyuv >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
 SLOT=0
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=69a13d61f90a23421f2d144efe545418
diff --git a/metadata/md5-cache/media-libs/cros-camera-test-0.0.1-r826 b/metadata/md5-cache/media-libs/cros-camera-test-0.0.1-r826
deleted file mode 100644
index 8018704..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-test-0.0.1-r826
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/cros-camera-libs-0.0.1-r34:= chromeos-base/cros-camera-android-deps media-libs/libexif media-libs/libsync media-libs/minigbm virtual/jpeg:0 dev-cpp/gtest:= media-libs/libyuv virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS camera HAL native test.
-EAPI=5
-IUSE=-asan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_bb91b1577c0b9dd1b838d678af810321eb3ef9c7_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_080361d5d45e74e7927e56bab774531748d1a569_bea140d13f7cf1092e4c89a45011c04c28327972_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_bb91b1577c0b9dd1b838d678af810321eb3ef9c7_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_080361d5d45e74e7927e56bab774531748d1a569_bea140d13f7cf1092e4c89a45011c04c28327972_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=chromeos-base/cros-camera-libs-0.0.1-r34:= chromeos-base/cros-camera-android-deps media-libs/libexif media-libs/libsync media-libs/minigbm virtual/jpeg:0 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=2a65b2f5d1f7d9f468f55af4bb9c6bd2
diff --git a/metadata/md5-cache/media-libs/cros-camera-test-0.0.1-r973 b/metadata/md5-cache/media-libs/cros-camera-test-0.0.1-r973
new file mode 100644
index 0000000..2e0a867
--- /dev/null
+++ b/metadata/md5-cache/media-libs/cros-camera-test-0.0.1-r973
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=chromeos-base/cros-camera-libs-0.0.1-r34:= chromeos-base/cros-camera-android-deps media-libs/libexif media-libs/libsync media-libs/minigbm virtual/jpeg:0 dev-cpp/gtest:= media-libs/libyuv virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS camera HAL native test.
+EAPI=5
+IUSE=-asan march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_97e2f0b1a81d232f739ef5fef9fa68657759387f_7093536475612fadc6a0afe16b8f5f4f4251e4c2_2b7909959649540a63997338914ec45cf9c7d07c_527abd7a988a45572305a6c44b5324d0d9cf8be2_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_97e2f0b1a81d232f739ef5fef9fa68657759387f_7093536475612fadc6a0afe16b8f5f4f4251e4c2_2b7909959649540a63997338914ec45cf9c7d07c_527abd7a988a45572305a6c44b5324d0d9cf8be2_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=chromeos-base/cros-camera-libs-0.0.1-r34:= chromeos-base/cros-camera-android-deps media-libs/libexif media-libs/libsync media-libs/minigbm virtual/jpeg:0 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
+SLOT=0
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=e7d359d51fca4de431b1090fb9434d4c
diff --git a/metadata/md5-cache/media-libs/cros-camera-test-9999 b/metadata/md5-cache/media-libs/cros-camera-test-9999
index 5aa61f8..211f57e 100644
--- a/metadata/md5-cache/media-libs/cros-camera-test-9999
+++ b/metadata/md5-cache/media-libs/cros-camera-test-9999
@@ -1,12 +1,13 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=chromeos-base/cros-camera-libs-0.0.1-r34:= chromeos-base/cros-camera-android-deps media-libs/libexif media-libs/libsync media-libs/minigbm virtual/jpeg:0 dev-cpp/gtest:= media-libs/libyuv virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=chromeos-base/cros-camera-libs-0.0.1-r34:= chromeos-base/cros-camera-android-deps media-libs/libexif media-libs/libsync media-libs/minigbm virtual/jpeg:0 dev-cpp/gtest:= media-libs/libyuv virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS camera HAL native test.
 EAPI=5
-IUSE=-asan cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=-asan march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=chromeos-base/cros-camera-libs-0.0.1-r34:= chromeos-base/cros-camera-android-deps media-libs/libexif media-libs/libsync media-libs/minigbm virtual/jpeg:0 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
 SLOT=0
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=3bda87b54cc63c5b93edcabf59882091
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=b34c239ce130a5471da973413386fdfc
diff --git a/metadata/md5-cache/media-libs/cros-camera-usb-tests-0.0.1-r143 b/metadata/md5-cache/media-libs/cros-camera-usb-tests-0.0.1-r143
new file mode 100644
index 0000000..12f34fd
--- /dev/null
+++ b/metadata/md5-cache/media-libs/cros-camera-usb-tests-0.0.1-r143
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=!media-libs/cros-camera-v4l2_test chromeos-base/cros-camera-libs chromeos-base/libbrillo:= dev-cpp/gtest:= dev-libs/re2:= media-libs/libyuv virtual/jpeg:0 virtual/libusb:1 virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Chrome OS USB camera tests.
+EAPI=7
+IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7093536475612fadc6a0afe16b8f5f4f4251e4c2_2b7909959649540a63997338914ec45cf9c7d07c_66167969f21d9a7bd20fc7fd2e582ad849d7d8eb_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_4be8d3ae5664634825afc2e6e4b8c24816ee9b9e_7093536475612fadc6a0afe16b8f5f4f4251e4c2_2b7909959649540a63997338914ec45cf9c7d07c_66167969f21d9a7bd20fc7fd2e582ad849d7d8eb_60fa47aebd6ebfb702012849bd560717fceddcd4 cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=!media-libs/cros-camera-v4l2_test chromeos-base/cros-camera-libs chromeos-base/libbrillo:= dev-cpp/gtest:= dev-libs/re2:= media-libs/libyuv virtual/jpeg:0 virtual/libusb:1 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
+SLOT=0
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9d80538dffba6bb25ed4c5070df836fb
diff --git a/metadata/md5-cache/media-libs/cros-camera-usb-tests-0.0.1-r35 b/metadata/md5-cache/media-libs/cros-camera-usb-tests-0.0.1-r35
deleted file mode 100644
index b68088f0..0000000
--- a/metadata/md5-cache/media-libs/cros-camera-usb-tests-0.0.1-r35
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=!media-libs/cros-camera-v4l2_test chromeos-base/cros-camera-libs chromeos-base/libbrillo:= dev-cpp/gtest:= dev-libs/re2:= media-libs/libyuv virtual/jpeg:0 virtual/libusb:1 virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Chrome OS USB camera tests.
-EAPI=7
-IUSE=cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_080361d5d45e74e7927e56bab774531748d1a569_aae9573ddce70ef8c8cfb47800c806eb8a703aa4_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_e5bab9aeb635f426a5f77597edb46ad386ad0f7c_a4c500ab9b3c0bc4232aa527a6cbd18f786338a4_080361d5d45e74e7927e56bab774531748d1a569_aae9573ddce70ef8c8cfb47800c806eb8a703aa4_a625767bb59509159091f2ab0b71f8b9b4b2e353 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=!media-libs/cros-camera-v4l2_test chromeos-base/cros-camera-libs chromeos-base/libbrillo:= dev-cpp/gtest:= dev-libs/re2:= media-libs/libyuv virtual/jpeg:0 virtual/libusb:1 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0e87b09f68d65c71e4c35ee494474a95
diff --git a/metadata/md5-cache/media-libs/cros-camera-usb-tests-9999 b/metadata/md5-cache/media-libs/cros-camera-usb-tests-9999
index b2073b7..0c7b0cc 100644
--- a/metadata/md5-cache/media-libs/cros-camera-usb-tests-9999
+++ b/metadata/md5-cache/media-libs/cros-camera-usb-tests-9999
@@ -1,13 +1,14 @@
 BDEPEND=dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=!media-libs/cros-camera-v4l2_test chromeos-base/cros-camera-libs chromeos-base/libbrillo:= dev-cpp/gtest:= dev-libs/re2:= media-libs/libyuv virtual/jpeg:0 virtual/libusb:1 virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=!media-libs/cros-camera-v4l2_test chromeos-base/cros-camera-libs chromeos-base/libbrillo:= dev-cpp/gtest:= dev-libs/re2:= media-libs/libyuv virtual/jpeg:0 virtual/libusb:1 virtual/pkgconfig >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Chrome OS USB camera tests.
 EAPI=7
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+IUSE=march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=!media-libs/cros-camera-v4l2_test chromeos-base/cros-camera-libs chromeos-base/libbrillo:= dev-cpp/gtest:= dev-libs/re2:= media-libs/libyuv virtual/jpeg:0 virtual/libusb:1 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
 SLOT=0
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=5f32d7e489bb04030d530486f8355234
diff --git a/metadata/md5-cache/media-libs/fontconfig-2.13.0 b/metadata/md5-cache/media-libs/fontconfig-2.13.0
new file mode 100644
index 0000000..73d7230
--- /dev/null
+++ b/metadata/md5-cache/media-libs/fontconfig-2.13.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst prepare setup test
+DEPEND=>=dev-libs/expat-2.1.0-r3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=media-libs/freetype-2.9[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] !elibc_Darwin? ( sys-apps/util-linux[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) elibc_Darwin? ( sys-libs/native-uuid ) virtual/libintl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/pkgconfig >=sys-devel/gettext-0.19.8 doc? ( =app-text/docbook-sgml-dtd-3.1* app-text/docbook-sgml-utils[jadetex] ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=A library for configuring and customizing font access
+EAPI=6
+HOMEPAGE=https://fontconfig.org/
+IUSE=cros_host doc static-libs +subpixel_rendering touchview abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
+KEYWORDS=*
+LICENSE=MIT
+PDEPEND=virtual/ttf-fonts
+RDEPEND=>=dev-libs/expat-2.1.0-r3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=media-libs/freetype-2.9[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] !elibc_Darwin? ( sys-apps/util-linux[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) elibc_Darwin? ( sys-libs/native-uuid ) virtual/libintl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+SLOT=1.0
+SRC_URI=https://fontconfig.org/release/fontconfig-2.13.0.tar.bz2
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	readme.gentoo-r1	22ae82e140bdd95d17a34fd5fd733190	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=bc197523b071fbc59bc4e77b713d05c6
diff --git a/metadata/md5-cache/media-libs/fontconfig-2.13.0-r11 b/metadata/md5-cache/media-libs/fontconfig-2.13.0-r11
deleted file mode 100644
index 4b7cafa..0000000
--- a/metadata/md5-cache/media-libs/fontconfig-2.13.0-r11
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst prepare setup test
-DEPEND=>=dev-libs/expat-2.1.0-r3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=media-libs/freetype-2.9[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] !elibc_Darwin? ( sys-apps/util-linux[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) elibc_Darwin? ( sys-libs/native-uuid ) virtual/libintl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/pkgconfig >=sys-devel/gettext-0.19.8 doc? ( =app-text/docbook-sgml-dtd-3.1* app-text/docbook-sgml-utils[jadetex] ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=A library for configuring and customizing font access
-EAPI=6
-HOMEPAGE=https://fontconfig.org/
-IUSE=cros_host doc static-libs +subpixel_rendering touchview abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=MIT
-PDEPEND=virtual/ttf-fonts
-RDEPEND=>=dev-libs/expat-2.1.0-r3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=media-libs/freetype-2.9[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] !elibc_Darwin? ( sys-apps/util-linux[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) elibc_Darwin? ( sys-libs/native-uuid ) virtual/libintl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-SLOT=1.0
-SRC_URI=https://fontconfig.org/release/fontconfig-2.13.0.tar.bz2
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	readme.gentoo-r1	22ae82e140bdd95d17a34fd5fd733190	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=a33af12baff48b07064904b2b2229588
diff --git a/metadata/md5-cache/media-libs/fontconfig-2.13.0-r13 b/metadata/md5-cache/media-libs/fontconfig-2.13.0-r13
new file mode 100644
index 0000000..73d7230
--- /dev/null
+++ b/metadata/md5-cache/media-libs/fontconfig-2.13.0-r13
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst prepare setup test
+DEPEND=>=dev-libs/expat-2.1.0-r3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=media-libs/freetype-2.9[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] !elibc_Darwin? ( sys-apps/util-linux[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) elibc_Darwin? ( sys-libs/native-uuid ) virtual/libintl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/pkgconfig >=sys-devel/gettext-0.19.8 doc? ( =app-text/docbook-sgml-dtd-3.1* app-text/docbook-sgml-utils[jadetex] ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=A library for configuring and customizing font access
+EAPI=6
+HOMEPAGE=https://fontconfig.org/
+IUSE=cros_host doc static-libs +subpixel_rendering touchview abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
+KEYWORDS=*
+LICENSE=MIT
+PDEPEND=virtual/ttf-fonts
+RDEPEND=>=dev-libs/expat-2.1.0-r3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=media-libs/freetype-2.9[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] !elibc_Darwin? ( sys-apps/util-linux[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) elibc_Darwin? ( sys-libs/native-uuid ) virtual/libintl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+SLOT=1.0
+SRC_URI=https://fontconfig.org/release/fontconfig-2.13.0.tar.bz2
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	readme.gentoo-r1	22ae82e140bdd95d17a34fd5fd733190	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=bc197523b071fbc59bc4e77b713d05c6
diff --git a/metadata/md5-cache/media-libs/fontconfig-2.13.0-r14 b/metadata/md5-cache/media-libs/fontconfig-2.13.0-r14
new file mode 100644
index 0000000..73d7230
--- /dev/null
+++ b/metadata/md5-cache/media-libs/fontconfig-2.13.0-r14
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst prepare setup test
+DEPEND=>=dev-libs/expat-2.1.0-r3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=media-libs/freetype-2.9[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] !elibc_Darwin? ( sys-apps/util-linux[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) elibc_Darwin? ( sys-libs/native-uuid ) virtual/libintl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/pkgconfig >=sys-devel/gettext-0.19.8 doc? ( =app-text/docbook-sgml-dtd-3.1* app-text/docbook-sgml-utils[jadetex] ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=A library for configuring and customizing font access
+EAPI=6
+HOMEPAGE=https://fontconfig.org/
+IUSE=cros_host doc static-libs +subpixel_rendering touchview abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
+KEYWORDS=*
+LICENSE=MIT
+PDEPEND=virtual/ttf-fonts
+RDEPEND=>=dev-libs/expat-2.1.0-r3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=media-libs/freetype-2.9[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] !elibc_Darwin? ( sys-apps/util-linux[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) elibc_Darwin? ( sys-libs/native-uuid ) virtual/libintl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+SLOT=1.0
+SRC_URI=https://fontconfig.org/release/fontconfig-2.13.0.tar.bz2
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	readme.gentoo-r1	22ae82e140bdd95d17a34fd5fd733190	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=bc197523b071fbc59bc4e77b713d05c6
diff --git a/metadata/md5-cache/media-libs/gmmlib-21.3.1 b/metadata/md5-cache/media-libs/gmmlib-21.3.1
deleted file mode 100644
index b6ac1bb..0000000
--- a/metadata/md5-cache/media-libs/gmmlib-21.3.1
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-util/ninja dev-util/cmake
-DEFINED_PHASES=compile configure install prepare test
-DESCRIPTION=Intel Graphics Memory Management Library
-EAPI=7
-HOMEPAGE=https://github.com/intel/gmmlib
-IUSE=test +custom-cflags abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=MIT
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://github.com/intel/gmmlib/archive/refs/tags/intel-gmmlib-21.3.1.tar.gz
-_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=b32f56e1078124842387d28b8eaeb0ad
diff --git a/metadata/md5-cache/media-libs/gmmlib-21.3.1-r1 b/metadata/md5-cache/media-libs/gmmlib-21.3.1-r1
deleted file mode 100644
index b6ac1bb..0000000
--- a/metadata/md5-cache/media-libs/gmmlib-21.3.1-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-util/ninja dev-util/cmake
-DEFINED_PHASES=compile configure install prepare test
-DESCRIPTION=Intel Graphics Memory Management Library
-EAPI=7
-HOMEPAGE=https://github.com/intel/gmmlib
-IUSE=test +custom-cflags abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=MIT
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://github.com/intel/gmmlib/archive/refs/tags/intel-gmmlib-21.3.1.tar.gz
-_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=b32f56e1078124842387d28b8eaeb0ad
diff --git a/metadata/md5-cache/media-libs/gmmlib-22.1.3 b/metadata/md5-cache/media-libs/gmmlib-22.1.3
new file mode 100644
index 0000000..0939448
--- /dev/null
+++ b/metadata/md5-cache/media-libs/gmmlib-22.1.3
@@ -0,0 +1,13 @@
+BDEPEND=dev-util/ninja dev-util/cmake
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=Intel Graphics Memory Management Library
+EAPI=7
+HOMEPAGE=https://github.com/intel/gmmlib
+IUSE=+custom-cflags test
+KEYWORDS=*
+LICENSE=MIT
+RESTRICT=!test? ( test )
+SLOT=0/12.1
+SRC_URI=https://github.com/intel/gmmlib/archive/intel-gmmlib-22.1.3.tar.gz
+_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=4ac3632b2b181f76536ab63cc16f56d7
diff --git a/metadata/md5-cache/media-libs/libcamera-0.0.1-r745 b/metadata/md5-cache/media-libs/libcamera-0.0.1-r745
deleted file mode 100644
index 9ea0a13..0000000
--- a/metadata/md5-cache/media-libs/libcamera-0.0.1-r745
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=chromeos-base/cros-camera-libs dev? ( dev-libs/libevent[threads] ) dev-libs/libyaml media-libs/libcamera-configs media-libs/libjpeg-turbo media-libs/libexif >=net-libs/gnutls-3.3:= media-libs/libyuv udev? ( virtual/libudev ) dev-libs/openssl >=dev-python/pyyaml-3:=
-DESCRIPTION=Camera support library for Linux
-EAPI=7
-HOMEPAGE=https://www.libcamera.org
-IUSE=debug dev doc ipu3 rkisp1 test udev cros_host cros_workon_tree_b6e4603484b957f878045b198a536a1d71c419f2
-KEYWORDS=*
-LICENSE=LGPL-2.1+
-PROPERTIES=live
-RDEPEND=chromeos-base/cros-camera-libs dev? ( dev-libs/libevent[threads] ) dev-libs/libyaml media-libs/libcamera-configs media-libs/libjpeg-turbo media-libs/libexif >=net-libs/gnutls-3.3:= media-libs/libyuv udev? ( virtual/libudev )
-SLOT=0
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=85cdbca3544c43c5944af97b267552d1
diff --git a/metadata/md5-cache/media-libs/libcamera-0.0.1-r751 b/metadata/md5-cache/media-libs/libcamera-0.0.1-r751
new file mode 100644
index 0000000..fbb1874
--- /dev/null
+++ b/metadata/md5-cache/media-libs/libcamera-0.0.1-r751
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=chromeos-base/cros-camera-libs dev? ( dev-libs/libevent[threads] ) dev-libs/libyaml media-libs/libcamera-configs media-libs/libjpeg-turbo media-libs/libexif >=net-libs/gnutls-3.3:= media-libs/libyuv udev? ( virtual/libudev ) dev-libs/openssl >=dev-python/pyyaml-3:=
+DESCRIPTION=Camera support library for Linux
+EAPI=7
+HOMEPAGE=https://www.libcamera.org
+IUSE=debug dev doc ipu3 rkisp1 test udev march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_4662bf133b2155e155c25375baefc17f970be9e1
+KEYWORDS=*
+LICENSE=LGPL-2.1+
+PROPERTIES=live
+RDEPEND=chromeos-base/cros-camera-libs dev? ( dev-libs/libevent[threads] ) dev-libs/libyaml media-libs/libcamera-configs media-libs/libjpeg-turbo media-libs/libexif >=net-libs/gnutls-3.3:= media-libs/libyuv udev? ( virtual/libudev )
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
+SLOT=0
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=19d25f2d4c65c2e48d5e5f2625c34770
diff --git a/metadata/md5-cache/media-libs/libcamera-9999 b/metadata/md5-cache/media-libs/libcamera-9999
index e962b69..59eb589 100644
--- a/metadata/md5-cache/media-libs/libcamera-9999
+++ b/metadata/md5-cache/media-libs/libcamera-9999
@@ -1,14 +1,15 @@
-BDEPEND=dev-vcs/git >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+BDEPEND=dev-vcs/git >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
 DEFINED_PHASES=compile configure info install setup test unpack
 DEPEND=chromeos-base/cros-camera-libs dev? ( dev-libs/libevent[threads] ) dev-libs/libyaml media-libs/libcamera-configs media-libs/libjpeg-turbo media-libs/libexif >=net-libs/gnutls-3.3:= media-libs/libyuv udev? ( virtual/libudev ) dev-libs/openssl >=dev-python/pyyaml-3:=
 DESCRIPTION=Camera support library for Linux
 EAPI=7
 HOMEPAGE=https://www.libcamera.org
-IUSE=debug dev doc ipu3 rkisp1 test udev cros_host cros_workon_tree_
+IUSE=debug dev doc ipu3 rkisp1 test udev march_alderlake march_armv8 march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=LGPL-2.1+
 PROPERTIES=live
 RDEPEND=chromeos-base/cros-camera-libs dev? ( dev-libs/libevent[threads] ) dev-libs/libyaml media-libs/libcamera-configs media-libs/libjpeg-turbo media-libs/libexif >=net-libs/gnutls-3.3:= media-libs/libyuv udev? ( virtual/libudev )
+REQUIRED_USE=?? ( march_alderlake march_bdver4 march_corei7 march_goldmont march_silvermont march_skylake march_tigerlake march_tremont march_znver1 ) ^^ ( amd64 arm arm64 )
 SLOT=0
-_eclasses_=cros-camera	edfe7d3bbe26994c0ee8019d7597b0b6	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-camera	1f5c248054f5a3cadd91eb66b807dd6c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=b0c8794e55118c75957e6cdfa84cd139
diff --git a/metadata/md5-cache/media-libs/libepoxy-1.5.9_pre1 b/metadata/md5-cache/media-libs/libepoxy-1.5.9_pre1
index 862fbfd..c1f605a 100644
--- a/metadata/md5-cache/media-libs/libepoxy-1.5.9_pre1
+++ b/metadata/md5-cache/media-libs/libepoxy-1.5.9_pre1
@@ -1,4 +1,4 @@
-BDEPEND=>=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+BDEPEND=>=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
 DEFINED_PHASES=compile configure install setup test unpack
 DEPEND=|| ( dev-lang/python:3.9[xml(+)] dev-lang/python:3.8[xml(+)] dev-lang/python:3.7[xml(+)] dev-lang/python:3.6[xml(+)] ) x11-drivers/opengles-headers x11-misc/util-macros x11-libs/libX11
 DESCRIPTION=Epoxy is a library for handling OpenGL function pointer management for you
@@ -10,5 +10,5 @@
 RDEPEND=virtual/opengles
 SLOT=0
 SRC_URI=https://github.com/anholt/libepoxy/archive/ecfa8e0f083084181d36966fa084aca9a6c97d53.tar.gz -> libepoxy-1.5.9_pre1.tar.gz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=432fccf4cdf993774c511d2d81920454
diff --git a/metadata/md5-cache/media-libs/libglvnd-1.3.3 b/metadata/md5-cache/media-libs/libglvnd-1.3.3
index 8021f421..04b6f5c 100644
--- a/metadata/md5-cache/media-libs/libglvnd-1.3.3
+++ b/metadata/md5-cache/media-libs/libglvnd-1.3.3
@@ -1,15 +1,15 @@
-BDEPEND=|| ( dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) test? ( X? ( !prefix? ( x11-base/xorg-server ) x11-apps/xhost ) ) >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+BDEPEND=|| ( dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) test? ( X? ( !prefix? ( x11-base/xorg-server ) x11-apps/xhost ) ) >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
 DEFINED_PHASES=compile configure install prepare setup test
-DEPEND=!media-libs/mesa[-libglvnd(-)] !media-libs/mesa-amd[-libglvnd(-)] !media-libs/mesa-freedreno[-libglvnd(-)] !media-libs/mesa-img[-libglvnd(-)] !media-libs/mesa-iris[-libglvnd(-)] !media-libs/mesa-llvmpipe[-libglvnd(-)] !media-libs/mesa-panfrost[-libglvnd(-)] X? ( x11-libs/libX11[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/libXext[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) X? ( x11-base/xorg-proto )
+DEPEND=!media-libs/mesa[-libglvnd(-)] !media-libs/mesa-amd[-libglvnd(-)] !media-libs/mesa-freedreno[-libglvnd(-)] !media-libs/mesa-img[-libglvnd(-)] !media-libs/mesa-iris[-libglvnd(-)] !media-libs/mesa-llvmpipe[-libglvnd(-)] !media-libs/mesa-panfrost[-libglvnd(-)] !media-libs/mesa-reven[-libglvnd(-)] X? ( x11-libs/libX11[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/libXext[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) X? ( x11-base/xorg-proto )
 DESCRIPTION=The GL Vendor-Neutral Dispatch library
 EAPI=7
 HOMEPAGE=https://gitlab.freedesktop.org/glvnd/libglvnd
 IUSE=test X abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
 KEYWORDS=*
 LICENSE=MIT
-RDEPEND=!media-libs/mesa[-libglvnd(-)] !media-libs/mesa-amd[-libglvnd(-)] !media-libs/mesa-freedreno[-libglvnd(-)] !media-libs/mesa-img[-libglvnd(-)] !media-libs/mesa-iris[-libglvnd(-)] !media-libs/mesa-llvmpipe[-libglvnd(-)] !media-libs/mesa-panfrost[-libglvnd(-)] X? ( x11-libs/libX11[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/libXext[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
+RDEPEND=!media-libs/mesa[-libglvnd(-)] !media-libs/mesa-amd[-libglvnd(-)] !media-libs/mesa-freedreno[-libglvnd(-)] !media-libs/mesa-img[-libglvnd(-)] !media-libs/mesa-iris[-libglvnd(-)] !media-libs/mesa-llvmpipe[-libglvnd(-)] !media-libs/mesa-panfrost[-libglvnd(-)] !media-libs/mesa-reven[-libglvnd(-)] X? ( x11-libs/libX11[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/libXext[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
 RESTRICT=!test? ( test )
 SLOT=0
 SRC_URI=https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v1.3.3/libglvnd-v1.3.3.tar.bz2 -> libglvnd-1.3.3.tar.bz2
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	5ec14fdbc5446b8767e87e186e3b1a52	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	virtualx	e9162f65645513120b4e12863a5fa972
-_md5_=57e0cb15a97cf79fe9a33c8cdc0c4798
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	1cac59cd2074f59abbe00de88e93af9f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	virtualx	e9162f65645513120b4e12863a5fa972
+_md5_=53c04ea33d23ad4b402b8f04133b27e7
diff --git a/metadata/md5-cache/media-libs/libglvnd-1.3.3-r3 b/metadata/md5-cache/media-libs/libglvnd-1.3.3-r3
deleted file mode 100644
index 8021f421..0000000
--- a/metadata/md5-cache/media-libs/libglvnd-1.3.3-r3
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=|| ( dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) test? ( X? ( !prefix? ( x11-base/xorg-server ) x11-apps/xhost ) ) >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
-DEFINED_PHASES=compile configure install prepare setup test
-DEPEND=!media-libs/mesa[-libglvnd(-)] !media-libs/mesa-amd[-libglvnd(-)] !media-libs/mesa-freedreno[-libglvnd(-)] !media-libs/mesa-img[-libglvnd(-)] !media-libs/mesa-iris[-libglvnd(-)] !media-libs/mesa-llvmpipe[-libglvnd(-)] !media-libs/mesa-panfrost[-libglvnd(-)] X? ( x11-libs/libX11[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/libXext[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) X? ( x11-base/xorg-proto )
-DESCRIPTION=The GL Vendor-Neutral Dispatch library
-EAPI=7
-HOMEPAGE=https://gitlab.freedesktop.org/glvnd/libglvnd
-IUSE=test X abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND=!media-libs/mesa[-libglvnd(-)] !media-libs/mesa-amd[-libglvnd(-)] !media-libs/mesa-freedreno[-libglvnd(-)] !media-libs/mesa-img[-libglvnd(-)] !media-libs/mesa-iris[-libglvnd(-)] !media-libs/mesa-llvmpipe[-libglvnd(-)] !media-libs/mesa-panfrost[-libglvnd(-)] X? ( x11-libs/libX11[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/libXext[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v1.3.3/libglvnd-v1.3.3.tar.bz2 -> libglvnd-1.3.3.tar.bz2
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	5ec14fdbc5446b8767e87e186e3b1a52	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	virtualx	e9162f65645513120b4e12863a5fa972
-_md5_=57e0cb15a97cf79fe9a33c8cdc0c4798
diff --git a/metadata/md5-cache/media-libs/libglvnd-1.3.3-r4 b/metadata/md5-cache/media-libs/libglvnd-1.3.3-r4
new file mode 100644
index 0000000..04b6f5c
--- /dev/null
+++ b/metadata/md5-cache/media-libs/libglvnd-1.3.3-r4
@@ -0,0 +1,15 @@
+BDEPEND=|| ( dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) test? ( X? ( !prefix? ( x11-base/xorg-server ) x11-apps/xhost ) ) >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+DEFINED_PHASES=compile configure install prepare setup test
+DEPEND=!media-libs/mesa[-libglvnd(-)] !media-libs/mesa-amd[-libglvnd(-)] !media-libs/mesa-freedreno[-libglvnd(-)] !media-libs/mesa-img[-libglvnd(-)] !media-libs/mesa-iris[-libglvnd(-)] !media-libs/mesa-llvmpipe[-libglvnd(-)] !media-libs/mesa-panfrost[-libglvnd(-)] !media-libs/mesa-reven[-libglvnd(-)] X? ( x11-libs/libX11[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/libXext[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) X? ( x11-base/xorg-proto )
+DESCRIPTION=The GL Vendor-Neutral Dispatch library
+EAPI=7
+HOMEPAGE=https://gitlab.freedesktop.org/glvnd/libglvnd
+IUSE=test X abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=!media-libs/mesa[-libglvnd(-)] !media-libs/mesa-amd[-libglvnd(-)] !media-libs/mesa-freedreno[-libglvnd(-)] !media-libs/mesa-img[-libglvnd(-)] !media-libs/mesa-iris[-libglvnd(-)] !media-libs/mesa-llvmpipe[-libglvnd(-)] !media-libs/mesa-panfrost[-libglvnd(-)] !media-libs/mesa-reven[-libglvnd(-)] X? ( x11-libs/libX11[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/libXext[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v1.3.3/libglvnd-v1.3.3.tar.bz2 -> libglvnd-1.3.3.tar.bz2
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	1cac59cd2074f59abbe00de88e93af9f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	virtualx	e9162f65645513120b4e12863a5fa972
+_md5_=53c04ea33d23ad4b402b8f04133b27e7
diff --git a/metadata/md5-cache/media-libs/libsync-0.0.1-r7 b/metadata/md5-cache/media-libs/libsync-0.0.1-r7
index e0bd78a..f7dae0d 100644
--- a/metadata/md5-cache/media-libs/libsync-0.0.1-r7
+++ b/metadata/md5-cache/media-libs/libsync-0.0.1-r7
@@ -8,5 +8,5 @@
 PROPERTIES=live
 RDEPEND=!media-libs/arc-camera3-libsync
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=7729b0163581490d5a972182e60afdc1
diff --git a/metadata/md5-cache/media-libs/libsync-9999 b/metadata/md5-cache/media-libs/libsync-9999
index da83ec0..b0b856c 100644
--- a/metadata/md5-cache/media-libs/libsync-9999
+++ b/metadata/md5-cache/media-libs/libsync-9999
@@ -8,5 +8,5 @@
 PROPERTIES=live
 RDEPEND=!media-libs/arc-camera3-libsync
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=3b9c2a5bc128eab6558fb030e769431f
diff --git a/metadata/md5-cache/media-libs/libv4l-1.20.0 b/metadata/md5-cache/media-libs/libv4l-1.20.0
deleted file mode 100644
index 1b96bae..0000000
--- a/metadata/md5-cache/media-libs/libv4l-1.20.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup test
-DEPEND=jpeg? ( >=virtual/jpeg-0-r2:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !media-tv/v4l2-ctl !<media-tv/ivtv-utils-1.4.0-r2 abi_x86_32? ( !<=app-emulation/emul-linux-x86-medialibs-20130224-r5 !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] ) sys-devel/gettext virtual/os-headers virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Separate libraries ebuild from upstream v4l-utils package
-EAPI=5
-HOMEPAGE=http://git.linuxtv.org/v4l-utils.git
-IUSE=jpeg kernel_linux abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=LGPL-2.1+
-RDEPEND=jpeg? ( >=virtual/jpeg-0-r2:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !media-tv/v4l2-ctl !<media-tv/ivtv-utils-1.4.0-r2 abi_x86_32? ( !<=app-emulation/emul-linux-x86-medialibs-20130224-r5 !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] )
-SLOT=0
-SRC_URI=http://linuxtv.org/downloads/v4l-utils/v4l-utils-1.20.0.tar.bz2
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=65368d98d1968e564d7ade860a8fb805
diff --git a/metadata/md5-cache/media-libs/libv4l-1.20.0-r1 b/metadata/md5-cache/media-libs/libv4l-1.20.0-r1
deleted file mode 100644
index 1b96bae..0000000
--- a/metadata/md5-cache/media-libs/libv4l-1.20.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup test
-DEPEND=jpeg? ( >=virtual/jpeg-0-r2:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !media-tv/v4l2-ctl !<media-tv/ivtv-utils-1.4.0-r2 abi_x86_32? ( !<=app-emulation/emul-linux-x86-medialibs-20130224-r5 !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] ) sys-devel/gettext virtual/os-headers virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Separate libraries ebuild from upstream v4l-utils package
-EAPI=5
-HOMEPAGE=http://git.linuxtv.org/v4l-utils.git
-IUSE=jpeg kernel_linux abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=LGPL-2.1+
-RDEPEND=jpeg? ( >=virtual/jpeg-0-r2:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !media-tv/v4l2-ctl !<media-tv/ivtv-utils-1.4.0-r2 abi_x86_32? ( !<=app-emulation/emul-linux-x86-medialibs-20130224-r5 !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] )
-SLOT=0
-SRC_URI=http://linuxtv.org/downloads/v4l-utils/v4l-utils-1.20.0.tar.bz2
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=65368d98d1968e564d7ade860a8fb805
diff --git a/metadata/md5-cache/media-libs/libv4l-1.22.1 b/metadata/md5-cache/media-libs/libv4l-1.22.1
new file mode 100644
index 0000000..9557e59
--- /dev/null
+++ b/metadata/md5-cache/media-libs/libv4l-1.22.1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install prepare setup test
+DEPEND=jpeg? ( >=virtual/jpeg-0-r2:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !media-tv/v4l2-ctl !<media-tv/ivtv-utils-1.4.0-r2 abi_x86_32? ( !<=app-emulation/emul-linux-x86-medialibs-20130224-r5 !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] ) sys-devel/gettext virtual/os-headers virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Separate libraries ebuild from upstream v4l-utils package
+EAPI=5
+HOMEPAGE=http://git.linuxtv.org/v4l-utils.git
+IUSE=jpeg kernel_linux abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
+KEYWORDS=*
+LICENSE=LGPL-2.1+
+RDEPEND=jpeg? ( >=virtual/jpeg-0-r2:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !media-tv/v4l2-ctl !<media-tv/ivtv-utils-1.4.0-r2 abi_x86_32? ( !<=app-emulation/emul-linux-x86-medialibs-20130224-r5 !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] )
+SLOT=0
+SRC_URI=http://linuxtv.org/downloads/v4l-utils/v4l-utils-1.22.1.tar.bz2
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=dba6c7180f02de373ea5d23c15fa4065
diff --git a/metadata/md5-cache/media-libs/libv4l-1.22.1-r1 b/metadata/md5-cache/media-libs/libv4l-1.22.1-r1
new file mode 100644
index 0000000..9557e59
--- /dev/null
+++ b/metadata/md5-cache/media-libs/libv4l-1.22.1-r1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install prepare setup test
+DEPEND=jpeg? ( >=virtual/jpeg-0-r2:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !media-tv/v4l2-ctl !<media-tv/ivtv-utils-1.4.0-r2 abi_x86_32? ( !<=app-emulation/emul-linux-x86-medialibs-20130224-r5 !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] ) sys-devel/gettext virtual/os-headers virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Separate libraries ebuild from upstream v4l-utils package
+EAPI=5
+HOMEPAGE=http://git.linuxtv.org/v4l-utils.git
+IUSE=jpeg kernel_linux abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
+KEYWORDS=*
+LICENSE=LGPL-2.1+
+RDEPEND=jpeg? ( >=virtual/jpeg-0-r2:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !media-tv/v4l2-ctl !<media-tv/ivtv-utils-1.4.0-r2 abi_x86_32? ( !<=app-emulation/emul-linux-x86-medialibs-20130224-r5 !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] )
+SLOT=0
+SRC_URI=http://linuxtv.org/downloads/v4l-utils/v4l-utils-1.22.1.tar.bz2
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=dba6c7180f02de373ea5d23c15fa4065
diff --git a/metadata/md5-cache/media-libs/libv4lplugins-0.0.1-r45 b/metadata/md5-cache/media-libs/libv4lplugins-0.0.1-r45
deleted file mode 100644
index 14e567a..0000000
--- a/metadata/md5-cache/media-libs/libv4lplugins-0.0.1-r45
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=media-libs/libv4l >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Separate plugin library from upstream v4l-utils package
-EAPI=5
-HOMEPAGE=http://git.linuxtv.org/v4l-utils.git
-IUSE=rockchip rockchip_v2 cros_host cros_workon_tree_d7b697b5c05fed216dfad2efd014aa5eae13aff2
-KEYWORDS=*
-LICENSE=LGPL-2.1
-PROPERTIES=live
-RDEPEND=media-libs/libv4l
-REQUIRED_USE=^^ ( rockchip rockchip_v2 )
-SLOT=0
-SRC_URI=http://linuxtv.org/downloads/v4l-utils/v4l-utils-1.18.1.tar.bz2
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=8645a74caf621af1cdcf07bf57b890d1
diff --git a/metadata/md5-cache/media-libs/libv4lplugins-0.0.1-r50 b/metadata/md5-cache/media-libs/libv4lplugins-0.0.1-r50
new file mode 100644
index 0000000..75f4974
--- /dev/null
+++ b/metadata/md5-cache/media-libs/libv4lplugins-0.0.1-r50
@@ -0,0 +1,15 @@
+DEFINED_PHASES=compile configure info install prepare setup unpack
+DEPEND=media-libs/libv4l >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Separate plugin library from upstream v4l-utils package
+EAPI=5
+HOMEPAGE=http://git.linuxtv.org/v4l-utils.git
+IUSE=rockchip rockchip_v2 cros_host cros_workon_tree_393eca86a321923b7830c8481656957db5a778fc
+KEYWORDS=*
+LICENSE=LGPL-2.1
+PROPERTIES=live
+RDEPEND=media-libs/libv4l
+REQUIRED_USE=^^ ( rockchip rockchip_v2 )
+SLOT=0
+SRC_URI=http://linuxtv.org/downloads/v4l-utils/v4l-utils-1.18.1.tar.bz2
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=3cf563d091e09faa0bb7e99ceaa5d827
diff --git a/metadata/md5-cache/media-libs/libv4lplugins-9999 b/metadata/md5-cache/media-libs/libv4lplugins-9999
index e0ac7b9..b2bb4f0 100644
--- a/metadata/md5-cache/media-libs/libv4lplugins-9999
+++ b/metadata/md5-cache/media-libs/libv4lplugins-9999
@@ -11,5 +11,5 @@
 REQUIRED_USE=^^ ( rockchip rockchip_v2 )
 SLOT=0
 SRC_URI=http://linuxtv.org/downloads/v4l-utils/v4l-utils-1.18.1.tar.bz2
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=e75c7ea92b58cb866cde529d3db4681d
diff --git a/metadata/md5-cache/media-libs/libyuv-1774 b/metadata/md5-cache/media-libs/libyuv-1774
index acc4499..859719c 100644
--- a/metadata/md5-cache/media-libs/libyuv-1774
+++ b/metadata/md5-cache/media-libs/libyuv-1774
@@ -9,5 +9,5 @@
 RDEPEND=virtual/jpeg:0
 SLOT=0
 SRC_URI=https://chromium.googlesource.com/libyuv/libyuv/+archive/fc61dde1eb4b7807201fa20cd0a7d023363558b2.tar.gz -> libyuv-1774.tar.gz
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-debug	d2750757005d6a444f8eb12bb9eb9944	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-debug	d2750757005d6a444f8eb12bb9eb9944	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e105813cceacabf1729dc4f4e2d2df53
diff --git a/metadata/md5-cache/media-libs/libyuv-1774-r5 b/metadata/md5-cache/media-libs/libyuv-1774-r5
index acc4499..859719c 100644
--- a/metadata/md5-cache/media-libs/libyuv-1774-r5
+++ b/metadata/md5-cache/media-libs/libyuv-1774-r5
@@ -9,5 +9,5 @@
 RDEPEND=virtual/jpeg:0
 SLOT=0
 SRC_URI=https://chromium.googlesource.com/libyuv/libyuv/+archive/fc61dde1eb4b7807201fa20cd0a7d023363558b2.tar.gz -> libyuv-1774.tar.gz
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-debug	d2750757005d6a444f8eb12bb9eb9944	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-debug	d2750757005d6a444f8eb12bb9eb9944	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=e105813cceacabf1729dc4f4e2d2df53
diff --git a/metadata/md5-cache/media-libs/mesa-21.3 b/metadata/md5-cache/media-libs/mesa-21.3
index c0e865b..e4a1b2e 100644
--- a/metadata/md5-cache/media-libs/mesa-21.3
+++ b/metadata/md5-cache/media-libs/mesa-21.3
@@ -1,15 +1,15 @@
-BDEPEND=>=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+BDEPEND=>=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libxshmfence x11-libs/libXxf86vm ) llvm? ( virtual/libelf ) dev-libs/expat dev-libs/libgcrypt virtual/udev zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60 dev-libs/libxml2 sys-devel/bison sys-devel/flex virtual/pkgconfig x11-base/xorg-proto wayland? ( >=dev-libs/wayland-protocols-1.8 ) llvm? ( sys-devel/llvm )
+DEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libxshmfence x11-libs/libXxf86vm ) llvm? ( virtual/libelf ) dev-libs/expat dev-libs/libgcrypt wayland? ( dev-libs/wayland:= ) virtual/udev zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60 dev-libs/libxml2 sys-devel/bison sys-devel/flex virtual/pkgconfig x11-base/xorg-proto wayland? ( >=dev-libs/wayland-protocols-1.8 ) llvm? ( sys-devel/llvm )
 DESCRIPTION=OpenGL-like graphic library for Linux
 EAPI=7
 HOMEPAGE=http://mesa3d.sourceforge.net/
-IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_freedreno video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_r128 video_cards_radeonsi video_cards_savage video_cards_sis video_cards_softpipe video_cards_tdfx video_cards_via video_cards_virgl video_cards_vmware +classic debug dri drm egl +gallium -gbm gles1 gles2 kernel_FreeBSD kvm_guest llvm +nptl pic selinux shared-glapi vulkan wayland xlib-glx X libglvnd zstd cros_host cros_workon_tree_b6b18a39106e627750d987321d972bc073a81e13
+IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_freedreno video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_r128 video_cards_radeonsi video_cards_savage video_cards_sis video_cards_softpipe video_cards_tdfx video_cards_via video_cards_virgl video_cards_vmware +classic debug dri drm egl +gallium -gbm gles1 gles2 kernel_FreeBSD kvm_guest llvm +nptl pic selinux shared-glapi vulkan wayland xlib-glx X libglvnd zstd cros_host cros_workon_tree_4bb8e29b5d85ff2dad87951c52d8e89df00d1d09
 KEYWORDS=*
 LICENSE=MIT LGPL-3 SGI-B-2.0
 PROPERTIES=live
-RDEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libxshmfence x11-libs/libXxf86vm ) llvm? ( virtual/libelf ) dev-libs/expat dev-libs/libgcrypt virtual/udev zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60
+RDEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libxshmfence x11-libs/libXxf86vm ) llvm? ( virtual/libelf ) dev-libs/expat dev-libs/libgcrypt wayland? ( dev-libs/wayland:= ) virtual/udev zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60
 REQUIRED_USE=video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( llvm )
 SLOT=0
-_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9e27bf43a3783071715e41627fcf5acc
+_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1a1c31224cd988ce9f4e71184e306463
diff --git a/metadata/md5-cache/media-libs/mesa-21.3.1 b/metadata/md5-cache/media-libs/mesa-21.3.1
deleted file mode 100644
index c0e865b..0000000
--- a/metadata/md5-cache/media-libs/mesa-21.3.1
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=>=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libxshmfence x11-libs/libXxf86vm ) llvm? ( virtual/libelf ) dev-libs/expat dev-libs/libgcrypt virtual/udev zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60 dev-libs/libxml2 sys-devel/bison sys-devel/flex virtual/pkgconfig x11-base/xorg-proto wayland? ( >=dev-libs/wayland-protocols-1.8 ) llvm? ( sys-devel/llvm )
-DESCRIPTION=OpenGL-like graphic library for Linux
-EAPI=7
-HOMEPAGE=http://mesa3d.sourceforge.net/
-IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_freedreno video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_r128 video_cards_radeonsi video_cards_savage video_cards_sis video_cards_softpipe video_cards_tdfx video_cards_via video_cards_virgl video_cards_vmware +classic debug dri drm egl +gallium -gbm gles1 gles2 kernel_FreeBSD kvm_guest llvm +nptl pic selinux shared-glapi vulkan wayland xlib-glx X libglvnd zstd cros_host cros_workon_tree_b6b18a39106e627750d987321d972bc073a81e13
-KEYWORDS=*
-LICENSE=MIT LGPL-3 SGI-B-2.0
-PROPERTIES=live
-RDEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libxshmfence x11-libs/libXxf86vm ) llvm? ( virtual/libelf ) dev-libs/expat dev-libs/libgcrypt virtual/udev zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60
-REQUIRED_USE=video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( llvm )
-SLOT=0
-_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9e27bf43a3783071715e41627fcf5acc
diff --git a/metadata/md5-cache/media-libs/mesa-21.3.8-r2 b/metadata/md5-cache/media-libs/mesa-21.3.8-r2
new file mode 100644
index 0000000..e4a1b2e
--- /dev/null
+++ b/metadata/md5-cache/media-libs/mesa-21.3.8-r2
@@ -0,0 +1,15 @@
+BDEPEND=>=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libxshmfence x11-libs/libXxf86vm ) llvm? ( virtual/libelf ) dev-libs/expat dev-libs/libgcrypt wayland? ( dev-libs/wayland:= ) virtual/udev zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60 dev-libs/libxml2 sys-devel/bison sys-devel/flex virtual/pkgconfig x11-base/xorg-proto wayland? ( >=dev-libs/wayland-protocols-1.8 ) llvm? ( sys-devel/llvm )
+DESCRIPTION=OpenGL-like graphic library for Linux
+EAPI=7
+HOMEPAGE=http://mesa3d.sourceforge.net/
+IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_freedreno video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_r128 video_cards_radeonsi video_cards_savage video_cards_sis video_cards_softpipe video_cards_tdfx video_cards_via video_cards_virgl video_cards_vmware +classic debug dri drm egl +gallium -gbm gles1 gles2 kernel_FreeBSD kvm_guest llvm +nptl pic selinux shared-glapi vulkan wayland xlib-glx X libglvnd zstd cros_host cros_workon_tree_4bb8e29b5d85ff2dad87951c52d8e89df00d1d09
+KEYWORDS=*
+LICENSE=MIT LGPL-3 SGI-B-2.0
+PROPERTIES=live
+RDEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libxshmfence x11-libs/libXxf86vm ) llvm? ( virtual/libelf ) dev-libs/expat dev-libs/libgcrypt wayland? ( dev-libs/wayland:= ) virtual/udev zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60
+REQUIRED_USE=video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( llvm )
+SLOT=0
+_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1a1c31224cd988ce9f4e71184e306463
diff --git a/metadata/md5-cache/media-libs/mesa-9999 b/metadata/md5-cache/media-libs/mesa-9999
index 185bf72..072babe 100644
--- a/metadata/md5-cache/media-libs/mesa-9999
+++ b/metadata/md5-cache/media-libs/mesa-9999
@@ -1,15 +1,15 @@
-BDEPEND=virtual/pkgconfig sys-devel/bison sys-devel/flex >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git dev-vcs/git
+BDEPEND=virtual/pkgconfig sys-devel/bison sys-devel/flex >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=dev-libs/expat:= dev-libs/libgcrypt:= llvm? ( sys-devel/llvm:= ) llvm? ( virtual/libelf:= ) virtual/udev:= X? ( !<x11-base/xorg-server-1.7:= >=x11-libs/libX11-1.3.99.901:= x11-libs/libXdamage:= x11-libs/libXext:= x11-libs/libXrandr:= x11-libs/libxshmfence:= x11-libs/libXxf86vm:= ) zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60:= dev-libs/libxml2:= x11-base/xorg-proto:= wayland? ( >=dev-libs/wayland-protocols-1.8:= )
+DEPEND=dev-libs/expat:= dev-libs/libgcrypt:= wayland? ( dev-libs/wayland:= ) llvm? ( sys-devel/llvm:= ) llvm? ( virtual/libelf:= ) virtual/udev:= X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901:= x11-libs/libXdamage:= x11-libs/libXext:= x11-libs/libXrandr:= x11-libs/libxshmfence:= x11-libs/libXxf86vm:= ) zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60:= dev-libs/libxml2:= x11-base/xorg-proto:= wayland? ( >=dev-libs/wayland-protocols-1.8:= )
 DESCRIPTION=OpenGL-like graphic library for Linux
 EAPI=7
 HOMEPAGE=http://mesa3d.sourceforge.net/
-IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_freedreno video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_r128 video_cards_radeonsi video_cards_savage video_cards_sis video_cards_softpipe video_cards_tdfx video_cards_via video_cards_virgl video_cards_vmware +classic debug dri drm egl +gallium -gbm gles1 gles2 kernel_FreeBSD kvm_guest llvm +nptl pic selinux shared-glapi +vulkan wayland xlib-glx X libglvnd zstd cros_host cros_workon_tree_
+IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_freedreno video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_r128 video_cards_radeonsi video_cards_savage video_cards_sis video_cards_softpipe video_cards_tdfx video_cards_via video_cards_virgl video_cards_vmware +classic debug dri drm egl +gallium -gbm gles1 gles2 kernel_FreeBSD kvm_guest llvm +nptl pic selinux shared-glapi vulkan wayland xlib-glx X libglvnd zstd cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=MIT LGPL-3 SGI-B-2.0
 PROPERTIES=live live
-RDEPEND=dev-libs/expat:= dev-libs/libgcrypt:= llvm? ( sys-devel/llvm:= ) llvm? ( virtual/libelf:= ) virtual/udev:= X? ( !<x11-base/xorg-server-1.7:= >=x11-libs/libX11-1.3.99.901:= x11-libs/libXdamage:= x11-libs/libXext:= x11-libs/libXrandr:= x11-libs/libxshmfence:= x11-libs/libXxf86vm:= ) zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60:= libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd )
+RDEPEND=dev-libs/expat:= dev-libs/libgcrypt:= wayland? ( dev-libs/wayland:= ) llvm? ( sys-devel/llvm:= ) llvm? ( virtual/libelf:= ) virtual/udev:= X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901:= x11-libs/libXdamage:= x11-libs/libXext:= x11-libs/libXrandr:= x11-libs/libxshmfence:= x11-libs/libXxf86vm:= ) zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60:= libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd )
 REQUIRED_USE=video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( llvm )
-SLOT=0/9999
-_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2361f1441ff6268d2493476ff89239fd
+SLOT=0
+_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8f0048ddeb1bac53b682e3cd36948c0d
diff --git a/metadata/md5-cache/media-libs/mesa-amd-21.2.1-r78 b/metadata/md5-cache/media-libs/mesa-amd-21.2.1-r78
deleted file mode 100644
index 602f30b..0000000
--- a/metadata/md5-cache/media-libs/mesa-amd-21.2.1-r78
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) virtual/libelf dev-libs/expat x11-libs/libdrm zstd? ( app-arch/zstd ) !media-libs/mesa sys-devel/bison sys-devel/flex virtual/pkgconfig x11-base/xorg-proto x11-libs/libva sys-devel/llvm >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
-DESCRIPTION=The Mesa 3D Graphics Library
-EAPI=6
-HOMEPAGE=http://mesa3d.org/
-IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_freedreno video_cards_llvmpipe debug libglvnd vulkan zstd cros_host cros_workon_tree_df54eccb038d4e32af6d83cf3f40637298234c10
-KEYWORDS=*
-LICENSE=MIT
-PROPERTIES=live
-RDEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) virtual/libelf dev-libs/expat x11-libs/libdrm zstd? ( app-arch/zstd ) !media-libs/mesa
-SLOT=0
-_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=1d2a6f0a5b188a4f7cbcd8528e71eb2c
diff --git a/metadata/md5-cache/media-libs/mesa-amd-22.1.4-r90 b/metadata/md5-cache/media-libs/mesa-amd-22.1.4-r90
new file mode 100644
index 0000000..b335637
--- /dev/null
+++ b/metadata/md5-cache/media-libs/mesa-amd-22.1.4-r90
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) virtual/libelf dev-libs/expat x11-libs/libdrm zstd? ( app-arch/zstd ) !media-libs/mesa sys-devel/bison sys-devel/flex virtual/pkgconfig x11-base/xorg-proto x11-libs/libva sys-devel/llvm >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+DESCRIPTION=The Mesa 3D Graphics Library
+EAPI=6
+HOMEPAGE=http://mesa3d.org/
+IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_freedreno video_cards_llvmpipe debug libglvnd vulkan zstd cros_host cros_workon_tree_a4eb80a9659d7bd3744f9efb755c019f90da23ea
+KEYWORDS=*
+LICENSE=MIT
+PROPERTIES=live
+RDEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) virtual/libelf dev-libs/expat x11-libs/libdrm zstd? ( app-arch/zstd ) !media-libs/mesa
+SLOT=0
+_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=3c57da9b1562097dd01aaab3b85446cd
diff --git a/metadata/md5-cache/media-libs/mesa-amd-9999 b/metadata/md5-cache/media-libs/mesa-amd-9999
index 08d3aaa..41a60b9 100644
--- a/metadata/md5-cache/media-libs/mesa-amd-9999
+++ b/metadata/md5-cache/media-libs/mesa-amd-9999
@@ -1,5 +1,5 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) virtual/libelf dev-libs/expat x11-libs/libdrm zstd? ( app-arch/zstd ) !media-libs/mesa sys-devel/bison sys-devel/flex virtual/pkgconfig x11-base/xorg-proto x11-libs/libva sys-devel/llvm >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+DEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) virtual/libelf dev-libs/expat x11-libs/libdrm zstd? ( app-arch/zstd ) !media-libs/mesa sys-devel/bison sys-devel/flex virtual/pkgconfig x11-base/xorg-proto x11-libs/libva sys-devel/llvm >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
 DESCRIPTION=The Mesa 3D Graphics Library
 EAPI=6
 HOMEPAGE=http://mesa3d.org/
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) virtual/libelf dev-libs/expat x11-libs/libdrm zstd? ( app-arch/zstd ) !media-libs/mesa
 SLOT=0
-_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=9abc751b65d0d51fa305b33de32c896c
+_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=0053c0eee46dfb0733e157e8f91777aa
diff --git a/metadata/md5-cache/media-libs/mesa-freedreno-22.0.0_pre-r68 b/metadata/md5-cache/media-libs/mesa-freedreno-22.0.0_pre-r68
deleted file mode 100644
index 8ac71bb..0000000
--- a/metadata/md5-cache/media-libs/mesa-freedreno-22.0.0_pre-r68
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=sys-devel/bison sys-devel/flex virtual/pkgconfig >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/expat:= >=x11-libs/libdrm-2.4.94:=
-DESCRIPTION=The Mesa 3D Graphics Library
-EAPI=7
-HOMEPAGE=http://mesa3d.org/
-IUSE=debug vulkan libglvnd zstd cros_host cros_workon_tree_26c1ee090572c537752937a509a6ba387bd58d62
-KEYWORDS=*
-LICENSE=MIT SGI-B-2.0
-PROPERTIES=live
-RDEPEND=dev-libs/expat:= >=x11-libs/libdrm-2.4.94:= libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) zstd? ( app-arch/zstd )
-SLOT=0/22.0.0_pre-r68
-_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c74ca9a16d9a0c0c3cb7a4b1900ebf64
diff --git a/metadata/md5-cache/media-libs/mesa-freedreno-22.3.0_pre-r74 b/metadata/md5-cache/media-libs/mesa-freedreno-22.3.0_pre-r74
new file mode 100644
index 0000000..96484d8
--- /dev/null
+++ b/metadata/md5-cache/media-libs/mesa-freedreno-22.3.0_pre-r74
@@ -0,0 +1,14 @@
+BDEPEND=sys-devel/bison sys-devel/flex virtual/pkgconfig >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=dev-libs/expat:= >=x11-libs/libdrm-2.4.94:=
+DESCRIPTION=The Mesa 3D Graphics Library
+EAPI=7
+HOMEPAGE=http://mesa3d.org/
+IUSE=debug vulkan libglvnd zstd cros_host cros_workon_tree_a3e5ce4259de770713970232d0b5a43edc478a83
+KEYWORDS=*
+LICENSE=MIT SGI-B-2.0
+PROPERTIES=live
+RDEPEND=dev-libs/expat:= >=x11-libs/libdrm-2.4.94:= libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) zstd? ( app-arch/zstd )
+SLOT=0/22.3.0_pre-r74
+_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d09a78524bb75dfb18a03aa73ad002bd
diff --git a/metadata/md5-cache/media-libs/mesa-freedreno-9999 b/metadata/md5-cache/media-libs/mesa-freedreno-9999
index 49a1f2f..f7ecacb 100644
--- a/metadata/md5-cache/media-libs/mesa-freedreno-9999
+++ b/metadata/md5-cache/media-libs/mesa-freedreno-9999
@@ -1,4 +1,4 @@
-BDEPEND=sys-devel/bison sys-devel/flex virtual/pkgconfig >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+BDEPEND=sys-devel/bison sys-devel/flex virtual/pkgconfig >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
 DEPEND=dev-libs/expat:= >=x11-libs/libdrm-2.4.94:=
 DESCRIPTION=The Mesa 3D Graphics Library
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=dev-libs/expat:= >=x11-libs/libdrm-2.4.94:= libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) zstd? ( app-arch/zstd )
 SLOT=0/9999
-_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=ba7d2114054a20cc15fbb7f287fedfcb
diff --git a/metadata/md5-cache/media-libs/mesa-img-19.0_pre1 b/metadata/md5-cache/media-libs/mesa-img-19.0_pre1
index 8f7047c..604a563 100644
--- a/metadata/md5-cache/media-libs/mesa-img-19.0_pre1
+++ b/metadata/md5-cache/media-libs/mesa-img-19.0_pre1
@@ -1,5 +1,5 @@
 DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) !media-libs/mesa X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) llvm? ( virtual/libelf ) dev-libs/expat dev-libs/libgcrypt virtual/udev >=x11-libs/libdrm-2.4.60 dev-libs/libxml2 sys-devel/bison sys-devel/flex virtual/pkgconfig x11-base/xorg-proto wayland? ( >=dev-libs/wayland-protocols-1.8 ) llvm? ( sys-devel/llvm ) video_cards_powervr? ( virtual/img-ddk !<media-libs/img-ddk-1.9 !<media-libs/img-ddk-bin-1.9 ) >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+DEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) !media-libs/mesa X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) llvm? ( virtual/libelf ) dev-libs/expat dev-libs/libgcrypt virtual/udev >=x11-libs/libdrm-2.4.60 dev-libs/libxml2 sys-devel/bison sys-devel/flex virtual/pkgconfig x11-base/xorg-proto wayland? ( >=dev-libs/wayland-protocols-1.8 ) llvm? ( sys-devel/llvm ) video_cards_powervr? ( virtual/img-ddk !<media-libs/img-ddk-1.9 !<media-libs/img-ddk-bin-1.9 ) >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
 DESCRIPTION=OpenGL-like graphic library for Linux
 EAPI=6
 HOMEPAGE=http://mesa3d.sourceforge.net/
@@ -10,5 +10,5 @@
 RDEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) !media-libs/mesa X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) llvm? ( virtual/libelf ) dev-libs/expat dev-libs/libgcrypt virtual/udev >=x11-libs/libdrm-2.4.60
 REQUIRED_USE=video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( llvm )
 SLOT=0
-_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=7354c30a3f7d2f0cbb2667e735029a2c
+_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=433cff39f817e0665af962962f3699f3
diff --git a/metadata/md5-cache/media-libs/mesa-img-19.0_pre1-r7 b/metadata/md5-cache/media-libs/mesa-img-19.0_pre1-r7
deleted file mode 100644
index 8f7047c..0000000
--- a/metadata/md5-cache/media-libs/mesa-img-19.0_pre1-r7
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) !media-libs/mesa X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) llvm? ( virtual/libelf ) dev-libs/expat dev-libs/libgcrypt virtual/udev >=x11-libs/libdrm-2.4.60 dev-libs/libxml2 sys-devel/bison sys-devel/flex virtual/pkgconfig x11-base/xorg-proto wayland? ( >=dev-libs/wayland-protocols-1.8 ) llvm? ( sys-devel/llvm ) video_cards_powervr? ( virtual/img-ddk !<media-libs/img-ddk-1.9 !<media-libs/img-ddk-bin-1.9 ) >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
-DESCRIPTION=OpenGL-like graphic library for Linux
-EAPI=6
-HOMEPAGE=http://mesa3d.sourceforge.net/
-IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_freedreno video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_powervr video_cards_r128 video_cards_radeonsi video_cards_savage video_cards_sis video_cards_softpipe video_cards_tdfx video_cards_via video_cards_virgl video_cards_vmware +classic debug dri drm egl -gallium -gbm gles1 gles2 -llvm +nptl pic selinux shared-glapi kernel_FreeBSD vulkan wayland xlib-glx X libglvnd cros_host cros_workon_tree_b09304eab38348e2a157c4adc75542a460746ce9
-KEYWORDS=*
-LICENSE=MIT LGPL-3 SGI-B-2.0
-PROPERTIES=live
-RDEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) !media-libs/mesa X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) llvm? ( virtual/libelf ) dev-libs/expat dev-libs/libgcrypt virtual/udev >=x11-libs/libdrm-2.4.60
-REQUIRED_USE=video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( llvm )
-SLOT=0
-_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=7354c30a3f7d2f0cbb2667e735029a2c
diff --git a/metadata/md5-cache/media-libs/mesa-img-19.0_pre1-r9 b/metadata/md5-cache/media-libs/mesa-img-19.0_pre1-r9
new file mode 100644
index 0000000..604a563
--- /dev/null
+++ b/metadata/md5-cache/media-libs/mesa-img-19.0_pre1-r9
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) !media-libs/mesa X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) llvm? ( virtual/libelf ) dev-libs/expat dev-libs/libgcrypt virtual/udev >=x11-libs/libdrm-2.4.60 dev-libs/libxml2 sys-devel/bison sys-devel/flex virtual/pkgconfig x11-base/xorg-proto wayland? ( >=dev-libs/wayland-protocols-1.8 ) llvm? ( sys-devel/llvm ) video_cards_powervr? ( virtual/img-ddk !<media-libs/img-ddk-1.9 !<media-libs/img-ddk-bin-1.9 ) >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+DESCRIPTION=OpenGL-like graphic library for Linux
+EAPI=6
+HOMEPAGE=http://mesa3d.sourceforge.net/
+IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_freedreno video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_powervr video_cards_r128 video_cards_radeonsi video_cards_savage video_cards_sis video_cards_softpipe video_cards_tdfx video_cards_via video_cards_virgl video_cards_vmware +classic debug dri drm egl -gallium -gbm gles1 gles2 -llvm +nptl pic selinux shared-glapi kernel_FreeBSD vulkan wayland xlib-glx X libglvnd cros_host cros_workon_tree_b09304eab38348e2a157c4adc75542a460746ce9
+KEYWORDS=*
+LICENSE=MIT LGPL-3 SGI-B-2.0
+PROPERTIES=live
+RDEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) !media-libs/mesa X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) llvm? ( virtual/libelf ) dev-libs/expat dev-libs/libgcrypt virtual/udev >=x11-libs/libdrm-2.4.60
+REQUIRED_USE=video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( llvm )
+SLOT=0
+_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=433cff39f817e0665af962962f3699f3
diff --git a/metadata/md5-cache/media-libs/mesa-img-9999 b/metadata/md5-cache/media-libs/mesa-img-9999
index 65891c9..e343221 100644
--- a/metadata/md5-cache/media-libs/mesa-img-9999
+++ b/metadata/md5-cache/media-libs/mesa-img-9999
@@ -1,5 +1,5 @@
 DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) !media-libs/mesa X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) llvm? ( virtual/libelf ) dev-libs/expat dev-libs/libgcrypt virtual/udev >=x11-libs/libdrm-2.4.60 dev-libs/libxml2 sys-devel/bison sys-devel/flex virtual/pkgconfig x11-base/xorg-proto wayland? ( >=dev-libs/wayland-protocols-1.8 ) llvm? ( sys-devel/llvm ) video_cards_powervr? ( virtual/img-ddk !<media-libs/img-ddk-1.9 !<media-libs/img-ddk-bin-1.9 ) >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+DEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) !media-libs/mesa X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) llvm? ( virtual/libelf ) dev-libs/expat dev-libs/libgcrypt virtual/udev >=x11-libs/libdrm-2.4.60 dev-libs/libxml2 sys-devel/bison sys-devel/flex virtual/pkgconfig x11-base/xorg-proto wayland? ( >=dev-libs/wayland-protocols-1.8 ) llvm? ( sys-devel/llvm ) video_cards_powervr? ( virtual/img-ddk !<media-libs/img-ddk-1.9 !<media-libs/img-ddk-bin-1.9 ) >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
 DESCRIPTION=OpenGL-like graphic library for Linux
 EAPI=6
 HOMEPAGE=http://mesa3d.sourceforge.net/
@@ -10,5 +10,5 @@
 RDEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) !media-libs/mesa X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) llvm? ( virtual/libelf ) dev-libs/expat dev-libs/libgcrypt virtual/udev >=x11-libs/libdrm-2.4.60
 REQUIRED_USE=video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( llvm )
 SLOT=0
-_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=023b13bd8e9cfc0d02d029ae9b641d4e
+_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=bad5019750c3445f95d0cb0dcc249d69
diff --git a/metadata/md5-cache/media-libs/mesa-iris-21.2.5-r41 b/metadata/md5-cache/media-libs/mesa-iris-21.2.5-r41
deleted file mode 100644
index 277addb..0000000
--- a/metadata/md5-cache/media-libs/mesa-iris-21.2.5-r41
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=sys-devel/bison sys-devel/flex virtual/pkgconfig >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/expat:= >=x11-libs/libdrm-2.4.94:=
-DESCRIPTION=The Mesa 3D Graphics Library
-EAPI=7
-HOMEPAGE=http://mesa3d.org/
-IUSE=debug libglvnd tools vulkan zstd cros_host cros_workon_tree_4049f13733d26cfc9a9360f0868039fba31959db
-KEYWORDS=*
-LICENSE=MIT SGI-B-2.0
-PROPERTIES=live
-RDEPEND=dev-libs/expat:= >=x11-libs/libdrm-2.4.94:= libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) zstd? ( app-arch/zstd )
-SLOT=0/21.2.5-r41
-_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=3d566f351d871703a5d26caaf5dfe0d9
diff --git a/metadata/md5-cache/media-libs/mesa-iris-22.1.4-r58 b/metadata/md5-cache/media-libs/mesa-iris-22.1.4-r58
new file mode 100644
index 0000000..3d2e679
--- /dev/null
+++ b/metadata/md5-cache/media-libs/mesa-iris-22.1.4-r58
@@ -0,0 +1,14 @@
+BDEPEND=sys-devel/bison sys-devel/flex virtual/pkgconfig >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=dev-libs/expat:= >=x11-libs/libdrm-2.4.94:=
+DESCRIPTION=The Mesa 3D Graphics Library
+EAPI=7
+HOMEPAGE=http://mesa3d.org/
+IUSE=debug libglvnd tools vulkan zstd cros_host cros_workon_tree_6f7e0fcf8fa0ac39af0cb8bd0ae435c46fd501a5 asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=MIT SGI-B-2.0
+PROPERTIES=live
+RDEPEND=dev-libs/expat:= >=x11-libs/libdrm-2.4.94:= libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) zstd? ( app-arch/zstd )
+SLOT=0/22.1.4-r58
+_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7ec38c9a7f19b7d06f86de4364f13968
diff --git a/metadata/md5-cache/media-libs/mesa-iris-9999 b/metadata/md5-cache/media-libs/mesa-iris-9999
index 84b4ce2..79247eb 100644
--- a/metadata/md5-cache/media-libs/mesa-iris-9999
+++ b/metadata/md5-cache/media-libs/mesa-iris-9999
@@ -1,14 +1,14 @@
-BDEPEND=sys-devel/bison sys-devel/flex virtual/pkgconfig >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+BDEPEND=sys-devel/bison sys-devel/flex virtual/pkgconfig >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
 DEPEND=dev-libs/expat:= >=x11-libs/libdrm-2.4.94:=
 DESCRIPTION=The Mesa 3D Graphics Library
 EAPI=7
 HOMEPAGE=http://mesa3d.org/
-IUSE=debug libglvnd tools vulkan zstd cros_host cros_workon_tree_
+IUSE=debug libglvnd tools vulkan zstd cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=MIT SGI-B-2.0
 PROPERTIES=live
 RDEPEND=dev-libs/expat:= >=x11-libs/libdrm-2.4.94:= libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) zstd? ( app-arch/zstd )
 SLOT=0/9999
-_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e2892937b45da47fdd8d0d4e2b896832
+_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4f4779231a2beee5086aedcb91dd408c
diff --git a/metadata/md5-cache/media-libs/mesa-llvmpipe-21.2 b/metadata/md5-cache/media-libs/mesa-llvmpipe-21.2
deleted file mode 100644
index 7b1d667..0000000
--- a/metadata/md5-cache/media-libs/mesa-llvmpipe-21.2
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=>=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) wayland? ( dev-libs/wayland >=dev-libs/wayland-protocols-1.8 ) llvm? ( virtual/libelf ) !media-libs/mesa dev-libs/expat dev-libs/libgcrypt virtual/udev zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60 dev-libs/libxml2 sys-devel/bison sys-devel/flex virtual/pkgconfig x11-base/xorg-proto llvm? ( sys-devel/llvm )
-DESCRIPTION=OpenGL-like graphic library for Linux
-EAPI=7
-HOMEPAGE=http://mesa3d.sourceforge.net/
-IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_freedreno video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_r128 video_cards_radeonsi video_cards_savage video_cards_sis video_cards_softpipe video_cards_tdfx video_cards_via video_cards_virgl video_cards_vmware +classic debug dri drm egl +gallium -gbm gles1 gles2 kernel_FreeBSD kvm_guest llvm +nptl pic selinux shared-glapi vulkan wayland xlib-glx X libglvnd zstd cros_host cros_workon_tree_dc2e8513f627de823b24480670875277b9f478b2
-KEYWORDS=*
-LICENSE=MIT LGPL-3 SGI-B-2.0
-PROPERTIES=live
-RDEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) wayland? ( dev-libs/wayland >=dev-libs/wayland-protocols-1.8 ) llvm? ( virtual/libelf ) !media-libs/mesa dev-libs/expat dev-libs/libgcrypt virtual/udev zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60
-REQUIRED_USE=video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( llvm )
-SLOT=0
-_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c5694d5407ffe5ec2e45694adb31440f
diff --git a/metadata/md5-cache/media-libs/mesa-llvmpipe-21.2.3-r1 b/metadata/md5-cache/media-libs/mesa-llvmpipe-21.2.3-r1
deleted file mode 100644
index 7b1d667..0000000
--- a/metadata/md5-cache/media-libs/mesa-llvmpipe-21.2.3-r1
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=>=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) wayland? ( dev-libs/wayland >=dev-libs/wayland-protocols-1.8 ) llvm? ( virtual/libelf ) !media-libs/mesa dev-libs/expat dev-libs/libgcrypt virtual/udev zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60 dev-libs/libxml2 sys-devel/bison sys-devel/flex virtual/pkgconfig x11-base/xorg-proto llvm? ( sys-devel/llvm )
-DESCRIPTION=OpenGL-like graphic library for Linux
-EAPI=7
-HOMEPAGE=http://mesa3d.sourceforge.net/
-IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_freedreno video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_r128 video_cards_radeonsi video_cards_savage video_cards_sis video_cards_softpipe video_cards_tdfx video_cards_via video_cards_virgl video_cards_vmware +classic debug dri drm egl +gallium -gbm gles1 gles2 kernel_FreeBSD kvm_guest llvm +nptl pic selinux shared-glapi vulkan wayland xlib-glx X libglvnd zstd cros_host cros_workon_tree_dc2e8513f627de823b24480670875277b9f478b2
-KEYWORDS=*
-LICENSE=MIT LGPL-3 SGI-B-2.0
-PROPERTIES=live
-RDEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) wayland? ( dev-libs/wayland >=dev-libs/wayland-protocols-1.8 ) llvm? ( virtual/libelf ) !media-libs/mesa dev-libs/expat dev-libs/libgcrypt virtual/udev zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60
-REQUIRED_USE=video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( llvm )
-SLOT=0
-_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c5694d5407ffe5ec2e45694adb31440f
diff --git a/metadata/md5-cache/media-libs/mesa-llvmpipe-22.0 b/metadata/md5-cache/media-libs/mesa-llvmpipe-22.0
new file mode 100644
index 0000000..4f5211a
--- /dev/null
+++ b/metadata/md5-cache/media-libs/mesa-llvmpipe-22.0
@@ -0,0 +1,15 @@
+BDEPEND=>=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) wayland? ( dev-libs/wayland >=dev-libs/wayland-protocols-1.8 ) llvm? ( virtual/libelf ) !media-libs/mesa dev-libs/expat dev-libs/libgcrypt virtual/udev zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60 dev-libs/libxml2 sys-devel/bison sys-devel/flex virtual/pkgconfig x11-base/xorg-proto llvm? ( sys-devel/llvm )
+DESCRIPTION=OpenGL-like graphic library for Linux
+EAPI=7
+HOMEPAGE=http://mesa3d.sourceforge.net/
+IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_freedreno video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_r128 video_cards_radeonsi video_cards_savage video_cards_sis video_cards_softpipe video_cards_tdfx video_cards_via video_cards_virgl video_cards_vmware debug dri drm egl +gallium -gbm gles1 gles2 kernel_FreeBSD kvm_guest llvm +nptl pic selinux shared-glapi vulkan wayland xlib-glx X libglvnd zstd cros_host cros_workon_tree_1d566c47fb1efbf7c47df5c790aed9739ab3ba6e
+KEYWORDS=*
+LICENSE=MIT LGPL-3 SGI-B-2.0
+PROPERTIES=live
+RDEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) wayland? ( dev-libs/wayland >=dev-libs/wayland-protocols-1.8 ) llvm? ( virtual/libelf ) !media-libs/mesa dev-libs/expat dev-libs/libgcrypt virtual/udev zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60
+REQUIRED_USE=video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( llvm )
+SLOT=0
+_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=734127e6d1e76e068a6ac23239489f86
diff --git a/metadata/md5-cache/media-libs/mesa-llvmpipe-22.0.1 b/metadata/md5-cache/media-libs/mesa-llvmpipe-22.0.1
new file mode 100644
index 0000000..4f5211a
--- /dev/null
+++ b/metadata/md5-cache/media-libs/mesa-llvmpipe-22.0.1
@@ -0,0 +1,15 @@
+BDEPEND=>=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) wayland? ( dev-libs/wayland >=dev-libs/wayland-protocols-1.8 ) llvm? ( virtual/libelf ) !media-libs/mesa dev-libs/expat dev-libs/libgcrypt virtual/udev zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60 dev-libs/libxml2 sys-devel/bison sys-devel/flex virtual/pkgconfig x11-base/xorg-proto llvm? ( sys-devel/llvm )
+DESCRIPTION=OpenGL-like graphic library for Linux
+EAPI=7
+HOMEPAGE=http://mesa3d.sourceforge.net/
+IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_freedreno video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_r128 video_cards_radeonsi video_cards_savage video_cards_sis video_cards_softpipe video_cards_tdfx video_cards_via video_cards_virgl video_cards_vmware debug dri drm egl +gallium -gbm gles1 gles2 kernel_FreeBSD kvm_guest llvm +nptl pic selinux shared-glapi vulkan wayland xlib-glx X libglvnd zstd cros_host cros_workon_tree_1d566c47fb1efbf7c47df5c790aed9739ab3ba6e
+KEYWORDS=*
+LICENSE=MIT LGPL-3 SGI-B-2.0
+PROPERTIES=live
+RDEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) wayland? ( dev-libs/wayland >=dev-libs/wayland-protocols-1.8 ) llvm? ( virtual/libelf ) !media-libs/mesa dev-libs/expat dev-libs/libgcrypt virtual/udev zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60
+REQUIRED_USE=video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( llvm )
+SLOT=0
+_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=734127e6d1e76e068a6ac23239489f86
diff --git a/metadata/md5-cache/media-libs/mesa-llvmpipe-9999 b/metadata/md5-cache/media-libs/mesa-llvmpipe-9999
index 3e4a75d..00b9bf1 100644
--- a/metadata/md5-cache/media-libs/mesa-llvmpipe-9999
+++ b/metadata/md5-cache/media-libs/mesa-llvmpipe-9999
@@ -1,15 +1,15 @@
-BDEPEND=>=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git dev-vcs/git
+BDEPEND=>=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) zstd? ( app-arch/zstd ) wayland? ( dev-libs/wayland >=dev-libs/wayland-protocols-1.8 ) llvm? ( virtual/libelf ) !media-libs/mesa dev-libs/expat dev-libs/libgcrypt virtual/udev >=x11-libs/libdrm-2.4.60 dev-libs/libxml2 sys-devel/bison sys-devel/flex virtual/pkgconfig x11-base/xorg-proto llvm? ( sys-devel/llvm )
+DEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) wayland? ( dev-libs/wayland >=dev-libs/wayland-protocols-1.8 ) llvm? ( virtual/libelf ) !media-libs/mesa dev-libs/expat dev-libs/libgcrypt virtual/udev zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60 dev-libs/libxml2 sys-devel/bison sys-devel/flex virtual/pkgconfig x11-base/xorg-proto llvm? ( sys-devel/llvm )
 DESCRIPTION=OpenGL-like graphic library for Linux
 EAPI=7
 HOMEPAGE=http://mesa3d.sourceforge.net/
-IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_freedreno video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_r128 video_cards_radeonsi video_cards_savage video_cards_sis video_cards_softpipe video_cards_tdfx video_cards_via video_cards_virgl video_cards_vmware +classic debug dri drm egl +gallium -gbm gles1 gles2 kernel_FreeBSD kvm_guest llvm +nptl pic selinux shared-glapi vulkan wayland xlib-glx X libglvnd zstd cros_host cros_workon_tree_
+IUSE=video_cards_intel video_cards_amdgpu video_cards_radeon video_cards_freedreno video_cards_llvmpipe video_cards_mach64 video_cards_mga video_cards_nouveau video_cards_r128 video_cards_radeonsi video_cards_savage video_cards_sis video_cards_softpipe video_cards_tdfx video_cards_via video_cards_virgl video_cards_vmware debug dri drm egl +gallium -gbm gles1 gles2 kernel_FreeBSD kvm_guest llvm +nptl pic selinux shared-glapi vulkan wayland xlib-glx X libglvnd zstd cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=MIT LGPL-3 SGI-B-2.0
 PROPERTIES=live live
-RDEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) zstd? ( app-arch/zstd ) wayland? ( dev-libs/wayland >=dev-libs/wayland-protocols-1.8 ) llvm? ( virtual/libelf ) !media-libs/mesa dev-libs/expat dev-libs/libgcrypt virtual/udev >=x11-libs/libdrm-2.4.60
+RDEPEND=libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) X? ( !<x11-base/xorg-server-1.7 >=x11-libs/libX11-1.3.99.901 x11-libs/libXdamage x11-libs/libXext x11-libs/libXrandr x11-libs/libXxf86vm ) wayland? ( dev-libs/wayland >=dev-libs/wayland-protocols-1.8 ) llvm? ( virtual/libelf ) !media-libs/mesa dev-libs/expat dev-libs/libgcrypt virtual/udev zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60
 REQUIRED_USE=video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( llvm )
 SLOT=0
-_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=17610aedab80c21877daa1f7e0ac147f
+_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b22e697b9b321ffafa2d78e369ebc306
diff --git a/metadata/md5-cache/media-libs/mesa-panfrost-21.2.1-r1 b/metadata/md5-cache/media-libs/mesa-panfrost-21.2.1-r1
index fdedaa1..8320e85 100644
--- a/metadata/md5-cache/media-libs/mesa-panfrost-21.2.1-r1
+++ b/metadata/md5-cache/media-libs/mesa-panfrost-21.2.1-r1
@@ -1,4 +1,4 @@
-BDEPEND=sys-devel/bison sys-devel/flex virtual/pkgconfig >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+BDEPEND=sys-devel/bison sys-devel/flex virtual/pkgconfig >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
 DEPEND=dev-libs/expat:= >=x11-libs/libdrm-2.4.94:=
 DESCRIPTION=The Mesa 3D Graphics Library
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=dev-libs/expat:= >=x11-libs/libdrm-2.4.94:= libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) zstd? ( app-arch/zstd )
 SLOT=0/21.2.1-r1
-_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=34ce885f80b78508aee1486aaf320b03
diff --git a/metadata/md5-cache/media-libs/mesa-panfrost-9999 b/metadata/md5-cache/media-libs/mesa-panfrost-9999
index 216f961..5b2c246 100644
--- a/metadata/md5-cache/media-libs/mesa-panfrost-9999
+++ b/metadata/md5-cache/media-libs/mesa-panfrost-9999
@@ -1,4 +1,4 @@
-BDEPEND=sys-devel/bison sys-devel/flex virtual/pkgconfig >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+BDEPEND=sys-devel/bison sys-devel/flex virtual/pkgconfig >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
 DEPEND=dev-libs/expat:= >=x11-libs/libdrm-2.4.94:=
 DESCRIPTION=The Mesa 3D Graphics Library
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=dev-libs/expat:= >=x11-libs/libdrm-2.4.94:= libglvnd? ( media-libs/libglvnd ) !libglvnd? ( !media-libs/libglvnd ) zstd? ( app-arch/zstd )
 SLOT=0/9999
-_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=214de9b0fab8a94e9daca7d1cf3be9a1
diff --git a/metadata/md5-cache/media-libs/mesa-reven-21.0.2-r13 b/metadata/md5-cache/media-libs/mesa-reven-21.0.2-r13
deleted file mode 100644
index 06cf653..0000000
--- a/metadata/md5-cache/media-libs/mesa-reven-21.0.2-r13
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=virtual/pkgconfig sys-devel/bison sys-devel/flex >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=dev-libs/expat:= dev-libs/libgcrypt:= llvm? ( virtual/libelf:= ) virtual/udev:= zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60:= dev-libs/libxml2:= x11-base/xorg-proto:= llvm? ( sys-devel/llvm:= ) wayland? ( >=dev-libs/wayland-protocols-1.8:= )
-DESCRIPTION=The Mesa 3D Graphics Library
-EAPI=7
-HOMEPAGE=http://mesa3d.org/
-IUSE=video_cards_amdgpu video_cards_intel video_cards_iris video_cards_llvmpipe video_cards_nouveau video_cards_radeon video_cards_virgl video_cards_vmware +classic debug dri egl +gallium -gbm gles1 gles2 kvm_guest llvm +nptl pic selinux shared-glapi vulkan wayland zstd libglvnd cros_host cros_workon_tree_774f755ad7cad94b468934205903c21ac82a69d5
-KEYWORDS=*
-LICENSE=MIT LGPL-3 SGI-B-2.0
-PROPERTIES=live
-RDEPEND=dev-libs/expat:= dev-libs/libgcrypt:= llvm? ( virtual/libelf:= ) virtual/udev:= zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60:= libglvnd? ( media-libs/libglvnd:= )
-REQUIRED_USE=video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( llvm )
-SLOT=0/21.0.2-r13
-_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c42f87fb9486312b2163c65adb810511
diff --git a/metadata/md5-cache/media-libs/mesa-reven-21.0.2-r23 b/metadata/md5-cache/media-libs/mesa-reven-21.0.2-r23
new file mode 100644
index 0000000..75d55b0
--- /dev/null
+++ b/metadata/md5-cache/media-libs/mesa-reven-21.0.2-r23
@@ -0,0 +1,15 @@
+BDEPEND=virtual/pkgconfig sys-devel/bison sys-devel/flex >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=dev-libs/expat:= dev-libs/libgcrypt:= llvm? ( virtual/libelf:= ) virtual/udev:= zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60:= dev-libs/libxml2:= x11-base/xorg-proto:= llvm? ( sys-devel/llvm:= ) wayland? ( >=dev-libs/wayland-protocols-1.8:= )
+DESCRIPTION=The Mesa 3D Graphics Library
+EAPI=7
+HOMEPAGE=http://mesa3d.org/
+IUSE=video_cards_amdgpu video_cards_intel video_cards_iris video_cards_llvmpipe video_cards_nouveau video_cards_radeon video_cards_virgl video_cards_vmware +classic debug dri egl +gallium -gbm gles1 gles2 kvm_guest llvm +nptl pic selinux shared-glapi vulkan wayland zstd libglvnd cros_host cros_workon_tree_c33b4f92092b0d9c8f97e1ec8666820b7c499090
+KEYWORDS=*
+LICENSE=MIT LGPL-3 SGI-B-2.0
+PROPERTIES=live
+RDEPEND=dev-libs/expat:= dev-libs/libgcrypt:= llvm? ( virtual/libelf:= ) virtual/udev:= zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60:= libglvnd? ( media-libs/libglvnd:= )
+REQUIRED_USE=video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( llvm )
+SLOT=0/21.0.2-r23
+_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=784e139aa6932d9204a4a100ac2c274e
diff --git a/metadata/md5-cache/media-libs/mesa-reven-9999 b/metadata/md5-cache/media-libs/mesa-reven-9999
index 3156699..6ccbc03 100644
--- a/metadata/md5-cache/media-libs/mesa-reven-9999
+++ b/metadata/md5-cache/media-libs/mesa-reven-9999
@@ -1,4 +1,4 @@
-BDEPEND=virtual/pkgconfig sys-devel/bison sys-devel/flex >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+BDEPEND=virtual/pkgconfig sys-devel/bison sys-devel/flex >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
 DEPEND=dev-libs/expat:= dev-libs/libgcrypt:= llvm? ( virtual/libelf:= ) virtual/udev:= zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60:= dev-libs/libxml2:= x11-base/xorg-proto:= llvm? ( sys-devel/llvm:= ) wayland? ( >=dev-libs/wayland-protocols-1.8:= )
 DESCRIPTION=The Mesa 3D Graphics Library
@@ -11,5 +11,5 @@
 RDEPEND=dev-libs/expat:= dev-libs/libgcrypt:= llvm? ( virtual/libelf:= ) virtual/udev:= zstd? ( app-arch/zstd ) >=x11-libs/libdrm-2.4.60:= libglvnd? ( media-libs/libglvnd:= )
 REQUIRED_USE=video_cards_amdgpu? ( llvm ) video_cards_llvmpipe? ( llvm )
 SLOT=0/9999
-_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ab7519a9a4f0a31d9b77b8f1572077c6
+_eclasses_=base	ec46b36a6f6fd1d0b505a33e0b74e413	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=5f77e256f123cd54f5f3b584942697c1
diff --git a/metadata/md5-cache/media-libs/minigbm-0.0.1-r563 b/metadata/md5-cache/media-libs/minigbm-0.0.1-r563
deleted file mode 100644
index a40bfbb..0000000
--- a/metadata/md5-cache/media-libs/minigbm-0.0.1-r563
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=x11-libs/libdrm !media-libs/mesa[gbm] virtual/pkgconfig video_cards_amdgpu? ( virtual/opengles x11-drivers/opengles-headers )
-DESCRIPTION=Mini GBM implementation
-EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/minigbm
-IUSE=-asan linear_align_256 video_cards_amdgpu video_cards_exynos video_cards_intel video_cards_marvell video_cards_mediatek video_cards_msm video_cards_radeon video_cards_radeonsi video_cards_rockchip video_cards_tegra video_cards_vc4 video_cards_virgl minigbm_platform_mt8183 minigbm_platform_mt8186 minigbm_platform_mt8192 minigbm_platform_mt8195 minigbm_platform_sc7280 asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_889ec259c7672ffc733d3ea60a0403fdddd2735d
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=x11-libs/libdrm !media-libs/mesa[gbm]
-SLOT=0
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=78e21ebe3389c421020fdcebd6a47b7c
diff --git a/metadata/md5-cache/media-libs/minigbm-0.0.1-r599 b/metadata/md5-cache/media-libs/minigbm-0.0.1-r599
new file mode 100644
index 0000000..e74085e
--- /dev/null
+++ b/metadata/md5-cache/media-libs/minigbm-0.0.1-r599
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=x11-libs/libdrm !media-libs/mesa[gbm] virtual/pkgconfig video_cards_amdgpu? ( virtual/opengles x11-drivers/opengles-headers )
+DESCRIPTION=Mini GBM implementation
+EAPI=6
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/minigbm
+IUSE=-asan linear_align_256 video_cards_amdgpu video_cards_exynos video_cards_intel video_cards_marvell video_cards_mediatek video_cards_msm video_cards_radeon video_cards_radeonsi video_cards_rockchip video_cards_tegra video_cards_vc4 video_cards_virgl minigbm_platform_mt8183 minigbm_platform_mt8186 minigbm_platform_mt8192 minigbm_platform_mt8195 minigbm_platform_sc7280 asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_307193d7a54eb264e2b9246ad4af49c3436fe4b6
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=x11-libs/libdrm !media-libs/mesa[gbm]
+SLOT=0
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=72a0173f282a10cd22edd91a23f63892
diff --git a/metadata/md5-cache/media-libs/minigbm-9999 b/metadata/md5-cache/media-libs/minigbm-9999
index f809cb2..c1af04f 100644
--- a/metadata/md5-cache/media-libs/minigbm-9999
+++ b/metadata/md5-cache/media-libs/minigbm-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=x11-libs/libdrm !media-libs/mesa[gbm]
 SLOT=0
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=403825de3b36208012d09ada18590538
diff --git a/metadata/md5-cache/media-libs/opencl-cts-0.0.1 b/metadata/md5-cache/media-libs/opencl-cts-0.0.1
index 9d8283d..a020e8c 100644
--- a/metadata/md5-cache/media-libs/opencl-cts-0.0.1
+++ b/metadata/md5-cache/media-libs/opencl-cts-0.0.1
@@ -6,8 +6,8 @@
 HOMEPAGE=https://github.com/KhronosGroup/OpenCL-CTS
 KEYWORDS=*
 LICENSE=Apache-2.0
-RDEPEND=>=dev-util/spirv-tools-2020.6 >=media-libs/vulkan-loader-1.2.162 >=media-libs/clvk-0.0.1
+RDEPEND=>=media-libs/clvk-0.0.1
 SLOT=0
 SRC_URI=https://storage.googleapis.com/chromeos-localmirror/distfiles/OpenCL-CTS-2021-08-16-00.zip
 _eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=2cad0fa40e8a936060f4d27ed577c7b4
+_md5_=042362154d4ab299f81b30c17508dff7
diff --git a/metadata/md5-cache/media-libs/opencl-cts-0.0.1-r1 b/metadata/md5-cache/media-libs/opencl-cts-0.0.1-r1
deleted file mode 100644
index 9d8283d..0000000
--- a/metadata/md5-cache/media-libs/opencl-cts-0.0.1-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=>=dev-util/cmake-3.13.4 dev-util/ninja >=dev-util/cmake-3.9.6
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=>=dev-util/opencl-headers-2021.04.29 >=media-libs/clvk-0.0.1
-DESCRIPTION=The OpenCL Conformance Tests
-EAPI=7
-HOMEPAGE=https://github.com/KhronosGroup/OpenCL-CTS
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND=>=dev-util/spirv-tools-2020.6 >=media-libs/vulkan-loader-1.2.162 >=media-libs/clvk-0.0.1
-SLOT=0
-SRC_URI=https://storage.googleapis.com/chromeos-localmirror/distfiles/OpenCL-CTS-2021-08-16-00.zip
-_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=2cad0fa40e8a936060f4d27ed577c7b4
diff --git a/metadata/md5-cache/media-libs/opencl-cts-0.0.1-r3 b/metadata/md5-cache/media-libs/opencl-cts-0.0.1-r3
new file mode 100644
index 0000000..a020e8c
--- /dev/null
+++ b/metadata/md5-cache/media-libs/opencl-cts-0.0.1-r3
@@ -0,0 +1,13 @@
+BDEPEND=>=dev-util/cmake-3.13.4 dev-util/ninja >=dev-util/cmake-3.9.6
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=>=dev-util/opencl-headers-2021.04.29 >=media-libs/clvk-0.0.1
+DESCRIPTION=The OpenCL Conformance Tests
+EAPI=7
+HOMEPAGE=https://github.com/KhronosGroup/OpenCL-CTS
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=>=media-libs/clvk-0.0.1
+SLOT=0
+SRC_URI=https://storage.googleapis.com/chromeos-localmirror/distfiles/OpenCL-CTS-2021-08-16-00.zip
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=042362154d4ab299f81b30c17508dff7
diff --git a/metadata/md5-cache/media-libs/opencv-4.1.2-r3 b/metadata/md5-cache/media-libs/opencv-4.1.2-r3
deleted file mode 100644
index 9f2e11f..0000000
--- a/metadata/md5-cache/media-libs/opencv-4.1.2-r3
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-util/ninja >=dev-util/cmake-3.9.6
-DEFINED_PHASES=compile configure install preinst prepare setup test
-DEPEND=app-arch/bzip2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/protobuf:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/zlib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] cuda? ( dev-util/nvidia-cuda-toolkit:0= ) contribhdf? ( sci-libs/hdf5:= ) ffmpeg? ( libav? ( media-video/libav:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !libav? ( media-video/ffmpeg:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) gdal? ( sci-libs/gdal:= ) gflags? ( dev-cpp/gflags[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) glog? ( dev-cpp/glog[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gstreamer? ( media-libs/gstreamer:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] media-libs/gst-plugins-base:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gtk? ( dev-libs/glib:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/gtk+:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] opengl? ( x11-libs/gtkglext[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) ieee1394? ( media-libs/libdc1394[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/libraw1394[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) java? ( >=virtual/jre-1.6:* ) jpeg? ( virtual/jpeg:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) lapack? ( virtual/lapack ) opencl? ( virtual/opencl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) openexr? ( media-libs/openexr[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) opengl? ( virtual/opengl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/glu[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) png? ( media-libs/libpng:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/numpy[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] ) qt5? ( dev-qt/qtgui:5 dev-qt/qtwidgets:5 dev-qt/qttest:5 dev-qt/qtconcurrent:5 opengl? ( dev-qt/qtopengl:5 ) ) tesseract? ( app-text/tesseract[opencl=] ) threads? ( dev-cpp/tbb[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) tiff? ( media-libs/tiff:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) v4l? ( >=media-libs/libv4l-0.8.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) vtk? ( sci-libs/vtk[rendering] ) webp? ( media-libs/libwebp[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) xine? ( media-libs/xine-lib ) virtual/pkgconfig[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] eigen? ( dev-cpp/eigen:3 ) java? ( >=virtual/jdk-1.6 ) vaapi? ( x11-libs/libva ) java? ( >=dev-java/java-config-2.2.0-r3 ) java? ( >=dev-java/ant-core-1.8.2:0 >=dev-java/javatoolkit-0.3.0-r2 )
-DESCRIPTION=A collection of algorithms and sample code for various computer vision problems
-EAPI=7
-HOMEPAGE=https://opencv.org
-IUSE=contrib contribcvv contribdnn contribhdf contribsfm contribxfeatures2d cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_popcnt cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_fma3 cuda debug dnnsamples -download +eigen examples +features2d ffmpeg gdal gflags glog gphoto2 gstreamer gtk ieee1394 jpeg jpeg2k lapack libav opencl openexr opengl openmp opencvapps pch png +python qt5 tesseract testprograms threads tiff vaapi v4l vtk webp xine elibc_FreeBSD java elibc_FreeBSD python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=BSD
-RDEPEND=app-arch/bzip2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/protobuf:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/zlib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] cuda? ( dev-util/nvidia-cuda-toolkit:0= ) contribhdf? ( sci-libs/hdf5:= ) ffmpeg? ( libav? ( media-video/libav:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !libav? ( media-video/ffmpeg:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) gdal? ( sci-libs/gdal:= ) gflags? ( dev-cpp/gflags[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) glog? ( dev-cpp/glog[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gstreamer? ( media-libs/gstreamer:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] media-libs/gst-plugins-base:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gtk? ( dev-libs/glib:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/gtk+:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] opengl? ( x11-libs/gtkglext[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) ieee1394? ( media-libs/libdc1394[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/libraw1394[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) java? ( >=virtual/jre-1.6:* ) jpeg? ( virtual/jpeg:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) lapack? ( virtual/lapack ) opencl? ( virtual/opencl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) openexr? ( media-libs/openexr[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) opengl? ( virtual/opengl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/glu[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) png? ( media-libs/libpng:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/numpy[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] ) qt5? ( dev-qt/qtgui:5 dev-qt/qtwidgets:5 dev-qt/qttest:5 dev-qt/qtconcurrent:5 opengl? ( dev-qt/qtopengl:5 ) ) tesseract? ( app-text/tesseract[opencl=] ) threads? ( dev-cpp/tbb[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) tiff? ( media-libs/tiff:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) v4l? ( >=media-libs/libv4l-0.8.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) vtk? ( sci-libs/vtk[rendering] ) webp? ( media-libs/libwebp[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) xine? ( media-libs/xine-lib ) java? ( >=dev-java/java-config-2.2.0-r3 )
-REQUIRED_USE=cuda? ( tesseract? ( opencl ) ) dnnsamples? ( examples ) gflags? ( contrib ) glog? ( contrib ) contribcvv? ( contrib qt5 ) contribdnn? ( contrib ) contribhdf? ( contrib ) contribsfm? ( contrib eigen gflags glog ) contribxfeatures2d? ( contrib download ) java? ( python ) opengl? ( || ( gtk qt5 ) ) python? ( || ( python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 ) ) tesseract? ( contrib )
-SLOT=0/4.1.2
-SRC_URI=https://github.com/opencv/opencv/archive/4.1.2.tar.gz -> opencv-4.1.2.tar.gz dnnsamples? ( https://dev.gentoo.org/~amynka/snap/opencv-3.4.0-res10_300x300-caffeemodel.tar.gz ) contrib? ( https://github.com/opencv/opencv_contrib/archive/4.1.2.tar.gz -> opencv-4.1.2_contrib.tar.gz contribdnn? ( https://dev.gentoo.org/~amynka/snap/opencv-3.4.0-face_landmark_model.tar.gz ) contribxfeatures2d? ( https://dev.gentoo.org/~amynka/snap/vgg_boostdesc-3.2.0.tar.gz ) )
-_eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	java-ant-2	4e2b30d918dda38a51839a4d45282b62	java-pkg-opt-2	be255db325e3af8fbf3506cf63998341	java-utils-2	82402a1c36ab4bf38f3313a543f9e827	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=debbddda5bccacdee773c6ab82e6d547
diff --git a/metadata/md5-cache/media-libs/opencv-4.5.5-r1 b/metadata/md5-cache/media-libs/opencv-4.5.5-r1
new file mode 100644
index 0000000..479efe0
--- /dev/null
+++ b/metadata/md5-cache/media-libs/opencv-4.5.5-r1
@@ -0,0 +1,15 @@
+BDEPEND=virtual/pkgconfig dev-util/ninja dev-util/cmake
+DEFINED_PHASES=compile configure install preinst prepare pretend setup test
+DEPEND=app-arch/bzip2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/protobuf:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/zlib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] cuda? ( dev-util/nvidia-cuda-toolkit:0= ) contribhdf? ( sci-libs/hdf5:= ) contribfreetype? ( media-libs/freetype:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] media-libs/harfbuzz:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) contribovis? ( dev-games/ogre:0/1.12 ) ffmpeg? ( media-video/ffmpeg:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gdal? ( sci-libs/gdal:= ) gflags? ( dev-cpp/gflags[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) glog? ( dev-cpp/glog[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gphoto2? ( media-libs/libgphoto2:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gstreamer? ( media-libs/gstreamer:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] media-libs/gst-plugins-base:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gtk3? ( dev-libs/glib:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/gtk+:3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ieee1394? ( media-libs/libdc1394:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/libraw1394[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) java? ( >=virtual/jre-1.8:* ) jpeg? ( virtual/jpeg:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) jpeg2k? ( media-libs/openjpeg:2=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) lapack? ( virtual/cblas >=virtual/lapack-3.10 ) opencl? ( virtual/opencl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) openexr? ( dev-libs/imath:= media-libs/openexr:= ) opengl? ( virtual/opengl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/glu[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) png? ( media-libs/libpng:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/numpy[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) qt5? ( dev-qt/qtgui:5= dev-qt/qtwidgets:5= dev-qt/qttest:5= dev-qt/qtconcurrent:5= opengl? ( dev-qt/qtopengl:5= ) ) tesseract? ( app-text/tesseract[opencl=,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) threads? ( dev-cpp/tbb:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) tiff? ( media-libs/tiff:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) v4l? ( >=media-libs/libv4l-0.8.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) vaapi? ( x11-libs/libva[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) vtk? ( sci-libs/vtk[rendering] ) webp? ( media-libs/libwebp:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) xine? ( media-libs/xine-lib ) eigen? ( >=dev-cpp/eigen-3.3.8-r1:3 ) java? ( >=virtual/jdk-1.8:* ) java? ( >=dev-java/java-config-2.2.0-r3 ) java? ( >=dev-java/ant-core-1.8.2:0 >=dev-java/javatoolkit-0.3.0-r2 )
+DESCRIPTION=A collection of algorithms and sample code for various computer vision problems
+EAPI=7
+HOMEPAGE=https://opencv.org
+IUSE=contrib contribcvv contribdnn contribfreetype contribhdf contribovis contribsfm contribxfeatures2d cuda debug dnnsamples download +eigen examples +features2d ffmpeg gdal gflags glog gphoto2 gstreamer gtk3 ieee1394 jpeg jpeg2k lapack lto opencl openexr opengl openmp opencvapps png +python qt5 tesseract testprograms threads tiff vaapi v4l vtk webp xine cpu_flags_arm_neon cpu_flags_arm_vfpv3 cpu_flags_ppc_vsx cpu_flags_ppc_vsx3 cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512f cpu_flags_x86_f16c cpu_flags_x86_fma3 cpu_flags_x86_popcnt cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 elibc_FreeBSD java elibc_FreeBSD abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=app-arch/bzip2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/protobuf:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/zlib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] cuda? ( dev-util/nvidia-cuda-toolkit:0= ) contribhdf? ( sci-libs/hdf5:= ) contribfreetype? ( media-libs/freetype:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] media-libs/harfbuzz:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) contribovis? ( dev-games/ogre:0/1.12 ) ffmpeg? ( media-video/ffmpeg:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gdal? ( sci-libs/gdal:= ) gflags? ( dev-cpp/gflags[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) glog? ( dev-cpp/glog[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gphoto2? ( media-libs/libgphoto2:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gstreamer? ( media-libs/gstreamer:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] media-libs/gst-plugins-base:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gtk3? ( dev-libs/glib:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/gtk+:3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ieee1394? ( media-libs/libdc1394:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/libraw1394[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) java? ( >=virtual/jre-1.8:* ) jpeg? ( virtual/jpeg:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) jpeg2k? ( media-libs/openjpeg:2=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) lapack? ( virtual/cblas >=virtual/lapack-3.10 ) opencl? ( virtual/opencl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) openexr? ( dev-libs/imath:= media-libs/openexr:= ) opengl? ( virtual/opengl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/glu[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) png? ( media-libs/libpng:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/numpy[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) qt5? ( dev-qt/qtgui:5= dev-qt/qtwidgets:5= dev-qt/qttest:5= dev-qt/qtconcurrent:5= opengl? ( dev-qt/qtopengl:5= ) ) tesseract? ( app-text/tesseract[opencl=,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) threads? ( dev-cpp/tbb:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) tiff? ( media-libs/tiff:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) v4l? ( >=media-libs/libv4l-0.8.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) vaapi? ( x11-libs/libva[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) vtk? ( sci-libs/vtk[rendering] ) webp? ( media-libs/libwebp:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) xine? ( media-libs/xine-lib ) java? ( >=dev-java/java-config-2.2.0-r3 )
+REQUIRED_USE=cpu_flags_x86_avx2? ( cpu_flags_x86_f16c ) cpu_flags_x86_f16c? ( cpu_flags_x86_avx ) cuda? ( contrib tesseract? ( opencl ) ) dnnsamples? ( examples ) gflags? ( contrib ) glog? ( contrib ) contribcvv? ( contrib qt5 ) contribdnn? ( contrib ) contribfreetype? ( contrib ) contribhdf? ( contrib ) contribovis? ( contrib ) contribsfm? ( contrib eigen gflags glog ) contribxfeatures2d? ( contrib download ) examples? ( contribdnn ) java? ( python ) opengl? ( qt5 ) python? ( || ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 ) ) tesseract? ( contrib ) ?? ( gtk3 qt5 )
+SLOT=0/4.5.5
+SRC_URI=https://github.com/opencv/opencv/archive/4.5.5.tar.gz -> opencv-4.5.5.tar.gz dnnsamples? ( https://dev.gentoo.org/~amynka/snap/opencv-3.4.0-res10_300x300-caffeemodel.tar.gz ) download? ( https://github.com/rossbridger/opencv-extdep/archive/4.4.0.tar.gz -> opencv-4.4.0_extdep.tar.gz ) contrib? ( https://github.com/opencv/opencv_contrib/archive/4.5.5.tar.gz -> opencv-4.5.5_contrib.tar.gz contribdnn? ( https://dev.gentoo.org/~amynka/snap/opencv-3.4.0-face_landmark_model.tar.gz ) contribxfeatures2d? ( https://dev.gentoo.org/~amynka/snap/vgg_boostdesc-3.2.0.tar.gz ) )
+_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	java-ant-2	4e2b30d918dda38a51839a4d45282b62	java-pkg-opt-2	be255db325e3af8fbf3506cf63998341	java-utils-2	82402a1c36ab4bf38f3313a543f9e827	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=f1429a0f6178deb93814dd8887f3b684
diff --git a/metadata/md5-cache/media-libs/virglrenderer-0.8.2-r115 b/metadata/md5-cache/media-libs/virglrenderer-0.8.2-r115
deleted file mode 100644
index a505e25..0000000
--- a/metadata/md5-cache/media-libs/virglrenderer-0.8.2-r115
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=chromeos-base/percetto >=x11-libs/libdrm-2.4.50 media-libs/libepoxy media-libs/minigbm fuzzer? ( virtual/opengles vulkan? ( virtual/vulkan-icd ) ) vulkan? ( media-libs/vulkan-loader ) sys-devel/autoconf-archive fuzzer? ( >=dev-libs/check-0.9.4 ) test? ( >=dev-libs/check-0.9.4 ) vulkan? ( dev-util/vulkan-headers ) >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
-DESCRIPTION=library used implement a virtual 3D GPU used by qemu
-EAPI=6
-HOMEPAGE=https://virgil3d.github.io/
-IUSE=debug fuzzer profiling test vulkan fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_1ccc3bda920752b37bf67d2494650fa487dda0cc
-KEYWORDS=*
-LICENSE=MIT
-PROPERTIES=live
-RDEPEND=chromeos-base/percetto >=x11-libs/libdrm-2.4.50 media-libs/libepoxy media-libs/minigbm fuzzer? ( virtual/opengles vulkan? ( virtual/vulkan-icd ) ) vulkan? ( media-libs/vulkan-loader )
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=e23ca3feef44f7d3e70c3f1a36051536
diff --git a/metadata/md5-cache/media-libs/virglrenderer-0.8.2-r151 b/metadata/md5-cache/media-libs/virglrenderer-0.8.2-r151
new file mode 100644
index 0000000..8f09324
--- /dev/null
+++ b/metadata/md5-cache/media-libs/virglrenderer-0.8.2-r151
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=chromeos-base/percetto >=x11-libs/libdrm-2.4.50 media-libs/libepoxy media-libs/minigbm fuzzer? ( virtual/opengles vulkan? ( virtual/vulkan-icd ) ) vulkan? ( media-libs/vulkan-loader ) sys-devel/autoconf-archive fuzzer? ( >=dev-libs/check-0.9.4 ) test? ( >=dev-libs/check-0.9.4 ) vulkan? ( dev-util/vulkan-headers ) >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+DESCRIPTION=library used implement a virtual 3D GPU used by qemu
+EAPI=6
+HOMEPAGE=https://virgil3d.github.io/
+IUSE=debug fuzzer profiling test virtgpu_native_context vulkan fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_81619088abbce5427dc709294702f61a3cc962b7
+KEYWORDS=*
+LICENSE=MIT
+PROPERTIES=live
+RDEPEND=chromeos-base/percetto >=x11-libs/libdrm-2.4.50 media-libs/libepoxy media-libs/minigbm fuzzer? ( virtual/opengles vulkan? ( virtual/vulkan-icd ) ) vulkan? ( media-libs/vulkan-loader )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=246c431fe99f36597cdb93a904371141
diff --git a/metadata/md5-cache/media-libs/virglrenderer-9999 b/metadata/md5-cache/media-libs/virglrenderer-9999
index 25bcf3f..307fd30 100644
--- a/metadata/md5-cache/media-libs/virglrenderer-9999
+++ b/metadata/md5-cache/media-libs/virglrenderer-9999
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=chromeos-base/percetto >=x11-libs/libdrm-2.4.50 media-libs/libepoxy media-libs/minigbm fuzzer? ( virtual/opengles vulkan? ( virtual/vulkan-icd ) ) vulkan? ( media-libs/vulkan-loader ) sys-devel/autoconf-archive fuzzer? ( >=dev-libs/check-0.9.4 ) test? ( >=dev-libs/check-0.9.4 ) vulkan? ( dev-util/vulkan-headers ) >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+DEPEND=chromeos-base/percetto >=x11-libs/libdrm-2.4.50 media-libs/libepoxy media-libs/minigbm fuzzer? ( virtual/opengles vulkan? ( virtual/vulkan-icd ) ) vulkan? ( media-libs/vulkan-loader ) sys-devel/autoconf-archive fuzzer? ( >=dev-libs/check-0.9.4 ) test? ( >=dev-libs/check-0.9.4 ) vulkan? ( dev-util/vulkan-headers ) >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
 DESCRIPTION=library used implement a virtual 3D GPU used by qemu
 EAPI=6
 HOMEPAGE=https://virgil3d.github.io/
-IUSE=debug fuzzer profiling test vulkan fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_
+IUSE=debug fuzzer profiling test virtgpu_native_context vulkan fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=MIT
 PROPERTIES=live
 RDEPEND=chromeos-base/percetto >=x11-libs/libdrm-2.4.50 media-libs/libepoxy media-libs/minigbm fuzzer? ( virtual/opengles vulkan? ( virtual/vulkan-icd ) ) vulkan? ( media-libs/vulkan-loader )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=93365a6299c2fbcba9dc70fa74369cbf
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=07ad68451e5afaa5755c664169689f0f
diff --git a/metadata/md5-cache/media-libs/vulkan-layers-1.2.182-r2 b/metadata/md5-cache/media-libs/vulkan-layers-1.2.182-r2
deleted file mode 100644
index d719b13..0000000
--- a/metadata/md5-cache/media-libs/vulkan-layers-1.2.182-r2
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=>=dev-util/cmake-3.10.2 sys-devel/make >=dev-util/cmake-3.9.6
-DEFINED_PHASES=compile configure install prepare setup test
-DEPEND=>=dev-util/spirv-tools-2021.0_pre20210526:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] || ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) dev-cpp/robin-hood-hashing >=dev-util/glslang-11.4.0:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-util/vulkan-headers-1.2.182 wayland? ( dev-libs/wayland:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) X? ( x11-libs/libX11:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/libXrandr:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
-DESCRIPTION=Vulkan Validation Layers
-EAPI=7
-HOMEPAGE=https://github.com/KhronosGroup/Vulkan-ValidationLayers
-IUSE=wayland X abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND=>=dev-util/spirv-tools-2021.0_pre20210526:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-SLOT=0
-SRC_URI=https://github.com/KhronosGroup/Vulkan-ValidationLayers/archive/v1.2.182.tar.gz -> vulkan-layers-1.2.182.tar.gz
-_eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=f5f1b753ff91c222f71bc41ab8173ee1
diff --git a/metadata/md5-cache/media-libs/vulkan-layers-1.3.211 b/metadata/md5-cache/media-libs/vulkan-layers-1.3.211
new file mode 100644
index 0000000..1f19478
--- /dev/null
+++ b/metadata/md5-cache/media-libs/vulkan-layers-1.3.211
@@ -0,0 +1,14 @@
+BDEPEND=>=dev-util/cmake-3.10.2 dev-util/ninja dev-util/cmake
+DEFINED_PHASES=compile configure install prepare setup test
+DEPEND=~dev-util/spirv-tools-1.3.211:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] || ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) >=dev-cpp/robin-hood-hashing-3.11.5 ~dev-util/glslang-1.3.211:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ~dev-util/vulkan-headers-1.3.211 wayland? ( dev-libs/wayland:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) X? ( x11-libs/libX11:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/libXrandr:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
+DESCRIPTION=Vulkan Validation Layers
+EAPI=7
+HOMEPAGE=https://github.com/KhronosGroup/Vulkan-ValidationLayers
+IUSE=wayland X abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=~dev-util/spirv-tools-1.3.211:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+SLOT=0
+SRC_URI=https://github.com/KhronosGroup/Vulkan-ValidationLayers/archive/sdk-1.3.211.0.tar.gz -> vulkan-layers-1.3.211.tar.gz
+_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=16e1e09bf83534d78fb7f5b9dd4e40be
diff --git a/metadata/md5-cache/media-libs/vulkan-loader-1.2.182-r1 b/metadata/md5-cache/media-libs/vulkan-loader-1.2.182-r1
deleted file mode 100644
index e2617a5..0000000
--- a/metadata/md5-cache/media-libs/vulkan-loader-1.2.182-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=>=dev-util/cmake-3.10.2 sys-devel/make >=dev-util/cmake-3.9.6
-DEFINED_PHASES=compile configure install postinst prepare test
-DEPEND=~dev-util/vulkan-headers-1.2.182 wayland? ( dev-libs/wayland:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) X? ( x11-libs/libX11:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/libXrandr:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
-DESCRIPTION=Vulkan Installable Client Driver (ICD) Loader
-EAPI=7
-HOMEPAGE=https://github.com/KhronosGroup/Vulkan-Loader
-IUSE=layers wayland X abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=Apache-2.0
-PDEPEND=layers? ( media-libs/vulkan-layers:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
-SLOT=0
-SRC_URI=https://github.com/KhronosGroup/Vulkan-Loader/archive/v1.2.182.tar.gz -> vulkan-loader-1.2.182.tar.gz
-_eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=f5f5ed79c7dc05e50d25e86b7d50a5bb
diff --git a/metadata/md5-cache/media-libs/vulkan-loader-1.3.211 b/metadata/md5-cache/media-libs/vulkan-loader-1.3.211
new file mode 100644
index 0000000..a5d74eb
--- /dev/null
+++ b/metadata/md5-cache/media-libs/vulkan-loader-1.3.211
@@ -0,0 +1,14 @@
+BDEPEND=>=dev-util/cmake-3.10.2 dev-util/ninja dev-util/cmake
+DEFINED_PHASES=compile configure install postinst prepare test
+DEPEND=~dev-util/vulkan-headers-1.3.211 wayland? ( dev-libs/wayland:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) X? ( x11-libs/libX11:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/libXrandr:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
+DESCRIPTION=Vulkan Installable Client Driver (ICD) Loader
+EAPI=7
+HOMEPAGE=https://github.com/KhronosGroup/Vulkan-Loader
+IUSE=layers wayland X abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
+KEYWORDS=*
+LICENSE=Apache-2.0
+PDEPEND=layers? ( media-libs/vulkan-layers:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
+SLOT=0
+SRC_URI=https://github.com/KhronosGroup/Vulkan-Loader/archive/sdk-1.3.211.tar.gz -> vulkan-loader-1.3.211.tar.gz
+_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=37b0104509d51eb1ce69450898785159
diff --git a/metadata/md5-cache/media-libs/webrtc-apm-0.0.1-r29 b/metadata/md5-cache/media-libs/webrtc-apm-0.0.1-r29
deleted file mode 100644
index 2cf399f..0000000
--- a/metadata/md5-cache/media-libs/webrtc-apm-0.0.1-r29
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=configure info install setup unpack
-DEPEND=dev-libs/iniparser:= dev-libs/libevent:= dev-libs/protobuf:= chromeos-base/metrics
-DESCRIPTION=Standalone WebRTC APM library
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/webrtc-apm
-IUSE=cpu_flags_x86_sse2 neon cros_host cros_workon_tree_fe21cc99a7a5f531f7f2d669613730f8504ef21d asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-libs/iniparser:= dev-libs/libevent:= dev-libs/protobuf:= chromeos-base/metrics
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=5b052e93b6659e3062cf3307378e098c
diff --git a/metadata/md5-cache/media-libs/webrtc-apm-0.0.1-r35 b/metadata/md5-cache/media-libs/webrtc-apm-0.0.1-r35
new file mode 100644
index 0000000..40a21ef
--- /dev/null
+++ b/metadata/md5-cache/media-libs/webrtc-apm-0.0.1-r35
@@ -0,0 +1,13 @@
+DEFINED_PHASES=configure info install setup unpack
+DEPEND=dev-libs/iniparser:= dev-libs/libevent:= dev-libs/protobuf:= chromeos-base/metrics featured? ( chromeos-base/featured:= )
+DESCRIPTION=Standalone WebRTC APM library
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/webrtc-apm
+IUSE=cpu_flags_x86_sse2 featured neon cros_host cros_workon_tree_5809111ef056ef06d411ca18f992a152741d4214 asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-libs/iniparser:= dev-libs/libevent:= dev-libs/protobuf:= chromeos-base/metrics featured? ( chromeos-base/featured:= )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=0e9861e1f3a19ac8cc11b2da314aada7
diff --git a/metadata/md5-cache/media-libs/webrtc-apm-9999 b/metadata/md5-cache/media-libs/webrtc-apm-9999
index 9e4f4fa..df86636 100644
--- a/metadata/md5-cache/media-libs/webrtc-apm-9999
+++ b/metadata/md5-cache/media-libs/webrtc-apm-9999
@@ -1,13 +1,13 @@
 DEFINED_PHASES=configure info install setup unpack
-DEPEND=dev-libs/iniparser:= dev-libs/libevent:= dev-libs/protobuf:= chromeos-base/metrics
+DEPEND=dev-libs/iniparser:= dev-libs/libevent:= dev-libs/protobuf:= chromeos-base/metrics featured? ( chromeos-base/featured:= )
 DESCRIPTION=Standalone WebRTC APM library
 EAPI=5
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/webrtc-apm
-IUSE=cpu_flags_x86_sse2 neon cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
+IUSE=cpu_flags_x86_sse2 featured neon cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=dev-libs/iniparser:= dev-libs/libevent:= dev-libs/protobuf:= chromeos-base/metrics
+RDEPEND=dev-libs/iniparser:= dev-libs/libevent:= dev-libs/protobuf:= chromeos-base/metrics featured? ( chromeos-base/featured:= )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=a61567f805732749d4380e4cdb01a61d
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=207dc9ad3890d701d7711f8b6629049b
diff --git a/metadata/md5-cache/media-sound/adhd-0.0.6-r2452 b/metadata/md5-cache/media-sound/adhd-0.0.6-r2452
deleted file mode 100644
index e5bf87a..0000000
--- a/metadata/md5-cache/media-sound/adhd-0.0.6-r2452
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=>=app-portage/elt-patches-20170815 dev-vcs/git chromeos-base/chromeos-config-host:= virtual/pkgconfig
-DEFINED_PHASES=compile configure info install preinst prepare setup test unpack
-DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/iniparser:= cras-apm? ( media-libs/webrtc-apm:= ) >=media-libs/alsa-lib-1.1.6-r3:= media-libs/ladspa-sdk:= media-libs/sbc:= media-libs/speex:= >=sys-apps/dbus-1.4.12:= selinux? ( sys-libs/libselinux:= ) virtual/udev:= dev-libs/libpthread-stubs:= media-sound/cras_rust:= !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) sys-apps/baselayout
-DESCRIPTION=Google A/V Daemon
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/
-IUSE=asan +cras-apm fuzzer selinux systemd fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_b048fd0f9cb95bc82600eed12d8f920d2b6d5f12 has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/iniparser:= cras-apm? ( media-libs/webrtc-apm:= ) >=media-libs/alsa-lib-1.1.6-r3:= media-libs/ladspa-sdk:= media-libs/sbc:= media-libs/speex:= >=sys-apps/dbus-1.4.12:= selinux? ( sys-libs/libselinux:= ) virtual/udev:= media-sound/alsa-utils media-plugins/alsa-plugins chromeos-base/chromeos-config-tools chromeos-base/featured has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) sys-apps/baselayout
-SLOT=0/0.0.6-r2452
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome-version	f89118941e7f3c3825d2fe216c977c57	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=fc7c2dc821368b613833acea88b00c69
diff --git a/metadata/md5-cache/media-sound/adhd-0.0.6-r2638 b/metadata/md5-cache/media-sound/adhd-0.0.6-r2638
new file mode 100644
index 0000000..6069a96
--- /dev/null
+++ b/metadata/md5-cache/media-sound/adhd-0.0.6-r2638
@@ -0,0 +1,14 @@
+BDEPEND=>=app-portage/elt-patches-20170815 dev-vcs/git chromeos-base/chromeos-config-host:= virtual/pkgconfig
+DEFINED_PHASES=compile configure info install preinst prepare setup test unpack
+DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/iniparser:= cras-apm? ( media-libs/webrtc-apm:= ) >=media-libs/alsa-lib-1.1.6-r3:= media-libs/ladspa-sdk:= media-libs/sbc:= media-libs/speex:= cras-ml? ( sci-libs/tensorflow:= ) >=sys-apps/dbus-1.4.12:= selinux? ( sys-libs/libselinux:= ) virtual/udev:= dev-libs/libpthread-stubs:= media-sound/cras_rust:= !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) sys-apps/baselayout
+DESCRIPTION=Google A/V Daemon
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/
+IUSE=asan +cras-apm cras-ml dlc featured fuzzer selinux systemd fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ce3a32c2e3e8f9dde7a7092a0ccf3391bd355f60 has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/iniparser:= cras-apm? ( media-libs/webrtc-apm:= ) >=media-libs/alsa-lib-1.1.6-r3:= media-libs/ladspa-sdk:= media-libs/sbc:= media-libs/speex:= cras-ml? ( sci-libs/tensorflow:= ) >=sys-apps/dbus-1.4.12:= selinux? ( sys-libs/libselinux:= ) virtual/udev:= media-sound/alsa-utils dlc? ( media-sound/sr-bt-dlc:= ) media-plugins/alsa-plugins chromeos-base/chromeos-config-tools featured? ( chromeos-base/featured ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) sys-apps/baselayout
+SLOT=0/0.0.6-r2638
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=d0b84756714ab5401dd6bf63edb2879e
diff --git a/metadata/md5-cache/media-sound/adhd-9999 b/metadata/md5-cache/media-sound/adhd-9999
index 105c2a7..bfcb668 100644
--- a/metadata/md5-cache/media-sound/adhd-9999
+++ b/metadata/md5-cache/media-sound/adhd-9999
@@ -1,14 +1,14 @@
 BDEPEND=>=app-portage/elt-patches-20170815 dev-vcs/git chromeos-base/chromeos-config-host:= virtual/pkgconfig
 DEFINED_PHASES=compile configure info install preinst prepare setup test unpack
-DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/iniparser:= cras-apm? ( media-libs/webrtc-apm:= ) >=media-libs/alsa-lib-1.1.6-r3:= media-libs/ladspa-sdk:= media-libs/sbc:= media-libs/speex:= >=sys-apps/dbus-1.4.12:= selinux? ( sys-libs/libselinux:= ) virtual/udev:= dev-libs/libpthread-stubs:= media-sound/cras_rust:= !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) sys-apps/baselayout
+DEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/iniparser:= cras-apm? ( media-libs/webrtc-apm:= ) >=media-libs/alsa-lib-1.1.6-r3:= media-libs/ladspa-sdk:= media-libs/sbc:= media-libs/speex:= cras-ml? ( sci-libs/tensorflow:= ) >=sys-apps/dbus-1.4.12:= selinux? ( sys-libs/libselinux:= ) virtual/udev:= dev-libs/libpthread-stubs:= media-sound/cras_rust:= !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) sys-apps/baselayout
 DESCRIPTION=Google A/V Daemon
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/
-IUSE=asan +cras-apm fuzzer selinux systemd fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild
+IUSE=asan +cras-apm cras-ml dlc featured fuzzer selinux systemd fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/iniparser:= cras-apm? ( media-libs/webrtc-apm:= ) >=media-libs/alsa-lib-1.1.6-r3:= media-libs/ladspa-sdk:= media-libs/sbc:= media-libs/speex:= >=sys-apps/dbus-1.4.12:= selinux? ( sys-libs/libselinux:= ) virtual/udev:= media-sound/alsa-utils media-plugins/alsa-plugins chromeos-base/chromeos-config-tools chromeos-base/featured has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) sys-apps/baselayout
+RDEPEND=>=chromeos-base/metrics-0.0.1-r3152:= dev-libs/iniparser:= cras-apm? ( media-libs/webrtc-apm:= ) >=media-libs/alsa-lib-1.1.6-r3:= media-libs/ladspa-sdk:= media-libs/sbc:= media-libs/speex:= cras-ml? ( sci-libs/tensorflow:= ) >=sys-apps/dbus-1.4.12:= selinux? ( sys-libs/libselinux:= ) virtual/udev:= media-sound/alsa-utils dlc? ( media-sound/sr-bt-dlc:= ) media-plugins/alsa-plugins chromeos-base/chromeos-config-tools featured? ( chromeos-base/featured ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome-version	f89118941e7f3c3825d2fe216c977c57	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=2c34b63f859eea9ad62b00273cec89ba
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=8c21f74c26120ef362769be5b43cb065
diff --git a/metadata/md5-cache/media-sound/audio_streams-0.1.0-r46 b/metadata/md5-cache/media-sound/audio_streams-0.1.0-r46
deleted file mode 100644
index a1d3ebc..0000000
--- a/metadata/md5-cache/media-sound/audio_streams-0.1.0-r46
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/async-trait-0.1.36:= <dev-rust/async-trait-0.2 dev-rust/cros_async:= =dev-rust/remain-0.2*:= dev-rust/sync:= dev-rust/sys_util:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Crate provides a basic interface for playing audio.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/audio_streams
-IUSE=test cros_host cros_workon_tree_54e583cbb28dbd6be41e63a0023841b8926712d0_657879d7112bd65f190dbbf687daca14399681d0 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=>=dev-rust/async-trait-0.1.36:= <dev-rust/async-trait-0.2 dev-rust/cros_async:= =dev-rust/remain-0.2*:= dev-rust/sync:= dev-rust/sys_util:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 !<=media-sound/audio_streams-0.1.0-r7
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r46
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6d3b4dc8b6d19051248d17d68e3e5fd1
diff --git a/metadata/md5-cache/media-sound/audio_streams-0.1.0-r59 b/metadata/md5-cache/media-sound/audio_streams-0.1.0-r59
new file mode 100644
index 0000000..41c717d
--- /dev/null
+++ b/metadata/md5-cache/media-sound/audio_streams-0.1.0-r59
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/async-trait-0.1*:= =dev-rust/futures-0.3*:= =dev-rust/remain-0.2*:= dev-rust/sync:= dev-rust/sys_util:= =dev-rust/thiserror-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Crate provides a basic interface for playing audio.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/audio_streams
+IUSE=test cros_host cros_workon_tree_198941553c123cea4774f67021c9e7da7842eeff_8083bdbef3cd7fbbc9ec90941ff0418df2ce6d78 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND==dev-rust/async-trait-0.1*:= =dev-rust/futures-0.3*:= =dev-rust/remain-0.2*:= dev-rust/sync:= dev-rust/sys_util:= =dev-rust/thiserror-1*:= !<=media-sound/audio_streams-0.1.0-r49 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r59
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0b2c57042678d9cbf7ac2d4b0e37077b
diff --git a/metadata/md5-cache/media-sound/audio_streams-9999 b/metadata/md5-cache/media-sound/audio_streams-9999
index 3a88902..de4dad2 100644
--- a/metadata/md5-cache/media-sound/audio_streams-9999
+++ b/metadata/md5-cache/media-sound/audio_streams-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/async-trait-0.1.36:= <dev-rust/async-trait-0.2 dev-rust/cros_async:= =dev-rust/remain-0.2*:= dev-rust/sync:= dev-rust/sys_util:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/async-trait-0.1*:= =dev-rust/futures-0.3*:= =dev-rust/remain-0.2*:= dev-rust/sync:= dev-rust/sys_util:= =dev-rust/thiserror-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Crate provides a basic interface for playing audio.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/audio_streams
-IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=>=dev-rust/async-trait-0.1.36:= <dev-rust/async-trait-0.2 dev-rust/cros_async:= =dev-rust/remain-0.2*:= dev-rust/sync:= dev-rust/sys_util:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 !<=media-sound/audio_streams-0.1.0-r7
+RDEPEND==dev-rust/async-trait-0.1*:= =dev-rust/futures-0.3*:= =dev-rust/remain-0.2*:= dev-rust/sync:= dev-rust/sys_util:= =dev-rust/thiserror-1*:= !<=media-sound/audio_streams-0.1.0-r49 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=f4e6a60e01be924b32559e2b9134ca47
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c494f536d30f0a64688ec904c64061c4
diff --git a/metadata/md5-cache/media-sound/cras-sys-0.1.0-r64 b/metadata/md5-cache/media-sound/cras-sys-0.1.0-r64
deleted file mode 100644
index 325ff35..0000000
--- a/metadata/md5-cache/media-sound/cras-sys-0.1.0-r64
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-rust/data_model:= media-sound/audio_streams:= virtual/bindgen:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Crate for CRAS C-structures generated by bindgen
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cras/client/cras-sys
-IUSE=test cros_host cros_workon_tree_af5a7bf57cab1e4ec5ba5eaca05061c053b74f93_0bebc1622eae331167c191012217accb74a1fbc0 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-rust/data_model:= media-sound/audio_streams:= virtual/bindgen:= !<=media-sound/cras-sys-0.1.0-r10
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r64
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=fa41f4fd250db44054aa3206b607e922
diff --git a/metadata/md5-cache/media-sound/cras-sys-0.1.0-r81 b/metadata/md5-cache/media-sound/cras-sys-0.1.0-r81
new file mode 100644
index 0000000..bb860c9b
--- /dev/null
+++ b/metadata/md5-cache/media-sound/cras-sys-0.1.0-r81
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=dev-rust/data_model:= =dev-rust/serde-1* media-sound/audio_streams:= virtual/bindgen:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Crate for CRAS C-structures generated by bindgen
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cras/client/cras-sys
+IUSE=test cros_host cros_workon_tree_5a049e411d7e6bda3b44e0ffcee240fd8306c2d7_93135663b229bad60fa48e6a3078a37b874b7113 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=dev-rust/data_model:= =dev-rust/serde-1* media-sound/audio_streams:= virtual/bindgen:= !<=media-sound/cras-sys-0.1.0-r10 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r81
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b4931223c6e4b42246e64cca253c06ba
diff --git a/metadata/md5-cache/media-sound/cras-sys-9999 b/metadata/md5-cache/media-sound/cras-sys-9999
index 4f0c44c..c9bc9af 100644
--- a/metadata/md5-cache/media-sound/cras-sys-9999
+++ b/metadata/md5-cache/media-sound/cras-sys-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-rust/data_model:= media-sound/audio_streams:= virtual/bindgen:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=dev-rust/data_model:= =dev-rust/serde-1* media-sound/audio_streams:= virtual/bindgen:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Crate for CRAS C-structures generated by bindgen
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cras/client/cras-sys
-IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=dev-rust/data_model:= media-sound/audio_streams:= virtual/bindgen:= !<=media-sound/cras-sys-0.1.0-r10
+RDEPEND=dev-rust/data_model:= =dev-rust/serde-1* media-sound/audio_streams:= virtual/bindgen:= !<=media-sound/cras-sys-0.1.0-r10 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6b4d135f3a00904651b6018d633841b2
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ded95a81acb89422a62293988c60fa7b
diff --git a/metadata/md5-cache/media-sound/cras_bench-0.0.1-r170 b/metadata/md5-cache/media-sound/cras_bench-0.0.1-r170
deleted file mode 100644
index be523e6..0000000
--- a/metadata/md5-cache/media-sound/cras_bench-0.0.1-r170
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git >=dev-util/bazel-0.20
-DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=media-libs/alsa-lib cras-apm? ( media-libs/webrtc-apm:= )
-DESCRIPTION=Performance benchmarks for ChromeOS audio server
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/
-IUSE=+cras-apm cros_host cros_workon_tree_b048fd0f9cb95bc82600eed12d8f920d2b6d5f12
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=media-libs/alsa-lib cras-apm? ( media-libs/webrtc-apm:= )
-SLOT=0/0.0.1-r170
-SRC_URI=https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz -> bazel-skylib-1.0.3.tar.gz https://github.com/bazelbuild/rules_cc/archive/01d4a48911d5e7591ecb1c06d3b8af47fe872371.zip -> bazelbuild-rules_cc-01d4a48911d5e7591ecb1c06d3b8af47fe872371.zip https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip -> bazelbuild-rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip https://github.com/google/benchmark/archive/refs/tags/v1.5.5.tar.gz -> google-benchmark-1.5.5.tar.gz
-_eclasses_=bazel	754d004c54b3ac8a286975d232cbab17	cros-bazel	f8f1ddf279e2cce6ed2320142f477dbf	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6f63aea970c042445b6c4a6fa43a3504
diff --git a/metadata/md5-cache/media-sound/cras_bench-0.0.1-r348 b/metadata/md5-cache/media-sound/cras_bench-0.0.1-r348
new file mode 100644
index 0000000..795b6f9
--- /dev/null
+++ b/metadata/md5-cache/media-sound/cras_bench-0.0.1-r348
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git >=dev-util/bazel-0.20
+DEFINED_PHASES=compile configure info install prepare setup unpack
+DEPEND=chromeos-base/chromeos-config-tools media-libs/alsa-lib cras-apm? ( media-libs/webrtc-apm:= )
+DESCRIPTION=Performance benchmarks for ChromeOS audio server
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/
+IUSE=+cras-apm asan cros_host cros_workon_tree_ce3a32c2e3e8f9dde7a7092a0ccf3391bd355f60 asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/chromeos-config-tools media-libs/alsa-lib cras-apm? ( media-libs/webrtc-apm:= )
+SLOT=0/0.0.1-r348
+SRC_URI=https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz -> bazel-skylib-1.0.3.tar.gz https://github.com/bazelbuild/rules_cc/archive/01d4a48911d5e7591ecb1c06d3b8af47fe872371.zip -> bazelbuild-rules_cc-01d4a48911d5e7591ecb1c06d3b8af47fe872371.zip https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip -> bazelbuild-rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip https://github.com/google/benchmark/archive/refs/tags/v1.5.5.tar.gz -> google-benchmark-1.5.5.tar.gz
+_eclasses_=bazel	754d004c54b3ac8a286975d232cbab17	cros-bazel	f8f1ddf279e2cce6ed2320142f477dbf	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=352e188c94c0297b126689709de3653e
diff --git a/metadata/md5-cache/media-sound/cras_bench-9999 b/metadata/md5-cache/media-sound/cras_bench-9999
index d016f05..ae67245 100644
--- a/metadata/md5-cache/media-sound/cras_bench-9999
+++ b/metadata/md5-cache/media-sound/cras_bench-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git >=dev-util/bazel-0.20
 DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=media-libs/alsa-lib cras-apm? ( media-libs/webrtc-apm:= )
+DEPEND=chromeos-base/chromeos-config-tools media-libs/alsa-lib cras-apm? ( media-libs/webrtc-apm:= )
 DESCRIPTION=Performance benchmarks for ChromeOS audio server
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/
-IUSE=+cras-apm cros_host cros_workon_tree_
+IUSE=+cras-apm asan cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=media-libs/alsa-lib cras-apm? ( media-libs/webrtc-apm:= )
+RDEPEND=chromeos-base/chromeos-config-tools media-libs/alsa-lib cras-apm? ( media-libs/webrtc-apm:= )
 SLOT=0/9999
 SRC_URI=https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz -> bazel-skylib-1.0.3.tar.gz https://github.com/bazelbuild/rules_cc/archive/01d4a48911d5e7591ecb1c06d3b8af47fe872371.zip -> bazelbuild-rules_cc-01d4a48911d5e7591ecb1c06d3b8af47fe872371.zip https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip -> bazelbuild-rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip https://github.com/google/benchmark/archive/refs/tags/v1.5.5.tar.gz -> google-benchmark-1.5.5.tar.gz
-_eclasses_=bazel	754d004c54b3ac8a286975d232cbab17	cros-bazel	f8f1ddf279e2cce6ed2320142f477dbf	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=8a8ee188b66a80ccbaabbb22eed9a324
+_eclasses_=bazel	754d004c54b3ac8a286975d232cbab17	cros-bazel	f8f1ddf279e2cce6ed2320142f477dbf	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4a2a8a7e7ed2dbdc3b922e647765b4c2
diff --git a/metadata/md5-cache/media-sound/cras_rust-0.1.0-r10 b/metadata/md5-cache/media-sound/cras_rust-0.1.0-r10
new file mode 100644
index 0000000..9ed5ccd
--- /dev/null
+++ b/metadata/md5-cache/media-sound/cras_rust-0.1.0-r10
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/anyhow-1.0.55:= <dev-rust/anyhow-2.0.0 =dev-rust/dbus-0.9*:= dev-rust/libc:= >=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3 dev-rust/system_api:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Rust code which is used within cras
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cras/src/server/rust
+IUSE=dlc test cros_host cros_workon_tree_e24ea8d6fa141edb37715d2ba7456734c3864357 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=>=dev-rust/anyhow-1.0.55:= <dev-rust/anyhow-2.0.0 =dev-rust/dbus-0.9*:= dev-rust/libc:= >=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3 dev-rust/system_api:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r10
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=24359585afc6e53c21c6bce31304df42
diff --git a/metadata/md5-cache/media-sound/cras_rust-0.1.0-r7 b/metadata/md5-cache/media-sound/cras_rust-0.1.0-r7
deleted file mode 100644
index 6bf59ba..0000000
--- a/metadata/md5-cache/media-sound/cras_rust-0.1.0-r7
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-rust/libc:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Rust code which is used within cras
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cras/src/server/rust
-IUSE=test cros_host cros_workon_tree_59ac7e6fe81d2514470c8a5e255c595a87f707e2 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=dev-rust/libc:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r7
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=7a7e357bbe0db0d32293685995e647b6
diff --git a/metadata/md5-cache/media-sound/cras_rust-9999 b/metadata/md5-cache/media-sound/cras_rust-9999
index 2c58de8..9786253 100644
--- a/metadata/md5-cache/media-sound/cras_rust-9999
+++ b/metadata/md5-cache/media-sound/cras_rust-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-rust/libc:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/anyhow-1.0.55:= <dev-rust/anyhow-2.0.0 =dev-rust/dbus-0.9*:= dev-rust/libc:= >=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3 dev-rust/system_api:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0 >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust code which is used within cras
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cras/src/server/rust
-IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=dlc test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=dev-rust/libc:=
+RDEPEND=>=dev-rust/anyhow-1.0.55:= <dev-rust/anyhow-2.0.0 =dev-rust/dbus-0.9*:= dev-rust/libc:= >=dev-rust/protobuf-2.16.2:= <dev-rust/protobuf-3 dev-rust/system_api:= >=dev-rust/thiserror-1.0.20 <dev-rust/thiserror-2.0.0 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=61e3a1fa4570836fd8e57269463a9ea2
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=fc36e8a444ebdcb80da3594709cb2edb
diff --git a/metadata/md5-cache/media-sound/cras_tests-0.1.0-r48 b/metadata/md5-cache/media-sound/cras_tests-0.1.0-r48
deleted file mode 100644
index 2811535..0000000
--- a/metadata/md5-cache/media-sound/cras_tests-0.1.0-r48
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= >=dev-rust/getopts-0.2.18:= <dev-rust/getopts-0.3 dev-rust/hound:= dev-rust/sys_util:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 media-sound/audio_streams:= media-sound/libcras:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Rust version cras test client
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cras/client/cras_tests
-IUSE=test cros_host cros_workon_tree_1eae8be58017a7d30c94f9c5d5ad5fcd5ebd98a1_6a314a414ab66eb8eb2ad8541cbfff9266bb283e cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=!<=media-sound/cras_tests-0.1.0-r12
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r48
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=31ebc712f430d6473953081842690e4a
diff --git a/metadata/md5-cache/media-sound/cras_tests-0.1.0-r54 b/metadata/md5-cache/media-sound/cras_tests-0.1.0-r54
new file mode 100644
index 0000000..5c98765
--- /dev/null
+++ b/metadata/md5-cache/media-sound/cras_tests-0.1.0-r54
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=dev-rust/chromeos-dbus-bindings:= >=dev-rust/clap-3.1.12:= <dev-rust/clap-4.0 =dev-rust/dbus-0.9*:= dev-rust/hound:= =dev-rust/serde_json-1* dev-rust/sys_util:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 media-sound/audio_streams:= media-sound/libcras:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Rust version cras test client
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cras/client/cras_tests
+IUSE=test cros_host cros_workon_tree_413b00cea90e3466162b7497715491c714249b3f_ed9568e164e1e6d2d6e0ef8336987bafdb31c5e6 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=!<=media-sound/cras_tests-0.1.0-r12 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r54
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f93f575326370ba0837e3a5be7327c7e
diff --git a/metadata/md5-cache/media-sound/cras_tests-9999 b/metadata/md5-cache/media-sound/cras_tests-9999
index 73c1dde..ddd75f2 100644
--- a/metadata/md5-cache/media-sound/cras_tests-9999
+++ b/metadata/md5-cache/media-sound/cras_tests-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-rust/chromeos-dbus-bindings:= =dev-rust/dbus-0.9*:= >=dev-rust/getopts-0.2.18:= <dev-rust/getopts-0.3 dev-rust/hound:= dev-rust/sys_util:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 media-sound/audio_streams:= media-sound/libcras:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=dev-rust/chromeos-dbus-bindings:= >=dev-rust/clap-3.1.12:= <dev-rust/clap-4.0 =dev-rust/dbus-0.9*:= dev-rust/hound:= =dev-rust/serde_json-1* dev-rust/sys_util:= >=dev-rust/thiserror-1.0.20:= <dev-rust/thiserror-2.0 media-sound/audio_streams:= media-sound/libcras:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust version cras test client
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cras/client/cras_tests
-IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=!<=media-sound/cras_tests-0.1.0-r12
+RDEPEND=!<=media-sound/cras_tests-0.1.0-r12 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=248319d1c9df79a0165f6efd72214c86
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=cf6ad754d89017aca6b20c29363c46ac
diff --git a/metadata/md5-cache/media-sound/cros_alsa-0.1.0-r10 b/metadata/md5-cache/media-sound/cros_alsa-0.1.0-r10
new file mode 100644
index 0000000..61294b1
--- /dev/null
+++ b/metadata/md5-cache/media-sound/cros_alsa-0.1.0-r10
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/alsa-sys-0.2.0:= <dev-rust/alsa-sys-0.3.0 >=dev-rust/libc-0.2.65:= <dev-rust/libc-0.3 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= dev-rust/sys_util:= dev-rust/remain:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Rust version alsa-lib
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cros_alsa
+IUSE=test cros_host cros_workon_tree_2863c6a8055055d2655845884c1ed209f785b3ad cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=>=dev-rust/alsa-sys-0.2.0:= <dev-rust/alsa-sys-0.3.0 >=dev-rust/libc-0.2.65:= <dev-rust/libc-0.3 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= dev-rust/sys_util:= dev-rust/remain:= virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r10
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=bfe6ab09b3d8c871b5cadffc3a7de34f
diff --git a/metadata/md5-cache/media-sound/cros_alsa-0.1.0-r9 b/metadata/md5-cache/media-sound/cros_alsa-0.1.0-r9
deleted file mode 100644
index 8989e59..0000000
--- a/metadata/md5-cache/media-sound/cros_alsa-0.1.0-r9
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/alsa-sys-0.2.0:= <dev-rust/alsa-sys-0.3.0 >=dev-rust/libc-0.2.65:= <dev-rust/libc-0.3 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= dev-rust/remain:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Rust version alsa-lib
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cros_alsa
-IUSE=test cros_host cros_workon_tree_ac7030d4fb6d28b578e0d8b9b28e3cbe60550a92 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=>=dev-rust/alsa-sys-0.2.0:= <dev-rust/alsa-sys-0.3.0 >=dev-rust/libc-0.2.65:= <dev-rust/libc-0.3 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= dev-rust/remain:=
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r9
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=7e80569408c1eddf17501ec53a7137c3
diff --git a/metadata/md5-cache/media-sound/cros_alsa-9999 b/metadata/md5-cache/media-sound/cros_alsa-9999
index daeb352..30bead7 100644
--- a/metadata/md5-cache/media-sound/cros_alsa-9999
+++ b/metadata/md5-cache/media-sound/cros_alsa-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/alsa-sys-0.2.0:= <dev-rust/alsa-sys-0.3.0 >=dev-rust/libc-0.2.65:= <dev-rust/libc-0.3 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= dev-rust/remain:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/alsa-sys-0.2.0:= <dev-rust/alsa-sys-0.3.0 >=dev-rust/libc-0.2.65:= <dev-rust/libc-0.3 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= dev-rust/sys_util:= dev-rust/remain:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust version alsa-lib
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cros_alsa
-IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=>=dev-rust/alsa-sys-0.2.0:= <dev-rust/alsa-sys-0.3.0 >=dev-rust/libc-0.2.65:= <dev-rust/libc-0.3 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= dev-rust/remain:=
+RDEPEND=>=dev-rust/alsa-sys-0.2.0:= <dev-rust/alsa-sys-0.3.0 >=dev-rust/libc-0.2.65:= <dev-rust/libc-0.3 =dev-rust/proc-macro2-1*:= =dev-rust/quote-1*:= =dev-rust/syn-1*:= dev-rust/sys_util:= dev-rust/remain:= virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=cbefa6f8484edbdd2ddf17eef7015680
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ae3e3491320afeec989ac49facdead4c
diff --git a/metadata/md5-cache/media-sound/libcras-0.1.0-r68 b/metadata/md5-cache/media-sound/libcras-0.1.0-r68
deleted file mode 100644
index f820467..0000000
--- a/metadata/md5-cache/media-sound/libcras-0.1.0-r68
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2.44:= >=dev-rust/async-trait-0.1.36:= <dev-rust/async-trait-0.2 dev-rust/cros_async:= dev-rust/data_model:= dev-rust/sys_util:= media-sound/audio_streams:= media-sound/cras-sys:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Rust version libcras
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cras/client/libcras
-IUSE=test cros_host cros_workon_tree_92aed90a2b0c54d8700344908d6216e54b1621f2 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=>=dev-rust/libc-0.2.44:= >=dev-rust/async-trait-0.1.36:= <dev-rust/async-trait-0.2 dev-rust/cros_async:= dev-rust/data_model:= dev-rust/sys_util:= media-sound/audio_streams:= media-sound/cras-sys:= !<=media-sound/libcras-0.1.0-r21
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r68
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=b2a50a35a0331e6f2ada4d554724968a
diff --git a/metadata/md5-cache/media-sound/libcras-0.1.0-r74 b/metadata/md5-cache/media-sound/libcras-0.1.0-r74
new file mode 100644
index 0000000..dbaade7
--- /dev/null
+++ b/metadata/md5-cache/media-sound/libcras-0.1.0-r74
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=dev-rust/libc-0.2.44:= >=dev-rust/async-trait-0.1.36:= <dev-rust/async-trait-0.2 dev-rust/cros_async:= dev-rust/data_model:= dev-rust/sys_util:= media-sound/audio_streams:= media-sound/cras-sys:= =dev-rust/anyhow-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Rust version libcras
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cras/client/libcras
+IUSE=test cros_host cros_workon_tree_8bf00d44aa9f6189a85e3c37aa6690ea0a2b9066 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=>=dev-rust/libc-0.2.44:= >=dev-rust/async-trait-0.1.36:= <dev-rust/async-trait-0.2 dev-rust/cros_async:= dev-rust/data_model:= dev-rust/sys_util:= media-sound/audio_streams:= media-sound/cras-sys:= =dev-rust/anyhow-1*:= !<=media-sound/libcras-0.1.0-r21 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r74
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e34f9331bdaf3c570807b4e92df26ec7
diff --git a/metadata/md5-cache/media-sound/libcras-9999 b/metadata/md5-cache/media-sound/libcras-9999
index d600339..3fc5a9f 100644
--- a/metadata/md5-cache/media-sound/libcras-9999
+++ b/metadata/md5-cache/media-sound/libcras-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=dev-rust/libc-0.2.44:= >=dev-rust/async-trait-0.1.36:= <dev-rust/async-trait-0.2 dev-rust/cros_async:= dev-rust/data_model:= dev-rust/sys_util:= media-sound/audio_streams:= media-sound/cras-sys:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=dev-rust/libc-0.2.44:= >=dev-rust/async-trait-0.1.36:= <dev-rust/async-trait-0.2 dev-rust/cros_async:= dev-rust/data_model:= dev-rust/sys_util:= media-sound/audio_streams:= media-sound/cras-sys:= =dev-rust/anyhow-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Rust version libcras
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/cras/client/libcras
-IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=>=dev-rust/libc-0.2.44:= >=dev-rust/async-trait-0.1.36:= <dev-rust/async-trait-0.2 dev-rust/cros_async:= dev-rust/data_model:= dev-rust/sys_util:= media-sound/audio_streams:= media-sound/cras-sys:= !<=media-sound/libcras-0.1.0-r21
+RDEPEND=>=dev-rust/libc-0.2.44:= >=dev-rust/async-trait-0.1.36:= <dev-rust/async-trait-0.2 dev-rust/cros_async:= dev-rust/data_model:= dev-rust/sys_util:= media-sound/audio_streams:= media-sound/cras-sys:= =dev-rust/anyhow-1*:= !<=media-sound/libcras-0.1.0-r21 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e7650258bd51909302ff4dbf2dcb5b5c
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a0ebedf8785f30cb835668e570c6a23a
diff --git a/metadata/md5-cache/media-sound/sof-tools-2.1.1-r2 b/metadata/md5-cache/media-sound/sof-tools-2.1.1-r2
new file mode 100644
index 0000000..b1121c2
--- /dev/null
+++ b/metadata/md5-cache/media-sound/sof-tools-2.1.1-r2
@@ -0,0 +1,13 @@
+BDEPEND=dev-util/ninja dev-util/cmake
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=media-libs/alsa-lib
+DESCRIPTION=Tools for Sound Open Firmware
+EAPI=7
+HOMEPAGE=https://github.com/thesofproject/sof
+KEYWORDS=*
+LICENSE=BSD
+RDEPEND=media-libs/alsa-lib
+SLOT=0
+SRC_URI=https://github.com/thesofproject/sof/archive/refs/tags/v2.1.1.tar.gz -> sof-tools-2.1.1.tar.gz
+_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=3d8946ce234a5e273dfd0cdfcd714209
diff --git a/metadata/md5-cache/media-sound/sof_sys-0.1.0-r2 b/metadata/md5-cache/media-sound/sof_sys-0.1.0-r2
deleted file mode 100644
index bd6761c..0000000
--- a/metadata/md5-cache/media-sound/sof_sys-0.1.0-r2
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Crate for SOF C-structures generated by bindgen
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/sof_sys
-IUSE=test cros_host cros_workon_tree_722de0d042e40080ac592dcac92d934b39597d43 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r2
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d87cc372fe9b1ada64ff5c711cdf96ef
diff --git a/metadata/md5-cache/media-sound/sof_sys-0.1.0-r3 b/metadata/md5-cache/media-sound/sof_sys-0.1.0-r3
new file mode 100644
index 0000000..8a83f2a
--- /dev/null
+++ b/metadata/md5-cache/media-sound/sof_sys-0.1.0-r3
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Crate for SOF C-structures generated by bindgen
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/sof_sys
+IUSE=test cros_host cros_workon_tree_2d1dfc895110a4a71b6adba389f96f8afc458252 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r3
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=bc1d3f762bb869734a88dddc992f8247
diff --git a/metadata/md5-cache/media-sound/sof_sys-9999 b/metadata/md5-cache/media-sound/sof_sys-9999
index 8e7c6bb..75c7aa1 100644
--- a/metadata/md5-cache/media-sound/sof_sys-9999
+++ b/metadata/md5-cache/media-sound/sof_sys-9999
@@ -1,14 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=>=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND=>=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Crate for SOF C-structures generated by bindgen
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/sof_sys
-IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=test cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
+RDEPEND=virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=856a9c060f6cdce2d7519d72f19d7ed2
diff --git a/metadata/md5-cache/media-sound/sound_card_init-0.1.0-r38 b/metadata/md5-cache/media-sound/sound_card_init-0.1.0-r38
deleted file mode 100644
index a65dbd6..0000000
--- a/metadata/md5-cache/media-sound/sound_card_init-0.1.0-r38
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-rust/cc:= dev-rust/getopts:= dev-rust/sys_util:= dev-rust/serde_yaml:= dev-rust/thiserror:= dev-rust/remain:= media-sound/audio_streams:= media-sound/cros_alsa:= media-sound/libcras:= media-sound/sof_sys:= >=virtual/rust-1.39.0:= virtual/rust-binaries:= sys-apps/baselayout
-DESCRIPTION=Sound Card Initializer
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/sound_card_init
-IUSE=cros_host cros_workon_tree_e6e79ceb1934d81abd0bfadf7bbed982b5799b68 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=sys-apps/baselayout
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.1.0-r38
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=889cb6eb4bc698ad3a21c8966700e7c4
diff --git a/metadata/md5-cache/media-sound/sound_card_init-0.1.0-r49 b/metadata/md5-cache/media-sound/sound_card_init-0.1.0-r49
new file mode 100644
index 0000000..f7c4cd9
--- /dev/null
+++ b/metadata/md5-cache/media-sound/sound_card_init-0.1.0-r49
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=dev-rust/cc:= dev-rust/getopts:= dev-rust/sys_util:= dev-rust/serde_json:= dev-rust/serde_yaml:= dev-rust/thiserror:= dev-rust/remain:= media-sound/audio_streams:= media-sound/cros_alsa:= media-sound/libcras:= media-sound/sof_sys:= >=virtual/rust-1.60.0:= virtual/rust-binaries:= sys-apps/baselayout
+DESCRIPTION=Sound Card Initializer
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/sound_card_init
+IUSE=cros_host cros_workon_tree_1051037aa953e4f22f9a446f629fdff9e6c52796 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=virtual/rust-binaries:= sys-apps/baselayout
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.1.0-r49
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=59e63200439cf777cf56aa380b531a8d
diff --git a/metadata/md5-cache/media-sound/sound_card_init-9999 b/metadata/md5-cache/media-sound/sound_card_init-9999
index e39ea6c..e7663ac 100644
--- a/metadata/md5-cache/media-sound/sound_card_init-9999
+++ b/metadata/md5-cache/media-sound/sound_card_init-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git virtual/pkgconfig
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-rust/cc:= dev-rust/getopts:= dev-rust/sys_util:= dev-rust/serde_yaml:= dev-rust/thiserror:= dev-rust/remain:= media-sound/audio_streams:= media-sound/cros_alsa:= media-sound/libcras:= media-sound/sof_sys:= >=virtual/rust-1.39.0:= virtual/rust-binaries:= sys-apps/baselayout
+DEPEND=dev-rust/cc:= dev-rust/getopts:= dev-rust/sys_util:= dev-rust/serde_json:= dev-rust/serde_yaml:= dev-rust/thiserror:= dev-rust/remain:= media-sound/audio_streams:= media-sound/cros_alsa:= media-sound/libcras:= media-sound/sof_sys:= >=virtual/rust-1.60.0:= virtual/rust-binaries:= sys-apps/baselayout
 DESCRIPTION=Sound Card Initializer
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/adhd/+/HEAD/sound_card_init
-IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=sys-apps/baselayout
+RDEPEND=virtual/rust-binaries:= sys-apps/baselayout
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=acc99148cdc50028f958083ce1a7da4c
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=b36c836cce77e02607b5ef139c20a97e
diff --git a/metadata/md5-cache/media-sound/sr-bt-dlc-2022.05.13 b/metadata/md5-cache/media-sound/sr-bt-dlc-2022.05.13
new file mode 100644
index 0000000..a05521f
--- /dev/null
+++ b/metadata/md5-cache/media-sound/sr-bt-dlc-2022.05.13
@@ -0,0 +1,11 @@
+DEFINED_PHASES=install
+DESCRIPTION=Super resolution for Bluetooth microphone model dlc.
+EAPI=7
+IUSE=dlc
+KEYWORDS=*
+LICENSE=BSD-Google
+REQUIRED_USE=dlc
+SLOT=0
+SRC_URI=gs://chromeos-localmirror/distfiles/chromeos-audio-sr-bt-2022.05.13.tar.bz2
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	dlc	980ce13d2129fa5614d43ffa9d1bb90f
+_md5_=e2f1171b8eeb033e18ebbe8d6e2bb109
diff --git a/metadata/md5-cache/media-tv/v4l-utils-1.20.0 b/metadata/md5-cache/media-tv/v4l-utils-1.20.0
deleted file mode 100644
index f11b82a..0000000
--- a/metadata/md5-cache/media-tv/v4l-utils-1.20.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=configure install prepare
-DEPEND=>=media-libs/libv4l-1.20.0 qt4? ( dev-qt/qtgui:4 dev-qt/qtopengl:4 virtual/opengl media-libs/alsa-lib ) udev? ( virtual/libudev ) !media-tv/v4l2-ctl !<media-tv/ivtv-utils-1.4.0-r2 sys-devel/gettext virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig
-DESCRIPTION=Separate utilities ebuild from upstream v4l-utils package
-EAPI=5
-HOMEPAGE=http://git.linuxtv.org/v4l-utils.git
-IUSE=qt4 udev
-KEYWORDS=*
-LICENSE=GPL-2+ LGPL-2.1+
-RDEPEND=>=media-libs/libv4l-1.20.0 qt4? ( dev-qt/qtgui:4 dev-qt/qtopengl:4 virtual/opengl media-libs/alsa-lib ) udev? ( virtual/libudev ) !media-tv/v4l2-ctl !<media-tv/ivtv-utils-1.4.0-r2
-SLOT=0
-SRC_URI=http://linuxtv.org/downloads/v4l-utils/v4l-utils-1.20.0.tar.bz2
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=a80b3a93e2ad34460f7bff61373a4afb
diff --git a/metadata/md5-cache/media-tv/v4l-utils-1.20.0-r1 b/metadata/md5-cache/media-tv/v4l-utils-1.20.0-r1
deleted file mode 100644
index f11b82a..0000000
--- a/metadata/md5-cache/media-tv/v4l-utils-1.20.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=configure install prepare
-DEPEND=>=media-libs/libv4l-1.20.0 qt4? ( dev-qt/qtgui:4 dev-qt/qtopengl:4 virtual/opengl media-libs/alsa-lib ) udev? ( virtual/libudev ) !media-tv/v4l2-ctl !<media-tv/ivtv-utils-1.4.0-r2 sys-devel/gettext virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig
-DESCRIPTION=Separate utilities ebuild from upstream v4l-utils package
-EAPI=5
-HOMEPAGE=http://git.linuxtv.org/v4l-utils.git
-IUSE=qt4 udev
-KEYWORDS=*
-LICENSE=GPL-2+ LGPL-2.1+
-RDEPEND=>=media-libs/libv4l-1.20.0 qt4? ( dev-qt/qtgui:4 dev-qt/qtopengl:4 virtual/opengl media-libs/alsa-lib ) udev? ( virtual/libudev ) !media-tv/v4l2-ctl !<media-tv/ivtv-utils-1.4.0-r2
-SLOT=0
-SRC_URI=http://linuxtv.org/downloads/v4l-utils/v4l-utils-1.20.0.tar.bz2
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=a80b3a93e2ad34460f7bff61373a4afb
diff --git a/metadata/md5-cache/media-tv/v4l-utils-1.22.1 b/metadata/md5-cache/media-tv/v4l-utils-1.22.1
new file mode 100644
index 0000000..7f56356
--- /dev/null
+++ b/metadata/md5-cache/media-tv/v4l-utils-1.22.1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=configure install prepare
+DEPEND=>=media-libs/libv4l-1.22.1 qt4? ( dev-qt/qtgui:4 dev-qt/qtopengl:4 virtual/opengl media-libs/alsa-lib ) udev? ( virtual/libudev ) !media-tv/v4l2-ctl !<media-tv/ivtv-utils-1.4.0-r2 sys-devel/gettext virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig
+DESCRIPTION=Separate utilities ebuild from upstream v4l-utils package
+EAPI=5
+HOMEPAGE=http://git.linuxtv.org/v4l-utils.git
+IUSE=qt4 udev
+KEYWORDS=*
+LICENSE=GPL-2+ LGPL-2.1+
+RDEPEND=>=media-libs/libv4l-1.22.1 qt4? ( dev-qt/qtgui:4 dev-qt/qtopengl:4 virtual/opengl media-libs/alsa-lib ) udev? ( virtual/libudev ) !media-tv/v4l2-ctl !<media-tv/ivtv-utils-1.4.0-r2
+SLOT=0
+SRC_URI=http://linuxtv.org/downloads/v4l-utils/v4l-utils-1.22.1.tar.bz2
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=a985f4b348593b2749028750e45844cd
diff --git a/metadata/md5-cache/media-tv/v4l-utils-1.22.1-r1 b/metadata/md5-cache/media-tv/v4l-utils-1.22.1-r1
new file mode 100644
index 0000000..7f56356
--- /dev/null
+++ b/metadata/md5-cache/media-tv/v4l-utils-1.22.1-r1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=configure install prepare
+DEPEND=>=media-libs/libv4l-1.22.1 qt4? ( dev-qt/qtgui:4 dev-qt/qtopengl:4 virtual/opengl media-libs/alsa-lib ) udev? ( virtual/libudev ) !media-tv/v4l2-ctl !<media-tv/ivtv-utils-1.4.0-r2 sys-devel/gettext virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig
+DESCRIPTION=Separate utilities ebuild from upstream v4l-utils package
+EAPI=5
+HOMEPAGE=http://git.linuxtv.org/v4l-utils.git
+IUSE=qt4 udev
+KEYWORDS=*
+LICENSE=GPL-2+ LGPL-2.1+
+RDEPEND=>=media-libs/libv4l-1.22.1 qt4? ( dev-qt/qtgui:4 dev-qt/qtopengl:4 virtual/opengl media-libs/alsa-lib ) udev? ( virtual/libudev ) !media-tv/v4l2-ctl !<media-tv/ivtv-utils-1.4.0-r2
+SLOT=0
+SRC_URI=http://linuxtv.org/downloads/v4l-utils/v4l-utils-1.22.1.tar.bz2
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=a985f4b348593b2749028750e45844cd
diff --git a/metadata/md5-cache/media-video/ffmpeg-5.0.1 b/metadata/md5-cache/media-video/ffmpeg-5.0.1
new file mode 100644
index 0000000..39263f5
--- /dev/null
+++ b/metadata/md5-cache/media-video/ffmpeg-5.0.1
@@ -0,0 +1,16 @@
+BDEPEND=verify-sig? ( sec-keys/openpgp-keys-ffmpeg ) >=sys-devel/make-3.81 virtual/pkgconfig cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) ) cuda? ( >=sys-devel/clang-7[llvm_targets_NVPTX] ) doc? ( sys-apps/texinfo ) test? ( net-misc/wget sys-devel/bc ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-16 )
+DEFINED_PHASES=compile configure install prepare test unpack
+DEPEND=alsa? ( >=media-libs/alsa-lib-1.0.27.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) amf? ( media-video/amdgpu-pro-amf ) amr? ( >=media-libs/opencore-amr-0.1.3-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) bluray? ( >=media-libs/libbluray-0.3.0-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) bs2b? ( >=media-libs/libbs2b-3.1.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) bzip2? ( >=app-arch/bzip2-1.0.6-r4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) chromaprint? ( >=media-libs/chromaprint-1.2-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) codec2? ( media-libs/codec2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) dav1d? ( >=media-libs/dav1d-0.4.0:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) encode? ( amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) kvazaar? ( >=media-libs/kvazaar-1.2.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) mp3? ( >=media-sound/lame-3.99.5-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) openh264? ( >=media-libs/openh264-1.4.0-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) rav1e? ( >=media-video/rav1e-0.4:=[capi] ) snappy? ( >=app-arch/snappy-1.1.2-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) theora? ( >=media-libs/libogg-1.3.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=media-libs/libtheora-1.1.1[encode,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) twolame? ( >=media-sound/twolame-0.3.13-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) webp? ( >=media-libs/libwebp-0.3.0:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) x264? ( >=media-libs/x264-0.0.20130506:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) x265? ( >=media-libs/x265-1.6:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) xvid? ( >=media-libs/xvid-1.3.2-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) fdk? ( >=media-libs/fdk-aac-0.1.3:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) flite? ( >=app-accessibility/flite-1.4-r4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) fontconfig? ( >=media-libs/fontconfig-2.10.92[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) frei0r? ( media-plugins/frei0r-plugins[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) fribidi? ( >=dev-libs/fribidi-0.19.6[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gme? ( >=media-libs/game-music-emu-0.6.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gmp? ( >=dev-libs/gmp-6:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gsm? ( >=media-sound/gsm-1.0.13-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) iconv? ( >=virtual/libiconv-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) iec61883? ( >=media-libs/libiec61883-1.2.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/libraw1394-2.1.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/libavc1394-0.5.4-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ieee1394? ( >=media-libs/libdc1394-2.2.1:2=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/libraw1394-2.1.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) jack? ( virtual/jack[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) jpeg2k? ( >=media-libs/openjpeg-2:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libaom? ( >=media-libs/libaom-1.0.0-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libaribb24? ( >=media-libs/aribb24-1.0.3-r2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libass? ( >=media-libs/libass-0.11.0:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libdrm? ( x11-libs/libdrm[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libilbc? ( >=media-libs/libilbc-2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) librtmp? ( >=media-video/rtmpdump-2.4_p20131018[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libsoxr? ( >=media-libs/soxr-0.1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libtesseract? ( >=app-text/tesseract-4.1.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libv4l? ( >=media-libs/libv4l-0.9.5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libxml2? ( dev-libs/libxml2:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) lv2? ( media-libs/lv2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] media-libs/lilv[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) lzma? ( >=app-arch/xz-utils-5.0.5-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) mmal? ( media-libs/raspberrypi-userland ) modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) openal? ( >=media-libs/openal-1.15.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) opencl? ( virtual/opencl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) opengl? ( >=virtual/opengl-7.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) opus? ( >=media-libs/opus-1.0.2-r2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) rubberband? ( >=media-libs/rubberband-1.8.1-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) samba? ( >=net-fs/samba-3.6.23-r1[client,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) sdl? ( media-libs/libsdl2[sound,video,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) sndio? ( media-sound/sndio:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) speex? ( >=media-libs/speex-1.2_rc1-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) srt? ( >=net-libs/srt-1.3.0:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ssh? ( >=net-libs/libssh-0.5.5:=[sftp,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) svg? ( gnome-base/librsvg:2=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/cairo[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1 ) svt-av1? ( >=media-libs/svt-av1-0.8.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) truetype? ( >=media-libs/freetype-2.5.0.1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) vaapi? ( >=x11-libs/libva-1.2.1-r1:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) vdpau? ( >=x11-libs/libvdpau-0.7[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) vidstab? ( >=media-libs/vidstab-1.1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) vmaf? ( media-libs/libvmaf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) vorbis? ( >=media-libs/libvorbis-1.3.3-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=media-libs/libogg-1.3.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) vpx? ( >=media-libs/libvpx-1.4.0:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) vulkan? ( >=media-libs/vulkan-loader-1.2.189:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) X? ( >=x11-libs/libX11-1.6.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=x11-libs/libXext-1.3.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=x11-libs/libXv-1.0.10[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=x11-libs/libxcb-1.4:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) postproc? ( !media-libs/libpostproc ) zeromq? ( >=net-libs/zeromq-4.1.6 ) zimg? ( >=media-libs/zimg-2.7.4:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) zlib? ( >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) zvbi? ( >=media-libs/zvbi-0.2.35[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) amf? ( media-libs/amf-headers ) ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) v4l? ( sys-kernel/linux-headers )
+DESCRIPTION=Complete solution to record/convert/stream audio and video. Includes libavcodec
+EAPI=7
+HOMEPAGE=https://ffmpeg.org/
+IUSE=alsa chromium doc +encode oss pic sndio static-libs test v4l +bzip2 cpudetection debug gcrypt +gnutls gmp +gpl hardcoded-tables +iconv libxml2 lzma +network opencl openssl +postproc samba sdl sdl vaapi vdpau vulkan X X X X +zlib cdio iec61883 ieee1394 libcaca openal opengl libv4l pulseaudio libdrm jack amr amr codec2 +dav1d fdk jpeg2k bluray gme gsm libaribb24 mmal modplug opus libilbc librtmp ssh speex srt svg nvenc vorbis vpx zvbi appkit bs2b chromaprint cuda flite frei0r vmaf fribidi fontconfig ladspa libass libtesseract lv2 truetype vidstab rubberband zeromq zimg libsoxr +threads amf amrenc kvazaar libaom mp3 openh264 rav1e snappy svt-av1 theora twolame webp x264 x265 xvid cpu_flags_arm_thumb cpu_flags_arm_v6 cpu_flags_arm_thumb2 cpu_flags_arm_neon cpu_flags_arm_vfp cpu_flags_arm_vfpv3 cpu_flags_arm_v8 mipsdspr1 mipsdspr2 mipsfpu cpu_flags_ppc_altivec cpu_flags_ppc_vsx cpu_flags_ppc_vsx2 cpu_flags_x86_3dnow cpu_flags_x86_3dnowext cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_fma3 cpu_flags_x86_fma4 cpu_flags_x86_mmx cpu_flags_x86_mmxext cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_xop +fftools_aviocat +fftools_cws2fws +fftools_ffescape +fftools_ffeval +fftools_ffhash +fftools_fourcc2pixfmt +fftools_graph2dot +fftools_ismindex +fftools_pktdumper +fftools_qt-faststart +fftools_sidxindex +fftools_trasher abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 verify-sig
+KEYWORDS=*
+LICENSE=!gpl? ( LGPL-2.1 ) gpl? ( GPL-2 ) amr? ( gpl? ( GPL-3 ) !gpl? ( LGPL-3 ) ) gmp? ( gpl? ( GPL-3 ) !gpl? ( LGPL-3 ) ) libaribb24? ( gpl? ( GPL-3 ) !gpl? ( LGPL-3 ) ) encode? ( amrenc? ( gpl? ( GPL-3 ) !gpl? ( LGPL-3 ) ) ) samba? ( GPL-3 )
+RDEPEND=alsa? ( >=media-libs/alsa-lib-1.0.27.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) amf? ( media-video/amdgpu-pro-amf ) amr? ( >=media-libs/opencore-amr-0.1.3-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) bluray? ( >=media-libs/libbluray-0.3.0-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) bs2b? ( >=media-libs/libbs2b-3.1.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) bzip2? ( >=app-arch/bzip2-1.0.6-r4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) chromaprint? ( >=media-libs/chromaprint-1.2-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) codec2? ( media-libs/codec2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) dav1d? ( >=media-libs/dav1d-0.4.0:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) encode? ( amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) kvazaar? ( >=media-libs/kvazaar-1.2.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) mp3? ( >=media-sound/lame-3.99.5-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) openh264? ( >=media-libs/openh264-1.4.0-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) rav1e? ( >=media-video/rav1e-0.4:=[capi] ) snappy? ( >=app-arch/snappy-1.1.2-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) theora? ( >=media-libs/libogg-1.3.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=media-libs/libtheora-1.1.1[encode,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) twolame? ( >=media-sound/twolame-0.3.13-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) webp? ( >=media-libs/libwebp-0.3.0:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) x264? ( >=media-libs/x264-0.0.20130506:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) x265? ( >=media-libs/x265-1.6:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) xvid? ( >=media-libs/xvid-1.3.2-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) fdk? ( >=media-libs/fdk-aac-0.1.3:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) flite? ( >=app-accessibility/flite-1.4-r4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) fontconfig? ( >=media-libs/fontconfig-2.10.92[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) frei0r? ( media-plugins/frei0r-plugins[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) fribidi? ( >=dev-libs/fribidi-0.19.6[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gme? ( >=media-libs/game-music-emu-0.6.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gmp? ( >=dev-libs/gmp-6:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) gsm? ( >=media-sound/gsm-1.0.13-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) iconv? ( >=virtual/libiconv-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) iec61883? ( >=media-libs/libiec61883-1.2.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/libraw1394-2.1.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/libavc1394-0.5.4-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ieee1394? ( >=media-libs/libdc1394-2.2.1:2=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/libraw1394-2.1.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) jack? ( virtual/jack[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) jpeg2k? ( >=media-libs/openjpeg-2:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libaom? ( >=media-libs/libaom-1.0.0-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libaribb24? ( >=media-libs/aribb24-1.0.3-r2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libass? ( >=media-libs/libass-0.11.0:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libdrm? ( x11-libs/libdrm[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libilbc? ( >=media-libs/libilbc-2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) librtmp? ( >=media-video/rtmpdump-2.4_p20131018[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libsoxr? ( >=media-libs/soxr-0.1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libtesseract? ( >=app-text/tesseract-4.1.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libv4l? ( >=media-libs/libv4l-0.9.5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libxml2? ( dev-libs/libxml2:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) lv2? ( media-libs/lv2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] media-libs/lilv[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) lzma? ( >=app-arch/xz-utils-5.0.5-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) mmal? ( media-libs/raspberrypi-userland ) modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) openal? ( >=media-libs/openal-1.15.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) opencl? ( virtual/opencl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) opengl? ( >=virtual/opengl-7.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) opus? ( >=media-libs/opus-1.0.2-r2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) rubberband? ( >=media-libs/rubberband-1.8.1-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) samba? ( >=net-fs/samba-3.6.23-r1[client,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) sdl? ( media-libs/libsdl2[sound,video,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) sndio? ( media-sound/sndio:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) speex? ( >=media-libs/speex-1.2_rc1-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) srt? ( >=net-libs/srt-1.3.0:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ssh? ( >=net-libs/libssh-0.5.5:=[sftp,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) svg? ( gnome-base/librsvg:2=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-libs/cairo[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1 ) svt-av1? ( >=media-libs/svt-av1-0.8.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) truetype? ( >=media-libs/freetype-2.5.0.1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) vaapi? ( >=x11-libs/libva-1.2.1-r1:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) vdpau? ( >=x11-libs/libvdpau-0.7[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) vidstab? ( >=media-libs/vidstab-1.1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) vmaf? ( media-libs/libvmaf[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) vorbis? ( >=media-libs/libvorbis-1.3.3-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=media-libs/libogg-1.3.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) vpx? ( >=media-libs/libvpx-1.4.0:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) vulkan? ( >=media-libs/vulkan-loader-1.2.189:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) X? ( >=x11-libs/libX11-1.6.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=x11-libs/libXext-1.3.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=x11-libs/libXv-1.0.10[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=x11-libs/libxcb-1.4:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) postproc? ( !media-libs/libpostproc ) zeromq? ( >=net-libs/zeromq-4.1.6 ) zimg? ( >=media-libs/zimg-2.7.4:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) zlib? ( >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) zvbi? ( >=media-libs/zvbi-0.2.35[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) )
+REQUIRED_USE=cuda? ( nvenc ) libv4l? ( v4l ) fftools_cws2fws? ( zlib ) test? ( encode ) postproc? ( gpl ) frei0r? ( gpl ) cdio? ( gpl ) rubberband? ( gpl ) vidstab? ( gpl ) samba? ( gpl ) encode? ( x264? ( gpl ) x265? ( gpl ) xvid? ( gpl ) ) arm64? ( cpu_flags_arm_v8 ) cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon ) cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp ) cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp ) cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 ) cpu_flags_arm_v6? ( cpu_flags_arm_thumb ) cpu_flags_ppc_vsx? ( cpu_flags_ppc_altivec ) cpu_flags_ppc_vsx2? ( cpu_flags_ppc_vsx ) cpu_flags_x86_avx2? ( cpu_flags_x86_avx ) cpu_flags_x86_fma4? ( cpu_flags_x86_avx ) cpu_flags_x86_fma3? ( cpu_flags_x86_avx ) cpu_flags_x86_xop? ( cpu_flags_x86_avx ) cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 ) cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 ) cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 ) cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 ) cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 ) cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 ) cpu_flags_x86_sse2? ( cpu_flags_x86_sse ) cpu_flags_x86_sse? ( cpu_flags_x86_mmxext ) cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx ) cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow ) cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )
+RESTRICT=!test? ( test ) gpl? ( openssl? ( bindist ) fdk? ( bindist ) )
+SLOT=0/57.59.59
+SRC_URI=https://ffmpeg.org/releases/ffmpeg-5.0.1.tar.xz verify-sig? ( https://ffmpeg.org/releases/ffmpeg-5.0.1.tar.xz.asc )
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	verify-sig	40b4f4f782cf67118f594ce604cc4c0a
+_md5_=598be96836a2cbdbf5ecfce7ccf8aaab
diff --git a/metadata/md5-cache/media-video/libva-utils-2.13.0 b/metadata/md5-cache/media-video/libva-utils-2.13.0
deleted file mode 100644
index 216417f..0000000
--- a/metadata/md5-cache/media-video/libva-utils-2.13.0
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=virtual/pkgconfig >=app-portage/elt-patches-20170815
-DEFINED_PHASES=configure prepare
-DEPEND=>=x11-libs/libva-2.0.0:= >=x11-libs/libdrm-2.4 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Collection of utilities and tests for VA-API
-EAPI=7
-HOMEPAGE=https://01.org/linuxmedia/vaapi
-IUSE=test
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND=>=x11-libs/libva-2.0.0:= >=x11-libs/libdrm-2.4
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://github.com/intel/libva-utils/archive/2.13.0.tar.gz -> libva-utils-2.13.0.tar.gz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d7723b880ad804171434e36fd9bffa58
diff --git a/metadata/md5-cache/media-video/libva-utils-2.13.0-r2 b/metadata/md5-cache/media-video/libva-utils-2.13.0-r2
deleted file mode 100644
index 216417f..0000000
--- a/metadata/md5-cache/media-video/libva-utils-2.13.0-r2
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=virtual/pkgconfig >=app-portage/elt-patches-20170815
-DEFINED_PHASES=configure prepare
-DEPEND=>=x11-libs/libva-2.0.0:= >=x11-libs/libdrm-2.4 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Collection of utilities and tests for VA-API
-EAPI=7
-HOMEPAGE=https://01.org/linuxmedia/vaapi
-IUSE=test
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND=>=x11-libs/libva-2.0.0:= >=x11-libs/libdrm-2.4
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://github.com/intel/libva-utils/archive/2.13.0.tar.gz -> libva-utils-2.13.0.tar.gz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d7723b880ad804171434e36fd9bffa58
diff --git a/metadata/md5-cache/media-video/libva-utils-2.14.0 b/metadata/md5-cache/media-video/libva-utils-2.14.0
new file mode 100644
index 0000000..8928ff5
--- /dev/null
+++ b/metadata/md5-cache/media-video/libva-utils-2.14.0
@@ -0,0 +1,15 @@
+BDEPEND=virtual/pkgconfig >=app-portage/elt-patches-20170815
+DEFINED_PHASES=configure prepare
+DEPEND=>=x11-libs/libva-2.0.0:= >=x11-libs/libdrm-2.4 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Collection of utilities and tests for VA-API
+EAPI=7
+HOMEPAGE=https://01.org/linuxmedia/vaapi
+IUSE=test
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=>=x11-libs/libva-2.0.0:= >=x11-libs/libdrm-2.4
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/intel/libva-utils/archive/2.14.0.tar.gz -> libva-utils-2.14.0.tar.gz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d7723b880ad804171434e36fd9bffa58
diff --git a/metadata/md5-cache/net-analyzer/nmap-7.70 b/metadata/md5-cache/net-analyzer/nmap-7.70
index 7e206f7..ee3cd86 100644
--- a/metadata/md5-cache/net-analyzer/nmap-7.70
+++ b/metadata/md5-cache/net-analyzer/nmap-7.70
@@ -11,4 +11,4 @@
 SLOT=0
 SRC_URI=https://nmap.org/dist/nmap-7.70.tar.bz2 https://dev.gentoo.org/~jer/nmap-logo-64.png
 _eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=48405f487e1ef337e53774b5fdf9c530
+_md5_=a6cd78b18a2b010622a6aef94f69ea59
diff --git a/metadata/md5-cache/net-analyzer/nmap-7.70-r3 b/metadata/md5-cache/net-analyzer/nmap-7.70-r3
deleted file mode 100644
index 7e206f7..0000000
--- a/metadata/md5-cache/net-analyzer/nmap-7.70-r3
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup unpack
-DEPEND=dev-libs/liblinear:= dev-libs/libpcre net-libs/libpcap libssh2? ( net-libs/libssh2[zlib] ) ndiff? ( python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[sqlite,xml] >=dev-lang/python-exec-2:=[python_targets_python2_7] ) ) nls? ( virtual/libintl ) nmap-update? ( dev-libs/apr dev-vcs/subversion ) ssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) ) system-lua? ( >=dev-lang/lua-5.2:*[deprecated] ) zenmap? ( python_single_target_python2_7? ( dev-python/pygtk:2[python_targets_python2_7(-)] ) python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[sqlite,xml] >=dev-lang/python-exec-2:=[python_targets_python2_7] ) ) nls? ( sys-devel/gettext ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=A utility for network discovery and security auditing
-EAPI=6
-HOMEPAGE=https://nmap.org/
-IUSE=ipv6 libressl libssh2 ncat ndiff nls nmap-update nping +nse ssl system-lua zenmap +python_single_target_python2_7
-KEYWORDS=*
-LICENSE=GPL-2
-RDEPEND=dev-libs/liblinear:= dev-libs/libpcre net-libs/libpcap libssh2? ( net-libs/libssh2[zlib] ) ndiff? ( python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[sqlite,xml] >=dev-lang/python-exec-2:=[python_targets_python2_7] ) ) nls? ( virtual/libintl ) nmap-update? ( dev-libs/apr dev-vcs/subversion ) ssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) ) system-lua? ( >=dev-lang/lua-5.2:*[deprecated] ) zenmap? ( python_single_target_python2_7? ( dev-python/pygtk:2[python_targets_python2_7(-)] ) python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[sqlite,xml] >=dev-lang/python-exec-2:=[python_targets_python2_7] ) )
-REQUIRED_USE=system-lua? ( nse ) ndiff? ( ^^ ( python_single_target_python2_7 ) ) zenmap? ( ^^ ( python_single_target_python2_7 ) )
-SLOT=0
-SRC_URI=https://nmap.org/dist/nmap-7.70.tar.bz2 https://dev.gentoo.org/~jer/nmap-logo-64.png
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=48405f487e1ef337e53774b5fdf9c530
diff --git a/metadata/md5-cache/net-analyzer/nmap-7.70-r4 b/metadata/md5-cache/net-analyzer/nmap-7.70-r4
new file mode 100644
index 0000000..ee3cd86
--- /dev/null
+++ b/metadata/md5-cache/net-analyzer/nmap-7.70-r4
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install prepare setup unpack
+DEPEND=dev-libs/liblinear:= dev-libs/libpcre net-libs/libpcap libssh2? ( net-libs/libssh2[zlib] ) ndiff? ( python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[sqlite,xml] >=dev-lang/python-exec-2:=[python_targets_python2_7] ) ) nls? ( virtual/libintl ) nmap-update? ( dev-libs/apr dev-vcs/subversion ) ssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) ) system-lua? ( >=dev-lang/lua-5.2:*[deprecated] ) zenmap? ( python_single_target_python2_7? ( dev-python/pygtk:2[python_targets_python2_7(-)] ) python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[sqlite,xml] >=dev-lang/python-exec-2:=[python_targets_python2_7] ) ) nls? ( sys-devel/gettext ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=A utility for network discovery and security auditing
+EAPI=6
+HOMEPAGE=https://nmap.org/
+IUSE=ipv6 libressl libssh2 ncat ndiff nls nmap-update nping +nse ssl system-lua zenmap +python_single_target_python2_7
+KEYWORDS=*
+LICENSE=GPL-2
+RDEPEND=dev-libs/liblinear:= dev-libs/libpcre net-libs/libpcap libssh2? ( net-libs/libssh2[zlib] ) ndiff? ( python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[sqlite,xml] >=dev-lang/python-exec-2:=[python_targets_python2_7] ) ) nls? ( virtual/libintl ) nmap-update? ( dev-libs/apr dev-vcs/subversion ) ssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) ) system-lua? ( >=dev-lang/lua-5.2:*[deprecated] ) zenmap? ( python_single_target_python2_7? ( dev-python/pygtk:2[python_targets_python2_7(-)] ) python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[sqlite,xml] >=dev-lang/python-exec-2:=[python_targets_python2_7] ) )
+REQUIRED_USE=system-lua? ( nse ) ndiff? ( ^^ ( python_single_target_python2_7 ) ) zenmap? ( ^^ ( python_single_target_python2_7 ) )
+SLOT=0
+SRC_URI=https://nmap.org/dist/nmap-7.70.tar.bz2 https://dev.gentoo.org/~jer/nmap-logo-64.png
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=a6cd78b18a2b010622a6aef94f69ea59
diff --git a/metadata/md5-cache/net-dialup/ppp-2.4.9-r5 b/metadata/md5-cache/net-dialup/ppp-2.4.9-r5
deleted file mode 100644
index 4a7250b..0000000
--- a/metadata/md5-cache/net-dialup/ppp-2.4.9-r5
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=virtual/pkgconfig
-DEFINED_PHASES=compile install postinst prepare setup
-DEPEND=activefilter? ( net-libs/libpcap ) atm? ( net-dialup/linux-atm ) pam? ( sys-libs/pam ) gtk? ( x11-libs/gtk+:2 ) !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) sys-apps/baselayout
-DESCRIPTION=Point-to-Point Protocol (PPP)
-EAPI=7
-HOMEPAGE=https://ppp.samba.org/
-IUSE=activefilter atm dhcp eap-tls gtk ipv6 libressl pam radius kernel_linux
-KEYWORDS=*
-LICENSE=BSD GPL-2
-PDEPEND=net-dialup/ppp-scripts
-RDEPEND=activefilter? ( net-libs/libpcap ) atm? ( net-dialup/linux-atm ) pam? ( sys-libs/pam ) gtk? ( x11-libs/gtk+:2 ) !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) !<net-misc/netifrc-0.7.1-r2 sys-apps/baselayout
-SLOT=0/2.4.9
-SRC_URI=https://github.com/paulusmack/ppp/archive/ppp-2.4.9.tar.gz https://dev.gentoo.org/~polynomial-c/ppp-2.4.9-patches-02.tar.xz http://www.netservers.net.uk/gpl/ppp-dhcpc.tgz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	linux-info	327865b9921771330775d971263dc234	multilib	2477ebe553d3e4d2c606191fe6c33602	pam	3f746974e1cc47cabe3bd488c08cdc8e	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=b5974e54058fe2936c4b15cc5e2a3a24
diff --git a/metadata/md5-cache/net-dialup/ppp-2.4.9-r6 b/metadata/md5-cache/net-dialup/ppp-2.4.9-r6
new file mode 100644
index 0000000..f27e82e
--- /dev/null
+++ b/metadata/md5-cache/net-dialup/ppp-2.4.9-r6
@@ -0,0 +1,15 @@
+BDEPEND=virtual/pkgconfig
+DEFINED_PHASES=compile install postinst prepare setup
+DEPEND=activefilter? ( net-libs/libpcap ) atm? ( net-dialup/linux-atm ) pam? ( sys-libs/pam ) gtk? ( x11-libs/gtk+:2 ) !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) sys-apps/baselayout
+DESCRIPTION=Point-to-Point Protocol (PPP)
+EAPI=7
+HOMEPAGE=https://ppp.samba.org/
+IUSE=activefilter atm dhcp eap-tls gtk ipv6 libressl pam radius kernel_linux
+KEYWORDS=*
+LICENSE=BSD GPL-2
+PDEPEND=net-dialup/ppp-scripts
+RDEPEND=activefilter? ( net-libs/libpcap ) atm? ( net-dialup/linux-atm ) pam? ( sys-libs/pam ) gtk? ( x11-libs/gtk+:2 ) !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) !<net-misc/netifrc-0.7.1-r2 sys-apps/baselayout
+SLOT=0/2.4.9
+SRC_URI=https://github.com/paulusmack/ppp/archive/ppp-2.4.9.tar.gz https://dev.gentoo.org/~polynomial-c/ppp-2.4.9-patches-02.tar.xz http://www.netservers.net.uk/gpl/ppp-dhcpc.tgz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	linux-info	327865b9921771330775d971263dc234	multilib	2477ebe553d3e4d2c606191fe6c33602	pam	3f746974e1cc47cabe3bd488c08cdc8e	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=23f7d822fc566bcc77abb6234fa3e09f
diff --git a/metadata/md5-cache/net-firewall/conntrack-tools-1.4.4-r21 b/metadata/md5-cache/net-firewall/conntrack-tools-1.4.4-r22
similarity index 100%
rename from metadata/md5-cache/net-firewall/conntrack-tools-1.4.4-r21
rename to metadata/md5-cache/net-firewall/conntrack-tools-1.4.4-r22
diff --git a/metadata/md5-cache/net-fs/samba-4.15.1 b/metadata/md5-cache/net-fs/samba-4.15.1
deleted file mode 100644
index 1a4ad23..0000000
--- a/metadata/md5-cache/net-fs/samba-4.15.1
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=python_single_target_python3_6? ( dev-lang/python:3.6[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_9] ) app-text/docbook-xsl-stylesheets dev-libs/libxslt virtual/pkgconfig virtual/pkgconfig
-DEFINED_PHASES=compile configure install postinst prepare setup test
-DEPEND=>=app-arch/libarchive-3.1.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-lang/perl:= dev-libs/libbsd[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/libtasn1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/popt[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-perl/Parse-Yapp >=net-libs/gnutls-3.4.7[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/e2fsprogs-libs[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/ldb-2.4.1[ldap(+)?,python?,python_single_target_python3_6(-)?,python_single_target_python3_7(-)?,python_single_target_python3_8(-)?,python_single_target_python3_9(-)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] <sys-libs/ldb-2.5.0[ldap(+)?,python?,python_single_target_python3_6(-)?,python_single_target_python3_7(-)?,python_single_target_python3_8(-)?,python_single_target_python3_9(-)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/libcap[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/ncurses:0= sys-libs/readline:0= >=sys-libs/talloc-2.3.3[python?,python_single_target_python3_6(-)?,python_single_target_python3_7(-)?,python_single_target_python3_8(-)?,python_single_target_python3_9(-)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/tdb-1.4.4[python?,python_single_target_python3_6(-)?,python_single_target_python3_7(-)?,python_single_target_python3_8(-)?,python_single_target_python3_9(-)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/tevent-0.11.0[python?,python_single_target_python3_6(-)?,python_single_target_python3_7(-)?,python_single_target_python3_8(-)?,python_single_target_python3_9(-)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/zlib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/libcrypt:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/libiconv addc? ( python_single_target_python3_6? ( dev-python/dnspython:=[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/dnspython:=[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/dnspython:=[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/dnspython:=[python_targets_python3_9(-)] ) python_single_target_python3_6? ( dev-python/markdown:=[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/markdown:=[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/markdown:=[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/markdown:=[python_targets_python3_9(-)] ) ) acl? ( virtual/acl ) ceph? ( sys-cluster/ceph ) cluster? ( net-libs/rpcsvc-proto ) cups? ( net-print/cups ) debug? ( dev-util/lttng-ust ) dmapi? ( sys-apps/dmapi ) fam? ( virtual/fam ) gpg? ( app-crypt/gpgme ) json? ( dev-libs/jansson:= ) ldap? ( net-nds/openldap[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) pam? ( sys-libs/pam ) snapper? ( sys-apps/dbus ) system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) systemd? ( sys-apps/systemd:0= ) zeroconf? ( net-dns/avahi[dbus] ) >=dev-util/cmocka-1.1.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] net-libs/libtirpc[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] || ( net-libs/rpcsvc-proto <sys-libs/glibc-2.26[rpc(+)] ) spotlight? ( dev-libs/glib ) test? ( python_single_target_python3_6? ( dev-python/subunit[python_targets_python3_6(-),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) python_single_target_python3_7? ( dev-python/subunit[python_targets_python3_7(-),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) python_single_target_python3_8? ( dev-python/subunit[python_targets_python3_8(-),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) python_single_target_python3_9? ( dev-python/subunit[python_targets_python3_9(-),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !system-mitkrb5? ( >=net-dns/resolv_wrapper-1.1.4 >=net-libs/socket_wrapper-1.1.9 >=sys-libs/nss_wrapper-1.1.3 >=sys-libs/uid_wrapper-1.2.1 ) )
-DESCRIPTION=Samba Suite Version 4
-EAPI=7
-HOMEPAGE=https://samba.org/
-IUSE=acl addc ads ceph client cluster cups debug dmapi fam glusterfs gpg iprint json ldap pam profiling-data python quota regedit selinux snapper spotlight syslog system-heimdal +system-mitkrb5 systemd test winbind zeroconf python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 kernel_linux
-KEYWORDS=*
-LICENSE=GPL-3
-RDEPEND=>=app-arch/libarchive-3.1.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-lang/perl:= dev-libs/libbsd[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/libtasn1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/popt[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-perl/Parse-Yapp >=net-libs/gnutls-3.4.7[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/e2fsprogs-libs[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/ldb-2.4.1[ldap(+)?,python?,python_single_target_python3_6(-)?,python_single_target_python3_7(-)?,python_single_target_python3_8(-)?,python_single_target_python3_9(-)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] <sys-libs/ldb-2.5.0[ldap(+)?,python?,python_single_target_python3_6(-)?,python_single_target_python3_7(-)?,python_single_target_python3_8(-)?,python_single_target_python3_9(-)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/libcap[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/ncurses:0= sys-libs/readline:0= >=sys-libs/talloc-2.3.3[python?,python_single_target_python3_6(-)?,python_single_target_python3_7(-)?,python_single_target_python3_8(-)?,python_single_target_python3_9(-)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/tdb-1.4.4[python?,python_single_target_python3_6(-)?,python_single_target_python3_7(-)?,python_single_target_python3_8(-)?,python_single_target_python3_9(-)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/tevent-0.11.0[python?,python_single_target_python3_6(-)?,python_single_target_python3_7(-)?,python_single_target_python3_8(-)?,python_single_target_python3_9(-)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/zlib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/libcrypt:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/libiconv addc? ( python_single_target_python3_6? ( dev-python/dnspython:=[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/dnspython:=[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/dnspython:=[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/dnspython:=[python_targets_python3_9(-)] ) python_single_target_python3_6? ( dev-python/markdown:=[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/markdown:=[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/markdown:=[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/markdown:=[python_targets_python3_9(-)] ) ) acl? ( virtual/acl ) ceph? ( sys-cluster/ceph ) cluster? ( net-libs/rpcsvc-proto ) cups? ( net-print/cups ) debug? ( dev-util/lttng-ust ) dmapi? ( sys-apps/dmapi ) fam? ( virtual/fam ) gpg? ( app-crypt/gpgme ) json? ( dev-libs/jansson:= ) ldap? ( net-nds/openldap[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) pam? ( sys-libs/pam ) snapper? ( sys-apps/dbus ) system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) systemd? ( sys-apps/systemd:0= ) zeroconf? ( net-dns/avahi[dbus] ) chromeos-base/chrome-icu:= client? ( net-fs/cifs-utils[ads?] ) python? ( python_single_target_python3_6? ( dev-lang/python:3.6[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_9] ) ) selinux? ( sec-policy/selinux-samba ) virtual/tmpfiles
-REQUIRED_USE=^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 ) addc? ( python json winbind ) ads? ( acl ldap winbind ) cluster? ( ads ) gpg? ( addc ) spotlight? ( json ) test? ( python ) !ads? ( !addc ) ?? ( system-heimdal system-mitkrb5 )
-RESTRICT=test
-SLOT=0
-SRC_URI=mirror://samba/stable/samba-4.15.1.tar.gz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	linux-info	327865b9921771330775d971263dc234	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	pam	3f746974e1cc47cabe3bd488c08cdc8e	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	waf-utils	6dce9ffe7d6fe961321a99f8da53a887
-_md5_=507d3c43919228915815230e4f364feb
diff --git a/metadata/md5-cache/net-fs/samba-4.15.1-r1 b/metadata/md5-cache/net-fs/samba-4.15.1-r1
deleted file mode 100644
index 1a4ad23..0000000
--- a/metadata/md5-cache/net-fs/samba-4.15.1-r1
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=python_single_target_python3_6? ( dev-lang/python:3.6[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_9] ) app-text/docbook-xsl-stylesheets dev-libs/libxslt virtual/pkgconfig virtual/pkgconfig
-DEFINED_PHASES=compile configure install postinst prepare setup test
-DEPEND=>=app-arch/libarchive-3.1.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-lang/perl:= dev-libs/libbsd[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/libtasn1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/popt[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-perl/Parse-Yapp >=net-libs/gnutls-3.4.7[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/e2fsprogs-libs[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/ldb-2.4.1[ldap(+)?,python?,python_single_target_python3_6(-)?,python_single_target_python3_7(-)?,python_single_target_python3_8(-)?,python_single_target_python3_9(-)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] <sys-libs/ldb-2.5.0[ldap(+)?,python?,python_single_target_python3_6(-)?,python_single_target_python3_7(-)?,python_single_target_python3_8(-)?,python_single_target_python3_9(-)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/libcap[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/ncurses:0= sys-libs/readline:0= >=sys-libs/talloc-2.3.3[python?,python_single_target_python3_6(-)?,python_single_target_python3_7(-)?,python_single_target_python3_8(-)?,python_single_target_python3_9(-)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/tdb-1.4.4[python?,python_single_target_python3_6(-)?,python_single_target_python3_7(-)?,python_single_target_python3_8(-)?,python_single_target_python3_9(-)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/tevent-0.11.0[python?,python_single_target_python3_6(-)?,python_single_target_python3_7(-)?,python_single_target_python3_8(-)?,python_single_target_python3_9(-)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/zlib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/libcrypt:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/libiconv addc? ( python_single_target_python3_6? ( dev-python/dnspython:=[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/dnspython:=[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/dnspython:=[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/dnspython:=[python_targets_python3_9(-)] ) python_single_target_python3_6? ( dev-python/markdown:=[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/markdown:=[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/markdown:=[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/markdown:=[python_targets_python3_9(-)] ) ) acl? ( virtual/acl ) ceph? ( sys-cluster/ceph ) cluster? ( net-libs/rpcsvc-proto ) cups? ( net-print/cups ) debug? ( dev-util/lttng-ust ) dmapi? ( sys-apps/dmapi ) fam? ( virtual/fam ) gpg? ( app-crypt/gpgme ) json? ( dev-libs/jansson:= ) ldap? ( net-nds/openldap[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) pam? ( sys-libs/pam ) snapper? ( sys-apps/dbus ) system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) systemd? ( sys-apps/systemd:0= ) zeroconf? ( net-dns/avahi[dbus] ) >=dev-util/cmocka-1.1.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] net-libs/libtirpc[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] || ( net-libs/rpcsvc-proto <sys-libs/glibc-2.26[rpc(+)] ) spotlight? ( dev-libs/glib ) test? ( python_single_target_python3_6? ( dev-python/subunit[python_targets_python3_6(-),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) python_single_target_python3_7? ( dev-python/subunit[python_targets_python3_7(-),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) python_single_target_python3_8? ( dev-python/subunit[python_targets_python3_8(-),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) python_single_target_python3_9? ( dev-python/subunit[python_targets_python3_9(-),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !system-mitkrb5? ( >=net-dns/resolv_wrapper-1.1.4 >=net-libs/socket_wrapper-1.1.9 >=sys-libs/nss_wrapper-1.1.3 >=sys-libs/uid_wrapper-1.2.1 ) )
-DESCRIPTION=Samba Suite Version 4
-EAPI=7
-HOMEPAGE=https://samba.org/
-IUSE=acl addc ads ceph client cluster cups debug dmapi fam glusterfs gpg iprint json ldap pam profiling-data python quota regedit selinux snapper spotlight syslog system-heimdal +system-mitkrb5 systemd test winbind zeroconf python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 kernel_linux
-KEYWORDS=*
-LICENSE=GPL-3
-RDEPEND=>=app-arch/libarchive-3.1.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-lang/perl:= dev-libs/libbsd[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/libtasn1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/popt[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-perl/Parse-Yapp >=net-libs/gnutls-3.4.7[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/e2fsprogs-libs[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/ldb-2.4.1[ldap(+)?,python?,python_single_target_python3_6(-)?,python_single_target_python3_7(-)?,python_single_target_python3_8(-)?,python_single_target_python3_9(-)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] <sys-libs/ldb-2.5.0[ldap(+)?,python?,python_single_target_python3_6(-)?,python_single_target_python3_7(-)?,python_single_target_python3_8(-)?,python_single_target_python3_9(-)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/libcap[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/ncurses:0= sys-libs/readline:0= >=sys-libs/talloc-2.3.3[python?,python_single_target_python3_6(-)?,python_single_target_python3_7(-)?,python_single_target_python3_8(-)?,python_single_target_python3_9(-)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/tdb-1.4.4[python?,python_single_target_python3_6(-)?,python_single_target_python3_7(-)?,python_single_target_python3_8(-)?,python_single_target_python3_9(-)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/tevent-0.11.0[python?,python_single_target_python3_6(-)?,python_single_target_python3_7(-)?,python_single_target_python3_8(-)?,python_single_target_python3_9(-)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/zlib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/libcrypt:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/libiconv addc? ( python_single_target_python3_6? ( dev-python/dnspython:=[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/dnspython:=[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/dnspython:=[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/dnspython:=[python_targets_python3_9(-)] ) python_single_target_python3_6? ( dev-python/markdown:=[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/markdown:=[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/markdown:=[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/markdown:=[python_targets_python3_9(-)] ) ) acl? ( virtual/acl ) ceph? ( sys-cluster/ceph ) cluster? ( net-libs/rpcsvc-proto ) cups? ( net-print/cups ) debug? ( dev-util/lttng-ust ) dmapi? ( sys-apps/dmapi ) fam? ( virtual/fam ) gpg? ( app-crypt/gpgme ) json? ( dev-libs/jansson:= ) ldap? ( net-nds/openldap[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) pam? ( sys-libs/pam ) snapper? ( sys-apps/dbus ) system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) systemd? ( sys-apps/systemd:0= ) zeroconf? ( net-dns/avahi[dbus] ) chromeos-base/chrome-icu:= client? ( net-fs/cifs-utils[ads?] ) python? ( python_single_target_python3_6? ( dev-lang/python:3.6[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_9] ) ) selinux? ( sec-policy/selinux-samba ) virtual/tmpfiles
-REQUIRED_USE=^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 ) addc? ( python json winbind ) ads? ( acl ldap winbind ) cluster? ( ads ) gpg? ( addc ) spotlight? ( json ) test? ( python ) !ads? ( !addc ) ?? ( system-heimdal system-mitkrb5 )
-RESTRICT=test
-SLOT=0
-SRC_URI=mirror://samba/stable/samba-4.15.1.tar.gz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	linux-info	327865b9921771330775d971263dc234	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	pam	3f746974e1cc47cabe3bd488c08cdc8e	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	waf-utils	6dce9ffe7d6fe961321a99f8da53a887
-_md5_=507d3c43919228915815230e4f364feb
diff --git a/metadata/md5-cache/net-fs/samba-4.15.5-r1 b/metadata/md5-cache/net-fs/samba-4.15.5-r1
new file mode 100644
index 0000000..ed9165b
--- /dev/null
+++ b/metadata/md5-cache/net-fs/samba-4.15.5-r1
@@ -0,0 +1,16 @@
+BDEPEND=python_single_target_python3_6? ( dev-lang/python:3.6[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_9] ) app-text/docbook-xsl-stylesheets dev-libs/libxslt virtual/pkgconfig virtual/pkgconfig
+DEFINED_PHASES=compile configure install postinst prepare setup test
+DEPEND=>=app-arch/libarchive-3.1.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-lang/perl:= dev-libs/libbsd[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/libtasn1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/popt[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-perl/Parse-Yapp >=net-libs/gnutls-3.4.7[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] || ( >=sys-fs/e2fsprogs-1.46.4-r51[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/e2fsprogs-libs[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) >=sys-libs/ldb-2.4.1[ldap(+)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] <sys-libs/ldb-2.5.0[ldap(+)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/libcap[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/ncurses:0= sys-libs/readline:0= >=sys-libs/talloc-2.3.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/tdb-1.4.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/tevent-0.11.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/zlib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/libcrypt:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/libiconv acl? ( virtual/acl ) ceph? ( sys-cluster/ceph ) cluster? ( net-libs/rpcsvc-proto ) cups? ( net-print/cups ) debug? ( dev-util/lttng-ust ) fam? ( virtual/fam ) gpg? ( app-crypt/gpgme:= ) json? ( dev-libs/jansson:= ) ldap? ( net-nds/openldap[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) pam? ( sys-libs/pam ) snapper? ( sys-apps/dbus ) system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) systemd? ( sys-apps/systemd:0= ) zeroconf? ( net-dns/avahi[dbus] ) >=dev-util/cmocka-1.1.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] net-libs/libtirpc[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] || ( net-libs/rpcsvc-proto <sys-libs/glibc-2.26[rpc(+)] ) spotlight? ( dev-libs/glib ) test? ( python_single_target_python3_6? ( dev-python/subunit[python_targets_python3_6(-),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) python_single_target_python3_7? ( dev-python/subunit[python_targets_python3_7(-),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) python_single_target_python3_8? ( dev-python/subunit[python_targets_python3_8(-),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) python_single_target_python3_9? ( dev-python/subunit[python_targets_python3_9(-),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !system-mitkrb5? ( >=net-dns/resolv_wrapper-1.1.4 >=net-libs/socket_wrapper-1.1.9 >=sys-libs/nss_wrapper-1.1.3 >=sys-libs/uid_wrapper-1.2.1 ) )
+DESCRIPTION=Samba Suite Version 4
+EAPI=7
+HOMEPAGE=https://samba.org/
+IUSE=acl addc ads ceph client cluster cpu_flags_x86_aes cups debug fam glusterfs gpg iprint json ldap pam profiling-data python quota regedit selinux snapper spotlight syslog system-heimdal +system-mitkrb5 systemd test winbind zeroconf python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 kernel_linux
+KEYWORDS=*
+LICENSE=GPL-3
+RDEPEND=>=app-arch/libarchive-3.1.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-lang/perl:= dev-libs/libbsd[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/libtasn1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-libs/popt[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-perl/Parse-Yapp >=net-libs/gnutls-3.4.7[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] || ( >=sys-fs/e2fsprogs-1.46.4-r51[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/e2fsprogs-libs[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) >=sys-libs/ldb-2.4.1[ldap(+)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] <sys-libs/ldb-2.5.0[ldap(+)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/libcap[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/ncurses:0= sys-libs/readline:0= >=sys-libs/talloc-2.3.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/tdb-1.4.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/tevent-0.11.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-libs/zlib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/libcrypt:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] virtual/libiconv acl? ( virtual/acl ) ceph? ( sys-cluster/ceph ) cluster? ( net-libs/rpcsvc-proto ) cups? ( net-print/cups ) debug? ( dev-util/lttng-ust ) fam? ( virtual/fam ) gpg? ( app-crypt/gpgme:= ) json? ( dev-libs/jansson:= ) ldap? ( net-nds/openldap[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) pam? ( sys-libs/pam ) snapper? ( sys-apps/dbus ) system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) systemd? ( sys-apps/systemd:0= ) zeroconf? ( net-dns/avahi[dbus] ) chromeos-base/chrome-icu:= client? ( net-fs/cifs-utils[ads?] ) python? ( python_single_target_python3_6? ( dev-lang/python:3.6[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[threads(+),xml(+)] >=dev-lang/python-exec-2:=[python_targets_python3_9] ) ) selinux? ( sec-policy/selinux-samba ) virtual/tmpfiles
+REQUIRED_USE=^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 ) addc? ( python json winbind ) ads? ( acl ldap winbind ) cluster? ( ads ) gpg? ( addc ) spotlight? ( json ) test? ( python ) !ads? ( !addc ) ?? ( system-heimdal system-mitkrb5 )
+RESTRICT=test
+SLOT=0
+SRC_URI=mirror://samba/stable/samba-4.15.5.tar.gz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	linux-info	327865b9921771330775d971263dc234	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	pam	3f746974e1cc47cabe3bd488c08cdc8e	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	waf-utils	6dce9ffe7d6fe961321a99f8da53a887
+_md5_=f197f41cefaae273572f66cc9ba79aa2
diff --git a/metadata/md5-cache/net-fs/sshfs-2.10-r4 b/metadata/md5-cache/net-fs/sshfs-2.10-r4
deleted file mode 100644
index d599c2f..0000000
--- a/metadata/md5-cache/net-fs/sshfs-2.10-r4
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=configure prepare
-DEPEND=>=sys-fs/fuse-2.6.0_pre3:0 >=dev-libs/glib-2.4.2 virtual/pkgconfig
-DESCRIPTION=Fuse-filesystem utilizing the sftp service
-EAPI=6
-HOMEPAGE=https://github.com/libfuse/sshfs
-IUSE=asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=GPL-2
-RDEPEND=>=sys-fs/fuse-2.6.0_pre3:0 >=dev-libs/glib-2.4.2 >=net-misc/openssh-4.4
-SLOT=0
-SRC_URI=https://github.com/libfuse/sshfs/releases/download/sshfs-2.10/sshfs-2.10.tar.gz
-_eclasses_=cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=4cabcfb79f8138cd6d1322a20639de1d
diff --git a/metadata/md5-cache/net-fs/sshfs-2.10-r5 b/metadata/md5-cache/net-fs/sshfs-2.10-r5
new file mode 100644
index 0000000..98dfd23
--- /dev/null
+++ b/metadata/md5-cache/net-fs/sshfs-2.10-r5
@@ -0,0 +1,13 @@
+DEFINED_PHASES=configure prepare
+DEPEND=>=sys-fs/fuse-2.6.0_pre3:0 >=dev-libs/glib-2.4.2 virtual/pkgconfig
+DESCRIPTION=Fuse-filesystem utilizing the sftp service
+EAPI=6
+HOMEPAGE=https://github.com/libfuse/sshfs
+IUSE=asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=GPL-2
+RDEPEND=>=sys-fs/fuse-2.6.0_pre3:0 >=dev-libs/glib-2.4.2 >=net-misc/openssh-4.4
+SLOT=0
+SRC_URI=https://github.com/libfuse/sshfs/releases/download/sshfs-2.10/sshfs-2.10.tar.gz
+_eclasses_=cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=9a65de6f372dfbe7d491d31927fc14da
diff --git a/metadata/md5-cache/net-libs/glib-networking-2.54.1 b/metadata/md5-cache/net-libs/glib-networking-2.54.1
index 7926f88..0ac2b3f 100644
--- a/metadata/md5-cache/net-libs/glib-networking-2.54.1
+++ b/metadata/md5-cache/net-libs/glib-networking-2.54.1
@@ -9,5 +9,5 @@
 RDEPEND=>=dev-libs/glib-2.46.0:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] gnome? ( gnome-base/gsettings-desktop-schemas ) libproxy? ( >=net-libs/libproxy-0.4.11-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) smartcard? ( >=app-crypt/p11-kit-0.18.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=net-libs/gnutls-3:=[pkcs11,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ssl? ( app-misc/ca-certificates >=net-libs/gnutls-3:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
 SLOT=0
 SRC_URI=mirror://gnome/sources/glib-networking/2.54/glib-networking-2.54.1.tar.xz
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnome.org	532d56d07b9eace4831aaa817d2b756a	gnome2	acac536f2c3bbcd312ac3faaa3e55e40	gnome2-utils	893e828f0f25f070f0b38d20c83c7670	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	versionator	26ca8a8bd95d6a74122c08ba98a4ee72	virtualx	e9162f65645513120b4e12863a5fa972	xdg	c7ba313ea1eaf266f95cc6235f7d6a07	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnome.org	532d56d07b9eace4831aaa817d2b756a	gnome2	4f729d9211b2e3c00a285d6301a557e1	gnome2-utils	893e828f0f25f070f0b38d20c83c7670	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	versionator	26ca8a8bd95d6a74122c08ba98a4ee72	virtualx	e9162f65645513120b4e12863a5fa972	xdg	c7ba313ea1eaf266f95cc6235f7d6a07	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
 _md5_=95596d95f8274bb6c4ed6851949a63e6
diff --git a/metadata/md5-cache/net-libs/glib-networking-2.54.1-r1 b/metadata/md5-cache/net-libs/glib-networking-2.54.1-r1
index 7926f88..0ac2b3f 100644
--- a/metadata/md5-cache/net-libs/glib-networking-2.54.1-r1
+++ b/metadata/md5-cache/net-libs/glib-networking-2.54.1-r1
@@ -9,5 +9,5 @@
 RDEPEND=>=dev-libs/glib-2.46.0:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] gnome? ( gnome-base/gsettings-desktop-schemas ) libproxy? ( >=net-libs/libproxy-0.4.11-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) smartcard? ( >=app-crypt/p11-kit-0.18.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=net-libs/gnutls-3:=[pkcs11,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ssl? ( app-misc/ca-certificates >=net-libs/gnutls-3:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] )
 SLOT=0
 SRC_URI=mirror://gnome/sources/glib-networking/2.54/glib-networking-2.54.1.tar.xz
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnome.org	532d56d07b9eace4831aaa817d2b756a	gnome2	acac536f2c3bbcd312ac3faaa3e55e40	gnome2-utils	893e828f0f25f070f0b38d20c83c7670	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	versionator	26ca8a8bd95d6a74122c08ba98a4ee72	virtualx	e9162f65645513120b4e12863a5fa972	xdg	c7ba313ea1eaf266f95cc6235f7d6a07	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnome.org	532d56d07b9eace4831aaa817d2b756a	gnome2	4f729d9211b2e3c00a285d6301a557e1	gnome2-utils	893e828f0f25f070f0b38d20c83c7670	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	versionator	26ca8a8bd95d6a74122c08ba98a4ee72	virtualx	e9162f65645513120b4e12863a5fa972	xdg	c7ba313ea1eaf266f95cc6235f7d6a07	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
 _md5_=95596d95f8274bb6c4ed6851949a63e6
diff --git a/metadata/md5-cache/net-libs/grpc-1.16.1 b/metadata/md5-cache/net-libs/grpc-1.16.1
index ea61048..3eb5ae0 100644
--- a/metadata/md5-cache/net-libs/grpc-1.16.1
+++ b/metadata/md5-cache/net-libs/grpc-1.16.1
@@ -10,4 +10,4 @@
 SLOT=0
 SRC_URI=https://github.com/grpc/grpc/archive/v1.16.1.tar.gz -> grpc-1.16.1.tar.gz
 _eclasses_=cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=bbf9eb0961c0ac299ce866d31a2a63db
+_md5_=b2a3d02ab007b16f8ead914cc5e9f522
diff --git a/metadata/md5-cache/net-libs/grpc-1.16.1-r6 b/metadata/md5-cache/net-libs/grpc-1.16.1-r6
deleted file mode 100644
index ea61048..0000000
--- a/metadata/md5-cache/net-libs/grpc-1.16.1-r6
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst prepare
-DEPEND=>=dev-libs/openssl-1.0.2:0=[-bindist] !dev-libs/grpc dev-libs/protobuf:= net-dns/c-ares:= sys-libs/zlib:= systemtap? ( dev-util/systemtap ) virtual/pkgconfig
-DESCRIPTION=Modern open source high performance RPC framework
-EAPI=6
-HOMEPAGE=https://www.grpc.io
-IUSE=examples doc systemtap static-libs fuzzer asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND=>=dev-libs/openssl-1.0.2:0=[-bindist] !dev-libs/grpc dev-libs/protobuf:= net-dns/c-ares:= sys-libs/zlib:= systemtap? ( dev-util/systemtap )
-SLOT=0
-SRC_URI=https://github.com/grpc/grpc/archive/v1.16.1.tar.gz -> grpc-1.16.1.tar.gz
-_eclasses_=cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=bbf9eb0961c0ac299ce866d31a2a63db
diff --git a/metadata/md5-cache/net-libs/grpc-1.16.1-r8 b/metadata/md5-cache/net-libs/grpc-1.16.1-r8
new file mode 100644
index 0000000..3eb5ae0
--- /dev/null
+++ b/metadata/md5-cache/net-libs/grpc-1.16.1-r8
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install postinst prepare
+DEPEND=>=dev-libs/openssl-1.0.2:0=[-bindist] !dev-libs/grpc dev-libs/protobuf:= net-dns/c-ares:= sys-libs/zlib:= systemtap? ( dev-util/systemtap ) virtual/pkgconfig
+DESCRIPTION=Modern open source high performance RPC framework
+EAPI=6
+HOMEPAGE=https://www.grpc.io
+IUSE=examples doc systemtap static-libs fuzzer asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=>=dev-libs/openssl-1.0.2:0=[-bindist] !dev-libs/grpc dev-libs/protobuf:= net-dns/c-ares:= sys-libs/zlib:= systemtap? ( dev-util/systemtap )
+SLOT=0
+SRC_URI=https://github.com/grpc/grpc/archive/v1.16.1.tar.gz -> grpc-1.16.1.tar.gz
+_eclasses_=cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=b2a3d02ab007b16f8ead914cc5e9f522
diff --git a/metadata/md5-cache/net-libs/grpc-web-1.0.3 b/metadata/md5-cache/net-libs/grpc-web-1.0.3
index a3b1840..507b14d 100644
--- a/metadata/md5-cache/net-libs/grpc-web-1.0.3
+++ b/metadata/md5-cache/net-libs/grpc-web-1.0.3
@@ -1,12 +1,12 @@
 DEFINED_PHASES=compile install prepare
-DEPEND=dev-libs/protobuf
+DEPEND=dev-libs/protobuf:=
 DESCRIPTION=A plugin to protoc that generates typscript/javascript to access gRPC services
 EAPI=6
 HOMEPAGE=https://www.grpc.io
 KEYWORDS=*
 LICENSE=Apache-2.0
-RDEPEND=dev-libs/protobuf
+RDEPEND=dev-libs/protobuf:=
 SLOT=0
 SRC_URI=https://github.com/grpc-web/grpc-web/archive/v.tar.gz -> grpc-web-1.0.3.tar.gz
 _eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=dd92fae8844f22bb8e90a4331e80a7aa
+_md5_=694a900401dcfa78692adef65d83ccba
diff --git a/metadata/md5-cache/net-libs/grpc-web-1.0.3-r1 b/metadata/md5-cache/net-libs/grpc-web-1.0.3-r1
deleted file mode 100644
index a3b1840..0000000
--- a/metadata/md5-cache/net-libs/grpc-web-1.0.3-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install prepare
-DEPEND=dev-libs/protobuf
-DESCRIPTION=A plugin to protoc that generates typscript/javascript to access gRPC services
-EAPI=6
-HOMEPAGE=https://www.grpc.io
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND=dev-libs/protobuf
-SLOT=0
-SRC_URI=https://github.com/grpc-web/grpc-web/archive/v.tar.gz -> grpc-web-1.0.3.tar.gz
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=dd92fae8844f22bb8e90a4331e80a7aa
diff --git a/metadata/md5-cache/net-libs/grpc-web-1.0.3-r2 b/metadata/md5-cache/net-libs/grpc-web-1.0.3-r2
new file mode 100644
index 0000000..507b14d
--- /dev/null
+++ b/metadata/md5-cache/net-libs/grpc-web-1.0.3-r2
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install prepare
+DEPEND=dev-libs/protobuf:=
+DESCRIPTION=A plugin to protoc that generates typscript/javascript to access gRPC services
+EAPI=6
+HOMEPAGE=https://www.grpc.io
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=dev-libs/protobuf:=
+SLOT=0
+SRC_URI=https://github.com/grpc-web/grpc-web/archive/v.tar.gz -> grpc-web-1.0.3.tar.gz
+_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=694a900401dcfa78692adef65d83ccba
diff --git a/metadata/md5-cache/net-libs/libmbim-1.27.5-r83 b/metadata/md5-cache/net-libs/libmbim-1.27.5-r83
deleted file mode 100644
index 864d84b..0000000
--- a/metadata/md5-cache/net-libs/libmbim-1.27.5-r83
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=dev-libs/glib-2.36 virtual/libgudev doc? ( dev-util/gtk-doc ) virtual/pkgconfig >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array virtual/pkgconfig
-DESCRIPTION=MBIM modem protocol helper library
-EAPI=6
-HOMEPAGE=http://cgit.freedesktop.org/libmbim/
-IUSE=-asan doc static-libs asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_480d56792a8ad8f719683bcde4cc72c935669187
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=>=dev-libs/glib-2.36 virtual/libgudev
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=6e5ebd2b8fe02b221364c5db12757fa5
diff --git a/metadata/md5-cache/net-libs/libmbim-1.27.7-r88 b/metadata/md5-cache/net-libs/libmbim-1.27.7-r88
new file mode 100644
index 0000000..2d029e6
--- /dev/null
+++ b/metadata/md5-cache/net-libs/libmbim-1.27.7-r88
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=dev-libs/glib-2.36 virtual/libgudev doc? ( dev-util/gtk-doc ) virtual/pkgconfig >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array virtual/pkgconfig
+DESCRIPTION=MBIM modem protocol helper library
+EAPI=6
+HOMEPAGE=http://cgit.freedesktop.org/libmbim/
+IUSE=-asan doc static-libs asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_bcbbcdb8bdbefa4fd7e1d3c68b9a070f9fdeab01
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=>=dev-libs/glib-2.36 virtual/libgudev
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=24e1819bd3f62281edf926f15dda849d
diff --git a/metadata/md5-cache/net-libs/libmbim-9999 b/metadata/md5-cache/net-libs/libmbim-9999
index 7263408..d271007 100644
--- a/metadata/md5-cache/net-libs/libmbim-9999
+++ b/metadata/md5-cache/net-libs/libmbim-9999
@@ -1,5 +1,5 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=dev-libs/glib-2.36 virtual/libgudev doc? ( dev-util/gtk-doc ) virtual/pkgconfig >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array virtual/pkgconfig
+DEPEND=>=dev-libs/glib-2.36 virtual/libgudev doc? ( dev-util/gtk-doc ) virtual/pkgconfig >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array virtual/pkgconfig
 DESCRIPTION=MBIM modem protocol helper library
 EAPI=6
 HOMEPAGE=http://cgit.freedesktop.org/libmbim/
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=>=dev-libs/glib-2.36 virtual/libgudev
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=bef1daae0910569e44f1145f229f0804
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=735813169d45f2f97a880002024629d6
diff --git a/metadata/md5-cache/net-libs/libproxy-0.4.13-r2 b/metadata/md5-cache/net-libs/libproxy-0.4.13-r2
deleted file mode 100644
index 6903a9f..0000000
--- a/metadata/md5-cache/net-libs/libproxy-0.4.13-r2
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup test
-DEPEND=gnome? ( dev-libs/glib:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) mono? ( dev-lang/mono ) networkmanager? ( sys-apps/dbus:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) perl? ( dev-lang/perl:= ) python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] ) spidermonkey? ( >=dev-lang/spidermonkey-1.8.5:0= ) webkit? ( net-libs/webkit-gtk:4 ) virtual/pkgconfig:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=Library for automatic proxy configuration management
-EAPI=6
-HOMEPAGE=https://github.com/libproxy/libproxy
-IUSE=gnome kde mono networkmanager perl python spidermonkey test webkit abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 python_targets_python2_7
-KEYWORDS=*
-LICENSE=LGPL-2.1+
-PDEPEND=networkmanager? ( net-misc/networkmanager )
-RDEPEND=gnome? ( dev-libs/glib:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) mono? ( dev-lang/mono ) networkmanager? ( sys-apps/dbus:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) perl? ( dev-lang/perl:= ) python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] ) spidermonkey? ( >=dev-lang/spidermonkey-1.8.5:0= ) webkit? ( net-libs/webkit-gtk:4 ) kde? ( kde-frameworks/kconfig:5 )
-REQUIRED_USE=python? ( || ( python_targets_python2_7 ) )
-SLOT=0
-SRC_URI=https://github.com/libproxy/libproxy/archive/0.4.13.tar.gz -> libproxy-0.4.13.tar.gz
-_eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	mono-env	59ca1177366cc9e14521d3501e9bb281	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=c12d2e85416ae33f76c76989c9e149ad
diff --git a/metadata/md5-cache/net-libs/libproxy-0.4.14-r1 b/metadata/md5-cache/net-libs/libproxy-0.4.14-r1
new file mode 100644
index 0000000..a7c3465
--- /dev/null
+++ b/metadata/md5-cache/net-libs/libproxy-0.4.14-r1
@@ -0,0 +1,15 @@
+DEFINED_PHASES=compile configure install prepare setup test
+DEPEND=gnome? ( dev-libs/glib:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) mono? ( dev-lang/mono ) networkmanager? ( sys-apps/dbus:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) perl? ( dev-lang/perl:= ) python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) spidermonkey? ( >=dev-lang/spidermonkey-1.8.5:0= ) webkit? ( net-libs/webkit-gtk:4 ) virtual/pkgconfig:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] sys-devel/make >=dev-util/cmake-3.9.6
+DESCRIPTION=Library for automatic proxy configuration management
+EAPI=6
+HOMEPAGE=https://github.com/libproxy/libproxy
+IUSE=gnome kde mono networkmanager perl python spidermonkey test webkit abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=LGPL-2.1+
+PDEPEND=networkmanager? ( net-misc/networkmanager )
+RDEPEND=gnome? ( dev-libs/glib:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) mono? ( dev-lang/mono ) networkmanager? ( sys-apps/dbus:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) perl? ( dev-lang/perl:= ) python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) spidermonkey? ( >=dev-lang/spidermonkey-1.8.5:0= ) webkit? ( net-libs/webkit-gtk:4 ) kde? ( kde-frameworks/kconfig:5 )
+REQUIRED_USE=python? ( || ( python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 ) )
+SLOT=0
+SRC_URI=https://github.com/libproxy/libproxy/releases/download/0.4.14/libproxy-0.4.14-0.4.14.tar.xz -> libproxy-0.4.14.tar.xz
+_eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	mono-env	59ca1177366cc9e14521d3501e9bb281	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=28e36691ee17cc3ded05bb648c657225
diff --git a/metadata/md5-cache/net-libs/libqmi-1.31.2-r110 b/metadata/md5-cache/net-libs/libqmi-1.31.2-r110
deleted file mode 100644
index a2c1899..0000000
--- a/metadata/md5-cache/net-libs/libqmi-1.31.2-r110
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=dev-libs/glib-2.36 >=net-libs/libmbim-1.18.0 net-libs/libqrtr-glib virtual/pkgconfig >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array virtual/pkgconfig
-DESCRIPTION=QMI modem protocol helper library
-EAPI=6
-HOMEPAGE=http://cgit.freedesktop.org/libqmi/
-IUSE=-asan mbim qrtr asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_7253167bc409043d3e4056301b1db028744b2045
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=>=dev-libs/glib-2.36 >=net-libs/libmbim-1.18.0 net-libs/libqrtr-glib
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=af4dcaff3a243ab30c0a04d1815a806f
diff --git a/metadata/md5-cache/net-libs/libqmi-1.31.9-r116 b/metadata/md5-cache/net-libs/libqmi-1.31.9-r116
new file mode 100644
index 0000000..82ce50a
--- /dev/null
+++ b/metadata/md5-cache/net-libs/libqmi-1.31.9-r116
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=dev-libs/glib-2.36 >=net-libs/libmbim-1.18.0 net-libs/libqrtr-glib virtual/pkgconfig >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array virtual/pkgconfig
+DESCRIPTION=QMI modem protocol helper library
+EAPI=6
+HOMEPAGE=http://cgit.freedesktop.org/libqmi/
+IUSE=-asan mbim qrtr asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_42ca97ac84af489c6bc0ace422ea089f5aefc5ed
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=>=dev-libs/glib-2.36 >=net-libs/libmbim-1.18.0 net-libs/libqrtr-glib
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=e7ddf46f47b1690d77df840b5beed52d
diff --git a/metadata/md5-cache/net-libs/libqmi-9999 b/metadata/md5-cache/net-libs/libqmi-9999
index b78cd52..b52fc4c 100644
--- a/metadata/md5-cache/net-libs/libqmi-9999
+++ b/metadata/md5-cache/net-libs/libqmi-9999
@@ -1,5 +1,5 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=dev-libs/glib-2.36 >=net-libs/libmbim-1.18.0 net-libs/libqrtr-glib virtual/pkgconfig >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array virtual/pkgconfig
+DEPEND=>=dev-libs/glib-2.36 >=net-libs/libmbim-1.18.0 net-libs/libqrtr-glib virtual/pkgconfig >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array virtual/pkgconfig
 DESCRIPTION=QMI modem protocol helper library
 EAPI=6
 HOMEPAGE=http://cgit.freedesktop.org/libqmi/
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=>=dev-libs/glib-2.36 >=net-libs/libmbim-1.18.0 net-libs/libqrtr-glib
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=f4a6ea943eb4fcb966e5a32a07fda0c4
diff --git a/metadata/md5-cache/net-libs/libqrtr-0.0.1-r26 b/metadata/md5-cache/net-libs/libqrtr-0.0.1-r26
deleted file mode 100644
index ac2fac3..0000000
--- a/metadata/md5-cache/net-libs/libqrtr-0.0.1-r26
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=configure info install preinst prepare setup test unpack
-DEPEND=sys-kernel/linux-headers virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 sys-apps/baselayout
-DESCRIPTION=QRTR userspace helper library
-EAPI=5
-HOMEPAGE=https://github.com/andersson/qrtr
-IUSE=-asan -qrtr_ns asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_9fc5b98c54615474f4c167d5034b6eb15475e046
-KEYWORDS=*
-LICENSE=BSD
-PROPERTIES=live
-RDEPEND=sys-apps/baselayout
-SLOT=0
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=ff8fd5f0f4cc84865bf1b2c5ecc87007
diff --git a/metadata/md5-cache/net-libs/libqrtr-0.0.1-r27 b/metadata/md5-cache/net-libs/libqrtr-0.0.1-r27
new file mode 100644
index 0000000..e5a5b7c
--- /dev/null
+++ b/metadata/md5-cache/net-libs/libqrtr-0.0.1-r27
@@ -0,0 +1,13 @@
+DEFINED_PHASES=configure info install preinst prepare setup test unpack
+DEPEND=sys-kernel/linux-headers virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 sys-apps/baselayout
+DESCRIPTION=QRTR userspace helper library
+EAPI=5
+HOMEPAGE=https://github.com/andersson/qrtr
+IUSE=-asan -qrtr_ns asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_9fc5b98c54615474f4c167d5034b6eb15475e046
+KEYWORDS=*
+LICENSE=BSD
+PROPERTIES=live
+RDEPEND=sys-apps/baselayout
+SLOT=0
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=ff8fd5f0f4cc84865bf1b2c5ecc87007
diff --git a/metadata/md5-cache/net-libs/libqrtr-9999 b/metadata/md5-cache/net-libs/libqrtr-9999
index 96bfaf3..01d8ebd 100644
--- a/metadata/md5-cache/net-libs/libqrtr-9999
+++ b/metadata/md5-cache/net-libs/libqrtr-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=sys-apps/baselayout
 SLOT=0
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=3624a123e7f8fbb9468470dcb40086cf
diff --git a/metadata/md5-cache/net-libs/libqrtr-glib-1.3.0-r10 b/metadata/md5-cache/net-libs/libqrtr-glib-1.3.0-r10
deleted file mode 100644
index 5ae4d1f..0000000
--- a/metadata/md5-cache/net-libs/libqrtr-glib-1.3.0-r10
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=virtual/pkgconfig >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=dev-libs/glib-2.36:2
-DESCRIPTION=QRTR modem protocol helper library
-EAPI=7
-HOMEPAGE=https://gitlab.freedesktop.org/mobile-broadband/libqrtr-glib
-IUSE=asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ba7d6d437ea6d5ff2d464919a2a03163c4c8f36c
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=>=dev-libs/glib-2.36:2
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=565c53dfb65092e3620c2defd2cfe928
diff --git a/metadata/md5-cache/net-libs/libqrtr-glib-1.3.0-r11 b/metadata/md5-cache/net-libs/libqrtr-glib-1.3.0-r11
new file mode 100644
index 0000000..26c5d45
--- /dev/null
+++ b/metadata/md5-cache/net-libs/libqrtr-glib-1.3.0-r11
@@ -0,0 +1,14 @@
+BDEPEND=virtual/pkgconfig >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=dev-libs/glib-2.36:2
+DESCRIPTION=QRTR modem protocol helper library
+EAPI=7
+HOMEPAGE=https://gitlab.freedesktop.org/mobile-broadband/libqrtr-glib
+IUSE=asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_94c0e47a0d79533b57040191e5a285b939529d3d
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=>=dev-libs/glib-2.36:2
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=88acfe74e4a6a833a6ecf8b977edaf7c
diff --git a/metadata/md5-cache/net-libs/libqrtr-glib-9999 b/metadata/md5-cache/net-libs/libqrtr-glib-9999
index b5782da..3e390b4 100644
--- a/metadata/md5-cache/net-libs/libqrtr-glib-9999
+++ b/metadata/md5-cache/net-libs/libqrtr-glib-9999
@@ -1,4 +1,4 @@
-BDEPEND=virtual/pkgconfig >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+BDEPEND=virtual/pkgconfig >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
 DEPEND=>=dev-libs/glib-2.36:2
 DESCRIPTION=QRTR modem protocol helper library
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=>=dev-libs/glib-2.36:2
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=98461d9f34d191b0563cdd6e997ca398
diff --git a/metadata/md5-cache/net-misc/dhcpcd-7.2.5 b/metadata/md5-cache/net-misc/dhcpcd-7.2.5
index 97b1185..9fc8ba4 100644
--- a/metadata/md5-cache/net-misc/dhcpcd-7.2.5
+++ b/metadata/md5-cache/net-misc/dhcpcd-7.2.5
@@ -10,4 +10,4 @@
 SLOT=0
 SRC_URI=https://github.com/NetworkConfiguration/dhcpcd/archive/refs/tags/dhcpcd-7.2.5.tar.xz
 _eclasses_=cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=818300beaa96fac21c1ab2af186bc343
+_md5_=a1cba8748ddc777b77ed6525fdfdc3be
diff --git a/metadata/md5-cache/net-misc/dhcpcd-7.2.5-r5 b/metadata/md5-cache/net-misc/dhcpcd-7.2.5-r5
deleted file mode 100644
index 97b1185..0000000
--- a/metadata/md5-cache/net-misc/dhcpcd-7.2.5-r5
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=configure install postinst preinst prepare
-DEPEND=udev? ( virtual/udev ) dbus? ( sys-apps/dbus ) virtual/pkgconfig sys-apps/baselayout
-DESCRIPTION=A fully featured, yet light weight RFC2131 compliant DHCP client
-EAPI=5
-HOMEPAGE=http://roy.marples.name/projects/dhcpcd/
-IUSE=elibc_glibc +embedded kernel_linux +udev +dbus asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=BSD-2
-RDEPEND=udev? ( virtual/udev ) dbus? ( sys-apps/dbus ) sys-apps/baselayout
-SLOT=0
-SRC_URI=https://github.com/NetworkConfiguration/dhcpcd/archive/refs/tags/dhcpcd-7.2.5.tar.xz
-_eclasses_=cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=818300beaa96fac21c1ab2af186bc343
diff --git a/metadata/md5-cache/net-misc/dhcpcd-7.2.5-r6 b/metadata/md5-cache/net-misc/dhcpcd-7.2.5-r6
new file mode 100644
index 0000000..9fc8ba4
--- /dev/null
+++ b/metadata/md5-cache/net-misc/dhcpcd-7.2.5-r6
@@ -0,0 +1,13 @@
+DEFINED_PHASES=configure install postinst preinst prepare
+DEPEND=udev? ( virtual/udev ) dbus? ( sys-apps/dbus ) virtual/pkgconfig sys-apps/baselayout
+DESCRIPTION=A fully featured, yet light weight RFC2131 compliant DHCP client
+EAPI=5
+HOMEPAGE=http://roy.marples.name/projects/dhcpcd/
+IUSE=elibc_glibc +embedded kernel_linux +udev +dbus asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=BSD-2
+RDEPEND=udev? ( virtual/udev ) dbus? ( sys-apps/dbus ) sys-apps/baselayout
+SLOT=0
+SRC_URI=https://github.com/NetworkConfiguration/dhcpcd/archive/refs/tags/dhcpcd-7.2.5.tar.xz
+_eclasses_=cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=a1cba8748ddc777b77ed6525fdfdc3be
diff --git a/metadata/md5-cache/net-misc/modemmanager-next-1.19.1-r448 b/metadata/md5-cache/net-misc/modemmanager-next-1.19.1-r448
deleted file mode 100644
index e5234e6..0000000
--- a/metadata/md5-cache/net-misc/modemmanager-next-1.19.1-r448
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=configure info install preinst prepare setup test unpack
-DEPEND=>=dev-libs/glib-2.36 >=sys-apps/dbus-1.2 dev-libs/dbus-glib net-dialup/ppp mbim? ( net-libs/libmbim ) qmi? ( net-libs/libqmi ) qrtr? ( net-libs/libqrtr-glib ) !net-misc/modemmanager virtual/libgudev dev-util/pkgconfig dev-util/intltool >=dev-util/gtk-doc-1.13 !net-misc/modemmanager-next-interfaces !net-misc/modemmanager >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig virtual/pkgconfig sys-apps/baselayout
-DESCRIPTION=Modem and mobile broadband management libraries
-EAPI=6
-HOMEPAGE=http://mail.gnome.org/archives/networkmanager-list/2008-July/msg00274.html
-IUSE=doc mbim systemd qmi qrtr asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ffff763ba64256c21aaa89bae9263662f598d0f7
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=>=dev-libs/glib-2.36 >=sys-apps/dbus-1.2 dev-libs/dbus-glib net-dialup/ppp mbim? ( net-libs/libmbim ) qmi? ( net-libs/libqmi ) qrtr? ( net-libs/libqrtr-glib ) !net-misc/modemmanager sys-apps/baselayout
-SLOT=0
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=adf2441182749e14dea970e877573b04
diff --git a/metadata/md5-cache/net-misc/modemmanager-next-1.19.1-r477 b/metadata/md5-cache/net-misc/modemmanager-next-1.19.1-r477
new file mode 100644
index 0000000..989bdcf
--- /dev/null
+++ b/metadata/md5-cache/net-misc/modemmanager-next-1.19.1-r477
@@ -0,0 +1,13 @@
+DEFINED_PHASES=configure info install preinst prepare setup test unpack
+DEPEND=>=dev-libs/glib-2.36 >=sys-apps/dbus-1.2 dev-libs/dbus-glib net-dialup/ppp mbim? ( net-libs/libmbim ) qmi? ( net-libs/libqmi ) qrtr? ( net-libs/libqrtr-glib ) !net-misc/modemmanager virtual/libgudev dev-util/intltool >=dev-util/gtk-doc-1.13 !net-misc/modemmanager-next-interfaces !net-misc/modemmanager >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig virtual/pkgconfig sys-apps/baselayout
+DESCRIPTION=Modem and mobile broadband management libraries
+EAPI=6
+HOMEPAGE=http://mail.gnome.org/archives/networkmanager-list/2008-July/msg00274.html
+IUSE=doc mbim systemd qmi qrtr asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_9a08cabf99deafec44b3b069e7feaf407a00d340
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=>=dev-libs/glib-2.36 >=sys-apps/dbus-1.2 dev-libs/dbus-glib net-dialup/ppp mbim? ( net-libs/libmbim ) qmi? ( net-libs/libqmi ) qrtr? ( net-libs/libqrtr-glib ) !net-misc/modemmanager sys-apps/baselayout
+SLOT=0
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=3670ec61bbf30eb3da51099a32580788
diff --git a/metadata/md5-cache/net-misc/modemmanager-next-9999 b/metadata/md5-cache/net-misc/modemmanager-next-9999
index 2487d8c..7ce7c72 100644
--- a/metadata/md5-cache/net-misc/modemmanager-next-9999
+++ b/metadata/md5-cache/net-misc/modemmanager-next-9999
@@ -1,5 +1,5 @@
 DEFINED_PHASES=configure info install preinst prepare setup test unpack
-DEPEND=>=dev-libs/glib-2.36 >=sys-apps/dbus-1.2 dev-libs/dbus-glib net-dialup/ppp mbim? ( net-libs/libmbim ) qmi? ( net-libs/libqmi ) qrtr? ( net-libs/libqrtr-glib ) !net-misc/modemmanager virtual/libgudev dev-util/pkgconfig dev-util/intltool >=dev-util/gtk-doc-1.13 !net-misc/modemmanager-next-interfaces !net-misc/modemmanager >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig virtual/pkgconfig sys-apps/baselayout
+DEPEND=>=dev-libs/glib-2.36 >=sys-apps/dbus-1.2 dev-libs/dbus-glib net-dialup/ppp mbim? ( net-libs/libmbim ) qmi? ( net-libs/libqmi ) qrtr? ( net-libs/libqrtr-glib ) !net-misc/modemmanager virtual/libgudev dev-util/intltool >=dev-util/gtk-doc-1.13 !net-misc/modemmanager-next-interfaces !net-misc/modemmanager >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig virtual/pkgconfig sys-apps/baselayout
 DESCRIPTION=Modem and mobile broadband management libraries
 EAPI=6
 HOMEPAGE=http://mail.gnome.org/archives/networkmanager-list/2008-July/msg00274.html
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=>=dev-libs/glib-2.36 >=sys-apps/dbus-1.2 dev-libs/dbus-glib net-dialup/ppp mbim? ( net-libs/libmbim ) qmi? ( net-libs/libqmi ) qrtr? ( net-libs/libqrtr-glib ) !net-misc/modemmanager sys-apps/baselayout
 SLOT=0
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=2f0b82fa8f4a4c64bed430e4cde7a49e
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=73c991b7491500b262b69ebb8a72a0a8
diff --git a/metadata/md5-cache/net-misc/rmtfs-0.3_p20210408 b/metadata/md5-cache/net-misc/rmtfs-0.3_p20210408
index 9bfc375..358f231 100644
--- a/metadata/md5-cache/net-misc/rmtfs-0.3_p20210408
+++ b/metadata/md5-cache/net-misc/rmtfs-0.3_p20210408
@@ -1,13 +1,13 @@
-DEFINED_PHASES=configure install preinst
+DEFINED_PHASES=configure install preinst prepare
 DEPEND=net-libs/libqrtr:= virtual/udev:= sys-apps/baselayout
 DESCRIPTION=QMI Remote File System Server
 EAPI=7
 HOMEPAGE=https://github.com/andersson/rmtfs
-IUSE=asan +seccomp asan coverage fuzzer msan tsan ubsan
+IUSE=asan +seccomp modemfwd asan coverage fuzzer msan tsan ubsan
 KEYWORDS=*
 LICENSE=BSD
 RDEPEND=net-libs/libqrtr:= virtual/udev:= sys-apps/baselayout
 SLOT=0
 SRC_URI=https://github.com/andersson/rmtfs/archive/293ab8babb27ac0f24247bb101fed9420c629c29.tar.gz -> rmtfs-0.3_p20210408.tar.gz
 _eclasses_=cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=9126b568e8e3995f2567e5433d1fe9b2
+_md5_=a5851d08a1b4c8881b2395e20f38d677
diff --git a/metadata/md5-cache/net-misc/rmtfs-0.3_p20210408-r5 b/metadata/md5-cache/net-misc/rmtfs-0.3_p20210408-r5
deleted file mode 100644
index 9bfc375..0000000
--- a/metadata/md5-cache/net-misc/rmtfs-0.3_p20210408-r5
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=configure install preinst
-DEPEND=net-libs/libqrtr:= virtual/udev:= sys-apps/baselayout
-DESCRIPTION=QMI Remote File System Server
-EAPI=7
-HOMEPAGE=https://github.com/andersson/rmtfs
-IUSE=asan +seccomp asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=BSD
-RDEPEND=net-libs/libqrtr:= virtual/udev:= sys-apps/baselayout
-SLOT=0
-SRC_URI=https://github.com/andersson/rmtfs/archive/293ab8babb27ac0f24247bb101fed9420c629c29.tar.gz -> rmtfs-0.3_p20210408.tar.gz
-_eclasses_=cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=9126b568e8e3995f2567e5433d1fe9b2
diff --git a/metadata/md5-cache/net-misc/rmtfs-0.3_p20210408-r7 b/metadata/md5-cache/net-misc/rmtfs-0.3_p20210408-r7
new file mode 100644
index 0000000..358f231
--- /dev/null
+++ b/metadata/md5-cache/net-misc/rmtfs-0.3_p20210408-r7
@@ -0,0 +1,13 @@
+DEFINED_PHASES=configure install preinst prepare
+DEPEND=net-libs/libqrtr:= virtual/udev:= sys-apps/baselayout
+DESCRIPTION=QMI Remote File System Server
+EAPI=7
+HOMEPAGE=https://github.com/andersson/rmtfs
+IUSE=asan +seccomp modemfwd asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=BSD
+RDEPEND=net-libs/libqrtr:= virtual/udev:= sys-apps/baselayout
+SLOT=0
+SRC_URI=https://github.com/andersson/rmtfs/archive/293ab8babb27ac0f24247bb101fed9420c629c29.tar.gz -> rmtfs-0.3_p20210408.tar.gz
+_eclasses_=cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=a5851d08a1b4c8881b2395e20f38d677
diff --git a/metadata/md5-cache/net-misc/tlsdate-0.0.5-r101 b/metadata/md5-cache/net-misc/tlsdate-0.0.5-r101
deleted file mode 100644
index d6bfe85..0000000
--- a/metadata/md5-cache/net-misc/tlsdate-0.0.5-r101
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install preinst prepare setup unpack
-DEPEND=dev-libs/openssl:0= dev-libs/libevent dbus? ( sys-apps/dbus ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig sys-apps/baselayout
-DESCRIPTION=Update local time over HTTPS
-EAPI=6
-HOMEPAGE=https://github.com/ioerror/tlsdate
-IUSE=-asan +dbus +seccomp systemd asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_e559de3e87a1762e6208a03f18c0122467a0fb0e cros-debug
-KEYWORDS=*
-LICENSE=BSD
-PROPERTIES=live
-RDEPEND=dev-libs/openssl:0= dev-libs/libevent dbus? ( sys-apps/dbus ) chromeos-base/chromeos-ca-certificates sys-apps/baselayout
-SLOT=0
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=5b277426d0a6a94b7018079167c3f0d8
diff --git a/metadata/md5-cache/net-misc/tlsdate-0.0.5-r106 b/metadata/md5-cache/net-misc/tlsdate-0.0.5-r106
new file mode 100644
index 0000000..20608f9
--- /dev/null
+++ b/metadata/md5-cache/net-misc/tlsdate-0.0.5-r106
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install preinst prepare setup unpack
+DEPEND=dev-libs/openssl:0= dev-libs/libevent:= dbus? ( sys-apps/dbus ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig sys-apps/baselayout
+DESCRIPTION=Update local time over HTTPS
+EAPI=6
+HOMEPAGE=https://github.com/ioerror/tlsdate
+IUSE=-asan +dbus +seccomp systemd asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_621e47f9f541786981ded938a7e7890f3fba236a cros-debug
+KEYWORDS=*
+LICENSE=BSD
+PROPERTIES=live
+RDEPEND=dev-libs/openssl:0= dev-libs/libevent:= dbus? ( sys-apps/dbus ) chromeos-base/chromeos-ca-certificates sys-apps/baselayout
+SLOT=0
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=675f74c5c1fe5e407502a714c42c97b1
diff --git a/metadata/md5-cache/net-misc/tlsdate-9999 b/metadata/md5-cache/net-misc/tlsdate-9999
index e365930..d7dabc5 100644
--- a/metadata/md5-cache/net-misc/tlsdate-9999
+++ b/metadata/md5-cache/net-misc/tlsdate-9999
@@ -1,5 +1,5 @@
 DEFINED_PHASES=compile configure info install preinst prepare setup unpack
-DEPEND=dev-libs/openssl:0= dev-libs/libevent dbus? ( sys-apps/dbus ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig sys-apps/baselayout
+DEPEND=dev-libs/openssl:0= dev-libs/libevent:= dbus? ( sys-apps/dbus ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig sys-apps/baselayout
 DESCRIPTION=Update local time over HTTPS
 EAPI=6
 HOMEPAGE=https://github.com/ioerror/tlsdate
@@ -7,7 +7,7 @@
 KEYWORDS=~*
 LICENSE=BSD
 PROPERTIES=live
-RDEPEND=dev-libs/openssl:0= dev-libs/libevent dbus? ( sys-apps/dbus ) chromeos-base/chromeos-ca-certificates sys-apps/baselayout
+RDEPEND=dev-libs/openssl:0= dev-libs/libevent:= dbus? ( sys-apps/dbus ) chromeos-base/chromeos-ca-certificates sys-apps/baselayout
 SLOT=0
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=e9cf83df6b68a14e549c579f4dbe5349
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=bd628927acf548ae931e0e07f2320572
diff --git a/metadata/md5-cache/net-misc/usbip-4.19-r10 b/metadata/md5-cache/net-misc/usbip-4.19-r10
new file mode 100644
index 0000000..f3d5786
--- /dev/null
+++ b/metadata/md5-cache/net-misc/usbip-4.19-r10
@@ -0,0 +1,13 @@
+DEFINED_PHASES=configure info install prepare setup unpack
+DEPEND=>=dev-libs/glib-2.6 sys-apps/hwdata >=sys-kernel/linux-headers-3.17 virtual/libudev tcpd? ( sys-apps/tcp-wrappers ) virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Userspace utilities for a general USB device sharing system over IP networks
+EAPI=6
+HOMEPAGE=https://www.kernel.org/
+IUSE=static-libs tcpd cros_host cros_workon_tree_f3a0a0009d4cfe0cd2783cefc1c92f3c79fef691 asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=>=dev-libs/glib-2.6 sys-apps/hwdata >=sys-kernel/linux-headers-3.17 virtual/libudev tcpd? ( sys-apps/tcp-wrappers )
+SLOT=0
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=f6fd8650306c33bc41ccdd9609910ee3
diff --git a/metadata/md5-cache/net-misc/usbip-4.19-r7 b/metadata/md5-cache/net-misc/usbip-4.19-r7
deleted file mode 100644
index 5a6a0b1..0000000
--- a/metadata/md5-cache/net-misc/usbip-4.19-r7
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=configure info install postinst prepare setup unpack
-DEPEND=>=dev-libs/glib-2.6 sys-apps/hwids >=sys-kernel/linux-headers-3.17 virtual/libudev tcpd? ( sys-apps/tcp-wrappers ) virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Userspace utilities for a general USB device sharing system over IP networks
-EAPI=6
-HOMEPAGE=https://www.kernel.org/
-IUSE=static-libs tcpd cros_host cros_workon_tree_f3a0a0009d4cfe0cd2783cefc1c92f3c79fef691
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=>=dev-libs/glib-2.6 sys-apps/hwids >=sys-kernel/linux-headers-3.17 virtual/libudev tcpd? ( sys-apps/tcp-wrappers )
-SLOT=0
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=8351d29c2aed6e5da26486c23b69ab7b
diff --git a/metadata/md5-cache/net-misc/usbip-9999 b/metadata/md5-cache/net-misc/usbip-9999
index 442e701..78c55f8 100644
--- a/metadata/md5-cache/net-misc/usbip-9999
+++ b/metadata/md5-cache/net-misc/usbip-9999
@@ -1,13 +1,13 @@
-DEFINED_PHASES=configure info install postinst prepare setup unpack
-DEPEND=>=dev-libs/glib-2.6 sys-apps/hwids >=sys-kernel/linux-headers-3.17 virtual/libudev tcpd? ( sys-apps/tcp-wrappers ) virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DEFINED_PHASES=configure info install prepare setup unpack
+DEPEND=>=dev-libs/glib-2.6 sys-apps/hwdata >=sys-kernel/linux-headers-3.17 virtual/libudev tcpd? ( sys-apps/tcp-wrappers ) virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
 DESCRIPTION=Userspace utilities for a general USB device sharing system over IP networks
 EAPI=6
 HOMEPAGE=https://www.kernel.org/
-IUSE=static-libs tcpd cros_host cros_workon_tree_
+IUSE=static-libs tcpd cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
-RDEPEND=>=dev-libs/glib-2.6 sys-apps/hwids >=sys-kernel/linux-headers-3.17 virtual/libudev tcpd? ( sys-apps/tcp-wrappers )
+RDEPEND=>=dev-libs/glib-2.6 sys-apps/hwdata >=sys-kernel/linux-headers-3.17 virtual/libudev tcpd? ( sys-apps/tcp-wrappers )
 SLOT=0
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=89b492a0773470a756de8a0e166da868
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=99beb2132d4128dcb186131c79cd690e
diff --git a/metadata/md5-cache/net-nds/rpcbind-0.2.4 b/metadata/md5-cache/net-nds/rpcbind-0.2.4
deleted file mode 100644
index ba8c6a8..0000000
--- a/metadata/md5-cache/net-nds/rpcbind-0.2.4
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=configure install prepare
-DEPEND=>=net-libs/libtirpc-1.0:= systemd? ( sys-apps/systemd:= ) tcpd? ( sys-apps/tcp-wrappers ) virtual/pkgconfig virtual/pkgconfig
-DESCRIPTION=portmap replacement which supports RPC over various protocols
-EAPI=5
-HOMEPAGE=https://sourceforge.net/projects/rpcbind/
-IUSE=debug selinux systemd tcpd warmstarts
-KEYWORDS=*
-LICENSE=BSD
-RDEPEND=>=net-libs/libtirpc-1.0:= systemd? ( sys-apps/systemd:= ) tcpd? ( sys-apps/tcp-wrappers ) selinux? ( sec-policy/selinux-rpcbind )
-SLOT=0
-SRC_URI=mirror://sourceforge/rpcbind/rpcbind-0.2.4.tar.bz2
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=d6adcf1e1bc28dbae894f9e8fab9947a
diff --git a/metadata/md5-cache/net-nds/rpcbind-0.2.4-r9 b/metadata/md5-cache/net-nds/rpcbind-0.2.4-r9
deleted file mode 100644
index ba8c6a8..0000000
--- a/metadata/md5-cache/net-nds/rpcbind-0.2.4-r9
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=configure install prepare
-DEPEND=>=net-libs/libtirpc-1.0:= systemd? ( sys-apps/systemd:= ) tcpd? ( sys-apps/tcp-wrappers ) virtual/pkgconfig virtual/pkgconfig
-DESCRIPTION=portmap replacement which supports RPC over various protocols
-EAPI=5
-HOMEPAGE=https://sourceforge.net/projects/rpcbind/
-IUSE=debug selinux systemd tcpd warmstarts
-KEYWORDS=*
-LICENSE=BSD
-RDEPEND=>=net-libs/libtirpc-1.0:= systemd? ( sys-apps/systemd:= ) tcpd? ( sys-apps/tcp-wrappers ) selinux? ( sec-policy/selinux-rpcbind )
-SLOT=0
-SRC_URI=mirror://sourceforge/rpcbind/rpcbind-0.2.4.tar.bz2
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=d6adcf1e1bc28dbae894f9e8fab9947a
diff --git a/metadata/md5-cache/net-print/cups-2.3.3-r229 b/metadata/md5-cache/net-print/cups-2.3.3-r229
deleted file mode 100644
index d1ebaba..0000000
--- a/metadata/md5-cache/net-print/cups-2.3.3-r229
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=>=virtual/pkgconfig-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-vcs/git >=app-portage/elt-patches-20170815 virtual/pkgconfig
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=app-text/libpaper acl? ( kernel_linux? ( sys-apps/acl sys-apps/attr ) ) dbus? ( >=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) kerberos? ( >=virtual/krb5-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !net-print/lprng pam? ( virtual/pam ) ssl? ( >=dev-libs/libgcrypt-1.5.3:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=net-libs/gnutls-2.12.23-r6[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) systemd? ( sys-apps/systemd ) usb? ( virtual/libusb:1 ) X? ( x11-misc/xdg-utils ) xinetd? ( sys-apps/xinetd ) zeroconf? ( >=net-dns/avahi-0.6.31-r2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20140508 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] ) test? ( dev-cpp/gtest:= >=chromeos-base/libchrome-0.0.1-r31:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 sys-apps/baselayout
-DESCRIPTION=The Common Unix Printing System
-EAPI=7
-HOMEPAGE=http://www.cups.org/
-IUSE=acl dbus debug kerberos pam +seccomp selinux +ssl static-libs systemd test +threads upstart usb X xinetd zeroconf asan fuzzer +linguas_ca +linguas_cs +linguas_de +linguas_es +linguas_fr +linguas_it +linguas_ja +linguas_ru cros-debug cros_host cros_workon_tree_8f868069d9b42366e87353aba095d4ffd208697b abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 fuzzer asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=Apache-2.0
-PROPERTIES=live
-RDEPEND=app-text/libpaper acl? ( kernel_linux? ( sys-apps/acl sys-apps/attr ) ) dbus? ( >=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) kerberos? ( >=virtual/krb5-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !net-print/lprng pam? ( virtual/pam ) ssl? ( >=dev-libs/libgcrypt-1.5.3:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=net-libs/gnutls-2.12.23-r6[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) systemd? ( sys-apps/systemd ) usb? ( virtual/libusb:1 ) X? ( x11-misc/xdg-utils ) xinetd? ( sys-apps/xinetd ) zeroconf? ( >=net-dns/avahi-0.6.31-r2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20140508 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] ) selinux? ( sec-policy/selinux-cups ) sys-apps/baselayout virtual/tmpfiles
-REQUIRED_USE=usb? ( threads ) ?? ( systemd upstart )
-SLOT=0/2.3.3-r229
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome-version	f89118941e7f3c3825d2fe216c977c57	libtool	f143db5a74ccd9ca28c1234deffede96	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	pam	3f746974e1cc47cabe3bd488c08cdc8e	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=fa8f82382f53551852fd5db8301493d8
diff --git a/metadata/md5-cache/net-print/cups-2.4.0-r238 b/metadata/md5-cache/net-print/cups-2.4.0-r238
new file mode 100644
index 0000000..0663a5f
--- /dev/null
+++ b/metadata/md5-cache/net-print/cups-2.4.0-r238
@@ -0,0 +1,15 @@
+BDEPEND=>=virtual/pkgconfig-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] dev-vcs/git >=app-portage/elt-patches-20170815 virtual/pkgconfig
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=app-text/libpaper acl? ( kernel_linux? ( sys-apps/acl sys-apps/attr ) ) dbus? ( >=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) kerberos? ( >=virtual/krb5-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !net-print/lprng pam? ( virtual/pam ) ssl? ( >=dev-libs/libgcrypt-1.5.3:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=net-libs/gnutls-2.12.23-r6[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) systemd? ( sys-apps/systemd ) usb? ( virtual/libusb:1 ) X? ( x11-misc/xdg-utils ) xinetd? ( sys-apps/xinetd ) zeroconf? ( >=net-dns/avahi-0.6.31-r2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20140508 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] ) test? ( dev-cpp/gtest:= >=chromeos-base/libchrome-0.0.1-r31:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 sys-apps/baselayout
+DESCRIPTION=The Common Unix Printing System
+EAPI=7
+HOMEPAGE=http://www.cups.org/
+IUSE=acl dbus debug kerberos pam +seccomp selinux +ssl static-libs systemd test +threads upstart usb X xinetd zeroconf asan fuzzer +linguas_ca +linguas_cs +linguas_de +linguas_es +linguas_fr +linguas_it +linguas_ja +linguas_ru cros-debug cros_host cros_workon_tree_b066a3103dddd259c667f93ea116f7a954c0899d abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 fuzzer asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=Apache-2.0
+PROPERTIES=live
+RDEPEND=app-text/libpaper acl? ( kernel_linux? ( sys-apps/acl sys-apps/attr ) ) dbus? ( >=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) kerberos? ( >=virtual/krb5-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !net-print/lprng pam? ( virtual/pam ) ssl? ( >=dev-libs/libgcrypt-1.5.3:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=net-libs/gnutls-2.12.23-r6[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) systemd? ( sys-apps/systemd ) usb? ( virtual/libusb:1 ) X? ( x11-misc/xdg-utils ) xinetd? ( sys-apps/xinetd ) zeroconf? ( >=net-dns/avahi-0.6.31-r2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20140508 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] ) selinux? ( sec-policy/selinux-cups ) sys-apps/baselayout virtual/tmpfiles
+REQUIRED_USE=usb? ( threads ) ?? ( systemd upstart )
+SLOT=0/2.4.0-r238
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	pam	3f746974e1cc47cabe3bd488c08cdc8e	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=12233e898644a38878c496226d884e8c
diff --git a/metadata/md5-cache/net-print/cups-9999 b/metadata/md5-cache/net-print/cups-9999
index 58b1179..6972452 100644
--- a/metadata/md5-cache/net-print/cups-9999
+++ b/metadata/md5-cache/net-print/cups-9999
@@ -11,5 +11,5 @@
 RDEPEND=app-text/libpaper acl? ( kernel_linux? ( sys-apps/acl sys-apps/attr ) ) dbus? ( >=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) kerberos? ( >=virtual/krb5-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !net-print/lprng pam? ( virtual/pam ) ssl? ( >=dev-libs/libgcrypt-1.5.3:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=net-libs/gnutls-2.12.23-r6[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) systemd? ( sys-apps/systemd ) usb? ( virtual/libusb:1 ) X? ( x11-misc/xdg-utils ) xinetd? ( sys-apps/xinetd ) zeroconf? ( >=net-dns/avahi-0.6.31-r2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20140508 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] ) selinux? ( sec-policy/selinux-cups ) sys-apps/baselayout virtual/tmpfiles
 REQUIRED_USE=usb? ( threads ) ?? ( systemd upstart )
 SLOT=0/9999
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome-version	f89118941e7f3c3825d2fe216c977c57	libtool	f143db5a74ccd9ca28c1234deffede96	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	pam	3f746974e1cc47cabe3bd488c08cdc8e	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=adeaabd7a542bc66cf4fb73247f84c48
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	pam	3f746974e1cc47cabe3bd488c08cdc8e	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=8921514e56c69cebe6e2c62563b03603
diff --git a/metadata/md5-cache/net-print/cups_proxy-0.0.1-r256 b/metadata/md5-cache/net-print/cups_proxy-0.0.1-r256
deleted file mode 100644
index 186f802..0000000
--- a/metadata/md5-cache/net-print/cups_proxy-0.0.1-r256
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/libbrillo:= net-libs/libmicrohttpd:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
-DESCRIPTION=CUPS Proxy Daemon for Chromium OS
-EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/cups_proxy/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_aac6d6c99cfdda309e86c5f57afc991694f85c18_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_aac6d6c99cfdda309e86c5f57afc991694f85c18_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=chromeos-base/libbrillo:= net-libs/libmicrohttpd:= virtual/tmpfiles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=2e9ead84fc5b001b79f15650a978179d
diff --git a/metadata/md5-cache/net-print/cups_proxy-0.0.1-r318 b/metadata/md5-cache/net-print/cups_proxy-0.0.1-r318
new file mode 100644
index 0000000..7d4e864b
--- /dev/null
+++ b/metadata/md5-cache/net-print/cups_proxy-0.0.1-r318
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install preinst setup test unpack
+DEPEND=chromeos-base/libbrillo:= net-libs/libmicrohttpd:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DESCRIPTION=CUPS Proxy Daemon for Chromium OS
+EAPI=6
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cups_proxy/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_7b0ea4ad0dd55c624cbdc60df9bfaeea9b2481a6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_7b0ea4ad0dd55c624cbdc60df9bfaeea9b2481a6_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=chromeos-base/libbrillo:= net-libs/libmicrohttpd:= virtual/tmpfiles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=edcf1f7c6c0db657a2e37bb9c3be7334
diff --git a/metadata/md5-cache/net-print/cups_proxy-9999 b/metadata/md5-cache/net-print/cups_proxy-9999
index f69ea6b..fccee7d 100644
--- a/metadata/md5-cache/net-print/cups_proxy-9999
+++ b/metadata/md5-cache/net-print/cups_proxy-9999
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile configure info install preinst setup test unpack
-DEPEND=chromeos-base/libbrillo:= net-libs/libmicrohttpd:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
+DEPEND=chromeos-base/libbrillo:= net-libs/libmicrohttpd:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:= sys-apps/baselayout
 DESCRIPTION=CUPS Proxy Daemon for Chromium OS
 EAPI=6
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/cups_proxy/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cups_proxy/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=chromeos-base/libbrillo:= net-libs/libmicrohttpd:= virtual/tmpfiles >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= sys-apps/baselayout
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=0632dd52f2e201a5b5f6263cb78d5376
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=182c2dbac94500d74ba514ded3eb5852
diff --git a/metadata/md5-cache/net-print/dymo-cups-drivers-1.4.0-r3 b/metadata/md5-cache/net-print/dymo-cups-drivers-1.4.0-r4
similarity index 100%
rename from metadata/md5-cache/net-print/dymo-cups-drivers-1.4.0-r3
rename to metadata/md5-cache/net-print/dymo-cups-drivers-1.4.0-r4
diff --git a/metadata/md5-cache/net-print/epson-inkjet-printer-escpr-1.7.18 b/metadata/md5-cache/net-print/epson-inkjet-printer-escpr-1.7.18
new file mode 100644
index 0000000..fcf94dd
--- /dev/null
+++ b/metadata/md5-cache/net-print/epson-inkjet-printer-escpr-1.7.18
@@ -0,0 +1,13 @@
+DEFINED_PHASES=configure install prepare
+DEPEND=net-print/cups >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Epson Inkjet Printer Driver (ESC/P-R)
+EAPI=5
+HOMEPAGE=http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX
+IUSE=asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=GPL-2
+RDEPEND=net-print/cups
+SLOT=0
+SRC_URI=https://download3.ebz.epson.net/dsc/f/03/00/13/43/81/cbdd80826424935cef20d16be8ee5851388977a7/epson-inkjet-printer-escpr-1.7.18-1lsb3.2.tar.gz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=7433a469bc0d19216f4d8a672c9b5e3f
diff --git a/metadata/md5-cache/net-print/epson-inkjet-printer-escpr-1.7.18-r1 b/metadata/md5-cache/net-print/epson-inkjet-printer-escpr-1.7.18-r1
new file mode 100644
index 0000000..fcf94dd
--- /dev/null
+++ b/metadata/md5-cache/net-print/epson-inkjet-printer-escpr-1.7.18-r1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=configure install prepare
+DEPEND=net-print/cups >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Epson Inkjet Printer Driver (ESC/P-R)
+EAPI=5
+HOMEPAGE=http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX
+IUSE=asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=GPL-2
+RDEPEND=net-print/cups
+SLOT=0
+SRC_URI=https://download3.ebz.epson.net/dsc/f/03/00/13/43/81/cbdd80826424935cef20d16be8ee5851388977a7/epson-inkjet-printer-escpr-1.7.18-1lsb3.2.tar.gz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=7433a469bc0d19216f4d8a672c9b5e3f
diff --git a/metadata/md5-cache/net-print/epson-inkjet-printer-escpr-1.7.6 b/metadata/md5-cache/net-print/epson-inkjet-printer-escpr-1.7.6
deleted file mode 100644
index 525a881..0000000
--- a/metadata/md5-cache/net-print/epson-inkjet-printer-escpr-1.7.6
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=configure install prepare
-DEPEND=net-print/cups >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Epson Inkjet Printer Driver (ESC/P-R)
-EAPI=5
-HOMEPAGE=http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX
-IUSE=asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=GPL-2
-RDEPEND=net-print/cups
-SLOT=0
-SRC_URI=https://download3.ebz.epson.net/dsc/f/03/00/10/33/90/13c8b802beeae061b6eb08248a0417be08484a26/epson-inkjet-printer-escpr-1.7.6-1lsb3.2.tar.gz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=29096fae39c6c383b2dfd1c8512ddb22
diff --git a/metadata/md5-cache/net-print/epson-inkjet-printer-escpr-1.7.6-r7 b/metadata/md5-cache/net-print/epson-inkjet-printer-escpr-1.7.6-r7
deleted file mode 100644
index 525a881..0000000
--- a/metadata/md5-cache/net-print/epson-inkjet-printer-escpr-1.7.6-r7
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=configure install prepare
-DEPEND=net-print/cups >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Epson Inkjet Printer Driver (ESC/P-R)
-EAPI=5
-HOMEPAGE=http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX
-IUSE=asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=GPL-2
-RDEPEND=net-print/cups
-SLOT=0
-SRC_URI=https://download3.ebz.epson.net/dsc/f/03/00/10/33/90/13c8b802beeae061b6eb08248a0417be08484a26/epson-inkjet-printer-escpr-1.7.6-1lsb3.2.tar.gz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=29096fae39c6c383b2dfd1c8512ddb22
diff --git a/metadata/md5-cache/net-print/hplip-3.21.8 b/metadata/md5-cache/net-print/hplip-3.21.8
index 4e2fafd..7d7abe5 100644
--- a/metadata/md5-cache/net-print/hplip-3.21.8
+++ b/metadata/md5-cache/net-print/hplip-3.21.8
@@ -4,12 +4,12 @@
 DESCRIPTION=HP Linux Imaging and Printing - Print, scan, fax drivers and service tools
 EAPI=7
 HOMEPAGE=https://developers.hp.com/hp-linux-imaging-and-printing
-IUSE=asan fuzzer doc fax +hpcups hpijs kde libnotify libressl -libusb0 minimal parport policykit qt5 scanner +snmp static-ppds X fuzzer asan coverage fuzzer msan tsan ubsan kernel_linux python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
+IUSE=asan fuzzer doc fax +hpcups hpijs kde libnotify libressl -libusb0 minimal parport policykit qt5 scanner +snmp static-ppds X fuzzer asan coverage fuzzer msan tsan ubsan python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
 KEYWORDS=*
 LICENSE=GPL-2
 RDEPEND=net-print/cups sys-apps/dbus virtual/jpeg:0 hpijs? ( net-print/cups-filters[foomatic] ) !minimal? ( !libusb0? ( virtual/libusb:1 ) libusb0? ( virtual/libusb:0 ) scanner? ( media-gfx/sane-backends ) snmp? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) net-analyzer/net-snmp ) ) app-text/ghostscript-gpl !minimal? ( python_single_target_python3_6? ( >=dev-python/dbus-python-1.2.0-r1[python_targets_python3_6(-)] ) python_single_target_python3_7? ( >=dev-python/dbus-python-1.2.0-r1[python_targets_python3_7(-)] ) python_single_target_python3_8? ( >=dev-python/dbus-python-1.2.0-r1[python_targets_python3_8(-)] ) python_single_target_python3_9? ( >=dev-python/dbus-python-1.2.0-r1[python_targets_python3_9(-)] ) python_single_target_python3_6? ( dev-python/pygobject:3[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/pygobject:3[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/pygobject:3[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/pygobject:3[python_targets_python3_9(-)] ) fax? ( python_single_target_python3_6? ( dev-python/reportlab[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/reportlab[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/reportlab[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/reportlab[python_targets_python3_9(-)] ) ) kernel_linux? ( virtual/udev ) qt5? ( python_single_target_python3_6? ( >=dev-python/PyQt5-5.5.1[dbus,gui,widgets,python_targets_python3_6(-)] ) python_single_target_python3_7? ( >=dev-python/PyQt5-5.5.1[dbus,gui,widgets,python_targets_python3_7(-)] ) python_single_target_python3_8? ( >=dev-python/PyQt5-5.5.1[dbus,gui,widgets,python_targets_python3_8(-)] ) python_single_target_python3_9? ( >=dev-python/PyQt5-5.5.1[dbus,gui,widgets,python_targets_python3_9(-)] ) libnotify? ( python_single_target_python3_6? ( dev-python/notify2[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/notify2[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/notify2[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/notify2[python_targets_python3_9(-)] ) ) ) scanner? ( python_single_target_python3_6? ( >=dev-python/reportlab-3.2[python_targets_python3_6(-)] ) python_single_target_python3_7? ( >=dev-python/reportlab-3.2[python_targets_python3_7(-)] ) python_single_target_python3_8? ( >=dev-python/reportlab-3.2[python_targets_python3_8(-)] ) python_single_target_python3_9? ( >=dev-python/reportlab-3.2[python_targets_python3_9(-)] ) python_single_target_python3_6? ( >=dev-python/pillow-3.1.1[python_targets_python3_6(-)] ) python_single_target_python3_7? ( >=dev-python/pillow-3.1.1[python_targets_python3_7(-)] ) python_single_target_python3_8? ( >=dev-python/pillow-3.1.1[python_targets_python3_8(-)] ) python_single_target_python3_9? ( >=dev-python/pillow-3.1.1[python_targets_python3_9(-)] ) X? ( || ( kde? ( kde-misc/skanlite ) media-gfx/xsane media-gfx/sane-frontends ) ) ) ) policykit? ( sys-auth/polkit )
 REQUIRED_USE=^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 )
 SLOT=0
 SRC_URI=mirror://sourceforge/hplip/hplip-3.21.8.tar.gz https://dev.gentoo.org/~billie/distfiles/hplip-3.21.4-patches-1.tar.xz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	multilib	2477ebe553d3e4d2c606191fe6c33602	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	readme.gentoo-r1	22ae82e140bdd95d17a34fd5fd733190	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
-_md5_=fd3920678c142968a53c251e30d78bfc
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	readme.gentoo-r1	22ae82e140bdd95d17a34fd5fd733190	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
+_md5_=649a39f782e9baaa41d24d432b4f0f9d
diff --git a/metadata/md5-cache/net-print/hplip-3.21.8-r10 b/metadata/md5-cache/net-print/hplip-3.21.8-r10
new file mode 100644
index 0000000..7d7abe5
--- /dev/null
+++ b/metadata/md5-cache/net-print/hplip-3.21.8-r10
@@ -0,0 +1,15 @@
+BDEPEND=virtual/pkgconfig >=app-portage/elt-patches-20170815 virtual/pkgconfig
+DEFINED_PHASES=configure install postinst prepare setup
+DEPEND=net-print/cups sys-apps/dbus virtual/jpeg:0 hpijs? ( net-print/cups-filters[foomatic] ) !minimal? ( !libusb0? ( virtual/libusb:1 ) libusb0? ( virtual/libusb:0 ) scanner? ( media-gfx/sane-backends ) snmp? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) net-analyzer/net-snmp ) ) python_single_target_python3_6? ( dev-lang/python:3.6[threads(+),xml] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[threads(+),xml] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[threads(+),xml] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[threads(+),xml] >=dev-lang/python-exec-2:=[python_targets_python3_9] ) !<sys-devel/gettext-0.18.1.1-r3 =sys-devel/automake-1.13* >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=HP Linux Imaging and Printing - Print, scan, fax drivers and service tools
+EAPI=7
+HOMEPAGE=https://developers.hp.com/hp-linux-imaging-and-printing
+IUSE=asan fuzzer doc fax +hpcups hpijs kde libnotify libressl -libusb0 minimal parport policykit qt5 scanner +snmp static-ppds X fuzzer asan coverage fuzzer msan tsan ubsan python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
+KEYWORDS=*
+LICENSE=GPL-2
+RDEPEND=net-print/cups sys-apps/dbus virtual/jpeg:0 hpijs? ( net-print/cups-filters[foomatic] ) !minimal? ( !libusb0? ( virtual/libusb:1 ) libusb0? ( virtual/libusb:0 ) scanner? ( media-gfx/sane-backends ) snmp? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) net-analyzer/net-snmp ) ) app-text/ghostscript-gpl !minimal? ( python_single_target_python3_6? ( >=dev-python/dbus-python-1.2.0-r1[python_targets_python3_6(-)] ) python_single_target_python3_7? ( >=dev-python/dbus-python-1.2.0-r1[python_targets_python3_7(-)] ) python_single_target_python3_8? ( >=dev-python/dbus-python-1.2.0-r1[python_targets_python3_8(-)] ) python_single_target_python3_9? ( >=dev-python/dbus-python-1.2.0-r1[python_targets_python3_9(-)] ) python_single_target_python3_6? ( dev-python/pygobject:3[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/pygobject:3[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/pygobject:3[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/pygobject:3[python_targets_python3_9(-)] ) fax? ( python_single_target_python3_6? ( dev-python/reportlab[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/reportlab[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/reportlab[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/reportlab[python_targets_python3_9(-)] ) ) kernel_linux? ( virtual/udev ) qt5? ( python_single_target_python3_6? ( >=dev-python/PyQt5-5.5.1[dbus,gui,widgets,python_targets_python3_6(-)] ) python_single_target_python3_7? ( >=dev-python/PyQt5-5.5.1[dbus,gui,widgets,python_targets_python3_7(-)] ) python_single_target_python3_8? ( >=dev-python/PyQt5-5.5.1[dbus,gui,widgets,python_targets_python3_8(-)] ) python_single_target_python3_9? ( >=dev-python/PyQt5-5.5.1[dbus,gui,widgets,python_targets_python3_9(-)] ) libnotify? ( python_single_target_python3_6? ( dev-python/notify2[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/notify2[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/notify2[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/notify2[python_targets_python3_9(-)] ) ) ) scanner? ( python_single_target_python3_6? ( >=dev-python/reportlab-3.2[python_targets_python3_6(-)] ) python_single_target_python3_7? ( >=dev-python/reportlab-3.2[python_targets_python3_7(-)] ) python_single_target_python3_8? ( >=dev-python/reportlab-3.2[python_targets_python3_8(-)] ) python_single_target_python3_9? ( >=dev-python/reportlab-3.2[python_targets_python3_9(-)] ) python_single_target_python3_6? ( >=dev-python/pillow-3.1.1[python_targets_python3_6(-)] ) python_single_target_python3_7? ( >=dev-python/pillow-3.1.1[python_targets_python3_7(-)] ) python_single_target_python3_8? ( >=dev-python/pillow-3.1.1[python_targets_python3_8(-)] ) python_single_target_python3_9? ( >=dev-python/pillow-3.1.1[python_targets_python3_9(-)] ) X? ( || ( kde? ( kde-misc/skanlite ) media-gfx/xsane media-gfx/sane-frontends ) ) ) ) policykit? ( sys-auth/polkit )
+REQUIRED_USE=^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 )
+SLOT=0
+SRC_URI=mirror://sourceforge/hplip/hplip-3.21.8.tar.gz https://dev.gentoo.org/~billie/distfiles/hplip-3.21.4-patches-1.tar.xz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	readme.gentoo-r1	22ae82e140bdd95d17a34fd5fd733190	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
+_md5_=649a39f782e9baaa41d24d432b4f0f9d
diff --git a/metadata/md5-cache/net-print/hplip-3.21.8-r7 b/metadata/md5-cache/net-print/hplip-3.21.8-r7
deleted file mode 100644
index 4e2fafd..0000000
--- a/metadata/md5-cache/net-print/hplip-3.21.8-r7
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=virtual/pkgconfig >=app-portage/elt-patches-20170815 virtual/pkgconfig
-DEFINED_PHASES=configure install postinst prepare setup
-DEPEND=net-print/cups sys-apps/dbus virtual/jpeg:0 hpijs? ( net-print/cups-filters[foomatic] ) !minimal? ( !libusb0? ( virtual/libusb:1 ) libusb0? ( virtual/libusb:0 ) scanner? ( media-gfx/sane-backends ) snmp? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) net-analyzer/net-snmp ) ) python_single_target_python3_6? ( dev-lang/python:3.6[threads(+),xml] >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7[threads(+),xml] >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8[threads(+),xml] >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9[threads(+),xml] >=dev-lang/python-exec-2:=[python_targets_python3_9] ) !<sys-devel/gettext-0.18.1.1-r3 =sys-devel/automake-1.13* >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=HP Linux Imaging and Printing - Print, scan, fax drivers and service tools
-EAPI=7
-HOMEPAGE=https://developers.hp.com/hp-linux-imaging-and-printing
-IUSE=asan fuzzer doc fax +hpcups hpijs kde libnotify libressl -libusb0 minimal parport policykit qt5 scanner +snmp static-ppds X fuzzer asan coverage fuzzer msan tsan ubsan kernel_linux python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
-KEYWORDS=*
-LICENSE=GPL-2
-RDEPEND=net-print/cups sys-apps/dbus virtual/jpeg:0 hpijs? ( net-print/cups-filters[foomatic] ) !minimal? ( !libusb0? ( virtual/libusb:1 ) libusb0? ( virtual/libusb:0 ) scanner? ( media-gfx/sane-backends ) snmp? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) net-analyzer/net-snmp ) ) app-text/ghostscript-gpl !minimal? ( python_single_target_python3_6? ( >=dev-python/dbus-python-1.2.0-r1[python_targets_python3_6(-)] ) python_single_target_python3_7? ( >=dev-python/dbus-python-1.2.0-r1[python_targets_python3_7(-)] ) python_single_target_python3_8? ( >=dev-python/dbus-python-1.2.0-r1[python_targets_python3_8(-)] ) python_single_target_python3_9? ( >=dev-python/dbus-python-1.2.0-r1[python_targets_python3_9(-)] ) python_single_target_python3_6? ( dev-python/pygobject:3[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/pygobject:3[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/pygobject:3[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/pygobject:3[python_targets_python3_9(-)] ) fax? ( python_single_target_python3_6? ( dev-python/reportlab[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/reportlab[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/reportlab[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/reportlab[python_targets_python3_9(-)] ) ) kernel_linux? ( virtual/udev ) qt5? ( python_single_target_python3_6? ( >=dev-python/PyQt5-5.5.1[dbus,gui,widgets,python_targets_python3_6(-)] ) python_single_target_python3_7? ( >=dev-python/PyQt5-5.5.1[dbus,gui,widgets,python_targets_python3_7(-)] ) python_single_target_python3_8? ( >=dev-python/PyQt5-5.5.1[dbus,gui,widgets,python_targets_python3_8(-)] ) python_single_target_python3_9? ( >=dev-python/PyQt5-5.5.1[dbus,gui,widgets,python_targets_python3_9(-)] ) libnotify? ( python_single_target_python3_6? ( dev-python/notify2[python_targets_python3_6(-)] ) python_single_target_python3_7? ( dev-python/notify2[python_targets_python3_7(-)] ) python_single_target_python3_8? ( dev-python/notify2[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/notify2[python_targets_python3_9(-)] ) ) ) scanner? ( python_single_target_python3_6? ( >=dev-python/reportlab-3.2[python_targets_python3_6(-)] ) python_single_target_python3_7? ( >=dev-python/reportlab-3.2[python_targets_python3_7(-)] ) python_single_target_python3_8? ( >=dev-python/reportlab-3.2[python_targets_python3_8(-)] ) python_single_target_python3_9? ( >=dev-python/reportlab-3.2[python_targets_python3_9(-)] ) python_single_target_python3_6? ( >=dev-python/pillow-3.1.1[python_targets_python3_6(-)] ) python_single_target_python3_7? ( >=dev-python/pillow-3.1.1[python_targets_python3_7(-)] ) python_single_target_python3_8? ( >=dev-python/pillow-3.1.1[python_targets_python3_8(-)] ) python_single_target_python3_9? ( >=dev-python/pillow-3.1.1[python_targets_python3_9(-)] ) X? ( || ( kde? ( kde-misc/skanlite ) media-gfx/xsane media-gfx/sane-frontends ) ) ) ) policykit? ( sys-auth/polkit )
-REQUIRED_USE=^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 )
-SLOT=0
-SRC_URI=mirror://sourceforge/hplip/hplip-3.21.8.tar.gz https://dev.gentoo.org/~billie/distfiles/hplip-3.21.4-patches-1.tar.xz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	multilib	2477ebe553d3e4d2c606191fe6c33602	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	readme.gentoo-r1	22ae82e140bdd95d17a34fd5fd733190	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
-_md5_=fd3920678c142968a53c251e30d78bfc
diff --git a/metadata/md5-cache/net-print/nec-printing-license-0.1 b/metadata/md5-cache/net-print/nec-printing-license-0.1
new file mode 100644
index 0000000..c4b8fe7
--- /dev/null
+++ b/metadata/md5-cache/net-print/nec-printing-license-0.1
@@ -0,0 +1,8 @@
+DEFINED_PHASES=-
+DESCRIPTION=Licenses for NEC PPD files
+EAPI=7
+HOMEPAGE=https://jpn.nec.com/printer/laser/index.html
+KEYWORDS=*
+LICENSE=LICENSE.nec-ppds
+SLOT=0
+_md5_=8b9e9e1a51df60dfa092d9a24ea496e3
diff --git a/metadata/md5-cache/net-print/nec-printing-license-0.1-r1 b/metadata/md5-cache/net-print/nec-printing-license-0.1-r1
new file mode 100644
index 0000000..c4b8fe7
--- /dev/null
+++ b/metadata/md5-cache/net-print/nec-printing-license-0.1-r1
@@ -0,0 +1,8 @@
+DEFINED_PHASES=-
+DESCRIPTION=Licenses for NEC PPD files
+EAPI=7
+HOMEPAGE=https://jpn.nec.com/printer/laser/index.html
+KEYWORDS=*
+LICENSE=LICENSE.nec-ppds
+SLOT=0
+_md5_=8b9e9e1a51df60dfa092d9a24ea496e3
diff --git a/metadata/md5-cache/net-wireless/Wi-FiTestSuite-Linux-DUT-0.0.1-r1 b/metadata/md5-cache/net-wireless/Wi-FiTestSuite-Linux-DUT-0.0.1-r1
index df9f5a1..6f14c00 100644
--- a/metadata/md5-cache/net-wireless/Wi-FiTestSuite-Linux-DUT-0.0.1-r1
+++ b/metadata/md5-cache/net-wireless/Wi-FiTestSuite-Linux-DUT-0.0.1-r1
@@ -8,5 +8,5 @@
 LICENSE=ISC
 PROPERTIES=live
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=ca042b0d39f9943aa76709e335e9ac06
diff --git a/metadata/md5-cache/net-wireless/Wi-FiTestSuite-Linux-DUT-9999 b/metadata/md5-cache/net-wireless/Wi-FiTestSuite-Linux-DUT-9999
index 22e5402..e3fd7bf 100644
--- a/metadata/md5-cache/net-wireless/Wi-FiTestSuite-Linux-DUT-9999
+++ b/metadata/md5-cache/net-wireless/Wi-FiTestSuite-Linux-DUT-9999
@@ -8,5 +8,5 @@
 LICENSE=ISC
 PROPERTIES=live
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=5473ae4ec4bff2ee4b74189cf4b1448b
diff --git a/metadata/md5-cache/net-wireless/bluez-5.54-r695 b/metadata/md5-cache/net-wireless/bluez-5.54-r695
deleted file mode 100644
index edc44e5..0000000
--- a/metadata/md5-cache/net-wireless/bluez-5.54-r695
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=>=dev-libs/glib-2.14:2= app-arch/bzip2:= sys-apps/dbus:= virtual/libudev:= cups? ( net-print/cups:= ) readline? ( sys-libs/readline:= ) >=chromeos-base/metrics-0.0.1-r3152:= dev-util/pkgconfig:= sys-devel/flex:= >=app-portage/elt-patches-20170815 virtual/pkgconfig virtual/pkgconfig dev-vcs/git
-DEFINED_PHASES=configure info install postinst prepare setup test unpack
-DEPEND=>=dev-libs/glib-2.14:2= app-arch/bzip2:= sys-apps/dbus:= virtual/libudev:= cups? ( net-print/cups:= ) readline? ( sys-libs/readline:= ) >=chromeos-base/metrics-0.0.1-r3152:= !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 sys-apps/baselayout >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
-DESCRIPTION=Bluetooth Tools and System Daemons for Linux
-EAPI=7
-HOMEPAGE=http://www.bluez.org/
-IUSE=asan bluez-next bluez-upstream cups debug fuzzer hid2hci systemd readline bt_deprecated_tools cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_64265b23e310e3ef237285bf1157924769852cf4_64265b23e310e3ef237285bf1157924769852cf4_4a213455cfbda00582da20a66b898449090d0bbc
-KEYWORDS=*
-LICENSE=GPL-2 LGPL-2.1
-PROPERTIES=live
-RDEPEND=>=dev-libs/glib-2.14:2= app-arch/bzip2:= sys-apps/dbus:= virtual/libudev:= cups? ( net-print/cups:= ) readline? ( sys-libs/readline:= ) >=chromeos-base/metrics-0.0.1-r3152:= !net-wireless/bluez-hcidump !net-wireless/bluez-libs !net-wireless/bluez-test !net-wireless/bluez-utils sys-apps/baselayout >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] virtual/tmpfiles
-REQUIRED_USE=?? ( bluez-next bluez-upstream )
-SLOT=0/5.54-r695
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=46d53a2bba4565cd6b790cefd1ffe7b3
diff --git a/metadata/md5-cache/net-wireless/bluez-5.54-r809 b/metadata/md5-cache/net-wireless/bluez-5.54-r809
new file mode 100644
index 0000000..095db3a
--- /dev/null
+++ b/metadata/md5-cache/net-wireless/bluez-5.54-r809
@@ -0,0 +1,15 @@
+BDEPEND=>=dev-libs/glib-2.14:2= app-arch/bzip2:= sys-apps/dbus:= virtual/libudev:= cups? ( net-print/cups:= ) readline? ( sys-libs/readline:= ) >=chromeos-base/metrics-0.0.1-r3152:= sys-devel/flex:= >=app-portage/elt-patches-20170815 virtual/pkgconfig virtual/pkgconfig dev-vcs/git
+DEFINED_PHASES=configure info install postinst prepare setup test unpack
+DEPEND=>=dev-libs/glib-2.14:2= app-arch/bzip2:= sys-apps/dbus:= virtual/libudev:= cups? ( net-print/cups:= ) readline? ( sys-libs/readline:= ) >=chromeos-base/metrics-0.0.1-r3152:= !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 sys-apps/baselayout >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
+DESCRIPTION=Bluetooth Tools and System Daemons for Linux
+EAPI=7
+HOMEPAGE=http://www.bluez.org/
+IUSE=asan bluez-next bluez-upstream cups debug fuzzer hid2hci systemd readline bt_deprecated_tools bluez_default_conn_int bluez_disallow_bqr cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_0deb5697b60e657d6d7b4e9ab90304057794ef29_0deb5697b60e657d6d7b4e9ab90304057794ef29_0aae9c6b5ed24f2a9abd7d39944fee77c532fd4b
+KEYWORDS=*
+LICENSE=GPL-2 LGPL-2.1
+PROPERTIES=live
+RDEPEND=>=dev-libs/glib-2.14:2= app-arch/bzip2:= sys-apps/dbus:= virtual/libudev:= cups? ( net-print/cups:= ) readline? ( sys-libs/readline:= ) >=chromeos-base/metrics-0.0.1-r3152:= !net-wireless/bluez-hcidump !net-wireless/bluez-libs !net-wireless/bluez-test !net-wireless/bluez-utils sys-apps/baselayout >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] virtual/tmpfiles
+REQUIRED_USE=?? ( bluez-next bluez-upstream )
+SLOT=0/5.54-r809
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=d194d914157aee4bc760595e150b98c1
diff --git a/metadata/md5-cache/net-wireless/bluez-9999 b/metadata/md5-cache/net-wireless/bluez-9999
index 4d4e727..be7f412 100644
--- a/metadata/md5-cache/net-wireless/bluez-9999
+++ b/metadata/md5-cache/net-wireless/bluez-9999
@@ -1,15 +1,15 @@
-BDEPEND=>=dev-libs/glib-2.14:2= app-arch/bzip2:= sys-apps/dbus:= virtual/libudev:= cups? ( net-print/cups:= ) readline? ( sys-libs/readline:= ) >=chromeos-base/metrics-0.0.1-r3152:= dev-util/pkgconfig:= sys-devel/flex:= >=app-portage/elt-patches-20170815 virtual/pkgconfig virtual/pkgconfig dev-vcs/git
+BDEPEND=>=dev-libs/glib-2.14:2= app-arch/bzip2:= sys-apps/dbus:= virtual/libudev:= cups? ( net-print/cups:= ) readline? ( sys-libs/readline:= ) >=chromeos-base/metrics-0.0.1-r3152:= sys-devel/flex:= >=app-portage/elt-patches-20170815 virtual/pkgconfig virtual/pkgconfig dev-vcs/git
 DEFINED_PHASES=configure info install postinst prepare setup test unpack
 DEPEND=>=dev-libs/glib-2.14:2= app-arch/bzip2:= sys-apps/dbus:= virtual/libudev:= cups? ( net-print/cups:= ) readline? ( sys-libs/readline:= ) >=chromeos-base/metrics-0.0.1-r3152:= !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 sys-apps/baselayout >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=]
 DESCRIPTION=Bluetooth Tools and System Daemons for Linux
 EAPI=7
 HOMEPAGE=http://www.bluez.org/
-IUSE=asan bluez-next bluez-upstream cups debug fuzzer hid2hci systemd readline bt_deprecated_tools cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_
+IUSE=asan bluez-next bluez-upstream cups debug fuzzer hid2hci systemd readline bt_deprecated_tools bluez_default_conn_int bluez_disallow_bqr cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=GPL-2 LGPL-2.1
 PROPERTIES=live
 RDEPEND=>=dev-libs/glib-2.14:2= app-arch/bzip2:= sys-apps/dbus:= virtual/libudev:= cups? ( net-print/cups:= ) readline? ( sys-libs/readline:= ) >=chromeos-base/metrics-0.0.1-r3152:= !net-wireless/bluez-hcidump !net-wireless/bluez-libs !net-wireless/bluez-test !net-wireless/bluez-utils sys-apps/baselayout >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] virtual/tmpfiles
 REQUIRED_USE=?? ( bluez-next bluez-upstream )
 SLOT=0/9999
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=56fbc9471e1517d97f4907f299b53649
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=a2e00e92a26ded650b1b0376e1931ff7
diff --git a/metadata/md5-cache/net-wireless/floss-0.0.2-r1437 b/metadata/md5-cache/net-wireless/floss-0.0.2-r1437
new file mode 100644
index 0000000..28d5893
--- /dev/null
+++ b/metadata/md5-cache/net-wireless/floss-0.0.2-r1437
@@ -0,0 +1,15 @@
+BDEPEND=dev-libs/tinyxml2:= net-wireless/floss_tools dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND=chromeos-base/metrics:= chromeos-base/system_api:= dev-libs/flatbuffers:= dev-libs/modp_b64:= dev-libs/tinyxml2:= dev-libs/openssl:= =dev-rust/cc-1*:= net-wireless/bluez >=virtual/rust-1.60.0:= virtual/rust-binaries:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Bluetooth Tools and System Daemons for Linux
+EAPI=7
+HOMEPAGE=https://android.googlesource.com/platform/packages/modules/Bluetooth
+IUSE=bt_dynlib floss_upstream cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_ebc94095def7b9d97104e9574b06f31139765b85_fd5985c8c7d26a91db0bef215a0ee6b974567add_c3473ab29243f136628d4c8708ab647c15f6a411_97c098e228b4560e214854eadb06218a4f00b2dd cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86 cros-debug fuzzer cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_ebc94095def7b9d97104e9574b06f31139765b85_fd5985c8c7d26a91db0bef215a0ee6b974567add_c3473ab29243f136628d4c8708ab647c15f6a411_97c098e228b4560e214854eadb06218a4f00b2dd cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=Apache-2.0 MIT BSD ISC
+PROPERTIES=live live
+RDEPEND=chromeos-base/metrics:= chromeos-base/system_api:= dev-libs/flatbuffers:= dev-libs/modp_b64:= dev-libs/tinyxml2:= dev-libs/openssl:= =dev-rust/cc-1*:= net-wireless/bluez virtual/rust-binaries:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/0.0.2-r1437
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=dbe94ee7b20e763cb7b0995378d07c29
diff --git a/metadata/md5-cache/net-wireless/floss-0.0.2-r532 b/metadata/md5-cache/net-wireless/floss-0.0.2-r532
deleted file mode 100644
index a9f7c8e..0000000
--- a/metadata/md5-cache/net-wireless/floss-0.0.2-r532
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-libs/tinyxml2:= dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-libs/flatbuffers:= dev-libs/modp_b64:= dev-libs/tinyxml2:= dev-libs/openssl:= =dev-rust/cc-1*:= net-wireless/bluez >=virtual/rust-1.39.0:= virtual/rust-binaries:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Bluetooth Tools and System Daemons for Linux
-EAPI=7
-HOMEPAGE=https://android.googlesource.com/platform/system/bt/
-IUSE=bt_dynlib floss_upstream cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_b096cba1e7ed10ba05c77d634bb63a0150ed0284_28a49ae3a1d99c3360d2f2fe8cf44e4b13d6ac5c_66f9d141406fd5ac2ef4f0709d11aba79363cc0f_5da74ac655d7167f664aa6f1ca5cb51ae90a0952 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86 cros-debug fuzzer cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_b096cba1e7ed10ba05c77d634bb63a0150ed0284_28a49ae3a1d99c3360d2f2fe8cf44e4b13d6ac5c_66f9d141406fd5ac2ef4f0709d11aba79363cc0f_5da74ac655d7167f664aa6f1ca5cb51ae90a0952 cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=Apache-2.0 MIT BSD ISC
-PROPERTIES=live live
-RDEPEND=dev-libs/flatbuffers:= dev-libs/modp_b64:= dev-libs/tinyxml2:= dev-libs/openssl:= =dev-rust/cc-1*:= net-wireless/bluez >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/0.0.2-r532
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=4278b4cf6665608fcbb2d0ab424bad17
diff --git a/metadata/md5-cache/net-wireless/floss-9999 b/metadata/md5-cache/net-wireless/floss-9999
index ee25cdc..055d9ae 100644
--- a/metadata/md5-cache/net-wireless/floss-9999
+++ b/metadata/md5-cache/net-wireless/floss-9999
@@ -1,15 +1,15 @@
-BDEPEND=dev-libs/tinyxml2:= dev-vcs/git dev-vcs/git
+BDEPEND=dev-libs/tinyxml2:= net-wireless/floss_tools dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND=dev-libs/flatbuffers:= dev-libs/modp_b64:= dev-libs/tinyxml2:= dev-libs/openssl:= =dev-rust/cc-1*:= net-wireless/bluez >=virtual/rust-1.39.0:= virtual/rust-binaries:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=chromeos-base/metrics:= chromeos-base/system_api:= dev-libs/flatbuffers:= dev-libs/modp_b64:= dev-libs/tinyxml2:= dev-libs/openssl:= =dev-rust/cc-1*:= net-wireless/bluez >=virtual/rust-1.60.0:= virtual/rust-binaries:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Bluetooth Tools and System Daemons for Linux
 EAPI=7
-HOMEPAGE=https://android.googlesource.com/platform/system/bt/
-IUSE=bt_dynlib floss_upstream cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86 cros-debug fuzzer cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://android.googlesource.com/platform/packages/modules/Bluetooth
+IUSE=bt_dynlib floss_upstream cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86 cros-debug fuzzer cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=Apache-2.0 MIT BSD ISC
 PROPERTIES=live live
-RDEPEND=dev-libs/flatbuffers:= dev-libs/modp_b64:= dev-libs/tinyxml2:= dev-libs/openssl:= =dev-rust/cc-1*:= net-wireless/bluez >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles
+RDEPEND=chromeos-base/metrics:= chromeos-base/system_api:= dev-libs/flatbuffers:= dev-libs/modp_b64:= dev-libs/tinyxml2:= dev-libs/openssl:= =dev-rust/cc-1*:= net-wireless/bluez virtual/rust-binaries:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= virtual/tmpfiles
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=67ba8b0687193b883f4e9e924a36ee0d
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=28af294c069a7d45a7c5ec109815ec2d
diff --git a/metadata/md5-cache/net-wireless/floss_tools-0.0.1-r225 b/metadata/md5-cache/net-wireless/floss_tools-0.0.1-r225
new file mode 100644
index 0000000..5b4d63b
--- /dev/null
+++ b/metadata/md5-cache/net-wireless/floss_tools-0.0.1-r225
@@ -0,0 +1,13 @@
+BDEPEND=dev-libs/tinyxml2 dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Bluetooth Build Tools
+EAPI=7
+HOMEPAGE=https://android.googlesource.com/platform/packages/modules/Bluetooth
+IUSE=floss_upstream cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_ebc94095def7b9d97104e9574b06f31139765b85_fd5985c8c7d26a91db0bef215a0ee6b974567add_c3473ab29243f136628d4c8708ab647c15f6a411 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb_ebc94095def7b9d97104e9574b06f31139765b85_fd5985c8c7d26a91db0bef215a0ee6b974567add_c3473ab29243f136628d4c8708ab647c15f6a411 compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=Apache-2.0 MIT BSD ISC
+PROPERTIES=live live
+SLOT=0/0.0.1-r225
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b45a75a1c6a89f7f97b8bd937f919036
diff --git a/metadata/md5-cache/net-wireless/floss_tools-9999 b/metadata/md5-cache/net-wireless/floss_tools-9999
new file mode 100644
index 0000000..64b4787
--- /dev/null
+++ b/metadata/md5-cache/net-wireless/floss_tools-9999
@@ -0,0 +1,13 @@
+BDEPEND=dev-libs/tinyxml2 dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Bluetooth Build Tools
+EAPI=7
+HOMEPAGE=https://android.googlesource.com/platform/packages/modules/Bluetooth
+IUSE=floss_upstream cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ compdb_only compilation_database cros_host test
+KEYWORDS=~*
+LICENSE=Apache-2.0 MIT BSD ISC
+PROPERTIES=live live
+SLOT=0/9999
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2239ead8a6f68b8fc38162409130236e
diff --git a/metadata/md5-cache/net-wireless/hostap-test-0.0.1-r61 b/metadata/md5-cache/net-wireless/hostap-test-0.0.1-r61
deleted file mode 100644
index 5c21075..0000000
--- a/metadata/md5-cache/net-wireless/hostap-test-0.0.1-r61
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=dev-libs/libnl:3= dev-libs/openssl:0= net-libs/libpcap:=
-DESCRIPTION=Test package for the hostap project, intended for a VM
-EAPI=7
-HOMEPAGE=https://w1.fi
-IUSE=dbus asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_01ea45df78aee9ff02263134f2442bb029d6e817 python_targets_python3_6 python_targets_python3_7
-KEYWORDS=*
-LICENSE=BSD
-PROPERTIES=live
-RDEPEND=dev-libs/libnl:3= dev-libs/openssl:0= net-libs/libpcap:= python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dbus? ( dev-python/dbus-python[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/pygobject[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] sys-apps/dbus ) dev-python/pycryptodome[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/pyrad[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] net-analyzer/wireshark net-wireless/crda python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 ) || ( python_targets_python3_6 python_targets_python3_7 )
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=35fdce287c6639f1e8700ece24292c2f
diff --git a/metadata/md5-cache/net-wireless/hostap-test-0.0.1-r67 b/metadata/md5-cache/net-wireless/hostap-test-0.0.1-r67
new file mode 100644
index 0000000..d138844
--- /dev/null
+++ b/metadata/md5-cache/net-wireless/hostap-test-0.0.1-r67
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=dev-libs/libnl:3= dev-libs/openssl:0= net-libs/libpcap:=
+DESCRIPTION=Test package for the hostap project, intended for a VM
+EAPI=7
+HOMEPAGE=https://w1.fi
+IUSE=dbus asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_62e8e612e7e476f822d039bea6d9e40811d1c9f9 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD
+PROPERTIES=live
+RDEPEND=dev-libs/libnl:3= dev-libs/openssl:0= net-libs/libpcap:= python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dbus? ( dev-python/dbus-python[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pygobject[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sys-apps/dbus ) dev-python/pycryptodome[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pyrad[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] net-analyzer/wireshark net-wireless/crda python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 ) || ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=079e055c93feda423aa4ca1f2b8e3811
diff --git a/metadata/md5-cache/net-wireless/hostap-test-9999 b/metadata/md5-cache/net-wireless/hostap-test-9999
index f0a30dc..3a06024 100644
--- a/metadata/md5-cache/net-wireless/hostap-test-9999
+++ b/metadata/md5-cache/net-wireless/hostap-test-9999
@@ -1,15 +1,15 @@
-BDEPEND=dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
+BDEPEND=dev-vcs/git python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
 DEFINED_PHASES=compile configure info install prepare setup test unpack
 DEPEND=dev-libs/libnl:3= dev-libs/openssl:0= net-libs/libpcap:=
 DESCRIPTION=Test package for the hostap project, intended for a VM
 EAPI=7
 HOMEPAGE=https://w1.fi
-IUSE=dbus asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7
+IUSE=dbus asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
 KEYWORDS=~*
 LICENSE=BSD
 PROPERTIES=live
-RDEPEND=dev-libs/libnl:3= dev-libs/openssl:0= net-libs/libpcap:= python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dbus? ( dev-python/dbus-python[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/pygobject[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] sys-apps/dbus ) dev-python/pycryptodome[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/pyrad[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)] net-analyzer/wireshark net-wireless/crda python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 ) || ( python_targets_python3_6 python_targets_python3_7 )
+RDEPEND=dev-libs/libnl:3= dev-libs/openssl:0= net-libs/libpcap:= python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dbus? ( dev-python/dbus-python[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pygobject[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sys-apps/dbus ) dev-python/pycryptodome[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pyrad[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] net-analyzer/wireshark net-wireless/crda python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 ) || ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6016cddc895872926cc740c5d173b0d8
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f09233bf150e755cb6457604c2bf976f
diff --git a/metadata/md5-cache/net-wireless/hostapd-2.10_pre-r185 b/metadata/md5-cache/net-wireless/hostapd-2.10_pre-r185
deleted file mode 100644
index d33b448..0000000
--- a/metadata/md5-cache/net-wireless/hostapd-2.10_pre-r185
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install postinst setup unpack
-DEPEND=libressl? ( dev-libs/libressl:0= ) !libressl? ( internal-tls? ( dev-libs/libtommath ) !internal-tls? ( dev-libs/openssl:0=[-bindist] ) ) kernel_linux? ( dev-libs/libnl:3 crda? ( net-wireless/crda ) ) netlink? ( net-libs/libnfnetlink ) sqlite? ( >=dev-db/sqlite-3 )
-DESCRIPTION=IEEE 802.11 wireless LAN Host AP daemon
-EAPI=6
-HOMEPAGE=http://w1.fi
-IUSE=internal-tls ipv6 libressl logwatch netlink sqlite +suiteb +wps +crda cros_host cros_workon_tree_01ea45df78aee9ff02263134f2442bb029d6e817 savedconfig
-KEYWORDS=*
-LICENSE=BSD
-PROPERTIES=live
-RDEPEND=libressl? ( dev-libs/libressl:0= ) !libressl? ( internal-tls? ( dev-libs/libtommath ) !internal-tls? ( dev-libs/openssl:0=[-bindist] ) ) kernel_linux? ( dev-libs/libnl:3 crda? ( net-wireless/crda ) ) netlink? ( net-libs/libnfnetlink ) sqlite? ( >=dev-db/sqlite-3 )
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	portability	536c5e70c5fb252ed3b769e04aa3f05b	preserve-libs	ef207dc62baddfddfd39a164d9797648	savedconfig	973a6df1a0949eba28a185eac79de815	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=1c16b5ba8051824079c01117f855b4e2
diff --git a/metadata/md5-cache/net-wireless/hostapd-2.10_pre-r190 b/metadata/md5-cache/net-wireless/hostapd-2.10_pre-r190
new file mode 100644
index 0000000..8165107
--- /dev/null
+++ b/metadata/md5-cache/net-wireless/hostapd-2.10_pre-r190
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install postinst setup unpack
+DEPEND=libressl? ( dev-libs/libressl:0= ) !libressl? ( internal-tls? ( dev-libs/libtommath ) !internal-tls? ( dev-libs/openssl:0=[-bindist] ) ) kernel_linux? ( dev-libs/libnl:3 crda? ( net-wireless/crda ) ) netlink? ( net-libs/libnfnetlink ) sqlite? ( >=dev-db/sqlite-3 )
+DESCRIPTION=IEEE 802.11 wireless LAN Host AP daemon
+EAPI=6
+HOMEPAGE=http://w1.fi
+IUSE=internal-tls ipv6 libressl logwatch netlink sqlite +suiteb +wps +crda cros_host cros_workon_tree_62e8e612e7e476f822d039bea6d9e40811d1c9f9 savedconfig
+KEYWORDS=*
+LICENSE=BSD
+PROPERTIES=live
+RDEPEND=libressl? ( dev-libs/libressl:0= ) !libressl? ( internal-tls? ( dev-libs/libtommath ) !internal-tls? ( dev-libs/openssl:0=[-bindist] ) ) kernel_linux? ( dev-libs/libnl:3 crda? ( net-wireless/crda ) ) netlink? ( net-libs/libnfnetlink ) sqlite? ( >=dev-db/sqlite-3 )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	portability	536c5e70c5fb252ed3b769e04aa3f05b	preserve-libs	ef207dc62baddfddfd39a164d9797648	savedconfig	973a6df1a0949eba28a185eac79de815	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=d9887667d9c9b62fc43be9088884f55c
diff --git a/metadata/md5-cache/net-wireless/hostapd-9999 b/metadata/md5-cache/net-wireless/hostapd-9999
index fc7b71b..dec1f31 100644
--- a/metadata/md5-cache/net-wireless/hostapd-9999
+++ b/metadata/md5-cache/net-wireless/hostapd-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=libressl? ( dev-libs/libressl:0= ) !libressl? ( internal-tls? ( dev-libs/libtommath ) !internal-tls? ( dev-libs/openssl:0=[-bindist] ) ) kernel_linux? ( dev-libs/libnl:3 crda? ( net-wireless/crda ) ) netlink? ( net-libs/libnfnetlink ) sqlite? ( >=dev-db/sqlite-3 )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	portability	536c5e70c5fb252ed3b769e04aa3f05b	preserve-libs	ef207dc62baddfddfd39a164d9797648	savedconfig	973a6df1a0949eba28a185eac79de815	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	portability	536c5e70c5fb252ed3b769e04aa3f05b	preserve-libs	ef207dc62baddfddfd39a164d9797648	savedconfig	973a6df1a0949eba28a185eac79de815	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=95616332a92eb124c0f558ef2f712436
diff --git a/metadata/md5-cache/net-wireless/marvell_sd8787-14.64.2.47-r62 b/metadata/md5-cache/net-wireless/marvell_sd8787-14.64.2.47-r62
index 55b16a7..fdd384a 100644
--- a/metadata/md5-cache/net-wireless/marvell_sd8787-14.64.2.47-r62
+++ b/metadata/md5-cache/net-wireless/marvell_sd8787-14.64.2.47-r62
@@ -8,5 +8,5 @@
 PROPERTIES=live
 RESTRICT=binchecks strip test
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=2a8de96f0a33c0234da94857a68e3be4
diff --git a/metadata/md5-cache/net-wireless/marvell_sd8787-9999 b/metadata/md5-cache/net-wireless/marvell_sd8787-9999
index 46fd2b2..49b8390 100644
--- a/metadata/md5-cache/net-wireless/marvell_sd8787-9999
+++ b/metadata/md5-cache/net-wireless/marvell_sd8787-9999
@@ -8,5 +8,5 @@
 PROPERTIES=live
 RESTRICT=binchecks strip test
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=51f0967d3fbe6feb73b362e6a80c2c5b
diff --git a/metadata/md5-cache/net-wireless/wireless-regdb-20210421 b/metadata/md5-cache/net-wireless/wireless-regdb-20210421
deleted file mode 100644
index 13cc90c..0000000
--- a/metadata/md5-cache/net-wireless/wireless-regdb-20210421
+++ /dev/null
@@ -1,9 +0,0 @@
-DEFINED_PHASES=compile install
-DESCRIPTION=Binary regulatory database for CRDA
-EAPI=7
-HOMEPAGE=https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb
-KEYWORDS=*
-LICENSE=ISC
-SLOT=0
-SRC_URI=https://www.kernel.org/pub/software/network/wireless-regdb/wireless-regdb-2021.04.21.tar.xz
-_md5_=dbfa18cd9303975ef5a7d2b7dc2bf129
diff --git a/metadata/md5-cache/net-wireless/wireless-regdb-20210421-r3 b/metadata/md5-cache/net-wireless/wireless-regdb-20210421-r3
deleted file mode 100644
index 13cc90c..0000000
--- a/metadata/md5-cache/net-wireless/wireless-regdb-20210421-r3
+++ /dev/null
@@ -1,9 +0,0 @@
-DEFINED_PHASES=compile install
-DESCRIPTION=Binary regulatory database for CRDA
-EAPI=7
-HOMEPAGE=https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb
-KEYWORDS=*
-LICENSE=ISC
-SLOT=0
-SRC_URI=https://www.kernel.org/pub/software/network/wireless-regdb/wireless-regdb-2021.04.21.tar.xz
-_md5_=dbfa18cd9303975ef5a7d2b7dc2bf129
diff --git a/metadata/md5-cache/net-wireless/wireless-regdb-20220606 b/metadata/md5-cache/net-wireless/wireless-regdb-20220606
new file mode 100644
index 0000000..10a4138
--- /dev/null
+++ b/metadata/md5-cache/net-wireless/wireless-regdb-20220606
@@ -0,0 +1,9 @@
+DEFINED_PHASES=compile install
+DESCRIPTION=Binary regulatory database for CRDA
+EAPI=7
+HOMEPAGE=https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb
+KEYWORDS=*
+LICENSE=ISC
+SLOT=0
+SRC_URI=https://www.kernel.org/pub/software/network/wireless-regdb/wireless-regdb-2022.06.06.tar.xz
+_md5_=4e49ab3d4734af071e7fb873c78062d1
diff --git a/metadata/md5-cache/net-wireless/wireless-regdb-20220606-r1 b/metadata/md5-cache/net-wireless/wireless-regdb-20220606-r1
new file mode 100644
index 0000000..10a4138
--- /dev/null
+++ b/metadata/md5-cache/net-wireless/wireless-regdb-20220606-r1
@@ -0,0 +1,9 @@
+DEFINED_PHASES=compile install
+DESCRIPTION=Binary regulatory database for CRDA
+EAPI=7
+HOMEPAGE=https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb
+KEYWORDS=*
+LICENSE=ISC
+SLOT=0
+SRC_URI=https://www.kernel.org/pub/software/network/wireless-regdb/wireless-regdb-2022.06.06.tar.xz
+_md5_=4e49ab3d4734af071e7fb873c78062d1
diff --git a/metadata/md5-cache/net-wireless/wpa_supplicant-cros-2.10_pre-r40 b/metadata/md5-cache/net-wireless/wpa_supplicant-cros-2.10_pre-r40
deleted file mode 100644
index 96a5146..0000000
--- a/metadata/md5-cache/net-wireless/wpa_supplicant-cros-2.10_pre-r40
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=compile configure info install postinst preinst prepare setup unpack
-DEPEND=chromeos-base/minijail dbus? ( sys-apps/dbus ) kernel_linux? ( dev-libs/libnl:3 net-wireless/crda ) !kernel_linux? ( net-libs/libpcap ) qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtsvg:5 dev-qt/qtwidgets:5 ) readline? ( sys-libs/ncurses:0 sys-libs/readline:0 ) !libressl? ( dev-libs/openssl:0=[bindist=] ) libressl? ( dev-libs/libressl:0= ) smartcard? ( dev-libs/engine_pkcs11 ) virtual/pkgconfig sys-apps/baselayout
-DESCRIPTION=IEEE 802.1X/WPA supplicant for secure wireless transfers
-EAPI=7
-HOMEPAGE=https://w1.fi/wpa_supplicant/
-IUSE=ap bindist dbus debug eap-sim fuzzer +hs2-0 libressl +mbo p2p ps3 qt5 readline +seccomp selinux smartcard supplicant-next systemd +tdls uncommon-eap-types +wep wifi_hostap_test +wnm wps kernel_linux kernel_FreeBSD wimax asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_01ea45df78aee9ff02263134f2442bb029d6e817_01ea45df78aee9ff02263134f2442bb029d6e817 fuzzer
-KEYWORDS=*
-LICENSE=|| ( GPL-2 BSD )
-PROPERTIES=live
-RDEPEND=chromeos-base/minijail dbus? ( sys-apps/dbus ) kernel_linux? ( dev-libs/libnl:3 net-wireless/crda ) !kernel_linux? ( net-libs/libpcap ) qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtsvg:5 dev-qt/qtwidgets:5 ) readline? ( sys-libs/ncurses:0 sys-libs/readline:0 ) !libressl? ( dev-libs/openssl:0=[bindist=] ) libressl? ( dev-libs/libressl:0= ) smartcard? ( dev-libs/engine_pkcs11 ) !net-wireless/wpa_supplicant !net-wireless/wpa_supplicant-2_8 !net-wireless/wpa_supplicant-2_9 selinux? ( sec-policy/selinux-networkmanager ) sys-apps/baselayout
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	qmake-utils	bdf97e69a34b864d6d545f4ec3143ff7	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=a8271641b008cd05bcf57fdc30701cca
diff --git a/metadata/md5-cache/net-wireless/wpa_supplicant-cros-2.10_pre-r49 b/metadata/md5-cache/net-wireless/wpa_supplicant-cros-2.10_pre-r49
new file mode 100644
index 0000000..2b368d2
--- /dev/null
+++ b/metadata/md5-cache/net-wireless/wpa_supplicant-cros-2.10_pre-r49
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=compile configure info install postinst preinst prepare setup unpack
+DEPEND=chromeos-base/minijail dbus? ( sys-apps/dbus ) kernel_linux? ( dev-libs/libnl:3 net-wireless/crda ) !kernel_linux? ( net-libs/libpcap ) qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtsvg:5 dev-qt/qtwidgets:5 ) readline? ( sys-libs/ncurses:0 sys-libs/readline:0 ) !libressl? ( dev-libs/openssl:0=[bindist=] ) libressl? ( dev-libs/libressl:0= ) smartcard? ( dev-libs/engine_pkcs11 ) virtual/pkgconfig sys-apps/baselayout
+DESCRIPTION=IEEE 802.1X/WPA supplicant for secure wireless transfers
+EAPI=7
+HOMEPAGE=https://w1.fi/wpa_supplicant/
+IUSE=+ap bindist dbus debug eap-sim fuzzer +hs2-0 libressl +mbo mesh p2p ps3 qt5 readline +seccomp selinux smartcard supplicant-next systemd +tdls uncommon-eap-types +wep wifi_hostap_test +wnm wps kernel_linux kernel_FreeBSD wimax asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_62e8e612e7e476f822d039bea6d9e40811d1c9f9_62e8e612e7e476f822d039bea6d9e40811d1c9f9 fuzzer
+KEYWORDS=*
+LICENSE=|| ( GPL-2 BSD )
+PROPERTIES=live
+RDEPEND=chromeos-base/minijail dbus? ( sys-apps/dbus ) kernel_linux? ( dev-libs/libnl:3 net-wireless/crda ) !kernel_linux? ( net-libs/libpcap ) qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtsvg:5 dev-qt/qtwidgets:5 ) readline? ( sys-libs/ncurses:0 sys-libs/readline:0 ) !libressl? ( dev-libs/openssl:0=[bindist=] ) libressl? ( dev-libs/libressl:0= ) smartcard? ( dev-libs/engine_pkcs11 ) !net-wireless/wpa_supplicant !net-wireless/wpa_supplicant-2_8 !net-wireless/wpa_supplicant-2_9 selinux? ( sec-policy/selinux-networkmanager ) sys-apps/baselayout
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	qmake-utils	bdf97e69a34b864d6d545f4ec3143ff7	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=c6736906f9c67fe1c5d4c7d6045f6085
diff --git a/metadata/md5-cache/net-wireless/wpa_supplicant-cros-9999 b/metadata/md5-cache/net-wireless/wpa_supplicant-cros-9999
index 1a7aea5..addb4b9 100644
--- a/metadata/md5-cache/net-wireless/wpa_supplicant-cros-9999
+++ b/metadata/md5-cache/net-wireless/wpa_supplicant-cros-9999
@@ -4,11 +4,11 @@
 DESCRIPTION=IEEE 802.1X/WPA supplicant for secure wireless transfers
 EAPI=7
 HOMEPAGE=https://w1.fi/wpa_supplicant/
-IUSE=ap bindist dbus debug eap-sim fuzzer +hs2-0 libressl +mbo p2p ps3 qt5 readline +seccomp selinux smartcard supplicant-next systemd +tdls uncommon-eap-types +wep wifi_hostap_test +wnm wps kernel_linux kernel_FreeBSD wimax asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ fuzzer
+IUSE=+ap bindist dbus debug eap-sim fuzzer +hs2-0 libressl +mbo mesh p2p ps3 qt5 readline +seccomp selinux smartcard supplicant-next systemd +tdls uncommon-eap-types +wep wifi_hostap_test +wnm wps kernel_linux kernel_FreeBSD wimax asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ fuzzer
 KEYWORDS=~*
 LICENSE=|| ( GPL-2 BSD )
 PROPERTIES=live
 RDEPEND=chromeos-base/minijail dbus? ( sys-apps/dbus ) kernel_linux? ( dev-libs/libnl:3 net-wireless/crda ) !kernel_linux? ( net-libs/libpcap ) qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtsvg:5 dev-qt/qtwidgets:5 ) readline? ( sys-libs/ncurses:0 sys-libs/readline:0 ) !libressl? ( dev-libs/openssl:0=[bindist=] ) libressl? ( dev-libs/libressl:0= ) smartcard? ( dev-libs/engine_pkcs11 ) !net-wireless/wpa_supplicant !net-wireless/wpa_supplicant-2_8 !net-wireless/wpa_supplicant-2_9 selinux? ( sec-policy/selinux-networkmanager ) sys-apps/baselayout
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	qmake-utils	bdf97e69a34b864d6d545f4ec3143ff7	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=b223da741ede02abd50fcaadf4ac5a7a
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	qmake-utils	bdf97e69a34b864d6d545f4ec3143ff7	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=5caa902d52f55852068201d6c7aa09a2
diff --git a/metadata/md5-cache/sci-electronics/amaranth-0.3_p20220630 b/metadata/md5-cache/sci-electronics/amaranth-0.3_p20220630
new file mode 100644
index 0000000..8e1cdf4
--- /dev/null
+++ b/metadata/md5-cache/sci-electronics/amaranth-0.3_p20220630
@@ -0,0 +1,15 @@
+BDEPEND=dev-python/setuptools_scm[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] test? ( python_targets_python3_6? ( dev-python/importlib_metadata[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-)] ) python_targets_python3_7? ( dev-python/importlib_metadata[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-)] ) >=dev-python/pyvcd-0.2.2[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] <dev-python/pyvcd-0.4 >=sci-electronics/yosys-0.10 !sci-electronics/nmigen ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=Hardware definition language for building complex digital hardware
+EAPI=7
+HOMEPAGE=https://github.com/amaranth-lang/amaranth
+IUSE=test python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-2
+RDEPEND=python_targets_python3_6? ( dev-python/importlib_metadata[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-)] ) python_targets_python3_7? ( dev-python/importlib_metadata[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-)] ) >=dev-python/pyvcd-0.2.2[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] <dev-python/pyvcd-0.4 >=sci-electronics/yosys-0.10 !sci-electronics/nmigen python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/amaranth-lang/amaranth/archive/db49294cf722e9463666bd06f81a86f930b8707c.tar.gz -> amaranth-db49294cf722e9463666bd06f81a86f930b8707c.tar.gz
+_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=37a07393fab985a7448a62b3a5690793
diff --git a/metadata/md5-cache/sci-electronics/litedram-2021.04_p20210809 b/metadata/md5-cache/sci-electronics/litedram-2021.04_p20210809
deleted file mode 100644
index e126db7..0000000
--- a/metadata/md5-cache/sci-electronics/litedram-2021.04_p20210809
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=test? ( dev-python/pyyaml[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/litex[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] test? ( sci-electronics/pythondata-cpu-vexriscv[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] || ( cross-riscv64-cros-elf/gcc cross-riscv32-cros-elf/gcc ) ) ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-DEFINED_PHASES=compile configure install prepare test
-DESCRIPTION=LiteDRAM provides a small footprint and configurable DRAM core.
-EAPI=7
-HOMEPAGE=https://github.com/enjoy-digital/litedram
-IUSE=test python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
-KEYWORDS=*
-LICENSE=BSD-2
-RDEPEND=dev-python/pyyaml[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/litex[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] test? ( sci-electronics/pythondata-cpu-vexriscv[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] || ( cross-riscv64-cros-elf/gcc cross-riscv32-cros-elf/gcc ) ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://github.com/enjoy-digital/litedram/archive/203cc73cebec56faa0ed5c8900e15ac2c1dfe32b.tar.gz -> litedram-203cc73cebec56faa0ed5c8900e15ac2c1dfe32b.tar.gz
-_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e5550ee9f02d27e27e2dce7a81d217b6
diff --git a/metadata/md5-cache/sci-electronics/litedram-2022.04 b/metadata/md5-cache/sci-electronics/litedram-2022.04
new file mode 100644
index 0000000..312cfbd
--- /dev/null
+++ b/metadata/md5-cache/sci-electronics/litedram-2022.04
@@ -0,0 +1,15 @@
+BDEPEND=test? ( dev-python/pyyaml[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/litex[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] test? ( sci-electronics/pythondata-cpu-vexriscv[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] || ( cross-riscv64-cros-elf/gcc cross-riscv32-cros-elf/gcc ) ) ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=LiteDRAM provides a small footprint and configurable DRAM core.
+EAPI=7
+HOMEPAGE=https://github.com/enjoy-digital/litedram
+IUSE=test python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-2
+RDEPEND=dev-python/pyyaml[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/litex[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] test? ( sci-electronics/pythondata-cpu-vexriscv[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] || ( cross-riscv64-cros-elf/gcc cross-riscv32-cros-elf/gcc ) ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/enjoy-digital/litedram/archive/2022.04.tar.gz -> litedram-2022.04.tar.gz
+_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=22f655e51bb2bf2958fecbc54ed8c427
diff --git a/metadata/md5-cache/sci-electronics/liteeth-2021.04_p20210811 b/metadata/md5-cache/sci-electronics/liteeth-2021.04_p20210811
deleted file mode 100644
index 05653a8..0000000
--- a/metadata/md5-cache/sci-electronics/liteeth-2021.04_p20210811
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=test? ( sci-electronics/liteiclink[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/litex[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-DEFINED_PHASES=compile configure install prepare test
-DESCRIPTION=LiteEth provides a small footprint and configurable Ethernet core.
-EAPI=7
-HOMEPAGE=https://github.com/enjoy-digital/liteeth
-IUSE=test python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
-KEYWORDS=*
-LICENSE=BSD-2
-RDEPEND=sci-electronics/liteiclink[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/litex[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://github.com/enjoy-digital/liteeth/archive/c6c8be703bb5a2351df222a758f9dce0edd5517c.tar.gz -> liteeth-c6c8be703bb5a2351df222a758f9dce0edd5517c.tar.gz
-_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=4cb8c22860bc15d5d2ca5bc8077dcf85
diff --git a/metadata/md5-cache/sci-electronics/liteeth-2022.04 b/metadata/md5-cache/sci-electronics/liteeth-2022.04
new file mode 100644
index 0000000..5d338b5
--- /dev/null
+++ b/metadata/md5-cache/sci-electronics/liteeth-2022.04
@@ -0,0 +1,15 @@
+BDEPEND=test? ( sci-electronics/liteiclink[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/litex[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=LiteEth provides a small footprint and configurable Ethernet core.
+EAPI=7
+HOMEPAGE=https://github.com/enjoy-digital/liteeth
+IUSE=test python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-2
+RDEPEND=sci-electronics/liteiclink[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/litex[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/enjoy-digital/liteeth/archive/2022.04.tar.gz -> liteeth-2022.04.tar.gz
+_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6996c8265a822fd2477b7579d0eeb679
diff --git a/metadata/md5-cache/sci-electronics/liteiclink-2021.08 b/metadata/md5-cache/sci-electronics/liteiclink-2021.08
deleted file mode 100644
index 3e81bd8..0000000
--- a/metadata/md5-cache/sci-electronics/liteiclink-2021.08
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=test? ( sci-electronics/litex[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-DEFINED_PHASES=compile configure install prepare test
-DESCRIPTION=LiteICLink provides small footprint and configurable Inter-Chip communication cores.
-EAPI=7
-HOMEPAGE=https://github.com/enjoy-digital/liteiclink
-IUSE=test python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
-KEYWORDS=*
-LICENSE=BSD-2
-RDEPEND=sci-electronics/litex[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://github.com/enjoy-digital/liteiclink/archive/3d8ecdbcf9f0260292221ff63b0ad3f5e409a955.tar.gz -> liteiclink-3d8ecdbcf9f0260292221ff63b0ad3f5e409a955.tar.gz
-_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=4a8aacf9f12b7f85f1b44a4f4b5d1259
diff --git a/metadata/md5-cache/sci-electronics/liteiclink-2022.04 b/metadata/md5-cache/sci-electronics/liteiclink-2022.04
new file mode 100644
index 0000000..b1cf736
--- /dev/null
+++ b/metadata/md5-cache/sci-electronics/liteiclink-2022.04
@@ -0,0 +1,15 @@
+BDEPEND=test? ( sci-electronics/litex[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=LiteICLink provides small footprint and configurable Inter-Chip communication cores.
+EAPI=7
+HOMEPAGE=https://github.com/enjoy-digital/liteiclink
+IUSE=test python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-2
+RDEPEND=sci-electronics/litex[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/enjoy-digital/liteiclink/archive/2022.04.tar.gz -> liteiclink-2022.04.tar.gz
+_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ff683391c9786ea5b168495c3ab382ea
diff --git a/metadata/md5-cache/sci-electronics/litescope-2021.04_p20210524 b/metadata/md5-cache/sci-electronics/litescope-2021.04_p20210524
deleted file mode 100644
index 6df85bd..0000000
--- a/metadata/md5-cache/sci-electronics/litescope-2021.04_p20210524
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=test? ( sci-electronics/litex[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-DEFINED_PHASES=compile configure install prepare test
-DESCRIPTION=LiteScope provides a small footprint and configurable Logic Analyzer core.
-EAPI=7
-HOMEPAGE=https://github.com/enjoy-digital/litescope
-IUSE=test python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
-KEYWORDS=*
-LICENSE=BSD-2
-RDEPEND=sci-electronics/litex[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://github.com/enjoy-digital/litescope/archive/1243ab3c81fc33ddacb3c15d18b6c63a45e6989e.tar.gz -> litescope-1243ab3c81fc33ddacb3c15d18b6c63a45e6989e.tar.gz
-_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=8f8c63bb5b572be2f057bf8ab693eb75
diff --git a/metadata/md5-cache/sci-electronics/litescope-2022.04 b/metadata/md5-cache/sci-electronics/litescope-2022.04
new file mode 100644
index 0000000..04e3948
--- /dev/null
+++ b/metadata/md5-cache/sci-electronics/litescope-2022.04
@@ -0,0 +1,15 @@
+BDEPEND=test? ( sci-electronics/litex[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=LiteScope provides a small footprint and configurable Logic Analyzer core.
+EAPI=7
+HOMEPAGE=https://github.com/enjoy-digital/litescope
+IUSE=test python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-2
+RDEPEND=sci-electronics/litex[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/enjoy-digital/litescope/archive/2022.04.tar.gz -> litescope-2022.04.tar.gz
+_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=192bf3c03d5c974da054c98c83b4a1ff
diff --git a/metadata/md5-cache/sci-electronics/litespi-2021.12_p20220215 b/metadata/md5-cache/sci-electronics/litespi-2021.12_p20220215
deleted file mode 100644
index 0290a99..0000000
--- a/metadata/md5-cache/sci-electronics/litespi-2021.12_p20220215
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=test? ( sci-electronics/litex[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-DEFINED_PHASES=compile configure install prepare test
-DESCRIPTION=LiteSPI provides a small footprint and configurable SPI core.
-EAPI=7
-HOMEPAGE=https://github.com/litex-hub/litespi
-IUSE=test python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
-KEYWORDS=*
-LICENSE=BSD-2
-RDEPEND=sci-electronics/litex[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://github.com/litex-hub/litespi/archive/a2a25c09e050b97f8d121d8eb9b18d601f4dc3b7.tar.gz -> litespi-a2a25c09e050b97f8d121d8eb9b18d601f4dc3b7.tar.gz
-_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=3b1d95c28390f186472cedd1e312a50c
diff --git a/metadata/md5-cache/sci-electronics/litespi-2022.04 b/metadata/md5-cache/sci-electronics/litespi-2022.04
new file mode 100644
index 0000000..7559deb
--- /dev/null
+++ b/metadata/md5-cache/sci-electronics/litespi-2022.04
@@ -0,0 +1,15 @@
+BDEPEND=test? ( sci-electronics/litex[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=LiteSPI provides a small footprint and configurable SPI core.
+EAPI=7
+HOMEPAGE=https://github.com/litex-hub/litespi
+IUSE=test python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-2
+RDEPEND=sci-electronics/litex[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/litex-hub/litespi/archive/2022.04.tar.gz -> litespi-2022.04.tar.gz
+_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=fb3180d42cbfab1c438fd998cbf10c00
diff --git a/metadata/md5-cache/sci-electronics/litex-2022.01_p20220124 b/metadata/md5-cache/sci-electronics/litex-2022.01_p20220124
deleted file mode 100644
index 68111fa..0000000
--- a/metadata/md5-cache/sci-electronics/litex-2022.01_p20220124
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=test? ( sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/pythondata-software-compiler_rt[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pyserial[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/requests[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-DEFINED_PHASES=compile configure install prepare test
-DESCRIPTION=The LiteX framework provides a convenient and efficient infrastructure to create FPGA Cores/SOCs, to create FPGA Cores/SoCs, to explore various digital design architectures and create full FPGA based systems.
-EAPI=7
-HOMEPAGE=https://github.com/enjoy-digital/litex
-IUSE=test python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
-KEYWORDS=*
-LICENSE=BSD-2
-RDEPEND=sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/pythondata-software-compiler_rt[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pyserial[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/requests[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://github.com/enjoy-digital/litex/archive/6b3eda16f23d485ebcb13739b2f53d108d8e5451.tar.gz -> litex-6b3eda16f23d485ebcb13739b2f53d108d8e5451.tar.gz
-_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d75485801a861c5c69e234d5045d8389
diff --git a/metadata/md5-cache/sci-electronics/litex-2022.04 b/metadata/md5-cache/sci-electronics/litex-2022.04
new file mode 100644
index 0000000..f9188c6
--- /dev/null
+++ b/metadata/md5-cache/sci-electronics/litex-2022.04
@@ -0,0 +1,15 @@
+BDEPEND=test? ( sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/pythondata-software-compiler_rt[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pyserial[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/requests[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=The LiteX framework provides a convenient and efficient infrastructure to create FPGA Cores/SOCs, to create FPGA Cores/SoCs, to explore various digital design architectures and create full FPGA based systems.
+EAPI=7
+HOMEPAGE=https://github.com/enjoy-digital/litex
+IUSE=test python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-2
+RDEPEND=sci-electronics/migen[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] sci-electronics/pythondata-software-compiler_rt[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pyserial[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/requests[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/enjoy-digital/litex/archive/2022.04.tar.gz -> litex-2022.04.tar.gz
+_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=97c7a7fd6216c513db44278e98fddc30
diff --git a/metadata/md5-cache/sci-electronics/migen-0.9.2_p20220125 b/metadata/md5-cache/sci-electronics/migen-0.9.2_p20220125
deleted file mode 100644
index 2655462..0000000
--- a/metadata/md5-cache/sci-electronics/migen-0.9.2_p20220125
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=test? ( dev-python/colorama ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-DEFINED_PHASES=compile configure install prepare test
-DESCRIPTION=Python toolbox for building complex digital hardware.
-EAPI=7
-HOMEPAGE=https://github.com/m-labs/migen
-IUSE=test python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
-KEYWORDS=*
-LICENSE=BSD-2
-RDEPEND=dev-python/colorama python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://github.com/m-labs/migen/archive/ac703010eaa06ac9b6e32f97c6fa98b15de22b31.tar.gz -> migen-ac703010eaa06ac9b6e32f97c6fa98b15de22b31.tar.gz
-_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ec45634d258ffeed1b952ea232d302ac
diff --git a/metadata/md5-cache/sci-electronics/migen-0.9.2_p20220419 b/metadata/md5-cache/sci-electronics/migen-0.9.2_p20220419
new file mode 100644
index 0000000..3df7c4e
--- /dev/null
+++ b/metadata/md5-cache/sci-electronics/migen-0.9.2_p20220419
@@ -0,0 +1,15 @@
+BDEPEND=test? ( dev-python/colorama ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=Python toolbox for building complex digital hardware.
+EAPI=7
+HOMEPAGE=https://github.com/m-labs/migen
+IUSE=test python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-2
+RDEPEND=dev-python/colorama python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/m-labs/migen/archive/d4e3f34177c32f09904397179e6ed9c83175e528.tar.gz -> migen-d4e3f34177c32f09904397179e6ed9c83175e528.tar.gz
+_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=934d4ae9964f89d41c18ad7a5a2bc321
diff --git a/metadata/md5-cache/sci-electronics/nextpnr-0.1_p20211222 b/metadata/md5-cache/sci-electronics/nextpnr-0.1_p20211222
deleted file mode 100644
index 6ccf29e..0000000
--- a/metadata/md5-cache/sci-electronics/nextpnr-0.1_p20211222
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-util/ninja dev-util/cmake
-DEFINED_PHASES=compile configure install prepare pretend test unpack
-DEPEND=dev-cpp/eigen:3 dev-libs/boost nexus? ( sci-electronics/prjoxide )
-DESCRIPTION=nextpnr -- a portable FPGA place and route tool.
-EAPI=7
-HOMEPAGE=https://github.com/YosysHQ/nextpnr
-IUSE=+nexus test
-KEYWORDS=*
-LICENSE=ISC
-RDEPEND=dev-cpp/eigen:3 dev-libs/boost nexus? ( sci-electronics/prjoxide ) sci-electronics/yosys
-SLOT=0
-SRC_URI=https://github.com/YosysHQ/nextpnr/archive/de63b5b09a4d4373d872dd2bef3336760edad08f.tar.gz -> nextpnr-de63b5b09a4d4373d872dd2bef3336760edad08f.tar.gz https://github.com/YosysHQ/nextpnr-tests/archive/ccc61e5ec7cc04410462ec3196ad467354787afb.tar.gz -> nextpnr-tests-ccc61e5ec7cc04410462ec3196ad467354787afb.tar.gz
-_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=b066c1a1a599ba38d99a6b0d4d988534
diff --git a/metadata/md5-cache/sci-electronics/nextpnr-0.1_p20220125 b/metadata/md5-cache/sci-electronics/nextpnr-0.1_p20220125
deleted file mode 100644
index 961f5c1..0000000
--- a/metadata/md5-cache/sci-electronics/nextpnr-0.1_p20220125
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-util/ninja dev-util/cmake
-DEFINED_PHASES=compile configure install prepare pretend test unpack
-DEPEND=dev-cpp/eigen:3 dev-libs/boost nexus? ( sci-electronics/prjoxide )
-DESCRIPTION=nextpnr -- a portable FPGA place and route tool.
-EAPI=7
-HOMEPAGE=https://github.com/YosysHQ/nextpnr
-IUSE=+nexus test
-KEYWORDS=*
-LICENSE=ISC
-RDEPEND=dev-cpp/eigen:3 dev-libs/boost nexus? ( sci-electronics/prjoxide ) sci-electronics/yosys
-SLOT=0
-SRC_URI=https://github.com/YosysHQ/nextpnr/archive/1301feb4ad607d5bc7341a1d7059c75077b0e8e9.tar.gz -> nextpnr-1301feb4ad607d5bc7341a1d7059c75077b0e8e9.tar.gz https://github.com/YosysHQ/nextpnr-tests/archive/ccc61e5ec7cc04410462ec3196ad467354787afb.tar.gz -> nextpnr-tests-ccc61e5ec7cc04410462ec3196ad467354787afb.tar.gz
-_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=a68b8fd91f87037d11b9e8c0d9f6d137
diff --git a/metadata/md5-cache/sci-electronics/nextpnr-0.1_p20220201 b/metadata/md5-cache/sci-electronics/nextpnr-0.1_p20220201
deleted file mode 100644
index 3a3882d..0000000
--- a/metadata/md5-cache/sci-electronics/nextpnr-0.1_p20220201
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-util/ninja dev-util/cmake
-DEFINED_PHASES=compile configure install prepare pretend test unpack
-DEPEND=dev-cpp/eigen:3 dev-libs/boost nexus? ( sci-electronics/prjoxide )
-DESCRIPTION=nextpnr -- a portable FPGA place and route tool.
-EAPI=7
-HOMEPAGE=https://github.com/YosysHQ/nextpnr
-IUSE=+nexus test
-KEYWORDS=*
-LICENSE=ISC
-RDEPEND=dev-cpp/eigen:3 dev-libs/boost nexus? ( sci-electronics/prjoxide ) sci-electronics/yosys
-SLOT=0
-SRC_URI=https://github.com/YosysHQ/nextpnr/archive/c306ef12bcb5c5fed8782cbfa05d6534ce6a49dd.tar.gz -> nextpnr-c306ef12bcb5c5fed8782cbfa05d6534ce6a49dd.tar.gz https://github.com/YosysHQ/nextpnr-tests/archive/ccc61e5ec7cc04410462ec3196ad467354787afb.tar.gz -> nextpnr-tests-ccc61e5ec7cc04410462ec3196ad467354787afb.tar.gz
-_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=7bd5d7689d26a846359b38cf0bff1c99
diff --git a/metadata/md5-cache/sci-electronics/nextpnr-0.1_p20220210 b/metadata/md5-cache/sci-electronics/nextpnr-0.1_p20220210
deleted file mode 100644
index bc7b1ab..0000000
--- a/metadata/md5-cache/sci-electronics/nextpnr-0.1_p20220210
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-util/ninja dev-util/cmake
-DEFINED_PHASES=compile configure install prepare pretend test unpack
-DEPEND=dev-cpp/eigen:3 dev-libs/boost nexus? ( sci-electronics/prjoxide )
-DESCRIPTION=nextpnr -- a portable FPGA place and route tool.
-EAPI=7
-HOMEPAGE=https://github.com/YosysHQ/nextpnr
-IUSE=+nexus test
-KEYWORDS=*
-LICENSE=ISC
-RDEPEND=dev-cpp/eigen:3 dev-libs/boost nexus? ( sci-electronics/prjoxide ) sci-electronics/yosys
-SLOT=0
-SRC_URI=https://github.com/YosysHQ/nextpnr/archive/604711275343ef6c60ffe76d7fad756a7b938915.tar.gz -> nextpnr-604711275343ef6c60ffe76d7fad756a7b938915.tar.gz https://github.com/YosysHQ/nextpnr-tests/archive/ccc61e5ec7cc04410462ec3196ad467354787afb.tar.gz -> nextpnr-tests-ccc61e5ec7cc04410462ec3196ad467354787afb.tar.gz
-_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=09b1bad707ecfa62604e9561514228f4
diff --git a/metadata/md5-cache/sci-electronics/nextpnr-0.1_pre20211124 b/metadata/md5-cache/sci-electronics/nextpnr-0.1_pre20211124
deleted file mode 100644
index ad71f17..0000000
--- a/metadata/md5-cache/sci-electronics/nextpnr-0.1_pre20211124
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-util/ninja dev-util/cmake
-DEFINED_PHASES=compile configure install prepare pretend test unpack
-DEPEND=dev-cpp/eigen:3 dev-libs/boost nexus? ( sci-electronics/prjoxide )
-DESCRIPTION=nextpnr -- a portable FPGA place and route tool.
-EAPI=7
-HOMEPAGE=https://github.com/YosysHQ/nextpnr
-IUSE=+nexus test
-KEYWORDS=*
-LICENSE=ISC
-RDEPEND=dev-cpp/eigen:3 dev-libs/boost nexus? ( sci-electronics/prjoxide ) sci-electronics/yosys
-SLOT=0
-SRC_URI=https://github.com/YosysHQ/nextpnr/archive/fd2d4a8f999947ece42f791e19ddc4c2d8b823f2.tar.gz -> nextpnr-fd2d4a8f999947ece42f791e19ddc4c2d8b823f2.tar.gz https://github.com/YosysHQ/nextpnr-tests/archive/ccc61e5ec7cc04410462ec3196ad467354787afb.tar.gz -> nextpnr-tests-ccc61e5ec7cc04410462ec3196ad467354787afb.tar.gz
-_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=35d1ee03ab53dce62c9b90f9ee7fd02f
diff --git a/metadata/md5-cache/sci-electronics/nextpnr-0.3_p20220708 b/metadata/md5-cache/sci-electronics/nextpnr-0.3_p20220708
new file mode 100644
index 0000000..363f29b
--- /dev/null
+++ b/metadata/md5-cache/sci-electronics/nextpnr-0.3_p20220708
@@ -0,0 +1,14 @@
+BDEPEND=dev-util/ninja dev-util/cmake
+DEFINED_PHASES=compile configure install prepare pretend test unpack
+DEPEND=dev-cpp/eigen:3 dev-libs/boost nexus? ( sci-electronics/prjoxide )
+DESCRIPTION=nextpnr -- a portable FPGA place and route tool.
+EAPI=7
+HOMEPAGE=https://github.com/YosysHQ/nextpnr
+IUSE=+nexus test
+KEYWORDS=*
+LICENSE=ISC
+RDEPEND=dev-cpp/eigen:3 dev-libs/boost nexus? ( sci-electronics/prjoxide ) sci-electronics/yosys
+SLOT=0
+SRC_URI=https://github.com/YosysHQ/nextpnr/archive/664cec54b92844745e21a4e86dcf8e3cca09d781.tar.gz -> nextpnr-664cec54b92844745e21a4e86dcf8e3cca09d781.tar.gz https://github.com/YosysHQ/nextpnr-tests/archive/00c55a9eb9ea2e062b51fe0d64741412b185d95d.tar.gz -> nextpnr-tests-00c55a9eb9ea2e062b51fe0d64741412b185d95d.tar.gz
+_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=1b3d23a0f3470a99a38a11feb3ecb116
diff --git a/metadata/md5-cache/sci-electronics/nmigen-0.2_p20210204 b/metadata/md5-cache/sci-electronics/nmigen-0.2_p20210204
deleted file mode 100644
index a729d1f..0000000
--- a/metadata/md5-cache/sci-electronics/nmigen-0.2_p20210204
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-python/setuptools_scm[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] test? ( python_targets_python3_6? ( dev-python/importlib_metadata[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-)] ) python_targets_python3_7? ( dev-python/importlib_metadata[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-)] ) >=dev-python/jinja-2.11[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] =dev-python/jinja-2* >=dev-python/pyvcd-0.2.2[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] =dev-python/pyvcd-0.2* >=sci-electronics/yosys-0.9 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-DEFINED_PHASES=compile configure install prepare test
-DESCRIPTION=A refreshed Python toolbox for building complex digital hardware.
-EAPI=7
-HOMEPAGE=https://github.com/nmigen/nmigen
-IUSE=test python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
-KEYWORDS=*
-LICENSE=BSD-2
-RDEPEND=python_targets_python3_6? ( dev-python/importlib_metadata[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-)] ) python_targets_python3_7? ( dev-python/importlib_metadata[python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-)] ) >=dev-python/jinja-2.11[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] =dev-python/jinja-2* >=dev-python/pyvcd-0.2.2[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] =dev-python/pyvcd-0.2* >=sci-electronics/yosys-0.9 python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://github.com/nmigen/nmigen/archive/f7c2b9419f9de450be76a0e9cf681931295df65f.tar.gz -> nmigen-f7c2b9419f9de450be76a0e9cf681931295df65f.tar.gz
-_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a8fdc35185634d9b5f4ff90918ca0c73
diff --git a/metadata/md5-cache/sci-electronics/prjoxide-0.1.0_p20210924 b/metadata/md5-cache/sci-electronics/prjoxide-0.1.0_p20210924
deleted file mode 100644
index 91bf2dd..0000000
--- a/metadata/md5-cache/sci-electronics/prjoxide-0.1.0_p20210924
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/capnp-0.14*:= =dev-rust/clap-3*:= =dev-rust/flate2-1*:= =dev-rust/include_dir-0.6*:= >=dev-rust/itertools-0.8.2:= <dev-rust/itertools-0.9.0 >=dev-rust/lazy_static-1.4.0:= <dev-rust/lazy_static-2.0.0 >=dev-rust/log-0.4.11:= <dev-rust/log-0.5.0 =dev-rust/multimap-0.8*:= =dev-rust/num-bigint-0.4*:= >=dev-rust/pulldown-cmark-0.6.1:= <dev-rust/pulldown-cmark-0.7.0 =dev-rust/regex-1*:= >=dev-rust/ron-0.5.1:= <dev-rust/ron-0.6.0 =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= =dev-rust/capnpc-0.14*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Project Oxide - documenting Lattice's 28nm "Nexus" FPGA parts
-EAPI=7
-HOMEPAGE=https://github.com/gatecat/prjoxide
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=ISC
-RDEPEND=sci-electronics/yosys
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0
-SRC_URI=https://github.com/gatecat/prjoxide/archive/318331f8b30c2e2a31cc41d51f104b671e180a8a.tar.gz -> prjoxide-318331f8b30c2e2a31cc41d51f104b671e180a8a.tar.gz https://github.com/gatecat/prjoxide-db/archive/48cb5537977c41d38c40ddff45ba1bbcec384ba8.tar.gz -> prjoxide-db-48cb5537977c41d38c40ddff45ba1bbcec384ba8.tar.gz https://github.com/SymbiFlow/fpga-interchange-schema/archive/78abf3f30770ccc6d0e1f5dbfeaef2666f55acf6.tar.gz -> fpga-interchange-schema-78abf3f30770ccc6d0e1f5dbfeaef2666f55acf6.tar.gz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c0ca52599c5e647974ed500d4a963576
diff --git a/metadata/md5-cache/sci-electronics/prjoxide-0.1.0_p20210924-r1 b/metadata/md5-cache/sci-electronics/prjoxide-0.1.0_p20210924-r1
deleted file mode 100644
index 91bf2dd..0000000
--- a/metadata/md5-cache/sci-electronics/prjoxide-0.1.0_p20210924-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/capnp-0.14*:= =dev-rust/clap-3*:= =dev-rust/flate2-1*:= =dev-rust/include_dir-0.6*:= >=dev-rust/itertools-0.8.2:= <dev-rust/itertools-0.9.0 >=dev-rust/lazy_static-1.4.0:= <dev-rust/lazy_static-2.0.0 >=dev-rust/log-0.4.11:= <dev-rust/log-0.5.0 =dev-rust/multimap-0.8*:= =dev-rust/num-bigint-0.4*:= >=dev-rust/pulldown-cmark-0.6.1:= <dev-rust/pulldown-cmark-0.7.0 =dev-rust/regex-1*:= >=dev-rust/ron-0.5.1:= <dev-rust/ron-0.6.0 =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= =dev-rust/capnpc-0.14*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Project Oxide - documenting Lattice's 28nm "Nexus" FPGA parts
-EAPI=7
-HOMEPAGE=https://github.com/gatecat/prjoxide
-IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=ISC
-RDEPEND=sci-electronics/yosys
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0
-SRC_URI=https://github.com/gatecat/prjoxide/archive/318331f8b30c2e2a31cc41d51f104b671e180a8a.tar.gz -> prjoxide-318331f8b30c2e2a31cc41d51f104b671e180a8a.tar.gz https://github.com/gatecat/prjoxide-db/archive/48cb5537977c41d38c40ddff45ba1bbcec384ba8.tar.gz -> prjoxide-db-48cb5537977c41d38c40ddff45ba1bbcec384ba8.tar.gz https://github.com/SymbiFlow/fpga-interchange-schema/archive/78abf3f30770ccc6d0e1f5dbfeaef2666f55acf6.tar.gz -> fpga-interchange-schema-78abf3f30770ccc6d0e1f5dbfeaef2666f55acf6.tar.gz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c0ca52599c5e647974ed500d4a963576
diff --git a/metadata/md5-cache/sci-electronics/prjoxide-0.1.0_p20220527 b/metadata/md5-cache/sci-electronics/prjoxide-0.1.0_p20220527
new file mode 100644
index 0000000..c4fe952
--- /dev/null
+++ b/metadata/md5-cache/sci-electronics/prjoxide-0.1.0_p20220527
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/capnp-0.14*:= =dev-rust/clap-3.0.0_beta2:= =dev-rust/clap_derive-3.0.0_beta2:= =dev-rust/flate2-1*:= =dev-rust/include_dir-0.6*:= >=dev-rust/itertools-0.8.2:= <dev-rust/itertools-0.9.0 >=dev-rust/lazy_static-1.4.0:= <dev-rust/lazy_static-2.0.0 >=dev-rust/log-0.4.11:= <dev-rust/log-0.5.0 =dev-rust/multimap-0.8*:= =dev-rust/num-bigint-0.4*:= >=dev-rust/pulldown-cmark-0.6.1:= <dev-rust/pulldown-cmark-0.7.0 =dev-rust/regex-1*:= >=dev-rust/ron-0.5.1:= <dev-rust/ron-0.6.0 =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= =dev-rust/capnpc-0.14*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Project Oxide - documenting Lattice's 28nm "Nexus" FPGA parts
+EAPI=7
+HOMEPAGE=https://github.com/gatecat/prjoxide
+IUSE=cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=ISC
+RDEPEND==dev-rust/capnp-0.14*:= =dev-rust/clap-3.0.0_beta2:= =dev-rust/clap_derive-3.0.0_beta2:= =dev-rust/flate2-1*:= =dev-rust/include_dir-0.6*:= >=dev-rust/itertools-0.8.2:= <dev-rust/itertools-0.9.0 >=dev-rust/lazy_static-1.4.0:= <dev-rust/lazy_static-2.0.0 >=dev-rust/log-0.4.11:= <dev-rust/log-0.5.0 =dev-rust/multimap-0.8*:= =dev-rust/num-bigint-0.4*:= >=dev-rust/pulldown-cmark-0.6.1:= <dev-rust/pulldown-cmark-0.7.0 =dev-rust/regex-1*:= >=dev-rust/ron-0.5.1:= <dev-rust/ron-0.6.0 =dev-rust/serde-1*:= =dev-rust/serde_json-1*:= =dev-rust/capnpc-0.14*:= sci-electronics/yosys virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0
+SRC_URI=https://github.com/gatecat/prjoxide/archive/d1fc5cd045531a0cc48ebffd5802f4ef84067aea.tar.gz -> prjoxide-d1fc5cd045531a0cc48ebffd5802f4ef84067aea.tar.gz https://github.com/gatecat/prjoxide-db/archive/1566e0d8af245c4d52f4c5ec04667e5a4f0f01e2.tar.gz -> prjoxide-db-1566e0d8af245c4d52f4c5ec04667e5a4f0f01e2.tar.gz https://github.com/SymbiFlow/fpga-interchange-schema/archive/78abf3f30770ccc6d0e1f5dbfeaef2666f55acf6.tar.gz -> fpga-interchange-schema-78abf3f30770ccc6d0e1f5dbfeaef2666f55acf6.tar.gz
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=8687c595004804410920d69d7381303a
diff --git a/metadata/md5-cache/sci-electronics/sigrok-cli-0.5.0-r17 b/metadata/md5-cache/sci-electronics/sigrok-cli-0.5.0-r17
deleted file mode 100644
index 9ba8a3b..0000000
--- a/metadata/md5-cache/sci-electronics/sigrok-cli-0.5.0-r17
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=configure info prepare setup unpack
-DEPEND=>=dev-libs/glib-2.28.0 >=sci-libs/libsigrok-0.3.0 decode? ( >=sci-libs/libsigrokdecode-0.3.0 python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) ) virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Command-line client for the sigrok logic analyzer software
-EAPI=5
-HOMEPAGE=http://sigrok.org/wiki/Sigrok-cli
-IUSE=+decode cros_host cros_workon_tree_742697db0bb207c6716d7484278ff91633c5f8ce +python_single_target_python3_6
-KEYWORDS=*
-LICENSE=GPL-3
-PROPERTIES=live
-RDEPEND=>=dev-libs/glib-2.28.0 >=sci-libs/libsigrok-0.3.0 decode? ( >=sci-libs/libsigrokdecode-0.3.0 python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) )
-REQUIRED_USE=decode? ( ^^ ( python_single_target_python3_6 ) )
-SLOT=0
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=0ace0df1510b176b35ebbbeacba2bc78
diff --git a/metadata/md5-cache/sci-electronics/sigrok-cli-0.5.0-r18 b/metadata/md5-cache/sci-electronics/sigrok-cli-0.5.0-r18
new file mode 100644
index 0000000..647f027
--- /dev/null
+++ b/metadata/md5-cache/sci-electronics/sigrok-cli-0.5.0-r18
@@ -0,0 +1,14 @@
+DEFINED_PHASES=configure info prepare setup unpack
+DEPEND=>=dev-libs/glib-2.28.0 >=sci-libs/libsigrok-0.3.0 decode? ( >=sci-libs/libsigrokdecode-0.3.0 python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) ) virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Command-line client for the sigrok logic analyzer software
+EAPI=5
+HOMEPAGE=http://sigrok.org/wiki/Sigrok-cli
+IUSE=+decode cros_host cros_workon_tree_742697db0bb207c6716d7484278ff91633c5f8ce python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
+KEYWORDS=*
+LICENSE=GPL-3
+PROPERTIES=live
+RDEPEND=>=dev-libs/glib-2.28.0 >=sci-libs/libsigrok-0.3.0 decode? ( >=sci-libs/libsigrokdecode-0.3.0 python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) )
+REQUIRED_USE=decode? ( ^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 ) )
+SLOT=0
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=a8f709554b654e514bfa0f7b7689ea25
diff --git a/metadata/md5-cache/sci-electronics/sigrok-cli-9999 b/metadata/md5-cache/sci-electronics/sigrok-cli-9999
index 3534de1..03cffa0 100644
--- a/metadata/md5-cache/sci-electronics/sigrok-cli-9999
+++ b/metadata/md5-cache/sci-electronics/sigrok-cli-9999
@@ -1,14 +1,14 @@
 DEFINED_PHASES=configure info prepare setup unpack
-DEPEND=>=dev-libs/glib-2.28.0 >=sci-libs/libsigrok-0.3.0 decode? ( >=sci-libs/libsigrokdecode-0.3.0 python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) ) virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DEPEND=>=dev-libs/glib-2.28.0 >=sci-libs/libsigrok-0.3.0 decode? ( >=sci-libs/libsigrokdecode-0.3.0 python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) ) virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
 DESCRIPTION=Command-line client for the sigrok logic analyzer software
 EAPI=5
 HOMEPAGE=http://sigrok.org/wiki/Sigrok-cli
-IUSE=+decode cros_host cros_workon_tree_ +python_single_target_python3_6
+IUSE=+decode cros_host cros_workon_tree_ python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
 KEYWORDS=~*
 LICENSE=GPL-3
 PROPERTIES=live
-RDEPEND=>=dev-libs/glib-2.28.0 >=sci-libs/libsigrok-0.3.0 decode? ( >=sci-libs/libsigrokdecode-0.3.0 python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) )
-REQUIRED_USE=decode? ( ^^ ( python_single_target_python3_6 ) )
+RDEPEND=>=dev-libs/glib-2.28.0 >=sci-libs/libsigrok-0.3.0 decode? ( >=sci-libs/libsigrokdecode-0.3.0 python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) )
+REQUIRED_USE=decode? ( ^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 ) )
 SLOT=0
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=3dd3de327fd977ff6651953a5db4be75
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=ffe785686b7e873be667517047688ba0
diff --git a/metadata/md5-cache/sci-electronics/yosys-0.13_p20220206 b/metadata/md5-cache/sci-electronics/yosys-0.13_p20220206
deleted file mode 100644
index dfc4977..0000000
--- a/metadata/md5-cache/sci-electronics/yosys-0.13_p20220206
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=configure test unpack
-DESCRIPTION=A framework for Verilog RTL synthesis.
-EAPI=7
-HOMEPAGE=https://yosyshq.net/yosys/
-KEYWORDS=*
-LICENSE=ISC
-RDEPEND=sci-electronics/iverilog
-SLOT=0
-SRC_URI=https://github.com/YosysHQ/yosys/archive/9c93668954fe2ec7aa1fb64573f6e9bf97824b60.tar.gz -> yosys-9c93668954fe2ec7aa1fb64573f6e9bf97824b60.tar.gz https://github.com/YosysHQ/abc/archive/f6fa2dd.tar.gz -> yosys-abc-f6fa2dd.tar.gz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=392c4cd640200d0baac676b5b0ba0cf3
diff --git a/metadata/md5-cache/sci-electronics/yosys-0.19_p20220712 b/metadata/md5-cache/sci-electronics/yosys-0.19_p20220712
new file mode 100644
index 0000000..0714763
--- /dev/null
+++ b/metadata/md5-cache/sci-electronics/yosys-0.19_p20220712
@@ -0,0 +1,11 @@
+DEFINED_PHASES=configure test unpack
+DESCRIPTION=A framework for Verilog RTL synthesis.
+EAPI=7
+HOMEPAGE=https://yosyshq.net/yosys/
+KEYWORDS=*
+LICENSE=ISC
+RDEPEND=sci-electronics/iverilog
+SLOT=0/0.19_p20220712
+SRC_URI=https://github.com/YosysHQ/yosys/archive/08c319fc352fb2670b7416b5fb16ddcb9a400049.tar.gz -> yosys-08c319fc352fb2670b7416b5fb16ddcb9a400049.tar.gz https://github.com/YosysHQ/abc/archive/5f40c47.tar.gz -> yosys-abc-5f40c47.tar.gz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0d77a95d88754e2c7f535f2dbc67aebe
diff --git a/metadata/md5-cache/sci-electronics/yosys-0.19_p20220712-r1 b/metadata/md5-cache/sci-electronics/yosys-0.19_p20220712-r1
new file mode 100644
index 0000000..2617538
--- /dev/null
+++ b/metadata/md5-cache/sci-electronics/yosys-0.19_p20220712-r1
@@ -0,0 +1,11 @@
+DEFINED_PHASES=configure test unpack
+DESCRIPTION=A framework for Verilog RTL synthesis.
+EAPI=7
+HOMEPAGE=https://yosyshq.net/yosys/
+KEYWORDS=*
+LICENSE=ISC
+RDEPEND=sci-electronics/iverilog
+SLOT=0/0.19_p20220712-r1
+SRC_URI=https://github.com/YosysHQ/yosys/archive/08c319fc352fb2670b7416b5fb16ddcb9a400049.tar.gz -> yosys-08c319fc352fb2670b7416b5fb16ddcb9a400049.tar.gz https://github.com/YosysHQ/abc/archive/5f40c47.tar.gz -> yosys-abc-5f40c47.tar.gz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0d77a95d88754e2c7f535f2dbc67aebe
diff --git a/metadata/md5-cache/sci-electronics/yosys-f4pga-plugins-1.0.0_p20220720 b/metadata/md5-cache/sci-electronics/yosys-f4pga-plugins-1.0.0_p20220720
new file mode 100644
index 0000000..cea30c0
--- /dev/null
+++ b/metadata/md5-cache/sci-electronics/yosys-f4pga-plugins-1.0.0_p20220720
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile install test
+DEPEND=sci-electronics/yosys
+DESCRIPTION=Plugins for Yosys developed as part of the F4PGA project
+EAPI=7
+HOMEPAGE=https://github.com/chipsalliance/yosys-f4pga-plugins
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=sci-electronics/yosys:=
+SLOT=0
+SRC_URI=https://github.com/chipsalliance/yosys-f4pga-plugins/archive/52cdcc42db527087fb342b4dabdb1a79878266cb.tar.gz -> yosys-f4pga-plugins-52cdcc42db527087fb342b4dabdb1a79878266cb.tar.gz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a1a97852e6994da33db708be208abe12
diff --git a/metadata/md5-cache/sci-libs/libsigrok-0.3.0-r68 b/metadata/md5-cache/sci-libs/libsigrok-0.3.0-r68
deleted file mode 100644
index fad6b3b..0000000
--- a/metadata/md5-cache/sci-libs/libsigrok-0.3.0-r68
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=configure info install prepare setup test unpack
-DEPEND=>=dev-libs/glib-2.32.0 >=dev-libs/libzip-0.8 ftdi? ( >=dev-embedded/libftdi-0.16 ) serial? ( dev-libs/libserialport ) usb? ( virtual/libusb:1 ) test? ( >=dev-libs/check-0.9.4 ) virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=provide basic hardware drivers for logic analyzers and input/output file format support
-EAPI=5
-HOMEPAGE=http://sigrok.org/wiki/Libsigrok
-IUSE=ftdi serial static-libs test usb cros_host cros_workon_tree_b2fa8b7e13a75748082ca036acf49cfd97fdd471
-KEYWORDS=*
-LICENSE=GPL-3
-PROPERTIES=live
-RDEPEND=!static-libs? ( >=dev-libs/glib-2.32.0 >=dev-libs/libzip-0.8 ftdi? ( >=dev-embedded/libftdi-0.16 ) serial? ( dev-libs/libserialport ) usb? ( virtual/libusb:1 ) ) static-libs? ( >=dev-libs/glib-2.32.0[static-libs(+)] >=dev-libs/libzip-0.8[static-libs(+)] ftdi? ( >=dev-embedded/libftdi-0.16[static-libs(+)] ) serial? ( dev-libs/libserialport[static-libs(+)] ) usb? ( virtual/libusb:1[static-libs(+)] ) )
-SLOT=0
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=e79b160e9b5913dde82774cc14c8a0e2
diff --git a/metadata/md5-cache/sci-libs/libsigrok-0.3.0-r69 b/metadata/md5-cache/sci-libs/libsigrok-0.3.0-r69
new file mode 100644
index 0000000..8e8a778
--- /dev/null
+++ b/metadata/md5-cache/sci-libs/libsigrok-0.3.0-r69
@@ -0,0 +1,13 @@
+DEFINED_PHASES=configure info install prepare setup test unpack
+DEPEND=>=dev-libs/glib-2.32.0 >=dev-libs/libzip-0.8 ftdi? ( >=dev-embedded/libftdi-0.16 ) serial? ( dev-libs/libserialport ) usb? ( virtual/libusb:1 ) test? ( >=dev-libs/check-0.9.4 ) virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=provide basic hardware drivers for logic analyzers and input/output file format support
+EAPI=5
+HOMEPAGE=http://sigrok.org/wiki/Libsigrok
+IUSE=ftdi serial static-libs test usb cros_host cros_workon_tree_b2fa8b7e13a75748082ca036acf49cfd97fdd471 asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=GPL-3
+PROPERTIES=live
+RDEPEND=!static-libs? ( >=dev-libs/glib-2.32.0 >=dev-libs/libzip-0.8 ftdi? ( >=dev-embedded/libftdi-0.16 ) serial? ( dev-libs/libserialport ) usb? ( virtual/libusb:1 ) ) static-libs? ( >=dev-libs/glib-2.32.0[static-libs(+)] >=dev-libs/libzip-0.8[static-libs(+)] ftdi? ( >=dev-embedded/libftdi-0.16[static-libs(+)] ) serial? ( dev-libs/libserialport[static-libs(+)] ) usb? ( virtual/libusb:1[static-libs(+)] ) )
+SLOT=0
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=91ef561a85cbda04b4e59c28fe6ea2c3
diff --git a/metadata/md5-cache/sci-libs/libsigrok-9999 b/metadata/md5-cache/sci-libs/libsigrok-9999
index ef67d55..01e65f2 100644
--- a/metadata/md5-cache/sci-libs/libsigrok-9999
+++ b/metadata/md5-cache/sci-libs/libsigrok-9999
@@ -3,11 +3,11 @@
 DESCRIPTION=provide basic hardware drivers for logic analyzers and input/output file format support
 EAPI=5
 HOMEPAGE=http://sigrok.org/wiki/Libsigrok
-IUSE=ftdi serial static-libs test usb cros_host cros_workon_tree_
+IUSE=ftdi serial static-libs test usb cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=GPL-3
 PROPERTIES=live
 RDEPEND=!static-libs? ( >=dev-libs/glib-2.32.0 >=dev-libs/libzip-0.8 ftdi? ( >=dev-embedded/libftdi-0.16 ) serial? ( dev-libs/libserialport ) usb? ( virtual/libusb:1 ) ) static-libs? ( >=dev-libs/glib-2.32.0[static-libs(+)] >=dev-libs/libzip-0.8[static-libs(+)] ftdi? ( >=dev-embedded/libftdi-0.16[static-libs(+)] ) serial? ( dev-libs/libserialport[static-libs(+)] ) usb? ( virtual/libusb:1[static-libs(+)] ) )
 SLOT=0
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=f83fa6896a895d8c697f016b0827a02f
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=0e4b15a364b2dcb91d9fa0f3d237e31a
diff --git a/metadata/md5-cache/sci-libs/libsigrokdecode-0.3.0-r21 b/metadata/md5-cache/sci-libs/libsigrokdecode-0.3.0-r21
deleted file mode 100644
index cf9b85d..0000000
--- a/metadata/md5-cache/sci-libs/libsigrokdecode-0.3.0-r21
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=configure info install prepare setup test unpack
-DEPEND=>=dev-libs/glib-2.24.0 python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=provide (streaming) protocol decoding functionality
-EAPI=5
-HOMEPAGE=http://sigrok.org/wiki/Libsigrokdecode
-IUSE=static-libs cros_host cros_workon_tree_be143fb31be0ac7b9be8d1ae80513ea85a160384 +python_single_target_python3_6
-KEYWORDS=*
-LICENSE=GPL-3
-PROPERTIES=live
-RDEPEND=>=dev-libs/glib-2.24.0 python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] )
-REQUIRED_USE=^^ ( python_single_target_python3_6 )
-SLOT=0
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=8cf327046e9dbc351406ec08c547155a
diff --git a/metadata/md5-cache/sci-libs/libsigrokdecode-0.3.0-r23 b/metadata/md5-cache/sci-libs/libsigrokdecode-0.3.0-r23
new file mode 100644
index 0000000..5cc4291
--- /dev/null
+++ b/metadata/md5-cache/sci-libs/libsigrokdecode-0.3.0-r23
@@ -0,0 +1,14 @@
+DEFINED_PHASES=configure info install prepare setup test unpack
+DEPEND=>=dev-libs/glib-2.24.0 python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=provide (streaming) protocol decoding functionality
+EAPI=5
+HOMEPAGE=http://sigrok.org/wiki/Libsigrokdecode
+IUSE=static-libs cros_host cros_workon_tree_be143fb31be0ac7b9be8d1ae80513ea85a160384 python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=GPL-3
+PROPERTIES=live
+RDEPEND=>=dev-libs/glib-2.24.0 python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] )
+REQUIRED_USE=^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 )
+SLOT=0
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=8dccb0bcb8dbb1d302f4a5858e066341
diff --git a/metadata/md5-cache/sci-libs/libsigrokdecode-9999 b/metadata/md5-cache/sci-libs/libsigrokdecode-9999
index 031476d..f69fd67 100644
--- a/metadata/md5-cache/sci-libs/libsigrokdecode-9999
+++ b/metadata/md5-cache/sci-libs/libsigrokdecode-9999
@@ -1,14 +1,14 @@
 DEFINED_PHASES=configure info install prepare setup test unpack
-DEPEND=>=dev-libs/glib-2.24.0 python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DEPEND=>=dev-libs/glib-2.24.0 python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) virtual/pkgconfig >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
 DESCRIPTION=provide (streaming) protocol decoding functionality
 EAPI=5
 HOMEPAGE=http://sigrok.org/wiki/Libsigrokdecode
-IUSE=static-libs cros_host cros_workon_tree_ +python_single_target_python3_6
+IUSE=static-libs cros_host cros_workon_tree_ python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=GPL-3
 PROPERTIES=live
-RDEPEND=>=dev-libs/glib-2.24.0 python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] )
-REQUIRED_USE=^^ ( python_single_target_python3_6 )
+RDEPEND=>=dev-libs/glib-2.24.0 python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] )
+REQUIRED_USE=^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 )
 SLOT=0
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=73d40369ee5e89fd4a7327d6d13ab4b4
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=590f86792e193efdc5bab781317fd62b
diff --git a/metadata/md5-cache/sci-libs/tensorflow-1.14.0 b/metadata/md5-cache/sci-libs/tensorflow-1.14.0
deleted file mode 100644
index b35f8ca..0000000
--- a/metadata/md5-cache/sci-libs/tensorflow-1.14.0
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=app-arch/unzip >=dev-libs/flatbuffers-1.8.0 >=dev-libs/protobuf-3.6.0 || ( =dev-util/bazel-0.24* =dev-util/bazel-0.26* =dev-util/bazel-0.27* ) cuda? ( >=dev-util/nvidia-cuda-toolkit-9.1[profiler] ) !python? ( dev-lang/python ) python? ( dev-lang/swig dev-python/grpcio-tools dev-python/mock dev-python/cython ) >=dev-util/bazel-0.20
-DEFINED_PHASES=compile configure install prepare setup unpack
-DEPEND=>=dev-libs/flatbuffers-1.8.0:= >=dev-libs/protobuf-3.6.0:= !minimal? ( app-arch/snappy dev-db/lmdb dev-db/sqlite dev-libs/icu >=dev-libs/jsoncpp-1.8.4 dev-libs/libpcre dev-libs/nsync dev-libs/openssl:0= >=dev-libs/re2-0.2018.04.01 media-libs/giflib media-libs/libjpeg-turbo media-libs/libpng:0 >=net-libs/grpc-1.16.0 net-misc/curl sys-libs/zlib >=sys-apps/hwloc-2 ) cuda? ( >=dev-util/nvidia-cuda-toolkit-9.1[profiler] dev-libs/cudnn ) mpi? ( virtual/mpi ) python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/absl-py[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=dev-python/astor-0.7.1[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/gast[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/numpy[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/google-pasta[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=dev-python/protobuf-python-3.6.0[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/six[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/termcolor[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/grpcio[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=dev-python/wrapt-1.11.1[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=net-libs/google-cloud-cpp-0.9.0 >=sci-libs/keras-applications-1.0.6[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=sci-libs/keras-preprocessing-1.0.5[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=sci-visualization/tensorboard-1.13.0[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] virtual/python-enum34[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] ) python? ( dev-python/mock )
-DESCRIPTION=Computation framework using data flow graphs for scalable machine learning
-EAPI=7
-HOMEPAGE=https://www.tensorflow.org/
-IUSE=cuda mpi minimal +python label_image benchmark_model cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_fma3 cpu_flags_x86_fma4 python_targets_python2_7 python_targets_python3_6 python_targets_python3_7
-KEYWORDS=*
-LICENSE=Apache-2.0
-PDEPEND=python? ( >=sci-libs/tensorflow-estimator-1.13.0[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] )
-RDEPEND=>=dev-libs/flatbuffers-1.8.0:= >=dev-libs/protobuf-3.6.0:= !minimal? ( app-arch/snappy dev-db/lmdb dev-db/sqlite dev-libs/icu >=dev-libs/jsoncpp-1.8.4 dev-libs/libpcre dev-libs/nsync dev-libs/openssl:0= >=dev-libs/re2-0.2018.04.01 media-libs/giflib media-libs/libjpeg-turbo media-libs/libpng:0 >=net-libs/grpc-1.16.0 net-misc/curl sys-libs/zlib >=sys-apps/hwloc-2 ) cuda? ( >=dev-util/nvidia-cuda-toolkit-9.1[profiler] dev-libs/cudnn ) mpi? ( virtual/mpi ) python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/absl-py[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=dev-python/astor-0.7.1[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/gast[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/numpy[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/google-pasta[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=dev-python/protobuf-python-3.6.0[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/six[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/termcolor[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/grpcio[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=dev-python/wrapt-1.11.1[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=net-libs/google-cloud-cpp-0.9.0 >=sci-libs/keras-applications-1.0.6[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=sci-libs/keras-preprocessing-1.0.5[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=sci-visualization/tensorboard-1.13.0[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] virtual/python-enum34[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] )
-REQUIRED_USE=python? ( || ( python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 ) !minimal )
-SLOT=0
-SRC_URI=https://github.com/tensorflow/tensorflow/archive/v1.14.0.tar.gz -> tensorflow-1.14.0.tar.gz http://www.kurims.kyoto-u.ac.jp/~ooura/fft.tgz -> oourafft-20061228.tgz https://bitbucket.org/eigen/eigen/get/a0d250e79c79.tar.gz -> eigen-a0d250e79c79.tar.gz https://github.com/abseil/abseil-cpp/archive/daf381e8535a1f1f1b8a75966a74e7cca63dee89.tar.gz -> abseil-cpp-daf381e8535a1f1f1b8a75966a74e7cca63dee89.tar.gz https://github.com/bazelbuild/bazel-skylib/archive/0.6.0.tar.gz -> bazel-skylib-0.6.0.tar.gz https://github.com/bazelbuild/rules_closure/archive/cf1e44edb908e9616030cc83d085989b8e6cd6df.tar.gz -> bazelbuild-rules_closure-cf1e44edb908e9616030cc83d085989b8e6cd6df.tar.gz https://github.com/bazelbuild/rules_docker/archive/b8ff6a85ec359db3fd5657accd3e524daf12016d.tar.gz -> rules_docker-b8ff6a85ec359db3fd5657accd3e524daf12016d.tar.gz https://github.com/bazelbuild/rules_swift/releases/download/0.9.0/rules_swift.0.9.0.tar.gz -> bazelbuild-rules_swift.0.9.0.tar.gz https://github.com/google/farmhash/archive/816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz -> farmhash-816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz https://github.com/google/gemmlowp/archive/12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.zip -> gemmlowp-12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.zip https://github.com/google/highwayhash/archive/fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz -> highwayhash-fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz https://github.com/intel/ARM_NEON_2_x86_SSE/archive/1200fe90bb174a6224a525ee60148671a786a71f.tar.gz -> ARM_NEON_2_x86_SSE-1200fe90bb174a6224a525ee60148671a786a71f.tar.gz https://github.com/nlopezgi/bazel-toolchains/archive/94d31935a2c94fe7e7c7379a0f3393e181928ff7.tar.gz -> bazel-toolchains-94d31935a2c94fe7e7c7379a0f3393e181928ff7.tar.gz cuda? ( https://github.com/nvidia/nccl/archive/f93fe9bfd94884cec2ba711897222e0df5569a53.tar.gz -> nvidia-nccl-f93fe9bfd94884cec2ba711897222e0df5569a53.tar.gz https://github.com/NVlabs/cub/archive/1.8.0.zip -> cub-1.8.0.zip ) python? ( http://mirror.tensorflow.org/docs.python.org/2.7/_sources/license.rst.txt -> tensorflow-1.14.0-python-license.rst.txt https://pypi.python.org/packages/bc/cc/3cdb0a02e7e96f6c70bd971bc8a90b8463fda83e264fa9c5c1c98ceabd81/backports.weakref-1.0rc1.tar.gz )
-_eclasses_=bazel	754d004c54b3ac8a286975d232cbab17	check-reqs	74c98e9a7b34b32be3548357852e9ec3	cros-bazel	f8f1ddf279e2cce6ed2320142f477dbf	cuda	bb861e5221b7272ac90c2f12791c1e66	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5701fe4fe31d9b3fb5c81ecf9ac5363e
diff --git a/metadata/md5-cache/sci-libs/tensorflow-1.14.0-r14 b/metadata/md5-cache/sci-libs/tensorflow-1.14.0-r14
deleted file mode 100644
index b35f8ca..0000000
--- a/metadata/md5-cache/sci-libs/tensorflow-1.14.0-r14
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=app-arch/unzip >=dev-libs/flatbuffers-1.8.0 >=dev-libs/protobuf-3.6.0 || ( =dev-util/bazel-0.24* =dev-util/bazel-0.26* =dev-util/bazel-0.27* ) cuda? ( >=dev-util/nvidia-cuda-toolkit-9.1[profiler] ) !python? ( dev-lang/python ) python? ( dev-lang/swig dev-python/grpcio-tools dev-python/mock dev-python/cython ) >=dev-util/bazel-0.20
-DEFINED_PHASES=compile configure install prepare setup unpack
-DEPEND=>=dev-libs/flatbuffers-1.8.0:= >=dev-libs/protobuf-3.6.0:= !minimal? ( app-arch/snappy dev-db/lmdb dev-db/sqlite dev-libs/icu >=dev-libs/jsoncpp-1.8.4 dev-libs/libpcre dev-libs/nsync dev-libs/openssl:0= >=dev-libs/re2-0.2018.04.01 media-libs/giflib media-libs/libjpeg-turbo media-libs/libpng:0 >=net-libs/grpc-1.16.0 net-misc/curl sys-libs/zlib >=sys-apps/hwloc-2 ) cuda? ( >=dev-util/nvidia-cuda-toolkit-9.1[profiler] dev-libs/cudnn ) mpi? ( virtual/mpi ) python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/absl-py[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=dev-python/astor-0.7.1[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/gast[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/numpy[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/google-pasta[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=dev-python/protobuf-python-3.6.0[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/six[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/termcolor[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/grpcio[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=dev-python/wrapt-1.11.1[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=net-libs/google-cloud-cpp-0.9.0 >=sci-libs/keras-applications-1.0.6[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=sci-libs/keras-preprocessing-1.0.5[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=sci-visualization/tensorboard-1.13.0[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] virtual/python-enum34[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] ) python? ( dev-python/mock )
-DESCRIPTION=Computation framework using data flow graphs for scalable machine learning
-EAPI=7
-HOMEPAGE=https://www.tensorflow.org/
-IUSE=cuda mpi minimal +python label_image benchmark_model cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_fma3 cpu_flags_x86_fma4 python_targets_python2_7 python_targets_python3_6 python_targets_python3_7
-KEYWORDS=*
-LICENSE=Apache-2.0
-PDEPEND=python? ( >=sci-libs/tensorflow-estimator-1.13.0[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] )
-RDEPEND=>=dev-libs/flatbuffers-1.8.0:= >=dev-libs/protobuf-3.6.0:= !minimal? ( app-arch/snappy dev-db/lmdb dev-db/sqlite dev-libs/icu >=dev-libs/jsoncpp-1.8.4 dev-libs/libpcre dev-libs/nsync dev-libs/openssl:0= >=dev-libs/re2-0.2018.04.01 media-libs/giflib media-libs/libjpeg-turbo media-libs/libpng:0 >=net-libs/grpc-1.16.0 net-misc/curl sys-libs/zlib >=sys-apps/hwloc-2 ) cuda? ( >=dev-util/nvidia-cuda-toolkit-9.1[profiler] dev-libs/cudnn ) mpi? ( virtual/mpi ) python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/absl-py[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=dev-python/astor-0.7.1[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/gast[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/numpy[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/google-pasta[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=dev-python/protobuf-python-3.6.0[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/six[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/termcolor[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/grpcio[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=dev-python/wrapt-1.11.1[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=net-libs/google-cloud-cpp-0.9.0 >=sci-libs/keras-applications-1.0.6[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=sci-libs/keras-preprocessing-1.0.5[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=sci-visualization/tensorboard-1.13.0[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] virtual/python-enum34[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] )
-REQUIRED_USE=python? ( || ( python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 ) !minimal )
-SLOT=0
-SRC_URI=https://github.com/tensorflow/tensorflow/archive/v1.14.0.tar.gz -> tensorflow-1.14.0.tar.gz http://www.kurims.kyoto-u.ac.jp/~ooura/fft.tgz -> oourafft-20061228.tgz https://bitbucket.org/eigen/eigen/get/a0d250e79c79.tar.gz -> eigen-a0d250e79c79.tar.gz https://github.com/abseil/abseil-cpp/archive/daf381e8535a1f1f1b8a75966a74e7cca63dee89.tar.gz -> abseil-cpp-daf381e8535a1f1f1b8a75966a74e7cca63dee89.tar.gz https://github.com/bazelbuild/bazel-skylib/archive/0.6.0.tar.gz -> bazel-skylib-0.6.0.tar.gz https://github.com/bazelbuild/rules_closure/archive/cf1e44edb908e9616030cc83d085989b8e6cd6df.tar.gz -> bazelbuild-rules_closure-cf1e44edb908e9616030cc83d085989b8e6cd6df.tar.gz https://github.com/bazelbuild/rules_docker/archive/b8ff6a85ec359db3fd5657accd3e524daf12016d.tar.gz -> rules_docker-b8ff6a85ec359db3fd5657accd3e524daf12016d.tar.gz https://github.com/bazelbuild/rules_swift/releases/download/0.9.0/rules_swift.0.9.0.tar.gz -> bazelbuild-rules_swift.0.9.0.tar.gz https://github.com/google/farmhash/archive/816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz -> farmhash-816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz https://github.com/google/gemmlowp/archive/12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.zip -> gemmlowp-12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.zip https://github.com/google/highwayhash/archive/fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz -> highwayhash-fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz https://github.com/intel/ARM_NEON_2_x86_SSE/archive/1200fe90bb174a6224a525ee60148671a786a71f.tar.gz -> ARM_NEON_2_x86_SSE-1200fe90bb174a6224a525ee60148671a786a71f.tar.gz https://github.com/nlopezgi/bazel-toolchains/archive/94d31935a2c94fe7e7c7379a0f3393e181928ff7.tar.gz -> bazel-toolchains-94d31935a2c94fe7e7c7379a0f3393e181928ff7.tar.gz cuda? ( https://github.com/nvidia/nccl/archive/f93fe9bfd94884cec2ba711897222e0df5569a53.tar.gz -> nvidia-nccl-f93fe9bfd94884cec2ba711897222e0df5569a53.tar.gz https://github.com/NVlabs/cub/archive/1.8.0.zip -> cub-1.8.0.zip ) python? ( http://mirror.tensorflow.org/docs.python.org/2.7/_sources/license.rst.txt -> tensorflow-1.14.0-python-license.rst.txt https://pypi.python.org/packages/bc/cc/3cdb0a02e7e96f6c70bd971bc8a90b8463fda83e264fa9c5c1c98ceabd81/backports.weakref-1.0rc1.tar.gz )
-_eclasses_=bazel	754d004c54b3ac8a286975d232cbab17	check-reqs	74c98e9a7b34b32be3548357852e9ec3	cros-bazel	f8f1ddf279e2cce6ed2320142f477dbf	cuda	bb861e5221b7272ac90c2f12791c1e66	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5701fe4fe31d9b3fb5c81ecf9ac5363e
diff --git a/metadata/md5-cache/sci-libs/tensorflow-2.7.0 b/metadata/md5-cache/sci-libs/tensorflow-2.7.0
deleted file mode 100644
index bb9081e..0000000
--- a/metadata/md5-cache/sci-libs/tensorflow-2.7.0
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=app-arch/unzip >=dev-libs/protobuf-3.8.0 dev-java/java-config dev-lang/swig =dev-util/bazel-3* cuda? ( >=dev-util/nvidia-cuda-toolkit-9.1[profiler] ) !python? ( dev-lang/python ) python? ( dev-python/cython dev-python/mock >=dev-python/grpcio-tools-1.28 ) >=dev-util/bazel-0.20
-DEFINED_PHASES=compile configure install prepare setup unpack
-DEPEND=x11-drivers/opengles-headers:= virtual/opengles:= !minimal? ( app-arch/snappy dev-db/lmdb dev-db/sqlite dev-libs/double-conversion dev-libs/icu >=dev-libs/jsoncpp-1.9.2 ) >=dev-libs/flatbuffers-1.12.0:= dev-libs/libpcre !minimal? ( dev-libs/nsync ) dev-libs/openssl:0= >=dev-libs/protobuf-3.8.0:= >=dev-libs/re2-0.2019.06.01 !minimal? ( media-libs/giflib ) media-libs/libjpeg-turbo media-libs/libpng:0 !minimal? ( >=net-libs/grpc-1.28 ) net-misc/curl sys-libs/zlib !minimal? ( >=sys-apps/hwloc-2 ) cuda? ( || ( ( =dev-util/nvidia-cuda-toolkit-10.2*[profiler] =dev-libs/cudnn-7* ) ( =dev-util/nvidia-cuda-toolkit-10.1*[profiler] =dev-libs/cudnn-7* ) ( =dev-util/nvidia-cuda-toolkit-10.0*[profiler] =dev-libs/cudnn-7.4* ) ( =dev-util/nvidia-cuda-toolkit-9.2*[profiler] =dev-libs/cudnn-7.1* ) ( =dev-util/nvidia-cuda-toolkit-9.1*[profiler] =dev-libs/cudnn-7.0* ) ) ) mpi? ( virtual/mpi ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/absl-py[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/astor-0.7.1[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/astunparse[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/gast-0.3.3[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/h5py[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/numpy-1.19[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/google-pasta-0.1.8[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/opt-einsum[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/protobuf-python-3.8.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/pybind11[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/six[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/termcolor[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/grpcio-1.28[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/wrapt-1.11.1[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=net-libs/google-cloud-cpp-0.10.0 >=sci-libs/keras-applications-1.0.8[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=sci-libs/keras-preprocessing-1.1.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=sci-visualization/tensorboard-2.3.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/dill[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/tblib[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] ) python? ( dev-python/mock dev-python/setuptools )
-DESCRIPTION=Computation framework using data flow graphs for scalable machine learning
-EAPI=7
-HOMEPAGE=https://www.tensorflow.org/
-IUSE=cuda mpi +python xla minimal label_image benchmark_model xnnpack inference_accuracy_eval python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
-KEYWORDS=*
-LICENSE=Apache-2.0
-PDEPEND=python? ( >=sci-libs/tensorflow-estimator-2.3.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] )
-RDEPEND=x11-drivers/opengles-headers:= virtual/opengles:= !minimal? ( app-arch/snappy dev-db/lmdb dev-db/sqlite dev-libs/double-conversion dev-libs/icu >=dev-libs/jsoncpp-1.9.2 ) >=dev-libs/flatbuffers-1.12.0:= dev-libs/libpcre !minimal? ( dev-libs/nsync ) dev-libs/openssl:0= >=dev-libs/protobuf-3.8.0:= >=dev-libs/re2-0.2019.06.01 !minimal? ( media-libs/giflib ) media-libs/libjpeg-turbo media-libs/libpng:0 !minimal? ( >=net-libs/grpc-1.28 ) net-misc/curl sys-libs/zlib !minimal? ( >=sys-apps/hwloc-2 ) cuda? ( || ( ( =dev-util/nvidia-cuda-toolkit-10.2*[profiler] =dev-libs/cudnn-7* ) ( =dev-util/nvidia-cuda-toolkit-10.1*[profiler] =dev-libs/cudnn-7* ) ( =dev-util/nvidia-cuda-toolkit-10.0*[profiler] =dev-libs/cudnn-7.4* ) ( =dev-util/nvidia-cuda-toolkit-9.2*[profiler] =dev-libs/cudnn-7.1* ) ( =dev-util/nvidia-cuda-toolkit-9.1*[profiler] =dev-libs/cudnn-7.0* ) ) ) mpi? ( virtual/mpi ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/absl-py[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/astor-0.7.1[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/astunparse[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/gast-0.3.3[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/h5py[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/numpy-1.19[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/google-pasta-0.1.8[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/opt-einsum[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/protobuf-python-3.8.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/pybind11[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/six[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/termcolor[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/grpcio-1.28[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/wrapt-1.11.1[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=net-libs/google-cloud-cpp-0.10.0 >=sci-libs/keras-applications-1.0.8[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=sci-libs/keras-preprocessing-1.1.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=sci-visualization/tensorboard-2.3.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/dill[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/tblib[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] )
-REQUIRED_USE=python? ( || ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 ) )
-SLOT=0
-SRC_URI=https://github.com/tensorflow/tensorflow/archive/v2.7.0.tar.gz -> tensorflow-2.7.0.tar.gz https://github.com/bazelbuild/platforms/releases/download/0.0.2/platforms-0.0.2.tar.gz -> bazelbuild-platforms-0.0.2.tar.gz https://github.com/bazelbuild/apple_support/archive/501b4afb27745c4813a88ffa28acd901408014e4.tar.gz -> bazelbuild-apple_support-501b4afb27745c4813a88ffa28acd901408014e4.tar.gz https://github.com/bazelbuild/bazel-toolchains/archive/dfc67056200b674accd08d8f9a21e328098c07e2.tar.gz -> bazel-toolchains-dfc67056200b674accd08d8f9a21e328098c07e2.tar.gz https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz -> bazel-skylib-1.0.3.tar.gz https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip -> bazelbuild-rules_android-v0.1.1.zip https://github.com/bazelbuild/rules_apple/archive/5131f3d46794bf227d296c82f30c2499c9de3c5b.tar.gz -> bazelbuild-rules_apple-5131f3d46794bf227d296c82f30c2499c9de3c5b.tar.gz https://github.com/bazelbuild/rules_cc/archive/40548a2974f1aea06215272d9c2b47a14a24e556.tar.gz -> bazelbuild-rules_cc-40548a2974f1aea06215272d9c2b47a14a24e556.tar.gz https://github.com/bazelbuild/rules_closure/archive/308b05b2419edb5c8ee0471b67a40403df940149.tar.gz -> bazelbuild-rules_closure-308b05b2419edb5c8ee0471b67a40403df940149.tar.gz https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip -> bazelbuild-rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip https://github.com/bazelbuild/rules_swift/archive/3eeeb53cebda55b349d64c9fc144e18c5f7c0eb8.tar.gz -> bazelbuild-rules_swift-3eeeb53cebda55b349d64c9fc144e18c5f7c0eb8.tar.gz https://github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz -> bazelbuild-rules_proto-97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz https://github.com/google/farmhash/archive/0d859a811870d10f53a594927d0d0b97573ad06d.tar.gz -> farmhash-0d859a811870d10f53a594927d0d0b97573ad06d.tar.gz https://github.com/google/gemmlowp/archive/fda83bdc38b118cc6b56753bd540caa49e570745.zip -> gemmlowp-fda83bdc38b118cc6b56753bd540caa49e570745.zip https://github.com/google/ruy/archive/e6c1b8dc8a8b00ee74e7268aac8b18d7260ab1ce.zip -> ruy-e6c1b8dc8a8b00ee74e7268aac8b18d7260ab1ce.zip https://github.com/intel/ARM_NEON_2_x86_SSE/archive/1200fe90bb174a6224a525ee60148671a786a71f.tar.gz -> ARM_NEON_2_x86_SSE-1200fe90bb174a6224a525ee60148671a786a71f.tar.gz https://github.com/googleapis/googleapis/archive/541b1ded4abadcc38e8178680b0677f65594ea6f.zip -> googleapis-541b1ded4abadcc38e8178680b0677f65594ea6f.zip https://github.com/petewarden/OouraFFT/archive/v1.0.tar.gz -> OouraFFT-v1.0.tar.gz https://github.com/pytorch/cpuinfo/archive/5916273f79a21551890fd3d56fc5375a78d1598d.zip -> pytorch-cpuinfo-5916273f79a21551890fd3d56fc5375a78d1598d.zip https://github.com/pytorch/cpuinfo/archive/d5e37adf1406cf899d7d9ec1d317c47506ccb970.tar.gz -> pytorch-cpuinfo-d5e37adf1406cf899d7d9ec1d317c47506ccb970.tar.gz https://github.com/Maratyszcza/FP16/archive/4dfe081cf6bcd15db339cf2680b9281b8451eeb3.zip -> FP16-4dfe081cf6bcd15db339cf2680b9281b8451eeb3.zip https://github.com/Maratyszcza/FXdiv/archive/63058eff77e11aa15bf531df5dd34395ec3017c8.zip -> FXdiv-63058eff77e11aa15bf531df5dd34395ec3017c8.zip https://github.com/Maratyszcza/pthreadpool/archive/b8374f80e42010941bda6c85b0e3f1a1bd77a1e0.zip -> pthreadpool-b8374f80e42010941bda6c85b0e3f1a1bd77a1e0.zip https://github.com/tensorflow/toolchains/archive/v1.2.7.tar.gz -> tensorflow_toolchains_v1.2.7.tar.gz https://github.com/tensorflow/runtime/archive/64c92c8013b557087351c91b5423b6046d10f206.tar.gz -> tf_runtime-64c92c8013b557087351c91b5423b6046d10f206.tar.gz https://gitlab.com/libeigen/eigen/-/archive/7792b1e909a98703181aecb8810b4b654004c25d/eigen-7792b1e909a98703181aecb8810b4b654004c25d.tar.gz -> eigen-7792b1e909a98703181aecb8810b4b654004c25d.tar.gz https://github.com/KhronosGroup/OpenCL-Headers/archive/0d5f18c6e7196863bc1557a693f1509adfcee056.tar.gz -> OpenCL-Headers-0d5f18c6e7196863bc1557a693f1509adfcee056.tar.gz https://github.com/KhronosGroup/Vulkan-Headers/archive/ec2db85225ab410bc6829251bef6c578aaed5868.tar.gz -> Vulkan-Headers-ec2db85225ab410bc6829251bef6c578aaed5868.tar.gz https://github.com/abseil/abseil-cpp/archive/997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz -> abseil-cpp-997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz https://github.com/google/XNNPACK/archive/694d2524757f9040e65a02c374e152a462fe57eb.zip -> xnnpack-694d2524757f9040e65a02c374e152a462fe57eb.zip https://github.com/llvm/llvm-project/archive/43d6991c2a4cc2ac374e68c029634f2b59ffdfdf.tar.gz -> llvm-project-43d6991c2a4cc2ac374e68c029634f2b59ffdfdf.tar.gz https://storage.googleapis.com/mirror.tensorflow.org/storage.cloud.google.com/download.tensorflow.org/tflite/hexagon_nn_headers_v1.20.0.3.tgz -> hexagon_nn_headers_v1.20.0.3.tgz https://github.com/google/nsync/archive/1.22.0.tar.gz -> nsync-1.22.0.tar.gz https://github.com/google/re2/archive/506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz -> re2-506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz https://github.com/google/highwayhash/archive/fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz -> highwayhash-fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz https://storage.googleapis.com/mirror.tensorflow.org/pilotfiber.dl.sourceforge.net/project/giflib/giflib-5.2.1.tar.gz -> giflib-5.2.1.tar.gz
-_eclasses_=bazel	754d004c54b3ac8a286975d232cbab17	check-reqs	74c98e9a7b34b32be3548357852e9ec3	cros-bazel	f8f1ddf279e2cce6ed2320142f477dbf	cuda	bb861e5221b7272ac90c2f12791c1e66	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ba353f59b334a3a5bbc31c73a8d0b8ba
diff --git a/metadata/md5-cache/sci-libs/tensorflow-2.7.0-r4 b/metadata/md5-cache/sci-libs/tensorflow-2.7.0-r4
deleted file mode 100644
index bb9081e..0000000
--- a/metadata/md5-cache/sci-libs/tensorflow-2.7.0-r4
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=app-arch/unzip >=dev-libs/protobuf-3.8.0 dev-java/java-config dev-lang/swig =dev-util/bazel-3* cuda? ( >=dev-util/nvidia-cuda-toolkit-9.1[profiler] ) !python? ( dev-lang/python ) python? ( dev-python/cython dev-python/mock >=dev-python/grpcio-tools-1.28 ) >=dev-util/bazel-0.20
-DEFINED_PHASES=compile configure install prepare setup unpack
-DEPEND=x11-drivers/opengles-headers:= virtual/opengles:= !minimal? ( app-arch/snappy dev-db/lmdb dev-db/sqlite dev-libs/double-conversion dev-libs/icu >=dev-libs/jsoncpp-1.9.2 ) >=dev-libs/flatbuffers-1.12.0:= dev-libs/libpcre !minimal? ( dev-libs/nsync ) dev-libs/openssl:0= >=dev-libs/protobuf-3.8.0:= >=dev-libs/re2-0.2019.06.01 !minimal? ( media-libs/giflib ) media-libs/libjpeg-turbo media-libs/libpng:0 !minimal? ( >=net-libs/grpc-1.28 ) net-misc/curl sys-libs/zlib !minimal? ( >=sys-apps/hwloc-2 ) cuda? ( || ( ( =dev-util/nvidia-cuda-toolkit-10.2*[profiler] =dev-libs/cudnn-7* ) ( =dev-util/nvidia-cuda-toolkit-10.1*[profiler] =dev-libs/cudnn-7* ) ( =dev-util/nvidia-cuda-toolkit-10.0*[profiler] =dev-libs/cudnn-7.4* ) ( =dev-util/nvidia-cuda-toolkit-9.2*[profiler] =dev-libs/cudnn-7.1* ) ( =dev-util/nvidia-cuda-toolkit-9.1*[profiler] =dev-libs/cudnn-7.0* ) ) ) mpi? ( virtual/mpi ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/absl-py[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/astor-0.7.1[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/astunparse[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/gast-0.3.3[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/h5py[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/numpy-1.19[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/google-pasta-0.1.8[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/opt-einsum[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/protobuf-python-3.8.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/pybind11[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/six[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/termcolor[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/grpcio-1.28[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/wrapt-1.11.1[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=net-libs/google-cloud-cpp-0.10.0 >=sci-libs/keras-applications-1.0.8[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=sci-libs/keras-preprocessing-1.1.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=sci-visualization/tensorboard-2.3.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/dill[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/tblib[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] ) python? ( dev-python/mock dev-python/setuptools )
-DESCRIPTION=Computation framework using data flow graphs for scalable machine learning
-EAPI=7
-HOMEPAGE=https://www.tensorflow.org/
-IUSE=cuda mpi +python xla minimal label_image benchmark_model xnnpack inference_accuracy_eval python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
-KEYWORDS=*
-LICENSE=Apache-2.0
-PDEPEND=python? ( >=sci-libs/tensorflow-estimator-2.3.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] )
-RDEPEND=x11-drivers/opengles-headers:= virtual/opengles:= !minimal? ( app-arch/snappy dev-db/lmdb dev-db/sqlite dev-libs/double-conversion dev-libs/icu >=dev-libs/jsoncpp-1.9.2 ) >=dev-libs/flatbuffers-1.12.0:= dev-libs/libpcre !minimal? ( dev-libs/nsync ) dev-libs/openssl:0= >=dev-libs/protobuf-3.8.0:= >=dev-libs/re2-0.2019.06.01 !minimal? ( media-libs/giflib ) media-libs/libjpeg-turbo media-libs/libpng:0 !minimal? ( >=net-libs/grpc-1.28 ) net-misc/curl sys-libs/zlib !minimal? ( >=sys-apps/hwloc-2 ) cuda? ( || ( ( =dev-util/nvidia-cuda-toolkit-10.2*[profiler] =dev-libs/cudnn-7* ) ( =dev-util/nvidia-cuda-toolkit-10.1*[profiler] =dev-libs/cudnn-7* ) ( =dev-util/nvidia-cuda-toolkit-10.0*[profiler] =dev-libs/cudnn-7.4* ) ( =dev-util/nvidia-cuda-toolkit-9.2*[profiler] =dev-libs/cudnn-7.1* ) ( =dev-util/nvidia-cuda-toolkit-9.1*[profiler] =dev-libs/cudnn-7.0* ) ) ) mpi? ( virtual/mpi ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/absl-py[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/astor-0.7.1[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/astunparse[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/gast-0.3.3[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/h5py[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/numpy-1.19[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/google-pasta-0.1.8[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/opt-einsum[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/protobuf-python-3.8.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/pybind11[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/six[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/termcolor[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/grpcio-1.28[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/wrapt-1.11.1[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=net-libs/google-cloud-cpp-0.10.0 >=sci-libs/keras-applications-1.0.8[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=sci-libs/keras-preprocessing-1.1.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=sci-visualization/tensorboard-2.3.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/dill[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/tblib[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] )
-REQUIRED_USE=python? ( || ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 ) )
-SLOT=0
-SRC_URI=https://github.com/tensorflow/tensorflow/archive/v2.7.0.tar.gz -> tensorflow-2.7.0.tar.gz https://github.com/bazelbuild/platforms/releases/download/0.0.2/platforms-0.0.2.tar.gz -> bazelbuild-platforms-0.0.2.tar.gz https://github.com/bazelbuild/apple_support/archive/501b4afb27745c4813a88ffa28acd901408014e4.tar.gz -> bazelbuild-apple_support-501b4afb27745c4813a88ffa28acd901408014e4.tar.gz https://github.com/bazelbuild/bazel-toolchains/archive/dfc67056200b674accd08d8f9a21e328098c07e2.tar.gz -> bazel-toolchains-dfc67056200b674accd08d8f9a21e328098c07e2.tar.gz https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz -> bazel-skylib-1.0.3.tar.gz https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip -> bazelbuild-rules_android-v0.1.1.zip https://github.com/bazelbuild/rules_apple/archive/5131f3d46794bf227d296c82f30c2499c9de3c5b.tar.gz -> bazelbuild-rules_apple-5131f3d46794bf227d296c82f30c2499c9de3c5b.tar.gz https://github.com/bazelbuild/rules_cc/archive/40548a2974f1aea06215272d9c2b47a14a24e556.tar.gz -> bazelbuild-rules_cc-40548a2974f1aea06215272d9c2b47a14a24e556.tar.gz https://github.com/bazelbuild/rules_closure/archive/308b05b2419edb5c8ee0471b67a40403df940149.tar.gz -> bazelbuild-rules_closure-308b05b2419edb5c8ee0471b67a40403df940149.tar.gz https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip -> bazelbuild-rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip https://github.com/bazelbuild/rules_swift/archive/3eeeb53cebda55b349d64c9fc144e18c5f7c0eb8.tar.gz -> bazelbuild-rules_swift-3eeeb53cebda55b349d64c9fc144e18c5f7c0eb8.tar.gz https://github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz -> bazelbuild-rules_proto-97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz https://github.com/google/farmhash/archive/0d859a811870d10f53a594927d0d0b97573ad06d.tar.gz -> farmhash-0d859a811870d10f53a594927d0d0b97573ad06d.tar.gz https://github.com/google/gemmlowp/archive/fda83bdc38b118cc6b56753bd540caa49e570745.zip -> gemmlowp-fda83bdc38b118cc6b56753bd540caa49e570745.zip https://github.com/google/ruy/archive/e6c1b8dc8a8b00ee74e7268aac8b18d7260ab1ce.zip -> ruy-e6c1b8dc8a8b00ee74e7268aac8b18d7260ab1ce.zip https://github.com/intel/ARM_NEON_2_x86_SSE/archive/1200fe90bb174a6224a525ee60148671a786a71f.tar.gz -> ARM_NEON_2_x86_SSE-1200fe90bb174a6224a525ee60148671a786a71f.tar.gz https://github.com/googleapis/googleapis/archive/541b1ded4abadcc38e8178680b0677f65594ea6f.zip -> googleapis-541b1ded4abadcc38e8178680b0677f65594ea6f.zip https://github.com/petewarden/OouraFFT/archive/v1.0.tar.gz -> OouraFFT-v1.0.tar.gz https://github.com/pytorch/cpuinfo/archive/5916273f79a21551890fd3d56fc5375a78d1598d.zip -> pytorch-cpuinfo-5916273f79a21551890fd3d56fc5375a78d1598d.zip https://github.com/pytorch/cpuinfo/archive/d5e37adf1406cf899d7d9ec1d317c47506ccb970.tar.gz -> pytorch-cpuinfo-d5e37adf1406cf899d7d9ec1d317c47506ccb970.tar.gz https://github.com/Maratyszcza/FP16/archive/4dfe081cf6bcd15db339cf2680b9281b8451eeb3.zip -> FP16-4dfe081cf6bcd15db339cf2680b9281b8451eeb3.zip https://github.com/Maratyszcza/FXdiv/archive/63058eff77e11aa15bf531df5dd34395ec3017c8.zip -> FXdiv-63058eff77e11aa15bf531df5dd34395ec3017c8.zip https://github.com/Maratyszcza/pthreadpool/archive/b8374f80e42010941bda6c85b0e3f1a1bd77a1e0.zip -> pthreadpool-b8374f80e42010941bda6c85b0e3f1a1bd77a1e0.zip https://github.com/tensorflow/toolchains/archive/v1.2.7.tar.gz -> tensorflow_toolchains_v1.2.7.tar.gz https://github.com/tensorflow/runtime/archive/64c92c8013b557087351c91b5423b6046d10f206.tar.gz -> tf_runtime-64c92c8013b557087351c91b5423b6046d10f206.tar.gz https://gitlab.com/libeigen/eigen/-/archive/7792b1e909a98703181aecb8810b4b654004c25d/eigen-7792b1e909a98703181aecb8810b4b654004c25d.tar.gz -> eigen-7792b1e909a98703181aecb8810b4b654004c25d.tar.gz https://github.com/KhronosGroup/OpenCL-Headers/archive/0d5f18c6e7196863bc1557a693f1509adfcee056.tar.gz -> OpenCL-Headers-0d5f18c6e7196863bc1557a693f1509adfcee056.tar.gz https://github.com/KhronosGroup/Vulkan-Headers/archive/ec2db85225ab410bc6829251bef6c578aaed5868.tar.gz -> Vulkan-Headers-ec2db85225ab410bc6829251bef6c578aaed5868.tar.gz https://github.com/abseil/abseil-cpp/archive/997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz -> abseil-cpp-997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz https://github.com/google/XNNPACK/archive/694d2524757f9040e65a02c374e152a462fe57eb.zip -> xnnpack-694d2524757f9040e65a02c374e152a462fe57eb.zip https://github.com/llvm/llvm-project/archive/43d6991c2a4cc2ac374e68c029634f2b59ffdfdf.tar.gz -> llvm-project-43d6991c2a4cc2ac374e68c029634f2b59ffdfdf.tar.gz https://storage.googleapis.com/mirror.tensorflow.org/storage.cloud.google.com/download.tensorflow.org/tflite/hexagon_nn_headers_v1.20.0.3.tgz -> hexagon_nn_headers_v1.20.0.3.tgz https://github.com/google/nsync/archive/1.22.0.tar.gz -> nsync-1.22.0.tar.gz https://github.com/google/re2/archive/506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz -> re2-506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz https://github.com/google/highwayhash/archive/fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz -> highwayhash-fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz https://storage.googleapis.com/mirror.tensorflow.org/pilotfiber.dl.sourceforge.net/project/giflib/giflib-5.2.1.tar.gz -> giflib-5.2.1.tar.gz
-_eclasses_=bazel	754d004c54b3ac8a286975d232cbab17	check-reqs	74c98e9a7b34b32be3548357852e9ec3	cros-bazel	f8f1ddf279e2cce6ed2320142f477dbf	cuda	bb861e5221b7272ac90c2f12791c1e66	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ba353f59b334a3a5bbc31c73a8d0b8ba
diff --git a/metadata/md5-cache/sci-libs/tensorflow-2.8.0 b/metadata/md5-cache/sci-libs/tensorflow-2.8.0
new file mode 100644
index 0000000..033527e
--- /dev/null
+++ b/metadata/md5-cache/sci-libs/tensorflow-2.8.0
@@ -0,0 +1,16 @@
+BDEPEND=app-arch/unzip >=dev-libs/protobuf-3.8.0 dev-java/java-config dev-lang/swig =dev-util/bazel-4* !python? ( dev-lang/python ) python? ( dev-python/cython dev-python/mock >=dev-python/grpcio-tools-1.28 ) >=dev-util/bazel-0.20
+DEFINED_PHASES=compile configure install prepare setup unpack
+DEPEND=x11-drivers/opengles-headers:= virtual/opengles:= >=dev-libs/flatbuffers-1.12.0:= dev-libs/libpcre dev-libs/openssl:0= >=dev-libs/protobuf-3.8.0:= >=dev-libs/re2-0.2019.06.01 media-libs/libjpeg-turbo media-libs/libpng:0 net-misc/curl sys-libs/zlib mpi? ( virtual/mpi ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/absl-py[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/astor-0.7.1[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/astunparse[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/gast-0.3.3[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/h5py[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/numpy-1.19[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/google-pasta-0.1.8[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/opt-einsum[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/protobuf-python-3.8.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/pybind11[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/six[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/termcolor[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/grpcio-1.28[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/wrapt-1.11.1[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=net-libs/google-cloud-cpp-0.10.0 >=sci-libs/keras-applications-1.0.8[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=sci-libs/keras-preprocessing-1.1.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=sci-visualization/tensorboard-2.3.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/dill[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/tblib[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] ) python? ( dev-python/mock dev-python/setuptools )
+DESCRIPTION=Computation framework using data flow graphs for scalable machine learning
+EAPI=7
+HOMEPAGE=https://www.tensorflow.org/
+IUSE=mpi +python xla label_image benchmark_model xnnpack inference_accuracy_eval tflite_custom_ops tflite_opencl_profiling python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
+KEYWORDS=*
+LICENSE=Apache-2.0
+PDEPEND=python? ( >=sci-libs/tensorflow-estimator-2.3.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] )
+RDEPEND=x11-drivers/opengles-headers:= virtual/opengles:= >=dev-libs/flatbuffers-1.12.0:= dev-libs/libpcre dev-libs/openssl:0= >=dev-libs/protobuf-3.8.0:= >=dev-libs/re2-0.2019.06.01 media-libs/libjpeg-turbo media-libs/libpng:0 net-misc/curl sys-libs/zlib mpi? ( virtual/mpi ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/absl-py[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/astor-0.7.1[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/astunparse[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/gast-0.3.3[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/h5py[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/numpy-1.19[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/google-pasta-0.1.8[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/opt-einsum[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/protobuf-python-3.8.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/pybind11[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/six[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/termcolor[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/grpcio-1.28[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/wrapt-1.11.1[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=net-libs/google-cloud-cpp-0.10.0 >=sci-libs/keras-applications-1.0.8[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=sci-libs/keras-preprocessing-1.1.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=sci-visualization/tensorboard-2.3.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/dill[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/tblib[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] )
+REQUIRED_USE=python? ( || ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 ) )
+SLOT=0
+SRC_URI=https://github.com/tensorflow/tensorflow/archive/v2.8.0.tar.gz -> tensorflow-2.8.0.tar.gz https://github.com/bazelbuild/platforms/releases/download/0.0.2/platforms-0.0.2.tar.gz -> bazelbuild-platforms-0.0.2.tar.gz https://github.com/bazelbuild/apple_support/releases/download/0.10.0/apple_support.0.10.0.tar.gz -> bazelbuild-apple_support.0.10.0.tar.gz https://github.com/bazelbuild/bazel-toolchains/archive/dfc67056200b674accd08d8f9a21e328098c07e2.tar.gz -> bazel-toolchains-dfc67056200b674accd08d8f9a21e328098c07e2.tar.gz https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz -> bazel-skylib-1.0.3.tar.gz https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip -> bazelbuild-rules_android-v0.1.1.zip https://github.com/bazelbuild/rules_apple/releases/download/0.31.3/rules_apple.0.31.3.tar.gz -> bazelbuild-rules_apple.0.31.3.tar.gz https://github.com/bazelbuild/rules_cc/archive/40548a2974f1aea06215272d9c2b47a14a24e556.tar.gz -> bazelbuild-rules_cc-40548a2974f1aea06215272d9c2b47a14a24e556.tar.gz https://github.com/bazelbuild/rules_closure/archive/308b05b2419edb5c8ee0471b67a40403df940149.tar.gz -> bazelbuild-rules_closure-308b05b2419edb5c8ee0471b67a40403df940149.tar.gz https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip -> bazelbuild-rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip https://github.com/bazelbuild/rules_swift/releases/download/0.21.0/rules_swift.0.21.0.tar.gz -> bazelbuild-rules_swift.0.21.0.tar.gz https://github.com/bazelbuild/rules_pkg/releases/download/0.2.5/rules_pkg-0.2.5.tar.gz -> bazelbuild-rules_pkg-0.2.5.tar.gz https://github.com/bazelbuild/rules_proto/archive/a0761ed101b939e19d83b2da5f59034bffc19c12.zip -> bazelbuild-rules_proto-a0761ed101b939e19d83b2da5f59034bffc19c12.zip https://github.com/google/farmhash/archive/0d859a811870d10f53a594927d0d0b97573ad06d.tar.gz -> farmhash-0d859a811870d10f53a594927d0d0b97573ad06d.tar.gz https://github.com/google/gemmlowp/archive/fda83bdc38b118cc6b56753bd540caa49e570745.zip -> gemmlowp-fda83bdc38b118cc6b56753bd540caa49e570745.zip https://github.com/google/ruy/archive/e6c1b8dc8a8b00ee74e7268aac8b18d7260ab1ce.zip -> ruy-e6c1b8dc8a8b00ee74e7268aac8b18d7260ab1ce.zip https://github.com/intel/ARM_NEON_2_x86_SSE/archive/1200fe90bb174a6224a525ee60148671a786a71f.tar.gz -> ARM_NEON_2_x86_SSE-1200fe90bb174a6224a525ee60148671a786a71f.tar.gz https://github.com/googleapis/googleapis/archive/541b1ded4abadcc38e8178680b0677f65594ea6f.zip -> googleapis-541b1ded4abadcc38e8178680b0677f65594ea6f.zip https://github.com/petewarden/OouraFFT/archive/v1.0.tar.gz -> OouraFFT-v1.0.tar.gz https://github.com/pytorch/cpuinfo/archive/5916273f79a21551890fd3d56fc5375a78d1598d.zip -> pytorch-cpuinfo-5916273f79a21551890fd3d56fc5375a78d1598d.zip https://github.com/pytorch/cpuinfo/archive/d5e37adf1406cf899d7d9ec1d317c47506ccb970.tar.gz -> pytorch-cpuinfo-d5e37adf1406cf899d7d9ec1d317c47506ccb970.tar.gz https://github.com/Maratyszcza/FP16/archive/4dfe081cf6bcd15db339cf2680b9281b8451eeb3.zip -> FP16-4dfe081cf6bcd15db339cf2680b9281b8451eeb3.zip https://github.com/Maratyszcza/FXdiv/archive/63058eff77e11aa15bf531df5dd34395ec3017c8.zip -> FXdiv-63058eff77e11aa15bf531df5dd34395ec3017c8.zip https://github.com/Maratyszcza/pthreadpool/archive/b8374f80e42010941bda6c85b0e3f1a1bd77a1e0.zip -> pthreadpool-b8374f80e42010941bda6c85b0e3f1a1bd77a1e0.zip https://github.com/tensorflow/toolchains/archive/v1.3.2.tar.gz -> tensorflow_toolchains_v1.3.2.tar.gz https://github.com/tensorflow/runtime/archive/c3e082762b7664bbc7ffd2c39e86464928e27c0c.tar.gz -> tf_runtime-c3e082762b7664bbc7ffd2c39e86464928e27c0c.tar.gz https://gitlab.com/libeigen/eigen/-/archive/085c2fc5d53f391afcccce21c45e15f61c827ab1/eigen-085c2fc5d53f391afcccce21c45e15f61c827ab1.tar.gz -> eigen-085c2fc5d53f391afcccce21c45e15f61c827ab1.tar.gz https://github.com/KhronosGroup/OpenCL-Headers/archive/0d5f18c6e7196863bc1557a693f1509adfcee056.tar.gz -> OpenCL-Headers-0d5f18c6e7196863bc1557a693f1509adfcee056.tar.gz https://github.com/KhronosGroup/Vulkan-Headers/archive/ec2db85225ab410bc6829251bef6c578aaed5868.tar.gz -> Vulkan-Headers-ec2db85225ab410bc6829251bef6c578aaed5868.tar.gz https://github.com/abseil/abseil-cpp/archive/997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz -> abseil-cpp-997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz https://github.com/google/XNNPACK/archive/113092317754c7dea47bfb3cb49c4f59c3c1fa10.zip -> xnnpack-113092317754c7dea47bfb3cb49c4f59c3c1fa10.zip https://storage.googleapis.com/mirror.tensorflow.org/storage.cloud.google.com/download.tensorflow.org/tflite/hexagon_nn_headers_v1.20.0.3.tgz -> hexagon_nn_headers_v1.20.0.3.tgz https://github.com/google/nsync/archive/1.22.0.tar.gz -> nsync-1.22.0.tar.gz https://github.com/google/re2/archive/506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz -> re2-506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz https://github.com/google/highwayhash/archive/fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz -> highwayhash-fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz https://storage.googleapis.com/mirror.tensorflow.org/pilotfiber.dl.sourceforge.net/project/giflib/giflib-5.2.1.tar.gz -> giflib-5.2.1.tar.gz https://storage.googleapis.com/mirror.tensorflow.org/storage.cloud.google.com/download.tensorflow.org/tflite/hexagon_nn_headers_v1.20.0.9.tgz -> hexagon_nn_headers_v1.20.0.9.tgz
+_eclasses_=bazel	754d004c54b3ac8a286975d232cbab17	cros-bazel	f8f1ddf279e2cce6ed2320142f477dbf	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c9447ae51ef6d01c77eca37b3cf6c57c
diff --git a/metadata/md5-cache/sci-libs/tensorflow-2.8.0-r9 b/metadata/md5-cache/sci-libs/tensorflow-2.8.0-r9
new file mode 100644
index 0000000..033527e
--- /dev/null
+++ b/metadata/md5-cache/sci-libs/tensorflow-2.8.0-r9
@@ -0,0 +1,16 @@
+BDEPEND=app-arch/unzip >=dev-libs/protobuf-3.8.0 dev-java/java-config dev-lang/swig =dev-util/bazel-4* !python? ( dev-lang/python ) python? ( dev-python/cython dev-python/mock >=dev-python/grpcio-tools-1.28 ) >=dev-util/bazel-0.20
+DEFINED_PHASES=compile configure install prepare setup unpack
+DEPEND=x11-drivers/opengles-headers:= virtual/opengles:= >=dev-libs/flatbuffers-1.12.0:= dev-libs/libpcre dev-libs/openssl:0= >=dev-libs/protobuf-3.8.0:= >=dev-libs/re2-0.2019.06.01 media-libs/libjpeg-turbo media-libs/libpng:0 net-misc/curl sys-libs/zlib mpi? ( virtual/mpi ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/absl-py[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/astor-0.7.1[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/astunparse[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/gast-0.3.3[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/h5py[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/numpy-1.19[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/google-pasta-0.1.8[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/opt-einsum[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/protobuf-python-3.8.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/pybind11[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/six[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/termcolor[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/grpcio-1.28[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/wrapt-1.11.1[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=net-libs/google-cloud-cpp-0.10.0 >=sci-libs/keras-applications-1.0.8[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=sci-libs/keras-preprocessing-1.1.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=sci-visualization/tensorboard-2.3.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/dill[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/tblib[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] ) python? ( dev-python/mock dev-python/setuptools )
+DESCRIPTION=Computation framework using data flow graphs for scalable machine learning
+EAPI=7
+HOMEPAGE=https://www.tensorflow.org/
+IUSE=mpi +python xla label_image benchmark_model xnnpack inference_accuracy_eval tflite_custom_ops tflite_opencl_profiling python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
+KEYWORDS=*
+LICENSE=Apache-2.0
+PDEPEND=python? ( >=sci-libs/tensorflow-estimator-2.3.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] )
+RDEPEND=x11-drivers/opengles-headers:= virtual/opengles:= >=dev-libs/flatbuffers-1.12.0:= dev-libs/libpcre dev-libs/openssl:0= >=dev-libs/protobuf-3.8.0:= >=dev-libs/re2-0.2019.06.01 media-libs/libjpeg-turbo media-libs/libpng:0 net-misc/curl sys-libs/zlib mpi? ( virtual/mpi ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/absl-py[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/astor-0.7.1[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/astunparse[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/gast-0.3.3[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/h5py[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/numpy-1.19[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/google-pasta-0.1.8[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/opt-einsum[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/protobuf-python-3.8.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/pybind11[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/six[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/termcolor[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/grpcio-1.28[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/wrapt-1.11.1[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=net-libs/google-cloud-cpp-0.10.0 >=sci-libs/keras-applications-1.0.8[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=sci-libs/keras-preprocessing-1.1.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=sci-visualization/tensorboard-2.3.0[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/dill[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/tblib[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] )
+REQUIRED_USE=python? ( || ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 ) )
+SLOT=0
+SRC_URI=https://github.com/tensorflow/tensorflow/archive/v2.8.0.tar.gz -> tensorflow-2.8.0.tar.gz https://github.com/bazelbuild/platforms/releases/download/0.0.2/platforms-0.0.2.tar.gz -> bazelbuild-platforms-0.0.2.tar.gz https://github.com/bazelbuild/apple_support/releases/download/0.10.0/apple_support.0.10.0.tar.gz -> bazelbuild-apple_support.0.10.0.tar.gz https://github.com/bazelbuild/bazel-toolchains/archive/dfc67056200b674accd08d8f9a21e328098c07e2.tar.gz -> bazel-toolchains-dfc67056200b674accd08d8f9a21e328098c07e2.tar.gz https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz -> bazel-skylib-1.0.3.tar.gz https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip -> bazelbuild-rules_android-v0.1.1.zip https://github.com/bazelbuild/rules_apple/releases/download/0.31.3/rules_apple.0.31.3.tar.gz -> bazelbuild-rules_apple.0.31.3.tar.gz https://github.com/bazelbuild/rules_cc/archive/40548a2974f1aea06215272d9c2b47a14a24e556.tar.gz -> bazelbuild-rules_cc-40548a2974f1aea06215272d9c2b47a14a24e556.tar.gz https://github.com/bazelbuild/rules_closure/archive/308b05b2419edb5c8ee0471b67a40403df940149.tar.gz -> bazelbuild-rules_closure-308b05b2419edb5c8ee0471b67a40403df940149.tar.gz https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip -> bazelbuild-rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip https://github.com/bazelbuild/rules_swift/releases/download/0.21.0/rules_swift.0.21.0.tar.gz -> bazelbuild-rules_swift.0.21.0.tar.gz https://github.com/bazelbuild/rules_pkg/releases/download/0.2.5/rules_pkg-0.2.5.tar.gz -> bazelbuild-rules_pkg-0.2.5.tar.gz https://github.com/bazelbuild/rules_proto/archive/a0761ed101b939e19d83b2da5f59034bffc19c12.zip -> bazelbuild-rules_proto-a0761ed101b939e19d83b2da5f59034bffc19c12.zip https://github.com/google/farmhash/archive/0d859a811870d10f53a594927d0d0b97573ad06d.tar.gz -> farmhash-0d859a811870d10f53a594927d0d0b97573ad06d.tar.gz https://github.com/google/gemmlowp/archive/fda83bdc38b118cc6b56753bd540caa49e570745.zip -> gemmlowp-fda83bdc38b118cc6b56753bd540caa49e570745.zip https://github.com/google/ruy/archive/e6c1b8dc8a8b00ee74e7268aac8b18d7260ab1ce.zip -> ruy-e6c1b8dc8a8b00ee74e7268aac8b18d7260ab1ce.zip https://github.com/intel/ARM_NEON_2_x86_SSE/archive/1200fe90bb174a6224a525ee60148671a786a71f.tar.gz -> ARM_NEON_2_x86_SSE-1200fe90bb174a6224a525ee60148671a786a71f.tar.gz https://github.com/googleapis/googleapis/archive/541b1ded4abadcc38e8178680b0677f65594ea6f.zip -> googleapis-541b1ded4abadcc38e8178680b0677f65594ea6f.zip https://github.com/petewarden/OouraFFT/archive/v1.0.tar.gz -> OouraFFT-v1.0.tar.gz https://github.com/pytorch/cpuinfo/archive/5916273f79a21551890fd3d56fc5375a78d1598d.zip -> pytorch-cpuinfo-5916273f79a21551890fd3d56fc5375a78d1598d.zip https://github.com/pytorch/cpuinfo/archive/d5e37adf1406cf899d7d9ec1d317c47506ccb970.tar.gz -> pytorch-cpuinfo-d5e37adf1406cf899d7d9ec1d317c47506ccb970.tar.gz https://github.com/Maratyszcza/FP16/archive/4dfe081cf6bcd15db339cf2680b9281b8451eeb3.zip -> FP16-4dfe081cf6bcd15db339cf2680b9281b8451eeb3.zip https://github.com/Maratyszcza/FXdiv/archive/63058eff77e11aa15bf531df5dd34395ec3017c8.zip -> FXdiv-63058eff77e11aa15bf531df5dd34395ec3017c8.zip https://github.com/Maratyszcza/pthreadpool/archive/b8374f80e42010941bda6c85b0e3f1a1bd77a1e0.zip -> pthreadpool-b8374f80e42010941bda6c85b0e3f1a1bd77a1e0.zip https://github.com/tensorflow/toolchains/archive/v1.3.2.tar.gz -> tensorflow_toolchains_v1.3.2.tar.gz https://github.com/tensorflow/runtime/archive/c3e082762b7664bbc7ffd2c39e86464928e27c0c.tar.gz -> tf_runtime-c3e082762b7664bbc7ffd2c39e86464928e27c0c.tar.gz https://gitlab.com/libeigen/eigen/-/archive/085c2fc5d53f391afcccce21c45e15f61c827ab1/eigen-085c2fc5d53f391afcccce21c45e15f61c827ab1.tar.gz -> eigen-085c2fc5d53f391afcccce21c45e15f61c827ab1.tar.gz https://github.com/KhronosGroup/OpenCL-Headers/archive/0d5f18c6e7196863bc1557a693f1509adfcee056.tar.gz -> OpenCL-Headers-0d5f18c6e7196863bc1557a693f1509adfcee056.tar.gz https://github.com/KhronosGroup/Vulkan-Headers/archive/ec2db85225ab410bc6829251bef6c578aaed5868.tar.gz -> Vulkan-Headers-ec2db85225ab410bc6829251bef6c578aaed5868.tar.gz https://github.com/abseil/abseil-cpp/archive/997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz -> abseil-cpp-997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz https://github.com/google/XNNPACK/archive/113092317754c7dea47bfb3cb49c4f59c3c1fa10.zip -> xnnpack-113092317754c7dea47bfb3cb49c4f59c3c1fa10.zip https://storage.googleapis.com/mirror.tensorflow.org/storage.cloud.google.com/download.tensorflow.org/tflite/hexagon_nn_headers_v1.20.0.3.tgz -> hexagon_nn_headers_v1.20.0.3.tgz https://github.com/google/nsync/archive/1.22.0.tar.gz -> nsync-1.22.0.tar.gz https://github.com/google/re2/archive/506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz -> re2-506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz https://github.com/google/highwayhash/archive/fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz -> highwayhash-fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz https://storage.googleapis.com/mirror.tensorflow.org/pilotfiber.dl.sourceforge.net/project/giflib/giflib-5.2.1.tar.gz -> giflib-5.2.1.tar.gz https://storage.googleapis.com/mirror.tensorflow.org/storage.cloud.google.com/download.tensorflow.org/tflite/hexagon_nn_headers_v1.20.0.9.tgz -> hexagon_nn_headers_v1.20.0.9.tgz
+_eclasses_=bazel	754d004c54b3ac8a286975d232cbab17	cros-bazel	f8f1ddf279e2cce6ed2320142f477dbf	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c9447ae51ef6d01c77eca37b3cf6c57c
diff --git a/metadata/md5-cache/sys-apps/aver-updater-0.0.1-r24 b/metadata/md5-cache/sys-apps/aver-updater-0.0.1-r24
index 594cb65..22a8cf8 100644
--- a/metadata/md5-cache/sys-apps/aver-updater-0.0.1-r24
+++ b/metadata/md5-cache/sys-apps/aver-updater-0.0.1-r24
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] sys-apps/baselayout
 SLOT=0
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
 _md5_=1d7869d43ef4f42d370c8fc64278c281
diff --git a/metadata/md5-cache/sys-apps/aver-updater-9999 b/metadata/md5-cache/sys-apps/aver-updater-9999
index ec456c0..49c3e89 100644
--- a/metadata/md5-cache/sys-apps/aver-updater-9999
+++ b/metadata/md5-cache/sys-apps/aver-updater-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] sys-apps/baselayout
 SLOT=0
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
 _md5_=45ac725800db3f5628d77433e9aa64d5
diff --git a/metadata/md5-cache/sys-apps/coreboot-utils-0.0.1-r5048 b/metadata/md5-cache/sys-apps/coreboot-utils-0.0.1-r5048
deleted file mode 100644
index f3d39db..0000000
--- a/metadata/md5-cache/sys-apps/coreboot-utils-0.0.1-r5048
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install setup unpack
-DEPEND=!static? ( sys-apps/pciutils sys-apps/flashrom ) static? ( sys-apps/pciutils[static-libs(+)] sys-apps/flashrom )
-DESCRIPTION=Utilities for modifying coreboot firmware images
-EAPI=7
-HOMEPAGE=http://coreboot.org
-IUSE=cros_host mma +pci static cros_host cros_workon_tree_fa5ebc3604e19f2d17a66ec3c077038298d85b59_dcb83fabc80ab81194351fbb80e61d666efd7ccd_b880ad0f9230926427480095481a865626da0590_7970bef34ce4d0b3023def52ff72e1c4cd2eca85_0de467a25a3ac1d59c6d3d849ade5536a8d375e1_59d4004a1a7159d2b81fadd69f6b1996b56dc84e_8c4bf470fbe310797cf9b09016efcbe8153e8124_664c26175ad2098e1e83670ab5c33fa35c545f90_e03866d9ecdf3529248f3d4bd0b63499a092f2c3_974edbc79de4f730edf8c9d01bc9186f97417f1d_bfef75f3a17da232f402e1799b42c25c2b1c5176_6340fb29293d883ab8792c9d2ff249fb14776f2e_e63744015b9f12e18123d71c80d37fb7d6b9da0f_0b11630e519f45a76dbef36f38a591aed2c2ad9f_2e2f24b87140cd3280bde18e487c3261801201f9_cf8d5ce267a3e2bf19bab13a77a93f674288e054
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=!static? ( sys-apps/pciutils sys-apps/flashrom )
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=134465277fef5a2159a1f71fae80e719
diff --git a/metadata/md5-cache/sys-apps/coreboot-utils-0.0.1-r5154 b/metadata/md5-cache/sys-apps/coreboot-utils-0.0.1-r5154
new file mode 100644
index 0000000..9c55d00
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/coreboot-utils-0.0.1-r5154
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install setup unpack
+DEPEND=!static? ( sys-apps/pciutils sys-apps/flashrom ) static? ( sys-apps/pciutils[static-libs(+)] sys-apps/flashrom )
+DESCRIPTION=Utilities for modifying coreboot firmware images
+EAPI=7
+HOMEPAGE=http://coreboot.org
+IUSE=cros_host mma +pci static cros_host cros_workon_tree_570c0f96fc0f40c1efea939be887766904fb6cc2_d655cd79d99d3ded805ceeff78942673f10cf6c7_10dc175f9c062c1b115f630370d38f5588b464e3_7970bef34ce4d0b3023def52ff72e1c4cd2eca85_0c986b73d37f2445d8da22b36d806464e83ab756_5ad4c0df47015eb66961ce2702d4f60383bfbb04_6d66611ca07b7767233ac20fbcd1faf00eadf744_e0beed145404b5826408b12c07d14e8efc5e7aa9_e03866d9ecdf3529248f3d4bd0b63499a092f2c3_052584a30fcbe73624a942716f00e76fc4724675_4fdac046899ad0163ad701dbf5ce8f3e3c38269b_e079d3eec8f1084a402feefd4e235853904b2762_df906a2f21f08c09eaf16b3685befd6aecbe258a_27d651612d6d6c19f9c9e64852bd998fbd847677_733dbb47f240dda5600bb29f014206321f4e6668_daa8adf3ba58769a28a8c47c5ac5a702979fae66_da2b86f723785a300042c6ece594dfba80ce9c6a asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=!static? ( sys-apps/pciutils sys-apps/flashrom )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b4a88ffa9668848c5d5e51729330b048
diff --git a/metadata/md5-cache/sys-apps/coreboot-utils-9999 b/metadata/md5-cache/sys-apps/coreboot-utils-9999
index 8188092..1e637c9 100644
--- a/metadata/md5-cache/sys-apps/coreboot-utils-9999
+++ b/metadata/md5-cache/sys-apps/coreboot-utils-9999
@@ -4,11 +4,11 @@
 DESCRIPTION=Utilities for modifying coreboot firmware images
 EAPI=7
 HOMEPAGE=http://coreboot.org
-IUSE=cros_host mma +pci static cros_host cros_workon_tree_
+IUSE=cros_host mma +pci static cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
 RDEPEND=!static? ( sys-apps/pciutils sys-apps/flashrom )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=833c4ac876748aebc02ad9fa2a5e1df0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d69cfd2c411040bc1aa32018433c6278
diff --git a/metadata/md5-cache/sys-apps/daisydog-0.0.1-r32 b/metadata/md5-cache/sys-apps/daisydog-0.0.1-r32
index 123d590..05203f2 100644
--- a/metadata/md5-cache/sys-apps/daisydog-0.0.1-r32
+++ b/metadata/md5-cache/sys-apps/daisydog-0.0.1-r32
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
 _md5_=3ec7e0046cd4f8e126a48ffe9d30d317
diff --git a/metadata/md5-cache/sys-apps/daisydog-9999 b/metadata/md5-cache/sys-apps/daisydog-9999
index 6fcb277..ea7060d 100644
--- a/metadata/md5-cache/sys-apps/daisydog-9999
+++ b/metadata/md5-cache/sys-apps/daisydog-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=sys-apps/baselayout
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
 _md5_=5cecd400268f491510045574e9cd49e3
diff --git a/metadata/md5-cache/sys-apps/em100-0.0.1-r60 b/metadata/md5-cache/sys-apps/em100-0.0.1-r60
deleted file mode 100644
index b7399855..0000000
--- a/metadata/md5-cache/sys-apps/em100-0.0.1-r60
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile info install setup unpack
-DEPEND=virtual/libusb:1
-DESCRIPTION=A simple utility to control a Dediprog EM100pro from Linux
-EAPI=4
-IUSE=cros_host cros_workon_tree_8c3294162328c3ad109b87fab236c1edd406a5e1
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=virtual/libusb:1
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=05213715c9b54251c531e75dd2e4f627
diff --git a/metadata/md5-cache/sys-apps/em100-0.0.1-r62 b/metadata/md5-cache/sys-apps/em100-0.0.1-r62
new file mode 100644
index 0000000..6eea339
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/em100-0.0.1-r62
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile info install setup unpack
+DEPEND=virtual/libusb:1
+DESCRIPTION=A simple utility to control a Dediprog EM100pro from Linux
+EAPI=4
+IUSE=cros_host cros_workon_tree_e974868edf39e05cf8c1230fc0bdaf6e928f6922
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=virtual/libusb:1
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=2436ee6f588cde6393f860ad501462a3
diff --git a/metadata/md5-cache/sys-apps/em100-9999 b/metadata/md5-cache/sys-apps/em100-9999
index 0e3f907..1286cf4 100644
--- a/metadata/md5-cache/sys-apps/em100-9999
+++ b/metadata/md5-cache/sys-apps/em100-9999
@@ -8,5 +8,5 @@
 PROPERTIES=live
 RDEPEND=virtual/libusb:1
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=ca55c30cd7471d3aab006fcfee6d887b
diff --git a/metadata/md5-cache/sys-apps/etphidiap-1.9-r1 b/metadata/md5-cache/sys-apps/etphidiap-1.9-r1
deleted file mode 100644
index 8e02b14..0000000
--- a/metadata/md5-cache/sys-apps/etphidiap-1.9-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=configure install
-DEPEND=!<chromeos-base/etphidiap-1.1-r3
-DESCRIPTION=ELAN TouchPad Firmware Updater (HID-Interface)
-EAPI=7
-HOMEPAGE=https://github.com/jinglewu/etphidiap/
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND=!<chromeos-base/etphidiap-1.1-r3
-SLOT=0
-SRC_URI=https://github.com/jinglewu/etphidiap/archive/1.9.tar.gz -> etphidiap-1.9.tar.gz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=81a7af19589a9a98b784e411f58414b8
diff --git a/metadata/md5-cache/sys-apps/etphidiap-2.0-r1 b/metadata/md5-cache/sys-apps/etphidiap-2.0-r1
new file mode 100644
index 0000000..6aa2cb1
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/etphidiap-2.0-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=configure install
+DEPEND=!<chromeos-base/etphidiap-1.1-r3
+DESCRIPTION=ELAN TouchPad Firmware Updater (HID-Interface)
+EAPI=7
+HOMEPAGE=https://github.com/jinglewu/etphidiap/
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=!<chromeos-base/etphidiap-1.1-r3
+SLOT=0
+SRC_URI=https://github.com/jinglewu/etphidiap/archive/2.0.tar.gz -> etphidiap-2.0.tar.gz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=81a7af19589a9a98b784e411f58414b8
diff --git a/metadata/md5-cache/sys-apps/fitpicker-0.0.1-r2165 b/metadata/md5-cache/sys-apps/fitpicker-0.0.1-r2165
deleted file mode 100644
index f94f169..0000000
--- a/metadata/md5-cache/sys-apps/fitpicker-0.0.1-r2165
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=sys-apps/dtc-1.4.1 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Utility for picking a kernel/device tree from a FIT image.
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/fitpicker/
-IUSE=cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4ece3f8f3d85b6237e276452a02c7c6044463211_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_4ece3f8f3d85b6237e276452a02c7c6044463211_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=>=sys-apps/dtc-1.4.1 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=3d0095207c2d83c762c5c5a9e99f40bc
diff --git a/metadata/md5-cache/sys-apps/fitpicker-0.0.1-r2223 b/metadata/md5-cache/sys-apps/fitpicker-0.0.1-r2223
new file mode 100644
index 0000000..cf50ad9
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/fitpicker-0.0.1-r2223
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=>=sys-apps/dtc-1.4.1 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Utility for picking a kernel/device tree from a FIT image.
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/fitpicker/
+IUSE=cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_4ece3f8f3d85b6237e276452a02c7c6044463211_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_4ece3f8f3d85b6237e276452a02c7c6044463211_e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb cros-debug compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=>=sys-apps/dtc-1.4.1 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=a42f0f00bbd926b82455c10b399a6076
diff --git a/metadata/md5-cache/sys-apps/fitpicker-9999 b/metadata/md5-cache/sys-apps/fitpicker-9999
index ce42735..dc88a9a 100644
--- a/metadata/md5-cache/sys-apps/fitpicker-9999
+++ b/metadata/md5-cache/sys-apps/fitpicker-9999
@@ -1,13 +1,13 @@
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=>=sys-apps/dtc-1.4.1 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DEPEND=>=sys-apps/dtc-1.4.1 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:= cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Utility for picking a kernel/device tree from a FIT image.
 EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/master/fitpicker/
-IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compilation_database cros_host test
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/fitpicker/
+IUSE=cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ cros-debug compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
 RDEPEND=>=sys-apps/dtc-1.4.1 >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] >=chromeos-base/libbrillo-0.0.1-r1651:=
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	3cd45e0ec06b0edbdb2db25321182570	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=c2374b2f77f9f0d7c6b45c04b9cc61dd
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	platform	a80df34f81b607c669a3f1b15e3a6e06	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=06e6a7ab751011d58f2d634250b4bb48
diff --git a/metadata/md5-cache/sys-apps/flashmap-0.3-r36 b/metadata/md5-cache/sys-apps/flashmap-0.3-r36
deleted file mode 100644
index 728792b..0000000
--- a/metadata/md5-cache/sys-apps/flashmap-0.3-r36
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=configure info install setup test unpack
-DEPEND=python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] )
-DESCRIPTION=Utility for manipulating firmware ROM mapping data structure
-EAPI=7
-HOMEPAGE=http://flashmap.googlecode.com
-IUSE=python cros_host cros_workon_tree_63eebcb098106693e29bbce840fedce94e297da6 python_targets_python2_7 python_targets_python3_6 python_targets_python3_7
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] )
-RESTRICT=test
-SLOT=0/0.3-r36
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=1ceb18ae0b1f7d8e0012052bf25c7eba
diff --git a/metadata/md5-cache/sys-apps/flashmap-0.3-r37 b/metadata/md5-cache/sys-apps/flashmap-0.3-r37
new file mode 100644
index 0000000..bd0d7b4
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/flashmap-0.3-r37
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=configure info install setup test unpack
+DEPEND=python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] )
+DESCRIPTION=Utility for manipulating firmware ROM mapping data structure
+EAPI=7
+HOMEPAGE=http://flashmap.googlecode.com
+IUSE=python cros_host cros_workon_tree_63eebcb098106693e29bbce840fedce94e297da6 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] )
+RESTRICT=test
+SLOT=0/0.3-r37
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=4e6706476413c7f82a6be0068ba02f3d
diff --git a/metadata/md5-cache/sys-apps/flashmap-9999 b/metadata/md5-cache/sys-apps/flashmap-9999
index b81190f..e6d5262 100644
--- a/metadata/md5-cache/sys-apps/flashmap-9999
+++ b/metadata/md5-cache/sys-apps/flashmap-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=configure info install setup test unpack
-DEPEND=python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] )
+DEPEND=python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] )
 DESCRIPTION=Utility for manipulating firmware ROM mapping data structure
 EAPI=7
 HOMEPAGE=http://flashmap.googlecode.com
-IUSE=python cros_host cros_workon_tree_ python_targets_python2_7 python_targets_python3_6 python_targets_python3_7
+IUSE=python cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
-RDEPEND=python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] )
+RDEPEND=python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] )
 RESTRICT=test
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=3cdabe62adfa5755f180eaf0ee212d0d
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=cafb02361bcc73199207c616a9c2d43c
diff --git a/metadata/md5-cache/sys-apps/flashrom-0.9.9-r1325 b/metadata/md5-cache/sys-apps/flashrom-0.9.9-r1325
deleted file mode 100644
index c806726..0000000
--- a/metadata/md5-cache/sys-apps/flashrom-0.9.9-r1325
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=sys-apps/diffutils dev-vcs/git >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=!static? ( atahpt? ( sys-apps/pciutils ) atapromise? ( sys-apps/pciutils ) atavia? ( sys-apps/pciutils ) ch341a_spi? ( virtual/libusb:1 ) dediprog? ( virtual/libusb:1 ) developerbox_spi? ( virtual/libusb:1 ) digilent_spi? ( virtual/libusb:1 ) drkaiser? ( sys-apps/pciutils ) ft2232_spi? ( dev-embedded/libftdi:= ) gfxnvidia? ( sys-apps/pciutils ) internal? ( sys-apps/pciutils ) it8212? ( sys-apps/pciutils ) jlink_spi? ( dev-embedded/libjaylink ) nic3com? ( sys-apps/pciutils ) nicintel_eeprom? ( sys-apps/pciutils ) nicintel_spi? ( sys-apps/pciutils ) nicintel? ( sys-apps/pciutils ) nicnatsemi? ( sys-apps/pciutils ) nicrealtek? ( sys-apps/pciutils ) raiden_debug_spi? ( virtual/libusb:1 ) ogp_spi? ( sys-apps/pciutils ) pickit2_spi? ( virtual/libusb:0 ) rayer_spi? ( sys-apps/pciutils ) satamv? ( sys-apps/pciutils ) satasii? ( sys-apps/pciutils ) stlinkv3_spi? ( virtual/libusb:1 ) usbblaster_spi? ( dev-embedded/libftdi:1= ) ) static? ( atahpt? ( sys-apps/pciutils[static-libs(+)] ) atapromise? ( sys-apps/pciutils[static-libs(+)] ) atavia? ( sys-apps/pciutils[static-libs(+)] ) ch341a_spi? ( virtual/libusb:1[static-libs(+)] ) dediprog? ( virtual/libusb:1[static-libs(+)] ) developerbox_spi? ( virtual/libusb:1[static-libs(+)] ) digilent_spi? ( virtual/libusb:1[static-libs(+)] ) drkaiser? ( sys-apps/pciutils[static-libs(+)] ) ft2232_spi? ( dev-embedded/libftdi:=[static-libs(+)] ) gfxnvidia? ( sys-apps/pciutils[static-libs(+)] ) internal? ( sys-apps/pciutils[static-libs(+)] ) it8212? ( sys-apps/pciutils[static-libs(+)] ) jlink_spi? ( dev-embedded/libjaylink[static-libs(+)] ) nic3com? ( sys-apps/pciutils[static-libs(+)] ) nicintel_eeprom? ( sys-apps/pciutils[static-libs(+)] ) nicintel_spi? ( sys-apps/pciutils[static-libs(+)] ) nicintel? ( sys-apps/pciutils[static-libs(+)] ) nicnatsemi? ( sys-apps/pciutils[static-libs(+)] ) nicrealtek? ( sys-apps/pciutils[static-libs(+)] ) raiden_debug_spi? ( virtual/libusb:1[static-libs(+)] ) ogp_spi? ( sys-apps/pciutils[static-libs(+)] ) pickit2_spi? ( virtual/libusb:0[static-libs(+)] ) rayer_spi? ( sys-apps/pciutils[static-libs(+)] ) satamv? ( sys-apps/pciutils[static-libs(+)] ) satasii? ( sys-apps/pciutils[static-libs(+)] ) stlinkv3_spi? ( virtual/libusb:1[static-libs(+)] ) usbblaster_spi? ( dev-embedded/libftdi:1=[static-libs(+)] ) ) test? ( dev-util/cmocka )
-DESCRIPTION=Utility for reading, writing, erasing and verifying flash ROM chips
-EAPI=7
-HOMEPAGE=https://flashrom.org/
-IUSE=atahpt atapromise +atavia +buspirate_spi +ch341a_spi dediprog +developerbox_spi +digilent_spi +drkaiser +dummy ene_lpc +ft2232_spi +gfxnvidia +internal +it8212 jlink_spi +linux_mtd +linux_spi +lspcon_i2c_spi mec1308 mstarddc_spi +nic3com +nicintel +nicintel_eeprom +nicintel_spi +nicnatsemi +nicrealtek +ogp_spi +pickit2_spi +pony_spi +raiden_debug_spi +rayer_spi +realtek_mst_i2c_spi +satasii +satamv +serprog static +stlinkv3_spi test +usbblaster_spi +wiki cros_host cros_workon_tree_5a60c363e12b02c9469c86a63211fe4337a3164e asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=!static? ( atahpt? ( sys-apps/pciutils ) atapromise? ( sys-apps/pciutils ) atavia? ( sys-apps/pciutils ) ch341a_spi? ( virtual/libusb:1 ) dediprog? ( virtual/libusb:1 ) developerbox_spi? ( virtual/libusb:1 ) digilent_spi? ( virtual/libusb:1 ) drkaiser? ( sys-apps/pciutils ) ft2232_spi? ( dev-embedded/libftdi:= ) gfxnvidia? ( sys-apps/pciutils ) internal? ( sys-apps/pciutils ) it8212? ( sys-apps/pciutils ) jlink_spi? ( dev-embedded/libjaylink ) nic3com? ( sys-apps/pciutils ) nicintel_eeprom? ( sys-apps/pciutils ) nicintel_spi? ( sys-apps/pciutils ) nicintel? ( sys-apps/pciutils ) nicnatsemi? ( sys-apps/pciutils ) nicrealtek? ( sys-apps/pciutils ) raiden_debug_spi? ( virtual/libusb:1 ) ogp_spi? ( sys-apps/pciutils ) pickit2_spi? ( virtual/libusb:0 ) rayer_spi? ( sys-apps/pciutils ) satamv? ( sys-apps/pciutils ) satasii? ( sys-apps/pciutils ) stlinkv3_spi? ( virtual/libusb:1 ) usbblaster_spi? ( dev-embedded/libftdi:1= ) ) internal? ( sys-apps/dmidecode )
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c1b3bfc3c3c579c727eae06305e6e85f
diff --git a/metadata/md5-cache/sys-apps/flashrom-0.9.9-r1448 b/metadata/md5-cache/sys-apps/flashrom-0.9.9-r1448
new file mode 100644
index 0000000..119b8b6
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/flashrom-0.9.9-r1448
@@ -0,0 +1,14 @@
+BDEPEND=sys-apps/diffutils dev-vcs/git >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=!static? ( atahpt? ( sys-apps/pciutils ) atapromise? ( sys-apps/pciutils ) atavia? ( sys-apps/pciutils ) chromeos-base/libec:= ch341a_spi? ( virtual/libusb:1 ) dediprog? ( virtual/libusb:1 ) developerbox_spi? ( virtual/libusb:1 ) digilent_spi? ( virtual/libusb:1 ) drkaiser? ( sys-apps/pciutils ) ft2232_spi? ( dev-embedded/libftdi:= ) gfxnvidia? ( sys-apps/pciutils ) internal? ( sys-apps/pciutils ) it8212? ( sys-apps/pciutils ) jlink_spi? ( dev-embedded/libjaylink ) nic3com? ( sys-apps/pciutils ) nicintel_eeprom? ( sys-apps/pciutils ) nicintel_spi? ( sys-apps/pciutils ) nicintel? ( sys-apps/pciutils ) nicnatsemi? ( sys-apps/pciutils ) nicrealtek? ( sys-apps/pciutils ) raiden_debug_spi? ( virtual/libusb:1 ) ogp_spi? ( sys-apps/pciutils ) pickit2_spi? ( virtual/libusb:0 ) rayer_spi? ( sys-apps/pciutils ) satamv? ( sys-apps/pciutils ) satasii? ( sys-apps/pciutils ) stlinkv3_spi? ( virtual/libusb:1 ) usbblaster_spi? ( dev-embedded/libftdi:1= ) ) static? ( atahpt? ( sys-apps/pciutils[static-libs(+)] ) atapromise? ( sys-apps/pciutils[static-libs(+)] ) atavia? ( sys-apps/pciutils[static-libs(+)] ) chromeos-base/libec:=[static-libs(+)] ch341a_spi? ( virtual/libusb:1[static-libs(+)] ) dediprog? ( virtual/libusb:1[static-libs(+)] ) developerbox_spi? ( virtual/libusb:1[static-libs(+)] ) digilent_spi? ( virtual/libusb:1[static-libs(+)] ) drkaiser? ( sys-apps/pciutils[static-libs(+)] ) ft2232_spi? ( dev-embedded/libftdi:=[static-libs(+)] ) gfxnvidia? ( sys-apps/pciutils[static-libs(+)] ) internal? ( sys-apps/pciutils[static-libs(+)] ) it8212? ( sys-apps/pciutils[static-libs(+)] ) jlink_spi? ( dev-embedded/libjaylink[static-libs(+)] ) nic3com? ( sys-apps/pciutils[static-libs(+)] ) nicintel_eeprom? ( sys-apps/pciutils[static-libs(+)] ) nicintel_spi? ( sys-apps/pciutils[static-libs(+)] ) nicintel? ( sys-apps/pciutils[static-libs(+)] ) nicnatsemi? ( sys-apps/pciutils[static-libs(+)] ) nicrealtek? ( sys-apps/pciutils[static-libs(+)] ) raiden_debug_spi? ( virtual/libusb:1[static-libs(+)] ) ogp_spi? ( sys-apps/pciutils[static-libs(+)] ) pickit2_spi? ( virtual/libusb:0[static-libs(+)] ) rayer_spi? ( sys-apps/pciutils[static-libs(+)] ) satamv? ( sys-apps/pciutils[static-libs(+)] ) satasii? ( sys-apps/pciutils[static-libs(+)] ) stlinkv3_spi? ( virtual/libusb:1[static-libs(+)] ) usbblaster_spi? ( dev-embedded/libftdi:1=[static-libs(+)] ) ) test? ( dev-util/cmocka )
+DESCRIPTION=Utility for reading, writing, erasing and verifying flash ROM chips
+EAPI=7
+HOMEPAGE=https://flashrom.org/
+IUSE=atahpt atapromise atavia buspirate_spi ch341a_spi dediprog developerbox_spi digilent_spi drkaiser +dummy +ft2232_spi gfxnvidia +internal +it8212 jlink_spi +linux_mtd +linux_spi +mediatek_i2c_spi mstarddc_spi nic3com nicintel nicintel_eeprom nicintel_spi nicnatsemi nicrealtek ogp_spi +parade_lspcon pickit2_spi pony_spi +raiden_debug_spi rayer_spi +realtek_mst_i2c_spi satasii satamv +serprog static +stlinkv3_spi test +usbblaster_spi +wiki cros_host cros_workon_tree_c728b3adc980de982afc0bf80d1c475e24853beb asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=!static? ( atahpt? ( sys-apps/pciutils ) atapromise? ( sys-apps/pciutils ) atavia? ( sys-apps/pciutils ) chromeos-base/libec:= ch341a_spi? ( virtual/libusb:1 ) dediprog? ( virtual/libusb:1 ) developerbox_spi? ( virtual/libusb:1 ) digilent_spi? ( virtual/libusb:1 ) drkaiser? ( sys-apps/pciutils ) ft2232_spi? ( dev-embedded/libftdi:= ) gfxnvidia? ( sys-apps/pciutils ) internal? ( sys-apps/pciutils ) it8212? ( sys-apps/pciutils ) jlink_spi? ( dev-embedded/libjaylink ) nic3com? ( sys-apps/pciutils ) nicintel_eeprom? ( sys-apps/pciutils ) nicintel_spi? ( sys-apps/pciutils ) nicintel? ( sys-apps/pciutils ) nicnatsemi? ( sys-apps/pciutils ) nicrealtek? ( sys-apps/pciutils ) raiden_debug_spi? ( virtual/libusb:1 ) ogp_spi? ( sys-apps/pciutils ) pickit2_spi? ( virtual/libusb:0 ) rayer_spi? ( sys-apps/pciutils ) satamv? ( sys-apps/pciutils ) satasii? ( sys-apps/pciutils ) stlinkv3_spi? ( virtual/libusb:1 ) usbblaster_spi? ( dev-embedded/libftdi:1= ) ) internal? ( sys-apps/dmidecode )
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e22f27f7009fc282540ebb926d6ce26c
diff --git a/metadata/md5-cache/sys-apps/flashrom-9999 b/metadata/md5-cache/sys-apps/flashrom-9999
index e4df858..976878b 100644
--- a/metadata/md5-cache/sys-apps/flashrom-9999
+++ b/metadata/md5-cache/sys-apps/flashrom-9999
@@ -1,14 +1,14 @@
-BDEPEND=sys-apps/diffutils dev-vcs/git >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+BDEPEND=sys-apps/diffutils dev-vcs/git >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
 DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=!static? ( atahpt? ( sys-apps/pciutils ) atapromise? ( sys-apps/pciutils ) atavia? ( sys-apps/pciutils ) ch341a_spi? ( virtual/libusb:1 ) dediprog? ( virtual/libusb:1 ) developerbox_spi? ( virtual/libusb:1 ) digilent_spi? ( virtual/libusb:1 ) drkaiser? ( sys-apps/pciutils ) ft2232_spi? ( dev-embedded/libftdi:= ) gfxnvidia? ( sys-apps/pciutils ) internal? ( sys-apps/pciutils ) it8212? ( sys-apps/pciutils ) jlink_spi? ( dev-embedded/libjaylink ) nic3com? ( sys-apps/pciutils ) nicintel_eeprom? ( sys-apps/pciutils ) nicintel_spi? ( sys-apps/pciutils ) nicintel? ( sys-apps/pciutils ) nicnatsemi? ( sys-apps/pciutils ) nicrealtek? ( sys-apps/pciutils ) raiden_debug_spi? ( virtual/libusb:1 ) ogp_spi? ( sys-apps/pciutils ) pickit2_spi? ( virtual/libusb:0 ) rayer_spi? ( sys-apps/pciutils ) satamv? ( sys-apps/pciutils ) satasii? ( sys-apps/pciutils ) stlinkv3_spi? ( virtual/libusb:1 ) usbblaster_spi? ( dev-embedded/libftdi:1= ) ) static? ( atahpt? ( sys-apps/pciutils[static-libs(+)] ) atapromise? ( sys-apps/pciutils[static-libs(+)] ) atavia? ( sys-apps/pciutils[static-libs(+)] ) ch341a_spi? ( virtual/libusb:1[static-libs(+)] ) dediprog? ( virtual/libusb:1[static-libs(+)] ) developerbox_spi? ( virtual/libusb:1[static-libs(+)] ) digilent_spi? ( virtual/libusb:1[static-libs(+)] ) drkaiser? ( sys-apps/pciutils[static-libs(+)] ) ft2232_spi? ( dev-embedded/libftdi:=[static-libs(+)] ) gfxnvidia? ( sys-apps/pciutils[static-libs(+)] ) internal? ( sys-apps/pciutils[static-libs(+)] ) it8212? ( sys-apps/pciutils[static-libs(+)] ) jlink_spi? ( dev-embedded/libjaylink[static-libs(+)] ) nic3com? ( sys-apps/pciutils[static-libs(+)] ) nicintel_eeprom? ( sys-apps/pciutils[static-libs(+)] ) nicintel_spi? ( sys-apps/pciutils[static-libs(+)] ) nicintel? ( sys-apps/pciutils[static-libs(+)] ) nicnatsemi? ( sys-apps/pciutils[static-libs(+)] ) nicrealtek? ( sys-apps/pciutils[static-libs(+)] ) raiden_debug_spi? ( virtual/libusb:1[static-libs(+)] ) ogp_spi? ( sys-apps/pciutils[static-libs(+)] ) pickit2_spi? ( virtual/libusb:0[static-libs(+)] ) rayer_spi? ( sys-apps/pciutils[static-libs(+)] ) satamv? ( sys-apps/pciutils[static-libs(+)] ) satasii? ( sys-apps/pciutils[static-libs(+)] ) stlinkv3_spi? ( virtual/libusb:1[static-libs(+)] ) usbblaster_spi? ( dev-embedded/libftdi:1=[static-libs(+)] ) ) test? ( dev-util/cmocka )
+DEPEND=!static? ( atahpt? ( sys-apps/pciutils ) atapromise? ( sys-apps/pciutils ) atavia? ( sys-apps/pciutils ) chromeos-base/libec:= ch341a_spi? ( virtual/libusb:1 ) dediprog? ( virtual/libusb:1 ) developerbox_spi? ( virtual/libusb:1 ) digilent_spi? ( virtual/libusb:1 ) drkaiser? ( sys-apps/pciutils ) ft2232_spi? ( dev-embedded/libftdi:= ) gfxnvidia? ( sys-apps/pciutils ) internal? ( sys-apps/pciutils ) it8212? ( sys-apps/pciutils ) jlink_spi? ( dev-embedded/libjaylink ) nic3com? ( sys-apps/pciutils ) nicintel_eeprom? ( sys-apps/pciutils ) nicintel_spi? ( sys-apps/pciutils ) nicintel? ( sys-apps/pciutils ) nicnatsemi? ( sys-apps/pciutils ) nicrealtek? ( sys-apps/pciutils ) raiden_debug_spi? ( virtual/libusb:1 ) ogp_spi? ( sys-apps/pciutils ) pickit2_spi? ( virtual/libusb:0 ) rayer_spi? ( sys-apps/pciutils ) satamv? ( sys-apps/pciutils ) satasii? ( sys-apps/pciutils ) stlinkv3_spi? ( virtual/libusb:1 ) usbblaster_spi? ( dev-embedded/libftdi:1= ) ) static? ( atahpt? ( sys-apps/pciutils[static-libs(+)] ) atapromise? ( sys-apps/pciutils[static-libs(+)] ) atavia? ( sys-apps/pciutils[static-libs(+)] ) chromeos-base/libec:=[static-libs(+)] ch341a_spi? ( virtual/libusb:1[static-libs(+)] ) dediprog? ( virtual/libusb:1[static-libs(+)] ) developerbox_spi? ( virtual/libusb:1[static-libs(+)] ) digilent_spi? ( virtual/libusb:1[static-libs(+)] ) drkaiser? ( sys-apps/pciutils[static-libs(+)] ) ft2232_spi? ( dev-embedded/libftdi:=[static-libs(+)] ) gfxnvidia? ( sys-apps/pciutils[static-libs(+)] ) internal? ( sys-apps/pciutils[static-libs(+)] ) it8212? ( sys-apps/pciutils[static-libs(+)] ) jlink_spi? ( dev-embedded/libjaylink[static-libs(+)] ) nic3com? ( sys-apps/pciutils[static-libs(+)] ) nicintel_eeprom? ( sys-apps/pciutils[static-libs(+)] ) nicintel_spi? ( sys-apps/pciutils[static-libs(+)] ) nicintel? ( sys-apps/pciutils[static-libs(+)] ) nicnatsemi? ( sys-apps/pciutils[static-libs(+)] ) nicrealtek? ( sys-apps/pciutils[static-libs(+)] ) raiden_debug_spi? ( virtual/libusb:1[static-libs(+)] ) ogp_spi? ( sys-apps/pciutils[static-libs(+)] ) pickit2_spi? ( virtual/libusb:0[static-libs(+)] ) rayer_spi? ( sys-apps/pciutils[static-libs(+)] ) satamv? ( sys-apps/pciutils[static-libs(+)] ) satasii? ( sys-apps/pciutils[static-libs(+)] ) stlinkv3_spi? ( virtual/libusb:1[static-libs(+)] ) usbblaster_spi? ( dev-embedded/libftdi:1=[static-libs(+)] ) ) test? ( dev-util/cmocka )
 DESCRIPTION=Utility for reading, writing, erasing and verifying flash ROM chips
 EAPI=7
 HOMEPAGE=https://flashrom.org/
-IUSE=atahpt atapromise +atavia +buspirate_spi +ch341a_spi dediprog +developerbox_spi +digilent_spi +drkaiser +dummy ene_lpc +ft2232_spi +gfxnvidia +internal +it8212 jlink_spi +linux_mtd +linux_spi +lspcon_i2c_spi mec1308 mstarddc_spi +nic3com +nicintel +nicintel_eeprom +nicintel_spi +nicnatsemi +nicrealtek +ogp_spi +pickit2_spi +pony_spi +raiden_debug_spi +rayer_spi +realtek_mst_i2c_spi +satasii +satamv +serprog static +stlinkv3_spi test +usbblaster_spi +wiki cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
+IUSE=atahpt atapromise atavia buspirate_spi ch341a_spi dediprog developerbox_spi digilent_spi drkaiser +dummy +ft2232_spi gfxnvidia +internal +it8212 jlink_spi +linux_mtd +linux_spi +mediatek_i2c_spi mstarddc_spi nic3com nicintel nicintel_eeprom nicintel_spi nicnatsemi nicrealtek ogp_spi +parade_lspcon pickit2_spi pony_spi +raiden_debug_spi rayer_spi +realtek_mst_i2c_spi satasii satamv +serprog static +stlinkv3_spi test +usbblaster_spi +wiki cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
-RDEPEND=!static? ( atahpt? ( sys-apps/pciutils ) atapromise? ( sys-apps/pciutils ) atavia? ( sys-apps/pciutils ) ch341a_spi? ( virtual/libusb:1 ) dediprog? ( virtual/libusb:1 ) developerbox_spi? ( virtual/libusb:1 ) digilent_spi? ( virtual/libusb:1 ) drkaiser? ( sys-apps/pciutils ) ft2232_spi? ( dev-embedded/libftdi:= ) gfxnvidia? ( sys-apps/pciutils ) internal? ( sys-apps/pciutils ) it8212? ( sys-apps/pciutils ) jlink_spi? ( dev-embedded/libjaylink ) nic3com? ( sys-apps/pciutils ) nicintel_eeprom? ( sys-apps/pciutils ) nicintel_spi? ( sys-apps/pciutils ) nicintel? ( sys-apps/pciutils ) nicnatsemi? ( sys-apps/pciutils ) nicrealtek? ( sys-apps/pciutils ) raiden_debug_spi? ( virtual/libusb:1 ) ogp_spi? ( sys-apps/pciutils ) pickit2_spi? ( virtual/libusb:0 ) rayer_spi? ( sys-apps/pciutils ) satamv? ( sys-apps/pciutils ) satasii? ( sys-apps/pciutils ) stlinkv3_spi? ( virtual/libusb:1 ) usbblaster_spi? ( dev-embedded/libftdi:1= ) ) internal? ( sys-apps/dmidecode )
+RDEPEND=!static? ( atahpt? ( sys-apps/pciutils ) atapromise? ( sys-apps/pciutils ) atavia? ( sys-apps/pciutils ) chromeos-base/libec:= ch341a_spi? ( virtual/libusb:1 ) dediprog? ( virtual/libusb:1 ) developerbox_spi? ( virtual/libusb:1 ) digilent_spi? ( virtual/libusb:1 ) drkaiser? ( sys-apps/pciutils ) ft2232_spi? ( dev-embedded/libftdi:= ) gfxnvidia? ( sys-apps/pciutils ) internal? ( sys-apps/pciutils ) it8212? ( sys-apps/pciutils ) jlink_spi? ( dev-embedded/libjaylink ) nic3com? ( sys-apps/pciutils ) nicintel_eeprom? ( sys-apps/pciutils ) nicintel_spi? ( sys-apps/pciutils ) nicintel? ( sys-apps/pciutils ) nicnatsemi? ( sys-apps/pciutils ) nicrealtek? ( sys-apps/pciutils ) raiden_debug_spi? ( virtual/libusb:1 ) ogp_spi? ( sys-apps/pciutils ) pickit2_spi? ( virtual/libusb:0 ) rayer_spi? ( sys-apps/pciutils ) satamv? ( sys-apps/pciutils ) satasii? ( sys-apps/pciutils ) stlinkv3_spi? ( virtual/libusb:1 ) usbblaster_spi? ( dev-embedded/libftdi:1= ) ) internal? ( sys-apps/dmidecode )
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=184d7e4bcfa048ead6066bb3b287cbe5
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=633ef0ce5b7b7680f6b0243a0134fba4
diff --git a/metadata/md5-cache/sys-apps/flashrom-tester-1.6.0-r61 b/metadata/md5-cache/sys-apps/flashrom-tester-1.6.0-r61
deleted file mode 100644
index 05dd99d..0000000
--- a/metadata/md5-cache/sys-apps/flashrom-tester-1.6.0-r61
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/rand-0.6*:= =dev-rust/chrono-0.4*:= =dev-rust/clap-2.33*:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/built-0.3*:= =dev-rust/sys-info-0.5.7:= =dev-rust/serde_json-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
-DESCRIPTION=Utility for AVL qualification of SPI flash chips with flashrom
-EAPI=7
-HOMEPAGE=https://www.flashrom.org/Flashrom
-IUSE=cros_host cros_workon_tree_df562b4b036369f781d6ce60899c4bb44e7f9b61 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=!<=sys-apps/flashrom-tester-1.60-r41
-REQUIRED_USE=?? ( asan lsan msan tsan )
-SLOT=0/1.6.0-r61
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=50f1a3bd24d5d43c599d083ec6fec4ca
diff --git a/metadata/md5-cache/sys-apps/flashrom-tester-1.6.0-r71 b/metadata/md5-cache/sys-apps/flashrom-tester-1.6.0-r71
new file mode 100644
index 0000000..839dcca
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/flashrom-tester-1.6.0-r71
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
+DEPEND==dev-rust/rand-0.6*:= =dev-rust/chrono-0.4*:= =dev-rust/clap-2.33*:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/built-0.5*:= =dev-rust/sys-info-0.9.1:= =dev-rust/serde_json-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
+DESCRIPTION=Utility for AVL qualification of SPI flash chips with flashrom
+EAPI=7
+HOMEPAGE=https://www.flashrom.org/Flashrom
+IUSE=cros_host cros_workon_tree_7d631aa30921a8fe5909f6f001feea129849c8c6 cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=!<=sys-apps/flashrom-tester-1.60-r41 virtual/rust-binaries:=
+REQUIRED_USE=?? ( asan lsan msan tsan )
+SLOT=0/1.6.0-r71
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=31bf9d10c8c48883f31b9a0c8de4d458
diff --git a/metadata/md5-cache/sys-apps/flashrom-tester-9999 b/metadata/md5-cache/sys-apps/flashrom-tester-9999
index 4408be7..cc19091 100644
--- a/metadata/md5-cache/sys-apps/flashrom-tester-9999
+++ b/metadata/md5-cache/sys-apps/flashrom-tester-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare prerm setup test unpack
-DEPEND==dev-rust/rand-0.6*:= =dev-rust/chrono-0.4*:= =dev-rust/clap-2.33*:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/built-0.3*:= =dev-rust/sys-info-0.5.7:= =dev-rust/serde_json-1*:= >=virtual/rust-1.39.0:= virtual/rust-binaries:=
+DEPEND==dev-rust/rand-0.6*:= =dev-rust/chrono-0.4*:= =dev-rust/clap-2.33*:= =dev-rust/libc-0.2*:= =dev-rust/log-0.4*:= =dev-rust/built-0.5*:= =dev-rust/sys-info-0.9.1:= =dev-rust/serde_json-1*:= >=virtual/rust-1.60.0:= virtual/rust-binaries:=
 DESCRIPTION=Utility for AVL qualification of SPI flash chips with flashrom
 EAPI=7
 HOMEPAGE=https://www.flashrom.org/Flashrom
-IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan sccache test tsan ubsan x86
+IUSE=cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan amd64 asan coverage cros_host fuzzer lsan +lto msan +panic-abort sccache test tsan ubsan x86
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
-RDEPEND=!<=sys-apps/flashrom-tester-1.60-r41
+RDEPEND=!<=sys-apps/flashrom-tester-1.60-r41 virtual/rust-binaries:=
 REQUIRED_USE=?? ( asan lsan msan tsan )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	6eeb74d498700b38a0852e1f4514dea4	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=eb3a4a5764186782e7ac35f4e9008f2c
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-rust	3c4e33d5d08105b9f6a85500b9c9e588	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=cb30aa8077d80cbf448e9d6dde04a7c0
diff --git a/metadata/md5-cache/sys-apps/frecon-0.0.1-r177 b/metadata/md5-cache/sys-apps/frecon-0.0.1-r177
deleted file mode 100644
index 8abc3b7..0000000
--- a/metadata/md5-cache/sys-apps/frecon-0.0.1-r177
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=virtual/pkgconfig dev-vcs/git
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=virtual/udev sys-apps/dbus:= media-libs/libpng:0= sys-apps/libtsm:= x11-libs/libdrm:= media-sound/adhd:=
-DESCRIPTION=Chrome OS KMS console
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/frecon
-IUSE=-asan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_fa31550ff49e9ef31db994110b9ac3232d20a4a9
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=virtual/udev sys-apps/dbus:= media-libs/libpng:0= sys-apps/libtsm:= x11-libs/libdrm:=
-SLOT=0/0.0.1-r177
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9cf10f81bd85f231c46035a52394a016
diff --git a/metadata/md5-cache/sys-apps/frecon-0.0.1-r180 b/metadata/md5-cache/sys-apps/frecon-0.0.1-r180
new file mode 100644
index 0000000..818201f
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/frecon-0.0.1-r180
@@ -0,0 +1,14 @@
+BDEPEND=virtual/pkgconfig dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=virtual/udev sys-apps/dbus:= media-libs/libpng:0= sys-apps/libtsm:= x11-libs/libdrm:= media-sound/adhd:=
+DESCRIPTION=Chrome OS KMS console
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/frecon
+IUSE=-asan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_519b947b77027c58fc7878f0340a09fd936f4e6f
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=virtual/udev sys-apps/dbus:= media-libs/libpng:0= sys-apps/libtsm:= x11-libs/libdrm:=
+SLOT=0/0.0.1-r180
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6fd133777a726a3c9a6b4f7b54498d61
diff --git a/metadata/md5-cache/sys-apps/frecon-9999 b/metadata/md5-cache/sys-apps/frecon-9999
index f7cc1d9..08b4ef3 100644
--- a/metadata/md5-cache/sys-apps/frecon-9999
+++ b/metadata/md5-cache/sys-apps/frecon-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=virtual/udev sys-apps/dbus:= media-libs/libpng:0= sys-apps/libtsm:= x11-libs/libdrm:=
 SLOT=0/9999
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=d3f3279b6d87cc75990bdfa3df1303be
diff --git a/metadata/md5-cache/sys-apps/frecon-lite-0.0.1-r72 b/metadata/md5-cache/sys-apps/frecon-lite-0.0.1-r72
deleted file mode 100644
index c544fd6..0000000
--- a/metadata/md5-cache/sys-apps/frecon-lite-0.0.1-r72
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=virtual/pkgconfig dev-vcs/git
-DEFINED_PHASES=compile configure info prepare setup test unpack
-DEPEND=media-libs/libpng:0= sys-apps/libtsm:= media-sound/adhd:= x11-libs/libdrm:=
-DESCRIPTION=Chrome OS KMS console (without DBUS/UDEV support)
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/frecon
-IUSE=-asan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_fa31550ff49e9ef31db994110b9ac3232d20a4a9
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=media-libs/libpng:0= sys-apps/libtsm:=
-SLOT=0/0.0.1-r72
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=bd466c41bf06b737794adf05326af6f1
diff --git a/metadata/md5-cache/sys-apps/frecon-lite-0.0.1-r75 b/metadata/md5-cache/sys-apps/frecon-lite-0.0.1-r75
new file mode 100644
index 0000000..f50b51b
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/frecon-lite-0.0.1-r75
@@ -0,0 +1,14 @@
+BDEPEND=virtual/pkgconfig dev-vcs/git
+DEFINED_PHASES=compile configure info prepare setup test unpack
+DEPEND=media-libs/libpng:0= sys-apps/libtsm:= media-sound/adhd:= x11-libs/libdrm:=
+DESCRIPTION=Chrome OS KMS console (without DBUS/UDEV support)
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/frecon
+IUSE=-asan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_519b947b77027c58fc7878f0340a09fd936f4e6f
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=media-libs/libpng:0= sys-apps/libtsm:=
+SLOT=0/0.0.1-r75
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=fc3d60ca4ba33c431f62a86d6f6ca912
diff --git a/metadata/md5-cache/sys-apps/frecon-lite-9999 b/metadata/md5-cache/sys-apps/frecon-lite-9999
index 3daa283..e93b4c8 100644
--- a/metadata/md5-cache/sys-apps/frecon-lite-9999
+++ b/metadata/md5-cache/sys-apps/frecon-lite-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=media-libs/libpng:0= sys-apps/libtsm:=
 SLOT=0/9999
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=ea51614689249cc2d3459e8c732ff28c
diff --git a/metadata/md5-cache/sys-apps/fwupd-1.7.4-r194 b/metadata/md5-cache/sys-apps/fwupd-1.7.4-r194
deleted file mode 100644
index 216534b..0000000
--- a/metadata/md5-cache/sys-apps/fwupd-1.7.4-r194
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure info install postinst postrm preinst prepare setup test unpack
-DEPEND=>=app-arch/gcab-1.0 app-arch/xz-utils >=dev-libs/glib-2.58:2 dev-libs/json-glib dev-libs/libgudev:= >=dev-libs/libjcat-0.1.0[gpg?,pkcs7?] >=dev-libs/libxmlb-0.1.13:=[introspection?] >=net-libs/libsoup-2.51.92:2.4[introspection?] net-misc/curl archive? ( app-arch/libarchive:= ) dell? ( >=sys-libs/libsmbios-2.4.0 ) elogind? ( >=sys-auth/elogind-211 ) flashrom? ( sys-apps/flashrom ) gnutls? ( net-libs/gnutls ) gusb? ( >=dev-libs/libgusb-0.3.5[introspection?] ) logitech? ( dev-libs/protobuf-c:= ) lzma? ( app-arch/xz-utils ) modemmanager? ( net-misc/modemmanager[qmi] ) policykit? ( >=sys-auth/polkit-0.103 ) sqlite? ( dev-db/sqlite ) systemd? ( >=sys-apps/systemd-211 ) uefi? ( sys-apps/fwupd-efi sys-boot/efibootmgr sys-fs/udisks sys-libs/efivar ) x11-libs/pango || ( dev-lang/vala:0.36 dev-lang/vala:0.34 dev-lang/vala:0.32 ) python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) python_single_target_python2_7? ( dev-python/pygobject:3[cairo,python_targets_python2_7(-)] ) !<sci-chemistry/chemical-mime-data-0.1.94-r4 >=app-arch/gcab-1.0 app-arch/xz-utils >=dev-libs/glib-2.58:2 dev-libs/json-glib dev-libs/libgudev:= >=dev-libs/libjcat-0.1.0[gpg?,pkcs7?] >=dev-libs/libxmlb-0.1.13:=[introspection?] >=net-libs/libsoup-2.51.92:2.4[introspection?] net-misc/curl archive? ( app-arch/libarchive:= ) dell? ( >=sys-libs/libsmbios-2.4.0 ) elogind? ( >=sys-auth/elogind-211 ) flashrom? ( sys-apps/flashrom ) gnutls? ( net-libs/gnutls ) gusb? ( >=dev-libs/libgusb-0.3.5[introspection?] ) logitech? ( dev-libs/protobuf-c:= ) lzma? ( app-arch/xz-utils ) modemmanager? ( net-misc/modemmanager[qmi] ) policykit? ( >=sys-auth/polkit-0.103 ) sqlite? ( dev-db/sqlite ) systemd? ( >=sys-apps/systemd-211 ) uefi? ( sys-apps/fwupd-efi sys-boot/efibootmgr sys-fs/udisks sys-libs/efivar ) sys-apps/dbus >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array virtual/pkgconfig sys-apps/baselayout dev-util/desktop-file-utils x11-misc/shared-mime-info
-DESCRIPTION=Aims to make updating firmware on Linux automatic, safe and reliable
-EAPI=6
-HOMEPAGE=https://fwupd.org
-IUSE=agent amt archive bash-completion bluetooth dell +dummy elogind fastboot flashrom +gnutls gtk-doc +gusb +gpg gpio introspection logitech lzma +man minimal modemmanager nls nvme pkcs7 policykit spi +sqlite synaptics systemd test thunderbolt uefi cros_host cros_workon_tree_f49e79f7e75feba202c85ac15e4a3efdc57b9156 kernel_linux python_single_target_python2_7 python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
-KEYWORDS=*
-LICENSE=LGPL-2.1+
-PROPERTIES=live
-RDEPEND=!<sci-chemistry/chemical-mime-data-0.1.94-r4 >=app-arch/gcab-1.0 app-arch/xz-utils >=dev-libs/glib-2.58:2 dev-libs/json-glib dev-libs/libgudev:= >=dev-libs/libjcat-0.1.0[gpg?,pkcs7?] >=dev-libs/libxmlb-0.1.13:=[introspection?] >=net-libs/libsoup-2.51.92:2.4[introspection?] net-misc/curl archive? ( app-arch/libarchive:= ) dell? ( >=sys-libs/libsmbios-2.4.0 ) elogind? ( >=sys-auth/elogind-211 ) flashrom? ( sys-apps/flashrom ) gnutls? ( net-libs/gnutls ) gusb? ( >=dev-libs/libgusb-0.3.5[introspection?] ) logitech? ( dev-libs/protobuf-c:= ) lzma? ( app-arch/xz-utils ) modemmanager? ( net-misc/modemmanager[qmi] ) policykit? ( >=sys-auth/polkit-0.103 ) sqlite? ( dev-db/sqlite ) systemd? ( >=sys-apps/systemd-211 ) uefi? ( sys-apps/fwupd-efi sys-boot/efibootmgr sys-fs/udisks sys-libs/efivar ) sys-apps/dbus sys-apps/baselayout
-REQUIRED_USE=^^ ( python_single_target_python2_7 python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 ) dell? ( uefi ) fastboot? ( gusb ) logitech? ( gusb ) minimal? ( !introspection ) spi? ( lzma ) synaptics? ( gnutls ) uefi? ( gnutls )
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	linux-info	327865b9921771330775d971263dc234	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	vala	2f3804278870542119da624a5eded505	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg	c7ba313ea1eaf266f95cc6235f7d6a07	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=de1909da171c2698f023d079ee6d702b
diff --git a/metadata/md5-cache/sys-apps/fwupd-1.8.1-r221 b/metadata/md5-cache/sys-apps/fwupd-1.8.1-r221
new file mode 100644
index 0000000..5b51119
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/fwupd-1.8.1-r221
@@ -0,0 +1,15 @@
+BDEPEND=>=dev-util/meson-0.60.0 virtual/pkgconfig gtk-doc? ( dev-util/gtk-doc ) bash-completion? ( >=app-shells/bash-completion-2.0 ) introspection? ( dev-libs/gobject-introspection ) man? ( app-text/docbook-sgml-utils sys-apps/help2man ) dev-vcs/git >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array virtual/pkgconfig
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare setup test unpack
+DEPEND=>=app-arch/gcab-1.0 app-arch/xz-utils >=dev-libs/glib-2.58:2 dev-libs/json-glib dev-libs/libgudev:= >=dev-libs/libjcat-0.1.0[gpg?,pkcs7?] >=dev-libs/libxmlb-0.1.13:=[introspection?] >=net-libs/libsoup-2.51.92:2.4[introspection?] net-misc/curl archive? ( app-arch/libarchive:= ) cbor? ( dev-libs/libcbor ) dell? ( >=app-crypt/tpm2-tss-2.0 >=sys-libs/libsmbios-2.4.0 ) elogind? ( >=sys-auth/elogind-211 ) flashrom? ( sys-apps/flashrom ) gnutls? ( net-libs/gnutls ) gusb? ( >=dev-libs/libgusb-0.3.5[introspection?] ) logitech? ( dev-libs/protobuf-c:= ) lzma? ( app-arch/xz-utils ) modemmanager? ( net-misc/modemmanager[qmi] ) policykit? ( >=sys-auth/polkit-0.114 ) sqlite? ( dev-db/sqlite ) systemd? ( >=sys-apps/systemd-211 ) uefi? ( sys-apps/fwupd-efi sys-boot/efibootmgr sys-fs/udisks sys-libs/efivar ) x11-libs/pango[introspection?] sys-apps/baselayout dev-util/desktop-file-utils x11-misc/shared-mime-info
+DESCRIPTION=Aims to make updating firmware on Linux automatic, safe and reliable
+EAPI=7
+HOMEPAGE=https://fwupd.org
+IUSE=agent amt +archive bash-completion bluetooth cbor cfm dell +dummy elogind fastboot flashrom +gnutls gtk-doc +gusb +gpg gpio introspection logitech lzma +man minimal modemmanager nls nvme pkcs7 policykit spi +sqlite synaptics systemd test thunderbolt uefi cros_host cros_workon_tree_2137eb3b8bd483e57682fd397723e1218e80938d kernel_linux asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=LGPL-2.1+
+PROPERTIES=live
+RDEPEND=>=app-arch/gcab-1.0 app-arch/xz-utils >=dev-libs/glib-2.58:2 dev-libs/json-glib dev-libs/libgudev:= >=dev-libs/libjcat-0.1.0[gpg?,pkcs7?] >=dev-libs/libxmlb-0.1.13:=[introspection?] >=net-libs/libsoup-2.51.92:2.4[introspection?] net-misc/curl archive? ( app-arch/libarchive:= ) cbor? ( dev-libs/libcbor ) dell? ( >=app-crypt/tpm2-tss-2.0 >=sys-libs/libsmbios-2.4.0 ) elogind? ( >=sys-auth/elogind-211 ) flashrom? ( sys-apps/flashrom ) gnutls? ( net-libs/gnutls ) gusb? ( >=dev-libs/libgusb-0.3.5[introspection?] ) logitech? ( dev-libs/protobuf-c:= ) lzma? ( app-arch/xz-utils ) modemmanager? ( net-misc/modemmanager[qmi] ) policykit? ( >=sys-auth/polkit-0.114 ) sqlite? ( dev-db/sqlite ) systemd? ( >=sys-apps/systemd-211 ) uefi? ( sys-apps/fwupd-efi sys-boot/efibootmgr sys-fs/udisks sys-libs/efivar ) sys-apps/dbus sys-apps/baselayout
+REQUIRED_USE=dell? ( uefi ) fastboot? ( gusb ) logitech? ( gusb ) minimal? ( !introspection ) spi? ( lzma ) synaptics? ( gnutls ) uefi? ( gnutls )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	linux-info	327865b9921771330775d971263dc234	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	xdg	c7ba313ea1eaf266f95cc6235f7d6a07	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=9d3034222ffcc52fe3d5961c714f1815
diff --git a/metadata/md5-cache/sys-apps/fwupd-9998 b/metadata/md5-cache/sys-apps/fwupd-9998
index fb42533..11ae31d 100644
--- a/metadata/md5-cache/sys-apps/fwupd-9998
+++ b/metadata/md5-cache/sys-apps/fwupd-9998
@@ -1,14 +1,15 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup test unpack
-DEPEND=>=app-arch/gcab-1.0 app-arch/xz-utils >=dev-libs/glib-2.58:2 dev-libs/json-glib dev-libs/libgudev:= >=dev-libs/libjcat-0.1.0[gpg?,pkcs7?] >=dev-libs/libxmlb-0.1.13:=[introspection?] >=net-libs/libsoup-2.51.92:2.4[introspection?] net-misc/curl archive? ( app-arch/libarchive:= ) dell? ( >=sys-libs/libsmbios-2.4.0 ) elogind? ( >=sys-auth/elogind-211 ) flashrom? ( sys-apps/flashrom ) gnutls? ( net-libs/gnutls ) gusb? ( >=dev-libs/libgusb-0.3.5[introspection?] ) logitech? ( dev-libs/protobuf-c:= ) lzma? ( app-arch/xz-utils ) modemmanager? ( net-misc/modemmanager[qmi] ) policykit? ( >=sys-auth/polkit-0.103 ) sqlite? ( dev-db/sqlite ) systemd? ( >=sys-apps/systemd-211 ) uefi? ( sys-apps/fwupd-efi sys-boot/efibootmgr sys-fs/udisks sys-libs/efivar ) x11-libs/pango || ( dev-lang/vala:0.36 dev-lang/vala:0.34 dev-lang/vala:0.32 ) python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) python_single_target_python2_7? ( dev-python/pygobject:3[cairo,python_targets_python2_7(-)] ) !<sci-chemistry/chemical-mime-data-0.1.94-r4 >=app-arch/gcab-1.0 app-arch/xz-utils >=dev-libs/glib-2.58:2 dev-libs/json-glib dev-libs/libgudev:= >=dev-libs/libjcat-0.1.0[gpg?,pkcs7?] >=dev-libs/libxmlb-0.1.13:=[introspection?] >=net-libs/libsoup-2.51.92:2.4[introspection?] net-misc/curl archive? ( app-arch/libarchive:= ) dell? ( >=sys-libs/libsmbios-2.4.0 ) elogind? ( >=sys-auth/elogind-211 ) flashrom? ( sys-apps/flashrom ) gnutls? ( net-libs/gnutls ) gusb? ( >=dev-libs/libgusb-0.3.5[introspection?] ) logitech? ( dev-libs/protobuf-c:= ) lzma? ( app-arch/xz-utils ) modemmanager? ( net-misc/modemmanager[qmi] ) policykit? ( >=sys-auth/polkit-0.103 ) sqlite? ( dev-db/sqlite ) systemd? ( >=sys-apps/systemd-211 ) uefi? ( sys-apps/fwupd-efi sys-boot/efibootmgr sys-fs/udisks sys-libs/efivar ) sys-apps/dbus >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array virtual/pkgconfig sys-apps/baselayout dev-util/desktop-file-utils x11-misc/shared-mime-info
+BDEPEND=>=dev-util/meson-0.60.0 virtual/pkgconfig gtk-doc? ( dev-util/gtk-doc ) bash-completion? ( >=app-shells/bash-completion-2.0 ) introspection? ( dev-libs/gobject-introspection ) man? ( app-text/docbook-sgml-utils sys-apps/help2man ) dev-vcs/git >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array virtual/pkgconfig >=dev-vcs/git-1.8.2.1[curl]
+DEFINED_PHASES=compile configure info install postinst postrm preinst prepare setup test unpack
+DEPEND=>=app-arch/gcab-1.0 app-arch/xz-utils >=dev-libs/glib-2.58:2 dev-libs/json-glib dev-libs/libgudev:= >=dev-libs/libjcat-0.1.0[gpg?,pkcs7?] >=dev-libs/libxmlb-0.1.13:=[introspection?] >=net-libs/libsoup-2.51.92:2.4[introspection?] net-misc/curl archive? ( app-arch/libarchive:= ) cbor? ( dev-libs/libcbor ) dell? ( >=app-crypt/tpm2-tss-2.0 >=sys-libs/libsmbios-2.4.0 ) elogind? ( >=sys-auth/elogind-211 ) flashrom? ( sys-apps/flashrom ) gnutls? ( net-libs/gnutls ) gusb? ( >=dev-libs/libgusb-0.3.5[introspection?] ) logitech? ( dev-libs/protobuf-c:= ) lzma? ( app-arch/xz-utils ) modemmanager? ( net-misc/modemmanager[qmi] ) policykit? ( >=sys-auth/polkit-0.114 ) sqlite? ( dev-db/sqlite ) systemd? ( >=sys-apps/systemd-211 ) uefi? ( sys-apps/fwupd-efi sys-boot/efibootmgr sys-fs/udisks sys-libs/efivar ) x11-libs/pango[introspection?] sys-apps/baselayout dev-util/desktop-file-utils x11-misc/shared-mime-info
 DESCRIPTION=Aims to make updating firmware on Linux automatic, safe and reliable
-EAPI=6
+EAPI=7
 HOMEPAGE=https://fwupd.org
-IUSE=agent amt archive bash-completion bluetooth dell +dummy elogind fastboot flashrom +gnutls gtk-doc +gusb +gpg gpio introspection logitech lzma +man minimal modemmanager nls nvme pkcs7 policykit spi +sqlite synaptics systemd test thunderbolt uefi kernel_linux python_single_target_python2_7 python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
+IUSE=agent amt +archive bash-completion bluetooth cbor cfm dell +dummy elogind fastboot flashrom +gnutls gtk-doc +gusb +gpg gpio introspection logitech lzma +man minimal modemmanager nls nvme pkcs7 policykit spi +sqlite synaptics systemd test thunderbolt uefi cros_host cros_workon_tree_ kernel_linux asan coverage fuzzer msan tsan ubsan
 KEYWORDS=*
 LICENSE=LGPL-2.1+
-PROPERTIES=live
-RDEPEND=!<sci-chemistry/chemical-mime-data-0.1.94-r4 >=app-arch/gcab-1.0 app-arch/xz-utils >=dev-libs/glib-2.58:2 dev-libs/json-glib dev-libs/libgudev:= >=dev-libs/libjcat-0.1.0[gpg?,pkcs7?] >=dev-libs/libxmlb-0.1.13:=[introspection?] >=net-libs/libsoup-2.51.92:2.4[introspection?] net-misc/curl archive? ( app-arch/libarchive:= ) dell? ( >=sys-libs/libsmbios-2.4.0 ) elogind? ( >=sys-auth/elogind-211 ) flashrom? ( sys-apps/flashrom ) gnutls? ( net-libs/gnutls ) gusb? ( >=dev-libs/libgusb-0.3.5[introspection?] ) logitech? ( dev-libs/protobuf-c:= ) lzma? ( app-arch/xz-utils ) modemmanager? ( net-misc/modemmanager[qmi] ) policykit? ( >=sys-auth/polkit-0.103 ) sqlite? ( dev-db/sqlite ) systemd? ( >=sys-apps/systemd-211 ) uefi? ( sys-apps/fwupd-efi sys-boot/efibootmgr sys-fs/udisks sys-libs/efivar ) sys-apps/dbus sys-apps/baselayout
-REQUIRED_USE=^^ ( python_single_target_python2_7 python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 ) dell? ( uefi ) fastboot? ( gusb ) logitech? ( gusb ) minimal? ( !introspection ) spi? ( lzma ) synaptics? ( gnutls ) uefi? ( gnutls )
+PROPERTIES=live live
+RDEPEND=>=app-arch/gcab-1.0 app-arch/xz-utils >=dev-libs/glib-2.58:2 dev-libs/json-glib dev-libs/libgudev:= >=dev-libs/libjcat-0.1.0[gpg?,pkcs7?] >=dev-libs/libxmlb-0.1.13:=[introspection?] >=net-libs/libsoup-2.51.92:2.4[introspection?] net-misc/curl archive? ( app-arch/libarchive:= ) cbor? ( dev-libs/libcbor ) dell? ( >=app-crypt/tpm2-tss-2.0 >=sys-libs/libsmbios-2.4.0 ) elogind? ( >=sys-auth/elogind-211 ) flashrom? ( sys-apps/flashrom ) gnutls? ( net-libs/gnutls ) gusb? ( >=dev-libs/libgusb-0.3.5[introspection?] ) logitech? ( dev-libs/protobuf-c:= ) lzma? ( app-arch/xz-utils ) modemmanager? ( net-misc/modemmanager[qmi] ) policykit? ( >=sys-auth/polkit-0.114 ) sqlite? ( dev-db/sqlite ) systemd? ( >=sys-apps/systemd-211 ) uefi? ( sys-apps/fwupd-efi sys-boot/efibootmgr sys-fs/udisks sys-libs/efivar ) sys-apps/dbus sys-apps/baselayout
+REQUIRED_USE=dell? ( uefi ) fastboot? ( gusb ) logitech? ( gusb ) minimal? ( !introspection ) spi? ( lzma ) synaptics? ( gnutls ) uefi? ( gnutls )
 SLOT=0
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-r3	c8f4649ab5a3c07ee2b75b12bc446f6a	linux-info	327865b9921771330775d971263dc234	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	vala	2f3804278870542119da624a5eded505	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg	c7ba313ea1eaf266f95cc6235f7d6a07	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=3656a13c1880d8aa9a50f30a3f99e866
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	git-r3	c8f4649ab5a3c07ee2b75b12bc446f6a	linux-info	327865b9921771330775d971263dc234	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	xdg	c7ba313ea1eaf266f95cc6235f7d6a07	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=87c16df0747c3ee0d797978b3e9d6c9f
diff --git a/metadata/md5-cache/sys-apps/fwupd-9999 b/metadata/md5-cache/sys-apps/fwupd-9999
index 17cb2a6..258fed5 100644
--- a/metadata/md5-cache/sys-apps/fwupd-9999
+++ b/metadata/md5-cache/sys-apps/fwupd-9999
@@ -1,14 +1,15 @@
+BDEPEND=>=dev-util/meson-0.60.0 virtual/pkgconfig gtk-doc? ( dev-util/gtk-doc ) bash-completion? ( >=app-shells/bash-completion-2.0 ) introspection? ( dev-libs/gobject-introspection ) man? ( app-text/docbook-sgml-utils sys-apps/help2man ) dev-vcs/git >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array virtual/pkgconfig
 DEFINED_PHASES=compile configure info install postinst postrm preinst prepare setup test unpack
-DEPEND=>=app-arch/gcab-1.0 app-arch/xz-utils >=dev-libs/glib-2.58:2 dev-libs/json-glib dev-libs/libgudev:= >=dev-libs/libjcat-0.1.0[gpg?,pkcs7?] >=dev-libs/libxmlb-0.1.13:=[introspection?] >=net-libs/libsoup-2.51.92:2.4[introspection?] net-misc/curl archive? ( app-arch/libarchive:= ) dell? ( >=sys-libs/libsmbios-2.4.0 ) elogind? ( >=sys-auth/elogind-211 ) flashrom? ( sys-apps/flashrom ) gnutls? ( net-libs/gnutls ) gusb? ( >=dev-libs/libgusb-0.3.5[introspection?] ) logitech? ( dev-libs/protobuf-c:= ) lzma? ( app-arch/xz-utils ) modemmanager? ( net-misc/modemmanager[qmi] ) policykit? ( >=sys-auth/polkit-0.103 ) sqlite? ( dev-db/sqlite ) systemd? ( >=sys-apps/systemd-211 ) uefi? ( sys-apps/fwupd-efi sys-boot/efibootmgr sys-fs/udisks sys-libs/efivar ) x11-libs/pango || ( dev-lang/vala:0.36 dev-lang/vala:0.34 dev-lang/vala:0.32 ) python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) python_single_target_python2_7? ( dev-python/pygobject:3[cairo,python_targets_python2_7(-)] ) !<sci-chemistry/chemical-mime-data-0.1.94-r4 >=app-arch/gcab-1.0 app-arch/xz-utils >=dev-libs/glib-2.58:2 dev-libs/json-glib dev-libs/libgudev:= >=dev-libs/libjcat-0.1.0[gpg?,pkcs7?] >=dev-libs/libxmlb-0.1.13:=[introspection?] >=net-libs/libsoup-2.51.92:2.4[introspection?] net-misc/curl archive? ( app-arch/libarchive:= ) dell? ( >=sys-libs/libsmbios-2.4.0 ) elogind? ( >=sys-auth/elogind-211 ) flashrom? ( sys-apps/flashrom ) gnutls? ( net-libs/gnutls ) gusb? ( >=dev-libs/libgusb-0.3.5[introspection?] ) logitech? ( dev-libs/protobuf-c:= ) lzma? ( app-arch/xz-utils ) modemmanager? ( net-misc/modemmanager[qmi] ) policykit? ( >=sys-auth/polkit-0.103 ) sqlite? ( dev-db/sqlite ) systemd? ( >=sys-apps/systemd-211 ) uefi? ( sys-apps/fwupd-efi sys-boot/efibootmgr sys-fs/udisks sys-libs/efivar ) sys-apps/dbus >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array virtual/pkgconfig sys-apps/baselayout dev-util/desktop-file-utils x11-misc/shared-mime-info
+DEPEND=>=app-arch/gcab-1.0 app-arch/xz-utils >=dev-libs/glib-2.58:2 dev-libs/json-glib dev-libs/libgudev:= >=dev-libs/libjcat-0.1.0[gpg?,pkcs7?] >=dev-libs/libxmlb-0.1.13:=[introspection?] >=net-libs/libsoup-2.51.92:2.4[introspection?] net-misc/curl archive? ( app-arch/libarchive:= ) cbor? ( dev-libs/libcbor ) dell? ( >=app-crypt/tpm2-tss-2.0 >=sys-libs/libsmbios-2.4.0 ) elogind? ( >=sys-auth/elogind-211 ) flashrom? ( sys-apps/flashrom ) gnutls? ( net-libs/gnutls ) gusb? ( >=dev-libs/libgusb-0.3.5[introspection?] ) logitech? ( dev-libs/protobuf-c:= ) lzma? ( app-arch/xz-utils ) modemmanager? ( net-misc/modemmanager[qmi] ) policykit? ( >=sys-auth/polkit-0.114 ) sqlite? ( dev-db/sqlite ) systemd? ( >=sys-apps/systemd-211 ) uefi? ( sys-apps/fwupd-efi sys-boot/efibootmgr sys-fs/udisks sys-libs/efivar ) x11-libs/pango[introspection?] sys-apps/baselayout dev-util/desktop-file-utils x11-misc/shared-mime-info
 DESCRIPTION=Aims to make updating firmware on Linux automatic, safe and reliable
-EAPI=6
+EAPI=7
 HOMEPAGE=https://fwupd.org
-IUSE=agent amt archive bash-completion bluetooth dell +dummy elogind fastboot flashrom +gnutls gtk-doc +gusb +gpg gpio introspection logitech lzma +man minimal modemmanager nls nvme pkcs7 policykit spi +sqlite synaptics systemd test thunderbolt uefi cros_host cros_workon_tree_ kernel_linux python_single_target_python2_7 python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
+IUSE=agent amt +archive bash-completion bluetooth cbor cfm dell +dummy elogind fastboot flashrom +gnutls gtk-doc +gusb +gpg gpio introspection logitech lzma +man minimal modemmanager nls nvme pkcs7 policykit spi +sqlite synaptics systemd test thunderbolt uefi cros_host cros_workon_tree_ kernel_linux asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=LGPL-2.1+
 PROPERTIES=live
-RDEPEND=!<sci-chemistry/chemical-mime-data-0.1.94-r4 >=app-arch/gcab-1.0 app-arch/xz-utils >=dev-libs/glib-2.58:2 dev-libs/json-glib dev-libs/libgudev:= >=dev-libs/libjcat-0.1.0[gpg?,pkcs7?] >=dev-libs/libxmlb-0.1.13:=[introspection?] >=net-libs/libsoup-2.51.92:2.4[introspection?] net-misc/curl archive? ( app-arch/libarchive:= ) dell? ( >=sys-libs/libsmbios-2.4.0 ) elogind? ( >=sys-auth/elogind-211 ) flashrom? ( sys-apps/flashrom ) gnutls? ( net-libs/gnutls ) gusb? ( >=dev-libs/libgusb-0.3.5[introspection?] ) logitech? ( dev-libs/protobuf-c:= ) lzma? ( app-arch/xz-utils ) modemmanager? ( net-misc/modemmanager[qmi] ) policykit? ( >=sys-auth/polkit-0.103 ) sqlite? ( dev-db/sqlite ) systemd? ( >=sys-apps/systemd-211 ) uefi? ( sys-apps/fwupd-efi sys-boot/efibootmgr sys-fs/udisks sys-libs/efivar ) sys-apps/dbus sys-apps/baselayout
-REQUIRED_USE=^^ ( python_single_target_python2_7 python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 ) dell? ( uefi ) fastboot? ( gusb ) logitech? ( gusb ) minimal? ( !introspection ) spi? ( lzma ) synaptics? ( gnutls ) uefi? ( gnutls )
+RDEPEND=>=app-arch/gcab-1.0 app-arch/xz-utils >=dev-libs/glib-2.58:2 dev-libs/json-glib dev-libs/libgudev:= >=dev-libs/libjcat-0.1.0[gpg?,pkcs7?] >=dev-libs/libxmlb-0.1.13:=[introspection?] >=net-libs/libsoup-2.51.92:2.4[introspection?] net-misc/curl archive? ( app-arch/libarchive:= ) cbor? ( dev-libs/libcbor ) dell? ( >=app-crypt/tpm2-tss-2.0 >=sys-libs/libsmbios-2.4.0 ) elogind? ( >=sys-auth/elogind-211 ) flashrom? ( sys-apps/flashrom ) gnutls? ( net-libs/gnutls ) gusb? ( >=dev-libs/libgusb-0.3.5[introspection?] ) logitech? ( dev-libs/protobuf-c:= ) lzma? ( app-arch/xz-utils ) modemmanager? ( net-misc/modemmanager[qmi] ) policykit? ( >=sys-auth/polkit-0.114 ) sqlite? ( dev-db/sqlite ) systemd? ( >=sys-apps/systemd-211 ) uefi? ( sys-apps/fwupd-efi sys-boot/efibootmgr sys-fs/udisks sys-libs/efivar ) sys-apps/dbus sys-apps/baselayout
+REQUIRED_USE=dell? ( uefi ) fastboot? ( gusb ) logitech? ( gusb ) minimal? ( !introspection ) spi? ( lzma ) synaptics? ( gnutls ) uefi? ( gnutls )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	linux-info	327865b9921771330775d971263dc234	ltprune	2729691420b6deeda2a90b1f1183fb55	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	vala	2f3804278870542119da624a5eded505	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg	c7ba313ea1eaf266f95cc6235f7d6a07	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=6d914b6e82e949a6c57f6d0a2ae9b379
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	linux-info	327865b9921771330775d971263dc234	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621	xdg	c7ba313ea1eaf266f95cc6235f7d6a07	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=87c16df0747c3ee0d797978b3e9d6c9f
diff --git a/metadata/md5-cache/sys-apps/huddly-updater-0.0.1-r89 b/metadata/md5-cache/sys-apps/huddly-updater-0.0.1-r89
deleted file mode 100644
index 769fd2aa..0000000
--- a/metadata/md5-cache/sys-apps/huddly-updater-0.0.1-r89
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=configure info install preinst setup test unpack
-DEPEND=chromeos-base/libbrillo:= chromeos-base/cfm-dfu-notification:= dev-libs/msgpack:= virtual/libusb:1 virtual/libudev:0= test? ( dev-cpp/gtest:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] sys-apps/baselayout
-DESCRIPTION=A utility to update Huddly camera firmware
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/huddly-updater
-IUSE=test cros-debug cros_host cros_workon_tree_5d0195306496ae9db130e9156c214198eae85c93 cros-debug
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/libbrillo:= chromeos-base/cfm-dfu-notification:= dev-libs/msgpack:= virtual/libusb:1 virtual/libudev:0= app-arch/unzip >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] sys-apps/baselayout
-SLOT=0/0.0.1-r89
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=b6b6362a3b2965c571f1ecddb38c3b61
diff --git a/metadata/md5-cache/sys-apps/huddly-updater-0.0.1-r91 b/metadata/md5-cache/sys-apps/huddly-updater-0.0.1-r91
new file mode 100644
index 0000000..b0aec55
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/huddly-updater-0.0.1-r91
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=configure info install preinst setup test unpack
+DEPEND=chromeos-base/libbrillo:= chromeos-base/cfm-dfu-notification:= dev-libs/msgpack:= virtual/libusb:1 virtual/libudev:0= test? ( dev-cpp/gtest:= ) >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] sys-apps/baselayout
+DESCRIPTION=A utility to update Huddly camera firmware
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/huddly-updater
+IUSE=test cros-debug cros_host cros_workon_tree_faf17261fcf328a898e89b8ce79d648333087e07 cros-debug asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/libbrillo:= chromeos-base/cfm-dfu-notification:= dev-libs/msgpack:= virtual/libusb:1 virtual/libudev:0= app-arch/unzip >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] sys-apps/baselayout
+SLOT=0/0.0.1-r91
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=5b5c65c34a886087d90e8e694f86eafd
diff --git a/metadata/md5-cache/sys-apps/huddly-updater-9999 b/metadata/md5-cache/sys-apps/huddly-updater-9999
index cc2ee8f..49b4ab4 100644
--- a/metadata/md5-cache/sys-apps/huddly-updater-9999
+++ b/metadata/md5-cache/sys-apps/huddly-updater-9999
@@ -4,11 +4,11 @@
 DESCRIPTION=A utility to update Huddly camera firmware
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/huddly-updater
-IUSE=test cros-debug cros_host cros_workon_tree_ cros-debug
+IUSE=test cros-debug cros_host cros_workon_tree_ cros-debug asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 RDEPEND=chromeos-base/libbrillo:= chromeos-base/cfm-dfu-notification:= dev-libs/msgpack:= virtual/libusb:1 virtual/libudev:0= app-arch/unzip >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=a3fbd54ea7ccd17f77dc616d65129ceb
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=6ff85173592001d026dea887c1689858
diff --git a/metadata/md5-cache/sys-apps/hwdata-0.356 b/metadata/md5-cache/sys-apps/hwdata-0.356
new file mode 100644
index 0000000..a0e72a4
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/hwdata-0.356
@@ -0,0 +1,11 @@
+DEFINED_PHASES=configure install
+DESCRIPTION=Hardware identification and configuration data
+EAPI=7
+HOMEPAGE=https://github.com/vcrhonek/hwdata
+IUSE=+net +pci +usb
+KEYWORDS=*
+LICENSE=GPL-2+
+RDEPEND=!<sys-apps/hwids-20150717-r11
+SLOT=0
+SRC_URI=https://github.com/vcrhonek/hwdata/archive/refs/tags/v0.356.tar.gz -> hwdata-0.356.tar.gz
+_md5_=75adbb68b007b0eb5e5c14601ba77135
diff --git a/metadata/md5-cache/sys-apps/hwdata-0.356-r1 b/metadata/md5-cache/sys-apps/hwdata-0.356-r1
new file mode 100644
index 0000000..a0e72a4
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/hwdata-0.356-r1
@@ -0,0 +1,11 @@
+DEFINED_PHASES=configure install
+DESCRIPTION=Hardware identification and configuration data
+EAPI=7
+HOMEPAGE=https://github.com/vcrhonek/hwdata
+IUSE=+net +pci +usb
+KEYWORDS=*
+LICENSE=GPL-2+
+RDEPEND=!<sys-apps/hwids-20150717-r11
+SLOT=0
+SRC_URI=https://github.com/vcrhonek/hwdata/archive/refs/tags/v0.356.tar.gz -> hwdata-0.356.tar.gz
+_md5_=75adbb68b007b0eb5e5c14601ba77135
diff --git a/metadata/md5-cache/sys-apps/hwids-20150717 b/metadata/md5-cache/sys-apps/hwids-20150717
index e89d7fd..81953ce 100644
--- a/metadata/md5-cache/sys-apps/hwids-20150717
+++ b/metadata/md5-cache/sys-apps/hwids-20150717
@@ -3,11 +3,11 @@
 DESCRIPTION=Hardware (PCI, USB, OUI, IAB) IDs databases
 EAPI=5
 HOMEPAGE=https://github.com/gentoo/hwids
-IUSE=+net +pci +udev +usb +hwids-lite
+IUSE=+udev +hwids-lite
 KEYWORDS=*
 LICENSE=|| ( GPL-2 BSD ) public-domain
-RDEPEND=!<sys-apps/pciutils-3.1.9-r2 !<sys-apps/usbutils-005-r1
+RDEPEND=!<sys-apps/pciutils-3.1.9-r2 !<sys-apps/usbutils-005-r1 sys-apps/hwdata
 SLOT=0
 SRC_URI=https://github.com/gentoo/hwids/archive/hwids-20150717.tar.gz
 _eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=3a651a174fef3000aac6620a5d2591c8
+_md5_=58da24190483b61435714e5017472f3a
diff --git a/metadata/md5-cache/sys-apps/hwids-20150717-r10 b/metadata/md5-cache/sys-apps/hwids-20150717-r10
deleted file mode 100644
index e89d7fd..0000000
--- a/metadata/md5-cache/sys-apps/hwids-20150717-r10
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install prepare
-DEPEND=udev? ( dev-lang/perl >=virtual/udev-206 ) virtual/pkgconfig
-DESCRIPTION=Hardware (PCI, USB, OUI, IAB) IDs databases
-EAPI=5
-HOMEPAGE=https://github.com/gentoo/hwids
-IUSE=+net +pci +udev +usb +hwids-lite
-KEYWORDS=*
-LICENSE=|| ( GPL-2 BSD ) public-domain
-RDEPEND=!<sys-apps/pciutils-3.1.9-r2 !<sys-apps/usbutils-005-r1
-SLOT=0
-SRC_URI=https://github.com/gentoo/hwids/archive/hwids-20150717.tar.gz
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=3a651a174fef3000aac6620a5d2591c8
diff --git a/metadata/md5-cache/sys-apps/hwids-20150717-r13 b/metadata/md5-cache/sys-apps/hwids-20150717-r13
new file mode 100644
index 0000000..81953ce
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/hwids-20150717-r13
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install prepare
+DEPEND=udev? ( dev-lang/perl >=virtual/udev-206 ) virtual/pkgconfig
+DESCRIPTION=Hardware (PCI, USB, OUI, IAB) IDs databases
+EAPI=5
+HOMEPAGE=https://github.com/gentoo/hwids
+IUSE=+udev +hwids-lite
+KEYWORDS=*
+LICENSE=|| ( GPL-2 BSD ) public-domain
+RDEPEND=!<sys-apps/pciutils-3.1.9-r2 !<sys-apps/usbutils-005-r1 sys-apps/hwdata
+SLOT=0
+SRC_URI=https://github.com/gentoo/hwids/archive/hwids-20150717.tar.gz
+_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=58da24190483b61435714e5017472f3a
diff --git a/metadata/md5-cache/sys-apps/logitech-updater-0.0.1-r41 b/metadata/md5-cache/sys-apps/logitech-updater-0.0.1-r41
deleted file mode 100644
index 9c28ef3..0000000
--- a/metadata/md5-cache/sys-apps/logitech-updater-0.0.1-r41
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=configure info install preinst setup unpack
-DEPEND=chromeos-base/libbrillo:= virtual/libusb:1= chromeos-base/cfm-dfu-notification:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] sys-apps/baselayout
-DESCRIPTION=Logitech firmware updater
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/logitech-updater
-IUSE=cros-debug cros_host cros_workon_tree_912ab2e98679bf37e71d84053a75bc190a85c343 cros-debug
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-RDEPEND=chromeos-base/libbrillo:= virtual/libusb:1= chromeos-base/cfm-dfu-notification:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] sys-apps/baselayout
-SLOT=0/0.0.1-r41
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=60d13e39d083ec15877b194242ac3546
diff --git a/metadata/md5-cache/sys-apps/logitech-updater-0.0.1-r48 b/metadata/md5-cache/sys-apps/logitech-updater-0.0.1-r48
new file mode 100644
index 0000000..13aff7a
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/logitech-updater-0.0.1-r48
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=configure info install preinst setup unpack
+DEPEND=chromeos-base/libbrillo:= virtual/libusb:1= chromeos-base/cfm-dfu-notification:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] sys-apps/baselayout
+DESCRIPTION=Logitech firmware updater
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/logitech-updater
+IUSE=cros-debug cros_host cros_workon_tree_8f1392c9f181e0a2893a37f086c24d2566a4a0df cros-debug
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+RDEPEND=chromeos-base/libbrillo:= virtual/libusb:1= chromeos-base/cfm-dfu-notification:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] sys-apps/baselayout
+SLOT=0/0.0.1-r48
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=b2217fc34a24ff519c4190f781fc2373
diff --git a/metadata/md5-cache/sys-apps/logitech-updater-9999 b/metadata/md5-cache/sys-apps/logitech-updater-9999
index 0c98092..a7c6272 100644
--- a/metadata/md5-cache/sys-apps/logitech-updater-9999
+++ b/metadata/md5-cache/sys-apps/logitech-updater-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/libbrillo:= virtual/libusb:1= chromeos-base/cfm-dfu-notification:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
 _md5_=974889840fc65ee3d6f06bf6fbb18e0a
diff --git a/metadata/md5-cache/sys-apps/mimo-updater-0.0.1-r24 b/metadata/md5-cache/sys-apps/mimo-updater-0.0.1-r24
index 6a8d1b2..678f483 100644
--- a/metadata/md5-cache/sys-apps/mimo-updater-0.0.1-r24
+++ b/metadata/md5-cache/sys-apps/mimo-updater-0.0.1-r24
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/libbrillo:= virtual/libusb:1 virtual/libudev:0= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] sys-apps/baselayout
 SLOT=0/0.0.1-r24
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
 _md5_=7c6243281d9a756fc2ad521db0f5e498
diff --git a/metadata/md5-cache/sys-apps/mimo-updater-9999 b/metadata/md5-cache/sys-apps/mimo-updater-9999
index 2ea8144..aaf2858 100644
--- a/metadata/md5-cache/sys-apps/mimo-updater-9999
+++ b/metadata/md5-cache/sys-apps/mimo-updater-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/libbrillo:= virtual/libusb:1 virtual/libudev:0= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] sys-apps/baselayout
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
 _md5_=718682785f9c3f6a0b4362798c191264
diff --git a/metadata/md5-cache/sys-apps/mmc-utils-0.0.1-r23 b/metadata/md5-cache/sys-apps/mmc-utils-0.0.1-r23
deleted file mode 100644
index 9680e36..0000000
--- a/metadata/md5-cache/sys-apps/mmc-utils-0.0.1-r23
+++ /dev/null
@@ -1,12 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=configure info setup unpack
-DESCRIPTION=Userspace tools for MMC/SD devices
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/mmc-utils
-IUSE=static cros_host cros_workon_tree_ef12a78ebfea31de945ebbe2d56e405fea38258b
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=f52122d3ef6a76e02dd3b7e29b20adc3
diff --git a/metadata/md5-cache/sys-apps/mmc-utils-0.0.1-r24 b/metadata/md5-cache/sys-apps/mmc-utils-0.0.1-r24
new file mode 100644
index 0000000..801853e
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/mmc-utils-0.0.1-r24
@@ -0,0 +1,12 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=configure info setup unpack
+DESCRIPTION=Userspace tools for MMC/SD devices
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/mmc-utils
+IUSE=static cros_host cros_workon_tree_ef12a78ebfea31de945ebbe2d56e405fea38258b asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f0730ac33ce49642cd9d39643fa699b8
diff --git a/metadata/md5-cache/sys-apps/mmc-utils-9999 b/metadata/md5-cache/sys-apps/mmc-utils-9999
index c2c0616..4633d69 100644
--- a/metadata/md5-cache/sys-apps/mmc-utils-9999
+++ b/metadata/md5-cache/sys-apps/mmc-utils-9999
@@ -3,10 +3,10 @@
 DESCRIPTION=Userspace tools for MMC/SD devices
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/mmc-utils
-IUSE=static cros_host cros_workon_tree_
+IUSE=static cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=8fab2247ac0cd5d06565648b17884d15
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=972f5b7396d93d882894b644798eccab
diff --git a/metadata/md5-cache/sys-apps/mosys-1.2.3-r1381 b/metadata/md5-cache/sys-apps/mosys-1.2.3-r1381
deleted file mode 100644
index 0c9d4e2..0000000
--- a/metadata/md5-cache/sys-apps/mosys-1.2.3-r1381
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=>=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array chromeos-base/chromeos-config-host:= dev-vcs/git dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=vpd_file_cache? ( chromeos-base/vpd ) dev-util/cmocka chromeos-base/minijail:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
-DESCRIPTION=Utility for obtaining various bits of low-level system info
-EAPI=7
-HOMEPAGE=http://mosys.googlecode.com/
-IUSE=unibuild vpd_file_cache has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_f29b1322a436a469a1f42a3d87a4be3ca7423783 cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_a625767bb59509159091f2ab0b71f8b9b4b2e353_f29b1322a436a469a1f42a3d87a4be3ca7423783 compilation_database cros_host test
-KEYWORDS=*
-LICENSE=BSD-Google BSD Apache-2.0 MIT ISC Unlicense
-PROPERTIES=live live
-RDEPEND=vpd_file_cache? ( chromeos-base/vpd ) dev-util/cmocka chromeos-base/minijail:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	platform	3cd45e0ec06b0edbdb2db25321182570	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=74ef4c89b1cec4840e45a45ec2299532
diff --git a/metadata/md5-cache/sys-apps/mosys-1.2.3-r1455 b/metadata/md5-cache/sys-apps/mosys-1.2.3-r1455
new file mode 100644
index 0000000..0ffb08e
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/mosys-1.2.3-r1455
@@ -0,0 +1,15 @@
+BDEPEND=>=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array chromeos-base/chromeos-config-host:= dev-vcs/git dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=vpd_file_cache? ( chromeos-base/vpd ) dev-util/cmocka chromeos-base/minijail:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
+DESCRIPTION=Utility for obtaining various bits of low-level system info
+EAPI=7
+HOMEPAGE=http://mosys.googlecode.com/
+IUSE=unibuild vpd_file_cache mosys_platform_asuka mosys_platform_asurada mosys_platform_caroline mosys_platform_cave mosys_platform_chell mosys_platform_cherry mosys_platform_coral mosys_platform_corsola mosys_platform_dedede mosys_platform_fizz mosys_platform_generic mosys_platform_glados mosys_platform_gru mosys_platform_grunt mosys_platform_hatch mosys_platform_herobrine mosys_platform_kalista mosys_platform_kukui mosys_platform_lars mosys_platform_oak mosys_platform_octopus mosys_platform_poppy mosys_platform_puff mosys_platform_reef mosys_platform_sarien mosys_platform_sentry mosys_platform_strago mosys_platform_trogdor mosys_platform_volteer mosys_platform_zork has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_1ea13e9e3e2cc1fabd9775806e986787d736562b cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_60fa47aebd6ebfb702012849bd560717fceddcd4_1ea13e9e3e2cc1fabd9775806e986787d736562b compdb_only compilation_database cros_host test
+KEYWORDS=*
+LICENSE=BSD-Google BSD Apache-2.0 MIT ISC Unlicense
+PROPERTIES=live live
+RDEPEND=vpd_file_cache? ( chromeos-base/vpd ) dev-util/cmocka chromeos-base/minijail:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
+REQUIRED_USE=^^ ( mosys_platform_asuka mosys_platform_asurada mosys_platform_caroline mosys_platform_cave mosys_platform_chell mosys_platform_cherry mosys_platform_coral mosys_platform_corsola mosys_platform_dedede mosys_platform_fizz mosys_platform_generic mosys_platform_glados mosys_platform_gru mosys_platform_grunt mosys_platform_hatch mosys_platform_herobrine mosys_platform_kalista mosys_platform_kukui mosys_platform_lars mosys_platform_oak mosys_platform_octopus mosys_platform_poppy mosys_platform_puff mosys_platform_reef mosys_platform_sarien mosys_platform_sentry mosys_platform_strago mosys_platform_trogdor mosys_platform_volteer mosys_platform_zork )
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	platform	a80df34f81b607c669a3f1b15e3a6e06	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ce8421768d84116ed3bd9b8c5a3d7562
diff --git a/metadata/md5-cache/sys-apps/mosys-9999 b/metadata/md5-cache/sys-apps/mosys-9999
index ed9f08e..d71f147 100644
--- a/metadata/md5-cache/sys-apps/mosys-9999
+++ b/metadata/md5-cache/sys-apps/mosys-9999
@@ -1,14 +1,15 @@
-BDEPEND=>=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array chromeos-base/chromeos-config-host:= dev-vcs/git dev-vcs/git
+BDEPEND=>=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array chromeos-base/chromeos-config-host:= dev-vcs/git dev-vcs/git
 DEFINED_PHASES=compile configure info install setup test unpack
 DEPEND=vpd_file_cache? ( chromeos-base/vpd ) dev-util/cmocka chromeos-base/minijail:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) cros_host? ( dev-util/gn ) >=dev-cpp/gtest-1.10.0:=
 DESCRIPTION=Utility for obtaining various bits of low-level system info
 EAPI=7
 HOMEPAGE=http://mosys.googlecode.com/
-IUSE=unibuild vpd_file_cache has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ compilation_database cros_host test
+IUSE=unibuild vpd_file_cache mosys_platform_asuka mosys_platform_asurada mosys_platform_caroline mosys_platform_cave mosys_platform_chell mosys_platform_cherry mosys_platform_coral mosys_platform_corsola mosys_platform_dedede mosys_platform_fizz mosys_platform_generic mosys_platform_glados mosys_platform_gru mosys_platform_grunt mosys_platform_hatch mosys_platform_herobrine mosys_platform_kalista mosys_platform_kukui mosys_platform_lars mosys_platform_oak mosys_platform_octopus mosys_platform_poppy mosys_platform_puff mosys_platform_reef mosys_platform_sarien mosys_platform_sentry mosys_platform_strago mosys_platform_trogdor mosys_platform_volteer mosys_platform_zork has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host cros_workon_tree_ cros-debug fuzzer asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ compdb_only compilation_database cros_host test
 KEYWORDS=~*
 LICENSE=BSD-Google BSD Apache-2.0 MIT ISC Unlicense
 PROPERTIES=live live
 RDEPEND=vpd_file_cache? ( chromeos-base/vpd ) dev-util/cmocka chromeos-base/minijail:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
+REQUIRED_USE=^^ ( mosys_platform_asuka mosys_platform_asurada mosys_platform_caroline mosys_platform_cave mosys_platform_chell mosys_platform_cherry mosys_platform_coral mosys_platform_corsola mosys_platform_dedede mosys_platform_fizz mosys_platform_generic mosys_platform_glados mosys_platform_gru mosys_platform_grunt mosys_platform_hatch mosys_platform_herobrine mosys_platform_kalista mosys_platform_kukui mosys_platform_lars mosys_platform_oak mosys_platform_octopus mosys_platform_poppy mosys_platform_puff mosys_platform_reef mosys_platform_sarien mosys_platform_sentry mosys_platform_strago mosys_platform_trogdor mosys_platform_volteer mosys_platform_zork )
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	platform	3cd45e0ec06b0edbdb2db25321182570	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=495813b720cdc83105109fb4cdeb7cae
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	platform	a80df34f81b607c669a3f1b15e3a6e06	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e6fd39d3367e5404aa38bb8b03e4e347
diff --git a/metadata/md5-cache/sys-apps/novatek-tcon-fw-update-tool-0.0.1-r4 b/metadata/md5-cache/sys-apps/novatek-tcon-fw-update-tool-0.0.1-r4
index 2e8b6c7..ea3874a 100644
--- a/metadata/md5-cache/sys-apps/novatek-tcon-fw-update-tool-0.0.1-r4
+++ b/metadata/md5-cache/sys-apps/novatek-tcon-fw-update-tool-0.0.1-r4
@@ -7,5 +7,5 @@
 LICENSE=BSD
 PROPERTIES=live
 SLOT=0
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=acdbafba030e35c05b23e33cf4e355ad
diff --git a/metadata/md5-cache/sys-apps/novatek-tcon-fw-update-tool-9999 b/metadata/md5-cache/sys-apps/novatek-tcon-fw-update-tool-9999
index 9276c34..18ea449 100644
--- a/metadata/md5-cache/sys-apps/novatek-tcon-fw-update-tool-9999
+++ b/metadata/md5-cache/sys-apps/novatek-tcon-fw-update-tool-9999
@@ -7,5 +7,5 @@
 LICENSE=BSD
 PROPERTIES=live
 SLOT=0
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=4d4316d8817806476dc36b05dec1a1c5
diff --git a/metadata/md5-cache/sys-apps/portage-2.3.75-r121 b/metadata/md5-cache/sys-apps/portage-2.3.75-r121
new file mode 100644
index 0000000..8b76efd
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/portage-2.3.75-r121
@@ -0,0 +1,15 @@
+DEFINED_PHASES=compile configure info install preinst prepare setup test unpack
+DEPEND=!build? ( python_targets_python3_6? ( dev-lang/python:3.6[ssl(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[ssl(+)] ) python_targets_python3_8? ( dev-lang/python:3.8[ssl(+)] ) python_targets_python3_9? ( dev-lang/python:3.9[ssl(+)] ) ) >=app-arch/tar-1.27 dev-lang/python-exec:2 >=sys-apps/sed-4.0.5 sys-devel/patch doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) python_targets_python3_6? ( dev-lang/python:3.6[bzip2(+),threads(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[bzip2(+),threads(+)] ) python_targets_python3_8? ( dev-lang/python:3.8[bzip2(+),threads(+)] ) python_targets_python3_9? ( dev-lang/python:3.9[bzip2(+),threads(+)] ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] virtual/pkgconfig
+DESCRIPTION=Portage is the package management and distribution system for Gentoo
+EAPI=5
+HOMEPAGE=https://wiki.gentoo.org/wiki/Project:Portage
+IUSE=build doc epydoc gentoo-dev +ipc +native-extensions -rsync-verify selinux xattr python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 cros_host cros_workon_tree_8ba40f0d294397dbb028317bf624a44d2ab9c78b
+KEYWORDS=*
+LICENSE=GPL-2
+PDEPEND=!build? ( >=net-misc/rsync-2.6.4 userland_GNU? ( >=sys-apps/coreutils-6.4 ) )
+PROPERTIES=live
+RDEPEND=>=app-arch/tar-1.27 dev-lang/python-exec:2 !build? ( >=sys-apps/sed-4.0.5 app-shells/bash:0[readline] >=app-admin/eselect-1.2 rsync-verify? ( >=app-portage/gemato-14[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=app-crypt/openpgp-keys-gentoo-release-20180706 >=app-crypt/gnupg-2.2.4-r2[ssl(-)] ) ) elibc_FreeBSD? ( sys-freebsd/freebsd-bin ) elibc_glibc? ( >=sys-apps/sandbox-2.2 ) elibc_musl? ( >=sys-apps/sandbox-2.2 ) elibc_uclibc? ( >=sys-apps/sandbox-2.2 ) >=app-misc/pax-utils-0.1.17 selinux? ( >=sys-libs/libselinux-2.0.94[python,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) xattr? ( kernel_linux? ( >=sys-apps/install-xattr-0.3 ) ) !<app-portage/gentoolkit-0.3.0.8-r4 !<app-admin/logrotate-3.8.0 !<app-portage/repoman-2.3.10 python_targets_python3_6? ( dev-lang/python:3.6[bzip2(+),threads(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[bzip2(+),threads(+)] ) python_targets_python3_8? ( dev-lang/python:3.8[bzip2(+),threads(+)] ) python_targets_python3_9? ( dev-lang/python:3.9[bzip2(+),threads(+)] ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=1d6e143a5500180aa2db5dce1c578948
diff --git a/metadata/md5-cache/sys-apps/portage-3.0.21-r73 b/metadata/md5-cache/sys-apps/portage-3.0.21-r73
deleted file mode 100644
index c605f1d..0000000
--- a/metadata/md5-cache/sys-apps/portage-3.0.21-r73
+++ /dev/null
@@ -1,17 +0,0 @@
-BDEPEND=app-arch/xz-utils test? ( dev-vcs/git ) python_targets_pypy3? ( >=dev-python/pypy3-7.3.0:0=[bzip2(+),threads(+)] ) python_targets_python3_6? ( dev-lang/python:3.6[bzip2(+),threads(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[bzip2(+),threads(+)] ) python_targets_python3_8? ( dev-lang/python:3.8[bzip2(+),threads(+)] ) python_targets_python3_9? ( dev-lang/python:3.9[bzip2(+),threads(+)] ) >=dev-lang/python-exec-2:=[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst prepare pretend setup test unpack
-DEPEND=!build? ( python_targets_pypy3? ( >=dev-python/pypy3-7.3.0:0=[ssl(+)] ) python_targets_python3_6? ( dev-lang/python:3.6[ssl(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[ssl(+)] ) python_targets_python3_8? ( dev-lang/python:3.8[ssl(+)] ) python_targets_python3_9? ( dev-lang/python:3.9[ssl(+)] ) ) >=app-arch/tar-1.27 dev-lang/python-exec:2 >=sys-apps/sed-4.0.5 sys-devel/patch doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) apidoc? ( dev-python/sphinx dev-python/sphinx-epytext )
-DESCRIPTION=The package management and distribution system for Gentoo
-EAPI=7
-HOMEPAGE=https://wiki.gentoo.org/wiki/Project:Portage
-IUSE=apidoc build doc gentoo-dev +ipc +native-extensions -rsync-verify selinux test xattr python_targets_pypy3 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 kernel_linux cros_host cros_workon_tree_75dcd201cb6c78647dd0b9b892e74a15346db388
-KEYWORDS=*
-LICENSE=GPL-2
-PDEPEND=!build? ( >=net-misc/rsync-2.6.4 userland_GNU? ( >=sys-apps/coreutils-6.4 ) )
-PROPERTIES=live
-RDEPEND=app-arch/zstd >=app-arch/tar-1.27 dev-lang/python-exec:2 >=sys-apps/findutils-4.4 !build? ( >=sys-apps/sed-4.0.5 app-shells/bash:0[readline] >=app-admin/eselect-1.2 rsync-verify? ( >=app-portage/gemato-14.5[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=app-crypt/openpgp-keys-gentoo-release-20180706 >=app-crypt/gnupg-2.2.4-r2[ssl(-)] ) ) elibc_glibc? ( >=sys-apps/sandbox-2.2 ) elibc_musl? ( >=sys-apps/sandbox-2.2 ) elibc_uclibc? ( >=sys-apps/sandbox-2.2 ) kernel_linux? ( sys-apps/util-linux ) >=app-misc/pax-utils-0.1.17 selinux? ( >=sys-libs/libselinux-2.0.94[python,python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) xattr? ( kernel_linux? ( >=sys-apps/install-xattr-0.3 ) ) !<app-admin/logrotate-3.8.0 !<app-portage/gentoolkit-0.4.6 !<app-portage/repoman-2.3.10 !~app-portage/repoman-3.0.0 python_targets_pypy3? ( >=dev-python/pypy3-7.3.0:0=[bzip2(+),threads(+)] ) python_targets_python3_6? ( dev-lang/python:3.6[bzip2(+),threads(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[bzip2(+),threads(+)] ) python_targets_python3_8? ( dev-lang/python:3.8[bzip2(+),threads(+)] ) python_targets_python3_9? ( dev-lang/python:3.9[bzip2(+),threads(+)] ) >=dev-lang/python-exec-2:=[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] virtual/tmpfiles
-REQUIRED_USE=|| ( python_targets_pypy3 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
-RESTRICT=!test? ( test )
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	linux-info	327865b9921771330775d971263dc234	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	prefix	e51c7882b7b721e54e684f7eb143cbfe	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=b59f909e3349ce09bbb66fe19bb7f2de
diff --git a/metadata/md5-cache/sys-apps/portage-9999 b/metadata/md5-cache/sys-apps/portage-9999
index bafcc6c..563f2e7 100644
--- a/metadata/md5-cache/sys-apps/portage-9999
+++ b/metadata/md5-cache/sys-apps/portage-9999
@@ -1,17 +1,15 @@
-BDEPEND=app-arch/xz-utils test? ( dev-vcs/git ) python_targets_pypy3? ( >=dev-python/pypy3-7.3.0:0=[bzip2(+),threads(+)] ) python_targets_python3_6? ( dev-lang/python:3.6[bzip2(+),threads(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[bzip2(+),threads(+)] ) python_targets_python3_8? ( dev-lang/python:3.8[bzip2(+),threads(+)] ) python_targets_python3_9? ( dev-lang/python:3.9[bzip2(+),threads(+)] ) >=dev-lang/python-exec-2:=[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git
-DEFINED_PHASES=compile configure info install preinst prepare pretend setup test unpack
-DEPEND=!build? ( python_targets_pypy3? ( >=dev-python/pypy3-7.3.0:0=[ssl(+)] ) python_targets_python3_6? ( dev-lang/python:3.6[ssl(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[ssl(+)] ) python_targets_python3_8? ( dev-lang/python:3.8[ssl(+)] ) python_targets_python3_9? ( dev-lang/python:3.9[ssl(+)] ) ) >=app-arch/tar-1.27 dev-lang/python-exec:2 >=sys-apps/sed-4.0.5 sys-devel/patch doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) apidoc? ( dev-python/sphinx dev-python/sphinx-epytext )
-DESCRIPTION=The package management and distribution system for Gentoo
-EAPI=7
+DEFINED_PHASES=compile configure info install preinst prepare setup test unpack
+DEPEND=!build? ( python_targets_python3_6? ( dev-lang/python:3.6[ssl(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[ssl(+)] ) python_targets_python3_8? ( dev-lang/python:3.8[ssl(+)] ) python_targets_python3_9? ( dev-lang/python:3.9[ssl(+)] ) ) >=app-arch/tar-1.27 dev-lang/python-exec:2 >=sys-apps/sed-4.0.5 sys-devel/patch doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) python_targets_python3_6? ( dev-lang/python:3.6[bzip2(+),threads(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[bzip2(+),threads(+)] ) python_targets_python3_8? ( dev-lang/python:3.8[bzip2(+),threads(+)] ) python_targets_python3_9? ( dev-lang/python:3.9[bzip2(+),threads(+)] ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] virtual/pkgconfig
+DESCRIPTION=Portage is the package management and distribution system for Gentoo
+EAPI=5
 HOMEPAGE=https://wiki.gentoo.org/wiki/Project:Portage
-IUSE=apidoc build doc gentoo-dev +ipc +native-extensions -rsync-verify selinux test xattr python_targets_pypy3 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 kernel_linux cros_host cros_workon_tree_
+IUSE=build doc epydoc gentoo-dev +ipc +native-extensions -rsync-verify selinux xattr python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=GPL-2
 PDEPEND=!build? ( >=net-misc/rsync-2.6.4 userland_GNU? ( >=sys-apps/coreutils-6.4 ) )
 PROPERTIES=live
-RDEPEND=app-arch/zstd >=app-arch/tar-1.27 dev-lang/python-exec:2 >=sys-apps/findutils-4.4 !build? ( >=sys-apps/sed-4.0.5 app-shells/bash:0[readline] >=app-admin/eselect-1.2 rsync-verify? ( >=app-portage/gemato-14.5[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=app-crypt/openpgp-keys-gentoo-release-20180706 >=app-crypt/gnupg-2.2.4-r2[ssl(-)] ) ) elibc_glibc? ( >=sys-apps/sandbox-2.2 ) elibc_musl? ( >=sys-apps/sandbox-2.2 ) elibc_uclibc? ( >=sys-apps/sandbox-2.2 ) kernel_linux? ( sys-apps/util-linux ) >=app-misc/pax-utils-0.1.17 selinux? ( >=sys-libs/libselinux-2.0.94[python,python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) xattr? ( kernel_linux? ( >=sys-apps/install-xattr-0.3 ) ) !<app-admin/logrotate-3.8.0 !<app-portage/gentoolkit-0.4.6 !<app-portage/repoman-2.3.10 !~app-portage/repoman-3.0.0 python_targets_pypy3? ( >=dev-python/pypy3-7.3.0:0=[bzip2(+),threads(+)] ) python_targets_python3_6? ( dev-lang/python:3.6[bzip2(+),threads(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[bzip2(+),threads(+)] ) python_targets_python3_8? ( dev-lang/python:3.8[bzip2(+),threads(+)] ) python_targets_python3_9? ( dev-lang/python:3.9[bzip2(+),threads(+)] ) >=dev-lang/python-exec-2:=[python_targets_pypy3(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_pypy3(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] virtual/tmpfiles
-REQUIRED_USE=|| ( python_targets_pypy3 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
-RESTRICT=!test? ( test )
+RDEPEND=>=app-arch/tar-1.27 dev-lang/python-exec:2 !build? ( >=sys-apps/sed-4.0.5 app-shells/bash:0[readline] >=app-admin/eselect-1.2 rsync-verify? ( >=app-portage/gemato-14[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] >=app-crypt/openpgp-keys-gentoo-release-20180706 >=app-crypt/gnupg-2.2.4-r2[ssl(-)] ) ) elibc_FreeBSD? ( sys-freebsd/freebsd-bin ) elibc_glibc? ( >=sys-apps/sandbox-2.2 ) elibc_musl? ( >=sys-apps/sandbox-2.2 ) elibc_uclibc? ( >=sys-apps/sandbox-2.2 ) >=app-misc/pax-utils-0.1.17 selinux? ( >=sys-libs/libselinux-2.0.94[python,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) xattr? ( kernel_linux? ( >=sys-apps/install-xattr-0.3 ) ) !<app-portage/gentoolkit-0.3.0.8-r4 !<app-admin/logrotate-3.8.0 !<app-portage/repoman-2.3.10 python_targets_python3_6? ( dev-lang/python:3.6[bzip2(+),threads(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[bzip2(+),threads(+)] ) python_targets_python3_8? ( dev-lang/python:3.8[bzip2(+),threads(+)] ) python_targets_python3_9? ( dev-lang/python:3.9[bzip2(+),threads(+)] ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	linux-info	327865b9921771330775d971263dc234	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	prefix	e51c7882b7b721e54e684f7eb143cbfe	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	tmpfiles	6170dc7770585fb3f16efdee789a3218	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a2e9b6da3733f65726d9b215238e817a
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=10bc9c601e8d3a2bfdb2be956e61fd1f
diff --git a/metadata/md5-cache/sys-apps/rootdev-0.0.1-r38 b/metadata/md5-cache/sys-apps/rootdev-0.0.1-r38
deleted file mode 100644
index 04affd9..0000000
--- a/metadata/md5-cache/sys-apps/rootdev-0.0.1-r38
+++ /dev/null
@@ -1,12 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install setup test unpack
-DESCRIPTION=Chrome OS root block device tool/library
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/rootdev/
-IUSE=-asan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_40c0bf77fe822e8e504d99f2ef90f3e3c5b58084
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-SLOT=0/0.0.1-r38
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=1827beb65bf63b3d07043e147548aef1
diff --git a/metadata/md5-cache/sys-apps/rootdev-0.0.1-r39 b/metadata/md5-cache/sys-apps/rootdev-0.0.1-r39
new file mode 100644
index 0000000..20b557f
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/rootdev-0.0.1-r39
@@ -0,0 +1,12 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install setup test unpack
+DESCRIPTION=Chrome OS root block device tool/library
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/rootdev/
+IUSE=-asan asan coverage fuzzer msan tsan ubsan cros_host cros_workon_tree_ee2f5c32bfa246ab0fb01de8d8b29b1a65f227c1
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+SLOT=0/0.0.1-r39
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e1f8863c135f89789ab9416bd64ec780
diff --git a/metadata/md5-cache/sys-apps/rootdev-9999 b/metadata/md5-cache/sys-apps/rootdev-9999
index 5013b10..729beb1 100644
--- a/metadata/md5-cache/sys-apps/rootdev-9999
+++ b/metadata/md5-cache/sys-apps/rootdev-9999
@@ -8,5 +8,5 @@
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=78b665735a7c322c64bc6492fa0499bb
diff --git a/metadata/md5-cache/sys-apps/rust-analyzer-2022.06.06 b/metadata/md5-cache/sys-apps/rust-analyzer-2022.06.06
new file mode 100644
index 0000000..0710588
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/rust-analyzer-2022.06.06
@@ -0,0 +1,12 @@
+BDEPEND=virtual/pkgconfig >=virtual/rust-1.37.0
+DEFINED_PHASES=compile install test unpack
+DESCRIPTION=an implementation of the Language Server Protocol for the Rust programming languages
+EAPI=7
+HOMEPAGE=https://github.com/rust-lang/rust-analyzer
+IUSE=debug
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+SLOT=0
+SRC_URI=https://github.com/rust-lang/rust-analyzer/archive/refs/tags/2022-06-06.tar.gz -> rust-analyzer-2022.06.06.tar.gz https://crates.io/api/v1/crates/addr2line/0.17.0/download -> addr2line-0.17.0.crate https://crates.io/api/v1/crates/adler/1.0.2/download -> adler-1.0.2.crate https://crates.io/api/v1/crates/always-assert/0.1.2/download -> always-assert-0.1.2.crate https://crates.io/api/v1/crates/ansi_term/0.12.1/download -> ansi_term-0.12.1.crate https://crates.io/api/v1/crates/anyhow/1.0.57/download -> anyhow-1.0.57.crate https://crates.io/api/v1/crates/anymap/0.12.1/download -> anymap-0.12.1.crate https://crates.io/api/v1/crates/arbitrary/1.1.0/download -> arbitrary-1.1.0.crate https://crates.io/api/v1/crates/arrayvec/0.7.2/download -> arrayvec-0.7.2.crate https://crates.io/api/v1/crates/atty/0.2.14/download -> atty-0.2.14.crate https://crates.io/api/v1/crates/autocfg/1.1.0/download -> autocfg-1.1.0.crate https://crates.io/api/v1/crates/backtrace/0.3.65/download -> backtrace-0.3.65.crate https://crates.io/api/v1/crates/bitflags/1.3.2/download -> bitflags-1.3.2.crate https://crates.io/api/v1/crates/camino/1.0.8/download -> camino-1.0.8.crate https://crates.io/api/v1/crates/cargo-platform/0.1.2/download -> cargo-platform-0.1.2.crate https://crates.io/api/v1/crates/cargo_metadata/0.14.2/download -> cargo_metadata-0.14.2.crate https://crates.io/api/v1/crates/cc/1.0.73/download -> cc-1.0.73.crate https://crates.io/api/v1/crates/cfg-if/1.0.0/download -> cfg-if-1.0.0.crate https://crates.io/api/v1/crates/chalk-derive/0.82.0/download -> chalk-derive-0.82.0.crate https://crates.io/api/v1/crates/chalk-ir/0.82.0/download -> chalk-ir-0.82.0.crate https://crates.io/api/v1/crates/chalk-recursive/0.82.0/download -> chalk-recursive-0.82.0.crate https://crates.io/api/v1/crates/chalk-solve/0.82.0/download -> chalk-solve-0.82.0.crate https://crates.io/api/v1/crates/countme/3.0.1/download -> countme-3.0.1.crate https://crates.io/api/v1/crates/cov-mark/2.0.0-pre.1/download -> cov-mark-2.0.0-pre.1.crate https://crates.io/api/v1/crates/crc32fast/1.3.2/download -> crc32fast-1.3.2.crate https://crates.io/api/v1/crates/crossbeam-channel/0.5.0/download -> crossbeam-channel-0.5.0.crate https://crates.io/api/v1/crates/crossbeam-channel/0.5.4/download -> crossbeam-channel-0.5.4.crate https://crates.io/api/v1/crates/crossbeam-deque/0.8.1/download -> crossbeam-deque-0.8.1.crate https://crates.io/api/v1/crates/crossbeam-epoch/0.9.8/download -> crossbeam-epoch-0.9.8.crate https://crates.io/api/v1/crates/crossbeam-utils/0.8.8/download -> crossbeam-utils-0.8.8.crate https://crates.io/api/v1/crates/dashmap/5.2.0/download -> dashmap-5.2.0.crate https://crates.io/api/v1/crates/derive_arbitrary/1.1.0/download -> derive_arbitrary-1.1.0.crate https://crates.io/api/v1/crates/dissimilar/1.0.4/download -> dissimilar-1.0.4.crate https://crates.io/api/v1/crates/dot/0.1.4/download -> dot-0.1.4.crate https://crates.io/api/v1/crates/drop_bomb/0.1.5/download -> drop_bomb-0.1.5.crate https://crates.io/api/v1/crates/either/1.6.1/download -> either-1.6.1.crate https://crates.io/api/v1/crates/ena/0.14.0/download -> ena-0.14.0.crate https://crates.io/api/v1/crates/expect-test/1.2.2/download -> expect-test-1.2.2.crate https://crates.io/api/v1/crates/filetime/0.2.16/download -> filetime-0.2.16.crate https://crates.io/api/v1/crates/fixedbitset/0.2.0/download -> fixedbitset-0.2.0.crate https://crates.io/api/v1/crates/flate2/1.0.23/download -> flate2-1.0.23.crate https://crates.io/api/v1/crates/form_urlencoded/1.0.1/download -> form_urlencoded-1.0.1.crate https://crates.io/api/v1/crates/fs_extra/1.2.0/download -> fs_extra-1.2.0.crate https://crates.io/api/v1/crates/fsevent-sys/4.1.0/download -> fsevent-sys-4.1.0.crate https://crates.io/api/v1/crates/fst/0.4.7/download -> fst-0.4.7.crate https://crates.io/api/v1/crates/gimli/0.26.1/download -> gimli-0.26.1.crate https://crates.io/api/v1/crates/hashbrown/0.11.2/download -> hashbrown-0.11.2.crate https://crates.io/api/v1/crates/hashbrown/0.12.1/download -> hashbrown-0.12.1.crate https://crates.io/api/v1/crates/heck/0.3.3/download -> heck-0.3.3.crate https://crates.io/api/v1/crates/hermit-abi/0.1.19/download -> hermit-abi-0.1.19.crate https://crates.io/api/v1/crates/home/0.5.3/download -> home-0.5.3.crate https://crates.io/api/v1/crates/idna/0.2.3/download -> idna-0.2.3.crate https://crates.io/api/v1/crates/indexmap/1.8.1/download -> indexmap-1.8.1.crate https://crates.io/api/v1/crates/inotify/0.9.6/download -> inotify-0.9.6.crate https://crates.io/api/v1/crates/inotify-sys/0.1.5/download -> inotify-sys-0.1.5.crate https://crates.io/api/v1/crates/instant/0.1.12/download -> instant-0.1.12.crate https://crates.io/api/v1/crates/itertools/0.10.3/download -> itertools-0.10.3.crate https://crates.io/api/v1/crates/itoa/1.0.2/download -> itoa-1.0.2.crate https://crates.io/api/v1/crates/jod-thread/0.1.2/download -> jod-thread-0.1.2.crate https://crates.io/api/v1/crates/kqueue/1.0.6/download -> kqueue-1.0.6.crate https://crates.io/api/v1/crates/kqueue-sys/1.0.3/download -> kqueue-sys-1.0.3.crate https://crates.io/api/v1/crates/lazy_static/1.4.0/download -> lazy_static-1.4.0.crate https://crates.io/api/v1/crates/libc/0.2.126/download -> libc-0.2.126.crate https://crates.io/api/v1/crates/libloading/0.7.3/download -> libloading-0.7.3.crate https://crates.io/api/v1/crates/libmimalloc-sys/0.1.25/download -> libmimalloc-sys-0.1.25.crate https://crates.io/api/v1/crates/lock_api/0.4.7/download -> lock_api-0.4.7.crate https://crates.io/api/v1/crates/log/0.4.17/download -> log-0.4.17.crate https://crates.io/api/v1/crates/lsp-server/0.6.0/download -> lsp-server-0.6.0.crate https://crates.io/api/v1/crates/lsp-types/0.93.0/download -> lsp-types-0.93.0.crate https://crates.io/api/v1/crates/matchers/0.1.0/download -> matchers-0.1.0.crate https://crates.io/api/v1/crates/matches/0.1.9/download -> matches-0.1.9.crate https://crates.io/api/v1/crates/memchr/2.5.0/download -> memchr-2.5.0.crate https://crates.io/api/v1/crates/memmap2/0.5.3/download -> memmap2-0.5.3.crate https://crates.io/api/v1/crates/memoffset/0.6.5/download -> memoffset-0.6.5.crate https://crates.io/api/v1/crates/mimalloc/0.1.29/download -> mimalloc-0.1.29.crate https://crates.io/api/v1/crates/miniz_oxide/0.5.1/download -> miniz_oxide-0.5.1.crate https://crates.io/api/v1/crates/mio/0.8.3/download -> mio-0.8.3.crate https://crates.io/api/v1/crates/miow/0.4.0/download -> miow-0.4.0.crate https://crates.io/api/v1/crates/notify/5.0.0-pre.15/download -> notify-5.0.0-pre.15.crate https://crates.io/api/v1/crates/num_cpus/1.13.1/download -> num_cpus-1.13.1.crate https://crates.io/api/v1/crates/num_cpus/1.13.1/download -> num_cpus-1.13.1.crate https://crates.io/api/v1/crates/object/0.28.4/download -> object-0.28.4.crate https://crates.io/api/v1/crates/once_cell/1.11.0/download -> once_cell-1.11.0.crate https://crates.io/api/v1/crates/oorandom/11.1.3/download -> oorandom-11.1.3.crate https://crates.io/api/v1/crates/parking_lot/0.11.2/download -> parking_lot-0.11.2.crate https://crates.io/api/v1/crates/parking_lot/0.12.0/download -> parking_lot-0.12.0.crate https://crates.io/api/v1/crates/parking_lot_core/0.8.5/download -> parking_lot_core-0.8.5.crate https://crates.io/api/v1/crates/parking_lot_core/0.9.3/download -> parking_lot_core-0.9.3.crate https://crates.io/api/v1/crates/paste/1.0.7/download -> paste-1.0.7.crate https://crates.io/api/v1/crates/percent-encoding/2.1.0/download -> percent-encoding-2.1.0.crate https://crates.io/api/v1/crates/perf-event/0.4.7/download -> perf-event-0.4.7.crate https://crates.io/api/v1/crates/perf-event-open-sys/1.0.1/download -> perf-event-open-sys-1.0.1.crate https://crates.io/api/v1/crates/petgraph/0.5.1/download -> petgraph-0.5.1.crate https://crates.io/api/v1/crates/pin-project-lite/0.2.9/download -> pin-project-lite-0.2.9.crate https://crates.io/api/v1/crates/proc-macro2/1.0.39/download -> proc-macro2-1.0.39.crate https://crates.io/api/v1/crates/pulldown-cmark/0.9.1/download -> pulldown-cmark-0.9.1.crate https://crates.io/api/v1/crates/pulldown-cmark-to-cmark/10.0.1/download -> pulldown-cmark-to-cmark-10.0.1.crate https://crates.io/api/v1/crates/quote/1.0.18/download -> quote-1.0.18.crate https://crates.io/api/v1/crates/rayon/1.5.3/download -> rayon-1.5.3.crate https://crates.io/api/v1/crates/rayon-core/1.9.3/download -> rayon-core-1.9.3.crate https://crates.io/api/v1/crates/redox_syscall/0.2.13/download -> redox_syscall-0.2.13.crate https://crates.io/api/v1/crates/regex/1.5.5/download -> regex-1.5.5.crate https://crates.io/api/v1/crates/regex-automata/0.1.10/download -> regex-automata-0.1.10.crate https://crates.io/api/v1/crates/regex-syntax/0.6.25/download -> regex-syntax-0.6.25.crate https://crates.io/api/v1/crates/rowan/0.15.4/download -> rowan-0.15.4.crate https://crates.io/api/v1/crates/rustc-ap-rustc_lexer/725.0.0/download -> rustc-ap-rustc_lexer-725.0.0.crate https://crates.io/api/v1/crates/rustc-demangle/0.1.21/download -> rustc-demangle-0.1.21.crate https://crates.io/api/v1/crates/rustc-hash/1.1.0/download -> rustc-hash-1.1.0.crate https://crates.io/api/v1/crates/ryu/1.0.10/download -> ryu-1.0.10.crate https://crates.io/api/v1/crates/salsa/0.17.0-pre.2/download -> salsa-0.17.0-pre.2.crate https://crates.io/api/v1/crates/salsa-macros/0.17.0-pre.2/download -> salsa-macros-0.17.0-pre.2.crate https://crates.io/api/v1/crates/same-file/1.0.6/download -> same-file-1.0.6.crate https://crates.io/api/v1/crates/scoped-tls/1.0.0/download -> scoped-tls-1.0.0.crate https://crates.io/api/v1/crates/scopeguard/1.1.0/download -> scopeguard-1.1.0.crate https://crates.io/api/v1/crates/semver/1.0.9/download -> semver-1.0.9.crate https://crates.io/api/v1/crates/serde/1.0.137/download -> serde-1.0.137.crate https://crates.io/api/v1/crates/serde_derive/1.0.137/download -> serde_derive-1.0.137.crate https://crates.io/api/v1/crates/serde_json/1.0.81/download -> serde_json-1.0.81.crate https://crates.io/api/v1/crates/serde_repr/0.1.8/download -> serde_repr-0.1.8.crate https://crates.io/api/v1/crates/sharded-slab/0.1.4/download -> sharded-slab-0.1.4.crate https://crates.io/api/v1/crates/smallvec/1.8.0/download -> smallvec-1.8.0.crate https://crates.io/api/v1/crates/smol_str/0.1.23/download -> smol_str-0.1.23.crate https://crates.io/api/v1/crates/snap/1.0.5/download -> snap-1.0.5.crate https://crates.io/api/v1/crates/syn/1.0.95/download -> syn-1.0.95.crate https://crates.io/api/v1/crates/synstructure/0.12.6/download -> synstructure-0.12.6.crate https://crates.io/api/v1/crates/text-size/1.1.0/download -> text-size-1.1.0.crate https://crates.io/api/v1/crates/thread_local/1.1.4/download -> thread_local-1.1.4.crate https://crates.io/api/v1/crates/threadpool/1.8.1/download -> threadpool-1.8.1.crate https://crates.io/api/v1/crates/tikv-jemalloc-ctl/0.4.2/download -> tikv-jemalloc-ctl-0.4.2.crate https://crates.io/api/v1/crates/tikv-jemalloc-sys/0.4.3+5.2.1-patched.2/download -> tikv-jemalloc-sys-0.4.3+5.2.1-patched.2.crate https://crates.io/api/v1/crates/tikv-jemallocator/0.4.3/download -> tikv-jemallocator-0.4.3.crate https://crates.io/api/v1/crates/tinyvec/1.6.0/download -> tinyvec-1.6.0.crate https://crates.io/api/v1/crates/tinyvec_macros/0.1.0/download -> tinyvec_macros-0.1.0.crate https://crates.io/api/v1/crates/tracing/0.1.34/download -> tracing-0.1.34.crate https://crates.io/api/v1/crates/tracing-attributes/0.1.21/download -> tracing-attributes-0.1.21.crate https://crates.io/api/v1/crates/tracing-core/0.1.26/download -> tracing-core-0.1.26.crate https://crates.io/api/v1/crates/tracing-log/0.1.3/download -> tracing-log-0.1.3.crate https://crates.io/api/v1/crates/tracing-subscriber/0.3.11/download -> tracing-subscriber-0.3.11.crate https://crates.io/api/v1/crates/tracing-tree/0.2.0/download -> tracing-tree-0.2.0.crate https://crates.io/api/v1/crates/typed-arena/2.0.1/download -> typed-arena-2.0.1.crate https://crates.io/api/v1/crates/ungrammar/1.16.1/download -> ungrammar-1.16.1.crate https://crates.io/api/v1/crates/unicase/2.6.0/download -> unicase-2.6.0.crate https://crates.io/api/v1/crates/unicode-bidi/0.3.8/download -> unicode-bidi-0.3.8.crate https://crates.io/api/v1/crates/unicode-ident/1.0.0/download -> unicode-ident-1.0.0.crate https://crates.io/api/v1/crates/unicode-normalization/0.1.19/download -> unicode-normalization-0.1.19.crate https://crates.io/api/v1/crates/unicode-segmentation/1.9.0/download -> unicode-segmentation-1.9.0.crate https://crates.io/api/v1/crates/unicode-xid/0.2.3/download -> unicode-xid-0.2.3.crate https://crates.io/api/v1/crates/url/2.2.2/download -> url-2.2.2.crate https://crates.io/api/v1/crates/valuable/0.1.0/download -> valuable-0.1.0.crate https://crates.io/api/v1/crates/version_check/0.9.4/download -> version_check-0.9.4.crate https://crates.io/api/v1/crates/walkdir/2.3.2/download -> walkdir-2.3.2.crate https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download -> wasi-0.11.0+wasi-snapshot-preview1.crate https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download -> winapi-i686-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi-util/0.1.5/download -> winapi-util-0.1.5.crate https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download -> winapi-x86_64-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/windows-sys/0.28.0/download -> windows-sys-0.28.0.crate https://crates.io/api/v1/crates/windows-sys/0.36.1/download -> windows-sys-0.36.1.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.28.0/download -> windows_aarch64_msvc-0.28.0.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.36.1/download -> windows_aarch64_msvc-0.36.1.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.28.0/download -> windows_i686_gnu-0.28.0.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.36.1/download -> windows_i686_gnu-0.36.1.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.28.0/download -> windows_i686_msvc-0.28.0.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.36.1/download -> windows_i686_msvc-0.36.1.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.28.0/download -> windows_x86_64_gnu-0.28.0.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.36.1/download -> windows_x86_64_gnu-0.36.1.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.28.0/download -> windows_x86_64_msvc-0.28.0.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.36.1/download -> windows_x86_64_msvc-0.36.1.crate https://crates.io/api/v1/crates/write-json/0.1.2/download -> write-json-0.1.2.crate https://crates.io/api/v1/crates/xflags/0.2.4/download -> xflags-0.2.4.crate https://crates.io/api/v1/crates/xflags-macros/0.2.4/download -> xflags-macros-0.2.4.crate https://crates.io/api/v1/crates/xshell/0.2.1/download -> xshell-0.2.1.crate https://crates.io/api/v1/crates/xshell-macros/0.2.1/download -> xshell-macros-0.2.1.crate https://crates.io/api/v1/crates/xtask/0.1.0/download -> xtask-0.1.0.crate
+_eclasses_=bash-completion-r1	47a7402d95930413ce25ba8d857339bb	cargo	378185a01fbe9ce3ab1cff0a241ecd00	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=74b3011f867673d99539d49b329d9bd0
diff --git a/metadata/md5-cache/sys-apps/rust-analyzer-2022.06.06-r1 b/metadata/md5-cache/sys-apps/rust-analyzer-2022.06.06-r1
new file mode 100644
index 0000000..0710588
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/rust-analyzer-2022.06.06-r1
@@ -0,0 +1,12 @@
+BDEPEND=virtual/pkgconfig >=virtual/rust-1.37.0
+DEFINED_PHASES=compile install test unpack
+DESCRIPTION=an implementation of the Language Server Protocol for the Rust programming languages
+EAPI=7
+HOMEPAGE=https://github.com/rust-lang/rust-analyzer
+IUSE=debug
+KEYWORDS=*
+LICENSE=|| ( MIT Apache-2.0 )
+SLOT=0
+SRC_URI=https://github.com/rust-lang/rust-analyzer/archive/refs/tags/2022-06-06.tar.gz -> rust-analyzer-2022.06.06.tar.gz https://crates.io/api/v1/crates/addr2line/0.17.0/download -> addr2line-0.17.0.crate https://crates.io/api/v1/crates/adler/1.0.2/download -> adler-1.0.2.crate https://crates.io/api/v1/crates/always-assert/0.1.2/download -> always-assert-0.1.2.crate https://crates.io/api/v1/crates/ansi_term/0.12.1/download -> ansi_term-0.12.1.crate https://crates.io/api/v1/crates/anyhow/1.0.57/download -> anyhow-1.0.57.crate https://crates.io/api/v1/crates/anymap/0.12.1/download -> anymap-0.12.1.crate https://crates.io/api/v1/crates/arbitrary/1.1.0/download -> arbitrary-1.1.0.crate https://crates.io/api/v1/crates/arrayvec/0.7.2/download -> arrayvec-0.7.2.crate https://crates.io/api/v1/crates/atty/0.2.14/download -> atty-0.2.14.crate https://crates.io/api/v1/crates/autocfg/1.1.0/download -> autocfg-1.1.0.crate https://crates.io/api/v1/crates/backtrace/0.3.65/download -> backtrace-0.3.65.crate https://crates.io/api/v1/crates/bitflags/1.3.2/download -> bitflags-1.3.2.crate https://crates.io/api/v1/crates/camino/1.0.8/download -> camino-1.0.8.crate https://crates.io/api/v1/crates/cargo-platform/0.1.2/download -> cargo-platform-0.1.2.crate https://crates.io/api/v1/crates/cargo_metadata/0.14.2/download -> cargo_metadata-0.14.2.crate https://crates.io/api/v1/crates/cc/1.0.73/download -> cc-1.0.73.crate https://crates.io/api/v1/crates/cfg-if/1.0.0/download -> cfg-if-1.0.0.crate https://crates.io/api/v1/crates/chalk-derive/0.82.0/download -> chalk-derive-0.82.0.crate https://crates.io/api/v1/crates/chalk-ir/0.82.0/download -> chalk-ir-0.82.0.crate https://crates.io/api/v1/crates/chalk-recursive/0.82.0/download -> chalk-recursive-0.82.0.crate https://crates.io/api/v1/crates/chalk-solve/0.82.0/download -> chalk-solve-0.82.0.crate https://crates.io/api/v1/crates/countme/3.0.1/download -> countme-3.0.1.crate https://crates.io/api/v1/crates/cov-mark/2.0.0-pre.1/download -> cov-mark-2.0.0-pre.1.crate https://crates.io/api/v1/crates/crc32fast/1.3.2/download -> crc32fast-1.3.2.crate https://crates.io/api/v1/crates/crossbeam-channel/0.5.0/download -> crossbeam-channel-0.5.0.crate https://crates.io/api/v1/crates/crossbeam-channel/0.5.4/download -> crossbeam-channel-0.5.4.crate https://crates.io/api/v1/crates/crossbeam-deque/0.8.1/download -> crossbeam-deque-0.8.1.crate https://crates.io/api/v1/crates/crossbeam-epoch/0.9.8/download -> crossbeam-epoch-0.9.8.crate https://crates.io/api/v1/crates/crossbeam-utils/0.8.8/download -> crossbeam-utils-0.8.8.crate https://crates.io/api/v1/crates/dashmap/5.2.0/download -> dashmap-5.2.0.crate https://crates.io/api/v1/crates/derive_arbitrary/1.1.0/download -> derive_arbitrary-1.1.0.crate https://crates.io/api/v1/crates/dissimilar/1.0.4/download -> dissimilar-1.0.4.crate https://crates.io/api/v1/crates/dot/0.1.4/download -> dot-0.1.4.crate https://crates.io/api/v1/crates/drop_bomb/0.1.5/download -> drop_bomb-0.1.5.crate https://crates.io/api/v1/crates/either/1.6.1/download -> either-1.6.1.crate https://crates.io/api/v1/crates/ena/0.14.0/download -> ena-0.14.0.crate https://crates.io/api/v1/crates/expect-test/1.2.2/download -> expect-test-1.2.2.crate https://crates.io/api/v1/crates/filetime/0.2.16/download -> filetime-0.2.16.crate https://crates.io/api/v1/crates/fixedbitset/0.2.0/download -> fixedbitset-0.2.0.crate https://crates.io/api/v1/crates/flate2/1.0.23/download -> flate2-1.0.23.crate https://crates.io/api/v1/crates/form_urlencoded/1.0.1/download -> form_urlencoded-1.0.1.crate https://crates.io/api/v1/crates/fs_extra/1.2.0/download -> fs_extra-1.2.0.crate https://crates.io/api/v1/crates/fsevent-sys/4.1.0/download -> fsevent-sys-4.1.0.crate https://crates.io/api/v1/crates/fst/0.4.7/download -> fst-0.4.7.crate https://crates.io/api/v1/crates/gimli/0.26.1/download -> gimli-0.26.1.crate https://crates.io/api/v1/crates/hashbrown/0.11.2/download -> hashbrown-0.11.2.crate https://crates.io/api/v1/crates/hashbrown/0.12.1/download -> hashbrown-0.12.1.crate https://crates.io/api/v1/crates/heck/0.3.3/download -> heck-0.3.3.crate https://crates.io/api/v1/crates/hermit-abi/0.1.19/download -> hermit-abi-0.1.19.crate https://crates.io/api/v1/crates/home/0.5.3/download -> home-0.5.3.crate https://crates.io/api/v1/crates/idna/0.2.3/download -> idna-0.2.3.crate https://crates.io/api/v1/crates/indexmap/1.8.1/download -> indexmap-1.8.1.crate https://crates.io/api/v1/crates/inotify/0.9.6/download -> inotify-0.9.6.crate https://crates.io/api/v1/crates/inotify-sys/0.1.5/download -> inotify-sys-0.1.5.crate https://crates.io/api/v1/crates/instant/0.1.12/download -> instant-0.1.12.crate https://crates.io/api/v1/crates/itertools/0.10.3/download -> itertools-0.10.3.crate https://crates.io/api/v1/crates/itoa/1.0.2/download -> itoa-1.0.2.crate https://crates.io/api/v1/crates/jod-thread/0.1.2/download -> jod-thread-0.1.2.crate https://crates.io/api/v1/crates/kqueue/1.0.6/download -> kqueue-1.0.6.crate https://crates.io/api/v1/crates/kqueue-sys/1.0.3/download -> kqueue-sys-1.0.3.crate https://crates.io/api/v1/crates/lazy_static/1.4.0/download -> lazy_static-1.4.0.crate https://crates.io/api/v1/crates/libc/0.2.126/download -> libc-0.2.126.crate https://crates.io/api/v1/crates/libloading/0.7.3/download -> libloading-0.7.3.crate https://crates.io/api/v1/crates/libmimalloc-sys/0.1.25/download -> libmimalloc-sys-0.1.25.crate https://crates.io/api/v1/crates/lock_api/0.4.7/download -> lock_api-0.4.7.crate https://crates.io/api/v1/crates/log/0.4.17/download -> log-0.4.17.crate https://crates.io/api/v1/crates/lsp-server/0.6.0/download -> lsp-server-0.6.0.crate https://crates.io/api/v1/crates/lsp-types/0.93.0/download -> lsp-types-0.93.0.crate https://crates.io/api/v1/crates/matchers/0.1.0/download -> matchers-0.1.0.crate https://crates.io/api/v1/crates/matches/0.1.9/download -> matches-0.1.9.crate https://crates.io/api/v1/crates/memchr/2.5.0/download -> memchr-2.5.0.crate https://crates.io/api/v1/crates/memmap2/0.5.3/download -> memmap2-0.5.3.crate https://crates.io/api/v1/crates/memoffset/0.6.5/download -> memoffset-0.6.5.crate https://crates.io/api/v1/crates/mimalloc/0.1.29/download -> mimalloc-0.1.29.crate https://crates.io/api/v1/crates/miniz_oxide/0.5.1/download -> miniz_oxide-0.5.1.crate https://crates.io/api/v1/crates/mio/0.8.3/download -> mio-0.8.3.crate https://crates.io/api/v1/crates/miow/0.4.0/download -> miow-0.4.0.crate https://crates.io/api/v1/crates/notify/5.0.0-pre.15/download -> notify-5.0.0-pre.15.crate https://crates.io/api/v1/crates/num_cpus/1.13.1/download -> num_cpus-1.13.1.crate https://crates.io/api/v1/crates/num_cpus/1.13.1/download -> num_cpus-1.13.1.crate https://crates.io/api/v1/crates/object/0.28.4/download -> object-0.28.4.crate https://crates.io/api/v1/crates/once_cell/1.11.0/download -> once_cell-1.11.0.crate https://crates.io/api/v1/crates/oorandom/11.1.3/download -> oorandom-11.1.3.crate https://crates.io/api/v1/crates/parking_lot/0.11.2/download -> parking_lot-0.11.2.crate https://crates.io/api/v1/crates/parking_lot/0.12.0/download -> parking_lot-0.12.0.crate https://crates.io/api/v1/crates/parking_lot_core/0.8.5/download -> parking_lot_core-0.8.5.crate https://crates.io/api/v1/crates/parking_lot_core/0.9.3/download -> parking_lot_core-0.9.3.crate https://crates.io/api/v1/crates/paste/1.0.7/download -> paste-1.0.7.crate https://crates.io/api/v1/crates/percent-encoding/2.1.0/download -> percent-encoding-2.1.0.crate https://crates.io/api/v1/crates/perf-event/0.4.7/download -> perf-event-0.4.7.crate https://crates.io/api/v1/crates/perf-event-open-sys/1.0.1/download -> perf-event-open-sys-1.0.1.crate https://crates.io/api/v1/crates/petgraph/0.5.1/download -> petgraph-0.5.1.crate https://crates.io/api/v1/crates/pin-project-lite/0.2.9/download -> pin-project-lite-0.2.9.crate https://crates.io/api/v1/crates/proc-macro2/1.0.39/download -> proc-macro2-1.0.39.crate https://crates.io/api/v1/crates/pulldown-cmark/0.9.1/download -> pulldown-cmark-0.9.1.crate https://crates.io/api/v1/crates/pulldown-cmark-to-cmark/10.0.1/download -> pulldown-cmark-to-cmark-10.0.1.crate https://crates.io/api/v1/crates/quote/1.0.18/download -> quote-1.0.18.crate https://crates.io/api/v1/crates/rayon/1.5.3/download -> rayon-1.5.3.crate https://crates.io/api/v1/crates/rayon-core/1.9.3/download -> rayon-core-1.9.3.crate https://crates.io/api/v1/crates/redox_syscall/0.2.13/download -> redox_syscall-0.2.13.crate https://crates.io/api/v1/crates/regex/1.5.5/download -> regex-1.5.5.crate https://crates.io/api/v1/crates/regex-automata/0.1.10/download -> regex-automata-0.1.10.crate https://crates.io/api/v1/crates/regex-syntax/0.6.25/download -> regex-syntax-0.6.25.crate https://crates.io/api/v1/crates/rowan/0.15.4/download -> rowan-0.15.4.crate https://crates.io/api/v1/crates/rustc-ap-rustc_lexer/725.0.0/download -> rustc-ap-rustc_lexer-725.0.0.crate https://crates.io/api/v1/crates/rustc-demangle/0.1.21/download -> rustc-demangle-0.1.21.crate https://crates.io/api/v1/crates/rustc-hash/1.1.0/download -> rustc-hash-1.1.0.crate https://crates.io/api/v1/crates/ryu/1.0.10/download -> ryu-1.0.10.crate https://crates.io/api/v1/crates/salsa/0.17.0-pre.2/download -> salsa-0.17.0-pre.2.crate https://crates.io/api/v1/crates/salsa-macros/0.17.0-pre.2/download -> salsa-macros-0.17.0-pre.2.crate https://crates.io/api/v1/crates/same-file/1.0.6/download -> same-file-1.0.6.crate https://crates.io/api/v1/crates/scoped-tls/1.0.0/download -> scoped-tls-1.0.0.crate https://crates.io/api/v1/crates/scopeguard/1.1.0/download -> scopeguard-1.1.0.crate https://crates.io/api/v1/crates/semver/1.0.9/download -> semver-1.0.9.crate https://crates.io/api/v1/crates/serde/1.0.137/download -> serde-1.0.137.crate https://crates.io/api/v1/crates/serde_derive/1.0.137/download -> serde_derive-1.0.137.crate https://crates.io/api/v1/crates/serde_json/1.0.81/download -> serde_json-1.0.81.crate https://crates.io/api/v1/crates/serde_repr/0.1.8/download -> serde_repr-0.1.8.crate https://crates.io/api/v1/crates/sharded-slab/0.1.4/download -> sharded-slab-0.1.4.crate https://crates.io/api/v1/crates/smallvec/1.8.0/download -> smallvec-1.8.0.crate https://crates.io/api/v1/crates/smol_str/0.1.23/download -> smol_str-0.1.23.crate https://crates.io/api/v1/crates/snap/1.0.5/download -> snap-1.0.5.crate https://crates.io/api/v1/crates/syn/1.0.95/download -> syn-1.0.95.crate https://crates.io/api/v1/crates/synstructure/0.12.6/download -> synstructure-0.12.6.crate https://crates.io/api/v1/crates/text-size/1.1.0/download -> text-size-1.1.0.crate https://crates.io/api/v1/crates/thread_local/1.1.4/download -> thread_local-1.1.4.crate https://crates.io/api/v1/crates/threadpool/1.8.1/download -> threadpool-1.8.1.crate https://crates.io/api/v1/crates/tikv-jemalloc-ctl/0.4.2/download -> tikv-jemalloc-ctl-0.4.2.crate https://crates.io/api/v1/crates/tikv-jemalloc-sys/0.4.3+5.2.1-patched.2/download -> tikv-jemalloc-sys-0.4.3+5.2.1-patched.2.crate https://crates.io/api/v1/crates/tikv-jemallocator/0.4.3/download -> tikv-jemallocator-0.4.3.crate https://crates.io/api/v1/crates/tinyvec/1.6.0/download -> tinyvec-1.6.0.crate https://crates.io/api/v1/crates/tinyvec_macros/0.1.0/download -> tinyvec_macros-0.1.0.crate https://crates.io/api/v1/crates/tracing/0.1.34/download -> tracing-0.1.34.crate https://crates.io/api/v1/crates/tracing-attributes/0.1.21/download -> tracing-attributes-0.1.21.crate https://crates.io/api/v1/crates/tracing-core/0.1.26/download -> tracing-core-0.1.26.crate https://crates.io/api/v1/crates/tracing-log/0.1.3/download -> tracing-log-0.1.3.crate https://crates.io/api/v1/crates/tracing-subscriber/0.3.11/download -> tracing-subscriber-0.3.11.crate https://crates.io/api/v1/crates/tracing-tree/0.2.0/download -> tracing-tree-0.2.0.crate https://crates.io/api/v1/crates/typed-arena/2.0.1/download -> typed-arena-2.0.1.crate https://crates.io/api/v1/crates/ungrammar/1.16.1/download -> ungrammar-1.16.1.crate https://crates.io/api/v1/crates/unicase/2.6.0/download -> unicase-2.6.0.crate https://crates.io/api/v1/crates/unicode-bidi/0.3.8/download -> unicode-bidi-0.3.8.crate https://crates.io/api/v1/crates/unicode-ident/1.0.0/download -> unicode-ident-1.0.0.crate https://crates.io/api/v1/crates/unicode-normalization/0.1.19/download -> unicode-normalization-0.1.19.crate https://crates.io/api/v1/crates/unicode-segmentation/1.9.0/download -> unicode-segmentation-1.9.0.crate https://crates.io/api/v1/crates/unicode-xid/0.2.3/download -> unicode-xid-0.2.3.crate https://crates.io/api/v1/crates/url/2.2.2/download -> url-2.2.2.crate https://crates.io/api/v1/crates/valuable/0.1.0/download -> valuable-0.1.0.crate https://crates.io/api/v1/crates/version_check/0.9.4/download -> version_check-0.9.4.crate https://crates.io/api/v1/crates/walkdir/2.3.2/download -> walkdir-2.3.2.crate https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download -> wasi-0.11.0+wasi-snapshot-preview1.crate https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download -> winapi-i686-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi-util/0.1.5/download -> winapi-util-0.1.5.crate https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download -> winapi-x86_64-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/windows-sys/0.28.0/download -> windows-sys-0.28.0.crate https://crates.io/api/v1/crates/windows-sys/0.36.1/download -> windows-sys-0.36.1.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.28.0/download -> windows_aarch64_msvc-0.28.0.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.36.1/download -> windows_aarch64_msvc-0.36.1.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.28.0/download -> windows_i686_gnu-0.28.0.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.36.1/download -> windows_i686_gnu-0.36.1.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.28.0/download -> windows_i686_msvc-0.28.0.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.36.1/download -> windows_i686_msvc-0.36.1.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.28.0/download -> windows_x86_64_gnu-0.28.0.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.36.1/download -> windows_x86_64_gnu-0.36.1.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.28.0/download -> windows_x86_64_msvc-0.28.0.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.36.1/download -> windows_x86_64_msvc-0.36.1.crate https://crates.io/api/v1/crates/write-json/0.1.2/download -> write-json-0.1.2.crate https://crates.io/api/v1/crates/xflags/0.2.4/download -> xflags-0.2.4.crate https://crates.io/api/v1/crates/xflags-macros/0.2.4/download -> xflags-macros-0.2.4.crate https://crates.io/api/v1/crates/xshell/0.2.1/download -> xshell-0.2.1.crate https://crates.io/api/v1/crates/xshell-macros/0.2.1/download -> xshell-macros-0.2.1.crate https://crates.io/api/v1/crates/xtask/0.1.0/download -> xtask-0.1.0.crate
+_eclasses_=bash-completion-r1	47a7402d95930413ce25ba8d857339bb	cargo	378185a01fbe9ce3ab1cff0a241ecd00	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=74b3011f867673d99539d49b329d9bd0
diff --git a/metadata/md5-cache/sys-apps/sis-updater-0.0.1-r28 b/metadata/md5-cache/sys-apps/sis-updater-0.0.1-r28
index 00982c4..21e04c3 100644
--- a/metadata/md5-cache/sys-apps/sis-updater-0.0.1-r28
+++ b/metadata/md5-cache/sys-apps/sis-updater-0.0.1-r28
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] sys-apps/baselayout
 SLOT=0
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
 _md5_=c7e20b44487fb75176879912e71e10aa
diff --git a/metadata/md5-cache/sys-apps/sis-updater-9999 b/metadata/md5-cache/sys-apps/sis-updater-9999
index f9a05d2..c50115a 100644
--- a/metadata/md5-cache/sys-apps/sis-updater-9999
+++ b/metadata/md5-cache/sys-apps/sis-updater-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/libbrillo:= >=chromeos-base/libchrome-0.0.1-r268:0=[cros-debug=] sys-apps/baselayout
 SLOT=0
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	36d32a1662085fe36bb5f0f4fe41537a	libchrome-version	f89118941e7f3c3825d2fe216c977c57	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libchrome	af723fe47da28bd59e1f23bb8a873598	libchrome-version	4b16ce2d767ccf4717e108fc44c7cfc9	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
 _md5_=1dcdf7e997f2d1a4ff8413a75696c5ea
diff --git a/metadata/md5-cache/sys-apps/st-touch-fw-updater-0.0.1.002 b/metadata/md5-cache/sys-apps/st-touch-fw-updater-0.0.1.002
index c605f9a..f2a61af 100644
--- a/metadata/md5-cache/sys-apps/st-touch-fw-updater-0.0.1.002
+++ b/metadata/md5-cache/sys-apps/st-touch-fw-updater-0.0.1.002
@@ -6,5 +6,5 @@
 LICENSE=BSD
 SLOT=0
 SRC_URI=https://github.com/stmicroelectronics-acp/st-touch-fw-updater/archive/v0.0.1.002.tar.gz -> st-touch-fw-updater-0.0.1.002.tar.gz
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=7e16c1e87ab167ffe962e91aa68cf370
diff --git a/metadata/md5-cache/sys-apps/st-touch-fw-updater-0.0.1.002-r2 b/metadata/md5-cache/sys-apps/st-touch-fw-updater-0.0.1.002-r2
index c605f9a..f2a61af 100644
--- a/metadata/md5-cache/sys-apps/st-touch-fw-updater-0.0.1.002-r2
+++ b/metadata/md5-cache/sys-apps/st-touch-fw-updater-0.0.1.002-r2
@@ -6,5 +6,5 @@
 LICENSE=BSD
 SLOT=0
 SRC_URI=https://github.com/stmicroelectronics-acp/st-touch-fw-updater/archive/v0.0.1.002.tar.gz -> st-touch-fw-updater-0.0.1.002.tar.gz
-_eclasses_=cros-common.mk	0d2a9d7d20c4d4ab08fc94b6ca128a88	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-common.mk	f4340e3c2d2413561274e2da0725a43e	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=7e16c1e87ab167ffe962e91aa68cf370
diff --git a/metadata/md5-cache/sys-apps/systemd-tmpfiles-247-r3 b/metadata/md5-cache/sys-apps/systemd-tmpfiles-247-r3
deleted file mode 100644
index 2a75cdf..0000000
--- a/metadata/md5-cache/sys-apps/systemd-tmpfiles-247-r3
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=app-text/docbook-xml-dtd:4.2 app-text/docbook-xml-dtd:4.5 app-text/docbook-xsl-stylesheets dev-libs/libxslt:0 >=dev-util/meson-0.46 >=dev-util/intltool-0.50 >=sys-apps/coreutils-8.16 sys-devel/m4 virtual/pkgconfig test? ( || ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) ) >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
-DEFINED_PHASES=compile configure info install postinst prepare setup test unpack
-DEPEND=sys-apps/acl:0= >=sys-apps/util-linux-2.30:0= >=sys-kernel/linux-headers-3.11 sys-libs/libcap:0= selinux? ( sys-libs/libselinux:0= )
-DESCRIPTION=Creates, deletes and cleans up volatile and temporary files and directories
-EAPI=7
-HOMEPAGE=https://www.freedesktop.org/wiki/Software/systemd
-IUSE=selinux test cros_host cros_workon_tree_ee97d599a375b39a743f9745b31a258f80ade471
-KEYWORDS=*
-LICENSE=BSD-2 GPL-2 LGPL-2.1 MIT public-domain
-PROPERTIES=live
-RDEPEND=sys-apps/acl:0= >=sys-apps/util-linux-2.30:0= >=sys-kernel/linux-headers-3.11 sys-libs/libcap:0= selinux? ( sys-libs/libselinux:0= ) !sys-apps/opentmpfiles !sys-apps/systemd
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=elibc_musl? ( https://dev.gentoo.org/~gyakovlev/distfiles/systemd-tmpfiles-247-musl.tar.xz )
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=aa832d3c00a878a82d8eab36211e42a9
diff --git a/metadata/md5-cache/sys-apps/systemd-tmpfiles-247-r4 b/metadata/md5-cache/sys-apps/systemd-tmpfiles-247-r4
new file mode 100644
index 0000000..9812e96
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/systemd-tmpfiles-247-r4
@@ -0,0 +1,16 @@
+BDEPEND=app-text/docbook-xml-dtd:4.2 app-text/docbook-xml-dtd:4.5 app-text/docbook-xsl-stylesheets dev-libs/libxslt:0 >=dev-util/meson-0.46 >=dev-util/intltool-0.50 >=sys-apps/coreutils-8.16 sys-devel/m4 virtual/pkgconfig test? ( || ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) ) >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+DEFINED_PHASES=compile configure info install postinst prepare setup test unpack
+DEPEND=sys-apps/acl:0= >=sys-apps/util-linux-2.30:0= >=sys-kernel/linux-headers-3.11 sys-libs/libcap:0= selinux? ( sys-libs/libselinux:0= )
+DESCRIPTION=Creates, deletes and cleans up volatile and temporary files and directories
+EAPI=7
+HOMEPAGE=https://www.freedesktop.org/wiki/Software/systemd
+IUSE=selinux test cros_host cros_workon_tree_7736b281d6f158d2034c574d64c2d802c8a5ae20
+KEYWORDS=*
+LICENSE=BSD-2 GPL-2 LGPL-2.1 MIT public-domain
+PROPERTIES=live
+RDEPEND=sys-apps/acl:0= >=sys-apps/util-linux-2.30:0= >=sys-kernel/linux-headers-3.11 sys-libs/libcap:0= selinux? ( sys-libs/libselinux:0= ) !sys-apps/opentmpfiles !sys-apps/systemd
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=elibc_musl? ( https://dev.gentoo.org/~gyakovlev/distfiles/systemd-tmpfiles-247-musl.tar.xz )
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=44962e55cfd17c6d4b574e0b6e54bbe1
diff --git a/metadata/md5-cache/sys-apps/systemd-tmpfiles-9999 b/metadata/md5-cache/sys-apps/systemd-tmpfiles-9999
index acc5577..87ec5d0 100644
--- a/metadata/md5-cache/sys-apps/systemd-tmpfiles-9999
+++ b/metadata/md5-cache/sys-apps/systemd-tmpfiles-9999
@@ -1,4 +1,4 @@
-BDEPEND=app-text/docbook-xml-dtd:4.2 app-text/docbook-xml-dtd:4.5 app-text/docbook-xsl-stylesheets dev-libs/libxslt:0 >=dev-util/meson-0.46 >=dev-util/intltool-0.50 >=sys-apps/coreutils-8.16 sys-devel/m4 virtual/pkgconfig test? ( || ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) ) >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+BDEPEND=app-text/docbook-xml-dtd:4.2 app-text/docbook-xml-dtd:4.5 app-text/docbook-xsl-stylesheets dev-libs/libxslt:0 >=dev-util/meson-0.46 >=dev-util/intltool-0.50 >=sys-apps/coreutils-8.16 sys-devel/m4 virtual/pkgconfig test? ( || ( dev-lang/python:3.9 dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) ) >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
 DEFINED_PHASES=compile configure info install postinst prepare setup test unpack
 DEPEND=sys-apps/acl:0= >=sys-apps/util-linux-2.30:0= >=sys-kernel/linux-headers-3.11 sys-libs/libcap:0= selinux? ( sys-libs/libselinux:0= )
 DESCRIPTION=Creates, deletes and cleans up volatile and temporary files and directories
@@ -12,5 +12,5 @@
 RESTRICT=!test? ( test )
 SLOT=0
 SRC_URI=elibc_musl? ( https://dev.gentoo.org/~gyakovlev/distfiles/systemd-tmpfiles-9999-musl.tar.xz )
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=c322fe64586dd4f2743a4a002a4b4176
diff --git a/metadata/md5-cache/sys-apps/ufs-utils-1.10.20220216 b/metadata/md5-cache/sys-apps/ufs-utils-1.10.20220216
new file mode 100644
index 0000000..5edef2a
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/ufs-utils-1.10.20220216
@@ -0,0 +1,10 @@
+DEFINED_PHASES=compile install
+DESCRIPTION=Universal Flash Storage user space tooling for Linux
+EAPI=7
+HOMEPAGE=https://github.com/westerndigitalcorporation/ufs-utils
+KEYWORDS=*
+LICENSE=BSD
+SLOT=0
+SRC_URI=https://github.com/westerndigitalcorporation/ufs-utils/archive/d21ec4132b419c8522f73baa3d95ef04cb1a0b90.tar.gz -> ufs-utils-1.10.20220216.tar.gz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9dafa8ffe0a94263543a344ad558c79a
diff --git a/metadata/md5-cache/sys-apps/upstart-1.2-r54 b/metadata/md5-cache/sys-apps/upstart-1.2-r54
deleted file mode 100644
index bee3ec6..0000000
--- a/metadata/md5-cache/sys-apps/upstart-1.2-r54
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git >=app-portage/elt-patches-20170815
-DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=>=dev-libs/expat-2.0.0 nls? ( sys-devel/gettext ) direncryption? ( sys-fs/e2fsprogs ) >=sys-apps/dbus-1.2.16 >=sys-libs/libnih-1.0.2 selinux? ( sys-libs/libselinux sys-libs/libsepol ) udev_bridge? ( >=virtual/libudev-146 ) direncryption? ( sys-apps/keyutils ) global_seccomp? ( chromeos-base/minijail ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=An event-based replacement for the init daemon
-EAPI=7
-HOMEPAGE=http://upstart.ubuntu.com/
-IUSE=debug direncryption examples nls global_seccomp selinux udev_bridge cros_host cros_workon_tree_0958c0427a08778db237833d34c253f420ddf58b
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=>=sys-apps/dbus-1.2.16 >=sys-libs/libnih-1.0.2 selinux? ( sys-libs/libselinux sys-libs/libsepol ) udev_bridge? ( >=virtual/libudev-146 ) direncryption? ( sys-apps/keyutils ) global_seccomp? ( chromeos-base/minijail ) selinux? ( chromeos-base/selinux-policy )
-SLOT=0
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e27098d3a84845070a51e7f0a3d988aa
diff --git a/metadata/md5-cache/sys-apps/upstart-1.2-r65 b/metadata/md5-cache/sys-apps/upstart-1.2-r65
new file mode 100644
index 0000000..be5e1c9
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/upstart-1.2-r65
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git >=app-portage/elt-patches-20170815
+DEFINED_PHASES=compile configure info install prepare setup unpack
+DEPEND=>=dev-libs/expat-2.0.0 nls? ( sys-devel/gettext ) direncryption? ( sys-fs/e2fsprogs ) >=sys-apps/dbus-1.2.16 >=sys-libs/libnih-1.0.2 selinux? ( sys-libs/libselinux sys-libs/libsepol ) udev_bridge? ( >=virtual/libudev-146 ) direncryption? ( sys-apps/keyutils ) global_seccomp? ( chromeos-base/minijail ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=An event-based replacement for the init daemon
+EAPI=7
+HOMEPAGE=http://upstart.ubuntu.com/
+IUSE=debug direncryption examples nls global_seccomp selinux udev_bridge cros_host cros_workon_tree_95c15347cb950a58dd52c1b26300175f69ff1119
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=>=sys-apps/dbus-1.2.16 >=sys-libs/libnih-1.0.2 selinux? ( sys-libs/libselinux sys-libs/libsepol ) udev_bridge? ( >=virtual/libudev-146 ) direncryption? ( sys-apps/keyutils ) global_seccomp? ( chromeos-base/minijail ) selinux? ( chromeos-base/selinux-policy )
+SLOT=0
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=85f59b1c7e6e1f40dea277262c56c58c
diff --git a/metadata/md5-cache/sys-apps/upstart-9999 b/metadata/md5-cache/sys-apps/upstart-9999
index 0642c61..9cc806f 100644
--- a/metadata/md5-cache/sys-apps/upstart-9999
+++ b/metadata/md5-cache/sys-apps/upstart-9999
@@ -10,5 +10,5 @@
 PROPERTIES=live
 RDEPEND=>=sys-apps/dbus-1.2.16 >=sys-libs/libnih-1.0.2 selinux? ( sys-libs/libselinux sys-libs/libsepol ) udev_bridge? ( >=virtual/libudev-146 ) direncryption? ( sys-apps/keyutils ) global_seccomp? ( chromeos-base/minijail ) selinux? ( chromeos-base/selinux-policy )
 SLOT=0
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=cac8f30d549bed0f18dfc7c0ccfe8fe3
diff --git a/metadata/md5-cache/sys-apps/ureadahead-0.100.0 b/metadata/md5-cache/sys-apps/ureadahead-0.100.0
index a7faaf6..7960eca 100644
--- a/metadata/md5-cache/sys-apps/ureadahead-0.100.0
+++ b/metadata/md5-cache/sys-apps/ureadahead-0.100.0
@@ -1,14 +1,15 @@
+BDEPEND=sys-devel/gettext
 DEFINED_PHASES=configure install
-DEPEND=sys-apps/util-linux >=sys-fs/e2fsprogs-1.41 sys-libs/libnih dev-util/pkgconfig sys-devel/gettext
+DEPEND=sys-apps/util-linux >=sys-fs/e2fsprogs-1.41 sys-libs/libnih
 DESCRIPTION=Ureadahead - Read files in advance during boot
-EAPI=6
+EAPI=7
 HOMEPAGE=https://launchpad.net/ureadahead
-IUSE=arcvm arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
+IUSE=arcvm arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
 KEYWORDS=*
 LICENSE=GPL-2
 RDEPEND=sys-apps/util-linux >=sys-fs/e2fsprogs-1.41 sys-libs/libnih
-REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
+REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
 SLOT=0
 SRC_URI=https://launchpad.net/ureadahead/trunk/0.100.0/+download/ureadahead-0.100.0.tar.gz
-_eclasses_=arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f
-_md5_=3b4dfb2ea3fb4d195df150373772e548
+_eclasses_=arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615
+_md5_=63482567e8070f1e0259ae4be52a0750
diff --git a/metadata/md5-cache/sys-apps/ureadahead-0.100.0-r17 b/metadata/md5-cache/sys-apps/ureadahead-0.100.0-r17
deleted file mode 100644
index a7faaf6..0000000
--- a/metadata/md5-cache/sys-apps/ureadahead-0.100.0-r17
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=configure install
-DEPEND=sys-apps/util-linux >=sys-fs/e2fsprogs-1.41 sys-libs/libnih dev-util/pkgconfig sys-devel/gettext
-DESCRIPTION=Ureadahead - Read files in advance during boot
-EAPI=6
-HOMEPAGE=https://launchpad.net/ureadahead
-IUSE=arcvm arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
-KEYWORDS=*
-LICENSE=GPL-2
-RDEPEND=sys-apps/util-linux >=sys-fs/e2fsprogs-1.41 sys-libs/libnih
-REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
-SLOT=0
-SRC_URI=https://launchpad.net/ureadahead/trunk/0.100.0/+download/ureadahead-0.100.0.tar.gz
-_eclasses_=arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f
-_md5_=3b4dfb2ea3fb4d195df150373772e548
diff --git a/metadata/md5-cache/sys-apps/ureadahead-0.100.0-r18 b/metadata/md5-cache/sys-apps/ureadahead-0.100.0-r18
new file mode 100644
index 0000000..7960eca
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/ureadahead-0.100.0-r18
@@ -0,0 +1,15 @@
+BDEPEND=sys-devel/gettext
+DEFINED_PHASES=configure install
+DEPEND=sys-apps/util-linux >=sys-fs/e2fsprogs-1.41 sys-libs/libnih
+DESCRIPTION=Ureadahead - Read files in advance during boot
+EAPI=7
+HOMEPAGE=https://launchpad.net/ureadahead
+IUSE=arcvm arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
+KEYWORDS=*
+LICENSE=GPL-2
+RDEPEND=sys-apps/util-linux >=sys-fs/e2fsprogs-1.41 sys-libs/libnih
+REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
+SLOT=0
+SRC_URI=https://launchpad.net/ureadahead/trunk/0.100.0/+download/ureadahead-0.100.0.tar.gz
+_eclasses_=arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615
+_md5_=63482567e8070f1e0259ae4be52a0750
diff --git a/metadata/md5-cache/sys-apps/usbguard-20210927 b/metadata/md5-cache/sys-apps/usbguard-20210927
index 007b9f1..4286a29 100644
--- a/metadata/md5-cache/sys-apps/usbguard-20210927
+++ b/metadata/md5-cache/sys-apps/usbguard-20210927
@@ -11,4 +11,4 @@
 SLOT=0/20210927
 SRC_URI=https://github.com/USBGuard/usbguard/archive/ad904f4645c79a20a7542fed7f24a9c8c2146e5a.tar.gz -> usbguard-20210927.tar.gz https://github.com/catchorg/Catch2/archive/35f510545d55a831372d3113747bf1314ff4f2ef.tar.gz -> usbguard-201807-catch.tar.gz https://github.com/taocpp/PEGTL/archive/7d039707cf835cea63daa78a717e18fcc5bcf95b.tar.gz -> usbguard-pegtl-20210115.tar.gz
 _eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=abb920eb2c6e88a5eb3c2234cdf83187
+_md5_=1fddebef11ce0f8d43ecdadfc75a267f
diff --git a/metadata/md5-cache/sys-apps/usbguard-20210927-r1 b/metadata/md5-cache/sys-apps/usbguard-20210927-r1
deleted file mode 100644
index ee93d73..0000000
--- a/metadata/md5-cache/sys-apps/usbguard-20210927-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=>=app-portage/elt-patches-20170815
-DEFINED_PHASES=configure install prepare setup
-DEPEND=dev-libs/openssl:= dev-libs/protobuf:= sys-cluster/libqb !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 sys-apps/baselayout
-DESCRIPTION=The USBGuard software framework helps to protect your computer against rogue USB devices (a.k.a. BadUSB) by implementing basic whitelisting and blacklisting capabilities based on device attributes.
-EAPI=7
-HOMEPAGE=https://usbguard.github.io/
-IUSE=cfm_enabled_device hammerd dbus asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=GPL-2
-RDEPEND=dev-libs/openssl:= dev-libs/protobuf:= sys-cluster/libqb sys-apps/baselayout
-SLOT=0/20210927-r1
-SRC_URI=https://github.com/USBGuard/usbguard/archive/ad904f4645c79a20a7542fed7f24a9c8c2146e5a.tar.gz -> usbguard-20210927.tar.gz https://github.com/catchorg/Catch2/archive/35f510545d55a831372d3113747bf1314ff4f2ef.tar.gz -> usbguard-201807-catch.tar.gz https://github.com/taocpp/PEGTL/archive/7d039707cf835cea63daa78a717e18fcc5bcf95b.tar.gz -> usbguard-pegtl-20210115.tar.gz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
-_md5_=abb920eb2c6e88a5eb3c2234cdf83187
diff --git a/metadata/md5-cache/sys-apps/usbguard-20210927-r3 b/metadata/md5-cache/sys-apps/usbguard-20210927-r3
new file mode 100644
index 0000000..08d5ac4
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/usbguard-20210927-r3
@@ -0,0 +1,14 @@
+BDEPEND=>=app-portage/elt-patches-20170815
+DEFINED_PHASES=configure install prepare setup
+DEPEND=dev-libs/openssl:= dev-libs/protobuf:= sys-cluster/libqb !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 sys-apps/baselayout
+DESCRIPTION=The USBGuard software framework helps to protect your computer against rogue USB devices (a.k.a. BadUSB) by implementing basic whitelisting and blacklisting capabilities based on device attributes.
+EAPI=7
+HOMEPAGE=https://usbguard.github.io/
+IUSE=cfm_enabled_device hammerd dbus asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=GPL-2
+RDEPEND=dev-libs/openssl:= dev-libs/protobuf:= sys-cluster/libqb sys-apps/baselayout
+SLOT=0/20210927-r3
+SRC_URI=https://github.com/USBGuard/usbguard/archive/ad904f4645c79a20a7542fed7f24a9c8c2146e5a.tar.gz -> usbguard-20210927.tar.gz https://github.com/catchorg/Catch2/archive/35f510545d55a831372d3113747bf1314ff4f2ef.tar.gz -> usbguard-201807-catch.tar.gz https://github.com/taocpp/PEGTL/archive/7d039707cf835cea63daa78a717e18fcc5bcf95b.tar.gz -> usbguard-pegtl-20210115.tar.gz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	user	7c566af8c48023219fd63246e88d6621
+_md5_=1fddebef11ce0f8d43ecdadfc75a267f
diff --git a/metadata/md5-cache/sys-apps/util-linux-2.36.2-r1 b/metadata/md5-cache/sys-apps/util-linux-2.36.2-r1
deleted file mode 100644
index fcf3d39..0000000
--- a/metadata/md5-cache/sys-apps/util-linux-2.36.2-r1
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=virtual/pkgconfig nls? ( sys-devel/gettext ) test? ( sys-devel/bc ) >=app-portage/elt-patches-20170815 virtual/pkgconfig
-DEFINED_PHASES=compile configure install postinst prepare test
-DEPEND=virtual/libcrypt:= audit? ( >=sys-process/audit-2.6:= ) caps? ( sys-libs/libcap-ng ) cramfs? ( sys-libs/zlib:= ) cryptsetup? ( sys-fs/cryptsetup ) hardlink? ( dev-libs/libpcre2:= ) ncurses? ( >=sys-libs/ncurses-5.2-r2:0=[unicode?] magic? ( sys-apps/file:0= ) ) nls? ( virtual/libintl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) pam? ( sys-libs/pam ) ppc? ( sys-libs/librtas ) ppc64? ( sys-libs/librtas ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) readline? ( sys-libs/readline:0= ) selinux? ( >=sys-libs/libselinux-2.2.2-r4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) slang? ( sys-libs/slang ) !build? ( systemd? ( sys-apps/systemd ) ) udev? ( virtual/libudev:= ) virtual/os-headers
-DESCRIPTION=Various useful Linux utilities
-EAPI=7
-HOMEPAGE=https://www.kernel.org/pub/linux/utils/util-linux/ https://github.com/karelzak/util-linux
-IUSE=audit build caps +cramfs cryptsetup fdformat hardlink kill +logger magic ncurses nls pam python +readline selinux slang static-libs su +suid systemd test tty-helpers udev unicode userland_GNU split-usr python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=GPL-2 GPL-3 LGPL-2.1 BSD-4 MIT public-domain
-RDEPEND=virtual/libcrypt:= audit? ( >=sys-process/audit-2.6:= ) caps? ( sys-libs/libcap-ng ) cramfs? ( sys-libs/zlib:= ) cryptsetup? ( sys-fs/cryptsetup ) hardlink? ( dev-libs/libpcre2:= ) ncurses? ( >=sys-libs/ncurses-5.2-r2:0=[unicode?] magic? ( sys-apps/file:0= ) ) nls? ( virtual/libintl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) pam? ( sys-libs/pam ) ppc? ( sys-libs/librtas ) ppc64? ( sys-libs/librtas ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) readline? ( sys-libs/readline:0= ) selinux? ( >=sys-libs/libselinux-2.2.2-r4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) slang? ( sys-libs/slang ) !build? ( systemd? ( sys-apps/systemd ) ) udev? ( virtual/libudev:= ) hardlink? ( !app-arch/hardlink ) logger? ( !>=app-admin/sysklogd-2.0[logger] ) kill? ( !sys-apps/coreutils[kill] !sys-process/procps[kill] ) su? ( !<sys-apps/shadow-4.7-r2 !>=sys-apps/shadow-4.7-r2[su] ) !net-wireless/rfkill !<app-shells/bash-completion-2.7-r1
-REQUIRED_USE=python? ( || ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 ) )
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://www.kernel.org/pub/linux/utils/util-linux/v2.36/util-linux-2.36.2.tar.xz
-_eclasses_=bash-completion-r1	47a7402d95930413ce25ba8d857339bb	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	pam	3f746974e1cc47cabe3bd488c08cdc8e	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	usr-ldscript	766f0a506b45f02361ad1b8ca205b7e1
-_md5_=7ebeb703c715f23e3c9d63e6fe7036ab
diff --git a/metadata/md5-cache/sys-apps/util-linux-2.36.2-r3 b/metadata/md5-cache/sys-apps/util-linux-2.36.2-r3
new file mode 100644
index 0000000..a17425a
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/util-linux-2.36.2-r3
@@ -0,0 +1,16 @@
+BDEPEND=virtual/pkgconfig nls? ( sys-devel/gettext ) test? ( sys-devel/bc ) >=app-portage/elt-patches-20170815 virtual/pkgconfig
+DEFINED_PHASES=compile configure install postinst prepare test
+DEPEND=virtual/libcrypt:= audit? ( >=sys-process/audit-2.6:= ) caps? ( sys-libs/libcap-ng ) cramfs? ( sys-libs/zlib:= ) cryptsetup? ( sys-fs/cryptsetup ) hardlink? ( dev-libs/libpcre2:= ) ncurses? ( >=sys-libs/ncurses-5.2-r2:0=[unicode?] magic? ( sys-apps/file:0= ) ) nls? ( virtual/libintl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) pam? ( sys-libs/pam ) ppc? ( sys-libs/librtas ) ppc64? ( sys-libs/librtas ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) readline? ( sys-libs/readline:0= ) selinux? ( >=sys-libs/libselinux-2.2.2-r4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) slang? ( sys-libs/slang ) !build? ( systemd? ( sys-apps/systemd ) ) udev? ( virtual/libudev:= ) virtual/os-headers
+DESCRIPTION=Various useful Linux utilities
+EAPI=7
+HOMEPAGE=https://www.kernel.org/pub/linux/utils/util-linux/ https://github.com/karelzak/util-linux
+IUSE=audit build caps +cramfs cryptsetup fdformat hardlink kill +logger magic ncurses nls pam python +readline selinux slang static-libs su +suid systemd test tty-helpers udev unicode userland_GNU split-usr python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
+KEYWORDS=*
+LICENSE=GPL-2 GPL-3 LGPL-2.1 BSD-4 MIT public-domain
+RDEPEND=virtual/libcrypt:= audit? ( >=sys-process/audit-2.6:= ) caps? ( sys-libs/libcap-ng ) cramfs? ( sys-libs/zlib:= ) cryptsetup? ( sys-fs/cryptsetup ) hardlink? ( dev-libs/libpcre2:= ) ncurses? ( >=sys-libs/ncurses-5.2-r2:0=[unicode?] magic? ( sys-apps/file:0= ) ) nls? ( virtual/libintl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) pam? ( sys-libs/pam ) ppc? ( sys-libs/librtas ) ppc64? ( sys-libs/librtas ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) readline? ( sys-libs/readline:0= ) selinux? ( >=sys-libs/libselinux-2.2.2-r4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) slang? ( sys-libs/slang ) !build? ( systemd? ( sys-apps/systemd ) ) udev? ( virtual/libudev:= ) hardlink? ( !app-arch/hardlink ) logger? ( !>=app-admin/sysklogd-2.0[logger] ) kill? ( !sys-apps/coreutils[kill] !sys-process/procps[kill] ) su? ( !<sys-apps/shadow-4.7-r2 !>=sys-apps/shadow-4.7-r2[su] ) !net-wireless/rfkill !<app-shells/bash-completion-2.7-r1
+REQUIRED_USE=python? ( || ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 ) )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://www.kernel.org/pub/linux/utils/util-linux/v2.36/util-linux-2.36.2.tar.xz
+_eclasses_=bash-completion-r1	47a7402d95930413ce25ba8d857339bb	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	pam	3f746974e1cc47cabe3bd488c08cdc8e	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	usr-ldscript	766f0a506b45f02361ad1b8ca205b7e1
+_md5_=54bc4c28a7bca27aaee407d00a5b8299
diff --git a/metadata/md5-cache/sys-block/parted-3.1-r4 b/metadata/md5-cache/sys-block/parted-3.1-r4
deleted file mode 100644
index 5a06d00..0000000
--- a/metadata/md5-cache/sys-block/parted-3.1-r4
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=>=app-portage/elt-patches-20170815
-DEFINED_PHASES=configure install prepare test
-DEPEND=>=sys-fs/e2fsprogs-1.27 >=sys-libs/ncurses-5.2 nls? ( >=sys-devel/gettext-0.12.1-r2 ) readline? ( >=sys-libs/readline-5.2 ) selinux? ( sys-libs/libselinux ) device-mapper? ( || ( >=sys-fs/lvm2-2.02.45 sys-fs/device-mapper ) ) dev-util/pkgconfig test? ( >=dev-libs/check-0.9.3 ) !<sys-devel/gettext-0.18.1.1-r3 =sys-devel/automake-1.11* >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Create, destroy, resize, check, copy partitions and file systems
-EAPI=7
-HOMEPAGE=http://www.gnu.org/software/parted
-IUSE=+debug device-mapper nls readline selinux static-libs test
-KEYWORDS=*
-LICENSE=GPL-3
-RDEPEND=>=sys-fs/e2fsprogs-1.27 >=sys-libs/ncurses-5.2 nls? ( >=sys-devel/gettext-0.12.1-r2 ) readline? ( >=sys-libs/readline-5.2 ) selinux? ( sys-libs/libselinux ) device-mapper? ( || ( >=sys-fs/lvm2-2.02.45 sys-fs/device-mapper ) )
-SLOT=0
-SRC_URI=mirror://gnu/parted/parted-3.1.tar.xz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=76c2a2f3b39fcb4bdbb1154d89c7020c
diff --git a/metadata/md5-cache/sys-block/parted-3.4-r1 b/metadata/md5-cache/sys-block/parted-3.4-r1
new file mode 100644
index 0000000..b3c7b6b7
--- /dev/null
+++ b/metadata/md5-cache/sys-block/parted-3.4-r1
@@ -0,0 +1,14 @@
+BDEPEND=nls? ( >=sys-devel/gettext-0.12.1-r2 ) verify-sig? ( sec-keys/openpgp-keys-bcl ) virtual/pkgconfig verify-sig? ( app-crypt/gnupg >=app-portage/gemato-16 )
+DEFINED_PHASES=configure install prepare unpack
+DEPEND=>=sys-fs/e2fsprogs-1.27 sys-apps/util-linux device-mapper? ( >=sys-fs/lvm2-2.02.45 ) readline? ( >=sys-libs/ncurses-5.7-r7:0= >=sys-libs/readline-5.2:0= )
+DESCRIPTION=Create, destroy, resize, check, copy partitions and file systems
+EAPI=7
+HOMEPAGE=https://www.gnu.org/software/parted/
+IUSE=+debug device-mapper nls readline verify-sig
+KEYWORDS=*
+LICENSE=GPL-3
+RDEPEND=>=sys-fs/e2fsprogs-1.27 sys-apps/util-linux device-mapper? ( >=sys-fs/lvm2-2.02.45 ) readline? ( >=sys-libs/ncurses-5.7-r7:0= >=sys-libs/readline-5.2:0= )
+SLOT=0
+SRC_URI=mirror://gnu/parted/parted-3.4.tar.xz verify-sig? ( mirror://gnu/parted/parted-3.4.tar.xz.sig )
+_eclasses_=verify-sig	40b4f4f782cf67118f594ce604cc4c0a
+_md5_=2555b06061a6443972fd7663769a3831
diff --git a/metadata/md5-cache/sys-boot/bootstub-1.0-r15 b/metadata/md5-cache/sys-boot/bootstub-1.0-r15
index d211814..3166507 100644
--- a/metadata/md5-cache/sys-boot/bootstub-1.0-r15
+++ b/metadata/md5-cache/sys-boot/bootstub-1.0-r15
@@ -8,5 +8,5 @@
 LICENSE=GPL-3
 PROPERTIES=live
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=3b24f31d667c430714c3f56cb008e88a
diff --git a/metadata/md5-cache/sys-boot/bootstub-9999 b/metadata/md5-cache/sys-boot/bootstub-9999
index 840f73d..963a5c8 100644
--- a/metadata/md5-cache/sys-boot/bootstub-9999
+++ b/metadata/md5-cache/sys-boot/bootstub-9999
@@ -8,5 +8,5 @@
 LICENSE=GPL-3
 PROPERTIES=live
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=09210bfe93e58855a6b5033a72533c54
diff --git a/metadata/md5-cache/sys-boot/chromeos-bmpblk-1.0.1-r314 b/metadata/md5-cache/sys-boot/chromeos-bmpblk-1.0.1-r314
deleted file mode 100644
index e1982df..0000000
--- a/metadata/md5-cache/sys-boot/chromeos-bmpblk-1.0.1-r314
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=|| ( dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) dev-vcs/git
-DEFINED_PHASES=compile info install prepare setup unpack
-DEPEND=chromeos-base/chromeos-config:=
-DESCRIPTION=Chrome OS Firmware Bitmap Block
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/bmpblk/
-IUSE=detachable physical_presence_power physical_presence_recovery unibuild cros_host cros_workon_tree_80c28bef3228391311f3d326dcf05ded796f5a10
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-REQUIRED_USE=unibuild
-SLOT=0/1.0.1-r314
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a546ad8bcf5273ae431759e541b86245
diff --git a/metadata/md5-cache/sys-boot/chromeos-bmpblk-1.0.1-r326 b/metadata/md5-cache/sys-boot/chromeos-bmpblk-1.0.1-r326
new file mode 100644
index 0000000..8db62a4
--- /dev/null
+++ b/metadata/md5-cache/sys-boot/chromeos-bmpblk-1.0.1-r326
@@ -0,0 +1,14 @@
+BDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pillow[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git
+DEFINED_PHASES=compile info install prepare setup unpack
+DEPEND=chromeos-base/chromeos-config:=
+DESCRIPTION=Chrome OS Firmware Bitmap Block
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/bmpblk/
+IUSE=detachable physical_presence_power physical_presence_recovery unibuild cros_host cros_workon_tree_5184a16e8018d2f1bddc38c3391457a4a703fd4f python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+REQUIRED_USE=unibuild
+SLOT=0/1.0.1-r326
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=98592a02811f6c444ab5abd2adfe2de8
diff --git a/metadata/md5-cache/sys-boot/chromeos-bmpblk-9999 b/metadata/md5-cache/sys-boot/chromeos-bmpblk-9999
index e906234..12fa801 100644
--- a/metadata/md5-cache/sys-boot/chromeos-bmpblk-9999
+++ b/metadata/md5-cache/sys-boot/chromeos-bmpblk-9999
@@ -1,14 +1,14 @@
-BDEPEND=|| ( dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) dev-vcs/git
+BDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-python/pillow[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] dev-vcs/git
 DEFINED_PHASES=compile info install prepare setup unpack
 DEPEND=chromeos-base/chromeos-config:=
 DESCRIPTION=Chrome OS Firmware Bitmap Block
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/bmpblk/
-IUSE=detachable physical_presence_power physical_presence_recovery unibuild cros_host cros_workon_tree_
+IUSE=detachable physical_presence_power physical_presence_recovery unibuild cros_host cros_workon_tree_ python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live
 REQUIRED_USE=unibuild
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0e07ff4a1895ff6602464effdab85eff
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c718f143fafb831d72a39e8abbeb661b
diff --git a/metadata/md5-cache/sys-boot/chromeos-bootimage-0.0.4-r10 b/metadata/md5-cache/sys-boot/chromeos-bootimage-0.0.4-r10
deleted file mode 100644
index 7e29d9b..0000000
--- a/metadata/md5-cache/sys-boot/chromeos-bootimage-0.0.4-r10
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=chromeos-base/vboot_reference chromeos-base/chromeos-config-host:= dev-vcs/git
-DEFINED_PHASES=compile info install setup unpack
-DEPEND=sys-boot/coreboot:= depthcharge? ( sys-boot/depthcharge:= ) bmpblk? ( sys-boot/chromeos-bmpblk:= ) tianocore? ( sys-boot/edk2:= ) seabios? ( sys-boot/chromeos-seabios:= ) chromeos-base/chromeos-config:= u-boot? ( sys-boot/u-boot:= ) cros_ec? ( chromeos-base/chromeos-ec:= ) zephyr_ec? ( chromeos-base/chromeos-zephyr:= ) pd_sync? ( chromeos-base/chromeos-ec:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
-DESCRIPTION=ChromeOS firmware image builder
-EAPI=7
-HOMEPAGE=http://www.chromium.org
-IUSE=seabios wilco_ec zephyr_ec fsp unibuild u-boot tianocore cros_ec pd_sync +bmpblk ec_ro_sync +depthcharge payload-align-64 +payload-compress-lzma payload-compress-lz4 cros-debug has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=sys-boot/coreboot:= depthcharge? ( sys-boot/depthcharge:= ) bmpblk? ( sys-boot/chromeos-bmpblk:= ) tianocore? ( sys-boot/edk2:= ) seabios? ( sys-boot/chromeos-seabios:= ) chromeos-base/chromeos-config:= u-boot? ( sys-boot/u-boot:= ) cros_ec? ( chromeos-base/chromeos-ec:= ) zephyr_ec? ( chromeos-base/chromeos-zephyr:= ) pd_sync? ( chromeos-base/chromeos-ec:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
-REQUIRED_USE=unibuild
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e42d682ee1f26d6ccdae650146a60df7
diff --git a/metadata/md5-cache/sys-boot/chromeos-bootimage-0.0.4-r15 b/metadata/md5-cache/sys-boot/chromeos-bootimage-0.0.4-r15
new file mode 100644
index 0000000..f8f6745
--- /dev/null
+++ b/metadata/md5-cache/sys-boot/chromeos-bootimage-0.0.4-r15
@@ -0,0 +1,15 @@
+BDEPEND=chromeos-base/vboot_reference chromeos-base/chromeos-config-host:= dev-vcs/git
+DEFINED_PHASES=compile info install setup unpack
+DEPEND=sys-boot/coreboot:= depthcharge? ( sys-boot/depthcharge:= ) bmpblk? ( sys-boot/chromeos-bmpblk:= ) tianocore? ( sys-boot/edk2:= ) seabios? ( sys-boot/chromeos-seabios:= ) chromeos-base/chromeos-config:= u-boot? ( sys-boot/u-boot:= ) cros_ec? ( chromeos-base/chromeos-ec:= ) zephyr_ec? ( chromeos-base/chromeos-zephyr:= ) pd_sync? ( chromeos-base/chromeos-ec:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
+DESCRIPTION=ChromeOS firmware image builder
+EAPI=7
+HOMEPAGE=http://www.chromium.org
+IUSE=seabios wilco_ec zephyr_ec fsp unibuild u-boot tianocore cros_ec pd_sync +bmpblk ec_ro_sync +depthcharge payload-align-64 +payload-compress-lzma payload-compress-lz4 +include_altfw cros-debug has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=sys-boot/coreboot:= depthcharge? ( sys-boot/depthcharge:= ) bmpblk? ( sys-boot/chromeos-bmpblk:= ) tianocore? ( sys-boot/edk2:= ) seabios? ( sys-boot/chromeos-seabios:= ) chromeos-base/chromeos-config:= u-boot? ( sys-boot/u-boot:= ) cros_ec? ( chromeos-base/chromeos-ec:= ) zephyr_ec? ( chromeos-base/chromeos-zephyr:= ) pd_sync? ( chromeos-base/chromeos-ec:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
+REQUIRED_USE=unibuild
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b52b5666b6d4b9f705760d4cd10bbcab
diff --git a/metadata/md5-cache/sys-boot/chromeos-bootimage-9999 b/metadata/md5-cache/sys-boot/chromeos-bootimage-9999
index 06a146a..2750f87 100644
--- a/metadata/md5-cache/sys-boot/chromeos-bootimage-9999
+++ b/metadata/md5-cache/sys-boot/chromeos-bootimage-9999
@@ -4,12 +4,12 @@
 DESCRIPTION=ChromeOS firmware image builder
 EAPI=7
 HOMEPAGE=http://www.chromium.org
-IUSE=seabios wilco_ec zephyr_ec fsp unibuild u-boot tianocore cros_ec pd_sync +bmpblk ec_ro_sync +depthcharge payload-align-64 +payload-compress-lzma payload-compress-lz4 cros-debug has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host cros_workon_tree_
+IUSE=seabios wilco_ec zephyr_ec fsp unibuild u-boot tianocore cros_ec pd_sync +bmpblk ec_ro_sync +depthcharge payload-align-64 +payload-compress-lzma payload-compress-lz4 +include_altfw cros-debug has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
 RDEPEND=sys-boot/coreboot:= depthcharge? ( sys-boot/depthcharge:= ) bmpblk? ( sys-boot/chromeos-bmpblk:= ) tianocore? ( sys-boot/edk2:= ) seabios? ( sys-boot/chromeos-seabios:= ) chromeos-base/chromeos-config:= u-boot? ( sys-boot/u-boot:= ) cros_ec? ( chromeos-base/chromeos-ec:= ) zephyr_ec? ( chromeos-base/chromeos-zephyr:= ) pd_sync? ( chromeos-base/chromeos-ec:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
 REQUIRED_USE=unibuild
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=213970aaff9d33e60177867bbb2e82ef
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-debug	d2750757005d6a444f8eb12bb9eb9944	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ef0d89994d4377a0badbef4ce527737d
diff --git a/metadata/md5-cache/sys-boot/chromeos-seabios-0.0.1-r88 b/metadata/md5-cache/sys-boot/chromeos-seabios-0.0.1-r88
index f145ede2..3ba1088 100644
--- a/metadata/md5-cache/sys-boot/chromeos-seabios-0.0.1-r88
+++ b/metadata/md5-cache/sys-boot/chromeos-seabios-0.0.1-r88
@@ -8,5 +8,5 @@
 LICENSE=GPL-2
 PROPERTIES=live
 SLOT=0/0.0.1-r88
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=f411830117b5bcf389767a6a5e26a71a
diff --git a/metadata/md5-cache/sys-boot/chromeos-seabios-9999 b/metadata/md5-cache/sys-boot/chromeos-seabios-9999
index 1e97e88..1f25764 100644
--- a/metadata/md5-cache/sys-boot/chromeos-seabios-9999
+++ b/metadata/md5-cache/sys-boot/chromeos-seabios-9999
@@ -8,5 +8,5 @@
 LICENSE=GPL-2
 PROPERTIES=live
 SLOT=0/9999
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=b79e86b4dc6274be0a7928c36559cfd0
diff --git a/metadata/md5-cache/sys-boot/coreboot-0.0.1-r4914 b/metadata/md5-cache/sys-boot/coreboot-0.0.1-r4914
deleted file mode 100644
index 279b232..0000000
--- a/metadata/md5-cache/sys-boot/coreboot-0.0.1-r4914
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:=
-DEFINED_PHASES=compile info install prepare setup unpack
-DEPEND=coreboot-private-files-board? ( sys-boot/coreboot-private-files-board:= ) coreboot-private-files-chipset? ( sys-boot/coreboot-private-files-chipset:= ) virtual/coreboot-private-files bmpblk? ( sys-boot/chromeos-bmpblk:= ) chipset_stoneyridge? ( sys-boot/amd-firmware:= ) chipset_cezanne? ( sys-boot/amd-cezanne-fsp:= ) chromeos-base/chromeos-config:= sys-apps/flashrom has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
-DESCRIPTION=coreboot firmware
-EAPI=7
-HOMEPAGE=http://www.coreboot.org
-IUSE=em100-mode fsp memmaps mocktpm quiet-cb rmt vmx mma intel_debug +bmpblk quiet unibuild verbose amd_cpu coreboot-sdk chipset_stoneyridge chipset_picasso chipset_cezanne coreboot-private-files-board coreboot-private-files-chipset cros_host cros_workon_tree_c159fdb943cb5dccdefc2e42486e3511f167049e_00d7828bd1cfa96f4c45bf427ca4e5e7e54c0eb9_22dd0942e2590c2ea8b09bd8606689b6e5dc495c_8ecbd0b1735999db97ae921c83e5d81e42a30821_6b30bbddb4b4629f14c0d613f13b64b6ddc4a0e0_45d22a8711f85c4310c0c2121d3dc8a72793d375_c0433b88f972fa26dded401be022c1c026cd644e has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=coreboot-private-files-board? ( sys-boot/coreboot-private-files-board:= ) coreboot-private-files-chipset? ( sys-boot/coreboot-private-files-chipset:= ) virtual/coreboot-private-files bmpblk? ( sys-boot/chromeos-bmpblk:= ) chipset_stoneyridge? ( sys-boot/amd-firmware:= ) chipset_cezanne? ( sys-boot/amd-cezanne-fsp:= ) chromeos-base/chromeos-config:= sys-apps/flashrom !sys-boot/amd-picasso-fsp has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
-REQUIRED_USE=unibuild coreboot-sdk
-RESTRICT=strip
-SLOT=0/0.0.1-r4914
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d60def43151486bfbced1678d883689e
diff --git a/metadata/md5-cache/sys-boot/coreboot-0.0.1-r5195 b/metadata/md5-cache/sys-boot/coreboot-0.0.1-r5195
new file mode 100644
index 0000000..a488565
--- /dev/null
+++ b/metadata/md5-cache/sys-boot/coreboot-0.0.1-r5195
@@ -0,0 +1,16 @@
+BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:=
+DEFINED_PHASES=compile configure info install prepare setup unpack
+DEPEND=coreboot-private-files-board? ( sys-boot/coreboot-private-files-board:= ) coreboot-private-files-chipset? ( sys-boot/coreboot-private-files-chipset:= ) virtual/coreboot-private-files bmpblk? ( sys-boot/chromeos-bmpblk:= ) chipset_stoneyridge? ( sys-boot/amd-firmware:= ) chipset_cezanne? ( sys-boot/amd-cezanne-fsp:= ) chromeos-base/chromeos-config:= sys-apps/flashrom has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
+DESCRIPTION=coreboot firmware
+EAPI=7
+HOMEPAGE=http://www.coreboot.org
+IUSE=em100-mode fsp memmaps mocktpm quiet-cb rmt vmx mma intel_debug +bmpblk quiet unibuild verbose ti50_onboard amd_cpu coreboot-sdk chipset_stoneyridge chipset_picasso chipset_cezanne fw_debug coreboot-private-files-board coreboot-private-files-chipset cros_host cros_workon_tree_8fb4103801f65c68be4c49363e7bf1b4bbea09ad_f486be53f8642487ac6f69aa205d76954ff99926_13350f1d92d867a643e89ff2eac4e50ed31c18ab_dfb00eeb8d03bdaf4aec4bbf3eaa7a469ae07967_5771a3b43cc0f2192322e86d741ddf4fefa74129_45d22a8711f85c4310c0c2121d3dc8a72793d375_c0433b88f972fa26dded401be022c1c026cd644e_a5575fb843026228aa05da5c68a47231005c09ad_112f8a2dbab25213993651d324ec1dbe29b6c3a7 has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=coreboot-private-files-board? ( sys-boot/coreboot-private-files-board:= ) coreboot-private-files-chipset? ( sys-boot/coreboot-private-files-chipset:= ) virtual/coreboot-private-files bmpblk? ( sys-boot/chromeos-bmpblk:= ) chipset_stoneyridge? ( sys-boot/amd-firmware:= ) chipset_cezanne? ( sys-boot/amd-cezanne-fsp:= ) chromeos-base/chromeos-config:= sys-apps/flashrom !sys-boot/amd-picasso-fsp has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
+REQUIRED_USE=unibuild coreboot-sdk
+RESTRICT=binchecks strip
+SLOT=0/0.0.1-r5195
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e2ec4cbf2e1b22c8e94ed841580d947d
diff --git a/metadata/md5-cache/sys-boot/coreboot-9999 b/metadata/md5-cache/sys-boot/coreboot-9999
index 7958ca0..b282646 100644
--- a/metadata/md5-cache/sys-boot/coreboot-9999
+++ b/metadata/md5-cache/sys-boot/coreboot-9999
@@ -1,16 +1,16 @@
 BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:=
-DEFINED_PHASES=compile info install prepare setup unpack
+DEFINED_PHASES=compile configure info install prepare setup unpack
 DEPEND=coreboot-private-files-board? ( sys-boot/coreboot-private-files-board:= ) coreboot-private-files-chipset? ( sys-boot/coreboot-private-files-chipset:= ) virtual/coreboot-private-files bmpblk? ( sys-boot/chromeos-bmpblk:= ) chipset_stoneyridge? ( sys-boot/amd-firmware:= ) chipset_cezanne? ( sys-boot/amd-cezanne-fsp:= ) chromeos-base/chromeos-config:= sys-apps/flashrom has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
 DESCRIPTION=coreboot firmware
 EAPI=7
 HOMEPAGE=http://www.coreboot.org
-IUSE=em100-mode fsp memmaps mocktpm quiet-cb rmt vmx mma intel_debug +bmpblk quiet unibuild verbose amd_cpu coreboot-sdk chipset_stoneyridge chipset_picasso chipset_cezanne coreboot-private-files-board coreboot-private-files-chipset cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild
+IUSE=em100-mode fsp memmaps mocktpm quiet-cb rmt vmx mma intel_debug +bmpblk quiet unibuild verbose ti50_onboard amd_cpu coreboot-sdk chipset_stoneyridge chipset_picasso chipset_cezanne fw_debug coreboot-private-files-board coreboot-private-files-chipset cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
 RDEPEND=coreboot-private-files-board? ( sys-boot/coreboot-private-files-board:= ) coreboot-private-files-chipset? ( sys-boot/coreboot-private-files-chipset:= ) virtual/coreboot-private-files bmpblk? ( sys-boot/chromeos-bmpblk:= ) chipset_stoneyridge? ( sys-boot/amd-firmware:= ) chipset_cezanne? ( sys-boot/amd-cezanne-fsp:= ) chromeos-base/chromeos-config:= sys-apps/flashrom !sys-boot/amd-picasso-fsp has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
 REQUIRED_USE=unibuild coreboot-sdk
-RESTRICT=strip
+RESTRICT=binchecks strip
 SLOT=0/9999
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=806ef61af7fcf0d9b4dc2aafe740b4c6
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=22c3d5fbdc95d76b6ba5c6b518515a7e
diff --git a/metadata/md5-cache/sys-boot/depthcharge-0.0.1-r3733 b/metadata/md5-cache/sys-boot/depthcharge-0.0.1-r3733
deleted file mode 100644
index 1ac943a..0000000
--- a/metadata/md5-cache/sys-boot/depthcharge-0.0.1-r3733
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-python/kconfiglib !test? ( dev-util/cmake dev-util/cmocka ) dev-vcs/git chromeos-base/chromeos-config-host:=
-DEFINED_PHASES=compile info install setup test unpack
-DEPEND=sys-boot/coreboot:= chromeos-base/chromeos-ec-headers:= sys-boot/libpayload:= chromeos-base/chromeos-config:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
-DESCRIPTION=coreboot's depthcharge payload
-EAPI=7
-HOMEPAGE=http://www.coreboot.org
-IUSE=detachable fwconsole mocktpm pd_sync unibuild verbose debug physical_presence_power physical_presence_recovery test cros_host cros_workon_tree_8d89331cb8fbb2fa5b1df805d3f56df8e247710a_22dd0942e2590c2ea8b09bd8606689b6e5dc495c_c159fdb943cb5dccdefc2e42486e3511f167049e has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=sys-boot/coreboot:= chromeos-base/chromeos-ec-headers:= sys-boot/libpayload:= chromeos-base/chromeos-config:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
-REQUIRED_USE=unibuild
-RESTRICT=strip
-SLOT=0/0.0.1-r3733
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=7deeb94bde3fd883691f4742b0e00667
diff --git a/metadata/md5-cache/sys-boot/depthcharge-0.0.1-r4126 b/metadata/md5-cache/sys-boot/depthcharge-0.0.1-r4126
new file mode 100644
index 0000000..51b4dd4
--- /dev/null
+++ b/metadata/md5-cache/sys-boot/depthcharge-0.0.1-r4126
@@ -0,0 +1,16 @@
+BDEPEND=dev-python/kconfiglib !test? ( dev-util/cmake dev-util/cmocka ) dev-vcs/git chromeos-base/chromeos-config-host:=
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=sys-boot/coreboot:= chromeos-base/chromeos-ec-headers:= sys-boot/libpayload:= chromeos-base/chromeos-config:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
+DESCRIPTION=coreboot's depthcharge payload
+EAPI=7
+HOMEPAGE=http://www.coreboot.org
+IUSE=detachable fwconsole mocktpm pd_sync unibuild verbose debug physical_presence_power physical_presence_recovery test cros_host cros_workon_tree_a119ee3acc6836a17072020c4f13d2b21df3c62f_13350f1d92d867a643e89ff2eac4e50ed31c18ab_8fb4103801f65c68be4c49363e7bf1b4bbea09ad has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=sys-boot/coreboot:= chromeos-base/chromeos-ec-headers:= sys-boot/libpayload:= chromeos-base/chromeos-config:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
+REQUIRED_USE=unibuild
+RESTRICT=binchecks strip
+SLOT=0/0.0.1-r4126
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=56d31f585e2742711f65a8980687544c
diff --git a/metadata/md5-cache/sys-boot/depthcharge-9999 b/metadata/md5-cache/sys-boot/depthcharge-9999
index 8ce512d..7b5b4ba 100644
--- a/metadata/md5-cache/sys-boot/depthcharge-9999
+++ b/metadata/md5-cache/sys-boot/depthcharge-9999
@@ -1,16 +1,16 @@
 BDEPEND=dev-python/kconfiglib !test? ( dev-util/cmake dev-util/cmocka ) dev-vcs/git chromeos-base/chromeos-config-host:=
-DEFINED_PHASES=compile info install setup test unpack
+DEFINED_PHASES=compile configure info install setup test unpack
 DEPEND=sys-boot/coreboot:= chromeos-base/chromeos-ec-headers:= sys-boot/libpayload:= chromeos-base/chromeos-config:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
 DESCRIPTION=coreboot's depthcharge payload
 EAPI=7
 HOMEPAGE=http://www.coreboot.org
-IUSE=detachable fwconsole mocktpm pd_sync unibuild verbose debug physical_presence_power physical_presence_recovery test cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild
+IUSE=detachable fwconsole mocktpm pd_sync unibuild verbose debug physical_presence_power physical_presence_recovery test cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
 RDEPEND=sys-boot/coreboot:= chromeos-base/chromeos-ec-headers:= sys-boot/libpayload:= chromeos-base/chromeos-config:= has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
 REQUIRED_USE=unibuild
-RESTRICT=strip
+RESTRICT=binchecks strip
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=1419f6e67cc871793122a8c0e059f278
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=9564f5e8b04084d0cdd21e87f5094371
diff --git a/metadata/md5-cache/sys-boot/edk2-0.0.1-r38 b/metadata/md5-cache/sys-boot/edk2-0.0.1-r38
index eff5c24..ad32054 100644
--- a/metadata/md5-cache/sys-boot/edk2-0.0.1-r38
+++ b/metadata/md5-cache/sys-boot/edk2-0.0.1-r38
@@ -9,5 +9,5 @@
 PROPERTIES=live
 SLOT=0/0.0.1-r38
 SRC_URI=https://www.openssl.org/source/openssl-1.1.0e.tar.gz
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=d7f334b2801a062f27f67324bb0bc6fa
diff --git a/metadata/md5-cache/sys-boot/edk2-9999 b/metadata/md5-cache/sys-boot/edk2-9999
index c2269fe..30908a6 100644
--- a/metadata/md5-cache/sys-boot/edk2-9999
+++ b/metadata/md5-cache/sys-boot/edk2-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 SLOT=0/9999
 SRC_URI=https://www.openssl.org/source/openssl-1.1.0e.tar.gz
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=4d7b673e62acd3bd7db6a75c63af8b00
diff --git a/metadata/md5-cache/sys-boot/grub-2.06 b/metadata/md5-cache/sys-boot/grub-2.06
index 433dc8f..97a694e 100644
--- a/metadata/md5-cache/sys-boot/grub-2.06
+++ b/metadata/md5-cache/sys-boot/grub-2.06
@@ -1,10 +1,10 @@
 DEFINED_PHASES=compile configure install prepare
 DESCRIPTION=GNU GRUB 2 boot loader
-EAPI=5
+EAPI=6
 HOMEPAGE=http://www.gnu.org/software/grub/
 KEYWORDS=-* amd64
 LICENSE=GPL-3
 SLOT=0
 SRC_URI=ftp://ftp.gnu.org/gnu/grub/grub-2.06.tar.xz
 _eclasses_=bash-completion-r1	47a7402d95930413ce25ba8d857339bb	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=0bde3d6843365bbf5083b645f622bfcf
+_md5_=991bbc9156300b4679d069faffe11a25
diff --git a/metadata/md5-cache/sys-boot/grub-2.06-r5 b/metadata/md5-cache/sys-boot/grub-2.06-r5
deleted file mode 100644
index 433dc8f..0000000
--- a/metadata/md5-cache/sys-boot/grub-2.06-r5
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=compile configure install prepare
-DESCRIPTION=GNU GRUB 2 boot loader
-EAPI=5
-HOMEPAGE=http://www.gnu.org/software/grub/
-KEYWORDS=-* amd64
-LICENSE=GPL-3
-SLOT=0
-SRC_URI=ftp://ftp.gnu.org/gnu/grub/grub-2.06.tar.xz
-_eclasses_=bash-completion-r1	47a7402d95930413ce25ba8d857339bb	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=0bde3d6843365bbf5083b645f622bfcf
diff --git a/metadata/md5-cache/sys-boot/grub-2.06-r9 b/metadata/md5-cache/sys-boot/grub-2.06-r9
new file mode 100644
index 0000000..97a694e
--- /dev/null
+++ b/metadata/md5-cache/sys-boot/grub-2.06-r9
@@ -0,0 +1,10 @@
+DEFINED_PHASES=compile configure install prepare
+DESCRIPTION=GNU GRUB 2 boot loader
+EAPI=6
+HOMEPAGE=http://www.gnu.org/software/grub/
+KEYWORDS=-* amd64
+LICENSE=GPL-3
+SLOT=0
+SRC_URI=ftp://ftp.gnu.org/gnu/grub/grub-2.06.tar.xz
+_eclasses_=bash-completion-r1	47a7402d95930413ce25ba8d857339bb	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=991bbc9156300b4679d069faffe11a25
diff --git a/metadata/md5-cache/sys-boot/libpayload-0.0.1-r4227 b/metadata/md5-cache/sys-boot/libpayload-0.0.1-r4227
deleted file mode 100644
index e8dd193..0000000
--- a/metadata/md5-cache/sys-boot/libpayload-0.0.1-r4227
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile configure info install setup unpack
-DEPEND=chromeos-base/chromeos-config:=
-DESCRIPTION=coreboot's libpayload library
-EAPI=7
-HOMEPAGE=http://www.coreboot.org
-IUSE=coreboot-sdk unibuild verbose cros_host cros_workon_tree_22ffb0b4c6caf0b99a3773595e5d59aecc2054a5_dcb83fabc80ab81194351fbb80e61d666efd7ccd_0817c42e0f630c1a0975b591f98be39a099842b7_bacdab8734794201bdb8ad183f79bab4051584db_6340fb29293d883ab8792c9d2ff249fb14776f2e_2e2f24b87140cd3280bde18e487c3261801201f9
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=chromeos-base/chromeos-config:=
-REQUIRED_USE=unibuild
-SLOT=0/0.0.1-r4227
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5104a74d7dcf55d2ab5f92b19fb48dd6
diff --git a/metadata/md5-cache/sys-boot/libpayload-0.0.1-r4291 b/metadata/md5-cache/sys-boot/libpayload-0.0.1-r4291
new file mode 100644
index 0000000..ec9809e
--- /dev/null
+++ b/metadata/md5-cache/sys-boot/libpayload-0.0.1-r4291
@@ -0,0 +1,16 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install setup unpack
+DEPEND=chromeos-base/chromeos-config:=
+DESCRIPTION=coreboot's libpayload library
+EAPI=7
+HOMEPAGE=http://www.coreboot.org
+IUSE=coreboot-sdk unibuild verbose ti50_onboard cros_host cros_workon_tree_1c15936b777254b7bae25bc3cbda93f2471f9ba2_d655cd79d99d3ded805ceeff78942673f10cf6c7_514603540da793957fa87fa22df81b288fb39d0f_b2307ed1e70bf1a5718afaa81217ec9504854005_df906a2f21f08c09eaf16b3685befd6aecbe258a_daa8adf3ba58769a28a8c47c5ac5a702979fae66 asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=chromeos-base/chromeos-config:=
+REQUIRED_USE=unibuild coreboot-sdk
+RESTRICT=binchecks strip
+SLOT=0/0.0.1-r4291
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c44c34a06f7c0d001060ce323e2ba600
diff --git a/metadata/md5-cache/sys-boot/libpayload-9999 b/metadata/md5-cache/sys-boot/libpayload-9999
index 8c2a362..5945782 100644
--- a/metadata/md5-cache/sys-boot/libpayload-9999
+++ b/metadata/md5-cache/sys-boot/libpayload-9999
@@ -4,12 +4,13 @@
 DESCRIPTION=coreboot's libpayload library
 EAPI=7
 HOMEPAGE=http://www.coreboot.org
-IUSE=coreboot-sdk unibuild verbose cros_host cros_workon_tree_
+IUSE=coreboot-sdk unibuild verbose ti50_onboard cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
 RDEPEND=chromeos-base/chromeos-config:=
-REQUIRED_USE=unibuild
+REQUIRED_USE=unibuild coreboot-sdk
+RESTRICT=binchecks strip
 SLOT=0/9999
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a22ac3491fa67b001468edd8b5b0d33c
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1001053386fb208f32e43cc1209942ca
diff --git a/metadata/md5-cache/sys-boot/u-boot-2021.07-r3001 b/metadata/md5-cache/sys-boot/u-boot-2021.07-r3001
deleted file mode 100644
index 3ba7f0d..0000000
--- a/metadata/md5-cache/sys-boot/u-boot-2021.07-r3001
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:=
-DEFINED_PHASES=compile configure info install setup unpack
-DEPEND=sandbox? ( media-libs/libsdl:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
-DESCRIPTION=Das U-Boot boot loader
-EAPI=7
-HOMEPAGE=http://www.denx.de/wiki/U-Boot
-IUSE=dev sandbox vboot werror cros_host cros_workon_tree_de4f0c255aa3b757f43b4dd4f7a60f08ead04f30_22dd0942e2590c2ea8b09bd8606689b6e5dc495c has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-RDEPEND=sandbox? ( media-libs/libsdl:= ) chromeos-base/u-boot-scripts !!sys-boot/chromeos-u-boot has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
-SLOT=0/2021.07-r3001
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=de6d6a4b4eefbc1a743dddaec0986ec8
diff --git a/metadata/md5-cache/sys-boot/u-boot-2022.01-r3072 b/metadata/md5-cache/sys-boot/u-boot-2022.01-r3072
new file mode 100644
index 0000000..82bfd50
--- /dev/null
+++ b/metadata/md5-cache/sys-boot/u-boot-2022.01-r3072
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:=
+DEFINED_PHASES=compile configure info install setup unpack
+DEPEND=sandbox? ( media-libs/libsdl:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
+DESCRIPTION=Das U-Boot boot loader
+EAPI=7
+HOMEPAGE=http://www.denx.de/wiki/U-Boot
+IUSE=dev sandbox vboot werror cros_host cros_workon_tree_7076084e7fed0ac92f67d04834bd59d59fbae30c_13350f1d92d867a643e89ff2eac4e50ed31c18ab has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+RDEPEND=sandbox? ( media-libs/libsdl:= ) chromeos-base/u-boot-scripts !!sys-boot/chromeos-u-boot has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
+SLOT=0/2022.01-r3072
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d2ad4d01802a74b68161c1c5575cd0d4
diff --git a/metadata/md5-cache/sys-boot/u-boot-9999 b/metadata/md5-cache/sys-boot/u-boot-9999
index daf859a..f47790c 100644
--- a/metadata/md5-cache/sys-boot/u-boot-9999
+++ b/metadata/md5-cache/sys-boot/u-boot-9999
@@ -4,11 +4,11 @@
 DESCRIPTION=Das U-Boot boot loader
 EAPI=7
 HOMEPAGE=http://www.denx.de/wiki/U-Boot
-IUSE=dev sandbox vboot werror cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild
+IUSE=dev sandbox vboot werror cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
 RDEPEND=sandbox? ( media-libs/libsdl:= ) chromeos-base/u-boot-scripts !!sys-boot/chromeos-u-boot has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=64948bf30a8e6b7a54b6acf2880dc3a1
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0c8af02bbfc6666e2a04b174b245fb77
diff --git a/metadata/md5-cache/sys-devel/arc-build-0.0.3 b/metadata/md5-cache/sys-devel/arc-build-0.0.3
index 5844a53..de3165f 100644
--- a/metadata/md5-cache/sys-devel/arc-build-0.0.3
+++ b/metadata/md5-cache/sys-devel/arc-build-0.0.3
@@ -1,10 +1,10 @@
 DEFINED_PHASES=compile configure install test
 DESCRIPTION=Ebuild for per-sysroot arc-build components.
 EAPI=5
-IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
+IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
 KEYWORDS=*
 LICENSE=BSD-Google
-REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
+REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
 SLOT=0
-_eclasses_=arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=71ba9f5e6090fb4d6bb966d22642d185
diff --git a/metadata/md5-cache/sys-devel/arc-build-0.0.3-r18 b/metadata/md5-cache/sys-devel/arc-build-0.0.3-r18
deleted file mode 100644
index 5844a53..0000000
--- a/metadata/md5-cache/sys-devel/arc-build-0.0.3-r18
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=compile configure install test
-DESCRIPTION=Ebuild for per-sysroot arc-build components.
-EAPI=5
-IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
-KEYWORDS=*
-LICENSE=BSD-Google
-REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
-SLOT=0
-_eclasses_=arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=71ba9f5e6090fb4d6bb966d22642d185
diff --git a/metadata/md5-cache/sys-devel/arc-build-0.0.3-r19 b/metadata/md5-cache/sys-devel/arc-build-0.0.3-r19
new file mode 100644
index 0000000..de3165f
--- /dev/null
+++ b/metadata/md5-cache/sys-devel/arc-build-0.0.3-r19
@@ -0,0 +1,10 @@
+DEFINED_PHASES=compile configure install test
+DESCRIPTION=Ebuild for per-sysroot arc-build components.
+EAPI=5
+IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
+KEYWORDS=*
+LICENSE=BSD-Google
+REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
+SLOT=0
+_eclasses_=arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=71ba9f5e6090fb4d6bb966d22642d185
diff --git a/metadata/md5-cache/sys-devel/arc-llvm-12.0.1 b/metadata/md5-cache/sys-devel/arc-llvm-12.0.1
index edd31d5..2f5588d 100644
--- a/metadata/md5-cache/sys-devel/arc-llvm-12.0.1
+++ b/metadata/md5-cache/sys-devel/arc-llvm-12.0.1
@@ -3,13 +3,13 @@
 DESCRIPTION=Low Level Virtual Machine
 EAPI=6
 HOMEPAGE=https://llvm.org/
-IUSE=debug doc exegesis libedit libffi ncurses test xar xml kernel_Darwin llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARM llvm_targets_BPF llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_Sparc llvm_targets_SystemZ llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
+IUSE=debug doc exegesis libedit libffi ncurses test xar xml kernel_Darwin llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARM llvm_targets_BPF llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_Sparc llvm_targets_SystemZ llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
 KEYWORDS=*
 LICENSE=UoI-NCSA rc BSD public-domain llvm_targets_ARM? ( LLVM-Grant )
 RDEPEND=!sys-devel/arc-llvm:0 !<sys-devel/arc-llvm-12
-REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARM llvm_targets_BPF llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_Sparc llvm_targets_SystemZ llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
+REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARM llvm_targets_BPF llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_Sparc llvm_targets_SystemZ llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
 RESTRICT=!test? ( test )
 SLOT=12
 SRC_URI=https://github.com/llvm/llvm-project/archive/llvmorg-12.0.1.tar.gz !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/llvm-12.0.1-manpages.tar.bz2 )
-_eclasses_=arc-build	b81e284348e452b00e55bc049a3fb873	arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	pax-utils	3551398d6ede2b572568832730cc2a45	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=69d961df9f2d2750f7168a3c0b15d48d
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	pax-utils	3551398d6ede2b572568832730cc2a45	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=2de21bd8337d3da7c97df7e2259b7162
diff --git a/metadata/md5-cache/sys-devel/arc-llvm-12.0.1-r2 b/metadata/md5-cache/sys-devel/arc-llvm-12.0.1-r2
deleted file mode 100644
index edd31d5..0000000
--- a/metadata/md5-cache/sys-devel/arc-llvm-12.0.1-r2
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup test
-DEPEND=dev-util/ninja >=dev-util/cmake-3.7.0-r1 sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-DESCRIPTION=Low Level Virtual Machine
-EAPI=6
-HOMEPAGE=https://llvm.org/
-IUSE=debug doc exegesis libedit libffi ncurses test xar xml kernel_Darwin llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARM llvm_targets_BPF llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_Sparc llvm_targets_SystemZ llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
-KEYWORDS=*
-LICENSE=UoI-NCSA rc BSD public-domain llvm_targets_ARM? ( LLVM-Grant )
-RDEPEND=!sys-devel/arc-llvm:0 !<sys-devel/arc-llvm-12
-REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARM llvm_targets_BPF llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_Sparc llvm_targets_SystemZ llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
-RESTRICT=!test? ( test )
-SLOT=12
-SRC_URI=https://github.com/llvm/llvm-project/archive/llvmorg-12.0.1.tar.gz !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/llvm-12.0.1-manpages.tar.bz2 )
-_eclasses_=arc-build	b81e284348e452b00e55bc049a3fb873	arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	pax-utils	3551398d6ede2b572568832730cc2a45	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=69d961df9f2d2750f7168a3c0b15d48d
diff --git a/metadata/md5-cache/sys-devel/arc-llvm-12.0.1-r3 b/metadata/md5-cache/sys-devel/arc-llvm-12.0.1-r3
new file mode 100644
index 0000000..2f5588d
--- /dev/null
+++ b/metadata/md5-cache/sys-devel/arc-llvm-12.0.1-r3
@@ -0,0 +1,15 @@
+DEFINED_PHASES=compile configure install prepare setup test
+DEPEND=dev-util/ninja >=dev-util/cmake-3.7.0-r1 sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+DESCRIPTION=Low Level Virtual Machine
+EAPI=6
+HOMEPAGE=https://llvm.org/
+IUSE=debug doc exegesis libedit libffi ncurses test xar xml kernel_Darwin llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARM llvm_targets_BPF llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_Sparc llvm_targets_SystemZ llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
+KEYWORDS=*
+LICENSE=UoI-NCSA rc BSD public-domain llvm_targets_ARM? ( LLVM-Grant )
+RDEPEND=!sys-devel/arc-llvm:0 !<sys-devel/arc-llvm-12
+REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARM llvm_targets_BPF llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_Sparc llvm_targets_SystemZ llvm_targets_WebAssembly llvm_targets_X86 llvm_targets_XCore ) cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
+RESTRICT=!test? ( test )
+SLOT=12
+SRC_URI=https://github.com/llvm/llvm-project/archive/llvmorg-12.0.1.tar.gz !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/llvm-12.0.1-manpages.tar.bz2 )
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	pax-utils	3551398d6ede2b572568832730cc2a45	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=2de21bd8337d3da7c97df7e2259b7162
diff --git a/metadata/md5-cache/sys-devel/autofdo-0.23 b/metadata/md5-cache/sys-devel/autofdo-0.23
deleted file mode 100644
index 8bcf5a9..0000000
--- a/metadata/md5-cache/sys-devel/autofdo-0.23
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=>=app-portage/elt-patches-20170815 dev-util/ninja dev-util/cmake
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=dev-libs/openssl:0= dev-libs/protobuf:= dev-libs/libffi sys-devel/llvm sys-libs/zlib !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Utility for generating AFDO profiles
-EAPI=7
-HOMEPAGE=http://gcc.gnu.org/wiki/AutoFDO
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND=dev-libs/openssl:0= dev-libs/protobuf:= dev-libs/libffi sys-devel/llvm sys-libs/zlib
-SLOT=0
-SRC_URI=https://github.com/google/autofdo/archive/0.23.tar.xz -> autofdo-0.23.tar.xz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cmake	b22e256fd899c7e0c747e8834eff121a	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=e58704602328cc56f5f0e174d7132322
diff --git a/metadata/md5-cache/sys-devel/autofdo-0.23-r1 b/metadata/md5-cache/sys-devel/autofdo-0.23-r1
deleted file mode 100644
index 8bcf5a9..0000000
--- a/metadata/md5-cache/sys-devel/autofdo-0.23-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=>=app-portage/elt-patches-20170815 dev-util/ninja dev-util/cmake
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=dev-libs/openssl:0= dev-libs/protobuf:= dev-libs/libffi sys-devel/llvm sys-libs/zlib !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Utility for generating AFDO profiles
-EAPI=7
-HOMEPAGE=http://gcc.gnu.org/wiki/AutoFDO
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND=dev-libs/openssl:0= dev-libs/protobuf:= dev-libs/libffi sys-devel/llvm sys-libs/zlib
-SLOT=0
-SRC_URI=https://github.com/google/autofdo/archive/0.23.tar.xz -> autofdo-0.23.tar.xz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cmake	b22e256fd899c7e0c747e8834eff121a	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=e58704602328cc56f5f0e174d7132322
diff --git a/metadata/md5-cache/sys-devel/autofdo-0.25 b/metadata/md5-cache/sys-devel/autofdo-0.25
new file mode 100644
index 0000000..2bde61f
--- /dev/null
+++ b/metadata/md5-cache/sys-devel/autofdo-0.25
@@ -0,0 +1,13 @@
+BDEPEND=>=app-portage/elt-patches-20170815 dev-util/ninja dev-util/cmake
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=dev-libs/openssl:0= dev-libs/protobuf:= dev-libs/libffi sys-devel/llvm sys-libs/zlib !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Utility for generating AFDO profiles
+EAPI=7
+HOMEPAGE=http://gcc.gnu.org/wiki/AutoFDO
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=dev-libs/openssl:0= dev-libs/protobuf:= dev-libs/libffi sys-devel/llvm sys-libs/zlib
+SLOT=0
+SRC_URI=https://github.com/google/autofdo/archive/0.25.tar.xz -> autofdo-0.25.tar.xz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cmake	b22e256fd899c7e0c747e8834eff121a	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=7c37ad4ff5e5f96768fb96f0fde2051a
diff --git a/metadata/md5-cache/sys-devel/autofdo-0.25-r1 b/metadata/md5-cache/sys-devel/autofdo-0.25-r1
new file mode 100644
index 0000000..2bde61f
--- /dev/null
+++ b/metadata/md5-cache/sys-devel/autofdo-0.25-r1
@@ -0,0 +1,13 @@
+BDEPEND=>=app-portage/elt-patches-20170815 dev-util/ninja dev-util/cmake
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=dev-libs/openssl:0= dev-libs/protobuf:= dev-libs/libffi sys-devel/llvm sys-libs/zlib !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Utility for generating AFDO profiles
+EAPI=7
+HOMEPAGE=http://gcc.gnu.org/wiki/AutoFDO
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=dev-libs/openssl:0= dev-libs/protobuf:= dev-libs/libffi sys-devel/llvm sys-libs/zlib
+SLOT=0
+SRC_URI=https://github.com/google/autofdo/archive/0.25.tar.xz -> autofdo-0.25.tar.xz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	cmake	b22e256fd899c7e0c747e8834eff121a	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=7c37ad4ff5e5f96768fb96f0fde2051a
diff --git a/metadata/md5-cache/sys-devel/binutils-2.36.1 b/metadata/md5-cache/sys-devel/binutils-2.36.1
index 7c012dd..ed53d25 100644
--- a/metadata/md5-cache/sys-devel/binutils-2.36.1
+++ b/metadata/md5-cache/sys-devel/binutils-2.36.1
@@ -11,5 +11,5 @@
 RESTRICT=!test? ( test )
 SLOT=0
 SRC_URI=mirror://gnu/binutils/binutils-2.36.1.tar.xz https://dev.gentoo.org/~dilfridge/distfiles/binutils-2.36.1-patches-3.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnuconfig	9200bfc8e0184357abfb86a08edd4fc3	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=92448b916644a46626614529cabd9c8d
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnuconfig	9200bfc8e0184357abfb86a08edd4fc3	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=28fc7bbe4d4408f0620e408440e0dd9b
diff --git a/metadata/md5-cache/sys-devel/binutils-2.36.1-r6 b/metadata/md5-cache/sys-devel/binutils-2.36.1-r6
deleted file mode 100644
index 7c012dd..0000000
--- a/metadata/md5-cache/sys-devel/binutils-2.36.1-r6
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=>=app-portage/elt-patches-20170815
-DEFINED_PHASES=compile configure install postinst postrm prepare test
-DEPEND=>=sys-devel/binutils-config-3 test? ( dev-util/dejagnu ) nls? ( sys-devel/gettext ) sys-devel/flex sys-devel/gnuconfig
-DESCRIPTION=Tools necessary to build programs
-EAPI=7
-HOMEPAGE=http://sources.redhat.com/binutils/
-IUSE=cet cros_host hardened multitarget nls test vanilla
-KEYWORDS=*
-LICENSE=|| ( GPL-3 LGPL-3 )
-RDEPEND=>=sys-devel/binutils-config-3
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=mirror://gnu/binutils/binutils-2.36.1.tar.xz https://dev.gentoo.org/~dilfridge/distfiles/binutils-2.36.1-patches-3.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnuconfig	9200bfc8e0184357abfb86a08edd4fc3	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=92448b916644a46626614529cabd9c8d
diff --git a/metadata/md5-cache/sys-devel/binutils-2.36.1-r8 b/metadata/md5-cache/sys-devel/binutils-2.36.1-r8
new file mode 100644
index 0000000..ed53d25
--- /dev/null
+++ b/metadata/md5-cache/sys-devel/binutils-2.36.1-r8
@@ -0,0 +1,15 @@
+BDEPEND=>=app-portage/elt-patches-20170815
+DEFINED_PHASES=compile configure install postinst postrm prepare test
+DEPEND=>=sys-devel/binutils-config-3 test? ( dev-util/dejagnu ) nls? ( sys-devel/gettext ) sys-devel/flex sys-devel/gnuconfig
+DESCRIPTION=Tools necessary to build programs
+EAPI=7
+HOMEPAGE=http://sources.redhat.com/binutils/
+IUSE=cet cros_host hardened multitarget nls test vanilla
+KEYWORDS=*
+LICENSE=|| ( GPL-3 LGPL-3 )
+RDEPEND=>=sys-devel/binutils-config-3
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=mirror://gnu/binutils/binutils-2.36.1.tar.xz https://dev.gentoo.org/~dilfridge/distfiles/binutils-2.36.1-patches-3.tar.xz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	gnuconfig	9200bfc8e0184357abfb86a08edd4fc3	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=28fc7bbe4d4408f0620e408440e0dd9b
diff --git a/metadata/md5-cache/sys-devel/crossdev-20211027 b/metadata/md5-cache/sys-devel/crossdev-20211027
index 087063b..8ba62c5 100644
--- a/metadata/md5-cache/sys-devel/crossdev-20211027
+++ b/metadata/md5-cache/sys-devel/crossdev-20211027
@@ -8,4 +8,4 @@
 RDEPEND=>=sys-apps/portage-2.1 >=app-portage/portage-utils-0.55 app-shells/bash sys-apps/gentoo-functions
 SLOT=0
 SRC_URI=mirror://gentoo/crossdev-20211027.tar.xz https://dev.gentoo.org/~sam/distfiles/crossdev-20211027.tar.xz https://dev.gentoo.org/~vapier/dist/crossdev-20211027.tar.xz
-_md5_=5a34fe9a4c55f7cc51a8238535e12085
+_md5_=6fca5c76662897a7f5fbbf9e0e51fd4c
diff --git a/metadata/md5-cache/sys-devel/crossdev-20211027-r1 b/metadata/md5-cache/sys-devel/crossdev-20211027-r1
deleted file mode 100644
index 087063b..0000000
--- a/metadata/md5-cache/sys-devel/crossdev-20211027-r1
+++ /dev/null
@@ -1,11 +0,0 @@
-BDEPEND=app-arch/xz-utils
-DEFINED_PHASES=install
-DESCRIPTION=Gentoo Cross-toolchain generator
-EAPI=7
-HOMEPAGE=https://wiki.gentoo.org/wiki/Project:Crossdev
-KEYWORDS=*
-LICENSE=GPL-2
-RDEPEND=>=sys-apps/portage-2.1 >=app-portage/portage-utils-0.55 app-shells/bash sys-apps/gentoo-functions
-SLOT=0
-SRC_URI=mirror://gentoo/crossdev-20211027.tar.xz https://dev.gentoo.org/~sam/distfiles/crossdev-20211027.tar.xz https://dev.gentoo.org/~vapier/dist/crossdev-20211027.tar.xz
-_md5_=5a34fe9a4c55f7cc51a8238535e12085
diff --git a/metadata/md5-cache/sys-devel/crossdev-20211027-r2 b/metadata/md5-cache/sys-devel/crossdev-20211027-r2
new file mode 100644
index 0000000..8ba62c5
--- /dev/null
+++ b/metadata/md5-cache/sys-devel/crossdev-20211027-r2
@@ -0,0 +1,11 @@
+BDEPEND=app-arch/xz-utils
+DEFINED_PHASES=install
+DESCRIPTION=Gentoo Cross-toolchain generator
+EAPI=7
+HOMEPAGE=https://wiki.gentoo.org/wiki/Project:Crossdev
+KEYWORDS=*
+LICENSE=GPL-2
+RDEPEND=>=sys-apps/portage-2.1 >=app-portage/portage-utils-0.55 app-shells/bash sys-apps/gentoo-functions
+SLOT=0
+SRC_URI=mirror://gentoo/crossdev-20211027.tar.xz https://dev.gentoo.org/~sam/distfiles/crossdev-20211027.tar.xz https://dev.gentoo.org/~vapier/dist/crossdev-20211027.tar.xz
+_md5_=6fca5c76662897a7f5fbbf9e0e51fd4c
diff --git a/metadata/md5-cache/sys-devel/gcc-10.2.0 b/metadata/md5-cache/sys-devel/gcc-10.2.0
index 5b0b74d..221fece 100644
--- a/metadata/md5-cache/sys-devel/gcc-10.2.0
+++ b/metadata/md5-cache/sys-devel/gcc-10.2.0
@@ -3,7 +3,7 @@
 DEPEND=>=sys-libs/zlib-1.1.4 >=sys-devel/gcc-config-1.6 virtual/libiconv >=dev-libs/gmp-4.3.2 >=dev-libs/mpc-0.8.1 >=dev-libs/mpfr-2.4.2 graphite? ( >=dev-libs/cloog-0.18.0 >=dev-libs/isl-0.11.1 ) test? ( >=dev-util/dejagnu-1.4.4 >=sys-devel/autogen-5.5.4 ) >=sys-apps/texinfo-4.8 >=sys-devel/bison-1.875
 DESCRIPTION=The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking. This Compiler is based off of Crosstoolv14.
 EAPI=7
-IUSE=cet gcc_repo gcj git_gcc go graphite gtk hardened hardfp llvm-next llvm-tot mounted_gcc multilib nls cxx openmp test tests +thumb upstream_gcc vanilla vtable_verify +wrapper_ccache
+IUSE=cet gcc_repo gcj git_gcc go graphite gtk hardened hardfp mounted_gcc multilib nls cxx openmp test tests +thumb upstream_gcc vanilla vtable_verify +wrapper_ccache
 KEYWORDS=*
 LICENSE=GPL-3 LGPL-3 libgcc FDL-1.2
 PDEPEND=>=sys-devel/gcc-config-2.3
@@ -12,4 +12,4 @@
 SLOT=x86_64-pc-linux-gnu
 SRC_URI=mirror://gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.xz https://dev.gentoo.org/~slyfox/distfiles/gcc-10.2.0-patches-6.tar.bz2
 _eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0433a0777598ce6af1db52e8b2859dd7
+_md5_=1593151a0862fe7a15f6ae1fdb2c5470
diff --git a/metadata/md5-cache/sys-devel/gcc-10.2.0-r25 b/metadata/md5-cache/sys-devel/gcc-10.2.0-r25
deleted file mode 100644
index 5b0b74d..0000000
--- a/metadata/md5-cache/sys-devel/gcc-10.2.0-r25
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=sys-devel/binutils
-DEFINED_PHASES=compile configure install postinst postrm prepare
-DEPEND=>=sys-libs/zlib-1.1.4 >=sys-devel/gcc-config-1.6 virtual/libiconv >=dev-libs/gmp-4.3.2 >=dev-libs/mpc-0.8.1 >=dev-libs/mpfr-2.4.2 graphite? ( >=dev-libs/cloog-0.18.0 >=dev-libs/isl-0.11.1 ) test? ( >=dev-util/dejagnu-1.4.4 >=sys-devel/autogen-5.5.4 ) >=sys-apps/texinfo-4.8 >=sys-devel/bison-1.875
-DESCRIPTION=The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking. This Compiler is based off of Crosstoolv14.
-EAPI=7
-IUSE=cet gcc_repo gcj git_gcc go graphite gtk hardened hardfp llvm-next llvm-tot mounted_gcc multilib nls cxx openmp test tests +thumb upstream_gcc vanilla vtable_verify +wrapper_ccache
-KEYWORDS=*
-LICENSE=GPL-3 LGPL-3 libgcc FDL-1.2
-PDEPEND=>=sys-devel/gcc-config-2.3
-RDEPEND=>=sys-libs/zlib-1.1.4 >=sys-devel/gcc-config-1.6 virtual/libiconv >=dev-libs/gmp-4.3.2 >=dev-libs/mpc-0.8.1 >=dev-libs/mpfr-2.4.2 graphite? ( >=dev-libs/cloog-0.18.0 >=dev-libs/isl-0.11.1 )
-RESTRICT=strip
-SLOT=x86_64-pc-linux-gnu
-SRC_URI=mirror://gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.xz https://dev.gentoo.org/~slyfox/distfiles/gcc-10.2.0-patches-6.tar.bz2
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0433a0777598ce6af1db52e8b2859dd7
diff --git a/metadata/md5-cache/sys-devel/gcc-10.2.0-r28 b/metadata/md5-cache/sys-devel/gcc-10.2.0-r28
new file mode 100644
index 0000000..221fece
--- /dev/null
+++ b/metadata/md5-cache/sys-devel/gcc-10.2.0-r28
@@ -0,0 +1,15 @@
+BDEPEND=sys-devel/binutils
+DEFINED_PHASES=compile configure install postinst postrm prepare
+DEPEND=>=sys-libs/zlib-1.1.4 >=sys-devel/gcc-config-1.6 virtual/libiconv >=dev-libs/gmp-4.3.2 >=dev-libs/mpc-0.8.1 >=dev-libs/mpfr-2.4.2 graphite? ( >=dev-libs/cloog-0.18.0 >=dev-libs/isl-0.11.1 ) test? ( >=dev-util/dejagnu-1.4.4 >=sys-devel/autogen-5.5.4 ) >=sys-apps/texinfo-4.8 >=sys-devel/bison-1.875
+DESCRIPTION=The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking. This Compiler is based off of Crosstoolv14.
+EAPI=7
+IUSE=cet gcc_repo gcj git_gcc go graphite gtk hardened hardfp mounted_gcc multilib nls cxx openmp test tests +thumb upstream_gcc vanilla vtable_verify +wrapper_ccache
+KEYWORDS=*
+LICENSE=GPL-3 LGPL-3 libgcc FDL-1.2
+PDEPEND=>=sys-devel/gcc-config-2.3
+RDEPEND=>=sys-libs/zlib-1.1.4 >=sys-devel/gcc-config-1.6 virtual/libiconv >=dev-libs/gmp-4.3.2 >=dev-libs/mpc-0.8.1 >=dev-libs/mpfr-2.4.2 graphite? ( >=dev-libs/cloog-0.18.0 >=dev-libs/isl-0.11.1 )
+RESTRICT=strip
+SLOT=x86_64-pc-linux-gnu
+SRC_URI=mirror://gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.xz https://dev.gentoo.org/~slyfox/distfiles/gcc-10.2.0-patches-6.tar.bz2
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1593151a0862fe7a15f6ae1fdb2c5470
diff --git a/metadata/md5-cache/sys-devel/gcc-bin-4.9.2 b/metadata/md5-cache/sys-devel/gcc-bin-4.9.2
index ff80fca..018e8c4 100644
--- a/metadata/md5-cache/sys-devel/gcc-bin-4.9.2
+++ b/metadata/md5-cache/sys-devel/gcc-bin-4.9.2
@@ -7,4 +7,4 @@
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=gs://chromiumos-sdk/2021/01/aarch64-cros-linux-gnu-2021.01.04.014317.tar.xz gs://chromiumos-sdk/2021/01/armv7a-cros-linux-gnueabihf-2021.01.04.014317.tar.xz gs://chromiumos-sdk/2021/01/x86_64-cros-linux-gnu-2021.01.04.014317.tar.xz
-_md5_=29a0abb3359a0dcbaeee4ed782898cd1
+_md5_=dd64ae0617d20047cd6c3ba6efb30f97
diff --git a/metadata/md5-cache/sys-devel/gcc-bin-4.9.2-r3 b/metadata/md5-cache/sys-devel/gcc-bin-4.9.2-r3
deleted file mode 100644
index ff80fca..0000000
--- a/metadata/md5-cache/sys-devel/gcc-bin-4.9.2-r3
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=install prepare unpack
-DESCRIPTION=Frozen GCC 4.9.2 toolchains for Chrome OS
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os
-KEYWORDS=*
-LICENSE=GPL-3 LGPL-3 libgcc FDL-1.2
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=gs://chromiumos-sdk/2021/01/aarch64-cros-linux-gnu-2021.01.04.014317.tar.xz gs://chromiumos-sdk/2021/01/armv7a-cros-linux-gnueabihf-2021.01.04.014317.tar.xz gs://chromiumos-sdk/2021/01/x86_64-cros-linux-gnu-2021.01.04.014317.tar.xz
-_md5_=29a0abb3359a0dcbaeee4ed782898cd1
diff --git a/metadata/md5-cache/sys-devel/gcc-bin-4.9.2-r4 b/metadata/md5-cache/sys-devel/gcc-bin-4.9.2-r4
new file mode 100644
index 0000000..018e8c4
--- /dev/null
+++ b/metadata/md5-cache/sys-devel/gcc-bin-4.9.2-r4
@@ -0,0 +1,10 @@
+DEFINED_PHASES=install prepare unpack
+DESCRIPTION=Frozen GCC 4.9.2 toolchains for Chrome OS
+EAPI=7
+HOMEPAGE=https://www.chromium.org/chromium-os
+KEYWORDS=*
+LICENSE=GPL-3 LGPL-3 libgcc FDL-1.2
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=gs://chromiumos-sdk/2021/01/aarch64-cros-linux-gnu-2021.01.04.014317.tar.xz gs://chromiumos-sdk/2021/01/armv7a-cros-linux-gnueabihf-2021.01.04.014317.tar.xz gs://chromiumos-sdk/2021/01/x86_64-cros-linux-gnu-2021.01.04.014317.tar.xz
+_md5_=dd64ae0617d20047cd6c3ba6efb30f97
diff --git a/metadata/md5-cache/sys-devel/gdb-9.2.20200923 b/metadata/md5-cache/sys-devel/gdb-9.2.20200923
index 8aba110..0911ba4 100644
--- a/metadata/md5-cache/sys-devel/gdb-9.2.20200923
+++ b/metadata/md5-cache/sys-devel/gdb-9.2.20200923
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install postinst prepare setup test unpack
-DEPEND=server? ( !dev-util/gdbserver ) client? ( sys-libs/readline:0= lzma? ( app-arch/xz-utils ) python? ( python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) ) xml? ( dev-libs/expat ) sys-libs/zlib ) app-arch/xz-utils sys-apps/texinfo client? ( >=sys-libs/ncurses-5.2-r2:0= virtual/yacc test? ( dev-util/dejagnu ) nls? ( sys-devel/gettext ) )
+DEPEND=server? ( !dev-util/gdbserver ) client? ( sys-libs/readline:0= lzma? ( app-arch/xz-utils ) python? ( python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) ) xml? ( dev-libs/expat ) sys-libs/zlib ) app-arch/xz-utils sys-apps/texinfo client? ( >=sys-libs/ncurses-5.2-r2:0= virtual/yacc test? ( dev-util/dejagnu ) nls? ( sys-devel/gettext ) )
 DESCRIPTION=GNU debugger
-EAPI=6
+EAPI=7
 HOMEPAGE=https://sourceware.org/gdb/
-IUSE=+client lzma mounted_sources multitarget nls +python +server test vanilla xml python_single_target_python2_7 python_single_target_python3_6
+IUSE=+client lzma mounted_sources multitarget nls +python +server test vanilla xml python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
 KEYWORDS=*
 LICENSE=GPL-2 LGPL-2
-RDEPEND=server? ( !dev-util/gdbserver ) client? ( sys-libs/readline:0= lzma? ( app-arch/xz-utils ) python? ( python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) ) xml? ( dev-libs/expat ) sys-libs/zlib )
-REQUIRED_USE=python? ( ^^ ( python_single_target_python2_7 python_single_target_python3_6 ) ) || ( client server )
+RDEPEND=server? ( !dev-util/gdbserver ) client? ( sys-libs/readline:0= lzma? ( app-arch/xz-utils ) python? ( python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) ) xml? ( dev-libs/expat ) sys-libs/zlib )
+REQUIRED_USE=python? ( ^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 ) ) || ( client server )
 SLOT=0
 SRC_URI=https://android.googlesource.com/toolchain/gdb/+archive/234e271db36e2a8be022f7a4bbabfa1623a6ae9a.tar.gz -> gdb-9.2.20200923.tar.gz
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	versionator	26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=b06e5439dedb5938d084945045bab76f
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=468866471668fad265feb09fbc9e6dd2
diff --git a/metadata/md5-cache/sys-devel/gdb-9.2.20200923-r6 b/metadata/md5-cache/sys-devel/gdb-9.2.20200923-r6
deleted file mode 100644
index 8aba110..0000000
--- a/metadata/md5-cache/sys-devel/gdb-9.2.20200923-r6
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst prepare setup test unpack
-DEPEND=server? ( !dev-util/gdbserver ) client? ( sys-libs/readline:0= lzma? ( app-arch/xz-utils ) python? ( python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) ) xml? ( dev-libs/expat ) sys-libs/zlib ) app-arch/xz-utils sys-apps/texinfo client? ( >=sys-libs/ncurses-5.2-r2:0= virtual/yacc test? ( dev-util/dejagnu ) nls? ( sys-devel/gettext ) )
-DESCRIPTION=GNU debugger
-EAPI=6
-HOMEPAGE=https://sourceware.org/gdb/
-IUSE=+client lzma mounted_sources multitarget nls +python +server test vanilla xml python_single_target_python2_7 python_single_target_python3_6
-KEYWORDS=*
-LICENSE=GPL-2 LGPL-2
-RDEPEND=server? ( !dev-util/gdbserver ) client? ( sys-libs/readline:0= lzma? ( app-arch/xz-utils ) python? ( python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) ) xml? ( dev-libs/expat ) sys-libs/zlib )
-REQUIRED_USE=python? ( ^^ ( python_single_target_python2_7 python_single_target_python3_6 ) ) || ( client server )
-SLOT=0
-SRC_URI=https://android.googlesource.com/toolchain/gdb/+archive/234e271db36e2a8be022f7a4bbabfa1623a6ae9a.tar.gz -> gdb-9.2.20200923.tar.gz
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	versionator	26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=b06e5439dedb5938d084945045bab76f
diff --git a/metadata/md5-cache/sys-devel/gdb-9.2.20200923-r9 b/metadata/md5-cache/sys-devel/gdb-9.2.20200923-r9
new file mode 100644
index 0000000..0911ba4
--- /dev/null
+++ b/metadata/md5-cache/sys-devel/gdb-9.2.20200923-r9
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst prepare setup test unpack
+DEPEND=server? ( !dev-util/gdbserver ) client? ( sys-libs/readline:0= lzma? ( app-arch/xz-utils ) python? ( python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) ) xml? ( dev-libs/expat ) sys-libs/zlib ) app-arch/xz-utils sys-apps/texinfo client? ( >=sys-libs/ncurses-5.2-r2:0= virtual/yacc test? ( dev-util/dejagnu ) nls? ( sys-devel/gettext ) )
+DESCRIPTION=GNU debugger
+EAPI=7
+HOMEPAGE=https://sourceware.org/gdb/
+IUSE=+client lzma mounted_sources multitarget nls +python +server test vanilla xml python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
+KEYWORDS=*
+LICENSE=GPL-2 LGPL-2
+RDEPEND=server? ( !dev-util/gdbserver ) client? ( sys-libs/readline:0= lzma? ( app-arch/xz-utils ) python? ( python_single_target_python3_6? ( dev-lang/python:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( dev-lang/python:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) python_single_target_python3_8? ( dev-lang/python:3.8 >=dev-lang/python-exec-2:=[python_targets_python3_8] ) python_single_target_python3_9? ( dev-lang/python:3.9 >=dev-lang/python-exec-2:=[python_targets_python3_9] ) ) xml? ( dev-libs/expat ) sys-libs/zlib )
+REQUIRED_USE=python? ( ^^ ( python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 ) ) || ( client server )
+SLOT=0
+SRC_URI=https://android.googlesource.com/toolchain/gdb/+archive/234e271db36e2a8be022f7a4bbabfa1623a6ae9a.tar.gz -> gdb-9.2.20200923.tar.gz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=468866471668fad265feb09fbc9e6dd2
diff --git a/metadata/md5-cache/sys-devel/llvm-14.0_pre445002_p20220217 b/metadata/md5-cache/sys-devel/llvm-14.0_pre445002_p20220217
deleted file mode 100644
index c19761d..0000000
--- a/metadata/md5-cache/sys-devel/llvm-14.0_pre445002_p20220217
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-lang/perl libffi? ( virtual/pkgconfig ) sys-devel/gnuconfig || ( ( dev-lang/python:3.9 dev-python/sphinx[python_targets_python3_9(-),python_single_target_python3_9(+)] doc? ( dev-python/recommonmark[python_targets_python3_9(-),python_single_target_python3_9(+)] ) ) ( dev-lang/python:3.8 dev-python/sphinx[python_targets_python3_8(-),python_single_target_python3_8(+)] doc? ( dev-python/recommonmark[python_targets_python3_8(-),python_single_target_python3_8(+)] ) ) ( dev-lang/python:3.7 dev-python/sphinx[python_targets_python3_7(-),python_single_target_python3_7(+)] doc? ( dev-python/recommonmark[python_targets_python3_7(-),python_single_target_python3_7(+)] ) ) ( dev-lang/python:3.6 dev-python/sphinx[python_targets_python3_6(-),python_single_target_python3_6(+)] doc? ( dev-python/recommonmark[python_targets_python3_6(-),python_single_target_python3_6(+)] ) ) ) dev-util/ninja dev-util/cmake >=dev-vcs/git-1.8.2.1[curl]
-DEFINED_PHASES=compile configure install postinst postrm prepare setup test unpack
-DEPEND=sys-libs/zlib:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] libedit? ( dev-libs/libedit:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libffi? ( >=virtual/libffi-3.0.13-r1:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ocaml? ( >=dev-lang/ocaml-4.00.0:0= dev-ml/findlib dev-ml/ocaml-ctypes ) sys-devel/binutils ocaml? ( test? ( dev-ml/ounit ) )
-DESCRIPTION=Low Level Virtual Machine
-EAPI=7
-HOMEPAGE=http://llvm.org/
-IUSE=debug +default-compiler-rt +default-libcxx doc libedit +libffi +llvm-crt llvm-next llvm_pgo_generate +llvm_pgo_use llvm-next_pgo_use llvm-tot multitarget ncurses ocaml test +thinlto xml video_cards_radeon abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=-* amd64
-LICENSE=UoI-NCSA
-PROPERTIES=live
-RDEPEND=sys-libs/zlib:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] libedit? ( dev-libs/libedit:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libffi? ( >=virtual/libffi-3.0.13-r1:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ocaml? ( >=dev-lang/ocaml-4.00.0:0= dev-ml/findlib dev-ml/ocaml-ctypes ) abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] ) !<=sys-devel/llvm-8.0_pre !sys-devel/lld !sys-devel/clang
-REQUIRED_USE=llvm_pgo_generate? ( !llvm_pgo_use )
-SLOT=8
-SRC_URI=!llvm-tot? ( !llvm-next? ( llvm_pgo_use? ( gs://chromeos-localmirror/distfiles/llvm-profdata-18308e171b5b1dd99627a4d88c7d6c5ff21b8c96.tar.xz ) ) llvm-next? ( llvm-next_pgo_use? ( gs://chromeos-localmirror/distfiles/llvm-profdata-18308e171b5b1dd99627a4d88c7d6c5ff21b8c96.tar.xz ) ) )
-_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-r3	c8f4649ab5a3c07ee2b75b12bc446f6a	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	pax-utils	3551398d6ede2b572568832730cc2a45	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=d1a49ae2e0a54b57437df613a0ce9390
diff --git a/metadata/md5-cache/sys-devel/llvm-14.0_pre445002_p20220217-r1 b/metadata/md5-cache/sys-devel/llvm-14.0_pre445002_p20220217-r1
deleted file mode 100644
index c19761d..0000000
--- a/metadata/md5-cache/sys-devel/llvm-14.0_pre445002_p20220217-r1
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-lang/perl libffi? ( virtual/pkgconfig ) sys-devel/gnuconfig || ( ( dev-lang/python:3.9 dev-python/sphinx[python_targets_python3_9(-),python_single_target_python3_9(+)] doc? ( dev-python/recommonmark[python_targets_python3_9(-),python_single_target_python3_9(+)] ) ) ( dev-lang/python:3.8 dev-python/sphinx[python_targets_python3_8(-),python_single_target_python3_8(+)] doc? ( dev-python/recommonmark[python_targets_python3_8(-),python_single_target_python3_8(+)] ) ) ( dev-lang/python:3.7 dev-python/sphinx[python_targets_python3_7(-),python_single_target_python3_7(+)] doc? ( dev-python/recommonmark[python_targets_python3_7(-),python_single_target_python3_7(+)] ) ) ( dev-lang/python:3.6 dev-python/sphinx[python_targets_python3_6(-),python_single_target_python3_6(+)] doc? ( dev-python/recommonmark[python_targets_python3_6(-),python_single_target_python3_6(+)] ) ) ) dev-util/ninja dev-util/cmake >=dev-vcs/git-1.8.2.1[curl]
-DEFINED_PHASES=compile configure install postinst postrm prepare setup test unpack
-DEPEND=sys-libs/zlib:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] libedit? ( dev-libs/libedit:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libffi? ( >=virtual/libffi-3.0.13-r1:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ocaml? ( >=dev-lang/ocaml-4.00.0:0= dev-ml/findlib dev-ml/ocaml-ctypes ) sys-devel/binutils ocaml? ( test? ( dev-ml/ounit ) )
-DESCRIPTION=Low Level Virtual Machine
-EAPI=7
-HOMEPAGE=http://llvm.org/
-IUSE=debug +default-compiler-rt +default-libcxx doc libedit +libffi +llvm-crt llvm-next llvm_pgo_generate +llvm_pgo_use llvm-next_pgo_use llvm-tot multitarget ncurses ocaml test +thinlto xml video_cards_radeon abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=-* amd64
-LICENSE=UoI-NCSA
-PROPERTIES=live
-RDEPEND=sys-libs/zlib:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] libedit? ( dev-libs/libedit:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libffi? ( >=virtual/libffi-3.0.13-r1:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ocaml? ( >=dev-lang/ocaml-4.00.0:0= dev-ml/findlib dev-ml/ocaml-ctypes ) abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] ) !<=sys-devel/llvm-8.0_pre !sys-devel/lld !sys-devel/clang
-REQUIRED_USE=llvm_pgo_generate? ( !llvm_pgo_use )
-SLOT=8
-SRC_URI=!llvm-tot? ( !llvm-next? ( llvm_pgo_use? ( gs://chromeos-localmirror/distfiles/llvm-profdata-18308e171b5b1dd99627a4d88c7d6c5ff21b8c96.tar.xz ) ) llvm-next? ( llvm-next_pgo_use? ( gs://chromeos-localmirror/distfiles/llvm-profdata-18308e171b5b1dd99627a4d88c7d6c5ff21b8c96.tar.xz ) ) )
-_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-r3	c8f4649ab5a3c07ee2b75b12bc446f6a	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	pax-utils	3551398d6ede2b572568832730cc2a45	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=d1a49ae2e0a54b57437df613a0ce9390
diff --git a/metadata/md5-cache/sys-devel/llvm-15.0_pre458507_p20220602 b/metadata/md5-cache/sys-devel/llvm-15.0_pre458507_p20220602
new file mode 100644
index 0000000..6508777
--- /dev/null
+++ b/metadata/md5-cache/sys-devel/llvm-15.0_pre458507_p20220602
@@ -0,0 +1,16 @@
+BDEPEND=dev-lang/perl libffi? ( virtual/pkgconfig ) sys-devel/gnuconfig python_single_target_python3_6? ( dev-python/sphinx[python_targets_python3_6(-)] doc? ( dev-python/recommonmark[python_targets_python3_6(-)] ) ) python_single_target_python3_7? ( dev-python/sphinx[python_targets_python3_7(-)] doc? ( dev-python/recommonmark[python_targets_python3_7(-)] ) ) python_single_target_python3_8? ( dev-python/sphinx[python_targets_python3_8(-)] doc? ( dev-python/recommonmark[python_targets_python3_8(-)] ) ) python_single_target_python3_9? ( dev-python/sphinx[python_targets_python3_9(-)] doc? ( dev-python/recommonmark[python_targets_python3_9(-)] ) ) dev-util/ninja dev-util/cmake >=dev-vcs/git-1.8.2.1[curl]
+DEFINED_PHASES=compile configure install postinst postrm prepare setup test unpack
+DEPEND=sys-libs/zlib:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] libedit? ( dev-libs/libedit:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ocaml? ( >=dev-lang/ocaml-4.00.0:0= dev-ml/findlib dev-ml/ocaml-ctypes ) sys-devel/binutils ocaml? ( test? ( dev-ml/ounit ) )
+DESCRIPTION=Low Level Virtual Machine
+EAPI=7
+HOMEPAGE=http://llvm.org/
+IUSE=debug +default-compiler-rt +default-libcxx doc libedit +libffi +llvm-crt llvm-next llvm_pgo_generate +llvm_pgo_use llvm-next_pgo_use llvm-tot multitarget ncurses ocaml test +thinlto xml video_cards_radeon continue-on-patch-failure abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
+KEYWORDS=-* amd64
+LICENSE=UoI-NCSA
+PROPERTIES=live
+RDEPEND=sys-libs/zlib:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] libedit? ( dev-libs/libedit:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ocaml? ( >=dev-lang/ocaml-4.00.0:0= dev-ml/findlib dev-ml/ocaml-ctypes ) abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] ) !<=sys-devel/llvm-8.0_pre !sys-devel/lld !sys-devel/clang
+REQUIRED_USE=llvm_pgo_generate? ( !llvm_pgo_use )
+SLOT=8
+SRC_URI=!llvm-tot? ( !llvm-next? ( llvm_pgo_use? ( gs://chromeos-localmirror/distfiles/llvm-profdata-a58d0af058038595c93de961b725f86997cf8d4a.tar.xz ) ) llvm-next? ( llvm-next_pgo_use? ( gs://chromeos-localmirror/distfiles/llvm-profdata-db1978b67431ca3462ad8935bf662c15750b8252.tar.xz ) ) )
+_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-r3	c8f4649ab5a3c07ee2b75b12bc446f6a	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	pax-utils	3551398d6ede2b572568832730cc2a45	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=9659ffb8a820d4afe78ffbd7397cb079
diff --git a/metadata/md5-cache/sys-devel/llvm-15.0_pre458507_p20220602-r18 b/metadata/md5-cache/sys-devel/llvm-15.0_pre458507_p20220602-r18
new file mode 100644
index 0000000..6508777
--- /dev/null
+++ b/metadata/md5-cache/sys-devel/llvm-15.0_pre458507_p20220602-r18
@@ -0,0 +1,16 @@
+BDEPEND=dev-lang/perl libffi? ( virtual/pkgconfig ) sys-devel/gnuconfig python_single_target_python3_6? ( dev-python/sphinx[python_targets_python3_6(-)] doc? ( dev-python/recommonmark[python_targets_python3_6(-)] ) ) python_single_target_python3_7? ( dev-python/sphinx[python_targets_python3_7(-)] doc? ( dev-python/recommonmark[python_targets_python3_7(-)] ) ) python_single_target_python3_8? ( dev-python/sphinx[python_targets_python3_8(-)] doc? ( dev-python/recommonmark[python_targets_python3_8(-)] ) ) python_single_target_python3_9? ( dev-python/sphinx[python_targets_python3_9(-)] doc? ( dev-python/recommonmark[python_targets_python3_9(-)] ) ) dev-util/ninja dev-util/cmake >=dev-vcs/git-1.8.2.1[curl]
+DEFINED_PHASES=compile configure install postinst postrm prepare setup test unpack
+DEPEND=sys-libs/zlib:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] libedit? ( dev-libs/libedit:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ocaml? ( >=dev-lang/ocaml-4.00.0:0= dev-ml/findlib dev-ml/ocaml-ctypes ) sys-devel/binutils ocaml? ( test? ( dev-ml/ounit ) )
+DESCRIPTION=Low Level Virtual Machine
+EAPI=7
+HOMEPAGE=http://llvm.org/
+IUSE=debug +default-compiler-rt +default-libcxx doc libedit +libffi +llvm-crt llvm-next llvm_pgo_generate +llvm_pgo_use llvm-next_pgo_use llvm-tot multitarget ncurses ocaml test +thinlto xml video_cards_radeon continue-on-patch-failure abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9
+KEYWORDS=-* amd64
+LICENSE=UoI-NCSA
+PROPERTIES=live
+RDEPEND=sys-libs/zlib:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] libedit? ( dev-libs/libedit:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ocaml? ( >=dev-lang/ocaml-4.00.0:0= dev-ml/findlib dev-ml/ocaml-ctypes ) abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] ) !<=sys-devel/llvm-8.0_pre !sys-devel/lld !sys-devel/clang
+REQUIRED_USE=llvm_pgo_generate? ( !llvm_pgo_use )
+SLOT=8
+SRC_URI=!llvm-tot? ( !llvm-next? ( llvm_pgo_use? ( gs://chromeos-localmirror/distfiles/llvm-profdata-a58d0af058038595c93de961b725f86997cf8d4a.tar.xz ) ) llvm-next? ( llvm-next_pgo_use? ( gs://chromeos-localmirror/distfiles/llvm-profdata-db1978b67431ca3462ad8935bf662c15750b8252.tar.xz ) ) )
+_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-r3	c8f4649ab5a3c07ee2b75b12bc446f6a	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	pax-utils	3551398d6ede2b572568832730cc2a45	python-single-r1	674c48c926cbb44e91b656e0399d8f54	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=9659ffb8a820d4afe78ffbd7397cb079
diff --git a/metadata/md5-cache/sys-firmware/analogix-anx3447-firmware-0.1.15-r1 b/metadata/md5-cache/sys-firmware/analogix-anx3447-firmware-0.1.15-r1
new file mode 100644
index 0000000..d7c0689
--- /dev/null
+++ b/metadata/md5-cache/sys-firmware/analogix-anx3447-firmware-0.1.15-r1
@@ -0,0 +1,8 @@
+DEFINED_PHASES=install
+DESCRIPTION=ANX3447 Firmware Binary
+EAPI=7
+KEYWORDS=*
+LICENSE=Apache-2.0
+SLOT=0
+SRC_URI=gs://chromeos-localmirror/distfiles/analogix-anx3447-firmware-0.1.15.tar.xz
+_md5_=9d6a6c6ff219e0d9bc2ee06749d7a8a8
diff --git a/metadata/md5-cache/sys-firmware/ap-firmware-config-0.0.1-r111 b/metadata/md5-cache/sys-firmware/ap-firmware-config-0.0.1-r111
deleted file mode 100644
index 690eae9..0000000
--- a/metadata/md5-cache/sys-firmware/ap-firmware-config-0.0.1-r111
+++ /dev/null
@@ -1,12 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install setup unpack
-DESCRIPTION=Exports JSON config from chromite/lib/firmware/ap_firmware_config
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/chromite/+/refs/heads/main/lib/firmware/README.md
-IUSE=cros_host cros_workon_tree_a58f4c6a970f9c1d926bf95ac3144fd3f0e20fe2_9dc51c42f7c3bc915dba587092317fd6391e1477_559ac58cdfbc906b59b51655ea2fbe6c57faea6e_9a7af1d1341bf696f721159ae6aa221f639b5478
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-SLOT=0/0.0.1-r111
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9bed9505013908205a138b2226dde8c3
diff --git a/metadata/md5-cache/sys-firmware/ap-firmware-config-0.0.1-r418 b/metadata/md5-cache/sys-firmware/ap-firmware-config-0.0.1-r418
new file mode 100644
index 0000000..022bc03
--- /dev/null
+++ b/metadata/md5-cache/sys-firmware/ap-firmware-config-0.0.1-r418
@@ -0,0 +1,12 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install setup unpack
+DESCRIPTION=Exports JSON config from chromite/lib/firmware/ap_firmware_config
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/chromite/+/refs/heads/main/lib/firmware/README.md
+IUSE=cros_host cros_workon_tree_a330cffda307faf662807a5e28688533cb922085_5328e03abfd1af165a3a26805d1ff6b213a3ca48_28e022f9ce27e2e0075d8f726856c964d4460dd8_047aec16e03eb36312cc201dc75d33e25ece833d
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+SLOT=0/0.0.1-r418
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=94d2bbf7af2a3fbda5a8a46f15901c33
diff --git a/metadata/md5-cache/sys-firmware/ap-firmware-config-9999 b/metadata/md5-cache/sys-firmware/ap-firmware-config-9999
index 1662fd4..038c150 100644
--- a/metadata/md5-cache/sys-firmware/ap-firmware-config-9999
+++ b/metadata/md5-cache/sys-firmware/ap-firmware-config-9999
@@ -8,5 +8,5 @@
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=13cbdef6917512255e1bdae52b7156aa
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=1ae50bc7f5c3e489656d56d7d1db9f32
diff --git a/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-bloonchipper-0.0.1-r65 b/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-bloonchipper-0.0.1-r65
deleted file mode 100644
index 69a3d91..0000000
--- a/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-bloonchipper-0.0.1-r65
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git chromeos-base/chromeos-config-host:= chromeos-base/chromeos-config-host
-DEFINED_PHASES=compile info install prepare setup test unpack
-DEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= ) dev-embedded/libftdi:1= fuzzer? ( dev-libs/libprotobuf-mutator:= ) test? ( dev-libs/libprotobuf-mutator:= ) virtual/chromeos-ec-private-files virtual/chromeos-ec-touch-firmware bootblock_in_ec? ( sys-boot/coreboot ) virtual/chromeos-ec-private-files
-DESCRIPTION=Chrome OS EC release firmware for bloonchipper.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md
-IUSE=cros_host cros_workon_tree_4a1d19df8407a704c99cbb0ab4a6b0e6dce590f2_f64a48b91fc35d5760bca966436e0effc9e5cacb_2aeca3cffd0e69db866b5623819ecd5bf8db1232 has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host unibuild cros_host cros_workon_tree_4a1d19df8407a704c99cbb0ab4a6b0e6dce590f2_f64a48b91fc35d5760bca966436e0effc9e5cacb_2aeca3cffd0e69db866b5623819ecd5bf8db1232 has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild quiet verbose +coreboot-sdk unibuild fuzzer bootblock_in_ec asan msan ubsan test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= )
-REQUIRED_USE=|| ( cros_host unibuild ) coreboot-sdk unibuild
-RESTRICT=binchecksbinchecks strip
-SLOT=0/0.0.1-r65
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-ec	58d29232cef5211a806f93f51ce608d2	cros-ec-board	b3289f96a6674f0defcdf3e911955913	cros-ec-merge-ro	bf6fcdb3af12bec49e4c1f0a4023d042	cros-ec-release	9a95b7bb0fefbcec0803c657f36fa8df	cros-ec-utils	5498f49404d3d05041dad891c1fd163c	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=36527759105bfc24abca4adf0c2313d8
diff --git a/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-bloonchipper-0.0.1-r72 b/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-bloonchipper-0.0.1-r72
new file mode 100644
index 0000000..f7a2b15
--- /dev/null
+++ b/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-bloonchipper-0.0.1-r72
@@ -0,0 +1,16 @@
+BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git chromeos-base/chromeos-config-host:= chromeos-base/chromeos-config-host
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= ) dev-embedded/libftdi:1= fuzzer? ( dev-libs/libprotobuf-mutator:= ) test? ( dev-libs/libprotobuf-mutator:= ) virtual/chromeos-ec-private-files virtual/chromeos-ec-touch-firmware bootblock_in_ec? ( sys-boot/coreboot ) virtual/chromeos-ec-private-files
+DESCRIPTION=Chrome OS EC release firmware for bloonchipper.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md
+IUSE=cros_host cros_workon_tree_9a15b4a98d7987870a1805a33883d0cf9123fc05_f6cadf087425f2c77af8879a7f83e722ab613a36_cafc71cae4ef6b3e7e64648b257b3f0ca2300e1d has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host unibuild cros_host cros_workon_tree_9a15b4a98d7987870a1805a33883d0cf9123fc05_f6cadf087425f2c77af8879a7f83e722ab613a36_cafc71cae4ef6b3e7e64648b257b3f0ca2300e1d has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild quiet verbose +coreboot-sdk unibuild fuzzer bootblock_in_ec asan msan ubsan test asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= )
+REQUIRED_USE=|| ( cros_host unibuild ) coreboot-sdk unibuild
+RESTRICT=binchecksbinchecks strip
+SLOT=0/0.0.1-r72
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-ec	8817861fcac63d6497065e52e5c26859	cros-ec-board	972232fae22a2fec7ceddda60e7a5968	cros-ec-merge-ro	61cdd63597125a792e86738b9de93469	cros-ec-release	fe9412f012ebd254d5027f0fe68e0327	cros-ec-utils	94880557ec272ce71598fd59a09d7b09	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=679ec17ec0128788619aa5f4742be851
diff --git a/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-bloonchipper-9999 b/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-bloonchipper-9999
index 5df7793..3f3ddae 100644
--- a/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-bloonchipper-9999
+++ b/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-bloonchipper-9999
@@ -1,10 +1,10 @@
 BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git chromeos-base/chromeos-config-host:= chromeos-base/chromeos-config-host
-DEFINED_PHASES=compile info install prepare setup test unpack
+DEFINED_PHASES=compile configure info install prepare setup test unpack
 DEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= ) dev-embedded/libftdi:1= fuzzer? ( dev-libs/libprotobuf-mutator:= ) test? ( dev-libs/libprotobuf-mutator:= ) virtual/chromeos-ec-private-files virtual/chromeos-ec-touch-firmware bootblock_in_ec? ( sys-boot/coreboot ) virtual/chromeos-ec-private-files
 DESCRIPTION=Chrome OS EC release firmware for bloonchipper.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md
-IUSE=cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host unibuild cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild quiet verbose +coreboot-sdk unibuild fuzzer bootblock_in_ec asan msan ubsan test
+IUSE=cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host unibuild cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild quiet verbose +coreboot-sdk unibuild fuzzer bootblock_in_ec asan msan ubsan test asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
@@ -12,5 +12,5 @@
 REQUIRED_USE=|| ( cros_host unibuild ) coreboot-sdk unibuild
 RESTRICT=binchecksbinchecks strip
 SLOT=0/9999
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-ec	58d29232cef5211a806f93f51ce608d2	cros-ec-board	b3289f96a6674f0defcdf3e911955913	cros-ec-merge-ro	bf6fcdb3af12bec49e4c1f0a4023d042	cros-ec-release	9a95b7bb0fefbcec0803c657f36fa8df	cros-ec-utils	5498f49404d3d05041dad891c1fd163c	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=03af64c32dfe7bba04c133f527c2735a
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-ec	8817861fcac63d6497065e52e5c26859	cros-ec-board	972232fae22a2fec7ceddda60e7a5968	cros-ec-merge-ro	61cdd63597125a792e86738b9de93469	cros-ec-release	fe9412f012ebd254d5027f0fe68e0327	cros-ec-utils	94880557ec272ce71598fd59a09d7b09	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=c4f447942aacc24098493ea8d1934edd
diff --git a/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-dartmonkey-0.0.1-r54 b/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-dartmonkey-0.0.1-r54
deleted file mode 100644
index b345df9..0000000
--- a/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-dartmonkey-0.0.1-r54
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git chromeos-base/chromeos-config-host:= chromeos-base/chromeos-config-host
-DEFINED_PHASES=compile info install prepare setup test unpack
-DEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= ) dev-embedded/libftdi:1= fuzzer? ( dev-libs/libprotobuf-mutator:= ) test? ( dev-libs/libprotobuf-mutator:= ) virtual/chromeos-ec-private-files virtual/chromeos-ec-touch-firmware bootblock_in_ec? ( sys-boot/coreboot ) virtual/chromeos-ec-private-files
-DESCRIPTION=Chrome OS EC release firmware for dartmonkey.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md
-IUSE=cros_host cros_workon_tree_4a1d19df8407a704c99cbb0ab4a6b0e6dce590f2_f64a48b91fc35d5760bca966436e0effc9e5cacb_2aeca3cffd0e69db866b5623819ecd5bf8db1232 has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host unibuild cros_host cros_workon_tree_4a1d19df8407a704c99cbb0ab4a6b0e6dce590f2_f64a48b91fc35d5760bca966436e0effc9e5cacb_2aeca3cffd0e69db866b5623819ecd5bf8db1232 has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild quiet verbose +coreboot-sdk unibuild fuzzer bootblock_in_ec asan msan ubsan test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= )
-REQUIRED_USE=|| ( cros_host unibuild ) coreboot-sdk unibuild
-RESTRICT=binchecksbinchecks strip
-SLOT=0/0.0.1-r54
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-ec	58d29232cef5211a806f93f51ce608d2	cros-ec-board	b3289f96a6674f0defcdf3e911955913	cros-ec-merge-ro	bf6fcdb3af12bec49e4c1f0a4023d042	cros-ec-release	9a95b7bb0fefbcec0803c657f36fa8df	cros-ec-utils	5498f49404d3d05041dad891c1fd163c	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e02bad14e09e888b97394f0748d97acd
diff --git a/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-dartmonkey-0.0.1-r61 b/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-dartmonkey-0.0.1-r61
new file mode 100644
index 0000000..5194553
--- /dev/null
+++ b/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-dartmonkey-0.0.1-r61
@@ -0,0 +1,16 @@
+BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git chromeos-base/chromeos-config-host:= chromeos-base/chromeos-config-host
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= ) dev-embedded/libftdi:1= fuzzer? ( dev-libs/libprotobuf-mutator:= ) test? ( dev-libs/libprotobuf-mutator:= ) virtual/chromeos-ec-private-files virtual/chromeos-ec-touch-firmware bootblock_in_ec? ( sys-boot/coreboot ) virtual/chromeos-ec-private-files
+DESCRIPTION=Chrome OS EC release firmware for dartmonkey.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md
+IUSE=cros_host cros_workon_tree_9a15b4a98d7987870a1805a33883d0cf9123fc05_f6cadf087425f2c77af8879a7f83e722ab613a36_cafc71cae4ef6b3e7e64648b257b3f0ca2300e1d has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host unibuild cros_host cros_workon_tree_9a15b4a98d7987870a1805a33883d0cf9123fc05_f6cadf087425f2c77af8879a7f83e722ab613a36_cafc71cae4ef6b3e7e64648b257b3f0ca2300e1d has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild quiet verbose +coreboot-sdk unibuild fuzzer bootblock_in_ec asan msan ubsan test asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= )
+REQUIRED_USE=|| ( cros_host unibuild ) coreboot-sdk unibuild
+RESTRICT=binchecksbinchecks strip
+SLOT=0/0.0.1-r61
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-ec	8817861fcac63d6497065e52e5c26859	cros-ec-board	972232fae22a2fec7ceddda60e7a5968	cros-ec-merge-ro	61cdd63597125a792e86738b9de93469	cros-ec-release	fe9412f012ebd254d5027f0fe68e0327	cros-ec-utils	94880557ec272ce71598fd59a09d7b09	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ef7050bc7c2d4c545ad2dcb2f117a18c
diff --git a/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-dartmonkey-9999 b/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-dartmonkey-9999
index f198c4a..5d19009 100644
--- a/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-dartmonkey-9999
+++ b/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-dartmonkey-9999
@@ -1,10 +1,10 @@
 BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git chromeos-base/chromeos-config-host:= chromeos-base/chromeos-config-host
-DEFINED_PHASES=compile info install prepare setup test unpack
+DEFINED_PHASES=compile configure info install prepare setup test unpack
 DEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= ) dev-embedded/libftdi:1= fuzzer? ( dev-libs/libprotobuf-mutator:= ) test? ( dev-libs/libprotobuf-mutator:= ) virtual/chromeos-ec-private-files virtual/chromeos-ec-touch-firmware bootblock_in_ec? ( sys-boot/coreboot ) virtual/chromeos-ec-private-files
 DESCRIPTION=Chrome OS EC release firmware for dartmonkey.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md
-IUSE=cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host unibuild cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild quiet verbose +coreboot-sdk unibuild fuzzer bootblock_in_ec asan msan ubsan test
+IUSE=cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host unibuild cros_host cros_workon_tree_ has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild quiet verbose +coreboot-sdk unibuild fuzzer bootblock_in_ec asan msan ubsan test asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=BSD-Google
 PROPERTIES=live live
@@ -12,5 +12,5 @@
 REQUIRED_USE=|| ( cros_host unibuild ) coreboot-sdk unibuild
 RESTRICT=binchecksbinchecks strip
 SLOT=0/9999
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-ec	58d29232cef5211a806f93f51ce608d2	cros-ec-board	b3289f96a6674f0defcdf3e911955913	cros-ec-merge-ro	bf6fcdb3af12bec49e4c1f0a4023d042	cros-ec-release	9a95b7bb0fefbcec0803c657f36fa8df	cros-ec-utils	5498f49404d3d05041dad891c1fd163c	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=8d85b9bc487073c6d3d88b20f6a4f75b
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-ec	8817861fcac63d6497065e52e5c26859	cros-ec-board	972232fae22a2fec7ceddda60e7a5968	cros-ec-merge-ro	61cdd63597125a792e86738b9de93469	cros-ec-release	fe9412f012ebd254d5027f0fe68e0327	cros-ec-utils	94880557ec272ce71598fd59a09d7b09	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=0779c020616a1d2f2d0663fffbe2122e
diff --git a/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-nami-0.0.1-r53 b/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-nami-0.0.1-r53
deleted file mode 100644
index 805f416..0000000
--- a/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-nami-0.0.1-r53
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git chromeos-base/chromeos-config-host:= chromeos-base/chromeos-config-host
-DEFINED_PHASES=compile info install prepare setup test unpack
-DEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= ) dev-embedded/libftdi:1= fuzzer? ( dev-libs/libprotobuf-mutator:= ) test? ( dev-libs/libprotobuf-mutator:= ) virtual/chromeos-ec-private-files virtual/chromeos-ec-touch-firmware bootblock_in_ec? ( sys-boot/coreboot ) virtual/chromeos-ec-private-files
-DESCRIPTION=Chrome OS EC release firmware for nami_fp.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md
-IUSE=cros_host cros_workon_tree_4a1d19df8407a704c99cbb0ab4a6b0e6dce590f2_f64a48b91fc35d5760bca966436e0effc9e5cacb_2aeca3cffd0e69db866b5623819ecd5bf8db1232 has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host unibuild cros_host cros_workon_tree_4a1d19df8407a704c99cbb0ab4a6b0e6dce590f2_f64a48b91fc35d5760bca966436e0effc9e5cacb_2aeca3cffd0e69db866b5623819ecd5bf8db1232 has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild quiet verbose +coreboot-sdk unibuild fuzzer bootblock_in_ec asan msan ubsan test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= )
-REQUIRED_USE=|| ( cros_host unibuild ) coreboot-sdk unibuild
-RESTRICT=binchecksbinchecks strip
-SLOT=0/0.0.1-r53
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-ec	58d29232cef5211a806f93f51ce608d2	cros-ec-board	b3289f96a6674f0defcdf3e911955913	cros-ec-merge-ro	bf6fcdb3af12bec49e4c1f0a4023d042	cros-ec-release	9a95b7bb0fefbcec0803c657f36fa8df	cros-ec-utils	5498f49404d3d05041dad891c1fd163c	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d27f924b81cd44e208d10ffedb504be3
diff --git a/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-nami-0.0.1-r59 b/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-nami-0.0.1-r59
new file mode 100644
index 0000000..d19f2e8
--- /dev/null
+++ b/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-nami-0.0.1-r59
@@ -0,0 +1,16 @@
+BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git chromeos-base/chromeos-config-host:= chromeos-base/chromeos-config-host
+DEFINED_PHASES=compile info install prepare setup test unpack
+DEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= ) dev-embedded/libftdi:1= fuzzer? ( dev-libs/libprotobuf-mutator:= ) test? ( dev-libs/libprotobuf-mutator:= ) virtual/chromeos-ec-private-files virtual/chromeos-ec-touch-firmware bootblock_in_ec? ( sys-boot/coreboot ) virtual/chromeos-ec-private-files
+DESCRIPTION=Chrome OS EC release firmware for nami_fp.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md
+IUSE=cros_host cros_workon_tree_9a15b4a98d7987870a1805a33883d0cf9123fc05_f6cadf087425f2c77af8879a7f83e722ab613a36_cafc71cae4ef6b3e7e64648b257b3f0ca2300e1d has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host unibuild cros_host cros_workon_tree_9a15b4a98d7987870a1805a33883d0cf9123fc05_f6cadf087425f2c77af8879a7f83e722ab613a36_cafc71cae4ef6b3e7e64648b257b3f0ca2300e1d has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild quiet verbose +coreboot-sdk unibuild fuzzer bootblock_in_ec asan msan ubsan test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= )
+REQUIRED_USE=|| ( cros_host unibuild ) coreboot-sdk unibuild
+RESTRICT=binchecksbinchecks strip
+SLOT=0/0.0.1-r59
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-ec	8817861fcac63d6497065e52e5c26859	cros-ec-board	972232fae22a2fec7ceddda60e7a5968	cros-ec-merge-ro	61cdd63597125a792e86738b9de93469	cros-ec-release	fe9412f012ebd254d5027f0fe68e0327	cros-ec-utils	94880557ec272ce71598fd59a09d7b09	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ea1f06cc529246e0491787bea388f57c
diff --git a/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-nami-9999 b/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-nami-9999
index 0c97794..9e2a91f 100644
--- a/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-nami-9999
+++ b/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-nami-9999
@@ -12,5 +12,5 @@
 REQUIRED_USE=|| ( cros_host unibuild ) coreboot-sdk unibuild
 RESTRICT=binchecksbinchecks strip
 SLOT=0/9999
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-ec	58d29232cef5211a806f93f51ce608d2	cros-ec-board	b3289f96a6674f0defcdf3e911955913	cros-ec-merge-ro	bf6fcdb3af12bec49e4c1f0a4023d042	cros-ec-release	9a95b7bb0fefbcec0803c657f36fa8df	cros-ec-utils	5498f49404d3d05041dad891c1fd163c	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-ec	8817861fcac63d6497065e52e5c26859	cros-ec-board	972232fae22a2fec7ceddda60e7a5968	cros-ec-merge-ro	61cdd63597125a792e86738b9de93469	cros-ec-release	fe9412f012ebd254d5027f0fe68e0327	cros-ec-utils	94880557ec272ce71598fd59a09d7b09	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=652dac9851b989b01eae81e8265f2d02
diff --git a/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-nocturne-0.0.1-r53 b/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-nocturne-0.0.1-r53
deleted file mode 100644
index 4b881ae..0000000
--- a/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-nocturne-0.0.1-r53
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git chromeos-base/chromeos-config-host:= chromeos-base/chromeos-config-host
-DEFINED_PHASES=compile info install prepare setup test unpack
-DEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= ) dev-embedded/libftdi:1= fuzzer? ( dev-libs/libprotobuf-mutator:= ) test? ( dev-libs/libprotobuf-mutator:= ) virtual/chromeos-ec-private-files virtual/chromeos-ec-touch-firmware bootblock_in_ec? ( sys-boot/coreboot ) virtual/chromeos-ec-private-files
-DESCRIPTION=Chrome OS EC release firmware for nocturne_fp.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md
-IUSE=cros_host cros_workon_tree_4a1d19df8407a704c99cbb0ab4a6b0e6dce590f2_f64a48b91fc35d5760bca966436e0effc9e5cacb_2aeca3cffd0e69db866b5623819ecd5bf8db1232 has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host unibuild cros_host cros_workon_tree_4a1d19df8407a704c99cbb0ab4a6b0e6dce590f2_f64a48b91fc35d5760bca966436e0effc9e5cacb_2aeca3cffd0e69db866b5623819ecd5bf8db1232 has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild quiet verbose +coreboot-sdk unibuild fuzzer bootblock_in_ec asan msan ubsan test
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live live
-RDEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= )
-REQUIRED_USE=|| ( cros_host unibuild ) coreboot-sdk unibuild
-RESTRICT=binchecksbinchecks strip
-SLOT=0/0.0.1-r53
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-ec	58d29232cef5211a806f93f51ce608d2	cros-ec-board	b3289f96a6674f0defcdf3e911955913	cros-ec-merge-ro	bf6fcdb3af12bec49e4c1f0a4023d042	cros-ec-release	9a95b7bb0fefbcec0803c657f36fa8df	cros-ec-utils	5498f49404d3d05041dad891c1fd163c	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=6410e0b52bb0e47d812ae8bb9fba0ad1
diff --git a/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-nocturne-0.0.1-r59 b/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-nocturne-0.0.1-r59
new file mode 100644
index 0000000..ad5a566
--- /dev/null
+++ b/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-nocturne-0.0.1-r59
@@ -0,0 +1,16 @@
+BDEPEND=dev-vcs/git chromeos-base/chromeos-config-host:= dev-vcs/git chromeos-base/chromeos-config-host:= chromeos-base/chromeos-config-host
+DEFINED_PHASES=compile info install prepare setup test unpack
+DEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= ) dev-embedded/libftdi:1= fuzzer? ( dev-libs/libprotobuf-mutator:= ) test? ( dev-libs/libprotobuf-mutator:= ) virtual/chromeos-ec-private-files virtual/chromeos-ec-touch-firmware bootblock_in_ec? ( sys-boot/coreboot ) virtual/chromeos-ec-private-files
+DESCRIPTION=Chrome OS EC release firmware for nocturne_fp.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md
+IUSE=cros_host cros_workon_tree_9a15b4a98d7987870a1805a33883d0cf9123fc05_f6cadf087425f2c77af8879a7f83e722ab613a36_cafc71cae4ef6b3e7e64648b257b3f0ca2300e1d has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild cros_host unibuild cros_host cros_workon_tree_9a15b4a98d7987870a1805a33883d0cf9123fc05_f6cadf087425f2c77af8879a7f83e722ab613a36_cafc71cae4ef6b3e7e64648b257b3f0ca2300e1d has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild quiet verbose +coreboot-sdk unibuild fuzzer bootblock_in_ec asan msan ubsan test
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live live
+RDEPEND=has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) fuzzer? ( dev-libs/openssl:= dev-libs/protobuf:= ) test? ( dev-libs/openssl:= dev-libs/protobuf:= )
+REQUIRED_USE=|| ( cros_host unibuild ) coreboot-sdk unibuild
+RESTRICT=binchecksbinchecks strip
+SLOT=0/0.0.1-r59
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-ec	8817861fcac63d6497065e52e5c26859	cros-ec-board	972232fae22a2fec7ceddda60e7a5968	cros-ec-merge-ro	61cdd63597125a792e86738b9de93469	cros-ec-release	fe9412f012ebd254d5027f0fe68e0327	cros-ec-utils	94880557ec272ce71598fd59a09d7b09	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=06f80e28784331eace683052cddd8b3c
diff --git a/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-nocturne-9999 b/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-nocturne-9999
index 8c1b1f6..9355e29 100644
--- a/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-nocturne-9999
+++ b/metadata/md5-cache/sys-firmware/chromeos-fpmcu-release-nocturne-9999
@@ -12,5 +12,5 @@
 REQUIRED_USE=|| ( cros_host unibuild ) coreboot-sdk unibuild
 RESTRICT=binchecksbinchecks strip
 SLOT=0/9999
-_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-ec	58d29232cef5211a806f93f51ce608d2	cros-ec-board	b3289f96a6674f0defcdf3e911955913	cros-ec-merge-ro	bf6fcdb3af12bec49e4c1f0a4023d042	cros-ec-release	9a95b7bb0fefbcec0803c657f36fa8df	cros-ec-utils	5498f49404d3d05041dad891c1fd163c	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=coreboot-sdk	b3fb569501ebe9ba5b808b9766a0392f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-ec	8817861fcac63d6497065e52e5c26859	cros-ec-board	972232fae22a2fec7ceddda60e7a5968	cros-ec-merge-ro	61cdd63597125a792e86738b9de93469	cros-ec-release	fe9412f012ebd254d5027f0fe68e0327	cros-ec-utils	94880557ec272ce71598fd59a09d7b09	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=b34bae8f48e1ce31d2de081081146b4e
diff --git a/metadata/md5-cache/sys-firmware/dell-dock-01.00.22-r2 b/metadata/md5-cache/sys-firmware/dell-dock-01.00.22-r2
deleted file mode 100644
index 02d3a8b..0000000
--- a/metadata/md5-cache/sys-firmware/dell-dock-01.00.22-r2
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=info install setup unpack
-DESCRIPTION=Installs Dell Dock firmware update files used by fwupd.
-EAPI=7
-HOMEPAGE=https://support.dell.com
-IUSE=cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702 remote
-KEYWORDS=*
-LICENSE=LVFS-Vendor-Agreement-v1
-PROPERTIES=live
-RDEPEND=sys-apps/fwupd
-RESTRICT=mirror
-SLOT=0/01.00.22-r2
-SRC_URI=gs://chromeos-localmirror/lvfs//4e3f12fc1901c05790ab17ff2223a79631477aa87979498874c4c262cfafc144-WD19FirmwareUpdateLinux_01.00.21.cab
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-fwupd	b20d3a2d6dece1bc3030df7fcd82c829	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
-_md5_=842777d72e2e5c177d624521f23461b2
diff --git a/metadata/md5-cache/sys-firmware/dell-dock-9999 b/metadata/md5-cache/sys-firmware/dell-dock-9999
deleted file mode 100644
index 3aaa4b7..0000000
--- a/metadata/md5-cache/sys-firmware/dell-dock-9999
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=info install setup unpack
-DESCRIPTION=Installs Dell Dock firmware update files used by fwupd.
-EAPI=7
-HOMEPAGE=https://support.dell.com
-IUSE=cros_host cros_workon_tree_ remote
-KEYWORDS=~*
-LICENSE=LVFS-Vendor-Agreement-v1
-PROPERTIES=live
-RDEPEND=sys-apps/fwupd
-RESTRICT=mirror
-SLOT=0/9999
-SRC_URI=gs://chromeos-localmirror/lvfs//4e3f12fc1901c05790ab17ff2223a79631477aa87979498874c4c262cfafc144-WD19FirmwareUpdateLinux_01.00.21.cab
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-fwupd	b20d3a2d6dece1bc3030df7fcd82c829	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
-_md5_=0d69bed2b1a0b4fd611275e11f16d592
diff --git a/metadata/md5-cache/sys-firmware/fw-engprod-tools-0.0.1-r69 b/metadata/md5-cache/sys-firmware/fw-engprod-tools-0.0.1-r69
deleted file mode 100644
index 5bd359f..0000000
--- a/metadata/md5-cache/sys-firmware/fw-engprod-tools-0.0.1-r69
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=compile info install postinst setup test unpack
-DEPEND=dev-go/crypto:= dev-go/gapi-discovery:= dev-go/gapi-option:= dev-lang/go
-DESCRIPTION=Tooling related to firmware release testing.
-EAPI=7
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crostestutils/+/HEAD/go/src/firmware/
-IUSE=cros_host cros_workon_tree_f3144acef13929bdf518eb34a9445bc8a4a334e1
-KEYWORDS=*
-LICENSE=BSD-Google
-PROPERTIES=live
-SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=5d9f8dd8993535f94525ec5385c1eb87
diff --git a/metadata/md5-cache/sys-firmware/fw-engprod-tools-0.0.1-r80 b/metadata/md5-cache/sys-firmware/fw-engprod-tools-0.0.1-r80
new file mode 100644
index 0000000..cd6e133
--- /dev/null
+++ b/metadata/md5-cache/sys-firmware/fw-engprod-tools-0.0.1-r80
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile info install postinst setup test unpack
+DEPEND=dev-go/crypto:= dev-go/gapi:= dev-lang/go
+DESCRIPTION=Tooling related to firmware release testing.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crostestutils/+/HEAD/go/src/firmware/
+IUSE=cros_host cros_workon_tree_4b8e764fe9da4270606558d688cbcafba952567f
+KEYWORDS=*
+LICENSE=BSD-Google
+PROPERTIES=live
+SLOT=0/0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f301b0256d55bbba2cb8c6329d41aef8
diff --git a/metadata/md5-cache/sys-firmware/fw-engprod-tools-9999 b/metadata/md5-cache/sys-firmware/fw-engprod-tools-9999
index e35d1fd..4748b16 100644
--- a/metadata/md5-cache/sys-firmware/fw-engprod-tools-9999
+++ b/metadata/md5-cache/sys-firmware/fw-engprod-tools-9999
@@ -1,6 +1,6 @@
 BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile info install postinst setup test unpack
-DEPEND=dev-go/crypto:= dev-go/gapi-discovery:= dev-go/gapi-option:= dev-lang/go
+DEPEND=dev-go/crypto:= dev-go/gapi:= dev-lang/go
 DESCRIPTION=Tooling related to firmware release testing.
 EAPI=7
 HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/crostestutils/+/HEAD/go/src/firmware/
@@ -9,5 +9,5 @@
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0/0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-go	dac85c3271572c8bed5a845ea12f3e93	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=1249fe4c3ca7559c32d4c54f07f1ce7e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-go	9e4f3d4e15241da364684ed8b906b8d9	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b53255af3505b59ffb21758e051e40e1
diff --git a/metadata/md5-cache/sys-firmware/fwupd-peripherals-0.0.1-r1 b/metadata/md5-cache/sys-firmware/fwupd-peripherals-0.0.1-r1
deleted file mode 100644
index b88408d..0000000
--- a/metadata/md5-cache/sys-firmware/fwupd-peripherals-0.0.1-r1
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git virtual/pkgconfig
-DEFINED_PHASES=info install setup unpack
-DESCRIPTION=Installs peripherals firmware update files used by fwupd.
-EAPI=7
-HOMEPAGE=https://fwupd.org/lvfs/devices/
-IUSE=+remote cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702 remote
-KEYWORDS=*
-LICENSE=LVFS-Vendor-Agreement-v1
-PROPERTIES=live
-RDEPEND=sys-apps/fwupd
-RESTRICT=mirror
-SLOT=0/0.0.1-r1
-SRC_URI=gs://chromeos-localmirror/lvfs//4e3f12fc1901c05790ab17ff2223a79631477aa87979498874c4c262cfafc144-WD19FirmwareUpdateLinux_01.00.21.cab gs://chromeos-localmirror/lvfs//29835d73b07590db964d796e508058e512c55ff0ca2a75b9c8ac2ed1fe305de5-Lenovo-ThinkPad-USBCGen2Dock-PDFirmware-0.0.34.cab gs://chromeos-localmirror/lvfs//ac37f23af002e91df11094b08fd2e076cf9c8cb4f08930be8eefe35850097a60-Lenovo-ThinkPad-USBCGen2Dock-DP-Firmware-5.05.00.cab gs://chromeos-localmirror/lvfs//2e0bf8aaf9c63ca11cfe3444d032277c21ec0d678e5963123a8b33e5dcd37d99-Lenovo-ThinkPad-USBCGen2Dock-Firmware-49-0E-14.cab gs://chromeos-localmirror/lvfs//9a13f9fefa59ae42c06e9861dc20a0e53e35d471c6a1c05d6426a011b0fada30-Lenovo-ThinkPad-USBCGen2Dock-USBHUB-Firmware-0D23_7a216856-8a97-550c-882e-8233751c7cf2.cab gs://chromeos-localmirror/lvfs//f241ce8c26d83546d5bfd1d67b70b9324f32ea4790acebb2a5e7d5a071eaaa85-Lenovo-ThinkPad-USBCGen2Dock-USBHUBQ7-Firmware-0D24_4ec36768-1858-5e9b-9d35-40e6143c3cd4.cab gs://chromeos-localmirror/lvfs//c15a0df7386812781d1f376fe54729e64f69b2a8a6c4b580914d4f6740e4fcc3-HP-USBC_DOCK_G5-V1.0.13.0.cab
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-fwupd	b20d3a2d6dece1bc3030df7fcd82c829	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
-_md5_=3426ecea125ab8b041f95f054d6b3f7f
diff --git a/metadata/md5-cache/sys-firmware/fwupd-peripherals-0.0.1-r6 b/metadata/md5-cache/sys-firmware/fwupd-peripherals-0.0.1-r6
new file mode 100644
index 0000000..d50fed3
--- /dev/null
+++ b/metadata/md5-cache/sys-firmware/fwupd-peripherals-0.0.1-r6
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Installs peripherals firmware update files used by fwupd.
+EAPI=7
+HOMEPAGE=https://fwupd.org/lvfs/devices/
+IUSE=+remote cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702 remote
+KEYWORDS=*
+LICENSE=LVFS-Vendor-Agreement-v1
+PROPERTIES=live
+RDEPEND=sys-apps/fwupd
+RESTRICT=mirror
+SLOT=0/0.0.1-r6
+SRC_URI=gs://chromeos-localmirror/lvfs//a7ec6fb710d020ab2589e67935c83f507908ecce32ada5e8a773df02518efed6-DellDockFirmwareUpdateLinux_01.00.09.cab gs://chromeos-localmirror/lvfs//9950c7162ef41c770bca803b5455bd7bd82c9820b4ca2075bdf5bce4ac91a895-Lenovo-Mini_Dock-2020-10-29-155326_release.cab gs://chromeos-localmirror/lvfs//ebfda3c96543d6d7ad97a972344f4d34a14549c535095bfbb1860115a88e6ff6-Lenovo-TravalHub-2020-12-11-153442.cab gs://chromeos-localmirror/lvfs//29835d73b07590db964d796e508058e512c55ff0ca2a75b9c8ac2ed1fe305de5-Lenovo-ThinkPad-USBCGen2Dock-PDFirmware-0.0.34.cab gs://chromeos-localmirror/lvfs//ac37f23af002e91df11094b08fd2e076cf9c8cb4f08930be8eefe35850097a60-Lenovo-ThinkPad-USBCGen2Dock-DP-Firmware-5.05.00.cab gs://chromeos-localmirror/lvfs//2e0bf8aaf9c63ca11cfe3444d032277c21ec0d678e5963123a8b33e5dcd37d99-Lenovo-ThinkPad-USBCGen2Dock-Firmware-49-0E-14.cab gs://chromeos-localmirror/lvfs//9a13f9fefa59ae42c06e9861dc20a0e53e35d471c6a1c05d6426a011b0fada30-Lenovo-ThinkPad-USBCGen2Dock-USBHUB-Firmware-0D23_7a216856-8a97-550c-882e-8233751c7cf2.cab gs://chromeos-localmirror/lvfs//f241ce8c26d83546d5bfd1d67b70b9324f32ea4790acebb2a5e7d5a071eaaa85-Lenovo-ThinkPad-USBCGen2Dock-USBHUBQ7-Firmware-0D24_4ec36768-1858-5e9b-9d35-40e6143c3cd4.cab gs://chromeos-localmirror/lvfs//7239756ad0ad9c084f820c0a94de33b4e3160dbdb1dde97ea83a68c506c5f298-Thunderbolt_Dock_G4_V1.3.12.0.cab gs://chromeos-localmirror/lvfs//1675d5a0f18c148df2a8b28f80de602bc0a556ff36be9004fea8e302ddf75fc5-USBC_DOCK_G5_V1.0.15.0.cab
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-fwupd	ca346f573fab9955e4d87ea4a9dddef5	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
+_md5_=a55b60c3a12b78a96f02e6a7636d0cbd
diff --git a/metadata/md5-cache/sys-firmware/fwupd-peripherals-9999 b/metadata/md5-cache/sys-firmware/fwupd-peripherals-9999
index a996fdc..e5d7581 100644
--- a/metadata/md5-cache/sys-firmware/fwupd-peripherals-9999
+++ b/metadata/md5-cache/sys-firmware/fwupd-peripherals-9999
@@ -10,6 +10,6 @@
 RDEPEND=sys-apps/fwupd
 RESTRICT=mirror
 SLOT=0/9999
-SRC_URI=gs://chromeos-localmirror/lvfs//4e3f12fc1901c05790ab17ff2223a79631477aa87979498874c4c262cfafc144-WD19FirmwareUpdateLinux_01.00.21.cab gs://chromeos-localmirror/lvfs//29835d73b07590db964d796e508058e512c55ff0ca2a75b9c8ac2ed1fe305de5-Lenovo-ThinkPad-USBCGen2Dock-PDFirmware-0.0.34.cab gs://chromeos-localmirror/lvfs//ac37f23af002e91df11094b08fd2e076cf9c8cb4f08930be8eefe35850097a60-Lenovo-ThinkPad-USBCGen2Dock-DP-Firmware-5.05.00.cab gs://chromeos-localmirror/lvfs//2e0bf8aaf9c63ca11cfe3444d032277c21ec0d678e5963123a8b33e5dcd37d99-Lenovo-ThinkPad-USBCGen2Dock-Firmware-49-0E-14.cab gs://chromeos-localmirror/lvfs//9a13f9fefa59ae42c06e9861dc20a0e53e35d471c6a1c05d6426a011b0fada30-Lenovo-ThinkPad-USBCGen2Dock-USBHUB-Firmware-0D23_7a216856-8a97-550c-882e-8233751c7cf2.cab gs://chromeos-localmirror/lvfs//f241ce8c26d83546d5bfd1d67b70b9324f32ea4790acebb2a5e7d5a071eaaa85-Lenovo-ThinkPad-USBCGen2Dock-USBHUBQ7-Firmware-0D24_4ec36768-1858-5e9b-9d35-40e6143c3cd4.cab gs://chromeos-localmirror/lvfs//c15a0df7386812781d1f376fe54729e64f69b2a8a6c4b580914d4f6740e4fcc3-HP-USBC_DOCK_G5-V1.0.13.0.cab
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-fwupd	b20d3a2d6dece1bc3030df7fcd82c829	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
-_md5_=517eb06ecd4fd18e48c72e9c5d51630c
+SRC_URI=gs://chromeos-localmirror/lvfs//a7ec6fb710d020ab2589e67935c83f507908ecce32ada5e8a773df02518efed6-DellDockFirmwareUpdateLinux_01.00.09.cab gs://chromeos-localmirror/lvfs//9950c7162ef41c770bca803b5455bd7bd82c9820b4ca2075bdf5bce4ac91a895-Lenovo-Mini_Dock-2020-10-29-155326_release.cab gs://chromeos-localmirror/lvfs//ebfda3c96543d6d7ad97a972344f4d34a14549c535095bfbb1860115a88e6ff6-Lenovo-TravalHub-2020-12-11-153442.cab gs://chromeos-localmirror/lvfs//29835d73b07590db964d796e508058e512c55ff0ca2a75b9c8ac2ed1fe305de5-Lenovo-ThinkPad-USBCGen2Dock-PDFirmware-0.0.34.cab gs://chromeos-localmirror/lvfs//ac37f23af002e91df11094b08fd2e076cf9c8cb4f08930be8eefe35850097a60-Lenovo-ThinkPad-USBCGen2Dock-DP-Firmware-5.05.00.cab gs://chromeos-localmirror/lvfs//2e0bf8aaf9c63ca11cfe3444d032277c21ec0d678e5963123a8b33e5dcd37d99-Lenovo-ThinkPad-USBCGen2Dock-Firmware-49-0E-14.cab gs://chromeos-localmirror/lvfs//9a13f9fefa59ae42c06e9861dc20a0e53e35d471c6a1c05d6426a011b0fada30-Lenovo-ThinkPad-USBCGen2Dock-USBHUB-Firmware-0D23_7a216856-8a97-550c-882e-8233751c7cf2.cab gs://chromeos-localmirror/lvfs//f241ce8c26d83546d5bfd1d67b70b9324f32ea4790acebb2a5e7d5a071eaaa85-Lenovo-ThinkPad-USBCGen2Dock-USBHUBQ7-Firmware-0D24_4ec36768-1858-5e9b-9d35-40e6143c3cd4.cab gs://chromeos-localmirror/lvfs//7239756ad0ad9c084f820c0a94de33b4e3160dbdb1dde97ea83a68c506c5f298-Thunderbolt_Dock_G4_V1.3.12.0.cab gs://chromeos-localmirror/lvfs//1675d5a0f18c148df2a8b28f80de602bc0a556ff36be9004fea8e302ddf75fc5-USBC_DOCK_G5_V1.0.15.0.cab
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-fwupd	ca346f573fab9955e4d87ea4a9dddef5	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
+_md5_=17e75fc1ffaf3f873f93e5b511a65660
diff --git a/metadata/md5-cache/sys-firmware/fwupd-storage-0.0.1-r1 b/metadata/md5-cache/sys-firmware/fwupd-storage-0.0.1-r1
new file mode 100644
index 0000000..6107e57
--- /dev/null
+++ b/metadata/md5-cache/sys-firmware/fwupd-storage-0.0.1-r1
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Installs storage firmware update files used by fwupd.
+EAPI=7
+HOMEPAGE=https://support.dell.com
+IUSE=wilco cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702 remote
+KEYWORDS=*
+LICENSE=LVFS-Vendor-Agreement-v1
+PROPERTIES=live
+RDEPEND=sys-apps/fwupd
+RESTRICT=mirror
+SLOT=0/0.0.1-r1
+SRC_URI=wilco? ( gs://chromeos-localmirror/lvfs//ed7ddca0c1b983a9f2f8269de7abed89492bfadba04734568f02227e42553950-Samsung_PM991a_SSD_FW_26300039.cab gs://chromeos-localmirror/lvfs//7649776aa1c1e98ca4ae99b05368135078960f1f381890532336f6229e0dc9ad-22301116.cab gs://chromeos-localmirror/lvfs//0790e805aa3cfaf9e08b003d7aaca0b2b9988160ef8928200b869e4820fa3963-22321116.cab gs://chromeos-localmirror/lvfs//f0ac0e20299c3cddd028d63149fce39b7a152c69d1819d20011c745d6c975cd8-25301111.cab gs://chromeos-localmirror/lvfs//9ed8e3c35835daaea253844c678a525f1f71d02f81050763d74920283eb6eadb-Hynix_BC501A_SSD_FW_80002101.cab gs://chromeos-localmirror/lvfs//7ce04b003b45e9c6f612a5525b54fe51e81f205d36778b94d8db0b99c4df6fd3-Hynix_BC511_SSD_FW_11004101.cab gs://chromeos-localmirror/lvfs//52c0c472993a5d03282efdd1b35d683c60beff4b68fdf9daaa71eadd8d8fbf54-Hynix_BC711_SSD_FW_41002131.cab gs://chromeos-localmirror/lvfs//b0b7f76ecf892c42736a7360ccb9571f784382e641bb5451b35166be2182bc91-Hynix_PC601_SSD_FW_80002111.cab gs://chromeos-localmirror/lvfs//e74dffeb31030b01d8ce0299240e496641deac2fb069b153af8a5bdfcf3ef805-SN520-20240012-v1.cab gs://chromeos-localmirror/lvfs//532a9ebf8ae2c8d5621efd44cc1cc30475a633760a1f42ce0fbe8de269289983-21113012_ID2409.cab gs://chromeos-localmirror/lvfs//6df8d0ba1d36b3c9e017a47373c5e84f93090f80d582d7b62d1f5da0c52a5242-SN730-11121012-v1.cab gs://chromeos-localmirror/lvfs//ae2a45818043417ec1bb5e84abd2d1737e2c8d351158fd437413b67df69a71ed-Vulcan_73103012.cab )
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-fwupd	ca346f573fab9955e4d87ea4a9dddef5	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
+_md5_=e9cc122908e87c4d2422b48517897667
diff --git a/metadata/md5-cache/sys-firmware/fwupd-storage-9999 b/metadata/md5-cache/sys-firmware/fwupd-storage-9999
new file mode 100644
index 0000000..31a7ab8
--- /dev/null
+++ b/metadata/md5-cache/sys-firmware/fwupd-storage-9999
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Installs storage firmware update files used by fwupd.
+EAPI=7
+HOMEPAGE=https://support.dell.com
+IUSE=wilco cros_host cros_workon_tree_ remote
+KEYWORDS=~*
+LICENSE=LVFS-Vendor-Agreement-v1
+PROPERTIES=live
+RDEPEND=sys-apps/fwupd
+RESTRICT=mirror
+SLOT=0/9999
+SRC_URI=wilco? ( gs://chromeos-localmirror/lvfs//ed7ddca0c1b983a9f2f8269de7abed89492bfadba04734568f02227e42553950-Samsung_PM991a_SSD_FW_26300039.cab gs://chromeos-localmirror/lvfs//7649776aa1c1e98ca4ae99b05368135078960f1f381890532336f6229e0dc9ad-22301116.cab gs://chromeos-localmirror/lvfs//0790e805aa3cfaf9e08b003d7aaca0b2b9988160ef8928200b869e4820fa3963-22321116.cab gs://chromeos-localmirror/lvfs//f0ac0e20299c3cddd028d63149fce39b7a152c69d1819d20011c745d6c975cd8-25301111.cab gs://chromeos-localmirror/lvfs//9ed8e3c35835daaea253844c678a525f1f71d02f81050763d74920283eb6eadb-Hynix_BC501A_SSD_FW_80002101.cab gs://chromeos-localmirror/lvfs//7ce04b003b45e9c6f612a5525b54fe51e81f205d36778b94d8db0b99c4df6fd3-Hynix_BC511_SSD_FW_11004101.cab gs://chromeos-localmirror/lvfs//52c0c472993a5d03282efdd1b35d683c60beff4b68fdf9daaa71eadd8d8fbf54-Hynix_BC711_SSD_FW_41002131.cab gs://chromeos-localmirror/lvfs//b0b7f76ecf892c42736a7360ccb9571f784382e641bb5451b35166be2182bc91-Hynix_PC601_SSD_FW_80002111.cab gs://chromeos-localmirror/lvfs//e74dffeb31030b01d8ce0299240e496641deac2fb069b153af8a5bdfcf3ef805-SN520-20240012-v1.cab gs://chromeos-localmirror/lvfs//532a9ebf8ae2c8d5621efd44cc1cc30475a633760a1f42ce0fbe8de269289983-21113012_ID2409.cab gs://chromeos-localmirror/lvfs//6df8d0ba1d36b3c9e017a47373c5e84f93090f80d582d7b62d1f5da0c52a5242-SN730-11121012-v1.cab gs://chromeos-localmirror/lvfs//ae2a45818043417ec1bb5e84abd2d1737e2c8d351158fd437413b67df69a71ed-Vulcan_73103012.cab )
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-fwupd	ca346f573fab9955e4d87ea4a9dddef5	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
+_md5_=3ae108907384b9845c66e3bdcae6d09d
diff --git a/metadata/md5-cache/sys-firmware/gl3590-firmware-0.0.1-r2 b/metadata/md5-cache/sys-firmware/gl3590-firmware-0.0.1-r2
new file mode 100644
index 0000000..63b57009e
--- /dev/null
+++ b/metadata/md5-cache/sys-firmware/gl3590-firmware-0.0.1-r2
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Installs eMMC firmware update files used by fwupd.
+EAPI=7
+HOMEPAGE=https://fwupd.org/downloads
+IUSE=cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702 remote
+KEYWORDS=*
+LICENSE=LVFS-Vendor-Agreement-v1
+PROPERTIES=live
+RDEPEND=sys-apps/fwupd
+RESTRICT=mirror
+SLOT=0/0.0.1-r2
+SRC_URI=gs://chromeos-localmirror/lvfs//03e62779e44961cf3807ddc5c94c95e8bb7674998f072e86106a41c9707046c7-GenesysLogic_GL3590_64.14.cab gs://chromeos-localmirror/lvfs//c6fc09dab559e56a562bc90703c647a0e807b6565eb71237ab7154bac5c13c5f-GenesysLogic_GL3590_64.16.cab
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-fwupd	ca346f573fab9955e4d87ea4a9dddef5	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
+_md5_=5c98b038e7677f50dfed5f3467300a32
diff --git a/metadata/md5-cache/sys-firmware/gl3590-firmware-9999 b/metadata/md5-cache/sys-firmware/gl3590-firmware-9999
new file mode 100644
index 0000000..1591b80
--- /dev/null
+++ b/metadata/md5-cache/sys-firmware/gl3590-firmware-9999
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git virtual/pkgconfig
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=Installs eMMC firmware update files used by fwupd.
+EAPI=7
+HOMEPAGE=https://fwupd.org/downloads
+IUSE=cros_host cros_workon_tree_ remote
+KEYWORDS=~*
+LICENSE=LVFS-Vendor-Agreement-v1
+PROPERTIES=live
+RDEPEND=sys-apps/fwupd
+RESTRICT=mirror
+SLOT=0/9999
+SRC_URI=gs://chromeos-localmirror/lvfs//03e62779e44961cf3807ddc5c94c95e8bb7674998f072e86106a41c9707046c7-GenesysLogic_GL3590_64.14.cab gs://chromeos-localmirror/lvfs//c6fc09dab559e56a562bc90703c647a0e807b6565eb71237ab7154bac5c13c5f-GenesysLogic_GL3590_64.16.cab
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-fwupd	ca346f573fab9955e4d87ea4a9dddef5	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
+_md5_=32846c1c4364d9b693c51e8e749d67af
diff --git a/metadata/md5-cache/sys-firmware/meetup-firmware-1.2.0 b/metadata/md5-cache/sys-firmware/meetup-firmware-1.2.0
deleted file mode 100644
index e4c79a4..0000000
--- a/metadata/md5-cache/sys-firmware/meetup-firmware-1.2.0
+++ /dev/null
@@ -1,9 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Logitech MeetUp firmware
-EAPI=5
-KEYWORDS=*
-LICENSE=BSD-Logitech
-RDEPEND=sys-apps/logitech-updater
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/meetup-firmware-1.2.0.tar.xz
-_md5_=143f1d647e241444ba3595e0450cebb4
diff --git a/metadata/md5-cache/sys-firmware/meetup-firmware-1.2.0-r1 b/metadata/md5-cache/sys-firmware/meetup-firmware-1.2.0-r1
deleted file mode 100644
index e4c79a4..0000000
--- a/metadata/md5-cache/sys-firmware/meetup-firmware-1.2.0-r1
+++ /dev/null
@@ -1,9 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Logitech MeetUp firmware
-EAPI=5
-KEYWORDS=*
-LICENSE=BSD-Logitech
-RDEPEND=sys-apps/logitech-updater
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/meetup-firmware-1.2.0.tar.xz
-_md5_=143f1d647e241444ba3595e0450cebb4
diff --git a/metadata/md5-cache/sys-firmware/meetup-firmware-1.4.0 b/metadata/md5-cache/sys-firmware/meetup-firmware-1.4.0
new file mode 100644
index 0000000..195fa0d
--- /dev/null
+++ b/metadata/md5-cache/sys-firmware/meetup-firmware-1.4.0
@@ -0,0 +1,9 @@
+DEFINED_PHASES=install
+DESCRIPTION=Logitech MeetUp firmware
+EAPI=5
+KEYWORDS=*
+LICENSE=BSD-Logitech
+RDEPEND=sys-apps/logitech-updater
+SLOT=0
+SRC_URI=gs://chromeos-localmirror/distfiles/meetup-firmware-1.4.0.tar.xz
+_md5_=143f1d647e241444ba3595e0450cebb4
diff --git a/metadata/md5-cache/sys-firmware/meetup-firmware-1.4.0-r1 b/metadata/md5-cache/sys-firmware/meetup-firmware-1.4.0-r1
new file mode 100644
index 0000000..195fa0d
--- /dev/null
+++ b/metadata/md5-cache/sys-firmware/meetup-firmware-1.4.0-r1
@@ -0,0 +1,9 @@
+DEFINED_PHASES=install
+DESCRIPTION=Logitech MeetUp firmware
+EAPI=5
+KEYWORDS=*
+LICENSE=BSD-Logitech
+RDEPEND=sys-apps/logitech-updater
+SLOT=0
+SRC_URI=gs://chromeos-localmirror/distfiles/meetup-firmware-1.4.0.tar.xz
+_md5_=143f1d647e241444ba3595e0450cebb4
diff --git a/metadata/md5-cache/sys-firmware/mmc-firmware-0.0.1-r2 b/metadata/md5-cache/sys-firmware/mmc-firmware-0.0.1-r2
index cecf8cb..d9e9f33 100644
--- a/metadata/md5-cache/sys-firmware/mmc-firmware-0.0.1-r2
+++ b/metadata/md5-cache/sys-firmware/mmc-firmware-0.0.1-r2
@@ -11,5 +11,5 @@
 RESTRICT=mirror
 SLOT=0/0.0.1-r2
 SRC_URI=gs://chromeos-localmirror/lvfs//ee85c8b40e538cd41ecbdd0d10ef7ef6f48c12eddffe1c934c988ef8f77f375e-MCEM131.cab
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-fwupd	b20d3a2d6dece1bc3030df7fcd82c829	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-fwupd	ca346f573fab9955e4d87ea4a9dddef5	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
 _md5_=3bb2fff45c70bda246a9bf2c5e72cbcd
diff --git a/metadata/md5-cache/sys-firmware/mmc-firmware-9999 b/metadata/md5-cache/sys-firmware/mmc-firmware-9999
index e87fd6d..1dcb6df 100644
--- a/metadata/md5-cache/sys-firmware/mmc-firmware-9999
+++ b/metadata/md5-cache/sys-firmware/mmc-firmware-9999
@@ -11,5 +11,5 @@
 RESTRICT=mirror
 SLOT=0/9999
 SRC_URI=gs://chromeos-localmirror/lvfs//ee85c8b40e538cd41ecbdd0d10ef7ef6f48c12eddffe1c934c988ef8f77f375e-MCEM131.cab
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-fwupd	b20d3a2d6dece1bc3030df7fcd82c829	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-fwupd	ca346f573fab9955e4d87ea4a9dddef5	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6
 _md5_=a52b8a30f766faf14cca463600552ee5
diff --git a/metadata/md5-cache/sys-firmware/parade-ps8745a2-firmware-2 b/metadata/md5-cache/sys-firmware/parade-ps8745a2-firmware-2
new file mode 100644
index 0000000..bf23a5f
--- /dev/null
+++ b/metadata/md5-cache/sys-firmware/parade-ps8745a2-firmware-2
@@ -0,0 +1,8 @@
+DEFINED_PHASES=install
+DESCRIPTION=PS8745-A2 Firmware Binary
+EAPI=7
+KEYWORDS=*
+LICENSE=Google-Partners-Website
+SLOT=0
+SRC_URI=gs://chromeos-localmirror/distfiles/parade-ps8745a2-firmware-2.tar.xz
+_md5_=a6e858846ab8141da488802acabfcc80
diff --git a/metadata/md5-cache/sys-firmware/parade-ps8815a2-firmware-37-r1 b/metadata/md5-cache/sys-firmware/parade-ps8815a2-firmware-37-r1
new file mode 100644
index 0000000..9728768
--- /dev/null
+++ b/metadata/md5-cache/sys-firmware/parade-ps8815a2-firmware-37-r1
@@ -0,0 +1,10 @@
+DEFINED_PHASES=install
+DEPEND=!sys-boot/chromeos-firmware-ps8815
+DESCRIPTION=PS8815-A2 Firmware Binary
+EAPI=7
+KEYWORDS=*
+LICENSE=Google-Partners-Website
+RDEPEND=!sys-boot/chromeos-firmware-ps8815
+SLOT=0
+SRC_URI=gs://chromeos-localmirror/distfiles/parade-ps8815a2-firmware-37.tar.xz
+_md5_=b3d9de4c9044085b1a34bd1fe1c6614f
diff --git a/metadata/md5-cache/sys-firmware/parade-ps8815a2-firmware-38-r1 b/metadata/md5-cache/sys-firmware/parade-ps8815a2-firmware-38-r1
new file mode 100644
index 0000000..a913865
--- /dev/null
+++ b/metadata/md5-cache/sys-firmware/parade-ps8815a2-firmware-38-r1
@@ -0,0 +1,10 @@
+DEFINED_PHASES=install
+DEPEND=!sys-boot/chromeos-firmware-ps8815
+DESCRIPTION=PS8815-A2 Firmware Binary
+EAPI=7
+KEYWORDS=*
+LICENSE=Google-Partners-Website
+RDEPEND=!sys-boot/chromeos-firmware-ps8815
+SLOT=0
+SRC_URI=gs://chromeos-localmirror/distfiles/parade-ps8815a2-firmware-38.tar.xz
+_md5_=b3d9de4c9044085b1a34bd1fe1c6614f
diff --git a/metadata/md5-cache/sys-firmware/ptzpro2-firmware-1.3.0 b/metadata/md5-cache/sys-firmware/ptzpro2-firmware-1.3.0
deleted file mode 100644
index e9a374a..0000000
--- a/metadata/md5-cache/sys-firmware/ptzpro2-firmware-1.3.0
+++ /dev/null
@@ -1,9 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Logitech PTZ Pro 2 firmware
-EAPI=5
-KEYWORDS=*
-LICENSE=BSD-Logitech
-RDEPEND=sys-apps/logitech-updater
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/ptzpro2-firmware-1.3.0.tar.xz
-_md5_=927e08dc1791cf9a0479fc350c566859
diff --git a/metadata/md5-cache/sys-firmware/ptzpro2-firmware-1.3.0-r1 b/metadata/md5-cache/sys-firmware/ptzpro2-firmware-1.3.0-r1
deleted file mode 100644
index e9a374a..0000000
--- a/metadata/md5-cache/sys-firmware/ptzpro2-firmware-1.3.0-r1
+++ /dev/null
@@ -1,9 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Logitech PTZ Pro 2 firmware
-EAPI=5
-KEYWORDS=*
-LICENSE=BSD-Logitech
-RDEPEND=sys-apps/logitech-updater
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles/ptzpro2-firmware-1.3.0.tar.xz
-_md5_=927e08dc1791cf9a0479fc350c566859
diff --git a/metadata/md5-cache/sys-firmware/ptzpro2-firmware-1.4.0 b/metadata/md5-cache/sys-firmware/ptzpro2-firmware-1.4.0
new file mode 100644
index 0000000..aac563a
--- /dev/null
+++ b/metadata/md5-cache/sys-firmware/ptzpro2-firmware-1.4.0
@@ -0,0 +1,9 @@
+DEFINED_PHASES=install
+DESCRIPTION=Logitech PTZ Pro 2 firmware
+EAPI=5
+KEYWORDS=*
+LICENSE=BSD-Logitech
+RDEPEND=sys-apps/logitech-updater
+SLOT=0
+SRC_URI=gs://chromeos-localmirror/distfiles/ptzpro2-firmware-1.4.0.tar.xz
+_md5_=927e08dc1791cf9a0479fc350c566859
diff --git a/metadata/md5-cache/sys-firmware/ptzpro2-firmware-1.4.0-r1 b/metadata/md5-cache/sys-firmware/ptzpro2-firmware-1.4.0-r1
new file mode 100644
index 0000000..aac563a
--- /dev/null
+++ b/metadata/md5-cache/sys-firmware/ptzpro2-firmware-1.4.0-r1
@@ -0,0 +1,9 @@
+DEFINED_PHASES=install
+DESCRIPTION=Logitech PTZ Pro 2 firmware
+EAPI=5
+KEYWORDS=*
+LICENSE=BSD-Logitech
+RDEPEND=sys-apps/logitech-updater
+SLOT=0
+SRC_URI=gs://chromeos-localmirror/distfiles/ptzpro2-firmware-1.4.0.tar.xz
+_md5_=927e08dc1791cf9a0479fc350c566859
diff --git a/metadata/md5-cache/sys-firmware/servo-firmware-0.0.1 b/metadata/md5-cache/sys-firmware/servo-firmware-0.0.1
index 15d27f6..2ca97a4 100644
--- a/metadata/md5-cache/sys-firmware/servo-firmware-0.0.1
+++ b/metadata/md5-cache/sys-firmware/servo-firmware-0.0.1
@@ -6,5 +6,5 @@
 LICENSE=BSD-Google
 RDEPEND=!<chromeos-base/ec-devutils-0.0.2
 SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles//c2d2_v2.4.35-f1113c92b.tar.gz gs://chromeos-localmirror/distfiles//servo_micro_v2.4.57-ce329f64f.tar.xz gs://chromeos-localmirror/distfiles//servo_micro_v2.4.35-f1113c92b.tar.gz gs://chromeos-localmirror/distfiles//servo_v4_v2.4.58-c37246f9c.tar.xz gs://chromeos-localmirror/distfiles//servo_v4_v2.4.57-ce329f64f.tar.xz gs://chromeos-localmirror/distfiles//servo_v4p1_v2.0.8584+1a7e7e64c.tar.xz gs://chromeos-localmirror/distfiles//servo_v4p1_v2.0.7721-8af602eee.tar.xz gs://chromeos-localmirror/distfiles//sweetberry_v2.3.7-096c7ee84.tar.gz
-_md5_=d295888664b7b977e9a6420fb9f5c156
+SRC_URI=gs://chromeos-localmirror/distfiles//c2d2_v2.4.35-f1113c92b.tar.gz gs://chromeos-localmirror/distfiles//servo_micro_v2.4.57-ce329f64f.tar.xz gs://chromeos-localmirror/distfiles//servo_micro_v2.4.35-f1113c92b.tar.gz gs://chromeos-localmirror/distfiles//servo_v4_v2.4.58-c37246f9c.tar.xz gs://chromeos-localmirror/distfiles//servo_v4_v2.4.57-ce329f64f.tar.xz gs://chromeos-localmirror/distfiles//servo_v4p1_v2.0.8584+1a7e7e64c.tar.xz gs://chromeos-localmirror/distfiles//servo_v4p1_v2.0.7721-8af602eee.tar.xz gs://chromeos-localmirror/distfiles//servo_v4p1_v2.0.8588-3eac32bd44.tar.xz gs://chromeos-localmirror/distfiles//servo_v4p1_v2.0.13477-1c6bb5adb.tar.xz gs://chromeos-localmirror/distfiles//sweetberry_v2.3.7-096c7ee84.tar.gz
+_md5_=1a5ba6812fcc0ac7f4d6804bbb5cd21a
diff --git a/metadata/md5-cache/sys-firmware/servo-firmware-0.0.1-r33 b/metadata/md5-cache/sys-firmware/servo-firmware-0.0.1-r33
deleted file mode 100644
index 15d27f6..0000000
--- a/metadata/md5-cache/sys-firmware/servo-firmware-0.0.1-r33
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Firmware for tools based on Chromium OS EC
-EAPI=5
-HOMEPAGE=https://www.chromium.org/chromium-os/ec-development
-KEYWORDS=*
-LICENSE=BSD-Google
-RDEPEND=!<chromeos-base/ec-devutils-0.0.2
-SLOT=0
-SRC_URI=gs://chromeos-localmirror/distfiles//c2d2_v2.4.35-f1113c92b.tar.gz gs://chromeos-localmirror/distfiles//servo_micro_v2.4.57-ce329f64f.tar.xz gs://chromeos-localmirror/distfiles//servo_micro_v2.4.35-f1113c92b.tar.gz gs://chromeos-localmirror/distfiles//servo_v4_v2.4.58-c37246f9c.tar.xz gs://chromeos-localmirror/distfiles//servo_v4_v2.4.57-ce329f64f.tar.xz gs://chromeos-localmirror/distfiles//servo_v4p1_v2.0.8584+1a7e7e64c.tar.xz gs://chromeos-localmirror/distfiles//servo_v4p1_v2.0.7721-8af602eee.tar.xz gs://chromeos-localmirror/distfiles//sweetberry_v2.3.7-096c7ee84.tar.gz
-_md5_=d295888664b7b977e9a6420fb9f5c156
diff --git a/metadata/md5-cache/sys-firmware/servo-firmware-0.0.1-r34 b/metadata/md5-cache/sys-firmware/servo-firmware-0.0.1-r34
new file mode 100644
index 0000000..2ca97a4
--- /dev/null
+++ b/metadata/md5-cache/sys-firmware/servo-firmware-0.0.1-r34
@@ -0,0 +1,10 @@
+DEFINED_PHASES=install
+DESCRIPTION=Firmware for tools based on Chromium OS EC
+EAPI=5
+HOMEPAGE=https://www.chromium.org/chromium-os/ec-development
+KEYWORDS=*
+LICENSE=BSD-Google
+RDEPEND=!<chromeos-base/ec-devutils-0.0.2
+SLOT=0
+SRC_URI=gs://chromeos-localmirror/distfiles//c2d2_v2.4.35-f1113c92b.tar.gz gs://chromeos-localmirror/distfiles//servo_micro_v2.4.57-ce329f64f.tar.xz gs://chromeos-localmirror/distfiles//servo_micro_v2.4.35-f1113c92b.tar.gz gs://chromeos-localmirror/distfiles//servo_v4_v2.4.58-c37246f9c.tar.xz gs://chromeos-localmirror/distfiles//servo_v4_v2.4.57-ce329f64f.tar.xz gs://chromeos-localmirror/distfiles//servo_v4p1_v2.0.8584+1a7e7e64c.tar.xz gs://chromeos-localmirror/distfiles//servo_v4p1_v2.0.7721-8af602eee.tar.xz gs://chromeos-localmirror/distfiles//servo_v4p1_v2.0.8588-3eac32bd44.tar.xz gs://chromeos-localmirror/distfiles//servo_v4p1_v2.0.13477-1c6bb5adb.tar.xz gs://chromeos-localmirror/distfiles//sweetberry_v2.3.7-096c7ee84.tar.gz
+_md5_=1a5ba6812fcc0ac7f4d6804bbb5cd21a
diff --git a/metadata/md5-cache/sys-fs/erofs-utils-1.4 b/metadata/md5-cache/sys-fs/erofs-utils-1.4
deleted file mode 100644
index 7976456..0000000
--- a/metadata/md5-cache/sys-fs/erofs-utils-1.4
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=>=app-portage/elt-patches-20170815
-DEFINED_PHASES=install prepare
-DEPEND=app-arch/lz4:= !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Userspace utilities for linux-erofs file system
-EAPI=7
-HOMEPAGE=https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git
-KEYWORDS=*
-LICENSE=GPL-2
-RDEPEND=app-arch/lz4:=
-SLOT=0
-SRC_URI=https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/snapshot/erofs-utils-1.4.tar.gz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=387f72444a780135ae2757dc39691635
diff --git a/metadata/md5-cache/sys-fs/erofs-utils-1.4-r1 b/metadata/md5-cache/sys-fs/erofs-utils-1.4-r1
deleted file mode 100644
index 7976456..0000000
--- a/metadata/md5-cache/sys-fs/erofs-utils-1.4-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=>=app-portage/elt-patches-20170815
-DEFINED_PHASES=install prepare
-DEPEND=app-arch/lz4:= !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Userspace utilities for linux-erofs file system
-EAPI=7
-HOMEPAGE=https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git
-KEYWORDS=*
-LICENSE=GPL-2
-RDEPEND=app-arch/lz4:=
-SLOT=0
-SRC_URI=https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/snapshot/erofs-utils-1.4.tar.gz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=387f72444a780135ae2757dc39691635
diff --git a/metadata/md5-cache/sys-fs/erofs-utils-1.5 b/metadata/md5-cache/sys-fs/erofs-utils-1.5
new file mode 100644
index 0000000..26bfd57
--- /dev/null
+++ b/metadata/md5-cache/sys-fs/erofs-utils-1.5
@@ -0,0 +1,14 @@
+BDEPEND=>=app-portage/elt-patches-20170815
+DEFINED_PHASES=configure install prepare
+DEPEND=app-arch/lz4:= selinux? ( sys-libs/libselinux:= ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Userspace utilities for linux-erofs file system
+EAPI=7
+HOMEPAGE=https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git
+IUSE=selinux
+KEYWORDS=*
+LICENSE=GPL-2
+RDEPEND=app-arch/lz4:= selinux? ( sys-libs/libselinux:= )
+SLOT=0
+SRC_URI=https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/snapshot/erofs-utils-1.5.tar.gz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=debc1fc61770209f93f556ef668ebd5d
diff --git a/metadata/md5-cache/sys-fs/erofs-utils-1.5-r2 b/metadata/md5-cache/sys-fs/erofs-utils-1.5-r2
new file mode 100644
index 0000000..26bfd57
--- /dev/null
+++ b/metadata/md5-cache/sys-fs/erofs-utils-1.5-r2
@@ -0,0 +1,14 @@
+BDEPEND=>=app-portage/elt-patches-20170815
+DEFINED_PHASES=configure install prepare
+DEPEND=app-arch/lz4:= selinux? ( sys-libs/libselinux:= ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Userspace utilities for linux-erofs file system
+EAPI=7
+HOMEPAGE=https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git
+IUSE=selinux
+KEYWORDS=*
+LICENSE=GPL-2
+RDEPEND=app-arch/lz4:= selinux? ( sys-libs/libselinux:= )
+SLOT=0
+SRC_URI=https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/snapshot/erofs-utils-1.5.tar.gz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=debc1fc61770209f93f556ef668ebd5d
diff --git a/metadata/md5-cache/sys-fs/fuse-2.9.8-r4 b/metadata/md5-cache/sys-fs/fuse-2.9.8-r4
deleted file mode 100644
index 29f26af..0000000
--- a/metadata/md5-cache/sys-fs/fuse-2.9.8-r4
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=configure install postinst prepare setup
-DEPEND=virtual/pkgconfig >=app-portage/elt-patches-20170815 virtual/pkgconfig filecaps? ( sys-libs/libcap )
-DESCRIPTION=An interface for filesystems implemented in userspace
-EAPI=6
-HOMEPAGE=https://github.com/libfuse/libfuse
-IUSE=examples kernel_linux kernel_FreeBSD static-libs kernel_linux +filecaps
-KEYWORDS=*
-LICENSE=GPL-2
-PDEPEND=kernel_FreeBSD? ( sys-fs/fuse4bsd )
-RDEPEND=sys-fs/fuse-common
-SLOT=0
-SRC_URI=https://github.com/libfuse/libfuse/releases/download/fuse-2.9.8/fuse-2.9.8.tar.gz
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	fcaps	eeefea88d5fef2853d4c1e3770340302	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=f5c82c3fbcdd182805819f6aa940fad1
diff --git a/metadata/md5-cache/sys-fs/fuse-2.9.8-r5 b/metadata/md5-cache/sys-fs/fuse-2.9.8-r5
new file mode 100644
index 0000000..6534ab9
--- /dev/null
+++ b/metadata/md5-cache/sys-fs/fuse-2.9.8-r5
@@ -0,0 +1,14 @@
+DEFINED_PHASES=configure install postinst prepare setup
+DEPEND=virtual/pkgconfig >=app-portage/elt-patches-20170815 virtual/pkgconfig filecaps? ( sys-libs/libcap )
+DESCRIPTION=An interface for filesystems implemented in userspace
+EAPI=6
+HOMEPAGE=https://github.com/libfuse/libfuse
+IUSE=examples kernel_linux kernel_FreeBSD static-libs kernel_linux +filecaps
+KEYWORDS=*
+LICENSE=GPL-2
+PDEPEND=kernel_FreeBSD? ( sys-fs/fuse4bsd )
+RDEPEND=sys-fs/fuse-common
+SLOT=0
+SRC_URI=https://github.com/libfuse/libfuse/releases/download/fuse-2.9.8/fuse-2.9.8.tar.gz
+_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	fcaps	eeefea88d5fef2853d4c1e3770340302	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=f6fec4d14c7138733b45dec858ee3a1a
diff --git a/metadata/md5-cache/sys-fs/fuse-archive-0.1.13 b/metadata/md5-cache/sys-fs/fuse-archive-0.1.13
new file mode 100644
index 0000000..0939406
--- /dev/null
+++ b/metadata/md5-cache/sys-fs/fuse-archive-0.1.13
@@ -0,0 +1,12 @@
+BDEPEND=virtual/pkgconfig
+DEFINED_PHASES=-
+DEPEND=app-arch/libarchive:= sys-fs/fuse:0
+DESCRIPTION=Serve an archive or compressed file as a FUSE file system
+EAPI=7
+HOMEPAGE=https://github.com/google/fuse-archive
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=app-arch/libarchive:= sys-fs/fuse:0
+SLOT=0
+SRC_URI=https://github.com/google/fuse-archive/archive/v0.1.13.tar.gz -> fuse-archive-0.1.13.tar.gz
+_md5_=82735ee67fe2d0887fe8faf89688924c
diff --git a/metadata/md5-cache/sys-fs/fuse-archive-0.1.8 b/metadata/md5-cache/sys-fs/fuse-archive-0.1.8
deleted file mode 100644
index 3684fa4..0000000
--- a/metadata/md5-cache/sys-fs/fuse-archive-0.1.8
+++ /dev/null
@@ -1,12 +0,0 @@
-BDEPEND=virtual/pkgconfig
-DEFINED_PHASES=-
-DEPEND=app-arch/libarchive:= sys-fs/fuse:0
-DESCRIPTION=Serve an archive or compressed file as a FUSE file system
-EAPI=7
-HOMEPAGE=https://github.com/google/fuse-archive
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND=app-arch/libarchive:= sys-fs/fuse:0
-SLOT=0
-SRC_URI=https://github.com/google/fuse-archive/archive/v0.1.8.tar.gz -> fuse-archive-0.1.8.tar.gz
-_md5_=82735ee67fe2d0887fe8faf89688924c
diff --git a/metadata/md5-cache/sys-fs/lxcfs-3.0.3 b/metadata/md5-cache/sys-fs/lxcfs-3.0.3
new file mode 100644
index 0000000..adeb0b7
--- /dev/null
+++ b/metadata/md5-cache/sys-fs/lxcfs-3.0.3
@@ -0,0 +1,12 @@
+DEFINED_PHASES=configure install postinst preinst prepare unpack
+DEPEND=sys-apps/help2man dev-libs/glib:2 sys-fs/fuse:0 virtual/pkgconfig
+DESCRIPTION=FUSE filesystem for LXC
+EAPI=6
+HOMEPAGE=https://linuxcontainers.org/lxcfs/introduction/
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=dev-libs/glib:2 sys-fs/fuse:0
+SLOT=0
+SRC_URI=https://github.com/lxc/lxcfs/archive/lxcfs-3.0.3.tar.gz
+_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	vcs-snapshot	3be1ab44131e8c0bbdaa75823008444b
+_md5_=cf4e9769b3ddabafa08d63f83da7aaf3
diff --git a/metadata/md5-cache/sys-fs/lxcfs-3.0.3-r1 b/metadata/md5-cache/sys-fs/lxcfs-3.0.3-r1
new file mode 100644
index 0000000..adeb0b7
--- /dev/null
+++ b/metadata/md5-cache/sys-fs/lxcfs-3.0.3-r1
@@ -0,0 +1,12 @@
+DEFINED_PHASES=configure install postinst preinst prepare unpack
+DEPEND=sys-apps/help2man dev-libs/glib:2 sys-fs/fuse:0 virtual/pkgconfig
+DESCRIPTION=FUSE filesystem for LXC
+EAPI=6
+HOMEPAGE=https://linuxcontainers.org/lxcfs/introduction/
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=dev-libs/glib:2 sys-fs/fuse:0
+SLOT=0
+SRC_URI=https://github.com/lxc/lxcfs/archive/lxcfs-3.0.3.tar.gz
+_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	vcs-snapshot	3be1ab44131e8c0bbdaa75823008444b
+_md5_=cf4e9769b3ddabafa08d63f83da7aaf3
diff --git a/metadata/md5-cache/sys-fs/lxcfs-4.0.12 b/metadata/md5-cache/sys-fs/lxcfs-4.0.12
index f35d5ad..10983d3 100644
--- a/metadata/md5-cache/sys-fs/lxcfs-4.0.12
+++ b/metadata/md5-cache/sys-fs/lxcfs-4.0.12
@@ -12,4 +12,4 @@
 SLOT=4
 SRC_URI=https://linuxcontainers.org/downloads/lxcfs/lxcfs-4.0.12.tar.gz verify-sig? ( https://linuxcontainers.org/downloads/lxcfs/lxcfs-4.0.12.tar.gz.asc )
 _eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	verify-sig	40b4f4f782cf67118f594ce604cc4c0a
-_md5_=5ee1131ab8ab066917fdc88a02165fca
+_md5_=8909ffbe3e828c7211c1770fdaf929ac
diff --git a/metadata/md5-cache/sys-fs/lxcfs-4.0.12-r1 b/metadata/md5-cache/sys-fs/lxcfs-4.0.12-r1
new file mode 100644
index 0000000..10983d3
--- /dev/null
+++ b/metadata/md5-cache/sys-fs/lxcfs-4.0.12-r1
@@ -0,0 +1,15 @@
+BDEPEND=sys-apps/help2man verify-sig? ( app-crypt/openpgp-keys-linuxcontainers ) >=app-portage/elt-patches-20170815 virtual/pkgconfig verify-sig? ( app-crypt/gnupg >=app-portage/gemato-16 )
+DEFINED_PHASES=configure install prepare test unpack
+DEPEND=sys-fs/fuse:0 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=FUSE filesystem for LXC
+EAPI=7
+HOMEPAGE=https://linuxcontainers.org/lxcfs/introduction/ https://github.com/lxc/lxcfs/
+IUSE=verify-sig
+KEYWORDS=*
+LICENSE=Apache-2.0 LGPL-2+
+RDEPEND=sys-fs/fuse:0
+RESTRICT=test
+SLOT=4
+SRC_URI=https://linuxcontainers.org/downloads/lxcfs/lxcfs-4.0.12.tar.gz verify-sig? ( https://linuxcontainers.org/downloads/lxcfs/lxcfs-4.0.12.tar.gz.asc )
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	verify-sig	40b4f4f782cf67118f594ce604cc4c0a
+_md5_=8909ffbe3e828c7211c1770fdaf929ac
diff --git a/metadata/md5-cache/sys-fs/mount-zip-1.0.5-r1 b/metadata/md5-cache/sys-fs/mount-zip-1.0.5-r1
deleted file mode 100644
index 977ac83..0000000
--- a/metadata/md5-cache/sys-fs/mount-zip-1.0.5-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=virtual/pkgconfig
-DEFINED_PHASES=compile
-DEPEND=>=chromeos-base/chrome-icu-89 dev-libs/libzip:= sys-fs/fuse:0 dev-libs/boost
-DESCRIPTION=FUSE file system for ZIP archives
-EAPI=7
-HOMEPAGE=https://github.com/google/mount-zip
-IUSE=asan coverage fuzzer msan tsan ubsan
-KEYWORDS=*
-LICENSE=GPL-3
-RDEPEND=>=chromeos-base/chrome-icu-89 dev-libs/libzip:= sys-fs/fuse:0
-SLOT=0
-SRC_URI=https://github.com/google/mount-zip/archive/v1.0.5.tar.gz -> mount-zip-1.0.5.tar.gz
-_eclasses_=cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=f7f4af71916a4c1d31d496a95b197cbe
diff --git a/metadata/md5-cache/sys-fs/mount-zip-1.0.6-r1 b/metadata/md5-cache/sys-fs/mount-zip-1.0.6-r1
new file mode 100644
index 0000000..910fe36
--- /dev/null
+++ b/metadata/md5-cache/sys-fs/mount-zip-1.0.6-r1
@@ -0,0 +1,14 @@
+BDEPEND=virtual/pkgconfig
+DEFINED_PHASES=compile
+DEPEND=>=chromeos-base/chrome-icu-89 dev-libs/libzip:= sys-fs/fuse:0 dev-libs/boost
+DESCRIPTION=FUSE file system for ZIP archives
+EAPI=7
+HOMEPAGE=https://github.com/google/mount-zip
+IUSE=asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=GPL-3
+RDEPEND=>=chromeos-base/chrome-icu-89 dev-libs/libzip:= sys-fs/fuse:0
+SLOT=0
+SRC_URI=https://github.com/google/mount-zip/archive/v1.0.6.tar.gz -> mount-zip-1.0.6.tar.gz
+_eclasses_=cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f7f4af71916a4c1d31d496a95b197cbe
diff --git a/metadata/md5-cache/sys-fs/rar2fs-1.29.5-r2 b/metadata/md5-cache/sys-fs/rar2fs-1.29.5-r2
deleted file mode 100644
index 4c3df84..0000000
--- a/metadata/md5-cache/sys-fs/rar2fs-1.29.5-r2
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=>=app-portage/elt-patches-20170815
-DEFINED_PHASES=configure prepare
-DEPEND=>=app-arch/unrar-5:= sys-fs/fuse:0 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=A FUSE based filesystem that can mount one or multiple RAR archive(s)
-EAPI=7
-HOMEPAGE=https://hasse69.github.io/rar2fs/ https://github.com/hasse69/rar2fs
-IUSE=debug
-KEYWORDS=*
-LICENSE=GPL-3
-RDEPEND=>=app-arch/unrar-5:= sys-fs/fuse:0
-SLOT=0
-SRC_URI=https://github.com/hasse69/rar2fs/releases/download/v1.29.5/rar2fs-1.29.5.tar.gz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=086d050d4a2b4751fd46da47033b88f8
diff --git a/metadata/md5-cache/sys-fs/rar2fs-1.29.5-r3 b/metadata/md5-cache/sys-fs/rar2fs-1.29.5-r3
new file mode 100644
index 0000000..87a2737
--- /dev/null
+++ b/metadata/md5-cache/sys-fs/rar2fs-1.29.5-r3
@@ -0,0 +1,14 @@
+BDEPEND=>=app-portage/elt-patches-20170815
+DEFINED_PHASES=configure prepare
+DEPEND=>=app-arch/unrar-5:= sys-fs/fuse:0 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=A FUSE based filesystem that can mount one or multiple RAR archive(s)
+EAPI=7
+HOMEPAGE=https://hasse69.github.io/rar2fs/ https://github.com/hasse69/rar2fs
+IUSE=debug
+KEYWORDS=*
+LICENSE=GPL-3
+RDEPEND=>=app-arch/unrar-5:= sys-fs/fuse:0
+SLOT=0
+SRC_URI=https://github.com/hasse69/rar2fs/releases/download/v1.29.5/rar2fs-1.29.5.tar.gz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=01e07e88f27ecd8ac47c804350c7f41f
diff --git a/metadata/md5-cache/sys-fs/udev-225-r38 b/metadata/md5-cache/sys-fs/udev-225-r38
deleted file mode 100644
index 51bfda9..0000000
--- a/metadata/md5-cache/sys-fs/udev-225-r38
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-util/gperf >=dev-util/intltool-0.50 >=sys-apps/coreutils-8.16 virtual/pkgconfig >=sys-devel/make-3.82-r4 app-text/docbook-xml-dtd:4.2 app-text/docbook-xml-dtd:4.5 app-text/docbook-xsl-stylesheets dev-libs/libxslt >=app-portage/elt-patches-20170815 virtual/pkgconfig
-DEFINED_PHASES=compile configure install postinst prepare test
-DEPEND=>=sys-apps/util-linux-2.24 sys-libs/libcap[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] acl? ( sys-apps/acl ) kmod? ( >=sys-apps/kmod-16 ) selinux? ( >=sys-libs/libselinux-2.1.9 ) !<sys-libs/glibc-2.11 !sys-apps/gentoo-systemd-integration !sys-apps/systemd abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r7 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] ) virtual/os-headers >=sys-kernel/linux-headers-3.9 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 sys-apps/baselayout
-DESCRIPTION=Linux dynamic and persistent device naming support (aka userspace devfs)
-EAPI=7
-HOMEPAGE=https://www.freedesktop.org/wiki/Software/systemd
-IUSE=acl +kmod openrc selinux static-libs abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=LGPL-2.1 MIT GPL-2
-PDEPEND=>=sys-apps/hwids-20140304[udev] openrc? ( >=sys-fs/udev-init-scripts-26 )
-RDEPEND=>=sys-apps/util-linux-2.24 sys-libs/libcap[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] acl? ( sys-apps/acl ) kmod? ( >=sys-apps/kmod-16 ) selinux? ( >=sys-libs/libselinux-2.1.9 ) !<sys-libs/glibc-2.11 !sys-apps/gentoo-systemd-integration !sys-apps/systemd abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r7 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] ) !<sec-policy/selinux-base-2.20120725-r10 sys-apps/baselayout
-RESTRICT=test
-SLOT=0
-SRC_URI=https://github.com/systemd/systemd/archive/v225.tar.gz -> systemd-225.tar.gz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	bash-completion-r1	47a7402d95930413ce25ba8d857339bb	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
-_md5_=de069982226c8fa729a1f48bb03f36a8
diff --git a/metadata/md5-cache/sys-fs/udev-225-r39 b/metadata/md5-cache/sys-fs/udev-225-r39
new file mode 100644
index 0000000..a0410b5
--- /dev/null
+++ b/metadata/md5-cache/sys-fs/udev-225-r39
@@ -0,0 +1,16 @@
+BDEPEND=dev-util/gperf >=dev-util/intltool-0.50 >=sys-apps/coreutils-8.16 virtual/pkgconfig >=sys-devel/make-3.82-r4 app-text/docbook-xml-dtd:4.2 app-text/docbook-xml-dtd:4.5 app-text/docbook-xsl-stylesheets dev-libs/libxslt >=app-portage/elt-patches-20170815 virtual/pkgconfig
+DEFINED_PHASES=compile configure install postinst prepare test
+DEPEND=>=sys-apps/util-linux-2.24 sys-libs/libcap[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] acl? ( sys-apps/acl ) kmod? ( >=sys-apps/kmod-16 ) selinux? ( >=sys-libs/libselinux-2.1.9 ) !<sys-libs/glibc-2.11 !sys-apps/gentoo-systemd-integration !sys-apps/systemd abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r7 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] ) virtual/os-headers >=sys-kernel/linux-headers-3.9 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 sys-apps/baselayout
+DESCRIPTION=Linux dynamic and persistent device naming support (aka userspace devfs)
+EAPI=7
+HOMEPAGE=https://www.freedesktop.org/wiki/Software/systemd
+IUSE=acl +kmod openrc selinux static-libs abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
+KEYWORDS=*
+LICENSE=LGPL-2.1 MIT GPL-2
+PDEPEND=>=sys-apps/hwids-20140304[udev] openrc? ( >=sys-fs/udev-init-scripts-26 )
+RDEPEND=>=sys-apps/util-linux-2.24 sys-libs/libcap[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] acl? ( sys-apps/acl ) kmod? ( >=sys-apps/kmod-16 ) selinux? ( >=sys-libs/libselinux-2.1.9 ) !<sys-libs/glibc-2.11 !sys-apps/gentoo-systemd-integration !sys-apps/systemd abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r7 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] ) !<sec-policy/selinux-base-2.20120725-r10 sys-apps/baselayout
+RESTRICT=test
+SLOT=0
+SRC_URI=https://github.com/systemd/systemd/archive/v225.tar.gz -> systemd-225.tar.gz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	bash-completion-r1	47a7402d95930413ce25ba8d857339bb	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	udev	452708c3f55cf6e918b045adb949a9e6	user	7c566af8c48023219fd63246e88d6621
+_md5_=e506226fb2748949919aa0f57039e82a
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-4_14-4.14.268-r1814 b/metadata/md5-cache/sys-kernel/chromeos-kernel-4_14-4.14.268-r1814
deleted file mode 100644
index 3dde531..0000000
--- a/metadata/md5-cache/sys-kernel/chromeos-kernel-4_14-4.14.268-r1814
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-vcs/git sys-apps/debianutils
-DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) minios_test_ramfs? ( chromeos-base/chromeos-initramfs[minios_test_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
-DESCRIPTION=Chrome OS Linux Kernel 4.14
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
-IUSE=cros_host cros_workon_tree_5916e8f20f45fa43c07c7a0c3a8c7fa7a34f4548 board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wireless42 -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc acpi_ac acpi_debug allocator_slab apex binder blkdevram builtin_driver_amdgpu ca0132 cec criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker dp_cec drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs minios_test_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs minios_test_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
-RESTRICT=binchecks mirror
-SLOT=0
-SRC_URI=kernel_afdo? ( gs://chromeos-prebuilt/afdo-job/cwp/kernel/4.14/R100-14516.0-1645439661.gcov.xz -> chromeos-kernel-4_14-R100-14516.0-1645439661.gcov.xz )
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-kernel2	50a27a89cf31cc2056abdf5bf4e0f99c	cros-workon	3c71f7f071c8eef67417b728224b1702	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=25fcf2a1ab2c1126b68c1c33771ba4c9
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-4_14-4.14.290-r1925 b/metadata/md5-cache/sys-kernel/chromeos-kernel-4_14-4.14.290-r1925
new file mode 100644
index 0000000..a313862
--- /dev/null
+++ b/metadata/md5-cache/sys-kernel/chromeos-kernel-4_14-4.14.290-r1925
@@ -0,0 +1,16 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup unpack
+DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_adln_ucode? ( sys-firmware/adln-ucode-firmware-private ) builtin_fw_x86_amd_ucode? ( sys-kernel/linux-firmware[linux_firmware_amd_ucode] ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
+DESCRIPTION=Chrome OS Linux Kernel 4.14
+EAPI=7
+HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
+IUSE=cros_host cros_workon_tree_6602bd365b66eabf99315bf2eca378bad1e83dd6 board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc hibernate -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc sparse disable_kernel_fragments acpi_ac acpi_debug allocator_slab apex aurora binder blkdevram builtin_driver_amdgpu ca0132 criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish hibernate highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vkms vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_gc_10_3_7 builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_adl_kernelnext builtin_fw_guc_adln builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_adl_kernelnext builtin_fw_huc_adln builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_adln_ucode builtin_fw_x86_amd_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
+RESTRICT=binchecks mirror
+SLOT=0
+SRC_URI=kernel_afdo? ( gs://chromeos-prebuilt/afdo-job/cwp/kernel/4.14/R105-14943.0-1657532105.gcov.xz -> chromeos-kernel-4_14-R105-14943.0-1657532105.gcov.xz )
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-kernel2	88a1e9c1bf762e237fe2b32712d398ba	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=202a76d91f69b8fc470e353872a6038b
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-4_14-9999 b/metadata/md5-cache/sys-kernel/chromeos-kernel-4_14-9999
index c4f363e..776531d 100644
--- a/metadata/md5-cache/sys-kernel/chromeos-kernel-4_14-9999
+++ b/metadata/md5-cache/sys-kernel/chromeos-kernel-4_14-9999
@@ -1,16 +1,16 @@
-BDEPEND=dev-vcs/git sys-apps/debianutils
+BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) minios_test_ramfs? ( chromeos-base/chromeos-initramfs[minios_test_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
+DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_adln_ucode? ( sys-firmware/adln-ucode-firmware-private ) builtin_fw_x86_amd_ucode? ( sys-kernel/linux-firmware[linux_firmware_amd_ucode] ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
 DESCRIPTION=Chrome OS Linux Kernel 4.14
 EAPI=7
 HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
-IUSE=cros_host cros_workon_tree_ board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wireless42 -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc acpi_ac acpi_debug allocator_slab apex binder blkdevram builtin_driver_amdgpu ca0132 cec criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker dp_cec drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs minios_test_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
+IUSE=cros_host cros_workon_tree_ board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc hibernate -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc sparse disable_kernel_fragments acpi_ac acpi_debug allocator_slab apex aurora binder blkdevram builtin_driver_amdgpu ca0132 criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish hibernate highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vkms vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_gc_10_3_7 builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_adl_kernelnext builtin_fw_guc_adln builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_adl_kernelnext builtin_fw_huc_adln builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_adln_ucode builtin_fw_x86_amd_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
-REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs minios_test_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
+REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
 RESTRICT=binchecks mirror
 SLOT=0
-SRC_URI=kernel_afdo? ( gs://chromeos-prebuilt/afdo-job/cwp/kernel/4.14/R100-14516.0-1645439661.gcov.xz -> chromeos-kernel-4_14-R100-14516.0-1645439661.gcov.xz )
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-kernel2	50a27a89cf31cc2056abdf5bf4e0f99c	cros-workon	3c71f7f071c8eef67417b728224b1702	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=2c83e7d86f5fe7fdfc2d879243fb375c
+SRC_URI=kernel_afdo? ( gs://chromeos-prebuilt/afdo-job/cwp/kernel/4.14/R105-14943.0-1657532105.gcov.xz -> chromeos-kernel-4_14-R105-14943.0-1657532105.gcov.xz )
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-kernel2	88a1e9c1bf762e237fe2b32712d398ba	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e6bc7ca17f25e2747490c7b1ea11c38c
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-4_19-4.19.231-r2276 b/metadata/md5-cache/sys-kernel/chromeos-kernel-4_19-4.19.231-r2276
deleted file mode 100644
index 4e2a8ca..0000000
--- a/metadata/md5-cache/sys-kernel/chromeos-kernel-4_19-4.19.231-r2276
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-vcs/git sys-apps/debianutils
-DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) minios_test_ramfs? ( chromeos-base/chromeos-initramfs[minios_test_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
-DESCRIPTION=Chrome OS Linux Kernel 4.19
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
-IUSE=cros_host cros_workon_tree_785de675da440bb62071a063d7f4959008bd5d60 board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wireless42 -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc acpi_ac acpi_debug allocator_slab apex binder blkdevram builtin_driver_amdgpu ca0132 cec criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker dp_cec drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs minios_test_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs minios_test_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
-RESTRICT=binchecks mirror
-SLOT=0
-SRC_URI=kernel_afdo? ( gs://chromeos-prebuilt/afdo-job/cwp/kernel/4.19/R100-14516.0-1645439606.gcov.xz -> chromeos-kernel-4_19-R100-14516.0-1645439606.gcov.xz )
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-kernel2	50a27a89cf31cc2056abdf5bf4e0f99c	cros-workon	3c71f7f071c8eef67417b728224b1702	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=c8c1229ae16a06742db43cd5fbabdf67
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-4_19-4.19.255-r2421 b/metadata/md5-cache/sys-kernel/chromeos-kernel-4_19-4.19.255-r2421
new file mode 100644
index 0000000..e97ce5f
--- /dev/null
+++ b/metadata/md5-cache/sys-kernel/chromeos-kernel-4_19-4.19.255-r2421
@@ -0,0 +1,16 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup unpack
+DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_adln_ucode? ( sys-firmware/adln-ucode-firmware-private ) builtin_fw_x86_amd_ucode? ( sys-kernel/linux-firmware[linux_firmware_amd_ucode] ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
+DESCRIPTION=Chrome OS Linux Kernel 4.19
+EAPI=7
+HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
+IUSE=cros_host cros_workon_tree_d70579f43c5b3913f002c9d4f7608ce05c3920ca board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc hibernate -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc sparse disable_kernel_fragments acpi_ac acpi_debug allocator_slab apex aurora binder blkdevram builtin_driver_amdgpu ca0132 criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish hibernate highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vkms vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_gc_10_3_7 builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_adl_kernelnext builtin_fw_guc_adln builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_adl_kernelnext builtin_fw_huc_adln builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_adln_ucode builtin_fw_x86_amd_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
+RESTRICT=binchecks mirror
+SLOT=0
+SRC_URI=kernel_afdo? ( gs://chromeos-prebuilt/afdo-job/cwp/kernel/4.19/R105-14943.0-1657532036.gcov.xz -> chromeos-kernel-4_19-R105-14943.0-1657532036.gcov.xz )
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-kernel2	88a1e9c1bf762e237fe2b32712d398ba	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d64ae46323c5908fd795e066579c51b6
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-4_19-9999 b/metadata/md5-cache/sys-kernel/chromeos-kernel-4_19-9999
index be9d761..a9f6244 100644
--- a/metadata/md5-cache/sys-kernel/chromeos-kernel-4_19-9999
+++ b/metadata/md5-cache/sys-kernel/chromeos-kernel-4_19-9999
@@ -1,16 +1,16 @@
-BDEPEND=dev-vcs/git sys-apps/debianutils
+BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) minios_test_ramfs? ( chromeos-base/chromeos-initramfs[minios_test_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
+DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_adln_ucode? ( sys-firmware/adln-ucode-firmware-private ) builtin_fw_x86_amd_ucode? ( sys-kernel/linux-firmware[linux_firmware_amd_ucode] ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
 DESCRIPTION=Chrome OS Linux Kernel 4.19
 EAPI=7
 HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
-IUSE=cros_host cros_workon_tree_ board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wireless42 -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc acpi_ac acpi_debug allocator_slab apex binder blkdevram builtin_driver_amdgpu ca0132 cec criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker dp_cec drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs minios_test_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
+IUSE=cros_host cros_workon_tree_ board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc hibernate -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc sparse disable_kernel_fragments acpi_ac acpi_debug allocator_slab apex aurora binder blkdevram builtin_driver_amdgpu ca0132 criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish hibernate highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vkms vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_gc_10_3_7 builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_adl_kernelnext builtin_fw_guc_adln builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_adl_kernelnext builtin_fw_huc_adln builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_adln_ucode builtin_fw_x86_amd_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
-REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs minios_test_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
+REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
 RESTRICT=binchecks mirror
 SLOT=0
-SRC_URI=kernel_afdo? ( gs://chromeos-prebuilt/afdo-job/cwp/kernel/4.19/R100-14516.0-1645439606.gcov.xz -> chromeos-kernel-4_19-R100-14516.0-1645439606.gcov.xz )
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-kernel2	50a27a89cf31cc2056abdf5bf4e0f99c	cros-workon	3c71f7f071c8eef67417b728224b1702	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=f289b7e9015caadad30743a67446c610
+SRC_URI=kernel_afdo? ( gs://chromeos-prebuilt/afdo-job/cwp/kernel/4.19/R105-14943.0-1657532036.gcov.xz -> chromeos-kernel-4_19-R105-14943.0-1657532036.gcov.xz )
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-kernel2	88a1e9c1bf762e237fe2b32712d398ba	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=b51cbe44939529058994327596702ef3
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-4_4-4.4.302-r2791 b/metadata/md5-cache/sys-kernel/chromeos-kernel-4_4-4.4.302-r2791
deleted file mode 100644
index 86e6242..0000000
--- a/metadata/md5-cache/sys-kernel/chromeos-kernel-4_4-4.4.302-r2791
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-vcs/git sys-apps/debianutils
-DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) minios_test_ramfs? ( chromeos-base/chromeos-initramfs[minios_test_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
-DESCRIPTION=Chrome OS Linux Kernel 4.4
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
-IUSE=cros_host cros_workon_tree_0da5bb5fcc50edc5dca3bb935ca3f79df9ccb20c board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wireless42 -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc acpi_ac acpi_debug allocator_slab apex binder blkdevram builtin_driver_amdgpu ca0132 cec criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker dp_cec drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs minios_test_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs minios_test_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
-RESTRICT=binchecks mirror
-SLOT=0
-SRC_URI=kernel_afdo? ( gs://chromeos-prebuilt/afdo-job/cwp/kernel/4.4/R100-14516.0-1645439511.gcov.xz -> chromeos-kernel-4_4-R100-14516.0-1645439511.gcov.xz )
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-kernel2	50a27a89cf31cc2056abdf5bf4e0f99c	cros-workon	3c71f7f071c8eef67417b728224b1702	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a38400dc1b4d729abac74d9f909ab704
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-4_4-4.4.302-r2864 b/metadata/md5-cache/sys-kernel/chromeos-kernel-4_4-4.4.302-r2864
new file mode 100644
index 0000000..986a2df
--- /dev/null
+++ b/metadata/md5-cache/sys-kernel/chromeos-kernel-4_4-4.4.302-r2864
@@ -0,0 +1,16 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup unpack
+DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_adln_ucode? ( sys-firmware/adln-ucode-firmware-private ) builtin_fw_x86_amd_ucode? ( sys-kernel/linux-firmware[linux_firmware_amd_ucode] ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
+DESCRIPTION=Chrome OS Linux Kernel 4.4
+EAPI=7
+HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
+IUSE=cros_host cros_workon_tree_9b7019bd83b39ac1372c15ced5219f7b4b2a79c5 board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc hibernate -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc sparse disable_kernel_fragments acpi_ac acpi_debug allocator_slab apex aurora binder blkdevram builtin_driver_amdgpu ca0132 criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish hibernate highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vkms vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_gc_10_3_7 builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_adl_kernelnext builtin_fw_guc_adln builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_adl_kernelnext builtin_fw_huc_adln builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_adln_ucode builtin_fw_x86_amd_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
+RESTRICT=binchecks mirror
+SLOT=0
+SRC_URI=kernel_afdo? ( gs://chromeos-prebuilt/afdo-job/cwp/kernel/4.4/R105-14943.0-1657532004.gcov.xz -> chromeos-kernel-4_4-R105-14943.0-1657532004.gcov.xz )
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-kernel2	88a1e9c1bf762e237fe2b32712d398ba	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6f8d1130dec7c3684df12e82b151c2f7
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-4_4-9999 b/metadata/md5-cache/sys-kernel/chromeos-kernel-4_4-9999
index 10e4913..31fd3a6 100644
--- a/metadata/md5-cache/sys-kernel/chromeos-kernel-4_4-9999
+++ b/metadata/md5-cache/sys-kernel/chromeos-kernel-4_4-9999
@@ -1,16 +1,16 @@
-BDEPEND=dev-vcs/git sys-apps/debianutils
+BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) minios_test_ramfs? ( chromeos-base/chromeos-initramfs[minios_test_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
+DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_adln_ucode? ( sys-firmware/adln-ucode-firmware-private ) builtin_fw_x86_amd_ucode? ( sys-kernel/linux-firmware[linux_firmware_amd_ucode] ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
 DESCRIPTION=Chrome OS Linux Kernel 4.4
 EAPI=7
 HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
-IUSE=cros_host cros_workon_tree_ board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wireless42 -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc acpi_ac acpi_debug allocator_slab apex binder blkdevram builtin_driver_amdgpu ca0132 cec criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker dp_cec drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs minios_test_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
+IUSE=cros_host cros_workon_tree_ board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc hibernate -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc sparse disable_kernel_fragments acpi_ac acpi_debug allocator_slab apex aurora binder blkdevram builtin_driver_amdgpu ca0132 criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish hibernate highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vkms vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_gc_10_3_7 builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_adl_kernelnext builtin_fw_guc_adln builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_adl_kernelnext builtin_fw_huc_adln builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_adln_ucode builtin_fw_x86_amd_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
-REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs minios_test_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
+REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
 RESTRICT=binchecks mirror
 SLOT=0
-SRC_URI=kernel_afdo? ( gs://chromeos-prebuilt/afdo-job/cwp/kernel/4.4/R100-14516.0-1645439511.gcov.xz -> chromeos-kernel-4_4-R100-14516.0-1645439511.gcov.xz )
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-kernel2	50a27a89cf31cc2056abdf5bf4e0f99c	cros-workon	3c71f7f071c8eef67417b728224b1702	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=76e6b21c6ce40805fd80d8327424be93
+SRC_URI=kernel_afdo? ( gs://chromeos-prebuilt/afdo-job/cwp/kernel/4.4/R105-14943.0-1657532004.gcov.xz -> chromeos-kernel-4_4-R105-14943.0-1657532004.gcov.xz )
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-kernel2	88a1e9c1bf762e237fe2b32712d398ba	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=86bebf63a89583249aee7731d07109d6
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-5_10-5.10.102-r1581 b/metadata/md5-cache/sys-kernel/chromeos-kernel-5_10-5.10.102-r1581
deleted file mode 100644
index 928a11c..0000000
--- a/metadata/md5-cache/sys-kernel/chromeos-kernel-5_10-5.10.102-r1581
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-vcs/git sys-apps/debianutils
-DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) minios_test_ramfs? ( chromeos-base/chromeos-initramfs[minios_test_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
-DESCRIPTION=Chrome OS Linux Kernel 5.10
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
-IUSE=cros_host cros_workon_tree_c420e38a4e6f83013e4cbddc03bbf59f0b63316e board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wireless42 -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc acpi_ac acpi_debug allocator_slab apex binder blkdevram builtin_driver_amdgpu ca0132 cec criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker dp_cec drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs minios_test_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs minios_test_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
-RESTRICT=binchecks mirror
-SLOT=0
-SRC_URI=kernel_afdo? ( gs://chromeos-prebuilt/afdo-job/cwp/kernel/5.10/R100-14496.0-1644835235.gcov.xz -> chromeos-kernel-5_10-R100-14496.0-1644835235.gcov.xz )
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-kernel2	50a27a89cf31cc2056abdf5bf4e0f99c	cros-workon	3c71f7f071c8eef67417b728224b1702	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=a852f31f25e4cb3c3151d7aecb67a39b
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-5_10-5.10.135-r2213 b/metadata/md5-cache/sys-kernel/chromeos-kernel-5_10-5.10.135-r2213
new file mode 100644
index 0000000..b6cfc23
--- /dev/null
+++ b/metadata/md5-cache/sys-kernel/chromeos-kernel-5_10-5.10.135-r2213
@@ -0,0 +1,16 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup unpack
+DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_adln_ucode? ( sys-firmware/adln-ucode-firmware-private ) builtin_fw_x86_amd_ucode? ( sys-kernel/linux-firmware[linux_firmware_amd_ucode] ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
+DESCRIPTION=Chrome OS Linux Kernel 5.10
+EAPI=7
+HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
+IUSE=cros_host cros_workon_tree_823fdaac7dad485beb65c7657dc341fbe35fd859 board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc hibernate -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc sparse disable_kernel_fragments acpi_ac acpi_debug allocator_slab apex aurora binder blkdevram builtin_driver_amdgpu ca0132 criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish hibernate highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vkms vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_gc_10_3_7 builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_adl_kernelnext builtin_fw_guc_adln builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_adl_kernelnext builtin_fw_huc_adln builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_adln_ucode builtin_fw_x86_amd_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
+RESTRICT=binchecks mirror
+SLOT=0
+SRC_URI=kernel_afdo? ( gs://chromeos-prebuilt/afdo-job/cwp/kernel/5.10/R105-14943.0-1657531932.gcov.xz -> chromeos-kernel-5_10-R105-14943.0-1657531932.gcov.xz )
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-kernel2	88a1e9c1bf762e237fe2b32712d398ba	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=692535cc44baf06a20ef0a64a447837f
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-5_10-9999 b/metadata/md5-cache/sys-kernel/chromeos-kernel-5_10-9999
index a33e382..10fce0d 100644
--- a/metadata/md5-cache/sys-kernel/chromeos-kernel-5_10-9999
+++ b/metadata/md5-cache/sys-kernel/chromeos-kernel-5_10-9999
@@ -1,16 +1,16 @@
-BDEPEND=dev-vcs/git sys-apps/debianutils
+BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) minios_test_ramfs? ( chromeos-base/chromeos-initramfs[minios_test_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
+DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_adln_ucode? ( sys-firmware/adln-ucode-firmware-private ) builtin_fw_x86_amd_ucode? ( sys-kernel/linux-firmware[linux_firmware_amd_ucode] ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
 DESCRIPTION=Chrome OS Linux Kernel 5.10
 EAPI=7
 HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
-IUSE=cros_host cros_workon_tree_ board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wireless42 -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc acpi_ac acpi_debug allocator_slab apex binder blkdevram builtin_driver_amdgpu ca0132 cec criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker dp_cec drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs minios_test_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
+IUSE=cros_host cros_workon_tree_ board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc hibernate -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc sparse disable_kernel_fragments acpi_ac acpi_debug allocator_slab apex aurora binder blkdevram builtin_driver_amdgpu ca0132 criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish hibernate highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vkms vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_gc_10_3_7 builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_adl_kernelnext builtin_fw_guc_adln builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_adl_kernelnext builtin_fw_huc_adln builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_adln_ucode builtin_fw_x86_amd_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
-REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs minios_test_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
+REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
 RESTRICT=binchecks mirror
 SLOT=0
-SRC_URI=kernel_afdo? ( gs://chromeos-prebuilt/afdo-job/cwp/kernel/5.10/R100-14496.0-1644835235.gcov.xz -> chromeos-kernel-5_10-R100-14496.0-1644835235.gcov.xz )
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-kernel2	50a27a89cf31cc2056abdf5bf4e0f99c	cros-workon	3c71f7f071c8eef67417b728224b1702	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=15c06c14f9da268f90f14bb46a381c5c
+SRC_URI=kernel_afdo? ( gs://chromeos-prebuilt/afdo-job/cwp/kernel/5.10/R105-14943.0-1657531932.gcov.xz -> chromeos-kernel-5_10-R105-14943.0-1657531932.gcov.xz )
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-kernel2	88a1e9c1bf762e237fe2b32712d398ba	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e22bd63ea45474c1d6b781819112796e
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-5_15-5.15.25-r211 b/metadata/md5-cache/sys-kernel/chromeos-kernel-5_15-5.15.25-r211
deleted file mode 100644
index 6319bf9..0000000
--- a/metadata/md5-cache/sys-kernel/chromeos-kernel-5_15-5.15.25-r211
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git sys-apps/debianutils
-DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) minios_test_ramfs? ( chromeos-base/chromeos-initramfs[minios_test_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
-DESCRIPTION=Chrome OS Linux Kernel 5.15
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
-IUSE=cros_host cros_workon_tree_81106ba9ecb56b822429df49f0e68548f3b9ec7e board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wireless42 -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc acpi_ac acpi_debug allocator_slab apex binder blkdevram builtin_driver_amdgpu ca0132 cec criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker dp_cec drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs minios_test_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs minios_test_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
-RESTRICT=binchecks mirror
-SLOT=0
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-kernel2	50a27a89cf31cc2056abdf5bf4e0f99c	cros-workon	3c71f7f071c8eef67417b728224b1702	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9f067599c370853ce8d68dc3af58f58c
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-5_15-5.15.59-r765 b/metadata/md5-cache/sys-kernel/chromeos-kernel-5_15-5.15.59-r765
new file mode 100644
index 0000000..0c769ad
--- /dev/null
+++ b/metadata/md5-cache/sys-kernel/chromeos-kernel-5_15-5.15.59-r765
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup unpack
+DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_adln_ucode? ( sys-firmware/adln-ucode-firmware-private ) builtin_fw_x86_amd_ucode? ( sys-kernel/linux-firmware[linux_firmware_amd_ucode] ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
+DESCRIPTION=Chrome OS Linux Kernel 5.15
+EAPI=7
+HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
+IUSE=cros_host cros_workon_tree_5ebe63470fd4af111511bacebf0eda4b250d1e65 board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc hibernate -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc sparse disable_kernel_fragments acpi_ac acpi_debug allocator_slab apex aurora binder blkdevram builtin_driver_amdgpu ca0132 criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish hibernate highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vkms vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_gc_10_3_7 builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_adl_kernelnext builtin_fw_guc_adln builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_adl_kernelnext builtin_fw_huc_adln builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_adln_ucode builtin_fw_x86_amd_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
+RESTRICT=binchecks mirror
+SLOT=0
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-kernel2	88a1e9c1bf762e237fe2b32712d398ba	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=e23b4f4aa73ef3fc492d8e3a3deda4a4
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-5_15-9999 b/metadata/md5-cache/sys-kernel/chromeos-kernel-5_15-9999
index d260514..f378e36 100644
--- a/metadata/md5-cache/sys-kernel/chromeos-kernel-5_15-9999
+++ b/metadata/md5-cache/sys-kernel/chromeos-kernel-5_15-9999
@@ -1,15 +1,15 @@
-BDEPEND=dev-vcs/git sys-apps/debianutils
+BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) minios_test_ramfs? ( chromeos-base/chromeos-initramfs[minios_test_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
+DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_adln_ucode? ( sys-firmware/adln-ucode-firmware-private ) builtin_fw_x86_amd_ucode? ( sys-kernel/linux-firmware[linux_firmware_amd_ucode] ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
 DESCRIPTION=Chrome OS Linux Kernel 5.15
 EAPI=7
 HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
-IUSE=cros_host cros_workon_tree_ board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wireless42 -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc acpi_ac acpi_debug allocator_slab apex binder blkdevram builtin_driver_amdgpu ca0132 cec criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker dp_cec drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs minios_test_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
+IUSE=cros_host cros_workon_tree_ board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc hibernate -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc sparse disable_kernel_fragments acpi_ac acpi_debug allocator_slab apex aurora binder blkdevram builtin_driver_amdgpu ca0132 criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish hibernate highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vkms vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_gc_10_3_7 builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_adl_kernelnext builtin_fw_guc_adln builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_adl_kernelnext builtin_fw_huc_adln builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_adln_ucode builtin_fw_x86_amd_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
-REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs minios_test_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
+REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
 RESTRICT=binchecks mirror
 SLOT=0
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-kernel2	50a27a89cf31cc2056abdf5bf4e0f99c	cros-workon	3c71f7f071c8eef67417b728224b1702	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=53161eed7ccd85e96b63932c5f43c745
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-kernel2	88a1e9c1bf762e237fe2b32712d398ba	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=ad1bfc8cf0a8b2c1cd47df8aa79f3c71
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-5_4-5.4.181-r3001 b/metadata/md5-cache/sys-kernel/chromeos-kernel-5_4-5.4.181-r3001
deleted file mode 100644
index 76992a8..0000000
--- a/metadata/md5-cache/sys-kernel/chromeos-kernel-5_4-5.4.181-r3001
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=dev-vcs/git sys-apps/debianutils
-DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) minios_test_ramfs? ( chromeos-base/chromeos-initramfs[minios_test_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
-DESCRIPTION=Chrome OS Linux Kernel 5.4
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
-IUSE=cros_host cros_workon_tree_f7a3356ec02e77c16dc1971cd016decd1023b38a board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wireless42 -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc acpi_ac acpi_debug allocator_slab apex binder blkdevram builtin_driver_amdgpu ca0132 cec criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker dp_cec drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs minios_test_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs minios_test_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
-RESTRICT=binchecks mirror
-SLOT=0
-SRC_URI=kernel_afdo? ( gs://chromeos-prebuilt/afdo-job/cwp/kernel/5.4/R100-14516.0-1645439482.gcov.xz -> chromeos-kernel-5_4-R100-14516.0-1645439482.gcov.xz )
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-kernel2	50a27a89cf31cc2056abdf5bf4e0f99c	cros-workon	3c71f7f071c8eef67417b728224b1702	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=e1afb47643e3a7bc3b214b70e8b39919
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-5_4-5.4.210-r3326 b/metadata/md5-cache/sys-kernel/chromeos-kernel-5_4-5.4.210-r3326
new file mode 100644
index 0000000..1fd2be5
--- /dev/null
+++ b/metadata/md5-cache/sys-kernel/chromeos-kernel-5_4-5.4.210-r3326
@@ -0,0 +1,16 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup unpack
+DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_adln_ucode? ( sys-firmware/adln-ucode-firmware-private ) builtin_fw_x86_amd_ucode? ( sys-kernel/linux-firmware[linux_firmware_amd_ucode] ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
+DESCRIPTION=Chrome OS Linux Kernel 5.4
+EAPI=7
+HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
+IUSE=cros_host cros_workon_tree_1f2c52e9b1f66d1066b3dae55e355ea52b888509 board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc hibernate -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc sparse disable_kernel_fragments acpi_ac acpi_debug allocator_slab apex aurora binder blkdevram builtin_driver_amdgpu ca0132 criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish hibernate highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vkms vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_gc_10_3_7 builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_adl_kernelnext builtin_fw_guc_adln builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_adl_kernelnext builtin_fw_huc_adln builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_adln_ucode builtin_fw_x86_amd_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
+RESTRICT=binchecks mirror
+SLOT=0
+SRC_URI=kernel_afdo? ( gs://chromeos-prebuilt/afdo-job/cwp/kernel/5.4/R105-14943.0-1657531926.gcov.xz -> chromeos-kernel-5_4-R105-14943.0-1657531926.gcov.xz )
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-kernel2	88a1e9c1bf762e237fe2b32712d398ba	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a6ec5937b1ae985f1a887a499ae4cd89
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-5_4-9999 b/metadata/md5-cache/sys-kernel/chromeos-kernel-5_4-9999
index d1371f9..c80fa65 100644
--- a/metadata/md5-cache/sys-kernel/chromeos-kernel-5_4-9999
+++ b/metadata/md5-cache/sys-kernel/chromeos-kernel-5_4-9999
@@ -1,16 +1,16 @@
-BDEPEND=dev-vcs/git sys-apps/debianutils
+BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) minios_test_ramfs? ( chromeos-base/chromeos-initramfs[minios_test_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
+DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_adln_ucode? ( sys-firmware/adln-ucode-firmware-private ) builtin_fw_x86_amd_ucode? ( sys-kernel/linux-firmware[linux_firmware_amd_ucode] ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
 DESCRIPTION=Chrome OS Linux Kernel 5.4
 EAPI=7
 HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
-IUSE=cros_host cros_workon_tree_ board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wireless42 -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc acpi_ac acpi_debug allocator_slab apex binder blkdevram builtin_driver_amdgpu ca0132 cec criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker dp_cec drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs minios_test_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
+IUSE=cros_host cros_workon_tree_ board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc hibernate -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc sparse disable_kernel_fragments acpi_ac acpi_debug allocator_slab apex aurora binder blkdevram builtin_driver_amdgpu ca0132 criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish hibernate highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vkms vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_gc_10_3_7 builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_adl_kernelnext builtin_fw_guc_adln builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_adl_kernelnext builtin_fw_huc_adln builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_adln_ucode builtin_fw_x86_amd_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
-REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs minios_test_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
+REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
 RESTRICT=binchecks mirror
 SLOT=0
-SRC_URI=kernel_afdo? ( gs://chromeos-prebuilt/afdo-job/cwp/kernel/5.4/R100-14516.0-1645439482.gcov.xz -> chromeos-kernel-5_4-R100-14516.0-1645439482.gcov.xz )
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-kernel2	50a27a89cf31cc2056abdf5bf4e0f99c	cros-workon	3c71f7f071c8eef67417b728224b1702	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d2e2ed2c2a7922b9b0c5aacfbc84519a
+SRC_URI=kernel_afdo? ( gs://chromeos-prebuilt/afdo-job/cwp/kernel/5.4/R105-14943.0-1657531926.gcov.xz -> chromeos-kernel-5_4-R105-14943.0-1657531926.gcov.xz )
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-kernel2	88a1e9c1bf762e237fe2b32712d398ba	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=86bf1c82e901829312ae0c072dbeec59
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-experimental-4.18_rc2-r23 b/metadata/md5-cache/sys-kernel/chromeos-kernel-experimental-4.18_rc2-r23
index e7ea9da..adfebe7 100644
--- a/metadata/md5-cache/sys-kernel/chromeos-kernel-experimental-4.18_rc2-r23
+++ b/metadata/md5-cache/sys-kernel/chromeos-kernel-experimental-4.18_rc2-r23
@@ -1,15 +1,15 @@
-BDEPEND=dev-vcs/git sys-apps/debianutils
+BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) minios_test_ramfs? ( chromeos-base/chromeos-initramfs[minios_test_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
+DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_adln_ucode? ( sys-firmware/adln-ucode-firmware-private ) builtin_fw_x86_amd_ucode? ( sys-kernel/linux-firmware[linux_firmware_amd_ucode] ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
 DESCRIPTION=Chrome OS Linux Kernel (experimental)
 EAPI=7
 HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
-IUSE=cros_host cros_workon_tree_1e11905e9a7cd3f8925678d2dcc192026a35f442 board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wireless42 -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc acpi_ac acpi_debug allocator_slab apex binder blkdevram builtin_driver_amdgpu ca0132 cec criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker dp_cec drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs minios_test_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
+IUSE=cros_host cros_workon_tree_1e11905e9a7cd3f8925678d2dcc192026a35f442 board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc hibernate -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc sparse disable_kernel_fragments acpi_ac acpi_debug allocator_slab apex aurora binder blkdevram builtin_driver_amdgpu ca0132 criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish hibernate highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vkms vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_gc_10_3_7 builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_adl_kernelnext builtin_fw_guc_adln builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_adl_kernelnext builtin_fw_huc_adln builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_adln_ucode builtin_fw_x86_amd_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
 KEYWORDS=*
 LICENSE=GPL-2
 PROPERTIES=live
-REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs minios_test_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
+REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
 RESTRICT=binchecks mirror
 SLOT=0
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-kernel2	50a27a89cf31cc2056abdf5bf4e0f99c	cros-workon	3c71f7f071c8eef67417b728224b1702	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-kernel2	88a1e9c1bf762e237fe2b32712d398ba	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=62de9888ac7f469d01e5f8be70666dd3
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-experimental-9999 b/metadata/md5-cache/sys-kernel/chromeos-kernel-experimental-9999
index 27024cf..48c5ebc 100644
--- a/metadata/md5-cache/sys-kernel/chromeos-kernel-experimental-9999
+++ b/metadata/md5-cache/sys-kernel/chromeos-kernel-experimental-9999
@@ -1,15 +1,15 @@
-BDEPEND=dev-vcs/git sys-apps/debianutils
+BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) minios_test_ramfs? ( chromeos-base/chromeos-initramfs[minios_test_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
+DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_adln_ucode? ( sys-firmware/adln-ucode-firmware-private ) builtin_fw_x86_amd_ucode? ( sys-kernel/linux-firmware[linux_firmware_amd_ucode] ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
 DESCRIPTION=Chrome OS Linux Kernel (experimental)
 EAPI=7
 HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
-IUSE=cros_host cros_workon_tree_ board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wireless42 -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc acpi_ac acpi_debug allocator_slab apex binder blkdevram builtin_driver_amdgpu ca0132 cec criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker dp_cec drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs minios_test_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
+IUSE=cros_host cros_workon_tree_ board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc hibernate -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc sparse disable_kernel_fragments acpi_ac acpi_debug allocator_slab apex aurora binder blkdevram builtin_driver_amdgpu ca0132 criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish hibernate highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vkms vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_gc_10_3_7 builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_adl_kernelnext builtin_fw_guc_adln builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_adl_kernelnext builtin_fw_huc_adln builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_adln_ucode builtin_fw_x86_amd_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
-REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs minios_test_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
+REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
 RESTRICT=binchecks mirror
 SLOT=0
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-kernel2	50a27a89cf31cc2056abdf5bf4e0f99c	cros-workon	3c71f7f071c8eef67417b728224b1702	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=015ae476e12b75e79a9bcadee663a2cd
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-kernel2	88a1e9c1bf762e237fe2b32712d398ba	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=751b13c110647d9c8b8e2af43ae1ada5
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-next-9999 b/metadata/md5-cache/sys-kernel/chromeos-kernel-next-9999
index 63d55c0..4ec3414 100644
--- a/metadata/md5-cache/sys-kernel/chromeos-kernel-next-9999
+++ b/metadata/md5-cache/sys-kernel/chromeos-kernel-next-9999
@@ -1,15 +1,15 @@
-BDEPEND=dev-vcs/git sys-apps/debianutils
+BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) minios_test_ramfs? ( chromeos-base/chromeos-initramfs[minios_test_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
+DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_adln_ucode? ( sys-firmware/adln-ucode-firmware-private ) builtin_fw_x86_amd_ucode? ( sys-kernel/linux-firmware[linux_firmware_amd_ucode] ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
 DESCRIPTION=Chrome OS Linux Kernel (next)
 EAPI=7
 HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
-IUSE=cros_host cros_workon_tree_ board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wireless42 -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc acpi_ac acpi_debug allocator_slab apex binder blkdevram builtin_driver_amdgpu ca0132 cec criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker dp_cec drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs minios_test_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
+IUSE=cros_host cros_workon_tree_ board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc hibernate -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc sparse disable_kernel_fragments acpi_ac acpi_debug allocator_slab apex aurora binder blkdevram builtin_driver_amdgpu ca0132 criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish hibernate highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vkms vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_gc_10_3_7 builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_adl_kernelnext builtin_fw_guc_adln builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_adl_kernelnext builtin_fw_huc_adln builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_adln_ucode builtin_fw_x86_amd_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
-REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs minios_test_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
+REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
 RESTRICT=binchecks mirror
 SLOT=0
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-kernel2	50a27a89cf31cc2056abdf5bf4e0f99c	cros-workon	3c71f7f071c8eef67417b728224b1702	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=bd9e59cf7463ee617753793b5edd77ab
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-kernel2	88a1e9c1bf762e237fe2b32712d398ba	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=949b00528e2afc4a532a51bd5e045f5a
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-upstream-5.17_rc5-r60 b/metadata/md5-cache/sys-kernel/chromeos-kernel-upstream-5.17_rc5-r60
deleted file mode 100644
index ccd8dc4..0000000
--- a/metadata/md5-cache/sys-kernel/chromeos-kernel-upstream-5.17_rc5-r60
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git sys-apps/debianutils
-DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) minios_test_ramfs? ( chromeos-base/chromeos-initramfs[minios_test_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
-DESCRIPTION=Chrome OS Linux Kernel latest upstream rc
-EAPI=7
-HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
-IUSE=cros_host cros_workon_tree_aaadb2a69c20234e41b5e3ecd7c19816708c6082 board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wireless42 -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc acpi_ac acpi_debug allocator_slab apex binder blkdevram builtin_driver_amdgpu ca0132 cec criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker dp_cec drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs minios_test_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
-KEYWORDS=*
-LICENSE=GPL-2
-PROPERTIES=live
-REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs minios_test_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
-RESTRICT=binchecks mirror
-SLOT=0
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-kernel2	50a27a89cf31cc2056abdf5bf4e0f99c	cros-workon	3c71f7f071c8eef67417b728224b1702	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=12f79f4e979837142e64c84bfc79efb7
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-upstream-5.19-r75 b/metadata/md5-cache/sys-kernel/chromeos-kernel-upstream-5.19-r75
new file mode 100644
index 0000000..4a28f5f
--- /dev/null
+++ b/metadata/md5-cache/sys-kernel/chromeos-kernel-upstream-5.19-r75
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup unpack
+DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_adln_ucode? ( sys-firmware/adln-ucode-firmware-private ) builtin_fw_x86_amd_ucode? ( sys-kernel/linux-firmware[linux_firmware_amd_ucode] ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
+DESCRIPTION=Chrome OS Linux Kernel latest upstream rc
+EAPI=7
+HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
+IUSE=cros_host cros_workon_tree_e1a1b0e8a667600657073730b4bafbe1dc2a73f5 board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc hibernate -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc sparse disable_kernel_fragments acpi_ac acpi_debug allocator_slab apex aurora binder blkdevram builtin_driver_amdgpu ca0132 criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish hibernate highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vkms vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_gc_10_3_7 builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_adl_kernelnext builtin_fw_guc_adln builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_adl_kernelnext builtin_fw_huc_adln builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_adln_ucode builtin_fw_x86_amd_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
+KEYWORDS=*
+LICENSE=GPL-2
+PROPERTIES=live
+REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
+RESTRICT=binchecks mirror
+SLOT=0
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-kernel2	88a1e9c1bf762e237fe2b32712d398ba	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=072ff0c4e4ee25377795b6a72151851a
diff --git a/metadata/md5-cache/sys-kernel/chromeos-kernel-upstream-9999 b/metadata/md5-cache/sys-kernel/chromeos-kernel-upstream-9999
index 2f788a6..bbb2595 100644
--- a/metadata/md5-cache/sys-kernel/chromeos-kernel-upstream-9999
+++ b/metadata/md5-cache/sys-kernel/chromeos-kernel-upstream-9999
@@ -1,15 +1,15 @@
-BDEPEND=dev-vcs/git sys-apps/debianutils
+BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) minios_test_ramfs? ( chromeos-base/chromeos-initramfs[minios_test_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
+DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_adln_ucode? ( sys-firmware/adln-ucode-firmware-private ) builtin_fw_x86_amd_ucode? ( sys-kernel/linux-firmware[linux_firmware_amd_ucode] ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
 DESCRIPTION=Chrome OS Linux Kernel latest upstream rc
 EAPI=7
 HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
-IUSE=cros_host cros_workon_tree_ board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wireless42 -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc acpi_ac acpi_debug allocator_slab apex binder blkdevram builtin_driver_amdgpu ca0132 cec criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker dp_cec drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs minios_test_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
+IUSE=cros_host cros_workon_tree_ board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc hibernate -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc sparse disable_kernel_fragments acpi_ac acpi_debug allocator_slab apex aurora binder blkdevram builtin_driver_amdgpu ca0132 criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish hibernate highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vkms vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_gc_10_3_7 builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_adl_kernelnext builtin_fw_guc_adln builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_adl_kernelnext builtin_fw_huc_adln builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_adln_ucode builtin_fw_x86_amd_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
 KEYWORDS=~*
 LICENSE=GPL-2
 PROPERTIES=live
-REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs minios_test_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
+REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
 RESTRICT=binchecks mirror
 SLOT=0
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-kernel2	50a27a89cf31cc2056abdf5bf4e0f99c	cros-workon	3c71f7f071c8eef67417b728224b1702	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=8ebdb74c778db30d0b2333155a43477d
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-kernel2	88a1e9c1bf762e237fe2b32712d398ba	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=a14a039715eb1b4e21c50a07f324b599
diff --git a/metadata/md5-cache/sys-kernel/linux-firmware-0.0.1-r543 b/metadata/md5-cache/sys-kernel/linux-firmware-0.0.1-r543
deleted file mode 100644
index a958030..0000000
--- a/metadata/md5-cache/sys-kernel/linux-firmware-0.0.1-r543
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-lang/python dev-vcs/git dev-vcs/git
-DEFINED_PHASES=info install setup test unpack
-DESCRIPTION=Firmware images from the upstream linux-fimware package
-EAPI=7
-HOMEPAGE=https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/
-IUSE=kernel-4_19 kernel-5_4 kernel-5_10 kernel-5_15 kernel-upstream linux_firmware_adreno-630 linux_firmware_adreno-660 linux_firmware_adsp_apl linux_firmware_adsp_cnl linux_firmware_adsp_glk linux_firmware_adsp_kbl linux_firmware_adsp_skl linux_firmware_ath9k_htc linux_firmware_ath10k_qca6174a-5 linux_firmware_ath10k_qca6174a-3 linux_firmware_ath10k_wcn3990 linux_firmware_ath11k_wcn6855 linux_firmware_amdgpu_carrizo linux_firmware_amdgpu_green_sardine linux_firmware_amdgpu_picasso linux_firmware_amdgpu_raven2 linux_firmware_amdgpu_renoir linux_firmware_amdgpu_stoney linux_firmware_amdgpu_vega12 linux_firmware_amdgpu_yellow_carp linux_firmware_bcm4354-bt linux_firmware_cros-pd linux_firmware_fw_sst linux_firmware_fw_sst2 linux_firmware_i915_adl linux_firmware_i915_bxt linux_firmware_i915_cnl linux_firmware_i915_glk linux_firmware_i915_jsl linux_firmware_i915_kbl linux_firmware_i915_skl linux_firmware_i915_tgl linux_firmware_ibt_9260 linux_firmware_ibt_9560 linux_firmware_ibt_ax200 linux_firmware_ibt_ax201 linux_firmware_ibt_ax211 linux_firmware_ibt-hw linux_firmware_ice linux_firmware_ipu3_fw linux_firmware_keyspan_usb linux_firmware_marvell-mwlwifi linux_firmware_marvell-pcie8897 linux_firmware_marvell-pcie8997 linux_firmware_mt7921e linux_firmware_mt7921e-bt linux_firmware_mt8173-vpu linux_firmware_nvidia-xusb linux_firmware_qca6174a-3-bt linux_firmware_qca6174a-5-bt linux_firmware_qca-wcn3990-bt linux_firmware_qca-wcn3991-bt linux_firmware_qca-wcn685x-bt linux_firmware_qca-wcn6750-bt linux_firmware_rockchip-dptx linux_firmware_rt2870 linux_firmware_rtl8107e-1 linux_firmware_rtl8107e-2 linux_firmware_rtl8125a-3 linux_firmware_rtl8125b-1 linux_firmware_rtl8125b-2 linux_firmware_rtl8153 linux_firmware_rtl8168fp-3 linux_firmware_rtl8168g-1 linux_firmware_rtl8168g-2 linux_firmware_rtl8168h-1 linux_firmware_rtl8168h-2 linux_firmware_rtl_bt-8822ce-uart linux_firmware_rtl_bt-8822ce-usb linux_firmware_rtl_bt-8852ae-usb linux_firmware_rtw8822c linux_firmware_rtw8852a linux_firmware_venus-52 linux_firmware_venus-54 linux_firmware_venus-vpu-2 linux_firmware_ath3k-all linux_firmware_ath3k-ar3011 linux_firmware_ath3k-ar3012 linux_firmware_iwlwifi-all linux_firmware_iwlwifi-100 linux_firmware_iwlwifi-105 linux_firmware_iwlwifi-135 linux_firmware_iwlwifi-1000 linux_firmware_iwlwifi-1000 linux_firmware_iwlwifi-2000 linux_firmware_iwlwifi-2030 linux_firmware_iwlwifi-3160 linux_firmware_iwlwifi-3945 linux_firmware_iwlwifi-4965 linux_firmware_iwlwifi-5000 linux_firmware_iwlwifi-5150 linux_firmware_iwlwifi-6000 linux_firmware_iwlwifi-6005 linux_firmware_iwlwifi-6030 linux_firmware_iwlwifi-6050 linux_firmware_iwlwifi-7260 linux_firmware_iwlwifi-7265 linux_firmware_iwlwifi-7265D linux_firmware_iwlwifi-9000 linux_firmware_iwlwifi-9260 linux_firmware_iwlwifi-cc linux_firmware_iwlwifi-QuZ linux_firmware_iwlwifi-so linux_firmware_brcmfmac-all linux_firmware_brcmfmac4354-sdio linux_firmware_brcmfmac4356-pcie linux_firmware_brcmfmac4371-pcie video_cards_radeon video_cards_amdgpu cros_host cros_workon_tree_618bab6321269c279484dcfa707937ad4e5821c5
-KEYWORDS=*
-LICENSE=linux_firmware_adreno-630? ( LICENSE.qcom ) linux_firmware_adreno-660? ( LICENSE.qcom ) linux_firmware_adsp_apl? ( LICENCE.adsp_sst ) linux_firmware_adsp_cnl? ( LICENCE.adsp_sst ) linux_firmware_adsp_glk? ( LICENCE.adsp_sst ) linux_firmware_adsp_kbl? ( LICENCE.adsp_sst ) linux_firmware_adsp_skl? ( LICENCE.adsp_sst ) linux_firmware_amdgpu_carrizo? ( LICENSE.amdgpu ) linux_firmware_amdgpu_green_sardine? ( LICENSE.amdgpu ) linux_firmware_amdgpu_picasso? ( LICENSE.amdgpu ) linux_firmware_amdgpu_raven2? ( LICENSE.amdgpu ) linux_firmware_amdgpu_renoir? ( LICENSE.amdgpu ) linux_firmware_amdgpu_stoney? ( LICENSE.amdgpu ) linux_firmware_amdgpu_vega12? ( LICENSE.amdgpu ) linux_firmware_amdgpu_yellow_carp? ( LICENSE.amdgpu ) linux_firmware_ath3k-all? ( LICENCE.atheros_firmware ) linux_firmware_ath3k-ar3011? ( LICENCE.atheros_firmware ) linux_firmware_ath3k-ar3012? ( LICENCE.atheros_firmware ) linux_firmware_ath9k_htc? ( LICENCE.atheros_firmware ) linux_firmware_ath10k_qca6174a-5? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_ath10k_qca6174a-3? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_ath10k_wcn3990? ( LICENCE.atheros_firmware ) linux_firmware_ath11k_wcn6855? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_bcm4354-bt? ( LICENCE.broadcom_bcm43xx ) linux_firmware_cros-pd? ( BSD-Google ) linux_firmware_fw_sst? ( LICENCE.fw_sst ) linux_firmware_fw_sst2? ( LICENCE.IntcSST2 ) linux_firmware_i915_adl? ( LICENSE.i915 ) linux_firmware_i915_bxt? ( LICENSE.i915 ) linux_firmware_i915_cnl? ( LICENSE.i915 ) linux_firmware_i915_glk? ( LICENSE.i915 ) linux_firmware_i915_jsl? ( LICENSE.i915 ) linux_firmware_i915_kbl? ( LICENSE.i915 ) linux_firmware_i915_skl? ( LICENSE.i915 ) linux_firmware_i915_tgl? ( LICENSE.i915 ) linux_firmware_ipu3_fw? ( LICENSE.ipu3_firmware ) linux_firmware_ibt_9260? ( LICENCE.ibt_firmware ) linux_firmware_ibt_9560? ( LICENCE.ibt_firmware ) linux_firmware_ibt_ax200? ( LICENCE.ibt_firmware ) linux_firmware_ibt_ax201? ( LICENCE.ibt_firmware ) linux_firmware_ibt_ax211? ( LICENCE.ibt_firmware ) linux_firmware_ibt-hw? ( LICENCE.ibt_firmware ) linux_firmware_ice? ( LICENSE.ice ) linux_firmware_keyspan_usb? ( LICENSE.keyspan_usb ) linux_firmware_marvell-mwlwifi? ( LICENCE.Marvell ) linux_firmware_marvell-pcie8897? ( LICENCE.NXP ) linux_firmware_marvell-pcie8997? ( LICENCE.NXP ) linux_firmware_mt7921e? ( LICENCE.mediatek-nic ) linux_firmware_mt7921e-bt? ( LICENCE.mediatek-nic ) linux_firmware_mt8173-vpu? ( LICENCE.mediatek-vpu ) linux_firmware_nvidia-xusb? ( LICENCE.nvidia ) linux_firmware_qca6174a-3-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_qca6174a-5-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_qca-wcn3990-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_qca-wcn3991-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_qca-wcn685x-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_qca-wcn6750-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_rockchip-dptx? ( LICENCE.rockchip ) linux_firmware_rt2870? ( LICENCE.ralink-firmware.txt LICENCE.ralink_a_mediatek_company_firmware ) linux_firmware_rtl8107e-1? ( LICENCE.rtl_nic ) linux_firmware_rtl8107e-2? ( LICENCE.rtl_nic ) linux_firmware_rtl8125a-3? ( LICENCE.rtl_nic ) linux_firmware_rtl8125b-1? ( LICENCE.rtl_nic ) linux_firmware_rtl8125b-2? ( LICENCE.rtl_nic ) linux_firmware_rtl8153? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtl8168fp-3? ( LICENCE.rtl_nic ) linux_firmware_rtl8168g-1? ( LICENCE.rtl_nic ) linux_firmware_rtl8168g-2? ( LICENCE.rtl_nic ) linux_firmware_rtl8168h-1? ( LICENCE.rtl_nic ) linux_firmware_rtl8168h-2? ( LICENCE.rtl_nic ) linux_firmware_rtl_bt-8822ce-uart? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtl_bt-8822ce-usb? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtl_bt-8852ae-usb? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtw8822c? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtw8852a? ( LICENCE.rtlwifi_firmware ) linux_firmware_venus-52? ( LICENSE.qcom ) linux_firmware_venus-54? ( LICENSE.qcom ) linux_firmware_venus-vpu-2? ( LICENSE.qcom ) linux_firmware_iwlwifi-all? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-100? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-105? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-135? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-1000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-1000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-2000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-2030? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-3160? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-3945? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-4965? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-5000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-5150? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-6000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-6005? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-6030? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-6050? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-7260? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-7265? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-7265D? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-9000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-9260? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-cc? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-QuZ? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-so? ( LICENCE.iwlwifi_firmware ) linux_firmware_brcmfmac-all? ( LICENCE.broadcom_bcm43xx ) linux_firmware_brcmfmac4354-sdio? ( LICENCE.broadcom_bcm43xx ) linux_firmware_brcmfmac4356-pcie? ( LICENCE.broadcom_bcm43xx ) linux_firmware_brcmfmac4371-pcie? ( LICENCE.broadcom_bcm43xx ) video_cards_radeon? ( LICENSE.radeon ) video_cards_amdgpu? ( LICENSE.amdgpu )
-PROPERTIES=live
-RDEPEND=linux_firmware_adreno-630? ( !media-libs/a630-fw ) linux_firmware_adreno-630? ( !media-libs/a660-fw ) linux_firmware_ath3k-all? ( !net-wireless/ath3k ) linux_firmware_ath3k-ar3011? ( !net-wireless/ath3k ) linux_firmware_ath3k-ar3012? ( !net-wireless/ath3k ) linux_firmware_keyspan_usb? ( !sys-kernel/chromeos-kernel-4_4[firmware_install] ) linux_firmware_marvell-pcie8897? ( !net-wireless/marvell_sd8787[pcie] ) linux_firmware_marvell-pcie8997? ( !net-wireless/marvell_sd8787[pcie] ) linux_firmware_mt8173-vpu? ( !media-libs/vpu-fw ) linux_firmware_nvidia-xusb? ( !sys-kernel/xhci-firmware ) linux_firmware_rt2870? ( !net-wireless/realtek-rt2800-firmware ) !net-wireless/ath6k !net-wireless/ath10k !net-wireless/iwl1000-ucode !net-wireless/iwl2000-ucode !net-wireless/iwl2030-ucode !net-wireless/iwl3945-ucode !net-wireless/iwl4965-ucode !net-wireless/iwl5000-ucode !net-wireless/iwl6000-ucode !net-wireless/iwl6005-ucode !net-wireless/iwl6030-ucode !net-wireless/iwl6050-ucode !sys-kernel/iwlwifi-gfp2-private
-REQUIRED_USE=?? ( kernel-4_19 kernel-5_4 kernel-5_10 kernel-5_15 kernel-upstream )
-RESTRICT=binchecks strip
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ea5c092da60b5cd0790812a41c1b3bcc
diff --git a/metadata/md5-cache/sys-kernel/linux-firmware-0.0.1-r586 b/metadata/md5-cache/sys-kernel/linux-firmware-0.0.1-r586
new file mode 100644
index 0000000..eeb67b1
--- /dev/null
+++ b/metadata/md5-cache/sys-kernel/linux-firmware-0.0.1-r586
@@ -0,0 +1,15 @@
+BDEPEND=dev-lang/python dev-vcs/git dev-vcs/git
+DEFINED_PHASES=configure info install setup test unpack
+DESCRIPTION=Firmware images from the upstream linux-fimware package
+EAPI=7
+HOMEPAGE=https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/
+IUSE=kernel-4_19 kernel-5_4 kernel-5_10 kernel-5_15 kernel-upstream linux_firmware_adreno-630 linux_firmware_adreno-660 linux_firmware_adsp_apl linux_firmware_adsp_cnl linux_firmware_adsp_glk linux_firmware_adsp_kbl linux_firmware_adsp_skl linux_firmware_ath9k_htc linux_firmware_ath10k_qca6174a-5 linux_firmware_ath10k_qca6174a-3 linux_firmware_ath10k_wcn3990 linux_firmware_ath11k_wcn6750 linux_firmware_ath11k_wcn6855 linux_firmware_amd_ucode linux_firmware_amdgpu_carrizo linux_firmware_amdgpu_gc_10_3_7 linux_firmware_amdgpu_green_sardine linux_firmware_amdgpu_picasso linux_firmware_amdgpu_raven2 linux_firmware_amdgpu_renoir linux_firmware_amdgpu_stoney linux_firmware_amdgpu_vega12 linux_firmware_amdgpu_yellow_carp linux_firmware_bcm4354-bt linux_firmware_cros-pd linux_firmware_fw_sst linux_firmware_fw_sst2 linux_firmware_i915_adl linux_firmware_i915_bxt linux_firmware_i915_cnl linux_firmware_i915_glk linux_firmware_i915_jsl linux_firmware_i915_kbl linux_firmware_i915_skl linux_firmware_i915_tgl linux_firmware_ibt_9260 linux_firmware_ibt_9560 linux_firmware_ibt_ax200 linux_firmware_ibt_ax201 linux_firmware_ibt_ax211 linux_firmware_ibt-hw linux_firmware_ice linux_firmware_ipu3_fw linux_firmware_keyspan_usb linux_firmware_marvell-mwlwifi linux_firmware_marvell-pcie8897 linux_firmware_marvell-pcie8997 linux_firmware_mt7921e linux_firmware_mt7921e-bt linux_firmware_mt8173-vpu linux_firmware_nvidia-xusb linux_firmware_qca6174a-3-bt linux_firmware_qca6174a-5-bt linux_firmware_qca-wcn3990-bt linux_firmware_qca-wcn3991-bt linux_firmware_qca-wcn685x-bt linux_firmware_qca-wcn6750-bt linux_firmware_rockchip-dptx linux_firmware_rt2870 linux_firmware_rtl8107e-1 linux_firmware_rtl8107e-2 linux_firmware_rtl8125a-3 linux_firmware_rtl8125b-1 linux_firmware_rtl8125b-2 linux_firmware_rtl8153 linux_firmware_rtl8168fp-3 linux_firmware_rtl8168g-1 linux_firmware_rtl8168g-2 linux_firmware_rtl8168h-1 linux_firmware_rtl8168h-2 linux_firmware_rtl_bt-8822ce-uart linux_firmware_rtl_bt-8822ce-usb linux_firmware_rtl_bt-8852ae-usb linux_firmware_rtl_bt-8852ce-usb linux_firmware_rtw8822c linux_firmware_rtw8852a linux_firmware_rtw8852c linux_firmware_venus-52 linux_firmware_venus-54 linux_firmware_venus-vpu-2 linux_firmware_ath3k-all linux_firmware_ath3k-ar3011 linux_firmware_ath3k-ar3012 linux_firmware_iwlwifi-all linux_firmware_iwlwifi-100 linux_firmware_iwlwifi-105 linux_firmware_iwlwifi-135 linux_firmware_iwlwifi-1000 linux_firmware_iwlwifi-1000 linux_firmware_iwlwifi-2000 linux_firmware_iwlwifi-2030 linux_firmware_iwlwifi-3160 linux_firmware_iwlwifi-3945 linux_firmware_iwlwifi-4965 linux_firmware_iwlwifi-5000 linux_firmware_iwlwifi-5150 linux_firmware_iwlwifi-6000 linux_firmware_iwlwifi-6005 linux_firmware_iwlwifi-6030 linux_firmware_iwlwifi-6050 linux_firmware_iwlwifi-7260 linux_firmware_iwlwifi-7265 linux_firmware_iwlwifi-7265D linux_firmware_iwlwifi-9000 linux_firmware_iwlwifi-9260 linux_firmware_iwlwifi-cc linux_firmware_iwlwifi-QuZ linux_firmware_iwlwifi-so linux_firmware_brcmfmac-all linux_firmware_brcmfmac4354-sdio linux_firmware_brcmfmac4356-pcie linux_firmware_brcmfmac4371-pcie video_cards_radeon video_cards_amdgpu cros_host cros_workon_tree_b6b02dc67b4f59579af60a26dea67a3f1e1234ca asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=linux_firmware_adreno-630? ( LICENSE.qcom ) linux_firmware_adreno-660? ( LICENSE.qcom ) linux_firmware_adsp_apl? ( LICENCE.adsp_sst ) linux_firmware_adsp_cnl? ( LICENCE.adsp_sst ) linux_firmware_adsp_glk? ( LICENCE.adsp_sst ) linux_firmware_adsp_kbl? ( LICENCE.adsp_sst ) linux_firmware_adsp_skl? ( LICENCE.adsp_sst ) linux_firmware_amd_ucode? ( LICENSE.amd-ucode ) linux_firmware_amdgpu_carrizo? ( LICENSE.amdgpu ) linux_firmware_amdgpu_gc_10_3_7? ( LICENSE.amdgpu ) linux_firmware_amdgpu_green_sardine? ( LICENSE.amdgpu ) linux_firmware_amdgpu_picasso? ( LICENSE.amdgpu ) linux_firmware_amdgpu_raven2? ( LICENSE.amdgpu ) linux_firmware_amdgpu_renoir? ( LICENSE.amdgpu ) linux_firmware_amdgpu_stoney? ( LICENSE.amdgpu ) linux_firmware_amdgpu_vega12? ( LICENSE.amdgpu ) linux_firmware_amdgpu_yellow_carp? ( LICENSE.amdgpu ) linux_firmware_ath3k-all? ( LICENCE.atheros_firmware ) linux_firmware_ath3k-ar3011? ( LICENCE.atheros_firmware ) linux_firmware_ath3k-ar3012? ( LICENCE.atheros_firmware ) linux_firmware_ath9k_htc? ( LICENCE.atheros_firmware ) linux_firmware_ath10k_qca6174a-5? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_ath10k_qca6174a-3? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_ath10k_wcn3990? ( LICENCE.atheros_firmware ) linux_firmware_ath11k_wcn6750? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_ath11k_wcn6855? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_bcm4354-bt? ( LICENCE.broadcom_bcm43xx ) linux_firmware_cros-pd? ( BSD-Google ) linux_firmware_fw_sst? ( LICENCE.fw_sst ) linux_firmware_fw_sst2? ( LICENCE.IntcSST2 ) linux_firmware_i915_adl? ( LICENSE.i915 ) linux_firmware_i915_bxt? ( LICENSE.i915 ) linux_firmware_i915_cnl? ( LICENSE.i915 ) linux_firmware_i915_glk? ( LICENSE.i915 ) linux_firmware_i915_jsl? ( LICENSE.i915 ) linux_firmware_i915_kbl? ( LICENSE.i915 ) linux_firmware_i915_skl? ( LICENSE.i915 ) linux_firmware_i915_tgl? ( LICENSE.i915 ) linux_firmware_ipu3_fw? ( LICENSE.ipu3_firmware ) linux_firmware_ibt_9260? ( LICENCE.ibt_firmware ) linux_firmware_ibt_9560? ( LICENCE.ibt_firmware ) linux_firmware_ibt_ax200? ( LICENCE.ibt_firmware ) linux_firmware_ibt_ax201? ( LICENCE.ibt_firmware ) linux_firmware_ibt_ax211? ( LICENCE.ibt_firmware ) linux_firmware_ibt-hw? ( LICENCE.ibt_firmware ) linux_firmware_ice? ( LICENSE.ice ) linux_firmware_keyspan_usb? ( LICENSE.keyspan_usb ) linux_firmware_marvell-mwlwifi? ( LICENCE.Marvell ) linux_firmware_marvell-pcie8897? ( LICENCE.NXP ) linux_firmware_marvell-pcie8997? ( LICENCE.NXP ) linux_firmware_mt7921e? ( LICENCE.mediatek-nic ) linux_firmware_mt7921e-bt? ( LICENCE.mediatek-nic ) linux_firmware_mt8173-vpu? ( LICENCE.mediatek-vpu ) linux_firmware_nvidia-xusb? ( LICENCE.nvidia ) linux_firmware_qca6174a-3-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_qca6174a-5-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_qca-wcn3990-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_qca-wcn3991-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_qca-wcn685x-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_qca-wcn6750-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_rockchip-dptx? ( LICENCE.rockchip ) linux_firmware_rt2870? ( LICENCE.ralink-firmware.txt LICENCE.ralink_a_mediatek_company_firmware ) linux_firmware_rtl8107e-1? ( LICENCE.rtl_nic ) linux_firmware_rtl8107e-2? ( LICENCE.rtl_nic ) linux_firmware_rtl8125a-3? ( LICENCE.rtl_nic ) linux_firmware_rtl8125b-1? ( LICENCE.rtl_nic ) linux_firmware_rtl8125b-2? ( LICENCE.rtl_nic ) linux_firmware_rtl8153? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtl8168fp-3? ( LICENCE.rtl_nic ) linux_firmware_rtl8168g-1? ( LICENCE.rtl_nic ) linux_firmware_rtl8168g-2? ( LICENCE.rtl_nic ) linux_firmware_rtl8168h-1? ( LICENCE.rtl_nic ) linux_firmware_rtl8168h-2? ( LICENCE.rtl_nic ) linux_firmware_rtl_bt-8822ce-uart? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtl_bt-8822ce-usb? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtl_bt-8852ae-usb? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtl_bt-8852ce-usb? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtw8822c? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtw8852a? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtw8852c? ( LICENCE.rtlwifi_firmware ) linux_firmware_venus-52? ( LICENSE.qcom ) linux_firmware_venus-54? ( LICENSE.qcom ) linux_firmware_venus-vpu-2? ( LICENSE.qcom ) linux_firmware_iwlwifi-all? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-100? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-105? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-135? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-1000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-1000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-2000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-2030? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-3160? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-3945? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-4965? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-5000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-5150? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-6000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-6005? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-6030? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-6050? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-7260? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-7265? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-7265D? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-9000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-9260? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-cc? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-QuZ? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-so? ( LICENCE.iwlwifi_firmware ) linux_firmware_brcmfmac-all? ( LICENCE.broadcom_bcm43xx ) linux_firmware_brcmfmac4354-sdio? ( LICENCE.broadcom_bcm43xx ) linux_firmware_brcmfmac4356-pcie? ( LICENCE.broadcom_bcm43xx ) linux_firmware_brcmfmac4371-pcie? ( LICENCE.broadcom_bcm43xx ) video_cards_radeon? ( LICENSE.radeon ) video_cards_amdgpu? ( LICENSE.amdgpu )
+PROPERTIES=live
+RDEPEND=linux_firmware_adreno-630? ( !media-libs/a630-fw ) linux_firmware_adreno-630? ( !media-libs/a660-fw ) linux_firmware_ath3k-all? ( !net-wireless/ath3k ) linux_firmware_ath3k-ar3011? ( !net-wireless/ath3k ) linux_firmware_ath3k-ar3012? ( !net-wireless/ath3k ) linux_firmware_keyspan_usb? ( !sys-kernel/chromeos-kernel-4_4[firmware_install] ) linux_firmware_marvell-pcie8897? ( !net-wireless/marvell_sd8787[pcie] ) linux_firmware_marvell-pcie8997? ( !net-wireless/marvell_sd8787[pcie] ) linux_firmware_mt8173-vpu? ( !media-libs/vpu-fw ) linux_firmware_nvidia-xusb? ( !sys-kernel/xhci-firmware ) linux_firmware_rt2870? ( !net-wireless/realtek-rt2800-firmware ) !net-wireless/ath6k !net-wireless/ath10k !net-wireless/iwl1000-ucode !net-wireless/iwl2000-ucode !net-wireless/iwl2030-ucode !net-wireless/iwl3945-ucode !net-wireless/iwl4965-ucode !net-wireless/iwl5000-ucode !net-wireless/iwl6000-ucode !net-wireless/iwl6005-ucode !net-wireless/iwl6030-ucode !net-wireless/iwl6050-ucode
+REQUIRED_USE=?? ( kernel-4_19 kernel-5_4 kernel-5_10 kernel-5_15 kernel-upstream )
+RESTRICT=binchecks strip
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=da4c5b0b641367cc0643015ebf3a9a58
diff --git a/metadata/md5-cache/sys-kernel/linux-firmware-9999 b/metadata/md5-cache/sys-kernel/linux-firmware-9999
index 40f8c52..db1ff62 100644
--- a/metadata/md5-cache/sys-kernel/linux-firmware-9999
+++ b/metadata/md5-cache/sys-kernel/linux-firmware-9999
@@ -1,15 +1,15 @@
 BDEPEND=dev-lang/python dev-vcs/git dev-vcs/git
-DEFINED_PHASES=info install setup test unpack
+DEFINED_PHASES=configure info install setup test unpack
 DESCRIPTION=Firmware images from the upstream linux-fimware package
 EAPI=7
 HOMEPAGE=https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/
-IUSE=kernel-4_19 kernel-5_4 kernel-5_10 kernel-5_15 kernel-upstream linux_firmware_adreno-630 linux_firmware_adreno-660 linux_firmware_adsp_apl linux_firmware_adsp_cnl linux_firmware_adsp_glk linux_firmware_adsp_kbl linux_firmware_adsp_skl linux_firmware_ath9k_htc linux_firmware_ath10k_qca6174a-5 linux_firmware_ath10k_qca6174a-3 linux_firmware_ath10k_wcn3990 linux_firmware_ath11k_wcn6855 linux_firmware_amdgpu_carrizo linux_firmware_amdgpu_green_sardine linux_firmware_amdgpu_picasso linux_firmware_amdgpu_raven2 linux_firmware_amdgpu_renoir linux_firmware_amdgpu_stoney linux_firmware_amdgpu_vega12 linux_firmware_amdgpu_yellow_carp linux_firmware_bcm4354-bt linux_firmware_cros-pd linux_firmware_fw_sst linux_firmware_fw_sst2 linux_firmware_i915_adl linux_firmware_i915_bxt linux_firmware_i915_cnl linux_firmware_i915_glk linux_firmware_i915_jsl linux_firmware_i915_kbl linux_firmware_i915_skl linux_firmware_i915_tgl linux_firmware_ibt_9260 linux_firmware_ibt_9560 linux_firmware_ibt_ax200 linux_firmware_ibt_ax201 linux_firmware_ibt_ax211 linux_firmware_ibt-hw linux_firmware_ice linux_firmware_ipu3_fw linux_firmware_keyspan_usb linux_firmware_marvell-mwlwifi linux_firmware_marvell-pcie8897 linux_firmware_marvell-pcie8997 linux_firmware_mt7921e linux_firmware_mt7921e-bt linux_firmware_mt8173-vpu linux_firmware_nvidia-xusb linux_firmware_qca6174a-3-bt linux_firmware_qca6174a-5-bt linux_firmware_qca-wcn3990-bt linux_firmware_qca-wcn3991-bt linux_firmware_qca-wcn685x-bt linux_firmware_qca-wcn6750-bt linux_firmware_rockchip-dptx linux_firmware_rt2870 linux_firmware_rtl8107e-1 linux_firmware_rtl8107e-2 linux_firmware_rtl8125a-3 linux_firmware_rtl8125b-1 linux_firmware_rtl8125b-2 linux_firmware_rtl8153 linux_firmware_rtl8168fp-3 linux_firmware_rtl8168g-1 linux_firmware_rtl8168g-2 linux_firmware_rtl8168h-1 linux_firmware_rtl8168h-2 linux_firmware_rtl_bt-8822ce-uart linux_firmware_rtl_bt-8822ce-usb linux_firmware_rtl_bt-8852ae-usb linux_firmware_rtw8822c linux_firmware_rtw8852a linux_firmware_venus-52 linux_firmware_venus-54 linux_firmware_venus-vpu-2 linux_firmware_ath3k-all linux_firmware_ath3k-ar3011 linux_firmware_ath3k-ar3012 linux_firmware_iwlwifi-all linux_firmware_iwlwifi-100 linux_firmware_iwlwifi-105 linux_firmware_iwlwifi-135 linux_firmware_iwlwifi-1000 linux_firmware_iwlwifi-1000 linux_firmware_iwlwifi-2000 linux_firmware_iwlwifi-2030 linux_firmware_iwlwifi-3160 linux_firmware_iwlwifi-3945 linux_firmware_iwlwifi-4965 linux_firmware_iwlwifi-5000 linux_firmware_iwlwifi-5150 linux_firmware_iwlwifi-6000 linux_firmware_iwlwifi-6005 linux_firmware_iwlwifi-6030 linux_firmware_iwlwifi-6050 linux_firmware_iwlwifi-7260 linux_firmware_iwlwifi-7265 linux_firmware_iwlwifi-7265D linux_firmware_iwlwifi-9000 linux_firmware_iwlwifi-9260 linux_firmware_iwlwifi-cc linux_firmware_iwlwifi-QuZ linux_firmware_iwlwifi-so linux_firmware_brcmfmac-all linux_firmware_brcmfmac4354-sdio linux_firmware_brcmfmac4356-pcie linux_firmware_brcmfmac4371-pcie video_cards_radeon video_cards_amdgpu cros_host cros_workon_tree_
+IUSE=kernel-4_19 kernel-5_4 kernel-5_10 kernel-5_15 kernel-upstream linux_firmware_adreno-630 linux_firmware_adreno-660 linux_firmware_adsp_apl linux_firmware_adsp_cnl linux_firmware_adsp_glk linux_firmware_adsp_kbl linux_firmware_adsp_skl linux_firmware_ath9k_htc linux_firmware_ath10k_qca6174a-5 linux_firmware_ath10k_qca6174a-3 linux_firmware_ath10k_wcn3990 linux_firmware_ath11k_wcn6750 linux_firmware_ath11k_wcn6855 linux_firmware_amd_ucode linux_firmware_amdgpu_carrizo linux_firmware_amdgpu_gc_10_3_7 linux_firmware_amdgpu_green_sardine linux_firmware_amdgpu_picasso linux_firmware_amdgpu_raven2 linux_firmware_amdgpu_renoir linux_firmware_amdgpu_stoney linux_firmware_amdgpu_vega12 linux_firmware_amdgpu_yellow_carp linux_firmware_bcm4354-bt linux_firmware_cros-pd linux_firmware_fw_sst linux_firmware_fw_sst2 linux_firmware_i915_adl linux_firmware_i915_bxt linux_firmware_i915_cnl linux_firmware_i915_glk linux_firmware_i915_jsl linux_firmware_i915_kbl linux_firmware_i915_skl linux_firmware_i915_tgl linux_firmware_ibt_9260 linux_firmware_ibt_9560 linux_firmware_ibt_ax200 linux_firmware_ibt_ax201 linux_firmware_ibt_ax211 linux_firmware_ibt-hw linux_firmware_ice linux_firmware_ipu3_fw linux_firmware_keyspan_usb linux_firmware_marvell-mwlwifi linux_firmware_marvell-pcie8897 linux_firmware_marvell-pcie8997 linux_firmware_mt7921e linux_firmware_mt7921e-bt linux_firmware_mt8173-vpu linux_firmware_nvidia-xusb linux_firmware_qca6174a-3-bt linux_firmware_qca6174a-5-bt linux_firmware_qca-wcn3990-bt linux_firmware_qca-wcn3991-bt linux_firmware_qca-wcn685x-bt linux_firmware_qca-wcn6750-bt linux_firmware_rockchip-dptx linux_firmware_rt2870 linux_firmware_rtl8107e-1 linux_firmware_rtl8107e-2 linux_firmware_rtl8125a-3 linux_firmware_rtl8125b-1 linux_firmware_rtl8125b-2 linux_firmware_rtl8153 linux_firmware_rtl8168fp-3 linux_firmware_rtl8168g-1 linux_firmware_rtl8168g-2 linux_firmware_rtl8168h-1 linux_firmware_rtl8168h-2 linux_firmware_rtl_bt-8822ce-uart linux_firmware_rtl_bt-8822ce-usb linux_firmware_rtl_bt-8852ae-usb linux_firmware_rtl_bt-8852ce-usb linux_firmware_rtw8822c linux_firmware_rtw8852a linux_firmware_rtw8852c linux_firmware_venus-52 linux_firmware_venus-54 linux_firmware_venus-vpu-2 linux_firmware_ath3k-all linux_firmware_ath3k-ar3011 linux_firmware_ath3k-ar3012 linux_firmware_iwlwifi-all linux_firmware_iwlwifi-100 linux_firmware_iwlwifi-105 linux_firmware_iwlwifi-135 linux_firmware_iwlwifi-1000 linux_firmware_iwlwifi-1000 linux_firmware_iwlwifi-2000 linux_firmware_iwlwifi-2030 linux_firmware_iwlwifi-3160 linux_firmware_iwlwifi-3945 linux_firmware_iwlwifi-4965 linux_firmware_iwlwifi-5000 linux_firmware_iwlwifi-5150 linux_firmware_iwlwifi-6000 linux_firmware_iwlwifi-6005 linux_firmware_iwlwifi-6030 linux_firmware_iwlwifi-6050 linux_firmware_iwlwifi-7260 linux_firmware_iwlwifi-7265 linux_firmware_iwlwifi-7265D linux_firmware_iwlwifi-9000 linux_firmware_iwlwifi-9260 linux_firmware_iwlwifi-cc linux_firmware_iwlwifi-QuZ linux_firmware_iwlwifi-so linux_firmware_brcmfmac-all linux_firmware_brcmfmac4354-sdio linux_firmware_brcmfmac4356-pcie linux_firmware_brcmfmac4371-pcie video_cards_radeon video_cards_amdgpu cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
-LICENSE=linux_firmware_adreno-630? ( LICENSE.qcom ) linux_firmware_adreno-660? ( LICENSE.qcom ) linux_firmware_adsp_apl? ( LICENCE.adsp_sst ) linux_firmware_adsp_cnl? ( LICENCE.adsp_sst ) linux_firmware_adsp_glk? ( LICENCE.adsp_sst ) linux_firmware_adsp_kbl? ( LICENCE.adsp_sst ) linux_firmware_adsp_skl? ( LICENCE.adsp_sst ) linux_firmware_amdgpu_carrizo? ( LICENSE.amdgpu ) linux_firmware_amdgpu_green_sardine? ( LICENSE.amdgpu ) linux_firmware_amdgpu_picasso? ( LICENSE.amdgpu ) linux_firmware_amdgpu_raven2? ( LICENSE.amdgpu ) linux_firmware_amdgpu_renoir? ( LICENSE.amdgpu ) linux_firmware_amdgpu_stoney? ( LICENSE.amdgpu ) linux_firmware_amdgpu_vega12? ( LICENSE.amdgpu ) linux_firmware_amdgpu_yellow_carp? ( LICENSE.amdgpu ) linux_firmware_ath3k-all? ( LICENCE.atheros_firmware ) linux_firmware_ath3k-ar3011? ( LICENCE.atheros_firmware ) linux_firmware_ath3k-ar3012? ( LICENCE.atheros_firmware ) linux_firmware_ath9k_htc? ( LICENCE.atheros_firmware ) linux_firmware_ath10k_qca6174a-5? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_ath10k_qca6174a-3? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_ath10k_wcn3990? ( LICENCE.atheros_firmware ) linux_firmware_ath11k_wcn6855? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_bcm4354-bt? ( LICENCE.broadcom_bcm43xx ) linux_firmware_cros-pd? ( BSD-Google ) linux_firmware_fw_sst? ( LICENCE.fw_sst ) linux_firmware_fw_sst2? ( LICENCE.IntcSST2 ) linux_firmware_i915_adl? ( LICENSE.i915 ) linux_firmware_i915_bxt? ( LICENSE.i915 ) linux_firmware_i915_cnl? ( LICENSE.i915 ) linux_firmware_i915_glk? ( LICENSE.i915 ) linux_firmware_i915_jsl? ( LICENSE.i915 ) linux_firmware_i915_kbl? ( LICENSE.i915 ) linux_firmware_i915_skl? ( LICENSE.i915 ) linux_firmware_i915_tgl? ( LICENSE.i915 ) linux_firmware_ipu3_fw? ( LICENSE.ipu3_firmware ) linux_firmware_ibt_9260? ( LICENCE.ibt_firmware ) linux_firmware_ibt_9560? ( LICENCE.ibt_firmware ) linux_firmware_ibt_ax200? ( LICENCE.ibt_firmware ) linux_firmware_ibt_ax201? ( LICENCE.ibt_firmware ) linux_firmware_ibt_ax211? ( LICENCE.ibt_firmware ) linux_firmware_ibt-hw? ( LICENCE.ibt_firmware ) linux_firmware_ice? ( LICENSE.ice ) linux_firmware_keyspan_usb? ( LICENSE.keyspan_usb ) linux_firmware_marvell-mwlwifi? ( LICENCE.Marvell ) linux_firmware_marvell-pcie8897? ( LICENCE.NXP ) linux_firmware_marvell-pcie8997? ( LICENCE.NXP ) linux_firmware_mt7921e? ( LICENCE.mediatek-nic ) linux_firmware_mt7921e-bt? ( LICENCE.mediatek-nic ) linux_firmware_mt8173-vpu? ( LICENCE.mediatek-vpu ) linux_firmware_nvidia-xusb? ( LICENCE.nvidia ) linux_firmware_qca6174a-3-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_qca6174a-5-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_qca-wcn3990-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_qca-wcn3991-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_qca-wcn685x-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_qca-wcn6750-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_rockchip-dptx? ( LICENCE.rockchip ) linux_firmware_rt2870? ( LICENCE.ralink-firmware.txt LICENCE.ralink_a_mediatek_company_firmware ) linux_firmware_rtl8107e-1? ( LICENCE.rtl_nic ) linux_firmware_rtl8107e-2? ( LICENCE.rtl_nic ) linux_firmware_rtl8125a-3? ( LICENCE.rtl_nic ) linux_firmware_rtl8125b-1? ( LICENCE.rtl_nic ) linux_firmware_rtl8125b-2? ( LICENCE.rtl_nic ) linux_firmware_rtl8153? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtl8168fp-3? ( LICENCE.rtl_nic ) linux_firmware_rtl8168g-1? ( LICENCE.rtl_nic ) linux_firmware_rtl8168g-2? ( LICENCE.rtl_nic ) linux_firmware_rtl8168h-1? ( LICENCE.rtl_nic ) linux_firmware_rtl8168h-2? ( LICENCE.rtl_nic ) linux_firmware_rtl_bt-8822ce-uart? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtl_bt-8822ce-usb? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtl_bt-8852ae-usb? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtw8822c? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtw8852a? ( LICENCE.rtlwifi_firmware ) linux_firmware_venus-52? ( LICENSE.qcom ) linux_firmware_venus-54? ( LICENSE.qcom ) linux_firmware_venus-vpu-2? ( LICENSE.qcom ) linux_firmware_iwlwifi-all? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-100? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-105? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-135? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-1000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-1000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-2000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-2030? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-3160? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-3945? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-4965? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-5000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-5150? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-6000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-6005? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-6030? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-6050? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-7260? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-7265? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-7265D? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-9000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-9260? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-cc? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-QuZ? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-so? ( LICENCE.iwlwifi_firmware ) linux_firmware_brcmfmac-all? ( LICENCE.broadcom_bcm43xx ) linux_firmware_brcmfmac4354-sdio? ( LICENCE.broadcom_bcm43xx ) linux_firmware_brcmfmac4356-pcie? ( LICENCE.broadcom_bcm43xx ) linux_firmware_brcmfmac4371-pcie? ( LICENCE.broadcom_bcm43xx ) video_cards_radeon? ( LICENSE.radeon ) video_cards_amdgpu? ( LICENSE.amdgpu )
+LICENSE=linux_firmware_adreno-630? ( LICENSE.qcom ) linux_firmware_adreno-660? ( LICENSE.qcom ) linux_firmware_adsp_apl? ( LICENCE.adsp_sst ) linux_firmware_adsp_cnl? ( LICENCE.adsp_sst ) linux_firmware_adsp_glk? ( LICENCE.adsp_sst ) linux_firmware_adsp_kbl? ( LICENCE.adsp_sst ) linux_firmware_adsp_skl? ( LICENCE.adsp_sst ) linux_firmware_amd_ucode? ( LICENSE.amd-ucode ) linux_firmware_amdgpu_carrizo? ( LICENSE.amdgpu ) linux_firmware_amdgpu_gc_10_3_7? ( LICENSE.amdgpu ) linux_firmware_amdgpu_green_sardine? ( LICENSE.amdgpu ) linux_firmware_amdgpu_picasso? ( LICENSE.amdgpu ) linux_firmware_amdgpu_raven2? ( LICENSE.amdgpu ) linux_firmware_amdgpu_renoir? ( LICENSE.amdgpu ) linux_firmware_amdgpu_stoney? ( LICENSE.amdgpu ) linux_firmware_amdgpu_vega12? ( LICENSE.amdgpu ) linux_firmware_amdgpu_yellow_carp? ( LICENSE.amdgpu ) linux_firmware_ath3k-all? ( LICENCE.atheros_firmware ) linux_firmware_ath3k-ar3011? ( LICENCE.atheros_firmware ) linux_firmware_ath3k-ar3012? ( LICENCE.atheros_firmware ) linux_firmware_ath9k_htc? ( LICENCE.atheros_firmware ) linux_firmware_ath10k_qca6174a-5? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_ath10k_qca6174a-3? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_ath10k_wcn3990? ( LICENCE.atheros_firmware ) linux_firmware_ath11k_wcn6750? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_ath11k_wcn6855? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_bcm4354-bt? ( LICENCE.broadcom_bcm43xx ) linux_firmware_cros-pd? ( BSD-Google ) linux_firmware_fw_sst? ( LICENCE.fw_sst ) linux_firmware_fw_sst2? ( LICENCE.IntcSST2 ) linux_firmware_i915_adl? ( LICENSE.i915 ) linux_firmware_i915_bxt? ( LICENSE.i915 ) linux_firmware_i915_cnl? ( LICENSE.i915 ) linux_firmware_i915_glk? ( LICENSE.i915 ) linux_firmware_i915_jsl? ( LICENSE.i915 ) linux_firmware_i915_kbl? ( LICENSE.i915 ) linux_firmware_i915_skl? ( LICENSE.i915 ) linux_firmware_i915_tgl? ( LICENSE.i915 ) linux_firmware_ipu3_fw? ( LICENSE.ipu3_firmware ) linux_firmware_ibt_9260? ( LICENCE.ibt_firmware ) linux_firmware_ibt_9560? ( LICENCE.ibt_firmware ) linux_firmware_ibt_ax200? ( LICENCE.ibt_firmware ) linux_firmware_ibt_ax201? ( LICENCE.ibt_firmware ) linux_firmware_ibt_ax211? ( LICENCE.ibt_firmware ) linux_firmware_ibt-hw? ( LICENCE.ibt_firmware ) linux_firmware_ice? ( LICENSE.ice ) linux_firmware_keyspan_usb? ( LICENSE.keyspan_usb ) linux_firmware_marvell-mwlwifi? ( LICENCE.Marvell ) linux_firmware_marvell-pcie8897? ( LICENCE.NXP ) linux_firmware_marvell-pcie8997? ( LICENCE.NXP ) linux_firmware_mt7921e? ( LICENCE.mediatek-nic ) linux_firmware_mt7921e-bt? ( LICENCE.mediatek-nic ) linux_firmware_mt8173-vpu? ( LICENCE.mediatek-vpu ) linux_firmware_nvidia-xusb? ( LICENCE.nvidia ) linux_firmware_qca6174a-3-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_qca6174a-5-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_qca-wcn3990-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_qca-wcn3991-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_qca-wcn685x-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_qca-wcn6750-bt? ( LICENSE.QualcommAtheros_ath10k ) linux_firmware_rockchip-dptx? ( LICENCE.rockchip ) linux_firmware_rt2870? ( LICENCE.ralink-firmware.txt LICENCE.ralink_a_mediatek_company_firmware ) linux_firmware_rtl8107e-1? ( LICENCE.rtl_nic ) linux_firmware_rtl8107e-2? ( LICENCE.rtl_nic ) linux_firmware_rtl8125a-3? ( LICENCE.rtl_nic ) linux_firmware_rtl8125b-1? ( LICENCE.rtl_nic ) linux_firmware_rtl8125b-2? ( LICENCE.rtl_nic ) linux_firmware_rtl8153? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtl8168fp-3? ( LICENCE.rtl_nic ) linux_firmware_rtl8168g-1? ( LICENCE.rtl_nic ) linux_firmware_rtl8168g-2? ( LICENCE.rtl_nic ) linux_firmware_rtl8168h-1? ( LICENCE.rtl_nic ) linux_firmware_rtl8168h-2? ( LICENCE.rtl_nic ) linux_firmware_rtl_bt-8822ce-uart? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtl_bt-8822ce-usb? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtl_bt-8852ae-usb? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtl_bt-8852ce-usb? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtw8822c? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtw8852a? ( LICENCE.rtlwifi_firmware ) linux_firmware_rtw8852c? ( LICENCE.rtlwifi_firmware ) linux_firmware_venus-52? ( LICENSE.qcom ) linux_firmware_venus-54? ( LICENSE.qcom ) linux_firmware_venus-vpu-2? ( LICENSE.qcom ) linux_firmware_iwlwifi-all? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-100? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-105? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-135? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-1000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-1000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-2000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-2030? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-3160? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-3945? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-4965? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-5000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-5150? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-6000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-6005? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-6030? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-6050? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-7260? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-7265? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-7265D? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-9000? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-9260? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-cc? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-QuZ? ( LICENCE.iwlwifi_firmware ) linux_firmware_iwlwifi-so? ( LICENCE.iwlwifi_firmware ) linux_firmware_brcmfmac-all? ( LICENCE.broadcom_bcm43xx ) linux_firmware_brcmfmac4354-sdio? ( LICENCE.broadcom_bcm43xx ) linux_firmware_brcmfmac4356-pcie? ( LICENCE.broadcom_bcm43xx ) linux_firmware_brcmfmac4371-pcie? ( LICENCE.broadcom_bcm43xx ) video_cards_radeon? ( LICENSE.radeon ) video_cards_amdgpu? ( LICENSE.amdgpu )
 PROPERTIES=live
-RDEPEND=linux_firmware_adreno-630? ( !media-libs/a630-fw ) linux_firmware_adreno-630? ( !media-libs/a660-fw ) linux_firmware_ath3k-all? ( !net-wireless/ath3k ) linux_firmware_ath3k-ar3011? ( !net-wireless/ath3k ) linux_firmware_ath3k-ar3012? ( !net-wireless/ath3k ) linux_firmware_keyspan_usb? ( !sys-kernel/chromeos-kernel-4_4[firmware_install] ) linux_firmware_marvell-pcie8897? ( !net-wireless/marvell_sd8787[pcie] ) linux_firmware_marvell-pcie8997? ( !net-wireless/marvell_sd8787[pcie] ) linux_firmware_mt8173-vpu? ( !media-libs/vpu-fw ) linux_firmware_nvidia-xusb? ( !sys-kernel/xhci-firmware ) linux_firmware_rt2870? ( !net-wireless/realtek-rt2800-firmware ) !net-wireless/ath6k !net-wireless/ath10k !net-wireless/iwl1000-ucode !net-wireless/iwl2000-ucode !net-wireless/iwl2030-ucode !net-wireless/iwl3945-ucode !net-wireless/iwl4965-ucode !net-wireless/iwl5000-ucode !net-wireless/iwl6000-ucode !net-wireless/iwl6005-ucode !net-wireless/iwl6030-ucode !net-wireless/iwl6050-ucode !sys-kernel/iwlwifi-gfp2-private
+RDEPEND=linux_firmware_adreno-630? ( !media-libs/a630-fw ) linux_firmware_adreno-630? ( !media-libs/a660-fw ) linux_firmware_ath3k-all? ( !net-wireless/ath3k ) linux_firmware_ath3k-ar3011? ( !net-wireless/ath3k ) linux_firmware_ath3k-ar3012? ( !net-wireless/ath3k ) linux_firmware_keyspan_usb? ( !sys-kernel/chromeos-kernel-4_4[firmware_install] ) linux_firmware_marvell-pcie8897? ( !net-wireless/marvell_sd8787[pcie] ) linux_firmware_marvell-pcie8997? ( !net-wireless/marvell_sd8787[pcie] ) linux_firmware_mt8173-vpu? ( !media-libs/vpu-fw ) linux_firmware_nvidia-xusb? ( !sys-kernel/xhci-firmware ) linux_firmware_rt2870? ( !net-wireless/realtek-rt2800-firmware ) !net-wireless/ath6k !net-wireless/ath10k !net-wireless/iwl1000-ucode !net-wireless/iwl2000-ucode !net-wireless/iwl2030-ucode !net-wireless/iwl3945-ucode !net-wireless/iwl4965-ucode !net-wireless/iwl5000-ucode !net-wireless/iwl6000-ucode !net-wireless/iwl6005-ucode !net-wireless/iwl6030-ucode !net-wireless/iwl6050-ucode
 REQUIRED_USE=?? ( kernel-4_19 kernel-5_4 kernel-5_10 kernel-5_15 kernel-upstream )
 RESTRICT=binchecks strip
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=d1595e58f7bde2d1911bf1733d902d23
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=7fe64917c5ab8265374df91992b650b4
diff --git a/metadata/md5-cache/sys-kernel/linux-headers-4.14 b/metadata/md5-cache/sys-kernel/linux-headers-4.14
index 56ff868..306b4da 100644
--- a/metadata/md5-cache/sys-kernel/linux-headers-4.14
+++ b/metadata/md5-cache/sys-kernel/linux-headers-4.14
@@ -11,4 +11,4 @@
 SLOT=0
 SRC_URI=mirror://gentoo/gentoo-headers-base-4.14.tar.xz mirror://gentoo/gentoo-headers-4.14-1.tar.xz
 _eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	kernel-2	22e19d931209f97dc17441df1f6df72e	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	versionator	26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=eab575b10d1a4233a2d52f7b106bd733
+_md5_=7a35392615418cfee059ae725f8a231c
diff --git a/metadata/md5-cache/sys-kernel/linux-headers-4.14-r43 b/metadata/md5-cache/sys-kernel/linux-headers-4.14-r43
deleted file mode 100644
index 56ff868..0000000
--- a/metadata/md5-cache/sys-kernel/linux-headers-4.14-r43
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile install postinst postrm preinst prepare setup test unpack
-DEPEND=app-arch/xz-utils dev-lang/perl
-DESCRIPTION=Linux system headers
-EAPI=6
-HOMEPAGE=http://www.kernel.org/ http://www.gentoo.org/
-IUSE=crosscompile_opts_headers-only
-KEYWORDS=*
-LICENSE=GPL-2
-RDEPEND=!!media-sound/alsa-headers
-RESTRICT=binchecks strip
-SLOT=0
-SRC_URI=mirror://gentoo/gentoo-headers-base-4.14.tar.xz mirror://gentoo/gentoo-headers-4.14-1.tar.xz
-_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	kernel-2	22e19d931209f97dc17441df1f6df72e	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	versionator	26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=eab575b10d1a4233a2d52f7b106bd733
diff --git a/metadata/md5-cache/sys-kernel/linux-headers-4.14-r53 b/metadata/md5-cache/sys-kernel/linux-headers-4.14-r53
new file mode 100644
index 0000000..306b4da
--- /dev/null
+++ b/metadata/md5-cache/sys-kernel/linux-headers-4.14-r53
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install postinst postrm preinst prepare setup test unpack
+DEPEND=app-arch/xz-utils dev-lang/perl
+DESCRIPTION=Linux system headers
+EAPI=6
+HOMEPAGE=http://www.kernel.org/ http://www.gentoo.org/
+IUSE=crosscompile_opts_headers-only
+KEYWORDS=*
+LICENSE=GPL-2
+RDEPEND=!!media-sound/alsa-headers
+RESTRICT=binchecks strip
+SLOT=0
+SRC_URI=mirror://gentoo/gentoo-headers-base-4.14.tar.xz mirror://gentoo/gentoo-headers-4.14-1.tar.xz
+_eclasses_=desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	kernel-2	22e19d931209f97dc17441df1f6df72e	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	versionator	26ca8a8bd95d6a74122c08ba98a4ee72
+_md5_=7a35392615418cfee059ae725f8a231c
diff --git a/metadata/md5-cache/sys-kernel/upstream-kernel-mainline-9999 b/metadata/md5-cache/sys-kernel/upstream-kernel-mainline-9999
index e310378..5c25183a1 100644
--- a/metadata/md5-cache/sys-kernel/upstream-kernel-mainline-9999
+++ b/metadata/md5-cache/sys-kernel/upstream-kernel-mainline-9999
@@ -1,15 +1,15 @@
-BDEPEND=dev-vcs/git sys-apps/debianutils
+BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) minios_test_ramfs? ( chromeos-base/chromeos-initramfs[minios_test_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
+DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_adln_ucode? ( sys-firmware/adln-ucode-firmware-private ) builtin_fw_x86_amd_ucode? ( sys-kernel/linux-firmware[linux_firmware_amd_ucode] ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
 DESCRIPTION=Linux Kernel Upstream (mainline)
 EAPI=7
 HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
-IUSE=cros_host cros_workon_tree_ board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wireless42 -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc acpi_ac acpi_debug allocator_slab apex binder blkdevram builtin_driver_amdgpu ca0132 cec criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker dp_cec drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs minios_test_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
+IUSE=cros_host cros_workon_tree_ board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc hibernate -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc sparse disable_kernel_fragments acpi_ac acpi_debug allocator_slab apex aurora binder blkdevram builtin_driver_amdgpu ca0132 criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish hibernate highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vkms vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_gc_10_3_7 builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_adl_kernelnext builtin_fw_guc_adln builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_adl_kernelnext builtin_fw_huc_adln builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_adln_ucode builtin_fw_x86_amd_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
 KEYWORDS=*
 LICENSE=GPL-2
 PROPERTIES=live
-REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs minios_test_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
+REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
 RESTRICT=binchecks mirror
 SLOT=0
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-kernel2	50a27a89cf31cc2056abdf5bf4e0f99c	cros-workon	3c71f7f071c8eef67417b728224b1702	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-kernel2	88a1e9c1bf762e237fe2b32712d398ba	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=c07f93f3a1635317d89b72b8c6e7e3a7
diff --git a/metadata/md5-cache/sys-kernel/upstream-kernel-next-9999 b/metadata/md5-cache/sys-kernel/upstream-kernel-next-9999
index 1f8e5b9..9bd1275 100644
--- a/metadata/md5-cache/sys-kernel/upstream-kernel-next-9999
+++ b/metadata/md5-cache/sys-kernel/upstream-kernel-next-9999
@@ -1,15 +1,15 @@
-BDEPEND=dev-vcs/git sys-apps/debianutils
+BDEPEND=dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup unpack
-DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) minios_test_ramfs? ( chromeos-base/chromeos-initramfs[minios_test_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
+DEPEND=sys-kernel/linux-firmware factory_netboot_ramfs? ( chromeos-base/chromeos-initramfs[factory_netboot_ramfs] ) factory_shim_ramfs? ( chromeos-base/chromeos-initramfs[factory_shim_ramfs] ) minios_ramfs? ( chromeos-base/chromeos-initramfs[minios_ramfs] ) recovery_ramfs? ( chromeos-base/chromeos-initramfs[recovery_ramfs] ) builtin_fw_mali_g57? ( virtual/opengles ) builtin_fw_t210_bpmp? ( sys-kernel/tegra_bpmp-t210 ) builtin_fw_t210_nouveau? ( sys-kernel/nouveau-firmware ) builtin_fw_x86_adl_ucode? ( sys-boot/coreboot-private-files-baseboard-brya ) builtin_fw_x86_adln_ucode? ( sys-firmware/adln-ucode-firmware-private ) builtin_fw_x86_amd_ucode? ( sys-kernel/linux-firmware[linux_firmware_amd_ucode] ) builtin_fw_x86_aml_ucode? ( chromeos-base/aml-ucode-firmware-private ) builtin_fw_x86_apl_ucode? ( chromeos-base/apl-ucode-firmware-private ) builtin_fw_x86_bdw_ucode? ( chromeos-base/bdw-ucode-firmware-private ) builtin_fw_x86_bsw_ucode? ( chromeos-base/bsw-ucode-firmware-private ) builtin_fw_x86_byt_ucode? ( chromeos-base/byt-ucode-firmware-private ) builtin_fw_x86_cml_ucode? ( chromeos-base/cml-ucode-firmware-private ) builtin_fw_x86_glk_ucode? ( chromeos-base/glk-ucode-firmware-private ) builtin_fw_x86_intel_ucode? ( sys-firmware/intel-ucode-firmware ) builtin_fw_x86_jsl_ucode? ( chromeos-base/jsl-ucode-firmware-private ) builtin_fw_x86_kbl_ucode? ( chromeos-base/kbl-ucode-firmware-private ) builtin_fw_x86_skl_ucode? ( chromeos-base/skl-ucode-firmware-private ) builtin_fw_x86_tgl_ucode? ( chromeos-base/tgl-ucode-firmware-private ) builtin_fw_x86_whl_ucode? ( chromeos-base/whl-ucode-firmware-private )
 DESCRIPTION=Linux Kernel Upstream (next)
 EAPI=7
 HOMEPAGE=https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel
-IUSE=cros_host cros_workon_tree_ board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_corsola board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_moblab-generic-vm board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wireless42 -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc acpi_ac acpi_debug allocator_slab apex binder blkdevram builtin_driver_amdgpu ca0132 cec criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker dp_cec drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs minios_test_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
+IUSE=cros_host cros_workon_tree_ board_use_adlnrvp board_use_adlrvp board_use_ambassador board_use_amd64-generic board_use_amd64-generic-cheets board_use_amd64-generic_embedded board_use_amd64-host board_use_aplrvp board_use_arm-generic board_use_arm64-generic board_use_arm64-llvmpipe board_use_asuka board_use_asurada board_use_atlas board_use_atlas-connectivitynext board_use_atlas-kernelnext board_use_aurora board_use_aurora-borealis board_use_auron board_use_auron_paine board_use_auron_yuna board_use_banjo board_use_banon board_use_beaglebone board_use_beaglebone_servo board_use_betty board_use_betty-arc-r board_use_betty-arc-s board_use_betty-arc64 board_use_betty-pi-arc board_use_bob board_use_borealis board_use_brask board_use_brya board_use_brya-hibernate board_use_brya-lvm-stateful board_use_brya-manatee board_use_bubs board_use_buddy board_use_buddy-cfm board_use_candy board_use_capri board_use_capri-zfpga board_use_caroline board_use_caroline-arc64 board_use_caroline-kernelnext board_use_caroline-ndktranslation board_use_caroline-userdebug board_use_cave board_use_celes board_use_chell board_use_cherry board_use_cherry64 board_use_cobblepot board_use_coral board_use_coral-arc-r board_use_corsola board_use_corsola64 board_use_cyan board_use_cyan-cheets board_use_cyan-kernelnext board_use_dedede board_use_deltaur board_use_drallion board_use_edgar board_use_elm board_use_elm-arc64 board_use_elm-kernelnext board_use_endeavour board_use_enguarde board_use_eve board_use_eve-arc-r board_use_eve-arm64 board_use_eve-kernelnext board_use_eve-kvm board_use_eve-lacros board_use_eve-swap board_use_eve-userdebug board_use_excelsior board_use_expresso board_use_fizz board_use_fizz-cfm board_use_fizz-labstation board_use_fizz-moblab board_use_fizz-satlab board_use_galaxy board_use_gale board_use_gandof board_use_glados board_use_glimmer board_use_glkrvp board_use_gnawty board_use_gonzo board_use_grunt board_use_grunt-arc-r board_use_grunt-kernelnext board_use_guado board_use_guado-cfm board_use_guado-macrophage board_use_guado_moblab board_use_guado_labstation board_use_guybrush board_use_hana board_use_hana-arc64 board_use_hana-kernelnext board_use_hatch board_use_hatch-arc-r board_use_hatch-arc-r-ack board_use_hatch-arc-r-userdebug board_use_hatch-arc-s board_use_hatch-connectivitynext board_use_hatch-borealis board_use_hatch-diskswap board_use_hatch-kernelnext board_use_hatch-lvm-stateful board_use_hatch-manatee board_use_heli board_use_herobrine board_use_jacuzzi board_use_jacuzzi64 board_use_jacuzzi-kernelnext board_use_jecht board_use_kalista board_use_kalista-cfm board_use_kblrvp board_use_keeby board_use_kefka board_use_kefka-kernelnext board_use_kevin board_use_kevin64 board_use_kevin-kernelnext board_use_kevin-userdebug board_use_kip board_use_kukui board_use_kukui-arc-r board_use_kukui-kernelnext board_use_kunimitsu board_use_lakitu board_use_lars board_use_lars-kernelnext board_use_lasilla-ground board_use_littlejoe board_use_loonix board_use_lulu board_use_majolica board_use_metis board_use_mistral board_use_mushu board_use_nami board_use_nami-kernelnext board_use_nautilus board_use_ninja board_use_nocturne board_use_nocturne-kernelnext board_use_novato board_use_novato-arc64 board_use_novato-arcnext board_use_oak board_use_octavius board_use_octopus board_use_octopus-arc-r board_use_octopus-kernelnext board_use_orco board_use_palkia board_use_passionfruit board_use_poppy board_use_puff board_use_puff-borealis board_use_puff-macrophage board_use_puff-moblab board_use_pyro board_use_quawks board_use_rainier board_use_rambi board_use_rammus board_use_rammus-arc-r board_use_rammus-arc-r-userdebug board_use_reef board_use_reef-arc-r board_use_relm board_use_reks board_use_reven board_use_rikku board_use_rikku-cfm board_use_romer board_use_samus board_use_sand board_use_sarien board_use_sarien-kernelnext board_use_scarlet board_use_senor board_use_sentry board_use_setzer board_use_shadowkeep board_use_sklrvp board_use_skyrim board_use_snappy board_use_snappy-kernelnext board_use_soraka board_use_soraka-libcamera board_use_squawks board_use_strongbad board_use_sumo board_use_swanky board_use_tatl board_use_tael board_use_terra board_use_tglrvp board_use_tidus board_use_trogdor board_use_trogdor-arc-r board_use_trogdor-kernelnext board_use_trogdor64 board_use_trogdor64-manatee board_use_ultima board_use_veyron board_use_veyron_fievel board_use_veyron_jaq board_use_veyron_jerry board_use_veyron_mickey board_use_veyron_mighty board_use_veyron_minnie board_use_veyron_rialto board_use_veyron_speedy board_use_veyron_tiger board_use_viking board_use_viking-poc2 board_use_volteer board_use_volteer-borealis board_use_volteer-kernelnext board_use_volteer-manatee board_use_winky board_use_wizpig board_use_wristpin board_use_x32-generic board_use_x86-generic board_use_x86-generic_embedded board_use_zork board_use_zork-arc-r board_use_zork-borealis board_use_zork-kernelnext board_use_zork-minios cros_host unibuild apply_patches -asan buildtest chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina +clang -compilation_database -device_tree +dt_compression +fit_compression_kernel_lz4 fit_compression_kernel_lzma firmware_install frozen_gcc hibernate -kernel_sources kernel_warning_level_1 kernel_warning_level_2 kernel_warning_level_3 +lld +llvm_ias nfc -wifi_testbed_ap -boot_dts_device_tree -nowerror -ppp -binder -selinux_develop -transparent_hugepage tpm2 -kernel_afdo -kernel_afdo_verify +vdso32 -criu -docker -lxc sparse disable_kernel_fragments acpi_ac acpi_debug allocator_slab apex aurora binder blkdevram builtin_driver_amdgpu ca0132 criu cros_ec_mec debug debugobjects devdebug diskswap dmadebug dm_snapshot docker drm_dp_aux_chardev dwc2_dual_role dyndebug ec2_guest_net eve_bt_hacks eve_wifi_etsi factory_netboot_ramfs factory_shim_ramfs failslab fbconsole goldfish hibernate highmem hypervisor_guest i2cdev iioservice irqsoff_tracer iscsi lockdown lxc kasan kcov kcsan kernel_compress_xz kexec_file kgdb kmemleak kvm kvm_invept_global kvm_host kvm_nested kvm_virt_suspend_time lockdebug lockstat lpss_uart mbim memory_debug minios_ramfs module_sign nfc nfs nowerror pageowner pca954x pcserial plan9 ppp preempt_tracer pvrdebug qmi realtekpstor recovery_ramfs samsung_serial sched_tracer selinux_develop socketmon systemtap tpm transparent_hugepage ubsan usb_gadget usb_gadget_acm usb_gadget_audio usb_gadget_ncm usbip vfat virtio_balloon vivid vkms vlan vtpm_proxy vmware_guest vtconsole wifi_testbed_ap wifi_diag x32 xen_guest builtin_fw_amdgpu_carrizo builtin_fw_amdgpu_gc_10_3_7 builtin_fw_amdgpu_green_sardine builtin_fw_amdgpu_picasso builtin_fw_amdgpu_raven2 builtin_fw_amdgpu_renoir builtin_fw_amdgpu_stoney builtin_fw_amdgpu_yellow_carp builtin_fw_guc_adl builtin_fw_guc_adl_kernelnext builtin_fw_guc_adln builtin_fw_guc_g9 builtin_fw_guc_jsl builtin_fw_guc_tgl builtin_fw_huc_adl builtin_fw_huc_adl_kernelnext builtin_fw_huc_adln builtin_fw_huc_g9 builtin_fw_huc_jsl builtin_fw_huc_tgl builtin_fw_mali_g57 builtin_fw_t124_xusb builtin_fw_t210_bpmp builtin_fw_t210_nouveau builtin_fw_t210_xusb builtin_fw_vega12 builtin_fw_x86_adl_ucode builtin_fw_x86_adln_ucode builtin_fw_x86_amd_ucode builtin_fw_x86_aml_ucode builtin_fw_x86_apl_ucode builtin_fw_x86_bdw_ucode builtin_fw_x86_bsw_ucode builtin_fw_x86_byt_ucode builtin_fw_x86_cml_ucode builtin_fw_x86_glk_ucode builtin_fw_x86_intel_ucode builtin_fw_x86_jsl_ucode builtin_fw_x86_kbl_ucode builtin_fw_x86_skl_ucode builtin_fw_x86_tgl_ucode builtin_fw_x86_whl_ucode
 KEYWORDS=*
 LICENSE=GPL-2
 PROPERTIES=live
-REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs minios_test_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
+REQUIRED_USE=^^ ( chromeos_kernel_family_arcvm chromeos_kernel_family_chromeos chromeos_kernel_family_manatee chromeos_kernel_family_termina ) compilation_database? ( clang ) ?? ( fit_compression_kernel_lz4 fit_compression_kernel_lzma ) frozen_gcc? ( !clang ) lld? ( clang ) llvm_ias? ( clang ) kgdb? ( vtconsole ) ?? ( factory_netboot_ramfs factory_shim_ramfs minios_ramfs recovery_ramfs ) factory_netboot_ramfs? ( i2cdev ) factory_shim_ramfs? ( i2cdev ) recovery_ramfs? ( i2cdev ) factory_netboot_ramfs? ( || ( tpm tpm2 ) ) factory_shim_ramfs? ( || ( tpm tpm2 ) ) recovery_ramfs? ( || ( tpm tpm2 ) )
 RESTRICT=binchecks mirror
 SLOT=0
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	2a6f075231baa0c9674950b77a686673	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-kernel2	50a27a89cf31cc2056abdf5bf4e0f99c	cros-workon	3c71f7f071c8eef67417b728224b1702	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	cros-board	ff5bc1833754b2cb8e541418da4e83f7	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-kernel2	88a1e9c1bf762e237fe2b32712d398ba	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=101da4609976a9fd1b83c50b61864495
diff --git a/metadata/md5-cache/sys-libs/compiler-rt-14.0_pre445002 b/metadata/md5-cache/sys-libs/compiler-rt-14.0_pre445002
deleted file mode 100644
index 8eaa70a..0000000
--- a/metadata/md5-cache/sys-libs/compiler-rt-14.0_pre445002
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=sys-devel/llvm sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=Compiler runtime library for clang
-EAPI=6
-HOMEPAGE=http://compiler-rt.llvm.org/
-IUSE=+llvm-crt llvm-next llvm-tot cros_host cros_workon_tree_
-KEYWORDS=*
-LICENSE=UoI-NCSA
-PROPERTIES=live live
-SLOT=0
-_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-llvm	bb582d113e05e1d252d1c86ac2983b68	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=3bd99e4147f21e8fa26226f7a1ec9097
diff --git a/metadata/md5-cache/sys-libs/compiler-rt-14.0_pre445002-r1 b/metadata/md5-cache/sys-libs/compiler-rt-14.0_pre445002-r1
deleted file mode 100644
index 8eaa70a..0000000
--- a/metadata/md5-cache/sys-libs/compiler-rt-14.0_pre445002-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=sys-devel/llvm sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=Compiler runtime library for clang
-EAPI=6
-HOMEPAGE=http://compiler-rt.llvm.org/
-IUSE=+llvm-crt llvm-next llvm-tot cros_host cros_workon_tree_
-KEYWORDS=*
-LICENSE=UoI-NCSA
-PROPERTIES=live live
-SLOT=0
-_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-llvm	bb582d113e05e1d252d1c86ac2983b68	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=3bd99e4147f21e8fa26226f7a1ec9097
diff --git a/metadata/md5-cache/sys-libs/compiler-rt-15.0_pre458507 b/metadata/md5-cache/sys-libs/compiler-rt-15.0_pre458507
new file mode 100644
index 0000000..647c352
--- /dev/null
+++ b/metadata/md5-cache/sys-libs/compiler-rt-15.0_pre458507
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=sys-devel/llvm sys-devel/make >=dev-util/cmake-3.9.6
+DESCRIPTION=Compiler runtime library for clang
+EAPI=6
+HOMEPAGE=http://compiler-rt.llvm.org/
+IUSE=+llvm-crt llvm-next llvm-tot continue-on-patch-failure cros_host cros_workon_tree_
+KEYWORDS=*
+LICENSE=UoI-NCSA
+PROPERTIES=live live
+SLOT=0
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-llvm	1286c7977ce85506c2f3f2d5471f7d78	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=4d31d09bfbb8aacc7366b86de98c1697
diff --git a/metadata/md5-cache/sys-libs/compiler-rt-15.0_pre458507-r6 b/metadata/md5-cache/sys-libs/compiler-rt-15.0_pre458507-r6
new file mode 100644
index 0000000..647c352
--- /dev/null
+++ b/metadata/md5-cache/sys-libs/compiler-rt-15.0_pre458507-r6
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=sys-devel/llvm sys-devel/make >=dev-util/cmake-3.9.6
+DESCRIPTION=Compiler runtime library for clang
+EAPI=6
+HOMEPAGE=http://compiler-rt.llvm.org/
+IUSE=+llvm-crt llvm-next llvm-tot continue-on-patch-failure cros_host cros_workon_tree_
+KEYWORDS=*
+LICENSE=UoI-NCSA
+PROPERTIES=live live
+SLOT=0
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-llvm	1286c7977ce85506c2f3f2d5471f7d78	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=4d31d09bfbb8aacc7366b86de98c1697
diff --git a/metadata/md5-cache/sys-libs/gcc-libs-10.2.0 b/metadata/md5-cache/sys-libs/gcc-libs-10.2.0
index 47d76a8..080ed47 100644
--- a/metadata/md5-cache/sys-libs/gcc-libs-10.2.0
+++ b/metadata/md5-cache/sys-libs/gcc-libs-10.2.0
@@ -1,11 +1,8 @@
-DEFINED_PHASES=compile configure install
+DEFINED_PHASES=-
 DESCRIPTION=The GNU Compiler Collection. This builds and installs the libgcc, libstdc++, and libgo libraries. It is board-specific.
 EAPI=7
 IUSE=go hardened hardfp libatomic +thumb vtable_verify +libunwind
 KEYWORDS=*
 LICENSE=GPL-3 LGPL-3 FDL-1.2
-REQUIRED_USE=go? ( libatomic )
 SLOT=0
-SRC_URI=mirror://gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.xz
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0273746f94cbf5d29703042a994c71c7
+_md5_=c96b19885764394a77e6044ca924f5ba
diff --git a/metadata/md5-cache/sys-libs/gcc-libs-10.2.0-r3 b/metadata/md5-cache/sys-libs/gcc-libs-10.2.0-r3
deleted file mode 100644
index 47d76a8..0000000
--- a/metadata/md5-cache/sys-libs/gcc-libs-10.2.0-r3
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install
-DESCRIPTION=The GNU Compiler Collection. This builds and installs the libgcc, libstdc++, and libgo libraries. It is board-specific.
-EAPI=7
-IUSE=go hardened hardfp libatomic +thumb vtable_verify +libunwind
-KEYWORDS=*
-LICENSE=GPL-3 LGPL-3 FDL-1.2
-REQUIRED_USE=go? ( libatomic )
-SLOT=0
-SRC_URI=mirror://gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.xz
-_eclasses_=binutils-funcs	6207477a739f6f25d13da27b9cc00160	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0273746f94cbf5d29703042a994c71c7
diff --git a/metadata/md5-cache/sys-libs/gcc-libs-10.2.0-r4 b/metadata/md5-cache/sys-libs/gcc-libs-10.2.0-r4
new file mode 100644
index 0000000..080ed47
--- /dev/null
+++ b/metadata/md5-cache/sys-libs/gcc-libs-10.2.0-r4
@@ -0,0 +1,8 @@
+DEFINED_PHASES=-
+DESCRIPTION=The GNU Compiler Collection. This builds and installs the libgcc, libstdc++, and libgo libraries. It is board-specific.
+EAPI=7
+IUSE=go hardened hardfp libatomic +thumb vtable_verify +libunwind
+KEYWORDS=*
+LICENSE=GPL-3 LGPL-3 FDL-1.2
+SLOT=0
+_md5_=c96b19885764394a77e6044ca924f5ba
diff --git a/metadata/md5-cache/sys-libs/glibc-2.33-r16 b/metadata/md5-cache/sys-libs/glibc-2.33-r17
similarity index 100%
rename from metadata/md5-cache/sys-libs/glibc-2.33-r16
rename to metadata/md5-cache/sys-libs/glibc-2.33-r17
diff --git a/metadata/md5-cache/sys-libs/libcxx-14.0_pre445002 b/metadata/md5-cache/sys-libs/libcxx-14.0_pre445002
deleted file mode 100644
index 4223cd7..0000000
--- a/metadata/md5-cache/sys-libs/libcxx-14.0_pre445002
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=libcxxabi? ( sys-libs/libcxxabi[libunwind=,static-libs?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) ) !cros_host? ( sys-libs/gcc-libs ) cros_host? ( sys-devel/llvm ) app-arch/xz-utils dev-util/ninja >=dev-util/cmake-3.9.6
-DESCRIPTION=New implementation of the C++ standard library, targeting C++11
-EAPI=6
-HOMEPAGE=http://libcxx.llvm.org/
-IUSE=+compiler-rt cros_host elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind llvm-next llvm-tot msan +static-libs abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_
-KEYWORDS=*
-LICENSE=|| ( UoI-NCSA MIT )
-PROPERTIES=live live
-RDEPEND=libcxxabi? ( sys-libs/libcxxabi[libunwind=,static-libs?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) ) !cros_host? ( sys-libs/gcc-libs )
-REQUIRED_USE=libunwind? ( || ( libcxxabi libcxxrt ) ) ?? ( libcxxabi libcxxrt )
-SLOT=0
-_eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-llvm	bb582d113e05e1d252d1c86ac2983b68	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	llvm	aa54e879d157ef21f6ecf31f255eaa2e	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=b72c368233f9a62964af132d39939a7f
diff --git a/metadata/md5-cache/sys-libs/libcxx-14.0_pre445002-r1 b/metadata/md5-cache/sys-libs/libcxx-14.0_pre445002-r1
deleted file mode 100644
index 4223cd7..0000000
--- a/metadata/md5-cache/sys-libs/libcxx-14.0_pre445002-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=libcxxabi? ( sys-libs/libcxxabi[libunwind=,static-libs?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) ) !cros_host? ( sys-libs/gcc-libs ) cros_host? ( sys-devel/llvm ) app-arch/xz-utils dev-util/ninja >=dev-util/cmake-3.9.6
-DESCRIPTION=New implementation of the C++ standard library, targeting C++11
-EAPI=6
-HOMEPAGE=http://libcxx.llvm.org/
-IUSE=+compiler-rt cros_host elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind llvm-next llvm-tot msan +static-libs abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_
-KEYWORDS=*
-LICENSE=|| ( UoI-NCSA MIT )
-PROPERTIES=live live
-RDEPEND=libcxxabi? ( sys-libs/libcxxabi[libunwind=,static-libs?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) ) !cros_host? ( sys-libs/gcc-libs )
-REQUIRED_USE=libunwind? ( || ( libcxxabi libcxxrt ) ) ?? ( libcxxabi libcxxrt )
-SLOT=0
-_eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-llvm	bb582d113e05e1d252d1c86ac2983b68	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	llvm	aa54e879d157ef21f6ecf31f255eaa2e	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=b72c368233f9a62964af132d39939a7f
diff --git a/metadata/md5-cache/sys-libs/libcxx-15.0_pre458507 b/metadata/md5-cache/sys-libs/libcxx-15.0_pre458507
new file mode 100644
index 0000000..8899f05
--- /dev/null
+++ b/metadata/md5-cache/sys-libs/libcxx-15.0_pre458507
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=libunwind? ( sys-libs/llvm-libunwind ) libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !cros_host? ( sys-libs/gcc-libs ) cros_host? ( sys-devel/llvm ) app-arch/xz-utils dev-util/ninja >=dev-util/cmake-3.9.6
+DESCRIPTION=New implementation of the C++ standard library, targeting C++11
+EAPI=6
+HOMEPAGE=http://libcxx.llvm.org/
+IUSE=+compiler-rt cros_host elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind llvm-next llvm-tot msan +static-libs continue-on-patch-failure abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_
+KEYWORDS=*
+LICENSE=|| ( UoI-NCSA MIT )
+PROPERTIES=live live
+RDEPEND=libunwind? ( sys-libs/llvm-libunwind ) libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !cros_host? ( sys-libs/gcc-libs )
+REQUIRED_USE=libunwind? ( || ( libcxxabi libcxxrt ) ) ?? ( libcxxabi libcxxrt )
+SLOT=0
+_eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-llvm	1286c7977ce85506c2f3f2d5471f7d78	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=154cb959129f37e299c50966d4860a3b
diff --git a/metadata/md5-cache/sys-libs/libcxx-15.0_pre458507-r6 b/metadata/md5-cache/sys-libs/libcxx-15.0_pre458507-r6
new file mode 100644
index 0000000..8899f05
--- /dev/null
+++ b/metadata/md5-cache/sys-libs/libcxx-15.0_pre458507-r6
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=libunwind? ( sys-libs/llvm-libunwind ) libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !cros_host? ( sys-libs/gcc-libs ) cros_host? ( sys-devel/llvm ) app-arch/xz-utils dev-util/ninja >=dev-util/cmake-3.9.6
+DESCRIPTION=New implementation of the C++ standard library, targeting C++11
+EAPI=6
+HOMEPAGE=http://libcxx.llvm.org/
+IUSE=+compiler-rt cros_host elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind llvm-next llvm-tot msan +static-libs continue-on-patch-failure abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_
+KEYWORDS=*
+LICENSE=|| ( UoI-NCSA MIT )
+PROPERTIES=live live
+RDEPEND=libunwind? ( sys-libs/llvm-libunwind ) libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !cros_host? ( sys-libs/gcc-libs )
+REQUIRED_USE=libunwind? ( || ( libcxxabi libcxxrt ) ) ?? ( libcxxabi libcxxrt )
+SLOT=0
+_eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-llvm	1286c7977ce85506c2f3f2d5471f7d78	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=154cb959129f37e299c50966d4860a3b
diff --git a/metadata/md5-cache/sys-libs/libcxxabi-14.0_pre445002 b/metadata/md5-cache/sys-libs/libcxxabi-14.0_pre445002
deleted file mode 100644
index ed7c2f7..0000000
--- a/metadata/md5-cache/sys-libs/libcxxabi-14.0_pre445002
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=libunwind? ( || ( >=sys-libs/libunwind-1[static-libs?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) !cros_host? ( sys-libs/gcc-libs ) cros_host? ( sys-devel/llvm ) dev-util/ninja >=dev-util/cmake-3.9.6
-DESCRIPTION=Low level support for a standard C++ library
-EAPI=6
-HOMEPAGE=http://libcxxabi.llvm.org/
-IUSE=+compiler-rt cros_host +libunwind msan llvm-next llvm-tot +static-libs abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_
-KEYWORDS=*
-LICENSE=|| ( UoI-NCSA MIT )
-PROPERTIES=live live
-RDEPEND=libunwind? ( || ( >=sys-libs/libunwind-1[static-libs?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) !cros_host? ( sys-libs/gcc-libs )
-SLOT=0
-_eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-llvm	bb582d113e05e1d252d1c86ac2983b68	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	llvm	aa54e879d157ef21f6ecf31f255eaa2e	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=21cb48e307f697fbb8a6101c183dbff8
diff --git a/metadata/md5-cache/sys-libs/libcxxabi-14.0_pre445002-r1 b/metadata/md5-cache/sys-libs/libcxxabi-14.0_pre445002-r1
deleted file mode 100644
index ed7c2f7..0000000
--- a/metadata/md5-cache/sys-libs/libcxxabi-14.0_pre445002-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=libunwind? ( || ( >=sys-libs/libunwind-1[static-libs?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) !cros_host? ( sys-libs/gcc-libs ) cros_host? ( sys-devel/llvm ) dev-util/ninja >=dev-util/cmake-3.9.6
-DESCRIPTION=Low level support for a standard C++ library
-EAPI=6
-HOMEPAGE=http://libcxxabi.llvm.org/
-IUSE=+compiler-rt cros_host +libunwind msan llvm-next llvm-tot +static-libs abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_
-KEYWORDS=*
-LICENSE=|| ( UoI-NCSA MIT )
-PROPERTIES=live live
-RDEPEND=libunwind? ( || ( >=sys-libs/libunwind-1[static-libs?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) !cros_host? ( sys-libs/gcc-libs )
-SLOT=0
-_eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-llvm	bb582d113e05e1d252d1c86ac2983b68	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	llvm	aa54e879d157ef21f6ecf31f255eaa2e	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=21cb48e307f697fbb8a6101c183dbff8
diff --git a/metadata/md5-cache/sys-libs/libcxxabi-15.0_pre458507 b/metadata/md5-cache/sys-libs/libcxxabi-15.0_pre458507
new file mode 100644
index 0000000..30309df
--- /dev/null
+++ b/metadata/md5-cache/sys-libs/libcxxabi-15.0_pre458507
@@ -0,0 +1,9 @@
+DEFINED_PHASES=-
+DESCRIPTION=Low level support for a standard C++ library
+EAPI=6
+HOMEPAGE=http://libcxxabi.llvm.org/
+IUSE=+compiler-rt cros_host +libunwind msan llvm-next llvm-tot +static-libs
+KEYWORDS=*
+LICENSE=|| ( UoI-NCSA MIT )
+SLOT=0
+_md5_=ce4ddad2c0d2823a01dfbb27159be044
diff --git a/metadata/md5-cache/sys-libs/libcxxabi-15.0_pre458507-r3 b/metadata/md5-cache/sys-libs/libcxxabi-15.0_pre458507-r3
new file mode 100644
index 0000000..30309df
--- /dev/null
+++ b/metadata/md5-cache/sys-libs/libcxxabi-15.0_pre458507-r3
@@ -0,0 +1,9 @@
+DEFINED_PHASES=-
+DESCRIPTION=Low level support for a standard C++ library
+EAPI=6
+HOMEPAGE=http://libcxxabi.llvm.org/
+IUSE=+compiler-rt cros_host +libunwind msan llvm-next llvm-tot +static-libs
+KEYWORDS=*
+LICENSE=|| ( UoI-NCSA MIT )
+SLOT=0
+_md5_=ce4ddad2c0d2823a01dfbb27159be044
diff --git a/metadata/md5-cache/sys-libs/libnih-1.0.3 b/metadata/md5-cache/sys-libs/libnih-1.0.3
new file mode 100644
index 0000000..5a2cb5c
--- /dev/null
+++ b/metadata/md5-cache/sys-libs/libnih-1.0.3
@@ -0,0 +1,14 @@
+BDEPEND=>=app-portage/elt-patches-20170815
+DEFINED_PHASES=configure install prepare test
+DEPEND=dbus? ( dev-libs/expat >=sys-apps/dbus-1.2.16 ) sys-devel/gettext virtual/pkgconfig !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Light-weight 'standard library' of C functions
+EAPI=7
+HOMEPAGE=https://launchpad.net/libnih
+IUSE=+dbus nls static-libs +threads split-usr
+KEYWORDS=*
+LICENSE=GPL-2
+RDEPEND=dbus? ( dev-libs/expat >=sys-apps/dbus-1.2.16 )
+SLOT=0
+SRC_URI=https://launchpad.net/libnih/1.0/1.0.3/+download/libnih-1.0.3.tar.gz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	usr-ldscript	766f0a506b45f02361ad1b8ca205b7e1
+_md5_=d3d1122b41e8bab4ea8d9d1f6b342b10
diff --git a/metadata/md5-cache/sys-libs/libnih-1.0.3-r6 b/metadata/md5-cache/sys-libs/libnih-1.0.3-r6
new file mode 100644
index 0000000..5a2cb5c
--- /dev/null
+++ b/metadata/md5-cache/sys-libs/libnih-1.0.3-r6
@@ -0,0 +1,14 @@
+BDEPEND=>=app-portage/elt-patches-20170815
+DEFINED_PHASES=configure install prepare test
+DEPEND=dbus? ( dev-libs/expat >=sys-apps/dbus-1.2.16 ) sys-devel/gettext virtual/pkgconfig !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Light-weight 'standard library' of C functions
+EAPI=7
+HOMEPAGE=https://launchpad.net/libnih
+IUSE=+dbus nls static-libs +threads split-usr
+KEYWORDS=*
+LICENSE=GPL-2
+RDEPEND=dbus? ( dev-libs/expat >=sys-apps/dbus-1.2.16 )
+SLOT=0
+SRC_URI=https://launchpad.net/libnih/1.0/1.0.3/+download/libnih-1.0.3.tar.gz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	usr-ldscript	766f0a506b45f02361ad1b8ca205b7e1
+_md5_=d3d1122b41e8bab4ea8d9d1f6b342b10
diff --git a/metadata/md5-cache/sys-libs/lithium-0.0.1-r3 b/metadata/md5-cache/sys-libs/lithium-0.0.1-r3
index 1ff74a1..46d8f1c 100644
--- a/metadata/md5-cache/sys-libs/lithium-0.0.1-r3
+++ b/metadata/md5-cache/sys-libs/lithium-0.0.1-r3
@@ -8,5 +8,5 @@
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=71ef491deae7a8296145e16929f587eb
diff --git a/metadata/md5-cache/sys-libs/lithium-9999 b/metadata/md5-cache/sys-libs/lithium-9999
index 2b432f1..12e000a 100644
--- a/metadata/md5-cache/sys-libs/lithium-9999
+++ b/metadata/md5-cache/sys-libs/lithium-9999
@@ -8,5 +8,5 @@
 LICENSE=BSD-Google
 PROPERTIES=live
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=33359022de93aabda819c52552eae6f2
diff --git a/metadata/md5-cache/sys-libs/llvm-libunwind-14.0_pre445002 b/metadata/md5-cache/sys-libs/llvm-libunwind-14.0_pre445002
deleted file mode 100644
index 9db6e52..0000000
--- a/metadata/md5-cache/sys-libs/llvm-libunwind-14.0_pre445002
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=!sys-libs/libunwind cros_host? ( sys-devel/llvm ) sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=C++ runtime stack unwinder from LLVM
-EAPI=6
-HOMEPAGE=https://github.com/llvm-mirror/libunwind
-IUSE=cros_host debug llvm-next llvm-tot +static-libs +shared-libs +synth_libgcc +compiler-rt fuzzer asan coverage fuzzer msan tsan ubsan abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_
-KEYWORDS=*
-LICENSE=|| ( UoI-NCSA MIT )
-PROPERTIES=live live
-RDEPEND=!sys-libs/libunwind
-SLOT=0
-_eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-llvm	bb582d113e05e1d252d1c86ac2983b68	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=1b664592478aefa185b1363c9657817a
diff --git a/metadata/md5-cache/sys-libs/llvm-libunwind-14.0_pre445002-r1 b/metadata/md5-cache/sys-libs/llvm-libunwind-14.0_pre445002-r1
deleted file mode 100644
index 9db6e52..0000000
--- a/metadata/md5-cache/sys-libs/llvm-libunwind-14.0_pre445002-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=!sys-libs/libunwind cros_host? ( sys-devel/llvm ) sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=C++ runtime stack unwinder from LLVM
-EAPI=6
-HOMEPAGE=https://github.com/llvm-mirror/libunwind
-IUSE=cros_host debug llvm-next llvm-tot +static-libs +shared-libs +synth_libgcc +compiler-rt fuzzer asan coverage fuzzer msan tsan ubsan abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_
-KEYWORDS=*
-LICENSE=|| ( UoI-NCSA MIT )
-PROPERTIES=live live
-RDEPEND=!sys-libs/libunwind
-SLOT=0
-_eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-llvm	bb582d113e05e1d252d1c86ac2983b68	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=1b664592478aefa185b1363c9657817a
diff --git a/metadata/md5-cache/sys-libs/llvm-libunwind-15.0_pre458507 b/metadata/md5-cache/sys-libs/llvm-libunwind-15.0_pre458507
new file mode 100644
index 0000000..fe9308f
--- /dev/null
+++ b/metadata/md5-cache/sys-libs/llvm-libunwind-15.0_pre458507
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=!sys-libs/libunwind cros_host? ( sys-devel/llvm ) sys-devel/make >=dev-util/cmake-3.9.6
+DESCRIPTION=C++ runtime stack unwinder from LLVM
+EAPI=6
+HOMEPAGE=https://github.com/llvm-mirror/libunwind
+IUSE=cros_host debug llvm-next llvm-tot +static-libs +shared-libs +synth_libgcc +compiler-rt continue-on-patch-failure fuzzer asan coverage fuzzer msan tsan ubsan abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_
+KEYWORDS=*
+LICENSE=|| ( UoI-NCSA MIT )
+PROPERTIES=live live
+RDEPEND=!sys-libs/libunwind
+SLOT=0
+_eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-llvm	1286c7977ce85506c2f3f2d5471f7d78	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=96919cbbb03feea15226078401bae385
diff --git a/metadata/md5-cache/sys-libs/llvm-libunwind-15.0_pre458507-r4 b/metadata/md5-cache/sys-libs/llvm-libunwind-15.0_pre458507-r4
new file mode 100644
index 0000000..fe9308f
--- /dev/null
+++ b/metadata/md5-cache/sys-libs/llvm-libunwind-15.0_pre458507-r4
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=!sys-libs/libunwind cros_host? ( sys-devel/llvm ) sys-devel/make >=dev-util/cmake-3.9.6
+DESCRIPTION=C++ runtime stack unwinder from LLVM
+EAPI=6
+HOMEPAGE=https://github.com/llvm-mirror/libunwind
+IUSE=cros_host debug llvm-next llvm-tot +static-libs +shared-libs +synth_libgcc +compiler-rt continue-on-patch-failure fuzzer asan coverage fuzzer msan tsan ubsan abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 cros_host cros_workon_tree_
+KEYWORDS=*
+LICENSE=|| ( UoI-NCSA MIT )
+PROPERTIES=live live
+RDEPEND=!sys-libs/libunwind
+SLOT=0
+_eclasses_=cmake-multilib	b396704c8c04bb210b7b45dff5c67fea	cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-fuzzer	9d6878ef259cd0afa5a3230b0919f9dd	cros-llvm	1286c7977ce85506c2f3f2d5471f7d78	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=96919cbbb03feea15226078401bae385
diff --git a/metadata/md5-cache/sys-libs/newlib-4.1.0 b/metadata/md5-cache/sys-libs/newlib-4.1.0
new file mode 100644
index 0000000..f97f18b
--- /dev/null
+++ b/metadata/md5-cache/sys-libs/newlib-4.1.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install setup
+DESCRIPTION=Newlib is a C library intended for use on embedded systems
+EAPI=7
+HOMEPAGE=https://sourceware.org/newlib/
+IUSE=nls threads unicode headers-only nano
+KEYWORDS=*
+LICENSE=NEWLIB LIBGLOSS GPL-2
+RESTRICT=strip
+SLOT=0
+SRC_URI=ftp://sourceware.org/pub/newlib/newlib-4.1.0.tar.gz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=af885b8febe7f884c5db54e33b4459e7
diff --git a/metadata/md5-cache/sys-libs/newlib-4.1.0-r2 b/metadata/md5-cache/sys-libs/newlib-4.1.0-r2
new file mode 100644
index 0000000..f97f18b
--- /dev/null
+++ b/metadata/md5-cache/sys-libs/newlib-4.1.0-r2
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install setup
+DESCRIPTION=Newlib is a C library intended for use on embedded systems
+EAPI=7
+HOMEPAGE=https://sourceware.org/newlib/
+IUSE=nls threads unicode headers-only nano
+KEYWORDS=*
+LICENSE=NEWLIB LIBGLOSS GPL-2
+RESTRICT=strip
+SLOT=0
+SRC_URI=ftp://sourceware.org/pub/newlib/newlib-4.1.0.tar.gz
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=af885b8febe7f884c5db54e33b4459e7
diff --git a/metadata/md5-cache/sys-power/dptf-9.0.10801-r1 b/metadata/md5-cache/sys-power/dptf-9.0.10801-r1
deleted file mode 100644
index 1bb3aa0..0000000
--- a/metadata/md5-cache/sys-power/dptf-9.0.10801-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=chromeos-base/chromeos-config-tools sys-apps/dbus sys-libs/ncurses sys-libs/readline has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=Intel(R) Dynamic Platform & Thermal Framework
-EAPI=6
-HOMEPAGE=https://01.org/dptf/
-IUSE=debug has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild
-KEYWORDS=-* amd64 x86
-LICENSE=Apache-2.0 GPL-2 BSD
-RDEPEND=chromeos-base/chromeos-config-tools sys-apps/dbus sys-libs/ncurses sys-libs/readline has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
-SLOT=0
-SRC_URI=https://github.com/intel/dptf/archive/9.0.10801.tar.gz -> dptf-9.0.10801.tar.gz
-_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-unibuild	0d7d10969ffc8ec9d48610ec978d6298	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=6a610f98480062d961c5743e4e7c655a
diff --git a/metadata/md5-cache/sys-power/dptf-9.0.11000-r1 b/metadata/md5-cache/sys-power/dptf-9.0.11000-r1
new file mode 100644
index 0000000..16f5f19
--- /dev/null
+++ b/metadata/md5-cache/sys-power/dptf-9.0.11000-r1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=chromeos-base/chromeos-config-tools sys-apps/dbus sys-libs/ncurses sys-libs/readline has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= ) sys-devel/make >=dev-util/cmake-3.9.6
+DESCRIPTION=Intel(R) Dynamic Platform & Thermal Framework
+EAPI=6
+HOMEPAGE=https://01.org/dptf/
+IUSE=debug has_chromeos_config_bsp has_chromeos_config_bsp_private has_chromeos_config_bsp_baseboard has_chromeos_config_bsp_baseboard_private unibuild
+KEYWORDS=-* amd64 x86
+LICENSE=Apache-2.0 GPL-2 BSD
+RDEPEND=chromeos-base/chromeos-config-tools sys-apps/dbus sys-libs/ncurses sys-libs/readline has_chromeos_config_bsp? ( chromeos-base/chromeos-config-bsp:= ) has_chromeos_config_bsp_private? ( chromeos-base/chromeos-config-bsp-private:= ) has_chromeos_config_bsp_baseboard? ( chromeos-base/chromeos-config-bsp-baseboard:= ) has_chromeos_config_bsp_baseboard_private? ( chromeos-base/chromeos-config-bsp-baseboard-private:= ) unibuild? ( chromeos-base/chromeos-config:= )
+SLOT=0
+SRC_URI=https://github.com/intel/dptf/archive/9.0.11000.tar.gz -> dptf-9.0.11000.tar.gz
+_eclasses_=cmake-utils	91d6ef31dc426240577497cacbf2508c	cros-unibuild	29229a14b23b4e14632ee9bb10cfb4a9	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=6a610f98480062d961c5743e4e7c655a
diff --git a/metadata/md5-cache/sys-power/dptf-policy-ap-9.0.10801-r1 b/metadata/md5-cache/sys-power/dptf-policy-ap-9.0.10801-r1
deleted file mode 100644
index ff71ba7..0000000
--- a/metadata/md5-cache/sys-power/dptf-policy-ap-9.0.10801-r1
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Adaptive Performance Policy for Intel(R) Dynamic Platform & Thermal Framework
-EAPI=5
-KEYWORDS=*
-LICENSE=LICENSE.intel-dptf-private
-RESTRICT=mirror
-SLOT=0
-SRC_URI=gs://chromeos-binaries/HOME/bcs-chipset-kbl-private/chipset-kbl-private/dptf/DptfPolicyAdaptivePerformance-9.0.10801.tbz2
-_eclasses_=cros-binary	1c6eaa4fc56e7f712aa6c195e2ce5b73
-_md5_=dfe8b2e589a2412bf1194d171aa10134
diff --git a/metadata/md5-cache/sys-power/dptf-policy-ap-9.0.11000-r1 b/metadata/md5-cache/sys-power/dptf-policy-ap-9.0.11000-r1
new file mode 100644
index 0000000..341d1d6
--- /dev/null
+++ b/metadata/md5-cache/sys-power/dptf-policy-ap-9.0.11000-r1
@@ -0,0 +1,10 @@
+DEFINED_PHASES=install
+DESCRIPTION=Adaptive Performance Policy for Intel(R) Dynamic Platform & Thermal Framework
+EAPI=5
+KEYWORDS=*
+LICENSE=LICENSE.intel-dptf-private
+RESTRICT=mirror
+SLOT=0
+SRC_URI=gs://chromeos-binaries/HOME/bcs-chipset-kbl-private/chipset-kbl-private/dptf/DptfPolicyAdaptivePerformance-9.0.11000.tbz2
+_eclasses_=cros-binary	1c6eaa4fc56e7f712aa6c195e2ce5b73
+_md5_=dfe8b2e589a2412bf1194d171aa10134
diff --git a/metadata/md5-cache/sys-power/dptf-policy-passive2-9.0.10801-r1 b/metadata/md5-cache/sys-power/dptf-policy-passive2-9.0.10801-r1
deleted file mode 100644
index 0abb5c0..0000000
--- a/metadata/md5-cache/sys-power/dptf-policy-passive2-9.0.10801-r1
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Passive2 Policy for Intel(R) Dynamic Platform & Thermal Framework
-EAPI=5
-KEYWORDS=*
-LICENSE=LICENSE.intel-dptf-private
-RESTRICT=mirror
-SLOT=0
-SRC_URI=gs://chromeos-binaries/HOME/bcs-chipset-kbl-private/chipset-kbl-private/dptf/DptfPolicyPassive2-9.0.10801.tbz2
-_eclasses_=cros-binary	1c6eaa4fc56e7f712aa6c195e2ce5b73
-_md5_=ca12868dfe2e507dc929e8ba83fd5f8e
diff --git a/metadata/md5-cache/sys-power/dptf-policy-passive2-9.0.11000-r1 b/metadata/md5-cache/sys-power/dptf-policy-passive2-9.0.11000-r1
new file mode 100644
index 0000000..3077bc0
--- /dev/null
+++ b/metadata/md5-cache/sys-power/dptf-policy-passive2-9.0.11000-r1
@@ -0,0 +1,10 @@
+DEFINED_PHASES=install
+DESCRIPTION=Passive2 Policy for Intel(R) Dynamic Platform & Thermal Framework
+EAPI=5
+KEYWORDS=*
+LICENSE=LICENSE.intel-dptf-private
+RESTRICT=mirror
+SLOT=0
+SRC_URI=gs://chromeos-binaries/HOME/bcs-chipset-kbl-private/chipset-kbl-private/dptf/DptfPolicyPassive2-9.0.11000.tbz2
+_eclasses_=cros-binary	1c6eaa4fc56e7f712aa6c195e2ce5b73
+_md5_=ca12868dfe2e507dc929e8ba83fd5f8e
diff --git a/metadata/md5-cache/sys-power/dptf-policy-rfim-9.0.10801-r1 b/metadata/md5-cache/sys-power/dptf-policy-rfim-9.0.10801-r1
deleted file mode 100644
index ffea9be8..0000000
--- a/metadata/md5-cache/sys-power/dptf-policy-rfim-9.0.10801-r1
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=RFIM Policy for Intel(R) Dynamic Platform & Thermal Framework
-EAPI=5
-KEYWORDS=*
-LICENSE=LICENSE.intel-dptf-private
-RESTRICT=mirror
-SLOT=0
-SRC_URI=gs://chromeos-binaries/HOME/bcs-chipset-kbl-private/chipset-kbl-private/dptf/DptfPolicyRfim-9.0.10801.tbz2
-_eclasses_=cros-binary	1c6eaa4fc56e7f712aa6c195e2ce5b73
-_md5_=2296d0833bd2510b6632620152eae850
diff --git a/metadata/md5-cache/sys-power/dptf-policy-rfim-9.0.11000-r1 b/metadata/md5-cache/sys-power/dptf-policy-rfim-9.0.11000-r1
new file mode 100644
index 0000000..24a0f90b
--- /dev/null
+++ b/metadata/md5-cache/sys-power/dptf-policy-rfim-9.0.11000-r1
@@ -0,0 +1,10 @@
+DEFINED_PHASES=install
+DESCRIPTION=RFIM Policy for Intel(R) Dynamic Platform & Thermal Framework
+EAPI=5
+KEYWORDS=*
+LICENSE=LICENSE.intel-dptf-private
+RESTRICT=mirror
+SLOT=0
+SRC_URI=gs://chromeos-binaries/HOME/bcs-chipset-kbl-private/chipset-kbl-private/dptf/DptfPolicyRfim-9.0.11000.tbz2
+_eclasses_=cros-binary	1c6eaa4fc56e7f712aa6c195e2ce5b73
+_md5_=2296d0833bd2510b6632620152eae850
diff --git a/metadata/md5-cache/sys-power/dptf-policy-vs-9.0.10801-r1 b/metadata/md5-cache/sys-power/dptf-policy-vs-9.0.10801-r1
deleted file mode 100644
index 26f29e0..0000000
--- a/metadata/md5-cache/sys-power/dptf-policy-vs-9.0.10801-r1
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=Virtual Sensor Policy for Intel(R) Dynamic Platform & Thermal Framework
-EAPI=5
-KEYWORDS=*
-LICENSE=LICENSE.intel-dptf-private
-RESTRICT=mirror
-SLOT=0
-SRC_URI=gs://chromeos-binaries/HOME/bcs-chipset-kbl-private/chipset-kbl-private/dptf/DptfPolicyVirtualSensor-9.0.10801.tbz2
-_eclasses_=cros-binary	1c6eaa4fc56e7f712aa6c195e2ce5b73
-_md5_=c42878251902d94220fc105884a738b4
diff --git a/metadata/md5-cache/sys-power/dptf-policy-vs-9.0.11000-r1 b/metadata/md5-cache/sys-power/dptf-policy-vs-9.0.11000-r1
new file mode 100644
index 0000000..ff50615
--- /dev/null
+++ b/metadata/md5-cache/sys-power/dptf-policy-vs-9.0.11000-r1
@@ -0,0 +1,10 @@
+DEFINED_PHASES=install
+DESCRIPTION=Virtual Sensor Policy for Intel(R) Dynamic Platform & Thermal Framework
+EAPI=5
+KEYWORDS=*
+LICENSE=LICENSE.intel-dptf-private
+RESTRICT=mirror
+SLOT=0
+SRC_URI=gs://chromeos-binaries/HOME/bcs-chipset-kbl-private/chipset-kbl-private/dptf/DptfPolicyVirtualSensor-9.0.11000.tbz2
+_eclasses_=cros-binary	1c6eaa4fc56e7f712aa6c195e2ce5b73
+_md5_=c42878251902d94220fc105884a738b4
diff --git a/metadata/md5-cache/sys-process/audit-2.8.4 b/metadata/md5-cache/sys-process/audit-2.8.4
deleted file mode 100644
index e985ef3..0000000
--- a/metadata/md5-cache/sys-process/audit-2.8.4
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFINED_PHASES=compile configure install postinst preinst prepare setup test
-DEPEND=gssapi? ( virtual/krb5 ) ldap? ( net-nds/openldap ) sys-libs/libcap-ng python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)] ) >=sys-kernel/linux-headers-2.6.34 python? ( dev-lang/swig:0 ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig
-DESCRIPTION=Userspace utilities for storing and processing auditing records
-EAPI=6
-HOMEPAGE=https://people.redhat.com/sgrubb/audit/
-IUSE=cros_host gssapi ldap python static-libs abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 python_targets_python2_7 python_targets_python3_6 kernel_linux
-KEYWORDS=*
-LICENSE=GPL-2+ LGPL-2.1+
-RDEPEND=gssapi? ( virtual/krb5 ) ldap? ( net-nds/openldap ) sys-libs/libcap-ng python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)] )
-REQUIRED_USE=python? ( || ( python_targets_python2_7 python_targets_python3_6 ) )
-RESTRICT=test
-SLOT=0
-SRC_URI=https://people.redhat.com/sgrubb/audit/audit-2.8.4.tar.gz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=fb78152d6dfe81bc36d0201de9de79f3
diff --git a/metadata/md5-cache/sys-process/audit-2.8.4-r6 b/metadata/md5-cache/sys-process/audit-2.8.4-r6
deleted file mode 100644
index e985ef3..0000000
--- a/metadata/md5-cache/sys-process/audit-2.8.4-r6
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFINED_PHASES=compile configure install postinst preinst prepare setup test
-DEPEND=gssapi? ( virtual/krb5 ) ldap? ( net-nds/openldap ) sys-libs/libcap-ng python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)] ) >=sys-kernel/linux-headers-2.6.34 python? ( dev-lang/swig:0 ) >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig
-DESCRIPTION=Userspace utilities for storing and processing auditing records
-EAPI=6
-HOMEPAGE=https://people.redhat.com/sgrubb/audit/
-IUSE=cros_host gssapi ldap python static-libs abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 python_targets_python2_7 python_targets_python3_6 kernel_linux
-KEYWORDS=*
-LICENSE=GPL-2+ LGPL-2.1+
-RDEPEND=gssapi? ( virtual/krb5 ) ldap? ( net-nds/openldap ) sys-libs/libcap-ng python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_6(-)] )
-REQUIRED_USE=python? ( || ( python_targets_python2_7 python_targets_python3_6 ) )
-RESTRICT=test
-SLOT=0
-SRC_URI=https://people.redhat.com/sgrubb/audit/audit-2.8.4.tar.gz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	desktop	b1d22ac8bdd4679ab79c71aca235009d	eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	ltprune	2729691420b6deeda2a90b1f1183fb55	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	preserve-libs	ef207dc62baddfddfd39a164d9797648	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=fb78152d6dfe81bc36d0201de9de79f3
diff --git a/metadata/md5-cache/sys-process/audit-3.0.6 b/metadata/md5-cache/sys-process/audit-3.0.6
new file mode 100644
index 0000000..6e5fcec
--- /dev/null
+++ b/metadata/md5-cache/sys-process/audit-3.0.6
@@ -0,0 +1,16 @@
+BDEPEND=python? ( dev-lang/swig:0 ) >=app-portage/elt-patches-20170815 virtual/pkgconfig
+DEFINED_PHASES=compile configure install postinst prepare setup test
+DEPEND=gssapi? ( virtual/krb5 ) ldap? ( net-nds/openldap ) sys-libs/libcap-ng python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) >=sys-kernel/linux-headers-2.6.34 test? ( dev-libs/check ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Userspace utilities for storing and processing auditing records
+EAPI=7
+HOMEPAGE=https://people.redhat.com/sgrubb/audit/
+IUSE=cros_host gssapi ldap python static-libs test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 kernel_linux split-usr
+KEYWORDS=*
+LICENSE=GPL-2+ LGPL-2.1+
+RDEPEND=gssapi? ( virtual/krb5 ) ldap? ( net-nds/openldap ) sys-libs/libcap-ng python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] )
+REQUIRED_USE=python? ( || ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 ) )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://people.redhat.com/sgrubb/audit/audit-3.0.6.tar.gz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	usr-ldscript	766f0a506b45f02361ad1b8ca205b7e1
+_md5_=15d544d533064fa2661fe76c4be4ae7a
diff --git a/metadata/md5-cache/sys-process/audit-3.0.6-r1 b/metadata/md5-cache/sys-process/audit-3.0.6-r1
new file mode 100644
index 0000000..6e5fcec
--- /dev/null
+++ b/metadata/md5-cache/sys-process/audit-3.0.6-r1
@@ -0,0 +1,16 @@
+BDEPEND=python? ( dev-lang/swig:0 ) >=app-portage/elt-patches-20170815 virtual/pkgconfig
+DEFINED_PHASES=compile configure install postinst prepare setup test
+DEPEND=gssapi? ( virtual/krb5 ) ldap? ( net-nds/openldap ) sys-libs/libcap-ng python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) >=sys-kernel/linux-headers-2.6.34 test? ( dev-libs/check ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Userspace utilities for storing and processing auditing records
+EAPI=7
+HOMEPAGE=https://people.redhat.com/sgrubb/audit/
+IUSE=cros_host gssapi ldap python static-libs test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 kernel_linux split-usr
+KEYWORDS=*
+LICENSE=GPL-2+ LGPL-2.1+
+RDEPEND=gssapi? ( virtual/krb5 ) ldap? ( net-nds/openldap ) sys-libs/libcap-ng python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] )
+REQUIRED_USE=python? ( || ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 ) )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://people.redhat.com/sgrubb/audit/audit-3.0.6.tar.gz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	linux-info	327865b9921771330775d971263dc234	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	python-r1	79e26ce8f853c9daebe9a4956e37cc1b	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	systemd	71fd8d2065d102753fb9e4d20eaf3e9f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	usr-ldscript	766f0a506b45f02361ad1b8ca205b7e1
+_md5_=15d544d533064fa2661fe76c4be4ae7a
diff --git a/metadata/md5-cache/virtual/bindgen-0.59.1 b/metadata/md5-cache/virtual/bindgen-0.59.1
deleted file mode 100644
index 36f3340..0000000
--- a/metadata/md5-cache/virtual/bindgen-0.59.1
+++ /dev/null
@@ -1,8 +0,0 @@
-BDEPEND==dev-rust/bindgen-0.59.1
-DEFINED_PHASES=-
-DESCRIPTION=Prevent needing to build dev-rust/bindgen for each board.
-EAPI=7
-KEYWORDS=*
-LICENSE=metapackage
-SLOT=0/0.59.1
-_md5_=6c41bf131b3e52ae837ebf8f4599cd09
diff --git a/metadata/md5-cache/virtual/bindgen-0.59.1-r1 b/metadata/md5-cache/virtual/bindgen-0.59.1-r1
deleted file mode 100644
index c2b1c8f..0000000
--- a/metadata/md5-cache/virtual/bindgen-0.59.1-r1
+++ /dev/null
@@ -1,8 +0,0 @@
-BDEPEND==dev-rust/bindgen-0.59.1-r1
-DEFINED_PHASES=-
-DESCRIPTION=Prevent needing to build dev-rust/bindgen for each board.
-EAPI=7
-KEYWORDS=*
-LICENSE=metapackage
-SLOT=0/0.59.1-r1
-_md5_=6c41bf131b3e52ae837ebf8f4599cd09
diff --git a/metadata/md5-cache/virtual/bindgen-0.59.2 b/metadata/md5-cache/virtual/bindgen-0.59.2
new file mode 100644
index 0000000..1ab3b51
--- /dev/null
+++ b/metadata/md5-cache/virtual/bindgen-0.59.2
@@ -0,0 +1,8 @@
+BDEPEND==dev-rust/bindgen-0.59.2
+DEFINED_PHASES=-
+DESCRIPTION=Prevent needing to build dev-rust/bindgen for each board.
+EAPI=7
+KEYWORDS=*
+LICENSE=metapackage
+SLOT=0/0.59.2
+_md5_=6c41bf131b3e52ae837ebf8f4599cd09
diff --git a/metadata/md5-cache/virtual/chromeos-firmware-1 b/metadata/md5-cache/virtual/chromeos-firmware-1
index 8712b2d..54f19b1 100644
--- a/metadata/md5-cache/virtual/chromeos-firmware-1
+++ b/metadata/md5-cache/virtual/chromeos-firmware-1
@@ -1,11 +1,11 @@
 DEFINED_PHASES=-
-DEPEND=bootimage? ( sys-boot/chromeos-bootimage ) cros_ec? ( chromeos-base/chromeos-ec ) cros_ish? ( chromeos-base/chromeos-ish )
+DEPEND=bootimage? ( sys-boot/chromeos-bootimage ) cros_ec? ( chromeos-base/chromeos-ec ) zephyr_ec? ( chromeos-base/chromeos-zephyr ) cros_ish? ( chromeos-base/chromeos-ish )
 DESCRIPTION=Chrome OS Firmware virtual package
 EAPI=7
 HOMEPAGE=http://src.chromium.org
-IUSE=bootimage cros_ec cros_ish
+IUSE=bootimage cros_ec zephyr_ec cros_ish
 KEYWORDS=*
 LICENSE=metapackage
-RDEPEND=!bootimage? ( chromeos-base/chromeos-firmware-null ) bootimage? ( sys-boot/chromeos-bootimage ) cros_ec? ( chromeos-base/chromeos-ec ) cros_ish? ( chromeos-base/chromeos-ish )
+RDEPEND=!bootimage? ( chromeos-base/chromeos-firmware-null ) bootimage? ( sys-boot/chromeos-bootimage ) cros_ec? ( chromeos-base/chromeos-ec ) zephyr_ec? ( chromeos-base/chromeos-zephyr ) cros_ish? ( chromeos-base/chromeos-ish )
 SLOT=0
-_md5_=4f7883641a74b091e95154f0b65223f0
+_md5_=57b122995080a4b7b405e777bf4cd37e
diff --git a/metadata/md5-cache/virtual/chromeos-firmware-1-r6 b/metadata/md5-cache/virtual/chromeos-firmware-1-r6
deleted file mode 100644
index 8712b2d..0000000
--- a/metadata/md5-cache/virtual/chromeos-firmware-1-r6
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=-
-DEPEND=bootimage? ( sys-boot/chromeos-bootimage ) cros_ec? ( chromeos-base/chromeos-ec ) cros_ish? ( chromeos-base/chromeos-ish )
-DESCRIPTION=Chrome OS Firmware virtual package
-EAPI=7
-HOMEPAGE=http://src.chromium.org
-IUSE=bootimage cros_ec cros_ish
-KEYWORDS=*
-LICENSE=metapackage
-RDEPEND=!bootimage? ( chromeos-base/chromeos-firmware-null ) bootimage? ( sys-boot/chromeos-bootimage ) cros_ec? ( chromeos-base/chromeos-ec ) cros_ish? ( chromeos-base/chromeos-ish )
-SLOT=0
-_md5_=4f7883641a74b091e95154f0b65223f0
diff --git a/metadata/md5-cache/virtual/chromeos-firmware-1-r7 b/metadata/md5-cache/virtual/chromeos-firmware-1-r7
new file mode 100644
index 0000000..54f19b1
--- /dev/null
+++ b/metadata/md5-cache/virtual/chromeos-firmware-1-r7
@@ -0,0 +1,11 @@
+DEFINED_PHASES=-
+DEPEND=bootimage? ( sys-boot/chromeos-bootimage ) cros_ec? ( chromeos-base/chromeos-ec ) zephyr_ec? ( chromeos-base/chromeos-zephyr ) cros_ish? ( chromeos-base/chromeos-ish )
+DESCRIPTION=Chrome OS Firmware virtual package
+EAPI=7
+HOMEPAGE=http://src.chromium.org
+IUSE=bootimage cros_ec zephyr_ec cros_ish
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=!bootimage? ( chromeos-base/chromeos-firmware-null ) bootimage? ( sys-boot/chromeos-bootimage ) cros_ec? ( chromeos-base/chromeos-ec ) zephyr_ec? ( chromeos-base/chromeos-zephyr ) cros_ish? ( chromeos-base/chromeos-ish )
+SLOT=0
+_md5_=57b122995080a4b7b405e777bf4cd37e
diff --git a/metadata/md5-cache/virtual/chromeos-oobe-assets-1 b/metadata/md5-cache/virtual/chromeos-oobe-assets-1
deleted file mode 100644
index 30b84fb..0000000
--- a/metadata/md5-cache/virtual/chromeos-oobe-assets-1
+++ /dev/null
@@ -1,8 +0,0 @@
-DEFINED_PHASES=-
-DESCRIPTION=Chrome OS OOBE assets virtual package
-EAPI=7
-KEYWORDS=*
-LICENSE=metapackage
-RDEPEND=chromeos-base/chromeos-oobe-assets
-SLOT=0
-_md5_=86648e13b57acdfd8231482fba096e1b
diff --git a/metadata/md5-cache/virtual/chromeos-oobe-assets-1-r2 b/metadata/md5-cache/virtual/chromeos-oobe-assets-1-r2
deleted file mode 100644
index 30b84fb..0000000
--- a/metadata/md5-cache/virtual/chromeos-oobe-assets-1-r2
+++ /dev/null
@@ -1,8 +0,0 @@
-DEFINED_PHASES=-
-DESCRIPTION=Chrome OS OOBE assets virtual package
-EAPI=7
-KEYWORDS=*
-LICENSE=metapackage
-RDEPEND=chromeos-base/chromeos-oobe-assets
-SLOT=0
-_md5_=86648e13b57acdfd8231482fba096e1b
diff --git a/metadata/md5-cache/virtual/chromium-os-fuzzers-1-r77 b/metadata/md5-cache/virtual/chromium-os-fuzzers-1-r77
deleted file mode 100644
index 138803c..0000000
--- a/metadata/md5-cache/virtual/chromium-os-fuzzers-1-r77
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info setup unpack
-DESCRIPTION=List of packages that should be fuzzed
-EAPI=7
-HOMEPAGE=https://dev.chromium.org/
-IUSE=asan msan cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
-KEYWORDS=*
-LICENSE=metapackage
-PROPERTIES=live
-RDEPEND=chromeos-base/aosp-frameworks-ml-nn[fuzzer] chromeos-base/arc-adbd[fuzzer] chromeos-base/arc-apk-cache[fuzzer] asan? ( chromeos-base/arc-keymaster[fuzzer] ) chromeos-base/arc-obb-mounter[fuzzer] chromeos-base/arc-setup[fuzzer] chromeos-base/authpolicy[fuzzer] chromeos-base/biod[fuzzer] chromeos-base/bootid-logger[fuzzer] chromeos-base/chaps[fuzzer] chromeos-base/chromeos-dbus-bindings[fuzzer] chromeos-base/chromeos-ec[fuzzer] chromeos-base/chromeos-login[fuzzer] chromeos-base/crash-reporter[fuzzer] chromeos-base/cros-camera-libs[fuzzer] chromeos-base/cros-disks[fuzzer] chromeos-base/crosdns[fuzzer] chromeos-base/croslog[fuzzer] chromeos-base/cryptohome[fuzzer] chromeos-base/cups-fuzz[fuzzer] chromeos-base/debugd[fuzzer] chromeos-base/diagnostics[fuzzer] chromeos-base/dlcservice[fuzzer] chromeos-base/dlp[fuzzer] chromeos-base/dns-proxy[fuzzer] chromeos-base/featured[fuzzer] chromeos-base/foomatic_shell[fuzzer] chromeos-base/ghostscript-fuzz[fuzzer] chromeos-base/hammerd[fuzzer] chromeos-base/hermes[fuzzer] chromeos-base/imageloader[fuzzer] chromeos-base/kerberos[fuzzer] chromeos-base/libbrillo[fuzzer] chromeos-base/libipp[fuzzer] asan? ( chromeos-base/libvda[fuzzer] ) chromeos-base/metrics[fuzzer] chromeos-base/ml[fuzzer] chromeos-base/modemfwd[fuzzer] chromeos-base/ocr[fuzzer] chromeos-base/p2p[fuzzer] chromeos-base/patchpanel[fuzzer] chromeos-base/patchpanel-client[fuzzer] chromeos-base/permission_broker[fuzzer] chromeos-base/power_manager[fuzzer] chromeos-base/run_oci[fuzzer] chromeos-base/runtime_probe[fuzzer] chromeos-base/screen-capture-utils[fuzzer] >=chromeos-base/shill-0.0.1-r2205[fuzzer] chromeos-base/smbprovider[fuzzer] chromeos-base/sommelier[fuzzer] chromeos-base/system-proxy[fuzzer] chromeos-base/trunks[fuzzer] chromeos-base/typecd[fuzzer] chromeos-base/u2fd[fuzzer] chromeos-base/update_engine[fuzzer] chromeos-base/usb_bouncer[fuzzer] chromeos-base/vboot_reference[fuzzer] chromeos-base/vm_guest_tools[fuzzer] chromeos-base/vpn-manager[fuzzer] asan? ( chromeos-base/vm_host_tools[fuzzer] ) dev-libs/modp_b64[fuzzer] asan? ( dev-rust/p9[fuzzer] ) dev-util/bsdiff[fuzzer] dev-util/puffin[fuzzer] media-gfx/sane-airscan[fuzzer] media-libs/virglrenderer[fuzzer] media-sound/adhd[fuzzer] net-dns/avahi[fuzzer] net-print/hplip[fuzzer] net-wireless/bluez[fuzzer] net-wireless/wpa_supplicant-cros[fuzzer]
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=45171927520862eb80d10d4686ccac87
diff --git a/metadata/md5-cache/virtual/chromium-os-fuzzers-1-r81 b/metadata/md5-cache/virtual/chromium-os-fuzzers-1-r81
new file mode 100644
index 0000000..c6cd804
--- /dev/null
+++ b/metadata/md5-cache/virtual/chromium-os-fuzzers-1-r81
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info setup unpack
+DESCRIPTION=List of packages that should be fuzzed
+EAPI=7
+HOMEPAGE=https://dev.chromium.org/
+IUSE=asan msan cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
+KEYWORDS=*
+LICENSE=metapackage
+PROPERTIES=live
+RDEPEND=chromeos-base/aosp-frameworks-ml-nn[fuzzer] chromeos-base/arc-adbd[fuzzer] chromeos-base/arc-apk-cache[fuzzer] asan? ( chromeos-base/arc-keymaster[fuzzer] ) chromeos-base/arc-obb-mounter[fuzzer] chromeos-base/arc-setup[fuzzer] chromeos-base/authpolicy[fuzzer] chromeos-base/biod[fuzzer] chromeos-base/bootid-logger[fuzzer] chromeos-base/chaps[fuzzer] chromeos-base/chromeos-ec[fuzzer] chromeos-base/chromeos-login[fuzzer] chromeos-base/crash-reporter[fuzzer] chromeos-base/cros-camera-libs[fuzzer] chromeos-base/cros-disks[fuzzer] chromeos-base/crosdns[fuzzer] chromeos-base/croslog[fuzzer] chromeos-base/cryptohome[fuzzer] chromeos-base/cups-fuzz[fuzzer] chromeos-base/debugd[fuzzer] chromeos-base/diagnostics[fuzzer] chromeos-base/dlcservice[fuzzer] chromeos-base/dlp[fuzzer] chromeos-base/dns-proxy[fuzzer] chromeos-base/featured[fuzzer] chromeos-base/foomatic_shell[fuzzer] chromeos-base/ghostscript-fuzz[fuzzer] chromeos-base/hammerd[fuzzer] chromeos-base/hermes[fuzzer] chromeos-base/imageloader[fuzzer] chromeos-base/kerberos[fuzzer] chromeos-base/libbrillo[fuzzer] chromeos-base/libipp[fuzzer] asan? ( chromeos-base/libvda[fuzzer] ) chromeos-base/metrics[fuzzer] chromeos-base/ml[fuzzer] chromeos-base/modemfwd[fuzzer] chromeos-base/ocr[fuzzer] chromeos-base/p2p[fuzzer] chromeos-base/patchpanel[fuzzer] chromeos-base/patchpanel-client[fuzzer] chromeos-base/permission_broker[fuzzer] chromeos-base/power_manager[fuzzer] chromeos-base/rgbkbd[fuzzer] chromeos-base/run_oci[fuzzer] chromeos-base/runtime_probe[fuzzer] chromeos-base/screen-capture-utils[fuzzer] >=chromeos-base/shill-0.0.1-r2205[fuzzer] chromeos-base/smbprovider[fuzzer] chromeos-base/sommelier[fuzzer] chromeos-base/system-proxy[fuzzer] chromeos-base/trunks[fuzzer] chromeos-base/typecd[fuzzer] chromeos-base/u2fd[fuzzer] chromeos-base/update_engine[fuzzer] chromeos-base/usb_bouncer[fuzzer] chromeos-base/vboot_reference[fuzzer] chromeos-base/vm_guest_tools[fuzzer] chromeos-base/vpn-manager[fuzzer] asan? ( chromeos-base/vm_host_tools[fuzzer] ) dev-libs/modp_b64[fuzzer] asan? ( dev-rust/p9[fuzzer] ) dev-util/bsdiff[fuzzer] dev-util/puffin[fuzzer] media-gfx/sane-airscan[fuzzer] media-libs/virglrenderer[fuzzer] media-sound/adhd[fuzzer] net-dns/avahi[fuzzer] net-print/hplip[fuzzer] net-wireless/bluez[fuzzer] net-wireless/wpa_supplicant-cros[fuzzer]
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=51e66aa9e4046f229b612c1463f22177
diff --git a/metadata/md5-cache/virtual/chromium-os-fuzzers-9999 b/metadata/md5-cache/virtual/chromium-os-fuzzers-9999
index 4e50c20..df8b654 100644
--- a/metadata/md5-cache/virtual/chromium-os-fuzzers-9999
+++ b/metadata/md5-cache/virtual/chromium-os-fuzzers-9999
@@ -7,7 +7,7 @@
 KEYWORDS=~*
 LICENSE=metapackage
 PROPERTIES=live
-RDEPEND=chromeos-base/aosp-frameworks-ml-nn[fuzzer] chromeos-base/arc-adbd[fuzzer] chromeos-base/arc-apk-cache[fuzzer] asan? ( chromeos-base/arc-keymaster[fuzzer] ) chromeos-base/arc-obb-mounter[fuzzer] chromeos-base/arc-setup[fuzzer] chromeos-base/authpolicy[fuzzer] chromeos-base/biod[fuzzer] chromeos-base/bootid-logger[fuzzer] chromeos-base/chaps[fuzzer] chromeos-base/chromeos-dbus-bindings[fuzzer] chromeos-base/chromeos-ec[fuzzer] chromeos-base/chromeos-login[fuzzer] chromeos-base/crash-reporter[fuzzer] chromeos-base/cros-camera-libs[fuzzer] chromeos-base/cros-disks[fuzzer] chromeos-base/crosdns[fuzzer] chromeos-base/croslog[fuzzer] chromeos-base/cryptohome[fuzzer] chromeos-base/cups-fuzz[fuzzer] chromeos-base/debugd[fuzzer] chromeos-base/diagnostics[fuzzer] chromeos-base/dlcservice[fuzzer] chromeos-base/dlp[fuzzer] chromeos-base/dns-proxy[fuzzer] chromeos-base/featured[fuzzer] chromeos-base/foomatic_shell[fuzzer] chromeos-base/ghostscript-fuzz[fuzzer] chromeos-base/hammerd[fuzzer] chromeos-base/hermes[fuzzer] chromeos-base/imageloader[fuzzer] chromeos-base/kerberos[fuzzer] chromeos-base/libbrillo[fuzzer] chromeos-base/libipp[fuzzer] asan? ( chromeos-base/libvda[fuzzer] ) chromeos-base/metrics[fuzzer] chromeos-base/ml[fuzzer] chromeos-base/modemfwd[fuzzer] chromeos-base/ocr[fuzzer] chromeos-base/p2p[fuzzer] chromeos-base/patchpanel[fuzzer] chromeos-base/patchpanel-client[fuzzer] chromeos-base/permission_broker[fuzzer] chromeos-base/power_manager[fuzzer] chromeos-base/run_oci[fuzzer] chromeos-base/runtime_probe[fuzzer] chromeos-base/screen-capture-utils[fuzzer] >=chromeos-base/shill-0.0.1-r2205[fuzzer] chromeos-base/smbprovider[fuzzer] chromeos-base/sommelier[fuzzer] chromeos-base/system-proxy[fuzzer] chromeos-base/trunks[fuzzer] chromeos-base/typecd[fuzzer] chromeos-base/u2fd[fuzzer] chromeos-base/update_engine[fuzzer] chromeos-base/usb_bouncer[fuzzer] chromeos-base/vboot_reference[fuzzer] chromeos-base/vm_guest_tools[fuzzer] chromeos-base/vpn-manager[fuzzer] asan? ( chromeos-base/vm_host_tools[fuzzer] ) dev-libs/modp_b64[fuzzer] asan? ( dev-rust/p9[fuzzer] ) dev-util/bsdiff[fuzzer] dev-util/puffin[fuzzer] media-gfx/sane-airscan[fuzzer] media-libs/virglrenderer[fuzzer] media-sound/adhd[fuzzer] net-dns/avahi[fuzzer] net-print/hplip[fuzzer] net-wireless/bluez[fuzzer] net-wireless/wpa_supplicant-cros[fuzzer]
+RDEPEND=chromeos-base/aosp-frameworks-ml-nn[fuzzer] chromeos-base/arc-adbd[fuzzer] chromeos-base/arc-apk-cache[fuzzer] asan? ( chromeos-base/arc-keymaster[fuzzer] ) chromeos-base/arc-obb-mounter[fuzzer] chromeos-base/arc-setup[fuzzer] chromeos-base/authpolicy[fuzzer] chromeos-base/biod[fuzzer] chromeos-base/bootid-logger[fuzzer] chromeos-base/chaps[fuzzer] chromeos-base/chromeos-ec[fuzzer] chromeos-base/chromeos-login[fuzzer] chromeos-base/crash-reporter[fuzzer] chromeos-base/cros-camera-libs[fuzzer] chromeos-base/cros-disks[fuzzer] chromeos-base/crosdns[fuzzer] chromeos-base/croslog[fuzzer] chromeos-base/cryptohome[fuzzer] chromeos-base/cups-fuzz[fuzzer] chromeos-base/debugd[fuzzer] chromeos-base/diagnostics[fuzzer] chromeos-base/dlcservice[fuzzer] chromeos-base/dlp[fuzzer] chromeos-base/dns-proxy[fuzzer] chromeos-base/featured[fuzzer] chromeos-base/foomatic_shell[fuzzer] chromeos-base/ghostscript-fuzz[fuzzer] chromeos-base/hammerd[fuzzer] chromeos-base/hermes[fuzzer] chromeos-base/imageloader[fuzzer] chromeos-base/kerberos[fuzzer] chromeos-base/libbrillo[fuzzer] chromeos-base/libipp[fuzzer] asan? ( chromeos-base/libvda[fuzzer] ) chromeos-base/metrics[fuzzer] chromeos-base/ml[fuzzer] chromeos-base/modemfwd[fuzzer] chromeos-base/ocr[fuzzer] chromeos-base/p2p[fuzzer] chromeos-base/patchpanel[fuzzer] chromeos-base/patchpanel-client[fuzzer] chromeos-base/permission_broker[fuzzer] chromeos-base/power_manager[fuzzer] chromeos-base/rgbkbd[fuzzer] chromeos-base/run_oci[fuzzer] chromeos-base/runtime_probe[fuzzer] chromeos-base/screen-capture-utils[fuzzer] >=chromeos-base/shill-0.0.1-r2205[fuzzer] chromeos-base/smbprovider[fuzzer] chromeos-base/sommelier[fuzzer] chromeos-base/system-proxy[fuzzer] chromeos-base/trunks[fuzzer] chromeos-base/typecd[fuzzer] chromeos-base/u2fd[fuzzer] chromeos-base/update_engine[fuzzer] chromeos-base/usb_bouncer[fuzzer] chromeos-base/vboot_reference[fuzzer] chromeos-base/vm_guest_tools[fuzzer] chromeos-base/vpn-manager[fuzzer] asan? ( chromeos-base/vm_host_tools[fuzzer] ) dev-libs/modp_b64[fuzzer] asan? ( dev-rust/p9[fuzzer] ) dev-util/bsdiff[fuzzer] dev-util/puffin[fuzzer] media-gfx/sane-airscan[fuzzer] media-libs/virglrenderer[fuzzer] media-sound/adhd[fuzzer] net-dns/avahi[fuzzer] net-print/hplip[fuzzer] net-wireless/bluez[fuzzer] net-wireless/wpa_supplicant-cros[fuzzer]
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=7d82302f7859ccc476d8ba018516c310
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=abf04367c100148a83f8af715b4cb045
diff --git a/metadata/md5-cache/virtual/chromium-os-printing-1 b/metadata/md5-cache/virtual/chromium-os-printing-1
index 5eeebe0..1f4818c 100644
--- a/metadata/md5-cache/virtual/chromium-os-printing-1
+++ b/metadata/md5-cache/virtual/chromium-os-printing-1
@@ -5,6 +5,6 @@
 IUSE=internal postscript
 KEYWORDS=*
 LICENSE=metapackage
-RDEPEND=chromeos-base/ippusb_bridge chromeos-base/lexmark-fax-pnh net-print/cups net-print/cups-filters net-print/dymo-cups-drivers net-print/epson-inkjet-printer-escpr net-print/starcupsdrv internal? ( net-print/konica-minolta-printing-license ) internal? ( net-print/xerox-printing-license ) internal? ( net-print/fuji-xerox-printing-license ) postscript? ( net-print/hplip )
+RDEPEND=chromeos-base/ippusb_bridge chromeos-base/lexmark-fax-pnh chromeos-base/print_tools net-print/cups net-print/cups-filters net-print/dymo-cups-drivers net-print/epson-inkjet-printer-escpr net-print/starcupsdrv internal? ( net-print/fuji-xerox-printing-license net-print/konica-minolta-printing-license net-print/nec-printing-license net-print/xerox-printing-license ) postscript? ( net-print/hplip )
 SLOT=0
-_md5_=8329521c7fa455dc3ef28d485e063247
+_md5_=31ad4487f4647ec45a18068cbf7c76c6
diff --git a/metadata/md5-cache/virtual/chromium-os-printing-1-r13 b/metadata/md5-cache/virtual/chromium-os-printing-1-r13
deleted file mode 100644
index 5eeebe0..0000000
--- a/metadata/md5-cache/virtual/chromium-os-printing-1-r13
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=-
-DESCRIPTION=List of packages required for the Chromium OS Printing subsystem
-EAPI=7
-HOMEPAGE=http://dev.chromium.org/
-IUSE=internal postscript
-KEYWORDS=*
-LICENSE=metapackage
-RDEPEND=chromeos-base/ippusb_bridge chromeos-base/lexmark-fax-pnh net-print/cups net-print/cups-filters net-print/dymo-cups-drivers net-print/epson-inkjet-printer-escpr net-print/starcupsdrv internal? ( net-print/konica-minolta-printing-license ) internal? ( net-print/xerox-printing-license ) internal? ( net-print/fuji-xerox-printing-license ) postscript? ( net-print/hplip )
-SLOT=0
-_md5_=8329521c7fa455dc3ef28d485e063247
diff --git a/metadata/md5-cache/virtual/chromium-os-printing-1-r15 b/metadata/md5-cache/virtual/chromium-os-printing-1-r15
new file mode 100644
index 0000000..1f4818c
--- /dev/null
+++ b/metadata/md5-cache/virtual/chromium-os-printing-1-r15
@@ -0,0 +1,10 @@
+DEFINED_PHASES=-
+DESCRIPTION=List of packages required for the Chromium OS Printing subsystem
+EAPI=7
+HOMEPAGE=http://dev.chromium.org/
+IUSE=internal postscript
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=chromeos-base/ippusb_bridge chromeos-base/lexmark-fax-pnh chromeos-base/print_tools net-print/cups net-print/cups-filters net-print/dymo-cups-drivers net-print/epson-inkjet-printer-escpr net-print/starcupsdrv internal? ( net-print/fuji-xerox-printing-license net-print/konica-minolta-printing-license net-print/nec-printing-license net-print/xerox-printing-license ) postscript? ( net-print/hplip )
+SLOT=0
+_md5_=31ad4487f4647ec45a18068cbf7c76c6
diff --git a/metadata/md5-cache/virtual/manatee-apps-1 b/metadata/md5-cache/virtual/manatee-apps-1
new file mode 100644
index 0000000..a323f4c5
--- /dev/null
+++ b/metadata/md5-cache/virtual/manatee-apps-1
@@ -0,0 +1,7 @@
+DEFINED_PHASES=-
+DESCRIPTION=List of packages that run in the ManaTEE environment.
+EAPI=7
+KEYWORDS=*
+LICENSE=metapackage
+SLOT=0
+_md5_=16ec356890dff7ebeb9012d4f4285c98
diff --git a/metadata/md5-cache/virtual/manatee-apps-1-r1 b/metadata/md5-cache/virtual/manatee-apps-1-r1
new file mode 100644
index 0000000..a323f4c5
--- /dev/null
+++ b/metadata/md5-cache/virtual/manatee-apps-1-r1
@@ -0,0 +1,7 @@
+DEFINED_PHASES=-
+DESCRIPTION=List of packages that run in the ManaTEE environment.
+EAPI=7
+KEYWORDS=*
+LICENSE=metapackage
+SLOT=0
+_md5_=16ec356890dff7ebeb9012d4f4285c98
diff --git a/metadata/md5-cache/virtual/rust-1.58.1 b/metadata/md5-cache/virtual/rust-1.58.1
deleted file mode 100644
index 04ac2b1..0000000
--- a/metadata/md5-cache/virtual/rust-1.58.1
+++ /dev/null
@@ -1,8 +0,0 @@
-DEFINED_PHASES=-
-DEPEND=~dev-lang/rust-1.58.1:=
-DESCRIPTION=Virtual for the Rust language compiler
-EAPI=7
-KEYWORDS=*
-LICENSE=metapackage
-SLOT=0/1.58.1
-_md5_=562a9b7b89850bc9d641a4adb3977d36
diff --git a/metadata/md5-cache/virtual/rust-1.60.0-r2 b/metadata/md5-cache/virtual/rust-1.60.0-r2
new file mode 100644
index 0000000..c45a053
--- /dev/null
+++ b/metadata/md5-cache/virtual/rust-1.60.0-r2
@@ -0,0 +1,10 @@
+BDEPEND=~dev-lang/rust-host-1.60.0:= !cros_host? ( ~dev-lang/rust-1.60.0:= )
+DEFINED_PHASES=-
+DESCRIPTION=Virtual for the Rust language compiler
+EAPI=7
+IUSE=cros_host
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=cros_host? ( ~dev-lang/rust-host-1.60.0:= )
+SLOT=0/1.60.0
+_md5_=cd3ab4f72b9d752a91334cfb61984ac2
diff --git a/metadata/md5-cache/virtual/rust-binaries-1-r3 b/metadata/md5-cache/virtual/rust-binaries-1-r3
deleted file mode 100644
index db5290b..0000000
--- a/metadata/md5-cache/virtual/rust-binaries-1-r3
+++ /dev/null
@@ -1,7 +0,0 @@
-DEFINED_PHASES=-
-DESCRIPTION=Virtual for the Rust language
-EAPI=7
-KEYWORDS=*
-LICENSE=metapackage
-SLOT=0/1-r3
-_md5_=9900f23971f97712ca7aa354a5b8d281
diff --git a/metadata/md5-cache/virtual/rust-binaries-1-r5 b/metadata/md5-cache/virtual/rust-binaries-1-r5
new file mode 100644
index 0000000..78605de
--- /dev/null
+++ b/metadata/md5-cache/virtual/rust-binaries-1-r5
@@ -0,0 +1,7 @@
+DEFINED_PHASES=-
+DESCRIPTION=Virtual for the Rust language
+EAPI=7
+KEYWORDS=*
+LICENSE=metapackage
+SLOT=0/1-r5
+_md5_=9900f23971f97712ca7aa354a5b8d281
diff --git a/metadata/md5-cache/virtual/target-chromium-os-1-r195 b/metadata/md5-cache/virtual/target-chromium-os-1-r195
deleted file mode 100644
index 6fb294e..0000000
--- a/metadata/md5-cache/virtual/target-chromium-os-1-r195
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info setup unpack
-DESCRIPTION=List of packages that are needed inside the Chromium OS base (release)
-EAPI=7
-HOMEPAGE=https://dev.chromium.org/
-IUSE=asan arc-camera1 arc-camera3 biod bluetooth bootchart cellular compupdates containers cr50_onboard +cras +crash_reporting +cros_disks cros_embedded cups +debugd diagnostics dlc dlc_test dlp dns-proxy dptf eclog factory_branch featured federated_service floss +fonts fpstudy fuzzer fwupd hammerd iioservice ime input_devices_evdev intel_lpe iwlwifi_rescan kerberos_daemon kvm_host lacros_rootfs manatee media_perception memd missive mist minios mmc secanomalyd modemfwd ml_service hps mtd +network_time nfc ondevice_handwriting os_install_service pam pciguard perfetto postscript +power_management +profile racc +readahead resourced rmad scanner selinux +shill sirenia smbprovider spaced +syslog +system_locales system_proxy systemd ti50_onboard touchview +tpm -tpm2 +trim_supported typecd ubsan usb_bouncer usbguard +vpn watchdog cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
-KEYWORDS=*
-LICENSE=metapackage
-PROPERTIES=live
-RDEPEND=input_devices_evdev? ( app-misc/evtest ) syslog? ( app-admin/rsyslog chromeos-base/croslog chromeos-base/bootid-logger ) biod? ( chromeos-base/biod ) fpstudy? ( chromeos-base/fingerprint_study ) compupdates? ( chromeos-base/imageloader ) dlc? ( chromeos-base/dlcservice ) dlc_test? ( chromeos-base/sample-dlc chromeos-base/test-dlc ) bluetooth? ( net-wireless/bluez ) floss? ( !asan? ( !ubsan? ( net-wireless/floss ) ) ) bootchart? ( app-benchmarks/bootchart ) tpm? ( app-crypt/trousers chromeos-base/chaps ) tpm2? ( chromeos-base/trunks ) pam? ( virtual/chromeos-auth-config ) federated_service? ( chromeos-base/federated-service ) fonts? ( chromeos-base/chromeos-fonts ) chromeos-base/chromeos-installer chromeos-base/dev-install os_install_service? ( chromeos-base/os_install_service ) perfetto? ( chromeos-base/perfetto ) crash_reporting? ( chromeos-base/crash-reporter ) missive? ( chromeos-base/missive ) mist? ( chromeos-base/mist ) modemfwd? ( chromeos-base/modemfwd ) containers? ( chromeos-base/run_oci ) cros_disks? ( chromeos-base/cros-disks ) debugd? ( chromeos-base/debugd ) diagnostics? ( chromeos-base/diagnostics ) dlp? ( chromeos-base/dlp ) kerberos_daemon? ( chromeos-base/kerberos ) scanner? ( chromeos-base/lorgnette ) ml_service? ( chromeos-base/ml ) ondevice_handwriting? ( chromeos-base/languagepack-handwriting-es chromeos-languagepacks/handwriting-am chromeos-languagepacks/handwriting-ar chromeos-languagepacks/handwriting-be chromeos-languagepacks/handwriting-bg chromeos-languagepacks/handwriting-bn chromeos-languagepacks/handwriting-ca chromeos-languagepacks/handwriting-cs chromeos-languagepacks/handwriting-da chromeos-languagepacks/handwriting-de chromeos-languagepacks/handwriting-el chromeos-languagepacks/handwriting-es chromeos-languagepacks/handwriting-et chromeos-languagepacks/handwriting-fa chromeos-languagepacks/handwriting-fi chromeos-languagepacks/handwriting-fr chromeos-languagepacks/handwriting-ga chromeos-languagepacks/handwriting-gu chromeos-languagepacks/handwriting-hi chromeos-languagepacks/handwriting-hr chromeos-languagepacks/handwriting-hu chromeos-languagepacks/handwriting-hy chromeos-languagepacks/handwriting-id chromeos-languagepacks/handwriting-is chromeos-languagepacks/handwriting-it chromeos-languagepacks/handwriting-iw chromeos-languagepacks/handwriting-ja chromeos-languagepacks/handwriting-ka chromeos-languagepacks/handwriting-kk chromeos-languagepacks/handwriting-km chromeos-languagepacks/handwriting-kn chromeos-languagepacks/handwriting-ko chromeos-languagepacks/handwriting-lo chromeos-languagepacks/handwriting-lt chromeos-languagepacks/handwriting-lv chromeos-languagepacks/handwriting-ml chromeos-languagepacks/handwriting-mn chromeos-languagepacks/handwriting-mr chromeos-languagepacks/handwriting-ms chromeos-languagepacks/handwriting-mt chromeos-languagepacks/handwriting-my chromeos-languagepacks/handwriting-ne chromeos-languagepacks/handwriting-nl chromeos-languagepacks/handwriting-no chromeos-languagepacks/handwriting-or chromeos-languagepacks/handwriting-pa chromeos-languagepacks/handwriting-pl chromeos-languagepacks/handwriting-pt chromeos-languagepacks/handwriting-ro chromeos-languagepacks/handwriting-ru chromeos-languagepacks/handwriting-si chromeos-languagepacks/handwriting-sk chromeos-languagepacks/handwriting-sl chromeos-languagepacks/handwriting-sr chromeos-languagepacks/handwriting-sv chromeos-languagepacks/handwriting-ta chromeos-languagepacks/handwriting-te chromeos-languagepacks/handwriting-th chromeos-languagepacks/handwriting-ti chromeos-languagepacks/handwriting-tl chromeos-languagepacks/handwriting-tr chromeos-languagepacks/handwriting-uk chromeos-languagepacks/handwriting-ur chromeos-languagepacks/handwriting-vi chromeos-languagepacks/handwriting-zh ) hps? ( chromeos-base/hpsd chromeos-base/hps-firmware-images !asan? ( !ubsan? ( chromeos-base/hps-firmware ) ) ) hammerd? ( chromeos-base/hammerd ) racc? ( chromeos-base/hardware_verifier chromeos-base/runtime_probe ) rmad? ( chromeos-base/rmad ) iioservice? ( chromeos-base/iioservice ) media_perception? ( chromeos-base/mri_package ) memd? ( chromeos-base/memd ) power_management? ( chromeos-base/power_manager ) !chromeos-base/platform2 profile? ( chromeos-base/quipper ) resourced? ( chromeos-base/resourced ) selinux? ( chromeos-base/selinux-policy ) shill? ( >=chromeos-base/shill-0.0.1-r2205 ) manatee? ( chromeos-base/sirenia ) sirenia? ( chromeos-base/sirenia ) spaced? ( chromeos-base/spaced ) usb_bouncer? ( chromeos-base/usb_bouncer ) chromeos-base/update_engine vpn? ( chromeos-base/vpn-manager ) cras? ( media-sound/adhd media-sound/cras_tests ) trim_supported? ( chromeos-base/chromeos-trim ) network_time? ( net-misc/tlsdate ) iwlwifi_rescan? ( net-wireless/iwlwifi_rescan ) nfc? ( net-wireless/neard chromeos-base/neard-configs ) readahead? ( sys-apps/ureadahead ) pam? ( sys-auth/pam_pwdfile ) watchdog? ( sys-apps/daisydog ) mtd? ( sys-fs/mtd-utils ) cups? ( virtual/chromium-os-printing ) touchview? ( !iioservice? ( chromeos-base/chromeos-accelerometer-init ) ) system_locales? ( chromeos-base/system-locales ) system_proxy? ( chromeos-base/system-proxy ) eclog? ( chromeos-base/timberslide ) chromeos-base/chromeos-machine-id-regen systemd? ( sys-apps/systemd ) !systemd? ( sys-apps/systemd-tmpfiles ) usbguard? ( sys-apps/usbguard ) kvm_host? ( chromeos-base/crosdns chromeos-base/crostini_client chromeos-base/vm_host_tools chromeos-base/termina-dlc ) sys-kernel/linux-firmware virtual/chromeos-bsp virtual/chromeos-firewall !factory_branch? ( virtual/chromeos-firmware ) virtual/chromeos-interface virtual/chromeos-regions virtual/implicit-system virtual/linux-sources virtual/modutils virtual/service-manager cr50_onboard? ( chromeos-base/chromeos-cr50 chromeos-base/u2fd ) ti50_onboard? ( chromeos-base/chromeos-ti50 chromeos-base/u2fd ) tpm? ( chromeos-base/u2fd ) ime? ( app-i18n/chinese-input app-i18n/keyboard-input app-i18n/japanese-input app-i18n/hangul-input ) fuzzer? ( virtual/target-fuzzers ) !dev-python/socksipy arc-camera1? ( chromeos-base/cros-camera ) arc-camera3? ( chromeos-base/cros-camera ) fwupd? ( sys-apps/fwupd sys-firmware/fwupd-peripherals mmc? ( sys-firmware/mmc-firmware ) ) smbprovider? ( chromeos-base/smbfs chromeos-base/smbprovider ) typecd? ( chromeos-base/typecd ) pciguard? ( chromeos-base/pciguard ) minios? ( chromeos-base/minios ) secanomalyd? ( chromeos-base/secanomalyd ) lacros_rootfs? ( chromeos-base/chromeos-lacros ) dns-proxy? ( chromeos-base/dns-proxy ) featured? ( chromeos-base/featured ) !cros_embedded? ( x86? ( dptf? ( virtual/dptf ) intel_lpe? ( virtual/lpe-support ) ) amd64? ( dptf? ( virtual/dptf ) intel_lpe? ( virtual/lpe-support ) ) app-arch/tar app-editors/vim app-shells/bash chromeos-base/common-assets chromeos-base/chromeos-imageburner chromeos-base/crosh chromeos-base/crosh-extension chromeos-base/inputcontrol chromeos-base/mtpd chromeos-base/permission_broker chromeos-base/userfeedback chromeos-base/vboot_reference chromeos-base/vpd net-wireless/crda sys-apps/dbus sys-apps/flashrom sys-apps/iproute2 sys-apps/rootdev !systemd? ( sys-apps/upstart ) sys-fs/e2fsprogs virtual/assets virtual/cheets virtual/udev )
-REQUIRED_USE=cellular? ( shill ) modemfwd? ( cellular )
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=dbedf6bc0c2a17deab0fd6c948926548
diff --git a/metadata/md5-cache/virtual/target-chromium-os-1-r218 b/metadata/md5-cache/virtual/target-chromium-os-1-r218
new file mode 100644
index 0000000..87c0f8a
--- /dev/null
+++ b/metadata/md5-cache/virtual/target-chromium-os-1-r218
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info setup unpack
+DESCRIPTION=List of packages that are needed inside the Chromium OS base (release)
+EAPI=7
+HOMEPAGE=https://dev.chromium.org/
+IUSE=asan arc-camera1 arc-camera3 assistant-dlc biod bluetooth bootchart cellular chargesplash chrome_internal compupdates containers cr50_onboard +cras +crash_reporting +cros_disks cros_embedded cups +debugd diagnostics dlc dlc_test dlp dns-proxy dptf eclog factory_branch featured federated_service floss +fonts fpstudy fusebox fuzzer fwupd gl3590 hammerd iioservice ime input_devices_evdev intel_lpe iwlwifi_rescan kerberos_daemon kvm_host lacros_rootfs lvm_stateful_partition manatee media_perception memd missive mist minios mmc secanomalyd modemfwd ml_service mojo_service_manager hps mtd +network_time nfc ondevice_handwriting os_install_service pam pciguard perfetto postscript +power_management +profile racc +readahead resourced rgbkbd rmad scanner selinux +shill sirenia smbprovider spaced +syslog +system_locales system_proxy systemd ti50_onboard touchview +tpm -tpm2 +trim_supported typecd ubsan usb_bouncer usbguard +vpn watchdog cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
+KEYWORDS=*
+LICENSE=metapackage
+PROPERTIES=live
+RDEPEND=input_devices_evdev? ( app-misc/evtest ) syslog? ( app-admin/rsyslog chromeos-base/croslog chromeos-base/bootid-logger ) biod? ( chromeos-base/biod ) chargesplash? ( chromeos-base/chargesplash ) fpstudy? ( chromeos-base/fingerprint_study ) compupdates? ( chromeos-base/imageloader ) dlc? ( app-accessibility/pumpkin chromeos-base/dlcservice chromeos-base/sample-dlc chromeos-languagepacks/tts-es-us ) bluetooth? ( net-wireless/bluez ) floss? ( !asan? ( !ubsan? ( net-wireless/floss ) ) ) bootchart? ( app-benchmarks/bootchart ) tpm? ( app-crypt/trousers chromeos-base/chaps ) tpm2? ( chromeos-base/trunks chromeos-base/vtpm ) pam? ( virtual/chromeos-auth-config ) federated_service? ( chromeos-base/federated-service ) fonts? ( chromeos-base/chromeos-fonts ) chromeos-base/chromeos-installer chromeos-base/dev-install os_install_service? ( chromeos-base/os_install_service ) perfetto? ( chromeos-base/perfetto ) crash_reporting? ( chromeos-base/crash-reporter ) missive? ( chromeos-base/missive ) mist? ( chromeos-base/mist ) modemfwd? ( chromeos-base/modemfwd ) containers? ( chromeos-base/run_oci ) cros_disks? ( chromeos-base/cros-disks ) debugd? ( chromeos-base/debugd ) diagnostics? ( chromeos-base/diagnostics ) dlp? ( chromeos-base/dlp ) kerberos_daemon? ( chromeos-base/kerberos ) scanner? ( chromeos-base/lorgnette ) ml_service? ( chromeos-base/ml ) ondevice_handwriting? ( chromeos-languagepacks/handwriting-da chromeos-languagepacks/handwriting-de chromeos-languagepacks/handwriting-es chromeos-languagepacks/handwriting-fi chromeos-languagepacks/handwriting-fr chromeos-languagepacks/handwriting-it chromeos-languagepacks/handwriting-ja chromeos-languagepacks/handwriting-nl chromeos-languagepacks/handwriting-pt chromeos-languagepacks/handwriting-sv ) hps? ( chromeos-base/hpsd chromeos-base/hps-firmware-images !asan? ( !ubsan? ( chromeos-base/hps-firmware ) ) ) hammerd? ( chromeos-base/hammerd ) racc? ( chromeos-base/hardware_verifier chromeos-base/runtime_probe ) rgbkbd? ( chromeos-base/rgbkbd ) rmad? ( chromeos-base/rmad ) iioservice? ( chromeos-base/iioservice ) media_perception? ( chromeos-base/mri_package ) memd? ( chromeos-base/memd ) power_management? ( chromeos-base/power_manager ) !chromeos-base/platform2 profile? ( chromeos-base/quipper ) resourced? ( chromeos-base/resourced ) selinux? ( chromeos-base/selinux-policy ) shill? ( >=chromeos-base/shill-0.0.1-r2205 ) manatee? ( chromeos-base/sirenia ) sirenia? ( chromeos-base/sirenia ) spaced? ( chromeos-base/spaced ) usb_bouncer? ( chromeos-base/usb_bouncer ) chromeos-base/update_engine vpn? ( chromeos-base/vpn-manager ) cras? ( media-sound/adhd media-sound/cras_tests ) trim_supported? ( chromeos-base/chromeos-trim ) network_time? ( net-misc/tlsdate ) iwlwifi_rescan? ( net-wireless/iwlwifi_rescan ) nfc? ( net-wireless/neard chromeos-base/neard-configs ) readahead? ( sys-apps/ureadahead ) pam? ( sys-auth/pam_pwdfile ) watchdog? ( sys-apps/daisydog ) mtd? ( sys-fs/mtd-utils ) cups? ( virtual/chromium-os-printing ) touchview? ( !iioservice? ( chromeos-base/chromeos-accelerometer-init ) ) system_locales? ( chromeos-base/system-locales ) system_proxy? ( chromeos-base/system-proxy ) eclog? ( chromeos-base/timberslide ) chromeos-base/chromeos-machine-id-regen systemd? ( sys-apps/systemd ) !systemd? ( sys-apps/systemd-tmpfiles ) usbguard? ( sys-apps/usbguard ) kvm_host? ( chromeos-base/crosdns chromeos-base/crostini_client chromeos-base/vm_host_tools chromeos-base/termina-dlc ) sys-kernel/linux-firmware virtual/chromeos-bsp virtual/chromeos-firewall !factory_branch? ( virtual/chromeos-firmware ) virtual/chromeos-interface virtual/chromeos-regions virtual/implicit-system virtual/linux-sources sys-apps/kmod[tools] virtual/service-manager cr50_onboard? ( chromeos-base/chromeos-cr50 chromeos-base/u2fd ) ti50_onboard? ( chromeos-base/chromeos-ti50 chromeos-base/u2fd ) tpm? ( chromeos-base/u2fd ) ime? ( app-i18n/chinese-input app-i18n/keyboard-input app-i18n/japanese-input app-i18n/hangul-input ) fuzzer? ( virtual/target-fuzzers ) !dev-python/socksipy arc-camera1? ( chromeos-base/cros-camera ) arc-camera3? ( chromeos-base/cros-camera ) fwupd? ( sys-apps/fwupd sys-firmware/fwupd-peripherals sys-firmware/fwupd-storage mmc? ( sys-firmware/mmc-firmware ) gl3590? ( sys-firmware/gl3590-firmware ) ) smbprovider? ( chromeos-base/smbfs chromeos-base/smbprovider ) typecd? ( chromeos-base/typecd ) pciguard? ( chromeos-base/pciguard ) minios? ( chromeos-base/minios ) secanomalyd? ( chromeos-base/secanomalyd ) lacros_rootfs? ( chromeos-base/chromeos-lacros ) dns-proxy? ( chromeos-base/dns-proxy ) featured? ( chromeos-base/featured ) fusebox? ( chromeos-base/fusebox ) chrome_internal? ( assistant-dlc? ( chromeos-base/assistant-dlc ) ) mojo_service_manager? ( chromeos-base/mojo_service_manager ) lvm_stateful_partition? ( chromeos-base/lvmd ) !cros_embedded? ( x86? ( dptf? ( virtual/dptf ) intel_lpe? ( virtual/lpe-support ) ) amd64? ( dptf? ( virtual/dptf ) intel_lpe? ( virtual/lpe-support ) ) app-arch/tar app-editors/vim app-shells/bash chromeos-base/common-assets chromeos-base/chromeos-imageburner chromeos-base/crosh chromeos-base/crosh-extension chromeos-base/inputcontrol chromeos-base/mtpd chromeos-base/permission_broker chromeos-base/userfeedback chromeos-base/vboot_reference chromeos-base/vpd net-wireless/crda sys-apps/dbus sys-apps/flashrom sys-apps/iproute2 sys-apps/rootdev !systemd? ( sys-apps/upstart ) sys-fs/e2fsprogs virtual/assets virtual/cheets virtual/udev sys-libs/libxcrypt )
+REQUIRED_USE=cellular? ( shill ) modemfwd? ( cellular )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=aaf6ce094f03c4ab3c4cbb3b7d38fb37
diff --git a/metadata/md5-cache/virtual/target-chromium-os-9999 b/metadata/md5-cache/virtual/target-chromium-os-9999
index df21a31..9946bc0 100644
--- a/metadata/md5-cache/virtual/target-chromium-os-9999
+++ b/metadata/md5-cache/virtual/target-chromium-os-9999
@@ -3,12 +3,12 @@
 DESCRIPTION=List of packages that are needed inside the Chromium OS base (release)
 EAPI=7
 HOMEPAGE=https://dev.chromium.org/
-IUSE=asan arc-camera1 arc-camera3 biod bluetooth bootchart cellular compupdates containers cr50_onboard +cras +crash_reporting +cros_disks cros_embedded cups +debugd diagnostics dlc dlc_test dlp dns-proxy dptf eclog factory_branch featured federated_service floss +fonts fpstudy fuzzer fwupd hammerd iioservice ime input_devices_evdev intel_lpe iwlwifi_rescan kerberos_daemon kvm_host lacros_rootfs manatee media_perception memd missive mist minios mmc secanomalyd modemfwd ml_service hps mtd +network_time nfc ondevice_handwriting os_install_service pam pciguard perfetto postscript +power_management +profile racc +readahead resourced rmad scanner selinux +shill sirenia smbprovider spaced +syslog +system_locales system_proxy systemd ti50_onboard touchview +tpm -tpm2 +trim_supported typecd ubsan usb_bouncer usbguard +vpn watchdog cros_host cros_workon_tree_
+IUSE=asan arc-camera1 arc-camera3 assistant-dlc biod bluetooth bootchart cellular chargesplash chrome_internal compupdates containers cr50_onboard +cras +crash_reporting +cros_disks cros_embedded cups +debugd diagnostics dlc dlc_test dlp dns-proxy dptf eclog factory_branch featured federated_service floss +fonts fpstudy fusebox fuzzer fwupd gl3590 hammerd iioservice ime input_devices_evdev intel_lpe iwlwifi_rescan kerberos_daemon kvm_host lacros_rootfs lvm_stateful_partition manatee media_perception memd missive mist minios mmc secanomalyd modemfwd ml_service mojo_service_manager hps mtd +network_time nfc ondevice_handwriting os_install_service pam pciguard perfetto postscript +power_management +profile racc +readahead resourced rgbkbd rmad scanner selinux +shill sirenia smbprovider spaced +syslog +system_locales system_proxy systemd ti50_onboard touchview +tpm -tpm2 +trim_supported typecd ubsan usb_bouncer usbguard +vpn watchdog cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=metapackage
 PROPERTIES=live
-RDEPEND=input_devices_evdev? ( app-misc/evtest ) syslog? ( app-admin/rsyslog chromeos-base/croslog chromeos-base/bootid-logger ) biod? ( chromeos-base/biod ) fpstudy? ( chromeos-base/fingerprint_study ) compupdates? ( chromeos-base/imageloader ) dlc? ( chromeos-base/dlcservice ) dlc_test? ( chromeos-base/sample-dlc chromeos-base/test-dlc ) bluetooth? ( net-wireless/bluez ) floss? ( !asan? ( !ubsan? ( net-wireless/floss ) ) ) bootchart? ( app-benchmarks/bootchart ) tpm? ( app-crypt/trousers chromeos-base/chaps ) tpm2? ( chromeos-base/trunks ) pam? ( virtual/chromeos-auth-config ) federated_service? ( chromeos-base/federated-service ) fonts? ( chromeos-base/chromeos-fonts ) chromeos-base/chromeos-installer chromeos-base/dev-install os_install_service? ( chromeos-base/os_install_service ) perfetto? ( chromeos-base/perfetto ) crash_reporting? ( chromeos-base/crash-reporter ) missive? ( chromeos-base/missive ) mist? ( chromeos-base/mist ) modemfwd? ( chromeos-base/modemfwd ) containers? ( chromeos-base/run_oci ) cros_disks? ( chromeos-base/cros-disks ) debugd? ( chromeos-base/debugd ) diagnostics? ( chromeos-base/diagnostics ) dlp? ( chromeos-base/dlp ) kerberos_daemon? ( chromeos-base/kerberos ) scanner? ( chromeos-base/lorgnette ) ml_service? ( chromeos-base/ml ) ondevice_handwriting? ( chromeos-base/languagepack-handwriting-es chromeos-languagepacks/handwriting-am chromeos-languagepacks/handwriting-ar chromeos-languagepacks/handwriting-be chromeos-languagepacks/handwriting-bg chromeos-languagepacks/handwriting-bn chromeos-languagepacks/handwriting-ca chromeos-languagepacks/handwriting-cs chromeos-languagepacks/handwriting-da chromeos-languagepacks/handwriting-de chromeos-languagepacks/handwriting-el chromeos-languagepacks/handwriting-es chromeos-languagepacks/handwriting-et chromeos-languagepacks/handwriting-fa chromeos-languagepacks/handwriting-fi chromeos-languagepacks/handwriting-fr chromeos-languagepacks/handwriting-ga chromeos-languagepacks/handwriting-gu chromeos-languagepacks/handwriting-hi chromeos-languagepacks/handwriting-hr chromeos-languagepacks/handwriting-hu chromeos-languagepacks/handwriting-hy chromeos-languagepacks/handwriting-id chromeos-languagepacks/handwriting-is chromeos-languagepacks/handwriting-it chromeos-languagepacks/handwriting-iw chromeos-languagepacks/handwriting-ja chromeos-languagepacks/handwriting-ka chromeos-languagepacks/handwriting-kk chromeos-languagepacks/handwriting-km chromeos-languagepacks/handwriting-kn chromeos-languagepacks/handwriting-ko chromeos-languagepacks/handwriting-lo chromeos-languagepacks/handwriting-lt chromeos-languagepacks/handwriting-lv chromeos-languagepacks/handwriting-ml chromeos-languagepacks/handwriting-mn chromeos-languagepacks/handwriting-mr chromeos-languagepacks/handwriting-ms chromeos-languagepacks/handwriting-mt chromeos-languagepacks/handwriting-my chromeos-languagepacks/handwriting-ne chromeos-languagepacks/handwriting-nl chromeos-languagepacks/handwriting-no chromeos-languagepacks/handwriting-or chromeos-languagepacks/handwriting-pa chromeos-languagepacks/handwriting-pl chromeos-languagepacks/handwriting-pt chromeos-languagepacks/handwriting-ro chromeos-languagepacks/handwriting-ru chromeos-languagepacks/handwriting-si chromeos-languagepacks/handwriting-sk chromeos-languagepacks/handwriting-sl chromeos-languagepacks/handwriting-sr chromeos-languagepacks/handwriting-sv chromeos-languagepacks/handwriting-ta chromeos-languagepacks/handwriting-te chromeos-languagepacks/handwriting-th chromeos-languagepacks/handwriting-ti chromeos-languagepacks/handwriting-tl chromeos-languagepacks/handwriting-tr chromeos-languagepacks/handwriting-uk chromeos-languagepacks/handwriting-ur chromeos-languagepacks/handwriting-vi chromeos-languagepacks/handwriting-zh ) hps? ( chromeos-base/hpsd chromeos-base/hps-firmware-images !asan? ( !ubsan? ( chromeos-base/hps-firmware ) ) ) hammerd? ( chromeos-base/hammerd ) racc? ( chromeos-base/hardware_verifier chromeos-base/runtime_probe ) rmad? ( chromeos-base/rmad ) iioservice? ( chromeos-base/iioservice ) media_perception? ( chromeos-base/mri_package ) memd? ( chromeos-base/memd ) power_management? ( chromeos-base/power_manager ) !chromeos-base/platform2 profile? ( chromeos-base/quipper ) resourced? ( chromeos-base/resourced ) selinux? ( chromeos-base/selinux-policy ) shill? ( >=chromeos-base/shill-0.0.1-r2205 ) manatee? ( chromeos-base/sirenia ) sirenia? ( chromeos-base/sirenia ) spaced? ( chromeos-base/spaced ) usb_bouncer? ( chromeos-base/usb_bouncer ) chromeos-base/update_engine vpn? ( chromeos-base/vpn-manager ) cras? ( media-sound/adhd media-sound/cras_tests ) trim_supported? ( chromeos-base/chromeos-trim ) network_time? ( net-misc/tlsdate ) iwlwifi_rescan? ( net-wireless/iwlwifi_rescan ) nfc? ( net-wireless/neard chromeos-base/neard-configs ) readahead? ( sys-apps/ureadahead ) pam? ( sys-auth/pam_pwdfile ) watchdog? ( sys-apps/daisydog ) mtd? ( sys-fs/mtd-utils ) cups? ( virtual/chromium-os-printing ) touchview? ( !iioservice? ( chromeos-base/chromeos-accelerometer-init ) ) system_locales? ( chromeos-base/system-locales ) system_proxy? ( chromeos-base/system-proxy ) eclog? ( chromeos-base/timberslide ) chromeos-base/chromeos-machine-id-regen systemd? ( sys-apps/systemd ) !systemd? ( sys-apps/systemd-tmpfiles ) usbguard? ( sys-apps/usbguard ) kvm_host? ( chromeos-base/crosdns chromeos-base/crostini_client chromeos-base/vm_host_tools chromeos-base/termina-dlc ) sys-kernel/linux-firmware virtual/chromeos-bsp virtual/chromeos-firewall !factory_branch? ( virtual/chromeos-firmware ) virtual/chromeos-interface virtual/chromeos-regions virtual/implicit-system virtual/linux-sources virtual/modutils virtual/service-manager cr50_onboard? ( chromeos-base/chromeos-cr50 chromeos-base/u2fd ) ti50_onboard? ( chromeos-base/chromeos-ti50 chromeos-base/u2fd ) tpm? ( chromeos-base/u2fd ) ime? ( app-i18n/chinese-input app-i18n/keyboard-input app-i18n/japanese-input app-i18n/hangul-input ) fuzzer? ( virtual/target-fuzzers ) !dev-python/socksipy arc-camera1? ( chromeos-base/cros-camera ) arc-camera3? ( chromeos-base/cros-camera ) fwupd? ( sys-apps/fwupd sys-firmware/fwupd-peripherals mmc? ( sys-firmware/mmc-firmware ) ) smbprovider? ( chromeos-base/smbfs chromeos-base/smbprovider ) typecd? ( chromeos-base/typecd ) pciguard? ( chromeos-base/pciguard ) minios? ( chromeos-base/minios ) secanomalyd? ( chromeos-base/secanomalyd ) lacros_rootfs? ( chromeos-base/chromeos-lacros ) dns-proxy? ( chromeos-base/dns-proxy ) featured? ( chromeos-base/featured ) !cros_embedded? ( x86? ( dptf? ( virtual/dptf ) intel_lpe? ( virtual/lpe-support ) ) amd64? ( dptf? ( virtual/dptf ) intel_lpe? ( virtual/lpe-support ) ) app-arch/tar app-editors/vim app-shells/bash chromeos-base/common-assets chromeos-base/chromeos-imageburner chromeos-base/crosh chromeos-base/crosh-extension chromeos-base/inputcontrol chromeos-base/mtpd chromeos-base/permission_broker chromeos-base/userfeedback chromeos-base/vboot_reference chromeos-base/vpd net-wireless/crda sys-apps/dbus sys-apps/flashrom sys-apps/iproute2 sys-apps/rootdev !systemd? ( sys-apps/upstart ) sys-fs/e2fsprogs virtual/assets virtual/cheets virtual/udev )
+RDEPEND=input_devices_evdev? ( app-misc/evtest ) syslog? ( app-admin/rsyslog chromeos-base/croslog chromeos-base/bootid-logger ) biod? ( chromeos-base/biod ) chargesplash? ( chromeos-base/chargesplash ) fpstudy? ( chromeos-base/fingerprint_study ) compupdates? ( chromeos-base/imageloader ) dlc? ( app-accessibility/pumpkin chromeos-base/dlcservice chromeos-base/sample-dlc chromeos-languagepacks/tts-es-us ) bluetooth? ( net-wireless/bluez ) floss? ( !asan? ( !ubsan? ( net-wireless/floss ) ) ) bootchart? ( app-benchmarks/bootchart ) tpm? ( app-crypt/trousers chromeos-base/chaps ) tpm2? ( chromeos-base/trunks chromeos-base/vtpm ) pam? ( virtual/chromeos-auth-config ) federated_service? ( chromeos-base/federated-service ) fonts? ( chromeos-base/chromeos-fonts ) chromeos-base/chromeos-installer chromeos-base/dev-install os_install_service? ( chromeos-base/os_install_service ) perfetto? ( chromeos-base/perfetto ) crash_reporting? ( chromeos-base/crash-reporter ) missive? ( chromeos-base/missive ) mist? ( chromeos-base/mist ) modemfwd? ( chromeos-base/modemfwd ) containers? ( chromeos-base/run_oci ) cros_disks? ( chromeos-base/cros-disks ) debugd? ( chromeos-base/debugd ) diagnostics? ( chromeos-base/diagnostics ) dlp? ( chromeos-base/dlp ) kerberos_daemon? ( chromeos-base/kerberos ) scanner? ( chromeos-base/lorgnette ) ml_service? ( chromeos-base/ml ) ondevice_handwriting? ( chromeos-languagepacks/handwriting-da chromeos-languagepacks/handwriting-de chromeos-languagepacks/handwriting-es chromeos-languagepacks/handwriting-fi chromeos-languagepacks/handwriting-fr chromeos-languagepacks/handwriting-it chromeos-languagepacks/handwriting-ja chromeos-languagepacks/handwriting-nl chromeos-languagepacks/handwriting-pt chromeos-languagepacks/handwriting-sv ) hps? ( chromeos-base/hpsd chromeos-base/hps-firmware-images !asan? ( !ubsan? ( chromeos-base/hps-firmware ) ) ) hammerd? ( chromeos-base/hammerd ) racc? ( chromeos-base/hardware_verifier chromeos-base/runtime_probe ) rgbkbd? ( chromeos-base/rgbkbd ) rmad? ( chromeos-base/rmad ) iioservice? ( chromeos-base/iioservice ) media_perception? ( chromeos-base/mri_package ) memd? ( chromeos-base/memd ) power_management? ( chromeos-base/power_manager ) !chromeos-base/platform2 profile? ( chromeos-base/quipper ) resourced? ( chromeos-base/resourced ) selinux? ( chromeos-base/selinux-policy ) shill? ( >=chromeos-base/shill-0.0.1-r2205 ) manatee? ( chromeos-base/sirenia ) sirenia? ( chromeos-base/sirenia ) spaced? ( chromeos-base/spaced ) usb_bouncer? ( chromeos-base/usb_bouncer ) chromeos-base/update_engine vpn? ( chromeos-base/vpn-manager ) cras? ( media-sound/adhd media-sound/cras_tests ) trim_supported? ( chromeos-base/chromeos-trim ) network_time? ( net-misc/tlsdate ) iwlwifi_rescan? ( net-wireless/iwlwifi_rescan ) nfc? ( net-wireless/neard chromeos-base/neard-configs ) readahead? ( sys-apps/ureadahead ) pam? ( sys-auth/pam_pwdfile ) watchdog? ( sys-apps/daisydog ) mtd? ( sys-fs/mtd-utils ) cups? ( virtual/chromium-os-printing ) touchview? ( !iioservice? ( chromeos-base/chromeos-accelerometer-init ) ) system_locales? ( chromeos-base/system-locales ) system_proxy? ( chromeos-base/system-proxy ) eclog? ( chromeos-base/timberslide ) chromeos-base/chromeos-machine-id-regen systemd? ( sys-apps/systemd ) !systemd? ( sys-apps/systemd-tmpfiles ) usbguard? ( sys-apps/usbguard ) kvm_host? ( chromeos-base/crosdns chromeos-base/crostini_client chromeos-base/vm_host_tools chromeos-base/termina-dlc ) sys-kernel/linux-firmware virtual/chromeos-bsp virtual/chromeos-firewall !factory_branch? ( virtual/chromeos-firmware ) virtual/chromeos-interface virtual/chromeos-regions virtual/implicit-system virtual/linux-sources sys-apps/kmod[tools] virtual/service-manager cr50_onboard? ( chromeos-base/chromeos-cr50 chromeos-base/u2fd ) ti50_onboard? ( chromeos-base/chromeos-ti50 chromeos-base/u2fd ) tpm? ( chromeos-base/u2fd ) ime? ( app-i18n/chinese-input app-i18n/keyboard-input app-i18n/japanese-input app-i18n/hangul-input ) fuzzer? ( virtual/target-fuzzers ) !dev-python/socksipy arc-camera1? ( chromeos-base/cros-camera ) arc-camera3? ( chromeos-base/cros-camera ) fwupd? ( sys-apps/fwupd sys-firmware/fwupd-peripherals sys-firmware/fwupd-storage mmc? ( sys-firmware/mmc-firmware ) gl3590? ( sys-firmware/gl3590-firmware ) ) smbprovider? ( chromeos-base/smbfs chromeos-base/smbprovider ) typecd? ( chromeos-base/typecd ) pciguard? ( chromeos-base/pciguard ) minios? ( chromeos-base/minios ) secanomalyd? ( chromeos-base/secanomalyd ) lacros_rootfs? ( chromeos-base/chromeos-lacros ) dns-proxy? ( chromeos-base/dns-proxy ) featured? ( chromeos-base/featured ) fusebox? ( chromeos-base/fusebox ) chrome_internal? ( assistant-dlc? ( chromeos-base/assistant-dlc ) ) mojo_service_manager? ( chromeos-base/mojo_service_manager ) lvm_stateful_partition? ( chromeos-base/lvmd ) !cros_embedded? ( x86? ( dptf? ( virtual/dptf ) intel_lpe? ( virtual/lpe-support ) ) amd64? ( dptf? ( virtual/dptf ) intel_lpe? ( virtual/lpe-support ) ) app-arch/tar app-editors/vim app-shells/bash chromeos-base/common-assets chromeos-base/chromeos-imageburner chromeos-base/crosh chromeos-base/crosh-extension chromeos-base/inputcontrol chromeos-base/mtpd chromeos-base/permission_broker chromeos-base/userfeedback chromeos-base/vboot_reference chromeos-base/vpd net-wireless/crda sys-apps/dbus sys-apps/flashrom sys-apps/iproute2 sys-apps/rootdev !systemd? ( sys-apps/upstart ) sys-fs/e2fsprogs virtual/assets virtual/cheets virtual/udev sys-libs/libxcrypt )
 REQUIRED_USE=cellular? ( shill ) modemfwd? ( cellular )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=dd9685d430aaca50aec3e86b1acc1cc2
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f91d006a0c308b9dd29d7b17c3e36b1f
diff --git a/metadata/md5-cache/virtual/target-chromium-os-dev-1-r80 b/metadata/md5-cache/virtual/target-chromium-os-dev-1-r80
deleted file mode 100644
index 8279816..0000000
--- a/metadata/md5-cache/virtual/target-chromium-os-dev-1-r80
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info setup unpack
-DESCRIPTION=List of packages that are needed inside the Chromium OS dev image
-EAPI=7
-HOMEPAGE=https://dev.chromium.org/
-IUSE=chromeless_tty cras diag hps lldbserver nvme opengl pam +power_management +profile python_targets_python2_7 +shill tpm tpm2 usb vaapi video_cards_amdgpu video_cards_intel video_cards_mediatek video_cards_msm vulkan cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
-KEYWORDS=*
-LICENSE=metapackage
-PROPERTIES=live
-RDEPEND=x86? ( app-benchmarks/i7z power_management? ( dev-util/turbostat ) sys-apps/dmidecode sys-apps/pciutils sys-boot/syslinux vaapi? ( chromeos-base/libva-fake-driver media-gfx/vadumpcaps media-video/libva-utils ) ) amd64? ( app-benchmarks/i7z power_management? ( dev-util/turbostat ) sys-apps/dmidecode sys-apps/pciutils sys-boot/syslinux vaapi? ( chromeos-base/libva-fake-driver media-gfx/vadumpcaps media-video/libva-utils ) ) pam? ( app-admin/sudo ) app-admin/sysstat app-arch/bzip2 app-arch/gzip app-arch/tar app-arch/unzip app-arch/xz-utils app-arch/zip profile? ( chromeos-base/quipper app-benchmarks/libc-bench net-analyzer/netperf dev-util/perf ) app-benchmarks/stress-ng app-crypt/nss tpm? ( app-crypt/tpm-tools ) app-editors/nano app-editors/qemacs app-editors/vim app-misc/edid-decode app-misc/evtest app-misc/pax-utils app-misc/screen app-portage/portage-utils app-shells/bash app-text/tree cras? ( chromeos-base/audiotest media-sound/sox ) chromeos-base/avtest_label_detect chromeos-base/chromeos-dev-root chromeos-base/cryptohome-dev-utils tpm2? ( chromeos-base/g2f_tools ) !chromeless_tty? ( chromeos-base/graphics-utils-go ) hps? ( chromeos-base/hps-firmware-tools chromeos-base/hps-tool ) chromeos-base/policy_utils chromeos-base/protofiles !chromeless_tty? ( chromeos-base/screen-capture-utils www-apps/novnc ) shill? ( chromeos-base/shill-test-scripts ) python_targets_python2_7? ( chromeos-base/touch_firmware_test ) chromeos-base/usi-test dev-vcs/git net-analyzer/tcpdump net-analyzer/traceroute net-dialup/minicom net-dns/bind-tools net-misc/dhcp diag? ( net-misc/diag ) net-misc/iperf:2 net-misc/iputils net-misc/openssh net-misc/rsync net-wireless/iw net-wireless/wireless-tools python_targets_python2_7? ( dev-lang/python:2.7 ) dev-lang/python:3.6 dev-libs/libgpiod dev-python/protobuf-python dev-python/cherrypy dev-python/dbus-python dev-python/hid-tools python_targets_python2_7? ( dev-util/hdctools ) lldbserver? ( dev-util/lldb-server ) dev-util/mem dev-util/strace media-libs/libyuv-test media-libs/openh264 vulkan? ( dev-util/vulkan-tools media-libs/vulkan-layers ) media-tv/v4l-utils media-video/yavta net-dialup/lrzsz net-fs/sshfs net-misc/curl net-misc/wget sys-apps/coreboot-utils sys-apps/coreutils sys-apps/diffutils sys-apps/file sys-apps/findutils sys-apps/flashrom-tester sys-apps/gawk sys-apps/i2c-tools sys-apps/iotools sys-apps/kbd sys-apps/less sys-apps/mmc-utils nvme? ( sys-apps/nvme-cli ) sys-apps/portage sys-apps/smartmontools usb? ( sys-apps/usbutils ) sys-apps/which sys-block/fio sys-devel/gdb sys-fs/cryptsetup sys-fs/fuse sys-fs/lvm2 sys-fs/mtd-utils power_management? ( sys-power/powertop ) sys-process/procps sys-process/psmisc sys-process/time virtual/autotest-capability virtual/chromeos-bsp-dev video_cards_amdgpu? ( x11-apps/igt-gpu-tools ) video_cards_intel? ( x11-apps/igt-gpu-tools ) video_cards_mediatek? ( x11-apps/igt-gpu-tools ) video_cards_msm? ( x11-apps/igt-gpu-tools )
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=ddf662872e707a85934b3edb614fb47a
diff --git a/metadata/md5-cache/virtual/target-chromium-os-dev-1-r89 b/metadata/md5-cache/virtual/target-chromium-os-dev-1-r89
new file mode 100644
index 0000000..a4abe67
--- /dev/null
+++ b/metadata/md5-cache/virtual/target-chromium-os-dev-1-r89
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info setup unpack
+DESCRIPTION=List of packages that are needed inside the Chromium OS dev image
+EAPI=7
+HOMEPAGE=https://dev.chromium.org/
+IUSE=asan chromeless_tty cras diag hps lldbserver nvme opengl pam +power_management +profile python_targets_python3_6 python_targets_python3_8 +shill tpm tpm2 ubsan ufs usb vaapi video_cards_amdgpu video_cards_intel video_cards_mediatek video_cards_msm vulkan cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
+KEYWORDS=*
+LICENSE=metapackage
+PROPERTIES=live
+RDEPEND=x86? ( app-benchmarks/i7z power_management? ( dev-util/turbostat ) sys-apps/dmidecode sys-apps/pciutils sys-boot/syslinux vaapi? ( chromeos-base/libva-fake-driver media-gfx/vadumpcaps media-video/libva-utils ) ) amd64? ( app-benchmarks/i7z power_management? ( dev-util/turbostat ) sys-apps/dmidecode sys-apps/pciutils sys-boot/syslinux vaapi? ( chromeos-base/libva-fake-driver media-gfx/vadumpcaps media-video/libva-utils ) ) pam? ( app-admin/sudo ) app-admin/sysstat app-arch/bzip2 app-arch/gzip app-arch/tar app-arch/unzip app-arch/xz-utils app-arch/zip profile? ( chromeos-base/quipper app-benchmarks/libc-bench net-analyzer/netperf dev-util/perf ) app-benchmarks/stress-ng app-crypt/nss tpm? ( app-crypt/tpm-tools ) app-editors/nano app-editors/qemacs app-editors/vim app-misc/edid-decode app-misc/evtest app-misc/pax-utils app-misc/screen app-portage/portage-utils app-shells/bash app-text/tree cras? ( chromeos-base/audiotest media-sound/sox ) chromeos-base/avtest_label_detect chromeos-base/chromeos-dev-root chromeos-base/cryptohome-dev-utils tpm2? ( chromeos-base/g2f_tools ) !chromeless_tty? ( chromeos-base/graphics-utils-go ) hps? ( !asan? ( !ubsan? ( chromeos-base/hps-firmware-tools ) ) chromeos-base/hps-tool ) chromeos-base/policy_utils chromeos-base/protofiles !chromeless_tty? ( chromeos-base/screen-capture-utils www-apps/novnc ) shill? ( chromeos-base/shill-test-scripts ) chromeos-base/touch_firmware_test chromeos-base/usi-test dev-vcs/git net-analyzer/tcpdump net-analyzer/traceroute net-dialup/minicom net-dns/bind-tools net-misc/dhcp diag? ( net-misc/diag ) net-misc/iperf:2 net-misc/iputils net-misc/openssh net-misc/rsync net-wireless/iw net-wireless/wireless-tools python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_8? ( dev-lang/python:3.8 ) dev-libs/libgpiod dev-python/protobuf-python dev-python/cherrypy dev-python/dbus-python dev-python/pydbus dev-python/hid-tools dev-util/hdctools lldbserver? ( dev-util/lldb-server ) dev-util/mem dev-util/strace media-libs/libyuv-test media-libs/openh264 vulkan? ( dev-util/vulkan-tools media-libs/vulkan-layers ) media-tv/v4l-utils media-video/yavta net-dialup/lrzsz net-fs/sshfs net-misc/curl net-misc/wget sys-apps/coreboot-utils sys-apps/coreutils sys-apps/diffutils sys-apps/file sys-apps/findutils sys-apps/flashrom-tester sys-apps/gawk sys-apps/i2c-tools sys-apps/iotools sys-apps/kbd sys-apps/less sys-apps/mmc-utils nvme? ( sys-apps/nvme-cli ) sys-apps/portage sys-apps/smartmontools ufs? ( sys-apps/sg3_utils sys-apps/ufs-utils ) usb? ( sys-apps/usbutils ) sys-apps/which sys-block/fio sys-devel/gdb sys-fs/cryptsetup sys-fs/fuse sys-fs/lvm2 sys-fs/mtd-utils power_management? ( sys-power/powertop ) sys-process/procps sys-process/psmisc sys-process/time virtual/autotest-capability virtual/chromeos-bsp-dev video_cards_amdgpu? ( x11-apps/igt-gpu-tools ) video_cards_intel? ( x11-apps/igt-gpu-tools ) video_cards_mediatek? ( x11-apps/igt-gpu-tools ) video_cards_msm? ( x11-apps/igt-gpu-tools )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=486c5f791aad246878ab950e834750ed
diff --git a/metadata/md5-cache/virtual/target-chromium-os-dev-9999 b/metadata/md5-cache/virtual/target-chromium-os-dev-9999
index 6934964..bd5a138 100644
--- a/metadata/md5-cache/virtual/target-chromium-os-dev-9999
+++ b/metadata/md5-cache/virtual/target-chromium-os-dev-9999
@@ -3,11 +3,11 @@
 DESCRIPTION=List of packages that are needed inside the Chromium OS dev image
 EAPI=7
 HOMEPAGE=https://dev.chromium.org/
-IUSE=chromeless_tty cras diag hps lldbserver nvme opengl pam +power_management +profile python_targets_python2_7 +shill tpm tpm2 usb vaapi video_cards_amdgpu video_cards_intel video_cards_mediatek video_cards_msm vulkan cros_host cros_workon_tree_
+IUSE=asan chromeless_tty cras diag hps lldbserver nvme opengl pam +power_management +profile python_targets_python3_6 python_targets_python3_8 +shill tpm tpm2 ubsan ufs usb vaapi video_cards_amdgpu video_cards_intel video_cards_mediatek video_cards_msm vulkan cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=metapackage
 PROPERTIES=live
-RDEPEND=x86? ( app-benchmarks/i7z power_management? ( dev-util/turbostat ) sys-apps/dmidecode sys-apps/pciutils sys-boot/syslinux vaapi? ( chromeos-base/libva-fake-driver media-gfx/vadumpcaps media-video/libva-utils ) ) amd64? ( app-benchmarks/i7z power_management? ( dev-util/turbostat ) sys-apps/dmidecode sys-apps/pciutils sys-boot/syslinux vaapi? ( chromeos-base/libva-fake-driver media-gfx/vadumpcaps media-video/libva-utils ) ) pam? ( app-admin/sudo ) app-admin/sysstat app-arch/bzip2 app-arch/gzip app-arch/tar app-arch/unzip app-arch/xz-utils app-arch/zip profile? ( chromeos-base/quipper app-benchmarks/libc-bench net-analyzer/netperf dev-util/perf ) app-benchmarks/stress-ng app-crypt/nss tpm? ( app-crypt/tpm-tools ) app-editors/nano app-editors/qemacs app-editors/vim app-misc/edid-decode app-misc/evtest app-misc/pax-utils app-misc/screen app-portage/portage-utils app-shells/bash app-text/tree cras? ( chromeos-base/audiotest media-sound/sox ) chromeos-base/avtest_label_detect chromeos-base/chromeos-dev-root chromeos-base/cryptohome-dev-utils tpm2? ( chromeos-base/g2f_tools ) !chromeless_tty? ( chromeos-base/graphics-utils-go ) hps? ( chromeos-base/hps-firmware-tools chromeos-base/hps-tool ) chromeos-base/policy_utils chromeos-base/protofiles !chromeless_tty? ( chromeos-base/screen-capture-utils www-apps/novnc ) shill? ( chromeos-base/shill-test-scripts ) python_targets_python2_7? ( chromeos-base/touch_firmware_test ) chromeos-base/usi-test dev-vcs/git net-analyzer/tcpdump net-analyzer/traceroute net-dialup/minicom net-dns/bind-tools net-misc/dhcp diag? ( net-misc/diag ) net-misc/iperf:2 net-misc/iputils net-misc/openssh net-misc/rsync net-wireless/iw net-wireless/wireless-tools python_targets_python2_7? ( dev-lang/python:2.7 ) dev-lang/python:3.6 dev-libs/libgpiod dev-python/protobuf-python dev-python/cherrypy dev-python/dbus-python dev-python/hid-tools python_targets_python2_7? ( dev-util/hdctools ) lldbserver? ( dev-util/lldb-server ) dev-util/mem dev-util/strace media-libs/libyuv-test media-libs/openh264 vulkan? ( dev-util/vulkan-tools media-libs/vulkan-layers ) media-tv/v4l-utils media-video/yavta net-dialup/lrzsz net-fs/sshfs net-misc/curl net-misc/wget sys-apps/coreboot-utils sys-apps/coreutils sys-apps/diffutils sys-apps/file sys-apps/findutils sys-apps/flashrom-tester sys-apps/gawk sys-apps/i2c-tools sys-apps/iotools sys-apps/kbd sys-apps/less sys-apps/mmc-utils nvme? ( sys-apps/nvme-cli ) sys-apps/portage sys-apps/smartmontools usb? ( sys-apps/usbutils ) sys-apps/which sys-block/fio sys-devel/gdb sys-fs/cryptsetup sys-fs/fuse sys-fs/lvm2 sys-fs/mtd-utils power_management? ( sys-power/powertop ) sys-process/procps sys-process/psmisc sys-process/time virtual/autotest-capability virtual/chromeos-bsp-dev video_cards_amdgpu? ( x11-apps/igt-gpu-tools ) video_cards_intel? ( x11-apps/igt-gpu-tools ) video_cards_mediatek? ( x11-apps/igt-gpu-tools ) video_cards_msm? ( x11-apps/igt-gpu-tools )
+RDEPEND=x86? ( app-benchmarks/i7z power_management? ( dev-util/turbostat ) sys-apps/dmidecode sys-apps/pciutils sys-boot/syslinux vaapi? ( chromeos-base/libva-fake-driver media-gfx/vadumpcaps media-video/libva-utils ) ) amd64? ( app-benchmarks/i7z power_management? ( dev-util/turbostat ) sys-apps/dmidecode sys-apps/pciutils sys-boot/syslinux vaapi? ( chromeos-base/libva-fake-driver media-gfx/vadumpcaps media-video/libva-utils ) ) pam? ( app-admin/sudo ) app-admin/sysstat app-arch/bzip2 app-arch/gzip app-arch/tar app-arch/unzip app-arch/xz-utils app-arch/zip profile? ( chromeos-base/quipper app-benchmarks/libc-bench net-analyzer/netperf dev-util/perf ) app-benchmarks/stress-ng app-crypt/nss tpm? ( app-crypt/tpm-tools ) app-editors/nano app-editors/qemacs app-editors/vim app-misc/edid-decode app-misc/evtest app-misc/pax-utils app-misc/screen app-portage/portage-utils app-shells/bash app-text/tree cras? ( chromeos-base/audiotest media-sound/sox ) chromeos-base/avtest_label_detect chromeos-base/chromeos-dev-root chromeos-base/cryptohome-dev-utils tpm2? ( chromeos-base/g2f_tools ) !chromeless_tty? ( chromeos-base/graphics-utils-go ) hps? ( !asan? ( !ubsan? ( chromeos-base/hps-firmware-tools ) ) chromeos-base/hps-tool ) chromeos-base/policy_utils chromeos-base/protofiles !chromeless_tty? ( chromeos-base/screen-capture-utils www-apps/novnc ) shill? ( chromeos-base/shill-test-scripts ) chromeos-base/touch_firmware_test chromeos-base/usi-test dev-vcs/git net-analyzer/tcpdump net-analyzer/traceroute net-dialup/minicom net-dns/bind-tools net-misc/dhcp diag? ( net-misc/diag ) net-misc/iperf:2 net-misc/iputils net-misc/openssh net-misc/rsync net-wireless/iw net-wireless/wireless-tools python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_8? ( dev-lang/python:3.8 ) dev-libs/libgpiod dev-python/protobuf-python dev-python/cherrypy dev-python/dbus-python dev-python/pydbus dev-python/hid-tools dev-util/hdctools lldbserver? ( dev-util/lldb-server ) dev-util/mem dev-util/strace media-libs/libyuv-test media-libs/openh264 vulkan? ( dev-util/vulkan-tools media-libs/vulkan-layers ) media-tv/v4l-utils media-video/yavta net-dialup/lrzsz net-fs/sshfs net-misc/curl net-misc/wget sys-apps/coreboot-utils sys-apps/coreutils sys-apps/diffutils sys-apps/file sys-apps/findutils sys-apps/flashrom-tester sys-apps/gawk sys-apps/i2c-tools sys-apps/iotools sys-apps/kbd sys-apps/less sys-apps/mmc-utils nvme? ( sys-apps/nvme-cli ) sys-apps/portage sys-apps/smartmontools ufs? ( sys-apps/sg3_utils sys-apps/ufs-utils ) usb? ( sys-apps/usbutils ) sys-apps/which sys-block/fio sys-devel/gdb sys-fs/cryptsetup sys-fs/fuse sys-fs/lvm2 sys-fs/mtd-utils power_management? ( sys-power/powertop ) sys-process/procps sys-process/psmisc sys-process/time virtual/autotest-capability virtual/chromeos-bsp-dev video_cards_amdgpu? ( x11-apps/igt-gpu-tools ) video_cards_intel? ( x11-apps/igt-gpu-tools ) video_cards_mediatek? ( x11-apps/igt-gpu-tools ) video_cards_msm? ( x11-apps/igt-gpu-tools )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=26c4c8e2f42891bcf711a92c89b9511a
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=3534d8f22f520de5a35a5d06ec720e99
diff --git a/metadata/md5-cache/virtual/target-chromium-os-initramfs-1-r3 b/metadata/md5-cache/virtual/target-chromium-os-initramfs-1-r3
index 1923b46..d962fff 100644
--- a/metadata/md5-cache/virtual/target-chromium-os-initramfs-1-r3
+++ b/metadata/md5-cache/virtual/target-chromium-os-initramfs-1-r3
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=minios? ( chromeos-base/minios )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=260655408bbaf6e1d92e7551c621b5ae
diff --git a/metadata/md5-cache/virtual/target-chromium-os-initramfs-9999 b/metadata/md5-cache/virtual/target-chromium-os-initramfs-9999
index 3f6991f..82126f2 100644
--- a/metadata/md5-cache/virtual/target-chromium-os-initramfs-9999
+++ b/metadata/md5-cache/virtual/target-chromium-os-initramfs-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=minios? ( chromeos-base/minios )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=a0da675226a47815d4bcdd10de4592e0
diff --git a/metadata/md5-cache/virtual/target-chromium-os-sdk-1-r219 b/metadata/md5-cache/virtual/target-chromium-os-sdk-1-r219
deleted file mode 100644
index fb88096..0000000
--- a/metadata/md5-cache/virtual/target-chromium-os-sdk-1-r219
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info setup unpack
-DESCRIPTION=List of packages that are needed inside the Chromium OS SDK
-EAPI=7
-HOMEPAGE=https://dev.chromium.org/
-IUSE=cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
-KEYWORDS=*
-LICENSE=metapackage
-PROPERTIES=live
-RDEPEND=!chromeos-base/hard-host-depends !virtual/hard-host-depends-bsp app-arch/bzip2 app-arch/cpio app-arch/gcab app-arch/gzip app-arch/p7zip app-arch/tar app-shells/bash net-misc/iputils net-misc/rsync sys-apps/baselayout sys-apps/coreutils sys-apps/diffutils sys-apps/dtc sys-apps/file sys-apps/findutils sys-apps/gawk sys-apps/grep sys-apps/sed sys-apps/shadow sys-apps/texinfo sys-apps/util-linux sys-apps/which sys-devel/autoconf sys-devel/autoconf-archive sys-devel/automake:1.10 sys-devel/automake:1.11 sys-devel/automake:1.15 sys-devel/binutils sys-devel/bison sys-devel/flex sys-devel/gcc sys-devel/gnuconfig sys-devel/grit-i18n sys-devel/libtool sys-devel/m4 sys-devel/make sys-devel/patch sys-fs/e2fsprogs sys-fs/f2fs-tools sys-libs/ncurses sys-libs/readline sys-libs/zlib sys-process/procps sys-process/psmisc virtual/editor virtual/libc virtual/man virtual/os-headers virtual/package-manager virtual/pager app-arch/lbzip2 app-arch/lz4 app-arch/lzop app-arch/pigz app-arch/pixz app-admin/sudo app-crypt/efitools app-crypt/sbsigntools chromeos-base/zephyr-build-tools dev-embedded/binman dev-embedded/cbootimage dev-embedded/tegrarcm dev-embedded/u-boot-tools dev-util/ccache media-gfx/pngcrush >=sys-apps/dtc-1.3.0-r5 sys-boot/bootstub sys-boot/grub sys-boot/syslinux sys-devel/crossdev sys-fs/dosfstools sys-fs/squashfs-tools sys-fs/mtd-utils app-misc/jq sys-devel/aapt sys-devel/arc-toolchain-master sys-devel/arc-toolchain-p sys-devel/arc-toolchain-r sys-devel/dex2oatds app-crypt/gnupg app-admin/eselect-opengl app-admin/eselect-mesa app-arch/cabextract app-arch/makeself >=app-arch/pbzip2-1.1.1-r1 app-arch/rpm2targz app-arch/sharutils app-arch/unzip app-crypt/nss app-doc/xmltoman app-emulation/qemu app-emulation/qemu-binfmt-wrapper !app-emulation/qemu-kvm !app-emulation/qemu-user app-text/asciidoc app-text/docbook-xml-dtd:4.2 app-text/docbook-xml-dtd:4.5 app-text/docbook-xsl-stylesheets app-text/texi2html app-text/xmlto chromeos-base/google-breakpad chromeos-base/chromeos-base chromeos-base/chromeos-common-script >=chromeos-base/chromeos-config-host-0.0.2-r491 chromeos-base/chromite-sdk chromeos-base/cros-devutils[cros_host] chromeos-base/cros-testutils chromeos-base/ec-devutils chromeos-base/minijail chromeos-base/mojo-tools dev-db/m17n-contrib dev-db/m17n-db dev-go/protobuf dev-lang/closure-compiler-bin dev-lang/nasm dev-lang/python:2.7 dev-lang/python:3.6 dev-lang/swig dev-lang/tcl dev-lang/yasm dev-libs/dbus-glib dev-libs/flatbuffers >=dev-libs/glib-2.26.1 net-libs/grpc dev-libs/libgcrypt dev-libs/libxslt dev-libs/libyaml dev-libs/m17n-lib dev-libs/protobuf dev-libs/protobuf-c dev-libs/wayland dev-python/cffi dev-python/cherrypy dev-python/dbus-python dev-python/dpkt dev-python/ecdsa dev-python/flatbuffers dev-python/future dev-python/intelhex dev-python/kconfiglib dev-python/m2crypto dev-python/mako dev-python/netifaces dev-python/pexpect dev-python/pillow dev-python/psutil dev-python/py dev-python/pycairo dev-python/pycparser dev-python/pygobject dev-python/pyopenssl dev-python/pytest dev-python/python-evdev dev-python/python-magic dev-python/pyudev dev-python/pyusb dev-python/setproctitle !dev-python/socksipy dev-python/tempita dev-python/ws4py dev-util/cmake dev-util/cmocka dev-util/dwarves dev-util/gob dev-util/gdbus-codegen dev-util/gperf dev-util/gtk-doc dev-util/hdctools >=dev-util/gtk-doc-am-1.13 >=dev-util/intltool-0.30 dev-util/scons dev-util/test-services dev-util/vulkan-headers >=dev-vcs/git-1.7.2 >=media-libs/freetype-2.2.1 >=media-libs/lcms-2.6:2 net-fs/sshfs net-libs/rpcsvc-proto net-misc/gsutil sys-apps/usbutils !sys-apps/nih-dbus-tool sys-devel/autofdo sys-devel/bc >=sys-libs/glibc-2.27 sys-libs/libcxxabi sys-libs/libcxx sys-libs/llvm-libunwind virtual/udev sys-libs/libnih sys-power/iasl virtual/modutils x11-apps/mkfontscale x11-apps/xcursorgen x11-apps/xkbcomp >=x11-misc/util-macros-1.2 dev-util/bazel:0 dev-util/bazel:5 chromeos-base/chromeos-fonts gnome-base/librsvg dev-libs/atk dev-libs/glib media-libs/fontconfig media-libs/freetype x11-libs/cairo x11-libs/libX11 x11-libs/libXi x11-libs/libXrandr x11-libs/libXtst x11-libs/pango sys-apps/dbus sys-process/lsof app-arch/zip app-editors/nano app-editors/qemacs app-editors/vim app-portage/eclass-manpages app-portage/gentoolkit app-portage/portage-utils app-shells/bash-completion x86? ( dev-go/delve ) amd64? ( dev-go/delve ) arm64? ( dev-go/delve ) dev-go/go-tools dev-go/golint dev-lang/go dev-python/ipython dev-util/codespell dev-util/patchutils dev-util/perf dev-util/shfmt net-analyzer/netperf sys-apps/less sys-apps/man-pages sys-apps/pv sys-devel/smatch dev-python/google-cloud-logging dev-python/mysqlclient dev-python/pyparsing dev-python/virtualenv x11-misc/xkeyboard-config dev-util/google-web-toolkit dev-python/btsocket dev-python/selenium sys-apps/iproute2 sys-apps/net-tools media-video/ffmpeg >=chromeos-base/vboot_reference-1.0-r174 chromeos-base/verity !dev-python/ahocorasick dev-python/pyahocorasick sys-fs/libfat chromeos-base/update_engine sys-fs/e2tools dev-cpp/gflags dev-go/mock dev-python/mock dev-python/unittest2 dev-python/httplib2 dev-python/pyshark dev-python/python-dateutil dev-python/six dev-python/pylint net-misc/openssh net-misc/socat net-misc/wget dev-python/pyyaml dev-util/lcov chromeos-base/chromeos-dbus-bindings dev-util/meson dev-util/ninja brillo-base/libsparse dev-python/ply dev-util/gn !net-misc/dhcpcd dev-libs/closure-library dev-libs/closure_linter dev-python/autopep8 dev-python/django dev-python/jsonrpclib dev-python/jsonschema dev-python/python-gnupg dev-python/requests dev-python/sphinx dev-python/twisted !dev-python/twisted-core !dev-python/twisted-web www-servers/nginx chromeos-base/tast-cmd chromeos-base/tast-remote-tests-cros dev-util/ragel sys-apps/coreboot-utils chromeos-base/ec-utils dev-libs/libprotobuf-mutator dev-libs/openssl dev-util/unifdef sys-firmware/fw-engprod-tools media-sound/alsa-utils dev-util/boost-build chromeos-base/sepolicy-analyze sys-apps/checkpolicy sys-apps/restorecon sys-apps/secilc sys-apps/selinux-python chromeos-base/android-relocation-packer chromeos-base/update_payload net-libs/nodejs dev-python/clang-python dev-python/grpcio-tools net-libs/grpc-web dev-python/grpcio dev-util/strace app-misc/fdupes sys-power/cpupower sys-apps/baselayout-java chromeos-base/android-sdk sys-devel/zipalign dev-python/jinja sys-devel/gcc-bin dev-libs/wayland-protocols sci-electronics/litescope sci-electronics/liteeth sci-electronics/litespi sci-electronics/litedram sci-electronics/nmigen sci-electronics/pythondata-misc-tapcfg sci-electronics/verilator
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=1a20b7ce53f1fd6d89ae862c881c5b3b
diff --git a/metadata/md5-cache/virtual/target-chromium-os-sdk-1-r254 b/metadata/md5-cache/virtual/target-chromium-os-sdk-1-r254
new file mode 100644
index 0000000..3655e05
--- /dev/null
+++ b/metadata/md5-cache/virtual/target-chromium-os-sdk-1-r254
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info setup unpack
+DESCRIPTION=List of packages that are needed inside the Chromium OS SDK
+EAPI=7
+HOMEPAGE=https://dev.chromium.org/
+IUSE=python_targets_python3_6 python_targets_python3_8 cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
+KEYWORDS=*
+LICENSE=metapackage
+PROPERTIES=live
+RDEPEND=!chromeos-base/hard-host-depends !virtual/hard-host-depends-bsp app-arch/bzip2 app-arch/cpio app-arch/gcab app-arch/gzip app-arch/p7zip app-arch/tar app-shells/bash dev-lang/rust-bootstrap dev-lang/rust-host net-misc/iputils net-misc/rsync sys-apps/baselayout sys-apps/coreutils sys-apps/diffutils sys-apps/dtc sys-apps/file sys-apps/findutils sys-apps/gawk sys-apps/grep sys-apps/ripgrep sys-apps/sed sys-apps/shadow sys-apps/texinfo sys-apps/util-linux sys-apps/which sys-devel/autoconf sys-devel/autoconf-archive sys-devel/automake:1.11 sys-devel/automake:1.15 sys-devel/binutils sys-devel/bison sys-devel/flex sys-devel/gcc sys-devel/gdb sys-devel/gnuconfig sys-devel/grit-i18n sys-devel/libtool sys-devel/m4 sys-devel/make sys-devel/patch sys-fs/e2fsprogs sys-fs/f2fs-tools sys-libs/ncurses sys-libs/readline sys-libs/zlib sys-process/procps sys-process/psmisc sys-process/time virtual/editor virtual/libc virtual/man virtual/os-headers virtual/package-manager virtual/pager virtual/rust app-arch/lbzip2 app-arch/lz4 app-arch/lzop app-arch/pigz app-arch/pixz app-admin/sudo app-crypt/efitools app-crypt/sbsigntools chromeos-base/zephyr-build-tools dev-embedded/binman dev-embedded/cbootimage dev-embedded/tegrarcm dev-embedded/u-boot-tools dev-util/ccache media-gfx/pngcrush >=sys-apps/dtc-1.3.0-r5 sys-boot/bootstub sys-boot/grub sys-boot/syslinux sys-devel/crossdev sys-fs/dosfstools sys-fs/squashfs-tools sys-fs/mtd-utils app-misc/jq chromeos-base/mk-payload sys-devel/aapt sys-devel/arc-toolchain-master sys-devel/arc-toolchain-p sys-devel/arc-toolchain-r sys-devel/dex2oatds app-crypt/gnupg app-admin/eselect-opengl app-admin/eselect-mesa app-arch/cabextract app-arch/makeself app-arch/rpm2targz app-arch/sharutils app-arch/unzip app-crypt/nss app-doc/xmltoman app-emulation/qemu app-emulation/qemu-binfmt-wrapper !app-emulation/qemu-kvm !app-emulation/qemu-user app-text/asciidoc app-text/docbook-xml-dtd:4.2 app-text/docbook-xml-dtd:4.5 app-text/docbook-xsl-stylesheets app-text/texi2html app-text/xmlto chromeos-base/google-breakpad chromeos-base/chromeos-base chromeos-base/chromeos-common-script >=chromeos-base/chromeos-config-host-0.0.2-r491 chromeos-base/chromite-sdk chromeos-base/cros-devutils[cros_host] chromeos-base/cros-testutils chromeos-base/ec-devutils chromeos-base/minijail chromeos-base/mojo-tools dev-db/m17n-db dev-go/protobuf dev-go/protobuf-legacy-api dev-lang/closure-compiler-bin dev-lang/nasm python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_8? ( dev-lang/python:3.8 ) dev-lang/swig dev-lang/tcl dev-lang/yasm dev-libs/dbus-glib dev-libs/flatbuffers >=dev-libs/glib-2.26.1 net-libs/grpc dev-libs/libgcrypt dev-libs/libxslt dev-libs/libyaml dev-libs/m17n-lib dev-libs/protobuf dev-libs/protobuf-c dev-libs/wayland dev-python/cffi dev-python/cherrypy dev-python/dbus-python dev-python/dpkt dev-python/ecdsa dev-python/flatbuffers dev-python/future dev-python/intelhex dev-python/kconfiglib dev-python/m2crypto dev-python/mako dev-python/netifaces dev-python/pexpect dev-python/pillow dev-python/psutil dev-python/py dev-python/pycairo dev-python/pycparser dev-python/pydbus dev-python/pygobject dev-python/pyopenssl dev-python/pytest dev-python/python-evdev dev-python/python-magic dev-python/pyudev dev-python/pyusb dev-python/setproctitle !dev-python/socksipy dev-python/tempita dev-python/ws4py dev-util/cmake dev-util/cmocka dev-util/dwarves dev-util/gob dev-util/gdbus-codegen dev-util/gperf dev-util/gtk-doc dev-util/hdctools >=dev-util/gtk-doc-am-1.13 >=dev-util/intltool-0.30 dev-util/scons dev-util/test-services dev-util/vulkan-headers >=dev-vcs/git-1.7.2 >=media-libs/freetype-2.2.1 >=media-libs/lcms-2.6:2 net-fs/sshfs net-libs/rpcsvc-proto net-misc/gsutil sys-apps/usbutils !sys-apps/nih-dbus-tool sys-devel/autofdo sys-devel/bc sys-devel/llvm >=sys-libs/glibc-2.27 sys-libs/libcxxabi sys-libs/libcxx sys-libs/llvm-libunwind virtual/udev sys-libs/libnih sys-power/iasl sys-apps/kmod[tools] x11-apps/mkfontscale x11-apps/xkbcomp >=x11-misc/util-macros-1.2 sys-libs/libxcrypt dev-util/bazel:0 dev-util/bazel:5 chromeos-base/chromeos-fonts gnome-base/librsvg dev-libs/atk dev-libs/glib media-libs/fontconfig media-libs/freetype x11-libs/cairo x11-libs/libX11 x11-libs/libXi x11-libs/libXrandr x11-libs/libXtst x11-libs/pango sys-apps/dbus sys-process/lsof app-arch/zip app-editors/nano app-editors/qemacs app-editors/vim app-portage/eclass-manpages app-portage/gentoolkit app-portage/portage-utils app-portage/repoman app-shells/bash-completion x86? ( dev-go/delve ) amd64? ( dev-go/delve ) arm64? ( dev-go/delve ) dev-go/go-tools dev-go/golint dev-lang/go dev-python/ipython dev-util/codespell dev-util/patchutils dev-util/perf dev-util/shfmt net-analyzer/netperf sys-apps/less sys-apps/man-pages sys-apps/pv sys-devel/smatch sys-devel/sparse dev-python/google-cloud-logging dev-python/mysqlclient dev-python/pyparsing dev-python/virtualenv x11-misc/xkeyboard-config dev-util/google-web-toolkit dev-python/btsocket dev-python/selenium sys-apps/iproute2 sys-apps/net-tools media-video/ffmpeg >=chromeos-base/vboot_reference-1.0-r174 chromeos-base/verity !dev-python/ahocorasick dev-python/pyahocorasick sys-fs/libfat chromeos-base/update_engine-client chromeos-base/update_engine sys-fs/e2tools dev-cpp/gflags dev-go/mock dev-go/test dev-python/mock dev-python/httplib2 dev-python/pyshark dev-python/python-dateutil dev-python/six net-misc/openssh net-misc/socat net-misc/wget dev-python/pyyaml dev-util/lcov chromeos-base/chromeos-dbus-bindings chromeos-base/sirenia-tools dev-rust/bindgen dev-rust/cbindgen dev-rust/dbus-codegen dev-rust/protobuf-codegen dev-util/cxxbridge-cmd dev-util/meson dev-util/ninja brillo-base/libsparse dev-python/ply dev-util/gn !net-misc/dhcpcd dev-libs/closure-library dev-libs/closure_linter dev-python/autopep8 dev-python/crcmod dev-python/django dev-python/jsonrpclib dev-python/jsonschema dev-python/pycryptodome dev-python/python-gnupg dev-python/requests dev-python/sphinx dev-python/twisted !dev-python/twisted-core !dev-python/twisted-web www-servers/nginx chromeos-base/tast-cmd chromeos-base/tast-remote-tests dev-util/ragel sys-apps/coreboot-utils chromeos-base/ec-utils chromeos-base/chromeos-ec-headers dev-libs/libprotobuf-mutator dev-libs/openssl dev-util/unifdef sys-firmware/fw-engprod-tools media-sound/alsa-utils dev-util/boost-build chromeos-base/sepolicy-analyze sys-apps/checkpolicy sys-apps/restorecon sys-apps/secilc sys-apps/selinux-python chromeos-base/android-relocation-packer chromeos-base/update_payload net-libs/nodejs dev-python/clang-python dev-python/grpcio-tools net-libs/grpc-web dev-python/grpcio dev-util/strace app-misc/fdupes sys-power/cpupower sys-apps/baselayout-java chromeos-base/android-sdk sys-devel/zipalign dev-python/jinja sys-devel/gcc-bin dev-libs/wayland-protocols dev-util/wayland-scanner chromeos-base/hps-sign-rom dev-rust/svd2rust sci-electronics/amaranth sci-electronics/litescope sci-electronics/liteeth sci-electronics/litespi sci-electronics/litedram sci-electronics/nextpnr sci-electronics/pythondata-cpu-vexriscv sci-electronics/pythondata-misc-tapcfg sci-electronics/verilator sci-electronics/yosys sci-electronics/yosys-f4pga-plugins dev-python/pebble dev-util/cvise net-wireless/floss_tools dev-perl/XML-Simple dev-util/glslang app-arch/snappy media-libs/giflib
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=994ec7d34f154aac60f849516a86441a
diff --git a/metadata/md5-cache/virtual/target-chromium-os-sdk-9999 b/metadata/md5-cache/virtual/target-chromium-os-sdk-9999
index b07678e..61a67b8 100644
--- a/metadata/md5-cache/virtual/target-chromium-os-sdk-9999
+++ b/metadata/md5-cache/virtual/target-chromium-os-sdk-9999
@@ -3,11 +3,11 @@
 DESCRIPTION=List of packages that are needed inside the Chromium OS SDK
 EAPI=7
 HOMEPAGE=https://dev.chromium.org/
-IUSE=cros_host cros_workon_tree_
+IUSE=python_targets_python3_6 python_targets_python3_8 cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=metapackage
 PROPERTIES=live
-RDEPEND=!chromeos-base/hard-host-depends !virtual/hard-host-depends-bsp app-arch/bzip2 app-arch/cpio app-arch/gcab app-arch/gzip app-arch/p7zip app-arch/tar app-shells/bash net-misc/iputils net-misc/rsync sys-apps/baselayout sys-apps/coreutils sys-apps/diffutils sys-apps/dtc sys-apps/file sys-apps/findutils sys-apps/gawk sys-apps/grep sys-apps/sed sys-apps/shadow sys-apps/texinfo sys-apps/util-linux sys-apps/which sys-devel/autoconf sys-devel/autoconf-archive sys-devel/automake:1.10 sys-devel/automake:1.11 sys-devel/automake:1.15 sys-devel/binutils sys-devel/bison sys-devel/flex sys-devel/gcc sys-devel/gnuconfig sys-devel/grit-i18n sys-devel/libtool sys-devel/m4 sys-devel/make sys-devel/patch sys-fs/e2fsprogs sys-fs/f2fs-tools sys-libs/ncurses sys-libs/readline sys-libs/zlib sys-process/procps sys-process/psmisc virtual/editor virtual/libc virtual/man virtual/os-headers virtual/package-manager virtual/pager app-arch/lbzip2 app-arch/lz4 app-arch/lzop app-arch/pigz app-arch/pixz app-admin/sudo app-crypt/efitools app-crypt/sbsigntools chromeos-base/zephyr-build-tools dev-embedded/binman dev-embedded/cbootimage dev-embedded/tegrarcm dev-embedded/u-boot-tools dev-util/ccache media-gfx/pngcrush >=sys-apps/dtc-1.3.0-r5 sys-boot/bootstub sys-boot/grub sys-boot/syslinux sys-devel/crossdev sys-fs/dosfstools sys-fs/squashfs-tools sys-fs/mtd-utils app-misc/jq sys-devel/aapt sys-devel/arc-toolchain-master sys-devel/arc-toolchain-p sys-devel/arc-toolchain-r sys-devel/dex2oatds app-crypt/gnupg app-admin/eselect-opengl app-admin/eselect-mesa app-arch/cabextract app-arch/makeself >=app-arch/pbzip2-1.1.1-r1 app-arch/rpm2targz app-arch/sharutils app-arch/unzip app-crypt/nss app-doc/xmltoman app-emulation/qemu app-emulation/qemu-binfmt-wrapper !app-emulation/qemu-kvm !app-emulation/qemu-user app-text/asciidoc app-text/docbook-xml-dtd:4.2 app-text/docbook-xml-dtd:4.5 app-text/docbook-xsl-stylesheets app-text/texi2html app-text/xmlto chromeos-base/google-breakpad chromeos-base/chromeos-base chromeos-base/chromeos-common-script >=chromeos-base/chromeos-config-host-0.0.2-r491 chromeos-base/chromite-sdk chromeos-base/cros-devutils[cros_host] chromeos-base/cros-testutils chromeos-base/ec-devutils chromeos-base/minijail chromeos-base/mojo-tools dev-db/m17n-contrib dev-db/m17n-db dev-go/protobuf dev-lang/closure-compiler-bin dev-lang/nasm dev-lang/python:2.7 dev-lang/python:3.6 dev-lang/swig dev-lang/tcl dev-lang/yasm dev-libs/dbus-glib dev-libs/flatbuffers >=dev-libs/glib-2.26.1 net-libs/grpc dev-libs/libgcrypt dev-libs/libxslt dev-libs/libyaml dev-libs/m17n-lib dev-libs/protobuf dev-libs/protobuf-c dev-libs/wayland dev-python/cffi dev-python/cherrypy dev-python/dbus-python dev-python/dpkt dev-python/ecdsa dev-python/flatbuffers dev-python/future dev-python/intelhex dev-python/kconfiglib dev-python/m2crypto dev-python/mako dev-python/netifaces dev-python/pexpect dev-python/pillow dev-python/psutil dev-python/py dev-python/pycairo dev-python/pycparser dev-python/pygobject dev-python/pyopenssl dev-python/pytest dev-python/python-evdev dev-python/python-magic dev-python/pyudev dev-python/pyusb dev-python/setproctitle !dev-python/socksipy dev-python/tempita dev-python/ws4py dev-util/cmake dev-util/cmocka dev-util/dwarves dev-util/gob dev-util/gdbus-codegen dev-util/gperf dev-util/gtk-doc dev-util/hdctools >=dev-util/gtk-doc-am-1.13 >=dev-util/intltool-0.30 dev-util/scons dev-util/test-services dev-util/vulkan-headers >=dev-vcs/git-1.7.2 >=media-libs/freetype-2.2.1 >=media-libs/lcms-2.6:2 net-fs/sshfs net-libs/rpcsvc-proto net-misc/gsutil sys-apps/usbutils !sys-apps/nih-dbus-tool sys-devel/autofdo sys-devel/bc >=sys-libs/glibc-2.27 sys-libs/libcxxabi sys-libs/libcxx sys-libs/llvm-libunwind virtual/udev sys-libs/libnih sys-power/iasl virtual/modutils x11-apps/mkfontscale x11-apps/xcursorgen x11-apps/xkbcomp >=x11-misc/util-macros-1.2 dev-util/bazel:0 dev-util/bazel:5 chromeos-base/chromeos-fonts gnome-base/librsvg dev-libs/atk dev-libs/glib media-libs/fontconfig media-libs/freetype x11-libs/cairo x11-libs/libX11 x11-libs/libXi x11-libs/libXrandr x11-libs/libXtst x11-libs/pango sys-apps/dbus sys-process/lsof app-arch/zip app-editors/nano app-editors/qemacs app-editors/vim app-portage/eclass-manpages app-portage/gentoolkit app-portage/portage-utils app-shells/bash-completion x86? ( dev-go/delve ) amd64? ( dev-go/delve ) arm64? ( dev-go/delve ) dev-go/go-tools dev-go/golint dev-lang/go dev-python/ipython dev-util/codespell dev-util/patchutils dev-util/perf dev-util/shfmt net-analyzer/netperf sys-apps/less sys-apps/man-pages sys-apps/pv sys-devel/smatch dev-python/google-cloud-logging dev-python/mysqlclient dev-python/pyparsing dev-python/virtualenv x11-misc/xkeyboard-config dev-util/google-web-toolkit dev-python/btsocket dev-python/selenium sys-apps/iproute2 sys-apps/net-tools media-video/ffmpeg >=chromeos-base/vboot_reference-1.0-r174 chromeos-base/verity !dev-python/ahocorasick dev-python/pyahocorasick sys-fs/libfat chromeos-base/update_engine sys-fs/e2tools dev-cpp/gflags dev-go/mock dev-python/mock dev-python/unittest2 dev-python/httplib2 dev-python/pyshark dev-python/python-dateutil dev-python/six dev-python/pylint net-misc/openssh net-misc/socat net-misc/wget dev-python/pyyaml dev-util/lcov chromeos-base/chromeos-dbus-bindings dev-util/meson dev-util/ninja brillo-base/libsparse dev-python/ply dev-util/gn !net-misc/dhcpcd dev-libs/closure-library dev-libs/closure_linter dev-python/autopep8 dev-python/django dev-python/jsonrpclib dev-python/jsonschema dev-python/python-gnupg dev-python/requests dev-python/sphinx dev-python/twisted !dev-python/twisted-core !dev-python/twisted-web www-servers/nginx chromeos-base/tast-cmd chromeos-base/tast-remote-tests-cros dev-util/ragel sys-apps/coreboot-utils chromeos-base/ec-utils dev-libs/libprotobuf-mutator dev-libs/openssl dev-util/unifdef sys-firmware/fw-engprod-tools media-sound/alsa-utils dev-util/boost-build chromeos-base/sepolicy-analyze sys-apps/checkpolicy sys-apps/restorecon sys-apps/secilc sys-apps/selinux-python chromeos-base/android-relocation-packer chromeos-base/update_payload net-libs/nodejs dev-python/clang-python dev-python/grpcio-tools net-libs/grpc-web dev-python/grpcio dev-util/strace app-misc/fdupes sys-power/cpupower sys-apps/baselayout-java chromeos-base/android-sdk sys-devel/zipalign dev-python/jinja sys-devel/gcc-bin dev-libs/wayland-protocols sci-electronics/litescope sci-electronics/liteeth sci-electronics/litespi sci-electronics/litedram sci-electronics/nmigen sci-electronics/pythondata-misc-tapcfg sci-electronics/verilator
+RDEPEND=!chromeos-base/hard-host-depends !virtual/hard-host-depends-bsp app-arch/bzip2 app-arch/cpio app-arch/gcab app-arch/gzip app-arch/p7zip app-arch/tar app-shells/bash dev-lang/rust-bootstrap dev-lang/rust-host net-misc/iputils net-misc/rsync sys-apps/baselayout sys-apps/coreutils sys-apps/diffutils sys-apps/dtc sys-apps/file sys-apps/findutils sys-apps/gawk sys-apps/grep sys-apps/ripgrep sys-apps/sed sys-apps/shadow sys-apps/texinfo sys-apps/util-linux sys-apps/which sys-devel/autoconf sys-devel/autoconf-archive sys-devel/automake:1.11 sys-devel/automake:1.15 sys-devel/binutils sys-devel/bison sys-devel/flex sys-devel/gcc sys-devel/gdb sys-devel/gnuconfig sys-devel/grit-i18n sys-devel/libtool sys-devel/m4 sys-devel/make sys-devel/patch sys-fs/e2fsprogs sys-fs/f2fs-tools sys-libs/ncurses sys-libs/readline sys-libs/zlib sys-process/procps sys-process/psmisc sys-process/time virtual/editor virtual/libc virtual/man virtual/os-headers virtual/package-manager virtual/pager virtual/rust app-arch/lbzip2 app-arch/lz4 app-arch/lzop app-arch/pigz app-arch/pixz app-admin/sudo app-crypt/efitools app-crypt/sbsigntools chromeos-base/zephyr-build-tools dev-embedded/binman dev-embedded/cbootimage dev-embedded/tegrarcm dev-embedded/u-boot-tools dev-util/ccache media-gfx/pngcrush >=sys-apps/dtc-1.3.0-r5 sys-boot/bootstub sys-boot/grub sys-boot/syslinux sys-devel/crossdev sys-fs/dosfstools sys-fs/squashfs-tools sys-fs/mtd-utils app-misc/jq chromeos-base/mk-payload sys-devel/aapt sys-devel/arc-toolchain-master sys-devel/arc-toolchain-p sys-devel/arc-toolchain-r sys-devel/dex2oatds app-crypt/gnupg app-admin/eselect-opengl app-admin/eselect-mesa app-arch/cabextract app-arch/makeself app-arch/rpm2targz app-arch/sharutils app-arch/unzip app-crypt/nss app-doc/xmltoman app-emulation/qemu app-emulation/qemu-binfmt-wrapper !app-emulation/qemu-kvm !app-emulation/qemu-user app-text/asciidoc app-text/docbook-xml-dtd:4.2 app-text/docbook-xml-dtd:4.5 app-text/docbook-xsl-stylesheets app-text/texi2html app-text/xmlto chromeos-base/google-breakpad chromeos-base/chromeos-base chromeos-base/chromeos-common-script >=chromeos-base/chromeos-config-host-0.0.2-r491 chromeos-base/chromite-sdk chromeos-base/cros-devutils[cros_host] chromeos-base/cros-testutils chromeos-base/ec-devutils chromeos-base/minijail chromeos-base/mojo-tools dev-db/m17n-db dev-go/protobuf dev-go/protobuf-legacy-api dev-lang/closure-compiler-bin dev-lang/nasm python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_8? ( dev-lang/python:3.8 ) dev-lang/swig dev-lang/tcl dev-lang/yasm dev-libs/dbus-glib dev-libs/flatbuffers >=dev-libs/glib-2.26.1 net-libs/grpc dev-libs/libgcrypt dev-libs/libxslt dev-libs/libyaml dev-libs/m17n-lib dev-libs/protobuf dev-libs/protobuf-c dev-libs/wayland dev-python/cffi dev-python/cherrypy dev-python/dbus-python dev-python/dpkt dev-python/ecdsa dev-python/flatbuffers dev-python/future dev-python/intelhex dev-python/kconfiglib dev-python/m2crypto dev-python/mako dev-python/netifaces dev-python/pexpect dev-python/pillow dev-python/psutil dev-python/py dev-python/pycairo dev-python/pycparser dev-python/pydbus dev-python/pygobject dev-python/pyopenssl dev-python/pytest dev-python/python-evdev dev-python/python-magic dev-python/pyudev dev-python/pyusb dev-python/setproctitle !dev-python/socksipy dev-python/tempita dev-python/ws4py dev-util/cmake dev-util/cmocka dev-util/dwarves dev-util/gob dev-util/gdbus-codegen dev-util/gperf dev-util/gtk-doc dev-util/hdctools >=dev-util/gtk-doc-am-1.13 >=dev-util/intltool-0.30 dev-util/scons dev-util/test-services dev-util/vulkan-headers >=dev-vcs/git-1.7.2 >=media-libs/freetype-2.2.1 >=media-libs/lcms-2.6:2 net-fs/sshfs net-libs/rpcsvc-proto net-misc/gsutil sys-apps/usbutils !sys-apps/nih-dbus-tool sys-devel/autofdo sys-devel/bc sys-devel/llvm >=sys-libs/glibc-2.27 sys-libs/libcxxabi sys-libs/libcxx sys-libs/llvm-libunwind virtual/udev sys-libs/libnih sys-power/iasl sys-apps/kmod[tools] x11-apps/mkfontscale x11-apps/xkbcomp >=x11-misc/util-macros-1.2 sys-libs/libxcrypt dev-util/bazel:0 dev-util/bazel:5 chromeos-base/chromeos-fonts gnome-base/librsvg dev-libs/atk dev-libs/glib media-libs/fontconfig media-libs/freetype x11-libs/cairo x11-libs/libX11 x11-libs/libXi x11-libs/libXrandr x11-libs/libXtst x11-libs/pango sys-apps/dbus sys-process/lsof app-arch/zip app-editors/nano app-editors/qemacs app-editors/vim app-portage/eclass-manpages app-portage/gentoolkit app-portage/portage-utils app-portage/repoman app-shells/bash-completion x86? ( dev-go/delve ) amd64? ( dev-go/delve ) arm64? ( dev-go/delve ) dev-go/go-tools dev-go/golint dev-lang/go dev-python/ipython dev-util/codespell dev-util/patchutils dev-util/perf dev-util/shfmt net-analyzer/netperf sys-apps/less sys-apps/man-pages sys-apps/pv sys-devel/smatch sys-devel/sparse dev-python/google-cloud-logging dev-python/mysqlclient dev-python/pyparsing dev-python/virtualenv x11-misc/xkeyboard-config dev-util/google-web-toolkit dev-python/btsocket dev-python/selenium sys-apps/iproute2 sys-apps/net-tools media-video/ffmpeg >=chromeos-base/vboot_reference-1.0-r174 chromeos-base/verity !dev-python/ahocorasick dev-python/pyahocorasick sys-fs/libfat chromeos-base/update_engine-client chromeos-base/update_engine sys-fs/e2tools dev-cpp/gflags dev-go/mock dev-go/test dev-python/mock dev-python/httplib2 dev-python/pyshark dev-python/python-dateutil dev-python/six net-misc/openssh net-misc/socat net-misc/wget dev-python/pyyaml dev-util/lcov chromeos-base/chromeos-dbus-bindings chromeos-base/sirenia-tools dev-rust/bindgen dev-rust/cbindgen dev-rust/dbus-codegen dev-rust/protobuf-codegen dev-util/cxxbridge-cmd dev-util/meson dev-util/ninja brillo-base/libsparse dev-python/ply dev-util/gn !net-misc/dhcpcd dev-libs/closure-library dev-libs/closure_linter dev-python/autopep8 dev-python/crcmod dev-python/django dev-python/jsonrpclib dev-python/jsonschema dev-python/pycryptodome dev-python/python-gnupg dev-python/requests dev-python/sphinx dev-python/twisted !dev-python/twisted-core !dev-python/twisted-web www-servers/nginx chromeos-base/tast-cmd chromeos-base/tast-remote-tests dev-util/ragel sys-apps/coreboot-utils chromeos-base/ec-utils chromeos-base/chromeos-ec-headers dev-libs/libprotobuf-mutator dev-libs/openssl dev-util/unifdef sys-firmware/fw-engprod-tools media-sound/alsa-utils dev-util/boost-build chromeos-base/sepolicy-analyze sys-apps/checkpolicy sys-apps/restorecon sys-apps/secilc sys-apps/selinux-python chromeos-base/android-relocation-packer chromeos-base/update_payload net-libs/nodejs dev-python/clang-python dev-python/grpcio-tools net-libs/grpc-web dev-python/grpcio dev-util/strace app-misc/fdupes sys-power/cpupower sys-apps/baselayout-java chromeos-base/android-sdk sys-devel/zipalign dev-python/jinja sys-devel/gcc-bin dev-libs/wayland-protocols dev-util/wayland-scanner chromeos-base/hps-sign-rom dev-rust/svd2rust sci-electronics/amaranth sci-electronics/litescope sci-electronics/liteeth sci-electronics/litespi sci-electronics/litedram sci-electronics/nextpnr sci-electronics/pythondata-cpu-vexriscv sci-electronics/pythondata-misc-tapcfg sci-electronics/verilator sci-electronics/yosys sci-electronics/yosys-f4pga-plugins dev-python/pebble dev-util/cvise net-wireless/floss_tools dev-perl/XML-Simple dev-util/glslang app-arch/snappy media-libs/giflib
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=9363a5d1f6c196dfcf61cfabce44a078
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=751c64323b0e02a21a7b90ba32420a9b
diff --git a/metadata/md5-cache/virtual/target-chromium-os-sdk-nobdeps-1 b/metadata/md5-cache/virtual/target-chromium-os-sdk-nobdeps-1
index baa9d45..357bdcf 100644
--- a/metadata/md5-cache/virtual/target-chromium-os-sdk-nobdeps-1
+++ b/metadata/md5-cache/virtual/target-chromium-os-sdk-nobdeps-1
@@ -4,6 +4,6 @@
 HOMEPAGE=http://dev.chromium.org/
 KEYWORDS=*
 LICENSE=metapackage
-RDEPEND=dev-util/shellcheck dev-python/pypy3 dev-python/pypy3-exe
+RDEPEND=dev-util/shellcheck dev-python/pypy3
 SLOT=0
-_md5_=1d52de0eec4002dad2e0e1487c95d01e
+_md5_=f3d4cd23adaaa20f9350d53c9d741b27
diff --git a/metadata/md5-cache/virtual/target-chromium-os-sdk-nobdeps-1-r6 b/metadata/md5-cache/virtual/target-chromium-os-sdk-nobdeps-1-r6
deleted file mode 100644
index baa9d45..0000000
--- a/metadata/md5-cache/virtual/target-chromium-os-sdk-nobdeps-1-r6
+++ /dev/null
@@ -1,9 +0,0 @@
-DEFINED_PHASES=-
-DESCRIPTION=List of packages that are needed inside the SDK, but where we only want to install a binpkg. We never want to install build-time deps or recompile from source unless the user explicitly requests it.
-EAPI=7
-HOMEPAGE=http://dev.chromium.org/
-KEYWORDS=*
-LICENSE=metapackage
-RDEPEND=dev-util/shellcheck dev-python/pypy3 dev-python/pypy3-exe
-SLOT=0
-_md5_=1d52de0eec4002dad2e0e1487c95d01e
diff --git a/metadata/md5-cache/virtual/target-chromium-os-sdk-nobdeps-1-r7 b/metadata/md5-cache/virtual/target-chromium-os-sdk-nobdeps-1-r7
new file mode 100644
index 0000000..357bdcf
--- /dev/null
+++ b/metadata/md5-cache/virtual/target-chromium-os-sdk-nobdeps-1-r7
@@ -0,0 +1,9 @@
+DEFINED_PHASES=-
+DESCRIPTION=List of packages that are needed inside the SDK, but where we only want to install a binpkg. We never want to install build-time deps or recompile from source unless the user explicitly requests it.
+EAPI=7
+HOMEPAGE=http://dev.chromium.org/
+KEYWORDS=*
+LICENSE=metapackage
+RDEPEND=dev-util/shellcheck dev-python/pypy3
+SLOT=0
+_md5_=f3d4cd23adaaa20f9350d53c9d741b27
diff --git a/metadata/md5-cache/virtual/target-chromium-os-sdk-post-cross-1-r12 b/metadata/md5-cache/virtual/target-chromium-os-sdk-post-cross-1-r12
deleted file mode 100644
index c868ab1..0000000
--- a/metadata/md5-cache/virtual/target-chromium-os-sdk-post-cross-1-r12
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info setup unpack
-DESCRIPTION=List of packages that are needed inside the SDK, but after we've built all the toolchain packages that we install separately via binpkgs. This avoids circular dependencies when bootstrapping.
-EAPI=7
-HOMEPAGE=http://dev.chromium.org/
-IUSE=cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
-KEYWORDS=*
-LICENSE=metapackage
-PROPERTIES=live
-RDEPEND=dev-lang/rust dev-rust/bindgen dev-rust/dbus-codegen dev-rust/protobuf-codegen dev-util/cxxbridge-cmd sys-apps/ripgrep dev-embedded/coreboot-sdk dev-embedded/ti50-sdk chromeos-base/sirenia-tools dev-embedded/hps-sdk dev-rust/svd2rust sci-electronics/nextpnr
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=32bb6f1a7a2901b12c23c0652bc57353
diff --git a/metadata/md5-cache/virtual/target-chromium-os-sdk-post-cross-1-r14 b/metadata/md5-cache/virtual/target-chromium-os-sdk-post-cross-1-r14
new file mode 100644
index 0000000..d8eb0f5
--- /dev/null
+++ b/metadata/md5-cache/virtual/target-chromium-os-sdk-post-cross-1-r14
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info setup unpack
+DESCRIPTION=List of packages that are needed inside the SDK, but after we've built all the toolchain packages that we install separately via binpkgs. This avoids circular dependencies when bootstrapping.
+EAPI=7
+HOMEPAGE=http://dev.chromium.org/
+IUSE=cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
+KEYWORDS=*
+LICENSE=metapackage
+PROPERTIES=live
+RDEPEND=dev-lang/rust dev-embedded/coreboot-sdk dev-embedded/ti50-sdk dev-embedded/hps-sdk
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=6c2b1fc064fb26f813b87677969d1192
diff --git a/metadata/md5-cache/virtual/target-chromium-os-sdk-post-cross-9999 b/metadata/md5-cache/virtual/target-chromium-os-sdk-post-cross-9999
index 83bb94e..741de9c 100644
--- a/metadata/md5-cache/virtual/target-chromium-os-sdk-post-cross-9999
+++ b/metadata/md5-cache/virtual/target-chromium-os-sdk-post-cross-9999
@@ -7,7 +7,7 @@
 KEYWORDS=~*
 LICENSE=metapackage
 PROPERTIES=live
-RDEPEND=dev-lang/rust dev-rust/bindgen dev-rust/dbus-codegen dev-rust/protobuf-codegen dev-util/cxxbridge-cmd sys-apps/ripgrep dev-embedded/coreboot-sdk dev-embedded/ti50-sdk chromeos-base/sirenia-tools dev-embedded/hps-sdk dev-rust/svd2rust sci-electronics/nextpnr
+RDEPEND=dev-lang/rust dev-embedded/coreboot-sdk dev-embedded/ti50-sdk dev-embedded/hps-sdk
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=11e8308b29aa11e8999aed47778cca9c
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d14a5a62033ccef4850d0f48eddde999
diff --git a/metadata/md5-cache/virtual/target-chromium-os-test-1-r166 b/metadata/md5-cache/virtual/target-chromium-os-test-1-r166
deleted file mode 100644
index 575c573..0000000
--- a/metadata/md5-cache/virtual/target-chromium-os-test-1-r166
+++ /dev/null
@@ -1,13 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info setup unpack
-DESCRIPTION=List of packages that are needed inside the Chromium OS test image; Note: test images are a superset of dev images.
-EAPI=7
-HOMEPAGE=https://dev.chromium.org/
-IUSE=arc-camera3 biod camera_feature_hdrnet -chromeless_tests cheets chromeless_tty cr50_onboard +cras cros_embedded dlc hammerd iioservice ml_service hps nnapi no_factory_flow ondevice_document_scanner opengl opengles p2p +perfetto python_targets_python2_7 scanner +shill +tpm tpm2 unibuild vaapi vulkan wifi_hostap_test wifi_testbed_ap +wired_8021x cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
-KEYWORDS=*
-LICENSE=metapackage
-PROPERTIES=live
-RDEPEND=tpm? ( app-crypt/tpm-tools chromeos-base/hwsec-test-utils chromeos-base/tpm_softclear_utils ) tpm2? ( chromeos-base/hwsec-test-utils chromeos-base/tpm_softclear_utils ) chromeos-base/chromeos-test-root chromeos-base/ec-utils chromeos-base/ec-utils-test !no_factory_flow? ( chromeos-base/factory-deps ) biod? ( virtual/chromeos-fpmcu-test chromeos-base/chromeos-fpmcu-unittests ) hammerd? ( chromeos-base/hammerd-test-utils ) iioservice? ( chromeos-base/iioservice_simpleclient ) scanner? ( chromeos-base/lorgnette_cli chromeos-base/lorgnette-wwcb-tests chromeos-base/sane-backends-test ) ml_service? ( chromeos-base/ml-cmdline ) hps? ( chromeos-base/hps-tool ) nnapi? ( chromeos-base/aosp-frameworks-ml-nn-vts chromeos-base/ml-test-assets ) ondevice_document_scanner? ( media-libs/cros-camera-document-scanning-test ) camera_feature_hdrnet? ( media-libs/cros-camera-hdrnet-tests ) chromeos-base/recover-duts chromeos-base/tast-local-test-runner chromeos-base/tast-local-tests chromeos-base/tast-use-flags chromeos-base/vboot_reference-tests chromeos-base/verity chromeos-base/vpd chromeos-base/ec-devutils !chromeless_tty? ( !chromeless_tests? ( >=dev-cpp/gflags-2.0 ) ) wifi_testbed_ap? ( dev-python/btsocket ) python_targets_python2_7? ( dev-lang/python:2.7 ) x86? ( dev-go/delve ) amd64? ( dev-go/delve ) arm64? ( dev-go/delve ) dev-lang/python:3.6 dev-libs/opensc p2p? ( dev-python/dpkt ) perfetto? ( chromeos-base/perfetto chromeos-base/perfetto_simple_producer ) cr50_onboard? ( dev-util/u2f-ref-code ) net-misc/rsync sys-apps/memtester virtual/autotest-capability virtual/chromeos-bsp-test sys-apps/hdparm sys-apps/mmc-utils !cros_embedded? ( x86? ( app-benchmarks/sysbench sys-apps/pciutils sys-power/iasl vaapi? ( media-gfx/vadumpcaps media-video/libva-utils ) x11-misc/read-edid ) amd64? ( app-benchmarks/sysbench sys-apps/pciutils sys-power/iasl vaapi? ( media-gfx/vadumpcaps media-video/libva-utils ) x11-misc/read-edid ) app-admin/sudo app-arch/gzip app-arch/tar app-benchmarks/blktests app-benchmarks/blogbench app-benchmarks/lmbench app-benchmarks/microbenchmarks app-benchmarks/pjdfstest app-benchmarks/xfstests app-misc/ckermit opengles? ( app-misc/eglinfo ) app-misc/tmux app-misc/utouch-evemu app-mobilephone/dfu-util chromeos-base/autotest-client cras? ( chromeos-base/audiotest media-sound/cras_bench dev-util/rt-tests ) chromeos-base/avtest_label_detect chromeos-base/chrome-binary-tests chromeos-base/cros-camera-tool !chromeless_tty? ( !chromeless_tests? ( chromeos-base/drm-tests ) ) !no_factory_flow? ( chromeos-base/factory-mini ) chromeos-base/glbench chromeos-base/graphics-utils-python chromeos-base/libvda-gpu-tests chromeos-base/modem-diagnostics chromeos-base/policy_utils chromeos-base/protofiles chromeos-base/pywalt !chromeless_tty? ( chromeos-base/screen-capture-utils www-apps/novnc ) chromeos-base/secure-wipe shill? ( chromeos-base/shill-test-scripts wired_8021x? ( net-wireless/hostapd ) ) !chromeless_tests? ( chromeos-base/telemetry ) chromeos-base/toolchain-tests vulkan? ( chromeos-base/vkbench media-libs/clvk media-libs/clvk-test media-libs/opencl-cts ) dev-embedded/dfu-programmer dev-go/syzkaller dev-libs/re2 dev-python/protobuf-python dev-python/btsocket dev-python/contextlib2 dev-python/dbus-python dev-python/dpkt dev-python/httplib2 dev-python/jsonrpclib dev-python/mkvparse dev-python/netifaces dev-python/pydbus dev-python/pygobject dev-python/pyserial dev-python/pytest dev-python/python-evdev dev-python/python-uinput dev-python/pyudev dev-python/pyxattr dev-python/pyyaml dev-python/selenium dev-python/setproctitle dev-python/setuptools dev-python/ws4py !chromeless_tty? ( !chromeless_tests? ( dev-util/apitrace ) ) dev-util/stressapptest dev-util/trace-cmd dlc? ( sys-fs/squashfs-tools ) games-util/joystick media-gfx/imagemagick[jpeg,png,svg,tiff] media-gfx/perceptualdiff media-gfx/zbar arc-camera3? ( media-libs/cros-camera-libcamera_connector_test ) arc-camera3? ( media-libs/cros-camera-libjea_test ) arc-camera3? ( media-libs/cros-camera-test ) media-libs/cros-camera-usb-tests media-libs/libexif media-libs/libvpx media-libs/opencv media-libs/openh264 !chromeless_tty? ( !chromeless_tests? ( media-gfx/deqp media-gfx/deqp-runner ) ) media-libs/tiff opengles? ( media-libs/waffle ) opengl? ( media-libs/waffle ) media-sound/sox net-analyzer/netperf net-dialup/minicom net-dns/dnsmasq net-misc/dhcp net-misc/iperf:2 net-misc/iputils net-misc/openssh net-misc/radvd net-proxy/tinyproxy wifi_hostap_test? ( net-wireless/hostap-test ) sci-geosciences/gpsd sys-apps/coreutils sys-apps/dtc sys-apps/ethtool sys-apps/file sys-apps/findutils sys-apps/kbd sys-apps/shadow sys-devel/binutils sys-process/iotop sys-process/procps sys-process/psmisc sys-process/time x11-libs/libdrm )
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=1bb73755a111ecd1b78d0cc2f19c684d
diff --git a/metadata/md5-cache/virtual/target-chromium-os-test-1-r177 b/metadata/md5-cache/virtual/target-chromium-os-test-1-r177
new file mode 100644
index 0000000..b39f835
--- /dev/null
+++ b/metadata/md5-cache/virtual/target-chromium-os-test-1-r177
@@ -0,0 +1,13 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=info setup unpack
+DESCRIPTION=List of packages that are needed inside the Chromium OS test image; Note: test images are a superset of dev images.
+EAPI=7
+HOMEPAGE=https://dev.chromium.org/
+IUSE=arc-camera3 biod camera_feature_auto_framing camera_feature_hdrnet -chromeless_tests cheets chromeless_tty cr50_onboard +cras cros_embedded dlc hammerd iioservice ml_service hps nnapi no_factory_flow ondevice_document_scanner opengl opengles p2p +perfetto python_targets_python3_6 python_targets_python3_8 racc scanner +shill ti50_onboard +tpm tpm2 unibuild vaapi vulkan wifi_hostap_test wifi_testbed_ap +wired_8021x cros_host cros_workon_tree_f365214c3256d3259d78a5f4516923c79940b702
+KEYWORDS=*
+LICENSE=metapackage
+PROPERTIES=live
+RDEPEND=tpm? ( app-crypt/tpm-tools chromeos-base/hwsec-test-utils chromeos-base/tpm_softclear_utils ) tpm2? ( chromeos-base/hwsec-test-utils chromeos-base/tpm_softclear_utils ) chromeos-base/chromeos-test-root chromeos-base/ec-utils chromeos-base/ec-utils-test !no_factory_flow? ( chromeos-base/factory-deps ) biod? ( virtual/chromeos-fpmcu-test chromeos-base/chromeos-fpmcu-unittests ) hammerd? ( chromeos-base/hammerd-test-utils ) iioservice? ( chromeos-base/iioservice_simpleclient ) scanner? ( chromeos-base/lorgnette_cli chromeos-base/lorgnette-wwcb-tests chromeos-base/sane-backends-test ) ml_service? ( chromeos-base/ml-cmdline ) hps? ( chromeos-base/hps-tool ) nnapi? ( chromeos-base/aosp-frameworks-ml-nn-vts chromeos-base/ml-test-assets ) ondevice_document_scanner? ( media-libs/cros-camera-document-scanning-test ) camera_feature_auto_framing? ( media-libs/cros-camera-auto-framing-tests ) camera_feature_hdrnet? ( media-libs/cros-camera-hdrnet-tests ) racc? ( chromeos-base/factory_runtime_probe ) chromeos-base/recover-duts chromeos-base/tast-local-test-runner chromeos-base/tast-local-tests chromeos-base/tast-use-flags chromeos-base/vboot_reference-tests chromeos-base/verity chromeos-base/vpd chromeos-base/ec-devutils !chromeless_tty? ( !chromeless_tests? ( >=dev-cpp/gflags-2.0 ) ) wifi_testbed_ap? ( dev-python/btsocket ) x86? ( dev-go/delve ) amd64? ( dev-go/delve ) arm64? ( dev-go/delve ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_8? ( dev-lang/python:3.8 ) dev-libs/opensc p2p? ( dev-python/dpkt ) perfetto? ( chromeos-base/perfetto chromeos-base/perfetto_simple_producer ) cr50_onboard? ( dev-util/u2f-ref-code ) net-misc/rsync sys-apps/memtester ti50_onboard? ( dev-util/u2f-ref-code ) virtual/autotest-capability virtual/chromeos-bsp-test sys-apps/hdparm sys-apps/mmc-utils !cros_embedded? ( x86? ( app-benchmarks/sysbench sys-apps/pciutils sys-power/iasl vaapi? ( media-gfx/vadumpcaps media-video/libva-utils ) x11-misc/read-edid ) amd64? ( app-benchmarks/sysbench sys-apps/pciutils sys-power/iasl vaapi? ( media-gfx/vadumpcaps media-video/libva-utils ) x11-misc/read-edid ) app-admin/sudo app-arch/gzip app-arch/tar app-benchmarks/blktests app-benchmarks/blogbench app-benchmarks/lmbench app-benchmarks/microbenchmarks app-benchmarks/pjdfstest app-benchmarks/xfstests opengles? ( app-misc/eglinfo ) app-misc/tmux app-misc/utouch-evemu app-mobilephone/dfu-util chromeos-base/autotest-client cras? ( chromeos-base/audiotest media-sound/cras_bench dev-util/rt-tests ) chromeos-base/avtest_label_detect chromeos-base/chrome-binary-tests chromeos-base/cros-camera-tool chromeos-base/croscomp !chromeless_tty? ( !chromeless_tests? ( chromeos-base/drm-tests ) ) !no_factory_flow? ( chromeos-base/factory-mini ) chromeos-base/glbench chromeos-base/graphics-expectations chromeos-base/graphics-utils-python chromeos-base/libvda-gpu-tests chromeos-base/modem-diagnostics chromeos-base/policy_utils chromeos-base/protofiles chromeos-base/pywalt !chromeless_tty? ( chromeos-base/screen-capture-utils www-apps/novnc ) chromeos-base/secure-wipe shill? ( chromeos-base/shill-test-scripts wired_8021x? ( net-wireless/hostapd ) ) !chromeless_tests? ( chromeos-base/telemetry ) chromeos-base/toolchain-tests vulkan? ( chromeos-base/vkbench media-libs/clvk media-libs/clvk-test media-libs/opencl-cts ) dev-embedded/dfu-programmer dev-go/syzkaller dev-libs/re2 dev-python/protobuf-python dev-python/btsocket dev-python/contextlib2 dev-python/dbus-python dev-python/dpkt dev-python/httplib2 dev-python/jsonrpclib dev-python/mkvparse dev-python/netifaces dev-python/pydbus dev-python/pygobject dev-python/pyserial dev-python/pytest dev-python/python-evdev dev-python/python-uinput dev-python/pyudev dev-python/pyxattr dev-python/pyyaml dev-python/requests dev-python/selenium dev-python/setproctitle dev-python/setuptools dev-python/ws4py !chromeless_tty? ( !chromeless_tests? ( dev-util/apitrace ) ) dev-util/stressapptest dev-util/trace-cmd dlc? ( sys-fs/squashfs-tools ) games-util/joystick media-gfx/imagemagick[jpeg,png,svg,tiff] media-gfx/perceptualdiff media-gfx/zbar arc-camera3? ( media-libs/cros-camera-libcamera_connector_test ) arc-camera3? ( media-libs/cros-camera-libjea_test ) arc-camera3? ( media-libs/cros-camera-test ) media-libs/cros-camera-usb-tests media-libs/libaom media-libs/libexif media-libs/libvpx media-libs/opencv media-libs/openh264 !chromeless_tty? ( !chromeless_tests? ( media-gfx/deqp media-gfx/deqp-runner ) ) media-libs/tiff opengles? ( media-libs/waffle ) opengl? ( media-libs/waffle ) media-sound/sox net-analyzer/netperf net-dialup/minicom net-dns/dnsmasq net-misc/dhcp net-misc/iperf:2 net-misc/iputils net-misc/openssh net-misc/radvd net-proxy/tinyproxy wifi_hostap_test? ( net-wireless/hostap-test ) sys-apps/coreutils sys-apps/dtc sys-apps/ethtool sys-apps/file sys-apps/findutils sys-apps/kbd sys-apps/shadow sys-devel/binutils sys-process/iotop sys-process/procps sys-process/psmisc sys-process/time x11-libs/libdrm )
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=aa76639dcdc2616b5713a29913280c7d
diff --git a/metadata/md5-cache/virtual/target-chromium-os-test-9999 b/metadata/md5-cache/virtual/target-chromium-os-test-9999
index 7de6b55..f385c99 100644
--- a/metadata/md5-cache/virtual/target-chromium-os-test-9999
+++ b/metadata/md5-cache/virtual/target-chromium-os-test-9999
@@ -3,11 +3,11 @@
 DESCRIPTION=List of packages that are needed inside the Chromium OS test image; Note: test images are a superset of dev images.
 EAPI=7
 HOMEPAGE=https://dev.chromium.org/
-IUSE=arc-camera3 biod camera_feature_hdrnet -chromeless_tests cheets chromeless_tty cr50_onboard +cras cros_embedded dlc hammerd iioservice ml_service hps nnapi no_factory_flow ondevice_document_scanner opengl opengles p2p +perfetto python_targets_python2_7 scanner +shill +tpm tpm2 unibuild vaapi vulkan wifi_hostap_test wifi_testbed_ap +wired_8021x cros_host cros_workon_tree_
+IUSE=arc-camera3 biod camera_feature_auto_framing camera_feature_hdrnet -chromeless_tests cheets chromeless_tty cr50_onboard +cras cros_embedded dlc hammerd iioservice ml_service hps nnapi no_factory_flow ondevice_document_scanner opengl opengles p2p +perfetto python_targets_python3_6 python_targets_python3_8 racc scanner +shill ti50_onboard +tpm tpm2 unibuild vaapi vulkan wifi_hostap_test wifi_testbed_ap +wired_8021x cros_host cros_workon_tree_
 KEYWORDS=~*
 LICENSE=metapackage
 PROPERTIES=live
-RDEPEND=tpm? ( app-crypt/tpm-tools chromeos-base/hwsec-test-utils chromeos-base/tpm_softclear_utils ) tpm2? ( chromeos-base/hwsec-test-utils chromeos-base/tpm_softclear_utils ) chromeos-base/chromeos-test-root chromeos-base/ec-utils chromeos-base/ec-utils-test !no_factory_flow? ( chromeos-base/factory-deps ) biod? ( virtual/chromeos-fpmcu-test chromeos-base/chromeos-fpmcu-unittests ) hammerd? ( chromeos-base/hammerd-test-utils ) iioservice? ( chromeos-base/iioservice_simpleclient ) scanner? ( chromeos-base/lorgnette_cli chromeos-base/lorgnette-wwcb-tests chromeos-base/sane-backends-test ) ml_service? ( chromeos-base/ml-cmdline ) hps? ( chromeos-base/hps-tool ) nnapi? ( chromeos-base/aosp-frameworks-ml-nn-vts chromeos-base/ml-test-assets ) ondevice_document_scanner? ( media-libs/cros-camera-document-scanning-test ) camera_feature_hdrnet? ( media-libs/cros-camera-hdrnet-tests ) chromeos-base/recover-duts chromeos-base/tast-local-test-runner chromeos-base/tast-local-tests chromeos-base/tast-use-flags chromeos-base/vboot_reference-tests chromeos-base/verity chromeos-base/vpd chromeos-base/ec-devutils !chromeless_tty? ( !chromeless_tests? ( >=dev-cpp/gflags-2.0 ) ) wifi_testbed_ap? ( dev-python/btsocket ) python_targets_python2_7? ( dev-lang/python:2.7 ) x86? ( dev-go/delve ) amd64? ( dev-go/delve ) arm64? ( dev-go/delve ) dev-lang/python:3.6 dev-libs/opensc p2p? ( dev-python/dpkt ) perfetto? ( chromeos-base/perfetto chromeos-base/perfetto_simple_producer ) cr50_onboard? ( dev-util/u2f-ref-code ) net-misc/rsync sys-apps/memtester virtual/autotest-capability virtual/chromeos-bsp-test sys-apps/hdparm sys-apps/mmc-utils !cros_embedded? ( x86? ( app-benchmarks/sysbench sys-apps/pciutils sys-power/iasl vaapi? ( media-gfx/vadumpcaps media-video/libva-utils ) x11-misc/read-edid ) amd64? ( app-benchmarks/sysbench sys-apps/pciutils sys-power/iasl vaapi? ( media-gfx/vadumpcaps media-video/libva-utils ) x11-misc/read-edid ) app-admin/sudo app-arch/gzip app-arch/tar app-benchmarks/blktests app-benchmarks/blogbench app-benchmarks/lmbench app-benchmarks/microbenchmarks app-benchmarks/pjdfstest app-benchmarks/xfstests app-misc/ckermit opengles? ( app-misc/eglinfo ) app-misc/tmux app-misc/utouch-evemu app-mobilephone/dfu-util chromeos-base/autotest-client cras? ( chromeos-base/audiotest media-sound/cras_bench dev-util/rt-tests ) chromeos-base/avtest_label_detect chromeos-base/chrome-binary-tests chromeos-base/cros-camera-tool !chromeless_tty? ( !chromeless_tests? ( chromeos-base/drm-tests ) ) !no_factory_flow? ( chromeos-base/factory-mini ) chromeos-base/glbench chromeos-base/graphics-utils-python chromeos-base/libvda-gpu-tests chromeos-base/modem-diagnostics chromeos-base/policy_utils chromeos-base/protofiles chromeos-base/pywalt !chromeless_tty? ( chromeos-base/screen-capture-utils www-apps/novnc ) chromeos-base/secure-wipe shill? ( chromeos-base/shill-test-scripts wired_8021x? ( net-wireless/hostapd ) ) !chromeless_tests? ( chromeos-base/telemetry ) chromeos-base/toolchain-tests vulkan? ( chromeos-base/vkbench media-libs/clvk media-libs/clvk-test media-libs/opencl-cts ) dev-embedded/dfu-programmer dev-go/syzkaller dev-libs/re2 dev-python/protobuf-python dev-python/btsocket dev-python/contextlib2 dev-python/dbus-python dev-python/dpkt dev-python/httplib2 dev-python/jsonrpclib dev-python/mkvparse dev-python/netifaces dev-python/pydbus dev-python/pygobject dev-python/pyserial dev-python/pytest dev-python/python-evdev dev-python/python-uinput dev-python/pyudev dev-python/pyxattr dev-python/pyyaml dev-python/selenium dev-python/setproctitle dev-python/setuptools dev-python/ws4py !chromeless_tty? ( !chromeless_tests? ( dev-util/apitrace ) ) dev-util/stressapptest dev-util/trace-cmd dlc? ( sys-fs/squashfs-tools ) games-util/joystick media-gfx/imagemagick[jpeg,png,svg,tiff] media-gfx/perceptualdiff media-gfx/zbar arc-camera3? ( media-libs/cros-camera-libcamera_connector_test ) arc-camera3? ( media-libs/cros-camera-libjea_test ) arc-camera3? ( media-libs/cros-camera-test ) media-libs/cros-camera-usb-tests media-libs/libexif media-libs/libvpx media-libs/opencv media-libs/openh264 !chromeless_tty? ( !chromeless_tests? ( media-gfx/deqp media-gfx/deqp-runner ) ) media-libs/tiff opengles? ( media-libs/waffle ) opengl? ( media-libs/waffle ) media-sound/sox net-analyzer/netperf net-dialup/minicom net-dns/dnsmasq net-misc/dhcp net-misc/iperf:2 net-misc/iputils net-misc/openssh net-misc/radvd net-proxy/tinyproxy wifi_hostap_test? ( net-wireless/hostap-test ) sci-geosciences/gpsd sys-apps/coreutils sys-apps/dtc sys-apps/ethtool sys-apps/file sys-apps/findutils sys-apps/kbd sys-apps/shadow sys-devel/binutils sys-process/iotop sys-process/procps sys-process/psmisc sys-process/time x11-libs/libdrm )
+RDEPEND=tpm? ( app-crypt/tpm-tools chromeos-base/hwsec-test-utils chromeos-base/tpm_softclear_utils ) tpm2? ( chromeos-base/hwsec-test-utils chromeos-base/tpm_softclear_utils ) chromeos-base/chromeos-test-root chromeos-base/ec-utils chromeos-base/ec-utils-test !no_factory_flow? ( chromeos-base/factory-deps ) biod? ( virtual/chromeos-fpmcu-test chromeos-base/chromeos-fpmcu-unittests ) hammerd? ( chromeos-base/hammerd-test-utils ) iioservice? ( chromeos-base/iioservice_simpleclient ) scanner? ( chromeos-base/lorgnette_cli chromeos-base/lorgnette-wwcb-tests chromeos-base/sane-backends-test ) ml_service? ( chromeos-base/ml-cmdline ) hps? ( chromeos-base/hps-tool ) nnapi? ( chromeos-base/aosp-frameworks-ml-nn-vts chromeos-base/ml-test-assets ) ondevice_document_scanner? ( media-libs/cros-camera-document-scanning-test ) camera_feature_auto_framing? ( media-libs/cros-camera-auto-framing-tests ) camera_feature_hdrnet? ( media-libs/cros-camera-hdrnet-tests ) racc? ( chromeos-base/factory_runtime_probe ) chromeos-base/recover-duts chromeos-base/tast-local-test-runner chromeos-base/tast-local-tests chromeos-base/tast-use-flags chromeos-base/vboot_reference-tests chromeos-base/verity chromeos-base/vpd chromeos-base/ec-devutils !chromeless_tty? ( !chromeless_tests? ( >=dev-cpp/gflags-2.0 ) ) wifi_testbed_ap? ( dev-python/btsocket ) x86? ( dev-go/delve ) amd64? ( dev-go/delve ) arm64? ( dev-go/delve ) python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_8? ( dev-lang/python:3.8 ) dev-libs/opensc p2p? ( dev-python/dpkt ) perfetto? ( chromeos-base/perfetto chromeos-base/perfetto_simple_producer ) cr50_onboard? ( dev-util/u2f-ref-code ) net-misc/rsync sys-apps/memtester ti50_onboard? ( dev-util/u2f-ref-code ) virtual/autotest-capability virtual/chromeos-bsp-test sys-apps/hdparm sys-apps/mmc-utils !cros_embedded? ( x86? ( app-benchmarks/sysbench sys-apps/pciutils sys-power/iasl vaapi? ( media-gfx/vadumpcaps media-video/libva-utils ) x11-misc/read-edid ) amd64? ( app-benchmarks/sysbench sys-apps/pciutils sys-power/iasl vaapi? ( media-gfx/vadumpcaps media-video/libva-utils ) x11-misc/read-edid ) app-admin/sudo app-arch/gzip app-arch/tar app-benchmarks/blktests app-benchmarks/blogbench app-benchmarks/lmbench app-benchmarks/microbenchmarks app-benchmarks/pjdfstest app-benchmarks/xfstests opengles? ( app-misc/eglinfo ) app-misc/tmux app-misc/utouch-evemu app-mobilephone/dfu-util chromeos-base/autotest-client cras? ( chromeos-base/audiotest media-sound/cras_bench dev-util/rt-tests ) chromeos-base/avtest_label_detect chromeos-base/chrome-binary-tests chromeos-base/cros-camera-tool chromeos-base/croscomp !chromeless_tty? ( !chromeless_tests? ( chromeos-base/drm-tests ) ) !no_factory_flow? ( chromeos-base/factory-mini ) chromeos-base/glbench chromeos-base/graphics-expectations chromeos-base/graphics-utils-python chromeos-base/libvda-gpu-tests chromeos-base/modem-diagnostics chromeos-base/policy_utils chromeos-base/protofiles chromeos-base/pywalt !chromeless_tty? ( chromeos-base/screen-capture-utils www-apps/novnc ) chromeos-base/secure-wipe shill? ( chromeos-base/shill-test-scripts wired_8021x? ( net-wireless/hostapd ) ) !chromeless_tests? ( chromeos-base/telemetry ) chromeos-base/toolchain-tests vulkan? ( chromeos-base/vkbench media-libs/clvk media-libs/clvk-test media-libs/opencl-cts ) dev-embedded/dfu-programmer dev-go/syzkaller dev-libs/re2 dev-python/protobuf-python dev-python/btsocket dev-python/contextlib2 dev-python/dbus-python dev-python/dpkt dev-python/httplib2 dev-python/jsonrpclib dev-python/mkvparse dev-python/netifaces dev-python/pydbus dev-python/pygobject dev-python/pyserial dev-python/pytest dev-python/python-evdev dev-python/python-uinput dev-python/pyudev dev-python/pyxattr dev-python/pyyaml dev-python/requests dev-python/selenium dev-python/setproctitle dev-python/setuptools dev-python/ws4py !chromeless_tty? ( !chromeless_tests? ( dev-util/apitrace ) ) dev-util/stressapptest dev-util/trace-cmd dlc? ( sys-fs/squashfs-tools ) games-util/joystick media-gfx/imagemagick[jpeg,png,svg,tiff] media-gfx/perceptualdiff media-gfx/zbar arc-camera3? ( media-libs/cros-camera-libcamera_connector_test ) arc-camera3? ( media-libs/cros-camera-libjea_test ) arc-camera3? ( media-libs/cros-camera-test ) media-libs/cros-camera-usb-tests media-libs/libaom media-libs/libexif media-libs/libvpx media-libs/opencv media-libs/openh264 !chromeless_tty? ( !chromeless_tests? ( media-gfx/deqp media-gfx/deqp-runner ) ) media-libs/tiff opengles? ( media-libs/waffle ) opengl? ( media-libs/waffle ) media-sound/sox net-analyzer/netperf net-dialup/minicom net-dns/dnsmasq net-misc/dhcp net-misc/iperf:2 net-misc/iputils net-misc/openssh net-misc/radvd net-proxy/tinyproxy wifi_hostap_test? ( net-wireless/hostap-test ) sys-apps/coreutils sys-apps/dtc sys-apps/ethtool sys-apps/file sys-apps/findutils sys-apps/kbd sys-apps/shadow sys-devel/binutils sys-process/iotop sys-process/procps sys-process/psmisc sys-process/time x11-libs/libdrm )
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=7a66241fdf6e5755fcc20a2e7fabea2a
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f427227dcbfaf50e622d5e2d7408a8b8
diff --git a/metadata/md5-cache/virtual/tast-remote-tests-1 b/metadata/md5-cache/virtual/tast-remote-tests-1
new file mode 100644
index 0000000..150bb3d
--- /dev/null
+++ b/metadata/md5-cache/virtual/tast-remote-tests-1
@@ -0,0 +1,8 @@
+DEFINED_PHASES=-
+DESCRIPTION=Virtual package for private Tast local test bundles. This package can be overridden by overlays to bring in private tests.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast/
+KEYWORDS=*
+LICENSE=metapackage
+SLOT=0
+_md5_=8780f1e2f13866186375b577cc6743ce
diff --git a/metadata/md5-cache/virtual/tast-remote-tests-1-r1 b/metadata/md5-cache/virtual/tast-remote-tests-1-r1
new file mode 100644
index 0000000..150bb3d
--- /dev/null
+++ b/metadata/md5-cache/virtual/tast-remote-tests-1-r1
@@ -0,0 +1,8 @@
+DEFINED_PHASES=-
+DESCRIPTION=Virtual package for private Tast local test bundles. This package can be overridden by overlays to bring in private tests.
+EAPI=7
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/platform/tast/
+KEYWORDS=*
+LICENSE=metapackage
+SLOT=0
+_md5_=8780f1e2f13866186375b577cc6743ce
diff --git a/metadata/md5-cache/virtual/toolchain-packages-1 b/metadata/md5-cache/virtual/toolchain-packages-1
index 8ebfd34..be27604 100644
--- a/metadata/md5-cache/virtual/toolchain-packages-1
+++ b/metadata/md5-cache/virtual/toolchain-packages-1
@@ -1,9 +1,9 @@
 DEFINED_PHASES=compile
-DEPEND=dev-lang/go dev-lang/rust dev-libs/elfutils sys-devel/binutils sys-devel/gcc sys-devel/llvm sys-kernel/linux-headers sys-libs/compiler-rt sys-libs/glibc sys-libs/libcxx sys-libs/libcxxabi sys-libs/llvm-libunwind
+DEPEND=dev-lang/go dev-lang/rust dev-libs/elfutils sys-devel/binutils sys-devel/gcc sys-devel/llvm sys-kernel/linux-headers sys-libs/compiler-rt sys-libs/glibc sys-libs/libcxx sys-libs/libcxxabi sys-libs/libxcrypt sys-libs/llvm-libunwind
 DESCRIPTION=Virtual package for listing toolchain packages. All packages which should be considered part of the toolchain must be directly listed as dependencies of this package. The common features of packages that should be in this virtual are packages that consumed by many other packages (to the point of needing to rebuild a significant chunk of the world to properly test changes) and that don't fit nicely in to Portage's dependency model (for bootstrap problems/circular dependencies/other reasons).
 EAPI=7
 HOMEPAGE=http://dev.chromium.org/chromium-os
 KEYWORDS=*
 LICENSE=metapackage
 SLOT=0
-_md5_=be9a637c579212c19693e87b9d4ae006
+_md5_=804b924acc72eddadf785bbd4d54cb62
diff --git a/metadata/md5-cache/virtual/toolchain-packages-1-r3 b/metadata/md5-cache/virtual/toolchain-packages-1-r3
deleted file mode 100644
index 8ebfd34..0000000
--- a/metadata/md5-cache/virtual/toolchain-packages-1-r3
+++ /dev/null
@@ -1,9 +0,0 @@
-DEFINED_PHASES=compile
-DEPEND=dev-lang/go dev-lang/rust dev-libs/elfutils sys-devel/binutils sys-devel/gcc sys-devel/llvm sys-kernel/linux-headers sys-libs/compiler-rt sys-libs/glibc sys-libs/libcxx sys-libs/libcxxabi sys-libs/llvm-libunwind
-DESCRIPTION=Virtual package for listing toolchain packages. All packages which should be considered part of the toolchain must be directly listed as dependencies of this package. The common features of packages that should be in this virtual are packages that consumed by many other packages (to the point of needing to rebuild a significant chunk of the world to properly test changes) and that don't fit nicely in to Portage's dependency model (for bootstrap problems/circular dependencies/other reasons).
-EAPI=7
-HOMEPAGE=http://dev.chromium.org/chromium-os
-KEYWORDS=*
-LICENSE=metapackage
-SLOT=0
-_md5_=be9a637c579212c19693e87b9d4ae006
diff --git a/metadata/md5-cache/virtual/toolchain-packages-1-r4 b/metadata/md5-cache/virtual/toolchain-packages-1-r4
new file mode 100644
index 0000000..be27604
--- /dev/null
+++ b/metadata/md5-cache/virtual/toolchain-packages-1-r4
@@ -0,0 +1,9 @@
+DEFINED_PHASES=compile
+DEPEND=dev-lang/go dev-lang/rust dev-libs/elfutils sys-devel/binutils sys-devel/gcc sys-devel/llvm sys-kernel/linux-headers sys-libs/compiler-rt sys-libs/glibc sys-libs/libcxx sys-libs/libcxxabi sys-libs/libxcrypt sys-libs/llvm-libunwind
+DESCRIPTION=Virtual package for listing toolchain packages. All packages which should be considered part of the toolchain must be directly listed as dependencies of this package. The common features of packages that should be in this virtual are packages that consumed by many other packages (to the point of needing to rebuild a significant chunk of the world to properly test changes) and that don't fit nicely in to Portage's dependency model (for bootstrap problems/circular dependencies/other reasons).
+EAPI=7
+HOMEPAGE=http://dev.chromium.org/chromium-os
+KEYWORDS=*
+LICENSE=metapackage
+SLOT=0
+_md5_=804b924acc72eddadf785bbd4d54cb62
diff --git a/metadata/md5-cache/x11-apps/igt-gpu-tools-1.25-r20 b/metadata/md5-cache/x11-apps/igt-gpu-tools-1.25-r20
deleted file mode 100644
index edf63e3..0000000
--- a/metadata/md5-cache/x11-apps/igt-gpu-tools-1.25-r20
+++ /dev/null
@@ -1,17 +0,0 @@
-BDEPEND=>=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=dev-libs/elfutils dev-libs/glib:2 sys-apps/kmod:= sys-libs/llvm-libunwind:= sys-libs/zlib:= sys-process/procps:= virtual/libudev:= >=x11-libs/cairo-1.12.0[X?] >=x11-libs/libdrm-2.4.82[video_cards_amdgpu?,video_cards_intel?,video_cards_nouveau?] >=x11-libs/libpciaccess-0.10 x11-libs/pixman chamelium? ( dev-libs/xmlrpc-c[curl] sci-libs/gsl media-libs/alsa-lib:= ) overlay? ( >=x11-libs/libXrandr-1.3 xv? ( x11-libs/libX11 x11-libs/libXext x11-libs/libXv ) ) runner? ( dev-libs/json-c:= ) unwind? ( sys-libs/libunwind ) valgrind? ( dev-util/valgrind ) doc? ( >=dev-util/gtk-doc-1.25-r1 ) man? ( dev-python/docutils ) overlay? ( >=dev-util/peg-0.1.18 x11-base/xorg-proto ) video_cards_intel? ( sys-devel/bison sys-devel/flex )
-DESCRIPTION=Intel GPU userland tools
-EAPI=7
-HOMEPAGE=https://01.org/linuxgraphics https://gitlab.freedesktop.org/drm/igt-gpu-tools
-IUSE=chamelium doc man overlay runner tests unwind valgrind video_cards_amdgpu video_cards_intel video_cards_nouveau video_cards_mediatek video_cards_msm X xv cros_host cros_workon_tree_97ded91d8c8e02279f02167e83326aa1ef055ed5
-KEYWORDS=*
-LICENSE=MIT
-PROPERTIES=live
-RDEPEND=dev-libs/elfutils dev-libs/glib:2 sys-apps/kmod:= sys-libs/llvm-libunwind:= sys-libs/zlib:= sys-process/procps:= virtual/libudev:= >=x11-libs/cairo-1.12.0[X?] >=x11-libs/libdrm-2.4.82[video_cards_amdgpu?,video_cards_intel?,video_cards_nouveau?] >=x11-libs/libpciaccess-0.10 x11-libs/pixman chamelium? ( dev-libs/xmlrpc-c[curl] sci-libs/gsl media-libs/alsa-lib:= ) overlay? ( >=x11-libs/libXrandr-1.3 xv? ( x11-libs/libX11 x11-libs/libXext x11-libs/libXv ) ) runner? ( dev-libs/json-c:= ) unwind? ( sys-libs/libunwind ) valgrind? ( dev-util/valgrind )
-REQUIRED_USE=|| ( video_cards_amdgpu video_cards_intel video_cards_nouveau video_cards_mediatek video_cards_msm ) overlay? ( video_cards_intel || ( X xv ) ) doc? ( tests )
-RESTRICT=test
-SLOT=0
-SRC_URI=https://www.x.org/releases/individual/app/igt-gpu-tools-1.25.tar.xz
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=53c5fa67b847571fd3c62212cc9551b4
diff --git a/metadata/md5-cache/x11-apps/igt-gpu-tools-1.25-r23 b/metadata/md5-cache/x11-apps/igt-gpu-tools-1.25-r23
new file mode 100644
index 0000000..c4e15d0
--- /dev/null
+++ b/metadata/md5-cache/x11-apps/igt-gpu-tools-1.25-r23
@@ -0,0 +1,17 @@
+BDEPEND=>=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=dev-libs/elfutils dev-libs/glib:2 sys-apps/kmod:= sys-libs/llvm-libunwind:= sys-libs/zlib:= sys-process/procps:= virtual/libudev:= >=x11-libs/cairo-1.12.0[X?] >=x11-libs/libdrm-2.4.82[video_cards_amdgpu?,video_cards_intel?,video_cards_nouveau?] >=x11-libs/libpciaccess-0.10 x11-libs/pixman chamelium? ( dev-libs/xmlrpc-c[curl] sci-libs/gsl media-libs/alsa-lib:= ) overlay? ( >=x11-libs/libXrandr-1.3 xv? ( x11-libs/libX11 x11-libs/libXext x11-libs/libXv ) ) runner? ( dev-libs/json-c:= ) unwind? ( sys-libs/libunwind ) valgrind? ( dev-util/valgrind ) doc? ( >=dev-util/gtk-doc-1.25-r1 ) man? ( dev-python/docutils ) overlay? ( >=dev-util/peg-0.1.18 x11-base/xorg-proto ) video_cards_intel? ( sys-devel/bison sys-devel/flex )
+DESCRIPTION=Intel GPU userland tools
+EAPI=7
+HOMEPAGE=https://01.org/linuxgraphics https://gitlab.freedesktop.org/drm/igt-gpu-tools
+IUSE=chamelium doc man overlay runner tests unwind valgrind video_cards_amdgpu video_cards_intel video_cards_nouveau video_cards_mediatek video_cards_msm X xv cros_host cros_workon_tree_9139af283af4f21d30aa5b68505cb2dfde7a8d6f
+KEYWORDS=*
+LICENSE=MIT
+PROPERTIES=live
+RDEPEND=dev-libs/elfutils dev-libs/glib:2 sys-apps/kmod:= sys-libs/llvm-libunwind:= sys-libs/zlib:= sys-process/procps:= virtual/libudev:= >=x11-libs/cairo-1.12.0[X?] >=x11-libs/libdrm-2.4.82[video_cards_amdgpu?,video_cards_intel?,video_cards_nouveau?] >=x11-libs/libpciaccess-0.10 x11-libs/pixman chamelium? ( dev-libs/xmlrpc-c[curl] sci-libs/gsl media-libs/alsa-lib:= ) overlay? ( >=x11-libs/libXrandr-1.3 xv? ( x11-libs/libX11 x11-libs/libXext x11-libs/libXv ) ) runner? ( dev-libs/json-c:= ) unwind? ( sys-libs/libunwind ) valgrind? ( dev-util/valgrind )
+REQUIRED_USE=|| ( video_cards_amdgpu video_cards_intel video_cards_nouveau video_cards_mediatek video_cards_msm ) overlay? ( video_cards_intel || ( X xv ) ) doc? ( tests )
+RESTRICT=test
+SLOT=0
+SRC_URI=https://www.x.org/releases/individual/app/igt-gpu-tools-1.25.tar.xz
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=18804888933b6f99074028eb7386645f
diff --git a/metadata/md5-cache/x11-apps/igt-gpu-tools-9999 b/metadata/md5-cache/x11-apps/igt-gpu-tools-9999
index 5bd1a8b..53683be 100644
--- a/metadata/md5-cache/x11-apps/igt-gpu-tools-9999
+++ b/metadata/md5-cache/x11-apps/igt-gpu-tools-9999
@@ -1,4 +1,4 @@
-BDEPEND=>=dev-vcs/git-1.8.2.1[curl] >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+BDEPEND=>=dev-vcs/git-1.8.2.1[curl] >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup test unpack
 DEPEND=dev-libs/elfutils dev-libs/glib:2 sys-apps/kmod:= sys-libs/llvm-libunwind:= sys-libs/zlib:= sys-process/procps:= virtual/libudev:= >=x11-libs/cairo-1.12.0[X?] >=x11-libs/libdrm-2.4.82[video_cards_amdgpu?,video_cards_intel?,video_cards_nouveau?] >=x11-libs/libpciaccess-0.10 x11-libs/pixman chamelium? ( dev-libs/xmlrpc-c[curl] sci-libs/gsl media-libs/alsa-lib:= ) overlay? ( >=x11-libs/libXrandr-1.3 xv? ( x11-libs/libX11 x11-libs/libXext x11-libs/libXv ) ) runner? ( dev-libs/json-c:= ) unwind? ( sys-libs/libunwind ) valgrind? ( dev-util/valgrind ) doc? ( >=dev-util/gtk-doc-1.25-r1 ) man? ( dev-python/docutils ) overlay? ( >=dev-util/peg-0.1.18 x11-base/xorg-proto ) video_cards_intel? ( sys-devel/bison sys-devel/flex )
 DESCRIPTION=Intel GPU userland tools
@@ -12,5 +12,5 @@
 REQUIRED_USE=|| ( video_cards_amdgpu video_cards_intel video_cards_nouveau video_cards_mediatek video_cards_msm ) overlay? ( video_cards_intel || ( X xv ) ) doc? ( tests )
 RESTRICT=test
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	git-r3	c8f4649ab5a3c07ee2b75b12bc446f6a	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=53c5fa67b847571fd3c62212cc9551b4
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	git-r3	c8f4649ab5a3c07ee2b75b12bc446f6a	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=18804888933b6f99074028eb7386645f
diff --git a/metadata/md5-cache/x11-base/xwayland-1.20.8 b/metadata/md5-cache/x11-base/xwayland-1.20.8
index 9b33fa7..eaff575 100644
--- a/metadata/md5-cache/x11-base/xwayland-1.20.8
+++ b/metadata/md5-cache/x11-base/xwayland-1.20.8
@@ -1,6 +1,6 @@
 BDEPEND=>=app-portage/elt-patches-20170815 ppc-aix? ( >=sys-devel/libtool-2.2.6a sys-devel/m4 >=x11-misc/util-macros-1.18 >=media-fonts/font-util-1.2.0 ) x86-winnt? ( >=sys-devel/libtool-2.2.6a sys-devel/m4 >=x11-misc/util-macros-1.18 >=media-fonts/font-util-1.2.0 ) >=sys-devel/libtool-2.2.6a sys-devel/m4 >=x11-misc/util-macros-1.18 >=media-fonts/font-util-1.2.0 virtual/pkgconfig doc? ( doc? ( || ( app-text/asciidoc dev-ruby/asciidoctor ) app-text/xmlto app-doc/doxygen app-text/docbook-xml-dtd:4.1.2 app-text/docbook-xml-dtd:4.2 app-text/docbook-xml-dtd:4.3 ) )
 DEFINED_PHASES=compile configure install postinst postrm prepare unpack
-DEPEND=!x11-base/xorg-server dev-libs/openssl:0= >=dev-libs/wayland-1.3.0 >=media-libs/mesa-10.3.4-r1 >=x11-libs/libXfont2-2.0.1 >=x11-libs/libxshmfence-1.1 >=x11-libs/pixman-0.27.2 >=x11-misc/xkeyboard-config-2.4.1-r3 >=x11-apps/xkbcomp-1.2.3 >=dev-libs/wayland-protocols-1.1 >=sys-kernel/linux-headers-4.4-r16 media-libs/libepoxy >=x11-libs/libdrm-2.4.46 >=x11-libs/libxkbfile-1.0.4 >=x11-libs/xtrans-1.3.5 >=x11-misc/xbitmaps-1.0.1 >=x11-base/xorg-proto-2018.3 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DEPEND=!x11-base/xorg-server dev-libs/openssl:0= >=dev-libs/wayland-1.3.0 >=media-libs/mesa-10.3.4-r1 >=x11-libs/libXfont2-2.0.1 >=x11-libs/libxshmfence-1.1 >=x11-libs/pixman-0.27.2 >=x11-misc/xkeyboard-config-2.4.1-r3 >=x11-apps/xkbcomp-1.2.3 >=dev-libs/wayland-protocols-1.1 >=sys-kernel/linux-headers-4.4-r16 media-fonts/font-util media-libs/libepoxy >=x11-libs/libdrm-2.4.46 >=x11-libs/libxkbfile-1.0.4 >=x11-libs/xtrans-1.3.5 >=x11-misc/xbitmaps-1.0.1 >=x11-base/xorg-proto-2018.3 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
 DESCRIPTION=XWayland
 EAPI=7
 HOMEPAGE=https://www.x.org/wiki/ https://gitlab.freedesktop.org/xorg/xserver/xwayland
@@ -11,4 +11,4 @@
 SLOT=0/1.20.8
 SRC_URI=https://www.x.org/releases/individual/xserver/xorg-server-1.20.8.tar.bz2
 _eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xorg-3	8cad61092536d3b5fcfc558b8c5d44cc
-_md5_=ccad9e8a3dc8211cdedb1301006e63c6
+_md5_=c36a3f8fb74ca2b52f987bf5aa31f501
diff --git a/metadata/md5-cache/x11-base/xwayland-1.20.8-r3 b/metadata/md5-cache/x11-base/xwayland-1.20.8-r3
deleted file mode 100644
index 9b33fa7..0000000
--- a/metadata/md5-cache/x11-base/xwayland-1.20.8-r3
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=>=app-portage/elt-patches-20170815 ppc-aix? ( >=sys-devel/libtool-2.2.6a sys-devel/m4 >=x11-misc/util-macros-1.18 >=media-fonts/font-util-1.2.0 ) x86-winnt? ( >=sys-devel/libtool-2.2.6a sys-devel/m4 >=x11-misc/util-macros-1.18 >=media-fonts/font-util-1.2.0 ) >=sys-devel/libtool-2.2.6a sys-devel/m4 >=x11-misc/util-macros-1.18 >=media-fonts/font-util-1.2.0 virtual/pkgconfig doc? ( doc? ( || ( app-text/asciidoc dev-ruby/asciidoctor ) app-text/xmlto app-doc/doxygen app-text/docbook-xml-dtd:4.1.2 app-text/docbook-xml-dtd:4.2 app-text/docbook-xml-dtd:4.3 ) )
-DEFINED_PHASES=compile configure install postinst postrm prepare unpack
-DEPEND=!x11-base/xorg-server dev-libs/openssl:0= >=dev-libs/wayland-1.3.0 >=media-libs/mesa-10.3.4-r1 >=x11-libs/libXfont2-2.0.1 >=x11-libs/libxshmfence-1.1 >=x11-libs/pixman-0.27.2 >=x11-misc/xkeyboard-config-2.4.1-r3 >=x11-apps/xkbcomp-1.2.3 >=dev-libs/wayland-protocols-1.1 >=sys-kernel/linux-headers-4.4-r16 media-libs/libepoxy >=x11-libs/libdrm-2.4.46 >=x11-libs/libxkbfile-1.0.4 >=x11-libs/xtrans-1.3.5 >=x11-misc/xbitmaps-1.0.1 >=x11-base/xorg-proto-2018.3 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=XWayland
-EAPI=7
-HOMEPAGE=https://www.x.org/wiki/ https://gitlab.freedesktop.org/xorg/xserver/xwayland
-IUSE=kvm_guest minimal static-libs doc
-KEYWORDS=*
-LICENSE=MIT
-RDEPEND=!x11-base/xorg-server dev-libs/openssl:0= >=dev-libs/wayland-1.3.0 >=media-libs/mesa-10.3.4-r1 >=x11-libs/libXfont2-2.0.1 >=x11-libs/libxshmfence-1.1 >=x11-libs/pixman-0.27.2 >=x11-misc/xkeyboard-config-2.4.1-r3 >=x11-apps/xkbcomp-1.2.3
-SLOT=0/1.20.8
-SRC_URI=https://www.x.org/releases/individual/xserver/xorg-server-1.20.8.tar.bz2
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xorg-3	8cad61092536d3b5fcfc558b8c5d44cc
-_md5_=ccad9e8a3dc8211cdedb1301006e63c6
diff --git a/metadata/md5-cache/x11-base/xwayland-1.20.8-r4 b/metadata/md5-cache/x11-base/xwayland-1.20.8-r4
new file mode 100644
index 0000000..eaff575
--- /dev/null
+++ b/metadata/md5-cache/x11-base/xwayland-1.20.8-r4
@@ -0,0 +1,14 @@
+BDEPEND=>=app-portage/elt-patches-20170815 ppc-aix? ( >=sys-devel/libtool-2.2.6a sys-devel/m4 >=x11-misc/util-macros-1.18 >=media-fonts/font-util-1.2.0 ) x86-winnt? ( >=sys-devel/libtool-2.2.6a sys-devel/m4 >=x11-misc/util-macros-1.18 >=media-fonts/font-util-1.2.0 ) >=sys-devel/libtool-2.2.6a sys-devel/m4 >=x11-misc/util-macros-1.18 >=media-fonts/font-util-1.2.0 virtual/pkgconfig doc? ( doc? ( || ( app-text/asciidoc dev-ruby/asciidoctor ) app-text/xmlto app-doc/doxygen app-text/docbook-xml-dtd:4.1.2 app-text/docbook-xml-dtd:4.2 app-text/docbook-xml-dtd:4.3 ) )
+DEFINED_PHASES=compile configure install postinst postrm prepare unpack
+DEPEND=!x11-base/xorg-server dev-libs/openssl:0= >=dev-libs/wayland-1.3.0 >=media-libs/mesa-10.3.4-r1 >=x11-libs/libXfont2-2.0.1 >=x11-libs/libxshmfence-1.1 >=x11-libs/pixman-0.27.2 >=x11-misc/xkeyboard-config-2.4.1-r3 >=x11-apps/xkbcomp-1.2.3 >=dev-libs/wayland-protocols-1.1 >=sys-kernel/linux-headers-4.4-r16 media-fonts/font-util media-libs/libepoxy >=x11-libs/libdrm-2.4.46 >=x11-libs/libxkbfile-1.0.4 >=x11-libs/xtrans-1.3.5 >=x11-misc/xbitmaps-1.0.1 >=x11-base/xorg-proto-2018.3 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=XWayland
+EAPI=7
+HOMEPAGE=https://www.x.org/wiki/ https://gitlab.freedesktop.org/xorg/xserver/xwayland
+IUSE=kvm_guest minimal static-libs doc
+KEYWORDS=*
+LICENSE=MIT
+RDEPEND=!x11-base/xorg-server dev-libs/openssl:0= >=dev-libs/wayland-1.3.0 >=media-libs/mesa-10.3.4-r1 >=x11-libs/libXfont2-2.0.1 >=x11-libs/libxshmfence-1.1 >=x11-libs/pixman-0.27.2 >=x11-misc/xkeyboard-config-2.4.1-r3 >=x11-apps/xkbcomp-1.2.3
+SLOT=0/1.20.8
+SRC_URI=https://www.x.org/releases/individual/xserver/xorg-server-1.20.8.tar.bz2
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xorg-3	8cad61092536d3b5fcfc558b8c5d44cc
+_md5_=c36a3f8fb74ca2b52f987bf5aa31f501
diff --git a/metadata/md5-cache/x11-drivers/opengles-headers-0.0.1-r40 b/metadata/md5-cache/x11-drivers/opengles-headers-0.0.1-r40
deleted file mode 100644
index 4626476..0000000
--- a/metadata/md5-cache/x11-drivers/opengles-headers-0.0.1-r40
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install setup unpack
-DEPEND=x11-libs/libX11 >=dev-util/opencl-headers-2021.04.29 dev-util/spirv-headers
-DESCRIPTION=OpenGL|ES headers.
-EAPI=7
-HOMEPAGE=http://www.khronos.org/opengles/2_X/
-IUSE=cros_host cros_workon_tree_b361c5863ff03785be5f24968c25fa6a69bf4465
-KEYWORDS=*
-LICENSE=SGI-B-2.0
-PROPERTIES=live
-RDEPEND=x11-libs/libX11 >=dev-util/opencl-headers-2021.04.29 dev-util/spirv-headers
-SLOT=0/0.0.1-r40
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=bb4e3d800cab978332d4226e3d0fdcc6
diff --git a/metadata/md5-cache/x11-drivers/opengles-headers-0.0.1-r41 b/metadata/md5-cache/x11-drivers/opengles-headers-0.0.1-r41
new file mode 100644
index 0000000..ed658e6
--- /dev/null
+++ b/metadata/md5-cache/x11-drivers/opengles-headers-0.0.1-r41
@@ -0,0 +1,14 @@
+BDEPEND=dev-vcs/git
+DEFINED_PHASES=configure info install setup unpack
+DEPEND=x11-libs/libX11 >=dev-util/opencl-headers-2021.04.29 dev-util/spirv-headers
+DESCRIPTION=OpenGL|ES headers.
+EAPI=7
+HOMEPAGE=http://www.khronos.org/opengles/2_X/
+IUSE=cros_host cros_workon_tree_b361c5863ff03785be5f24968c25fa6a69bf4465 asan coverage fuzzer msan tsan ubsan
+KEYWORDS=*
+LICENSE=SGI-B-2.0
+PROPERTIES=live
+RDEPEND=x11-libs/libX11 >=dev-util/opencl-headers-2021.04.29 dev-util/spirv-headers
+SLOT=0/0.0.1-r41
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=46d3e3d2e80ade9ece2390dde7404576
diff --git a/metadata/md5-cache/x11-drivers/opengles-headers-9999 b/metadata/md5-cache/x11-drivers/opengles-headers-9999
index d66d37b..033280f 100644
--- a/metadata/md5-cache/x11-drivers/opengles-headers-9999
+++ b/metadata/md5-cache/x11-drivers/opengles-headers-9999
@@ -1,14 +1,14 @@
 BDEPEND=dev-vcs/git
-DEFINED_PHASES=info install setup unpack
+DEFINED_PHASES=configure info install setup unpack
 DEPEND=x11-libs/libX11 >=dev-util/opencl-headers-2021.04.29 dev-util/spirv-headers
 DESCRIPTION=OpenGL|ES headers.
 EAPI=7
 HOMEPAGE=http://www.khronos.org/opengles/2_X/
-IUSE=cros_host cros_workon_tree_
+IUSE=cros_host cros_workon_tree_ asan coverage fuzzer msan tsan ubsan
 KEYWORDS=~*
 LICENSE=SGI-B-2.0
 PROPERTIES=live
 RDEPEND=x11-libs/libX11 >=dev-util/opencl-headers-2021.04.29 dev-util/spirv-headers
 SLOT=0/9999
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=f64a1fa95f55221227e0a5c1687e2765
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-sanitizers	5d3cd3adbab6bd1fbf1edd64d5041997	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=f9f8b0fcc516dc0f739fbb1742e26b5e
diff --git a/metadata/md5-cache/x11-drivers/touchpad-tests-0.0.1-r192 b/metadata/md5-cache/x11-drivers/touchpad-tests-0.0.1-r192
index 6c356ef..c7289ec 100644
--- a/metadata/md5-cache/x11-drivers/touchpad-tests-0.0.1-r192
+++ b/metadata/md5-cache/x11-drivers/touchpad-tests-0.0.1-r192
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/gestures chromeos-base/libevdev:= app-misc/utouch-evemu x11-base/xorg-proto
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=75f1f1df346d64bc45be629ca930e48f
diff --git a/metadata/md5-cache/x11-drivers/touchpad-tests-9999 b/metadata/md5-cache/x11-drivers/touchpad-tests-9999
index d3f8e74..59b6779 100644
--- a/metadata/md5-cache/x11-drivers/touchpad-tests-9999
+++ b/metadata/md5-cache/x11-drivers/touchpad-tests-9999
@@ -9,5 +9,5 @@
 PROPERTIES=live
 RDEPEND=chromeos-base/gestures chromeos-base/libevdev:= app-misc/utouch-evemu x11-base/xorg-proto
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=6c5232e2d97df9f31991614c361a5c12
diff --git a/metadata/md5-cache/x11-libs/arc-libdrm-2.4.109-r1 b/metadata/md5-cache/x11-libs/arc-libdrm-2.4.109-r1
deleted file mode 100644
index 5d0eefc..0000000
--- a/metadata/md5-cache/x11-libs/arc-libdrm-2.4.109-r1
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=dev-vcs/git >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
-DEFINED_PHASES=compile configure info install setup test unpack
-DEPEND=sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-DESCRIPTION=X.Org libdrm library
-EAPI=7
-HOMEPAGE=http://dri.freedesktop.org/
-IUSE=video_cards_amdgpu video_cards_exynos video_cards_freedreno video_cards_nouveau video_cards_omap video_cards_radeon video_cards_vc4 video_cards_vmware libkms manpages +udev cros_host cros_workon_tree_5f4c92a363b4fc05db51694f9aa9e99aa7fdaaa8 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
-KEYWORDS=*
-LICENSE=|| ( MIT X )
-PROPERTIES=live
-REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
-RESTRICT=test
-SLOT=0
-_eclasses_=arc-build	b81e284348e452b00e55bc049a3fb873	arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=15c23fdbb6a32ada4a9e3c2e348d276a
diff --git a/metadata/md5-cache/x11-libs/arc-libdrm-2.4.110-r1 b/metadata/md5-cache/x11-libs/arc-libdrm-2.4.110-r1
new file mode 100644
index 0000000..da5ed27
--- /dev/null
+++ b/metadata/md5-cache/x11-libs/arc-libdrm-2.4.110-r1
@@ -0,0 +1,15 @@
+BDEPEND=dev-vcs/git >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+DEFINED_PHASES=compile configure info install setup test unpack
+DEPEND=sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+DESCRIPTION=X.Org libdrm library
+EAPI=7
+HOMEPAGE=http://dri.freedesktop.org/
+IUSE=video_cards_amdgpu video_cards_exynos video_cards_freedreno video_cards_nouveau video_cards_omap video_cards_radeon video_cards_vc4 video_cards_vmware libkms manpages +udev cros_host cros_workon_tree_f2dad5f135f56bf9e56b44d5b9637ffb59d38f23 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
+KEYWORDS=*
+LICENSE=|| ( MIT X )
+PROPERTIES=live
+REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
+RESTRICT=test
+SLOT=0
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=07708cd13c3f14b73a0b186e6ca322a3
diff --git a/metadata/md5-cache/x11-libs/arc-libdrm-9999 b/metadata/md5-cache/x11-libs/arc-libdrm-9999
index 03b7d97..6a15cf13 100644
--- a/metadata/md5-cache/x11-libs/arc-libdrm-9999
+++ b/metadata/md5-cache/x11-libs/arc-libdrm-9999
@@ -1,15 +1,15 @@
-BDEPEND=dev-vcs/git >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+BDEPEND=dev-vcs/git >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
 DEFINED_PHASES=compile configure info install setup test unpack
 DEPEND=sys-devel/arc-build[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
 DESCRIPTION=X.Org libdrm library
 EAPI=7
 HOMEPAGE=http://dri.freedesktop.org/
-IUSE=video_cards_amdgpu video_cards_exynos video_cards_freedreno video_cards_nouveau video_cards_omap video_cards_radeon video_cards_vc4 video_cards_vmware libkms manpages +udev cros_host cros_workon_tree_ abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-master
+IUSE=video_cards_amdgpu video_cards_exynos video_cards_freedreno video_cards_nouveau video_cards_omap video_cards_radeon video_cards_vc4 video_cards_vmware libkms manpages +udev cros_host cros_workon_tree_ abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64 arcpp arcvm cheets android-container-pi android-vm-rvc android-vm-sc android-vm-tm android-vm-master
 KEYWORDS=~*
 LICENSE=|| ( MIT X )
 PROPERTIES=live
-REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-master )
+REQUIRED_USE=cheets? ( || ( arcpp arcvm ) arcpp? ( ^^ ( android-container-pi ) ) arcvm? ( ^^ ( android-vm-rvc android-vm-sc android-vm-tm android-vm-master ) ) ) !cheets? ( !arcpp !arcvm ) !arcpp? ( !android-container-pi ) !arcvm? ( !android-vm-rvc !android-vm-sc !android-vm-tm !android-vm-master )
 RESTRICT=test
 SLOT=0
-_eclasses_=arc-build	b81e284348e452b00e55bc049a3fb873	arc-build-constants	7fdd7eed9abc3f4a7cb7496a49dca63f	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=15c23fdbb6a32ada4a9e3c2e348d276a
+_eclasses_=arc-build	db3f69fc6f1100463dbf69338afc9749	arc-build-constants	d7b5a0fbf96c98c1d8f5fb7855019615	cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=07708cd13c3f14b73a0b186e6ca322a3
diff --git a/metadata/md5-cache/x11-libs/libdrm-2.4.109-r1 b/metadata/md5-cache/x11-libs/libdrm-2.4.109-r1
deleted file mode 100644
index 7b74a50..0000000
--- a/metadata/md5-cache/x11-libs/libdrm-2.4.109-r1
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=>=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
-DEFINED_PHASES=compile configure info install prepare setup test unpack
-DEPEND=dev-libs/libpthread-stubs udev? ( virtual/udev ) video_cards_amdgpu? ( dev-util/cunit ) video_cards_intel? ( >=x11-libs/libpciaccess-0.10 ) !<x11-libs/libdrm-tests-2.4.58-r3
-DESCRIPTION=X.Org libdrm library
-EAPI=7
-HOMEPAGE=http://dri.freedesktop.org/
-IUSE=video_cards_amdgpu video_cards_exynos video_cards_freedreno video_cards_intel video_cards_nouveau video_cards_omap video_cards_radeon video_cards_vc4 video_cards_vmware libkms manpages +udev cros_host cros_workon_tree_5f4c92a363b4fc05db51694f9aa9e99aa7fdaaa8
-KEYWORDS=*
-LICENSE=|| ( MIT X )
-PROPERTIES=live
-RDEPEND=dev-libs/libpthread-stubs udev? ( virtual/udev ) video_cards_amdgpu? ( dev-util/cunit ) video_cards_intel? ( >=x11-libs/libpciaccess-0.10 ) !<x11-libs/libdrm-tests-2.4.58-r3
-REQUIRED_USE=video_cards_exynos? ( libkms )
-RESTRICT=test
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0f498f7cec95e75b35b8c9c860443192
diff --git a/metadata/md5-cache/x11-libs/libdrm-2.4.110-r2 b/metadata/md5-cache/x11-libs/libdrm-2.4.110-r2
new file mode 100644
index 0000000..60b9a67
--- /dev/null
+++ b/metadata/md5-cache/x11-libs/libdrm-2.4.110-r2
@@ -0,0 +1,16 @@
+BDEPEND=>=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+DEFINED_PHASES=compile configure info install prepare setup test unpack
+DEPEND=dev-libs/libpthread-stubs udev? ( virtual/udev ) video_cards_amdgpu? ( dev-util/cunit ) video_cards_intel? ( >=x11-libs/libpciaccess-0.10 ) !<x11-libs/libdrm-tests-2.4.58-r3
+DESCRIPTION=X.Org libdrm library
+EAPI=7
+HOMEPAGE=http://dri.freedesktop.org/
+IUSE=video_cards_amdgpu video_cards_exynos video_cards_freedreno video_cards_intel video_cards_nouveau video_cards_omap video_cards_radeon video_cards_vc4 video_cards_vmware libkms manpages +udev cros_host cros_workon_tree_f2dad5f135f56bf9e56b44d5b9637ffb59d38f23
+KEYWORDS=*
+LICENSE=|| ( MIT X )
+PROPERTIES=live
+RDEPEND=dev-libs/libpthread-stubs udev? ( virtual/udev ) video_cards_amdgpu? ( dev-util/cunit ) video_cards_intel? ( >=x11-libs/libpciaccess-0.10 ) !<x11-libs/libdrm-tests-2.4.58-r3
+REQUIRED_USE=video_cards_exynos? ( libkms )
+RESTRICT=test
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2e35506904b142f3fa5eb85cbb31c1d8
diff --git a/metadata/md5-cache/x11-libs/libdrm-9999 b/metadata/md5-cache/x11-libs/libdrm-9999
index 34a186e..1f37ff8 100644
--- a/metadata/md5-cache/x11-libs/libdrm-9999
+++ b/metadata/md5-cache/x11-libs/libdrm-9999
@@ -1,4 +1,4 @@
-BDEPEND=>=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
+BDEPEND=>=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array dev-vcs/git
 DEFINED_PHASES=compile configure info install prepare setup test unpack
 DEPEND=dev-libs/libpthread-stubs udev? ( virtual/udev ) video_cards_amdgpu? ( dev-util/cunit ) video_cards_intel? ( >=x11-libs/libpciaccess-0.10 ) !<x11-libs/libdrm-tests-2.4.58-r3
 DESCRIPTION=X.Org libdrm library
@@ -12,5 +12,5 @@
 REQUIRED_USE=video_cards_exynos? ( libkms )
 RESTRICT=test
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	5ec14fdbc5446b8767e87e186e3b1a52	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=0f498f7cec95e75b35b8c9c860443192
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	meson	1cac59cd2074f59abbe00de88e93af9f	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=2e35506904b142f3fa5eb85cbb31c1d8
diff --git a/metadata/md5-cache/x11-libs/libva-2.13.0 b/metadata/md5-cache/x11-libs/libva-2.13.0
deleted file mode 100644
index 31ead3f..0000000
--- a/metadata/md5-cache/x11-libs/libva-2.13.0
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=virtual/pkgconfig >=app-portage/elt-patches-20170815
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=>=x11-libs/libdrm-2.4.60[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Video Acceleration (VA) API for Linux
-EAPI=7
-HOMEPAGE=https://01.org/linuxmedia/vaapi
-IUSE=utils intel_oemcrypto internal intel_ihd_pavp video_cards_i965 video_cards_amdgpu video_cards_iHD abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=MIT
-PDEPEND=video_cards_i965? ( >=x11-libs/libva-intel-driver-2.0.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) video_cards_iHD? ( intel_oemcrypto? ( internal? ( x11-libs/libva-intel-media-driver-pavp[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !internal? ( intel_ihd_pavp? ( x11-libs/libva-intel-media-driver-pavp[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !intel_ihd_pavp? ( ~x11-libs/libva-intel-media-driver-21.3.5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) ) !intel_oemcrypto? ( ~x11-libs/libva-intel-media-driver-21.3.5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) video_cards_amdgpu? ( virtual/opengles[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) utils? ( media-video/libva-utils )
-RDEPEND=>=x11-libs/libdrm-2.4.60[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-SLOT=0/2
-SRC_URI=https://github.com/intel/libva/releases/download/2.13.0/libva-2.13.0.tar.gz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=82aaa4cb2d930a41cfbb4a7e1edfc2f6
diff --git a/metadata/md5-cache/x11-libs/libva-2.13.0-r2 b/metadata/md5-cache/x11-libs/libva-2.13.0-r2
deleted file mode 100644
index 31ead3f..0000000
--- a/metadata/md5-cache/x11-libs/libva-2.13.0-r2
+++ /dev/null
@@ -1,15 +0,0 @@
-BDEPEND=virtual/pkgconfig >=app-portage/elt-patches-20170815
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=>=x11-libs/libdrm-2.4.60[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Video Acceleration (VA) API for Linux
-EAPI=7
-HOMEPAGE=https://01.org/linuxmedia/vaapi
-IUSE=utils intel_oemcrypto internal intel_ihd_pavp video_cards_i965 video_cards_amdgpu video_cards_iHD abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=MIT
-PDEPEND=video_cards_i965? ( >=x11-libs/libva-intel-driver-2.0.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) video_cards_iHD? ( intel_oemcrypto? ( internal? ( x11-libs/libva-intel-media-driver-pavp[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !internal? ( intel_ihd_pavp? ( x11-libs/libva-intel-media-driver-pavp[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !intel_ihd_pavp? ( ~x11-libs/libva-intel-media-driver-21.3.5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) ) !intel_oemcrypto? ( ~x11-libs/libva-intel-media-driver-21.3.5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) video_cards_amdgpu? ( virtual/opengles[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) utils? ( media-video/libva-utils )
-RDEPEND=>=x11-libs/libdrm-2.4.60[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
-SLOT=0/2
-SRC_URI=https://github.com/intel/libva/releases/download/2.13.0/libva-2.13.0.tar.gz
-_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
-_md5_=82aaa4cb2d930a41cfbb4a7e1edfc2f6
diff --git a/metadata/md5-cache/x11-libs/libva-2.14.0 b/metadata/md5-cache/x11-libs/libva-2.14.0
new file mode 100644
index 0000000..2591509
--- /dev/null
+++ b/metadata/md5-cache/x11-libs/libva-2.14.0
@@ -0,0 +1,15 @@
+BDEPEND=virtual/pkgconfig >=app-portage/elt-patches-20170815
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=>=x11-libs/libdrm-2.4.60[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Video Acceleration (VA) API for Linux
+EAPI=7
+HOMEPAGE=https://01.org/linuxmedia/vaapi
+IUSE=utils intel_oemcrypto internal intel_ihd_pavp video_cards_i965 video_cards_amdgpu video_cards_iHD abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
+KEYWORDS=*
+LICENSE=MIT
+PDEPEND=video_cards_i965? ( >=x11-libs/libva-intel-driver-2.0.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) video_cards_iHD? ( intel_oemcrypto? ( internal? ( x11-libs/libva-intel-media-driver-pavp[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !internal? ( intel_ihd_pavp? ( x11-libs/libva-intel-media-driver-pavp[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) !intel_ihd_pavp? ( ~x11-libs/libva-intel-media-driver-22.3.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) ) !intel_oemcrypto? ( ~x11-libs/libva-intel-media-driver-22.3.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) ) video_cards_amdgpu? ( virtual/opengles[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) utils? ( media-video/libva-utils )
+RDEPEND=>=x11-libs/libdrm-2.4.60[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?]
+SLOT=0/2
+SRC_URI=https://github.com/intel/libva/releases/download/2.14.0/libva-2.14.0.tar.gz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	libtool	f143db5a74ccd9ca28c1234deffede96	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_md5_=d1a7a955ad74982440df3451e39010ed
diff --git a/metadata/md5-cache/x11-libs/libva-intel-media-driver-21.3.5 b/metadata/md5-cache/x11-libs/libva-intel-media-driver-21.3.5
deleted file mode 100644
index 8d0ec67..0000000
--- a/metadata/md5-cache/x11-libs/libva-intel-media-driver-21.3.5
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-util/ninja dev-util/cmake
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=>=media-libs/gmmlib-21.3.1 >=x11-libs/libva-2.13.0
-DESCRIPTION=Intel Media Driver for VAAPI (iHD)
-EAPI=7
-HOMEPAGE=https://github.com/intel/media-driver
-IUSE=ihd_cmrtlib
-KEYWORDS=*
-LICENSE=MIT BSD
-RDEPEND=>=media-libs/gmmlib-21.3.1 >=x11-libs/libva-2.13.0
-SLOT=0
-SRC_URI=https://github.com/intel/media-driver/archive/intel-media-21.3.5.tar.gz
-_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=17b8804a59889093f962953c40ef042c
diff --git a/metadata/md5-cache/x11-libs/libva-intel-media-driver-21.3.5-r6 b/metadata/md5-cache/x11-libs/libva-intel-media-driver-21.3.5-r6
deleted file mode 100644
index 8d0ec67..0000000
--- a/metadata/md5-cache/x11-libs/libva-intel-media-driver-21.3.5-r6
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=dev-util/ninja dev-util/cmake
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=>=media-libs/gmmlib-21.3.1 >=x11-libs/libva-2.13.0
-DESCRIPTION=Intel Media Driver for VAAPI (iHD)
-EAPI=7
-HOMEPAGE=https://github.com/intel/media-driver
-IUSE=ihd_cmrtlib
-KEYWORDS=*
-LICENSE=MIT BSD
-RDEPEND=>=media-libs/gmmlib-21.3.1 >=x11-libs/libva-2.13.0
-SLOT=0
-SRC_URI=https://github.com/intel/media-driver/archive/intel-media-21.3.5.tar.gz
-_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=17b8804a59889093f962953c40ef042c
diff --git a/metadata/md5-cache/x11-libs/libva-intel-media-driver-22.3.1 b/metadata/md5-cache/x11-libs/libva-intel-media-driver-22.3.1
new file mode 100644
index 0000000..46c7ba5
--- /dev/null
+++ b/metadata/md5-cache/x11-libs/libva-intel-media-driver-22.3.1
@@ -0,0 +1,14 @@
+BDEPEND=dev-util/ninja dev-util/cmake
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=>=media-libs/gmmlib-22.0.1:= >=x11-libs/libva-2.14.0
+DESCRIPTION=Intel Media Driver for VAAPI (iHD)
+EAPI=7
+HOMEPAGE=https://github.com/intel/media-driver
+IUSE=ihd_cmrtlib
+KEYWORDS=*
+LICENSE=MIT BSD
+RDEPEND=>=media-libs/gmmlib-22.0.1:= >=x11-libs/libva-2.14.0
+SLOT=0
+SRC_URI=https://github.com/intel/media-driver/archive/intel-media-22.3.1.tar.gz
+_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=e8f309da3c602f44ee5cd0fa1e14b6c8
diff --git a/metadata/md5-cache/x11-libs/libva-intel-media-driver-22.3.1-r7 b/metadata/md5-cache/x11-libs/libva-intel-media-driver-22.3.1-r7
new file mode 100644
index 0000000..46c7ba5
--- /dev/null
+++ b/metadata/md5-cache/x11-libs/libva-intel-media-driver-22.3.1-r7
@@ -0,0 +1,14 @@
+BDEPEND=dev-util/ninja dev-util/cmake
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=>=media-libs/gmmlib-22.0.1:= >=x11-libs/libva-2.14.0
+DESCRIPTION=Intel Media Driver for VAAPI (iHD)
+EAPI=7
+HOMEPAGE=https://github.com/intel/media-driver
+IUSE=ihd_cmrtlib
+KEYWORDS=*
+LICENSE=MIT BSD
+RDEPEND=>=media-libs/gmmlib-22.0.1:= >=x11-libs/libva-2.14.0
+SLOT=0
+SRC_URI=https://github.com/intel/media-driver/archive/intel-media-22.3.1.tar.gz
+_eclasses_=cmake	b22e256fd899c7e0c747e8834eff121a	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	multilib	2477ebe553d3e4d2c606191fe6c33602	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
+_md5_=e8f309da3c602f44ee5cd0fa1e14b6c8
diff --git a/metadata/md5-cache/x11-libs/libxkbcommon-1.0.3 b/metadata/md5-cache/x11-libs/libxkbcommon-1.0.3
index 41ab425..7a19894 100644
--- a/metadata/md5-cache/x11-libs/libxkbcommon-1.0.3
+++ b/metadata/md5-cache/x11-libs/libxkbcommon-1.0.3
@@ -1,4 +1,4 @@
-BDEPEND=sys-devel/bison doc? ( app-doc/doxygen ) test? ( || ( dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) ) >=dev-util/meson-0.56.0 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+BDEPEND=sys-devel/bison doc? ( app-doc/doxygen ) test? ( || ( dev-lang/python:3.8 dev-lang/python:3.7 dev-lang/python:3.6 ) ) >=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
 DEFINED_PHASES=compile configure install setup test
 DEPEND=X? ( >=x11-libs/libxcb-1.10:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?,xkb] ) dev-libs/libxml2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] x11-misc/compose-tables X? ( x11-base/xorg-proto )
 DESCRIPTION=keymap handling library for toolkits and window systems
@@ -11,5 +11,5 @@
 RESTRICT=!test? ( test )
 SLOT=0
 SRC_URI=https://xkbcommon.org/download/libxkbcommon-1.0.3.tar.xz
-_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	5ec14fdbc5446b8767e87e186e3b1a52	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
+_eclasses_=eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	meson	1cac59cd2074f59abbe00de88e93af9f	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	multiprocessing	c3cf317581e5bd068a4b851f03dd8cba	ninja-utils	132cbb376048d079b5a012f5467c4e7f	python-any-r1	54a3178500786b0a7ede4a23b7f2a6ad	python-utils-r1	157a6a7a3e99c7dbdf81acc9dd4f57cd	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e
 _md5_=1b031b43c45976f85c14ab9fb3459d1d
diff --git a/metadata/md5-cache/x11-themes/cros-adapta-0.0.1-r32 b/metadata/md5-cache/x11-themes/cros-adapta-0.0.1-r32
deleted file mode 100644
index 3d17e24..0000000
--- a/metadata/md5-cache/x11-themes/cros-adapta-0.0.1-r32
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=info install setup unpack
-DESCRIPTION=GTK theme for the VM guest container for Chrome OS
-EAPI=5
-HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/cros-adapta/
-IUSE=cros_host cros_workon_tree_04ad283baafb2d029a39ee87e84731a6951b9eb4
-KEYWORDS=*
-LICENSE=GPL-2 CC-BY-4.0
-PROPERTIES=live
-SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=69d1c1fbe765c4c62493884d50b8fabe
diff --git a/metadata/md5-cache/x11-themes/cros-adapta-0.0.1-r34 b/metadata/md5-cache/x11-themes/cros-adapta-0.0.1-r34
new file mode 100644
index 0000000..00d59c4
--- /dev/null
+++ b/metadata/md5-cache/x11-themes/cros-adapta-0.0.1-r34
@@ -0,0 +1,11 @@
+DEFINED_PHASES=info install setup unpack
+DESCRIPTION=GTK theme for the VM guest container for Chrome OS
+EAPI=5
+HOMEPAGE=https://chromium.googlesource.com/chromiumos/third_party/cros-adapta/
+IUSE=cros_host cros_workon_tree_7b93178709970757d72325b63d06bc6935e825c3
+KEYWORDS=*
+LICENSE=GPL-2 CC-BY-4.0
+PROPERTIES=live
+SLOT=0
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_md5_=8e6a20056a3d7998766895f19e678901
diff --git a/metadata/md5-cache/x11-themes/cros-adapta-9999 b/metadata/md5-cache/x11-themes/cros-adapta-9999
index f6dd176..b6cf0bf 100644
--- a/metadata/md5-cache/x11-themes/cros-adapta-9999
+++ b/metadata/md5-cache/x11-themes/cros-adapta-9999
@@ -7,5 +7,5 @@
 LICENSE=GPL-2 CC-BY-4.0
 PROPERTIES=live
 SLOT=0
-_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	4fd98ebbff6a1534ca9a89547e13dc92	cros-workon	3c71f7f071c8eef67417b728224b1702	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
+_eclasses_=cros-constants	bf71cd1168b6441b64a8cdbc06c36eda	cros-credentials	288b684bd94cec7d9efbbee007296194	cros-workon	ef32a61bc5aebb70f04172c67b6c0c54	desktop	b1d22ac8bdd4679ab79c71aca235009d	epatch	ed88001f77c6dd0d5f09e45c1a5b480e	estack	686eaab303305a908fd57b2fd7617800	eutils	fcb2aa98e1948b835b5ae66ca52868c5	flag-o-matic	09a8beb8e6a8e02dc1e1bd83ac353741	git-2	d6a1d7d3b4c4fff2fba86e3f53beeb0f	ltprune	2729691420b6deeda2a90b1f1183fb55	multilib	2477ebe553d3e4d2c606191fe6c33602	preserve-libs	ef207dc62baddfddfd39a164d9797648	toolchain-funcs	528ab0a9e1ee02c57524ad3bede3c57e	vcs-clean	2a0f74a496fa2b1552c4f3398258b7bf
 _md5_=08ccdaf7863bba37ec96d0d3d54c119a
diff --git a/net-analyzer/OWNERS b/net-analyzer/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/net-analyzer/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/net-analyzer/metadata.xml b/net-analyzer/metadata.xml
deleted file mode 100644
index 58f5863..0000000
--- a/net-analyzer/metadata.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The net-analyzer category contains network analysis software.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie net-analyzer enthält Software zur Netzwerkanalyse.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría net-analyzer contiene programas de análisis de redes.
-	</longdescription>
-	<longdescription lang="ja">
-		net-analyzerカテゴリーにはネットワーク・アナリシスのソフトウェアが含まれています。
-	</longdescription>
-	<longdescription lang="nl">
-		De net-analyzer categorie bevat applicaties voor netwerk-analyse.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm net-analyzer chứa các phần mềm phân tích mạng.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria net-analyzer contiene programmi per l'analisi della rete.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria net-analyzer contém programas de análise de rede.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria net-analyzer zawiera programy do analizowania sieci.
-	</longdescription>
-</catmetadata>
-
diff --git a/net-analyzer/nmap/nmap-7.70-r3.ebuild b/net-analyzer/nmap/nmap-7.70-r4.ebuild
similarity index 100%
rename from net-analyzer/nmap/nmap-7.70-r3.ebuild
rename to net-analyzer/nmap/nmap-7.70-r4.ebuild
diff --git a/net-analyzer/nmap/nmap-7.70.ebuild b/net-analyzer/nmap/nmap-7.70.ebuild
index 0fe49ec..7ffba88 100644
--- a/net-analyzer/nmap/nmap-7.70.ebuild
+++ b/net-analyzer/nmap/nmap-7.70.ebuild
@@ -90,17 +90,17 @@
 
 	local lingua
 	if use nls; then
-		for lingua in ${NMAP_LINGUAS[@]}; do
-			if ! has ${lingua} ${LINGUAS-${lingua}}; then
-				rm -r zenmap/share/zenmap/locale/${lingua} || die
-				rm zenmap/share/zenmap/locale/${lingua}.po || die
+		for lingua in "${NMAP_LINGUAS[@]}"; do
+			if ! has "${lingua}" "${LINGUAS-${lingua}}"; then
+				rm -r zenmap/share/zenmap/locale/"${lingua}" || die
+				rm zenmap/share/zenmap/locale/"${lingua}".po || die
 			fi
 		done
 	else
 		# configure/make ignores --disable-nls
-		for lingua in ${NMAP_LINGUAS[@]}; do
-			rm -r zenmap/share/zenmap/locale/${lingua} || die
-			rm zenmap/share/zenmap/locale/${lingua}.po || die
+		for lingua in "${NMAP_LINGUAS[@]}"; do
+			rm -r zenmap/share/zenmap/locale/"${lingua}" || die
+			rm zenmap/share/zenmap/locale/"${lingua}".po || die
 		done
 	fi
 
@@ -108,10 +108,7 @@
 		-e '/^ALL_LINGUAS =/{s|$| id|g;s|jp|ja|g}' \
 		Makefile.in || die
 
-	sed -i \
-		-e '/rm -f $@/d' \
-		$(find . -name Makefile.in) \
-		|| die
+	find . -name Makefile.in -exec sed -i -e '/rm -f $@/d' {} + || die
 
 	# Fix desktop files wrt bug #432714
 	sed -i \
@@ -135,6 +132,9 @@
 }
 
 src_configure() {
+	# Let Portage do the stripping.
+	export ac_cv_prog_STRIP="$(type -P true) faking strip"
+
 	# The bundled libdnet is incompatible with the version available in the
 	# tree, so we cannot use the system library here.
 	econf \
@@ -148,7 +148,7 @@
 		$(use_with ssl openssl) \
 		$(use_with zenmap) \
 		$(usex libssh2 --with-zlib) \
-		$(usex nse --with-liblua=$(usex system-lua /usr included '' '') --without-liblua) \
+		"$(usex nse --with-liblua=$(usex system-lua /usr included '' '') --without-liblua)" \
 		--cache-file="${S}"/config.cache \
 		--with-libdnet=included \
 		--with-pcre=/usr
@@ -167,8 +167,8 @@
 	done
 
 	emake \
-		AR=$(tc-getAR) \
-		RANLIB=$(tc-getRANLIB)
+		AR="$(tc-getAR)" \
+		RANLIB="$(tc-getRANLIB)"
 }
 
 src_install() {
diff --git a/net-dialup/metadata.xml b/net-dialup/metadata.xml
deleted file mode 100644
index 313bfd55..0000000
--- a/net-dialup/metadata.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The net-dialup category contains dialup-related networking software.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie net-dialup enthält Software für Dialup-Verbindungen.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría net-dialup contiene paquetes relacionados con conexiones
-		telefónicas.
-	</longdescription>
-	<longdescription lang="ja">
-		net-dialupカテゴリーにはダイアルアップに関連したネットワーキング・ソフトウェアが含まれています。
-	</longdescription>
-	<longdescription lang="nl">
-		De net-dialup categorie bevat applicaties voor inbelverbindingen.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm net-dialup chứa các phần mềm liên quan đến mạng quay số.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria net-dialup contiene pacchetti per la connessione telefonica dial-up.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria net-dialup contém programas relacionados com
-		conexões telefônicas.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria net-dialup zawiera programy sieciowe związane z połączeniami
-		telefonicznymi (dialup).
-	</longdescription>
-</catmetadata>
-
diff --git a/net-dialup/ppp/ppp-2.4.9-r5.ebuild b/net-dialup/ppp/ppp-2.4.9-r5.ebuild
deleted file mode 100644
index 3277108..0000000
--- a/net-dialup/ppp/ppp-2.4.9-r5.ebuild
+++ /dev/null
@@ -1,265 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit linux-info multilib pam toolchain-funcs udev user
-
-PATCH_TARBALL_NAME="${PN}-2.4.9-patches-02"
-DESCRIPTION="Point-to-Point Protocol (PPP)"
-HOMEPAGE="https://ppp.samba.org/"
-SRC_URI="https://github.com/paulusmack/ppp/archive/${P}.tar.gz
-	https://dev.gentoo.org/~polynomial-c/${PATCH_TARBALL_NAME}.tar.xz
-	http://www.netservers.net.uk/gpl/ppp-dhcpc.tgz"
-
-LICENSE="BSD GPL-2"
-SLOT="0/${PV}"
-KEYWORDS="*"
-IUSE="activefilter atm dhcp eap-tls gtk ipv6 libressl pam radius"
-
-DEPEND="
-	activefilter? ( net-libs/libpcap )
-	atm? ( net-dialup/linux-atm )
-	pam? ( sys-libs/pam )
-	gtk? ( x11-libs/gtk+:2 )
-	!libressl? ( dev-libs/openssl:0= )
-	libressl? ( dev-libs/libressl:= )
-"
-RDEPEND="${DEPEND}
-	!<net-misc/netifrc-0.7.1-r2"
-PDEPEND="net-dialup/ppp-scripts"
-
-S="${WORKDIR}/${PN}-${P}"
-
-src_prepare() {
-	mv "${WORKDIR}/dhcp" "${S}/pppd/plugins" || die
-
-	eapply "${WORKDIR}"/patches
-	# Apply Chromium OS specific patch regarding the nosystemconfig option
-	# See https://chromium-review.googlesource.com/#/c/7751/ and
-	# http://crosbug.com/17185 for details.
-	eapply "${FILESDIR}/${PN}-2.4.9-systemconfig.patch"
-	eapply "${FILESDIR}/${PN}-2.4.9-allow-non-root.patch"
-	eapply "${FILESDIR}/${PN}-2.4.9-specify-runtime-data-dir.patch"
-	eapply "${FILESDIR}/${PN}-2.4.9-no-regain-root.patch"
-	eapply "${FILESDIR}/${PN}-2.4.9-fix-cros-sysroot-poison.patch"
-
-	if use atm ; then
-		einfo "Enabling PPPoATM support"
-		sed -i '/^#HAVE_LIBATM=yes/s:#::' \
-			pppd/plugins/pppoatm/Makefile.linux || die
-	fi
-
-	if ! use activefilter ; then
-		einfo "Disabling active filter"
-		sed -i '/^FILTER=y/s:^:#:' pppd/Makefile.linux || die
-	fi
-
-	if use pam ; then
-		einfo "Enabling PAM"
-		sed -i '/^#USE_PAM=y/s:^#::' pppd/Makefile.linux || die
-	fi
-
-	if ! use ipv6 ; then
-		einfo "Disabling IPv6"
-		sed -i '/^HAVE_INET6/s:^:#:' pppd/Makefile.linux || die
-	else
-		echo "+ipv6" >> etc.ppp/options || die
-	fi
-
-	einfo "Enabling CBCP"
-	sed -i '/^#CBCP=y/s:#::' pppd/Makefile.linux || die
-
-	if use dhcp ; then
-		einfo "Adding ppp-dhcp plugin files"
-		sed \
-			-e '/^SUBDIRS :=/s:$: dhcp:' \
-			-i pppd/plugins/Makefile.linux || die
-	fi
-
-	if ! use eap-tls ; then
-		einfo "Disabling EAP-TLS pppd auth support"
-		sed -i '/^USE_EAPTLS=y/s:^:#:' pppd/Makefile.linux || die
-		einfo "Disabling EAP-TLS plugin support"
-		sed -i '/^CFLAGS += -DUSE_EAPTLS=1/s:^:#:' \
-			pppd/plugins/Makefile.linux || die
-	fi
-
-	# Set correct libdir
-	sed -i -e "s:/lib/pppd:/$(get_libdir)/pppd:" \
-		pppd/{pathnames.h,pppd.8} || die
-
-	if use radius ; then
-		#set the right paths in radiusclient.conf
-		sed -e "s:/usr/local/etc:/etc:" \
-			-e "s:/usr/local/sbin:/usr/sbin:" \
-			-i pppd/plugins/radius/etc/radiusclient.conf || die
-		#set config dir to /etc/ppp/radius
-		sed -i -e "s:/etc/radiusclient:/etc/ppp/radius:g" \
-			pppd/plugins/radius/{*.8,*.c,*.h} \
-			pppd/plugins/radius/etc/* || die
-	else
-		einfo "Disabling radius"
-		sed -i -e '/+= radius/s:^:#:' pppd/plugins/Makefile.linux || die
-	fi
-
-	# Respect our pkg-config settings.
-	sed -i \
-		-e 's:pkg-config:$(PKG_CONFIG):' \
-		contrib/pppgetpass/Makefile.linux || die
-	sed -i \
-		-e '/^LIBS/{s:-L/usr/local/ssl/lib::;s:-lcrypto:`$(PKG_CONFIG) --libs libcrypto`:}' \
-		pppd/Makefile.linux || die
-
-	eapply_user #549588
-}
-
-src_compile() {
-	tc-export AR CC PKG_CONFIG
-
-	append-cppflags \
-		-D_GNU_SOURCE \
-		-DRUNTIME_DATA_DIR=\'\"/run/l2tpipsec_vpn/\"\' \
-		-DALLOW_START_AS_NON_ROOT
-	emake COPTS="${CFLAGS}"
-
-	# build pppgetpass
-	cd contrib/pppgetpass || die
-	if use gtk ; then
-		emake -f Makefile.linux
-	else
-		emake pppgetpass.vt
-	fi
-}
-
-src_install() {
-	local i
-	for i in chat pppd pppdump pppstats ; do
-		doman ${i}/${i}.8
-		dosbin ${i}/${i}
-	done
-	fperms -w /usr/sbin/pppd
-
-	# Install pppd header files
-	emake -C pppd INSTROOT="${D}" install-devel
-
-	dosbin pppd/plugins/pppoe/pppoe-discovery
-
-	dodir /etc/ppp/peers
-	insinto /etc/ppp
-	insopts -o shill -g ppp -m0640
-	newins etc.ppp/pap-secrets pap-secrets.example
-	newins etc.ppp/chap-secrets chap-secrets.example
-
-	insopts -o shill -g ppp -m0644
-	doins etc.ppp/options
-
-	if use pam; then
-		pamd_mimic_system ppp auth account session
-	fi
-
-	local PLUGINS_DIR="/usr/$(get_libdir)/pppd/${PV}"
-	insinto "${PLUGINS_DIR}"
-	insopts -o shill -g ppp -m0755
-	doins pppd/plugins/minconn.so
-	doins pppd/plugins/passprompt.so
-	doins pppd/plugins/passwordfd.so
-	doins pppd/plugins/winbind.so
-	doins pppd/plugins/pppoe/pppoe.so
-	doins pppd/plugins/pppol2tp/openl2tp.so
-	doins pppd/plugins/pppol2tp/pppol2tp.so
-	if use atm ; then
-		doins pppd/plugins/pppoatm/pppoatm.so
-	fi
-	if use dhcp ; then
-		doins pppd/plugins/dhcp/dhcpc.so
-	fi
-	if use radius ; then
-		doins pppd/plugins/radius/rad{ius,attr,realms}.so
-
-		#Copy radiusclient configuration files (#92878)
-		insinto /etc/ppp/radius
-		insopts -o shill -g ppp -m0644
-		doins pppd/plugins/radius/etc/{dictionary*,issue,port-id-map,radiusclient.conf,realms,servers}
-
-		doman pppd/plugins/radius/pppd-rad{ius,attr}.8
-	fi
-
-	insinto /etc/modprobe.d
-	insopts -o shill -g ppp -m0644
-	newins "${FILESDIR}/modules.ppp" ppp.conf
-
-	dodoc PLUGINS README* SETUP Changes-2.3 FAQ
-	dodoc "${FILESDIR}/README.mpls"
-
-	# This rules file is specific to CrOS and cannot be upstreamed, so must be
-	# carried forward.
-	udev_dorules "${FILESDIR}/99-pppd.rules"
-
-	dosbin scripts/p{on,off,log}
-	doman scripts/pon.1
-
-	# Adding misc. specialized scripts to doc dir
-	dodoc -r scripts
-	docinto scripts
-	dodoc -r scripts/chatchat
-
-	if use gtk ; then
-		dosbin contrib/pppgetpass/{pppgetpass.vt,pppgetpass.gtk}
-		newsbin contrib/pppgetpass/pppgetpass.sh pppgetpass
-	else
-		newsbin contrib/pppgetpass/pppgetpass.vt pppgetpass
-	fi
-	doman contrib/pppgetpass/pppgetpass.8
-}
-
-pkg_setup() {
-	enewuser shill
-	enewgroup ppp
-}
-
-pkg_postinst() {
-	if linux-info_get_any_version && linux_config_src_exists ; then
-		echo
-		ewarn "If the following test report contains a missing kernel configuration option that you need,"
-		ewarn "you should reconfigure and rebuild your kernel before running pppd."
-		CONFIG_CHECK="~PPP ~PPP_ASYNC ~PPP_SYNC_TTY"
-		local ERROR_PPP="CONFIG_PPP:\t missing PPP support (REQUIRED)"
-		local ERROR_PPP_ASYNC="CONFIG_PPP_ASYNC:\t missing asynchronous serial line discipline (optional, but highly recommended)"
-		local WARNING_PPP_SYNC_TTY="CONFIG_PPP_SYNC_TTY:\t missing synchronous serial line discipline (optional; used by 'sync' pppd option)"
-		if use activefilter ; then
-			CONFIG_CHECK="${CONFIG_CHECK} ~PPP_FILTER"
-			local ERROR_PPP_FILTER="CONFIG_PPP_FILTER:\t missing PPP filtering support (REQUIRED)"
-		fi
-		CONFIG_CHECK="${CONFIG_CHECK} ~PPP_DEFLATE ~PPP_BSDCOMP ~PPP_MPPE"
-		local ERROR_PPP_DEFLATE="CONFIG_PPP_DEFLATE:\t missing Deflate compression (optional, but highly recommended)"
-		local ERROR_PPP_BSDCOMP="CONFIG_PPP_BSDCOMP:\t missing BSD-Compress compression (optional, but highly recommended)"
-		local WARNING_PPP_MPPE="CONFIG_PPP_MPPE:\t missing MPPE encryption (optional, mostly used by PPTP links)"
-		CONFIG_CHECK="${CONFIG_CHECK} ~PPPOE ~PACKET"
-		local WARNING_PPPOE="CONFIG_PPPOE:\t missing PPPoE support (optional, needed by pppoe plugin)"
-		local WARNING_PACKET="CONFIG_PACKET:\t missing AF_PACKET support (optional, used by pppoe and dhcpc plugins)"
-		if use atm ; then
-			CONFIG_CHECK="${CONFIG_CHECK} ~PPPOATM"
-			local WARNING_PPPOATM="CONFIG_PPPOATM:\t missing PPPoA support (optional, needed by pppoatm plugin)"
-		fi
-		check_extra_config
-	fi
-
-	# create *-secrets files if not exists
-	[[ -f "${EROOT}/etc/ppp/pap-secrets" ]] || \
-		cp -pP "${EROOT}/etc/ppp/pap-secrets.example" "${EROOT}/etc/ppp/pap-secrets"
-	[[ -f "${EROOT}/etc/ppp/chap-secrets" ]] || \
-		cp -pP "${EROOT}/etc/ppp/chap-secrets.example" "${EROOT}/etc/ppp/chap-secrets"
-
-	# lib name has changed
-	sed -i -e "s:^rp-\(pppoe.so\):\1:" "${EROOT}/etc/ppp/options" || die
-
-	echo
-	elog "Pon, poff and plog scripts have been supplied for experienced users."
-	elog "Users needing particular scripts (ssh,rsh,etc.) should check out the"
-	elog "/usr/share/doc/${PF}/scripts directory."
-
-	if [[ -n ${REPLACING_VERSIONS} ]] ; then
-		ewarn '"rp-pppoe.so" plugin has been renamed to "pppoe.so"'
-	fi
-}
diff --git a/net-dialup/ppp/ppp-2.4.9-r6.ebuild b/net-dialup/ppp/ppp-2.4.9-r6.ebuild
new file mode 100644
index 0000000..50f506b
--- /dev/null
+++ b/net-dialup/ppp/ppp-2.4.9-r6.ebuild
@@ -0,0 +1,261 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit linux-info multilib pam toolchain-funcs udev user
+
+PATCH_TARBALL_NAME="${PN}-2.4.9-patches-02"
+DESCRIPTION="Point-to-Point Protocol (PPP)"
+HOMEPAGE="https://ppp.samba.org/"
+SRC_URI="https://github.com/paulusmack/ppp/archive/${P}.tar.gz
+	https://dev.gentoo.org/~polynomial-c/${PATCH_TARBALL_NAME}.tar.xz
+	http://www.netservers.net.uk/gpl/ppp-dhcpc.tgz"
+
+LICENSE="BSD GPL-2"
+SLOT="0/${PV}"
+KEYWORDS="*"
+IUSE="activefilter atm dhcp eap-tls gtk ipv6 libressl pam radius"
+
+DEPEND="
+	activefilter? ( net-libs/libpcap )
+	atm? ( net-dialup/linux-atm )
+	pam? ( sys-libs/pam )
+	gtk? ( x11-libs/gtk+:2 )
+	!libressl? ( dev-libs/openssl:0= )
+	libressl? ( dev-libs/libressl:= )
+"
+RDEPEND="${DEPEND}
+	!<net-misc/netifrc-0.7.1-r2"
+PDEPEND="net-dialup/ppp-scripts"
+
+S="${WORKDIR}/${PN}-${P}"
+
+src_prepare() {
+	mv "${WORKDIR}/dhcp" "${S}/pppd/plugins" || die
+
+	eapply "${WORKDIR}"/patches
+	# Apply Chromium OS specific patch regarding the nosystemconfig option
+	# See https://chromium-review.googlesource.com/#/c/7751/ and
+	# http://crosbug.com/17185 for details.
+	eapply "${FILESDIR}/${PN}-2.4.9-systemconfig.patch"
+	eapply "${FILESDIR}/${PN}-2.4.9-allow-non-root.patch"
+	eapply "${FILESDIR}/${PN}-2.4.9-specify-runtime-data-dir.patch"
+	eapply "${FILESDIR}/${PN}-2.4.9-no-regain-root.patch"
+	eapply "${FILESDIR}/${PN}-2.4.9-fix-cros-sysroot-poison.patch"
+
+	if use atm ; then
+		einfo "Enabling PPPoATM support"
+		sed -i '/^#HAVE_LIBATM=yes/s:#::' \
+			pppd/plugins/pppoatm/Makefile.linux || die
+	fi
+
+	if ! use activefilter ; then
+		einfo "Disabling active filter"
+		sed -i '/^FILTER=y/s:^:#:' pppd/Makefile.linux || die
+	fi
+
+	if use pam ; then
+		einfo "Enabling PAM"
+		sed -i '/^#USE_PAM=y/s:^#::' pppd/Makefile.linux || die
+	fi
+
+	if ! use ipv6 ; then
+		einfo "Disabling IPv6"
+		sed -i '/^HAVE_INET6/s:^:#:' pppd/Makefile.linux || die
+	else
+		echo "+ipv6" >> etc.ppp/options || die
+	fi
+
+	einfo "Enabling CBCP"
+	sed -i '/^#CBCP=y/s:#::' pppd/Makefile.linux || die
+
+	if use dhcp ; then
+		einfo "Adding ppp-dhcp plugin files"
+		sed \
+			-e '/^SUBDIRS :=/s:$: dhcp:' \
+			-i pppd/plugins/Makefile.linux || die
+	fi
+
+	if ! use eap-tls ; then
+		einfo "Disabling EAP-TLS pppd auth support"
+		sed -i '/^USE_EAPTLS=y/s:^:#:' pppd/Makefile.linux || die
+		einfo "Disabling EAP-TLS plugin support"
+		sed -i '/^CFLAGS += -DUSE_EAPTLS=1/s:^:#:' \
+			pppd/plugins/Makefile.linux || die
+	fi
+
+	# Set correct libdir
+	sed -i -e "s:/lib/pppd:/$(get_libdir)/pppd:" \
+		pppd/{pathnames.h,pppd.8} || die
+
+	if use radius ; then
+		#set the right paths in radiusclient.conf
+		sed -e "s:/usr/local/etc:/etc:" \
+			-e "s:/usr/local/sbin:/usr/sbin:" \
+			-i pppd/plugins/radius/etc/radiusclient.conf || die
+		#set config dir to /etc/ppp/radius
+		sed -i -e "s:/etc/radiusclient:/etc/ppp/radius:g" \
+			pppd/plugins/radius/{*.8,*.c,*.h} \
+			pppd/plugins/radius/etc/* || die
+	else
+		einfo "Disabling radius"
+		sed -i -e '/+= radius/s:^:#:' pppd/plugins/Makefile.linux || die
+	fi
+
+	# Respect our pkg-config settings.
+	sed -i \
+		-e 's:pkg-config:$(PKG_CONFIG):' \
+		contrib/pppgetpass/Makefile.linux || die
+	sed -i \
+		-e '/^LIBS/{s:-L/usr/local/ssl/lib::;s:-lcrypto:`$(PKG_CONFIG) --libs libcrypto`:}' \
+		pppd/Makefile.linux || die
+
+	eapply_user #549588
+}
+
+src_compile() {
+	tc-export AR CC PKG_CONFIG
+
+	append-cppflags \
+		-D_GNU_SOURCE \
+		-DRUNTIME_DATA_DIR=\'\"/run/l2tpipsec_vpn/\"\' \
+		-DALLOW_START_AS_NON_ROOT
+	emake COPTS="${CFLAGS}"
+
+	# build pppgetpass
+	cd contrib/pppgetpass || die
+	if use gtk ; then
+		emake -f Makefile.linux
+	else
+		emake pppgetpass.vt
+	fi
+}
+
+src_install() {
+	local i
+	for i in chat pppd pppdump pppstats ; do
+		doman ${i}/${i}.8
+		dosbin ${i}/${i}
+	done
+	fperms -w /usr/sbin/pppd
+
+	# Install pppd header files
+	emake -C pppd INSTROOT="${D}" install-devel
+
+	dosbin pppd/plugins/pppoe/pppoe-discovery
+
+	dodir /etc/ppp/peers
+	insinto /etc/ppp
+	insopts -o shill -g ppp -m0640
+	newins etc.ppp/pap-secrets pap-secrets.example
+	newins etc.ppp/chap-secrets chap-secrets.example
+
+	insopts -o shill -g ppp -m0644
+	doins etc.ppp/options
+
+	if use pam; then
+		pamd_mimic_system ppp auth account session
+	fi
+
+	local PLUGINS_DIR="/usr/$(get_libdir)/pppd/${PV}"
+	insinto "${PLUGINS_DIR}"
+	insopts -o shill -g ppp -m0755
+
+	# plugins are removed since they are not needed by CrOS.
+
+	if use atm ; then
+		doins pppd/plugins/pppoatm/pppoatm.so
+	fi
+	if use dhcp ; then
+		doins pppd/plugins/dhcp/dhcpc.so
+	fi
+	if use radius ; then
+		doins pppd/plugins/radius/rad{ius,attr,realms}.so
+
+		#Copy radiusclient configuration files (#92878)
+		insinto /etc/ppp/radius
+		insopts -o shill -g ppp -m0644
+		doins pppd/plugins/radius/etc/{dictionary*,issue,port-id-map,radiusclient.conf,realms,servers}
+
+		doman pppd/plugins/radius/pppd-rad{ius,attr}.8
+	fi
+
+	insinto /etc/modprobe.d
+	insopts -o shill -g ppp -m0644
+	newins "${FILESDIR}/modules.ppp" ppp.conf
+
+	dodoc PLUGINS README* SETUP Changes-2.3 FAQ
+	dodoc "${FILESDIR}/README.mpls"
+
+	# This rules file is specific to CrOS and cannot be upstreamed, so must be
+	# carried forward.
+	udev_dorules "${FILESDIR}/99-pppd.rules"
+
+	dosbin scripts/p{on,off,log}
+	doman scripts/pon.1
+
+	# Adding misc. specialized scripts to doc dir
+	dodoc -r scripts
+	docinto scripts
+	dodoc -r scripts/chatchat
+
+	if use gtk ; then
+		dosbin contrib/pppgetpass/{pppgetpass.vt,pppgetpass.gtk}
+		newsbin contrib/pppgetpass/pppgetpass.sh pppgetpass
+	else
+		newsbin contrib/pppgetpass/pppgetpass.vt pppgetpass
+	fi
+	doman contrib/pppgetpass/pppgetpass.8
+}
+
+pkg_setup() {
+	enewuser shill
+	enewgroup ppp
+}
+
+pkg_postinst() {
+	if linux-info_get_any_version && linux_config_src_exists ; then
+		echo
+		ewarn "If the following test report contains a missing kernel configuration option that you need,"
+		ewarn "you should reconfigure and rebuild your kernel before running pppd."
+		CONFIG_CHECK="~PPP ~PPP_ASYNC ~PPP_SYNC_TTY"
+		local ERROR_PPP="CONFIG_PPP:\t missing PPP support (REQUIRED)"
+		local ERROR_PPP_ASYNC="CONFIG_PPP_ASYNC:\t missing asynchronous serial line discipline (optional, but highly recommended)"
+		local WARNING_PPP_SYNC_TTY="CONFIG_PPP_SYNC_TTY:\t missing synchronous serial line discipline (optional; used by 'sync' pppd option)"
+		if use activefilter ; then
+			CONFIG_CHECK="${CONFIG_CHECK} ~PPP_FILTER"
+			local ERROR_PPP_FILTER="CONFIG_PPP_FILTER:\t missing PPP filtering support (REQUIRED)"
+		fi
+		CONFIG_CHECK="${CONFIG_CHECK} ~PPP_DEFLATE ~PPP_BSDCOMP ~PPP_MPPE"
+		local ERROR_PPP_DEFLATE="CONFIG_PPP_DEFLATE:\t missing Deflate compression (optional, but highly recommended)"
+		local ERROR_PPP_BSDCOMP="CONFIG_PPP_BSDCOMP:\t missing BSD-Compress compression (optional, but highly recommended)"
+		local WARNING_PPP_MPPE="CONFIG_PPP_MPPE:\t missing MPPE encryption (optional, mostly used by PPTP links)"
+		CONFIG_CHECK="${CONFIG_CHECK} ~PPPOE ~PACKET"
+		local WARNING_PPPOE="CONFIG_PPPOE:\t missing PPPoE support (optional, needed by pppoe plugin)"
+		local WARNING_PACKET="CONFIG_PACKET:\t missing AF_PACKET support (optional, used by pppoe and dhcpc plugins)"
+		if use atm ; then
+			CONFIG_CHECK="${CONFIG_CHECK} ~PPPOATM"
+			local WARNING_PPPOATM="CONFIG_PPPOATM:\t missing PPPoA support (optional, needed by pppoatm plugin)"
+		fi
+		check_extra_config
+	fi
+
+	# create *-secrets files if not exists
+	[[ -f "${EROOT}/etc/ppp/pap-secrets" ]] || \
+		cp -pP "${EROOT}/etc/ppp/pap-secrets.example" "${EROOT}/etc/ppp/pap-secrets"
+	[[ -f "${EROOT}/etc/ppp/chap-secrets" ]] || \
+		cp -pP "${EROOT}/etc/ppp/chap-secrets.example" "${EROOT}/etc/ppp/chap-secrets"
+
+	# lib name has changed
+	sed -i -e "s:^rp-\(pppoe.so\):\1:" "${EROOT}/etc/ppp/options" || die
+
+	echo
+	elog "Pon, poff and plog scripts have been supplied for experienced users."
+	elog "Users needing particular scripts (ssh,rsh,etc.) should check out the"
+	elog "/usr/share/doc/${PF}/scripts directory."
+
+	if [[ -n ${REPLACING_VERSIONS} ]] ; then
+		ewarn '"rp-pppoe.so" plugin has been renamed to "pppoe.so"'
+	fi
+}
diff --git a/net-dns/OWNERS b/net-dns/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/net-dns/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/net-firewall/conntrack-tools/OWNERS b/net-firewall/conntrack-tools/OWNERS
index af1ab76..b830d86 100644
--- a/net-firewall/conntrack-tools/OWNERS
+++ b/net-firewall/conntrack-tools/OWNERS
@@ -1 +1 @@
-include /chromeos-base/shill/OWNERS
+include chromiumos/platform2:/patchpanel/OWNERS
diff --git a/net-firewall/conntrack-tools/conntrack-tools-1.4.4-r21.ebuild b/net-firewall/conntrack-tools/conntrack-tools-1.4.4-r22.ebuild
similarity index 100%
rename from net-firewall/conntrack-tools/conntrack-tools-1.4.4-r21.ebuild
rename to net-firewall/conntrack-tools/conntrack-tools-1.4.4-r22.ebuild
diff --git a/net-firewall/conntrack-tools/files/conntrackd-seccomp-amd64.policy b/net-firewall/conntrack-tools/files/conntrackd-seccomp-amd64.policy
index d2e04c2..2480572 100644
--- a/net-firewall/conntrack-tools/files/conntrackd-seccomp-amd64.policy
+++ b/net-firewall/conntrack-tools/files/conntrackd-seccomp-amd64.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 # common syscalls:
 recvfrom: 1
 mprotect: 1
diff --git a/net-firewall/conntrack-tools/files/conntrackd-seccomp-arm.policy b/net-firewall/conntrack-tools/files/conntrackd-seccomp-arm.policy
index 57e1abd..c6b86ed 100644
--- a/net-firewall/conntrack-tools/files/conntrackd-seccomp-arm.policy
+++ b/net-firewall/conntrack-tools/files/conntrackd-seccomp-arm.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 # common syscalls:
 recvfrom: 1
 mprotect: 1
diff --git a/net-firewall/conntrack-tools/files/conntrackd-seccomp-arm64.policy b/net-firewall/conntrack-tools/files/conntrackd-seccomp-arm64.policy
index d1c2525..4a03ffb 100644
--- a/net-firewall/conntrack-tools/files/conntrackd-seccomp-arm64.policy
+++ b/net-firewall/conntrack-tools/files/conntrackd-seccomp-arm64.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 # common syscalls:
 recvfrom: 1
 mprotect: 1
diff --git a/net-firewall/conntrack-tools/files/conntrackd-seccomp-x86.policy b/net-firewall/conntrack-tools/files/conntrackd-seccomp-x86.policy
index 08b290d..cdacaaa 100644
--- a/net-firewall/conntrack-tools/files/conntrackd-seccomp-x86.policy
+++ b/net-firewall/conntrack-tools/files/conntrackd-seccomp-x86.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 # common syscalls:
 mprotect: 1
 close: 1
diff --git a/net-firewall/metadata.xml b/net-firewall/metadata.xml
deleted file mode 100644
index 7ba3005..0000000
--- a/net-firewall/metadata.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The net-firewall category contains network firewall software.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie net-firewall enthült Firewall-Software.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría net-firewall contiene programas relacionados con
-		cortafuegos de redes.
-	</longdescription>
-	<longdescription lang="ja">
-		net-firewall カテゴリーにはネットワーク・ファイアウォールの
-		ソフトウェアが含まれています。
-	</longdescription>
-	<longdescription lang="nl">
-		De net-firewall categorie bevat firewall-software.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm net-firewall chứa các phần mềm firewall.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria net-firewall contiene software per firewall.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria net-firewall contém programas de firewall para
-		redes.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria net-firewall zawiera ściany ogniowe (firewalle).
-	</longdescription>
-</catmetadata>
-
diff --git a/net-firewall/nftables/OWNERS b/net-firewall/nftables/OWNERS
new file mode 100644
index 0000000..b830d86
--- /dev/null
+++ b/net-firewall/nftables/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/patchpanel/OWNERS
diff --git a/net-fs/metadata.xml b/net-fs/metadata.xml
deleted file mode 100644
index e419beb..0000000
--- a/net-fs/metadata.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The net-fs category contains network filesystem packages.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie net-fs enthült Netzwerkdateisysteme.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría net-fs contiene paquetes de sistemas de ficheros en red.
-	</longdescription>
-	<longdescription lang="ja">
-		net-fsカテゴリーにはネットワーク・ファイルシステムのパッケージが含まれています。
-	</longdescription>
-	<longdescription lang="nl">
-		De net-fs categorie bevat netwerk-bestandssystemen.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm net-fs chứa các gói hệ tập tin mạng.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria net-fs contiene pacchetti per i filesystem di rete.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria net-fs contém pacotes para sistemas de arquivos de
-		rede.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria net-fs zawiera pakiety związane z NFS, sieciowym systemem
-		plików.
-	</longdescription>
-</catmetadata>
-
diff --git a/net-fs/samba/Manifest b/net-fs/samba/Manifest
index 02a6ed1..fa8f828 100644
--- a/net-fs/samba/Manifest
+++ b/net-fs/samba/Manifest
@@ -1,6 +1,7 @@
-DIST samba-4.13.12.tar.gz 18586809 BLAKE2B e6cfc942c5c10314b9d92510785f26a21c27cc66de3379cb2133af2ac4dd38bcd8cc72063ebcc6f97f9f45d2f4ef4cd5bbfa4f75b81414c08b9a93acdbb25b97 SHA512 6447733e4c07669bd2dd95a0056be92c507fa4f8c29dd0bc86881004cc24206d9c2c49ace1cb00c4fc7f08109cbf110015f51cd3ab77f2fa95818bcebc437974
-DIST samba-4.13.9.tar.gz 18443813 BLAKE2B 24046586f666e9db02e1dd71d7eb854691f39e6b575b9652a8b7c1aa5569c856dfd48911e3f221de74f9deec5808152fa2836d03bb9810d55d4f526f1567574b SHA512 35c98979c1141fe4bd700e3c8f2439ec08876697faeaced6668ea6a9fea1d8303ca34e82123499aa4a41054b9ed6e1260ae779ea8d59978ba6de6b5861f21948
-DIST samba-4.14.8.tar.gz 19039206 BLAKE2B f0ae6a3476c9f7b33e260cb379bbccdf5294b8694f44f37c6c06df849d34d9090379e20e105919e26a2e2e51a75ecf50dcb43ee90e0a88e113964dccaf51ba81 SHA512 e5d5f26eeee92e1d7d3e70b389debe331b2d14d4f5ca7796f850275897fdf16e96b507b6862c8fc4bab1bfca312ea22b60b090d881149cd1e9725fe9877dabfd
-DIST samba-4.14.9.tar.gz 19063803 BLAKE2B 157665aba6d2449781ad3781deb2cdb3ae325879a796b8ba07a9d981ed93aaccd7f098841136a3be9d4e304ecba00b7ecb0c4a84cdfc6593172d4bc66cb38c69 SHA512 e7eb8b55656f51d94d99358dbe39869a74e34b2c69e14ac813c2387a4b2a10d8a5c22ad9b6a3a3ed4dcec4c13df810f577e22d7f1cc903176c0962e412496deb
-DIST samba-4.15.0.tar.gz 18895040 BLAKE2B ac560e280d5fbea6499547de480f973bf1987558ce6b832fe0f6e5bad8cd58180731e7d1a37f85fce82c52bf735106aedec3ccfda09fa430a5c435e2437994f9 SHA512 5fcd8797f0ac2821f1bb213c9a39c0928847905f701003618f9f160eaa98f3fea25e3d8d4047658b0bd164f3e6a2a63fd7b0133317e536997c764acf7803950d
-DIST samba-4.15.1.tar.gz 19192249 BLAKE2B 1348e1fd8ba69c2b4d9a70418805c4a893d2198d8571d4ee66953b8326cb18245f54053eb873accf59b82edb5ee82305f4933451ce35842e598863bc1d54040c SHA512 caa6365f26b2b19c96732252b4f8446e82a1f12f08e4ad7803709d8a10b9cc4f1075723f0249419f387b2a8de9020f68cbf0ca780f0e56efbe11fb7ddb32ebf6
+DIST samba-4.14.10.tar.gz 19134066 BLAKE2B c6daebc7abbf2ed371ed694e4478d05875d55f7c5a9f83461932eebd7fe9089ff15e0530555d468e64f897d4cadab86e8c0acbfbd20938b3be842cb4324486e2 SHA512 0e1dd386d185cf77a2be4155646e98b3218316b5c290358684ec8eed747ffea67aa7db0937edc971fb791dc47f0f51306db33eb3b8cb65cca8787f18fd4b7f1c
+DIST samba-4.14.12.tar.gz 19145135 BLAKE2B 94ffc6dee4448e302591bf30bc34f75c5cdeab8acaa04b2d1105a0f0155ba13d366e61f2d0b38060fccb841febcc212d8ab7b6dfd860d784ae9299a375cb98c3 SHA512 6a021d61dc2a8894c646a9b6d85e38c9020b3c227f10d1820cbdf2ad6793c0beeacedd5fff5f75718d4083ec9169cb1fb58f65636e1a50e638fcefce355690d9
+DIST samba-4.15.2.tar.gz 19252338 BLAKE2B aded33cbefce69c9b20148de1be224514de5cc825404e8188fb0a96022d0fdc6595256f74a5e295fd2e1062e8520775b6c59c1d6a7bf80a52ed9fa9db412dcdd SHA512 6fdf9db0da90332afe527703066cca4ec5b0ec6bf6a5979443953f9fbc18b870a7e2445a41c9ae3d63f7738c9c0282e7ca82f6066aa68e151eec248615ea7b21
+DIST samba-4.15.3.tar.gz 19272345 BLAKE2B ada18904ee7889209488f022daacc34ce1f41c12f9c8c48515cc24aa158072da499cc6ec484cf2b9108c6b2d4074ad734d1850063a354000aa90091faba6f7a6 SHA512 1c30cfa6cd927f4d822dd7227b89542d05d7ab4e50c2d9717eea4fcf1af5120b55d66ec628acd5c887e9bffc732c1d37ab084db953534a2b3987531b10fef63c
+DIST samba-4.15.4.tar.gz 19280813 BLAKE2B 3106f2f265263e871fe3f82d3eecaac2e5f642925ff5dd2a9d163092fd13e9348a3910e40431d51cb94a1abeb3b9c32c487ce1f8caebe59a8d6d90641b4d9201 SHA512 e55473dd4971816a01880870309ca44f022625cd529511bcf386c865a2e7e79118577ee4866559f607952de47dc0d310d6426bd08dd4293db95ddbbe3982383d
+DIST samba-4.15.5.tar.gz 19279071 BLAKE2B 355970b9918e95f925636cdea919e123b072f8710134fe6310637c29b2b5e1bc55d7b66d9674a68408ce5f14545a2cb9a94f596f90204935addb2f8f6a503873 SHA512 808e0f15931bab18a1e36298528a01a1250efaef9f99508dd620d6936dd4a2fc3ccc64ab9dcc94bd73460697d16d6ca0652ccbcdbe1644ffedce0137d796d3ca
+DIST samba-4.16.0rc4.tar.gz 30506861 BLAKE2B 6932f59d34a0f0c96b6bfeeb4fe7c5eb8e125686485a55dad488343e29d4c908d5b9da1eeb354849b91430920542a9e673cfee66099b09d6aeb16d9821494f0c SHA512 5c70d20910dbc18dc52b1d0dfffd752ce7ee7fd7ca1664a044c152b8df33d93a822303221c83204e3d57e664fd71a23e72540bd7b1776c6399c97e5cf06ed293
diff --git a/net-fs/samba/README.md b/net-fs/samba/README.md
index 9f5581323..7acc94f 100644
--- a/net-fs/samba/README.md
+++ b/net-fs/samba/README.md
@@ -3,9 +3,11 @@
 - Various cross-compilation fixes needed for aarch64 and lld linking,
   including the addition of samba.bashrc to ensure WAF is called with the
   appropriate cross-compilation answers file
-- Features disabled and conditional dependencies (i.e. perl and python) to
+- Features disabled and conditional dependencies (i.e. perl) to
   minimise files installed in the rootfs and avoid unnecessary build-time
   dependencies
+- Remove Python dependencies, these are mainly for bindings used to interface
+  with the Samba server which we don't use on ChromeOS.
 - Linking against chrome-base/chrome-icu, which is the canonical way to get
   libicu on Chrome OS
 - Disabling installation of systemd units / services as no service components
diff --git a/net-fs/samba/files/samba-4.14.10-winbindd_regression_fix.patch b/net-fs/samba/files/samba-4.14.10-winbindd_regression_fix.patch
new file mode 100644
index 0000000..23411da
--- /dev/null
+++ b/net-fs/samba/files/samba-4.14.10-winbindd_regression_fix.patch
@@ -0,0 +1,42 @@
+From bc07c3b70702100975f8921e56cf9b733ec3b826 Mon Sep 17 00:00:00 2001
+From: Stefan Metzmacher <metze@samba.org>
+Date: Tue, 9 Nov 2021 20:50:20 +0100
+Subject: [PATCH] s3:winbindd: fix "allow trusted domains = no" regression
+
+add_trusted_domain() should only reject domains
+based on is_allowed_domain(), which now also
+checks "allow trusted domains = no", if we don't
+have an explicit trust to the domain (SEC_CHAN_NULL).
+
+We use at least SEC_CHAN_LOCAL for local domains like
+BUILTIN.
+
+BUG: https://bugzilla.samba.org/show_bug.cgi?id=14899
+
+Signed-off-by: Stefan Metzmacher <metze@samba.org>
+Reviewed-by: Andreas Schneider <asn@samba.org>
+
+Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
+Autobuild-Date(master): Wed Nov 10 11:21:31 UTC 2021 on sn-devel-184
+
+(cherry picked from commit a7f6c60cb037b4bc9eee276236539b8282213935)
+---
+ source3/winbindd/winbindd_util.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/source3/winbindd/winbindd_util.c b/source3/winbindd/winbindd_util.c
+index 42ddbfd2f44e..9d54e462c425 100644
+--- a/source3/winbindd/winbindd_util.c
++++ b/source3/winbindd/winbindd_util.c
+@@ -134,7 +134,7 @@ static NTSTATUS add_trusted_domain(const char *domain_name,
+ 		return NT_STATUS_INVALID_PARAMETER;
+ 	}
+ 
+-	if (!is_allowed_domain(domain_name)) {
++	if (secure_channel_type == SEC_CHAN_NULL && !is_allowed_domain(domain_name)) {
+ 		return NT_STATUS_NO_SUCH_DOMAIN;
+ 	}
+ 
+-- 
+2.25.1
+
diff --git a/net-fs/samba/files/samba-4.15.2-winbindd_regression_fix.patch b/net-fs/samba/files/samba-4.15.2-winbindd_regression_fix.patch
new file mode 100644
index 0000000..457bad1
--- /dev/null
+++ b/net-fs/samba/files/samba-4.15.2-winbindd_regression_fix.patch
@@ -0,0 +1,42 @@
+From 9f73f8a784f2de9211601f92729a47aaa3e51a1a Mon Sep 17 00:00:00 2001
+From: Stefan Metzmacher <metze@samba.org>
+Date: Tue, 9 Nov 2021 20:50:20 +0100
+Subject: [PATCH] s3:winbindd: fix "allow trusted domains = no" regression
+
+add_trusted_domain() should only reject domains
+based on is_allowed_domain(), which now also
+checks "allow trusted domains = no", if we don't
+have an explicit trust to the domain (SEC_CHAN_NULL).
+
+We use at least SEC_CHAN_LOCAL for local domains like
+BUILTIN.
+
+BUG: https://bugzilla.samba.org/show_bug.cgi?id=14899
+
+Signed-off-by: Stefan Metzmacher <metze@samba.org>
+Reviewed-by: Andreas Schneider <asn@samba.org>
+
+Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
+Autobuild-Date(master): Wed Nov 10 11:21:31 UTC 2021 on sn-devel-184
+
+(cherry picked from commit a7f6c60cb037b4bc9eee276236539b8282213935)
+---
+ source3/winbindd/winbindd_util.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/source3/winbindd/winbindd_util.c b/source3/winbindd/winbindd_util.c
+index fe68adec534a..a8c510fafc67 100644
+--- a/source3/winbindd/winbindd_util.c
++++ b/source3/winbindd/winbindd_util.c
+@@ -135,7 +135,7 @@ static NTSTATUS add_trusted_domain(const char *domain_name,
+ 		return NT_STATUS_INVALID_PARAMETER;
+ 	}
+ 
+-	if (!is_allowed_domain(domain_name)) {
++	if (secure_channel_type == SEC_CHAN_NULL && !is_allowed_domain(domain_name)) {
+ 		return NT_STATUS_NO_SUCH_DOMAIN;
+ 	}
+ 
+-- 
+2.25.1
+
diff --git a/net-fs/samba/metadata.xml b/net-fs/samba/metadata.xml
index 8a41754..0430625 100644
--- a/net-fs/samba/metadata.xml
+++ b/net-fs/samba/metadata.xml
@@ -15,13 +15,16 @@
 		<flag name="ceph">Enable support for Ceph distributed filesystem via <pkg>sys-cluster/ceph</pkg></flag>
 		<flag name="client">Enables the client part</flag>
 		<flag name="cluster">Enable support for clustering</flag>
-		<flag name="dmapi">Enable support for DMAPI. This currently works only in combination with XFS.</flag>
+		<flag name="glusterfs">Enable support for Glusterfs filesystem via <pkg>sys-cluster/glusterfs</pkg></flag>
 		<flag name="gpg">Use <pkg>app-crypt/gpgme</pkg> for AD DC</flag>
 		<flag name="json">Enable json audit support through <pkg>dev-libs/jansson</pkg></flag>
 		<flag name="iprint">Enabling iPrint technology by Novell</flag>
+		<flag name="ntvfs">Enable support for NTVFS fileserver</flag>
 		<flag name="profiling-data">Enables support for collecting profiling data</flag>
 		<flag name="quota">Enables support for user quotas</flag>
+		<flag name="regedit">Enable support for regedit command-line tool</flag>
 		<flag name="snapper">Enable vfs_snapper module (requires <pkg>sys-apps/dbus</pkg>)</flag>
+		<flag name="spotlight">Enable support for spotlight backend</flag>
 		<flag name="system-heimdal">Use <pkg>app-crypt/heimdal</pkg> instead of
 			bundled heimdal.</flag>
 		<flag name="system-mitkrb5">Use <pkg>app-crypt/mit-krb5</pkg> instead of
diff --git a/net-fs/samba/samba-4.15.1-r1.ebuild b/net-fs/samba/samba-4.15.1-r1.ebuild
deleted file mode 120000
index 39cc905..0000000
--- a/net-fs/samba/samba-4.15.1-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-samba-4.15.1.ebuild
\ No newline at end of file
diff --git a/net-fs/samba/samba-4.15.1.ebuild b/net-fs/samba/samba-4.15.1.ebuild
deleted file mode 100644
index 78f629a..0000000
--- a/net-fs/samba/samba-4.15.1.ebuild
+++ /dev/null
@@ -1,349 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-PYTHON_REQ_USE="threads(+),xml(+)"
-inherit python-single-r1 waf-utils multilib-minimal linux-info systemd pam tmpfiles
-
-DESCRIPTION="Samba Suite Version 4"
-HOMEPAGE="https://samba.org/"
-
-MY_PV="${PV/_rc/rc}"
-MY_P="${PN}-${MY_PV}"
-if [[ ${PV} = *_rc* ]]; then
-	SRC_URI="mirror://samba/rc/${MY_P}.tar.gz"
-else
-	SRC_URI="mirror://samba/stable/${MY_P}.tar.gz"
-	KEYWORDS="*"
-fi
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="acl addc ads ceph client cluster cups debug dmapi fam glusterfs
-gpg iprint json ldap pam profiling-data python quota regedit selinux
-snapper spotlight syslog system-heimdal +system-mitkrb5 systemd test winbind
-zeroconf"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
-	addc? ( python json winbind )
-	ads? ( acl ldap winbind )
-	cluster? ( ads )
-	gpg? ( addc )
-	spotlight? ( json )
-	test? ( python )
-	!ads? ( !addc )
-	?? ( system-heimdal system-mitkrb5 )
-"
-
-# the test suite is messed, it uses system-installed samba
-# bits instead of what was built, tests things disabled via use
-# flags, and generally just fails to work in a way ebuilds could
-# rely on in its current state
-RESTRICT="test"
-
-MULTILIB_WRAPPED_HEADERS=(
-	/usr/include/samba-4.0/policy.h
-	/usr/include/samba-4.0/dcerpc_server.h
-	/usr/include/samba-4.0/ctdb.h
-	/usr/include/samba-4.0/ctdb_client.h
-	/usr/include/samba-4.0/ctdb_protocol.h
-	/usr/include/samba-4.0/ctdb_private.h
-	/usr/include/samba-4.0/ctdb_typesafe_cb.h
-	/usr/include/samba-4.0/ctdb_version.h
-)
-
-COMMON_DEPEND="
-	>=app-arch/libarchive-3.1.2[${MULTILIB_USEDEP}]
-	dev-lang/perl:=
-	dev-libs/libbsd[${MULTILIB_USEDEP}]
-	dev-libs/libtasn1[${MULTILIB_USEDEP}]
-	dev-libs/popt[${MULTILIB_USEDEP}]
-	dev-perl/Parse-Yapp
-	>=net-libs/gnutls-3.4.7[${MULTILIB_USEDEP}]
-	sys-libs/e2fsprogs-libs[${MULTILIB_USEDEP}]
-	>=sys-libs/ldb-2.4.1[ldap(+)?,python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}]
-	<sys-libs/ldb-2.5.0[ldap(+)?,python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}]
-	sys-libs/libcap[${MULTILIB_USEDEP}]
-	sys-libs/ncurses:0=
-	sys-libs/readline:0=
-	>=sys-libs/talloc-2.3.3[python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}]
-	>=sys-libs/tdb-1.4.4[python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}]
-	>=sys-libs/tevent-0.11.0[python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}]
-	sys-libs/zlib[${MULTILIB_USEDEP}]
-	virtual/libcrypt:=[${MULTILIB_USEDEP}]
-	virtual/libiconv
-	addc? (
-		$(python_gen_cond_dep 'dev-python/dnspython:=[${PYTHON_USEDEP}]')
-		$(python_gen_cond_dep 'dev-python/markdown:=[${PYTHON_USEDEP}]')
-	)
-	acl? ( virtual/acl )
-	ceph? ( sys-cluster/ceph )
-	cluster? ( net-libs/rpcsvc-proto )
-	cups? ( net-print/cups )
-	debug? ( dev-util/lttng-ust )
-	dmapi? ( sys-apps/dmapi )
-	fam? ( virtual/fam )
-	gpg? ( app-crypt/gpgme )
-	json? ( dev-libs/jansson:= )
-	ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] )
-	pam? ( sys-libs/pam )
-	snapper? ( sys-apps/dbus )
-	system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,${MULTILIB_USEDEP}] )
-	system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[${MULTILIB_USEDEP}] )
-	systemd? ( sys-apps/systemd:0= )
-	zeroconf? ( net-dns/avahi[dbus] )
-"
-DEPEND="${COMMON_DEPEND}
-	>=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}]
-	net-libs/libtirpc[${MULTILIB_USEDEP}]
-	|| (
-		net-libs/rpcsvc-proto
-		<sys-libs/glibc-2.26[rpc(+)]
-	)
-	spotlight? ( dev-libs/glib )
-	test? (
-		$(python_gen_cond_dep "dev-python/subunit[\${PYTHON_USEDEP},${MULTILIB_USEDEP}]" )
-		!system-mitkrb5? (
-			>=net-dns/resolv_wrapper-1.1.4
-			>=net-libs/socket_wrapper-1.1.9
-			>=sys-libs/nss_wrapper-1.1.3
-			>=sys-libs/uid_wrapper-1.2.1
-		)
-	)"
-RDEPEND="${COMMON_DEPEND}
-	chromeos-base/chrome-icu:=
-	client? ( net-fs/cifs-utils[ads?] )
-	python? ( ${PYTHON_DEPS} )
-	selinux? ( sec-policy/selinux-samba )
-"
-BDEPEND="${PYTHON_DEPS}
-	app-text/docbook-xsl-stylesheets
-	dev-libs/libxslt
-	virtual/pkgconfig
-"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-4.4.0-pam.patch"
-
-	# Chrome OS specific patches that aren't upstream
-	"${FILESDIR}/${PN}-4.11.13-machinepass_stdin.patch"
-	"${FILESDIR}/${PN}-4.11.13-machinepass_expire.patch"
-	"${FILESDIR}/${PN}-4.11.13-reuse_existing_computer_account.patch"
-
-	# Temporary workaround until we fix Samba/OpenLDAP issues (see
-	# https://crbug.com/953613).
-	"${FILESDIR}/${PN}-4.11.13-lib-gpo-Cope-with-Site-GPO-s-list-failure.patch"
-)
-
-#CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)"
-CONFDIR="${FILESDIR}/4.4"
-
-WAF_BINARY="${S}/buildtools/bin/waf"
-
-SHAREDMODS=""
-
-pkg_setup() {
-	# Package fails to build with distcc
-	export DISTCC_DISABLE=1
-
-	PERLVER=$(/usr/bin/perl -e "\$_ = \$^V; s/v//; print")
-
-	python-single-r1_pkg_setup
-
-	SHAREDMODS="$(usex snapper '' '!')vfs_snapper"
-	if use cluster ; then
-		SHAREDMODS+=",idmap_rid,idmap_tdb2,idmap_ad"
-	elif use ads ; then
-		SHAREDMODS+=",idmap_ad"
-	fi
-}
-
-src_prepare() {
-	default
-
-	# un-bundle dnspython
-	sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die
-
-	# unbundle iso8601 unless tests are enabled
-	if ! use test ; then
-		sed -i -e '/"iso8601":/d' "${S}"/third_party/wscript || die
-	fi
-
-	## ugly hackaround for bug #592502
-	#cp /usr/include/tevent_internal.h "${S}"/lib/tevent/ || die
-
-	sed -e 's:<gpgme\.h>:<gpgme/gpgme.h>:' \
-		-i source4/dsdb/samdb/ldb_modules/password_hash.c \
-		|| die
-
-	# Friggin' WAF shit
-	multilib_copy_sources
-}
-
-multilib_src_configure() {
-	# when specifying libs for samba build you must append NONE to the end to
-	# stop it automatically including things
-	local bundled_libs="NONE"
-	if ! use system-heimdal && ! use system-mitkrb5 ; then
-		bundled_libs="heimbase,heimntlm,hdb,kdc,krb5,wind,gssapi,hcrypto,hx509,roken,asn1,com_err,NONE"
-	fi
-
-	local myconf=(
-		--enable-fhs
-		--sysconfdir="${EPREFIX}/etc"
-		--localstatedir="${EPREFIX}/var"
-		--with-modulesdir="${EPREFIX}/usr/$(get_libdir)/samba"
-		--with-piddir="${EPREFIX}/run/${PN}"
-		--bundled-libraries="${bundled_libs}"
-		--builtin-libraries=NONE
-		--disable-rpath
-		--disable-rpath-install
-		--nopyc
-		--nopyo
-		--without-winexe
-		--with-libiconv="${SYSROOT}/usr"
-		$(multilib_native_use_with acl acl-support)
-		$(multilib_native_usex addc '' '--without-ad-dc')
-		$(multilib_native_use_with ads)
-		$(multilib_native_use_enable ceph cephfs)
-		$(multilib_native_use_with cluster cluster-support)
-		$(multilib_native_use_enable cups)
-		$(multilib_native_use_with dmapi)
-		$(multilib_native_use_with fam)
-		$(multilib_native_use_enable glusterfs)
-		$(multilib_native_use_with gpg gpgme)
-		$(multilib_native_use_with json)
-		$(multilib_native_use_enable iprint)
-		$(multilib_native_use_with pam)
-		$(multilib_native_usex pam "--with-pammodulesdir=${EPREFIX}/$(get_libdir)/security" '')
-		$(multilib_native_use_with quota quotas)
-		$(multilib_native_use_with regedit)
-		$(multilib_native_use_enable spotlight)
-		$(multilib_native_use_with syslog)
-		$(multilib_native_use_with systemd)
-		--with-systemddir="$(systemd_get_systemunitdir)"
-		$(multilib_native_use_with winbind)
-		$(multilib_native_usex python '' '--disable-python')
-		$(multilib_native_use_enable zeroconf avahi)
-		$(multilib_native_usex test '--enable-selftest' '')
-		$(usex system-mitkrb5 "--with-system-mitkrb5 $(multilib_native_usex addc --with-experimental-mit-ad-dc '')" '')
-		$(use_with debug lttng)
-		$(use_with ldap)
-		$(use_with profiling-data)
-		# bug #683148
-		--jobs 1
-	)
-
-	if multilib_is_native_abi ; then
-		myconf+=( --with-shared-modules="${SHAREDMODS}" )
-	else
-		myconf+=( "--with-shared-modules=DEFAULT !vfs_snapper" )
-	fi
-
-	KRB5_CONFIG="${CHOST}-krb5-config" \
-	PERL5LIB="${SYSROOT}/usr/$(get_libdir)/perl5/vendor_perl/${PERLVER}" \
-	YAPP="${SYSROOT}/usr/bin/yapp" \
-	CPPFLAGS="-I${SYSROOT}${EPREFIX}/usr/include/et ${CPPFLAGS}" \
-		waf-utils_src_configure "${myconf[@]}"
-}
-
-multilib_src_compile() {
-	PERL5LIB="${SYSROOT}/usr/$(get_libdir)/perl5/vendor_perl/${PERLVER}" \
-	YAPP="${SYSROOT}/usr/bin/yapp" \
-		waf-utils_src_compile
-}
-
-multilib_src_install() {
-	waf-utils_src_install
-
-	# Make all .so files executable
-	find "${ED}" -type f -name "*.so" -exec chmod +x {} + || die
-
-	# Install async dns plugin only for amd64 architecture for authpolicyd and kerberosd
-	if [[ "${ARCH}" == "amd64" ]]; then
-		insinto "/usr/$(get_libdir)/krb5/plugins/libkrb5/"
-		newins bin/default/nsswitch/libasync-dns-krb5-locator.inst.so libasync-dns-krb5-locator.so
-	fi
-
-	if multilib_is_native_abi ; then
-		# install ldap schema for server (bug #491002)
-		if use ldap ; then
-			insinto /etc/openldap/schema
-			doins examples/LDAP/samba.schema
-		fi
-
-		# create symlink for cups (bug #552310)
-		if use cups ; then
-			dosym ../../../bin/smbspool /usr/libexec/cups/backend/smb
-		fi
-
-		# install example config file
-		insinto /etc/samba
-		doins examples/smb.conf.default
-
-		# Fix paths in example file (#603964)
-		sed \
-			-e '/log file =/s@/usr/local/samba/var/@/var/log/samba/@' \
-			-e '/include =/s@/usr/local/samba/lib/@/etc/samba/@' \
-			-e '/path =/s@/usr/local/samba/lib/@/var/lib/samba/@' \
-			-e '/path =/s@/usr/local/samba/@/var/lib/samba/@' \
-			-e '/path =/s@/usr/spool/samba@/var/spool/samba@' \
-			-i "${ED}"/etc/samba/smb.conf.default || die
-
-		# Install init script and conf.d file
-		newinitd "${CONFDIR}/samba4.initd-r1" samba
-		newconfd "${CONFDIR}/samba4.confd" samba
-
-		dotmpfiles "${FILESDIR}"/samba.conf
-	fi
-
-	if use pam && use winbind ; then
-		newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind
-		# bugs #376853 and #590374
-		insinto /etc/security
-		doins examples/pam_winbind/pam_winbind.conf
-	fi
-
-	# Prune directories that maintain state for the samba daemon. If you wish to
-	# use the daemon in tests you can pass the private dir as a directive.
-	rmdir "${D}"/var/run/samba
-	rmdir "${D}"/var/log/samba
-	rmdir "${D}"/var/lock/samba
-	rm -rf "${D}"/var/lib/samba
-	rmdir "${D}"/var/cache/samba
-
-	# Prune empty dirs to avoid tripping multilib checks.
-	rmdir "${D}"/usr/lib* 2>/dev/null
-
-	# Move smbd to /usr/local/sbin/smbd to facilitate local testing.
-	# This directory is only available on test images, see:
-	# https://chromium.googlesource.com/chromiumos/platform2/+/refs/heads/main/dev-install/README.md#Environments
-	into /usr/local
-	dosbin "${D}"/usr/sbin/smbd
-}
-
-multilib_src_test() {
-	if multilib_is_native_abi ; then
-		"${WAF_BINARY}" test || die "test failed"
-	fi
-}
-
-pkg_postinst() {
-	tmpfiles_process samba.conf
-
-	if [[ -z ${REPLACING_VERSIONS} ]] ; then
-		elog "Be aware that this release contains the best of all of Samba's"
-		elog "technology parts, both a file server (that you can reasonably expect"
-		elog "to upgrade existing Samba 3.x releases to) and the AD domain"
-		elog "controller work previously known as 'samba4'."
-		elog
-	fi
-	if [[ "${PV}" != *_rc* ]] ; then
-		elog "For further information and migration steps make sure to read "
-		elog "https://samba.org/samba/history/${P}.html "
-		elog "https://wiki.samba.org/index.php/Samba4/HOWTO "
-	fi
-}
diff --git a/net-fs/samba/samba-4.15.5-r1.ebuild b/net-fs/samba/samba-4.15.5-r1.ebuild
new file mode 100644
index 0000000..65d7a97
--- /dev/null
+++ b/net-fs/samba/samba-4.15.5-r1.ebuild
@@ -0,0 +1,349 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+PYTHON_REQ_USE="threads(+),xml(+)"
+inherit python-single-r1 waf-utils multilib-minimal linux-info systemd pam tmpfiles
+
+DESCRIPTION="Samba Suite Version 4"
+HOMEPAGE="https://samba.org/"
+
+MY_PV="${PV/_rc/rc}"
+MY_P="${PN}-${MY_PV}"
+if [[ ${PV} = *_rc* ]]; then
+	SRC_URI="mirror://samba/rc/${MY_P}.tar.gz"
+else
+	SRC_URI="mirror://samba/stable/${MY_P}.tar.gz"
+	KEYWORDS="*"
+fi
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="acl addc ads ceph client cluster cpu_flags_x86_aes cups debug fam
+glusterfs gpg iprint json ldap pam profiling-data python quota regedit selinux
+snapper spotlight syslog system-heimdal +system-mitkrb5 systemd test winbind
+zeroconf"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+	addc? ( python json winbind )
+	ads? ( acl ldap winbind )
+	cluster? ( ads )
+	gpg? ( addc )
+	spotlight? ( json )
+	test? ( python )
+	!ads? ( !addc )
+	?? ( system-heimdal system-mitkrb5 )
+"
+
+# the test suite is messed, it uses system-installed samba
+# bits instead of what was built, tests things disabled via use
+# flags, and generally just fails to work in a way ebuilds could
+# rely on in its current state
+RESTRICT="test"
+
+MULTILIB_WRAPPED_HEADERS=(
+	/usr/include/samba-4.0/policy.h
+	/usr/include/samba-4.0/dcerpc_server.h
+	/usr/include/samba-4.0/ctdb.h
+	/usr/include/samba-4.0/ctdb_client.h
+	/usr/include/samba-4.0/ctdb_protocol.h
+	/usr/include/samba-4.0/ctdb_private.h
+	/usr/include/samba-4.0/ctdb_typesafe_cb.h
+	/usr/include/samba-4.0/ctdb_version.h
+)
+
+COMMON_DEPEND="
+	>=app-arch/libarchive-3.1.2[${MULTILIB_USEDEP}]
+	dev-lang/perl:=
+	dev-libs/libbsd[${MULTILIB_USEDEP}]
+	dev-libs/libtasn1[${MULTILIB_USEDEP}]
+	dev-libs/popt[${MULTILIB_USEDEP}]
+	dev-perl/Parse-Yapp
+	>=net-libs/gnutls-3.4.7[${MULTILIB_USEDEP}]
+	|| (
+		>=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}]
+		sys-libs/e2fsprogs-libs[${MULTILIB_USEDEP}]
+	)
+	>=sys-libs/ldb-2.4.1[ldap(+)?,${MULTILIB_USEDEP}]
+	<sys-libs/ldb-2.5.0[ldap(+)?,${MULTILIB_USEDEP}]
+	sys-libs/libcap[${MULTILIB_USEDEP}]
+	sys-libs/ncurses:0=
+	sys-libs/readline:0=
+	>=sys-libs/talloc-2.3.3[${MULTILIB_USEDEP}]
+	>=sys-libs/tdb-1.4.4[${MULTILIB_USEDEP}]
+	>=sys-libs/tevent-0.11.0[${MULTILIB_USEDEP}]
+	sys-libs/zlib[${MULTILIB_USEDEP}]
+	virtual/libcrypt:=[${MULTILIB_USEDEP}]
+	virtual/libiconv
+	acl? ( virtual/acl )
+	ceph? ( sys-cluster/ceph )
+	cluster? ( net-libs/rpcsvc-proto )
+	cups? ( net-print/cups )
+	debug? ( dev-util/lttng-ust )
+	fam? ( virtual/fam )
+	gpg? ( app-crypt/gpgme:= )
+	json? ( dev-libs/jansson:= )
+	ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] )
+	pam? ( sys-libs/pam )
+	snapper? ( sys-apps/dbus )
+	system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,${MULTILIB_USEDEP}] )
+	system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[${MULTILIB_USEDEP}] )
+	systemd? ( sys-apps/systemd:0= )
+	zeroconf? ( net-dns/avahi[dbus] )
+"
+DEPEND="${COMMON_DEPEND}
+	>=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}]
+	net-libs/libtirpc[${MULTILIB_USEDEP}]
+	|| (
+		net-libs/rpcsvc-proto
+		<sys-libs/glibc-2.26[rpc(+)]
+	)
+	spotlight? ( dev-libs/glib )
+	test? (
+		$(python_gen_cond_dep "dev-python/subunit[\${PYTHON_USEDEP},${MULTILIB_USEDEP}]" )
+		!system-mitkrb5? (
+			>=net-dns/resolv_wrapper-1.1.4
+			>=net-libs/socket_wrapper-1.1.9
+			>=sys-libs/nss_wrapper-1.1.3
+			>=sys-libs/uid_wrapper-1.2.1
+		)
+	)"
+RDEPEND="${COMMON_DEPEND}
+	chromeos-base/chrome-icu:=
+	client? ( net-fs/cifs-utils[ads?] )
+	python? ( ${PYTHON_DEPS} )
+	selinux? ( sec-policy/selinux-samba )
+"
+BDEPEND="${PYTHON_DEPS}
+	app-text/docbook-xsl-stylesheets
+	dev-libs/libxslt
+	virtual/pkgconfig
+"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-4.4.0-pam.patch"
+
+	# Chrome OS specific patches that aren't upstream
+	"${FILESDIR}/${PN}-4.11.13-machinepass_stdin.patch"
+	"${FILESDIR}/${PN}-4.11.13-machinepass_expire.patch"
+	"${FILESDIR}/${PN}-4.11.13-reuse_existing_computer_account.patch"
+
+	# Temporary workaround until we fix Samba/OpenLDAP issues (see
+	# https://crbug.com/953613).
+	"${FILESDIR}/${PN}-4.11.13-lib-gpo-Cope-with-Site-GPO-s-list-failure.patch"
+)
+
+#CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)"
+CONFDIR="${FILESDIR}/4.4"
+
+WAF_BINARY="${S}/buildtools/bin/waf"
+
+SHAREDMODS=""
+
+pkg_setup() {
+	# Package fails to build with distcc
+	export DISTCC_DISABLE=1
+
+	PERLVER=$(/usr/bin/perl -e "\$_ = \$^V; s/v//; print")
+
+	python-single-r1_pkg_setup
+
+	SHAREDMODS="$(usex snapper '' '!')vfs_snapper"
+	if use cluster ; then
+		SHAREDMODS+=",idmap_rid,idmap_tdb2,idmap_ad"
+	elif use ads ; then
+		SHAREDMODS+=",idmap_ad"
+	fi
+}
+
+src_prepare() {
+	default
+
+	# un-bundle dnspython
+	sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die
+
+	# unbundle iso8601 unless tests are enabled
+	if ! use test ; then
+		sed -i -e '/"iso8601":/d' "${S}"/third_party/wscript || die
+	fi
+
+	## ugly hackaround for bug #592502
+	#cp /usr/include/tevent_internal.h "${S}"/lib/tevent/ || die
+
+	sed -e 's:<gpgme\.h>:<gpgme/gpgme.h>:' \
+		-i source4/dsdb/samdb/ldb_modules/password_hash.c \
+		|| die
+
+	# Friggin' WAF shit
+	multilib_copy_sources
+}
+
+multilib_src_configure() {
+	# when specifying libs for samba build you must append NONE to the end to
+	# stop it automatically including things
+	local bundled_libs="NONE"
+	if ! use system-heimdal && ! use system-mitkrb5 ; then
+		bundled_libs="heimbase,heimntlm,hdb,kdc,krb5,wind,gssapi,hcrypto,hx509,roken,asn1,com_err,NONE"
+	fi
+
+	local myconf=(
+		--enable-fhs
+		--sysconfdir="${EPREFIX}/etc"
+		--localstatedir="${EPREFIX}/var"
+		--with-modulesdir="${EPREFIX}/usr/$(get_libdir)/samba"
+		--with-piddir="${EPREFIX}/run/${PN}"
+		--bundled-libraries="${bundled_libs}"
+		--builtin-libraries=NONE
+		--disable-rpath
+		--disable-rpath-install
+		--nopyc
+		--nopyo
+		--without-winexe
+		--accel-aes="$(usex cpu_flags_x86_aes intelaesni none)"
+		--with-libiconv="${SYSROOT}/usr"
+		$(multilib_native_use_with acl acl-support)
+		$(multilib_native_usex addc '' '--without-ad-dc')
+		$(multilib_native_use_with ads)
+		$(multilib_native_use_enable ceph cephfs)
+		$(multilib_native_use_with cluster cluster-support)
+		$(multilib_native_use_enable cups)
+		--without-dmapi
+		$(multilib_native_use_with fam)
+		$(multilib_native_use_enable glusterfs)
+		$(multilib_native_use_with gpg gpgme)
+		$(multilib_native_use_with json)
+		$(multilib_native_use_enable iprint)
+		$(multilib_native_use_with pam)
+		$(multilib_native_usex pam "--with-pammodulesdir=${EPREFIX}/$(get_libdir)/security" '')
+		$(multilib_native_use_with quota quotas)
+		$(multilib_native_use_with regedit)
+		$(multilib_native_use_enable spotlight)
+		$(multilib_native_use_with syslog)
+		$(multilib_native_use_with systemd)
+		--with-systemddir="$(systemd_get_systemunitdir)"
+		$(multilib_native_use_with winbind)
+		$(multilib_native_usex python '' '--disable-python')
+		$(multilib_native_use_enable zeroconf avahi)
+		$(multilib_native_usex test '--enable-selftest' '')
+		$(usex system-mitkrb5 "--with-system-mitkrb5 $(multilib_native_usex addc --with-experimental-mit-ad-dc '')" '')
+		$(use_with debug lttng)
+		$(use_with ldap)
+		$(use_with profiling-data)
+		# bug #683148
+		--jobs 1
+	)
+
+	if multilib_is_native_abi ; then
+		myconf+=( --with-shared-modules="${SHAREDMODS}" )
+	else
+		myconf+=( "--with-shared-modules=DEFAULT !vfs_snapper" )
+	fi
+
+	KRB5_CONFIG="${CHOST}-krb5-config" \
+	PERL5LIB="${SYSROOT}/usr/$(get_libdir)/perl5/vendor_perl/${PERLVER}" \
+	YAPP="${SYSROOT}/usr/bin/yapp" \
+	CPPFLAGS="-I${SYSROOT}${EPREFIX}/usr/include/et ${CPPFLAGS}" \
+		waf-utils_src_configure "${myconf[@]}"
+}
+
+multilib_src_compile() {
+	PERL5LIB="${SYSROOT}/usr/$(get_libdir)/perl5/vendor_perl/${PERLVER}" \
+	YAPP="${SYSROOT}/usr/bin/yapp" \
+		waf-utils_src_compile
+}
+
+multilib_src_install() {
+	waf-utils_src_install
+
+	# Make all .so files executable
+	find "${ED}" -type f -name "*.so" -exec chmod +x {} + || die
+
+	# Install async dns plugin only for amd64 architecture for authpolicyd and kerberosd
+	if [[ "${ARCH}" == "amd64" ]]; then
+		insinto "/usr/$(get_libdir)/krb5/plugins/libkrb5/"
+		newins bin/default/nsswitch/libasync-dns-krb5-locator.inst.so libasync-dns-krb5-locator.so
+	fi
+
+	if multilib_is_native_abi ; then
+		# install ldap schema for server (bug #491002)
+		if use ldap ; then
+			insinto /etc/openldap/schema
+			doins examples/LDAP/samba.schema
+		fi
+
+		# create symlink for cups (bug #552310)
+		if use cups ; then
+			dosym ../../../bin/smbspool \
+				/usr/libexec/cups/backend/smb
+		fi
+
+		# install example config file
+		insinto /etc/samba
+		doins examples/smb.conf.default
+
+		# Fix paths in example file (#603964)
+		sed \
+			-e '/log file =/s@/usr/local/samba/var/@/var/log/samba/@' \
+			-e '/include =/s@/usr/local/samba/lib/@/etc/samba/@' \
+			-e '/path =/s@/usr/local/samba/lib/@/var/lib/samba/@' \
+			-e '/path =/s@/usr/local/samba/@/var/lib/samba/@' \
+			-e '/path =/s@/usr/spool/samba@/var/spool/samba@' \
+			-i "${ED}"/etc/samba/smb.conf.default || die
+
+		# Install init script and conf.d file
+		newinitd "${CONFDIR}/samba4.initd-r1" samba
+		newconfd "${CONFDIR}/samba4.confd" samba
+
+		dotmpfiles "${FILESDIR}"/samba.conf
+	fi
+
+	if use pam && use winbind ; then
+		newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind
+		# bugs #376853 and #590374
+		insinto /etc/security
+		doins examples/pam_winbind/pam_winbind.conf
+	fi
+
+	# Prune directories that maintain state for the samba daemon. If you wish to
+	# use the daemon in tests you can pass the private dir as a directive.
+	rmdir "${D}"/var/run/samba
+	rmdir "${D}"/var/log/samba
+	rmdir "${D}"/var/lock/samba
+	rm -rf "${D}"/var/lib/samba
+	rmdir "${D}"/var/cache/samba
+
+	# Prune empty dirs to avoid tripping multilib checks.
+	rmdir "${D}"/usr/lib* 2>/dev/null
+
+	# Move smbd to /usr/local/sbin/smbd to facilitate local testing.
+	# This directory is only available on test images, see:
+	# https://chromium.googlesource.com/chromiumos/platform2/+/refs/heads/main/dev-install/README.md#Environments
+	into /usr/local
+	dosbin "${D}"/usr/sbin/smbd
+}
+
+multilib_src_test() {
+	if multilib_is_native_abi ; then
+		"${WAF_BINARY}" test || die "test failed"
+	fi
+}
+
+pkg_postinst() {
+	tmpfiles_process samba.conf
+
+	if [[ -z ${REPLACING_VERSIONS} ]] ; then
+		elog "Be aware that this release contains the best of all of Samba's"
+		elog "technology parts, both a file server (that you can reasonably expect"
+		elog "to upgrade existing Samba 3.x releases to) and the AD domain"
+		elog "controller work previously known as 'samba4'."
+		elog
+	fi
+	if [[ "${PV}" != *_rc* ]] ; then
+		elog "For further information and migration steps make sure to read "
+		elog "https://samba.org/samba/history/${P}.html "
+		elog "https://wiki.samba.org/index.php/Samba4/HOWTO "
+	fi
+}
diff --git a/net-fs/sshfs/files/sshfs-2.10-vsock.patch b/net-fs/sshfs/files/sshfs-2.10-vsock.patch
new file mode 100644
index 0000000..0cf7e31
--- /dev/null
+++ b/net-fs/sshfs/files/sshfs-2.10-vsock.patch
@@ -0,0 +1,123 @@
+From 736a4a686d44ed0050a5edbd96a648a1e2a40e74 Mon Sep 17 00:00:00 2001
+From: Emil Mikulic <easy@google.com>
+Date: Fri, 25 Mar 2022 11:24:39 +1100
+Subject: [PATCH] Implement connect to vsock.
+
+"sshfs -o vsock=CID:PORT" will cause sshfs to connect directly to the
+given vsock, bypassing ssh, and allowing high performance sshfs mounts
+of a VM guest.
+---
+ sshfs.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 62 insertions(+)
+
+diff --git a/sshfs.c b/sshfs.c
+index 97eaf06..563240b 100644
+--- a/sshfs.c
++++ b/sshfs.c
+@@ -50,6 +50,9 @@
+ #  include <libgen.h>
+ #  include <darwin_compat.h>
+ #endif
++#ifdef __linux__
++#  include <linux/vm_sockets.h>
++#endif
+ 
+ #include "cache.h"
+ 
+@@ -275,6 +278,7 @@ struct sshfs {
+ 	int ext_fsync;
+ 	mode_t mnt_mode;
+ 	struct fuse_operations *op;
++	char *vsock;
+ 
+ 	/* statistics */
+ 	uint64_t bytes_sent;
+@@ -403,6 +407,7 @@ static struct fuse_opt sshfs_opts[] = {
+ 	SSHFS_OPT("delay_connect",     delay_connect, 1),
+ 	SSHFS_OPT("slave",             slave, 1),
+ 	SSHFS_OPT("disable_hardlink",  disable_hardlink, 1),
++	SSHFS_OPT("vsock=%s",          vsock, 0),
+ 
+ 	FUSE_OPT_KEY("-p ",            KEY_PORT),
+ 	FUSE_OPT_KEY("-C",             KEY_COMPRESS),
+@@ -1113,6 +1118,60 @@ static int connect_to(char *host, char *port)
+ 	return 0;
+ }
+ 
++static int connect_vsock(char *vsock)
++{
++#ifndef __linux__
++	fprintf(stderr, "vsock is not available\n");
++	return -1;
++#else
++	int err;
++	int sock;
++	struct sockaddr_vm addr;
++	unsigned int cid;
++	unsigned int port;
++	char *delim;
++
++	delim = strchr(vsock, ':');
++	if (delim == NULL) {
++		fprintf(stderr, "invalid vsock, expecting CID:PORT\n");
++		return -1;
++	}
++	*delim = '\0';
++	errno = 0;
++	cid = strtoul(vsock, NULL, 10);
++	if (errno) {
++		perror("invalid cid");
++		return -1;
++	}
++	errno = 0;
++	port = strtoul(delim + 1, NULL, 10);
++	if (errno) {
++		perror("invalid port");
++		return -1;
++	}
++
++	sock = socket(AF_VSOCK, SOCK_STREAM, 0);
++	if (sock == -1) {
++		perror("failed to create socket");
++		return -1;
++	}
++	memset(&addr, 0, sizeof(addr));
++	addr.svm_family = AF_VSOCK;
++	addr.svm_cid = cid;
++	addr.svm_port = port;
++	err = connect(sock, (const struct sockaddr *)&addr, sizeof(addr));
++	if (err == -1) {
++		perror("failed to connect vsock");
++		close(sock);
++		return -1;
++	}
++
++	sshfs.rfd = sock;
++	sshfs.wfd = sock;
++	return 0;
++#endif
++}
++
+ static int do_write(struct iovec *iov, size_t count)
+ {
+ 	int res;
+@@ -1661,6 +1720,8 @@ static int connect_remote(void)
+ 		err = connect_slave();
+ 	else if (sshfs.directport)
+ 		err = connect_to(sshfs.host, sshfs.directport);
++	else if (sshfs.vsock)
++		err = connect_vsock(sshfs.vsock);
+ 	else
+ 		err = start_ssh();
+ 	if (!err)
+@@ -3348,6 +3409,7 @@ static void usage(const char *progname)
+ "    -o follow_symlinks     follow symlinks on the server\n"
+ "    -o no_check_root       don't check for existence of 'dir' on server\n"
+ "    -o password_stdin      read password from stdin (only for pam_mount!)\n"
++"    -o vsock=CID:PORT      connect to the given vsock\n"
+ "    -o SSHOPT=VAL          ssh options (see man ssh_config)\n"
+ "\n", progname);
+ }
+-- 
+2.35.1.1021.g381101b075-goog
+
diff --git a/net-fs/sshfs/sshfs-2.10-r4.ebuild b/net-fs/sshfs/sshfs-2.10-r4.ebuild
deleted file mode 100644
index dbd17e6..0000000
--- a/net-fs/sshfs/sshfs-2.10-r4.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit cros-sanitizers
-
-DESCRIPTION="Fuse-filesystem utilizing the sftp service"
-HOMEPAGE="https://github.com/libfuse/sshfs"
-SRC_URI="https://github.com/libfuse/${PN}/releases/download/${P}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-KEYWORDS="*"
-SLOT="0"
-
-CDEPEND=">=sys-fs/fuse-2.6.0_pre3:0
-	>=dev-libs/glib-2.4.2"
-RDEPEND="${CDEPEND}
-	>=net-misc/openssh-4.4"
-DEPEND="${CDEPEND}
-	virtual/pkgconfig"
-
-src_prepare() {
-	eapply "${FILESDIR}"/sshfs-2.10-mount-mode.patch
-	eapply "${FILESDIR}"/sshfs-2.10-disable-symlinks.patch
-	eapply_user
-}
-
-src_configure() {
-	sanitizers-setup-env
-	default
-}
diff --git a/net-fs/sshfs/sshfs-2.10-r5.ebuild b/net-fs/sshfs/sshfs-2.10-r5.ebuild
new file mode 100644
index 0000000..79eb58f
--- /dev/null
+++ b/net-fs/sshfs/sshfs-2.10-r5.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit cros-sanitizers
+
+DESCRIPTION="Fuse-filesystem utilizing the sftp service"
+HOMEPAGE="https://github.com/libfuse/sshfs"
+SRC_URI="https://github.com/libfuse/${PN}/releases/download/${P}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+KEYWORDS="*"
+SLOT="0"
+
+CDEPEND=">=sys-fs/fuse-2.6.0_pre3:0
+	>=dev-libs/glib-2.4.2"
+RDEPEND="${CDEPEND}
+	>=net-misc/openssh-4.4"
+DEPEND="${CDEPEND}
+	virtual/pkgconfig"
+
+src_prepare() {
+	eapply "${FILESDIR}"/sshfs-2.10-mount-mode.patch
+	eapply "${FILESDIR}"/sshfs-2.10-disable-symlinks.patch
+	eapply "${FILESDIR}"/sshfs-2.10-vsock.patch
+	eapply_user
+}
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
diff --git a/net-libs/OWNERS b/net-libs/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/net-libs/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/net-libs/grpc-web/grpc-web-1.0.3-r1.ebuild b/net-libs/grpc-web/grpc-web-1.0.3-r2.ebuild
similarity index 100%
rename from net-libs/grpc-web/grpc-web-1.0.3-r1.ebuild
rename to net-libs/grpc-web/grpc-web-1.0.3-r2.ebuild
diff --git a/net-libs/grpc-web/grpc-web-1.0.3.ebuild b/net-libs/grpc-web/grpc-web-1.0.3.ebuild
index 4e57ab4..b3103c4 100644
--- a/net-libs/grpc-web/grpc-web-1.0.3.ebuild
+++ b/net-libs/grpc-web/grpc-web-1.0.3.ebuild
@@ -14,7 +14,7 @@
 KEYWORDS="*"
 IUSE=""
 
-DEPEND="dev-libs/protobuf"
+DEPEND="dev-libs/protobuf:="
 RDEPEND="${DEPEND}"
 
 src_prepare() {
diff --git a/net-libs/grpc/files/grpc-1.16.1-new-protobuf-decoder-fix.patch b/net-libs/grpc/files/grpc-1.16.1-new-protobuf-decoder-fix.patch
new file mode 100644
index 0000000..8e50fcb
--- /dev/null
+++ b/net-libs/grpc/files/grpc-1.16.1-new-protobuf-decoder-fix.patch
@@ -0,0 +1,24 @@
+Modify proto_utils.h to work with protobuf >3.11.x
+
+Newer version of protobuf updated the SetTotalBytesLimit interface dropping one
+function input. The patch updates proto_utils.h to use a new interface signature
+when a protobuf >3.11.x is detected.
+
+diff --git a/include/grpcpp/impl/codegen/proto_utils.h b/include/grpcpp/impl/codegen/proto_utils.h
+index d9db6de..ede7381 100644
+--- a/include/grpcpp/impl/codegen/proto_utils.h
++++ b/include/grpcpp/impl/codegen/proto_utils.h
+@@ -83,7 +83,12 @@ Status GenericDeserialize(ByteBuffer* buffer, grpc::protobuf::Message* msg) {
+       return reader.status();
+     }
+     ::grpc::protobuf::io::CodedInputStream decoder(&reader);
+-    decoder.SetTotalBytesLimit(INT_MAX, INT_MAX);
++    #if GOOGLE_PROTOBUF_VERSION >= 3002000
++      decoder.SetTotalBytesLimit(INT_MAX);
++    #else
++      decoder.SetTotalBytesLimit(INT_MAX, INT_MAX);
++    #endif
++
+     if (!msg->ParseFromCodedStream(&decoder)) {
+       result = Status(StatusCode::INTERNAL, msg->InitializationErrorString());
+     }
diff --git a/net-libs/grpc/grpc-1.16.1-r6.ebuild b/net-libs/grpc/grpc-1.16.1-r8.ebuild
similarity index 100%
rename from net-libs/grpc/grpc-1.16.1-r6.ebuild
rename to net-libs/grpc/grpc-1.16.1-r8.ebuild
diff --git a/net-libs/grpc/grpc-1.16.1.ebuild b/net-libs/grpc/grpc-1.16.1.ebuild
index c4f9a31..0bebad1 100644
--- a/net-libs/grpc/grpc-1.16.1.ebuild
+++ b/net-libs/grpc/grpc-1.16.1.ebuild
@@ -41,6 +41,7 @@
 	"${FILESDIR}/grpc-1.16.1-Support-vsock.patch"
 	"${FILESDIR}/grpc-1.16.1-string-contatenation.patch"
 	"${FILESDIR}/grpc-1.16.1-backport-glibc-gettid-fix.patch"
+	"${FILESDIR}/grpc-1.16.1-new-protobuf-decoder-fix.patch"
 )
 
 S="${WORKDIR}/${PN}-${MY_PV}"
@@ -49,6 +50,8 @@
 	sed -i 's@$(prefix)/lib@$(prefix)/$(INSTALL_LIBDIR)@g' Makefile || die "fix libdir"
 	sed -i 's/^install-headers_cxx:$/install-headers_cxx: install-headers_c/g' Makefile \
 		|| die "failed to patch install-headers_cxx"
+	# Support newer protobuf versions.
+	sed -i 's/s != google::protobuf::util::Status::OK/!s.ok()/g' src/cpp/server/channelz/channelz_service.cc
 	default
 }
 
diff --git a/net-libs/libmbim/libmbim-1.27.5-r83.ebuild b/net-libs/libmbim/libmbim-1.27.5-r83.ebuild
deleted file mode 100644
index c643078..0000000
--- a/net-libs/libmbim/libmbim-1.27.5-r83.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-CROS_WORKON_COMMIT="ec335c53a29f189f9291a97c3826cc6e4b733bb5"
-CROS_WORKON_TREE="480d56792a8ad8f719683bcde4cc72c935669187"
-CROS_WORKON_PROJECT="chromiumos/third_party/libmbim"
-
-inherit meson cros-sanitizers cros-workon udev
-
-DESCRIPTION="MBIM modem protocol helper library"
-HOMEPAGE="http://cgit.freedesktop.org/libmbim/"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-IUSE="-asan doc static-libs"
-
-RDEPEND=">=dev-libs/glib-2.36
-	virtual/libgudev"
-
-DEPEND="${RDEPEND}
-	doc? ( dev-util/gtk-doc )
-	virtual/pkgconfig"
-
-src_configure() {
-	sanitizers-setup-env
-
-	local emesonargs=(
-		--prefix='/usr'
-		-Dmbim_username='modem'
-		-Dlibexecdir='/usr/libexec'
-		-Dudevdir='/lib/udev'
-		-Dintrospection=false
-		-Dman=false
-		-Dbash_completion=false
-	)
-	meson_src_configure
-}
diff --git a/net-libs/libmbim/libmbim-1.27.7-r88.ebuild b/net-libs/libmbim/libmbim-1.27.7-r88.ebuild
new file mode 100644
index 0000000..68f6c32
--- /dev/null
+++ b/net-libs/libmbim/libmbim-1.27.7-r88.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+CROS_WORKON_COMMIT="3145e614841cc5d3e94830bf7502311285e2b71a"
+CROS_WORKON_TREE="bcbbcdb8bdbefa4fd7e1d3c68b9a070f9fdeab01"
+CROS_WORKON_PROJECT="chromiumos/third_party/libmbim"
+CROS_WORKON_EGIT_BRANCH="master"
+
+inherit meson cros-sanitizers cros-workon udev
+
+DESCRIPTION="MBIM modem protocol helper library"
+HOMEPAGE="http://cgit.freedesktop.org/libmbim/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+IUSE="-asan doc static-libs"
+
+RDEPEND=">=dev-libs/glib-2.36
+	virtual/libgudev"
+
+DEPEND="${RDEPEND}
+	doc? ( dev-util/gtk-doc )
+	virtual/pkgconfig"
+
+src_configure() {
+	sanitizers-setup-env
+
+	local emesonargs=(
+		--prefix='/usr'
+		-Dmbim_username='modem'
+		-Dlibexecdir='/usr/libexec'
+		-Dudevdir='/lib/udev'
+		-Dintrospection=false
+		-Dman=false
+		-Dbash_completion=false
+	)
+	meson_src_configure
+}
diff --git a/net-libs/libmbim/libmbim-9999.ebuild b/net-libs/libmbim/libmbim-9999.ebuild
index f47bd9c..8db1f51 100644
--- a/net-libs/libmbim/libmbim-9999.ebuild
+++ b/net-libs/libmbim/libmbim-9999.ebuild
@@ -3,6 +3,7 @@
 
 EAPI=6
 CROS_WORKON_PROJECT="chromiumos/third_party/libmbim"
+CROS_WORKON_EGIT_BRANCH="master"
 
 inherit meson cros-sanitizers cros-workon udev
 
diff --git a/net-libs/libproxy/Manifest b/net-libs/libproxy/Manifest
index e7803f5..b686870 100644
--- a/net-libs/libproxy/Manifest
+++ b/net-libs/libproxy/Manifest
@@ -1 +1 @@
-DIST libproxy-0.4.13.tar.gz 89296 SHA256 d610bc0ef81a18ba418d759c5f4f87bf7102229a9153fb397d7d490987330ffd SHA512 babbe5e9326cb2bfdf4504662533b314f72c3475687f8b57c235614698cb18e0ed31752b834cb1d33cc94ecd3af6589684b2846e73830f0be3557c465a1f1c42 WHIRLPOOL 1b159efd7e03505c8fd7098a553ba22099cf90002730c3a6c929dbfecb95af3c175aebb93502e4286c66604f75a01d4205cd311144a97f51d425ef69f4345370
+DIST libproxy-0.4.14.tar.xz 77768 BLAKE2B 271af276ae88ead33bc552430b50345911ebbd905781a3aefbeba4df4124038e1ba61ff2772c89b3c5fe928a30ecfe861732b4798a38efad50e6f000a1e95302 SHA512 610d5d8ffb812efd75541a8da2b2ab5882529364b3e736f26c57fba57183464b531f84d04bdc73fabd4d3899a63b909db59ead81081d55753386da511e5381b3
diff --git a/net-libs/libproxy/files/libproxy-0.4.11-avoid-nm-build-dep.patch b/net-libs/libproxy/files/libproxy-0.4.11-avoid-nm-build-dep.patch
deleted file mode 100644
index 59e368b..0000000
--- a/net-libs/libproxy/files/libproxy-0.4.11-avoid-nm-build-dep.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 518214ee85e10c5bc99d3b115ae7ac9cc3fc14fc Mon Sep 17 00:00:00 2001
-From: Alexandre Rostovtsev <tetromino@gentoo.org>
-Date: Mon, 29 Apr 2013 23:02:25 -0400
-Subject: [PATCH] Avoid build-time dependency on NetworkManager
-
-Needed to prevent a dependency loop:
-nm -> libsoup -> glib-networking -> libproxy -> nm
-
-https://bugs.gentoo.org/467696
----
- libproxy/cmake/modules/network_networkmanager.cmk |  4 ++--
- libproxy/modules/network_networkmanager.cpp       | 21 ++++++++++++++++++++-
- 2 files changed, 22 insertions(+), 3 deletions(-)
-
-diff --git a/libproxy/cmake/modules/network_networkmanager.cmk b/libproxy/cmake/modules/network_networkmanager.cmk
-index d9f9588..2586bbd 100644
---- a/libproxy/cmake/modules/network_networkmanager.cmk
-+++ b/libproxy/cmake/modules/network_networkmanager.cmk
-@@ -1,3 +1,3 @@
- if (NOT WIN32 AND NOT APPLE)
--  px_check_modules(NM NetworkManager dbus-1)
--endif()
-\ No newline at end of file
-+  px_check_modules(NM dbus-1)
-+endif()
-diff --git a/libproxy/modules/network_networkmanager.cpp b/libproxy/modules/network_networkmanager.cpp
-index 564c275..a03425b 100644
---- a/libproxy/modules/network_networkmanager.cpp
-+++ b/libproxy/modules/network_networkmanager.cpp
-@@ -23,7 +23,26 @@
- using namespace libproxy;
- 
- #include <dbus/dbus.h>
--#include <NetworkManager/NetworkManager.h>
-+
-+
-+/*
-+ * copy-pasted from NetworkManager-0.9.6.4's NetworkManager.h to prevent
-+ * a circular dependency; https://bugs.gentoo.org/467696
-+ */
-+#define	NM_DBUS_PATH                        "/org/freedesktop/NetworkManager"
-+#define	NM_DBUS_INTERFACE                   "org.freedesktop.NetworkManager"
-+typedef enum {
-+	NM_STATE_UNKNOWN          = 0,
-+	NM_STATE_ASLEEP           = 10,
-+	NM_STATE_DISCONNECTED     = 20,
-+	NM_STATE_DISCONNECTING    = 30,
-+	NM_STATE_CONNECTING       = 40,
-+	NM_STATE_CONNECTED_LOCAL  = 50,
-+	NM_STATE_CONNECTED_SITE   = 60,
-+	NM_STATE_CONNECTED_GLOBAL = 70
-+} NMState;
-+#define NM_STATE_CONNECTED NM_STATE_CONNECTED_GLOBAL
-+
- 
- class networkmanager_network_extension : public network_extension {
- public:
--- 
-1.8.2.1
-
diff --git a/net-libs/libproxy/files/libproxy-0.4.13-cmake-37.patch b/net-libs/libproxy/files/libproxy-0.4.13-cmake-37.patch
deleted file mode 100644
index d96879a..0000000
--- a/net-libs/libproxy/files/libproxy-0.4.13-cmake-37.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 72bda7188408bd3c2491ea664da294cc483220bc Mon Sep 17 00:00:00 2001
-From: Andrey Rakhmatullin <wrar@wrar.name>
-Date: Sun, 20 Nov 2016 18:40:49 +0500
-Subject: [PATCH] Set CMP0054 CMake policy to NEW.
-
-CMake 3.7 exports a "t" variable for all projects and because of that
-the elseif statement in cmake/CMakeCSharpInformation.cmake:311 works
-incorrectly if CMP0054 is not set to NEW (as "t" is expanded to the
-variable value).
----
- CMakeLists.txt | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5313787..451e7a6 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -3,6 +3,9 @@ cmake_minimum_required(VERSION 2.6)
- if(POLICY CMP0011)
-    cmake_policy(SET CMP0011 NEW)
- endif(POLICY CMP0011)
-+if(POLICY CMP0054)
-+   cmake_policy(SET CMP0054 NEW)
-+endif(POLICY CMP0054)
- 
- # Make sure we look in our cmake folder for additional definitions
- set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake )
diff --git a/net-libs/libproxy/libproxy-0.4.13-r2.ebuild b/net-libs/libproxy/libproxy-0.4.13-r2.ebuild
deleted file mode 100644
index 0efb7f3..0000000
--- a/net-libs/libproxy/libproxy-0.4.13-r2.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-multilib eutils flag-o-matic mono-env python-r1
-
-DESCRIPTION="Library for automatic proxy configuration management"
-HOMEPAGE="https://github.com/libproxy/libproxy"
-SRC_URI="https://github.com/libproxy/libproxy/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-
-KEYWORDS="*"
-
-IUSE="gnome kde mono networkmanager perl python spidermonkey test webkit"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# NOTE: mozjs/spidermonkey might still cause problems like #373397 ?
-CDEPEND="
-	gnome? ( dev-libs/glib:2[${MULTILIB_USEDEP}] )
-	mono? ( dev-lang/mono )
-	networkmanager? ( sys-apps/dbus:0[${MULTILIB_USEDEP}] )
-	perl? ( dev-lang/perl:= )
-	python? ( ${PYTHON_DEPS} )
-	spidermonkey? ( >=dev-lang/spidermonkey-1.8.5:0= )
-	webkit? ( net-libs/webkit-gtk:4 )
-"
-DEPEND="${CDEPEND}
-	virtual/pkgconfig:0[${MULTILIB_USEDEP}]
-"
-RDEPEND="${CDEPEND}
-	kde? ( kde-frameworks/kconfig:5 )
-"
-# avoid dependency loop, bug #467696
-PDEPEND="networkmanager? ( net-misc/networkmanager )"
-
-PATCHES=(
-	# get-pac-test freezes when run by the ebuild, succeeds when building
-	# manually; virtualx.eclass doesn't help :(
-	"${FILESDIR}/${PN}-0.4.10-disable-pac-test.patch"
-
-	# prevent dependency loop with networkmanager, libsoup, glib-networking; bug #467696
-	# https://github.com/libproxy/libproxy/issues/28
-	"${FILESDIR}/${PN}-0.4.11-avoid-nm-build-dep.patch"
-
-	# Gentoo's spidermonkey doesn't set Version: in mozjs18[57].pc
-	"${FILESDIR}/${PN}-0.4.12-mozjs.pc.patch"
-
-	# https://github.com/libproxy/libproxy/issues/27
-	"${FILESDIR}/${PN}-0.4.12-macosx.patch"
-
-	# bug 600254
-	"${FILESDIR}/${P}-cmake-37.patch"
-)
-
-multilib_src_configure() {
-	local mycmakeargs=(
-		"$(multilib_is_native_abi && usex perl -DPERL_VENDORINSTALL=ON)"
-		# WITH_VALA just copies the .vapi file over and needs no deps,
-		# hence always enable it unconditionally
-		'-DWITH_VALA=ON'
-		"-DCMAKE_C_FLAGS=${CFLAGS}"
-		"-DCMAKE_CXX_FLAGS=${CXXFLAGS}"
-		"$(multilib_is_native_abi && usex mono -DGMCS_EXECUTABLE="${EPREFIX}/usr/bin/mcs")"
-		"-DWITH_GNOME3=$(usex gnome)"
-		"-DWITH_KDE=$(usex kde)"
-		"-DWITH_DOTNET=$(multilib_is_native_abi	&& usex mono || echo 'OFF')"
-		"-DWITH_NM=$(usex networkmanager)"
-		"-DWITH_PERL=$(multilib_is_native_abi && usex perl || echo 'OFF')"
-		"-DWITH_PYTHON=$(multilib_is_native_abi	&& usex python || echo 'OFF')"
-		"-DWITH_MOZJS=$(multilib_is_native_abi && usex spidermonkey || echo 'OFF')"
-		"-DWITH_NATUS=OFF"
-		"-DWITH_WEBKIT=OFF"
-		"-DWITH_WEBKIT3=$(multilib_is_native_abi && usex webkit || echo 'OFF')"
-		"-DBUILD_TESTING=$(usex test)"
-	)
-	cmake-utils_src_configure
-}
-
-src_configure() {
-	[[ ${CHOST} == *-solaris* ]] && append-libs -lsocket -lnsl
-
-	use python && python_setup
-	multilib-minimal_src_configure
-}
-
-multilib_src_install_all() {
-	doman "${FILESDIR}/proxy.1"
-	use python && python_foreach_impl python_domodule 'bindings/python/libproxy.py'
-}
diff --git a/net-libs/libproxy/libproxy-0.4.14-r1.ebuild b/net-libs/libproxy/libproxy-0.4.14-r1.ebuild
new file mode 100644
index 0000000..ce092e0
--- /dev/null
+++ b/net-libs/libproxy/libproxy-0.4.14-r1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{6..9} )
+
+inherit cmake-multilib eutils flag-o-matic mono-env python-r1
+
+DESCRIPTION="Library for automatic proxy configuration management"
+HOMEPAGE="https://github.com/libproxy/libproxy"
+SRC_URI="https://github.com/libproxy/libproxy/releases/download/${PV}/${P}-${PV}.tar.xz -> ${P}.tar.xz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+
+KEYWORDS="*"
+
+IUSE="gnome kde mono networkmanager perl python spidermonkey test webkit"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# NOTE: mozjs/spidermonkey might still cause problems like #373397 ?
+CDEPEND="
+	gnome? ( dev-libs/glib:2[${MULTILIB_USEDEP}] )
+	mono? ( dev-lang/mono )
+	networkmanager? ( sys-apps/dbus:0[${MULTILIB_USEDEP}] )
+	perl? ( dev-lang/perl:= )
+	python? ( ${PYTHON_DEPS} )
+	spidermonkey? ( >=dev-lang/spidermonkey-1.8.5:0= )
+	webkit? ( net-libs/webkit-gtk:4 )
+"
+DEPEND="${CDEPEND}
+	virtual/pkgconfig:0[${MULTILIB_USEDEP}]
+"
+RDEPEND="${CDEPEND}
+	kde? ( kde-frameworks/kconfig:5 )
+"
+# avoid dependency loop, bug #467696
+PDEPEND="networkmanager? ( net-misc/networkmanager )"
+
+PATCHES=(
+	# get-pac-test freezes when run by the ebuild, succeeds when building
+	# manually; virtualx.eclass doesn't help :(
+	"${FILESDIR}/${PN}-0.4.10-disable-pac-test.patch"
+
+	# Gentoo's spidermonkey doesn't set Version: in mozjs18[57].pc
+	"${FILESDIR}/${PN}-0.4.12-mozjs.pc.patch"
+
+	# https://github.com/libproxy/libproxy/issues/27
+	"${FILESDIR}/${PN}-0.4.12-macosx.patch"
+)
+
+multilib_src_configure() {
+	local mycmakeargs=(
+		"$(multilib_is_native_abi && usex perl -DPERL_VENDORINSTALL=ON)"
+		# WITH_VALA just copies the .vapi file over and needs no deps,
+		# hence always enable it unconditionally
+		'-DWITH_VALA=ON'
+		"-DCMAKE_C_FLAGS=${CFLAGS}"
+		"-DCMAKE_CXX_FLAGS=${CXXFLAGS}"
+		"$(multilib_is_native_abi && usex mono -DGMCS_EXECUTABLE="${EPREFIX}/usr/bin/mcs")"
+		"-DWITH_GNOME3=$(usex gnome)"
+		"-DWITH_KDE=$(usex kde)"
+		"-DWITH_DOTNET=$(multilib_is_native_abi	&& usex mono || echo 'OFF')"
+		"-DWITH_NM=$(usex networkmanager)"
+		"-DWITH_PERL=$(multilib_is_native_abi && usex perl || echo 'OFF')"
+		"-DWITH_PYTHON2=$(multilib_is_native_abi	&& usex python || echo 'OFF')"
+		"-DWITH_PYTHON3=$(multilib_is_native_abi	&& usex python || echo 'OFF')"
+		"-DWITH_MOZJS=$(multilib_is_native_abi && usex spidermonkey || echo 'OFF')"
+		"-DWITH_NATUS=OFF"
+		"-DWITH_WEBKIT=OFF"
+		"-DWITH_WEBKIT3=$(multilib_is_native_abi && usex webkit || echo 'OFF')"
+		"-DBUILD_TESTING=$(usex test)"
+	)
+	cmake-utils_src_configure
+}
+
+src_configure() {
+	[[ ${CHOST} == *-solaris* ]] && append-libs -lsocket -lnsl
+
+	use python && python_setup
+	multilib-minimal_src_configure
+}
+
+multilib_src_install_all() {
+	doman "${FILESDIR}/proxy.1"
+	use python && python_foreach_impl python_domodule 'bindings/python/libproxy.py'
+}
diff --git a/net-libs/libqmi/libqmi-1.31.2-r110.ebuild b/net-libs/libqmi/libqmi-1.31.2-r110.ebuild
deleted file mode 100644
index 8855860..0000000
--- a/net-libs/libqmi/libqmi-1.31.2-r110.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-CROS_WORKON_COMMIT="5070aa395e69e09fec182f93dffef321dd0379d4"
-CROS_WORKON_TREE="7253167bc409043d3e4056301b1db028744b2045"
-CROS_WORKON_PROJECT="chromiumos/third_party/libqmi"
-
-inherit meson cros-sanitizers cros-workon udev
-
-DESCRIPTION="QMI modem protocol helper library"
-HOMEPAGE="http://cgit.freedesktop.org/libqmi/"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-IUSE="-asan mbim qrtr"
-
-RDEPEND=">=dev-libs/glib-2.36
-	>=net-libs/libmbim-1.18.0
-	net-libs/libqrtr-glib"
-
-DEPEND="${RDEPEND}
-	virtual/pkgconfig"
-
-src_configure() {
-	sanitizers-setup-env
-
-	local emesonargs=(
-		--prefix='/usr'
-		-Dqmi_username='modem'
-		-Dlibexecdir='/usr/libexec'
-		-Dudevdir='/lib/udev'
-		-Dintrospection=false
-		-Dman=false
-		-Dbash_completion=false
-	)
-	meson_src_configure
-}
diff --git a/net-libs/libqmi/libqmi-1.31.9-r116.ebuild b/net-libs/libqmi/libqmi-1.31.9-r116.ebuild
new file mode 100644
index 0000000..076d676
--- /dev/null
+++ b/net-libs/libqmi/libqmi-1.31.9-r116.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+CROS_WORKON_COMMIT="030e85bda532776247fa6d24547e41510b7f3fba"
+CROS_WORKON_TREE="42ca97ac84af489c6bc0ace422ea089f5aefc5ed"
+CROS_WORKON_PROJECT="chromiumos/third_party/libqmi"
+
+inherit meson cros-sanitizers cros-workon udev
+
+DESCRIPTION="QMI modem protocol helper library"
+HOMEPAGE="http://cgit.freedesktop.org/libqmi/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+IUSE="-asan mbim qrtr"
+
+RDEPEND=">=dev-libs/glib-2.36
+	>=net-libs/libmbim-1.18.0
+	net-libs/libqrtr-glib"
+
+DEPEND="${RDEPEND}
+	virtual/pkgconfig"
+
+src_configure() {
+	sanitizers-setup-env
+
+	local emesonargs=(
+		--prefix='/usr'
+		-Dqmi_username='modem'
+		-Dlibexecdir='/usr/libexec'
+		-Dudevdir='/lib/udev'
+		-Dintrospection=false
+		-Dman=false
+		-Dbash_completion=false
+	)
+	meson_src_configure
+}
diff --git a/net-libs/libqrtr-glib/libqrtr-glib-1.3.0-r10.ebuild b/net-libs/libqrtr-glib/libqrtr-glib-1.3.0-r10.ebuild
deleted file mode 100644
index 7768dd1..0000000
--- a/net-libs/libqrtr-glib/libqrtr-glib-1.3.0-r10.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="b19fd9966e5bdc7aaa03c1cc1035104809969186"
-CROS_WORKON_TREE="ba7d6d437ea6d5ff2d464919a2a03163c4c8f36c"
-CROS_WORKON_PROJECT="chromiumos/third_party/libqrtr-glib"
-CROS_WORKON_EGIT_BRANCH="master"
-
-inherit meson cros-sanitizers cros-workon
-
-DESCRIPTION="QRTR modem protocol helper library"
-# TODO(andrewlassalle): replace the homepage once one is created.
-HOMEPAGE="https://gitlab.freedesktop.org/mobile-broadband/libqrtr-glib"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=">=dev-libs/glib-2.36:2"
-BDEPEND="virtual/pkgconfig"
-DEPEND="${RDEPEND}"
-
-src_configure() {
-	sanitizers-setup-env
-
-	local emesonargs=(
-		--prefix='/usr'
-		-Dlibexecdir='/usr/libexec'
-		-Dgtk_doc=false
-		-Dintrospection=false
-	)
-	meson_src_configure
-}
diff --git a/net-libs/libqrtr-glib/libqrtr-glib-1.3.0-r11.ebuild b/net-libs/libqrtr-glib/libqrtr-glib-1.3.0-r11.ebuild
new file mode 100644
index 0000000..0f9044e
--- /dev/null
+++ b/net-libs/libqrtr-glib/libqrtr-glib-1.3.0-r11.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="419e7b388895d5894ee50fddb334955b5cbcd636"
+CROS_WORKON_TREE="94c0e47a0d79533b57040191e5a285b939529d3d"
+CROS_WORKON_PROJECT="chromiumos/third_party/libqrtr-glib"
+CROS_WORKON_EGIT_BRANCH="master"
+
+inherit meson cros-sanitizers cros-workon
+
+DESCRIPTION="QRTR modem protocol helper library"
+# TODO(andrewlassalle): replace the homepage once one is created.
+HOMEPAGE="https://gitlab.freedesktop.org/mobile-broadband/libqrtr-glib"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND=">=dev-libs/glib-2.36:2"
+BDEPEND="virtual/pkgconfig"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+	sanitizers-setup-env
+
+	local emesonargs=(
+		--prefix='/usr'
+		-Dlibexecdir='/usr/libexec'
+		-Dgtk_doc=false
+		-Dintrospection=false
+	)
+	meson_src_configure
+}
diff --git a/net-libs/libqrtr/files/qrtr-ns-seccomp-arm.policy b/net-libs/libqrtr/files/qrtr-ns-seccomp-arm.policy
index cecfcf0..11416c6 100644
--- a/net-libs/libqrtr/files/qrtr-ns-seccomp-arm.policy
+++ b/net-libs/libqrtr/files/qrtr-ns-seccomp-arm.policy
@@ -1,6 +1,9 @@
 # Copyright 2018 The Chromium OS Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 _llseek: 1
 access: 1
 faccessat: 1
diff --git a/net-libs/libqrtr/files/qrtr-ns-seccomp-arm64.policy b/net-libs/libqrtr/files/qrtr-ns-seccomp-arm64.policy
index bd6e87b..8931d55 100644
--- a/net-libs/libqrtr/files/qrtr-ns-seccomp-arm64.policy
+++ b/net-libs/libqrtr/files/qrtr-ns-seccomp-arm64.policy
@@ -1,6 +1,9 @@
 # Copyright 2019 The Chromium OS Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 lseek: 1
 faccessat: 1
 faccessat2: 1
diff --git a/net-libs/libqrtr/libqrtr-0.0.1-r26.ebuild b/net-libs/libqrtr/libqrtr-0.0.1-r27.ebuild
similarity index 100%
rename from net-libs/libqrtr/libqrtr-0.0.1-r26.ebuild
rename to net-libs/libqrtr/libqrtr-0.0.1-r27.ebuild
diff --git a/net-libs/metadata.xml b/net-libs/metadata.xml
deleted file mode 100644
index 80be98e..0000000
--- a/net-libs/metadata.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The net-libs category contains libraries that are network-related.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie net-libs enthält Bibliotheken zur Netzwerkprogrammierung.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría net-libs contiene librerías relacionadas con las redes.
-	</longdescription>
-	<longdescription lang="ja">
-		net-libsカテゴリーにはネットワーク関連のライブラリが含まれています。
-	</longdescription>
-	<longdescription lang="nl">
-		De net-libs categorie bevat bibliotheken voor netwerk-gebruik.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm net-libs chứa các thư viện về mạng.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria net-libs contiene librerie per le reti.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria net-libs contém bibliotecas relacionadas a redes.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria net-libs zawiera związane z siecią biblioteki.
-	</longdescription>
-</catmetadata>
-
diff --git a/net-misc/OWNERS b/net-misc/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/net-misc/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/net-misc/dhcpcd/dhcpcd-7.2.5-r5.ebuild b/net-misc/dhcpcd/dhcpcd-7.2.5-r6.ebuild
similarity index 100%
rename from net-misc/dhcpcd/dhcpcd-7.2.5-r5.ebuild
rename to net-misc/dhcpcd/dhcpcd-7.2.5-r6.ebuild
diff --git a/net-misc/dhcpcd/dhcpcd-7.2.5.ebuild b/net-misc/dhcpcd/dhcpcd-7.2.5.ebuild
index e6ff397..4759360 100644
--- a/net-misc/dhcpcd/dhcpcd-7.2.5.ebuild
+++ b/net-misc/dhcpcd/dhcpcd-7.2.5.ebuild
@@ -49,6 +49,7 @@
 	epatch "${FILESDIR}"/patches/${P}-More-robust-checks-for-packet-reception.patch
 	epatch "${FILESDIR}"/patches/${P}-Additional-ARP-packet-checks.patch
 	epatch "${FILESDIR}"/patches/${P}-Fix-handling-of-hostname-argument.patch
+	epatch "${FILESDIR}"/patches/${P}-Drop-ARP-on-DHCP-drop.patch
 }
 
 src_configure()
diff --git a/net-misc/dhcpcd/files/patches/dhcpcd-7.2.5-Drop-ARP-on-DHCP-drop.patch b/net-misc/dhcpcd/files/patches/dhcpcd-7.2.5-Drop-ARP-on-DHCP-drop.patch
new file mode 100644
index 0000000..4e302e6
--- /dev/null
+++ b/net-misc/dhcpcd/files/patches/dhcpcd-7.2.5-Drop-ARP-on-DHCP-drop.patch
@@ -0,0 +1,47 @@
+From 7ab8292e8377bf282bded1ba71908a8b2c60b6f9 Mon Sep 17 00:00:00 2001
+From: Andrzej Ostruszka <amo@semihalf.com>
+Date: Tue, 5 Jul 2022 11:19:06 +0000
+Subject: [PATCH] Drop ARP on DHCP drop
+
+If dhcpcd has/gets an offer and is starting ARPing (either as part of
+DAD or checking GW address) then it is possible that over DBus it gets
+request to release the lease.  Together with DHCP lease drop, dhcpcd
+should drop all ARP states because in both events mentioned above it
+would proceed with dhcp_bind() which would lead to crash (since the
+offer has been released).
+---
+ src/dhcp.c   | 3 +++
+ src/dhcpcd.c | 3 ---
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/dhcp.c b/src/dhcp.c
+index cedb950b..0f1dfd48 100644
+--- a/src/dhcp.c
++++ b/src/dhcp.c
+@@ -3082,6 +3082,9 @@ dhcp_drop(struct interface *ifp, const char *reason)
+ 
+ #ifdef ARPING
+ 	state->arping_index = -1;
++#endif
++#ifdef ARP
++	arp_drop(ifp);
+ #endif
+ 	if ((ifp->options->options & DHCPCD_RELEASE ||
+              strcmp(reason, "RELEASE") == 0) &&
+diff --git a/src/dhcpcd.c b/src/dhcpcd.c
+index 681f5a34..20806f88 100644
+--- a/src/dhcpcd.c
++++ b/src/dhcpcd.c
+@@ -405,9 +405,6 @@ dhcpcd_drop(struct interface *ifp, int stop)
+ #ifdef INET
+ 	dhcp_drop(ifp, stop ? "STOP" : "EXPIRE");
+ #endif
+-#ifdef ARP
+-	arp_drop(ifp);
+-#endif
+ #if !defined(DHCP6) && !defined(DHCP)
+ 	UNUSED(stop);
+ #endif
+-- 
+2.37.0.rc0.161.g10f37bed90-goog
+
diff --git a/net-misc/gsutil/OWNERS b/net-misc/gsutil/OWNERS
index d229735..d39c14f 100644
--- a/net-misc/gsutil/OWNERS
+++ b/net-misc/gsutil/OWNERS
@@ -1,2 +1 @@
-# Used in the build to fetch files.
-include chromiumos/chromite:/OWNERS.build
+include chromiumos/owners:v1:/infra/OWNERS.build
diff --git a/net-misc/metadata.xml b/net-misc/metadata.xml
deleted file mode 100644
index 0848d7a..0000000
--- a/net-misc/metadata.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The net-misc category contains various miscellaneous networking tools
-		and utilities.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie net-misc enthält verschiedenste Programme und Werkzeuge
-		rund um Netzwerke.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría net-misc contiene varias herramientas y utilidades
-		relacionadas con las redes.
-	</longdescription>
-	<longdescription lang="ja">
-		net-miscカテゴリーには多種多様なネットワーキング・ツールと
-		ユーティリティが含まれています。
-	</longdescription>
-	<longdescription lang="nl">
-		De net-misc categorie bevat verschillende netwerkapplicaties.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm net-misc chứa các công cụ mạng khác nhau.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria net-misc contiene vari strumenti ed utilità per la gestione delle reti.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria net-misc contém várias ferramentas e utilitários
-		de rede.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria net-misc zawiera różne dodatkowe narzędzia i programy sieciowe.
-	</longdescription>
-</catmetadata>
-
diff --git a/net-misc/modemmanager-next/files/52-mm-modem-permissions.rules b/net-misc/modemmanager-next/files/52-mm-modem-permissions.rules
index e298e88..0f4c90d 100644
--- a/net-misc/modemmanager-next/files/52-mm-modem-permissions.rules
+++ b/net-misc/modemmanager-next/files/52-mm-modem-permissions.rules
@@ -12,7 +12,7 @@
 # 'pcie' devices
 KERNEL=="ttyCMBIM[0-9]", SUBSYSTEM=="ccci_node", GOTO="modem_change_mode"
 KERNEL=="wwan0mbim*", SUBSYSTEM=="wwan", GOTO="modem_change_mode"
-KERNEL=="wwan0at*", SUBSYSTEM=="wwan", GOTO="modem_end"
+KERNEL=="wwan0at1", SUBSYSTEM=="wwan", GOTO="modem_change_mode"
 
 #-------------------------------------------------------------------------------
 # 'usb' devices
diff --git a/net-misc/modemmanager-next/files/77-mm-fibocom-port-types.rules b/net-misc/modemmanager-next/files/77-mm-fibocom-port-types.rules
deleted file mode 100644
index 37e340e..0000000
--- a/net-misc/modemmanager-next/files/77-mm-fibocom-port-types.rules
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This file specifies udev rules to tag the type of ports on supported Fibocom
-# modems such that certain ports can be ignored by ModemManager.
-
-# Fibocom L850-GL (2cb7:0007) has 1 MBIM port and 3 ACM ports. The MBIM port
-# alone is sufficient for 3GPP related functionalities. It's unnecessary for
-# ModemManager to probe the ACM ports, which increases the overall modem
-# probing time. We thus tag the ACM ports to be ignored by ModemManager.
-ACTION=="add|change|move", SUBSYSTEMS=="tty", ENV{ID_VENDOR_ID}=="2cb7", ENV{ID_MODEL_ID}=="0007", ENV{ID_MM_PORT_IGNORE}="1"
-
-# Fibocom NL668-AM (2cb7:01a0) has 1 MBIM port and 3 AT channel serial ports.
-# The MBIM port alone is sufficient for 3GPP related functionalities.
-# The AT channels are used by modemfwd for firmware update related managed,
-# mark them as ignored by ModemManager to avoid perturbations.
-ACTION=="add|change|move", SUBSYSTEMS=="tty", ENV{ID_VENDOR_ID}=="2cb7", ENV{ID_MODEL_ID}=="01a0", ENV{ID_MM_PORT_IGNORE}="1"
-
-# Fibocom FM101 (2cb7:01a2) has 1 MBIM port and 3 AT channel serial ports.
-# The MBIM port alone is sufficient for 3GPP related functionalities.
-# The AT channels are used by modemfwd for firmware update related managed,
-# mark them as ignored by ModemManager to avoid perturbations.
-ACTION=="add|change|move", SUBSYSTEMS=="tty", ENV{ID_VENDOR_ID}=="2cb7", ENV{ID_MODEL_ID}=="01a2", ENV{ID_MM_PORT_IGNORE}="1"
diff --git a/net-misc/modemmanager-next/files/modemmanager-amd64.policy b/net-misc/modemmanager-next/files/modemmanager-amd64.policy
index 08fa99a..85fb319 100644
--- a/net-misc/modemmanager-next/files/modemmanager-amd64.policy
+++ b/net-misc/modemmanager-next/files/modemmanager-amd64.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 getpid: 1
 writev: 1
 sendto: 1
@@ -72,6 +75,7 @@
 getsockopt: 1
 listen: 1
 accept: 1
+accept4: 1
 getpeername: 1
 exit_group: 1
 setpgid: 1
diff --git a/net-misc/modemmanager-next/files/modemmanager-arm.policy b/net-misc/modemmanager-next/files/modemmanager-arm.policy
index aa41a5b..f1383f2 100644
--- a/net-misc/modemmanager-next/files/modemmanager-arm.policy
+++ b/net-misc/modemmanager-next/files/modemmanager-arm.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 send: 1
 getpid: 1
 writev: 1
@@ -79,6 +82,7 @@
 execve: 1
 tgkill: 1
 accept: 1
+accept4: 1
 ARM_set_tls: 1
 set_tid_address: 1
 ugetrlimit: 1
diff --git a/net-misc/modemmanager-next/files/modemmanager-arm64.policy b/net-misc/modemmanager-next/files/modemmanager-arm64.policy
index 1be8aed..55b7708 100644
--- a/net-misc/modemmanager-next/files/modemmanager-arm64.policy
+++ b/net-misc/modemmanager-next/files/modemmanager-arm64.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 getpid: 1
 writev: 1
 write: 1
@@ -50,8 +53,7 @@
 gettimeofday: 1
 madvise: 1
 mmap: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
-# TODO(b/183235393): Restrict mprotect to ~PROT_EXEC || ~PROT_WRITE
-mprotect: 1
+mprotect: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
 prctl: arg0 == PR_SET_NO_NEW_PRIVS || arg0 == PR_SET_SECCOMP || \
        arg0 == PR_CAPBSET_DROP || arg0 == PR_SET_NAME
 socket: arg0 == AF_NETLINK || arg0 == AF_UNIX || arg0 == AF_QIPCRTR || \
@@ -71,6 +73,7 @@
 execve: 1
 tgkill: 1
 accept: 1
+accept4: 1
 set_tid_address: 1
 lseek: 1
 listen: 1
diff --git a/net-misc/modemmanager-next/modemmanager-next-1.19.1-r448.ebuild b/net-misc/modemmanager-next/modemmanager-next-1.19.1-r448.ebuild
deleted file mode 100644
index 55a53b6..0000000
--- a/net-misc/modemmanager-next/modemmanager-next-1.19.1-r448.ebuild
+++ /dev/null
@@ -1,177 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# Based on gentoo's modemmanager ebuild
-
-EAPI=6
-CROS_WORKON_COMMIT="5c6287cb991cea544d999867967ce82bdceac6f4"
-CROS_WORKON_TREE="ffff763ba64256c21aaa89bae9263662f598d0f7"
-CROS_WORKON_PROJECT="chromiumos/third_party/modemmanager-next"
-CROS_WORKON_EGIT_BRANCH="master"
-
-inherit eutils autotools cros-sanitizers cros-workon flag-o-matic systemd udev user
-
-# ModemManager likes itself with capital letters
-MY_P=${P/modemmanager/ModemManager}
-
-DESCRIPTION="Modem and mobile broadband management libraries"
-HOMEPAGE="http://mail.gnome.org/archives/networkmanager-list/2008-July/msg00274.html"
-#SRC_URI not defined because we get our source locally
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-IUSE="doc mbim systemd qmi qrtr"
-
-RDEPEND=">=dev-libs/glib-2.36
-	>=sys-apps/dbus-1.2
-	dev-libs/dbus-glib
-	net-dialup/ppp
-	mbim? ( net-libs/libmbim )
-	qmi? ( net-libs/libqmi )
-	qrtr? ( net-libs/libqrtr-glib )
-	!net-misc/modemmanager"
-
-DEPEND="${RDEPEND}
-	virtual/libgudev
-	dev-util/pkgconfig
-	dev-util/intltool
-	>=dev-util/gtk-doc-1.13
-	!net-misc/modemmanager-next-interfaces
-	!net-misc/modemmanager"
-
-DOCS="AUTHORS NEWS README"
-
-src_prepare() {
-	default
-
-	# According to "Introspection Data Format" of the DBus specification,
-	# revision 0.30 [1], "Only the root <node> element can omit the node
-	# name, as it's known to be the object that was introspected. If the
-	# root <node> does have a name attribute, it must be an absolute object
-	# path. If child <node> have object paths, they must be relative."
-	#
-	# The introspection XMLs of ModemManager object interfaces specify
-	# name="/" at their root <node>, which should be omitted instead as the
-	# object paths aren't fixed.
-	#
-	# CL:294115 [2] removed the name="/" attribute from those root <node>s
-	# in several ModemManager introspection XMLs in order to allow
-	# chromeos-dbus-bindings to properly generate the DBus proxies for
-	# ModemManager interfaces. Instead of modifying those introspection
-	# XMLs directly in the modemmanager-next git repository, we patch them
-	# (all org.freedesktop.ModemManager1.*.xml, but not
-	# org.freedesktop.ModemManager1.xml) here instead, which helps minimize
-	# the difference between the local modemmanager-next repository and the
-	# upstream repository.
-	#
-	# TODO(benchan): Discuss with upstream ModemManager maintainers to see
-	# if it makes sense to apply the changes to the upstream code instead.
-	#
-	# References:
-	# [1] https://dbus.freedesktop.org/doc/dbus-specification.html#introspection-format
-	# [2] http://crosreview.com/294115
-	find introspection -type f -name 'org.freedesktop.ModemManager1.*.xml' \
-		-exec sed -i 's/^<node name="\/"/<node/' {} +
-
-	gtkdocize
-	eautopoint
-	eautoreconf
-	intltoolize --force
-}
-
-src_configure() {
-	sanitizers-setup-env
-	append-flags -Xclang-only=-Wno-unneeded-internal-declaration
-	append-flags -DWITH_NEWEST_QMI_COMMANDS
-	# TODO(b/183029202): Remove this once we have support for IPv6 only network
-	append-flags -DSUPPORT_MBIM_IPV6_WITH_IPV4_ROAMING
-	append-flags -DMBIM_FIBOCOM_SAR_HACK
-	econf \
-		--with-html-dir="\${datadir}/doc/${PF}/html" \
-		--enable-compile-warnings=yes \
-		--enable-introspection=no \
-		"$(use_enable {,gtk-}doc)" \
-		"$(use_with mbim)" \
-		"$(use_enable qrtr plugin-qcom-soc)" \
-		"$(use_with qmi)"
-}
-
-src_test() {
-	# TODO(b/180536539): Run unit tests for non-x86 platforms via qemu.
-	if [[ "${ARCH}" == "x86" || "${ARCH}" == "amd64" ]] ; then
-		# This is an ugly hack that happens to work, but should not be copied.
-		PATH="${SYSROOT}/usr/bin:${PATH}" \
-		LD_LIBRARY_PATH="${SYSROOT}/usr/$(get_libdir):${SYSROOT}/$(get_libdir)" \
-		emake check
-	fi
-}
-
-src_install() {
-	default
-	# Remove useless .la files
-	find "${D}" -name '*.la' -delete
-
-	# Remove the DBus service file generated by Makefile. This file directs DBus
-	# to launch the ModemManager process when a DBus call for the ModemManager
-	# service is received. We do not want this behaviour.
-	find "${D}" -name 'org.freedesktop.ModemManager1.service' -delete
-
-	# Only install the following plugins for supported modems to conserve
-	# space on the root filesystem.
-	local plugins=(
-		altair-lte
-		generic
-		huawei
-		longcheer
-		novatel-lte
-		samsung
-		telit
-		zte
-	)
-	if use qrtr; then
-		plugins+=(qcom-soc)
-	fi
-
-	local plugins_regex=".*/libmm-plugin-($(IFS='|'; echo "${plugins[*]}")).so"
-
-	find "${D}" -regextype posix-extended \
-		-name 'libmm-plugin-*.so' \
-		! -regex "${plugins_regex}" \
-		-delete
-
-	local found_plugins="$(find "${D}" -regextype posix-extended \
-		-regex "${plugins_regex}" | wc -l)"
-	[[ "${found_plugins}" == "${#plugins[@]}" ]] || \
-		die "Expects ${#plugins[@]} plugins, but ${found_plugins} found."
-
-	# Seccomp policy file.
-	insinto /usr/share/policy
-	newins "${FILESDIR}/modemmanager-${ARCH}.policy" modemmanager.policy
-
-	# Install init scripts.
-	if use systemd; then
-		systemd_dounit "${FILESDIR}/modemmanager.service"
-		systemd_enable_service system-services.target modemmanager.service
-	else
-		insinto /etc/init
-		doins "${FILESDIR}/modemmanager.conf"
-	fi
-
-	# Override the ModemManager DBus configuration file to constrain how
-	# ModemManager exposes its DBus service on Chrome OS.
-	insinto /etc/dbus-1/system.d
-	doins "${FILESDIR}/org.freedesktop.ModemManager1.conf"
-
-	# Install Chrome OS specific udev rules.
-	udev_dorules "${FILESDIR}/52-mm-modem-permissions.rules"
-	udev_dorules "${FILESDIR}/77-mm-fibocom-port-types.rules"
-	udev_dorules "${FILESDIR}/77-mm-huawei-configuration.rules"
-	exeinto "$(get_udevdir)"
-	doexe "${FILESDIR}/mm-huawei-configuration-switch.sh"
-}
-
-pkg_preinst() {
-	# ModemManager is run under the 'modem' user and group on Chrome OS.
-	enewuser "modem"
-	enewgroup "modem"
-}
diff --git a/net-misc/modemmanager-next/modemmanager-next-1.19.1-r477.ebuild b/net-misc/modemmanager-next/modemmanager-next-1.19.1-r477.ebuild
new file mode 100644
index 0000000..78b963a
--- /dev/null
+++ b/net-misc/modemmanager-next/modemmanager-next-1.19.1-r477.ebuild
@@ -0,0 +1,180 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# Based on gentoo's modemmanager ebuild
+
+EAPI=6
+CROS_WORKON_COMMIT="34f578435bafd79ba13e284fc7f697fe0ad26cfe"
+CROS_WORKON_TREE="9a08cabf99deafec44b3b069e7feaf407a00d340"
+CROS_WORKON_PROJECT="chromiumos/third_party/modemmanager-next"
+CROS_WORKON_EGIT_BRANCH="master"
+
+inherit eutils autotools cros-sanitizers cros-workon flag-o-matic systemd udev user
+
+# ModemManager likes itself with capital letters
+MY_P=${P/modemmanager/ModemManager}
+
+DESCRIPTION="Modem and mobile broadband management libraries"
+HOMEPAGE="http://mail.gnome.org/archives/networkmanager-list/2008-July/msg00274.html"
+#SRC_URI not defined because we get our source locally
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+IUSE="doc mbim systemd qmi qrtr"
+
+RDEPEND=">=dev-libs/glib-2.36
+	>=sys-apps/dbus-1.2
+	dev-libs/dbus-glib
+	net-dialup/ppp
+	mbim? ( net-libs/libmbim )
+	qmi? ( net-libs/libqmi )
+	qrtr? ( net-libs/libqrtr-glib )
+	!net-misc/modemmanager"
+
+DEPEND="${RDEPEND}
+	virtual/libgudev
+	dev-util/intltool
+	>=dev-util/gtk-doc-1.13
+	!net-misc/modemmanager-next-interfaces
+	!net-misc/modemmanager"
+
+DOCS="AUTHORS NEWS README"
+
+src_prepare() {
+	default
+
+	# According to "Introspection Data Format" of the DBus specification,
+	# revision 0.30 [1], "Only the root <node> element can omit the node
+	# name, as it's known to be the object that was introspected. If the
+	# root <node> does have a name attribute, it must be an absolute object
+	# path. If child <node> have object paths, they must be relative."
+	#
+	# The introspection XMLs of ModemManager object interfaces specify
+	# name="/" at their root <node>, which should be omitted instead as the
+	# object paths aren't fixed.
+	#
+	# CL:294115 [2] removed the name="/" attribute from those root <node>s
+	# in several ModemManager introspection XMLs in order to allow
+	# chromeos-dbus-bindings to properly generate the DBus proxies for
+	# ModemManager interfaces. Instead of modifying those introspection
+	# XMLs directly in the modemmanager-next git repository, we patch them
+	# (all org.freedesktop.ModemManager1.*.xml, but not
+	# org.freedesktop.ModemManager1.xml) here instead, which helps minimize
+	# the difference between the local modemmanager-next repository and the
+	# upstream repository.
+	#
+	# TODO(benchan): Discuss with upstream ModemManager maintainers to see
+	# if it makes sense to apply the changes to the upstream code instead.
+	#
+	# References:
+	# [1] https://dbus.freedesktop.org/doc/dbus-specification.html#introspection-format
+	# [2] http://crosreview.com/294115
+	find introspection -type f -name 'org.freedesktop.ModemManager1.*.xml' \
+		-exec sed -i 's/^<node name="\/"/<node/' {} +
+
+	gtkdocize
+	eautopoint
+	eautoreconf
+	intltoolize --force
+}
+
+src_configure() {
+	# https://github.com/pkgconf/pkgconf/issues/205
+	local -x PKG_CONFIG_FDO_SYSROOT_RULES=1
+
+	sanitizers-setup-env
+	append-flags -Xclang-only=-Wno-unneeded-internal-declaration
+	append-flags -DWITH_NEWEST_QMI_COMMANDS
+	# TODO(b/183029202): Remove this once we have support for IPv6 only network
+	append-flags -DSUPPORT_MBIM_IPV6_WITH_IPV4_ROAMING
+	append-flags -DMBIM_FIBOCOM_SAR_HACK
+	econf \
+		--with-html-dir="\${datadir}/doc/${PF}/html" \
+		--enable-compile-warnings=yes \
+		--enable-introspection=no \
+		"$(use_enable {,gtk-}doc)" \
+		"$(use_with mbim)" \
+		"$(use_enable qrtr plugin-qcom-soc)" \
+		"$(use_with qmi)"
+}
+
+src_test() {
+	# TODO(b/180536539): Run unit tests for non-x86 platforms via qemu.
+	if [[ "${ARCH}" == "x86" || "${ARCH}" == "amd64" ]] ; then
+		# This is an ugly hack that happens to work, but should not be copied.
+		PATH="${SYSROOT}/usr/bin:${PATH}" \
+		LD_LIBRARY_PATH="${SYSROOT}/usr/$(get_libdir):${SYSROOT}/$(get_libdir)" \
+		emake check
+	fi
+}
+
+src_install() {
+	default
+	# Remove useless .la files
+	find "${D}" -name '*.la' -delete
+
+	# Remove the DBus service file generated by Makefile. This file directs DBus
+	# to launch the ModemManager process when a DBus call for the ModemManager
+	# service is received. We do not want this behaviour.
+	find "${D}" -name 'org.freedesktop.ModemManager1.service' -delete
+
+	# Only install the following plugins for supported modems to conserve
+	# space on the root filesystem.
+	local plugins=(
+		altair-lte
+		fibocom
+		generic
+		huawei
+		intel
+		longcheer
+		novatel-lte
+		samsung
+		telit
+		zte
+	)
+	if use qrtr; then
+		plugins+=(qcom-soc)
+	fi
+
+	local plugins_regex=".*/libmm-plugin-($(IFS='|'; echo "${plugins[*]}")).so"
+
+	find "${D}" -regextype posix-extended \
+		-name 'libmm-plugin-*.so' \
+		! -regex "${plugins_regex}" \
+		-delete
+
+	local found_plugins="$(find "${D}" -regextype posix-extended \
+		-regex "${plugins_regex}" | wc -l)"
+	[[ "${found_plugins}" == "${#plugins[@]}" ]] || \
+		die "Expects ${#plugins[@]} plugins, but ${found_plugins} found."
+
+	# Seccomp policy file.
+	insinto /usr/share/policy
+	newins "${FILESDIR}/modemmanager-${ARCH}.policy" modemmanager.policy
+
+	# Install init scripts.
+	if use systemd; then
+		systemd_dounit "${FILESDIR}/modemmanager.service"
+		systemd_enable_service system-services.target modemmanager.service
+	else
+		insinto /etc/init
+		doins "${FILESDIR}/modemmanager.conf"
+	fi
+
+	# Override the ModemManager DBus configuration file to constrain how
+	# ModemManager exposes its DBus service on Chrome OS.
+	insinto /etc/dbus-1/system.d
+	doins "${FILESDIR}/org.freedesktop.ModemManager1.conf"
+
+	# Install Chrome OS specific udev rules.
+	udev_dorules "${FILESDIR}/52-mm-modem-permissions.rules"
+	udev_dorules "${FILESDIR}/77-mm-huawei-configuration.rules"
+	exeinto "$(get_udevdir)"
+	doexe "${FILESDIR}/mm-huawei-configuration-switch.sh"
+}
+
+pkg_preinst() {
+	# ModemManager is run under the 'modem' user and group on Chrome OS.
+	enewuser "modem"
+	enewgroup "modem"
+}
diff --git a/net-misc/modemmanager-next/modemmanager-next-9999.ebuild b/net-misc/modemmanager-next/modemmanager-next-9999.ebuild
index f811c08..6656b5e 100644
--- a/net-misc/modemmanager-next/modemmanager-next-9999.ebuild
+++ b/net-misc/modemmanager-next/modemmanager-next-9999.ebuild
@@ -31,7 +31,6 @@
 
 DEPEND="${RDEPEND}
 	virtual/libgudev
-	dev-util/pkgconfig
 	dev-util/intltool
 	>=dev-util/gtk-doc-1.13
 	!net-misc/modemmanager-next-interfaces
@@ -78,6 +77,9 @@
 }
 
 src_configure() {
+	# https://github.com/pkgconf/pkgconf/issues/205
+	local -x PKG_CONFIG_FDO_SYSROOT_RULES=1
+
 	sanitizers-setup-env
 	append-flags -Xclang-only=-Wno-unneeded-internal-declaration
 	append-flags -DWITH_NEWEST_QMI_COMMANDS
@@ -118,8 +120,10 @@
 	# space on the root filesystem.
 	local plugins=(
 		altair-lte
+		fibocom
 		generic
 		huawei
+		intel
 		longcheer
 		novatel-lte
 		samsung
@@ -162,7 +166,6 @@
 
 	# Install Chrome OS specific udev rules.
 	udev_dorules "${FILESDIR}/52-mm-modem-permissions.rules"
-	udev_dorules "${FILESDIR}/77-mm-fibocom-port-types.rules"
 	udev_dorules "${FILESDIR}/77-mm-huawei-configuration.rules"
 	exeinto "$(get_udevdir)"
 	doexe "${FILESDIR}/mm-huawei-configuration-switch.sh"
diff --git a/net-misc/rmtfs/files/rmtfs-seccomp-arm.policy b/net-misc/rmtfs/files/rmtfs-seccomp-arm.policy
index 809024e..0970db4 100644
--- a/net-misc/rmtfs/files/rmtfs-seccomp-arm.policy
+++ b/net-misc/rmtfs/files/rmtfs-seccomp-arm.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 access: 1
 bind: 1
 brk: 1
diff --git a/net-misc/rmtfs/files/rmtfs-seccomp-arm64.policy b/net-misc/rmtfs/files/rmtfs-seccomp-arm64.policy
index 41998be..aa54291 100644
--- a/net-misc/rmtfs/files/rmtfs-seccomp-arm64.policy
+++ b/net-misc/rmtfs/files/rmtfs-seccomp-arm64.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 faccessat: 1
 faccessat2: 1
 bind: 1
diff --git a/net-misc/rmtfs/files/rmtfs.conf b/net-misc/rmtfs/files/rmtfs.conf
index e95aa97..668864e 100644
--- a/net-misc/rmtfs/files/rmtfs.conf
+++ b/net-misc/rmtfs/files/rmtfs.conf
@@ -10,13 +10,6 @@
 env RMTFS_BOOT_DIR=/var/lib/rmtfs/boot
 env SOC_DIR=/sys/devices/platform/soc@0
 
-# qcom-rmtfs-added: One of the devices we need is ready.
-# qcom-modem-added: The other device we need is ready.
-# syslog: minijail bind mounts /dev/log, which won't exist until syslog starts.
-# verify_fsg: is in charge of creating files in ${RMTFS_DIR}
-start on started syslog and stopped verify_fsg and ((qcom-rmtfs-added and qcom-modem-added) or rmtfs-early)
-stop on starting pre-shutdown and stopped shill
-
 # This service handles modem file system storage requests. Other than
 # the connection to the modem itself, it keeps no state. So it should
 # be okay, though not preferable, to kill and restart this service.
@@ -60,3 +53,10 @@
   -c cap_net_admin=e -u rmtfs -g rmtfs \
   -S /usr/share/policy/rmtfs-seccomp.policy \
   -- /usr/bin/rmtfs -so "${RMTFS_BOOT_DIR}"
+
+stop on (starting pre-shutdown and stopped shill) or starting modemfwd-helpers
+# qcom-rmtfs-added: One of the devices we need is ready.
+# qcom-modem-added: The other device we need is ready.
+# syslog: minijail bind mounts /dev/log, which won't exist until syslog starts.
+# verify_fsg: is in charge of creating files in ${RMTFS_DIR}
+# Do not add a start on stanza manually. Autopopulated by the ebuild.
diff --git a/net-misc/rmtfs/rmtfs-0.3_p20210408-r5.ebuild b/net-misc/rmtfs/rmtfs-0.3_p20210408-r7.ebuild
similarity index 100%
rename from net-misc/rmtfs/rmtfs-0.3_p20210408-r5.ebuild
rename to net-misc/rmtfs/rmtfs-0.3_p20210408-r7.ebuild
diff --git a/net-misc/rmtfs/rmtfs-0.3_p20210408.ebuild b/net-misc/rmtfs/rmtfs-0.3_p20210408.ebuild
index fc5d5fe..6bb03b2 100644
--- a/net-misc/rmtfs/rmtfs-0.3_p20210408.ebuild
+++ b/net-misc/rmtfs/rmtfs-0.3_p20210408.ebuild
@@ -13,7 +13,7 @@
 LICENSE="BSD"
 SLOT="0"
 KEYWORDS="*"
-IUSE="asan +seccomp"
+IUSE="asan +seccomp modemfwd"
 
 DEPEND="
 	net-libs/libqrtr:=
@@ -24,9 +24,17 @@
 
 S="${WORKDIR}/${PN}-${GIT_SHA1}"
 
-PATCHES=(
-	"${FILESDIR}/patches/0001-Use-fdatasync-instead-of-O_SYNC-on-storage.patch"
-)
+src_prepare() {
+	cp "${FILESDIR}/rmtfs.conf" "${T}"/
+	if use modemfwd; then
+		echo "start on started syslog and stopped verify_fsg and ((qcom-rmtfs-added and qcom-modem-added) or rmtfs-early) and started modemfwd-helpers" >> "${T}/rmtfs.conf"
+	else
+		echo "start on started syslog and stopped verify_fsg and ((qcom-rmtfs-added and qcom-modem-added) or rmtfs-early)" >> "${T}/rmtfs.conf"
+	fi
+
+	eapply "${FILESDIR}/patches/0001-Use-fdatasync-instead-of-O_SYNC-on-storage.patch"
+	eapply_user
+}
 
 src_configure() {
 	sanitizers-setup-env
@@ -36,7 +44,7 @@
 	emake DESTDIR="${D}" prefix="${EPREFIX}/usr" install
 
 	insinto /etc/init
-	doins "${FILESDIR}/rmtfs.conf"
+	doins "${T}/rmtfs.conf"
 	doins "${FILESDIR}/check-rmtfs-early.conf"
 	insinto /lib/udev/rules.d
 	doins "${FILESDIR}/77-rmtfs.rules"
diff --git a/net-misc/tlsdate/OWNERS b/net-misc/tlsdate/OWNERS
index 5a77185b8..3b8b9db 100644
--- a/net-misc/tlsdate/OWNERS
+++ b/net-misc/tlsdate/OWNERS
@@ -1 +1,3 @@
 include /OWNERS.security
+hugobenichi@google.com
+pmarko@google.com
diff --git a/net-misc/tlsdate/tlsdate-0.0.5-r101.ebuild b/net-misc/tlsdate/tlsdate-0.0.5-r101.ebuild
deleted file mode 100644
index 3f7c1b8..0000000
--- a/net-misc/tlsdate/tlsdate-0.0.5-r101.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 2012 The Chromium OS Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-CROS_WORKON_COMMIT="677864213888d39b3326ad4c6a3dcb9560c44ca4"
-CROS_WORKON_TREE="e559de3e87a1762e6208a03f18c0122467a0fb0e"
-CROS_WORKON_PROJECT="chromiumos/third_party/tlsdate"
-CROS_WORKON_EGIT_BRANCH=master
-
-inherit autotools flag-o-matic toolchain-funcs cros-sanitizers cros-workon cros-debug systemd user
-
-DESCRIPTION="Update local time over HTTPS"
-HOMEPAGE="https://github.com/ioerror/tlsdate"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="*"
-IUSE="-asan +dbus +seccomp systemd"
-
-DEPEND="dev-libs/openssl:0=
-	dev-libs/libevent
-	dbus? ( sys-apps/dbus )"
-RDEPEND="${DEPEND}
-	chromeos-base/chromeos-ca-certificates
-"
-
-src_prepare() {
-	# Use the system cert store rather than a custom one specific
-	# to the tlsdate package. #534394
-	sed -i \
-		-e 's:/tlsdate/ca-roots/tlsdate-ca-roots.conf:/ssl/certs/ca-certificates.crt:' \
-		Makefile.am || die
-
-	default
-
-	eautoreconf
-}
-
-src_configure() {
-	sanitizers-setup-env
-	cros-debug-add-NDEBUG
-	econf \
-		$(use_enable dbus) \
-		$(use_enable seccomp seccomp-filter) \
-		$(use_enable cros-debug seccomp-debugging) \
-		--enable-cros \
-		--with-dbus-client-group=chronos \
-		--with-unpriv-user=tlsdate \
-		--with-unpriv-group=tlsdate
-}
-
-src_compile() {
-	tc-export CC
-	emake CFLAGS="-Wall -Werror ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}"
-}
-
-src_install() {
-	default
-
-	# Use the system cert store; see src_prepare. #446426 #534394
-	rm "${ED}"/etc/tlsdate/ca-roots/tlsdate-ca-roots.conf || die
-	rmdir "${ED}"/etc/tlsdate/ca-roots || die
-
-	insinto /etc/tlsdate
-	doins "${FILESDIR}/tlsdated.conf"
-	insinto /etc/dbus-1/system.d
-	doins "${S}/dbus/org.torproject.tlsdate.conf"
-	insinto /usr/share/dbus-1/interfaces
-	doins "${S}/dbus/org.torproject.tlsdate.xml"
-	insinto /usr/share/dbus-1/services
-	doins "${S}/dbus/org.torproject.tlsdate.service"
-
-	if use systemd; then
-		systemd_dounit init/tlsdated.service
-		systemd_enable_service system-services.target tlsdated.service
-		systemd_dotmpfilesd init/tlsdated-directories.conf
-	else
-		insinto /etc/init
-		doins init/tlsdated.conf
-	fi
-}
-
-pkg_preinst() {
-	enewuser "tlsdate"
-	enewgroup "tlsdate"
-	enewuser "tlsdate-dbus"   # For tlsdate-dbus-announce.
-	enewgroup "tlsdate-dbus"  # For tlsdate-dbus-announce.
-}
diff --git a/net-misc/tlsdate/tlsdate-0.0.5-r106.ebuild b/net-misc/tlsdate/tlsdate-0.0.5-r106.ebuild
new file mode 100644
index 0000000..70dd000
--- /dev/null
+++ b/net-misc/tlsdate/tlsdate-0.0.5-r106.ebuild
@@ -0,0 +1,88 @@
+# Copyright 2012 The Chromium OS Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+CROS_WORKON_COMMIT="cf13bc4fd99a3ef6d696307649299ac9badfb7e2"
+CROS_WORKON_TREE="621e47f9f541786981ded938a7e7890f3fba236a"
+CROS_WORKON_PROJECT="chromiumos/third_party/tlsdate"
+CROS_WORKON_EGIT_BRANCH=master
+
+inherit autotools flag-o-matic toolchain-funcs cros-sanitizers cros-workon cros-debug systemd user
+
+DESCRIPTION="Update local time over HTTPS"
+HOMEPAGE="https://github.com/ioerror/tlsdate"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="*"
+IUSE="-asan +dbus +seccomp systemd"
+
+DEPEND="dev-libs/openssl:0=
+	dev-libs/libevent:=
+	dbus? ( sys-apps/dbus )"
+RDEPEND="${DEPEND}
+	chromeos-base/chromeos-ca-certificates
+"
+
+src_prepare() {
+	# Use the system cert store rather than a custom one specific
+	# to the tlsdate package. #534394
+	sed -i \
+		-e 's:/tlsdate/ca-roots/tlsdate-ca-roots.conf:/ssl/certs/ca-certificates.crt:' \
+		Makefile.am || die
+
+	default
+
+	eautoreconf
+}
+
+src_configure() {
+	sanitizers-setup-env
+	cros-debug-add-NDEBUG
+	econf \
+		$(use_enable dbus) \
+		$(use_enable seccomp seccomp-filter) \
+		$(use_enable cros-debug seccomp-debugging) \
+		--enable-cros \
+		--with-dbus-client-group=chronos \
+		--with-unpriv-user=tlsdate \
+		--with-unpriv-group=tlsdate
+}
+
+src_compile() {
+	tc-export CC
+	emake CFLAGS="-Wall -Werror ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}"
+}
+
+src_install() {
+	default
+
+	# Use the system cert store; see src_prepare. #446426 #534394
+	rm "${ED}"/etc/tlsdate/ca-roots/tlsdate-ca-roots.conf || die
+	rmdir "${ED}"/etc/tlsdate/ca-roots || die
+
+	insinto /etc/tlsdate
+	doins "${FILESDIR}/tlsdated.conf"
+	insinto /etc/dbus-1/system.d
+	doins "${S}/dbus/org.torproject.tlsdate.conf"
+	insinto /usr/share/dbus-1/interfaces
+	doins "${S}/dbus/org.torproject.tlsdate.xml"
+	insinto /usr/share/dbus-1/services
+	doins "${S}/dbus/org.torproject.tlsdate.service"
+
+	if use systemd; then
+		systemd_dounit init/tlsdated.service
+		systemd_enable_service system-services.target tlsdated.service
+		systemd_dotmpfilesd init/tlsdated-directories.conf
+	else
+		insinto /etc/init
+		doins init/tlsdated.conf
+	fi
+}
+
+pkg_preinst() {
+	enewuser "tlsdate"
+	enewgroup "tlsdate"
+	enewuser "tlsdate-dbus"   # For tlsdate-dbus-announce.
+	enewgroup "tlsdate-dbus"  # For tlsdate-dbus-announce.
+}
diff --git a/net-misc/tlsdate/tlsdate-9999.ebuild b/net-misc/tlsdate/tlsdate-9999.ebuild
index dd97ac9..1cbd13d 100644
--- a/net-misc/tlsdate/tlsdate-9999.ebuild
+++ b/net-misc/tlsdate/tlsdate-9999.ebuild
@@ -16,7 +16,7 @@
 IUSE="-asan +dbus +seccomp systemd"
 
 DEPEND="dev-libs/openssl:0=
-	dev-libs/libevent
+	dev-libs/libevent:=
 	dbus? ( sys-apps/dbus )"
 RDEPEND="${DEPEND}
 	chromeos-base/chromeos-ca-certificates
diff --git a/net-misc/usbip/usbip-4.19-r10.ebuild b/net-misc/usbip/usbip-4.19-r10.ebuild
new file mode 100644
index 0000000..56cec95
--- /dev/null
+++ b/net-misc/usbip/usbip-4.19-r10.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CROS_WORKON_COMMIT="8ab59df018494e9b4c8323918166810b63ba1db2"
+CROS_WORKON_TREE="f3a0a0009d4cfe0cd2783cefc1c92f3c79fef691"
+CROS_WORKON_PROJECT="chromiumos/third_party/kernel"
+CROS_WORKON_LOCALNAME="kernel/v4.19"
+CROS_WORKON_EGIT_BRANCH="chromeos-4.19"
+CROS_WORKON_SUBTREE="tools/usb/usbip"
+
+inherit autotools cros-workon eutils cros-sanitizers
+
+DESCRIPTION="Userspace utilities for a general USB device sharing system over IP networks"
+HOMEPAGE="https://www.kernel.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+IUSE="static-libs tcpd"
+RESTRICT=""
+
+RDEPEND=">=dev-libs/glib-2.6
+	sys-apps/hwdata
+	>=sys-kernel/linux-headers-3.17
+	virtual/libudev
+	tcpd? ( sys-apps/tcp-wrappers )"
+DEPEND="${RDEPEND}
+	virtual/pkgconfig"
+
+DOCS="AUTHORS README"
+
+S=${WORKDIR}/linux-${PV}/tools/usb/${PN}
+
+src_unpack() {
+	cros-workon_src_unpack
+	S+="/tools/usb/usbip"
+}
+
+src_prepare() {
+	# remove -Werror from build, bug #545398
+	sed -i 's/-Werror[^ ]* //g' configure.ac || die
+
+	default
+
+	eautoreconf
+}
+
+src_configure() {
+	sanitizers-setup-env
+
+	econf \
+		$(use_enable static-libs static) \
+		"$(use_with tcpd tcp-wrappers)" \
+		--with-usbids-dir=/usr/share/hwdata
+}
+
+src_install() {
+	default
+	prune_libtool_files
+}
diff --git a/net-misc/usbip/usbip-4.19-r7.ebuild b/net-misc/usbip/usbip-4.19-r7.ebuild
deleted file mode 100644
index 19be309..0000000
--- a/net-misc/usbip/usbip-4.19-r7.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-CROS_WORKON_COMMIT="94bc330400210bc08b4159b6ced0b11d2b7e73a0"
-CROS_WORKON_TREE="f3a0a0009d4cfe0cd2783cefc1c92f3c79fef691"
-CROS_WORKON_PROJECT="chromiumos/third_party/kernel"
-CROS_WORKON_LOCALNAME="kernel/v4.19"
-CROS_WORKON_EGIT_BRANCH="chromeos-4.19"
-CROS_WORKON_SUBTREE="tools/usb/usbip"
-
-inherit autotools cros-workon eutils
-
-DESCRIPTION="Userspace utilities for a general USB device sharing system over IP networks"
-HOMEPAGE="https://www.kernel.org/"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-IUSE="static-libs tcpd"
-RESTRICT=""
-
-RDEPEND=">=dev-libs/glib-2.6
-	sys-apps/hwids
-	>=sys-kernel/linux-headers-3.17
-	virtual/libudev
-	tcpd? ( sys-apps/tcp-wrappers )"
-DEPEND="${RDEPEND}
-	virtual/pkgconfig"
-
-DOCS="AUTHORS README"
-
-S=${WORKDIR}/linux-${PV}/tools/usb/${PN}
-
-src_unpack() {
-	cros-workon_src_unpack
-	S+="/tools/usb/usbip"
-}
-
-src_prepare() {
-	# remove -Werror from build, bug #545398
-	sed -i 's/-Werror[^ ]* //g' configure.ac || die
-
-	default
-
-	eautoreconf
-}
-
-src_configure() {
-	econf \
-		$(use_enable static-libs static) \
-		$(use tcpd || echo --without-tcp-wrappers) \
-		--with-usbids-dir=/usr/share/misc
-}
-
-src_install() {
-	default
-	prune_libtool_files
-}
-
-pkg_postinst() {
-	elog "For using USB/IP you need to enable USBIP_VHCI_HCD in the client"
-	elog "machine's kernel config and USBIP_HOST on the server."
-}
diff --git a/net-misc/usbip/usbip-9999.ebuild b/net-misc/usbip/usbip-9999.ebuild
index b26c2ca..5cd4601 100644
--- a/net-misc/usbip/usbip-9999.ebuild
+++ b/net-misc/usbip/usbip-9999.ebuild
@@ -8,7 +8,7 @@
 CROS_WORKON_EGIT_BRANCH="chromeos-4.19"
 CROS_WORKON_SUBTREE="tools/usb/usbip"
 
-inherit autotools cros-workon eutils
+inherit autotools cros-workon eutils cros-sanitizers
 
 DESCRIPTION="Userspace utilities for a general USB device sharing system over IP networks"
 HOMEPAGE="https://www.kernel.org/"
@@ -20,7 +20,7 @@
 RESTRICT=""
 
 RDEPEND=">=dev-libs/glib-2.6
-	sys-apps/hwids
+	sys-apps/hwdata
 	>=sys-kernel/linux-headers-3.17
 	virtual/libudev
 	tcpd? ( sys-apps/tcp-wrappers )"
@@ -46,18 +46,15 @@
 }
 
 src_configure() {
+	sanitizers-setup-env
+
 	econf \
 		$(use_enable static-libs static) \
-		$(use tcpd || echo --without-tcp-wrappers) \
-		--with-usbids-dir=/usr/share/misc
+		"$(use_with tcpd tcp-wrappers)" \
+		--with-usbids-dir=/usr/share/hwdata
 }
 
 src_install() {
 	default
 	prune_libtool_files
 }
-
-pkg_postinst() {
-	elog "For using USB/IP you need to enable USBIP_VHCI_HCD in the client"
-	elog "machine's kernel config and USBIP_HOST on the server."
-}
diff --git a/net-nds/rpcbind/Manifest b/net-nds/rpcbind/Manifest
deleted file mode 100644
index 4e7780a..0000000
--- a/net-nds/rpcbind/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST rpcbind-0.2.4.tar.bz2 122781 SHA256 074a9a530dc7c11e0d905aa59bcb0847c009313f02e98d3d798aa9568f414c66 SHA512 f3966a7284e94bdf120a9b3f0dd66efa1fe8761df2313545a031f77b7c06e27d7955d2780469943deb537d34f95c4cf3f30de523ec9fab9f571322d7224b210c WHIRLPOOL 9eec5752e3b80f0c3feccf1667e54fb9630b9fabad6613e3f7030489d7b9cfbb5585e173545274f0b3656d27085f71b7c3290da7a2ec022f1948a62a336e278e
diff --git a/net-nds/rpcbind/files/rpcbind-0.2.3-libtirpc.patch b/net-nds/rpcbind/files/rpcbind-0.2.3-libtirpc.patch
deleted file mode 100644
index 92ea22f..0000000
--- a/net-nds/rpcbind/files/rpcbind-0.2.3-libtirpc.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-fix from upstream for building w/newer libtirpc
-
-From 9194122389f2a56b1cd1f935e64307e2e963c2da Mon Sep 17 00:00:00 2001
-From: Steve Dickson <steved@redhat.com>
-Date: Mon, 2 Nov 2015 17:05:18 -0500
-Subject: [PATCH rpcbind] handle_reply: Don't use the xp_auth pointer directly
-
-In the latest libtirpc version to access the xp_auth
-one must use the SVC_XP_AUTH macro. To be backwards
-compatible a couple ifdefs were added to use the
-macro when it exists.
-
-Signed-off-by: Steve Dickson <steved@redhat.com>
----
- src/rpcb_svc_com.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c
-index 4ae93f1..22d6c84 100644
---- a/src/rpcb_svc_com.c
-+++ b/src/rpcb_svc_com.c
-@@ -1295,10 +1295,17 @@ handle_reply(int fd, SVCXPRT *xprt)
- 	a.rmt_localvers = fi->versnum;
- 
- 	xprt_set_caller(xprt, fi);
-+#if defined(SVC_XP_AUTH)
-+	SVC_XP_AUTH(xprt) = svc_auth_none;
-+#else 
- 	xprt->xp_auth = &svc_auth_none;
-+#endif
- 	svc_sendreply(xprt, (xdrproc_t) xdr_rmtcall_result, (char *) &a);
-+#if !defined(SVC_XP_AUTH)
- 	SVCAUTH_DESTROY(xprt->xp_auth);
- 	xprt->xp_auth = NULL;
-+#endif
-+
- done:
- 	if (buffer)
- 		free(buffer);
--- 
-2.5.2
-
diff --git a/net-nds/rpcbind/files/rpcbind-0.2.3-mem-corrupt.patch b/net-nds/rpcbind/files/rpcbind-0.2.3-mem-corrupt.patch
deleted file mode 100644
index 9c03bda..0000000
--- a/net-nds/rpcbind/files/rpcbind-0.2.3-mem-corrupt.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-https://bugs.gentoo.org/560990
-
-fix from upstream
-
-From d5dace219953c45d26ae42db238052b68540649a Mon Sep 17 00:00:00 2001
-From: Olaf Kirch <okir@suse.de>
-Date: Fri, 30 Oct 2015 10:18:20 -0400
-Subject: [PATCH rpcbind] Fix memory corruption in PMAP_CALLIT code
-
- - A PMAP_CALLIT call comes in on IPv4 UDP
- - rpcbind duplicates the caller's address to a netbuf and stores it in
-   FINFO[0].caller_addr. caller_addr->buf now points to a memory region A
-   with a size of 16 bytes
- - rpcbind forwards the call to the local service, receives a reply
- - when processing the reply, it does this in xprt_set_caller:
-    xprt->xp_rtaddr = *FINFO[0].caller_addr
-   It sends out the reply, and then frees the netbuf caller_addr and
-   caller_addr.buf.
-   However, it does not clear xp_rtaddr, so xp_rtaddr.buf now refers
-   to memory region A, which is free.
- - When the next call comes in on the UDP/IPv4 socket, svc_dg_recv will
-   be called, which will set xp_rtaddr to the client's address.
-   It will reuse the buffer inside xp_rtaddr, ie it will write a
-   sockaddr_in to region A
-
-Some time down the road, an incoming TCP connection is accepted,
-allocating a fresh SVCXPRT. The memory region A is inside the
-new SVCXPRT
-
- - While processing the TCP call, another UDP call comes in, again
-   overwriting region A with the client's address
- - TCP client closes connection. In svc_destroy, we now trip over
-   the garbage left in region A
-
-We ran into the case where a commercial scanner was triggering
-occasional rpcbind segfaults. The core file that was captured showed
-a corrupted xprt->xp_netid pointer that was really a sockaddr_in.
-
-Signed-off-by: Olaf Kirch <okir@suse.de>
-Signed-off-by: Steve Dickson <steved@redhat.com>
----
- src/rpcb_svc_com.c | 23 ++++++++++++++++++++++-
- 1 file changed, 22 insertions(+), 1 deletion(-)
-
-diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c
-index ff9ce6b..4ae93f1 100644
---- a/src/rpcb_svc_com.c
-+++ b/src/rpcb_svc_com.c
-@@ -1183,12 +1183,33 @@ check_rmtcalls(struct pollfd *pfds, int nfds)
- 	return (ncallbacks_found);
- }
- 
-+/*
-+ * This is really a helper function defined in libtirpc, 
-+ * but unfortunately, it hasn't been exported yet.
-+ */
-+static struct netbuf *
-+__rpc_set_netbuf(struct netbuf *nb, const void *ptr, size_t len)
-+{
-+	if (nb->len != len) {
-+		if (nb->len)
-+			mem_free(nb->buf, nb->len);
-+		nb->buf = mem_alloc(len);
-+		if (nb->buf == NULL)
-+			return NULL;
-+
-+		nb->maxlen = nb->len = len;
-+	}
-+	memcpy(nb->buf, ptr, len);
-+	return nb;
-+}
-+
- static void
- xprt_set_caller(SVCXPRT *xprt, struct finfo *fi)
- {
-+	const struct netbuf *caller = fi->caller_addr;
- 	u_int32_t *xidp;
- 
--	*(svc_getrpccaller(xprt)) = *(fi->caller_addr);
-+	__rpc_set_netbuf(svc_getrpccaller(xprt), caller->buf, caller->len);
- 	xidp = __rpcb_get_dg_xidp(xprt);
- 	*xidp = fi->caller_xid;
- }
--- 
-2.5.2
-
diff --git a/net-nds/rpcbind/files/rpcbind-0.2.3-remove-P-macro.patch b/net-nds/rpcbind/files/rpcbind-0.2.3-remove-P-macro.patch
deleted file mode 100644
index 8e1b69b..0000000
--- a/net-nds/rpcbind/files/rpcbind-0.2.3-remove-P-macro.patch
+++ /dev/null
@@ -1,246 +0,0 @@
-From 196e8f3abaa6e8899ba2655c6c2d8751e33a9795 Mon Sep 17 00:00:00 2001
-From: "Yann E. MORIN" <yann.morin.1998@free.fr>
-Date: Wed, 17 Aug 2016 10:16:47 -0400
-Subject: [PATCH] src: remove use of the __P() macro
-
-The __P() macro is a legacy compatibility macro aimed making pre-ANSI
-(i.e. K&R) compilers that do not support function prototypes happy,
-while still allowing such prototypes for ANSI-compliant compilers.
-
-Since virtually all compilers have been ANSI-compliant for a few decades
-now, use of __P() is totally useless.
-
-Furthermore, __P() is defined in the non-standard sys/cdefs.h header.
-This header is present in glibc and uClibc, and both have it included
-from many of their headers. So, sys/cdefs.h is automagically included in
-most cases and its macros are available.
-
-However, the musl C library does not provide this sys/cdefs.h header.
-Thus, the build breaks on musl.
-
-For all the above reasons, get rid of __P() wherever it is used; just
-always declare real function prototypes.
-
-Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
-Signed-off-by: Steve Dickson <steved@redhat.com>
-Cc: Chuck Lever <chuck.lever@oracle.com>
-Cc: Steve Dickson <SteveD@redhat.com>
-Cc: Mike Frysinger <vapier@gentoo.org>
----
- src/check_bound.c  |  2 +-
- src/pmap_svc.c     | 10 +++++-----
- src/rpcb_svc.c     | 10 +++++-----
- src/rpcb_svc_4.c   | 14 ++++++--------
- src/rpcb_svc_com.c | 46 +++++++++++++++++++++++-----------------------
- src/rpcbind.c      | 12 ++++++------
- src/util.c         |  2 +-
- src/warmstart.c    |  4 ++--
- 8 files changed, 49 insertions(+), 51 deletions(-)
-
-diff --git a/src/check_bound.c b/src/check_bound.c
-index c70b845..92bfd36 100644
---- a/src/check_bound.c
-+++ b/src/check_bound.c
-@@ -70,7 +70,7 @@ static struct fdlist *fdhead;	/* Link list of the check fd's */
- static struct fdlist *fdtail;
- static char *nullstring = "";
- 
--static bool_t check_bound __P((struct fdlist *, char *uaddr));
-+static bool_t check_bound(struct fdlist *, char *uaddr);
- 
- /*
-  * Returns 1 if the given address is bound for the given addr & transport
-diff --git a/src/pmap_svc.c b/src/pmap_svc.c
-index ad28b93..4c744fe 100644
---- a/src/pmap_svc.c
-+++ b/src/pmap_svc.c
-@@ -60,11 +60,11 @@ static	char sccsid[] = "@(#)pmap_svc.c 1.23 89/04/05 Copyr 1984 Sun Micro";
- #include "rpcbind.h"
- #include "xlog.h"
- #include <rpc/svc_soc.h> /* svc_getcaller routine definition */
--static struct pmaplist *find_service_pmap __P((rpcprog_t, rpcvers_t,
--					       rpcprot_t));
--static bool_t pmapproc_change __P((struct svc_req *, SVCXPRT *, u_long));
--static bool_t pmapproc_getport __P((struct svc_req *, SVCXPRT *));
--static bool_t pmapproc_dump __P((struct svc_req *, SVCXPRT *));
-+static struct pmaplist *find_service_pmap(rpcprog_t, rpcvers_t,
-+					       rpcprot_t);
-+static bool_t pmapproc_change(struct svc_req *, SVCXPRT *, u_long);
-+static bool_t pmapproc_getport(struct svc_req *, SVCXPRT *);
-+static bool_t pmapproc_dump(struct svc_req *, SVCXPRT *);
- 
- /*
-  * Called for all the version 2 inquiries.
-diff --git a/src/rpcb_svc.c b/src/rpcb_svc.c
-index bd92201..709e3fb 100644
---- a/src/rpcb_svc.c
-+++ b/src/rpcb_svc.c
-@@ -53,10 +53,10 @@
- #include "rpcbind.h"
- #include "xlog.h"
- 
--static void *rpcbproc_getaddr_3_local __P((void *, struct svc_req *, SVCXPRT *,
--					   rpcvers_t));
--static void *rpcbproc_dump_3_local __P((void *, struct svc_req *, SVCXPRT *,
--					rpcvers_t));
-+static void *rpcbproc_getaddr_3_local(void *, struct svc_req *, SVCXPRT *,
-+					   rpcvers_t);
-+static void *rpcbproc_dump_3_local(void *, struct svc_req *, SVCXPRT *,
-+					rpcvers_t);
- 
- /*
-  * Called by svc_getreqset. There is a separate server handle for
-@@ -75,7 +75,7 @@ rpcb_service_3(struct svc_req *rqstp, SVCXPRT *transp)
- 	} argument;
- 	char *result;
- 	xdrproc_t xdr_argument, xdr_result;
--	void *(*local) __P((void *, struct svc_req *, SVCXPRT *, rpcvers_t));
-+	void *(*local)(void *, struct svc_req *, SVCXPRT *, rpcvers_t);
- 	rpcprog_t setprog = 0;
- 
- 	rpcbs_procinfo(RPCBVERS_3_STAT, rqstp->rq_proc);
-diff --git a/src/rpcb_svc_4.c b/src/rpcb_svc_4.c
-index b673452..5094879 100644
---- a/src/rpcb_svc_4.c
-+++ b/src/rpcb_svc_4.c
-@@ -54,13 +54,11 @@
- #include "rpcbind.h"
- #include "xlog.h"
- 
--static void *rpcbproc_getaddr_4_local __P((void *, struct svc_req *, SVCXPRT *,
--				      rpcvers_t));
--static void *rpcbproc_getversaddr_4_local __P((void *, struct svc_req *, SVCXPRT *, rpcvers_t));
--static void *rpcbproc_getaddrlist_4_local
--	__P((void *, struct svc_req *, SVCXPRT *, rpcvers_t));
--static void free_rpcb_entry_list __P((rpcb_entry_list_ptr *));
--static void *rpcbproc_dump_4_local __P((void *, struct svc_req *, SVCXPRT *, rpcvers_t));
-+static void *rpcbproc_getaddr_4_local(void *, struct svc_req *, SVCXPRT *, rpcvers_t);
-+static void *rpcbproc_getversaddr_4_local(void *, struct svc_req *, SVCXPRT *, rpcvers_t);
-+static void *rpcbproc_getaddrlist_4_local(void *, struct svc_req *, SVCXPRT *, rpcvers_t);
-+static void free_rpcb_entry_list(rpcb_entry_list_ptr *);
-+static void *rpcbproc_dump_4_local(void *, struct svc_req *, SVCXPRT *, rpcvers_t);
- 
- /*
-  * Called by svc_getreqset. There is a separate server handle for
-@@ -78,7 +76,7 @@ rpcb_service_4(struct svc_req *rqstp, SVCXPRT *transp)
- 	} argument;
- 	char *result;
- 	xdrproc_t xdr_argument, xdr_result;
--	void *(*local) __P((void *, struct svc_req *, SVCXPRT *, rpcvers_t));
-+	void *(*local)(void *, struct svc_req *, SVCXPRT *, rpcvers_t);
- 	rpcprog_t setprog = 0;
- 
- 	rpcbs_procinfo(RPCBVERS_4_STAT, rqstp->rq_proc);
-diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c
-index 148fe42..5862c26 100644
---- a/src/rpcb_svc_com.c
-+++ b/src/rpcb_svc_com.c
-@@ -100,29 +100,29 @@ struct finfo {
- static struct finfo     FINFO[NFORWARD];
- 
- 
--static bool_t xdr_encap_parms __P((XDR *, struct encap_parms *));
--static bool_t xdr_rmtcall_args __P((XDR *, struct r_rmtcall_args *));
--static bool_t xdr_rmtcall_result __P((XDR *, struct r_rmtcall_args *));
--static bool_t xdr_opaque_parms __P((XDR *, struct r_rmtcall_args *));
--static int find_rmtcallfd_by_netid __P((char *));
--static SVCXPRT *find_rmtcallxprt_by_fd __P((int));
--static int forward_register __P((u_int32_t, struct netbuf *, int, char *,
--    rpcproc_t, rpcvers_t, u_int32_t *));
--static struct finfo *forward_find __P((u_int32_t));
--static int free_slot_by_xid __P((u_int32_t));
--static int free_slot_by_index __P((int));
--static int netbufcmp __P((struct netbuf *, struct netbuf *));
--static struct netbuf *netbufdup __P((struct netbuf *));
--static void netbuffree __P((struct netbuf *));
--static int check_rmtcalls __P((struct pollfd *, int));
--static void xprt_set_caller __P((SVCXPRT *, struct finfo *));
--static void send_svcsyserr __P((SVCXPRT *, struct finfo *));
--static void handle_reply __P((int, SVCXPRT *));
--static void find_versions __P((rpcprog_t, char *, rpcvers_t *, rpcvers_t *));
--static rpcblist_ptr find_service __P((rpcprog_t, rpcvers_t, char *));
--static char *getowner __P((SVCXPRT *, char *, size_t));
--static int add_pmaplist __P((RPCB *));
--static int del_pmaplist __P((RPCB *));
-+static bool_t xdr_encap_parms(XDR *, struct encap_parms *);
-+static bool_t xdr_rmtcall_args(XDR *, struct r_rmtcall_args *);
-+static bool_t xdr_rmtcall_result(XDR *, struct r_rmtcall_args *);
-+static bool_t xdr_opaque_parms(XDR *, struct r_rmtcall_args *);
-+static int find_rmtcallfd_by_netid(char *);
-+static SVCXPRT *find_rmtcallxprt_by_fd(int);
-+static int forward_register(u_int32_t, struct netbuf *, int, char *,
-+    rpcproc_t, rpcvers_t, u_int32_t *);
-+static struct finfo *forward_find(u_int32_t);
-+static int free_slot_by_xid(u_int32_t);
-+static int free_slot_by_index(int);
-+static int netbufcmp(struct netbuf *, struct netbuf *);
-+static struct netbuf *netbufdup(struct netbuf *);
-+static void netbuffree(struct netbuf *);
-+static int check_rmtcalls(struct pollfd *, int);
-+static void xprt_set_caller(SVCXPRT *, struct finfo *);
-+static void send_svcsyserr(SVCXPRT *, struct finfo *);
-+static void handle_reply(int, SVCXPRT *);
-+static void find_versions(rpcprog_t, char *, rpcvers_t *, rpcvers_t *);
-+static rpcblist_ptr find_service(rpcprog_t, rpcvers_t, char *);
-+static char *getowner(SVCXPRT *, char *, size_t);
-+static int add_pmaplist(RPCB *);
-+static int del_pmaplist(RPCB *);
- 
- /*
-  * Set a mapping of program, version, netid
-diff --git a/src/rpcbind.c b/src/rpcbind.c
-index c4265cd..87ccdc2 100644
---- a/src/rpcbind.c
-+++ b/src/rpcbind.c
-@@ -136,13 +136,13 @@ char *tcp_uaddr;	/* Universal TCP address */
- static char servname[] = "rpcbind";
- static char superuser[] = "superuser";
- 
--int main __P((int, char *[]));
-+int main(int, char *[]);
- 
--static int init_transport __P((struct netconfig *));
--static void rbllist_add __P((rpcprog_t, rpcvers_t, struct netconfig *,
--			     struct netbuf *));
--static void terminate __P((int));
--static void parseargs __P((int, char *[]));
-+static int init_transport(struct netconfig *);
-+static void rbllist_add(rpcprog_t, rpcvers_t, struct netconfig *,
-+			     struct netbuf *);
-+static void terminate(int);
-+static void parseargs(int, char *[]);
- 
- int
- main(int argc, char *argv[])
-diff --git a/src/util.c b/src/util.c
-index a6c835b..74b0284 100644
---- a/src/util.c
-+++ b/src/util.c
-@@ -70,7 +70,7 @@ static struct sockaddr_in *local_in4;
- static struct sockaddr_in6 *local_in6;
- #endif
- 
--static int bitmaskcmp __P((void *, void *, void *, int));
-+static int bitmaskcmp(void *, void *, void *, int);
- 
- /*
-  * For all bits set in "mask", compare the corresponding bits in
-diff --git a/src/warmstart.c b/src/warmstart.c
-index b6eb73e..122a058 100644
---- a/src/warmstart.c
-+++ b/src/warmstart.c
-@@ -58,8 +58,8 @@
- #define	PMAPFILE	RPCBIND_STATEDIR "/portmap.xdr"
- #endif
- 
--static bool_t write_struct __P((char *, xdrproc_t, void *));
--static bool_t read_struct __P((char *, xdrproc_t, void *));
-+static bool_t write_struct(char *, xdrproc_t, void *);
-+static bool_t read_struct(char *, xdrproc_t, void *);
- 
- static bool_t
- write_struct(char *filename, xdrproc_t structproc, void *list)
--- 
-1.8.3.1
-
diff --git a/net-nds/rpcbind/files/rpcbind-0.2.4-change-runtime-directory.patch b/net-nds/rpcbind/files/rpcbind-0.2.4-change-runtime-directory.patch
deleted file mode 100644
index 2fdffc4..0000000
--- a/net-nds/rpcbind/files/rpcbind-0.2.4-change-runtime-directory.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Change runtime directory
-
-rpcbind hardcodes the runtime directory to be /var/run.  Change it to just /run.
-
---- src/rpcbind.c	2016-11-28 12:47:28.000000000 -0800
-+++ src/rpcbind.c.new	2017-11-13 17:23:25.559203609 -0800
-@@ -106,7 +106,7 @@
- /* who to suid to if -s is given */
- #define RUN_AS  "daemon"
- 
--#define RPCBINDDLOCK "/var/run/rpcbind.lock"
-+#define RPCBINDDLOCK "/run/rpcbind.lock"
- 
- int runasdaemon = 0;
- int insecure = 0;
diff --git a/net-nds/rpcbind/files/rpcbind-0.2.4-drop-root-check.patch b/net-nds/rpcbind/files/rpcbind-0.2.4-drop-root-check.patch
deleted file mode 100644
index b60cd62..0000000
--- a/net-nds/rpcbind/files/rpcbind-0.2.4-drop-root-check.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Drop root check
-
-rpcbind needs to bind to port 111, which is a privileged port.  In
-order to ensure that it can do this, rpcbind helpfully hardcodes a
-check to ensure that geteuid() returns 0 instead of printing a message
-only if it fails to bind to the correct port.
-
-Remove this check so that we can run it as a non-root user.  It will
-still be able to bind to port 111 since we will give it the
-CAP_NET_BIND_SERVICE capability, which is really all it needs.
-
---- src/rpcbind.c	2016-11-28 12:47:28.000000000 -0800
-+++ src/rpcbind.c.new	2017-11-13 15:32:42.344159067 -0800
-@@ -171,11 +171,6 @@
- 		setrlimit(RLIMIT_NOFILE, &rl);
- 	}
- 
--	if (geteuid()) { /* This command allowed only to root */
--		fprintf(stderr, "Sorry. You are not superuser\n");
--		exit(1);
--	}
--
- 	/*
- 	 * Make sure we use the local service file 
- 	 * for service lookkups
-@@ -268,18 +263,6 @@
- 			mkdir_warmstart(p->pw_uid);
- 		}
- #endif
--                if (setgid(p->pw_gid) == -1) {
--                        syslog(LOG_ERR, "setgid to '%s' (%d) failed: %m", id, p->pw_gid);
--                        exit(1);
--                }
--		if (setgroups(0, NULL) == -1) {
--			syslog(LOG_ERR, "dropping supplemental groups failed: %m");
--			exit(1);
--		}
--		if (setuid(p->pw_uid) == -1) {
--			syslog(LOG_ERR, "setuid to '%s' (%d) failed: %m", id, p->pw_uid);
--			exit(1);
--		}
- 	}
- 
- #ifdef WARMSTART
diff --git a/net-nds/rpcbind/files/rpcbind.conf b/net-nds/rpcbind/files/rpcbind.conf
deleted file mode 100644
index b9981a2..0000000
--- a/net-nds/rpcbind/files/rpcbind.conf
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-description     "Universal addresses to RPC program number mapper"
-author          "chromium-os-dev@chromium.org"
-
-# The server will be invoked when a container is launched.
-# It should not run automatically.
-stop on stopping ui
-
-respawn
-
-pre-start script
-  mkdir -m 0710 -p "/run/rpcbind"
-  chown -R ganesha:ganesha "/run/rpcbind"
-
-  iptables -A INPUT -p tcp -s 100.115.92.0/24 --dport 111 \
-    -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT -i vmtap+
-end script
-
-# Allow CAP_NET_BIND_SERVICE(10)
-exec minijail0 -nplNrvt -L \
-	-S /usr/share/policy/rpcbind-seccomp.policy \
-	--uts \
-	-c 0x400 \
-	-u ganesha -g ganesha \
-	-P /mnt/empty \
-	-b /,/ \
-	-b /proc,/proc \
-	-b /run/rpcbind,/run,1 \
-	-- /sbin/rpcbind -f
-
-post-stop script
-  iptables -D INPUT -p tcp -s 100.115.92.0/24 --dport 111 \
-    -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT -i vmtap+
-end script
diff --git a/net-nds/rpcbind/files/rpcbind.confd b/net-nds/rpcbind/files/rpcbind.confd
deleted file mode 100644
index ddc0917..0000000
--- a/net-nds/rpcbind/files/rpcbind.confd
+++ /dev/null
@@ -1,4 +0,0 @@
-# /etc/conf.d/rpcbind
- 
-# Options for `rpcbind`.
-#RPCBIND_OPTS="-l"
diff --git a/net-nds/rpcbind/files/rpcbind.initd b/net-nds/rpcbind/files/rpcbind.initd
deleted file mode 100644
index c32b31b..0000000
--- a/net-nds/rpcbind/files/rpcbind.initd
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-depend() {
-	use net
-	before inetd xinetd
-	provide portmap
-}
-
-start() {
-	ebegin "Starting rpcbind"
-	start-stop-daemon --start --quiet --exec /sbin/rpcbind -- ${RPCBIND_OPTS}
-	eend $?
-}
-
-stop() {
-	ebegin "Stopping rpcbind"
-	start-stop-daemon --stop --quiet --exec /sbin/rpcbind
-	eend $?
-}
diff --git a/net-nds/rpcbind/files/rpcbind.service b/net-nds/rpcbind/files/rpcbind.service
deleted file mode 100644
index 305ea9b..0000000
--- a/net-nds/rpcbind/files/rpcbind.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=RPC Bind
-After=network.target
-Wants=rpcbind.target
-Before=rpcbind.target
-
-[Service]
-Type=forking
-ExecStart=/sbin/rpcbind
-Restart=always
-
-[Install]
-WantedBy=multi-user.target
diff --git a/net-nds/rpcbind/files/seccomp-amd64.policy b/net-nds/rpcbind/files/seccomp-amd64.policy
deleted file mode 100644
index cca64a0..0000000
--- a/net-nds/rpcbind/files/seccomp-amd64.policy
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-accept: 1
-access: 1
-arch_prctl: 1
-bind: 1
-brk: 1
-chdir: 1
-close: 1
-dup2: 1
-exit_group: 1
-fcntl: 1
-flock: 1
-fstat: 1
-newfstatat: 1
-geteuid: 1
-getpeername: 1
-getpid: 1
-getrlimit: 1
-getsockname: 1
-getsockopt: 1
-gettimeofday: 1
-# arg1 == SIOCGIFINDEX
-ioctl: arg1 == 0x8933
-listen: 1
-# Don't allow mmap with both PROT_WRITE and PROT_EXEC
-mmap: arg2 in 0xfffffffb || arg2 in 0xfffffffd
-mprotect: arg2 in 0xfffffffb || arg2 in 0xfffffffd
-munmap: 1
-open: 1
-openat: 1
-poll: 1
-prlimit64: arg2 == 0 && arg3 != 0
-read: 1
-recvmsg: 1
-rt_sigaction: 1
-rt_sigprocmask: 1
-sendmsg: 1
-sendto: 1
-setgroups: arg0 == 0 && arg1 == 0
-set_robust_list: 1
-setsid: 1
-setsockopt: 1
-set_tid_address: 1
-socket: 1
-stat: 1
-umask: 1
-unlink: 1
-write: 1
diff --git a/net-nds/rpcbind/files/seccomp-arm.policy b/net-nds/rpcbind/files/seccomp-arm.policy
deleted file mode 100644
index af74bec..0000000
--- a/net-nds/rpcbind/files/seccomp-arm.policy
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-accept: 1
-access: 1
-bind: 1
-brk: 1
-close: 1
-dup2: 1
-exit: 1
-exit_group: 1
-flock: 1
-fstat64: 1
-fstatat64: 1
-getpeername: 1
-getpid: 1
-getsockname: 1
-getsockopt: 1
-gettimeofday: 1
-# ioctl: arg1 == SIOCGIFINDEX
-ioctl: arg1 == 0x8933
-listen: 1
-# Don't allow mmap with both PROT_WRITE and PROT_EXEC
-mmap2: arg2 in 0xfffffffb || arg2 in 0xfffffffd
-mprotect: arg2 in 0xfffffffb || arg2 in 0xfffffffd
-munmap: 1
-open: 1
-openat: 1
-poll: 1
-prlimit64: arg2 == 0 && arg3 != 0
-read: 1
-recvmsg: 1
-restart_syscall: 1
-rt_sigaction: 1
-rt_sigprocmask: 1
-rt_sigreturn: 1
-send: 1
-sendmsg: 1
-sendto: 1
-set_robust_list: 1
-setsockopt: 1
-set_tid_address: 1
-socket: arg0 == AF_INET6 || arg0 == AF_UNIX || arg0 == AF_INET || arg0 == AF_NETLINK
-stat64: 1
-statx: 1
-ugetrlimit: 1
-umask: 1
-uname: 1
-unlink: 1
-write: 1
diff --git a/net-nds/rpcbind/metadata.xml b/net-nds/rpcbind/metadata.xml
deleted file mode 100644
index 664c6a5..0000000
--- a/net-nds/rpcbind/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-	<maintainer type="project">
-		<email>base-system@gentoo.org</email>
-	</maintainer>
-	<use>
-		<flag name="warmstarts">Enables rpcbind to cache configuration for warm restarts</flag>
-	</use>
-	<upstream>
-		<remote-id type="sourceforge">rpcbind</remote-id>
-	</upstream>
-</pkgmetadata>
diff --git a/net-nds/rpcbind/rpcbind-0.2.4-r9.ebuild b/net-nds/rpcbind/rpcbind-0.2.4-r9.ebuild
deleted file mode 120000
index b4b75a8..0000000
--- a/net-nds/rpcbind/rpcbind-0.2.4-r9.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-rpcbind-0.2.4.ebuild
\ No newline at end of file
diff --git a/net-nds/rpcbind/rpcbind-0.2.4.ebuild b/net-nds/rpcbind/rpcbind-0.2.4.ebuild
deleted file mode 100644
index 3c94e8b..0000000
--- a/net-nds/rpcbind/rpcbind-0.2.4.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils systemd
-
-if [[ ${PV} == "9999" ]] ; then
-	EGIT_REPO_URI="git://linux-nfs.org/~steved/rpcbind.git"
-	inherit autotools git-r3
-else
-	SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
-	KEYWORDS="*"
-fi
-
-DESCRIPTION="portmap replacement which supports RPC over various protocols"
-HOMEPAGE="https://sourceforge.net/projects/rpcbind/"
-
-LICENSE="BSD"
-SLOT="0"
-IUSE="debug selinux systemd tcpd warmstarts"
-
-CDEPEND=">=net-libs/libtirpc-1.0:=
-	systemd? ( sys-apps/systemd:= )
-	tcpd? ( sys-apps/tcp-wrappers )"
-DEPEND="${CDEPEND}
-	virtual/pkgconfig"
-RDEPEND="${CDEPEND}
-	selinux? ( sec-policy/selinux-rpcbind )"
-
-PATCHES=(
-	"${FILESDIR}/${P}-change-runtime-directory.patch"
-	"${FILESDIR}/${P}-drop-root-check.patch"
-)
-
-src_prepare() {
-	[[ ${PV} == "9999" ]] && eautoreconf
-	epatch "${PATCHES[@]}"
-	epatch_user
-}
-
-src_configure() {
-	econf \
-		--bindir="${EPREFIX}"/sbin \
-		--with-statedir="${EPREFIX}"/run/${PN} \
-		--with-rpcuser=root \
-		--with-systemdsystemunitdir=$(usex systemd "$(systemd_get_unitdir)" "no") \
-		$(use_enable tcpd libwrap) \
-		$(use_enable debug) \
-		$(use_enable warmstarts)
-}
-
-src_install() {
-	default
-
-	newinitd "${FILESDIR}"/${PN}.initd ${PN}
-	newconfd "${FILESDIR}"/${PN}.confd ${PN}
-
-	systemd_dounit "${FILESDIR}"/${PN}.service
-
-	insinto /etc/init/
-	doins "${FILESDIR}/rpcbind.conf"
-
-	insinto /usr/share/policy
-	newins "${FILESDIR}/seccomp-${ARCH}.policy" rpcbind-seccomp.policy
-}
diff --git a/net-print/cups/OWNERS b/net-print/OWNERS
similarity index 100%
rename from net-print/cups/OWNERS
rename to net-print/OWNERS
diff --git a/net-print/cups/cups-2.3.3-r229.ebuild b/net-print/cups/cups-2.3.3-r229.ebuild
deleted file mode 100644
index ef1d9e0..0000000
--- a/net-print/cups/cups-2.3.3-r229.ebuild
+++ /dev/null
@@ -1,339 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=7
-
-CROS_WORKON_COMMIT="88d6289b3722e507a8504739f67c44919b165410"
-CROS_WORKON_TREE="8f868069d9b42366e87353aba095d4ffd208697b"
-CROS_WORKON_PROJECT="chromiumos/third_party/cups"
-CROS_WORKON_EGIT_BRANCH="chromeos"
-
-inherit cros-debug cros-workon libchrome-version autotools flag-o-matic multilib multilib-minimal pam user systemd toolchain-funcs cros-fuzzer cros-sanitizers tmpfiles
-
-MY_P=${P/_rc/rc}
-MY_P=${MY_P/_beta/b}
-MY_PV=${PV/_rc/rc}
-MY_PV=${MY_PV/_beta/b}
-
-KEYWORDS="*"
-
-DESCRIPTION="The Common Unix Printing System"
-HOMEPAGE="http://www.cups.org/"
-
-LICENSE="Apache-2.0"
-IUSE="acl dbus debug kerberos pam
-	+seccomp selinux +ssl static-libs systemd test +threads upstart usb X xinetd zeroconf
-	asan fuzzer"
-
-LANGS="ca cs de es fr it ja ru"
-for X in ${LANGS} ; do
-	IUSE="${IUSE} +linguas_${X}"
-done
-
-CDEPEND="
-	app-text/libpaper
-	acl? (
-		kernel_linux? (
-			sys-apps/acl
-			sys-apps/attr
-		)
-	)
-	dbus? ( >=sys-apps/dbus-1.6.18-r1[${MULTILIB_USEDEP}] )
-	kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
-	!net-print/lprng
-	pam? ( virtual/pam )
-	ssl? (
-		>=dev-libs/libgcrypt-1.5.3:0[${MULTILIB_USEDEP}]
-		>=net-libs/gnutls-2.12.23-r6[${MULTILIB_USEDEP}]
-	)
-	systemd? ( sys-apps/systemd )
-	usb? ( virtual/libusb:1 )
-	X? ( x11-misc/xdg-utils )
-	xinetd? ( sys-apps/xinetd )
-	zeroconf? ( >=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}] )
-	abi_x86_32? (
-		!<=app-emulation/emul-linux-x86-baselibs-20140508
-		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
-	)
-"
-
-DEPEND="${CDEPEND}
-	test? (
-		dev-cpp/gtest:=
-		>=chromeos-base/libchrome-0.0.1-r31:0=[cros-debug=]
-		>=chromeos-base/libbrillo-0.0.1-r1651:=
-	)
-"
-
-BDEPEND="
-	>=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
-"
-
-RDEPEND="${CDEPEND}
-	selinux? ( sec-policy/selinux-cups )
-"
-
-REQUIRED_USE="
-	usb? ( threads )
-	?? ( systemd upstart )
-"
-
-S="${WORKDIR}/${PN}-release-${MY_PV}"
-
-MULTILIB_CHOST_TOOLS=(
-	/usr/bin/cups-config
-)
-
-pkg_setup() {
-	enewgroup lp
-	enewuser lp -1 -1 -1 "lp,ippusb"
-	enewgroup lpadmin
-	enewuser lpadmin -1 -1 -1 "lpadmin,ippusb"
-	enewgroup cups
-	enewuser cups -1 -1 -1 cups
-}
-
-src_prepare() {
-	default
-
-	# Remove ".SILENT" rule for verbose output (bug 524338).
-	sed 's#^.SILENT:##g' -i "${S}"/Makedefs.in || die "sed failed"
-
-	# Fix install-sh, posix sh does not have 'function'.
-	sed 's#function gzipcp#gzipcp()#g' -i "${S}/install-sh"
-
-	AT_M4DIR=config-scripts eaclocal
-	eautoconf
-
-	# custom Makefiles
-	multilib_copy_sources
-}
-
-multilib_src_configure() {
-	sanitizers-setup-env
-
-	export DSOFLAGS="${LDFLAGS}"
-
-	einfo LANGS=\"${LANGS}\"
-	einfo LINGUAS=\"${LINGUAS}\"
-
-	local myconf=()
-
-	if tc-is-static-only; then
-		myconf+=(
-			--disable-shared
-		)
-	fi
-
-	# engages the Chrome-OS-specific "minimal" build.
-	# We perform further cleanup in multilib_src_install_all().
-	myconf+=( "--with-components=cros-minimal" )
-
-	# The tests use googletest (C++), so make sure correct C++ version is
-	# enabled.
-	append-cxxflags -std=gnu++17
-
-	# explicitly specify compiler wrt bug 524340
-	#
-	# need to override KRB5CONFIG for proper flags
-	# https://www.cups.org/str.php?L4423
-	econf \
-		CC="$(tc-getCC)" \
-		CXX="$(tc-getCXX)" \
-		LIBS="-lstdc++" \
-		KRB5CONFIG="${EPREFIX}/usr/bin/${CHOST}-krb5-config" \
-		PKGCONFIG="$(tc-getPKG_CONFIG)" \
-		--libdir="${EPREFIX}"/usr/$(get_libdir) \
-		--localstatedir="${EPREFIX}"/var \
-		--with-rundir="${EPREFIX}"/run/cups \
-		--with-printerroot="${EPREFIX}"/var/cache/cups/printers \
-		--with-cups-user=nobody \
-		--with-cups-group=cups \
-		--with-docdir="${EPREFIX}"/usr/share/cups/html \
-		--with-languages="${LINGUAS}" \
-		--with-system-groups=lpadmin \
-		--with-xinetd=/etc/xinetd.d \
-		$(multilib_native_use_enable acl) \
-		$(use_enable dbus) \
-		$(use_enable debug) \
-		$(use_enable debug debug-guards) \
-		$(use_enable debug debug-printfs) \
-		$(use_enable kerberos gssapi) \
-		$(multilib_native_use_enable pam) \
-		$(use_enable static-libs static) \
-		$(use_enable threads) \
-		$(use_with ssl tls gnutls) \
-		$(use_with systemd ondemand systemd) \
-		$(use_with upstart ondemand upstart) \
-		$(multilib_native_use_enable usb libusb) \
-		--without-dnssd \
-		--disable-localization \
-		$(multilib_is_native_abi && echo --enable-libpaper || echo --disable-libpaper) \
-		"${myconf[@]}"
-
-	# install in /usr/libexec always, instead of using /usr/lib/cups, as that
-	# makes more sense when facing multilib support.
-	sed -i -e "s:SERVERBIN.*:SERVERBIN = \"\$\(BUILDROOT\)${EPREFIX}/usr/libexec/cups\":" Makedefs || die
-	sed -i -e "s:#define CUPS_SERVERBIN.*:#define CUPS_SERVERBIN \"${EPREFIX}/usr/libexec/cups\":" config.h || die
-	sed -i -e "s:cups_serverbin=.*:cups_serverbin=\"${EPREFIX}/usr/libexec/cups\":" cups-config || die
-}
-
-multilib_src_compile() {
-	if multilib_is_native_abi; then
-		default
-		if use test; then
-			tc-export PKG_CONFIG
-			cros-debug-add-NDEBUG
-			export BASE_VER="$(libchrome_ver)"
-			emake compile-test
-		fi
-	else
-		emake libs
-	fi
-}
-
-multilib_src_test() {
-	multilib_is_native_abi || return 0
-	local tests=(
-		./cups/googletests
-		./scheduler/googletests
-	)
-	local t
-
-	if use cros_host; then
-		test_args=( --host )
-	else
-		test_args=( --sysroot="${SYSROOT}" )
-	fi
-
-	for t in "${tests[@]}"; do
-		ASAN_OPTIONS=log_path=stderr \
-		UBSAN_OPTIONS=print_stacktrace=1:log_path=stderr \
-		/mnt/host/source/src/platform2/common-mk/platform2_test.py \
-		"${test_args[@]}" -- "${t}" || die "${t} failed"
-	done
-}
-
-multilib_src_install() {
-	if multilib_is_native_abi; then
-		emake BUILDROOT="${D}" install
-	else
-		emake BUILDROOT="${D}" install-libs install-headers
-		dobin cups-config
-	fi
-}
-
-multilib_src_install_all() {
-	# install tmpfiles.d
-	dotmpfiles "${FILESDIR}/tmpfiles.d/cupsd.conf"
-	insinto /usr/lib/tmpfiles.d/on-demand/
-	doins "${FILESDIR}/tmpfiles.d/on-demand/"*.conf
-
-	# move the default config file to docs
-	dodoc "${ED}"/etc/cups/cupsd.conf.default
-	rm -f "${ED}"/etc/cups/cupsd.conf.default
-
-	# clean out cups init scripts
-	rm -rf "${ED}"/etc/{init.d/cups,rc*,pam.d/cups}
-
-	# install our init script
-	local neededservices
-	use zeroconf && neededservices+=" avahi-daemon"
-	use dbus && neededservices+=" dbus"
-	[[ -n ${neededservices} ]] && neededservices="need${neededservices}"
-	cp "${FILESDIR}"/cupsd.init.d-r1 "${T}"/cupsd || die
-	sed -i \
-		-e "s/@neededservices@/$neededservices/" \
-		"${T}"/cupsd || die
-	doinitd "${T}"/cupsd
-
-	# install our pam script
-	pamd_mimic_system cups auth account
-
-	if use xinetd ; then
-		# correct path
-		sed -i \
-			-e "s:server = .*:server = /usr/libexec/cups/daemon/cups-lpd:" \
-			"${ED}"/etc/xinetd.d/cups-lpd || die
-		# it is safer to disable this by default, bug #137130
-		grep -w 'disable' "${ED}"/etc/xinetd.d/cups-lpd || \
-			{ sed -i -e "s:}:\tdisable = yes\n}:" "${ED}"/etc/xinetd.d/cups-lpd || die ; }
-		# write permission for file owner (root), bug #296221
-		fperms u+w /etc/xinetd.d/cups-lpd || die "fperms failed"
-	else
-		# always configure with --with-xinetd= and clean up later,
-		# bug #525604
-		rm -rf "${ED}"/etc/xinetd.d
-	fi
-
-	keepdir /usr/libexec/cups/driver /usr/share/cups/{model,profiles} \
-		/var/spool/cups/tmp
-
-	keepdir /etc/cups/{interfaces,ppd,ssl}
-
-	# create /etc/cups/client.conf, bug #196967 and #266678
-	echo "ServerName ${EPREFIX}/run/cups/cups.sock" >> "${ED}"/etc/cups/client.conf
-	# Cap TLS per https://crbug.com/1088032
-	echo "MaxTLS1.2" >> "${ED}/etc/cups/client.conf"
-
-	# the following file is now provided by cups-filters:
-	rm -r "${ED}"/usr/share/cups/banners || die
-
-	# the following are created by the init script
-	rm -r "${ED}"/var/cache/cups || die
-	rm -r "${ED}"/run || die
-
-	# we're sending logs to syslog, not /var/log/cups/*
-	rmdir "${ED}"/var/log/cups || die
-
-	# CUPS tries to install these as root-only executables, for
-	# IPP/Kerberos support, and for "privileged port" listening. We don't
-	# need the former, and the latter is handled by Linux capabilities.
-	# Discussion here:
-	# http://www.cups.org/pipermail/cups/2016-February/027499.html
-	chmod 0755 "${ED}"/usr/libexec/cups/backend/{dnssd,ipp,lpd}
-
-	# Create a symbolic link from "ippusb' to the ipp backend.
-	dosym ipp /usr/libexec/cups/backend/ippusb
-
-	# Install our own conf files
-	insinto /etc/cups
-	doins "${FILESDIR}"/{cupsd,cups-files}.conf
-	if use upstart; then
-		insinto /etc/init
-		doins "${FILESDIR}"/init/cups-post-upstart-socket-bridge.conf
-		doins "${FILESDIR}"/init/cupsd.conf
-	fi
-
-	# CUPS wants the daemon user to own these
-	chown cups:cups "${ED}"/etc/cups/{cupsd.conf,cups-files.conf,ssl}
-	# CUPS also wants some specific permissions
-	chmod 640 "${ED}"/etc/cups/{cupsd,cups-files}.conf
-	chmod 700 "${ED}"/etc/cups/ssl
-
-	if use seccomp; then
-		# Install seccomp policy files.
-		insinto /usr/share/policy
-		newins "${FILESDIR}/cupsd-seccomp-${ARCH}.policy" cupsd-seccomp.policy
-		newins "${FILESDIR}/cupstestppd-seccomp-${ARCH}.policy" cupstestppd-seccomp.policy
-		newins "${FILESDIR}/lpadmin-seccomp-${ARCH}.policy" lpadmin-seccomp.policy
-		newins "${FILESDIR}/lpstat-seccomp-${ARCH}.policy" lpstat-seccomp.policy
-	else
-		sed -i '/^env seccomp_flags=/s:=.*:="":' "${ED}"/etc/init/cupsd.conf
-	fi
-
-	# Removes files and directories not used by Chrome OS.
-	rm -rv \
-		"${ED}"/usr/share/cups/ppdc/ \
-			|| die "failed to remove some directories"
-	rm -v \
-		"${ED}"/etc/cups/*.default \
-		"${ED}"/etc/cups/snmp.conf \
-		"${ED}"/usr/bin/cancel \
-		"${ED}"/usr/libexec/cups/backend/snmp \
-		"${ED}"/usr/sbin/cupsctl \
-		"${ED}"/usr/sbin/cupsreject \
-		"${ED}"/usr/sbin/lpmove \
-			|| die "failed to remove some files"
-}
diff --git a/net-print/cups/cups-2.4.0-r238.ebuild b/net-print/cups/cups-2.4.0-r238.ebuild
new file mode 100644
index 0000000..d0696db
--- /dev/null
+++ b/net-print/cups/cups-2.4.0-r238.ebuild
@@ -0,0 +1,336 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=7
+
+CROS_WORKON_COMMIT="689c1144584a06227cc879b3515337c1b2cdc6c0"
+CROS_WORKON_TREE="b066a3103dddd259c667f93ea116f7a954c0899d"
+CROS_WORKON_PROJECT="chromiumos/third_party/cups"
+CROS_WORKON_EGIT_BRANCH="chromeos"
+
+inherit cros-debug cros-workon autotools flag-o-matic multilib multilib-minimal pam user systemd toolchain-funcs cros-fuzzer cros-sanitizers tmpfiles
+
+MY_P=${P/_rc/rc}
+MY_P=${MY_P/_beta/b}
+MY_PV=${PV/_rc/rc}
+MY_PV=${MY_PV/_beta/b}
+
+KEYWORDS="*"
+
+DESCRIPTION="The Common Unix Printing System"
+HOMEPAGE="http://www.cups.org/"
+
+LICENSE="Apache-2.0"
+IUSE="acl dbus debug kerberos pam
+	+seccomp selinux +ssl static-libs systemd test +threads upstart usb X xinetd zeroconf
+	asan fuzzer"
+
+LANGS="ca cs de es fr it ja ru"
+for X in ${LANGS} ; do
+	IUSE="${IUSE} +linguas_${X}"
+done
+
+CDEPEND="
+	app-text/libpaper
+	acl? (
+		kernel_linux? (
+			sys-apps/acl
+			sys-apps/attr
+		)
+	)
+	dbus? ( >=sys-apps/dbus-1.6.18-r1[${MULTILIB_USEDEP}] )
+	kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
+	!net-print/lprng
+	pam? ( virtual/pam )
+	ssl? (
+		>=dev-libs/libgcrypt-1.5.3:0[${MULTILIB_USEDEP}]
+		>=net-libs/gnutls-2.12.23-r6[${MULTILIB_USEDEP}]
+	)
+	systemd? ( sys-apps/systemd )
+	usb? ( virtual/libusb:1 )
+	X? ( x11-misc/xdg-utils )
+	xinetd? ( sys-apps/xinetd )
+	zeroconf? ( >=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}] )
+	abi_x86_32? (
+		!<=app-emulation/emul-linux-x86-baselibs-20140508
+		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+	)
+"
+
+DEPEND="${CDEPEND}
+	test? (
+		dev-cpp/gtest:=
+		>=chromeos-base/libchrome-0.0.1-r31:0=[cros-debug=]
+		>=chromeos-base/libbrillo-0.0.1-r1651:=
+	)
+"
+
+BDEPEND="
+	>=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+"
+
+RDEPEND="${CDEPEND}
+	selinux? ( sec-policy/selinux-cups )
+"
+
+REQUIRED_USE="
+	usb? ( threads )
+	?? ( systemd upstart )
+"
+
+S="${WORKDIR}/${PN}-release-${MY_PV}"
+
+MULTILIB_CHOST_TOOLS=(
+	/usr/bin/cups-config
+)
+
+pkg_setup() {
+	enewgroup lp
+	enewuser lp -1 -1 -1 "lp,ippusb"
+	enewgroup lpadmin
+	enewuser lpadmin -1 -1 -1 "lpadmin,ippusb"
+	enewgroup cups
+	enewuser cups -1 -1 -1 cups
+}
+
+src_prepare() {
+	default
+
+	# Remove ".SILENT" rule for verbose output (bug 524338).
+	sed 's#^.SILENT:##g' -i "${S}"/Makedefs.in || die "sed failed"
+
+	# Fix install-sh, posix sh does not have 'function'.
+	sed 's#function gzipcp#gzipcp()#g' -i "${S}/install-sh"
+
+	AT_M4DIR=config-scripts eaclocal
+	eautoconf
+
+	# custom Makefiles
+	multilib_copy_sources
+}
+
+multilib_src_configure() {
+	sanitizers-setup-env
+
+	export DSOFLAGS="${LDFLAGS}"
+
+	local myconf=()
+
+	if tc-is-static-only; then
+		myconf+=(
+			--disable-shared
+		)
+	fi
+
+	# engages the Chrome-OS-specific "minimal" build.
+	# We perform further cleanup in multilib_src_install_all().
+	myconf+=( "--with-components=cros-minimal" )
+
+	# The tests use googletest (C++), so make sure correct C++ version is
+	# enabled.
+	append-cxxflags -std=gnu++17
+
+	# explicitly specify compiler wrt bug 524340
+	#
+	# need to override KRB5CONFIG for proper flags
+	# https://www.cups.org/str.php?L4423
+	econf \
+		CC="$(tc-getCC)" \
+		CXX="$(tc-getCXX)" \
+		LIBS="-lstdc++" \
+		KRB5CONFIG="${EPREFIX}/usr/bin/${CHOST}-krb5-config" \
+		PKGCONFIG="$(tc-getPKG_CONFIG)" \
+		--libdir="${EPREFIX}/usr/$(get_libdir)" \
+		--localstatedir="${EPREFIX}"/var \
+		--with-rundir="${EPREFIX}"/run/cups \
+		--with-printerroot="${EPREFIX}"/var/cache/cups/printers \
+		--with-cups-user=nobody \
+		--with-cups-group=cups \
+		--with-docdir="${EPREFIX}"/usr/share/cups/html \
+		--with-languages="${LINGUAS}" \
+		--with-system-groups=lpadmin \
+		--with-xinetd=/etc/xinetd.d \
+		"$(multilib_native_use_enable acl)" \
+		$(use_enable dbus) \
+		$(use_enable debug) \
+		$(use_enable debug debug-guards) \
+		$(use_enable debug debug-printfs) \
+		$(use_enable kerberos gssapi) \
+		"$(multilib_native_use_enable pam)" \
+		$(use_enable static-libs static) \
+		$(use_enable threads) \
+		$(use_with ssl tls gnutls) \
+		$(use_with systemd ondemand systemd) \
+		$(use_with upstart ondemand upstart) \
+		"$(multilib_native_use_enable usb libusb)" \
+		--without-dnssd \
+		--disable-localization \
+		"$(multilib_is_native_abi && echo --enable-libpaper || echo --disable-libpaper)" \
+		"${myconf[@]}"
+
+	# install in /usr/libexec always, instead of using /usr/lib/cups, as that
+	# makes more sense when facing multilib support.
+	sed -i -e "s:SERVERBIN.*:SERVERBIN = \"\$\(BUILDROOT\)${EPREFIX}/usr/libexec/cups\":" Makedefs || die
+	sed -i -e "s:#define CUPS_SERVERBIN.*:#define CUPS_SERVERBIN \"${EPREFIX}/usr/libexec/cups\":" config.h || die
+	sed -i -e "s:cups_serverbin=.*:cups_serverbin=\"${EPREFIX}/usr/libexec/cups\":" cups-config || die
+}
+
+multilib_src_compile() {
+	if multilib_is_native_abi; then
+		default
+		if use test; then
+			tc-export PKG_CONFIG
+			cros-debug-add-NDEBUG
+			emake compile-test
+		fi
+	else
+		emake libs
+	fi
+}
+
+multilib_src_test() {
+	multilib_is_native_abi || return 0
+	local tests=(
+		./cups/googletests
+		./scheduler/googletests
+	)
+	local t
+
+	if use cros_host; then
+		test_args=( --host )
+	else
+		test_args=( --sysroot="${SYSROOT}" )
+	fi
+
+	for t in "${tests[@]}"; do
+		ASAN_OPTIONS=log_path=stderr \
+		UBSAN_OPTIONS=print_stacktrace=1:log_path=stderr \
+		/mnt/host/source/src/platform2/common-mk/platform2_test.py \
+		"${test_args[@]}" -- "${t}" || die "${t} failed"
+	done
+}
+
+multilib_src_install() {
+	# Set STRIPPROG to a no-op so we can use portage split debug instead.
+	if multilib_is_native_abi; then
+		emake BUILDROOT="${D}" STRIPPROG=true install
+	else
+		emake BUILDROOT="${D}" STRIPPROG=true install-libs install-headers
+		dobin cups-config
+	fi
+}
+
+multilib_src_install_all() {
+	# install tmpfiles.d
+	dotmpfiles "${FILESDIR}/tmpfiles.d/cupsd.conf"
+	insinto /usr/lib/tmpfiles.d/on-demand/
+	doins "${FILESDIR}/tmpfiles.d/on-demand/"*.conf
+
+	# move the default config file to docs
+	dodoc "${ED}"/etc/cups/cupsd.conf.default
+	rm -f "${ED}"/etc/cups/cupsd.conf.default
+
+	# clean out cups init scripts
+	rm -rf "${ED}"/etc/{init.d/cups,rc*,pam.d/cups}
+
+	# install our init script
+	local neededservices
+	use zeroconf && neededservices+=" avahi-daemon"
+	use dbus && neededservices+=" dbus"
+	[[ -n ${neededservices} ]] && neededservices="need${neededservices}"
+	cp "${FILESDIR}"/cupsd.init.d-r1 "${T}"/cupsd || die
+	sed -i \
+		-e "s/@neededservices@/${neededservices}/" \
+		"${T}"/cupsd || die
+	doinitd "${T}"/cupsd
+
+	# install our pam script
+	pamd_mimic_system cups auth account
+
+	if use xinetd ; then
+		# correct path
+		sed -i \
+			-e "s:server = .*:server = /usr/libexec/cups/daemon/cups-lpd:" \
+			"${ED}"/etc/xinetd.d/cups-lpd || die
+		# it is safer to disable this by default, bug #137130
+		grep -w 'disable' "${ED}"/etc/xinetd.d/cups-lpd || \
+			{ sed -i -e "s:}:\tdisable = yes\n}:" "${ED}"/etc/xinetd.d/cups-lpd || die ; }
+		# write permission for file owner (root), bug #296221
+		fperms u+w /etc/xinetd.d/cups-lpd || die "fperms failed"
+	else
+		# always configure with --with-xinetd= and clean up later,
+		# bug #525604
+		rm -rf "${ED}"/etc/xinetd.d
+	fi
+
+	keepdir /usr/libexec/cups/driver /usr/share/cups/{model,profiles} \
+		/var/spool/cups/tmp
+
+	keepdir /etc/cups/{interfaces,ppd,ssl}
+
+	# create /etc/cups/client.conf, bug #196967 and #266678
+	echo "ServerName ${EPREFIX}/run/cups/cups.sock" >> "${ED}"/etc/cups/client.conf
+	# Cap TLS per https://crbug.com/1088032
+	echo "MaxTLS1.2" >> "${ED}/etc/cups/client.conf"
+
+	# the following file is now provided by cups-filters:
+	rm -r "${ED}"/usr/share/cups/banners || die
+
+	# the following are created by the init script
+	rm -r "${ED}"/var/cache/cups || die
+	rm -r "${ED}"/run || die
+
+	# we're sending logs to syslog, not /var/log/cups/*
+	rmdir "${ED}"/var/log/cups || die
+
+	# CUPS tries to install these as root-only executables, for
+	# IPP/Kerberos support, and for "privileged port" listening. We don't
+	# need the former, and the latter is handled by Linux capabilities.
+	# Discussion here:
+	# http://www.cups.org/pipermail/cups/2016-February/027499.html
+	chmod 0755 "${ED}"/usr/libexec/cups/backend/{dnssd,ipp,lpd}
+
+	# Create a symbolic link from "ippusb' to the ipp backend.
+	dosym ipp /usr/libexec/cups/backend/ippusb
+
+	# Install our own conf files
+	insinto /etc/cups
+	doins "${FILESDIR}"/{cupsd,cupsd-debug,cups-files}.conf
+	if use upstart; then
+		insinto /etc/init
+		doins "${FILESDIR}"/init/cups-post-upstart-socket-bridge.conf
+		doins "${FILESDIR}"/init/cupsd.conf
+	fi
+
+	# CUPS wants the daemon user to own these
+	chown cups:cups "${ED}"/etc/cups/{cupsd.conf,cups-files.conf,ssl}
+	# CUPS also wants some specific permissions
+	chmod 640 "${ED}"/etc/cups/{cupsd,cups-files}.conf
+	chmod 700 "${ED}"/etc/cups/ssl
+
+	if use seccomp; then
+		# Install seccomp policy files.
+		insinto /usr/share/policy
+		newins "${FILESDIR}/cupsd-seccomp-${ARCH}.policy" cupsd-seccomp.policy
+		newins "${FILESDIR}/cupstestppd-seccomp-${ARCH}.policy" cupstestppd-seccomp.policy
+		newins "${FILESDIR}/lpadmin-seccomp-${ARCH}.policy" lpadmin-seccomp.policy
+		newins "${FILESDIR}/lpstat-seccomp-${ARCH}.policy" lpstat-seccomp.policy
+	else
+		sed -i '/^env seccomp_flags=/s:=.*:="":' "${ED}"/etc/init/cupsd.conf
+	fi
+
+	# Removes files and directories not used by Chrome OS.
+	rm -rv \
+		"${ED}"/usr/share/cups/ppdc/ \
+			|| die "failed to remove some directories"
+	rm -v \
+		"${ED}"/etc/cups/*.default \
+		"${ED}"/etc/cups/snmp.conf \
+		"${ED}"/usr/bin/cancel \
+		"${ED}"/usr/libexec/cups/backend/snmp \
+		"${ED}"/usr/sbin/cupsctl \
+		"${ED}"/usr/sbin/cupsreject \
+		"${ED}"/usr/sbin/lpmove \
+			|| die "failed to remove some files"
+}
diff --git a/net-print/cups/cups-9999.ebuild b/net-print/cups/cups-9999.ebuild
index b9cfd65..6d0576e 100644
--- a/net-print/cups/cups-9999.ebuild
+++ b/net-print/cups/cups-9999.ebuild
@@ -7,7 +7,7 @@
 CROS_WORKON_PROJECT="chromiumos/third_party/cups"
 CROS_WORKON_EGIT_BRANCH="chromeos"
 
-inherit cros-debug cros-workon libchrome-version autotools flag-o-matic multilib multilib-minimal pam user systemd toolchain-funcs cros-fuzzer cros-sanitizers tmpfiles
+inherit cros-debug cros-workon autotools flag-o-matic multilib multilib-minimal pam user systemd toolchain-funcs cros-fuzzer cros-sanitizers tmpfiles
 
 MY_P=${P/_rc/rc}
 MY_P=${MY_P/_beta/b}
@@ -113,9 +113,6 @@
 
 	export DSOFLAGS="${LDFLAGS}"
 
-	einfo LANGS=\"${LANGS}\"
-	einfo LINGUAS=\"${LINGUAS}\"
-
 	local myconf=()
 
 	if tc-is-static-only; then
@@ -142,7 +139,7 @@
 		LIBS="-lstdc++" \
 		KRB5CONFIG="${EPREFIX}/usr/bin/${CHOST}-krb5-config" \
 		PKGCONFIG="$(tc-getPKG_CONFIG)" \
-		--libdir="${EPREFIX}"/usr/$(get_libdir) \
+		--libdir="${EPREFIX}/usr/$(get_libdir)" \
 		--localstatedir="${EPREFIX}"/var \
 		--with-rundir="${EPREFIX}"/run/cups \
 		--with-printerroot="${EPREFIX}"/var/cache/cups/printers \
@@ -152,22 +149,22 @@
 		--with-languages="${LINGUAS}" \
 		--with-system-groups=lpadmin \
 		--with-xinetd=/etc/xinetd.d \
-		$(multilib_native_use_enable acl) \
+		"$(multilib_native_use_enable acl)" \
 		$(use_enable dbus) \
 		$(use_enable debug) \
 		$(use_enable debug debug-guards) \
 		$(use_enable debug debug-printfs) \
 		$(use_enable kerberos gssapi) \
-		$(multilib_native_use_enable pam) \
+		"$(multilib_native_use_enable pam)" \
 		$(use_enable static-libs static) \
 		$(use_enable threads) \
 		$(use_with ssl tls gnutls) \
 		$(use_with systemd ondemand systemd) \
 		$(use_with upstart ondemand upstart) \
-		$(multilib_native_use_enable usb libusb) \
+		"$(multilib_native_use_enable usb libusb)" \
 		--without-dnssd \
 		--disable-localization \
-		$(multilib_is_native_abi && echo --enable-libpaper || echo --disable-libpaper) \
+		"$(multilib_is_native_abi && echo --enable-libpaper || echo --disable-libpaper)" \
 		"${myconf[@]}"
 
 	# install in /usr/libexec always, instead of using /usr/lib/cups, as that
@@ -183,7 +180,6 @@
 		if use test; then
 			tc-export PKG_CONFIG
 			cros-debug-add-NDEBUG
-			export BASE_VER="$(libchrome_ver)"
 			emake compile-test
 		fi
 	else
@@ -214,10 +210,11 @@
 }
 
 multilib_src_install() {
+	# Set STRIPPROG to a no-op so we can use portage split debug instead.
 	if multilib_is_native_abi; then
-		emake BUILDROOT="${D}" install
+		emake BUILDROOT="${D}" STRIPPROG=true install
 	else
-		emake BUILDROOT="${D}" install-libs install-headers
+		emake BUILDROOT="${D}" STRIPPROG=true install-libs install-headers
 		dobin cups-config
 	fi
 }
@@ -242,7 +239,7 @@
 	[[ -n ${neededservices} ]] && neededservices="need${neededservices}"
 	cp "${FILESDIR}"/cupsd.init.d-r1 "${T}"/cupsd || die
 	sed -i \
-		-e "s/@neededservices@/$neededservices/" \
+		-e "s/@neededservices@/${neededservices}/" \
 		"${T}"/cupsd || die
 	doinitd "${T}"/cupsd
 
@@ -297,7 +294,7 @@
 
 	# Install our own conf files
 	insinto /etc/cups
-	doins "${FILESDIR}"/{cupsd,cups-files}.conf
+	doins "${FILESDIR}"/{cupsd,cupsd-debug,cups-files}.conf
 	if use upstart; then
 		insinto /etc/init
 		doins "${FILESDIR}"/init/cups-post-upstart-socket-bridge.conf
diff --git a/net-print/cups/files/chromeos-version.sh b/net-print/cups/files/chromeos-version.sh
index 7b9a582..0dd5b9d 100755
--- a/net-print/cups/files/chromeos-version.sh
+++ b/net-print/cups/files/chromeos-version.sh
@@ -8,4 +8,5 @@
 # the package, and it prints a string on stdout with the numerical version
 # number for said repo.
 
-echo 2.3.3
+exec gawk -F, '$1 ~ /^AC_INIT/ { print gensub(/[][, ]/, "", "g", $2); exit }' \
+  "$1/configure.ac"
diff --git a/net-print/cups/files/cupsd-debug.conf b/net-print/cups/files/cupsd-debug.conf
new file mode 100644
index 0000000..94a6117
--- /dev/null
+++ b/net-print/cups/files/cupsd-debug.conf
@@ -0,0 +1,140 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+#
+# Debug configuration file for the CUPS scheduler.
+# Keep this file in sync with cupsd.conf
+#
+
+# Log general information in error_log - change "warn" to "debug"
+# for troubleshooting...
+LogLevel debug
+PageLogFormat
+
+# Only listen for connections from the local machine.
+Listen /run/cups/cups.sock
+
+# Don't show shared printers on the local network.
+Browsing No
+#BrowseLocalProtocols dnssd
+
+# Default authentication type, when authentication is required...
+DefaultAuthType Basic
+
+# Web interface setting...
+WebInterface No
+
+# On errors, discard the job
+ErrorPolicy abort-job
+
+# Don't keep job files after printing
+PreserveJobFiles No
+# Keep job history to accurately report status
+PreserveJobHistory Yes
+
+# Restrict access to the server...
+<Location />
+  Order allow,deny
+</Location>
+
+# Restrict access to the admin pages...
+<Location /admin>
+  Order allow,deny
+</Location>
+
+# Restrict access to configuration files...
+<Location /admin/conf>
+  AuthType Default
+  Require user @SYSTEM
+  Order allow,deny
+</Location>
+
+# Set the default printer/job policies...
+<Policy default>
+  # Job/subscription privacy...
+  JobPrivateAccess default
+  JobPrivateValues default
+  SubscriptionPrivateAccess default
+  SubscriptionPrivateValues default
+
+  # Job-related operations must be done by the owner or an administrator...
+  <Limit Create-Job Print-Job Print-URI Validate-Job>
+    Order deny,allow
+  </Limit>
+
+  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
+    Require user @OWNER @SYSTEM
+    Order deny,allow
+  </Limit>
+
+  # All administration operations require an administrator to authenticate...
+  <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
+    AuthType Default
+    Require user @SYSTEM
+    Order deny,allow
+  </Limit>
+
+  # All printer operations require a printer operator to authenticate...
+  <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
+    AuthType Default
+    Require user @SYSTEM
+    Order deny,allow
+  </Limit>
+
+  # Only the owner or an administrator can cancel or authenticate a job...
+  <Limit Cancel-Job CUPS-Authenticate-Job>
+    Require user @OWNER @SYSTEM
+    Order deny,allow
+  </Limit>
+
+  <Limit All>
+    Order deny,allow
+  </Limit>
+</Policy>
+
+# Set the authenticated printer/job policies...
+<Policy authenticated>
+  # Job/subscription privacy...
+  JobPrivateAccess default
+  JobPrivateValues default
+  SubscriptionPrivateAccess default
+  SubscriptionPrivateValues default
+
+  # Job-related operations must be done by the owner or an administrator...
+  <Limit Create-Job Print-Job Print-URI Validate-Job>
+    AuthType Default
+    Order deny,allow
+  </Limit>
+
+  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
+    AuthType Default
+    Require user @OWNER @SYSTEM
+    Order deny,allow
+  </Limit>
+
+  # All administration operations require an administrator to authenticate...
+  <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
+    AuthType Default
+    Require user @SYSTEM
+    Order deny,allow
+  </Limit>
+
+  # All printer operations require a printer operator to authenticate...
+  <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
+    AuthType Default
+    Require user @SYSTEM
+    Order deny,allow
+  </Limit>
+
+  # Only the owner or an administrator can cancel or authenticate a job...
+  <Limit Cancel-Job CUPS-Authenticate-Job>
+    AuthType Default
+    Require user @OWNER @SYSTEM
+    Order deny,allow
+  </Limit>
+
+  <Limit All>
+    Order deny,allow
+  </Limit>
+</Policy>
diff --git a/net-print/cups/files/cupsd-seccomp-amd64.policy b/net-print/cups/files/cupsd-seccomp-amd64.policy
index 922ecd8..1c5bcac 100644
--- a/net-print/cups/files/cupsd-seccomp-amd64.policy
+++ b/net-print/cups/files/cupsd-seccomp-amd64.policy
@@ -1,6 +1,9 @@
 # Copyright 2016 The Chromium OS Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 accept: 1
 access: 1
 arch_prctl: 1
diff --git a/net-print/cups/files/cupsd-seccomp-arm.policy b/net-print/cups/files/cupsd-seccomp-arm.policy
index ef29f63..d6fdf1e 100644
--- a/net-print/cups/files/cupsd-seccomp-arm.policy
+++ b/net-print/cups/files/cupsd-seccomp-arm.policy
@@ -1,6 +1,9 @@
 # Copyright 2016 The Chromium OS Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 accept: 1
 access: 1
 bind: 1
diff --git a/net-print/cups/files/cupsd-seccomp-arm64.policy b/net-print/cups/files/cupsd-seccomp-arm64.policy
index 29604fe..fbfe5c1 100644
--- a/net-print/cups/files/cupsd-seccomp-arm64.policy
+++ b/net-print/cups/files/cupsd-seccomp-arm64.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 accept: 1
 bind: 1
 brk: 1
@@ -94,7 +97,7 @@
 setsockopt: 1
 set_tid_address: 1
 shutdown: 1
-socket: arg0 == PF_FILE || arg0 == PF_INET || arg0 == PF_NETLINK
+socket: 1
 socketpair: 1
 statfs: 1
 sysinfo: 1
diff --git a/net-print/cups/files/cupsd-seccomp-x86.policy b/net-print/cups/files/cupsd-seccomp-x86.policy
index 63f8fc1..b5411a0 100644
--- a/net-print/cups/files/cupsd-seccomp-x86.policy
+++ b/net-print/cups/files/cupsd-seccomp-x86.policy
@@ -1,6 +1,9 @@
 # Copyright 2016 The Chromium OS Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 _newselect: 1
 accept: 1
 access: 1
diff --git a/net-print/cups/files/cupsd.conf b/net-print/cups/files/cupsd.conf
index 191900b..2e661df 100644
--- a/net-print/cups/files/cupsd.conf
+++ b/net-print/cups/files/cupsd.conf
@@ -4,6 +4,7 @@
 
 #
 # Configuration file for the CUPS scheduler.
+# Keep this file in sync with cupsd-debug.conf
 #
 
 # Log general information in error_log - change "warn" to "debug"
diff --git a/net-print/cups/files/cupstestppd-seccomp-amd64.policy b/net-print/cups/files/cupstestppd-seccomp-amd64.policy
index f14992c..cc003d4 100644
--- a/net-print/cups/files/cupstestppd-seccomp-amd64.policy
+++ b/net-print/cups/files/cupstestppd-seccomp-amd64.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 access: 1
 brk: 1
 close: 1
diff --git a/net-print/cups/files/cupstestppd-seccomp-arm.policy b/net-print/cups/files/cupstestppd-seccomp-arm.policy
index aa663f5..514442a 100644
--- a/net-print/cups/files/cupstestppd-seccomp-arm.policy
+++ b/net-print/cups/files/cupstestppd-seccomp-arm.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 _llseek: 1
 access: 1
 brk: 1
diff --git a/net-print/cups/files/cupstestppd-seccomp-arm64.policy b/net-print/cups/files/cupstestppd-seccomp-arm64.policy
index 1f43c63..541f403 100644
--- a/net-print/cups/files/cupstestppd-seccomp-arm64.policy
+++ b/net-print/cups/files/cupstestppd-seccomp-arm64.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 brk: 1
 close: 1
 execve: 1
diff --git a/net-print/cups/files/cupstestppd-seccomp-x86.policy b/net-print/cups/files/cupstestppd-seccomp-x86.policy
index 589fcda..400a051 100644
--- a/net-print/cups/files/cupstestppd-seccomp-x86.policy
+++ b/net-print/cups/files/cupstestppd-seccomp-x86.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 _llseek: 1
 access: 1
 brk: 1
@@ -34,8 +37,6 @@
 # specified directly.
 open: arg1 in O_RDONLY|O_NONBLOCK|0x10000|0x8000|0x80000
 openat: arg2 in O_RDONLY|O_NONBLOCK|0x10000|0x8000|0x80000
-open: 1
-openat: 1
 read: 1
 stat64: 1
 uname: 1
diff --git a/net-print/cups/files/lpadmin-seccomp-amd64.policy b/net-print/cups/files/lpadmin-seccomp-amd64.policy
index b772386..ef0c613 100644
--- a/net-print/cups/files/lpadmin-seccomp-amd64.policy
+++ b/net-print/cups/files/lpadmin-seccomp-amd64.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 access: 1
 arch_prctl: 1
 bind: 1
diff --git a/net-print/cups/files/lpadmin-seccomp-arm.policy b/net-print/cups/files/lpadmin-seccomp-arm.policy
index f3d1d09..c77ff77 100644
--- a/net-print/cups/files/lpadmin-seccomp-arm.policy
+++ b/net-print/cups/files/lpadmin-seccomp-arm.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 _llseek: 1
 access: 1
 bind: 1
diff --git a/net-print/cups/files/lpadmin-seccomp-arm64.policy b/net-print/cups/files/lpadmin-seccomp-arm64.policy
index 40bc42a..862754b 100644
--- a/net-print/cups/files/lpadmin-seccomp-arm64.policy
+++ b/net-print/cups/files/lpadmin-seccomp-arm64.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 brk: 1
 bind: 1
 clock_gettime: 1
diff --git a/net-print/cups/files/lpadmin-seccomp-x86.policy b/net-print/cups/files/lpadmin-seccomp-x86.policy
index 2c74285..6e071a4 100644
--- a/net-print/cups/files/lpadmin-seccomp-x86.policy
+++ b/net-print/cups/files/lpadmin-seccomp-x86.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 _llseek: 1
 access: 1
 bind: 1
diff --git a/net-print/cups/files/lpstat-seccomp-amd64.policy b/net-print/cups/files/lpstat-seccomp-amd64.policy
index 74e2e32..0dcd339 100644
--- a/net-print/cups/files/lpstat-seccomp-amd64.policy
+++ b/net-print/cups/files/lpstat-seccomp-amd64.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 write: 1
 poll: 1
 recvmsg: 1
diff --git a/net-print/cups/files/lpstat-seccomp-arm.policy b/net-print/cups/files/lpstat-seccomp-arm.policy
index 38e4030..d6aeb4e 100644
--- a/net-print/cups/files/lpstat-seccomp-arm.policy
+++ b/net-print/cups/files/lpstat-seccomp-arm.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 clock_gettime: 1
 recv: 1
 poll: 1
diff --git a/net-print/cups/files/lpstat-seccomp-arm64.policy b/net-print/cups/files/lpstat-seccomp-arm64.policy
index 4829a67..7f8aa95 100644
--- a/net-print/cups/files/lpstat-seccomp-arm64.policy
+++ b/net-print/cups/files/lpstat-seccomp-arm64.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 write: 1
 poll: 1
 recvmsg: 1
diff --git a/net-print/cups_proxy/OWNERS b/net-print/cups_proxy/OWNERS
deleted file mode 100644
index c5d38b1..0000000
--- a/net-print/cups_proxy/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-include chromiumos/platform2:/cups_proxy/OWNERS
diff --git a/net-print/cups_proxy/cups_proxy-0.0.1-r256.ebuild b/net-print/cups_proxy/cups_proxy-0.0.1-r256.ebuild
deleted file mode 100644
index 11c8b5b..0000000
--- a/net-print/cups_proxy/cups_proxy-0.0.1-r256.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "aac6d6c99cfdda309e86c5f57afc991694f85c18" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="../platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk cups_proxy .gn"
-
-PLATFORM_SUBDIR="cups_proxy"
-
-inherit tmpfiles cros-workon platform user
-
-DESCRIPTION="CUPS Proxy Daemon for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/cups_proxy/"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="
-	chromeos-base/libbrillo:=
-	net-libs/libmicrohttpd:=
-	"
-
-DEPEND="${RDEPEND}
-	"
-
-pkg_preinst() {
-	enewuser cups-proxy
-	enewgroup cups-proxy
-}
-
-src_install() {
-	dobin "${OUT}"/cups_proxy
-
-	# Install upstart configuration.
-	insinto /etc/init
-	doins init/*.conf
-
-	dotmpfiles tmpfiles.d/*.conf
-
-	# Install seccomp policy file.
-	insinto /usr/share/policy
-	newins "seccomp/cups_proxy-seccomp-${ARCH}.policy" cups_proxy-seccomp.policy
-
-	# Install D-Bus configuration file.
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.CupsProxyDaemon.conf
-
-	# Install D-Bus service activation configuration.
-	insinto /usr/share/dbus-1/system-services
-	doins dbus/org.chromium.CupsProxyDaemon.service
-}
diff --git a/net-print/cups_proxy/cups_proxy-0.0.1-r318.ebuild b/net-print/cups_proxy/cups_proxy-0.0.1-r318.ebuild
new file mode 100644
index 0000000..f11c013
--- /dev/null
+++ b/net-print/cups_proxy/cups_proxy-0.0.1-r318.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "7b0ea4ad0dd55c624cbdc60df9bfaeea9b2481a6" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk cups_proxy .gn"
+
+PLATFORM_SUBDIR="cups_proxy"
+
+inherit tmpfiles cros-workon platform user
+
+DESCRIPTION="CUPS Proxy Daemon for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cups_proxy/"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND="
+	chromeos-base/libbrillo:=
+	net-libs/libmicrohttpd:=
+	"
+
+DEPEND="${RDEPEND}
+	"
+
+pkg_preinst() {
+	enewuser cups-proxy
+	enewgroup cups-proxy
+}
+
+src_install() {
+	dobin "${OUT}"/cups_proxy
+
+	# Install upstart configuration.
+	insinto /etc/init
+	doins init/*.conf
+
+	dotmpfiles tmpfiles.d/*.conf
+
+	# Install seccomp policy file.
+	insinto /usr/share/policy
+	newins "seccomp/cups_proxy-seccomp-${ARCH}.policy" cups_proxy-seccomp.policy
+
+	# Install D-Bus configuration file.
+	insinto /etc/dbus-1/system.d
+	doins dbus/org.chromium.CupsProxyDaemon.conf
+
+	# Install D-Bus service activation configuration.
+	insinto /usr/share/dbus-1/system-services
+	doins dbus/org.chromium.CupsProxyDaemon.service
+}
diff --git a/net-print/cups_proxy/cups_proxy-9999.ebuild b/net-print/cups_proxy/cups_proxy-9999.ebuild
index 3591500..acb3252 100644
--- a/net-print/cups_proxy/cups_proxy-9999.ebuild
+++ b/net-print/cups_proxy/cups_proxy-9999.ebuild
@@ -14,7 +14,7 @@
 inherit tmpfiles cros-workon platform user
 
 DESCRIPTION="CUPS Proxy Daemon for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/cups_proxy/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cups_proxy/"
 
 LICENSE="BSD-Google"
 SLOT="0"
diff --git a/net-print/cups_proxy/files/revision_bump b/net-print/cups_proxy/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/net-print/cups_proxy/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/net-print/dymo-cups-drivers/OWNERS b/net-print/dymo-cups-drivers/OWNERS
deleted file mode 100644
index c5d38b1..0000000
--- a/net-print/dymo-cups-drivers/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-include chromiumos/platform2:/cups_proxy/OWNERS
diff --git a/net-print/dymo-cups-drivers/dymo-cups-drivers-1.4.0-r3.ebuild b/net-print/dymo-cups-drivers/dymo-cups-drivers-1.4.0-r4.ebuild
similarity index 100%
rename from net-print/dymo-cups-drivers/dymo-cups-drivers-1.4.0-r3.ebuild
rename to net-print/dymo-cups-drivers/dymo-cups-drivers-1.4.0-r4.ebuild
diff --git a/net-print/dymo-cups-drivers/files/port_to_newer_cups_headers.patch b/net-print/dymo-cups-drivers/files/port_to_newer_cups_headers.patch
index 4abcb94..676809a 100644
--- a/net-print/dymo-cups-drivers/files/port_to_newer_cups_headers.patch
+++ b/net-print/dymo-cups-drivers/files/port_to_newer_cups_headers.patch
@@ -18,11 +18,12 @@
  #CUPS_LIBS="-lcups -lcupsimage"
 --- a/src/common/CupsFilter.h
 +++ b/src/common/CupsFilter.h
-@@ -23,6 +23,7 @@
+@@ -23,6 +23,8 @@
  
  #include <cups/cups.h>
  #include <cups/raster.h>
 +#include <cups/ppd.h>
++#include <algorithm>
  #include <memory>
  #include <string>
  #include "CupsPrintEnvironment.h"
diff --git a/net-print/epson-inkjet-printer-escpr/Manifest b/net-print/epson-inkjet-printer-escpr/Manifest
index c7a6097..d74f733 100644
--- a/net-print/epson-inkjet-printer-escpr/Manifest
+++ b/net-print/epson-inkjet-printer-escpr/Manifest
@@ -1 +1 @@
-DIST epson-inkjet-printer-escpr-1.7.6-1lsb3.2.tar.gz 4751448 BLAKE2B 8c1412b74baaea41ee0a22ad4f4a78380000161b402458e2e18e773cd67b2cdfefc89ca9b2ccba4aed4d0d70becf508b9500a1ea537b9e9e68ef8f60d62b43ba SHA512 20a4776e1e0f3f9df21952547f4c907db0eebc563dd33d4120594b3b1298292cd188cefbf04201bc1b4a403ef17f128cc407ccb731400f9040dacdea52b70805
+DIST epson-inkjet-printer-escpr-1.7.18-1lsb3.2.tar.gz 5198943 BLAKE2B 393fb032e4cd6d5bf86cfa72996f3d7cd3475438f405e04def09711561494603a0985826b91083d9ad7302e2ca930715c769cebd9aeb98ee6524f25464aacff7 SHA512 120d1a9415e85032016b1c045e569f4f4864bf464b7106a2ab5fe37681ff696bdf80c791a304b166e21f27eb9c64aab2efabdf821d5529d4b37557e1dbbe8761
diff --git a/net-print/epson-inkjet-printer-escpr/OWNERS b/net-print/epson-inkjet-printer-escpr/OWNERS
deleted file mode 100644
index c5d38b1..0000000
--- a/net-print/epson-inkjet-printer-escpr/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-include chromiumos/platform2:/cups_proxy/OWNERS
diff --git a/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.7.18-r1.ebuild b/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.7.18-r1.ebuild
new file mode 120000
index 0000000..0961664
--- /dev/null
+++ b/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.7.18-r1.ebuild
@@ -0,0 +1 @@
+epson-inkjet-printer-escpr-1.7.18.ebuild
\ No newline at end of file
diff --git a/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.7.18.ebuild b/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.7.18.ebuild
new file mode 100644
index 0000000..2e76e97
--- /dev/null
+++ b/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.7.18.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit cros-sanitizers eutils autotools
+
+DESCRIPTION="Epson Inkjet Printer Driver (ESC/P-R)"
+HOMEPAGE="http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX"
+SRC_URI="https://download3.ebz.epson.net/dsc/f/03/00/13/43/81/cbdd80826424935cef20d16be8ee5851388977a7/epson-inkjet-printer-escpr-1.7.18-1lsb3.2.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="net-print/cups"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+	"${FILESDIR}/1.6.5-warnings.patch"
+	"${FILESDIR}/${PN}-1.6.10-search-filter.patch"
+	"${FILESDIR}/${PN}-1.7.6-cupsRasterHeader.patch"
+)
+
+src_prepare() {
+	epatch "${PATCHES[@]}"
+	epatch_user
+	eautoreconf
+}
+
+src_configure() {
+	sanitizers-setup-env
+	econf --disable-shared
+
+	# Makefile calls ls to generate a file list which is included in Makefile.am
+	# Set the collation to C to avoid automake being called automatically
+	unset LC_ALL
+	export LC_COLLATE=C
+}
+
+src_install() {
+	emake -C src DESTDIR="${D}" install
+}
diff --git a/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.7.6-r7.ebuild b/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.7.6-r7.ebuild
deleted file mode 120000
index a556a23..0000000
--- a/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.7.6-r7.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-epson-inkjet-printer-escpr-1.7.6.ebuild
\ No newline at end of file
diff --git a/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.7.6.ebuild b/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.7.6.ebuild
deleted file mode 100644
index aaf55673..0000000
--- a/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.7.6.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit cros-sanitizers eutils autotools
-
-DESCRIPTION="Epson Inkjet Printer Driver (ESC/P-R)"
-HOMEPAGE="http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX"
-SRC_URI="https://download3.ebz.epson.net/dsc/f/03/00/10/33/90/13c8b802beeae061b6eb08248a0417be08484a26/epson-inkjet-printer-escpr-1.7.6-1lsb3.2.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND="net-print/cups"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
-	"${FILESDIR}/1.6.5-warnings.patch"
-	"${FILESDIR}/${PN}-1.6.10-search-filter.patch"
-	"${FILESDIR}/${PN}-1.7.6-cupsRasterHeader.patch"
-	"${FILESDIR}/${PN}-1.7.6-writeToNullFix2.patch"
-)
-
-src_prepare() {
-	epatch "${PATCHES[@]}"
-	epatch_user
-	eautoreconf
-}
-
-src_configure() {
-	sanitizers-setup-env
-	econf --disable-shared
-
-	# Makefile calls ls to generate a file list which is included in Makefile.am
-	# Set the collation to C to avoid automake being called automatically
-	unset LC_ALL
-	export LC_COLLATE=C
-}
-
-src_install() {
-	emake -C src DESTDIR="${D}" install
-}
diff --git a/net-print/epson-inkjet-printer-escpr/files/epson-inkjet-printer-escpr-1.7.6-writeToNullFix2.patch b/net-print/epson-inkjet-printer-escpr/files/epson-inkjet-printer-escpr-1.7.6-writeToNullFix2.patch
deleted file mode 100644
index 3d0ac25..0000000
--- a/net-print/epson-inkjet-printer-escpr/files/epson-inkjet-printer-escpr-1.7.6-writeToNullFix2.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-This patch fixes a bug in the original driver: write to NULL descriptor.
-
-b/182179434
-
---- a/src/wrapper.c
-+++ b/src/wrapper.c
-@@ -244,6 +244,10 @@ main (int argc, char *argv[])
- 				break;
- 			}
- 
-+			if(pfp == NULL){ // do not write anything if pipe is not open
-+				break;
-+			}
-+
- 			if(first_fwrite){//最初のfwriteだけ、ページ数を送信
- 				fwrite (&pageNum, 1, 1, pfp);
- 				first_fwrite = FALSE;
-@@ -404,7 +408,9 @@ main (int argc, char *argv[])
- 	free (page_raw);
- 	free (page_raw_cache);
- 
--	pclose (pfp);
-+	if(pfp != NULL){
-+		pclose (pfp);
-+	}
- 	cupsRasterClose (ras);
- 
- 	return 0;
diff --git a/net-print/hplip/OWNERS b/net-print/hplip/OWNERS
deleted file mode 100644
index c5d38b1..0000000
--- a/net-print/hplip/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-include chromiumos/platform2:/cups_proxy/OWNERS
diff --git a/net-print/hplip/files/hpcups_fuzzer.cc b/net-print/hplip/files/hpcups_fuzzer.cc
index 7cb3945..10a2ca9 100644
--- a/net-print/hplip/files/hpcups_fuzzer.cc
+++ b/net-print/hplip/files/hpcups_fuzzer.cc
@@ -36,7 +36,9 @@
     ppdClose(file);
     header.HWResolution[0] = 300;
     header.HWResolution[1] = 300;
-    strcpy(header.cupsString[0], "PlainNormalColor");
+    int len = sizeof(header.cupsString[0]) - 1;
+    strncpy(header.cupsString[0], "PlainNormalColor", len);
+    header.cupsString[0][len] = NULL;
     once = false;
   }
 
@@ -64,13 +66,10 @@
   const char* argv[] = {/*uri*/ "",         /*job id*/ "1",
                         /*user*/ "chronos", /*title*/ "Untitled",
                         /*copies*/ "1",     /*options*/ ""};
-  error = filter.StartPrintJob(sizeof(argv) / sizeof(argv[0]),
-                               const_cast<char**>(argv));
-  if (error) {
-    std::cerr << "filter.StartPrintJob failed: error code " << error
-              << std::endl;
-    abort();
-  }
+  // This command may fail and return a non-zero error code
+  // if the input raster header is malformed.
+  filter.StartPrintJob(sizeof(argv) / sizeof(argv[0]),
+                       const_cast<char**>(argv));
 
   return 0;
 }
diff --git a/net-print/hplip/files/hplip-3.21.8-fix-buffer-overflow-in-halftoner.patch b/net-print/hplip/files/hplip-3.21.8-fix-buffer-overflow-in-halftoner.patch
new file mode 100644
index 0000000..b88df26
--- /dev/null
+++ b/net-print/hplip/files/hplip-3.21.8-fix-buffer-overflow-in-halftoner.patch
@@ -0,0 +1,108 @@
+From: Piotr Pawliczek <pawliczek@chromium.org>
+
+Always use tempbuffer instead of the input buffer, even if numpix equals
+AdjustedInputWidth, to prevent said input buffer from overflowing because
+AdjustedInputWidth >= InputWidth.
+
+--- a/prnt/hpcups/Halftoner.cpp
++++ b/prnt/hpcups/Halftoner.cpp
+@@ -141,22 +141,19 @@ Halftoner::Halftoner
+         }
+     }
+ 
+-    if (OutputWidth[K] > AdjustedInputWidth)
+     // need to expand input data (easier than expanding bit-pixels after) on K row
++    tempBuffer = (BYTE*) new BYTE[(OutputWidth[K])];
++    if (tempBuffer == NULL)
+     {
+-        tempBuffer = (BYTE*) new BYTE[(OutputWidth[K])];
+-        if (tempBuffer == NULL)
++        goto MemoryError;
++    }
++    if (EndPlane > Y)
++    {
++        tempBuffer2 = (BYTE*) new BYTE[(OutputWidth[K])];
++        if (tempBuffer2 == NULL)
+         {
+             goto MemoryError;
+         }
+-        if (EndPlane > Y)
+-        {
+-            tempBuffer2 = (BYTE*) new BYTE[(OutputWidth[K])];
+-            if (tempBuffer2 == NULL)
+-            {
+-                goto MemoryError;
+-            }
+-        }
+     }
+ 
+     Restart();  // this zeroes buffers and sets nextraster counter
+@@ -485,21 +482,13 @@ bool Halftoner::Process
+ 
+         for (i=StartPlane; i <= EndPlane; i++)
+         {
+-            if (OutputWidth[i] > AdjustedInputWidth)
+-            {
+-                memset(tempBuffer, 0, OutputWidth[i]);  // clear it out because outwidth might be
+-                                                        // > factor*inwidth due to roundoff
+-                memcpy(tempBuffer,pbyInputKRGBRaster->rasterdata[COLORTYPE_COLOR],InputWidth);
+-                int factor = NumRows[i] * ResBoost;
+-                PixelMultiply(tempBuffer, InputWidth, factor);
+-                input=tempBuffer;
+-                numpix = OutputWidth[i];
+-            }
+-            else
+-            {
+-                input=pbyInputKRGBRaster->rasterdata[COLORTYPE_COLOR];
+-                numpix = AdjustedInputWidth;
+-            }
++            memset(tempBuffer, 0, OutputWidth[i]);  // clear it out because outwidth might be
++                                                    // > factor*inwidth due to roundoff
++            memcpy(tempBuffer,pbyInputKRGBRaster->rasterdata[COLORTYPE_COLOR],InputWidth);
++            int factor = NumRows[i] * ResBoost;
++            PixelMultiply(tempBuffer, InputWidth, factor);
++            input=tempBuffer;
++            numpix = OutputWidth[i];
+ 
+             fDitherParms[i].fNumPix = numpix;
+             fDitherParms[i].fInput = input;
+@@ -560,33 +549,20 @@ bool Halftoner::Process
+     if (pbyInputKRGBRaster->rasterdata[COLORTYPE_BLACK])
+     {
+         int factor = 1;
+-        if (OutputWidth[K] > AdjustedInputWidth)
+-        {
+-            memset(tempBuffer, 0, OutputWidth[K]);
+-            memcpy(tempBuffer,pbyInputKRGBRaster->rasterdata[COLORTYPE_BLACK],pbyInputKRGBRaster->rastersize[COLORTYPE_BLACK]);
++        memset(tempBuffer, 0, OutputWidth[K]);
++        memcpy(tempBuffer,pbyInputKRGBRaster->rasterdata[COLORTYPE_BLACK],pbyInputKRGBRaster->rastersize[COLORTYPE_BLACK]);
+ 
+-            factor = NumRows[K] * ResBoost;
+-            PixelMultiply(tempBuffer, pbyInputKRGBRaster->rastersize[COLORTYPE_BLACK], factor);
+-        }
++        factor = NumRows[K] * ResBoost;
++        PixelMultiply(tempBuffer, pbyInputKRGBRaster->rastersize[COLORTYPE_BLACK], factor);
+ 
+         //  Convert 8bit per pixel data into 1 bit per pixel data
+         memset(originalKData, 0, (pbyInputKRGBRaster->rastersize[COLORTYPE_BLACK] * factor +7)/8);
+         int curBit = 0x80, curByte = 0;
+         for (int i=0; i<pbyInputKRGBRaster->rastersize[COLORTYPE_BLACK] * factor; i++)
+         {
+-            if (OutputWidth[K] > AdjustedInputWidth)
+-            {
+-                if (tempBuffer[i])
+-                {
+-                    originalKData[curByte] |= curBit;
+-                }
+-            }
+-            else
++            if (tempBuffer[i])
+             {
+-                if (pbyInputKRGBRaster->rasterdata[COLORTYPE_BLACK][i])
+-                {
+-                    originalKData[curByte] |= curBit;
+-                }
++                originalKData[curByte] |= curBit;
+             }
+             if (curBit == 0x01)
+             {
diff --git a/net-print/hplip/files/hplip-3.21.8-fix-cupsbytesperline.patch b/net-print/hplip/files/hplip-3.21.8-fix-cupsbytesperline.patch
new file mode 100644
index 0000000..eb5f763
--- /dev/null
+++ b/net-print/hplip/files/hplip-3.21.8-fix-cupsbytesperline.patch
@@ -0,0 +1,62 @@
+From: Pranav Batra <batrapranav@chromium.org>
+
+Abort the print job if cupsBytesPerLine is greater than the size of the input
+buffer or cupsWidth for the first page is smaller than cupsWidth of a
+subsequent page. Also zero-initialize m_pPrinterBuffer.
+
+--- a/prnt/hpcups/HPCupsFilter.cpp
++++ b/prnt/hpcups/HPCupsFilter.cpp
+@@ -510,8 +510,6 @@ DRIVER_ERROR HPCupsFilter::startPage (cups_page_header2_t *cups_header)
+         dbglog("HPCUPS: returning NO_ERROR from startPage\n");
+     }
+ 
+-    m_pPrinterBuffer = new BYTE[cups_header->cupsWidth * 4 + 32];
+-
+     return NO_ERROR;
+ }
+ 
+@@ -673,8 +671,31 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster)
+ 		imageProcessor = imageProcessorCreate();
+ 	    }
+     #endif
++
++    unsigned buffer_size = 0;
++    unsigned cups_width = 0;
+     while (cupsRasterReadHeader2(cups_raster, &cups_header))
+     {
++        if (buffer_size == 0) {
++            buffer_size = cups_header.cupsWidth * 4 + 32;
++            cups_width = cups_header.cupsWidth;
++        }
++
++        // cupsBytesPerLine cannot be larger than the buffer size.
++        if (cups_header.cupsBytesPerLine > buffer_size) {
++            dbglog("ERROR: cupsBytesPerLine (%d) is larger than buffer size (%d)\n",
++                   cups_header.cupsBytesPerLine, buffer_size);
++            return SYSTEM_ERROR;
++        }
++
++        // cupsWidth cannot increase in size since the buffer allocated
++        // for the first page is reused for subsequent pages.
++        if (cups_header.cupsWidth  > cups_width) {
++            dbglog("ERROR: cupsWidth %d for page %d is larger than %d\n",
++                   cups_header.cupsWidth, current_page_number + 1, cups_width);
++            return SYSTEM_ERROR;
++        }
++
+        #ifndef DISABLE_IMAGEPROCESSOR 
+ 		   if(strncmp(m_JA.printer_platform, "ljzjstream",10) == 0){
+ 		    result = imageProcessorStartPage(imageProcessor, &cups_header);
+@@ -691,6 +712,12 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster)
+                 return JOB_CANCELED;
+             }
+ 
++            if (m_pPrinterBuffer) {
++                abort();
++            }
++
++            m_pPrinterBuffer = new BYTE[buffer_size]();
++
+             if (m_JA.pre_process_raster) {
+ 		    	// CC ToDo: Why pSwapedPagesFileName should be sent as a parameter? 
+                   	// Remove if not required to send it as parameter
diff --git a/net-print/hplip/files/hplip-3.21.8-fix-halftoner-input-buffer.patch b/net-print/hplip/files/hplip-3.21.8-fix-halftoner-input-buffer.patch
deleted file mode 100644
index 6c14f71..0000000
--- a/net-print/hplip/files/hplip-3.21.8-fix-halftoner-input-buffer.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From: Pranav Batra <batrapranav@chromium.org>
-
-Always use tempbuffer instead of the input buffer, even if numpix equals
-AdjustedInputWidth, to prevent said input buffer from overflowing because
-AdjustedInputWidth >= InputWidth.
-
---- a/prnt/hpcups/Halftoner.cpp
-+++ b/prnt/hpcups/Halftoner.cpp
-@@ -480,7 +480,6 @@ bool Halftoner::Process
- 
-         fRasterOdd        = ( 1 & nNextRaster ) ? 0 : 1;
- 
--        BYTE* input;
-         unsigned int numpix;
- 
-         for (i=StartPlane; i <= EndPlane; i++)
-@@ -492,17 +491,17 @@ bool Halftoner::Process
-                 memcpy(tempBuffer,pbyInputKRGBRaster->rasterdata[COLORTYPE_COLOR],InputWidth);
-                 int factor = NumRows[i] * ResBoost;
-                 PixelMultiply(tempBuffer, InputWidth, factor);
--                input=tempBuffer;
-                 numpix = OutputWidth[i];
-             }
-             else
-             {
--                input=pbyInputKRGBRaster->rasterdata[COLORTYPE_COLOR];
-+                memset(tempBuffer, 0, AdjustedInputWidth);
-+                memcpy(tempBuffer, pbyInputKRGBRaster->rasterdata[COLORTYPE_COLOR], InputWidth);
-                 numpix = AdjustedInputWidth;
-             }
- 
-             fDitherParms[i].fNumPix = numpix;
--            fDitherParms[i].fInput = input;
-+            fDitherParms[i].fInput = tempBuffer;
-             fDitherParms[i].fErr = ErrBuff[i];
-             fDitherParms[i].fErr++; // This is for serpentine
-             fDitherParms[i].fSymmetricFlag = true;   // Symmetric only
diff --git a/net-print/hplip/files/hplip-3.21.8-fix-tempbuffer-size-in-halftoner.patch b/net-print/hplip/files/hplip-3.21.8-fix-tempbuffer-size-in-halftoner.patch
new file mode 100644
index 0000000..3fabdc2
--- /dev/null
+++ b/net-print/hplip/files/hplip-3.21.8-fix-tempbuffer-size-in-halftoner.patch
@@ -0,0 +1,24 @@
+From: Piotr Pawliczek <pawliczek@chromium.org>
+
+The size of tempBuffer was determined by OutputWidth[K]. However, the plane K
+may be omitted and when StartPlane != K then OutputWidth[K] == 0.
+
+--- a/prnt/hpcups/Halftoner.cpp
++++ b/prnt/hpcups/Halftoner.cpp
+@@ -142,14 +142,14 @@ Halftoner::Halftoner
+     }
+ 
+     // need to expand input data (easier than expanding bit-pixels after) on K row
+-    tempBuffer = (BYTE*) new BYTE[(OutputWidth[K])];
++    tempBuffer = (BYTE*) new BYTE[(OutputWidth[StartPlane])];
+     if (tempBuffer == NULL)
+     {
+         goto MemoryError;
+     }
+     if (EndPlane > Y)
+     {
+-        tempBuffer2 = (BYTE*) new BYTE[(OutputWidth[K])];
++        tempBuffer2 = (BYTE*) new BYTE[(OutputWidth[StartPlane])];
+         if (tempBuffer2 == NULL)
+         {
+             goto MemoryError;
diff --git a/net-print/hplip/files/hplip-3.21.8-fix-uninitialized-variable-printerbuffer.patch b/net-print/hplip/files/hplip-3.21.8-fix-uninitialized-variable-printerbuffer.patch
deleted file mode 100644
index c2eedeb..0000000
--- a/net-print/hplip/files/hplip-3.21.8-fix-uninitialized-variable-printerbuffer.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-From: Paul Moy <pmoy@chromium.org>
-Zero-initialize m_pPrinterBuffer before use.
-
---- a/prnt/hpcups/HPCupsFilter.cpp
-+++ b/prnt/hpcups/HPCupsFilter.cpp
-@@ -510,7 +510,7 @@
-         dbglog("HPCUPS: returning NO_ERROR from startPage\n");
-     }
- 
--    m_pPrinterBuffer = new BYTE[cups_header->cupsWidth * 4 + 32];
-+    m_pPrinterBuffer = new BYTE[cups_header->cupsWidth * 4 + 32]();
- 
-     return NO_ERROR;
- }
\ No newline at end of file
diff --git a/net-print/hplip/hplip-3.21.8-r7.ebuild b/net-print/hplip/hplip-3.21.8-r10.ebuild
similarity index 100%
rename from net-print/hplip/hplip-3.21.8-r7.ebuild
rename to net-print/hplip/hplip-3.21.8-r10.ebuild
diff --git a/net-print/hplip/hplip-3.21.8.ebuild b/net-print/hplip/hplip-3.21.8.ebuild
index 4c22e26..2e136c7 100644
--- a/net-print/hplip/hplip-3.21.8.ebuild
+++ b/net-print/hplip/hplip-3.21.8.ebuild
@@ -9,7 +9,7 @@
 # 14 and 15 spit out a lot of warnings about subdirs
 WANT_AUTOMAKE="1.13"
 
-inherit cros-fuzzer cros-sanitizers autotools linux-info python-single-r1 readme.gentoo-r1 udev
+inherit cros-fuzzer cros-sanitizers autotools python-single-r1 readme.gentoo-r1 udev
 
 DESCRIPTION="HP Linux Imaging and Printing - Print, scan, fax drivers and service tools"
 HOMEPAGE="https://developers.hp.com/hp-linux-imaging-and-printing"
@@ -84,13 +84,11 @@
 	"${FILESDIR}/${PN}-3.19.6-fix-pixel-color-overflow.patch"
 	"${FILESDIR}/${PN}-3.21.8-disable-python.patch"
 	"${FILESDIR}/${PN}-3.21.8-fix-unpack-bits.patch"
-	"${FILESDIR}/${PN}-3.21.8-fix-uninitialized-variable-printerbuffer.patch"
-	"${FILESDIR}/${PN}-3.21.8-fix-halftoner-input-buffer.patch"
+	"${FILESDIR}/${PN}-3.21.8-fix-cupsbytesperline.patch"
+	"${FILESDIR}/${PN}-3.21.8-fix-buffer-overflow-in-halftoner.patch"
+	"${FILESDIR}/${PN}-3.21.8-fix-tempbuffer-size-in-halftoner.patch"
 )
 
-CONFIG_CHECK="~PARPORT ~PPDEV"
-ERROR_PARPORT="Please make sure kernel parallel port support is enabled (PARPORT and PPDEV)."
-
 #DISABLE_AUTOFORMATTING="yes"
 DOC_CONTENTS="
 For more information on setting up your printer please take
@@ -105,8 +103,6 @@
 
 	use scanner && ! use X && einfo "You need USE=X for the scanner GUI."
 
-	use parport && linux-info_pkg_setup
-
 	if use minimal ; then
 		einfo "Installing driver portions only, make sure you know what you are doing."
 		einfo "Depending on the USE flags set for hpcups or hpijs the appropiate driver"
@@ -139,13 +135,6 @@
 		-e '/^Version=.*/d' \
 		-e '/^Comment=.*/d' hplip-systray.desktop.in || die
 
-	# Fix for Gentoo bug https://bugs.gentoo.org/show_bug.cgi?id=345725
-	# Upstream bug: https://bugs.launchpad.net/hplip/+bug/880847,
-	# https://bugs.launchpad.net/hplip/+bug/500086
-	local udevdir=$(get_udevdir)
-	sed -i -e "s|/etc/udev|${udevdir}|g" \
-		$(find . -type f -exec grep -l /etc/udev {} +) || die
-
 	# Force recognition of Gentoo distro by hp-check
 	sed -i \
 		-e "s:file('/etc/issue', 'r').read():'Gentoo':" \
@@ -163,77 +152,78 @@
 		fuzzer-setup-env || die
 	fi
 
-	local drv_build minimal_build
+	local drv_build=()
+	local minimal_build=()
 
 	sanitizers-setup-env
 
 	if use hpcups ; then
-		drv_build="$(use_enable hpcups hpcups-install)"
+		drv_build+=("$(use_enable hpcups hpcups-install)")
 		if use static-ppds ; then
-			drv_build="${drv_build} --enable-cups-ppd-install"
-			drv_build="${drv_build} --disable-cups-drv-install"
+			drv_build+=( --enable-cups-ppd-install )
+			drv_build+=( --disable-cups-drv-install )
 		else
-			drv_build="${drv_build} --enable-cups-drv-install"
-			drv_build="${drv_build} --disable-cups-ppd-install"
+			drv_build+=( --enable-cups-drv-install )
+			drv_build+=( --disable-cups-ppd-install )
 		fi
 	else
-		drv_build="--disable-hpcups-install"
-		drv_build="${drv_build} --disable-cups-drv-install"
-		drv_build="${drv_build} --disable-cups-ppd-install"
+		drv_build+=( --disable-hpcups-install )
+		drv_build+=( --disable-cups-drv-install )
+		drv_build+=( --disable-cups-ppd-install )
 	fi
 
 	if use hpijs ; then
-		drv_build="${drv_build} $(use_enable hpijs hpijs-install)"
+		drv_build+=(" $(use_enable hpijs hpijs-install)")
 		if use static-ppds ; then
-			drv_build="${drv_build} --enable-foomatic-ppd-install"
-			drv_build="${drv_build} --disable-foomatic-drv-install"
+			drv_build+=( --enable-foomatic-ppd-install )
+			drv_build+=( --disable-foomatic-drv-install )
 		else
-			drv_build="${drv_build} --enable-foomatic-drv-install"
-			drv_build="${drv_build} --disable-foomatic-ppd-install"
+			drv_build+=( --enable-foomatic-drv-install )
+			drv_build+=( --disable-foomatic-ppd-install )
 		fi
 	else
-		drv_build="${drv_build} --disable-hpijs-install"
-		drv_build="${drv_build} --disable-foomatic-drv-install"
-		drv_build="${drv_build} --disable-foomatic-ppd-install"
+		drv_build+=( --disable-hpijs-install )
+		drv_build+=( --disable-foomatic-drv-install )
+		drv_build+=( --disable-foomatic-ppd-install )
 	fi
 
 	if use minimal ; then
 		if use hpijs ; then
-			minimal_build="--enable-hpijs-only-build"
+			minimal_build+=( --enable-hpijs-only-build )
 		else
-			minimal_build="--disable-hpijs-only-build"
+			minimal_build+=( --disable-hpijs-only-build )
 		fi
 		if use hpcups ; then
-			minimal_build="${minimal_build} --enable-hpcups-only-build"
+			minimal_build+=( --enable-hpcups-only-build )
 		else
-			minimal_build="${minimal_build} --disable-hpcups-only-build"
+			minimal_build+=( --disable-hpcups-only-build )
 		fi
-		minimal_build="${minimal_build} --disable-fax-build"
-		minimal_build="${minimal_build} --disable-network-build"
-		minimal_build="${minimal_build} --disable-scan-build"
-		minimal_build="${minimal_build} --disable-gui-build"
+		minimal_build+=( --disable-fax-build )
+		minimal_build+=( --disable-network-build )
+		minimal_build+=( --disable-scan-build )
+		minimal_build+=( --disable-gui-build )
 	else
 		if use fax ; then
-			minimal_build="${minimal_build} --enable-fax-build"
+			minimal_build+=( --enable-fax-build )
 		else
-			minimal_build="${minimal_build} --disable-fax-build"
+			minimal_build+=( --disable-fax-build )
 		fi
 		if use snmp ; then
-			minimal_build="${minimal_build} --enable-network-build"
+			minimal_build+=( --enable-network-build )
 		else
-			minimal_build="${minimal_build} --disable-network-build"
+			minimal_build+=( --disable-network-build )
 		fi
 		if use scanner ; then
-			minimal_build="${minimal_build} --enable-scan-build"
+			minimal_build+=( --enable-scan-build )
 		else
-			minimal_build="${minimal_build} --disable-scan-build"
+			minimal_build+=( --disable-scan-build )
 		fi
 		if use qt5 ; then
-			minimal_build="${minimal_build} --enable-qt5"
-			minimal_build="${minimal_build} --enable-gui-build"
+			minimal_build+=( --enable-qt5 )
+			minimal_build+=( --enable-gui-build )
 		else
-			minimal_build="${minimal_build} --disable-gui-build"
-			minimal_build="${minimal_build} --disable-qt5"
+			minimal_build+=( --disable-gui-build )
+			minimal_build+=( --disable-qt5 )
 		fi
 	fi
 
@@ -250,15 +240,15 @@
 		--disable-qt3 \
 		--disable-qt4 \
 		--disable-udev_sysfs_rules \
-		--with-cupsbackenddir=$("${cups_config}" --serverbin)/backend \
-		--with-cupsfilterdir=$("${cups_config}" --serverbin)/filter \
+		--with-cupsbackenddir="$("${cups_config}" --serverbin)"/backend \
+		--with-cupsfilterdir="$("${cups_config}" --serverbin)"/filter \
 		--with-docdir=/usr/share/doc/${PF} \
 		--with-htmldir=/usr/share/doc/${PF}/html \
 		--enable-hpps-install \
 		$(use_enable !minimal dbus-build) \
 		--disable-network-build \
-		${drv_build} \
-		${minimal_build} \
+		"${drv_build[@]}" \
+		"${minimal_build[@]}" \
 		$(use_enable doc doc-build) \
 		$(use_enable libusb0 libusb01_build) \
 		$(use_enable parport pp-build) \
diff --git a/net-print/konica-minolta-printing-license/OWNERS b/net-print/konica-minolta-printing-license/OWNERS
deleted file mode 100644
index c5d38b1..0000000
--- a/net-print/konica-minolta-printing-license/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-include chromiumos/platform2:/cups_proxy/OWNERS
diff --git a/net-print/nec-printing-license/nec-printing-license-0.1-r1.ebuild b/net-print/nec-printing-license/nec-printing-license-0.1-r1.ebuild
new file mode 120000
index 0000000..b351a3f
--- /dev/null
+++ b/net-print/nec-printing-license/nec-printing-license-0.1-r1.ebuild
@@ -0,0 +1 @@
+nec-printing-license-0.1.ebuild
\ No newline at end of file
diff --git a/net-print/nec-printing-license/nec-printing-license-0.1.ebuild b/net-print/nec-printing-license/nec-printing-license-0.1.ebuild
new file mode 100644
index 0000000..96b8fd8
--- /dev/null
+++ b/net-print/nec-printing-license/nec-printing-license-0.1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This ebuild is used to install the NEC PPD license into ChromeOS. PPDs are
+# served separately from the operating system through a static content server,
+# but in order for their associated licenses to appear in the os-credits page a
+# license must be generated from an ebuild.
+
+EAPI=7
+
+DESCRIPTION="Licenses for NEC PPD files"
+HOMEPAGE="https://jpn.nec.com/printer/laser/index.html"
+
+LICENSE="LICENSE.nec-ppds"
+SLOT="0"
+KEYWORDS="*"
diff --git a/net-print/starcupsdrv/OWNERS b/net-print/starcupsdrv/OWNERS
deleted file mode 100644
index c5d38b1..0000000
--- a/net-print/starcupsdrv/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-include chromiumos/platform2:/cups_proxy/OWNERS
diff --git a/net-print/xerox-printing-license/OWNERS b/net-print/xerox-printing-license/OWNERS
deleted file mode 100644
index c5d38b1..0000000
--- a/net-print/xerox-printing-license/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-include chromiumos/platform2:/cups_proxy/OWNERS
diff --git a/net-wireless/OWNERS b/net-wireless/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/net-wireless/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/net-wireless/bluez/bluez-5.54-r695.ebuild b/net-wireless/bluez/bluez-5.54-r695.ebuild
deleted file mode 100644
index ce17769..0000000
--- a/net-wireless/bluez/bluez-5.54-r695.ebuild
+++ /dev/null
@@ -1,181 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/bluez/bluez-4.99.ebuild,v 1.7 2012/04/15 16:53:41 maekke Exp $
-
-EAPI="7"
-# To support choosing between current and next versions, two cros-workon
-# projects are declared. During emerge, both project sources are copied to
-# their respective destination directories, and one is chosen as the
-# "working directory" in src_unpack() below based on bluez-next USE flag.
-CROS_WORKON_COMMIT=("6fff22298ed6ac6eb08200909605c1306286d92c" "6fff22298ed6ac6eb08200909605c1306286d92c" "bf09e1f048ba1c30888078b9cc71f879b7b6909d")
-CROS_WORKON_TREE=("64265b23e310e3ef237285bf1157924769852cf4" "64265b23e310e3ef237285bf1157924769852cf4" "4a213455cfbda00582da20a66b898449090d0bbc")
-CROS_WORKON_LOCALNAME=("bluez/current" "bluez/next" "bluez/upstream")
-CROS_WORKON_PROJECT=("chromiumos/third_party/bluez" "chromiumos/third_party/bluez" "chromiumos/third_party/bluez")
-CROS_WORKON_OPTIONAL_CHECKOUT=(
-	"use !bluez-next && use !bluez-upstream"
-	"use bluez-next"
-	"use bluez-upstream"
-)
-CROS_WORKON_DESTDIR=("${S}/bluez/current" "${S}/bluez/next" "${S}/bluez/upstream")
-CROS_WORKON_EGIT_BRANCH=("chromeos-5.54" "chromeos-5.54" "upstream/master")
-
-inherit autotools multilib eutils systemd udev user libchrome cros-fuzzer cros-sanitizers cros-workon flag-o-matic tmpfiles
-
-DESCRIPTION="Bluetooth Tools and System Daemons for Linux"
-HOMEPAGE="http://www.bluez.org/"
-#SRC_URI not defined because we get our source locally
-
-LICENSE="GPL-2 LGPL-2.1"
-KEYWORDS="*"
-IUSE="asan bluez-next bluez-upstream cups debug fuzzer hid2hci systemd readline bt_deprecated_tools"
-REQUIRED_USE="?? ( bluez-next bluez-upstream )"
-
-CDEPEND="
-	>=dev-libs/glib-2.14:2=
-	app-arch/bzip2:=
-	sys-apps/dbus:=
-	virtual/libudev:=
-	cups? ( net-print/cups:= )
-	readline? ( sys-libs/readline:= )
-	>=chromeos-base/metrics-0.0.1-r3152:=
-"
-DEPEND="${CDEPEND}"
-
-RDEPEND="${CDEPEND}
-	!net-wireless/bluez-hcidump
-	!net-wireless/bluez-libs
-	!net-wireless/bluez-test
-	!net-wireless/bluez-utils
-"
-BDEPEND="${CDEPEND}
-	dev-util/pkgconfig:=
-	sys-devel/flex:=
-"
-
-PATCHES=(
-	"${FILESDIR}"/bluez-hid2hci.patch
-)
-
-DOCS=( AUTHORS ChangeLog README )
-
-src_unpack() {
-	cros-workon_src_unpack
-
-	# Setting S has the effect of changing the temporary build directory
-	# here onwards. Choose "bluez/next" or "bluez/current" subdir depending on
-	# the USE flag.
-	local checkout="bluez/$(usex bluez-next next $(usex bluez-upstream upstream current))"
-	S+="/${checkout}"
-	local version="$("${FILESDIR}"/chromeos-version.sh "${S}")"
-	einfo "Using checkout ${checkout} (version ${version})"
-}
-
-src_prepare() {
-	default
-
-	eautoreconf
-
-	if use cups; then
-		sed -i \
-			-e "s:cupsdir = \$(libdir)/cups:cupsdir = $(cups-config --serverbin):" \
-			Makefile.tools Makefile.in || die
-	fi
-}
-
-src_configure() {
-	sanitizers-setup-env
-	# Workaround a global-buffer-overflow warning in asan build.
-	# See crbug.com/748216 for details.
-	if use asan; then
-		append-flags '-mllvm -asan-globals=0'
-	fi
-
-	use readline || export ac_cv_header_readline_readline_h=no
-
-	export BASE_VER="$(libchrome_ver)"
-	econf \
-		--enable-tools \
-		--localstatedir=/var \
-		$(use_enable cups) \
-		--enable-datafiles \
-		$(use_enable debug) \
-		--disable-test \
-		--enable-library \
-		--disable-systemd \
-		--disable-obex \
-		--enable-sixaxis \
-		--disable-network \
-		--disable-datafiles \
-		--enable-admin \
-		$(use_enable fuzzer) \
-		$(use_enable hid2hci) \
-		$(use_enable bt_deprecated_tools deprecated)
-}
-
-src_test() {
-	# TODO(armansito): Run unit tests for non-x86 platforms.
-	[[ "${ARCH}" == "x86" || "${ARCH}" == "amd64" ]] && \
-		emake check VERBOSE=1
-}
-
-src_install() {
-	default
-
-	dobin tools/btmgmt tools/btgatt-client tools/btgatt-server
-
-	# Install scripts
-	dobin "${FILESDIR}/dbus_send_blutooth_class.awk"
-	dobin "${FILESDIR}/get_bluetooth_device_class.sh"
-	dobin "${FILESDIR}/start_bluetoothd.sh"
-	dobin "${FILESDIR}/start_bluetoothlog.sh"
-
-	# Install init scripts.
-	if use systemd; then
-		systemd_dounit "${FILESDIR}/bluetoothd.service"
-		systemd_enable_service system-services.target bluetoothd.service
-		systemd_dotmpfilesd "${FILESDIR}/bluetoothd-directories.conf"
-	else
-		insinto /etc/init
-		newins "${FILESDIR}/${PN}-upstart.conf" bluetoothd.conf
-		newins "${FILESDIR}/bluetoothlog-upstart.conf" bluetoothlog.conf
-	fi
-
-	# Install tmpfiles.d config
-	dotmpfiles "${FILESDIR}/bluetoothlog-directories.conf"
-	dotmpfiles "${FILESDIR}/tmpfiles.d/bluez.conf"
-
-	# Install D-Bus config
-	insinto /etc/dbus-1/system.d
-	doins "${FILESDIR}/org.bluez.conf"
-
-	# Install udev files
-	udev_dorules "${FILESDIR}/99-uhid.rules"
-	udev_dorules "${FILESDIR}/99-ps3-gamepad.rules"
-	udev_dorules "${FILESDIR}/99-bluetooth-quirks.rules"
-
-	# Install the config files.
-	insinto "/etc/bluetooth"
-	doins "${FILESDIR}/main.conf"
-	doins "${FILESDIR}/input.conf"
-
-	# Install the fuzzer binaries.
-	local fuzzer_component_id="167317"
-	fuzzer_install "${S}/fuzzer/OWNERS" fuzzer/bluez_pattern_match_fuzzer \
-		--comp "${fuzzer_component_id}"
-	fuzzer_install "${S}/fuzzer/OWNERS" fuzzer/bluez_pattern_new_fuzzer \
-		--comp "${fuzzer_component_id}"
-
-	# We don't preserve /var/lib in images, so nuke anything we preseed.
-	rm -rf "${D}"/var/lib/bluetooth
-
-	rm "${D}/lib/udev/rules.d/97-bluetooth.rules"
-
-	find "${D}" -name "*.la" -delete
-}
-
-pkg_postinst() {
-	enewuser "bluetooth" "218"
-	enewgroup "bluetooth" "218"
-
-	udev_reload
-}
diff --git a/net-wireless/bluez/bluez-5.54-r809.ebuild b/net-wireless/bluez/bluez-5.54-r809.ebuild
new file mode 100644
index 0000000..6e13b27
--- /dev/null
+++ b/net-wireless/bluez/bluez-5.54-r809.ebuild
@@ -0,0 +1,198 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/bluez/bluez-4.99.ebuild,v 1.7 2012/04/15 16:53:41 maekke Exp $
+
+EAPI="7"
+# To support choosing between current and next versions, two cros-workon
+# projects are declared. During emerge, both project sources are copied to
+# their respective destination directories, and one is chosen as the
+# "working directory" in src_unpack() below based on bluez-next USE flag.
+CROS_WORKON_COMMIT=("47bf80179d186f230fd74bc99df268b027630991" "47bf80179d186f230fd74bc99df268b027630991" "06f6460cd121ec8dd7dbeffd1dcd2339c25169d1")
+CROS_WORKON_TREE=("0deb5697b60e657d6d7b4e9ab90304057794ef29" "0deb5697b60e657d6d7b4e9ab90304057794ef29" "0aae9c6b5ed24f2a9abd7d39944fee77c532fd4b")
+CROS_WORKON_LOCALNAME=("bluez/current" "bluez/next" "bluez/upstream")
+CROS_WORKON_PROJECT=("chromiumos/third_party/bluez" "chromiumos/third_party/bluez" "chromiumos/third_party/bluez")
+CROS_WORKON_OPTIONAL_CHECKOUT=(
+	"use !bluez-next && use !bluez-upstream"
+	"use bluez-next"
+	"use bluez-upstream"
+)
+CROS_WORKON_DESTDIR=("${S}/bluez/current" "${S}/bluez/next" "${S}/bluez/upstream")
+CROS_WORKON_EGIT_BRANCH=("chromeos-5.54" "chromeos-5.54" "upstream/master")
+
+inherit autotools multilib eutils systemd udev user libchrome cros-fuzzer cros-sanitizers cros-workon flag-o-matic tmpfiles
+
+DESCRIPTION="Bluetooth Tools and System Daemons for Linux"
+HOMEPAGE="http://www.bluez.org/"
+#SRC_URI not defined because we get our source locally
+
+LICENSE="GPL-2 LGPL-2.1"
+KEYWORDS="*"
+IUSE="asan bluez-next bluez-upstream cups debug fuzzer hid2hci systemd readline bt_deprecated_tools"
+IUSE="${IUSE} bluez_default_conn_int"		# b/219537522
+IUSE="${IUSE} bluez_disallow_bqr"		# b/231741170
+REQUIRED_USE="?? ( bluez-next bluez-upstream )"
+
+CDEPEND="
+	>=dev-libs/glib-2.14:2=
+	app-arch/bzip2:=
+	sys-apps/dbus:=
+	virtual/libudev:=
+	cups? ( net-print/cups:= )
+	readline? ( sys-libs/readline:= )
+	>=chromeos-base/metrics-0.0.1-r3152:=
+"
+DEPEND="${CDEPEND}"
+
+RDEPEND="${CDEPEND}
+	!net-wireless/bluez-hcidump
+	!net-wireless/bluez-libs
+	!net-wireless/bluez-test
+	!net-wireless/bluez-utils
+"
+BDEPEND="${CDEPEND}
+	sys-devel/flex:=
+"
+
+PATCHES=(
+	"${FILESDIR}"/bluez-hid2hci.patch
+)
+
+DOCS=( AUTHORS ChangeLog README )
+
+src_unpack() {
+	cros-workon_src_unpack
+
+	# Setting S has the effect of changing the temporary build directory
+	# here onwards. Choose "bluez/next" or "bluez/current" subdir depending on
+	# the USE flag.
+	local checkout="bluez/$(usex bluez-next next $(usex bluez-upstream upstream current))"
+	S+="/${checkout}"
+	local version="$("${FILESDIR}"/chromeos-version.sh "${S}")"
+	einfo "Using checkout ${checkout} (version ${version})"
+}
+
+src_prepare() {
+	default
+
+	eautoreconf
+
+	if use cups; then
+		sed -i \
+			-e "s:cupsdir = \$(libdir)/cups:cupsdir = $(cups-config --serverbin):" \
+			Makefile.tools Makefile.in || die
+	fi
+}
+
+src_configure() {
+	sanitizers-setup-env
+	# Workaround a global-buffer-overflow warning in asan build.
+	# See crbug.com/748216 for details.
+	if use asan; then
+		append-flags '-mllvm -asan-globals=0'
+	fi
+
+	use readline || export ac_cv_header_readline_readline_h=no
+
+	export BASE_VER="$(libchrome_ver)"
+	econf \
+		--enable-tools \
+		--localstatedir=/var \
+		$(use_enable cups) \
+		--enable-datafiles \
+		$(use_enable debug) \
+		--disable-test \
+		--enable-library \
+		--disable-systemd \
+		--disable-obex \
+		--enable-sixaxis \
+		--disable-network \
+		--disable-datafiles \
+		--enable-admin \
+		$(use_enable fuzzer) \
+		$(use_enable hid2hci) \
+		$(use_enable bt_deprecated_tools deprecated)
+}
+
+src_test() {
+	# TODO(armansito): Run unit tests for non-x86 platforms.
+	[[ "${ARCH}" == "x86" || "${ARCH}" == "amd64" ]] && \
+		emake check VERBOSE=1
+}
+
+src_install() {
+	default
+
+	dobin tools/btmgmt tools/btgatt-client tools/btgatt-server
+
+	# Install scripts
+	dobin "${FILESDIR}/dbus_send_blutooth_class.awk"
+	dobin "${FILESDIR}/get_bluetooth_device_class.sh"
+	dobin "${FILESDIR}/start_bluetoothd.sh"
+	dobin "${FILESDIR}/start_bluetoothlog.sh"
+	dobin "${FILESDIR}/set_bluetooth_coredump.sh"
+
+	# Install init scripts.
+	if use systemd; then
+		systemd_dounit "${FILESDIR}/bluetoothd.service"
+		systemd_enable_service system-services.target bluetoothd.service
+		systemd_dotmpfilesd "${FILESDIR}/bluetoothd-directories.conf"
+	else
+		insinto /etc/init
+		newins "${FILESDIR}/${PN}-upstart.conf" bluetoothd.conf
+		newins "${FILESDIR}/bluetoothlog-upstart.conf" bluetoothlog.conf
+	fi
+
+	# Install tmpfiles.d config
+	dotmpfiles "${FILESDIR}/bluetoothlog-directories.conf"
+	dotmpfiles "${FILESDIR}/tmpfiles.d/bluez.conf"
+
+	# Install D-Bus config
+	insinto /etc/dbus-1/system.d
+	doins "${FILESDIR}/org.bluez.conf"
+
+	# Install udev files
+	udev_dorules "${FILESDIR}/99-uhid.rules"
+	udev_dorules "${FILESDIR}/99-ps3-gamepad.rules"
+	udev_dorules "${FILESDIR}/99-bluetooth-quirks.rules"
+	udev_dorules "${FILESDIR}/99-bluetooth-devcoredump.rules"
+
+	# Install the config files.
+	cp "${FILESDIR}/main.conf" main.conf || die
+	# Some boards require the default LE connection intervals, so remove the
+	# Min/Max ConnectionInterval overrides.
+	if use bluez_default_conn_int; then
+		sed -i 's/MinConnectionInterval/#MinConnectionInterval/g' main.conf
+		sed -i 's/MaxConnectionInterval/#MaxConnectionInterval/g' main.conf
+	fi
+
+	# Temporary fix for b/231741170: don't enable BQR on specific platforms
+	# to prevent device can't suspend issue.
+	# b/236801410: Unfortunately we observe this on most platforms, so let's
+	# just disable BQR entirely.
+	sed -i 's/#DisallowBQR/DisallowBQR/g' main.conf
+
+	insinto "/etc/bluetooth"
+	doins main.conf
+	doins "${FILESDIR}/input.conf"
+
+	# Install the fuzzer binaries.
+	local fuzzer_component_id="167317"
+	fuzzer_install "${S}/fuzzer/OWNERS" fuzzer/bluez_pattern_match_fuzzer \
+		--comp "${fuzzer_component_id}"
+	fuzzer_install "${S}/fuzzer/OWNERS" fuzzer/bluez_pattern_new_fuzzer \
+		--comp "${fuzzer_component_id}"
+
+	# We don't preserve /var/lib in images, so nuke anything we preseed.
+	rm -rf "${D}"/var/lib/bluetooth
+
+	rm "${D}/lib/udev/rules.d/97-bluetooth.rules"
+
+	find "${D}" -name "*.la" -delete
+}
+
+pkg_postinst() {
+	enewuser "bluetooth" "218"
+	enewgroup "bluetooth" "218"
+
+	udev_reload
+}
diff --git a/net-wireless/bluez/bluez-9999.ebuild b/net-wireless/bluez/bluez-9999.ebuild
index bef0583..5dbe17e 100644
--- a/net-wireless/bluez/bluez-9999.ebuild
+++ b/net-wireless/bluez/bluez-9999.ebuild
@@ -26,6 +26,8 @@
 LICENSE="GPL-2 LGPL-2.1"
 KEYWORDS="~*"
 IUSE="asan bluez-next bluez-upstream cups debug fuzzer hid2hci systemd readline bt_deprecated_tools"
+IUSE="${IUSE} bluez_default_conn_int"		# b/219537522
+IUSE="${IUSE} bluez_disallow_bqr"		# b/231741170
 REQUIRED_USE="?? ( bluez-next bluez-upstream )"
 
 CDEPEND="
@@ -46,7 +48,6 @@
 	!net-wireless/bluez-utils
 "
 BDEPEND="${CDEPEND}
-	dev-util/pkgconfig:=
 	sys-devel/flex:=
 "
 
@@ -126,6 +127,7 @@
 	dobin "${FILESDIR}/get_bluetooth_device_class.sh"
 	dobin "${FILESDIR}/start_bluetoothd.sh"
 	dobin "${FILESDIR}/start_bluetoothlog.sh"
+	dobin "${FILESDIR}/set_bluetooth_coredump.sh"
 
 	# Install init scripts.
 	if use systemd; then
@@ -150,10 +152,25 @@
 	udev_dorules "${FILESDIR}/99-uhid.rules"
 	udev_dorules "${FILESDIR}/99-ps3-gamepad.rules"
 	udev_dorules "${FILESDIR}/99-bluetooth-quirks.rules"
+	udev_dorules "${FILESDIR}/99-bluetooth-devcoredump.rules"
 
 	# Install the config files.
+	cp "${FILESDIR}/main.conf" main.conf || die
+	# Some boards require the default LE connection intervals, so remove the
+	# Min/Max ConnectionInterval overrides.
+	if use bluez_default_conn_int; then
+		sed -i 's/MinConnectionInterval/#MinConnectionInterval/g' main.conf
+		sed -i 's/MaxConnectionInterval/#MaxConnectionInterval/g' main.conf
+	fi
+
+	# Temporary fix for b/231741170: don't enable BQR on specific platforms
+	# to prevent device can't suspend issue.
+	# b/236801410: Unfortunately we observe this on most platforms, so let's
+	# just disable BQR entirely.
+	sed -i 's/#DisallowBQR/DisallowBQR/g' main.conf
+
 	insinto "/etc/bluetooth"
-	doins "${FILESDIR}/main.conf"
+	doins main.conf
 	doins "${FILESDIR}/input.conf"
 
 	# Install the fuzzer binaries.
diff --git a/net-wireless/bluez/files/99-bluetooth-devcoredump.rules b/net-wireless/bluez/files/99-bluetooth-devcoredump.rules
new file mode 100644
index 0000000..6338b7d
--- /dev/null
+++ b/net-wireless/bluez/files/99-bluetooth-devcoredump.rules
@@ -0,0 +1,9 @@
+# Copyright 2022 The ChromiumOS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Give bluetoothd appropriate permissions to write to /sys/.../coredump_disabled
+# and set the default state of the bluetooth devcoredump feature.
+ACTION!="remove", SUBSYSTEM=="bluetooth", ENV{DEVTYPE}=="host", \
+	ATTR{device/coredump_disabled}=="*", \
+	PROGRAM="/usr/bin/set_bluetooth_coredump.sh $sys $devpath"
diff --git a/net-wireless/bluez/files/bluez-upstart.conf b/net-wireless/bluez/files/bluez-upstart.conf
index 652a371..758e38c 100644
--- a/net-wireless/bluez/files/bluez-upstart.conf
+++ b/net-wireless/bluez/files/bluez-upstart.conf
@@ -5,8 +5,8 @@
 description     "Start the bluetooth daemon"
 author          "chromium-os-dev@chromium.org"
 
-start on started system-services
-stop on stopping system-services
+start on started boot-services
+stop on stopping boot-services
 
 limit memlock unlimited unlimited
 
diff --git a/net-wireless/bluez/files/main.conf b/net-wireless/bluez/files/main.conf
index 4522def..b239e1d 100644
--- a/net-wireless/bluez/files/main.conf
+++ b/net-wireless/bluez/files/main.conf
@@ -62,6 +62,10 @@
 # Possible values: "dual", "bredr", "le"
 #ControllerMode = dual
 
+# Maximum number of controllers allowed to be exposed to the system.
+# Default=0 (unlimited)
+MaxControllers=1
+
 # Enables Multi Profile Specification support. This allows to specify if
 # system supports only Multiple Profiles Single Device (MPSD) configuration
 # or both Multiple Profiles Single Device (MPSD) and Multiple Profiles Multiple
@@ -109,6 +113,11 @@
 # Defaults to false.
 # Experimental = d4992530-b9ec-469f-ab01-6c481c47da1c,671b10b5-42c0-4696-9227-eb28d1b049d6,330859bc-7506-492d-9370-9a6f0614037f
 
+# Disallows quality report.
+# This is a workaround of b/231741170 and should be removed.
+# Defaults to false.
+#DisallowBQR = true
+
 [BR]
 # The following values are used to load default adapter parameters for BR/EDR.
 # BlueZ loads the values into the kernel before the adapter is powered if the
diff --git a/net-wireless/bluez/files/set_bluetooth_coredump.sh b/net-wireless/bluez/files/set_bluetooth_coredump.sh
new file mode 100644
index 0000000..36246ac
--- /dev/null
+++ b/net-wireless/bluez/files/set_bluetooth_coredump.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+# Copyright 2022 The ChromiumOS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+coredump_conf_path="/run/bluetooth/coredump_disabled"
+sys=$1
+devpath=$2
+
+# Bluetoothd will need to write into /sys/.../device/coredump_disabled to enable
+# or disable the devcoredump feature based on a chrome://flags. Give appropriate
+# permissions to write.
+/bin/chown bluetooth "${sys}/${devpath}/device/coredump_disabled"
+
+# Apply the chrome flag value if available, else disable by default.
+if test -f "${coredump_conf_path}"; then
+    /bin/cat "${coredump_conf_path}" > \
+      "${sys}/${devpath}/device/coredump_disabled"
+else
+    /bin/echo 1 > "${sys}/${devpath}/device/coredump_disabled"
+fi
diff --git a/net-wireless/bluez/files/start_bluetoothd.sh b/net-wireless/bluez/files/start_bluetoothd.sh
index a2ffbe7..9b0f382 100644
--- a/net-wireless/bluez/files/start_bluetoothd.sh
+++ b/net-wireless/bluez/files/start_bluetoothd.sh
@@ -17,6 +17,11 @@
     experimental="${experimental},a6695ace-ee7f-4fb9-881a-5fac66c629af"
 fi
 
+ll_privacy_file="/var/lib/bluetooth/bluetooth-llprivacy.experimental"
+if grep -q "enable" "${ll_privacy_file}"; then
+    experimental="${experimental},15c0a148-c273-11ea-b3de-0242ac130004"
+fi
+
 # Make a copy of main.conf to /var to make it editable
 var_conf_file="/var/lib/bluetooth/main.conf"
 cp "${conf_file}" "${var_conf_file}"
diff --git a/net-wireless/bluez/files/tmpfiles.d/bluez.conf b/net-wireless/bluez/files/tmpfiles.d/bluez.conf
index 3b32866..89365b2 100644
--- a/net-wireless/bluez/files/tmpfiles.d/bluez.conf
+++ b/net-wireless/bluez/files/tmpfiles.d/bluez.conf
@@ -9,3 +9,6 @@
 
 # For dogfood: Select which daemon to use (bluez vs floss).
 f= /var/lib/bluetooth/bluetooth-daemon.current 0740 bluetooth bluetooth
+
+# Control link layer privacy feature.
+f= /var/lib/bluetooth/bluetooth-llprivacy.experimental 0740 bluetooth bluetooth
diff --git a/net-wireless/floss/files/dbus/org.chromium.bluetooth.conf b/net-wireless/floss/files/dbus/org.chromium.bluetooth.conf
index b357631..3d0dd57 100644
--- a/net-wireless/floss/files/dbus/org.chromium.bluetooth.conf
+++ b/net-wireless/floss/files/dbus/org.chromium.bluetooth.conf
@@ -23,6 +23,7 @@
     <allow send_destination="org.chromium.bluetooth.Manager"/>
     <allow send_interface="org.chromium.bluetooth.Manager"/>
     <allow send_interface="org.chromium.bluetooth.ManagerCallback"/>
+    <allow send_interface="org.chromium.bluetooth.Suspend"/>
     <allow send_interface="org.freedesktop.DBus.ObjectManager"/>
     <allow send_interface="org.freedesktop.DBus.Properties"/>
 
@@ -40,6 +41,7 @@
     <allow send_interface="org.chromium.bluetooth.Bluetooth"/>
     <allow send_interface="org.chromium.bluetooth.BluetoothCallback"/>
     <allow send_interface="org.chromium.bluetooth.BluetoothConnectionCallback"/>
+    <allow send_interface="org.chromium.bluetooth.SuspendCallback"/>
   </policy>
 
   <policy user="chronos">
@@ -63,6 +65,11 @@
     <allow send_destination="org.chromium.bluetooth.Manager"/>
   </policy>
 
+  <!-- Allow powerd to send suspend signals to btmanagerd -->
+  <policy user="power">
+    <allow send_destination="org.chromium.bluetooth.Manager"/>
+  </policy>
+
   <policy context="default">
     <deny send_destination="org.chromium.bluetooth"/>
     <deny send_destination="org.chromium.bluetooth.Manager"/>
diff --git a/net-wireless/floss/files/revision_bump b/net-wireless/floss/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/net-wireless/floss/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/net-wireless/floss/files/sysprops.conf b/net-wireless/floss/files/sysprops.conf
new file mode 100644
index 0000000..86e6c96
--- /dev/null
+++ b/net-wireless/floss/files/sysprops.conf
@@ -0,0 +1,7 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+[Sysprops]
+#TODO (b/235218533): Re-enable LL privacy on Floss
+bluetooth.core.gap.le.privacy.enabled=false
diff --git a/net-wireless/floss/files/upstart/btadapterd.conf b/net-wireless/floss/files/upstart/btadapterd.conf
index 72ca963..ed86a9d 100644
--- a/net-wireless/floss/files/upstart/btadapterd.conf
+++ b/net-wireless/floss/files/upstart/btadapterd.conf
@@ -34,7 +34,10 @@
 end script
 
 # Set GD flags; format is INIT_gd_<>
-env GD_FLAGS="INIT_gd_hci=true"
+env GD_FLAGS="INIT_gd_hci=true INIT_gd_scanning=true INIT_gd_advertising=true"
+
+# Additional flags for `btadapterd`.
+env BTADAPTERD_FLAGS=""
 
 script
   # -u bluetooth changes user.
@@ -47,5 +50,5 @@
   exec minijail0 \
   -u bluetooth -g bluetooth -G -n \
   -c 803500 \
-  -- /usr/bin/btadapterd --hci=$HCI ${GD_FLAGS}
+  -- /usr/bin/btadapterd --hci=$HCI ${GD_FLAGS} ${BTADAPTERD_FLAGS}
 end script
diff --git a/net-wireless/floss/files/upstart/btmanagerd.conf b/net-wireless/floss/files/upstart/btmanagerd.conf
index 721c1bb..80fb889 100644
--- a/net-wireless/floss/files/upstart/btmanagerd.conf
+++ b/net-wireless/floss/files/upstart/btmanagerd.conf
@@ -5,8 +5,8 @@
 description "Bluetooth Manager"
 author "ChromeOS BT <chromeos-bt-team@google.com>"
 
-start on started system-services
-stop on stopping system-services
+start on started boot-services
+stop on stopping boot-services
 
 # Limit respawning in case of crashloop
 respawn limit 10 5
@@ -16,7 +16,14 @@
 # the cost of an interruption in Bluetooth connectivity.
 oom score -100
 
+# Additional flags for `btmanagerd`
+env BTMANAGERD_FLAGS=""
+
 script
+  # Parameters that can't be set:
+  # -e enters new network namespace. This prevents access to raw socket.
+  #
+  # Parameters that are set and what they do.
   # -u bluetooth changes user.
   # -g bluetooth changes group.
   # -G inherit bluetooth's supplementary groups.
@@ -24,27 +31,31 @@
   # -l creates IPC namespace (isolates System V IPC objects/POSIX message
   #    queues).
   # --uts enters a new UTS namespace.
-  # -e enters new network namespace.
   # --profile minimalistic-mountns sets up minimalistic mount namespace.
   #   equivalent to -v -t -r --mount-dev -P /var/empty -b / -b /proc -b /dev/log
   # -k /run,/run,tmpfs,... mounts tmpfs at /run
   # -k /var,/var,tmpfs,... mounts tmpfs at /var
   # -k /sys,/sys,tmpfs... mounts tmpfs at /sys
   # -b /run/dbus mount read-only, required for D-Bus.
-  # -b /sys/class/bluetooth mount read-only, required for hci devices.
+  # -b /sys/class mount read-only. Only /sys/class/bluetooth is needed
+  #   (it's required for hci devices), but may not exist yet when the
+  #   service starts.
   # -b /var/run/bluetooth mount read-only, required for pid files.
   # -b /var/lib/misc/ allows read-write access to select floss/bluez daemon
   # -b /var/lib/bluetooth/ allows read-write access to bluetooth config
+  # -c 3400 = cap_net_raw          (1 << 13) | cap_net_admin (1 << 12) | \
+  #           cap_net_bind_service (1 << 10)
   exec minijail0 \
-  -u bluetooth -g bluetooth -G -n -l --uts -e \
+  -u bluetooth -g bluetooth -G -n -l --uts \
   --profile minimalistic-mountns \
   -k '/run,/run,tmpfs,MS_NODEV|MS_NOEXEC|MS_NOSUID,mode=755,size=10M' \
   -k '/var,/var,tmpfs,MS_NODEV|MS_NOEXEC|MS_NOSUID,mode=755,size=10M' \
   -k '/sys,/sys,tmpfs,MS_NODEV|MS_NOEXEC|MS_NOSUID,mode=755,size=10M' \
   -b /run/dbus \
-  -b /sys/class/bluetooth \
+  -b /sys/class \
   -b /var/run/bluetooth \
   -b /var/lib/misc,,1 \
   -b /var/lib/bluetooth,,1 \
-  -- /usr/bin/btmanagerd
+  -c 'cap_net_raw+ep cap_net_admin+ep cap_net_bind_service+ep' \
+  -- /usr/bin/btmanagerd ${BTMANAGERD_FLAGS}
 end script
diff --git a/net-wireless/floss/floss-0.0.2-r1437.ebuild b/net-wireless/floss/floss-0.0.2-r1437.ebuild
new file mode 100644
index 0000000..1325c89
--- /dev/null
+++ b/net-wireless/floss/floss-0.0.2-r1437.ebuild
@@ -0,0 +1,226 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT=("dbb1136242ba822d539eaf11493f3b68815adb7f" "19ddacfca78cbce374e74fa06db41100af9e9850" "c2caeafe6e7132ab292b93e9c550f361f313041e" "68b356f2e7a8c6103eff9662d1d37d52a0f49305" "fea37ca09aae56eb5a50f45991b206f92af1e7e8")
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "ebc94095def7b9d97104e9574b06f31139765b85" "fd5985c8c7d26a91db0bef215a0ee6b974567add" "c3473ab29243f136628d4c8708ab647c15f6a411" "97c098e228b4560e214854eadb06218a4f00b2dd")
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform2"
+	"aosp/platform/packages/modules/Bluetooth"
+	"aosp/platform/packages/modules/Bluetooth"
+	"aosp/platform/frameworks/proto_logging"
+	"chromiumos/third_party/rust_crates"
+)
+CROS_WORKON_LOCALNAME=(
+	"../platform2"
+	"../aosp/packages/modules/Bluetooth/local"
+	"../aosp/packages/modules/Bluetooth/upstream"
+	"../aosp/frameworks/proto_logging"
+	"../third_party/rust_crates"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}/platform2"
+	"${S}/platform2/bt"
+	"${S}/platform2/bt"
+	"${S}/platform2/external/proto_logging"
+	"${S}/platform2/external/rust"
+)
+CROS_WORKON_SUBTREE=("common-mk .gn" "" "" "" "")
+CROS_WORKON_EGIT_BRANCH=("main" "main" "upstream/master" "master" "main")
+CROS_WORKON_OPTIONAL_CHECKOUT=(
+	""
+	"use !floss_upstream"
+	"use floss_upstream"
+	""
+	""
+)
+CROS_WORKON_INCREMENTAL_BUILD=1
+PLATFORM_SUBDIR="bt"
+
+IUSE="bt_dynlib floss_upstream"
+
+inherit cros-workon toolchain-funcs cros-rust platform tmpfiles
+
+DESCRIPTION="Bluetooth Tools and System Daemons for Linux"
+HOMEPAGE="https://android.googlesource.com/platform/packages/modules/Bluetooth"
+
+# Apache-2.0 for system/bt
+# All others from rust crates
+LICENSE="
+	Apache-2.0
+	MIT BSD ISC
+"
+
+KEYWORDS="*"
+
+#
+# TODO(b/188819708)
+# Floss continues to depend on bluez for a few things:
+#  - Several headers (bluetooth.h, l2cap.h, etc) which are used by Chrome
+#  - Bluetooth user + group are added in bluez's postinst
+#
+DEPEND="
+	chromeos-base/metrics:=
+	chromeos-base/system_api:=
+	dev-libs/flatbuffers:=
+	dev-libs/modp_b64:=
+	dev-libs/tinyxml2:=
+	dev-libs/openssl:=
+	=dev-rust/cc-1*:=
+	net-wireless/bluez
+"
+
+BDEPEND="
+	dev-libs/tinyxml2:=
+	net-wireless/floss_tools
+"
+
+RDEPEND="${DEPEND}"
+
+DOCS=( README.md )
+
+src_unpack() {
+	platform_src_unpack
+
+	# Cros rust unpack should come after platform unpack otherwise platform
+	# unpack will fail.
+	cros-rust_src_unpack
+
+	# In order to be compatible with cros-rust.eclass while also using our
+	# own vendored crates, we re-use the existing config but add a floss
+	# source and replace source.crates-io with it.
+	sed -i 's/replace-with = "chromeos"/replace-with = "floss"/' "${ECARGO_HOME}/config"
+	cat <<- EOF >> "${ECARGO_HOME}/config"
+
+	[source.floss]
+	directory = "${S}/../external/rust/vendor"
+	EOF
+}
+
+src_configure() {
+	local cxx_outdir="$(cros-workon_get_build_dir)/out/Default"
+	local rustflags=(
+		# Add C/C++ build path to linker search path
+		"-L ${cxx_outdir}"
+
+		# Add sysroot libdir to search path.
+		"-L ${SYSROOT}/usr/$(get_libdir)/"
+
+		# Also ignore multiple definitions for now (added due to some
+		# shared library shenaningans)
+		"-C link-arg=-Wl,--allow-multiple-definition"
+	)
+
+	# When using clang + asan, we need to link C++ lib. The build defaults
+	# to using -lstdc++ which fails to link.
+	use asan && rustflags+=( '-lc++' )
+
+	export EXTRA_RUSTFLAGS="${rustflags[*]}"
+	export TARGET_OS_VARIANT="chromeos"
+
+	cros-rust_src_configure
+	platform_src_configure "--target_os=chromeos"
+}
+
+copy_floss_tools() {
+	local bin_dir="/usr/bin"
+	local rust_dir="${ECARGO_HOME}/bin"
+	local cxx_dir="$(cros-workon_get_build_dir)/out/Default"
+
+	mkdir -p "${rust_dir}"
+	cp "${bin_dir}/bluetooth_packetgen" "${rust_dir}/"
+	cp "${bin_dir}/bluetooth_flatbuffer_bundler" "${rust_dir}/"
+	cp "${bin_dir}/bluetooth_packetgen" "${cxx_dir}/"
+	cp "${bin_dir}/bluetooth_flatbuffer_bundler" "${cxx_dir}/"
+}
+
+floss_build_rust() {
+	# Check if cxxflags has -fno-exceptions and set -DRUST_CXX_NO_EXCEPTIONS
+	# This is required to build the cxx rust dependency
+	if is-flagq -fno-exceptions; then
+		append-cxxflags -DRUST_CXX_NO_EXCEPTIONS
+	fi
+
+	# cc rust package requires CLANG_PATH so it uses correct clang triple
+	export CLANG_PATH="$(tc-getCC)"
+	export HOST_CFLAGS=${BUILD_CFLAGS}
+
+	# Export the source path for bindgen
+	export CXX_ROOT_PATH="${S}"
+
+	# Some Rust crates may want to depend on C++ build output to determine
+	# whether to re-run. Export this directory location so that Rust knows which
+	# directory to check C++ output.
+	export CXX_OUTDIR="$(cros-workon_get_build_dir)/out/Default"
+
+	# System API location for proto files
+	export CROS_SYSTEM_API_ROOT="${SYSROOT}/usr/include/chromeos"
+
+	cros-rust_src_compile
+}
+
+src_compile() {
+	# Copy the tools required for building the runtime to both the GN
+	# directory and the Rust bin directory.
+	copy_floss_tools
+
+	# Compile for target (generates static libs)
+	platform_src_compile
+
+	# Build rust portion (finish linking in rust)
+	floss_build_rust
+}
+
+src_install() {
+	platform_src_install
+
+	dobin "${CARGO_TARGET_DIR}/${CHOST}/release/btmanagerd"
+	dobin "${CARGO_TARGET_DIR}/${CHOST}/release/btadapterd"
+	dobin "${CARGO_TARGET_DIR}/${CHOST}/release/btclient"
+
+	if use bt_dynlib; then
+		dolib.so "${OUT}/lib/libbluetooth.so"
+	fi
+
+	# Install D-Bus config
+	insinto /etc/dbus-1/system.d
+	doins "${FILESDIR}/dbus/org.chromium.bluetooth.conf"
+
+	# Install upstart rules
+	insinto /etc/init/
+	doins "${FILESDIR}/upstart/btmanagerd.conf"
+	doins "${FILESDIR}/upstart/btadapterd.conf"
+
+	# Install sysprop config file
+	insinto /etc/bluetooth
+	doins "${FILESDIR}/sysprops.conf"
+
+	# Install tmpfiles (don't forget to update sepolicy if you change the
+	# files/folders created to something other than /var/lib/bluetooth)
+	dotmpfiles "${FILESDIR}/tmpfiles.d/floss.conf"
+}
+
+platform_pkg_test() {
+	local tests=(
+		"bluetoothtbd_test"
+		"bluetooth_test_common"
+		"net_test_avrcp"
+		"net_test_btcore"
+		"net_test_types"
+		"net_test_btm_iso"
+		# TODO(b/178740721) - This test wasn't compiling. Need to fix
+		# this and re-enable it.
+		# "net_test_btpackets"
+	)
+
+	# Run rust tests
+	# TODO(b/210127355) - Fix flaky tests and re-enable
+	# cros-rust_src_test
+
+	# TODO(b/190750167) - Re-enable once we're fully Bazel build
+	#local test_bin
+	#for test_bin in "${tests[@]}"; do
+		#platform_test run "${OUT}/${test_bin}"
+	#done
+}
diff --git a/net-wireless/floss/floss-0.0.2-r533.ebuild b/net-wireless/floss/floss-0.0.2-r533.ebuild
deleted file mode 100644
index c2f6285..0000000
--- a/net-wireless/floss/floss-0.0.2-r533.ebuild
+++ /dev/null
@@ -1,227 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_WORKON_COMMIT=("7b36ac47e88fa7b264e8fb56026ddd0142cb2597" "57622c268f271a2eafb1b2e39188c44671053389" "8c8b615ef458cfd714ba9dffecd8b03d03fd88dd" "ffa962554f12fa6942546a4a3d7f21f83f6e7ac4" "bccc6fd42e657daf043864fc28684422cdb56957")
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "b096cba1e7ed10ba05c77d634bb63a0150ed0284" "614df51bcf3ef0b0f8c01da42806aa7375983a02" "66f9d141406fd5ac2ef4f0709d11aba79363cc0f" "5da74ac655d7167f664aa6f1ca5cb51ae90a0952")
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform2"
-	"aosp/platform/packages/modules/Bluetooth"
-	"aosp/platform/packages/modules/Bluetooth"
-	"aosp/platform/frameworks/proto_logging"
-	"chromiumos/third_party/rust_crates"
-)
-CROS_WORKON_LOCALNAME=(
-	"../platform2"
-	"../aosp/packages/modules/Bluetooth/local"
-	"../aosp/packages/modules/Bluetooth/upstream"
-	"../aosp/frameworks/proto_logging"
-	"../third_party/rust_crates"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}/platform2"
-	"${S}/platform2/bt"
-	"${S}/platform2/bt"
-	"${S}/platform2/external/proto_logging"
-	"${S}/platform2/external/rust"
-)
-CROS_WORKON_SUBTREE=("common-mk .gn" "" "" "" "")
-CROS_WORKON_EGIT_BRANCH=("main" "main" "upstream/master" "master" "main")
-CROS_WORKON_OPTIONAL_CHECKOUT=(
-	""
-	"use !floss_upstream"
-	"use floss_upstream"
-	""
-	""
-)
-CROS_WORKON_INCREMENTAL_BUILD=1
-PLATFORM_SUBDIR="bt"
-
-IUSE="bt_dynlib floss_upstream"
-
-inherit cros-workon toolchain-funcs cros-rust platform tmpfiles
-
-DESCRIPTION="Bluetooth Tools and System Daemons for Linux"
-HOMEPAGE="https://android.googlesource.com/platform/system/bt/"
-
-# Apache-2.0 for system/bt
-# All others from rust crates
-LICENSE="
-	Apache-2.0
-	MIT BSD ISC
-"
-
-KEYWORDS="*"
-
-#
-# TODO(b/188819708)
-# Floss continues to depend on bluez for a few things:
-#  - Several headers (bluetooth.h, l2cap.h, etc) which are used by Chrome
-#  - Bluetooth user + group are added in bluez's postinst
-#
-DEPEND="
-	dev-libs/flatbuffers:=
-	dev-libs/modp_b64:=
-	dev-libs/tinyxml2:=
-	dev-libs/openssl:=
-	=dev-rust/cc-1*:=
-	net-wireless/bluez
-"
-
-BDEPEND="
-	dev-libs/tinyxml2:=
-"
-
-RDEPEND="${DEPEND}"
-
-DOCS=( README.md )
-
-src_unpack() {
-	platform_src_unpack
-
-	# Cros rust unpack should come after platform unpack otherwise platform
-	# unpack will fail.
-	cros-rust_src_unpack
-
-	# In order to be compatible with cros-rust.eclass while also using our
-	# own vendored crates, we re-use the existing config but add a floss
-	# source and replace source.crates-io with it.
-	sed -i 's/replace-with = "chromeos"/replace-with = "floss"/' "${ECARGO_HOME}/config"
-	cat <<- EOF >> "${ECARGO_HOME}/config"
-
-	[source.floss]
-	directory = "${S}/../external/rust/vendor"
-	EOF
-}
-
-src_configure() {
-	if tc-is-cross-compiler ; then
-		# Delete old host build folder otherwise we will continue using
-		# old binaries
-		local build_dir="$(cros-workon_get_build_dir)"
-		rm -rf "${build_dir:?}/${CBUILD}"
-
-		# Build tools and move to host directory
-		mkdir -p "${build_dir}/${CBUILD}"
-		ARCH="$(tc-arch ${CBUILD})" tc-env_build platform "configure" "--host"
-		ARCH="$(tc-arch ${CBUILD})" tc-env_build platform "compile" "tools" "--host"
-		mv "${build_dir}/out" "${build_dir}/${CBUILD}/"
-	fi
-
-	local cxx_outdir="$(cros-workon_get_build_dir)/out/Default"
-	local rustflags=(
-		# Add C/C++ build path to linker search path
-		"-L ${cxx_outdir}"
-
-		# Add sysroot libdir to search path.
-		"-L ${SYSROOT}/usr/$(get_libdir)/"
-
-		# Also ignore multiple definitions for now (added due to some
-		# shared library shenaningans)
-		"-C link-arg=-Wl,--allow-multiple-definition"
-	)
-
-	# When using clang + asan, we need to link C++ lib. The build defaults
-	# to using -lstdc++ which fails to link.
-	use asan && rustflags+=( '-lc++' )
-
-	export EXTRA_RUSTFLAGS="${rustflags[*]}"
-
-	cros-rust_src_configure
-	platform_src_configure
-}
-
-floss_build_tools() {
-	local bin_dir="$(cros-workon_get_build_dir)/out/Default/"
-	if tc-is-cross-compiler ; then
-		local host_dir="$(cros-workon_get_build_dir)/${CBUILD}/out/Default"
-		mkdir -p "${bin_dir}"
-		cp "${host_dir}/bluetooth_packetgen" "${bin_dir}"
-		cp "${host_dir}/bluetooth_flatbuffer_bundler" "${bin_dir}"
-	else
-		platform "compile" "tools" "--host"
-	fi
-
-	# Make sure packetgen is also available to rust
-	mkdir -p "${ECARGO_HOME}/bin/"
-	cp "${bin_dir}/bluetooth_packetgen" "${ECARGO_HOME}/bin/"
-}
-
-floss_build_rust() {
-	# Check if cxxflags has -fno-exceptions and set -DRUST_CXX_NO_EXCEPTIONS
-	# This is required to build the cxx rust dependency
-	if is-flagq -fno-exceptions; then
-		append-cxxflags -DRUST_CXX_NO_EXCEPTIONS
-	fi
-
-	# cc rust package requires CLANG_PATH so it uses correct clang triple
-	export CLANG_PATH="$(tc-getCC)"
-	export HOST_CFLAGS=${BUILD_CFLAGS}
-
-	# Export the source path for bindgen
-	export CXX_ROOT_PATH="${S}"
-
-	cros-rust_src_compile
-}
-
-src_compile() {
-	# Build tools required for building the runtime and copy to both the GN
-	# directory and the Rust bin directory
-	floss_build_tools
-
-	# Compile for target (generates static libs)
-	platform_src_compile
-
-	# Build rust portion (finish linking in rust)
-	floss_build_rust
-}
-
-src_install() {
-	platform_src_install
-
-	dobin "${CARGO_TARGET_DIR}/${CHOST}/release/btmanagerd"
-	dobin "${CARGO_TARGET_DIR}/${CHOST}/release/btadapterd"
-	dobin "${CARGO_TARGET_DIR}/${CHOST}/release/btclient"
-
-	if use bt_dynlib; then
-		dolib.so "${OUT}/lib/libbluetooth.so"
-	fi
-
-	# Install D-Bus config
-	insinto /etc/dbus-1/system.d
-	doins "${FILESDIR}/dbus/org.chromium.bluetooth.conf"
-
-	# Install upstart rules
-	insinto /etc/init/
-	doins "${FILESDIR}/upstart/btmanagerd.conf"
-	doins "${FILESDIR}/upstart/btadapterd.conf"
-
-	# Install tmpfiles (don't forget to update sepolicy if you change the
-	# files/folders created to something other than /var/lib/bluetooth)
-	dotmpfiles "${FILESDIR}/tmpfiles.d/floss.conf"
-}
-
-platform_pkg_test() {
-	local tests=(
-		"bluetoothtbd_test"
-		"bluetooth_test_common"
-		"net_test_avrcp"
-		"net_test_btcore"
-		"net_test_types"
-		"net_test_btm_iso"
-		# TODO(b/178740721) - This test wasn't compiling. Need to fix
-		# this and re-enable it.
-		# "net_test_btpackets"
-	)
-
-	# Run rust tests
-	# TODO(b/210127355) - Fix flaky tests and re-enable
-	# cros-rust_src_test
-
-	# TODO(b/190750167) - Re-enable once we're fully Bazel build
-	#local test_bin
-	#for test_bin in "${tests[@]}"; do
-		#platform_test run "${OUT}/${test_bin}"
-	#done
-}
diff --git a/net-wireless/floss/floss-9999.ebuild b/net-wireless/floss/floss-9999.ebuild
index bb62f11..58b494b 100644
--- a/net-wireless/floss/floss-9999.ebuild
+++ b/net-wireless/floss/floss-9999.ebuild
@@ -41,7 +41,7 @@
 inherit cros-workon toolchain-funcs cros-rust platform tmpfiles
 
 DESCRIPTION="Bluetooth Tools and System Daemons for Linux"
-HOMEPAGE="https://android.googlesource.com/platform/system/bt/"
+HOMEPAGE="https://android.googlesource.com/platform/packages/modules/Bluetooth"
 
 # Apache-2.0 for system/bt
 # All others from rust crates
@@ -59,6 +59,8 @@
 #  - Bluetooth user + group are added in bluez's postinst
 #
 DEPEND="
+	chromeos-base/metrics:=
+	chromeos-base/system_api:=
 	dev-libs/flatbuffers:=
 	dev-libs/modp_b64:=
 	dev-libs/tinyxml2:=
@@ -69,6 +71,7 @@
 
 BDEPEND="
 	dev-libs/tinyxml2:=
+	net-wireless/floss_tools
 "
 
 RDEPEND="${DEPEND}"
@@ -94,19 +97,6 @@
 }
 
 src_configure() {
-	if tc-is-cross-compiler ; then
-		# Delete old host build folder otherwise we will continue using
-		# old binaries
-		local build_dir="$(cros-workon_get_build_dir)"
-		rm -rf "${build_dir:?}/${CBUILD}"
-
-		# Build tools and move to host directory
-		mkdir -p "${build_dir}/${CBUILD}"
-		ARCH="$(tc-arch ${CBUILD})" tc-env_build platform "configure" "--host"
-		ARCH="$(tc-arch ${CBUILD})" tc-env_build platform "compile" "tools" "--host"
-		mv "${build_dir}/out" "${build_dir}/${CBUILD}/"
-	fi
-
 	local cxx_outdir="$(cros-workon_get_build_dir)/out/Default"
 	local rustflags=(
 		# Add C/C++ build path to linker search path
@@ -125,25 +115,22 @@
 	use asan && rustflags+=( '-lc++' )
 
 	export EXTRA_RUSTFLAGS="${rustflags[*]}"
+	export TARGET_OS_VARIANT="chromeos"
 
 	cros-rust_src_configure
-	platform_src_configure
+	platform_src_configure "--target_os=chromeos"
 }
 
-floss_build_tools() {
-	local bin_dir="$(cros-workon_get_build_dir)/out/Default/"
-	if tc-is-cross-compiler ; then
-		local host_dir="$(cros-workon_get_build_dir)/${CBUILD}/out/Default"
-		mkdir -p "${bin_dir}"
-		cp "${host_dir}/bluetooth_packetgen" "${bin_dir}"
-		cp "${host_dir}/bluetooth_flatbuffer_bundler" "${bin_dir}"
-	else
-		platform "compile" "tools" "--host"
-	fi
+copy_floss_tools() {
+	local bin_dir="/usr/bin"
+	local rust_dir="${ECARGO_HOME}/bin"
+	local cxx_dir="$(cros-workon_get_build_dir)/out/Default"
 
-	# Make sure packetgen is also available to rust
-	mkdir -p "${ECARGO_HOME}/bin/"
-	cp "${bin_dir}/bluetooth_packetgen" "${ECARGO_HOME}/bin/"
+	mkdir -p "${rust_dir}"
+	cp "${bin_dir}/bluetooth_packetgen" "${rust_dir}/"
+	cp "${bin_dir}/bluetooth_flatbuffer_bundler" "${rust_dir}/"
+	cp "${bin_dir}/bluetooth_packetgen" "${cxx_dir}/"
+	cp "${bin_dir}/bluetooth_flatbuffer_bundler" "${cxx_dir}/"
 }
 
 floss_build_rust() {
@@ -160,13 +147,21 @@
 	# Export the source path for bindgen
 	export CXX_ROOT_PATH="${S}"
 
+	# Some Rust crates may want to depend on C++ build output to determine
+	# whether to re-run. Export this directory location so that Rust knows which
+	# directory to check C++ output.
+	export CXX_OUTDIR="$(cros-workon_get_build_dir)/out/Default"
+
+	# System API location for proto files
+	export CROS_SYSTEM_API_ROOT="${SYSROOT}/usr/include/chromeos"
+
 	cros-rust_src_compile
 }
 
 src_compile() {
-	# Build tools required for building the runtime and copy to both the GN
-	# directory and the Rust bin directory
-	floss_build_tools
+	# Copy the tools required for building the runtime to both the GN
+	# directory and the Rust bin directory.
+	copy_floss_tools
 
 	# Compile for target (generates static libs)
 	platform_src_compile
@@ -195,6 +190,10 @@
 	doins "${FILESDIR}/upstart/btmanagerd.conf"
 	doins "${FILESDIR}/upstart/btadapterd.conf"
 
+	# Install sysprop config file
+	insinto /etc/bluetooth
+	doins "${FILESDIR}/sysprops.conf"
+
 	# Install tmpfiles (don't forget to update sepolicy if you change the
 	# files/folders created to something other than /var/lib/bluetooth)
 	dotmpfiles "${FILESDIR}/tmpfiles.d/floss.conf"
diff --git a/net-wireless/floss_tools/OWNERS b/net-wireless/floss_tools/OWNERS
new file mode 100644
index 0000000..b138a06
--- /dev/null
+++ b/net-wireless/floss_tools/OWNERS
@@ -0,0 +1,4 @@
+abhishekpandit@chromium.org
+alainm@chromium.org
+mcchou@chromium.org
+sonnysasaka@chromium.org
diff --git a/net-wireless/floss_tools/floss_tools-0.0.1-r225.ebuild b/net-wireless/floss_tools/floss_tools-0.0.1-r225.ebuild
new file mode 100644
index 0000000..752f581
--- /dev/null
+++ b/net-wireless/floss_tools/floss_tools-0.0.1-r225.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT=("dbb1136242ba822d539eaf11493f3b68815adb7f" "19ddacfca78cbce374e74fa06db41100af9e9850" "c2caeafe6e7132ab292b93e9c550f361f313041e" "68b356f2e7a8c6103eff9662d1d37d52a0f49305")
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "ebc94095def7b9d97104e9574b06f31139765b85" "fd5985c8c7d26a91db0bef215a0ee6b974567add" "c3473ab29243f136628d4c8708ab647c15f6a411")
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform2"
+	"aosp/platform/packages/modules/Bluetooth"
+	"aosp/platform/packages/modules/Bluetooth"
+	"aosp/platform/frameworks/proto_logging"
+)
+CROS_WORKON_LOCALNAME=(
+	"../platform2"
+	"../aosp/packages/modules/Bluetooth/local"
+	"../aosp/packages/modules/Bluetooth/upstream"
+	"../aosp/frameworks/proto_logging"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}/platform2"
+	"${S}/platform2/bt"
+	"${S}/platform2/bt"
+	"${S}/platform2/external/proto_logging"
+)
+CROS_WORKON_SUBTREE=("common-mk .gn" "" "" "")
+CROS_WORKON_EGIT_BRANCH=("main" "main" "upstream/master" "master")
+CROS_WORKON_OPTIONAL_CHECKOUT=(
+	""
+	"use !floss_upstream"
+	"use floss_upstream"
+	""
+)
+PLATFORM_SUBDIR="bt"
+
+IUSE="floss_upstream"
+
+WANT_LIBCHROME="no"
+WANT_LIBBRILLO="no"
+inherit cros-workon toolchain-funcs platform
+
+DESCRIPTION="Bluetooth Build Tools"
+HOMEPAGE="https://android.googlesource.com/platform/packages/modules/Bluetooth"
+
+# Apache-2.0 for system/bt
+# All others from rust crates
+LICENSE="
+	Apache-2.0
+	MIT BSD ISC
+"
+KEYWORDS="*"
+
+DEPEND=""
+BDEPEND="
+	dev-libs/tinyxml2
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+	ARCH="$(tc-arch "${CBUILD}")" tc-env_build platform "configure" "--host"
+}
+
+src_compile() {
+	ARCH="$(tc-arch "${CBUILD}")" tc-env_build platform "compile" "tools" "--host"
+}
+
+src_install() {
+	local bin_dir="$(cros-workon_get_build_dir)/out/Default/"
+	dobin "${bin_dir}/bluetooth_packetgen"
+	dobin "${bin_dir}/bluetooth_flatbuffer_bundler"
+}
diff --git a/net-wireless/floss_tools/floss_tools-9999.ebuild b/net-wireless/floss_tools/floss_tools-9999.ebuild
new file mode 100644
index 0000000..f45dd81
--- /dev/null
+++ b/net-wireless/floss_tools/floss_tools-9999.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform2"
+	"aosp/platform/packages/modules/Bluetooth"
+	"aosp/platform/packages/modules/Bluetooth"
+	"aosp/platform/frameworks/proto_logging"
+)
+CROS_WORKON_LOCALNAME=(
+	"../platform2"
+	"../aosp/packages/modules/Bluetooth/local"
+	"../aosp/packages/modules/Bluetooth/upstream"
+	"../aosp/frameworks/proto_logging"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}/platform2"
+	"${S}/platform2/bt"
+	"${S}/platform2/bt"
+	"${S}/platform2/external/proto_logging"
+)
+CROS_WORKON_SUBTREE=("common-mk .gn" "" "" "")
+CROS_WORKON_EGIT_BRANCH=("main" "main" "upstream/master" "master")
+CROS_WORKON_OPTIONAL_CHECKOUT=(
+	""
+	"use !floss_upstream"
+	"use floss_upstream"
+	""
+)
+PLATFORM_SUBDIR="bt"
+
+IUSE="floss_upstream"
+
+WANT_LIBCHROME="no"
+WANT_LIBBRILLO="no"
+inherit cros-workon toolchain-funcs platform
+
+DESCRIPTION="Bluetooth Build Tools"
+HOMEPAGE="https://android.googlesource.com/platform/packages/modules/Bluetooth"
+
+# Apache-2.0 for system/bt
+# All others from rust crates
+LICENSE="
+	Apache-2.0
+	MIT BSD ISC
+"
+KEYWORDS="~*"
+
+DEPEND=""
+BDEPEND="
+	dev-libs/tinyxml2
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+	ARCH="$(tc-arch "${CBUILD}")" tc-env_build platform "configure" "--host"
+}
+
+src_compile() {
+	ARCH="$(tc-arch "${CBUILD}")" tc-env_build platform "compile" "tools" "--host"
+}
+
+src_install() {
+	local bin_dir="$(cros-workon_get_build_dir)/out/Default/"
+	dobin "${bin_dir}/bluetooth_packetgen"
+	dobin "${bin_dir}/bluetooth_flatbuffer_bundler"
+}
diff --git a/net-wireless/hostap-test/hostap-test-0.0.1-r61.ebuild b/net-wireless/hostap-test/hostap-test-0.0.1-r61.ebuild
deleted file mode 100644
index eebdb54..0000000
--- a/net-wireless/hostap-test/hostap-test-0.0.1-r61.ebuild
+++ /dev/null
@@ -1,106 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI="7"
-CROS_WORKON_COMMIT="388d7931d3e5adaf154a52a7df2f15560af065ab"
-CROS_WORKON_TREE="01ea45df78aee9ff02263134f2442bb029d6e817"
-CROS_WORKON_PROJECT="chromiumos/third_party/hostap"
-CROS_WORKON_LOCALNAME="../third_party/wpa_supplicant-cros/current"
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-inherit cros-sanitizers cros-workon distutils-r1 flag-o-matic toolchain-funcs
-
-DESCRIPTION="Test package for the hostap project, intended for a VM"
-HOMEPAGE="https://w1.fi"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="*"
-IUSE="dbus"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-DEPEND="
-	dev-libs/libnl:3=
-	dev-libs/openssl:0=
-	net-libs/libpcap:=
-"
-
-# pygobject with python3 support requires recent versions (e.g., 3.28.3 --
-# http://crrev.com/c/1869550), but recent versions are more difficult to
-# cross-compile (gobject-introspection, in particular). Leave this behind an
-# optional 'dbus' USE flag for now. Hwsim tests will skip D-Bus tests if
-# libraries aren't available.
-RDEPEND="${DEPEND}
-	${PYTHON_DEPS}
-	dbus? (
-		dev-python/dbus-python[${PYTHON_USEDEP}]
-		dev-python/pygobject[${PYTHON_USEDEP}]
-		sys-apps/dbus
-	)
-	dev-python/pycryptodome[${PYTHON_USEDEP}]
-	dev-python/pyrad[${PYTHON_USEDEP}]
-	net-analyzer/wireshark
-
-	net-wireless/crda
-"
-
-src_unpack() {
-	cros-workon_src_unpack
-}
-
-src_configure() {
-	sanitizers-setup-env
-	# Toolchain setup
-	append-flags -Werror
-	tc-export CC
-
-	cp tests/hwsim/example-wpa_supplicant.config wpa_supplicant/.config || die
-	cp tests/hwsim/example-hostapd.config hostapd/.config || die
-
-	# Disable WPA_TRACE_BFD, and kill any hard-coded /usr/include paths.
-	# TODO(https://crbug.com/1013471): re-enable BFD to run additional
-	# trace-based tests.
-	sed -i \
-		-e '/^CONFIG_WPA_TRACE_BFD=/d' \
-		-e '/^CFLAGS .*\/usr\/include/d' \
-		wpa_supplicant/.config \
-		hostapd/.config || die
-}
-
-# Clean in-between builds, because common code may be built with different
-# configs. See also tests/hwsim/build.sh.
-src_compile() {
-	einfo "Building wlantest"
-	emake -C wlantest V=1
-
-	einfo "Building hostapd"
-	emake -C hostapd clean
-	emake -C hostapd hostapd hostapd_cli hlr_auc_gw V=1
-
-	einfo "Building wpa_supplicant"
-	emake -C wpa_supplicant clean
-	emake -C wpa_supplicant V=1
-}
-
-src_install() {
-	local install_dir="/usr/libexec/hostap"
-	exeinto "${install_dir}"/wlantest
-	doexe wlantest/wlantest wlantest/wlantest_cli wlantest/test_vectors
-
-	dodir "${install_dir}"/tests
-	cp -pPR "${S}"/tests/hwsim "${D}/${install_dir}"/tests || die
-	cp -pPR "${S}"/wpaspy "${D}/${install_dir}" || die
-
-	exeinto "${install_dir}"/hostapd
-	local exe
-	for exe in hostapd hostapd_cli hlr_auc_gw; do
-		doexe "hostapd/${exe}"
-	done
-	exeinto "${install_dir}"/wpa_supplicant
-	for exe in wpa_supplicant wpa_cli; do
-		doexe "wpa_supplicant/${exe}"
-	done
-}
diff --git a/net-wireless/hostap-test/hostap-test-0.0.1-r67.ebuild b/net-wireless/hostap-test/hostap-test-0.0.1-r67.ebuild
new file mode 100644
index 0000000..01def28
--- /dev/null
+++ b/net-wireless/hostap-test/hostap-test-0.0.1-r67.ebuild
@@ -0,0 +1,106 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI="7"
+CROS_WORKON_COMMIT="621410e2e3d8507237e27889136f98af3ae1ebb7"
+CROS_WORKON_TREE="62e8e612e7e476f822d039bea6d9e40811d1c9f9"
+CROS_WORKON_PROJECT="chromiumos/third_party/hostap"
+CROS_WORKON_LOCALNAME="../third_party/wpa_supplicant-cros/current"
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-sanitizers cros-workon distutils-r1 flag-o-matic toolchain-funcs
+
+DESCRIPTION="Test package for the hostap project, intended for a VM"
+HOMEPAGE="https://w1.fi"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="*"
+IUSE="dbus"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="
+	dev-libs/libnl:3=
+	dev-libs/openssl:0=
+	net-libs/libpcap:=
+"
+
+# pygobject with python3 support requires recent versions (e.g., 3.28.3 --
+# http://crrev.com/c/1869550), but recent versions are more difficult to
+# cross-compile (gobject-introspection, in particular). Leave this behind an
+# optional 'dbus' USE flag for now. Hwsim tests will skip D-Bus tests if
+# libraries aren't available.
+RDEPEND="${DEPEND}
+	${PYTHON_DEPS}
+	dbus? (
+		dev-python/dbus-python[${PYTHON_USEDEP}]
+		dev-python/pygobject[${PYTHON_USEDEP}]
+		sys-apps/dbus
+	)
+	dev-python/pycryptodome[${PYTHON_USEDEP}]
+	dev-python/pyrad[${PYTHON_USEDEP}]
+	net-analyzer/wireshark
+
+	net-wireless/crda
+"
+
+src_unpack() {
+	cros-workon_src_unpack
+}
+
+src_configure() {
+	sanitizers-setup-env
+	# Toolchain setup
+	append-flags -Werror
+	tc-export CC
+
+	cp tests/hwsim/example-wpa_supplicant.config wpa_supplicant/.config || die
+	cp tests/hwsim/example-hostapd.config hostapd/.config || die
+
+	# Disable WPA_TRACE_BFD, and kill any hard-coded /usr/include paths.
+	# TODO(https://crbug.com/1013471): re-enable BFD to run additional
+	# trace-based tests.
+	sed -i \
+		-e '/^CONFIG_WPA_TRACE_BFD=/d' \
+		-e '/^CFLAGS .*\/usr\/include/d' \
+		wpa_supplicant/.config \
+		hostapd/.config || die
+}
+
+# Clean in-between builds, because common code may be built with different
+# configs. See also tests/hwsim/build.sh.
+src_compile() {
+	einfo "Building wlantest"
+	emake -C wlantest V=1
+
+	einfo "Building hostapd"
+	emake -C hostapd clean
+	emake -C hostapd hostapd hostapd_cli hlr_auc_gw V=1
+
+	einfo "Building wpa_supplicant"
+	emake -C wpa_supplicant clean
+	emake -C wpa_supplicant V=1
+}
+
+src_install() {
+	local install_dir="/usr/libexec/hostap"
+	exeinto "${install_dir}"/wlantest
+	doexe wlantest/wlantest wlantest/wlantest_cli wlantest/test_vectors
+
+	dodir "${install_dir}"/tests
+	cp -pPR "${S}"/tests/hwsim "${D}/${install_dir}"/tests || die
+	cp -pPR "${S}"/wpaspy "${D}/${install_dir}" || die
+
+	exeinto "${install_dir}"/hostapd
+	local exe
+	for exe in hostapd hostapd_cli hlr_auc_gw; do
+		doexe "hostapd/${exe}"
+	done
+	exeinto "${install_dir}"/wpa_supplicant
+	for exe in wpa_supplicant wpa_cli; do
+		doexe "wpa_supplicant/${exe}"
+	done
+}
diff --git a/net-wireless/hostap-test/hostap-test-9999.ebuild b/net-wireless/hostap-test/hostap-test-9999.ebuild
index 8f164f8..7a530c8 100644
--- a/net-wireless/hostap-test/hostap-test-9999.ebuild
+++ b/net-wireless/hostap-test/hostap-test-9999.ebuild
@@ -6,7 +6,7 @@
 CROS_WORKON_PROJECT="chromiumos/third_party/hostap"
 CROS_WORKON_LOCALNAME="../third_party/wpa_supplicant-cros/current"
 
-PYTHON_COMPAT=( python3_{6,7} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 inherit cros-sanitizers cros-workon distutils-r1 flag-o-matic toolchain-funcs
 
diff --git a/net-wireless/hostapd/hostapd-2.10_pre-r185.ebuild b/net-wireless/hostapd/hostapd-2.10_pre-r185.ebuild
deleted file mode 100644
index 51cd32d..0000000
--- a/net-wireless/hostapd/hostapd-2.10_pre-r185.ebuild
+++ /dev/null
@@ -1,261 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-CROS_WORKON_COMMIT="388d7931d3e5adaf154a52a7df2f15560af065ab"
-CROS_WORKON_TREE="01ea45df78aee9ff02263134f2442bb029d6e817"
-CROS_WORKON_PROJECT="chromiumos/third_party/hostap"
-CROS_WORKON_LOCALNAME="../third_party/wpa_supplicant-cros/current"
-
-inherit cros-workon toolchain-funcs savedconfig
-
-DESCRIPTION="IEEE 802.11 wireless LAN Host AP daemon"
-HOMEPAGE="http://w1.fi"
-SRC_URI=""
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="*"
-IUSE="internal-tls ipv6 libressl logwatch netlink sqlite +suiteb +wps +crda"
-
-DEPEND="
-	libressl? ( dev-libs/libressl:0= )
-	!libressl? (
-		internal-tls? ( dev-libs/libtommath )
-		!internal-tls? ( dev-libs/openssl:0=[-bindist] )
-	)
-	kernel_linux? (
-		dev-libs/libnl:3
-		crda? ( net-wireless/crda )
-	)
-	netlink? ( net-libs/libnfnetlink )
-	sqlite? ( >=dev-db/sqlite-3 )"
-
-RDEPEND="${DEPEND}"
-
-src_unpack() {
-	cros-workon_src_unpack
-	S+="/hostapd"
-}
-
-src_configure() {
-	if use internal-tls; then
-		if use libressl; then
-			elog "libressl flag takes precedence over internal-tls"
-		else
-			ewarn "internal-tls implementation is experimental and provides fewer features"
-		fi
-	fi
-
-	local CONFIG="${S}/.config"
-
-	restore_config "${CONFIG}"
-	if [[ -f "${CONFIG}" ]]; then
-		default_src_configure
-		return 0
-	fi
-
-	# toolchain setup
-	echo "CC = $(tc-getCC)" > ${CONFIG}
-
-	# EAP authentication methods
-	{
-		echo "CONFIG_EAP=y"
-		echo "CONFIG_ERP=y"
-		echo "CONFIG_EAP_MD5=y"
-		echo "CONFIG_SAE=y"
-		echo "CONFIG_OWE=y"
-		echo "CONFIG_DPP=y"
-	} >> ${CONFIG}
-
-	if use suiteb; then
-		echo "CONFIG_SUITEB=y" >> ${CONFIG}
-		echo "CONFIG_SUITEB192=y" >> ${CONFIG}
-	fi
-
-	if use internal-tls && ! use libressl; then
-		echo "CONFIG_TLS=internal" >> ${CONFIG}
-	else
-		# SSL authentication methods
-		{
-			echo "CONFIG_EAP_FAST=y"
-			echo "CONFIG_EAP_TLS=y"
-			echo "CONFIG_EAP_TTLS=y"
-			echo "CONFIG_EAP_MSCHAPV2=y"
-			echo "CONFIG_EAP_PEAP=y"
-			echo "CONFIG_TLSV11=y"
-			echo "CONFIG_TLSV12=y"
-			echo "CONFIG_EAP_PWD=y"
-		} >> ${CONFIG}
-	fi
-
-	if use wps; then
-		# Enable Wi-Fi Protected Setup
-		{
-			echo "CONFIG_WPS=y"
-			echo "CONFIG_WPS2=y"
-			echo "CONFIG_WPS_UPNP=y"
-			echo "CONFIG_WPS_NFC=y"
-		} >> ${CONFIG}
-		einfo "Enabling Wi-Fi Protected Setup support"
-	fi
-
-	{
-		echo "CONFIG_EAP_IKEV2=y"
-		echo "CONFIG_EAP_TNC=y"
-		echo "CONFIG_EAP_GTC=y"
-		echo "CONFIG_EAP_SIM=y"
-		echo "CONFIG_EAP_AKA=y"
-		echo "CONFIG_EAP_AKA_PRIME=y"
-		echo "CONFIG_EAP_EKE=y"
-		echo "CONFIG_EAP_FAST=y"
-		echo "CONFIG_EAP_PAX=y"
-		echo "CONFIG_EAP_PSK=y"
-		echo "CONFIG_EAP_SAKE=y"
-		echo "CONFIG_EAP_GPSK=y"
-		echo "CONFIG_EAP_GPSK_SHA256=y"
-		echo "CONFIG_EAP_UNAUTH_TLS=y"
-		echo "CONFIG_EAP_VENDOR_TEST=y"
-	} >> ${CONFIG}
-
-	einfo "Enabling drivers: "
-
-	# drivers
-	echo "CONFIG_DRIVER_HOSTAP=y" >> ${CONFIG}
-	einfo "  HostAP driver enabled"
-	echo "CONFIG_DRIVER_WIRED=y" >> ${CONFIG}
-	einfo "  Wired driver enabled"
-	echo "CONFIG_DRIVER_NONE=y" >> ${CONFIG}
-	einfo "  None driver enabled"
-
-	einfo "  nl80211 driver enabled"
-	{
-		echo "CONFIG_DRIVER_NL80211=y"
-
-		# epoll
-		echo "CONFIG_ELOOP_EPOLL=y"
-
-		# misc
-		echo "CONFIG_DEBUG_FILE=y"
-		echo "CONFIG_PKCS12=y"
-		echo "CONFIG_RADIUS_SERVER=y"
-		echo "CONFIG_IAPP=y"
-		echo "CONFIG_IEEE80211R=y"
-		echo "CONFIG_IEEE80211W=y"
-		echo "CONFIG_IEEE80211N=y"
-		echo "CONFIG_IEEE80211AC=y"
-		echo "CONFIG_PEERKEY=y"
-		echo "CONFIG_RSN_PREAUTH=y"
-		echo "CONFIG_INTERWORKING=y"
-		echo "CONFIG_FULL_DYNAMIC_VLAN=y"
-		echo "CONFIG_HS20=y"
-		echo "CONFIG_WNM=y"
-		echo "CONFIG_FST=y"
-		echo "CONFIG_FST_TEST=y"
-		echo "CONFIG_ACS=y"
-		echo "CONFIG_MBO=y"
-	} >> ${CONFIG}
-
-	# Disable random pool to work-around the slow random entropy
-	# generation on whirlwind. (See: crbug.com/1114912#c9)
-	# This is safe now because:
-	# 1. We now only use hostapd for tests. (on test APs or in
-	#    network.Ethernet8021X.* tests.)
-	# 2. The random pool (and entropy estimations) seem to mostly be
-	#    designed to guard against lack of initial entropy on a fresh
-	#    boot, but they run at every startup. In the presence of many
-	#    hostapd restarts, when "available entropy" gets drained by
-	#    hostapd, /dev/urandom should still be seeded with enough entropy.
-	# However, if we want to launch AP support in CrOS, it would be better
-	# to re-evaluate this with security experts.
-	echo "CONFIG_NO_RANDOM_POOL=y" >> ${CONFIG}
-
-	if use netlink; then
-		# Netlink support
-		echo "CONFIG_VLAN_NETLINK=y" >> ${CONFIG}
-	fi
-
-	if use ipv6; then
-		# IPv6 support
-		echo "CONFIG_IPV6=y" >> ${CONFIG}
-	fi
-
-	if use sqlite; then
-		# Sqlite support
-		echo "CONFIG_SQLITE=y" >> ${CONFIG}
-	fi
-
-	# If we are using libnl 2.0 and above, enable support for it
-	# Removed for now, since the 3.2 version is broken, and we don't
-	# support it.
-	if has_version ">=dev-libs/libnl-3.2"; then
-		echo "CONFIG_LIBNL32=y" >> .config
-	fi
-
-	# TODO: Add support for BSD drivers
-
-	default
-}
-
-src_compile() {
-	emake V=1
-
-	if use libressl || ! use internal-tls; then
-		emake V=1 nt_password_hash
-		emake V=1 hlr_auc_gw
-	fi
-}
-
-src_install() {
-	dosbin ${PN}
-	dobin ${PN}_cli
-
-	if use libressl || ! use internal-tls; then
-		dobin nt_password_hash hlr_auc_gw
-	fi
-
-	doman ${PN}{.8,_cli.1}
-
-	dodoc ChangeLog README
-	use wps && dodoc README-WPS
-
-	docinto examples
-	dodoc wired.conf
-
-	if use logwatch; then
-		insinto /etc/log.d/conf/services/
-		doins logwatch/${PN}.conf
-
-		exeinto /etc/log.d/scripts/services/
-		doexe logwatch/${PN}
-	fi
-
-	save_config .config
-}
-
-pkg_postinst() {
-	einfo
-	einfo "If you are running openRC you need to follow this instructions:"
-	einfo "In order to use ${PN} you need to set up your wireless card"
-	einfo "for master mode in /etc/conf.d/net and then start"
-	einfo "/etc/init.d/${PN}."
-	einfo
-	einfo "Example configuration:"
-	einfo
-	einfo "config_wlan0=( \"192.168.1.1/24\" )"
-	einfo "channel_wlan0=\"6\""
-	einfo "essid_wlan0=\"test\""
-	einfo "mode_wlan0=\"master\""
-	einfo
-	#if [ -e "${KV_DIR}"/net/mac80211 ]; then
-	#	einfo "This package now compiles against the headers installed by"
-	#	einfo "the kernel source for the mac80211 driver. You should "
-	#	einfo "re-emerge ${PN} after upgrading your kernel source."
-	#fi
-
-	if use wps; then
-		einfo "You have enabled Wi-Fi Protected Setup support, please"
-		einfo "read the README-WPS file in /usr/share/doc/${P}"
-		einfo "for info on how to use WPS"
-	fi
-}
diff --git a/net-wireless/hostapd/hostapd-2.10_pre-r190.ebuild b/net-wireless/hostapd/hostapd-2.10_pre-r190.ebuild
new file mode 100644
index 0000000..0499b94
--- /dev/null
+++ b/net-wireless/hostapd/hostapd-2.10_pre-r190.ebuild
@@ -0,0 +1,261 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+CROS_WORKON_COMMIT="621410e2e3d8507237e27889136f98af3ae1ebb7"
+CROS_WORKON_TREE="62e8e612e7e476f822d039bea6d9e40811d1c9f9"
+CROS_WORKON_PROJECT="chromiumos/third_party/hostap"
+CROS_WORKON_LOCALNAME="../third_party/wpa_supplicant-cros/current"
+
+inherit cros-workon toolchain-funcs savedconfig
+
+DESCRIPTION="IEEE 802.11 wireless LAN Host AP daemon"
+HOMEPAGE="http://w1.fi"
+SRC_URI=""
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="*"
+IUSE="internal-tls ipv6 libressl logwatch netlink sqlite +suiteb +wps +crda"
+
+DEPEND="
+	libressl? ( dev-libs/libressl:0= )
+	!libressl? (
+		internal-tls? ( dev-libs/libtommath )
+		!internal-tls? ( dev-libs/openssl:0=[-bindist] )
+	)
+	kernel_linux? (
+		dev-libs/libnl:3
+		crda? ( net-wireless/crda )
+	)
+	netlink? ( net-libs/libnfnetlink )
+	sqlite? ( >=dev-db/sqlite-3 )"
+
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+	cros-workon_src_unpack
+	S+="/hostapd"
+}
+
+src_configure() {
+	if use internal-tls; then
+		if use libressl; then
+			elog "libressl flag takes precedence over internal-tls"
+		else
+			ewarn "internal-tls implementation is experimental and provides fewer features"
+		fi
+	fi
+
+	local CONFIG="${S}/.config"
+
+	restore_config "${CONFIG}"
+	if [[ -f "${CONFIG}" ]]; then
+		default_src_configure
+		return 0
+	fi
+
+	# toolchain setup
+	echo "CC = $(tc-getCC)" > ${CONFIG}
+
+	# EAP authentication methods
+	{
+		echo "CONFIG_EAP=y"
+		echo "CONFIG_ERP=y"
+		echo "CONFIG_EAP_MD5=y"
+		echo "CONFIG_SAE=y"
+		echo "CONFIG_OWE=y"
+		echo "CONFIG_DPP=y"
+	} >> ${CONFIG}
+
+	if use suiteb; then
+		echo "CONFIG_SUITEB=y" >> ${CONFIG}
+		echo "CONFIG_SUITEB192=y" >> ${CONFIG}
+	fi
+
+	if use internal-tls && ! use libressl; then
+		echo "CONFIG_TLS=internal" >> ${CONFIG}
+	else
+		# SSL authentication methods
+		{
+			echo "CONFIG_EAP_FAST=y"
+			echo "CONFIG_EAP_TLS=y"
+			echo "CONFIG_EAP_TTLS=y"
+			echo "CONFIG_EAP_MSCHAPV2=y"
+			echo "CONFIG_EAP_PEAP=y"
+			echo "CONFIG_TLSV11=y"
+			echo "CONFIG_TLSV12=y"
+			echo "CONFIG_EAP_PWD=y"
+		} >> ${CONFIG}
+	fi
+
+	if use wps; then
+		# Enable Wi-Fi Protected Setup
+		{
+			echo "CONFIG_WPS=y"
+			echo "CONFIG_WPS2=y"
+			echo "CONFIG_WPS_UPNP=y"
+			echo "CONFIG_WPS_NFC=y"
+		} >> ${CONFIG}
+		einfo "Enabling Wi-Fi Protected Setup support"
+	fi
+
+	{
+		echo "CONFIG_EAP_IKEV2=y"
+		echo "CONFIG_EAP_TNC=y"
+		echo "CONFIG_EAP_GTC=y"
+		echo "CONFIG_EAP_SIM=y"
+		echo "CONFIG_EAP_AKA=y"
+		echo "CONFIG_EAP_AKA_PRIME=y"
+		echo "CONFIG_EAP_EKE=y"
+		echo "CONFIG_EAP_FAST=y"
+		echo "CONFIG_EAP_PAX=y"
+		echo "CONFIG_EAP_PSK=y"
+		echo "CONFIG_EAP_SAKE=y"
+		echo "CONFIG_EAP_GPSK=y"
+		echo "CONFIG_EAP_GPSK_SHA256=y"
+		echo "CONFIG_EAP_UNAUTH_TLS=y"
+		echo "CONFIG_EAP_VENDOR_TEST=y"
+	} >> ${CONFIG}
+
+	einfo "Enabling drivers: "
+
+	# drivers
+	echo "CONFIG_DRIVER_HOSTAP=y" >> ${CONFIG}
+	einfo "  HostAP driver enabled"
+	echo "CONFIG_DRIVER_WIRED=y" >> ${CONFIG}
+	einfo "  Wired driver enabled"
+	echo "CONFIG_DRIVER_NONE=y" >> ${CONFIG}
+	einfo "  None driver enabled"
+
+	einfo "  nl80211 driver enabled"
+	{
+		echo "CONFIG_DRIVER_NL80211=y"
+
+		# epoll
+		echo "CONFIG_ELOOP_EPOLL=y"
+
+		# misc
+		echo "CONFIG_DEBUG_FILE=y"
+		echo "CONFIG_PKCS12=y"
+		echo "CONFIG_RADIUS_SERVER=y"
+		echo "CONFIG_IAPP=y"
+		echo "CONFIG_IEEE80211R=y"
+		echo "CONFIG_IEEE80211W=y"
+		echo "CONFIG_IEEE80211N=y"
+		echo "CONFIG_IEEE80211AC=y"
+		echo "CONFIG_PEERKEY=y"
+		echo "CONFIG_RSN_PREAUTH=y"
+		echo "CONFIG_INTERWORKING=y"
+		echo "CONFIG_FULL_DYNAMIC_VLAN=y"
+		echo "CONFIG_HS20=y"
+		echo "CONFIG_WNM=y"
+		echo "CONFIG_FST=y"
+		echo "CONFIG_FST_TEST=y"
+		echo "CONFIG_ACS=y"
+		echo "CONFIG_MBO=y"
+	} >> ${CONFIG}
+
+	# Disable random pool to work-around the slow random entropy
+	# generation on whirlwind. (See: crbug.com/1114912#c9)
+	# This is safe now because:
+	# 1. We now only use hostapd for tests. (on test APs or in
+	#    network.Ethernet8021X.* tests.)
+	# 2. The random pool (and entropy estimations) seem to mostly be
+	#    designed to guard against lack of initial entropy on a fresh
+	#    boot, but they run at every startup. In the presence of many
+	#    hostapd restarts, when "available entropy" gets drained by
+	#    hostapd, /dev/urandom should still be seeded with enough entropy.
+	# However, if we want to launch AP support in CrOS, it would be better
+	# to re-evaluate this with security experts.
+	echo "CONFIG_NO_RANDOM_POOL=y" >> ${CONFIG}
+
+	if use netlink; then
+		# Netlink support
+		echo "CONFIG_VLAN_NETLINK=y" >> ${CONFIG}
+	fi
+
+	if use ipv6; then
+		# IPv6 support
+		echo "CONFIG_IPV6=y" >> ${CONFIG}
+	fi
+
+	if use sqlite; then
+		# Sqlite support
+		echo "CONFIG_SQLITE=y" >> ${CONFIG}
+	fi
+
+	# If we are using libnl 2.0 and above, enable support for it
+	# Removed for now, since the 3.2 version is broken, and we don't
+	# support it.
+	if has_version ">=dev-libs/libnl-3.2"; then
+		echo "CONFIG_LIBNL32=y" >> .config
+	fi
+
+	# TODO: Add support for BSD drivers
+
+	default
+}
+
+src_compile() {
+	emake V=1
+
+	if use libressl || ! use internal-tls; then
+		emake V=1 nt_password_hash
+		emake V=1 hlr_auc_gw
+	fi
+}
+
+src_install() {
+	dosbin ${PN}
+	dobin ${PN}_cli
+
+	if use libressl || ! use internal-tls; then
+		dobin nt_password_hash hlr_auc_gw
+	fi
+
+	doman ${PN}{.8,_cli.1}
+
+	dodoc ChangeLog README
+	use wps && dodoc README-WPS
+
+	docinto examples
+	dodoc wired.conf
+
+	if use logwatch; then
+		insinto /etc/log.d/conf/services/
+		doins logwatch/${PN}.conf
+
+		exeinto /etc/log.d/scripts/services/
+		doexe logwatch/${PN}
+	fi
+
+	save_config .config
+}
+
+pkg_postinst() {
+	einfo
+	einfo "If you are running openRC you need to follow this instructions:"
+	einfo "In order to use ${PN} you need to set up your wireless card"
+	einfo "for master mode in /etc/conf.d/net and then start"
+	einfo "/etc/init.d/${PN}."
+	einfo
+	einfo "Example configuration:"
+	einfo
+	einfo "config_wlan0=( \"192.168.1.1/24\" )"
+	einfo "channel_wlan0=\"6\""
+	einfo "essid_wlan0=\"test\""
+	einfo "mode_wlan0=\"master\""
+	einfo
+	#if [ -e "${KV_DIR}"/net/mac80211 ]; then
+	#	einfo "This package now compiles against the headers installed by"
+	#	einfo "the kernel source for the mac80211 driver. You should "
+	#	einfo "re-emerge ${PN} after upgrading your kernel source."
+	#fi
+
+	if use wps; then
+		einfo "You have enabled Wi-Fi Protected Setup support, please"
+		einfo "read the README-WPS file in /usr/share/doc/${P}"
+		einfo "for info on how to use WPS"
+	fi
+}
diff --git a/net-wireless/metadata.xml b/net-wireless/metadata.xml
deleted file mode 100644
index e951a75..0000000
--- a/net-wireless/metadata.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The net-wireless category contains wireless networking software and
-		utilities.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie net-wireless enthält Treiber und Programme für Wireless-Netzwerke.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría net-wireless contiene utilidades y programas relacionados
-		con las redes inalámbricas.
-	</longdescription>
-	<longdescription lang="ja">
-		net-wirelessカテゴリーにはワイヤレスネットワーキング・ソフトウェアと
-		ユーティリティが含まれています。
-	</longdescription>
-	<longdescription lang="nl">
-		De net-wireless categorie bevat applicaties en stuurprogramma's voor draadloze netwerken.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm net-wireless chứa các phần mềm mạng không dây.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria net-wireless contiene utilità e programmi per le reti wireless.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria net-wireless contém programas e utilitários para
-		redes sem fio (wireless).
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria net-wireless zawiera narzędzia do pracy w sieciach bezprzewodowych.
-	</longdescription>
-</catmetadata>
-
diff --git a/net-wireless/wireless-regdb/Manifest b/net-wireless/wireless-regdb/Manifest
index ec30def..ac383f9 100644
--- a/net-wireless/wireless-regdb/Manifest
+++ b/net-wireless/wireless-regdb/Manifest
@@ -1 +1 @@
-DIST wireless-regdb-2021.04.21.tar.xz 24944 BLAKE2B 4af782ceefe67c311cb90d1f64d830d9e5d2ccb7bc1aebcd8a176079522c21f1d8ef70cad0bd7223e9d56d46e6d20030af2349da9944d7ee3590bad28aeba467 SHA512 0ffbee04ec08c2025a34b60adc11198d64cb258a6ce53caf758667d25b733a242ca592d76ebd08e5692047917f5f42bb67a176f67a7d6bd11ad9178378cd0d26
+DIST wireless-regdb-2022.06.06.tar.xz 26636 BLAKE2B e7695b1d4173ec239645a1f9c0bdd8f9cef92da86d918f3b2a7904487787b1a8b6fce5a75d0b7fad7d8a25f1419a4771e509977a5e3b13dff03bc53e976609f6 SHA512 ee6e79eeef3bf995120d31741bac9592771cbf918401f83d0ee059ba4119f7d9667607c5218bd9eeb0011dd7083264cf39a1a0ad3ebfd37dcfd957b01f248e0d
diff --git a/net-wireless/wireless-regdb/OWNERS b/net-wireless/wireless-regdb/OWNERS
new file mode 100644
index 0000000..1d50480
--- /dev/null
+++ b/net-wireless/wireless-regdb/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/shill/wifi/OWNERS
diff --git a/net-wireless/wireless-regdb/files/regdb-ar-5ghz.patch b/net-wireless/wireless-regdb/files/regdb-ar-5ghz.patch
index 3d69e23..3eb71a6 100644
--- a/net-wireless/wireless-regdb/files/regdb-ar-5ghz.patch
+++ b/net-wireless/wireless-regdb/files/regdb-ar-5ghz.patch
@@ -7,7 +7,7 @@
 
 --- a/db.txt
 +++ b/db.txt
-@@ -77,7 +77,9 @@ country AR: DFS-FCC
+@@ -93,7 +93,9 @@ country AR: DFS-FCC
  	(2402 - 2482 @ 40), (20)
  	(5170 - 5250 @ 80), (17), AUTO-BW
  	(5250 - 5330 @ 80), (24), DFS, AUTO-BW
diff --git a/net-wireless/wireless-regdb/files/regdb-gb-5ghz.patch b/net-wireless/wireless-regdb/files/regdb-gb-5ghz.patch
deleted file mode 100644
index af23608..0000000
--- a/net-wireless/wireless-regdb/files/regdb-gb-5ghz.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Based on the latest IR 2030 update [1], update this range to cover
-5725-5850 MHz rather than 5725-5875 MHz, increase the max EIRP to
-200 mW, remove the DFS requirement, and add NO-OUTDOOR.
-
-[1] https://www.ofcom.org.uk/__data/assets/pdf_file/0028/84970/ir-2030.pdf
-
-Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
-
-diff --git a/db.txt b/db.txt
-index ddf9e14..a5829e0 100644
---- a/db.txt
-+++ b/db.txt
-@@ -599,7 +599,7 @@ country GB: DFS-ETSI
- 	(5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI
- 	(5470 - 5730 @ 160), (500 mW), DFS, wmmrule=ETSI
- 	# short range devices (ETSI EN 300 440-1)
--	(5725 - 5875 @ 80), (100 mW), DFS
-+	(5725 - 5850 @ 80), (200 mW), NO-OUTDOOR
- 	# 60 GHz band channels 1-6
- 	(57000 - 71000 @ 2160), (40)
\ No newline at end of file
diff --git a/net-wireless/wireless-regdb/wireless-regdb-20210421-r3.ebuild b/net-wireless/wireless-regdb/wireless-regdb-20210421-r3.ebuild
deleted file mode 120000
index d120eb8..0000000
--- a/net-wireless/wireless-regdb/wireless-regdb-20210421-r3.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-wireless-regdb-20210421.ebuild
\ No newline at end of file
diff --git a/net-wireless/wireless-regdb/wireless-regdb-20210421.ebuild b/net-wireless/wireless-regdb/wireless-regdb-20210421.ebuild
deleted file mode 100644
index 139515d..0000000
--- a/net-wireless/wireless-regdb/wireless-regdb-20210421.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_P="wireless-regdb-${PV:0:4}.${PV:4:2}.${PV:6:2}"
-DESCRIPTION="Binary regulatory database for CRDA"
-HOMEPAGE="https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb"
-SRC_URI="https://www.kernel.org/pub/software/network/${PN}/${MY_P}.tar.xz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="*"
-
-PATCHES=(
-	"${FILESDIR}"/regdb-ar-5ghz.patch
-	"${FILESDIR}"/regdb-Ensure-outfile-is-written.patch
-	# TODO(b:201792393) Once Gentoo upstream has this patch, uprev our
-	# wireless-regdb package so we can get rid of this patch.
-	"${FILESDIR}"/regdb-gb-5ghz.patch
-)
-
-src_compile() {
-	emake -j1 REGDB_AUTHOR=chromium
-}
-
-src_install() {
-	# This file is not ABI-specific, and crda itself always hardcodes
-	# this path.  So install into a common location for all ABIs to use.
-	insinto /usr/lib/crda
-	doins regulatory.bin
-
-	insinto /usr/lib/crda/pubkeys
-	doins chromium.key.pub.pem
-
-	# Linux 4.15 now complains if the firmware loader
-	# can't find these files #643520
-	insinto /lib/firmware
-	doins regulatory.db
-	doins regulatory.db.p7s
-
-	doman regulatory.bin.5
-	dodoc README db.txt
-}
diff --git a/net-wireless/wireless-regdb/wireless-regdb-20220606-r1.ebuild b/net-wireless/wireless-regdb/wireless-regdb-20220606-r1.ebuild
new file mode 120000
index 0000000..7b98f08
--- /dev/null
+++ b/net-wireless/wireless-regdb/wireless-regdb-20220606-r1.ebuild
@@ -0,0 +1 @@
+wireless-regdb-20220606.ebuild
\ No newline at end of file
diff --git a/net-wireless/wireless-regdb/wireless-regdb-20220606.ebuild b/net-wireless/wireless-regdb/wireless-regdb-20220606.ebuild
new file mode 100644
index 0000000..be13cf1
--- /dev/null
+++ b/net-wireless/wireless-regdb/wireless-regdb-20220606.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_P="wireless-regdb-${PV:0:4}.${PV:4:2}.${PV:6:2}"
+DESCRIPTION="Binary regulatory database for CRDA"
+HOMEPAGE="https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb"
+SRC_URI="https://www.kernel.org/pub/software/network/${PN}/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="*"
+
+PATCHES=(
+	"${FILESDIR}"/regdb-ar-5ghz.patch
+	"${FILESDIR}"/regdb-Ensure-outfile-is-written.patch
+)
+
+src_compile() {
+	emake -j1 REGDB_AUTHOR=chromium
+}
+
+src_install() {
+	# This file is not ABI-specific, and crda itself always hardcodes
+	# this path.  So install into a common location for all ABIs to use.
+	insinto /usr/lib/crda
+	doins regulatory.bin
+
+	insinto /usr/lib/crda/pubkeys
+	doins chromium.key.pub.pem
+
+	# Linux 4.15 now complains if the firmware loader
+	# can't find these files #643520
+	insinto /lib/firmware
+	doins regulatory.db
+	doins regulatory.db.p7s
+
+	doman regulatory.bin.5
+	dodoc README db.txt
+}
diff --git a/net-wireless/wpa_supplicant-cros/files/seccomp/wpa_supplicant-amd64.policy b/net-wireless/wpa_supplicant-cros/files/seccomp/wpa_supplicant-amd64.policy
index c05a131..d1603fc 100644
--- a/net-wireless/wpa_supplicant-cros/files/seccomp/wpa_supplicant-amd64.policy
+++ b/net-wireless/wpa_supplicant-cros/files/seccomp/wpa_supplicant-amd64.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 clock_gettime: 1
 gettimeofday: 1
 sendmsg: 1
diff --git a/net-wireless/wpa_supplicant-cros/files/seccomp/wpa_supplicant-arm.policy b/net-wireless/wpa_supplicant-cros/files/seccomp/wpa_supplicant-arm.policy
index 9d641c0..c772d59 100644
--- a/net-wireless/wpa_supplicant-cros/files/seccomp/wpa_supplicant-arm.policy
+++ b/net-wireless/wpa_supplicant-cros/files/seccomp/wpa_supplicant-arm.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 clock_gettime: 1
 clock_gettime64: 1
 getpid: 1
diff --git a/net-wireless/wpa_supplicant-cros/files/seccomp/wpa_supplicant-arm64.policy b/net-wireless/wpa_supplicant-cros/files/seccomp/wpa_supplicant-arm64.policy
index 1382a14..d01b664 100644
--- a/net-wireless/wpa_supplicant-cros/files/seccomp/wpa_supplicant-arm64.policy
+++ b/net-wireless/wpa_supplicant-cros/files/seccomp/wpa_supplicant-arm64.policy
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 clock_getres: 1
 clock_gettime: 1
 gettimeofday: 1
diff --git a/net-wireless/wpa_supplicant-cros/wpa_supplicant-cros-2.10_pre-r40.ebuild b/net-wireless/wpa_supplicant-cros/wpa_supplicant-cros-2.10_pre-r40.ebuild
deleted file mode 100644
index fe2942c..0000000
--- a/net-wireless/wpa_supplicant-cros/wpa_supplicant-cros-2.10_pre-r40.ebuild
+++ /dev/null
@@ -1,494 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT=("388d7931d3e5adaf154a52a7df2f15560af065ab" "388d7931d3e5adaf154a52a7df2f15560af065ab")
-CROS_WORKON_TREE=("01ea45df78aee9ff02263134f2442bb029d6e817" "01ea45df78aee9ff02263134f2442bb029d6e817")
-CROS_WORKON_PROJECT=("chromiumos/third_party/hostap" "chromiumos/third_party/hostap")
-CROS_WORKON_LOCALNAME=("../third_party/wpa_supplicant-cros/current" "../third_party/wpa_supplicant-cros/next")
-CROS_WORKON_EGIT_BRANCH=("wpa_supplicant-2.9.1" "wpa_supplicant-2.9.1")
-CROS_WORKON_DESTDIR=("${S}/wpa_supplicant-cros/current" "${S}/wpa_supplicant-cros/next")
-CROS_WORKON_OPTIONAL_CHECKOUT=("use !supplicant-next" "use supplicant-next")
-
-inherit cros-sanitizers cros-workon cros-fuzzer eutils flag-o-matic qmake-utils systemd toolchain-funcs user
-
-DESCRIPTION="IEEE 802.1X/WPA supplicant for secure wireless transfers"
-HOMEPAGE="https://w1.fi/wpa_supplicant/"
-LICENSE="|| ( GPL-2 BSD )"
-
-SLOT="0"
-KEYWORDS="*"
-IUSE="ap bindist dbus debug eap-sim fuzzer +hs2-0 libressl +mbo p2p ps3 qt5 readline +seccomp selinux smartcard supplicant-next systemd +tdls uncommon-eap-types +wep wifi_hostap_test +wnm wps kernel_linux kernel_FreeBSD wimax"
-
-CDEPEND="
-	chromeos-base/minijail
-	dbus? ( sys-apps/dbus )
-	kernel_linux? (
-		dev-libs/libnl:3
-		net-wireless/crda
-	)
-	!kernel_linux? ( net-libs/libpcap )
-	qt5? (
-		dev-qt/qtcore:5
-		dev-qt/qtgui:5
-		dev-qt/qtsvg:5
-		dev-qt/qtwidgets:5
-	)
-	readline? (
-		sys-libs/ncurses:0
-		sys-libs/readline:0
-	)
-	!libressl? ( dev-libs/openssl:0=[bindist=] )
-	libressl? ( dev-libs/libressl:0= )
-	smartcard? ( dev-libs/engine_pkcs11 )
-"
-DEPEND="${CDEPEND}
-	virtual/pkgconfig
-"
-RDEPEND="${CDEPEND}
-	!net-wireless/wpa_supplicant
-	!net-wireless/wpa_supplicant-2_8
-	!net-wireless/wpa_supplicant-2_9
-	selinux? ( sec-policy/selinux-networkmanager )
-"
-
-# All the available fuzzers.
-# TODO(b/197270874): enable them gradually to avoid a bug storm.
-FUZZERS=(
-	#"ap-mgmt"
-	#"asn1"
-	#"eap-aka-peer"
-	"eapol-key-auth"
-	"eapol-key-supp"
-	"eapol-supp"
-	#"eap-sim-peer"
-	#"json"
-	#"p2p"
-	"tls-client"
-	"tls-server"
-	#"wnm"
-	"x509"
-)
-
-# S="${WORKDIR}/${P}/${PN}"
-src_unpack() {
-	cros-workon_src_unpack
-	local checkout="/wpa_supplicant-cros/$(usex supplicant-next next current)"
-	S+="${checkout}/wpa_supplicant"
-}
-
-Kconfig_style_config() {
-		#param 1 is CONFIG_* item
-		#param 2 is what to set it = to, defaulting in y
-		CONFIG_PARAM="${CONFIG_HEADER:-CONFIG_}$1"
-		setting="${2:-y}"
-
-		if [ ! $setting = n ]; then
-			#first remove any leading "# " if $2 is not n
-			sed -i "/^# *$CONFIG_PARAM=/s/^# *//" .config || echo "Kconfig_style_config error uncommenting $CONFIG_PARAM"
-			#set item = $setting (defaulting to y)
-			sed -i "/^$CONFIG_PARAM\>/s/=.*/=$setting/" .config || echo "Kconfig_style_config error setting $CONFIG_PARAM=$setting"
-			if [ -z "$( grep ^$CONFIG_PARAM= .config )" ] ; then
-				echo "$CONFIG_PARAM=$setting" >>.config
-			fi
-		else
-			#ensure item commented out
-			sed -i "/^$CONFIG_PARAM\>/s/$CONFIG_PARAM/# $CONFIG_PARAM/" .config || echo "Kconfig_style_config error commenting $CONFIG_PARAM"
-		fi
-}
-
-src_prepare() {
-	# net/bpf.h needed for net-libs/libpcap on Gentoo/FreeBSD
-	sed -i \
-		-e "s:\(#include <pcap\.h>\):#include <net/bpf.h>\n\1:" \
-		../src/l2_packet/l2_packet_freebsd.c || die
-
-	# People seem to take the example configuration file too literally (bug #102361)
-	sed -i \
-		-e "s:^\(opensc_engine_path\):#\1:" \
-		-e "s:^\(pkcs11_engine_path\):#\1:" \
-		-e "s:^\(pkcs11_module_path\):#\1:" \
-		wpa_supplicant.conf || die
-
-	# Change configuration to match Gentoo locations (bug #143750)
-	sed -i \
-		-e "s:/usr/lib/opensc:/usr/$(get_libdir):" \
-		-e "s:/usr/lib/pkcs11:/usr/$(get_libdir):" \
-		wpa_supplicant.conf || die
-
-	# systemd entries to D-Bus service files (bug #372877)
-	# echo 'SystemdService=wpa_supplicant.service' \
-	# 	| tee -a dbus/*.service >/dev/null || die
-
-	cd "${WORKDIR}/${P}" || die
-
-	if use wimax; then
-		# generate-libeap-peer.patch comes before
-		# fix-undefined-reference-to-random_get_bytes.patch
-		# epatch "${FILESDIR}/${P}-generate-libeap-peer.patch"
-
-		# multilib-strict fix (bug #373685)
-		sed -e "s/\/usr\/lib/\/usr\/$(get_libdir)/" -i src/eap_peer/Makefile || die
-	fi
-
-	# bug (320097)
-	# epatch "${FILESDIR}/${P}-do-not-call-dbus-functions-with-NULL-path.patch"
-
-	# TODO - NEED TESTING TO SEE IF STILL NEEDED, NOT COMPATIBLE WITH 1.0 OUT OF THE BOX,
-	# SO WOULD BE NICE TO JUST DROP IT, IF IT IS NOT NEEDED.
-	# bug (374089)
-	#epatch "${FILESDIR}/${P}-dbus-WPAIE-fix.patch"
-
-	# bug (565270)
-	# epatch "${FILESDIR}/${P}-libressl.patch"
-	default
-}
-
-src_configure() {
-	sanitizers-setup-env
-	# Toolchain setup
-	append-flags -Werror
-	tc-export CC
-
-	cp defconfig .config || die
-
-	# Basic setup
-	Kconfig_style_config CTRL_IFACE
-	Kconfig_style_config MATCH_IFACE
-	Kconfig_style_config BACKEND file
-	Kconfig_style_config IBSS_RSN
-	Kconfig_style_config IEEE80211W
-	Kconfig_style_config IEEE80211R
-	Kconfig_style_config IEEE80211N
-	Kconfig_style_config IEEE80211AC
-	Kconfig_style_config HT_OVERRIDES
-	Kconfig_style_config VHT_OVERRIDES
-	Kconfig_style_config OCV
-	Kconfig_style_config TLSV11
-	Kconfig_style_config TLSV12
-	Kconfig_style_config GETRANDOM
-
-	# Basic authentication methods
-	# NOTE: we don't set GPSK or SAKE as they conflict
-	# with the below options
-	Kconfig_style_config EAP_GTC
-	Kconfig_style_config EAP_MD5
-	Kconfig_style_config EAP_OTP
-	Kconfig_style_config EAP_PAX
-	Kconfig_style_config EAP_PSK
-	Kconfig_style_config EAP_TLV
-	Kconfig_style_config EAP_EXE
-	Kconfig_style_config IEEE8021X_EAPOL
-	Kconfig_style_config PKCS12
-	Kconfig_style_config PEERKEY
-	Kconfig_style_config EAP_LEAP
-	Kconfig_style_config EAP_MSCHAPV2
-	Kconfig_style_config EAP_PEAP
-	Kconfig_style_config EAP_TEAP
-	Kconfig_style_config EAP_TLS
-	Kconfig_style_config EAP_TTLS
-
-	# Enabling background scanning.
-	Kconfig_style_config BGSCAN_SIMPLE
-	Kconfig_style_config BGSCAN_LEARN
-
-	if use dbus ; then
-		Kconfig_style_config CTRL_IFACE_DBUS
-		Kconfig_style_config CTRL_IFACE_DBUS_NEW
-		Kconfig_style_config CTRL_IFACE_DBUS_INTRO
-	else
-		Kconfig_style_config CTRL_IFACE_DBUS n
-		Kconfig_style_config CTRL_IFACE_DBUS_NEW n
-		Kconfig_style_config CTRL_IFACE_DBUS_INTRO n
-	fi
-
-	# Enable support for writing debug info to a log file and syslog.
-	Kconfig_style_config DEBUG_FILE
-	Kconfig_style_config DEBUG_SYSLOG
-	Kconfig_style_config DEBUG_SYSLOG_FACILITY LOG_LOCAL6
-
-	if use hs2-0 ; then
-		Kconfig_style_config INTERWORKING
-		Kconfig_style_config HS20
-	fi
-
-	# Enable support for MBO (Multi-Band Operation), see
-	# https://www.wi-fi.org/discover-wi-fi/wi-fi-agile-multiband
-	if use mbo ; then
-		Kconfig_style_config MBO
-	else
-		Kconfig_style_config MBO n
-	fi
-
-	if use uncommon-eap-types; then
-		Kconfig_style_config EAP_GPSK
-		Kconfig_style_config EAP_SAKE
-		Kconfig_style_config EAP_GPSK_SHA256
-		Kconfig_style_config EAP_IKEV2
-		Kconfig_style_config EAP_EKE
-	fi
-
-	if use eap-sim ; then
-		# Smart card authentication
-		Kconfig_style_config EAP_SIM
-		Kconfig_style_config EAP_AKA
-		Kconfig_style_config EAP_AKA_PRIME
-		# CHROMIUM: We don't have smartcard support. Instead include the
-		# client library for external processing via the control interface.
-		# Kconfig_style_config PCSC
-		Kconfig_style_config BUILD_WPA_CLIENT_SO
-	fi
-
-	if use readline ; then
-		# readline/history support for wpa_cli
-		Kconfig_style_config READLINE
-	else
-		#internal line edit mode for wpa_cli
-		Kconfig_style_config WPA_CLI_EDIT
-	fi
-
-	Kconfig_style_config TLS openssl
-	Kconfig_style_config FST
-	if ! use bindist || use libressl; then
-		Kconfig_style_config EAP_PWD
-		#WPA3
-		Kconfig_style_config OWE
-		Kconfig_style_config SAE
-		Kconfig_style_config DPP
-		Kconfig_style_config SUITEB192
-	fi
-	if ! use bindist && ! use libressl; then
-		Kconfig_style_config SUITEB
-	fi
-
-	if use smartcard ; then
-		Kconfig_style_config SMARTCARD
-	else
-		Kconfig_style_config SMARTCARD n
-	fi
-
-	if use tdls ; then
-		Kconfig_style_config TDLS
-	fi
-
-	if use kernel_linux ; then
-		# Linux specific drivers
-		# Kconfig_style_config DRIVER_ATMEL
-		# Kconfig_style_config DRIVER_HOSTAP
-		# Kconfig_style_config DRIVER_IPW
-		Kconfig_style_config DRIVER_NL80211
-		# Kconfig_style_config DRIVER_RALINK
-		Kconfig_style_config DRIVER_WEXT
-		Kconfig_style_config DRIVER_WIRED
-
-		if use ps3 ; then
-			Kconfig_style_config DRIVER_PS3
-		fi
-
-	elif use kernel_FreeBSD ; then
-		# FreeBSD specific driver
-		Kconfig_style_config DRIVER_BSD
-	fi
-
-	# Wi-Fi Protected Setup (WPS)
-	if use wps ; then
-		Kconfig_style_config WPS
-		Kconfig_style_config WPS2
-		# USB Flash Drive
-		Kconfig_style_config WPS_UFD
-		# External Registrar
-		Kconfig_style_config WPS_ER
-		# Universal Plug'n'Play
-		Kconfig_style_config WPS_UPNP
-		# Near Field Communication
-		Kconfig_style_config WPS_NFC
-	else
-		Kconfig_style_config WPS n
-		Kconfig_style_config WPS2 n
-		Kconfig_style_config WPS_UFD n
-		Kconfig_style_config WPS_ER n
-		Kconfig_style_config WPS_UPNP n
-		Kconfig_style_config WPS_NFC n
-	fi
-
-	if use wep ; then
-		Kconfig_style_config WEP
-	fi
-
-	# Wi-Fi Direct (WiDi)
-	if use p2p ; then
-		Kconfig_style_config P2P
-		Kconfig_style_config WIFI_DISPLAY
-	else
-		Kconfig_style_config P2P n
-		Kconfig_style_config WIFI_DISPLAY n
-	fi
-
-	# Access Point Mode
-	if use ap ; then
-		Kconfig_style_config AP
-		# only AP currently support mesh networks.
-		Kconfig_style_config MESH
-	else
-		# (ChromeOS) Explicitly disable to override enabling from defconfig.
-		Kconfig_style_config AP        n
-		Kconfig_style_config MESH      n
-	fi
-
-	# Enable mitigation against certain attacks against TKIP
-	Kconfig_style_config DELAYED_MIC_ERROR_REPORT
-
-	# Turn on 802.11v Wireless Network Management
-	if use wnm ; then
-		Kconfig_style_config WNM
-	else
-		Kconfig_style_config WNM       n
-	fi
-
-	if use qt5 ; then
-		pushd "${S}"/wpa_gui-qt4 > /dev/null || die
-		eqmake5 wpa_gui.pro
-		popd > /dev/null || die
-	fi
-}
-
-src_compile() {
-	# Fuzzers have to be built alone
-	if use fuzzer ; then
-		for f in "${FUZZERS[@]}"; do
-			einfo "Building ${f} fuzzer"
-			cd "../tests/fuzzing/${f}" || die
-			# Override the FUZZ_FLAGS to ensure we'll be able to build with
-			# address and memory sanitizer.
-			emake LIBFUZZER=1 FUZZ_FLAGS=-fsanitize=fuzzer
-			mv "${f}" "supplicant_${f}_fuzzer"
-			cd "${S}" || die
-		done
-		return
-	fi
-
-	einfo "Building wpa_supplicant"
-	emake V=1 BINDIR=/usr/sbin
-
-	if use wimax; then
-		emake -C ../src/eap_peer clean
-		emake -C ../src/eap_peer
-	fi
-
-	if use qt5; then
-		einfo "Building wpa_gui"
-		emake -C "${S}"/wpa_gui-qt4
-	fi
-}
-
-src_install() {
-	if use fuzzer ; then
-		local fuzzer_component_id="893827"
-		for f in "${FUZZERS[@]}"; do
-			fuzzer_install ../OWNERS \
-				"../tests/fuzzing/${f}/supplicant_${f}_fuzzer" \
-				--comp "${fuzzer_component_id}"
-		done
-		return
-	fi
-
-	dosbin wpa_supplicant
-	dobin wpa_cli wpa_passphrase
-
-	# baselayout-1 compat
-	if has_version "<sys-apps/baselayout-2.0.0"; then
-		dodir /sbin
-		dosym /usr/sbin/wpa_supplicant /sbin/wpa_supplicant
-		dodir /bin
-		dosym /usr/bin/wpa_cli /bin/wpa_cli
-	fi
-
-	if has_version ">=sys-apps/openrc-0.5.0"; then
-		newinitd "${FILESDIR}/${PN}-init.d" wpa_supplicant
-		newconfd "${FILESDIR}/${PN}-conf.d" wpa_supplicant
-	fi
-
-	dodoc ChangeLog {eap_testing,todo}.txt README{,-WPS} \
-		wpa_supplicant.conf
-
-	newdoc .config build-config
-
-	if use qt5 ; then
-		into /usr
-		dobin wpa_gui-qt4/wpa_gui
-		doicon wpa_gui-qt4/icons/wpa_gui.svg
-		make_desktop_entry wpa_gui "WPA Supplicant Administration GUI" "wpa_gui" "Qt;Network;"
-	fi
-
-	use wimax && emake DESTDIR="${D}" -C ../src/eap_peer install
-
-	if use eap-sim ; then
-		# Install this library and header for the external processor.
-		dolib.so libwpa_client.so
-
-		insinto /usr/include/wpa_supplicant
-		doins ../src/common/wpa_ctrl.h
-	fi
-
-	if use dbus ; then
-		# DBus introspection XML file.
-		insinto /usr/share/dbus-1/interfaces
-		doins ${FILESDIR}/dbus_bindings/fi.w1.wpa_supplicant1.xml || die
-		insinto /etc/dbus-1/system.d
-		# Allow (but don't require) wpa_supplicant to run as root only
-		# when building hwsim targets.
-		if use wifi_hostap_test; then
-			newins "${FILESDIR}"/dbus_permissions/root_fi.w1.wpa_supplicant1.conf \
-				fi.w1.wpa_supplicant1.conf
-		else
-			doins "${FILESDIR}"/dbus_permissions/fi.w1.wpa_supplicant1.conf
-		fi
-	fi
-	# Install the init scripts
-	if use systemd; then
-		insinto /usr/share
-		systemd_dounit ${FILESDIR}/init/wpasupplicant.service
-		systemd_enable_service boot-services.target wpasupplicant.service
-		systemd_dotmpfilesd ${FILESDIR}/init/wpasupplicant-directories.conf
-	else
-		insinto /etc/init
-		doins ${FILESDIR}/init/wpasupplicant.conf
-		if use seccomp; then
-			local policy="${FILESDIR}/seccomp/wpa_supplicant-${ARCH}.policy"
-			local policy_out="${ED}/usr/share/policy/wpa_supplicant.bpf"
-			dodir /usr/share/policy
-			compile_seccomp_policy \
-				--arch-json "${SYSROOT}/build/share/constants.json" \
-				--default-action trap "${policy}" "${policy_out}" \
-				|| die "failed to compile seccomp policy ${policy}"
-		else
-			sed -i '/^env seccomp_flags=/s:=.*:="":' \
-				"${ED}"/etc/init/wpasupplicant.conf || die
-		fi
-	fi
-}
-
-pkg_preinst() {
-	enewuser "wpa"
-	enewgroup "wpa"
-}
-
-pkg_postinst() {
-	if [[ -e ${ROOT}etc/wpa_supplicant.conf ]] ; then
-		echo
-		ewarn "WARNING: your old configuration file ${ROOT}etc/wpa_supplicant.conf"
-		ewarn "needs to be moved to ${ROOT}etc/wpa_supplicant/wpa_supplicant.conf"
-	fi
-
-	if use bindist; then
-		if ! use libressl; then
-			ewarn "Using bindist use flag presently breaks WPA3 (specifically SAE, OWE, DPP, and FILS)."
-			ewarn "This is incredibly undesirable"
-		fi
-	fi
-	if use libressl; then
-		ewarn "Libressl doesn't support SUITEB (part of WPA3)"
-		ewarn "but it does support SUITEB192 (the upgraded strength version of the same)"
-		ewarn "You probably don't care.  Patches welcome"
-	fi
-}
diff --git a/net-wireless/wpa_supplicant-cros/wpa_supplicant-cros-2.10_pre-r49.ebuild b/net-wireless/wpa_supplicant-cros/wpa_supplicant-cros-2.10_pre-r49.ebuild
new file mode 100644
index 0000000..e6e5470
--- /dev/null
+++ b/net-wireless/wpa_supplicant-cros/wpa_supplicant-cros-2.10_pre-r49.ebuild
@@ -0,0 +1,498 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT=("621410e2e3d8507237e27889136f98af3ae1ebb7" "621410e2e3d8507237e27889136f98af3ae1ebb7")
+CROS_WORKON_TREE=("62e8e612e7e476f822d039bea6d9e40811d1c9f9" "62e8e612e7e476f822d039bea6d9e40811d1c9f9")
+CROS_WORKON_PROJECT=("chromiumos/third_party/hostap" "chromiumos/third_party/hostap")
+CROS_WORKON_LOCALNAME=("../third_party/wpa_supplicant-cros/current" "../third_party/wpa_supplicant-cros/next")
+CROS_WORKON_EGIT_BRANCH=("wpa_supplicant-2.9.1" "wpa_supplicant-2.9.1")
+CROS_WORKON_DESTDIR=("${S}/wpa_supplicant-cros/current" "${S}/wpa_supplicant-cros/next")
+CROS_WORKON_OPTIONAL_CHECKOUT=("use !supplicant-next" "use supplicant-next")
+
+inherit cros-sanitizers cros-workon cros-fuzzer eutils flag-o-matic qmake-utils systemd toolchain-funcs user
+
+DESCRIPTION="IEEE 802.1X/WPA supplicant for secure wireless transfers"
+HOMEPAGE="https://w1.fi/wpa_supplicant/"
+LICENSE="|| ( GPL-2 BSD )"
+
+SLOT="0"
+KEYWORDS="*"
+IUSE="+ap bindist dbus debug eap-sim fuzzer +hs2-0 libressl +mbo mesh p2p ps3 qt5 readline +seccomp selinux smartcard supplicant-next systemd +tdls uncommon-eap-types +wep wifi_hostap_test +wnm wps kernel_linux kernel_FreeBSD wimax"
+
+CDEPEND="
+	chromeos-base/minijail
+	dbus? ( sys-apps/dbus )
+	kernel_linux? (
+		dev-libs/libnl:3
+		net-wireless/crda
+	)
+	!kernel_linux? ( net-libs/libpcap )
+	qt5? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5
+		dev-qt/qtsvg:5
+		dev-qt/qtwidgets:5
+	)
+	readline? (
+		sys-libs/ncurses:0
+		sys-libs/readline:0
+	)
+	!libressl? ( dev-libs/openssl:0=[bindist=] )
+	libressl? ( dev-libs/libressl:0= )
+	smartcard? ( dev-libs/engine_pkcs11 )
+"
+DEPEND="${CDEPEND}
+	virtual/pkgconfig
+"
+RDEPEND="${CDEPEND}
+	!net-wireless/wpa_supplicant
+	!net-wireless/wpa_supplicant-2_8
+	!net-wireless/wpa_supplicant-2_9
+	selinux? ( sec-policy/selinux-networkmanager )
+"
+
+# All the available fuzzers.
+# TODO(b/197270874): enable them gradually to avoid a bug storm.
+FUZZERS=(
+	#"ap-mgmt"
+	#"asn1"
+	#"eap-aka-peer"
+	"eapol-key-auth"
+	"eapol-key-supp"
+	"eapol-supp"
+	#"eap-sim-peer"
+	#"json"
+	#"p2p"
+	"tls-client"
+	"tls-server"
+	#"wnm"
+	"x509"
+)
+
+# S="${WORKDIR}/${P}/${PN}"
+src_unpack() {
+	cros-workon_src_unpack
+	local checkout="/wpa_supplicant-cros/$(usex supplicant-next next current)"
+	S+="${checkout}/wpa_supplicant"
+}
+
+Kconfig_style_config() {
+		#param 1 is CONFIG_* item
+		#param 2 is what to set it = to, defaulting in y
+		CONFIG_PARAM="${CONFIG_HEADER:-CONFIG_}$1"
+		setting="${2:-y}"
+
+		if [ ! $setting = n ]; then
+			#first remove any leading "# " if $2 is not n
+			sed -i "/^# *$CONFIG_PARAM=/s/^# *//" .config || echo "Kconfig_style_config error uncommenting $CONFIG_PARAM"
+			#set item = $setting (defaulting to y)
+			sed -i "/^$CONFIG_PARAM\>/s/=.*/=$setting/" .config || echo "Kconfig_style_config error setting $CONFIG_PARAM=$setting"
+			if [ -z "$( grep ^$CONFIG_PARAM= .config )" ] ; then
+				echo "$CONFIG_PARAM=$setting" >>.config
+			fi
+		else
+			#ensure item commented out
+			sed -i "/^$CONFIG_PARAM\>/s/$CONFIG_PARAM/# $CONFIG_PARAM/" .config || echo "Kconfig_style_config error commenting $CONFIG_PARAM"
+		fi
+}
+
+src_prepare() {
+	# net/bpf.h needed for net-libs/libpcap on Gentoo/FreeBSD
+	sed -i \
+		-e "s:\(#include <pcap\.h>\):#include <net/bpf.h>\n\1:" \
+		../src/l2_packet/l2_packet_freebsd.c || die
+
+	# People seem to take the example configuration file too literally (bug #102361)
+	sed -i \
+		-e "s:^\(opensc_engine_path\):#\1:" \
+		-e "s:^\(pkcs11_engine_path\):#\1:" \
+		-e "s:^\(pkcs11_module_path\):#\1:" \
+		wpa_supplicant.conf || die
+
+	# Change configuration to match Gentoo locations (bug #143750)
+	sed -i \
+		-e "s:/usr/lib/opensc:/usr/$(get_libdir):" \
+		-e "s:/usr/lib/pkcs11:/usr/$(get_libdir):" \
+		wpa_supplicant.conf || die
+
+	# systemd entries to D-Bus service files (bug #372877)
+	# echo 'SystemdService=wpa_supplicant.service' \
+	# 	| tee -a dbus/*.service >/dev/null || die
+
+	cd "${WORKDIR}/${P}" || die
+
+	if use wimax; then
+		# generate-libeap-peer.patch comes before
+		# fix-undefined-reference-to-random_get_bytes.patch
+		# epatch "${FILESDIR}/${P}-generate-libeap-peer.patch"
+
+		# multilib-strict fix (bug #373685)
+		sed -e "s/\/usr\/lib/\/usr\/$(get_libdir)/" -i src/eap_peer/Makefile || die
+	fi
+
+	# bug (320097)
+	# epatch "${FILESDIR}/${P}-do-not-call-dbus-functions-with-NULL-path.patch"
+
+	# TODO - NEED TESTING TO SEE IF STILL NEEDED, NOT COMPATIBLE WITH 1.0 OUT OF THE BOX,
+	# SO WOULD BE NICE TO JUST DROP IT, IF IT IS NOT NEEDED.
+	# bug (374089)
+	#epatch "${FILESDIR}/${P}-dbus-WPAIE-fix.patch"
+
+	# bug (565270)
+	# epatch "${FILESDIR}/${P}-libressl.patch"
+	default
+}
+
+src_configure() {
+	sanitizers-setup-env
+	# Toolchain setup
+	append-flags -Werror
+	tc-export CC
+
+	cp defconfig .config || die
+
+	# Basic setup
+	Kconfig_style_config CTRL_IFACE
+	Kconfig_style_config MATCH_IFACE
+	Kconfig_style_config BACKEND file
+	Kconfig_style_config IBSS_RSN
+	Kconfig_style_config IEEE80211W
+	Kconfig_style_config IEEE80211R
+	Kconfig_style_config IEEE80211N
+	Kconfig_style_config IEEE80211AC
+	Kconfig_style_config IEEE80211AX
+	Kconfig_style_config HT_OVERRIDES
+	Kconfig_style_config VHT_OVERRIDES
+	Kconfig_style_config OCV
+	Kconfig_style_config TLSV11
+	Kconfig_style_config TLSV12
+	Kconfig_style_config GETRANDOM
+
+	# Basic authentication methods
+	# NOTE: we don't set GPSK or SAKE as they conflict
+	# with the below options
+	Kconfig_style_config EAP_GTC
+	Kconfig_style_config EAP_MD5
+	Kconfig_style_config EAP_OTP
+	Kconfig_style_config EAP_PAX
+	Kconfig_style_config EAP_PSK
+	Kconfig_style_config EAP_TLV
+	Kconfig_style_config EAP_EXE
+	Kconfig_style_config IEEE8021X_EAPOL
+	Kconfig_style_config PKCS12
+	Kconfig_style_config PEERKEY
+	Kconfig_style_config EAP_LEAP
+	Kconfig_style_config EAP_MSCHAPV2
+	Kconfig_style_config EAP_PEAP
+	Kconfig_style_config EAP_TEAP
+	Kconfig_style_config EAP_TLS
+	Kconfig_style_config EAP_TTLS
+
+	# Enabling background scanning.
+	Kconfig_style_config BGSCAN_SIMPLE
+	Kconfig_style_config BGSCAN_LEARN
+
+	if use dbus ; then
+		Kconfig_style_config CTRL_IFACE_DBUS
+		Kconfig_style_config CTRL_IFACE_DBUS_NEW
+		Kconfig_style_config CTRL_IFACE_DBUS_INTRO
+	else
+		Kconfig_style_config CTRL_IFACE_DBUS n
+		Kconfig_style_config CTRL_IFACE_DBUS_NEW n
+		Kconfig_style_config CTRL_IFACE_DBUS_INTRO n
+	fi
+
+	# Enable support for writing debug info to a log file and syslog.
+	Kconfig_style_config DEBUG_FILE
+	Kconfig_style_config DEBUG_SYSLOG
+	Kconfig_style_config DEBUG_SYSLOG_FACILITY LOG_LOCAL6
+
+	if use hs2-0 ; then
+		Kconfig_style_config INTERWORKING
+		Kconfig_style_config HS20
+	fi
+
+	# Enable support for MBO (Multi-Band Operation), see
+	# https://www.wi-fi.org/discover-wi-fi/wi-fi-agile-multiband
+	if use mbo ; then
+		Kconfig_style_config MBO
+	else
+		Kconfig_style_config MBO n
+	fi
+
+	if use uncommon-eap-types; then
+		Kconfig_style_config EAP_GPSK
+		Kconfig_style_config EAP_SAKE
+		Kconfig_style_config EAP_GPSK_SHA256
+		Kconfig_style_config EAP_IKEV2
+		Kconfig_style_config EAP_EKE
+	fi
+
+	if use eap-sim ; then
+		# Smart card authentication
+		Kconfig_style_config EAP_SIM
+		Kconfig_style_config EAP_AKA
+		Kconfig_style_config EAP_AKA_PRIME
+		# CHROMIUM: We don't have smartcard support. Instead include the
+		# client library for external processing via the control interface.
+		# Kconfig_style_config PCSC
+		Kconfig_style_config BUILD_WPA_CLIENT_SO
+	fi
+
+	if use readline ; then
+		# readline/history support for wpa_cli
+		Kconfig_style_config READLINE
+	else
+		#internal line edit mode for wpa_cli
+		Kconfig_style_config WPA_CLI_EDIT
+	fi
+
+	Kconfig_style_config TLS openssl
+	Kconfig_style_config FST
+	if ! use bindist || use libressl; then
+		Kconfig_style_config EAP_PWD
+		#WPA3
+		Kconfig_style_config OWE
+		Kconfig_style_config SAE
+		Kconfig_style_config DPP
+		Kconfig_style_config SUITEB192
+	fi
+	if ! use bindist && ! use libressl; then
+		Kconfig_style_config SUITEB
+	fi
+
+	if use smartcard ; then
+		Kconfig_style_config SMARTCARD
+	else
+		Kconfig_style_config SMARTCARD n
+	fi
+
+	if use tdls ; then
+		Kconfig_style_config TDLS
+	fi
+
+	if use kernel_linux ; then
+		# Linux specific drivers
+		# Kconfig_style_config DRIVER_ATMEL
+		# Kconfig_style_config DRIVER_HOSTAP
+		# Kconfig_style_config DRIVER_IPW
+		Kconfig_style_config DRIVER_NL80211
+		# Kconfig_style_config DRIVER_RALINK
+		Kconfig_style_config DRIVER_WEXT
+		Kconfig_style_config DRIVER_WIRED
+
+		if use ps3 ; then
+			Kconfig_style_config DRIVER_PS3
+		fi
+
+	elif use kernel_FreeBSD ; then
+		# FreeBSD specific driver
+		Kconfig_style_config DRIVER_BSD
+	fi
+
+	# Wi-Fi Protected Setup (WPS)
+	if use wps ; then
+		Kconfig_style_config WPS
+		Kconfig_style_config WPS2
+		# USB Flash Drive
+		Kconfig_style_config WPS_UFD
+		# External Registrar
+		Kconfig_style_config WPS_ER
+		# Universal Plug'n'Play
+		Kconfig_style_config WPS_UPNP
+		# Near Field Communication
+		Kconfig_style_config WPS_NFC
+	else
+		Kconfig_style_config WPS n
+		Kconfig_style_config WPS2 n
+		Kconfig_style_config WPS_UFD n
+		Kconfig_style_config WPS_ER n
+		Kconfig_style_config WPS_UPNP n
+		Kconfig_style_config WPS_NFC n
+	fi
+
+	if use wep ; then
+		Kconfig_style_config WEP
+	fi
+
+	# Access Point Mode. Also, Wi-Fi Direct functionality requires the AP mode to be enabled.
+	if use ap || use p2p; then
+		Kconfig_style_config AP
+	else
+		Kconfig_style_config AP n
+	fi
+
+	# Wi-Fi Direct (WiDi)
+	if use p2p ; then
+		Kconfig_style_config P2P
+		Kconfig_style_config WIFI_DISPLAY
+	else
+		Kconfig_style_config P2P n
+		Kconfig_style_config WIFI_DISPLAY n
+	fi
+
+	# Only AP currently support mesh networks.
+	if use ap && use mesh; then
+		Kconfig_style_config MESH
+	else
+		Kconfig_style_config MESH      n
+	fi
+
+	# Enable mitigation against certain attacks against TKIP
+	Kconfig_style_config DELAYED_MIC_ERROR_REPORT
+
+	# Turn on 802.11v Wireless Network Management
+	if use wnm ; then
+		Kconfig_style_config WNM
+	else
+		Kconfig_style_config WNM       n
+	fi
+
+	if use qt5 ; then
+		pushd "${S}"/wpa_gui-qt4 > /dev/null || die
+		eqmake5 wpa_gui.pro
+		popd > /dev/null || die
+	fi
+}
+
+src_compile() {
+	# Fuzzers have to be built alone
+	if use fuzzer ; then
+		for f in "${FUZZERS[@]}"; do
+			einfo "Building ${f} fuzzer"
+			cd "../tests/fuzzing/${f}" || die
+			# Override the FUZZ_FLAGS to ensure we'll be able to build with
+			# address and memory sanitizer.
+			emake LIBFUZZER=1 FUZZ_FLAGS=-fsanitize=fuzzer
+			mv "${f}" "supplicant_${f}_fuzzer"
+			cd "${S}" || die
+		done
+		return
+	fi
+
+	einfo "Building wpa_supplicant"
+	emake V=1 BINDIR=/usr/sbin
+
+	if use wimax; then
+		emake -C ../src/eap_peer clean
+		emake -C ../src/eap_peer
+	fi
+
+	if use qt5; then
+		einfo "Building wpa_gui"
+		emake -C "${S}"/wpa_gui-qt4
+	fi
+}
+
+src_install() {
+	if use fuzzer ; then
+		local fuzzer_component_id="893827"
+		for f in "${FUZZERS[@]}"; do
+			fuzzer_install ../OWNERS \
+				"../tests/fuzzing/${f}/supplicant_${f}_fuzzer" \
+				--comp "${fuzzer_component_id}"
+		done
+		return
+	fi
+
+	dosbin wpa_supplicant
+	dobin wpa_cli wpa_passphrase
+
+	# baselayout-1 compat
+	if has_version "<sys-apps/baselayout-2.0.0"; then
+		dodir /sbin
+		dosym /usr/sbin/wpa_supplicant /sbin/wpa_supplicant
+		dodir /bin
+		dosym /usr/bin/wpa_cli /bin/wpa_cli
+	fi
+
+	if has_version ">=sys-apps/openrc-0.5.0"; then
+		newinitd "${FILESDIR}/${PN}-init.d" wpa_supplicant
+		newconfd "${FILESDIR}/${PN}-conf.d" wpa_supplicant
+	fi
+
+	dodoc ChangeLog {eap_testing,todo}.txt README{,-WPS} \
+		wpa_supplicant.conf
+
+	newdoc .config build-config
+
+	if use qt5 ; then
+		into /usr
+		dobin wpa_gui-qt4/wpa_gui
+		doicon wpa_gui-qt4/icons/wpa_gui.svg
+		make_desktop_entry wpa_gui "WPA Supplicant Administration GUI" "wpa_gui" "Qt;Network;"
+	fi
+
+	use wimax && emake DESTDIR="${D}" -C ../src/eap_peer install
+
+	if use eap-sim ; then
+		# Install this library and header for the external processor.
+		dolib.so libwpa_client.so
+
+		insinto /usr/include/wpa_supplicant
+		doins ../src/common/wpa_ctrl.h
+	fi
+
+	if use dbus ; then
+		# DBus introspection XML file.
+		insinto /usr/share/dbus-1/interfaces
+		doins ${FILESDIR}/dbus_bindings/fi.w1.wpa_supplicant1.xml || die
+		insinto /etc/dbus-1/system.d
+		# Allow (but don't require) wpa_supplicant to run as root only
+		# when building hwsim targets.
+		if use wifi_hostap_test; then
+			newins "${FILESDIR}"/dbus_permissions/root_fi.w1.wpa_supplicant1.conf \
+				fi.w1.wpa_supplicant1.conf
+		else
+			doins "${FILESDIR}"/dbus_permissions/fi.w1.wpa_supplicant1.conf
+		fi
+	fi
+	# Install the init scripts
+	if use systemd; then
+		insinto /usr/share
+		systemd_dounit ${FILESDIR}/init/wpasupplicant.service
+		systemd_enable_service boot-services.target wpasupplicant.service
+		systemd_dotmpfilesd ${FILESDIR}/init/wpasupplicant-directories.conf
+	else
+		insinto /etc/init
+		doins ${FILESDIR}/init/wpasupplicant.conf
+		if use seccomp; then
+			local policy="${FILESDIR}/seccomp/wpa_supplicant-${ARCH}.policy"
+			local policy_out="${ED}/usr/share/policy/wpa_supplicant.bpf"
+			dodir /usr/share/policy
+			compile_seccomp_policy \
+				--arch-json "${SYSROOT}/build/share/constants.json" \
+				--default-action trap "${policy}" "${policy_out}" \
+				|| die "failed to compile seccomp policy ${policy}"
+		else
+			sed -i '/^env seccomp_flags=/s:=.*:="":' \
+				"${ED}"/etc/init/wpasupplicant.conf || die
+		fi
+	fi
+}
+
+pkg_preinst() {
+	enewuser "wpa"
+	enewgroup "wpa"
+}
+
+pkg_postinst() {
+	if [[ -e ${ROOT}etc/wpa_supplicant.conf ]] ; then
+		echo
+		ewarn "WARNING: your old configuration file ${ROOT}etc/wpa_supplicant.conf"
+		ewarn "needs to be moved to ${ROOT}etc/wpa_supplicant/wpa_supplicant.conf"
+	fi
+
+	if use bindist; then
+		if ! use libressl; then
+			ewarn "Using bindist use flag presently breaks WPA3 (specifically SAE, OWE, DPP, and FILS)."
+			ewarn "This is incredibly undesirable"
+		fi
+	fi
+	if use libressl; then
+		ewarn "Libressl doesn't support SUITEB (part of WPA3)"
+		ewarn "but it does support SUITEB192 (the upgraded strength version of the same)"
+		ewarn "You probably don't care.  Patches welcome"
+	fi
+}
diff --git a/net-wireless/wpa_supplicant-cros/wpa_supplicant-cros-9999.ebuild b/net-wireless/wpa_supplicant-cros/wpa_supplicant-cros-9999.ebuild
index cd067cb..1832055 100644
--- a/net-wireless/wpa_supplicant-cros/wpa_supplicant-cros-9999.ebuild
+++ b/net-wireless/wpa_supplicant-cros/wpa_supplicant-cros-9999.ebuild
@@ -16,7 +16,7 @@
 
 SLOT="0"
 KEYWORDS="~*"
-IUSE="ap bindist dbus debug eap-sim fuzzer +hs2-0 libressl +mbo p2p ps3 qt5 readline +seccomp selinux smartcard supplicant-next systemd +tdls uncommon-eap-types +wep wifi_hostap_test +wnm wps kernel_linux kernel_FreeBSD wimax"
+IUSE="+ap bindist dbus debug eap-sim fuzzer +hs2-0 libressl +mbo mesh p2p ps3 qt5 readline +seccomp selinux smartcard supplicant-next systemd +tdls uncommon-eap-types +wep wifi_hostap_test +wnm wps kernel_linux kernel_FreeBSD wimax"
 
 CDEPEND="
 	chromeos-base/minijail
@@ -159,6 +159,7 @@
 	Kconfig_style_config IEEE80211R
 	Kconfig_style_config IEEE80211N
 	Kconfig_style_config IEEE80211AC
+	Kconfig_style_config IEEE80211AX
 	Kconfig_style_config HT_OVERRIDES
 	Kconfig_style_config VHT_OVERRIDES
 	Kconfig_style_config OCV
@@ -313,6 +314,13 @@
 		Kconfig_style_config WEP
 	fi
 
+	# Access Point Mode. Also, Wi-Fi Direct functionality requires the AP mode to be enabled.
+	if use ap || use p2p; then
+		Kconfig_style_config AP
+	else
+		Kconfig_style_config AP n
+	fi
+
 	# Wi-Fi Direct (WiDi)
 	if use p2p ; then
 		Kconfig_style_config P2P
@@ -322,14 +330,10 @@
 		Kconfig_style_config WIFI_DISPLAY n
 	fi
 
-	# Access Point Mode
-	if use ap ; then
-		Kconfig_style_config AP
-		# only AP currently support mesh networks.
+	# Only AP currently support mesh networks.
+	if use ap && use mesh; then
 		Kconfig_style_config MESH
 	else
-		# (ChromeOS) Explicitly disable to override enabling from defconfig.
-		Kconfig_style_config AP        n
 		Kconfig_style_config MESH      n
 	fi
 
diff --git a/profiles/OWNERS b/profiles/OWNERS
index c5ac62c..9c261c2 100644
--- a/profiles/OWNERS
+++ b/profiles/OWNERS
@@ -1,2 +1 @@
-set noparent
 include chromiumos/overlays/portage-stable:/profiles/OWNERS
diff --git a/profiles/base/make.defaults b/profiles/base/make.defaults
index 19f6d54..f3ad8eb 100644
--- a/profiles/base/make.defaults
+++ b/profiles/base/make.defaults
@@ -64,10 +64,6 @@
 # Small default list of enabled plugins for collectd
 COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog"
 
-# Tomáš Chvátal <scarabeus@gentoo.org> (26 Oct 2010)
-# By default enable all protocols for average GPS user
-GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx"
-
 # Benedikt Böhm <hollow@gentoo.org> (27 Nov 2007)
 # Sane defaults for built-in apache modules
 # Patrick Lauer <patrick@gentoo.org> (12 Oct 2012)
diff --git a/profiles/base/package.mask b/profiles/base/package.mask
index f501999..1bb912f 100644
--- a/profiles/base/package.mask
+++ b/profiles/base/package.mask
@@ -13,3 +13,4 @@
 sys-firmware/parade-ps8815a2-app-firmware
 sys-firmware/parade-ps8705a2-firmware
 sys-firmware/parade-ps8705a3-firmware
+sys-firmware/parade-ps8745a2-firmware
diff --git a/profiles/base/package.use.force b/profiles/base/package.use.force
index 47d76a9..5d3390d 100644
--- a/profiles/base/package.use.force
+++ b/profiles/base/package.use.force
@@ -20,3 +20,6 @@
 dev-lang/python-exec python_targets_python3_5
 dev-lang/python-exec python_targets_python3_6
 dev-lang/python-exec python_targets_python3_7
+dev-lang/python-exec python_targets_python3_8
+dev-lang/python-exec python_targets_python3_9
+dev-lang/python-exec python_targets_python3_10
diff --git a/profiles/base/profile.bashrc b/profiles/base/profile.bashrc
index f5c3244..7074090 100644
--- a/profiles/base/profile.bashrc
+++ b/profiles/base/profile.bashrc
@@ -18,7 +18,7 @@
 CROS_BUILD_BOARD_TREE="${SYSROOT}/build"
 CROS_BUILD_BOARD_BIN="${CROS_BUILD_BOARD_TREE}/bin"
 
-CROS_ADDONS_TREE="/usr/local/portage/chromiumos/chromeos"
+CROS_ADDONS_TREE="/mnt/host/source/src/third_party/chromiumos-overlay/chromeos"
 
 # Are we merging for the board sysroot, or for the cros sdk, or for
 # the target hardware?  Returns a string:
@@ -102,36 +102,6 @@
 	einfo "and ~/chromiumos/.cache/distfiles/ outside the chroot."
 }
 
-cros_emit_build_metric() {
-	# We only enable build metrics on servers currently, but we need to make
-	# sure the binpkgs they produce are usable when deployed for developers
-	# & DUTs.
-	local emit_metric="/mnt/host/source/chromite/bin/emit_metric"
-	if [[ -n "${BUILD_API_METRICS_LOG}" ]] && [[ -e "${emit_metric}" ]] ; then
-		local operation=$1
-		local phase=$2
-		local metric="emerge.${phase}.${CATEGORY}/${PF}"
-		local key="${metric}"
-		"${emit_metric}" "${operation}" "${metric}" "${key}"
-	fi
-}
-
-if [[ -n "${BUILD_API_METRICS_LOG}" ]] ; then
-	# Set up recording of Build API metrics events.
-	cros_setup_metric_events() {
-		# Avoid executing multiple times in a single build.
-		[[ ${cros_setup_metric_events_run+set} == "set" ]] && return
-
-		local phase
-		for phase in {src_{unpack,prepare,configure,compile,test,install},pkg_{{pre,post}{inst,rm},setup}} ; do
-			eval "cros_pre_${phase}_start_timer() { cros_emit_build_metric start-timer "${phase}" ; }"
-			eval "cros_post_${phase}_stop_timer() { cros_emit_build_metric stop-timer "${phase}" ; }"
-		done
-		export cros_setup_metric_events_run="yes"
-	}
-	cros_setup_metric_events
-fi
-
 # If we ran clang-tidy during the compile phase, we need to capture the build
 # logs, which contain the actual clang-tidy warnings.
 cros_pre_src_install_tidy_setup() {
@@ -151,26 +121,6 @@
 	PATH+=":${CROS_BUILD_BOARD_BIN}"
 }
 
-# The python-utils-r1.eclass:python_wrapper_setup installs a stub program named
-# `python2` when PYTHON_COMPAT only lists python-3 programs.  It's designed to
-# catch bad packages that still use `python2` even though we said not to.  We
-# normally expect packages installed by Gentoo to use specific versions like
-# `python2.7`, so the stub doesn't break things there.  In Chromium OS though,
-# our chromite code (by design) uses `python2`.  We don't install a copy via
-# the ebuild, so we wouldn't rewrite the she-bang.  Delete the stub since it
-# doesn't add a lot of value for us and breaks chromite.
-#
-# We can delete this code iif we only ever support a single major version of
-# Python in the entire system.  We'd have to drop all of Python 2 completely,
-# and never have Python 4 :).
-cros_post_pkg_setup_python_eclass_hack() {
-	rm -f "${T}"/python2.*/bin/python3
-}
-# A few packages run this during src_* phases.
-cros_post_src_compile_python_eclass_hack() {
-	cros_post_pkg_setup_python_eclass_hack
-}
-
 # We don't want builds to run tools directly like `gcc` or `clang` or
 # `pkg-config`.  This indicates the packages are written incorrectly and
 # would use the wrong toolchain for the board.  They might seem to work for
@@ -208,44 +158,40 @@
 		*/binutils:*|\
 		*/gcc:*|\
 		*/gdb:*|\
-		app-text/xmlto:*|\
+		app-text/xmlto:0.0.28|\
 		cross-*/gdb:*|\
 		dev-embedded/u-boot-tools:2018.05*|\
 		dev-libs/libffi:3.1*|\
 		dev-libs/libusb-compat:0.1.5*|\
-		dev-libs/lzo:*|\
-		dev-python/grpcio:*|\
-		dev-python/psutil:*|\
-		dev-util/patchutils:*|\
-		net-libs/libmnl:*|\
-		sys-apps/groff:*|\
-		sys-devel/m4:*|\
+		dev-libs/lzo:2.10*|\
+		dev-python/grpcio:1.23.0|\
+		dev-python/psutil:5.5.0|\
+		dev-util/patchutils:0.3.3|\
+		net-libs/libmnl:1.0.4*|\
+		sys-apps/groff:1.22*|\
+		sys-devel/m4:1.4.18*|\
 		sys-libs/binutils-libs:*|\
-		x11-libs/gdk-pixbuf:*) return 1;;
+		x11-libs/gdk-pixbuf:2.42.8) return 1;;
 		esac
 	}
 	_sdk_build_filter_gcc() {
 		case ${CATEGORY}/${PN}:${PV} in
 		cross-*/glibc:*|\
-		*/linux-headers:*|\
-		chromeos-base/ec-utils:*|\
+		*/linux-headers:4*|\
 		dev-embedded/u-boot-tools:2018.05*|\
-		dev-python/numpy:*|\
-		dev-util/ragel:*|\
+		dev-python/numpy:1.19.4|\
+		dev-util/ragel:6.10|\
 		net-misc/socat:1.7.3.2*|\
-		sys-boot/grub:*|\
-		sys-boot/syslinux:*|\
+		sys-boot/syslinux:6.04*|\
 		sys-libs/binutils-libs:*|\
-		sys-libs/libselinux:*) return 1;;
+		sys-libs/libselinux:3.0) return 1;;
 		esac
 	}
 	_sdk_build_filter_g++() {
 		return 0
 	}
 	_sdk_build_filter_clang() {
-		case ${CATEGORY}/${PN}:${PV} in
-		chromeos-base/ec-devutils:*) return 1;;
-		esac
+		return 0
 	}
 	_sdk_build_filter_clang++() {
 		return 0
@@ -270,9 +216,9 @@
 	_board_build_filter_pkg_config() {
 		case ${CATEGORY}/${PN}:${PV} in
 		app-benchmarks/lmbench:3.0*|\
-		app-emulation/docker:*|\
-		app-text/ghostscript-gpl:*|\
-		chromeos-base/autotest-tests-lakitu:*|\
+		app-emulation/docker:19*|\
+		app-emulation/docker:20*|\
+		app-text/ghostscript-gpl:9.55*|\
 		media-libs/arc-cros-gralloc:*|\
 		media-libs/arc-img-ddk:*|\
 		media-libs/arc-mali-drivers:*|\
@@ -289,13 +235,9 @@
 		media-libs/mesa-amd:*|\
 		media-libs/mesa-llvmpipe:*|\
 		net-analyzer/wireshark:*|\
-		net-dns/dnsmasq:*|\
+		net-dns/dnsmasq:2.85*|\
 		net-misc/dhcpcd:*|\
-		net-misc/improxy:*|\
-		sys-apps/cavium-n3fips-driver:*|\
-		sys-apps/fwupd:*|\
-		sys-apps/loadpin-trigger:*|\
-		sys-apps/snaggletooth-drivers:*|\
+		sys-apps/fwupd:1.8*|\
 		sys-boot/coreboot:*|\
 		sys-boot/depthcharge:*|\
 		sys-boot/loonix-u-boot:*|\
@@ -305,50 +247,43 @@
 		sys-kernel/arcvm-kernel-*:*|\
 		sys-kernel/chromeos-kernel-4_14:*|\
 		sys-kernel/chromeos-kernel-4_19:*|\
-		sys-kernel/chromeos-kernel-4_19-ht:*|\
 		sys-kernel/chromeos-kernel-4_4:*|\
 		sys-kernel/chromeos-kernel-5_10:*|\
+		sys-kernel/chromeos-kernel-5_10-cros:*|\
 		sys-kernel/chromeos-kernel-5_10-manatee:*|\
 		sys-kernel/chromeos-kernel-5_4:*|\
 		sys-kernel/chromeos-kernel-5_4-manatee:*|\
 		sys-kernel/chromeos-kernel-5_4-shadowkeep:*|\
-		sys-kernel/chromeos-kernel-experimental:*|\
-		sys-kernel/chromeos-kernel-falconlite-5_4:*|\
+		sys-kernel/chromeos-kernel-experimental:4.*|\
 		sys-kernel/chromeos-kernel-next:*|\
-		sys-kernel/chromeos-kernel-upstream:*|\
-		sys-kernel/dump-capture-kernel:*|\
+		sys-kernel/chromeos-kernel-upstream:5.18|\
 		sys-kernel/gasket:*|\
-		sys-kernel/gw-kernel-*:*|\
 		sys-kernel/kernel-beaglebone-*:*|\
-		sys-kernel/lakitu-kernel-*:*|\
 		sys-kernel/loonix-kernel-*:*|\
 		sys-kernel/raspberrypi-kernel:*|\
 		sys-kernel/ti-nokia-kernel:*|\
 		sys-kernel/upstream-kernel-*:*|\
-		sys-libs/efivar:*|\
-		x11-base/xwayland:*|\
+		sys-libs/efivar:37|\
+		x11-base/xwayland:1.20.8|\
 		x11-libs/arc-libdrm:*|\
-		x11-libs/cairo:*) return 1;;
+		x11-libs/cairo:1.17.4) return 1;;
 		esac
 	}
 	_board_build_filter_cc() {
 		case ${CATEGORY}/${PN}:${PV} in
-		app-benchmarks/sysbench:*|\
+		app-benchmarks/sysbench:1.0.10|\
 		dev-libs/libdaemon:*|\
 		dev-libs/libffi:3.1*|\
 		dev-libs/libusb-compat:0.1.5*|\
 		dev-python/grpcio:*|\
-		dev-python/psutil:*|\
-		media-libs/libogg:*|\
+		dev-python/psutil:5.5.0|\
+		media-libs/libogg:1.3.5|\
 		net-dns/avahi:*|\
 		net-libs/libmnl:*|\
 		net-libs/libnetfilter_cthelper:*|\
 		net-libs/libnetfilter_cttimeout:*|\
 		net-libs/libnetfilter_queue:*|\
 		net-libs/libnfnetlink:*|\
-		net-misc/nldaemon:*|\
-		net-wireless/openthread:*|\
-		net-wireless/ot-br-posix:*|\
 		sys-apps/groff:*|\
 		sys-apps/kbd:*|\
 		sys-apps/ureadahead:*|\
@@ -358,41 +293,37 @@
 		sys-devel/binutils:*|\
 		sys-devel/gdb:*|\
 		sys-devel/m4:*|\
-		sys-fs/rar2fs:*|\
-		sys-libs/gcc-libs:*|\
+		sys-fs/rar2fs:1.29.5|\
 		sys-libs/binutils-libs:*|\
 		x11-libs/gdk-pixbuf:*) return 1;;
 		esac
 	}
 	_board_build_filter_gcc() {
 		case ${CATEGORY}/${PN}:${PV} in
-		app-benchmarks/lmbench:3.0*|\
-		app-emulation/docker:*|\
+		app-emulation/docker:19*|\
+		app-emulation/docker:20*|\
 		chromeos-base/autotest-tests:*|\
 		chromeos-base/chromeos-ec:*|\
 		chromeos-base/chromeos-ish:*|\
-		chromeos-base/ec-utils:*|\
 		dev-go/syzkaller:*|\
-		dev-python/numpy:*|\
+		dev-python/numpy:1.19.4|\
 		media-libs/arc-img-ddk:*|\
 		media-libs/img-ddk:*|\
-		media-sound/gsm:*|\
+		media-sound/gsm:1.0.13|\
 		net-fs/autofs:*|\
 		net-misc/socat:1.7.3.2*|\
-		sys-apps/cavium-n3fips-tools:*|\
 		sys-block/blktrace:*|\
 		sys-boot/chromeos-mrc:*|\
 		sys-boot/coreboot:*|\
 		sys-boot/depthcharge:*|\
-		sys-boot/grub-lakitu:*|\
-		sys-boot/syslinux:*|\
+		sys-boot/syslinux:6.04*|\
 		sys-firmware/chromeos-fpmcu-release-bloonchipper:*|\
 		sys-firmware/chromeos-fpmcu-release-dartmonkey:*|\
 		sys-firmware/chromeos-fpmcu-release-nami:*|\
 		sys-firmware/chromeos-fpmcu-release-nocturne:*|\
 		sys-fs/mdadm:4.1*|\
 		sys-kernel/linux-headers:*|\
-		sys-libs/efivar:*) return 1;;
+		sys-libs/efivar:37) return 1;;
 		esac
 	}
 	_board_build_filter_g++() {
@@ -406,11 +337,10 @@
 		case ${CATEGORY}/${PN}:${PV} in
 		chromeos-base/autotest-tests-lakitu:*|\
 		chromeos-base/chromeos-ec:*|\
-		chromeos-base/ec-devutils:*|\
 		media-libs/arc-mali-drivers-bifrost:*|\
 		media-libs/mali-drivers-bifrost:*|\
 		media-libs/mali-drivers-valhall:*|\
-		net-libs/nodejs:*|\
+		net-libs/nodejs:12*|\
 		sys-boot/coreboot:*|\
 		sys-devel/arc-llvm:*|\
 		sys-devel/llvm:*) return 1;;
@@ -421,7 +351,7 @@
 		media-libs/arc-mali-drivers-bifrost:*|\
 		media-libs/mali-drivers-bifrost:*|\
 		media-libs/mali-drivers-valhall:*|\
-		net-libs/nodejs:*|\
+		net-libs/nodejs:12*|\
 		sys-devel/arc-llvm:*|\
 		sys-devel/llvm:*) return 1;;
 		esac
@@ -435,17 +365,13 @@
 		media-libs/mali-drivers-bifrost:*|\
 		sys-kernel/arcvm-kernel-*:*|\
 		sys-kernel/chromeos-kernel-*:*|\
-		sys-kernel/dump-capture-kernel:*|\
-		sys-kernel/lakitu-kernel-*:*|\
 		sys-kernel/raspberrypi-kernel:*|\
-		sys-kernel/upstream-kernel-*:*|\
-		sys-libs/gcc-libs:*) return 1;;
+		sys-kernel/upstream-kernel-*:*) return 1;;
 		esac
 	}
 	_board_build_filter_as() {
 		case ${CATEGORY}/${PN}:${PV} in
 		dev-embedded/coreboot-sdk:*|\
-		net-misc/nldaemon:*|\
 		sys-boot/coreboot:*) return 1;;
 		esac
 	}
@@ -475,22 +401,21 @@
 
 		cat <<EOF > "${dir}/${tool}"
 #!/bin/sh
-$(which eerror) "\$(
+$(type -P eerror) "\$(
 err() { echo "${tool}: ERROR: \$*"; }
 err "Do not call unprefixed tools directly."
 err "For board tools, use \\\`tc-export ${tcvar}\\\` (or \\\${CHOST}-${tool})."
 err "For build-time-only tools, \\\`tc-export BUILD_${tcvar}\\\` (or \\\${CBUILD}-${tool})."
 pstree -a -A -s -l \$\$
 )"
-$(which die) "Bad ${tool} [\$*] invocation"
+$(type -P die) "Bad ${tool} [\$*] invocation"
 exit 1
 EOF
 		chmod a+rx "${dir}/${tool}"
 	done
 
 	# Block uses of unallowed GCC/Binutils usage in ${ABI}-tool format.
-	# Temporarily allow haskell, ffmpeg (for ranlib), kernel (b/219990272)
-	# and bootstub (for objcopy) packages.
+	# Temporarily allow haskell, and bootstub (for objcopy) packages.
 	local prefixed_tool gnu_gcc_binutils_tools
 	mkdir -p "${dir}/gnu_tools"
 	gnu_gcc_binutils_tools=(ar gcc ld nm objcopy ranlib strip)
@@ -500,22 +425,20 @@
 			dev-haskell/*:*|\
 			dev-lang/ghc:*|\
 			dev-util/shellcheck:*|\
-			media-video/ffmpeg:*|\
 			sys-boot/bootstub:*|\
-			sys-kernel/chromeos-kernel-*:*|\
 			*/linux-headers:*) continue
 			;;
 		esac
 		for prefixed_tool in "${CHOST}-${tool}" "${CBUILD}-${tool}"; do
 			cat <<EOF2 > "${dir}/gnu_tools/${prefixed_tool}"
 #!/bin/sh
-$(which eerror) "\$(
+$(type -P eerror) "\$(
 err() { echo "${prefixed_tool}: ERROR: \$*"; }
 err "Unexpected use of GCC/GNU Binutils."
 err "If this use is necessary, please call cros_allow_gnu_build_tools in the ebuild"
 pstree -a -A -s -l \$\$
 )"
-$(which die) "Unexpected ${prefixed_tool} [\$*] invocation"
+$(type -P die) "Unexpected ${prefixed_tool} [\$*] invocation"
 exit 1
 EOF2
 			chmod a+rx "${dir}/gnu_tools/${prefixed_tool}"
@@ -720,6 +643,22 @@
 		echo "${CATEGORY}/${PF} ${EBUILD_PHASE:-"unknown"}" \
 			 >> "${CROS_METRICS_DIR}/FAILED_PACKAGES"
 	fi
+
+	# Failures in these phases are often due to broken generation, so include
+	# the logs if they exist.
+	case ${EBUILD_PHASE} in
+	unpack|prepare|configure)
+		local f
+		for f in libtoolize aclocal autoconf autoheader automake autopoint; do
+			f="${T}/${f}.out"
+			if [[ -e ${f} ]]; then
+				echo "### START ${f} ###"
+				cat "${f}"
+				echo "### END ${f} ###"
+			fi
+		done
+		;;
+	esac
 }
 
 cros_optimize_package_for_speed() {
@@ -729,6 +668,7 @@
 	# flags and substitute their own anyway.
 	export CFLAGS+=" -O2"
 	export CXXFLAGS+=" -O2"
+	CROS_RUST_PACKAGE_IS_HOT=1
 }
 
 register_die_hook cros_log_failed_packages
diff --git a/profiles/default/linux/arm64/10.0/chromeos/README.md b/profiles/default/linux/arm64/10.0/chromeos/README.md
new file mode 100644
index 0000000..27e2fc2
--- /dev/null
+++ b/profiles/default/linux/arm64/10.0/chromeos/README.md
@@ -0,0 +1 @@
+This profile controls the usage of libraries for arm64 architecture.
diff --git a/profiles/default/linux/arm64/10.0/chromeos/make.defaults b/profiles/default/linux/arm64/10.0/chromeos/make.defaults
new file mode 100644
index 0000000..3702ce8
--- /dev/null
+++ b/profiles/default/linux/arm64/10.0/chromeos/make.defaults
@@ -0,0 +1,10 @@
+# Initial value just for style purposes.
+USE=""
+
+# No ARM64 handwriting library yet.
+USE="${USE} -ondevice_handwriting"
+
+# mosys_platform_generic is set by default in chromiumos:targets/chromeos.
+# Remove mosys_platform_generic from boards that inherit arm64 support to
+# prevent multiple mosys_platform USE flags.
+USE="${USE} -mosys_platform_generic"
diff --git a/profiles/default/linux/package.mask/gperf b/profiles/default/linux/package.mask/gperf
deleted file mode 100644
index 1621228..0000000
--- a/profiles/default/linux/package.mask/gperf
+++ /dev/null
@@ -1,5 +0,0 @@
-# Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-# Chrome cannot compile WebKit with gperf 3.0.4
->dev-util/gperf-3.0.3
diff --git a/profiles/default/linux/package.use b/profiles/default/linux/package.use
index 0a8085d..09a382f 100644
--- a/profiles/default/linux/package.use
+++ b/profiles/default/linux/package.use
@@ -17,7 +17,6 @@
 dev-libs/gmp		-cxx
 dev-libs/libevent	-ssl -threads
 dev-perl/GD             png
-dev-python/pyudev	pygobject
 # This requires deps we haven't imported (zeromq) and doesn't seem worth the
 # effort at this time.
 dev-python/ipython -smp
@@ -75,6 +74,7 @@
 sys-kernel/chromeos-kernel-4_14 kernel_afdo
 sys-kernel/chromeos-kernel-4_19 kernel_afdo
 sys-kernel/chromeos-kernel-5_4 kernel_afdo
+sys-kernel/chromeos-kernel-5_10 kernel_afdo
 
 # start using coreboot-sdk across firmware packages
 sys-boot/coreboot		coreboot-sdk
@@ -92,3 +92,17 @@
 
 # Use the dedicated python-magic package.
 sys-apps/file -python
+
+# libxcrypt replaces glibc libcrypt system-wide.
+# TODO(toolchain): drop the libxcrypt system use flag and fix all breaking packages
+# to properly include/link libxcrypt from its xcrypt subdir
+sys-libs/libxcrypt				system
+cross-aarch64-cros-linux-gnu/libxcrypt		system
+cross-x86_64-cros-linux-gnu/libxcrypt		system
+cross-i686-cros-linux-gnu/libxcrypt		system
+cross-armv7a-cros-linux-gnueabihf/libxcrypt	system
+sys-libs/glibc					-crypt
+cross-aarch64-cros-linux-gnu/glibc		-crypt
+cross-x86_64-cros-linux-gnu/glibc 		-crypt
+cross-i686-cros-linux-gnu/glibc			-crypt
+cross-armv7a-cros-linux-gnueabihf/glibc		-crypt
diff --git a/profiles/features/2gb-rootfs/README.md b/profiles/features/2gb-rootfs/README.md
new file mode 100644
index 0000000..2f283d3
--- /dev/null
+++ b/profiles/features/2gb-rootfs/README.md
@@ -0,0 +1,3 @@
+This profile disables newer optional features to avoid running out of
+space on older devices whose rootfs is only 2GB. All 2GB boards should inherit
+this profile.
diff --git a/profiles/features/2gb-rootfs/make.defaults b/profiles/features/2gb-rootfs/make.defaults
new file mode 100644
index 0000000..9071bca
--- /dev/null
+++ b/profiles/features/2gb-rootfs/make.defaults
@@ -0,0 +1,24 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Initial value just for style purposes.
+USE=""
+
+# Disable on-device grammar check for boards with 2GB rootfs.
+USE="${USE} -ondevice_grammar"
+
+# Disable on-device text suggestions.
+USE="${USE} -ondevice_text_suggestions"
+
+# Disable on-device handwriting.
+USE="${USE} -ondevice_handwriting"
+
+# Enable document scanning by DLC due to insufficient rootfs.
+USE="${USE} -ondevice_document_scanner ondevice_document_scanner_dlc"
+
+# Disable Floss Bluetooth
+USE="${USE} -floss"
+
+# Disable extra Japanese fonts.
+USE="${USE} -extra_japanese_fonts"
diff --git a/profiles/features/embedded/make.defaults b/profiles/features/embedded/make.defaults
index 8ae385c..ed4ec9d 100644
--- a/profiles/features/embedded/make.defaults
+++ b/profiles/features/embedded/make.defaults
@@ -24,10 +24,10 @@
 # out any locally-collected metrics, in the absence of Chrome.
 USE="${USE} metrics_uploader"
 
-# Disable ML Service until/unless features on embedded devices need it. Also
-# disable on-device grammar check and text suggestions since they depend on
-# ML Service to function.
+# Disable ML Service until/unless features on embedded devices need it.
+# Also disable features that depend on ML Service to function.
 USE="${USE} -ml_service -ondevice_grammar -ondevice_text_suggestions"
+USE="${USE} -ondevice_handwriting"
 
 # Disable usbguard and usb_bouncer on embedded CrOS because they currently only
 # protect the lockscreen.
@@ -37,7 +37,7 @@
 USE="${USE} -kerberos -kerberos_daemon -system_proxy"
 
 # Disable filesystem extensions.
-USE="${USE} -drivefs -samba -smbprovider"
+USE="${USE} -drivefs -fusebox -samba -smbprovider"
 
 # Disable the diagnostics and telemetry daemon. Features not evaluated on
 # embedded devices.
@@ -88,11 +88,17 @@
 # Disable Bluetooth (both Bluez and Floss).
 USE="${USE} -bluetooth -floss"
 
+# Disable RGB Keyboard daemon.
+USE="${USE} -rgbkbd"
+
 # Disable disk usage daemon.
 USE="${USE} -spaced"
 
 # Disable ML benchmarking
 USE="${USE} -ml_benchmark_drivers"
 
+# Disable mojo service manager.
+USE="${USE} -mojo_service_manager"
+
 # Make each board select the firmware it needs.
 LINUX_FIRMWARE="-*"
diff --git a/profiles/features/embedded/package.use b/profiles/features/embedded/package.use
index 8352ebcf..e7ba273 100644
--- a/profiles/features/embedded/package.use
+++ b/profiles/features/embedded/package.use
@@ -1,4 +1,4 @@
 chromeos-base/chromeos-chrome	-accessibility -autotest -build_tests -chrome_remoting -nacl -reorder
 chromeos-base/chromeos-init	vt
-media-sound/adhd		-cras-apm
+media-sound/adhd		-cras-apm -cras-ml
 net-wireless/wpa_supplicant-cros -smartcard
diff --git a/profiles/features/kernel/buildtest/package.use b/profiles/features/kernel/buildtest/package.use
index 889177c..7e48683 100644
--- a/profiles/features/kernel/buildtest/package.use
+++ b/profiles/features/kernel/buildtest/package.use
@@ -6,7 +6,7 @@
 # For chromeos-4.19 and later we can build with clang and lld.
 sys-kernel/chromeos-kernel-4_19 buildtest -kernel_afdo -llvm_ias
 sys-kernel/chromeos-kernel-5_4 buildtest -kernel_afdo
-sys-kernel/chromeos-kernel-5_10 buildtest
+sys-kernel/chromeos-kernel-5_10 buildtest -kernel_afdo
 sys-kernel/chromeos-kernel-5_15 buildtest
 sys-kernel/chromeos-kernel-experimental buildtest
 sys-kernel/chromeos-kernel-next buildtest
diff --git a/profiles/features/kernel/debug/package.use b/profiles/features/kernel/debug/package.use
index 39deaf5..3d8cf03 100644
--- a/profiles/features/kernel/debug/package.use
+++ b/profiles/features/kernel/debug/package.use
@@ -1,8 +1,8 @@
-sys-kernel/chromeos-kernel-4_4 debug kcov
-sys-kernel/chromeos-kernel-4_14 debug kcov
-sys-kernel/chromeos-kernel-4_19 debug kcov
-sys-kernel/chromeos-kernel-5_4 debug kcov
-sys-kernel/chromeos-kernel-5_10 debug kcov
-sys-kernel/chromeos-kernel-5_15 debug kcov
-sys-kernel/chromeos-kernel-experimental debug kcov
-sys-kernel/chromeos-kernel-next debug kcov
+sys-kernel/chromeos-kernel-4_4 debug kcov lockdebug
+sys-kernel/chromeos-kernel-4_14 debug kcov lockdebug
+sys-kernel/chromeos-kernel-4_19 debug kcov lockdebug
+sys-kernel/chromeos-kernel-5_4 debug kcov lockdebug
+sys-kernel/chromeos-kernel-5_10 debug kcov lockdebug
+sys-kernel/chromeos-kernel-5_15 debug kcov lockdebug
+sys-kernel/chromeos-kernel-experimental debug kcov lockdebug
+sys-kernel/chromeos-kernel-next debug kcov lockdebug
diff --git a/profiles/features/minimal/make.defaults b/profiles/features/minimal/make.defaults
index 10257b5..ca245d5 100644
--- a/profiles/features/minimal/make.defaults
+++ b/profiles/features/minimal/make.defaults
@@ -34,6 +34,7 @@
 USE="${USE} -cros_disks cros_embedded -diagnostics -debugd -encrypted_stateful"
 USE="${USE} -featured -gdmwimax -iioservice -lorgnette -memd -mist -missive -ml_service"
 USE="${USE} -ondevice_grammar -ondevice_text_suggestions -pam -passive_metrics"
+USE="${USE} -ondevice_handwriting"
 USE="${USE} -perfetto -power_management -scanner -secanomalyd -tpm -usb_bouncer"
 USE="${USE} -usbguard -vpn -wimax"
 
@@ -41,7 +42,7 @@
 USE="${USE} -kerberos -kerberos_daemon -system_proxy"
 
 # Disable filesystem extensions.
-USE="${USE} -drivefs -samba -smbprovider"
+USE="${USE} -drivefs -fusebox -samba -smbprovider"
 
 # Remove most of the unused firmware in kernel build (see crbug.com/378877).
 USE="${USE} -firmware_install"
@@ -79,11 +80,17 @@
 # Disable Runtime AVL Compliance Check (RACC) packages
 USE="${USE} -racc"
 
+# Disable RGB Keyboard daemon.
+USE="${USE} -rgbkbd"
+
 # Disable disk usage daemon.
 USE="${USE} -spaced"
 
 # Disable ML benchmarking
 USE="${USE} -ml_benchmark_drivers"
 
+# Disable mojo service manager.
+USE="${USE} -mojo_service_manager"
+
 # Make each board select the firmware it needs.
 LINUX_FIRMWARE=""
diff --git a/profiles/features/minimal/package.use b/profiles/features/minimal/package.use
index 64bbda8..9d8cc11 100644
--- a/profiles/features/minimal/package.use
+++ b/profiles/features/minimal/package.use
@@ -2,6 +2,6 @@
 chromeos-base/chromeos-chrome	-accessibility -autotest -build_tests -chrome_remoting -nacl -reorder
 chromeos-base/chromeos-init	vt
 chromeos-base/update_engine -cros_p2p
-media-sound/adhd		-cras-apm
+media-sound/adhd		-cras-apm -cras-ml
 net-wireless/wpa_supplicant-cros -smartcard
 sys-libs/gcc-libs		-go
diff --git a/profiles/features/tpm/README.md b/profiles/features/tpm/README.md
new file mode 100644
index 0000000..e2c4671
--- /dev/null
+++ b/profiles/features/tpm/README.md
@@ -0,0 +1,13 @@
+Control USE flags of packages regarding TPM support.
+
+'deselect-all-tpm' disables all of the USE flags that control TPM related
+features to build, so the developer can safely control all TPM related flags
+instead of conflicting with inherited flags.
+
+To add this profile to an existing overlay:
+1.  Create a new subdirectory within the given overlay's "profiles" directory.
+2.  Add a "parent" file to the new subdirectory with the below two lines:
+  ```
+  ../base
+  chromiumos:features/tpm/deselect-all-tpm
+  ```
diff --git a/profiles/features/tpm/deselect-all-tpm/make.defaults b/profiles/features/tpm/deselect-all-tpm/make.defaults
new file mode 100644
index 0000000..076242d
--- /dev/null
+++ b/profiles/features/tpm/deselect-all-tpm/make.defaults
@@ -0,0 +1,19 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+USE=""
+
+# Disable the TPM version related flags.
+USE="${USE} -tpm -tpm2 -generic_tpm2"
+
+# Disable the runtime TPM selection.
+USE="${USE} -tpm_dynamic"
+
+# Disable the TPM fallback features.
+USE="${USE} -mocktpm -tpm_insecure_fallback"
+
+# Disable the TPM simulator related flags.
+USE="${USE} -tpm2_simulator -tpm2_simulator_manufacturer"
+
+# Disable the TPM simulator related flags in kernel.
+USE="${USE} -vtpm_proxy"
diff --git a/profiles/targets/chromeos/make.defaults b/profiles/targets/chromeos/make.defaults
index 7004d6f..8db7cc7 100644
--- a/profiles/targets/chromeos/make.defaults
+++ b/profiles/targets/chromeos/make.defaults
@@ -21,6 +21,7 @@
 USE="${USE} ime"
 USE="${USE} memd"
 USE="${USE} ml_service ondevice_grammar ondevice_text_suggestions"
+USE="${USE} ondevice_handwriting"
 USE="${USE} pinweaver"
 USE="${USE} resourced"
 USE="${USE} smartdim"
@@ -112,15 +113,33 @@
 # Enable feature daemon.
 USE="${USE} featured"
 
+# Enable fusebox daemon.
+USE="${USE} fusebox"
+
 # Enable Runtime AVL Compliance Check (RACC) packages
 USE="${USE} racc"
 
 # Enable disk usage daemon.
 USE="${USE} spaced"
 
+# Enable RGB Keyboard daemon.
+USE="${USE} rgbkbd"
+
 # Enable ML benchmarking in test images
 USE="${USE} ml_benchmark_drivers"
 
+# Enable extra Japanse fonts by default.
+USE="${USE} extra_japanese_fonts"
+
+# Enable generic mosys platform by default.
+USE="${USE} mosys_platform_generic"
+
+# Enable cras-ml
+USE="${USE} cras-ml"
+
+# Enable mojo service manager by default.
+USE="${USE} mojo_service_manager"
+
 # Disable tty2 console.
 TTY_CONSOLE="-tty2"
 
@@ -145,7 +164,8 @@
 FEATURES="allow-missing-manifests buildpkg clean-logs -collision-protect
           -ebuild-locks force-mirror nodoc noinfo noman -merge-sync -pid-sandbox
           parallel-install -preserve-libs sandbox splitdebug -strict userfetch
-          userpriv usersandbox -unknown-features-warn network-sandbox"
+          userpriv usersandbox -unknown-features-warn network-sandbox
+          -binpkg-multi-instance"
 
 # We reset compiler settings as the base ones are generic (just -O2) and our
 # common make.conf already adds those and more.
@@ -175,3 +195,7 @@
 
 # Default kernel config family.
 CHROMEOS_KERNEL_FAMILY="chromeos"
+
+# Force Python 3.6 for ebuilds using python-any-r1 until Python 3.8 is deemed
+# stable for use.
+PYTHON_COMPAT_OVERRIDE="python3_6"
diff --git a/profiles/targets/chromeos/package.mask b/profiles/targets/chromeos/package.mask
index 5e0fd0b..30408de 100644
--- a/profiles/targets/chromeos/package.mask
+++ b/profiles/targets/chromeos/package.mask
@@ -22,3 +22,7 @@
 =sys-devel/llvm-15.0_pre*
 =sys-devel/llvm-16.0_pre*
 =sys-devel/llvm-17.0_pre*
+
+# Don't build Python 3.8 for boards as it is initially introduced only for
+# the SDK.
+>=dev-lang/python-3.8
diff --git a/profiles/targets/chromeos/package.provided b/profiles/targets/chromeos/package.provided
index 1d7c1a1..4d5554d 100644
--- a/profiles/targets/chromeos/package.provided
+++ b/profiles/targets/chromeos/package.provided
@@ -134,8 +134,8 @@
 dev-util/boost-build-1.65.0
 
 # We don't need the toolchain itself in the target board.
-dev-lang/rust-1.51.0
-dev-lang/rust-1.58.1
+dev-lang/rust-1.60.0
+dev-lang/rust-host-1.60.0
 
 # We don't need code generators on the target board.
 dev-rust/bindgen-0.56.0-r2
diff --git a/profiles/targets/chromeos/package.use b/profiles/targets/chromeos/package.use
index aff0ca0..db721af 100644
--- a/profiles/targets/chromeos/package.use
+++ b/profiles/targets/chromeos/package.use
@@ -41,7 +41,6 @@
 dev-libs/opensc	-pcsc-lite ctapi
 dev-libs/openssl	pkcs11 -tls-heartbeat
 dev-python/pygobject	-cairo
-dev-python/pyudev	pygobject
 dev-util/dialog		-unicode minimal
 dev-util/perf		-audit -doc -demangle -tui -ncurses -perl -python -slang -unwind
 chromeos-base/chromeos-chrome   build_tests
@@ -82,8 +81,9 @@
 # Also |messages| is for enabling POST processor in the library.
 net-libs/libmicrohttpd	ssl messages
 net-libs/libsoup	-ssl
-# TODO(b/172893124): Enable http2
-net-misc/curl		adns -ftp -imap kerberos -http2 -pop3 -progress-meter -smtp -tftp
+# Disable boost.asio in net-libs/nghttp2 (b/172893124).
+net-libs/nghttp2	-cxx
+net-misc/curl		adns -ftp -imap kerberos -pop3 -progress-meter -smtp -tftp
 net-misc/dhcpcd		crash
 net-misc/iperf		threads
 # arping is used by some wifi autotests.
@@ -104,7 +104,6 @@
 # No support for bluetooth printing.
 net-wireless/bluez	-cups
 net-wireless/wpa_supplicant-cros	dbus debug -readline smartcard
-sci-geosciences/gpsd	-python -ntp -X dbus garmin minimal ocean tntc usb -sockets
 # Build only TF lite to save disk space.
 sci-libs/tensorflow	-python minimal
 chromeos-base/tensorflow-internal	-python minimal
@@ -113,7 +112,7 @@
 sys-apps/coreutils	multicall
 sys-apps/dbus		-X
 sys-apps/fwupd		-gpg -man pkcs7 synaptics thunderbolt
-sys-apps/hwids		-net
+sys-apps/hwdata		-net -usb
 sys-apps/mawk		forced-sandbox
 sys-apps/sed		forced-sandbox
 sys-apps/smartmontools	minimal -daemon
@@ -166,92 +165,3 @@
 # We don't need Python in these packages, so save some space.
 dev-libs/boost -python
 sys-apps/flashmap -python
-
-# Freeze Python 2.7 versions for all existing packages.  We'll slowly trim this
-# list down as packages don't need them.  New packages should *not* be added
-# here as new code should be using Python 3.
-# TODO(crbug.com/1007152): Trim this entirely!
-chromeos-base/telemetry python_targets_python2_7
-dev-python/btsocket python_targets_python2_7
-dev-python/certifi python_targets_python2_7
-dev-python/cffi python_targets_python2_7
-dev-python/chardet python_targets_python2_7
-dev-python/cheroot python_targets_python2_7
-dev-python/cherrypy python_targets_python2_7
-dev-python/contextlib2 python_targets_python2_7
-dev-python/cryptography python_targets_python2_7
-dev-python/cycler python_targets_python2_7
-dev-python/cython python_targets_python2_7
-dev-python/dbus-python python_targets_python2_7
-dev-python/django python_targets_python2_7
-dev-python/dpkt python_targets_python2_7
-dev-python/grpcio python_targets_python2_7
-dev-python/idna python_targets_python2_7
-dev-python/imaging python_targets_python2_7
-dev-python/jaraco-functools python_targets_python2_7
-dev-python/kiwisolver python_targets_python2_7
-dev-python/linecache2 python_targets_python2_7
-dev-python/lockfile python_targets_python2_7
-dev-python/lxml python_targets_python2_7
-dev-python/markupsafe python_targets_python2_7
-dev-python/matplotlib python_targets_python2_7
-dev-python/mkvparse python_targets_python2_7
-dev-python/mock python_targets_python2_7
-dev-python/more-itertools python_targets_python2_7
-dev-python/mysqlclient python_targets_python2_7
-dev-python/namespace-google python_targets_python2_7
-dev-python/namespace-jaraco python_targets_python2_7
-dev-python/numpy python_targets_python2_7
-dev-python/pbr python_targets_python2_7
-dev-python/pexpect python_targets_python2_7
-dev-python/ply python_targets_python2_7
-dev-python/portend python_targets_python2_7
-dev-python/protobuf-python python_targets_python2_7
-dev-python/psutil python_targets_python2_7
-dev-python/ptyprocess python_targets_python2_7
-dev-python/py python_targets_python2_7
-dev-python/pycparser python_targets_python2_7
-dev-python/pygobject python_targets_python2_7
-dev-python/pyopenssl python_targets_python2_7
-dev-python/pyparsing python_targets_python2_7
-dev-python/PySocks python_targets_python2_7
-dev-python/python-dateutil python_targets_python2_7
-dev-python/python-uinput python_targets_python2_7
-dev-python/pytz python_targets_python2_7
-dev-python/pyudev python_targets_python2_7
-dev-python/pyusb python_targets_python2_7
-dev-python/pyxattr python_targets_python2_7
-dev-python/pyyaml python_targets_python2_7
-dev-python/requests python_targets_python2_7
-dev-python/scandir python_targets_python2_7
-dev-python/selenium python_targets_python2_7
-dev-python/setuptools python_targets_python2_7
-dev-python/setuptools_scm python_targets_python2_7
-dev-python/six python_targets_python2_7
-dev-python/tempora python_targets_python2_7
-dev-python/traceback2 python_targets_python2_7
-dev-python/trollius python_targets_python2_7
-dev-python/urllib3 python_targets_python2_7
-dev-python/versioneer python_targets_python2_7
-dev-python/zc-lockfile python_targets_python2_7
-
-# These packages only support Python 2.7.  They aren't needed in Python 3.6+.
-# TODO(crbug.com/1007152): Trim this entirely!
-dev-python/backports-functools-lru-cache python_targets_python2_7 -python_targets_python3_6
-dev-python/enum34 python_targets_python2_7 -python_targets_python3_6
-dev-python/funcsigs python_targets_python2_7
-dev-python/functools32 python_targets_python2_7 -python_targets_python3_6
-dev-python/futures python_targets_python2_7 -python_targets_python3_6
-dev-python/ipaddress python_targets_python2_7 -python_targets_python3_6
-dev-python/mox python_targets_python2_7 -python_targets_python3_6
-dev-python/pathlib python_targets_python2_7 -python_targets_python3_6
-dev-python/subprocess32 python_targets_python2_7 -python_targets_python3_6
-virtual/python-enum34 python_targets_python2_7
-virtual/python-funcsigs python_targets_python2_7
-virtual/python-futures python_targets_python2_7
-
-# To permit images without Python2.7, these packages must only depend
-# conditionally on Python2-only packages. These entries keep those
-# dependencies enabled by default.
-virtual/target-chromium-os-dev python_targets_python2_7
-virtual/target-chromium-os-test python_targets_python2_7
diff --git a/profiles/targets/sdk/make.defaults b/profiles/targets/sdk/make.defaults
index 2d4e39a..3388900 100644
--- a/profiles/targets/sdk/make.defaults
+++ b/profiles/targets/sdk/make.defaults
@@ -41,7 +41,8 @@
 FEATURES="allow-missing-manifests buildpkg clean-logs -collision-protect
           -ebuild-locks force-mirror -merge-sync -pid-sandbox
           parallel-install preserve-libs sandbox -strict userfetch
-          userpriv usersandbox -unknown-features-warn network-sandbox"
+          userpriv usersandbox -unknown-features-warn network-sandbox
+          -binpkg-multi-instance"
 
 # This is used by profiles/base/profile.bashrc to figure out that we
 # are targeting the cros-sdk (in all its various modes).  It should
@@ -49,8 +50,8 @@
 CROS_SDK_HOST="cros-sdk-host"
 
 # Qemu targets we care about.
-QEMU_SOFTMMU_TARGETS="aarch64 arm i386 mips mips64 mips64el mipsel x86_64"
-QEMU_USER_TARGETS="aarch64 arm i386 mips mips64 mips64el mipsel x86_64"
+QEMU_SOFTMMU_TARGETS="aarch64 arm i386 x86_64"
+QEMU_USER_TARGETS="aarch64 arm i386 x86_64"
 
 # Various compiler defaults.  Should be no arch-specific bits here.
 CFLAGS="-O2 -pipe"
@@ -61,8 +62,8 @@
 SYMLINK_LIB="yes"
 
 # Default target(s) for python-r1.eclass
-PYTHON_TARGETS="-python2_7 python3_6"
-PYTHON_SINGLE_TARGET="-python2_7 python3_6"
+PYTHON_TARGETS="python3_6"
+PYTHON_SINGLE_TARGET="python3_6"
 
 # Use clang as the default compiler.
 CC=x86_64-pc-linux-gnu-clang
diff --git a/profiles/targets/sdk/package.use b/profiles/targets/sdk/package.use
index 323a952..63b3592 100644
--- a/profiles/targets/sdk/package.use
+++ b/profiles/targets/sdk/package.use
@@ -6,7 +6,6 @@
 # link this to avoid library mismatch errors.  http://crosbug.com/32519
 app-arch/bzip2 static-libs
 app-arch/lbzip2 static
-app-arch/pbzip2 static
 # Same for pigz.
 app-arch/pigz static
 sys-libs/zlib static-libs
@@ -26,6 +25,9 @@
 dev-python/setuptools python_targets_pypy3
 dev-python/certifi python_targets_pypy3
 
+# Start rolling out Python 3.8.
+virtual/target-chromium-os-sdk python_targets_python3_8
+
 # Use pcre2 rather than pcre as everything else has moved.
 sys-libs/libselinux pcre2
 
@@ -38,6 +40,9 @@
 net-libs/libslirp static-libs
 sys-apps/attr static-libs
 
+# mkfs.erofs needs selinux for SELinux context labeling.
+sys-fs/erofs-utils selinux
+
 # mksquashfs used in build_image requires lzo/lz4/zstd support.
 # Also include lzma compressor for flexibility.
 # For SELinux context labeling it also needs selinux.
@@ -90,7 +95,6 @@
 cross-armv7a-cros-linux-gnueabi/gdb	xml
 cross-armv7a-cros-linux-gnueabihf/gdb	xml
 cross-i686-cros-linux-gnu/gdb	xml
-cross-i686-pc-linux-gnu/gdb	xml
 cross-mipsel-cros-linux-gnu/gdb	xml
 cross-x86_64-cros-linux-gnu/gdb	xml
 
@@ -149,91 +153,10 @@
 # isn't in our tree and it shouldn't be necessary.
 app-editors/vim -crypt
 
-# Freeze Python 2.7 versions for all existing packages.  We'll slowly trim this
-# list down as packages don't need them.  New packages should *not* be added
-# here as new code should be using Python 3.
-# TODO(crbug.com/1007152): Trim this entirely!
-chromeos-base/chromite-sdk python_targets_python2_7
-dev-python/btsocket python_targets_python2_7
-dev-python/certifi python_targets_python2_7
-dev-python/cffi python_targets_python2_7
-dev-python/chardet python_targets_python2_7
-dev-python/cheroot python_targets_python2_7
-dev-python/cherrypy python_targets_python2_7
-dev-python/contextlib2 python_targets_python2_7
-dev-python/cryptography python_targets_python2_7
-dev-python/cycler python_targets_python2_7
-dev-python/cython python_targets_python2_7
-dev-python/dbus-python python_targets_python2_7
-dev-python/django python_targets_python2_7
-dev-python/dpkt python_targets_python2_7
-dev-python/grpcio python_targets_python2_7
-dev-python/grpcio-tools python_targets_python2_7
-dev-python/idna python_targets_python2_7
-dev-python/imaging python_targets_python2_7
-dev-python/jaraco-functools python_targets_python2_7
-# TODO(b/146155010): Used by assistant.
-dev-python/jinja python_targets_python2_7
-dev-python/kiwisolver python_targets_python2_7
-dev-python/linecache2 python_targets_python2_7
-dev-python/logbook python_targets_python2_7
-dev-python/lxml python_targets_python2_7
-dev-python/markupsafe python_targets_python2_7
-dev-python/mock python_targets_python2_7
-dev-python/more-itertools python_targets_python2_7
-dev-python/mysqlclient python_targets_python2_7
-dev-python/namespace-google python_targets_python2_7
-dev-python/namespace-jaraco python_targets_python2_7
-dev-python/numpy python_targets_python2_7
-dev-python/pbr python_targets_python2_7
-dev-python/pexpect python_targets_python2_7
-dev-python/ply python_targets_python2_7
-dev-python/portend python_targets_python2_7
-dev-python/protobuf-python python_targets_python2_7
-dev-python/psutil python_targets_python2_7
-dev-python/ptyprocess python_targets_python2_7
-dev-python/py python_targets_python2_7
-dev-python/pycparser python_targets_python2_7
-dev-python/pygobject python_targets_python2_7
-dev-python/pyopenssl python_targets_python2_7
-dev-python/pyparsing python_targets_python2_7
-dev-python/pyshark python_targets_python2_7
-dev-python/PySocks python_targets_python2_7
-dev-python/python-dateutil python_targets_python2_7
-dev-python/pytz python_targets_python2_7
-dev-python/pyudev python_targets_python2_7
-dev-python/pyusb python_targets_python2_7
-dev-python/pyxattr python_targets_python2_7
-dev-python/pyyaml python_targets_python2_7
-dev-python/redis-py python_targets_python2_7
-dev-python/requests python_targets_python2_7
-dev-python/selenium python_targets_python2_7
-dev-python/setuptools python_targets_python2_7
-dev-python/setuptools_scm python_targets_python2_7
-dev-python/six python_targets_python2_7
-dev-python/tempora python_targets_python2_7
-dev-python/traceback2 python_targets_python2_7
-dev-python/trollius python_targets_python2_7
-dev-python/unittest2 python_targets_python2_7
-dev-python/urllib3 python_targets_python2_7
-dev-python/versioneer python_targets_python2_7
-dev-python/zc-lockfile python_targets_python2_7
+# cbindgen expects to be able to unwind panics rather than immediately abort.
+# This behavior is not compatible with the -Cpanic=abort flag normally
+# added by cros-rust eclass. Disable this flag for cbindgen.
+dev-rust/cbindgen -panic-abort
 
-# Needed by attrs which is needed by pytest.
-dev-python/zope-interface python_targets_python2_7
-dev-python/namespace-zope python_targets_python2_7
-
-# These packages only support Python 2.7.  They aren't needed in Python 3.6+.
-# TODO(crbug.com/1007152): Trim this entirely!
-dev-python/backports-functools-lru-cache python_targets_python2_7 -python_targets_python3_6
-dev-python/enum34 python_targets_python2_7 -python_targets_python3_6
-dev-python/funcsigs python_targets_python2_7
-dev-python/functools32 python_targets_python2_7 -python_targets_python3_6
-dev-python/futures python_targets_python2_7 -python_targets_python3_6
-dev-python/ipaddress python_targets_python2_7 -python_targets_python3_6
-dev-python/mox python_targets_python2_7 -python_targets_python3_6
-dev-python/pathlib python_targets_python2_7 -python_targets_python3_6
-dev-python/subprocess32 python_targets_python2_7 -python_targets_python3_6
-virtual/python-enum34 python_targets_python2_7
-virtual/python-funcsigs python_targets_python2_7
-virtual/python-futures python_targets_python2_7
+# Enable selinux feature in tar to allow stateful payload store context.
+app-arch/tar selinux
diff --git a/sci-electronics/OWNERS b/sci-electronics/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/sci-electronics/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/sci-electronics/amaranth/Manifest b/sci-electronics/amaranth/Manifest
new file mode 100644
index 0000000..0f11dcf
--- /dev/null
+++ b/sci-electronics/amaranth/Manifest
@@ -0,0 +1 @@
+DIST amaranth-db49294cf722e9463666bd06f81a86f930b8707c.tar.gz 226128 BLAKE2B 11ac9f1c2e4789ab83c3562be318a929d052270aaa5c267982cef0bd1d0249c722ac5d84c8a3384baccbb124927db1ec401b2ee446a6ac1dab293173fc5cd4ad SHA512 50e6e7fd924e3da2e88bbef7d2f2f7556fb58b80d0b4660e3cadebec0ee005ef27cb823767c306520d9d26a8c18b3c7da388c800260d71aeb88329c6bdde64bf
diff --git a/sci-electronics/nmigen/OWNERS b/sci-electronics/amaranth/OWNERS
similarity index 100%
rename from sci-electronics/nmigen/OWNERS
rename to sci-electronics/amaranth/OWNERS
diff --git a/sci-electronics/amaranth/amaranth-0.3_p20220630.ebuild b/sci-electronics/amaranth/amaranth-0.3_p20220630.ebuild
new file mode 100644
index 0000000..a098e64
--- /dev/null
+++ b/sci-electronics/amaranth/amaranth-0.3_p20220630.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2022 The Chromium OS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+inherit distutils-r1
+
+DESCRIPTION="Hardware definition language for building complex digital hardware"
+HOMEPAGE="https://github.com/amaranth-lang/amaranth"
+
+GIT_REV="db49294cf722e9463666bd06f81a86f930b8707c"
+SRC_URI="https://github.com/amaranth-lang/${PN}/archive/${GIT_REV}.tar.gz -> ${PN}-${GIT_REV}.tar.gz"
+
+# Provide the version since `setuptools_scm` breaks emerging snapshot ebuilds.
+# `python3 -m setuptools_scm` can be used inside a repository to print version
+# corresponding to the checked-out commit.
+export SETUPTOOLS_SCM_PRETEND_VERSION="0.4.dev21+gdb49294"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Versioned setup.py deps: "pyvcd>=0.2.2,<0.4", "Jinja2~=3.0"
+RDEPEND="
+	$(python_gen_cond_dep '
+		dev-python/importlib_metadata[${PYTHON_USEDEP}]
+	' python3_{6..7})
+	>=dev-python/pyvcd-0.2.2[${PYTHON_USEDEP}] <dev-python/pyvcd-0.4
+	>=sci-electronics/yosys-0.10
+	!sci-electronics/nmigen
+"
+BDEPEND="
+	dev-python/setuptools_scm[${PYTHON_USEDEP}]
+"
+
+S="${WORKDIR}/${PN}-${GIT_REV}"
+
+PATCHES=(
+	"${FILESDIR}/${P}-fix-setup.patch"
+)
+
+src_test() {
+	if ! has_version sci-electronics/symbiyosys; then
+		ewarn "SymbiYosys not found; skipping tests that require it."
+		eapply "${FILESDIR}/${P}-skip-tests-using-symbiyosys.patch"
+	fi
+
+	distutils-r1_src_test
+}
+
+# Apart from declaring `python_test`, `distutils_enable_tests` also manages test
+# dependencies and flags. Let's keep it even though the function is overridden.
+distutils_enable_tests unittest
+python_test() {
+	distutils_install_for_testing
+
+	"${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/sci-electronics/amaranth/files/amaranth-0.3_p20220630-fix-setup.patch b/sci-electronics/amaranth/files/amaranth-0.3_p20220630-fix-setup.patch
new file mode 100644
index 0000000..14e8f05
--- /dev/null
+++ b/sci-electronics/amaranth/files/amaranth-0.3_p20220630-fix-setup.patch
@@ -0,0 +1,32 @@
+From 957ee30c1c7ec08a552c374fcedfbb20640ba10c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Adam=20Jeli=C5=84ski?= <ajelinski@antmicro.com>
+Date: Wed, 22 Sep 2021 17:01:09 +0000
+Subject: [PATCH] fix setup
+
+---
+ setup.py | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 197fdd3..f38b8a3 100644
+--- a/setup.py
++++ b/setup.py
+@@ -38,11 +38,11 @@ setup(
+     #long_description="""TODO""",
+     license="BSD",
+     python_requires="~=3.7",
+-    setup_requires=["wheel", "setuptools", "setuptools_scm"],
++    setup_requires=["setuptools", "setuptools_scm"],
+     install_requires=[
+-        "importlib_metadata; python_version<'3.8'",  # for __version__ and amaranth._toolchain.yosys
+-        "importlib_resources; python_version<'3.9'", # for amaranth._toolchain.yosys
+-        "pyvcd>=0.2.2,<0.4", # for amaranth.pysim
++        # for __version__ and amaranth._toolchain.yosys
++        "importlib_metadata; python_version<'3.8'",
++        "pyvcd>=0.2.2,<0.4",  # for amaranth.pysim
+         "Jinja2~=3.0",  # for amaranth.build
+     ],
+     extras_require={
+-- 
+2.37.1.455.g008518b4e5-goog
+
diff --git a/sci-electronics/nmigen/files/nmigen-0.2_p20210204-skip-tests-using-symbiyosys.patch b/sci-electronics/amaranth/files/amaranth-0.3_p20220630-skip-tests-using-symbiyosys.patch
similarity index 100%
rename from sci-electronics/nmigen/files/nmigen-0.2_p20210204-skip-tests-using-symbiyosys.patch
rename to sci-electronics/amaranth/files/amaranth-0.3_p20220630-skip-tests-using-symbiyosys.patch
diff --git a/sci-electronics/litedram/Manifest b/sci-electronics/litedram/Manifest
index e7a3bfc..71b1973 100644
--- a/sci-electronics/litedram/Manifest
+++ b/sci-electronics/litedram/Manifest
@@ -1 +1 @@
-DIST litedram-203cc73cebec56faa0ed5c8900e15ac2c1dfe32b.tar.gz 370612 BLAKE2B c9e3b07e7afb2d8d9fc3ca35a507d44cc41c7d15361ddbe391ada2a629d1053bbe0dc1944fb65916a6265b5b75134bed39cb4a81a603dbecdbbe3db78f697fac SHA512 74ed779aae01eb10715644e23b7aa5c40706f044b59a116bcb6e9c57c6471c183bb1b3cb52b3a2e2d22014bcb4ca33a9d8ef5c5a3b486caac5ceacfd6185b58d
+DIST litedram-2022.04.tar.gz 443983 BLAKE2B 9247643511749acdc8917d025d4e20ffbc68d619ad8f560ec74837d8756e27db591f98bb42769aa815ca8fe1c9629ee05ba25dcc99c67a0df7f5f354f1e2489f SHA512 2e2f2d93ecb41d0e6406cabc416e4fdf717599458616534522904db3b451f28039740fba474a9f3a34a42f8f6678cc92913e1d5b9a49a4112be8bdb1f0a16fe0
diff --git a/sci-electronics/litedram/litedram-2021.04_p20210809.ebuild b/sci-electronics/litedram/litedram-2021.04_p20210809.ebuild
deleted file mode 100644
index 415a357..0000000
--- a/sci-electronics/litedram/litedram-2021.04_p20210809.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-inherit distutils-r1
-
-DESCRIPTION="LiteDRAM provides a small footprint and configurable DRAM core."
-HOMEPAGE="https://github.com/enjoy-digital/litedram"
-
-GIT_REV="203cc73cebec56faa0ed5c8900e15ac2c1dfe32b"
-SRC_URI="https://github.com/enjoy-digital/${PN}/archive/${GIT_REV}.tar.gz -> ${PN}-${GIT_REV}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="
-	dev-python/pyyaml[${PYTHON_USEDEP}]
-	sci-electronics/litex[${PYTHON_USEDEP}]
-	sci-electronics/migen[${PYTHON_USEDEP}]
-	test? (
-		sci-electronics/pythondata-cpu-vexriscv[${PYTHON_USEDEP}]
-		|| (
-			cross-riscv64-cros-elf/gcc
-			cross-riscv32-cros-elf/gcc
-		)
-	)
-"
-
-S="${WORKDIR}/${PN}-${GIT_REV}"
-
-distutils_enable_tests unittest
-
-src_test() {
-	# All tests require 'litex_boards' module.
-	mv test/{,skipped-}test_init.py || die
-
-	# This particular test requires 'pythondata-cpu-serv' module.
-	sed -i -e 's#\([ ]\+\)def test_ulx3s#\1@unittest.skip("Serv CPU test")\n&#' \
-		test/test_examples.py || die
-
-	# Tests belonging to Verilator...Tests class require Verilator. There are
-	# other tests in 'test_lpddr4.py' though, so only the class is skipped.
-	if ! has_version sci-electronics/verilator; then
-		sed -i -e 's#class Verilator.*Tests#@unittest.skip("No Verilator")\n&#' \
-			test/test_lpddr4.py || die
-	fi
-
-	distutils-r1_src_test
-}
diff --git a/sci-electronics/litedram/litedram-2022.04.ebuild b/sci-electronics/litedram/litedram-2022.04.ebuild
new file mode 100644
index 0000000..7950c85
--- /dev/null
+++ b/sci-electronics/litedram/litedram-2022.04.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+inherit distutils-r1
+
+DESCRIPTION="LiteDRAM provides a small footprint and configurable DRAM core."
+HOMEPAGE="https://github.com/enjoy-digital/litedram"
+
+SRC_URI="https://github.com/enjoy-digital/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="
+	dev-python/pyyaml[${PYTHON_USEDEP}]
+	sci-electronics/litex[${PYTHON_USEDEP}]
+	sci-electronics/migen[${PYTHON_USEDEP}]
+	test? (
+		sci-electronics/pythondata-cpu-vexriscv[${PYTHON_USEDEP}]
+		|| (
+			cross-riscv64-cros-elf/gcc
+			cross-riscv32-cros-elf/gcc
+		)
+	)
+"
+
+distutils_enable_tests unittest
+
+src_test() {
+	# All tests require 'litex_boards' module.
+	mv test/{,skipped-}test_init.py || die
+
+	# This particular test requires 'pythondata-cpu-serv' module.
+	sed -i -e 's#\([ ]\+\)def test_ulx3s#\1@unittest.skip("Serv CPU test")\n&#' \
+		test/test_examples.py || die
+
+	# Tests belonging to Verilator...Tests class require Verilator. There are
+	# other tests in 'test_lpddr4.py' though, so only the class is skipped.
+	if ! has_version sci-electronics/verilator; then
+		sed -i -e 's#class Verilator.*Tests#@unittest.skip("No Verilator")\n&#' \
+			test/test_lpddr4.py || die
+	fi
+
+	distutils-r1_src_test
+}
diff --git a/sci-electronics/liteeth/Manifest b/sci-electronics/liteeth/Manifest
index 40741d2..154ce9a 100644
--- a/sci-electronics/liteeth/Manifest
+++ b/sci-electronics/liteeth/Manifest
@@ -1 +1 @@
-DIST liteeth-c6c8be703bb5a2351df222a758f9dce0edd5517c.tar.gz 237517 BLAKE2B cb873d05e8b3b5a97d24bc2cd6c50ec62eee036512f3cf23e78159acd6d96851262740df458db5999f6fd826a10b8773cf4829ab1579dd7222b796bc401f59e5 SHA512 deaea9f8d157c53234a8b3d3c22b0aa0596a99a53cc451bcd45ce2307acb6505de8e2f9da1b213915106fcdb1fede35e91e163b5ab5f1a37d925173829622510
+DIST liteeth-2022.04.tar.gz 312293 BLAKE2B a999f8d5005884b705395df465f5867685bb7d5ff7822e7867c8e3a520869dd0da521285a049fa2d479f284842459391cb9a121034338b9da282abfd42dad6a0 SHA512 9580822d7d7668de391f7e37164e2416a9b25665b1e2b89642bda5e3ef70fbfc99ddbcf6b74b079591a5b2c0187c9197f23907045dc6a4ac96dbdec003465c9b
diff --git a/sci-electronics/liteeth/liteeth-2021.04_p20210811.ebuild b/sci-electronics/liteeth/liteeth-2021.04_p20210811.ebuild
deleted file mode 100644
index 358b9da..0000000
--- a/sci-electronics/liteeth/liteeth-2021.04_p20210811.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-inherit distutils-r1
-
-DESCRIPTION="LiteEth provides a small footprint and configurable Ethernet core."
-HOMEPAGE="https://github.com/enjoy-digital/liteeth"
-
-GIT_REV="c6c8be703bb5a2351df222a758f9dce0edd5517c"
-SRC_URI="https://github.com/enjoy-digital/${PN}/archive/${GIT_REV}.tar.gz -> ${PN}-${GIT_REV}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="
-	sci-electronics/liteiclink[${PYTHON_USEDEP}]
-	sci-electronics/litex[${PYTHON_USEDEP}]
-	sci-electronics/migen[${PYTHON_USEDEP}]
-"
-
-S="${WORKDIR}/${PN}-${GIT_REV}"
-
-distutils_enable_tests unittest
diff --git a/sci-electronics/liteeth/liteeth-2022.04.ebuild b/sci-electronics/liteeth/liteeth-2022.04.ebuild
new file mode 100644
index 0000000..bedb508
--- /dev/null
+++ b/sci-electronics/liteeth/liteeth-2022.04.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+inherit distutils-r1
+
+DESCRIPTION="LiteEth provides a small footprint and configurable Ethernet core."
+HOMEPAGE="https://github.com/enjoy-digital/liteeth"
+
+SRC_URI="https://github.com/enjoy-digital/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="
+	sci-electronics/liteiclink[${PYTHON_USEDEP}]
+	sci-electronics/litex[${PYTHON_USEDEP}]
+	sci-electronics/migen[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/sci-electronics/liteiclink/Manifest b/sci-electronics/liteiclink/Manifest
index da9ae09..196ce3b 100644
--- a/sci-electronics/liteiclink/Manifest
+++ b/sci-electronics/liteiclink/Manifest
@@ -1 +1 @@
-DIST liteiclink-3d8ecdbcf9f0260292221ff63b0ad3f5e409a955.tar.gz 78817 BLAKE2B dfc88747823dfcdff2fcee5bb312e8b1f75f84705413095cb7d61b08b590ea8f9f5ce1844f2c7d57fc669b745672bd428a8073624fa26d602406e13be8f6f0f0 SHA512 3b804fe18353774eb0e3f0c3483f5bdb2b76780ac3ef757b539c97c3be42c51c9e4995b201dfd4b91ae60c13ca367bfc74803fe37ab4bab2f79b67feab66797c
+DIST liteiclink-2022.04.tar.gz 82477 BLAKE2B 0fd6fe7d50426b0763a93df963b70c6212752c0e4c25124619d760eee3ef05029499988c8e438f610b1282f6dd78f8e1dea7b5d82ef6bb650f341e811f414b6a SHA512 7415c5f76cc30d28014ec46393f47f61eb0b217ebd92f50e24908b126feec91be4c614e53950d639dd3513a577f125cc81c9a39fb85a90269e395150bd46bb35
diff --git a/sci-electronics/liteiclink/liteiclink-2021.08.ebuild b/sci-electronics/liteiclink/liteiclink-2021.08.ebuild
deleted file mode 100644
index e894192..0000000
--- a/sci-electronics/liteiclink/liteiclink-2021.08.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-inherit distutils-r1
-
-DESCRIPTION="LiteICLink provides small footprint and configurable Inter-Chip
-communication cores."
-HOMEPAGE="https://github.com/enjoy-digital/liteiclink"
-
-GIT_REV="3d8ecdbcf9f0260292221ff63b0ad3f5e409a955"
-SRC_URI="https://github.com/enjoy-digital/${PN}/archive/${GIT_REV}.tar.gz -> ${PN}-${GIT_REV}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="
-	sci-electronics/litex[${PYTHON_USEDEP}]
-	sci-electronics/migen[${PYTHON_USEDEP}]
-"
-
-S="${WORKDIR}/${PN}-${GIT_REV}"
-
-distutils_enable_tests unittest
diff --git a/sci-electronics/liteiclink/liteiclink-2022.04.ebuild b/sci-electronics/liteiclink/liteiclink-2022.04.ebuild
new file mode 100644
index 0000000..808111e
--- /dev/null
+++ b/sci-electronics/liteiclink/liteiclink-2022.04.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit distutils-r1
+
+DESCRIPTION="LiteICLink provides small footprint and configurable Inter-Chip
+communication cores."
+HOMEPAGE="https://github.com/enjoy-digital/liteiclink"
+
+SRC_URI="https://github.com/enjoy-digital/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="
+	sci-electronics/litex[${PYTHON_USEDEP}]
+	sci-electronics/migen[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/sci-electronics/litescope/Manifest b/sci-electronics/litescope/Manifest
index bc65e75..e3704a7 100644
--- a/sci-electronics/litescope/Manifest
+++ b/sci-electronics/litescope/Manifest
@@ -1 +1 @@
-DIST litescope-1243ab3c81fc33ddacb3c15d18b6c63a45e6989e.tar.gz 172289 BLAKE2B edae130ddfd16a8f3fec9d3a4d070e7e1d90cbb1912c43096bdff92c68a9d193ea3280f4366d17e0f7a146686c94a423e175981ac97e73d156046c4d09418aa8 SHA512 4e57ce0c3bec567b0512fbcc4dbd598e810ecc1b5c45db089b0bece8715c8293d36efbcf576a762d19e84b06f48c5087213a66030b40921b808c096b55a19fb1
+DIST litescope-2022.04.tar.gz 173992 BLAKE2B 601bf676ec2695b7fa54cea342560059f3e7e412afdc653c0a4dd76c98323524b5aa68405653c74912f5f73e4020ea74fd38e8b5c968ea38a389893cb310c226 SHA512 072a786f746e61d6a071e84b303f9de78e7c6519499e25159aff1af0777d0beb986c959a223b79dbdec0f46f2fec4fef871870318370664b73dd91cf7e1b3e11
diff --git a/sci-electronics/litescope/litescope-2021.04_p20210524.ebuild b/sci-electronics/litescope/litescope-2021.04_p20210524.ebuild
deleted file mode 100644
index 4af0848..0000000
--- a/sci-electronics/litescope/litescope-2021.04_p20210524.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-inherit distutils-r1
-
-DESCRIPTION="LiteScope provides a small footprint and configurable Logic Analyzer core."
-HOMEPAGE="https://github.com/enjoy-digital/litescope"
-
-GIT_REV="1243ab3c81fc33ddacb3c15d18b6c63a45e6989e"
-SRC_URI="https://github.com/enjoy-digital/${PN}/archive/${GIT_REV}.tar.gz -> ${PN}-${GIT_REV}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="
-	sci-electronics/litex[${PYTHON_USEDEP}]
-	sci-electronics/migen[${PYTHON_USEDEP}]
-"
-
-S="${WORKDIR}/${PN}-${GIT_REV}"
-
-distutils_enable_tests unittest
-
-src_test() {
-	# Requires 'litex_boards' module.
-	mv test/{,skipped-}test_examples.py
-
-	distutils-r1_src_test
-}
diff --git a/sci-electronics/litescope/litescope-2022.04.ebuild b/sci-electronics/litescope/litescope-2022.04.ebuild
new file mode 100644
index 0000000..12640d4
--- /dev/null
+++ b/sci-electronics/litescope/litescope-2022.04.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+inherit distutils-r1
+
+DESCRIPTION="LiteScope provides a small footprint and configurable Logic Analyzer core."
+HOMEPAGE="https://github.com/enjoy-digital/litescope"
+
+SRC_URI="https://github.com/enjoy-digital/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="
+	sci-electronics/litex[${PYTHON_USEDEP}]
+	sci-electronics/migen[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+src_test() {
+	# Requires 'litex_boards' module.
+	mv test/{,skipped-}test_examples.py
+
+	distutils-r1_src_test
+}
diff --git a/sci-electronics/litespi/Manifest b/sci-electronics/litespi/Manifest
index 103ffcd..945c38d 100644
--- a/sci-electronics/litespi/Manifest
+++ b/sci-electronics/litespi/Manifest
@@ -1 +1 @@
-DIST litespi-a2a25c09e050b97f8d121d8eb9b18d601f4dc3b7.tar.gz 55383 BLAKE2B 7cbc2bcc5aeb036422e78cb471ab61b2d83ea46aa196b1fa57065d3d807f4708890dfaf423cdd72f5bda49d5a1cfcdec8d22c5a799074a9edeb62c61262a9308 SHA512 86e664be05e785efe4662b65abbe02f1e8e49e138516e952701ef78f53fbb2a274ce3227186da4bdb0bf2e41fa09f95e2274f6a2de71c85b88465a7bee7e3099
+DIST litespi-2022.04.tar.gz 55393 BLAKE2B 13e4692948461156f61316f62ffbb7fbaa54f70718426e5972503a3bfb20885cf2ce1f77dff1dccbcdf3dcab724838c1395573cb0b7f9220bb944ae33998c43a SHA512 0df2badb641676c9a3d3abe74f9510a1f63ad2d411b05d59bedddcb9242eb9bdf42ec84782b1334af946fcbc15001a82256eee5558d87d7448546adc8d937f86
diff --git a/sci-electronics/litespi/litespi-2021.12_p20220215.ebuild b/sci-electronics/litespi/litespi-2021.12_p20220215.ebuild
deleted file mode 100644
index cd54940..0000000
--- a/sci-electronics/litespi/litespi-2021.12_p20220215.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-inherit distutils-r1
-
-DESCRIPTION="LiteSPI provides a small footprint and configurable SPI core."
-HOMEPAGE="https://github.com/litex-hub/litespi"
-
-GIT_REV="a2a25c09e050b97f8d121d8eb9b18d601f4dc3b7"
-SRC_URI="https://github.com/litex-hub/${PN}/archive/${GIT_REV}.tar.gz -> ${PN}-${GIT_REV}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="
-	sci-electronics/litex[${PYTHON_USEDEP}]
-	sci-electronics/migen[${PYTHON_USEDEP}]
-"
-
-S="${WORKDIR}/${PN}-${GIT_REV}"
-
-distutils_enable_tests unittest
diff --git a/sci-electronics/litespi/litespi-2022.04.ebuild b/sci-electronics/litespi/litespi-2022.04.ebuild
new file mode 100644
index 0000000..d744a26
--- /dev/null
+++ b/sci-electronics/litespi/litespi-2022.04.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit distutils-r1
+
+DESCRIPTION="LiteSPI provides a small footprint and configurable SPI core."
+HOMEPAGE="https://github.com/litex-hub/litespi"
+
+SRC_URI="https://github.com/litex-hub/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="
+	sci-electronics/litex[${PYTHON_USEDEP}]
+	sci-electronics/migen[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/sci-electronics/litex/Manifest b/sci-electronics/litex/Manifest
index 62ee621..c471f62 100644
--- a/sci-electronics/litex/Manifest
+++ b/sci-electronics/litex/Manifest
@@ -1 +1 @@
-DIST litex-6b3eda16f23d485ebcb13739b2f53d108d8e5451.tar.gz 2518176 BLAKE2B 2ae062465fdc4d90f5f798aafd955d3ebd33318db0e198abfe87d7c263ade224f16616848fd4e08c2db7836f64a411a35c7afbfd7d5096196bfb96e275813fc6 SHA512 48018b9dec9dcde6561dd2fe2078b29eda634bb6a1e48456a27b8fc646f270da44b43d84f998069ab1104de823fa4e268ca997263a56e574a61224fe7c7cf09d
+DIST litex-2022.04.tar.gz 2559850 BLAKE2B 2ba1344c4c607f34888734f5b8294180647c57c6d4275fa71a85b8f38df006ae15f24e40ab99583298b211e12093788e0b9192ff3b31ae4caa6f98bf67c3f572 SHA512 5f8b5a187b319663aeca1122637bcbca21296025b75e671881e56f9b66e7ce58648625fb1d5f7812d129e0ff5cf33ab7a7e44740b0b6d6fc10e6497451ef6fb1
diff --git a/sci-electronics/litex/files/litex-2021.04_p20210811-add-riscv-cros-elf-to-known-riscv-toolchains.patch b/sci-electronics/litex/files/litex-2021.04_p20210811-add-riscv-cros-elf-to-known-riscv-toolchains.patch
deleted file mode 100644
index b50032c..0000000
--- a/sci-electronics/litex/files/litex-2021.04_p20210811-add-riscv-cros-elf-to-known-riscv-toolchains.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-# In Chromium OS the toolchain has `cros` as a vendor. Such toolchains aren't
-# used outside CrOS so LiteX doesn't know these can be used.
-
---- a/litex/soc/cores/cpu/__init__.py
-+++ b/litex/soc/cores/cpu/__init__.py
-@@ -56,6 +56,7 @@ CPU_GCC_TRIPLE_RISCV64 = (
-     "riscv64-linux-gnu",
-     "riscv-sifive-elf",
-     "riscv64-none-elf",
-+    "riscv64-cros-elf",
- )
- 
- CPU_GCC_TRIPLE_RISCV32 = CPU_GCC_TRIPLE_RISCV64 + (
-@@ -64,6 +65,7 @@ CPU_GCC_TRIPLE_RISCV32 = CPU_GCC_TRIPLE_RISCV64 + (
-     "riscv32-elf",
-     "riscv-none-embed",
-     "riscv-none-elf",
-+    "riscv32-cros-elf",
- )
- 
- # CPUS ---------------------------------------------------------------------------------------------
diff --git a/sci-electronics/litex/files/litex-2022.04-add-riscv-cros-elf-to-known-riscv-toolchains.patch b/sci-electronics/litex/files/litex-2022.04-add-riscv-cros-elf-to-known-riscv-toolchains.patch
new file mode 100644
index 0000000..7fc8a65
--- /dev/null
+++ b/sci-electronics/litex/files/litex-2022.04-add-riscv-cros-elf-to-known-riscv-toolchains.patch
@@ -0,0 +1,23 @@
+# In Chromium OS the toolchain has `cros` as a vendor. Such toolchains aren't
+# used outside CrOS so LiteX doesn't know these can be used.
+
+diff --git a/litex/soc/cores/cpu/__init__.py b/litex/soc/cores/cpu/__init__.py
+index 28736d0a..7bf8e859 100644
+--- a/litex/soc/cores/cpu/__init__.py
++++ b/litex/soc/cores/cpu/__init__.py
+@@ -59,6 +59,7 @@ CPU_GCC_TRIPLE_RISCV64 = (
+     "riscv64-linux-gnu",
+     "riscv-sifive-elf",
+     "riscv64-none-elf",
++    "riscv64-cros-elf",
+ )
+
+ CPU_GCC_TRIPLE_RISCV32 = CPU_GCC_TRIPLE_RISCV64 + (
+@@ -67,6 +68,7 @@ CPU_GCC_TRIPLE_RISCV32 = CPU_GCC_TRIPLE_RISCV64 + (
+     "riscv32-elf",
+     "riscv-none-embed",
+     "riscv-none-elf",
++    "riscv32-cros-elf",
+ )
+
+ # CPUS ---------------------------------------------------------------------------------------------
diff --git a/sci-electronics/litex/litex-2022.01_p20220124.ebuild b/sci-electronics/litex/litex-2022.01_p20220124.ebuild
deleted file mode 100644
index 30473d7..0000000
--- a/sci-electronics/litex/litex-2022.01_p20220124.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-inherit distutils-r1
-
-DESCRIPTION="The LiteX framework provides a convenient and efficient infrastructure to
-create FPGA Cores/SOCs, to create FPGA Cores/SoCs, to explore various digital design
-architectures and create full FPGA based systems."
-HOMEPAGE="https://github.com/enjoy-digital/litex"
-
-GIT_REV="6b3eda16f23d485ebcb13739b2f53d108d8e5451"
-
-SRC_URI="https://github.com/enjoy-digital/${PN}/archive/${GIT_REV}.tar.gz -> ${PN}-${GIT_REV}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="
-	sci-electronics/migen[${PYTHON_USEDEP}]
-	sci-electronics/pythondata-software-compiler_rt[${PYTHON_USEDEP}]
-	dev-python/pyserial[${PYTHON_USEDEP}]
-	dev-python/requests[${PYTHON_USEDEP}]
-"
-
-S="${WORKDIR}/${PN}-${GIT_REV}"
-
-PATCHES="
-	${FILESDIR}/litex-2021.04_p20210811-add-riscv-cros-elf-to-known-riscv-toolchains.patch
-"
-
-distutils_enable_tests unittest
-
-src_test() {
-	# ECC tests require 'litedram' which in turn requires 'litex' for testing.
-	# Let's just skip them.
-	mv test/{,skipped-}test_ecc.py || die
-
-	distutils-r1_src_test
-}
diff --git a/sci-electronics/litex/litex-2022.04.ebuild b/sci-electronics/litex/litex-2022.04.ebuild
new file mode 100644
index 0000000..1c4e20d
--- /dev/null
+++ b/sci-electronics/litex/litex-2022.04.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+inherit distutils-r1
+
+DESCRIPTION="The LiteX framework provides a convenient and efficient infrastructure to
+create FPGA Cores/SOCs, to create FPGA Cores/SoCs, to explore various digital design
+architectures and create full FPGA based systems."
+HOMEPAGE="https://github.com/enjoy-digital/litex"
+
+SRC_URI="https://github.com/enjoy-digital/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="
+	sci-electronics/migen[${PYTHON_USEDEP}]
+	sci-electronics/pythondata-software-compiler_rt[${PYTHON_USEDEP}]
+	dev-python/pyserial[${PYTHON_USEDEP}]
+	dev-python/requests[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+	"${FILESDIR}/${P}-add-riscv-cros-elf-to-known-riscv-toolchains.patch"
+)
+
+distutils_enable_tests unittest
+
+src_test() {
+	# ECC tests require 'litedram' which in turn requires 'litex' for testing.
+	# Let's just skip them.
+	mv test/{,skipped-}test_ecc.py || die
+	# Similarly, the CPU tests require liteeth.
+	mv test/{,skipped-}test_cpu.py || die
+
+	distutils-r1_src_test
+}
diff --git a/sci-electronics/migen/Manifest b/sci-electronics/migen/Manifest
index 28d675e..f5380e0 100644
--- a/sci-electronics/migen/Manifest
+++ b/sci-electronics/migen/Manifest
@@ -1 +1 @@
-DIST migen-ac703010eaa06ac9b6e32f97c6fa98b15de22b31.tar.gz 269982 BLAKE2B a1e68c0a3698f5dd3c475d13e8aef0d60b01e1a5bedf06e6c8d3389c414b0f196f31e6a4a3d7ca899e4c3e604ab17e6a5510026ab4f18cbe4113dd71f9fb5895 SHA512 f6249e4335e24b9bcdaf407c614372c3739411431a8e2b4175e4e9218283e8ea7bce0df4948b6736dce1739417674093894ae17d74b20a2ca02bcf895caa974a
+DIST migen-d4e3f34177c32f09904397179e6ed9c83175e528.tar.gz 269996 BLAKE2B f63f107ce15d3fdb6c0a3041c75b48f306b2014b275242658614ace5bf6eb0e2df16160a1a49342b768f8503f52d34e4ab62115c4a41aad71c6bb3f708cf5452 SHA512 a4752ce9fe769101e2475dc0ef54aa246c266099bc358bcc3fa66fff731bfde3efea51e5144c1e01f576f17ab25ae3b59612e3a22c7419a297bc08f009afc43d
diff --git a/sci-electronics/migen/migen-0.9.2_p20220125.ebuild b/sci-electronics/migen/migen-0.9.2_p20220125.ebuild
deleted file mode 100644
index f0618f8..0000000
--- a/sci-electronics/migen/migen-0.9.2_p20220125.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# setup.py: "You need Python 3.3+"
-PYTHON_COMPAT=( python3_{3..9} )
-inherit distutils-r1
-
-DESCRIPTION="Python toolbox for building complex digital hardware."
-HOMEPAGE="https://github.com/m-labs/migen"
-
-GIT_REV="ac703010eaa06ac9b6e32f97c6fa98b15de22b31"
-SRC_URI="https://github.com/m-labs/${PN}/archive/${GIT_REV}.tar.gz -> ${PN}-${GIT_REV}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="
-	dev-python/colorama
-"
-
-S="${WORKDIR}/${PN}-${GIT_REV}"
-
-distutils_enable_tests unittest
diff --git a/sci-electronics/migen/migen-0.9.2_p20220419.ebuild b/sci-electronics/migen/migen-0.9.2_p20220419.ebuild
new file mode 100644
index 0000000..26d0fc8
--- /dev/null
+++ b/sci-electronics/migen/migen-0.9.2_p20220419.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# setup.py: "You need Python 3.3+"
+PYTHON_COMPAT=( python3_{3..9} )
+inherit distutils-r1
+
+DESCRIPTION="Python toolbox for building complex digital hardware."
+HOMEPAGE="https://github.com/m-labs/migen"
+
+GIT_REV="d4e3f34177c32f09904397179e6ed9c83175e528"
+SRC_URI="https://github.com/m-labs/${PN}/archive/${GIT_REV}.tar.gz -> ${PN}-${GIT_REV}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="
+	dev-python/colorama
+"
+
+S="${WORKDIR}/${PN}-${GIT_REV}"
+
+distutils_enable_tests unittest
diff --git a/sci-electronics/nextpnr/Manifest b/sci-electronics/nextpnr/Manifest
index 3475e36..550e210 100644
--- a/sci-electronics/nextpnr/Manifest
+++ b/sci-electronics/nextpnr/Manifest
@@ -1,6 +1,2 @@
-DIST nextpnr-1301feb4ad607d5bc7341a1d7059c75077b0e8e9.tar.gz 4286399 BLAKE2B a47bbbbf8f0631476e9dede48b45f257701a116b33e1c8554b343d1599e2f89ae317aa8ef6989dea7d0f7d752bea6ee08599f9ff402e2aaccdb980998419204c SHA512 d4274cc915aae586529278eeff8ae7b8b823734bb01f165b8cae7be7771f7aa26354dd293bb8d6c06e6f329a1f9c77750e8c5f8027ccccd0c6a14ba80d86d494
-DIST nextpnr-604711275343ef6c60ffe76d7fad756a7b938915.tar.gz 4327313 BLAKE2B 1c6637467452170b0a49d6315bef76a80c94d9928e742baa5b31ac9abfd54417928b78b0b01e76961899796dd8956d8bb97e31b69bd6a54650454adc73711461 SHA512 d886e6ac9e3fc8d513b68ef0828d189d225f7e943e36a916667151072effc97dbb6af20e2bd9afa8daba0666c9ec40f4d3c7ffa8d5307ddf95be577449d7fedd
-DIST nextpnr-c306ef12bcb5c5fed8782cbfa05d6534ce6a49dd.tar.gz 4286395 BLAKE2B 117a6b57d1ba8d5fe5409dc71ab6eadf651b6c7893182fc64028404f56ba48658652347436d889ca8d60238a63ce9ae33c2d69ba6de820bf691ed181278e914c SHA512 bdc0deb1ebaa100a0a6498359efcb3ff0ad16a3eb6e4c4e8c22846b24c8a1a21cd8817879a0815f4d6da108ae1f40b81cc7454e840cca8280ea2613f2273bc35
-DIST nextpnr-de63b5b09a4d4373d872dd2bef3336760edad08f.tar.gz 4278192 BLAKE2B 427cce13cfd4f6e0174b0ba8c35631ebb1d472e5afdfc0c4a70b55d80f504d671f926db9e2c5ae8a300cd98987deda3b1cbb76305f7910ef6e227d44960ebcb2 SHA512 e005f468e84d96b7b92c920633d7790430a550d2f6a688d141c7dbbb76ca9f2e5e6677f36cbb8f758dad32e02f3fcb6bfc5ea573e1c435f8b2d2c691f844ad03
-DIST nextpnr-fd2d4a8f999947ece42f791e19ddc4c2d8b823f2.tar.gz 4272467 BLAKE2B befd8d735ccbbb11f3d9d1fe61011cec7872a879c4932d3f30260c83c82fdb88f94f021e95d1ca3bbb37eaf90e9e3f675e8a21addb6fc4a4e7e79d8696406b34 SHA512 9fb992393c472bf680a3d9ef6a64fe330357283f16bd861e953d5773625f008f645fd20586d1d78376f064361bd842f013d770ba2bd71ffb6e1802991b1b1944
-DIST nextpnr-tests-ccc61e5ec7cc04410462ec3196ad467354787afb.tar.gz 1039113 BLAKE2B a65b92421375c91924b4413b09ea204dcae7d803f0b0a7e8fa340373ad3ddb67608ea7ec30bd0dbd3df8210e92c191a551a4bc6a7e81abe005d9cca7b2eaf2d7 SHA512 f92ac0bf379a8f948f089be8d1f4fec58891b9a926d562cb73233607d5414a6fc22d1a052291fa0cfa5af671643d9628ea188152a12bf5d0796a9b547959089c
+DIST nextpnr-664cec54b92844745e21a4e86dcf8e3cca09d781.tar.gz 4357805 BLAKE2B 45a1dbebad853c5f2cc5ff5e7a3f6bcac6b0409a1ce6a0ddba981a2516fb6512a8dc226a6a7c809d7de7d6ecdd15605f87f303aa390f732fb9614791712868b2 SHA512 03534654053ddab8099fe51bd1262560c34eb78d5a7d5aecc01f3d02015b79c3c577ad9d84221587a88eb8bc63af76f4cf5855b75185b41a725b4b780893438f
+DIST nextpnr-tests-00c55a9eb9ea2e062b51fe0d64741412b185d95d.tar.gz 1039116 BLAKE2B 4254fe8cb4018128a0f266106757346288a525f39b88c3a4df37f08234171390ee2845a8754e58e9e96796ba1afece19d18056ff4da6eeb72d0ec459ec5be813 SHA512 5dc94b19efb2802a3278f555b819c2ba35f8e99750d45be4f99e52b7d370a9827688db57b26c4c2cccdb78bd8f2ef874e7c50f07cd9b56adaf274c9448f4d900
diff --git a/sci-electronics/nextpnr/nextpnr-0.1_p20211222.ebuild b/sci-electronics/nextpnr/nextpnr-0.1_p20211222.ebuild
deleted file mode 100644
index 2d12c4e..0000000
--- a/sci-electronics/nextpnr/nextpnr-0.1_p20211222.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake  # EAPI >=7
-
-DESCRIPTION="nextpnr -- a portable FPGA place and route tool."
-HOMEPAGE="https://github.com/YosysHQ/nextpnr"
-
-GIT_REV="de63b5b09a4d4373d872dd2bef3336760edad08f"
-
-# 'tests' submodule.
-TESTS_GIT_REV="ccc61e5ec7cc04410462ec3196ad467354787afb"
-
-SRC_URI="
-	https://github.com/YosysHQ/nextpnr/archive/${GIT_REV}.tar.gz -> nextpnr-${GIT_REV}.tar.gz
-	https://github.com/YosysHQ/nextpnr-tests/archive/${TESTS_GIT_REV}.tar.gz -> nextpnr-tests-${TESTS_GIT_REV}.tar.gz
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="*"
-
-DEPEND="
-	dev-cpp/eigen:3
-	dev-libs/boost
-	nexus? ( sci-electronics/prjoxide )
-"
-RDEPEND="${DEPEND}
-	sci-electronics/yosys
-"
-
-IUSE="+nexus test"
-
-NEXTPNR_ROOT_DIR="${WORKDIR}/nextpnr-${GIT_REV}"
-S="${NEXTPNR_ROOT_DIR}"
-
-pkg_pretend() {
-	if ! use nexus; then
-		die '
-			At least one FPGA family have to be chosen for nextpnr to support.
-			Currently supported FPGA families are:
-			* Lattice Nexus (USE=nexus)
-		'
-	fi
-}
-
-src_unpack() {
-	default
-
-	cd "${NEXTPNR_ROOT_DIR}" || die
-	mv -T ../nextpnr-tests-* tests || die
-}
-
-src_configure() {
-	mycmakeargs=(
-		"-DARCH=nexus"
-		"-DOXIDE_INSTALL_PREFIX=/usr"
-		# Version is based on a repository's `git describe --tags --always`.
-		"-DCURRENT_GIT_VERSION=${GIT_REV:0:8}"
-		# Supported and tested optional arguments.
-		"-DBUILD_TESTS=$(usex test)"
-	)
-	cmake_src_configure
-}
-
-src_test() {
-	cmake_src_test
-
-	if use nexus; then
-		ebegin "Test creating prjoxide example bitstreams"
-		if ! "${BUILD_DIR}/nextpnr-nexus" --version; then
-			die "nextpnr-nexus executable not found in ${BUILD_DIR}"
-		fi
-		export PATH="${BUILD_DIR}:${PATH}"
-
-		cd "${T}" || die
-		cp -r /usr/share/prjoxide/examples prjoxide-examples || die
-		for example in blinky_evn blinky_vip; do
-			pushd prjoxide-examples/${example} || die
-			emake blinky.bit
-			popd || die
-		done
-		eend
-	fi
-}
diff --git a/sci-electronics/nextpnr/nextpnr-0.1_p20220125.ebuild b/sci-electronics/nextpnr/nextpnr-0.1_p20220125.ebuild
deleted file mode 100644
index 0838f61..0000000
--- a/sci-electronics/nextpnr/nextpnr-0.1_p20220125.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake  # EAPI >=7
-
-DESCRIPTION="nextpnr -- a portable FPGA place and route tool."
-HOMEPAGE="https://github.com/YosysHQ/nextpnr"
-
-GIT_REV="1301feb4ad607d5bc7341a1d7059c75077b0e8e9"
-
-# 'tests' submodule.
-TESTS_GIT_REV="ccc61e5ec7cc04410462ec3196ad467354787afb"
-
-SRC_URI="
-	https://github.com/YosysHQ/nextpnr/archive/${GIT_REV}.tar.gz -> nextpnr-${GIT_REV}.tar.gz
-	https://github.com/YosysHQ/nextpnr-tests/archive/${TESTS_GIT_REV}.tar.gz -> nextpnr-tests-${TESTS_GIT_REV}.tar.gz
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="*"
-
-DEPEND="
-	dev-cpp/eigen:3
-	dev-libs/boost
-	nexus? ( sci-electronics/prjoxide )
-"
-RDEPEND="${DEPEND}
-	sci-electronics/yosys
-"
-
-IUSE="+nexus test"
-
-NEXTPNR_ROOT_DIR="${WORKDIR}/nextpnr-${GIT_REV}"
-S="${NEXTPNR_ROOT_DIR}"
-
-pkg_pretend() {
-	if ! use nexus; then
-		die '
-			At least one FPGA family have to be chosen for nextpnr to support.
-			Currently supported FPGA families are:
-			* Lattice Nexus (USE=nexus)
-		'
-	fi
-}
-
-src_unpack() {
-	default
-
-	cd "${NEXTPNR_ROOT_DIR}" || die
-	mv -T ../nextpnr-tests-* tests || die
-}
-
-src_configure() {
-	mycmakeargs=(
-		"-DARCH=nexus"
-		"-DOXIDE_INSTALL_PREFIX=/usr"
-		# Version is based on a repository's `git describe --tags --always`.
-		"-DCURRENT_GIT_VERSION=${GIT_REV:0:8}"
-		# Supported and tested optional arguments.
-		"-DBUILD_TESTS=$(usex test)"
-	)
-	cmake_src_configure
-}
-
-src_test() {
-	cmake_src_test
-
-	if use nexus; then
-		ebegin "Test creating prjoxide example bitstreams"
-		if ! "${BUILD_DIR}/nextpnr-nexus" --version; then
-			die "nextpnr-nexus executable not found in ${BUILD_DIR}"
-		fi
-		export PATH="${BUILD_DIR}:${PATH}"
-
-		cd "${T}" || die
-		cp -r /usr/share/prjoxide/examples prjoxide-examples || die
-		for example in blinky_evn blinky_vip; do
-			pushd prjoxide-examples/${example} || die
-			emake blinky.bit
-			popd || die
-		done
-		eend
-	fi
-}
diff --git a/sci-electronics/nextpnr/nextpnr-0.1_p20220201.ebuild b/sci-electronics/nextpnr/nextpnr-0.1_p20220201.ebuild
deleted file mode 100644
index 81eb0a6..0000000
--- a/sci-electronics/nextpnr/nextpnr-0.1_p20220201.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake  # EAPI >=7
-
-DESCRIPTION="nextpnr -- a portable FPGA place and route tool."
-HOMEPAGE="https://github.com/YosysHQ/nextpnr"
-
-GIT_REV="c306ef12bcb5c5fed8782cbfa05d6534ce6a49dd"
-
-# 'tests' submodule.
-TESTS_GIT_REV="ccc61e5ec7cc04410462ec3196ad467354787afb"
-
-SRC_URI="
-	https://github.com/YosysHQ/nextpnr/archive/${GIT_REV}.tar.gz -> nextpnr-${GIT_REV}.tar.gz
-	https://github.com/YosysHQ/nextpnr-tests/archive/${TESTS_GIT_REV}.tar.gz -> nextpnr-tests-${TESTS_GIT_REV}.tar.gz
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="*"
-
-DEPEND="
-	dev-cpp/eigen:3
-	dev-libs/boost
-	nexus? ( sci-electronics/prjoxide )
-"
-RDEPEND="${DEPEND}
-	sci-electronics/yosys
-"
-
-IUSE="+nexus test"
-
-NEXTPNR_ROOT_DIR="${WORKDIR}/nextpnr-${GIT_REV}"
-S="${NEXTPNR_ROOT_DIR}"
-
-pkg_pretend() {
-	if ! use nexus; then
-		die '
-			At least one FPGA family have to be chosen for nextpnr to support.
-			Currently supported FPGA families are:
-			* Lattice Nexus (USE=nexus)
-		'
-	fi
-}
-
-src_unpack() {
-	default
-
-	cd "${NEXTPNR_ROOT_DIR}" || die
-	mv -T ../nextpnr-tests-* tests || die
-}
-
-src_configure() {
-	mycmakeargs=(
-		"-DARCH=nexus"
-		"-DOXIDE_INSTALL_PREFIX=/usr"
-		# Version is based on a repository's `git describe --tags --always`.
-		"-DCURRENT_GIT_VERSION=${GIT_REV:0:8}"
-		# Supported and tested optional arguments.
-		"-DBUILD_TESTS=$(usex test)"
-	)
-	cmake_src_configure
-}
-
-src_test() {
-	cmake_src_test
-
-	if use nexus; then
-		ebegin "Test creating prjoxide example bitstreams"
-		if ! "${BUILD_DIR}/nextpnr-nexus" --version; then
-			die "nextpnr-nexus executable not found in ${BUILD_DIR}"
-		fi
-		export PATH="${BUILD_DIR}:${PATH}"
-
-		cd "${T}" || die
-		cp -r /usr/share/prjoxide/examples prjoxide-examples || die
-		for example in blinky_evn blinky_vip; do
-			pushd prjoxide-examples/${example} || die
-			emake blinky.bit
-			popd || die
-		done
-		eend
-	fi
-}
diff --git a/sci-electronics/nextpnr/nextpnr-0.1_p20220210.ebuild b/sci-electronics/nextpnr/nextpnr-0.1_p20220210.ebuild
deleted file mode 100644
index d8f70b5..0000000
--- a/sci-electronics/nextpnr/nextpnr-0.1_p20220210.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake  # EAPI >=7
-
-DESCRIPTION="nextpnr -- a portable FPGA place and route tool."
-HOMEPAGE="https://github.com/YosysHQ/nextpnr"
-
-GIT_REV="604711275343ef6c60ffe76d7fad756a7b938915"
-
-# 'tests' submodule.
-TESTS_GIT_REV="ccc61e5ec7cc04410462ec3196ad467354787afb"
-
-SRC_URI="
-	https://github.com/YosysHQ/nextpnr/archive/${GIT_REV}.tar.gz -> nextpnr-${GIT_REV}.tar.gz
-	https://github.com/YosysHQ/nextpnr-tests/archive/${TESTS_GIT_REV}.tar.gz -> nextpnr-tests-${TESTS_GIT_REV}.tar.gz
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="*"
-
-DEPEND="
-	dev-cpp/eigen:3
-	dev-libs/boost
-	nexus? ( sci-electronics/prjoxide )
-"
-RDEPEND="${DEPEND}
-	sci-electronics/yosys
-"
-
-IUSE="+nexus test"
-
-NEXTPNR_ROOT_DIR="${WORKDIR}/nextpnr-${GIT_REV}"
-S="${NEXTPNR_ROOT_DIR}"
-
-pkg_pretend() {
-	if ! use nexus; then
-		die '
-			At least one FPGA family have to be chosen for nextpnr to support.
-			Currently supported FPGA families are:
-			* Lattice Nexus (USE=nexus)
-		'
-	fi
-}
-
-src_unpack() {
-	default
-
-	cd "${NEXTPNR_ROOT_DIR}" || die
-	mv -T ../nextpnr-tests-* tests || die
-}
-
-src_configure() {
-	mycmakeargs=(
-		"-DARCH=nexus"
-		"-DOXIDE_INSTALL_PREFIX=/usr"
-		# Version is based on a repository's `git describe --tags --always`.
-		"-DCURRENT_GIT_VERSION=${GIT_REV:0:8}"
-		# Supported and tested optional arguments.
-		"-DBUILD_TESTS=$(usex test)"
-	)
-	cmake_src_configure
-}
-
-src_test() {
-	cmake_src_test
-
-	if use nexus; then
-		ebegin "Test creating prjoxide example bitstreams"
-		if ! "${BUILD_DIR}/nextpnr-nexus" --version; then
-			die "nextpnr-nexus executable not found in ${BUILD_DIR}"
-		fi
-		export PATH="${BUILD_DIR}:${PATH}"
-
-		cd "${T}" || die
-		cp -r /usr/share/prjoxide/examples prjoxide-examples || die
-		for example in blinky_evn blinky_vip; do
-			pushd prjoxide-examples/${example} || die
-			emake blinky.bit
-			popd || die
-		done
-		eend
-	fi
-}
diff --git a/sci-electronics/nextpnr/nextpnr-0.1_pre20211124.ebuild b/sci-electronics/nextpnr/nextpnr-0.1_pre20211124.ebuild
deleted file mode 100644
index 31aca73..0000000
--- a/sci-electronics/nextpnr/nextpnr-0.1_pre20211124.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake  # EAPI >=7
-
-DESCRIPTION="nextpnr -- a portable FPGA place and route tool."
-HOMEPAGE="https://github.com/YosysHQ/nextpnr"
-
-GIT_REV="fd2d4a8f999947ece42f791e19ddc4c2d8b823f2"
-
-# 'tests' submodule.
-TESTS_GIT_REV="ccc61e5ec7cc04410462ec3196ad467354787afb"
-
-SRC_URI="
-	https://github.com/YosysHQ/nextpnr/archive/${GIT_REV}.tar.gz -> nextpnr-${GIT_REV}.tar.gz
-	https://github.com/YosysHQ/nextpnr-tests/archive/${TESTS_GIT_REV}.tar.gz -> nextpnr-tests-${TESTS_GIT_REV}.tar.gz
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="*"
-
-DEPEND="
-	dev-cpp/eigen:3
-	dev-libs/boost
-	nexus? ( sci-electronics/prjoxide )
-"
-RDEPEND="${DEPEND}
-	sci-electronics/yosys
-"
-
-IUSE="+nexus test"
-
-NEXTPNR_ROOT_DIR="${WORKDIR}/nextpnr-${GIT_REV}"
-S="${NEXTPNR_ROOT_DIR}"
-
-pkg_pretend() {
-	if ! use nexus; then
-		die '
-			At least one FPGA family have to be chosen for nextpnr to support.
-			Currently supported FPGA families are:
-			* Lattice Nexus (USE=nexus)
-		'
-	fi
-}
-
-src_unpack() {
-	default
-
-	cd "${NEXTPNR_ROOT_DIR}" || die
-	mv -T ../nextpnr-tests-* tests || die
-}
-
-src_configure() {
-	mycmakeargs=(
-		"-DARCH=nexus"
-		"-DOXIDE_INSTALL_PREFIX=/usr"
-		# Version is based on a repository's `git describe --tags --always`.
-		"-DCURRENT_GIT_VERSION=${GIT_REV:0:8}"
-		# Supported and tested optional arguments.
-		"-DBUILD_TESTS=$(usex test)"
-	)
-	cmake_src_configure
-}
-
-src_test() {
-	cmake_src_test
-
-	if use nexus; then
-		ebegin "Test creating prjoxide example bitstreams"
-		if ! "${BUILD_DIR}/nextpnr-nexus" --version; then
-			die "nextpnr-nexus executable not found in ${BUILD_DIR}"
-		fi
-		export PATH="${BUILD_DIR}:${PATH}"
-
-		cd "${T}" || die
-		cp -r /usr/share/prjoxide/examples prjoxide-examples || die
-		for example in blinky_evn blinky_vip; do
-			pushd prjoxide-examples/${example} || die
-			emake blinky.bit
-			popd || die
-		done
-		eend
-	fi
-}
diff --git a/sci-electronics/nextpnr/nextpnr-0.3_p20220708.ebuild b/sci-electronics/nextpnr/nextpnr-0.3_p20220708.ebuild
new file mode 100644
index 0000000..7f07a71
--- /dev/null
+++ b/sci-electronics/nextpnr/nextpnr-0.3_p20220708.ebuild
@@ -0,0 +1,87 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake  # EAPI >=7
+
+DESCRIPTION="nextpnr -- a portable FPGA place and route tool."
+HOMEPAGE="https://github.com/YosysHQ/nextpnr"
+
+GIT_REV="664cec54b92844745e21a4e86dcf8e3cca09d781"
+
+# 'tests' submodule.
+TESTS_GIT_REV="00c55a9eb9ea2e062b51fe0d64741412b185d95d"
+
+SRC_URI="
+	https://github.com/YosysHQ/nextpnr/archive/${GIT_REV}.tar.gz -> nextpnr-${GIT_REV}.tar.gz
+	https://github.com/YosysHQ/nextpnr-tests/archive/${TESTS_GIT_REV}.tar.gz -> nextpnr-tests-${TESTS_GIT_REV}.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="*"
+
+DEPEND="
+	dev-cpp/eigen:3
+	dev-libs/boost
+	nexus? ( sci-electronics/prjoxide )
+"
+RDEPEND="${DEPEND}
+	sci-electronics/yosys
+"
+
+IUSE="+nexus test"
+
+NEXTPNR_ROOT_DIR="${WORKDIR}/nextpnr-${GIT_REV}"
+S="${NEXTPNR_ROOT_DIR}"
+
+pkg_pretend() {
+	if ! use nexus; then
+		die '
+			At least one FPGA family have to be chosen for nextpnr to support.
+			Currently supported FPGA families are:
+			* Lattice Nexus (USE=nexus)
+		'
+	fi
+}
+
+src_unpack() {
+	default
+
+	cd "${NEXTPNR_ROOT_DIR}" || die
+	mv -T ../nextpnr-tests-* tests || die
+}
+
+src_configure() {
+	mycmakeargs=(
+		"-DARCH=nexus"
+		"-DOXIDE_INSTALL_PREFIX=/usr"
+		# Version is based on a repository's `git describe --tags --always`.
+		"-DCURRENT_GIT_VERSION=${GIT_REV:0:8}"
+		# Supported and tested optional arguments.
+		"-DBUILD_TESTS=$(usex test)"
+	)
+	cmake_src_configure
+}
+
+src_test() {
+	cmake_src_test
+
+	if use nexus; then
+		ebegin "Test creating prjoxide example bitstreams"
+		if ! "${BUILD_DIR}/nextpnr-nexus" --version; then
+			die "nextpnr-nexus executable not found in ${BUILD_DIR}"
+		fi
+		export PATH="${BUILD_DIR}:${PATH}"
+
+		cd "${T}" || die
+		cp -r /usr/share/prjoxide/examples prjoxide-examples || die
+		for example in blinky_evn blinky_vip; do
+			pushd prjoxide-examples/${example} || die
+			emake blinky.bit
+			popd || die
+		done
+		eend
+	fi
+}
diff --git a/sci-electronics/nmigen/Manifest b/sci-electronics/nmigen/Manifest
deleted file mode 100644
index c96ac71..0000000
--- a/sci-electronics/nmigen/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST nmigen-f7c2b9419f9de450be76a0e9cf681931295df65f.tar.gz 220534 BLAKE2B 63bc74a105f828ffc59601ab8a6277e2402d2c685be8977c8d7a75a1e3bb59c49d015af018444c27ddef573b84c9638e9b5f583d70c9691f918c8fe9676c25e2 SHA512 d34afe2bc4412289e24cd468ae093c28277d8aceb466553f53f04b95e2dc914ef69aad4d700037869c4475d26f60ebe39d6785267e84b65ef7f6e36b75622623
diff --git a/sci-electronics/nmigen/files/nmigen-0.2_p20210204-fix-cxx-executable.patch b/sci-electronics/nmigen/files/nmigen-0.2_p20210204-fix-cxx-executable.patch
deleted file mode 100644
index 57b33158..0000000
--- a/sci-electronics/nmigen/files/nmigen-0.2_p20210204-fix-cxx-executable.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-# Prefixed toolchain isn't properly used otherwise (`cxx` executable is called
-# instead) and `tests/test_toolchain_cxx.py` obstructs the test phase.
-
---- a/nmigen/_toolchain/cxx.py
-+++ b/nmigen/_toolchain/cxx.py
-@@ -33,7 +33,9 @@ def build_cxx(*, cxx_sources, output_name, include_dirs, macros):
-             compiler=f"{cc} {cflags}",
-             compiler_so=f"{cc} {cflags}",
-             compiler_cxx=f"{cxx} {cflags}",
-+            compiler_so_cxx=f"{cxx} {cflags}",
-             linker_so=ld_cxxflags,
-+            linker_so_cxx=ld_cxxflags,
-         )
- 
-         for include_dir in include_dirs:
diff --git a/sci-electronics/nmigen/files/nmigen-0.2_p20210204-fix-setup.patch b/sci-electronics/nmigen/files/nmigen-0.2_p20210204-fix-setup.patch
deleted file mode 100644
index d5296fd..0000000
--- a/sci-electronics/nmigen/files/nmigen-0.2_p20210204-fix-setup.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-# `wheel` package isn't available in ChromiumOS and it's not really required.
-#
-# `importlib_resources` isn't available in ChromiumOS but it's only required to
-# use nMigen Yosys which, having the "original" Yosys installed, isn't needed.
-
---- a/setup.py
-+++ b/setup.py
-@@ -38,10 +38,9 @@ def doc_version():
-     #long_description="""TODO""",
-     license="BSD",
-     python_requires="~=3.6",
--    setup_requires=["wheel", "setuptools", "setuptools_scm"],
-+    setup_requires=["setuptools", "setuptools_scm"],
-     install_requires=[
-         "importlib_metadata; python_version<'3.8'",  # for __version__ and nmigen._yosys
--        "importlib_resources; python_version<'3.9'", # for nmigen._yosys
-         "pyvcd~=0.2.2", # for nmigen.pysim
-         "Jinja2~=2.11", # for nmigen.build
-     ],
diff --git a/sci-electronics/nmigen/nmigen-0.2_p20210204.ebuild b/sci-electronics/nmigen/nmigen-0.2_p20210204.ebuild
deleted file mode 100644
index ddcd009..0000000
--- a/sci-electronics/nmigen/nmigen-0.2_p20210204.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-inherit distutils-r1
-
-DESCRIPTION="A refreshed Python toolbox for building complex digital hardware."
-HOMEPAGE="https://github.com/nmigen/nmigen"
-
-GIT_REV="f7c2b9419f9de450be76a0e9cf681931295df65f"
-SRC_URI="https://github.com/nmigen/${PN}/archive/${GIT_REV}.tar.gz -> ${PN}-${GIT_REV}.tar.gz"
-
-# Provide the version since `setuptools_scm` breaks emerging snapshot ebuilds.
-# `python3 -m setuptools_scm` can be used inside a repository to print version
-# corresponding to the checked-out commit.
-export SETUPTOOLS_SCM_PRETEND_VERSION="0.3.dev243+gf7c2b94"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Versioned setup.py deps: "pyvcd~=0.2.2", "Jinja2~=2.11".
-RDEPEND="
-	$(python_gen_cond_dep '
-		dev-python/importlib_metadata[${PYTHON_USEDEP}]
-	' python3_{6..7})
-	>=dev-python/jinja-2.11[${PYTHON_USEDEP}] =dev-python/jinja-2*
-	>=dev-python/pyvcd-0.2.2[${PYTHON_USEDEP}] =dev-python/pyvcd-0.2*
-	>=sci-electronics/yosys-0.9
-"
-BDEPEND="
-	dev-python/setuptools_scm[${PYTHON_USEDEP}]
-"
-
-S="${WORKDIR}/${PN}-${GIT_REV}"
-
-PATCHES="
-	${FILESDIR}/nmigen-0.2_p20210204-fix-cxx-executable.patch
-	${FILESDIR}/nmigen-0.2_p20210204-fix-setup.patch
-"
-
-src_test() {
-	if ! has_version sci-electronics/symbiyosys; then
-		ewarn "SymbiYosys not found; skipping tests that require it."
-		eapply "${FILESDIR}/nmigen-0.2_p20210204-skip-tests-using-symbiyosys.patch"
-	fi
-
-	distutils-r1_src_test
-}
-
-# Apart from declaring `python_test`, `distutils_enable_tests` also manages test
-# dependencies and flags. Let's keep it even though the function is overridden.
-distutils_enable_tests unittest
-python_test() {
-	distutils_install_for_testing
-
-	"${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
-}
diff --git a/sci-electronics/prjoxide/Manifest b/sci-electronics/prjoxide/Manifest
index a1e4275..04aed4a 100644
--- a/sci-electronics/prjoxide/Manifest
+++ b/sci-electronics/prjoxide/Manifest
@@ -1,3 +1,3 @@
 DIST fpga-interchange-schema-78abf3f30770ccc6d0e1f5dbfeaef2666f55acf6.tar.gz 1329813 BLAKE2B 10040ad877c8efd6446585522b85c86585f012d4104d3780465285cf7045e732dfa9a889ca969beea97def827fafe7e505c20b9d006082baf5a758476f6a9920 SHA512 9f08e1a351a885544360f8121ed56ac0e2d179048ac61e16f727986d394653e086c0233a57f4869f41f82e4e620d1a029c32ce6e36eb97333d026ba53365cd83
-DIST prjoxide-318331f8b30c2e2a31cc41d51f104b671e180a8a.tar.gz 163236 BLAKE2B 28af83f8a16ad888de42e1f4525b7d97ee95beaa338b4943e3e86a12a2774ee2a3584c2457a286048dfe75894c60a5cfda8188f4b6a9fdff51b14bb01616bf1d SHA512 4c4112b5e2b095f3540065742c6dea83c3b2083e7d2463b40642ac5b7e5af0f5498bdce723f1ab0f3659e7cf16c2b4b186f3bfd0146abf8568e0bb09b5b83c9e
-DIST prjoxide-db-48cb5537977c41d38c40ddff45ba1bbcec384ba8.tar.gz 939770 BLAKE2B 4a664e6597754e96097a04443e36a13f4990ad5e6d9048ed7c107b902de381494cde6c8d3093e3be3b1f3d39c11444a190ba9e8a4a766f48195d0bbb90da6e5f SHA512 5836907cabf8929691f04826e96343aaa6de1c349ce632527eb8d777cbcc6773faf00b58176f12339a5fb397d7a4c1d98d595c0decaf6d0548749cfce82211c8
+DIST prjoxide-d1fc5cd045531a0cc48ebffd5802f4ef84067aea.tar.gz 164105 BLAKE2B 77c39f409e00fa80a9980abec9197e5cbc04860ff7afbb9ff7b5a8b89ba8bce9d7c0ab447c97203ff329c85004af06cea5412af0d19894894f37590ff3d803b8 SHA512 62ef3394b50d65be827fdf8cce2ac1e048af2190bb4810f4fa3eb0b361d1d1f54944d6b63290ad8a6b83b84522c6f971003e2293320c081b76c329285be505ae
+DIST prjoxide-db-1566e0d8af245c4d52f4c5ec04667e5a4f0f01e2.tar.gz 942814 BLAKE2B 7fc511671843d1af88e14b4af3487383387cf2c57dfd55fd0dc2e79d1639b6c595d95c2d8cda958bd931159f93aebbae3c9ed51f94d8aee5fa8d1d22a425edde SHA512 2f4cced95eec5e6f13464f5be87f6754b9b752652150d47aab69a8c89b77cd7756e95521ea317ac8cd495298d9a8b149ab591dfac6cce209e27654aebe584d5d
diff --git a/sci-electronics/prjoxide/prjoxide-0.1.0_p20210924-r1.ebuild b/sci-electronics/prjoxide/prjoxide-0.1.0_p20210924-r1.ebuild
deleted file mode 120000
index d0ebfd6..0000000
--- a/sci-electronics/prjoxide/prjoxide-0.1.0_p20210924-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-prjoxide-0.1.0_p20210924.ebuild
\ No newline at end of file
diff --git a/sci-electronics/prjoxide/prjoxide-0.1.0_p20210924.ebuild b/sci-electronics/prjoxide/prjoxide-0.1.0_p20210924.ebuild
deleted file mode 100644
index bd4b4bc..0000000
--- a/sci-electronics/prjoxide/prjoxide-0.1.0_p20210924.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit cros-rust
-
-DESCRIPTION="Project Oxide - documenting Lattice's 28nm \"Nexus\" FPGA parts"
-HOMEPAGE="https://github.com/gatecat/prjoxide"
-
-GIT_REV="318331f8b30c2e2a31cc41d51f104b671e180a8a"
-
-# 'database' submodule.
-DB_GIT_REV="48cb5537977c41d38c40ddff45ba1bbcec384ba8"
-
-# '3rdparty/fpga-interchange-schema' submodule.
-SCHEMA_GIT_REV="78abf3f30770ccc6d0e1f5dbfeaef2666f55acf6"
-
-SRC_URI="
-	https://github.com/gatecat/prjoxide/archive/${GIT_REV}.tar.gz -> prjoxide-${GIT_REV}.tar.gz
-	https://github.com/gatecat/prjoxide-db/archive/${DB_GIT_REV}.tar.gz -> prjoxide-db-${DB_GIT_REV}.tar.gz
-	https://github.com/SymbiFlow/fpga-interchange-schema/archive/${SCHEMA_GIT_REV}.tar.gz -> fpga-interchange-schema-${SCHEMA_GIT_REV}.tar.gz
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="*"
-
-DEPEND="
-	=dev-rust/capnp-0.14*:=
-	=dev-rust/clap-3*:=
-	=dev-rust/flate2-1*:=
-	=dev-rust/include_dir-0.6*:=
-	>=dev-rust/itertools-0.8.2:= <dev-rust/itertools-0.9.0
-	>=dev-rust/lazy_static-1.4.0:= <dev-rust/lazy_static-2.0.0
-	>=dev-rust/log-0.4.11:= <dev-rust/log-0.5.0
-	=dev-rust/multimap-0.8*:=
-	=dev-rust/num-bigint-0.4*:=
-	>=dev-rust/pulldown-cmark-0.6.1:= <dev-rust/pulldown-cmark-0.7.0
-	=dev-rust/regex-1*:=
-	>=dev-rust/ron-0.5.1:= <dev-rust/ron-0.6.0
-	=dev-rust/serde-1*:=
-	=dev-rust/serde_json-1*:=
-	=dev-rust/capnpc-0.14*:=
-"
-RDEPEND="sci-electronics/yosys"
-
-PRJOXIDE_ROOT_DIR="${WORKDIR}/${PN}-${GIT_REV}"
-S="${PRJOXIDE_ROOT_DIR}/libprjoxide/prjoxide"
-
-src_unpack() {
-	cros-rust_src_unpack
-
-	cd "${PRJOXIDE_ROOT_DIR}" || die
-	mv -T ../prjoxide-db-* database || die
-	mv -T ../fpga-interchange-schema-* 3rdparty/fpga-interchange-schema || die
-
-	# Remove to build only the prjoxide binary (with prjoxide/Cargo.toml).
-	rm libprjoxide/Cargo.toml || die
-}
-
-src_compile() {
-	ecargo_build
-}
-
-src_test() {
-	ebegin "Testing 'prjoxide --help'"
-	"$(cros-rust_get_build_dir)/prjoxide" --help &>/dev/null \
-		|| die "The binary hasn't been correctly built!"
-	eend
-}
-
-src_install() {
-	dobin "$(cros-rust_get_build_dir)/prjoxide"
-
-	dodoc "${PRJOXIDE_ROOT_DIR}/README.md"
-
-	insinto /usr/share/${PN}
-	doins -r "${PRJOXIDE_ROOT_DIR}/examples"
-}
diff --git a/sci-electronics/prjoxide/prjoxide-0.1.0_p20220527.ebuild b/sci-electronics/prjoxide/prjoxide-0.1.0_p20220527.ebuild
new file mode 100644
index 0000000..72cb83c
--- /dev/null
+++ b/sci-electronics/prjoxide/prjoxide-0.1.0_p20220527.ebuild
@@ -0,0 +1,84 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit cros-rust
+
+DESCRIPTION="Project Oxide - documenting Lattice's 28nm \"Nexus\" FPGA parts"
+HOMEPAGE="https://github.com/gatecat/prjoxide"
+
+GIT_REV="d1fc5cd045531a0cc48ebffd5802f4ef84067aea"
+
+# 'database' submodule.
+DB_GIT_REV="1566e0d8af245c4d52f4c5ec04667e5a4f0f01e2"
+
+# '3rdparty/fpga-interchange-schema' submodule.
+SCHEMA_GIT_REV="78abf3f30770ccc6d0e1f5dbfeaef2666f55acf6"
+
+SRC_URI="
+	https://github.com/gatecat/prjoxide/archive/${GIT_REV}.tar.gz -> prjoxide-${GIT_REV}.tar.gz
+	https://github.com/gatecat/prjoxide-db/archive/${DB_GIT_REV}.tar.gz -> prjoxide-db-${DB_GIT_REV}.tar.gz
+	https://github.com/SymbiFlow/fpga-interchange-schema/archive/${SCHEMA_GIT_REV}.tar.gz -> fpga-interchange-schema-${SCHEMA_GIT_REV}.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="*"
+
+DEPEND="
+	=dev-rust/capnp-0.14*:=
+	=dev-rust/clap-3.0.0_beta2:=
+	=dev-rust/clap_derive-3.0.0_beta2:=
+	=dev-rust/flate2-1*:=
+	=dev-rust/include_dir-0.6*:=
+	>=dev-rust/itertools-0.8.2:= <dev-rust/itertools-0.9.0
+	>=dev-rust/lazy_static-1.4.0:= <dev-rust/lazy_static-2.0.0
+	>=dev-rust/log-0.4.11:= <dev-rust/log-0.5.0
+	=dev-rust/multimap-0.8*:=
+	=dev-rust/num-bigint-0.4*:=
+	>=dev-rust/pulldown-cmark-0.6.1:= <dev-rust/pulldown-cmark-0.7.0
+	=dev-rust/regex-1*:=
+	>=dev-rust/ron-0.5.1:= <dev-rust/ron-0.6.0
+	=dev-rust/serde-1*:=
+	=dev-rust/serde_json-1*:=
+	=dev-rust/capnpc-0.14*:=
+"
+RDEPEND="
+	${DEPEND}
+	sci-electronics/yosys
+"
+
+PRJOXIDE_ROOT_DIR="${WORKDIR}/${PN}-${GIT_REV}"
+S="${PRJOXIDE_ROOT_DIR}/libprjoxide/prjoxide"
+
+src_unpack() {
+	cros-rust_src_unpack
+
+	cd "${PRJOXIDE_ROOT_DIR}" || die
+	mv -T ../prjoxide-db-* database || die
+	mv -T ../fpga-interchange-schema-* 3rdparty/fpga-interchange-schema || die
+
+	# Remove to build only the prjoxide binary (with prjoxide/Cargo.toml).
+	rm libprjoxide/Cargo.toml || die
+}
+
+src_compile() {
+	ecargo_build
+}
+
+src_test() {
+	ebegin "Testing 'prjoxide --help'"
+	"$(cros-rust_get_build_dir)/prjoxide" --help &>/dev/null \
+		|| die "The binary hasn't been correctly built!"
+	eend
+}
+
+src_install() {
+	dobin "$(cros-rust_get_build_dir)/prjoxide"
+
+	dodoc "${PRJOXIDE_ROOT_DIR}/README.md"
+
+	insinto /usr/share/${PN}
+	doins -r "${PRJOXIDE_ROOT_DIR}/examples"
+}
diff --git a/sci-electronics/sigrok-cli/sigrok-cli-0.5.0-r17.ebuild b/sci-electronics/sigrok-cli/sigrok-cli-0.5.0-r17.ebuild
deleted file mode 100644
index 630a9cf..0000000
--- a/sci-electronics/sigrok-cli/sigrok-cli-0.5.0-r17.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-electronics/sigrok-cli/sigrok-cli-9999.ebuild,v 1.1 2014/06/14 06:22:26 vapier Exp $
-
-EAPI="5"
-
-CROS_WORKON_COMMIT="c9edfa218e5a5972531b6f4a3ece8d33a44ae1b5"
-CROS_WORKON_TREE="742697db0bb207c6716d7484278ff91633c5f8ce"
-CROS_WORKON_PROJECT="chromiumos/third_party/libsigrok-cli"
-CROS_WORKON_EGIT_BRANCH="chromeos"
-
-PYTHON_COMPAT=( python3_{2,3,4,6} )
-inherit cros-workon eutils python-single-r1 autotools
-
-SRC_URI=""
-KEYWORDS="*"
-
-DESCRIPTION="Command-line client for the sigrok logic analyzer software"
-HOMEPAGE="http://sigrok.org/wiki/Sigrok-cli"
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="+decode"
-REQUIRED_USE="decode? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND=">=dev-libs/glib-2.28.0
-	>=sci-libs/libsigrok-0.3.0
-	decode? (
-		>=sci-libs/libsigrokdecode-0.3.0
-		${PYTHON_DEPS}
-	)"
-DEPEND="${RDEPEND}
-	virtual/pkgconfig"
-
-src_prepare() {
-	[[ ${PV} == "9999" ]] && eautoreconf
-
-	# This is fixed after the 0.5.0 release.
-	sed -i \
-		-e '/WITH_SRD=$enableval/s:=$enableval:=$withval:' \
-		configure || die
-}
-
-src_configure() {
-	econf $(use_with decode libsigrokdecode)
-}
diff --git a/sci-electronics/sigrok-cli/sigrok-cli-0.5.0-r18.ebuild b/sci-electronics/sigrok-cli/sigrok-cli-0.5.0-r18.ebuild
new file mode 100644
index 0000000..c85ab85
--- /dev/null
+++ b/sci-electronics/sigrok-cli/sigrok-cli-0.5.0-r18.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-electronics/sigrok-cli/sigrok-cli-9999.ebuild,v 1.1 2014/06/14 06:22:26 vapier Exp $
+
+EAPI="5"
+
+CROS_WORKON_COMMIT="c9edfa218e5a5972531b6f4a3ece8d33a44ae1b5"
+CROS_WORKON_TREE="742697db0bb207c6716d7484278ff91633c5f8ce"
+CROS_WORKON_PROJECT="chromiumos/third_party/libsigrok-cli"
+CROS_WORKON_EGIT_BRANCH="chromeos"
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cros-workon eutils python-single-r1 autotools
+
+SRC_URI=""
+KEYWORDS="*"
+
+DESCRIPTION="Command-line client for the sigrok logic analyzer software"
+HOMEPAGE="http://sigrok.org/wiki/Sigrok-cli"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+decode"
+REQUIRED_USE="decode? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND=">=dev-libs/glib-2.28.0
+	>=sci-libs/libsigrok-0.3.0
+	decode? (
+		>=sci-libs/libsigrokdecode-0.3.0
+		${PYTHON_DEPS}
+	)"
+DEPEND="${RDEPEND}
+	virtual/pkgconfig"
+
+src_prepare() {
+	[[ ${PV} == "9999" ]] && eautoreconf
+
+	# This is fixed after the 0.5.0 release.
+	sed -i \
+		-e '/WITH_SRD=$enableval/s:=$enableval:=$withval:' \
+		configure || die
+}
+
+src_configure() {
+	econf $(use_with decode libsigrokdecode)
+}
diff --git a/sci-electronics/sigrok-cli/sigrok-cli-9999.ebuild b/sci-electronics/sigrok-cli/sigrok-cli-9999.ebuild
index 9f7617c..a2baee3 100644
--- a/sci-electronics/sigrok-cli/sigrok-cli-9999.ebuild
+++ b/sci-electronics/sigrok-cli/sigrok-cli-9999.ebuild
@@ -7,7 +7,7 @@
 CROS_WORKON_PROJECT="chromiumos/third_party/libsigrok-cli"
 CROS_WORKON_EGIT_BRANCH="chromeos"
 
-PYTHON_COMPAT=( python3_{2,3,4,6} )
+PYTHON_COMPAT=( python3_{6..9} )
 inherit cros-workon eutils python-single-r1 autotools
 
 SRC_URI=""
diff --git a/sci-electronics/yosys-f4pga-plugins/Manifest b/sci-electronics/yosys-f4pga-plugins/Manifest
new file mode 100644
index 0000000..cd04279
--- /dev/null
+++ b/sci-electronics/yosys-f4pga-plugins/Manifest
@@ -0,0 +1 @@
+DIST yosys-f4pga-plugins-52cdcc42db527087fb342b4dabdb1a79878266cb.tar.gz 354953 BLAKE2B 81e9384a92040b1c3e8478f87b68a6719d78d287dacadf5cd45ef6a0825351170be538606bc1eec5d3c47e85bb6eca8fd9c9abeeca8f37049bc315a987c3646e SHA512 bb7fcdf55a3c91057813fd8ba88c7dc807fd316b5afa98896e6e6ede49d9f474bb096ff747ecd36c740bc01c1b690c47c1eafe10873e579df4d4a040c77718bc
diff --git a/sci-electronics/nmigen/OWNERS b/sci-electronics/yosys-f4pga-plugins/OWNERS
similarity index 100%
copy from sci-electronics/nmigen/OWNERS
copy to sci-electronics/yosys-f4pga-plugins/OWNERS
diff --git a/sci-electronics/yosys-f4pga-plugins/yosys-f4pga-plugins-1.0.0_p20220720.ebuild b/sci-electronics/yosys-f4pga-plugins/yosys-f4pga-plugins-1.0.0_p20220720.ebuild
new file mode 100644
index 0000000..c6def1b
--- /dev/null
+++ b/sci-electronics/yosys-f4pga-plugins/yosys-f4pga-plugins-1.0.0_p20220720.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Plugins for Yosys developed as part of the F4PGA project"
+HOMEPAGE="https://github.com/chipsalliance/yosys-f4pga-plugins"
+
+GIT_REV="52cdcc42db527087fb342b4dabdb1a79878266cb"
+
+SRC_URI="
+	https://github.com/chipsalliance/yosys-f4pga-plugins/archive/${GIT_REV}.tar.gz -> ${PN}-${GIT_REV}.tar.gz
+"
+
+S="${WORKDIR}/${PN}-${GIT_REV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+
+DEPEND="sci-electronics/yosys"
+RDEPEND="sci-electronics/yosys:="
+
+src_compile() {
+	# For now, we just build and install this one plugin, because that's all
+	# that HPS uses. Some of the other plugins have extra dependencies which
+	# aren't packaged in ChromiumOS. We could expand this to build more plugins
+	# in future if needed.
+	emake -C dsp-ff-plugin all
+}
+
+src_test() {
+	# Can't run the tests because there's no way to make yosys find a plugin
+	# before it's been installed into /usr/share/yosys/plugins. :-(
+	#emake -C dsp-ff-plugin/tests
+	:
+}
+
+src_install() {
+	emake -C dsp-ff-plugin install DESTDIR="${D}"
+}
diff --git a/sci-electronics/yosys/Manifest b/sci-electronics/yosys/Manifest
index 649b65f..d08efb3 100644
--- a/sci-electronics/yosys/Manifest
+++ b/sci-electronics/yosys/Manifest
@@ -1,2 +1,2 @@
-DIST yosys-9c93668954fe2ec7aa1fb64573f6e9bf97824b60.tar.gz 2076884 BLAKE2B 3a9a88f42c43bf0fe25e8f2892e5fbced5b45e4a8df5b09e06cc86a9927d88790e02af6c5515131e9dec9dec5f9d6dc928bc9eb238ad7c91f03b7b29ef178a22 SHA512 2bb5b431a1d9157723405feb24af2068af72af88c541e2e315bceacd4ac0109df41e9f66f37aa8d68fca2125e8874b69cf6a1d1249b993b034647c9d4cb056e1
-DIST yosys-abc-f6fa2dd.tar.gz 5973437 BLAKE2B 889a38df9b123a0a900134c1cddf826741debdc218cd0738b1cb67d6f837a068eb19f76062c407f801837834196a0d61e6957e289d174e34d3666eebff623875 SHA512 708c62384d5c6cc1c603539b30a857b73c9e7b8810718ce6233af732e21aad172e5458f34cefcfdba78b80a33c7a0e9869b8b796ef0bb0bc08e8e7e926e170cc
+DIST yosys-08c319fc352fb2670b7416b5fb16ddcb9a400049.tar.gz 2341138 BLAKE2B 9ff1fd353c64c9ca4ca7eddbd526f28b1eb10da337b43d478cc045c5080e3daac3134df64f4494bff66e76f899273f2431a3fcbbec33a66182cddb5d07990737 SHA512 675f252c86c86a3cb94ca9d1785c0439f58da9f4b625fd79fe1921b5b758630cdb7f02154487aaf0073ac759188fe90eb9a0bccf75ff8caba837659538cb5474
+DIST yosys-abc-5f40c47.tar.gz 6046575 BLAKE2B 8ba8d04ea04f87a7781cca4ef6d8db136532a2aaa6d6a4ee6e2a800a307d764b0b8a76b0a35e2f4484701d0f4e0658b7eb1507abc5270be8018c9b78c8907a6c SHA512 ad5c460d9c289b9a9905b92f2912d3cb502a4230d63d6e7c620c1cdf7aeaca335b283c61862840d46c5250312ad47c420beb86c7c8644fae2deacaddce2c775a
diff --git a/sci-electronics/yosys/files/0001-Revert-nexus-Use-memory_libmap-pass.patch b/sci-electronics/yosys/files/0001-Revert-nexus-Use-memory_libmap-pass.patch
new file mode 100644
index 0000000..bd2e95c
--- /dev/null
+++ b/sci-electronics/yosys/files/0001-Revert-nexus-Use-memory_libmap-pass.patch
@@ -0,0 +1,1314 @@
+From a4cb44d667ee3611611d7aa527bf7a4d061279b9 Mon Sep 17 00:00:00 2001
+From: Dan Callaghan <dcallagh@google.com>
+Date: Mon, 18 Jul 2022 17:21:23 +1000
+Subject: [PATCH] Revert "nexus: Use `memory_libmap` pass."
+
+This reverts commit 0a8eaca322a622610efe5a0d33d1cda83e4afa8c
+as a workaround for an issue with memory_libmap affecting HPS:
+https://github.com/YosysHQ/yosys/issues/3416
+
+diff --git a/techlibs/nexus/Makefile.inc b/techlibs/nexus/Makefile.inc
+index 8121d1d8a..9828d32c1 100644
+--- a/techlibs/nexus/Makefile.inc
++++ b/techlibs/nexus/Makefile.inc
+@@ -6,8 +6,10 @@ $(eval $(call add_share_file,share/nexus,techlibs/nexus/parse_init.vh))
+ $(eval $(call add_share_file,share/nexus,techlibs/nexus/cells_xtra.v))
+ $(eval $(call add_share_file,share/nexus,techlibs/nexus/lutrams_map.v))
+ $(eval $(call add_share_file,share/nexus,techlibs/nexus/lutrams.txt))
++$(eval $(call add_share_file,share/nexus,techlibs/nexus/brams_init.vh))
+ $(eval $(call add_share_file,share/nexus,techlibs/nexus/brams_map.v))
+ $(eval $(call add_share_file,share/nexus,techlibs/nexus/brams.txt))
++$(eval $(call add_share_file,share/nexus,techlibs/nexus/lrams_init.vh))
+ $(eval $(call add_share_file,share/nexus,techlibs/nexus/lrams_map.v))
+ $(eval $(call add_share_file,share/nexus,techlibs/nexus/lrams.txt))
+ $(eval $(call add_share_file,share/nexus,techlibs/nexus/arith_map.v))
+diff --git a/techlibs/nexus/brams.txt b/techlibs/nexus/brams.txt
+index 975a8d227..086afe8bf 100644
+--- a/techlibs/nexus/brams.txt
++++ b/techlibs/nexus/brams.txt
+@@ -1,47 +1,63 @@
+-ram block $__NX_DP16K_ {
+-	abits 14;
+-	widths 1 2 4 9 18 per_port;
+-	byte 9;
+-	cost 129;
+-	init no_undef;
+-	port srsw "A" "B" {
+-		clock posedge;
+-		clken;
+-		wrbe_separate;
+-		rdwr no_change;
+-		portoption "RESETMODE" "SYNC" {
+-			rdsrst zero gated_clken;
+-		}
+-		portoption "RESETMODE" "ASYNC" {
+-			rdarst zero;
+-		}
+-		rdinit zero;
+-	}
+-}
++bram $__NX_PDP16K
++  init 1
+ 
+-ram block $__NX_PDP16K_ {
+-	abits 14;
+-	widths 1 2 4 9 18 36 per_port;
+-	byte 9;
+-	option "SAME_CLOCK" 1 cost 128;
+-	option "SAME_CLOCK" 0 cost 129;
+-	init no_undef;
+-	port sr "R" {
+-		option "SAME_CLOCK" 1 clock posedge "C";
+-		option "SAME_CLOCK" 0 clock posedge;
+-		clken;
+-		portoption "RESETMODE" "SYNC" {
+-			rdsrst zero gated_clken;
+-		}
+-		portoption "RESETMODE" "ASYNC" {
+-			rdarst zero;
+-		}
+-		rdinit zero;
+-	}
+-	port sw "W" {
+-		option "SAME_CLOCK" 1 clock posedge "C";
+-		option "SAME_CLOCK" 0 clock posedge;
+-		clken;
+-		option "SAME_CLOCK" 1 wrtrans all old;
+-	}
+-}
++  abits 9 @a9d36
++  dbits 36 @a9d36
++  abits 10 @a10d18
++  dbits 18 @a10d18
++  abits 11 @a11d9
++  dbits 9  @a11d9
++  abits 12 @a12d4
++  dbits 4  @a12d4
++  abits 13 @a13d2
++  dbits 2  @a13d2
++  abits 14 @a14d1
++  dbits 1  @a14d1
++
++  groups 2
++  ports 1 1
++  wrmode 1 0
++  enable 4 1 @a9d36
++  enable 2 1 @a10d18
++  enable 1 1 @a11d9 @a12d4 @a13d2 @a14d1
++  transp 0 0
++  clocks 2 3
++  clkpol 2 3
++endbram
++
++match $__NX_PDP16K
++  # implicitly requested RAM or ROM
++  attribute !syn_ramstyle syn_ramstyle=auto
++  attribute !syn_romstyle syn_romstyle=auto
++  attribute !ram_block
++  attribute !rom_block
++  attribute !logic_block
++  min bits 2048
++  min efficiency 5
++  shuffle_enable A
++  make_transp
++  or_next_if_better
++endmatch
++
++match $__NX_PDP16K
++  # explicitly requested RAM
++  attribute syn_ramstyle=block_ram ram_block
++  attribute !syn_romstyle
++  attribute !rom_block
++  attribute !logic_block
++  min wports 1
++  shuffle_enable A
++  make_transp
++  or_next_if_better
++endmatch
++
++match $__NX_PDP16K
++  # explicitly requested ROM
++  attribute syn_romstyle=ebr rom_block
++  attribute !syn_ramstyle
++  attribute !ram_block
++  attribute !logic_block
++  max wports 0
++  make_transp
++  shuffle_enable A
++endmatch
+diff --git a/techlibs/nexus/brams_init.vh b/techlibs/nexus/brams_init.vh
+new file mode 100644
+index 000000000..5b1d0188a
+--- /dev/null
++++ b/techlibs/nexus/brams_init.vh
+@@ -0,0 +1,64 @@
++.INITVAL_00($sformatf("0x%080x", permute_init(INIT[0 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_01($sformatf("0x%080x", permute_init(INIT[1 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_02($sformatf("0x%080x", permute_init(INIT[2 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_03($sformatf("0x%080x", permute_init(INIT[3 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_04($sformatf("0x%080x", permute_init(INIT[4 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_05($sformatf("0x%080x", permute_init(INIT[5 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_06($sformatf("0x%080x", permute_init(INIT[6 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_07($sformatf("0x%080x", permute_init(INIT[7 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_08($sformatf("0x%080x", permute_init(INIT[8 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_09($sformatf("0x%080x", permute_init(INIT[9 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_0A($sformatf("0x%080x", permute_init(INIT[10 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_0B($sformatf("0x%080x", permute_init(INIT[11 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_0C($sformatf("0x%080x", permute_init(INIT[12 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_0D($sformatf("0x%080x", permute_init(INIT[13 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_0E($sformatf("0x%080x", permute_init(INIT[14 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_0F($sformatf("0x%080x", permute_init(INIT[15 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_10($sformatf("0x%080x", permute_init(INIT[16 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_11($sformatf("0x%080x", permute_init(INIT[17 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_12($sformatf("0x%080x", permute_init(INIT[18 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_13($sformatf("0x%080x", permute_init(INIT[19 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_14($sformatf("0x%080x", permute_init(INIT[20 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_15($sformatf("0x%080x", permute_init(INIT[21 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_16($sformatf("0x%080x", permute_init(INIT[22 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_17($sformatf("0x%080x", permute_init(INIT[23 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_18($sformatf("0x%080x", permute_init(INIT[24 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_19($sformatf("0x%080x", permute_init(INIT[25 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_1A($sformatf("0x%080x", permute_init(INIT[26 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_1B($sformatf("0x%080x", permute_init(INIT[27 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_1C($sformatf("0x%080x", permute_init(INIT[28 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_1D($sformatf("0x%080x", permute_init(INIT[29 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_1E($sformatf("0x%080x", permute_init(INIT[30 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_1F($sformatf("0x%080x", permute_init(INIT[31 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_20($sformatf("0x%080x", permute_init(INIT[32 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_21($sformatf("0x%080x", permute_init(INIT[33 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_22($sformatf("0x%080x", permute_init(INIT[34 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_23($sformatf("0x%080x", permute_init(INIT[35 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_24($sformatf("0x%080x", permute_init(INIT[36 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_25($sformatf("0x%080x", permute_init(INIT[37 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_26($sformatf("0x%080x", permute_init(INIT[38 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_27($sformatf("0x%080x", permute_init(INIT[39 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_28($sformatf("0x%080x", permute_init(INIT[40 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_29($sformatf("0x%080x", permute_init(INIT[41 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_2A($sformatf("0x%080x", permute_init(INIT[42 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_2B($sformatf("0x%080x", permute_init(INIT[43 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_2C($sformatf("0x%080x", permute_init(INIT[44 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_2D($sformatf("0x%080x", permute_init(INIT[45 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_2E($sformatf("0x%080x", permute_init(INIT[46 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_2F($sformatf("0x%080x", permute_init(INIT[47 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_30($sformatf("0x%080x", permute_init(INIT[48 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_31($sformatf("0x%080x", permute_init(INIT[49 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_32($sformatf("0x%080x", permute_init(INIT[50 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_33($sformatf("0x%080x", permute_init(INIT[51 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_34($sformatf("0x%080x", permute_init(INIT[52 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_35($sformatf("0x%080x", permute_init(INIT[53 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_36($sformatf("0x%080x", permute_init(INIT[54 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_37($sformatf("0x%080x", permute_init(INIT[55 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_38($sformatf("0x%080x", permute_init(INIT[56 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_39($sformatf("0x%080x", permute_init(INIT[57 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_3A($sformatf("0x%080x", permute_init(INIT[58 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_3B($sformatf("0x%080x", permute_init(INIT[59 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_3C($sformatf("0x%080x", permute_init(INIT[60 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_3D($sformatf("0x%080x", permute_init(INIT[61 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_3E($sformatf("0x%080x", permute_init(INIT[62 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_3F($sformatf("0x%080x", permute_init(INIT[63 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE])))
+diff --git a/techlibs/nexus/brams_map.v b/techlibs/nexus/brams_map.v
+index 3cada2414..214da4326 100644
+--- a/techlibs/nexus/brams_map.v
++++ b/techlibs/nexus/brams_map.v
+@@ -1,382 +1,115 @@
+-module $__NX_DP16K_ (...);
+-
+-parameter INIT = 0;
+-
+-parameter PORT_A_OPTION_RESETMODE = "SYNC";
+-parameter PORT_A_WIDTH = 18;
+-parameter PORT_A_WR_BE_WIDTH = 2;
+-
+-input PORT_A_CLK;
+-input PORT_A_CLK_EN;
+-input PORT_A_WR_EN;
+-input PORT_A_RD_SRST;
+-input PORT_A_RD_ARST;
+-input [13:0] PORT_A_ADDR;
+-input [PORT_A_WR_BE_WIDTH-1:0] PORT_A_WR_BE;
+-input [PORT_A_WIDTH-1:0] PORT_A_WR_DATA;
+-output [PORT_A_WIDTH-1:0] PORT_A_RD_DATA;
+-
+-parameter PORT_B_OPTION_RESETMODE = "SYNC";
+-parameter PORT_B_WIDTH = 18;
+-parameter PORT_B_WR_BE_WIDTH = 2;
+-
+-input PORT_B_CLK;
+-input PORT_B_CLK_EN;
+-input PORT_B_WR_EN;
+-input PORT_B_RD_SRST;
+-input PORT_B_RD_ARST;
+-input [13:0] PORT_B_ADDR;
+-input [PORT_B_WR_BE_WIDTH-1:0] PORT_B_WR_BE;
+-input [PORT_B_WIDTH-1:0] PORT_B_WR_DATA;
+-output [PORT_B_WIDTH-1:0] PORT_B_RD_DATA;
+-
+-function [319:0] init_slice;
+-	input integer idx;
+-	integer i, j;
+-	init_slice = 0;
+-	for (i = 0; i < 16; i = i + 1) begin
+-		init_slice[i*20+:18] = INIT[(idx * 16 + i) * 18+:18];
+-	end
+-endfunction
+-
+-wire [17:0] DOA;
+-wire [17:0] DOB;
+-wire [17:0] DIA = PORT_A_WR_DATA;
+-wire [17:0] DIB = PORT_B_WR_DATA;
+-wire [13:0] ADA = PORT_A_WIDTH == 18 ? {PORT_A_ADDR[13:2], PORT_A_WR_BE} : PORT_A_ADDR;
+-wire [13:0] ADB = PORT_B_WIDTH == 18 ? {PORT_B_ADDR[13:2], PORT_B_WR_BE} : PORT_B_ADDR;
+-
+-assign PORT_A_RD_DATA = DOA;
+-assign PORT_B_RD_DATA = DOB;
+-
+-DP16K #(
+-	.INITVAL_00($sformatf("0x%080x", init_slice('h00))),
+-	.INITVAL_01($sformatf("0x%080x", init_slice('h01))),
+-	.INITVAL_02($sformatf("0x%080x", init_slice('h02))),
+-	.INITVAL_03($sformatf("0x%080x", init_slice('h03))),
+-	.INITVAL_04($sformatf("0x%080x", init_slice('h04))),
+-	.INITVAL_05($sformatf("0x%080x", init_slice('h05))),
+-	.INITVAL_06($sformatf("0x%080x", init_slice('h06))),
+-	.INITVAL_07($sformatf("0x%080x", init_slice('h07))),
+-	.INITVAL_08($sformatf("0x%080x", init_slice('h08))),
+-	.INITVAL_09($sformatf("0x%080x", init_slice('h09))),
+-	.INITVAL_0A($sformatf("0x%080x", init_slice('h0a))),
+-	.INITVAL_0B($sformatf("0x%080x", init_slice('h0b))),
+-	.INITVAL_0C($sformatf("0x%080x", init_slice('h0c))),
+-	.INITVAL_0D($sformatf("0x%080x", init_slice('h0d))),
+-	.INITVAL_0E($sformatf("0x%080x", init_slice('h0e))),
+-	.INITVAL_0F($sformatf("0x%080x", init_slice('h0f))),
+-	.INITVAL_10($sformatf("0x%080x", init_slice('h10))),
+-	.INITVAL_11($sformatf("0x%080x", init_slice('h11))),
+-	.INITVAL_12($sformatf("0x%080x", init_slice('h12))),
+-	.INITVAL_13($sformatf("0x%080x", init_slice('h13))),
+-	.INITVAL_14($sformatf("0x%080x", init_slice('h14))),
+-	.INITVAL_15($sformatf("0x%080x", init_slice('h15))),
+-	.INITVAL_16($sformatf("0x%080x", init_slice('h16))),
+-	.INITVAL_17($sformatf("0x%080x", init_slice('h17))),
+-	.INITVAL_18($sformatf("0x%080x", init_slice('h18))),
+-	.INITVAL_19($sformatf("0x%080x", init_slice('h19))),
+-	.INITVAL_1A($sformatf("0x%080x", init_slice('h1a))),
+-	.INITVAL_1B($sformatf("0x%080x", init_slice('h1b))),
+-	.INITVAL_1C($sformatf("0x%080x", init_slice('h1c))),
+-	.INITVAL_1D($sformatf("0x%080x", init_slice('h1d))),
+-	.INITVAL_1E($sformatf("0x%080x", init_slice('h1e))),
+-	.INITVAL_1F($sformatf("0x%080x", init_slice('h1f))),
+-	.INITVAL_20($sformatf("0x%080x", init_slice('h20))),
+-	.INITVAL_21($sformatf("0x%080x", init_slice('h21))),
+-	.INITVAL_22($sformatf("0x%080x", init_slice('h22))),
+-	.INITVAL_23($sformatf("0x%080x", init_slice('h23))),
+-	.INITVAL_24($sformatf("0x%080x", init_slice('h24))),
+-	.INITVAL_25($sformatf("0x%080x", init_slice('h25))),
+-	.INITVAL_26($sformatf("0x%080x", init_slice('h26))),
+-	.INITVAL_27($sformatf("0x%080x", init_slice('h27))),
+-	.INITVAL_28($sformatf("0x%080x", init_slice('h28))),
+-	.INITVAL_29($sformatf("0x%080x", init_slice('h29))),
+-	.INITVAL_2A($sformatf("0x%080x", init_slice('h2a))),
+-	.INITVAL_2B($sformatf("0x%080x", init_slice('h2b))),
+-	.INITVAL_2C($sformatf("0x%080x", init_slice('h2c))),
+-	.INITVAL_2D($sformatf("0x%080x", init_slice('h2d))),
+-	.INITVAL_2E($sformatf("0x%080x", init_slice('h2e))),
+-	.INITVAL_2F($sformatf("0x%080x", init_slice('h2f))),
+-	.INITVAL_30($sformatf("0x%080x", init_slice('h30))),
+-	.INITVAL_31($sformatf("0x%080x", init_slice('h31))),
+-	.INITVAL_32($sformatf("0x%080x", init_slice('h32))),
+-	.INITVAL_33($sformatf("0x%080x", init_slice('h33))),
+-	.INITVAL_34($sformatf("0x%080x", init_slice('h34))),
+-	.INITVAL_35($sformatf("0x%080x", init_slice('h35))),
+-	.INITVAL_36($sformatf("0x%080x", init_slice('h36))),
+-	.INITVAL_37($sformatf("0x%080x", init_slice('h37))),
+-	.INITVAL_38($sformatf("0x%080x", init_slice('h38))),
+-	.INITVAL_39($sformatf("0x%080x", init_slice('h39))),
+-	.INITVAL_3A($sformatf("0x%080x", init_slice('h3a))),
+-	.INITVAL_3B($sformatf("0x%080x", init_slice('h3b))),
+-	.INITVAL_3C($sformatf("0x%080x", init_slice('h3c))),
+-	.INITVAL_3D($sformatf("0x%080x", init_slice('h3d))),
+-	.INITVAL_3E($sformatf("0x%080x", init_slice('h3e))),
+-	.INITVAL_3F($sformatf("0x%080x", init_slice('h3f))),
+-	.DATA_WIDTH_A($sformatf("X%d", PORT_A_WIDTH)),
+-	.DATA_WIDTH_B($sformatf("X%d", PORT_B_WIDTH)),
+-	.OUTREG_A("BYPASSED"),
+-	.OUTREG_B("BYPASSED"),
+-	.RESETMODE_A(PORT_A_OPTION_RESETMODE),
+-	.RESETMODE_B(PORT_B_OPTION_RESETMODE),
+-	.ASYNC_RST_RELEASE_A(PORT_A_OPTION_RESETMODE),
+-	.ASYNC_RST_RELEASE_B(PORT_B_OPTION_RESETMODE),
+-	.CSDECODE_A("000"),
+-	.CSDECODE_B("000"),
+-	.GSR("DISABLED"),
+-) _TECHMAP_REPLACE_ (
+-	.CLKA(PORT_A_CLK),
+-	.WEA(PORT_A_WIDTH == 18 ? PORT_A_WR_EN : (PORT_A_WR_EN | PORT_A_WR_BE[0])),
+-	.CEA(PORT_A_CLK_EN),
+-	.RSTA(PORT_A_OPTION_RESETMODE == "SYNC" ? PORT_A_RD_SRST : PORT_A_RD_ARST),
+-	.CSA(3'b111),
+-	.DIA(DIA),
+-	.DOA(DOA),
+-	.ADA(ADA),
+-
+-	.CLKB(PORT_B_CLK),
+-	.WEB(PORT_B_WIDTH == 18 ? PORT_B_WR_EN : (PORT_B_WR_EN | PORT_B_WR_BE[0])),
+-	.CEB(PORT_B_CLK_EN),
+-	.RSTB(PORT_B_OPTION_RESETMODE == "SYNC" ? PORT_B_RD_SRST : PORT_B_RD_ARST),
+-	.CSB(3'b111),
+-	.ADB(ADB),
+-	.DIB(DIB),
+-	.DOB(DOB),
+-);
+-
+-endmodule
+-
+-
+-module $__NX_PDP16K_ (...);
+-
+-parameter INIT = 0;
+-parameter OPTION_SAME_CLOCK = 1;
+-
+-parameter PORT_R_WIDTH = 36;
+-parameter PORT_R_OPTION_RESETMODE = "SYNC";
+-
+-input CLK_C;
+-
+-input PORT_R_CLK;
+-input PORT_R_CLK_EN;
+-input PORT_R_RD_SRST;
+-input PORT_R_RD_ARST;
+-input [13:0] PORT_R_ADDR;
+-output [PORT_R_WIDTH-1:0] PORT_R_RD_DATA;
+-
+-parameter PORT_W_WIDTH = 36;
+-parameter PORT_W_WR_EN_WIDTH = 4;
+-
+-input PORT_W_CLK;
+-input PORT_W_CLK_EN;
+-input [13:0] PORT_W_ADDR;
+-input [PORT_W_WR_EN_WIDTH-1:0] PORT_W_WR_EN;
+-input [PORT_W_WIDTH-1:0] PORT_W_WR_DATA;
+-
+-function [319:0] init_slice;
+-	input integer idx;
+-	integer i, j;
+-	init_slice = 0;
+-	for (i = 0; i < 16; i = i + 1) begin
+-		init_slice[i*20+:18] = INIT[(idx * 16 + i) * 18+:18];
+-	end
+-endfunction
+-
+-wire [35:0] DI = PORT_W_WR_DATA;
+-wire [35:0] DO;
+-
+-assign PORT_R_RD_DATA = DO;
+-
+-wire [13:0] ADW = PORT_W_WIDTH == 36 ? {PORT_W_ADDR[13:4], PORT_W_WR_EN} :
+-	(PORT_W_WIDTH == 18 ? {PORT_W_ADDR[13:2], PORT_W_WR_EN} : PORT_W_ADDR);
+-
+-generate
+-
+-if (OPTION_SAME_CLOCK) begin
+-
+-PDPSC16K #(
+-	.INITVAL_00($sformatf("0x%080x", init_slice('h00))),
+-	.INITVAL_01($sformatf("0x%080x", init_slice('h01))),
+-	.INITVAL_02($sformatf("0x%080x", init_slice('h02))),
+-	.INITVAL_03($sformatf("0x%080x", init_slice('h03))),
+-	.INITVAL_04($sformatf("0x%080x", init_slice('h04))),
+-	.INITVAL_05($sformatf("0x%080x", init_slice('h05))),
+-	.INITVAL_06($sformatf("0x%080x", init_slice('h06))),
+-	.INITVAL_07($sformatf("0x%080x", init_slice('h07))),
+-	.INITVAL_08($sformatf("0x%080x", init_slice('h08))),
+-	.INITVAL_09($sformatf("0x%080x", init_slice('h09))),
+-	.INITVAL_0A($sformatf("0x%080x", init_slice('h0a))),
+-	.INITVAL_0B($sformatf("0x%080x", init_slice('h0b))),
+-	.INITVAL_0C($sformatf("0x%080x", init_slice('h0c))),
+-	.INITVAL_0D($sformatf("0x%080x", init_slice('h0d))),
+-	.INITVAL_0E($sformatf("0x%080x", init_slice('h0e))),
+-	.INITVAL_0F($sformatf("0x%080x", init_slice('h0f))),
+-	.INITVAL_10($sformatf("0x%080x", init_slice('h10))),
+-	.INITVAL_11($sformatf("0x%080x", init_slice('h11))),
+-	.INITVAL_12($sformatf("0x%080x", init_slice('h12))),
+-	.INITVAL_13($sformatf("0x%080x", init_slice('h13))),
+-	.INITVAL_14($sformatf("0x%080x", init_slice('h14))),
+-	.INITVAL_15($sformatf("0x%080x", init_slice('h15))),
+-	.INITVAL_16($sformatf("0x%080x", init_slice('h16))),
+-	.INITVAL_17($sformatf("0x%080x", init_slice('h17))),
+-	.INITVAL_18($sformatf("0x%080x", init_slice('h18))),
+-	.INITVAL_19($sformatf("0x%080x", init_slice('h19))),
+-	.INITVAL_1A($sformatf("0x%080x", init_slice('h1a))),
+-	.INITVAL_1B($sformatf("0x%080x", init_slice('h1b))),
+-	.INITVAL_1C($sformatf("0x%080x", init_slice('h1c))),
+-	.INITVAL_1D($sformatf("0x%080x", init_slice('h1d))),
+-	.INITVAL_1E($sformatf("0x%080x", init_slice('h1e))),
+-	.INITVAL_1F($sformatf("0x%080x", init_slice('h1f))),
+-	.INITVAL_20($sformatf("0x%080x", init_slice('h20))),
+-	.INITVAL_21($sformatf("0x%080x", init_slice('h21))),
+-	.INITVAL_22($sformatf("0x%080x", init_slice('h22))),
+-	.INITVAL_23($sformatf("0x%080x", init_slice('h23))),
+-	.INITVAL_24($sformatf("0x%080x", init_slice('h24))),
+-	.INITVAL_25($sformatf("0x%080x", init_slice('h25))),
+-	.INITVAL_26($sformatf("0x%080x", init_slice('h26))),
+-	.INITVAL_27($sformatf("0x%080x", init_slice('h27))),
+-	.INITVAL_28($sformatf("0x%080x", init_slice('h28))),
+-	.INITVAL_29($sformatf("0x%080x", init_slice('h29))),
+-	.INITVAL_2A($sformatf("0x%080x", init_slice('h2a))),
+-	.INITVAL_2B($sformatf("0x%080x", init_slice('h2b))),
+-	.INITVAL_2C($sformatf("0x%080x", init_slice('h2c))),
+-	.INITVAL_2D($sformatf("0x%080x", init_slice('h2d))),
+-	.INITVAL_2E($sformatf("0x%080x", init_slice('h2e))),
+-	.INITVAL_2F($sformatf("0x%080x", init_slice('h2f))),
+-	.INITVAL_30($sformatf("0x%080x", init_slice('h30))),
+-	.INITVAL_31($sformatf("0x%080x", init_slice('h31))),
+-	.INITVAL_32($sformatf("0x%080x", init_slice('h32))),
+-	.INITVAL_33($sformatf("0x%080x", init_slice('h33))),
+-	.INITVAL_34($sformatf("0x%080x", init_slice('h34))),
+-	.INITVAL_35($sformatf("0x%080x", init_slice('h35))),
+-	.INITVAL_36($sformatf("0x%080x", init_slice('h36))),
+-	.INITVAL_37($sformatf("0x%080x", init_slice('h37))),
+-	.INITVAL_38($sformatf("0x%080x", init_slice('h38))),
+-	.INITVAL_39($sformatf("0x%080x", init_slice('h39))),
+-	.INITVAL_3A($sformatf("0x%080x", init_slice('h3a))),
+-	.INITVAL_3B($sformatf("0x%080x", init_slice('h3b))),
+-	.INITVAL_3C($sformatf("0x%080x", init_slice('h3c))),
+-	.INITVAL_3D($sformatf("0x%080x", init_slice('h3d))),
+-	.INITVAL_3E($sformatf("0x%080x", init_slice('h3e))),
+-	.INITVAL_3F($sformatf("0x%080x", init_slice('h3f))),
+-	.DATA_WIDTH_W($sformatf("X%d", PORT_W_WIDTH)),
+-	.DATA_WIDTH_R($sformatf("X%d", PORT_R_WIDTH)),
+-	.OUTREG("BYPASSED"),
+-	.RESETMODE(PORT_R_OPTION_RESETMODE),
+-	.ASYNC_RST_RELEASE(PORT_R_OPTION_RESETMODE),
+-	.CSDECODE_W("000"),
+-	.CSDECODE_R("000"),
+-	.ECC("DISABLED"),
+-	.GSR("DISABLED"),
+-) _TECHMAP_REPLACE_ (
+-	.CLK(CLK_C),
+-
+-	.CEW(PORT_W_CLK_EN),
+-	.CSW(3'b111),
+-	.ADW(ADW),
+-	.DI(DI),
+-
+-	.CER(PORT_R_CLK_EN),
+-	.RST(PORT_R_OPTION_RESETMODE == "SYNC" ? PORT_R_RD_SRST : PORT_R_RD_ARST),
+-	.CSR(3'b111),
+-	.ADR(PORT_R_ADDR),
+-	.DO(DO),
+-);
+-
+-end else begin
+-
+-PDP16K #(
+-	.INITVAL_00($sformatf("0x%080x", init_slice('h00))),
+-	.INITVAL_01($sformatf("0x%080x", init_slice('h01))),
+-	.INITVAL_02($sformatf("0x%080x", init_slice('h02))),
+-	.INITVAL_03($sformatf("0x%080x", init_slice('h03))),
+-	.INITVAL_04($sformatf("0x%080x", init_slice('h04))),
+-	.INITVAL_05($sformatf("0x%080x", init_slice('h05))),
+-	.INITVAL_06($sformatf("0x%080x", init_slice('h06))),
+-	.INITVAL_07($sformatf("0x%080x", init_slice('h07))),
+-	.INITVAL_08($sformatf("0x%080x", init_slice('h08))),
+-	.INITVAL_09($sformatf("0x%080x", init_slice('h09))),
+-	.INITVAL_0A($sformatf("0x%080x", init_slice('h0a))),
+-	.INITVAL_0B($sformatf("0x%080x", init_slice('h0b))),
+-	.INITVAL_0C($sformatf("0x%080x", init_slice('h0c))),
+-	.INITVAL_0D($sformatf("0x%080x", init_slice('h0d))),
+-	.INITVAL_0E($sformatf("0x%080x", init_slice('h0e))),
+-	.INITVAL_0F($sformatf("0x%080x", init_slice('h0f))),
+-	.INITVAL_10($sformatf("0x%080x", init_slice('h10))),
+-	.INITVAL_11($sformatf("0x%080x", init_slice('h11))),
+-	.INITVAL_12($sformatf("0x%080x", init_slice('h12))),
+-	.INITVAL_13($sformatf("0x%080x", init_slice('h13))),
+-	.INITVAL_14($sformatf("0x%080x", init_slice('h14))),
+-	.INITVAL_15($sformatf("0x%080x", init_slice('h15))),
+-	.INITVAL_16($sformatf("0x%080x", init_slice('h16))),
+-	.INITVAL_17($sformatf("0x%080x", init_slice('h17))),
+-	.INITVAL_18($sformatf("0x%080x", init_slice('h18))),
+-	.INITVAL_19($sformatf("0x%080x", init_slice('h19))),
+-	.INITVAL_1A($sformatf("0x%080x", init_slice('h1a))),
+-	.INITVAL_1B($sformatf("0x%080x", init_slice('h1b))),
+-	.INITVAL_1C($sformatf("0x%080x", init_slice('h1c))),
+-	.INITVAL_1D($sformatf("0x%080x", init_slice('h1d))),
+-	.INITVAL_1E($sformatf("0x%080x", init_slice('h1e))),
+-	.INITVAL_1F($sformatf("0x%080x", init_slice('h1f))),
+-	.INITVAL_20($sformatf("0x%080x", init_slice('h20))),
+-	.INITVAL_21($sformatf("0x%080x", init_slice('h21))),
+-	.INITVAL_22($sformatf("0x%080x", init_slice('h22))),
+-	.INITVAL_23($sformatf("0x%080x", init_slice('h23))),
+-	.INITVAL_24($sformatf("0x%080x", init_slice('h24))),
+-	.INITVAL_25($sformatf("0x%080x", init_slice('h25))),
+-	.INITVAL_26($sformatf("0x%080x", init_slice('h26))),
+-	.INITVAL_27($sformatf("0x%080x", init_slice('h27))),
+-	.INITVAL_28($sformatf("0x%080x", init_slice('h28))),
+-	.INITVAL_29($sformatf("0x%080x", init_slice('h29))),
+-	.INITVAL_2A($sformatf("0x%080x", init_slice('h2a))),
+-	.INITVAL_2B($sformatf("0x%080x", init_slice('h2b))),
+-	.INITVAL_2C($sformatf("0x%080x", init_slice('h2c))),
+-	.INITVAL_2D($sformatf("0x%080x", init_slice('h2d))),
+-	.INITVAL_2E($sformatf("0x%080x", init_slice('h2e))),
+-	.INITVAL_2F($sformatf("0x%080x", init_slice('h2f))),
+-	.INITVAL_30($sformatf("0x%080x", init_slice('h30))),
+-	.INITVAL_31($sformatf("0x%080x", init_slice('h31))),
+-	.INITVAL_32($sformatf("0x%080x", init_slice('h32))),
+-	.INITVAL_33($sformatf("0x%080x", init_slice('h33))),
+-	.INITVAL_34($sformatf("0x%080x", init_slice('h34))),
+-	.INITVAL_35($sformatf("0x%080x", init_slice('h35))),
+-	.INITVAL_36($sformatf("0x%080x", init_slice('h36))),
+-	.INITVAL_37($sformatf("0x%080x", init_slice('h37))),
+-	.INITVAL_38($sformatf("0x%080x", init_slice('h38))),
+-	.INITVAL_39($sformatf("0x%080x", init_slice('h39))),
+-	.INITVAL_3A($sformatf("0x%080x", init_slice('h3a))),
+-	.INITVAL_3B($sformatf("0x%080x", init_slice('h3b))),
+-	.INITVAL_3C($sformatf("0x%080x", init_slice('h3c))),
+-	.INITVAL_3D($sformatf("0x%080x", init_slice('h3d))),
+-	.INITVAL_3E($sformatf("0x%080x", init_slice('h3e))),
+-	.INITVAL_3F($sformatf("0x%080x", init_slice('h3f))),
+-	.DATA_WIDTH_W($sformatf("X%d", PORT_W_WIDTH)),
+-	.DATA_WIDTH_R($sformatf("X%d", PORT_R_WIDTH)),
+-	.OUTREG("BYPASSED"),
+-	.RESETMODE(PORT_R_OPTION_RESETMODE),
+-	.ASYNC_RST_RELEASE(PORT_R_OPTION_RESETMODE),
+-	.CSDECODE_W("000"),
+-	.CSDECODE_R("000"),
+-	.ECC("DISABLED"),
+-	.GSR("DISABLED"),
+-) _TECHMAP_REPLACE_ (
+-	.CLKW(PORT_W_CLK),
+-	.CEW(PORT_W_CLK_EN),
+-	.CSW(3'b111),
+-	.ADW(ADW),
+-	.DI(DI),
+-
+-	.CLKR(PORT_R_CLK),
+-	.CER(PORT_R_CLK_EN),
+-	.RST(PORT_R_OPTION_RESETMODE == "SYNC" ? PORT_R_RD_SRST : PORT_R_RD_ARST),
+-	.CSR(3'b111),
+-	.ADR(PORT_R_ADDR),
+-	.DO(DO),
+-);
+-
+-end
+-
+-endgenerate
++module \$__NX_PDP16K (CLK2, CLK3, A1ADDR, A1DATA, A1EN, B1ADDR, B1DATA, B1EN);
++	parameter CFG_ABITS = 9;
++	parameter CFG_DBITS = 36;
++	parameter CFG_ENABLE_A = 4;
++
++	parameter CLKPOL2 = 1;
++	parameter CLKPOL3 = 1;
++	parameter [18431:0] INIT = 18432'b0;
++
++	parameter _TECHMAP_BITS_CONNMAP_ = 8;
++	parameter [_TECHMAP_BITS_CONNMAP_-1:0] _TECHMAP_CONNMAP_CLK2_ = 0;
++	parameter [_TECHMAP_BITS_CONNMAP_-1:0] _TECHMAP_CONNMAP_CLK3_ = 0;
++
++	input CLK2;
++	input CLK3;
++
++	input [CFG_ABITS-1:0] A1ADDR;
++	input [CFG_DBITS-1:0] A1DATA;
++	input [CFG_ENABLE_A-1:0] A1EN;
++
++	input [CFG_ABITS-1:0] B1ADDR;
++	output [CFG_DBITS-1:0] B1DATA;
++	input B1EN;
++
++	// Address is left justified, in x18 and above lower bits are byte enables
++	localparam A_SHIFT =
++		(CFG_DBITS == 36) ? 5 :
++		(CFG_DBITS == 18) ? 4 :
++		(CFG_DBITS == 9) ? 3 :
++		(CFG_DBITS == 4) ? 2 :
++		(CFG_DBITS == 2) ? 1 :
++		0;
++
++	// Different primitives needed for single vs dual clock case
++	localparam SINGLE_CLOCK = (_TECHMAP_CONNMAP_CLK2_ == _TECHMAP_CONNMAP_CLK3_);
++
++	localparam WIDTH = $sformatf("X%d", CFG_DBITS);
++
++	wire [13:0] ra, wa;
++	wire [35:0] rd, wd;
++
++	assign ra = {B1ADDR, {A_SHIFT{1'b1}}};
++
++	generate
++		if (CFG_ENABLE_A > 1)
++			assign wa = {A1ADDR, {(A_SHIFT-CFG_ENABLE_A){1'b1}}, A1EN};
++		else
++			assign wa = {A1ADDR, {A_SHIFT{1'b1}}};
++	endgenerate
++
++	assign wd = A1DATA;
++	assign B1DATA = rd[CFG_DBITS-1:0];
++
++	wire wck, rck;
++
++	generate
++		if (CLKPOL2)
++			assign wck = CLK2;
++		else
++			INV wck_inv_i (.A(CLK2), .Z(wck));
++		if (CLKPOL3)
++			assign rck = CLK3;
++		else
++			INV wck_inv_i (.A(CLK3), .Z(rck));
++	endgenerate
++
++	wire we = |A1EN;
++
++	localparam INIT_CHUNK_SIZE = (CFG_DBITS <= 4) ? 256 : 288;
++
++	function [319:0] permute_init;
++		input [INIT_CHUNK_SIZE-1:0] chunk;
++		integer i;
++		begin
++			if (CFG_DBITS <= 4) begin
++				for (i = 0; i < 32; i = i + 1'b1)
++					permute_init[i * 10 +: 10] = {2'b00, chunk[i * 8 +: 8]};
++			end else begin
++				for (i = 0; i < 32; i = i + 1'b1)
++					permute_init[i * 10 +: 10] = {1'b0, chunk[i * 9 +: 9]};
++			end
++		end
++	endfunction
++
++	generate
++		if (SINGLE_CLOCK) begin
++			PDPSC16K #(
++				.DATA_WIDTH_W(WIDTH),
++				.DATA_WIDTH_R(WIDTH),
++				.OUTREG("BYPASSED"),
++				.ECC("DISABLED"),
++				.GSR("DISABLED"),
++`include "brams_init.vh"
++			) _TECHMAP_REPLACE_ (
++				.CLK(wck), .RST(1'b0),
++				.DI(wd), .ADW(wa), .CEW(we), .CSW(3'b111),
++				.ADR(ra), .DO(rd), .CER(B1EN), .CSR(3'b111)
++			);
++		end else begin
++			PDP16K #(
++				.DATA_WIDTH_W(WIDTH),
++				.DATA_WIDTH_R(WIDTH),
++				.OUTREG("BYPASSED"),
++				.ECC("DISABLED"),
++				.GSR("DISABLED"),
++`include "brams_init.vh"
++			) _TECHMAP_REPLACE_ (
++				.CLKW(wck), .CLKR(rck), .RST(1'b0),
++				.DI(wd), .ADW(wa), .CEW(we), .CSW(3'b111),
++				.ADR(ra), .DO(rd), .CER(B1EN), .CSR(3'b111)
++			);
++		end
++	endgenerate
+ 
+ endmodule
+diff --git a/techlibs/nexus/lrams.txt b/techlibs/nexus/lrams.txt
+index ad2845783..481629b98 100644
+--- a/techlibs/nexus/lrams.txt
++++ b/techlibs/nexus/lrams.txt
+@@ -1,21 +1,22 @@
+-ram huge $__NX_DPSC512K_ {
+-	abits 14;
+-	width 32;
+-	byte 8;
+-	cost 2048;
+-	init no_undef;
+-	port srsw "A" "B" {
+-		clock posedge "C";
+-		clken;
+-		wrbe_separate;
+-		rdwr no_change;
+-		option "RESETMODE" "SYNC" {
+-			rdsrst zero gated_clken;
+-		}
+-		option "RESETMODE" "ASYNC" {
+-			rdarst zero;
+-		}
+-		rdinit zero;
+-		wrtrans all old;
+-	}
+-}
++bram $__NX_PDPSC512K
++  init 1
++
++  abits 14
++  dbits 32
++
++  groups 2
++  ports 1 1
++  wrmode 1 0
++  enable 4 1
++  transp 0 0
++  clocks 2 2
++  clkpol 2 2
++endbram
++
++match $__NX_PDPSC512K
++  # explicitly requested LRAM only, due to limited availability and
++  # slower Fmax
++  attribute lram
++  shuffle_enable A
++  make_transp
++endmatch
+diff --git a/techlibs/nexus/lrams_init.vh b/techlibs/nexus/lrams_init.vh
+new file mode 100644
+index 000000000..31a7ba4a8
+--- /dev/null
++++ b/techlibs/nexus/lrams_init.vh
+@@ -0,0 +1,128 @@
++.INITVAL_00($sformatf("0x%05120x", permute_init(INIT[0 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_01($sformatf("0x%05120x", permute_init(INIT[1 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_02($sformatf("0x%05120x", permute_init(INIT[2 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_03($sformatf("0x%05120x", permute_init(INIT[3 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_04($sformatf("0x%05120x", permute_init(INIT[4 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_05($sformatf("0x%05120x", permute_init(INIT[5 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_06($sformatf("0x%05120x", permute_init(INIT[6 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_07($sformatf("0x%05120x", permute_init(INIT[7 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_08($sformatf("0x%05120x", permute_init(INIT[8 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_09($sformatf("0x%05120x", permute_init(INIT[9 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_0A($sformatf("0x%05120x", permute_init(INIT[10 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_0B($sformatf("0x%05120x", permute_init(INIT[11 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_0C($sformatf("0x%05120x", permute_init(INIT[12 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_0D($sformatf("0x%05120x", permute_init(INIT[13 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_0E($sformatf("0x%05120x", permute_init(INIT[14 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_0F($sformatf("0x%05120x", permute_init(INIT[15 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_10($sformatf("0x%05120x", permute_init(INIT[16 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_11($sformatf("0x%05120x", permute_init(INIT[17 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_12($sformatf("0x%05120x", permute_init(INIT[18 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_13($sformatf("0x%05120x", permute_init(INIT[19 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_14($sformatf("0x%05120x", permute_init(INIT[20 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_15($sformatf("0x%05120x", permute_init(INIT[21 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_16($sformatf("0x%05120x", permute_init(INIT[22 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_17($sformatf("0x%05120x", permute_init(INIT[23 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_18($sformatf("0x%05120x", permute_init(INIT[24 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_19($sformatf("0x%05120x", permute_init(INIT[25 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_1A($sformatf("0x%05120x", permute_init(INIT[26 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_1B($sformatf("0x%05120x", permute_init(INIT[27 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_1C($sformatf("0x%05120x", permute_init(INIT[28 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_1D($sformatf("0x%05120x", permute_init(INIT[29 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_1E($sformatf("0x%05120x", permute_init(INIT[30 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_1F($sformatf("0x%05120x", permute_init(INIT[31 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_20($sformatf("0x%05120x", permute_init(INIT[32 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_21($sformatf("0x%05120x", permute_init(INIT[33 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_22($sformatf("0x%05120x", permute_init(INIT[34 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_23($sformatf("0x%05120x", permute_init(INIT[35 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_24($sformatf("0x%05120x", permute_init(INIT[36 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_25($sformatf("0x%05120x", permute_init(INIT[37 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_26($sformatf("0x%05120x", permute_init(INIT[38 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_27($sformatf("0x%05120x", permute_init(INIT[39 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_28($sformatf("0x%05120x", permute_init(INIT[40 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_29($sformatf("0x%05120x", permute_init(INIT[41 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_2A($sformatf("0x%05120x", permute_init(INIT[42 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_2B($sformatf("0x%05120x", permute_init(INIT[43 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_2C($sformatf("0x%05120x", permute_init(INIT[44 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_2D($sformatf("0x%05120x", permute_init(INIT[45 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_2E($sformatf("0x%05120x", permute_init(INIT[46 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_2F($sformatf("0x%05120x", permute_init(INIT[47 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_30($sformatf("0x%05120x", permute_init(INIT[48 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_31($sformatf("0x%05120x", permute_init(INIT[49 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_32($sformatf("0x%05120x", permute_init(INIT[50 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_33($sformatf("0x%05120x", permute_init(INIT[51 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_34($sformatf("0x%05120x", permute_init(INIT[52 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_35($sformatf("0x%05120x", permute_init(INIT[53 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_36($sformatf("0x%05120x", permute_init(INIT[54 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_37($sformatf("0x%05120x", permute_init(INIT[55 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_38($sformatf("0x%05120x", permute_init(INIT[56 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_39($sformatf("0x%05120x", permute_init(INIT[57 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_3A($sformatf("0x%05120x", permute_init(INIT[58 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_3B($sformatf("0x%05120x", permute_init(INIT[59 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_3C($sformatf("0x%05120x", permute_init(INIT[60 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_3D($sformatf("0x%05120x", permute_init(INIT[61 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_3E($sformatf("0x%05120x", permute_init(INIT[62 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_3F($sformatf("0x%05120x", permute_init(INIT[63 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_40($sformatf("0x%05120x", permute_init(INIT[64 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_41($sformatf("0x%05120x", permute_init(INIT[65 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_42($sformatf("0x%05120x", permute_init(INIT[66 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_43($sformatf("0x%05120x", permute_init(INIT[67 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_44($sformatf("0x%05120x", permute_init(INIT[68 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_45($sformatf("0x%05120x", permute_init(INIT[69 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_46($sformatf("0x%05120x", permute_init(INIT[70 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_47($sformatf("0x%05120x", permute_init(INIT[71 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_48($sformatf("0x%05120x", permute_init(INIT[72 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_49($sformatf("0x%05120x", permute_init(INIT[73 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_4A($sformatf("0x%05120x", permute_init(INIT[74 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_4B($sformatf("0x%05120x", permute_init(INIT[75 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_4C($sformatf("0x%05120x", permute_init(INIT[76 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_4D($sformatf("0x%05120x", permute_init(INIT[77 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_4E($sformatf("0x%05120x", permute_init(INIT[78 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_4F($sformatf("0x%05120x", permute_init(INIT[79 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_50($sformatf("0x%05120x", permute_init(INIT[80 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_51($sformatf("0x%05120x", permute_init(INIT[81 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_52($sformatf("0x%05120x", permute_init(INIT[82 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_53($sformatf("0x%05120x", permute_init(INIT[83 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_54($sformatf("0x%05120x", permute_init(INIT[84 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_55($sformatf("0x%05120x", permute_init(INIT[85 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_56($sformatf("0x%05120x", permute_init(INIT[86 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_57($sformatf("0x%05120x", permute_init(INIT[87 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_58($sformatf("0x%05120x", permute_init(INIT[88 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_59($sformatf("0x%05120x", permute_init(INIT[89 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_5A($sformatf("0x%05120x", permute_init(INIT[90 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_5B($sformatf("0x%05120x", permute_init(INIT[91 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_5C($sformatf("0x%05120x", permute_init(INIT[92 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_5D($sformatf("0x%05120x", permute_init(INIT[93 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_5E($sformatf("0x%05120x", permute_init(INIT[94 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_5F($sformatf("0x%05120x", permute_init(INIT[95 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_60($sformatf("0x%05120x", permute_init(INIT[96 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_61($sformatf("0x%05120x", permute_init(INIT[97 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_62($sformatf("0x%05120x", permute_init(INIT[98 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_63($sformatf("0x%05120x", permute_init(INIT[99 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_64($sformatf("0x%05120x", permute_init(INIT[100 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_65($sformatf("0x%05120x", permute_init(INIT[101 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_66($sformatf("0x%05120x", permute_init(INIT[102 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_67($sformatf("0x%05120x", permute_init(INIT[103 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_68($sformatf("0x%05120x", permute_init(INIT[104 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_69($sformatf("0x%05120x", permute_init(INIT[105 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_6A($sformatf("0x%05120x", permute_init(INIT[106 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_6B($sformatf("0x%05120x", permute_init(INIT[107 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_6C($sformatf("0x%05120x", permute_init(INIT[108 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_6D($sformatf("0x%05120x", permute_init(INIT[109 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_6E($sformatf("0x%05120x", permute_init(INIT[110 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_6F($sformatf("0x%05120x", permute_init(INIT[111 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_70($sformatf("0x%05120x", permute_init(INIT[112 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_71($sformatf("0x%05120x", permute_init(INIT[113 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_72($sformatf("0x%05120x", permute_init(INIT[114 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_73($sformatf("0x%05120x", permute_init(INIT[115 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_74($sformatf("0x%05120x", permute_init(INIT[116 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_75($sformatf("0x%05120x", permute_init(INIT[117 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_76($sformatf("0x%05120x", permute_init(INIT[118 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_77($sformatf("0x%05120x", permute_init(INIT[119 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_78($sformatf("0x%05120x", permute_init(INIT[120 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_79($sformatf("0x%05120x", permute_init(INIT[121 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_7A($sformatf("0x%05120x", permute_init(INIT[122 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_7B($sformatf("0x%05120x", permute_init(INIT[123 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_7C($sformatf("0x%05120x", permute_init(INIT[124 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_7D($sformatf("0x%05120x", permute_init(INIT[125 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_7E($sformatf("0x%05120x", permute_init(INIT[126 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
++.INITVAL_7F($sformatf("0x%05120x", permute_init(INIT[127 * INIT_CHUNK_SIZE +: INIT_CHUNK_SIZE]))),
+diff --git a/techlibs/nexus/lrams_map.v b/techlibs/nexus/lrams_map.v
+index 5db5ae8bf..938a0e843 100644
+--- a/techlibs/nexus/lrams_map.v
++++ b/techlibs/nexus/lrams_map.v
+@@ -1,194 +1,56 @@
+-module $__NX_DPSC512K_ (...);
+-
+-parameter INIT = 0;
+-parameter OPTION_RESETMODE = "SYNC";
+-
+-input CLK_C;
+-
+-input PORT_A_CLK;
+-input PORT_A_CLK_EN;
+-input PORT_A_WR_EN;
+-input PORT_A_RD_SRST;
+-input PORT_A_RD_ARST;
+-input [13:0] PORT_A_ADDR;
+-input [3:0] PORT_A_WR_BE;
+-input [31:0] PORT_A_WR_DATA;
+-output [31:0] PORT_A_RD_DATA;
+-
+-input PORT_B_CLK;
+-input PORT_B_CLK_EN;
+-input PORT_B_WR_EN;
+-input PORT_B_RD_SRST;
+-input PORT_B_RD_ARST;
+-input [13:0] PORT_B_ADDR;
+-input [3:0] PORT_B_WR_BE;
+-input [31:0] PORT_B_WR_DATA;
+-output [31:0] PORT_B_RD_DATA;
+-
+-function [5119:0] init_slice;
+-	input integer idx;
+-	integer i, j;
+-	init_slice = 0;
+-	for (i = 0; i < 128; i = i + 1) begin
+-		init_slice[i*40+:32] = INIT[(idx * 128 + i) * 32+:32];
+-	end
+-endfunction
+-
+-DPSC512K #(
+-	.INITVAL_00($sformatf("0x%01280x", init_slice('h00))),
+-	.INITVAL_01($sformatf("0x%01280x", init_slice('h01))),
+-	.INITVAL_02($sformatf("0x%01280x", init_slice('h02))),
+-	.INITVAL_03($sformatf("0x%01280x", init_slice('h03))),
+-	.INITVAL_04($sformatf("0x%01280x", init_slice('h04))),
+-	.INITVAL_05($sformatf("0x%01280x", init_slice('h05))),
+-	.INITVAL_06($sformatf("0x%01280x", init_slice('h06))),
+-	.INITVAL_07($sformatf("0x%01280x", init_slice('h07))),
+-	.INITVAL_08($sformatf("0x%01280x", init_slice('h08))),
+-	.INITVAL_09($sformatf("0x%01280x", init_slice('h09))),
+-	.INITVAL_0A($sformatf("0x%01280x", init_slice('h0a))),
+-	.INITVAL_0B($sformatf("0x%01280x", init_slice('h0b))),
+-	.INITVAL_0C($sformatf("0x%01280x", init_slice('h0c))),
+-	.INITVAL_0D($sformatf("0x%01280x", init_slice('h0d))),
+-	.INITVAL_0E($sformatf("0x%01280x", init_slice('h0e))),
+-	.INITVAL_0F($sformatf("0x%01280x", init_slice('h0f))),
+-	.INITVAL_10($sformatf("0x%01280x", init_slice('h10))),
+-	.INITVAL_11($sformatf("0x%01280x", init_slice('h11))),
+-	.INITVAL_12($sformatf("0x%01280x", init_slice('h12))),
+-	.INITVAL_13($sformatf("0x%01280x", init_slice('h13))),
+-	.INITVAL_14($sformatf("0x%01280x", init_slice('h14))),
+-	.INITVAL_15($sformatf("0x%01280x", init_slice('h15))),
+-	.INITVAL_16($sformatf("0x%01280x", init_slice('h16))),
+-	.INITVAL_17($sformatf("0x%01280x", init_slice('h17))),
+-	.INITVAL_18($sformatf("0x%01280x", init_slice('h18))),
+-	.INITVAL_19($sformatf("0x%01280x", init_slice('h19))),
+-	.INITVAL_1A($sformatf("0x%01280x", init_slice('h1a))),
+-	.INITVAL_1B($sformatf("0x%01280x", init_slice('h1b))),
+-	.INITVAL_1C($sformatf("0x%01280x", init_slice('h1c))),
+-	.INITVAL_1D($sformatf("0x%01280x", init_slice('h1d))),
+-	.INITVAL_1E($sformatf("0x%01280x", init_slice('h1e))),
+-	.INITVAL_1F($sformatf("0x%01280x", init_slice('h1f))),
+-	.INITVAL_20($sformatf("0x%01280x", init_slice('h20))),
+-	.INITVAL_21($sformatf("0x%01280x", init_slice('h21))),
+-	.INITVAL_22($sformatf("0x%01280x", init_slice('h22))),
+-	.INITVAL_23($sformatf("0x%01280x", init_slice('h23))),
+-	.INITVAL_24($sformatf("0x%01280x", init_slice('h24))),
+-	.INITVAL_25($sformatf("0x%01280x", init_slice('h25))),
+-	.INITVAL_26($sformatf("0x%01280x", init_slice('h26))),
+-	.INITVAL_27($sformatf("0x%01280x", init_slice('h27))),
+-	.INITVAL_28($sformatf("0x%01280x", init_slice('h28))),
+-	.INITVAL_29($sformatf("0x%01280x", init_slice('h29))),
+-	.INITVAL_2A($sformatf("0x%01280x", init_slice('h2a))),
+-	.INITVAL_2B($sformatf("0x%01280x", init_slice('h2b))),
+-	.INITVAL_2C($sformatf("0x%01280x", init_slice('h2c))),
+-	.INITVAL_2D($sformatf("0x%01280x", init_slice('h2d))),
+-	.INITVAL_2E($sformatf("0x%01280x", init_slice('h2e))),
+-	.INITVAL_2F($sformatf("0x%01280x", init_slice('h2f))),
+-	.INITVAL_30($sformatf("0x%01280x", init_slice('h30))),
+-	.INITVAL_31($sformatf("0x%01280x", init_slice('h31))),
+-	.INITVAL_32($sformatf("0x%01280x", init_slice('h32))),
+-	.INITVAL_33($sformatf("0x%01280x", init_slice('h33))),
+-	.INITVAL_34($sformatf("0x%01280x", init_slice('h34))),
+-	.INITVAL_35($sformatf("0x%01280x", init_slice('h35))),
+-	.INITVAL_36($sformatf("0x%01280x", init_slice('h36))),
+-	.INITVAL_37($sformatf("0x%01280x", init_slice('h37))),
+-	.INITVAL_38($sformatf("0x%01280x", init_slice('h38))),
+-	.INITVAL_39($sformatf("0x%01280x", init_slice('h39))),
+-	.INITVAL_3A($sformatf("0x%01280x", init_slice('h3a))),
+-	.INITVAL_3B($sformatf("0x%01280x", init_slice('h3b))),
+-	.INITVAL_3C($sformatf("0x%01280x", init_slice('h3c))),
+-	.INITVAL_3D($sformatf("0x%01280x", init_slice('h3d))),
+-	.INITVAL_3E($sformatf("0x%01280x", init_slice('h3e))),
+-	.INITVAL_3F($sformatf("0x%01280x", init_slice('h3f))),
+-	.INITVAL_40($sformatf("0x%01280x", init_slice('h40))),
+-	.INITVAL_41($sformatf("0x%01280x", init_slice('h41))),
+-	.INITVAL_42($sformatf("0x%01280x", init_slice('h42))),
+-	.INITVAL_43($sformatf("0x%01280x", init_slice('h43))),
+-	.INITVAL_44($sformatf("0x%01280x", init_slice('h44))),
+-	.INITVAL_45($sformatf("0x%01280x", init_slice('h45))),
+-	.INITVAL_46($sformatf("0x%01280x", init_slice('h46))),
+-	.INITVAL_47($sformatf("0x%01280x", init_slice('h47))),
+-	.INITVAL_48($sformatf("0x%01280x", init_slice('h48))),
+-	.INITVAL_49($sformatf("0x%01280x", init_slice('h49))),
+-	.INITVAL_4A($sformatf("0x%01280x", init_slice('h4a))),
+-	.INITVAL_4B($sformatf("0x%01280x", init_slice('h4b))),
+-	.INITVAL_4C($sformatf("0x%01280x", init_slice('h4c))),
+-	.INITVAL_4D($sformatf("0x%01280x", init_slice('h4d))),
+-	.INITVAL_4E($sformatf("0x%01280x", init_slice('h4e))),
+-	.INITVAL_4F($sformatf("0x%01280x", init_slice('h4f))),
+-	.INITVAL_50($sformatf("0x%01280x", init_slice('h50))),
+-	.INITVAL_51($sformatf("0x%01280x", init_slice('h51))),
+-	.INITVAL_52($sformatf("0x%01280x", init_slice('h52))),
+-	.INITVAL_53($sformatf("0x%01280x", init_slice('h53))),
+-	.INITVAL_54($sformatf("0x%01280x", init_slice('h54))),
+-	.INITVAL_55($sformatf("0x%01280x", init_slice('h55))),
+-	.INITVAL_56($sformatf("0x%01280x", init_slice('h56))),
+-	.INITVAL_57($sformatf("0x%01280x", init_slice('h57))),
+-	.INITVAL_58($sformatf("0x%01280x", init_slice('h58))),
+-	.INITVAL_59($sformatf("0x%01280x", init_slice('h59))),
+-	.INITVAL_5A($sformatf("0x%01280x", init_slice('h5a))),
+-	.INITVAL_5B($sformatf("0x%01280x", init_slice('h5b))),
+-	.INITVAL_5C($sformatf("0x%01280x", init_slice('h5c))),
+-	.INITVAL_5D($sformatf("0x%01280x", init_slice('h5d))),
+-	.INITVAL_5E($sformatf("0x%01280x", init_slice('h5e))),
+-	.INITVAL_5F($sformatf("0x%01280x", init_slice('h5f))),
+-	.INITVAL_60($sformatf("0x%01280x", init_slice('h60))),
+-	.INITVAL_61($sformatf("0x%01280x", init_slice('h61))),
+-	.INITVAL_62($sformatf("0x%01280x", init_slice('h62))),
+-	.INITVAL_63($sformatf("0x%01280x", init_slice('h63))),
+-	.INITVAL_64($sformatf("0x%01280x", init_slice('h64))),
+-	.INITVAL_65($sformatf("0x%01280x", init_slice('h65))),
+-	.INITVAL_66($sformatf("0x%01280x", init_slice('h66))),
+-	.INITVAL_67($sformatf("0x%01280x", init_slice('h67))),
+-	.INITVAL_68($sformatf("0x%01280x", init_slice('h68))),
+-	.INITVAL_69($sformatf("0x%01280x", init_slice('h69))),
+-	.INITVAL_6A($sformatf("0x%01280x", init_slice('h6a))),
+-	.INITVAL_6B($sformatf("0x%01280x", init_slice('h6b))),
+-	.INITVAL_6C($sformatf("0x%01280x", init_slice('h6c))),
+-	.INITVAL_6D($sformatf("0x%01280x", init_slice('h6d))),
+-	.INITVAL_6E($sformatf("0x%01280x", init_slice('h6e))),
+-	.INITVAL_6F($sformatf("0x%01280x", init_slice('h6f))),
+-	.INITVAL_70($sformatf("0x%01280x", init_slice('h70))),
+-	.INITVAL_71($sformatf("0x%01280x", init_slice('h71))),
+-	.INITVAL_72($sformatf("0x%01280x", init_slice('h72))),
+-	.INITVAL_73($sformatf("0x%01280x", init_slice('h73))),
+-	.INITVAL_74($sformatf("0x%01280x", init_slice('h74))),
+-	.INITVAL_75($sformatf("0x%01280x", init_slice('h75))),
+-	.INITVAL_76($sformatf("0x%01280x", init_slice('h76))),
+-	.INITVAL_77($sformatf("0x%01280x", init_slice('h77))),
+-	.INITVAL_78($sformatf("0x%01280x", init_slice('h78))),
+-	.INITVAL_79($sformatf("0x%01280x", init_slice('h79))),
+-	.INITVAL_7A($sformatf("0x%01280x", init_slice('h7a))),
+-	.INITVAL_7B($sformatf("0x%01280x", init_slice('h7b))),
+-	.INITVAL_7C($sformatf("0x%01280x", init_slice('h7c))),
+-	.INITVAL_7D($sformatf("0x%01280x", init_slice('h7d))),
+-	.INITVAL_7E($sformatf("0x%01280x", init_slice('h7e))),
+-	.INITVAL_7F($sformatf("0x%01280x", init_slice('h7f))),
+-	.OUTREG_A("NO_REG"),
+-	.OUTREG_B("NO_REG"),
+-	.ECC_BYTE_SEL("BYTE_EN"),
+-	.GSR("DISABLED"),
+-	.RESETMODE(OPTION_RESETMODE),
+-	.ASYNC_RESET_RELEASE(OPTION_RESETMODE),
+-) _TECHMAP_REPLACE_ (
+-	.CLK(CLK_C),
+-
+-	.WEA(PORT_A_WR_EN),
+-	.CEA(PORT_A_CLK_EN),
+-	.RSTA(OPTION_RESETMODE == "SYNC" ? PORT_A_RD_SRST : PORT_A_RD_ARST),
+-	.CSA(1'b1),
+-	.ADA(PORT_A_ADDR),
+-	.BENA_N(~PORT_A_WR_BE),
+-	.DIA(PORT_A_WR_DATA),
+-	.DOA(PORT_A_RD_DATA),
+-
+-	.WEB(PORT_B_WR_EN),
+-	.CEB(PORT_B_CLK_EN),
+-	.RSTB(OPTION_RESETMODE == "SYNC" ? PORT_B_RD_SRST : PORT_B_RD_ARST),
+-	.CSB(1'b1),
+-	.BENB_N(~PORT_B_WR_BE),
+-	.ADB(PORT_B_ADDR),
+-	.DIB(PORT_B_WR_DATA),
+-	.DOB(PORT_B_RD_DATA),
+-);
++module \$__NX_PDPSC512K (CLK2, A1ADDR, A1DATA, A1EN, B1ADDR, B1DATA, B1EN);
++	parameter CFG_ABITS = 14;
++	parameter CFG_DBITS = 32;
++	parameter CFG_ENABLE_A = 4;
++
++	parameter CLKPOL2 = 1;
++	parameter [524287:0] INIT = 524287'b0;
++
++	input CLK2;
++
++	input [CFG_ABITS-1:0] A1ADDR;
++	input [CFG_DBITS-1:0] A1DATA;
++	input [CFG_ENABLE_A-1:0] A1EN;
++
++	input [CFG_ABITS-1:0] B1ADDR;
++	output [CFG_DBITS-1:0] B1DATA;
++	input B1EN;
++
++	wire clk;
++	wire [31:0] rd;
++	assign B1DATA = rd[CFG_DBITS-1:0];
++
++	generate
++		if (CLKPOL2)
++			assign clk = CLK2;
++		else
++			INV clk_inv_i (.A(CLK2), .Z(clk));
++	endgenerate
++
++	wire we = |A1EN;
++
++	localparam INIT_CHUNK_SIZE = 4096;
++
++	function [5119:0] permute_init;
++		input [INIT_CHUNK_SIZE-1:0] chunk;
++		integer i;
++		begin
++			for (i = 0; i < 128; i = i + 1'b1)
++				permute_init[i * 40 +: 40] = {8'b0, chunk[i * 32 +: 32]};
++		end
++	endfunction
++
++	generate
++		PDPSC512K #(
++			.OUTREG("NO_REG"),
++			.ECC_BYTE_SEL("BYTE_EN"),
++`include "lrams_init.vh"
++			.GSR("DISABLED")
++		) _TECHMAP_REPLACE_ (
++			.CLK(clk), .RSTR(1'b0),
++			.DI(A1DATA), .ADW(A1ADDR), .CEW(we), .WE(we), .CSW(1'b1),
++			.ADR(B1ADDR), .DO(rd), .CER(B1EN), .CSR(1'b1),
++		);
++	endgenerate
+ 
+ endmodule
+diff --git a/techlibs/nexus/lutrams.txt b/techlibs/nexus/lutrams.txt
+index 90e1e7bfd..2568b9998 100644
+--- a/techlibs/nexus/lutrams.txt
++++ b/techlibs/nexus/lutrams.txt
+@@ -1,12 +1,26 @@
+-ram distributed $__NEXUS_DPR16X4_ {
+-	abits 4;
+-	width 4;
+-	cost 4;
+-	init no_undef;
+-	prune_rom;
+-	port sw "W" {
+-		clock posedge;
+-	}
+-	port ar "R" {
+-	}
+-}
++bram $__NEXUS_DPR16X4
++  init 1
++  abits 4
++  dbits 4
++  groups 2
++  ports  1 1
++  wrmode 0 1
++  enable 0 1
++  transp 0 0
++  clocks 0 1
++  clkpol 0 2
++endbram
++
++# The syn_* attributes are described in:
++# https://www.latticesemi.com/-/media/LatticeSemi/Documents/Tutorials/AK/LatticeDiamondTutorial311.ashx
++attr_icase 1
++
++match $__NEXUS_DPR16X4
++    attribute !syn_ramstyle syn_ramstyle=auto syn_ramstyle=distributed
++    attribute !syn_romstyle syn_romstyle=auto
++    attribute !ram_block
++    attribute !rom_block
++    attribute !logic_block
++  make_outreg
++  min wports 1
++endmatch
+diff --git a/techlibs/nexus/lutrams_map.v b/techlibs/nexus/lutrams_map.v
+index d12b49060..0910664ce 100644
+--- a/techlibs/nexus/lutrams_map.v
++++ b/techlibs/nexus/lutrams_map.v
+@@ -1,23 +1,34 @@
+-module $__NEXUS_DPR16X4_ (...);
+-	parameter INIT = 64'b0;
++module \$__NEXUS_DPR16X4 (CLK1, A1ADDR, A1DATA, B1ADDR, B1DATA, B1EN);
++	parameter [63:0] INIT = 64'b0;
++	parameter CLKPOL2 = 1;
++	input CLK1;
+ 
+-	input PORT_W_CLK;
+-	input [3:0] PORT_W_ADDR;
+-	input [3:0] PORT_W_WR_DATA;
+-	input PORT_W_WR_EN;
++	input [3:0] A1ADDR;
++	output [3:0] A1DATA;
+ 
+-	input [3:0] PORT_R_ADDR;
+-	output [3:0] PORT_R_RD_DATA;
++	input [3:0] B1ADDR;
++	input [3:0] B1DATA;
++	input B1EN;
++
++
++	wire wck;
++
++	generate
++		if (CLKPOL2)
++			assign wck = CLK1;
++		else
++			INV wck_inv_i (.A(CLK1), .Z(wck));
++	endgenerate
+ 
+ 	DPR16X4 #(
+ 		.INITVAL($sformatf("0x%08x", INIT))
+ 	) _TECHMAP_REPLACE_ (
+-		.RAD(PORT_R_ADDR),
+-		.DO(PORT_R_RD_DATA),
++		.RAD(A1ADDR),
++		.DO(A1DATA),
+ 
+-		.WAD(PORT_W_ADDR),
+-		.DI(PORT_W_WR_DATA),
+-		.WCK(PORT_W_CLK),
+-		.WRE(PORT_W_WR_EN)
++		.WAD(B1ADDR),
++		.DI(B1DATA),
++		.WCK(CLK1),
++		.WRE(B1EN)
+ 	);
+ endmodule
+diff --git a/techlibs/nexus/synth_nexus.cc b/techlibs/nexus/synth_nexus.cc
+index 6fd15ba55..03bff0649 100644
+--- a/techlibs/nexus/synth_nexus.cc
++++ b/techlibs/nexus/synth_nexus.cc
+@@ -296,24 +296,33 @@ struct SynthNexusPass : public ScriptPass
+ 			run("opt_clean");
+ 		}
+ 
+-		if (check_label("map_ram"))
++		if (!nolram && check_label("map_lram", "(skip if -nolram)"))
+ 		{
+-			std::string args = "";
+-			args += " -no-auto-huge";
+-			if (nobram)
+-				args += " -no-auto-block";
+-			if (nolutram)
+-				args += " -no-auto-distributed";
+-			if (help_mode)
+-				args += " [-no-auto-block] [-no-auto-distributed]";
+-			run("memory_libmap -lib +/nexus/lutrams.txt -lib +/nexus/brams.txt -lib +/nexus/lrams.txt" + args, "(-no-auto-block if -nobram, -no-auto-distributed if -nolutram)");
+-			run("techmap -map +/nexus/lutrams_map.v -map +/nexus/brams_map.v -map +/nexus/lrams_map.v");
++			run("memory_bram -rules +/nexus/lrams.txt");
++			run("setundef -zero -params t:$__NX_PDPSC512K");
++			run("techmap -map +/nexus/lrams_map.v");
++		}
++
++		if (!nobram && check_label("map_bram", "(skip if -nobram)"))
++		{
++			run("memory_bram -rules +/nexus/brams.txt");
++			run("setundef -zero -params t:$__NX_PDP16K");
++			run("techmap -map +/nexus/brams_map.v");
++		}
++
++		if (!nolutram && check_label("map_lutram", "(skip if -nolutram)"))
++		{
++			run("memory_bram -rules +/nexus/lutrams.txt");
++			run("setundef -zero -params t:$__NEXUS_DPR16X4");
++			run("techmap -map +/nexus/lutrams_map.v");
+ 		}
+ 
+ 		if (check_label("map_ffram"))
+ 		{
+ 			run("opt -fast -mux_undef -undriven -fine");
+-			run("memory_map");
++			run("memory_map -iattr -attr !ram_block -attr !rom_block -attr logic_block "
++			    "-attr syn_ramstyle=auto -attr syn_ramstyle=registers "
++			    "-attr syn_romstyle=auto -attr syn_romstyle=logic");
+ 			run("opt -undriven -fine");
+ 		}
+ 
+diff --git a/tests/arch/nexus/blockram.ys b/tests/arch/nexus/blockram.ys
+index a85b5141e..9540136d5 100644
+--- a/tests/arch/nexus/blockram.ys
++++ b/tests/arch/nexus/blockram.ys
+@@ -3,7 +3,7 @@ design -save read
+ 
+ # Check that we use the right dual and single clock variants
+ 
+-chparam -set ADDRESS_WIDTH 9 -set DATA_WIDTH 36 sync_ram_sdp
++chparam -set ADDRESS_WIDTH 10 -set DATA_WIDTH 18 sync_ram_sdp
+ synth_nexus -top sync_ram_sdp
+ cd sync_ram_sdp
+ select -assert-count 1 t:PDPSC16K
+@@ -11,7 +11,7 @@ select -assert-none t:PDPSC16K t:INV t:IB t:OB t:VLO t:VHI %% t:* %D
+ 
+ design -reset
+ read_verilog blockram_dc.v
+-chparam -set ADDRESS_WIDTH 9 -set DATA_WIDTH 36 sync_ram_sdp_dc
++chparam -set ADDRESS_WIDTH 10 -set DATA_WIDTH 18 sync_ram_sdp_dc
+ synth_nexus -top sync_ram_sdp_dc
+ cd sync_ram_sdp_dc
+ select -assert-count 1 t:PDP16K
+-- 
+2.37.0.170.g444d1eabd0-goog
+
diff --git a/sci-electronics/yosys/files/yosys-fix-Makefile-tools.patch b/sci-electronics/yosys/files/yosys-fix-Makefile-tools.patch
index 6ec3d12..0ead817 100644
--- a/sci-electronics/yosys/files/yosys-fix-Makefile-tools.patch
+++ b/sci-electronics/yosys/files/yosys-fix-Makefile-tools.patch
@@ -6,21 +6,21 @@
 
 --- a/Makefile
 +++ b/Makefile
-@@ -145,7 +145,7 @@ bumpversion:
- ABCREV = f6fa2dd
+@@ -156,7 +156,7 @@ bumpversion:
+ ABCREV = 5f40c47
  ABCPULL = 1
  ABCURL ?= https://github.com/YosysHQ/abc
--ABCMKARGS = CC="$(CXX)" CXX="$(CXX)" ABC_USE_LIBSTDCXX=1 VERBOSE=$(Q)
-+ABCMKARGS = CC="$(CC)" CXX="$(CXX)" ABC_USE_LIBSTDCXX=1 VERBOSE=$(Q)
-
+-ABCMKARGS = CC="$(CXX)" CXX="$(CXX)" ABC_USE_LIBSTDCXX=1 ABC_USE_NAMESPACE=abc VERBOSE=$(Q)
++ABCMKARGS = CC="$(CC)" CXX="$(CXX)" ABC_USE_LIBSTDCXX=1 ABC_USE_NAMESPACE=abc VERBOSE=$(Q)
+ 
  # set ABCEXTERNAL = <abc-command> to use an external ABC instance
  # Note: The in-tree ABC (yosys-abc) will not be installed when ABCEXTERNAL is set.
-@@ -187,8 +187,6 @@ endif
+@@ -198,8 +198,6 @@ endif
  endif
-
+ 
  ifeq ($(CONFIG),clang)
 -CXX = clang
 -LD = clang++
  CXXFLAGS += -std=$(CXXSTD) -Os
- ABCMKARGS += ARCHFLAGS="-DABC_USE_STDINT_H"
+ ABCMKARGS += ARCHFLAGS="-DABC_USE_STDINT_H -Wno-c++11-narrowing"
  
diff --git a/sci-electronics/yosys/yosys-0.13_p20220206.ebuild b/sci-electronics/yosys/yosys-0.13_p20220206.ebuild
deleted file mode 100644
index b27aca4..0000000
--- a/sci-electronics/yosys/yosys-0.13_p20220206.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="A framework for Verilog RTL synthesis."
-HOMEPAGE="https://yosyshq.net/yosys/"
-
-GIT_REV="9c93668954fe2ec7aa1fb64573f6e9bf97824b60"
-
-# These have to match Yosys Makefile's ABCREV and ABCURL variables.
-ABC_GIT_REV="f6fa2dd"
-ABC_GIT_URL="https://github.com/YosysHQ/abc"
-
-SRC_URI="
-	https://github.com/YosysHQ/yosys/archive/${GIT_REV}.tar.gz -> yosys-${GIT_REV}.tar.gz
-	${ABC_GIT_URL}/archive/${ABC_GIT_REV}.tar.gz -> yosys-abc-${ABC_GIT_REV}.tar.gz
-"
-
-S="${WORKDIR}/${PN}-${GIT_REV}"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="*"
-
-DEPEND=""
-RDEPEND="${DEPEND} sci-electronics/iverilog"
-
-PATCHES=(
-	"${FILESDIR}/yosys-fix-Makefile-tools.patch"
-)
-
-src_unpack() {
-	default
-
-	# Yosys' Makefile expects ABC in the 'abc' directory.
-	cd "${S}"
-	mv ../abc-* abc || die
-
-	# Make sure Makefile's ABCURL and ABCREV match ebuild ones.
-	if ! grep -q "^ABCURL.*= ${ABC_GIT_URL}" Makefile; then
-		die "ABC git URL mismatch between ebuild and Yosys' Makefile!"
-	fi
-
-	if ! grep -q "^ABCREV.*= ${ABC_GIT_REV}" Makefile; then
-		die "ABC git revision mismatch between ebuild and Yosys' Makefile!"
-	fi
-}
-
-src_configure() {
-	cat >> Makefile.conf <<-EOF
-		# ABC from 'abc' dir will be used
-		ABCREV := default
-		LD := $(tc-getCXX)
-		PKG_CONFIG := $(tc-getPKG_CONFIG)
-		PREFIX := /usr
-		# Prevent stripping
-		STRIP := :
-	EOF
-}
-
-# The default function doesn't call it because 'emake test -n' fails.
-src_test() {
-	emake test
-}
diff --git a/sci-electronics/yosys/yosys-0.19_p20220712-r1.ebuild b/sci-electronics/yosys/yosys-0.19_p20220712-r1.ebuild
new file mode 120000
index 0000000..7f11600
--- /dev/null
+++ b/sci-electronics/yosys/yosys-0.19_p20220712-r1.ebuild
@@ -0,0 +1 @@
+yosys-0.19_p20220712.ebuild
\ No newline at end of file
diff --git a/sci-electronics/yosys/yosys-0.19_p20220712.ebuild b/sci-electronics/yosys/yosys-0.19_p20220712.ebuild
new file mode 100644
index 0000000..8cddd5a
--- /dev/null
+++ b/sci-electronics/yosys/yosys-0.19_p20220712.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="A framework for Verilog RTL synthesis."
+HOMEPAGE="https://yosyshq.net/yosys/"
+
+GIT_REV="08c319fc352fb2670b7416b5fb16ddcb9a400049"
+
+# These have to match Yosys Makefile's ABCREV and ABCURL variables.
+ABC_GIT_REV="5f40c47"
+ABC_GIT_URL="https://github.com/YosysHQ/abc"
+
+SRC_URI="
+	https://github.com/YosysHQ/yosys/archive/${GIT_REV}.tar.gz -> yosys-${GIT_REV}.tar.gz
+	${ABC_GIT_URL}/archive/${ABC_GIT_REV}.tar.gz -> yosys-abc-${ABC_GIT_REV}.tar.gz
+"
+
+S="${WORKDIR}/${PN}-${GIT_REV}"
+
+LICENSE="ISC"
+SLOT="0/${PVR}"
+KEYWORDS="*"
+
+DEPEND=""
+RDEPEND="${DEPEND} sci-electronics/iverilog"
+
+PATCHES=(
+	"${FILESDIR}/yosys-fix-Makefile-tools.patch"
+	# workaround for https://github.com/YosysHQ/yosys/issues/3416
+	"${FILESDIR}/0001-Revert-nexus-Use-memory_libmap-pass.patch"
+)
+
+src_unpack() {
+	default
+
+	# Yosys' Makefile expects ABC in the 'abc' directory.
+	cd "${S}" || die
+	mv ../abc-* abc || die
+
+	# Make sure Makefile's ABCURL and ABCREV match ebuild ones.
+	if ! grep -q "^ABCURL.*= ${ABC_GIT_URL}" Makefile; then
+		die "ABC git URL mismatch between ebuild and Yosys' Makefile!"
+	fi
+
+	if ! grep -q "^ABCREV.*= ${ABC_GIT_REV}" Makefile; then
+		die "ABC git revision mismatch between ebuild and Yosys' Makefile!"
+	fi
+}
+
+src_configure() {
+	cat >> Makefile.conf <<-EOF
+		# ABC from 'abc' dir will be used
+		ABCREV := default
+		LD := $(tc-getCXX)
+		PKG_CONFIG := $(tc-getPKG_CONFIG)
+		PREFIX := /usr
+		# Prevent stripping
+		STRIP := :
+	EOF
+}
+
+# The default function doesn't call it because 'emake test -n' fails.
+src_test() {
+	emake test
+}
diff --git a/sci-libs/OWNERS b/sci-libs/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/sci-libs/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/sci-libs/libsigrok/libsigrok-0.3.0-r68.ebuild b/sci-libs/libsigrok/libsigrok-0.3.0-r68.ebuild
deleted file mode 100644
index 1223fd1..0000000
--- a/sci-libs/libsigrok/libsigrok-0.3.0-r68.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/libsigrok/libsigrok-9999.ebuild,v 1.3 2014/08/04 02:36:55 vapier Exp $
-
-EAPI="5"
-
-CROS_WORKON_COMMIT="199fe31115c76231746f5953271795d58679561c"
-CROS_WORKON_TREE="b2fa8b7e13a75748082ca036acf49cfd97fdd471"
-CROS_WORKON_PROJECT="chromiumos/third_party/libsigrok"
-CROS_WORKON_EGIT_BRANCH="chromeos"
-
-inherit cros-workon eutils autotools
-
-SRC_URI=""
-KEYWORDS="*"
-
-DESCRIPTION="provide basic hardware drivers for logic analyzers and input/output file format support"
-HOMEPAGE="http://sigrok.org/wiki/Libsigrok"
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="ftdi serial static-libs test usb"
-
-# We also support librevisa, but that isn't in the tree ...
-LIB_DEPEND=">=dev-libs/glib-2.32.0[static-libs(+)]
-	>=dev-libs/libzip-0.8[static-libs(+)]
-	ftdi? ( >=dev-embedded/libftdi-0.16[static-libs(+)] )
-	serial? ( dev-libs/libserialport[static-libs(+)] )
-	usb? ( virtual/libusb:1[static-libs(+)] )"
-RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )
-	static-libs? ( ${LIB_DEPEND} )"
-DEPEND="${LIB_DEPEND//\[static-libs(+)]}
-	test? ( >=dev-libs/check-0.9.4 )
-	virtual/pkgconfig"
-
-src_prepare() {
-	[[ ${PV} == "9999" ]] && eautoreconf
-}
-
-src_configure() {
-	econf \
-		$(use_enable ftdi libftdi) \
-		$(use_enable serial libserialport) \
-		$(use_enable usb libusb) \
-		$(use_enable static-libs static)
-}
-
-src_test() {
-	emake check
-}
-
-src_install() {
-	default
-	prune_libtool_files
-}
diff --git a/sci-libs/libsigrok/libsigrok-0.3.0-r69.ebuild b/sci-libs/libsigrok/libsigrok-0.3.0-r69.ebuild
new file mode 100644
index 0000000..5e99c9c
--- /dev/null
+++ b/sci-libs/libsigrok/libsigrok-0.3.0-r69.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/libsigrok/libsigrok-9999.ebuild,v 1.3 2014/08/04 02:36:55 vapier Exp $
+
+EAPI="5"
+
+CROS_WORKON_COMMIT="199fe31115c76231746f5953271795d58679561c"
+CROS_WORKON_TREE="b2fa8b7e13a75748082ca036acf49cfd97fdd471"
+CROS_WORKON_PROJECT="chromiumos/third_party/libsigrok"
+CROS_WORKON_EGIT_BRANCH="chromeos"
+
+inherit cros-workon eutils autotools cros-sanitizers
+
+SRC_URI=""
+KEYWORDS="*"
+
+DESCRIPTION="provide basic hardware drivers for logic analyzers and input/output file format support"
+HOMEPAGE="http://sigrok.org/wiki/Libsigrok"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="ftdi serial static-libs test usb"
+
+# We also support librevisa, but that isn't in the tree ...
+LIB_DEPEND=">=dev-libs/glib-2.32.0[static-libs(+)]
+	>=dev-libs/libzip-0.8[static-libs(+)]
+	ftdi? ( >=dev-embedded/libftdi-0.16[static-libs(+)] )
+	serial? ( dev-libs/libserialport[static-libs(+)] )
+	usb? ( virtual/libusb:1[static-libs(+)] )"
+RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )
+	static-libs? ( ${LIB_DEPEND} )"
+DEPEND="${LIB_DEPEND//\[static-libs(+)]}
+	test? ( >=dev-libs/check-0.9.4 )
+	virtual/pkgconfig"
+
+src_prepare() {
+	[[ ${PV} == "9999" ]] && eautoreconf
+}
+
+src_configure() {
+	sanitizers-setup-env
+	econf \
+		$(use_enable ftdi libftdi) \
+		$(use_enable serial libserialport) \
+		$(use_enable usb libusb) \
+		$(use_enable static-libs static)
+}
+
+src_test() {
+	emake check
+}
+
+src_install() {
+	default
+	prune_libtool_files
+}
diff --git a/sci-libs/libsigrok/libsigrok-9999.ebuild b/sci-libs/libsigrok/libsigrok-9999.ebuild
index 84f24b2..753b08f 100644
--- a/sci-libs/libsigrok/libsigrok-9999.ebuild
+++ b/sci-libs/libsigrok/libsigrok-9999.ebuild
@@ -7,7 +7,7 @@
 CROS_WORKON_PROJECT="chromiumos/third_party/libsigrok"
 CROS_WORKON_EGIT_BRANCH="chromeos"
 
-inherit cros-workon eutils autotools
+inherit cros-workon eutils autotools cros-sanitizers
 
 SRC_URI=""
 KEYWORDS="~*"
@@ -36,6 +36,7 @@
 }
 
 src_configure() {
+	sanitizers-setup-env
 	econf \
 		$(use_enable ftdi libftdi) \
 		$(use_enable serial libserialport) \
diff --git a/sci-libs/libsigrokdecode/libsigrokdecode-0.3.0-r21.ebuild b/sci-libs/libsigrokdecode/libsigrokdecode-0.3.0-r21.ebuild
deleted file mode 100644
index 8bd7b94..0000000
--- a/sci-libs/libsigrokdecode/libsigrokdecode-0.3.0-r21.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/libsigrokdecode/libsigrokdecode-9999.ebuild,v 1.2 2014/06/14 06:09:26 vapier Exp $
-
-EAPI="5"
-
-CROS_WORKON_COMMIT="3279c2825684c7009775b731d0a9e37815778282"
-CROS_WORKON_TREE="be143fb31be0ac7b9be8d1ae80513ea85a160384"
-CROS_WORKON_PROJECT="chromiumos/third_party/libsigrokdecode"
-CROS_WORKON_EGIT_BRANCH="chromeos"
-
-PYTHON_COMPAT=( python3_{2,3,4,6} )
-inherit cros-workon eutils python-single-r1 autotools
-
-SRC_URI=""
-KEYWORDS="*"
-
-DESCRIPTION="provide (streaming) protocol decoding functionality"
-HOMEPAGE="http://sigrok.org/wiki/Libsigrokdecode"
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="static-libs"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND=">=dev-libs/glib-2.24.0
-	${PYTHON_DEPS}"
-DEPEND="${RDEPEND}
-	virtual/pkgconfig"
-
-src_prepare() {
-	[[ ${PV} == "9999" ]] && eautoreconf
-
-	# Only a test program (not installed, and not used by src_test)
-	# is used by libsigrok, so disable it to avoid the compile.
-	sed -i \
-		-e '/build_runtc=/s:yes:no:' \
-		configure || die
-}
-
-src_configure() {
-	econf $(use_enable static-libs static)
-}
-
-src_test() {
-	emake check
-}
-
-src_install() {
-	default
-	prune_libtool_files
-}
diff --git a/sci-libs/libsigrokdecode/libsigrokdecode-0.3.0-r23.ebuild b/sci-libs/libsigrokdecode/libsigrokdecode-0.3.0-r23.ebuild
new file mode 100644
index 0000000..cd51253
--- /dev/null
+++ b/sci-libs/libsigrokdecode/libsigrokdecode-0.3.0-r23.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/libsigrokdecode/libsigrokdecode-9999.ebuild,v 1.2 2014/06/14 06:09:26 vapier Exp $
+
+EAPI="5"
+
+CROS_WORKON_COMMIT="3279c2825684c7009775b731d0a9e37815778282"
+CROS_WORKON_TREE="be143fb31be0ac7b9be8d1ae80513ea85a160384"
+CROS_WORKON_PROJECT="chromiumos/third_party/libsigrokdecode"
+CROS_WORKON_EGIT_BRANCH="chromeos"
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cros-workon eutils python-single-r1 autotools cros-sanitizers
+
+SRC_URI=""
+KEYWORDS="*"
+
+DESCRIPTION="provide (streaming) protocol decoding functionality"
+HOMEPAGE="http://sigrok.org/wiki/Libsigrokdecode"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="static-libs"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND=">=dev-libs/glib-2.24.0
+	${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+	virtual/pkgconfig"
+
+src_prepare() {
+	[[ ${PV} == "9999" ]] && eautoreconf
+
+	# Only a test program (not installed, and not used by src_test)
+	# is used by libsigrok, so disable it to avoid the compile.
+	sed -i \
+		-e '/build_runtc=/s:yes:no:' \
+		configure || die
+}
+
+src_configure() {
+	sanitizers-setup-env
+	econf $(use_enable static-libs static)
+}
+
+src_test() {
+	emake check
+}
+
+src_install() {
+	default
+	prune_libtool_files
+}
diff --git a/sci-libs/libsigrokdecode/libsigrokdecode-9999.ebuild b/sci-libs/libsigrokdecode/libsigrokdecode-9999.ebuild
index 9434399..816b553 100644
--- a/sci-libs/libsigrokdecode/libsigrokdecode-9999.ebuild
+++ b/sci-libs/libsigrokdecode/libsigrokdecode-9999.ebuild
@@ -7,8 +7,8 @@
 CROS_WORKON_PROJECT="chromiumos/third_party/libsigrokdecode"
 CROS_WORKON_EGIT_BRANCH="chromeos"
 
-PYTHON_COMPAT=( python3_{2,3,4,6} )
-inherit cros-workon eutils python-single-r1 autotools
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cros-workon eutils python-single-r1 autotools cros-sanitizers
 
 SRC_URI=""
 KEYWORDS="~*"
@@ -37,6 +37,7 @@
 }
 
 src_configure() {
+	sanitizers-setup-env
 	econf $(use_enable static-libs static)
 }
 
diff --git a/sci-libs/tensorflow/Manifest b/sci-libs/tensorflow/Manifest
index b031593..7231bfa 100644
--- a/sci-libs/tensorflow/Manifest
+++ b/sci-libs/tensorflow/Manifest
@@ -5,47 +5,33 @@
 DIST OpenCL-Headers-0d5f18c6e7196863bc1557a693f1509adfcee056.tar.gz 35174 BLAKE2B c0cbffddf740c96588049b426dcf3231b4a4eef6f3f6036c17ae9f83c64a59935fc7f9a869a6a7258b17259b438615543655da4bde7ab562bbe1c564d0af89df SHA512 7e8fa6c8e73c660d8e9e31ddea3bfef887ed827fc21a1da559bde9dd4af6c52a91f609401bb718528b5c96d21e4c01aee7b8027bdf3dec4b0aa326270788a4b0
 DIST Vulkan-Headers-ec2db85225ab410bc6829251bef6c578aaed5868.tar.gz 869393 BLAKE2B 0a2a846ca6460c6fa3d6ebbce10af04d321fb70ad27126fdb501e734e420fcfca475ff24f49aadb402b47afc3bbea23c4b07e3a36b7d371c37e70878a7311ccb SHA512 6a0d89257b6f5487f3937ec40fb491ad0b6f1b9feac4e1a3d20814489f5aa0f9ae09c978ecf86c80b5d297dbc36e10c8785001e8b77a59742cd112311841a691
 DIST abseil-cpp-997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz 1774075 BLAKE2B 2f082ce0a16df2a323add4b74cdc73443d720a5e1afe02e3eda18239b00bb8ce05488ef17a0a2553af4d92f1f26c6041215b0e914028ff5bc8c869c38cbce4b7 SHA512 bdd80a2278eef121e8837791fdebca06e87bfff4adc438c123e0ce11efc42a8bd461edcbbe18c0eee05be2cd6100f9acf8eab3db58ac73322b5852e6ffe7c85b
-DIST abseil-cpp-daf381e8535a1f1f1b8a75966a74e7cca63dee89.tar.gz 1275955 BLAKE2B eb6e0f9d55458a4ae6e8b86be89add9b0cc44d1ff5a11f6fa1ec93e2f46885c8ff87b8c1e674e1ba5ac13556ed303963864057f0e258fce41fa753d891846996 SHA512 56a827296e2948b90922766369f2040e04abd03320375240ad32fcc2925cdd1ffea312edcef1009a0c8abd79f521a61e433b7651dd4c2721d2b1ad13f48256de
-DIST backports.weakref-1.0rc1.tar.gz 7761 BLAKE2B 4cb2554a4b71bb1f8c41a790268511e4b382effc7e0328f74346d086de539a177111de9e2dabac19a44b2a1cdbf59a7425e30eee4caa4bfe66b0ca97f1f460a9 SHA512 f37e9eb0d9060d2e1588a941f623460bd4477d7e180b38b5cd46d9c1db1ee094ae63e4f5eeeb422823bf3d067f46c4124cb124a9e4ddb795bc0bfbc4802ab826
-DIST bazel-skylib-0.6.0.tar.gz 29330 BLAKE2B 53d23a81203c08cb5ab4adbd308bb6c9875df0f2d27c6f8832a27397578e9214ebcd95f63bd6c539d534ecb5f2316116063e3e5d1a36986cf94d167d7823234d SHA512 14ce6782509be7d3cb0fe438aaad579ad23bf328d566cab06a2008990041ee098b4602542cb67961d757573a8c272e5dddb143efd756cd6ec40486159329fa91
 DIST bazel-skylib-1.0.3.tar.gz 30711 BLAKE2B 86d6db9be4e627f6695329e16e8f9b6c2d0d683142a15f62c6924941405ab1d12292818ebf16642fc8d2664b0f113a35e002210034e80de14726387fcdafd765 SHA512 e28e62214b6c1e6724d26ebbee7c0b436b13e7b054d598788c15f03a56d248378068f5d29fae722a19d4519e2568983011ff50a13577dbc1bd174464ef4a49cc
-DIST bazel-toolchains-94d31935a2c94fe7e7c7379a0f3393e181928ff7.tar.gz 505681 BLAKE2B f16225eb11859f487335bddca115c9c2a05731f4bfe4240609a47e17b706d9a25b6b363b61404b4d5df0471e4dd9b4b9befbf78dbcb1c7c11e3f590039ff92b2 SHA512 7723baf2c710adb063375a33fd64e3941fae7e98c824764c266d5554cc0b0cbb1c91a5c2a9058bb4c8766ec404ca556199ce22965a6de4baee09cb740b7671c9
 DIST bazel-toolchains-dfc67056200b674accd08d8f9a21e328098c07e2.tar.gz 1056209 BLAKE2B 7f47207bc38766a7879874d88c07ed2a2b0ab2dfb3f054f3a24b8e00c464d46f9cd3431d6ef7d8d323e20d33ec05f2a8b3a20b804b45a49c843f0cf6b3f8cb03 SHA512 a5093e3725e020b6fe6242128dea6dec9ae091248b21c1380448059d0e8233d367068d62f41748d65b56e2ecf663d26d46a5cd448c40e282f4c50dfca483baf2
-DIST bazelbuild-apple_support-501b4afb27745c4813a88ffa28acd901408014e4.tar.gz 19956 BLAKE2B 73f04a13f8ac3552e6f0770d1ac4edcc1b5ef46e4a3c4f3b83f11eeffa632f764d37aa7a98b35b5be6bd0caef19f84d0dc1b88bc55ff5397012863af4ee6d902 SHA512 732f482338996a62db24bfa6acd2fde6b629ac0a49317ed4e4778a55bbbbb22225f42a6cfa18cdcc51c200e29abe82a1f2a5548df09b7244074ae52e1f62ef66
+DIST bazelbuild-apple_support.0.10.0.tar.gz 20367 BLAKE2B d13fd9bad85fadbeb7d28d71b476e7462a54d94fe4727bc5424196067a5eada40565547cfe55c7f314b8e06b7ae887e34a713a35f8a969d26646196809be87e6 SHA512 d134e9eb0cfd8909f9d968be8ef3d3e422fd23251b251041d9201c97e44c08c394aac26b31f1f99ef5085c24719c42aa0d201836f3a339e44a35bb7b49dbc831
 DIST bazelbuild-platforms-0.0.2.tar.gz 5278 BLAKE2B 0c247bb6efdc30ec2c46fd7e1eeaab6aa20c29d8f9a12e6425530c0e8bd70c4fcafe4b9168c43aa43dc59d55aa27fc975acf15840f6cdb87f0bbda31eac8fb70 SHA512 11119d44627208b04be20f63e486d871866148b52f6d66e7cae3da1fd5daa3ba5b291bad9c5fd40231add8fe770dafb6b71c4b9e0a803317a4f94f7a4be7cad9
 DIST bazelbuild-rules_android-v0.1.1.zip 14654 BLAKE2B 1cfd5af08c6eab9602883f62d85ef1b9eb02383f73dcc31ae84af880c9ba228ae349ac6b017c550286e248347193e2c56eba30c86174432429809447dd940ed2 SHA512 80628a5e2ca9806ab031cd0c2f2999bd67f5621a83e8300a51fe6233373bdaf7c90ff8fa9551c81e60fc904c4d7b24554327ac8ed2ee101e92c4ab9319c53f4a
-DIST bazelbuild-rules_apple-5131f3d46794bf227d296c82f30c2499c9de3c5b.tar.gz 1951045 BLAKE2B d8c17f301de729bbf5254acacf89490ab1034b1180d5ea788251ae6ba3e2b704c82d7f66d33a086f52ce3909cd33df7739d7d536c6be070a2d3454e2f280517f SHA512 a23826d8e53d49de6347eca052e980878d50b431bf02c9b8333234c0659d5e290447121bf9519729639891e67d732474a3c3b7a7502752b32f830680bb334bad
+DIST bazelbuild-rules_apple.0.31.3.tar.gz 2065370 BLAKE2B fbc7f827585bc93248d68f2d5203988e629c6bd944381b4dee50ec924793c344be5c2e2f322c03aedcb75d4179bd3af4d5fea38716dbb57a574af30a752f6654 SHA512 c291debf0984a52c119bb3edab5a442311a09b743fd16543e61eedf390b13c60f18ad4e06c899343b1009955d7e700cfe6f759de12d1421b4c79dfd640a79bfb
 DIST bazelbuild-rules_cc-40548a2974f1aea06215272d9c2b47a14a24e556.tar.gz 129521 BLAKE2B 368feec785ba0f9abb0f02d14a48ba6ff03859be9245465817c30a0174f897a2dcb6ab1503995da0b521858f96ece3b6eafe6e36cc7e2f8feeb7b6b9620a4d22 SHA512 4573fcd097b7d288024931fd5875358bba3f6db8d904b70e191e0c9a3b34280f8aecac600862883b7692f6faf96c5e8c582441f5f5eff086917b3901fbdbb40b
 DIST bazelbuild-rules_closure-308b05b2419edb5c8ee0471b67a40403df940149.tar.gz 464906 BLAKE2B 033d76b8081f4f987e64875ad5c8e7b8f894ec6be58c52ee02c4d31d4480fee02f3f432ea9c4630ad3f5d1163f820aff37f6493da797ec51b148b361ab3c8b25 SHA512 2cd841f4530503ed31fa6425cb749ef29f8a1071b5d55594644303233e58455783cb02402bc23d7104ef036745733087d43075a1fcdab2ac96cd1a9872a6ea4a
-DIST bazelbuild-rules_closure-cf1e44edb908e9616030cc83d085989b8e6cd6df.tar.gz 462798 BLAKE2B f461635702cd881828cf401c78fe0e64398c015d7f7824b369b0808d54224c633b6d8b699000e9e481ba094a93e01c33cc4360a541b2d520db10d3e9ef81007e SHA512 e85b13a50cbec60e4e574de9a3d3b646ca4bf045c55afcb41f2fd671202aac9e6d3e91c618f8923986ae142e615624718f3df0d1edb33a90e334f29667888d39
 DIST bazelbuild-rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip 9422 BLAKE2B bbc45c97551ee8126335b611ffca6574dac843d4db9b3221b10d26487f8eecfe38ba0cd67a4039a3ad921c25fea6294c43e4f4e7a57a060a30791acd6c4f9d39 SHA512 ba06242feb711e7fb6e821fd9ac029248b4f3e466fb1acf971d0db8196f3efe4d114ef137acbe4913073f8cbe8ccab4d47d8bafa21b867b2d6a6d57f5a647f0c
-DIST bazelbuild-rules_proto-97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz 7612 BLAKE2B de9edd2e1f49edaec782cf58c4ebd3dc3c6d144499a18ac76a0685e28bb9fa6898980ea769c54186816dc696b2e9186d929e99602d8ea535409e1fd23b87da7b SHA512 dd2aef9011c6006e8adc777c211174c26ab74e3cf186541aba865012669ceebf7d96fa34a202654cdfb2beee4f67904f5b7736be466f2838cf31dfb3970f69cd
-DIST bazelbuild-rules_swift-3eeeb53cebda55b349d64c9fc144e18c5f7c0eb8.tar.gz 140484 BLAKE2B 2526d808a4763fffa16bb035de78993eefe6371a29139b152370081f548d8147868cc95194c06a54f1c5c0cd8b63ffbc59b00686bfaedede2463a448e38c2810 SHA512 e22a85a5dba52cc3474481798264571f6671aace19eecb058b24ac7d586ea7822ed3ae042b4a812671f81d4f9f8915aa2381fa6ac278da7969b976eaf28db636
-DIST bazelbuild-rules_swift.0.9.0.tar.gz 105918 BLAKE2B 8f1bd8f5a468e3b37c614cf498a6cd8ceca55b255d6f096ebf88cd77e95148eab3fb5a128ed93b40f6d1ee8988b8dfd300fdf7061fc4ed4f1fb4ab25446ebe58 SHA512 68e985fa30b865317ccf59473cb52873d65159b866a54e35b3fbf83c135f3c750752663e962decbc8ebcd17b5784867d4d4767dd0b706f1182d4715291d8268b
-DIST cub-1.8.0.zip 602396 BLAKE2B a5e302a52e04f85ae8e1836c59e799532a8b961a8d10c08fe1241c9045f88e31f1ebda6d26124b85c6df40968e1c7b3985a39961bf7614535aafcab2da1a576a SHA512 6167c5be94989f88e05a07508cf69cf2c6b22a5ac733804043daa46bd86a44a15a758b1ffb811bab28b82039d027516ed85b3d9f7677a740a7e00ec9c2f81aed
-DIST eigen-7792b1e909a98703181aecb8810b4b654004c25d.tar.gz 2711240 BLAKE2B 5a0c5647bd786d8dbf2fea1b85cda5f9ab5a5b94cce0c3a4230cf10359d126ec2b5be0ebbc252b265aaa540b6820eea9ba20e8a4ecd187933f2457023bc03160 SHA512 1e5ee840c2cfa9bfc4e72e5bd15716ed4b7f3a0f3e1f52326c5f86b080b2694a56f31830209935bb910d45185abbe716e5e9ade31c722a5f3ec5d1213732bb27
-DIST eigen-a0d250e79c79.tar.gz 2468318 BLAKE2B 8799adc1a13612820251cd22a7ddc347ee4711d583561a5df9735bd22ab727c0d8e7fdc894cd7e83b3b972d5adcb86f033bc089e1a4de5fe4e6257f78df88957 SHA512 864646a0b3fd8287fbf6943f4cc7f692a883e6164add21c97e98372641b32e5ceffadc825178b9d11e9504377b837d0e54a264b7a53b28e4f9fc2a23c616d2b3
+DIST bazelbuild-rules_pkg-0.2.5.tar.gz 29857 BLAKE2B 3d03ac639c45b1cdbcaaaa039f14442277e09fe0b18d6753e6d390785613890135a5cfa9025c50e02b83db325baf4d9a0ec207b083064391cd7e8037451a417b SHA512 f37ae1e52462cf77e63c7fede7f3b31e20cb79a8ffdd453ec0291f25ba2145aa819182e1a94145b3fe47a6779777e0c65ff0660e4647bab52335dae18dca995e
+DIST bazelbuild-rules_proto-a0761ed101b939e19d83b2da5f59034bffc19c12.zip 22322 BLAKE2B 733ae2d7d94e9faa6729789ee562945465af59b184ed83c2b11670111117d965b65611df0f5cf3657c637c53db4d41c2344537bbd85208b494a3c3ad9c1df26a SHA512 341d4183e00a08c22885554d5f9654f21b14316328ec5e80eadc159d20c64611d96c5632cdf97f91922d6fe53a60c00733fadb771e1c2463abf11460c9b926f5
+DIST bazelbuild-rules_swift.0.21.0.tar.gz 170336 BLAKE2B 3e9465c37b5c5a98f9ffdda178ce9ed2eeb1dcfdf5f1a3f6b4f7d90bcf26d6de478b7156012fb830b5a4145ef55e9f6f4a50fa34e292366c866d84061dc069fe SHA512 0b521bb3bcf322ecc0d962e45f09d01a7550740ea8174fecc57f609cfacab76c7a2bb7b92e7095dd0af217946ecfa2105f6de81930d08217deaf7b3dd9ceb9d2
+DIST eigen-085c2fc5d53f391afcccce21c45e15f61c827ab1.tar.gz 2734859 BLAKE2B 2085b4ecf978aa36d6323d8ead00cd27994d5e92b341587bf5dc60e2a123c809f61be48058fdbb0e2a2f272412be847b1c95245bc159b430c727d3f831d9733a SHA512 1f5222718a538e16a0703592cc8f3f0f94fdfbb30d46f8f5d8cc3ba4716eb7ea65dc855665c9ce9f966cc2cf71d46b2ac67ef69b808c1bc3fec6a87ca19af163
 DIST farmhash-0d859a811870d10f53a594927d0d0b97573ad06d.tar.gz 467251 BLAKE2B 74fd0cf3de41a6db0aac74148f795335df58b5a3bdd370b22ae0763aba5a4952dcd0133ed300350636a4678ff54a5c59eedee749dfcef7283e21c181b88f92cb SHA512 7bc14931e488464c1cedbc17551fb90a8cec494d0e0860db9df8efff09000fd8d91e01060dd5c5149b1104ac4ac8bf7eb57e5b156b05ef42636938edad1518f1
-DIST farmhash-816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz 467122 BLAKE2B 8b9dd426f4b9f732df6c8c09d868d1b1cc006c395b1525c46ea91c75318b723358c8e64bb0d86a73aace2032eded93f0d80cc7c2c77fddd6a39e3402ab4f2cb7 SHA512 7f5110514a8cdc7ce48d33fd94ad67d96a24e42e11b203e4d0986f4190545f051b2a63f8e09f2ac38c3aa4a5c62d9a0e02cd8ce02045037381fb62a99f0dcd00
-DIST gemmlowp-12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.zip 935628 BLAKE2B 09bd1dd1e367b1e5c4fe9a9525449c09460f19168bc03c57ad563aa27ec74a18f08b620a3dab6da4fa1a1448cdc7ce8bc8a089becc033b53fff4cc07593315ce SHA512 bd42a364f718f3b077cd9c840d626bfc1fd92ace98ce43329d8fa54700c9d28cb47568b6567e9b081b340af7be621c44be1ce06d4b8dccc4fb5d82c35b12f951
 DIST gemmlowp-fda83bdc38b118cc6b56753bd540caa49e570745.zip 936866 BLAKE2B 0977df121a80de979a9996b58a0a8cad157db8d0862b96f95b3be1157cddbc6b40dff4fc7da4ee78f5986cbfff2a67c173155e849e772ae476398c51f3028311 SHA512 4bf036de43f5e0890f66e0b16cd9a0f52911b160f79c9c50cf403454fa9d6040df225d34e02f424da8bb8c5f7f5c002f88f4d232c61503aa825c907ad8742823
 DIST giflib-5.2.1.tar.gz 444187 BLAKE2B 8c1e105bbb65dc7ab103976caed70834356440f381ec5118311882fb1c558bb65f6c1081e5767f9835087860de44df5dfcd2826f89744dded548d535736f27f0 SHA512 4550e53c21cb1191a4581e363fc9d0610da53f7898ca8320f0d3ef6711e76bdda2609c2df15dc94c45e28bff8de441f1227ec2da7ea827cb3c0405af4faa4736
 DIST googleapis-541b1ded4abadcc38e8178680b0677f65594ea6f.zip 5498751 BLAKE2B deedce8127d8241116afcd831898bd23235e07dd6de1b693a0edaaf6805bd3c9ba92c25e08d452406fb617fd173c7ad55b44811065078e99734557c3ea3ed6dd SHA512 949de688244bd4e05dc3ac68d7a1d00e3def55a0465ef6c1aa3d4c83e55397db87313c96abad97a9e5dc68836640d261b91da22b4fe521c24cd97453a2c7f80a
 DIST hexagon_nn_headers_v1.20.0.3.tgz 75508 BLAKE2B 1123351c05817733fee4ceb9b46764723d2383bbbfa7d28f2e8caf3ea3027c256d3f6a4f97b28886183e02bc5809a095a8d2b380b05c8d99607bf15eab0f0e36 SHA512 50aef76f26c5c8a4cf74474e08116fdf1cc7494e7f018c3f9026b3d969f40da264998857c8754ecec0f3647d216fb1797b3bd68026bb3e4e35b4427078f0557a
+DIST hexagon_nn_headers_v1.20.0.9.tgz 130347 BLAKE2B 958fdc903079af283e3300b1a8e18befb21a84dde9e687d152c5801c10befd32a4d246365dbae1fc9cd400a027b101802ad4e3653690c7beef1b072d027f282c SHA512 64fdc1adab3ce88ae150046fdbbc8136d2e649539bab0b63d3aa246cc542271da3fbb2f3cc2357f398241511903ba481058cf4b11934d217ff584dfed9747f48
 DIST highwayhash-fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz 138574 BLAKE2B cecd95039fc31545ced38a1949e7cb31d6f34deef7c8923b573aa7a632576d0a9b60fd24fbc8a40b8a840a7d2442ea28382fe842178a77467772ed4ba8a2cfb6 SHA512 d25162ed266a8c9c00e6978fcf642cf924f03c0d196f971d0d6f6a3454ca7dfc82f758eabd038ac08e0a5dacc51eccb9b674f588f64692f37cb7a17150aefe4f
-DIST llvm-project-43d6991c2a4cc2ac374e68c029634f2b59ffdfdf.tar.gz 149180712 BLAKE2B ad18ff889ebfc0eda6509b379669e7896fcaf7bcdd0bd50e2664c577df0e079846abdd0bd2504b1e26507fc8176cbf6137763b6f01ad21c01346a43a3b3a937b SHA512 3cf2c8ebcb263cafbc2406d163b67dfbc05c0a433fdf6beaad0dfe9eb1dfc8b79e48082f5ec4258b809408fab92958cc98e0a53b5ea34a7792d526c0db483af3
 DIST nsync-1.22.0.tar.gz 154997 BLAKE2B 1e08b91733ad4f019109bb8b52e85c3191306988aa3d4c53ce0d255ceac4ca763f7e3af4ce963f40e7c7797ab7f3628c882f808980fe82112a985a109b0a0fa9 SHA512 e62e3f1ee736da871c7d6bd579ed1e22c5be23045372eec11e9d48f09e2b6822e026d846d864a94b4b0112c67643afab2e9ac04cee26138677eddc31d7d48c23
-DIST nvidia-nccl-f93fe9bfd94884cec2ba711897222e0df5569a53.tar.gz 95617 BLAKE2B 023788db444b1a50f01ab16f126c920f530a6ff5bf2a9327626db45f985b4093c1024d16d43cdee9f0b3ee5c8b7d104f2a6b1dab0460c6b1998b42a0354f6f27 SHA512 d6b4dd4d6c7c9ca2dcf0699055c9193d4b46c0c5155e0108db38094577c92f954f604b2e83ca320873288e0010eaa3c5812f05f7fafe5112bebbca78e56cb279
-DIST oourafft-20061228.tgz 72213 BLAKE2B 4a3ac2b4c0bc3275b5743df59241e1cdbd0200371c153ddf54ef6c7c4ec523ee6560547e2d5ef9f3200037c0635bf41c18991ac35f271b1e600d0dbd65d1a9a7 SHA512 f1ceac00cb7b9eb8f625eee7f1f5eea8af363343589a344226628d68baf668c176e6c23b7f904c4e682330352eaa0cd5d00731340d208e94c9657b8f85ae2240
 DIST pthreadpool-b8374f80e42010941bda6c85b0e3f1a1bd77a1e0.zip 61524 BLAKE2B 924419730bc6b94ec98a13db94f177b3b70d6c763158f43fb6f9e45605e73cfce238e6c996e2bf629dbb2a5af93ae99849ddc91174fc4664d702667f7423892d SHA512 d25262b47e39058d5aa8b8197c4984a5b941587a19079a2210f738c3af34ab8e8477731c88ca80c3f812a6a04635f80300124d93cc1e099352ef2aca04bdc3ae
 DIST pytorch-cpuinfo-5916273f79a21551890fd3d56fc5375a78d1598d.zip 3787933 BLAKE2B 169620d461103f271ae927d84af27282189509b2ba2fbed2c09f9ae387b5f392eea635dfdf2d3a23e1fc19b5d467bee3f13d3e473946e42bba4b6a9a2fd60e32 SHA512 6f1c8c931b62990ab0228679efb52207a6e21cb847139c11bf6117051b7315ff87c12ed1373670d006f0bc7e3d390d59f2d28a8250d0bd7df850583ae42afdf2
 DIST pytorch-cpuinfo-d5e37adf1406cf899d7d9ec1d317c47506ccb970.tar.gz 3489028 BLAKE2B aa6b7719eb9871b6cc71318cb4a9c2e2397e665662b7978daecd9e8380304691a78b95118eba5cbbb738c4b490352a847f6ce6b5c4ae29de0543b95ecc557cbb SHA512 ecd2115340fa82a67db7889ce286c3070d5ab9c30b02372b08aac893e90ccebc65c6b3e66aa02a9ae9c57892d2d8c3b77cb836e5fc3b88df2c75d33e574d90d2
 DIST re2-506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz 316237 BLAKE2B 8a975bc3e78b690f70944651c7022c6d946f40b2eb5fe01b2e203141f94b890cf1ad5c72af8e7c6ff3c5242d42af5a8657ed69e3c74d9ac081beb15de6334c0c SHA512 e3e00e92700d08bc55ba0e96148ddf1e00de2d329c1fdac08691ff15976937829f66dbc84af886a4b749ad66ba4ab208d66811e97e33bb9c2d7359735406c450
-DIST rules_docker-b8ff6a85ec359db3fd5657accd3e524daf12016d.tar.gz 460121 BLAKE2B bca31bbdd9069647fa9560002e63a404e2bd4d4ebd19d90e28d08f797f8f63157cc127dab26b996bb976e50f099928a91c1d6343427cb85048c6ca2b47c0c7e2 SHA512 461a663189e5995e31ee8175ee260e1ad06b00ee8a7548b9d3a946a2de693311031ec6eba89e3bad527f5d8f76ed25626ef4ea05a8d6e7579932dc1be3b0a6ba
 DIST ruy-e6c1b8dc8a8b00ee74e7268aac8b18d7260ab1ce.zip 375516 BLAKE2B d026fcb8cf5226fca9153bd5acb848f04382cf759efda334e9bdbc58cb838a54c8e26d85d8c1577cca835b82319a80a61c7be83e6f61e0dab01d8119995a6c2e SHA512 e556764ef8505509cadf6cf28bb172be96b3650b410b1ccc3a34ef4c2bb8f67e911597962dd392c6441e68d329c66a0f0215fa545df01c63912adda1b08b25ce
-DIST tensorflow-1.14.0-python-license.rst.txt 45132 BLAKE2B 8a8ace4b64fd9eda1932272704dd4fea002d2562cd9c2c94470d3ff5de58bb171ff849d3f998ea90cd779d1084d39af1267aca8400b74b701205d2e76e6a2628 SHA512 c79c42f4ceecf33c8f8778ca17b53595b75d5d0bdf30b11058cf01dd70a6351f530ca9dd846460aba14edc1d5876f7bf6fa0f9f49f7915590b0f54d267ce3856
-DIST tensorflow-1.14.0.tar.gz 41335204 BLAKE2B d91d84c5d86c838cc659c45e28cf3c8a9ec9a02f5854a1826680806dae41cdd00ea49a6d2c04f2019b3400c6e267c6ca6f3b28e43b244569dca174ff7f2c59d6 SHA512 ac9ea5a2d1c761aaafbdc335259e29c128127b8d069ec5b206067935180490aa95e93c7e13de57f7f54ce4ba4f34a822face22b4a028f60185edb380e5cd4787
-DIST tensorflow-2.7.0.tar.gz 57751022 BLAKE2B ae022bffd0609f2bac388510e270e5ec4bf400cbebd074e4580d3a85734b238ad2daf19196246f1bc93a7679383c2527fd27bcbd7da9ddb17189a7998796bdac SHA512 f1e892583c7b3a73d4d39ec65dc135a5b02c789b357d57414ad2b6d05ad9fbfc8ef81918ba6410e314abd6928b76f764e6ef64c0b0c84b58b50796634be03f39
-DIST tensorflow_toolchains_v1.2.7.tar.gz 97867 BLAKE2B 2f613366b34b81d044da1407ff6371c6183b14593c719ea82ffc964c310df72282ba102be50a9c65655f9185b4ab59d707fe823608b6e452ebf9afc70589bcd5 SHA512 b70da3594aa0499b4e158258ba29ef30044cb6e354e2608b79274f712976b687b09e28a2576d3d89e6bd8ff41416ee19f2d5505b712ec98488c8b8cb839ede84
-DIST tf_runtime-64c92c8013b557087351c91b5423b6046d10f206.tar.gz 15224747 BLAKE2B b6aaaf4f6dd488dbfc49f6f9bd6d7820894b7f205ab76c38288175c70dd9ee656128a0655fc1f7ca1ada33d96193c9bb3569da02d0b591aea9ffbb9cf1f223b8 SHA512 1e66742ccda9778fdf9e0e1e83b0524d6b3e82e7792918ae058c031e81b033bc51cebf49752832aa2f27a53a6a9846256e4e9e9eec7c5285ad2db2cb8995ecfc
-DIST xnnpack-694d2524757f9040e65a02c374e152a462fe57eb.zip 12962048 BLAKE2B b7e2292f65b33a81281a5c1a813a02bf5bae172b640523919384a7b6fae4a583ffdab459179edc84d760a0e3c33779666b48ac68e4af5d1432537a77ef3d895b SHA512 6498d9f0f139c1a017d5986c065b4842bd2a03262518a02113f6a40f40370906a2a3dd4b31e6700b49edac96c9a31fececb146f5063f618ae7a9d73328022c67
+DIST tensorflow-2.8.0.tar.gz 65416640 BLAKE2B 0446678db956e6f583a4a79d93d89285be0aafe1b62a83fad8b88f1d9bebd82de1e83661477d6e959934413a0176f25ce063bef608ed429576fd1439350713ea SHA512 9cddb78c0392b7810e71917c3731f895e31c250822031ac7f498bf20435408c640b2fba4de439fa4a47c70dbff38b86e50fed2971df1f1916f23f9490241cfed
+DIST tensorflow_toolchains_v1.3.2.tar.gz 98057 BLAKE2B 01dda11552a989344c9efb0aceb16aea632fbd97ef4687bfd7d6967631ea6ad81c5d2de065a793a25048781b57f881bf2cadf9ba1aabe0f23c836cf062e32278 SHA512 cdf32e849ca4fda6417bd0e1243501e8f9416086dc0dddf3535229c6be33368010584f4709e5acf2b81a4fdee53c27cf81fed1a940db100819851432ec5756fc
+DIST tf_runtime-c3e082762b7664bbc7ffd2c39e86464928e27c0c.tar.gz 15263217 BLAKE2B cb782725c7e876ee39c2d9dab589c40ebbfea6b1002bd7809464514e46c5cdff30defcfac9c0bea3863d6c525ea919c201874774c194252f70ea44ea45da5f61 SHA512 2f01b37e7f042d35f6fb854db67afc46451b6d9120317dca8bb255e53825460ab9ad34a6cf6e2cd2728bb2117e2aa056f826ccacdcf4f898512715d58f5b4339
+DIST xnnpack-113092317754c7dea47bfb3cb49c4f59c3c1fa10.zip 14407754 BLAKE2B db0ba9250f83e413ebb9ca956bb59886d44da86054d54eed8f3fda736eff9aa424115c7b74b60298fe5ac71171e2b3ab0d6e61ce50bcee87038d5d60e6b06559 SHA512 4febbce5126d4129881106767d282a1df87b461235236861c38bb61f075b58cfbd83778576fc4f8cfc73cba4223d5dd0453391c81cf2e99008ec40a7b26a6264
diff --git a/sci-libs/tensorflow/files/tensorflow-1.14.0-0001-systemlibs-unbundle-enum34.patch b/sci-libs/tensorflow/files/tensorflow-1.14.0-0001-systemlibs-unbundle-enum34.patch
deleted file mode 100644
index a220bca..0000000
--- a/sci-libs/tensorflow/files/tensorflow-1.14.0-0001-systemlibs-unbundle-enum34.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 2956ac52f8495e08d5328f672c1366c52c9f8cfe Mon Sep 17 00:00:00 2001
-From: Jason Zaman <jason@perfinion.com>
-Date: Wed, 29 May 2019 19:27:11 +0800
-Subject: [PATCH] systemlibs: unbundle enum34
-
-Signed-off-by: Jason Zaman <jason@perfinion.com>
----
- tensorflow/workspace.bzl                     |  1 +
- third_party/systemlibs/enum34.BUILD          | 14 ++++++++++++++
- third_party/systemlibs/syslibs_configure.bzl |  1 +
- 3 files changed, 16 insertions(+)
- create mode 100644 third_party/systemlibs/enum34.BUILD
-
-diff --git a/tensorflow/workspace.bzl b/tensorflow/workspace.bzl
-index 55d7eb9371..a53a12e720 100755
---- a/tensorflow/workspace.bzl
-+++ b/tensorflow/workspace.bzl
-@@ -346,6 +346,7 @@ def tf_workspace(path_prefix = "", tf_repo_name = ""):
-         ],
-         sha256 = "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1",
-         build_file = clean_dep("//third_party:enum34.BUILD"),
-+        system_build_file = clean_dep("//third_party/systemlibs:enum34.BUILD"),
-         strip_prefix = "enum34-1.1.6/enum",
-     )
- 
-diff --git a/third_party/systemlibs/enum34.BUILD b/third_party/systemlibs/enum34.BUILD
-new file mode 100644
-index 0000000000..de14bd5641
---- /dev/null
-+++ b/third_party/systemlibs/enum34.BUILD
-@@ -0,0 +1,14 @@
-+# Description:
-+#   enum34 provides a backport of the enum module for Python 2.
-+
-+licenses(["notice"])  # MIT
-+
-+filegroup(
-+    name = "LICENSE",
-+    visibility = ["//visibility:public"],
-+)
-+
-+py_library(
-+    name = "enum",
-+    visibility = ["//visibility:public"],
-+)
-diff --git a/third_party/systemlibs/syslibs_configure.bzl b/third_party/systemlibs/syslibs_configure.bzl
-index a2d4123fd6..16f3b09697 100644
---- a/third_party/systemlibs/syslibs_configure.bzl
-+++ b/third_party/systemlibs/syslibs_configure.bzl
-@@ -21,6 +21,7 @@ VALID_LIBS = [
-     "curl",
-     "cython",
-     "double_conversion",
-+    "enum34_archive",
-     "flatbuffers",
-     "gast_archive",
-     "gif_archive",
--- 
-2.21.0
-
diff --git a/sci-libs/tensorflow/files/tensorflow-1.14.0-0002-linker-option-z-defs.patch b/sci-libs/tensorflow/files/tensorflow-1.14.0-0002-linker-option-z-defs.patch
deleted file mode 100644
index 7760b66..0000000
--- a/sci-libs/tensorflow/files/tensorflow-1.14.0-0002-linker-option-z-defs.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Backport upstream patch for https://crbug.com/1015927
-
-Change "-z defs" to "-Wl,-z,defs"
-
-This is a linker option so make it more clearly understood by
-passing it through the more standard "-Wl" syntax.
-Unlike, "-Wl,..",  "-z defs" needs to be processed by compiler driver.
-
-diff --git a/BUILD b/BUILD
-index f43b8fd..335410c 100644
---- a/tensorflow/lite/BUILD
-+++ b/tensorflow/lit/e/BUILD
-@@ -429,7 +429,7 @@ tflite_cc_shared_object(
-         ],
-         "//tensorflow:windows": [],
-         "//conditions:default": [
--            "-z defs",
-+            "-Wl,-z,defs",
-             "-Wl,--version-script,$(location //tensorflow/lite:tflite_version_script.lds)",
-         ],
-     }),
diff --git a/sci-libs/tensorflow/files/tensorflow-1.14.0-0003-eigen-include-sstream.patch b/sci-libs/tensorflow/files/tensorflow-1.14.0-0003-eigen-include-sstream.patch
deleted file mode 100644
index eb1112a..0000000
--- a/sci-libs/tensorflow/files/tensorflow-1.14.0-0003-eigen-include-sstream.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-A patch to the tensorflow's patch file for eigen.
-
-A recent upgrade of toolchains removes #include <sstream> from <complex>, which
-breaks tensorflow build because Eigen/Core gets <sstream> from <complex>, see
-https://crbug.com/1056770.
-
-This patch file adds an explicit #include <sstream> to tensorflow's patch file
-for eigen to fix this issue, that's to say, it patches a patch file.
-It will first be used by ebuild system to patch
-third_party/eigen3/gpu_packet_math.patch of tensorflow source code, then when
-building tensorflow with bazel, gpu_packet_math.patch will be used to patch
-eigen.
-diff --git a/third_party/eigen3/gpu_packet_math.patch b/third_party/eigen3/gpu_packet_math.patch
-index b8afb1b4..5d2bca2a 100644
---- a/third_party/eigen3/gpu_packet_math.patch
-+++ b/third_party/eigen3/gpu_packet_math.patch
-@@ -1,3 +1,13 @@
-+--- a/Eigen/Core
-++++ b/Eigen/Core
-+@@ -41,6 +41,7 @@
-+ #endif
-+ 
-+ #include <complex>
-++#include <sstream>
-+ 
-+ // this include file manages BLAS and MKL related macros
-+ // and inclusion of their respective header files
- --- a/Eigen/src/Core/arch/GPU/PacketMath.h
- +++ b/Eigen/src/Core/arch/GPU/PacketMath.h
- @@ -100,6 +100,7 @@
diff --git a/sci-libs/tensorflow/files/tensorflow-1.14.0-0004-neon-2-sse-header.patch b/sci-libs/tensorflow/files/tensorflow-1.14.0-0004-neon-2-sse-header.patch
deleted file mode 100644
index dc95b33..0000000
--- a/sci-libs/tensorflow/files/tensorflow-1.14.0-0004-neon-2-sse-header.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-A patch to tensorflow internals BUILD file to export
-NEON_2_SSE.h as part of the //tensorflow/lite/kernels/internal:install_nnapi_extra_headers
-build target, on Intel platforms only.
-
-diff --git a/tensorflow/lite/kernels/internal/BUILD.orig b/tensorflow/lite/kernels/internal/BUILD
-index 5bafcdc..dc959c5 100644
---- a/tensorflow/lite/kernels/internal/BUILD.orig
-+++ b/tensorflow/lite/kernels/internal/BUILD
-@@ -859,7 +859,17 @@ transitive_hdrs(
-     deps = [
-         "//third_party/eigen3",
-         "@gemmlowp",
--    ],
-+    ] + select({
-+        ":haswell": tflite_deps_intel,
-+        ":ios_x86_64": tflite_deps_intel,
-+        ":k8": tflite_deps_intel,
-+        ":x86": tflite_deps_intel,
-+        ":x86_64": tflite_deps_intel,
-+        ":darwin": tflite_deps_intel,
-+        ":darwin_x86_64": tflite_deps_intel,
-+        ":freebsd": tflite_deps_intel,
-+        "//conditions:default": [],
-+    }),
- )
-
- # ---------------------------------------------------------
diff --git a/sci-libs/tensorflow/files/tensorflow-1.14.0-0005-nnapi-android-sdk-version.patch b/sci-libs/tensorflow/files/tensorflow-1.14.0-0005-nnapi-android-sdk-version.patch
deleted file mode 100644
index 7a40f06..0000000
--- a/sci-libs/tensorflow/files/tensorflow-1.14.0-0005-nnapi-android-sdk-version.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-A patch that fakes the android version so that NNAPI can be loaded and used
-by tensorflow on chrome OS.
-
-This patch can be removed when b/140896675 is fixed upstream and backported.
-
-diff --git a/tensorflow/lite/nnapi/nnapi_implementation.cc b/tensorflow/lite/nnapi/nnapi_implementation.cc
-index 6b3de3ca..934d0f70 100644
---- a/tensorflow/lite/nnapi/nnapi_implementation.cc
-+++ b/tensorflow/lite/nnapi/nnapi_implementation.cc
-@@ -101,7 +101,9 @@ int ASharedMemory_create(const char* name, size_t size) {
-
- const NnApi LoadNnApi() {
-   NnApi nnapi = {};
--  nnapi.android_sdk_version = 0;
-+  // TODO(slangley): Hardcode android sdk version until b/140896675 is resolved.
-+  // nnapi.android_sdk_version = 0;
-+  nnapi.android_sdk_version = 27;
-
- #ifdef __ANDROID__
-   void* libandroid = nullptr;
diff --git a/sci-libs/tensorflow/files/tensorflow-1.14.0-0006-label-image-nnapi.patch b/sci-libs/tensorflow/files/tensorflow-1.14.0-0006-label-image-nnapi.patch
deleted file mode 100644
index 3a0abd3..0000000
--- a/sci-libs/tensorflow/files/tensorflow-1.14.0-0006-label-image-nnapi.patch
+++ /dev/null
@@ -1,172 +0,0 @@
-diff --git a/tensorflow/lite/examples/label_image/BUILD b/tensorflow/lite/examples/label_image/BUILD
-index 88e5fd2c..3c229f0e 100644
---- a/tensorflow/lite/examples/label_image/BUILD
-+++ b/tensorflow/lite/examples/label_image/BUILD
-@@ -29,6 +29,7 @@ cc_binary(
-         ":bitmap_helpers",
-         "//tensorflow/lite:framework",
-         "//tensorflow/lite:string_util",
-+        "//tensorflow/lite/delegates/nnapi:nnapi_delegate",
-         "//tensorflow/lite/kernels:builtin_ops",
-         "//tensorflow/lite/profiling:profiler",
-     ],
-diff --git a/tensorflow/lite/examples/label_image/label_image.cc b/tensorflow/lite/examples/label_image/label_image.cc
-index ac84e270..dd358e6b 100644
---- a/tensorflow/lite/examples/label_image/label_image.cc
-+++ b/tensorflow/lite/examples/label_image/label_image.cc
-@@ -26,12 +26,14 @@ limitations under the License.
- #include <fstream>
- #include <iomanip>
- #include <iostream>
-+#include <map>
- #include <memory>
- #include <sstream>
- #include <string>
- #include <unordered_set>
- #include <vector>
- 
-+#include "tensorflow/lite/delegates/nnapi/nnapi_delegate.h"
- #include "tensorflow/lite/examples/label_image/bitmap_helpers.h"
- #include "tensorflow/lite/examples/label_image/get_top_n.h"
- #include "tensorflow/lite/kernels/register.h"
-@@ -47,6 +49,24 @@ namespace label_image {
- 
- double get_us(struct timeval t) { return (t.tv_sec * 1000000 + t.tv_usec); }
- 
-+using TfLiteDelegatePtr = tflite::Interpreter::TfLiteDelegatePtr;
-+using TfLiteDelegatePtrMap = std::map<std::string, TfLiteDelegatePtr>;
-+
-+Interpreter::TfLiteDelegatePtr CreateNNAPIDelegate() {
-+  return Interpreter::TfLiteDelegatePtr(
-+      NnApiDelegate(),
-+      // NnApiDelegate() returns a singleton, so provide a no-op deleter.
-+      [](TfLiteDelegate*) {});
-+}
-+
-+TfLiteDelegatePtrMap GetDelegates(Settings* s) {
-+  TfLiteDelegatePtrMap delegates;
-+  if (s->accel) {
-+    delegates.emplace("NNAPI", CreateNNAPIDelegate());
-+  }
-+  return delegates;
-+}
-+
- // Takes a file name, and loads a list of labels from it, one per line, and
- // returns a vector of the strings. It pads with empty strings so the length
- // of the result is a multiple of 16, because our model expects that.
-@@ -100,6 +120,7 @@ void RunInference(Settings* s) {
-     LOG(FATAL) << "\nFailed to mmap model " << s->model_name << "\n";
-     exit(-1);
-   }
-+  s->model = model.get();
-   LOG(INFO) << "Loaded model " << s->model_name << "\n";
-   model->error_reporter();
-   LOG(INFO) << "resolved reporter\n";
-@@ -112,7 +133,7 @@ void RunInference(Settings* s) {
-     exit(-1);
-   }
- 
--  interpreter->UseNNAPI(s->accel);
-+  interpreter->UseNNAPI(s->old_accel);
-   interpreter->SetAllowFp16PrecisionForFp32(s->allow_fp16);
- 
-   if (s->verbose) {
-@@ -153,6 +174,16 @@ void RunInference(Settings* s) {
-     LOG(INFO) << "number of outputs: " << outputs.size() << "\n";
-   }
- 
-+  auto delegates_ = GetDelegates(s);
-+  for (const auto& delegate : delegates_) {
-+    if (interpreter->ModifyGraphWithDelegate(delegate.second.get()) !=
-+        kTfLiteOk) {
-+      LOG(FATAL) << "Failed to apply " << delegate.first << " delegate.";
-+    } else {
-+      LOG(INFO) << "Applied " << delegate.first << " delegate.";
-+    }
-+  }
-+
-   if (interpreter->AllocateTensors() != kTfLiteOk) {
-     LOG(FATAL) << "Failed to allocate tensors!";
-   }
-@@ -255,6 +286,7 @@ void display_usage() {
-   LOG(INFO)
-       << "label_image\n"
-       << "--accelerated, -a: [0|1], use Android NNAPI or not\n"
-+      << "--old_accelerated, -d: [0|1], use olf Android NNAPI delegate or not\n"
-       << "--allow_fp16, -f: [0|1], allow running fp32 models with fp16 not\n"
-       << "--count, -c: loop interpreter->Invoke() for certain times\n"
-       << "--input_mean, -b: input mean\n"
-@@ -276,6 +308,7 @@ int Main(int argc, char** argv) {
-   while (1) {
-     static struct option long_options[] = {
-         {"accelerated", required_argument, nullptr, 'a'},
-+        {"old_accelerated", required_argument, nullptr, 'd'},
-         {"allow_fp16", required_argument, nullptr, 'f'},
-         {"count", required_argument, nullptr, 'c'},
-         {"verbose", required_argument, nullptr, 'v'},
-@@ -292,7 +325,7 @@ int Main(int argc, char** argv) {
-     /* getopt_long stores the option index here. */
-     int option_index = 0;
- 
--    c = getopt_long(argc, argv, "a:b:c:f:i:l:m:p:r:s:t:v:", long_options,
-+    c = getopt_long(argc, argv, "a:b:c:d:f:i:l:m:p:r:s:t:v:", long_options,
-                     &option_index);
- 
-     /* Detect the end of the options. */
-@@ -309,6 +342,9 @@ int Main(int argc, char** argv) {
-         s.loop_count =
-             strtol(optarg, nullptr, 10);  // NOLINT(runtime/deprecated_fn)
-         break;
-+      case 'd':
-+        s.old_accel =
-+            strtol(optarg, nullptr, 10);  // NOLINT(runtime/deprecated_fn)
-       case 'f':
-         s.allow_fp16 =
-             strtol(optarg, nullptr, 10);  // NOLINT(runtime/deprecated_fn)
-diff --git a/tensorflow/lite/examples/label_image/label_image.h b/tensorflow/lite/examples/label_image/label_image.h
-index cc46e56b..ddfb09e2 100644
---- a/tensorflow/lite/examples/label_image/label_image.h
-+++ b/tensorflow/lite/examples/label_image/label_image.h
-@@ -17,6 +17,7 @@ limitations under the License.
- #define TENSORFLOW_LITE_EXAMPLES_LABEL_IMAGE_LABEL_IMAGE_H_
- 
- #include "tensorflow/lite/string.h"
-+#include "tensorflow/lite/model.h"
- 
- namespace tflite {
- namespace label_image {
-@@ -24,6 +25,7 @@ namespace label_image {
- struct Settings {
-   bool verbose = false;
-   bool accel = false;
-+  bool old_accel = false;
-   bool input_floating = false;
-   bool profiling = false;
-   bool allow_fp16 = false;
-@@ -31,6 +33,7 @@ struct Settings {
-   float input_mean = 127.5f;
-   float input_std = 127.5f;
-   string model_name = "./mobilenet_quant_v1_224.tflite";
-+  tflite::FlatBufferModel* model;
-   string input_bmp_name = "./grace_hopper.bmp";
-   string labels_file_name = "./labels.txt";
-   string input_layer_type = "uint8_t";
-diff --git a/tensorflow/lite/tools/evaluation/utils.cc b/tensorflow/lite/tools/evaluation/utils.cc
-index 1154953e..c832bbd1 100644
---- a/tensorflow/lite/tools/evaluation/utils.cc
-+++ b/tensorflow/lite/tools/evaluation/utils.cc
-@@ -80,14 +80,10 @@ TfLiteStatus GetSortedFileNames(const std::string& directory,
- }
- 
- Interpreter::TfLiteDelegatePtr CreateNNAPIDelegate() {
--#if defined(__ANDROID__)
-   return Interpreter::TfLiteDelegatePtr(
-       NnApiDelegate(),
-       // NnApiDelegate() returns a singleton, so provide a no-op deleter.
-       [](TfLiteDelegate*) {});
--#else
--  return Interpreter::TfLiteDelegatePtr(nullptr, [](TfLiteDelegate*) {});
--#endif  // defined(__ANDROID__)
- }
- 
- Interpreter::TfLiteDelegatePtr CreateGPUDelegate(
diff --git a/sci-libs/tensorflow/files/tensorflow-1.14.0-0007-flatbuffers-deps.patch b/sci-libs/tensorflow/files/tensorflow-1.14.0-0007-flatbuffers-deps.patch
deleted file mode 100644
index 41535e6..0000000
--- a/sci-libs/tensorflow/files/tensorflow-1.14.0-0007-flatbuffers-deps.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Flatbuffers 1.12.0 introduces a dependency on absl/string_view.h and needs
-to be explicitly defined in the build file.
-
-diff --git a/tensorflow/lite/kernels/BUILD b/tensorflow/lite/kernels/BUILD
-index 95f554ad..d0369e3b 100644
---- a/tensorflow/lite/kernels/BUILD
-+++ b/tensorflow/lite/kernels/BUILD
-@@ -395,6 +395,7 @@ cc_library(
-         "//tensorflow/lite/kernels/internal:reference_base",
-         "//tensorflow/lite/kernels/internal:tensor",
-         "//tensorflow/lite/kernels/internal:tensor_utils",
-+        "@com_google_absl//absl/strings:strings",
-         "@farmhash_archive//:farmhash",
-         "@flatbuffers",
-     ],
diff --git a/sci-libs/tensorflow/files/tensorflow-2.7.0-0004-cpuinfo-arm-fix.patch b/sci-libs/tensorflow/files/tensorflow-2.7.0-0004-cpuinfo-arm-fix.patch
deleted file mode 100644
index ea40243..0000000
--- a/sci-libs/tensorflow/files/tensorflow-2.7.0-0004-cpuinfo-arm-fix.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-The read_wcid isn't used in our build of Tensorflow, and the default
-implementation from the `cpuinfo` dependency doesn't build on ARM devices.
-
-Since it is not used, we patch out the offending line and return 0 to get
-around the compilation error.
-
-diff --git a/third_party/cpuinfo/cpuinfo.patch b/third_party/cpuinfo/cpuinfo.patch
-new file mode 100644
-index 00000000..bbd619a4
---- /dev/null
-+++ b/third_party/cpuinfo/cpuinfo.patch
-@@ -0,0 +1,14 @@
-+diff --git a/src/arm/linux/cp.h b/src/arm/linux/cp.h
-+index 63940ec..9403a65 100644
-+--- a/src/arm/linux/cp.h
-++++ b/src/arm/linux/cp.h
-+@@ -37,8 +37,6 @@
-+ 	#endif
-+ 
-+ 	static inline uint32_t read_wcid(void) {
-+-		uint32_t wcid;
-+-		__asm__ __volatile__("MRC p1, 0, %[wcid], c0, c0" : [wcid] "=r" (wcid));
-+-		return wcid;
-++		return 0;
-+ 	}
-+ #endif
-diff --git a/third_party/cpuinfo/workspace.bzl b/third_party/cpuinfo/workspace.bzl
-index dfccc34f..4895fb07 100644
---- a/third_party/cpuinfo/workspace.bzl
-+++ b/third_party/cpuinfo/workspace.bzl
-@@ -12,4 +12,5 @@ def repo():
-             "https://github.com/pytorch/cpuinfo/archive/5916273f79a21551890fd3d56fc5375a78d1598d.zip",
-         ],
-         build_file = "//third_party/cpuinfo:BUILD.bazel",
-+        patch_file = str(Label("//third_party/cpuinfo:cpuinfo.patch")),
-     )
diff --git a/sci-libs/tensorflow/files/tensorflow-2.7.0-0001-workspace.patch b/sci-libs/tensorflow/files/tensorflow-2.8.0-0001-workspace.patch
similarity index 100%
rename from sci-libs/tensorflow/files/tensorflow-2.7.0-0001-workspace.patch
rename to sci-libs/tensorflow/files/tensorflow-2.8.0-0001-workspace.patch
diff --git a/sci-libs/tensorflow/files/tensorflow-2.7.0-0002-ashmem-create.patch b/sci-libs/tensorflow/files/tensorflow-2.8.0-0002-ashmem-create.patch
similarity index 100%
rename from sci-libs/tensorflow/files/tensorflow-2.7.0-0002-ashmem-create.patch
rename to sci-libs/tensorflow/files/tensorflow-2.8.0-0002-ashmem-create.patch
diff --git a/sci-libs/tensorflow/files/tensorflow-2.7.0-0003-nnapi-delegates.patch b/sci-libs/tensorflow/files/tensorflow-2.8.0-0003-nnapi-delegates.patch
similarity index 100%
rename from sci-libs/tensorflow/files/tensorflow-2.7.0-0003-nnapi-delegates.patch
rename to sci-libs/tensorflow/files/tensorflow-2.8.0-0003-nnapi-delegates.patch
diff --git a/sci-libs/tensorflow/files/tensorflow-2.8.0-0004-cpuinfo-arm-fix.patch b/sci-libs/tensorflow/files/tensorflow-2.8.0-0004-cpuinfo-arm-fix.patch
new file mode 100644
index 0000000..325cf94
--- /dev/null
+++ b/sci-libs/tensorflow/files/tensorflow-2.8.0-0004-cpuinfo-arm-fix.patch
@@ -0,0 +1,36 @@
+The read_wcid isn't used in our build of Tensorflow, and the default
+implementation from the `cpuinfo` dependency doesn't build on ARM devices.
+
+Since it is not used, we patch out the offending line and return 0 to get
+around the compilation error.
+
+diff --git a/third_party/cpuinfo/cpuinfo.patch b/third_party/cpuinfo/cpuinfo.patch
+new file mode 100644
+index 00000000..bbd619a4
+--- /dev/null
++++ b/third_party/cpuinfo/cpuinfo.patch
+@@ -0,0 +1,14 @@
++diff --git a/src/arm/linux/cp.h b/src/arm/linux/cp.h
++index 63940ec..9403a65 100644
++--- a/src/arm/linux/cp.h
+++++ b/src/arm/linux/cp.h
++@@ -37,8 +37,6 @@
++ 	#endif
++
++ 	static inline uint32_t read_wcid(void) {
++-		uint32_t wcid;
++-		__asm__ __volatile__("MRC p1, 0, %[wcid], c0, c0" : [wcid] "=r" (wcid));
++-		return wcid;
+++		return 0;
++ 	}
++ #endif
+diff --git a/third_party/cpuinfo/workspace.bzl b/third_party/cpuinfo/workspace.bzl
+index dfccc34f..4895fb07 100644
+--- a/third_party/cpuinfo/workspace.bzl
++++ b/third_party/cpuinfo/workspace.bzl
+@@ -12,4 +12,5 @@ def repo():
+             "https://github.com/pytorch/cpuinfo/archive/5916273f79a21551890fd3d56fc5375a78d1598d.zip",
+         ],
+         build_file = "//third_party/cpuinfo:cpuinfo.BUILD",
++        patch_file = [str(Label("//third_party/cpuinfo:cpuinfo.patch"))],
+     )
diff --git a/sci-libs/tensorflow/files/tensorflow-2.7.0-0005-gpu.patch b/sci-libs/tensorflow/files/tensorflow-2.8.0-0005-gpu.patch
similarity index 100%
rename from sci-libs/tensorflow/files/tensorflow-2.7.0-0005-gpu.patch
rename to sci-libs/tensorflow/files/tensorflow-2.8.0-0005-gpu.patch
diff --git a/sci-libs/tensorflow/files/tensorflow-2.7.0-0006-nnapi-loading-errors.patch b/sci-libs/tensorflow/files/tensorflow-2.8.0-0006-nnapi-loading-errors.patch
similarity index 100%
rename from sci-libs/tensorflow/files/tensorflow-2.7.0-0006-nnapi-loading-errors.patch
rename to sci-libs/tensorflow/files/tensorflow-2.8.0-0006-nnapi-loading-errors.patch
diff --git a/sci-libs/tensorflow/files/tensorflow-2.7.0-0007-protobuff-cc-toolchain.patch b/sci-libs/tensorflow/files/tensorflow-2.8.0-0007-protobuff-cc-toolchain.patch
similarity index 100%
rename from sci-libs/tensorflow/files/tensorflow-2.7.0-0007-protobuff-cc-toolchain.patch
rename to sci-libs/tensorflow/files/tensorflow-2.8.0-0007-protobuff-cc-toolchain.patch
diff --git a/sci-libs/tensorflow/files/tensorflow-2.8.0-0008-remove-llvm-repo.patch b/sci-libs/tensorflow/files/tensorflow-2.8.0-0008-remove-llvm-repo.patch
new file mode 100644
index 0000000..1c54fcb
--- /dev/null
+++ b/sci-libs/tensorflow/files/tensorflow-2.8.0-0008-remove-llvm-repo.patch
@@ -0,0 +1,38 @@
+llvm is over 150MB which takes a long time to download but it's not needed
+for our building the TFLite. So we remove it to speed up the build.
+
+diff --git a/tensorflow/workspace2.bzl b/tensorflow/workspace2.bzl
+index 60deadb1..dc9e0482 100644
+--- a/tensorflow/workspace2.bzl
++++ b/tensorflow/workspace2.bzl
+@@ -14,7 +14,7 @@ load("@tf_toolchains//toolchains/embedded/arm-linux:arm_linux_toolchain_configur
+ load("//third_party:repo.bzl", "tf_http_archive", "tf_mirror_urls")
+ load("//third_party/clang_toolchain:cc_configure_clang.bzl", "cc_download_clang_toolchain")
+ load("//tensorflow/tools/def_file_filter:def_file_filter_configure.bzl", "def_file_filter_configure")
+-load("//third_party/llvm:setup.bzl", "llvm_setup")
++#load("//third_party/llvm:setup.bzl", "llvm_setup")
+
+ # Import third party repository rules. See go/tfbr-thirdparty.
+ load("//third_party/FP16:workspace.bzl", FP16 = "repo")
+@@ -523,7 +523,7 @@ def _tf_repositories():
+         urls = tf_mirror_urls("https://github.com/antirez/linenoise/archive/c894b9e59f02203dbe4e2be657572cf88c4230c3.tar.gz"),
+     )
+
+-    llvm_setup(name = "llvm-project")
++    # llvm_setup(name = "llvm-project")
+
+     # Intel openMP that is part of LLVM sources.
+     tf_http_archive(
+diff --git a/tensorflow/workspace3.bzl b/tensorflow/workspace3.bzl
+index 09b2d030..3a8e0b7c 100644
+--- a/tensorflow/workspace3.bzl
++++ b/tensorflow/workspace3.bzl
+@@ -49,7 +49,7 @@ def workspace():
+
+     # Load the raw llvm-project.  llvm does not have build rules set up by default,
+     # but provides a script for setting up build rules via overlays.
+-    llvm("llvm-raw")
++    # llvm("llvm-raw")
+
+ # Alias so it can be loaded without assigning to a different symbol to prevent
+ # shadowing previous loads and trigger a buildifier warning.
diff --git a/sci-libs/tensorflow/files/tensorflow-2.8.0-0009-resolve-overflow.patch b/sci-libs/tensorflow/files/tensorflow-2.8.0-0009-resolve-overflow.patch
new file mode 100644
index 0000000..f863486
--- /dev/null
+++ b/sci-libs/tensorflow/files/tensorflow-2.8.0-0009-resolve-overflow.patch
@@ -0,0 +1,23 @@
+This patch has been upstreamed to tenforflow and should be removed next
+uprev as it should no longer be required.
+
+This patch resolves an ubsan test failure that was being raised when an
+overflow event of an unsigned integer occurred. This patch changes the
+type of an intermediate variable to ensure an oevrflow event can not
+happen for any possible input.
+
+index cda1b5cf0ad..b1204cc5e34 100644
+--- a/tensorflow/lite/kernels/internal/reference/hard_swish.h
++++ b/tensorflow/lite/kernels/internal/reference/hard_swish.h
+@@ -23,9 +23,9 @@ namespace tflite {
+ namespace reference_ops {
+ 
+ inline int16_t SaturatingLeftShift(int16_t value, int amount) {
+-  int32_t result = static_cast<int32_t>(value) * (1 << amount);
+-  result = std::min<int32_t>(result, std::numeric_limits<int16_t>::max());
+-  result = std::max<int32_t>(result, std::numeric_limits<int16_t>::min());
++  int64_t result = static_cast<int64_t>(value) * (1 << amount);
++  result = std::min<int64_t>(result, std::numeric_limits<int16_t>::max());
++  result = std::max<int64_t>(result, std::numeric_limits<int16_t>::min());
+   return result;
+ }
diff --git a/sci-libs/tensorflow/files/tensorflow-2.8.0-0010-resolve-tflite-c-asan.patch b/sci-libs/tensorflow/files/tensorflow-2.8.0-0010-resolve-tflite-c-asan.patch
new file mode 100644
index 0000000..78629b9
--- /dev/null
+++ b/sci-libs/tensorflow/files/tensorflow-2.8.0-0010-resolve-tflite-c-asan.patch
@@ -0,0 +1,13 @@
+diff --git a/tensorflow/lite/c/BUILD b/tensorflow/lite/c/BUILD
+index af9852a28b4..8c9773c204b 100644
+--- a/tensorflow/lite/c/BUILD
++++ b/tensorflow/lite/c/BUILD
+@@ -28,7 +28,7 @@ tflite_cc_shared_object(
+         ],
+         "//tensorflow:windows": [],
+         "//conditions:default": [
+-            "-z defs",
++            "-Wl,-z,defs",
+             "-Wl,--version-script,$(location //tensorflow/lite/c:version_script.lds)",
+         ],
+     }),
diff --git a/sci-libs/tensorflow/files/tensorflow-2.8.0-0011-Convolution2DTransposeBias.patch b/sci-libs/tensorflow/files/tensorflow-2.8.0-0011-Convolution2DTransposeBias.patch
new file mode 100644
index 0000000..d3d9671
--- /dev/null
+++ b/sci-libs/tensorflow/files/tensorflow-2.8.0-0011-Convolution2DTransposeBias.patch
@@ -0,0 +1,638 @@
+diff --git a/tensorflow/lite/tools/benchmark/BUILD b/tensorflow/lite/tools/benchmark/BUILD
+index e37481c2..43e4f456 100644
+--- a/tensorflow/lite/tools/benchmark/BUILD
++++ b/tensorflow/lite/tools/benchmark/BUILD
+@@ -141,7 +141,10 @@ cc_library(
+ 
+ cc_library(
+     name = "benchmark_tflite_model_lib",
+-    srcs = ["benchmark_tflite_model.cc"],
++    srcs = [
++        "benchmark_custom_ops.cc",
++        "benchmark_tflite_model.cc",
++    ],
+     hdrs = ["benchmark_tflite_model.h"],
+     copts = common_copts + select({
+         "//tensorflow:ios": [
+diff --git a/tensorflow/lite/tools/benchmark/benchmark_custom_ops.cc b/tensorflow/lite/tools/benchmark/benchmark_custom_ops.cc
+new file mode 100644
+index 00000000..c3148644
+--- /dev/null
++++ b/tensorflow/lite/tools/benchmark/benchmark_custom_ops.cc
+@@ -0,0 +1,254 @@
++// Completely copied from
++// mediapipe/util/tflite/operations/transpose_conv_bias.cc
++
++#include "tensorflow/lite/kernels/internal/types.h"
++#include "tensorflow/lite/kernels/internal/tensor.h"
++#include "tensorflow/lite/kernels/kernel_util.h"
++#include "tensorflow/lite/kernels/padding.h"
++
++namespace {
++
++constexpr int kWeightsTensor = 1;
++constexpr int kBiasTensor = 2;
++constexpr int kDataInputTensor = 0;
++constexpr int kOutputTensor = 0;
++
++// These functions were copied from the following places:
++// https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/kernels/internal/reference/reference_ops.h
++// https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/kernels/transpose_conv.cc
++
++inline void TransposeConvBias(
++    const ::tflite::ConvParams& params,
++    const ::tflite::RuntimeShape& input_shape, const float* input_data,
++    const ::tflite::RuntimeShape& filter_shape, const float* filter_data,
++    const ::tflite::RuntimeShape& bias_shape, const float* bias_data,
++    const ::tflite::RuntimeShape& output_shape, float* output_data,
++    const ::tflite::RuntimeShape& im2col_shape, float* im2col_data) {
++  // Start of copy from https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/kernels/internal/reference/reference_ops.h
++  const int stride_width = params.stride_width;
++  const int stride_height = params.stride_height;
++  const int pad_width = params.padding_values.width;
++  const int pad_height = params.padding_values.height;
++
++  TFLITE_DCHECK_EQ(input_shape.DimensionsCount(), 4);
++  TFLITE_DCHECK_EQ(filter_shape.DimensionsCount(), 4);
++  TFLITE_DCHECK_EQ(bias_shape.DimensionsCount(), 1);
++  TFLITE_DCHECK_EQ(output_shape.DimensionsCount(), 4);
++  (void)im2col_data;   // only used in optimized code.
++  (void)im2col_shape;  // only used in optimized code.
++
++  const int batches = MatchingDim(input_shape, 0, output_shape, 0);
++  const int input_depth = MatchingDim(input_shape, 3, filter_shape, 3);
++  const int output_depth = MatchingDim(filter_shape, 0, output_shape, 3);
++  const int input_height = input_shape.Dims(1);
++  const int input_width = input_shape.Dims(2);
++  const int filter_height = filter_shape.Dims(1);
++  const int filter_width = filter_shape.Dims(2);
++  const int output_height = output_shape.Dims(1);
++  const int output_width = output_shape.Dims(2);
++
++  // Start of MediaPipe modificiation.
++
++  for (int batch = 0; batch < batches; ++batch) {
++    for (int out_y = 0; out_y < output_height; out_y++) {
++      for (int out_x = 0; out_x < output_width; out_x++) {
++        for (int out_channel = 0; out_channel < output_depth; out_channel++) {
++          output_data[Offset(output_shape, batch, out_y, out_x, out_channel)] =
++              bias_data[out_channel];
++        }
++      }
++    }
++
++    for (int in_y = 0; in_y < input_height; ++in_y) {
++      for (int in_x = 0; in_x < input_width; ++in_x) {
++        for (int in_channel = 0; in_channel < input_depth; ++in_channel) {
++          // Loop through the output elements it will influence
++          const int out_x_origin = (in_x * stride_width) - pad_width;
++          const int out_y_origin = (in_y * stride_height) - pad_height;
++          for (int filter_y = 0; filter_y < filter_height; ++filter_y) {
++            for (int filter_x = 0; filter_x < filter_width; ++filter_x) {
++              for (int out_channel = 0; out_channel < output_depth;
++                   ++out_channel) {
++                // Compute output element location
++                const int out_x = out_x_origin + filter_x;
++                const int out_y = out_y_origin + filter_y;
++                // We cannot accumulate out of bounds
++                if ((out_x >= 0) && (out_x < output_width) && (out_y >= 0) &&
++                    (out_y < output_height)) {
++                  float input_value = input_data[Offset(
++                      input_shape, batch, in_y, in_x, in_channel)];
++                  float filter_value =
++                      filter_data[Offset(filter_shape, out_channel, filter_y,
++                                         filter_x, in_channel)];
++                  output_data[Offset(output_shape, batch, out_y, out_x,
++                                     out_channel)] +=
++                      input_value * filter_value;
++                }
++              }
++            }
++          }
++        }
++      }
++    }
++  }
++  // End of MediaPipe modification.
++  // End of copy.
++}
++
++// Start of copy from https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/kernels/transpose_conv.cc
++TfLiteStatus Prepare(TfLiteContext* context, TfLiteNode* node) {
++  TF_LITE_ENSURE_EQ(context, ::tflite::NumInputs(node), 3);
++  TF_LITE_ENSURE_EQ(context, ::tflite::NumOutputs(node), 1);
++
++  const TfLiteTensor* weights =
++      ::tflite::GetInput(context, node, kWeightsTensor);
++  TF_LITE_ENSURE(context, weights != nullptr);
++  const TfLiteTensor* bias = ::tflite::GetInput(context, node, kBiasTensor);
++  TF_LITE_ENSURE(context, bias != nullptr);
++  const TfLiteTensor* input =
++      ::tflite::GetInput(context, node, kDataInputTensor);
++  TF_LITE_ENSURE(context, input != nullptr);
++  TfLiteTensor* output = ::tflite::GetOutput(context, node, kOutputTensor);
++  TF_LITE_ENSURE(context, output != nullptr);
++
++  TF_LITE_ENSURE_EQ(context, ::tflite::NumDimensions(input), 4);
++  TF_LITE_ENSURE_EQ(context, ::tflite::NumDimensions(weights), 4);
++  TF_LITE_ENSURE_EQ(context, ::tflite::NumDimensions(bias), 1);
++
++  // Start of MediaPipe modificiation.
++  TF_LITE_ENSURE_EQ(context, ::tflite::SizeOfDimension(weights, 0),
++                    ::tflite::SizeOfDimension(bias, 0));
++
++  // Currently only supports float32.
++  const TfLiteType data_type = input->type;
++  TF_LITE_ENSURE(context, data_type == kTfLiteFloat32);
++  TF_LITE_ENSURE_EQ(context, output->type, data_type);
++  TF_LITE_ENSURE_EQ(context, weights->type, data_type);
++  TF_LITE_ENSURE_EQ(context, bias->type, data_type);
++
++  // Ensure that weights and inputs have the same channel dimension.
++  // Note: TOCO will reorder weights in the following format: OHWI.
++  TF_LITE_ENSURE_EQ(context, ::tflite::SizeOfDimension(input, 3),
++                    ::tflite::SizeOfDimension(weights, 3));
++
++  // Ensure that weights and bias have the same output channel dimension.
++  TF_LITE_ENSURE_EQ(context, ::tflite::SizeOfDimension(weights, 0),
++                    ::tflite::SizeOfDimension(bias, 0));
++
++  const auto* params = reinterpret_cast<const TfLiteTransposeConvParams*>(
++      node->custom_initial_data);
++  const int filter_width = ::tflite::SizeOfDimension(weights, 2);
++  const int filter_height = ::tflite::SizeOfDimension(weights, 1);
++  const int stride_width = params->stride_width;
++  const int stride_height = params->stride_height;
++  const int in_width = ::tflite::SizeOfDimension(input, 2);
++  const int in_height = ::tflite::SizeOfDimension(input, 1);
++
++  // Get height and width of the output image.
++  TfLiteIntArray* output_shape_array = TfLiteIntArrayCreate(4);
++  output_shape_array->data[0] = ::tflite::SizeOfDimension(input, 0);
++  output_shape_array->data[3] = ::tflite::SizeOfDimension(weights, 0);
++
++  TfLitePaddingValues padding_size{0, 0};
++  if (params->padding == kTfLitePaddingSame) {
++    padding_size.height =
++        std::max(0, filter_height - (in_height - 1) % stride_height - 1);
++    padding_size.width =
++        std::max(0, filter_width - (in_width - 1) % stride_width - 1);
++  }
++  output_shape_array->data[1] =
++      stride_height * (in_height - 1) + filter_height - padding_size.height;
++  output_shape_array->data[2] =
++      stride_width * (in_width - 1) + filter_width - padding_size.width;
++  TF_LITE_ENSURE_OK(context,
++                    context->ResizeTensor(context, output, output_shape_array));
++  return kTfLiteOk;
++  // End of MediaPipe modification.
++}
++
++TfLiteStatus Eval(TfLiteContext* context, TfLiteNode* node) {
++  const TfLiteTensor* weights =
++      ::tflite::GetInput(context, node, kWeightsTensor);
++  TF_LITE_ENSURE(context, weights != nullptr);
++  const TfLiteTensor* bias = ::tflite::GetInput(context, node, kBiasTensor);
++  TF_LITE_ENSURE(context, bias != nullptr);
++  const TfLiteTensor* input =
++      ::tflite::GetInput(context, node, kDataInputTensor);
++  TF_LITE_ENSURE(context, input != nullptr);
++  TfLiteTensor* output = ::tflite::GetOutput(context, node, kOutputTensor);
++  TF_LITE_ENSURE(context, output != nullptr);
++
++  const auto* params = reinterpret_cast<const TfLiteTransposeConvParams*>(
++      node->custom_initial_data);
++
++  const int filter_width = ::tflite::SizeOfDimension(weights, 2);
++  const int filter_height = ::tflite::SizeOfDimension(weights, 1);
++  const int stride_width = params->stride_width;
++  const int stride_height = params->stride_height;
++  const int in_width = ::tflite::SizeOfDimension(input, 2);
++  const int in_height = ::tflite::SizeOfDimension(input, 1);
++
++  TfLitePaddingValues padding_size{0, 0};
++  if (params->padding == kTfLitePaddingSame) {
++    padding_size.height =
++        std::max(0, filter_height - (in_height - 1) % stride_height - 1);
++    padding_size.width =
++        std::max(0, filter_width - (in_width - 1) % stride_width - 1);
++  }
++
++  // Start of MediaPipe modificiation.
++
++  // Currently only support float32.
++  switch (input->type) {
++    case kTfLiteFloat32: {
++      ::tflite::ConvParams op_params;
++      op_params.padding_type = ::tflite::PaddingType::kSame;
++      op_params.padding_values.width = padding_size.width / 2;
++      op_params.padding_values.height = padding_size.height / 2;
++      op_params.stride_width = stride_width;
++      op_params.stride_height = stride_height;
++
++      TransposeConvBias(
++          op_params, ::tflite::GetTensorShape(input),
++          ::tflite::GetTensorData<float>(input),
++          ::tflite::GetTensorShape(weights),
++          ::tflite::GetTensorData<float>(weights),
++          ::tflite::GetTensorShape(bias), ::tflite::GetTensorData<float>(bias),
++          ::tflite::GetTensorShape(output),
++          ::tflite::GetTensorData<float>(output),
++          // Last two args specify im2col which reference_ops ignores.
++          // (Note this does not lead to a performance regression, as the
++          // previous optimized version was just a copy of the reference code.)
++          // TODO(b/110208176): Allocate im2col tensors and switch to
++          // optimized_ops.
++          ::tflite::GetTensorShape(output),
++          ::tflite::GetTensorData<float>(output));
++      break;
++    }
++    default:
++      context->ReportError(context, "Type %d, not currently supported.",
++                           input->type);
++      return kTfLiteError;
++  }
++
++  // End of MediaPipe modification.
++
++  return kTfLiteOk;
++}
++// End of copy.
++
++}  // namespace
++
++namespace tflite {
++namespace benchmark {
++namespace custom_ops {
++TfLiteRegistration* RegisterConvolution2DTransposeBias() {
++  static TfLiteRegistration reg = {
++    nullptr, nullptr, Prepare, Eval
++  };
++  return &reg;
++}
++}  // namespace custom_ops
++}  // namespace benchmark
++}  // namespace tflite
++
+diff --git a/tensorflow/lite/tools/benchmark/benchmark_tflite_model.cc b/tensorflow/lite/tools/benchmark/benchmark_tflite_model.cc
+index cc1729e8..206f473f 100644
+--- a/tensorflow/lite/tools/benchmark/benchmark_tflite_model.cc
++++ b/tensorflow/lite/tools/benchmark/benchmark_tflite_model.cc
+@@ -46,11 +46,22 @@ limitations under the License.
+ 
+ void RegisterSelectedOps(::tflite::MutableOpResolver* resolver);
+ 
++namespace tflite {
++namespace benchmark {
++namespace custom_ops {
++TfLiteRegistration* RegisterConvolution2DTransposeBias();
++}  // namespace custom_ops
++}  // namespace benchmark
++}  // namespace tflite
++
+ // Version with Weak linker attribute doing nothing: if someone links this
+ // library with another definition of this function (presumably to actually
+ // register custom ops), that version will be used instead.
+ void ABSL_ATTRIBUTE_WEAK
+-RegisterSelectedOps(::tflite::MutableOpResolver* resolver) {}
++RegisterSelectedOps(::tflite::MutableOpResolver* resolver) {
++  resolver->AddCustom("Convolution2DTransposeBias",
++                      tflite::benchmark::custom_ops::RegisterConvolution2DTransposeBias());
++}
+ 
+ namespace tflite {
+ namespace benchmark {
+
+diff --git a/tensorflow/lite/delegates/gpu/cl/testing/BUILD b/tensorflow/lite/delegates/gpu/cl/testing/BUILD
+index 6bff96d9..f4361f84 100644
+--- a/tensorflow/lite/delegates/gpu/cl/testing/BUILD
++++ b/tensorflow/lite/delegates/gpu/cl/testing/BUILD
+@@ -45,7 +45,10 @@ cc_binary(
+ 
+ cc_binary(
+     name = "performance_profiling",
+-    srcs = ["performance_profiling.cc"],
++    srcs = [
++      "performance_profiling.cc",
++      "benchmark_custom_ops.cc",
++    ],
+     deps = [
+         "//tensorflow/lite/delegates/gpu/cl:environment",
+         "//tensorflow/lite/delegates/gpu/cl:inference_context",
+diff --git a/tensorflow/lite/delegates/gpu/cl/testing/performance_profiling.cc b/tensorflow/lite/delegates/gpu/cl/testing/performance_profiling.cc
+index 9bac8a70..b658fee2 100644
+--- a/tensorflow/lite/delegates/gpu/cl/testing/performance_profiling.cc
++++ b/tensorflow/lite/delegates/gpu/cl/testing/performance_profiling.cc
+@@ -26,6 +26,14 @@ limitations under the License.
+ #include "tensorflow/lite/delegates/gpu/common/status.h"
+ #include "tensorflow/lite/kernels/register.h"
+ 
++namespace tflite {
++namespace benchmark {
++namespace custom_ops {
++TfLiteRegistration* RegisterConvolution2DTransposeBias();
++}  // namespace custom_ops
++}  // namespace benchmark
++}  // namespace tflite
++
+ namespace tflite {
+ namespace gpu {
+ namespace cl {
+@@ -34,6 +42,10 @@ absl::Status RunPredefinedLayoutSample(const std::string& model_name) {
+   auto flatbuffer = tflite::FlatBufferModel::BuildFromFile(model_name.c_str());
+   GraphFloat32 graph_cl;
+   ops::builtin::BuiltinOpResolver op_resolver;
++
++  op_resolver.AddCustom("Convolution2DTransposeBias",
++    tflite::benchmark::custom_ops::RegisterConvolution2DTransposeBias());
++
+   RETURN_IF_ERROR(BuildFromFlatBuffer(*flatbuffer, op_resolver, &graph_cl,
+                                       /*allow_quant_ops=*/true));
+ 
+@@ -78,6 +90,8 @@ absl::Status RunExternalImmutableSample(const std::string& model_name) {
+   auto flatbuffer = tflite::FlatBufferModel::BuildFromFile(model_name.c_str());
+   GraphFloat32 graph_cl;
+   ops::builtin::BuiltinOpResolver op_resolver;
++  op_resolver.AddCustom("Convolution2DTransposeBias",
++    tflite::benchmark::custom_ops::RegisterConvolution2DTransposeBias());
+   RETURN_IF_ERROR(BuildFromFlatBuffer(*flatbuffer, op_resolver, &graph_cl,
+                                       /*allow_quant_ops*/ true));
+ 
+@@ -132,6 +146,8 @@ absl::Status RunSerializedTest(const std::string& model_name) {
+   auto flatbuffer = tflite::FlatBufferModel::BuildFromFile(model_name.c_str());
+   GraphFloat32 graph_cl;
+   ops::builtin::BuiltinOpResolver op_resolver;
++  op_resolver.AddCustom("Convolution2DTransposeBias",
++    tflite::benchmark::custom_ops::RegisterConvolution2DTransposeBias());
+   RETURN_IF_ERROR(BuildFromFlatBuffer(*flatbuffer, op_resolver, &graph_cl,
+                                       /*allow_quant_ops*/ true));
+ 
+@@ -230,6 +246,8 @@ absl::Status RunModelSample(const std::string& model_name) {
+   auto flatbuffer = tflite::FlatBufferModel::BuildFromFile(model_name.c_str());
+   GraphFloat32 graph_cl;
+   ops::builtin::BuiltinOpResolver op_resolver;
++  op_resolver.AddCustom("Convolution2DTransposeBias",
++    tflite::benchmark::custom_ops::RegisterConvolution2DTransposeBias());
+   RETURN_IF_ERROR(BuildFromFlatBuffer(*flatbuffer, op_resolver, &graph_cl,
+                                       /*allow_quant_ops*/ true));
+
+diff --git a/tensorflow/lite/delegates/gpu/cl/testing/benchmark_custom_ops.cc b/tensorflow/lite/delegates/gpu/cl/testing/benchmark_custom_ops.cc
+new file mode 100644
+index 00000000..c3148644
+--- /dev/null
++++ b/tensorflow/lite/delegates/gpu/cl/testing/benchmark_custom_ops.cc
+@@ -0,0 +1,254 @@
++// Completely copied from
++// mediapipe/util/tflite/operations/transpose_conv_bias.cc
++
++#include "tensorflow/lite/kernels/internal/types.h"
++#include "tensorflow/lite/kernels/internal/tensor.h"
++#include "tensorflow/lite/kernels/kernel_util.h"
++#include "tensorflow/lite/kernels/padding.h"
++
++namespace {
++
++constexpr int kWeightsTensor = 1;
++constexpr int kBiasTensor = 2;
++constexpr int kDataInputTensor = 0;
++constexpr int kOutputTensor = 0;
++
++// These functions were copied from the following places:
++// https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/kernels/internal/reference/reference_ops.h
++// https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/kernels/transpose_conv.cc
++
++inline void TransposeConvBias(
++    const ::tflite::ConvParams& params,
++    const ::tflite::RuntimeShape& input_shape, const float* input_data,
++    const ::tflite::RuntimeShape& filter_shape, const float* filter_data,
++    const ::tflite::RuntimeShape& bias_shape, const float* bias_data,
++    const ::tflite::RuntimeShape& output_shape, float* output_data,
++    const ::tflite::RuntimeShape& im2col_shape, float* im2col_data) {
++  // Start of copy from https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/kernels/internal/reference/reference_ops.h
++  const int stride_width = params.stride_width;
++  const int stride_height = params.stride_height;
++  const int pad_width = params.padding_values.width;
++  const int pad_height = params.padding_values.height;
++
++  TFLITE_DCHECK_EQ(input_shape.DimensionsCount(), 4);
++  TFLITE_DCHECK_EQ(filter_shape.DimensionsCount(), 4);
++  TFLITE_DCHECK_EQ(bias_shape.DimensionsCount(), 1);
++  TFLITE_DCHECK_EQ(output_shape.DimensionsCount(), 4);
++  (void)im2col_data;   // only used in optimized code.
++  (void)im2col_shape;  // only used in optimized code.
++
++  const int batches = MatchingDim(input_shape, 0, output_shape, 0);
++  const int input_depth = MatchingDim(input_shape, 3, filter_shape, 3);
++  const int output_depth = MatchingDim(filter_shape, 0, output_shape, 3);
++  const int input_height = input_shape.Dims(1);
++  const int input_width = input_shape.Dims(2);
++  const int filter_height = filter_shape.Dims(1);
++  const int filter_width = filter_shape.Dims(2);
++  const int output_height = output_shape.Dims(1);
++  const int output_width = output_shape.Dims(2);
++
++  // Start of MediaPipe modificiation.
++
++  for (int batch = 0; batch < batches; ++batch) {
++    for (int out_y = 0; out_y < output_height; out_y++) {
++      for (int out_x = 0; out_x < output_width; out_x++) {
++        for (int out_channel = 0; out_channel < output_depth; out_channel++) {
++          output_data[Offset(output_shape, batch, out_y, out_x, out_channel)] =
++              bias_data[out_channel];
++        }
++      }
++    }
++
++    for (int in_y = 0; in_y < input_height; ++in_y) {
++      for (int in_x = 0; in_x < input_width; ++in_x) {
++        for (int in_channel = 0; in_channel < input_depth; ++in_channel) {
++          // Loop through the output elements it will influence
++          const int out_x_origin = (in_x * stride_width) - pad_width;
++          const int out_y_origin = (in_y * stride_height) - pad_height;
++          for (int filter_y = 0; filter_y < filter_height; ++filter_y) {
++            for (int filter_x = 0; filter_x < filter_width; ++filter_x) {
++              for (int out_channel = 0; out_channel < output_depth;
++                   ++out_channel) {
++                // Compute output element location
++                const int out_x = out_x_origin + filter_x;
++                const int out_y = out_y_origin + filter_y;
++                // We cannot accumulate out of bounds
++                if ((out_x >= 0) && (out_x < output_width) && (out_y >= 0) &&
++                    (out_y < output_height)) {
++                  float input_value = input_data[Offset(
++                      input_shape, batch, in_y, in_x, in_channel)];
++                  float filter_value =
++                      filter_data[Offset(filter_shape, out_channel, filter_y,
++                                         filter_x, in_channel)];
++                  output_data[Offset(output_shape, batch, out_y, out_x,
++                                     out_channel)] +=
++                      input_value * filter_value;
++                }
++              }
++            }
++          }
++        }
++      }
++    }
++  }
++  // End of MediaPipe modification.
++  // End of copy.
++}
++
++// Start of copy from https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/kernels/transpose_conv.cc
++TfLiteStatus Prepare(TfLiteContext* context, TfLiteNode* node) {
++  TF_LITE_ENSURE_EQ(context, ::tflite::NumInputs(node), 3);
++  TF_LITE_ENSURE_EQ(context, ::tflite::NumOutputs(node), 1);
++
++  const TfLiteTensor* weights =
++      ::tflite::GetInput(context, node, kWeightsTensor);
++  TF_LITE_ENSURE(context, weights != nullptr);
++  const TfLiteTensor* bias = ::tflite::GetInput(context, node, kBiasTensor);
++  TF_LITE_ENSURE(context, bias != nullptr);
++  const TfLiteTensor* input =
++      ::tflite::GetInput(context, node, kDataInputTensor);
++  TF_LITE_ENSURE(context, input != nullptr);
++  TfLiteTensor* output = ::tflite::GetOutput(context, node, kOutputTensor);
++  TF_LITE_ENSURE(context, output != nullptr);
++
++  TF_LITE_ENSURE_EQ(context, ::tflite::NumDimensions(input), 4);
++  TF_LITE_ENSURE_EQ(context, ::tflite::NumDimensions(weights), 4);
++  TF_LITE_ENSURE_EQ(context, ::tflite::NumDimensions(bias), 1);
++
++  // Start of MediaPipe modificiation.
++  TF_LITE_ENSURE_EQ(context, ::tflite::SizeOfDimension(weights, 0),
++                    ::tflite::SizeOfDimension(bias, 0));
++
++  // Currently only supports float32.
++  const TfLiteType data_type = input->type;
++  TF_LITE_ENSURE(context, data_type == kTfLiteFloat32);
++  TF_LITE_ENSURE_EQ(context, output->type, data_type);
++  TF_LITE_ENSURE_EQ(context, weights->type, data_type);
++  TF_LITE_ENSURE_EQ(context, bias->type, data_type);
++
++  // Ensure that weights and inputs have the same channel dimension.
++  // Note: TOCO will reorder weights in the following format: OHWI.
++  TF_LITE_ENSURE_EQ(context, ::tflite::SizeOfDimension(input, 3),
++                    ::tflite::SizeOfDimension(weights, 3));
++
++  // Ensure that weights and bias have the same output channel dimension.
++  TF_LITE_ENSURE_EQ(context, ::tflite::SizeOfDimension(weights, 0),
++                    ::tflite::SizeOfDimension(bias, 0));
++
++  const auto* params = reinterpret_cast<const TfLiteTransposeConvParams*>(
++      node->custom_initial_data);
++  const int filter_width = ::tflite::SizeOfDimension(weights, 2);
++  const int filter_height = ::tflite::SizeOfDimension(weights, 1);
++  const int stride_width = params->stride_width;
++  const int stride_height = params->stride_height;
++  const int in_width = ::tflite::SizeOfDimension(input, 2);
++  const int in_height = ::tflite::SizeOfDimension(input, 1);
++
++  // Get height and width of the output image.
++  TfLiteIntArray* output_shape_array = TfLiteIntArrayCreate(4);
++  output_shape_array->data[0] = ::tflite::SizeOfDimension(input, 0);
++  output_shape_array->data[3] = ::tflite::SizeOfDimension(weights, 0);
++
++  TfLitePaddingValues padding_size{0, 0};
++  if (params->padding == kTfLitePaddingSame) {
++    padding_size.height =
++        std::max(0, filter_height - (in_height - 1) % stride_height - 1);
++    padding_size.width =
++        std::max(0, filter_width - (in_width - 1) % stride_width - 1);
++  }
++  output_shape_array->data[1] =
++      stride_height * (in_height - 1) + filter_height - padding_size.height;
++  output_shape_array->data[2] =
++      stride_width * (in_width - 1) + filter_width - padding_size.width;
++  TF_LITE_ENSURE_OK(context,
++                    context->ResizeTensor(context, output, output_shape_array));
++  return kTfLiteOk;
++  // End of MediaPipe modification.
++}
++
++TfLiteStatus Eval(TfLiteContext* context, TfLiteNode* node) {
++  const TfLiteTensor* weights =
++      ::tflite::GetInput(context, node, kWeightsTensor);
++  TF_LITE_ENSURE(context, weights != nullptr);
++  const TfLiteTensor* bias = ::tflite::GetInput(context, node, kBiasTensor);
++  TF_LITE_ENSURE(context, bias != nullptr);
++  const TfLiteTensor* input =
++      ::tflite::GetInput(context, node, kDataInputTensor);
++  TF_LITE_ENSURE(context, input != nullptr);
++  TfLiteTensor* output = ::tflite::GetOutput(context, node, kOutputTensor);
++  TF_LITE_ENSURE(context, output != nullptr);
++
++  const auto* params = reinterpret_cast<const TfLiteTransposeConvParams*>(
++      node->custom_initial_data);
++
++  const int filter_width = ::tflite::SizeOfDimension(weights, 2);
++  const int filter_height = ::tflite::SizeOfDimension(weights, 1);
++  const int stride_width = params->stride_width;
++  const int stride_height = params->stride_height;
++  const int in_width = ::tflite::SizeOfDimension(input, 2);
++  const int in_height = ::tflite::SizeOfDimension(input, 1);
++
++  TfLitePaddingValues padding_size{0, 0};
++  if (params->padding == kTfLitePaddingSame) {
++    padding_size.height =
++        std::max(0, filter_height - (in_height - 1) % stride_height - 1);
++    padding_size.width =
++        std::max(0, filter_width - (in_width - 1) % stride_width - 1);
++  }
++
++  // Start of MediaPipe modificiation.
++
++  // Currently only support float32.
++  switch (input->type) {
++    case kTfLiteFloat32: {
++      ::tflite::ConvParams op_params;
++      op_params.padding_type = ::tflite::PaddingType::kSame;
++      op_params.padding_values.width = padding_size.width / 2;
++      op_params.padding_values.height = padding_size.height / 2;
++      op_params.stride_width = stride_width;
++      op_params.stride_height = stride_height;
++
++      TransposeConvBias(
++          op_params, ::tflite::GetTensorShape(input),
++          ::tflite::GetTensorData<float>(input),
++          ::tflite::GetTensorShape(weights),
++          ::tflite::GetTensorData<float>(weights),
++          ::tflite::GetTensorShape(bias), ::tflite::GetTensorData<float>(bias),
++          ::tflite::GetTensorShape(output),
++          ::tflite::GetTensorData<float>(output),
++          // Last two args specify im2col which reference_ops ignores.
++          // (Note this does not lead to a performance regression, as the
++          // previous optimized version was just a copy of the reference code.)
++          // TODO(b/110208176): Allocate im2col tensors and switch to
++          // optimized_ops.
++          ::tflite::GetTensorShape(output),
++          ::tflite::GetTensorData<float>(output));
++      break;
++    }
++    default:
++      context->ReportError(context, "Type %d, not currently supported.",
++                           input->type);
++      return kTfLiteError;
++  }
++
++  // End of MediaPipe modification.
++
++  return kTfLiteOk;
++}
++// End of copy.
++
++}  // namespace
++
++namespace tflite {
++namespace benchmark {
++namespace custom_ops {
++TfLiteRegistration* RegisterConvolution2DTransposeBias() {
++  static TfLiteRegistration reg = {
++    nullptr, nullptr, Prepare, Eval
++  };
++  return &reg;
++}
++}  // namespace custom_ops
++}  // namespace benchmark
++}  // namespace tflite
++
diff --git a/sci-libs/tensorflow/tensorflow-1.14.0-r14.ebuild b/sci-libs/tensorflow/tensorflow-1.14.0-r14.ebuild
deleted file mode 120000
index 925215e..0000000
--- a/sci-libs/tensorflow/tensorflow-1.14.0-r14.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-tensorflow-1.14.0.ebuild
\ No newline at end of file
diff --git a/sci-libs/tensorflow/tensorflow-1.14.0.ebuild b/sci-libs/tensorflow/tensorflow-1.14.0.ebuild
deleted file mode 100644
index 027ea6a..0000000
--- a/sci-libs/tensorflow/tensorflow-1.14.0.ebuild
+++ /dev/null
@@ -1,425 +0,0 @@
-# Copyright 1999-2019 Jason Zaman
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python2_7 python{3_5,3_6,3_7} )
-MY_PV=${PV/_rc/-rc}
-MY_P=${PN}-${MY_PV}
-
-inherit check-reqs cros-bazel cuda distutils-r1 flag-o-matic toolchain-funcs
-
-DESCRIPTION="Computation framework using data flow graphs for scalable machine learning"
-HOMEPAGE="https://www.tensorflow.org/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="*"
-IUSE="cuda mpi minimal +python label_image benchmark_model"
-CPU_USE_FLAGS_X86="sse sse2 sse3 sse4_1 sse4_2 avx avx2 fma3 fma4"
-for i in $CPU_USE_FLAGS_X86; do
-	IUSE+=" cpu_flags_x86_$i"
-done
-
-# distfiles that bazel uses for the workspace, will be copied to basel-distdir
-bazel_external_uris="
-	http://www.kurims.kyoto-u.ac.jp/~ooura/fft.tgz -> oourafft-20061228.tgz
-	https://bitbucket.org/eigen/eigen/get/a0d250e79c79.tar.gz -> eigen-a0d250e79c79.tar.gz
-	https://github.com/abseil/abseil-cpp/archive/daf381e8535a1f1f1b8a75966a74e7cca63dee89.tar.gz -> abseil-cpp-daf381e8535a1f1f1b8a75966a74e7cca63dee89.tar.gz
-	https://github.com/bazelbuild/bazel-skylib/archive/0.6.0.tar.gz -> bazel-skylib-0.6.0.tar.gz
-	https://github.com/bazelbuild/rules_closure/archive/cf1e44edb908e9616030cc83d085989b8e6cd6df.tar.gz -> bazelbuild-rules_closure-cf1e44edb908e9616030cc83d085989b8e6cd6df.tar.gz
-	https://github.com/bazelbuild/rules_docker/archive/b8ff6a85ec359db3fd5657accd3e524daf12016d.tar.gz -> rules_docker-b8ff6a85ec359db3fd5657accd3e524daf12016d.tar.gz
-	https://github.com/bazelbuild/rules_swift/releases/download/0.9.0/rules_swift.0.9.0.tar.gz -> bazelbuild-rules_swift.0.9.0.tar.gz
-	https://github.com/google/farmhash/archive/816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz -> farmhash-816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz
-	https://github.com/google/gemmlowp/archive/12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.zip -> gemmlowp-12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.zip
-	https://github.com/google/highwayhash/archive/fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz -> highwayhash-fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz
-	https://github.com/intel/ARM_NEON_2_x86_SSE/archive/1200fe90bb174a6224a525ee60148671a786a71f.tar.gz -> ARM_NEON_2_x86_SSE-1200fe90bb174a6224a525ee60148671a786a71f.tar.gz
-	https://github.com/nlopezgi/bazel-toolchains/archive/94d31935a2c94fe7e7c7379a0f3393e181928ff7.tar.gz -> bazel-toolchains-94d31935a2c94fe7e7c7379a0f3393e181928ff7.tar.gz
-	cuda? (
-		https://github.com/nvidia/nccl/archive/f93fe9bfd94884cec2ba711897222e0df5569a53.tar.gz -> nvidia-nccl-f93fe9bfd94884cec2ba711897222e0df5569a53.tar.gz
-		https://github.com/NVlabs/cub/archive/1.8.0.zip -> cub-1.8.0.zip
-	)
-	python? (
-		http://mirror.tensorflow.org/docs.python.org/2.7/_sources/license.rst.txt -> tensorflow-1.14.0-python-license.rst.txt
-		https://pypi.python.org/packages/bc/cc/3cdb0a02e7e96f6c70bd971bc8a90b8463fda83e264fa9c5c1c98ceabd81/backports.weakref-1.0rc1.tar.gz
-	)"
-
-SRC_URI="https://github.com/${PN}/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
-		${bazel_external_uris}"
-
-RDEPEND="
-	>=dev-libs/flatbuffers-1.8.0:=
-	>=dev-libs/protobuf-3.6.0:=
-	!minimal? (
-		app-arch/snappy
-		dev-db/lmdb
-		dev-db/sqlite
-		dev-libs/icu
-		>=dev-libs/jsoncpp-1.8.4
-		dev-libs/libpcre
-		dev-libs/nsync
-		dev-libs/openssl:0=
-		>=dev-libs/re2-0.2018.04.01
-		media-libs/giflib
-		media-libs/libjpeg-turbo
-		media-libs/libpng:0
-		>=net-libs/grpc-1.16.0
-		net-misc/curl
-		sys-libs/zlib
-		>=sys-apps/hwloc-2
-	)
-	cuda? (
-		>=dev-util/nvidia-cuda-toolkit-9.1[profiler]
-		dev-libs/cudnn
-	)
-	mpi? ( virtual/mpi )
-	python? (
-		${PYTHON_DEPS}
-		dev-python/absl-py[${PYTHON_USEDEP}]
-		>=dev-python/astor-0.7.1[${PYTHON_USEDEP}]
-		dev-python/gast[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/google-pasta[${PYTHON_USEDEP}]
-		>=dev-python/protobuf-python-3.6.0[${PYTHON_USEDEP}]
-		dev-python/six[${PYTHON_USEDEP}]
-		dev-python/termcolor[${PYTHON_USEDEP}]
-		dev-python/grpcio[${PYTHON_USEDEP}]
-		>=dev-python/wrapt-1.11.1[${PYTHON_USEDEP}]
-		>=net-libs/google-cloud-cpp-0.9.0
-		>=sci-libs/keras-applications-1.0.6[${PYTHON_USEDEP}]
-		>=sci-libs/keras-preprocessing-1.0.5[${PYTHON_USEDEP}]
-		>=sci-visualization/tensorboard-1.13.0[${PYTHON_USEDEP}]
-		virtual/python-enum34[${PYTHON_USEDEP}]
-	)"
-DEPEND="${RDEPEND}
-	python? (
-		dev-python/mock
-	)"
-PDEPEND="python? (
-		>=sci-libs/tensorflow-estimator-1.13.0[${PYTHON_USEDEP}]
-	)"
-BDEPEND="
-	app-arch/unzip
-	>=dev-libs/flatbuffers-1.8.0
-	>=dev-libs/protobuf-3.6.0
-	|| (
-		=dev-util/bazel-0.24*
-		=dev-util/bazel-0.26*
-		=dev-util/bazel-0.27*
-	)
-	cuda? (
-		>=dev-util/nvidia-cuda-toolkit-9.1[profiler]
-	)
-	!python? ( dev-lang/python )
-	python? (
-		dev-lang/swig
-		dev-python/grpcio-tools
-		dev-python/mock
-		dev-python/cython
-	)"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} !minimal )"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
-	"${FILESDIR}/tensorflow-1.14.0-0001-systemlibs-unbundle-enum34.patch"
-	"${FILESDIR}/tensorflow-1.14.0-0002-linker-option-z-defs.patch"
-	"${FILESDIR}/tensorflow-1.14.0-0003-eigen-include-sstream.patch"
-	"${FILESDIR}/tensorflow-1.14.0-0004-neon-2-sse-header.patch"
-	"${FILESDIR}/tensorflow-1.14.0-0005-nnapi-android-sdk-version.patch"
-	"${FILESDIR}/tensorflow-1.14.0-0006-label-image-nnapi.patch"
-	"${FILESDIR}/tensorflow-1.14.0-0007-flatbuffers-deps.patch"
-)
-DOCS=( AUTHORS CONTRIBUTING.md ISSUE_TEMPLATE.md README.md RELEASE.md )
-CHECKREQS_MEMORY="5G"
-CHECKREQS_DISK_BUILD="5G"
-
-get-cpu-flags() {
-	local i f=()
-	# Keep this list in sync with tensorflow/core/platform/cpu_feature_guard.cc.
-	for i in sse sse2 sse3 sse4_1 sse4_2 avx avx2 fma4; do
-		use cpu_flags_x86_${i} && f+=( -m${i/_/.} )
-	done
-	use cpu_flags_x86_fma3 && f+=( -mfma )
-	echo "${f[*]}"
-}
-
-# Echos the CPU string that TensorFlow uses to refer to the given architecture.
-get-cpu-str() {
-	local arch
-	arch="$(tc-arch "${1}")"
-
-	case "${arch}" in
-	amd64) echo "k8";;
-	arm) echo "arm";;
-	arm64) echo "arm";;
-	*) die "Unsupported architecture '${arch}'."
-	esac
-}
-
-pkg_setup() {
-	local num_pythons_enabled
-	num_pythons_enabled=0
-	count_impls(){
-		num_pythons_enabled=$((${num_pythons_enabled} + 1))
-	}
-	use python && python_foreach_impl count_impls
-
-	# 5 G to build C/C++ libs, 5G per python impl
-	CHECKREQS_DISK_BUILD="$((5 + 5 * $num_pythons_enabled))G"
-	check-reqs_pkg_setup
-}
-
-src_unpack() {
-	# Only unpack the main distfile
-	unpack "${P}.tar.gz"
-	bazel_load_distfiles "${bazel_external_uris}"
-}
-
-src_prepare() {
-	export JAVA_HOME=$(ROOT="${BROOT}" java-config --jdk-home)
-	append-flags $(get-cpu-flags)
-
-	# Exceptions are required for jsoncpp.
-	! use minimal && cros_enable_cxx_exceptions
-
-	# Can cause linker errors with full TF with relr relocations.
-	if tc-ld-is-lld; then
-		append-ldflags "-Wl,--pack-dyn-relocs=none"
-	elif tc-ld-is-gold; then
-		append-ldflags "-Wl,--no-experimental-use-relr"
-	fi
-
-	bazel_setup_bazelrc
-	bazel_setup_crosstool "$(get-cpu-str "${CBUILD}")" "$(get-cpu-str "${CHOST}")"
-
-	default
-	use python && python_copy_sources
-
-	use cuda && cuda_add_sandbox
-}
-
-src_configure() {
-
-	do_configure() {
-		export CC_OPT_FLAGS=" "
-		export TF_ENABLE_XLA=0
-		export TF_NEED_OPENCL_SYCL=0
-		export TF_NEED_OPENCL=0
-		export TF_NEED_COMPUTECPP=0
-		export TF_NEED_ROCM=0
-		export TF_NEED_MPI=$(usex mpi 1 0)
-		export TF_SET_ANDROID_WORKSPACE=0
-
-		if use python; then
-			python_export PYTHON_SITEDIR
-			export PYTHON_BIN_PATH="${PYTHON}"
-			export PYTHON_LIB_PATH="${PYTHON_SITEDIR}"
-		else
-			export PYTHON_BIN_PATH="$(which python)"
-			export PYTHON_LIB_PATH="$(python -c 'from distutils.sysconfig import *; print(get_python_lib())')"
-		fi
-
-		export TF_NEED_CUDA=$(usex cuda 1 0)
-		export TF_DOWNLOAD_CLANG=0
-		export TF_CUDA_CLANG=0
-		export TF_NEED_TENSORRT=0
-		if use cuda; then
-			export TF_CUDA_PATHS="${EPREFIX%/}/opt/cuda"
-			export GCC_HOST_COMPILER_PATH="$(cuda_gccdir)/$(tc-getCC)"
-			export TF_CUDA_VERSION="$(cuda_toolkit_version)"
-			export TF_CUDNN_VERSION="$(cuda_cudnn_version)"
-			einfo "Setting CUDA version: $TF_CUDA_VERSION"
-			einfo "Setting CUDNN version: $TF_CUDNN_VERSION"
-		fi
-
-		local SYSLIBS=(
-			absl_py
-			astor_archive
-			boringssl
-			com_github_googleapis_googleapis
-			com_github_googlecloudplatform_google_cloud_cpp
-			com_google_protobuf
-			com_google_protobuf_cc
-			com_googlesource_code_re2
-			curl
-			cython
-			double_conversion
-			enum34_archive
-			flatbuffers
-			gast_archive
-			gif_archive
-			grpc
-			hwloc
-			icu
-			jpeg
-			jsoncpp_git
-			keras_applications_archive
-			lmdb
-			nasm
-			nsync
-			org_sqlite
-			pasta
-			pcre
-			png_archive
-			protobuf_archive
-			six_archive
-			snappy
-			swig
-			termcolor_archive
-			wrapt
-			zlib_archive
-		)
-
-		export TF_SYSTEM_LIBS="${SYSLIBS[@]}"
-		export TF_IGNORE_MAX_BAZEL_VERSION=1
-
-		# This is not autoconf
-		./configure || die
-
-		echo 'build --config=noaws --config=nohdfs --config=noignite --config=nokafka' >> .bazelrc || die
-		echo 'build --define tensorflow_mkldnn_contraction_kernel=0' >> .bazelrc || die
-		echo 'build --incompatible_no_support_tools_in_action_inputs=false' >> .bazelrc || die
-	}
-	if use python; then
-		python_foreach_impl run_in_build_dir do_configure
-	else
-		do_configure
-	fi
-}
-
-src_compile() {
-
-	if use python; then
-		python_setup
-		BUILD_DIR="${S}-${EPYTHON/./_}"
-		cd "${BUILD_DIR}"
-	fi
-
-	# fail early if any deps are missing
-	ebazel build --nobuild \
-		$(usex minimal '' '
-			//tensorflow:libtensorflow_framework.so
-			//tensorflow:libtensorflow.so
-			//tensorflow:libtensorflow_cc.so') \
-		//tensorflow/lite:libtensorflowlite.so \
-		//tensorflow/lite/kernels/internal:install_nnapi_extra_headers \
-		"$(usex label_image '
-			//tensorflow/lite/examples/label_image:label_image' '')" \
-		"$(usex benchmark_model '
-			//tensorflow/lite/tools/benchmark:benchmark_model' '')" \
-		"$(usex python '//tensorflow/tools/pip_package:build_pip_package' '')"
-
-	ebazel build \
-		$(usex minimal '' '
-			//tensorflow:libtensorflow_framework.so
-			//tensorflow:libtensorflow.so
-			//tensorflow:libtensorflow_cc.so') \
-		//tensorflow/lite:libtensorflowlite.so \
-		//tensorflow/lite/kernels/internal:install_nnapi_extra_headers \
-		"$(usex label_image '
-			//tensorflow/lite/examples/label_image:label_image' '')" \
-		"$(usex benchmark_model '
-			//tensorflow/lite/tools/benchmark:benchmark_model' '')"
-
-	do_compile() {
-		ebazel build //tensorflow/tools/pip_package:build_pip_package
-	}
-	BUILD_DIR="${S}"
-	cd "${BUILD_DIR}"
-	use python && python_foreach_impl run_in_build_dir do_compile
-	ebazel shutdown
-}
-
-src_install() {
-	local i j
-
-	if ! use minimal; then
-		do_install() {
-			einfo "Installing TF ${EPYTHON} files"
-			local srcdir="${T}/src-${MULTIBUILD_VARIANT}"
-			mkdir -p "${srcdir}" || die
-			bazel-bin/tensorflow/tools/pip_package/build_pip_package --src "${srcdir}" || die
-			cd "${srcdir}" || die
-			esetup.py install
-
-			# libtensorflow_framework.so is in /usr/lib already
-			python_export PYTHON_SITEDIR PYTHON_SCRIPTDIR
-			rm -f "${D}/${PYTHON_SITEDIR}"/${PN}/lib${PN}_framework.so* || die
-			python_optimize
-		}
-
-		if use python; then
-			python_foreach_impl run_in_build_dir do_install
-
-			# Symlink to python-exec scripts
-			for i in "${ED}"/usr/lib/python-exec/*/*; do
-				n="${i##*/}"
-				[[ -e "${ED}/usr/bin/${n}" ]] || dosym ../lib/python-exec/python-exec2 "/usr/bin/${n}"
-			done
-
-			python_setup
-			local BUILD_DIR="${S}-${EPYTHON/./_}"
-			cd "${BUILD_DIR}" || die
-		fi
-
-		einfo "Installing TF headers"
-		ebazel build //tensorflow:install_headers
-		ebazel shutdown
-		insinto /usr/include/${PN}/
-		doins -r bazel-genfiles/tensorflow/include/*
-
-		einfo "Installing TF libs"
-		# Generate pkg-config file
-		${PN}/c/generate-pc.sh --prefix="${EPREFIX}"/usr --libdir=$(get_libdir) --version=${MY_PV} || die
-		insinto /usr/$(get_libdir)/pkgconfig
-		doins ${PN}.pc
-
-		for l in libtensorflow{,_framework,_cc}.so; do
-			dolib.so bazel-bin/tensorflow/${l}
-			dolib.so bazel-bin/tensorflow/${l}.$(ver_cut 1)
-			dolib.so bazel-bin/tensorflow/${l}.$(ver_cut 1-3)
-		done
-	fi
-
-	einfo "Installing TF lite headers"
-	# From tensorflow/lite/lib_package/create_ios_frameworks.sh
-	find ${PN}/lite -name "*.h" \
-		-not -path "${PN}/lite/tools/*" \
-		-not -path "${PN}/lite/examples/*" \
-		-not -path "${PN}/lite/gen/*" \
-		-not -path "${PN}/lite/toco/*" \
-		-not -path "${PN}/lite/nnapi/*" \
-		-not -path "${PN}/lite/java/*" |
-	while read -r i; do
-		insinto "/usr/include/${PN}/${i%/*}"
-		doins "${i}"
-	done
-	if use minimal; then
-		einfo "Installing selected TF core headers"
-		local selected=( lib/bfloat16/bfloat16.h platform/byte_order.h platform/macros.h )
-		for i in "${selected[@]}"; do
-			insinto "/usr/include/${PN}/${PN}/core/${i%/*}"
-			doins "${PN}/core/${i}"
-		done
-	fi
-
-	einfo "Installing NNAPI headers"
-	insinto /usr/include/${PN}/nnapi/
-	doins -r bazel-genfiles/tensorflow/lite/kernels/internal/include
-
-	einfo "Installing TF lite libraries"
-	dolib.so bazel-bin/tensorflow/lite/lib${PN}lite.so
-
-	if use label_image; then
-		einfo "Install label_image example"
-		dobin bazel-bin/tensorflow/lite/examples/label_image/label_image
-	fi
-	if use benchmark_model; then
-		einfo "Install benchmark_model tool"
-		dobin bazel-bin/tensorflow/lite/tools/benchmark/benchmark_model
-	fi
-
-	einstalldocs
-}
diff --git a/sci-libs/tensorflow/tensorflow-2.7.0-r4.ebuild b/sci-libs/tensorflow/tensorflow-2.7.0-r4.ebuild
deleted file mode 120000
index f91dfc9..0000000
--- a/sci-libs/tensorflow/tensorflow-2.7.0-r4.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-tensorflow-2.7.0.ebuild
\ No newline at end of file
diff --git a/sci-libs/tensorflow/tensorflow-2.7.0.ebuild b/sci-libs/tensorflow/tensorflow-2.7.0.ebuild
deleted file mode 100644
index 7504435..0000000
--- a/sci-libs/tensorflow/tensorflow-2.7.0.ebuild
+++ /dev/null
@@ -1,528 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{6,7,8} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-MY_PV=${PV/_rc/-rc}
-MY_P=${PN}-${MY_PV}
-
-# s/bazel/cros-bazel/ instead of bazel to fix downloading dependencies.
-# s/prefix// because ChromeOS doesn't need it.
-inherit cros-bazel check-reqs cuda distutils-r1 flag-o-matic toolchain-funcs
-
-DESCRIPTION="Computation framework using data flow graphs for scalable machine learning"
-HOMEPAGE="https://www.tensorflow.org/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="*"
-# ChromeOS uses 'minimal' to compile only TensorFlow Lite, compilation without 'minimal' is not supported.
-IUSE="cuda mpi +python xla minimal label_image benchmark_model xnnpack inference_accuracy_eval"
-
-# distfiles that bazel uses for the workspace, will be copied to basel-distdir
-bazel_external_uris="
-	https://github.com/bazelbuild/platforms/releases/download/0.0.2/platforms-0.0.2.tar.gz -> bazelbuild-platforms-0.0.2.tar.gz
-	https://github.com/bazelbuild/apple_support/archive/501b4afb27745c4813a88ffa28acd901408014e4.tar.gz -> bazelbuild-apple_support-501b4afb27745c4813a88ffa28acd901408014e4.tar.gz
-	https://github.com/bazelbuild/bazel-toolchains/archive/dfc67056200b674accd08d8f9a21e328098c07e2.tar.gz -> bazel-toolchains-dfc67056200b674accd08d8f9a21e328098c07e2.tar.gz
-	https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz -> bazel-skylib-1.0.3.tar.gz
-	https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip -> bazelbuild-rules_android-v0.1.1.zip
-	https://github.com/bazelbuild/rules_apple/archive/5131f3d46794bf227d296c82f30c2499c9de3c5b.tar.gz -> bazelbuild-rules_apple-5131f3d46794bf227d296c82f30c2499c9de3c5b.tar.gz
-	https://github.com/bazelbuild/rules_cc/archive/40548a2974f1aea06215272d9c2b47a14a24e556.tar.gz -> bazelbuild-rules_cc-40548a2974f1aea06215272d9c2b47a14a24e556.tar.gz
-	https://github.com/bazelbuild/rules_closure/archive/308b05b2419edb5c8ee0471b67a40403df940149.tar.gz -> bazelbuild-rules_closure-308b05b2419edb5c8ee0471b67a40403df940149.tar.gz
-	https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip -> bazelbuild-rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip
-	https://github.com/bazelbuild/rules_swift/archive/3eeeb53cebda55b349d64c9fc144e18c5f7c0eb8.tar.gz -> bazelbuild-rules_swift-3eeeb53cebda55b349d64c9fc144e18c5f7c0eb8.tar.gz
-	https://github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz -> bazelbuild-rules_proto-97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz
-	https://github.com/google/farmhash/archive/0d859a811870d10f53a594927d0d0b97573ad06d.tar.gz -> farmhash-0d859a811870d10f53a594927d0d0b97573ad06d.tar.gz
-	https://github.com/google/gemmlowp/archive/fda83bdc38b118cc6b56753bd540caa49e570745.zip -> gemmlowp-fda83bdc38b118cc6b56753bd540caa49e570745.zip
-	https://github.com/google/ruy/archive/e6c1b8dc8a8b00ee74e7268aac8b18d7260ab1ce.zip -> ruy-e6c1b8dc8a8b00ee74e7268aac8b18d7260ab1ce.zip
-	https://github.com/intel/ARM_NEON_2_x86_SSE/archive/1200fe90bb174a6224a525ee60148671a786a71f.tar.gz -> ARM_NEON_2_x86_SSE-1200fe90bb174a6224a525ee60148671a786a71f.tar.gz	https://github.com/googleapis/googleapis/archive/541b1ded4abadcc38e8178680b0677f65594ea6f.zip -> googleapis-541b1ded4abadcc38e8178680b0677f65594ea6f.zip
-	https://github.com/petewarden/OouraFFT/archive/v1.0.tar.gz -> OouraFFT-v1.0.tar.gz
-	https://github.com/pytorch/cpuinfo/archive/5916273f79a21551890fd3d56fc5375a78d1598d.zip -> pytorch-cpuinfo-5916273f79a21551890fd3d56fc5375a78d1598d.zip
-	https://github.com/pytorch/cpuinfo/archive/d5e37adf1406cf899d7d9ec1d317c47506ccb970.tar.gz -> pytorch-cpuinfo-d5e37adf1406cf899d7d9ec1d317c47506ccb970.tar.gz
-	https://github.com/Maratyszcza/FP16/archive/4dfe081cf6bcd15db339cf2680b9281b8451eeb3.zip -> FP16-4dfe081cf6bcd15db339cf2680b9281b8451eeb3.zip
-	https://github.com/Maratyszcza/FXdiv/archive/63058eff77e11aa15bf531df5dd34395ec3017c8.zip -> FXdiv-63058eff77e11aa15bf531df5dd34395ec3017c8.zip
-	https://github.com/Maratyszcza/pthreadpool/archive/b8374f80e42010941bda6c85b0e3f1a1bd77a1e0.zip -> pthreadpool-b8374f80e42010941bda6c85b0e3f1a1bd77a1e0.zip
-	https://github.com/tensorflow/toolchains/archive/v1.2.7.tar.gz -> tensorflow_toolchains_v1.2.7.tar.gz
-	https://github.com/tensorflow/runtime/archive/64c92c8013b557087351c91b5423b6046d10f206.tar.gz -> tf_runtime-64c92c8013b557087351c91b5423b6046d10f206.tar.gz
-	https://gitlab.com/libeigen/eigen/-/archive/7792b1e909a98703181aecb8810b4b654004c25d/eigen-7792b1e909a98703181aecb8810b4b654004c25d.tar.gz -> eigen-7792b1e909a98703181aecb8810b4b654004c25d.tar.gz
-	https://github.com/KhronosGroup/OpenCL-Headers/archive/0d5f18c6e7196863bc1557a693f1509adfcee056.tar.gz -> OpenCL-Headers-0d5f18c6e7196863bc1557a693f1509adfcee056.tar.gz
-	https://github.com/KhronosGroup/Vulkan-Headers/archive/ec2db85225ab410bc6829251bef6c578aaed5868.tar.gz -> Vulkan-Headers-ec2db85225ab410bc6829251bef6c578aaed5868.tar.gz
-	https://github.com/abseil/abseil-cpp/archive/997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz -> abseil-cpp-997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz
-	https://github.com/google/XNNPACK/archive/694d2524757f9040e65a02c374e152a462fe57eb.zip -> xnnpack-694d2524757f9040e65a02c374e152a462fe57eb.zip
-	https://github.com/llvm/llvm-project/archive/43d6991c2a4cc2ac374e68c029634f2b59ffdfdf.tar.gz -> llvm-project-43d6991c2a4cc2ac374e68c029634f2b59ffdfdf.tar.gz
-	https://storage.googleapis.com/mirror.tensorflow.org/storage.cloud.google.com/download.tensorflow.org/tflite/hexagon_nn_headers_v1.20.0.3.tgz -> hexagon_nn_headers_v1.20.0.3.tgz
-	https://github.com/google/nsync/archive/1.22.0.tar.gz -> nsync-1.22.0.tar.gz
-	https://github.com/google/re2/archive/506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz -> re2-506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz
-	https://github.com/google/highwayhash/archive/fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz -> highwayhash-fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz
-	https://storage.googleapis.com/mirror.tensorflow.org/pilotfiber.dl.sourceforge.net/project/giflib/giflib-5.2.1.tar.gz -> giflib-5.2.1.tar.gz
-"
-
-SRC_URI="
-	https://github.com/${PN}/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
-	${bazel_external_uris}
-	"
-
-RDEPEND="
-	x11-drivers/opengles-headers:=
-	virtual/opengles:=
-	!minimal? (
-		app-arch/snappy
-		dev-db/lmdb
-		dev-db/sqlite
-		dev-libs/double-conversion
-		dev-libs/icu
-		>=dev-libs/jsoncpp-1.9.2
-	)
-	>=dev-libs/flatbuffers-1.12.0:=
-	dev-libs/libpcre
-	!minimal? (
-		dev-libs/nsync
-	)
-	dev-libs/openssl:0=
-	>=dev-libs/protobuf-3.8.0:=
-	>=dev-libs/re2-0.2019.06.01
-	!minimal? (
-		media-libs/giflib
-	)
-	media-libs/libjpeg-turbo
-	media-libs/libpng:0
-	!minimal? (
-		>=net-libs/grpc-1.28
-	)
-	net-misc/curl
-	sys-libs/zlib
-	!minimal? (
-		>=sys-apps/hwloc-2
-	)
-	cuda? (
-		|| (
-			( =dev-util/nvidia-cuda-toolkit-10.2*[profiler] =dev-libs/cudnn-7* )
-			( =dev-util/nvidia-cuda-toolkit-10.1*[profiler] =dev-libs/cudnn-7* )
-			( =dev-util/nvidia-cuda-toolkit-10.0*[profiler] =dev-libs/cudnn-7.4* )
-			( =dev-util/nvidia-cuda-toolkit-9.2*[profiler] =dev-libs/cudnn-7.1* )
-			( =dev-util/nvidia-cuda-toolkit-9.1*[profiler] =dev-libs/cudnn-7.0* )
-		)
-	)
-	mpi? ( virtual/mpi )
-	python? (
-		${PYTHON_DEPS}
-		dev-python/absl-py[${PYTHON_USEDEP}]
-		>=dev-python/astor-0.7.1[${PYTHON_USEDEP}]
-		dev-python/astunparse[${PYTHON_USEDEP}]
-		>=dev-python/gast-0.3.3[${PYTHON_USEDEP}]
-		dev-python/h5py[${PYTHON_USEDEP}]
-		>=dev-python/numpy-1.19[${PYTHON_USEDEP}]
-		>=dev-python/google-pasta-0.1.8[${PYTHON_USEDEP}]
-		dev-python/opt-einsum[${PYTHON_USEDEP}]
-		>=dev-python/protobuf-python-3.8.0[${PYTHON_USEDEP}]
-		dev-python/pybind11[${PYTHON_USEDEP}]
-		dev-python/six[${PYTHON_USEDEP}]
-		dev-python/termcolor[${PYTHON_USEDEP}]
-		>=dev-python/grpcio-1.28[${PYTHON_USEDEP}]
-		>=dev-python/wrapt-1.11.1[${PYTHON_USEDEP}]
-		>=net-libs/google-cloud-cpp-0.10.0
-		>=sci-libs/keras-applications-1.0.8[${PYTHON_USEDEP}]
-		>=sci-libs/keras-preprocessing-1.1.0[${PYTHON_USEDEP}]
-		>=sci-visualization/tensorboard-2.3.0[${PYTHON_USEDEP}]
-		dev-python/dill[${PYTHON_USEDEP}]
-		dev-python/tblib[${PYTHON_USEDEP}]
-	)"
-DEPEND="${RDEPEND}
-	python? (
-		dev-python/mock
-		dev-python/setuptools
-	)"
-PDEPEND="python? (
-		>=sci-libs/tensorflow-estimator-2.3.0[${PYTHON_USEDEP}]
-	)"
-BDEPEND="
-	app-arch/unzip
-	>=dev-libs/protobuf-3.8.0
-	dev-java/java-config
-	dev-lang/swig
-	=dev-util/bazel-3*
-	cuda? (
-		>=dev-util/nvidia-cuda-toolkit-9.1[profiler]
-	)
-	!python? ( dev-lang/python )
-	python? (
-		dev-python/cython
-		dev-python/mock
-		>=dev-python/grpcio-tools-1.28
-	)"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-PATCHES=(
-	"${FILESDIR}/tensorflow-2.7.0-0001-workspace.patch"
-	"${FILESDIR}/tensorflow-2.7.0-0002-ashmem-create.patch"
-	"${FILESDIR}/tensorflow-2.7.0-0003-nnapi-delegates.patch"
-	"${FILESDIR}/tensorflow-2.7.0-0004-cpuinfo-arm-fix.patch"
-	"${FILESDIR}/tensorflow-2.7.0-0005-gpu.patch"
-	"${FILESDIR}/tensorflow-2.7.0-0006-nnapi-loading-errors.patch"
-	"${FILESDIR}/tensorflow-2.7.0-0007-protobuff-cc-toolchain.patch"
-)
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( AUTHORS CONTRIBUTING.md ISSUE_TEMPLATE.md README.md RELEASE.md )
-CHECKREQS_MEMORY="5G"
-CHECKREQS_DISK_BUILD="10G"
-
-# Echos the CPU string that TensorFlow uses to refer to the given architecture.
-get-cpu-str() {
-	local arch
-	arch="$(tc-arch "${1}")"
-
-	case "${arch}" in
-	amd64) echo "k8";;
-	arm) echo "arm";;
-	arm64) echo "aarch64";;
-	*) die "Unsupported architecture '${arch}'."
-	esac
-}
-
-pkg_setup() {
-	local num_pythons_enabled
-	num_pythons_enabled=0
-	count_impls(){
-		num_pythons_enabled=$((${num_pythons_enabled} + 1))
-	}
-	use python && python_foreach_impl count_impls
-
-	# 10G to build C/C++ libs, 5G per python impl
-	CHECKREQS_DISK_BUILD="$((10 + 6 * ${num_pythons_enabled}))G"
-	check-reqs_pkg_setup
-}
-
-src_unpack() {
-	# Only unpack the main distfile
-	unpack "${P}.tar.gz"
-	bazel_load_distfiles "${bazel_external_uris}"
-}
-
-src_prepare() {
-	export JAVA_HOME=$(ROOT="${BROOT}" java-config --jdk-home)
-
-	# Relax version checks in setup.py
-	sed -i "/^    '/s/==/>=/g" tensorflow/tools/pip_package/setup.py || die
-
-	bazel_setup_bazelrc
-	bazel_setup_crosstool "$(get-cpu-str "${CBUILD}")" "$(get-cpu-str "${CHOST}")"
-
-	default
-	use python && python_copy_sources
-
-	use cuda && cuda_add_sandbox
-}
-
-src_configure() {
-	export JAVA_HOME=$(ROOT="${BROOT}" java-config --jdk-home)
-
-	do_configure() {
-		export CC_OPT_FLAGS=" "
-		export TF_ENABLE_XLA=$(usex xla 1 0)
-		export TF_NEED_OPENCL_SYCL=0
-		export TF_NEED_OPENCL=0
-		export TF_NEED_COMPUTECPP=0
-		export TF_NEED_ROCM=0
-		export TF_NEED_MPI=$(usex mpi 1 0)
-		export TF_SET_ANDROID_WORKSPACE=0
-
-		if use python; then
-			export PYTHON_BIN_PATH="${PYTHON}"
-			export PYTHON_LIB_PATH="$(python_get_sitedir)"
-		else
-			export PYTHON_BIN_PATH="$(which python)"
-			export PYTHON_LIB_PATH="$(python -c 'from distutils.sysconfig import *; print(get_python_lib())')"
-		fi
-
-		export TF_NEED_CUDA=$(usex cuda 1 0)
-		export TF_DOWNLOAD_CLANG=0
-		export TF_CUDA_CLANG=0
-		export TF_NEED_TENSORRT=0
-		if use cuda; then
-			export TF_CUDA_PATHS="${EPREFIX}/opt/cuda"
-			export GCC_HOST_COMPILER_PATH="$(cuda_gccdir)/$(tc-getCC)"
-			export TF_CUDA_VERSION="$(cuda_toolkit_version)"
-			export TF_CUDNN_VERSION="$(cuda_cudnn_version)"
-			einfo "Setting CUDA version: $TF_CUDA_VERSION"
-			einfo "Setting CUDNN version: $TF_CUDNN_VERSION"
-
-			if [[ *$(gcc-version)* != $(cuda-config -s) ]]; then
-				ewarn "TensorFlow is being built with Nvidia CUDA support. Your default compiler"
-				ewarn "version is not supported by the currently installed CUDA. TensorFlow will"
-				ewarn "instead be compiled using: ${GCC_HOST_COMPILER_PATH}."
-				ewarn "If the build fails with linker errors try rebuilding the relevant"
-				ewarn "dependencies using the same compiler version."
-			fi
-
-			if [[ -z "$TF_CUDA_COMPUTE_CAPABILITIES" ]]; then
-				ewarn "WARNING: Tensorflow is being built with its default CUDA compute capabilities: 3.5 and 7.0."
-				ewarn "These may not be optimal for your GPU."
-				ewarn ""
-				ewarn "To configure Tensorflow with the CUDA compute capability that is optimal for your GPU,"
-				ewarn "set TF_CUDA_COMPUTE_CAPABILITIES in your make.conf, and re-emerge tensorflow."
-				ewarn "For example, to use CUDA capability 7.5 & 3.5, add: TF_CUDA_COMPUTE_CAPABILITIES=7.5,3.5"
-				ewarn ""
-				ewarn "You can look up your GPU's CUDA compute capability at https://developer.nvidia.com/cuda-gpus"
-				ewarn "or by running /opt/cuda/extras/demo_suite/deviceQuery | grep 'CUDA Capability'"
-			fi
-		fi
-
-		local SYSLIBS=(
-			absl_py
-			astor_archive
-			astunparse_archive
-			boringssl
-			com_github_googleapis_googleapis
-			com_github_googlecloudplatform_google_cloud_cpp
-			com_github_grpc_grpc
-			com_google_protobuf
-			curl
-			cython
-			dill_archive
-			double_conversion
-			enum34_archive
-			flatbuffers
-			functools32_archive
-			gast_archive
-			hwloc
-			icu
-			jsoncpp_git
-			libjpeg_turbo
-			lmdb
-			nasm
-			opt_einsum_archive
-			org_sqlite
-			pasta
-			pcre
-			png
-			pybind11
-			six_archive
-			snappy
-			swig
-			tblib_archive
-			termcolor_archive
-			wrapt
-			zlib
-		)
-
-		export TF_SYSTEM_LIBS="${SYSLIBS[@]}"
-		export TF_IGNORE_MAX_BAZEL_VERSION=1
-
-		# This is not autoconf
-		./configure || die
-
-		echo 'build --config=noaws --config=nohdfs' >> .bazelrc || die
-		echo 'build --define tensorflow_mkldnn_contraction_kernel=0' >> .bazelrc || die
-
-		# The ruy library is faster than the default libeigen on arm, but
-		# MUCH slower on amd64. See b/178593695 for more discussion.
-		case "${ARCH}" in
-			arm | arm64) echo 'build --define=tflite_with_ruy=true' >> .bazelrc || die ;;
-		esac
-	}
-	if use python; then
-		python_foreach_impl run_in_build_dir do_configure
-	else
-		do_configure
-	fi
-}
-
-src_compile() {
-	export JAVA_HOME=$(ROOT="${BROOT}" java-config --jdk-home)
-
-	if use python; then
-		python_setup
-		BUILD_DIR="${S}-${EPYTHON/./_}"
-		cd "${BUILD_DIR}"
-	fi
-
-	# fail early if any deps are missing
-	if ! use minimal; then
-		ebazel build -k --nobuild \
-			//tensorflow:libtensorflow_framework.so \
-			//tensorflow:libtensorflow.so \
-			//tensorflow:libtensorflow_cc.so \
-			$(usex python '//tensorflow/tools/pip_package:build_pip_package' '')
-	else
-		# Duplication of the benchmark_model artifacts behind different flags is done to allow
-		# other packages to extract out xnnpack artifacts without installing benchmark_model
-		ebazel build -k --nobuild \
-			tensorflow/lite:libtensorflowlite.so \
-			//tensorflow/lite/kernels/internal:install_nnapi_extra_headers \
-			"$(usex label_image '
-				//tensorflow/lite/examples/label_image:label_image' '')" \
-			"$(usex benchmark_model '
-				//tensorflow/lite/tools/benchmark:benchmark_model' '')" \
-			"$(usex xnnpack '
-				//tensorflow/lite/tools/benchmark:benchmark_model' '')" \
-			"$(usex python '//tensorflow/tools/pip_package:build_pip_package' '')" \
-			"$(usex inference_accuracy_eval '
-				//tensorflow/lite/tools/evaluation/tasks/inference_diff:run_eval
-				//tensorflow/lite/tools/evaluation/tasks/coco_object_detection:run_eval' '')"
-
-	fi
-
-	if ! use minimal; then
-		ebazel build \
-			//tensorflow:libtensorflow_framework.so \
-			//tensorflow:libtensorflow.so
-		ebazel build //tensorflow:libtensorflow_cc.so
-	else
-		# Duplication of the benchmark_model artifacts behind different flags is done to allow
-		# other packages to extract out xnnpack artifacts without installing benchmark_model
-		ebazel build --copt=-DTFLITE_SUPPORTS_GPU_DELEGATE=1 \
-			--copt=-DEGL_NO_X11 --cxxopt=-std=c++17 \
-			//tensorflow/lite:libtensorflowlite.so \
-			//tensorflow/lite/kernels/internal:install_nnapi_extra_headers \
-			"$(usex label_image '
-				//tensorflow/lite/examples/label_image:label_image' '')" \
-			"$(usex benchmark_model '
-				//tensorflow/lite/tools/benchmark:benchmark_model' '')" \
-			"$(usex xnnpack '
-				//tensorflow/lite/tools/benchmark:benchmark_model' '')" \
-			"$(usex inference_accuracy_eval '
-				//tensorflow/lite/tools/evaluation/tasks/inference_diff:run_eval
-				//tensorflow/lite/tools/evaluation/tasks/coco_object_detection:run_eval' '')"
-	fi
-
-	do_compile() {
-		ebazel build //tensorflow/tools/pip_package:build_pip_package
-	}
-	BUILD_DIR="${S}"
-	cd "${BUILD_DIR}"
-	use python && python_foreach_impl run_in_build_dir do_compile
-	ebazel shutdown
-}
-
-src_install() {
-	local i j
-	export JAVA_HOME=$(ROOT="${BROOT}" java-config --jdk-home)
-
-	if ! use minimal; then
-		do_install() {
-			einfo "Installing ${EPYTHON} files"
-			local srcdir="${T}/src-${MULTIBUILD_VARIANT}"
-			mkdir -p "${srcdir}" || die
-			bazel-bin/tensorflow/tools/pip_package/build_pip_package --src "${srcdir}" || die
-			cd "${srcdir}" || die
-			esetup.py install
-
-			# libtensorflow_framework.so is in /usr/lib already
-			rm -f "${D}/$(python_get_sitedir)"/${PN}/lib${PN}_framework.so* || die
-			rm -f "${D}/$(python_get_sitedir)"/${PN}_core/lib${PN}_framework.so* || die
-			python_optimize
-		}
-
-		if use python; then
-			python_foreach_impl run_in_build_dir do_install
-
-			# Symlink to python-exec scripts
-			for i in "${ED}"/usr/lib/python-exec/*/*; do
-				n="${i##*/}"
-				[[ -e "${ED}/usr/bin/${n}" ]] || dosym ../lib/python-exec/python-exec2 "/usr/bin/${n}"
-			done
-
-			python_setup
-			local BUILD_DIR="${S}-${EPYTHON/./_}"
-			cd "${BUILD_DIR}" || die
-		fi
-
-		einfo "Installing headers"
-		ebazel build //tensorflow:install_headers
-		ebazel shutdown
-		insinto /usr/include/${PN}/
-		doins -r bazel-bin/tensorflow/include/*
-
-		einfo "Installing libs"
-		# Generate pkg-config file
-		${PN}/c/generate-pc.sh --prefix="${EPREFIX}"/usr --libdir=$(get_libdir) --version=${MY_PV} || die
-		insinto /usr/$(get_libdir)/pkgconfig
-		doins ${PN}.pc ${PN}_cc.pc
-
-		for l in libtensorflow{,_framework,_cc}.so; do
-			dolib.so bazel-bin/tensorflow/${l}
-			dolib.so bazel-bin/tensorflow/${l}.$(ver_cut 1)
-			dolib.so bazel-bin/tensorflow/${l}.$(ver_cut 1-3)
-		done
-	else
-		einfo "Installing TF lite headers"
-		# From tensorflow/lite/lib_package/create_ios_frameworks.sh
-		find ${PN}/lite -name "*.h" \
-			-not -path "${PN}/lite/tools/*" \
-			-not -path "${PN}/lite/examples/*" \
-			-not -path "${PN}/lite/gen/*" \
-			-not -path "${PN}/lite/toco/*" \
-			-not -path "${PN}/lite/java/*" |
-		while read -r i; do
-			insinto "/usr/include/${PN}/${i%/*}"
-			doins "${i}"
-		done
-		if use minimal; then
-			einfo "Installing selected TF core headers"
-			local selected=( lib/bfloat16/bfloat16.h platform/byte_order.h platform/macros.h platform/bfloat16.h )
-			for i in "${selected[@]}"; do
-				insinto "/usr/include/${PN}/${PN}/core/${i%/*}"
-				doins "${PN}/core/${i}"
-			done
-		fi
-
-		einfo "Installing NNAPI headers"
-		insinto /usr/include/${PN}/nnapi/
-		doins -r bazel-bin/tensorflow/lite/kernels/internal/include
-
-		einfo "Installing ruy headers"
-		insinto /usr/include/${PN}/ruy/
-		doins -r "../tensorflow-${PV}-bazel-base/external/ruy/ruy"/*
-
-		einfo "Installing fp16 headers"
-		insinto /usr/include/${PN}/
-		doins -r "../tensorflow-${PV}-bazel-base/external/FP16/include"/*
-
-		einfo "Installing TF lite libraries"
-		dolib.so bazel-bin/tensorflow/lite/lib${PN}lite.so
-
-		if use label_image; then
-			einfo "Install label_image example"
-			dobin bazel-bin/tensorflow/lite/examples/label_image/label_image
-		fi
-
-		if use benchmark_model; then
-			einfo "Install benchmark_model tool"
-			dobin bazel-bin/tensorflow/lite/tools/benchmark/benchmark_model
-		fi
-
-		if use inference_accuracy_eval; then
-			into /usr/local/
-			einfo "Install inference diff evaluation tool"
-			newbin bazel-bin/tensorflow/lite/tools/evaluation/tasks/inference_diff/run_eval inference_diff_eval
-			einfo "Install object detection evaluation tool"
-			newbin bazel-bin/tensorflow/lite/tools/evaluation/tasks/coco_object_detection/run_eval object_detection_eval
-		fi
-
-		if use xnnpack; then
-			einfo "Installing XNNPACK headers and libs"
-			local bindir="../tensorflow-${PV}-bazel-base/execroot/org_tensorflow/bazel-out/$(get-cpu-str "${CHOST}")-opt/bin/external/"
-			insinto /usr/include/${PN}/xnnpack/
-			doins "../tensorflow-${PV}-bazel-base/external/XNNPACK/include/xnnpack.h"
-			doins "../tensorflow-${PV}-bazel-base/external/pthreadpool/include/pthreadpool.h"
-			dolib.a "${bindir}/clog/libclog.a"
-			dolib.a "${bindir}/cpuinfo/libcpuinfo_impl.pic.a"
-			dolib.a "${bindir}/pthreadpool/libpthreadpool.a"
-			# The lib names vary wildly between amd64 and arm, so
-			# easier just to scan for them rather than explicitly
-			# listing them and switching on ${ARCH}.
-			find "${bindir}/XNNPACK/" -name "*.a" |
-			while read -r i; do
-				dolib.a "${i}"
-			done
-		fi
-
-	fi
-
-	einstalldocs
-}
diff --git a/sci-libs/tensorflow/tensorflow-2.8.0-r9.ebuild b/sci-libs/tensorflow/tensorflow-2.8.0-r9.ebuild
new file mode 120000
index 0000000..52931ec
--- /dev/null
+++ b/sci-libs/tensorflow/tensorflow-2.8.0-r9.ebuild
@@ -0,0 +1 @@
+tensorflow-2.8.0.ebuild
\ No newline at end of file
diff --git a/sci-libs/tensorflow/tensorflow-2.8.0.ebuild b/sci-libs/tensorflow/tensorflow-2.8.0.ebuild
new file mode 100644
index 0000000..4fedc0f
--- /dev/null
+++ b/sci-libs/tensorflow/tensorflow-2.8.0.ebuild
@@ -0,0 +1,421 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_OPTIONAL=1
+PYTHON_COMPAT=( python3_{6,7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+MY_PV=${PV/_rc/-rc}
+MY_P=${PN}-${MY_PV}
+
+# s/bazel/cros-bazel/ instead of bazel to fix downloading dependencies.
+# s/prefix// because ChromeOS doesn't need it.
+inherit cros-bazel distutils-r1 flag-o-matic toolchain-funcs
+
+DESCRIPTION="Computation framework using data flow graphs for scalable machine learning"
+HOMEPAGE="https://www.tensorflow.org/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE="mpi +python xla label_image benchmark_model xnnpack inference_accuracy_eval tflite_custom_ops tflite_opencl_profiling"
+
+# distfiles that bazel uses for the workspace, will be copied to basel-distdir
+bazel_external_uris="
+	https://github.com/bazelbuild/platforms/releases/download/0.0.2/platforms-0.0.2.tar.gz -> bazelbuild-platforms-0.0.2.tar.gz
+	https://github.com/bazelbuild/apple_support/releases/download/0.10.0/apple_support.0.10.0.tar.gz -> bazelbuild-apple_support.0.10.0.tar.gz
+	https://github.com/bazelbuild/bazel-toolchains/archive/dfc67056200b674accd08d8f9a21e328098c07e2.tar.gz -> bazel-toolchains-dfc67056200b674accd08d8f9a21e328098c07e2.tar.gz
+	https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz -> bazel-skylib-1.0.3.tar.gz
+	https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip -> bazelbuild-rules_android-v0.1.1.zip
+	https://github.com/bazelbuild/rules_apple/releases/download/0.31.3/rules_apple.0.31.3.tar.gz -> bazelbuild-rules_apple.0.31.3.tar.gz
+	https://github.com/bazelbuild/rules_cc/archive/40548a2974f1aea06215272d9c2b47a14a24e556.tar.gz -> bazelbuild-rules_cc-40548a2974f1aea06215272d9c2b47a14a24e556.tar.gz
+	https://github.com/bazelbuild/rules_closure/archive/308b05b2419edb5c8ee0471b67a40403df940149.tar.gz -> bazelbuild-rules_closure-308b05b2419edb5c8ee0471b67a40403df940149.tar.gz
+	https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip -> bazelbuild-rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip
+	https://github.com/bazelbuild/rules_swift/releases/download/0.21.0/rules_swift.0.21.0.tar.gz -> bazelbuild-rules_swift.0.21.0.tar.gz
+	https://github.com/bazelbuild/rules_pkg/releases/download/0.2.5/rules_pkg-0.2.5.tar.gz -> bazelbuild-rules_pkg-0.2.5.tar.gz
+	https://github.com/bazelbuild/rules_proto/archive/a0761ed101b939e19d83b2da5f59034bffc19c12.zip -> bazelbuild-rules_proto-a0761ed101b939e19d83b2da5f59034bffc19c12.zip
+	https://github.com/google/farmhash/archive/0d859a811870d10f53a594927d0d0b97573ad06d.tar.gz -> farmhash-0d859a811870d10f53a594927d0d0b97573ad06d.tar.gz
+	https://github.com/google/gemmlowp/archive/fda83bdc38b118cc6b56753bd540caa49e570745.zip -> gemmlowp-fda83bdc38b118cc6b56753bd540caa49e570745.zip
+	https://github.com/google/ruy/archive/e6c1b8dc8a8b00ee74e7268aac8b18d7260ab1ce.zip -> ruy-e6c1b8dc8a8b00ee74e7268aac8b18d7260ab1ce.zip
+	https://github.com/intel/ARM_NEON_2_x86_SSE/archive/1200fe90bb174a6224a525ee60148671a786a71f.tar.gz -> ARM_NEON_2_x86_SSE-1200fe90bb174a6224a525ee60148671a786a71f.tar.gz	https://github.com/googleapis/googleapis/archive/541b1ded4abadcc38e8178680b0677f65594ea6f.zip -> googleapis-541b1ded4abadcc38e8178680b0677f65594ea6f.zip
+	https://github.com/petewarden/OouraFFT/archive/v1.0.tar.gz -> OouraFFT-v1.0.tar.gz
+	https://github.com/pytorch/cpuinfo/archive/5916273f79a21551890fd3d56fc5375a78d1598d.zip -> pytorch-cpuinfo-5916273f79a21551890fd3d56fc5375a78d1598d.zip
+	https://github.com/pytorch/cpuinfo/archive/d5e37adf1406cf899d7d9ec1d317c47506ccb970.tar.gz -> pytorch-cpuinfo-d5e37adf1406cf899d7d9ec1d317c47506ccb970.tar.gz
+	https://github.com/Maratyszcza/FP16/archive/4dfe081cf6bcd15db339cf2680b9281b8451eeb3.zip -> FP16-4dfe081cf6bcd15db339cf2680b9281b8451eeb3.zip
+	https://github.com/Maratyszcza/FXdiv/archive/63058eff77e11aa15bf531df5dd34395ec3017c8.zip -> FXdiv-63058eff77e11aa15bf531df5dd34395ec3017c8.zip
+	https://github.com/Maratyszcza/pthreadpool/archive/b8374f80e42010941bda6c85b0e3f1a1bd77a1e0.zip -> pthreadpool-b8374f80e42010941bda6c85b0e3f1a1bd77a1e0.zip
+	https://github.com/tensorflow/toolchains/archive/v1.3.2.tar.gz -> tensorflow_toolchains_v1.3.2.tar.gz
+	https://github.com/tensorflow/runtime/archive/c3e082762b7664bbc7ffd2c39e86464928e27c0c.tar.gz -> tf_runtime-c3e082762b7664bbc7ffd2c39e86464928e27c0c.tar.gz
+	https://gitlab.com/libeigen/eigen/-/archive/085c2fc5d53f391afcccce21c45e15f61c827ab1/eigen-085c2fc5d53f391afcccce21c45e15f61c827ab1.tar.gz -> eigen-085c2fc5d53f391afcccce21c45e15f61c827ab1.tar.gz
+	https://github.com/KhronosGroup/OpenCL-Headers/archive/0d5f18c6e7196863bc1557a693f1509adfcee056.tar.gz -> OpenCL-Headers-0d5f18c6e7196863bc1557a693f1509adfcee056.tar.gz
+	https://github.com/KhronosGroup/Vulkan-Headers/archive/ec2db85225ab410bc6829251bef6c578aaed5868.tar.gz -> Vulkan-Headers-ec2db85225ab410bc6829251bef6c578aaed5868.tar.gz
+	https://github.com/abseil/abseil-cpp/archive/997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz -> abseil-cpp-997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz
+	https://github.com/google/XNNPACK/archive/113092317754c7dea47bfb3cb49c4f59c3c1fa10.zip -> xnnpack-113092317754c7dea47bfb3cb49c4f59c3c1fa10.zip
+	https://storage.googleapis.com/mirror.tensorflow.org/storage.cloud.google.com/download.tensorflow.org/tflite/hexagon_nn_headers_v1.20.0.3.tgz -> hexagon_nn_headers_v1.20.0.3.tgz
+	https://github.com/google/nsync/archive/1.22.0.tar.gz -> nsync-1.22.0.tar.gz
+	https://github.com/google/re2/archive/506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz -> re2-506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz
+	https://github.com/google/highwayhash/archive/fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz -> highwayhash-fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz
+	https://storage.googleapis.com/mirror.tensorflow.org/pilotfiber.dl.sourceforge.net/project/giflib/giflib-5.2.1.tar.gz -> giflib-5.2.1.tar.gz
+	https://storage.googleapis.com/mirror.tensorflow.org/storage.cloud.google.com/download.tensorflow.org/tflite/hexagon_nn_headers_v1.20.0.9.tgz -> hexagon_nn_headers_v1.20.0.9.tgz
+"
+
+SRC_URI="
+	https://github.com/${PN}/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
+	${bazel_external_uris}
+	"
+
+RDEPEND="
+	x11-drivers/opengles-headers:=
+	virtual/opengles:=
+	>=dev-libs/flatbuffers-1.12.0:=
+	dev-libs/libpcre
+	dev-libs/openssl:0=
+	>=dev-libs/protobuf-3.8.0:=
+	>=dev-libs/re2-0.2019.06.01
+	media-libs/libjpeg-turbo
+	media-libs/libpng:0
+	net-misc/curl
+	sys-libs/zlib
+	mpi? ( virtual/mpi )
+	python? (
+		${PYTHON_DEPS}
+		dev-python/absl-py[${PYTHON_USEDEP}]
+		>=dev-python/astor-0.7.1[${PYTHON_USEDEP}]
+		dev-python/astunparse[${PYTHON_USEDEP}]
+		>=dev-python/gast-0.3.3[${PYTHON_USEDEP}]
+		dev-python/h5py[${PYTHON_USEDEP}]
+		>=dev-python/numpy-1.19[${PYTHON_USEDEP}]
+		>=dev-python/google-pasta-0.1.8[${PYTHON_USEDEP}]
+		dev-python/opt-einsum[${PYTHON_USEDEP}]
+		>=dev-python/protobuf-python-3.8.0[${PYTHON_USEDEP}]
+		dev-python/pybind11[${PYTHON_USEDEP}]
+		dev-python/six[${PYTHON_USEDEP}]
+		dev-python/termcolor[${PYTHON_USEDEP}]
+		>=dev-python/grpcio-1.28[${PYTHON_USEDEP}]
+		>=dev-python/wrapt-1.11.1[${PYTHON_USEDEP}]
+		>=net-libs/google-cloud-cpp-0.10.0
+		>=sci-libs/keras-applications-1.0.8[${PYTHON_USEDEP}]
+		>=sci-libs/keras-preprocessing-1.1.0[${PYTHON_USEDEP}]
+		>=sci-visualization/tensorboard-2.3.0[${PYTHON_USEDEP}]
+		dev-python/dill[${PYTHON_USEDEP}]
+		dev-python/tblib[${PYTHON_USEDEP}]
+	)"
+DEPEND="${RDEPEND}
+	python? (
+		dev-python/mock
+		dev-python/setuptools
+	)"
+PDEPEND="python? (
+		>=sci-libs/tensorflow-estimator-2.3.0[${PYTHON_USEDEP}]
+	)"
+BDEPEND="
+	app-arch/unzip
+	>=dev-libs/protobuf-3.8.0
+	dev-java/java-config
+	dev-lang/swig
+	=dev-util/bazel-4*
+	!python? ( dev-lang/python )
+	python? (
+		dev-python/cython
+		dev-python/mock
+		>=dev-python/grpcio-tools-1.28
+	)"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+PATCHES=(
+	"${FILESDIR}/tensorflow-2.8.0-0001-workspace.patch"
+	"${FILESDIR}/tensorflow-2.8.0-0002-ashmem-create.patch"
+	"${FILESDIR}/tensorflow-2.8.0-0003-nnapi-delegates.patch"
+	"${FILESDIR}/tensorflow-2.8.0-0004-cpuinfo-arm-fix.patch"
+	"${FILESDIR}/tensorflow-2.8.0-0005-gpu.patch"
+	"${FILESDIR}/tensorflow-2.8.0-0006-nnapi-loading-errors.patch"
+	"${FILESDIR}/tensorflow-2.8.0-0007-protobuff-cc-toolchain.patch"
+	"${FILESDIR}/tensorflow-2.8.0-0008-remove-llvm-repo.patch"
+	"${FILESDIR}/tensorflow-2.8.0-0009-resolve-overflow.patch"
+	"${FILESDIR}/tensorflow-2.8.0-0010-resolve-tflite-c-asan.patch"
+)
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( AUTHORS CONTRIBUTING.md ISSUE_TEMPLATE.md README.md RELEASE.md )
+
+# Echos the CPU string that TensorFlow uses to refer to the given architecture.
+get-cpu-str() {
+	local arch
+	arch="$(tc-arch "${1}")"
+
+	case "${arch}" in
+	amd64) echo "k8";;
+	arm) echo "arm";;
+	arm64) echo "aarch64";;
+	*) die "Unsupported architecture '${arch}'."
+	esac
+}
+
+pkg_setup() {
+	local num_pythons_enabled
+	num_pythons_enabled=0
+	count_impls(){
+		num_pythons_enabled=$((num_pythons_enabled + 1))
+	}
+	use python && python_foreach_impl count_impls
+}
+
+src_unpack() {
+	# Only unpack the main distfile
+	unpack "${P}.tar.gz"
+	bazel_load_distfiles "${bazel_external_uris}"
+}
+
+src_prepare() {
+	if use tflite_custom_ops; then
+		PATCHES+=("${FILESDIR}/tensorflow-2.8.0-0011-Convolution2DTransposeBias.patch")
+	fi
+
+	export JAVA_HOME=$(ROOT="${BROOT}" java-config --jdk-home)
+
+	# Relax version checks in setup.py
+	sed -i "/^    '/s/==/>=/g" tensorflow/tools/pip_package/setup.py || die
+
+	bazel_setup_bazelrc
+	bazel_setup_crosstool "$(get-cpu-str "${CBUILD}")" "$(get-cpu-str "${CHOST}")"
+
+	default
+	use python && python_copy_sources
+}
+
+src_configure() {
+	export JAVA_HOME=$(ROOT="${BROOT}" java-config --jdk-home)
+
+	do_configure() {
+		export CC_OPT_FLAGS=" "
+		export TF_ENABLE_XLA=$(usex xla 1 0)
+		export TF_NEED_OPENCL_SYCL=0
+		export TF_NEED_OPENCL=0
+		export TF_NEED_COMPUTECPP=0
+		export TF_NEED_ROCM=0
+		export TF_NEED_MPI=$(usex mpi 1 0)
+		export TF_SET_ANDROID_WORKSPACE=0
+
+		if use python; then
+			export PYTHON_BIN_PATH="${PYTHON}"
+			export PYTHON_LIB_PATH="$(python_get_sitedir)"
+		else
+			export PYTHON_BIN_PATH="$(which python)"
+			export PYTHON_LIB_PATH="$(python -c 'from distutils.sysconfig import *; print(get_python_lib())')"
+		fi
+
+		export TF_NEED_CUDA=0
+		export TF_DOWNLOAD_CLANG=0
+		export TF_CUDA_CLANG=0
+		export TF_NEED_TENSORRT=0
+
+		local SYSLIBS=(
+			absl_py
+			astor_archive
+			astunparse_archive
+			boringssl
+			com_github_googleapis_googleapis
+			com_github_googlecloudplatform_google_cloud_cpp
+			com_github_grpc_grpc
+			com_google_protobuf
+			curl
+			cython
+			dill_archive
+			double_conversion
+			enum34_archive
+			flatbuffers
+			functools32_archive
+			gast_archive
+			hwloc
+			icu
+			jsoncpp_git
+			libjpeg_turbo
+			lmdb
+			nasm
+			opt_einsum_archive
+			org_sqlite
+			pasta
+			pcre
+			png
+			pybind11
+			six_archive
+			snappy
+			swig
+			tblib_archive
+			termcolor_archive
+			wrapt
+			zlib
+		)
+
+		export TF_SYSTEM_LIBS="${SYSLIBS[*]}"
+		export TF_IGNORE_MAX_BAZEL_VERSION=1
+
+		# This is not autoconf
+		./configure || die
+
+		echo 'build --config=noaws --config=nohdfs' >> .bazelrc || die
+		echo 'build --define tensorflow_mkldnn_contraction_kernel=0' >> .bazelrc || die
+
+		# The ruy library is faster than the default libeigen on arm, but
+		# MUCH slower on amd64. See b/178593695 for more discussion.
+		case "${ARCH}" in
+			arm | arm64) echo 'build --define=tflite_with_ruy=true' >> .bazelrc || die ;;
+		esac
+	}
+	if use python; then
+		python_foreach_impl run_in_build_dir do_configure
+	else
+		do_configure
+	fi
+}
+
+src_compile() {
+	export JAVA_HOME=$(ROOT="${BROOT}" java-config --jdk-home)
+
+	if use python; then
+		python_setup
+		BUILD_DIR="${S}-${EPYTHON/./_}"
+		cd "${BUILD_DIR}" || die
+	fi
+
+	local bazel_args=()
+	bazel_args+=("tensorflow/lite:libtensorflowlite.so")
+	bazel_args+=("tensorflow/lite/c:libtensorflowlite_c.so")
+	bazel_args+=("//tensorflow/lite/kernels/internal:install_nnapi_extra_headers")
+	if use label_image; then
+		bazel_args+=("//tensorflow/lite/examples/label_image:label_image")
+	fi
+	# Duplication of the benchmark_model artifacts behind different flags is
+	# done to allow other packages to extract out xnnpack artifacts without
+	# installing benchmark_model
+	if use benchmark_model; then
+		bazel_args+=("//tensorflow/lite/tools/benchmark:benchmark_model")
+	fi
+	if use tflite_opencl_profiling; then
+		bazel_args+=("//tensorflow/lite/delegates/gpu/cl/testing:performance_profiling")
+	fi
+	if use inference_accuracy_eval; then
+		bazel_args+=("//tensorflow/lite/tools/evaluation/tasks/inference_diff:run_eval")
+		bazel_args+=("//tensorflow/lite/tools/evaluation/tasks/coco_object_detection:run_eval")
+	fi
+	if use xnnpack; then
+		bazel_args+=("//tensorflow/lite/tools/benchmark:benchmark_model")
+	fi
+
+	# fail early if any deps are missing
+	ebazel build -k --nobuild "${bazel_args[@]}"
+
+	# build if deps are present
+	ebazel build --copt=-DTFLITE_SUPPORTS_GPU_DELEGATE=1 \
+		--copt=-DEGL_NO_X11 --cxxopt=-std=c++17 \
+		"${bazel_args[@]}"
+
+	do_compile() {
+		ebazel build //tensorflow/tools/pip_package:build_pip_package
+	}
+	BUILD_DIR="${S}"
+	cd "${BUILD_DIR}" || die
+	use python && python_foreach_impl run_in_build_dir do_compile
+	ebazel shutdown
+
+	einfo "Generate pkg-config file"
+	${PN}/c/generate-pc.sh --prefix="${EPREFIX}"/usr --libdir="$(get_libdir)" --version=${MY_PV} || die
+}
+
+src_install() {
+	local i
+	export JAVA_HOME=$(ROOT="${BROOT}" java-config --jdk-home)
+
+	einfo "Installing TF lite headers"
+
+	local HEADERS_TMP
+	HEADERS_TMP="${WORKDIR}/headers_tmp"
+	mkdir -p "${HEADERS_TMP}"
+
+	# From tensorflow/lite/lib_package/create_ios_frameworks.sh
+	find ${PN}/lite -name "*.h" \
+		-not -path "${PN}/lite/tools/*" \
+		-not -path "${PN}/lite/examples/*" \
+		-not -path "${PN}/lite/gen/*" \
+		-not -path "${PN}/lite/toco/*" \
+		-not -path "${PN}/lite/java/*" |
+	while read -r i; do
+		mkdir -p "${HEADERS_TMP}/${i%/*}"
+		cp "${i}" "${HEADERS_TMP}/${i%/*}"
+	done
+
+	insinto "/usr/include/${PN}"
+	doins -r "${HEADERS_TMP}/tensorflow"
+
+	einfo "Installing selected TF core headers"
+	local selected=( lib/bfloat16/bfloat16.h platform/byte_order.h platform/macros.h platform/bfloat16.h )
+	for i in "${selected[@]}"; do
+		insinto "/usr/include/${PN}/${PN}/core/${i%/*}"
+		doins "${PN}/core/${i}"
+	done
+
+	einfo "Installing NNAPI headers"
+	insinto /usr/include/${PN}/nnapi/
+	doins -r bazel-bin/tensorflow/lite/kernels/internal/include
+
+	einfo "Installing ruy headers"
+	insinto /usr/include/${PN}/ruy/
+	doins -r "../tensorflow-${PV}-bazel-base/external/ruy/ruy"/*
+
+	einfo "Installing fp16 headers"
+	insinto /usr/include/${PN}/
+	doins -r "../tensorflow-${PV}-bazel-base/external/FP16/include"/*
+
+	einfo "Installing TF lite libraries"
+	dolib.so bazel-bin/tensorflow/lite/lib${PN}lite.so
+	dolib.so bazel-bin/tensorflow/lite/c/lib${PN}lite_c.so
+
+	if use label_image; then
+		einfo "Install label_image example"
+		dobin bazel-bin/tensorflow/lite/examples/label_image/label_image
+	fi
+
+	if use benchmark_model; then
+		einfo "Install benchmark_model tool"
+		dobin bazel-bin/tensorflow/lite/tools/benchmark/benchmark_model
+	fi
+
+	if use tflite_opencl_profiling; then
+		einfo "Install performance_profiling tool"
+		dobin bazel-bin/tensorflow/lite/delegates/gpu/cl/testing/performance_profiling
+	fi
+
+	if use inference_accuracy_eval; then
+		into /usr/local/
+		einfo "Install inference diff evaluation tool"
+		newbin bazel-bin/tensorflow/lite/tools/evaluation/tasks/inference_diff/run_eval inference_diff_eval
+		einfo "Install object detection evaluation tool"
+		newbin bazel-bin/tensorflow/lite/tools/evaluation/tasks/coco_object_detection/run_eval object_detection_eval
+	fi
+
+	if use xnnpack; then
+		einfo "Installing XNNPACK headers and libs"
+		local bindir="../tensorflow-${PV}-bazel-base/execroot/org_tensorflow/bazel-out/$(get-cpu-str "${CHOST}")-opt/bin/external/"
+		insinto /usr/include/${PN}/xnnpack/
+		doins "../tensorflow-${PV}-bazel-base/external/XNNPACK/include/xnnpack.h"
+		doins "../tensorflow-${PV}-bazel-base/external/pthreadpool/include/pthreadpool.h"
+		dolib.a "${bindir}/clog/libclog.a"
+		dolib.a "${bindir}/cpuinfo/libcpuinfo_impl.pic.a"
+		dolib.a "${bindir}/pthreadpool/libpthreadpool.a"
+		# The lib names vary wildly between amd64 and arm, so
+		# easier just to scan for them rather than explicitly
+		# listing them and switching on ${ARCH}.
+		find "${bindir}/XNNPACK/" -name "*.a" |
+		while read -r i; do
+			dolib.a "${i}"
+		done
+	fi
+
+	einfo "Installing pkg-config file"
+	insinto /usr/"$(get_libdir)"/pkgconfig
+	doins ${PN}.pc ${PN}_cc.pc
+
+	einstalldocs
+}
diff --git a/sys-apps/OWNERS b/sys-apps/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/sys-apps/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/sys-apps/aver-updater/OWNERS b/sys-apps/aver-updater/OWNERS
new file mode 100644
index 0000000..733a8a5
--- /dev/null
+++ b/sys-apps/aver-updater/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/aver-updater:master:/OWNERS
diff --git a/sys-apps/coreboot-utils/coreboot-utils-0.0.1-r5049.ebuild b/sys-apps/coreboot-utils/coreboot-utils-0.0.1-r5049.ebuild
deleted file mode 100644
index 4aac39f..0000000
--- a/sys-apps/coreboot-utils/coreboot-utils-0.0.1-r5049.ebuild
+++ /dev/null
@@ -1,115 +0,0 @@
-# Copyright 2012 The Chromium OS Authors
-# Distributed under the terms of the GNU General Public License v2
-# $Header:
-
-EAPI=7
-CROS_WORKON_COMMIT=("801687b38b1c72e7b8dab2f9ccf5ea0c5e9d5922" "c31013768eb4ed052c54df50c398f70f2d7ef36d")
-CROS_WORKON_TREE=("fa5ebc3604e19f2d17a66ec3c077038298d85b59" "dcb83fabc80ab81194351fbb80e61d666efd7ccd" "b880ad0f9230926427480095481a865626da0590" "7970bef34ce4d0b3023def52ff72e1c4cd2eca85" "0de467a25a3ac1d59c6d3d849ade5536a8d375e1" "59d4004a1a7159d2b81fadd69f6b1996b56dc84e" "8c4bf470fbe310797cf9b09016efcbe8153e8124" "664c26175ad2098e1e83670ab5c33fa35c545f90" "e03866d9ecdf3529248f3d4bd0b63499a092f2c3" "974edbc79de4f730edf8c9d01bc9186f97417f1d" "bfef75f3a17da232f402e1799b42c25c2b1c5176" "6340fb29293d883ab8792c9d2ff249fb14776f2e" "a27ed53001a26a79b37e488a5c291216fadf0117" "0b11630e519f45a76dbef36f38a591aed2c2ad9f" "2e2f24b87140cd3280bde18e487c3261801201f9" "cf8d5ce267a3e2bf19bab13a77a93f674288e054")
-CROS_WORKON_PROJECT=(
-	"chromiumos/third_party/coreboot"
-	"chromiumos/platform/vboot_reference"
-)
-CROS_WORKON_LOCALNAME=(
-	"coreboot"
-	"../platform/vboot_reference"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}"
-	"${S}/3rdparty/vboot"
-)
-CROS_WORKON_EGIT_BRANCH=(
-	"chromeos-2016.05"
-	"main"
-)
-
-# coreboot:src/arch/x85/include/arch: used by inteltool, x86 only
-# coreboot:src/commonlib: used by cbfstool
-# coreboot:src/vendorcode/intel: used by cbfstool
-# coreboot:util/*: tools built by this ebuild
-# vboot: minimum set of files and directories to build vboot_lib for cbfstool
-CROS_WORKON_SUBTREE=(
-	"src/arch/x86/include/arch src/commonlib src/vendorcode/intel util/archive util/cbmem util/cbfstool util/ifdtool util/inteltool util/mma util/nvramtool util/superiotool"
-	"Makefile cgpt host firmware futility"
-)
-
-inherit cros-workon toolchain-funcs
-
-DESCRIPTION="Utilities for modifying coreboot firmware images"
-HOMEPAGE="http://coreboot.org"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-IUSE="cros_host mma +pci static"
-
-LIB_DEPEND="
-	sys-apps/pciutils[static-libs(+)]
-	sys-apps/flashrom
-"
-RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-DEPEND="${RDEPEND}
-	static? ( ${LIB_DEPEND} )
-"
-
-_emake() {
-	emake \
-		TOOLLDFLAGS="${LDFLAGS}" \
-		CC="${CC}" \
-		STRIP="true" \
-		"$@"
-}
-
-src_configure() {
-	use static && append-ldflags -static
-	tc-export CC PKG_CONFIG
-}
-
-is_x86() {
-	use x86 || use amd64
-}
-
-src_compile() {
-	_emake -C util/cbfstool obj="${PWD}/util/cbfstool"
-	if use cros_host; then
-		_emake -C util/archive HOSTCC="${CC}"
-	else
-		_emake -C util/cbmem
-	fi
-	if is_x86; then
-		if use cros_host; then
-			_emake -C util/ifdtool
-		else
-			_emake -C util/superiotool \
-				CONFIG_PCI=$(usex pci)
-			_emake -C util/inteltool
-			_emake -C util/nvramtool
-		fi
-	fi
-}
-
-src_install() {
-	dobin util/cbfstool/cbfstool
-	dobin util/cbfstool/elogtool
-	if use cros_host; then
-		dobin util/cbfstool/fmaptool
-		dobin util/cbfstool/cbfs-compression-tool
-		dobin util/archive/archive
-	else
-		dobin util/cbmem/cbmem
-	fi
-	if is_x86; then
-		if use cros_host; then
-			dobin util/ifdtool/ifdtool
-		else
-			dobin util/superiotool/superiotool
-			dobin util/inteltool/inteltool
-			dobin util/nvramtool/nvramtool
-		fi
-		if use mma; then
-			dobin util/mma/mma_setup_test.sh
-			dobin util/mma/mma_get_result.sh
-			dobin util/mma/mma_automated_test.sh
-			insinto /etc/init
-			doins util/mma/mma.conf
-		fi
-	fi
-}
diff --git a/sys-apps/coreboot-utils/coreboot-utils-0.0.1-r5154.ebuild b/sys-apps/coreboot-utils/coreboot-utils-0.0.1-r5154.ebuild
new file mode 100644
index 0000000..bab9c80
--- /dev/null
+++ b/sys-apps/coreboot-utils/coreboot-utils-0.0.1-r5154.ebuild
@@ -0,0 +1,118 @@
+# Copyright 2012 The Chromium OS Authors
+# Distributed under the terms of the GNU General Public License v2
+# $Header:
+
+EAPI=7
+CROS_WORKON_COMMIT=("6af21b529465ab6795605d1a34b5a6a290fdcc75" "67f613b922e4ccff6019de318c154a377afbe822")
+CROS_WORKON_TREE=("570c0f96fc0f40c1efea939be887766904fb6cc2" "d655cd79d99d3ded805ceeff78942673f10cf6c7" "10dc175f9c062c1b115f630370d38f5588b464e3" "7970bef34ce4d0b3023def52ff72e1c4cd2eca85" "0c986b73d37f2445d8da22b36d806464e83ab756" "5ad4c0df47015eb66961ce2702d4f60383bfbb04" "6d66611ca07b7767233ac20fbcd1faf00eadf744" "e0beed145404b5826408b12c07d14e8efc5e7aa9" "e03866d9ecdf3529248f3d4bd0b63499a092f2c3" "052584a30fcbe73624a942716f00e76fc4724675" "4fdac046899ad0163ad701dbf5ce8f3e3c38269b" "e079d3eec8f1084a402feefd4e235853904b2762" "df906a2f21f08c09eaf16b3685befd6aecbe258a" "27d651612d6d6c19f9c9e64852bd998fbd847677" "733dbb47f240dda5600bb29f014206321f4e6668" "daa8adf3ba58769a28a8c47c5ac5a702979fae66" "da2b86f723785a300042c6ece594dfba80ce9c6a")
+CROS_WORKON_PROJECT=(
+	"chromiumos/third_party/coreboot"
+	"chromiumos/platform/vboot_reference"
+)
+CROS_WORKON_LOCALNAME=(
+	"coreboot"
+	"../platform/vboot_reference"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}"
+	"${S}/3rdparty/vboot"
+)
+CROS_WORKON_EGIT_BRANCH=(
+	"chromeos-2016.05"
+	"main"
+)
+
+# coreboot:src/arch/x85/include/arch: used by inteltool, x86 only
+# coreboot:src/commonlib: used by cbfstool
+# coreboot:src/vendorcode/intel: used by cbfstool
+# coreboot:util/*: tools built by this ebuild
+# vboot: minimum set of files and directories to build vboot_lib for cbfstool
+CROS_WORKON_SUBTREE=(
+	"src/arch/x86/include/arch src/commonlib src/vendorcode/intel util/archive util/cbmem util/cbfstool util/ifdtool util/inteltool util/mma util/nvramtool util/superiotool util/amdfwtool"
+	"Makefile cgpt host firmware futility"
+)
+
+inherit cros-workon toolchain-funcs cros-sanitizers
+
+DESCRIPTION="Utilities for modifying coreboot firmware images"
+HOMEPAGE="http://coreboot.org"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+IUSE="cros_host mma +pci static"
+
+LIB_DEPEND="
+	sys-apps/pciutils[static-libs(+)]
+	sys-apps/flashrom
+"
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+DEPEND="${RDEPEND}
+	static? ( ${LIB_DEPEND} )
+"
+
+_emake() {
+	emake \
+		TOOLLDFLAGS="${LDFLAGS}" \
+		CC="${CC}" \
+		STRIP="true" \
+		"$@"
+}
+
+src_configure() {
+	sanitizers-setup-env
+	use static && append-ldflags -static
+	tc-export CC PKG_CONFIG
+}
+
+is_x86() {
+	use x86 || use amd64
+}
+
+src_compile() {
+	_emake -C util/cbfstool obj="${PWD}/util/cbfstool"
+	if use cros_host; then
+		_emake -C util/archive HOSTCC="${CC}"
+	else
+		_emake -C util/cbmem
+	fi
+	if is_x86; then
+		if use cros_host; then
+			_emake -C util/ifdtool
+			_emake -C util/amdfwtool
+		else
+			_emake -C util/superiotool \
+				CONFIG_PCI=$(usex pci)
+			_emake -C util/inteltool
+			_emake -C util/nvramtool
+		fi
+	fi
+}
+
+src_install() {
+	dobin util/cbfstool/cbfstool
+	dobin util/cbfstool/elogtool
+	if use cros_host; then
+		dobin util/cbfstool/fmaptool
+		dobin util/cbfstool/cbfs-compression-tool
+		dobin util/archive/archive
+	else
+		dobin util/cbmem/cbmem
+	fi
+	if is_x86; then
+		if use cros_host; then
+			dobin util/ifdtool/ifdtool
+			dobin util/amdfwtool/amdfwread
+		else
+			dobin util/superiotool/superiotool
+			dobin util/inteltool/inteltool
+			dobin util/nvramtool/nvramtool
+		fi
+		if use mma; then
+			dobin util/mma/mma_setup_test.sh
+			dobin util/mma/mma_get_result.sh
+			dobin util/mma/mma_automated_test.sh
+			insinto /etc/init
+			doins util/mma/mma.conf
+		fi
+	fi
+}
diff --git a/sys-apps/coreboot-utils/coreboot-utils-9999.ebuild b/sys-apps/coreboot-utils/coreboot-utils-9999.ebuild
index 5c054da..9182e9b 100644
--- a/sys-apps/coreboot-utils/coreboot-utils-9999.ebuild
+++ b/sys-apps/coreboot-utils/coreboot-utils-9999.ebuild
@@ -26,11 +26,11 @@
 # coreboot:util/*: tools built by this ebuild
 # vboot: minimum set of files and directories to build vboot_lib for cbfstool
 CROS_WORKON_SUBTREE=(
-	"src/arch/x86/include/arch src/commonlib src/vendorcode/intel util/archive util/cbmem util/cbfstool util/ifdtool util/inteltool util/mma util/nvramtool util/superiotool"
+	"src/arch/x86/include/arch src/commonlib src/vendorcode/intel util/archive util/cbmem util/cbfstool util/ifdtool util/inteltool util/mma util/nvramtool util/superiotool util/amdfwtool"
 	"Makefile cgpt host firmware futility"
 )
 
-inherit cros-workon toolchain-funcs
+inherit cros-workon toolchain-funcs cros-sanitizers
 
 DESCRIPTION="Utilities for modifying coreboot firmware images"
 HOMEPAGE="http://coreboot.org"
@@ -57,6 +57,7 @@
 }
 
 src_configure() {
+	sanitizers-setup-env
 	use static && append-ldflags -static
 	tc-export CC PKG_CONFIG
 }
@@ -75,6 +76,7 @@
 	if is_x86; then
 		if use cros_host; then
 			_emake -C util/ifdtool
+			_emake -C util/amdfwtool
 		else
 			_emake -C util/superiotool \
 				CONFIG_PCI=$(usex pci)
@@ -97,6 +99,7 @@
 	if is_x86; then
 		if use cros_host; then
 			dobin util/ifdtool/ifdtool
+			dobin util/amdfwtool/amdfwread
 		else
 			dobin util/superiotool/superiotool
 			dobin util/inteltool/inteltool
diff --git a/sys-apps/daisydog/OWNERS b/sys-apps/daisydog/OWNERS
new file mode 100644
index 0000000..f543682
--- /dev/null
+++ b/sys-apps/daisydog/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/daisydog:/OWNERS
diff --git a/sys-apps/em100/em100-0.0.1-r60.ebuild b/sys-apps/em100/em100-0.0.1-r60.ebuild
deleted file mode 100644
index 66205ef..0000000
--- a/sys-apps/em100/em100-0.0.1-r60.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI="4"
-CROS_WORKON_COMMIT="62df8620590cb363f6c283a84ac8c1cdd80b29ce"
-CROS_WORKON_TREE="8c3294162328c3ad109b87fab236c1edd406a5e1"
-CROS_WORKON_PROJECT="chromiumos/third_party/em100"
-
-inherit cros-workon toolchain-funcs
-
-DESCRIPTION="A simple utility to control a Dediprog EM100pro from Linux"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-DEPEND="virtual/libusb:1"
-RDEPEND="${DEPEND}"
-
-src_compile() {
-	tc-export CC PKG_CONFIG
-
-	emake
-}
-
-src_install() {
-	dosbin em100
-}
diff --git a/sys-apps/em100/em100-0.0.1-r62.ebuild b/sys-apps/em100/em100-0.0.1-r62.ebuild
new file mode 100644
index 0000000..77cb930
--- /dev/null
+++ b/sys-apps/em100/em100-0.0.1-r62.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="4"
+CROS_WORKON_COMMIT="a1d938f8b4253c76fb31e69de33266cb71bda141"
+CROS_WORKON_TREE="e974868edf39e05cf8c1230fc0bdaf6e928f6922"
+CROS_WORKON_PROJECT="chromiumos/third_party/em100"
+
+inherit cros-workon toolchain-funcs
+
+DESCRIPTION="A simple utility to control a Dediprog EM100pro from Linux"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+DEPEND="virtual/libusb:1"
+RDEPEND="${DEPEND}"
+
+src_compile() {
+	tc-export CC PKG_CONFIG
+
+	emake
+}
+
+src_install() {
+	dosbin em100
+}
diff --git a/sys-apps/etphidiap/Manifest b/sys-apps/etphidiap/Manifest
index 1c7601e..d19fa21 100644
--- a/sys-apps/etphidiap/Manifest
+++ b/sys-apps/etphidiap/Manifest
@@ -1 +1 @@
-DIST etphidiap-1.9.tar.gz 15038 BLAKE2B 4da6a809586e332ab3a691c581817e4e190f52ed676f9ea3a65e4378189fc04de503c4005f4f8c5f458eb6d1d2d43cded4d5c233fd667e6ec07c8d176b4084ff SHA512 b7832c53e0f3fd501ee571853b048687f9c1cecf6d89f372880478fd867ae6d123140faec4fad2af14d6a342e52647bb144bb14df94c47c5f44c33aa4fdeb91d
+DIST etphidiap-2.0.tar.gz 16154 BLAKE2B 35b464d94668bf112f31e33e9a2384eeafbbf78ca61b7964922b037fd40fd1777d13f7f9377c1a548925eedb5545e7a22b2705c34275a7158ebaf5c83f6599d5 SHA512 a9e006f4df7b0a5350ee9dc0a1882388d340bd28101330075eaff58b545e51891723e41a5a3299d3e7dfb3ada01bcad9d1964f13e7c8163f1c55e49513edd534
diff --git a/sys-apps/etphidiap/etphidiap-1.9-r1.ebuild b/sys-apps/etphidiap/etphidiap-2.0-r1.ebuild
similarity index 100%
rename from sys-apps/etphidiap/etphidiap-1.9-r1.ebuild
rename to sys-apps/etphidiap/etphidiap-2.0-r1.ebuild
diff --git a/sys-apps/fitpicker/OWNERS b/sys-apps/fitpicker/OWNERS
new file mode 100644
index 0000000..6c4fc34
--- /dev/null
+++ b/sys-apps/fitpicker/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/fitpicker/OWNERS
diff --git a/sys-apps/fitpicker/files/revision_bump b/sys-apps/fitpicker/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/sys-apps/fitpicker/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/sys-apps/fitpicker/fitpicker-0.0.1-r2165.ebuild b/sys-apps/fitpicker/fitpicker-0.0.1-r2165.ebuild
deleted file mode 100644
index 14b625a..0000000
--- a/sys-apps/fitpicker/fitpicker-0.0.1-r2165.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-CROS_WORKON_COMMIT="f35f2919309cf11b0ddd9deb24a6b145d40d9254"
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "4ece3f8f3d85b6237e276452a02c7c6044463211" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="../platform2"
-CROS_WORKON_DESTDIR="${S}"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk fitpicker .gn"
-
-PLATFORM_SUBDIR="fitpicker"
-
-inherit cros-workon platform
-
-DESCRIPTION="Utility for picking a kernel/device tree from a FIT image."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/fitpicker/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND=">=sys-apps/dtc-1.4.1"
-DEPEND="${RDEPEND}"
-
-src_install() {
-	dobin "${OUT}"/fitpicker
-}
diff --git a/sys-apps/fitpicker/fitpicker-0.0.1-r2223.ebuild b/sys-apps/fitpicker/fitpicker-0.0.1-r2223.ebuild
new file mode 100644
index 0000000..188b573
--- /dev/null
+++ b/sys-apps/fitpicker/fitpicker-0.0.1-r2223.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "4ece3f8f3d85b6237e276452a02c7c6044463211" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="../platform2"
+CROS_WORKON_DESTDIR="${S}"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk fitpicker .gn"
+
+PLATFORM_SUBDIR="fitpicker"
+
+inherit cros-workon platform
+
+DESCRIPTION="Utility for picking a kernel/device tree from a FIT image."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/fitpicker/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND=">=sys-apps/dtc-1.4.1"
+DEPEND="${RDEPEND}"
+
+src_install() {
+	dobin "${OUT}"/fitpicker
+}
diff --git a/sys-apps/fitpicker/fitpicker-9999.ebuild b/sys-apps/fitpicker/fitpicker-9999.ebuild
index fd425f8..1577f5c 100644
--- a/sys-apps/fitpicker/fitpicker-9999.ebuild
+++ b/sys-apps/fitpicker/fitpicker-9999.ebuild
@@ -14,7 +14,7 @@
 inherit cros-workon platform
 
 DESCRIPTION="Utility for picking a kernel/device tree from a FIT image."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/fitpicker/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/fitpicker/"
 SRC_URI=""
 
 LICENSE="BSD-Google"
diff --git a/sys-apps/flashmap/OWNERS b/sys-apps/flashmap/OWNERS
new file mode 100644
index 0000000..839d537
--- /dev/null
+++ b/sys-apps/flashmap/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/flashmap:master:/OWNERS
diff --git a/sys-apps/flashmap/flashmap-0.3-r36.ebuild b/sys-apps/flashmap/flashmap-0.3-r36.ebuild
deleted file mode 100644
index 4b7aeab..0000000
--- a/sys-apps/flashmap/flashmap-0.3-r36.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2011 The Chromium OS Authors
-# Distributed under the terms of the GNU General Public License v2
-# $Header:
-
-EAPI=7
-CROS_WORKON_COMMIT="9c71c8331ad52a11d29496ffb10cbdb1a51e2ccb"
-CROS_WORKON_TREE="63eebcb098106693e29bbce840fedce94e297da6"
-CROS_WORKON_PROJECT="chromiumos/third_party/flashmap"
-
-PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} )
-
-inherit cros-workon toolchain-funcs python-r1
-
-DESCRIPTION="Utility for manipulating firmware ROM mapping data structure"
-HOMEPAGE="http://flashmap.googlecode.com"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="python"
-
-RDEPEND="python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}"
-
-# Disable unit testing for now because one of the test cases for detecting
-# buffer overflow causes emake to fail when fmap_test is run.
-# RESTRICT="test" will override FEATURES="test" and will also cause
-# src_test() to be ignored by relevant scripts.
-RESTRICT="test"
-
-src_configure() {
-	tc-export AR CC LD NM STRIP OBJCOPY
-}
-
-src_test() {
-	# default "test" target uses lcov, so "test_only" was added to only
-	# build and run the test without generating coverage statistics
-	emake test_only
-}
-
-src_install() {
-	emake LIBDIR=$(get_libdir) DESTDIR="${D}" USE_PKG_CONFIG=1 install
-
-	if use python; then
-		install_python() {
-			insinto "$(python_get_sitedir)"
-			doins "fmap.py"
-		}
-		python_foreach_impl install_python
-	fi
-}
diff --git a/sys-apps/flashmap/flashmap-0.3-r37.ebuild b/sys-apps/flashmap/flashmap-0.3-r37.ebuild
new file mode 100644
index 0000000..d42fdbb
--- /dev/null
+++ b/sys-apps/flashmap/flashmap-0.3-r37.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2011 The Chromium OS Authors
+# Distributed under the terms of the GNU General Public License v2
+# $Header:
+
+EAPI=7
+CROS_WORKON_COMMIT="9c71c8331ad52a11d29496ffb10cbdb1a51e2ccb"
+CROS_WORKON_TREE="63eebcb098106693e29bbce840fedce94e297da6"
+CROS_WORKON_PROJECT="chromiumos/third_party/flashmap"
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-workon toolchain-funcs python-r1
+
+DESCRIPTION="Utility for manipulating firmware ROM mapping data structure"
+HOMEPAGE="http://flashmap.googlecode.com"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="python"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}"
+
+# Disable unit testing for now because one of the test cases for detecting
+# buffer overflow causes emake to fail when fmap_test is run.
+# RESTRICT="test" will override FEATURES="test" and will also cause
+# src_test() to be ignored by relevant scripts.
+RESTRICT="test"
+
+src_configure() {
+	tc-export AR CC LD NM STRIP OBJCOPY
+}
+
+src_test() {
+	# default "test" target uses lcov, so "test_only" was added to only
+	# build and run the test without generating coverage statistics
+	emake test_only
+}
+
+src_install() {
+	emake LIBDIR=$(get_libdir) DESTDIR="${D}" USE_PKG_CONFIG=1 install
+
+	if use python; then
+		install_python() {
+			insinto "$(python_get_sitedir)"
+			doins "fmap.py"
+		}
+		python_foreach_impl install_python
+	fi
+}
diff --git a/sys-apps/flashmap/flashmap-9999.ebuild b/sys-apps/flashmap/flashmap-9999.ebuild
index 24406b7..36959c5 100644
--- a/sys-apps/flashmap/flashmap-9999.ebuild
+++ b/sys-apps/flashmap/flashmap-9999.ebuild
@@ -5,7 +5,7 @@
 EAPI=7
 CROS_WORKON_PROJECT="chromiumos/third_party/flashmap"
 
-PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} )
+PYTHON_COMPAT=( python3_{6..9} )
 
 inherit cros-workon toolchain-funcs python-r1
 
diff --git a/sys-apps/flashrom-tester/OWNERS b/sys-apps/flashrom-tester/OWNERS
new file mode 100644
index 0000000..f969fac8
--- /dev/null
+++ b/sys-apps/flashrom-tester/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/flashrom:master:/OWNERS
diff --git a/sys-apps/flashrom-tester/flashrom-tester-1.6.0-r61.ebuild b/sys-apps/flashrom-tester/flashrom-tester-1.6.0-r61.ebuild
deleted file mode 100644
index 48a2699..0000000
--- a/sys-apps/flashrom-tester/flashrom-tester-1.6.0-r61.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="fa6000f0b87743b1d677932ee4a0d194ca30603e"
-CROS_WORKON_TREE="df562b4b036369f781d6ce60899c4bb44e7f9b61"
-CROS_RUST_SUBDIR="util/flashrom_tester"
-
-CROS_WORKON_USE_VCSID="1"
-CROS_WORKON_PROJECT="chromiumos/third_party/flashrom"
-CROS_WORKON_EGIT_BRANCH="master"
-CROS_WORKON_LOCALNAME="flashrom"
-CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
-
-inherit cros-workon cros-rust
-
-DESCRIPTION="Utility for AVL qualification of SPI flash chips with flashrom"
-HOMEPAGE="https://www.flashrom.org/Flashrom"
-
-LICENSE="GPL-2"
-KEYWORDS="*"
-DEPEND="=dev-rust/rand-0.6*:=
-	=dev-rust/chrono-0.4*:=
-	=dev-rust/clap-2.33*:=
-	=dev-rust/libc-0.2*:=
-	=dev-rust/log-0.4*:=
-	=dev-rust/built-0.3*:=
-	=dev-rust/sys-info-0.5.7:=
-	=dev-rust/serde_json-1*:=
-"
-
-RDEPEND="!<=sys-apps/flashrom-tester-1.60-r41"
-
-src_compile() {
-	# Override HOST_CFLAGS so that build dependencies use the correct
-	# flags on cross-compiled targets using cc-rs.
-	tc-export_build_env
-	export HOST_CFLAGS="${BUILD_CFLAGS}"
-	ecargo_build
-	if use test; then
-		ecargo_test --no-run --workspace
-	fi
-}
-
-src_test() {
-	cros-rust_src_test --workspace
-}
-
-src_install() {
-	dobin "$(cros-rust_get_build_dir)/flashrom_tester"
-}
diff --git a/sys-apps/flashrom-tester/flashrom-tester-1.6.0-r71.ebuild b/sys-apps/flashrom-tester/flashrom-tester-1.6.0-r71.ebuild
new file mode 100644
index 0000000..5a8e18d
--- /dev/null
+++ b/sys-apps/flashrom-tester/flashrom-tester-1.6.0-r71.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="da7cbb710a09ef06491459e8b99d8e0d68435d36"
+CROS_WORKON_TREE="7d631aa30921a8fe5909f6f001feea129849c8c6"
+CROS_RUST_SUBDIR="util/flashrom_tester"
+
+CROS_WORKON_USE_VCSID="1"
+CROS_WORKON_PROJECT="chromiumos/third_party/flashrom"
+CROS_WORKON_EGIT_BRANCH="master"
+CROS_WORKON_LOCALNAME="flashrom"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
+
+inherit cros-workon cros-rust
+
+DESCRIPTION="Utility for AVL qualification of SPI flash chips with flashrom"
+HOMEPAGE="https://www.flashrom.org/Flashrom"
+
+LICENSE="GPL-2"
+KEYWORDS="*"
+DEPEND="=dev-rust/rand-0.6*:=
+	=dev-rust/chrono-0.4*:=
+	=dev-rust/clap-2.33*:=
+	=dev-rust/libc-0.2*:=
+	=dev-rust/log-0.4*:=
+	=dev-rust/built-0.5*:=
+	=dev-rust/sys-info-0.9.1:=
+	=dev-rust/serde_json-1*:=
+"
+
+RDEPEND="!<=sys-apps/flashrom-tester-1.60-r41"
+
+src_compile() {
+	# Override HOST_CFLAGS so that build dependencies use the correct
+	# flags on cross-compiled targets using cc-rs.
+	tc-export_build_env
+	# ignore missing BUILD_CFLAGS definition lint
+	# shellcheck disable=2154
+	export HOST_CFLAGS="${BUILD_CFLAGS}"
+	ecargo_build
+	if use test; then
+		ecargo_test --no-run --workspace
+	fi
+}
+
+src_test() {
+	cros-rust_src_test --workspace
+}
+
+src_install() {
+	dobin "$(cros-rust_get_build_dir)/flashrom_tester"
+}
diff --git a/sys-apps/flashrom-tester/flashrom-tester-9999.ebuild b/sys-apps/flashrom-tester/flashrom-tester-9999.ebuild
index f5477f5..62f07ee 100644
--- a/sys-apps/flashrom-tester/flashrom-tester-9999.ebuild
+++ b/sys-apps/flashrom-tester/flashrom-tester-9999.ebuild
@@ -23,8 +23,8 @@
 	=dev-rust/clap-2.33*:=
 	=dev-rust/libc-0.2*:=
 	=dev-rust/log-0.4*:=
-	=dev-rust/built-0.3*:=
-	=dev-rust/sys-info-0.5.7:=
+	=dev-rust/built-0.5*:=
+	=dev-rust/sys-info-0.9.1:=
 	=dev-rust/serde_json-1*:=
 "
 
@@ -34,6 +34,8 @@
 	# Override HOST_CFLAGS so that build dependencies use the correct
 	# flags on cross-compiled targets using cc-rs.
 	tc-export_build_env
+	# ignore missing BUILD_CFLAGS definition lint
+	# shellcheck disable=2154
 	export HOST_CFLAGS="${BUILD_CFLAGS}"
 	ecargo_build
 	if use test; then
diff --git a/sys-apps/flashrom/OWNERS b/sys-apps/flashrom/OWNERS
index f0f168f..f969fac8 100644
--- a/sys-apps/flashrom/OWNERS
+++ b/sys-apps/flashrom/OWNERS
@@ -1 +1 @@
-include chromiumos/third_party/flashrom:/OWNERS
+include chromiumos/third_party/flashrom:master:/OWNERS
diff --git a/sys-apps/flashrom/flashrom-0.9.9-r1325.ebuild b/sys-apps/flashrom/flashrom-0.9.9-r1325.ebuild
deleted file mode 100644
index 83e745b..0000000
--- a/sys-apps/flashrom/flashrom-0.9.9-r1325.ebuild
+++ /dev/null
@@ -1,157 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/flashrom/flashrom-0.9.4.ebuild,v 1.5 2011/09/20 16:03:21 nativemad Exp $
-
-EAPI=7
-CROS_WORKON_COMMIT="9672e9ba8c3fc1707ba48fd05e929003ad9616fb"
-CROS_WORKON_TREE="5a60c363e12b02c9469c86a63211fe4337a3164e"
-CROS_WORKON_PROJECT="chromiumos/third_party/flashrom"
-CROS_WORKON_EGIT_BRANCH="master"
-
-inherit cros-workon toolchain-funcs meson cros-sanitizers
-
-DESCRIPTION="Utility for reading, writing, erasing and verifying flash ROM chips"
-HOMEPAGE="https://flashrom.org/"
-#SRC_URI="http://download.flashrom.org/releases/${P}.tar.bz2"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="
-	atahpt
-	atapromise
-	+atavia
-	+buspirate_spi
-	+ch341a_spi
-	dediprog
-	+developerbox_spi
-	+digilent_spi
-	+drkaiser
-	+dummy
-	ene_lpc
-	+ft2232_spi
-	+gfxnvidia
-	+internal
-	+it8212
-	jlink_spi
-	+linux_mtd
-	+linux_spi
-	+lspcon_i2c_spi
-	mec1308
-	mstarddc_spi
-	+nic3com
-	+nicintel
-	+nicintel_eeprom
-	+nicintel_spi
-	+nicnatsemi
-	+nicrealtek
-	+ogp_spi
-	+pickit2_spi
-	+pony_spi
-	+raiden_debug_spi
-	+rayer_spi
-	+realtek_mst_i2c_spi
-	+satasii
-	+satamv
-	+serprog static
-	+stlinkv3_spi
-	test
-	+usbblaster_spi
-	+wiki
-"
-
-LIB_DEPEND="
-	atahpt? ( sys-apps/pciutils[static-libs(+)] )
-	atapromise? ( sys-apps/pciutils[static-libs(+)] )
-	atavia? ( sys-apps/pciutils[static-libs(+)] )
-	ch341a_spi? ( virtual/libusb:1[static-libs(+)] )
-	dediprog? ( virtual/libusb:1[static-libs(+)] )
-	developerbox_spi? ( virtual/libusb:1[static-libs(+)] )
-	digilent_spi? ( virtual/libusb:1[static-libs(+)] )
-	drkaiser? ( sys-apps/pciutils[static-libs(+)] )
-	ft2232_spi? ( dev-embedded/libftdi:=[static-libs(+)] )
-	gfxnvidia? ( sys-apps/pciutils[static-libs(+)] )
-	internal? ( sys-apps/pciutils[static-libs(+)] )
-	it8212? ( sys-apps/pciutils[static-libs(+)] )
-	jlink_spi? ( dev-embedded/libjaylink[static-libs(+)] )
-	nic3com? ( sys-apps/pciutils[static-libs(+)] )
-	nicintel_eeprom? ( sys-apps/pciutils[static-libs(+)] )
-	nicintel_spi? ( sys-apps/pciutils[static-libs(+)] )
-	nicintel? ( sys-apps/pciutils[static-libs(+)] )
-	nicnatsemi? ( sys-apps/pciutils[static-libs(+)] )
-	nicrealtek? ( sys-apps/pciutils[static-libs(+)] )
-	raiden_debug_spi? ( virtual/libusb:1[static-libs(+)] )
-	ogp_spi? ( sys-apps/pciutils[static-libs(+)] )
-	pickit2_spi? ( virtual/libusb:0[static-libs(+)] )
-	rayer_spi? ( sys-apps/pciutils[static-libs(+)] )
-	satamv? ( sys-apps/pciutils[static-libs(+)] )
-	satasii? ( sys-apps/pciutils[static-libs(+)] )
-	stlinkv3_spi? ( virtual/libusb:1[static-libs(+)] )
-	usbblaster_spi? ( dev-embedded/libftdi:1=[static-libs(+)] )
-"
-RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-DEPEND="${RDEPEND}
-	static? ( ${LIB_DEPEND} )
-	test? ( dev-util/cmocka )"
-RDEPEND+=" internal? ( sys-apps/dmidecode )"
-
-BDEPEND="sys-apps/diffutils"
-
-DOCS=( README.chromiumos Documentation/ )
-
-src_configure() {
-	local emesonargs=(
-		-Ddefault_library="$(usex static static shared)"
-		-Ddefault_programmer_name=internal
-		$(meson_use atahpt config_atahpt)
-		$(meson_use atapromise config_atapromise)
-		$(meson_use atavia config_atavia)
-		$(meson_use buspirate_spi config_buspirate_spi)
-		$(meson_use ch341a_spi config_ch341a_spi)
-		$(meson_use dediprog config_dediprog)
-		$(meson_use developerbox_spi config_developerbox_spi)
-		$(meson_use digilent_spi config_digilent_spi)
-		$(meson_use drkaiser config_drkaiser)
-		$(meson_use dummy config_dummy)
-		$(meson_use ene_lpc config_ene_lpc)
-		$(meson_use ft2232_spi config_ft2232_spi)
-		$(meson_use gfxnvidia config_gfxnvidia)
-		$(meson_use internal config_internal)
-		$(meson_use it8212 config_it8212)
-		$(meson_use jlink_spi config_jlink_spi)
-		$(meson_use linux_mtd config_linux_mtd)
-		$(meson_use linux_spi config_linux_spi)
-		$(meson_use lspcon_i2c_spi config_lspcon_i2c_spi)
-		$(meson_use mec1308 config_mec1308)
-		$(meson_use mstarddc_spi config_mstarddc_spi)
-		$(meson_use nic3com config_nic3com)
-		$(meson_use nicintel_eeprom config_nicintel_eeprom)
-		$(meson_use nicintel_spi config_nicintel_spi)
-		$(meson_use nicintel config_nicintel)
-		$(meson_use nicnatsemi config_nicnatsemi)
-		$(meson_use nicrealtek config_nicrealtek)
-		$(meson_use ogp_spi config_ogp_spi)
-		$(meson_use pickit2_spi config_pickit2_spi)
-		$(meson_use pony_spi config_pony_spi)
-		$(meson_use raiden_debug_spi config_raiden_debug_spi)
-		$(meson_use rayer_spi config_rayer_spi)
-		$(meson_use realtek_mst_i2c_spi config_realtek_mst_i2c_spi)
-		$(meson_use satamv config_satamv)
-		$(meson_use satasii config_satasii)
-		$(meson_use serprog config_serprog)
-		$(meson_use stlinkv3_spi config_stlinkv3_spi)
-		$(meson_use usbblaster_spi config_usbblaster_spi)
-		$(meson_use wiki print_wiki)
-	)
-	sanitizers-setup-env
-	meson_src_configure
-}
-
-src_install() {
-	meson_src_install
-}
-
-src_test() {
-	meson_src_test
-}
diff --git a/sys-apps/flashrom/flashrom-0.9.9-r1448.ebuild b/sys-apps/flashrom/flashrom-0.9.9-r1448.ebuild
new file mode 100644
index 0000000..016f1a9
--- /dev/null
+++ b/sys-apps/flashrom/flashrom-0.9.9-r1448.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/flashrom/flashrom-0.9.4.ebuild,v 1.5 2011/09/20 16:03:21 nativemad Exp $
+
+EAPI=7
+CROS_WORKON_COMMIT="da7cbb710a09ef06491459e8b99d8e0d68435d36"
+CROS_WORKON_TREE="c728b3adc980de982afc0bf80d1c475e24853beb"
+CROS_WORKON_PROJECT="chromiumos/third_party/flashrom"
+CROS_WORKON_EGIT_BRANCH="master"
+
+inherit cros-workon toolchain-funcs meson cros-sanitizers
+
+DESCRIPTION="Utility for reading, writing, erasing and verifying flash ROM chips"
+HOMEPAGE="https://flashrom.org/"
+#SRC_URI="http://download.flashrom.org/releases/${P}.tar.bz2"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="
+	atahpt
+	atapromise
+	atavia
+	buspirate_spi
+	ch341a_spi
+	dediprog
+	developerbox_spi
+	digilent_spi
+	drkaiser
+	+dummy
+	+ft2232_spi
+	gfxnvidia
+	+internal
+	+it8212
+	jlink_spi
+	+linux_mtd
+	+linux_spi
+	+mediatek_i2c_spi
+	mstarddc_spi
+	nic3com
+	nicintel
+	nicintel_eeprom
+	nicintel_spi
+	nicnatsemi
+	nicrealtek
+	ogp_spi
+	+parade_lspcon
+	pickit2_spi
+	pony_spi
+	+raiden_debug_spi
+	rayer_spi
+	+realtek_mst_i2c_spi
+	satasii
+	satamv
+	+serprog static
+	+stlinkv3_spi
+	test
+	+usbblaster_spi
+	+wiki
+"
+
+LIB_DEPEND="
+	atahpt? ( sys-apps/pciutils[static-libs(+)] )
+	atapromise? ( sys-apps/pciutils[static-libs(+)] )
+	atavia? ( sys-apps/pciutils[static-libs(+)] )
+	chromeos-base/libec:=[static-libs(+)]
+	ch341a_spi? ( virtual/libusb:1[static-libs(+)] )
+	dediprog? ( virtual/libusb:1[static-libs(+)] )
+	developerbox_spi? ( virtual/libusb:1[static-libs(+)] )
+	digilent_spi? ( virtual/libusb:1[static-libs(+)] )
+	drkaiser? ( sys-apps/pciutils[static-libs(+)] )
+	ft2232_spi? ( dev-embedded/libftdi:=[static-libs(+)] )
+	gfxnvidia? ( sys-apps/pciutils[static-libs(+)] )
+	internal? ( sys-apps/pciutils[static-libs(+)] )
+	it8212? ( sys-apps/pciutils[static-libs(+)] )
+	jlink_spi? ( dev-embedded/libjaylink[static-libs(+)] )
+	nic3com? ( sys-apps/pciutils[static-libs(+)] )
+	nicintel_eeprom? ( sys-apps/pciutils[static-libs(+)] )
+	nicintel_spi? ( sys-apps/pciutils[static-libs(+)] )
+	nicintel? ( sys-apps/pciutils[static-libs(+)] )
+	nicnatsemi? ( sys-apps/pciutils[static-libs(+)] )
+	nicrealtek? ( sys-apps/pciutils[static-libs(+)] )
+	raiden_debug_spi? ( virtual/libusb:1[static-libs(+)] )
+	ogp_spi? ( sys-apps/pciutils[static-libs(+)] )
+	pickit2_spi? ( virtual/libusb:0[static-libs(+)] )
+	rayer_spi? ( sys-apps/pciutils[static-libs(+)] )
+	satamv? ( sys-apps/pciutils[static-libs(+)] )
+	satasii? ( sys-apps/pciutils[static-libs(+)] )
+	stlinkv3_spi? ( virtual/libusb:1[static-libs(+)] )
+	usbblaster_spi? ( dev-embedded/libftdi:1=[static-libs(+)] )
+"
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+DEPEND="${RDEPEND}
+	static? ( ${LIB_DEPEND} )
+	test? ( dev-util/cmocka )"
+RDEPEND+=" internal? ( sys-apps/dmidecode )"
+
+BDEPEND="sys-apps/diffutils"
+
+DOCS=( README.chromiumos Documentation/ )
+
+src_configure() {
+	local emesonargs=(
+		-Ddefault_library="$(usex static static shared)"
+		-Ddefault_programmer_name=internal
+		$(meson_use atahpt config_atahpt)
+		$(meson_use atapromise config_atapromise)
+		$(meson_use atavia config_atavia)
+		$(meson_use buspirate_spi config_buspirate_spi)
+		$(meson_use ch341a_spi config_ch341a_spi)
+		$(meson_use dediprog config_dediprog)
+		$(meson_use developerbox_spi config_developerbox_spi)
+		$(meson_use digilent_spi config_digilent_spi)
+		$(meson_use drkaiser config_drkaiser)
+		$(meson_use dummy config_dummy)
+		$(meson_use ft2232_spi config_ft2232_spi)
+		$(meson_use gfxnvidia config_gfxnvidia)
+		$(meson_use internal config_internal)
+		$(meson_use it8212 config_it8212)
+		$(meson_use jlink_spi config_jlink_spi)
+		$(meson_use linux_mtd config_linux_mtd)
+		$(meson_use linux_spi config_linux_spi)
+		$(meson_use mediatek_i2c_spi config_mediatek_i2c_spi)
+		$(meson_use mstarddc_spi config_mstarddc_spi)
+		$(meson_use nic3com config_nic3com)
+		$(meson_use nicintel_eeprom config_nicintel_eeprom)
+		$(meson_use nicintel_spi config_nicintel_spi)
+		$(meson_use nicintel config_nicintel)
+		$(meson_use nicnatsemi config_nicnatsemi)
+		$(meson_use nicrealtek config_nicrealtek)
+		$(meson_use ogp_spi config_ogp_spi)
+		$(meson_use parade_lspcon config_parade_lspcon)
+		$(meson_use pickit2_spi config_pickit2_spi)
+		$(meson_use pony_spi config_pony_spi)
+		$(meson_use raiden_debug_spi config_raiden_debug_spi)
+		$(meson_use rayer_spi config_rayer_spi)
+		$(meson_use realtek_mst_i2c_spi config_realtek_mst_i2c_spi)
+		$(meson_use satamv config_satamv)
+		$(meson_use satasii config_satasii)
+		$(meson_use serprog config_serprog)
+		$(meson_use stlinkv3_spi config_stlinkv3_spi)
+		$(meson_use usbblaster_spi config_usbblaster_spi)
+		$(meson_use wiki print_wiki)
+	)
+	sanitizers-setup-env
+	meson_src_configure
+}
+
+src_install() {
+	meson_src_install
+}
+
+src_test() {
+	meson_src_test
+}
diff --git a/sys-apps/flashrom/flashrom-9999.ebuild b/sys-apps/flashrom/flashrom-9999.ebuild
index 1c4a708..6351c8f 100644
--- a/sys-apps/flashrom/flashrom-9999.ebuild
+++ b/sys-apps/flashrom/flashrom-9999.ebuild
@@ -19,39 +19,38 @@
 IUSE="
 	atahpt
 	atapromise
-	+atavia
-	+buspirate_spi
-	+ch341a_spi
+	atavia
+	buspirate_spi
+	ch341a_spi
 	dediprog
-	+developerbox_spi
-	+digilent_spi
-	+drkaiser
+	developerbox_spi
+	digilent_spi
+	drkaiser
 	+dummy
-	ene_lpc
 	+ft2232_spi
-	+gfxnvidia
+	gfxnvidia
 	+internal
 	+it8212
 	jlink_spi
 	+linux_mtd
 	+linux_spi
-	+lspcon_i2c_spi
-	mec1308
+	+mediatek_i2c_spi
 	mstarddc_spi
-	+nic3com
-	+nicintel
-	+nicintel_eeprom
-	+nicintel_spi
-	+nicnatsemi
-	+nicrealtek
-	+ogp_spi
-	+pickit2_spi
-	+pony_spi
+	nic3com
+	nicintel
+	nicintel_eeprom
+	nicintel_spi
+	nicnatsemi
+	nicrealtek
+	ogp_spi
+	+parade_lspcon
+	pickit2_spi
+	pony_spi
 	+raiden_debug_spi
-	+rayer_spi
+	rayer_spi
 	+realtek_mst_i2c_spi
-	+satasii
-	+satamv
+	satasii
+	satamv
 	+serprog static
 	+stlinkv3_spi
 	test
@@ -63,6 +62,7 @@
 	atahpt? ( sys-apps/pciutils[static-libs(+)] )
 	atapromise? ( sys-apps/pciutils[static-libs(+)] )
 	atavia? ( sys-apps/pciutils[static-libs(+)] )
+	chromeos-base/libec:=[static-libs(+)]
 	ch341a_spi? ( virtual/libusb:1[static-libs(+)] )
 	dediprog? ( virtual/libusb:1[static-libs(+)] )
 	developerbox_spi? ( virtual/libusb:1[static-libs(+)] )
@@ -112,7 +112,6 @@
 		$(meson_use digilent_spi config_digilent_spi)
 		$(meson_use drkaiser config_drkaiser)
 		$(meson_use dummy config_dummy)
-		$(meson_use ene_lpc config_ene_lpc)
 		$(meson_use ft2232_spi config_ft2232_spi)
 		$(meson_use gfxnvidia config_gfxnvidia)
 		$(meson_use internal config_internal)
@@ -120,8 +119,7 @@
 		$(meson_use jlink_spi config_jlink_spi)
 		$(meson_use linux_mtd config_linux_mtd)
 		$(meson_use linux_spi config_linux_spi)
-		$(meson_use lspcon_i2c_spi config_lspcon_i2c_spi)
-		$(meson_use mec1308 config_mec1308)
+		$(meson_use mediatek_i2c_spi config_mediatek_i2c_spi)
 		$(meson_use mstarddc_spi config_mstarddc_spi)
 		$(meson_use nic3com config_nic3com)
 		$(meson_use nicintel_eeprom config_nicintel_eeprom)
@@ -130,6 +128,7 @@
 		$(meson_use nicnatsemi config_nicnatsemi)
 		$(meson_use nicrealtek config_nicrealtek)
 		$(meson_use ogp_spi config_ogp_spi)
+		$(meson_use parade_lspcon config_parade_lspcon)
 		$(meson_use pickit2_spi config_pickit2_spi)
 		$(meson_use pony_spi config_pony_spi)
 		$(meson_use raiden_debug_spi config_raiden_debug_spi)
diff --git a/sys-apps/frecon-lite/OWNERS b/sys-apps/frecon-lite/OWNERS
new file mode 100644
index 0000000..e743e59
--- /dev/null
+++ b/sys-apps/frecon-lite/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/frecon:/OWNERS
diff --git a/sys-apps/frecon-lite/frecon-lite-0.0.1-r72.ebuild b/sys-apps/frecon-lite/frecon-lite-0.0.1-r72.ebuild
deleted file mode 100644
index 98f59f2..0000000
--- a/sys-apps/frecon-lite/frecon-lite-0.0.1-r72.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="96a42bb1f2f3601ac80dddb87c1d4357f4424fb0"
-CROS_WORKON_TREE="fa31550ff49e9ef31db994110b9ac3232d20a4a9"
-CROS_WORKON_PROJECT="chromiumos/platform/frecon"
-CROS_WORKON_LOCALNAME="../platform/frecon"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-
-inherit cros-sanitizers cros-workon cros-common.mk
-
-DESCRIPTION="Chrome OS KMS console (without DBUS/UDEV support)"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/frecon"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="-asan"
-
-BDEPEND="virtual/pkgconfig"
-
-COMMON_DEPEND="media-libs/libpng:0=
-	sys-apps/libtsm:="
-
-RDEPEND="${COMMON_DEPEND}"
-
-DEPEND="${COMMON_DEPEND}
-	media-sound/adhd:=
-	x11-libs/libdrm:="
-
-src_configure() {
-	export FRECON_LITE=1
-	sanitizers-setup-env
-	cros-common.mk_src_configure
-}
diff --git a/sys-apps/frecon-lite/frecon-lite-0.0.1-r75.ebuild b/sys-apps/frecon-lite/frecon-lite-0.0.1-r75.ebuild
new file mode 100644
index 0000000..3398b97
--- /dev/null
+++ b/sys-apps/frecon-lite/frecon-lite-0.0.1-r75.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="e3be588f800b9b46ef4dc788f4179eb39943cccd"
+CROS_WORKON_TREE="519b947b77027c58fc7878f0340a09fd936f4e6f"
+CROS_WORKON_PROJECT="chromiumos/platform/frecon"
+CROS_WORKON_LOCALNAME="../platform/frecon"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+
+inherit cros-sanitizers cros-workon cros-common.mk
+
+DESCRIPTION="Chrome OS KMS console (without DBUS/UDEV support)"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/frecon"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="-asan"
+
+BDEPEND="virtual/pkgconfig"
+
+COMMON_DEPEND="media-libs/libpng:0=
+	sys-apps/libtsm:="
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="${COMMON_DEPEND}
+	media-sound/adhd:=
+	x11-libs/libdrm:="
+
+src_configure() {
+	export FRECON_LITE=1
+	sanitizers-setup-env
+	cros-common.mk_src_configure
+}
diff --git a/sys-apps/frecon/OWNERS b/sys-apps/frecon/OWNERS
new file mode 100644
index 0000000..e743e59
--- /dev/null
+++ b/sys-apps/frecon/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/frecon:/OWNERS
diff --git a/sys-apps/frecon/frecon-0.0.1-r177.ebuild b/sys-apps/frecon/frecon-0.0.1-r177.ebuild
deleted file mode 100644
index a694c09..0000000
--- a/sys-apps/frecon/frecon-0.0.1-r177.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="96a42bb1f2f3601ac80dddb87c1d4357f4424fb0"
-CROS_WORKON_TREE="fa31550ff49e9ef31db994110b9ac3232d20a4a9"
-CROS_WORKON_PROJECT="chromiumos/platform/frecon"
-CROS_WORKON_LOCALNAME="../platform/frecon"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-
-inherit cros-sanitizers cros-workon cros-common.mk
-
-DESCRIPTION="Chrome OS KMS console"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/frecon"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="-asan"
-
-BDEPEND="virtual/pkgconfig"
-
-COMMON_DEPEND="virtual/udev
-	sys-apps/dbus:=
-	media-libs/libpng:0=
-	sys-apps/libtsm:=
-	x11-libs/libdrm:="
-
-RDEPEND="${COMMON_DEPEND}"
-
-DEPEND="${COMMON_DEPEND}
-	media-sound/adhd:=
-"
-
-src_configure() {
-	sanitizers-setup-env
-	cros-common.mk_src_configure
-}
-
-src_install() {
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.frecon.conf
-	default
-}
diff --git a/sys-apps/frecon/frecon-0.0.1-r180.ebuild b/sys-apps/frecon/frecon-0.0.1-r180.ebuild
new file mode 100644
index 0000000..b6b7e7c
--- /dev/null
+++ b/sys-apps/frecon/frecon-0.0.1-r180.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="e3be588f800b9b46ef4dc788f4179eb39943cccd"
+CROS_WORKON_TREE="519b947b77027c58fc7878f0340a09fd936f4e6f"
+CROS_WORKON_PROJECT="chromiumos/platform/frecon"
+CROS_WORKON_LOCALNAME="../platform/frecon"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+
+inherit cros-sanitizers cros-workon cros-common.mk
+
+DESCRIPTION="Chrome OS KMS console"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/frecon"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="-asan"
+
+BDEPEND="virtual/pkgconfig"
+
+COMMON_DEPEND="virtual/udev
+	sys-apps/dbus:=
+	media-libs/libpng:0=
+	sys-apps/libtsm:=
+	x11-libs/libdrm:="
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="${COMMON_DEPEND}
+	media-sound/adhd:=
+"
+
+src_configure() {
+	sanitizers-setup-env
+	cros-common.mk_src_configure
+}
+
+src_install() {
+	insinto /etc/dbus-1/system.d
+	doins dbus/org.chromium.frecon.conf
+	default
+}
diff --git a/sys-apps/fwupd/OWNERS b/sys-apps/fwupd/OWNERS
index 47154ab..90cc1bd 100644
--- a/sys-apps/fwupd/OWNERS
+++ b/sys-apps/fwupd/OWNERS
@@ -1,5 +1 @@
-# This does not point to fwupd repository's OWNERS file due to branch
-# missmatch. chromiumos-overlay is on "main" branch, find owners would
-# look at fwupd's main, but that doesn't exist.
-campello@chromium.org
-bleung@chromium.org
+include chromiumos/third_party/fwupd:fwupd-1.8.1:/OWNERS
diff --git a/sys-apps/fwupd/files/fwupd-at-boot.sh b/sys-apps/fwupd/files/fwupd-at-boot.sh
index 76c0eda..282bc72 100755
--- a/sys-apps/fwupd/files/fwupd-at-boot.sh
+++ b/sys-apps/fwupd/files/fwupd-at-boot.sh
@@ -29,6 +29,10 @@
   # Make sure udev is ready
   start udev-trigger
 
+  # Explicitly start fwupd daemon without relaying on dbus activation
+  # during early boot stages.
+  start fwupd
+
   for i in "${pending[@]}"; do
     # Trigger fwupdtool-update job, which blocks until the job completes.
     /sbin/initctl emit fwupdtool-update GUID="${i##*/}" \
diff --git a/sys-apps/fwupd/files/fwupd.conf b/sys-apps/fwupd/files/fwupd.conf
deleted file mode 100644
index 1fa71f8..0000000
--- a/sys-apps/fwupd/files/fwupd.conf
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-description    "Fwupd daemon"
-author         "chromium-os-dev@chromium.org"
-
-start on started system-services
-stop on stopping boot-services or stopping powerd
-respawn
-
-env LANG=en_US.UTF-8
-env CACHE_DIRECTORY="/var/cache/fwupd"
-
-tmpfiles /usr/lib/tmpfiles.d/fwupd.conf
-
-pre-start script
-  # Check if boot-services is still running before starting.
-  # This is to prevent new dbus-activated instances from getting started once
-  # the system is beginning to shut down.
-  if ! initctl status boot-services | grep -q running; then
-    logger -t "${UPSTART_JOB}" "ERROR: boot services not running, quit."
-    stop
-    exit 0
-  fi
-end script
-
-script
-  # Need access to original network namespace for udev (no -e), which passes
-  # uevents via netlink socket.
-  # Need access to /proc, /sys, /dev to perform USB enumeration.
-  # Need access to /run/dbus for DBus communications.
-  # Need /run/udev/data for enumerating emmc.
-  # Need cap_sys_rawio for communicating with emmc.
-  exec syslog-cat --identifier="${UPSTART_JOB}" -- minijail0 \
-    --uts -l -p -N \
-    -v -P /mnt/empty -b / -b /proc -t -r -b /dev,,1 -b /sys,,1 \
-    -k /var,/var,tmpfs -b /var/cache/fwupd,,1 -b /var/lib/fwupd,,1 \
-    -k run,/run,tmpfs -b /run/dbus -b /run/lock,,1 -b /run/shill \
-    -b /run/udev/data,,1 -u fwupd -g fwupd -G -c cap_sys_rawio+e \
-    -- /usr/libexec/fwupd/fwupd
-end script
-
-# Wait for daemon to claim its D-Bus name before transitioning to started.
-post-start exec minijail0 -u fwupd -g fwupd /usr/bin/gdbus \
-    wait --system --timeout 15 org.freedesktop.fwupd
diff --git a/sys-apps/fwupd/files/fwupdtool-activate.conf b/sys-apps/fwupd/files/fwupdtool-activate.conf
deleted file mode 100644
index d6dccce..0000000
--- a/sys-apps/fwupd/files/fwupdtool-activate.conf
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-description    "Activate firmware update on devices using fwupdtool"
-author         "chromium-os-dev@chromium.org"
-
-# Use 'start on stopping' and 'task' to hold up restarting the session
-# manager until we're done. Job duration is expected to be O(ms) and
-# it is used to signal devices to apply any pending updates already
-# installed.
-start on stopping ui
-task
-
-env LANG=en_US.UTF-8
-
-script
-  if [ -f /var/lib/fwupd/pending.db ]; then
-    exec minijail0 \
-      --profile=minimalistic-mountns --uts -e -l -p -N \
-      -k /run,/run,tmpfs -b /run/dbus -u fwupd -g fwupd \
-      -- /usr/bin/fwupdmgr activate 2>&1 | logger -t "${UPSTART_JOB}"
-  fi
-end script
diff --git a/sys-apps/fwupd/files/fwupdtool-update.conf b/sys-apps/fwupd/files/fwupdtool-update.conf
deleted file mode 100644
index 0bf1343..0000000
--- a/sys-apps/fwupd/files/fwupdtool-update.conf
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-description    "Updates devices using fwupdtool"
-author         "chromium-os-dev@chromium.org"
-
-# This job is started by udev via custom events.
-# Job duration is expected to be O(minutes) depending on the number of
-# devices with pending updates.
-start on fwupdtool-update
-task
-instance $GUID-$AT_BOOT
-
-# Device GUID to be updated by fwupdtool update invocation.
-import GUID
-# FWUPD plugin to be used by fwupdtool update invokation.
-import PLUGIN
-# Are we running at boot time.
-import AT_BOOT
-# Update .cab file. Used to allow downgrades.
-import FIRMWARE_FILE
-# Force fwupdtool over fwupdmgr usage.
-import USE_TOOL
-
-env LANG=en_US.UTF-8
-env AT_BOOT="false"
-env FILTER="usable-during-update"
-env REGEX="^[0-9a-f]\{8\}-[0-9a-f]\{4\}-[0-9a-f]\{4\}-[0-9a-f]\{4\}-[0-9a-f]\{12\}$"
-# Need access to /run/shill to download from LVFS mirror.
-env MINIJAIL_ARGS="--profile=minimalistic-mountns --uts -l -p -N \
-    -k /run,/run,tmpfs -b /run/dbus -b /run/shill -u fwupd -g fwupd"
-env MINIJAIL_ARGS_TOOL="--uts -l -p -N \
-    -v -P /mnt/empty -b / -b /proc -r -t -b /dev,,1 -k run,/run,tmpfs \
-    -k /var,/var,tmpfs -b /var/cache/fwupd,,1 -b /var/lib/fwupd,,1 \
-    -b /run/lock,,1 -b /sys,,1 -u fwupd -g fwupd -G"
-env PLUGIN_ARGS=""
-env USE_TOOL="false"
-
-tmpfiles /usr/lib/tmpfiles.d/fwupd.conf
-
-pre-start script
-  # Abort if the rootfs is on removable media.  e.g. It's on a USB stick.
-  . /usr/share/misc/chromeos-common.sh
-  . /usr/sbin/write_gpt.sh
-  load_base_vars
-  if rootdev_removable; then
-    logger -p warn -t "${UPSTART_JOB}" "Attempting update from removable media"
-    exit 0
-  fi
-
-  for guid in ${GUID}; do
-    if [ $(expr "${guid}" : "${REGEX}") -eq 0 ]; then
-      logger -p err -t "${UPSTART_JOB}" "Invalid GUID: ${guid}"
-      exit 1
-    fi
-  done
-  for plugin in ${PLUGIN}; do
-    if ! minijail0 ${MINIJAIL_ARGS} -- /usr/bin/fwupdmgr get-plugins \
-      | grep -x -F "${plugin}:"; then
-      logger -p err -t "${UPSTART_JOB}" "Unsupported plugin: ${plugin}"
-      exit 1
-    fi
-  done
-end script
-
-script
-  for plugin in ${PLUGIN}; do
-    case "${plugin}" in
-    "nvme")
-      # Grant cap_sys_admin for nvme plugin to issue admin ioctl commands.
-      MINIJAIL_ARGS_TOOL="${MINIJAIL_ARGS_TOOL} -c cap_dac_override,cap_sys_admin+e"
-      USE_TOOL="true"
-      ;;
-    esac
-    PLUGIN_ARGS="${PLUGIN_ARGS} --plugins=${plugin}"
-  done
-
-  # Apply all updates at boot time since is the safest time to do so.
-  if [ "${AT_BOOT}" = "true" ]; then
-    FILTER=
-  fi
-
-  if [ "${USE_TOOL}" = "true" ]; then
-    if [ -n "${FIRMWARE_FILE}" ]; then
-      # Grant access to /run/imageloader if the firmware file path starts with
-      # that prefix.
-      case "${FIRMWARE_FILE}" in /run/imageloader/*)
-        MINIJAIL_ARGS_TOOL="${MINIJAIL_ARGS_TOOL} \
-          -k /run/imageloader,/run/imageloader,none,MS_BIND|MS_REC"
-      esac
-      minijail0 ${MINIJAIL_ARGS_TOOL} -- /usr/bin/fwupdtool install \
-        "${FIRMWARE_FILE}" ${GUID} --allow-older ${PLUGIN_ARGS} \
-        --filter="${FILTER}" 2>&1 | logger -t "${UPSTART_JOB}"
-    else
-      minijail0 ${MINIJAIL_ARGS_TOOL} -- /usr/bin/fwupdtool update ${GUID} \
-        ${PLUGIN_ARGS} --filter="${FILTER}" 2>&1 | logger -t "${UPSTART_JOB}"
-    fi
-  else
-    minijail0 ${MINIJAIL_ARGS} -- /usr/bin/fwupdmgr update ${GUID} \
-      --filter="${FILTER}" 2>&1 | logger -t "${UPSTART_JOB}"
-  fi
-
-  # If there is a pending update we will delay until next boot.
-  if [ "${AT_BOOT}" = "false" ]; then
-    if [ "${USE_TOOL}" = "true" ]; then
-      if minijail0 ${MINIJAIL_ARGS_TOOL} \
-           -- /usr/bin/fwupdtool get-updates ${GUID} ${PLUGIN_ARGS} \
-              --filter=~"${FILTER}"; then
-	for guid in ${GUID}; do
-          echo "${PLUGIN}" > /var/lib/fwupd/pending/${guid}
-	done
-      fi
-    else
-      if minijail0 ${MINIJAIL_ARGS} \
-           -- /usr/bin/fwupdmgr get-updates ${GUID} --filter=~"${FILTER}"; then
-	for guid in ${GUID}; do
-          echo "${PLUGIN}" > /var/lib/fwupd/pending/${guid}
-	done
-      fi
-    fi
-  fi
-end script
diff --git a/sys-apps/fwupd/files/init/fwupd.conf b/sys-apps/fwupd/files/init/fwupd.conf
new file mode 100644
index 0000000..74df9cb
--- /dev/null
+++ b/sys-apps/fwupd/files/init/fwupd.conf
@@ -0,0 +1,54 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+description    "Fwupd daemon"
+author         "chromium-os-dev@chromium.org"
+
+start on started system-services and started powerd
+stop on stopping boot-services or stopping powerd
+respawn
+oom score -100
+
+env LANG=en_US.UTF-8
+env CACHE_DIRECTORY="/var/cache/fwupd"
+
+tmpfiles /usr/lib/tmpfiles.d/fwupd.conf
+
+pre-start script
+  # Check if boot-services is still running before starting.
+  # This is to prevent new dbus-activated instances from getting started once
+  # the system is beginning to shut down.
+  if ! initctl status boot-services | grep -q running; then
+    logger -t "${UPSTART_JOB}" "ERROR: boot services not running, quit."
+    stop
+    exit 0
+  fi
+  # If the service is being DBus activated it might not have waited
+  # for powerd to start, lets start it here.
+  if ! initctl status powerd | grep -q "start/"; then
+    initctl start powerd || true
+  fi
+  exec minijail0 -u fwupd -g fwupd /usr/bin/gdbus \
+    wait --system --timeout 15 org.chromium.PowerManager
+end script
+
+script
+  # Need access to original network namespace for udev (no -e), which passes
+  # uevents via netlink socket.
+  # Need access to /proc, /sys, /dev to perform USB enumeration.
+  # Need access to /run/dbus for DBus communications.
+  # Need /run/udev/data for enumerating emmc.
+  # Need cap_sys_rawio for communicating with emmc.
+  exec syslog-cat --identifier="${UPSTART_JOB}" -- minijail0 \
+    --uts -l -p -N \
+    -v -P /mnt/empty -b / -b /proc -t -r -b /dev,,1 -b /sys,,1 \
+    -k /var,/var,tmpfs -b /var/cache/fwupd,,1 -b /var/lib/fwupd,,1 \
+    -k run,/run,tmpfs -b /run/dbus -b /run/lock,,1 -b /run/shill \
+    -b /run/udev/data,,1 -u fwupd -g fwupd -G -c cap_sys_rawio+e \
+    -- /usr/libexec/fwupd/fwupd
+end script
+
+# Wait for daemon to claim its D-Bus name before transitioning to started.
+post-start exec minijail0 -u fwupd -g fwupd /usr/bin/gdbus \
+    wait --system --timeout 15 org.freedesktop.fwupd
diff --git a/sys-apps/fwupd/files/init/fwupdtool-activate.conf b/sys-apps/fwupd/files/init/fwupdtool-activate.conf
new file mode 100644
index 0000000..34232b1
--- /dev/null
+++ b/sys-apps/fwupd/files/init/fwupdtool-activate.conf
@@ -0,0 +1,28 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+description    "Activate firmware update on devices using fwupdtool"
+author         "chromium-os-dev@chromium.org"
+
+# Use 'start on stopping' and 'task' to hold up restarting the session
+# manager until we're done. Job duration is expected to be O(ms) and
+# it is used to signal devices to apply any pending updates already
+# installed.
+start on stopping ui
+task
+oom score -100
+
+env LANG=en_US.UTF-8
+env FWUPD_RET=0
+
+script
+  if [ -f /var/lib/fwupd/pending.db ]; then
+    syslog-cat --identifier="${UPSTART_JOB}" -- minijail0 \
+      --profile=minimalistic-mountns --uts -e -l -p -N \
+      -k /run,/run,tmpfs -b /run/dbus -u fwupd -g fwupd \
+      -- /usr/bin/fwupdmgr activate || FWUPD_RET=$?
+
+    metrics_client -e Platform.Fwupd.ActivateStatus "${FWUPD_RET}" 2
+  fi
+end script
diff --git a/sys-apps/fwupd/files/init/fwupdtool-update.conf b/sys-apps/fwupd/files/init/fwupdtool-update.conf
new file mode 100644
index 0000000..5f1338e
--- /dev/null
+++ b/sys-apps/fwupd/files/init/fwupdtool-update.conf
@@ -0,0 +1,114 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+description    "Updates devices using fwupdtool"
+author         "chromium-os-dev@chromium.org"
+
+# This job is started by udev via custom events.
+# Job duration is expected to be O(minutes) depending on the number of
+# devices with pending updates.
+start on fwupdtool-update
+task
+oom score -100 # Very unlikely.
+instance $GUID-$AT_BOOT
+
+# Device GUID to be updated by fwupdtool update invocation.
+import GUID
+# FWUPD plugin to be used by fwupdtool update invokation.
+import PLUGIN
+# Are we running at boot time.
+import AT_BOOT
+# Update .cab file. Used to allow downgrades.
+import FIRMWARE_FILE
+
+env LANG=en_US.UTF-8
+env CACHE_DIRECTORY="/var/cache/fwupd"
+
+env AT_BOOT="false"
+env FILTER="usable-during-update"
+env REGEX="^[0-9a-f]\{8\}-[0-9a-f]\{4\}-[0-9a-f]\{4\}-[0-9a-f]\{4\}-[0-9a-f]\{12\}$"
+# Need access to /run/shill to download from LVFS mirror.
+env MINIJAIL_ARGS="--profile=minimalistic-mountns --uts -l -p -N \
+    -k /run,/run,tmpfs -b /run/dbus -b /run/shill -u fwupd -g fwupd"
+env MINIJAIL_ARGS_TOOL="--uts -l -p -N \
+    -v -P /mnt/empty -b / -b /proc -r -t -b /dev,,1 -k run,/run,tmpfs \
+    -k /var,/var,tmpfs -b /var/cache/fwupd,,1 -b /var/lib/fwupd,,1 \
+    -b /run/lock,,1 -b /sys,,1 -u fwupd -g fwupd -G"
+env FWUPD_PATH="/usr/bin/fwupdmgr"
+env FWUPD_ARGS=""
+env FWUPD_RET=0
+
+tmpfiles /usr/lib/tmpfiles.d/fwupd.conf
+
+pre-start script
+  # Abort if the rootfs is on removable media.  e.g. It's on a USB stick.
+  . /usr/share/misc/chromeos-common.sh
+  . /usr/sbin/write_gpt.sh
+  load_base_vars
+  if rootdev_removable; then
+    logger -p warn -t "${UPSTART_JOB}" "Attempting update from removable media"
+    exit 0
+  fi
+
+  for guid in ${GUID}; do
+    if [ $(expr "${guid}" : "${REGEX}") -eq 0 ]; then
+      logger -p err -t "${UPSTART_JOB}" "Invalid GUID: ${guid}"
+      exit 1
+    fi
+  done
+  for plugin in ${PLUGIN}; do
+    if ! minijail0 ${MINIJAIL_ARGS} -- "${FWUPD_PATH}" get-plugins \
+      | grep -x -F "${plugin}:"; then
+      logger -p err -t "${UPSTART_JOB}" "Unsupported plugin: ${plugin}"
+      exit 1
+    fi
+  done
+end script
+
+script
+  for plugin in ${PLUGIN}; do
+    case "${plugin}" in "nvme")
+      # Grant cap_sys_admin for nvme plugin to issue admin ioctl commands.
+      MINIJAIL_ARGS="${MINIJAIL_ARGS_TOOL} -c cap_dac_override,cap_sys_admin+e"
+      FWUPD_PATH="/usr/bin/fwupdtool"
+    esac
+  done
+
+  if [ -n "${FIRMWARE_FILE}" ]; then
+    # Grant access to /run/imageloader if the firmware file path starts with
+    # that prefix.
+    case "${FIRMWARE_FILE}" in /run/imageloader/*)
+      MINIJAIL_ARGS="${MINIJAIL_ARGS} \
+        -k /run/imageloader,/run/imageloader,none,MS_BIND|MS_REC"
+    esac
+    FWUPD_ARGS="install ${FIRMWARE_FILE} ${GUID} --allow-older"
+  else
+    FWUPD_ARGS="update ${GUID}"
+  fi
+
+  # Do not filter un-usable devices during boot time.
+  if [ "${AT_BOOT}" = "true" ]; then
+    FILTER=
+  fi
+
+  CURRENT_TIME="$(date +%s)"
+  syslog-cat --identifier="${UPSTART_JOB}" -- minijail0 ${MINIJAIL_ARGS} \
+    -- "${FWUPD_PATH}" ${FWUPD_ARGS} --filter="${FILTER}" || FWUPD_RET=$?
+  ELAPSED_TIME="$(($(date +%s) - ${CURRENT_TIME} + 1))"
+
+  metrics_client -e Platform.Fwupd.UpdateStatus "${FWUPD_RET}" 2
+  if [ "${FWUPD_RET}" -eq 0 ]; then
+    metrics_client Platform.Fwupd.UpdateDuration "${ELAPSED_TIME}" 0 7200 10
+  fi
+
+  # If there is a pending update we will delay until next boot.
+  if [ "${AT_BOOT}" = "false" ]; then
+    if minijail0 ${MINIJAIL_ARGS} \
+         -- "${FWUPD_PATH}" get-updates ${GUID} --filter=~"${FILTER}"; then
+      for guid in ${GUID}; do
+        echo "${PLUGIN}" > /var/lib/fwupd/pending/${guid}
+      done
+    fi
+  fi
+end script
diff --git a/sys-apps/fwupd/fwupd-1.7.4-r194.ebuild b/sys-apps/fwupd/fwupd-1.7.4-r194.ebuild
deleted file mode 100644
index e3e0d00..0000000
--- a/sys-apps/fwupd/fwupd-1.7.4-r194.ebuild
+++ /dev/null
@@ -1,221 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-CROS_WORKON_COMMIT="4dfa74d7a28b47886ff2362cefa934d7712dec6d"
-CROS_WORKON_TREE="f49e79f7e75feba202c85ac15e4a3efdc57b9156"
-CROS_WORKON_PROJECT="chromiumos/third_party/fwupd"
-CROS_WORKON_EGIT_BRANCH="fwupd-1.7.6"
-
-PYTHON_COMPAT=( python2_7 python3_{6..9} )
-
-inherit cros-workon linux-info meson python-single-r1 udev user vala xdg
-
-DESCRIPTION="Aims to make updating firmware on Linux automatic, safe and reliable"
-HOMEPAGE="https://fwupd.org"
-#SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="*"
-IUSE="agent amt archive bash-completion bluetooth dell +dummy elogind fastboot flashrom +gnutls gtk-doc +gusb +gpg gpio introspection logitech lzma +man minimal modemmanager nls nvme pkcs7 policykit spi +sqlite synaptics systemd test thunderbolt uefi"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
-	dell? ( uefi )
-	fastboot? ( gusb )
-	logitech? ( gusb )
-	minimal? ( !introspection )
-	spi? ( lzma )
-	synaptics? ( gnutls )
-	uefi? ( gnutls )
-"
-
-BDEPEND="
-	virtual/pkgconfig
-	gtk-doc? ( dev-util/gtk-doc )
-	bash-completion? ( >=app-shells/bash-completion-2.0 )
-	introspection? ( dev-libs/gobject-introspection )
-	man? (
-		app-text/docbook-sgml-utils
-		sys-apps/help2man
-	)
-	test? (
-		thunderbolt? ( dev-util/umockdev )
-		net-libs/gnutls[tools]
-	)
-"
-COMMON_DEPEND="
-	>=app-arch/gcab-1.0
-	app-arch/xz-utils
-	>=dev-libs/glib-2.58:2
-	dev-libs/json-glib
-	dev-libs/libgudev:=
-	>=dev-libs/libjcat-0.1.0[gpg?,pkcs7?]
-	>=dev-libs/libxmlb-0.1.13:=[introspection?]
-	>=net-libs/libsoup-2.51.92:2.4[introspection?]
-	net-misc/curl
-	archive? ( app-arch/libarchive:= )
-	dell? ( >=sys-libs/libsmbios-2.4.0 )
-	elogind? ( >=sys-auth/elogind-211 )
-	flashrom? ( sys-apps/flashrom )
-	gnutls? ( net-libs/gnutls )
-	gusb? ( >=dev-libs/libgusb-0.3.5[introspection?] )
-	logitech? ( dev-libs/protobuf-c:= )
-	lzma? ( app-arch/xz-utils )
-	modemmanager? ( net-misc/modemmanager[qmi] )
-	policykit? ( >=sys-auth/polkit-0.103 )
-	sqlite? ( dev-db/sqlite )
-	systemd? ( >=sys-apps/systemd-211 )
-	uefi? (
-		sys-apps/fwupd-efi
-		sys-boot/efibootmgr
-		sys-fs/udisks
-		sys-libs/efivar
-	)
-"
-# Block sci-chemistry/chemical-mime-data for bug #701900
-RDEPEND="
-	!<sci-chemistry/chemical-mime-data-0.1.94-r4
-	${COMMON_DEPEND}
-	sys-apps/dbus
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-	x11-libs/pango
-	$(vala_depend)
-	${PYTHON_DEPS}
-	$(python_gen_cond_dep '
-		dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
-	' ${PYTHON_COMPAT} )
-	${RDEPEND}
-"
-
-pkg_setup() {
-	python-single-r1_pkg_setup
-	if use nvme ; then
-		kernel_is -ge 4 4 || die "NVMe support requires kernel >= 4.4"
-	fi
-}
-
-src_prepare() {
-	default
-	# c.f. https://github.com/fwupd/fwupd/issues/1414
-	sed -e "/test('thunderbolt-self-test', e, env: test_env, timeout : 120)/d" \
-		-i plugins/thunderbolt/meson.build || die
-
-	sed -e '/platform-integrity/d' \
-		-i plugins/meson.build || die #753521
-	if ! use nls ; then
-		echo > po/LINGUAS || die
-	fi
-	vala_src_prepare
-}
-
-src_configure() {
-	local plugins=(
-		$(meson_use amt plugin_amt)
-		$(meson_use dell plugin_dell)
-		$(meson_use fastboot plugin_fastboot)
-		$(meson_use dummy plugin_dummy)
-		$(meson_use flashrom plugin_flashrom)
-		$(meson_use gpio plugin_gpio)
-		$(meson_use gusb plugin_uf2)
-		$(meson_use logitech plugin_logitech_bulkcontroller)
-		$(meson_use modemmanager plugin_modem_manager)
-		$(meson_use nvme plugin_nvme)
-		$(meson_use spi plugin_intel_spi)
-		$(meson_use synaptics plugin_synaptics_mst)
-		$(meson_use synaptics plugin_synaptics_rmi)
-		$(meson_use thunderbolt plugin_thunderbolt)
-		$(meson_use uefi plugin_uefi_capsule)
-		$(meson_use uefi plugin_uefi_capsule_splash)
-		$(meson_use uefi plugin_uefi_pk)
-
-		# Dependencies are not available (yet?)
-		-Dplugin_tpm="false"
-	)
-	(use x86 || use amd64 ) || plugins+=( -Dplugin_msr="false" )
-
-	local emesonargs=(
-		--localstatedir "${EPREFIX}"/var
-		-Dbuild="$(usex minimal standalone all)"
-		-Dcompat_cli="$(usex agent true false)"
-		-Dconsolekit="false"
-		-Dcurl="true"
-		-Ddocs="$(usex gtk-doc gtkdoc none)"
-		-Defi_binary="false"
-		-Dsupported_build="true"
-		$(meson_use archive libarchive)
-		$(meson_use bash-completion bash_completion)
-		$(meson_use bluetooth bluez)
-		$(meson_use elogind)
-		$(meson_use gnutls)
-		$(meson_use gusb)
-		$(meson_use lzma)
-		$(meson_use man)
-		$(meson_use introspection)
-		$(meson_use policykit polkit)
-		$(meson_use sqlite)
-		$(meson_use systemd)
-		$(meson_use systemd offline)
-		$(meson_use test tests)
-
-		${plugins[@]}
-	)
-	use uefi && emesonargs+=( -Defi_os_dir="gentoo" )
-	export CACHE_DIRECTORY="${T}"
-	meson_src_configure
-}
-
-src_install() {
-	meson_src_install
-
-	# Disable lvfs remote
-	sed 's/Enabled=true/Enabled=false/' -i "${ED}"/etc/${PN}/remotes.d/lvfs.conf || die
-
-	# Enable vendor-directory remote with local firmware
-	sed 's/Enabled=false/Enabled=true/' -i "${ED}"/etc/${PN}/remotes.d/vendor-directory.conf || die
-
-	# Install udev rules to fix user permissions.
-	udev_dorules "${FILESDIR}"/90-fwupd.rules
-
-	# Change D-BUS owner for org.freedesktop.fwupd
-	sed 's/root/fwupd/' -i "${ED}"/usr/share/dbus-1/system.d/org.freedesktop.fwupd.conf || die
-
-	# Install D-BUS service for org.freedesktop.fwupd to enable D-BUS activation
-	insinto /usr/share/dbus-1/system-services
-	doins "${FILESDIR}"/org.freedesktop.fwupd.service
-
-	insinto /etc/init
-	# Install upstart script for fwupd daemon.
-	doins "${FILESDIR}"/fwupd.conf
-	# Install upstart script for activating firmware update on logout/shutdown.
-	doins "${FILESDIR}"/fwupdtool-activate.conf
-	# Install upstart script for automatic firmware update on device plug-in.
-	doins "${FILESDIR}"/fwupdtool-update.conf
-
-	insinto /usr/lib/tmpfiles.d
-	# Install tmpfiles script for generating the necessary directories
-	doins "${FILESDIR}"/tmpfiles.d/fwupd.conf
-
-	exeinto /usr/share/cros/init
-	doexe "${FILESDIR}"/fwupd-at-boot.sh
-
-	if ! use minimal ; then
-		if ! use systemd ; then
-			# Don't timeout when fwupd is running (#673140)
-			sed '/^IdleTimeout=/s@=[[:digit:]]\+@=0@' \
-				-i "${ED}"/etc/${PN}/daemon.conf || die
-		fi
-	fi
-}
-
-src_test() {
-	meson_src_test
-}
-
-pkg_preinst() {
-	enewuser fwupd
-	enewgroup fwupd
-}
diff --git a/sys-apps/fwupd/fwupd-1.8.1-r221.ebuild b/sys-apps/fwupd/fwupd-1.8.1-r221.ebuild
new file mode 100644
index 0000000..c077960
--- /dev/null
+++ b/sys-apps/fwupd/fwupd-1.8.1-r221.ebuild
@@ -0,0 +1,226 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="8de66b82bbdebec09b2b629b036f293f530ad5b0"
+CROS_WORKON_TREE="2137eb3b8bd483e57682fd397723e1218e80938d"
+CROS_WORKON_PROJECT="chromiumos/third_party/fwupd"
+CROS_WORKON_EGIT_BRANCH="fwupd-1.8.1"
+
+inherit cros-workon linux-info meson udev user xdg cros-sanitizers
+
+DESCRIPTION="Aims to make updating firmware on Linux automatic, safe and reliable"
+HOMEPAGE="https://fwupd.org"
+#SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="*"
+
+if [[ ${PV} == "9998" ]] ; then
+	EGIT_REPO_URI="https://github.com/fwupd/fwupd"
+	EGIT_BRANCH="main"
+	inherit git-r3
+	# shellcheck disable=SC5000 # This is only for the non-cros-workon 9998
+	# revision, not for a true cros-workon.
+	KEYWORDS="*"
+fi
+
+IUSE="agent amt +archive bash-completion bluetooth cbor cfm dell +dummy elogind fastboot flashrom +gnutls gtk-doc +gusb +gpg gpio introspection logitech lzma +man minimal modemmanager nls nvme pkcs7 policykit spi +sqlite synaptics systemd test thunderbolt uefi"
+REQUIRED_USE="
+	dell? ( uefi )
+	fastboot? ( gusb )
+	logitech? ( gusb )
+	minimal? ( !introspection )
+	spi? ( lzma )
+	synaptics? ( gnutls )
+	uefi? ( gnutls )
+"
+
+BDEPEND="
+	>=dev-util/meson-0.60.0
+	virtual/pkgconfig
+	gtk-doc? ( dev-util/gtk-doc )
+	bash-completion? ( >=app-shells/bash-completion-2.0 )
+	introspection? ( dev-libs/gobject-introspection )
+	man? (
+		app-text/docbook-sgml-utils
+		sys-apps/help2man
+	)
+"
+COMMON_DEPEND="
+	>=app-arch/gcab-1.0
+	app-arch/xz-utils
+	>=dev-libs/glib-2.58:2
+	dev-libs/json-glib
+	dev-libs/libgudev:=
+	>=dev-libs/libjcat-0.1.0[gpg?,pkcs7?]
+	>=dev-libs/libxmlb-0.1.13:=[introspection?]
+	>=net-libs/libsoup-2.51.92:2.4[introspection?]
+	net-misc/curl
+	archive? ( app-arch/libarchive:= )
+	cbor? ( dev-libs/libcbor )
+	dell? (
+		>=app-crypt/tpm2-tss-2.0
+		>=sys-libs/libsmbios-2.4.0
+	)
+	elogind? ( >=sys-auth/elogind-211 )
+	flashrom? ( sys-apps/flashrom )
+	gnutls? ( net-libs/gnutls )
+	gusb? ( >=dev-libs/libgusb-0.3.5[introspection?] )
+	logitech? ( dev-libs/protobuf-c:= )
+	lzma? ( app-arch/xz-utils )
+	modemmanager? ( net-misc/modemmanager[qmi] )
+	policykit? ( >=sys-auth/polkit-0.114 )
+	sqlite? ( dev-db/sqlite )
+	systemd? ( >=sys-apps/systemd-211 )
+	uefi? (
+		sys-apps/fwupd-efi
+		sys-boot/efibootmgr
+		sys-fs/udisks
+		sys-libs/efivar
+	)
+"
+RDEPEND="
+	${COMMON_DEPEND}
+	sys-apps/dbus
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+	x11-libs/pango[introspection?]
+"
+
+pkg_setup() {
+	if use nvme ; then
+		kernel_is -ge 4 4 || die "NVMe support requires kernel >= 4.4"
+	fi
+}
+
+src_prepare() {
+	default
+	# c.f. https://github.com/fwupd/fwupd/issues/1414
+	sed -e "/test('thunderbolt-self-test', e, env: test_env, timeout : 120)/d" \
+		-i plugins/thunderbolt/meson.build || die
+
+	sed -e '/platform-integrity/d' \
+		-i plugins/meson.build || die #753521
+	if ! use nls ; then
+		echo > po/LINGUAS || die
+	fi
+}
+
+src_configure() {
+	sanitizers-setup-env
+
+	local plugins=(
+		-Dplugin_emmc="enabled"
+		-Dplugin_parade_lspcon="enabled"
+		-Dplugin_pixart_rf="enabled"
+		-Dplugin_powerd="enabled"
+		-Dplugin_realtek_mst="enabled"
+		$(meson_feature amt plugin_amt)
+		$(meson_feature dell plugin_dell)
+		$(meson_feature fastboot plugin_fastboot)
+		$(meson_use dummy plugin_dummy)
+		$(meson_feature flashrom plugin_flashrom)
+		$(meson_feature gpio plugin_gpio)
+		$(meson_feature logitech plugin_logitech_bulkcontroller)
+		$(meson_feature modemmanager plugin_modem_manager)
+		$(meson_feature nvme plugin_nvme)
+		$(meson_use spi plugin_intel_spi)
+		$(meson_feature synaptics plugin_synaptics_mst)
+		$(meson_feature synaptics plugin_synaptics_rmi)
+		$(meson_feature thunderbolt plugin_thunderbolt)
+		$(meson_feature uefi plugin_uefi_capsule)
+		$(meson_use uefi plugin_uefi_capsule_splash)
+		$(meson_feature uefi plugin_uefi_pk)
+	)
+
+	local emesonargs=(
+		--localstatedir "${EPREFIX}"/var
+		-Dauto_features="disabled"
+		-Dbuild="$(usex minimal standalone all)"
+		-Dcompat_cli="$(usex agent true false)"
+		-Dcurl="enabled"
+		-Ddocs="$(usex gtk-doc gtkdoc none)"
+		-Defi_binary="false"
+		-Dgudev="enabled"
+		-Dsupported_build="enabled"
+		$(meson_feature archive libarchive)
+		$(meson_use bash-completion bash_completion)
+		$(meson_feature bluetooth bluez)
+		$(meson_feature cbor)
+		$(meson_feature elogind)
+		$(meson_feature gnutls)
+		$(meson_feature gusb)
+		$(meson_feature lzma)
+		$(meson_use man)
+		$(meson_feature introspection)
+		$(meson_feature policykit polkit)
+		$(meson_feature sqlite)
+		$(meson_feature systemd)
+		$(meson_use test tests)
+
+		"${plugins[@]}"
+	)
+	use uefi && emesonargs+=( -Defi_os_dir="gentoo" )
+	export CACHE_DIRECTORY="${T}"
+	meson_src_configure
+}
+
+src_install() {
+	meson_src_install
+
+	# Disable lvfs remote
+	sed 's/Enabled=true/Enabled=false/' -i "${ED}"/etc/${PN}/remotes.d/lvfs.conf || die
+
+	# Enable vendor-directory remote with local firmware
+	sed 's/Enabled=false/Enabled=true/' -i "${ED}"/etc/${PN}/remotes.d/vendor-directory.conf || die
+
+	# Allow cros_healthd to obtain instanceIds and serials
+	sed 's/TrustedUids=/TrustedUids=20134/' -i "${ED}"/etc/${PN}/daemon.conf || die
+
+	# Install udev rules to fix user permissions.
+	udev_dorules "${FILESDIR}"/90-fwupd.rules
+
+	# Change D-BUS owner for org.freedesktop.fwupd
+	sed 's/root/fwupd/' -i "${ED}"/usr/share/dbus-1/system.d/org.freedesktop.fwupd.conf || die
+
+	# Install D-BUS service for org.freedesktop.fwupd to enable D-BUS activation
+	insinto /usr/share/dbus-1/system-services
+	doins "${FILESDIR}"/org.freedesktop.fwupd.service
+
+	insinto /etc/init
+	# Install upstart script for fwupd daemon.
+	doins "${FILESDIR}"/init/fwupd.conf
+	# Install upstart script for activating firmware update on logout/shutdown.
+	doins "${FILESDIR}"/init/fwupdtool-activate.conf
+	# Install upstart script for automatic firmware update on device plug-in.
+	doins "${FILESDIR}"/init/fwupdtool-update.conf
+
+	insinto /usr/lib/tmpfiles.d
+	# Install tmpfiles script for generating the necessary directories
+	doins "${FILESDIR}"/tmpfiles.d/fwupd.conf
+
+	exeinto /usr/share/cros/init
+	doexe "${FILESDIR}"/fwupd-at-boot.sh
+
+	if ! use minimal ; then
+		if ! use systemd ; then
+			# Don't timeout when fwupd is running (#673140)
+			sed '/^IdleTimeout=/s@=[[:digit:]]\+@=0@' \
+				-i "${ED}"/etc/${PN}/daemon.conf || die
+		fi
+	fi
+
+	if use cfm ; then
+		sed '/^OnlyTrusted=/s/true/false/' -i "${ED}"/etc/${PN}/daemon.conf || die
+	fi
+}
+
+pkg_preinst() {
+	enewuser fwupd
+	enewgroup fwupd
+}
diff --git a/sys-apps/fwupd/fwupd-9998.ebuild b/sys-apps/fwupd/fwupd-9998.ebuild
deleted file mode 100644
index e0de69c..0000000
--- a/sys-apps/fwupd/fwupd-9998.ebuild
+++ /dev/null
@@ -1,219 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-EGIT_REPO_URI="https://github.com/fwupd/fwupd"
-EGIT_BRANCH="main"
-
-PYTHON_COMPAT=( python2_7 python3_{6..9} )
-
-inherit git-r3 linux-info meson python-single-r1 udev user vala xdg
-
-DESCRIPTION="Aims to make updating firmware on Linux automatic, safe and reliable"
-HOMEPAGE="https://fwupd.org"
-#SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="*"
-IUSE="agent amt archive bash-completion bluetooth dell +dummy elogind fastboot flashrom +gnutls gtk-doc +gusb +gpg gpio introspection logitech lzma +man minimal modemmanager nls nvme pkcs7 policykit spi +sqlite synaptics systemd test thunderbolt uefi"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
-	dell? ( uefi )
-	fastboot? ( gusb )
-	logitech? ( gusb )
-	minimal? ( !introspection )
-	spi? ( lzma )
-	synaptics? ( gnutls )
-	uefi? ( gnutls )
-"
-
-BDEPEND="
-	virtual/pkgconfig
-	gtk-doc? ( dev-util/gtk-doc )
-	bash-completion? ( >=app-shells/bash-completion-2.0 )
-	introspection? ( dev-libs/gobject-introspection )
-	man? (
-		app-text/docbook-sgml-utils
-		sys-apps/help2man
-	)
-	test? (
-		thunderbolt? ( dev-util/umockdev )
-		net-libs/gnutls[tools]
-	)
-"
-COMMON_DEPEND="
-	>=app-arch/gcab-1.0
-	app-arch/xz-utils
-	>=dev-libs/glib-2.58:2
-	dev-libs/json-glib
-	dev-libs/libgudev:=
-	>=dev-libs/libjcat-0.1.0[gpg?,pkcs7?]
-	>=dev-libs/libxmlb-0.1.13:=[introspection?]
-	>=net-libs/libsoup-2.51.92:2.4[introspection?]
-	net-misc/curl
-	archive? ( app-arch/libarchive:= )
-	dell? ( >=sys-libs/libsmbios-2.4.0 )
-	elogind? ( >=sys-auth/elogind-211 )
-	flashrom? ( sys-apps/flashrom )
-	gnutls? ( net-libs/gnutls )
-	gusb? ( >=dev-libs/libgusb-0.3.5[introspection?] )
-	logitech? ( dev-libs/protobuf-c:= )
-	lzma? ( app-arch/xz-utils )
-	modemmanager? ( net-misc/modemmanager[qmi] )
-	policykit? ( >=sys-auth/polkit-0.103 )
-	sqlite? ( dev-db/sqlite )
-	systemd? ( >=sys-apps/systemd-211 )
-	uefi? (
-		sys-apps/fwupd-efi
-		sys-boot/efibootmgr
-		sys-fs/udisks
-		sys-libs/efivar
-	)
-"
-# Block sci-chemistry/chemical-mime-data for bug #701900
-RDEPEND="
-	!<sci-chemistry/chemical-mime-data-0.1.94-r4
-	${COMMON_DEPEND}
-	sys-apps/dbus
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-	x11-libs/pango
-	$(vala_depend)
-	${PYTHON_DEPS}
-	$(python_gen_cond_dep '
-		dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
-	' ${PYTHON_COMPAT} )
-	${RDEPEND}
-"
-
-pkg_setup() {
-	python-single-r1_pkg_setup
-	if use nvme ; then
-		kernel_is -ge 4 4 || die "NVMe support requires kernel >= 4.4"
-	fi
-}
-
-src_prepare() {
-	default
-	# c.f. https://github.com/fwupd/fwupd/issues/1414
-	sed -e "/test('thunderbolt-self-test', e, env: test_env, timeout : 120)/d" \
-		-i plugins/thunderbolt/meson.build || die
-
-	sed -e '/platform-integrity/d' \
-		-i plugins/meson.build || die #753521
-	if ! use nls ; then
-		echo > po/LINGUAS || die
-	fi
-	vala_src_prepare
-}
-
-src_configure() {
-	local plugins=(
-		$(meson_use amt plugin_amt)
-		$(meson_use dell plugin_dell)
-		$(meson_use fastboot plugin_fastboot)
-		$(meson_use dummy plugin_dummy)
-		$(meson_use flashrom plugin_flashrom)
-		$(meson_use gpio plugin_gpio)
-		$(meson_use gusb plugin_uf2)
-		$(meson_use logitech plugin_logitech_bulkcontroller)
-		$(meson_use modemmanager plugin_modem_manager)
-		$(meson_use nvme plugin_nvme)
-		$(meson_use spi plugin_intel_spi)
-		$(meson_use synaptics plugin_synaptics_mst)
-		$(meson_use synaptics plugin_synaptics_rmi)
-		$(meson_use thunderbolt plugin_thunderbolt)
-		$(meson_use uefi plugin_uefi_capsule)
-		$(meson_use uefi plugin_uefi_capsule_splash)
-		$(meson_use uefi plugin_uefi_pk)
-
-		# Dependencies are not available (yet?)
-		-Dplugin_tpm="false"
-	)
-	(use x86 || use amd64 ) || plugins+=( -Dplugin_msr="false" )
-
-	local emesonargs=(
-		--localstatedir "${EPREFIX}"/var
-		-Dbuild="$(usex minimal standalone all)"
-		-Dcompat_cli="$(usex agent true false)"
-		-Dconsolekit="false"
-		-Dcurl="true"
-		-Ddocs="$(usex gtk-doc gtkdoc none)"
-		-Defi_binary="false"
-		-Dsupported_build="true"
-		$(meson_use archive libarchive)
-		$(meson_use bash-completion bash_completion)
-		$(meson_use bluetooth bluez)
-		$(meson_use elogind)
-		$(meson_use gnutls)
-		$(meson_use gusb)
-		$(meson_use lzma)
-		$(meson_use man)
-		$(meson_use introspection)
-		$(meson_use policykit polkit)
-		$(meson_use sqlite)
-		$(meson_use systemd)
-		$(meson_use systemd offline)
-		$(meson_use test tests)
-
-		${plugins[@]}
-	)
-	use uefi && emesonargs+=( -Defi_os_dir="gentoo" )
-	export CACHE_DIRECTORY="${T}"
-	meson_src_configure
-}
-
-src_install() {
-	meson_src_install
-
-	# Disable lvfs remote
-	sed 's/Enabled=true/Enabled=false/' -i "${ED}"/etc/${PN}/remotes.d/lvfs.conf || die
-
-	# Enable vendor-directory remote with local firmware
-	sed 's/Enabled=false/Enabled=true/' -i "${ED}"/etc/${PN}/remotes.d/vendor-directory.conf || die
-
-	# Install udev rules to fix user permissions.
-	udev_dorules "${FILESDIR}"/90-fwupd.rules
-
-	# Change D-BUS owner for org.freedesktop.fwupd
-	sed 's/root/fwupd/' -i "${ED}"/usr/share/dbus-1/system.d/org.freedesktop.fwupd.conf || die
-
-	# Install D-BUS service for org.freedesktop.fwupd to enable D-BUS activation
-	insinto /usr/share/dbus-1/system-services
-	doins "${FILESDIR}"/org.freedesktop.fwupd.service
-
-	insinto /etc/init
-	# Install upstart script for fwupd daemon.
-	doins "${FILESDIR}"/fwupd.conf
-	# Install upstart script for activating firmware update on logout/shutdown.
-	doins "${FILESDIR}"/fwupdtool-activate.conf
-	# Install upstart script for automatic firmware update on device plug-in.
-	doins "${FILESDIR}"/fwupdtool-update.conf
-
-	insinto /usr/lib/tmpfiles.d
-	# Install tmpfiles script for generating the necessary directories
-	doins "${FILESDIR}"/tmpfiles.d/fwupd.conf
-
-	exeinto /usr/share/cros/init
-	doexe "${FILESDIR}"/fwupd-at-boot.sh
-
-	if ! use minimal ; then
-		if ! use systemd ; then
-			# Don't timeout when fwupd is running (#673140)
-			sed '/^IdleTimeout=/s@=[[:digit:]]\+@=0@' \
-				-i "${ED}"/etc/${PN}/daemon.conf || die
-		fi
-	fi
-}
-
-src_test() {
-	meson_src_test
-}
-
-pkg_preinst() {
-	enewuser fwupd
-	enewgroup fwupd
-}
diff --git a/sys-apps/fwupd/fwupd-9998.ebuild b/sys-apps/fwupd/fwupd-9998.ebuild
new file mode 120000
index 0000000..1615304
--- /dev/null
+++ b/sys-apps/fwupd/fwupd-9998.ebuild
@@ -0,0 +1 @@
+fwupd-9999.ebuild
\ No newline at end of file
diff --git a/sys-apps/fwupd/fwupd-9999.ebuild b/sys-apps/fwupd/fwupd-9999.ebuild
index e87a7d4..45e4af6 100644
--- a/sys-apps/fwupd/fwupd-9999.ebuild
+++ b/sys-apps/fwupd/fwupd-9999.ebuild
@@ -1,14 +1,12 @@
 # Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=6
+EAPI=7
 
 CROS_WORKON_PROJECT="chromiumos/third_party/fwupd"
-CROS_WORKON_EGIT_BRANCH="fwupd-1.7.6"
+CROS_WORKON_EGIT_BRANCH="fwupd-1.8.1"
 
-PYTHON_COMPAT=( python2_7 python3_{6..9} )
-
-inherit cros-workon linux-info meson python-single-r1 udev user vala xdg
+inherit cros-workon linux-info meson udev user xdg cros-sanitizers
 
 DESCRIPTION="Aims to make updating firmware on Linux automatic, safe and reliable"
 HOMEPAGE="https://fwupd.org"
@@ -17,8 +15,18 @@
 LICENSE="LGPL-2.1+"
 SLOT="0"
 KEYWORDS="~*"
-IUSE="agent amt archive bash-completion bluetooth dell +dummy elogind fastboot flashrom +gnutls gtk-doc +gusb +gpg gpio introspection logitech lzma +man minimal modemmanager nls nvme pkcs7 policykit spi +sqlite synaptics systemd test thunderbolt uefi"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
+
+if [[ ${PV} == "9998" ]] ; then
+	EGIT_REPO_URI="https://github.com/fwupd/fwupd"
+	EGIT_BRANCH="main"
+	inherit git-r3
+	# shellcheck disable=SC5000 # This is only for the non-cros-workon 9998
+	# revision, not for a true cros-workon.
+	KEYWORDS="*"
+fi
+
+IUSE="agent amt +archive bash-completion bluetooth cbor cfm dell +dummy elogind fastboot flashrom +gnutls gtk-doc +gusb +gpg gpio introspection logitech lzma +man minimal modemmanager nls nvme pkcs7 policykit spi +sqlite synaptics systemd test thunderbolt uefi"
+REQUIRED_USE="
 	dell? ( uefi )
 	fastboot? ( gusb )
 	logitech? ( gusb )
@@ -29,6 +37,7 @@
 "
 
 BDEPEND="
+	>=dev-util/meson-0.60.0
 	virtual/pkgconfig
 	gtk-doc? ( dev-util/gtk-doc )
 	bash-completion? ( >=app-shells/bash-completion-2.0 )
@@ -37,10 +46,6 @@
 		app-text/docbook-sgml-utils
 		sys-apps/help2man
 	)
-	test? (
-		thunderbolt? ( dev-util/umockdev )
-		net-libs/gnutls[tools]
-	)
 "
 COMMON_DEPEND="
 	>=app-arch/gcab-1.0
@@ -53,7 +58,11 @@
 	>=net-libs/libsoup-2.51.92:2.4[introspection?]
 	net-misc/curl
 	archive? ( app-arch/libarchive:= )
-	dell? ( >=sys-libs/libsmbios-2.4.0 )
+	cbor? ( dev-libs/libcbor )
+	dell? (
+		>=app-crypt/tpm2-tss-2.0
+		>=sys-libs/libsmbios-2.4.0
+	)
 	elogind? ( >=sys-auth/elogind-211 )
 	flashrom? ( sys-apps/flashrom )
 	gnutls? ( net-libs/gnutls )
@@ -61,7 +70,7 @@
 	logitech? ( dev-libs/protobuf-c:= )
 	lzma? ( app-arch/xz-utils )
 	modemmanager? ( net-misc/modemmanager[qmi] )
-	policykit? ( >=sys-auth/polkit-0.103 )
+	policykit? ( >=sys-auth/polkit-0.114 )
 	sqlite? ( dev-db/sqlite )
 	systemd? ( >=sys-apps/systemd-211 )
 	uefi? (
@@ -71,26 +80,17 @@
 		sys-libs/efivar
 	)
 "
-# Block sci-chemistry/chemical-mime-data for bug #701900
 RDEPEND="
-	!<sci-chemistry/chemical-mime-data-0.1.94-r4
 	${COMMON_DEPEND}
 	sys-apps/dbus
 "
 
 DEPEND="
 	${COMMON_DEPEND}
-	x11-libs/pango
-	$(vala_depend)
-	${PYTHON_DEPS}
-	$(python_gen_cond_dep '
-		dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
-	' ${PYTHON_COMPAT} )
-	${RDEPEND}
+	x11-libs/pango[introspection?]
 "
 
 pkg_setup() {
-	python-single-r1_pkg_setup
 	if use nvme ; then
 		kernel_is -ge 4 4 || die "NVMe support requires kernel >= 4.4"
 	fi
@@ -107,59 +107,61 @@
 	if ! use nls ; then
 		echo > po/LINGUAS || die
 	fi
-	vala_src_prepare
 }
 
 src_configure() {
-	local plugins=(
-		$(meson_use amt plugin_amt)
-		$(meson_use dell plugin_dell)
-		$(meson_use fastboot plugin_fastboot)
-		$(meson_use dummy plugin_dummy)
-		$(meson_use flashrom plugin_flashrom)
-		$(meson_use gpio plugin_gpio)
-		$(meson_use gusb plugin_uf2)
-		$(meson_use logitech plugin_logitech_bulkcontroller)
-		$(meson_use modemmanager plugin_modem_manager)
-		$(meson_use nvme plugin_nvme)
-		$(meson_use spi plugin_intel_spi)
-		$(meson_use synaptics plugin_synaptics_mst)
-		$(meson_use synaptics plugin_synaptics_rmi)
-		$(meson_use thunderbolt plugin_thunderbolt)
-		$(meson_use uefi plugin_uefi_capsule)
-		$(meson_use uefi plugin_uefi_capsule_splash)
-		$(meson_use uefi plugin_uefi_pk)
+	sanitizers-setup-env
 
-		# Dependencies are not available (yet?)
-		-Dplugin_tpm="false"
+	local plugins=(
+		-Dplugin_emmc="enabled"
+		-Dplugin_parade_lspcon="enabled"
+		-Dplugin_pixart_rf="enabled"
+		-Dplugin_powerd="enabled"
+		-Dplugin_realtek_mst="enabled"
+		$(meson_feature amt plugin_amt)
+		$(meson_feature dell plugin_dell)
+		$(meson_feature fastboot plugin_fastboot)
+		$(meson_use dummy plugin_dummy)
+		$(meson_feature flashrom plugin_flashrom)
+		$(meson_feature gpio plugin_gpio)
+		$(meson_feature logitech plugin_logitech_bulkcontroller)
+		$(meson_feature modemmanager plugin_modem_manager)
+		$(meson_feature nvme plugin_nvme)
+		$(meson_use spi plugin_intel_spi)
+		$(meson_feature synaptics plugin_synaptics_mst)
+		$(meson_feature synaptics plugin_synaptics_rmi)
+		$(meson_feature thunderbolt plugin_thunderbolt)
+		$(meson_feature uefi plugin_uefi_capsule)
+		$(meson_use uefi plugin_uefi_capsule_splash)
+		$(meson_feature uefi plugin_uefi_pk)
 	)
-	(use x86 || use amd64 ) || plugins+=( -Dplugin_msr="false" )
 
 	local emesonargs=(
 		--localstatedir "${EPREFIX}"/var
+		-Dauto_features="disabled"
 		-Dbuild="$(usex minimal standalone all)"
 		-Dcompat_cli="$(usex agent true false)"
-		-Dconsolekit="false"
-		-Dcurl="true"
+		-Dcurl="enabled"
 		-Ddocs="$(usex gtk-doc gtkdoc none)"
 		-Defi_binary="false"
-		-Dsupported_build="true"
-		$(meson_use archive libarchive)
+		-Dgudev="enabled"
+		-Dsupported_build="enabled"
+		$(meson_feature archive libarchive)
 		$(meson_use bash-completion bash_completion)
-		$(meson_use bluetooth bluez)
-		$(meson_use elogind)
-		$(meson_use gnutls)
-		$(meson_use gusb)
-		$(meson_use lzma)
+		$(meson_feature bluetooth bluez)
+		$(meson_feature cbor)
+		$(meson_feature elogind)
+		$(meson_feature gnutls)
+		$(meson_feature gusb)
+		$(meson_feature lzma)
 		$(meson_use man)
-		$(meson_use introspection)
-		$(meson_use policykit polkit)
-		$(meson_use sqlite)
-		$(meson_use systemd)
-		$(meson_use systemd offline)
+		$(meson_feature introspection)
+		$(meson_feature policykit polkit)
+		$(meson_feature sqlite)
+		$(meson_feature systemd)
 		$(meson_use test tests)
 
-		${plugins[@]}
+		"${plugins[@]}"
 	)
 	use uefi && emesonargs+=( -Defi_os_dir="gentoo" )
 	export CACHE_DIRECTORY="${T}"
@@ -175,6 +177,9 @@
 	# Enable vendor-directory remote with local firmware
 	sed 's/Enabled=false/Enabled=true/' -i "${ED}"/etc/${PN}/remotes.d/vendor-directory.conf || die
 
+	# Allow cros_healthd to obtain instanceIds and serials
+	sed 's/TrustedUids=/TrustedUids=20134/' -i "${ED}"/etc/${PN}/daemon.conf || die
+
 	# Install udev rules to fix user permissions.
 	udev_dorules "${FILESDIR}"/90-fwupd.rules
 
@@ -187,11 +192,11 @@
 
 	insinto /etc/init
 	# Install upstart script for fwupd daemon.
-	doins "${FILESDIR}"/fwupd.conf
+	doins "${FILESDIR}"/init/fwupd.conf
 	# Install upstart script for activating firmware update on logout/shutdown.
-	doins "${FILESDIR}"/fwupdtool-activate.conf
+	doins "${FILESDIR}"/init/fwupdtool-activate.conf
 	# Install upstart script for automatic firmware update on device plug-in.
-	doins "${FILESDIR}"/fwupdtool-update.conf
+	doins "${FILESDIR}"/init/fwupdtool-update.conf
 
 	insinto /usr/lib/tmpfiles.d
 	# Install tmpfiles script for generating the necessary directories
@@ -207,10 +212,10 @@
 				-i "${ED}"/etc/${PN}/daemon.conf || die
 		fi
 	fi
-}
 
-src_test() {
-	meson_src_test
+	if use cfm ; then
+		sed '/^OnlyTrusted=/s/true/false/' -i "${ED}"/etc/${PN}/daemon.conf || die
+	fi
 }
 
 pkg_preinst() {
diff --git a/sys-apps/huddly-updater/OWNERS b/sys-apps/huddly-updater/OWNERS
new file mode 100644
index 0000000..43be285
--- /dev/null
+++ b/sys-apps/huddly-updater/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/huddly-updater:master:/OWNERS
diff --git a/sys-apps/huddly-updater/huddly-updater-0.0.1-r89.ebuild b/sys-apps/huddly-updater/huddly-updater-0.0.1-r89.ebuild
deleted file mode 100644
index 71ad666..0000000
--- a/sys-apps/huddly-updater/huddly-updater-0.0.1-r89.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="ef31fc0592da44084f53ccde05b7ec2b14639b27"
-CROS_WORKON_TREE="5d0195306496ae9db130e9156c214198eae85c93"
-CROS_WORKON_PROJECT="chromiumos/third_party/huddly-updater"
-
-inherit cros-debug cros-workon libchrome udev user
-
-DESCRIPTION="A utility to update Huddly camera firmware"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/huddly-updater"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="test"
-
-COMMON_DEPEND="chromeos-base/libbrillo:=
-	chromeos-base/cfm-dfu-notification:=
-	dev-libs/msgpack:=
-	virtual/libusb:1
-	virtual/libudev:0=
-"
-
-DEPEND="${COMMON_DEPEND}
-	test? ( dev-cpp/gtest:= )
-"
-
-RDEPEND="${COMMON_DEPEND}
-	app-arch/unzip
-"
-
-src_configure() {
-	# See crbug/1078297
-	cros-debug-add-NDEBUG
-	default
-}
-
-src_test() {
-	if use amd64; then
-		emake tests
-	fi
-}
-
-src_install() {
-	dosbin huddly-updater
-	dosbin huddly-hpk-updater
-	udev_dorules conf/99-huddly.rules
-}
-
-pkg_preinst() {
-	enewuser cfm-firmware-updaters
-	enewgroup cfm-firmware-updaters
-}
diff --git a/sys-apps/huddly-updater/huddly-updater-0.0.1-r91.ebuild b/sys-apps/huddly-updater/huddly-updater-0.0.1-r91.ebuild
new file mode 100644
index 0000000..c0e0edc
--- /dev/null
+++ b/sys-apps/huddly-updater/huddly-updater-0.0.1-r91.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="0da35b451529936b6ca8344177dbcfe5b9c5539f"
+CROS_WORKON_TREE="faf17261fcf328a898e89b8ce79d648333087e07"
+CROS_WORKON_PROJECT="chromiumos/third_party/huddly-updater"
+
+inherit cros-debug cros-workon libchrome udev user cros-sanitizers
+
+DESCRIPTION="A utility to update Huddly camera firmware"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/huddly-updater"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="test"
+
+COMMON_DEPEND="chromeos-base/libbrillo:=
+	chromeos-base/cfm-dfu-notification:=
+	dev-libs/msgpack:=
+	virtual/libusb:1
+	virtual/libudev:0=
+"
+
+DEPEND="${COMMON_DEPEND}
+	test? ( dev-cpp/gtest:= )
+"
+
+RDEPEND="${COMMON_DEPEND}
+	app-arch/unzip
+"
+
+src_configure() {
+	# See crbug/1078297
+	cros-debug-add-NDEBUG
+	sanitizers-setup-env
+	default
+}
+
+src_test() {
+	if use amd64; then
+		emake tests
+	fi
+}
+
+src_install() {
+	dosbin huddly-updater
+	dosbin huddly-hpk-updater
+	udev_dorules conf/99-huddly.rules
+}
+
+pkg_preinst() {
+	enewuser cfm-firmware-updaters
+	enewgroup cfm-firmware-updaters
+}
diff --git a/sys-apps/huddly-updater/huddly-updater-9999.ebuild b/sys-apps/huddly-updater/huddly-updater-9999.ebuild
index c177066..dd38f715 100644
--- a/sys-apps/huddly-updater/huddly-updater-9999.ebuild
+++ b/sys-apps/huddly-updater/huddly-updater-9999.ebuild
@@ -4,7 +4,7 @@
 EAPI=7
 CROS_WORKON_PROJECT="chromiumos/third_party/huddly-updater"
 
-inherit cros-debug cros-workon libchrome udev user
+inherit cros-debug cros-workon libchrome udev user cros-sanitizers
 
 DESCRIPTION="A utility to update Huddly camera firmware"
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/huddly-updater"
@@ -31,6 +31,7 @@
 src_configure() {
 	# See crbug/1078297
 	cros-debug-add-NDEBUG
+	sanitizers-setup-env
 	default
 }
 
diff --git a/sys-apps/hwdata/Manifest b/sys-apps/hwdata/Manifest
new file mode 100644
index 0000000..f5b24ed
--- /dev/null
+++ b/sys-apps/hwdata/Manifest
@@ -0,0 +1 @@
+DIST hwdata-0.356.tar.gz 2228946 BLAKE2B 3b58365e8e2c10f9e41f70470068bafce435156c6bb6889aa7c1db92b8178dd4c672ae7ee9ac628ef9223ea20203306e1f35c9dd010d5912b42227ed49c2e1fa SHA512 16a9d5e878e11bd5a83b49ff52a291ff732e179db2550a220d3be6785afc0d4ced7dc6df1afdd33f424352a3d8380138a5c726b39cb90a0e07ff87258e152571
diff --git a/sys-apps/hwdata/OWNERS b/sys-apps/hwdata/OWNERS
new file mode 100644
index 0000000..930cbda
--- /dev/null
+++ b/sys-apps/hwdata/OWNERS
@@ -0,0 +1,6 @@
+eshimanovich@google.com
+jefferymiller@google.com
+nicholasbishop@google.com
+pobega@google.com
+skend@google.com
+tbrandston@google.com
diff --git a/sys-apps/hwdata/hwdata-0.356-r1.ebuild b/sys-apps/hwdata/hwdata-0.356-r1.ebuild
new file mode 120000
index 0000000..3a845c2
--- /dev/null
+++ b/sys-apps/hwdata/hwdata-0.356-r1.ebuild
@@ -0,0 +1 @@
+hwdata-0.356.ebuild
\ No newline at end of file
diff --git a/sys-apps/hwdata/hwdata-0.356.ebuild b/sys-apps/hwdata/hwdata-0.356.ebuild
new file mode 100644
index 0000000..0814482
--- /dev/null
+++ b/sys-apps/hwdata/hwdata-0.356.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Hardware identification and configuration data"
+HOMEPAGE="https://github.com/vcrhonek/hwdata"
+SRC_URI="https://github.com/vcrhonek/hwdata/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="+net +pci +usb"
+KEYWORDS="*"
+
+RDEPEND="!<sys-apps/hwids-20150717-r11"
+
+src_configure() {
+	# configure is not compatible with econf
+	local conf=(
+		./configure
+		--prefix="${EPREFIX}/usr"
+		--libdir="${EPREFIX}/lib"
+		--datadir="${EPREFIX}/usr/share"
+	)
+	elog "${conf[*]}"
+	"${conf[@]}" || die
+}
+
+src_install() {
+	emake DESTDIR="${D}" install
+
+	if ! use net; then
+		rm "${D}"/usr/share/hwdata/iab.txt "${D}"/usr/share/hwdata/oui.txt || die
+	fi
+	if ! use pci; then
+		rm "${D}"/usr/share/hwdata/pci.ids || die
+	fi
+	if ! use usb; then
+		rm "${D}"/usr/share/hwdata/usb.ids || die
+	fi
+
+	# Remove unused files.
+	rm -r "${D}"/lib || die
+	rm "${D}"/usr/share/hwdata/pnp.ids || die
+}
diff --git a/sys-apps/hwdata/metadata.xml b/sys-apps/hwdata/metadata.xml
new file mode 100644
index 0000000..8cb7f9b
--- /dev/null
+++ b/sys-apps/hwdata/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="project">
+		<email>base-system@gentoo.org</email>
+	</maintainer>
+	<stabilize-allarches/>
+</pkgmetadata>
diff --git a/sys-apps/hwids/files/61-keyboard-chromeos.hwdb b/sys-apps/hwids/files/61-keyboard-chromeos.hwdb
index ddac6e1..7362d3e 100644
--- a/sys-apps/hwids/files/61-keyboard-chromeos.hwdb
+++ b/sys-apps/hwids/files/61-keyboard-chromeos.hwdb
@@ -27,3 +27,8 @@
 evdev:input:b0005v046DpB36Fe*-*m4*
 evdev:input:b0005v046DpB370e*-*m4*
  KEYBOARD_KEY_000c00d5=micmute
+
+# Google Hangouts Meet speakermic and Google Meet speakermic
+evdev:input:b0003v18D1p8001*
+evdev:input:b0003v18D1p8007*
+ KEYBOARD_KEY_b002f=reserved                            # Disable micmute key
diff --git a/sys-apps/hwids/hwids-20150717-r10.ebuild b/sys-apps/hwids/hwids-20150717-r13.ebuild
similarity index 100%
rename from sys-apps/hwids/hwids-20150717-r10.ebuild
rename to sys-apps/hwids/hwids-20150717-r13.ebuild
diff --git a/sys-apps/hwids/hwids-20150717.ebuild b/sys-apps/hwids/hwids-20150717.ebuild
index 4a90558..3801d8b 100644
--- a/sys-apps/hwids/hwids-20150717.ebuild
+++ b/sys-apps/hwids/hwids-20150717.ebuild
@@ -17,7 +17,7 @@
 
 LICENSE="|| ( GPL-2 BSD ) public-domain"
 SLOT="0"
-IUSE="+net +pci +udev +usb +hwids-lite"
+IUSE="+udev +hwids-lite"
 
 DEPEND="udev? (
 	dev-lang/perl
@@ -26,6 +26,8 @@
 [[ ${PV} == "99999999" ]] && DEPEND+=" udev? ( net-misc/curl )"
 RDEPEND="!<sys-apps/pciutils-3.1.9-r2
 	!<sys-apps/usbutils-005-r1"
+# Net/PCI/USB data files are now installed by hwdata.
+RDEPEND+=" sys-apps/hwdata"
 
 S=${WORKDIR}/hwids-${P}
 
@@ -54,10 +56,10 @@
 
 _emake() {
 	emake \
-		NET=$(usex net) \
-		PCI=$(usex pci) \
+		NET=no \
+		PCI=no \
 		UDEV=$(usex udev) \
-		USB=$(usex usb) \
+		USB=no \
 		"$@"
 }
 
@@ -75,6 +77,5 @@
 	if use hwids-lite; then
 		cd "${D}/$(get_udevdir)/hwdb.d" || die
 		rm 20-OUI.hwdb 20-pci-vendor-model.hwdb || die
-		use usb && ( rm "${D}/usr/share/misc/usb.ids" || die )
 	fi
 }
diff --git a/sys-apps/logitech-updater/OWNERS b/sys-apps/logitech-updater/OWNERS
new file mode 100644
index 0000000..c959e4a
--- /dev/null
+++ b/sys-apps/logitech-updater/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/logitech-updater:master:/OWNERS
diff --git a/sys-apps/logitech-updater/logitech-updater-0.0.1-r41.ebuild b/sys-apps/logitech-updater/logitech-updater-0.0.1-r41.ebuild
deleted file mode 100644
index 8017b2f..0000000
--- a/sys-apps/logitech-updater/logitech-updater-0.0.1-r41.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="dcb7e7f86dce2f535ac87eecfe17c48575ded9f1"
-CROS_WORKON_TREE="912ab2e98679bf37e71d84053a75bc190a85c343"
-CROS_WORKON_PROJECT="chromiumos/third_party/logitech-updater"
-
-inherit cros-debug cros-workon libchrome udev user
-
-DESCRIPTION="Logitech firmware updater"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/logitech-updater"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-COMMON_DEPEND="chromeos-base/libbrillo:=
-	virtual/libusb:1=
-	chromeos-base/cfm-dfu-notification:=
-"
-
-RDEPEND="${COMMON_DEPEND}"
-DEPEND="${COMMON_DEPEND}"
-
-src_configure() {
-	# See crbug/1078297
-	cros-debug-add-NDEBUG
-	default
-}
-
-src_install() {
-	dosbin logitech-updater
-	udev_dorules conf/99-logitech-updater.rules
-
-	# Install seccomp policy.
-	insinto "/usr/share/policy"
-	newins "seccomp/logitech-updater-seccomp-${ARCH}.policy" logitech-updater-seccomp.policy
-}
-
-pkg_preinst() {
-	enewuser cfm-firmware-updaters
-	enewgroup cfm-firmware-updaters
-}
diff --git a/sys-apps/logitech-updater/logitech-updater-0.0.1-r48.ebuild b/sys-apps/logitech-updater/logitech-updater-0.0.1-r48.ebuild
new file mode 100644
index 0000000..5ef9ef4
--- /dev/null
+++ b/sys-apps/logitech-updater/logitech-updater-0.0.1-r48.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="f4c70da20b88ef2ab6eff8136870df1a2f052a06"
+CROS_WORKON_TREE="8f1392c9f181e0a2893a37f086c24d2566a4a0df"
+CROS_WORKON_PROJECT="chromiumos/third_party/logitech-updater"
+
+inherit cros-debug cros-workon libchrome udev user
+
+DESCRIPTION="Logitech firmware updater"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/logitech-updater"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+COMMON_DEPEND="chromeos-base/libbrillo:=
+	virtual/libusb:1=
+	chromeos-base/cfm-dfu-notification:=
+"
+
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}"
+
+src_configure() {
+	# See crbug/1078297
+	cros-debug-add-NDEBUG
+	default
+}
+
+src_install() {
+	dosbin logitech-updater
+	udev_dorules conf/99-logitech-updater.rules
+
+	# Install seccomp policy.
+	insinto "/usr/share/policy"
+	newins "seccomp/logitech-updater-seccomp-${ARCH}.policy" logitech-updater-seccomp.policy
+}
+
+pkg_preinst() {
+	enewuser cfm-firmware-updaters
+	enewgroup cfm-firmware-updaters
+}
diff --git a/sys-apps/man-pages/OWNERS b/sys-apps/man-pages/OWNERS
new file mode 100644
index 0000000..d39c14f
--- /dev/null
+++ b/sys-apps/man-pages/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/infra/OWNERS.build
diff --git a/sys-apps/man-pages/files/extract-licenses.py b/sys-apps/man-pages/files/extract-licenses.py
index bba94cc..4261c5c 100755
--- a/sys-apps/man-pages/files/extract-licenses.py
+++ b/sys-apps/man-pages/files/extract-licenses.py
@@ -14,6 +14,7 @@
 from pathlib import Path
 import re
 import sys
+from typing import List, Optional, Tuple, Union
 
 
 # Extract the license name & text from a section like:
@@ -57,27 +58,28 @@
 }
 
 
-def line_iscomment(line):
+def line_iscomment(line: str) -> bool:
     """Whether |line| is a roff comment."""
     # A variety of possible formats here.  This should get cleaned up in newer
     # versions, but we have to deal with it in current releases.
     # \" ...
     # .\" ...
     # '\" ...
-    # We can't use triple double quotes here because it'll be invalid syntax, so we're forced to use
-    # triple single quotes instead.
+    # .
+    # We can't use triple double quotes here because it'll be invalid syntax,
+    # so we're forced to use triple single quotes instead.
     # pylint: disable=invalid-triple-quote
-    return re.match(r'''^[.']?\\"''', line)
+    return re.match(r'''^(\.$|[.']?\\")''', line)
 
 
-def extract_license(page):
+def extract_license(page: Path) -> Union[None, Tuple[str, str]]:
     """Extract the license from |page|."""
     with open(page, encoding='utf-8') as fp:
         data = fp.read()
 
         # Ignore stub pointer files.
         if data.startswith('.so '):
-            return
+            return None
 
         # Find the name of the license to do high level checks.
         matches = list(EXTRACT_LICENSE.finditer(data))
@@ -99,28 +101,36 @@
                     if not line_iscomment(line) or '%%%LICENSE_' in line:
                         break
                     lines.insert(0, line[3:].strip())
-                assert len(lines) > 1, header
+                assert lines, f'{page}: invalid header:\n{header}'
                 # Trim a weird leading line pending upstream cleanup.
                 if lines[0] == 't':
                     lines.pop(0)
                 copyright_text = '\n'.join(lines).strip()
 
                 # Format the license text.
+                license_text = ''
+                # First remove the different comment styles.
                 lines = [x[3:].strip()
                          for x in match.group(2).strip().splitlines()]
-                license_text = '\n'.join(lines).strip()
+                # Then merge sentences.
+                for i, line in enumerate(lines):
+                    line = line.strip()
+                    if i == 0:
+                        license_text = line + ' '
+                    else:
+                        if not line:
+                            license_text = license_text.strip() + '\n\n'
+                        else:
+                            license_text += line + ' '
+                license_text = license_text.strip()
 
-                yield f'{page.name}\n{copyright_text}\n\n{license_text}\n'
-                break
+                return (license_text, copyright_text)
+
+    # No licenses were found that required attribution.
+    return None
 
 
-def find_licenses(srcdir):
-    """Walk |srcdir| looking for man page licenses."""
-    for page in srcdir.glob('man[0-9]/*.[0-9]'):
-        yield from extract_license(page)
-
-
-def get_parser():
+def get_parser() -> argparse.ArgumentParser:
     """Get CLI parser."""
     parser = argparse.ArgumentParser(description=__doc__)
     parser.add_argument('-o', '--output', type=Path,
@@ -128,21 +138,49 @@
     parser.add_argument('-d', '--srcdir', type=Path,
                         default=os.environ.get('S'),
                         help='Source dir to walk (e.g. $S)')
+    parser.add_argument('files', nargs='*', default=[],
+                        help='Source files (overrides --srcdir)')
     return parser
 
 
-def main(argv):
+def main(argv: Optional[List[str]] = None) -> Optional[int]:
     """The main entry point for scripts."""
     parser = get_parser()
     opts = parser.parse_args(argv)
 
-    if not opts.srcdir:
+    if not opts.srcdir and not opts.files:
         parser.error('--srcdir is required')
-    if not opts.srcdir.is_dir():
-        parser.error(f'{opts.srcdir}: --srcdir does not exist')
+    elif opts.srcdir and opts.files:
+        parser.error('--srcdir and files are mutually exclusive')
+    elif opts.srcdir:
+        if not opts.srcdir.is_dir():
+            parser.error(f'{opts.srcdir}: --srcdir is missing or is not a dir')
 
-    licenses = find_licenses(opts.srcdir)
-    data = '\n'.join(licenses)
+        files = opts.srcdir.glob('man[0-9]/*.[0-9]')
+    else:
+        files = [Path(x) for x in opts.files]
+
+    # Merge pages with same licenses into one to avoid duplication.
+    licenses = {}
+    for file in files:
+        result = extract_license(file)
+        if result:
+            license_text, copyright_text = result
+            licenses.setdefault(license_text, []).append(
+                (file.name, copyright_text))
+
+    # Then produce the final notice lines.
+    lines = []
+    for license_text, pages in sorted(licenses.items()):
+        for page, copyright_text in pages:
+            lines += [page, copyright_text]
+        lines += ['', license_text]
+        lines += ['-' * 80]
+    # Remove the last ~ banner since we don't need it at the end of the file.
+    lines.pop()
+
+    # Then write it all out.
+    data = '\n'.join(lines).strip() + '\n'
     if opts.output:
         with open(opts.output, 'w', encoding='utf-8') as fp:
             fp.write(data)
diff --git a/sys-apps/metadata.xml b/sys-apps/metadata.xml
deleted file mode 100644
index e780a895..0000000
--- a/sys-apps/metadata.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The sys-apps category contains various core system applications, and
-		some non-core system applications which have not yet been moved out into
-		other sys- categories.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría sys-apps contiene varios paquetes esenciales del sistema, y
-		algunos paquetes no esenciales que aún no han sido movidos a otras
-		categorías sys-.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie sys-apps enthält sowohl Programme die Bestandteil des Basissystems sind,
-		als auch Applikationen die noch nicht in eine der anderen sys- Kategorien eingeordnet
-		wurden.
-	</longdescription>
-	<longdescription lang="ja">
-		sys-appsカテゴリには様々なコアシステムアプリケーションの他、まだ他のsys-カテゴリに
-		移動されていないシステムアプリケーションが含まれています。				
-	</longdescription>
-	<longdescription lang="nl">
-		De sys-apps categorie bevat kerenbestanddelen van het systeem, en bepaalde
-		niet-kern toepassingen die nog niet in andere categorien zijn geplaatst.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm sys-apps chứa các phần mềm hệ thống cốt lõi, và vài phần mềm
-		hệ thống không phải cốt lõi mà chưa được chuyển sang các nhóm sys- khác.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria sys-apps contiene vari pacchetti essenziali per il sistema, e alcuni pacchetti
-		non essenziali che non sono ancora stati spostati in altre categorie sys-.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria sys-apps contém vários pacotes essenciais do sistema, e
-		algumas aplicações não-centrais que ainda não foram colocadas em
-		outras categorias sys-.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria sys-apps zawiera programy systemowe oraz inne dodatkowe
-		programy, których jeszcze nie przeniesiono do kategorii sys-.
-	</longdescription>
-</catmetadata>
-
diff --git a/sys-apps/mmc-utils/OWNERS b/sys-apps/mmc-utils/OWNERS
new file mode 100644
index 0000000..1a1c8d3
--- /dev/null
+++ b/sys-apps/mmc-utils/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/mmc-utils:master:/OWNERS
diff --git a/sys-apps/mmc-utils/mmc-utils-0.0.1-r23.ebuild b/sys-apps/mmc-utils/mmc-utils-0.0.1-r23.ebuild
deleted file mode 100644
index a07b319..0000000
--- a/sys-apps/mmc-utils/mmc-utils-0.0.1-r23.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="7be960e2b84b5dfcbec44d3b722fb02d16b9eaf1"
-CROS_WORKON_TREE="ef12a78ebfea31de945ebbe2d56e405fea38258b"
-CROS_WORKON_PROJECT="chromiumos/third_party/mmc-utils"
-
-inherit cros-workon toolchain-funcs
-
-# original Announcement of project:
-#	http://permalink.gmane.org/gmane.linux.kernel.mmc/12766
-#
-# Upstream GIT:
-#   https://git.kernel.org/cgit/linux/kernel/git/cjb/mmc-utils.git/
-#
-# To grab a local copy of the mmc-utils source tree:
-#   git clone git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git
-#
-# or to reference upstream in local mmc-utils tree:
-#   git remote add upstream git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git
-#   git remote update
-
-DESCRIPTION="Userspace tools for MMC/SD devices"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/mmc-utils"
-
-LICENSE="GPL-2"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="static"
-
-src_configure() {
-	use static && append-ldflags -static
-	tc-export CC
-	export prefix=/usr
-	default
-}
diff --git a/sys-apps/mmc-utils/mmc-utils-0.0.1-r24.ebuild b/sys-apps/mmc-utils/mmc-utils-0.0.1-r24.ebuild
new file mode 100644
index 0000000..fc3e890
--- /dev/null
+++ b/sys-apps/mmc-utils/mmc-utils-0.0.1-r24.ebuild
@@ -0,0 +1,38 @@
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="7be960e2b84b5dfcbec44d3b722fb02d16b9eaf1"
+CROS_WORKON_TREE="ef12a78ebfea31de945ebbe2d56e405fea38258b"
+CROS_WORKON_PROJECT="chromiumos/third_party/mmc-utils"
+
+inherit cros-workon toolchain-funcs cros-sanitizers
+
+# original Announcement of project:
+#	http://permalink.gmane.org/gmane.linux.kernel.mmc/12766
+#
+# Upstream GIT:
+#   https://git.kernel.org/cgit/linux/kernel/git/cjb/mmc-utils.git/
+#
+# To grab a local copy of the mmc-utils source tree:
+#   git clone git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git
+#
+# or to reference upstream in local mmc-utils tree:
+#   git remote add upstream git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git
+#   git remote update
+
+DESCRIPTION="Userspace tools for MMC/SD devices"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/mmc-utils"
+
+LICENSE="GPL-2"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="static"
+
+src_configure() {
+	sanitizers-setup-env
+	use static && append-ldflags -static
+	tc-export CC
+	export prefix=/usr
+	default
+}
diff --git a/sys-apps/mmc-utils/mmc-utils-9999.ebuild b/sys-apps/mmc-utils/mmc-utils-9999.ebuild
index 1abb7990..0d897a4 100644
--- a/sys-apps/mmc-utils/mmc-utils-9999.ebuild
+++ b/sys-apps/mmc-utils/mmc-utils-9999.ebuild
@@ -4,7 +4,7 @@
 EAPI=7
 CROS_WORKON_PROJECT="chromiumos/third_party/mmc-utils"
 
-inherit cros-workon toolchain-funcs
+inherit cros-workon toolchain-funcs cros-sanitizers
 
 # original Announcement of project:
 #	http://permalink.gmane.org/gmane.linux.kernel.mmc/12766
@@ -28,6 +28,7 @@
 IUSE="static"
 
 src_configure() {
+	sanitizers-setup-env
 	use static && append-ldflags -static
 	tc-export CC
 	export prefix=/usr
diff --git a/sys-apps/mosys/OWNERS b/sys-apps/mosys/OWNERS
new file mode 100644
index 0000000..ab28891
--- /dev/null
+++ b/sys-apps/mosys/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/mosys:/OWNERS
diff --git a/sys-apps/mosys/files/revision_bump b/sys-apps/mosys/files/revision_bump
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/sys-apps/mosys/files/revision_bump
@@ -0,0 +1 @@
+0
diff --git a/sys-apps/mosys/mosys-1.2.3-r1381.ebuild b/sys-apps/mosys/mosys-1.2.3-r1381.ebuild
deleted file mode 100644
index 91ed90c..0000000
--- a/sys-apps/mosys/mosys-1.2.3-r1381.ebuild
+++ /dev/null
@@ -1,104 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("f35f2919309cf11b0ddd9deb24a6b145d40d9254" "ecb8773f76955bf50d8a514c557ff1487ae5e65a")
-CROS_WORKON_TREE=("a625767bb59509159091f2ab0b71f8b9b4b2e353" "f29b1322a436a469a1f42a3d87a4be3ca7423783")
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform2"
-	"chromiumos/platform/mosys"
-)
-CROS_WORKON_LOCALNAME=(
-	"../platform2"
-	"../platform/mosys"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}/platform2"
-	"${S}/platform/mosys"
-)
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE=(
-	"common-mk"
-	""
-)
-
-WANT_LIBCHROME="no"
-WANT_LIBBRILLO="no"
-
-inherit meson flag-o-matic toolchain-funcs cros-unibuild cros-workon platform
-
-DESCRIPTION="Utility for obtaining various bits of low-level system info"
-HOMEPAGE="http://mosys.googlecode.com/"
-
-LICENSE="BSD-Google BSD Apache-2.0 MIT ISC Unlicense"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="unibuild vpd_file_cache"
-
-RDEPEND="
-	vpd_file_cache? ( chromeos-base/vpd )
-	dev-util/cmocka
-	chromeos-base/minijail:="
-DEPEND="${RDEPEND}"
-
-src_unpack() {
-	cros-workon_src_unpack
-	PLATFORM_TOOLDIR="${S}/platform2/common-mk"
-	S+="/platform/mosys"
-}
-
-src_configure() {
-	local platform_intf=""
-	local emesonargs=(
-		"$(meson_use unibuild)"
-		"$(meson_use vpd_file_cache use_vpd_file_cache)"
-		-Darch=$(tc-arch)
-	)
-
-	if use unibuild; then
-		platform_intf="$(cros_config_host get-mosys-platform)"
-	else
-		# TODO(jrosenth): hard code some board to platform_intf
-		# mappings here for legacy non-unibuild boards.  For now, this
-		# feature is unibuild only.
-		true
-	fi
-
-	if [[ -n "${platform_intf}" ]]; then
-		emesonargs+=(
-			"-Dplatform_intf=${platform_intf}"
-		)
-	fi
-
-	# Necessary to enable LTO.  See crbug.com/1082378.
-	append-ldflags "-O2"
-
-	meson_src_configure
-}
-
-src_compile() {
-	meson_src_compile
-}
-
-platform_pkg_test() {
-	local tests=(
-		file_unittest
-		math_unittest
-		platform_unittest
-		vpd_unittest
-	)
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" \
-			"${BUILD_DIR}/unittests/${test_bin}"
-	done
-}
-
-src_install() {
-	dosbin "${BUILD_DIR}/mains/mosys"
-
-	insinto /usr/share/policy
-	newins "seccomp/mosys-seccomp-${ARCH}.policy" mosys-seccomp.policy
-	dodoc README
-}
diff --git a/sys-apps/mosys/mosys-1.2.3-r1455.ebuild b/sys-apps/mosys/mosys-1.2.3-r1455.ebuild
new file mode 100644
index 0000000..588d8b6
--- /dev/null
+++ b/sys-apps/mosys/mosys-1.2.3-r1455.ebuild
@@ -0,0 +1,139 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("dbb1136242ba822d539eaf11493f3b68815adb7f" "73b4433e502690d622075f47dde18849bfbbb2a5")
+CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "1ea13e9e3e2cc1fabd9775806e986787d736562b")
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform2"
+	"chromiumos/platform/mosys"
+)
+CROS_WORKON_LOCALNAME=(
+	"../platform2"
+	"../platform/mosys"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}/platform2"
+	"${S}/platform/mosys"
+)
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE=(
+	"common-mk"
+	""
+)
+
+WANT_LIBCHROME="no"
+WANT_LIBBRILLO="no"
+
+inherit meson flag-o-matic toolchain-funcs cros-unibuild cros-workon platform
+
+PLATFORM_NAMES=(
+	"Asuka"
+	"Asurada"
+	"Caroline"
+	"Cave"
+	"Chell"
+	"Cherry"
+	"Coral"
+	"Corsola"
+	"Dedede"
+	"Fizz"
+	"Generic"
+	"Glados"
+	"Gru"
+	"Grunt"
+	"Hatch"
+	"Herobrine"
+	"Kalista"
+	"Kukui"
+	"Lars"
+	"Oak"
+	"Octopus"
+	"Poppy"
+	"Puff"
+	"Reef"
+	"Sarien"
+	"Sentry"
+	"Strago"
+	"Trogdor"
+	"Volteer"
+	"Zork"
+)
+PLATFORM_NAME_USE_FLAGS=()
+for platform_name in "${PLATFORM_NAMES[@]}"; do
+	PLATFORM_NAME_USE_FLAGS+=("mosys_platform_${platform_name,,}")
+done
+
+DESCRIPTION="Utility for obtaining various bits of low-level system info"
+HOMEPAGE="http://mosys.googlecode.com/"
+
+LICENSE="BSD-Google BSD Apache-2.0 MIT ISC Unlicense"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="unibuild vpd_file_cache ${PLATFORM_NAME_USE_FLAGS[*]}"
+REQUIRED_USE="^^ ( ${PLATFORM_NAME_USE_FLAGS[*]} )"
+
+RDEPEND="
+	vpd_file_cache? ( chromeos-base/vpd )
+	dev-util/cmocka
+	chromeos-base/minijail:="
+DEPEND="${RDEPEND}"
+
+src_unpack() {
+	cros-workon_src_unpack
+	PLATFORM_TOOLDIR="${S}/platform2/common-mk"
+	S+="/platform/mosys"
+}
+
+src_configure() {
+	local platform_intf=""
+	local emesonargs=(
+		"$(meson_use unibuild)"
+		"$(meson_use vpd_file_cache use_vpd_file_cache)"
+		-Darch=$(tc-arch)
+	)
+
+	for ((i = 0; i < ${#PLATFORM_NAMES[@]}; i++)); do
+		if use "${PLATFORM_NAME_USE_FLAGS[${i}]}"; then
+			platform_intf="${PLATFORM_NAMES[${i}]}"
+			break
+		fi
+	done
+
+	if [[ -n "${platform_intf}" ]]; then
+		emesonargs+=(
+			"-Dplatform_intf=${platform_intf}"
+		)
+	fi
+
+	# Necessary to enable LTO.  See crbug.com/1082378.
+	append-ldflags "-O2"
+
+	meson_src_configure
+}
+
+src_compile() {
+	meson_src_compile
+}
+
+platform_pkg_test() {
+	local tests=(
+		file_unittest
+		math_unittest
+		vpd_unittest
+	)
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" \
+			"${BUILD_DIR}/unittests/${test_bin}"
+	done
+}
+
+src_install() {
+	dosbin "${BUILD_DIR}/mains/mosys"
+
+	insinto /usr/share/policy
+	newins "seccomp/mosys-seccomp-${ARCH}.policy" mosys-seccomp.policy
+	dodoc README
+}
diff --git a/sys-apps/mosys/mosys-9999.ebuild b/sys-apps/mosys/mosys-9999.ebuild
index 9f3db4c..df85cba8 100644
--- a/sys-apps/mosys/mosys-9999.ebuild
+++ b/sys-apps/mosys/mosys-9999.ebuild
@@ -26,13 +26,51 @@
 
 inherit meson flag-o-matic toolchain-funcs cros-unibuild cros-workon platform
 
+PLATFORM_NAMES=(
+	"Asuka"
+	"Asurada"
+	"Caroline"
+	"Cave"
+	"Chell"
+	"Cherry"
+	"Coral"
+	"Corsola"
+	"Dedede"
+	"Fizz"
+	"Generic"
+	"Glados"
+	"Gru"
+	"Grunt"
+	"Hatch"
+	"Herobrine"
+	"Kalista"
+	"Kukui"
+	"Lars"
+	"Oak"
+	"Octopus"
+	"Poppy"
+	"Puff"
+	"Reef"
+	"Sarien"
+	"Sentry"
+	"Strago"
+	"Trogdor"
+	"Volteer"
+	"Zork"
+)
+PLATFORM_NAME_USE_FLAGS=()
+for platform_name in "${PLATFORM_NAMES[@]}"; do
+	PLATFORM_NAME_USE_FLAGS+=("mosys_platform_${platform_name,,}")
+done
+
 DESCRIPTION="Utility for obtaining various bits of low-level system info"
 HOMEPAGE="http://mosys.googlecode.com/"
 
 LICENSE="BSD-Google BSD Apache-2.0 MIT ISC Unlicense"
 SLOT="0/0"
 KEYWORDS="~*"
-IUSE="unibuild vpd_file_cache"
+IUSE="unibuild vpd_file_cache ${PLATFORM_NAME_USE_FLAGS[*]}"
+REQUIRED_USE="^^ ( ${PLATFORM_NAME_USE_FLAGS[*]} )"
 
 RDEPEND="
 	vpd_file_cache? ( chromeos-base/vpd )
@@ -54,14 +92,12 @@
 		-Darch=$(tc-arch)
 	)
 
-	if use unibuild; then
-		platform_intf="$(cros_config_host get-mosys-platform)"
-	else
-		# TODO(jrosenth): hard code some board to platform_intf
-		# mappings here for legacy non-unibuild boards.  For now, this
-		# feature is unibuild only.
-		true
-	fi
+	for ((i = 0; i < ${#PLATFORM_NAMES[@]}; i++)); do
+		if use "${PLATFORM_NAME_USE_FLAGS[${i}]}"; then
+			platform_intf="${PLATFORM_NAMES[${i}]}"
+			break
+		fi
+	done
 
 	if [[ -n "${platform_intf}" ]]; then
 		emesonargs+=(
@@ -83,7 +119,6 @@
 	local tests=(
 		file_unittest
 		math_unittest
-		platform_unittest
 		vpd_unittest
 	)
 	local test_bin
diff --git a/sys-apps/novatek-tcon-fw-update-tool/OWNERS b/sys-apps/novatek-tcon-fw-update-tool/OWNERS
new file mode 100644
index 0000000..7413330
--- /dev/null
+++ b/sys-apps/novatek-tcon-fw-update-tool/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/novatek-tcon-fw-update-tool:master:/OWNERS
diff --git a/sys-apps/rootdev/OWNERS b/sys-apps/rootdev/OWNERS
new file mode 100644
index 0000000..68c2c10
--- /dev/null
+++ b/sys-apps/rootdev/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/rootdev:/OWNERS
diff --git a/sys-apps/rootdev/rootdev-0.0.1-r38.ebuild b/sys-apps/rootdev/rootdev-0.0.1-r38.ebuild
deleted file mode 100644
index 839a17c..0000000
--- a/sys-apps/rootdev/rootdev-0.0.1-r38.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="b2f37be7c25bc83b76f1b7063a4ef38b824dc4ef"
-CROS_WORKON_TREE="40c0bf77fe822e8e504d99f2ef90f3e3c5b58084"
-CROS_WORKON_PROJECT="chromiumos/third_party/rootdev"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-
-inherit toolchain-funcs cros-sanitizers cros-workon
-
-DESCRIPTION="Chrome OS root block device tool/library"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/rootdev/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="-asan"
-
-src_configure() {
-	sanitizers-setup-env
-	tc-export CC
-	default
-}
-
-src_compile() {
-	emake OUT="${WORKDIR}"
-}
-
-src_test() {
-	if ! use x86 && ! use amd64 ; then
-		einfo Skipping unit tests on non-x86 platform
-	else
-		sudo LD_LIBRARY_PATH=${WORKDIR} \
-			./rootdev_test.sh "${WORKDIR}/rootdev" || die
-	fi
-}
-
-src_install() {
-	cd "${WORKDIR}"
-	dobin rootdev
-	dolib.so librootdev.so*
-	insinto /usr/include/rootdev
-	doins "${S}"/rootdev.h
-}
diff --git a/sys-apps/rootdev/rootdev-0.0.1-r39.ebuild b/sys-apps/rootdev/rootdev-0.0.1-r39.ebuild
new file mode 100644
index 0000000..910af7f
--- /dev/null
+++ b/sys-apps/rootdev/rootdev-0.0.1-r39.ebuild
@@ -0,0 +1,45 @@
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="7082cbf0ae51eb1044fe1a0749245e97e4fcfc89"
+CROS_WORKON_TREE="ee2f5c32bfa246ab0fb01de8d8b29b1a65f227c1"
+CROS_WORKON_PROJECT="chromiumos/third_party/rootdev"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+
+inherit toolchain-funcs cros-sanitizers cros-workon
+
+DESCRIPTION="Chrome OS root block device tool/library"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/rootdev/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="-asan"
+
+src_configure() {
+	sanitizers-setup-env
+	tc-export CC
+	default
+}
+
+src_compile() {
+	emake OUT="${WORKDIR}"
+}
+
+src_test() {
+	if ! use x86 && ! use amd64 ; then
+		einfo Skipping unit tests on non-x86 platform
+	else
+		sudo LD_LIBRARY_PATH=${WORKDIR} \
+			./rootdev_test.sh "${WORKDIR}/rootdev" || die
+	fi
+}
+
+src_install() {
+	cd "${WORKDIR}"
+	dobin rootdev
+	dolib.so librootdev.so*
+	insinto /usr/include/rootdev
+	doins "${S}"/rootdev.h
+}
diff --git a/sys-apps/rust-analyzer/Manifest b/sys-apps/rust-analyzer/Manifest
new file mode 100644
index 0000000..a5541fa
--- /dev/null
+++ b/sys-apps/rust-analyzer/Manifest
@@ -0,0 +1,173 @@
+DIST addr2line-0.17.0.crate 32260 BLAKE2B 23c3715820a04260460a41695d535da3565f76519b7313d0ed684352b339de2ea668c44fe8ca58fc1a5b9f84cc5e9d04d889440abb5985bdc04b267dbdad9d9c SHA512 ef3bbd7c6d1dfdd0b47e3be1fb4c8b15ed61a769bed7e80dce80461a1ee13ef21c75e62e9a66328504f862341f1e808abec5790ac79784e18655afcc16206b95
+DIST adler-1.0.2.crate 12778 BLAKE2B a1dc17786adae945ac09d3525e609ed944e6465690787bbb831a1b9d53793cba1989793d0a5606d5d23ee20d36457923d451b1b3530c9ec7072a487aa3e55bbd SHA512 7ab190d31890fc05b0b55d8e2c6527a505e06793d5496be0b3831e0513412f9ba97f8148f6f68ed0770fa9cd980a5092d885e058becf1d5506b7c74b82674aa1
+DIST always-assert-0.1.2.crate 7067 BLAKE2B 042aada56eff9ca11c97d1b12c538c70c08248260f043c271466d5fcf70f1a11e4cb498096f2d55d6693d4fed6dee7e47781ae5d0fe3fe09b48e986feafa9c7d SHA512 ab23c4776e98c1d38d9583fad1d4909288793498f928e560106b972df01f307247020b5db034d909975a093db5917bb42d11540c32d787336abcaafc1a7613f0
+DIST ansi_term-0.12.1.crate 24838 BLAKE2B f636772c34e2d68cda7b8d3b2b86abda074585a62bd2654812ce92384244655a9197fa66e6939e19a674c0148ca605313d83de262bb18c2339a8a4eb4438a791 SHA512 b840e28b3e7700689a69a39659b1e066560078dd4a58326b91a028915819e7af883399ee53e920db68fd974c58d35bb1ddf8d427af5937d5f696f57c4376b671
+DIST anyhow-1.0.57.crate 44614 BLAKE2B b8d8274325b7959cedb2b8f4023d13b0d3824034c8433aea9a0a6f3c3fa6a6d7460b93bf624dff4b7168075524545f1a312e454ed0b15e8dff2109cf3c6dc433 SHA512 311b9280aa7d573c11752ca2ffe810e2d4b55fe4c34cca948bbd42f1ddb1d36a51eda39684cffb7f6c4a18508cb53a5a38495521562a0088e3374fee800ff004
+DIST anymap-0.12.1.crate 14298 BLAKE2B a4f5f4f18263e0a6d5b67ac8fbb56cf410534a0fc3e670d57a3275d0efe318c98b9b594f0be44dd7ac9fd08cda1d05733489290884af25f76ea981e0ae61ad60 SHA512 88fbca9ff7482ecd338f9cd9a025499ed98b47eaa89ca8dcd1ccfb013b6c9ebe7a8eca5d7c873eb716c320af7ccda01f6d4c26bb333c8ff434416416ee64a774
+DIST arbitrary-1.1.0.crate 26225 BLAKE2B 784334aaa16037fc72afc63ab64c9175f974231fda3514a86b8f90bc772cbdee9d85659f6700c3ac9c91bec531e2106b7fdb57cc2308092ad85b1843f115d935 SHA512 5807bfbec481516df8f5a9e829abd889b87ac70fcea7df21db868203bdbe6bf5b0a2f5ddf94907fbfb9b8d4be3af13f93fe14b1840342f89e875329c4cf7524b
+DIST arrayvec-0.7.2.crate 29341 BLAKE2B eae9d3f494033ea2d837a6024cb24bd4574683ed1e76ac6be7f7c6b0d8ee65c0eaf03dbae7fea04cf0921299f69234ad91e1cf41342de86f554f74e287dd3ba1 SHA512 80cc6e55b6032f4882362813de970d3d99e600ada774b28ac6a24c9c8e018fda3b35c5750ac3a09fca6fb9496e2e3fe608b58d21b1b84685ebd170f567a0ecbc
+DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856d90ac81f7d91a888c89198768ad5cb09303c23241fe85c560a55148fa56a303651a82b0edb895616bfab SHA512 d7b6c4b9a0f898d91ddbc41a5ee45bbf45d1d269508c8cc87ee3e3990500e41e0ec387afb1f3bc7db55bedac396dd86c6509f4bf9e5148d809c3802edcc5e1d9
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST backtrace-0.3.65.crate 74129 BLAKE2B b10a78685e7e90ab7e02b769d5445ee24753fd30212bb7204ab720fedb1df64259bae44500d9162c1c001d2e9d70ff5d698e02e5ac51e5734dbb7c601e602b3f SHA512 9cf3cda1d86deb6b7f3cada0ed7a9e6e54e2d323533e385222a260b2f667bd1989a552cc35806a1579c1493ee1177e474b1d42b29480c09a2735251586740321
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST camino-1.0.8.crate 29300 BLAKE2B d4395b29d0b449ac3d7fc55f6cd112bfe380883087af2a686ac264c1c6dd58ce809b7eebe4c4cac053faadb0adcbe76eb1916ff3fba9f6cb65c7e330abdaa807 SHA512 81b70ee09ea788e0093a86ede0733c8f487d22db05bf2c6e81914e19ece81378aafdad7b6cd12ae6d8dbc3c5ab65880fffaa58a02465e0772f4b79eef9f51973
+DIST cargo-platform-0.1.2.crate 11645 BLAKE2B 7770acb90e299f71c60bbadceaf894a3100916b7f7458f9c949b683b39157d3e1ec17d850f16dfb04017b01d7734d41872d48cf9f4e1ea7414439cd7031c2330 SHA512 c716bf3a4e0942160dbf7be114d1621e1fccc23511e7b0a2b99852b99a851910bfcf8640c2d0d0a03d5a324e1a59fb5d4264ca81bca24e3f1a1ca653bdf2956f
+DIST cargo_metadata-0.14.2.crate 17469 BLAKE2B 4e64bff7710c51d95944faac60b4881b5a43d5edd07ef87c8f4b9826e63dd708719cab27542fdf82cfe869d8781c1a6918a050aa0de71086316bd2f480aad947 SHA512 16e6bb3ddcfd4c6d48ba3415780518428f771c393ffe10ce15e1f3c026a6f3bf40ea9f25214049841b1d7d51f2208ed032961a75cb641c5afc52e02cb84d3262
+DIST cc-1.0.73.crate 57880 BLAKE2B be8d7a25a54afdd759844e76aec61526fc2bd5ca09480e6cdd3bdcf27e5f9d3a88dc16cbcbf54cd021470a7cc521e1ad468116c112bbd30752bac0d5486939ac SHA512 980f012b90c6410144f6de4995048337e09214f19603076db6d4edb88e9ef9ac9e8c6e25569f66c2be3a47e99298f5886dafc102e1a9122316179aa26bc1c985
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST chalk-derive-0.82.0.crate 3447 BLAKE2B 4d9c3bbc99f3fd2afaa3dc7ed5c5b53f1625c62ff268fa36bee36fd316efbd911d41dee1aeec48e4a67b2b712420c3721c71da31a4af82dcd1a592c540064449 SHA512 3c8346045f137052cff7519463eca5a8a1a5533a9993e2e4e01a4b71347f8255a4e288336a553df1e12454f100d8f847a7e0da96b6b431308a582316ab60fef9
+DIST chalk-ir-0.82.0.crate 51300 BLAKE2B ebba62c21a3631869b10af19e6421ae97d29231411a140dbd2e54ddb16096eb230acba7c390cfa3f7ffb6e1bfb83e4e4e5a73c48c53e5a439f857e769358e7a2 SHA512 739b4793fbb2b76eae18a2e6e1e771495c2d655bd19c7212260ccc2f55f8c5c4baeaded43c0259ea68d4db364f67bf25dd03695940a3ecc61ac091248b8403fc
+DIST chalk-recursive-0.82.0.crate 14885 BLAKE2B 511c852a98829e20e02d982723cf0ea2c94701e54a05a870a09f7ecd5507194ed6e4878b87ca68934aa1ba3d635d6e00e97224eb46936a85619b8327e177821e SHA512 047ac98186b607de86f9430fab200eeba93d7f9350256223569cfbb48ebc397c99348a678b4194feeff66659b06435282c6eb37567064bae622c0f5b311cd848
+DIST chalk-solve-0.82.0.crate 99335 BLAKE2B 020b7d22484d01b92a7604cd2815b0a0852e8520736471c157fc9e4256502c35c1afb24b3f53c4cc701bd719ed0ad788fff1d04cca0dd607811c4f88c31c46fa SHA512 c423040625544c4a9badc1927337c7e49fbc54b0676b2479d3c8b41b59a4a0e0aa4f67532cceef891289d633e72f62a02e39b1c302db9e11e7f66e62e95ec256
+DIST countme-3.0.1.crate 10784 BLAKE2B de1803559fab0accab1edcf5db43279dfa3d7b2874f5c0ee300f46ccccc8ce4c5c3d92c5a3c211068430d903f2e9288ea07fff532d84e3c0f80edadb0752a803 SHA512 f4c8c0977c6871ac8b7eab15904789ca53cbb28385a6fc90d880f85afb44bf10602850198c624963c7db04dbee8c97e271865ae2eadfdf840c21792de4f2af47
+DIST cov-mark-2.0.0-pre.1.crate 8324 BLAKE2B ea1acdf5ca1e7d88445a7b532368b96eb36f432342dabea3398c40541fa7cbdb3b91e83c47f58afe1d9a79f143f5bf80a40e6b59139f767ed0bd77370ff6c108 SHA512 c0057dc9ba4949f35842de756ed7a9af84a61ff19d4bf53551d0a85596ab7ea8468f9ef9abfd4059a2e7bb39f02c4923996d4da5809d5ea67479bb80cad3bb8e
+DIST crc32fast-1.3.2.crate 38661 BLAKE2B ce3762b03d24d5367d89738991c060f4b3af7840e0a7ac7fc17d01ed438caf964bbaefad0fc4d0c438dafa5a578429ddd353c71197f8b54b1ec441395f2f7ee0 SHA512 a683943e252afdb1b9d626a07533ed11cf7a63af603c19640056c5d2b9c884ad9aff33ac54c0853ffca2f6cf94b0730eae6c05abf3e53e55e709d180c8152357
+DIST crossbeam-channel-0.5.0.crate 86811 BLAKE2B 9af4384f2b74d202971f1967887cfd0e71ddba9a6456ffbdfc80bf192d527f61242239d2eb6a0d9dcbe47be22eb414736976e6b1840c021610d96a3bf03c3d18 SHA512 838b433d48b84f1fea020a1d1324e366e6cdae30ef07396140f195afc45b8f705de6347d949b68ce1ed0708fe533ffaa2cfdedc9d2e6288a7325c188ccde9aa2
+DIST crossbeam-channel-0.5.4.crate 88237 BLAKE2B ffcab003305b80586a9b61c6309dcf6f4ced483856c4501753cddd23fb0fa9a71b7870b676ccba78119cc29f03974ff4731cef9a92840c0b38ae944f0b3825b5 SHA512 39b17dbaefc15d7faafca4ae6b060665471d384956aca7439fc407ed2632bd458e473efb62b74629b42a5f3d237e13503d2084cac6f6b3f42b9e03aa1fde0982
+DIST crossbeam-deque-0.8.1.crate 20852 BLAKE2B 0e7a2616b82c5e501c0f74935adfea3ee09db5475408be83db8f1b6faab4cd5509de2e029bdf6df90435e474ef91f3fc8d482ce3a72966b2a3bec5967666bdc4 SHA512 44a4fe1d4ab7457e2b0950be787b76b15e1bb0b1c108d032381ce3fe99bf7bf76f3d1718085660083d813e2639e66fdd3635d9186e85a9eb7267063b117eaca4
+DIST crossbeam-epoch-0.9.8.crate 46012 BLAKE2B 181df06d1a9925ad1b3e2df70f290fc9c75682037d68c4d3727b3e5bc0f92eaf01c2f8ec239b77f524bc4af53d014cb3c4d49dc82922fa9e65baebee68904a6b SHA512 c102e7ce9e927424f6c7c20f5eef5dee3457ef6ae3b81ab26e7dd4c787dc525610f1dcd85c3b06773b263c0835a717ce39bf35b927cea03abea62bc0a0a15624
+DIST crossbeam-utils-0.8.8.crate 39681 BLAKE2B 2b3e64bfcaa044a9351c1cc8e9ea53fd68fd0bb9875ae523e0cd309a85ad23b340267bdb742d363b5d99fc065ed74f6cbb3ad1e33dec7d14d99ec458875e7e10 SHA512 ab960afdb82863160a3fa1c21c64b35b3112725bd72fc8e0724175937f4b23d0628253032229501938cd86a8e406a59c06cb44e8bdf34619de781a84ebb46ea0
+DIST dashmap-5.2.0.crate 20221 BLAKE2B 50f410d93f21a6e55f273d4e8b7eb288861d8ae15e272467ef0d279c5acffa339196041ab16d211e9dc2d7f2dcfd716201b558c49ef06cbb16f85ea2d4b0718b SHA512 d1f9c2c46d5fc9e22dbf409848679f2b10d56262f4780f1ab073178120cb9e2cbafb811563133f3ed8bcc923e9e0ab5e6dbae49ff55b7a05b94c1db7b5ffda5f
+DIST derive_arbitrary-1.1.0.crate 7438 BLAKE2B 0a190293a6b7bd9f8d757c19cdefb6d1018fd1cc035af3acdd8793ff4a5b3419e49036e5d223c01c4307c120f8c4b29d12a44876458564684c94fb51b93a2e6c SHA512 369708c86706399c30d39dbb4ac0d6074089e499d2446ce09de3c0085575a08afea78998e341720d64e29b48990ce11b7e08aceb8b5e4f978c5c82828f4788da
+DIST dissimilar-1.0.4.crate 28793 BLAKE2B a841b6cebe9642139ad0caed18ab46c52f09291f3acdf8b19ef6e50a3b750745ca2c209f1f245dcd008a9ab257667cd5796b8749978487b59a473e14448c0ab0 SHA512 782f8b98ed734a37cec33722ab5add2a082f909a5e08c23b961e5049288e8304f68679fe33e4a7a87b2f4d45226c90978075253cc01f9d4f5ce9c379fadc9d54
+DIST dot-0.1.4.crate 17701 BLAKE2B d608505bd8988e98a4b90b0f812c00735eddc04ff83ddb01c88af59b417d33c4218b8d807a106bef4d140432537d3432ea4292d44b33d009d987e567f938de04 SHA512 76a88f83b082706a1b0619338609695f41cd0179c648fadcce05fcc7f6f7c28a175ac3d138a5f9821ea34c044273c1ce645a0cde166bf0cbda1b726756c540cf
+DIST drop_bomb-0.1.5.crate 6859 BLAKE2B d115c842c3642e070cbf91c8155e09a10fd51f772b2f491d7ac16ddb983e9a6334fad23415670caf24fc3dc2f37a894f6b39443453ca394d9227e8783d5519b4 SHA512 b4b33e275506a52a062d4d3c6beff14b4081b56c4491fcc28f4aaee645f6dec103fc0b67994cf7816d36313ad5383478aca28dc4d6cf619486a517f136d7b344
+DIST either-1.6.1.crate 13641 BLAKE2B e5f40c40a5edb6dcb07a10bf79183cbe42438f1f70f3932dce72f6f6e91f75f24d17d82bc447507def4dad4345ffc9dd9162dde778afb253bdb1218e91887949 SHA512 4bfe56920e30cbc8eb4f90162db618f7dca653b42db35ab6a7045d3fd9a24ceb1778b1f79613850bdb1a87ad3794fa0d73015e46c48d513f368d8c3776fc9ddf
+DIST ena-0.14.0.crate 23052 BLAKE2B ac9a4141d831bd16cfd260a162572b43e9389b5cee4319cc22a23b550b25370cf49856c320fd4489633171a4fca91cf7091e974418ddbb1649fec8730c9cd2c9 SHA512 bcf842f8f5da8a7e9b8e51df50bdf3f00234534f1d59d96bb1e45b0ee4fa74847eb8b9b5ca615a66d84d23c629d7386f28294a5c64d22efdf2903bc89faab2d4
+DIST expect-test-1.2.2.crate 12293 BLAKE2B 7c90caf4195613b8437f86fce5e4243c7f734fa49968e0733adfbb82db5d513d336dad821ebe36b91f0f523dbace79d07eb30d596df1c1edf98144da882ef3aa SHA512 6c580a73cb71d66670c8838bb89125b84638306adb8affaf0b9c30eab8906c3b4fc2e6ffe16db90146238ce6659acdb64a817466ef481122269252fb13359ecd
+DIST filetime-0.2.16.crate 14502 BLAKE2B c19a6a72ca4f6a34f9de39d9acbae694326a7a8c1a3aed50ca749e09905470a26c5c61986759d9fa83b9740354796d0dd3d3781c1d4c2cf1d8da5cfb630f045f SHA512 4c6277f43b2de6432769353615406af824295742e5604b40c2673acc2010b349fcbba201e7273756857938256f1693a515f3b9145f34405a56cd23af4dd30222
+DIST fixedbitset-0.2.0.crate 13597 BLAKE2B cfbdb06fefda131509b04cfa780c9e9574ef0acb902479d7ef98f32ab45b18d78cb1cc94fba78bd023267a7f2a081aab29171f81a9e90912d4aad9f5fc17ba3d SHA512 44642b270d52f71637a87e5311f70ac77baa2a377f94254d1bd728b4ff02a3176f3a5d07732c0c4fb9bf303dbeecf327432ae01e2779d966cc13b5fb97cbc28c
+DIST flate2-1.0.23.crate 70440 BLAKE2B 82fd8fca09a429c1a9081b450b1f255c7b7cf62852c6b1fcc8f1252b60b79f4f1e1ee187b41510e8752f4b67a817daf68319ac8df63b682f2736b761ed98fb0a SHA512 01f84f0d4d0c06aa0c807e5ccb418a5675d88d568694f74aabec8ee06c74e6b75c9c28fbeba2a99fe74b00bd29e71b9aa2df0d96da85beec76b3a30b4d044fe9
+DIST form_urlencoded-1.0.1.crate 8773 BLAKE2B e2d2224dbd85d053343aea29ef1bd540fb8be12fd600289e9c048e3b74bfb009d0770f8296556309ef756086f22feec4713dfed1006e1101075c8897be5471cc SHA512 3ab371c223561a27ffbd35cf648ef4a9145d47bba9d71900a7c54cfc2f089175e9361f6352331a9a7fa018923b15e7a3553c8f9ff9fae80e1626e641a5faff68
+DIST fs_extra-1.2.0.crate 29918 BLAKE2B 92e5de4cdaa16ed8c2737e988f8f2419e394f56e30ec43d9a29dbadc13ccbbdff7cf2b30788d37f160123df83fa998b966fc9b5f793b6e15f84af4dda7ec4cd1 SHA512 66670d624394874d7f786f8d362438c53f5b18008909ab8e7a74e82518dbc189e37588836f05f19dcd4718f4c1a5296fdf274380d574b1f475e28891ecdd6c91
+DIST fsevent-sys-4.1.0.crate 4620 BLAKE2B c203c774d5038d4c4abdd7bb9407a6b5f2b203a609bd92a7fde38afaa71248f4610e89c73eaf982a5d76560f9503081b7b10573046b1a91f09de4b642709417a SHA512 e702686629557b879efaccd37b03a7ec515eeea29d8f8ba46f82b8b68ad157ef9d6b188be031f806d8fd27d4e9d2689cdd6bfa14e4ff77493a7d0be3ef1238a7
+DIST fst-0.4.7.crate 1573393 BLAKE2B a79e31cfcf6f15656469711168177103f3aab354f954fb898d05dd9c9595ebe595ee3b70edbbcb81828e74149a83efa62899beff7180961bd8a281b6a9475d87 SHA512 0813ff6be882def55db7df84d7d4da6879655b2992a51a293056628a1cea768fd258963720140099a0a3b5f863f094087b03fa49de2ed0d657ae94d556ad5c33
+DIST gimli-0.26.1.crate 716168 BLAKE2B c138e890457e8724295cc8996f8e60f1f4d3eed46c865dc7ff2379c65e8d470080953eee70718867b73524f57d54d4a91b5d5ba74d79bd3da38084a880f3fed6 SHA512 c341354e13a78c4afeb651a0ed651f60d188957216ba51079512531ab1273b1b79c86c57e904b87064015f8e7efe4280d9edd4acf90e25fb29f8813a4c7bf9a9
+DIST hashbrown-0.11.2.crate 85713 BLAKE2B 402f9f1bdcb92631206f9b72923ee35e28db8623e87469c0f1496664bc7185077013ab3c8aea68268241e5b2504f10cddc613a350abd4291050deda6c112e559 SHA512 c21ca68fd49bbb741901f59fed04cc124b8da99e2a4dfc26e2e5e1140637872b344612a01691bd30cc771575c571be15f756c84dde225441699cd2322af2ad6c
+DIST hashbrown-0.12.1.crate 90855 BLAKE2B 0d38ca94f1a7b750b31bc5469ffc1fbdb79a789d0410dc51583f0319569c94ed03b7a8b5f02972cd370a48ad8252eaa6ecc6eca4cb92911ae7366992b9b43cba SHA512 a037554dda19d8c1d79e74fe59f0297855173a1bd0b119c8fbe724b18a07ec7c2475162213d2502483279712a46ff1247f1681aceb97f67c2e7a53b60779b418
+DIST heck-0.3.3.crate 10260 BLAKE2B dc756738081d855583f239908f671e9b5dde72ebfb577f6387b1a169817a03332464cf67071708a4c4f06b1ecb222118e8c719073ccdec1c0f938e5ef378b13f SHA512 b3498e033f44e03206421e565efec5b21d13107b60d35e4476331c44e6effd75c81f7678f2452c822eefd581209a2ffefd2034779cca2d8b4fac4583bbbf777f
+DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a
+DIST home-0.5.3.crate 7890 BLAKE2B ed1cfadae63d1fb0a66f38aa5440dd09a98343e3afadcf1495bf69f3ce813774c9a49776c6b3641001b6007c01e24ffa6d2600c1bab05c4ea3353c74ddae2fd6 SHA512 cb3b7b24db30a8b29f36f90a0d345b2e187f9e76f22203e142a77c8308dcc62e97b5714fb0ed890210b31375cf30d3362b8d740fe189079a6d3a095be50dcb0b
+DIST idna-0.2.3.crate 271023 BLAKE2B 157ece18825fd3f8055581ccbd14191a6923da4c806ce51b3d6376682878db000a1b873f744c8e9e1966e4c1f8393643bcb603deae299ed0bd87847b0bd2c591 SHA512 1278bd561ce329e1dc7a6f24a10f83d9a068af5d15a088414f3921c6728b0d54f4d60d6f4d0d5a786596ad226263e1e50c3842f192d5758aa4665ba4ed5c269f
+DIST indexmap-1.8.1.crate 53220 BLAKE2B 9605405ef6d7559fc5d6fde38cc6810ae49e69b93e0687323f9a4ecee9b513a1cf7c57b8ef625a9095fd36cc7ba6e98410fa11a7a8788c424fb6a0cecfe6b37c SHA512 919372d9bbe791092ca78026ea6f7f6b6560b5c011682b21afcfbbc76684a18844602545a527e3342e2b787643b1c07c8f18f2279535b7afdf395361c9a8749b
+DIST inotify-0.9.6.crate 22971 BLAKE2B 7a6cedd29b2503911fb42324fe3b4f4f20abb62a6b4370f8a7f634d9988f1b3053a70d69d6bbd7b850aae2590ded7548b73326a598d31e5b579e19ac3cc781d8 SHA512 39c3db1b6da620df9eaaa41cc20c2f22b9a372e181ed7d8ba0c7ad4e711ba4486bcec7ff86bb4d814d9c53e071cc4e43845567069e45b897c562cb677fc872b2
+DIST inotify-sys-0.1.5.crate 6965 BLAKE2B d70124656ce3e6f5ea3f430e8e7100d0691003161234b40542ca86c407ecaac1785f3eca98e9fd2914dababbc3f47a0855c99c9f19245d1f2cd5312739c802af SHA512 dae749f32c533b0c9f99963d97a77dcbfcacf173ec8fd7a02f275804f9925e867b4dfdf6be52c3c3c3de136d64e6e7d6b30a3bf804a01608cf974b0cc2e346da
+DIST instant-0.1.12.crate 6128 BLAKE2B 728923f757c1ee4e4a7afb90e460eed81392068961240a538e5c6468e15a0b6491f590fb5f6cc46e6d78901ca232351f65abb9f2f230d8f4983c5e58c4011902 SHA512 fae494c00111c51c840f9dd6a10febe403e27ebb933dd16633a213e9c20f2bc11adeb431c71f8a6713bf88f270a010941e15d83df294e658791934f83a5d2407
+DIST itertools-0.10.3.crate 118661 BLAKE2B 0095d6e7f14ddda69605d09f74e8cc881eec1a1d234f705e667d7f9e738ef157b7ddee066855cbcad7f134bf79b99a4a4c77bff3371397a567cd34d98b68bf97 SHA512 9d17357eb68159edf4f4ccd2eb9895672c7fb633803166d5e24ee12350639eaf66f1c822910518185cd1f1ca5d9c3e228dd37525e6c337ba3fc7ce967f9bfc85
+DIST itoa-1.0.2.crate 11112 BLAKE2B e277db8e2f506d4d20b6888b609d9726d594e1cb2c9f21df60a8cf8dcbad1808d8c1bdb0b7857ce7734b92c0f23fb1ec56f8564e779f27eea953d0ffbfcd3f84 SHA512 44a732a102d60b58e72fe76c43a1d185fa12ff08d04eeacf03234368552f84d3de87a2ea0a6e7a56b8cfa74cb6f6697005afcee26f45afe0c2fc7dce5da3b593
+DIST jod-thread-0.1.2.crate 6322 BLAKE2B 8e27300e03c4d34265be761212b8d23dbea90fa6f443a55437a23df8b769e76a341f060c6ced8dd5a036d4142b08461b9d0a68a46b593fcf772fb0d3a7e78cec SHA512 fe3a3feb983b273bf86ec26dcf4edbb1fc0c5f583c3115cedcc63279cb72f0b40bf4134f95d673d5f3e532bcbeafff09759509f55543c98850e750aea39711e2
+DIST kqueue-1.0.6.crate 12740 BLAKE2B 5c4c42d9a8697d3f1bc92fb544bc7894da2349ca6f81d2e714bcc2788719b8c39e447780ed53505cc3fd7bc650350389d961db0cac1396eae42e0262a85d5f98 SHA512 cc0b40d374b54863c67f66cef3e90973aa6ce31ff6193df81bf1dde1171e28baa985b5e38c92459272683d57882331ed33511aef9f9a238ae3f79ecc85dc9502
+DIST kqueue-sys-1.0.3.crate 6673 BLAKE2B 79254d667b4cf1fa556f1773db23b00ac431bdea6c8ecf914e3c0837fe4e25a45c9b6fb76259d628e4c76a20f749df3fc285b54ea63ce3b52d21529358e81c3f SHA512 76023295abaa4415c1d7b37c844432ece522b762f78983cdf58106f65ca553ee96193bd8c93f3fd0af029d266d8414f2ba4d1b8835bcdc180acc7defa6269731
+DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
+DIST libc-0.2.126.crate 590481 BLAKE2B 1000de6b9fa2b3ff025b961e504d6d20b401f37cdeda6710187d18ad2dfe8ec89142bba65486d7853f1796897b58f343c5a34dd6381a0d0794b615635ac31175 SHA512 9bbb17f64a7503819616a71076ebe8ee317daf07b17b9fff783a4459da0439aecee535c09e7185bf148b1993e6fc958d182a490fc9c9a7b9fb635429c491ca44
+DIST libloading-0.7.3.crate 27378 BLAKE2B da36353819cbbc85dbb3196585970b431eb5570140978fed8a6b5e46bec2560b373e20fc108b9520589bfd1f804eea57a524a0cb497620d4a8fd11030e9c4818 SHA512 58da6e73f86aa05132949939507a128188ec2e26e2245e23b1534d90673c9909c7d5220aa4aeab2c16249f7433b4d0f98f20c94b8b1f7434c7abadc8b8039ae9
+DIST libmimalloc-sys-0.1.25.crate 1131254 BLAKE2B b00d0d36585f50a899247113859b51909e13fd2a2e76cfb5f584cfa556152e4975a143abef7922856c47826f88da52eeebc6ab2dbcfdd464c53cd8064b27fb05 SHA512 45fa2448491750ba291fd2238df5412a1f9639831030681394f7620425cc90832f39a19293db3f6df4b13f181fb92798e874864934e6487c246540ce88d73fb3
+DIST lock_api-0.4.7.crate 25371 BLAKE2B 9ed08433ffa70af60193dcf307287991a3154f0ef16b485f32a6c83e64962661a6e08ef83a6b217d6cbf5bd964c0638d8ed86b290087677c1fb3218321c4bbf8 SHA512 b1a5227fd131edaa70e017f7ddb43af8b4efa58488007b898ca1dfc818a3a441b732b7adbf1270e72a68ee5d2a99a5d48f33b2bca8e2cf78694953d20d27636d
+DIST log-0.4.17.crate 38028 BLAKE2B b46be3719fc0a53e50b1f342762e188587e9f1ceb692c72473ce2663edfb8253742d30024e68c1444780ab7fc0e2d5b0601b8ea7228dc3405a9342a57548e605 SHA512 2477d88db42b1d92c30708d88823212e236f613b3465e85eb425f83f8d16fadfaf0352f06c2999a1852102edd2f6ffb10ecb539d8a3b6c48f552a25622ccffa2
+DIST lsp-server-0.6.0.crate 15381 BLAKE2B 675167af76ad25615952c1ed86e32331567f4aa5be4e7dd45734b88a4ca4cabe61c9af17917d57de6dd86378777d60cce8067c41d2e9cd7cd137d8209acd3e05 SHA512 b6532bccfddc8c6f8eab244e112526ec7ddc164b39adecb60ade511a5adc82982985f17070bf8af5c6919bcbae12231f55329866ef9bf56a1e6fdb7c07fbd5fd
+DIST lsp-types-0.93.0.crate 58269 BLAKE2B 1a2f669a26c8250cbd504d9e304c6dd3a1276244370aa5d89ed891d579eda84009dd6d09dcea91e1a4a276400f42d2082d26331c52a310fbfe3a5e80d6e43008 SHA512 b61a27dc450ce147b4dc06d5bd08faab87cad7c5b756f0c1037cd1e85ad0881130068d96045a18e0d5751a38d2bddb1e135e2e2c4989b447185bd9d47e811c98
+DIST matchers-0.1.0.crate 6948 BLAKE2B ec3a5d01d2fedbb4dbf5bb185afbb9401410463a61f51674e0df6a571db352b2bbabfb99cdbdcfb4e511ae783165bf0258f5163f240a229b9087f9edbd0df41a SHA512 84214c1a84952d85631aa1ab5115df7cda223ac64e2acf055b6129ba1aa26ddc87615a8b51ca890ce3fee0419053fa7fe1599ae128f1d211b58c07b0c4af3b19
+DIST matches-0.1.9.crate 2246 BLAKE2B de155202636c6a03ed68cdb21e8ef96e19b45be040a82943d2d7e5192c0ab5c253ab6d65f0b30b2689e21da79cba684af5be6e63c48266681aceba356f6eea41 SHA512 6a2809687d30ff04ea97bf9d1610d746e097699a4c3625ffd1b7b1e4a9673ece9d559058c9f760b99d6ab509024f7b338e7cfa6fe767499c983efa98bfb98305
+DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa
+DIST memmap2-0.5.3.crate 24967 BLAKE2B 743b61983108eeb82e547b216c71039ad8606d2fe533694415233d73accc14388cfbdaf9048fcf13448abfb4a49ecc3f3c961a8ea8a364a428626fed499eadce SHA512 b570f0ea37ba18a8eb22c9207dc952456864fdabf0296bac63c4741e0aec424ac7932fc0dbbd0292ad94406b1e6911826406fa00d11b7590c54816fb7898df5d
+DIST memoffset-0.6.5.crate 7686 BLAKE2B 9a797388702389076c426052c3d54dc62802d5db8bc5c9c83990429f2ffaec4fab4c7dd3f09cd0704d1ea555e87976563bb43408ba54b5e66ce7e406d4604009 SHA512 11bdd9185b99dfee8e659e051b09ee301c7142a372a8117864745a5085c015436d2efbb1478192886f09cbc562529e209d2e3325d94938a64bc75b1d91d2bf3f
+DIST mimalloc-0.1.29.crate 4988 BLAKE2B 8e63c21496e730ce63003b6f9128c703b5b50f845a640a1cc3364a649d4d3a5f8fa9a09f25fff9c94a7714c87ed2d43ee71c194ab5b98a29803561611d8dc743 SHA512 a3713c049b9d3b044746665c8d50b56d5e5f39738b1d023f4e5f9fb9e41a9a8bb1bd4b8e3b8f93e64904d96c288323b33356aca7ebbf3db672652645549785b1
+DIST miniz_oxide-0.5.1.crate 52418 BLAKE2B ec1d640a1e8d3f6c518545ae51c4b2e3a2f2d37dc4465c09f7dfd1df181b3c8bbcc6802b9abaab47e58d704e3b0ed0060aea1cd2ce8b7bb64d376817ebe96dcc SHA512 7fd2c28f3afcb993d48452eac55d0d6037f4eab5c05d6d9abbaab76145d5ea9c6163af9b6461f91d4940c91b9b7734a351096a313311c07cc53518559d578c01
+DIST mio-0.8.3.crate 92506 BLAKE2B 4ae9e7f68921d7102274cd8afe2dbdd59393f9a0f63a1d4a1d9418ba8978e31d521ea73eac7ed1b27bf31d67450952b28964f6d35b14eabf2325c08aee43bbea SHA512 c6eaff99cbfe797dd97e6d29da09a6bbb2a46b3f3ddab7d75fb756950d463545199d13ccb2d51d367a2499d18f88500fce8084b82b2f020865dec0d9d9ccdfbb
+DIST miow-0.4.0.crate 27567 BLAKE2B fbd395d3766c3874da8067dec37bfe40f3dd90c995af5139d2583aacb9d634cea73467b87b84af84c760cad89031c1d26670174b2c52e932ef6729d3fc98dfdd SHA512 fc974ec96a82c92492cafd15a5002c1c647841d607cc1726eb2b98645bb528a5d6adb086322d6fc1753326500ecceecb6cf26d721af26441de8ee23ef87be0f0
+DIST notify-5.0.0-pre.15.crate 57624 BLAKE2B 0f07e7ba2e6b431769e69730dc81c056ab1098a905855d6edb9866e36fb33dcb123c1a464c667d0130322d3810255edf62cf8f3f4e3fc9307782bc050c2913eb SHA512 31c7313c53654ccb76d14826511bd9a687f89cdfe832b0e85adaae22aeba98776fcecabaf321e26fde060357ae52e358b1b48d118e70e562dde98944258d055d
+DIST num_cpus-1.13.1.crate 14752 BLAKE2B 27490aeee349d944c29e50b44e9a84371030459353a9316ffaa0245ce499df4424e39c25a81be59cd0f9a19c3214c78bdc7a84b632059282be476d8f918c44d6 SHA512 91ffe0ec792228621d6c2d5cc544ef4744203d19fc9c86e0aad2610038c43aca0448b6c27d82979417a0f6c939ea73523303a44c28df0d1c1b8d09814d5306d9
+DIST object-0.28.4.crate 237248 BLAKE2B eaea0931cec7c2c71f859b56a70719c71ee06cf78eedd0141467eb4afadff514eb8a996976032b7625a08dc9105e28bc6929890f2e721f7156fe21e3dfcac56c SHA512 32a20452ed62b789c859c442009faf905ba4bc28f11bddfad3da3509861afd8dbe54e5bc0523c0eea5d5ce19cb94dee2e74f218f79df52d95ad22657d571839f
+DIST once_cell-1.11.0.crate 31121 BLAKE2B 02ff93cd8845bbc3f7741d0e05fee11df5e1c35961b505b2717e697b9c503891a89e15b2c71b76a66f5f239c5ee650f2ed6105b445a4f977578a4243b4dac96e SHA512 3769223beed1a7c8c5625e18dc000b3ab296c7c3af21bb6cb563ad9d130bbbcd447d420d0ec591e6366652727de11dc76dc8f7720110de50be7cbf177587cb15
+DIST oorandom-11.1.3.crate 10068 BLAKE2B 443ced49f63015823866257a36a88e566f75adaa79511c1c73f1190ec8855ca590d2b6ece07c2ad5e9e47a89f7891af6e9e43b7d74d9ac57cb3551e60b50aca1 SHA512 51ae60ef51da56d7673f36a6c5b99b743580c5f5be54fdcb54b69e5e2f6bbba3267f96b74e7cd6dee6962dfa6696fd9ed073f22726a2861b8f2601946a8efab9
+DIST parking_lot-0.11.2.crate 39869 BLAKE2B 67c555e87b68f5763a7790563fd8d542e126bcb77f91267f3b76c51fd73060a2c32dcb91f9d0db7ea772e555d91576c8d7ff48053a9c35fbd3b749d2459a660c SHA512 526b176363dffa59501c18324bb723a3846ef5b0ff9bf1d890e40ad10e7023284f7c8012eda87520eaa94515ee828d9ef52692a9ed590a55e176383d6d472f9e
+DIST parking_lot-0.12.0.crate 39761 BLAKE2B 227ae508bebea21bd06c7a9c1651879ce3f5cd308019c8733f6b88e75a57b57d19b7bbc5dfed5ef1bff57ec0f116606ab699cfa6017b6e00078e7e4717cd58a6 SHA512 efa1ebe2f3849a9c6ac484c7e1cdd279640539468bd4d4da6c4c97ae34e86fa3a42818ee4839dea512635fbbd836829dbadd81dc05208614c820d1374139673f
+DIST parking_lot_core-0.8.5.crate 32466 BLAKE2B 44d9cb65444ea93fded7e216e3bdbe2256ba1611f5cb6f80d67a01e71d428b81e6c7fc73cb928e2125f34bac0abf4d1da39f622e813dff89b01fed7632308b7e SHA512 c4315df551748d1ae77655e4d9f8c90f911498856e5358009e9e02e410bb8085f006f369188b0753a298371ebd74a5c383d848b65e31b55f3462381308c83a00
+DIST parking_lot_core-0.9.3.crate 32256 BLAKE2B 79a1924a983b948a5c2b0c074452a7b2b61abda973d3bc8040d9153d34b378f0ee330e36aa813f49544319c479665d6328be71481f2e1e41bc94abb9bfbd12a0 SHA512 fa30db0fc73b268ab8395adb8bda35d12dc15363b247a95b7c4bb848ff9b8dbfb971a20f320b4feff3317d5b533c59b62152e4c652c1809a422c5671310b30df
+DIST paste-1.0.7.crate 18285 BLAKE2B c32095dc3e828fb91aac7af107af824866d2efb70ad6e01faea4862156341130ca686076e3cfc1b5f127354bd4ad513f47da553577c91437794f63d2a8b6f29e SHA512 6f203485cd916f68c4acac6fe6193e2ed8c5a36a6f58865fecbbc4e112e14c6e849cf61cfdbe22fd5b6311d60f1831d726da519a51a1a936552c3b39f01c90f0
+DIST percent-encoding-2.1.0.crate 9748 BLAKE2B f3ff35ac683724b15e40c85e0fb8ececb07b61beeea82b7020f02d27df05a8a3535f157b3cd688533e414d6541de7de8640ef4756706d8061af0fec94ba04ab3 SHA512 98af4dfa7c6a3cf0d5aa929c436f9eb1ba1b576a944513f1284e6df2ad06be7cab9eba145d888d50af88f8c970bacc702b323041bec6d4fa1dc34095186c628a
+DIST perf-event-0.4.7.crate 21279 BLAKE2B 241bfe486bd5d53aaf2e55293a75b967d8154acca3ec270d3e207e1391ab3fc0afbd58b24988c4b5e7221b994c5a6ce4490504c1388369126f0c0293b74a62ce SHA512 7af9c3b1844fbe6b4298955f2901a4e12300928122f8c7d2355be6995173c781519fd36e281ef4bdc37e86659d9cf8464b256a3cb35131bfa95e2092f7d7110d
+DIST perf-event-open-sys-1.0.1.crate 23460 BLAKE2B 02a61cf08400391a8f6b5370c21dfd20296f118f9081ba2054c102abe388bf97d89937057267a1b9c47a7d299d31546771e48b526209ce7027519c284b2c020c SHA512 4e8fd8a3c8e02166073e4bb146430fe627821b881b59c8097e978cd89d5ba7a47a9f1a6ad7001ef1e64e1cec156614737e19e49d5a3a2ea763516350972a7288
+DIST petgraph-0.5.1.crate 147173 BLAKE2B 3b74b2965ecdb37a82439111ad849581254698c8701d8d5bdb050f4a30cce05016511928443cf65dac394dd45584279a933435a77ef3c610a64c73cc5a68ff9a SHA512 c3d5f53b1a0900084b0693a6f3a849bb9b443b1b6fd1ad88bce8beb12ed1b45f2399b68db3366ba15f33c2d5682e052b733dbde76fb1b646b7bb1e660a38d8bd
+DIST pin-project-lite-0.2.9.crate 27713 BLAKE2B d6985b5add432fb6287d1b0c9fb0cc91a195f82c5a748a9ea430e4ba884717ec7b16d730b5ea62de5b2bfead1771da2d115b3776e12e605f70f2538f374a28fa SHA512 cef0b77233adca712db1183f780732ea577cf1b27c2643de221d54c837c75ce749f907e24a967be7474812c7682cba613a3fc5d553a9578a1b80569da0e562e4
+DIST proc-macro2-1.0.39.crate 41663 BLAKE2B f7d83709efa289ccf12500389c7a4f4f0e32aa686f2d9c47f0da2a5381981e70e45f1b689023891c2543ce633c593a68a629c6414fbb3c2266e4cd99b8660048 SHA512 cd1572831493f83eb51985eed06d8ef5c0ea96ce4231d5ce3be5af9db97e7dd24400332d3b80e0e9c808091fc11889340dd86d8783ff3d9681dc53b876f49a0e
+DIST pulldown-cmark-0.9.1.crate 114955 BLAKE2B ee295f4b65dee11c0b39054a4613cbfa1058a8dce05dc298bacc151e049dbe3f05b1739205ac345a98e70662187932d226c0d0667974b3c6a6f55882b566564b SHA512 466d6b4ceee89e1a8c71ff7ab8fc1000e7ef1d9bd22193a152358e1dad28c0c1bbe619caf71106d74eb376805dbfd2b888a0626c8c2851bd814d348873843306
+DIST pulldown-cmark-to-cmark-10.0.1.crate 16762 BLAKE2B 0646e74cf89f7cd2cb40dc6484f7179fca6f3a7783496445f5561918017e7cf093b7f8690208cf2f197fedc469b7f8c5220b6c8577f39ce8578370b4d4032523 SHA512 fbc22754672681f778d165ce166d25cea590fbf30e249ac91bb9c6a604aca1928f426c4a9f77ec32e5bedf615d8425784781feb3d9c56778849ba72b9a90a996
+DIST quote-1.0.18.crate 28911 BLAKE2B 623872402cb185a57e2ffb1bfe4105c49c152c33c44c8054af59df7bb193d14416ea2caa7b28b3f9b9ae6985bec7fc7825bc946e2e41915d2744c887a51559b6 SHA512 3fa537aa96a8970104411471b0e4b7b9339583d552c1d9297737a59ef5301af41da105b92aeace87376e1395e379153f6551bfcfe9c740e6945064426f5f6f84
+DIST rayon-1.5.3.crate 167246 BLAKE2B bb312c9879fea3cedecb70bff78616eb7fc761e2201d5576d86074f4926dee6266ff6f917cc97a63b6e6daffc33f5d693a5c73daa49724643b93f3b9ac77d8dd SHA512 47909226951c4d6b774880dd308e2633b1582e41e7730ac8af902895578e6f29a9b1bc47debbd9618c5a45f317b4f264480392c8982aa33576deeb9d5f8ffb82
+DIST rayon-core-1.9.3.crate 65300 BLAKE2B de5700c9def379f6a27ee0ac0667f741913c28ba4d98e95d7ae964c32f13967b4ca160d219b53394985ff4557a11a6ab3c242333e2a6d3790801bdffef3f9153 SHA512 4b852f083766e7e414132840cc8dfef148e15db47967eeedc2ddbff9a4372521c296dd4f66e0b6990f49a8ce88ebed9d44e7ad674df42f96b99b24469b1852a5
+DIST redox_syscall-0.2.13.crate 23759 BLAKE2B b59c3e923b7bddc84285377eca86e649c21ee7dd61924245d43c6554124adf689f9b92841ca64876b34797249698511b322f6e8e639d71e45e1ae9da5f8b7834 SHA512 6551f503ba52c4edc0cb4a418ff212188ddc7be80dcb39eaf3bfb82faa9a76cdf359f604d6b32be6c6a335b54180c9399a0e32670333a5a08351957308486100
+DIST regex-1.5.5.crate 238119 BLAKE2B 175cec668da4321930a070993feb1671e14348b78e8b432f9fa25afd764863ff233b0d1d8931951ff99a3b5bc2e18774f68a6c0a4e31125ffcdb990b5b1b009c SHA512 a5873edc75a64f03be77151c318bc90c7dff565f838d811f5973ebca2e86247efd58830b0a8ba41e372f5a72f5402d93873f8d34c36481fa4359874b2fa5d571
+DIST regex-automata-0.1.10.crate 114533 BLAKE2B 0e357229f6825f14339b1d7c40730b83e62bba12115d01ed20313320766e769a653a2fcd2c9d19af51a82c38e9e42c1a31d005e1f44f5b6fbb3ead7c9c74027f SHA512 56d64da361afce82c6cb49e70b99ce1fca3e1969c54bba5f9971db135f8544c65f49feb8827789947b3d1dcefc9c49a7a434a7ffe0d09c5900345a1733723c5f
+DIST regex-syntax-0.6.25.crate 293293 BLAKE2B d5ca0dbc26b03c6a1818026f9a69cd226ec934e7c64094d0ebe843052b648617ffae7aa3a074f8da46d03c46996d8b547d8916576342000bd9711089b3e57d73 SHA512 a3d31f82aadc6be1796f76c03152ff24f37fe42d6ce27fb98e2f55ab102f86502bc37ccd563f6e0eba61aab20d002184c618517b678b3b93cb8f0497cc046ca5
+DIST rowan-0.15.4.crate 39346 BLAKE2B 164be51df54c081cac11526d930567a23e87665929aeb964eeab78a7456ee63c4b19d3d22b0f746460d6f53037521b91f1ec2a9d8b9a02ad355e20ac83b5a764 SHA512 aaa804f8dc90fcd1009553e1f3475862d865d24b10894e63c3d1005a31a1c4bdac243320b49aa9c9f71ad0c8cf166d0cc3863f50c1de4a9b4ff07a2e6ddb1e33
+DIST rust-analyzer-2022.06.06.tar.gz 2244430 BLAKE2B 0b04ca050c7f6656c37e5b886a97995e2b7513aaaa37a4b94da66d37618cdc2f229f997168c0028920666ae9272fd48ef8685ad2b879b41820e2a51246ced2fc SHA512 8c61f89c9993ea4260482e184f3ae0168cc7a3268f687235b75755a1f968ba10f54eb8485ee364250e5642d80d87a37debdee1a893e6252689e6e27aefe2470e
+DIST rustc-ap-rustc_lexer-725.0.0.crate 14086 BLAKE2B f918e3a6f1dceca79aaca92b919b4c013fc0ec4df0a1ef0482c26656e7e05766ec73305a7e8a32e24e5337d7e204d67d3cc9e091f182b19dd4f53deed8687ea4 SHA512 4239c4762d7ca351698be015ab251193f65487bda73a9dfaae5788e5b8395656c12d7f9cb5ee16cbd8c03dd5b9828dfb7d507498f40dc83d6a85ed3d59cc657a
+DIST rustc-demangle-0.1.21.crate 27920 BLAKE2B 73ada923b9b293c5a9893f86fda0586139afbb7d56894cabbd70612d1fb0330a9e491d5143fe3498a0c8d3e1a3f8e63c14b20865926e4c831915592486ae32d0 SHA512 4031b26863a726cc6d3398b48682e0f0f9e5665abf20a5d35343a904ebd7c0d3752dcdd3a049b2bfa3e2a303214dc39a2980700bcc64464f7029be3c7f34727c
+DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544
+DIST ryu-1.0.10.crate 48485 BLAKE2B cbc0ab4e0b2031f4ca3a34914bd61395d14706d42e2414757aa23a67530d549382d61b630159c92a169d1dd3315951b0071ff18349d2b090ae262de536aa29e2 SHA512 1bd0af71a20715251dd42596df6e7677e44f712bbb40b0d9544109c1b2478a7bd2c9393535f0d4f3bfe2d1b75b3a2b899044051715a7da7d165d6d586e0775f2
+DIST salsa-0.17.0-pre.2.crate 441448 BLAKE2B a5487a1a30eaa3f6fd1cc393c4b8157a5f66389e4795351412587acd0aea62cf4b0ed32da38ef2cabc9773ceccccc6e6616cd443b2e5bd6ec6ca66378817bf6e SHA512 fb6c072538e40ecd9a2c1707832fb08f668fa694157962437b67e30b41ab9789d1446ffda89521aa53a5e29950f252f43a6780d99bb218630d5041dd11207abf
+DIST salsa-macros-0.17.0-pre.2.crate 15358 BLAKE2B edcd8a0adf04114de829aab88d6e2001fbb04a8a52f1809bcff98fdee129889c37f929370e28c0abb431f8a8db98ec00aaafa075cc5ff805e7663f1d81197c0a SHA512 7aa768980b241d160cee00ad1ab73021465c9afa232def3beabfd27d15d8dc9e4b3c885b8606ada6fc805d9453f19db333d01ed186f088cc2a88967cbd91133e
+DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c
+DIST scoped-tls-1.0.0.crate 9146 BLAKE2B e6cecc543760a293b9ba4e71bf0d12f3360782795bc9d0f0bb054614a1c393f081b6178e98708b896037f5b8edcf371b727e7eb80f62bca24fe09a1903456729 SHA512 f09dd404bb45349ef444e7274a2aabfeaeda7c3c9f964bf5c52c39984c137f63bdf9fb3e33df8e312e52872f7721de25951a7f3b8333a670626c51afd36d314c
+DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
+DIST semver-1.0.9.crate 30843 BLAKE2B 52c90056ec744bccbeb4a603b8e138a9b980a063c05462011d3b4cd11c5272c5284d0eec427ffd1e838d73f97a21af70a6c7f8094b6faecd3c18adb1b0be1449 SHA512 23da181209ca26a9e78d8111444c465273cdaac23ef6023b1e9a9a10e2ab9dfb13baf51f8b6f597598bde84c36910e0a45bae4f14555d731a9c9a3e94f37214a
+DIST serde-1.0.137.crate 76182 BLAKE2B dffef53be259eeb051a375e532c3748219f8219413af0615debdbbce61c5ca17be13b06c0bbbd7a85a696b4bc76ae8e252d880b01ecf540b758fc10f11415b21 SHA512 28223488e18826f83a7e90029aebc0722e0cd238a2c0c021e5a162d0f5deaa494713fad10f7ac79c8e14de856af931b6d83cb3efcfd0885837fc71e35ee38a2b
+DIST serde_derive-1.0.137.crate 54831 BLAKE2B 19a0324c18bd00da4feabcf83dd78de2ff7a1905abb82d5600c6128a8351f5ccc37df21e0135601167a51ea1e6691bd22957c2bbd9da637653c7673dbb808d24 SHA512 ee47d3bad717ae16118c43e6f308a0e264bde80caab8f8649bef96ed3f7aa0f9b6a479311df22ecdc7bbcdade65f7b03b79100f8b86caf02f9a0bc77ce01035a
+DIST serde_json-1.0.81.crate 144480 BLAKE2B 3c95d56e65c6673ebe9ef0aa41ba184c5246cbcfb0dd9edf8e87ca6cab736d195ce8b6349846806ba7047854d579517d2d19bbfa932c90b700f06e54cf49b131 SHA512 9f224b2182db2fdddfe1878d05d857c52a60a38f9b4fdfc87c09c20efc8b6ec2419bc60e4b18a0852ed080b09332773eac372f8356af5ac0ddf3da8212345cb8
+DIST serde_repr-0.1.8.crate 10327 BLAKE2B 2df93b708e840c7cf4528a9d15c13ae94a9b3660c5937cf405fc3ae3a1c32fc2c2c743503e7a63e27a999b5a7d550cfee182dc4c7db77377ce91f131a71f601d SHA512 6554814bc6cac332c8d5cc94241c224d8ca532719703b1fad19963db5f4793db7e2a5d195df6a1a534d1edafbb4223a63bae55dc928cafb3fbe69dce76d8547e
+DIST sharded-slab-0.1.4.crate 52479 BLAKE2B 766d81761909006ac740cce13e8361734c3c7072cd07c8c8f611f09772e16f11aa93cabdc5273b9446f5da391b26b7e7d619be523488d8b3558c64c18f20d591 SHA512 123a9ddb126d1adf41a30a632604264d66a06bacc497db6373e9dd36164197f8321f2fc826a16247674f0f69d9f6e30aca37810f787693c4a5c2cee8c5887c55
+DIST smallvec-1.8.0.crate 27992 BLAKE2B d02897eb4d3901805be86cafd5d3dc6768b31c2ee4d0a9d7eb455e2a21be2864ea83589f4ffde102dbbafb66e3c197707af770b5ef184b8e244d992189644b84 SHA512 17687cfa6aaf95a1df063adc3a412a7c41918a0d003eaac90f7d9e859fb8fa1d652eedee17a4cb3aaae9b33a2043f89e796519e3a7a3992b292f04049bf80b0c
+DIST smol_str-0.1.23.crate 13208 BLAKE2B 3ee60b98fec9c8ed6ec765ea47863cecd83cb921b6b0f738b65afbfe8227efe9bbfea6e1e8556cc38fa10e0af92a671fd67039ce547afb58d660a8f251dc817d SHA512 73bd2c20717bc1960021aced0c98654123dbd9b171aff5890374efedb20e4e1e2273f35f6a8d8b584ea6f31ac9da2734f0656a8da0830af0b6a4f45b7b8faba1
+DIST snap-1.0.5.crate 33022 BLAKE2B 0ce3c4379f4ab122e7785c23b42d463c657cee3179d2dfe909797c11a3730d65b6dd660d8626d0fabeb4344356b5cab8e632809845fb7c21e904bdc41594d52e SHA512 d9181f1ffc6605bf7628ab51479956f9769eca85c0942494dfdcf2c7e805173ee3d3bfc17510e72dad6e5c89b80b2a3f9c40b85464eeb79fd6d26de6bee66fab
+DIST syn-1.0.95.crate 236676 BLAKE2B a42463accafeda7b69ce1b69b3be5e8131f612e2e0eb1522d85623cc210b8640aa4489b8450e388e87c78a832eafea3b7074af01901df429a4dd8c37a6ee28de SHA512 a03283c628e85debf93a08bf906cfa7764c157176673cc32ed7c74d9dc8a087d83579fb2671bce5ba30f6fc13f504ebf9abe0ea5440194b13f81ff0e5e753aca
+DIST synstructure-0.12.6.crate 18429 BLAKE2B 7666cd83f82910e036e5b57600dec9a1c2e559453ccc2f1201e2ee4ba64f2ee62cfc1046ded5cae64dd183967b9d71cbfe4b60a88bcb93706eedd0c4ab69be4f SHA512 6ec5dd7ade904fb6d79c2be595886289846e064b8c4100f780d8adfcbb41e6ca67f4b1d682212f4673c2169f889a042049b31161ec3cebc3f399751124f01f9c
+DIST text-size-1.1.0.crate 12380 BLAKE2B 0fb559e971e7f33bb4ee6e20e796f813023ef1798713b224ba42827ce3a8cbc6dc1991c653ddf7219a3d3696a3d1718d6fea7b72b60ae8f543597f5e19d8f0e8 SHA512 24e9d77e37c62b6ad05ee7dcdb5c9fe60c0f5cea1418bc0bf462ce789a1c13704b317e6503db533eff47527c87728bb98f9a34e473f8e09df35e21c08ca93048
+DIST thread_local-1.1.4.crate 13106 BLAKE2B 64c19368f8cec46f23b3052759c4c4ef0de50748432790e6ea11b12477239b177d54e60b9046fdcb2f495b8e0b37ad82809d03602edab9fc85cf814e3bd94fe2 SHA512 db7ff3eb88a73d9313dd58d72397614c5aae6be1d64ead7f16535cae2857be3b27d189e7955308591ec64a0d67777fd2a62a2b124ca73facb9a2d8e0458bdbb5
+DIST threadpool-1.8.1.crate 14408 BLAKE2B 8bd64ede19184e18460f6b2ad5bc888d6facd5fcaa5b43c35269e35909c9c68a884203f5c4b92619c097ad48c19ec29f73085755ee348cc637233ff3b5b50ccc SHA512 adaa5aecdeec25848af15b160e5b39833978454d834974211bd586d81837f2ce89e5590f08b7e0d4868346cf57056913a5d41bc8bf92b89109ed769cce4a8be0
+DIST tikv-jemalloc-ctl-0.4.2.crate 19153 BLAKE2B 59c4556605dac98657991280e1e5515b953c49e77c30bda65d1db2673cb84185e4736423083a8fb175c3c0f62c9dbd00789f75ea4b1dbbcbba3918a80865f338 SHA512 14c4c784eebc1c5e47092128569b265dc0a7789920c9090cbadde31823b3f3c62c9bf86e2cfaebc10923c52a30f3869bd17c742046193d29b2db4bfb972ecfd3
+DIST tikv-jemalloc-sys-0.4.3+5.2.1-patched.2.crate 660226 BLAKE2B 3ddcc8e619d71f1e3d1c9e04c59592f599199e76fb990ad8f964bdfdd79f0b9d83b4a5f9727ea11d28c3ed918f02fad9b0a1094834d152af5616e720adbbdd34 SHA512 5233d082252f376fd16d52a7d95d37a40b3bd24d9382b18eb69169da283002a13e600ee41e305e4cde7bf5ffe1c1253875737355f4346ffdc4e71c75a011c0ec
+DIST tikv-jemallocator-0.4.3.crate 14846 BLAKE2B e166e73a740d07dab133b2817fc4d3af015b499c62162813e7fb1e682559861c0998afd48f3ed428444f613584590df97222f9d93e79eeb716f7b3515a0f816e SHA512 1dee5afe2d3c07512310d6c2175fac330951c1b1e78277e4538687765792549cdc1d548b5f24b7a96e68bc16d9eff9ff06da18b3f82628d80c4c5f34e704a083
+DIST tinyvec-1.6.0.crate 45991 BLAKE2B e9699d4d80a78978f0ebfd049f5b33d7f23d401cf4f4439ccb168e8c0e322473ad0ea7e2ff0ff69e9aac3e5c4c9ae5a7102185533bfbf96dbe77b3526e700bc9 SHA512 e5acaf353c58c60ae5556130a934f1048abb79cf6668ae467d308bac44b689d8a9997227ea879f4b5fe50f29cde8761801b088d7149bcd063b973056c381921c
+DIST tinyvec_macros-0.1.0.crate 1817 BLAKE2B a3d1966bf57c11afcd026269135a6189f149f905bb70b47537c0a7bcaef0bfc6c89bdcbdb0f6cb8e5255632855134631c683fc90606a254ec8ba818fd5ef0794 SHA512 d6afc83a3c70cde916a6ff599e2772588e4bbfa7a5b1c7e5c8aa0f4a8a5c9426182497a644e4a88194ece986d38fa64b6c8eda9eb1630441c8e65a8741a45873
+DIST tracing-0.1.34.crate 72775 BLAKE2B afdcc78ba29f68f3e87e401a89e4c5944da620890823d56f3d345c2e97a2268c19c342014903aa4a62b8d39b67a5313506563a7be0a555b86cd93aa9db4dbae4 SHA512 d4641f3f239d158547d7c811a80cbd2d1d7df366122dcc678d01844988ef3c5f5db637707e7e91bfb2ea16bef5463d52f8a481d1a9804bac197157453b5877d8
+DIST tracing-attributes-0.1.21.crate 27552 BLAKE2B 999e6e257c8778f01cf43365db21d97b9f055019bebba5462968a806e173fc7effc35cacbb60696e3db45d3487627ec3858c282458b38fad74f2f49bdcaa75c0 SHA512 a48da3338cd86e7d9a196e06505d53a6d60278bcd3b709e175219c8d1cbd9c0191af07c335b6401a157563e22d75dd13d5be664c02913c289079bfa667f99e65
+DIST tracing-core-0.1.26.crate 53727 BLAKE2B 1e3efbd8e5ad0617ce15ea14eb6365752067f580504a4cc90f1f486ad3eb7e59087c0f332e3e93ae32a2f4c42a42482a9ecbe180f43dcf34a427babd5290fc61 SHA512 b9d44c307d0fee51675bef07ed7f7d2eb8de8a6ffb37256994f3485f7f80e40f1fa9de1663e5360f945270f10d22e42cd9af60193449bd0a0d323895e994bdbb
+DIST tracing-log-0.1.3.crate 20549 BLAKE2B 1e2b5f1d96983b0dcf3e61f71132536e21dc19af0d532dcff7cc91db45e60cbdc1f8b5b7a7b2c13214dda4e3becd4f3d62262def1b608a99fa330ccf1d716323 SHA512 440cb8ddd5823cd0d86b68bbbf29f6886d5800f95d0aaa9477f98f188013fd009c2b9bc982b17efd08abd071bc70ca511f988b9db8c21d8e3d323fb67614d289
+DIST tracing-subscriber-0.3.11.crate 184827 BLAKE2B 83686c5affeb40a84e95c161b121dcdd533b782151896b86752f4d9a922683847dc350482a7436fee23a23cbadbb9522dcb7966993e877fb84fa8e6deda050e2 SHA512 5d45d5108742aece42bfe7d6f6ed71b0bee81c3e3e3a3117489ec5d4d4ee9c23c157077ad5020b74b019d212fb2a46623e93dc57a7f6bc0a1a853981ea097493
+DIST tracing-tree-0.2.0.crate 17099 BLAKE2B a91a63cdcc3c26cdc6924200e1f9f04f4ba1913bbb237a199fa6bf82447c0be80dcd650ba8bac8ab0ee5016c0d6a27f47b05a4765aa231670aebd3c948dfb0f5 SHA512 b10fc9abfc3aa092ea8816db3911f86fc27bf50f6eb3da701a78d8d9bfa5fe9b017a8dc06ff3a179750a29f6dceccb90756d8e3a3f1ec20fac8a6bd9e4f22fdc
+DIST typed-arena-2.0.1.crate 11439 BLAKE2B b5bd230a22894c5545966279b40a8493940719fdf79bed144ad41c363e7f73bfd40e1492efa8d96fb9b5b32e3a31405ef9dbddd55d10bb900ac082d41a034b03 SHA512 182fdac0ef9b494fc2966005ece2107a3c53b6eafe4eebe9be3d552aebe143e05f3db2b51693c253831744fc265ec2a557d31ee42cf0ba5991b38d075278415d
+DIST ungrammar-1.16.1.crate 8383 BLAKE2B 95f96d2d8576b029c57ea946ab9564af58f0e49249ca4c10396dd782a164d6eec15d80f5716af388ff8958eda29d2a2111340ab5016fb1c11dd99e2ca429c7b9 SHA512 5810f1911f22324db712fd1104577e4fb759abcbdd77e0b60c278e4c6d0769f2fe1e476df630735ad9fd5f1d8df14c68d2e7b4adbb4a4c44b06eb1f8712a27c0
+DIST unicase-2.6.0.crate 23478 BLAKE2B 6e580108ac81b1cbee70e5bd331f43b12f266dae4f4f758bb8f5f073bd1af61943ee0de34cc27769525b19da8c24f8dea4941d0f5454594ab0cc8b78071ff053 SHA512 7e76a5f344e32c56cf87223585d87a56c79627b52bba0b29eb6de82de874b2964accededa8e9b5741f57944b6750fba5c61e679a50d4fd5a5646f431e2f4f188
+DIST unicode-bidi-0.3.8.crate 36575 BLAKE2B c0442dd47a8ee81f575b28e34c9781ccf507b53ea96d1d4df2e8117231e8e67579031e4244a2dacfd6f4c24ec01fbbd4da7c9ab72ad50af51ef56d7d813b6444 SHA512 810b5be48159ecbca542c715496f279518285c3b09f7c39451986f94e6c259fab1057512a2148bf99ba9abf76e861a24456b547cc2273f0b45ed5d3ce9dfe3d5
+DIST unicode-ident-1.0.0.crate 34224 BLAKE2B 62100357db87b74e44166a70a1d0f911281fc7410571554e9e89c94f3529920d1d43a8cdf3a3bf163c8acb8e9f575e83a024cb94217b84ecddc582751486954e SHA512 ccdad29fc63f71c507cdf276b02a5bb7fad44dffa123bf04d5b1495eb9c26bd7ec42ad6e11717eb10dc6499693047952c6b766c40d7b0696bd011779649d5fc9
+DIST unicode-normalization-0.1.19.crate 107353 BLAKE2B 4c69d50efcae131eb4b91d385a64b49412a11ba913b3c0364cd04ad107d59e31adbda74d34ed13a065d9a7825d79fb740e82a4dc66b7813a9837af4352ac9e16 SHA512 7459e9d2867308cac80a98d8dd0b0cce797e2830ea5ff55b878f7a37a6f5e1f0bc14340e1a29955298d660ba2be57754a1478d74851b1b90576dd5bc4231729f
+DIST unicode-segmentation-1.9.0.crate 93241 BLAKE2B 359904bcaadfd161128d40a896a2d10e5dfdb4098de245c949ae3fffecce9b4b6b999bbc2c6ca522944733ab0074e50fe829690183639c312bba8f8d0ad24456 SHA512 7d0ea37bfb24a1a803b1cd40b7b0c0e6e44ebf9a474fdedf0dcca1ead25662e19f44af29b87de1b000c3cc75fec93320938bb3ab9d9e82298eda324bb97e7294
+DIST unicode-xid-0.2.3.crate 15174 BLAKE2B 5cfb2a094047106a45eaeb77ebc1ae2e17ca51ece71082c127d3e2bf36773959f52df1c6df0d0d5cbc40ec4ee7f81820a094fd7ee99f01a2f99a1f7f68317223 SHA512 2adea0c8447c9450be34859f2b2e2b87a61b5e313685da994d21bc24a96dd94088f3320bcdb8d20466a3fdafb0bc0375823f0c28ec0077c9c42a9818f66ac1f5
+DIST url-2.2.2.crate 68555 BLAKE2B f8e59f784b6c2e16bacfba36ad68670a6af17c16ea3b0866b5aa98e5bf4686cf1b1aac9b1f0a0ea3b89a01e044a2ca37830416f42d147158ea8e88f23fd28ac2 SHA512 f9b6ad99d69ff303283b3fd9e98945fbd6cb411a3d141badcbb3a0566723a451375e6dd5d5357e3eb7a1b5b1ee5756a2347c43817db2de6fe35b9004b090e077
+DIST valuable-0.1.0.crate 27718 BLAKE2B ef5ded994c9a6dd302bed27f0d757447b0c86dfefa499c1ef0d25c3a6745ce61cfa2c926826534c9f605f9b89b4a19f91f06f94ae7c03f1ddc4c58fab3ae58bb SHA512 a97f65db1f1c5049a276dbb0e45e25c6fc6ce9d27ac1fcd77c945324cd8216ef60344065c79799ca04e338455e4f7422c44078eea32d5fc359dd0211ee7eb387
+DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
+DIST walkdir-2.3.2.crate 23516 BLAKE2B 473f2b51aafd6ac17e5c3da8d545d179b31486b3a65ab39fbd8bd7fbb2ebcc24bebf01781200a26a68f0b1cb464f5763a919aead3b03eba5a7e1be6efec5500b SHA512 6c44071354faf37720ec4117ded34c8d530489542ee107ac26a7a56ef4a882b9003e22e84f1d61f6078643521343e35aa1f7b57c838779e78e5937a667bf82da
+DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
+DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
+DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
+DIST winapi-util-0.1.5.crate 10164 BLAKE2B fc800aceae5249a858c806c3e969ef2545766099872d856ebee51c883d9acf1122278db9607d50ca53eac351502b700fd2463900932d342240f97f683d517963 SHA512 7baeb661f397c4693dfa001fdc774b323c51a7c55caad40f2de5112a1cefd1d6151e3df41fa4ee193460a5905917c83d2b1de5fa10b4bd014ad96690af95c0fd
+DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+DIST windows-sys-0.28.0.crate 3075898 BLAKE2B d62e2d2404026d29989abb8984c1c84819234b2bdcf4bf55979b5c02e1a593525494d4d5276722001752663013a478b96827b0507dc5d839fe48ecaea5a317be SHA512 5af1e8fa0b0f30d4626f17ad72d7d7b7bc62b24b69c9ef37d1e1440676e3306a4ffe0006d8c977162e4d4d1520d3c91aee132043e8e6fd86b260a148aa8ec651
+DIST windows-sys-0.36.1.crate 3347053 BLAKE2B 818f7812bd9a55a4e95b3d461fa5fcc14569a159882f950d20fd5a6b7d2a2841f082c0bccaab657f5830549e6286a37d9f8fdf825a42403f543b51e35b2d20d4 SHA512 80973e461bef3be0d0d0c13d02b2129aeb0d0700768d637544315654126f101b39f980738035fe325bd96f549493a2245bd7b82511f833efa7bbcb2f62266001
+DIST windows_aarch64_msvc-0.28.0.crate 669636 BLAKE2B 168744354afc6571a79e5fb88878306905ba0686c5a200286c3e24f880aaebbb8be0433a1fb295dae2d8ebbe9e852dfbb06ba13239f668ea8943ae134341b417 SHA512 adeda737d278926d883392a3d177a45d693badfef87a24f9cf02aa6d35b766506d6eee1269ff12613ab3017f29f0ae0edd3209efc6502e702927ddc21b5cd893
+DIST windows_aarch64_msvc-0.36.1.crate 661960 BLAKE2B d503150a05c4aa6ec376d1094ad24a7a4b3579d8f60cae65f4a98adfe830dd776c8996d5c3acfbfca1a69598475b918b5de2a162e3253b0b28cd6aa17de2dc13 SHA512 d0c352c78caec9c71bbaa1a688baab8f39a33c903c0492b19398c76e08194183e254ecd3a8b24af3e7e5e1d9d97373dcbab54499236829898a4fd153cfde2ccf
+DIST windows_i686_gnu-0.28.0.crate 774446 BLAKE2B caf58171bd79c6f20671b60349452f50cfef3ba8a6ef7ba86902edd1c827102ff672110ab44c204211289c2be3792c2fd055da487de64cab50ec97aa6c1cd13f SHA512 db154bc62e6541682104ada1a70eaa06bc8f67d2aec2ff011bd3f6a229606a4b0da1af9a61671e3b7e81f7a17bec710a0adfcba5991481550265b49e6b32a81a
+DIST windows_i686_gnu-0.36.1.crate 818115 BLAKE2B fdb78cf88e1049d1ed6c474f870dfd1ff37b48bc24726d754cfec5b3e77075162f291f93aa709c07c9fa38ccb21a6c31cb5149dabc2cc8ad8a85c03408384a0b SHA512 e2c60e6639beb879472a06ed4462667eb4a78385df6bcde1ca579af759cf2b4ac70e84f7dd7b736e7fbd1b129061555671fed4b83bcd81a6083cc013963194a5
+DIST windows_i686_msvc-0.28.0.crate 732280 BLAKE2B fa8fc718fc6ae12d733146a00ef3f024003ae6f3a14028792890b33c7c8a52e6264c1adfa9355c2ec535f6d7f7101fd00d57987ea05e72f56c5a0518def720b4 SHA512 4b33bdf6641b816753156e29c9e48602d8f487ea924165196161bc2f02e3929ce96671ecdaa9d61d5f74f3deca77ccdae9ed6663217d62994cb4849d70ab5a66
+DIST windows_i686_msvc-0.36.1.crate 724575 BLAKE2B cf964bec007d8432e2009644cf7f89ea7d910ccf9512c067b7bf5c6c825208ce4a36e9864c0cbca137f523983eb46e58e4bd01054cecd7ac7126d2ba9f67ac0c SHA512 02bb1507981229422498ce29f6c777d5e412358040128f84b09d948ccddf0461b078a0a20cc7f6ab7da8595121bb369453ae9ea1f0506aab715662e8c631e737
+DIST windows_x86_64_gnu-0.28.0.crate 743221 BLAKE2B 2d6205ed5adadd4799d7779e1adcaabe5e1cecb90779775f58dc1e571ba8c5b1d8eafd92043b6838e2906f810946c49a7ebc078c249e8c804ed088ac2e6d6b35 SHA512 1aacddb207e6b34ac2123b90e9cde2573b2f18581a8fb1371a828f6c469539327f9e3df115825936d3e4fae7b525718d8cab3f1f0b5b0782dd76c149ce104349
+DIST windows_x86_64_gnu-0.36.1.crate 790934 BLAKE2B 9dec5d966bdc89efbc81989acca242d519f51676ec37487df2bfacd6bfbc5a8de2871be72c5b96a073a899c666e3a39aa60d493e7df39fa90efe869fb744a332 SHA512 598b69e4f2cd3d68f910d526a66dadb465ff30a8c261c9a4455aa1c5b952d23c04f8edaa063cd16fb43564c116a13f06d607f3a0a9c7495054b8bfe1c04d1865
+DIST windows_x86_64_msvc-0.28.0.crate 668950 BLAKE2B 90488fdda855494be0aaf3b4381785ec74c5beae3a4d853835ce320750d7867c1e95067f8f921e2f2f67047b9f84d963f2c765c7c8cd3011841908a7d1c990de SHA512 d8daf7c8cc31d1da53d54ca495dc54b457c5e8a42418348c1fe3b91d4184b3831bffafc56cca1067ecf67c4edf7873e74e505a6e3a7868ce495f2afc759d20c7
+DIST windows_x86_64_msvc-0.36.1.crate 661999 BLAKE2B 4cf967f10d4ce148bac967598168752d1996b4ddf5278a8fca53360566c37c1a014bfb4dfdc0ae2d96e01196c42eb4906ea80d8e9dd23b9e9f3163631c9e253e SHA512 89c22ed51a74f531662d80ae0fa5e0215728db1e6caf3c13eaeba95a93548b43c00b8474f52553ac866ac83c203b6c22dc44fbc870e882a4c9c97ba54b87c631
+DIST write-json-0.1.2.crate 7414 BLAKE2B 8527f2f2db543a5866e4dff949b1c67f73f901a2bc819199b4e4cbe70ceca6e4f801d08cc037e95b56b1f469d6859b3a9bd9bcdb4d4deeca90072e00496b9f86 SHA512 80d34868d5ac6858de9850385d24294d8b3d2a743207ce148cc0dfee64cdccecc85c69de0ff06bb74629cbaba5f4c69c2a934afc43f6121b5ee3ab5eb034b80e
+DIST xflags-0.2.4.crate 9932 BLAKE2B e76d081e02015889f54bb5ff0ba8999e11bf1530f997518264d0a121d2e550ad212ca7e195e066b24bed5857e92460fa0d2816ed2fc5259c93117498c3421340 SHA512 1bcc4ed61ca04d54dd3a87498ef13d9d1179b9614f8161221bd301a94b0c75f47ddbcc2487f3d4034210eb124dc01527d70786dde7c1435625163533b3d820fa
+DIST xflags-macros-0.2.4.crate 10740 BLAKE2B a5ed80034908868e899586b0ba235b262462b217bf07933f7aed36698d4921f943d4747e12daa5c5d0a2d99b66e9dec1ab696f740e4605a93fe284900fa773ad SHA512 073ab7315b499be0b0a807f865992b83e43f5557ab5c798c8bf05926d488f68d439a332607e336d1112bf3f7dec3a73da784ebf8db031455c725d5f1c4cb6de0
+DIST xshell-0.2.1.crate 23704 BLAKE2B 79bfc4f6faf0f5f9b0153cd71df177e02f65b036ea798c8ce3c147d5fd063a52b02a1ec521d65306c5f2279ee6fc33515810071a77570600decf6c1787af9f7d SHA512 93b69791fa325f95472061d27c8674059618f06b4245d56cc1caefd1afd6157645bce9946cb9c48e6fcf5b62852037f5b2a81a5376b5c82e2558661255a4b6f3
+DIST xshell-macros-0.2.1.crate 2849 BLAKE2B 2c2e91d1ccee6480f1752d7c9586d0aea7a202e3e5b9180758ceacf7369bcc7d98be4b88ceec30f6d570fae5d5cc9e9fc4bccd46a8e3c3961d54102c3d49fb5a SHA512 dd1d31fa327a7d03ec36c304dfdeeff8df1b3eeaec21c99e53b957d4e361639141604c4ad81e1c420a1aa68094745cedba30560bed9a67547e182bd3d61d2b31
+DIST xtask-0.1.0.crate 863 BLAKE2B b04f7cc66b9dabb3a85872c3670982f32e68e93ec4d56548d2e26cb4952db68404666233a6292c41d98ddd71628ba2f0831782d2f31fc7e2930affe473a239fd SHA512 fba59dd4e2318b87bb33bab16cce5237ba87006704148436f780494491405335e5bcf5b9c4ddeb99d175c1a6180168956b87990a3b99644b8a447d3aa678fdbc
diff --git a/sys-apps/rust-analyzer/OWNERS b/sys-apps/rust-analyzer/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/sys-apps/rust-analyzer/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/sys-apps/rust-analyzer/rust-analyzer-2022.06.06-r1.ebuild b/sys-apps/rust-analyzer/rust-analyzer-2022.06.06-r1.ebuild
new file mode 120000
index 0000000..4357525
--- /dev/null
+++ b/sys-apps/rust-analyzer/rust-analyzer-2022.06.06-r1.ebuild
@@ -0,0 +1 @@
+rust-analyzer-2022.06.06.ebuild
\ No newline at end of file
diff --git a/sys-apps/rust-analyzer/rust-analyzer-2022.06.06.ebuild b/sys-apps/rust-analyzer/rust-analyzer-2022.06.06.ebuild
new file mode 100644
index 0000000..c538ad0
--- /dev/null
+++ b/sys-apps/rust-analyzer/rust-analyzer-2022.06.06.ebuild
@@ -0,0 +1,215 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Since this crate will only be used in the SDK and has lots of dependencies we
+# don't otherwise need, we can just put them in CRATES and skip making ebuilds
+# for them all.
+CRATES=(
+	addr2line-0.17.0
+	adler-1.0.2
+	always-assert-0.1.2
+	ansi_term-0.12.1
+	anyhow-1.0.57
+	anymap-0.12.1
+	arbitrary-1.1.0
+	arrayvec-0.7.2
+	atty-0.2.14
+	autocfg-1.1.0
+	backtrace-0.3.65
+	bitflags-1.3.2
+	camino-1.0.8
+	cargo-platform-0.1.2
+	cargo_metadata-0.14.2
+	cc-1.0.73
+	cfg-if-1.0.0
+	chalk-derive-0.82.0
+	chalk-ir-0.82.0
+	chalk-recursive-0.82.0
+	chalk-solve-0.82.0
+	countme-3.0.1
+	cov-mark-2.0.0-pre.1
+	crc32fast-1.3.2
+	crossbeam-channel-0.5.0
+	crossbeam-channel-0.5.4
+	crossbeam-deque-0.8.1
+	crossbeam-epoch-0.9.8
+	crossbeam-utils-0.8.8
+	dashmap-5.2.0
+	derive_arbitrary-1.1.0
+	dissimilar-1.0.4
+	dot-0.1.4
+	drop_bomb-0.1.5
+	either-1.6.1
+	ena-0.14.0
+	expect-test-1.2.2
+	filetime-0.2.16
+	fixedbitset-0.2.0
+	flate2-1.0.23
+	form_urlencoded-1.0.1
+	fs_extra-1.2.0
+	fsevent-sys-4.1.0
+	fst-0.4.7
+	gimli-0.26.1
+	hashbrown-0.11.2
+	hashbrown-0.12.1
+	heck-0.3.3
+	hermit-abi-0.1.19
+	home-0.5.3
+	idna-0.2.3
+	indexmap-1.8.1
+	inotify-0.9.6
+	inotify-sys-0.1.5
+	instant-0.1.12
+	itertools-0.10.3
+	itoa-1.0.2
+	jod-thread-0.1.2
+	kqueue-1.0.6
+	kqueue-sys-1.0.3
+	lazy_static-1.4.0
+	libc-0.2.126
+	libloading-0.7.3
+	libmimalloc-sys-0.1.25
+	lock_api-0.4.7
+	log-0.4.17
+	lsp-server-0.6.0
+	lsp-types-0.93.0
+	matchers-0.1.0
+	matches-0.1.9
+	memchr-2.5.0
+	memmap2-0.5.3
+	memoffset-0.6.5
+	mimalloc-0.1.29
+	miniz_oxide-0.5.1
+	mio-0.8.3
+	miow-0.4.0
+	notify-5.0.0-pre.15
+	num_cpus-1.13.1
+	num_cpus-1.13.1
+	object-0.28.4
+	once_cell-1.11.0
+	oorandom-11.1.3
+	parking_lot-0.11.2
+	parking_lot-0.12.0
+	parking_lot_core-0.8.5
+	parking_lot_core-0.9.3
+	paste-1.0.7
+	percent-encoding-2.1.0
+	perf-event-0.4.7
+	perf-event-open-sys-1.0.1
+	petgraph-0.5.1
+	pin-project-lite-0.2.9
+	proc-macro2-1.0.39
+	pulldown-cmark-0.9.1
+	pulldown-cmark-to-cmark-10.0.1
+	quote-1.0.18
+	rayon-1.5.3
+	rayon-core-1.9.3
+	redox_syscall-0.2.13
+	regex-1.5.5
+	regex-automata-0.1.10
+	regex-syntax-0.6.25
+	rowan-0.15.4
+	rustc-ap-rustc_lexer-725.0.0
+	rustc-demangle-0.1.21
+	rustc-hash-1.1.0
+	ryu-1.0.10
+	salsa-0.17.0-pre.2
+	salsa-macros-0.17.0-pre.2
+	same-file-1.0.6
+	scoped-tls-1.0.0
+	scopeguard-1.1.0
+	semver-1.0.9
+	serde-1.0.137
+	serde_derive-1.0.137
+	serde_json-1.0.81
+	serde_repr-0.1.8
+	sharded-slab-0.1.4
+	smallvec-1.8.0
+	smol_str-0.1.23
+	snap-1.0.5
+	syn-1.0.95
+	synstructure-0.12.6
+	text-size-1.1.0
+	thread_local-1.1.4
+	threadpool-1.8.1
+	tikv-jemalloc-ctl-0.4.2
+	tikv-jemalloc-sys-0.4.3+5.2.1-patched.2
+	tikv-jemallocator-0.4.3
+	tinyvec-1.6.0
+	tinyvec_macros-0.1.0
+	tracing-0.1.34
+	tracing-attributes-0.1.21
+	tracing-core-0.1.26
+	tracing-log-0.1.3
+	tracing-subscriber-0.3.11
+	tracing-tree-0.2.0
+	typed-arena-2.0.1
+	ungrammar-1.16.1
+	unicase-2.6.0
+	unicode-bidi-0.3.8
+	unicode-ident-1.0.0
+	unicode-normalization-0.1.19
+	unicode-segmentation-1.9.0
+	unicode-xid-0.2.3
+	url-2.2.2
+	valuable-0.1.0
+	version_check-0.9.4
+	walkdir-2.3.2
+	wasi-0.11.0+wasi-snapshot-preview1
+	winapi-0.3.9
+	winapi-i686-pc-windows-gnu-0.4.0
+	winapi-util-0.1.5
+	winapi-x86_64-pc-windows-gnu-0.4.0
+	windows-sys-0.28.0
+	windows-sys-0.36.1
+	windows_aarch64_msvc-0.28.0
+	windows_aarch64_msvc-0.36.1
+	windows_i686_gnu-0.28.0
+	windows_i686_gnu-0.36.1
+	windows_i686_msvc-0.28.0
+	windows_i686_msvc-0.36.1
+	windows_x86_64_gnu-0.28.0
+	windows_x86_64_gnu-0.36.1
+	windows_x86_64_msvc-0.28.0
+	windows_x86_64_msvc-0.36.1
+	write-json-0.1.2
+	xflags-0.2.4
+	xflags-macros-0.2.4
+	xshell-0.2.1
+	xshell-macros-0.2.1
+	xtask-0.1.0
+)
+
+# Rust analyzer stores its tarballs with dates as YYYY-MM-DD, so convert dots
+# to dashes.
+DATE="${PV//./-}"
+
+inherit cargo bash-completion-r1
+
+DESCRIPTION="an implementation of the Language Server Protocol for the Rust programming languages"
+HOMEPAGE="https://github.com/rust-lang/rust-analyzer"
+SRC_URI="https://github.com/rust-lang/rust-analyzer/archive/refs/tags/${DATE}.tar.gz -> ${P}.tar.gz
+	$(cargo_crate_uris "${CRATES[@]}")"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND=""
+
+RDEPEND=""
+
+BDEPEND="${RDEPEND}
+	virtual/pkgconfig
+"
+
+S="${WORKDIR}/${PN}-${DATE}"
+
+CARGO_INSTALL_PATH="${S}/crates/rust-analyzer"
+
+src_install() {
+	RUST_ANALYZER_REV="${DATE}" cargo_src_install
+}
diff --git a/sys-apps/sandbox/OWNERS b/sys-apps/sandbox/OWNERS
index 995488c..d39c14f 100644
--- a/sys-apps/sandbox/OWNERS
+++ b/sys-apps/sandbox/OWNERS
@@ -1 +1 @@
-include chromiumos/chromite:/OWNERS.build
+include chromiumos/owners:v1:/infra/OWNERS.build
diff --git a/sys-apps/sis-updater/OWNERS b/sys-apps/sis-updater/OWNERS
new file mode 100644
index 0000000..c68a8bf
--- /dev/null
+++ b/sys-apps/sis-updater/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/sis-updater:master:/OWNERS
diff --git a/sys-apps/systemd-tmpfiles/systemd-tmpfiles-247-r3.ebuild b/sys-apps/systemd-tmpfiles/systemd-tmpfiles-247-r3.ebuild
deleted file mode 100644
index 1f99dd7..0000000
--- a/sys-apps/systemd-tmpfiles/systemd-tmpfiles-247-r3.ebuild
+++ /dev/null
@@ -1,206 +0,0 @@
-# Copyright 2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="6b08fdfc2c5ca9adb0e443e19b40a910c777de64"
-CROS_WORKON_TREE="ee97d599a375b39a743f9745b31a258f80ade471"
-CROS_WORKON_PROJECT="chromiumos/third_party/systemd"
-CROS_WORKON_LOCALNAME="../third_party/systemd"
-
-MINKV="3.11"
-PYTHON_COMPAT=( python3_{6..9} )
-inherit meson python-any-r1 cros-workon
-
-DESCRIPTION="Creates, deletes and cleans up volatile and temporary files and directories"
-HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
-SRC_URI="elibc_musl? ( https://dev.gentoo.org/~gyakovlev/distfiles/${P}-musl.tar.xz )"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT public-domain"
-SLOT="0"
-KEYWORDS="*"
-IUSE="selinux test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
-	sys-apps/acl:0=
-	>=sys-apps/util-linux-2.30:0=
-	>=sys-kernel/linux-headers-${MINKV}
-	sys-libs/libcap:0=
-	selinux? ( sys-libs/libselinux:0= )
-"
-RDEPEND="${DEPEND}
-	!sys-apps/opentmpfiles
-	!sys-apps/systemd
-"
-
-BDEPEND="
-	app-text/docbook-xml-dtd:4.2
-	app-text/docbook-xml-dtd:4.5
-	app-text/docbook-xsl-stylesheets
-	dev-libs/libxslt:0
-	>=dev-util/meson-0.46
-	>=dev-util/intltool-0.50
-	>=sys-apps/coreutils-8.16
-	sys-devel/m4
-	virtual/pkgconfig
-	test? ( ${PYTHON_DEPS} )
-"
-
-pkg_setup() {
-	use test && python-any-r1_pkg_setup
-}
-
-src_prepare() {
-	# musl patchset from:
-	# http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-core/systemd/systemd
-	use elibc_musl && eapply "${WORKDIR}/${P}-musl"
-	default
-}
-
-src_configure() {
-	# disable everything until configure says "enabled features: ACL, tmpfiles"
-	local systemd_disable_options=(
-		adm-group
-		analyze
-		apparmor
-		audit
-		backlight
-		binfmt
-		blkid
-		bzip2
-		coredump
-		dbus
-		efi
-		elfutils
-		environment-d
-		fdisk
-		gcrypt
-		glib
-		gshadow
-		gnutls
-		hibernate
-		hostnamed
-		hwdb
-		idn
-		ima
-		initrd
-		firstboot
-		kernel-install
-		kmod
-		ldconfig
-		libcryptsetup
-		libcurl
-		libfido2
-		libidn
-		libidn2
-		libiptc
-		link-networkd-shared
-		link-systemctl-shared
-		link-timesyncd-shared
-		link-udev-shared
-		localed
-		logind
-		lz4
-		machined
-		microhttpd
-		networkd
-		nss-myhostname
-		nss-resolve
-		nss-systemd
-		openssl
-		p11kit
-		pam
-		pcre2
-		polkit
-		portabled
-		pstore
-		pwquality
-		randomseed
-		resolve
-		rfkill
-		seccomp
-		$(usex selinux '' selinux)
-		smack
-		sysusers
-		timedated
-		timesyncd
-		tpm
-		qrencode
-		quotacheck
-		userdb
-		utmp
-		vconsole
-		wheel-group
-		xdg-autostart
-		xkbcommon
-		xz
-		zlib
-		zstd
-	)
-
-	# prepend -D and append =false, e.g. zstd becomes -Dzstd=false
-	systemd_disable_options=( ${systemd_disable_options[@]/#/-D} )
-	systemd_disable_options=( ${systemd_disable_options[@]/%/=false} )
-
-	local emesonargs=(
-		-Dacl=true
-		-Dtmpfiles=true
-		-Dstandalone-binaries=true # this and below option does the magic
-		-Dstatic-libsystemd=true
-		-Dsysvinit-path=''
-		${systemd_disable_options[@]}
-	)
-	meson_src_configure
-}
-
-src_compile() {
-	# tmpfiles and sysusers can be built as standalone, link systemd-shared in statically.
-	# https://github.com/systemd/systemd/pull/16061 original implementation
-	# we just need to pass -Dstandalone-binaries=true and
-	# use <name>.standalone target below.
-	# check meson.build for if have_standalone_binaries condition per target.
-	local mytargets=(
-		systemd-tmpfiles.standalone
-		man/tmpfiles.d.5
-		man/systemd-tmpfiles.8
-	)
-	meson_src_compile "${mytargets[@]}"
-}
-
-src_install() {
-	# lean and mean installation, single binary and man-pages
-	pushd "${BUILD_DIR}" > /dev/null || die
-	into /
-	newbin systemd-tmpfiles.standalone systemd-tmpfiles
-
-	doman man/{systemd-tmpfiles.8,tmpfiles.d.5}
-
-	popd > /dev/null || die
-
-	# The init file installation was intentally removed.
-}
-
-src_test() {
-	# 'meson test' will compile full systemd, but we can still outsmart it
-	python_fix_shebang src/test/test-systemd-tmpfiles.py
-	ASAN_OPTIONS=log_path=stderr \
-	UBSAN_OPTIONS=print_stacktrace=1:log_path=stderr \
-	/mnt/host/source/src/platform2/common-mk/platform2_test.py \
-	--sysroot="${SYSROOT}" -- "${EPYTHON}" src/test/test-systemd-tmpfiles.py \
-	"/${BUILD_DIR#${SYSROOT}/}"/systemd-tmpfiles.standalone || die "${FUNCNAME} failed"
-}
-
-# adapted from opentmpfiles ebuild
-add_service() {
-	local initd=$1
-	local runlevel=$2
-
-	elog "Auto-adding '${initd}' service to your ${runlevel} runlevel"
-	mkdir -p "${EROOT}/etc/runlevels/${runlevel}"
-	ln -snf "${EROOT}/etc/init.d/${initd}" "${EROOT}/etc/runlevels/${runlevel}/${initd}"
-}
-
-pkg_postinst() {
-	: # This is intentionally removed from the upstream ebuild.
-}
diff --git a/sys-apps/systemd-tmpfiles/systemd-tmpfiles-247-r4.ebuild b/sys-apps/systemd-tmpfiles/systemd-tmpfiles-247-r4.ebuild
new file mode 100644
index 0000000..60b7dbe
--- /dev/null
+++ b/sys-apps/systemd-tmpfiles/systemd-tmpfiles-247-r4.ebuild
@@ -0,0 +1,206 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="58d3fbc2d946d741887b2300d4c70dbe9cddcc7c"
+CROS_WORKON_TREE="7736b281d6f158d2034c574d64c2d802c8a5ae20"
+CROS_WORKON_PROJECT="chromiumos/third_party/systemd"
+CROS_WORKON_LOCALNAME="../third_party/systemd"
+
+MINKV="3.11"
+PYTHON_COMPAT=( python3_{6..9} )
+inherit meson python-any-r1 cros-workon
+
+DESCRIPTION="Creates, deletes and cleans up volatile and temporary files and directories"
+HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
+SRC_URI="elibc_musl? ( https://dev.gentoo.org/~gyakovlev/distfiles/${P}-musl.tar.xz )"
+
+LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT public-domain"
+SLOT="0"
+KEYWORDS="*"
+IUSE="selinux test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+	sys-apps/acl:0=
+	>=sys-apps/util-linux-2.30:0=
+	>=sys-kernel/linux-headers-${MINKV}
+	sys-libs/libcap:0=
+	selinux? ( sys-libs/libselinux:0= )
+"
+RDEPEND="${DEPEND}
+	!sys-apps/opentmpfiles
+	!sys-apps/systemd
+"
+
+BDEPEND="
+	app-text/docbook-xml-dtd:4.2
+	app-text/docbook-xml-dtd:4.5
+	app-text/docbook-xsl-stylesheets
+	dev-libs/libxslt:0
+	>=dev-util/meson-0.46
+	>=dev-util/intltool-0.50
+	>=sys-apps/coreutils-8.16
+	sys-devel/m4
+	virtual/pkgconfig
+	test? ( ${PYTHON_DEPS} )
+"
+
+pkg_setup() {
+	use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+	# musl patchset from:
+	# http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-core/systemd/systemd
+	use elibc_musl && eapply "${WORKDIR}/${P}-musl"
+	default
+}
+
+src_configure() {
+	# disable everything until configure says "enabled features: ACL, tmpfiles"
+	local systemd_disable_options=(
+		adm-group
+		analyze
+		apparmor
+		audit
+		backlight
+		binfmt
+		blkid
+		bzip2
+		coredump
+		dbus
+		efi
+		elfutils
+		environment-d
+		fdisk
+		gcrypt
+		glib
+		gshadow
+		gnutls
+		hibernate
+		hostnamed
+		hwdb
+		idn
+		ima
+		initrd
+		firstboot
+		kernel-install
+		kmod
+		ldconfig
+		libcryptsetup
+		libcurl
+		libfido2
+		libidn
+		libidn2
+		libiptc
+		link-networkd-shared
+		link-systemctl-shared
+		link-timesyncd-shared
+		link-udev-shared
+		localed
+		logind
+		lz4
+		machined
+		microhttpd
+		networkd
+		nss-myhostname
+		nss-resolve
+		nss-systemd
+		openssl
+		p11kit
+		pam
+		pcre2
+		polkit
+		portabled
+		pstore
+		pwquality
+		randomseed
+		resolve
+		rfkill
+		seccomp
+		$(usex selinux '' selinux)
+		smack
+		sysusers
+		timedated
+		timesyncd
+		tpm
+		qrencode
+		quotacheck
+		userdb
+		utmp
+		vconsole
+		wheel-group
+		xdg-autostart
+		xkbcommon
+		xz
+		zlib
+		zstd
+	)
+
+	# prepend -D and append =false, e.g. zstd becomes -Dzstd=false
+	systemd_disable_options=( ${systemd_disable_options[@]/#/-D} )
+	systemd_disable_options=( ${systemd_disable_options[@]/%/=false} )
+
+	local emesonargs=(
+		-Dacl=true
+		-Dtmpfiles=true
+		-Dstandalone-binaries=true # this and below option does the magic
+		-Dstatic-libsystemd=true
+		-Dsysvinit-path=''
+		${systemd_disable_options[@]}
+	)
+	meson_src_configure
+}
+
+src_compile() {
+	# tmpfiles and sysusers can be built as standalone, link systemd-shared in statically.
+	# https://github.com/systemd/systemd/pull/16061 original implementation
+	# we just need to pass -Dstandalone-binaries=true and
+	# use <name>.standalone target below.
+	# check meson.build for if have_standalone_binaries condition per target.
+	local mytargets=(
+		systemd-tmpfiles.standalone
+		man/tmpfiles.d.5
+		man/systemd-tmpfiles.8
+	)
+	meson_src_compile "${mytargets[@]}"
+}
+
+src_install() {
+	# lean and mean installation, single binary and man-pages
+	pushd "${BUILD_DIR}" > /dev/null || die
+	into /
+	newbin systemd-tmpfiles.standalone systemd-tmpfiles
+
+	doman man/{systemd-tmpfiles.8,tmpfiles.d.5}
+
+	popd > /dev/null || die
+
+	# The init file installation was intentally removed.
+}
+
+src_test() {
+	# 'meson test' will compile full systemd, but we can still outsmart it
+	python_fix_shebang src/test/test-systemd-tmpfiles.py
+	ASAN_OPTIONS=log_path=stderr \
+	UBSAN_OPTIONS=print_stacktrace=1:log_path=stderr \
+	/mnt/host/source/src/platform2/common-mk/platform2_test.py \
+	--sysroot="${SYSROOT}" -- "${EPYTHON}" src/test/test-systemd-tmpfiles.py \
+	"/${BUILD_DIR#${SYSROOT}/}"/systemd-tmpfiles.standalone || die "${FUNCNAME} failed"
+}
+
+# adapted from opentmpfiles ebuild
+add_service() {
+	local initd=$1
+	local runlevel=$2
+
+	elog "Auto-adding '${initd}' service to your ${runlevel} runlevel"
+	mkdir -p "${EROOT}/etc/runlevels/${runlevel}"
+	ln -snf "${EROOT}/etc/init.d/${initd}" "${EROOT}/etc/runlevels/${runlevel}/${initd}"
+}
+
+pkg_postinst() {
+	: # This is intentionally removed from the upstream ebuild.
+}
diff --git a/sys-apps/ufs-utils/Manifest b/sys-apps/ufs-utils/Manifest
new file mode 100644
index 0000000..06d6a66
--- /dev/null
+++ b/sys-apps/ufs-utils/Manifest
@@ -0,0 +1 @@
+DIST ufs-utils-1.10.20220216.tar.gz 276599 BLAKE2B ff37a46fba8081dc4d971f45097d0e4e2ba4d34a946595f772a81b8213316eb51a1ca9920e85240b57893f426fbcbc67a3343a010829cae0f6e4df1949209788 SHA512 8135b4562f3c4aa132f071590996442a2cc72e7bda3d5e7a17f92864889c23291bda4ef6fd09a98b4e705e09f7a2a920ed99a4f3015225e12dfd4a78db7869fb
diff --git a/sys-apps/ufs-utils/OWNERS b/sys-apps/ufs-utils/OWNERS
new file mode 100644
index 0000000..88dcd0c
--- /dev/null
+++ b/sys-apps/ufs-utils/OWNERS
@@ -0,0 +1,2 @@
+dlunev@chromium.org
+gwendal@chromium.org
diff --git a/sys-apps/ufs-utils/ufs-utils-1.10.20220216.ebuild b/sys-apps/ufs-utils/ufs-utils-1.10.20220216.ebuild
new file mode 100644
index 0000000..d0b5374
--- /dev/null
+++ b/sys-apps/ufs-utils/ufs-utils-1.10.20220216.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit toolchain-funcs
+
+GIT_HASH="d21ec4132b419c8522f73baa3d95ef04cb1a0b90"
+DESCRIPTION="Universal Flash Storage user space tooling for Linux"
+HOMEPAGE="https://github.com/westerndigitalcorporation/ufs-utils"
+SRC_URI="${HOMEPAGE}/archive/${GIT_HASH}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+S="${WORKDIR}/ufs-utils-${GIT_HASH}"
+
+src_compile() {
+	emake CC="$(tc-getCC)"
+}
+
+src_install() {
+	dosbin ufs-utils
+}
diff --git a/sys-apps/upstart/OWNERS b/sys-apps/upstart/OWNERS
new file mode 100644
index 0000000..a58c404
--- /dev/null
+++ b/sys-apps/upstart/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/upstart:chromeos-1.2:/OWNERS
diff --git a/sys-apps/upstart/upstart-1.2-r54.ebuild b/sys-apps/upstart/upstart-1.2-r54.ebuild
deleted file mode 100644
index a59f46b..0000000
--- a/sys-apps/upstart/upstart-1.2-r54.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_WORKON_COMMIT="d053bcfed2a3e98d6f74f51e9f1f847f8ba5b79d"
-CROS_WORKON_TREE="0958c0427a08778db237833d34c253f420ddf58b"
-CROS_WORKON_PROJECT="chromiumos/third_party/upstart"
-CROS_WORKON_LOCALNAME="../third_party/upstart"
-CROS_WORKON_EGIT_BRANCH="chromeos-1.2"
-
-inherit cros-workon autotools flag-o-matic
-
-DESCRIPTION="An event-based replacement for the init daemon"
-HOMEPAGE="http://upstart.ubuntu.com/"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-IUSE="debug direncryption examples nls global_seccomp selinux udev_bridge"
-
-RDEPEND=">=sys-apps/dbus-1.2.16
-	>=sys-libs/libnih-1.0.2
-	selinux? (
-		sys-libs/libselinux
-		sys-libs/libsepol
-	)
-	udev_bridge? (
-		>=virtual/libudev-146
-	)
-	direncryption? (
-		sys-apps/keyutils
-	)
-	global_seccomp? (
-		chromeos-base/minijail
-	)"
-DEPEND=">=dev-libs/expat-2.0.0
-	nls? ( sys-devel/gettext )
-	direncryption? (
-		sys-fs/e2fsprogs
-	)
-	${RDEPEND}"
-RDEPEND+="
-	selinux? ( chromeos-base/selinux-policy )"
-
-src_prepare() {
-	default
-
-	# Patch to use kmsg at higher verbosity for logging; this is
-	# our own patch because we can't just add --verbose to the
-	# kernel command-line when we need to.
-	use debug && eapply "${FILESDIR}"/upstart-1.2-log-verbosity.patch
-
-	# The selinux patch changes makefile.am and configure.ac
-	# so we need to run autoreconf, and if we don't the system
-	# will do it for us, and incorrectly too.
-	eautoreconf
-}
-
-src_configure() {
-	# Rearrange PATH so that /usr/local does not override /usr.
-	append-cppflags '-DPATH="\"/usr/bin:/usr/sbin:/sbin:/bin:/usr/local/sbin:/usr/local/bin\""'
-
-	append-lfs-flags
-
-	local myconf=(
-		--prefix=/
-		--exec-prefix=
-		--includedir="${prefix}/usr/include"
-		--disable-rpath
-		$(use_with direncryption dircrypto-keyring)
-		$(use_enable selinux)
-		$(use_enable nls)
-	)
-
-	if use global_seccomp; then
-		myconf+=(
-			--with-seccomp-constants="${SYSROOT}/build/share/constants.json"
-		)
-	fi
-
-	econf "${myconf[@]}"
-}
-
-src_compile() {
-	emake clean
-	emake "NIH_DBUS_TOOL=$(which nih-dbus-tool)"
-}
-
-src_install() {
-	default
-	use examples || rm "${D}"/etc/init/*.conf
-	insinto /etc/init
-	# Always use our own upstart-socket-bridge.conf.
-	doins "${FILESDIR}"/init/upstart-socket-bridge.conf
-	# Restore udev bridge if requested.
-	use udev_bridge && doins extra/conf/upstart-udev-bridge.conf
-	# Install D-Bus XML files.
-	insinto /usr/share/dbus-1/interfaces/
-	doins "${S}"/dbus/*.xml
-}
diff --git a/sys-apps/upstart/upstart-1.2-r65.ebuild b/sys-apps/upstart/upstart-1.2-r65.ebuild
new file mode 100644
index 0000000..5d56b5c
--- /dev/null
+++ b/sys-apps/upstart/upstart-1.2-r65.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="2a2330a6114bef0a5c5bff7afe0d32a911b3f774"
+CROS_WORKON_TREE="95c15347cb950a58dd52c1b26300175f69ff1119"
+CROS_WORKON_PROJECT="chromiumos/third_party/upstart"
+CROS_WORKON_LOCALNAME="../third_party/upstart"
+CROS_WORKON_EGIT_BRANCH="chromeos-1.2"
+
+inherit cros-workon autotools flag-o-matic
+
+DESCRIPTION="An event-based replacement for the init daemon"
+HOMEPAGE="http://upstart.ubuntu.com/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+IUSE="debug direncryption examples nls global_seccomp selinux udev_bridge"
+
+RDEPEND=">=sys-apps/dbus-1.2.16
+	>=sys-libs/libnih-1.0.2
+	selinux? (
+		sys-libs/libselinux
+		sys-libs/libsepol
+	)
+	udev_bridge? (
+		>=virtual/libudev-146
+	)
+	direncryption? (
+		sys-apps/keyutils
+	)
+	global_seccomp? (
+		chromeos-base/minijail
+	)"
+DEPEND=">=dev-libs/expat-2.0.0
+	nls? ( sys-devel/gettext )
+	direncryption? (
+		sys-fs/e2fsprogs
+	)
+	${RDEPEND}"
+RDEPEND+="
+	selinux? ( chromeos-base/selinux-policy )"
+
+src_prepare() {
+	default
+
+	# Patch to use kmsg at higher verbosity for logging; this is
+	# our own patch because we can't just add --verbose to the
+	# kernel command-line when we need to.
+	use debug && eapply "${FILESDIR}"/upstart-1.2-log-verbosity.patch
+
+	# The selinux patch changes makefile.am and configure.ac
+	# so we need to run autoreconf, and if we don't the system
+	# will do it for us, and incorrectly too.
+	eautoreconf
+}
+
+src_configure() {
+	# Rearrange PATH so that /usr/local does not override /usr.
+	append-cppflags '-DPATH="\"/usr/bin:/usr/sbin:/sbin:/bin:/usr/local/sbin:/usr/local/bin\""'
+
+	append-lfs-flags
+
+	local myconf=(
+		--prefix=/
+		--exec-prefix=
+		--includedir="${prefix}/usr/include"
+		--disable-rpath
+		$(use_with direncryption dircrypto-keyring)
+		$(use_enable selinux)
+		$(use_enable nls)
+	)
+
+	if use global_seccomp; then
+		myconf+=(
+			--with-seccomp-constants="${SYSROOT}/build/share/constants.json"
+		)
+	fi
+
+	econf "${myconf[@]}"
+}
+
+src_compile() {
+	emake clean
+	emake "NIH_DBUS_TOOL=$(which nih-dbus-tool)"
+}
+
+src_install() {
+	default
+	use examples || rm "${D}"/etc/init/*.conf
+	insinto /etc/init
+	# Always use our own upstart-socket-bridge.conf.
+	doins "${FILESDIR}"/init/upstart-socket-bridge.conf
+	# Restore udev bridge if requested.
+	use udev_bridge && doins extra/conf/upstart-udev-bridge.conf
+	# Install D-Bus XML files.
+	insinto /usr/share/dbus-1/interfaces/
+	doins "${S}"/dbus/*.xml
+}
diff --git a/sys-apps/ureadahead/ureadahead-0.100.0-r17.ebuild b/sys-apps/ureadahead/ureadahead-0.100.0-r18.ebuild
similarity index 100%
rename from sys-apps/ureadahead/ureadahead-0.100.0-r17.ebuild
rename to sys-apps/ureadahead/ureadahead-0.100.0-r18.ebuild
diff --git a/sys-apps/ureadahead/ureadahead-0.100.0.ebuild b/sys-apps/ureadahead/ureadahead-0.100.0.ebuild
index aa5e7f9..58e5718 100644
--- a/sys-apps/ureadahead/ureadahead-0.100.0.ebuild
+++ b/sys-apps/ureadahead/ureadahead-0.100.0.ebuild
@@ -1,8 +1,7 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: $
 
-EAPI="6"
+EAPI=7
 
 inherit arc-build-constants
 
@@ -18,11 +17,12 @@
 RDEPEND="
 	sys-apps/util-linux
 	>=sys-fs/e2fsprogs-1.41
-	sys-libs/libnih"
-
-DEPEND="${RDEPEND}
-	dev-util/pkgconfig
-	sys-devel/gettext"
+	sys-libs/libnih
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+	sys-devel/gettext
+"
 
 PATCHES=(
 	"${FILESDIR}"/${P}-11.patch   # Downloaded from upstream
diff --git a/sys-apps/usbguard/files/90-modalias-rules.conf b/sys-apps/usbguard/files/90-modalias-rules.conf
new file mode 100644
index 0000000..1c19c3d
--- /dev/null
+++ b/sys-apps/usbguard/files/90-modalias-rules.conf
@@ -0,0 +1,408 @@
+# Generated using modalias-to-policy from:
+# https://chromium-review.googlesource.com/q/topic:usb-match
+#
+# It is not intended to be modified by hand.
+block *:* with-interface 08:01:00
+block *:* with-interface 08:01:01
+block *:* with-interface 08:01:50
+block *:* with-interface 08:02:00
+block *:* with-interface 08:02:01
+block *:* with-interface 08:02:50
+block *:* with-interface 08:03:00
+block *:* with-interface 08:03:01
+block *:* with-interface 08:03:50
+block *:* with-interface 08:04:00
+block *:* with-interface 08:04:01
+block *:* with-interface 08:04:50
+block *:* with-interface 08:05:00
+block *:* with-interface 08:05:01
+block *:* with-interface 08:05:50
+block *:* with-interface 08:06:00
+block *:* with-interface 08:06:01
+block *:* with-interface 08:06:50
+block *:* with-interface 08:06:62
+block *:* with-interface 0E:01:00
+block *:* with-interface 0E:01:01
+block 03EB:2002
+block 03EE:6906
+block 03F0:0107
+block 03F0:070C
+block 03F0:4002
+block 03F3:0001
+block 0409:0040
+block 040D:6205
+block 0411:001C
+block 0419:0100
+block 0419:AACE
+block 0419:AAF5
+block 0419:AAF6
+block 0420:0001
+block 0421:0019
+block 0421:042E
+block 0421:0433
+block 0421:0434
+block 0421:0444
+block 0421:0446
+block 0421:044E
+block 0421:047C
+block 0421:0492
+block 0421:0495
+block 0421:04B9
+block 0421:05AF
+block 0421:06AA
+block 0451:5416
+block 0457:0150
+block 0457:0151
+block 045E:FFFF
+block 046B:FF40
+block 046D:08C1 with-interface FF:01:00
+block 046D:08C2 with-interface FF:01:00
+block 046D:08C3 with-interface FF:01:00
+block 046D:08C5 with-interface FF:01:00
+block 046D:08C6 with-interface FF:01:00
+block 046D:08C7 with-interface FF:01:00
+block 0480:D010
+block 0482:0100
+block 0482:0101
+block 0482:0103
+block 0482:0107
+block 04A4:0004
+block 04A5:3010
+block 04B0:0301
+block 04B3:4001
+block 04B8:0601
+block 04B8:0602
+block 04C5:2028
+block 04CB:0100
+block 04CE:0002
+block 04DA:0901
+block 04DA:0D05
+block 04DA:2372
+block 04DA:2373
+block 04E6:0001
+block 04E6:0002
+block 04E6:0006
+block 04E6:0007
+block 04E6:0009
+block 04E6:000A
+block 04E6:000B
+block 04E6:000C
+block 04E6:000F
+block 04E6:0101
+block 04E8:507C
+block 04E8:5122
+block 04E8:5136
+block 04FC:80C2
+block 050D:0115
+block 0525:A140
+block 0525:A4A5
+block 052B:1801
+block 052B:1804
+block 052B:1807
+block 052B:1905
+block 052B:1911
+block 054C:0010
+block 054C:0025
+block 054C:002C
+block 054C:002D
+block 054C:002E
+block 054C:0032
+block 054C:0058
+block 054C:0069
+block 054C:006D
+block 054C:0099
+block 054C:016A
+block 054C:02A5
+block 054C:087D
+block 055D:2020
+block 057B:0000
+block 057B:0022
+block 058F:6387
+block 0595:4343
+block 059B:0001
+block 059B:0040
+block 059F:0643
+block 059F:0651
+block 059F:105F
+block 059F:1061
+block 05AB:0060
+block 05AC:1202
+block 05AC:1203
+block 05AC:1204
+block 05AC:1205
+block 05AC:120A
+block 05C6:1000
+block 05DC:B002
+block 05E3:0701
+block 05E3:0702
+block 05E3:0723
+block 0636:0003
+block 0644:0000
+block 066F:8000
+block 067B:1063
+block 067B:2317
+block 067B:2507
+block 067B:3507
+block 0686:4011
+block 0686:4017
+block 0693:0005
+block 069B:3004
+block 06CA:2003
+block 071B:3203
+block 071B:32BB
+block 0727:0306
+block 0781:0001
+block 0781:0002
+block 0781:0100
+block 07AB:FCCD
+block 07AF:0004
+block 07AF:0005
+block 07C4:A400
+block 07C4:A4A5
+block 07CF:1001
+block 07CF:1167
+block 0839:000A
+block 0840:0082
+block 0840:0084
+block 0840:0085
+block 084B:A001
+block 084D:0011
+block 0851:1542
+block 0851:1543
+block 085A:0026
+block 085A:0028
+block 08BD:1100
+block 08CA:3103
+block 090A:1001
+block 090A:1050
+block 090A:1200
+block 090C:1000
+block 090C:1132
+block 090C:3350
+block 090C:6000
+block 0984:0301
+block 0A17:0004
+block 0ACE:2011
+block 0ACE:20FF
+block 0AF0:6971
+block 0AF0:7401
+block 0AF0:7501
+block 0AF0:7701
+block 0AF0:7706
+block 0AF0:7901
+block 0AF0:7A01
+block 0AF0:7A05
+block 0AF0:8300
+block 0AF0:8302
+block 0AF0:8304
+block 0AF0:C100
+block 0AF0:D057
+block 0AF0:D058
+block 0AF0:D157
+block 0AF0:D257
+block 0AF0:D357
+block 0BC2:2300
+block 0BC2:3010
+block 0BC2:331A
+block 0BC2:3332
+block 0BDA:0138
+block 0BDA:0153
+block 0BDA:0158
+block 0BDA:0159
+block 0BDA:0177
+block 0BDA:0184
+block 0C45:1060
+block 0D49:7310
+block 0D96:410A
+block 0D96:5200
+block 0DC4:0073
+block 0DD8:1060
+block 0DD8:D202
+block 0DDA:0001
+block 0DDA:0301
+block 0E21:0520
+block 0EA0:2168
+block 0EA0:6828
+block 0ED1:6660
+block 0ED1:7636
+block 0F19:0103
+block 0F19:0105
+block 0F88:042E
+block 0FCA:8004
+block 0FCE:D008
+block 0FCE:D0E1
+block 0FCE:E030
+block 0FCE:E031
+block 0FCE:E092
+block 1019:0C55
+block 1058:0704
+block 1058:070A
+block 10D6:2200
+block 1186:3E04
+block 1199:0FFF
+block 1210:0003
+block 12D1:1001
+block 12D1:1003
+block 12D1:1004
+block 12D1:1401
+block 12D1:1402
+block 12D1:1403
+block 12D1:1404
+block 12D1:1405
+block 12D1:1406
+block 12D1:1407
+block 12D1:1408
+block 12D1:1409
+block 12D1:140A
+block 12D1:140B
+block 12D1:140C
+block 12D1:140D
+block 12D1:140E
+block 12D1:140F
+block 12D1:1410
+block 12D1:1411
+block 12D1:1412
+block 12D1:1413
+block 12D1:1414
+block 12D1:1415
+block 12D1:1416
+block 12D1:1417
+block 12D1:1418
+block 12D1:1419
+block 12D1:141A
+block 12D1:141B
+block 12D1:141C
+block 12D1:141D
+block 12D1:141E
+block 12D1:141F
+block 12D1:1420
+block 12D1:1421
+block 12D1:1422
+block 12D1:1423
+block 12D1:1424
+block 12D1:1425
+block 12D1:1426
+block 12D1:1427
+block 12D1:1428
+block 12D1:1429
+block 12D1:142A
+block 12D1:142B
+block 12D1:142C
+block 12D1:142D
+block 12D1:142E
+block 12D1:142F
+block 12D1:1430
+block 12D1:1431
+block 12D1:1432
+block 12D1:1433
+block 12D1:1434
+block 12D1:1435
+block 12D1:1436
+block 12D1:1437
+block 12D1:1438
+block 12D1:1439
+block 12D1:143A
+block 12D1:143B
+block 12D1:143C
+block 12D1:143D
+block 12D1:143E
+block 12D1:143F
+block 132B:000B
+block 1370:6828
+block 13FD:3609
+block 13FD:3940
+block 13FE:3600
+block 14CD:6600
+block 152D:0539
+block 152D:0567
+block 152D:0578
+block 152D:2329
+block 152D:2566
+block 152D:2567
+block 152D:9561
+block 154B:F00B
+block 154B:F00D
+block 1645:0007
+block 1652:6600
+block 174C:55AA
+block 177F:0400
+block 1822:0001
+block 1871:0516 with-interface FF:01:00
+block 1908:1315
+block 1908:1320
+block 1908:3335
+block 1949:0004
+block 199E:8102 with-interface FF:01:00
+block 19D2:1225
+block 1B1C:1AB5
+block 1DE1:C102
+block 1E68:001B
+block 1E74:4621
+block 2027:A001
+block 2109:0711
+block 2109:0715
+block 2116:0320
+block 22B8:3010
+block 22B8:6426
+block 2537:1068
+block 2735:100B
+block 2833:0211 with-interface FF:01:00
+block 2CA3:0031
+block 3340:FFFF
+block 357D:7788
+block 4102:1020
+block 4102:1059
+block 4146:BA01
+block 4971:1012
+block 4971:8017
+block 4971:8024
+block C251:4003
+block ED06:4500
+block ED10:7636
+allow *:* with-interface 03:*:*
+allow *:* with-interface 09:*:*
+allow 0123:0001
+allow 0403:F9E9
+allow 04B4:6570
+allow 04E7:0020
+allow 0596:0001
+allow 0637:0001
+allow 0664:0306
+allow 0664:0309
+allow 06CB:0001
+allow 06CB:0002
+allow 06CB:0003
+allow 06CB:0006
+allow 06CB:0007
+allow 06CB:0008
+allow 06CB:0009
+allow 06CB:0010
+allow 06CB:0013
+allow 08F2:007F
+allow 08F2:00CE
+allow 08F2:00F4
+allow 0AFA:03E8
+allow 0DFC:0001
+allow 0EEF:0001
+allow 0EEF:0002
+allow 0F92:0001
+allow 10F0:2002 with-interface 0A:00:00
+allow 1234:0001
+allow 1234:0002
+allow 1234:5678
+allow 134C:0001
+allow 134C:0002
+allow 134C:0003
+allow 134C:0004
+allow 1391:1000
+allow 14C8:0003
+allow 16E3:F9E9
+allow 1870:0001 with-interface 0A:00:00
+allow 1AC7:0001
+allow 255E:0001
+allow 3823:0001
+allow 3823:0002
+allow 595A:0001
+allow 6615:0001
+allow 6615:0012
+allow 7374:0001
diff --git a/sys-apps/usbguard/files/usbguard-daemon-seccomp-amd64.policy b/sys-apps/usbguard/files/usbguard-daemon-seccomp-amd64.policy
index c91fa55..ffd7c43 100644
--- a/sys-apps/usbguard/files/usbguard-daemon-seccomp-amd64.policy
+++ b/sys-apps/usbguard/files/usbguard-daemon-seccomp-amd64.policy
@@ -3,6 +3,9 @@
 # found in the LICENSE file.
 
 # Generated by security.USBGuard
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 read: 1
 lstat: 1
 openat: 1
diff --git a/sys-apps/usbguard/files/usbguard-daemon-seccomp-arm.policy b/sys-apps/usbguard/files/usbguard-daemon-seccomp-arm.policy
index 521760c6..9a9771d 100644
--- a/sys-apps/usbguard/files/usbguard-daemon-seccomp-arm.policy
+++ b/sys-apps/usbguard/files/usbguard-daemon-seccomp-arm.policy
@@ -3,6 +3,9 @@
 # found in the LICENSE file.
 
 # Generated by security.USBGuard
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 read: 1
 lstat64: 1
 openat: 1
diff --git a/sys-apps/usbguard/files/usbguard-daemon-seccomp-arm64.policy b/sys-apps/usbguard/files/usbguard-daemon-seccomp-arm64.policy
index f0f4492..3a3aa13 100644
--- a/sys-apps/usbguard/files/usbguard-daemon-seccomp-arm64.policy
+++ b/sys-apps/usbguard/files/usbguard-daemon-seccomp-arm64.policy
@@ -3,6 +3,9 @@
 # found in the LICENSE file.
 
 # Generated by security.USBGuard
+# rseq should be first due to frequency and purpose to decrease nptl latency
+rseq: 1
+
 read: 1
 newfstatat: 1
 openat: 1
diff --git a/sys-apps/usbguard/usbguard-20210927-r1.ebuild b/sys-apps/usbguard/usbguard-20210927-r3.ebuild
similarity index 100%
rename from sys-apps/usbguard/usbguard-20210927-r1.ebuild
rename to sys-apps/usbguard/usbguard-20210927-r3.ebuild
diff --git a/sys-apps/usbguard/usbguard-20210927.ebuild b/sys-apps/usbguard/usbguard-20210927.ebuild
index 413f38d..215022e 100644
--- a/sys-apps/usbguard/usbguard-20210927.ebuild
+++ b/sys-apps/usbguard/usbguard-20210927.ebuild
@@ -78,6 +78,7 @@
 	insinto /etc/usbguard/rules.d
 	use cfm_enabled_device && doins "${FILESDIR}/50-cfm-rules.conf"
 	use hammerd && doins "${FILESDIR}/50-hammer-rules.conf"
+	doins "${FILESDIR}/90-modalias-rules.conf"
 	doins "${FILESDIR}/99-rules.conf"
 
 	insinto /usr/share/policy
diff --git a/sys-apps/util-linux/files/util-linux-2.36.2-no-canonicalize.patch b/sys-apps/util-linux/files/util-linux-2.36.2-no-canonicalize.patch
new file mode 100644
index 0000000..653994a
--- /dev/null
+++ b/sys-apps/util-linux/files/util-linux-2.36.2-no-canonicalize.patch
@@ -0,0 +1,18 @@
+# Force-enable -c/--no-canonicalize for mount(8).
+# This will prevent mount(8) from following symlinks, which can be used
+# essentially as a write-anywhere-as-root primitive.
+# See b/194944898 for details.
+
+--- a/sys-utils/mount.c	2021-02-12 06:32:01.835988410 -0500
++++ b/sys-utils/mount.c	2022-03-18 18:53:36.704541168 -0400
+@@ -862,6 +862,10 @@
+ 		mnt_context_set_optsmode(cxt, optmode);
+ 	}
+
++	/* Always disable canonicalization to avoid following malicious
++	   symlinks. */
++	mnt_context_disable_canonicalize(cxt, TRUE);
++
+ 	if (fstab && !mnt_context_is_nocanonicalize(cxt)) {
+ 		/*
+ 		 * We have external (context independent) fstab instance, let's
diff --git a/sys-apps/util-linux/files/util-linux-2.36.2-nsenter-nofollow.patch b/sys-apps/util-linux/files/util-linux-2.36.2-nsenter-nofollow.patch
new file mode 100644
index 0000000..723d009
--- /dev/null
+++ b/sys-apps/util-linux/files/util-linux-2.36.2-nsenter-nofollow.patch
@@ -0,0 +1,45 @@
+# Prevent nsenter(1) from following basename symlinks. This can allow an
+# attacker with a symlink primitive to trick a privileged process into executing
+# in a different namespace.
+# Unfortunately this solution only protects against basename symlinks, not
+# against symlinks in other path components. A more comprehensive solution
+# exists and will be sent upstream.
+# See b/226186172 for details.
+
+diff --git a/sys-utils/nsenter.c b/sys-utils/nsenter.c
+index 4432cd367..c520bf204 100644
+--- a/sys-utils/nsenter.c
++++ b/sys-utils/nsenter.c
+@@ -112,11 +112,16 @@ static int wd_fd = -1;
+ static void open_target_fd(int *fd, const char *type, const char *path)
+ {
+ 	char pathbuf[PATH_MAX];
++	int flags = O_NOFOLLOW;
+
+ 	if (!path && namespace_target_pid) {
+ 		snprintf(pathbuf, sizeof(pathbuf), "/proc/%u/%s",
+ 			 namespace_target_pid, type);
+ 		path = pathbuf;
++		/* Clear O_NOFOLLOW when opening a path in /proc, because
++		 * /proc/<pid>/ns/<type> is a symlink.
++		 */
++		flags = 0;
+ 	}
+ 	if (!path)
+ 		errx(EXIT_FAILURE,
+@@ -126,9 +131,13 @@ static void open_target_fd(int *fd, const char *type, const char *path)
+ 	if (*fd >= 0)
+ 		close(*fd);
+
+-	*fd = open(path, O_RDONLY);
+-	if (*fd < 0)
++	*fd = open(path, O_RDONLY | flags);
++	if (*fd < 0) {
++		if (errno == ELOOP)
++			errx(EXIT_FAILURE, _("refusing to follow symlink at %s"), path);
++
+ 		err(EXIT_FAILURE, _("cannot open %s"), path);
++	}
+ }
+
+ static void open_namespace_fd(int nstype, const char *path)
diff --git a/sys-apps/util-linux/util-linux-2.36.2-r1.ebuild b/sys-apps/util-linux/util-linux-2.36.2-r1.ebuild
deleted file mode 100644
index 26e97af..0000000
--- a/sys-apps/util-linux/util-linux-2.36.2-r1.ebuild
+++ /dev/null
@@ -1,319 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8,9} )
-
-inherit toolchain-funcs libtool flag-o-matic bash-completion-r1 usr-ldscript \
-	pam python-r1 multilib-minimal multiprocessing systemd
-
-MY_PV="${PV/_/-}"
-MY_P="${PN}-${MY_PV}"
-
-if [[ ${PV} == 9999 ]] ; then
-	inherit git-r3 autotools
-	EGIT_REPO_URI="https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git"
-else
-	[[ "${PV}" = *_rc* ]] || \
-	KEYWORDS="*"
-	SRC_URI="https://www.kernel.org/pub/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.xz"
-fi
-
-DESCRIPTION="Various useful Linux utilities"
-HOMEPAGE="https://www.kernel.org/pub/linux/utils/util-linux/ https://github.com/karelzak/util-linux"
-
-LICENSE="GPL-2 GPL-3 LGPL-2.1 BSD-4 MIT public-domain"
-SLOT="0"
-IUSE="audit build caps +cramfs cryptsetup fdformat hardlink kill +logger magic ncurses nls pam python +readline selinux slang static-libs su +suid systemd test tty-helpers udev unicode userland_GNU"
-
-# Most lib deps here are related to programs rather than our libs,
-# so we rarely need to specify ${MULTILIB_USEDEP}.
-RDEPEND="
-	virtual/libcrypt:=
-	audit? ( >=sys-process/audit-2.6:= )
-	caps? ( sys-libs/libcap-ng )
-	cramfs? ( sys-libs/zlib:= )
-	cryptsetup? ( sys-fs/cryptsetup )
-	hardlink? ( dev-libs/libpcre2:= )
-	ncurses? (
-		>=sys-libs/ncurses-5.2-r2:0=[unicode?]
-		magic? ( sys-apps/file:0= )
-	)
-	nls? ( virtual/libintl[${MULTILIB_USEDEP}] )
-	pam? ( sys-libs/pam )
-	ppc? ( sys-libs/librtas )
-	ppc64? ( sys-libs/librtas )
-	python? ( ${PYTHON_DEPS} )
-	readline? ( sys-libs/readline:0= )
-	selinux? ( >=sys-libs/libselinux-2.2.2-r4[${MULTILIB_USEDEP}] )
-	slang? ( sys-libs/slang )
-	!build? ( systemd? ( sys-apps/systemd ) )
-	udev? ( virtual/libudev:= )"
-BDEPEND="
-	virtual/pkgconfig
-	nls? ( sys-devel/gettext )
-	test? ( sys-devel/bc )
-"
-DEPEND="
-	${RDEPEND}
-	virtual/os-headers
-"
-RDEPEND+="
-	hardlink? ( !app-arch/hardlink )
-	logger? ( !>=app-admin/sysklogd-2.0[logger] )
-	kill? (
-		!sys-apps/coreutils[kill]
-		!sys-process/procps[kill]
-	)
-	su? (
-		!<sys-apps/shadow-4.7-r2
-		!>=sys-apps/shadow-4.7-r2[su]
-	)
-	!net-wireless/rfkill
-	!<app-shells/bash-completion-2.7-r1"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-RESTRICT="!test? ( test )"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
-	"${FILESDIR}"/0001-lib-loopdev-fix-is_loopdev-to-be-usable-with-partiti.patch
-)
-
-src_prepare() {
-	default
-
-	# Prevent uuidd test failure due to socket path limit. #593304
-	sed -i \
-		-e "s|UUIDD_SOCKET=\"\$(mktemp -u \"\${TS_OUTDIR}/uuiddXXXXXXXXXXXXX\")\"|UUIDD_SOCKET=\"\$(mktemp -u \"${T}/uuiddXXXXXXXXXXXXX.sock\")\"|g" \
-		tests/ts/uuid/uuidd || die "Failed to fix uuidd test"
-
-	if ! use userland_GNU; then
-		# test runner is using GNU-specific xargs call
-		sed -i -e 's:xargs:gxargs:' tests/run.sh || die
-		# test requires util-linux uuidgen (which we don't build)
-		rm tests/ts/uuid/oids || die
-	fi
-
-	if [[ ${PV} == 9999 ]] ; then
-		po/update-potfiles
-		eautoreconf
-	fi
-
-	elibtoolize
-}
-
-lfs_fallocate_test() {
-	# Make sure we can use fallocate with LFS #300307
-	cat <<-EOF > "${T}"/fallocate.${ABI}.c
-		#define _GNU_SOURCE
-		#include <fcntl.h>
-		main() { return fallocate(0, 0, 0, 0); }
-	EOF
-	append-lfs-flags
-	$(tc-getCC) ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} "${T}"/fallocate.${ABI}.c -o /dev/null >/dev/null 2>&1 \
-		|| export ac_cv_func_fallocate=no
-	rm -f "${T}"/fallocate.${ABI}.c
-}
-
-python_configure() {
-	local myeconfargs=(
-		"${commonargs[@]}"
-		--disable-all-programs
-		--disable-bash-completion
-		--without-systemdsystemunitdir
-		--with-python
-	)
-	if use userland_GNU; then
-		myeconfargs+=(
-			--enable-libblkid
-			--enable-libmount
-			--enable-pylibmount
-		)
-	fi
-	mkdir "${BUILD_DIR}" || die
-	pushd "${BUILD_DIR}" >/dev/null || die
-	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-	popd >/dev/null || die
-}
-
-multilib_src_configure() {
-	lfs_fallocate_test
-	# The scanf test in a run-time test which fails while cross-compiling.
-	# Blindly assume a POSIX setup since we require libmount, and libmount
-	# itself fails when the scanf test fails. #531856
-	tc-is-cross-compiler && export scanf_cv_alloc_modifier=ms
-	export ac_cv_header_security_pam_misc_h=$(multilib_native_usex pam) #485486
-	export ac_cv_header_security_pam_appl_h=$(multilib_native_usex pam) #545042
-
-	# Undo bad ncurses handling by upstream. Fall back to pkg-config. #601530
-	export NCURSES6_CONFIG=false NCURSES5_CONFIG=false
-	export NCURSESW6_CONFIG=false NCURSESW5_CONFIG=false
-
-	# configure args shared by python and non-python builds
-	local commonargs=(
-		--enable-fs-paths-extra="${EPREFIX}/usr/sbin:${EPREFIX}/bin:${EPREFIX}/usr/bin"
-	)
-
-	local myeconfargs=(
-		"${commonargs[@]}"
-		--with-bashcompletiondir="$(get_bashcompdir)"
-		--without-python
-		$(multilib_native_use_enable suid makeinstall-chown)
-		$(multilib_native_use_enable suid makeinstall-setuid)
-		$(multilib_native_use_with readline)
-		$(multilib_native_use_with slang)
-		$(multilib_native_use_with systemd)
-		$(multilib_native_use_with udev)
-		$(multilib_native_usex ncurses "$(use_with magic libmagic)" '--without-libmagic')
-		$(multilib_native_usex ncurses "$(use_with unicode ncursesw)" '--without-ncursesw')
-		$(multilib_native_usex ncurses "$(use_with !unicode ncurses)" '--without-ncurses')
-		$(multilib_native_use_with audit)
-		$(tc-has-tls || echo --disable-tls)
-		$(use_enable nls)
-		$(use_enable unicode widechar)
-		$(use_enable static-libs static)
-		$(use_with ncurses tinfo)
-		$(use_with selinux)
-	)
-	# build programs only on GNU, on *BSD we want libraries only
-	if multilib_is_native_abi && use userland_GNU; then
-		myeconfargs+=(
-			--disable-chfn-chsh
-			--disable-login
-			--disable-nologin
-			--disable-pylibmount
-			--enable-agetty
-			--enable-bash-completion
-			--enable-line
-			--enable-partx
-			--enable-raw
-			--enable-rename
-			--enable-rfkill
-			--enable-schedutils
-			--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
-			$(use_enable caps setpriv)
-			$(use_enable cramfs)
-			$(use_enable fdformat)
-			$(use_enable hardlink)
-			$(use_enable kill)
-			$(use_enable logger)
-			$(use_enable ncurses pg)
-			$(use_enable su)
-			$(use_enable tty-helpers mesg)
-			$(use_enable tty-helpers wall)
-			$(use_enable tty-helpers write)
-			$(use_with cryptsetup)
-		)
-	else
-		myeconfargs+=(
-			--disable-all-programs
-			--disable-bash-completion
-			--without-systemdsystemunitdir
-			# build libraries
-			--enable-libuuid
-			--enable-libblkid
-			--enable-libsmartcols
-			--enable-libfdisk
-		)
-		if use userland_GNU; then
-			# those libraries don't work on *BSD
-			myeconfargs+=(
-				--enable-libmount
-			)
-		fi
-	fi
-	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-
-	if multilib_is_native_abi && use python; then
-		python_foreach_impl python_configure
-	fi
-}
-
-python_compile() {
-	pushd "${BUILD_DIR}" >/dev/null || die
-	emake all
-	popd >/dev/null || die
-}
-
-multilib_src_compile() {
-	emake all
-
-	if multilib_is_native_abi && use python; then
-		python_foreach_impl python_compile
-	fi
-}
-
-python_test() {
-	pushd "${BUILD_DIR}" >/dev/null || die
-	emake check TS_OPTS="--parallel=$(makeopts_jobs) --nonroot"
-	popd >/dev/null || die
-}
-
-multilib_src_test() {
-	emake check TS_OPTS="--parallel=$(makeopts_jobs) --nonroot"
-	if multilib_is_native_abi && use python; then
-		python_foreach_impl python_test
-	fi
-}
-
-python_install() {
-	pushd "${BUILD_DIR}" >/dev/null || die
-	emake DESTDIR="${D}" install
-	python_optimize
-	popd >/dev/null || die
-}
-
-multilib_src_install() {
-	if multilib_is_native_abi && use python; then
-		python_foreach_impl python_install
-	fi
-
-	# This needs to be called AFTER python_install call (#689190)
-	emake DESTDIR="${D}" install
-
-	if multilib_is_native_abi && use userland_GNU; then
-		# need the libs in /
-		gen_usr_ldscript -a blkid fdisk mount smartcols uuid
-	fi
-}
-
-multilib_src_install_all() {
-	dodoc AUTHORS NEWS README* Documentation/{TODO,*.txt,releases/*}
-	chmod -x "${ED}"/usr/share/doc/util-linux-${PVR}/getopt/getopt-parse* || die
-
-	# e2fsprogs-libs didnt install .la files, and .pc work fine
-	find "${ED}" -name "*.la" -delete || die
-
-	if ! use userland_GNU; then
-		# manpage collisions
-		# TODO: figure out a good way to keep them
-		rm "${ED}"/usr/share/man/man3/uuid* || die
-	fi
-
-	if use pam; then
-		newpamd "${FILESDIR}/runuser.pamd" runuser
-		newpamd "${FILESDIR}/runuser-l.pamd" runuser-l
-	fi
-
-	# Note:
-	# Bash completion for "runuser" command is provided by same file which
-	# would also provide bash completion for "su" command. However, we don't
-	# use "su" command from this package.
-	# This triggers a known QA warning which we ignore for now to magically
-	# keep bash completion for "su" command which shadow package does not
-	# provide.
-}
-
-pkg_postinst() {
-	if ! use tty-helpers; then
-		elog "The mesg/wall/write tools have been disabled due to USE=-tty-helpers."
-	fi
-
-	if [[ -z ${REPLACING_VERSIONS} ]]; then
-		elog "The agetty util now clears the terminal by default. You"
-		elog "might want to add --noclear to your /etc/inittab lines."
-	fi
-}
diff --git a/sys-apps/util-linux/util-linux-2.36.2-r3.ebuild b/sys-apps/util-linux/util-linux-2.36.2-r3.ebuild
new file mode 100644
index 0000000..c912898
--- /dev/null
+++ b/sys-apps/util-linux/util-linux-2.36.2-r3.ebuild
@@ -0,0 +1,321 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9} )
+
+inherit toolchain-funcs libtool flag-o-matic bash-completion-r1 usr-ldscript \
+	pam python-r1 multilib-minimal multiprocessing systemd
+
+MY_PV="${PV/_/-}"
+MY_P="${PN}-${MY_PV}"
+
+if [[ ${PV} == 9999 ]] ; then
+	inherit git-r3 autotools
+	EGIT_REPO_URI="https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git"
+else
+	[[ "${PV}" = *_rc* ]] || \
+	KEYWORDS="*"
+	SRC_URI="https://www.kernel.org/pub/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.xz"
+fi
+
+DESCRIPTION="Various useful Linux utilities"
+HOMEPAGE="https://www.kernel.org/pub/linux/utils/util-linux/ https://github.com/karelzak/util-linux"
+
+LICENSE="GPL-2 GPL-3 LGPL-2.1 BSD-4 MIT public-domain"
+SLOT="0"
+IUSE="audit build caps +cramfs cryptsetup fdformat hardlink kill +logger magic ncurses nls pam python +readline selinux slang static-libs su +suid systemd test tty-helpers udev unicode userland_GNU"
+
+# Most lib deps here are related to programs rather than our libs,
+# so we rarely need to specify ${MULTILIB_USEDEP}.
+RDEPEND="
+	virtual/libcrypt:=
+	audit? ( >=sys-process/audit-2.6:= )
+	caps? ( sys-libs/libcap-ng )
+	cramfs? ( sys-libs/zlib:= )
+	cryptsetup? ( sys-fs/cryptsetup )
+	hardlink? ( dev-libs/libpcre2:= )
+	ncurses? (
+		>=sys-libs/ncurses-5.2-r2:0=[unicode?]
+		magic? ( sys-apps/file:0= )
+	)
+	nls? ( virtual/libintl[${MULTILIB_USEDEP}] )
+	pam? ( sys-libs/pam )
+	ppc? ( sys-libs/librtas )
+	ppc64? ( sys-libs/librtas )
+	python? ( ${PYTHON_DEPS} )
+	readline? ( sys-libs/readline:0= )
+	selinux? ( >=sys-libs/libselinux-2.2.2-r4[${MULTILIB_USEDEP}] )
+	slang? ( sys-libs/slang )
+	!build? ( systemd? ( sys-apps/systemd ) )
+	udev? ( virtual/libudev:= )"
+BDEPEND="
+	virtual/pkgconfig
+	nls? ( sys-devel/gettext )
+	test? ( sys-devel/bc )
+"
+DEPEND="
+	${RDEPEND}
+	virtual/os-headers
+"
+RDEPEND+="
+	hardlink? ( !app-arch/hardlink )
+	logger? ( !>=app-admin/sysklogd-2.0[logger] )
+	kill? (
+		!sys-apps/coreutils[kill]
+		!sys-process/procps[kill]
+	)
+	su? (
+		!<sys-apps/shadow-4.7-r2
+		!>=sys-apps/shadow-4.7-r2[su]
+	)
+	!net-wireless/rfkill
+	!<app-shells/bash-completion-2.7-r1"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+	"${FILESDIR}"/0001-lib-loopdev-fix-is_loopdev-to-be-usable-with-partiti.patch
+	"${FILESDIR}"/"${P}"-no-canonicalize.patch
+	"${FILESDIR}"/"${P}"-nsenter-nofollow.patch
+)
+
+src_prepare() {
+	default
+
+	# Prevent uuidd test failure due to socket path limit. #593304
+	sed -i \
+		-e "s|UUIDD_SOCKET=\"\$(mktemp -u \"\${TS_OUTDIR}/uuiddXXXXXXXXXXXXX\")\"|UUIDD_SOCKET=\"\$(mktemp -u \"${T}/uuiddXXXXXXXXXXXXX.sock\")\"|g" \
+		tests/ts/uuid/uuidd || die "Failed to fix uuidd test"
+
+	if ! use userland_GNU; then
+		# test runner is using GNU-specific xargs call
+		sed -i -e 's:xargs:gxargs:' tests/run.sh || die
+		# test requires util-linux uuidgen (which we don't build)
+		rm tests/ts/uuid/oids || die
+	fi
+
+	if [[ ${PV} == 9999 ]] ; then
+		po/update-potfiles
+		eautoreconf
+	fi
+
+	elibtoolize
+}
+
+lfs_fallocate_test() {
+	# Make sure we can use fallocate with LFS #300307
+	cat <<-EOF > "${T}"/fallocate.${ABI}.c
+		#define _GNU_SOURCE
+		#include <fcntl.h>
+		main() { return fallocate(0, 0, 0, 0); }
+	EOF
+	append-lfs-flags
+	$(tc-getCC) ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} "${T}"/fallocate.${ABI}.c -o /dev/null >/dev/null 2>&1 \
+		|| export ac_cv_func_fallocate=no
+	rm -f "${T}"/fallocate.${ABI}.c
+}
+
+python_configure() {
+	local myeconfargs=(
+		"${commonargs[@]}"
+		--disable-all-programs
+		--disable-bash-completion
+		--without-systemdsystemunitdir
+		--with-python
+	)
+	if use userland_GNU; then
+		myeconfargs+=(
+			--enable-libblkid
+			--enable-libmount
+			--enable-pylibmount
+		)
+	fi
+	mkdir "${BUILD_DIR}" || die
+	pushd "${BUILD_DIR}" >/dev/null || die
+	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+	popd >/dev/null || die
+}
+
+multilib_src_configure() {
+	lfs_fallocate_test
+	# The scanf test in a run-time test which fails while cross-compiling.
+	# Blindly assume a POSIX setup since we require libmount, and libmount
+	# itself fails when the scanf test fails. #531856
+	tc-is-cross-compiler && export scanf_cv_alloc_modifier=ms
+	export ac_cv_header_security_pam_misc_h=$(multilib_native_usex pam) #485486
+	export ac_cv_header_security_pam_appl_h=$(multilib_native_usex pam) #545042
+
+	# Undo bad ncurses handling by upstream. Fall back to pkg-config. #601530
+	export NCURSES6_CONFIG=false NCURSES5_CONFIG=false
+	export NCURSESW6_CONFIG=false NCURSESW5_CONFIG=false
+
+	# configure args shared by python and non-python builds
+	local commonargs=(
+		--enable-fs-paths-extra="${EPREFIX}/usr/sbin:${EPREFIX}/bin:${EPREFIX}/usr/bin"
+	)
+
+	local myeconfargs=(
+		"${commonargs[@]}"
+		--with-bashcompletiondir="$(get_bashcompdir)"
+		--without-python
+		$(multilib_native_use_enable suid makeinstall-chown)
+		$(multilib_native_use_enable suid makeinstall-setuid)
+		$(multilib_native_use_with readline)
+		$(multilib_native_use_with slang)
+		$(multilib_native_use_with systemd)
+		$(multilib_native_use_with udev)
+		$(multilib_native_usex ncurses "$(use_with magic libmagic)" '--without-libmagic')
+		$(multilib_native_usex ncurses "$(use_with unicode ncursesw)" '--without-ncursesw')
+		$(multilib_native_usex ncurses "$(use_with !unicode ncurses)" '--without-ncurses')
+		$(multilib_native_use_with audit)
+		$(tc-has-tls || echo --disable-tls)
+		$(use_enable nls)
+		$(use_enable unicode widechar)
+		$(use_enable static-libs static)
+		$(use_with ncurses tinfo)
+		$(use_with selinux)
+	)
+	# build programs only on GNU, on *BSD we want libraries only
+	if multilib_is_native_abi && use userland_GNU; then
+		myeconfargs+=(
+			--disable-chfn-chsh
+			--disable-login
+			--disable-nologin
+			--disable-pylibmount
+			--enable-agetty
+			--enable-bash-completion
+			--enable-line
+			--enable-partx
+			--enable-raw
+			--enable-rename
+			--enable-rfkill
+			--enable-schedutils
+			--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+			$(use_enable caps setpriv)
+			$(use_enable cramfs)
+			$(use_enable fdformat)
+			$(use_enable hardlink)
+			$(use_enable kill)
+			$(use_enable logger)
+			$(use_enable ncurses pg)
+			$(use_enable su)
+			$(use_enable tty-helpers mesg)
+			$(use_enable tty-helpers wall)
+			$(use_enable tty-helpers write)
+			$(use_with cryptsetup)
+		)
+	else
+		myeconfargs+=(
+			--disable-all-programs
+			--disable-bash-completion
+			--without-systemdsystemunitdir
+			# build libraries
+			--enable-libuuid
+			--enable-libblkid
+			--enable-libsmartcols
+			--enable-libfdisk
+		)
+		if use userland_GNU; then
+			# those libraries don't work on *BSD
+			myeconfargs+=(
+				--enable-libmount
+			)
+		fi
+	fi
+	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+
+	if multilib_is_native_abi && use python; then
+		python_foreach_impl python_configure
+	fi
+}
+
+python_compile() {
+	pushd "${BUILD_DIR}" >/dev/null || die
+	emake all
+	popd >/dev/null || die
+}
+
+multilib_src_compile() {
+	emake all
+
+	if multilib_is_native_abi && use python; then
+		python_foreach_impl python_compile
+	fi
+}
+
+python_test() {
+	pushd "${BUILD_DIR}" >/dev/null || die
+	emake check TS_OPTS="--parallel=$(makeopts_jobs) --nonroot"
+	popd >/dev/null || die
+}
+
+multilib_src_test() {
+	emake check TS_OPTS="--parallel=$(makeopts_jobs) --nonroot"
+	if multilib_is_native_abi && use python; then
+		python_foreach_impl python_test
+	fi
+}
+
+python_install() {
+	pushd "${BUILD_DIR}" >/dev/null || die
+	emake DESTDIR="${D}" install
+	python_optimize
+	popd >/dev/null || die
+}
+
+multilib_src_install() {
+	if multilib_is_native_abi && use python; then
+		python_foreach_impl python_install
+	fi
+
+	# This needs to be called AFTER python_install call (#689190)
+	emake DESTDIR="${D}" install
+
+	if multilib_is_native_abi && use userland_GNU; then
+		# need the libs in /
+		gen_usr_ldscript -a blkid fdisk mount smartcols uuid
+	fi
+}
+
+multilib_src_install_all() {
+	dodoc AUTHORS NEWS README* Documentation/{TODO,*.txt,releases/*}
+	chmod -x "${ED}"/usr/share/doc/util-linux-${PVR}/getopt/getopt-parse* || die
+
+	# e2fsprogs-libs didnt install .la files, and .pc work fine
+	find "${ED}" -name "*.la" -delete || die
+
+	if ! use userland_GNU; then
+		# manpage collisions
+		# TODO: figure out a good way to keep them
+		rm "${ED}"/usr/share/man/man3/uuid* || die
+	fi
+
+	if use pam; then
+		newpamd "${FILESDIR}/runuser.pamd" runuser
+		newpamd "${FILESDIR}/runuser-l.pamd" runuser-l
+	fi
+
+	# Note:
+	# Bash completion for "runuser" command is provided by same file which
+	# would also provide bash completion for "su" command. However, we don't
+	# use "su" command from this package.
+	# This triggers a known QA warning which we ignore for now to magically
+	# keep bash completion for "su" command which shadow package does not
+	# provide.
+}
+
+pkg_postinst() {
+	if ! use tty-helpers; then
+		elog "The mesg/wall/write tools have been disabled due to USE=-tty-helpers."
+	fi
+
+	if [[ -z ${REPLACING_VERSIONS} ]]; then
+		elog "The agetty util now clears the terminal by default. You"
+		elog "might want to add --noclear to your /etc/inittab lines."
+	fi
+}
diff --git a/sys-auth/OWNERS b/sys-auth/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/sys-auth/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/sys-auth/metadata.xml b/sys-auth/metadata.xml
deleted file mode 100644
index 4b8897c..0000000
--- a/sys-auth/metadata.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The sys-auth category contains applications and libraries to support
-		authentication and authorization facilities.
-		Here belongs PAM modules, NSS modules and login apps.
-	</longdescription>
-	<longdescription lang="ja">
-		sys-authカテゴリには確認を採用するアプリケーションとライブラリが
-		含まれます。これはPAMとNSSモジュールとログインアプリケーションの場所です。
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm sys-auth chứa các ứng dụng và thư viện hỗ trợ xác thực và phân quyền.
-		Ở đây bao gồm các module PAM, NSS và các ứng dụng đăng nhập.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie sys-auth enthält Programme und Bibliotheken die Funktionen
-		zur Authentifizierung und Authorisierung zur Verfügung stellen. Module für PAM 
-		und NSS sowie Loginapplikationen finden sich hier.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria sys-auth contiene applicazioni e librerie di supporto per
-		gli strumenti di autenticazione e autorizzazione. Appartengono a questa categoria
-		i moduli PAM, i moduli NSS e le applicazioni di login.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria sys-auth contém aplicações e bibliotecas para
-		suportar instrumentos de autenticação e autorização.
-		Nesta categoria pertencem módulos de PAM, módulos de NSS e
-		aplicações de login.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria sys-auth zawiera biblioteki oraz programy związane z
-		autoryzacją i uwierzytelnianiem. Znajdują się tu moduły PAM, NSS oraz
-		aplikacje służące do logowania.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría sys-auth contiene aplicaciones y librerías para dar
-		soporte a los servicios de autenticación y autorización.
-		A esta categoría pertenecen los módulos PAM, NSS y las aplicaciones
-		para ingresar en el sistema.
-	</longdescription>
-</catmetadata>
diff --git a/sys-block/OWNERS b/sys-block/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/sys-block/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/sys-block/metadata.xml b/sys-block/metadata.xml
deleted file mode 100644
index d54bebd..0000000
--- a/sys-block/metadata.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The sys-block category contains packages which work with block devices.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría sys-block contiene paquetes que trabajan con dispositivos
-		de bloque.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie sys-block enthält Pakete für die Arbeit mit Blockgeräten
-		(Festplatten, Disketten, CD-ROMs etc.).
-	</longdescription>
-	<longdescription lang="ja">
-		sys-blockカテゴリにはブロックデバイスと使用パッケージが含まれます。
-	</longdescription>
-	<longdescription lang="nl">
-		De sys-block categorie bevat gereedschappen voor het omgaan met blok-apparaten
-		zoals harde schijven, diskettes en CD-ROM's.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm sys-block chứa các gói hoạt động với thiết bị khối (block device).
-	</longdescription>
-	<longdescription lang="it">
-		La categoria sys-block contiene pacchetti per la gestione dei dispositivi a blocchi.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria sys-block contém pacotes que funcionam com
-		dispositivos de bloco.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria sys-block zawiera programy do pracy na urządzeniach blokowych.
-	</longdescription>
-</catmetadata>
-
diff --git a/sys-block/parted/Manifest b/sys-block/parted/Manifest
index 4b755a6..3e081f5 100644
--- a/sys-block/parted/Manifest
+++ b/sys-block/parted/Manifest
@@ -1 +1,2 @@
-DIST parted-3.1.tar.xz 1524344 RMD160 0e42d391f5700cb0fed551b27c2873f08628b802 SHA1 4f006d29451f7cfbf6131efdb0148e7f386ebc8f SHA256 5e9cc1f91eaf016e5033d85b9b893fd6d3ffaca532a48de1082df9b94225ca15
+DIST parted-3.4.tar.xz 1860300 BLAKE2B c724d3d1490c62d440b9e5dc359fef7ff623bc77ae5f867d8905245cb279ec391fa07a1a774488ad3bf7a2c477007264d7bab2635a544be8f94dc706a654a711 SHA512 e69bd1b610778e980d4595d04892f2ea1faf4ae9bfc98cd62abfc70066423f08ddaa396f9461c7beb1330d023232274606b6b26091a0458aeedd0f3f57536690
+DIST parted-3.4.tar.xz.sig 508 BLAKE2B 112ad0158b1100bd9150a7c87e8f93e67d42870b82a17d4d0aa8bb5e46306f837f3f99feabaf301f8cd640c299174e5f5acf152dd1f20ea2b7ace73d57d31f14 SHA512 6b11812267e66470ba2908ee1cc78b232b0bc2519787f5a17b92cd5f8ba904b1a836833f19c5244b23d4c7810437eeb26fbbd68fac819391b342709682345472
diff --git a/sys-block/parted/files/parted-3.1-sysmacro.patch b/sys-block/parted/files/parted-3.1-sysmacro.patch
deleted file mode 100644
index 8e2a4c8..0000000
--- a/sys-block/parted/files/parted-3.1-sysmacro.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-https://bugs.gentoo.org/580022
-
-From dec8995fe80508374beba6356f6ecbba8ef6b18b Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Tue, 21 Jun 2016 15:01:08 -0400
-Subject: [PATCH] include sysmacros.h for major/minor/makedev
-
-Linux C libs are moving away from including this header implicitly via
-sys/types.h, so include it explicitly.
----
- libparted/arch/linux.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
-index 326b95619d31..e5c168be3c68 100644
---- a/libparted/arch/linux.c
-+++ b/libparted/arch/linux.c
-@@ -37,6 +37,7 @@
- #include <dirent.h>
- #include <sys/ioctl.h>
- #include <sys/stat.h>
-+#include <sys/sysmacros.h>
- #include <sys/types.h>
- #include <sys/utsname.h>        /* for uname() */
- #include <scsi/scsi.h>
--- 
-2.8.2
diff --git a/sys-block/parted/files/parted-3.2-po4a-mandir.patch b/sys-block/parted/files/parted-3.2-po4a-mandir.patch
new file mode 100644
index 0000000..be0a9c6
--- /dev/null
+++ b/sys-block/parted/files/parted-3.2-po4a-mandir.patch
@@ -0,0 +1,11 @@
+--- a/doc/po4a.mk
++++ b/doc/po4a.mk
+@@ -23,7 +23,7 @@
+ # threshold is 80%), it won't be distributed, and the build won't fail.
+ #
+ 
+-mandir = $(mandir)/$(lang)
++mandir := $(mandir)/$(lang)
+ 
+ # Inform automake that we want to install some man pages in section 1, 5
+ # and 8.
diff --git a/sys-block/parted/files/parted-3.3-atari.patch b/sys-block/parted/files/parted-3.3-atari.patch
new file mode 100644
index 0000000..41771d0
--- /dev/null
+++ b/sys-block/parted/files/parted-3.3-atari.patch
@@ -0,0 +1,11 @@
+--- a/libparted/labels/atari.c
++++ b/libparted/labels/atari.c
+@@ -1957,7 +1957,7 @@
+ 	PED_ASSERT (sizeof (AtariRawPartition) == 12);
+ 	PED_ASSERT (sizeof (AtariRawTable) == 512);
+ 	/* GNU Libc doesn't support NULL instead of the locale name */
+-	PED_ASSERT ((atr_c_locale = newlocale(LC_ALL_MASK, "C", NULL)) != NULL);
++	atr_c_locale = newlocale(LC_ALL_MASK, "C", NULL);
+ 
+ 	ped_disk_type_register (&atari_disk_type);
+ }
diff --git a/sys-block/parted/files/parted-3.4-posix-printf.patch b/sys-block/parted/files/parted-3.4-posix-printf.patch
new file mode 100644
index 0000000..9aeb37c
--- /dev/null
+++ b/sys-block/parted/files/parted-3.4-posix-printf.patch
@@ -0,0 +1,63 @@
+From 9665bdd5d6756058bb3b767eacc1c195667bf276 Mon Sep 17 00:00:00 2001
+From: Kerin Millar <kfm@plushkava.net>
+Date: Sat, 5 Feb 2022 03:29:34 +0000
+Subject: [PATCH] tests: have printf(1) use octal numbers for POSIX conformance
+
+Per https://pubs.opengroup.org/onlinepubs/9699919799/utilities/printf.html,
+backslash-escape sequences incorporating hexadecimal numbers are non-standard.
+
+Signed-off-by: Kerin Millar <kfm@plushkava.net>
+---
+ tests/t0205-gpt-list-clobbers-pmbr.sh                       | 4 ++--
+ tests/t0206-gpt-print-with-corrupt-primary-clobbers-pmbr.sh | 4 ++--
+ tests/t2500-probe-corrupt-hfs.sh                            | 4 ++--
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/tests/t0205-gpt-list-clobbers-pmbr.sh b/tests/t0205-gpt-list-clobbers-pmbr.sh
+index 52f60cc..b1664fb 100644
+--- a/tests/t0205-gpt-list-clobbers-pmbr.sh
++++ b/tests/t0205-gpt-list-clobbers-pmbr.sh
+@@ -36,8 +36,8 @@ parted -m -s $dev u s p                        || fail=1
+ 
+ # Write non-NUL bytes all over the MBR, so we're likely to see any change.
+ # However, be careful to leave the type of the first partition, 0xEE,
+-# as well as the final two magic bytes.
+-printf '%0450d\xee%059d\x55\xaa' 0 0 | dd of=$dev count=1 conv=notrunc || fail=1
++# as well as the final two magic bytes, 0x55 0xAA.
++printf '%0450d\356%059d\125\252' 0 0 | dd of=$dev count=1 conv=notrunc || fail=1
+ 
+ dd if=$dev of=before count=1 || fail=1
+ 
+diff --git a/tests/t0206-gpt-print-with-corrupt-primary-clobbers-pmbr.sh b/tests/t0206-gpt-print-with-corrupt-primary-clobbers-pmbr.sh
+index 83c2a9c..8f2a4ef 100755
+--- a/tests/t0206-gpt-print-with-corrupt-primary-clobbers-pmbr.sh
++++ b/tests/t0206-gpt-print-with-corrupt-primary-clobbers-pmbr.sh
+@@ -32,8 +32,8 @@ parted -m -s $dev u s p                        || fail=1
+ 
+ # Write non-NUL bytes all over the MBR, so we're likely to see any change.
+ # However, be careful to leave the type of the first partition, 0xEE,
+-# as well as the final two magic bytes.
+-printf '%0450d\xee%059d\x55\xaa' 0 0 | dd of=$dev count=1 conv=notrunc || fail=1
++# as well as the final two magic bytes, 0x55 0xAA.
++printf '%0450d\356%059d\125\252' 0 0 | dd of=$dev count=1 conv=notrunc || fail=1
+ 
+ dd if=$dev of=before count=1 || fail=1
+ 
+diff --git a/tests/t2500-probe-corrupt-hfs.sh b/tests/t2500-probe-corrupt-hfs.sh
+index 3b4ade8..32ddcfc 100755
+--- a/tests/t2500-probe-corrupt-hfs.sh
++++ b/tests/t2500-probe-corrupt-hfs.sh
+@@ -29,8 +29,8 @@ compare /dev/null out || fail=1
+ 
+ parted -s "$dev" u s p || fail=1
+ 
+-# Poke an HFS+ signature into place
+-printf '\x48\x2b' | dd of=$dev seek=$((2048+2)) conv=notrunc || fail=1
++# Poke an HFS+ signature into place (0x48 0x2B)
++printf '\110\053' | dd of=$dev seek=$((2048+2)) conv=notrunc || fail=1
+ 
+ # Or, if starting from a valid HFS/HFS+ file system, poke these:
+ # offset 18 total_blocks=0(16b)
+-- 
+2.35.1
+
diff --git a/sys-block/parted/metadata.xml b/sys-block/parted/metadata.xml
index 57a6769..8a1f1a6 100644
--- a/sys-block/parted/metadata.xml
+++ b/sys-block/parted/metadata.xml
@@ -1,17 +1,26 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-<herd>livecd</herd>
-<use>
-	<flag name='device-mapper'>
-	Enable device-mapper support from <pkg>sys-fs/lvm2</pkg> in parted
-	</flag>
-	<flag name="debug">
-	Enable debugging as encouraged by upstream: [The default configuration]
-	includes --enable-debug (by default), which contains many assertions.
-	Obviously, these "waste" space, but in the past, they have caught
-	potentially dangerous bugs before they would have done damage, so we think
-	it's worth it.  Also, it means we get more bug reports ;)
-	</flag>
-</use>
+	<maintainer type="person">
+		<email>mgorny@gentoo.org</email>
+		<name>Michał Górny</name>
+	</maintainer>
+	<maintainer type="project">
+		<email>base-system@gentoo.org</email>
+		<name>Base System Project</name>
+	</maintainer>
+	<use>
+		<flag name="device-mapper">
+			Enable device-mapper support from <pkg>sys-fs/lvm2</pkg>
+			in parted
+		</flag>
+		<flag name="debug">
+			Enable debugging as encouraged by upstream: [The default
+			configuration] includes --enable-debug (by default), which
+			contains many assertions.  Obviously, these "waste" space,
+			but in the past, they have caught potentially dangerous bugs
+			before they would have done damage, so we think it's worth
+			it.  Also, it means we get more bug reports ;)
+		</flag>
+	</use>
 </pkgmetadata>
diff --git a/sys-block/parted/parted-3.1-r4.ebuild b/sys-block/parted/parted-3.1-r4.ebuild
deleted file mode 100644
index e3b00eb..0000000
--- a/sys-block/parted/parted-3.1-r4.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-block/parted/parted-3.1.ebuild,v 1.1 2012/03/04 18:23:21 jer Exp $
-
-EAPI="7"
-
-WANT_AUTOMAKE="1.11"
-
-inherit autotools
-
-DESCRIPTION="Create, destroy, resize, check, copy partitions and file systems"
-HOMEPAGE="http://www.gnu.org/software/parted"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="*"
-IUSE="+debug device-mapper nls readline selinux static-libs test"
-
-# specific version for gettext needed
-# to fix bug 85999
-RDEPEND="
-	>=sys-fs/e2fsprogs-1.27
-	>=sys-libs/ncurses-5.2
-	nls? ( >=sys-devel/gettext-0.12.1-r2 )
-	readline? ( >=sys-libs/readline-5.2 )
-	selinux? ( sys-libs/libselinux )
-	device-mapper? ( || ( >=sys-fs/lvm2-2.02.45 sys-fs/device-mapper ) )
-"
-DEPEND="
-	${RDEPEND}
-	dev-util/pkgconfig
-	test? ( >=dev-libs/check-0.9.3 )
-"
-
-PATCHES=(
-	# Fix a file descriptor leak due to fsync errors.
-	# See crbug.com/215843 for details.
-	"${FILESDIR}/${P}-fix-file-descriptor-leak.patch"
-	"${FILESDIR}/${P}-sysmacro.patch"
-)
-
-src_prepare() {
-	default
-
-	# Remove tests known to FAIL instead of SKIP without OS/userland support
-	sed -i libparted/tests/Makefile.am \
-		-e 's|t3000-symlink.sh||g' || die "sed failed"
-	sed -i tests/Makefile.am \
-		-e '/t4100-msdos-partition-limits.sh/d' \
-		-e '/t4100-dvh-partition-limits.sh/d' \
-		-e '/t6000-dm.sh/d' || die "sed failed"
-	# there is no configure flag for controlling the dev-libs/check test
-	sed -i configure.ac \
-		-e "s:have_check=[a-z]*:have_check=$(usex test):g" || die
-
-	eautoreconf
-}
-
-src_configure() {
-	econf \
-		$(use_with readline) \
-		$(use_enable nls) \
-		$(use_enable debug) \
-		$(use_enable selinux) \
-		$(use_enable device-mapper) \
-		$(use_enable static-libs static) \
-		--disable-rpath
-}
-
-src_test() {
-	if use debug; then
-		# Do not die when tests fail - some requirements are not
-		# properly checked and should not lead to the ebuild failing.
-		emake check
-	else
-		ewarn "Skipping tests because USE=-debug is set."
-	fi
-}
-
-src_install() {
-	emake install DESTDIR="${D}"
-	dodoc AUTHORS BUGS ChangeLog NEWS README THANKS TODO
-	dodoc doc/{API,FAT,USER.jp}
-	find "${ED}" -name '*.la' -exec rm -f '{}' +
-}
diff --git a/sys-block/parted/parted-3.4-r1.ebuild b/sys-block/parted/parted-3.4-r1.ebuild
new file mode 100644
index 0000000..4f11e70
--- /dev/null
+++ b/sys-block/parted/parted-3.4-r1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit verify-sig
+
+DESCRIPTION="Create, destroy, resize, check, copy partitions and file systems"
+HOMEPAGE="https://www.gnu.org/software/parted/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
+	verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="*"
+IUSE="+debug device-mapper nls readline"
+
+# util-linux for libuuid
+RDEPEND="
+	>=sys-fs/e2fsprogs-1.27
+	sys-apps/util-linux
+	device-mapper? ( >=sys-fs/lvm2-2.02.45 )
+	readline? (
+		>=sys-libs/ncurses-5.7-r7:0=
+		>=sys-libs/readline-5.2:0=
+	)
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+	nls? ( >=sys-devel/gettext-0.12.1-r2 )
+	verify-sig? ( sec-keys/openpgp-keys-bcl )
+	virtual/pkgconfig
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/bcl.asc
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-3.2-po4a-mandir.patch
+	"${FILESDIR}"/${PN}-3.3-atari.patch
+	# https://lists.gnu.org/archive/html/bug-parted/2022-02/msg00000.html
+	"${FILESDIR}"/${P}-posix-printf.patch
+	# Fix a file descriptor leak due to fsync errors.
+	# See crbug.com/215843 for details.
+	"${FILESDIR}/${PN}-3.1-fix-file-descriptor-leak.patch"
+)
+
+src_prepare() {
+	default
+	touch doc/pt_BR/Makefile.in || die
+}
+
+src_configure() {
+	local myconf=(
+		$(use_enable debug)
+		$(use_enable device-mapper)
+		$(use_enable nls)
+		$(use_with readline)
+		--disable-rpath
+		--disable-static
+	)
+	econf "${myconf[@]}"
+}
+
+DOCS=(
+	AUTHORS BUGS ChangeLog NEWS README THANKS TODO doc/{API,FAT,USER.jp}
+)
+
+src_install() {
+	default
+	find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/sys-boot/OWNERS b/sys-boot/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/sys-boot/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/sys-boot/bootstub/OWNERS b/sys-boot/bootstub/OWNERS
new file mode 100644
index 0000000..59418ce
--- /dev/null
+++ b/sys-boot/bootstub/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/bootstub:/OWNERS
diff --git a/sys-boot/chromeos-bmpblk/chromeos-bmpblk-1.0.1-r314.ebuild b/sys-boot/chromeos-bmpblk/chromeos-bmpblk-1.0.1-r314.ebuild
deleted file mode 100644
index 8bf1de4..0000000
--- a/sys-boot/chromeos-bmpblk/chromeos-bmpblk-1.0.1-r314.ebuild
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="31a5652b41878a805b35e7ded9734a20d3756743"
-CROS_WORKON_TREE="80c28bef3228391311f3d326dcf05ded796f5a10"
-CROS_WORKON_PROJECT="chromiumos/platform/bmpblk"
-CROS_WORKON_LOCALNAME="../platform/bmpblk"
-CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_USE_VCSID="1"
-
-PYTHON_COMPAT=( python3_{6..8} )
-inherit cros-workon python-any-r1
-
-DESCRIPTION="Chrome OS Firmware Bitmap Block"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/bmpblk/"
-SRC_URI=""
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="detachable physical_presence_power physical_presence_recovery unibuild"
-REQUIRED_USE="unibuild"
-
-BDEPEND="${PYTHON_DEPS}"
-DEPEND="chromeos-base/chromeos-config:="
-
-BMPBLK_BUILD_NAMES=()
-BMPBLK_BUILD_TARGETS=()
-
-src_prepare() {
-	local name
-	local bmpblk_target
-
-	while read -r name && read -r bmpblk_target; do
-		if [[ -z "${bmpblk_target}" ]]; then
-			# Use ${ARCH}-generic to get a fallback configuration.
-			bmpblk_target="${ARCH}-generic"
-		fi
-		BMPBLK_BUILD_NAMES+=("${name}")
-		BMPBLK_BUILD_TARGETS+=("${bmpblk_target}")
-	done < <(cros_config_host get-firmware-build-combinations bmpblk)
-
-	export VCSID
-
-	default
-
-	# if fontconfig's cache is empty, prepare single use cache.
-	# That's still faster than having each process (of which there
-	# are many) re-scan the fonts
-	if find /usr/share/cache/fontconfig -maxdepth 0 -type d -empty \
-		-exec false {} +; then
-
-		return
-	fi
-
-	TMPCACHE=$(mktemp -d)
-	cat > $TMPCACHE/local-conf.xml <<-EOF
-		<?xml version="1.0"?>
-		<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
-		<fontconfig>
-		<cachedir>$TMPCACHE</cachedir>
-		<include>/etc/fonts/fonts.conf</include>
-		</fontconfig>
-	EOF
-	export FONTCONFIG_FILE=$TMPCACHE/local-conf.xml
-	fc-cache -v
-}
-
-# Compile bmpblk for a certain build target.
-#   $1: bmpblk build target name
-compile_bmpblk() {
-	local build_target="$1"
-
-	if use detachable ; then
-		export DETACHABLE=1
-	fi
-
-	if use physical_presence_power ; then
-		export PHYSICAL_PRESENCE="power"
-	elif use physical_presence_recovery ; then
-		export PHYSICAL_PRESENCE="recovery"
-	else
-		export PHYSICAL_PRESENCE="keyboard"
-	fi
-
-	emake OUTPUT="${WORKDIR}" BOARD="${build_target}" || \
-		die "Unable to compile bmpblk for ${build_target}."
-	emake OUTPUT="${WORKDIR}/${build_target}" ARCHIVER="/usr/bin/archive" archive || \
-		die "Unable to archive bmpblk for ${build_target}."
-	if [[ "${build_target}" == "${ARCH}-generic" ]]; then
-		printf "1" > "${WORKDIR}/${build_target}/vbgfx_not_scaled"
-	fi
-}
-
-src_compile() {
-	local build_target
-
-	for build_target in "${BMPBLK_BUILD_TARGETS[@]}"; do
-		# Check we haven't already compiled this target.
-		if [[ -e "${WORKDIR}/${build_target}" ]]; then
-			continue
-		fi
-		compile_bmpblk "${build_target}"
-	done
-}
-
-doins_if_exist() {
-	local f
-	for f in "$@"; do
-		if [[ -r "${f}" ]]; then
-			doins "${f}"
-		fi
-	done
-}
-
-# Compile bmpblk for a certain build target.
-#   $1: build combination name
-#   $2: bmpblk build target name
-install_bmpblk() {
-	local build_combination="$1"
-	local build_target="$2"
-
-	# Most bitmaps need to reside in the RO CBFS only. Many boards do
-	# not have enough space in the RW CBFS regions to contain all
-	# image files.
-	insinto "/firmware/cbfs-ro-compress/${build_combination}"
-	# These files aren't necessary for debug builds. When these files
-	# are missing, Depthcharge will render text-only screens. They look
-	# obviously not ready for release.
-	doins_if_exist "${WORKDIR}/${build_target}"/vbgfx.bin
-	doins_if_exist "${WORKDIR}/${build_target}"/locales
-	doins_if_exist "${WORKDIR}/${build_target}"/locale/ro/locale_*.bin
-	doins_if_exist "${WORKDIR}/${build_target}"/font.bin
-	# This flag tells the firmware_Bmpblk test to flag this build as
-	# not ready for release.
-	doins_if_exist "${WORKDIR}/${build_target}"/vbgfx_not_scaled
-
-	# However, if specific bitmaps need to be updated via RW update,
-	# we should also install here.
-	insinto "/firmware/cbfs-rw-compress-override/${build_combination}"
-	doins_if_exist "${WORKDIR}/${build_target}"/locale/rw/rw_locale_*.bin
-}
-
-src_install() {
-	local i
-	local name
-	local target
-
-	for i in "${!BMPBLK_BUILD_TARGETS[@]}"; do
-		name="${BMPBLK_BUILD_NAMES[${i}]}"
-		target="${BMPBLK_BUILD_TARGETS[${i}]}"
-
-		install_bmpblk "${name}" "${target}"
-	done
-}
diff --git a/sys-boot/chromeos-bmpblk/chromeos-bmpblk-1.0.1-r326.ebuild b/sys-boot/chromeos-bmpblk/chromeos-bmpblk-1.0.1-r326.ebuild
new file mode 100644
index 0000000..a0fc5de
--- /dev/null
+++ b/sys-boot/chromeos-bmpblk/chromeos-bmpblk-1.0.1-r326.ebuild
@@ -0,0 +1,166 @@
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="fc49054007a161e329c970e9a5267de284f8fd91"
+CROS_WORKON_TREE="5184a16e8018d2f1bddc38c3391457a4a703fd4f"
+CROS_WORKON_PROJECT="chromiumos/platform/bmpblk"
+CROS_WORKON_LOCALNAME="../platform/bmpblk"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cros-workon python-r1
+
+DESCRIPTION="Chrome OS Firmware Bitmap Block"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/bmpblk/"
+SRC_URI=""
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="detachable physical_presence_power physical_presence_recovery unibuild"
+REQUIRED_USE="unibuild"
+
+BDEPEND="${PYTHON_DEPS}
+	dev-python/pillow[${PYTHON_USEDEP}]"
+DEPEND="chromeos-base/chromeos-config:="
+
+BMPBLK_BUILD_NAMES=()
+BMPBLK_BUILD_TARGETS=()
+
+src_prepare() {
+	local name
+	local bmpblk_target
+
+	while read -r name && read -r bmpblk_target; do
+		if [[ -z "${bmpblk_target}" ]]; then
+			# Use ${ARCH}-generic to get a fallback configuration.
+			bmpblk_target="${ARCH}-generic"
+		fi
+		BMPBLK_BUILD_NAMES+=("${name}")
+		BMPBLK_BUILD_TARGETS+=("${bmpblk_target}")
+	done < <(cros_config_host get-firmware-build-combinations bmpblk)
+
+	default
+
+	# if fontconfig's cache is empty, prepare single use cache.
+	# That's still faster than having each process (of which there
+	# are many) re-scan the fonts
+	if find /usr/share/cache/fontconfig -maxdepth 0 -type d -empty \
+		-exec false {} +; then
+
+		return
+	fi
+
+	TMPCACHE=$(mktemp -d)
+	cat > $TMPCACHE/local-conf.xml <<-EOF
+		<?xml version="1.0"?>
+		<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+		<fontconfig>
+		<cachedir>$TMPCACHE</cachedir>
+		<include>/etc/fonts/fonts.conf</include>
+		</fontconfig>
+	EOF
+	export FONTCONFIG_FILE=$TMPCACHE/local-conf.xml
+	fc-cache -v
+}
+
+# Compile bmpblk for a certain build target.
+#   $1: bmpblk build target name
+compile_bmpblk() {
+	local build_target="$1"
+
+	if use detachable ; then
+		export DETACHABLE=1
+	fi
+
+	recovery_input="$(cros_config_host get-firmware-recovery-input bmpblk "${build_target}")"
+	if [[ -n "${recovery_input}" ]] ; then
+		einfo "Using cros_config_host to configure recovery"
+		if [[ "${recovery_input}" == "POWER_BUTTON" ]] ; then
+			export PHYSICAL_PRESENCE="power"
+		elif [[ "${recovery_input}" == "RECOVERY_BUTTON" ]] ; then
+			export PHYSICAL_PRESENCE="recovery"
+		else
+			export PHYSICAL_PRESENCE="keyboard"
+		fi
+	else
+		# TODO(b/229906790) Remove this once USE flag support not longer needed
+		einfo "Recovery input method not found in config. Reverting to deprecated use flags"
+		if use physical_presence_power ; then
+			export PHYSICAL_PRESENCE="power"
+		elif use physical_presence_recovery ; then
+			export PHYSICAL_PRESENCE="recovery"
+		else
+			export PHYSICAL_PRESENCE="keyboard"
+		fi
+	fi
+
+	emake OUTPUT="${WORKDIR}" BOARD="${build_target}" || \
+		die "Unable to compile bmpblk for ${build_target}."
+	emake OUTPUT="${WORKDIR}/${build_target}" ARCHIVER="/usr/bin/archive" archive || \
+		die "Unable to archive bmpblk for ${build_target}."
+	if [[ "${build_target}" == "${ARCH}-generic" ]]; then
+		printf "1" > "${WORKDIR}/${build_target}/vbgfx_not_scaled"
+	fi
+}
+
+src_compile() {
+	local build_target
+
+	for build_target in "${BMPBLK_BUILD_TARGETS[@]}"; do
+		# Check we haven't already compiled this target.
+		if [[ -e "${WORKDIR}/${build_target}" ]]; then
+			continue
+		fi
+		compile_bmpblk "${build_target}"
+	done
+}
+
+doins_if_exist() {
+	local f
+	for f in "$@"; do
+		if [[ -r "${f}" ]]; then
+			doins "${f}"
+		fi
+	done
+}
+
+# Compile bmpblk for a certain build target.
+#   $1: build combination name
+#   $2: bmpblk build target name
+install_bmpblk() {
+	local build_combination="$1"
+	local build_target="$2"
+
+	# Most bitmaps need to reside in the RO CBFS only. Many boards do
+	# not have enough space in the RW CBFS regions to contain all
+	# image files.
+	insinto "/firmware/cbfs-ro-compress/${build_combination}"
+	# These files aren't necessary for debug builds. When these files
+	# are missing, Depthcharge will render text-only screens. They look
+	# obviously not ready for release.
+	doins_if_exist "${WORKDIR}/${build_target}"/vbgfx.bin
+	doins_if_exist "${WORKDIR}/${build_target}"/locales
+	doins_if_exist "${WORKDIR}/${build_target}"/locale/ro/locale_*.bin
+	doins_if_exist "${WORKDIR}/${build_target}"/font.bin
+	# This flag tells the firmware_Bmpblk test to flag this build as
+	# not ready for release.
+	doins_if_exist "${WORKDIR}/${build_target}"/vbgfx_not_scaled
+
+	# However, if specific bitmaps need to be updated via RW update,
+	# we should also install here.
+	insinto "/firmware/cbfs-rw-compress-override/${build_combination}"
+	doins_if_exist "${WORKDIR}/${build_target}"/locale/rw/rw_locale_*.bin
+}
+
+src_install() {
+	local i
+	local name
+	local target
+
+	for i in "${!BMPBLK_BUILD_TARGETS[@]}"; do
+		name="${BMPBLK_BUILD_NAMES[${i}]}"
+		target="${BMPBLK_BUILD_TARGETS[${i}]}"
+
+		install_bmpblk "${name}" "${target}"
+	done
+}
diff --git a/sys-boot/chromeos-bmpblk/chromeos-bmpblk-9999.ebuild b/sys-boot/chromeos-bmpblk/chromeos-bmpblk-9999.ebuild
index 3ab48c1..e12ac44 100644
--- a/sys-boot/chromeos-bmpblk/chromeos-bmpblk-9999.ebuild
+++ b/sys-boot/chromeos-bmpblk/chromeos-bmpblk-9999.ebuild
@@ -5,10 +5,9 @@
 CROS_WORKON_PROJECT="chromiumos/platform/bmpblk"
 CROS_WORKON_LOCALNAME="../platform/bmpblk"
 CROS_WORKON_OUTOFTREE_BUILD="1"
-CROS_WORKON_USE_VCSID="1"
 
-PYTHON_COMPAT=( python3_{6..8} )
-inherit cros-workon python-any-r1
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cros-workon python-r1
 
 DESCRIPTION="Chrome OS Firmware Bitmap Block"
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/bmpblk/"
@@ -18,7 +17,8 @@
 IUSE="detachable physical_presence_power physical_presence_recovery unibuild"
 REQUIRED_USE="unibuild"
 
-BDEPEND="${PYTHON_DEPS}"
+BDEPEND="${PYTHON_DEPS}
+	dev-python/pillow[${PYTHON_USEDEP}]"
 DEPEND="chromeos-base/chromeos-config:="
 
 BMPBLK_BUILD_NAMES=()
@@ -37,8 +37,6 @@
 		BMPBLK_BUILD_TARGETS+=("${bmpblk_target}")
 	done < <(cros_config_host get-firmware-build-combinations bmpblk)
 
-	export VCSID
-
 	default
 
 	# if fontconfig's cache is empty, prepare single use cache.
@@ -72,12 +70,26 @@
 		export DETACHABLE=1
 	fi
 
-	if use physical_presence_power ; then
-		export PHYSICAL_PRESENCE="power"
-	elif use physical_presence_recovery ; then
-		export PHYSICAL_PRESENCE="recovery"
+	recovery_input="$(cros_config_host get-firmware-recovery-input bmpblk "${build_target}")"
+	if [[ -n "${recovery_input}" ]] ; then
+		einfo "Using cros_config_host to configure recovery"
+		if [[ "${recovery_input}" == "POWER_BUTTON" ]] ; then
+			export PHYSICAL_PRESENCE="power"
+		elif [[ "${recovery_input}" == "RECOVERY_BUTTON" ]] ; then
+			export PHYSICAL_PRESENCE="recovery"
+		else
+			export PHYSICAL_PRESENCE="keyboard"
+		fi
 	else
-		export PHYSICAL_PRESENCE="keyboard"
+		# TODO(b/229906790) Remove this once USE flag support not longer needed
+		einfo "Recovery input method not found in config. Reverting to deprecated use flags"
+		if use physical_presence_power ; then
+			export PHYSICAL_PRESENCE="power"
+		elif use physical_presence_recovery ; then
+			export PHYSICAL_PRESENCE="recovery"
+		else
+			export PHYSICAL_PRESENCE="keyboard"
+		fi
 	fi
 
 	emake OUTPUT="${WORKDIR}" BOARD="${build_target}" || \
diff --git a/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.4-r10.ebuild b/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.4-r10.ebuild
deleted file mode 100644
index fcfe7d7..0000000
--- a/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.4-r10.ebuild
+++ /dev/null
@@ -1,724 +0,0 @@
-# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
-CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
-CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
-CROS_WORKON_LOCALNAME="../platform/empty-project"
-
-inherit cros-debug cros-unibuild cros-workon
-
-DESCRIPTION="ChromeOS firmware image builder"
-HOMEPAGE="http://www.chromium.org"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-IUSE="seabios wilco_ec zephyr_ec"
-IUSE="${IUSE} fsp unibuild u-boot tianocore cros_ec pd_sync +bmpblk"
-
-# 'ec_ro_sync' can be a solution for devices that will fail to complete recovery
-# due to TCPC reset (crbug.com/782427#c4), but may not work for every devices
-# (crbug.com/1024401, and MT8183 family). Please double check before turning on
-# this option.
-IUSE="${IUSE} ec_ro_sync"
-IUSE="${IUSE} +depthcharge"
-IUSE="${IUSE} payload-align-64 +payload-compress-lzma payload-compress-lz4"
-
-REQUIRED_USE="^^ ( payload-compress-lzma payload-compress-lz4 )"
-
-
-# No pre-unibuild boards build firmware on ToT anymore.  Assume
-# unibuild to keep ebuild clean.
-REQUIRED_USE="unibuild"
-
-BDEPEND="chromeos-base/vboot_reference"
-
-DEPEND="
-	sys-boot/coreboot:=
-	depthcharge? ( sys-boot/depthcharge:= )
-	bmpblk? ( sys-boot/chromeos-bmpblk:= )
-	tianocore? ( sys-boot/edk2:= )
-	seabios? ( sys-boot/chromeos-seabios:= )
-	chromeos-base/chromeos-config:=
-	u-boot? ( sys-boot/u-boot:= )
-	cros_ec? ( chromeos-base/chromeos-ec:= )
-	zephyr_ec? ( chromeos-base/chromeos-zephyr:= )
-	pd_sync? ( chromeos-base/chromeos-ec:= )
-	"
-
-# While this package is never actually executed, we still need to specify
-# RDEPEND. A binary version of this package could exist that was built using an
-# outdated version of chromeos-config. Without the RDEPEND this stale binary
-# package is considered valid by the package manager. This is problematic
-# because we could have two binary packages installed having been build with
-# different versions of chromeos-config. By specifying the RDEPEND we force
-# the package manager to ensure the two versions use the same chromeos-config.
-RDEPEND="${DEPEND}"
-
-# Directory where the generated files are looked for and placed.
-CROS_FIRMWARE_IMAGE_DIR="/firmware"
-CROS_FIRMWARE_ROOT="${SYSROOT}${CROS_FIRMWARE_IMAGE_DIR}"
-
-do_cbfstool() {
-	local output
-	einfo cbfstool "$@"
-	output=$(cbfstool "$@" 2>&1)
-	if [ $? != 0 ]; then
-		die "Failed cbfstool invocation: cbfstool $@\n${output}"
-	fi
-	printf "${output}"
-}
-
-sign_region() {
-	local fw_image=$1
-	local keydir=$2
-	local slot=$3
-
-	local tmpfile=`mktemp`
-	local cbfs=FW_MAIN_${slot}
-	local vblock=VBLOCK_${slot}
-
-	do_cbfstool ${fw_image} read -r ${cbfs} -f ${tmpfile}
-	local size=$(do_cbfstool ${fw_image} print -k -r ${cbfs} | \
-		tail -1 | \
-		sed "/(empty).*null/ s,^(empty)[[:space:]]\(0x[0-9a-f]*\)\tnull\t.*$,\1,")
-	size=$(printf "%d" ${size})
-
-	# If the last entry is called "(empty)" and of type "null", remove it from
-	# the section so it isn't part of the signed data, to improve boot speed
-	# if (as often happens) there's a large unused suffix.
-	if [ -n "${size}" ] && [ ${size} -gt 0 ]; then
-		head -c ${size} ${tmpfile} > ${tmpfile}.2
-		mv ${tmpfile}.2 ${tmpfile}
-		# Use 255 (aka 0xff) as the filler, this greatly reduces
-		# memory areas which need to be programmed for spi flash
-		# chips, because the erase value is 0xff.
-		do_cbfstool ${fw_image} write --force -u -i 255 \
-			-r ${cbfs} -f ${tmpfile}
-	fi
-
-	futility vbutil_firmware \
-		--vblock ${tmpfile}.out \
-		--keyblock ${keydir}/firmware.keyblock \
-		--signprivate ${keydir}/firmware_data_key.vbprivk \
-		--version 1 \
-		--fv ${tmpfile} \
-		--kernelkey ${keydir}/kernel_subkey.vbpubk \
-		--flags 0
-
-	do_cbfstool ${fw_image} write -u -i 255 -r ${vblock} -f ${tmpfile}.out
-
-	rm -f ${tmpfile} ${tmpfile}.out
-}
-
-sign_image() {
-	local fw_image=$1
-	local keydir=$2
-
-	sign_region "${fw_image}" "${keydir}" A
-	sign_region "${fw_image}" "${keydir}" B
-}
-
-add_payloads() {
-	local fw_image=$1
-	local ro_payload=$2
-	local rw_payload=$3
-
-	local -a args=(-n fallback/payload)
-
-	if use payload-compress-lzma; then
-		args+=(-c lzma)
-	elif use payload-compress-lz4; then
-		args+=(-c lz4)
-	fi
-
-	if use payload-align-64; then
-		args+=(-a 64)
-	fi
-
-	if [ -n "${ro_payload}" ]; then
-		do_cbfstool "${fw_image}" add-payload \
-			-f "${ro_payload}" "${args[@]}"
-	fi
-
-	if [ -n "${rw_payload}" ]; then
-		do_cbfstool "${fw_image}" add-payload -f "${rw_payload}" \
-			"${args[@]}" -r FW_MAIN_A,FW_MAIN_B
-	fi
-}
-
-# Returns true if EC supports EFS.
-is_ec_efs_enabled() {
-	local depthcharge_config="$1"
-
-	grep -q "^CONFIG_EC_EFS=y$" "${depthcharge_config}"
-}
-
-# Returns true if coreboot is set up to perform EC software sync
-is_early_ec_sync_enabled() {
-	local coreboot_config="$1"
-
-	grep -q "^CONFIG_VBOOT_EARLY_EC_SYNC=y$" "${coreboot_config}"
-}
-
-# Adds EC{ro,rw} images to CBFS
-add_ec() {
-	local depthcharge_config="$1"
-	local coreboot_config="$2"
-	local rom="$3"
-	local name="$4"
-	local ecroot="$5"
-	local pad="0"
-	local comp_type="lzma"
-
-	# The initial implementation of EC software sync in coreboot does
-	# not support decompression of the EC firmware images.  There is
-	# not enough CAR/SRAM space available to store the entire image
-	# decompressed, so it would have to be decompressed in a "streaming"
-	# fashion.  See crbug.com/1023830.
-	if [[ "${name}" != "pd" ]] && is_early_ec_sync_enabled "${coreboot_config}"; then
-		einfo "Adding uncompressed EC image"
-		comp_type="none"
-	fi
-
-	# When EFS is enabled, the payloads here may be resigned and enlarged so
-	# extra padding is needed.
-	if use depthcharge; then
-		is_ec_efs_enabled "${depthcharge_config}" && pad="128"
-	fi
-	einfo "Padding ${name}{ro,rw} ${pad} byte."
-
-	local rw_file="${ecroot}/ec.RW.bin"
-	# TODO(jrosenth): can we do this for all EC's (not just Zephyr)?
-	if use zephyr_ec; then
-		( cd "${T}" && dump_fmap -x "${ecroot}/zephyr.bin" RW_FW ) || \
-			die "Unable to extract RW region from FMAP"
-		rw_file="${T}/RW_FW"
-	fi
-	openssl dgst -sha256 -binary "${rw_file}" > "${T}/ecrw.hash" || \
-		die "Unable to compute RW hash"
-
-	do_cbfstool "${rom}" add -r FW_MAIN_A,FW_MAIN_B -t raw -c "${comp_type}" \
-		-f "${rw_file}" -n "${name}rw" -p "${pad}"
-	do_cbfstool "${rom}" add -r FW_MAIN_A,FW_MAIN_B -t raw -c none \
-		-f "${T}/ecrw.hash" -n "${name}rw.hash"
-
-	if ! use ec_ro_sync; then
-		einfo "Skip packing EC RO."
-	elif [[ -f "${ecroot}/ec.RO.bin" ]]; then
-		do_cbfstool "${rom}" add -r COREBOOT -t raw -c "${comp_type}" \
-			-f "${ecroot}/ec.RO.bin" -n "${name}ro" -p "${pad}"
-		do_cbfstool "${rom}" add -r COREBOOT -t raw -c none \
-			-f "${ecroot}/ec.RO.hash" -n "${name}ro.hash"
-	else
-		ewarn "Missing ${ecroot}/ec.RO.bin, skip packing EC RO."
-	fi
-
-	# Add EC version file for Wilco EC
-	if use wilco_ec; then
-		do_cbfstool "${rom}" add -r FW_MAIN_A,FW_MAIN_B -t raw -c none \
-			-f "${ecroot}/ec.RW.version" -n "${name}rw.version"
-	fi
-}
-
-# Add payloads and sign the image.
-# This takes the base image and creates a new signed one with the given
-# payloads added to it.
-# The image is placed in directory ${outdir} ("" for current directory).
-# An image suffix is added is ${suffix} is non-empty (e.g. "dev", "net").
-# Args:
-#   $1: Image type (e,g. "" for standard image, "dev" for dev image)
-#   $2: Source image to start from.
-#   $3: Payload to add to read-only image portion
-#   $4: Payload to add to read-write image portion
-build_image() {
-	local image_type=$1
-	local src_image=$2
-	local ro_payload=$3
-	local rw_payload=$4
-	local devkeys_dir="${BROOT}/usr/share/vboot/devkeys"
-
-	[ -n "${image_type}" ] && image_type=".${image_type}"
-	local dst_image="${outdir}image${suffix}${image_type}.bin"
-
-	einfo "Building image ${dst_image}"
-	cp ${src_image} ${dst_image}
-	add_payloads ${dst_image} ${ro_payload} ${rw_payload}
-	sign_image ${dst_image} "${devkeys_dir}"
-}
-
-# Hash the payload of an altfw alternative bootloader
-# Loads the payload from $rom on RW_LEGACY under:
-#   altfw/<name>
-# Stores the hash into $rom on RW-A and RW-B as:
-#   altfw/<name>.sha256
-# Args:
-#   $1: rom file where the payload can be found
-#   $2: name of the alternative bootloader
-hash_altfw_payload() {
-	local rom="$1"
-	local name="$2"
-	local payload_file="altfw/${name}"
-	local hash_file="${payload_file}.sha256"
-	local tmpfile="$(mktemp)"
-	local tmphash="$(mktemp)"
-	local rom
-
-	einfo "  Hashing ${payload_file}"
-
-	# Grab the raw uncompressed payload (-U) and hash it into $tmphash.
-	do_cbfstool "${rom}" extract -r RW_LEGACY -n "${payload_file}" \
-		-f "${tmpfile}" -U >/dev/null
-	openssl dgst -sha256 -binary "${tmpfile}" > "${tmphash}"
-
-	# Copy $tmphash into RW-A and RW-B.
-	do_cbfstool "${rom}" add -r FW_MAIN_A,FW_MAIN_B \
-		-f "${tmphash}" -n "${hash_file}" -t raw
-}
-
-# Set up alternative bootloaders
-#
-# This creates a new CBFS in the RW_LEGACY area and puts bootloaders into it,
-# based on USE flags. A list is written to an "altfw/list" file so that there
-# is a record of what is available.
-# Args:
-#   $1: coreboot build target to use for prefix on target-specific payloads
-#   $2: coreboot file to add alternative bootloaders to
-setup_altfw() {
-	local target="$1"
-	local rom="$2"
-	local bl_list="${T}/altfw"
-
-	einfo "Adding alternative firmware"
-
-	# Add master header to the RW_LEGACY section
-	printf "ptr_" > "${T}/ptr"
-	do_cbfstool "${rom}" add -r RW_LEGACY -f "${T}/ptr" -n "header pointer" \
-		-t "cbfs header" -b -4
-	do_cbfstool "${rom}" add-master-header -r RW_LEGACY
-	rm "${T}/ptr"
-	> "${bl_list}"
-
-	# Add U-Boot if enabled
-	if use u-boot; then
-		einfo "- Adding U-Boot"
-
-		do_cbfstool "${rom}" add-flat-binary -r RW_LEGACY -n altfw/u-boot \
-			-c lzma -l 0x1110000 -e 0x1110000 \
-			-f "${CROS_FIRMWARE_ROOT}/u-boot.bin"
-		hash_altfw_payload "${rom}" u-boot
-		echo "1;altfw/u-boot;U-Boot;U-Boot bootloader" >> "${bl_list}"
-	fi
-
-	# Add TianoCore if enabled
-	if use tianocore; then
-		einfo "- Adding TianoCore"
-
-		# Some boards only have 1MB of RW_LEGACY space but UEFI is over
-		# 800KB. Allow this to fail, in which case we just don't add it.
-		if cbfstool "${rom}" add-payload -r RW_LEGACY \
-				-n altfw/tianocore -c lzma -f \
-				"${CROS_FIRMWARE_ROOT}/tianocore/UEFIPAYLOAD.fd"; then
-			hash_altfw_payload "${rom}" tianocore
-			echo "2;altfw/tianocore;TianoCore;TianoCore bootloader" \
-				>> "${bl_list}"
-
-			# For now, use TianoCore as the default.
-			echo "0;altfw/tianocore;TianoCore;TianoCore bootloader" \
-				>> "${bl_list}"
-			einfo "  (sing TianoCore as default)"
-		else
-			ewarn "Not enough space for TianoCore: omitted"
-		fi
-	fi
-
-	# Add SeaBIOS if enabled
-	if use seabios; then
-		local root="${CROS_FIRMWARE_ROOT}/seabios/"
-		einfo "- Adding SeaBIOS"
-
-		do_cbfstool "${rom}" add-payload -r RW_LEGACY -n altfw/seabios -c lzma \
-			-f "${root}/seabios.elf"
-		hash_altfw_payload "${rom}" seabios
-		for f in "${root}oprom/"*; do
-			if [[ -f "${f}" ]]; then
-				do_cbfstool "${rom}" add -r RW_LEGACY -f "${f}" \
-					-n "${f#${root}oprom/}" -t optionrom
-			fi
-		done
-		for f in "${root}cbfs/"*; do
-			if [[ -f "${f}" ]]; then
-				do_cbfstool "${rom}" add -r RW_LEGACY -f "${f}" \
-					-n "${f#${root}cbfs/}" -t raw
-			fi
-		done
-		for f in "${root}"etc/*; do
-			do_cbfstool "${rom}" add -r RW_LEGACY -f "${f}" \
-				-n "${f#$root}" -t raw
-		done
-		echo "3;altfw/seabios;SeaBIOS;SeaBIOS bootloader" \
-			>> "${bl_list}"
-	fi
-
-	# Add the list
-	einfo "- adding firmware list"
-	do_cbfstool "${rom}" add -r RW_LEGACY -n altfw/list -t raw -f "${bl_list}"
-
-	# Add the tag for silent updating.
-	do_cbfstool "${rom}" add-int -r RW_LEGACY -i 1 -n "cros_allow_auto_update"
-
-	# TODO(kitching): Get hash and sign.
-}
-
-# Check whether assets will fit in the image.
-#
-# Estimate the total size of compressed assets, uncompressed assets, and the
-# compressed payload.  Warn when the size exceeds free space available in
-# RO or RW CBFS regions.  Note that this is purely informational and doesn't
-# actually trigger failure.
-#
-# Args:
-#   $1: Filename of image to add to (use serial image for best coverage)
-#   $2: Payload to add to both RO and RW regions
-check_assets() {
-	local rom="$1"
-	local payload="$2"
-
-	# The objcopy architecture doesn't really need to match, it just needs any ELF.
-	local payload_size=$(objcopy -I elf32-i386 -O binary "${payload}" /proc/self/fd/1 2>/dev/null | xz -9 -c | wc -c)
-
-	local rw_assets_size=$(find compressed-assets-rw "compressed-assets-rw/${build_name}" "raw-assets-rw/${build_name}" -maxdepth 1 -type f -print0 | du --files0-from=- -bc | tail -n1 | cut -f1)
-	local rw_override_assets_size=$(find compressed-assets-rw-override "compressed-assets-rw-override/${build_name}" -maxdepth 1 -type f -print0 | du --files0-from=- -bc | tail -n1 | cut -f1)
-	local rw_size=$((rw_assets_size + rw_override_assets_size + payload_size))
-	local rw_free=$(($(do_cbfstool "${rom}" print -r FW_MAIN_A | awk '$1 ~ /empty/ {s+=$4} END {print s}') - payload_size))
-
-	# Most RW assets are also added to RO region.
-	local ro_assets_size=$(find compressed-assets-ro "compressed-assets-ro/${build_name}" -maxdepth 1 -type f -print0 | du --files0-from=- -bc | tail -n1 | cut -f1)
-	local ro_size=$((ro_assets_size + rw_assets_size + payload_size))
-	local ro_free=$(($(do_cbfstool "${rom}" print -r COREBOOT | awk '$1 ~ /empty/ {s+=$4} END {print s}') - payload_size))
-
-	einfo "assets (RO): $((ro_size / 1024)) KiB ($((ro_free / 1024)) KiB free) ${build_name}"
-	[[ ${ro_size} -gt ${ro_free} ]] &&
-		ewarn "WARNING: RO estimated $(((ro_size - ro_free) / 1024)) KiB over limit ${build_name}"
-
-	einfo "assets (RW): $((rw_size / 1024)) KiB ($((rw_free / 1024)) KiB free) ${build_name}"
-	[[ ${rw_size} -gt ${rw_free} ]] &&
-		ewarn "WARNING: RW estimated $(((rw_size - rw_free) / 1024)) KiB over limit ${build_name}"
-}
-
-# Add compressed assets, both common and target, to CBFS using cbfstool
-# Args:
-#  $1: Path where the compressed assets are present.
-#  $2: CBFS Regions to add the compressed assets to.
-add_compressed_assets() {
-	local asset_path="$1"
-	local cbfs_regions="$2"
-	local build_name="$3"
-
-	while IFS= read -r -d '' file; do
-		do_cbfstool "${rom}" add -r "${cbfs_regions}" -f "${file}" \
-			-n "$(basename "${file}")" -t raw -c precompression
-	done < <(find "${asset_path}" -maxdepth 1 -type f -print0 | sort -z)
-
-	# Pre uni-builds have build_name not set. So check to avoid adding
-	# duplicate assets.
-	if [ -n "${build_name}" ]; then
-		while IFS= read -r -d '' file; do
-			do_cbfstool "${rom}" add -r "${cbfs_regions}" -f "${file}" \
-				-n "$(basename "${file}")" -t raw -c precompression
-		done < <(find "${asset_path}/${build_name}" -maxdepth 1 -type f -print0 \
-				| sort -z)
-	fi
-}
-
-# Add Chrome OS assets to the base and serial images:
-#       compressed-assets-ro/*
-#         - fonts, images and screens for recovery mode, originally from
-#           cbfs-ro-compress/*; pre-compressed in src_compile()
-#       compressed-assets-rw/*
-#         - files originally from cbfs-rw-compress/*; pre-compressed
-#           in src_compile(); used for vbt*.bin
-#       compressed-assets-rw-override/*
-#         - updated images for screens, originally from
-#           cbfs-rw-compress-override/*; pre-compressed in src_compile(); used
-#           for rw_locale*.bin
-#       raw-assets-rw/*
-#         - files originally from cbfs-rw-raw/*, used for extra wifi_sar files
-#
-# Args:
-#  $1: Filename of image to add to
-add_assets() {
-	local rom="$1"
-
-	add_compressed_assets "compressed-assets-ro" "COREBOOT" "${build_name}"
-	add_compressed_assets "compressed-assets-rw" \
-				"COREBOOT,FW_MAIN_A,FW_MAIN_B" "${build_name}"
-	add_compressed_assets "compressed-assets-rw-override" \
-				"FW_MAIN_A,FW_MAIN_B" "${build_name}"
-
-	while IFS= read -r -d '' file; do
-		do_cbfstool "${rom}" add -r COREBOOT,FW_MAIN_A,FW_MAIN_B \
-			-f "${file}" -n "$(basename "${file}")" -t raw
-	done < <(find "raw-assets-rw/${build_name}" -type f -print0 | sort -z)
-}
-
-# Compress static and firmware target specific assets:
-#       compressed-assets-ro/*
-#         - fonts, images and screens for recovery mode, originally from
-#           cbfs-ro-compress/*; pre-compressed in src_compile()
-#       compressed-assets-rw/*
-#         - files originally from cbfs-rw-compress/*; pre-compressed
-#           in src_compile(); used for vbt*.bin
-#       compressed-assets-rw-override/*
-#         - updated images for screens, originally from
-#           cbfs-rw-compress-override/*; pre-compressed in src_compile(); used
-#           for rw_locale*.bin
-# Args:
-#  $1: Root path for the firmware build
-#  $2: Firmware target where the uncompressed assets are present. When nothing
-#      is passed, then static assets are being compressed.
-compress_assets() {
-	local froot="$1"
-	local build_name="$2"
-
-	# files from cbfs-ro-compress/ are installed in
-	# all images' RO CBFS, compressed
-	mkdir -p compressed-assets-ro/"${build_name}"
-	find "${froot}"/cbfs-ro-compress/"${build_name}" -mindepth 1 -maxdepth 1 \
-		-type f -printf "%P\0" 2>/dev/null | \
-		xargs -0 -n 1 -P "$(nproc)" -I '{}' \
-		cbfs-compression-tool compress \
-			"${froot}"/cbfs-ro-compress/"${build_name}"/'{}' \
-			compressed-assets-ro/"${build_name}"/'{}' LZMA
-
-	# files from cbfs-rw-compress/ are installed in
-	# all images' RO/RW CBFS, compressed
-	mkdir -p compressed-assets-rw/"${build_name}"
-	find "${froot}"/cbfs-rw-compress/"${build_name}" -mindepth 1 -maxdepth 1 \
-		-type f -printf "%P\0" 2>/dev/null | \
-		xargs -0 -n 1 -P "$(nproc)" -I '{}' \
-		cbfs-compression-tool compress \
-			"${froot}"/cbfs-rw-compress/"${build_name}"/'{}' \
-			compressed-assets-rw/"${build_name}"/'{}' LZMA
-
-	# files from cbfs-rw-compress-override/ are installed in
-	# all images' RW CBFS, compressed
-	mkdir -p compressed-assets-rw-override/"${build_name}"
-	find "${froot}"/cbfs-rw-compress-override/"${build_name}" -mindepth 1 \
-		-maxdepth 1 -type f -printf "%P\0" 2>/dev/null | \
-		xargs -0 -n 1 -P "$(nproc)" -I '{}' \
-		cbfs-compression-tool compress \
-			"${froot}"/cbfs-rw-compress-override/"${build_name}"/'{}' \
-			compressed-assets-rw-override/"${build_name}"/'{}' LZMA
-}
-
-# Build firmware images for a given board
-# Creates image*.bin for the following images:
-#    image.bin          - production image (no serial console)
-#    image.serial.bin   - production image with serial console enabled
-#    image.dev.bin      - developer image with serial console enabled
-#    image.net.bin      - netboot image with serial console enabled
-#
-# If $2 is set, then it uses "image-$2" instead of "image" and puts images in
-# the $2 subdirectory.
-#
-# If outdir
-# Args:
-#   $1: Directory containing the input files:
-#       coreboot.rom             - coreboot ROM image containing various pieces
-#       coreboot.rom.serial      - same, but with serial console enabled
-#       coreboot.rom.netboot     - same, but with serial console enabled and ME unlocked
-#       depthcharge/depthcharge.elf - depthcharge ELF payload
-#       depthcharge/dev.elf      - developer version of depthcharge
-#       depthcharge/netboot.elf  - netboot version of depthcharge
-#       depthcharge/depthcharge.config - configuration used to build depthcharge image
-#       (plus files mentioned above in add_assets)
-#   $2: Name to use when naming output files (see note above, can be empty)
-#
-#   $3: Name of target to build for coreboot (can be empty)
-#
-#   $4: Name of target to build for depthcharge (can be empty)
-#
-#   $5: Name of target to build for ec (can be empty)
-build_images() {
-	local froot="$1"
-	local build_name="$2"
-	local coreboot_build_target="$3"
-	local depthcharge_build_target="$4"
-	local ec_build_target="$5"
-	local outdir
-	local suffix
-	local file
-	local rom
-
-	local coreboot_orig
-	local depthcharge_prefix
-	local coreboot_config
-
-	if [ -n "${build_name}" ]; then
-		einfo "Building firmware images for ${build_name}"
-		outdir="${build_name}/"
-		mkdir "${outdir}"
-		suffix="-${build_name}"
-		coreboot_orig="${froot}/${coreboot_build_target}/coreboot.rom"
-		coreboot_config="${froot}/${coreboot_build_target}/coreboot.config"
-		depthcharge_prefix="${froot}/${depthcharge_build_target}/depthcharge"
-	else
-		coreboot_orig="${froot}/coreboot.rom"
-		coreboot_config="${froot}/coreboot.config"
-		depthcharge_prefix="${froot}/depthcharge"
-	fi
-
-	local coreboot_file="coreboot.rom"
-	cp "${coreboot_orig}" "${coreboot_file}"
-	cp "${coreboot_orig}.serial" "${coreboot_file}.serial"
-	cp "${coreboot_orig}.netboot" "${coreboot_file}.netboot"
-
-	local depthcharge
-	local depthcharge_dev
-	local netboot
-	local depthcharge_config
-
-	if use depthcharge; then
-		depthcharge="${depthcharge_prefix}/depthcharge.elf"
-		depthcharge_dev="${depthcharge_prefix}/dev.elf"
-		netboot="${depthcharge_prefix}/netboot.elf"
-		depthcharge_config="${depthcharge_prefix}/depthcharge.config"
-	fi
-
-	if [[ -d ${froot}/cbfs ]]; then
-		die "something is still using ${froot}/cbfs, which is deprecated."
-	fi
-
-	if use cros_ec || use wilco_ec || use zephyr_ec; then
-		if [[ -n "${ec_build_target}" ]]; then
-			einfo "Adding EC for ${ec_build_target}"
-			add_ec \
-				"${depthcharge_config}" \
-				"${coreboot_config}" \
-				"${coreboot_file}" \
-				"ec" \
-				"${froot}/${ec_build_target}"
-			add_ec \
-				"${depthcharge_config}" \
-				"${coreboot_config}" \
-				"${coreboot_file}.serial" \
-				"ec" \
-				"${froot}/${ec_build_target}"
-			add_ec \
-				"${depthcharge_config}" \
-				"${coreboot_config}" \
-				"${coreboot_file}.netboot" \
-				"ec" \
-				"${froot}/${ec_build_target}"
-		else
-			einfo "Skip adding EC for ${build_name}, no EC target defined."
-		fi
-	fi
-
-	local pd_folder="${froot}/${ec_build_target}_pd"
-
-	if use pd_sync; then
-		add_ec "${depthcharge_config}" "${coreboot_config}" "${coreboot_file}" "pd" "${pd_folder}"
-		add_ec "${depthcharge_config}" "${coreboot_config}" "${coreboot_file}.serial" "pd" "${pd_folder}"
-		add_ec "${depthcharge_config}" "${coreboot_config}" "${coreboot_file}.netboot" "pd" "${pd_folder}"
-	fi
-
-	setup_altfw "${coreboot_build_target}" "${coreboot_file}"
-	setup_altfw "${coreboot_build_target}" "${coreboot_file}.serial"
-	setup_altfw "${coreboot_build_target}" "${coreboot_file}.netboot"
-
-	# Keeps the find commands from failing with directory not found
-	mkdir -p "raw-assets-rw/${build_name}"
-
-	check_assets "${coreboot_file}.serial" "${depthcharge_dev}"
-	add_assets "${coreboot_file}"
-	add_assets "${coreboot_file}.serial"
-	add_assets "${coreboot_file}.netboot"
-
-	build_image "" "${coreboot_file}" "${depthcharge}" "${depthcharge}"
-
-	build_image serial "${coreboot_file}.serial" \
-		"${depthcharge}" "${depthcharge}"
-
-	build_image dev "${coreboot_file}.serial" \
-		"${depthcharge_dev}" "${depthcharge_dev}"
-
-	# Build a netboot image.
-	#
-	# The readonly payload is usually depthcharge and the read/write
-	# payload is usually netboot. This way the netboot image can be used
-	# to boot from USB through recovery mode if necessary.
-	build_image net "${coreboot_file}.netboot" "${depthcharge}" "${netboot}"
-
-	# Set convenient netboot parameter defaults for developers.
-	local name="${build_name:-"${BOARD_USE}"}"
-	local bootfile="${PORTAGE_USERNAME}/${name}/vmlinuz"
-	local argsfile="${PORTAGE_USERNAME}/${name}/cmdline"
-	"${FILESDIR}/netboot_firmware_settings.py" \
-		-i "${outdir}image${suffix}.net.bin" \
-		--bootfile="${bootfile}" --argsfile="${argsfile}" &&
-		"${FILESDIR}/netboot_firmware_settings.py" \
-			-i "${outdir}image${suffix}.dev.bin" \
-			--bootfile="${bootfile}" --argsfile="${argsfile}" ||
-		die "failed to preset netboot parameter defaults."
-	einfo "Netboot configured to boot ${bootfile}, fetch kernel command" \
-		"line from ${argsfile}, and use the DHCP-provided TFTP server IP."
-}
-
-src_compile() {
-	local froot="${CROS_FIRMWARE_ROOT}"
-	einfo "Copying static rw assets"
-
-	if [[ -d "${froot}"/cbfs-rw-raw ]]; then
-		mkdir raw-assets-rw
-		cp -R "${froot}"/cbfs-rw-raw/* raw-assets-rw/ ||
-			die "unable to copy files cbfw-rw-raw files"
-	fi
-
-	einfo "Compressing static assets"
-
-	if [[ -d ${froot}/rocbfs ]]; then
-		die "something is still using ${froot}/rocbfs, which is deprecated."
-	fi
-
-	compress_assets "${froot}"
-
-	local fields="coreboot,depthcharge,ec,zephyr-ec"
-	local cmd="get-firmware-build-combinations"
-	local zephyr_ec
-	(cros_config_host "${cmd}" "${fields}" || die) |
-	while read -r name; do
-		read -r coreboot
-		read -r depthcharge
-		read -r ec
-		read -r zephyr_ec
-		einfo "Compressing target assets for: ${name}"
-		compress_assets "${froot}" "${name}"
-		einfo "Building image for: ${name}"
-		if use zephyr_ec; then
-			# Zephyr installs under ${froot}/${name}/zephyr.bin,
-			# instead of using the EC build target name.
-			if [[ -n "${zephyr_ec}" ]]; then
-				ec="${name}"
-			else
-				ec=""
-			fi
-		fi
-		build_images "${froot}" "${name}" "${coreboot}" "${depthcharge}" "${ec}"
-	done
-}
-
-src_install() {
-	insinto "${CROS_FIRMWARE_IMAGE_DIR}"
-	local fields="coreboot,depthcharge"
-	local cmd="get-firmware-build-combinations"
-	(cros_config_host "${cmd}" "${fields}" || die) |
-	while read -r name; do
-		read -r coreboot
-		read -r depthcharge
-		doins "${name}"/image-${name}*.bin
-	done
-}
diff --git a/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.4-r15.ebuild b/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.4-r15.ebuild
new file mode 100644
index 0000000..39b0d11
--- /dev/null
+++ b/sys-boot/chromeos-bootimage/chromeos-bootimage-0.0.4-r15.ebuild
@@ -0,0 +1,690 @@
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
+CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="../platform/empty-project"
+
+inherit cros-debug cros-unibuild cros-workon eutils
+
+DESCRIPTION="ChromeOS firmware image builder"
+HOMEPAGE="http://www.chromium.org"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+IUSE="seabios wilco_ec zephyr_ec"
+IUSE="${IUSE} fsp unibuild u-boot tianocore cros_ec pd_sync +bmpblk"
+
+# 'ec_ro_sync' can be a solution for devices that will fail to complete recovery
+# due to TCPC reset (crbug.com/782427#c4), but may not work for every devices
+# (crbug.com/1024401, and MT8183 family). Please double check before turning on
+# this option.
+IUSE="${IUSE} ec_ro_sync"
+IUSE="${IUSE} +depthcharge"
+IUSE="${IUSE} payload-align-64 +payload-compress-lzma payload-compress-lz4"
+IUSE="${IUSE} +include_altfw"
+
+REQUIRED_USE="^^ ( payload-compress-lzma payload-compress-lz4 )"
+
+
+# No pre-unibuild boards build firmware on ToT anymore.  Assume
+# unibuild to keep ebuild clean.
+REQUIRED_USE="unibuild"
+
+BDEPEND="chromeos-base/vboot_reference"
+
+DEPEND="
+	sys-boot/coreboot:=
+	depthcharge? ( sys-boot/depthcharge:= )
+	bmpblk? ( sys-boot/chromeos-bmpblk:= )
+	tianocore? ( sys-boot/edk2:= )
+	seabios? ( sys-boot/chromeos-seabios:= )
+	chromeos-base/chromeos-config:=
+	u-boot? ( sys-boot/u-boot:= )
+	cros_ec? ( chromeos-base/chromeos-ec:= )
+	zephyr_ec? ( chromeos-base/chromeos-zephyr:= )
+	pd_sync? ( chromeos-base/chromeos-ec:= )
+	"
+
+# While this package is never actually executed, we still need to specify
+# RDEPEND. A binary version of this package could exist that was built using an
+# outdated version of chromeos-config. Without the RDEPEND this stale binary
+# package is considered valid by the package manager. This is problematic
+# because we could have two binary packages installed having been build with
+# different versions of chromeos-config. By specifying the RDEPEND we force
+# the package manager to ensure the two versions use the same chromeos-config.
+RDEPEND="${DEPEND}"
+
+# Directory where the generated files are looked for and placed.
+CROS_FIRMWARE_IMAGE_DIR="/firmware"
+CROS_FIRMWARE_ROOT="${SYSROOT}${CROS_FIRMWARE_IMAGE_DIR}"
+
+do_cbfstool() {
+	einfo cbfstool "$@"
+	cbfstool "$@" 2>&1 || die "Failed cbfstool invocation: cbfstool $*"
+}
+
+do_futility() {
+	einfo futility "$@"
+	futility "$@" 2>&1 || die "Failed futility invocation: futility $*"
+}
+
+sign_image() {
+	local fw_image=$1
+	local keydir=$2
+
+	do_futility sign \
+		--keyset "${keydir}" \
+		--version 1 \
+		--flags 0 \
+		"${fw_image}"
+}
+
+add_payloads() {
+	local fw_image=$1
+	local ro_payload=$2
+	local rw_payload=$3
+
+	local -a args=(-n fallback/payload)
+
+	if use payload-compress-lzma; then
+		args+=(-c lzma)
+	elif use payload-compress-lz4; then
+		args+=(-c lz4)
+	fi
+
+	if use payload-align-64; then
+		args+=(-a 64)
+	fi
+
+	if [ -n "${ro_payload}" ]; then
+		do_cbfstool "${fw_image}" add-payload \
+			-f "${ro_payload}" "${args[@]}"
+	fi
+
+	if [ -n "${rw_payload}" ]; then
+		do_cbfstool "${fw_image}" add-payload -f "${rw_payload}" \
+			"${args[@]}" -r FW_MAIN_A,FW_MAIN_B
+	fi
+}
+
+# Returns true if EC supports EFS.
+is_ec_efs_enabled() {
+	local depthcharge_config="$1"
+
+	grep -q "^CONFIG_EC_EFS=y$" "${depthcharge_config}"
+}
+
+# Returns true if coreboot is set up to perform EC software sync
+is_early_ec_sync_enabled() {
+	local coreboot_config="$1"
+
+	grep -q "^CONFIG_VBOOT_EARLY_EC_SYNC=y$" "${coreboot_config}"
+}
+
+# Adds EC{ro,rw} images to CBFS
+add_ec() {
+	local depthcharge_config="$1"
+	local coreboot_config="$2"
+	local rom="$3"
+	local name="$4"
+	local ecroot="$5"
+	local pad="0"
+	local comp_type="lzma"
+
+	# The initial implementation of EC software sync in coreboot does
+	# not support decompression of the EC firmware images.  There is
+	# not enough CAR/SRAM space available to store the entire image
+	# decompressed, so it would have to be decompressed in a "streaming"
+	# fashion.  See crbug.com/1023830.
+	if [[ "${name}" != "pd" ]] && is_early_ec_sync_enabled "${coreboot_config}"; then
+		einfo "Adding uncompressed EC image"
+		comp_type="none"
+	fi
+
+	# When EFS is enabled, the payloads here may be resigned and enlarged so
+	# extra padding is needed.
+	if use depthcharge; then
+		is_ec_efs_enabled "${depthcharge_config}" && pad="128"
+	fi
+	einfo "Padding ${name}{ro,rw} ${pad} byte."
+
+	local rw_file="${ecroot}/ec.RW.bin"
+	if [[ ! -f "${rw_file}" ]]; then
+		if [[ -f "${ecroot}/ec.bin" ]]; then
+			( cd "${T}" && dump_fmap -x "${ecroot}/ec.bin" RW_FW ) || \
+				die "Unable to extract RW region from FMAP"
+			rw_file="${T}/RW_FW"
+		fi
+	fi
+	openssl dgst -sha256 -binary "${rw_file}" > "${T}/ecrw.hash" || \
+		die "Unable to compute RW hash"
+
+	do_cbfstool "${rom}" add -r FW_MAIN_A,FW_MAIN_B -t raw -c "${comp_type}" \
+		-f "${rw_file}" -n "${name}rw" -p "${pad}"
+	do_cbfstool "${rom}" add -r FW_MAIN_A,FW_MAIN_B -t raw -c none \
+		-f "${T}/ecrw.hash" -n "${name}rw.hash"
+
+	if ! use ec_ro_sync; then
+		einfo "Skip packing EC RO."
+	elif [[ -f "${ecroot}/ec.RO.bin" ]]; then
+		do_cbfstool "${rom}" add -r COREBOOT -t raw -c "${comp_type}" \
+			-f "${ecroot}/ec.RO.bin" -n "${name}ro" -p "${pad}"
+		do_cbfstool "${rom}" add -r COREBOOT -t raw -c none \
+			-f "${ecroot}/ec.RO.hash" -n "${name}ro.hash"
+	else
+		ewarn "Missing ${ecroot}/ec.RO.bin, skip packing EC RO."
+	fi
+
+	# Add EC version file for Wilco EC
+	if use wilco_ec; then
+		do_cbfstool "${rom}" add -r FW_MAIN_A,FW_MAIN_B -t raw -c none \
+			-f "${ecroot}/ec.RW.version" -n "${name}rw.version"
+	fi
+}
+
+# Add payloads and sign the image.
+# This takes the base image and creates a new signed one with the given
+# payloads added to it.
+# The image is placed in directory ${outdir} ("" for current directory).
+# An image suffix is added is ${suffix} is non-empty (e.g. "dev", "net").
+# Args:
+#   $1: Image type (e,g. "" for standard image, "dev" for dev image)
+#   $2: Source image to start from.
+#   $3: Payload to add to read-only image portion
+#   $4: Payload to add to read-write image portion
+build_image() {
+	local image_type=$1
+	local src_image=$2
+	local ro_payload=$3
+	local rw_payload=$4
+	local devkeys_dir="${BROOT}/usr/share/vboot/devkeys"
+
+	[ -n "${image_type}" ] && image_type=".${image_type}"
+	local dst_image="${outdir}image${suffix}${image_type}.bin"
+
+	einfo "Building image ${dst_image}"
+	cp "${src_image}" "${dst_image}" || die
+	add_payloads "${dst_image}" "${ro_payload}" "${rw_payload}"
+	sign_image "${dst_image}" "${devkeys_dir}"
+}
+
+# Hash the payload of an altfw alternative bootloader
+# Loads the payload from $rom on RW_LEGACY under:
+#   altfw/<name>
+# Stores the hash into $rom on RW-A and RW-B as:
+#   altfw/<name>.sha256
+# Args:
+#   $1: rom file where the payload can be found
+#   $2: name of the alternative bootloader
+hash_altfw_payload() {
+	local rom="$1"
+	local name="$2"
+	local payload_file="altfw/${name}"
+	local hash_file="${payload_file}.sha256"
+	local tmpfile="$(mktemp)"
+	local tmphash="$(mktemp)"
+	local rom
+
+	einfo "  Hashing ${payload_file}"
+
+	# Grab the raw uncompressed payload (-U) and hash it into $tmphash.
+	do_cbfstool "${rom}" extract -r RW_LEGACY -n "${payload_file}" \
+		-f "${tmpfile}" -U >/dev/null
+	openssl dgst -sha256 -binary "${tmpfile}" > "${tmphash}"
+
+	# Copy $tmphash into RW-A and RW-B.
+	do_cbfstool "${rom}" add -r FW_MAIN_A,FW_MAIN_B \
+		-f "${tmphash}" -n "${hash_file}" -t raw
+}
+
+# Set up alternative bootloaders
+#
+# This creates a new CBFS in the RW_LEGACY area and puts bootloaders into it,
+# based on USE flags. A list is written to an "altfw/list" file so that there
+# is a record of what is available.
+# Args:
+#   $1: coreboot build target to use for prefix on target-specific payloads
+#   $2: coreboot file to add alternative bootloaders to
+setup_altfw() {
+	local rom="$2"
+	local bl_list="${T}/altfw"
+
+	einfo "Adding alternative firmware"
+
+	# Add master header to the RW_LEGACY section
+	printf "ptr_" > "${T}/ptr"
+	do_cbfstool "${rom}" add -r RW_LEGACY -f "${T}/ptr" -n "header pointer" \
+		-t "cbfs header" -b -4
+	do_cbfstool "${rom}" add-master-header -r RW_LEGACY
+	rm "${T}/ptr"
+	: > "${bl_list}"
+
+	# Add U-Boot if enabled
+	if use u-boot; then
+		einfo "- Adding U-Boot"
+
+		do_cbfstool "${rom}" add-flat-binary -r RW_LEGACY -n altfw/u-boot \
+			-c lzma -l 0x1110000 -e 0x1110000 \
+			-f "${CROS_FIRMWARE_ROOT}/u-boot.bin"
+		hash_altfw_payload "${rom}" u-boot
+		echo "1;altfw/u-boot;U-Boot;U-Boot bootloader" >> "${bl_list}"
+	fi
+
+	# Add TianoCore if enabled
+	if use tianocore; then
+		einfo "- Adding TianoCore"
+
+		# Some boards only have 1MB of RW_LEGACY space but UEFI is over
+		# 800KB. Allow this to fail, in which case we just don't add it.
+		if cbfstool "${rom}" add-payload -r RW_LEGACY \
+				-n altfw/tianocore -c lzma -f \
+				"${CROS_FIRMWARE_ROOT}/tianocore/UEFIPAYLOAD.fd"; then
+			hash_altfw_payload "${rom}" tianocore
+			echo "2;altfw/tianocore;TianoCore;TianoCore bootloader" \
+				>> "${bl_list}"
+
+			# For now, use TianoCore as the default.
+			echo "0;altfw/tianocore;TianoCore;TianoCore bootloader" \
+				>> "${bl_list}"
+			einfo "  (sing TianoCore as default)"
+		else
+			ewarn "Not enough space for TianoCore: omitted"
+		fi
+	fi
+
+	# Add SeaBIOS if enabled
+	if use seabios; then
+		local root="${CROS_FIRMWARE_ROOT}/seabios/"
+		einfo "- Adding SeaBIOS"
+
+		do_cbfstool "${rom}" add-payload -r RW_LEGACY -n altfw/seabios -c lzma \
+			-f "${root}/seabios.elf"
+		hash_altfw_payload "${rom}" seabios
+		for f in "${root}oprom/"*; do
+			if [[ -f "${f}" ]]; then
+				do_cbfstool "${rom}" add -r RW_LEGACY -f "${f}" \
+					-n "${f#${root}oprom/}" -t optionrom
+			fi
+		done
+		for f in "${root}cbfs/"*; do
+			if [[ -f "${f}" ]]; then
+				do_cbfstool "${rom}" add -r RW_LEGACY -f "${f}" \
+					-n "${f#${root}cbfs/}" -t raw
+			fi
+		done
+		for f in "${root}"etc/*; do
+			do_cbfstool "${rom}" add -r RW_LEGACY -f "${f}" \
+				-n "${f#${root}}" -t raw
+		done
+		echo "3;altfw/seabios;SeaBIOS;SeaBIOS bootloader" \
+			>> "${bl_list}"
+	fi
+
+	# Add the list
+	einfo "- adding firmware list"
+	do_cbfstool "${rom}" add -r RW_LEGACY -n altfw/list -t raw -f "${bl_list}"
+
+	# Add the tag for silent updating.
+	do_cbfstool "${rom}" add-int -r RW_LEGACY -i 1 -n "cros_allow_auto_update"
+
+	# TODO(kitching): Get hash and sign.
+}
+
+# Check whether assets will fit in the image.
+#
+# Estimate the total size of compressed assets, uncompressed assets, and the
+# compressed payload.  Warn when the size exceeds free space available in
+# RO or RW CBFS regions.  Note that this is purely informational and doesn't
+# actually trigger failure.
+#
+# Args:
+#   $1: Filename of image to add to (use serial image for best coverage)
+#   $2: Payload to add to both RO and RW regions
+check_assets() {
+	local rom="$1"
+	local payload="$2"
+
+	# The objcopy architecture doesn't really need to match, it just needs any ELF.
+	local payload_size=$(objcopy -I elf32-i386 -O binary "${payload}" /proc/self/fd/1 2>/dev/null | xz -9 -c | wc -c)
+
+	local rw_assets_size=$(find compressed-assets-rw "compressed-assets-rw/${build_name}" "raw-assets-rw/${build_name}" -maxdepth 1 -type f -print0 | du --files0-from=- -bc | tail -n1 | cut -f1)
+	local rw_override_assets_size=$(find compressed-assets-rw-override "compressed-assets-rw-override/${build_name}" -maxdepth 1 -type f -print0 | du --files0-from=- -bc | tail -n1 | cut -f1)
+	local rw_size=$((rw_assets_size + rw_override_assets_size + payload_size))
+	local rw_free=$(($(do_cbfstool "${rom}" print -r FW_MAIN_A | awk '$1 ~ /empty/ {s+=$4} END {print s}') - payload_size))
+
+	# Most RW assets are also added to RO region.
+	local ro_assets_size=$(find compressed-assets-ro "compressed-assets-ro/${build_name}" -maxdepth 1 -type f -print0 | du --files0-from=- -bc | tail -n1 | cut -f1)
+	local ro_size=$((ro_assets_size + rw_assets_size + payload_size))
+	local ro_free=$(($(do_cbfstool "${rom}" print -r COREBOOT | awk '$1 ~ /empty/ {s+=$4} END {print s}') - payload_size))
+
+	einfo "assets (RO): $((ro_size / 1024)) KiB ($((ro_free / 1024)) KiB free) ${build_name}"
+	[[ ${ro_size} -gt ${ro_free} ]] &&
+		ewarn "WARNING: RO estimated $(((ro_size - ro_free) / 1024)) KiB over limit ${build_name}"
+
+	einfo "assets (RW): $((rw_size / 1024)) KiB ($((rw_free / 1024)) KiB free) ${build_name}"
+	[[ ${rw_size} -gt ${rw_free} ]] &&
+		ewarn "WARNING: RW estimated $(((rw_size - rw_free) / 1024)) KiB over limit ${build_name}"
+}
+
+# Add compressed assets, both common and target, to CBFS using cbfstool
+# Args:
+#  $1: Path where the compressed assets are present.
+#  $2: CBFS Regions to add the compressed assets to.
+add_compressed_assets() {
+	local asset_path="$1"
+	local cbfs_regions="$2"
+	local build_name="$3"
+
+	while IFS= read -r -d '' file; do
+		do_cbfstool "${rom}" add -r "${cbfs_regions}" -f "${file}" \
+			-n "$(basename "${file}")" -t raw -c precompression
+	done < <(find "${asset_path}" -maxdepth 1 -type f -print0 | sort -z)
+
+	# Pre uni-builds have build_name not set. So check to avoid adding
+	# duplicate assets.
+	if [ -n "${build_name}" ]; then
+		while IFS= read -r -d '' file; do
+			do_cbfstool "${rom}" add -r "${cbfs_regions}" -f "${file}" \
+				-n "$(basename "${file}")" -t raw -c precompression
+		done < <(find "${asset_path}/${build_name}" -maxdepth 1 -type f -print0 \
+				| sort -z)
+	fi
+}
+
+# Add Chrome OS assets to the base and serial images:
+#       compressed-assets-ro/*
+#         - fonts, images and screens for recovery mode, originally from
+#           cbfs-ro-compress/*; pre-compressed in src_compile()
+#       compressed-assets-rw/*
+#         - files originally from cbfs-rw-compress/*; pre-compressed
+#           in src_compile(); used for vbt*.bin
+#       compressed-assets-rw-override/*
+#         - updated images for screens, originally from
+#           cbfs-rw-compress-override/*; pre-compressed in src_compile(); used
+#           for rw_locale*.bin
+#       raw-assets-rw/*
+#         - files originally from cbfs-rw-raw/*, used for extra wifi_sar files
+#
+# Args:
+#  $1: Filename of image to add to
+add_assets() {
+	local rom="$1"
+
+	add_compressed_assets "compressed-assets-ro" "COREBOOT" "${build_name}"
+	add_compressed_assets "compressed-assets-rw" \
+				"COREBOOT,FW_MAIN_A,FW_MAIN_B" "${build_name}"
+	add_compressed_assets "compressed-assets-rw-override" \
+				"FW_MAIN_A,FW_MAIN_B" "${build_name}"
+
+	while IFS= read -r -d '' file; do
+		do_cbfstool "${rom}" add -r COREBOOT,FW_MAIN_A,FW_MAIN_B \
+			-f "${file}" -n "$(basename "${file}")" -t raw
+	done < <(find "raw-assets-rw/${build_name}" -type f -print0 | sort -z)
+}
+
+# Compress static and firmware target specific assets:
+#       compressed-assets-ro/*
+#         - fonts, images and screens for recovery mode, originally from
+#           cbfs-ro-compress/*; pre-compressed in src_compile()
+#       compressed-assets-rw/*
+#         - files originally from cbfs-rw-compress/*; pre-compressed
+#           in src_compile(); used for vbt*.bin
+#       compressed-assets-rw-override/*
+#         - updated images for screens, originally from
+#           cbfs-rw-compress-override/*; pre-compressed in src_compile(); used
+#           for rw_locale*.bin
+# Args:
+#  $1: Root path for the firmware build
+#  $2: Firmware target where the uncompressed assets are present. When nothing
+#      is passed, then static assets are being compressed.
+compress_assets() {
+	local froot="$1"
+	local build_name="$2"
+
+	# files from cbfs-ro-compress/ are installed in
+	# all images' RO CBFS, compressed
+	mkdir -p compressed-assets-ro/"${build_name}"
+	find "${froot}"/cbfs-ro-compress/"${build_name}" -mindepth 1 -maxdepth 1 \
+		-type f -printf "%P\0" 2>/dev/null | \
+		xargs -0 -n 1 -P "$(nproc)" -I '{}' \
+		cbfs-compression-tool compress \
+			"${froot}"/cbfs-ro-compress/"${build_name}"/'{}' \
+			compressed-assets-ro/"${build_name}"/'{}' LZMA
+
+	# files from cbfs-rw-compress/ are installed in
+	# all images' RO/RW CBFS, compressed
+	mkdir -p compressed-assets-rw/"${build_name}"
+	find "${froot}"/cbfs-rw-compress/"${build_name}" -mindepth 1 -maxdepth 1 \
+		-type f -printf "%P\0" 2>/dev/null | \
+		xargs -0 -n 1 -P "$(nproc)" -I '{}' \
+		cbfs-compression-tool compress \
+			"${froot}"/cbfs-rw-compress/"${build_name}"/'{}' \
+			compressed-assets-rw/"${build_name}"/'{}' LZMA
+
+	# files from cbfs-rw-compress-override/ are installed in
+	# all images' RW CBFS, compressed
+	mkdir -p compressed-assets-rw-override/"${build_name}"
+	find "${froot}"/cbfs-rw-compress-override/"${build_name}" -mindepth 1 \
+		-maxdepth 1 -type f -printf "%P\0" 2>/dev/null | \
+		xargs -0 -n 1 -P "$(nproc)" -I '{}' \
+		cbfs-compression-tool compress \
+			"${froot}"/cbfs-rw-compress-override/"${build_name}"/'{}' \
+			compressed-assets-rw-override/"${build_name}"/'{}' LZMA
+}
+
+# Build firmware images for a given board
+# Creates image*.bin for the following images:
+#    image.bin          - production image (no serial console)
+#    image.serial.bin   - production image with serial console enabled
+#    image.dev.bin      - developer image with serial console enabled
+#    image.net.bin      - netboot image with serial console enabled
+#
+# If $2 is set, then it uses "image-$2" instead of "image" and puts images in
+# the $2 subdirectory.
+#
+# If outdir
+# Args:
+#   $1: Directory containing the input files:
+#       coreboot.rom             - coreboot ROM image containing various pieces
+#       coreboot.rom.serial      - same, but with serial console enabled
+#       coreboot.rom.netboot     - same, but with serial console enabled and ME unlocked
+#       depthcharge/depthcharge.elf - depthcharge ELF payload
+#       depthcharge/dev.elf      - developer version of depthcharge
+#       depthcharge/netboot.elf  - netboot version of depthcharge
+#       depthcharge/depthcharge.config - configuration used to build depthcharge image
+#       (plus files mentioned above in add_assets)
+#   $2: Name to use when naming output files (see note above, can be empty)
+#
+#   $3: Name of target to build for coreboot (can be empty)
+#
+#   $4: Name of target to build for depthcharge (can be empty)
+#
+#   $5: Name of target to build for ec (can be empty)
+build_images() {
+	local froot="$1"
+	local build_name="$2"
+	local coreboot_build_target="$3"
+	local depthcharge_build_target="$4"
+	local ec_build_target="$5"
+	local outdir
+	local suffix
+	local file
+	local rom
+
+	local coreboot_orig
+	local depthcharge_prefix
+	local coreboot_config
+
+	if [ -n "${build_name}" ]; then
+		einfo "Building firmware images for ${build_name}"
+		outdir="${build_name}/"
+		mkdir "${outdir}"
+		suffix="-${build_name}"
+		coreboot_orig="${froot}/${coreboot_build_target}/coreboot.rom"
+		coreboot_config="${froot}/${coreboot_build_target}/coreboot.config"
+		depthcharge_prefix="${froot}/${depthcharge_build_target}/depthcharge"
+	else
+		coreboot_orig="${froot}/coreboot.rom"
+		coreboot_config="${froot}/coreboot.config"
+		depthcharge_prefix="${froot}/depthcharge"
+	fi
+
+	local coreboot_file="coreboot.rom"
+	cp "${coreboot_orig}" "${coreboot_file}"
+	cp "${coreboot_orig}.serial" "${coreboot_file}.serial"
+	cp "${coreboot_orig}.netboot" "${coreboot_file}.netboot"
+
+	local depthcharge
+	local depthcharge_dev
+	local netboot
+	local depthcharge_config
+
+	if use depthcharge; then
+		depthcharge="${depthcharge_prefix}/depthcharge.elf"
+		depthcharge_dev="${depthcharge_prefix}/dev.elf"
+		netboot="${depthcharge_prefix}/netboot.elf"
+		depthcharge_config="${depthcharge_prefix}/depthcharge.config"
+	fi
+
+	if [[ -d ${froot}/cbfs ]]; then
+		die "something is still using ${froot}/cbfs, which is deprecated."
+	fi
+
+	if use cros_ec || use wilco_ec || use zephyr_ec; then
+		if [[ -n "${ec_build_target}" ]]; then
+			einfo "Adding EC for ${ec_build_target}"
+			add_ec \
+				"${depthcharge_config}" \
+				"${coreboot_config}" \
+				"${coreboot_file}" \
+				"ec" \
+				"${froot}/${ec_build_target}"
+			add_ec \
+				"${depthcharge_config}" \
+				"${coreboot_config}" \
+				"${coreboot_file}.serial" \
+				"ec" \
+				"${froot}/${ec_build_target}"
+			add_ec \
+				"${depthcharge_config}" \
+				"${coreboot_config}" \
+				"${coreboot_file}.netboot" \
+				"ec" \
+				"${froot}/${ec_build_target}"
+		else
+			einfo "Skip adding EC for ${build_name}, no EC target defined."
+		fi
+	fi
+
+	local pd_folder="${froot}/${ec_build_target}_pd"
+
+	if use pd_sync; then
+		add_ec "${depthcharge_config}" "${coreboot_config}" "${coreboot_file}" "pd" "${pd_folder}"
+		add_ec "${depthcharge_config}" "${coreboot_config}" "${coreboot_file}.serial" "pd" "${pd_folder}"
+		add_ec "${depthcharge_config}" "${coreboot_config}" "${coreboot_file}.netboot" "pd" "${pd_folder}"
+	fi
+
+	if use include_altfw; then
+		setup_altfw "${coreboot_build_target}" "${coreboot_file}"
+		setup_altfw "${coreboot_build_target}" "${coreboot_file}.serial"
+		setup_altfw "${coreboot_build_target}" "${coreboot_file}.netboot"
+	fi
+
+	# Keeps the find commands from failing with directory not found
+	mkdir -p "raw-assets-rw/${build_name}"
+
+	check_assets "${coreboot_file}.serial" "${depthcharge_dev}"
+	add_assets "${coreboot_file}"
+	add_assets "${coreboot_file}.serial"
+	add_assets "${coreboot_file}.netboot"
+
+	build_image "" "${coreboot_file}" "${depthcharge}" "${depthcharge}"
+
+	build_image serial "${coreboot_file}.serial" \
+		"${depthcharge}" "${depthcharge}"
+
+	build_image dev "${coreboot_file}.serial" \
+		"${depthcharge_dev}" "${depthcharge_dev}"
+
+	# Build a netboot image.
+	#
+	# The readonly payload is usually depthcharge and the read/write
+	# payload is usually netboot. This way the netboot image can be used
+	# to boot from USB through recovery mode if necessary.
+	build_image net "${coreboot_file}.netboot" "${depthcharge}" "${netboot}"
+
+	# Set convenient netboot parameter defaults for developers.
+	local name="${build_name:-"${BOARD_USE}"}"
+	local bootfile="${PORTAGE_USERNAME}/${name}/vmlinuz"
+	local argsfile="${PORTAGE_USERNAME}/${name}/cmdline"
+	"${FILESDIR}/netboot_firmware_settings.py" \
+		-i "${outdir}image${suffix}.net.bin" \
+		--bootfile="${bootfile}" --argsfile="${argsfile}" ||
+		die "failed to preset netboot parameter defaults."
+	"${FILESDIR}/netboot_firmware_settings.py" \
+		-i "${outdir}image${suffix}.dev.bin" \
+		--bootfile="${bootfile}" --argsfile="${argsfile}" ||
+		die "failed to preset netboot parameter defaults."
+	einfo "Netboot configured to boot ${bootfile}, fetch kernel command" \
+		"line from ${argsfile}, and use the DHCP-provided TFTP server IP."
+}
+
+src_compile() {
+	local froot="${CROS_FIRMWARE_ROOT}"
+	einfo "Copying static rw assets"
+
+	if [[ -d "${froot}"/cbfs-rw-raw ]]; then
+		mkdir raw-assets-rw
+		cp -R "${froot}"/cbfs-rw-raw/* raw-assets-rw/ ||
+			die "unable to copy files cbfw-rw-raw files"
+	fi
+
+	einfo "Compressing static assets"
+
+	if [[ -d ${froot}/rocbfs ]]; then
+		die "something is still using ${froot}/rocbfs, which is deprecated."
+	fi
+
+	compress_assets "${froot}"
+
+	local fields="coreboot,depthcharge,ec,zephyr-ec"
+	local cmd="get-firmware-build-combinations"
+	local zephyr_ec
+	(cros_config_host "${cmd}" "${fields}" || die) |
+	while read -r name; do
+		read -r coreboot
+		read -r depthcharge
+		read -r ec
+		read -r zephyr_ec
+		einfo "Compressing target assets for: ${name}"
+		compress_assets "${froot}" "${name}"
+		einfo "Building image for: ${name}"
+		if use zephyr_ec; then
+			# Zephyr installs under ${froot}/${name}/ec.bin,
+			# instead of using the EC build target name.
+			if [[ -n "${zephyr_ec}" ]]; then
+				ec="${name}"
+			elif ! use cros_ec; then
+				# Only fallback to legacy EC only if its build is enabled.
+				ec=""
+			fi
+		fi
+		build_images "${froot}" "${name}" "${coreboot}" "${depthcharge}" "${ec}"
+	done
+}
+
+src_install() {
+	insinto "${CROS_FIRMWARE_IMAGE_DIR}"
+	local fields="coreboot,depthcharge"
+	local cmd="get-firmware-build-combinations"
+	(cros_config_host "${cmd}" "${fields}" || die) |
+	while read -r name; do
+		read -r coreboot
+		read -r depthcharge
+		doins "${name}/image-${name}"*.bin
+	done
+}
diff --git a/sys-boot/chromeos-bootimage/chromeos-bootimage-9999.ebuild b/sys-boot/chromeos-bootimage/chromeos-bootimage-9999.ebuild
index ae149fe..9b4c3cd 100644
--- a/sys-boot/chromeos-bootimage/chromeos-bootimage-9999.ebuild
+++ b/sys-boot/chromeos-bootimage/chromeos-bootimage-9999.ebuild
@@ -6,7 +6,7 @@
 CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
 CROS_WORKON_LOCALNAME="../platform/empty-project"
 
-inherit cros-debug cros-unibuild cros-workon
+inherit cros-debug cros-unibuild cros-workon eutils
 
 DESCRIPTION="ChromeOS firmware image builder"
 HOMEPAGE="http://www.chromium.org"
@@ -23,6 +23,7 @@
 IUSE="${IUSE} ec_ro_sync"
 IUSE="${IUSE} +depthcharge"
 IUSE="${IUSE} payload-align-64 +payload-compress-lzma payload-compress-lz4"
+IUSE="${IUSE} +include_altfw"
 
 REQUIRED_USE="^^ ( payload-compress-lzma payload-compress-lz4 )"
 
@@ -60,63 +61,24 @@
 CROS_FIRMWARE_ROOT="${SYSROOT}${CROS_FIRMWARE_IMAGE_DIR}"
 
 do_cbfstool() {
-	local output
 	einfo cbfstool "$@"
-	output=$(cbfstool "$@" 2>&1)
-	if [ $? != 0 ]; then
-		die "Failed cbfstool invocation: cbfstool $@\n${output}"
-	fi
-	printf "${output}"
+	cbfstool "$@" 2>&1 || die "Failed cbfstool invocation: cbfstool $*"
 }
 
-sign_region() {
-	local fw_image=$1
-	local keydir=$2
-	local slot=$3
-
-	local tmpfile=`mktemp`
-	local cbfs=FW_MAIN_${slot}
-	local vblock=VBLOCK_${slot}
-
-	do_cbfstool ${fw_image} read -r ${cbfs} -f ${tmpfile}
-	local size=$(do_cbfstool ${fw_image} print -k -r ${cbfs} | \
-		tail -1 | \
-		sed "/(empty).*null/ s,^(empty)[[:space:]]\(0x[0-9a-f]*\)\tnull\t.*$,\1,")
-	size=$(printf "%d" ${size})
-
-	# If the last entry is called "(empty)" and of type "null", remove it from
-	# the section so it isn't part of the signed data, to improve boot speed
-	# if (as often happens) there's a large unused suffix.
-	if [ -n "${size}" ] && [ ${size} -gt 0 ]; then
-		head -c ${size} ${tmpfile} > ${tmpfile}.2
-		mv ${tmpfile}.2 ${tmpfile}
-		# Use 255 (aka 0xff) as the filler, this greatly reduces
-		# memory areas which need to be programmed for spi flash
-		# chips, because the erase value is 0xff.
-		do_cbfstool ${fw_image} write --force -u -i 255 \
-			-r ${cbfs} -f ${tmpfile}
-	fi
-
-	futility vbutil_firmware \
-		--vblock ${tmpfile}.out \
-		--keyblock ${keydir}/firmware.keyblock \
-		--signprivate ${keydir}/firmware_data_key.vbprivk \
-		--version 1 \
-		--fv ${tmpfile} \
-		--kernelkey ${keydir}/kernel_subkey.vbpubk \
-		--flags 0
-
-	do_cbfstool ${fw_image} write -u -i 255 -r ${vblock} -f ${tmpfile}.out
-
-	rm -f ${tmpfile} ${tmpfile}.out
+do_futility() {
+	einfo futility "$@"
+	futility "$@" 2>&1 || die "Failed futility invocation: futility $*"
 }
 
 sign_image() {
 	local fw_image=$1
 	local keydir=$2
 
-	sign_region "${fw_image}" "${keydir}" A
-	sign_region "${fw_image}" "${keydir}" B
+	do_futility sign \
+		--keyset "${keydir}" \
+		--version 1 \
+		--flags 0 \
+		"${fw_image}"
 }
 
 add_payloads() {
@@ -189,11 +151,12 @@
 	einfo "Padding ${name}{ro,rw} ${pad} byte."
 
 	local rw_file="${ecroot}/ec.RW.bin"
-	# TODO(jrosenth): can we do this for all EC's (not just Zephyr)?
-	if use zephyr_ec; then
-		( cd "${T}" && dump_fmap -x "${ecroot}/zephyr.bin" RW_FW ) || \
-			die "Unable to extract RW region from FMAP"
-		rw_file="${T}/RW_FW"
+	if [[ ! -f "${rw_file}" ]]; then
+		if [[ -f "${ecroot}/ec.bin" ]]; then
+			( cd "${T}" && dump_fmap -x "${ecroot}/ec.bin" RW_FW ) || \
+				die "Unable to extract RW region from FMAP"
+			rw_file="${T}/RW_FW"
+		fi
 	fi
 	openssl dgst -sha256 -binary "${rw_file}" > "${T}/ecrw.hash" || \
 		die "Unable to compute RW hash"
@@ -242,9 +205,9 @@
 	local dst_image="${outdir}image${suffix}${image_type}.bin"
 
 	einfo "Building image ${dst_image}"
-	cp ${src_image} ${dst_image}
-	add_payloads ${dst_image} ${ro_payload} ${rw_payload}
-	sign_image ${dst_image} "${devkeys_dir}"
+	cp "${src_image}" "${dst_image}" || die
+	add_payloads "${dst_image}" "${ro_payload}" "${rw_payload}"
+	sign_image "${dst_image}" "${devkeys_dir}"
 }
 
 # Hash the payload of an altfw alternative bootloader
@@ -285,7 +248,6 @@
 #   $1: coreboot build target to use for prefix on target-specific payloads
 #   $2: coreboot file to add alternative bootloaders to
 setup_altfw() {
-	local target="$1"
 	local rom="$2"
 	local bl_list="${T}/altfw"
 
@@ -297,7 +259,7 @@
 		-t "cbfs header" -b -4
 	do_cbfstool "${rom}" add-master-header -r RW_LEGACY
 	rm "${T}/ptr"
-	> "${bl_list}"
+	: > "${bl_list}"
 
 	# Add U-Boot if enabled
 	if use u-boot; then
@@ -354,7 +316,7 @@
 		done
 		for f in "${root}"etc/*; do
 			do_cbfstool "${rom}" add -r RW_LEGACY -f "${f}" \
-				-n "${f#$root}" -t raw
+				-n "${f#${root}}" -t raw
 		done
 		echo "3;altfw/seabios;SeaBIOS;SeaBIOS bootloader" \
 			>> "${bl_list}"
@@ -624,9 +586,11 @@
 		add_ec "${depthcharge_config}" "${coreboot_config}" "${coreboot_file}.netboot" "pd" "${pd_folder}"
 	fi
 
-	setup_altfw "${coreboot_build_target}" "${coreboot_file}"
-	setup_altfw "${coreboot_build_target}" "${coreboot_file}.serial"
-	setup_altfw "${coreboot_build_target}" "${coreboot_file}.netboot"
+	if use include_altfw; then
+		setup_altfw "${coreboot_build_target}" "${coreboot_file}"
+		setup_altfw "${coreboot_build_target}" "${coreboot_file}.serial"
+		setup_altfw "${coreboot_build_target}" "${coreboot_file}.netboot"
+	fi
 
 	# Keeps the find commands from failing with directory not found
 	mkdir -p "raw-assets-rw/${build_name}"
@@ -657,10 +621,11 @@
 	local argsfile="${PORTAGE_USERNAME}/${name}/cmdline"
 	"${FILESDIR}/netboot_firmware_settings.py" \
 		-i "${outdir}image${suffix}.net.bin" \
-		--bootfile="${bootfile}" --argsfile="${argsfile}" &&
-		"${FILESDIR}/netboot_firmware_settings.py" \
-			-i "${outdir}image${suffix}.dev.bin" \
-			--bootfile="${bootfile}" --argsfile="${argsfile}" ||
+		--bootfile="${bootfile}" --argsfile="${argsfile}" ||
+		die "failed to preset netboot parameter defaults."
+	"${FILESDIR}/netboot_firmware_settings.py" \
+		-i "${outdir}image${suffix}.dev.bin" \
+		--bootfile="${bootfile}" --argsfile="${argsfile}" ||
 		die "failed to preset netboot parameter defaults."
 	einfo "Netboot configured to boot ${bootfile}, fetch kernel command" \
 		"line from ${argsfile}, and use the DHCP-provided TFTP server IP."
@@ -697,11 +662,12 @@
 		compress_assets "${froot}" "${name}"
 		einfo "Building image for: ${name}"
 		if use zephyr_ec; then
-			# Zephyr installs under ${froot}/${name}/zephyr.bin,
+			# Zephyr installs under ${froot}/${name}/ec.bin,
 			# instead of using the EC build target name.
 			if [[ -n "${zephyr_ec}" ]]; then
 				ec="${name}"
-			else
+			elif ! use cros_ec; then
+				# Only fallback to legacy EC only if its build is enabled.
 				ec=""
 			fi
 		fi
@@ -717,6 +683,6 @@
 	while read -r name; do
 		read -r coreboot
 		read -r depthcharge
-		doins "${name}"/image-${name}*.bin
+		doins "${name}/image-${name}"*.bin
 	done
 }
diff --git a/sys-boot/coreboot/coreboot-0.0.1-r4915.ebuild b/sys-boot/coreboot/coreboot-0.0.1-r4915.ebuild
deleted file mode 100644
index 67d49e4..0000000
--- a/sys-boot/coreboot/coreboot-0.0.1-r4915.ebuild
+++ /dev/null
@@ -1,462 +0,0 @@
-# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-# Change this version number when any change is made to configs/files under
-# coreboot and an auto-revbump is required.
-# VERSION=REVBUMP-0.0.71
-
-EAPI=7
-CROS_WORKON_COMMIT=("801687b38b1c72e7b8dab2f9ccf5ea0c5e9d5922" "0586c41b3f2d52aae847b7212e7b0c7e19197ea2" "c31013768eb4ed052c54df50c398f70f2d7ef36d" "8623a1afae9b2537f444ee7b855c51e0f8521b2b" "9b12a15cc83e7a6c947439c93a6df24ca014daf7" "ee319ae7bc59e88b60142f40a9ec1b46656de4db" "b7d5b2d6a6dd05874d86ee900ff441d261f9034c")
-CROS_WORKON_TREE=("c159fdb943cb5dccdefc2e42486e3511f167049e" "00d7828bd1cfa96f4c45bf427ca4e5e7e54c0eb9" "2ef2be6db7746b10beaf42e9a60b3706d653f9b6" "8ecbd0b1735999db97ae921c83e5d81e42a30821" "6b30bbddb4b4629f14c0d613f13b64b6ddc4a0e0" "45d22a8711f85c4310c0c2121d3dc8a72793d375" "c0433b88f972fa26dded401be022c1c026cd644e")
-CROS_WORKON_PROJECT=(
-	"chromiumos/third_party/coreboot"
-	"chromiumos/third_party/arm-trusted-firmware"
-	"chromiumos/platform/vboot_reference"
-	"chromiumos/third_party/coreboot/amd_blobs"
-	"chromiumos/third_party/coreboot/blobs"
-	"chromiumos/third_party/coreboot/intel-microcode"
-	"chromiumos/third_party/cbootimage"
-)
-CROS_WORKON_LOCALNAME=(
-	"coreboot"
-	"arm-trusted-firmware"
-	"../platform/vboot_reference"
-	"coreboot/3rdparty/amd_blobs"
-	"coreboot/3rdparty/blobs"
-	"coreboot/3rdparty/intel-microcode"
-	"cbootimage"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}"
-	"${S}/3rdparty/arm-trusted-firmware"
-	"${S}/3rdparty/vboot"
-	"${S}/3rdparty/amd_blobs"
-	"${S}/3rdparty/blobs"
-	"${S}/3rdparty/intel-microcode"
-	"${S}/util/nvidia/cbootimage"
-)
-
-CROS_WORKON_EGIT_BRANCH=(
-	"chromeos-2016.05"
-	"master"
-	"main"
-	"chromeos"
-	"master"
-	"master"
-	"master"
-)
-
-inherit cros-workon toolchain-funcs cros-unibuild coreboot-sdk
-
-DESCRIPTION="coreboot firmware"
-HOMEPAGE="http://www.coreboot.org"
-LICENSE="GPL-2"
-KEYWORDS="*"
-IUSE="em100-mode fsp memmaps mocktpm quiet-cb rmt vmx mma intel_debug"
-IUSE="${IUSE} +bmpblk quiet unibuild verbose"
-IUSE="${IUSE} amd_cpu coreboot-sdk chipset_stoneyridge chipset_picasso"
-IUSE="${IUSE} chipset_cezanne"
-# virtual/coreboot-private-files is deprecated. When adding a new board you
-# should add the coreboot-private-files-{board/chipset} ebuilds into the private
-# overlays, and avoid creating virtual packages.
-# See b/178642474
-IUSE="${IUSE} coreboot-private-files-board coreboot-private-files-chipset"
-
-# No pre-unibuild boards build firmware on ToT anymore.  Assume
-# unibuild to keep ebuild clean.
-REQUIRED_USE="unibuild"
-# Make sure we don't use SDK gcc anymore.
-REQUIRED_USE+=" coreboot-sdk"
-
-# coreboot's build system handles stripping the binaries and producing a
-# separate .debug file with the symbols. This flag prevents portage from
-# stripping the .debug symbols
-RESTRICT="strip"
-
-DEPEND="
-	coreboot-private-files-board? ( sys-boot/coreboot-private-files-board:= )
-	coreboot-private-files-chipset? ( sys-boot/coreboot-private-files-chipset:= )
-	virtual/coreboot-private-files
-	bmpblk? ( sys-boot/chromeos-bmpblk:= )
-	chipset_stoneyridge? ( sys-boot/amd-firmware:= )
-	chipset_cezanne? ( sys-boot/amd-cezanne-fsp:= )
-	chromeos-base/chromeos-config:=
-	sys-apps/flashrom
-	"
-
-# While this package is never actually executed, we still need to specify
-# RDEPEND. A binary version of this package could exist that was built using an
-# outdated version of chromeos-config. Without the RDEPEND this stale binary
-# package is considered valid by the package manager. This is problematic
-# because we could have two binary packages installed having been build with
-# different versions of chromeos-config. By specifying the RDEPEND we force
-# the package manager to ensure the two versions use the same chromeos-config.
-RDEPEND="${DEPEND}
-	!sys-boot/amd-picasso-fsp
-	"
-
-set_build_env() {
-	local board="$1"
-
-	CONFIG="$(cros-workon_get_build_dir)/${board}.config"
-	CONFIG_SERIAL="$(cros-workon_get_build_dir)/${board}-serial.config"
-	CONFIG_NETBOOT="$(cros-workon_get_build_dir)/${board}-netboot.config"
-	# Strip the .config suffix
-	BUILD_DIR="${CONFIG%.config}"
-	BUILD_DIR_SERIAL="${CONFIG_SERIAL%.config}"
-	BUILD_DIR_NETBOOT="${CONFIG_NETBOOT%.config}"
-}
-
-# Create the coreboot configuration files for a particular board. This
-# creates a standard config and a serial config.
-# Args:
-#   $1: board name
-#   $2: libpayload build target (for config.baseboard files)
-create_config() {
-	local board="$1"
-	local base_board="$2"
-
-	if [[ -s "${FILESDIR}/configs/config.${board}" ]]; then
-		touch "${CONFIG}"
-
-		if [[ -s "${FILESDIR}/configs/config.baseboard.${base_board}" ]]; then
-			cat "${FILESDIR}/configs/config.baseboard.${base_board}" >> "${CONFIG}"
-			# handle the case when "${CONFIG}" does not have a newline in the end.
-			echo >> "${CONFIG}"
-		fi
-
-		cat "${FILESDIR}/configs/config.${board}" >> "${CONFIG}"
-
-		# handle the case when "${CONFIG}" does not have a newline in the end.
-		echo >> "${CONFIG}"
-
-		# Override mainboard vendor if needed.
-		if [[ -n "${SYSTEM_OEM}" ]]; then
-			echo "CONFIG_MAINBOARD_VENDOR=\"${SYSTEM_OEM}\"" >> "${CONFIG}"
-		fi
-		if [[ -n "${SYSTEM_OEM_VENDOR_ID}" ]]; then
-			echo "CONFIG_SUBSYSTEM_VENDOR_ID=${SYSTEM_OEM_VENDOR_ID}" >> "${CONFIG}"
-		fi
-		if [[ -n "${SYSTEM_OEM_DEVICE_ID}" ]]; then
-			echo "CONFIG_SUBSYSTEM_DEVICE_ID=${SYSTEM_OEM_DEVICE_ID}" >> "${CONFIG}"
-		fi
-		if [[ -n "${SYSTEM_OEM_ACPI_ID}" ]]; then
-			echo "CONFIG_ACPI_SUBSYSTEM_ID=\"${SYSTEM_OEM_ACPI_ID}\"" >> "${CONFIG}"
-		fi
-
-		# In case config comes from a symlink we are likely building
-		# for an overlay not matching this config name. Enable adding
-		# a CBFS based board ID for coreboot.
-		if [[ -L "${FILESDIR}/configs/config.${board}" ]]; then
-			echo "CONFIG_BOARD_ID_MANUAL=y" >> "${CONFIG}"
-			echo "CONFIG_BOARD_ID_STRING=\"${BOARD_USE}\"" >> "${CONFIG}"
-		fi
-	else
-		ewarn "Could not find existing config for ${board}."
-	fi
-
-	if use rmt; then
-		echo "CONFIG_MRC_RMT=y" >> "${CONFIG}"
-	fi
-	if use vmx; then
-		elog "   - enabling VMX"
-		echo "CONFIG_ENABLE_VMX=y" >> "${CONFIG}"
-	fi
-	if use quiet-cb; then
-		# Suppress console spew if requested.
-		cat >> "${CONFIG}" <<EOF
-CONFIG_DEFAULT_CONSOLE_LOGLEVEL=3
-# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
-CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3=y
-EOF
-	fi
-	if use mocktpm; then
-		echo "CONFIG_VBOOT_MOCK_SECDATA=y" >> "${CONFIG}"
-	fi
-	if use mma; then
-		echo "CONFIG_MMA=y" >> "${CONFIG}"
-	fi
-	if use intel_debug; then
-		echo "CONFIG_SOC_INTEL_DEBUG_CONSENT=y" >> "${CONFIG}"
-	fi
-	# disable coreboot's own EC firmware building mechanism
-	echo "CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_NONE=y" >> "${CONFIG}"
-	echo "CONFIG_EC_GOOGLE_CHROMEEC_PD_FIRMWARE_NONE=y" >> "${CONFIG}"
-	# enable common GBB flags for development
-	echo "CONFIG_GBB_FLAG_DEV_SCREEN_SHORT_DELAY=y" >> "${CONFIG}"
-	echo "CONFIG_GBB_FLAG_DISABLE_FW_ROLLBACK_CHECK=y" >> "${CONFIG}"
-	echo "CONFIG_GBB_FLAG_FORCE_DEV_BOOT_USB=y" >> "${CONFIG}"
-	echo "CONFIG_GBB_FLAG_FORCE_DEV_SWITCH_ON=y" >> "${CONFIG}"
-	local version=$(${CHROOT_SOURCE_ROOT}/src/third_party/chromiumos-overlay/chromeos/config/chromeos_version.sh |grep "^[[:space:]]*CHROMEOS_VERSION_STRING=" |cut -d= -f2)
-	echo "CONFIG_VBOOT_FWID_VERSION=\".${version}\"" >> "${CONFIG}"
-	if use em100-mode; then
-		einfo "Enabling em100 mode via CONFIG_EM100 (slower SPI flash)"
-		echo "CONFIG_EM100=y" >> "${CONFIG}"
-	fi
-	# Use FSP's GOP in favor of coreboot's Ada based Intel graphics init
-	# which we don't include at this time. A no-op on non-FSP/GOP devices.
-	echo "CONFIG_RUN_FSP_GOP=y" >> "${CONFIG}"
-
-	cp "${CONFIG}" "${CONFIG_SERIAL}"
-	file="${FILESDIR}/configs/fwserial.${board}"
-	if [ ! -f "${file}" ] && [ -n "${base_board}" ]; then
-		file="${FILESDIR}/configs/fwserial.${base_board}"
-	fi
-	if [ ! -f "${file}" ]; then
-		file="${FILESDIR}/configs/fwserial.default"
-	fi
-	cat "${file}" >> "${CONFIG_SERIAL}" || die
-	# handle the case when "${CONFIG_SERIAL}" does not have a newline in the end.
-	echo >> "${CONFIG_SERIAL}"
-
-	cp "${CONFIG_SERIAL}" "${CONFIG_NETBOOT}"
-	# Unlock management engine in netboot firmware for Intel platform.
-	sed -E -i 's/(CONFIG_LOCK_MANAGEMENT_ENGINE=)y/\1n/g' "${CONFIG_NETBOOT}"
-
-	# Check that we're using coreboot-sdk
-	if ! use coreboot-sdk; then
-		die "Enable coreboot-sdk to build coreboot."
-	fi
-	if grep -q "^CONFIG_ANY_TOOLCHAIN=y" "${CONFIG}"; then
-		die "Drop ANY_TOOLCHAIN from ${CONFIG}: we don't support it anymore."
-	fi
-
-	einfo "Configured ${CONFIG} for board ${board} in ${BUILD_DIR}"
-}
-
-src_prepare() {
-	local froot="${SYSROOT}/firmware"
-	local privdir="${SYSROOT}/firmware/coreboot-private"
-	local file
-
-	default
-
-	export GENERIC_COMPILER_PREFIX="invalid"
-
-	mkdir "$(cros-workon_get_build_dir)"
-
-	if [[ -d "${privdir}" ]]; then
-		while read -d $'\0' -r file; do
-			rsync --recursive --links --executability \
-				"${file}" ./ || die
-		done < <(find "${privdir}" -maxdepth 1 -mindepth 1 -print0)
-	fi
-
-	cp -a "${FILESDIR}/3rdparty/"* 3rdparty
-
-	local name
-	local coreboot
-	local libpayload
-	while read -r name; do
-		read -r coreboot
-		read -r libpayload
-		set_build_env "${coreboot}"
-		create_config "${coreboot}" "${libpayload}"
-	done < <(cros_config_host "get-firmware-build-combinations" \
-		coreboot,libpayload || die)
-}
-
-add_fw_blob() {
-	local rom="$1"
-	local cbname="$2"
-	local blob="$3"
-	local cbhash="${cbname%.bin}.hash"
-	local hash="${blob%.bin}.hash"
-
-	cbfstool "${rom}" add -r FW_MAIN_A,FW_MAIN_B -t raw -c lzma \
-		-f "${blob}" -n "${cbname}" || die
-	cbfstool "${rom}" add -r FW_MAIN_A,FW_MAIN_B -t raw -c none \
-		-f "${hash}" -n "${cbhash}" || die
-}
-
-# Build coreboot with a supplied configuration and output directory.
-#   $1: Build directory to use (e.g. "build_serial")
-#   $2: Config file to use (e.g. ".config_serial")
-#   $3: Build target build (e.g. "pyro")
-make_coreboot() {
-	local builddir="$1"
-	local config_fname="$2"
-
-	rm -rf "${builddir}" .xcompile
-
-	local CB_OPTS=(
-		obj="${builddir}"
-		DOTCONFIG="${config_fname}"
-		HOSTCC="$(tc-getBUILD_CC)"
-		HOSTCXX="$(tc-getBUILD_CXX)"
-		HOSTPKGCONFIG="$(tc-getBUILD_PKG_CONFIG)"
-	)
-	use quiet && CB_OPTS+=( "V=0" )
-	use verbose && CB_OPTS+=( "V=1" )
-	use quiet && REDIR="/dev/null" || REDIR="/dev/stdout"
-
-	# Configure and build coreboot.
-	yes "" | emake oldconfig "${CB_OPTS[@]}" >${REDIR}
-	emake "${CB_OPTS[@]}"
-
-	# Expand FW_MAIN_* since we might add some files
-	cbfstool "${builddir}/coreboot.rom" expand -r FW_MAIN_A,FW_MAIN_B
-
-	# Modify firmware descriptor if building for the EM100 emulator on
-	# Intel platforms.
-	# TODO(crbug.com/863396): Should we have an 'intel' USE flag? Do we
-	# still have any Intel platforms that don't use ifdtool?
-	if ! use amd_cpu && use em100-mode; then
-		einfo "Enabling em100 mode via ifdttool (slower SPI flash)"
-		ifdtool --em100 "${builddir}/coreboot.rom" || die
-		mv "${builddir}/coreboot.rom"{.new,} || die
-	fi
-}
-
-# Add fw blobs to the coreboot.rom.
-#   $1: Build directory to use (e.g. "build_serial")
-#   $2: Build target build (e.g. "pyro")
-add_fw_blobs() {
-	local builddir="$1"
-	local build_target="$2"
-	local froot="${SYSROOT}/firmware/${build_target}"
-	local fblobroot="${SYSROOT}/firmware"
-
-	local blob
-	local cbname
-	for blob in ${FW_BLOBS}; do
-		local blobfile="${fblobroot}/${blob}"
-
-		# Use per-board blob if available
-		if [[ -e "${froot}/${blob}" ]]; then
-			blobfile="${froot}/${blob}"
-		fi
-
-		cbname=$(basename "${blob}")
-		add_fw_blob "${builddir}/coreboot.rom" "${cbname}" \
-			"${blobfile}" || die
-	done
-
-	if [ -d ${froot}/cbfs ]; then
-		die "something is still using ${froot}/cbfs, which is deprecated."
-	fi
-}
-
-src_compile() {
-	# Set KERNELREVISION (really coreboot revision) to the ebuild revision
-	# number followed by a dot and the first seven characters of the git
-	# hash. The name is confusing but consistent with the coreboot
-	# Makefile.
-	local sha1v="${VCSID/*-/}"
-	export KERNELREVISION=".${PV}.${sha1v:0:7}"
-
-	if ! use coreboot-sdk; then
-		tc-export CC
-		# Export the known cross compilers so there isn't a reliance
-		# on what the default profile is for exporting a compiler. The
-		# reasoning is that the firmware may need more than one to build
-		# and boot.
-		export CROSS_COMPILE_x86="i686-pc-linux-gnu-"
-		export CROSS_COMPILE_mipsel="mipsel-cros-linux-gnu-"
-		export CROSS_COMPILE_arm64="aarch64-cros-linux-gnu-"
-		export CROSS_COMPILE_arm="armv7a-cros-linux-gnu- armv7a-cros-linux-gnueabihf-"
-	else
-		export CROSS_COMPILE_x86=${COREBOOT_SDK_PREFIX_x86_32}
-		export CROSS_COMPILE_mipsel=${COREBOOT_SDK_PREFIX_mips}
-		export CROSS_COMPILE_arm64=${COREBOOT_SDK_PREFIX_arm64}
-		export CROSS_COMPILE_arm=${COREBOOT_SDK_PREFIX_arm}
-
-		export PATH=/opt/coreboot-sdk/bin:$PATH
-	fi
-
-	use verbose && elog "Toolchain:\n$(sh util/xcompile/xcompile)\n"
-
-	while read -r name; do
-		read -r coreboot
-
-		set_build_env "${coreboot}"
-		make_coreboot "${BUILD_DIR}" "${CONFIG}"
-		add_fw_blobs "${BUILD_DIR}" "${coreboot}"
-
-		# Build a second ROM with serial support for developers.
-		make_coreboot "${BUILD_DIR_SERIAL}" "${CONFIG_SERIAL}"
-		add_fw_blobs "${BUILD_DIR_SERIAL}" "${coreboot}"
-
-		# Build a netboot ROM with serial support and ME unlocked.
-		make_coreboot "${BUILD_DIR_NETBOOT}" "${CONFIG_NETBOOT}"
-		add_fw_blobs "${BUILD_DIR_NETBOOT}" "${coreboot}"
-	done < <(cros_config_host "get-firmware-build-combinations" coreboot || die)
-}
-
-# Install files into /firmware
-# Args:
-#   $1: The build combination name
-#   $2: The coreboot build target
-do_install() {
-	local build_combination="$1"
-	local build_target="$2"
-	local dest_dir="/firmware"
-	local mapfile
-
-	if [[ -n "${build_target}" ]]; then
-		dest_dir+="/${build_target}"
-		einfo "Installing coreboot ${build_target} into ${dest_dir}"
-	fi
-	insinto "${dest_dir}"
-
-	newins "${BUILD_DIR}/coreboot.rom" coreboot.rom
-	newins "${BUILD_DIR_SERIAL}/coreboot.rom" coreboot.rom.serial
-	newins "${BUILD_DIR_NETBOOT}/coreboot.rom" coreboot.rom.netboot
-
-	OPROM=$( awk 'BEGIN{FS="\""} /CONFIG_VGA_BIOS_FILE=/ { print $2 }' \
-		"${CONFIG}" )
-	CBFSOPROM=pci$( awk 'BEGIN{FS="\""} /CONFIG_VGA_BIOS_ID=/ { print $2 }' \
-		"${CONFIG}" ).rom
-	FSP=$( awk 'BEGIN{FS="\""} /CONFIG_FSP_FILE=/ { print $2 }' \
-		"${CONFIG}" )
-	if [[ -n "${FSP}" ]]; then
-		newins ${FSP} fsp.bin
-	fi
-	# Save the psp_verstage binary for signing on AMD Fam17h platforms
-	if [[ -e "${BUILD_DIR}/psp_verstage.bin" ]]; then
-		newins "${BUILD_DIR}/psp_verstage.bin" psp_verstage.bin
-	fi
-	if [[ -n "${OPROM}" ]]; then
-		newins ${OPROM} ${CBFSOPROM}
-	fi
-	if use memmaps; then
-		for mapfile in "${BUILD_DIR}"/cbfs/fallback/*.map
-		do
-			doins $mapfile
-		done
-	fi
-	newins "${CONFIG}" coreboot.config
-	newins "${CONFIG_SERIAL}" coreboot_serial.config
-	newins "${CONFIG_NETBOOT}" coreboot_netboot.config
-
-	# Keep binaries with debug symbols around for crash dump analysis
-	if [[ -s "${BUILD_DIR}/bl31.elf" ]]; then
-		newins "${BUILD_DIR}/bl31.elf" bl31.elf
-		newins "${BUILD_DIR_SERIAL}/bl31.elf" bl31.serial.elf
-		newins "${BUILD_DIR_NETBOOT}/bl31.elf" bl31.netboot.elf
-	fi
-	insinto "${dest_dir}"/coreboot
-	doins "${BUILD_DIR}"/cbfs/fallback/*.debug
-	nonfatal doins "${BUILD_DIR}"/cbfs/fallback/bootblock.bin
-	insinto "${dest_dir}"/coreboot_serial
-	doins "${BUILD_DIR_SERIAL}"/cbfs/fallback/*.debug
-	nonfatal doins "${BUILD_DIR_SERIAL}"/cbfs/fallback/bootblock.bin
-	insinto "${dest_dir}"/coreboot_netboot
-	doins "${BUILD_DIR_NETBOOT}"/cbfs/fallback/*.debug
-	nonfatal doins "${BUILD_DIR_NETBOOT}"/cbfs/fallback/bootblock.bin
-
-	# coreboot's static_fw_config.h is copied into libpayload include
-	# directory.
-	insinto "/firmware/${build_combination}/libpayload/libpayload/include"
-	doins "${BUILD_DIR}/static_fw_config.h"
-	einfo "Installed static_fw_config.h into libpayload include directory"
-}
-
-src_install() {
-	while read -r name; do
-		read -r coreboot
-
-		set_build_env "${coreboot}"
-		do_install "${name}" "${coreboot}"
-	done < <(cros_config_host "get-firmware-build-combinations" coreboot || die)
-}
diff --git a/sys-boot/coreboot/coreboot-0.0.1-r5195.ebuild b/sys-boot/coreboot/coreboot-0.0.1-r5195.ebuild
new file mode 100644
index 0000000..d7b3b3e
--- /dev/null
+++ b/sys-boot/coreboot/coreboot-0.0.1-r5195.ebuild
@@ -0,0 +1,483 @@
+# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+# Change this version number when any change is made to configs/files under
+# coreboot and an auto-revbump is required.
+# VERSION=REVBUMP-0.0.71
+
+EAPI=7
+CROS_WORKON_COMMIT=("6af21b529465ab6795605d1a34b5a6a290fdcc75" "38dd6b61ae2ae6ba49f425771c0b529f7dbc9b4a" "67f613b922e4ccff6019de318c154a377afbe822" "5cd5f53ecdab2c4ba06d026d08325d4647d5daf9" "d2e55573069041a3b6d6eb07267113b58d39bf5f" "ee319ae7bc59e88b60142f40a9ec1b46656de4db" "b7d5b2d6a6dd05874d86ee900ff441d261f9034c" "df648e302fc9a3a8a23d040d56eb3f35a33f8585" "9946827bbae199477cfcb68dcc5ed257aaa9ba7d")
+CROS_WORKON_TREE=("8fb4103801f65c68be4c49363e7bf1b4bbea09ad" "f486be53f8642487ac6f69aa205d76954ff99926" "13350f1d92d867a643e89ff2eac4e50ed31c18ab" "dfb00eeb8d03bdaf4aec4bbf3eaa7a469ae07967" "5771a3b43cc0f2192322e86d741ddf4fefa74129" "45d22a8711f85c4310c0c2121d3dc8a72793d375" "c0433b88f972fa26dded401be022c1c026cd644e" "a5575fb843026228aa05da5c68a47231005c09ad" "112f8a2dbab25213993651d324ec1dbe29b6c3a7")
+CROS_WORKON_PROJECT=(
+	"chromiumos/third_party/coreboot"
+	"chromiumos/third_party/arm-trusted-firmware"
+	"chromiumos/platform/vboot_reference"
+	"chromiumos/third_party/coreboot/amd_blobs"
+	"chromiumos/third_party/coreboot/blobs"
+	"chromiumos/third_party/coreboot/intel-microcode"
+	"chromiumos/third_party/cbootimage"
+	"chromiumos/third_party/coreboot/libgfxinit"
+	"chromiumos/third_party/coreboot/libhwbase"
+)
+CROS_WORKON_LOCALNAME=(
+	"coreboot"
+	"arm-trusted-firmware"
+	"../platform/vboot_reference"
+	"coreboot/3rdparty/amd_blobs"
+	"coreboot/3rdparty/blobs"
+	"coreboot/3rdparty/intel-microcode"
+	"cbootimage"
+	"coreboot/3rdparty/libgfxinit"
+	"coreboot/3rdparty/libhwbase"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}"
+	"${S}/3rdparty/arm-trusted-firmware"
+	"${S}/3rdparty/vboot"
+	"${S}/3rdparty/amd_blobs"
+	"${S}/3rdparty/blobs"
+	"${S}/3rdparty/intel-microcode"
+	"${S}/util/nvidia/cbootimage"
+	"${S}/3rdparty/libgfxinit"
+	"${S}/3rdparty/libhwbase"
+)
+
+CROS_WORKON_EGIT_BRANCH=(
+	"chromeos-2016.05"
+	"master"
+	"main"
+	"chromeos"
+	"master"
+	"master"
+	"master"
+	"main"
+	"main"
+)
+
+inherit cros-workon toolchain-funcs cros-unibuild coreboot-sdk cros-sanitizers
+
+DESCRIPTION="coreboot firmware"
+HOMEPAGE="http://www.coreboot.org"
+LICENSE="GPL-2"
+KEYWORDS="*"
+IUSE="em100-mode fsp memmaps mocktpm quiet-cb rmt vmx mma intel_debug"
+IUSE="${IUSE} +bmpblk quiet unibuild verbose ti50_onboard"
+IUSE="${IUSE} amd_cpu coreboot-sdk chipset_stoneyridge chipset_picasso"
+IUSE="${IUSE} chipset_cezanne"
+IUSE="${IUSE} fw_debug"
+# virtual/coreboot-private-files is deprecated. When adding a new board you
+# should add the coreboot-private-files-{board/chipset} ebuilds into the private
+# overlays, and avoid creating virtual packages.
+# See b/178642474
+IUSE="${IUSE} coreboot-private-files-board coreboot-private-files-chipset"
+
+# No pre-unibuild boards build firmware on ToT anymore.  Assume
+# unibuild to keep ebuild clean.
+REQUIRED_USE="unibuild"
+# Make sure we don't use SDK gcc anymore.
+REQUIRED_USE+=" coreboot-sdk"
+
+# Disable binary checks for PIE and relative relocatons.
+# Don't strip to ease remote GDB use (cbfstool strips final binaries anyway).
+# This is only okay because this ebuild only installs files into
+# ${SYSROOT}/firmware, which is not copied to the final system image.
+RESTRICT="binchecks strip"
+
+# Disable warnings for executable stack.
+QA_EXECSTACK="*"
+
+DEPEND="
+	coreboot-private-files-board? ( sys-boot/coreboot-private-files-board:= )
+	coreboot-private-files-chipset? ( sys-boot/coreboot-private-files-chipset:= )
+	virtual/coreboot-private-files
+	bmpblk? ( sys-boot/chromeos-bmpblk:= )
+	chipset_stoneyridge? ( sys-boot/amd-firmware:= )
+	chipset_cezanne? ( sys-boot/amd-cezanne-fsp:= )
+	chromeos-base/chromeos-config:=
+	sys-apps/flashrom
+	"
+
+# While this package is never actually executed, we still need to specify
+# RDEPEND. A binary version of this package could exist that was built using an
+# outdated version of chromeos-config. Without the RDEPEND this stale binary
+# package is considered valid by the package manager. This is problematic
+# because we could have two binary packages installed having been build with
+# different versions of chromeos-config. By specifying the RDEPEND we force
+# the package manager to ensure the two versions use the same chromeos-config.
+RDEPEND="${DEPEND}
+	!sys-boot/amd-picasso-fsp
+	"
+
+set_build_env() {
+	local board="$1"
+
+	CONFIG="$(cros-workon_get_build_dir)/${board}.config"
+	CONFIG_SERIAL="$(cros-workon_get_build_dir)/${board}-serial.config"
+	CONFIG_NETBOOT="$(cros-workon_get_build_dir)/${board}-netboot.config"
+	# Strip the .config suffix
+	BUILD_DIR="${CONFIG%.config}"
+	BUILD_DIR_SERIAL="${CONFIG_SERIAL%.config}"
+	BUILD_DIR_NETBOOT="${CONFIG_NETBOOT%.config}"
+}
+
+# Create the coreboot configuration files for a particular board. This
+# creates a standard config and a serial config.
+# Args:
+#   $1: board name
+#   $2: libpayload build target (for config.baseboard files)
+create_config() {
+	local board="$1"
+	local base_board="$2"
+
+	touch "${CONFIG}"
+
+	if use rmt; then
+		echo "CONFIG_MRC_RMT=y" >> "${CONFIG}"
+	fi
+	if use vmx; then
+		elog "   - enabling VMX"
+		echo "CONFIG_ENABLE_VMX=y" >> "${CONFIG}"
+	fi
+	if use quiet-cb; then
+		# Suppress console spew if requested.
+		cat >> "${CONFIG}" <<EOF
+CONFIG_DEFAULT_CONSOLE_LOGLEVEL=3
+# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
+CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3=y
+EOF
+	fi
+	if use mocktpm; then
+		echo "CONFIG_VBOOT_MOCK_SECDATA=y" >> "${CONFIG}"
+	fi
+	if use mma; then
+		echo "CONFIG_MMA=y" >> "${CONFIG}"
+	fi
+	if use intel_debug; then
+		echo "CONFIG_SOC_INTEL_DEBUG_CONSENT=y" >> "${CONFIG}"
+	fi
+	if use ti50_onboard; then
+		echo "CONFIG_CBFS_VERIFICATION=y" >> "${CONFIG}"
+	fi
+	if use fw_debug; then
+		echo "CONFIG_BUILDING_WITH_DEBUG_FSP=y" >> "${CONFIG}"
+	fi
+	local version=$("${CHROOT_SOURCE_ROOT}"/src/third_party/chromiumos-overlay/chromeos/config/chromeos_version.sh |grep "^[[:space:]]*CHROMEOS_VERSION_STRING=" |cut -d= -f2 | tr - _)
+	{
+		# disable coreboot's own EC firmware building mechanism
+		echo "CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_NONE=y"
+		echo "CONFIG_EC_GOOGLE_CHROMEEC_PD_FIRMWARE_NONE=y"
+		# enable common GBB flags for development
+		echo "CONFIG_GBB_FLAG_DEV_SCREEN_SHORT_DELAY=y"
+		echo "CONFIG_GBB_FLAG_DISABLE_FW_ROLLBACK_CHECK=y"
+		echo "CONFIG_GBB_FLAG_FORCE_DEV_BOOT_USB=y"
+		echo "CONFIG_GBB_FLAG_FORCE_DEV_SWITCH_ON=y"
+		echo "CONFIG_VBOOT_FWID_VERSION=\".${version}\""
+	} >> "${CONFIG}"
+	if use em100-mode; then
+		einfo "Enabling em100 mode via CONFIG_EM100 (slower SPI flash)"
+		echo "CONFIG_EM100=y" >> "${CONFIG}"
+	fi
+	# Use FSP's GOP in favor of coreboot's Ada based Intel graphics init
+	# which we don't include at this time. A no-op on non-FSP/GOP devices.
+	echo "CONFIG_RUN_FSP_GOP=y" >> "${CONFIG}"
+
+	# Override the automatic options created above with board config.
+	local board_config="${FILESDIR}/configs/config.${board}"
+	local baseboard_config="${FILESDIR}/configs/config.baseboard.${base_board}"
+
+	if [[ -s "${baseboard_config}" ]]; then
+		cat "${baseboard_config}" >> "${CONFIG}"
+		# Handle the case when "${CONFIG}" does not have a newline in the end.
+		echo >> "${CONFIG}"
+	fi
+
+	if [[ -s "${board_config}" ]]; then
+		cat "${board_config}" >> "${CONFIG}"
+		# Handle the case when "${CONFIG}" does not have a newline in the end.
+		echo >> "${CONFIG}"
+	else
+		ewarn "Could not find existing config for ${board}."
+	fi
+
+	# Override mainboard vendor if needed.
+	if [[ -n "${SYSTEM_OEM}" ]]; then
+		echo "CONFIG_MAINBOARD_VENDOR=\"${SYSTEM_OEM}\"" >> "${CONFIG}"
+	fi
+	if [[ -n "${SYSTEM_OEM_VENDOR_ID}" ]]; then
+		echo "CONFIG_SUBSYSTEM_VENDOR_ID=${SYSTEM_OEM_VENDOR_ID}" >> "${CONFIG}"
+	fi
+	if [[ -n "${SYSTEM_OEM_DEVICE_ID}" ]]; then
+		echo "CONFIG_SUBSYSTEM_DEVICE_ID=${SYSTEM_OEM_DEVICE_ID}" >> "${CONFIG}"
+	fi
+	if [[ -n "${SYSTEM_OEM_ACPI_ID}" ]]; then
+		echo "CONFIG_ACPI_SUBSYSTEM_ID=\"${SYSTEM_OEM_ACPI_ID}\"" >> "${CONFIG}"
+	fi
+
+	cp "${CONFIG}" "${CONFIG_SERIAL}"
+	file="${FILESDIR}/configs/fwserial.${board}"
+	if [[ ! -f "${file}" && -n "${base_board}" ]]; then
+		file="${FILESDIR}/configs/fwserial.${base_board}"
+	fi
+	if [[ ! -f "${file}" ]]; then
+		file="${FILESDIR}/configs/fwserial.default"
+	fi
+	cat "${file}" >> "${CONFIG_SERIAL}" || die
+	# handle the case when "${CONFIG_SERIAL}" does not have a newline in the end.
+	echo >> "${CONFIG_SERIAL}"
+
+	cp "${CONFIG_SERIAL}" "${CONFIG_NETBOOT}"
+	# Unlock management engine in netboot firmware for Intel platform.
+	sed -E -i 's/(CONFIG_LOCK_MANAGEMENT_ENGINE=)y/\1n/g' "${CONFIG_NETBOOT}"
+
+	# Check that we're using coreboot-sdk
+	if ! use coreboot-sdk; then
+		die "Enable coreboot-sdk to build coreboot."
+	fi
+	if grep -q "^CONFIG_ANY_TOOLCHAIN=y" "${CONFIG}"; then
+		die "Drop ANY_TOOLCHAIN from ${CONFIG}: we don't support it anymore."
+	fi
+
+	einfo "Configured ${CONFIG} for board ${board} in ${BUILD_DIR}"
+}
+
+src_prepare() {
+	local froot="${SYSROOT}/firmware"
+	local privdir="${SYSROOT}/firmware/coreboot-private"
+	local file
+
+	default
+
+	export GENERIC_COMPILER_PREFIX="invalid"
+
+	mkdir "$(cros-workon_get_build_dir)"
+
+	if [[ -d "${privdir}" ]]; then
+		while read -d $'\0' -r file; do
+			rsync --recursive --links --executability \
+				"${file}" ./ || die
+		done < <(find "${privdir}" -maxdepth 1 -mindepth 1 -print0)
+	fi
+
+	cp -a "${FILESDIR}/3rdparty/"* 3rdparty
+
+	local name
+	local coreboot
+	local libpayload
+	while read -r name; do
+		read -r coreboot
+		read -r libpayload
+		set_build_env "${coreboot}"
+		create_config "${coreboot}" "${libpayload}"
+	done < <(cros_config_host "get-firmware-build-combinations" \
+		coreboot,libpayload || die)
+}
+
+add_fw_blob() {
+	local rom="$1"
+	local cbname="$2"
+	local blob="$3"
+	local cbhash="${cbname%.bin}.hash"
+	local hash="${blob%.bin}.hash"
+
+	cbfstool "${rom}" add -r FW_MAIN_A,FW_MAIN_B -t raw -c lzma \
+		-f "${blob}" -n "${cbname}" || die
+	cbfstool "${rom}" add -r FW_MAIN_A,FW_MAIN_B -t raw -c none \
+		-f "${hash}" -n "${cbhash}" || die
+}
+
+# Build coreboot with a supplied configuration and output directory.
+#   $1: Build directory to use (e.g. "build_serial")
+#   $2: Config file to use (e.g. ".config_serial")
+#   $3: Build target build (e.g. "pyro")
+make_coreboot() {
+	local builddir="$1"
+	local config_fname="$2"
+
+	rm -rf "${builddir}" .xcompile
+
+	local CB_OPTS=(
+		obj="${builddir}"
+		DOTCONFIG="${config_fname}"
+		HOSTCC="$(tc-getBUILD_CC)"
+		HOSTCXX="$(tc-getBUILD_CXX)"
+		HOSTPKGCONFIG="$(tc-getBUILD_PKG_CONFIG)"
+	)
+	use quiet && CB_OPTS+=( "V=0" )
+	use verbose && CB_OPTS+=( "V=1" )
+	use quiet && REDIR="/dev/null" || REDIR="/dev/stdout"
+
+	# Configure and build coreboot.
+	yes "" | emake oldconfig "${CB_OPTS[@]}" >${REDIR}
+	emake "${CB_OPTS[@]}"
+
+	# Expand FW_MAIN_* since we might add some files
+	cbfstool "${builddir}/coreboot.rom" expand -r FW_MAIN_A,FW_MAIN_B
+
+	# Modify firmware descriptor if building for the EM100 emulator on
+	# Intel platforms.
+	# TODO(crbug.com/863396): Should we have an 'intel' USE flag? Do we
+	# still have any Intel platforms that don't use ifdtool?
+	if ! use amd_cpu && use em100-mode; then
+		einfo "Enabling em100 mode via ifdttool (slower SPI flash)"
+		ifdtool --em100 "${builddir}/coreboot.rom" || die
+		mv "${builddir}/coreboot.rom"{.new,} || die
+	fi
+}
+
+# Add fw blobs to the coreboot.rom.
+#   $1: Build directory to use (e.g. "build_serial")
+#   $2: Build target build (e.g. "pyro")
+add_fw_blobs() {
+	local builddir="$1"
+	local build_target="$2"
+	local froot="${SYSROOT}/firmware/${build_target}"
+	local fblobroot="${SYSROOT}/firmware"
+
+	local blob
+	local cbname
+	for blob in ${FW_BLOBS}; do
+		local blobfile="${fblobroot}/${blob}"
+
+		# Use per-board blob if available
+		if [[ -e "${froot}/${blob}" ]]; then
+			blobfile="${froot}/${blob}"
+		fi
+
+		cbname=$(basename "${blob}")
+		add_fw_blob "${builddir}/coreboot.rom" "${cbname}" \
+			"${blobfile}" || die
+	done
+
+	if [[ -d "${froot}/cbfs" ]]; then
+		die "something is still using ${froot}/cbfs, which is deprecated."
+	fi
+}
+
+src_compile() {
+	# Set KERNELREVISION (really coreboot revision) to the ebuild revision
+	# number followed by a dot and the first seven characters of the git
+	# hash. The name is confusing but consistent with the coreboot
+	# Makefile.
+	local sha1v="${VCSID/*-/}"
+	export KERNELREVISION=".${PV}.${sha1v:0:7}"
+
+	if ! use coreboot-sdk; then
+		tc-export CC
+		# Export the known cross compilers so there isn't a reliance
+		# on what the default profile is for exporting a compiler. The
+		# reasoning is that the firmware may need more than one to build
+		# and boot.
+		export CROSS_COMPILE_x86="i686-pc-linux-gnu-"
+		export CROSS_COMPILE_mipsel="mipsel-cros-linux-gnu-"
+		export CROSS_COMPILE_arm64="aarch64-cros-linux-gnu-"
+		export CROSS_COMPILE_arm="armv7a-cros-linux-gnu- armv7a-cros-linux-gnueabihf-"
+	else
+		export CROSS_COMPILE_x86=${COREBOOT_SDK_PREFIX_x86_32}
+		export CROSS_COMPILE_mipsel=${COREBOOT_SDK_PREFIX_mips}
+		export CROSS_COMPILE_arm64=${COREBOOT_SDK_PREFIX_arm64}
+		export CROSS_COMPILE_arm=${COREBOOT_SDK_PREFIX_arm}
+
+		export PATH="/opt/coreboot-sdk/bin:${PATH}"
+	fi
+
+	use verbose && elog "Toolchain:\n$(sh util/xcompile/xcompile)\n"
+
+	while read -r name; do
+		read -r coreboot
+
+		set_build_env "${coreboot}"
+		make_coreboot "${BUILD_DIR}" "${CONFIG}"
+		add_fw_blobs "${BUILD_DIR}" "${coreboot}"
+
+		# Build a second ROM with serial support for developers.
+		make_coreboot "${BUILD_DIR_SERIAL}" "${CONFIG_SERIAL}"
+		add_fw_blobs "${BUILD_DIR_SERIAL}" "${coreboot}"
+
+		# Build a netboot ROM with serial support and ME unlocked.
+		make_coreboot "${BUILD_DIR_NETBOOT}" "${CONFIG_NETBOOT}"
+		add_fw_blobs "${BUILD_DIR_NETBOOT}" "${coreboot}"
+	done < <(cros_config_host "get-firmware-build-combinations" coreboot || die)
+}
+
+# Install files into /firmware
+# Args:
+#   $1: The build combination name
+#   $2: The coreboot build target
+do_install() {
+	local build_combination="$1"
+	local build_target="$2"
+	local dest_dir="/firmware"
+	local mapfile
+
+	if [[ -n "${build_target}" ]]; then
+		dest_dir+="/${build_target}"
+		einfo "Installing coreboot ${build_target} into ${dest_dir}"
+	fi
+	insinto "${dest_dir}"
+
+	newins "${BUILD_DIR}/coreboot.rom" coreboot.rom
+	newins "${BUILD_DIR_SERIAL}/coreboot.rom" coreboot.rom.serial
+	newins "${BUILD_DIR_NETBOOT}/coreboot.rom" coreboot.rom.netboot
+
+	OPROM=$( awk 'BEGIN{FS="\""} /CONFIG_VGA_BIOS_FILE=/ { print $2 }' \
+		"${CONFIG}" )
+	CBFSOPROM=pci$( awk 'BEGIN{FS="\""} /CONFIG_VGA_BIOS_ID=/ { print $2 }' \
+		"${CONFIG}" ).rom
+	FSP=$( awk 'BEGIN{FS="\""} /CONFIG_FSP_FILE=/ { print $2 }' \
+		"${CONFIG}" )
+	if [[ -n "${FSP}" ]]; then
+		newins "${FSP}" fsp.bin
+	fi
+	# Save the psp_verstage binary for signing on AMD Fam17h platforms
+	if [[ -e "${BUILD_DIR}/psp_verstage.bin" ]]; then
+		newins "${BUILD_DIR}/psp_verstage.bin" psp_verstage.bin
+	fi
+	if [[ -n "${OPROM}" ]]; then
+		newins "${OPROM}" "${CBFSOPROM}"
+	fi
+	if use memmaps; then
+		for mapfile in "${BUILD_DIR}"/cbfs/fallback/*.map
+		do
+			doins "${mapfile}"
+		done
+	fi
+	newins "${CONFIG}" coreboot.config
+	newins "${CONFIG_SERIAL}" coreboot_serial.config
+	newins "${CONFIG_NETBOOT}" coreboot_netboot.config
+
+	# Keep binaries with debug symbols around for crash dump analysis
+	if [[ -s "${BUILD_DIR}/bl31.elf" ]]; then
+		newins "${BUILD_DIR}/bl31.elf" bl31.elf
+		newins "${BUILD_DIR_SERIAL}/bl31.elf" bl31.serial.elf
+		newins "${BUILD_DIR_NETBOOT}/bl31.elf" bl31.netboot.elf
+	fi
+	insinto "${dest_dir}"/coreboot
+	doins "${BUILD_DIR}"/cbfs/fallback/*.debug
+	nonfatal doins "${BUILD_DIR}"/cbfs/fallback/bootblock.bin
+	insinto "${dest_dir}"/coreboot_serial
+	doins "${BUILD_DIR_SERIAL}"/cbfs/fallback/*.debug
+	nonfatal doins "${BUILD_DIR_SERIAL}"/cbfs/fallback/bootblock.bin
+	insinto "${dest_dir}"/coreboot_netboot
+	doins "${BUILD_DIR_NETBOOT}"/cbfs/fallback/*.debug
+	nonfatal doins "${BUILD_DIR_NETBOOT}"/cbfs/fallback/bootblock.bin
+
+	# coreboot's static_fw_config.h is copied into libpayload include
+	# directory.
+	insinto "/firmware/${build_combination}/libpayload/libpayload/include"
+	doins "${BUILD_DIR}/static_fw_config.h"
+	einfo "Installed static_fw_config.h into libpayload include directory"
+}
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
+src_install() {
+	while read -r name; do
+		read -r coreboot
+
+		set_build_env "${coreboot}"
+		do_install "${name}" "${coreboot}"
+	done < <(cros_config_host "get-firmware-build-combinations" coreboot || die)
+}
diff --git a/sys-boot/coreboot/coreboot-9999.ebuild b/sys-boot/coreboot/coreboot-9999.ebuild
index c3fe72f..c766f8f 100644
--- a/sys-boot/coreboot/coreboot-9999.ebuild
+++ b/sys-boot/coreboot/coreboot-9999.ebuild
@@ -14,6 +14,8 @@
 	"chromiumos/third_party/coreboot/blobs"
 	"chromiumos/third_party/coreboot/intel-microcode"
 	"chromiumos/third_party/cbootimage"
+	"chromiumos/third_party/coreboot/libgfxinit"
+	"chromiumos/third_party/coreboot/libhwbase"
 )
 CROS_WORKON_LOCALNAME=(
 	"coreboot"
@@ -23,6 +25,8 @@
 	"coreboot/3rdparty/blobs"
 	"coreboot/3rdparty/intel-microcode"
 	"cbootimage"
+	"coreboot/3rdparty/libgfxinit"
+	"coreboot/3rdparty/libhwbase"
 )
 CROS_WORKON_DESTDIR=(
 	"${S}"
@@ -32,6 +36,8 @@
 	"${S}/3rdparty/blobs"
 	"${S}/3rdparty/intel-microcode"
 	"${S}/util/nvidia/cbootimage"
+	"${S}/3rdparty/libgfxinit"
+	"${S}/3rdparty/libhwbase"
 )
 
 CROS_WORKON_EGIT_BRANCH=(
@@ -42,18 +48,21 @@
 	"master"
 	"master"
 	"master"
+	"main"
+	"main"
 )
 
-inherit cros-workon toolchain-funcs cros-unibuild coreboot-sdk
+inherit cros-workon toolchain-funcs cros-unibuild coreboot-sdk cros-sanitizers
 
 DESCRIPTION="coreboot firmware"
 HOMEPAGE="http://www.coreboot.org"
 LICENSE="GPL-2"
 KEYWORDS="~*"
 IUSE="em100-mode fsp memmaps mocktpm quiet-cb rmt vmx mma intel_debug"
-IUSE="${IUSE} +bmpblk quiet unibuild verbose"
+IUSE="${IUSE} +bmpblk quiet unibuild verbose ti50_onboard"
 IUSE="${IUSE} amd_cpu coreboot-sdk chipset_stoneyridge chipset_picasso"
 IUSE="${IUSE} chipset_cezanne"
+IUSE="${IUSE} fw_debug"
 # virtual/coreboot-private-files is deprecated. When adding a new board you
 # should add the coreboot-private-files-{board/chipset} ebuilds into the private
 # overlays, and avoid creating virtual packages.
@@ -66,10 +75,14 @@
 # Make sure we don't use SDK gcc anymore.
 REQUIRED_USE+=" coreboot-sdk"
 
-# coreboot's build system handles stripping the binaries and producing a
-# separate .debug file with the symbols. This flag prevents portage from
-# stripping the .debug symbols
-RESTRICT="strip"
+# Disable binary checks for PIE and relative relocatons.
+# Don't strip to ease remote GDB use (cbfstool strips final binaries anyway).
+# This is only okay because this ebuild only installs files into
+# ${SYSROOT}/firmware, which is not copied to the final system image.
+RESTRICT="binchecks strip"
+
+# Disable warnings for executable stack.
+QA_EXECSTACK="*"
 
 DEPEND="
 	coreboot-private-files-board? ( sys-boot/coreboot-private-files-board:= )
@@ -114,44 +127,7 @@
 	local board="$1"
 	local base_board="$2"
 
-	if [[ -s "${FILESDIR}/configs/config.${board}" ]]; then
-		touch "${CONFIG}"
-
-		if [[ -s "${FILESDIR}/configs/config.baseboard.${base_board}" ]]; then
-			cat "${FILESDIR}/configs/config.baseboard.${base_board}" >> "${CONFIG}"
-			# handle the case when "${CONFIG}" does not have a newline in the end.
-			echo >> "${CONFIG}"
-		fi
-
-		cat "${FILESDIR}/configs/config.${board}" >> "${CONFIG}"
-
-		# handle the case when "${CONFIG}" does not have a newline in the end.
-		echo >> "${CONFIG}"
-
-		# Override mainboard vendor if needed.
-		if [[ -n "${SYSTEM_OEM}" ]]; then
-			echo "CONFIG_MAINBOARD_VENDOR=\"${SYSTEM_OEM}\"" >> "${CONFIG}"
-		fi
-		if [[ -n "${SYSTEM_OEM_VENDOR_ID}" ]]; then
-			echo "CONFIG_SUBSYSTEM_VENDOR_ID=${SYSTEM_OEM_VENDOR_ID}" >> "${CONFIG}"
-		fi
-		if [[ -n "${SYSTEM_OEM_DEVICE_ID}" ]]; then
-			echo "CONFIG_SUBSYSTEM_DEVICE_ID=${SYSTEM_OEM_DEVICE_ID}" >> "${CONFIG}"
-		fi
-		if [[ -n "${SYSTEM_OEM_ACPI_ID}" ]]; then
-			echo "CONFIG_ACPI_SUBSYSTEM_ID=\"${SYSTEM_OEM_ACPI_ID}\"" >> "${CONFIG}"
-		fi
-
-		# In case config comes from a symlink we are likely building
-		# for an overlay not matching this config name. Enable adding
-		# a CBFS based board ID for coreboot.
-		if [[ -L "${FILESDIR}/configs/config.${board}" ]]; then
-			echo "CONFIG_BOARD_ID_MANUAL=y" >> "${CONFIG}"
-			echo "CONFIG_BOARD_ID_STRING=\"${BOARD_USE}\"" >> "${CONFIG}"
-		fi
-	else
-		ewarn "Could not find existing config for ${board}."
-	fi
+	touch "${CONFIG}"
 
 	if use rmt; then
 		echo "CONFIG_MRC_RMT=y" >> "${CONFIG}"
@@ -177,16 +153,24 @@
 	if use intel_debug; then
 		echo "CONFIG_SOC_INTEL_DEBUG_CONSENT=y" >> "${CONFIG}"
 	fi
-	# disable coreboot's own EC firmware building mechanism
-	echo "CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_NONE=y" >> "${CONFIG}"
-	echo "CONFIG_EC_GOOGLE_CHROMEEC_PD_FIRMWARE_NONE=y" >> "${CONFIG}"
-	# enable common GBB flags for development
-	echo "CONFIG_GBB_FLAG_DEV_SCREEN_SHORT_DELAY=y" >> "${CONFIG}"
-	echo "CONFIG_GBB_FLAG_DISABLE_FW_ROLLBACK_CHECK=y" >> "${CONFIG}"
-	echo "CONFIG_GBB_FLAG_FORCE_DEV_BOOT_USB=y" >> "${CONFIG}"
-	echo "CONFIG_GBB_FLAG_FORCE_DEV_SWITCH_ON=y" >> "${CONFIG}"
-	local version=$(${CHROOT_SOURCE_ROOT}/src/third_party/chromiumos-overlay/chromeos/config/chromeos_version.sh |grep "^[[:space:]]*CHROMEOS_VERSION_STRING=" |cut -d= -f2)
-	echo "CONFIG_VBOOT_FWID_VERSION=\".${version}\"" >> "${CONFIG}"
+	if use ti50_onboard; then
+		echo "CONFIG_CBFS_VERIFICATION=y" >> "${CONFIG}"
+	fi
+	if use fw_debug; then
+		echo "CONFIG_BUILDING_WITH_DEBUG_FSP=y" >> "${CONFIG}"
+	fi
+	local version=$("${CHROOT_SOURCE_ROOT}"/src/third_party/chromiumos-overlay/chromeos/config/chromeos_version.sh |grep "^[[:space:]]*CHROMEOS_VERSION_STRING=" |cut -d= -f2 | tr - _)
+	{
+		# disable coreboot's own EC firmware building mechanism
+		echo "CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_NONE=y"
+		echo "CONFIG_EC_GOOGLE_CHROMEEC_PD_FIRMWARE_NONE=y"
+		# enable common GBB flags for development
+		echo "CONFIG_GBB_FLAG_DEV_SCREEN_SHORT_DELAY=y"
+		echo "CONFIG_GBB_FLAG_DISABLE_FW_ROLLBACK_CHECK=y"
+		echo "CONFIG_GBB_FLAG_FORCE_DEV_BOOT_USB=y"
+		echo "CONFIG_GBB_FLAG_FORCE_DEV_SWITCH_ON=y"
+		echo "CONFIG_VBOOT_FWID_VERSION=\".${version}\""
+	} >> "${CONFIG}"
 	if use em100-mode; then
 		einfo "Enabling em100 mode via CONFIG_EM100 (slower SPI flash)"
 		echo "CONFIG_EM100=y" >> "${CONFIG}"
@@ -195,12 +179,44 @@
 	# which we don't include at this time. A no-op on non-FSP/GOP devices.
 	echo "CONFIG_RUN_FSP_GOP=y" >> "${CONFIG}"
 
+	# Override the automatic options created above with board config.
+	local board_config="${FILESDIR}/configs/config.${board}"
+	local baseboard_config="${FILESDIR}/configs/config.baseboard.${base_board}"
+
+	if [[ -s "${baseboard_config}" ]]; then
+		cat "${baseboard_config}" >> "${CONFIG}"
+		# Handle the case when "${CONFIG}" does not have a newline in the end.
+		echo >> "${CONFIG}"
+	fi
+
+	if [[ -s "${board_config}" ]]; then
+		cat "${board_config}" >> "${CONFIG}"
+		# Handle the case when "${CONFIG}" does not have a newline in the end.
+		echo >> "${CONFIG}"
+	else
+		ewarn "Could not find existing config for ${board}."
+	fi
+
+	# Override mainboard vendor if needed.
+	if [[ -n "${SYSTEM_OEM}" ]]; then
+		echo "CONFIG_MAINBOARD_VENDOR=\"${SYSTEM_OEM}\"" >> "${CONFIG}"
+	fi
+	if [[ -n "${SYSTEM_OEM_VENDOR_ID}" ]]; then
+		echo "CONFIG_SUBSYSTEM_VENDOR_ID=${SYSTEM_OEM_VENDOR_ID}" >> "${CONFIG}"
+	fi
+	if [[ -n "${SYSTEM_OEM_DEVICE_ID}" ]]; then
+		echo "CONFIG_SUBSYSTEM_DEVICE_ID=${SYSTEM_OEM_DEVICE_ID}" >> "${CONFIG}"
+	fi
+	if [[ -n "${SYSTEM_OEM_ACPI_ID}" ]]; then
+		echo "CONFIG_ACPI_SUBSYSTEM_ID=\"${SYSTEM_OEM_ACPI_ID}\"" >> "${CONFIG}"
+	fi
+
 	cp "${CONFIG}" "${CONFIG_SERIAL}"
 	file="${FILESDIR}/configs/fwserial.${board}"
-	if [ ! -f "${file}" ] && [ -n "${base_board}" ]; then
+	if [[ ! -f "${file}" && -n "${base_board}" ]]; then
 		file="${FILESDIR}/configs/fwserial.${base_board}"
 	fi
-	if [ ! -f "${file}" ]; then
+	if [[ ! -f "${file}" ]]; then
 		file="${FILESDIR}/configs/fwserial.default"
 	fi
 	cat "${file}" >> "${CONFIG_SERIAL}" || die
@@ -330,7 +346,7 @@
 			"${blobfile}" || die
 	done
 
-	if [ -d ${froot}/cbfs ]; then
+	if [[ -d "${froot}/cbfs" ]]; then
 		die "something is still using ${froot}/cbfs, which is deprecated."
 	fi
 }
@@ -359,7 +375,7 @@
 		export CROSS_COMPILE_arm64=${COREBOOT_SDK_PREFIX_arm64}
 		export CROSS_COMPILE_arm=${COREBOOT_SDK_PREFIX_arm}
 
-		export PATH=/opt/coreboot-sdk/bin:$PATH
+		export PATH="/opt/coreboot-sdk/bin:${PATH}"
 	fi
 
 	use verbose && elog "Toolchain:\n$(sh util/xcompile/xcompile)\n"
@@ -408,19 +424,19 @@
 	FSP=$( awk 'BEGIN{FS="\""} /CONFIG_FSP_FILE=/ { print $2 }' \
 		"${CONFIG}" )
 	if [[ -n "${FSP}" ]]; then
-		newins ${FSP} fsp.bin
+		newins "${FSP}" fsp.bin
 	fi
 	# Save the psp_verstage binary for signing on AMD Fam17h platforms
 	if [[ -e "${BUILD_DIR}/psp_verstage.bin" ]]; then
 		newins "${BUILD_DIR}/psp_verstage.bin" psp_verstage.bin
 	fi
 	if [[ -n "${OPROM}" ]]; then
-		newins ${OPROM} ${CBFSOPROM}
+		newins "${OPROM}" "${CBFSOPROM}"
 	fi
 	if use memmaps; then
 		for mapfile in "${BUILD_DIR}"/cbfs/fallback/*.map
 		do
-			doins $mapfile
+			doins "${mapfile}"
 		done
 	fi
 	newins "${CONFIG}" coreboot.config
@@ -450,6 +466,11 @@
 	einfo "Installed static_fw_config.h into libpayload include directory"
 }
 
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
 src_install() {
 	while read -r name; do
 		read -r coreboot
diff --git a/sys-boot/coreboot/files/configs/config.adlrvp_n b/sys-boot/coreboot/files/configs/config.adlrvp_n
new file mode 100644
index 0000000..b45afb6
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.adlrvp_n
@@ -0,0 +1,26 @@
+CONFIG_VENDOR_INTEL=y
+CONFIG_BOARD_INTEL_ADLRVP_N=y
+
+# FSP Blobs
+CONFIG_DISPLAY_FSP_CALLS_AND_STATUS=y
+CONFIG_DISPLAY_FSP_HEADER=y
+
+# EC
+CONFIG_HAVE_EC_BIN=y
+CONFIG_EC_BIN_PATH="3rdparty/blobs/mainboard/google/nissa/ec-adlrvp_n.bin"
+CONFIG_ADL_INTEL_EC=y
+
+# SPI Descriptor
+CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/nissa/descriptor-adlrvp_n.bin"
+
+# Management Engine
+CONFIG_ME_BIN_PATH="3rdparty/blobs/mainboard/google/nissa/csme-adlrvp_n.bin"
+
+# Management Engine FW update
+CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/nissa/me_rw-adlrvp_n.bin"
+
+# Video Blob
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/nissa/vbt_adlrvp_n_lp5.bin"
+
+# Microcode
+CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/nissa/ucode-adlrvp_n.bin"
diff --git a/sys-boot/coreboot/files/configs/config.adlrvp_n_ext_ec b/sys-boot/coreboot/files/configs/config.adlrvp_n_ext_ec
new file mode 100644
index 0000000..b61c467
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.adlrvp_n_ext_ec
@@ -0,0 +1,21 @@
+CONFIG_VENDOR_INTEL=y
+CONFIG_BOARD_INTEL_ADLRVP_N_EXT_EC=y
+
+# FSP Blobs
+CONFIG_DISPLAY_FSP_CALLS_AND_STATUS=y
+CONFIG_DISPLAY_FSP_HEADER=y
+
+# SPI Descriptor
+CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/nissa/descriptor-adlrvp_n.bin"
+
+# Management Engine
+CONFIG_ME_BIN_PATH="3rdparty/blobs/mainboard/google/nissa/csme-adlrvp_n.bin"
+
+# Management Engine FW update
+CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/nissa/me_rw-adlrvp_n.bin"
+
+# Video Blob
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/nissa/vbt_adlrvp_n_lp5.bin"
+
+# Microcode
+CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/nissa/ucode-adlrvp_n.bin"
diff --git a/sys-boot/coreboot/files/configs/config.adlrvp_rpl_ext_ec b/sys-boot/coreboot/files/configs/config.adlrvp_rpl_ext_ec
new file mode 100644
index 0000000..e438f40
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.adlrvp_rpl_ext_ec
@@ -0,0 +1,30 @@
+CONFIG_VENDOR_INTEL=y
+CONFIG_BOARD_INTEL_ADLRVP_P=y
+
+# SPI Descriptor
+CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/brya/descriptor-adlrvp_rpl.bin"
+
+# FSP Blobs
+CONFIG_DISPLAY_FSP_CALLS_AND_STATUS=y
+CONFIG_DISPLAY_FSP_HEADER=y
+
+# CSE data
+CONFIG_SOC_INTEL_CSE_RW_VERSION="16.1.25.1885"
+CONFIG_ME_BIN_PATH="3rdparty/blobs/mainboard/google/brya/csme-adlrvp_rpl.bin"
+CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/brya/me_rw-adlrvp_rpl.bin"
+
+# Video Blob
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/brya/vbt_adlrvp_rpl_lp5.bin"
+CONFIG_INTEL_GMA_HAVE_VBT=y
+
+# EC
+CONFIG_HAVE_EC_BIN=y
+CONFIG_EC_BIN_PATH="3rdparty/blobs/mainboard/google/brya/ec-adlrvp_rpl.bin"
+CONFIG_BOARD_INTEL_ADLRVP_RPL_EXT_EC=y
+
+# FSP Blobs
+CONFIG_FSP_M_FILE="3rdparty/blobs/intel/rpl/fsp/fspm.bin"
+CONFIG_FSP_S_FILE="3rdparty/blobs/intel/rpl/fsp/fsps.bin"
+
+# Microcode
+CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/brya/ucode-adlrvp_rpl_ext_ec.bin"
diff --git a/sys-boot/coreboot/files/configs/config.banshee b/sys-boot/coreboot/files/configs/config.banshee
index aae4582..6457815 100644
--- a/sys-boot/coreboot/files/configs/config.banshee
+++ b/sys-boot/coreboot/files/configs/config.banshee
@@ -9,8 +9,14 @@
 CONFIG_ME_BIN_PATH="3rdparty/blobs/mainboard/google/brya/csme-banshee.bin"
 CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/brya/me_rw-banshee.bin"
 
+# TO-DO: disable this feature before FSI (b/209092463).
+# CSE sub-partition FW update
+CONFIG_SOC_INTEL_CSE_SUB_PART_UPDATE=y
+CONFIG_SOC_INTEL_CSE_IOM_CBFS_FILE="3rdparty/blobs/mainboard/google/brya/cse_inputs/qs_inputs/iom_k0.bin"
+CONFIG_SOC_INTEL_CSE_NPHY_CBFS_FILE="3rdparty/blobs/mainboard/google/brya/cse_inputs/qs_inputs/nphy_k0.bin"
+
 # Video Blob
-CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/brya/vbt.bin"
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/brya/vbt-banshee.bin"
 
 # Microcode
 CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/brya/ucode-banshee.bin"
diff --git a/sys-boot/coreboot/files/configs/config.baseboard.brya b/sys-boot/coreboot/files/configs/config.baseboard.brya
index 8795c96..1f7f1e9 100644
--- a/sys-boot/coreboot/files/configs/config.baseboard.brya
+++ b/sys-boot/coreboot/files/configs/config.baseboard.brya
@@ -8,10 +8,12 @@
 CONFIG_HAVE_IFD_BIN=y
 
 # FSP Blobs
+CONFIG_FSP_HEADER_PATH="3rdparty/blobs/intel/adl/fsp/Include"
 CONFIG_ADD_FSP_BINARIES=y
+CONFIG_HAVE_INTEL_FSP_REPO=y
+# CONFIG_FSP_USE_REPO is not set
 CONFIG_FSP_M_FILE="3rdparty/blobs/intel/adl/fsp/fspm.bin"
 CONFIG_FSP_S_FILE="3rdparty/blobs/intel/adl/fsp/fsps.bin"
-CONFIG_RUN_FSP_GOP=y
 
 # Management Engine
 CONFIG_HAVE_ME_BIN=y
@@ -43,7 +45,7 @@
 
 # Management Engine FW update
 CONFIG_SOC_INTEL_CSE_RW_UPDATE=y
-CONFIG_SOC_INTEL_CSE_RW_VERSION="16.0.15.1620"
+CONFIG_SOC_INTEL_CSE_RW_VERSION="16.0.15.1752"
 
 # FILEPATH is set to blank to prevent any default SAR file from getting added.
 CONFIG_WIFI_SAR_CBFS_FILEPATH="
diff --git a/sys-boot/coreboot/files/configs/config.baseboard.corsola b/sys-boot/coreboot/files/configs/config.baseboard.corsola
new file mode 100644
index 0000000..e9f88e8
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.baseboard.corsola
@@ -0,0 +1,2 @@
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_CHROMEOS=y
diff --git a/sys-boot/coreboot/files/configs/config.baseboard.nissa b/sys-boot/coreboot/files/configs/config.baseboard.nissa
index c193d15..ffd49e8 100644
--- a/sys-boot/coreboot/files/configs/config.baseboard.nissa
+++ b/sys-boot/coreboot/files/configs/config.baseboard.nissa
@@ -18,7 +18,7 @@
 
 # Management Engine FW update
 CONFIG_SOC_INTEL_CSE_RW_UPDATE=y
-CONFIG_SOC_INTEL_CSE_RW_VERSION="16.50.0.7093"
+CONFIG_SOC_INTEL_CSE_RW_VERSION="16.50.0.1085"
 
 # Video Blob
 CONFIG_INTEL_GMA_ADD_VBT=y
diff --git a/sys-boot/coreboot/files/configs/config.baseboard.rex b/sys-boot/coreboot/files/configs/config.baseboard.rex
new file mode 100644
index 0000000..6d8d936
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.baseboard.rex
@@ -0,0 +1,39 @@
+CONFIG_PAYLOAD_NONE=y
+CONFIG_USE_BLOBS=y
+
+# Chrome OS
+CONFIG_CHROMEOS=y
+
+# SPI Descriptor
+CONFIG_HAVE_IFD_BIN=y
+
+# FSP Blobs
+CONFIG_ADD_FSP_BINARIES=y
+CONFIG_FSP_M_FILE="3rdparty/blobs/intel/mtl/fsp/fspm.bin"
+CONFIG_FSP_S_FILE="3rdparty/blobs/intel/mtl/fsp/fsps.bin"
+CONFIG_RUN_FSP_GOP=y
+
+# Management Engine
+CONFIG_HAVE_ME_BIN=y
+
+# Microcode
+CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS=y
+
+# Video Blob
+CONFIG_INTEL_GMA_ADD_VBT=y
+
+# Serial console disabled by default (do not remove)
+# CONFIG_CONSOLE_SERIAL is not set
+
+# Event Logging
+CONFIG_ELOG_GSMI=y
+CONFIG_ELOG_BOOT_COUNT=y
+CONFIG_ELOG_BOOT_COUNT_CMOS_OFFSET=144
+CONFIG_SPI_FLASH_SMM=y
+
+# Management Engine FW update
+# CONFIG_SOC_INTEL_CSE_RW_UPDATE is not set for initial bring-up
+CONFIG_SOC_INTEL_CSE_RW_VERSION="18.0.0.7439"
+
+# FILEPATH is set to blank to prevent any default SAR file from getting added.
+CONFIG_WIFI_SAR_CBFS_FILEPATH="
diff --git a/sys-boot/coreboot/files/configs/config.bellis b/sys-boot/coreboot/files/configs/config.bellis
new file mode 100644
index 0000000..d55d6a3
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.bellis
@@ -0,0 +1,5 @@
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_BOARD_GOOGLE_BELLIS=y
+CONFIG_CHROMEOS=y
+# CONFIG_BOOTBLOCK_CONSOLE is not set
+# CONFIG_CONSOLE_SERIAL is not set
diff --git a/sys-boot/coreboot/files/configs/config.corsola b/sys-boot/coreboot/files/configs/config.corsola
index 06ebf24..abf12c7 100644
--- a/sys-boot/coreboot/files/configs/config.corsola
+++ b/sys-boot/coreboot/files/configs/config.corsola
@@ -1,4 +1,2 @@
-CONFIG_VENDOR_GOOGLE=y
 CONFIG_BOARD_GOOGLE_CORSOLA=y
-CONFIG_CHROMEOS=y
 # CONFIG_CONSOLE_SERIAL is not set
diff --git a/sys-boot/coreboot/files/configs/config.craask b/sys-boot/coreboot/files/configs/config.craask
new file mode 100644
index 0000000..275c025
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.craask
@@ -0,0 +1,17 @@
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_BOARD_GOOGLE_CRAASK=y
+
+# SPI Descriptor
+CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/nissa/descriptor-craask.bin"
+
+# Management Engine
+CONFIG_ME_BIN_PATH="3rdparty/blobs/mainboard/google/nissa/csme-craask.bin"
+
+# Management Engine FW update
+CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/nissa/me_rw-craask.bin"
+
+# Video Blob
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/nissa/vbt-craask.bin"
+
+# Microcode
+CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/nissa/ucode-craask.bin"
diff --git a/sys-boot/coreboot/files/configs/config.crota b/sys-boot/coreboot/files/configs/config.crota
index c6a7ef446..17c0102 100644
--- a/sys-boot/coreboot/files/configs/config.crota
+++ b/sys-boot/coreboot/files/configs/config.crota
@@ -10,7 +10,7 @@
 CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/brya/me_rw-crota.bin"
 
 # Video Blob
-CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/brya/vbt.bin"
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/brya/vbt_crota.bin"
 
 # Microcode
 CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/brya/ucode-crota.bin"
diff --git a/sys-boot/coreboot/files/configs/config.evoker b/sys-boot/coreboot/files/configs/config.evoker
new file mode 100644
index 0000000..b5e8571
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.evoker
@@ -0,0 +1,6 @@
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_BOARD_GOOGLE_EVOKER=y
+CONFIG_CHROMEOS=y
+# CONFIG_CONSOLE_SERIAL is not set
+CONFIG_USE_BLOBS=y
+CONFIG_USE_QC_BLOBS=y
diff --git a/sys-boot/coreboot/files/configs/config.felwinter b/sys-boot/coreboot/files/configs/config.felwinter
index 1fc0935..0facbf7 100644
--- a/sys-boot/coreboot/files/configs/config.felwinter
+++ b/sys-boot/coreboot/files/configs/config.felwinter
@@ -10,7 +10,7 @@
 CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/brya/me_rw-felwinter.bin"
 
 # Video Blob
-CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/brya/vbt.bin"
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/brya/vbt-felwinter.bin"
 
 # Microcode
 CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/brya/ucode-felwinter.bin"
diff --git a/sys-boot/coreboot/files/configs/config.gaelin4adl b/sys-boot/coreboot/files/configs/config.gaelin4adl
new file mode 100644
index 0000000..b537454
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.gaelin4adl
@@ -0,0 +1,31 @@
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_BOARD_GOOGLE_GAELIN4ADL=y
+
+# SPI Descriptor
+CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/brya/descriptor-gaelin4adl.bin"
+
+# CSE data
+CONFIG_STITCH_ME_BIN=y
+CONFIG_CSE_COMPONENTS_PATH="3rdparty/blobs/mainboard/google/brya/cse_inputs"
+CONFIG_CSE_FPT_FILE="qs_inputs/csme.bin"
+CONFIG_CSE_PMCP_FILE="qs_inputs/pmc.bin"
+CONFIG_CSE_IOMP_FILE="qs_inputs/iom.bin"
+CONFIG_CSE_TBTP_FILE="qs_inputs/tbt.bin"
+CONFIG_CSE_NPHY_FILE="qs_inputs/nphy.bin"
+CONFIG_CSE_PCHC_FILE="qs_inputs/pchc.bin"
+CONFIG_CSE_IUNP_FILE="qs_inputs/iunit.bin"
+CONFIG_CSE_OEMP_FILE="oem_km.bin"
+CONFIG_CSE_DATA_FILE="cse_data/cse_data-brask.bin"
+CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/brya/me_rw-gaelin4adl.bin
+
+# TO-DO: disable this feature before FSI (b/209092463).
+# CSE sub-partition FW update
+CONFIG_SOC_INTEL_CSE_SUB_PART_UPDATE=y
+CONFIG_SOC_INTEL_CSE_IOM_CBFS_FILE="3rdparty/blobs/mainboard/google/brya/cse_inputs/qs_inputs/iom_k0.bin"
+CONFIG_SOC_INTEL_CSE_NPHY_CBFS_FILE="3rdparty/blobs/mainboard/google/brya/cse_inputs/qs_inputs/nphy_k0.bin"
+
+# Video Blob
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/brya/vbt-brask.bin"
+
+# Microcode
+CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/brya/ucode-gaelin4adl.bin"
diff --git a/sys-boot/coreboot/files/configs/config.gelarshie b/sys-boot/coreboot/files/configs/config.gelarshie
new file mode 100644
index 0000000..181608b
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.gelarshie
@@ -0,0 +1,6 @@
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_BOARD_GOOGLE_GELARSHIE=y
+CONFIG_CHROMEOS=y
+# CONFIG_CONSOLE_SERIAL is not set
+CONFIG_USE_BLOBS=y
+CONFIG_USE_QC_BLOBS=y
diff --git a/sys-boot/coreboot/files/configs/config.geralt b/sys-boot/coreboot/files/configs/config.geralt
new file mode 100644
index 0000000..7b2688d
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.geralt
@@ -0,0 +1,5 @@
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_BOARD_GOOGLE_GERALT=y
+CONFIG_CHROMEOS=y
+CONFIG_MTK_DFD=y
+# CONFIG_CONSOLE_SERIAL is not set
diff --git a/sys-boot/coreboot/files/configs/config.ghost4adl b/sys-boot/coreboot/files/configs/config.ghost4adl
new file mode 100644
index 0000000..cc78a06
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.ghost4adl
@@ -0,0 +1,16 @@
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_BOARD_GOOGLE_GHOST4ADL=y
+
+# SPI Descriptor
+CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/brya/descriptor-ghost4adl.bin"
+
+# CSE data
+# CONFIG_CSE_DATA_FILE="cse_data/cse_data-ghost4adl.bin"
+CONFIG_ME_BIN_PATH="3rdparty/blobs/mainboard/google/brya/csme-ghost4adl.bin"
+CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/brya/me_rw-ghost4adl.bin"
+
+# Video Blob
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/brya/vbt-ghost4adl.bin"
+
+# Microcode
+CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/brya/ucode-ghost4adl.bin"
diff --git a/sys-boot/coreboot/files/configs/config.joxer b/sys-boot/coreboot/files/configs/config.joxer
new file mode 100644
index 0000000..1e8d1a8
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.joxer
@@ -0,0 +1,17 @@
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_BOARD_GOOGLE_JOXER=y
+
+# SPI Descriptor
+CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/nissa/descriptor-joxer.bin"
+
+# Management Engine
+CONFIG_ME_BIN_PATH="3rdparty/blobs/mainboard/google/nissa/csme-joxer.bin"
+
+# Management Engine FW update
+CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/nissa/me_rw-joxer.bin"
+
+# Video Blob
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/nissa/vbt.bin"
+
+# Microcode
+CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/nissa/ucode-joxer.bin"
diff --git a/sys-boot/coreboot/files/configs/config.joxer_ufs b/sys-boot/coreboot/files/configs/config.joxer_ufs
new file mode 100644
index 0000000..25d1076
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.joxer_ufs
@@ -0,0 +1,17 @@
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_BOARD_GOOGLE_JOXER=y
+
+# SPI Descriptor
+CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/nissa/descriptor-joxer_ufs.bin"
+
+# Management Engine
+CONFIG_ME_BIN_PATH="3rdparty/blobs/mainboard/google/nissa/csme-joxer_ufs.bin"
+
+# Management Engine FW update
+CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/nissa/me_rw-joxer_ufs.bin"
+
+# Video Blob
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/nissa/vbt.bin"
+
+# Microcode
+CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/nissa/ucode-joxer.bin"
diff --git a/sys-boot/coreboot/files/configs/config.kano b/sys-boot/coreboot/files/configs/config.kano
index 19cd8c9..f507dc9 100644
--- a/sys-boot/coreboot/files/configs/config.kano
+++ b/sys-boot/coreboot/files/configs/config.kano
@@ -5,24 +5,8 @@
 CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/brya/descriptor-kano.bin"
 
 # CSE data
-CONFIG_STITCH_ME_BIN=y
-CONFIG_CSE_COMPONENTS_PATH="3rdparty/blobs/mainboard/google/brya/cse_inputs"
-CONFIG_CSE_FPT_FILE="qs_inputs/csme.bin"
-CONFIG_CSE_PMCP_FILE="qs_inputs/pmc.bin"
-CONFIG_CSE_IOMP_FILE="qs_inputs/iom.bin"
-CONFIG_CSE_TBTP_FILE="qs_inputs/tbt.bin"
-CONFIG_CSE_NPHY_FILE="qs_inputs/nphy.bin"
-CONFIG_CSE_PCHC_FILE="qs_inputs/pchc.bin"
-CONFIG_CSE_IUNP_FILE="qs_inputs/iunit.bin"
-CONFIG_CSE_OEMP_FILE="oem_km.bin"
-CONFIG_CSE_DATA_FILE="cse_data/cse_data-kano.bin"
-CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/brya/me_rw-kano.bin
-
-# TO-DO: disable this feature before FSI (b/209092463).
-# CSE sub-partition FW update
-CONFIG_SOC_INTEL_CSE_SUB_PART_UPDATE=y
-CONFIG_SOC_INTEL_CSE_IOM_CBFS_FILE="3rdparty/blobs/mainboard/google/brya/cse_inputs/qs_inputs/iom_k0.bin"
-CONFIG_SOC_INTEL_CSE_NPHY_CBFS_FILE="3rdparty/blobs/mainboard/google/brya/cse_inputs/qs_inputs/nphy_k0.bin"
+CONFIG_ME_BIN_PATH="3rdparty/blobs/mainboard/google/brya/csme-kano.bin"
+CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/brya/me_rw-kano.bin"
 
 # Video Blob
 CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/brya/vbt.bin"
diff --git a/sys-boot/coreboot/files/configs/config.kingler b/sys-boot/coreboot/files/configs/config.kingler
index 9a32e70..229da51 100644
--- a/sys-boot/coreboot/files/configs/config.kingler
+++ b/sys-boot/coreboot/files/configs/config.kingler
@@ -1,4 +1,3 @@
-CONFIG_VENDOR_GOOGLE=y
 CONFIG_BOARD_GOOGLE_KINGLER=y
-CONFIG_CHROMEOS=y
+CONFIG_MTK_DFD=y
 # CONFIG_CONSOLE_SERIAL is not set
diff --git a/sys-boot/coreboot/files/configs/config.kinox b/sys-boot/coreboot/files/configs/config.kinox
index 6321118..724becb 100644
--- a/sys-boot/coreboot/files/configs/config.kinox
+++ b/sys-boot/coreboot/files/configs/config.kinox
@@ -16,7 +16,7 @@
 CONFIG_SOC_INTEL_CSE_NPHY_CBFS_FILE="3rdparty/blobs/mainboard/google/brya/cse_inputs/qs_inputs/nphy_k0.bin"
 
 # Video Blob
-CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/brya/vbt-brask.bin"
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/brya/vbt-kinox.bin"
 
 # Microcode
 CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/brya/ucode-kinox.bin"
diff --git a/sys-boot/coreboot/files/configs/config.krabby b/sys-boot/coreboot/files/configs/config.krabby
index 2758d91..3e6a7cf 100644
--- a/sys-boot/coreboot/files/configs/config.krabby
+++ b/sys-boot/coreboot/files/configs/config.krabby
@@ -1,4 +1,3 @@
-CONFIG_VENDOR_GOOGLE=y
 CONFIG_BOARD_GOOGLE_KRABBY=y
-CONFIG_CHROMEOS=y
+CONFIG_MTK_DFD=y
 # CONFIG_CONSOLE_SERIAL is not set
diff --git a/sys-boot/coreboot/files/configs/config.kuldax b/sys-boot/coreboot/files/configs/config.kuldax
new file mode 100644
index 0000000..d83f4de
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.kuldax
@@ -0,0 +1,16 @@
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_BOARD_GOOGLE_KULDAX=y
+
+# SPI Descriptor
+CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/brya/descriptor-kuldax.bin"
+
+# CSE data
+# CONFIG_CSE_DATA_FILE="cse_data/cse_data-brask.bin"
+CONFIG_ME_BIN_PATH="3rdparty/blobs/mainboard/google/brya/csme-kuldax.bin"
+CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/brya/me_rw-kuldax.bin"
+
+# Video Blob
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/brya/vbt-kuldax.bin"
+
+# Microcode
+CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/brya/ucode-kuldax.bin"
diff --git a/sys-boot/coreboot/files/configs/config.mithrax b/sys-boot/coreboot/files/configs/config.mithrax
new file mode 100644
index 0000000..ec9821d
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.mithrax
@@ -0,0 +1,16 @@
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_BOARD_GOOGLE_MITHRAX=y
+
+# SPI Descriptor
+CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/brya/descriptor-mithrax.bin"
+
+# CSE data
+# CONFIG_CSE_DATA_FILE="cse_data/cse_data-brya0.bin"
+CONFIG_ME_BIN_PATH="3rdparty/blobs/mainboard/google/brya/csme-mithrax.bin"
+CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/brya/me_rw-mithrax.bin"
+
+# Video Blob
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/brya/vbt-mithrax.bin"
+
+# Microcode
+CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/brya/ucode-mithrax.bin"
diff --git a/sys-boot/coreboot/files/configs/config.moli b/sys-boot/coreboot/files/configs/config.moli
index 824e3ba..13c1d03 100644
--- a/sys-boot/coreboot/files/configs/config.moli
+++ b/sys-boot/coreboot/files/configs/config.moli
@@ -16,7 +16,7 @@
 CONFIG_SOC_INTEL_CSE_NPHY_CBFS_FILE="3rdparty/blobs/mainboard/google/brya/cse_inputs/qs_inputs/nphy_k0.bin"
 
 # Video Blob
-CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/brya/vbt-brask.bin"
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/brya/vbt-moli.bin"
 
 # Microcode
 CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/brya/ucode-moli.bin"
diff --git a/sys-boot/coreboot/files/configs/config.nereid_hdmi b/sys-boot/coreboot/files/configs/config.nereid_hdmi
new file mode 100644
index 0000000..be8d0cd
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.nereid_hdmi
@@ -0,0 +1,17 @@
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_BOARD_GOOGLE_NEREID=y
+
+# SPI Descriptor
+CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/nissa/descriptor-nereid_hdmi.bin"
+
+# Management Engine
+CONFIG_ME_BIN_PATH="3rdparty/blobs/mainboard/google/nissa/csme-nereid_hdmi.bin"
+
+# Management Engine FW update
+CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/nissa/me_rw-nereid_hdmi.bin"
+
+# Video Blob
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/nissa/vbt-nereid.bin"
+
+# Microcode
+CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/nissa/ucode-nereid.bin"
diff --git a/sys-boot/coreboot/files/configs/config.nivviks b/sys-boot/coreboot/files/configs/config.nivviks
index dce54f4..b540bf3 100644
--- a/sys-boot/coreboot/files/configs/config.nivviks
+++ b/sys-boot/coreboot/files/configs/config.nivviks
@@ -1,6 +1,5 @@
 CONFIG_VENDOR_GOOGLE=y
 CONFIG_BOARD_GOOGLE_NIVVIKS=y
-CONFIG_GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC=y
 
 # SPI Descriptor
 CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/nissa/descriptor-nivviks.bin"
diff --git a/sys-boot/coreboot/files/configs/config.nivviks_ufs b/sys-boot/coreboot/files/configs/config.nivviks_ufs
new file mode 100644
index 0000000..16f0663
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.nivviks_ufs
@@ -0,0 +1,17 @@
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_BOARD_GOOGLE_NIVVIKS=y
+
+# SPI Descriptor
+CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/nissa/descriptor-nivviks_ufs.bin"
+
+# Management Engine
+CONFIG_ME_BIN_PATH="3rdparty/blobs/mainboard/google/nissa/csme-nivviks_ufs.bin"
+
+# Management Engine FW update
+CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/nissa/me_rw-nivviks_ufs.bin"
+
+# Video Blob
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/nissa/vbt-nivviks.bin"
+
+# Microcode
+CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/nissa/ucode-nivviks.bin"
diff --git a/sys-boot/coreboot/files/configs/config.osiris b/sys-boot/coreboot/files/configs/config.osiris
new file mode 100644
index 0000000..2f4af79
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.osiris
@@ -0,0 +1,19 @@
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_BOARD_GOOGLE_OSIRIS=y
+
+# SPI Descriptor
+CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/brya/descriptor-osiris.bin"
+
+# CSE data
+# CONFIG_CSE_DATA_FILE="cse_data/cse_data-brya0.bin"
+CONFIG_ME_BIN_PATH="3rdparty/blobs/mainboard/google/brya/csme-osiris.bin"
+CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/brya/me_rw-osiris.bin"
+
+# Video Blob
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/brya/vbt-osiris.bin"
+
+# Microcode
+CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/brya/ucode-osiris.bin"
+
+# Wifi SAR
+CONFIG_CHROMEOS_WIFI_SAR=y
diff --git a/sys-boot/coreboot/files/configs/config.pujjo b/sys-boot/coreboot/files/configs/config.pujjo
new file mode 100644
index 0000000..8d514bf
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.pujjo
@@ -0,0 +1,17 @@
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_BOARD_GOOGLE_PUJJO=y
+
+# SPI Descriptor
+CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/nissa/descriptor-pujjo.bin"
+
+# Management Engine
+CONFIG_ME_BIN_PATH="3rdparty/blobs/mainboard/google/nissa/csme-pujjo.bin"
+
+# Management Engine FW update
+CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/nissa/me_rw-pujjo.bin"
+
+# Video Blob
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/nissa/vbt-pujjo.bin"
+
+# Microcode
+CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/nissa/ucode-pujjo.bin"
diff --git a/sys-boot/coreboot/files/configs/config.rex0 b/sys-boot/coreboot/files/configs/config.rex0
new file mode 100644
index 0000000..260224b
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.rex0
@@ -0,0 +1,16 @@
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_BOARD_GOOGLE_REX0=y
+
+# SPI Descriptor
+CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/rex/descriptor-rex0.bin"
+
+# CSE data
+# CONFIG_CSE_DATA_FILE="cse_data/cse_data-rex0.bin"
+CONFIG_ME_BIN_PATH="3rdparty/blobs/mainboard/google/rex/csme-rex0.bin"
+CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/rex/me_rw-rex0.bin"
+
+# Video Blob
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/rex/vbt/vbt.bin"
+
+# Microcode
+CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/rex/ucode.bin"
diff --git a/sys-boot/coreboot/files/configs/config.shotzo b/sys-boot/coreboot/files/configs/config.shotzo
new file mode 100644
index 0000000..c9e9e4a
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.shotzo
@@ -0,0 +1,50 @@
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_BOARD_GOOGLE_SHOTZO=y
+CONFIG_USE_BLOBS=y
+CONFIG_PAYLOAD_NONE=y
+CONFIG_SPI_FLASH=y
+CONFIG_SPI_FLASH_SMM=y
+
+# Chrome OS
+CONFIG_CHROMEOS=y
+
+# Event Logging
+CONFIG_CMOS_POST=y
+CONFIG_CMOS_POST_OFFSET=0x70
+CONFIG_COLLECT_TIMESTAMPS=y
+CONFIG_ELOG=y
+CONFIG_ELOG_GSMI=y
+CONFIG_ELOG_BOOT_COUNT=y
+CONFIG_ELOG_BOOT_COUNT_CMOS_OFFSET=144
+
+# Firmware Support Package
+CONFIG_ADD_FSP_BINARIES=y
+CONFIG_HAVE_INTEL_FSP_REPO=y
+# CONFIG_FSP_USE_REPO is not set
+CONFIG_FSP_M_FILE="3rdparty/blobs/intel/jsl/fsp/fspm.bin"
+CONFIG_FSP_S_FILE="3rdparty/blobs/intel/jsl/fsp/fsps.bin"
+
+# Enable VBT
+CONFIG_INTEL_GMA_ADD_VBT=y
+CONFIG_RUN_FSP_GOP=y
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/baseboard-dedede/vbt_shotzo.bin"
+
+# Microcode
+CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS=y
+CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/baseboard-dedede/ucode.bin"
+
+# SPI Descriptor
+CONFIG_HAVE_IFD_BIN=y
+CONFIG_IFD_BIN_PATH="3rdparty/blobs/baseboard-dedede/descriptor-shotzo.bin"
+
+# Management Engine
+CONFIG_HAVE_ME_BIN=y
+CONFIG_ME_BIN_PATH="3rdparty/blobs/baseboard-dedede/me-shotzo.bin"
+# CONFIG_LOCK_MANAGEMENT_ENGINE is not set
+
+# CSE RW Update Feature
+CONFIG_SOC_INTEL_CSE_RW_UPDATE=y
+CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/baseboard-dedede/me_rw-shotzo.bin"
+CONFIG_SOC_INTEL_CSE_RW_VERSION="13.50.15.1550"
+
+# CONFIG_CONSOLE_SERIAL is not set
diff --git a/sys-boot/coreboot/files/configs/config.skolas4es b/sys-boot/coreboot/files/configs/config.skolas4es
new file mode 100644
index 0000000..57f101c
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.skolas4es
@@ -0,0 +1,21 @@
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_BOARD_GOOGLE_SKOLAS4ES=y
+
+# SPI Descriptor
+CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/brya/descriptor-skolas4es.bin"
+
+# CSE data
+CONFIG_ME_BIN_PATH="3rdparty/blobs/mainboard/google/brya/csme-skolas4es.bin"
+CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/brya/me_rw-skolas4es.bin"
+CONFIG_SOC_INTEL_CSE_RW_UPDATE=y
+CONFIG_SOC_INTEL_CSE_RW_VERSION="16.1.25.1885"
+
+# FSP Blobs
+CONFIG_FSP_M_FILE="3rdparty/blobs/intel/rpl/fsp/fspm.bin"
+CONFIG_FSP_S_FILE="3rdparty/blobs/intel/rpl/fsp/fsps.bin"
+
+# Video Blob
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/brya/vbt.bin"
+
+# Microcode
+CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/brya/ucode-skolas4es.bin"
diff --git a/sys-boot/coreboot/files/configs/config.skyrim b/sys-boot/coreboot/files/configs/config.skyrim
index d5dee4a..fa8c49c 100644
--- a/sys-boot/coreboot/files/configs/config.skyrim
+++ b/sys-boot/coreboot/files/configs/config.skyrim
@@ -2,6 +2,30 @@
 CONFIG_BOARD_GOOGLE_SKYRIM=y
 CONFIG_CHROMEOS=y
 CONFIG_PAYLOAD_NONE=y
-CONFIG_VBOOT_MOCK_SECDATA=y
 # CONFIG_CONSOLE_SERIAL is not set
 CONFIG_COLLECT_TIMESTAMPS=y
+
+# TODO(b/227809919): Enable CBFS verification by removing this.
+# If ti50_onboard, CBFS_VERIFICATION will be enabled automatically by the ebuild.
+CONFIG_CBFS_VERIFICATION=n
+
+CONFIG_USE_BLOBS=y
+CONFIG_USE_AMD_BLOBS=y
+CONFIG_AMDFW_CONFIG_FILE="3rdparty/amd_blobs/sabrina/PSP/amdfw.cfg"
+CONFIG_ADD_FSP_BINARIES=y
+CONFIG_FSP_M_FILE="3rdparty/amd_blobs/sabrina/SABRINA_M.fd"
+CONFIG_FSP_S_FILE="3rdparty/amd_blobs/sabrina/SABRINA_S.fd"
+CONFIG_VGA_BIOS=y
+CONFIG_VGA_BIOS_ID="1002,1506"
+CONFIG_VGA_BIOS_FILE="3rdparty/amd_blobs/sabrina/SabrinaGenericVbios.bin"
+CONFIG_RUN_FSP_GOP=y
+CONFIG_CPU_MICROCODE_CBFS_NONE=y
+
+CONFIG_HAVE_SPL_FILE=y
+CONFIG_SPL_TABLE_FILE="3rdparty/amd_blobs/sabrina/PSP/TypeId0x55_SplTableBl_SBR.sbin"
+
+CONFIG_HAVE_PSP_WHITELIST_FILE=y
+CONFIG_PSP_WHITELIST_FILE="3rdparty/amd_blobs/sabrina/PSP/mdn-whitelist.sbin"
+
+# TODO(b/240175446#comment2): Enable PSP Verstage once the issue is resolved.
+# CONFIG_VBOOT_STARTS_BEFORE_BOOTBLOCK is not set
diff --git a/sys-boot/coreboot/files/configs/config.steelix b/sys-boot/coreboot/files/configs/config.steelix
new file mode 100644
index 0000000..050a936
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.steelix
@@ -0,0 +1,3 @@
+CONFIG_BOARD_GOOGLE_STEELIX=y
+CONFIG_MTK_DFD=y
+# CONFIG_CONSOLE_SERIAL is not set
diff --git a/sys-boot/coreboot/files/configs/config.tentacruel b/sys-boot/coreboot/files/configs/config.tentacruel
new file mode 100644
index 0000000..8f7c13f
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.tentacruel
@@ -0,0 +1,3 @@
+CONFIG_BOARD_GOOGLE_TENTACRUEL=y
+CONFIG_MTK_DFD=y
+# CONFIG_CONSOLE_SERIAL is not set
diff --git a/sys-boot/coreboot/files/configs/config.volmar b/sys-boot/coreboot/files/configs/config.volmar
index 8456a79..c92afef 100644
--- a/sys-boot/coreboot/files/configs/config.volmar
+++ b/sys-boot/coreboot/files/configs/config.volmar
@@ -14,3 +14,6 @@
 
 # Microcode
 CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/brya/ucode-volmar.bin"
+
+# Wifi SAR
+CONFIG_CHROMEOS_WIFI_SAR=y
diff --git a/sys-boot/coreboot/files/configs/config.xivu b/sys-boot/coreboot/files/configs/config.xivu
new file mode 100644
index 0000000..c1059e5
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.xivu
@@ -0,0 +1,17 @@
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_BOARD_GOOGLE_XIVU=y
+
+# SPI Descriptor
+CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/nissa/descriptor-xivu.bin"
+
+# Management Engine
+CONFIG_ME_BIN_PATH="3rdparty/blobs/mainboard/google/nissa/csme-xivu.bin"
+
+# Management Engine FW update
+CONFIG_SOC_INTEL_CSE_RW_FILE="3rdparty/blobs/mainboard/google/nissa/me_rw-xivu.bin"
+
+# Video Blob
+CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/nissa/vbt-nereid.bin"
+
+# Microcode
+CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/google/nissa/ucode-xivu.bin"
diff --git a/sys-boot/coreboot/files/configs/config.zoglin b/sys-boot/coreboot/files/configs/config.zoglin
new file mode 100644
index 0000000..19bef17
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/config.zoglin
@@ -0,0 +1,6 @@
+CONFIG_VENDOR_GOOGLE=y
+CONFIG_BOARD_GOOGLE_ZOGLIN=y
+CONFIG_CHROMEOS=y
+# CONFIG_CONSOLE_SERIAL is not set
+CONFIG_USE_BLOBS=y
+CONFIG_USE_QC_BLOBS=y
diff --git a/sys-boot/coreboot/files/configs/fwserial.adlrvp_n b/sys-boot/coreboot/files/configs/fwserial.adlrvp_n
new file mode 100644
index 0000000..f263097
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/fwserial.adlrvp_n
@@ -0,0 +1,4 @@
+CONFIG_FATAL_ASSERTS=y
+CONFIG_CONSOLE_SERIAL=y
+CONFIG_CONSOLE_SERIAL_115200=y
+CONFIG_DRIVERS_UART_8250IO=y
diff --git a/sys-boot/coreboot/files/configs/fwserial.adlrvp_n_ext_ec b/sys-boot/coreboot/files/configs/fwserial.adlrvp_n_ext_ec
new file mode 100644
index 0000000..6c16564
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/fwserial.adlrvp_n_ext_ec
@@ -0,0 +1,4 @@
+CONFIG_FATAL_ASSERTS=y
+CONFIG_CONSOLE_SERIAL=y
+CONFIG_CONSOLE_SERIAL_115200=y
+CONFIG_INTEL_LPSS_UART_FOR_CONSOLE=y
diff --git a/sys-boot/coreboot/files/configs/fwserial.brya b/sys-boot/coreboot/files/configs/fwserial.brya
index 4ff8924..635db1c 100644
--- a/sys-boot/coreboot/files/configs/fwserial.brya
+++ b/sys-boot/coreboot/files/configs/fwserial.brya
@@ -3,3 +3,4 @@
 CONFIG_CONSOLE_SERIAL_115200=y
 CONFIG_UART_DEBUG=y
 CONFIG_UART_FOR_CONSOLE=0
+CONFIG_FSP_ENABLE_SERIAL_DEBUG=y
diff --git a/sys-boot/coreboot/files/configs/fwserial.rex b/sys-boot/coreboot/files/configs/fwserial.rex
new file mode 100644
index 0000000..635db1c
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/fwserial.rex
@@ -0,0 +1,6 @@
+CONFIG_FATAL_ASSERTS=y
+CONFIG_CONSOLE_SERIAL=y
+CONFIG_CONSOLE_SERIAL_115200=y
+CONFIG_UART_DEBUG=y
+CONFIG_UART_FOR_CONSOLE=0
+CONFIG_FSP_ENABLE_SERIAL_DEBUG=y
diff --git a/sys-boot/coreboot/files/configs/fwserial.skyrim b/sys-boot/coreboot/files/configs/fwserial.skyrim
new file mode 100644
index 0000000..880cf76
--- /dev/null
+++ b/sys-boot/coreboot/files/configs/fwserial.skyrim
@@ -0,0 +1,14 @@
+CONFIG_CONSOLE_SERIAL=y
+CONFIG_FATAL_ASSERTS=y
+CONFIG_CONSOLE_SERIAL_115200=y
+CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y
+CONFIG_CONSOLE_POST=y
+CONFIG_DEBUG_SMI=y
+CONFIG_TIMESTAMPS_ON_CONSOLE=y
+CONFIG_FSP_M_FILE="3rdparty/amd_blobs/sabrina/SABRINA_SERIAL_M.fd"
+CONFIG_FSP_S_FILE="3rdparty/amd_blobs/sabrina/SABRINA_SERIAL_S.fd"
+CONFIG_DISPLAY_FSP_CALLS_AND_STATUS=y
+CONFIG_DISPLAY_FSP_HEADER=y
+CONFIG_DISPLAY_HOBS=y
+CONFIG_DISPLAY_UPD_DATA=y
+CONFIG_PSP_SOFTFUSE_BITS="34 28"
diff --git a/sys-boot/depthcharge/depthcharge-0.0.1-r3734.ebuild b/sys-boot/depthcharge/depthcharge-0.0.1-r3734.ebuild
deleted file mode 100644
index d07d840..0000000
--- a/sys-boot/depthcharge/depthcharge-0.0.1-r3734.ebuild
+++ /dev/null
@@ -1,269 +0,0 @@
-# Copyright 2012 The Chromium OS Authors.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT=("b9a7047c8ef32653a87cdcecfeaea6c838178533" "c31013768eb4ed052c54df50c398f70f2d7ef36d" "801687b38b1c72e7b8dab2f9ccf5ea0c5e9d5922")
-CROS_WORKON_TREE=("8d89331cb8fbb2fa5b1df805d3f56df8e247710a" "2ef2be6db7746b10beaf42e9a60b3706d653f9b6" "c159fdb943cb5dccdefc2e42486e3511f167049e")
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform/depthcharge"
-	"chromiumos/platform/vboot_reference"
-	"chromiumos/third_party/coreboot"
-)
-
-DESCRIPTION="coreboot's depthcharge payload"
-HOMEPAGE="http://www.coreboot.org"
-LICENSE="GPL-2"
-KEYWORDS="*"
-IUSE="detachable fwconsole mocktpm pd_sync unibuild verbose debug
-	physical_presence_power physical_presence_recovery test"
-
-# No pre-unibuild boards build firmware on ToT anymore.  Assume
-# unibuild to keep ebuild clean.
-REQUIRED_USE="unibuild"
-
-DEPEND="
-	sys-boot/coreboot:=
-	chromeos-base/chromeos-ec-headers:=
-	sys-boot/libpayload:=
-	chromeos-base/chromeos-config:=
-"
-
-# While this package is never actually executed, we still need to specify
-# RDEPEND. A binary version of this package could exist that was built using an
-# outdated version of chromeos-config. Without the RDEPEND this stale binary
-# package is considered valid by the package manager. This is problematic
-# because we could have two binary packages installed having been build with
-# different versions of chromeos-config. By specifying the RDEPEND we force
-# the package manager to ensure the two versions use the same chromeos-config.
-RDEPEND="${DEPEND}"
-
-BDEPEND="
-	dev-python/kconfiglib
-	!test? (
-		dev-util/cmake
-		dev-util/cmocka
-	)
-"
-
-CROS_WORKON_LOCALNAME=(
-	"../platform/depthcharge"
-	"../platform/vboot_reference"
-	"../third_party/coreboot"
-)
-VBOOT_REFERENCE_DESTDIR="${S}/vboot_reference"
-COREBOOT_DESTDIR="${S}/coreboot"
-CROS_WORKON_DESTDIR=(
-	"${S}/depthcharge"
-	"${VBOOT_REFERENCE_DESTDIR}"
-	"${COREBOOT_DESTDIR}"
-)
-
-CROS_WORKON_OPTIONAL_CHECKOUT=(
-	""
-	""
-	"use test"
-)
-
-# Don't strip to ease remote GDB use (cbfstool strips final binaries anyway)
-RESTRICT='strip'
-
-inherit cros-workon cros-unibuild
-
-# Build depthcharge with common options.
-# Usage example: dc_make dev "${BUILD_DIR}" "${LIBPAYLOAD_DIR}"
-# Args:
-#   $1: Target to build
-#   $2: Build directory to use.
-#   $3: Directory where libpayload is located.
-#   $4+: Any other Makefile arguments.
-dc_make() {
-	local target="$1"
-	local builddir="$2"
-	local libpayload="$3"
-
-	shift 3
-
-	local OPTS=(
-		"EC_HEADERS=${SYSROOT}/usr/include/chromeos/ec"
-		"VB_SOURCE=${VBOOT_REFERENCE_DESTDIR}"
-		"PD_SYNC=$(usev pd_sync)"
-		"LIBPAYLOAD_DIR=${libpayload}/libpayload"
-		"obj=${builddir}"
-	)
-
-	use verbose && OPTS+=( "V=1" )
-	use debug && OPTS+=( "SOURCE_DEBUG=1" )
-
-	emake "${OPTS[@]}" \
-		"${target}" \
-		"$@"
-}
-
-# Build depthcharge for the current board.
-# Builds the various output files for depthcharge:
-#   depthcharge.elf   - normal image
-#   dev.elf           - developer image
-#   netboot.elf       - network image
-# In addition, .map files are produced for each, and a .config file which
-# holds the configuration that was used.
-# Args
-#   $1: board to build for.
-#   $2: build directory
-#   $3: libpayload dir
-make_depthcharge() {
-	local board="$1"
-	local builddir="$2"
-	local libpayload="$3"
-	local base_defconfig="board/${board}/defconfig"
-	local defconfig="${T}/${board}-defconfig"
-	local config="${builddir}/depthcharge.config"
-
-	if [[ -e "${base_defconfig}" ]]; then
-		cp "${base_defconfig}" "${defconfig}"
-	else
-		ewarn "${base_defconfig} does not exist!"
-		touch "${defconfig}"
-	fi
-
-	chmod +w "${defconfig}"
-
-	if use mocktpm ; then
-		echo "CONFIG_MOCK_TPM=y" >> "${defconfig}"
-	fi
-	if use fwconsole ; then
-		echo "CONFIG_CLI=y" >> "${defconfig}"
-		echo "CONFIG_SYS_PROMPT=\"${board}: \"" >> "${defconfig}"
-	fi
-	if use detachable ; then
-		echo "CONFIG_DETACHABLE=y" >> "${defconfig}"
-	fi
-
-	if use physical_presence_power || use physical_presence_recovery ; then
-		echo "CONFIG_PHYSICAL_PRESENCE_KEYBOARD=n" >> "${defconfig}"
-	fi
-
-	dc_make defconfig "${builddir}" "${libpayload}" \
-		KBUILD_DEFCONFIG="${defconfig}" \
-		DOTCONFIG="${config}"
-
-	dc_make depthcharge "${builddir}" "${libpayload}" \
-		DOTCONFIG="${config}"
-	dc_make dev "${builddir}" "${libpayload}.gdb" \
-		DOTCONFIG="${config}"
-	dc_make netboot "${builddir}" "${libpayload}.gdb" \
-		DOTCONFIG="${config}"
-}
-
-# Copy the fwconfig from libpayload to a path
-# Args:
-#    $1: libpayload dir
-#    $2: depthcharge build directory
-_copy_fwconfig() {
-	local src="${1}/libpayload/include/static_fw_config.h"
-	local dest="${2}/static_fw_config.h"
-
-	if [[ -s "${src}" ]]; then
-		cp "${src}" "${dest}"
-		einfo "Copying ${src} into local tree"
-	else
-		ewarn "${src} does not exist"
-	fi
-}
-
-src_compile() {
-	local builddir
-	local libpayload
-
-	# Firmware related binaries are compiled with a 32-bit toolchain
-	# on 64-bit platforms
-	if use amd64 ; then
-		export CROSS_COMPILE="i686-pc-linux-gnu-"
-		export CC="${CROSS_COMPILE}gcc"
-	else
-		export CROSS_COMPILE=${CHOST}-
-	fi
-
-	pushd depthcharge >/dev/null || \
-		die "Failed to change into ${PWD}/depthcharge"
-
-		local name
-		local depthcharge
-
-	while read -r name && read -r depthcharge; do
-		libpayload="${SYSROOT}/firmware/${name}/libpayload"
-		builddir="$(cros-workon_get_build_dir)/${depthcharge}"
-		mkdir -p "${builddir}"
-
-		_copy_fwconfig "${libpayload}" "${builddir}"
-		make_depthcharge "${depthcharge}" "${builddir}" "${libpayload}"
-	done < <(cros_config_host get-firmware-build-combinations depthcharge)
-
-	popd >/dev/null || die
-}
-
-do_install() {
-	local board="$1"
-	local builddir="$2"
-	local dstdir="/firmware"
-
-	if [[ -n "${build_target}" ]]; then
-		dstdir+="/${build_target}"
-		einfo "Installing depthcharge ${build_target} into ${dstdir}"
-	fi
-	insinto "${dstdir}"
-
-	pushd "${builddir}" >/dev/null || \
-		die "couldn't access ${builddir}/ directory"
-
-	local files_to_copy=(
-		depthcharge.config
-		{netboot,depthcharge,dev}.elf{,.map}
-	)
-
-	insinto "${dstdir}/depthcharge"
-	doins "${files_to_copy[@]}"
-
-	popd >/dev/null || die
-}
-
-src_install() {
-	local build_target
-	local builddir
-
-	for build_target in $(cros_config_host \
-			get-firmware-build-targets depthcharge); do
-		builddir="$(cros-workon_get_build_dir)/${build_target}"
-
-		do_install "${build_target}" "${builddir}"
-	done
-}
-
-make_unittests() {
-	local builddir="$1"
-
-	local OPTS=(
-		"EC_HEADERS=${SYSROOT}/usr/include/chromeos/ec"
-		"LP_SOURCE=${COREBOOT_DESTDIR}/payloads/libpayload"
-		"VB_SOURCE=${VBOOT_REFERENCE_DESTDIR}"
-		"obj=${builddir}"
-		"HOSTCC=$(tc-getBUILD_CC)"
-		"HOSTCXX=$(tc-getBUILD_CXX)"
-		"HOSTAR=$(tc-getBUILD_AR)"
-		"HOSTAS=$(tc-getBUILD_AS)"
-		"OBJCOPY=$(tc-getBUILD_OBJCOPY)"
-		"OBJDUMP=$(tc-getBUILD_OBJDUMP)"
-	)
-
-	use verbose && OPTS+=( "V=1" )
-	emake "${OPTS[@]}" "unit-tests"
-}
-
-src_test() {
-	local builddir="$(cros-workon_get_build_dir)/depthcharge.tests"
-
-	pushd depthcharge >/dev/null || \
-		die "Failed to change into ${PWD}/depthcharge"
-
-	mkdir -p "${builddir}"
-	make_unittests "${builddir}"
-}
diff --git a/sys-boot/depthcharge/depthcharge-0.0.1-r4126.ebuild b/sys-boot/depthcharge/depthcharge-0.0.1-r4126.ebuild
new file mode 100644
index 0000000..8c91d90
--- /dev/null
+++ b/sys-boot/depthcharge/depthcharge-0.0.1-r4126.ebuild
@@ -0,0 +1,287 @@
+# Copyright 2012 The Chromium OS Authors.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT=("932ff2b818e1cf97b11d6c84d177b9a2ca182751" "67f613b922e4ccff6019de318c154a377afbe822" "6af21b529465ab6795605d1a34b5a6a290fdcc75")
+CROS_WORKON_TREE=("a119ee3acc6836a17072020c4f13d2b21df3c62f" "13350f1d92d867a643e89ff2eac4e50ed31c18ab" "8fb4103801f65c68be4c49363e7bf1b4bbea09ad")
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform/depthcharge"
+	"chromiumos/platform/vboot_reference"
+	"chromiumos/third_party/coreboot"
+)
+
+DESCRIPTION="coreboot's depthcharge payload"
+HOMEPAGE="http://www.coreboot.org"
+LICENSE="GPL-2"
+KEYWORDS="*"
+IUSE="detachable fwconsole mocktpm pd_sync unibuild verbose debug
+	physical_presence_power physical_presence_recovery test"
+
+# No pre-unibuild boards build firmware on ToT anymore.  Assume
+# unibuild to keep ebuild clean.
+REQUIRED_USE="unibuild"
+
+DEPEND="
+	sys-boot/coreboot:=
+	chromeos-base/chromeos-ec-headers:=
+	sys-boot/libpayload:=
+	chromeos-base/chromeos-config:=
+"
+
+# While this package is never actually executed, we still need to specify
+# RDEPEND. A binary version of this package could exist that was built using an
+# outdated version of chromeos-config. Without the RDEPEND this stale binary
+# package is considered valid by the package manager. This is problematic
+# because we could have two binary packages installed having been build with
+# different versions of chromeos-config. By specifying the RDEPEND we force
+# the package manager to ensure the two versions use the same chromeos-config.
+RDEPEND="${DEPEND}"
+
+BDEPEND="
+	dev-python/kconfiglib
+	!test? (
+		dev-util/cmake
+		dev-util/cmocka
+	)
+"
+
+CROS_WORKON_LOCALNAME=(
+	"../platform/depthcharge"
+	"../platform/vboot_reference"
+	"../third_party/coreboot"
+)
+VBOOT_REFERENCE_DESTDIR="${S}/vboot_reference"
+COREBOOT_DESTDIR="${S}/coreboot"
+CROS_WORKON_DESTDIR=(
+	"${S}/depthcharge"
+	"${VBOOT_REFERENCE_DESTDIR}"
+	"${COREBOOT_DESTDIR}"
+)
+
+CROS_WORKON_OPTIONAL_CHECKOUT=(
+	""
+	""
+	"use test"
+)
+
+# Disable binary checks for PIE and relative relocatons.
+# Don't strip to ease remote GDB use (cbfstool strips final binaries anyway).
+# This is only okay because this ebuild only installs files into
+# ${SYSROOT}/firmware, which is not copied to the final system image.
+RESTRICT="binchecks strip"
+
+# Disable warnings for executable stack.
+QA_EXECSTACK="*"
+
+inherit cros-workon cros-unibuild cros-sanitizers
+
+# Build depthcharge with common options.
+# Usage example: dc_make dev "${BUILD_DIR}" "${LIBPAYLOAD_DIR}"
+# Args:
+#   $1: Target to build
+#   $2: Build directory to use.
+#   $3: Directory where libpayload is located.
+#   $4+: Any other Makefile arguments.
+dc_make() {
+	local target="$1"
+	local builddir="$2"
+	local libpayload="$3"
+
+	shift 3
+
+	local OPTS=(
+		"EC_HEADERS=${SYSROOT}/usr/include/chromeos/ec"
+		"VB_SOURCE=${VBOOT_REFERENCE_DESTDIR}"
+		"PD_SYNC=$(usev pd_sync)"
+		"LIBPAYLOAD_DIR=${libpayload}/libpayload"
+		"obj=${builddir}"
+	)
+
+	use verbose && OPTS+=( "V=1" )
+	use debug && OPTS+=( "SOURCE_DEBUG=1" )
+
+	emake "${OPTS[@]}" \
+		"${target}" \
+		"$@"
+}
+
+# Build depthcharge for the current board.
+# Builds the various output files for depthcharge:
+#   depthcharge.elf   - normal image
+#   dev.elf           - developer image
+#   netboot.elf       - network image
+# In addition, .map files are produced for each, and a .config file which
+# holds the configuration that was used.
+# Args
+#   $1: board to build for.
+#   $2: build directory
+#   $3: libpayload dir
+#   $4: recovery input method
+make_depthcharge() {
+	local board="$1"
+	local builddir="$2"
+	local libpayload="$3"
+	local recovery_input="$4"
+	local base_defconfig="board/${board}/defconfig"
+	local defconfig="${T}/${board}-defconfig"
+	local config="${builddir}/depthcharge.config"
+
+	if [[ -e "${base_defconfig}" ]]; then
+		cp "${base_defconfig}" "${defconfig}"
+	else
+		ewarn "${base_defconfig} does not exist!"
+		touch "${defconfig}"
+	fi
+
+	chmod +w "${defconfig}"
+
+	if use mocktpm ; then
+		echo "CONFIG_MOCK_TPM=y" >> "${defconfig}"
+	fi
+	if use fwconsole ; then
+		echo "CONFIG_CLI=y" >> "${defconfig}"
+		echo "CONFIG_SYS_PROMPT=\"${board}: \"" >> "${defconfig}"
+	fi
+	if use detachable ; then
+		echo "CONFIG_DETACHABLE=y" >> "${defconfig}"
+	fi
+
+	if [[ -n "${recovery_input}" ]] ; then
+		einfo "Using cros_config_host to configure recovery"
+		if [[ "${recovery_input}" != "KEYBOARD" ]] ; then
+			echo "CONFIG_PHYSICAL_PRESENCE_KEYBOARD=n" >> "${defconfig}"
+		fi
+	else
+		# TODO(b/229906790) Remove this once USE flag support not longer needed
+		einfo "Recovery input method not found in config. Reverting to deprecated use flags"
+		if use physical_presence_power || use physical_presence_recovery ; then
+			echo "CONFIG_PHYSICAL_PRESENCE_KEYBOARD=n" >> "${defconfig}"
+		fi
+	fi
+
+	dc_make defconfig "${builddir}" "${libpayload}" \
+		KBUILD_DEFCONFIG="${defconfig}" \
+		DOTCONFIG="${config}"
+
+	dc_make depthcharge "${builddir}" "${libpayload}" \
+		DOTCONFIG="${config}"
+	dc_make dev "${builddir}" "${libpayload}.gdb" \
+		DOTCONFIG="${config}"
+	dc_make netboot "${builddir}" "${libpayload}.gdb" \
+		DOTCONFIG="${config}"
+}
+
+# Copy the fwconfig from libpayload to a path
+# Args:
+#    $1: libpayload dir
+#    $2: depthcharge build directory
+_copy_fwconfig() {
+	local src="${1}/libpayload/include/static_fw_config.h"
+	local dest="${2}/static_fw_config.h"
+
+	if [[ -s "${src}" ]]; then
+		cp "${src}" "${dest}"
+		einfo "Copying ${src} into local tree"
+	else
+		ewarn "${src} does not exist"
+	fi
+}
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
+src_compile() {
+	local builddir
+	local libpayload
+
+	pushd depthcharge >/dev/null || \
+		die "Failed to change into ${PWD}/depthcharge"
+
+		local name
+		local depthcharge
+
+	while read -r name && read -r depthcharge; do
+		libpayload="${SYSROOT}/firmware/${name}/libpayload"
+		builddir="$(cros-workon_get_build_dir)/${depthcharge}"
+		mkdir -p "${builddir}"
+
+		_copy_fwconfig "${libpayload}" "${builddir}"
+
+		recovery_input="$(cros_config_host get-firmware-recovery-input depthcharge "${depthcharge}")"
+
+		make_depthcharge "${depthcharge}" "${builddir}" "${libpayload}" "${recovery_input}"
+	done < <(cros_config_host get-firmware-build-combinations depthcharge)
+
+	popd >/dev/null || die
+}
+
+do_install() {
+	local board="$1"
+	local builddir="$2"
+	local dstdir="/firmware"
+
+	if [[ -n "${build_target}" ]]; then
+		dstdir+="/${build_target}"
+		einfo "Installing depthcharge ${build_target} into ${dstdir}"
+	fi
+	insinto "${dstdir}"
+
+	pushd "${builddir}" >/dev/null || \
+		die "couldn't access ${builddir}/ directory"
+
+	local files_to_copy=(
+		depthcharge.config
+		{netboot,depthcharge,dev}.elf{,.map}
+	)
+
+	insinto "${dstdir}/depthcharge"
+	doins "${files_to_copy[@]}"
+
+	popd >/dev/null || die
+}
+
+src_install() {
+	local build_target
+	local builddir
+
+	for build_target in $(cros_config_host \
+			get-firmware-build-targets depthcharge); do
+		builddir="$(cros-workon_get_build_dir)/${build_target}"
+
+		do_install "${build_target}" "${builddir}"
+	done
+}
+
+make_unittests() {
+	local builddir="$1"
+
+	local OPTS=(
+		"EC_HEADERS=${SYSROOT}/usr/include/chromeos/ec"
+		"CB_SOURCE=${COREBOOT_DESTDIR}"
+		"LP_SOURCE=${COREBOOT_DESTDIR}/payloads/libpayload"
+		"VB_SOURCE=${VBOOT_REFERENCE_DESTDIR}"
+		"obj=${builddir}"
+		"HOSTCC=$(tc-getBUILD_CC)"
+		"HOSTCXX=$(tc-getBUILD_CXX)"
+		"HOSTAR=$(tc-getBUILD_AR)"
+		"HOSTAS=$(tc-getBUILD_AS)"
+		"OBJCOPY=$(tc-getBUILD_OBJCOPY)"
+		"OBJDUMP=$(tc-getBUILD_OBJDUMP)"
+	)
+
+	use verbose && OPTS+=( "V=1" )
+	emake "${OPTS[@]}" "unit-tests"
+	emake "${OPTS[@]}" "test-screenshot"
+}
+
+src_test() {
+	local builddir="$(cros-workon_get_build_dir)/depthcharge.tests"
+
+	pushd depthcharge >/dev/null || \
+		die "Failed to change into ${PWD}/depthcharge"
+
+	mkdir -p "${builddir}"
+	make_unittests "${builddir}"
+}
diff --git a/sys-boot/depthcharge/depthcharge-9999.ebuild b/sys-boot/depthcharge/depthcharge-9999.ebuild
index 8e7f867..76f403a 100644
--- a/sys-boot/depthcharge/depthcharge-9999.ebuild
+++ b/sys-boot/depthcharge/depthcharge-9999.ebuild
@@ -62,10 +62,16 @@
 	"use test"
 )
 
-# Don't strip to ease remote GDB use (cbfstool strips final binaries anyway)
-RESTRICT='strip'
+# Disable binary checks for PIE and relative relocatons.
+# Don't strip to ease remote GDB use (cbfstool strips final binaries anyway).
+# This is only okay because this ebuild only installs files into
+# ${SYSROOT}/firmware, which is not copied to the final system image.
+RESTRICT="binchecks strip"
 
-inherit cros-workon cros-unibuild
+# Disable warnings for executable stack.
+QA_EXECSTACK="*"
+
+inherit cros-workon cros-unibuild cros-sanitizers
 
 # Build depthcharge with common options.
 # Usage example: dc_make dev "${BUILD_DIR}" "${LIBPAYLOAD_DIR}"
@@ -108,10 +114,12 @@
 #   $1: board to build for.
 #   $2: build directory
 #   $3: libpayload dir
+#   $4: recovery input method
 make_depthcharge() {
 	local board="$1"
 	local builddir="$2"
 	local libpayload="$3"
+	local recovery_input="$4"
 	local base_defconfig="board/${board}/defconfig"
 	local defconfig="${T}/${board}-defconfig"
 	local config="${builddir}/depthcharge.config"
@@ -136,8 +144,17 @@
 		echo "CONFIG_DETACHABLE=y" >> "${defconfig}"
 	fi
 
-	if use physical_presence_power || use physical_presence_recovery ; then
-		echo "CONFIG_PHYSICAL_PRESENCE_KEYBOARD=n" >> "${defconfig}"
+	if [[ -n "${recovery_input}" ]] ; then
+		einfo "Using cros_config_host to configure recovery"
+		if [[ "${recovery_input}" != "KEYBOARD" ]] ; then
+			echo "CONFIG_PHYSICAL_PRESENCE_KEYBOARD=n" >> "${defconfig}"
+		fi
+	else
+		# TODO(b/229906790) Remove this once USE flag support not longer needed
+		einfo "Recovery input method not found in config. Reverting to deprecated use flags"
+		if use physical_presence_power || use physical_presence_recovery ; then
+			echo "CONFIG_PHYSICAL_PRESENCE_KEYBOARD=n" >> "${defconfig}"
+		fi
 	fi
 
 	dc_make defconfig "${builddir}" "${libpayload}" \
@@ -168,19 +185,15 @@
 	fi
 }
 
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
 src_compile() {
 	local builddir
 	local libpayload
 
-	# Firmware related binaries are compiled with a 32-bit toolchain
-	# on 64-bit platforms
-	if use amd64 ; then
-		export CROSS_COMPILE="i686-pc-linux-gnu-"
-		export CC="${CROSS_COMPILE}gcc"
-	else
-		export CROSS_COMPILE=${CHOST}-
-	fi
-
 	pushd depthcharge >/dev/null || \
 		die "Failed to change into ${PWD}/depthcharge"
 
@@ -193,7 +206,10 @@
 		mkdir -p "${builddir}"
 
 		_copy_fwconfig "${libpayload}" "${builddir}"
-		make_depthcharge "${depthcharge}" "${builddir}" "${libpayload}"
+
+		recovery_input="$(cros_config_host get-firmware-recovery-input depthcharge "${depthcharge}")"
+
+		make_depthcharge "${depthcharge}" "${builddir}" "${libpayload}" "${recovery_input}"
 	done < <(cros_config_host get-firmware-build-combinations depthcharge)
 
 	popd >/dev/null || die
@@ -241,6 +257,7 @@
 
 	local OPTS=(
 		"EC_HEADERS=${SYSROOT}/usr/include/chromeos/ec"
+		"CB_SOURCE=${COREBOOT_DESTDIR}"
 		"LP_SOURCE=${COREBOOT_DESTDIR}/payloads/libpayload"
 		"VB_SOURCE=${VBOOT_REFERENCE_DESTDIR}"
 		"obj=${builddir}"
@@ -254,6 +271,7 @@
 
 	use verbose && OPTS+=( "V=1" )
 	emake "${OPTS[@]}" "unit-tests"
+	emake "${OPTS[@]}" "test-screenshot"
 }
 
 src_test() {
diff --git a/sys-boot/grub/OWNERS b/sys-boot/grub/OWNERS
index 344d518..02ff6f7 100644
--- a/sys-boot/grub/OWNERS
+++ b/sys-boot/grub/OWNERS
@@ -1 +1,5 @@
 eshimanovich@google.com
+jefferymiller@google.com
+nicholasbishop@google.com
+skend@google.com
+tbrandston@google.com
diff --git a/sys-boot/grub/files/configure-Remove-obsoleted-malign-jumps-loops-functions.patch b/sys-boot/grub/files/0004-configure-Remove-obsoleted-malign-jumps-loops-functions.patch
similarity index 100%
rename from sys-boot/grub/files/configure-Remove-obsoleted-malign-jumps-loops-functions.patch
rename to sys-boot/grub/files/0004-configure-Remove-obsoleted-malign-jumps-loops-functions.patch
diff --git a/sys-boot/grub/files/configure-Check-for-falign-jumps-1-beside-falign-loops-1.patch b/sys-boot/grub/files/0005-configure-Check-for-falign-jumps-1-beside-falign-loops-1.patch
similarity index 100%
rename from sys-boot/grub/files/configure-Check-for-falign-jumps-1-beside-falign-loops-1.patch
rename to sys-boot/grub/files/0005-configure-Check-for-falign-jumps-1-beside-falign-loops-1.patch
diff --git a/sys-boot/grub/files/0006-configure-replace-wl-r-d-fno-common.patch b/sys-boot/grub/files/0006-configure-replace-wl-r-d-fno-common.patch
new file mode 100644
index 0000000..3aee2af
--- /dev/null
+++ b/sys-boot/grub/files/0006-configure-replace-wl-r-d-fno-common.patch
@@ -0,0 +1,140 @@
+From b16257b51bc6b58b47b016d3f88f6bd1c6b39dcd Mon Sep 17 00:00:00 2001
+From: Fangrui Song <maskray@google.com>
+Date: Fri, 11 Feb 2022 10:13:23 -0800
+Subject: configure: Replace -Wl,-r,-d with -Wl,-r and add -fno-common
+
+In GNU ld and ld.lld, -d is used with -r to allocate space to COMMON symbols.
+This behavior is presumably to work around legacy projects which inspect
+relocatable output by themselves and do not handle COMMON symbols. The GRUB
+does not do this.
+
+See https://github.com/llvm/llvm-project/issues/53660
+-d is quite useless and ld.lld 15.0.0 will make -d no-op.
+
+COMMON symbols have special symbol resolution semantics which can cause surprise
+(see https://maskray.me/blog/2022-02-06-all-about-common-symbols). GCC<10 and
+Clang<11 defaulted to -fcommon. Just use -fno-common to avoid COMMON symbols.
+
+Signed-off-by: Fangrui Song <maskray@google.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ acinclude.m4                |  2 +-
+ conf/Makefile.common        |  2 +-
+ configure.ac                |  6 +++---
+ grub-core/Makefile.core.def | 20 ++++++++++----------
+ grub-core/genmod.sh.in      |  4 ++--
+ 5 files changed, 17 insertions(+), 17 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 6e14bb5..fa7840f 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -430,7 +430,7 @@ link_nopie_needed=no]
+ AC_MSG_CHECKING([whether linker needs disabling of PIE to work])
+ AC_LANG_CONFTEST([AC_LANG_SOURCE([[]])])
+ 
+-[if eval "$ac_compile -Wl,-r,-d -nostdlib -Werror -o conftest.o" 2> /dev/null; then]
++[if eval "$ac_compile -Wl,-r -nostdlib -Werror -o conftest.o" 2> /dev/null; then]
+   AC_MSG_RESULT([no])
+   [# Should we clear up other files as well, having called `AC_LANG_CONFTEST'?
+   rm -f conftest.o
+diff --git a/conf/Makefile.common b/conf/Makefile.common
+index b19b98e..b343a03 100644
+--- a/conf/Makefile.common
++++ b/conf/Makefile.common
+@@ -41,7 +41,7 @@ CCASFLAGS_KERNEL = $(CCASFLAGS_CPU) $(CCASFLAGS_PLATFORM)
+ STRIPFLAGS_KERNEL = -R .rel.dyn -R .reginfo -R .note -R .comment -R .drectve -R .note.gnu.gold-version -R .MIPS.abiflags -R .ARM.exidx
+ 
+ CFLAGS_MODULE = $(CFLAGS_PLATFORM) -ffreestanding
+-LDFLAGS_MODULE = $(LDFLAGS_PLATFORM) -nostdlib $(TARGET_LDFLAGS_OLDMAGIC) -Wl,-r,-d
++LDFLAGS_MODULE = $(LDFLAGS_PLATFORM) -nostdlib $(TARGET_LDFLAGS_OLDMAGIC) -Wl,-r
+ CPPFLAGS_MODULE = $(CPPFLAGS_CPU) $(CPPFLAGS_PLATFORM)
+ CCASFLAGS_MODULE = $(CCASFLAGS_CPU) $(CCASFLAGS_PLATFORM)
+ 
+diff --git a/configure.ac b/configure.ac
+index 5c01af0..d1eaafe 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -85,9 +85,9 @@ fi
+ 
+ # Enable support for "restrict" keyword and other
+ # features from gnu99 C language standard.
+-BUILD_CFLAGS="-std=gnu99 $BUILD_CFLAGS"
+-HOST_CFLAGS="-std=gnu99 $HOST_CFLAGS"
+-TARGET_CFLAGS="-std=gnu99 $TARGET_CFLAGS"
++BUILD_CFLAGS="-std=gnu99 -fno-common $BUILD_CFLAGS"
++HOST_CFLAGS="-std=gnu99 -fno-common $HOST_CFLAGS"
++TARGET_CFLAGS="-std=gnu99 -fno-common $TARGET_CFLAGS"
+ 
+ # Default HOST_CPPFLAGS
+ HOST_CPPFLAGS="$HOST_CPPFLAGS -Wall -W"
+diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
+index 8022e1c..ac00cc8 100644
+--- a/grub-core/Makefile.core.def
++++ b/grub-core/Makefile.core.def
+@@ -49,26 +49,26 @@ kernel = {
+ 
+   nostrip = emu;
+ 
+-  emu_ldflags              = '-Wl,-r,-d';
+-  i386_efi_ldflags         = '-Wl,-r,-d';
++  emu_ldflags              = '-Wl,-r';
++  i386_efi_ldflags         = '-Wl,-r';
+   i386_efi_stripflags      = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
+-  x86_64_efi_ldflags       = '-Wl,-r,-d';
++  x86_64_efi_ldflags       = '-Wl,-r';
+   x86_64_efi_stripflags    = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
+ 
+   ia64_efi_cflags = '-fno-builtin -fpic -minline-int-divide-max-throughput';
+-  ia64_efi_ldflags = '-Wl,-r,-d';
++  ia64_efi_ldflags = '-Wl,-r';
+   ia64_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
+ 
+-  arm_efi_ldflags          = '-Wl,-r,-d';
++  arm_efi_ldflags          = '-Wl,-r';
+   arm_efi_stripflags       = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
+ 
+-  arm64_efi_ldflags          = '-Wl,-r,-d';
++  arm64_efi_ldflags          = '-Wl,-r';
+   arm64_efi_stripflags       = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version -R .eh_frame';
+ 
+-  riscv32_efi_ldflags      = '-Wl,-r,-d';
++  riscv32_efi_ldflags      = '-Wl,-r';
+   riscv32_efi_stripflags   = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version -R .eh_frame';
+ 
+-  riscv64_efi_ldflags      = '-Wl,-r,-d';
++  riscv64_efi_ldflags      = '-Wl,-r';
+   riscv64_efi_stripflags   = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version -R .eh_frame';
+ 
+   i386_pc_ldflags          = '$(TARGET_IMG_LDFLAGS)';
+@@ -98,9 +98,9 @@ kernel = {
+   i386_qemu_cppflags     = '-DGRUB_BOOT_MACHINE_LINK_ADDR=$(GRUB_BOOT_MACHINE_LINK_ADDR)';
+   emu_cflags = '$(CFLAGS_GNULIB)';
+   emu_cppflags = '$(CPPFLAGS_GNULIB)';
+-  arm_uboot_ldflags       = '-Wl,-r,-d';
++  arm_uboot_ldflags       = '-Wl,-r';
+   arm_uboot_stripflags    = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
+-  arm_coreboot_ldflags       = '-Wl,-r,-d';
++  arm_coreboot_ldflags       = '-Wl,-r';
+   arm_coreboot_stripflags    = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
+ 
+   i386_pc_startup = kern/i386/pc/startup.S;
+diff --git a/grub-core/genmod.sh.in b/grub-core/genmod.sh.in
+index 1250589..e57c4d9 100644
+--- a/grub-core/genmod.sh.in
++++ b/grub-core/genmod.sh.in
+@@ -83,9 +83,9 @@ else
+     for dep in $deps; do echo "char moddep_$dep[] __attribute__ ((section(\"_moddeps, _moddeps\"))) = \"$dep\";" >>$t2; done
+ 
+     if test -n "$deps"; then
+-	@TARGET_CC@ @TARGET_LDFLAGS@ -ffreestanding -nostdlib -o $tmpfile2 $t1 $t2 $tmpfile -Wl,-r,-d
++	@TARGET_CC@ @TARGET_LDFLAGS@ -ffreestanding -nostdlib -o $tmpfile2 $t1 $t2 $tmpfile -Wl,-r
+     else
+-	@TARGET_CC@ @TARGET_LDFLAGS@ -ffreestanding -nostdlib -o $tmpfile2 $t1 $tmpfile -Wl,-r,-d
++	@TARGET_CC@ @TARGET_LDFLAGS@ -ffreestanding -nostdlib -o $tmpfile2 $t1 $tmpfile -Wl,-r
+     fi
+     rm -f $t1 $t2 $tmpfile
+     mv $tmpfile2 $tmpfile
+-- 
+cgit v1.1
+
diff --git a/sys-boot/grub/files/0007-net-Remove-trailing-whitespaces.patch b/sys-boot/grub/files/0007-net-Remove-trailing-whitespaces.patch
new file mode 100644
index 0000000..0ee99bd
--- /dev/null
+++ b/sys-boot/grub/files/0007-net-Remove-trailing-whitespaces.patch
@@ -0,0 +1,680 @@
+From e453a4a64392a41bc7b37f890aceb358112d1687 Mon Sep 17 00:00:00 2001
+From: Elyes Haouas <ehaouas@noos.fr>
+Date: Fri, 4 Mar 2022 07:42:06 +0100
+Subject: [PATCH] net: Remove trailing whitespaces
+
+Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/net/bootp.c                  |  4 +--
+ grub-core/net/dns.c                    | 10 +++---
+ grub-core/net/drivers/efi/efinet.c     |  2 +-
+ grub-core/net/drivers/emu/emunet.c     |  8 ++---
+ grub-core/net/drivers/i386/pc/pxe.c    |  4 +--
+ grub-core/net/drivers/ieee1275/ofnet.c |  2 +-
+ grub-core/net/drivers/uboot/ubootnet.c |  2 +-
+ grub-core/net/ethernet.c               |  2 +-
+ grub-core/net/http.c                   | 10 +++---
+ grub-core/net/icmp6.c                  | 12 ++++----
+ grub-core/net/ip.c                     | 14 ++++-----
+ grub-core/net/net.c                    | 42 +++++++++++++-------------
+ grub-core/net/tcp.c                    | 14 ++++-----
+ grub-core/net/tftp.c                   |  4 +--
+ grub-core/net/udp.c                    |  4 +--
+ 15 files changed, 67 insertions(+), 67 deletions(-)
+
+diff --git a/grub-core/net/bootp.c b/grub-core/net/bootp.c
+index 6fb562702..8dc14794d 100644
+--- a/grub-core/net/bootp.c
++++ b/grub-core/net/bootp.c
+@@ -416,7 +416,7 @@ grub_net_configure_by_dhcp_ack (const char *name,
+   opt = find_dhcp_option (bp, size, GRUB_NET_BOOTP_EXTENSIONS_PATH, &opt_len);
+   if (opt && opt_len)
+     grub_env_set_net_property (name, "extensionspath", (const char *) opt, opt_len);
+-  
++
+   opt = find_dhcp_option (bp, size, GRUB_NET_BOOTP_CLIENT_ID, &opt_len);
+   if (opt && opt_len)
+     grub_env_set_net_property (name, "clientid", (const char *) opt, opt_len);
+@@ -825,7 +825,7 @@ grub_cmd_bootp (struct grub_command *cmd __attribute__ ((unused)),
+ 	return grub_errno;
+       }
+     ifaces[j].address.type = GRUB_NET_NETWORK_LEVEL_PROTOCOL_DHCP_RECV;
+-    grub_memcpy (&ifaces[j].hwaddress, &card->default_address, 
++    grub_memcpy (&ifaces[j].hwaddress, &card->default_address,
+ 		 sizeof (ifaces[j].hwaddress));
+     ifaces[j].dhcp_tmo = ifaces[j].dhcp_tmo_left = 1;
+     j++;
+diff --git a/grub-core/net/dns.c b/grub-core/net/dns.c
+index 906ec7d67..27c5f4142 100644
+--- a/grub-core/net/dns.c
++++ b/grub-core/net/dns.c
+@@ -174,7 +174,7 @@ check_name_real (const grub_uint8_t *name_at, const grub_uint8_t *head,
+ 	}
+       if (readable_ptr && grub_memcmp (ptr + 1, readable_ptr, *ptr) != 0)
+ 	return 0;
+-      if (grub_memchr (ptr + 1, 0, *ptr) 
++      if (grub_memchr (ptr + 1, 0, *ptr)
+ 	  || grub_memchr (ptr + 1, '.', *ptr))
+ 	return 0;
+       if (readable_ptr)
+@@ -232,7 +232,7 @@ enum
+     DNS_CLASS_AAAA = 28
+   };
+ 
+-static grub_err_t 
++static grub_err_t
+ recv_hook (grub_net_udp_socket_t sock __attribute__ ((unused)),
+ 	   struct grub_net_buff *nb,
+ 	   void *data_)
+@@ -261,7 +261,7 @@ recv_hook (grub_net_udp_socket_t sock __attribute__ ((unused)),
+       grub_netbuff_free (nb);
+       return GRUB_ERR_NONE;
+     }
+-  
++
+   if (head->id != data->id)
+     {
+       grub_netbuff_free (nb);
+@@ -615,7 +615,7 @@ grub_net_dns_lookup (const char *name,
+   grub_netbuff_free (nb);
+   for (j = 0; j < send_servers; j++)
+     grub_net_udp_close (sockets[j]);
+-  
++
+   grub_free (sockets);
+ 
+   if (*data.naddresses)
+@@ -623,7 +623,7 @@ grub_net_dns_lookup (const char *name,
+   if (data.dns_err)
+     return grub_error (GRUB_ERR_NET_NO_DOMAIN,
+ 		       N_("no DNS record found"));
+-    
++
+   if (err)
+     {
+       grub_errno = err;
+diff --git a/grub-core/net/drivers/efi/efinet.c b/grub-core/net/drivers/efi/efinet.c
+index 381c138db..24aabdab6 100644
+--- a/grub-core/net/drivers/efi/efinet.c
++++ b/grub-core/net/drivers/efi/efinet.c
+@@ -406,7 +406,7 @@ GRUB_MOD_FINI(efinet)
+ {
+   struct grub_net_card *card, *next;
+ 
+-  FOR_NET_CARDS_SAFE (card, next) 
++  FOR_NET_CARDS_SAFE (card, next)
+     if (card->driver == &efidriver)
+       grub_net_card_unregister (card);
+ }
+diff --git a/grub-core/net/drivers/emu/emunet.c b/grub-core/net/drivers/emu/emunet.c
+index b19492086..5f311d40f 100644
+--- a/grub-core/net/drivers/emu/emunet.c
++++ b/grub-core/net/drivers/emu/emunet.c
+@@ -25,21 +25,21 @@
+ 
+ GRUB_MOD_LICENSE ("GPLv3+");
+ 
+-static grub_err_t 
++static grub_err_t
+ send_card_buffer (struct grub_net_card *dev __attribute__ ((unused)),
+ 		  struct grub_net_buff *pack);
+ 
+ static struct grub_net_buff *
+ get_card_packet (struct grub_net_card *dev __attribute__ ((unused)));
+ 
+-static struct grub_net_card_driver emudriver = 
++static struct grub_net_card_driver emudriver =
+   {
+     .name = "emu",
+     .send = send_card_buffer,
+     .recv = get_card_packet
+   };
+ 
+-static struct grub_net_card emucard = 
++static struct grub_net_card emucard =
+   {
+     .name = "emu0",
+     .driver = &emudriver,
+@@ -51,7 +51,7 @@ static struct grub_net_card emucard =
+     .flags = 0
+   };
+ 
+-static grub_err_t 
++static grub_err_t
+ send_card_buffer (struct grub_net_card *dev __attribute__ ((unused)),
+ 		  struct grub_net_buff *pack)
+ {
+diff --git a/grub-core/net/drivers/i386/pc/pxe.c b/grub-core/net/drivers/i386/pc/pxe.c
+index 3f4152d03..997010cf1 100644
+--- a/grub-core/net/drivers/i386/pc/pxe.c
++++ b/grub-core/net/drivers/i386/pc/pxe.c
+@@ -248,7 +248,7 @@ grub_pxe_recv (struct grub_net_card *dev __attribute__ ((unused)))
+   return buf;
+ }
+ 
+-static grub_err_t 
++static grub_err_t
+ grub_pxe_send (struct grub_net_card *dev __attribute__ ((unused)),
+ 	       struct grub_net_buff *pack)
+ {
+@@ -295,7 +295,7 @@ grub_pxe_open (struct grub_net_card *dev __attribute__ ((unused)))
+   if (ou->status)
+     return grub_error (GRUB_ERR_IO, "can't open UNDI");
+   return GRUB_ERR_NONE;
+-} 
++}
+ 
+ struct grub_net_card_driver grub_pxe_card_driver =
+ {
+diff --git a/grub-core/net/drivers/ieee1275/ofnet.c b/grub-core/net/drivers/ieee1275/ofnet.c
+index 8f0386602..8c8398948 100644
+--- a/grub-core/net/drivers/ieee1275/ofnet.c
++++ b/grub-core/net/drivers/ieee1275/ofnet.c
+@@ -546,7 +546,7 @@ GRUB_MOD_FINI(ofnet)
+ {
+   struct grub_net_card *card, *next;
+ 
+-  FOR_NET_CARDS_SAFE (card, next) 
++  FOR_NET_CARDS_SAFE (card, next)
+     if (card->driver && grub_strcmp (card->driver->name, "ofnet") == 0)
+       grub_net_card_unregister (card);
+   grub_ieee1275_net_config = 0;
+diff --git a/grub-core/net/drivers/uboot/ubootnet.c b/grub-core/net/drivers/uboot/ubootnet.c
+index 056052e40..b9d5a0cd4 100644
+--- a/grub-core/net/drivers/uboot/ubootnet.c
++++ b/grub-core/net/drivers/uboot/ubootnet.c
+@@ -155,7 +155,7 @@ GRUB_MOD_FINI (ubootnet)
+ {
+   struct grub_net_card *card, *next;
+ 
+-  FOR_NET_CARDS_SAFE (card, next) 
++  FOR_NET_CARDS_SAFE (card, next)
+     if (card->driver && grub_strcmp (card->driver->name, "ubnet") == 0)
+       grub_net_card_unregister (card);
+ }
+diff --git a/grub-core/net/ethernet.c b/grub-core/net/ethernet.c
+index a9906338c..707bbb12c 100644
+--- a/grub-core/net/ethernet.c
++++ b/grub-core/net/ethernet.c
+@@ -45,7 +45,7 @@ struct llchdr
+ 
+ struct snaphdr
+ {
+-  grub_uint8_t oui[3]; 
++  grub_uint8_t oui[3];
+   grub_uint16_t type;
+ } GRUB_PACKED;
+ 
+diff --git a/grub-core/net/http.c b/grub-core/net/http.c
+index 69e533b7e..8d6c62c76 100644
+--- a/grub-core/net/http.c
++++ b/grub-core/net/http.c
+@@ -145,7 +145,7 @@ parse_line (grub_file_t file, http_data_t data, char *ptr, grub_size_t len)
+       return GRUB_ERR_NONE;
+     }
+ 
+-  return GRUB_ERR_NONE;  
++  return GRUB_ERR_NONE;
+ }
+ 
+ static void
+@@ -205,7 +205,7 @@ http_receive (grub_net_tcp_socket_t sock __attribute__ ((unused)),
+ 	      grub_net_tcp_close (data->sock, GRUB_NET_TCP_ABORT);
+ 	      return grub_errno;
+ 	    }
+-	      
++
+ 	  data->current_line = t;
+ 	  grub_memcpy (data->current_line + data->current_line_len,
+ 		       nb->data, ptr - (char *) nb->data);
+@@ -261,7 +261,7 @@ http_receive (grub_net_tcp_socket_t sock __attribute__ ((unused)),
+ 	{
+ 	  grub_netbuff_free (nb);
+ 	  return GRUB_ERR_NONE;
+-	} 
++	}
+       err = grub_netbuff_pull (nb, ptr - (char *) nb->data);
+       if (err)
+ 	{
+@@ -370,7 +370,7 @@ http_establish (struct grub_file *file, grub_off_t offset, int initial)
+ 	       grub_strlen (file->device->net->server));
+ 
+   ptr = nb->tail;
+-  err = grub_netbuff_put (nb, 
++  err = grub_netbuff_put (nb,
+ 			  sizeof ("\r\nUser-Agent: " PACKAGE_STRING "\r\n")
+ 			  - 1);
+   if (err)
+@@ -578,7 +578,7 @@ http_packets_pulled (struct grub_file *file)
+   return 0;
+ }
+ 
+-static struct grub_net_app_protocol grub_http_protocol = 
++static struct grub_net_app_protocol grub_http_protocol =
+   {
+     .name = "http",
+     .open = http_open,
+diff --git a/grub-core/net/icmp6.c b/grub-core/net/icmp6.c
+index 2cbd95dce..986d57b01 100644
+--- a/grub-core/net/icmp6.c
++++ b/grub-core/net/icmp6.c
+@@ -225,7 +225,7 @@ grub_net_recv_icmp6_packet (struct grub_net_buff *nb,
+ 	    if (ohdr->len == 0 || ptr + 8 * ohdr->len > nb->tail)
+ 	      {
+ 		grub_netbuff_free (nb);
+-		return GRUB_ERR_NONE; 
++		return GRUB_ERR_NONE;
+ 	      }
+ 	    if (ohdr->type == OPTION_SOURCE_LINK_LAYER_ADDRESS
+ 		&& ohdr->len == 1)
+@@ -329,7 +329,7 @@ grub_net_recv_icmp6_packet (struct grub_net_buff *nb,
+ 	    if (ohdr->len == 0 || ptr + 8 * ohdr->len > nb->tail)
+ 	      {
+ 		grub_netbuff_free (nb);
+-		return GRUB_ERR_NONE; 
++		return GRUB_ERR_NONE;
+ 	      }
+ 	    if (ohdr->type == OPTION_TARGET_LINK_LAYER_ADDRESS
+ 		&& ohdr->len == 1)
+@@ -378,7 +378,7 @@ grub_net_recv_icmp6_packet (struct grub_net_buff *nb,
+ 	    if (ohdr->len == 0 || ptr + 8 * ohdr->len > nb->tail)
+ 	      {
+ 		grub_netbuff_free (nb);
+-		return GRUB_ERR_NONE; 
++		return GRUB_ERR_NONE;
+ 	      }
+ 	    if (ohdr->type == OPTION_SOURCE_LINK_LAYER_ADDRESS
+ 		&& ohdr->len == 1)
+@@ -448,7 +448,7 @@ grub_net_recv_icmp6_packet (struct grub_net_buff *nb,
+ 			  grub_errno = GRUB_ERR_NONE;
+ 			  continue;
+ 			}
+-		      inf = grub_net_add_addr (name, 
++		      inf = grub_net_add_addr (name,
+ 					       card, &addr,
+ 					       &slaac->address, 0);
+ 		      if (!route_inf)
+@@ -523,7 +523,7 @@ grub_net_icmp6_send_request (struct grub_net_network_level_interface *inf,
+   multicast.ipv6[1] = (grub_be_to_cpu64_compile_time (0x01ff000000ULL)
+ 		       | (proto_addr->ipv6[1]
+ 			  & grub_be_to_cpu64_compile_time (0xffffff)));
+-  
++
+   err = grub_net_link_layer_resolve (inf, &multicast, &ll_multicast);
+   if (err)
+     return err;
+@@ -555,7 +555,7 @@ grub_net_icmp6_send_request (struct grub_net_network_level_interface *inf,
+   ohdr = (struct option_header *) nb->data;
+   ohdr->type = OPTION_SOURCE_LINK_LAYER_ADDRESS;
+   ohdr->len = 1;
+-  err = grub_netbuff_push (nb, sizeof (*sol));  
++  err = grub_netbuff_push (nb, sizeof (*sol));
+   if (err)
+     goto fail;
+ 
+diff --git a/grub-core/net/ip.c b/grub-core/net/ip.c
+index ea5edf8f1..e3d62e97f 100644
+--- a/grub-core/net/ip.c
++++ b/grub-core/net/ip.c
+@@ -157,7 +157,7 @@ send_fragmented (struct grub_net_network_level_interface * inf,
+       iph->service = 0;
+       iph->len = grub_cpu_to_be16 (len + sizeof (struct iphdr));
+       iph->ident = grub_cpu_to_be16 (id);
+-      iph->frags = grub_cpu_to_be16 (off | (((grub_ssize_t) len 
++      iph->frags = grub_cpu_to_be16 (off | (((grub_ssize_t) len
+ 					     == nb->tail - nb->data)
+ 					    ? 0 : MORE_FRAGMENTS));
+       iph->ttl = 0xff;
+@@ -254,7 +254,7 @@ handle_dgram (struct grub_net_buff *nb,
+ 	    if (expected != chk)
+ 	      {
+ 		grub_dprintf ("net", "Invalid UDP checksum. "
+-			      "Expected %x, got %x\n", 
++			      "Expected %x, got %x\n",
+ 			      grub_be_to_cpu16 (expected),
+ 			      grub_be_to_cpu16 (chk));
+ 		grub_netbuff_free (nb);
+@@ -271,7 +271,7 @@ handle_dgram (struct grub_net_buff *nb,
+ 	  }
+ 
+ 	bootp = (const struct grub_net_bootp_packet *) nb->data;
+-	
++
+ 	FOR_NET_NETWORK_LEVEL_INTERFACES (inf)
+ 	  if (inf->card == card
+ 	      && inf->address.type == GRUB_NET_NETWORK_LEVEL_PROTOCOL_DHCP_RECV
+@@ -314,7 +314,7 @@ handle_dgram (struct grub_net_buff *nb,
+ 	&& hwaddress->type == GRUB_NET_LINK_LEVEL_PROTOCOL_ETHERNET
+ 	&& hwaddress->mac[0] == 0x33 && hwaddress->mac[1] == 0x33
+ 	&& hwaddress->mac[2] == 0xff
+-	&& hwaddress->mac[3] == ((grub_be_to_cpu64 (inf->address.ipv6[1]) 
++	&& hwaddress->mac[3] == ((grub_be_to_cpu64 (inf->address.ipv6[1])
+ 				  >> 16) & 0xff)
+ 	&& hwaddress->mac[4] == ((grub_be_to_cpu64 (inf->address.ipv6[1])
+ 				  >> 8) & 0xff)
+@@ -325,7 +325,7 @@ handle_dgram (struct grub_net_buff *nb,
+ 	break;
+       }
+   }
+- 
++
+   if (!inf && !(dest->type == GRUB_NET_NETWORK_LEVEL_PROTOCOL_IPV6
+ 		&& dest->ipv6[0] == grub_be_to_cpu64_compile_time (0xff02ULL
+ 								   << 48)
+@@ -439,7 +439,7 @@ grub_net_recv_ip4_packets (struct grub_net_buff *nb,
+       }
+     if (actual_size < expected_size)
+       {
+-	grub_dprintf ("net", "Cut IP packet actual: %" PRIuGRUB_SIZE 
++	grub_dprintf ("net", "Cut IP packet actual: %" PRIuGRUB_SIZE
+ 		      ", expected %" PRIuGRUB_SIZE "\n", actual_size,
+ 		      expected_size);
+ 	grub_netbuff_free (nb);
+@@ -701,7 +701,7 @@ grub_net_recv_ip6_packets (struct grub_net_buff *nb,
+       }
+     if (actual_size < expected_size)
+       {
+-	grub_dprintf ("net", "Cut IP packet actual: %" PRIuGRUB_SIZE 
++	grub_dprintf ("net", "Cut IP packet actual: %" PRIuGRUB_SIZE
+ 		      ", expected %" PRIuGRUB_SIZE "\n", actual_size,
+ 		      expected_size);
+ 	grub_netbuff_free (nb);
+diff --git a/grub-core/net/net.c b/grub-core/net/net.c
+index 4d3eb5c1a..1b0e34601 100644
+--- a/grub-core/net/net.c
++++ b/grub-core/net/net.c
+@@ -60,7 +60,7 @@ link_layer_find_entry (const grub_net_network_level_address_t *proto,
+     return NULL;
+   for (i = 0; i < LINK_LAYER_CACHE_SIZE; i++)
+     {
+-      if (card->link_layer_table[i].avail == 1 
++      if (card->link_layer_table[i].avail == 1
+ 	  && grub_net_addr_cmp (&card->link_layer_table[i].nl_address,
+ 				proto) == 0)
+ 	return &card->link_layer_table[i];
+@@ -180,7 +180,7 @@ grub_net_link_layer_resolve (struct grub_net_network_level_interface *inf,
+       *hw_addr = entry->ll_address;
+       return GRUB_ERR_NONE;
+     }
+-  return grub_error (GRUB_ERR_TIMEOUT, 
++  return grub_error (GRUB_ERR_TIMEOUT,
+ 		     N_("timeout: could not resolve hardware address"));
+ }
+ 
+@@ -237,7 +237,7 @@ static void
+ grub_net_network_level_interface_register (struct grub_net_network_level_interface *inter);
+ 
+ static struct grub_net_network_level_interface *
+-grub_net_add_addr_real (char *name, 
++grub_net_add_addr_real (char *name,
+ 			struct grub_net_card *card,
+ 			const grub_net_network_level_address_t *addr,
+ 			const grub_net_link_level_address_t *hwaddress,
+@@ -263,7 +263,7 @@ grub_net_add_addr_real (char *name,
+ }
+ 
+ struct grub_net_network_level_interface *
+-grub_net_add_addr (const char *name, 
++grub_net_add_addr (const char *name,
+ 		   struct grub_net_card *card,
+ 		   const grub_net_network_level_address_t *addr,
+ 		   const grub_net_link_level_address_t *hwaddress,
+@@ -271,7 +271,7 @@ grub_net_add_addr (const char *name,
+ {
+   char *name_dup = grub_strdup (name);
+   struct grub_net_network_level_interface *ret;
+- 
++
+   if (!name_dup)
+     return NULL;
+   ret = grub_net_add_addr_real (name_dup, card, addr, hwaddress, flags);
+@@ -513,7 +513,7 @@ match_net (const grub_net_network_level_netaddress_t *net,
+ 	    mask[0] = 0xffffffffffffffffULL << (64 - net->ipv6.masksize);
+ 	    mask[1] = 0;
+ 	  }
+-	else 
++	else
+ 	  {
+ 	    mask[0] = 0xffffffffffffffffULL;
+ 	    mask[1] = 0xffffffffffffffffULL << (128 - net->ipv6.masksize);
+@@ -712,7 +712,7 @@ grub_cmd_deladdr (struct grub_command *cmd __attribute__ ((unused)),
+   grub_free (inter->name);
+   grub_free (inter);
+ 
+-  return GRUB_ERR_NONE;  
++  return GRUB_ERR_NONE;
+ }
+ 
+ void
+@@ -733,14 +733,14 @@ grub_net_addr_to_str (const grub_net_network_level_address_t *target, char *buf)
+ 	  {
+ 	    grub_snprintf (ptr, 6, "%" PRIxGRUB_UINT64_T ":",
+ 			   (n >> (48 - 16 * i)) & 0xffff);
+-	    ptr += grub_strlen (ptr); 
++	    ptr += grub_strlen (ptr);
+ 	  }
+ 	n  = grub_be_to_cpu64 (target->ipv6[1]);
+ 	for (i = 0; i < 3; i++)
+ 	  {
+ 	    grub_snprintf (ptr, 6, "%" PRIxGRUB_UINT64_T ":",
+ 			   (n >> (48 - 16 * i)) & 0xffff);
+-	    ptr += grub_strlen (ptr); 
++	    ptr += grub_strlen (ptr);
+ 	  }
+ 	grub_snprintf (ptr, 5, "%" PRIxGRUB_UINT64_T, n & 0xffff);
+ 	return;
+@@ -928,7 +928,7 @@ grub_net_network_level_interface_register (struct grub_net_network_level_interfa
+       return;
+     for (ptr = name; *ptr; ptr++)
+       if (*ptr == ':')
+-	*ptr = '_';    
++	*ptr = '_';
+     grub_env_set (name, buf);
+     grub_register_variable_hook (name, 0, hwaddr_set_env);
+     grub_env_export (name);
+@@ -945,7 +945,7 @@ grub_net_network_level_interface_register (struct grub_net_network_level_interfa
+       return;
+     for (ptr = name; *ptr; ptr++)
+       if (*ptr == ':')
+-	*ptr = '_';    
++	*ptr = '_';
+     grub_env_set (name, buf);
+     grub_register_variable_hook (name, 0, addr_set_env);
+     grub_env_export (name);
+@@ -1020,12 +1020,12 @@ grub_cmd_addaddr (struct grub_command *cmd __attribute__ ((unused)),
+ 
+   if (argc != 3)
+     return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("three arguments expected"));
+-  
++
+   FOR_NET_CARDS (card)
+     if (grub_strcmp (card->name, args[1]) == 0)
+       break;
+   if (card == NULL)
+-    return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("card not found")); 
++    return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("card not found"));
+ 
+   err = grub_net_resolve_address (args[2], &addr);
+   if (err)
+@@ -1055,7 +1055,7 @@ grub_cmd_delroute (struct grub_command *cmd __attribute__ ((unused)),
+ 
+   if (argc != 1)
+     return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("one argument expected"));
+-  
++
+   for (prev = &grub_net_routes, route = *prev; route; prev = &((*prev)->next),
+ 	 route = *prev)
+     if (grub_strcmp (route->name, args[0]) == 0)
+@@ -1136,7 +1136,7 @@ grub_cmd_addroute (struct grub_command *cmd __attribute__ ((unused)),
+ 		       N_("three arguments expected"));
+ 
+   grub_net_resolve_net_address  (args[1], &target);
+-  
++
+   if (grub_strcmp (args[2], "gw") == 0 && argc >= 4)
+     {
+       grub_err_t err;
+@@ -1216,10 +1216,10 @@ grub_cmd_listroutes (struct grub_command *cmd __attribute__ ((unused)),
+     if (route->is_gateway)
+       {
+ 	grub_printf ("gw ");
+-	print_address (&route->gw);	
++	print_address (&route->gw);
+       }
+     else
+-      grub_printf ("%s", route->interface->name);      
++      grub_printf ("%s", route->interface->name);
+     grub_printf ("\n");
+   }
+   return GRUB_ERR_NONE;
+@@ -1302,7 +1302,7 @@ grub_net_open_real (const char *name)
+       grub_error (GRUB_ERR_NET_BAD_ADDRESS,
+ 		  N_("no server is specified"));
+       return NULL;
+-    }  
++    }
+ 
+   for (try = 0; try < 2; try++)
+     {
+@@ -1493,7 +1493,7 @@ receive_packets (struct grub_net_card *card, int *stop_condition)
+   while (received < 100)
+     {
+       /* Maybe should be better have a fixed number of packets for each card
+-	 and just mark them as used and not used.  */ 
++	 and just mark them as used and not used.  */
+       struct grub_net_buff *nb;
+ 
+       if (received > 10 && stop_condition && *stop_condition)
+@@ -1654,7 +1654,7 @@ have_ahead (struct grub_file *file)
+   return ret;
+ }
+ 
+-static grub_err_t 
++static grub_err_t
+ grub_net_seek_real (struct grub_file *file, grub_off_t offset)
+ {
+   if (offset == file->device->net->offset)
+@@ -1724,7 +1724,7 @@ static grub_err_t
+ grub_net_fini_hw (int noreturn __attribute__ ((unused)))
+ {
+   struct grub_net_card *card;
+-  FOR_NET_CARDS (card) 
++  FOR_NET_CARDS (card)
+     if (card->opened)
+       {
+ 	if (card->driver->close)
+diff --git a/grub-core/net/tcp.c b/grub-core/net/tcp.c
+index e8ad34b84..200460121 100644
+--- a/grub-core/net/tcp.c
++++ b/grub-core/net/tcp.c
+@@ -376,7 +376,7 @@ grub_net_tcp_retransmit (void)
+ 
+ 	if (unack->last_try > limit_time)
+ 	  continue;
+-	
++
+ 	if (unack->try_count > TCP_RETRANSMISSION_COUNT)
+ 	  {
+ 	    error (sock);
+@@ -581,7 +581,7 @@ grub_net_tcp_open (char *server,
+       grub_error (GRUB_ERR_BUG, "not an IP address");
+       return NULL;
+     }
+- 
++
+   err = grub_net_route_address (addr, &gateway, &inf);
+   if (err)
+     return NULL;
+@@ -592,7 +592,7 @@ grub_net_tcp_open (char *server,
+ 
+   socket = grub_zalloc (sizeof (*socket));
+   if (socket == NULL)
+-    return NULL; 
++    return NULL;
+ 
+   socket->out_port = out_port;
+   socket->inf = inf;
+@@ -657,7 +657,7 @@ grub_net_tcp_open (char *server,
+     {
+       int j;
+       nb->data = nbd;
+-      err = grub_net_send_ip_packet (socket->inf, &(socket->out_nla), 
++      err = grub_net_send_ip_packet (socket->inf, &(socket->out_nla),
+ 				     &(socket->ll_target_addr), nb,
+ 				     GRUB_NET_IP_TCP);
+       if (err)
+@@ -667,7 +667,7 @@ grub_net_tcp_open (char *server,
+ 	  grub_netbuff_free (nb);
+ 	  return NULL;
+ 	}
+-      for (j = 0; (j < TCP_SYN_RETRANSMISSION_TIMEOUT / 50 
++      for (j = 0; (j < TCP_SYN_RETRANSMISSION_TIMEOUT / 50
+ 		   && !socket->established); j++)
+ 	grub_net_poll_cards (50, &socket->established);
+       if (socket->established)
+@@ -956,7 +956,7 @@ grub_net_recv_tcp_packet (struct grub_net_buff *nb,
+       if (sock->fin_hook && just_closed)
+ 	sock->fin_hook (sock, sock->hook_data);
+     }
+-	
++
+     return GRUB_ERR_NONE;
+   }
+   if (grub_be_to_cpu16 (tcph->flags) & TCP_SYN)
+@@ -971,7 +971,7 @@ grub_net_recv_tcp_packet (struct grub_net_buff *nb,
+ 	sock = grub_zalloc (sizeof (*sock));
+ 	if (sock == NULL)
+ 	  return grub_errno;
+-	
++
+ 	sock->out_port = grub_be_to_cpu16 (tcph->src);
+ 	sock->in_port = grub_be_to_cpu16 (tcph->dst);
+ 	sock->inf = inf;
+diff --git a/grub-core/net/tftp.c b/grub-core/net/tftp.c
+index 7f44b30f5..ebbafe7a1 100644
+--- a/grub-core/net/tftp.c
++++ b/grub-core/net/tftp.c
+@@ -157,7 +157,7 @@ tftp_receive (grub_net_udp_socket_t sock __attribute__ ((unused)),
+     {
+     case TFTP_OACK:
+       data->block_size = TFTP_DEFAULTSIZE_PACKET;
+-      data->have_oack = 1; 
++      data->have_oack = 1;
+       for (ptr = nb->data + sizeof (tftph->opcode); ptr < nb->tail;)
+ 	{
+ 	  if (grub_memcmp (ptr, "tsize\0", sizeof ("tsize\0") - 1) == 0)
+@@ -460,7 +460,7 @@ tftp_packets_pulled (struct grub_file *file)
+   return ack (data, data->block);
+ }
+ 
+-static struct grub_net_app_protocol grub_tftp_protocol = 
++static struct grub_net_app_protocol grub_tftp_protocol =
+   {
+     .name = "tftp",
+     .open = tftp_open,
+diff --git a/grub-core/net/udp.c b/grub-core/net/udp.c
+index df7fb95e7..91e2a017a 100644
+--- a/grub-core/net/udp.c
++++ b/grub-core/net/udp.c
+@@ -79,7 +79,7 @@ grub_net_udp_open (grub_net_network_level_address_t addr,
+       grub_error (GRUB_ERR_BUG, "not an IP address");
+       return NULL;
+     }
+- 
++
+   err = grub_net_route_address (addr, &gateway, &inf);
+   if (err)
+     return NULL;
+@@ -90,7 +90,7 @@ grub_net_udp_open (grub_net_network_level_address_t addr,
+ 
+   socket = grub_zalloc (sizeof (*socket));
+   if (socket == NULL)
+-    return NULL; 
++    return NULL;
+ 
+   socket->out_port = out_port;
+   socket->inf = inf;
+-- 
+2.36.1.476.g0c4daa206d-goog
+
diff --git a/sys-boot/grub/files/0008-loader-efi-chainloader-Simplify-the-loader-state.patch b/sys-boot/grub/files/0008-loader-efi-chainloader-Simplify-the-loader-state.patch
new file mode 100644
index 0000000..d98b99e
--- /dev/null
+++ b/sys-boot/grub/files/0008-loader-efi-chainloader-Simplify-the-loader-state.patch
@@ -0,0 +1,122 @@
+From 1469983ebb9674753ad333d37087fb8cb20e1dce Mon Sep 17 00:00:00 2001
+From: Chris Coulson <chris.coulson@canonical.com>
+Date: Tue, 5 Apr 2022 10:02:04 +0100
+Subject: [PATCH 08/37] loader/efi/chainloader: Simplify the loader state
+
+The chainloader command retains the source buffer and device path passed
+to LoadImage(), requiring the unload hook passed to grub_loader_set() to
+free them. It isn't required to retain this state though - they aren't
+required by StartImage() or anything else in the boot hook, so clean them
+up before grub_cmd_chainloader() finishes.
+
+Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/loader/efi/chainloader.c | 38 +++++++++++++++++-------------
+ 1 file changed, 21 insertions(+), 17 deletions(-)
+
+diff --git a/grub-core/loader/efi/chainloader.c b/grub-core/loader/efi/chainloader.c
+index 2bd80f4db..d1602c89b 100644
+--- a/grub-core/loader/efi/chainloader.c
++++ b/grub-core/loader/efi/chainloader.c
+@@ -44,25 +44,20 @@ GRUB_MOD_LICENSE ("GPLv3+");
+ 
+ static grub_dl_t my_mod;
+ 
+-static grub_efi_physical_address_t address;
+-static grub_efi_uintn_t pages;
+-static grub_efi_device_path_t *file_path;
+ static grub_efi_handle_t image_handle;
+-static grub_efi_char16_t *cmdline;
+ 
+ static grub_err_t
+ grub_chainloader_unload (void)
+ {
++  grub_efi_loaded_image_t *loaded_image;
+   grub_efi_boot_services_t *b;
+ 
++  loaded_image = grub_efi_get_loaded_image (image_handle);
++  if (loaded_image != NULL)
++    grub_free (loaded_image->load_options);
++
+   b = grub_efi_system_table->boot_services;
+   efi_call_1 (b->unload_image, image_handle);
+-  efi_call_2 (b->free_pages, address, pages);
+-
+-  grub_free (file_path);
+-  grub_free (cmdline);
+-  cmdline = 0;
+-  file_path = 0;
+ 
+   grub_dl_unref (my_mod);
+   return GRUB_ERR_NONE;
+@@ -140,7 +135,7 @@ make_file_path (grub_efi_device_path_t *dp, const char *filename)
+   char *dir_start;
+   char *dir_end;
+   grub_size_t size;
+-  grub_efi_device_path_t *d;
++  grub_efi_device_path_t *d, *file_path;
+ 
+   dir_start = grub_strchr (filename, ')');
+   if (! dir_start)
+@@ -222,11 +217,14 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
+   grub_efi_status_t status;
+   grub_efi_boot_services_t *b;
+   grub_device_t dev = 0;
+-  grub_efi_device_path_t *dp = 0;
++  grub_efi_device_path_t *dp = NULL, *file_path = NULL;
+   grub_efi_loaded_image_t *loaded_image;
+   char *filename;
+   void *boot_image = 0;
+   grub_efi_handle_t dev_handle = 0;
++  grub_efi_physical_address_t address = 0;
++  grub_efi_uintn_t pages = 0;
++  grub_efi_char16_t *cmdline = NULL;
+ 
+   if (argc == 0)
+     return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected"));
+@@ -234,11 +232,6 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
+ 
+   grub_dl_ref (my_mod);
+ 
+-  /* Initialize some global variables.  */
+-  address = 0;
+-  image_handle = 0;
+-  file_path = 0;
+-
+   b = grub_efi_system_table->boot_services;
+ 
+   file = grub_file_open (filename, GRUB_FILE_TYPE_EFI_CHAINLOADED_IMAGE);
+@@ -408,6 +401,10 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
+   grub_file_close (file);
+   grub_device_close (dev);
+ 
++  /* We're finished with the source image buffer and file path now. */
++  efi_call_2 (b->free_pages, address, pages);
++  grub_free (file_path);
++
+   grub_loader_set (grub_chainloader_boot, grub_chainloader_unload, 0);
+   return 0;
+ 
+@@ -419,11 +416,18 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
+   if (file)
+     grub_file_close (file);
+ 
++  grub_free (cmdline);
+   grub_free (file_path);
+ 
+   if (address)
+     efi_call_2 (b->free_pages, address, pages);
+ 
++  if (image_handle != NULL)
++    {
++      efi_call_1 (b->unload_image, image_handle);
++      image_handle = NULL;
++    }
++
+   grub_dl_unref (my_mod);
+ 
+   return grub_errno;
+-- 
+2.36.1.476.g0c4daa206d-goog
+
diff --git a/sys-boot/grub/files/0008-video-Remove-trailing-whitespaces.patch b/sys-boot/grub/files/0008-video-Remove-trailing-whitespaces.patch
new file mode 100644
index 0000000..c661d92
--- /dev/null
+++ b/sys-boot/grub/files/0008-video-Remove-trailing-whitespaces.patch
@@ -0,0 +1,686 @@
+From 1f48917d8ddb490dcdc70176e0f58136b7f7811a Mon Sep 17 00:00:00 2001
+From: Elyes Haouas <ehaouas@noos.fr>
+Date: Fri, 4 Mar 2022 07:42:13 +0100
+Subject: [PATCH] video: Remove trailing whitespaces
+
+Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/video/bochs.c             |  2 +-
+ grub-core/video/capture.c           |  2 +-
+ grub-core/video/cirrus.c            |  4 ++--
+ grub-core/video/coreboot/cbfb.c     |  2 +-
+ grub-core/video/efi_gop.c           | 22 +++++++++----------
+ grub-core/video/fb/fbblit.c         |  8 +++----
+ grub-core/video/fb/video_fb.c       | 10 ++++-----
+ grub-core/video/i386/pc/vbe.c       | 34 ++++++++++++++---------------
+ grub-core/video/i386/pc/vga.c       |  6 ++---
+ grub-core/video/ieee1275.c          |  4 ++--
+ grub-core/video/radeon_fuloong2e.c  |  6 ++---
+ grub-core/video/radeon_yeeloong3a.c |  6 ++---
+ grub-core/video/readers/png.c       |  2 +-
+ grub-core/video/readers/tga.c       |  2 +-
+ grub-core/video/sis315_init.c       |  2 +-
+ grub-core/video/sis315pro.c         |  8 +++----
+ grub-core/video/sm712.c             | 10 ++++-----
+ grub-core/video/video.c             |  8 +++----
+ 18 files changed, 69 insertions(+), 69 deletions(-)
+
+diff --git a/grub-core/video/bochs.c b/grub-core/video/bochs.c
+index 30ea1bd82..edc651697 100644
+--- a/grub-core/video/bochs.c
++++ b/grub-core/video/bochs.c
+@@ -212,7 +212,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data)
+ 
+   if (((class >> 16) & 0xffff) != 0x0300 || pciid != 0x11111234)
+     return 0;
+-  
++
+   addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0);
+   framebuffer.base = grub_pci_read (addr) & GRUB_PCI_ADDR_MEM_MASK;
+   if (!framebuffer.base)
+diff --git a/grub-core/video/capture.c b/grub-core/video/capture.c
+index 4d3195e01..c653d89f9 100644
+--- a/grub-core/video/capture.c
++++ b/grub-core/video/capture.c
+@@ -92,7 +92,7 @@ grub_video_capture_start (const struct grub_video_mode_info *mode_info,
+   framebuffer.ptr = grub_calloc (framebuffer.mode_info.height, framebuffer.mode_info.pitch);
+   if (!framebuffer.ptr)
+     return grub_errno;
+-  
++
+   err = grub_video_fb_create_render_target_from_pointer (&framebuffer.render_target,
+ 							 &framebuffer.mode_info,
+ 							 framebuffer.ptr);
+diff --git a/grub-core/video/cirrus.c b/grub-core/video/cirrus.c
+index e2149e8ce..f5542ccdc 100644
+--- a/grub-core/video/cirrus.c
++++ b/grub-core/video/cirrus.c
+@@ -354,11 +354,11 @@ grub_video_cirrus_setup (unsigned int width, unsigned int height,
+     grub_uint8_t sr_ext = 0, hidden_dac = 0;
+ 
+     grub_vga_set_geometry (&config, grub_vga_cr_write);
+-    
++
+     grub_vga_gr_write (GRUB_VGA_GR_MODE_256_COLOR | GRUB_VGA_GR_MODE_READ_MODE1,
+ 		       GRUB_VGA_GR_MODE);
+     grub_vga_gr_write (GRUB_VGA_GR_GR6_GRAPHICS_MODE, GRUB_VGA_GR_GR6);
+-    
++
+     grub_vga_sr_write (GRUB_VGA_SR_MEMORY_MODE_NORMAL, GRUB_VGA_SR_MEMORY_MODE);
+ 
+     grub_vga_cr_write ((config.pitch >> CIRRUS_CR_EXTENDED_DISPLAY_PITCH_SHIFT)
+diff --git a/grub-core/video/coreboot/cbfb.c b/grub-core/video/coreboot/cbfb.c
+index 9af81fa5b..986003c51 100644
+--- a/grub-core/video/coreboot/cbfb.c
++++ b/grub-core/video/coreboot/cbfb.c
+@@ -106,7 +106,7 @@ grub_video_cbfb_setup (unsigned int width, unsigned int height,
+ 
+   grub_video_fb_set_palette (0, GRUB_VIDEO_FBSTD_NUMCOLORS,
+ 			     grub_video_fbstd_colors);
+-    
++
+   return err;
+ }
+ 
+diff --git a/grub-core/video/efi_gop.c b/grub-core/video/efi_gop.c
+index b7590dc6c..7a5054631 100644
+--- a/grub-core/video/efi_gop.c
++++ b/grub-core/video/efi_gop.c
+@@ -273,7 +273,7 @@ grub_video_gop_iterate (int (*hook) (const struct grub_video_mode_info *info, vo
+       grub_efi_status_t status;
+       struct grub_efi_gop_mode_info *info = NULL;
+       struct grub_video_mode_info mode_info;
+-	 
++
+       status = efi_call_4 (gop->query_mode, gop, mode, &size, &info);
+ 
+       if (status)
+@@ -390,7 +390,7 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
+ 	  found = 1;
+ 	}
+     }
+- 
++
+   if (!found)
+     {
+       unsigned mode;
+@@ -399,7 +399,7 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
+ 	{
+ 	  grub_efi_uintn_t size;
+ 	  grub_efi_status_t status;
+-	 
++
+ 	  status = efi_call_4 (gop->query_mode, gop, mode, &size, &info);
+ 	  if (status)
+ 	    {
+@@ -472,11 +472,11 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
+   framebuffer.ptr = (void *) (grub_addr_t) gop->mode->fb_base;
+   framebuffer.offscreen
+     = grub_malloc (framebuffer.mode_info.height
+-		   * framebuffer.mode_info.width 
++		   * framebuffer.mode_info.width
+ 		   * sizeof (struct grub_efi_gop_blt_pixel));
+ 
+   buffer = framebuffer.offscreen;
+-      
++
+   if (!buffer)
+     {
+       grub_dprintf ("video", "GOP: couldn't allocate shadow\n");
+@@ -485,11 +485,11 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
+ 				     &framebuffer.mode_info);
+       buffer = framebuffer.ptr;
+     }
+-    
++
+   grub_dprintf ("video", "GOP: initialising FB @ %p %dx%dx%d\n",
+ 		framebuffer.ptr, framebuffer.mode_info.width,
+ 		framebuffer.mode_info.height, framebuffer.mode_info.bpp);
+- 
++
+   err = grub_video_fb_create_render_target_from_pointer
+     (&framebuffer.render_target, &framebuffer.mode_info, buffer);
+ 
+@@ -498,15 +498,15 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
+       grub_dprintf ("video", "GOP: Couldn't create FB target\n");
+       return err;
+     }
+- 
++
+   err = grub_video_fb_set_active_render_target (framebuffer.render_target);
+- 
++
+   if (err)
+     {
+       grub_dprintf ("video", "GOP: Couldn't set FB target\n");
+       return err;
+     }
+- 
++
+   err = grub_video_fb_set_palette (0, GRUB_VIDEO_FBSTD_NUMCOLORS,
+ 				   grub_video_fbstd_colors);
+ 
+@@ -514,7 +514,7 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
+     grub_dprintf ("video", "GOP: Couldn't set palette\n");
+   else
+     grub_dprintf ("video", "GOP: Success\n");
+- 
++
+   return err;
+ }
+ 
+diff --git a/grub-core/video/fb/fbblit.c b/grub-core/video/fb/fbblit.c
+index d55924837..1010ef393 100644
+--- a/grub-core/video/fb/fbblit.c
++++ b/grub-core/video/fb/fbblit.c
+@@ -466,7 +466,7 @@ grub_video_fbblit_replace_24bit_indexa (struct grub_video_fbblit_info *dst,
+       for (i = 0; i < width; i++)
+         {
+ 	  register grub_uint32_t col;
+-	  if (*srcptr == 0xf0)	      
++	  if (*srcptr == 0xf0)
+ 	    col = palette[16];
+ 	  else
+ 	    col = palette[*srcptr & 0xf];
+@@ -478,7 +478,7 @@ grub_video_fbblit_replace_24bit_indexa (struct grub_video_fbblit_info *dst,
+ 	  *dstptr++ = col >> 0;
+ 	  *dstptr++ = col >> 8;
+ 	  *dstptr++ = col >> 16;
+-#endif	  
++#endif
+ 	  srcptr++;
+         }
+ 
+@@ -651,7 +651,7 @@ grub_video_fbblit_blend_24bit_indexa (struct grub_video_fbblit_info *dst,
+       for (i = 0; i < width; i++)
+         {
+ 	  register grub_uint32_t col;
+-	  if (*srcptr != 0xf0)	      
++	  if (*srcptr != 0xf0)
+ 	    {
+ 	      col = palette[*srcptr & 0xf];
+ #ifdef GRUB_CPU_WORDS_BIGENDIAN
+@@ -662,7 +662,7 @@ grub_video_fbblit_blend_24bit_indexa (struct grub_video_fbblit_info *dst,
+ 	      *dstptr++ = col >> 0;
+ 	      *dstptr++ = col >> 8;
+ 	      *dstptr++ = col >> 16;
+-#endif	  
++#endif
+ 	    }
+ 	  else
+ 	    dstptr += 3;
+diff --git a/grub-core/video/fb/video_fb.c b/grub-core/video/fb/video_fb.c
+index ae6b89f9a..fa4ebde26 100644
+--- a/grub-core/video/fb/video_fb.c
++++ b/grub-core/video/fb/video_fb.c
+@@ -754,7 +754,7 @@ grub_video_fb_unmap_color_int (struct grub_video_fbblit_info * source,
+           *alpha = 0;
+           return;
+         }
+-	
++
+       /* If we have an out-of-bounds color, return transparent black.  */
+       if (color > 255)
+         {
+@@ -1141,7 +1141,7 @@ grub_video_fb_scroll (grub_video_color_t color, int dx, int dy)
+       /* If everything is aligned on 32-bit use 32-bit copy.  */
+       if ((grub_addr_t) grub_video_fb_get_video_ptr (&target, src_x, src_y)
+ 	  % sizeof (grub_uint32_t) == 0
+-	  && (grub_addr_t) grub_video_fb_get_video_ptr (&target, dst_x, dst_y) 
++	  && (grub_addr_t) grub_video_fb_get_video_ptr (&target, dst_x, dst_y)
+ 	  % sizeof (grub_uint32_t) == 0
+ 	  && linelen % sizeof (grub_uint32_t) == 0
+ 	  && linedelta % sizeof (grub_uint32_t) == 0)
+@@ -1155,7 +1155,7 @@ grub_video_fb_scroll (grub_video_color_t color, int dx, int dy)
+       else if ((grub_addr_t) grub_video_fb_get_video_ptr (&target, src_x, src_y)
+ 	       % sizeof (grub_uint16_t) == 0
+ 	       && (grub_addr_t) grub_video_fb_get_video_ptr (&target,
+-							     dst_x, dst_y) 
++							     dst_x, dst_y)
+ 	       % sizeof (grub_uint16_t) == 0
+ 	       && linelen % sizeof (grub_uint16_t) == 0
+ 	       && linedelta % sizeof (grub_uint16_t) == 0)
+@@ -1170,7 +1170,7 @@ grub_video_fb_scroll (grub_video_color_t color, int dx, int dy)
+ 	{
+ 	  grub_uint8_t *src, *dst;
+ 	  DO_SCROLL
+-	}	
++	}
+     }
+ 
+   /* 4. Fill empty space with specified color.  In this implementation
+@@ -1615,7 +1615,7 @@ grub_video_fb_setup (unsigned int mode_type, unsigned int mode_mask,
+ 	  framebuffer.render_target = framebuffer.back_target;
+ 	  return GRUB_ERR_NONE;
+ 	}
+-      
++
+       mode_info->mode_type &= ~(GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED
+ 				| GRUB_VIDEO_MODE_TYPE_UPDATING_SWAP);
+ 
+diff --git a/grub-core/video/i386/pc/vbe.c b/grub-core/video/i386/pc/vbe.c
+index b7f911926..0e65b5206 100644
+--- a/grub-core/video/i386/pc/vbe.c
++++ b/grub-core/video/i386/pc/vbe.c
+@@ -219,7 +219,7 @@ grub_vbe_disable_mtrr (int mtrr)
+ }
+ 
+ /* Call VESA BIOS 0x4f09 to set palette data, return status.  */
+-static grub_vbe_status_t 
++static grub_vbe_status_t
+ grub_vbe_bios_set_palette_data (grub_uint32_t color_count,
+ 				grub_uint32_t start_index,
+ 				struct grub_vbe_palette_data *palette_data)
+@@ -237,7 +237,7 @@ grub_vbe_bios_set_palette_data (grub_uint32_t color_count,
+ }
+ 
+ /* Call VESA BIOS 0x4f00 to get VBE Controller Information, return status.  */
+-grub_vbe_status_t 
++grub_vbe_status_t
+ grub_vbe_bios_get_controller_info (struct grub_vbe_info_block *ci)
+ {
+   struct grub_bios_int_registers regs;
+@@ -251,7 +251,7 @@ grub_vbe_bios_get_controller_info (struct grub_vbe_info_block *ci)
+ }
+ 
+ /* Call VESA BIOS 0x4f01 to get VBE Mode Information, return status.  */
+-grub_vbe_status_t 
++grub_vbe_status_t
+ grub_vbe_bios_get_mode_info (grub_uint32_t mode,
+ 			     struct grub_vbe_mode_info_block *mode_info)
+ {
+@@ -285,7 +285,7 @@ grub_vbe_bios_set_mode (grub_uint32_t mode,
+ }
+ 
+ /* Call VESA BIOS 0x4f03 to return current VBE Mode, return status.  */
+-grub_vbe_status_t 
++grub_vbe_status_t
+ grub_vbe_bios_get_mode (grub_uint32_t *mode)
+ {
+   struct grub_bios_int_registers regs;
+@@ -298,7 +298,7 @@ grub_vbe_bios_get_mode (grub_uint32_t *mode)
+   return regs.eax & 0xffff;
+ }
+ 
+-grub_vbe_status_t 
++grub_vbe_status_t
+ grub_vbe_bios_getset_dac_palette_width (int set, int *dac_mask_size)
+ {
+   struct grub_bios_int_registers regs;
+@@ -346,7 +346,7 @@ grub_vbe_bios_get_memory_window (grub_uint32_t window,
+ }
+ 
+ /* Call VESA BIOS 0x4f06 to set scanline length (in bytes), return status.  */
+-grub_vbe_status_t 
++grub_vbe_status_t
+ grub_vbe_bios_set_scanline_length (grub_uint32_t length)
+ {
+   struct grub_bios_int_registers regs;
+@@ -354,14 +354,14 @@ grub_vbe_bios_set_scanline_length (grub_uint32_t length)
+   regs.ecx = length;
+   regs.eax = 0x4f06;
+   /* BL = 2, Set Scan Line in Bytes.  */
+-  regs.ebx = 0x0002;	
++  regs.ebx = 0x0002;
+   regs.flags = GRUB_CPU_INT_FLAGS_DEFAULT;
+   grub_bios_interrupt (0x10, &regs);
+   return regs.eax & 0xffff;
+ }
+ 
+ /* Call VESA BIOS 0x4f06 to return scanline length (in bytes), return status.  */
+-grub_vbe_status_t 
++grub_vbe_status_t
+ grub_vbe_bios_get_scanline_length (grub_uint32_t *length)
+ {
+   struct grub_bios_int_registers regs;
+@@ -377,7 +377,7 @@ grub_vbe_bios_get_scanline_length (grub_uint32_t *length)
+ }
+ 
+ /* Call VESA BIOS 0x4f07 to set display start, return status.  */
+-static grub_vbe_status_t 
++static grub_vbe_status_t
+ grub_vbe_bios_set_display_start (grub_uint32_t x, grub_uint32_t y)
+ {
+   struct grub_bios_int_registers regs;
+@@ -390,7 +390,7 @@ grub_vbe_bios_set_display_start (grub_uint32_t x, grub_uint32_t y)
+   regs.edx = y;
+   regs.eax = 0x4f07;
+   /* BL = 80h, Set Display Start during Vertical Retrace.  */
+-  regs.ebx = 0x0080;	
++  regs.ebx = 0x0080;
+   regs.flags = GRUB_CPU_INT_FLAGS_DEFAULT;
+   grub_bios_interrupt (0x10, &regs);
+ 
+@@ -401,7 +401,7 @@ grub_vbe_bios_set_display_start (grub_uint32_t x, grub_uint32_t y)
+ }
+ 
+ /* Call VESA BIOS 0x4f07 to get display start, return status.  */
+-grub_vbe_status_t 
++grub_vbe_status_t
+ grub_vbe_bios_get_display_start (grub_uint32_t *x,
+ 				 grub_uint32_t *y)
+ {
+@@ -419,7 +419,7 @@ grub_vbe_bios_get_display_start (grub_uint32_t *x,
+ }
+ 
+ /* Call VESA BIOS 0x4f0a.  */
+-grub_vbe_status_t 
++grub_vbe_status_t
+ grub_vbe_bios_get_pm_interface (grub_uint16_t *segment, grub_uint16_t *offset,
+ 				grub_uint16_t *length)
+ {
+@@ -896,7 +896,7 @@ vbe2videoinfo (grub_uint32_t mode,
+     case GRUB_VBE_MEMORY_MODEL_YUV:
+       mode_info->mode_type |= GRUB_VIDEO_MODE_TYPE_YUV;
+       break;
+-      
++
+     case GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR:
+       mode_info->mode_type |= GRUB_VIDEO_MODE_TYPE_RGB;
+       break;
+@@ -923,10 +923,10 @@ vbe2videoinfo (grub_uint32_t mode,
+       break;
+     case 8:
+       mode_info->bytes_per_pixel = 1;
+-      break;  
++      break;
+     case 4:
+       mode_info->bytes_per_pixel = 0;
+-      break;  
++      break;
+     }
+ 
+   if (controller_info.version >= 0x300)
+@@ -976,7 +976,7 @@ grub_video_vbe_iterate (int (*hook) (const struct grub_video_mode_info *info, vo
+ 
+ static grub_err_t
+ grub_video_vbe_setup (unsigned int width, unsigned int height,
+-                      grub_video_mode_type_t mode_type, 
++                      grub_video_mode_type_t mode_type,
+ 		      grub_video_mode_type_t mode_mask)
+ {
+   grub_uint16_t *p;
+@@ -1193,7 +1193,7 @@ grub_video_vbe_print_adapter_specific_info (void)
+ 		controller_info.version & 0xFF,
+ 		controller_info.oem_software_rev >> 8,
+ 		controller_info.oem_software_rev & 0xFF);
+-  
++
+   /* The total_memory field is in 64 KiB units.  */
+   grub_printf_ (N_("              total memory: %d KiB\n"),
+ 		(controller_info.total_memory << 6));
+diff --git a/grub-core/video/i386/pc/vga.c b/grub-core/video/i386/pc/vga.c
+index b2f776c99..50d0b5e02 100644
+--- a/grub-core/video/i386/pc/vga.c
++++ b/grub-core/video/i386/pc/vga.c
+@@ -48,7 +48,7 @@ static struct
+   int back_page;
+ } framebuffer;
+ 
+-static unsigned char 
++static unsigned char
+ grub_vga_set_mode (unsigned char mode)
+ {
+   struct grub_bios_int_registers regs;
+@@ -182,10 +182,10 @@ grub_video_vga_setup (unsigned int width, unsigned int height,
+ 
+   is_target = 1;
+   err = grub_video_fb_set_active_render_target (framebuffer.render_target);
+- 
++
+   if (err)
+     return err;
+- 
++
+   err = grub_video_fb_set_palette (0, GRUB_VIDEO_FBSTD_NUMCOLORS,
+ 				   grub_video_fbstd_colors);
+ 
+diff --git a/grub-core/video/ieee1275.c b/grub-core/video/ieee1275.c
+index f437fb0df..ca3d3c3b2 100644
+--- a/grub-core/video/ieee1275.c
++++ b/grub-core/video/ieee1275.c
+@@ -233,7 +233,7 @@ grub_video_ieee1275_setup (unsigned int width, unsigned int height,
+       /* TODO. */
+       return grub_error (GRUB_ERR_IO, "can't set mode %dx%d", width, height);
+     }
+-  
++
+   err = grub_video_ieee1275_fill_mode_info (dev, &framebuffer.mode_info);
+   if (err)
+     {
+@@ -260,7 +260,7 @@ grub_video_ieee1275_setup (unsigned int width, unsigned int height,
+ 
+   grub_video_ieee1275_set_palette (0, framebuffer.mode_info.number_of_colors,
+ 				   grub_video_fbstd_colors);
+-    
++
+   return err;
+ }
+ 
+diff --git a/grub-core/video/radeon_fuloong2e.c b/grub-core/video/radeon_fuloong2e.c
+index b4da34b5e..40917acb7 100644
+--- a/grub-core/video/radeon_fuloong2e.c
++++ b/grub-core/video/radeon_fuloong2e.c
+@@ -75,7 +75,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data)
+   if (((class >> 16) & 0xffff) != GRUB_PCI_CLASS_SUBCLASS_VGA
+       || pciid != 0x515a1002)
+     return 0;
+-  
++
+   *found = 1;
+ 
+   addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0);
+@@ -139,7 +139,7 @@ grub_video_radeon_fuloong2e_setup (unsigned int width, unsigned int height,
+   framebuffer.mapped = 1;
+ 
+   /* Prevent garbage from appearing on the screen.  */
+-  grub_memset (framebuffer.ptr, 0x55, 
++  grub_memset (framebuffer.ptr, 0x55,
+ 	       framebuffer.mode_info.height * framebuffer.mode_info.pitch);
+ 
+ #ifndef TEST
+@@ -152,7 +152,7 @@ grub_video_radeon_fuloong2e_setup (unsigned int width, unsigned int height,
+     return err;
+ 
+   err = grub_video_fb_set_active_render_target (framebuffer.render_target);
+-  
++
+   if (err)
+     return err;
+ 
+diff --git a/grub-core/video/radeon_yeeloong3a.c b/grub-core/video/radeon_yeeloong3a.c
+index 52614feb6..48631c181 100644
+--- a/grub-core/video/radeon_yeeloong3a.c
++++ b/grub-core/video/radeon_yeeloong3a.c
+@@ -74,7 +74,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data)
+   if (((class >> 16) & 0xffff) != GRUB_PCI_CLASS_SUBCLASS_VGA
+       || pciid != 0x96151002)
+     return 0;
+-  
++
+   *found = 1;
+ 
+   addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0);
+@@ -137,7 +137,7 @@ grub_video_radeon_yeeloong3a_setup (unsigned int width, unsigned int height,
+ #endif
+ 
+   /* Prevent garbage from appearing on the screen.  */
+-  grub_memset (framebuffer.ptr, 0, 
++  grub_memset (framebuffer.ptr, 0,
+ 	       framebuffer.mode_info.height * framebuffer.mode_info.pitch);
+ 
+ #ifndef TEST
+@@ -150,7 +150,7 @@ grub_video_radeon_yeeloong3a_setup (unsigned int width, unsigned int height,
+     return err;
+ 
+   err = grub_video_fb_set_active_render_target (framebuffer.render_target);
+-  
++
+   if (err)
+     return err;
+ 
+diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
+index 0157ff742..54dfedf43 100644
+--- a/grub-core/video/readers/png.c
++++ b/grub-core/video/readers/png.c
+@@ -916,7 +916,7 @@ grub_png_convert_image (struct grub_png_data *data)
+ 	}
+       return;
+     }
+-  
++
+   if (data->is_gray)
+     {
+       switch (data->bpp)
+diff --git a/grub-core/video/readers/tga.c b/grub-core/video/readers/tga.c
+index 7cb9d1d2a..a9ec3a1b6 100644
+--- a/grub-core/video/readers/tga.c
++++ b/grub-core/video/readers/tga.c
+@@ -127,7 +127,7 @@ tga_load_palette (struct tga_data *data)
+ 
+   if (len > sizeof (data->palette))
+     len = sizeof (data->palette);
+-  
++
+   if (grub_file_read (data->file, &data->palette, len)
+       != (grub_ssize_t) len)
+     return grub_errno;
+diff --git a/grub-core/video/sis315_init.c b/grub-core/video/sis315_init.c
+index ae5c1419c..09c3c7bbe 100644
+--- a/grub-core/video/sis315_init.c
++++ b/grub-core/video/sis315_init.c
+@@ -1,4 +1,4 @@
+-static const struct { grub_uint8_t reg; grub_uint8_t val; } sr_dump [] = 
++static const struct { grub_uint8_t reg; grub_uint8_t val; } sr_dump [] =
+ {
+   { 0x28, 0x81 },
+   { 0x2a, 0x00 },
+diff --git a/grub-core/video/sis315pro.c b/grub-core/video/sis315pro.c
+index 22a0c85a6..4d2f9999a 100644
+--- a/grub-core/video/sis315pro.c
++++ b/grub-core/video/sis315pro.c
+@@ -103,7 +103,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data)
+   if (((class >> 16) & 0xffff) != GRUB_PCI_CLASS_SUBCLASS_VGA
+       || pciid != GRUB_SIS315PRO_PCIID)
+     return 0;
+-  
++
+   *found = 1;
+ 
+   addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0);
+@@ -218,7 +218,7 @@ grub_video_sis315pro_setup (unsigned int width, unsigned int height,
+ 
+ #ifndef TEST
+   /* Prevent garbage from appearing on the screen.  */
+-  grub_memset (framebuffer.ptr, 0, 
++  grub_memset (framebuffer.ptr, 0,
+ 	       framebuffer.mode_info.height * framebuffer.mode_info.pitch);
+   grub_arch_sync_dma_caches (framebuffer.ptr,
+ 			     framebuffer.mode_info.height
+@@ -231,7 +231,7 @@ grub_video_sis315pro_setup (unsigned int width, unsigned int height,
+ 	     | GRUB_VGA_IO_MISC_EXTERNAL_CLOCK_0
+ 	     | GRUB_VGA_IO_MISC_28MHZ
+ 	     | GRUB_VGA_IO_MISC_ENABLE_VRAM_ACCESS
+-	     | GRUB_VGA_IO_MISC_COLOR, 
++	     | GRUB_VGA_IO_MISC_COLOR,
+ 	     GRUB_VGA_IO_MISC_WRITE + GRUB_MACHINE_PCI_IO_BASE);
+ 
+   grub_vga_sr_write (0x86, 5);
+@@ -335,7 +335,7 @@ grub_video_sis315pro_setup (unsigned int width, unsigned int height,
+   {
+     if (read_sis_cmd (0x5) != 0xa1)
+       write_sis_cmd (0x86, 0x5);
+-    
++
+     write_sis_cmd (read_sis_cmd (0x20) | 0xa1, 0x20);
+     write_sis_cmd (read_sis_cmd (0x1e) | 0xda, 0x1e);
+ 
+diff --git a/grub-core/video/sm712.c b/grub-core/video/sm712.c
+index 10c46eb65..65f59f84b 100644
+--- a/grub-core/video/sm712.c
++++ b/grub-core/video/sm712.c
+@@ -167,7 +167,7 @@ enum
+     GRUB_SM712_CR_SHADOW_VGA_VBLANK_START = 0x46,
+     GRUB_SM712_CR_SHADOW_VGA_VBLANK_END = 0x47,
+     GRUB_SM712_CR_SHADOW_VGA_VRETRACE_START = 0x48,
+-    GRUB_SM712_CR_SHADOW_VGA_VRETRACE_END = 0x49,    
++    GRUB_SM712_CR_SHADOW_VGA_VRETRACE_END = 0x49,
+     GRUB_SM712_CR_SHADOW_VGA_OVERFLOW = 0x4a,
+     GRUB_SM712_CR_SHADOW_VGA_CELL_HEIGHT = 0x4b,
+     GRUB_SM712_CR_SHADOW_VGA_HDISPLAY_END = 0x4c,
+@@ -375,7 +375,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data)
+   if (((class >> 16) & 0xffff) != GRUB_PCI_CLASS_SUBCLASS_VGA
+       || pciid != GRUB_SM712_PCIID)
+     return 0;
+-  
++
+   *found = 1;
+ 
+   addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0);
+@@ -471,7 +471,7 @@ grub_video_sm712_setup (unsigned int width, unsigned int height,
+ 
+ #if !defined (TEST) && !defined(GENINIT)
+   /* Prevent garbage from appearing on the screen.  */
+-  grub_memset ((void *) framebuffer.cached_ptr, 0, 
++  grub_memset ((void *) framebuffer.cached_ptr, 0,
+ 	       framebuffer.mode_info.height * framebuffer.mode_info.pitch);
+ #endif
+ 
+@@ -482,7 +482,7 @@ grub_video_sm712_setup (unsigned int width, unsigned int height,
+   grub_sm712_sr_write (0x2, 0x6b);
+   grub_sm712_write_reg (0, GRUB_VGA_IO_PIXEL_MASK);
+   grub_sm712_sr_write (GRUB_VGA_SR_RESET_ASYNC, GRUB_VGA_SR_RESET);
+-  grub_sm712_write_reg (GRUB_VGA_IO_MISC_NEGATIVE_VERT_POLARITY 
++  grub_sm712_write_reg (GRUB_VGA_IO_MISC_NEGATIVE_VERT_POLARITY
+ 			| GRUB_VGA_IO_MISC_NEGATIVE_HORIZ_POLARITY
+ 			| GRUB_VGA_IO_MISC_UPPER_64K
+ 			| GRUB_VGA_IO_MISC_EXTERNAL_CLOCK_0
+@@ -694,7 +694,7 @@ grub_video_sm712_setup (unsigned int width, unsigned int height,
+   for (i = 0; i < ARRAY_SIZE (dda_lookups); i++)
+     grub_sm712_write_dda_lookup (i, dda_lookups[i].compare, dda_lookups[i].dda,
+ 				 dda_lookups[i].vcentering);
+-  
++
+   /* Undocumented  */
+   grub_sm712_cr_write (0, 0x9c);
+   grub_sm712_cr_write (0, 0x9d);
+diff --git a/grub-core/video/video.c b/grub-core/video/video.c
+index 983424107..8937da745 100644
+--- a/grub-core/video/video.c
++++ b/grub-core/video/video.c
+@@ -491,13 +491,13 @@ parse_modespec (const char *current_mode, int *width, int *height, int *depth)
+ 		       current_mode);
+ 
+   param++;
+-  
++
+   *width = grub_strtoul (value, 0, 0);
+   if (grub_errno != GRUB_ERR_NONE)
+       return grub_error (GRUB_ERR_BAD_ARGUMENT,
+ 			 N_("invalid video mode specification `%s'"),
+ 			 current_mode);
+-  
++
+   /* Find height value.  */
+   value = param;
+   param = grub_strchr(param, 'x');
+@@ -513,13 +513,13 @@ parse_modespec (const char *current_mode, int *width, int *height, int *depth)
+     {
+       /* We have optional color depth value.  */
+       param++;
+-      
++
+       *height = grub_strtoul (value, 0, 0);
+       if (grub_errno != GRUB_ERR_NONE)
+ 	return grub_error (GRUB_ERR_BAD_ARGUMENT,
+ 			   N_("invalid video mode specification `%s'"),
+ 			   current_mode);
+-      
++
+       /* Convert color depth value.  */
+       value = param;
+       *depth = grub_strtoul (value, 0, 0);
+-- 
+2.36.1.476.g0c4daa206d-goog
+
diff --git a/sys-boot/grub/files/0009-loader-efi-chainloader-Simplify-the-loader-state.patch b/sys-boot/grub/files/0009-loader-efi-chainloader-Simplify-the-loader-state.patch
new file mode 100644
index 0000000..b39ae60
--- /dev/null
+++ b/sys-boot/grub/files/0009-loader-efi-chainloader-Simplify-the-loader-state.patch
@@ -0,0 +1,122 @@
+From 1469983ebb9674753ad333d37087fb8cb20e1dce Mon Sep 17 00:00:00 2001
+From: Chris Coulson <chris.coulson@canonical.com>
+Date: Tue, 5 Apr 2022 10:02:04 +0100
+Subject: [PATCH 09/38] loader/efi/chainloader: Simplify the loader state
+
+The chainloader command retains the source buffer and device path passed
+to LoadImage(), requiring the unload hook passed to grub_loader_set() to
+free them. It isn't required to retain this state though - they aren't
+required by StartImage() or anything else in the boot hook, so clean them
+up before grub_cmd_chainloader() finishes.
+
+Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/loader/efi/chainloader.c | 38 +++++++++++++++++-------------
+ 1 file changed, 21 insertions(+), 17 deletions(-)
+
+diff --git a/grub-core/loader/efi/chainloader.c b/grub-core/loader/efi/chainloader.c
+index 2bd80f4db..d1602c89b 100644
+--- a/grub-core/loader/efi/chainloader.c
++++ b/grub-core/loader/efi/chainloader.c
+@@ -44,25 +44,20 @@ GRUB_MOD_LICENSE ("GPLv3+");
+ 
+ static grub_dl_t my_mod;
+ 
+-static grub_efi_physical_address_t address;
+-static grub_efi_uintn_t pages;
+-static grub_efi_device_path_t *file_path;
+ static grub_efi_handle_t image_handle;
+-static grub_efi_char16_t *cmdline;
+ 
+ static grub_err_t
+ grub_chainloader_unload (void)
+ {
++  grub_efi_loaded_image_t *loaded_image;
+   grub_efi_boot_services_t *b;
+ 
++  loaded_image = grub_efi_get_loaded_image (image_handle);
++  if (loaded_image != NULL)
++    grub_free (loaded_image->load_options);
++
+   b = grub_efi_system_table->boot_services;
+   efi_call_1 (b->unload_image, image_handle);
+-  efi_call_2 (b->free_pages, address, pages);
+-
+-  grub_free (file_path);
+-  grub_free (cmdline);
+-  cmdline = 0;
+-  file_path = 0;
+ 
+   grub_dl_unref (my_mod);
+   return GRUB_ERR_NONE;
+@@ -140,7 +135,7 @@ make_file_path (grub_efi_device_path_t *dp, const char *filename)
+   char *dir_start;
+   char *dir_end;
+   grub_size_t size;
+-  grub_efi_device_path_t *d;
++  grub_efi_device_path_t *d, *file_path;
+ 
+   dir_start = grub_strchr (filename, ')');
+   if (! dir_start)
+@@ -222,11 +217,14 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
+   grub_efi_status_t status;
+   grub_efi_boot_services_t *b;
+   grub_device_t dev = 0;
+-  grub_efi_device_path_t *dp = 0;
++  grub_efi_device_path_t *dp = NULL, *file_path = NULL;
+   grub_efi_loaded_image_t *loaded_image;
+   char *filename;
+   void *boot_image = 0;
+   grub_efi_handle_t dev_handle = 0;
++  grub_efi_physical_address_t address = 0;
++  grub_efi_uintn_t pages = 0;
++  grub_efi_char16_t *cmdline = NULL;
+ 
+   if (argc == 0)
+     return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected"));
+@@ -234,11 +232,6 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
+ 
+   grub_dl_ref (my_mod);
+ 
+-  /* Initialize some global variables.  */
+-  address = 0;
+-  image_handle = 0;
+-  file_path = 0;
+-
+   b = grub_efi_system_table->boot_services;
+ 
+   file = grub_file_open (filename, GRUB_FILE_TYPE_EFI_CHAINLOADED_IMAGE);
+@@ -408,6 +401,10 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
+   grub_file_close (file);
+   grub_device_close (dev);
+ 
++  /* We're finished with the source image buffer and file path now. */
++  efi_call_2 (b->free_pages, address, pages);
++  grub_free (file_path);
++
+   grub_loader_set (grub_chainloader_boot, grub_chainloader_unload, 0);
+   return 0;
+ 
+@@ -419,11 +416,18 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
+   if (file)
+     grub_file_close (file);
+ 
++  grub_free (cmdline);
+   grub_free (file_path);
+ 
+   if (address)
+     efi_call_2 (b->free_pages, address, pages);
+ 
++  if (image_handle != NULL)
++    {
++      efi_call_1 (b->unload_image, image_handle);
++      image_handle = NULL;
++    }
++
+   grub_dl_unref (my_mod);
+ 
+   return grub_errno;
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0010-commands-boot-Add-API-to-pass-context-to-loader.patch b/sys-boot/grub/files/0010-commands-boot-Add-API-to-pass-context-to-loader.patch
new file mode 100644
index 0000000..1bc4a1d
--- /dev/null
+++ b/sys-boot/grub/files/0010-commands-boot-Add-API-to-pass-context-to-loader.patch
@@ -0,0 +1,161 @@
+From 14ceb3b3ff6db664649138442b6562c114dcf56e Mon Sep 17 00:00:00 2001
+From: Chris Coulson <chris.coulson@canonical.com>
+Date: Tue, 5 Apr 2022 10:58:28 +0100
+Subject: [PATCH 10/38] commands/boot: Add API to pass context to loader
+
+Loaders rely on global variables for saving context which is consumed
+in the boot hook and freed in the unload hook. In the case where a loader
+command is executed twice, calling grub_loader_set() a second time executes
+the unload hook, but in some cases this runs when the loader's global
+context has already been updated, resulting in the updated context being
+freed and potential use-after-free bugs when the boot hook is subsequently
+called.
+
+This adds a new API, grub_loader_set_ex(), which allows a loader to specify
+context that is passed to its boot and unload hooks. This is an alternative
+to requiring that loaders call grub_loader_unset() before mutating their
+global context.
+
+Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/commands/boot.c | 66 ++++++++++++++++++++++++++++++++++-----
+ include/grub/loader.h     |  5 +++
+ 2 files changed, 63 insertions(+), 8 deletions(-)
+
+diff --git a/grub-core/commands/boot.c b/grub-core/commands/boot.c
+index bbca81e94..61514788e 100644
+--- a/grub-core/commands/boot.c
++++ b/grub-core/commands/boot.c
+@@ -27,10 +27,20 @@
+ 
+ GRUB_MOD_LICENSE ("GPLv3+");
+ 
+-static grub_err_t (*grub_loader_boot_func) (void);
+-static grub_err_t (*grub_loader_unload_func) (void);
++static grub_err_t (*grub_loader_boot_func) (void *context);
++static grub_err_t (*grub_loader_unload_func) (void *context);
++static void *grub_loader_context;
+ static int grub_loader_flags;
+ 
++struct grub_simple_loader_hooks
++{
++  grub_err_t (*boot) (void);
++  grub_err_t (*unload) (void);
++};
++
++/* Don't heap allocate this to avoid making grub_loader_set() fallible. */
++static struct grub_simple_loader_hooks simple_loader_hooks;
++
+ struct grub_preboot
+ {
+   grub_err_t (*preboot_func) (int);
+@@ -44,6 +54,29 @@ static int grub_loader_loaded;
+ static struct grub_preboot *preboots_head = 0,
+   *preboots_tail = 0;
+ 
++static grub_err_t
++grub_simple_boot_hook (void *context)
++{
++  struct grub_simple_loader_hooks *hooks;
++
++  hooks = (struct grub_simple_loader_hooks *) context;
++  return hooks->boot ();
++}
++
++static grub_err_t
++grub_simple_unload_hook (void *context)
++{
++  struct grub_simple_loader_hooks *hooks;
++  grub_err_t ret;
++
++  hooks = (struct grub_simple_loader_hooks *) context;
++
++  ret = hooks->unload ();
++  grub_memset (hooks, 0, sizeof (*hooks));
++
++  return ret;
++}
++
+ int
+ grub_loader_is_loaded (void)
+ {
+@@ -110,28 +143,45 @@ grub_loader_unregister_preboot_hook (struct grub_preboot *hnd)
+ }
+ 
+ void
+-grub_loader_set (grub_err_t (*boot) (void),
+-		 grub_err_t (*unload) (void),
+-		 int flags)
++grub_loader_set_ex (grub_err_t (*boot) (void *context),
++		    grub_err_t (*unload) (void *context),
++		    void *context,
++		    int flags)
+ {
+   if (grub_loader_loaded && grub_loader_unload_func)
+-    grub_loader_unload_func ();
++    grub_loader_unload_func (grub_loader_context);
+ 
+   grub_loader_boot_func = boot;
+   grub_loader_unload_func = unload;
++  grub_loader_context = context;
+   grub_loader_flags = flags;
+ 
+   grub_loader_loaded = 1;
+ }
+ 
++void
++grub_loader_set (grub_err_t (*boot) (void),
++		 grub_err_t (*unload) (void),
++		 int flags)
++{
++  grub_loader_set_ex (grub_simple_boot_hook,
++		      grub_simple_unload_hook,
++		      &simple_loader_hooks,
++		      flags);
++
++  simple_loader_hooks.boot = boot;
++  simple_loader_hooks.unload = unload;
++}
++
+ void
+ grub_loader_unset(void)
+ {
+   if (grub_loader_loaded && grub_loader_unload_func)
+-    grub_loader_unload_func ();
++    grub_loader_unload_func (grub_loader_context);
+ 
+   grub_loader_boot_func = 0;
+   grub_loader_unload_func = 0;
++  grub_loader_context = 0;
+ 
+   grub_loader_loaded = 0;
+ }
+@@ -158,7 +208,7 @@ grub_loader_boot (void)
+ 	  return err;
+ 	}
+     }
+-  err = (grub_loader_boot_func) ();
++  err = (grub_loader_boot_func) (grub_loader_context);
+ 
+   for (cur = preboots_tail; cur; cur = cur->prev)
+     if (! err)
+diff --git a/include/grub/loader.h b/include/grub/loader.h
+index b20864282..97f231054 100644
+--- a/include/grub/loader.h
++++ b/include/grub/loader.h
+@@ -40,6 +40,11 @@ void EXPORT_FUNC (grub_loader_set) (grub_err_t (*boot) (void),
+ 				    grub_err_t (*unload) (void),
+ 				    int flags);
+ 
++void EXPORT_FUNC (grub_loader_set_ex) (grub_err_t (*boot) (void *context),
++				       grub_err_t (*unload) (void *context),
++				       void *context,
++				       int flags);
++
+ /* Unset current loader, if any.  */
+ void EXPORT_FUNC (grub_loader_unset) (void);
+ 
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0011-loader-efi-chainloader-Use-grub_loader_set_ex.patch b/sys-boot/grub/files/0011-loader-efi-chainloader-Use-grub_loader_set_ex.patch
new file mode 100644
index 0000000..3b3dad0
--- /dev/null
+++ b/sys-boot/grub/files/0011-loader-efi-chainloader-Use-grub_loader_set_ex.patch
@@ -0,0 +1,78 @@
+From 04c86e0bb7b58fc2f913f798cdb18934933e532d Mon Sep 17 00:00:00 2001
+From: Chris Coulson <chris.coulson@canonical.com>
+Date: Tue, 5 Apr 2022 11:48:58 +0100
+Subject: [PATCH 11/38] loader/efi/chainloader: Use grub_loader_set_ex()
+
+This ports the EFI chainloader to use grub_loader_set_ex() in order to fix
+a use-after-free bug that occurs when grub_cmd_chainloader() is executed
+more than once before a boot attempt is performed.
+
+Fixes: CVE-2022-28736
+
+Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/loader/efi/chainloader.c | 16 +++++++---------
+ 1 file changed, 7 insertions(+), 9 deletions(-)
+
+diff --git a/grub-core/loader/efi/chainloader.c b/grub-core/loader/efi/chainloader.c
+index d1602c89b..7557eb269 100644
+--- a/grub-core/loader/efi/chainloader.c
++++ b/grub-core/loader/efi/chainloader.c
+@@ -44,11 +44,10 @@ GRUB_MOD_LICENSE ("GPLv3+");
+ 
+ static grub_dl_t my_mod;
+ 
+-static grub_efi_handle_t image_handle;
+-
+ static grub_err_t
+-grub_chainloader_unload (void)
++grub_chainloader_unload (void *context)
+ {
++  grub_efi_handle_t image_handle = (grub_efi_handle_t) context;
+   grub_efi_loaded_image_t *loaded_image;
+   grub_efi_boot_services_t *b;
+ 
+@@ -64,8 +63,9 @@ grub_chainloader_unload (void)
+ }
+ 
+ static grub_err_t
+-grub_chainloader_boot (void)
++grub_chainloader_boot (void *context)
+ {
++  grub_efi_handle_t image_handle = (grub_efi_handle_t) context;
+   grub_efi_boot_services_t *b;
+   grub_efi_status_t status;
+   grub_efi_uintn_t exit_data_size;
+@@ -225,6 +225,7 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
+   grub_efi_physical_address_t address = 0;
+   grub_efi_uintn_t pages = 0;
+   grub_efi_char16_t *cmdline = NULL;
++  grub_efi_handle_t image_handle = NULL;
+ 
+   if (argc == 0)
+     return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected"));
+@@ -405,7 +406,7 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
+   efi_call_2 (b->free_pages, address, pages);
+   grub_free (file_path);
+ 
+-  grub_loader_set (grub_chainloader_boot, grub_chainloader_unload, 0);
++  grub_loader_set_ex (grub_chainloader_boot, grub_chainloader_unload, image_handle, 0);
+   return 0;
+ 
+  fail:
+@@ -423,10 +424,7 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
+     efi_call_2 (b->free_pages, address, pages);
+ 
+   if (image_handle != NULL)
+-    {
+-      efi_call_1 (b->unload_image, image_handle);
+-      image_handle = NULL;
+-    }
++    efi_call_1 (b->unload_image, image_handle);
+ 
+   grub_dl_unref (my_mod);
+ 
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0012-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch b/sys-boot/grub/files/0012-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch
new file mode 100644
index 0000000..094e4f9
--- /dev/null
+++ b/sys-boot/grub/files/0012-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch
@@ -0,0 +1,103 @@
+From 6fe755c5c07bb386fda58306bfd19e4a1c974c53 Mon Sep 17 00:00:00 2001
+From: Julian Andres Klode <julian.klode@canonical.com>
+Date: Thu, 2 Dec 2021 15:03:53 +0100
+Subject: [PATCH 12/38] kern/efi/sb: Reject non-kernel files in the shim_lock
+ verifier
+
+We must not allow other verifiers to pass things like the GRUB modules.
+Instead of maintaining a blocklist, maintain an allowlist of things
+that we do not care about.
+
+This allowlist really should be made reusable, and shared by the
+lockdown verifier, but this is the minimal patch addressing
+security concerns where the TPM verifier was able to mark modules
+as verified (or the OpenPGP verifier for that matter), when it
+should not do so on shim-powered secure boot systems.
+
+Fixes: CVE-2022-28735
+
+Signed-off-by: Julian Andres Klode <julian.klode@canonical.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/kern/efi/sb.c | 39 ++++++++++++++++++++++++++++++++++++---
+ include/grub/verify.h   |  1 +
+ 2 files changed, 37 insertions(+), 3 deletions(-)
+
+diff --git a/grub-core/kern/efi/sb.c b/grub-core/kern/efi/sb.c
+index c52ec6226..89c4bb3fd 100644
+--- a/grub-core/kern/efi/sb.c
++++ b/grub-core/kern/efi/sb.c
+@@ -119,10 +119,11 @@ shim_lock_verifier_init (grub_file_t io __attribute__ ((unused)),
+ 			 void **context __attribute__ ((unused)),
+ 			 enum grub_verify_flags *flags)
+ {
+-  *flags = GRUB_VERIFY_FLAGS_SKIP_VERIFICATION;
++  *flags = GRUB_VERIFY_FLAGS_NONE;
+ 
+   switch (type & GRUB_FILE_TYPE_MASK)
+     {
++    /* Files we check. */
+     case GRUB_FILE_TYPE_LINUX_KERNEL:
+     case GRUB_FILE_TYPE_MULTIBOOT_KERNEL:
+     case GRUB_FILE_TYPE_BSD_KERNEL:
+@@ -130,11 +131,43 @@ shim_lock_verifier_init (grub_file_t io __attribute__ ((unused)),
+     case GRUB_FILE_TYPE_PLAN9_KERNEL:
+     case GRUB_FILE_TYPE_EFI_CHAINLOADED_IMAGE:
+       *flags = GRUB_VERIFY_FLAGS_SINGLE_CHUNK;
++      return GRUB_ERR_NONE;
+ 
+-      /* Fall through. */
++    /* Files that do not affect secureboot state. */
++    case GRUB_FILE_TYPE_NONE:
++    case GRUB_FILE_TYPE_LOOPBACK:
++    case GRUB_FILE_TYPE_LINUX_INITRD:
++    case GRUB_FILE_TYPE_OPENBSD_RAMDISK:
++    case GRUB_FILE_TYPE_XNU_RAMDISK:
++    case GRUB_FILE_TYPE_SIGNATURE:
++    case GRUB_FILE_TYPE_PUBLIC_KEY:
++    case GRUB_FILE_TYPE_PUBLIC_KEY_TRUST:
++    case GRUB_FILE_TYPE_PRINT_BLOCKLIST:
++    case GRUB_FILE_TYPE_TESTLOAD:
++    case GRUB_FILE_TYPE_GET_SIZE:
++    case GRUB_FILE_TYPE_FONT:
++    case GRUB_FILE_TYPE_ZFS_ENCRYPTION_KEY:
++    case GRUB_FILE_TYPE_CAT:
++    case GRUB_FILE_TYPE_HEXCAT:
++    case GRUB_FILE_TYPE_CMP:
++    case GRUB_FILE_TYPE_HASHLIST:
++    case GRUB_FILE_TYPE_TO_HASH:
++    case GRUB_FILE_TYPE_KEYBOARD_LAYOUT:
++    case GRUB_FILE_TYPE_PIXMAP:
++    case GRUB_FILE_TYPE_GRUB_MODULE_LIST:
++    case GRUB_FILE_TYPE_CONFIG:
++    case GRUB_FILE_TYPE_THEME:
++    case GRUB_FILE_TYPE_GETTEXT_CATALOG:
++    case GRUB_FILE_TYPE_FS_SEARCH:
++    case GRUB_FILE_TYPE_LOADENV:
++    case GRUB_FILE_TYPE_SAVEENV:
++    case GRUB_FILE_TYPE_VERIFY_SIGNATURE:
++      *flags = GRUB_VERIFY_FLAGS_SKIP_VERIFICATION;
++      return GRUB_ERR_NONE;
+ 
++    /* Other files. */
+     default:
+-      return GRUB_ERR_NONE;
++      return grub_error (GRUB_ERR_ACCESS_DENIED, N_("prohibited by secure boot policy"));
+     }
+ }
+ 
+diff --git a/include/grub/verify.h b/include/grub/verify.h
+index cd129c398..672ae1692 100644
+--- a/include/grub/verify.h
++++ b/include/grub/verify.h
+@@ -24,6 +24,7 @@
+ 
+ enum grub_verify_flags
+   {
++    GRUB_VERIFY_FLAGS_NONE		= 0,
+     GRUB_VERIFY_FLAGS_SKIP_VERIFICATION	= 1,
+     GRUB_VERIFY_FLAGS_SINGLE_CHUNK	= 2,
+     /* Defer verification to another authority. */
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0013-kern-file-Do-not-leak-device_name-on-error-in-grub_f.patch b/sys-boot/grub/files/0013-kern-file-Do-not-leak-device_name-on-error-in-grub_f.patch
new file mode 100644
index 0000000..a0a54b7
--- /dev/null
+++ b/sys-boot/grub/files/0013-kern-file-Do-not-leak-device_name-on-error-in-grub_f.patch
@@ -0,0 +1,41 @@
+From f1ce0e15e70ea1aafcfa26ad93e7585f65783c6f Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Fri, 25 Jun 2021 02:19:05 +1000
+Subject: [PATCH 13/38] kern/file: Do not leak device_name on error in
+ grub_file_open()
+
+If we have an error in grub_file_open() before we free device_name, we
+will leak it.
+
+Free device_name in the error path and null out the pointer in the good
+path once we free it there.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/kern/file.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/grub-core/kern/file.c b/grub-core/kern/file.c
+index df24c1fd4..8d48fd50d 100644
+--- a/grub-core/kern/file.c
++++ b/grub-core/kern/file.c
+@@ -79,6 +79,7 @@ grub_file_open (const char *name, enum grub_file_type type)
+ 
+   device = grub_device_open (device_name);
+   grub_free (device_name);
++  device_name = NULL;
+   if (! device)
+     goto fail;
+ 
+@@ -131,6 +132,7 @@ grub_file_open (const char *name, enum grub_file_type type)
+   return file;
+ 
+  fail:
++  grub_free (device_name);
+   if (device)
+     grub_device_close (device);
+ 
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0014-video-readers-png-Abort-sooner-if-a-read-operation-f.patch b/sys-boot/grub/files/0014-video-readers-png-Abort-sooner-if-a-read-operation-f.patch
new file mode 100644
index 0000000..cb24616
--- /dev/null
+++ b/sys-boot/grub/files/0014-video-readers-png-Abort-sooner-if-a-read-operation-f.patch
@@ -0,0 +1,201 @@
+From 5bff31cdb6b93d738f850834e6291df1d0b136fa Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 6 Jul 2021 14:02:55 +1000
+Subject: [PATCH 14/38] video/readers/png: Abort sooner if a read operation
+ fails
+
+Fuzzing revealed some inputs that were taking a long time, potentially
+forever, because they did not bail quickly upon encountering an I/O error.
+
+Try to catch I/O errors sooner and bail out.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/video/readers/png.c | 55 ++++++++++++++++++++++++++++++-----
+ 1 file changed, 47 insertions(+), 8 deletions(-)
+
+diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
+index 54dfedf43..d715c4629 100644
+--- a/grub-core/video/readers/png.c
++++ b/grub-core/video/readers/png.c
+@@ -142,6 +142,7 @@ static grub_uint8_t
+ grub_png_get_byte (struct grub_png_data *data)
+ {
+   grub_uint8_t r;
++  grub_ssize_t bytes_read = 0;
+ 
+   if ((data->inside_idat) && (data->idat_remain == 0))
+     {
+@@ -175,7 +176,14 @@ grub_png_get_byte (struct grub_png_data *data)
+     }
+ 
+   r = 0;
+-  grub_file_read (data->file, &r, 1);
++  bytes_read = grub_file_read (data->file, &r, 1);
++
++  if (bytes_read != 1)
++    {
++      grub_error (GRUB_ERR_BAD_FILE_TYPE,
++		  "png: unexpected end of data");
++      return 0;
++    }
+ 
+   if (data->inside_idat)
+     data->idat_remain--;
+@@ -231,15 +239,16 @@ grub_png_decode_image_palette (struct grub_png_data *data,
+   if (len == 0)
+     return GRUB_ERR_NONE;
+ 
+-  for (i = 0; 3 * i < len && i < 256; i++)
++  grub_errno = GRUB_ERR_NONE;
++  for (i = 0; 3 * i < len && i < 256 && grub_errno == GRUB_ERR_NONE; i++)
+     for (j = 0; j < 3; j++)
+       data->palette[i][j] = grub_png_get_byte (data);
+-  for (i *= 3; i < len; i++)
++  for (i *= 3; i < len && grub_errno == GRUB_ERR_NONE; i++)
+     grub_png_get_byte (data);
+ 
+   grub_png_get_dword (data);
+ 
+-  return GRUB_ERR_NONE;
++  return grub_errno;
+ }
+ 
+ static grub_err_t
+@@ -256,9 +265,13 @@ grub_png_decode_image_header (struct grub_png_data *data)
+     return grub_error (GRUB_ERR_BAD_FILE_TYPE, "png: invalid image size");
+ 
+   color_bits = grub_png_get_byte (data);
++  if (grub_errno != GRUB_ERR_NONE)
++    return grub_errno;
+   data->is_16bit = (color_bits == 16);
+ 
+   color_type = grub_png_get_byte (data);
++  if (grub_errno != GRUB_ERR_NONE)
++    return grub_errno;
+ 
+   /* According to PNG spec, no other types are valid.  */
+   if ((color_type & ~(PNG_COLOR_MASK_ALPHA | PNG_COLOR_MASK_COLOR))
+@@ -340,14 +353,20 @@ grub_png_decode_image_header (struct grub_png_data *data)
+   if (grub_png_get_byte (data) != PNG_COMPRESSION_BASE)
+     return grub_error (GRUB_ERR_BAD_FILE_TYPE,
+ 		       "png: compression method not supported");
++  if (grub_errno != GRUB_ERR_NONE)
++    return grub_errno;
+ 
+   if (grub_png_get_byte (data) != PNG_FILTER_TYPE_BASE)
+     return grub_error (GRUB_ERR_BAD_FILE_TYPE,
+ 		       "png: filter method not supported");
++  if (grub_errno != GRUB_ERR_NONE)
++    return grub_errno;
+ 
+   if (grub_png_get_byte (data) != PNG_INTERLACE_NONE)
+     return grub_error (GRUB_ERR_BAD_FILE_TYPE,
+ 		       "png: interlace method not supported");
++  if (grub_errno != GRUB_ERR_NONE)
++    return grub_errno;
+ 
+   /* Skip crc checksum.  */
+   grub_png_get_dword (data);
+@@ -449,7 +468,7 @@ grub_png_get_huff_code (struct grub_png_data *data, struct huff_table *ht)
+   int code, i;
+ 
+   code = 0;
+-  for (i = 0; i < ht->max_length; i++)
++  for (i = 0; i < ht->max_length && grub_errno == GRUB_ERR_NONE; i++)
+     {
+       code = (code << 1) + grub_png_get_bits (data, 1);
+       if (code < ht->maxval[i])
+@@ -504,8 +523,14 @@ grub_png_init_dynamic_block (struct grub_png_data *data)
+   grub_uint8_t lens[DEFLATE_HCLEN_MAX];
+ 
+   nl = DEFLATE_HLIT_BASE + grub_png_get_bits (data, 5);
++  if (grub_errno != GRUB_ERR_NONE)
++    return grub_errno;
+   nd = DEFLATE_HDIST_BASE + grub_png_get_bits (data, 5);
++  if (grub_errno != GRUB_ERR_NONE)
++    return grub_errno;
+   nb = DEFLATE_HCLEN_BASE + grub_png_get_bits (data, 4);
++  if (grub_errno != GRUB_ERR_NONE)
++    return grub_errno;
+ 
+   if ((nl > DEFLATE_HLIT_MAX) || (nd > DEFLATE_HDIST_MAX) ||
+       (nb > DEFLATE_HCLEN_MAX))
+@@ -533,7 +558,7 @@ grub_png_init_dynamic_block (struct grub_png_data *data)
+ 			    data->dist_offset);
+ 
+   prev = 0;
+-  for (i = 0; i < nl + nd; i++)
++  for (i = 0; i < nl + nd && grub_errno == GRUB_ERR_NONE; i++)
+     {
+       int n, code;
+       struct huff_table *ht;
+@@ -721,17 +746,21 @@ grub_png_read_dynamic_block (struct grub_png_data *data)
+ 	  len = cplens[n];
+ 	  if (cplext[n])
+ 	    len += grub_png_get_bits (data, cplext[n]);
++	  if (grub_errno != GRUB_ERR_NONE)
++	    return grub_errno;
+ 
+ 	  n = grub_png_get_huff_code (data, &data->dist_table);
+ 	  dist = cpdist[n];
+ 	  if (cpdext[n])
+ 	    dist += grub_png_get_bits (data, cpdext[n]);
++	  if (grub_errno != GRUB_ERR_NONE)
++	    return grub_errno;
+ 
+ 	  pos = data->wp - dist;
+ 	  if (pos < 0)
+ 	    pos += WSIZE;
+ 
+-	  while (len > 0)
++	  while (len > 0 && grub_errno == GRUB_ERR_NONE)
+ 	    {
+ 	      data->slide[data->wp] = data->slide[pos];
+ 	      grub_png_output_byte (data, data->slide[data->wp]);
+@@ -759,7 +788,11 @@ grub_png_decode_image_data (struct grub_png_data *data)
+   int final;
+ 
+   cmf = grub_png_get_byte (data);
++  if (grub_errno != GRUB_ERR_NONE)
++    return grub_errno;
+   flg = grub_png_get_byte (data);
++  if (grub_errno != GRUB_ERR_NONE)
++    return grub_errno;
+ 
+   if ((cmf & 0xF) != Z_DEFLATED)
+     return grub_error (GRUB_ERR_BAD_FILE_TYPE,
+@@ -774,7 +807,11 @@ grub_png_decode_image_data (struct grub_png_data *data)
+       int block_type;
+ 
+       final = grub_png_get_bits (data, 1);
++      if (grub_errno != GRUB_ERR_NONE)
++	return grub_errno;
+       block_type = grub_png_get_bits (data, 2);
++      if (grub_errno != GRUB_ERR_NONE)
++	return grub_errno;
+ 
+       switch (block_type)
+ 	{
+@@ -790,7 +827,7 @@ grub_png_decode_image_data (struct grub_png_data *data)
+ 	    grub_png_get_byte (data);
+ 	    grub_png_get_byte (data);
+ 
+-	    for (i = 0; i < len; i++)
++	    for (i = 0; i < len && grub_errno == GRUB_ERR_NONE; i++)
+ 	      grub_png_output_byte (data, grub_png_get_byte (data));
+ 
+ 	    break;
+@@ -1045,6 +1082,8 @@ grub_png_decode_png (struct grub_png_data *data)
+ 
+       len = grub_png_get_dword (data);
+       type = grub_png_get_dword (data);
++      if (grub_errno != GRUB_ERR_NONE)
++	break;
+       data->next_offset = data->file->offset + len + 4;
+ 
+       switch (type)
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0015-video-readers-png-Refuse-to-handle-multiple-image-he.patch b/sys-boot/grub/files/0015-video-readers-png-Refuse-to-handle-multiple-image-he.patch
new file mode 100644
index 0000000..60f70ec
--- /dev/null
+++ b/sys-boot/grub/files/0015-video-readers-png-Refuse-to-handle-multiple-image-he.patch
@@ -0,0 +1,31 @@
+From 347880a13c239b4c2811c94c9a7cf78b607332e3 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 6 Jul 2021 14:13:40 +1000
+Subject: [PATCH 15/38] video/readers/png: Refuse to handle multiple image
+ headers
+
+This causes the bitmap to be leaked. Do not permit multiple image headers.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/video/readers/png.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
+index d715c4629..35ae553c8 100644
+--- a/grub-core/video/readers/png.c
++++ b/grub-core/video/readers/png.c
+@@ -258,6 +258,9 @@ grub_png_decode_image_header (struct grub_png_data *data)
+   int color_bits;
+   enum grub_video_blit_format blt;
+ 
++  if (data->image_width || data->image_height)
++    return grub_error (GRUB_ERR_BAD_FILE_TYPE, "png: two image headers found");
++
+   data->image_width = grub_png_get_dword (data);
+   data->image_height = grub_png_get_dword (data);
+ 
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0016-video-readers-png-Drop-greyscale-support-to-fix-heap.patch b/sys-boot/grub/files/0016-video-readers-png-Drop-greyscale-support-to-fix-heap.patch
new file mode 100644
index 0000000..38b95d9
--- /dev/null
+++ b/sys-boot/grub/files/0016-video-readers-png-Drop-greyscale-support-to-fix-heap.patch
@@ -0,0 +1,171 @@
+From e623866d9286410156e8b9d2c82d6253a1b22d08 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 6 Jul 2021 18:51:35 +1000
+Subject: [PATCH 16/38] video/readers/png: Drop greyscale support to fix heap
+ out-of-bounds write
+
+A 16-bit greyscale PNG without alpha is processed in the following loop:
+
+      for (i = 0; i < (data->image_width * data->image_height);
+	   i++, d1 += 4, d2 += 2)
+	{
+	  d1[R3] = d2[1];
+	  d1[G3] = d2[1];
+	  d1[B3] = d2[1];
+	}
+
+The increment of d1 is wrong. d1 is incremented by 4 bytes per iteration,
+but there are only 3 bytes allocated for storage. This means that image
+data will overwrite somewhat-attacker-controlled parts of memory - 3 bytes
+out of every 4 following the end of the image.
+
+This has existed since greyscale support was added in 2013 in commit
+3ccf16dff98f (grub-core/video/readers/png.c: Support grayscale).
+
+Saving starfield.png as a 16-bit greyscale image without alpha in the gimp
+and attempting to load it causes grub-emu to crash - I don't think this code
+has ever worked.
+
+Delete all PNG greyscale support.
+
+Fixes: CVE-2021-3695
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/video/readers/png.c | 87 +++--------------------------------
+ 1 file changed, 7 insertions(+), 80 deletions(-)
+
+diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
+index 35ae553c8..a3161e25b 100644
+--- a/grub-core/video/readers/png.c
++++ b/grub-core/video/readers/png.c
+@@ -100,7 +100,7 @@ struct grub_png_data
+ 
+   unsigned image_width, image_height;
+   int bpp, is_16bit;
+-  int raw_bytes, is_gray, is_alpha, is_palette;
++  int raw_bytes, is_alpha, is_palette;
+   int row_bytes, color_bits;
+   grub_uint8_t *image_data;
+ 
+@@ -296,13 +296,13 @@ grub_png_decode_image_header (struct grub_png_data *data)
+     data->bpp = 3;
+   else
+     {
+-      data->is_gray = 1;
+-      data->bpp = 1;
++      return grub_error (GRUB_ERR_BAD_FILE_TYPE,
++			 "png: color type not supported");
+     }
+ 
+   if ((color_bits != 8) && (color_bits != 16)
+       && (color_bits != 4
+-	  || !(data->is_gray || data->is_palette)))
++	  || !data->is_palette))
+     return grub_error (GRUB_ERR_BAD_FILE_TYPE,
+                        "png: bit depth must be 8 or 16");
+ 
+@@ -331,7 +331,7 @@ grub_png_decode_image_header (struct grub_png_data *data)
+     }
+ 
+ #ifndef GRUB_CPU_WORDS_BIGENDIAN
+-  if (data->is_16bit || data->is_gray || data->is_palette)
++  if (data->is_16bit || data->is_palette)
+ #endif
+     {
+       data->image_data = grub_calloc (data->image_height, data->row_bytes);
+@@ -899,27 +899,8 @@ grub_png_convert_image (struct grub_png_data *data)
+       int shift;
+       int mask = (1 << data->color_bits) - 1;
+       unsigned j;
+-      if (data->is_gray)
+-	{
+-	  /* Generic formula is
+-	     (0xff * i) / ((1U << data->color_bits) - 1)
+-	     but for allowed bit depth of 1, 2 and for it's
+-	     equivalent to
+-	     (0xff / ((1U << data->color_bits) - 1)) * i
+-	     Precompute the multipliers to avoid division.
+-	  */
+-
+-	  const grub_uint8_t multipliers[5] = { 0xff, 0xff, 0x55, 0x24, 0x11 };
+-	  for (i = 0; i < (1U << data->color_bits); i++)
+-	    {
+-	      grub_uint8_t col = multipliers[data->color_bits] * i;
+-	      palette[i][0] = col;
+-	      palette[i][1] = col;
+-	      palette[i][2] = col;
+-	    }
+-	}
+-      else
+-	grub_memcpy (palette, data->palette, 3 << data->color_bits);
++
++      grub_memcpy (palette, data->palette, 3 << data->color_bits);
+       d1c = d1;
+       d2c = d2;
+       for (j = 0; j < data->image_height; j++, d1c += data->image_width * 3,
+@@ -957,60 +938,6 @@ grub_png_convert_image (struct grub_png_data *data)
+       return;
+     }
+ 
+-  if (data->is_gray)
+-    {
+-      switch (data->bpp)
+-	{
+-	case 4:
+-	  /* 16-bit gray with alpha.  */
+-	  for (i = 0; i < (data->image_width * data->image_height);
+-	       i++, d1 += 4, d2 += 4)
+-	    {
+-	      d1[R4] = d2[3];
+-	      d1[G4] = d2[3];
+-	      d1[B4] = d2[3];
+-	      d1[A4] = d2[1];
+-	    }
+-	  break;
+-	case 2:
+-	  if (data->is_16bit)
+-	    /* 16-bit gray without alpha.  */
+-	    {
+-	      for (i = 0; i < (data->image_width * data->image_height);
+-		   i++, d1 += 4, d2 += 2)
+-		{
+-		  d1[R3] = d2[1];
+-		  d1[G3] = d2[1];
+-		  d1[B3] = d2[1];
+-		}
+-	    }
+-	  else
+-	    /* 8-bit gray with alpha.  */
+-	    {
+-	      for (i = 0; i < (data->image_width * data->image_height);
+-		   i++, d1 += 4, d2 += 2)
+-		{
+-		  d1[R4] = d2[1];
+-		  d1[G4] = d2[1];
+-		  d1[B4] = d2[1];
+-		  d1[A4] = d2[0];
+-		}
+-	    }
+-	  break;
+-	  /* 8-bit gray without alpha.  */
+-	case 1:
+-	  for (i = 0; i < (data->image_width * data->image_height);
+-	       i++, d1 += 3, d2++)
+-	    {
+-	      d1[R3] = d2[0];
+-	      d1[G3] = d2[0];
+-	      d1[B3] = d2[0];
+-	    }
+-	  break;
+-	}
+-      return;
+-    }
+-
+     {
+   /* Only copy the upper 8 bit.  */
+ #ifndef GRUB_CPU_WORDS_BIGENDIAN
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0017-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff-.patch b/sys-boot/grub/files/0017-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff-.patch
new file mode 100644
index 0000000..a90163e
--- /dev/null
+++ b/sys-boot/grub/files/0017-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff-.patch
@@ -0,0 +1,42 @@
+From 210245129c932dc9e1c2748d9d35524fb95b5042 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 6 Jul 2021 23:25:07 +1000
+Subject: [PATCH 17/38] video/readers/png: Avoid heap OOB R/W inserting huff
+ table items
+
+In fuzzing we observed crashes where a code would attempt to be inserted
+into a huffman table before the start, leading to a set of heap OOB reads
+and writes as table entries with negative indices were shifted around and
+the new code written in.
+
+Catch the case where we would underflow the array and bail.
+
+Fixes: CVE-2021-3696
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/video/readers/png.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
+index a3161e25b..d7ed5aa6c 100644
+--- a/grub-core/video/readers/png.c
++++ b/grub-core/video/readers/png.c
+@@ -438,6 +438,13 @@ grub_png_insert_huff_item (struct huff_table *ht, int code, int len)
+   for (i = len; i < ht->max_length; i++)
+     n += ht->maxval[i];
+ 
++  if (n > ht->num_values)
++    {
++      grub_error (GRUB_ERR_BAD_FILE_TYPE,
++		  "png: out of range inserting huffman table item");
++      return;
++    }
++
+   for (i = 0; i < n; i++)
+     ht->values[ht->num_values - i] = ht->values[ht->num_values - i - 1];
+ 
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0018-video-readers-png-Sanity-check-some-huffman-codes.patch b/sys-boot/grub/files/0018-video-readers-png-Sanity-check-some-huffman-codes.patch
new file mode 100644
index 0000000..584c283
--- /dev/null
+++ b/sys-boot/grub/files/0018-video-readers-png-Sanity-check-some-huffman-codes.patch
@@ -0,0 +1,42 @@
+From 690bee69fae6b4bd911293d6b7e56774e29fdf64 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 6 Jul 2021 19:19:11 +1000
+Subject: [PATCH 18/38] video/readers/png: Sanity check some huffman codes
+
+ASAN picked up two OOB global reads: we weren't checking if some code
+values fit within the cplens or cpdext arrays. Check and throw an error
+if not.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/video/readers/png.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
+index d7ed5aa6c..7f2ba7849 100644
+--- a/grub-core/video/readers/png.c
++++ b/grub-core/video/readers/png.c
+@@ -753,6 +753,9 @@ grub_png_read_dynamic_block (struct grub_png_data *data)
+ 	  int len, dist, pos;
+ 
+ 	  n -= 257;
++	  if (((unsigned int) n) >= ARRAY_SIZE (cplens))
++	    return grub_error (GRUB_ERR_BAD_FILE_TYPE,
++			       "png: invalid huff code");
+ 	  len = cplens[n];
+ 	  if (cplext[n])
+ 	    len += grub_png_get_bits (data, cplext[n]);
+@@ -760,6 +763,9 @@ grub_png_read_dynamic_block (struct grub_png_data *data)
+ 	    return grub_errno;
+ 
+ 	  n = grub_png_get_huff_code (data, &data->dist_table);
++	  if (((unsigned int) n) >= ARRAY_SIZE (cpdist))
++	    return grub_error (GRUB_ERR_BAD_FILE_TYPE,
++			       "png: invalid huff code");
+ 	  dist = cpdist[n];
+ 	  if (cpdext[n])
+ 	    dist += grub_png_get_bits (data, cpdext[n]);
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0019-video-readers-jpeg-Abort-sooner-if-a-read-operation-.patch b/sys-boot/grub/files/0019-video-readers-jpeg-Abort-sooner-if-a-read-operation-.patch
new file mode 100644
index 0000000..67ff4b8
--- /dev/null
+++ b/sys-boot/grub/files/0019-video-readers-jpeg-Abort-sooner-if-a-read-operation-.patch
@@ -0,0 +1,258 @@
+From d5caac8ab79d068ad9a41030c772d03a4d4fbd7b Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 28 Jun 2021 14:16:14 +1000
+Subject: [PATCH 19/38] video/readers/jpeg: Abort sooner if a read operation
+ fails
+
+Fuzzing revealed some inputs that were taking a long time, potentially
+forever, because they did not bail quickly upon encountering an I/O error.
+
+Try to catch I/O errors sooner and bail out.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/video/readers/jpeg.c | 86 +++++++++++++++++++++++++++-------
+ 1 file changed, 70 insertions(+), 16 deletions(-)
+
+diff --git a/grub-core/video/readers/jpeg.c b/grub-core/video/readers/jpeg.c
+index c47ffd651..806c56c78 100644
+--- a/grub-core/video/readers/jpeg.c
++++ b/grub-core/video/readers/jpeg.c
+@@ -109,9 +109,17 @@ static grub_uint8_t
+ grub_jpeg_get_byte (struct grub_jpeg_data *data)
+ {
+   grub_uint8_t r;
++  grub_ssize_t bytes_read;
+ 
+   r = 0;
+-  grub_file_read (data->file, &r, 1);
++  bytes_read = grub_file_read (data->file, &r, 1);
++
++  if (bytes_read != 1)
++    {
++      grub_error (GRUB_ERR_BAD_FILE_TYPE,
++		  "jpeg: unexpected end of data");
++      return 0;
++    }
+ 
+   return r;
+ }
+@@ -120,9 +128,17 @@ static grub_uint16_t
+ grub_jpeg_get_word (struct grub_jpeg_data *data)
+ {
+   grub_uint16_t r;
++  grub_ssize_t bytes_read;
+ 
+   r = 0;
+-  grub_file_read (data->file, &r, sizeof (grub_uint16_t));
++  bytes_read = grub_file_read (data->file, &r, sizeof (grub_uint16_t));
++
++  if (bytes_read != sizeof (grub_uint16_t))
++    {
++      grub_error (GRUB_ERR_BAD_FILE_TYPE,
++		  "jpeg: unexpected end of data");
++      return 0;
++    }
+ 
+   return grub_be_to_cpu16 (r);
+ }
+@@ -135,6 +151,11 @@ grub_jpeg_get_bit (struct grub_jpeg_data *data)
+   if (data->bit_mask == 0)
+     {
+       data->bit_save = grub_jpeg_get_byte (data);
++      if (grub_errno != GRUB_ERR_NONE) {
++	grub_error (GRUB_ERR_BAD_FILE_TYPE,
++		    "jpeg: file read error");
++	return 0;
++      }
+       if (data->bit_save == JPEG_ESC_CHAR)
+ 	{
+ 	  if (grub_jpeg_get_byte (data) != 0)
+@@ -143,6 +164,11 @@ grub_jpeg_get_bit (struct grub_jpeg_data *data)
+ 			  "jpeg: invalid 0xFF in data stream");
+ 	      return 0;
+ 	    }
++	  if (grub_errno != GRUB_ERR_NONE)
++	    {
++	      grub_error (GRUB_ERR_BAD_FILE_TYPE, "jpeg: file read error");
++	      return 0;
++	    }
+ 	}
+       data->bit_mask = 0x80;
+     }
+@@ -161,7 +187,7 @@ grub_jpeg_get_number (struct grub_jpeg_data *data, int num)
+     return 0;
+ 
+   msb = value = grub_jpeg_get_bit (data);
+-  for (i = 1; i < num; i++)
++  for (i = 1; i < num && grub_errno == GRUB_ERR_NONE; i++)
+     value = (value << 1) + (grub_jpeg_get_bit (data) != 0);
+   if (!msb)
+     value += 1 - (1 << num);
+@@ -208,6 +234,8 @@ grub_jpeg_decode_huff_table (struct grub_jpeg_data *data)
+   while (data->file->offset + sizeof (count) + 1 <= next_marker)
+     {
+       id = grub_jpeg_get_byte (data);
++      if (grub_errno != GRUB_ERR_NONE)
++	return grub_errno;
+       ac = (id >> 4) & 1;
+       id &= 0xF;
+       if (id > 1)
+@@ -258,6 +286,8 @@ grub_jpeg_decode_quan_table (struct grub_jpeg_data *data)
+ 
+   next_marker = data->file->offset;
+   next_marker += grub_jpeg_get_word (data);
++  if (grub_errno != GRUB_ERR_NONE)
++    return grub_errno;
+ 
+   if (next_marker > data->file->size)
+     {
+@@ -269,6 +299,8 @@ grub_jpeg_decode_quan_table (struct grub_jpeg_data *data)
+ 	 <= next_marker)
+     {
+       id = grub_jpeg_get_byte (data);
++      if (grub_errno != GRUB_ERR_NONE)
++        return grub_errno;
+       if (id >= 0x10)		/* Upper 4-bit is precision.  */
+ 	return grub_error (GRUB_ERR_BAD_FILE_TYPE,
+ 			   "jpeg: only 8-bit precision is supported");
+@@ -300,6 +332,9 @@ grub_jpeg_decode_sof (struct grub_jpeg_data *data)
+   next_marker = data->file->offset;
+   next_marker += grub_jpeg_get_word (data);
+ 
++  if (grub_errno != GRUB_ERR_NONE)
++    return grub_errno;
++
+   if (grub_jpeg_get_byte (data) != 8)
+     return grub_error (GRUB_ERR_BAD_FILE_TYPE,
+ 		       "jpeg: only 8-bit precision is supported");
+@@ -325,6 +360,8 @@ grub_jpeg_decode_sof (struct grub_jpeg_data *data)
+ 	return grub_error (GRUB_ERR_BAD_FILE_TYPE, "jpeg: invalid index");
+ 
+       ss = grub_jpeg_get_byte (data);	/* Sampling factor.  */
++      if (grub_errno != GRUB_ERR_NONE)
++	return grub_errno;
+       if (!id)
+ 	{
+ 	  grub_uint8_t vs, hs;
+@@ -504,7 +541,7 @@ grub_jpeg_idct_transform (jpeg_data_unit_t du)
+     }
+ }
+ 
+-static void
++static grub_err_t
+ grub_jpeg_decode_du (struct grub_jpeg_data *data, int id, jpeg_data_unit_t du)
+ {
+   int h1, h2, qt;
+@@ -519,6 +556,9 @@ grub_jpeg_decode_du (struct grub_jpeg_data *data, int id, jpeg_data_unit_t du)
+   data->dc_value[id] +=
+     grub_jpeg_get_number (data, grub_jpeg_get_huff_code (data, h1));
+ 
++  if (grub_errno != GRUB_ERR_NONE)
++    return grub_errno;
++
+   du[0] = data->dc_value[id] * (int) data->quan_table[qt][0];
+   pos = 1;
+   while (pos < ARRAY_SIZE (data->quan_table[qt]))
+@@ -533,11 +573,13 @@ grub_jpeg_decode_du (struct grub_jpeg_data *data, int id, jpeg_data_unit_t du)
+       num >>= 4;
+       pos += num;
+ 
++      if (grub_errno != GRUB_ERR_NONE)
++        return grub_errno;
++
+       if (pos >= ARRAY_SIZE (jpeg_zigzag_order))
+ 	{
+-	  grub_error (GRUB_ERR_BAD_FILE_TYPE,
+-		      "jpeg: invalid position in zigzag order!?");
+-	  return;
++	  return grub_error (GRUB_ERR_BAD_FILE_TYPE,
++			     "jpeg: invalid position in zigzag order!?");
+ 	}
+ 
+       du[jpeg_zigzag_order[pos]] = val * (int) data->quan_table[qt][pos];
+@@ -545,6 +587,7 @@ grub_jpeg_decode_du (struct grub_jpeg_data *data, int id, jpeg_data_unit_t du)
+     }
+ 
+   grub_jpeg_idct_transform (du);
++  return GRUB_ERR_NONE;
+ }
+ 
+ static void
+@@ -603,7 +646,8 @@ grub_jpeg_decode_sos (struct grub_jpeg_data *data)
+   data_offset += grub_jpeg_get_word (data);
+ 
+   cc = grub_jpeg_get_byte (data);
+-
++  if (grub_errno != GRUB_ERR_NONE)
++    return grub_errno;
+   if (cc != 3 && cc != 1)
+     return grub_error (GRUB_ERR_BAD_FILE_TYPE,
+ 		       "jpeg: component count must be 1 or 3");
+@@ -616,7 +660,8 @@ grub_jpeg_decode_sos (struct grub_jpeg_data *data)
+       id = grub_jpeg_get_byte (data) - 1;
+       if ((id < 0) || (id >= 3))
+ 	return grub_error (GRUB_ERR_BAD_FILE_TYPE, "jpeg: invalid index");
+-
++      if (grub_errno != GRUB_ERR_NONE)
++	return grub_errno;
+       ht = grub_jpeg_get_byte (data);
+       data->comp_index[id][1] = (ht >> 4);
+       data->comp_index[id][2] = (ht & 0xF) + 2;
+@@ -624,11 +669,14 @@ grub_jpeg_decode_sos (struct grub_jpeg_data *data)
+       if ((data->comp_index[id][1] < 0) || (data->comp_index[id][1] > 3) ||
+ 	  (data->comp_index[id][2] < 0) || (data->comp_index[id][2] > 3))
+ 	return grub_error (GRUB_ERR_BAD_FILE_TYPE, "jpeg: invalid hufftable index");
++      if (grub_errno != GRUB_ERR_NONE)
++	return grub_errno;
+     }
+ 
+   grub_jpeg_get_byte (data);	/* Skip 3 unused bytes.  */
+   grub_jpeg_get_word (data);
+-
++  if (grub_errno != GRUB_ERR_NONE)
++    return grub_errno;
+   if (data->file->offset != data_offset)
+     return grub_error (GRUB_ERR_BAD_FILE_TYPE, "jpeg: extra byte in sos");
+ 
+@@ -646,6 +694,7 @@ grub_jpeg_decode_data (struct grub_jpeg_data *data)
+ {
+   unsigned c1, vb, hb, nr1, nc1;
+   int rst = data->dri;
++  grub_err_t err = GRUB_ERR_NONE;
+ 
+   vb = 8 << data->log_vs;
+   hb = 8 << data->log_hs;
+@@ -666,17 +715,22 @@ grub_jpeg_decode_data (struct grub_jpeg_data *data)
+ 
+ 	for (r2 = 0; r2 < (1U << data->log_vs); r2++)
+ 	  for (c2 = 0; c2 < (1U << data->log_hs); c2++)
+-	    grub_jpeg_decode_du (data, 0, data->ydu[r2 * 2 + c2]);
++            {
++              err = grub_jpeg_decode_du (data, 0, data->ydu[r2 * 2 + c2]);
++              if (err != GRUB_ERR_NONE)
++                return err;
++            }
+ 
+ 	if (data->color_components >= 3)
+ 	  {
+-	    grub_jpeg_decode_du (data, 1, data->cbdu);
+-	    grub_jpeg_decode_du (data, 2, data->crdu);
++	    err = grub_jpeg_decode_du (data, 1, data->cbdu);
++	    if (err != GRUB_ERR_NONE)
++	      return err;
++	    err = grub_jpeg_decode_du (data, 2, data->crdu);
++	    if (err != GRUB_ERR_NONE)
++	      return err;
+ 	  }
+ 
+-	if (grub_errno)
+-	  return grub_errno;
+-
+ 	nr2 = (data->r1 == nr1 - 1) ? (data->image_height - data->r1 * vb) : vb;
+ 	nc2 = (c1 == nc1 - 1) ? (data->image_width - c1 * hb) : hb;
+ 
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0020-video-readers-jpeg-Do-not-reallocate-a-given-huff-ta.patch b/sys-boot/grub/files/0020-video-readers-jpeg-Do-not-reallocate-a-given-huff-ta.patch
new file mode 100644
index 0000000..2073ab9
--- /dev/null
+++ b/sys-boot/grub/files/0020-video-readers-jpeg-Do-not-reallocate-a-given-huff-ta.patch
@@ -0,0 +1,32 @@
+From 768ef2199e0265cf455b154f1a80a612f02274c8 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 28 Jun 2021 14:16:58 +1000
+Subject: [PATCH 20/38] video/readers/jpeg: Do not reallocate a given huff
+ table
+
+Fix a memory leak where an invalid file could cause us to reallocate
+memory for a huffman table we had already allocated memory for.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/video/readers/jpeg.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/grub-core/video/readers/jpeg.c b/grub-core/video/readers/jpeg.c
+index 806c56c78..2284a6c06 100644
+--- a/grub-core/video/readers/jpeg.c
++++ b/grub-core/video/readers/jpeg.c
+@@ -251,6 +251,9 @@ grub_jpeg_decode_huff_table (struct grub_jpeg_data *data)
+ 	n += count[i];
+ 
+       id += ac * 2;
++      if (data->huff_value[id] != NULL)
++	return grub_error (GRUB_ERR_BAD_FILE_TYPE,
++			   "jpeg: attempt to reallocate huffman table");
+       data->huff_value[id] = grub_malloc (n);
+       if (grub_errno)
+ 	return grub_errno;
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0021-video-readers-jpeg-Refuse-to-handle-multiple-start-o.patch b/sys-boot/grub/files/0021-video-readers-jpeg-Refuse-to-handle-multiple-start-o.patch
new file mode 100644
index 0000000..14744b0
--- /dev/null
+++ b/sys-boot/grub/files/0021-video-readers-jpeg-Refuse-to-handle-multiple-start-o.patch
@@ -0,0 +1,46 @@
+From 166a4d61448f74745afe1dac2f2cfb85d04909bf Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 28 Jun 2021 14:25:17 +1000
+Subject: [PATCH 21/38] video/readers/jpeg: Refuse to handle multiple start of
+ streams
+
+An invalid file could contain multiple start of stream blocks, which
+would cause us to reallocate and leak our bitmap. Refuse to handle
+multiple start of streams.
+
+Additionally, fix a grub_error() call formatting.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/video/readers/jpeg.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/grub-core/video/readers/jpeg.c b/grub-core/video/readers/jpeg.c
+index 2284a6c06..579bbe8a4 100644
+--- a/grub-core/video/readers/jpeg.c
++++ b/grub-core/video/readers/jpeg.c
+@@ -683,6 +683,9 @@ grub_jpeg_decode_sos (struct grub_jpeg_data *data)
+   if (data->file->offset != data_offset)
+     return grub_error (GRUB_ERR_BAD_FILE_TYPE, "jpeg: extra byte in sos");
+ 
++  if (*data->bitmap)
++    return grub_error (GRUB_ERR_BAD_FILE_TYPE, "jpeg: too many start of scan blocks");
++
+   if (grub_video_bitmap_create (data->bitmap, data->image_width,
+ 				data->image_height,
+ 				GRUB_VIDEO_BLIT_FORMAT_RGB_888))
+@@ -705,8 +708,8 @@ grub_jpeg_decode_data (struct grub_jpeg_data *data)
+   nc1 = (data->image_width + hb - 1)  >> (3 + data->log_hs);
+ 
+   if (data->bitmap_ptr == NULL)
+-    return grub_error(GRUB_ERR_BAD_FILE_TYPE,
+-		      "jpeg: attempted to decode data before start of stream");
++    return grub_error (GRUB_ERR_BAD_FILE_TYPE,
++		       "jpeg: attempted to decode data before start of stream");
+ 
+   for (; data->r1 < nr1 && (!data->dri || rst);
+        data->r1++, data->bitmap_ptr += (vb * data->image_width - hb * nc1) * 3)
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0022-video-readers-jpeg-Block-int-underflow-wild-pointer-.patch b/sys-boot/grub/files/0022-video-readers-jpeg-Block-int-underflow-wild-pointer-.patch
new file mode 100644
index 0000000..815ca15
--- /dev/null
+++ b/sys-boot/grub/files/0022-video-readers-jpeg-Block-int-underflow-wild-pointer-.patch
@@ -0,0 +1,77 @@
+From 22a3f97d39f6a10b08ad7fd1cc47c4dcd10413f6 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Wed, 7 Jul 2021 15:38:19 +1000
+Subject: [PATCH 22/38] video/readers/jpeg: Block int underflow -> wild pointer
+ write
+
+Certain 1 px wide images caused a wild pointer write in
+grub_jpeg_ycrcb_to_rgb(). This was caused because in grub_jpeg_decode_data(),
+we have the following loop:
+
+for (; data->r1 < nr1 && (!data->dri || rst);
+     data->r1++, data->bitmap_ptr += (vb * data->image_width - hb * nc1) * 3)
+
+We did not check if vb * width >= hb * nc1.
+
+On a 64-bit platform, if that turns out to be negative, it will underflow,
+be interpreted as unsigned 64-bit, then be added to the 64-bit pointer, so
+we see data->bitmap_ptr jump, e.g.:
+
+0x6180_0000_0480 to
+0x6181_0000_0498
+     ^
+     ~--- carry has occurred and this pointer is now far away from
+          any object.
+
+On a 32-bit platform, it will decrement the pointer, creating a pointer
+that won't crash but will overwrite random data.
+
+Catch the underflow and error out.
+
+Fixes: CVE-2021-3697
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/video/readers/jpeg.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/grub-core/video/readers/jpeg.c b/grub-core/video/readers/jpeg.c
+index 579bbe8a4..09596fbf5 100644
+--- a/grub-core/video/readers/jpeg.c
++++ b/grub-core/video/readers/jpeg.c
+@@ -23,6 +23,7 @@
+ #include <grub/mm.h>
+ #include <grub/misc.h>
+ #include <grub/bufio.h>
++#include <grub/safemath.h>
+ 
+ GRUB_MOD_LICENSE ("GPLv3+");
+ 
+@@ -699,6 +700,7 @@ static grub_err_t
+ grub_jpeg_decode_data (struct grub_jpeg_data *data)
+ {
+   unsigned c1, vb, hb, nr1, nc1;
++  unsigned stride_a, stride_b, stride;
+   int rst = data->dri;
+   grub_err_t err = GRUB_ERR_NONE;
+ 
+@@ -711,8 +713,14 @@ grub_jpeg_decode_data (struct grub_jpeg_data *data)
+     return grub_error (GRUB_ERR_BAD_FILE_TYPE,
+ 		       "jpeg: attempted to decode data before start of stream");
+ 
++  if (grub_mul(vb, data->image_width, &stride_a) ||
++      grub_mul(hb, nc1, &stride_b) ||
++      grub_sub(stride_a, stride_b, &stride))
++    return grub_error (GRUB_ERR_BAD_FILE_TYPE,
++		       "jpeg: cannot decode image with these dimensions");
++
+   for (; data->r1 < nr1 && (!data->dri || rst);
+-       data->r1++, data->bitmap_ptr += (vb * data->image_width - hb * nc1) * 3)
++       data->r1++, data->bitmap_ptr += stride * 3)
+     for (c1 = 0;  c1 < nc1 && (!data->dri || rst);
+ 	c1++, rst--, data->bitmap_ptr += hb * 3)
+       {
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0023-normal-charset-Fix-array-out-of-bounds-formatting-un.patch b/sys-boot/grub/files/0023-normal-charset-Fix-array-out-of-bounds-formatting-un.patch
new file mode 100644
index 0000000..424961f
--- /dev/null
+++ b/sys-boot/grub/files/0023-normal-charset-Fix-array-out-of-bounds-formatting-un.patch
@@ -0,0 +1,36 @@
+From 830a9628b2c9e1b6388af624aaf4a80818ed6be0 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 13 Jul 2021 13:24:38 +1000
+Subject: [PATCH 23/38] normal/charset: Fix array out-of-bounds formatting
+ unicode for display
+
+In some cases attempting to display arbitrary binary strings leads
+to ASAN splats reading the widthspec array out of bounds.
+
+Check the index. If it would be out of bounds, return a width of 1.
+I don't know if that's strictly correct, but we're not really expecting
+great display of arbitrary binary data, and it's certainly not worse than
+an OOB read.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/normal/charset.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/grub-core/normal/charset.c b/grub-core/normal/charset.c
+index 7778f1a99..000e687bd 100644
+--- a/grub-core/normal/charset.c
++++ b/grub-core/normal/charset.c
+@@ -395,6 +395,8 @@ grub_unicode_estimate_width (const struct grub_unicode_glyph *c)
+ {
+   if (grub_unicode_get_comb_type (c->base))
+     return 0;
++  if (((unsigned long) (c->base >> 3)) >= ARRAY_SIZE (widthspec))
++    return 1;
+   if (widthspec[c->base >> 3] & (1 << (c->base & 7)))
+     return 2;
+   else
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0024-net-ip-Do-IP-fragment-maths-safely.patch b/sys-boot/grub/files/0024-net-ip-Do-IP-fragment-maths-safely.patch
new file mode 100644
index 0000000..b37c817
--- /dev/null
+++ b/sys-boot/grub/files/0024-net-ip-Do-IP-fragment-maths-safely.patch
@@ -0,0 +1,54 @@
+From 3e4817538de828319ba6d59ced2fbb9b5ca13287 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 20 Dec 2021 19:41:21 +1100
+Subject: [PATCH 24/38] net/ip: Do IP fragment maths safely
+
+We can receive packets with invalid IP fragmentation information. This
+can lead to rsm->total_len underflowing and becoming very large.
+
+Then, in grub_netbuff_alloc(), we add to this very large number, which can
+cause it to overflow and wrap back around to a small positive number.
+The allocation then succeeds, but the resulting buffer is too small and
+subsequent operations can write past the end of the buffer.
+
+Catch the underflow here.
+
+Fixes: CVE-2022-28733
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/net/ip.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/grub-core/net/ip.c b/grub-core/net/ip.c
+index e3d62e97f..3c3d0be0e 100644
+--- a/grub-core/net/ip.c
++++ b/grub-core/net/ip.c
+@@ -25,6 +25,7 @@
+ #include <grub/net/netbuff.h>
+ #include <grub/mm.h>
+ #include <grub/priority_queue.h>
++#include <grub/safemath.h>
+ #include <grub/time.h>
+ 
+ struct iphdr {
+@@ -512,7 +513,14 @@ grub_net_recv_ip4_packets (struct grub_net_buff *nb,
+     {
+       rsm->total_len = (8 * (grub_be_to_cpu16 (iph->frags) & OFFSET_MASK)
+ 			+ (nb->tail - nb->data));
+-      rsm->total_len -= ((iph->verhdrlen & 0xf) * sizeof (grub_uint32_t));
++
++      if (grub_sub (rsm->total_len, (iph->verhdrlen & 0xf) * sizeof (grub_uint32_t),
++		    &rsm->total_len))
++	{
++	  grub_dprintf ("net", "IP reassembly size underflow\n");
++	  return GRUB_ERR_NONE;
++	}
++
+       rsm->asm_netbuff = grub_netbuff_alloc (rsm->total_len);
+       if (!rsm->asm_netbuff)
+ 	{
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0025-net-netbuff-Block-overly-large-netbuff-allocs.patch b/sys-boot/grub/files/0025-net-netbuff-Block-overly-large-netbuff-allocs.patch
new file mode 100644
index 0000000..6349aca
--- /dev/null
+++ b/sys-boot/grub/files/0025-net-netbuff-Block-overly-large-netbuff-allocs.patch
@@ -0,0 +1,55 @@
+From f407e34f3871a4c402bbd516e7c28ea193cef1b7 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 8 Mar 2022 23:47:46 +1100
+Subject: [PATCH 25/38] net/netbuff: Block overly large netbuff allocs
+
+A netbuff shouldn't be too huge. It's bounded by MTU and TCP segment
+reassembly. If we are asked to create one that is unreasonably big, refuse.
+
+This is a hardening measure: if we hit this code, there's a bug somewhere
+else that we should catch and fix.
+
+This commit:
+  - stops the bug propagating any further.
+  - provides a spot to instrument in e.g. fuzzing to try to catch these bugs.
+
+I have put instrumentation (e.g. __builtin_trap() to force a crash) here and
+have not been able to find any more crashes.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/net/netbuff.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/grub-core/net/netbuff.c b/grub-core/net/netbuff.c
+index 72e529635..8da327bfd 100644
+--- a/grub-core/net/netbuff.c
++++ b/grub-core/net/netbuff.c
+@@ -79,10 +79,23 @@ grub_netbuff_alloc (grub_size_t len)
+ 
+   COMPILE_TIME_ASSERT (NETBUFF_ALIGN % sizeof (grub_properly_aligned_t) == 0);
+ 
++  /*
++   * The largest size of a TCP packet is 64 KiB, and everything else
++   * should be a lot smaller - most MTUs are 1500 or less. Cap data
++   * size at 64 KiB + a buffer.
++   */
++  if (len > 0xffffUL + 0x1000UL)
++    {
++      grub_error (GRUB_ERR_BUG,
++                  "attempted to allocate a packet that is too big");
++      return NULL;
++    }
++
+   if (len < NETBUFFMINLEN)
+     len = NETBUFFMINLEN;
+ 
+   len = ALIGN_UP (len, NETBUFF_ALIGN);
++
+ #ifdef GRUB_MACHINE_EMU
+   data = grub_malloc (len + sizeof (*nb));
+ #else
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0026-net-dns-Fix-double-free-addresses-on-corrupt-DNS-res.patch b/sys-boot/grub/files/0026-net-dns-Fix-double-free-addresses-on-corrupt-DNS-res.patch
new file mode 100644
index 0000000..f4ba8d0
--- /dev/null
+++ b/sys-boot/grub/files/0026-net-dns-Fix-double-free-addresses-on-corrupt-DNS-res.patch
@@ -0,0 +1,59 @@
+From c1b7eef9fa4aaefbf7d0507505c3bb2914e1ad6b Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Thu, 16 Sep 2021 01:29:54 +1000
+Subject: [PATCH 26/38] net/dns: Fix double-free addresses on corrupt DNS
+ response
+
+grub_net_dns_lookup() takes as inputs a pointer to an array of addresses
+("addresses") for the given name, and pointer to a number of addresses
+("naddresses"). grub_net_dns_lookup() is responsible for allocating
+"addresses", and the caller is responsible for freeing it if
+"naddresses" > 0.
+
+The DNS recv_hook will sometimes set and free the addresses array,
+for example if the packet is too short:
+
+      if (ptr + 10 >= nb->tail)
+	{
+	  if (!*data->naddresses)
+	    grub_free (*data->addresses);
+	  grub_netbuff_free (nb);
+	  return GRUB_ERR_NONE;
+	}
+
+Later on the nslookup command code unconditionally frees the "addresses"
+array. Normally this is fine: the array is either populated with valid
+data or is NULL. But in these sorts of error cases it is neither NULL
+nor valid and we get a double-free.
+
+Only free "addresses" if "naddresses" > 0.
+
+It looks like the other use of grub_net_dns_lookup() is not affected.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/net/dns.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/grub-core/net/dns.c b/grub-core/net/dns.c
+index 27c5f4142..841ede51e 100644
+--- a/grub-core/net/dns.c
++++ b/grub-core/net/dns.c
+@@ -667,9 +667,11 @@ grub_cmd_nslookup (struct grub_command *cmd __attribute__ ((unused)),
+       grub_net_addr_to_str (&addresses[i], buf);
+       grub_printf ("%s\n", buf);
+     }
+-  grub_free (addresses);
+   if (naddresses)
+-    return GRUB_ERR_NONE;
++    {
++      grub_free (addresses);
++      return GRUB_ERR_NONE;
++    }
+   return grub_error (GRUB_ERR_NET_NO_DOMAIN, N_("no DNS record found"));
+ }
+ 
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0027-net-dns-Don-t-read-past-the-end-of-the-string-we-re-.patch b/sys-boot/grub/files/0027-net-dns-Don-t-read-past-the-end-of-the-string-we-re-.patch
new file mode 100644
index 0000000..9986b05
--- /dev/null
+++ b/sys-boot/grub/files/0027-net-dns-Don-t-read-past-the-end-of-the-string-we-re-.patch
@@ -0,0 +1,73 @@
+From 96abf4fb9d829f4a405d5df39bc74bbccbd0e322 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 20 Dec 2021 21:55:43 +1100
+Subject: [PATCH 27/38] net/dns: Don't read past the end of the string we're
+ checking against
+
+I don't really understand what's going on here but fuzzing found
+a bug where we read past the end of check_with. That's a C string,
+so use grub_strlen() to make sure we don't overread it.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/net/dns.c | 19 ++++++++++++++++---
+ 1 file changed, 16 insertions(+), 3 deletions(-)
+
+diff --git a/grub-core/net/dns.c b/grub-core/net/dns.c
+index 841ede51e..afa389494 100644
+--- a/grub-core/net/dns.c
++++ b/grub-core/net/dns.c
+@@ -146,11 +146,18 @@ check_name_real (const grub_uint8_t *name_at, const grub_uint8_t *head,
+ 		 int *length, char *set)
+ {
+   const char *readable_ptr = check_with;
++  int readable_len;
+   const grub_uint8_t *ptr;
+   char *optr = set;
+   int bytes_processed = 0;
+   if (length)
+     *length = 0;
++
++  if (readable_ptr != NULL)
++    readable_len = grub_strlen (readable_ptr);
++  else
++    readable_len = 0;
++
+   for (ptr = name_at; ptr < tail && bytes_processed < tail - head + 2; )
+     {
+       /* End marker.  */
+@@ -172,13 +179,16 @@ check_name_real (const grub_uint8_t *name_at, const grub_uint8_t *head,
+ 	  ptr = head + (((ptr[0] & 0x3f) << 8) | ptr[1]);
+ 	  continue;
+ 	}
+-      if (readable_ptr && grub_memcmp (ptr + 1, readable_ptr, *ptr) != 0)
++      if (readable_ptr != NULL && (*ptr > readable_len || grub_memcmp (ptr + 1, readable_ptr, *ptr) != 0))
+ 	return 0;
+       if (grub_memchr (ptr + 1, 0, *ptr)
+ 	  || grub_memchr (ptr + 1, '.', *ptr))
+ 	return 0;
+       if (readable_ptr)
+-	readable_ptr += *ptr;
++	{
++	  readable_ptr += *ptr;
++	  readable_len -= *ptr;
++	}
+       if (readable_ptr && *readable_ptr != '.' && *readable_ptr != 0)
+ 	return 0;
+       bytes_processed += *ptr + 1;
+@@ -192,7 +202,10 @@ check_name_real (const grub_uint8_t *name_at, const grub_uint8_t *head,
+       if (optr)
+ 	*optr++ = '.';
+       if (readable_ptr && *readable_ptr)
+-	readable_ptr++;
++	{
++	  readable_ptr++;
++	  readable_len--;
++	}
+       ptr += *ptr + 1;
+     }
+   return 0;
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0028-net-tftp-Prevent-a-UAF-and-double-free-from-a-failed.patch b/sys-boot/grub/files/0028-net-tftp-Prevent-a-UAF-and-double-free-from-a-failed.patch
new file mode 100644
index 0000000..273d41e
--- /dev/null
+++ b/sys-boot/grub/files/0028-net-tftp-Prevent-a-UAF-and-double-free-from-a-failed.patch
@@ -0,0 +1,115 @@
+From ee9652031491326736714a988fbbaeab8ef9255c Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 20 Sep 2021 01:12:24 +1000
+Subject: [PATCH 28/38] net/tftp: Prevent a UAF and double-free from a failed
+ seek
+
+A malicious tftp server can cause UAFs and a double free.
+
+An attempt to read from a network file is handled by grub_net_fs_read(). If
+the read is at an offset other than the current offset, grub_net_seek_real()
+is invoked.
+
+In grub_net_seek_real(), if a backwards seek cannot be satisfied from the
+currently received packets, and the underlying transport does not provide
+a seek method, then grub_net_seek_real() will close and reopen the network
+protocol layer.
+
+For tftp, the ->close() call goes to tftp_close() and frees the tftp_data_t
+file->data. The file->data pointer is not nulled out after the free.
+
+If the ->open() call fails, the file->data will not be reallocated and will
+continue point to a freed memory block. This could happen from a server
+refusing to send the requisite ack to the new tftp request, for example.
+
+The seek and the read will then fail, but the grub_file continues to exist:
+the failed seek does not necessarily cause the entire file to be thrown
+away (e.g. where the file is checked to see if it is gzipped/lzio/xz/etc.,
+a read failure is interpreted as a decompressor passing on the file, not as
+an invalidation of the entire grub_file_t structure).
+
+This means subsequent attempts to read or seek the file will use the old
+file->data after free. Eventually, the file will be close()d again and
+file->data will be freed again.
+
+Mark a net_fs file that doesn't reopen as broken. Do not permit read() or
+close() on a broken file (seek is not exposed directly to the file API -
+it is only called as part of read, so this blocks seeks as well).
+
+As an additional defence, null out the ->data pointer if tftp_open() fails.
+That would have lead to a simple null pointer dereference rather than
+a mess of UAFs.
+
+This may affect other protocols, I haven't checked.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/net/net.c  | 11 +++++++++--
+ grub-core/net/tftp.c |  1 +
+ include/grub/net.h   |  1 +
+ 3 files changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/grub-core/net/net.c b/grub-core/net/net.c
+index 2b6771523..9f09f8e48 100644
+--- a/grub-core/net/net.c
++++ b/grub-core/net/net.c
+@@ -1521,7 +1521,8 @@ grub_net_fs_close (grub_file_t file)
+       grub_netbuff_free (file->device->net->packs.first->nb);
+       grub_net_remove_packet (file->device->net->packs.first);
+     }
+-  file->device->net->protocol->close (file);
++  if (!file->device->net->broken)
++    file->device->net->protocol->close (file);
+   grub_free (file->device->net->name);
+   return GRUB_ERR_NONE;
+ }
+@@ -1744,7 +1745,10 @@ grub_net_seek_real (struct grub_file *file, grub_off_t offset)
+     file->device->net->stall = 0;
+     err = file->device->net->protocol->open (file, file->device->net->name);
+     if (err)
+-      return err;
++      {
++	file->device->net->broken = 1;
++	return err;
++      }
+     grub_net_fs_read_real (file, NULL, offset);
+     return grub_errno;
+   }
+@@ -1753,6 +1757,9 @@ grub_net_seek_real (struct grub_file *file, grub_off_t offset)
+ static grub_ssize_t
+ grub_net_fs_read (grub_file_t file, char *buf, grub_size_t len)
+ {
++  if (file->device->net->broken)
++    return -1;
++
+   if (file->offset != file->device->net->offset)
+     {
+       grub_err_t err;
+diff --git a/grub-core/net/tftp.c b/grub-core/net/tftp.c
+index ebbafe7a1..ee305e18a 100644
+--- a/grub-core/net/tftp.c
++++ b/grub-core/net/tftp.c
+@@ -400,6 +400,7 @@ tftp_open (struct grub_file *file, const char *filename)
+     {
+       grub_net_udp_close (data->sock);
+       grub_free (data);
++      file->data = NULL;
+       return grub_errno;
+     }
+ 
+diff --git a/include/grub/net.h b/include/grub/net.h
+index db21e792f..a64a04cc8 100644
+--- a/include/grub/net.h
++++ b/include/grub/net.h
+@@ -276,6 +276,7 @@ typedef struct grub_net
+   grub_fs_t fs;
+   int eof;
+   int stall;
++  int broken;
+ } *grub_net_t;
+ 
+ extern grub_net_t (*EXPORT_VAR (grub_net_open)) (const char *name);
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0029-net-tftp-Avoid-a-trivial-UAF.patch b/sys-boot/grub/files/0029-net-tftp-Avoid-a-trivial-UAF.patch
new file mode 100644
index 0000000..4043be0
--- /dev/null
+++ b/sys-boot/grub/files/0029-net-tftp-Avoid-a-trivial-UAF.patch
@@ -0,0 +1,37 @@
+From 8f287c3e13da2bf82049e2e464eca7ca4fef0a85 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 18 Jan 2022 14:29:20 +1100
+Subject: [PATCH 29/38] net/tftp: Avoid a trivial UAF
+
+Under tftp errors, we print a tftp error message from the tftp header.
+However, the tftph pointer is a pointer inside nb, the netbuff. Previously,
+we were freeing the nb and then dereferencing it. Don't do that, use it
+and then free it later.
+
+This isn't really _bad_ per se, especially as we're single-threaded, but
+it trips up fuzzers.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/net/tftp.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/grub-core/net/tftp.c b/grub-core/net/tftp.c
+index ee305e18a..7dbd3056d 100644
+--- a/grub-core/net/tftp.c
++++ b/grub-core/net/tftp.c
+@@ -251,9 +251,9 @@ tftp_receive (grub_net_udp_socket_t sock __attribute__ ((unused)),
+       return GRUB_ERR_NONE;
+     case TFTP_ERROR:
+       data->have_oack = 1;
+-      grub_netbuff_free (nb);
+       grub_error (GRUB_ERR_IO, "%s", tftph->u.err.errmsg);
+       grub_error_save (&data->save_err);
++      grub_netbuff_free (nb);
+       return GRUB_ERR_NONE;
+     default:
+       grub_netbuff_free (nb);
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0030-net-http-Do-not-tear-down-socket-if-it-s-already-bee.patch b/sys-boot/grub/files/0030-net-http-Do-not-tear-down-socket-if-it-s-already-bee.patch
new file mode 100644
index 0000000..5066700
--- /dev/null
+++ b/sys-boot/grub/files/0030-net-http-Do-not-tear-down-socket-if-it-s-already-bee.patch
@@ -0,0 +1,44 @@
+From dad94fffe14be476df5f34a8e5a90ea62a41fe12 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 1 Mar 2022 23:14:15 +1100
+Subject: [PATCH 30/38] net/http: Do not tear down socket if it's already been
+ torn down
+
+It's possible for data->sock to get torn down in tcp error handling.
+If we unconditionally tear it down again we will end up doing writes
+to an offset of the NULL pointer when we go to tear it down again.
+
+Detect if it has been torn down and don't do it again.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/net/http.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/grub-core/net/http.c b/grub-core/net/http.c
+index 8d6c62c76..f8d7bf0cd 100644
+--- a/grub-core/net/http.c
++++ b/grub-core/net/http.c
+@@ -445,7 +445,7 @@ http_establish (struct grub_file *file, grub_off_t offset, int initial)
+       return err;
+     }
+ 
+-  for (i = 0; !data->headers_recv && i < 100; i++)
++  for (i = 0; data->sock && !data->headers_recv && i < 100; i++)
+     {
+       grub_net_tcp_retransmit ();
+       grub_net_poll_cards (300, &data->headers_recv);
+@@ -453,7 +453,8 @@ http_establish (struct grub_file *file, grub_off_t offset, int initial)
+ 
+   if (!data->headers_recv)
+     {
+-      grub_net_tcp_close (data->sock, GRUB_NET_TCP_ABORT);
++      if (data->sock)
++        grub_net_tcp_close (data->sock, GRUB_NET_TCP_ABORT);
+       if (data->err)
+ 	{
+ 	  char *str = data->errmsg;
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0031-net-http-Fix-OOB-write-for-split-http-headers.patch b/sys-boot/grub/files/0031-net-http-Fix-OOB-write-for-split-http-headers.patch
new file mode 100644
index 0000000..394ddd7
--- /dev/null
+++ b/sys-boot/grub/files/0031-net-http-Fix-OOB-write-for-split-http-headers.patch
@@ -0,0 +1,48 @@
+From ec6bfd3237394c1c7dbf2fd73417173318d22f4b Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 8 Mar 2022 18:17:03 +1100
+Subject: [PATCH 31/38] net/http: Fix OOB write for split http headers
+
+GRUB has special code for handling an http header that is split
+across two packets.
+
+The code tracks the end of line by looking for a "\n" byte. The
+code for split headers has always advanced the pointer just past the
+end of the line, whereas the code that handles unsplit headers does
+not advance the pointer. This extra advance causes the length to be
+one greater, which breaks an assumption in parse_line(), leading to
+it writing a NUL byte one byte past the end of the buffer where we
+reconstruct the line from the two packets.
+
+It's conceivable that an attacker controlled set of packets could
+cause this to zero out the first byte of the "next" pointer of the
+grub_mm_region structure following the current_line buffer.
+
+Do not advance the pointer in the split header case.
+
+Fixes: CVE-2022-28734
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/net/http.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/grub-core/net/http.c b/grub-core/net/http.c
+index f8d7bf0cd..33a0a28c4 100644
+--- a/grub-core/net/http.c
++++ b/grub-core/net/http.c
+@@ -190,9 +190,7 @@ http_receive (grub_net_tcp_socket_t sock __attribute__ ((unused)),
+ 	  int have_line = 1;
+ 	  char *t;
+ 	  ptr = grub_memchr (nb->data, '\n', nb->tail - nb->data);
+-	  if (ptr)
+-	    ptr++;
+-	  else
++	  if (ptr == NULL)
+ 	    {
+ 	      have_line = 0;
+ 	      ptr = (char *) nb->tail;
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0032-net-http-Error-out-on-headers-with-LF-without-CR.patch b/sys-boot/grub/files/0032-net-http-Error-out-on-headers-with-LF-without-CR.patch
new file mode 100644
index 0000000..5c658ee
--- /dev/null
+++ b/sys-boot/grub/files/0032-net-http-Error-out-on-headers-with-LF-without-CR.patch
@@ -0,0 +1,50 @@
+From b26b4c08e7119281ff30d0fb4a6169bd2afa8fe4 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 8 Mar 2022 19:04:40 +1100
+Subject: [PATCH 32/38] net/http: Error out on headers with LF without CR
+
+In a similar vein to the previous patch, parse_line() would write
+a NUL byte past the end of the buffer if there was an HTTP header
+with a LF rather than a CRLF.
+
+RFC-2616 says:
+
+  Many HTTP/1.1 header field values consist of words separated by LWS
+  or special characters. These special characters MUST be in a quoted
+  string to be used within a parameter value (as defined in section 3.6).
+
+We don't support quoted sections or continuation lines, etc.
+
+If we see an LF that's not part of a CRLF, bail out.
+
+Fixes: CVE-2022-28734
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/net/http.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/grub-core/net/http.c b/grub-core/net/http.c
+index 33a0a28c4..9291a13e2 100644
+--- a/grub-core/net/http.c
++++ b/grub-core/net/http.c
+@@ -68,7 +68,15 @@ parse_line (grub_file_t file, http_data_t data, char *ptr, grub_size_t len)
+   char *end = ptr + len;
+   while (end > ptr && *(end - 1) == '\r')
+     end--;
++
++  /* LF without CR. */
++  if (end == ptr + len)
++    {
++      data->errmsg = grub_strdup (_("invalid HTTP header - LF without CR"));
++      return GRUB_ERR_NONE;
++    }
+   *end = 0;
++
+   /* Trailing CRLF.  */
+   if (data->in_chunk_len == 1)
+     {
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0033-fs-f2fs-Do-not-read-past-the-end-of-nat-journal-entr.patch b/sys-boot/grub/files/0033-fs-f2fs-Do-not-read-past-the-end-of-nat-journal-entr.patch
new file mode 100644
index 0000000..ea8ba1e
--- /dev/null
+++ b/sys-boot/grub/files/0033-fs-f2fs-Do-not-read-past-the-end-of-nat-journal-entr.patch
@@ -0,0 +1,75 @@
+From 4bd9877f62166b7e369773ab92fe24a39f6515f8 Mon Sep 17 00:00:00 2001
+From: Sudhakar Kuppusamy <sudhakar@linux.ibm.com>
+Date: Wed, 6 Apr 2022 18:03:37 +0530
+Subject: [PATCH 33/38] fs/f2fs: Do not read past the end of nat journal
+ entries
+
+A corrupt f2fs file system could specify a nat journal entry count
+that is beyond the maximum NAT_JOURNAL_ENTRIES.
+
+Check if the specified nat journal entry count before accessing the
+array, and throw an error if it is too large.
+
+Signed-off-by: Sudhakar Kuppusamy <sudhakar@linux.ibm.com>
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/fs/f2fs.c | 21 ++++++++++++++-------
+ 1 file changed, 14 insertions(+), 7 deletions(-)
+
+diff --git a/grub-core/fs/f2fs.c b/grub-core/fs/f2fs.c
+index 8a9992ca9..63702214b 100644
+--- a/grub-core/fs/f2fs.c
++++ b/grub-core/fs/f2fs.c
+@@ -632,23 +632,27 @@ get_nat_journal (struct grub_f2fs_data *data)
+   return err;
+ }
+ 
+-static grub_uint32_t
+-get_blkaddr_from_nat_journal (struct grub_f2fs_data *data, grub_uint32_t nid)
++static grub_err_t
++get_blkaddr_from_nat_journal (struct grub_f2fs_data *data, grub_uint32_t nid,
++                              grub_uint32_t *blkaddr)
+ {
+   grub_uint16_t n = grub_le_to_cpu16 (data->nat_j.n_nats);
+-  grub_uint32_t blkaddr = 0;
+   grub_uint16_t i;
+ 
++  if (n >= NAT_JOURNAL_ENTRIES)
++    return grub_error (GRUB_ERR_BAD_FS,
++                       "invalid number of nat journal entries");
++
+   for (i = 0; i < n; i++)
+     {
+       if (grub_le_to_cpu32 (data->nat_j.entries[i].nid) == nid)
+         {
+-          blkaddr = grub_le_to_cpu32 (data->nat_j.entries[i].ne.block_addr);
++          *blkaddr = grub_le_to_cpu32 (data->nat_j.entries[i].ne.block_addr);
+           break;
+         }
+     }
+ 
+-  return blkaddr;
++  return GRUB_ERR_NONE;
+ }
+ 
+ static grub_uint32_t
+@@ -656,10 +660,13 @@ get_node_blkaddr (struct grub_f2fs_data *data, grub_uint32_t nid)
+ {
+   struct grub_f2fs_nat_block *nat_block;
+   grub_uint32_t seg_off, block_off, entry_off, block_addr;
+-  grub_uint32_t blkaddr;
++  grub_uint32_t blkaddr = 0;
+   grub_err_t err;
+ 
+-  blkaddr = get_blkaddr_from_nat_journal (data, nid);
++  err = get_blkaddr_from_nat_journal (data, nid, &blkaddr);
++  if (err != GRUB_ERR_NONE)
++    return 0;
++
+   if (blkaddr)
+     return blkaddr;
+ 
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0034-fs-f2fs-Do-not-read-past-the-end-of-nat-bitmap.patch b/sys-boot/grub/files/0034-fs-f2fs-Do-not-read-past-the-end-of-nat-bitmap.patch
new file mode 100644
index 0000000..437f9699
--- /dev/null
+++ b/sys-boot/grub/files/0034-fs-f2fs-Do-not-read-past-the-end-of-nat-bitmap.patch
@@ -0,0 +1,134 @@
+From deae293f399dde3773cf37dfa9b77ca7e04ef772 Mon Sep 17 00:00:00 2001
+From: Sudhakar Kuppusamy <sudhakar@linux.ibm.com>
+Date: Wed, 6 Apr 2022 18:49:09 +0530
+Subject: [PATCH 34/38] fs/f2fs: Do not read past the end of nat bitmap
+
+A corrupt f2fs filesystem could have a block offset or a bitmap
+offset that would cause us to read beyond the bounds of the nat
+bitmap.
+
+Introduce the nat_bitmap_size member in grub_f2fs_data which holds
+the size of nat bitmap.
+
+Set the size when loading the nat bitmap in nat_bitmap_ptr(), and
+catch when an invalid offset would create a pointer past the end of
+the allocated space.
+
+Check against the bitmap size in grub_f2fs_test_bit() test bit to avoid
+reading past the end of the nat bitmap.
+
+Signed-off-by: Sudhakar Kuppusamy <sudhakar@linux.ibm.com>
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/fs/f2fs.c | 33 +++++++++++++++++++++++++++------
+ 1 file changed, 27 insertions(+), 6 deletions(-)
+
+diff --git a/grub-core/fs/f2fs.c b/grub-core/fs/f2fs.c
+index 63702214b..8898b235e 100644
+--- a/grub-core/fs/f2fs.c
++++ b/grub-core/fs/f2fs.c
+@@ -122,6 +122,7 @@ GRUB_MOD_LICENSE ("GPLv3+");
+ #define F2FS_INLINE_DOTS          0x10  /* File having implicit dot dentries. */
+ 
+ #define MAX_VOLUME_NAME           512
++#define MAX_NAT_BITMAP_SIZE       3900
+ 
+ enum FILE_TYPE
+ {
+@@ -183,7 +184,7 @@ struct grub_f2fs_checkpoint
+   grub_uint32_t                   checksum_offset;
+   grub_uint64_t                   elapsed_time;
+   grub_uint8_t                    alloc_type[MAX_ACTIVE_LOGS];
+-  grub_uint8_t                    sit_nat_version_bitmap[3900];
++  grub_uint8_t                    sit_nat_version_bitmap[MAX_NAT_BITMAP_SIZE];
+   grub_uint32_t                   checksum;
+ } GRUB_PACKED;
+ 
+@@ -302,6 +303,7 @@ struct grub_f2fs_data
+ 
+   struct grub_f2fs_nat_journal    nat_j;
+   char                            *nat_bitmap;
++  grub_uint32_t                   nat_bitmap_size;
+ 
+   grub_disk_t                     disk;
+   struct grub_f2fs_node           *inode;
+@@ -377,15 +379,20 @@ sum_blk_addr (struct grub_f2fs_data *data, int base, int type)
+ }
+ 
+ static void *
+-nat_bitmap_ptr (struct grub_f2fs_data *data)
++nat_bitmap_ptr (struct grub_f2fs_data *data, grub_uint32_t *nat_bitmap_size)
+ {
+   struct grub_f2fs_checkpoint *ckpt = &data->ckpt;
+   grub_uint32_t offset;
++  *nat_bitmap_size = MAX_NAT_BITMAP_SIZE;
+ 
+   if (grub_le_to_cpu32 (data->sblock.cp_payload) > 0)
+     return ckpt->sit_nat_version_bitmap;
+ 
+   offset = grub_le_to_cpu32 (ckpt->sit_ver_bitmap_bytesize);
++  if (offset >= MAX_NAT_BITMAP_SIZE)
++     return NULL;
++
++  *nat_bitmap_size = *nat_bitmap_size - offset;
+ 
+   return ckpt->sit_nat_version_bitmap + offset;
+ }
+@@ -438,11 +445,15 @@ grub_f2fs_crc_valid (grub_uint32_t blk_crc, void *buf, const grub_uint32_t len)
+ }
+ 
+ static int
+-grub_f2fs_test_bit (grub_uint32_t nr, const char *p)
++grub_f2fs_test_bit (grub_uint32_t nr, const char *p, grub_uint32_t len)
+ {
+   int mask;
++  grub_uint32_t shifted_nr = (nr >> 3);
++
++  if (shifted_nr >= len)
++    return -1;
+ 
+-  p += (nr >> 3);
++  p += shifted_nr;
+   mask = 1 << (7 - (nr & 0x07));
+ 
+   return mask & *p;
+@@ -662,6 +673,7 @@ get_node_blkaddr (struct grub_f2fs_data *data, grub_uint32_t nid)
+   grub_uint32_t seg_off, block_off, entry_off, block_addr;
+   grub_uint32_t blkaddr = 0;
+   grub_err_t err;
++  int result_bit;
+ 
+   err = get_blkaddr_from_nat_journal (data, nid, &blkaddr);
+   if (err != GRUB_ERR_NONE)
+@@ -682,8 +694,15 @@ get_node_blkaddr (struct grub_f2fs_data *data, grub_uint32_t nid)
+         ((seg_off * data->blocks_per_seg) << 1) +
+         (block_off & (data->blocks_per_seg - 1));
+ 
+-  if (grub_f2fs_test_bit (block_off, data->nat_bitmap))
++  result_bit = grub_f2fs_test_bit (block_off, data->nat_bitmap,
++                                   data->nat_bitmap_size);
++  if (result_bit > 0)
+     block_addr += data->blocks_per_seg;
++  else if (result_bit == -1)
++    {
++      grub_free (nat_block);
++      return 0;
++    }
+ 
+   err = grub_f2fs_block_read (data, block_addr, nat_block);
+   if (err)
+@@ -833,7 +852,9 @@ grub_f2fs_mount (grub_disk_t disk)
+   if (err)
+     goto fail;
+ 
+-  data->nat_bitmap = nat_bitmap_ptr (data);
++  data->nat_bitmap = nat_bitmap_ptr (data, &data->nat_bitmap_size);
++  if (data->nat_bitmap == NULL)
++    goto fail;
+ 
+   err = get_nat_journal (data);
+   if (err)
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0035-fs-f2fs-Do-not-copy-file-names-that-are-too-long.patch b/sys-boot/grub/files/0035-fs-f2fs-Do-not-copy-file-names-that-are-too-long.patch
new file mode 100644
index 0000000..ad5592e
--- /dev/null
+++ b/sys-boot/grub/files/0035-fs-f2fs-Do-not-copy-file-names-that-are-too-long.patch
@@ -0,0 +1,40 @@
+From e40b83335bb33d9a2d1c06cc269875b3b3d6c539 Mon Sep 17 00:00:00 2001
+From: Sudhakar Kuppusamy <sudhakar@linux.ibm.com>
+Date: Wed, 6 Apr 2022 18:17:43 +0530
+Subject: [PATCH 35/38] fs/f2fs: Do not copy file names that are too long
+
+A corrupt f2fs file system might specify a name length which is greater
+than the maximum name length supported by the GRUB f2fs driver.
+
+We will allocate enough memory to store the overly long name, but there
+are only F2FS_NAME_LEN bytes in the source, so we would read past the end
+of the source.
+
+While checking directory entries, do not copy a file name with an invalid
+length.
+
+Signed-off-by: Sudhakar Kuppusamy <sudhakar@linux.ibm.com>
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/fs/f2fs.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/grub-core/fs/f2fs.c b/grub-core/fs/f2fs.c
+index 8898b235e..df6beb544 100644
+--- a/grub-core/fs/f2fs.c
++++ b/grub-core/fs/f2fs.c
+@@ -1003,6 +1003,10 @@ grub_f2fs_check_dentries (struct grub_f2fs_dir_iter_ctx *ctx)
+ 
+       ftype = ctx->dentry[i].file_type;
+       name_len = grub_le_to_cpu16 (ctx->dentry[i].name_len);
++
++      if (name_len >= F2FS_NAME_LEN)
++        return 0;
++
+       filename = grub_malloc (name_len + 1);
+       if (!filename)
+         return 0;
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0036-fs-btrfs-Fix-several-fuzz-issues-with-invalid-dir-it.patch b/sys-boot/grub/files/0036-fs-btrfs-Fix-several-fuzz-issues-with-invalid-dir-it.patch
new file mode 100644
index 0000000..be1e929
--- /dev/null
+++ b/sys-boot/grub/files/0036-fs-btrfs-Fix-several-fuzz-issues-with-invalid-dir-it.patch
@@ -0,0 +1,79 @@
+From 11e1cffb7e2492ddac4ab8d19ce466783adbb957 Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Tue, 29 Mar 2022 10:49:56 +0000
+Subject: [PATCH 36/38] fs/btrfs: Fix several fuzz issues with invalid dir item
+ sizing
+
+According to the btrfs code in Linux, the structure of a directory item
+leaf should be of the form:
+
+  |struct btrfs_dir_item|name|data|
+
+in GRUB the name len and data len are in the grub_btrfs_dir_item
+structure's n and m fields respectively.
+
+The combined size of the structure, name and data should be less than
+the allocated memory, a difference to the Linux kernel's struct
+btrfs_dir_item is that the grub_btrfs_dir_item has an extra field for
+where the name is stored, so we adjust for that too.
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/fs/btrfs.c | 26 ++++++++++++++++++++++++++
+ 1 file changed, 26 insertions(+)
+
+diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c
+index 937153306..139c6616d 100644
+--- a/grub-core/fs/btrfs.c
++++ b/grub-core/fs/btrfs.c
+@@ -1991,6 +1991,7 @@ grub_btrfs_dir (grub_device_t device, const char *path,
+   int r = 0;
+   grub_uint64_t tree;
+   grub_uint8_t type;
++  grub_size_t est_size = 0;
+ 
+   if (!data)
+     return grub_errno;
+@@ -2049,6 +2050,18 @@ grub_btrfs_dir (grub_device_t device, const char *path,
+ 	  break;
+ 	}
+ 
++      if (direl == NULL ||
++	  grub_add (grub_le_to_cpu16 (direl->n),
++		    grub_le_to_cpu16 (direl->m), &est_size) ||
++	  grub_add (est_size, sizeof (*direl), &est_size) ||
++	  grub_sub (est_size, sizeof (direl->name), &est_size) ||
++	  est_size > allocated)
++       {
++         grub_errno = GRUB_ERR_OUT_OF_RANGE;
++         r = -grub_errno;
++         goto out;
++       }
++
+       for (cdirel = direl;
+ 	   (grub_uint8_t *) cdirel - (grub_uint8_t *) direl
+ 	   < (grub_ssize_t) elemsize;
+@@ -2059,6 +2072,19 @@ grub_btrfs_dir (grub_device_t device, const char *path,
+ 	  char c;
+ 	  struct grub_btrfs_inode inode;
+ 	  struct grub_dirhook_info info;
++
++	  if (cdirel == NULL ||
++	      grub_add (grub_le_to_cpu16 (cdirel->n),
++			grub_le_to_cpu16 (cdirel->m), &est_size) ||
++	      grub_add (est_size, sizeof (*cdirel), &est_size) ||
++	      grub_sub (est_size, sizeof (cdirel->name), &est_size) ||
++	      est_size > allocated)
++	   {
++	     grub_errno = GRUB_ERR_OUT_OF_RANGE;
++	     r = -grub_errno;
++	     goto out;
++	   }
++
+ 	  err = grub_btrfs_read_inode (data, &inode, cdirel->key.object_id,
+ 				       tree);
+ 	  grub_memset (&info, 0, sizeof (info));
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0037-fs-btrfs-Fix-more-ASAN-and-SEGV-issues-found-with-fu.patch b/sys-boot/grub/files/0037-fs-btrfs-Fix-more-ASAN-and-SEGV-issues-found-with-fu.patch
new file mode 100644
index 0000000..e87a0fa
--- /dev/null
+++ b/sys-boot/grub/files/0037-fs-btrfs-Fix-more-ASAN-and-SEGV-issues-found-with-fu.patch
@@ -0,0 +1,137 @@
+From 13dce204cf6f3f0f49c9949971052a4c9657c0c0 Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Tue, 29 Mar 2022 15:52:46 +0000
+Subject: [PATCH 37/38] fs/btrfs: Fix more ASAN and SEGV issues found with
+ fuzzing
+
+The fuzzer is generating btrfs file systems that have chunks with
+invalid combinations of stripes and substripes for the given RAID
+configurations.
+
+After examining the Linux kernel fs/btrfs/tree-checker.c code, it
+appears that sub-stripes should only be applied to RAID10, and in that
+case there should only ever be 2 of them.
+
+Similarly, RAID single should only have 1 stripe, and RAID1/1C3/1C4
+should have 2. 3 or 4 stripes respectively, which is what redundancy
+corresponds.
+
+Some of the chunks ended up with a size of 0, which grub_malloc() still
+returned memory for and in turn generated ASAN errors later when
+accessed.
+
+While it would be possible to specifically limit the number of stripes,
+a more correct test was on the combination of the chunk item, and the
+number of stripes by the size of the chunk stripe structure in
+comparison to the size of the chunk itself.
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/fs/btrfs.c | 55 ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 55 insertions(+)
+
+diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c
+index 139c6616d..73b230632 100644
+--- a/grub-core/fs/btrfs.c
++++ b/grub-core/fs/btrfs.c
+@@ -912,6 +912,12 @@ grub_btrfs_read_logical (struct grub_btrfs_data *data, grub_disk_addr_t addr,
+ 	return grub_error (GRUB_ERR_BAD_FS,
+ 			   "couldn't find the chunk descriptor");
+ 
++      if (!chsize)
++	{
++	  grub_dprintf ("btrfs", "zero-size chunk\n");
++	  return grub_error (GRUB_ERR_BAD_FS,
++			     "got an invalid zero-size chunk");
++	}
+       chunk = grub_malloc (chsize);
+       if (!chunk)
+ 	return grub_errno;
+@@ -970,6 +976,16 @@ grub_btrfs_read_logical (struct grub_btrfs_data *data, grub_disk_addr_t addr,
+ 	      stripe_length = grub_divmod64 (grub_le_to_cpu64 (chunk->size),
+ 					     nstripes,
+ 					     NULL);
++
++	      /* For single, there should be exactly 1 stripe. */
++	      if (grub_le_to_cpu16 (chunk->nstripes) != 1)
++		{
++		  grub_dprintf ("btrfs", "invalid RAID_SINGLE: nstripes != 1 (%u)\n",
++				grub_le_to_cpu16 (chunk->nstripes));
++		  return grub_error (GRUB_ERR_BAD_FS,
++				     "invalid RAID_SINGLE: nstripes != 1 (%u)",
++				      grub_le_to_cpu16 (chunk->nstripes));
++		}
+ 	      if (stripe_length == 0)
+ 		stripe_length = 512;
+ 	      stripen = grub_divmod64 (off, stripe_length, &stripe_offset);
+@@ -989,6 +1005,19 @@ grub_btrfs_read_logical (struct grub_btrfs_data *data, grub_disk_addr_t addr,
+ 	      stripen = 0;
+ 	      stripe_offset = off;
+ 	      csize = grub_le_to_cpu64 (chunk->size) - off;
++
++             /*
++	      * Redundancy, and substripes only apply to RAID10, and there
++	      * should be exactly 2 sub-stripes.
++	      */
++	     if (grub_le_to_cpu16 (chunk->nstripes) != redundancy)
++               {
++                 grub_dprintf ("btrfs", "invalid RAID1: nstripes != %u (%u)\n",
++                               redundancy, grub_le_to_cpu16 (chunk->nstripes));
++                 return grub_error (GRUB_ERR_BAD_FS,
++                                    "invalid RAID1: nstripes != %u (%u)",
++                                    redundancy, grub_le_to_cpu16 (chunk->nstripes));
++               }
+ 	      break;
+ 	    }
+ 	  case GRUB_BTRFS_CHUNK_TYPE_RAID0:
+@@ -1025,6 +1054,20 @@ grub_btrfs_read_logical (struct grub_btrfs_data *data, grub_disk_addr_t addr,
+ 	      stripe_offset = low + chunk_stripe_length
+ 		* high;
+ 	      csize = chunk_stripe_length - low;
++
++	      /*
++	       * Substripes only apply to RAID10, and there
++	       * should be exactly 2 sub-stripes.
++	       */
++	      if (grub_le_to_cpu16 (chunk->nsubstripes) != 2)
++		{
++		  grub_dprintf ("btrfs", "invalid RAID10: nsubstripes != 2 (%u)",
++				grub_le_to_cpu16 (chunk->nsubstripes));
++		  return grub_error (GRUB_ERR_BAD_FS,
++				     "invalid RAID10: nsubstripes != 2 (%u)",
++				     grub_le_to_cpu16 (chunk->nsubstripes));
++		}
++
+ 	      break;
+ 	    }
+ 	  case GRUB_BTRFS_CHUNK_TYPE_RAID5:
+@@ -1124,6 +1167,8 @@ grub_btrfs_read_logical (struct grub_btrfs_data *data, grub_disk_addr_t addr,
+ 
+ 	for (j = 0; j < 2; j++)
+ 	  {
++	    grub_size_t est_chunk_alloc = 0;
++
+ 	    grub_dprintf ("btrfs", "chunk 0x%" PRIxGRUB_UINT64_T
+ 			  "+0x%" PRIxGRUB_UINT64_T
+ 			  " (%d stripes (%d substripes) of %"
+@@ -1136,6 +1181,16 @@ grub_btrfs_read_logical (struct grub_btrfs_data *data, grub_disk_addr_t addr,
+ 	    grub_dprintf ("btrfs", "reading laddr 0x%" PRIxGRUB_UINT64_T "\n",
+ 			  addr);
+ 
++	    if (grub_mul (sizeof (struct grub_btrfs_chunk_stripe),
++			  grub_le_to_cpu16 (chunk->nstripes), &est_chunk_alloc) ||
++		grub_add (est_chunk_alloc,
++			  sizeof (struct grub_btrfs_chunk_item), &est_chunk_alloc) ||
++		est_chunk_alloc > chunk->size)
++	      {
++		err = GRUB_ERR_BAD_FS;
++		break;
++	      }
++
+ 	    if (is_raid56)
+ 	      {
+ 		err = btrfs_read_from_chunk (data, chunk, stripen,
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/0038-fs-btrfs-Fix-more-fuzz-issues-related-to-chunks.patch b/sys-boot/grub/files/0038-fs-btrfs-Fix-more-fuzz-issues-related-to-chunks.patch
new file mode 100644
index 0000000..44a801f
--- /dev/null
+++ b/sys-boot/grub/files/0038-fs-btrfs-Fix-more-fuzz-issues-related-to-chunks.patch
@@ -0,0 +1,78 @@
+From 2f4430cc0a44fd8c8aa7aee5c51887667ad3d6c3 Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Thu, 7 Apr 2022 15:18:12 +0000
+Subject: [PATCH 38/38] fs/btrfs: Fix more fuzz issues related to chunks
+
+The corpus was generating issues in grub_btrfs_read_logical() when
+attempting to iterate over stripe entries in the superblock's
+bootmapping.
+
+In most cases the reason for the failure was that the number of stripes
+in chunk->nstripes exceeded the possible space statically allocated in
+superblock bootmapping space. Each stripe entry in the bootmapping block
+consists of a grub_btrfs_key followed by a grub_btrfs_chunk_stripe.
+
+Another issue that came up was that while calculating the chunk size,
+in an earlier piece of code in that function, depending on the data
+provided in the btrfs file system, it would end up calculating a size
+that was too small to contain even 1 grub_btrfs_chunk_item, which is
+obviously invalid too.
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/fs/btrfs.c | 24 ++++++++++++++++++++++++
+ 1 file changed, 24 insertions(+)
+
+diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c
+index 73b230632..ec72f7be3 100644
+--- a/grub-core/fs/btrfs.c
++++ b/grub-core/fs/btrfs.c
+@@ -918,6 +918,17 @@ grub_btrfs_read_logical (struct grub_btrfs_data *data, grub_disk_addr_t addr,
+ 	  return grub_error (GRUB_ERR_BAD_FS,
+ 			     "got an invalid zero-size chunk");
+ 	}
++
++      /*
++       * The space being allocated for a chunk should at least be able to
++       * contain one chunk item.
++       */
++      if (chsize < sizeof (struct grub_btrfs_chunk_item))
++       {
++         grub_dprintf ("btrfs", "chunk-size too small\n");
++         return grub_error (GRUB_ERR_BAD_FS,
++                            "got an invalid chunk size");
++       }
+       chunk = grub_malloc (chsize);
+       if (!chunk)
+ 	return grub_errno;
+@@ -1165,6 +1176,13 @@ grub_btrfs_read_logical (struct grub_btrfs_data *data, grub_disk_addr_t addr,
+ 	if (csize > (grub_uint64_t) size)
+ 	  csize = size;
+ 
++	/*
++	 * The space for a chunk stripe is limited to the space provide in the super-block's
++	 * bootstrap mapping with an initial btrfs key at the start of each chunk.
++	 */
++	grub_size_t avail_stripes = sizeof (data->sblock.bootstrap_mapping) /
++	  (sizeof (struct grub_btrfs_key) + sizeof (struct grub_btrfs_chunk_stripe));
++
+ 	for (j = 0; j < 2; j++)
+ 	  {
+ 	    grub_size_t est_chunk_alloc = 0;
+@@ -1191,6 +1209,12 @@ grub_btrfs_read_logical (struct grub_btrfs_data *data, grub_disk_addr_t addr,
+ 		break;
+ 	      }
+ 
++	   if (grub_le_to_cpu16 (chunk->nstripes) > avail_stripes)
++             {
++               err = GRUB_ERR_BAD_FS;
++               break;
++             }
++
+ 	    if (is_raid56)
+ 	      {
+ 		err = btrfs_read_from_chunk (data, chunk, stripen,
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-boot/grub/files/sbat.csv b/sys-boot/grub/files/sbat.csv
index 49de0b1..4db8074 100644
--- a/sys-boot/grub/files/sbat.csv
+++ b/sys-boot/grub/files/sbat.csv
@@ -1,3 +1,3 @@
 sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md
-grub,1,Free Software Foundation,grub,2.06,https://www.gnu.org/software/grub/
-grub.chromeos,1,ChromeOS,grub2,2.06,https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/refs/heads/main/sys-boot/grub/grub-2.06.ebuild
+grub,2,Free Software Foundation,grub,2.06,https://www.gnu.org/software/grub/
+grub.chromeos,2,ChromeOS,grub2,2.06,https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/refs/heads/main/sys-boot/grub/grub-2.06.ebuild
diff --git a/sys-boot/grub/grub-2.06-r6.ebuild b/sys-boot/grub/grub-2.06-r9.ebuild
similarity index 100%
rename from sys-boot/grub/grub-2.06-r6.ebuild
rename to sys-boot/grub/grub-2.06-r9.ebuild
diff --git a/sys-boot/grub/grub-2.06.ebuild b/sys-boot/grub/grub-2.06.ebuild
index 68884a2..4bdfd4f 100644
--- a/sys-boot/grub/grub-2.06.ebuild
+++ b/sys-boot/grub/grub-2.06.ebuild
@@ -1,7 +1,7 @@
 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="5"
+EAPI="6"
 
 inherit bash-completion-r1 eutils toolchain-funcs multiprocessing
 
@@ -21,14 +21,58 @@
 PLATFORMS=( "efi" "pc" )
 TARGETS=( "i386" "x86_64" )
 
+PATCHES=(
+	"${FILESDIR}/0001-Forward-port-ChromeOS-specific-GRUB-environment-vari.patch"
+	"${FILESDIR}/0002-Forward-port-gptpriority-command-to-GRUB-2.00.patch"
+	"${FILESDIR}/0003-Add-configure-option-to-reduce-visual-clutter-at-boo.patch"
+	"${FILESDIR}/0004-configure-Remove-obsoleted-malign-jumps-loops-functions.patch"
+	"${FILESDIR}/0005-configure-Check-for-falign-jumps-1-beside-falign-loops-1.patch"
+	"${FILESDIR}/0006-configure-replace-wl-r-d-fno-common.patch"
+
+	# Apply these upstream cosmetic patches so that the security patches
+	# below apply without conflicts.
+	"${FILESDIR}/0007-net-Remove-trailing-whitespaces.patch"
+	"${FILESDIR}/0008-video-Remove-trailing-whitespaces.patch"
+
+	# Security patches for the 2022/06/07 vulnerabilities:
+	# https://lists.gnu.org/archive/html/grub-devel/2022-06/msg00035.html
+	#
+	# Generated from the grub repo with:
+	# git format-patch --start-number 9 1469983eb~..2f4430cc0
+	"${FILESDIR}/0009-loader-efi-chainloader-Simplify-the-loader-state.patch"
+	"${FILESDIR}/0010-commands-boot-Add-API-to-pass-context-to-loader.patch"
+	"${FILESDIR}/0011-loader-efi-chainloader-Use-grub_loader_set_ex.patch"
+	"${FILESDIR}/0012-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch"
+	"${FILESDIR}/0013-kern-file-Do-not-leak-device_name-on-error-in-grub_f.patch"
+	"${FILESDIR}/0014-video-readers-png-Abort-sooner-if-a-read-operation-f.patch"
+	"${FILESDIR}/0015-video-readers-png-Refuse-to-handle-multiple-image-he.patch"
+	"${FILESDIR}/0016-video-readers-png-Drop-greyscale-support-to-fix-heap.patch"
+	"${FILESDIR}/0017-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff-.patch"
+	"${FILESDIR}/0018-video-readers-png-Sanity-check-some-huffman-codes.patch"
+	"${FILESDIR}/0019-video-readers-jpeg-Abort-sooner-if-a-read-operation-.patch"
+	"${FILESDIR}/0020-video-readers-jpeg-Do-not-reallocate-a-given-huff-ta.patch"
+	"${FILESDIR}/0021-video-readers-jpeg-Refuse-to-handle-multiple-start-o.patch"
+	"${FILESDIR}/0022-video-readers-jpeg-Block-int-underflow-wild-pointer-.patch"
+	"${FILESDIR}/0023-normal-charset-Fix-array-out-of-bounds-formatting-un.patch"
+	"${FILESDIR}/0024-net-ip-Do-IP-fragment-maths-safely.patch"
+	"${FILESDIR}/0025-net-netbuff-Block-overly-large-netbuff-allocs.patch"
+	"${FILESDIR}/0026-net-dns-Fix-double-free-addresses-on-corrupt-DNS-res.patch"
+	"${FILESDIR}/0027-net-dns-Don-t-read-past-the-end-of-the-string-we-re-.patch"
+	"${FILESDIR}/0028-net-tftp-Prevent-a-UAF-and-double-free-from-a-failed.patch"
+	"${FILESDIR}/0029-net-tftp-Avoid-a-trivial-UAF.patch"
+	"${FILESDIR}/0030-net-http-Do-not-tear-down-socket-if-it-s-already-bee.patch"
+	"${FILESDIR}/0031-net-http-Fix-OOB-write-for-split-http-headers.patch"
+	"${FILESDIR}/0032-net-http-Error-out-on-headers-with-LF-without-CR.patch"
+	"${FILESDIR}/0033-fs-f2fs-Do-not-read-past-the-end-of-nat-journal-entr.patch"
+	"${FILESDIR}/0034-fs-f2fs-Do-not-read-past-the-end-of-nat-bitmap.patch"
+	"${FILESDIR}/0035-fs-f2fs-Do-not-copy-file-names-that-are-too-long.patch"
+	"${FILESDIR}/0036-fs-btrfs-Fix-several-fuzz-issues-with-invalid-dir-it.patch"
+	"${FILESDIR}/0037-fs-btrfs-Fix-more-ASAN-and-SEGV-issues-found-with-fu.patch"
+	"${FILESDIR}/0038-fs-btrfs-Fix-more-fuzz-issues-related-to-chunks.patch"
+)
+
 src_prepare() {
-	epatch "${FILESDIR}/0001-Forward-port-ChromeOS-specific-GRUB-environment-vari.patch"
-	epatch "${FILESDIR}/0002-Forward-port-gptpriority-command-to-GRUB-2.00.patch"
-	epatch "${FILESDIR}/0005-strip-interp-from-diskboot.patch"
-	epatch "${FILESDIR}/b189992601-no-soft-float.patch"
-	epatch "${FILESDIR}/0003-Add-configure-option-to-reduce-visual-clutter-at-boo.patch"
-	epatch "${FILESDIR}/configure-Remove-obsoleted-malign-jumps-loops-functions.patch"
-	epatch "${FILESDIR}/configure-Check-for-falign-jumps-1-beside-falign-loops-1.patch"
+	default
 
 	bash autogen.sh || die
 }
diff --git a/sys-boot/libpayload/files/configs/config.atlas b/sys-boot/libpayload/files/configs/config.atlas
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.atlas
+++ b/sys-boot/libpayload/files/configs/config.atlas
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.auron b/sys-boot/libpayload/files/configs/config.auron
index 44859b7..7a653c5 100644
--- a/sys-boot/libpayload/files/configs/config.auron
+++ b/sys-boot/libpayload/files/configs/config.auron
@@ -1,2 +1,4 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.chell b/sys-boot/libpayload/files/configs/config.chell
index 44859b7..7a653c5 100644
--- a/sys-boot/libpayload/files/configs/config.chell
+++ b/sys-boot/libpayload/files/configs/config.chell
@@ -1,2 +1,4 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.cherry b/sys-boot/libpayload/files/configs/config.cherry
index 521dbf8c..733cb66 100644
--- a/sys-boot/libpayload/files/configs/config.cherry
+++ b/sys-boot/libpayload/files/configs/config.cherry
@@ -5,3 +5,5 @@
 CONFIG_LP_USB_EHCI=y
 CONFIG_LP_USB_XHCI=y
 CONFIG_LP_USB_XHCI_MTK_QUIRK=y
+CONFIG_LP_PCI=y
+CONFIG_LP_PCIE_MEDIATEK=y
diff --git a/sys-boot/libpayload/files/configs/config.coral b/sys-boot/libpayload/files/configs/config.coral
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.coral
+++ b/sys-boot/libpayload/files/configs/config.coral
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.cyan b/sys-boot/libpayload/files/configs/config.cyan
index 81fa37e..ae1989a 100644
--- a/sys-boot/libpayload/files/configs/config.cyan
+++ b/sys-boot/libpayload/files/configs/config.cyan
@@ -1,3 +1,5 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_EHCI=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.dedede b/sys-boot/libpayload/files/configs/config.dedede
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.dedede
+++ b/sys-boot/libpayload/files/configs/config.dedede
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.deltaur b/sys-boot/libpayload/files/configs/config.deltaur
index cfd3a72..949e9c9 100644
--- a/sys-boot/libpayload/files/configs/config.deltaur
+++ b/sys-boot/libpayload/files/configs/config.deltaur
@@ -1,3 +1,4 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
 CONFIG_LP_PC_KEYBOARD_AT_TRANSLATED=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.dragonegg b/sys-boot/libpayload/files/configs/config.dragonegg
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.dragonegg
+++ b/sys-boot/libpayload/files/configs/config.dragonegg
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.drallion b/sys-boot/libpayload/files/configs/config.drallion
index cfd3a72..949e9c9 100644
--- a/sys-boot/libpayload/files/configs/config.drallion
+++ b/sys-boot/libpayload/files/configs/config.drallion
@@ -1,3 +1,4 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
 CONFIG_LP_PC_KEYBOARD_AT_TRANSLATED=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.elm b/sys-boot/libpayload/files/configs/config.elm
index 2779c7f..75c4252 100644
--- a/sys-boot/libpayload/files/configs/config.elm
+++ b/sys-boot/libpayload/files/configs/config.elm
@@ -6,3 +6,4 @@
 CONFIG_LP_USB_XHCI=y
 CONFIG_LP_USB_XHCI_MTK_QUIRK=y
 CONFIG_LP_ARM64_A53_ERRATUM_843419=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
diff --git a/sys-boot/libpayload/files/configs/config.endeavour b/sys-boot/libpayload/files/configs/config.endeavour
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.endeavour
+++ b/sys-boot/libpayload/files/configs/config.endeavour
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.eve b/sys-boot/libpayload/files/configs/config.eve
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.eve
+++ b/sys-boot/libpayload/files/configs/config.eve
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.falco b/sys-boot/libpayload/files/configs/config.falco
index c1f431e..5a2c52f 100644
--- a/sys-boot/libpayload/files/configs/config.falco
+++ b/sys-boot/libpayload/files/configs/config.falco
@@ -2,3 +2,5 @@
 CONFIG_LP_USB_UHCI=y
 CONFIG_LP_USB_OHCI=y
 CONFIG_LP_USB_EHCI=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.fizz b/sys-boot/libpayload/files/configs/config.fizz
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.fizz
+++ b/sys-boot/libpayload/files/configs/config.fizz
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.foster b/sys-boot/libpayload/files/configs/config.foster
index e849e28..edac1ad 100644
--- a/sys-boot/libpayload/files/configs/config.foster
+++ b/sys-boot/libpayload/files/configs/config.foster
@@ -4,3 +4,4 @@
 CONFIG_LP_TIMER_TEGRA_1US=y
 CONFIG_LP_USB_EHCI=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
diff --git a/sys-boot/libpayload/files/configs/config.gale b/sys-boot/libpayload/files/configs/config.gale
index 253e3af..7b74ceb 100644
--- a/sys-boot/libpayload/files/configs/config.gale
+++ b/sys-boot/libpayload/files/configs/config.gale
@@ -6,3 +6,4 @@
 CONFIG_LP_TIMER_IPQ40XX=y
 CONFIG_LP_STORAGE=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
diff --git a/sys-boot/libpayload/files/configs/config.geralt b/sys-boot/libpayload/files/configs/config.geralt
new file mode 100644
index 0000000..521dbf8c
--- /dev/null
+++ b/sys-boot/libpayload/files/configs/config.geralt
@@ -0,0 +1,7 @@
+CONFIG_LP_CHROMEOS=y
+CONFIG_LP_ARCH_ARM64=y
+CONFIG_LP_8250_SERIAL_CONSOLE=y
+CONFIG_LP_TIMER_MTK_V2=y
+CONFIG_LP_USB_EHCI=y
+CONFIG_LP_USB_XHCI=y
+CONFIG_LP_USB_XHCI_MTK_QUIRK=y
diff --git a/sys-boot/libpayload/files/configs/config.glados b/sys-boot/libpayload/files/configs/config.glados
index 44859b7..7a653c5 100644
--- a/sys-boot/libpayload/files/configs/config.glados
+++ b/sys-boot/libpayload/files/configs/config.glados
@@ -1,2 +1,4 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.glkrvp b/sys-boot/libpayload/files/configs/config.glkrvp
index 44859b7..7a653c5 100644
--- a/sys-boot/libpayload/files/configs/config.glkrvp
+++ b/sys-boot/libpayload/files/configs/config.glkrvp
@@ -1,2 +1,4 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.grunt b/sys-boot/libpayload/files/configs/config.grunt
index 4a5a2f7..e207ae7 100644
--- a/sys-boot/libpayload/files/configs/config.grunt
+++ b/sys-boot/libpayload/files/configs/config.grunt
@@ -2,3 +2,4 @@
 CONFIG_LP_USB_XHCI=y
 CONFIG_LP_TIMER_NONE=y
 CONFIG_LP_ENABLE_APIC=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.hana b/sys-boot/libpayload/files/configs/config.hana
index 2779c7f..75c4252 100644
--- a/sys-boot/libpayload/files/configs/config.hana
+++ b/sys-boot/libpayload/files/configs/config.hana
@@ -6,3 +6,4 @@
 CONFIG_LP_USB_XHCI=y
 CONFIG_LP_USB_XHCI_MTK_QUIRK=y
 CONFIG_LP_ARM64_A53_ERRATUM_843419=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
diff --git a/sys-boot/libpayload/files/configs/config.hatch b/sys-boot/libpayload/files/configs/config.hatch
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.hatch
+++ b/sys-boot/libpayload/files/configs/config.hatch
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.herobrine b/sys-boot/libpayload/files/configs/config.herobrine
index ba08c41..6610170 100644
--- a/sys-boot/libpayload/files/configs/config.herobrine
+++ b/sys-boot/libpayload/files/configs/config.herobrine
@@ -3,3 +3,5 @@
 CONFIG_LP_QUALCOMM_QUPV3_SERIAL_CONSOLE=y
 CONFIG_LP_TIMER_ARM64_ARCH=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_PCI=y
+CONFIG_LP_PCIE_QCOM=y
diff --git a/sys-boot/libpayload/files/configs/config.jecht b/sys-boot/libpayload/files/configs/config.jecht
index 44859b7..7a653c5 100644
--- a/sys-boot/libpayload/files/configs/config.jecht
+++ b/sys-boot/libpayload/files/configs/config.jecht
@@ -1,2 +1,4 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.kalista b/sys-boot/libpayload/files/configs/config.kalista
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.kalista
+++ b/sys-boot/libpayload/files/configs/config.kalista
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.kblrvp b/sys-boot/libpayload/files/configs/config.kblrvp
index 44859b7..7a653c5 100644
--- a/sys-boot/libpayload/files/configs/config.kblrvp
+++ b/sys-boot/libpayload/files/configs/config.kblrvp
@@ -1,2 +1,4 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.keeby b/sys-boot/libpayload/files/configs/config.keeby
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.keeby
+++ b/sys-boot/libpayload/files/configs/config.keeby
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.kevin b/sys-boot/libpayload/files/configs/config.kevin
index 490b496..0a69cb8 100644
--- a/sys-boot/libpayload/files/configs/config.kevin
+++ b/sys-boot/libpayload/files/configs/config.kevin
@@ -4,3 +4,4 @@
 CONFIG_LP_TIMER_RK3399=y
 CONFIG_LP_USB_EHCI=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
diff --git a/sys-boot/libpayload/files/configs/config.kunimitsu b/sys-boot/libpayload/files/configs/config.kunimitsu
index 44859b7..7a653c5 100644
--- a/sys-boot/libpayload/files/configs/config.kunimitsu
+++ b/sys-boot/libpayload/files/configs/config.kunimitsu
@@ -1,2 +1,4 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.link b/sys-boot/libpayload/files/configs/config.link
index d5579d4..9c4d89d 100644
--- a/sys-boot/libpayload/files/configs/config.link
+++ b/sys-boot/libpayload/files/configs/config.link
@@ -3,3 +3,5 @@
 CONFIG_LP_USB_OHCI=y
 CONFIG_LP_USB_EHCI=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.nami b/sys-boot/libpayload/files/configs/config.nami
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.nami
+++ b/sys-boot/libpayload/files/configs/config.nami
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.nasher b/sys-boot/libpayload/files/configs/config.nasher
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.nasher
+++ b/sys-boot/libpayload/files/configs/config.nasher
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.nautilus b/sys-boot/libpayload/files/configs/config.nautilus
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.nautilus
+++ b/sys-boot/libpayload/files/configs/config.nautilus
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.nissa b/sys-boot/libpayload/files/configs/config.nissa
index 44859b7..e8d9169 100644
--- a/sys-boot/libpayload/files/configs/config.nissa
+++ b/sys-boot/libpayload/files/configs/config.nissa
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_CBFS_VERIFICATION=n
diff --git a/sys-boot/libpayload/files/configs/config.nocturne b/sys-boot/libpayload/files/configs/config.nocturne
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.nocturne
+++ b/sys-boot/libpayload/files/configs/config.nocturne
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.oak b/sys-boot/libpayload/files/configs/config.oak
index 2779c7f..75c4252 100644
--- a/sys-boot/libpayload/files/configs/config.oak
+++ b/sys-boot/libpayload/files/configs/config.oak
@@ -6,3 +6,4 @@
 CONFIG_LP_USB_XHCI=y
 CONFIG_LP_USB_XHCI_MTK_QUIRK=y
 CONFIG_LP_ARM64_A53_ERRATUM_843419=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
diff --git a/sys-boot/libpayload/files/configs/config.octopus b/sys-boot/libpayload/files/configs/config.octopus
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.octopus
+++ b/sys-boot/libpayload/files/configs/config.octopus
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.panther b/sys-boot/libpayload/files/configs/config.panther
index 44859b7..7a653c5 100644
--- a/sys-boot/libpayload/files/configs/config.panther
+++ b/sys-boot/libpayload/files/configs/config.panther
@@ -1,2 +1,4 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.peppy b/sys-boot/libpayload/files/configs/config.peppy
index c1f431e..5a2c52f 100644
--- a/sys-boot/libpayload/files/configs/config.peppy
+++ b/sys-boot/libpayload/files/configs/config.peppy
@@ -2,3 +2,5 @@
 CONFIG_LP_USB_UHCI=y
 CONFIG_LP_USB_OHCI=y
 CONFIG_LP_USB_EHCI=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.poppy b/sys-boot/libpayload/files/configs/config.poppy
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.poppy
+++ b/sys-boot/libpayload/files/configs/config.poppy
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.puff b/sys-boot/libpayload/files/configs/config.puff
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.puff
+++ b/sys-boot/libpayload/files/configs/config.puff
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.purin b/sys-boot/libpayload/files/configs/config.purin
index 037f134..40dad85 100644
--- a/sys-boot/libpayload/files/configs/config.purin
+++ b/sys-boot/libpayload/files/configs/config.purin
@@ -6,3 +6,4 @@
 CONFIG_LP_USB_OHCI=y
 CONFIG_LP_USB_EHCI=y
 # CONFIG_LP_USB_HID is not set
+CONFIG_LP_VBOOT_TPM2_MODE=n
diff --git a/sys-boot/libpayload/files/configs/config.pyro b/sys-boot/libpayload/files/configs/config.pyro
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.pyro
+++ b/sys-boot/libpayload/files/configs/config.pyro
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.rambi b/sys-boot/libpayload/files/configs/config.rambi
index 81fa37e..ae1989a 100644
--- a/sys-boot/libpayload/files/configs/config.rambi
+++ b/sys-boot/libpayload/files/configs/config.rambi
@@ -1,3 +1,5 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_EHCI=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.rammus b/sys-boot/libpayload/files/configs/config.rammus
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.rammus
+++ b/sys-boot/libpayload/files/configs/config.rammus
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.reef b/sys-boot/libpayload/files/configs/config.reef
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.reef
+++ b/sys-boot/libpayload/files/configs/config.reef
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.rex b/sys-boot/libpayload/files/configs/config.rex
new file mode 100644
index 0000000..44859b7
--- /dev/null
+++ b/sys-boot/libpayload/files/configs/config.rex
@@ -0,0 +1,2 @@
+CONFIG_LP_CHROMEOS=y
+CONFIG_LP_USB_XHCI=y
diff --git a/sys-boot/libpayload/files/configs/config.samus b/sys-boot/libpayload/files/configs/config.samus
index 44859b7..7a653c5 100644
--- a/sys-boot/libpayload/files/configs/config.samus
+++ b/sys-boot/libpayload/files/configs/config.samus
@@ -1,2 +1,4 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.sand b/sys-boot/libpayload/files/configs/config.sand
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.sand
+++ b/sys-boot/libpayload/files/configs/config.sand
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.sarien b/sys-boot/libpayload/files/configs/config.sarien
index 75c6a3b..0d9e8ed 100644
--- a/sys-boot/libpayload/files/configs/config.sarien
+++ b/sys-boot/libpayload/files/configs/config.sarien
@@ -1,3 +1,4 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
 CONFIG_LP_PC_KEYBOARD_IGNORE_INIT_FAILURE=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.skyrim b/sys-boot/libpayload/files/configs/config.skyrim
index 79c2bac..a86c995 100644
--- a/sys-boot/libpayload/files/configs/config.skyrim
+++ b/sys-boot/libpayload/files/configs/config.skyrim
@@ -1,3 +1,4 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
 CONFIG_LP_ENABLE_APIC=y
+CONFIG_LP_CBFS_VERIFICATION=n
diff --git a/sys-boot/libpayload/files/configs/config.smaug b/sys-boot/libpayload/files/configs/config.smaug
index 8a1bff9..dc912f4 100644
--- a/sys-boot/libpayload/files/configs/config.smaug
+++ b/sys-boot/libpayload/files/configs/config.smaug
@@ -6,3 +6,4 @@
 CONFIG_LP_USB_XHCI=y
 CONFIG_LP_UDC=y
 CONFIG_LP_UDC_CI=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
diff --git a/sys-boot/libpayload/files/configs/config.snappy b/sys-boot/libpayload/files/configs/config.snappy
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.snappy
+++ b/sys-boot/libpayload/files/configs/config.snappy
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.soraka b/sys-boot/libpayload/files/configs/config.soraka
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.soraka
+++ b/sys-boot/libpayload/files/configs/config.soraka
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.storm b/sys-boot/libpayload/files/configs/config.storm
index d8d531a..ee923ae 100644
--- a/sys-boot/libpayload/files/configs/config.storm
+++ b/sys-boot/libpayload/files/configs/config.storm
@@ -4,3 +4,4 @@
 # CONFIG_LP_VIDEO_CONSOLE is not set
 CONFIG_LP_TIMER_IPQ806X=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
diff --git a/sys-boot/libpayload/files/configs/config.strago b/sys-boot/libpayload/files/configs/config.strago
index 81fa37e..ae1989a 100644
--- a/sys-boot/libpayload/files/configs/config.strago
+++ b/sys-boot/libpayload/files/configs/config.strago
@@ -1,3 +1,5 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_EHCI=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.veyron b/sys-boot/libpayload/files/configs/config.veyron
index e80535c..4e313c0 100644
--- a/sys-boot/libpayload/files/configs/config.veyron
+++ b/sys-boot/libpayload/files/configs/config.veyron
@@ -5,3 +5,4 @@
 CONFIG_LP_USB_EHCI=y
 CONFIG_LP_USB_DWC2=y
 # CONFIG_LP_USB_HID is not set
+CONFIG_LP_VBOOT_TPM2_MODE=n
diff --git a/sys-boot/libpayload/files/configs/config.veyron_rialto b/sys-boot/libpayload/files/configs/config.veyron_rialto
index f46c741..40487d5 100644
--- a/sys-boot/libpayload/files/configs/config.veyron_rialto
+++ b/sys-boot/libpayload/files/configs/config.veyron_rialto
@@ -5,3 +5,4 @@
 CONFIG_LP_TIMER_RK3288=y
 CONFIG_LP_USB_EHCI=y
 CONFIG_LP_USB_DWC2=y
+CONFIG_LP_VBOOT_TPM2_MODE=n
diff --git a/sys-boot/libpayload/files/configs/config.volteer b/sys-boot/libpayload/files/configs/config.volteer
index 44859b7..e33a85e 100644
--- a/sys-boot/libpayload/files/configs/config.volteer
+++ b/sys-boot/libpayload/files/configs/config.volteer
@@ -1,2 +1,3 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/files/configs/config.zork b/sys-boot/libpayload/files/configs/config.zork
index 79c2bac..be1a6c9 100644
--- a/sys-boot/libpayload/files/configs/config.zork
+++ b/sys-boot/libpayload/files/configs/config.zork
@@ -1,3 +1,4 @@
 CONFIG_LP_CHROMEOS=y
 CONFIG_LP_USB_XHCI=y
 CONFIG_LP_ENABLE_APIC=y
+CONFIG_LP_VBOOT_X86_SHA_EXT=n
diff --git a/sys-boot/libpayload/libpayload-0.0.1-r4227.ebuild b/sys-boot/libpayload/libpayload-0.0.1-r4227.ebuild
deleted file mode 100644
index 509877b..0000000
--- a/sys-boot/libpayload/libpayload-0.0.1-r4227.ebuild
+++ /dev/null
@@ -1,174 +0,0 @@
-# Copyright 2012 The Chromium OS Authors.
-# Distributed under the terms of the GNU General Public License v2
-
-# Change this version number when any change is made to configs/files under
-# libpayload and an auto-revbump is required.
-# VERSION=REVBUMP-0.0.18
-
-EAPI=7
-CROS_WORKON_COMMIT=("801687b38b1c72e7b8dab2f9ccf5ea0c5e9d5922" "07a7bc69641129e937ab702b95e893d4a5ba45fd")
-CROS_WORKON_TREE=("22ffb0b4c6caf0b99a3773595e5d59aecc2054a5" "dcb83fabc80ab81194351fbb80e61d666efd7ccd" "0817c42e0f630c1a0975b591f98be39a099842b7" "bacdab8734794201bdb8ad183f79bab4051584db" "6340fb29293d883ab8792c9d2ff249fb14776f2e" "2e2f24b87140cd3280bde18e487c3261801201f9")
-CROS_WORKON_PROJECT=(
-	"chromiumos/third_party/coreboot"
-	"chromiumos/platform/vboot_reference"
-)
-CROS_WORKON_EGIT_BRANCH=(
-	"chromeos-2016.05"
-	"main"
-)
-
-DESCRIPTION="coreboot's libpayload library"
-HOMEPAGE="http://www.coreboot.org"
-LICENSE="GPL-2"
-KEYWORDS="*"
-IUSE="coreboot-sdk unibuild verbose"
-
-# No pre-unibuild boards build firmware on ToT anymore.  Assume
-# unibuild to keep ebuild clean.
-REQUIRED_USE="unibuild"
-
-DEPEND="chromeos-base/chromeos-config:="
-
-# While this package is never actually executed, we still need to specify
-# RDEPEND. A binary version of this package could exist that was built using an
-# outdated version of chromeos-config. Without the RDEPEND this stale binary
-# package is considered valid by the package manager. This is problematic
-# because we could have two binary packages installed having been build with
-# different versions of chromeos-config. By specifying the RDEPEND we force
-# the package manager to ensure the two versions use the same chromeos-config.
-RDEPEND="${DEPEND}"
-
-CROS_WORKON_LOCALNAME=(
-	"coreboot"
-	"../platform/vboot_reference"
-)
-
-VBOOT_DESTDIR="${S}/3rdparty/vboot"
-CROS_WORKON_DESTDIR=(
-	"${S}"
-	"${S}/3rdparty/vboot"
-)
-
-# commonlib, kconfig and xcompile are reused from coreboot.
-# Everything else is not supposed to matter for
-# libpayload.
-CROS_WORKON_SUBTREE=(
-	"payloads/libpayload src/commonlib util/kconfig util/xcompile"
-	"Makefile firmware"
-)
-
-# Don't strip to ease remote GDB use (cbfstool strips final binaries anyway)
-STRIP_MASK="*"
-
-inherit cros-workon toolchain-funcs coreboot-sdk
-
-LIBPAYLOAD_BUILD_NAMES=()
-LIBPAYLOAD_BUILD_TARGETS=()
-
-src_unpack() {
-	cros-workon_src_unpack
-	S+="/payloads/libpayload"
-}
-
-src_configure() {
-	local name
-	local target
-
-	export GENERIC_COMPILER_PREFIX="invalid"
-
-	while read -r name && read -r target; do
-		LIBPAYLOAD_BUILD_NAMES+=("${name}")
-		LIBPAYLOAD_BUILD_TARGETS+=("${target}")
-	done < <(cros_config_host get-firmware-build-combinations libpayload)
-
-	for target in "${LIBPAYLOAD_BUILD_TARGETS[@]}"; do
-		if [[ ! -s "${FILESDIR}/configs/config.${target}" ]]; then
-			die "libpayload config does not exist for ${target}"
-		fi
-	done
-}
-
-# build libpayload for a certain config
-#   $1: path to the dotconfig
-#   $2: path to the build directory
-libpayload_compile() {
-	local dotconfig="$(realpath "$1")"
-	local objdir="$(realpath "$2")"
-	local OPTS=(
-		obj="${objdir}"
-		DOTCONFIG="${dotconfig}"
-		HOSTCC="$(tc-getBUILD_CC)"
-		HOSTCXX="$(tc-getBUILD_CXX)"
-		VBOOT_SOURCE="${VBOOT_DESTDIR}"
-	)
-	use verbose && OPTS+=( "V=1" )
-
-	yes "" | emake "${OPTS[@]}" oldconfig
-	emake "${OPTS[@]}"
-}
-
-src_compile() {
-	if ! use coreboot-sdk; then
-		tc-getCC
-		# Export the known cross compilers so there isn't a reliance
-		# on what the default profile is for exporting a compiler. The
-		# reasoning is that the firmware may need more than one to build
-		# and boot.
-		export CROSS_COMPILE_i386="i686-pc-linux-gnu-"
-		# For coreboot.org upstream architecture naming.
-		export CROSS_COMPILE_x86="i686-pc-linux-gnu-"
-		export CROSS_COMPILE_mipsel="mipsel-cros-linux-gnu-"
-		export CROSS_COMPILE_arm64="aarch64-cros-linux-gnu-"
-		export CROSS_COMPILE_arm="armv7a-cros-linux-gnu- armv7a-cros-linux-gnueabihf-"
-	else
-		export CROSS_COMPILE_x86=${COREBOOT_SDK_PREFIX_x86_32}
-		export CROSS_COMPILE_mipsel=${COREBOOT_SDK_PREFIX_mips}
-		export CROSS_COMPILE_arm64=${COREBOOT_SDK_PREFIX_arm64}
-		export CROSS_COMPILE_arm=${COREBOOT_SDK_PREFIX_arm}
-	fi
-
-	# we have all kinds of userland-cruft in CFLAGS that has no place in firmware.
-	# coreboot ignores CFLAGS, libpayload doesn't, so prune it.
-	unset CFLAGS
-
-	local unique_targets=()
-	readarray -t unique_targets \
-		< <(printf "%s\n" "${LIBPAYLOAD_BUILD_TARGETS[@]}" | sort -u)
-
-	local target
-	local dotconfig
-	local dotconfig_gdb
-	for target in "${unique_targets[@]}"; do
-		dotconfig="${FILESDIR}/configs/config.${target}"
-		cp "${dotconfig}" "${T}/config.${target}"
-		libpayload_compile "${T}/config.${target}" "${T}/${target}"
-
-		dotconfig_gdb="${T}/config_gdb.${target}"
-		# Build a second set of libraries with GDB support for developers
-		cp "${dotconfig}" "${dotconfig_gdb}"
-		(
-			echo
-			echo "CONFIG_LP_REMOTEGDB=y"
-		) >>"${dotconfig_gdb}"
-		libpayload_compile "${dotconfig_gdb}" "${T}/${target}.gdb"
-	done
-}
-
-src_install() {
-	local i
-	local name
-	local target
-
-	for i in "${!LIBPAYLOAD_BUILD_TARGETS[@]}"; do
-		name="${LIBPAYLOAD_BUILD_NAMES[${i}]}"
-		target="${LIBPAYLOAD_BUILD_TARGETS[${i}]}"
-
-		emake obj="${T}/${target}" \
-			DOTCONFIG="${T}/config.${target}" VBOOT_SOURCE="${VBOOT_DESTDIR}" \
-			DESTDIR="${D}/firmware/${name}/libpayload" install
-		emake obj="${T}/${target}.gdb" \
-			DOTCONFIG="${T}/config_gdb.${target}" \
-			VBOOT_SOURCE="${VBOOT_DESTDIR}" \
-			DESTDIR="${D}/firmware/${name}/libpayload.gdb" install
-	done
-}
diff --git a/sys-boot/libpayload/libpayload-0.0.1-r4291.ebuild b/sys-boot/libpayload/libpayload-0.0.1-r4291.ebuild
new file mode 100644
index 0000000..b4993e3
--- /dev/null
+++ b/sys-boot/libpayload/libpayload-0.0.1-r4291.ebuild
@@ -0,0 +1,189 @@
+# Copyright 2012 The Chromium OS Authors.
+# Distributed under the terms of the GNU General Public License v2
+
+# Change this version number when any change is made to configs/files under
+# libpayload and an auto-revbump is required.
+# VERSION=REVBUMP-0.0.18
+
+EAPI=7
+CROS_WORKON_COMMIT=("722e33d1e6576240dadec19ec1c347d58b94f5cd" "67f613b922e4ccff6019de318c154a377afbe822")
+CROS_WORKON_TREE=("1c15936b777254b7bae25bc3cbda93f2471f9ba2" "d655cd79d99d3ded805ceeff78942673f10cf6c7" "514603540da793957fa87fa22df81b288fb39d0f" "b2307ed1e70bf1a5718afaa81217ec9504854005" "df906a2f21f08c09eaf16b3685befd6aecbe258a" "daa8adf3ba58769a28a8c47c5ac5a702979fae66")
+CROS_WORKON_PROJECT=(
+	"chromiumos/third_party/coreboot"
+	"chromiumos/platform/vboot_reference"
+)
+CROS_WORKON_EGIT_BRANCH=(
+	"chromeos-2016.05"
+	"main"
+)
+
+DESCRIPTION="coreboot's libpayload library"
+HOMEPAGE="http://www.coreboot.org"
+LICENSE="GPL-2"
+KEYWORDS="*"
+IUSE="coreboot-sdk unibuild verbose ti50_onboard"
+
+# No pre-unibuild boards build firmware on ToT anymore.  Assume
+# unibuild to keep ebuild clean.
+REQUIRED_USE="unibuild"
+# Make sure we don't use SDK gcc anymore.
+REQUIRED_USE+=" coreboot-sdk"
+
+DEPEND="chromeos-base/chromeos-config:="
+
+# While this package is never actually executed, we still need to specify
+# RDEPEND. A binary version of this package could exist that was built using an
+# outdated version of chromeos-config. Without the RDEPEND this stale binary
+# package is considered valid by the package manager. This is problematic
+# because we could have two binary packages installed having been build with
+# different versions of chromeos-config. By specifying the RDEPEND we force
+# the package manager to ensure the two versions use the same chromeos-config.
+RDEPEND="${DEPEND}"
+
+CROS_WORKON_LOCALNAME=(
+	"coreboot"
+	"../platform/vboot_reference"
+)
+
+VBOOT_DESTDIR="${S}/3rdparty/vboot"
+CROS_WORKON_DESTDIR=(
+	"${S}"
+	"${S}/3rdparty/vboot"
+)
+
+# commonlib, kconfig and xcompile are reused from coreboot.
+# Everything else is not supposed to matter for
+# libpayload.
+CROS_WORKON_SUBTREE=(
+	"payloads/libpayload src/commonlib util/kconfig util/xcompile"
+	"Makefile firmware"
+)
+
+# Disable binary checks for PIE and relative relocatons.
+# Don't strip to ease remote GDB use (cbfstool strips final binaries anyway).
+# This is only okay because this ebuild only installs files into
+# ${SYSROOT}/firmware, which is not copied to the final system image.
+RESTRICT="binchecks strip"
+
+# Disable warnings for executable stack.
+QA_EXECSTACK="*"
+
+inherit cros-workon toolchain-funcs coreboot-sdk cros-sanitizers
+
+LIBPAYLOAD_BUILD_NAMES=()
+LIBPAYLOAD_BUILD_TARGETS=()
+
+src_unpack() {
+	cros-workon_src_unpack
+	S+="/payloads/libpayload"
+}
+
+src_configure() {
+	sanitizers-setup-env
+
+	local name
+	local target
+
+	export GENERIC_COMPILER_PREFIX="invalid"
+
+	while read -r name && read -r target; do
+		LIBPAYLOAD_BUILD_NAMES+=("${name}")
+		LIBPAYLOAD_BUILD_TARGETS+=("${target}")
+	done < <(cros_config_host get-firmware-build-combinations libpayload)
+
+	for target in "${LIBPAYLOAD_BUILD_TARGETS[@]}"; do
+		if [[ ! -s "${FILESDIR}/configs/config.${target}" ]]; then
+			die "libpayload config does not exist for ${target}"
+		fi
+	done
+}
+
+# build libpayload for a certain config
+#   $1: path to the dotconfig
+#   $2: path to the build directory
+libpayload_compile() {
+	local dotconfig="$(realpath "$1")"
+	local objdir="$(realpath "$2")"
+	local OPTS=(
+		obj="${objdir}"
+		DOTCONFIG="${dotconfig}"
+		HOSTCC="$(tc-getBUILD_CC)"
+		HOSTCXX="$(tc-getBUILD_CXX)"
+		VBOOT_SOURCE="${VBOOT_DESTDIR}"
+	)
+	use verbose && OPTS+=( "V=1" )
+
+	yes "" | emake "${OPTS[@]}" oldconfig
+	emake "${OPTS[@]}"
+}
+
+src_compile() {
+	if ! use coreboot-sdk; then
+		tc-getCC
+		# Export the known cross compilers so there isn't a reliance
+		# on what the default profile is for exporting a compiler. The
+		# reasoning is that the firmware may need more than one to build
+		# and boot.
+		export CROSS_COMPILE_i386="i686-pc-linux-gnu-"
+		# For coreboot.org upstream architecture naming.
+		export CROSS_COMPILE_x86="i686-pc-linux-gnu-"
+		export CROSS_COMPILE_mipsel="mipsel-cros-linux-gnu-"
+		export CROSS_COMPILE_arm64="aarch64-cros-linux-gnu-"
+		export CROSS_COMPILE_arm="armv7a-cros-linux-gnu- armv7a-cros-linux-gnueabihf-"
+	else
+		export CROSS_COMPILE_x86=${COREBOOT_SDK_PREFIX_x86_32}
+		export CROSS_COMPILE_mipsel=${COREBOOT_SDK_PREFIX_mips}
+		export CROSS_COMPILE_arm64=${COREBOOT_SDK_PREFIX_arm64}
+		export CROSS_COMPILE_arm=${COREBOOT_SDK_PREFIX_arm}
+	fi
+
+	# we have all kinds of userland-cruft in CFLAGS that has no place in firmware.
+	# coreboot ignores CFLAGS, libpayload doesn't, so prune it.
+	unset CFLAGS
+
+	local unique_targets=()
+	readarray -t unique_targets \
+		< <(printf "%s\n" "${LIBPAYLOAD_BUILD_TARGETS[@]}" | sort -u)
+
+	local target
+	local board_config
+	local dotconfig
+	local dotconfig_gdb
+	for target in "${unique_targets[@]}"; do
+		board_config="${FILESDIR}/configs/config.${target}"
+
+		dotconfig="${T}/config.${target}"
+		if use ti50_onboard; then
+			echo "CONFIG_LP_CBFS_VERIFICATION=y" >> "${dotconfig}"
+		fi
+		cat "${board_config}" >> "${dotconfig}"
+		# In case "${board_config}" does not have a newline at the end
+		echo >> "${dotconfig}"
+		libpayload_compile "${dotconfig}" "${T}/${target}"
+
+		# Build a second set of libraries with GDB support for developers
+		dotconfig_gdb="${T}/config_gdb.${target}"
+		cp "${dotconfig}" "${dotconfig_gdb}"
+		echo "CONFIG_LP_REMOTEGDB=y" >> "${dotconfig_gdb}"
+		libpayload_compile "${dotconfig_gdb}" "${T}/${target}.gdb"
+	done
+}
+
+src_install() {
+	local i
+	local name
+	local target
+
+	for i in "${!LIBPAYLOAD_BUILD_TARGETS[@]}"; do
+		name="${LIBPAYLOAD_BUILD_NAMES[${i}]}"
+		target="${LIBPAYLOAD_BUILD_TARGETS[${i}]}"
+
+		emake obj="${T}/${target}" \
+			DOTCONFIG="${T}/config.${target}" VBOOT_SOURCE="${VBOOT_DESTDIR}" \
+			DESTDIR="${D}/firmware/${name}/libpayload" install
+		emake obj="${T}/${target}.gdb" \
+			DOTCONFIG="${T}/config_gdb.${target}" \
+			VBOOT_SOURCE="${VBOOT_DESTDIR}" \
+			DESTDIR="${D}/firmware/${name}/libpayload.gdb" install
+	done
+}
diff --git a/sys-boot/libpayload/libpayload-9999.ebuild b/sys-boot/libpayload/libpayload-9999.ebuild
index 2391d27..0271242 100644
--- a/sys-boot/libpayload/libpayload-9999.ebuild
+++ b/sys-boot/libpayload/libpayload-9999.ebuild
@@ -19,11 +19,13 @@
 HOMEPAGE="http://www.coreboot.org"
 LICENSE="GPL-2"
 KEYWORDS="~*"
-IUSE="coreboot-sdk unibuild verbose"
+IUSE="coreboot-sdk unibuild verbose ti50_onboard"
 
 # No pre-unibuild boards build firmware on ToT anymore.  Assume
 # unibuild to keep ebuild clean.
 REQUIRED_USE="unibuild"
+# Make sure we don't use SDK gcc anymore.
+REQUIRED_USE+=" coreboot-sdk"
 
 DEPEND="chromeos-base/chromeos-config:="
 
@@ -55,10 +57,16 @@
 	"Makefile firmware"
 )
 
-# Don't strip to ease remote GDB use (cbfstool strips final binaries anyway)
-STRIP_MASK="*"
+# Disable binary checks for PIE and relative relocatons.
+# Don't strip to ease remote GDB use (cbfstool strips final binaries anyway).
+# This is only okay because this ebuild only installs files into
+# ${SYSROOT}/firmware, which is not copied to the final system image.
+RESTRICT="binchecks strip"
 
-inherit cros-workon toolchain-funcs coreboot-sdk
+# Disable warnings for executable stack.
+QA_EXECSTACK="*"
+
+inherit cros-workon toolchain-funcs coreboot-sdk cros-sanitizers
 
 LIBPAYLOAD_BUILD_NAMES=()
 LIBPAYLOAD_BUILD_TARGETS=()
@@ -69,6 +77,8 @@
 }
 
 src_configure() {
+	sanitizers-setup-env
+
 	local name
 	local target
 
@@ -134,20 +144,25 @@
 		< <(printf "%s\n" "${LIBPAYLOAD_BUILD_TARGETS[@]}" | sort -u)
 
 	local target
+	local board_config
 	local dotconfig
 	local dotconfig_gdb
 	for target in "${unique_targets[@]}"; do
-		dotconfig="${FILESDIR}/configs/config.${target}"
-		cp "${dotconfig}" "${T}/config.${target}"
-		libpayload_compile "${T}/config.${target}" "${T}/${target}"
+		board_config="${FILESDIR}/configs/config.${target}"
 
-		dotconfig_gdb="${T}/config_gdb.${target}"
+		dotconfig="${T}/config.${target}"
+		if use ti50_onboard; then
+			echo "CONFIG_LP_CBFS_VERIFICATION=y" >> "${dotconfig}"
+		fi
+		cat "${board_config}" >> "${dotconfig}"
+		# In case "${board_config}" does not have a newline at the end
+		echo >> "${dotconfig}"
+		libpayload_compile "${dotconfig}" "${T}/${target}"
+
 		# Build a second set of libraries with GDB support for developers
+		dotconfig_gdb="${T}/config_gdb.${target}"
 		cp "${dotconfig}" "${dotconfig_gdb}"
-		(
-			echo
-			echo "CONFIG_LP_REMOTEGDB=y"
-		) >>"${dotconfig_gdb}"
+		echo "CONFIG_LP_REMOTEGDB=y" >> "${dotconfig_gdb}"
 		libpayload_compile "${dotconfig_gdb}" "${T}/${target}.gdb"
 	done
 }
diff --git a/sys-boot/metadata.xml b/sys-boot/metadata.xml
deleted file mode 100644
index 2d91fb2..0000000
--- a/sys-boot/metadata.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The sys-boot category contains bootloaders and related tools.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría sys-boot contiene algunos cargadores de arranque y
-		herramientas relacionadas.
-	</longdescription>
-	<longdescription lang="ja">
-		sys-bootカテゴリにはブートとブート関連ツールが含まれます。
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie sys-boot enthält Bootloader sowie damit in 
-		Zusammenhang stehende Programme.
-	</longdescription>
-	<longdescription lang="nl">
-		De sys-boot categorie bevat bootloaders en bijbehorende gereedschappen. 
-	</longdescription>
-	<longdescription lang="vi">
-			Nhóm sys-boot chứa các bootloader và công cụ liên quan.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria sys-boot contiene bootloaders e strumenti correlati al boot del sistema.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria sys-boot contém gerenciadores de inicialização e
-		ferramentas relacionadas.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria sys-boot zawiera programy ładujące (bootloadery) i związane z
-		nimi pakiety.
-	</longdescription>
-</catmetadata>
-
diff --git a/sys-boot/u-boot/u-boot-2021.07-r3002.ebuild b/sys-boot/u-boot/u-boot-2021.07-r3002.ebuild
deleted file mode 100644
index 3ebb39c..0000000
--- a/sys-boot/u-boot/u-boot-2021.07-r3002.ebuild
+++ /dev/null
@@ -1,175 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("39ce6d27ad29fd324793a8d0c7db8ae712cc027c" "c31013768eb4ed052c54df50c398f70f2d7ef36d")
-CROS_WORKON_TREE=("de4f0c255aa3b757f43b4dd4f7a60f08ead04f30" "2ef2be6db7746b10beaf42e9a60b3706d653f9b6")
-CROS_WORKON_PROJECT=("chromiumos/third_party/u-boot" "chromiumos/platform/vboot_reference")
-CROS_WORKON_LOCALNAME=("u-boot/files" "../platform/vboot_reference")
-CROS_WORKON_EGIT_BRANCH=("chromeos-v2020.01" "master")
-VBOOT_REFERENCE_DESTDIR="${S}/vboot_reference"
-CROS_WORKON_DESTDIR=("${S}" "${VBOOT_REFERENCE_DESTDIR}")
-
-inherit toolchain-funcs flag-o-matic cros-workon cros-unibuild
-
-DESCRIPTION="Das U-Boot boot loader"
-HOMEPAGE="http://www.denx.de/wiki/U-Boot"
-
-LICENSE="GPL-2"
-KEYWORDS="*"
-IUSE="dev sandbox vboot werror"
-
-DEPEND="sandbox? ( media-libs/libsdl:= )"
-
-RDEPEND="${DEPEND}
-	chromeos-base/u-boot-scripts
-	!!sys-boot/chromeos-u-boot
-	"
-
-UB_BUILD_DIR="build"
-
-# To build for sandbox, check out the source:
-#
-#	cd src/third_party/u-boot/files
-#	git remote add dm git://git.denx.de/u-boot-dm.git
-#	git checkout dm/cros-working
-#
-# Then:
-#	cros_workon --host start u-boot
-#	USE="sandbox vboot" sudo -D emerge u-boot
-#	sudo chmod a+rw /firmware/image-u-boot.bin
-#	ln -s /firmware/image-u-boot.bin spi.bin
-#	/firmware/u-boot-tpl -d /firmware/u-boot.dtb.out \
-#		-L6 -c "host bind 0 $HOME/trunk/src/build/images/cheza/latest/chromiumos_image.bin; vboot go auto" -l
-#
-# See that it launches vboot (although without a functioning display) and
-# Ctrl-D attempts to boot the kernel.
-#
-# From outside the chroot:
-#
-#	ln -s  ${CROS}/chroot/firmware/image-u-boot.bin spi.bin
-#	${CROS}/chroot/firmware/u-boot-tpl -d \
-#		${CROS}/chroot/firmware/u-boot.dtb.out -L6 \
-#		-c "host bind 0 ${CROS}/src/build/images/cheza/latest/chromiumos_image.bin; vboot go auto" -l
-#
-# Outside the chroot the display and sound function correctly.
-
-# @FUNCTION: get_current_u_boot_config
-# @DESCRIPTION:
-# Finds the config for the current board by checking the master configuration.
-# The default is to use 'coreboot'.
-get_current_u_boot_config() {
-	local config
-
-	if use sandbox; then
-		config=chromeos_sandbox
-	else
-		config="$(cros_config_host get-firmware-build-targets u-boot)"
-	fi
-	echo "${config:-coreboot}"
-}
-
-umake() {
-	# Add `ARCH=` to reset ARCH env and let U-Boot choose it.
-	ARCH= emake "${COMMON_MAKE_FLAGS[@]}" "$@"
-}
-
-src_configure() {
-	local config
-
-	export LDFLAGS=$(raw-ldflags)
-	tc-export BUILD_CC
-
-	config="$(get_current_u_boot_config)"
-	[[ -n "${config}" ]] || die "No U-Boot config selected"
-	elog "Using U-Boot config: ${config}"
-
-	# Firmware related binaries are compiled with 32-bit toolchain
-	# on 64-bit platforms
-	if ! use cros_host && [[ ${CHOST} == x86_64-* ]]; then
-		CROSS_PREFIX="i686-cros-linux-gnu-"
-	else
-		CROSS_PREFIX="${CHOST}-"
-	fi
-
-	COMMON_MAKE_FLAGS=(
-		"CROSS_COMPILE=${CROSS_PREFIX}"
-		DEV_TREE_SEPARATE=1
-		"HOSTCC=${BUILD_CC}"
-		HOSTSTRIP=true
-		QEMU_ARCH=
-	)
-	if use vboot; then
-		COMMON_MAKE_FLAGS+=(
-			"VBOOT_SOURCE=${VBOOT_REFERENCE_DESTDIR}"
-			VBOOT_DEBUG=1
-		)
-	fi
-	if use dev; then
-		# Avoid hiding the errors and warnings
-		COMMON_MAKE_FLAGS+=(
-			-s
-			QUIET=1
-		)
-	else
-		COMMON_MAKE_FLAGS+=(
-			-k
-		)
-	fi
-	use werror && COMMON_MAKE_FLAGS+=( WERROR=y )
-
-	BUILD_FLAGS=(
-		"O=${UB_BUILD_DIR}"
-	)
-
-	umake "${BUILD_FLAGS[@]}" distclean
-	umake "${BUILD_FLAGS[@]}" "${config}_defconfig"
-}
-
-src_compile() {
-	umake "${BUILD_FLAGS[@]}" all
-}
-
-src_install() {
-	local inst_dir="/firmware"
-	local files_to_copy=(
-		System.map
-		u-boot.bin
-		u-boot.dtb
-		u-boot.dtb.out
-		u-boot.img
-	)
-	local exec_to_copy=(
-		u-boot
-		spl/u-boot-spl
-		tpl/u-boot-tpl
-	)
-	local f
-
-	if ! use sandbox; then
-		files_to_copy+=( "${exec_to_copy[@]}" )
-		exec_to_copy=()
-	fi
-
-	insinto "${inst_dir}"
-	exeinto "${inst_dir}"
-
-	for f in "${files_to_copy[@]}"; do
-		[[ -f "${UB_BUILD_DIR}/${f}" ]] &&
-			doins "${f/#/${UB_BUILD_DIR}/}"
-	done
-
-	for f in "${exec_to_copy[@]}"; do
-		[[ -f "${UB_BUILD_DIR}/${f}" ]] &&
-			doexe "${f/#/${UB_BUILD_DIR}/}"
-	done
-
-	# Install the full image needed by sandbox.
-	if use vboot; then
-		newins "${UB_BUILD_DIR}/image.bin" image-u-boot.bin
-	fi
-
-	insinto "${inst_dir}/dtb"
-	doins "${UB_BUILD_DIR}/dts/"*.dtb
-}
diff --git a/sys-boot/u-boot/u-boot-2022.01-r3072.ebuild b/sys-boot/u-boot/u-boot-2022.01-r3072.ebuild
new file mode 100644
index 0000000..cf04f3a
--- /dev/null
+++ b/sys-boot/u-boot/u-boot-2022.01-r3072.ebuild
@@ -0,0 +1,177 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("2c933c4ed374e7f16ae351bd7a6880c20db41e85" "67f613b922e4ccff6019de318c154a377afbe822")
+CROS_WORKON_TREE=("7076084e7fed0ac92f67d04834bd59d59fbae30c" "13350f1d92d867a643e89ff2eac4e50ed31c18ab")
+CROS_WORKON_PROJECT=("chromiumos/third_party/u-boot" "chromiumos/platform/vboot_reference")
+CROS_WORKON_LOCALNAME=("u-boot/files" "../platform/vboot_reference")
+CROS_WORKON_EGIT_BRANCH=("chromeos-v2020.01" "master")
+VBOOT_REFERENCE_DESTDIR="${S}/vboot_reference"
+CROS_WORKON_DESTDIR=("${S}" "${VBOOT_REFERENCE_DESTDIR}")
+
+inherit toolchain-funcs flag-o-matic cros-workon cros-unibuild cros-sanitizers
+
+DESCRIPTION="Das U-Boot boot loader"
+HOMEPAGE="http://www.denx.de/wiki/U-Boot"
+
+LICENSE="GPL-2"
+KEYWORDS="*"
+IUSE="dev sandbox vboot werror"
+
+DEPEND="sandbox? ( media-libs/libsdl:= )"
+
+RDEPEND="${DEPEND}
+	chromeos-base/u-boot-scripts
+	!!sys-boot/chromeos-u-boot
+	"
+
+UB_BUILD_DIR="build"
+
+# To build for sandbox, check out the source:
+#
+#	cd src/third_party/u-boot/files
+#	git remote add dm git://git.denx.de/u-boot-dm.git
+#	git checkout dm/cros-working
+#
+# Then:
+#	cros_workon --host start u-boot
+#	USE="sandbox vboot" sudo -D emerge u-boot
+#	sudo chmod a+rw /firmware/image-u-boot.bin
+#	ln -s /firmware/image-u-boot.bin spi.bin
+#	/firmware/u-boot-tpl -d /firmware/u-boot.dtb.out \
+#		-L6 -c "host bind 0 $HOME/trunk/src/build/images/cheza/latest/chromiumos_image.bin; vboot go auto" -l
+#
+# See that it launches vboot (although without a functioning display) and
+# Ctrl-D attempts to boot the kernel.
+#
+# From outside the chroot:
+#
+#	ln -s  ${CROS}/chroot/firmware/image-u-boot.bin spi.bin
+#	${CROS}/chroot/firmware/u-boot-tpl -d \
+#		${CROS}/chroot/firmware/u-boot.dtb.out -L6 \
+#		-c "host bind 0 ${CROS}/src/build/images/cheza/latest/chromiumos_image.bin; vboot go auto" -l
+#
+# Outside the chroot the display and sound function correctly.
+
+# @FUNCTION: get_current_u_boot_config
+# @DESCRIPTION:
+# Finds the config for the current board by checking the master configuration.
+# The default is to use 'coreboot'.
+get_current_u_boot_config() {
+	local config
+
+	if use sandbox; then
+		config=chromeos_sandbox
+	else
+		config="$(cros_config_host get-firmware-build-targets u-boot)"
+	fi
+	echo "${config:-coreboot}"
+}
+
+umake() {
+	# Add `ARCH=` to reset ARCH env and let U-Boot choose it.
+	ARCH= emake "${COMMON_MAKE_FLAGS[@]}" "$@"
+}
+
+src_configure() {
+	sanitizers-setup-env
+
+	local config
+
+	export LDFLAGS=$(raw-ldflags)
+	tc-export BUILD_CC
+
+	config="$(get_current_u_boot_config)"
+	[[ -n "${config}" ]] || die "No U-Boot config selected"
+	elog "Using U-Boot config: ${config}"
+
+	# Firmware related binaries are compiled with 32-bit toolchain
+	# on 64-bit platforms
+	if ! use cros_host && [[ ${CHOST} == x86_64-* ]]; then
+		CROSS_PREFIX="i686-cros-linux-gnu-"
+	else
+		CROSS_PREFIX="${CHOST}-"
+	fi
+
+	COMMON_MAKE_FLAGS=(
+		"CROSS_COMPILE=${CROSS_PREFIX}"
+		DEV_TREE_SEPARATE=1
+		"HOSTCC=${BUILD_CC}"
+		HOSTSTRIP=true
+		QEMU_ARCH=
+	)
+	if use vboot; then
+		COMMON_MAKE_FLAGS+=(
+			"VBOOT_SOURCE=${VBOOT_REFERENCE_DESTDIR}"
+			VBOOT_DEBUG=1
+		)
+	fi
+	if use dev; then
+		# Avoid hiding the errors and warnings
+		COMMON_MAKE_FLAGS+=(
+			-s
+			QUIET=1
+		)
+	else
+		COMMON_MAKE_FLAGS+=(
+			-k
+		)
+	fi
+	use werror && COMMON_MAKE_FLAGS+=( WERROR=y )
+
+	BUILD_FLAGS=(
+		"O=${UB_BUILD_DIR}"
+	)
+
+	umake "${BUILD_FLAGS[@]}" distclean
+	umake "${BUILD_FLAGS[@]}" "${config}_defconfig"
+}
+
+src_compile() {
+	umake "${BUILD_FLAGS[@]}" all
+}
+
+src_install() {
+	local inst_dir="/firmware"
+	local files_to_copy=(
+		System.map
+		u-boot.bin
+		u-boot.dtb
+		u-boot.dtb.out
+		u-boot.img
+	)
+	local exec_to_copy=(
+		u-boot
+		spl/u-boot-spl
+		tpl/u-boot-tpl
+	)
+	local f
+
+	if ! use sandbox; then
+		files_to_copy+=( "${exec_to_copy[@]}" )
+		exec_to_copy=()
+	fi
+
+	insinto "${inst_dir}"
+	exeinto "${inst_dir}"
+
+	for f in "${files_to_copy[@]}"; do
+		[[ -f "${UB_BUILD_DIR}/${f}" ]] &&
+			doins "${f/#/${UB_BUILD_DIR}/}"
+	done
+
+	for f in "${exec_to_copy[@]}"; do
+		[[ -f "${UB_BUILD_DIR}/${f}" ]] &&
+			doexe "${f/#/${UB_BUILD_DIR}/}"
+	done
+
+	# Install the full image needed by sandbox.
+	if use vboot; then
+		newins "${UB_BUILD_DIR}/image.bin" image-u-boot.bin
+	fi
+
+	insinto "${inst_dir}/dtb"
+	doins "${UB_BUILD_DIR}/dts/"*.dtb
+}
diff --git a/sys-boot/u-boot/u-boot-9999.ebuild b/sys-boot/u-boot/u-boot-9999.ebuild
index c8a0e1b..b39e1ca 100644
--- a/sys-boot/u-boot/u-boot-9999.ebuild
+++ b/sys-boot/u-boot/u-boot-9999.ebuild
@@ -9,7 +9,7 @@
 VBOOT_REFERENCE_DESTDIR="${S}/vboot_reference"
 CROS_WORKON_DESTDIR=("${S}" "${VBOOT_REFERENCE_DESTDIR}")
 
-inherit toolchain-funcs flag-o-matic cros-workon cros-unibuild
+inherit toolchain-funcs flag-o-matic cros-workon cros-unibuild cros-sanitizers
 
 DESCRIPTION="Das U-Boot boot loader"
 HOMEPAGE="http://www.denx.de/wiki/U-Boot"
@@ -74,6 +74,8 @@
 }
 
 src_configure() {
+	sanitizers-setup-env
+
 	local config
 
 	export LDFLAGS=$(raw-ldflags)
diff --git a/sys-devel/OWNERS b/sys-devel/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/sys-devel/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/sys-devel/arc-build/arc-build-0.0.3-r18.ebuild b/sys-devel/arc-build/arc-build-0.0.3-r19.ebuild
similarity index 100%
rename from sys-devel/arc-build/arc-build-0.0.3-r18.ebuild
rename to sys-devel/arc-build/arc-build-0.0.3-r19.ebuild
diff --git a/sys-devel/arc-build/files/tm/backtrace.pc b/sys-devel/arc-build/files/tm/backtrace.pc
new file mode 100644
index 0000000..6c82b4c
--- /dev/null
+++ b/sys-devel/arc-build/files/tm/backtrace.pc
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=${prefix}
+libdir=${prefix}/@lib@
+includedir=${prefix}/include
+
+Name: backtrace
+Description: Android backtrace library
+Version: 9.0
+Libs: -L${libdir} -lbacktrace
+Cflags: -I${includedir}
diff --git a/sys-devel/arc-build/files/tm/cutils.pc b/sys-devel/arc-build/files/tm/cutils.pc
new file mode 100644
index 0000000..21f91c9
--- /dev/null
+++ b/sys-devel/arc-build/files/tm/cutils.pc
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=${prefix}
+libdir=${prefix}/@lib@
+includedir=${prefix}/include
+
+Name: cutils
+Description: Android utils library
+Version: 8.0
+Libs: -L${libdir} -lcutils -llog
+Cflags: -I${includedir}
diff --git a/sys-devel/arc-build/files/tm/expat.pc b/sys-devel/arc-build/files/tm/expat.pc
new file mode 100644
index 0000000..8bab105
--- /dev/null
+++ b/sys-devel/arc-build/files/tm/expat.pc
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=${prefix}
+libdir=${prefix}/@lib@
+includedir=${prefix}/include
+
+Name: expat
+Version: 2.1.1
+Description: expat XML parser
+URL: http://www.libexpat.org
+Libs: -L${libdir} -lexpat
+Cflags: -I${includedir}
diff --git a/sys-devel/arc-build/files/tm/hardware.pc b/sys-devel/arc-build/files/tm/hardware.pc
new file mode 100644
index 0000000..539e362
--- /dev/null
+++ b/sys-devel/arc-build/files/tm/hardware.pc
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=${prefix}
+libdir=${prefix}/@lib@
+includedir=${prefix}/include
+
+Name: hardware
+Description: Android hardware library
+Version: 8.0
+Libs: -L${libdir} -lhardware
+Cflags: -I${includedir}
diff --git a/sys-devel/arc-build/files/tm/mediandk.pc b/sys-devel/arc-build/files/tm/mediandk.pc
new file mode 100644
index 0000000..a47d494
--- /dev/null
+++ b/sys-devel/arc-build/files/tm/mediandk.pc
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=${prefix}
+libdir=${prefix}/@lib@
+includedir=${prefix}/include
+
+Name: mediandk
+Description: Android media NDK library
+Version: 8.0
+Libs: -L${libdir} -lmediandk
+Cflags: -I${includedir}
diff --git a/sys-devel/arc-build/files/tm/nativewindow.pc b/sys-devel/arc-build/files/tm/nativewindow.pc
new file mode 100644
index 0000000..8570ee4
--- /dev/null
+++ b/sys-devel/arc-build/files/tm/nativewindow.pc
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=${prefix}
+libdir=${prefix}/@lib@
+includedir=${prefix}/include
+
+Name: nativewindow
+Description: Android native window library
+Version: 8.0
+Libs: -L${libdir} -lnativewindow
+Cflags: -I${includedir}
diff --git a/sys-devel/arc-build/files/tm/pthread-stubs.pc b/sys-devel/arc-build/files/tm/pthread-stubs.pc
new file mode 100644
index 0000000..bf9bae1
--- /dev/null
+++ b/sys-devel/arc-build/files/tm/pthread-stubs.pc
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=${prefix}
+libdir=${prefix}/@lib@
+includedir=${prefix}/include
+
+Name: pthread stubs
+Description: Stubs missing from libc for standard pthread functions
+Version: 1.0
+Libs: -L${libdir} -lc
+Cflags: -I${includedir}
diff --git a/sys-devel/arc-build/files/tm/sync.pc b/sys-devel/arc-build/files/tm/sync.pc
new file mode 100644
index 0000000..6c4b993
--- /dev/null
+++ b/sys-devel/arc-build/files/tm/sync.pc
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=${prefix}
+libdir=${prefix}/@lib@
+includedir=${prefix}/include
+
+Name: sync
+Description: Android sync library
+Version: 8.0
+Libs: -L${libdir} -lsync
+Cflags: -I${includedir}
diff --git a/sys-devel/arc-build/files/tm/zlib.pc b/sys-devel/arc-build/files/tm/zlib.pc
new file mode 100644
index 0000000..15cdb2d
--- /dev/null
+++ b/sys-devel/arc-build/files/tm/zlib.pc
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=${prefix}
+libdir=${prefix}/@lib@
+includedir=${prefix}/include
+
+Name: zlib
+Version: 1.2.8
+Description: zlib compression library
+
+Libs: -L${libdir} -lz
+Cflags: -I${includedir}
diff --git a/sys-devel/arc-llvm/arc-llvm-12.0.1-r2.ebuild b/sys-devel/arc-llvm/arc-llvm-12.0.1-r3.ebuild
similarity index 100%
rename from sys-devel/arc-llvm/arc-llvm-12.0.1-r2.ebuild
rename to sys-devel/arc-llvm/arc-llvm-12.0.1-r3.ebuild
diff --git a/sys-devel/arc-llvm/arc-llvm-12.0.1.ebuild b/sys-devel/arc-llvm/arc-llvm-12.0.1.ebuild
index 9d7e498..6b0d652 100644
--- a/sys-devel/arc-llvm/arc-llvm-12.0.1.ebuild
+++ b/sys-devel/arc-llvm/arc-llvm-12.0.1.ebuild
@@ -144,7 +144,7 @@
 		-DLLVM_ENABLE_ASSERTIONS=$(usex debug)
 		-DLLVM_ENABLE_LIBPFM=$(usex exegesis)
 		-DLLVM_ENABLE_EH=OFF
-		-DLLVM_ENABLE_RTTI=OFF
+		-DLLVM_ENABLE_RTTI=ON
 		-DLLVM_ENABLE_ZLIB=OFF
 
 		-DWITH_POLLY=OFF # TODO
diff --git a/sys-devel/autofdo/Manifest b/sys-devel/autofdo/Manifest
index 420712d..1f7a1a6 100644
--- a/sys-devel/autofdo/Manifest
+++ b/sys-devel/autofdo/Manifest
@@ -1 +1 @@
-DIST autofdo-0.23.tar.xz 67592216 BLAKE2B c432b4bec48119fec605be547b78d8ca9a7c70ae34c8fab1a334e0c40e3f48af43c47aa55ac002191d2c5fd454ec9adec3f9404f5f82a46728b33657ad9b286e SHA512 9a0c2a6d4b1eaf4c3c2d5206aa6d4d8fad6b7e28368fdd0faaec5a71d95852052550a0052e2a038e287776f64dbf4c01084249addcaa7e27ab49a3232a9be5b3
+DIST autofdo-0.25.tar.xz 70511956 BLAKE2B 02e0c7ab04610497dcfb029a32f0d5cdca0137def80f21f61f8ad071668e78d1062396307ea69b6136d00b9b0de517fa59580c64b8c78e04cc809fad7b152726 SHA512 9b01e3f4cf7572c0811614b45f9310a4bd04b1b83984ba18e556885a12fc34d7e315d933cf3e099a096861a135ca7cb7b1e52e84098865ff02ef835b87f0a784
diff --git a/sys-devel/autofdo/autofdo-0.23-r1.ebuild b/sys-devel/autofdo/autofdo-0.23-r1.ebuild
deleted file mode 120000
index 195d364..0000000
--- a/sys-devel/autofdo/autofdo-0.23-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-autofdo-0.23.ebuild
\ No newline at end of file
diff --git a/sys-devel/autofdo/autofdo-0.23.ebuild b/sys-devel/autofdo/autofdo-0.23.ebuild
deleted file mode 100644
index 0ddf154..0000000
--- a/sys-devel/autofdo/autofdo-0.23.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic cmake
-
-DESCRIPTION="Utility for generating AFDO profiles"
-HOMEPAGE="http://gcc.gnu.org/wiki/AutoFDO"
-SRC_URI="https://github.com/google/${PN}/archive/${PV}.tar.xz -> ${P}.tar.xz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND="dev-libs/openssl:0=
-	dev-libs/protobuf:=
-	dev-libs/libffi
-	sys-devel/llvm
-	sys-libs/zlib"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
-	cmake_src_prepare
-}
-
-src_configure() {
-	append-ldflags "$(no-as-needed)"
-	local mycmakeargs=(
-		"-DBUILD_SHARED_LIBS=NO"
-		"-DBUILD_TESTING=OFF"
-		"-DINSTALL_GTEST=OFF"
-		"-DLLVM_PATH=$(llvm-config --cmakedir)"
-	)
-	cmake_src_configure
-}
-
-src_compile() {
-	cmake_src_compile create_llvm_prof
-}
-
-src_install() {
-	AFDO_BUILD_DIR="${WORKDIR}/${P}_build"
-	cmake_src_install
-	dobin "${AFDO_BUILD_DIR}"/create_llvm_prof "${AFDO_BUILD_DIR}"/profile_merger \
-		"${AFDO_BUILD_DIR}"/sample_merger
-}
diff --git a/sys-devel/autofdo/autofdo-0.25-r1.ebuild b/sys-devel/autofdo/autofdo-0.25-r1.ebuild
new file mode 120000
index 0000000..084f7b4
--- /dev/null
+++ b/sys-devel/autofdo/autofdo-0.25-r1.ebuild
@@ -0,0 +1 @@
+autofdo-0.25.ebuild
\ No newline at end of file
diff --git a/sys-devel/autofdo/autofdo-0.25.ebuild b/sys-devel/autofdo/autofdo-0.25.ebuild
new file mode 100644
index 0000000..3e79ffb
--- /dev/null
+++ b/sys-devel/autofdo/autofdo-0.25.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic cmake
+
+DESCRIPTION="Utility for generating AFDO profiles"
+HOMEPAGE="http://gcc.gnu.org/wiki/AutoFDO"
+SRC_URI="https://github.com/google/${PN}/archive/${PV}.tar.xz -> ${P}.tar.xz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="dev-libs/openssl:0=
+	dev-libs/protobuf:=
+	dev-libs/libffi
+	sys-devel/llvm
+	sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-signal_handler-fix-ambigous-max-ar.patch"
+)
+
+src_prepare() {
+	cmake_src_prepare
+}
+
+src_configure() {
+	append-ldflags "$(no-as-needed)"
+	local mycmakeargs=(
+		"-DBUILD_SHARED_LIBS=NO"
+		"-DBUILD_TESTING=OFF"
+		"-DINSTALL_GTEST=OFF"
+		"-DLLVM_PATH=$(llvm-config --cmakedir)"
+	)
+	cmake_src_configure
+}
+
+src_compile() {
+	cmake_src_compile create_llvm_prof
+}
+
+src_install() {
+	AFDO_BUILD_DIR="${WORKDIR}/${P}_build"
+	cmake_src_install
+	dobin "${AFDO_BUILD_DIR}"/create_llvm_prof "${AFDO_BUILD_DIR}"/profile_merger \
+		"${AFDO_BUILD_DIR}"/sample_merger
+}
diff --git a/sys-devel/autofdo/files/autofdo-signal_handler-fix-ambigous-max-ar.patch b/sys-devel/autofdo/files/autofdo-signal_handler-fix-ambigous-max-ar.patch
new file mode 100644
index 0000000..268e7c7
--- /dev/null
+++ b/sys-devel/autofdo/files/autofdo-signal_handler-fix-ambigous-max-ar.patch
@@ -0,0 +1,89 @@
+From a9831f1cbf93fb18dd951453635f488037454ce9 Mon Sep 17 00:00:00 2001
+From: Abseil Team <absl-team@google.com>
+Date: Mon, 3 May 2021 07:37:39 -0700
+Subject: [PATCH] Export of internal Abseil changes
+
+Upstream-Status: Backport [master branch commit a9831f1cbf93f]
+
+[Adrian Ratiu: Backported from upstream tagged release 20211102.0]
+
+--
+cf88f9cf40eab54c06bca7f20795352ec23bb583 by Derek Mauro <dmauro@google.com>:
+
+Fixes build with latest glibc
+Fixes #952
+
+PiperOrigin-RevId: 371693908
+
+--
+99bcd0f4a747ce7a401e23c745adf34d0ec5131b by Samuel Benzaquen <sbenza@google.com>:
+
+Add support for std::string_view in StrFormat even when
+absl::string_view != std::string_view.
+
+PiperOrigin-RevId: 371693633
+
+--
+e35463572149a6c2d4a0d439b9300ce03fd6b96d by Abseil Team <absl-team@google.com>:
+
+Cmake builds should only install pkg-config when explicitly requested.
+
+PiperOrigin-RevId: 371403419
+GitOrigin-RevId: cf88f9cf40eab54c06bca7f20795352ec23bb583
+Change-Id: I4360a18c638a4d901ff44ab1e0a9d8f321c302ea
+---
+ third_party/abseil/absl/debugging/failure_signal_handler.cc         | 3 ++-
+ third_party/abseil/absl/strings/internal/str_format/arg.h           | 8 ++++++++
+ third_party/abseil/absl/strings/internal/str_format/convert_test.cc | 3 +++
+ 3 files changed, 13 insertions(+), 1 deletions(-)
+
+diff --git a/third_party/abseil/absl/debugging/failure_signal_handler.cc b/third_party/abseil/absl/debugging/failure_signal_handler.cc
+index e458a795..689e5979 100644
+--- a/third_party/abseil/absl/debugging/failure_signal_handler.cc
++++ b/third_party/abseil/absl/debugging/failure_signal_handler.cc
+@@ -136,7 +136,8 @@ static bool SetupAlternateStackOnce() {
+ #else
+   const size_t page_mask = sysconf(_SC_PAGESIZE) - 1;
+ #endif
+-  size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
++  size_t stack_size =
++      (std::max<size_t>(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
+ #if defined(ABSL_HAVE_ADDRESS_SANITIZER) || \
+     defined(ABSL_HAVE_MEMORY_SANITIZER) || defined(ABSL_HAVE_THREAD_SANITIZER)
+   // Account for sanitizer instrumentation requiring additional stack space.
+diff --git a/third_party/abseil/absl/strings/internal/str_format/arg.h b/third_party/abseil/absl/strings/internal/str_format/arg.h
+index 7040c866..3c91be70 100644
+--- a/third_party/abseil/absl/strings/internal/str_format/arg.h
++++ b/third_party/abseil/absl/strings/internal/str_format/arg.h
+@@ -122,6 +122,14 @@ StringConvertResult FormatConvertImpl(const std::string& v,
+ StringConvertResult FormatConvertImpl(string_view v,
+                                       FormatConversionSpecImpl conv,
+                                       FormatSinkImpl* sink);
++#if defined(ABSL_HAVE_STD_STRING_VIEW) && !defined(ABSL_USES_STD_STRING_VIEW)
++inline StringConvertResult FormatConvertImpl(std::string_view v,
++                                             FormatConversionSpecImpl conv,
++                                             FormatSinkImpl* sink) {
++  return FormatConvertImpl(absl::string_view(v.data(), v.size()), conv, sink);
++}
++#endif  // ABSL_HAVE_STD_STRING_VIEW && !ABSL_USES_STD_STRING_VIEW
++
+ ArgConvertResult<FormatConversionCharSetUnion(
+     FormatConversionCharSetInternal::s, FormatConversionCharSetInternal::p)>
+ FormatConvertImpl(const char* v, const FormatConversionSpecImpl conv,
+diff --git a/third_party/abseil/absl/strings/internal/str_format/convert_test.cc b/third_party/abseil/absl/strings/internal/str_format/convert_test.cc
+index 926283cf..91e03609 100644
+--- a/third_party/abseil/absl/strings/internal/str_format/convert_test.cc
++++ b/third_party/abseil/absl/strings/internal/str_format/convert_test.cc
+@@ -229,6 +229,9 @@ TEST_F(FormatConvertTest, BasicString) {
+   TestStringConvert(static_cast<const char*>("hello"));
+   TestStringConvert(std::string("hello"));
+   TestStringConvert(string_view("hello"));
++#if defined(ABSL_HAVE_STD_STRING_VIEW)
++  TestStringConvert(std::string_view("hello"));
++#endif  // ABSL_HAVE_STD_STRING_VIEW
+ }
+ 
+ TEST_F(FormatConvertTest, NullString) {
+-- 
+2.36.1
+
diff --git a/sys-devel/binutils/binutils-2.36.1-r6.ebuild b/sys-devel/binutils/binutils-2.36.1-r8.ebuild
similarity index 100%
rename from sys-devel/binutils/binutils-2.36.1-r6.ebuild
rename to sys-devel/binutils/binutils-2.36.1-r8.ebuild
diff --git a/sys-devel/binutils/binutils-2.36.1.ebuild b/sys-devel/binutils/binutils-2.36.1.ebuild
index 2d0d7f5..3552a94 100644
--- a/sys-devel/binutils/binutils-2.36.1.ebuild
+++ b/sys-devel/binutils/binutils-2.36.1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI="7"
 
-inherit eutils libtool flag-o-matic gnuconfig multilib cros-constants
+inherit eutils libtool flag-o-matic gnuconfig multilib
 
 DESCRIPTION="Tools necessary to build programs"
 HOMEPAGE="http://sources.redhat.com/binutils/"
diff --git a/sys-devel/binutils/files/0002-dwarf-add-experimental-DWARF-5-values-for-two-level-.patch b/sys-devel/binutils/files/0002-dwarf-add-experimental-DWARF-5-values-for-two-level-.patch
deleted file mode 100644
index 9b215d2..0000000
--- a/sys-devel/binutils/files/0002-dwarf-add-experimental-DWARF-5-values-for-two-level-.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From fbd01745c4baf4a6f5c21f4e964e22d5724ffb4f Mon Sep 17 00:00:00 2001
-From: Cary Coutant <ccoutant@google.com>
-Date: Tue, 23 Dec 2014 14:44:58 -0800
-Subject: [PATCH 02/17] dwarf: add experimental DWARF-5 values for two-level
- line number tables.
-
-This change is forward-port of commit 13a142ce0959837746e61063b6b18ac70344a474
-  - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=13a142ce0959837746e61063b6b18ac70344a474
-from upstream branch users/ccoutant/two-level-line-150331
-  - https://sourceware.org/git/?p=binutils-gdb.git;a=shortlog;h=refs/heads/users/ccoutant/two-level-line-150331
-to binutils-2_27-branch.
-
-[Adrian Ratiu: rebased from v2.27 to v2.36.1]
-
-Change-Id: I9190449f8eee61fe824fe5bd031b5aa7e7629a11
----
- include/dwarf2.h | 15 +++++++++++++--
- 1 file changed, 13 insertions(+), 2 deletions(-)
-
-diff --git a/include/dwarf2.h b/include/dwarf2.h
-index 50b6ddb1f11..8f4d6aab3ed 100644
---- a/include/dwarf2.h
-+++ b/include/dwarf2.h
-@@ -244,7 +244,13 @@ enum dwarf_line_number_ops
-     /* DWARF 3.  */
-     DW_LNS_set_prologue_end = 10,
-     DW_LNS_set_epilogue_begin = 11,
--    DW_LNS_set_isa = 12
-+    DW_LNS_set_isa = 12,
-+    /* Experimental DWARF 5 extensions.
-+       See http://wiki.dwarfstd.org/index.php?title=TwoLevelLineTables.  */
-+    DW_LNS_set_address_from_logical = 13, /* Actuals table only.  */
-+    DW_LNS_set_subprogram = 13,           /* Logicals table only.  */
-+    DW_LNS_inlined_call = 14,             /* Logicals table only.  */
-+    DW_LNS_pop_context = 15               /* Logicals table only.  */
-   };
- 
- /* Line number extended opcodes.  */
-@@ -280,7 +286,7 @@ enum dwarf_line_number_hp_sfc_ops
-   };
- 
- /* Content type codes in line table directory_entry_format
--   and file_name_entry_format sequences.  */
-+   and file_name_entry_format sequences. (DWARF 5) */
- enum dwarf_line_number_content_type
-   {
-     DW_LNCT_path = 0x1,
-@@ -288,6 +294,11 @@ enum dwarf_line_number_content_type
-     DW_LNCT_timestamp = 0x3,
-     DW_LNCT_size = 0x4,
-     DW_LNCT_MD5 = 0x5,
-+    /* Experimental DWARF 5 extensions.
-+       See http://wiki.dwarfstd.org/index.php?title=TwoLevelLineTables.  */
-+    DW_LNCT_subprogram_name = 0x6,
-+    DW_LNCT_decl_file = 0x7,
-+    DW_LNCT_decl_line = 0x8,
-     DW_LNCT_lo_user = 0x2000,
-     DW_LNCT_hi_user = 0x3fff
-   };
--- 
-2.34.1
-
diff --git a/sys-devel/binutils/files/0003-gas-add-support-for-DWARF-5-and-experimental-two-lev.patch b/sys-devel/binutils/files/0003-gas-add-support-for-DWARF-5-and-experimental-two-lev.patch
deleted file mode 100644
index 6d6ebe0..0000000
--- a/sys-devel/binutils/files/0003-gas-add-support-for-DWARF-5-and-experimental-two-lev.patch
+++ /dev/null
@@ -1,1249 +0,0 @@
-From 6e9c8e75162740068ecdd1f1a5d693597f9dbdb6 Mon Sep 17 00:00:00 2001
-From: Cary Coutant <ccoutant@google.com>
-Date: Tue, 23 Dec 2014 15:01:40 -0800
-Subject: [PATCH 03/17] gas: add support for DWARF-5 and experimental two-level
- line number tables.
-
-This change is forward-port of commit a7c7bcafd2add7ecf8ea2ad7d3d77cf38d46c195
-  - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=a7c7bcafd2add7ecf8ea2ad7d3d77cf38d46c195
-from upstream branch users/ccoutant/two-level-line-150331
-  - https://sourceware.org/git/?p=binutils-gdb.git;a=shortlog;h=refs/heads/users/ccoutant/two-level-line-150331
-to binutils-2_27-branch.
-
-[Adrian Ratiu: rebased from v2.27 to v2.36.1]
-
-Change-Id: I84e4565576b9b4fbe88c29312cd75e3687a309d8
----
- gas/config/obj-elf.c |   2 +
- gas/dwarf2dbg.c      | 823 ++++++++++++++++++++++++++++++++++++++-----
- gas/dwarf2dbg.h      |  19 +-
- 3 files changed, 756 insertions(+), 88 deletions(-)
-
-diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c
-index 6c0a6ae9ee2..40b3ce296ea 100644
---- a/gas/config/obj-elf.c
-+++ b/gas/config/obj-elf.c
-@@ -129,6 +129,8 @@ static const pseudo_typeS elf_pseudo_table[] =
-   { "file", dwarf2_directive_file, 0 },
-   { "loc",  dwarf2_directive_loc,  0 },
-   { "loc_mark_labels", dwarf2_directive_loc_mark_labels, 0 },
-+  { "lloc",  dwarf2_directive_loc, 1 },
-+  { "subprog",  dwarf2_directive_subprog, 0 },
- 
-   /* We need to trap the section changing calls to handle .previous.  */
-   {"data", obj_elf_data, 0},
-diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c
-index 4fbd1e38ec2..700131f0ab8 100644
---- a/gas/dwarf2dbg.c
-+++ b/gas/dwarf2dbg.c
-@@ -45,6 +45,8 @@
- #include "dwarf2dbg.h"
- #include <filenames.h>
- 
-+#include "hash.h"
-+
- #ifdef HAVE_DOS_BASED_FILE_SYSTEM
- /* We need to decide which character to use as a directory separator.
-    Just because HAVE_DOS_BASED_FILE_SYSTEM is defined, it does not
-@@ -106,6 +108,10 @@
- #ifndef DWARF2_RNGLISTS_VERSION
- #define DWARF2_RNGLISTS_VERSION 5
- #endif
-+/* If we see .lloc directives, generate an experimental version 6.  */
-+#ifndef DWARF2_LINE_EXPERIMENTAL_VERSION
-+#define DWARF2_LINE_EXPERIMENTAL_VERSION 0xf006
-+#endif
- 
- #include "subsegs.h"
- 
-@@ -131,6 +137,11 @@
-    "standard_opcode_lengths" table that is emitted below in
-    out_debug_line().  */
- #define DWARF2_LINE_OPCODE_BASE		13
-+#define DWARF5_EXPERIMENTAL_LINE_OPCODE_BASE  16
-+
-+static int opcode_base;
-+static int line_base;
-+static unsigned int line_range;
- 
- #ifndef DWARF2_LINE_BASE
-   /* Minimum line offset in a special line info. opcode.  This value
-@@ -143,12 +154,20 @@
- # define DWARF2_LINE_RANGE		14
- #endif
- 
-+/* For two-level line tables, these values work a bit better.  */
-+#define DWARF5_EXPERIMENTAL_LINE_BASE		-3
-+#define DWARF5_EXPERIMENTAL_LINE_RANGE		10
-+
- #ifndef DWARF2_LINE_MIN_INSN_LENGTH
-   /* Define the architecture-dependent minimum instruction length (in
-      bytes).  This value should be rather too small than too big.  */
- # define DWARF2_LINE_MIN_INSN_LENGTH	1
- #endif
- 
-+#ifndef DWARF2_LINE_MAX_OPS_PER_INSN
-+# define DWARF2_LINE_MAX_OPS_PER_INSN	1
-+#endif
-+
- /* Flag that indicates the initial value of the is_stmt_start flag.  */
- #define	DWARF2_LINE_DEFAULT_IS_STMT	1
- 
-@@ -158,11 +177,11 @@
- 
- /* Given a special op, return the line skip amount.  */
- #define SPECIAL_LINE(op) \
--	(((op) - DWARF2_LINE_OPCODE_BASE)%DWARF2_LINE_RANGE + DWARF2_LINE_BASE)
-+	(((op) - opcode_base) % line_range + line_base)
- 
- /* Given a special op, return the address skip amount (in units of
-    DWARF2_LINE_MIN_INSN_LENGTH.  */
--#define SPECIAL_ADDR(op) (((op) - DWARF2_LINE_OPCODE_BASE)/DWARF2_LINE_RANGE)
-+#define SPECIAL_ADDR(op) (((op) - opcode_base) / line_range)
- 
- /* The maximum address skip amount that can be encoded with a special op.  */
- #define MAX_SPECIAL_ADDR_DELTA		SPECIAL_ADDR(255)
-@@ -225,6 +244,44 @@ static char **       dirs = NULL;
- static unsigned int  dirs_in_use = 0;
- static unsigned int  dirs_allocated = 0;
- 
-+/* Experimental DWARF-5 Extension: Table of subprograms.  */
-+struct subprog_entry {
-+  const char *subpname;
-+  unsigned int filenum;
-+  unsigned int line;
-+};
-+
-+static struct subprog_entry *subprogs;
-+static unsigned int subprogs_in_use;
-+static unsigned int subprogs_allocated;
-+
-+/* Experimental DWARF-5 Extension: Logicals table.  */
-+struct logicals_entry {
-+  segT seg;
-+  symbolS *label;
-+  /* A logical row doesn't use every field in this struct, but using it
-+     here makes the code for writing the line number program simpler.  */
-+  struct dwarf2_line_info loc;
-+  unsigned int context;
-+  unsigned int subprog;
-+};
-+
-+static struct logicals_entry *logicals;
-+static unsigned int logicals_in_use;
-+static unsigned int logicals_allocated = 0;
-+static unsigned int logicals_with_labels = 0;
-+
-+/* DWARF-5: .debug_line_str string table.  */
-+struct string_table {
-+  htab_t hashtab;
-+  const char **strings;
-+  unsigned int strings_in_use;
-+  unsigned int strings_allocated;
-+  offsetT next_offset;
-+};
-+
-+static struct string_table debug_line_str_table;
-+
- /* TRUE when we've seen a .loc directive recently.  Used to avoid
-    doing work when there's nothing to do.  Will be reset by
-    dwarf2_consume_line_info.  */
-@@ -242,9 +299,9 @@ bfd_boolean dwarf2_loc_mark_labels;
- /* Current location as indicated by the most recent .loc directive.  */
- static struct dwarf2_line_info current =
- {
--  1, 1, 0, 0,
--  DWARF2_LINE_DEFAULT_IS_STMT ? DWARF2_FLAG_IS_STMT : 0,
--  0, NULL
-+  1, 1, 0, 0, /* filenum, line, column, isa */
-+  DWARF2_LINE_DEFAULT_IS_STMT ? DWARF2_FLAG_IS_STMT : 0, /* flags */
-+  0, NULL, 0 /* discriminator, view, logical */
- };
- 
- /* This symbol is used to recognize view number forced resets in loc
-@@ -582,6 +639,15 @@ dwarf2_gen_line_info (addressT ofs, struct dwarf2_line_info *loc)
-   else
-     sym = symbol_temp_new (now_seg, frag_now, ofs);
-   dwarf2_gen_line_info_1 (sym, loc);
-+
-+  /* Record the current symbol with all logical rows created since
-+     the last emitted instruction.  */
-+  while (logicals_with_labels < logicals_in_use)
-+    {
-+      logicals[logicals_with_labels].label = sym;
-+      logicals[logicals_with_labels].seg = now_seg;
-+      logicals_with_labels++;
-+    }
- }
- 
- static const char *
-@@ -916,6 +982,7 @@ dwarf2_where (struct dwarf2_line_info *line)
-       line->isa = current.isa;
-       line->discriminator = current.discriminator;
-       line->view = NULL;
-+      line->logical = 0;
-     }
-   else
-     *line = current;
-@@ -1022,6 +1089,68 @@ dwarf2_emit_label (symbolS *label)
-   dwarf2_consume_line_info ();
- }
- 
-+/* Make a new entry in the subprograms table.  */
-+
-+static void
-+make_subprog_entry (unsigned int num, char *subpname, int filenum, int line)
-+{
-+  if (subprogs_allocated == 0)
-+    {
-+      subprogs_allocated = 4;
-+      subprogs = (struct subprog_entry *)
-+	  xcalloc (subprogs_allocated, sizeof (struct subprog_entry));
-+    }
-+  if (num > subprogs_allocated)
-+    {
-+      unsigned int old = subprogs_allocated;
-+
-+      subprogs_allocated *= 2;
-+      if (num > subprogs_allocated)
-+        subprogs_allocated = num;
-+      subprogs = (struct subprog_entry *)
-+	  xrealloc (subprogs,
-+		    subprogs_allocated * sizeof (struct subprog_entry));
-+      memset (subprogs + old, 0,
-+	      (subprogs_allocated - old) * sizeof (struct subprog_entry));
-+    }
-+  if (subprogs_in_use < num)
-+    subprogs_in_use = num;
-+  subprogs[num - 1].subpname = xstrdup (subpname);
-+  subprogs[num - 1].filenum = filenum;
-+  subprogs[num - 1].line = line;
-+}
-+
-+/* Make a new entry in the logicals table.  */
-+
-+static void
-+make_logical (unsigned int logical, int context, int subprog)
-+{
-+  if (logicals_allocated == 0)
-+    {
-+      logicals_allocated = 4;
-+      logicals = (struct logicals_entry *)
-+	  xcalloc (logicals_allocated, sizeof (struct logicals_entry));
-+    }
-+  if (logical > logicals_allocated)
-+    {
-+      unsigned int old = logicals_allocated;
-+
-+      logicals_allocated *= 2;
-+      if (logical > logicals_allocated)
-+        logicals_allocated = logical;
-+      logicals = (struct logicals_entry *)
-+	  xrealloc (logicals,
-+		    logicals_allocated * sizeof (struct logicals_entry));
-+      memset (logicals + old, 0,
-+	      (logicals_allocated - old) * sizeof (struct logicals_entry));
-+    }
-+  logicals[logical - 1].loc = current;
-+  logicals[logical - 1].context = context;
-+  logicals[logical - 1].subprog = subprog;
-+  if (logical > logicals_in_use)
-+    logicals_in_use = logical;
-+}
-+
- /* Handle two forms of .file directive:
-    - Pass .file "source.c" to s_app_file
-    - Handle .file 1 "source.c" by adding an entry to the DWARF-2 file table
-@@ -1136,40 +1265,130 @@ dwarf2_directive_file (int dummy ATTRIBUTE_UNUSED)
-   (void) dwarf2_directive_filename ();
- }
- 
-+/* Experimental DWARF-5 extension:
-+   Implements the .subprog SUBPNO ["SUBPROG" [FILENO LINENO]] directive.
-+   FILENO is the file number, LINENO the line number and the
-+   (optional) COLUMN the column of the source code that the following
-+   instruction corresponds to.  FILENO can be 0 to indicate that the
-+   filename specified by the textually most recent .file directive
-+   should be used.  */
- void
--dwarf2_directive_loc (int dummy ATTRIBUTE_UNUSED)
-+dwarf2_directive_subprog (int dummy ATTRIBUTE_UNUSED)
- {
--  offsetT filenum, line;
-+  offsetT num, filenum, line;
-+  char *subpname;
-+  int subpname_len;
- 
--  /* If we see two .loc directives in a row, force the first one to be
--     output now.  */
--  if (dwarf2_loc_directive_seen)
--    dwarf2_emit_insn (0);
-+  num = get_absolute_expression ();
-+  subpname = demand_copy_C_string (&subpname_len);
-+  if (subpname == NULL)
-+    return;
- 
-+  SKIP_WHITESPACE ();
-   filenum = get_absolute_expression ();
-   SKIP_WHITESPACE ();
-   line = get_absolute_expression ();
-+  demand_empty_rest_of_line ();
- 
--  if (filenum < 1)
-+  if (num < 1)
-     {
--      if (filenum == 0 && dwarf_level < 5)
--	dwarf_level = 5;
--      if (filenum < 0 || DWARF2_LINE_VERSION < 5)
-+      as_bad (_("subprogram number less than one"));
-+      return;
-+    }
-+
-+  /* A .subprog directive implies compiler generated debug information is
-+     being supplied.  Turn off gas generated debug info.  */
-+  debug_type = DEBUG_NONE;
-+
-+  if (num < (int) subprogs_in_use && subprogs[num].subpname != NULL)
-+    {
-+      as_bad (_("subprogram number %ld already allocated"), (long) num);
-+      return;
-+    }
-+
-+  make_subprog_entry (num, subpname, filenum, line);
-+}
-+
-+void
-+dwarf2_directive_loc (int is_lloc)
-+{
-+  offsetT filenum, line;
-+  offsetT logical = 0;
-+  offsetT context = 0;
-+  offsetT subprog = 0;
-+  bfd_boolean is_new_logical = FALSE;
-+  bfd_boolean is_actual = FALSE;
-+  static bfd_boolean saw_loc = FALSE;
-+  static bfd_boolean saw_lloc = FALSE;
-+  static bfd_boolean saw_both = FALSE;
-+
-+  if ((is_lloc && saw_loc) || (!is_lloc && saw_lloc))
-+    {
-+      if (!saw_both)
-+        as_bad (_(".loc and .lloc cannot both be used"));
-+      saw_both = TRUE;
-+      return;
-+    }
-+
-+  if (is_lloc)
-+    {
-+      saw_lloc = TRUE;
-+      logical = get_absolute_expression ();
-+      SKIP_WHITESPACE ();
-+
-+      if (ISDIGIT (*input_line_pointer))
-+	is_new_logical = TRUE;
-+      else
-+	is_actual = TRUE;
-+
-+      if (logical < 1)
- 	{
--	  as_bad (_("file number less than one"));
-+	  as_bad (_("logical row less than one"));
-+	  return;
-+	}
-+      if (is_actual &&
-+          ((unsigned int) logical > logicals_in_use
-+           || logicals[logical - 1].loc.line == 0))
-+	{
-+	  as_bad (_("unassigned logical row %ld"), (long) logical);
- 	  return;
- 	}
-     }
-+  else
-+    saw_loc = TRUE;
-+
-+  /* If we see two .loc directives in a row, force the first one to be
-+     output now.  */
-+  if (dwarf2_loc_directive_seen)
-+    dwarf2_emit_insn (0);
- 
--  if ((valueT) filenum >= files_in_use || files[filenum].filename == NULL)
-+  if (is_lloc && !is_new_logical)
-     {
--      as_bad (_("unassigned file number %ld"), (long) filenum);
--      return;
-+      filenum = logicals[logical - 1].loc.filenum;
-+      line = logicals[logical - 1].loc.line;
-+    }
-+  else
-+    {
-+      filenum = get_absolute_expression ();
-+      SKIP_WHITESPACE ();
-+      line = get_absolute_expression ();
-+
-+      if (filenum < 1)
-+	{
-+	  as_bad (_("file number less than one"));
-+	  return;
-+	}
-+      if (filenum >= (int) files_in_use || files[filenum].filename == 0)
-+	{
-+	  as_bad (_("unassigned file number %ld"), (long) filenum);
-+	  return;
-+	}
-     }
- 
-   current.filenum = filenum;
-   current.line = line;
-   current.discriminator = 0;
-+  current.logical = logical;
- 
- #ifndef NO_LISTING
-   if (listing)
-@@ -1212,17 +1431,17 @@ dwarf2_directive_loc (int dummy ATTRIBUTE_UNUSED)
- 	  current.flags |= DWARF2_FLAG_BASIC_BLOCK;
- 	  *input_line_pointer = c;
- 	}
--      else if (strcmp (p, "prologue_end") == 0)
-+      else if (!is_actual && strcmp (p, "prologue_end") == 0)
- 	{
- 	  current.flags |= DWARF2_FLAG_PROLOGUE_END;
- 	  *input_line_pointer = c;
- 	}
--      else if (strcmp (p, "epilogue_begin") == 0)
-+      else if (!is_actual && strcmp (p, "epilogue_begin") == 0)
- 	{
- 	  current.flags |= DWARF2_FLAG_EPILOGUE_BEGIN;
- 	  *input_line_pointer = c;
- 	}
--      else if (strcmp (p, "is_stmt") == 0)
-+      else if (!is_actual && strcmp (p, "is_stmt") == 0)
- 	{
- 	  (void) restore_line_pointer (c);
- 	  value = get_absolute_expression ();
-@@ -1248,7 +1467,7 @@ dwarf2_directive_loc (int dummy ATTRIBUTE_UNUSED)
- 	      return;
- 	    }
- 	}
--      else if (strcmp (p, "discriminator") == 0)
-+      else if (!is_actual && strcmp (p, "discriminator") == 0)
- 	{
- 	  (void) restore_line_pointer (c);
- 	  value = get_absolute_expression ();
-@@ -1260,7 +1479,7 @@ dwarf2_directive_loc (int dummy ATTRIBUTE_UNUSED)
- 	      return;
- 	    }
- 	}
--      else if (strcmp (p, "view") == 0)
-+      else if (!is_actual && strcmp (p, "view") == 0)
- 	{
- 	  symbolS *sym;
- 
-@@ -1311,6 +1530,30 @@ dwarf2_directive_loc (int dummy ATTRIBUTE_UNUSED)
- 	    }
- 	  current.view = sym;
- 	}
-+      else if (!is_actual && strcmp (p, "context") == 0)
-+	{
-+	  *input_line_pointer = c;
-+	  value = get_absolute_expression ();
-+	  if (value >= 0)
-+	    context = value;
-+	  else
-+	    {
-+	      as_bad (_("context less than zero"));
-+	      return;
-+	    }
-+	}
-+      else if (!is_actual && strcmp (p, "subprog") == 0)
-+	{
-+	  *input_line_pointer = c;
-+	  value = get_absolute_expression ();
-+	  if (value >= 0)
-+	    subprog = value;
-+	  else
-+	    {
-+	      as_bad (_("subprog number less than zero"));
-+	      return;
-+	    }
-+	}
-       else
- 	{
- 	  as_bad (_("unknown .loc sub-directive `%s'"), p);
-@@ -1328,6 +1571,9 @@ dwarf2_directive_loc (int dummy ATTRIBUTE_UNUSED)
-   /* If we were given a view id, emit the row right away.  */
-   if (current.view)
-     dwarf2_emit_insn (0);
-+
-+  if (is_new_logical)
-+    make_logical (logical, context, subprog);
- }
- 
- void
-@@ -1459,6 +1705,15 @@ out_set_addr (symbolS *sym)
-   emit_expr (&exp, sizeof_address);
- }
- 
-+/* Set the address from a logicals table entry.  */
-+
-+static void
-+out_set_addr_from_logical (int logical_delta)
-+{
-+  out_opcode (DW_LNS_set_address_from_logical);
-+  out_leb128 (logical_delta);
-+}
-+
- static void scale_addr_delta (addressT *);
- 
- static void
-@@ -1497,7 +1752,7 @@ size_inc_line_addr (int line_delta, addressT addr_delta)
-      to emit the matrix entry.  */
-   if (line_delta == INT_MAX)
-     {
--      if (addr_delta == MAX_SPECIAL_ADDR_DELTA)
-+      if (addr_delta == (unsigned int) MAX_SPECIAL_ADDR_DELTA)
- 	len = 1;
-       else if (addr_delta)
- 	len = 1 + sizeof_leb128 (addr_delta, 0);
-@@ -1505,30 +1760,30 @@ size_inc_line_addr (int line_delta, addressT addr_delta)
-     }
- 
-   /* Bias the line delta by the base.  */
--  tmp = line_delta - DWARF2_LINE_BASE;
-+  tmp = line_delta - line_base;
- 
-   /* If the line increment is out of range of a special opcode, we
-      must encode it with DW_LNS_advance_line.  */
--  if (tmp >= DWARF2_LINE_RANGE)
-+  if (tmp >= line_range)
-     {
-       len = 1 + sizeof_leb128 (line_delta, 1);
-       line_delta = 0;
--      tmp = 0 - DWARF2_LINE_BASE;
-+      tmp = 0 - line_base;
-     }
- 
-   /* Bias the opcode by the special opcode base.  */
--  tmp += DWARF2_LINE_OPCODE_BASE;
-+  tmp += opcode_base;
- 
-   /* Avoid overflow when addr_delta is large.  */
--  if (addr_delta < 256 + MAX_SPECIAL_ADDR_DELTA)
-+  if (addr_delta < (unsigned int) (256 + MAX_SPECIAL_ADDR_DELTA))
-     {
-       /* Try using a special opcode.  */
--      opcode = tmp + addr_delta * DWARF2_LINE_RANGE;
-+      opcode = tmp + addr_delta * line_range;
-       if (opcode <= 255)
- 	return len + 1;
- 
-       /* Try using DW_LNS_const_add_pc followed by special op.  */
--      opcode = tmp + (addr_delta - MAX_SPECIAL_ADDR_DELTA) * DWARF2_LINE_RANGE;
-+      opcode = tmp + (addr_delta - MAX_SPECIAL_ADDR_DELTA) * line_range;
-       if (opcode <= 255)
- 	return len + 2;
-     }
-@@ -1561,7 +1816,7 @@ emit_inc_line_addr (int line_delta, addressT addr_delta, char *p, int len)
-      to emit the matrix entry.  */
-   if (line_delta == INT_MAX)
-     {
--      if (addr_delta == MAX_SPECIAL_ADDR_DELTA)
-+      if (addr_delta == (unsigned int) MAX_SPECIAL_ADDR_DELTA)
- 	*p++ = DW_LNS_const_add_pc;
-       else if (addr_delta)
- 	{
-@@ -1576,17 +1831,17 @@ emit_inc_line_addr (int line_delta, addressT addr_delta, char *p, int len)
-     }
- 
-   /* Bias the line delta by the base.  */
--  tmp = line_delta - DWARF2_LINE_BASE;
-+  tmp = line_delta - line_base;
- 
-   /* If the line increment is out of range of a special opcode, we
-      must encode it with DW_LNS_advance_line.  */
--  if (tmp >= DWARF2_LINE_RANGE)
-+  if (tmp >= line_range)
-     {
-       *p++ = DW_LNS_advance_line;
-       p += output_leb128 (p, line_delta, 1);
- 
-       line_delta = 0;
--      tmp = 0 - DWARF2_LINE_BASE;
-+      tmp = 0 - line_base;
-       need_copy = 1;
-     }
- 
-@@ -1599,13 +1854,13 @@ emit_inc_line_addr (int line_delta, addressT addr_delta, char *p, int len)
-     }
- 
-   /* Bias the opcode by the special opcode base.  */
--  tmp += DWARF2_LINE_OPCODE_BASE;
-+  tmp += opcode_base;
- 
-   /* Avoid overflow when addr_delta is large.  */
--  if (addr_delta < 256 + MAX_SPECIAL_ADDR_DELTA)
-+  if (addr_delta < (unsigned int) (256 + MAX_SPECIAL_ADDR_DELTA))
-     {
-       /* Try using a special opcode.  */
--      opcode = tmp + addr_delta * DWARF2_LINE_RANGE;
-+      opcode = tmp + addr_delta * line_range;
-       if (opcode <= 255)
- 	{
- 	  *p++ = opcode;
-@@ -1613,7 +1868,7 @@ emit_inc_line_addr (int line_delta, addressT addr_delta, char *p, int len)
- 	}
- 
-       /* Try using DW_LNS_const_add_pc followed by special op.  */
--      opcode = tmp + (addr_delta - MAX_SPECIAL_ADDR_DELTA) * DWARF2_LINE_RANGE;
-+      opcode = tmp + (addr_delta - MAX_SPECIAL_ADDR_DELTA) * line_range;
-       if (opcode <= 255)
- 	{
- 	  *p++ = DW_LNS_const_add_pc;
-@@ -1856,6 +2111,140 @@ dwarf2dbg_convert_frag (fragS *frag)
-   frag->fr_offset = 0;
- }
- 
-+/* Generate .debug_line content for the logicals table rows.  */
-+
-+static void
-+emit_logicals (void)
-+{
-+  unsigned logical;
-+  unsigned filenum = 1;
-+  unsigned line = 1;
-+  unsigned column = 0;
-+  unsigned discriminator;
-+  unsigned flags = DWARF2_LINE_DEFAULT_IS_STMT ? DWARF2_FLAG_IS_STMT : 0;
-+  unsigned context = 0;
-+  unsigned subprog = 0;
-+  segT last_seg = NULL;
-+  fragS *last_frag = NULL, *frag;
-+  addressT last_frag_ofs = 0, frag_ofs;
-+  symbolS *last_lab = NULL, *lab;
-+
-+  for (logical = 1; logical <= logicals_in_use; ++logical)
-+    {
-+      int line_delta;
-+      int context_delta;
-+      struct logicals_entry *e = &logicals[logical - 1];
-+
-+      discriminator = 0;
-+
-+      if (context != e->context || subprog != e->subprog)
-+        {
-+	  unsigned int caller = context;
-+	  unsigned int npop = 0;
-+
-+	  // See if a sequence of DW_LNS_pop_context ops will get
-+	  // to the state we want.
-+	  while (caller > 0 && caller <= logicals_in_use)
-+	    {
-+	      ++npop;
-+	      if (logicals[caller - 1].subprog == e->subprog)
-+		break;
-+	      caller = logicals[caller - 1].context;
-+	    }
-+	  if (caller > 0 && caller <= logicals_in_use && npop < 10)
-+	    {
-+	      while (npop-- > 0)
-+		out_opcode (DW_LNS_pop_context);
-+	      filenum = logicals[caller - 1].loc.filenum;
-+	      line = logicals[caller - 1].loc.line;
-+	      column = logicals[caller - 1].loc.column;
-+	      discriminator = logicals[caller - 1].loc.discriminator;
-+	      flags = logicals[caller - 1].loc.flags;
-+	      context = logicals[caller - 1].context;
-+	      subprog = logicals[caller - 1].subprog;
-+	    }
-+	  if (context != e->context && e->context == 0)
-+	    {
-+	      context = 0;
-+	      subprog = e->subprog;
-+	      out_opcode (DW_LNS_set_subprogram);
-+	      out_uleb128 (subprog);
-+	    }
-+	  else if (context != e->context || subprog != e->subprog)
-+	    {
-+	      context_delta = e->context - (logical - 1);
-+	      context = e->context;
-+	      subprog = e->subprog;
-+	      out_opcode (DW_LNS_inlined_call);
-+	      out_leb128 (context_delta);
-+	      out_uleb128 (subprog);
-+	    }
-+	}
-+
-+      if (filenum != e->loc.filenum)
-+	{
-+	  filenum = e->loc.filenum;
-+	  out_opcode (DW_LNS_set_file);
-+	  out_uleb128 (filenum);
-+	}
-+
-+      if (column != e->loc.column)
-+	{
-+	  column = e->loc.column;
-+	  out_opcode (DW_LNS_set_column);
-+	  out_uleb128 (column);
-+	}
-+
-+      if (e->loc.discriminator != discriminator)
-+	{
-+	  out_opcode (DW_LNS_extended_op);
-+	  out_leb128 (1 + sizeof_leb128 (e->loc.discriminator, 0));
-+	  out_opcode (DW_LNE_set_discriminator);
-+	  out_uleb128 (e->loc.discriminator);
-+	}
-+
-+      if ((e->loc.flags ^ flags) & DWARF2_FLAG_IS_STMT)
-+	{
-+	  flags = e->loc.flags;
-+	  out_opcode (DW_LNS_negate_stmt);
-+	}
-+
-+      if (e->loc.flags & DWARF2_FLAG_PROLOGUE_END)
-+	out_opcode (DW_LNS_set_prologue_end);
-+
-+      if (e->loc.flags & DWARF2_FLAG_EPILOGUE_BEGIN)
-+	out_opcode (DW_LNS_set_epilogue_begin);
-+
-+      line_delta = e->loc.line - line;
-+      if (e->label == NULL)
-+	{
-+	  out_inc_line_addr (line_delta, 0);
-+	}
-+      else
-+	{
-+	  lab = e->label;
-+	  frag = symbol_get_frag (lab);
-+	  frag_ofs = S_GET_VALUE (lab);
-+
-+	  if (last_frag == NULL || e->seg != last_seg)
-+	    {
-+	      out_set_addr (lab);
-+	      out_inc_line_addr (line_delta, 0);
-+	    }
-+	  else if (frag == last_frag && ! DWARF2_USE_FIXED_ADVANCE_PC)
-+	    out_inc_line_addr (line_delta, frag_ofs - last_frag_ofs);
-+	  else
-+	    relax_inc_line_addr (line_delta, lab, last_lab);
-+
-+	  line = e->loc.line;
-+	  last_seg = e->seg;
-+	  last_lab = lab;
-+	  last_frag = frag;
-+	  last_frag_ofs = frag_ofs;
-+	}
-+    }
-+}
-+
- /* Generate .debug_line content for the chain of line number entries
-    beginning at E, for segment SEG.  */
- 
-@@ -1906,27 +2295,30 @@ process_entries (segT seg, struct line_entry *e)
-     {
-       int line_delta;
- 
--      if (filenum != e->loc.filenum)
--	{
--	  filenum = e->loc.filenum;
--	  out_opcode (DW_LNS_set_file);
--	  out_uleb128 (filenum);
--	}
-+      if (logicals_in_use == 0)
-+        {
-+	  if (filenum != e->loc.filenum)
-+	    {
-+	      filenum = e->loc.filenum;
-+	      out_opcode (DW_LNS_set_file);
-+	      out_uleb128 (filenum);
-+	    }
- 
--      if (column != e->loc.column)
--	{
--	  column = e->loc.column;
--	  out_opcode (DW_LNS_set_column);
--	  out_uleb128 (column);
--	}
-+	  if (column != e->loc.column)
-+	    {
-+	      column = e->loc.column;
-+	      out_opcode (DW_LNS_set_column);
-+	      out_uleb128 (column);
-+	    }
- 
--      if (e->loc.discriminator != 0)
--	{
--	  out_opcode (DW_LNS_extended_op);
--	  out_leb128 (1 + sizeof_leb128 (e->loc.discriminator, 0));
--	  out_opcode (DW_LNE_set_discriminator);
--	  out_uleb128 (e->loc.discriminator);
--	}
-+	  if (e->loc.discriminator != 0)
-+	    {
-+	      out_opcode (DW_LNS_extended_op);
-+	      out_leb128 (1 + sizeof_leb128 (e->loc.discriminator, 0));
-+	      out_opcode (DW_LNE_set_discriminator);
-+	      out_uleb128 (e->loc.discriminator);
-+	    }
-+        }
- 
-       if (isa != e->loc.isa)
- 	{
-@@ -1935,26 +2327,32 @@ process_entries (segT seg, struct line_entry *e)
- 	  out_uleb128 (isa);
- 	}
- 
--      if ((e->loc.flags ^ flags) & DWARF2_FLAG_IS_STMT)
--	{
--	  flags = e->loc.flags;
--	  out_opcode (DW_LNS_negate_stmt);
--	}
--
-       if (e->loc.flags & DWARF2_FLAG_BASIC_BLOCK)
- 	out_opcode (DW_LNS_set_basic_block);
- 
--      if (e->loc.flags & DWARF2_FLAG_PROLOGUE_END)
--	out_opcode (DW_LNS_set_prologue_end);
-+      if (logicals_in_use == 0)
-+        {
-+	  if ((e->loc.flags ^ flags) & DWARF2_FLAG_IS_STMT)
-+	    {
-+	      flags = e->loc.flags;
-+	      out_opcode (DW_LNS_negate_stmt);
-+	    }
- 
--      if (e->loc.flags & DWARF2_FLAG_EPILOGUE_BEGIN)
--	out_opcode (DW_LNS_set_epilogue_begin);
-+	  if (e->loc.flags & DWARF2_FLAG_PROLOGUE_END)
-+	    out_opcode (DW_LNS_set_prologue_end);
-+
-+	  if (e->loc.flags & DWARF2_FLAG_EPILOGUE_BEGIN)
-+	    out_opcode (DW_LNS_set_epilogue_begin);
-+        }
- 
-       /* Don't try to optimize away redundant entries; gdb wants two
- 	 entries for a function where the code starts on the same line as
- 	 the {, and there's no way to identify that case here.  Trust gcc
- 	 to optimize appropriately.  */
--      line_delta = e->loc.line - line;
-+      if (logicals_in_use == 0)
-+	line_delta = e->loc.line - line;
-+      else
-+	line_delta = e->loc.logical - line;
-       lab = e->label;
-       frag = symbol_get_frag (lab);
-       frag_ofs = S_GET_VALUE (lab);
-@@ -1973,15 +2371,26 @@ process_entries (segT seg, struct line_entry *e)
- 		     && ((offsetT)last_frag_ofs
- 			 >= get_frag_fix (last_frag, seg))))))
- 	{
--	  out_set_addr (lab);
--	  out_inc_line_addr (line_delta, 0);
-+	  if (logicals_in_use > 0 && logicals[e->loc.logical - 1].label == lab)
-+	    {
-+	      out_set_addr_from_logical (line_delta);
-+	      out_opcode (DW_LNS_copy);
-+	    }
-+	  else
-+	    {
-+	      out_set_addr (lab);
-+	      out_inc_line_addr (line_delta, 0);
-+	    }
- 	}
-       else if (frag == last_frag && ! DWARF2_USE_FIXED_ADVANCE_PC)
- 	out_inc_line_addr (line_delta, frag_ofs - last_frag_ofs);
-       else
- 	relax_inc_line_addr (line_delta, lab, last_lab);
- 
--      line = e->loc.line;
-+      if (logicals_in_use == 0)
-+	line = e->loc.line;
-+      else
-+	line = e->loc.logical;
-       last_lab = lab;
-       last_frag = frag;
-       last_frag_ofs = frag_ofs;
-@@ -2247,6 +2656,160 @@ out_dir_and_file_list (segT line_seg, int sizeof_offset)
-     out_byte (0);
- }
- 
-+/* Add a string to the string table.  */
-+
-+static offsetT
-+add_to_string_table (struct string_table *strtab, const char *str)
-+{
-+  const char *key;
-+  offsetT val;
-+
-+  if (strtab->strings_allocated == 0)
-+    {
-+      strtab->strings_allocated = 4;
-+      strtab->strings = (const char **)
-+	  xcalloc (strtab->strings_allocated, sizeof(char *));
-+      strtab->hashtab = str_htab_create ();
-+    }
-+
-+  val = (offsetT) str_hash_find (strtab->hashtab, str);
-+  if (val != 0)
-+    return val;
-+
-+  if (strtab->strings_in_use >= strtab->strings_allocated)
-+    {
-+      unsigned int old = strtab->strings_allocated;
-+
-+      strtab->strings_allocated *= 2;
-+      strtab->strings = (const char **)
-+	  xrealloc (strtab->strings,
-+		    strtab->strings_allocated * sizeof (char *));
-+      memset (strtab->strings + old, 0,
-+	      (strtab->strings_allocated - old) * sizeof (char *));
-+    }
-+
-+  key = xstrdup (str);
-+  val = strtab->next_offset;
-+  str_hash_insert (strtab->hashtab, key, (void *) val, 0);
-+  strtab->strings[strtab->strings_in_use++] = key;
-+  strtab->next_offset += strlen(key) + 1;
-+  return val;
-+}
-+
-+/* Output the string table STRTAB to the section STR_SEG.
-+   In a debug string table, the first byte is always '\0',
-+   and valid indexes begin at 1.  */
-+
-+static void
-+out_string_table (segT str_seg, struct string_table *strtab)
-+{
-+  unsigned int i;
-+  size_t size;
-+  char *cp;
-+
-+  subseg_set (str_seg, 0);
-+  out_byte (0);
-+  for (i = 0; i < strtab->strings_in_use; i++)
-+    {
-+      size = strlen (strtab->strings[i]) + 1;
-+      cp = frag_more (size);
-+      memcpy (cp, strtab->strings[i], size);
-+    }
-+}
-+
-+static void
-+out_dwarf5_file_list (segT str_seg, int sizeof_offset)
-+{
-+  const char *dir;
-+  offsetT strp;
-+  unsigned int i;
-+  expressionS exp;
-+  unsigned int dir_count = dirs_in_use > 0 ? dirs_in_use - 1 : 0;
-+  unsigned int file_count = files_in_use > 0 ? files_in_use - 1 : 0;
-+
-+  exp.X_op = O_symbol;
-+  exp.X_add_symbol = section_symbol (str_seg);
-+
-+  out_byte (1);                    /* directory_entry_format_count */
-+  out_uleb128 (DW_LNCT_path);      /* directory_entry_format[0].content_type */
-+  out_uleb128 (DW_FORM_line_strp); /* directory_entry_format[0].form */
-+  out_uleb128 (dir_count);         /* directories_count */
-+
-+  /* Emit directories list.  */
-+  for (i = 1; i < dirs_in_use; ++i)
-+    {
-+      dir = remap_debug_filename (dirs[i]);
-+      strp = add_to_string_table (&debug_line_str_table, dir);
-+      exp.X_add_number = strp;
-+      emit_expr (&exp, sizeof_offset);
-+    }
-+
-+  out_byte (2);                          /* file_name_entry_format_count */
-+  out_uleb128 (DW_LNCT_path);            /* file_name_entry_format[0].type */
-+  out_uleb128 (DW_FORM_line_strp);       /* file_name_entry_format[0].form */
-+  out_uleb128 (DW_LNCT_directory_index); /* file_name_entry_format[0].type */
-+  out_uleb128 (DW_FORM_udata);           /* file_name_entry_format[0].form */
-+  out_uleb128 (file_count);              /* file_names_count */
-+
-+  /* Emit file_names list.  */
-+  for (i = 1; i < files_in_use; ++i)
-+    {
-+      const char *fullfilename;
-+
-+      if (files[i].filename == NULL)
-+	{
-+	  as_bad (_("unassigned file number %ld"), (long) i);
-+	  /* Prevent a crash later, particularly for file 1.  */
-+	  files[i].filename = "";
-+	}
-+
-+      fullfilename = DWARF2_FILE_NAME (files[i].filename,
-+				       files[i].dir ? dirs [files [i].dir] : "");
-+      strp = add_to_string_table (&debug_line_str_table, fullfilename);
-+      exp.X_add_number = strp;
-+      emit_expr (&exp, sizeof_offset);
-+      out_uleb128 (files[i].dir);	/* directory number */
-+    }
-+}
-+
-+static void
-+out_subprog_list (segT str_seg, int sizeof_offset)
-+{
-+  const char *name;
-+  offsetT strp;
-+  unsigned int i;
-+  expressionS exp;
-+
-+  exp.X_op = O_symbol;
-+  exp.X_add_symbol = section_symbol (str_seg);
-+
-+  out_byte (3);                          /* subprogram_entry_format_count */
-+  out_uleb128 (DW_LNCT_subprogram_name); /* subprogram_entry_format[0].type */
-+  out_uleb128 (DW_FORM_line_strp);       /* subprogram_entry_format[0].form */
-+  out_uleb128 (DW_LNCT_decl_file);       /* subprogram_entry_format[1].type */
-+  out_uleb128 (DW_FORM_udata);           /* subprogram_entry_format[1].form */
-+  out_uleb128 (DW_LNCT_decl_line);       /* subprogram_entry_format[2].type */
-+  out_uleb128 (DW_FORM_udata);           /* subprogram_entry_format[2].form */
-+  out_uleb128 (subprogs_in_use);         /* subprograms_count */
-+
-+  /* Emit subprograms list.  */
-+  for (i = 0; i < subprogs_in_use; ++i)
-+    {
-+      name = subprogs[i].subpname;
-+      if (name == NULL)
-+	{
-+	  as_bad (_("unassigned subprogram number %ld"), (long) i);
-+	  strp = 0;
-+	}
-+      else
-+	strp = add_to_string_table (&debug_line_str_table, name);
-+      exp.X_add_number = strp;
-+      emit_expr (&exp, sizeof_offset);
-+      out_uleb128 (subprogs[i].filenum);
-+      out_uleb128 (subprogs[i].line);
-+    }
-+}
-+
- /* Switch to SEC and output a header length field.  Return the size of
-    offsets used in SEC.  The caller must set EXPR->X_add_symbol value
-    to the end of the section.  EXPR->X_add_number will be set to the
-@@ -2306,22 +2869,38 @@ out_header (asection *sec, expressionS *exp)
- /* Emit the collected .debug_line data.  */
- 
- static void
--out_debug_line (segT line_seg)
-+out_debug_line (segT line_seg, segT str_seg)
- {
-   expressionS exp;
--  symbolS *prologue_start, *prologue_end;
-+  symbolS *prologue_start, *prologue_end, *logicals_start, *actuals_start;
-   symbolS *line_end;
-   struct line_seg *s;
-   int sizeof_offset;
-+  unsigned int version;
-+
-+  if (logicals_in_use == 0)
-+    {
-+      version = DWARF2_LINE_VERSION;
-+      opcode_base = DWARF2_LINE_OPCODE_BASE;
-+      line_base = DWARF2_LINE_BASE;
-+      line_range = DWARF2_LINE_RANGE;
-+    }
-+  else
-+    {
-+      version = DWARF2_LINE_EXPERIMENTAL_VERSION;
-+      opcode_base = DWARF5_EXPERIMENTAL_LINE_OPCODE_BASE;
-+      line_base = DWARF5_EXPERIMENTAL_LINE_BASE;
-+      line_range = DWARF5_EXPERIMENTAL_LINE_RANGE;
-+    }
- 
-   memset (&exp, 0, sizeof exp);
-   sizeof_offset = out_header (line_seg, &exp);
-   line_end = exp.X_add_symbol;
- 
-   /* Version.  */
--  out_two (DWARF2_LINE_VERSION);
-+  out_two (version);
- 
--  if (DWARF2_LINE_VERSION >= 5)
-+  if (version >= 5)
-     {
-       out_byte (sizeof_address);
-       out_byte (0); /* Segment Selector size.  */
-@@ -2338,12 +2917,12 @@ out_debug_line (segT line_seg)
- 
-   /* Parameters of the state machine.  */
-   out_byte (DWARF2_LINE_MIN_INSN_LENGTH);
--  if (DWARF2_LINE_VERSION >= 4)
-+  if (version >= 4)
-     out_byte (DWARF2_LINE_MAX_OPS_PER_INSN);
-   out_byte (DWARF2_LINE_DEFAULT_IS_STMT);
--  out_byte (DWARF2_LINE_BASE);
--  out_byte (DWARF2_LINE_RANGE);
--  out_byte (DWARF2_LINE_OPCODE_BASE);
-+  out_byte (line_base);
-+  out_byte (line_range);
-+  out_byte (opcode_base);
- 
-   /* Standard opcode lengths.  */
-   out_byte (0);			/* DW_LNS_copy */
-@@ -2360,11 +2939,64 @@ out_debug_line (segT line_seg)
-   out_byte (1);			/* DW_LNS_set_isa */
-   /* We have emitted 12 opcode lengths, so make that this
-      matches up to the opcode base value we have been using.  */
--  gas_assert (DWARF2_LINE_OPCODE_BASE == 13);
-+  gas_assert (opcode_base == 13);
-+  if (opcode_base == DWARF5_EXPERIMENTAL_LINE_OPCODE_BASE)
-+    {
-+      out_byte (1);		/* DW_LNS_set_subprogram/DW_LNS_set_address_from_logical */
-+      out_byte (2);		/* DW_LNS_inlined_call */
-+      out_byte (0);		/* DW_LNS_pop_context */
-+    }
-+
-+  if (version == DWARF2_LINE_EXPERIMENTAL_VERSION)
-+    {
-+      /* Fake empty version 4 directory and filename lists, to fool
-+         old consumers who don't check the version number.  */
-+      out_byte (0);
-+      out_byte (0);
-+
-+      symbol_set_value_now (prologue_end);
-+
-+      /* Now wrap the remainder of the section inside a fake
-+         extended opcode, so old consumers will see just the single
-+         extended opcode, and will not try to read anything else.
-+         For simplicity, we simply output a very large number for
-+         the size of the extended op. */
-+      out_opcode (DW_LNS_extended_op);
-+      out_byte (255);  /* 3-byte LEB128 for 0x1fffff.  */
-+      out_byte (255);
-+      out_byte (127);
-+      out_byte (127);  /* Fake extended opcode.  */
- 
--  out_dir_and_file_list (line_seg, sizeof_offset);
-+      /* Logicals table offset.  */
-+      logicals_start = symbol_temp_make ();
-+      exp.X_add_symbol = logicals_start;
-+      emit_expr (&exp, sizeof_offset);
- 
--  symbol_set_value_now (prologue_end);
-+      /* Actuals table offset.  */
-+      actuals_start = symbol_temp_make ();
-+      exp.X_add_symbol = actuals_start;
-+      emit_expr (&exp, sizeof_offset);
-+
-+      /* Directory and filename lists. */
-+      out_dwarf5_file_list (str_seg, sizeof_offset);
-+
-+      /* Subprogram list. */
-+      out_subprog_list (str_seg, sizeof_offset);
-+
-+      symbol_set_value_now (logicals_start);
-+      emit_logicals ();
-+      symbol_set_value_now (actuals_start);
-+    }
-+  else if (version >= 5)
-+    {
-+      out_dwarf5_file_list (str_seg, sizeof_offset);
-+      symbol_set_value_now (prologue_end);
-+    }
-+  else
-+    {
-+      out_dir_and_file_list (line_seg, sizeof_offset);
-+      symbol_set_value_now (prologue_end);
-+    }
- 
-   /* For each section, emit a statement program.  */
-   for (s = all_segs; s; s = s->next)
-@@ -2781,11 +3413,13 @@ dwarf2_finish (void)
-   segT line_seg;
-   struct line_seg *s;
-   segT info_seg;
-+  segT str_seg = NULL;
-   int emit_other_sections = 0;
-   int empty_debug_line = 0;
- 
-   info_seg = bfd_get_section_by_name (stdoutput, ".debug_info");
--  emit_other_sections = info_seg == NULL || !seg_not_empty_p (info_seg);
-+  emit_other_sections = ((info_seg == NULL || !seg_not_empty_p (info_seg))
-+			 && logicals_in_use == 0);
- 
-   line_seg = bfd_get_section_by_name (stdoutput, ".debug_line");
-   empty_debug_line = line_seg == NULL || !seg_not_empty_p (line_seg);
-@@ -2839,8 +3473,24 @@ dwarf2_finish (void)
- 	}
-     }
- 
-+  if (logicals_in_use > 0)
-+    {
-+      str_seg = subseg_new (".debug_line_str", 0);
-+      bfd_set_section_flags (str_seg,
-+			     (SEC_READONLY | SEC_DEBUGGING
-+			      | SEC_MERGE | SEC_STRINGS));
-+      str_seg->entsize = 1;
-+      debug_line_str_table.strings = NULL;
-+      debug_line_str_table.strings_in_use = 0;
-+      debug_line_str_table.strings_allocated = 0;
-+      debug_line_str_table.next_offset = 1;
-+    }
-+
-   if (empty_debug_line)
--    out_debug_line (line_seg);
-+    out_debug_line (line_seg, str_seg);
-+
-+  if (str_seg != NULL)
-+    out_string_table (str_seg, &debug_line_str_table);
- 
-   /* If this is assembler generated line info, and there is no
-      debug_info already, we need .debug_info, .debug_abbrev and
-@@ -2849,7 +3499,6 @@ dwarf2_finish (void)
-     {
-       segT abbrev_seg;
-       segT aranges_seg;
--      segT str_seg;
-       symbolS *name_sym, *comp_dir_sym, *producer_sym, *ranges_sym;
- 
-       gas_assert (all_segs);
-diff --git a/gas/dwarf2dbg.h b/gas/dwarf2dbg.h
-index 13824c407d9..9cf786c886a 100644
---- a/gas/dwarf2dbg.h
-+++ b/gas/dwarf2dbg.h
-@@ -37,6 +37,7 @@ struct dwarf2_line_info
-   unsigned int flags;
-   unsigned int discriminator;
-   symbolS *view;
-+  unsigned int logical;
- };
- 
- /* Implements the .file FILENO "FILENAME" directive.  FILENO can be 0
-@@ -46,13 +47,29 @@ struct dwarf2_line_info
- extern void   dwarf2_directive_file (int);
- extern char * dwarf2_directive_filename (void);
- 
-+/* Experimental DWARF-5 extension:
-+   Implements the .subprog SUBPNO ["SUBPROG" [FILENO LINENO]] directive.
-+   FILENO is the file number, LINENO the line number and the
-+   (optional) COLUMN the column of the source code that the following
-+   instruction corresponds to.  FILENO can be 0 to indicate that the
-+   filename specified by the textually most recent .file directive
-+   should be used.  */
-+extern void dwarf2_directive_subprog (int dummy);
-+
- /* Implements the .loc FILENO LINENO [COLUMN] directive.  FILENO is
-    the file number, LINENO the line number and the (optional) COLUMN
-    the column of the source code that the following instruction
-    corresponds to.  FILENO can be 0 to indicate that the filename
-    specified by the textually most recent .file directive should be
-    used.  */
--extern void dwarf2_directive_loc (int);
-+/* Experimental DWARF-5 extension:
-+   If IS_LLOC is true, implements the .lloc LOGICAL [FILENO LINENO [COLUMN]]
-+   directive. FILENO is the file number, LINENO the line number and the
-+   (optional) COLUMN the column of the source code that the following
-+   instruction corresponds to.  FILENO can be 0 to indicate that the
-+   filename specified by the textually most recent .file directive
-+   should be used.  */
-+extern void dwarf2_directive_loc (int is_lloc);
- 
- /* Implements the .loc_mark_labels {0,1} directive.  */
- extern void dwarf2_directive_loc_mark_labels (int);
--- 
-2.34.1
-
diff --git a/sys-devel/binutils/files/0004-readelf-add-support-for-DWARF-5-and-experimental-two.patch b/sys-devel/binutils/files/0004-readelf-add-support-for-DWARF-5-and-experimental-two.patch
deleted file mode 100644
index fab508e..0000000
--- a/sys-devel/binutils/files/0004-readelf-add-support-for-DWARF-5-and-experimental-two.patch
+++ /dev/null
@@ -1,1244 +0,0 @@
-From 1c83b5fafca5615f9b202e4daaae929721f1a907 Mon Sep 17 00:00:00 2001
-From: Cary Coutant <ccoutant@google.com>
-Date: Tue, 6 Jan 2015 16:56:43 -0800
-Subject: [PATCH 04/17] readelf: add support for DWARF-5 and experimental
- two-level line number tables.
-
-This change is forward-port of commit d80608344a0908445af29b6db5266394c0376076
-  - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=d80608344a0908445af29b6db5266394c0376076
-from upstream branch users/ccoutant/two-level-line-150331
-  - https://sourceware.org/git/?p=binutils-gdb.git;a=shortlog;h=refs/heads/users/ccoutant/two-level-line-150331
-to binutils-2_27-branch.
-
-[Adrian Ratiu: rebased from v2.27 to v2.36.1]
-[TODO: make more use of the upstream implementation to slim our diff further]
-
-Change-Id: I26158b22c6a6652154b317db1ecf6d5c27d29337
----
- binutils/dwarf.c   | 990 +++++++++++++++++++++++++++------------------
- binutils/readelf.c |   1 +
- 2 files changed, 594 insertions(+), 397 deletions(-)
-
-diff --git a/binutils/dwarf.c b/binutils/dwarf.c
-index 19475e6cec3..dec611874ed 100644
---- a/binutils/dwarf.c
-+++ b/binutils/dwarf.c
-@@ -479,6 +479,9 @@ typedef struct State_Machine_Registers
-   unsigned int file;
-   unsigned int line;
-   unsigned int column;
-+  unsigned int discriminator;
-+  unsigned int context;
-+  unsigned int subprogram;
-   int is_stmt;
-   int basic_block;
-   unsigned char op_index;
-@@ -499,19 +502,65 @@ reset_state_machine (int is_stmt)
-   state_machine_regs.file = 1;
-   state_machine_regs.line = 1;
-   state_machine_regs.column = 0;
-+  state_machine_regs.discriminator = 0;
-+  state_machine_regs.context = 0;
-+  state_machine_regs.subprogram = 0;
-   state_machine_regs.is_stmt = is_stmt;
-   state_machine_regs.basic_block = 0;
-   state_machine_regs.end_sequence = 0;
-   state_machine_regs.last_file_entry = 0;
- }
- 
-+/* Build a logicals table for reference when reading the actuals table.  */
-+
-+static SMR *logicals_table = NULL;
-+static unsigned int logicals_allocated = 0;
-+static unsigned int logicals_count = 0;
-+
-+static void
-+free_logicals (void)
-+{
-+  free (logicals_table);
-+  logicals_allocated = 0;
-+  logicals_count = 0;
-+  logicals_table = NULL;
-+}
-+
-+static void
-+append_logical (void)
-+{
-+  if (logicals_allocated == 0)
-+    {
-+      logicals_allocated = 4;
-+      logicals_table = (SMR *) xmalloc (logicals_allocated * sizeof (SMR));
-+    }
-+  if (logicals_count >= logicals_allocated)
-+    {
-+      logicals_allocated *= 2;
-+      logicals_table = (SMR *)
-+	  xrealloc (logicals_table, logicals_allocated * sizeof (SMR));
-+    }
-+  logicals_table[logicals_count++] = state_machine_regs;
-+  printf (_("\t\tLogical %u: 0x%s[%u] file %u line %u discrim %u context %u subprog %u is_stmt %d\n"),
-+	  logicals_count,
-+	  dwarf_vmatoa ("x", state_machine_regs.address),
-+	  state_machine_regs.op_index,
-+	  state_machine_regs.file,
-+	  state_machine_regs.line,
-+	  state_machine_regs.discriminator,
-+	  state_machine_regs.context,
-+	  state_machine_regs.subprogram,
-+	  state_machine_regs.is_stmt);
-+}
-+
- /* Handled an extend line op.
-    Returns the number of bytes read.  */
- 
- static size_t
- process_extended_line_op (unsigned char * data,
- 			  int is_stmt,
--			  unsigned char * end)
-+			  unsigned char * end,
-+			  int is_logical)
- {
-   unsigned char op_code;
-   size_t len, header_len;
-@@ -536,6 +585,8 @@ process_extended_line_op (unsigned char * data,
-     {
-     case DW_LNE_end_sequence:
-       printf (_("End of Sequence\n\n"));
-+      if (is_logical)
-+	append_logical ();
-       reset_state_machine (is_stmt);
-       break;
- 
-@@ -580,8 +631,11 @@ process_extended_line_op (unsigned char * data,
-       break;
- 
-     case DW_LNE_set_discriminator:
--      READ_ULEB (val, data, end);
--      printf (_("set Discriminator to %s\n"), dwarf_vmatoa ("u", val));
-+      {
-+	READ_ULEB (val, data, end);
-+	printf (_("set Discriminator to %s\n"), dwarf_vmatoa ("u", val));
-+	state_machine_regs.discriminator = val;
-+      }
-       break;
- 
-     /* HP extensions.  */
-@@ -799,8 +853,7 @@ fetch_indexed_string (dwarf_vma idx, struct cu_tu_set *this_set,
- 
-   if (this_set != NULL)
-     index_offset += this_set->section_offsets [DW_SECT_STR_OFFSETS];
--
--  if (index_offset >= length)
-+  if (index_offset + offset_size >= length)
-     {
-       warn (_("DW_FORM_GNU_str_index offset too big: %s vs %s\n"),
- 	    dwarf_vmatoa ("x", index_offset),
-@@ -4070,6 +4123,10 @@ load_debug_info (void * file)
-   return 0;
- }
- 
-+/* Experimental DWARF 5 extensions.
-+   See http://wiki.dwarfstd.org/index.php?title=TwoLevelLineTables.  */
-+#define DWARF2_LINE_EXPERIMENTAL_VERSION 0xf006
-+
- /* Read a DWARF .debug_line section header starting at DATA.
-    Upon success returns an updated DATA pointer and the LINFO
-    structure and the END_OF_SEQUENCE pointer will be filled in.
-@@ -4080,7 +4137,9 @@ read_debug_line_header (struct dwarf_section * section,
- 			unsigned char * data,
- 			unsigned char * end,
- 			DWARF2_Internal_LineInfo * linfo,
--			unsigned char ** end_of_sequence)
-+			unsigned char ** end_of_sequence,
-+			unsigned int * pinitial_length_size,
-+			unsigned int * poffset_size)
- {
-   unsigned char *hdrptr;
-   unsigned int initial_length_size;
-@@ -4104,6 +4163,8 @@ read_debug_line_header (struct dwarf_section * section,
-       linfo->li_offset_size = 4;
-       initial_length_size = 4;
-     }
-+  *pinitial_length_size = initial_length_size;
-+  *poffset_size = linfo->li_offset_size;
- 
-   if (linfo->li_length + initial_length_size > section->size)
-     {
-@@ -4128,17 +4189,25 @@ read_debug_line_header (struct dwarf_section * section,
-   /* Get and check the version number.  */
-   SAFE_BYTE_GET_AND_INC (linfo->li_version, hdrptr, 2, end);
- 
-+  /* Version 0xf006 is for experimental two-level line tables.  */
-   if (linfo->li_version != 2
-       && linfo->li_version != 3
-       && linfo->li_version != 4
--      && linfo->li_version != 5)
-+      && linfo->li_version != 5
-+      && linfo->li_version != DWARF2_LINE_EXPERIMENTAL_VERSION)
-     {
-       warn (_("Only DWARF version 2, 3, 4 and 5 line info "
- 	      "is currently supported.\n"));
-       return NULL;
-     }
- 
--  if (linfo->li_version >= 5)
-+  if (linfo->li_version < 5)
-+    {
-+      linfo->li_address_size = 0;
-+      linfo->li_segment_size = 0;
-+    }
-+  else if (linfo->li_version >= 5 &&
-+	   linfo->li_version != DWARF2_LINE_EXPERIMENTAL_VERSION)
-     {
-       SAFE_BYTE_GET_AND_INC (linfo->li_address_size, hdrptr, 1, end);
- 
-@@ -4187,131 +4256,448 @@ read_debug_line_header (struct dwarf_section * section,
-   return hdrptr;
- }
- 
--static unsigned char *
--display_formatted_table (unsigned char *                   data,
--			 unsigned char *                   start,
--			 unsigned char *                   end,
--			 const DWARF2_Internal_LineInfo *  linfo,
--			 struct dwarf_section *            section,
--			 bfd_boolean                       is_dir)
-+static void
-+display_directory_table_v4 (unsigned char *start, unsigned char *end,
-+			    unsigned char **pdata)
- {
--  unsigned char *format_start, format_count, *format, formati;
--  dwarf_vma data_count, datai;
--  unsigned int namepass, last_entry = 0;
--  const char * table_name = is_dir ? N_("Directory Table") : N_("File Name Table");
-+  unsigned char *data = *pdata;
-+  unsigned int last_dir_entry = 0;
- 
--  SAFE_BYTE_GET_AND_INC (format_count, data, 1, end);
--  if (do_checks && format_count > 5)
--    warn (_("Unexpectedly large number of columns in the %s (%u)\n"),
--	  table_name, format_count);
--
--  format_start = data;
--  for (formati = 0; formati < format_count; formati++)
-+  if (*data == 0)
-+    printf (_("\n The Directory Table is empty.\n"));
-+  else
-     {
--      SKIP_ULEB (data, end);
--      SKIP_ULEB (data, end);
--      if (data == end)
-+      printf (_("\n The Directory Table (offset 0x%lx):\n"),
-+	      (long)(data - start));
-+
-+      while (data < end && *data != 0)
- 	{
--	  warn (_("%s: Corrupt format description entry\n"), table_name);
--	  return data;
-+	  printf ("  %d\t%.*s\n", ++last_dir_entry, (int) (end - data), data);
-+
-+	  data += strnlen ((char *) data, end - data) + 1;
- 	}
-     }
- 
--  READ_ULEB (data_count, data, end);
--  if (data_count == 0)
-+  /* Skip the NUL at the end of the table.  */
-+  *pdata = data + 1;
-+}
-+
-+static void
-+display_file_name_table_v4 (unsigned char *start, unsigned char *end,
-+			    unsigned char **pdata)
-+{
-+  unsigned char *data = *pdata;
-+
-+  if (*data == 0)
-+    printf (_("\n The File Name Table is empty.\n"));
-+  else
-     {
--      printf (_("\n The %s is empty.\n"), table_name);
--      return data;
-+      printf (_("\n The File Name Table (offset 0x%lx):\n"),
-+	      (long)(data - start));
-+      printf (_("  Entry\tDir\tTime\tSize\tName\n"));
-+
-+      while (data < end && *data != 0)
-+	{
-+	  unsigned char *name;
-+	  dwarf_vma uladv;
-+
-+	  printf ("  %d\t", ++state_machine_regs.last_file_entry);
-+	  name = data;
-+	  data += strnlen ((char *) data, end - data) + 1;
-+
-+	  READ_ULEB (uladv, data, end);
-+	  printf ("%s\t", dwarf_vmatoa ("u", uladv));
-+	  READ_ULEB (uladv, data, end);
-+	  printf ("%s\t", dwarf_vmatoa ("u", uladv));
-+	  READ_ULEB (uladv, data, end);
-+	  printf ("%s\t", dwarf_vmatoa ("u", uladv));
-+	  printf ("%.*s\n", (int)(end - name), name);
-+
-+	  if (data == end)
-+	    {
-+	      warn (_("Corrupt file name table entry\n"));
-+	      break;
-+	    }
-+	}
-     }
--  else if (data == end)
-+
-+  /* Skip the NUL at the end of the table.  */
-+  *pdata = data + 1;
-+}
-+
-+static int
-+display_dir_file_table_v5 (unsigned char *start, unsigned char *end,
-+			   unsigned char **pdata, char *table_name,
-+			   unsigned int offset_size)
-+{
-+  unsigned char *data = *pdata;
-+  unsigned int format_count;
-+  unsigned int *content_types;
-+  unsigned int *content_forms;
-+  unsigned int entry_count;
-+  unsigned int i, j;
-+  const unsigned char *name;
-+  dwarf_vma offset;
-+  unsigned int val;
-+
-+  READ_ULEB (format_count, data, end);
-+  content_types = (unsigned int *) xmalloc (format_count *
-+					    sizeof (unsigned int));
-+  content_forms = (unsigned int *) xmalloc (format_count *
-+					    sizeof (unsigned int));
-+  for (j = 0; j < format_count; j++)
-+    {
-+      READ_ULEB (content_types[j], data, end);
-+      READ_ULEB (content_forms[j], data, end);
-+    }
-+
-+  READ_ULEB (entry_count, data, end);
-+
-+  if (entry_count == 0)
-+    printf (_("\n The %s Table is empty.\n"), table_name);
-+  else
-     {
--      warn (_("%s: Corrupt entry count - expected %s but none found\n"),
--	    table_name, dwarf_vmatoa ("x", data_count));
--      return data;
-+      printf (_("\n The %s Table (offset 0x%lx):\n"),
-+	      table_name, (long)(data - start));
-+
-+      printf (_("  Entry"));
-+      for (j = 0; j < format_count; j++)
-+	{
-+	  printf ("\t");
-+	  switch (content_types[j])
-+	    {
-+	    case DW_LNCT_path:
-+	      printf (_("Path"));
-+	      break;
-+	    case DW_LNCT_subprogram_name:
-+	      printf (_("Name"));
-+	      break;
-+	    case DW_LNCT_directory_index:
-+	      printf (_("Dir"));
-+	      break;
-+	    case DW_LNCT_decl_file:
-+	      printf (_("File"));
-+	      break;
-+	    case DW_LNCT_decl_line:
-+	      printf (_("Line"));
-+	      break;
-+	    }
-+	}
-+      printf ("\n");
-     }
- 
--  else if (format_count == 0)
-+  for (i = 0; i < entry_count; i++)
-     {
--      warn (_("%s: format count is zero, but the table is not empty\n"),
--	    table_name);
--      return end;
-+      printf ("  %d", i + 1);
-+      for (j = 0; j < format_count; j++)
-+	{
-+	  if (data >= end)
-+	    break;
-+	  switch (content_forms[j])
-+	    {
-+	    case DW_FORM_string:
-+	      printf ("\t%.*s", (int) (end - data), data);
-+	      data += strnlen ((char *) data, end - data) + 1;
-+	      break;
-+	    case DW_FORM_line_strp:
-+	      SAFE_BYTE_GET_AND_INC (offset, data, offset_size, end);
-+	      name = fetch_indirect_line_string (offset);
-+	      printf ("\t%s", name);
-+	      break;
-+	    case DW_FORM_udata:
-+	      READ_ULEB (val, data, end);
-+	      printf ("\t%u", val);
-+	      break;
-+	    default:
-+	      printf ("\t%s", _("(unrecognized FORM code)"));
-+	      data = end;
-+	      break;
-+	    }
-+	}
-+      printf ("\n");
-+
-+      /* PR 17512: file: 002-132094-0.004.  */
-+      if (data >= end - 1)
-+	break;
-     }
- 
--  printf (_("\n The %s (offset 0x%lx, lines %s, columns %u):\n"),
--	  table_name, (long) (data - start), dwarf_vmatoa ("u", data_count),
--	  format_count);
-+  free (content_types);
-+  free (content_forms);
- 
--  printf (_("  Entry"));
--  /* Delay displaying name as the last entry for better screen layout.  */
--  for (namepass = 0; namepass < 2; namepass++)
--    {
--      format = format_start;
--      for (formati = 0; formati < format_count; formati++)
--	{
--	  dwarf_vma content_type;
-+  *pdata = data;
-+  return entry_count;
-+}
- 
--	  READ_ULEB (content_type, format, end);
--	  if ((content_type == DW_LNCT_path) == (namepass == 1))
--	    switch (content_type)
--	      {
--	      case DW_LNCT_path:
--		printf (_("\tName"));
--		break;
--	      case DW_LNCT_directory_index:
--		printf (_("\tDir"));
--		break;
--	      case DW_LNCT_timestamp:
--		printf (_("\tTime"));
--		break;
--	      case DW_LNCT_size:
--		printf (_("\tSize"));
--		break;
--	      case DW_LNCT_MD5:
--		printf (_("\tMD5\t\t\t"));
--		break;
--	      default:
--		printf (_("\t(Unknown format content type %s)"),
--			dwarf_vmatoa ("u", content_type));
--	      }
--	  SKIP_ULEB (format, end);
--	}
-+static void
-+display_line_program (unsigned char *start, unsigned char *end,
-+		      unsigned char **pdata, char *table_name,
-+		      DWARF2_Internal_LineInfo *linfo,
-+		      unsigned char *standard_opcodes,
-+		      int is_logical)
-+{
-+  unsigned char *data = *pdata;
-+
-+  if (data >= end)
-+    {
-+      printf (_(" No %s.\n"), table_name);
-+      return;
-     }
--  putchar ('\n');
- 
--  for (datai = 0; datai < data_count; datai++)
-+  printf (" %s:\n", table_name);
-+
-+  while (data < end)
-     {
--      unsigned char *datapass = data;
-+      unsigned char op_code;
-+      dwarf_signed_vma adv;
-+      dwarf_vma uladv;
-+      unsigned int logical;
-+      int i;
-+
-+      printf ("  [0x%08lx]", (long)(data - start));
- 
--      printf ("  %d", last_entry++);
--      /* Delay displaying name as the last entry for better screen layout.  */
--      for (namepass = 0; namepass < 2; namepass++)
-+      op_code = *data++;
-+
-+      if (op_code >= linfo->li_opcode_base)
- 	{
--	  format = format_start;
--	  data = datapass;
--	  for (formati = 0; formati < format_count; formati++)
-+	  op_code -= linfo->li_opcode_base;
-+	  uladv = (op_code / linfo->li_line_range);
-+	  if (linfo->li_max_ops_per_insn == 1)
-+	    {
-+	      uladv *= linfo->li_min_insn_length;
-+	      state_machine_regs.address += uladv;
-+	      printf (_("  Special opcode %d: "
-+			"advance Address by %s to 0x%s"),
-+		      op_code, dwarf_vmatoa ("u", uladv),
-+		      dwarf_vmatoa ("x", state_machine_regs.address));
-+	    }
-+	  else
- 	    {
--	      dwarf_vma content_type, form;
--
--	      READ_ULEB (content_type, format, end);
--	      READ_ULEB (form, format, end);
--	      data = read_and_display_attr_value (0, form, 0, start, data, end,
--						  0, 0, linfo->li_offset_size,
--						  linfo->li_version, NULL,
--			    ((content_type == DW_LNCT_path) != (namepass == 1)),
--						  section, NULL, '\t', -1);
-+	      state_machine_regs.address
-+		+= ((state_machine_regs.op_index + uladv)
-+		    / linfo->li_max_ops_per_insn)
-+		* linfo->li_min_insn_length;
-+	      state_machine_regs.op_index
-+		= (state_machine_regs.op_index + uladv)
-+		% linfo->li_max_ops_per_insn;
-+	      printf (_("  Special opcode %d: "
-+			"advance Address by %s to 0x%s[%d]"),
-+		      op_code, dwarf_vmatoa ("u", uladv),
-+		      dwarf_vmatoa ("x", state_machine_regs.address),
-+		      state_machine_regs.op_index);
- 	    }
-+	  adv = (op_code % linfo->li_line_range) + linfo->li_line_base;
-+	  state_machine_regs.line += adv;
-+	  printf (_(" and Line by %s to %d\n"),
-+		  dwarf_vmatoa ("d", adv), state_machine_regs.line);
-+	  if (is_logical)
-+	    append_logical ();
-+	  state_machine_regs.discriminator = 0;
- 	}
--
--      if (data == end && (datai < data_count - 1))
-+      else
- 	{
--	  warn (_("\n%s: Corrupt entries list\n"), table_name);
--	  return data;
--	}
--      putchar ('\n');
-+	  switch (op_code)
-+	     {
-+	     case DW_LNS_extended_op:
-+	       data += process_extended_line_op (data, linfo->li_default_is_stmt,
-+						 end, is_logical);
-+	       break;
-+
-+	     case DW_LNS_copy:
-+	       printf (_("  Copy\n"));
-+	       if (is_logical)
-+		 append_logical ();
-+	       state_machine_regs.discriminator = 0;
-+	       break;
-+
-+	     case DW_LNS_advance_pc:
-+	       READ_ULEB (uladv, data, end);
-+	       if (linfo->li_max_ops_per_insn == 1)
-+		 {
-+		   uladv *= linfo->li_min_insn_length;
-+		   state_machine_regs.address += uladv;
-+		   printf (_("  Advance PC by %s to 0x%s\n"),
-+			   dwarf_vmatoa ("u", uladv),
-+			   dwarf_vmatoa ("x", state_machine_regs.address));
-+		 }
-+	       else
-+		 {
-+		   state_machine_regs.address
-+		     += ((state_machine_regs.op_index + uladv)
-+			 / linfo->li_max_ops_per_insn)
-+		     * linfo->li_min_insn_length;
-+		   state_machine_regs.op_index
-+		     = (state_machine_regs.op_index + uladv)
-+		     % linfo->li_max_ops_per_insn;
-+		   printf (_("  Advance PC by %s to 0x%s[%d]\n"),
-+			   dwarf_vmatoa ("u", uladv),
-+			   dwarf_vmatoa ("x", state_machine_regs.address),
-+			   state_machine_regs.op_index);
-+		 }
-+	       break;
-+
-+	     case DW_LNS_advance_line:
-+	       READ_SLEB (adv, data, end);
-+	       state_machine_regs.line += adv;
-+	       printf (_("  Advance Line by %s to %d\n"),
-+		       dwarf_vmatoa ("d", adv),
-+		       state_machine_regs.line);
-+	       break;
-+
-+	     case DW_LNS_set_file:
-+	       READ_ULEB (uladv, data, end);
-+	       printf (_("  Set File Name to entry %s in the File Name Table\n"),
-+		       dwarf_vmatoa ("d", uladv));
-+	       state_machine_regs.file = uladv;
-+	       break;
-+
-+	     case DW_LNS_set_column:
-+	       READ_ULEB (uladv, data, end);
-+	       printf (_("  Set column to %s\n"),
-+		       dwarf_vmatoa ("u", uladv));
-+	       state_machine_regs.column = uladv;
-+	       break;
-+
-+	     case DW_LNS_negate_stmt:
-+	       adv = state_machine_regs.is_stmt;
-+	       adv = ! adv;
-+	       printf (_("  Set is_stmt to %s\n"), dwarf_vmatoa ("d", adv));
-+	       state_machine_regs.is_stmt = adv;
-+	       break;
-+
-+	     case DW_LNS_set_basic_block:
-+	       printf (_("  Set basic block\n"));
-+	       state_machine_regs.basic_block = 1;
-+	       break;
-+
-+	     case DW_LNS_const_add_pc:
-+	       uladv = ((255 - linfo->li_opcode_base) / linfo->li_line_range);
-+	       if (linfo->li_max_ops_per_insn)
-+		 {
-+		   uladv *= linfo->li_min_insn_length;
-+		   state_machine_regs.address += uladv;
-+		   printf (_("  Advance PC by constant %s to 0x%s\n"),
-+			   dwarf_vmatoa ("u", uladv),
-+			   dwarf_vmatoa ("x", state_machine_regs.address));
-+		 }
-+	       else
-+		 {
-+		   state_machine_regs.address
-+		     += ((state_machine_regs.op_index + uladv)
-+			 / linfo->li_max_ops_per_insn)
-+		     * linfo->li_min_insn_length;
-+		   state_machine_regs.op_index
-+		     = (state_machine_regs.op_index + uladv)
-+		     % linfo->li_max_ops_per_insn;
-+		   printf (_("  Advance PC by constant %s to 0x%s[%d]\n"),
-+			   dwarf_vmatoa ("u", uladv),
-+			   dwarf_vmatoa ("x", state_machine_regs.address),
-+			   state_machine_regs.op_index);
-+		 }
-+	       break;
-+
-+	     case DW_LNS_fixed_advance_pc:
-+	       SAFE_BYTE_GET_AND_INC (uladv, data, 2, end);
-+	       state_machine_regs.address += uladv;
-+	       state_machine_regs.op_index = 0;
-+	       printf (_("  Advance PC by fixed size amount %s to 0x%s\n"),
-+		       dwarf_vmatoa ("u", uladv),
-+		       dwarf_vmatoa ("x", state_machine_regs.address));
-+	       break;
-+
-+	     case DW_LNS_set_prologue_end:
-+	       printf (_("  Set prologue_end to true\n"));
-+	       break;
-+
-+	     case DW_LNS_set_epilogue_begin:
-+	       printf (_("  Set epilogue_begin to true\n"));
-+	       break;
-+
-+	     case DW_LNS_set_isa:
-+	       READ_ULEB (uladv, data, end);
-+	       printf (_("  Set ISA to %s\n"), dwarf_vmatoa ("u", uladv));
-+	       break;
-+
-+	     case DW_LNS_set_subprogram:
-+	     /* This opcode is aliased with:  */
-+	     /* case DW_LNS_set_address_from_logical:  */
-+	       if (is_logical)
-+		 {
-+		   /* DW_LNS_set_subprogram */
-+		   state_machine_regs.context = 0;
-+		   READ_ULEB (state_machine_regs.subprogram, data, end);
-+		   printf (_("  Set subprogram to %u and reset context to 0\n"),
-+			   state_machine_regs.subprogram);
-+		 }
-+	       else
-+		 {
-+		   /* DW_LNS_set_address_from_logical */
-+		   READ_SLEB (adv, data, end);
-+		   state_machine_regs.line += adv;
-+		   logical = state_machine_regs.line;
-+		   if (logical - 1 < logicals_count)
-+		     {
-+		       state_machine_regs.address = logicals_table[logical - 1].address;
-+		       state_machine_regs.op_index = logicals_table[logical - 1].op_index;
-+		     }
-+		   else
-+		     warn (_("Logical row number outside range of logicals table\n"));
-+		   printf (_("  Advance Line by %s to %u and set address from logical to 0x%s[%u]\n"),
-+			   dwarf_vmatoa ("d", adv),
-+			   logical,
-+			   dwarf_vmatoa ("x", state_machine_regs.address),
-+			   state_machine_regs.op_index);
-+		 }
-+	       break;
-+
-+	     case DW_LNS_inlined_call:
-+	       READ_SLEB (adv, data, end);
-+	       state_machine_regs.context = logicals_count + adv;
-+	       READ_ULEB (state_machine_regs.subprogram, data, end);
-+	       printf (_("  Set context to %u and subprogram to %u\n"),
-+		       state_machine_regs.context,
-+		       state_machine_regs.subprogram);
-+	       break;
-+
-+	     case DW_LNS_pop_context:
-+	       logical = state_machine_regs.context;
-+	       printf (_("  Pop context to logical %u\n"), logical);
-+	       if (logical - 1 < logicals_count)
-+	         {
-+		   state_machine_regs.file = logicals_table[logical - 1].file;
-+		   state_machine_regs.line = logicals_table[logical - 1].line;
-+		   state_machine_regs.column = logicals_table[logical - 1].column;
-+		   state_machine_regs.discriminator = logicals_table[logical - 1].discriminator;
-+		   state_machine_regs.is_stmt = logicals_table[logical - 1].is_stmt;
-+		   state_machine_regs.context = logicals_table[logical - 1].context;
-+		   state_machine_regs.subprogram = logicals_table[logical - 1].subprogram;
-+	         }
-+	       else
-+	         warn (_("Context register outside range of logicals table\n"));
-+	       break;
-+
-+	     default:
-+	       printf (_("  Unknown opcode %d with operands: "), op_code);
-+
-+	       if (standard_opcodes != NULL)
-+		 for (i = standard_opcodes[op_code - 1]; i > 0 ; --i)
-+		   {
-+			   dwarf_vma val;
-+			   READ_ULEB (val, data, end);
-+			   printf ("0x%s%s", dwarf_vmatoa ("x", val),
-+			     i == 1 ? "" : ", ");
-+		   }
-+	       putchar ('\n');
-+	       break;
-+	     }
-+	 }
-     }
--  return data;
-+
-+  putchar ('\n');
-+  *pdata = data;
- }
- 
-+#define UNUSED(x) (void)(x)
-+
- static int
- display_debug_lines_raw (struct dwarf_section *  section,
- 			 unsigned char *         data,
-@@ -4319,7 +4705,9 @@ display_debug_lines_raw (struct dwarf_section *  section,
- 			 void *                  file)
- {
-   unsigned char *start = section->start;
--  int verbose_view = 0;
-+  unsigned int initial_length_size;
-+  unsigned int offset_size;
-+  UNUSED(file);
- 
-   introduce (section, TRUE);
- 
-@@ -4327,9 +4715,15 @@ display_debug_lines_raw (struct dwarf_section *  section,
-     {
-       static DWARF2_Internal_LineInfo saved_linfo;
-       DWARF2_Internal_LineInfo linfo;
-+      unsigned int logicals_table_offset = 0;
-+      unsigned int actuals_table_offset = 0;
-+      unsigned char *end_of_header_length;
-       unsigned char *standard_opcodes;
-+      unsigned char *start_of_line_program;
-+      unsigned char *end_of_logicals;
-       unsigned char *end_of_sequence;
-       int i;
-+      unsigned char *hdrptr = NULL;
- 
-       if (const_strneq (section->name, ".debug_line.")
- 	  /* Note: the following does not apply to .debug_line.dwo sections.
-@@ -4346,7 +4740,9 @@ display_debug_lines_raw (struct dwarf_section *  section,
- 	     Since the section is a fragment it does not have the details
- 	     needed to fill out a LineInfo structure, so instead we use the
- 	     details from the last full debug_line section that we processed.  */
-+	  start_of_line_program = data;
- 	  end_of_sequence = end;
-+	  end_of_logicals = end;
- 	  standard_opcodes = NULL;
- 	  linfo = saved_linfo;
- 	  /* PR 17531: file: 0522b371.  */
-@@ -4359,16 +4755,17 @@ display_debug_lines_raw (struct dwarf_section *  section,
- 	}
-       else
- 	{
--	  unsigned char * hdrptr;
--
- 	  if ((hdrptr = read_debug_line_header (section, data, end, & linfo,
--						& end_of_sequence)) == NULL)
-+						& end_of_sequence,
-+						& initial_length_size,
-+						& offset_size)) == NULL)
- 	    return 0;
- 
- 	  printf (_("  Offset:                      0x%lx\n"), (long)(data - start));
- 	  printf (_("  Length:                      %ld\n"), (long) linfo.li_length);
- 	  printf (_("  DWARF Version:               %d\n"), linfo.li_version);
--	  if (linfo.li_version >= 5)
-+	  if (linfo.li_version >= 5
-+	      && linfo.li_version != DWARF2_LINE_EXPERIMENTAL_VERSION)
- 	    {
- 	      printf (_("  Address size (bytes):        %d\n"), linfo.li_address_size);
- 	      printf (_("  Segment selector (bytes):    %d\n"), linfo.li_segment_size);
-@@ -4382,6 +4779,13 @@ display_debug_lines_raw (struct dwarf_section *  section,
- 	  printf (_("  Line Range:                  %d\n"), linfo.li_line_range);
- 	  printf (_("  Opcode Base:                 %d\n"), linfo.li_opcode_base);
- 
-+	  end_of_header_length = data + initial_length_size + 2 + offset_size;
-+	  if (linfo.li_version >= 5
-+	      && linfo.li_version != DWARF2_LINE_EXPERIMENTAL_VERSION)
-+	    end_of_header_length += 2;
-+	  start_of_line_program = end_of_header_length + linfo.li_prologue_length;
-+	  end_of_logicals = end;
-+
- 	  /* PR 17512: file: 1665-6428-0.004.  */
- 	  if (linfo.li_line_range == 0)
- 	    {
-@@ -4409,314 +4813,100 @@ display_debug_lines_raw (struct dwarf_section *  section,
- 			      standard_opcodes[i - 1]),
- 		    i, standard_opcodes[i - 1]);
- 
--	  /* Display the contents of the Directory table.  */
- 	  data = standard_opcodes + linfo.li_opcode_base - 1;
- 
--	  if (linfo.li_version >= 5)
--	    {
--	      load_debug_section_with_follow (line_str, file);
--
--	      data = display_formatted_table (data, start, end, &linfo, section,
--					      TRUE);
--	      data = display_formatted_table (data, start, end, &linfo, section,
--					      FALSE);
--	    }
--	  else
-+	  if (linfo.li_version == DWARF2_LINE_EXPERIMENTAL_VERSION)
- 	    {
--	      if (*data == 0)
--		printf (_("\n The Directory Table is empty.\n"));
--	      else
--		{
--		  unsigned int last_dir_entry = 0;
--
--		  printf (_("\n The Directory Table (offset 0x%lx):\n"),
--			  (long)(data - start));
--
--		  while (data < end && *data != 0)
--		    {
--		      printf ("  %d\t%.*s\n", ++last_dir_entry, (int) (end - data), data);
-+	      /* Skip the fake directory and filename table.  */
-+	      data += 2;
- 
--		      data += strnlen ((char *) data, end - data) + 1;
--		    }
-+	      /* Skip the fake extended opcode that wraps the rest
-+		 of the section.  */
-+	      data += 5;
- 
--		  /* PR 17512: file: 002-132094-0.004.  */
--		  if (data >= end - 1)
--		    break;
--		}
-+	      /* Read the logicals table offset and actuals table offset.  */
-+	      SAFE_BYTE_GET_AND_INC (logicals_table_offset, data, offset_size, end);
-+	      SAFE_BYTE_GET_AND_INC (actuals_table_offset, data, offset_size, end);
- 
--	      /* Skip the NUL at the end of the table.  */
--	      data++;
-+	      start_of_line_program = end_of_header_length + logicals_table_offset;
- 
--	      /* Display the contents of the File Name table.  */
--	      if (*data == 0)
--		printf (_("\n The File Name Table is empty.\n"));
--	      else
--		{
--		  printf (_("\n The File Name Table (offset 0x%lx):\n"),
--			  (long)(data - start));
--		  printf (_("  Entry\tDir\tTime\tSize\tName\n"));
-+	      if (actuals_table_offset > 0)
-+		end_of_logicals = end_of_header_length + actuals_table_offset;
- 
--		  while (data < end && *data != 0)
--		    {
--		      unsigned char *name;
--		      dwarf_vma val;
-+	      putchar ('\n');
-+	      printf (_("  Logicals Table Offset:       0x%x\n"), logicals_table_offset);
-+	      printf (_("  Actuals Table Offset:        0x%x\n"), actuals_table_offset);
-+	    }
- 
--		      printf ("  %d\t", ++state_machine_regs.last_file_entry);
--		      name = data;
--		      data += strnlen ((char *) data, end - data) + 1;
-+	  /* Display the contents of the Directory table.  */
-+	  if (linfo.li_version >= 5)
-+	    display_dir_file_table_v5 (start, end, &data, _("Directory"),
-+				       offset_size);
-+	  else
-+	    display_directory_table_v4 (start, end, &data);
- 
--		      READ_ULEB (val, data, end);
--		      printf ("%s\t", dwarf_vmatoa ("u", val));
--		      READ_ULEB (val, data, end);
--		      printf ("%s\t", dwarf_vmatoa ("u", val));
--		      READ_ULEB (val, data, end);
--		      printf ("%s\t", dwarf_vmatoa ("u", val));
--		      printf ("%.*s\n", (int)(end - name), name);
-+	  /* PR 17512: file: 002-132094-0.004.  */
-+	  if (data >= end - 1)
-+	    break;
- 
--		      if (data == end)
--			{
--			  warn (_("Corrupt file name table entry\n"));
--			  break;
--			}
--		    }
--		}
-+	  /* Display the contents of the File Name table.  */
-+	  if (linfo.li_version >= 5)
-+	    {
-+	      unsigned int count;
- 
--	      /* Skip the NUL at the end of the table.  */
--	      data++;
-+	      count = display_dir_file_table_v5 (start, end, &data,
-+						 _("File Name"), offset_size);
-+	      state_machine_regs.last_file_entry = count - 1;
- 	    }
-+	  else
-+	    display_file_name_table_v4 (start, end, &data);
-+
-+	  /* Display the contents of the Subprogram table.  */
-+	  if (linfo.li_version == DWARF2_LINE_EXPERIMENTAL_VERSION)
-+	    display_dir_file_table_v5 (start, end, &data, _("Subprogram"),
-+				       offset_size);
- 
- 	  putchar ('\n');
- 	  saved_linfo = linfo;
- 	}
- 
--      /* Now display the statements.  */
--      if (data >= end_of_sequence)
--	printf (_(" No Line Number Statements.\n"));
--      else
--	{
--	  printf (_(" Line Number Statements:\n"));
-+      if (data > start_of_line_program)
-+	warn (_("Line table header is longer than header_length indicates\n"));
-+      else if (data < start_of_line_program)
-+	warn (_("Line table header is shorter than header_length indicates\n"));
-+      data = start_of_line_program;
- 
--	  while (data < end_of_sequence)
-+      if (linfo.li_version == DWARF2_LINE_EXPERIMENTAL_VERSION
-+          && hdrptr != NULL
-+          && actuals_table_offset > 0)
-+        {
-+          if (end_of_logicals > end)
- 	    {
--	      unsigned char op_code;
--	      dwarf_signed_vma adv;
--	      dwarf_vma uladv;
--
--	      printf ("  [0x%08lx]", (long)(data - start));
--
--	      op_code = *data++;
--
--	      if (op_code >= linfo.li_opcode_base)
--		{
--		  op_code -= linfo.li_opcode_base;
--		  uladv = (op_code / linfo.li_line_range);
--		  if (linfo.li_max_ops_per_insn == 1)
--		    {
--		      uladv *= linfo.li_min_insn_length;
--		      state_machine_regs.address += uladv;
--		      if (uladv)
--			state_machine_regs.view = 0;
--		      printf (_("  Special opcode %d: "
--				"advance Address by %s to 0x%s%s"),
--			      op_code, dwarf_vmatoa ("u", uladv),
--			      dwarf_vmatoa ("x", state_machine_regs.address),
--			      verbose_view && uladv
--			      ? _(" (reset view)") : "");
--		    }
--		  else
--		    {
--		      unsigned addrdelta
--			= ((state_machine_regs.op_index + uladv)
--			    / linfo.li_max_ops_per_insn)
--			* linfo.li_min_insn_length;
--
--		      state_machine_regs.address += addrdelta;
--		      state_machine_regs.op_index
--			= (state_machine_regs.op_index + uladv)
--			% linfo.li_max_ops_per_insn;
--		      if (addrdelta)
--			state_machine_regs.view = 0;
--		      printf (_("  Special opcode %d: "
--				"advance Address by %s to 0x%s[%d]%s"),
--			      op_code, dwarf_vmatoa ("u", uladv),
--			      dwarf_vmatoa ("x", state_machine_regs.address),
--			      state_machine_regs.op_index,
--			      verbose_view && addrdelta
--			      ? _(" (reset view)") : "");
--		    }
--		  adv = (op_code % linfo.li_line_range) + linfo.li_line_base;
--		  state_machine_regs.line += adv;
--		  printf (_(" and Line by %s to %d"),
--			  dwarf_vmatoa ("d", adv), state_machine_regs.line);
--		  if (verbose_view || state_machine_regs.view)
--		    printf (_(" (view %u)\n"), state_machine_regs.view);
--		  else
--		    putchar ('\n');
--		  state_machine_regs.view++;
--		}
--	      else
--		switch (op_code)
--		  {
--		  case DW_LNS_extended_op:
--		    data += process_extended_line_op (data,
--						      linfo.li_default_is_stmt,
--						      end);
--		    break;
--
--		  case DW_LNS_copy:
--		    printf (_("  Copy"));
--		    if (verbose_view || state_machine_regs.view)
--		      printf (_(" (view %u)\n"), state_machine_regs.view);
--		    else
--		      putchar ('\n');
--		    state_machine_regs.view++;
--		    break;
--
--		  case DW_LNS_advance_pc:
--		    READ_ULEB (uladv, data, end);
--		    if (linfo.li_max_ops_per_insn == 1)
--		      {
--			uladv *= linfo.li_min_insn_length;
--			state_machine_regs.address += uladv;
--			if (uladv)
--			  state_machine_regs.view = 0;
--			printf (_("  Advance PC by %s to 0x%s%s\n"),
--				dwarf_vmatoa ("u", uladv),
--				dwarf_vmatoa ("x", state_machine_regs.address),
--				verbose_view && uladv
--				? _(" (reset view)") : "");
--		      }
--		    else
--		      {
--			unsigned addrdelta
--			  = ((state_machine_regs.op_index + uladv)
--			     / linfo.li_max_ops_per_insn)
--			  * linfo.li_min_insn_length;
--			state_machine_regs.address
--			  += addrdelta;
--			state_machine_regs.op_index
--			  = (state_machine_regs.op_index + uladv)
--			  % linfo.li_max_ops_per_insn;
--			if (addrdelta)
--			  state_machine_regs.view = 0;
--			printf (_("  Advance PC by %s to 0x%s[%d]%s\n"),
--				dwarf_vmatoa ("u", uladv),
--				dwarf_vmatoa ("x", state_machine_regs.address),
--				state_machine_regs.op_index,
--				verbose_view && addrdelta
--				? _(" (reset view)") : "");
--		      }
--		    break;
--
--		  case DW_LNS_advance_line:
--		    READ_SLEB (adv, data, end);
--		    state_machine_regs.line += adv;
--		    printf (_("  Advance Line by %s to %d\n"),
--			    dwarf_vmatoa ("d", adv),
--			    state_machine_regs.line);
--		    break;
--
--		  case DW_LNS_set_file:
--		    READ_ULEB (uladv, data, end);
--		    printf (_("  Set File Name to entry %s in the File Name Table\n"),
--			    dwarf_vmatoa ("u", uladv));
--		    state_machine_regs.file = uladv;
--		    break;
--
--		  case DW_LNS_set_column:
--		    READ_ULEB (uladv, data, end);
--		    printf (_("  Set column to %s\n"),
--			    dwarf_vmatoa ("u", uladv));
--		    state_machine_regs.column = uladv;
--		    break;
--
--		  case DW_LNS_negate_stmt:
--		    adv = state_machine_regs.is_stmt;
--		    adv = ! adv;
--		    printf (_("  Set is_stmt to %s\n"), dwarf_vmatoa ("d", adv));
--		    state_machine_regs.is_stmt = adv;
--		    break;
--
--		  case DW_LNS_set_basic_block:
--		    printf (_("  Set basic block\n"));
--		    state_machine_regs.basic_block = 1;
--		    break;
--
--		  case DW_LNS_const_add_pc:
--		    uladv = ((255 - linfo.li_opcode_base) / linfo.li_line_range);
--		    if (linfo.li_max_ops_per_insn)
--		      {
--			uladv *= linfo.li_min_insn_length;
--			state_machine_regs.address += uladv;
--			if (uladv)
--			  state_machine_regs.view = 0;
--			printf (_("  Advance PC by constant %s to 0x%s%s\n"),
--				dwarf_vmatoa ("u", uladv),
--				dwarf_vmatoa ("x", state_machine_regs.address),
--				verbose_view && uladv
--				? _(" (reset view)") : "");
--		      }
--		    else
--		      {
--			unsigned addrdelta
--			  = ((state_machine_regs.op_index + uladv)
--			     / linfo.li_max_ops_per_insn)
--			  * linfo.li_min_insn_length;
--			state_machine_regs.address
--			  += addrdelta;
--			state_machine_regs.op_index
--			  = (state_machine_regs.op_index + uladv)
--			  % linfo.li_max_ops_per_insn;
--			if (addrdelta)
--			  state_machine_regs.view = 0;
--			printf (_("  Advance PC by constant %s to 0x%s[%d]%s\n"),
--				dwarf_vmatoa ("u", uladv),
--				dwarf_vmatoa ("x", state_machine_regs.address),
--				state_machine_regs.op_index,
--				verbose_view && addrdelta
--				? _(" (reset view)") : "");
--		      }
--		    break;
--
--		  case DW_LNS_fixed_advance_pc:
--		    SAFE_BYTE_GET_AND_INC (uladv, data, 2, end);
--		    state_machine_regs.address += uladv;
--		    state_machine_regs.op_index = 0;
--		    printf (_("  Advance PC by fixed size amount %s to 0x%s\n"),
--			    dwarf_vmatoa ("u", uladv),
--			    dwarf_vmatoa ("x", state_machine_regs.address));
--		    /* Do NOT reset view.  */
--		    break;
--
--		  case DW_LNS_set_prologue_end:
--		    printf (_("  Set prologue_end to true\n"));
--		    break;
--
--		  case DW_LNS_set_epilogue_begin:
--		    printf (_("  Set epilogue_begin to true\n"));
--		    break;
--
--		  case DW_LNS_set_isa:
--		    READ_ULEB (uladv, data, end);
--		    printf (_("  Set ISA to %s\n"), dwarf_vmatoa ("u", uladv));
--		    break;
--
--		  default:
--		    printf (_("  Unknown opcode %d with operands: "), op_code);
--
--		    if (standard_opcodes != NULL)
--		      for (i = standard_opcodes[op_code - 1]; i > 0 ; --i)
--			{
--			  READ_ULEB (uladv, data, end);
--			  printf ("0x%s%s", dwarf_vmatoa ("x", uladv),
--				  i == 1 ? "" : ", ");
--			}
--		    putchar ('\n');
--		    break;
--		  }
-+	      warn (_("Actuals table offset %s extends beyond end of section\n"),
-+		    dwarf_vmatoa ("u", actuals_table_offset));
-+	      end_of_logicals = end;
- 	    }
--	  putchar ('\n');
--	}
-+          display_line_program (start, end_of_logicals, &data,
-+				_("Logicals Statements"),
-+				&linfo, standard_opcodes, 1);
-+          if (data > end_of_logicals)
-+	    warn (_("Logicals table is longer than actuals_table_offset indicates\n"));
-+          else if (data < end_of_logicals)
-+	    warn (_("Line table header is shorter than actuals_table_offset indicates\n"));
-+          data = end_of_logicals;
-+	  reset_state_machine (linfo.li_default_is_stmt);
-+          display_line_program (start, end_of_sequence, &data,
-+				_("Actuals Statements"),
-+				&linfo, standard_opcodes, 0);
-+          free_logicals ();
-+        }
-+      else
-+        {
-+          display_line_program (start, end_of_sequence, &data,
-+				_("Line Number Statements"),
-+				&linfo, standard_opcodes, 0);
-+        }
-+
-     }
- 
-   return 1;
-@@ -4740,6 +4930,8 @@ display_debug_lines_decoded (struct dwarf_section *  section,
- 			     void *                  fileptr)
- {
-   static DWARF2_Internal_LineInfo saved_linfo;
-+  unsigned int initial_length_size;
-+  unsigned int offset_size;
- 
-   introduce (section, FALSE);
- 
-@@ -4777,7 +4969,9 @@ display_debug_lines_decoded (struct dwarf_section *  section,
- 	  unsigned char *hdrptr;
- 
- 	  if ((hdrptr = read_debug_line_header (section, data, end, & linfo,
--						& end_of_sequence)) == NULL)
-+						& end_of_sequence,
-+						& initial_length_size,
-+						& offset_size)) == NULL)
- 	      return 0;
- 
- 	  /* PR 17531: file: 0522b371.  */
-@@ -5510,6 +5704,8 @@ display_debug_lines (struct dwarf_section *section, void *file)
-   if (do_debug_lines == 0)
-     do_debug_lines |= FLAG_DEBUG_LINES_RAW;
- 
-+  load_debug_section (line_str, file);
-+
-   if (do_debug_lines & FLAG_DEBUG_LINES_RAW)
-     retValRaw = display_debug_lines_raw (section, data, end, file);
- 
-diff --git a/binutils/readelf.c b/binutils/readelf.c
-index ad16b4571c9..a842ffbd07c 100644
---- a/binutils/readelf.c
-+++ b/binutils/readelf.c
-@@ -6573,6 +6573,7 @@ process_section_headers (Filedata * filedata)
- 	      || (do_debug_macinfo  && const_strneq (name, "macro"))
- 	      || (do_debug_str      && const_strneq (name, "str"))
- 	      || (do_debug_str_offsets && const_strneq (name, "str_offsets"))
-+	      || (do_debug_str      && const_strneq (name, "line_str"))
- 	      || (do_debug_loc      && const_strneq (name, "loc"))
- 	      || (do_debug_loc      && const_strneq (name, "loclists"))
- 	      || (do_debug_addr     && const_strneq (name, "addr"))
--- 
-2.34.1
-
diff --git a/sys-devel/crossdev/crossdev-20211027-r1.ebuild b/sys-devel/crossdev/crossdev-20211027-r2.ebuild
similarity index 100%
rename from sys-devel/crossdev/crossdev-20211027-r1.ebuild
rename to sys-devel/crossdev/crossdev-20211027-r2.ebuild
diff --git a/sys-devel/crossdev/crossdev-20211027.ebuild b/sys-devel/crossdev/crossdev-20211027.ebuild
index 376e9c8..6962f28 100644
--- a/sys-devel/crossdev/crossdev-20211027.ebuild
+++ b/sys-devel/crossdev/crossdev-20211027.ebuild
@@ -13,10 +13,6 @@
 	KEYWORDS="*"
 fi
 
-PATCHES=(
-	"${FILESDIR}/${P}-overwrite-secondary-toolchains.patch"
-)
-
 DESCRIPTION="Gentoo Cross-toolchain generator"
 HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Crossdev"
 
diff --git a/sys-devel/crossdev/files/crossdev-20211027-overwrite-secondary-toolchains.patch b/sys-devel/crossdev/files/crossdev-20211027-overwrite-secondary-toolchains.patch
deleted file mode 100644
index 0b00698..0000000
--- a/sys-devel/crossdev/files/crossdev-20211027-overwrite-secondary-toolchains.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-Crossdev commit 1ebd639ccc8605f3e69b5973788101264902559e added an extra
-check to prevent overwriting secondary host toolchains. But we rely on
-being able to do that in Chromium OS for i686-pc-linux-gnu.
-
-This patch reverts the additional check so that we can continue using
-crossdev to build i686-pc-linux-gnu. b/187786439 will remove using of
-i686-pc-linux-gnu so that we can drop this patch.
-
-diff --git a/crossdev b/crossdev
-index 25b7acf..e1f7d01 100755
---- a/crossdev
-+++ b/crossdev
-@@ -495,7 +495,6 @@ show_repo_cfg() {
- setup_portage_vars() {
- 	local arch=${ARCH} arch_set=${ARCH+set}
- 	local chost=${CHOST} chost_set=${CHOST+set}
--	local abi
- 	unset ARCH CHOST
- 	eval $(portageq envvar -v PORT_LOGDIR PORTAGE_TMPDIR ARCH CHOST)
- 	parse_repo_config
-@@ -506,17 +505,6 @@ setup_portage_vars() {
- 	HCHOST=${CHOST}
- 	[[ ${chost_set} == "set" ]] && CHOST=${chost} || unset CHOST
- 
--	# Collect all CHOST* visible for host. We need to make sure
--	# not to clobber any of native CHOSTs.
--	HCHOSTS=(${HCHOST})
--	for abi in $(portageq envvar ABI MULTILIB_ABIS DEFAULT_ABI); do
--		HCHOSTS+=($(portageq envvar CHOST_${abi}))
--	done
--	# uniq
--	HCHOSTS=(
--		$(printf "%s\n" "${HCHOSTS[@]}" | sort -u)
--	)
--
- 	# see if user told us where to write things, otherwise
- 	# set up some repos.conf magic if possible.  if not,
- 	# install our stuff to the first overlay in the list.
-@@ -771,7 +759,6 @@ UOPTS=
- TARCH=
- HARCH=
- HCHOST=
--HCHOSTS=()
- CTARGET=
- MULTILIB_ABIS="default"
- MULTILIB_USE=""
-@@ -962,15 +949,6 @@ if [[ ${HCHOST} == "${CTARGET}" ]] ; then
- 	exit 1
- fi
- 
--for hchost in "${HCHOSTS[@]}"; do
--	if [[ ${hchost} == "${CTARGET}" ]] ; then
--		eerror "Refusing to create a cross-compiler using the same"
--		eerror "target name as your host utils."
--		eerror "Consider using sys-devel/multilib-gcc-wrapper package."
--		exit 1
--	fi
--done
--
- # grab user settings
- d="${CONFIGROOT}/crossdev/${CTARGET}"
- for v in MULTILIB_ABIS USE BVER GVER KVER LVER STAGE CFLAGS LDFLAGS ASFLAGS ; do
-@@ -1064,7 +1042,7 @@ info() {
- hr -
- einfo "crossdev version:      ${CROSSDEV_VER}"
- einfo "Host Portage ARCH:     ${HARCH}"
--einfo "Host Portage System:   ${HCHOST} (${HCHOSTS[*]})"
-+einfo "Host Portage System:   ${HCHOST}"
- einfo "Target Portage ARCH:   ${TARCH}"
- einfo "Target System:         ${CTARGET}"
- einfo "Stage:                 ${STAGE} (${STAGE_DISP[${STAGE}]})"
--- 
-2.33.1.1089.g2158813163f-goog
-
diff --git a/sys-devel/gcc-bin/gcc-bin-4.9.2-r3.ebuild b/sys-devel/gcc-bin/gcc-bin-4.9.2-r4.ebuild
similarity index 100%
rename from sys-devel/gcc-bin/gcc-bin-4.9.2-r3.ebuild
rename to sys-devel/gcc-bin/gcc-bin-4.9.2-r4.ebuild
diff --git a/sys-devel/gcc-bin/gcc-bin-4.9.2.ebuild b/sys-devel/gcc-bin/gcc-bin-4.9.2.ebuild
index 376bd17..7f72d01 100644
--- a/sys-devel/gcc-bin/gcc-bin-4.9.2.ebuild
+++ b/sys-devel/gcc-bin/gcc-bin-4.9.2.ebuild
@@ -53,7 +53,7 @@
 	for abi in "${CROS_ABIS[@]}"; do
 		cd "${WORKDIR}/${abi}" || die
 		rm -f bin/*gcov* bin/*gdb* bin/*clang* bin/*lld* bin/*llvm* || die
-		rm -f lib/*clang* lib/*rust* lib/*libstd-* lib/*libc++* || die
+		rm -f lib/*clang* lib/*rust* lib/*libstd-* lib/libtest-* lib/*libc++* || die
 		rm -rf usr/"${abi}"*/usr/lib*/gconv || die
 		rm -rf usr/bin || die
 		rm -rf usr/include/c++ usr/include/llvm* usr/include/clang* usr/share/clang* || die
diff --git a/sys-devel/gcc/gcc-10.2.0-r26.ebuild b/sys-devel/gcc/gcc-10.2.0-r28.ebuild
similarity index 100%
rename from sys-devel/gcc/gcc-10.2.0-r26.ebuild
rename to sys-devel/gcc/gcc-10.2.0-r28.ebuild
diff --git a/sys-devel/gcc/gcc-10.2.0.ebuild b/sys-devel/gcc/gcc-10.2.0.ebuild
index 80f39bc..22cc223 100644
--- a/sys-devel/gcc/gcc-10.2.0.ebuild
+++ b/sys-devel/gcc/gcc-10.2.0.ebuild
@@ -36,7 +36,7 @@
 
 RESTRICT="strip"
 
-IUSE="cet gcc_repo gcj git_gcc go graphite gtk hardened hardfp llvm-next llvm-tot mounted_gcc multilib
+IUSE="cet gcc_repo gcj git_gcc go graphite gtk hardened hardfp mounted_gcc multilib
 	nls cxx openmp test tests +thumb upstream_gcc vanilla vtable_verify +wrapper_ccache"
 
 is_crosscompile() { [[ ${CHOST} != "${CTARGET}" ]] ; }
@@ -170,6 +170,12 @@
 		)
 	fi
 
+	# Make PIE (position independent executable) default for Cross-compiler
+	# Linux/GNU	builds.
+	if [[ "${CTARGET}" == *linux-gnu* ]]; then
+		confgcc+=( --enable-default-pie )
+	fi
+
 	# Handle target-specific options.
 	case ${CTARGET} in
 	arm*)	#264534
@@ -359,11 +365,8 @@
 
 	cd "${D}${BINPATH}" || die
 
+	# For wrapper build argument only, not actually used in gcc wrappers.
 	local use_llvm_next=false
-	if use llvm-next || use llvm-tot
-	then
-		use_llvm_next=true
-	fi
 
 	if is_crosscompile ; then
 		local sysroot_wrapper_file_prefix
diff --git a/sys-devel/gdb/files/gdb-9.2-amd64-linux-siginfo.c-Adjust-include-order-to-avoid-.patch b/sys-devel/gdb/files/gdb-9.2-amd64-linux-siginfo.c-Adjust-include-order-to-avoid-.patch
new file mode 100644
index 0000000..70a7e92
--- /dev/null
+++ b/sys-devel/gdb/files/gdb-9.2-amd64-linux-siginfo.c-Adjust-include-order-to-avoid-.patch
@@ -0,0 +1,58 @@
+From a9d3805d53468d5ac574df8b1cc1ce8d5518e613 Mon Sep 17 00:00:00 2001
+From: Kevin Buettner <kevinb@redhat.com>
+Date: Thu, 18 Feb 2021 22:46:58 -0700
+Subject: [PATCH] amd64-linux-siginfo.c: Adjust include order to avoid gnulib
+ error
+
+On Fedora rawhide, after updating to glibc-2.34, I'm seeing the
+following build failure:
+
+  CXX    nat/amd64-linux-siginfo.o
+In file included from /usr/include/bits/sigstksz.h:24,
+                 from /usr/include/signal.h:315,
+                 from ../gnulib/import/signal.h:52,
+                 from /ironwood1/sourceware-git/rawhide-gnulib/bld/../../worktree-gnulib/gdbserver/../gdb/nat/amd64-linux-siginfo.c:20:
+../gnulib/import/unistd.h:663:3: error: #error "Please include config.h first."
+  663 |  #error "Please include config.h first."
+      |   ^~~~~
+
+glibc-2.33 has changed signal.h to now include <bits/sigstksz.h> which,
+in turn, includes <unistd.h>. For a gdb build, this causes the gnulib
+version of unistd.h to be pulled in first.  The build failure shown
+above happens because gnulib's config.h has not been included before
+the include of <signal.h>.
+
+The fix is simple - we just rearrange the order of the header file
+includes to make sure that gdbsupport/commondefs.h is included before
+attempting to include signal.h.  Note that gdbsupport/commondefs.h
+includes <gnulib/config.h>.
+
+Build and regression tested on Fedora 33.  On Fedora rawhide, GDB
+builds again.
+
+gdb/ChangeLog:
+
+	* nat/amd64-linux-siginfo.c: Include "gdbsupport/common-defs.h"
+	(which in turn includes <gnulib/config.h>) before include
+	of <signal.h>.
+---
+ gdb/nat/amd64-linux-siginfo.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gdb/nat/amd64-linux-siginfo.c b/gdb/nat/amd64-linux-siginfo.c
+index 8bcff454378..9721a1fd913 100644
+--- a/gdb/nat/amd64-linux-siginfo.c
++++ b/gdb/nat/amd64-linux-siginfo.c
+@@ -17,8 +17,8 @@
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+ 
+-#include <signal.h>
+ #include "gdbsupport/common-defs.h"
++#include <signal.h>
+ #include "amd64-linux-siginfo.h"
+ 
+ #define GDB_SI_SIZE 128
+-- 
+2.36.1
+
diff --git a/sys-devel/gdb/files/gdb-9.2-iterator-include.patch b/sys-devel/gdb/files/gdb-9.2-iterator-include.patch
new file mode 100644
index 0000000..a3d2501
--- /dev/null
+++ b/sys-devel/gdb/files/gdb-9.2-iterator-include.patch
@@ -0,0 +1,28 @@
+From 708ee4fd686a478eca5853455f0393b8a1c78e1b Mon Sep 17 00:00:00 2001
+From: Christopher Di Bella <cjdb@google.com>
+Date: Thu, 23 Jun 2022 23:44:59 +0000
+Subject: [PATCH] [gdb] adds `<iterator>` to list of includes
+
+`std::back_inserter` is defined in `<iterator>`, which is currently
+being transitively included by one of the other headers. This is causing
+gdb to fail to build on certain platforms, which is fixed by explicitly
+including it.
+---
+ gdb/value.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/gdb/value.c b/gdb/value.c
+index 022fca91a42..ba7ae1a0e18 100644
+--- a/gdb/value.c
++++ b/gdb/value.c
+@@ -40,6 +40,7 @@
+ #include "cp-abi.h"
+ #include "user-regs.h"
+ #include <algorithm>
++#include <iterator>
+ #include "completer.h"
+ #include "gdbsupport/selftest.h"
+ #include "gdbsupport/array-view.h"
+-- 
+2.37.0.rc0.104.g0611611a94-goog
+
diff --git a/sys-devel/gdb/gdb-9.2.20200923-r6.ebuild b/sys-devel/gdb/gdb-9.2.20200923-r9.ebuild
similarity index 100%
rename from sys-devel/gdb/gdb-9.2.20200923-r6.ebuild
rename to sys-devel/gdb/gdb-9.2.20200923-r9.ebuild
diff --git a/sys-devel/gdb/gdb-9.2.20200923.ebuild b/sys-devel/gdb/gdb-9.2.20200923.ebuild
index ad98324..7738b81 100644
--- a/sys-devel/gdb/gdb-9.2.20200923.ebuild
+++ b/sys-devel/gdb/gdb-9.2.20200923.ebuild
@@ -1,10 +1,10 @@
 # Copyright 1999-2020 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+EAPI=7
+PYTHON_COMPAT=( python3_{6..9} )
 
-inherit flag-o-matic eutils python-single-r1 versionator
+inherit flag-o-matic eutils python-single-r1
 
 GIT_SHAI="234e271db36e2a8be022f7a4bbabfa1623a6ae9a"   # GDB 9.2
 SRC_URI="https://android.googlesource.com/toolchain/gdb/+archive/${GIT_SHAI}.tar.gz -> ${P}.tar.gz"
@@ -60,6 +60,8 @@
 	"${FILESDIR}"/gdb-9.2-sigsys.patch
 	"${FILESDIR}"/gdb-9.2-update-loclists.patch
 	"${FILESDIR}"/gdb-9.2-inlined-unwind.patch
+	"${FILESDIR}"/gdb-9.2-amd64-linux-siginfo.c-Adjust-include-order-to-avoid-.patch
+        "${FILESDIR}"/gdb-9.2-iterator-include.patch
 )
 
 pkg_setup() {
@@ -77,7 +79,7 @@
 	else
 		default
 	fi
-	S="${WORKDIR}/${PN}-$(get_version_component_range 1-2)"
+	S="${WORKDIR}/${PN}-$(ver_cut 1-2)"
 }
 
 src_prepare() {
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index c167792..d00c191 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,3 +1,3 @@
 DIST llvm-12.0.1-manpages.tar.bz2 191582 BLAKE2B a049cd305c257875d47e92d703c51aee8225854f999eddbd530c7a978704a981b05bc0819ba31a2f2a218d3569b078f0deb01b0eeb385966253b54a0fdc090d1 SHA512 9931a57f843709aed59193524fe980af695e4e23c8f53ec3cff308677ba4fc520ca58032b50b68440c7762305855317d9a705fe5ccbb543fb104f4deb5d10ea5
-DIST llvm-profdata-18308e171b5b1dd99627a4d88c7d6c5ff21b8c96.tar.xz 6204444 BLAKE2B 477a2e00d437ad81eeb2d8ca5da284104bae0fec122ffff80c5e75a488717729608ea8ec6d2711cb6f72ef98dc1755170049ef80220dc9313b0a64e17e1bf64c SHA512 b5fe07d29e57a34c138562efab7f480ec0701801eab445e470b80b6ec57ab1993f8aa8ee3c1896c4536c3cd7d33d092ac02ef4cfc7f5b8a5be7a90458117efde
+DIST llvm-profdata-a58d0af058038595c93de961b725f86997cf8d4a.tar.xz 6384856 BLAKE2B 434abefcb3cdef77a251783a5c97b343254e7f2a8894c34a357cfe8b795f3c56d614f9c4d819c655dacf522e91bc8d84493596767a1b9affeb40031bc4868efc SHA512 b164c814ba855f2c1cec00519f7ee0dbb3c02afdf62b077efe5494935cb0a3c2d8c1dc9e52cc7d3e7cc0e9fd5a2b1092da6c924b8dd9c8a88fe44ec5a0ab1e0d
 DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
diff --git a/sys-devel/llvm/files/PATCHES.json b/sys-devel/llvm/files/PATCHES.json
index 3c940a0..464e7d2 100644
--- a/sys-devel/llvm/files/PATCHES.json
+++ b/sys-devel/llvm/files/PATCHES.json
@@ -1,6 +1,5 @@
 [
     {
-        "end_version": 445113,
         "metadata": {
             "info": [],
             "title": "Revert \"tsan: new runtime (v3)\""
@@ -9,10 +8,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/09859113ed23ea11ce5726f0d19bc57e93ecbaab.patch",
-        "start_version": 444647
+        "version_range": {
+            "from": 444647,
+            "until": 445113
+        }
     },
     {
-        "end_version": 445145,
         "metadata": {
             "info": [],
             "title": "[Analyzer][solver] Simplification: Do a fixpoint iteration before the eq class merge"
@@ -21,10 +22,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/20f8733d4b8d5bdb93080b8824de57b7fae31785.patch",
-        "start_version": 444923
+        "version_range": {
+            "from": 444923,
+            "until": 445145
+        }
     },
     {
-        "end_version": 446091,
         "metadata": {
             "info": [],
             "title": "Revert \"X86InstrInfo: Support immediates that are +1/-1 different in optimizeCompareInstr\""
@@ -33,10 +36,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/ea81cea8163a1a0e54df42103ee1c657bbf03791.patch",
-        "start_version": 442651
+        "version_range": {
+            "from": 442651,
+            "until": 446091
+        }
     },
     {
-        "end_version": 448047,
         "metadata": {
             "info": [],
             "title": "Revert \"[AArch64] Emit .cfi_negate_ra_state for PAC-auth instructions.\""
@@ -45,34 +50,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/131c06e6da79c5f3ca6761676d084f46252436eb.patch",
-        "start_version": 441265
+        "version_range": {
+            "from": 441265,
+            "until": 448047
+        }
     },
     {
-        "end_version": null,
-        "metadata": {
-            "info": [],
-            "title": "Revert \"[test] Cleanup tests with -enable-new-pm in llvm/test/Analysis\""
-        },
-        "platforms": [
-            "chromiumos"
-        ],
-        "rel_patch_path": "revert-bd020bbbd29e3a30f6697d6b077d28d79b3a3a9d.patch",
-        "start_version": 437228
-    },
-    {
-        "end_version": null,
-        "metadata": {
-            "info": [],
-            "title": "Revert \"[MemCpyOpt] Fix a variety of scalable-type crashes\""
-        },
-        "platforms": [
-            "chromiumos"
-        ],
-        "rel_patch_path": "revert-7fb66d4035960b3c2797eae73d79b8478ff0348e.patch",
-        "start_version": 437427
-    },
-    {
-        "end_version": 414798,
         "metadata": {
             "info": [],
             "title": "Adds a allowlist of packages that have known memory leaks"
@@ -81,10 +64,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "llvm-next-leak-allowlist.v2.patch",
-        "start_version": 370808
+        "version_range": {
+            "from": 370808,
+            "until": 414798
+        }
     },
     {
-        "end_version": null,
         "metadata": {
             "info": [],
             "title": "Adds a allowlist of packages that have known memory leaks"
@@ -93,10 +78,26 @@
             "chromiumos"
         ],
         "rel_patch_path": "llvm-leak-allowlist.v3.patch",
-        "start_version": 414798
+        "version_range": {
+            "from": 414798,
+            "until": 445947
+        }
     },
     {
-        "end_version": 408666,
+        "metadata": {
+            "info": [],
+            "title": "Adds a allowlist of packages that have known memory leaks"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "llvm-leak-allowlist.v4.patch",
+        "version_range": {
+            "from": 445947,
+            "until": null
+        }
+    },
+    {
         "metadata": {
             "info": [],
             "title": "Sets the ASAN message to go to /va/log/asan${pid} by\ndefault"
@@ -105,10 +106,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "clang-4.0-asan-default-path.patch",
-        "start_version": 0
+        "version_range": {
+            "from": 0,
+            "until": 408666
+        }
     },
     {
-        "end_version": null,
         "metadata": {
             "info": [],
             "title": "Sets the ASAN message to go to /va/log/asan${pid} by\ndefault"
@@ -117,10 +120,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "clang-12.0-asan-default-path.patch",
-        "start_version": 408666
+        "version_range": {
+            "from": 408666,
+            "until": null
+        }
     },
     {
-        "end_version": 388757,
         "metadata": {
             "info": [],
             "title": "Makes llvm not generate .cgprofile entries when we\ndo not use integrated-as"
@@ -129,10 +134,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "llvm-9.0-no-cgprofile.patch",
-        "start_version": 0
+        "version_range": {
+            "from": 0,
+            "until": 388757
+        }
     },
     {
-        "end_version": null,
         "metadata": {
             "info": [],
             "title": "Used as destination of target generators"
@@ -141,10 +148,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cmake/llvm-3.8-allow_custom_cmake_build_types.patch",
-        "start_version": 0
+        "version_range": {
+            "from": 0,
+            "until": null
+        }
     },
     {
-        "end_version": null,
         "metadata": {
             "info": [],
             "title": "Fixes crbug/591436. Force fallback to traditional executable detection"
@@ -153,10 +162,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "llvm-8.0-clang-executable-detection.v2.patch",
-        "start_version": 370808
+        "version_range": {
+            "from": 370808,
+            "until": null
+        }
     },
     {
-        "end_version": null,
         "metadata": {
             "info": [],
             "title": "Temporary workaround. Breakpad cannot handle Dwarf\nVersion 4. Works around issue by forcing Debug Frames\nversion of Dwarf to be version 1, while leaving the rest of\nthe Dwarf data at version 4"
@@ -165,10 +176,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "llvm-3.9-dwarf-version.patch",
-        "start_version": 0
+        "version_range": {
+            "from": 0,
+            "until": null
+        }
     },
     {
-        "end_version": 420001,
         "metadata": {
             "info": [],
             "title": "Fixes clang.elf calling clang.elf because direct\ncalls to clang.elf misses all environment setup in clang\nwrapper. Calls to clang wrapper instead of clang.elf binary"
@@ -177,10 +190,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "llvm-3.8-invocation.patch",
-        "start_version": 0
+        "version_range": {
+            "from": 0,
+            "until": 420001
+        }
     },
     {
-        "end_version": null,
         "metadata": {
             "info": [],
             "title": "Uses argv[0] to get host system information. Created\na wrapper of LLD and real lld becomes lld.elf so the LLD\ncannot get the host system information and dies"
@@ -189,10 +204,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "lld-10.0-invoke-name.patch",
-        "start_version": 365730
+        "version_range": {
+            "from": 365730,
+            "until": null
+        }
     },
     {
-        "end_version": 384465,
         "metadata": {
             "info": [],
             "title": "Fix type-dependency of bitfields in templates"
@@ -201,10 +218,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/a58017e5cae5be948fd1913b68d46553e87aa622.patch",
-        "start_version": 380035
+        "version_range": {
+            "from": 380035,
+            "until": 384465
+        }
     },
     {
-        "end_version": 384546,
         "metadata": {
             "info": [],
             "title": "[ARM] Fix infinite loop when lowering STRICT_FP_EXTEND"
@@ -213,10 +232,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/0ec57972967dfb43fc022c2e3788be041d1db730.patch",
-        "start_version": 380035
+        "version_range": {
+            "from": 380035,
+            "until": 384546
+        }
     },
     {
-        "end_version": 385989,
         "metadata": {
             "info": [],
             "title": "[DAGCombine] Fix alias analysis for unaligned accesses"
@@ -225,10 +246,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/1de10705594c7a2c9b8fde901c391bd84062ae04.patch",
-        "start_version": 380035
+        "version_range": {
+            "from": 380035,
+            "until": 385989
+        }
     },
     {
-        "end_version": 386784,
         "metadata": {
             "info": [],
             "title": "[cmake] By default do not build compiler-rt with PGO"
@@ -237,10 +260,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/20dfcf189d224e637377970318a021c81d2fbde0.patch",
-        "start_version": 380035
+        "version_range": {
+            "from": 380035,
+            "until": 386784
+        }
     },
     {
-        "end_version": 386785,
         "metadata": {
             "info": [],
             "title": "[cmake] Strip quotes in compiler-rt/lib/crt; error if checks fail"
@@ -249,10 +274,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/cfc3e7f458f8798782c01a0dadf872c60340c23e.patch",
-        "start_version": 380035
+        "version_range": {
+            "from": 380035,
+            "until": 386785
+        }
     },
     {
-        "end_version": 385452,
         "metadata": {
             "info": [],
             "title": "[Sema] Fix pointer-to-int-cast diagnostic for _Bool"
@@ -261,10 +288,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/56eb15a1c71061043d50aa669407816bc08dfb5d.patch",
-        "start_version": 384785
+        "version_range": {
+            "from": 384785,
+            "until": 385452
+        }
     },
     {
-        "end_version": 386665,
         "metadata": {
             "info": [],
             "title": "[Sema] Add -Wpointer-to-enum-cast and -Wvoid-pointer-to-enum-cast"
@@ -273,10 +302,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/2a41b31fcdfcb67ab7038fc2ffb606fd50b83a84.patch",
-        "start_version": 384785
+        "version_range": {
+            "from": 384785,
+            "until": 386665
+        }
     },
     {
-        "end_version": 386077,
         "metadata": {
             "info": [],
             "title": "[X86] Don't add DELETED_NODES to DAG combine worklist after calling"
@@ -285,10 +316,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/2f4f8fcf64c67ee327e19b74a82a2330cfb32312.patch",
-        "start_version": 385457
+        "version_range": {
+            "from": 385457,
+            "until": 386077
+        }
     },
     {
-        "end_version": 386151,
         "metadata": {
             "info": [],
             "title": "[ThinLTO/LowerTypeTests] Handle unpromoted local type ids"
@@ -297,10 +330,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/873c0d0786dcf22f4af39f65df824917f70f2170.patch",
-        "start_version": 384279
+        "version_range": {
+            "from": 384279,
+            "until": 386151
+        }
     },
     {
-        "end_version": 386180,
         "metadata": {
             "info": [],
             "title": "Revert Restore [WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP"
@@ -309,10 +344,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/80bf137fa132ea33204e98bbefa924afe9258a4e.patch",
-        "start_version": 384279
+        "version_range": {
+            "from": 384279,
+            "until": 386180
+        }
     },
     {
-        "end_version": 387212,
         "metadata": {
             "info": [],
             "title": "Revert Reland [DebugInfo] Enable the debug entry values feature by default"
@@ -321,10 +358,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/f82b32a51e22cc56d20f695772797127d3f9d85a.patch",
-        "start_version": 386806
+        "version_range": {
+            "from": 386806,
+            "until": 387212
+        }
     },
     {
-        "end_version": 385016,
         "metadata": {
             "info": [],
             "title": "[JumpThreading] Skip unconditional PredBB when threading jumps through two basic blocks"
@@ -333,10 +372,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/13a97305ba77f44eccba16087320c8aa016ac6da.patch",
-        "start_version": 383663
+        "version_range": {
+            "from": 383663,
+            "until": 385016
+        }
     },
     {
-        "end_version": 383972,
         "metadata": {
             "info": [],
             "title": "Revert \"[ARM] Improve codegen of volatile load/store of i64\""
@@ -345,10 +386,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/af2a38458197e07cbd03ea9446714008488826d8.patch",
-        "start_version": 380711
+        "version_range": {
+            "from": 380711,
+            "until": 383972
+        }
     },
     {
-        "end_version": 384124,
         "metadata": {
             "info": [],
             "title": "Revert \"[InstCombine][DebugInfo] Fold constants wrapped in metadata\""
@@ -357,10 +400,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/982944525c7706c4dee00042d5b7cf2f0d87804f.patch",
-        "start_version": 383041
+        "version_range": {
+            "from": 383041,
+            "until": 384124
+        }
     },
     {
-        "end_version": 385655,
         "metadata": {
             "info": [],
             "title": "Revert \"[LICM] Support hosting of dynamic allocas out of loops\""
@@ -369,10 +414,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/14845b2c459021e3dbf2ead52d707d4a7db40cbb.patch",
-        "start_version": 376772
+        "version_range": {
+            "from": 376772,
+            "until": 385655
+        }
     },
     {
-        "end_version": 386178,
         "metadata": {
             "info": [],
             "title": "Revert \"[clang] detect switch fallthrough marked by a comment (PR43465)\""
@@ -381,10 +428,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/c61401b89742f230b7e6a2cc0548fbf7442e906d.patch",
-        "start_version": 383396
+        "version_range": {
+            "from": 383396,
+            "until": 386178
+        }
     },
     {
-        "end_version": 387062,
         "metadata": {
             "info": [],
             "title": "[CUDA] Warn about unsupported CUDA SDK version only if it's used."
@@ -393,10 +442,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/eb2ba2ea953b5ea73cdbb598f77470bde1c6a011.patch",
-        "start_version": 382740
+        "version_range": {
+            "from": 382740,
+            "until": 387062
+        }
     },
     {
-        "end_version": 387801,
         "metadata": {
             "info": [],
             "title": "[DAGCombiner] Do not fold truncate(build_vector(..)) if it creates an illegal type"
@@ -405,10 +456,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/edcfb47ff6d5562e22207f364c65f84302aa346b.patch",
-        "start_version": 383902
+        "version_range": {
+            "from": 383902,
+            "until": 387801
+        }
     },
     {
-        "end_version": 391452,
         "metadata": {
             "info": [],
             "title": "Revert d437fba8ef626b6d8b7928540f630163a9b04021"
@@ -417,10 +470,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "revert-d437fba8ef626b6d8b7928540f630163a9b04021.patch",
-        "start_version": 383902
+        "version_range": {
+            "from": 383902,
+            "until": 391452
+        }
     },
     {
-        "end_version": 387810,
         "metadata": {
             "info": [],
             "title": "PR45181: Fix another invalid DIExpression combination"
@@ -429,10 +484,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/636665331bbd4c369a9f33c4d35fb9a863c94646.patch",
-        "start_version": 387675
+        "version_range": {
+            "from": 387675,
+            "until": 387810
+        }
     },
     {
-        "end_version": 387475,
         "metadata": {
             "info": [],
             "title": "[clang][AArch64] readd support for 'p' inline asm constraint"
@@ -441,10 +498,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/5d90f886bc022e7c9144a0ef08ea7ccde7e66030.patch",
-        "start_version": 387430
+        "version_range": {
+            "from": 387430,
+            "until": 387475
+        }
     },
     {
-        "end_version": 388672,
         "metadata": {
             "info": [],
             "title": "Revert \"[GISel]: Fix incorrect IRTranslation while translating null pointer types\""
@@ -453,10 +512,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/b8fc192d42af56b17b7d940e6c226f4969e0d851.patch",
-        "start_version": 328218
+        "version_range": {
+            "from": 328218,
+            "until": 388672
+        }
     },
     {
-        "end_version": 388144,
         "metadata": {
             "info": [],
             "title": "Revert \"Convert a reachable llvm_unreachable into an assert.\""
@@ -465,10 +526,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/7339fca25facb566e969b6ce01f23ac96499d574.patch",
-        "start_version": 386862
+        "version_range": {
+            "from": 386862,
+            "until": 388144
+        }
     },
     {
-        "end_version": 388115,
         "metadata": {
             "info": [],
             "title": "Revert \"Include static prof data when collecting loop BBs\""
@@ -477,10 +540,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/c3417592c847b8bd67deab21bbe6d62a49bde234.patch",
-        "start_version": 385160
+        "version_range": {
+            "from": 385160,
+            "until": 388115
+        }
     },
     {
-        "end_version": 387942,
         "metadata": {
             "info": [],
             "title": "Revert \"[FIX] Do not copy an llvm::function_ref if it has to be reused\""
@@ -489,10 +554,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/0d0b90105f92f6cd9cc7004d565834f4429183fb.patch",
-        "start_version": 384779
+        "version_range": {
+            "from": 384779,
+            "until": 387942
+        }
     },
     {
-        "end_version": 387904,
         "metadata": {
             "info": [],
             "title": "Revert \"EHScopeStack::Cleanup has virtual functions so the destructor should be too.\""
@@ -501,10 +568,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/b5eafda8d3ef02f9f78e090725564dd28e573322.patch",
-        "start_version": 386136
+        "version_range": {
+            "from": 386136,
+            "until": 387904
+        }
     },
     {
-        "end_version": 387882,
         "metadata": {
             "info": [],
             "title": "Revert rGe6a7e3b5e3e7 \"[X86][SSE] matchShuffleWithSHUFPD - add support for unary shuffles.\""
@@ -513,10 +582,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/f424d51c3e195de786204a93a9ccf6367bb26c8e.patch",
-        "start_version": 386843
+        "version_range": {
+            "from": 386843,
+            "until": 387882
+        }
     },
     {
-        "end_version": 387755,
         "metadata": {
             "info": [],
             "title": "Revert \"Generate Callee Saved Register (CSR) related cfi directives like .cfi_restore.\""
@@ -525,10 +596,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/a035726e5aae18bb9be1e61d9aef2a102c3b33ba.patch",
-        "start_version": 386407
+        "version_range": {
+            "from": 386407,
+            "until": 387755
+        }
     },
     {
-        "end_version": 387517,
         "metadata": {
             "info": [],
             "title": "Revert \"Avoid emitting unreachable SP adjustments after `throw`\""
@@ -537,10 +610,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/4e0fe038f438ae1679eae9e156e1f248595b2373.patch",
-        "start_version": 386616
+        "version_range": {
+            "from": 386616,
+            "until": 387517
+        }
     },
     {
-        "end_version": 393974,
         "metadata": {
             "info": [],
             "title": "Revert \"[ARM] Improve codegen of volatile load/store of i64\""
@@ -549,10 +624,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/872ee78f65f47fae19d4f8db7396eb56d902aef1.patch",
-        "start_version": 386906
+        "version_range": {
+            "from": 386906,
+            "until": 393974
+        }
     },
     {
-        "end_version": 394897,
         "metadata": {
             "info": [],
             "title": "[LV] Make sure the MaxVF is a power-of-2 by rounding down."
@@ -561,10 +638,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/b446ec56a2987ba02dc2c80d42100be4a4689215.patch",
-        "start_version": 394115
+        "version_range": {
+            "from": 394115,
+            "until": 394897
+        }
     },
     {
-        "end_version": 391929,
         "metadata": {
             "info": [],
             "title": "[ELF] --gdb-index: support .debug_loclists"
@@ -573,10 +652,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/1ccde533425a4ba9d379510206ad680ff9702129.patch",
-        "start_version": 391452
+        "version_range": {
+            "from": 391452,
+            "until": 391929
+        }
     },
     {
-        "end_version": 400503,
         "metadata": {
             "info": [],
             "title": "[JumpThreading] ProcessBranchOnXOR(): bailout if any pred ends in indirect branch (PR46857)"
@@ -585,10 +666,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/1da9834557cd4302a5183b8228ce063e69f82602.patch",
-        "start_version": 398304
+        "version_range": {
+            "from": 398304,
+            "until": 400503
+        }
     },
     {
-        "end_version": 401013,
         "metadata": {
             "info": [],
             "title": "Fix a crash when the sample profile uses md5 and -sample-profile-merge-inlinee is enabled."
@@ -597,10 +680,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/836991d3676fda06d0f07c816ba855c8a0c3e0aa.patch",
-        "start_version": 398649
+        "version_range": {
+            "from": 398649,
+            "until": 401013
+        }
     },
     {
-        "end_version": 401056,
         "metadata": {
             "info": [],
             "title": "[AutoFDO] Avoid merging inlinee samples multiple times"
@@ -609,10 +694,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/d23c1d6a8dddf0e1b9b9fa64726941e402ede8af.patch",
-        "start_version": 398649
+        "version_range": {
+            "from": 398649,
+            "until": 401056
+        }
     },
     {
-        "end_version": 401838,
         "metadata": {
             "info": [],
             "title": "[ELF]: --icf: don't fold sections referencing sections with LCDA after D84610"
@@ -621,10 +708,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/164a02d0fa461c623446bb5e3ee15516bcfad13c.patch",
-        "start_version": 401512
+        "version_range": {
+            "from": 401512,
+            "until": 401838
+        }
     },
     {
-        "end_version": 401875,
         "metadata": {
             "info": [],
             "title": "[ELF] Support .cfi_signal_frame"
@@ -633,10 +722,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/d30d46193876102a6bc99b527dfaf79be4b09515.patch",
-        "start_version": 401512
+        "version_range": {
+            "from": 401512,
+            "until": 401875
+        }
     },
     {
-        "end_version": 401725,
         "metadata": {
             "info": [],
             "title": "[msan] Support %ms in scanf."
@@ -645,10 +736,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/aa57cabae2fc5abc08ab3e17b45f2890fc7c9e42.patch",
-        "start_version": 394483
+        "version_range": {
+            "from": 394483,
+            "until": 401725
+        }
     },
     {
-        "end_version": 401729,
         "metadata": {
             "info": [],
             "title": "[ELF] Change tombstone values to (.debug_ranges/.debug_loc) 1 and (other .debug_*) 0"
@@ -657,10 +750,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/004be4037e1e9c6092323c5c9268acb3ecf9176c.patch",
-        "start_version": 397144
+        "version_range": {
+            "from": 397144,
+            "until": 401729
+        }
     },
     {
-        "end_version": 398009,
         "metadata": {
             "info": [],
             "title": "Implement AVX ABI Warning/error"
@@ -669,10 +764,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/2831a317b689c7f005a29f008a8e4c24485c0711.patch",
-        "start_version": 394483
+        "version_range": {
+            "from": 394483,
+            "until": 398009
+        }
     },
     {
-        "end_version": 401010,
         "metadata": {
             "info": [],
             "title": "Make a test case more flexible on Windows wrt the number of backslashes."
@@ -681,10 +778,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/9f0225894254c4706519c85d6fc06c5382903fef.patch",
-        "start_version": 400963
+        "version_range": {
+            "from": 400963,
+            "until": 401010
+        }
     },
     {
-        "end_version": 401024,
         "metadata": {
             "info": [],
             "title": "Revert \"[ELF] Add --dependency-file option\""
@@ -693,10 +792,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/0bd918c828feb599b278c1876a33caa9c295be6a.patch",
-        "start_version": 400963
+        "version_range": {
+            "from": 400963,
+            "until": 401024
+        }
     },
     {
-        "end_version": 400648,
         "metadata": {
             "info": [],
             "title": "Revert \"Switch to using -debug-info-kind=constructor as default (from =limited)\""
@@ -705,10 +806,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/394db2259575ef3cac8d3d37836b11eb2373c435.patch",
-        "start_version": 398830
+        "version_range": {
+            "from": 398830,
+            "until": 400648
+        }
     },
     {
-        "end_version": 399711,
         "metadata": {
             "info": [],
             "title": "[InstCombine] Add test for PR46680 (NFC)"
@@ -717,10 +820,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/13ae440de4a408cf9d1a448def09769ecbecfdf7.patch",
-        "start_version": 398993
+        "version_range": {
+            "from": 398993,
+            "until": 399711
+        }
     },
     {
-        "end_version": 399722,
         "metadata": {
             "info": [],
             "title": "[InstCombine] Fix store merge worklist management (PR46680)"
@@ -729,10 +834,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/d12ec0f752e7f2c7f7252539da2d124264ec33f7.patch",
-        "start_version": 398993
+        "version_range": {
+            "from": 398993,
+            "until": 399722
+        }
     },
     {
-        "end_version": 399726,
         "metadata": {
             "info": [],
             "title": "Reland \"[InstCombine] Lower infinite combine loop detection thresholds\""
@@ -741,10 +848,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/2f3862eb9f21e8a0d48505637fefe6e5e295c18c.patch",
-        "start_version": 398993
+        "version_range": {
+            "from": 398993,
+            "until": 399726
+        }
     },
     {
-        "end_version": 399661,
         "metadata": {
             "info": [],
             "title": "Revert \"[AddressSanitizer] Don't use weak linkage for __{start,stop}_asan_globals\""
@@ -753,10 +862,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/cf5df40c4cf1a53a02ab1d56a488642e3dda8f6d.patch",
-        "start_version": 395282
+        "version_range": {
+            "from": 395282,
+            "until": 399661
+        }
     },
     {
-        "end_version": 399218,
         "metadata": {
             "info": [],
             "title": "Revert \"[SCEV][IndVarSimplify] insert point should not be block front.\""
@@ -765,10 +876,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/1cd1c1d62edc6693a3854b22d53c9bbc1b149798.patch",
-        "start_version": 398848
+        "version_range": {
+            "from": 398848,
+            "until": 399218
+        }
     },
     {
-        "end_version": 399140,
         "metadata": {
             "info": [],
             "title": "Revert \"[InstCombine] Drop debug loc in TryToSinkInstruction (reland)\""
@@ -777,10 +890,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/3d52b1e81b7b3891d9132d826d4889119fad7d00.patch",
-        "start_version": 397614
+        "version_range": {
+            "from": 397614,
+            "until": 399140
+        }
     },
     {
-        "end_version": 398603,
         "metadata": {
             "info": [],
             "title": "[DWARF] Add cuttoff guarding quadratic validThroughout behaviour"
@@ -789,10 +904,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/b9d977b0ca60c54f11615ca9d144c9f08b29fd85.patch",
-        "start_version": 398603
+        "version_range": {
+            "from": 398603,
+            "until": 398603
+        }
     },
     {
-        "end_version": 402778,
         "metadata": {
             "info": [],
             "title": "PR44685: DebugInfo: Handle address-use-invalid type units referencing non-type units"
@@ -801,10 +918,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/be3ef93bf58aa5546c7baadfb21d43b75fbb4e24.patch",
-        "start_version": 394483
+        "version_range": {
+            "from": 394483,
+            "until": 402778
+        }
     },
     {
-        "end_version": 401652,
         "metadata": {
             "info": [],
             "title": "[GlobalISel][InlineAsm] Fix matching input constraint to physreg"
@@ -813,10 +932,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/d893278bba01b0e1209e8b8accbdd5cfa75a0932.patch",
-        "start_version": 399163
+        "version_range": {
+            "from": 399163,
+            "until": 401652
+        }
     },
     {
-        "end_version": 402304,
         "metadata": {
             "info": [],
             "title": "PR47138: Don't crash if the preferred alignment of an invalid record type is requested."
@@ -825,10 +946,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/269bc3f5df6c3b75de515a48063c6941ef8fbbe6.patch",
-        "start_version": 400541
+        "version_range": {
+            "from": 400541,
+            "until": 402304
+        }
     },
     {
-        "end_version": 405976,
         "metadata": {
             "info": [],
             "title": "Revert \"Canonicalize declaration pointers when forming APValues.\""
@@ -837,10 +960,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/15d94a7d0f8f0d6b3b5308fff51b286957e45650.patch",
-        "start_version": 405408
+        "version_range": {
+            "from": 405408,
+            "until": 405976
+        }
     },
     {
-        "end_version": 404294,
         "metadata": {
             "info": [],
             "title": "Revert \"Canonicalize declaration pointers when forming APValues.\""
@@ -849,10 +974,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/7b0332389afd705f46b02fcf87ec3414b8dece34.patch",
-        "start_version": 404252
+        "version_range": {
+            "from": 404252,
+            "until": 404294
+        }
     },
     {
-        "end_version": 399458,
         "metadata": {
             "info": [],
             "title": "Remove TwoAddressInstructionPass::sink3AddrInstruction."
@@ -861,10 +988,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/60433c63acb71935111304d71e41b7ee982398f8.patch",
-        "start_version": 398032
+        "version_range": {
+            "from": 398032,
+            "until": 399458
+        }
     },
     {
-        "end_version": 399638,
         "metadata": {
             "info": [],
             "title": "[llvm] Add contains(KeyType) -> bool methods to SmallPtrSet"
@@ -873,10 +1002,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/a0385bd7acd6e1d16224b4257f4cb50e59f1d75e.patch",
-        "start_version": 398032
+        "version_range": {
+            "from": 398032,
+            "until": 399638
+        }
     },
     {
-        "end_version": 407147,
         "metadata": {
             "info": [],
             "title": "Revert \"Outline non returning functions unless a longjmp\""
@@ -885,10 +1016,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/9afb1c566e8cb396da495e2fbbbc53e1814cc3a1.patch",
-        "start_version": 401139
+        "version_range": {
+            "from": 401139,
+            "until": 407147
+        }
     },
     {
-        "end_version": 404489,
         "metadata": {
             "info": [],
             "title": "Reland [SimplifyCFG][LoopRotate] SimplifyCFG: disable common instruction hoisting by default, enable late in pipeline"
@@ -897,10 +1030,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/bb7d3af1139c36270bc9948605e06f40e4c51541.patch",
-        "start_version": 403178
+        "version_range": {
+            "from": 403178,
+            "until": 404489
+        }
     },
     {
-        "end_version": 405159,
         "metadata": {
             "info": [],
             "title": "Revert \"RegAllocFast: Record internal state based on register units\""
@@ -909,10 +1044,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/a21387c65470417c58021f8d3194a4510bb64f46.patch",
-        "start_version": 404250
+        "version_range": {
+            "from": 404250,
+            "until": 405159
+        }
     },
     {
-        "end_version": 404300,
         "metadata": {
             "info": [],
             "title": "[NFC][Asan] Rename internal enum value."
@@ -921,10 +1058,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/99a93c3a223e3bfc9a9781bfbf98d2fd4551f923.patch",
-        "start_version": 404249
+        "version_range": {
+            "from": 404249,
+            "until": 404300
+        }
     },
     {
-        "end_version": 404300,
         "metadata": {
             "info": [],
             "title": "[NFC][Asan] Inline enum doc strings"
@@ -933,10 +1072,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/a9c0bf04043462d43013bc5616aa48f6d3e16b88.patch",
-        "start_version": 404249
+        "version_range": {
+            "from": 404249,
+            "until": 404300
+        }
     },
     {
-        "end_version": 404300,
         "metadata": {
             "info": [],
             "title": "[NFC][Asan] Reformat some allocator code"
@@ -945,10 +1086,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/48ac5b4833b60f00f0923db11ea31e7316bc78c6.patch",
-        "start_version": 404249
+        "version_range": {
+            "from": 404249,
+            "until": 404300
+        }
     },
     {
-        "end_version": 404300,
         "metadata": {
             "info": [],
             "title": "Revert \"[Asan] Cleanup atomic usage in allocator\""
@@ -957,10 +1100,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/dbf04aaade235a0d76c6ad549c091c9fd0ada0e8.patch",
-        "start_version": 404249
+        "version_range": {
+            "from": 404249,
+            "until": 404300
+        }
     },
     {
-        "end_version": 409407,
         "metadata": {
             "info": [],
             "title": "[Sema] adds basic -Wfree-nonheap-object functionality"
@@ -969,10 +1114,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/425a83a5f069eb1a692145d2c92e6d3bfe564a62.patch",
-        "start_version": 399094
+        "version_range": {
+            "from": 399094,
+            "until": 409407
+        }
     },
     {
-        "end_version": 409842,
         "metadata": {
             "info": [],
             "title": "[Sema] adds -Wfree-nonheap-object member var checks"
@@ -981,10 +1128,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/ba18bc4925d8cbd4a9354629617cbcafbbd48941.patch",
-        "start_version": 399094
+        "version_range": {
+            "from": 399094,
+            "until": 409842
+        }
     },
     {
-        "end_version": 405613,
         "metadata": {
             "info": [],
             "title": "PR47468: Fix findPHICopyInsertPoint, so that copies aren't incorrectly inserted after an INLINEASM_BR."
@@ -993,10 +1142,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/f7a53d82c0902147909f28a9295a9d00b4b27d38.patch",
-        "start_version": 398032
+        "version_range": {
+            "from": 398032,
+            "until": 405613
+        }
     },
     {
-        "end_version": 407943,
         "metadata": {
             "info": [],
             "title": "[Driver]: fix compiler-rt path when printing libgcc for baremetal"
@@ -1005,10 +1156,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/18432bea764863d1c42fd569bd3846673ee4e802.patch",
-        "start_version": 399094
+        "version_range": {
+            "from": 399094,
+            "until": 407943
+        }
     },
     {
-        "end_version": 408784,
         "metadata": {
             "info": [],
             "title": "[Inliner] Run always-inliner in inliner-wrapper"
@@ -1017,10 +1170,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/0291e2c9330930bd74bfb8206cf6447a84bf492c.patch",
-        "start_version": 399094
+        "version_range": {
+            "from": 399094,
+            "until": 408784
+        }
     },
     {
-        "end_version": 408314,
         "metadata": {
             "info": [],
             "title": "Fix compiler-rt build on Windows after D89640"
@@ -1029,10 +1184,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/a7acee89d68473183cc5021d952a56cdf0ae27d3.patch",
-        "start_version": 408224
+        "version_range": {
+            "from": 408224,
+            "until": 408314
+        }
     },
     {
-        "end_version": 408400,
         "metadata": {
             "info": [],
             "title": "Revert \"[Sanitizers] Remove OpenBSD support\" + 1"
@@ -1041,10 +1198,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/7ecd60bb7022bb681b9dc01a9c232fd93b4b169c.patch",
-        "start_version": 408224
+        "version_range": {
+            "from": 408224,
+            "until": 408400
+        }
     },
     {
-        "end_version": 408302,
         "metadata": {
             "info": [],
             "title": "Revert \"[PM/CC1] Add -f[no-]split-cold-code CC1 option to toggle splitting\""
@@ -1053,10 +1212,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/0628bea5137047232f37c94b74bf26aa9b55f605.patch",
-        "start_version": 408079
+        "version_range": {
+            "from": 408079,
+            "until": 408302
+        }
     },
     {
-        "end_version": 436311,
         "metadata": {
             "info": [],
             "title": "clang: disable assert for DK_Linker diagnostics"
@@ -1065,10 +1226,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "disable-dk_linker-assert.patch",
-        "start_version": 399095
+        "version_range": {
+            "from": 399095,
+            "until": 436311
+        }
     },
     {
-        "end_version": 408442,
         "metadata": {
             "info": [],
             "title": "Revert \"[ARM][LowOverheadLoops] Adjust Start insertion.\""
@@ -1077,10 +1240,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/6dcbc323fd8778ba6db1c4e76c809f93fc82efc5.patch",
-        "start_version": 406792
+        "version_range": {
+            "from": 406792,
+            "until": 408442
+        }
     },
     {
-        "end_version": 408654,
         "metadata": {
             "info": [],
             "title": "Revert several changes related to llvm-symbolizer exiting non-zero on failure."
@@ -1089,10 +1254,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/a67d164a82bc535025bb65736ee4e5f381500ed8.patch",
-        "start_version": 407995
+        "version_range": {
+            "from": 407995,
+            "until": 408654
+        }
     },
     {
-        "end_version": 408753,
         "metadata": {
             "info": [],
             "title": "Revert \"[CodeExtractor] Don't create bitcasts when inserting lifetime markers (NFCI)\""
@@ -1101,10 +1268,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/099bffe7f7df41d66195ce33e91888a4a16c6b4a.patch",
-        "start_version": 406638
+        "version_range": {
+            "from": 406638,
+            "until": 408753
+        }
     },
     {
-        "end_version": 408780,
         "metadata": {
             "info": [],
             "title": "Revert \"[MBP] Add whole chain to BlockFilterSet instead of individual BB\""
@@ -1113,10 +1282,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/e42f6c0ac05bae37be8e2a5fd8861773646eae1b.patch",
-        "start_version": 407951
+        "version_range": {
+            "from": 407951,
+            "until": 408780
+        }
     },
     {
-        "end_version": 408846,
         "metadata": {
             "info": [],
             "title": "Revert \"[Statepoints] Allow deopt GC pointer on VReg if gc-live bundle is empty.\""
@@ -1125,10 +1296,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/4f7ee55971e7f7a27af69c501e4b395c4079decb.patch",
-        "start_version": 407564
+        "version_range": {
+            "from": 407564,
+            "until": 408846
+        }
     },
     {
-        "end_version": 409948,
         "metadata": {
             "info": [],
             "title": "Revert \"[CodeGen] [WinException] Only produce handler data at the end of the function if needed\""
@@ -1137,10 +1310,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/cbf25fbed5b46ec47e3ce2799ed9095f2f18ea8f.patch",
-        "start_version": 405820
+        "version_range": {
+            "from": 405820,
+            "until": 409948
+        }
     },
     {
-        "end_version": 410801,
         "metadata": {
             "info": [],
             "title": "Revert \"Reland [CFGuard] Add address-taken IAT tables and delay-load support\""
@@ -1149,10 +1324,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/418f18c6cdfe56e77669e2f4d3df3bca1020156d.patch",
-        "start_version": 407828
+        "version_range": {
+            "from": 407828,
+            "until": 410801
+        }
     },
     {
-        "end_version": 412204,
         "metadata": {
             "info": [],
             "title": "Revert \"[DebugInfo] Improve dbg preservation in LSR.\""
@@ -1161,10 +1338,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/808fcfe5944755f08ae88722070302fcf9135e58.patch",
-        "start_version": 407380
+        "version_range": {
+            "from": 407380,
+            "until": 412204
+        }
     },
     {
-        "end_version": 414416,
         "metadata": {
             "info": [],
             "title": "Revert \"[AMDGPU][HIP] Switch default DWARF version to 5\""
@@ -1173,10 +1352,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/ffba47df76460905965df4b54cf6ba945d2eb1ce.patch",
-        "start_version": 408148
+        "version_range": {
+            "from": 408148,
+            "until": 414416
+        }
     },
     {
-        "end_version": 414302,
         "metadata": {
             "info": [],
             "title": "[ARM] Implement harden-sls-retbr for ARM mode"
@@ -1185,10 +1366,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/195f44278c4361a4a32377a98a1e3a15203d3647.patch",
-        "start_version": 412851
+        "version_range": {
+            "from": 412851,
+            "until": 414302
+        }
     },
     {
-        "end_version": 414304,
         "metadata": {
             "info": [],
             "title": "[ARM] Implement harden-sls-retbr for Thumb mode"
@@ -1197,10 +1380,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/320fd3314e378ae6242a2dde97250a8a94d68e27.patch",
-        "start_version": 412851
+        "version_range": {
+            "from": 412851,
+            "until": 414304
+        }
     },
     {
-        "end_version": 414305,
         "metadata": {
             "info": [],
             "title": "[ARM] Harden indirect calls against SLS"
@@ -1209,10 +1394,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/a4c1f5160e6d1de9a9959ecbf329c2acf4f3ed31.patch",
-        "start_version": 412851
+        "version_range": {
+            "from": 412851,
+            "until": 414305
+        }
     },
     {
-        "end_version": 414306,
         "metadata": {
             "info": [],
             "title": "[ARM] harden-sls-blr: avoid r12 and lr in indirect calls."
@@ -1221,10 +1408,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/df8ed3928377edc6e9241a56680b694ffa9f4d6d.patch",
-        "start_version": 412851
+        "version_range": {
+            "from": 412851,
+            "until": 414306
+        }
     },
     {
-        "end_version": 414307,
         "metadata": {
             "info": [],
             "title": "[ARM] Add clang command line support for -mharden-sls="
@@ -1233,10 +1422,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/9c895aea118a2f50ca8413372363c3ff6ecc21bf.patch",
-        "start_version": 412851
+        "version_range": {
+            "from": 412851,
+            "until": 414307
+        }
     },
     {
-        "end_version": 415982,
         "metadata": {
             "info": [],
             "title": "[Driver] -gsplit-dwarf: Produce .dwo regardless of -gN for -fthinlto-index="
@@ -1245,10 +1436,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/53b34601abf1d48e8df210ab8127b16fd35e275a.patch",
-        "start_version": 413220
+        "version_range": {
+            "from": 413220,
+            "until": 415982
+        }
     },
     {
-        "end_version": 416525,
         "metadata": {
             "info": [],
             "title": "Revert \"[clang] Change builtin object size when subobject is invalid\""
@@ -1257,10 +1450,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/b270fd59f0a86fe737853abc43e76b9d29a67eea.patch",
-        "start_version": 415398
+        "version_range": {
+            "from": 415398,
+            "until": 416525
+        }
     },
     {
-        "end_version": 416715,
         "metadata": {
             "info": [],
             "title": "[ARM] Adjust isSaturatingConditional to return a new SDValue. NFC"
@@ -1269,10 +1464,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/9ae73cdbc1e59fd3149e60efd2b96e68e8d1669b.patch",
-        "start_version": 405885
+        "version_range": {
+            "from": 405885,
+            "until": 416715
+        }
     },
     {
-        "end_version": 416728,
         "metadata": {
             "info": [],
             "title": "[ARM] Disable sign extended SSAT pattern recognition."
@@ -1281,10 +1478,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/af0332498405b3a4074cef09845bbacfd4fd594f.patch",
-        "start_version": 405885
+        "version_range": {
+            "from": 405885,
+            "until": 416728
+        }
     },
     {
-        "end_version": 417334,
         "metadata": {
             "info": [],
             "title": "[ARM][RegisterScavenging] Don't consider LR liveout if it is not reloaded"
@@ -1293,10 +1492,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/b9ed8ebe0e2ffa803b0bda60f9bbc9bb26f95000.patch",
-        "start_version": 412851
+        "version_range": {
+            "from": 412851,
+            "until": 417334
+        }
     },
     {
-        "end_version": 417900,
         "metadata": {
             "info": [],
             "title": "Revert \"[ConstantFold] Fold more operations to poison\""
@@ -1305,10 +1506,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/06829034ca64b8c83a5b20d8abe5ddbfe7af0004.patch",
-        "start_version": 412851
+        "version_range": {
+            "from": 412851,
+            "until": 417900
+        }
     },
     {
-        "end_version": 418036,
         "metadata": {
             "info": [],
             "title": "[ELF] Allow R_386_GOTOFF from .debug_info"
@@ -1317,10 +1520,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/b3165a70ae83b46dc145f335dfa9690ece361e92.patch",
-        "start_version": 412851
+        "version_range": {
+            "from": 412851,
+            "until": 418036
+        }
     },
     {
-        "end_version": 414124,
         "metadata": {
             "info": [],
             "title": "[Clang] Make nomerge attribute a function attribute as well as a statement attribute."
@@ -1329,10 +1534,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/fb0f7288051eb2745bb9211306f53ff9aa6f73e2.patch",
-        "start_version": 412851
+        "version_range": {
+            "from": 412851,
+            "until": 414124
+        }
     },
     {
-        "end_version": 414886,
         "metadata": {
             "info": [],
             "title": "test file update for e53bbd9951"
@@ -1341,10 +1548,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "test-nomerge-fd739804e0591468762eb87488a497a3f7d4afb0.patch",
-        "start_version": 412851
+        "version_range": {
+            "from": 412851,
+            "until": 414886
+        }
     },
     {
-        "end_version": 415826,
         "metadata": {
             "info": [],
             "title": "[IR] move nomerge attribute from function declaration/definition to callsites"
@@ -1353,10 +1562,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/e53bbd99516fc7b612df1ae08d48288d0b8784ea.patch",
-        "start_version": 412851
+        "version_range": {
+            "from": 412851,
+            "until": 415826
+        }
     },
     {
-        "end_version": 418870,
         "metadata": {
             "info": [],
             "title": "[llvm-objcopy] preserve file ownership when overwritten by root"
@@ -1365,10 +1576,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/c2a84771bb63947695ea50b89160c02b36fb634d.patch",
-        "start_version": 412851
+        "version_range": {
+            "from": 412851,
+            "until": 418870
+        }
     },
     {
-        "end_version": 418680,
         "metadata": {
             "info": [],
             "title": "[clang][Arm] Fix handling of -Wa,-implicit-it="
@@ -1377,10 +1590,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/a680bc3a31d36d321ccf3801bdcff74d58842bfa.patch",
-        "start_version": 412851
+        "version_range": {
+            "from": 412851,
+            "until": 418680
+        }
     },
     {
-        "end_version": 418542,
         "metadata": {
             "info": [],
             "title": "[Thumb2] support `movs pc, lr` alias for `subs pc, lr, #0`/`eret`"
@@ -1389,10 +1604,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/68945a8686708c6e4c74b9aeb231b8c4e1731181.patch",
-        "start_version": 412851
+        "version_range": {
+            "from": 412851,
+            "until": 418542
+        }
     },
     {
-        "end_version": 418022,
         "metadata": {
             "info": [],
             "title": "[clang][Arm] Fix handling of -Wa,-march="
@@ -1401,10 +1618,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/1d51c699b9e2ebc5bcfdbe85c74cc871426333d4.patch",
-        "start_version": 412851
+        "version_range": {
+            "from": 412851,
+            "until": 418022
+        }
     },
     {
-        "end_version": 418887,
         "metadata": {
             "info": [],
             "title": "[X86] Add reduced test case for PR49162"
@@ -1413,10 +1632,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/5ca3ef98a71598d368f6f4aaf0b385b50b67ce4a.patch",
-        "start_version": 416609
+        "version_range": {
+            "from": 416609,
+            "until": 418887
+        }
     },
     {
-        "end_version": 418889,
         "metadata": {
             "info": [],
             "title": "[DAG] Fix shift amount limit in SimplifyDemandedBits trunc(shift(x,c)) to truncated bitwidth"
@@ -1425,10 +1646,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/7ad0c573bd4a68dc81886037457d47daa3d6aa24.patch",
-        "start_version": 416609
+        "version_range": {
+            "from": 416609,
+            "until": 418889
+        }
     },
     {
-        "end_version": 418289,
         "metadata": {
             "info": [],
             "title": "Revert \"[Sema] Fix -Warray-bounds false negative when casting an out-of-bounds array item\""
@@ -1437,10 +1660,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/9083d0a40d980928f2f45236a4616528a7ab19ce.patch",
-        "start_version": 417894
+        "version_range": {
+            "from": 417894,
+            "until": 418289
+        }
     },
     {
-        "end_version": 416636,
         "metadata": {
             "info": [],
             "title": "[CUDA] Normalize handling of defauled dtor."
@@ -1449,10 +1674,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/127091bfd5edf10495fee4724fd21c666e5d79c1.patch",
-        "start_version": 416183
+        "version_range": {
+            "from": 416183,
+            "until": 416636
+        }
     },
     {
-        "end_version": 420106,
         "metadata": {
             "info": [],
             "title": "[Utils] collectBitParts - bail for integers > 128-bits"
@@ -1461,10 +1688,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/455d43b951ae31dac133a8650532797f01343a36.patch",
-        "start_version": 419881
+        "version_range": {
+            "from": 419881,
+            "until": 420106
+        }
     },
     {
-        "end_version": 417956,
         "metadata": {
             "info": [],
             "title": "[libc++] [P0879] constexpr std::sort"
@@ -1473,10 +1702,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/493f1407927cdf6db2e08f150ed9f9b8abe4ac45.patch",
-        "start_version": 417943
+        "version_range": {
+            "from": 417943,
+            "until": 417956
+        }
     },
     {
-        "end_version": 417837,
         "metadata": {
             "info": [],
             "title": "Disable CFI in __get_elem to allow casting a pointer to uninitialized memory"
@@ -1485,10 +1716,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/bab74864168bb5e28ecbc0294fe1095d8da7f569.patch",
-        "start_version": 415517
+        "version_range": {
+            "from": 415517,
+            "until": 417837
+        }
     },
     {
-        "end_version": 418174,
         "metadata": {
             "info": [],
             "title": "[libc++] Further improve the contiguous-iterator story, and fix some bugs."
@@ -1497,10 +1730,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/85167fb7c2920ca8874b197ef397e8e6b9d87c73.patch",
-        "start_version": 417943
+        "version_range": {
+            "from": 417943,
+            "until": 418174
+        }
     },
     {
-        "end_version": 417053,
         "metadata": {
             "info": [],
             "title": "Restore GNU , ## __VA_ARGS__ behavior in MSVC mode"
@@ -1509,10 +1744,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/b43c26d036dcbf7a6881f39e4434cf059364022a.patch",
-        "start_version": 416931
+        "version_range": {
+            "from": 416931,
+            "until": 417053
+        }
     },
     {
-        "end_version": 417272,
         "metadata": {
             "info": [],
             "title": "Revert \"Suppress non-conforming GNU paste extension in all standard-conforming modes\""
@@ -1521,10 +1758,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/61a66e4b5ec18e9e73c2f6334f6b7f7dd4bca77e.patch",
-        "start_version": 416931
+        "version_range": {
+            "from": 416931,
+            "until": 417272
+        }
     },
     {
-        "end_version": 419929,
         "metadata": {
             "info": [],
             "title": "[llvm-objcopy] If input=output, preserve umask bits, otherwise drop S_ISUID/S_ISGID bits"
@@ -1533,10 +1772,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/17b4e695ce0ef89eac4a37df2df49d4c0e700766.patch",
-        "start_version": 412851
+        "version_range": {
+            "from": 412851,
+            "until": 419929
+        }
     },
     {
-        "end_version": 420477,
         "metadata": {
             "info": [],
             "title": "[libunwind] [risc-v] This patch is for fixing immediate build failure when Cross Unwinding enabled. Follow up patch will cleanup some Macros handling."
@@ -1545,10 +1786,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/5c3fc5093aaf7d9422459d295eb4eb769abcbaa4.patch",
-        "start_version": 420365
+        "version_range": {
+            "from": 420365,
+            "until": 420477
+        }
     },
     {
-        "end_version": 417022,
         "metadata": {
             "info": [],
             "title": "[GVN] do not repeat PRE on failure to split critical edge"
@@ -1557,10 +1800,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/d36812892c16b551f058774babbc8727737f80cd.patch",
-        "start_version": 416183
+        "version_range": {
+            "from": 416183,
+            "until": 417022
+        }
     },
     {
-        "end_version": 420692,
         "metadata": {
             "info": [],
             "title": "[clang] removes check against integral-to-pointer conversion..."
@@ -1569,10 +1814,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/9830901b341cfb884cdef00e0335c6e3e62d107a.patch",
-        "start_version": 420025
+        "version_range": {
+            "from": 420025,
+            "until": 420692
+        }
     },
     {
-        "end_version": 415620,
         "metadata": {
             "info": [],
             "title": "[NFCI][SimplifyCFG] Prefer to add Insert edges before Delete edges into DomTreeUpdater, if reasonable"
@@ -1581,10 +1828,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/8e8d214c4a6c417e42996faeb9211a5c2e32111f.patch",
-        "start_version": 415439
+        "version_range": {
+            "from": 415439,
+            "until": 415620
+        }
     },
     {
-        "end_version": 418243,
         "metadata": {
             "info": [],
             "title": "[Transforms/Utils] Use range-based for loops (NFC)"
@@ -1593,10 +1842,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/be23012d5a84fefdb6d0a267f9ffb4bafb4804d7.patch",
-        "start_version": 415439
+        "version_range": {
+            "from": 415439,
+            "until": 418243
+        }
     },
     {
-        "end_version": 418586,
         "metadata": {
             "info": [],
             "title": "ValueMapper: Rename RF_MoveDistinctMDs => RF_ReuseAndMutateDistinctMDs, NFC"
@@ -1605,10 +1856,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/fa35c1f80f0ea080a7cbc581416929b0a654f25c.patch",
-        "start_version": 415439
+        "version_range": {
+            "from": 415439,
+            "until": 418586
+        }
     },
     {
-        "end_version": 419003,
         "metadata": {
             "info": [],
             "title": "TransformUtils: Fix metadata handling in CloneModule (and improve CloneFunctionInto)"
@@ -1617,10 +1870,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/22a52dfddcefad4f275eb8ad1cc0e200074c2d8a.patch",
-        "start_version": 415439
+        "version_range": {
+            "from": 415439,
+            "until": 419003
+        }
     },
     {
-        "end_version": 419941,
         "metadata": {
             "info": [],
             "title": "Transforms: Clone distinct nodes in metadata mapper unless RF_ReuseAndMutateDistinctMDs"
@@ -1629,10 +1884,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/01701646d5555409a6fad920f0e4801d79c154ea.patch",
-        "start_version": 415439
+        "version_range": {
+            "from": 415439,
+            "until": 419941
+        }
     },
     {
-        "end_version": 416430,
         "metadata": {
             "info": [],
             "title": "Revert \"[SLP]Merge reorder and reuse shuffles.\""
@@ -1641,10 +1898,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/e463bd53c03ff9183bd30030477dfe6f3b2fdd0c.patch",
-        "start_version": 413046
+        "version_range": {
+            "from": 413046,
+            "until": 416430
+        }
     },
     {
-        "end_version": 424173,
         "metadata": {
             "info": [],
             "title": "Fix chrome os failure after 021de7cf80268091cf13485a538b611b37d0b33e."
@@ -1653,10 +1912,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/ee8a5e4bc2c986b8e6c07e81fb58dc1e5a5c2d17.patch",
-        "start_version": 421934
+        "version_range": {
+            "from": 421934,
+            "until": 424173
+        }
     },
     {
-        "end_version": null,
         "metadata": {
             "info": [],
             "title": "Fixes clang.elf calling clang.elf because direct\ncalls to clang.elf misses all environment setup in clang\nwrapper. Calls to clang wrapper instead of clang.elf binary"
@@ -1665,10 +1926,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "llvm-11.0-invocation.patch",
-        "start_version": 420001
+        "version_range": {
+            "from": 420001,
+            "until": null
+        }
     },
     {
-        "end_version": 423928,
         "metadata": {
             "info": [],
             "title": "Revert \"Reduce the number of attributes attached to each function\""
@@ -1677,10 +1940,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/2cb8c10342ee5d040725abb1166feb92a64c7df6.patch",
-        "start_version": 419850
+        "version_range": {
+            "from": 419850,
+            "until": 423928
+        }
     },
     {
-        "end_version": 422916,
         "metadata": {
             "info": [],
             "title": "Revert \"[ArgPromotion] Copy additional metadata for loads.\""
@@ -1689,10 +1954,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/4622648a069a988d3b7b3ecd3f1b6993518d85b5.patch",
-        "start_version": 421649
+        "version_range": {
+            "from": 421649,
+            "until": 422916
+        }
     },
     {
-        "end_version": 426368,
         "metadata": {
             "info": [],
             "title": "[clang] accept -fsanitize-ignorelist= in addition to -fsanitize-blacklist="
@@ -1701,10 +1968,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/d7ec48d71bd67118e7996c45e9c7fb1b09d4f59a.patch",
-        "start_version": 422132
+        "version_range": {
+            "from": 422132,
+            "until": 426368
+        }
     },
     {
-        "end_version": 427980,
         "metadata": {
             "info": [],
             "title": "[ARM][AArch64] SLSHardening: make non-comdat thunks possible"
@@ -1713,10 +1982,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/801ab71032e157eb7bcd38efeb6486742a7c53bb.patch",
-        "start_version": 422132
+        "version_range": {
+            "from": 422132,
+            "until": 427980
+        }
     },
     {
-        "end_version": 431743,
         "metadata": {
             "info": [],
             "title": "[ThinLTO] Respect ClearDSOLocalOnDeclarations for unimported functions"
@@ -1725,10 +1996,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/252a1eecc04080d852ba58c6727970c688eb1619.patch",
-        "start_version": 389603
+        "version_range": {
+            "from": 389603,
+            "until": 431743
+        }
     },
     {
-        "end_version": 428786,
         "metadata": {
             "info": [],
             "title": "[InstCombine] fix miscompile from vector select substitution"
@@ -1737,10 +2010,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/7bb8bfa0622b8ee55c3f748004dcf4d83d48cf97.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 428786
+        }
     },
     {
-        "end_version": 428883,
         "metadata": {
             "info": [],
             "title": "[SLP]Better detection of perfect/shuffles matches for gather nodes."
@@ -1749,10 +2024,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/36911971a58d1ba8b15e97790ac816eaadb0603e.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 428883
+        }
     },
     {
-        "end_version": 429138,
         "metadata": {
             "info": [],
             "title": "[LTO] Fix -fwhole-program-vtables handling after HIP ThinLTO patch"
@@ -1761,10 +2038,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/d0ee8b64ecf359737ce550d8f47f465ab6657be7.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 429138
+        }
     },
     {
-        "end_version": 429620,
         "metadata": {
             "info": [],
             "title": "[X86] Check destination element type before forming VTRUNCS/VTRUNCUS in combineTruncateWithSat."
@@ -1773,10 +2052,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/765ef4bb2af604ea2bbd6c1bffaa6e1600804c9e.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 429620
+        }
     },
     {
-        "end_version": 430140,
         "metadata": {
             "info": [],
             "title": "[libcxx][atomic] Fix failure mapping in compare_exchange_{strong,weak}."
@@ -1785,10 +2066,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/6d33362dafb66b3af4717990d9a06450ec13f367.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 430140
+        }
     },
     {
-        "end_version": 433358,
         "metadata": {
             "info": [],
             "title": "Revert \"Add workaround for false positive in -Wfree-nonheap-object\""
@@ -1797,10 +2080,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/0082764605cc0e7e0363a41ffa77d214c3157aa6.patch",
-        "start_version": 423544
+        "version_range": {
+            "from": 423544,
+            "until": 433358
+        }
     },
     {
-        "end_version": 432955,
         "metadata": {
             "info": [],
             "title": "[X86] Remove incorrect use of known bits in shuffle simplification."
@@ -1809,10 +2094,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/6601be441974cb1b91c47ee20bf9a284076cf6dd.patch",
-        "start_version": 425001
+        "version_range": {
+            "from": 425001,
+            "until": 432955
+        }
     },
     {
-        "end_version": 430742,
         "metadata": {
             "info": [],
             "title": "Revert \"[cmake] [compiler-rt] Call llvm_setup_rpath() when adding shared libraries.\""
@@ -1821,10 +2108,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/21c008d5a5b1e0c2ec3c1659cff961f4b0ccea2c.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 430742
+        }
     },
     {
-        "end_version": 429922,
         "metadata": {
             "info": [],
             "title": "Revert \"Revert \"DirectoryWatcher: add an implementation for Windows\"\""
@@ -1833,10 +2122,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/76f1baa7875acd88bdd4b431eed6e2d2decfc0fe.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 429922
+        }
     },
     {
-        "end_version": 429832,
         "metadata": {
             "info": [],
             "title": "Revert \"[lldb] Add support for evaluating expressions in static member functions\""
@@ -1845,10 +2136,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/4125b46232caf6a558470670f87b56ccb46d61aa.patch",
-        "start_version": 425233
+        "version_range": {
+            "from": 425233,
+            "until": 429832
+        }
     },
     {
-        "end_version": 429480,
         "metadata": {
             "info": [],
             "title": "Revert \"3rd Reapply \"[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands\"\""
@@ -1857,10 +2150,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/386b66b2fc297cda121a3cc8a36887a6ecbcfc68.patch",
-        "start_version": 428070
+        "version_range": {
+            "from": 428070,
+            "until": 429480
+        }
     },
     {
-        "end_version": 429323,
         "metadata": {
             "info": [],
             "title": "Revert \"[LoopUnrollAndJam] Change LoopUnrollAndJamPass to LoopNest pass\""
@@ -1869,10 +2164,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/0a9d0799316c7a601a0b20a123bd99922ac6455b.patch",
-        "start_version": 428636
+        "version_range": {
+            "from": 428636,
+            "until": 429323
+        }
     },
     {
-        "end_version": 428788,
         "metadata": {
             "info": [],
             "title": "Revert \"[clang-tidy] Simplify static assert check\""
@@ -1881,10 +2178,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/be6b9e8ae71768d2e09ec14619ca4ecfdef553fa.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 428788
+        }
     },
     {
-        "end_version": 428737,
         "metadata": {
             "info": [],
             "title": "Revert \"[clang][Parse] Add parsing support for C++ attributes on using-declarations\""
@@ -1893,10 +2192,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/f63adf5b67f7a25b15f81d3a1a207aba4f226dc4.patch",
-        "start_version": 428722
+        "version_range": {
+            "from": 428722,
+            "until": 428737
+        }
     },
     {
-        "end_version": 428763,
         "metadata": {
             "info": [],
             "title": "Revert \"[libc++] NFC: Move unwrap_iter to its own header\""
@@ -1905,10 +2206,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/b13edf6e907b32d0b8da09dfe08fa271638eca3c.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 428763
+        }
     },
     {
-        "end_version": 428728,
         "metadata": {
             "info": [],
             "title": "Revert \"[NFCI][LoopDeletion] Do not call complex analysis for known non-zero BTC\""
@@ -1917,10 +2220,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/dd226803c220f02a5987f0ee9f9ac3ffe2b35c09.patch",
-        "start_version": 428588
+        "version_range": {
+            "from": 428588,
+            "until": 428728
+        }
     },
     {
-        "end_version": 428729,
         "metadata": {
             "info": [],
             "title": "Revert \"[NFC] Reuse existing variables instead of re-requesting successors\""
@@ -1929,10 +2234,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/807fc7cdc97fc172b4967707a7718e7333351bff.patch",
-        "start_version": 428587
+        "version_range": {
+            "from": 428587,
+            "until": 428729
+        }
     },
     {
-        "end_version": 428730,
         "metadata": {
             "info": [],
             "title": "Revert \"[NFC] Formatting fix\""
@@ -1941,10 +2248,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/fd553312031c7d8085fa6ee0755a957796eadf05.patch",
-        "start_version": 428581
+        "version_range": {
+            "from": 428581,
+            "until": 428730
+        }
     },
     {
-        "end_version": 428731,
         "metadata": {
             "info": [],
             "title": "Revert \"[NFCI][LoopDeletion] Only query SCEV about loop successor if another successor is also in loop\""
@@ -1953,10 +2262,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/24bd657202379595b514ee17241f019294e86bc9.patch",
-        "start_version": 428580
+        "version_range": {
+            "from": 428580,
+            "until": 428731
+        }
     },
     {
-        "end_version": 428732,
         "metadata": {
             "info": [],
             "title": "Revert \"Return \"[LoopDeletion] Break backedge if we can prove that the loop is exited on 1st iteration\" (try 2)\""
@@ -1965,10 +2276,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/0159652058ca555b05db6a209fe9cf660c3bf8e6.patch",
-        "start_version": 428490
+        "version_range": {
+            "from": 428490,
+            "until": 428732
+        }
     },
     {
-        "end_version": 428781,
         "metadata": {
             "info": [],
             "title": "Revert \"[NFC] Use ArgListEntry indirect types more in ISel lowering\""
@@ -1977,10 +2290,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/3a6f12f9156bcebf38965d96007bd942024c75be.patch",
-        "start_version": 427793
+        "version_range": {
+            "from": 427793,
+            "until": 428781
+        }
     },
     {
-        "end_version": 428782,
         "metadata": {
             "info": [],
             "title": "Revert \"[TargetLowering] Only inspect attributes in the arguments for ArgListEntry\""
@@ -1989,70 +2304,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/71cca4f728d7421e40ec9aec0816313391fe9b59.patch",
-        "start_version": 427792
+        "version_range": {
+            "from": 427792,
+            "until": 428782
+        }
     },
     {
-        "end_version": null,
-        "metadata": {
-            "info": [],
-            "title": "Revert \"[MemCpyOpt] Allow specifying --enable-memcpyopt-without-libcalls more than once\""
-        },
-        "platforms": [
-            "chromiumos"
-        ],
-        "rel_patch_path": "revert-30dfd3449e45ac371012c6e46c77ab9089496d4e.patch",
-        "start_version": 436746
-    },
-    {
-        "end_version": null,
-        "metadata": {
-            "info": [],
-            "title": "Revert \"[MemCpyOpt] Optimize MemoryDef insertion\""
-        },
-        "platforms": [
-            "chromiumos"
-        ],
-        "rel_patch_path": "revert-17db125b487faa69d789b80d47b19da49522b168.patch",
-        "start_version": 435224
-    },
-    {
-        "end_version": null,
-        "metadata": {
-            "info": [],
-            "title": "Revert \"[MemCpyOpt] Remove MemDepAnalysis-based implementation\""
-        },
-        "platforms": [
-            "chromiumos"
-        ],
-        "rel_patch_path": "revert-88003cea1c6eb3ebcb18b4f1b9d0e2052dd76fe4.patch",
-        "start_version": 435043
-    },
-    {
-        "end_version": null,
-        "metadata": {
-            "info": [],
-            "title": "Revert \"MemCpyOptimizer.cpp - hasUndefContentsMSSA - Pass DataLayout by reference. NFCI\""
-        },
-        "platforms": [
-            "chromiumos"
-        ],
-        "rel_patch_path": "revert-596004a94748e427ff59956e74d8ed4eb0e109d4.patch",
-        "start_version": 429466
-    },
-    {
-        "end_version": null,
-        "metadata": {
-            "info": [],
-            "title": "Revert \"[MemCpyOpt] Allow variable lengths in memcpy optimizer\""
-        },
-        "platforms": [
-            "chromiumos"
-        ],
-        "rel_patch_path": "revert-f5446b769a7929806f72256fccd4826d66502e59.patch",
-        "start_version": 425181
-    },
-    {
-        "end_version": 429795,
         "metadata": {
             "info": [],
             "title": "[compiler-rt] [builtins] [AArch64] Add missing AArch64 data synchronization barrier (dsb) to __clear_cache"
@@ -2061,10 +2318,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/6455418d3d2a2de1a8251cc2ccf2e87b9ae3112d.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 429795
+        }
     },
     {
-        "end_version": 431151,
         "metadata": {
             "info": [],
             "title": "DebugInfo: LTO with -g inlined into -gmlt combined with Split DWARF without CU cross-references"
@@ -2073,10 +2332,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/1b112c80a68697687189ddf5bb01b2edacb618af.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 431151
+        }
     },
     {
-        "end_version": 432575,
         "metadata": {
             "info": [],
             "title": "[ELF] --fortran-common: prefer STB_WEAK to COMMON"
@@ -2085,10 +2346,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/7de2173c2a4c45711831cfee3ccf53690c76ff07.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 432575
+        }
     },
     {
-        "end_version": 433637,
         "metadata": {
             "info": [],
             "title": "[NewPM] Add CrossDSOCFI pass irrespective of LTO optimization level"
@@ -2097,10 +2360,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/c45e17f11f508d1aea97eded3f1bda2a448f2032.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 433637
+        }
     },
     {
-        "end_version": 435268,
         "metadata": {
             "info": [],
             "title": "[Unwind] Split unwind.h"
@@ -2109,10 +2374,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/9ed1c7e4964382b95a5886279c0dfc7147a57b17.patch",
-        "start_version": 422132
+        "version_range": {
+            "from": 422132,
+            "until": 435268
+        }
     },
     {
-        "end_version": 435269,
         "metadata": {
             "info": [],
             "title": "[Arm][Unwind][libc++abi] Add _Unwind_ForcedUnwind to EHABI."
@@ -2121,10 +2388,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/db126ae243cd70e4f68fd50a7c619740e90e1dc6.patch",
-        "start_version": 422132
+        "version_range": {
+            "from": 422132,
+            "until": 435269
+        }
     },
     {
-        "end_version": 435270,
         "metadata": {
             "info": [],
             "title": "[libunwind] Compile with -Wunused-but-set-variable"
@@ -2133,10 +2402,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/6b6d3447317673015f62206b2669c2d0a74132dc.patch",
-        "start_version": 422132
+        "version_range": {
+            "from": 422132,
+            "until": 435270
+        }
     },
     {
-        "end_version": 435201,
         "metadata": {
             "info": [],
             "title": "libunwind: add missing break statements in EHABI"
@@ -2145,10 +2416,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/08a5ac36b956edeb989b4a65269a829eac26a5a2.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 435201
+        }
     },
     {
-        "end_version": 434174,
         "metadata": {
             "info": [],
             "title": "[MBP] findBestLoopTopHelper should exit if OldTop is not a chain header"
@@ -2157,10 +2430,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/50b62731452cb83979bbf3c06e828d26a4698dca.patch",
-        "start_version": 422132
+        "version_range": {
+            "from": 422132,
+            "until": 434174
+        }
     },
     {
-        "end_version": 434684,
         "metadata": {
             "info": [],
             "title": "[MC][CodeGen] Emit constant pools earlier"
@@ -2169,10 +2444,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/ad253446208a06902d3bc4939ac7a64f8026cc84.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 434684
+        }
     },
     {
-        "end_version": 437403,
         "metadata": {
             "info": [],
             "title": "PR45881: Properly use CXXThisOverride for templated lambda"
@@ -2181,10 +2458,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/61d1cce2f83571c00f76144d42a2dea2cb3ab1ca.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 437403
+        }
     },
     {
-        "end_version": 437409,
         "metadata": {
             "info": [],
             "title": "[SampleFDO] Allow forward compatibility when adding a new section for extbinary format."
@@ -2193,10 +2472,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/8eb617d719bdc6a4ed7773925d2421b9bbdd4b7a.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 437409
+        }
     },
     {
-        "end_version": 438900,
         "metadata": {
             "info": [],
             "title": "Fixed a bug in https://reviews.llvm.org/rG8eb617d719bdc6a4ed7773925d2421b9bbdd4b7a"
@@ -2205,10 +2486,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/e8b376547b4b77671c36607ade025d3272699e7a.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 438900
+        }
     },
     {
-        "end_version": 438901,
         "metadata": {
             "info": [],
             "title": "Add REQUIRES: zlib in forward-compatible.test since it handles compressed file"
@@ -2217,10 +2500,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/80865f7579d619dee4ffd5abb72f641ef74dedbb.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 438901
+        }
     },
     {
-        "end_version": 433150,
         "metadata": {
             "info": [],
             "title": "[VPlan] Fix formatting glitch from d2a73fb44ea0b8."
@@ -2229,10 +2514,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/82834a673246f27a541ffcc57e0eb65b008102ef.patch",
-        "start_version": 433149
+        "version_range": {
+            "from": 433149,
+            "until": 433150
+        }
     },
     {
-        "end_version": 433723,
         "metadata": {
             "info": [],
             "title": "Revert \"[VPlan] Add recipe for first-order rec phis, make splicing explicit.\""
@@ -2241,10 +2528,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/b1777b04dc4b1a9fee0e7effa7e177892ab32ef0.patch",
-        "start_version": 433149
+        "version_range": {
+            "from": 433149,
+            "until": 433723
+        }
     },
     {
-        "end_version": 433807,
         "metadata": {
             "info": [],
             "title": "[DebugInfo] Correctly update debug users of SSA values in tail duplication"
@@ -2253,10 +2542,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/31e75512174e1bdaa242ee5c7f30fe56e68c3748.patch",
-        "start_version": 433403
+        "version_range": {
+            "from": 433403,
+            "until": 433807
+        }
     },
     {
-        "end_version": 433562,
         "metadata": {
             "info": [],
             "title": "Revert \"[DSE] Transform memset + malloc --> calloc (PR25892)\""
@@ -2265,10 +2556,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/bc536c710150f53b5ae5cd6b7693636e77992d0a.patch",
-        "start_version": 433123
+        "version_range": {
+            "from": 433123,
+            "until": 433562
+        }
     },
     {
-        "end_version": 433927,
         "metadata": {
             "info": [],
             "title": "Revert \"sanitizer_common: split LibIgnore into fast/slow paths\""
@@ -2277,10 +2570,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/35e76a939cabbaa40aeeb572c3cf4039c3077fdf.patch",
-        "start_version": 432235
+        "version_range": {
+            "from": 432235,
+            "until": 433927
+        }
     },
     {
-        "end_version": 434116,
         "metadata": {
             "info": [],
             "title": "Revert \"Revert of D49126 [PredicateInfo] Use custom mangling to support ssa_copy with unnamed types.\""
@@ -2289,10 +2584,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/dc5570d149ca6a0931413bf1ad469eb8f9517f82.patch",
-        "start_version": 422246
+        "version_range": {
+            "from": 422246,
+            "until": 434116
+        }
     },
     {
-        "end_version": 434483,
         "metadata": {
             "info": [],
             "title": "Revert \"[libcxx][CI] Work around Arm buildkite failures\""
@@ -2301,10 +2598,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/e517a2405f39a174e65e4105106ae39704f88e4d.patch",
-        "start_version": 432148
+        "version_range": {
+            "from": 432148,
+            "until": 434483
+        }
     },
     {
-        "end_version": 434836,
         "metadata": {
             "info": [],
             "title": "Revert \"[SystemZ][z/OS] Update target specific __attribute__((aligned)) value for test\""
@@ -2313,10 +2612,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/91e399519580930623e1eb7be43374f0ba8aba41.patch",
-        "start_version": 407500
+        "version_range": {
+            "from": 407500,
+            "until": 434836
+        }
     },
     {
-        "end_version": 435471,
         "metadata": {
             "info": [],
             "title": "Revert \"[SCEV] Remove premature assert. PR46786\""
@@ -2325,10 +2626,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/0dc6b597db4d8b25f3df96a8f6574be732e18fdd.patch",
-        "start_version": 400017
+        "version_range": {
+            "from": 400017,
+            "until": 435471
+        }
     },
     {
-        "end_version": 442917,
         "metadata": {
             "info": [],
             "title": "[compiler-rt] Produce the right arch suffix for arm baremetal"
@@ -2337,10 +2640,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/db27867dfc95257faf5baa40436370df67647847.patch",
-        "start_version": 433403
+        "version_range": {
+            "from": 433403,
+            "until": 442917
+        }
     },
     {
-        "end_version": 444704,
         "metadata": {
             "info": [],
             "title": "[libunwind][ARM] Handle end of stack during unwind"
@@ -2349,10 +2654,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/D109856.patch",
-        "start_version": 433403
+        "version_range": {
+            "from": 433403,
+            "until": 444704
+        }
     },
     {
-        "end_version": 441343,
         "metadata": {
             "info": [],
             "title": "[msan] Add stat-family interceptors on Linux"
@@ -2361,10 +2668,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/4e1a6c07052b466a2a1cd0c3ff150e4e89a6d87a.patch",
-        "start_version": 433403
+        "version_range": {
+            "from": 433403,
+            "until": 441343
+        }
     },
     {
-        "end_version": 445396,
         "metadata": {
             "info": [],
             "title": "CodeGen: Strip exception specifications from function types in CFI type names."
@@ -2373,10 +2682,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/0a14674f276b598d23353290635fc62f93e9ab30.patch",
-        "start_version": 433403
+        "version_range": {
+            "from": 433403,
+            "until": 445396
+        }
     },
     {
-        "end_version": 438858,
         "metadata": {
             "info": [],
             "title": "Revert \"Allow rematerialization of virtual reg uses\""
@@ -2385,10 +2696,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/08d7eec06e8cf5c15a96ce11f311f1480291a441.patch",
-        "start_version": 436284
+        "version_range": {
+            "from": 436284,
+            "until": 438858
+        }
     },
     {
-        "end_version": 437625,
         "metadata": {
             "info": [],
             "title": "Revert \"[AMDGPU] Split entry basic block after alloca instructions.\""
@@ -2397,10 +2710,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/0c28814015cdd9a48a9ed7e4bc3545f352a1bb77.patch",
-        "start_version": 436857
+        "version_range": {
+            "from": 436857,
+            "until": 437625
+        }
     },
     {
-        "end_version": 442617,
         "metadata": {
             "info": [],
             "title": "Revert \"X86InstrInfo: Support immediates that are +1/-1 different in optimizeCompareInstr\""
@@ -2409,10 +2724,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/a2a58d91e82db38fbdf88cc317dcb3753d79d492.patch",
-        "start_version": 442113
+        "version_range": {
+            "from": 442113,
+            "until": 442617
+        }
     },
     {
-        "end_version": null,
         "metadata": {
             "info": [],
             "title": "Revert \"[libcxx] Add a dependency on unwind in cxx_static, if LIBCXXABI_USE_LLVM_UNWINDER is set\""
@@ -2421,10 +2738,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "revert-b1c9d3d29a1e3cc6a9ad6f0fd1a3a0fa15800f64.patch",
-        "start_version": 443104
+        "version_range": {
+            "from": 443104,
+            "until": 461806
+        }
     },
     {
-        "end_version": 445238,
         "metadata": {
             "info": [],
             "title": "[ARM] Introduce i8neg and i8pos addressing modes"
@@ -2433,10 +2752,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "b8f1ccb0acf8dccdd3fb706465ec958763987bee.patch",
-        "start_version": 437113
+        "version_range": {
+            "from": 437113,
+            "until": 445238
+        }
     },
     {
-        "end_version": 446317,
         "metadata": {
             "info": [],
             "title": "[ARM] Add AddrModeT2_i8neg addressing mode support for frame lowering."
@@ -2445,10 +2766,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "26f6fbe2be1dfb6e734ba34b650606cd18a2a4f7.patch",
-        "start_version": 437113
+        "version_range": {
+            "from": 437113,
+            "until": 446317
+        }
     },
     {
-        "end_version": null,
         "metadata": {
             "info": [],
             "title": "[libcxx] Crash when dereferencing nullopt for std::optional"
@@ -2457,10 +2780,26 @@
             "chromiumos"
         ],
         "rel_patch_path": "5778284149254d019b3f127dc32475ab7b72a7d6.patch",
-        "start_version": 433403
+        "version_range": {
+            "from": 433403,
+            "until": 453214
+        }
     },
     {
-        "end_version": 445729,
+        "metadata": {
+            "info": [],
+            "title": "[libcxx] v2: Crash when dereferencing nullopt for std::optional"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "e8361ac175bc6c911cd03e74ecd31be40a8cae37.patch",
+        "version_range": {
+            "from": 453214,
+            "until": null
+        }
+    },
+    {
         "metadata": {
             "info": [],
             "title": "[UPSTREAM] Revert \"Revert \"Use VersionTuple for parsing versions in Triple, fixing issues that caused the original change to be reverted. This makes it possible to distinguish between \"16\" and \"16.0\" after parsing, which previously was not possible.\"\""
@@ -2470,10 +2809,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/219672b8dd06c4765185fa3161c98437d49b4a1b.patch",
-        "start_version": 445002
+        "version_range": {
+            "from": 445002,
+            "until": 445729
+        }
     },
     {
-        "end_version": 451237,
         "metadata": {
             "info": [],
             "title": "[UPSTREAM] [hwasan] work around lifetime issue with setjmp."
@@ -2483,10 +2824,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/aefb2e134dd715c2c48a7b826d2d56db51ce63ac.patch",
-        "start_version": 445002
+        "version_range": {
+            "from": 445002,
+            "until": 451237
+        }
     },
     {
-        "end_version": 452761,
         "metadata": {
             "info": [],
             "title": "[sanitizer] Check if directory exists before trying to create"
@@ -2496,10 +2839,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/634da7a1c61ee8c173e90a841eb1f4ea03caa20b.patch",
-        "start_version": 438528
+        "version_range": {
+            "from": 438528,
+            "until": 452761
+        }
     },
     {
-        "end_version": 445406,
         "metadata": {
             "info": [],
             "title": "[UPSTREAM] [clang][ARM] relax -mtp=cp15 for non-thumb cases"
@@ -2509,10 +2854,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/9f95bc7dc18390199553cf2ea3bfcdc6a95717ef.patch",
-        "start_version": 445002
+        "version_range": {
+            "from": 445002,
+            "until": 445406
+        }
     },
     {
-        "end_version": 445576,
         "metadata": {
             "info": [],
             "title": "[UPSTREAM] [clang][ARM] only check -mtp=cp15 for non-asm sources"
@@ -2522,10 +2869,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/73ee4e1cbd643028d63200f05199a128609aba5f.patch",
-        "start_version": 445002
+        "version_range": {
+            "from": 445002,
+            "until": 445576
+        }
     },
     {
-        "end_version": 447356,
         "metadata": {
             "info": [],
             "title": "[UPSTREAM] [clang][ARM] re-use arm::isHardTPSupported for hardware TLS check"
@@ -2535,7 +2884,677 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/cd284b7ac0615afc6e0f1a30da2777e361de27a3.patch",
-        "start_version": 445002
+        "version_range": {
+            "from": 445002,
+            "until": 447356
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[ThinLTO][MC] Use conditional assignments for promotion aliases"
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/9a74c753fe3fb40afeb0660060538678dd77d060.patch",
+        "version_range": {
+            "from": 437112,
+            "until": 446080
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[ELF] Support REL-format R_AARCH64_NONE relocation"
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/f457863ae345d2635026501f5383e0e625869639.patch",
+        "version_range": {
+            "from": 445002,
+            "until": 451711
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "Revert \"[x86] try harder to scalarize a vector load with extracted integer op uses\""
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/7b03725097872fbd3369a7213c1d98b372aa2d78.patch",
+        "version_range": {
+            "from": 450740,
+            "until": 451631
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[DebugInfo][InstrRef] Accept register-reads after isel in any block"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/0e96d95d13d9f7b2a96bcaa569ce0a0181a6c7f3.patch",
+        "version_range": {
+            "from": 448639,
+            "until": 454831
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[AArch64] Bail out for float operands in SetCC optimization."
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/23091f7d504afde4bba3fc885718a1633746e063.patch",
+        "version_range": {
+            "from": 450729,
+            "until": 451016
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "Revert \"[AArch64] Adds SUBS and ADDS instructions to the MIPeepholeOpt.\""
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/22eb1dae3fb20ca8ada865de1d95baab0e08a060.patch",
+        "version_range": {
+            "from": 452697,
+            "until": 452764
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[DAG] Ensure type is legal for bswap(shl(x,c)) -> zext(bswap(trunc(shl(x,c-bw/2)))) fold"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/fadd20f80d6968a5a8623e0d1f804337ce084dcb.patch",
+        "version_range": {
+            "from": 454067,
+            "until": 454267
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "Rename `disable-noundef-analysis` flag to `-[no-]enable-noundef-analysis`"
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "Rename-disable-noundef-analysis-flag-to-no-enable-noundef-analysis.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 453474
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "Revert \"Disable -Wmissing-prototypes for internal linkage functions that aren't explicitly marked \"static\"\""
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/85ee1d3ca1d06b6bd3477515b8d0c72c8df7c069.patch",
+        "version_range": {
+            "from": 451081,
+            "until": 455343
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[UPSTREAM] [ELF] Check COMMON symbols for PROVIDE and don't redefine COMMON symbols edata/end/etext"
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/fc0aa8424ca98da29a9c7aa15b4427d47504ba87.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 453919
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[InstCombine] add tests to show miscompiled smin/smax; NFC"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/cc8f98198799fe3a5f00e2fc0edcb5d90c124d2f.patch",
+        "version_range": {
+            "from": 454000,
+            "until": 455352
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[Analysis] remove bogus smin/smax pattern detection"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/b48fe158e0a8d77fd3e28e90e512589601680ad8.patch",
+        "version_range": {
+            "from": 454000,
+            "until": 455353
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[UPSTREAM] [msan] Guard FP_XSTATE_MAGIC1 usage with SANITIZER_GLIBC"
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/9d1857f69f4ef00d9fd1b21660c20e00b993d06f.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 451675
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[UPSTREAM] [tsan] Make __fxstat code path glibc only"
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/da2a16f702efe3307d407d5c6db6c8c18ef6bd9b.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 452683
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[UPSTREAM] Pass through more LIBCXX_* variables  to libfuzzer's custom lib++"
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/bcc65fb491ca6e83e1ea300f4462a2f56d0b5937.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 454839
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[UPSTREAM] [CompilerRT] Fix build of compiler-rt with musl"
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/e75f1d3c07edaa223ac1a945af534eaec0c7aa66.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 455347
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[UPSTREAM] Revert \"[DAG] Extend SearchForAndLoads with any_extend handling\""
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/c89cfbd4ddfa4e01fea1eb87aba9cdcd0e31d3a8.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 451241
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[UPSTREAM] Revert \"[ASan] Not linking asan_static library for DSO.\""
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/d7dd7ad827a0a78314f3c9b55f4778a6059840f3.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 451265
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[UPSTREAM] Revert \"DebugInfo: Don't put types in type units if they reference internal linkage types\""
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/f69f23396d32c95dacf3765bc63af02b23ccff3e.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 451266
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[UPSTREAM] Test fixes for prior patch"
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/b6e048c6e516df5abc4be323349b5f7d15c08ede.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 451267
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[msan] Add interceptors for Linux 64-bit stat variants"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/1f82d0f795d11376adf3e62fc35fd98bb46e82b0.patch",
+        "version_range": {
+            "from": 450752,
+            "until": 455926
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[ELF] Fix llvm_unreachable failure when COMMON is placed in SHT_PROGBITS output section"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/1db59dc8e28819b1960dae8e7fe6d79ad4b03340.patch",
+        "version_range": {
+            "from": 446699,
+            "until": 457288
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[UPSTREAM] [ELF][X86] Don't create IBT .plt if there is no PLT entry"
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/9d7001eba9c4cb311e03cd8cdc231f9e579f2d0f.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 454222
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[UPSTREAM] [AArch64] Ensure fixed point fptoi_sat has correct saturation width"
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/60f57b36587c99175cb380406e2502a592a0c400.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 457377
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "Revert \"Add BITINT_MAXWIDTH support\""
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/fad7e491a0770ac4336934030ac67d77e7af5520.patch",
+        "version_range": {
+            "from": 450780,
+            "until": 450807
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[UPSTREAM] [asan] Always skip first object from dl_iterate_phdr"
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/795b07f5498c7e5783237418f34d7ea69e801f87.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 458378
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[ubsan] Fix print_stacktrace=1:fast_unwind_on_fatal=0 to correctly fallback to fast unwinder"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/fdd424e37abf3fa411c07f1e08fee72cfe7bb25b.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 458762
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[UPSTREAM] [ARM] Patterns for vector conversion between half and float"
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/a76620143c54e0b40c7538f4ffa38f4c9db8a009.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 452352
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[UPSTREAM] [AArch64] Cleanup and extend cast costs. NFC"
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/2e7c35ea12c88d0876e453a936ecce0456353621.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 454251
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[UPSTREAM] [AArch64] Add some tests for the cost of extending an extract. NFC"
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/02de9752593d3289804a307dbf628960f417f51e.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 454584
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[UPSTREAM] [AArch64] Add some fp16 conversion cost tests. NFC"
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/97e0366d6711babc3121d2a043c08a7a0c258479.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 454625
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[UPSTREAM] [AArch64] Update costs for some fp16 converts"
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/47f4cd9c3dbfb383dd7706f20ba9eda2dd17c5b8.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 454699
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[UPSTREAM] [AArch64] Move fp16 cast tests."
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/697f55e36823dbd91ca94a666d99f3c4ba11cacb.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 455390
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[UPSTREAM] [AArch64] Improve costs for some conversions to fp16."
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/aa590e5823c352358fbeefa8bbd47a4b9c7de93f.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 455497
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[libunwind][AArch64] Fix _Unwind_ForcedUnwind via sigreturn."
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/f326df34bc179e41ea17d31e1ffba4a479e45589.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 460305
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[ELF] Change (NOLOAD) section type mismatch error to warning"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/cb0a4bb5be10636aaec3ecb56ed586dee3eb0b9e.patch",
+        "version_range": {
+            "from": 453414,
+            "until": 453550
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[ELF][test] Avoid non-portable |& in notest.s"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/93e2b59c076e266e78627ff7cf1dc9ed7d85550d.patch",
+        "version_range": {
+            "from": 453414,
+            "until": 453557
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[ELF] Change (NOLOAD) type mismatch to use SHT_NOBITS instead of SHT_PROGBITS"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/b3d5bb3b308f9a41022cdd30542991840b826a6b.patch",
+        "version_range": {
+            "from": 453414,
+            "until": 461017
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[AArch64] Add llvm/test/CodeGen/AArch64/i256-math.ll"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/26ba347fbb0cf8abcb861aa558711f51455a0ec3.patch",
+        "version_range": {
+            "from": 459639,
+            "until": 461075
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[AArch64] Replace `performANDSCombine` with `performFlagSettingCombine`."
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/d29fc6e7d24f9bf67512180c0be3f08526049a27.patch",
+        "version_range": {
+            "from": 459639,
+            "until": 461545
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[AArch64] Add `foldADCToCINC` DAG combine."
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/0298cce257f8f8070377baab790eb8cc277904fc.patch",
+        "version_range": {
+            "from": 459639,
+            "until": 461546
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "Revert \"[AArch64] Set maximum VF with shouldMaximizeVectorBandwidth\""
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/42ebfa8269470e6b1fe2de996d3f1db6d142e16a.patch",
+        "version_range": {
+            "from": 458507,
+            "until": 458807
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "Use the canonical type when matching a generic selection association"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/85750de685f543443ec38c407392d9d7cdc19451.patch",
+        "version_range": {
+            "from": 458507,
+            "until": 462785
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[AARCH64 folding] Do not fold any copy with NZCV"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/163c77b2e0831853b59cdd24ece9637f8a19cc79.patch",
+        "version_range": {
+            "from": 459639,
+            "until": 465351
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[SLP]Fix PR56251: Do not remove the reordering from the root node, being used as an operand."
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/bf4dcbd2df009ba71d9032379fe8bc37ba0903ff.patch",
+        "version_range": {
+            "from": 465792,
+            "until": 466174
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[UPSTREAM] [PATCH] [lldb-server] Skip shared regions for memory allocation"
+        },
+        "platforms": [
+            "android",
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/c0702ac07b8e206f424930ff0331151954fb821c.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 466511
+        }
     },
     {
         "metadata": {
@@ -2547,6 +3566,7 @@
         ],
         "rel_patch_path": "cherry/86c770346c26ce4c9abf5a5b7ab4b5bbfdcf9d78.patch",
         "version_range": {
+            "from": 458507,
             "until": 460128
         }
     },
@@ -2560,7 +3580,78 @@
         ],
         "rel_patch_path": "cherry/2240d72f15f3b7b9d9fb65450f9bf635fd310f6f.patch",
         "version_range": {
+            "from": 458507,
+            "until": 465103
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[X86] initial -mfunction-return=thunk-extern support"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/2240d72f15f3b7b9d9fb65450f9bf635fd310f6f-v2.patch",
+        "version_range": {
+            "from": 465103,
             "until": 467477
         }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[clang][test] fix typo in fn attr"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/d2792e7d37c4b454a6b052cd569ff13ed7f22159.patch",
+        "version_range": {
+            "from": 458507,
+            "until": 467756
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[clang][CodeGen] add fn_ret_thunk_extern to synthetic fns"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/140bfdca60ae8b1b2ad115846379e3c9ca914bfb.patch",
+        "version_range": {
+            "from": 458507,
+            "until": 467776
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[libc++] Add a test to pin down the set of transitive public includes"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/23d6cde14de352e05c66ae34cd237e3a7a8955d1.patch",
+        "version_range": {
+            "from": 465103,
+            "until": 465694
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[libc++] Re-add transitive includes that had been removed since LLVM 14"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "cherry/de4a57cb21a19179d7be830967e642b868a05a91.patch",
+        "version_range": {
+            "from": 465103,
+            "until": 466067
+        }
     }
 ]
diff --git a/sys-devel/llvm/files/Rename-disable-noundef-analysis-flag-to-no-enable-noundef-analysis.patch b/sys-devel/llvm/files/Rename-disable-noundef-analysis-flag-to-no-enable-noundef-analysis.patch
new file mode 100644
index 0000000..3b1a6a3
--- /dev/null
+++ b/sys-devel/llvm/files/Rename-disable-noundef-analysis-flag-to-no-enable-noundef-analysis.patch
@@ -0,0 +1,78 @@
+From cf9f19c04366d5a4cd280ffa1eecb260652ed8bf Mon Sep 17 00:00:00 2001
+From: Yi Kong <yikong@google.com>
+Date: Tue, 8 Mar 2022 14:08:11 +0800
+Subject: [PATCH] Rename `disable-noundef-analysis` flag to
+ `-[no-]enable-noundef-analysis`
+
+Upstream renamed this in r453474, but it cannot be cleanly cherrypicked
+back due to large number of conflicts in tests. Instead add aliases from
+the old name so that the tests can pass without modification.
+---
+ clang/include/clang/Basic/CodeGenOptions.def |  2 +-
+ clang/include/clang/Driver/Options.td        | 14 +++++++++++---
+ clang/lib/CodeGen/CGCall.cpp                 |  4 ++--
+ 3 files changed, 14 insertions(+), 6 deletions(-)
+
+diff --git a/clang/include/clang/Basic/CodeGenOptions.def b/clang/include/clang/Basic/CodeGenOptions.def
+index 0da875525c0c..c5a0bed565a3 100644
+--- a/clang/include/clang/Basic/CodeGenOptions.def
++++ b/clang/include/clang/Basic/CodeGenOptions.def
+@@ -64,7 +64,7 @@ CODEGENOPT(DisableLifetimeMarkers, 1, 0) ///< Don't emit any lifetime markers
+ CODEGENOPT(DisableO0ImplyOptNone , 1, 0) ///< Don't annonate function with optnone at O0
+ CODEGENOPT(ExperimentalStrictFloatingPoint, 1, 0) ///< Enables the new, experimental
+                                                   ///< strict floating point.
+-CODEGENOPT(DisableNoundefAttrs, 1, 0) ///< Disable emitting `noundef` attributes on IR call arguments and return values
++CODEGENOPT(EnableNoundefAttrs, 1, 0) ///< Disable emitting `noundef` attributes on IR call arguments and return values
+ CODEGENOPT(LegacyPassManager, 1, 0) ///< Use the legacy pass manager.
+ CODEGENOPT(DebugPassManager, 1, 0) ///< Prints debug information for the new
+                                    ///< pass manager.
+diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
+index fbdac93a8313..9ba38c5452a0 100644
+--- a/clang/include/clang/Driver/Options.td
++++ b/clang/include/clang/Driver/Options.td
+@@ -5403,9 +5403,17 @@ defm clear_ast_before_backend : BoolOption<"",
+   PosFlag<SetTrue, [], "Clear">,
+   NegFlag<SetFalse, [], "Don't clear">,
+   BothFlags<[], " the Clang AST before running backend code generation">>;
+-def disable_noundef_analysis : Flag<["-"], "disable-noundef-analysis">, Group<f_Group>,
+-  HelpText<"Disable analyzing function argument and return types for mandatory definedness">,
+-  MarshallingInfoFlag<CodeGenOpts<"DisableNoundefAttrs">>;
++defm enable_noundef_analysis : BoolOption<"",
++  "enable-noundef-analysis",
++  CodeGenOpts<"EnableNoundefAttrs">,
++  DefaultTrue,
++  PosFlag<SetTrue, [], "Enable">,
++  NegFlag<SetFalse, [], "Disable">,
++  BothFlags<[], " analyzing function argument and return types for mandatory definedness">>;
++def disable_noundef_analysis : Flag<["-"], "disable-noundef-analysis">,
++    Group<f_Group>, Alias<no_enable_noundef_analysis>;
++def no_disable_noundef_analysis : Flag<["-"], "no-disable-noundef-analysis">,
++    Group<f_Group>, Alias<enable_noundef_analysis>;
+ def discard_value_names : Flag<["-"], "discard-value-names">,
+   HelpText<"Discard value names in LLVM IR">,
+   MarshallingInfoFlag<CodeGenOpts<"DiscardValueNames">>;
+diff --git a/clang/lib/CodeGen/CGCall.cpp b/clang/lib/CodeGen/CGCall.cpp
+index a37ff8844e88..2d0d00edc030 100644
+--- a/clang/lib/CodeGen/CGCall.cpp
++++ b/clang/lib/CodeGen/CGCall.cpp
+@@ -2243,7 +2243,7 @@ void CodeGenModule::ConstructAttributeList(StringRef Name,
+                      getLangOpts().Sanitize.has(SanitizerKind::Return);
+ 
+   // Determine if the return type could be partially undef
+-  if (!CodeGenOpts.DisableNoundefAttrs && HasStrictReturn) {
++  if (CodeGenOpts.EnableNoundefAttrs && HasStrictReturn) {
+     if (!RetTy->isVoidType() && RetAI.getKind() != ABIArgInfo::Indirect &&
+         DetermineNoUndef(RetTy, getTypes(), DL, RetAI))
+       RetAttrs.addAttribute(llvm::Attribute::NoUndef);
+@@ -2377,7 +2377,7 @@ void CodeGenModule::ConstructAttributeList(StringRef Name,
+     }
+ 
+     // Decide whether the argument we're handling could be partially undef
+-    if (!CodeGenOpts.DisableNoundefAttrs &&
++    if (CodeGenOpts.EnableNoundefAttrs &&
+         DetermineNoUndef(ParamType, getTypes(), DL, AI)) {
+       Attrs.addAttribute(llvm::Attribute::NoUndef);
+     }
+-- 
+2.35.1.616.g0bdcbb4464-goog
+
diff --git a/sys-devel/llvm/files/cherry/0298cce257f8f8070377baab790eb8cc277904fc.patch b/sys-devel/llvm/files/cherry/0298cce257f8f8070377baab790eb8cc277904fc.patch
new file mode 100644
index 0000000..ca0c6dc
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/0298cce257f8f8070377baab790eb8cc277904fc.patch
@@ -0,0 +1,126 @@
+commit 0298cce257f8f8070377baab790eb8cc277904fc
+Author: Karl Meakin <karl.meakin@arm.com>
+Date:   Thu May 12 22:21:20 2022 +0100
+
+    [AArch64] Add `foldADCToCINC` DAG combine.
+    
+    Differential revision: https://reviews.llvm.org/D123781
+
+diff --git a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+index a651f8a682c4..023e91f33e0f 100644
+--- a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
++++ b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+@@ -15512,6 +15512,23 @@ static SDValue foldOverflowCheck(SDNode *Op, SelectionDAG &DAG, bool IsAdd) {
+                      CsetOp.getOperand(3));
+ }
+ 
++// (ADC x 0 cond) => (CINC x HS cond)
++static SDValue foldADCToCINC(SDNode *N, SelectionDAG &DAG) {
++  SDValue LHS = N->getOperand(0);
++  SDValue RHS = N->getOperand(1);
++  SDValue Cond = N->getOperand(2);
++
++  if (!isNullConstant(RHS))
++    return SDValue();
++
++  EVT VT = N->getValueType(0);
++  SDLoc DL(N);
++
++  // (CINC x cc cond) <=> (CSINC x x !cc cond)
++  SDValue CC = DAG.getConstant(AArch64CC::LO, DL, MVT::i32);
++  return DAG.getNode(AArch64ISD::CSINC, DL, VT, LHS, LHS, CC, Cond);
++}
++
+ static SDValue performAddSubCombine(SDNode *N,
+                                     TargetLowering::DAGCombinerInfo &DCI,
+                                     SelectionDAG &DAG) {
+@@ -18721,7 +18738,9 @@ SDValue AArch64TargetLowering::PerformDAGCombine(SDNode *N,
+   case AArch64ISD::ANDS:
+     return performFlagSettingCombine(N, DCI, ISD::AND);
+   case AArch64ISD::ADC:
+-    return foldOverflowCheck(N, DAG, /* IsAdd */ true);
++    if (auto R = foldOverflowCheck(N, DAG, /* IsAdd */ true))
++      return R;
++    return foldADCToCINC(N, DAG);
+   case AArch64ISD::SBC:
+     return foldOverflowCheck(N, DAG, /* IsAdd */ false);
+   case AArch64ISD::ADCS:
+diff --git a/llvm/test/CodeGen/AArch64/adc.ll b/llvm/test/CodeGen/AArch64/adc.ll
+index faa43d665d25..4b1393ffc624 100644
+--- a/llvm/test/CodeGen/AArch64/adc.ll
++++ b/llvm/test/CodeGen/AArch64/adc.ll
+@@ -30,13 +30,13 @@ define i128 @test_imm(i128 %a) {
+ ; CHECK-LE-LABEL: test_imm:
+ ; CHECK-LE:       ; %bb.0:
+ ; CHECK-LE-NEXT:    adds x0, x0, #12
+-; CHECK-LE-NEXT:    adc x1, x1, xzr
++; CHECK-LE-NEXT:    cinc x1, x1, hs
+ ; CHECK-LE-NEXT:    ret
+ ;
+ ; CHECK-BE-LABEL: test_imm:
+ ; CHECK-BE:       // %bb.0:
+ ; CHECK-BE-NEXT:    adds x1, x1, #12
+-; CHECK-BE-NEXT:    adc x0, x0, xzr
++; CHECK-BE-NEXT:    cinc x0, x0, hs
+ ; CHECK-BE-NEXT:    ret
+ 
+   %val = add i128 %a, 12
+diff --git a/llvm/test/CodeGen/AArch64/addcarry-crash.ll b/llvm/test/CodeGen/AArch64/addcarry-crash.ll
+index be48fb79e704..91c7ee7292c6 100644
+--- a/llvm/test/CodeGen/AArch64/addcarry-crash.ll
++++ b/llvm/test/CodeGen/AArch64/addcarry-crash.ll
+@@ -9,7 +9,7 @@ define i64 @foo(i64* nocapture readonly %ptr, i64 %a, i64 %b, i64 %c) local_unna
+ ; CHECK-NEXT:    lsr x9, x1, #32
+ ; CHECK-NEXT:    cmn x3, x2
+ ; CHECK-NEXT:    mul x8, x8, x9
+-; CHECK-NEXT:    adc x0, x8, xzr
++; CHECK-NEXT:    cinc x0, x8, hs
+ ; CHECK-NEXT:    ret
+ entry:
+   %0 = lshr i64 %a, 32
+diff --git a/llvm/test/CodeGen/AArch64/atomicrmw-O0.ll b/llvm/test/CodeGen/AArch64/atomicrmw-O0.ll
+index 71a4ed000c7e..af8a46a598a2 100644
+--- a/llvm/test/CodeGen/AArch64/atomicrmw-O0.ll
++++ b/llvm/test/CodeGen/AArch64/atomicrmw-O0.ll
+@@ -219,8 +219,7 @@ define i128 @test_rmw_add_128(i128* %dst)   {
+ ; NOLSE-NEXT:    ldr x8, [sp, #32] // 8-byte Folded Reload
+ ; NOLSE-NEXT:    ldr x13, [sp, #24] // 8-byte Folded Reload
+ ; NOLSE-NEXT:    adds x14, x8, #1
+-; NOLSE-NEXT:    mov x9, xzr
+-; NOLSE-NEXT:    adc x15, x11, x9
++; NOLSE-NEXT:    cinc x15, x11, hs
+ ; NOLSE-NEXT:  .LBB4_2: // %atomicrmw.start
+ ; NOLSE-NEXT:    // Parent Loop BB4_1 Depth=1
+ ; NOLSE-NEXT:    // => This Inner Loop Header: Depth=2
+@@ -271,14 +270,13 @@ define i128 @test_rmw_add_128(i128* %dst)   {
+ ; LSE-NEXT:    ldr x10, [sp, #72] // 8-byte Folded Reload
+ ; LSE-NEXT:    ldr x8, [sp, #64] // 8-byte Folded Reload
+ ; LSE-NEXT:    ldr x9, [sp, #56] // 8-byte Folded Reload
+-; LSE-NEXT:    adds x2, x8, #1
+-; LSE-NEXT:    mov x11, xzr
+-; LSE-NEXT:    adc x11, x10, x11
+-; LSE-NEXT:    // kill: def $x2 killed $x2 def $x2_x3
+-; LSE-NEXT:    mov x3, x11
+ ; LSE-NEXT:    mov x0, x8
+ ; LSE-NEXT:    mov x1, x10
+ ; LSE-NEXT:    stp x0, x1, [sp, #8] // 16-byte Folded Spill
++; LSE-NEXT:    adds x2, x8, #1
++; LSE-NEXT:    cinc x11, x10, hs
++; LSE-NEXT:    // kill: def $x2 killed $x2 def $x2_x3
++; LSE-NEXT:    mov x3, x11
+ ; LSE-NEXT:    caspal x0, x1, x2, x3, [x9]
+ ; LSE-NEXT:    stp x0, x1, [sp, #24] // 16-byte Folded Spill
+ ; LSE-NEXT:    mov x9, x1
+diff --git a/llvm/test/CodeGen/AArch64/icmp-shift-opt.ll b/llvm/test/CodeGen/AArch64/icmp-shift-opt.ll
+index f095ee8a4abe..74a1c28032d8 100644
+--- a/llvm/test/CodeGen/AArch64/icmp-shift-opt.ll
++++ b/llvm/test/CodeGen/AArch64/icmp-shift-opt.ll
+@@ -11,7 +11,7 @@ define i128 @opt_setcc_lt_power_of_2(i128 %a) nounwind {
+ ; CHECK-NEXT:  .LBB0_1: // %loop
+ ; CHECK-NEXT:    // =>This Inner Loop Header: Depth=1
+ ; CHECK-NEXT:    adds x0, x0, #1
+-; CHECK-NEXT:    adc x1, x1, xzr
++; CHECK-NEXT:    cinc x1, x1, hs
+ ; CHECK-NEXT:    orr x8, x1, x0, lsr #60
+ ; CHECK-NEXT:    cbnz x8, .LBB0_1
+ ; CHECK-NEXT:  // %bb.2: // %exit
diff --git a/sys-devel/llvm/files/cherry/02de9752593d3289804a307dbf628960f417f51e.patch b/sys-devel/llvm/files/cherry/02de9752593d3289804a307dbf628960f417f51e.patch
new file mode 100644
index 0000000..2d9492c
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/02de9752593d3289804a307dbf628960f417f51e.patch
@@ -0,0 +1,63 @@
+From 02de9752593d3289804a307dbf628960f417f51e Mon Sep 17 00:00:00 2001
+From: David Green <david.green@arm.com>
+Date: Wed, 2 Mar 2022 14:47:32 +0000
+Subject: [PATCH] [AArch64] Add some tests for the cost of extending an
+ extract. NFC
+
+---
+ llvm/test/Analysis/CostModel/AArch64/cast.ll | 41 ++++++++++++++++++++
+ 1 file changed, 41 insertions(+)
+
+diff --git a/llvm/test/Analysis/CostModel/AArch64/cast.ll b/llvm/test/Analysis/CostModel/AArch64/cast.ll
+index dbb0581a7d7f..63c84f5ceaa7 100644
+--- a/llvm/test/Analysis/CostModel/AArch64/cast.ll
++++ b/llvm/test/Analysis/CostModel/AArch64/cast.ll
+@@ -981,4 +981,45 @@ define i32 @store_truncs() {
+   ret i32 undef
+ }
+ 
++define void @extend_extract() {
++; CHECK-LABEL: 'extend_extract'
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %e8 = extractelement <8 x i8> undef, i32 1
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %e16 = extractelement <8 x i16> undef, i32 1
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %e32 = extractelement <8 x i32> undef, i32 1
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s8_16 = sext i8 %e8 to i16
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %z8_16 = zext i8 %e8 to i16
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s8_32 = sext i8 %e8 to i32
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %z8_32 = zext i8 %e8 to i32
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s8_64 = sext i8 %e8 to i64
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %z8_64 = zext i8 %e8 to i64
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s16_32 = sext i16 %e16 to i32
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %z16_32 = zext i16 %e16 to i32
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s16_64 = sext i16 %e16 to i64
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %z16_64 = zext i16 %e16 to i64
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s32_64 = sext i32 %e32 to i64
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %z32_64 = zext i32 %e32 to i64
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 13 for instruction: call void @use(i16 %s8_16, i16 %z8_16, i32 %s8_32, i32 %z8_32, i64 %s8_64, i64 %z8_64, i32 %s16_32, i32 %z16_32, i64 %s16_64, i64 %z16_64, i64 %s32_64, i64 %z32_64)
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
++;
++  %e8 = extractelement <8 x i8> undef, i32 1
++  %e16 = extractelement <8 x i16> undef, i32 1
++  %e32 = extractelement <8 x i32> undef, i32 1
++  %s8_16 = sext i8 %e8 to i16
++  %z8_16 = zext i8 %e8 to i16
++  %s8_32 = sext i8 %e8 to i32
++  %z8_32 = zext i8 %e8 to i32
++  %s8_64 = sext i8 %e8 to i64
++  %z8_64 = zext i8 %e8 to i64
++  %s16_32 = sext i16 %e16 to i32
++  %z16_32 = zext i16 %e16 to i32
++  %s16_64 = sext i16 %e16 to i64
++  %z16_64 = zext i16 %e16 to i64
++  %s32_64 = sext i32 %e32 to i64
++  %z32_64 = zext i32 %e32 to i64
++  call void @use(i16 %s8_16, i16 %z8_16, i32 %s8_32, i32 %z8_32, i64 %s8_64, i64 %z8_64, i32 %s16_32, i32 %z16_32, i64 %s16_64, i64 %z16_64, i64 %s32_64, i64 %z32_64)
++  ret void
++}
++
++declare void @use(i16, i16, i32, i32, i64, i64, i32, i32, i64, i64, i64, i64)
++
+ attributes #0 = { "target-features"="+sve" }
+-- 
+2.36.0.rc0.470.gd361397f0d-goog
+
diff --git a/sys-devel/llvm/files/cherry/0e96d95d13d9f7b2a96bcaa569ce0a0181a6c7f3.patch b/sys-devel/llvm/files/cherry/0e96d95d13d9f7b2a96bcaa569ce0a0181a6c7f3.patch
new file mode 100644
index 0000000..192488d
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/0e96d95d13d9f7b2a96bcaa569ce0a0181a6c7f3.patch
@@ -0,0 +1,152 @@
+commit 0e96d95d13d9f7b2a96bcaa569ce0a0181a6c7f3
+Author: Jeremy Morse <jeremy.morse@sony.com>
+Date:   Fri Mar 4 16:39:22 2022 +0000
+
+    [DebugInfo][InstrRef] Accept register-reads after isel in any block
+    
+    When lowering LLVM-IR to instruction referencing stuff, if a value is
+    defined by a COPY, we try and follow the register definitions back to where
+    the value was defined, and build an instruction reference to that
+    instruction. In a few scenarios (such as arguments), this isn't possible.
+    I added some assertions to catch cases that weren't explicitly whitelisted.
+    
+    Over the course of a few months, several more scenarios have cropped up,
+    the lastest is the llvm.read_register intrinsic, which lets LLVM-IR read an
+    arbitary register at any point. In the face of this, there's little point
+    in validating whether debug-info reads a register in an expected scenario.
+    Thus: this patch just deletes those assertions, and adds a regression test
+    to check that something is done with the llvm.read_register intrinsic.
+    
+    Fixes #54190
+    
+    Differential Revision: https://reviews.llvm.org/D121001
+
+diff --git a/llvm/lib/CodeGen/MachineFunction.cpp b/llvm/lib/CodeGen/MachineFunction.cpp
+index fd5ea5cad072..884f609c1e75 100644
+--- a/llvm/lib/CodeGen/MachineFunction.cpp
++++ b/llvm/lib/CodeGen/MachineFunction.cpp
+@@ -1141,26 +1141,13 @@ auto MachineFunction::salvageCopySSA(MachineInstr &MI)
+   MachineBasicBlock &InsertBB = *CurInst->getParent();
+ 
+   // We reached the start of the block before finding a defining instruction.
+-  // It could be from a constant register, otherwise it must be an argument.
+-  if (TRI.isConstantPhysReg(State.first)) {
+-    // We can produce a DBG_PHI that identifies the constant physreg. Doesn't
+-    // matter where we put it, as it's constant valued.
+-    assert(CurInst->isCopy());
+-  } else if (State.first == TRI.getFrameRegister(*this)) {
+-    // LLVM IR is allowed to read the framepointer by calling a
+-    // llvm.frameaddress.* intrinsic. We can support this by emitting a
+-    // DBG_PHI $fp. This isn't ideal, because it extends the behaviours /
+-    // position that DBG_PHIs appear at, limiting what can be done later.
+-    // TODO: see if there's a better way of expressing these variable
+-    // locations.
+-    ;
+-  } else {
+-    // Assert that this is the entry block, or an EH pad. If it isn't, then
+-    // there is some code construct we don't recognise that deals with physregs
+-    // across blocks.
+-    assert(!State.first.isVirtual());
+-    assert(&*InsertBB.getParent()->begin() == &InsertBB || InsertBB.isEHPad());
+-  }
++  // There are numerous scenarios where this can happen:
++  // * Constant physical registers,
++  // * Several intrinsics that allow LLVM-IR to read arbitary registers,
++  // * Arguments in the entry block,
++  // * Exception handling landing pads.
++  // Validating all of them is too difficult, so just insert a DBG_PHI reading
++  // the variable value at this position, rather than checking it makes sense.
+ 
+   // Create DBG_PHI for specified physreg.
+   auto Builder = BuildMI(InsertBB, InsertBB.getFirstNonPHI(), DebugLoc(),
+diff --git a/llvm/test/DebugInfo/X86/instr-ref-ir-reg-read.ll b/llvm/test/DebugInfo/X86/instr-ref-ir-reg-read.ll
+new file mode 100644
+index 000000000000..ff1ccd939d71
+--- /dev/null
++++ b/llvm/test/DebugInfo/X86/instr-ref-ir-reg-read.ll
+@@ -0,0 +1,85 @@
++; RUN: llc %s -start-after=codegenprepare -stop-before=finalize-isel \
++; RUN:    -experimental-debug-variable-locations=true  -o - \
++; RUN: | FileCheck %s
++
++; Test that the given input doesn't crash with instrruction referencing variable
++; locations. The use of llvm.read_register allows the IR to access any register
++; at any point, which is unfortunate, but a use case that needs to be supported.
++;
++; Just examine to see that we read something from $rsp.
++; CHECK-LABEL: bb.1.if.then:
++; CHECK:       DBG_PHI $rsp, 1
++; CHECK:       DBG_INSTR_REF 1, 0
++
++source_filename = "tlb-9e7172.c"
++target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
++target triple = "x86_64-cros-linux-gnu"
++
++@c = dso_local local_unnamed_addr global i32 0, align 4, !dbg !0
++
++; Function Attrs: noredzone nounwind null_pointer_is_valid optsize sspstrong
++define dso_local void @switch_mm_irqs_off() local_unnamed_addr #0 !dbg !16 {
++entry:
++  %0 = load i32, i32* @c, align 4, !dbg !24
++  %tobool.not = icmp eq i32 %0, 0, !dbg !24
++  br i1 %tobool.not, label %if.end, label %if.then, !dbg !25
++
++if.then:                                          ; preds = %entry
++  call void @llvm.dbg.value(metadata i64 0, metadata !20, metadata !DIExpression()), !dbg !26
++  %1 = tail call i64 @llvm.read_register.i64(metadata !7), !dbg !27
++  call void @llvm.dbg.value(metadata i64 %1, metadata !20, metadata !DIExpression()), !dbg !26
++  %call = tail call i32 @b(i64 noundef %1) #4, !dbg !28
++  ret void, !dbg !29
++
++if.end:                                           ; preds = %entry
++  ret void, !dbg !29
++}
++
++; Function Attrs: nofree nounwind readonly
++declare i64 @llvm.read_register.i64(metadata) #1
++
++; Function Attrs: noredzone null_pointer_is_valid optsize
++declare !dbg !30 dso_local i32 @b(i64 noundef) local_unnamed_addr #2
++
++; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
++declare void @llvm.dbg.value(metadata, metadata, metadata) #3
++
++!llvm.dbg.cu = !{!2}
++!llvm.named.register.rsp = !{!7}
++!llvm.module.flags = !{!8, !9, !10, !11, !12, !13, !14}
++!llvm.ident = !{!15}
++
++!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
++!1 = distinct !DIGlobalVariable(name: "c", scope: !2, file: !5, line: 2, type: !6, isLocal: false, isDefinition: true)
++!2 = distinct !DICompileUnit(language: DW_LANG_C89, file: !3, producer: "clang", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, globals: !4, splitDebugInlining: false, debugInfoForProfiling: true, nameTableKind: None)
++!3 = !DIFile(filename: "tlb.c", directory: ".")
++!4 = !{!0}
++!5 = !DIFile(filename: "tlb-9e7172.c", directory: ".")
++!6 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
++!7 = !{!"rsp"}
++!8 = !{i32 7, !"Dwarf Version", i32 4}
++!9 = !{i32 2, !"Debug Info Version", i32 3}
++!10 = !{i32 1, !"wchar_size", i32 2}
++!11 = !{i32 1, !"Code Model", i32 2}
++!12 = !{i32 7, !"frame-pointer", i32 2}
++!13 = !{i32 1, !"override-stack-alignment", i32 8}
++!14 = !{i32 4, !"SkipRaxSetup", i32 1}
++!15 = !{!"clang version 15.0.0 (git@github.com:llvm/llvm-project ab49dce01f211fd80f76f449035d771f5e2720b9)"}
++!16 = distinct !DISubprogram(name: "switch_mm_irqs_off", scope: !5, file: !5, line: 4, type: !17, scopeLine: 4, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !19)
++!17 = !DISubroutineType(types: !18)
++!18 = !{null}
++!19 = !{!20}
++!20 = !DILocalVariable(name: "d", scope: !21, file: !5, line: 6, type: !23)
++!21 = distinct !DILexicalBlock(scope: !22, file: !5, line: 5, column: 10)
++!22 = distinct !DILexicalBlock(scope: !16, file: !5, line: 5, column: 7)
++!23 = !DIBasicType(name: "long", size: 64, encoding: DW_ATE_signed)
++!24 = !DILocation(line: 5, column: 7, scope: !22)
++!25 = !DILocation(line: 5, column: 7, scope: !16)
++!26 = !DILocation(line: 0, scope: !21)
++!27 = !DILocation(line: 6, column: 14, scope: !21)
++!28 = !DILocation(line: 7, column: 5, scope: !21)
++!29 = !DILocation(line: 9, column: 1, scope: !16)
++!30 = !DISubprogram(name: "b", scope: !5, file: !5, line: 3, type: !31, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized, retainedNodes: !33)
++!31 = !DISubroutineType(types: !32)
++!32 = !{!6, !23}
++!33 = !{}
diff --git a/sys-devel/llvm/files/cherry/140bfdca60ae8b1b2ad115846379e3c9ca914bfb.patch b/sys-devel/llvm/files/cherry/140bfdca60ae8b1b2ad115846379e3c9ca914bfb.patch
new file mode 100644
index 0000000..737d21a
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/140bfdca60ae8b1b2ad115846379e3c9ca914bfb.patch
@@ -0,0 +1,107 @@
+commit 140bfdca60ae8b1b2ad115846379e3c9ca914bfb
+Author: Nick Desaulniers <ndesaulniers@google.com>
+Date:   Thu Jul 14 11:25:21 2022 -0700
+
+    [clang][CodeGen] add fn_ret_thunk_extern to synthetic fns
+    
+    Follow up fix to
+    commit 2240d72f15f3 ("[X86] initial -mfunction-return=thunk-extern
+    support")
+    https://reviews.llvm.org/D129572
+    
+    @nathanchance reported that -mfunction-return=thunk-extern was failing
+    to annotate the asan and tsan contructors.
+    https://lore.kernel.org/llvm/Ys7pLq+tQk5xEa%2FB@dev-arch.thelio-3990X/
+    
+    I then noticed the same occurring for gcov synthetic functions.
+    
+    Similar to
+    commit 2786e67 ("[IR][sanitizer] Add module flag "frame-pointer" and set
+    it for cc1 -mframe-pointer={non-leaf,all}")
+    define a new module level MetaData, "fn_ret_thunk_extern", then when set
+    adds the fn_ret_thunk_extern IR Fn Attr to synthetically created
+    Functions.
+    
+    Fixes https://github.com/llvm/llvm-project/issues/56514
+    
+    Reviewed By: MaskRay
+    
+    Differential Revision: https://reviews.llvm.org/D129709
+
+diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp
+index c372bab1eccb..bdee31b504ae 100644
+--- a/clang/lib/CodeGen/CodeGenModule.cpp
++++ b/clang/lib/CodeGen/CodeGenModule.cpp
+@@ -756,6 +756,9 @@ void CodeGenModule::Release() {
+   if (CodeGenOpts.IBTSeal)
+     getModule().addModuleFlag(llvm::Module::Override, "ibt-seal", 1);
+ 
++  if (CodeGenOpts.FunctionReturnThunks)
++    getModule().addModuleFlag(llvm::Module::Override, "function_return_thunk_extern", 1);
++
+   // Add module metadata for return address signing (ignoring
+   // non-leaf/all) and stack tagging. These are actually turned on by function
+   // attributes, but we use module metadata to emit build attributes. This is
+diff --git a/clang/test/CodeGen/attr-function-return.c b/clang/test/CodeGen/attr-function-return.c
+index 2ec3fb146432..2187e014aaba 100644
+--- a/clang/test/CodeGen/attr-function-return.c
++++ b/clang/test/CodeGen/attr-function-return.c
+@@ -7,6 +7,15 @@
+ // RUN: %clang_cc1 -std=gnu2x -triple x86_64-linux-gnu %s -emit-llvm -o - \
+ // RUN:   -Werror=ignored-attributes -mfunction-return=thunk-extern \
+ // RUN:   | FileCheck %s --check-prefixes=CHECK,CHECK-EXTERN
++// RUN: %clang_cc1 -std=gnu2x -triple x86_64-linux-gnu %s -emit-llvm -o - \
++// RUN:  -mfunction-return=thunk-extern -fprofile-arcs \
++// RUN:   | FileCheck %s --check-prefix=CHECK-GCOV
++// RUN: %clang_cc1 -std=gnu2x -triple x86_64-linux-gnu %s -emit-llvm -o - \
++// RUN:  -mfunction-return=thunk-extern -fsanitize=address \
++// RUN:   | FileCheck %s --check-prefix=CHECK-ASAN
++// RUN: %clang_cc1 -std=gnu2x -triple x86_64-linux-gnu %s -emit-llvm -o - \
++// RUN:  -mfunction-return=thunk-extern -fsanitize=thread \
++// RUN:   | FileCheck %s --check-prefix=CHECK-TSAN
+ 
+ #if !__has_attribute(function_return)
+ #error "missing attribute support for function_return"
+@@ -92,6 +101,16 @@ __attribute__((function_return("thunk-extern"))) void change_def4(void) {}
+ // CHECK-EXTERN: @no_attrs() [[EXTERN]]
+ void no_attrs(void) {}
+ 
++// Test synthetic functions.
++// CHECK-GCOV: @__llvm_gcov_writeout() unnamed_addr [[EXTERNGCOV:#[0-9]+]]
++// CHECK-GCOV: @__llvm_gcov_reset() unnamed_addr [[EXTERNGCOV]]
++// CHECK-GCOV: @__llvm_gcov_init() unnamed_addr [[EXTERNGCOV]]
++// CHECK-ASAN: @asan.module_ctor() [[EXTERNASAN:#[0-9]+]]
++// CHECK-TSAN: @tsan.module_ctor() [[EXTERNTSAN:#[0-9]+]]
++
+ // CHECK-NOM-NOT:  [[NOATTR]] = {{.*}}fn_ret_thunk_extern
+ // CHECK-KEEP-NOT: [[NOATTR]] = {{.*}}fn_ret_thunk_extern
+ // CHECK: [[EXTERN]] = {{.*}}fn_ret_thunk_extern
++// CHECK-GCOV: [[EXTERNGCOV]] = {{.*}}fn_ret_thunk_extern
++// CHECK-ASAN: [[EXTERNASAN]] = {{.*}}fn_ret_thunk_extern
++// CHECK-TSAN: [[EXTERNTSAN]] = {{.*}}fn_ret_thunk_extern
+diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
+index 54ed0cc3f8d3..24b3b5183da8 100644
+--- a/llvm/docs/LangRef.rst
++++ b/llvm/docs/LangRef.rst
+@@ -7364,6 +7364,8 @@ functions is small.
+ - "frame-pointer": **Max**. The value can be 0, 1, or 2. A synthesized function
+   will get the "frame-pointer" function attribute, with value being "none",
+   "non-leaf", or "all", respectively.
++- "function_return_thunk_extern": The synthesized function will get the
++  ``fn_return_thunk_extern`` function attribute.
+ - "uwtable": **Max**. The value can be 0, 1, or 2. If the value is 1, a synthesized
+   function will get the ``uwtable(sync)`` function attribute, if the value is 2,
+   a synthesized function will get the ``uwtable(async)`` function attribute.
+diff --git a/llvm/lib/IR/Function.cpp b/llvm/lib/IR/Function.cpp
+index 53df94366760..d4138133721e 100644
+--- a/llvm/lib/IR/Function.cpp
++++ b/llvm/lib/IR/Function.cpp
+@@ -354,6 +354,8 @@ Function *Function::createWithDefaultAttr(FunctionType *Ty,
+     B.addAttribute("frame-pointer", "all");
+     break;
+   }
++  if (M->getModuleFlag("function_return_thunk_extern"))
++    B.addAttribute(Attribute::FnRetThunkExtern);
+   F->addFnAttrs(B);
+   return F;
+ }
diff --git a/sys-devel/llvm/files/cherry/163c77b2e0831853b59cdd24ece9637f8a19cc79.patch b/sys-devel/llvm/files/cherry/163c77b2e0831853b59cdd24ece9637f8a19cc79.patch
new file mode 100644
index 0000000..b509bc1
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/163c77b2e0831853b59cdd24ece9637f8a19cc79.patch
@@ -0,0 +1,60 @@
+commit 163c77b2e0831853b59cdd24ece9637f8a19cc79
+Author: Serguei Katkov <serguei.katkov@azul.com>
+Date:   Wed Jun 8 19:14:20 2022 +0700
+
+    [AARCH64 folding] Do not fold any copy with NZCV
+    
+    There is no instruction to fold NZCV, so, just do not do it.
+    
+    Without the fix the added test case crashes with an assert
+    "Mismatched register size in non subreg COPY"
+    
+    Reviewed By: danilaml
+    Subscribers: llvm-commits
+    Differential Revision: https://reviews.llvm.org/D127294
+
+diff --git a/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp b/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+index 77135de1d3f3..05fd190a6e54 100644
+--- a/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
++++ b/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+@@ -4437,6 +4437,9 @@ MachineInstr *AArch64InstrInfo::foldMemoryOperandImpl(
+       MF.getRegInfo().constrainRegClass(SrcReg, &AArch64::GPR64RegClass);
+       return nullptr;
+     }
++    // Nothing can folded with copy from/to NZCV.
++    if (SrcReg == AArch64::NZCV || DstReg == AArch64::NZCV)
++      return nullptr;
+   }
+ 
+   // Handle the case where a copy is being spilled or filled but the source
+diff --git a/llvm/test/CodeGen/AArch64/spill-fold.mir b/llvm/test/CodeGen/AArch64/spill-fold.mir
+index 624fcc449b6c..02d409d04da7 100644
+--- a/llvm/test/CodeGen/AArch64/spill-fold.mir
++++ b/llvm/test/CodeGen/AArch64/spill-fold.mir
+@@ -5,6 +5,7 @@
+   define i64 @test_subreg_spill_fold3() { ret i64 0 }
+   define i64 @test_subreg_fill_fold() { ret i64 0 }
+   define double @test_subreg_fill_fold2() { ret double 0.0 }
++  define i64 @test_nzcv_spill_fold() { ret i64 0 }
+ ...
+ ---
+ # CHECK-LABEL: name: test_subreg_spill_fold
+@@ -80,3 +81,18 @@ body:             |
+     $d0 = COPY %1
+     RET_ReallyLR implicit $d0
+ ...
++---
++# CHECK-LABEL: name: test_nzcv_spill_fold
++# Ensure that nzcv COPY cannot be folded.
++name:            test_nzcv_spill_fold
++registers:
++  - { id: 0, class: gpr64 }
++body:             |
++  bb.0:
++    ; CHECK: %1:gpr64 = COPY $nzcv
++    ; CHECK: STRXui %1, %stack.0, 0 :: (store (s64) into %stack.0)
++    %0 = COPY $nzcv
++    INLINEASM &nop, 1, 12, implicit-def dead $x0, 12, implicit-def dead $x1, 12, implicit-def dead $x2, 12, implicit-def dead $x3, 12, implicit-def dead $x4, 12, implicit-def dead $x5, 12, implicit-def dead $x6, 12, implicit-def dead $x7, 12, implicit-def dead $x8, 12, implicit-def dead $x9, 12, implicit-def dead $x10, 12, implicit-def dead $x11, 12, implicit-def dead $x12, 12, implicit-def dead $x13, 12, implicit-def dead $x14, 12, implicit-def dead $x15, 12, implicit-def dead $x16, 12, implicit-def dead $x17, 12, implicit-def dead $x18, 12, implicit-def dead $x19, 12, implicit-def dead $x20, 12, implicit-def dead $x21, 12, implicit-def dead $x22, 12, implicit-def dead $x23, 12, implicit-def dead $x24, 12, implicit-def dead $x25, 12, implicit-def dead $x26, 12, implicit-def dead $x27, 12, implicit-def dead $x28, 12, implicit-def dead $fp, 12, implicit-def dead $lr, 12, implicit-def $sp
++    $x0 = COPY %0
++    RET_ReallyLR implicit $x0
++...
diff --git a/sys-devel/llvm/files/cherry/1db59dc8e28819b1960dae8e7fe6d79ad4b03340.patch b/sys-devel/llvm/files/cherry/1db59dc8e28819b1960dae8e7fe6d79ad4b03340.patch
new file mode 100644
index 0000000..ae0690c
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/1db59dc8e28819b1960dae8e7fe6d79ad4b03340.patch
@@ -0,0 +1,112 @@
+commit 1db59dc8e28819b1960dae8e7fe6d79ad4b03340
+Author: Fangrui Song <i@maskray.me>
+Date:   Mon Mar 28 11:05:52 2022 -0700
+
+    [ELF] Fix llvm_unreachable failure when COMMON is placed in SHT_PROGBITS output section
+    
+    Fix a regression in aa27bab5a1a17e9c4168a741a6298ecaa92c1ecb: COMMON in an
+    SHT_PROGBITS output section caused llvm_unreachable failure.
+
+diff --git a/lld/ELF/SyntheticSections.h b/lld/ELF/SyntheticSections.h
+index f0f0c4845e6f..ad948e896871 100644
+--- a/lld/ELF/SyntheticSections.h
++++ b/lld/ELF/SyntheticSections.h
+@@ -186,9 +186,7 @@ private:
+ class BssSection final : public SyntheticSection {
+ public:
+   BssSection(StringRef name, uint64_t size, uint32_t alignment);
+-  void writeTo(uint8_t *) override {
+-    llvm_unreachable("unexpected writeTo() call for SHT_NOBITS section");
+-  }
++  void writeTo(uint8_t *) override {}
+   bool isNeeded() const override { return size != 0; }
+   size_t getSize() const override { return size; }
+ 
+diff --git a/lld/test/ELF/linkerscript/common.s b/lld/test/ELF/linkerscript/common.s
+index 04b667f65912..69376011656f 100644
+--- a/lld/test/ELF/linkerscript/common.s
++++ b/lld/test/ELF/linkerscript/common.s
+@@ -1,47 +1,44 @@
+ # REQUIRES: x86
+-# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
+-# RUN: echo "SECTIONS { . = SIZEOF_HEADERS; .common : { *(COMMON) } }" > %t.script
+-# RUN: ld.lld -o %t1 --script %t.script %t
+-# RUN: llvm-readobj -S --symbols %t1 | FileCheck %s
+-
+-# CHECK:       Section {
+-# CHECK:         Index:
+-# CHECK:         Name: .common
+-# CHECK-NEXT:    Type: SHT_NOBITS
+-# CHECK-NEXT:    Flags [
+-# CHECK-NEXT:      SHF_ALLOC
+-# CHECK-NEXT:      SHF_WRITE
+-# CHECK-NEXT:    ]
+-# CHECK-NEXT:    Address: 0x200
+-# CHECK-NEXT:    Offset: 0x
+-# CHECK-NEXT:    Size: 384
+-# CHECK-NEXT:    Link: 0
+-# CHECK-NEXT:    Info: 0
+-# CHECK-NEXT:    AddressAlignment: 256
+-# CHECK-NEXT:    EntrySize: 0
+-# CHECK-NEXT:  }
+-# CHECK:       Symbol {
+-# CHECK:         Name: q1
+-# CHECK-NEXT:    Value: 0x200
+-# CHECK-NEXT:    Size: 128
+-# CHECK-NEXT:    Binding: Global
+-# CHECK-NEXT:    Type: Object
+-# CHECK-NEXT:    Other: 0
+-# CHECK-NEXT:    Section: .common
+-# CHECK-NEXT:  }
+-# CHECK-NEXT:  Symbol {
+-# CHECK-NEXT:    Name: q2
+-# CHECK-NEXT:    Value: 0x300
+-# CHECK-NEXT:    Size: 128
+-# CHECK-NEXT:    Binding: Global
+-# CHECK-NEXT:    Type: Object
+-# CHECK-NEXT:    Other: 0
+-# CHECK-NEXT:    Section: .common
+-# CHECK-NEXT:  }
++## Test that COMMON matches common symbols.
+ 
++# RUN: rm -rf %t && split-file %s %t
++# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %t/a.s -o %t/a.o
++# RUN: ld.lld -T %t/1.t %t/a.o -o %t/a1
++# RUN: llvm-readelf -S -s %t/a1 | FileCheck %s --check-prefix=CHECK1
++# RUN: ld.lld -T %t/2.t %t/a.o -o %t/a2
++# RUN: llvm-readelf -S -s %t/a2 | FileCheck %s --check-prefix=CHECK2
++
++# CHECK1:      [Nr] Name    Type     Address  Off      Size   ES Flg Lk Inf Al
++# CHECK1-NEXT: [ 0]         NULL     [[#%x,]] [[#%x,]] 000000 00      0   0  0
++# CHECK1-NEXT: [ 1] .text   PROGBITS [[#%x,]] [[#%x,]] 000005 00  AX  0   0  4
++# CHECK1-NEXT: [ 2] .data   PROGBITS [[#%x,]] [[#%x,]] 000001 00  WA  0   0  1
++# CHECK1-NEXT: [ 3] .common NOBITS   [[#%x,]] [[#%x,]] 000180 00  WA  0   0 256
++# CHECK1:         Value          Size Type    Bind   Vis     Ndx   Name
++# CHECK1-DAG:  [[#%x,]]           128 OBJECT  GLOBAL DEFAULT [[#]] q1
++# CHECK1-DAG:  [[#%x,]]           128 OBJECT  GLOBAL DEFAULT [[#]] q2
++
++# CHECK2:      [Nr] Name    Type     Address  Off      Size   ES Flg Lk Inf Al
++# CHECK2-NEXT: [ 0]         NULL     [[#%x,]] [[#%x,]] 000000 00      0   0  0
++# CHECK2-NEXT: [ 1] .text   PROGBITS [[#%x,]] [[#%x,]] 000005 00  AX  0   0  4
++# CHECK2-NEXT: [ 2] .data   PROGBITS [[#%x,]] [[#%x,]] 000180 00  WA  0   0 256
++# CHECK2:         Value          Size Type    Bind   Vis     Ndx   Name
++# CHECK2-DAG:  [[#%x,]]           128 OBJECT  GLOBAL DEFAULT [[#]] q1
++# CHECK2-DAG:  [[#%x,]]           128 OBJECT  GLOBAL DEFAULT [[#]] q2
++
++#--- a.s
+ .globl _start
+ _start:
+   jmp _start
+ 
++.section .data,"aw",@progbits
++.byte 0
++
+ .comm q1,128,8
+ .comm q2,128,256
++
++#--- 1.t
++SECTIONS { . = SIZEOF_HEADERS; .common : { *(COMMON) } }
++
++#--- 2.t
++## COMMON can be placed in a SHT_PROGBITS section.
++SECTIONS { . = SIZEOF_HEADERS; .data : { *(.data) *(COMMON) } }
diff --git a/sys-devel/llvm/files/cherry/1f82d0f795d11376adf3e62fc35fd98bb46e82b0.patch b/sys-devel/llvm/files/cherry/1f82d0f795d11376adf3e62fc35fd98bb46e82b0.patch
new file mode 100644
index 0000000..63b2ed9
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/1f82d0f795d11376adf3e62fc35fd98bb46e82b0.patch
@@ -0,0 +1,237 @@
+commit 1f82d0f795d11376adf3e62fc35fd98bb46e82b0
+Author: Manoj Gupta <manojgupta@google.com>
+Date:   Mon Mar 14 14:19:37 2022 -0700
+
+    [msan] Add interceptors for Linux 64-bit stat variants
+    
+    glibc >= 2.33 uses shared functions for stat family functions.
+    D111984 added support for non-64 bit variants but they
+    do not appear to be enough as we have been noticing msan
+    errors on 64-bit stat variants on Chrome OS.
+    
+    Reviewed By: vitalybuka
+    
+    Differential Revision: https://reviews.llvm.org/D121652
+
+diff --git a/compiler-rt/lib/msan/msan_interceptors.cpp b/compiler-rt/lib/msan/msan_interceptors.cpp
+index dbe18ce37509..d745fa7563d9 100644
+--- a/compiler-rt/lib/msan/msan_interceptors.cpp
++++ b/compiler-rt/lib/msan/msan_interceptors.cpp
+@@ -666,6 +666,19 @@ INTERCEPTOR(int, fstat, int fd, void *buf) {
+ #define MSAN_MAYBE_INTERCEPT_FSTAT
+ #endif
+ 
++#if SANITIZER_STAT_LINUX
++INTERCEPTOR(int, fstat64, int fd, void *buf) {
++  ENSURE_MSAN_INITED();
++  int res = REAL(fstat64)(fd, buf);
++  if (!res)
++    __msan_unpoison(buf, __sanitizer::struct_stat64_sz);
++  return res;
++}
++#  define MSAN_MAYBE_INTERCEPT_FSTAT64 MSAN_INTERCEPT_FUNC(fstat64)
++#else
++#  define MSAN_MAYBE_INTERCEPT_FSTAT64
++#endif
++
+ #if SANITIZER_GLIBC
+ INTERCEPTOR(int, __fxstat, int magic, int fd, void *buf) {
+   ENSURE_MSAN_INITED();
+@@ -704,6 +717,19 @@ INTERCEPTOR(int, fstatat, int fd, char *pathname, void *buf, int flags) {
+ #  define MSAN_MAYBE_INTERCEPT_FSTATAT
+ #endif
+ 
++#if SANITIZER_STAT_LINUX
++INTERCEPTOR(int, fstatat64, int fd, char *pathname, void *buf, int flags) {
++  ENSURE_MSAN_INITED();
++  int res = REAL(fstatat64)(fd, pathname, buf, flags);
++  if (!res)
++    __msan_unpoison(buf, __sanitizer::struct_stat64_sz);
++  return res;
++}
++#  define MSAN_MAYBE_INTERCEPT_FSTATAT64 MSAN_INTERCEPT_FUNC(fstatat64)
++#else
++#  define MSAN_MAYBE_INTERCEPT_FSTATAT64
++#endif
++
+ #if SANITIZER_GLIBC
+ INTERCEPTOR(int, __fxstatat, int magic, int fd, char *pathname, void *buf,
+             int flags) {
+@@ -1691,8 +1717,10 @@ void InitializeInterceptors() {
+   INTERCEPT_FUNCTION(gettimeofday);
+   MSAN_MAYBE_INTERCEPT_FCVT;
+   MSAN_MAYBE_INTERCEPT_FSTAT;
++  MSAN_MAYBE_INTERCEPT_FSTAT64;
+   MSAN_MAYBE_INTERCEPT___FXSTAT;
+   MSAN_MAYBE_INTERCEPT_FSTATAT;
++  MSAN_MAYBE_INTERCEPT_FSTATAT64;
+   MSAN_MAYBE_INTERCEPT___FXSTATAT;
+   MSAN_MAYBE_INTERCEPT___FXSTAT64;
+   MSAN_MAYBE_INTERCEPT___FXSTATAT64;
+diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
+index eeeeb1622ff5..18b023078441 100644
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
+@@ -6941,6 +6941,23 @@ INTERCEPTOR(int, stat, const char *path, void *buf) {
+ #define INIT_STAT
+ #endif
+ 
++#if SANITIZER_INTERCEPT_STAT64
++INTERCEPTOR(int, stat64, const char *path, void *buf) {
++  void *ctx;
++  COMMON_INTERCEPTOR_ENTER(ctx, stat64, path, buf);
++  if (common_flags()->intercept_stat)
++    COMMON_INTERCEPTOR_READ_STRING(ctx, path, 0);
++  int res = REAL(stat64)(path, buf);
++  if (!res)
++    COMMON_INTERCEPTOR_WRITE_RANGE(ctx, buf, __sanitizer::struct_stat64_sz);
++  return res;
++}
++#define INIT_STAT64 COMMON_INTERCEPT_FUNCTION(stat64)
++#else
++#define INIT_STAT64
++#endif
++
++
+ #if SANITIZER_INTERCEPT_LSTAT
+ INTERCEPTOR(int, lstat, const char *path, void *buf) {
+   void *ctx;
+@@ -6957,6 +6974,22 @@ INTERCEPTOR(int, lstat, const char *path, void *buf) {
+ #define INIT_LSTAT
+ #endif
+ 
++#if SANITIZER_INTERCEPT_STAT64
++INTERCEPTOR(int, lstat64, const char *path, void *buf) {
++  void *ctx;
++  COMMON_INTERCEPTOR_ENTER(ctx, lstat64, path, buf);
++  if (common_flags()->intercept_stat)
++    COMMON_INTERCEPTOR_READ_STRING(ctx, path, 0);
++  int res = REAL(lstat64)(path, buf);
++  if (!res)
++    COMMON_INTERCEPTOR_WRITE_RANGE(ctx, buf, __sanitizer::struct_stat64_sz);
++  return res;
++}
++#define INIT_LSTAT64 COMMON_INTERCEPT_FUNCTION(lstat64)
++#else
++#define INIT_LSTAT64
++#endif
++
+ #if SANITIZER_INTERCEPT___XSTAT
+ INTERCEPTOR(int, __xstat, int version, const char *path, void *buf) {
+   void *ctx;
+@@ -10516,8 +10549,10 @@ static void InitializeCommonInterceptors() {
+   INIT_RECV_RECVFROM;
+   INIT_SEND_SENDTO;
+   INIT_STAT;
++  INIT_STAT64;
+   INIT_EVENTFD_READ_WRITE;
+   INIT_LSTAT;
++  INIT_LSTAT64;
+   INIT___XSTAT;
+   INIT___XSTAT64;
+   INIT___LXSTAT;
+diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
+index 14610f2df78d..4c9677d20c08 100644
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
+@@ -465,6 +465,7 @@
+ #define SANITIZER_INTERCEPT_STAT                                        \
+   (SI_FREEBSD || SI_MAC || SI_ANDROID || SI_NETBSD || SI_SOLARIS ||     \
+    SI_STAT_LINUX)
++#define SANITIZER_INTERCEPT_STAT64 SI_STAT_LINUX
+ #define SANITIZER_INTERCEPT_LSTAT (SI_NETBSD || SI_FREEBSD || SI_STAT_LINUX)
+ #define SANITIZER_INTERCEPT___XSTAT \
+   ((!SANITIZER_INTERCEPT_STAT && SI_POSIX) || SI_STAT_LINUX)
+diff --git a/compiler-rt/test/msan/fstat64.cpp b/compiler-rt/test/msan/fstat64.cpp
+new file mode 100644
+index 000000000000..8e3a6d553bfc
+--- /dev/null
++++ b/compiler-rt/test/msan/fstat64.cpp
+@@ -0,0 +1,16 @@
++// REQUIRES: linux
++// RUN: %clangxx_msan -O0 %s -o %t && %run %t
++
++#include <stdlib.h>
++#include <sys/stat.h>
++
++int main(void) {
++  struct stat64 st;
++  if (fstat64(0, &st))
++    exit(1);
++
++  if (S_ISBLK(st.st_mode))
++    exit(0);
++
++  return 0;
++}
+diff --git a/compiler-rt/test/msan/fstatat64.cpp b/compiler-rt/test/msan/fstatat64.cpp
+new file mode 100644
+index 000000000000..253299c45669
+--- /dev/null
++++ b/compiler-rt/test/msan/fstatat64.cpp
+@@ -0,0 +1,18 @@
++// REQUIRES: linux
++// RUN: %clangxx_msan -O0 %s -o %t && %run %t
++
++#include <cassert>
++#include <cstdlib>
++#include <fcntl.h>
++#include <sys/stat.h>
++
++int main(void) {
++  struct stat64 st;
++  int dirfd = open("/dev", O_RDONLY);
++  if (fstatat64(dirfd, "null", &st, 0))
++    exit(1);
++
++  assert(S_ISCHR(st.st_mode));
++
++  return 0;
++}
+diff --git a/compiler-rt/test/msan/stat64.cpp b/compiler-rt/test/msan/stat64.cpp
+new file mode 100644
+index 000000000000..a1280a0de37d
+--- /dev/null
++++ b/compiler-rt/test/msan/stat64.cpp
+@@ -0,0 +1,16 @@
++// REQUIRES: linux
++// RUN: %clangxx_msan -O0 %s -o %t && %run %t
++
++#include <cassert>
++#include <cstdlib>
++#include <sys/stat.h>
++
++int main(void) {
++  struct stat64 st;
++  if (stat64("/dev/null", &st))
++    exit(1);
++
++  assert(S_ISCHR(st.st_mode));
++
++  return 0;
++}
+diff --git a/compiler-rt/test/sanitizer_common/TestCases/Posix/lstat64.cpp b/compiler-rt/test/sanitizer_common/TestCases/Posix/lstat64.cpp
+new file mode 100644
+index 000000000000..22ab3068274e
+--- /dev/null
++++ b/compiler-rt/test/sanitizer_common/TestCases/Posix/lstat64.cpp
+@@ -0,0 +1,19 @@
++// REQUIRES: linux
++// RUN: %clangxx -O0 -g %s -o %t && %run %t
++
++#include <assert.h>
++#include <stdlib.h>
++#include <sys/stat.h>
++
++int main(void) {
++  struct stat64 st;
++
++  assert(!lstat64("/dev/null", &st));
++#if defined(__sun__) && defined(__svr4__)
++  assert(S_ISLNK(st.st_mode));
++#else
++  assert(S_ISCHR(st.st_mode));
++#endif
++
++  return 0;
++}
diff --git a/sys-devel/llvm/files/cherry/2240d72f15f3b7b9d9fb65450f9bf635fd310f6f-v2.patch b/sys-devel/llvm/files/cherry/2240d72f15f3b7b9d9fb65450f9bf635fd310f6f-v2.patch
new file mode 100644
index 0000000..ae1685d
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/2240d72f15f3b7b9d9fb65450f9bf635fd310f6f-v2.patch
@@ -0,0 +1,910 @@
+commit 97398da2580309352e2f85bc1e44fdf81f2fdba2
+Author: George Burgess IV <gbiv@google.com>
+Date:   Tue Jul 19 18:12:54 2022 -0700
+
+    .
+
+diff --git a/clang/include/clang/Basic/Attr.td b/clang/include/clang/Basic/Attr.td
+index 5f77073413fb..b3db0335c8f1 100644
+--- a/clang/include/clang/Basic/Attr.td
++++ b/clang/include/clang/Basic/Attr.td
+@@ -4019,3 +4019,14 @@ def NoRandomizeLayout : InheritableAttr {
+   let LangOpts = [COnly];
+ }
+ def : MutualExclusions<[RandomizeLayout, NoRandomizeLayout]>;
++
++def FunctionReturnThunks : InheritableAttr,
++    TargetSpecificAttr<TargetAnyX86> {
++  let Spellings = [GCC<"function_return">];
++  let Args = [EnumArgument<"ThunkType", "Kind",
++    ["keep", "thunk-extern"],
++    ["Keep", "Extern"]
++  >];
++  let Subjects = SubjectList<[Function]>;
++  let Documentation = [FunctionReturnThunksDocs];
++}
+diff --git a/clang/include/clang/Basic/AttrDocs.td b/clang/include/clang/Basic/AttrDocs.td
+index dbb7f695a5a2..e431f3be5a72 100644
+--- a/clang/include/clang/Basic/AttrDocs.td
++++ b/clang/include/clang/Basic/AttrDocs.td
+@@ -6586,3 +6586,25 @@ evaluate to NULL.
+ 
+   }];
+ }
++
++def FunctionReturnThunksDocs : Documentation {
++  let Category = DocCatFunction;
++  let Content = [{
++The attribute ``function_return`` can replace return instructions with jumps to
++target-specific symbols. This attribute supports 2 possible values,
++corresponding to the values supported by the ``-mfunction-return=`` command
++line flag:
++* ``__attribute__((function_return("keep")))`` to disable related transforms.
++  This is useful for undoing global setting from ``-mfunction-return=`` locally
++  for individual functions.
++* ``__attribute__((function_return("thunk-extern")))`` to replace returns with
++  jumps, while NOT emitting the thunk.
++
++The values ``thunk`` and ``thunk-inline`` from GCC are not supported.
++
++The symbol used for ``thunk-extern`` is target specific:
++* X86: ``__x86_return_thunk``
++
++As such, this function attribute is currently only supported on X86 targets.
++   }];
++ }
+diff --git a/clang/include/clang/Basic/CodeGenOptions.def b/clang/include/clang/Basic/CodeGenOptions.def
+index 8e89106993c2..a2c225cf2e19 100644
+--- a/clang/include/clang/Basic/CodeGenOptions.def
++++ b/clang/include/clang/Basic/CodeGenOptions.def
+@@ -107,6 +107,7 @@ CODEGENOPT(CFProtectionReturn , 1, 0) ///< if -fcf-protection is
+ CODEGENOPT(CFProtectionBranch , 1, 0) ///< if -fcf-protection is
+                                       ///< set to full or branch.
+ CODEGENOPT(IBTSeal, 1, 0)             ///< set to optimize CFProtectionBranch.
++CODEGENOPT(FunctionReturnThunks, 1, 0) ///< -mfunction-return={keep|thunk-extern}
+ 
+ CODEGENOPT(XRayInstrumentFunctions , 1, 0) ///< Set when -fxray-instrument is
+                                            ///< enabled.
+diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
+index 5fa681f53819..eb6535db6000 100644
+--- a/clang/include/clang/Driver/Options.td
++++ b/clang/include/clang/Driver/Options.td
+@@ -1989,6 +1989,13 @@ def fcf_protection : Flag<["-"], "fcf-protection">, Group<f_Group>, Flags<[CoreO
+   HelpText<"Enable cf-protection in 'full' mode">;
+ def mibt_seal : Flag<["-"], "mibt-seal">, Group<m_Group>, Flags<[CoreOption, CC1Option]>,
+   HelpText<"Optimize fcf-protection=branch/full (requires LTO).">;
++def mfunction_return_EQ : Joined<["-"], "mfunction-return=">,
++  Group<m_Group>, Flags<[CoreOption, CC1Option]>,
++  HelpText<"Replace returns with jumps to ``__x86_return_thunk`` (x86 only, error otherwise)">,
++  Values<"keep,thunk-extern">,
++  NormalizedValues<["Keep", "Extern"]>,
++  NormalizedValuesScope<"llvm::FunctionReturnThunksKind">,
++  MarshallingInfoEnum<CodeGenOpts<"FunctionReturnThunks">, "Keep">;
+ 
+ defm xray_instrument : BoolFOption<"xray-instrument",
+   LangOpts<"XRayInstrument">, DefaultFalse,
+diff --git a/clang/lib/CodeGen/CodeGenFunction.cpp b/clang/lib/CodeGen/CodeGenFunction.cpp
+index 7d75d186969a..ecc7808c419a 100644
+--- a/clang/lib/CodeGen/CodeGenFunction.cpp
++++ b/clang/lib/CodeGen/CodeGenFunction.cpp
+@@ -920,6 +920,20 @@ void CodeGenFunction::StartFunction(GlobalDecl GD, QualType RetTy,
+   if (D && D->hasAttr<NoProfileFunctionAttr>())
+     Fn->addFnAttr(llvm::Attribute::NoProfile);
+ 
++  if (D) {
++    // Function attributes take precedence over command line flags.
++    if (auto *A = D->getAttr<FunctionReturnThunksAttr>()) {
++      switch (A->getThunkType()) {
++      case FunctionReturnThunksAttr::Kind::Keep:
++        break;
++      case FunctionReturnThunksAttr::Kind::Extern:
++        Fn->addFnAttr(llvm::Attribute::FnRetThunkExtern);
++        break;
++      }
++    } else if (CGM.getCodeGenOpts().FunctionReturnThunks)
++      Fn->addFnAttr(llvm::Attribute::FnRetThunkExtern);
++  }
++
+   if (FD && getLangOpts().OpenCL) {
+     // Add metadata for a kernel function.
+     EmitOpenCLKernelMetadata(FD, Fn);
+diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
+index 43373083f8aa..11fe73fb9faf 100644
+--- a/clang/lib/Driver/ToolChains/Clang.cpp
++++ b/clang/lib/Driver/ToolChains/Clang.cpp
+@@ -6307,6 +6307,10 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
+   if (IsUsingLTO)
+     Args.AddLastArg(CmdArgs, options::OPT_mibt_seal);
+ 
++  if (Arg *A = Args.getLastArg(options::OPT_mfunction_return_EQ))
++    CmdArgs.push_back(
++        Args.MakeArgString(Twine("-mfunction-return=") + A->getValue()));
++
+   // Forward -f options with positive and negative forms; we translate these by
+   // hand.  Do not propagate PGO options to the GPU-side compilations as the
+   // profile info is for the host-side compilation only.
+diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp
+index 5d7916ace87e..dff5bc289308 100644
+--- a/clang/lib/Frontend/CompilerInvocation.cpp
++++ b/clang/lib/Frontend/CompilerInvocation.cpp
+@@ -1485,6 +1485,9 @@ void CompilerInvocation::GenerateCodeGenArgs(
+   if (Opts.IBTSeal)
+     GenerateArg(Args, OPT_mibt_seal, SA);
+ 
++  if (Opts.FunctionReturnThunks)
++    GenerateArg(Args, OPT_mfunction_return_EQ, "thunk-extern", SA);
++
+   for (const auto &F : Opts.LinkBitcodeFiles) {
+     bool Builtint = F.LinkFlags == llvm::Linker::Flags::LinkOnlyNeeded &&
+                     F.PropagateAttrs && F.Internalize;
+@@ -1825,6 +1828,27 @@ bool CompilerInvocation::ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args,
+       Diags.Report(diag::err_drv_invalid_value) << A->getAsString(Args) << Name;
+   }
+ 
++  if (const Arg *A = Args.getLastArg(OPT_mfunction_return_EQ)) {
++    auto Val = llvm::StringSwitch<llvm::FunctionReturnThunksKind>(A->getValue())
++                   .Case("keep", llvm::FunctionReturnThunksKind::Keep)
++                   .Case("thunk-extern", llvm::FunctionReturnThunksKind::Extern)
++                   .Default(llvm::FunctionReturnThunksKind::Invalid);
++    // SystemZ might want to add support for "expolines."
++    if (!T.isX86())
++      Diags.Report(diag::err_drv_argument_not_allowed_with)
++          << A->getSpelling() << T.getTriple();
++    else if (Val == llvm::FunctionReturnThunksKind::Invalid)
++      Diags.Report(diag::err_drv_invalid_value)
++          << A->getAsString(Args) << A->getValue();
++    else if (Val == llvm::FunctionReturnThunksKind::Extern &&
++             Args.getLastArgValue(OPT_mcmodel_EQ).equals("large"))
++      Diags.Report(diag::err_drv_argument_not_allowed_with)
++          << A->getAsString(Args)
++          << Args.getLastArg(OPT_mcmodel_EQ)->getAsString(Args);
++    else
++      Opts.FunctionReturnThunks = static_cast<unsigned>(Val);
++  }
++
+   if (Opts.PrepareForLTO && Args.hasArg(OPT_mibt_seal))
+     Opts.IBTSeal = 1;
+ 
+diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp
+index bd4d9414365e..8d45fb4465ad 100644
+--- a/clang/lib/Sema/SemaDeclAttr.cpp
++++ b/clang/lib/Sema/SemaDeclAttr.cpp
+@@ -7996,6 +7996,26 @@ static void handleZeroCallUsedRegsAttr(Sema &S, Decl *D, const ParsedAttr &AL) {
+   D->addAttr(ZeroCallUsedRegsAttr::Create(S.Context, Kind, AL));
+ }
+ 
++static void handleFunctionReturnThunksAttr(Sema &S, Decl *D,
++                                           const ParsedAttr &AL) {
++  StringRef KindStr;
++  SourceLocation LiteralLoc;
++  if (!S.checkStringLiteralArgumentAttr(AL, 0, KindStr, &LiteralLoc))
++    return;
++
++  FunctionReturnThunksAttr::Kind Kind;
++  if (!FunctionReturnThunksAttr::ConvertStrToKind(KindStr, Kind)) {
++    S.Diag(LiteralLoc, diag::warn_attribute_type_not_supported)
++        << AL << KindStr;
++    return;
++  }
++  // FIXME: it would be good to better handle attribute merging rather than
++  // silently replacing the existing attribute, so long as it does not break
++  // the expected codegen tests.
++  D->dropAttr<FunctionReturnThunksAttr>();
++  D->addAttr(FunctionReturnThunksAttr::Create(S.Context, Kind, AL));
++}
++
+ static void handleSYCLKernelAttr(Sema &S, Decl *D, const ParsedAttr &AL) {
+   // The 'sycl_kernel' attribute applies only to function templates.
+   const auto *FD = cast<FunctionDecl>(D);
+@@ -8862,6 +8882,9 @@ ProcessDeclAttribute(Sema &S, Scope *scope, Decl *D, const ParsedAttr &AL,
+   case ParsedAttr::AT_ZeroCallUsedRegs:
+     handleZeroCallUsedRegsAttr(S, D, AL);
+     break;
++  case ParsedAttr::AT_FunctionReturnThunks:
++    handleFunctionReturnThunksAttr(S, D, AL);
++    break;
+ 
+   // Microsoft attributes:
+   case ParsedAttr::AT_LayoutVersion:
+diff --git a/clang/test/CodeGen/attr-function-return.c b/clang/test/CodeGen/attr-function-return.c
+new file mode 100644
+index 000000000000..8b68cfe52afa
+--- /dev/null
++++ b/clang/test/CodeGen/attr-function-return.c
+@@ -0,0 +1,96 @@
++// RUN: %clang_cc1 -std=gnu2x -triple x86_64-linux-gnu %s -emit-llvm -o - \
++// RUN:   | FileCheck %s --check-prefixes=CHECK,CHECK-NOM
++// RUN: %clang_cc1 -std=gnu2x -triple x86_64-linux-gnu %s -emit-llvm -o - \
++// RUN:   -mfunction-return=keep | FileCheck %s \
++// RUN:   --check-prefixes=CHECK,CHECK-KEEP
++// RUN: %clang_cc1 -std=gnu2x -triple x86_64-linux-gnu %s -emit-llvm -o - \
++// RUN:  -mfunction-return=thunk-extern | FileCheck %s \
++// RUN:  --check-prefixes=CHECK,CHECK-EXTERN
++
++#if !__has_attribute(function_return)
++#error "missing attribute support for function_return"
++#endif
++
++// CHECK: @keep() [[KEEP:#[0-9]+]]
++__attribute__((function_return("keep"))) void keep(void) {}
++
++// CHECK: @keep2() [[KEEP:#[0-9]+]]
++[[gnu::function_return("keep")]] void keep2(void) {}
++
++// CHECK: @thunk_extern() [[EXTERN:#[0-9]+]]
++__attribute__((function_return("thunk-extern"))) void thunk_extern(void) {}
++
++// CHECK: @thunk_extern2() [[EXTERN:#[0-9]+]]
++[[gnu::function_return("thunk-extern")]] void thunk_extern2(void) {}
++
++// CHECK: @double_thunk_keep() [[KEEP]]
++// clang-format off
++__attribute__((function_return("thunk-extern")))
++__attribute__((function_return("keep")))
++void double_thunk_keep(void) {}
++
++// CHECK: @double_thunk_keep2() [[KEEP]]
++[[gnu::function_return("thunk-extern")]][[gnu::function_return("keep")]]
++void double_thunk_keep2(void) {}
++
++// CHECK: @double_keep_thunk() [[EXTERN]]
++__attribute__((function_return("keep")))
++__attribute__((function_return("thunk-extern")))
++void double_keep_thunk(void) {}
++
++// CHECK: @double_keep_thunk2() [[EXTERN]]
++[[gnu::function_return("thunk-keep")]][[gnu::function_return("thunk-extern")]]
++void double_keep_thunk2(void) {}
++
++// CHECK: @thunk_keep() [[KEEP]]
++__attribute__((function_return("thunk-extern"), function_return("keep")))
++void thunk_keep(void) {}
++
++// CHECK: @thunk_keep2() [[KEEP]]
++[[gnu::function_return("thunk-extern"), gnu::function_return("keep")]]
++void thunk_keep2(void) {}
++
++// CHECK: @keep_thunk() [[EXTERN]]
++__attribute__((function_return("keep"), function_return("thunk-extern")))
++void keep_thunk(void) {}
++
++// CHECK: @keep_thunk2() [[EXTERN]]
++[[gnu::function_return("keep"), gnu::function_return("thunk-extern")]]
++void keep_thunk2(void) {}
++// clang-format on
++
++void undef(void);
++// CHECK: @undef() [[KEEP]]
++__attribute__((function_return("keep"))) void undef(void) {}
++
++void undef2(void);
++// CHECK: @undef2() [[EXTERN]]
++__attribute__((function_return("thunk-extern"))) void undef2(void) {}
++
++__attribute__((function_return("thunk-extern"))) void change_def(void);
++// CHECK: @change_def() [[KEEP]]
++__attribute__((function_return("keep"))) void change_def(void) {}
++
++__attribute__((function_return("keep"))) void change_def2(void);
++// CHECK: @change_def2() [[EXTERN]]
++__attribute__((function_return("thunk-extern"))) void change_def2(void) {}
++
++__attribute__((function_return("thunk-extern"))) void change_def3(void);
++// CHECK: @change_def3() [[KEEP]]
++[[gnu::function_return("keep")]] void change_def3(void) {}
++
++[[gnu::function_return("keep")]] void change_def4(void);
++// CHECK: @change_def4() [[EXTERN]]
++__attribute__((function_return("thunk-extern"))) void change_def4(void) {}
++
++// When there is no -mfunction-return= flag set (NOM) or it's set to keep,
++// we don't emit anything into the IR for unattributed functions.
++
++// CHECK-NOM:    @no_attrs() [[NOATTR:#[0-9]+]]
++// CHECK-KEEP:   @no_attrs() [[NOATTR:#[0-9]+]]
++// CHECK-EXTERN: @no_attrs() [[EXTERN]]
++void no_attrs(void) {}
++
++// CHECK-NOM-NOT:  [[NOATTR]] = {{.*}}fn_ret_thunk_extern
++// CHECK-KEEP-NOT: [[NOATTR]] = {{.*}}fn_ret_thunk_extern
++// CHECK: [[EXTERN]] = {{.*}}fn_ret_thunk_extern
+diff --git a/clang/test/CodeGen/attr-function-return.cpp b/clang/test/CodeGen/attr-function-return.cpp
+new file mode 100644
+index 000000000000..9d58b7b2f857
+--- /dev/null
++++ b/clang/test/CodeGen/attr-function-return.cpp
+@@ -0,0 +1,52 @@
++// RUN: %clang_cc1 -triple x86_64-linux-gnu %s -emit-llvm -o - \
++// RUN:   | FileCheck %s --check-prefixes=CHECK,CHECK-NOM
++// RUN: %clang_cc1 -triple x86_64-linux-gnu %s -emit-llvm -o - \
++// RUN:   -mfunction-return=keep | FileCheck %s \
++// RUN:   --check-prefixes=CHECK,CHECK-KEEP
++// RUN: %clang_cc1 -triple x86_64-linux-gnu %s -emit-llvm -o - \
++// RUN:  -mfunction-return=thunk-extern | FileCheck %s \
++// RUN:  --check-prefixes=CHECK,CHECK-EXTERN
++
++int foo(void) {
++  // CHECK: @"_ZZ3foovENK3$_0clEv"({{.*}}) [[NOATTR:#[0-9]+]]
++  return []() {
++    return 42;
++  }();
++}
++int bar(void) {
++  // CHECK: @"_ZZ3barvENK3$_1clEv"({{.*}}) [[EXTERN:#[0-9]+]]
++  return []() __attribute__((function_return("thunk-extern"))) {
++    return 42;
++  }
++  ();
++}
++int baz(void) {
++  // CHECK: @"_ZZ3bazvENK3$_2clEv"({{.*}}) [[KEEP:#[0-9]+]]
++  return []() __attribute__((function_return("keep"))) {
++    return 42;
++  }
++  ();
++}
++
++class Foo {
++public:
++  // CHECK: @_ZN3Foo3fooEv({{.*}}) [[EXTERN]]
++  __attribute__((function_return("thunk-extern"))) int foo() { return 42; }
++};
++
++int quux() {
++  Foo my_foo;
++  return my_foo.foo();
++}
++
++// CHECK: @extern_c() [[EXTERN]]
++extern "C" __attribute__((function_return("thunk-extern"))) void extern_c() {}
++extern "C" {
++// CHECK: @extern_c2() [[EXTERN]]
++__attribute__((function_return("thunk-extern"))) void extern_c2() {}
++}
++
++// CHECK-NOM-NOT:   [[NOATTR]] = {{.*}}fn_ret_thunk_extern
++// CHECK-KEEP-NOT:  [[NOATTR]] = {{.*}}fn_ret_thunk_extern
++// CHECK-KEEP-NOT:  [[KEEP]] = {{.*}}fn_ret_thunk_extern
++// CHECK-EXTERN:    [[EXTERN]] = {{.*}}fn_ret_thunk_extern
+diff --git a/clang/test/Driver/mfunction-return.c b/clang/test/Driver/mfunction-return.c
+new file mode 100644
+index 000000000000..fca010aefa55
+--- /dev/null
++++ b/clang/test/Driver/mfunction-return.c
+@@ -0,0 +1,22 @@
++// RUN: %clang -mfunction-return= -### %s 2>&1 \
++// RUN:   | FileCheck --check-prefix=CHECK-VALID %s
++// RUN: not %clang -mfunction-return -### %s 2>&1 \
++// RUN:   | FileCheck --check-prefix=CHECK-INVALID %s
++
++// RUN: %clang -mfunction-return=keep -### %s 2>&1 \
++// RUN:   | FileCheck --check-prefix=CHECK-KEEP %s
++// RUN: %clang -mfunction-return=thunk-extern -### %s 2>&1 \
++// RUN:   | FileCheck --check-prefix=CHECK-EXTERN %s
++
++// RUN: %clang -mfunction-return=keep -mfunction-return=thunk-extern -### %s 2>&1 \
++// RUN:   | FileCheck --check-prefix=CHECK-EXTERN %s
++// RUN: %clang -mfunction-return=thunk-extern -mfunction-return=keep -### %s 2>&1 \
++// RUN:   | FileCheck --check-prefix=CHECK-KEEP %s
++
++// CHECK-VALID:   "-mfunction-return="
++// CHECK-INVALID: error: unknown argument: '-mfunction-return'
++
++// CHECK-KEEP:       "-mfunction-return=keep"
++// CHECK-KEEP-NOT:   "-mfunction-return=thunk-extern"
++// CHECK-EXTERN:     "-mfunction-return=thunk-extern"
++// CHECK-EXTERN-NOT: "-mfunction-return=keep"
+diff --git a/clang/test/Frontend/mfunction-return.c b/clang/test/Frontend/mfunction-return.c
+new file mode 100644
+index 000000000000..9aefa0f8c0a8
+--- /dev/null
++++ b/clang/test/Frontend/mfunction-return.c
+@@ -0,0 +1,20 @@
++// RUN: %clang_cc1 -mfunction-return=keep -triple x86_64-linux-gnu %s
++// RUN: %clang_cc1 -mfunction-return=thunk-extern -triple x86_64-linux-gnu %s
++
++// RUN: not %clang_cc1 -mfunction-return=thunk -triple x86_64-linux-gnu %s 2>&1 \
++// RUN:   | FileCheck --check-prefix=CHECK-THUNK %s
++// RUN: not %clang_cc1 -mfunction-return=thunk-inline -triple x86_64-linux-gnu %s 2>&1 \
++// RUN:   | FileCheck --check-prefix=CHECK-INLINE %s
++// RUN: not %clang_cc1 -mfunction-return=invalid -triple x86_64-linux-gnu %s 2>&1 \
++// RUN:   | FileCheck --check-prefix=CHECK-INVALID %s
++// RUN: not %clang_cc1 -mfunction-return=thunk-extern -triple s390x-linux-gnu %s 2>&1 \
++// RUN:   | FileCheck --check-prefix=CHECK-TARGET %s
++// RUN: not %clang_cc1 -mfunction-return=thunk-extern -mcmodel=large \
++// RUN:   -triple x86_64-linux-gnu %s 2>&1 \
++// RUN:   | FileCheck --check-prefix=CHECK-LARGE %s
++
++// CHECK-THUNK: error: invalid value 'thunk' in '-mfunction-return=thunk'
++// CHECK-INLINE: error: invalid value 'thunk-inline' in '-mfunction-return=thunk-inline'
++// CHECK-INVALID: error: invalid value 'invalid' in '-mfunction-return=invalid'
++// CHECK-TARGET: error: invalid argument '-mfunction-return=' not allowed with 's390x-unknown-linux-gnu'
++// CHECK-LARGE: error: invalid argument '-mfunction-return=thunk-extern' not allowed with '-mcmodel=large'
+diff --git a/clang/test/Misc/pragma-attribute-supported-attributes-list.test b/clang/test/Misc/pragma-attribute-supported-attributes-list.test
+index b9499229c066..64e2bf619004 100644
+--- a/clang/test/Misc/pragma-attribute-supported-attributes-list.test
++++ b/clang/test/Misc/pragma-attribute-supported-attributes-list.test
+@@ -69,6 +69,7 @@
+ // CHECK-NEXT: ExternalSourceSymbol ((SubjectMatchRule_record, SubjectMatchRule_enum, SubjectMatchRule_enum_constant, SubjectMatchRule_field, SubjectMatchRule_function, SubjectMatchRule_namespace, SubjectMatchRule_objc_category, SubjectMatchRule_objc_implementation, SubjectMatchRule_objc_interface, SubjectMatchRule_objc_method, SubjectMatchRule_objc_property, SubjectMatchRule_objc_protocol, SubjectMatchRule_record, SubjectMatchRule_type_alias, SubjectMatchRule_variable))
+ // CHECK-NEXT: FlagEnum (SubjectMatchRule_enum)
+ // CHECK-NEXT: Flatten (SubjectMatchRule_function)
++// CHECK-NEXT: FunctionReturnThunks (SubjectMatchRule_function)
+ // CHECK-NEXT: GNUInline (SubjectMatchRule_function)
+ // CHECK-NEXT: HIPManaged (SubjectMatchRule_variable)
+ // CHECK-NEXT: Hot (SubjectMatchRule_function)
+diff --git a/clang/test/Sema/attr-function-return-unsupported-target.c b/clang/test/Sema/attr-function-return-unsupported-target.c
+new file mode 100644
+index 000000000000..e00eecc50ad9
+--- /dev/null
++++ b/clang/test/Sema/attr-function-return-unsupported-target.c
+@@ -0,0 +1,16 @@
++// RUN: %clang_cc1 -triple s390x-linux-gnu -fsyntax-only -verify %s
++
++// expected-warning@+1 {{unknown attribute 'function_return' ignored}}
++__attribute__((function_return("keep"))) void x(void) {}
++
++// expected-warning@+1 {{unknown attribute 'function_return' ignored}}
++__attribute__((function_return("thunk"))) void y(void) {}
++
++// expected-warning@+1 {{unknown attribute 'function_return' ignored}}
++__attribute__((function_return("thunk-inline"))) void z(void) {}
++
++// expected-warning@+1 {{unknown attribute 'function_return' ignored}}
++__attribute__((function_return("thunk-extern"))) void w(void) {}
++
++// expected-warning@+1 {{unknown attribute 'function_return' ignored}}
++__attribute__((function_return("invalid"))) void v(void) {}
+diff --git a/clang/test/Sema/attr-function-return.c b/clang/test/Sema/attr-function-return.c
+new file mode 100644
+index 000000000000..c6fe88b821e3
+--- /dev/null
++++ b/clang/test/Sema/attr-function-return.c
+@@ -0,0 +1,23 @@
++// RUN: %clang_cc1 -triple x86_64-linux-gnu -fsyntax-only -verify %s
++
++__attribute__((function_return("keep"))) void x(void) {}
++
++// expected-warning@+1 {{'function_return' attribute argument not supported: thunk}}
++__attribute__((function_return("thunk"))) void y(void) {}
++
++// expected-warning@+1 {{'function_return' attribute argument not supported: thunk-inline}}
++__attribute__((function_return("thunk-inline"))) void z(void) {}
++
++__attribute__((function_return("thunk-extern"))) void w(void) {}
++
++// expected-warning@+1 {{'function_return' attribute argument not supported: invalid}}
++__attribute__((function_return("invalid"))) void v(void) {}
++
++// expected-error@+1 {{'function_return' attribute requires a string}}
++__attribute__((function_return(5))) void a(void) {}
++
++// expected-error@+1 {{'function_return' attribute takes one argument}}
++__attribute__((function_return)) void b(void) {}
++
++// expected-warning@+1 {{'function_return' attribute only applies to functions}}
++__attribute__((function_return)) int c;
+diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
+index d11283d73087..bdecba2675fa 100644
+--- a/llvm/docs/LangRef.rst
++++ b/llvm/docs/LangRef.rst
+@@ -1678,6 +1678,10 @@ example:
+     Front ends can provide optional ``srcloc`` metadata nodes on call sites of
+     such callees to attach information about where in the source language such a
+     call came from. A string value can be provided as a note.
++``fn_ret_thunk_extern``
++    This attribute tells the code generator that returns from functions should
++    be replaced with jumps to externally-defined architecture-specific symbols.
++    For X86, this symbol's identifier is ``__x86_return_thunk``.
+ ``"frame-pointer"``
+     This attribute tells the code generator whether the function
+     should keep the frame pointer. The code generator may emit the frame pointer
+diff --git a/llvm/include/llvm/Bitcode/LLVMBitCodes.h b/llvm/include/llvm/Bitcode/LLVMBitCodes.h
+index 5d96204ba42a..66d0acbce9ad 100644
+--- a/llvm/include/llvm/Bitcode/LLVMBitCodes.h
++++ b/llvm/include/llvm/Bitcode/LLVMBitCodes.h
+@@ -686,6 +686,7 @@ enum AttributeKindCodes {
+   ATTR_KIND_ALLOCATED_POINTER = 81,
+   ATTR_KIND_ALLOC_KIND = 82,
+   ATTR_KIND_PRESPLIT_COROUTINE = 83,
++  ATTR_KIND_FNRETTHUNK_EXTERN = 84,
+ };
+ 
+ enum ComdatSelectionKindCodes {
+diff --git a/llvm/include/llvm/IR/Attributes.td b/llvm/include/llvm/IR/Attributes.td
+index 7b955b40b0a8..ea4bf80205f8 100644
+--- a/llvm/include/llvm/IR/Attributes.td
++++ b/llvm/include/llvm/IR/Attributes.td
+@@ -102,6 +102,10 @@ def DisableSanitizerInstrumentation: EnumAttr<"disable_sanitizer_instrumentation
+ /// Provide pointer element type to intrinsic.
+ def ElementType : TypeAttr<"elementtype", [ParamAttr]>;
+ 
++/// Whether to keep return instructions, or replace with a jump to an external
++/// symbol.
++def FnRetThunkExtern : EnumAttr<"fn_ret_thunk_extern", [FnAttr]>;
++
+ /// Function may only access memory that is inaccessible from IR.
+ def InaccessibleMemOnly : EnumAttr<"inaccessiblememonly", [FnAttr]>;
+ 
+diff --git a/llvm/include/llvm/Support/CodeGen.h b/llvm/include/llvm/Support/CodeGen.h
+index 71d0ddbfe05e..425d3a3d95d4 100644
+--- a/llvm/include/llvm/Support/CodeGen.h
++++ b/llvm/include/llvm/Support/CodeGen.h
+@@ -103,6 +103,13 @@ namespace llvm {
+     Async = 2, ///< "Asynchronous" unwind tables (instr precise)
+     Default = 2,
+   };
++
++  enum class FunctionReturnThunksKind : unsigned int {
++    Keep = 0,    ///< No function return thunk.
++    Extern = 1,  ///< Replace returns with jump to thunk, don't emit thunk.
++    Invalid = 2, ///< Not used.
++  };
++
+   } // namespace llvm
+ 
+ #endif
+diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+index 6a7cd68d5a2f..a083cfa8d5db 100644
+--- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
++++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+@@ -1490,6 +1490,8 @@ static Attribute::AttrKind getAttrFromCode(uint64_t Code) {
+     return Attribute::DisableSanitizerInstrumentation;
+   case bitc::ATTR_KIND_ELEMENTTYPE:
+     return Attribute::ElementType;
++  case bitc::ATTR_KIND_FNRETTHUNK_EXTERN:
++    return Attribute::FnRetThunkExtern;
+   case bitc::ATTR_KIND_INACCESSIBLEMEM_ONLY:
+     return Attribute::InaccessibleMemOnly;
+   case bitc::ATTR_KIND_INACCESSIBLEMEM_OR_ARGMEMONLY:
+diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
+index f5ccc80584bd..e2d6dd3cd341 100644
+--- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
++++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
+@@ -632,6 +632,8 @@ static uint64_t getAttrKindEncoding(Attribute::AttrKind Kind) {
+     return bitc::ATTR_KIND_COLD;
+   case Attribute::DisableSanitizerInstrumentation:
+     return bitc::ATTR_KIND_DISABLE_SANITIZER_INSTRUMENTATION;
++  case Attribute::FnRetThunkExtern:
++    return bitc::ATTR_KIND_FNRETTHUNK_EXTERN;
+   case Attribute::Hot:
+     return bitc::ATTR_KIND_HOT;
+   case Attribute::ElementType:
+diff --git a/llvm/lib/Target/X86/CMakeLists.txt b/llvm/lib/Target/X86/CMakeLists.txt
+index fadd272049f4..312d347e2b2c 100644
+--- a/llvm/lib/Target/X86/CMakeLists.txt
++++ b/llvm/lib/Target/X86/CMakeLists.txt
+@@ -74,6 +74,7 @@ set(sources
+   X86PartialReduction.cpp
+   X86RegisterBankInfo.cpp
+   X86RegisterInfo.cpp
++  X86ReturnThunks.cpp
+   X86SelectionDAGInfo.cpp
+   X86ShuffleDecodeConstantPool.cpp
+   X86SpeculativeLoadHardening.cpp
+diff --git a/llvm/lib/Target/X86/X86.h b/llvm/lib/Target/X86/X86.h
+index 7344900f2e31..0ac916527495 100644
+--- a/llvm/lib/Target/X86/X86.h
++++ b/llvm/lib/Target/X86/X86.h
+@@ -132,6 +132,9 @@ FunctionPass *createX86EvexToVexInsts();
+ /// This pass creates the thunks for the retpoline feature.
+ FunctionPass *createX86IndirectThunksPass();
+ 
++/// This pass replaces ret instructions with jmp's to __x86_return thunk.
++FunctionPass *createX86ReturnThunksPass();
++
+ /// This pass ensures instructions featuring a memory operand
+ /// have distinctive <LineNumber, Discriminator> (with respect to eachother)
+ FunctionPass *createX86DiscriminateMemOpsPass();
+@@ -185,6 +188,7 @@ void initializeX86LowerAMXTypeLegacyPassPass(PassRegistry &);
+ void initializeX86PreAMXConfigPassPass(PassRegistry &);
+ void initializeX86LowerTileCopyPass(PassRegistry &);
+ void initializeX86LowerAMXIntrinsicsLegacyPassPass(PassRegistry &);
++void initializeX86ReturnThunksPass(PassRegistry &);
+ 
+ namespace X86AS {
+ enum : unsigned {
+diff --git a/llvm/lib/Target/X86/X86ReturnThunks.cpp b/llvm/lib/Target/X86/X86ReturnThunks.cpp
+new file mode 100644
+index 000000000000..4b203229ba83
+--- /dev/null
++++ b/llvm/lib/Target/X86/X86ReturnThunks.cpp
+@@ -0,0 +1,92 @@
++//==- X86ReturnThunks.cpp - Replace rets with thunks or inline thunks --=//
++//
++// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++// See https://llvm.org/LICENSE.txt for license information.
++// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
++//
++//===----------------------------------------------------------------------===//
++/// \file
++///
++/// Pass that replaces ret instructions with a jmp to __x86_return_thunk.
++///
++/// This corresponds to -mfunction-return=thunk-extern or
++/// __attribute__((function_return("thunk-extern").
++///
++/// This pass is a minimal implementation necessary to help mitigate
++/// RetBleed for the Linux kernel.
++///
++/// Should support for thunk or thunk-inline be necessary in the future, then
++/// this pass should be combined with x86-retpoline-thunks which already has
++/// machinery to emit thunks. Until then, YAGNI.
++///
++/// This pass is very similar to x86-lvi-ret.
++///
++//===----------------------------------------------------------------------===//
++
++#include "X86.h"
++#include "X86InstrInfo.h"
++#include "X86Subtarget.h"
++#include "llvm/ADT/SmallVector.h"
++#include "llvm/ADT/StringRef.h"
++#include "llvm/ADT/Triple.h"
++#include "llvm/CodeGen/MachineBasicBlock.h"
++#include "llvm/CodeGen/MachineFunction.h"
++#include "llvm/CodeGen/MachineFunctionPass.h"
++#include "llvm/CodeGen/MachineInstr.h"
++#include "llvm/CodeGen/MachineInstrBuilder.h"
++#include "llvm/MC/MCInstrDesc.h"
++#include "llvm/Support/Debug.h"
++
++using namespace llvm;
++
++#define PASS_KEY "x86-return-thunks"
++#define DEBUG_TYPE PASS_KEY
++
++struct X86ReturnThunks final : public MachineFunctionPass {
++  static char ID;
++  X86ReturnThunks() : MachineFunctionPass(ID) {}
++  StringRef getPassName() const override { return "X86 Return Thunks"; }
++  bool runOnMachineFunction(MachineFunction &MF) override;
++};
++
++char X86ReturnThunks::ID = 0;
++
++bool X86ReturnThunks::runOnMachineFunction(MachineFunction &MF) {
++  LLVM_DEBUG(dbgs() << getPassName() << "\n");
++
++  bool Modified = false;
++
++  if (!MF.getFunction().hasFnAttribute(llvm::Attribute::FnRetThunkExtern))
++    return Modified;
++
++  StringRef ThunkName = "__x86_return_thunk";
++  if (MF.getFunction().getName() == ThunkName)
++    return Modified;
++
++  const auto &ST = MF.getSubtarget<X86Subtarget>();
++  const bool Is64Bit = ST.getTargetTriple().getArch() == Triple::x86_64;
++  const unsigned RetOpc = Is64Bit ? X86::RET64 : X86::RET32;
++  SmallVector<MachineInstr *, 16> Rets;
++
++  for (MachineBasicBlock &MBB : MF)
++    for (MachineInstr &Term : MBB.terminators())
++      if (Term.getOpcode() == RetOpc)
++        Rets.push_back(&Term);
++
++  const MCInstrDesc &JMP = ST.getInstrInfo()->get(X86::TAILJMPd);
++
++  for (MachineInstr *Ret : Rets) {
++    BuildMI(Ret->getParent(), Ret->getDebugLoc(), JMP)
++        .addExternalSymbol(ThunkName.data());
++    Ret->eraseFromParent();
++    Modified = true;
++  }
++
++  return Modified;
++}
++
++INITIALIZE_PASS(X86ReturnThunks, PASS_KEY, "X86 Return Thunks", false, false)
++
++FunctionPass *llvm::createX86ReturnThunksPass() {
++  return new X86ReturnThunks();
++}
+diff --git a/llvm/lib/Target/X86/X86TargetMachine.cpp b/llvm/lib/Target/X86/X86TargetMachine.cpp
+index 3818a4955821..776a0dded11f 100644
+--- a/llvm/lib/Target/X86/X86TargetMachine.cpp
++++ b/llvm/lib/Target/X86/X86TargetMachine.cpp
+@@ -94,6 +94,7 @@ extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeX86Target() {
+   initializeX86OptimizeLEAPassPass(PR);
+   initializeX86PartialReductionPass(PR);
+   initializePseudoProbeInserterPass(PR);
++  initializeX86ReturnThunksPass(PR);
+ }
+ 
+ static std::unique_ptr<TargetLoweringObjectFile> createTLOF(const Triple &TT) {
+@@ -569,6 +570,7 @@ void X86PassConfig::addPreEmitPass2() {
+   // hand inspection of the codegen output.
+   addPass(createX86SpeculativeExecutionSideEffectSuppression());
+   addPass(createX86IndirectThunksPass());
++  addPass(createX86ReturnThunksPass());
+ 
+   // Insert extra int3 instructions after trailing call instructions to avoid
+   // issues in the unwinder.
+diff --git a/llvm/lib/Transforms/Utils/CodeExtractor.cpp b/llvm/lib/Transforms/Utils/CodeExtractor.cpp
+index c4ef979790be..4e412aeb3317 100644
+--- a/llvm/lib/Transforms/Utils/CodeExtractor.cpp
++++ b/llvm/lib/Transforms/Utils/CodeExtractor.cpp
+@@ -927,6 +927,7 @@ Function *CodeExtractor::constructFunction(const ValueSet &inputs,
+       case Attribute::AlwaysInline:
+       case Attribute::Cold:
+       case Attribute::DisableSanitizerInstrumentation:
++      case Attribute::FnRetThunkExtern:
+       case Attribute::Hot:
+       case Attribute::NoRecurse:
+       case Attribute::InlineHint:
+diff --git a/llvm/test/Bitcode/attributes.ll b/llvm/test/Bitcode/attributes.ll
+index ee582cab628d..78b54a5cf5c3 100644
+--- a/llvm/test/Bitcode/attributes.ll
++++ b/llvm/test/Bitcode/attributes.ll
+@@ -532,6 +532,9 @@ define void @f86() nosanitize_bounds
+         ret void;
+ }
+ 
++; CHECK: define void @f87() [[FNRETTHUNKEXTERN:#[0-9]+]]
++define void @f87() fn_ret_thunk_extern { ret void }
++
+ ; CHECK: attributes #0 = { noreturn }
+ ; CHECK: attributes #1 = { nounwind }
+ ; CHECK: attributes #2 = { readnone }
+@@ -585,4 +588,5 @@ define void @f86() nosanitize_bounds
+ ; CHECK: attributes #50 = { disable_sanitizer_instrumentation }
+ ; CHECK: attributes #51 = { uwtable(sync) }
+ ; CHECK: attributes #52 = { nosanitize_bounds }
++; CHECK: attributes [[FNRETTHUNKEXTERN]] = { fn_ret_thunk_extern }
+ ; CHECK: attributes #[[NOBUILTIN]] = { nobuiltin }
+diff --git a/llvm/test/CodeGen/X86/O0-pipeline.ll b/llvm/test/CodeGen/X86/O0-pipeline.ll
+index 43d0c0839940..cf0e0d401df2 100644
+--- a/llvm/test/CodeGen/X86/O0-pipeline.ll
++++ b/llvm/test/CodeGen/X86/O0-pipeline.ll
+@@ -71,8 +71,9 @@
+ ; CHECK-NEXT:       Live DEBUG_VALUE analysis
+ ; CHECK-NEXT:       X86 Speculative Execution Side Effect Suppression
+ ; CHECK-NEXT:       X86 Indirect Thunks
++; CHECK-NEXT:       X86 Return Thunks
+ ; CHECK-NEXT:       Check CFA info and insert CFI instructions if needed
+-; CHECK-NEXT:       X86 Load Value Injection (LVI) Ret-Hardening  
++; CHECK-NEXT:       X86 Load Value Injection (LVI) Ret-Hardening
+ ; CHECK-NEXT:       Pseudo Probe Inserter
+ ; CHECK-NEXT:       Lazy Machine Block Frequency Analysis
+ ; CHECK-NEXT:       Machine Optimization Remark Emitter
+diff --git a/llvm/test/CodeGen/X86/attr-function-return.ll b/llvm/test/CodeGen/X86/attr-function-return.ll
+new file mode 100644
+index 000000000000..f40d971ed355
+--- /dev/null
++++ b/llvm/test/CodeGen/X86/attr-function-return.ll
+@@ -0,0 +1,11 @@
++; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
++; RUN: llc --mtriple=i386-linux-gnu %s -o - -verify-machineinstrs \
++; RUN:   | FileCheck %s
++; RUN: llc --mtriple=x86_64-linux-gnu %s -o - -verify-machineinstrs \
++; RUN:   | FileCheck %s
++define void @x() fn_ret_thunk_extern {
++; CHECK-LABEL: x:
++; CHECK:       # %bb.0:
++; CHECK-NEXT:    jmp __x86_return_thunk
++  ret void
++}
+diff --git a/llvm/test/CodeGen/X86/attr-function-return.mir b/llvm/test/CodeGen/X86/attr-function-return.mir
+new file mode 100644
+index 000000000000..91c03e862182
+--- /dev/null
++++ b/llvm/test/CodeGen/X86/attr-function-return.mir
+@@ -0,0 +1,62 @@
++# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
++# RUN: llc --mtriple=x86_64-linux-gnu -run-pass=x86-return-thunks \
++# RUN:   -verify-machineinstrs %s -o - | FileCheck %s
++--- |
++  ; ModuleID = 'y.ll'
++  source_filename = "y.ll"
++  target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
++
++  define void @x() #0 {
++    ret void
++  }
++
++  attributes #0 = { fn_ret_thunk_extern }
++
++...
++---
++name:            x
++alignment:       16
++exposesReturnsTwice: false
++legalized:       false
++regBankSelected: false
++selected:        false
++failedISel:      false
++tracksRegLiveness: true
++hasWinCFI:       false
++failsVerification: false
++tracksDebugUserValues: true
++registers:       []
++liveins:         []
++frameInfo:
++  isFrameAddressTaken: false
++  isReturnAddressTaken: false
++  hasStackMap:     false
++  hasPatchPoint:   false
++  stackSize:       0
++  offsetAdjustment: 0
++  maxAlignment:    1
++  adjustsStack:    false
++  hasCalls:        false
++  stackProtector:  ''
++  maxCallFrameSize: 0
++  cvBytesOfCalleeSavedRegisters: 0
++  hasOpaqueSPAdjustment: false
++  hasVAStart:      false
++  hasMustTailInVarArgFunc: false
++  hasTailCall:     false
++  localFrameSize:  0
++  savePoint:       ''
++  restorePoint:    ''
++fixedStack:      []
++stack:           []
++callSites:       []
++debugValueSubstitutions: []
++constants:       []
++machineFunctionInfo: {}
++body:             |
++  bb.0 (%ir-block.0):
++    ; CHECK-LABEL: name: x
++    ; CHECK: TAILJMPd &__x86_return_thunk, implicit $esp, implicit $ssp
++    RET64
++
++...
+diff --git a/llvm/test/CodeGen/X86/opt-pipeline.ll b/llvm/test/CodeGen/X86/opt-pipeline.ll
+index 8552ebc348cb..cab34b96c233 100644
+--- a/llvm/test/CodeGen/X86/opt-pipeline.ll
++++ b/llvm/test/CodeGen/X86/opt-pipeline.ll
+@@ -203,6 +203,7 @@
+ ; CHECK-NEXT:       Live DEBUG_VALUE analysis
+ ; CHECK-NEXT:       X86 Speculative Execution Side Effect Suppression
+ ; CHECK-NEXT:       X86 Indirect Thunks
++; CHECK-NEXT:       X86 Return Thunks
+ ; CHECK-NEXT:       Check CFA info and insert CFI instructions if needed
+ ; CHECK-NEXT:       X86 Load Value Injection (LVI) Ret-Hardening
+ ; CHECK-NEXT:       Pseudo Probe Inserter
+diff --git a/llvm/test/Transforms/Inline/attributes.ll b/llvm/test/Transforms/Inline/attributes.ll
+index 07d1b36e485b..e668013926bf 100644
+--- a/llvm/test/Transforms/Inline/attributes.ll
++++ b/llvm/test/Transforms/Inline/attributes.ll
+@@ -600,6 +600,33 @@ define i32 @test_unsafe-fp-math3(i32 %i) "unsafe-fp-math"="true" {
+ ; CHECK-NEXT: ret i32
+ }
+ 
++; Test that fn_ret_thunk_extern has no CompatRule; inlining is permitted.
++; Test that fn_ret_thunk_extern has no MergeRule; fn_ret_thunk_extern is not
++; propagated or dropped on the caller after inlining.
++define i32 @thunk_extern_callee() fn_ret_thunk_extern {
++; CHECK: @thunk_extern_callee() [[FNRETTHUNK_EXTERN:#[0-9]+]]
++  ret i32 42
++}
++
++define i32 @thunk_keep_caller() {
++; CHECK: @thunk_keep_caller() {
++; CHECK-NEXT: ret i32 42
++  %1 = call i32 @thunk_extern_callee()
++  ret i32 %1
++}
++
++define i32 @thunk_keep_callee() {
++; CHECK: @thunk_keep_callee() {
++  ret i32 42
++}
++
++define i32 @thunk_extern_caller() fn_ret_thunk_extern {
++; CHECK: @thunk_extern_caller() [[FNRETTHUNK_EXTERN]]
++; CHECK-NEXT: ret i32 42
++  %1 = call i32 @thunk_keep_callee()
++  ret i32 %1
++}
++
+ ; CHECK: attributes [[SLH]] = { speculative_load_hardening }
+ ; CHECK: attributes [[FPMAD_FALSE]] = { "less-precise-fpmad"="false" }
+ ; CHECK: attributes [[FPMAD_TRUE]] = { "less-precise-fpmad"="true" }
+@@ -614,3 +641,4 @@ define i32 @test_unsafe-fp-math3(i32 %i) "unsafe-fp-math"="true" {
+ ; CHECK: attributes [[NO_SIGNED_ZEROS_FPMATH_TRUE]] = { "no-signed-zeros-fp-math"="true" }
+ ; CHECK: attributes [[UNSAFE_FPMATH_FALSE]] = { "unsafe-fp-math"="false" }
+ ; CHECK: attributes [[UNSAFE_FPMATH_TRUE]] = { "unsafe-fp-math"="true" }
++; CHECK: attributes [[FNRETTHUNK_EXTERN]] = { fn_ret_thunk_extern }
diff --git a/sys-devel/llvm/files/cherry/2240d72f15f3b7b9d9fb65450f9bf635fd310f6f.patch b/sys-devel/llvm/files/cherry/2240d72f15f3b7b9d9fb65450f9bf635fd310f6f.patch
index 98d1e1d..93faaba 100644
--- a/sys-devel/llvm/files/cherry/2240d72f15f3b7b9d9fb65450f9bf635fd310f6f.patch
+++ b/sys-devel/llvm/files/cherry/2240d72f15f3b7b9d9fb65450f9bf635fd310f6f.patch
@@ -103,12 +103,12 @@
 + DWARF Support in Clang
 + ----------------------
 diff --git a/clang/include/clang/Basic/Attr.td b/clang/include/clang/Basic/Attr.td
-index fab3f3edfb83..75228114fd1d 100644
+index c7141ff463b3..f3c9a511e189 100644
 --- a/clang/include/clang/Basic/Attr.td
 +++ b/clang/include/clang/Basic/Attr.td
-@@ -3897,3 +3897,14 @@ def Error : InheritableAttr {
-   let Subjects = SubjectList<[Function], ErrorDiag>;
-   let Documentation = [ErrorAttrDocs];
+@@ -3957,3 +3957,14 @@ def HLSLNumThreads: InheritableAttr {
+   let LangOpts = [HLSL];
+   let Documentation = [NumThreadsDocs];
  }
 +
 +def FunctionReturnThunks : InheritableAttr,
@@ -144,11 +144,11 @@
 ++  let Documentation = [FunctionReturnThunksDocs];
 ++}
 diff --git a/clang/include/clang/Basic/AttrDocs.td b/clang/include/clang/Basic/AttrDocs.td
-index 10cce4c2d689..efde8e894c79 100644
+index 89db454f7dac..983a394cd4b2 100644
 --- a/clang/include/clang/Basic/AttrDocs.td
 +++ b/clang/include/clang/Basic/AttrDocs.td
-@@ -6149,3 +6149,25 @@ pointing to precise locations of the call site in the source.
-   }
+@@ -6379,3 +6379,25 @@ dictate the thread id. Total number of threads executed is ``X * Y * Z``.
+ The full documentation is available here: https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/sm5-attributes-numthreads
    }];
  }
 +
@@ -209,26 +209,25 @@
 +   }];
 + }
 diff --git a/clang/include/clang/Basic/CodeGenOptions.def b/clang/include/clang/Basic/CodeGenOptions.def
-index 94b3003a9c33..8c5e43f061fb 100644
+index 720a59ff1bdc..8a3af1faeaf1 100644
 --- a/clang/include/clang/Basic/CodeGenOptions.def
 +++ b/clang/include/clang/Basic/CodeGenOptions.def
-@@ -107,6 +107,8 @@ CODEGENOPT(CFProtectionReturn , 1, 0) ///< if -fcf-protection is
-                                       ///< set to full or return.
+@@ -108,6 +108,7 @@ CODEGENOPT(CFProtectionReturn , 1, 0) ///< if -fcf-protection is
  CODEGENOPT(CFProtectionBranch , 1, 0) ///< if -fcf-protection is
                                        ///< set to full or branch.
+ CODEGENOPT(IBTSeal, 1, 0)             ///< set to optimize CFProtectionBranch.
 +CODEGENOPT(FunctionReturnThunks, 1, 0) ///< -mfunction-return={keep|thunk-extern}
-+
+ 
  CODEGENOPT(XRayInstrumentFunctions , 1, 0) ///< Set when -fxray-instrument is
                                             ///< enabled.
- CODEGENOPT(StackSizeSection  , 1, 0) ///< Set when -fstack-size-section is enabled.
 diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
-index 724eedd05da4..8807a50e955f 100644
+index 799fd1b62f18..9b6c04f94dd3 100644
 --- a/clang/include/clang/Driver/Options.td
 +++ b/clang/include/clang/Driver/Options.td
-@@ -1909,6 +1909,13 @@ def fcf_protection_EQ : Joined<["-"], "fcf-protection=">, Flags<[CoreOption, CC1
- def fcf_protection : Flag<["-"], "fcf-protection">, Group<f_Group>, Flags<[CoreOption, CC1Option]>,
-   Alias<fcf_protection_EQ>, AliasArgs<["full"]>,
+@@ -1967,6 +1967,13 @@ def fcf_protection : Flag<["-"], "fcf-protection">, Group<f_Group>, Flags<[CoreO
    HelpText<"Enable cf-protection in 'full' mode">;
+ def mibt_seal : Flag<["-"], "mibt-seal">, Group<m_Group>, Flags<[CoreOption, CC1Option]>,
+   HelpText<"Optimize fcf-protection=branch/full (requires LTO).">;
 +def mfunction_return_EQ : Joined<["-"], "mfunction-return=">,
 +  Group<m_Group>, Flags<[CoreOption, CC1Option]>,
 +  HelpText<"Replace returns with jumps to ``__x86_return_thunk`` (x86 only, error otherwise)">,
@@ -240,10 +239,10 @@
  defm xray_instrument : BoolFOption<"xray-instrument",
    LangOpts<"XRayInstrument">, DefaultFalse,
 diff --git a/clang/lib/CodeGen/CodeGenFunction.cpp b/clang/lib/CodeGen/CodeGenFunction.cpp
-index d87cf2d49720..7bacde1c2195 100644
+index 32d329a69b9f..cfcfa3d8b5c7 100644
 --- a/clang/lib/CodeGen/CodeGenFunction.cpp
 +++ b/clang/lib/CodeGen/CodeGenFunction.cpp
-@@ -903,6 +903,20 @@ void CodeGenFunction::StartFunction(GlobalDecl GD, QualType RetTy,
+@@ -920,6 +920,20 @@ void CodeGenFunction::StartFunction(GlobalDecl GD, QualType RetTy,
    if (D && D->hasAttr<NoProfileFunctionAttr>())
      Fn->addFnAttr(llvm::Attribute::NoProfile);
  
@@ -293,12 +292,12 @@
 +              (getLangOpts().HIP && getLangOpts().CUDAIsDevice))) {
 +     // Add metadata for a kernel function.
 diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
-index 168884fd7ec0..9d29fe849566 100644
+index baac938412ec..e5d73db7f7d3 100644
 --- a/clang/lib/Driver/ToolChains/Clang.cpp
 +++ b/clang/lib/Driver/ToolChains/Clang.cpp
-@@ -6119,6 +6119,10 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
-         Args.MakeArgString(Twine("-fcf-protection=") + A->getValue()));
-   }
+@@ -6268,6 +6268,10 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
+   if (IsUsingLTO)
+     Args.AddLastArg(CmdArgs, options::OPT_mibt_seal);
  
 +  if (Arg *A = Args.getLastArg(options::OPT_mfunction_return_EQ))
 +    CmdArgs.push_back(
@@ -308,10 +307,10 @@
    // hand.  Do not propagate PGO options to the GPU-side compilations as the
    // profile info is for the host-side compilation only.
 diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp
-index c104a6f40e20..6101147a1576 100644
+index 83de27b3a4f1..c7b7f54c97b6 100644
 --- a/clang/lib/Frontend/CompilerInvocation.cpp
 +++ b/clang/lib/Frontend/CompilerInvocation.cpp
-@@ -1475,6 +1475,9 @@ void CompilerInvocation::GenerateCodeGenArgs(
+@@ -1494,6 +1494,9 @@ void CompilerInvocation::GenerateCodeGenArgs(
    else if (Opts.CFProtectionBranch)
      GenerateArg(Args, OPT_fcf_protection_EQ, "branch", SA);
  
@@ -321,7 +320,7 @@
    for (const auto &F : Opts.LinkBitcodeFiles) {
      bool Builtint = F.LinkFlags == llvm::Linker::Flags::LinkOnlyNeeded &&
                      F.PropagateAttrs && F.Internalize;
-@@ -1816,6 +1819,27 @@ bool CompilerInvocation::ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args,
+@@ -1835,6 +1838,27 @@ bool CompilerInvocation::ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args,
        Diags.Report(diag::err_drv_invalid_value) << A->getAsString(Args) << Name;
    }
  
@@ -346,9 +345,9 @@
 +      Opts.FunctionReturnThunks = static_cast<unsigned>(Val);
 +  }
 +
-   for (auto *A :
-        Args.filtered(OPT_mlink_bitcode_file, OPT_mlink_builtin_bitcode)) {
-     CodeGenOptions::BitcodeFileToLink F;
+   if (Opts.PrepareForLTO && Args.hasArg(OPT_mibt_seal))
+     Opts.IBTSeal = 1;
+ 
 diff --git a/clang/lib/Frontend/CompilerInvocation.cpp.rej b/clang/lib/Frontend/CompilerInvocation.cpp.rej
 new file mode 100644
 index 000000000000..92b8471ce545
@@ -367,11 +366,11 @@
 +     bool Builtint = F.LinkFlags == llvm::Linker::Flags::LinkOnlyNeeded &&
 +                     F.PropagateAttrs && F.Internalize;
 diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp
-index ebc81f357cec..e42c87d30b02 100644
+index 4b5201db7517..59adebe91d1f 100644
 --- a/clang/lib/Sema/SemaDeclAttr.cpp
 +++ b/clang/lib/Sema/SemaDeclAttr.cpp
-@@ -7716,6 +7716,26 @@ static void handleOpenCLAccessAttr(Sema &S, Decl *D, const ParsedAttr &AL) {
-   D->addAttr(::new (S.Context) OpenCLAccessAttr(S.Context, AL));
+@@ -7967,6 +7967,26 @@ static void handleZeroCallUsedRegsAttr(Sema &S, Decl *D, const ParsedAttr &AL) {
+   D->addAttr(ZeroCallUsedRegsAttr::Create(S.Context, Kind, AL));
  }
  
 +static void handleFunctionReturnThunksAttr(Sema &S, Decl *D,
@@ -397,9 +396,9 @@
  static void handleSYCLKernelAttr(Sema &S, Decl *D, const ParsedAttr &AL) {
    // The 'sycl_kernel' attribute applies only to function templates.
    const auto *FD = cast<FunctionDecl>(D);
-@@ -8454,6 +8474,9 @@ static void ProcessDeclAttribute(Sema &S, Scope *scope, Decl *D,
-   case ParsedAttr::AT_InternalLinkage:
-     handleInternalLinkageAttr(S, D, AL);
+@@ -8757,6 +8777,9 @@ static void ProcessDeclAttribute(Sema &S, Scope *scope, Decl *D,
+   case ParsedAttr::AT_ZeroCallUsedRegs:
+     handleZeroCallUsedRegsAttr(S, D, AL);
      break;
 +  case ParsedAttr::AT_FunctionReturnThunks:
 +    handleFunctionReturnThunksAttr(S, D, AL);
@@ -622,10 +621,10 @@
 +// CHECK-TARGET: error: invalid argument '-mfunction-return=' not allowed with 's390x-unknown-linux-gnu'
 +// CHECK-LARGE: error: invalid argument '-mfunction-return=thunk-extern' not allowed with '-mcmodel=large'
 diff --git a/clang/test/Misc/pragma-attribute-supported-attributes-list.test b/clang/test/Misc/pragma-attribute-supported-attributes-list.test
-index a3b1ce0adca7..b642a080167d 100644
+index daae71f5167c..93cb025fa63f 100644
 --- a/clang/test/Misc/pragma-attribute-supported-attributes-list.test
 +++ b/clang/test/Misc/pragma-attribute-supported-attributes-list.test
-@@ -68,6 +68,7 @@
+@@ -69,6 +69,7 @@
  // CHECK-NEXT: ExternalSourceSymbol ((SubjectMatchRule_record, SubjectMatchRule_enum, SubjectMatchRule_enum_constant, SubjectMatchRule_field, SubjectMatchRule_function, SubjectMatchRule_namespace, SubjectMatchRule_objc_category, SubjectMatchRule_objc_implementation, SubjectMatchRule_objc_interface, SubjectMatchRule_objc_method, SubjectMatchRule_objc_property, SubjectMatchRule_objc_protocol, SubjectMatchRule_record, SubjectMatchRule_type_alias, SubjectMatchRule_variable))
  // CHECK-NEXT: FlagEnum (SubjectMatchRule_enum)
  // CHECK-NEXT: Flatten (SubjectMatchRule_function)
@@ -685,10 +684,10 @@
 +// expected-warning@+1 {{'function_return' attribute only applies to functions}}
 +__attribute__((function_return)) int c;
 diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
-index e6500905353e..f7dd57e644b0 100644
+index 1a218c0a5c75..f1309f0626b7 100644
 --- a/llvm/docs/LangRef.rst
 +++ b/llvm/docs/LangRef.rst
-@@ -1606,6 +1606,10 @@ example:
+@@ -1625,6 +1625,10 @@ example:
      Front ends can provide optional ``srcloc`` metadata nodes on call sites of
      such callees to attach information about where in the source language such a
      call came from. A string value can be provided as a note.
@@ -700,14 +699,14 @@
      This attribute tells the code generator whether the function
      should keep the frame pointer. The code generator may emit the frame pointer
 diff --git a/llvm/include/llvm/Bitcode/LLVMBitCodes.h b/llvm/include/llvm/Bitcode/LLVMBitCodes.h
-index 04eb2739cbd5..afecd487bc30 100644
+index 2abb306f89d5..f7c5009ce646 100644
 --- a/llvm/include/llvm/Bitcode/LLVMBitCodes.h
 +++ b/llvm/include/llvm/Bitcode/LLVMBitCodes.h
-@@ -672,6 +672,7 @@ enum AttributeKindCodes {
-   ATTR_KIND_NO_SANITIZE_COVERAGE = 76,
-   ATTR_KIND_ELEMENTTYPE = 77,
+@@ -682,6 +682,7 @@ enum AttributeKindCodes {
    ATTR_KIND_DISABLE_SANITIZER_INSTRUMENTATION = 78,
-+  ATTR_KIND_FNRETTHUNK_EXTERN = 79,
+   ATTR_KIND_NO_SANITIZE_BOUNDS = 79,
+   ATTR_KIND_ALLOC_ALIGN = 80,
++  ATTR_KIND_FNRETTHUNK_EXTERN = 81,
  };
  
  enum ComdatSelectionKindCodes {
@@ -727,10 +726,10 @@
 + 
 + enum ComdatSelectionKindCodes {
 diff --git a/llvm/include/llvm/IR/Attributes.td b/llvm/include/llvm/IR/Attributes.td
-index de25b51a6292..1df904c868ba 100644
+index 66212a7da8b3..d2d877aff8e4 100644
 --- a/llvm/include/llvm/IR/Attributes.td
 +++ b/llvm/include/llvm/IR/Attributes.td
-@@ -92,6 +92,10 @@ def DisableSanitizerInstrumentation: EnumAttr<"disable_sanitizer_instrumentation
+@@ -96,6 +96,10 @@ def DisableSanitizerInstrumentation: EnumAttr<"disable_sanitizer_instrumentation
  /// Provide pointer element type to intrinsic.
  def ElementType : TypeAttr<"elementtype", [ParamAttr]>;
  
@@ -742,28 +741,28 @@
  def InaccessibleMemOnly : EnumAttr<"inaccessiblememonly", [FnAttr]>;
  
 diff --git a/llvm/include/llvm/Support/CodeGen.h b/llvm/include/llvm/Support/CodeGen.h
-index 9e66d84e185d..c554cb846b0f 100644
+index 71d0ddbfe05e..425d3a3d95d4 100644
 --- a/llvm/include/llvm/Support/CodeGen.h
 +++ b/llvm/include/llvm/Support/CodeGen.h
-@@ -69,6 +69,12 @@ namespace llvm {
-   // Specify what functions should keep the frame pointer.
-   enum class FramePointerKind { None, NonLeaf, All };
- 
--}  // end llvm namespace
+@@ -103,6 +103,13 @@ namespace llvm {
+     Async = 2, ///< "Asynchronous" unwind tables (instr precise)
+     Default = 2,
+   };
++
 +  enum class FunctionReturnThunksKind : unsigned int {
 +    Keep = 0,    ///< No function return thunk.
 +    Extern = 1,  ///< Replace returns with jump to thunk, don't emit thunk.
 +    Invalid = 2, ///< Not used.
 +  };
 +
-+  } // namespace llvm
+   } // namespace llvm
  
  #endif
 diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-index 993cb1de8c02..5bbed129b729 100644
+index 8a5074941b97..ec3b7e4369cb 100644
 --- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
 +++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-@@ -1391,6 +1391,8 @@ static Attribute::AttrKind getAttrFromCode(uint64_t Code) {
+@@ -1478,6 +1478,8 @@ static Attribute::AttrKind getAttrFromCode(uint64_t Code) {
      return Attribute::DisableSanitizerInstrumentation;
    case bitc::ATTR_KIND_ELEMENTTYPE:
      return Attribute::ElementType;
@@ -773,10 +772,10 @@
      return Attribute::InaccessibleMemOnly;
    case bitc::ATTR_KIND_INACCESSIBLEMEM_OR_ARGMEMONLY:
 diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-index e2354c40844a..87505473a938 100644
+index c76294d5a6d9..74d62c6200e5 100644
 --- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
 +++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-@@ -628,6 +628,8 @@ static uint64_t getAttrKindEncoding(Attribute::AttrKind Kind) {
+@@ -630,6 +630,8 @@ static uint64_t getAttrKindEncoding(Attribute::AttrKind Kind) {
      return bitc::ATTR_KIND_COLD;
    case Attribute::DisableSanitizerInstrumentation:
      return bitc::ATTR_KIND_DISABLE_SANITIZER_INSTRUMENTATION;
@@ -786,10 +785,10 @@
      return bitc::ATTR_KIND_HOT;
    case Attribute::ElementType:
 diff --git a/llvm/lib/Target/X86/CMakeLists.txt b/llvm/lib/Target/X86/CMakeLists.txt
-index 7aca430a246b..2a0dedf8018c 100644
+index 5a1d04e2d835..2327b73bf608 100644
 --- a/llvm/lib/Target/X86/CMakeLists.txt
 +++ b/llvm/lib/Target/X86/CMakeLists.txt
-@@ -72,6 +72,7 @@ set(sources
+@@ -73,6 +73,7 @@ set(sources
    X86PartialReduction.cpp
    X86RegisterBankInfo.cpp
    X86RegisterInfo.cpp
@@ -918,10 +917,10 @@
 +  return new X86ReturnThunks();
 +}
 diff --git a/llvm/lib/Target/X86/X86TargetMachine.cpp b/llvm/lib/Target/X86/X86TargetMachine.cpp
-index 336985f3bf9d..03f0a97b5ddf 100644
+index aa44e627bb1f..d88ac4fba0a8 100644
 --- a/llvm/lib/Target/X86/X86TargetMachine.cpp
 +++ b/llvm/lib/Target/X86/X86TargetMachine.cpp
-@@ -90,6 +90,7 @@ extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeX86Target() {
+@@ -92,6 +92,7 @@ extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeX86Target() {
    initializeX86OptimizeLEAPassPass(PR);
    initializeX86PartialReductionPass(PR);
    initializePseudoProbeInserterPass(PR);
@@ -929,7 +928,7 @@
  }
  
  static std::unique_ptr<TargetLoweringObjectFile> createTLOF(const Triple &TT) {
-@@ -564,6 +565,7 @@ void X86PassConfig::addPreEmitPass2() {
+@@ -569,6 +570,7 @@ void X86PassConfig::addPreEmitPass2() {
    // hand inspection of the codegen output.
    addPass(createX86SpeculativeExecutionSideEffectSuppression());
    addPass(createX86IndirectThunksPass());
@@ -938,10 +937,10 @@
    // Insert extra int3 instructions after trailing call instructions to avoid
    // issues in the unwinder.
 diff --git a/llvm/lib/Transforms/Utils/CodeExtractor.cpp b/llvm/lib/Transforms/Utils/CodeExtractor.cpp
-index 96aff563aa9b..e36828d82e1a 100644
+index 37689225b646..d9dc48548e7c 100644
 --- a/llvm/lib/Transforms/Utils/CodeExtractor.cpp
 +++ b/llvm/lib/Transforms/Utils/CodeExtractor.cpp
-@@ -945,6 +945,7 @@ Function *CodeExtractor::constructFunction(const ValueSet &inputs,
+@@ -925,6 +925,7 @@ Function *CodeExtractor::constructFunction(const ValueSet &inputs,
        case Attribute::AlwaysInline:
        case Attribute::Cold:
        case Attribute::DisableSanitizerInstrumentation:
@@ -950,10 +949,10 @@
        case Attribute::NoRecurse:
        case Attribute::InlineHint:
 diff --git a/llvm/test/Bitcode/attributes.ll b/llvm/test/Bitcode/attributes.ll
-index 611871c6064b..01ff98e77503 100644
+index ee582cab628d..78b54a5cf5c3 100644
 --- a/llvm/test/Bitcode/attributes.ll
 +++ b/llvm/test/Bitcode/attributes.ll
-@@ -478,6 +478,9 @@ define void @f80() disable_sanitizer_instrumentation
+@@ -532,6 +532,9 @@ define void @f86() nosanitize_bounds
          ret void;
  }
  
@@ -963,10 +962,10 @@
  ; CHECK: attributes #0 = { noreturn }
  ; CHECK: attributes #1 = { nounwind }
  ; CHECK: attributes #2 = { readnone }
-@@ -529,4 +532,5 @@ define void @f80() disable_sanitizer_instrumentation
- ; CHECK: attributes #48 = { nosanitize_coverage }
- ; CHECK: attributes #49 = { noprofile }
+@@ -585,4 +588,5 @@ define void @f86() nosanitize_bounds
  ; CHECK: attributes #50 = { disable_sanitizer_instrumentation }
+ ; CHECK: attributes #51 = { uwtable(sync) }
+ ; CHECK: attributes #52 = { nosanitize_bounds }
 +; CHECK: attributes [[FNRETTHUNKEXTERN]] = { fn_ret_thunk_extern }
  ; CHECK: attributes #[[NOBUILTIN]] = { nobuiltin }
 diff --git a/llvm/test/CodeGen/X86/O0-pipeline.ll b/llvm/test/CodeGen/X86/O0-pipeline.ll
@@ -1070,10 +1069,10 @@
 +
 +...
 diff --git a/llvm/test/CodeGen/X86/opt-pipeline.ll b/llvm/test/CodeGen/X86/opt-pipeline.ll
-index 81493a9be856..9dc1ea71c645 100644
+index e83266f72e48..9c7f40696fbd 100644
 --- a/llvm/test/CodeGen/X86/opt-pipeline.ll
 +++ b/llvm/test/CodeGen/X86/opt-pipeline.ll
-@@ -198,6 +198,7 @@
+@@ -202,6 +202,7 @@
  ; CHECK-NEXT:       Live DEBUG_VALUE analysis
  ; CHECK-NEXT:       X86 Speculative Execution Side Effect Suppression
  ; CHECK-NEXT:       X86 Indirect Thunks
diff --git a/sys-devel/llvm/files/cherry/22eb1dae3fb20ca8ada865de1d95baab0e08a060.patch b/sys-devel/llvm/files/cherry/22eb1dae3fb20ca8ada865de1d95baab0e08a060.patch
new file mode 100644
index 0000000..b206d20
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/22eb1dae3fb20ca8ada865de1d95baab0e08a060.patch
@@ -0,0 +1,605 @@
+commit 22eb1dae3fb20ca8ada865de1d95baab0e08a060
+Author: Nathan Chancellor <nathan@kernel.org>
+Date:   Sun Feb 13 10:23:32 2022 -0700
+
+    Revert "[AArch64] Adds SUBS and ADDS instructions to the MIPeepholeOpt."
+    
+    This reverts commit af45d0fd94b21620b61c8c4900b81486fd85aeb7.
+    
+    This causes assertions failures when compiling the Linux kernel. See
+    https://reviews.llvm.org/D118663 for a reduced reproducer.
+
+diff --git a/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp b/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+index 64336c4489c4..790078496462 100644
+--- a/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
++++ b/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+@@ -1547,6 +1547,27 @@ findCondCodeUseOperandIdxForBranchOrSelect(const MachineInstr &Instr) {
+   }
+ }
+ 
++namespace {
++
++struct UsedNZCV {
++  bool N = false;
++  bool Z = false;
++  bool C = false;
++  bool V = false;
++
++  UsedNZCV() = default;
++
++  UsedNZCV &operator|=(const UsedNZCV &UsedFlags) {
++    this->N |= UsedFlags.N;
++    this->Z |= UsedFlags.Z;
++    this->C |= UsedFlags.C;
++    this->V |= UsedFlags.V;
++    return *this;
++  }
++};
++
++} // end anonymous namespace
++
+ /// Find a condition code used by the instruction.
+ /// Returns AArch64CC::Invalid if either the instruction does not use condition
+ /// codes or we don't optimize CmpInstr in the presence of such instructions.
+@@ -1601,15 +1622,15 @@ static UsedNZCV getUsedNZCV(AArch64CC::CondCode CC) {
+   return UsedFlags;
+ }
+ 
+-/// \returns Conditions flags used after \p CmpInstr in its MachineBB if NZCV
+-/// flags are not alive in successors of the same \p CmpInstr and \p MI parent.
+-/// \returns None otherwise.
++/// \returns Conditions flags used after \p CmpInstr in its MachineBB if they
++/// are not containing C or V flags and NZCV flags are not alive in successors
++/// of the same \p CmpInstr and \p MI parent. \returns None otherwise.
+ ///
+ /// Collect instructions using that flags in \p CCUseInstrs if provided.
+-Optional<UsedNZCV>
+-llvm::examineCFlagsUse(MachineInstr &MI, MachineInstr &CmpInstr,
+-                       const TargetRegisterInfo &TRI,
+-                       SmallVectorImpl<MachineInstr *> *CCUseInstrs) {
++static Optional<UsedNZCV>
++examineCFlagsUse(MachineInstr &MI, MachineInstr &CmpInstr,
++                 const TargetRegisterInfo &TRI,
++                 SmallVectorImpl<MachineInstr *> *CCUseInstrs = nullptr) {
+   MachineBasicBlock *CmpParent = CmpInstr.getParent();
+   if (MI.getParent() != CmpParent)
+     return None;
+@@ -1631,6 +1652,8 @@ llvm::examineCFlagsUse(MachineInstr &MI, MachineInstr &CmpInstr,
+     if (Instr.modifiesRegister(AArch64::NZCV, &TRI))
+       break;
+   }
++  if (NZCVUsedAfterCmp.C || NZCVUsedAfterCmp.V)
++    return None;
+   return NZCVUsedAfterCmp;
+ }
+ 
+@@ -1661,8 +1684,7 @@ static bool canInstrSubstituteCmpInstr(MachineInstr &MI, MachineInstr &CmpInstr,
+   if (!isADDSRegImm(CmpOpcode) && !isSUBSRegImm(CmpOpcode))
+     return false;
+ 
+-  Optional<UsedNZCV> NZVCUsed = examineCFlagsUse(MI, CmpInstr, TRI);
+-  if (!NZVCUsed || NZVCUsed->C || NZVCUsed->V)
++  if (!examineCFlagsUse(MI, CmpInstr, TRI))
+     return false;
+ 
+   AccessKind AccessToCheck = AK_Write;
+@@ -1751,7 +1773,7 @@ static bool canCmpInstrBeRemoved(MachineInstr &MI, MachineInstr &CmpInstr,
+       examineCFlagsUse(MI, CmpInstr, TRI, &CCUseInstrs);
+   // Condition flags are not used in CmpInstr basic block successors and only
+   // Z or N flags allowed to be used after CmpInstr within its basic block
+-  if (!NZCVUsedAfterCmp || NZCVUsedAfterCmp->C || NZCVUsedAfterCmp->V)
++  if (!NZCVUsedAfterCmp)
+     return false;
+   // Z or N flag used after CmpInstr must correspond to the flag used in MI
+   if ((MIUsedNZCV.Z && NZCVUsedAfterCmp->N) ||
+diff --git a/llvm/lib/Target/AArch64/AArch64InstrInfo.h b/llvm/lib/Target/AArch64/AArch64InstrInfo.h
+index 0da812b1363c..1054bea40e68 100644
+--- a/llvm/lib/Target/AArch64/AArch64InstrInfo.h
++++ b/llvm/lib/Target/AArch64/AArch64InstrInfo.h
+@@ -356,33 +356,6 @@ private:
+                           const MachineRegisterInfo *MRI) const;
+ };
+ 
+-struct UsedNZCV {
+-  bool N = false;
+-  bool Z = false;
+-  bool C = false;
+-  bool V = false;
+-
+-  UsedNZCV() = default;
+-
+-  UsedNZCV &operator|=(const UsedNZCV &UsedFlags) {
+-    this->N |= UsedFlags.N;
+-    this->Z |= UsedFlags.Z;
+-    this->C |= UsedFlags.C;
+-    this->V |= UsedFlags.V;
+-    return *this;
+-  }
+-};
+-
+-/// \returns Conditions flags used after \p CmpInstr in its MachineBB if  NZCV
+-/// flags are not alive in successors of the same \p CmpInstr and \p MI parent.
+-/// \returns None otherwise.
+-///
+-/// Collect instructions using that flags in \p CCUseInstrs if provided.
+-Optional<UsedNZCV>
+-examineCFlagsUse(MachineInstr &MI, MachineInstr &CmpInstr,
+-                 const TargetRegisterInfo &TRI,
+-                 SmallVectorImpl<MachineInstr *> *CCUseInstrs = nullptr);
+-
+ /// Return true if there is an instruction /after/ \p DefMI and before \p UseMI
+ /// which either reads or clobbers NZCV.
+ bool isNZCVTouchedInInstructionRange(const MachineInstr &DefMI,
+diff --git a/llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp b/llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
+index 6b593274ab2f..1fc5617b49f6 100644
+--- a/llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
++++ b/llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
+@@ -60,13 +60,12 @@ struct AArch64MIPeepholeOpt : public MachineFunctionPass {
+   MachineLoopInfo *MLI;
+   MachineRegisterInfo *MRI;
+ 
+-  using OpcodePair = std::pair<unsigned, unsigned>;
+   template <typename T>
+   using SplitAndOpcFunc =
+-      std::function<Optional<OpcodePair>(T, unsigned, T &, T &)>;
++      std::function<Optional<unsigned>(T, unsigned, T &, T &)>;
+   using BuildMIFunc =
+-      std::function<void(MachineInstr &, OpcodePair, unsigned, unsigned,
+-                         Register, Register, Register)>;
++      std::function<void(MachineInstr &, unsigned, unsigned, unsigned, Register,
++                         Register, Register)>;
+ 
+   /// For instructions where an immediate operand could be split into two
+   /// separate immediate instructions, use the splitTwoPartImm two handle the
+@@ -94,10 +93,6 @@ struct AArch64MIPeepholeOpt : public MachineFunctionPass {
+   bool visitADDSUB(unsigned PosOpc, unsigned NegOpc, MachineInstr &MI,
+                    SmallSetVector<MachineInstr *, 8> &ToBeRemoved);
+   template <typename T>
+-  bool visitADDSSUBS(OpcodePair PosOpcs, OpcodePair NegOpcs, MachineInstr &MI,
+-                     SmallSetVector<MachineInstr *, 8> &ToBeRemoved);
+-
+-  template <typename T>
+   bool visitAND(unsigned Opc, MachineInstr &MI,
+                 SmallSetVector<MachineInstr *, 8> &ToBeRemoved);
+   bool visitORR(MachineInstr &MI,
+@@ -176,20 +171,20 @@ bool AArch64MIPeepholeOpt::visitAND(
+ 
+   return splitTwoPartImm<T>(
+       MI, ToBeRemoved,
+-      [Opc](T Imm, unsigned RegSize, T &Imm0, T &Imm1) -> Optional<OpcodePair> {
++      [Opc](T Imm, unsigned RegSize, T &Imm0, T &Imm1) -> Optional<unsigned> {
+         if (splitBitmaskImm(Imm, RegSize, Imm0, Imm1))
+-          return std::make_pair(Opc, Opc);
++          return Opc;
+         return None;
+       },
+-      [&TII = TII](MachineInstr &MI, OpcodePair Opcode, unsigned Imm0,
++      [&TII = TII](MachineInstr &MI, unsigned Opcode, unsigned Imm0,
+                    unsigned Imm1, Register SrcReg, Register NewTmpReg,
+                    Register NewDstReg) {
+         DebugLoc DL = MI.getDebugLoc();
+         MachineBasicBlock *MBB = MI.getParent();
+-        BuildMI(*MBB, MI, DL, TII->get(Opcode.first), NewTmpReg)
++        BuildMI(*MBB, MI, DL, TII->get(Opcode), NewTmpReg)
+             .addReg(SrcReg)
+             .addImm(Imm0);
+-        BuildMI(*MBB, MI, DL, TII->get(Opcode.second), NewDstReg)
++        BuildMI(*MBB, MI, DL, TII->get(Opcode), NewDstReg)
+             .addReg(NewTmpReg)
+             .addImm(Imm1);
+       });
+@@ -278,64 +273,23 @@ bool AArch64MIPeepholeOpt::visitADDSUB(
+   return splitTwoPartImm<T>(
+       MI, ToBeRemoved,
+       [PosOpc, NegOpc](T Imm, unsigned RegSize, T &Imm0,
+-                       T &Imm1) -> Optional<OpcodePair> {
++                       T &Imm1) -> Optional<unsigned> {
+         if (splitAddSubImm(Imm, RegSize, Imm0, Imm1))
+-          return std::make_pair(PosOpc, PosOpc);
++          return PosOpc;
+         if (splitAddSubImm(-Imm, RegSize, Imm0, Imm1))
+-          return std::make_pair(NegOpc, NegOpc);
++          return NegOpc;
+         return None;
+       },
+-      [&TII = TII](MachineInstr &MI, OpcodePair Opcode, unsigned Imm0,
+-                   unsigned Imm1, Register SrcReg, Register NewTmpReg,
+-                   Register NewDstReg) {
+-        DebugLoc DL = MI.getDebugLoc();
+-        MachineBasicBlock *MBB = MI.getParent();
+-        BuildMI(*MBB, MI, DL, TII->get(Opcode.first), NewTmpReg)
+-            .addReg(SrcReg)
+-            .addImm(Imm0)
+-            .addImm(12);
+-        BuildMI(*MBB, MI, DL, TII->get(Opcode.second), NewDstReg)
+-            .addReg(NewTmpReg)
+-            .addImm(Imm1)
+-            .addImm(0);
+-      });
+-}
+-
+-template <typename T>
+-bool AArch64MIPeepholeOpt::visitADDSSUBS(
+-    OpcodePair PosOpcs, OpcodePair NegOpcs, MachineInstr &MI,
+-    SmallSetVector<MachineInstr *, 8> &ToBeRemoved) {
+-  // Try the same transformation as ADDSUB but with additional requirement
+-  // that the condition code usages are only for Equal and Not Equal
+-  return splitTwoPartImm<T>(
+-      MI, ToBeRemoved,
+-      [PosOpcs, NegOpcs, &MI, &TRI = TRI, &MRI = MRI](
+-          T Imm, unsigned RegSize, T &Imm0, T &Imm1) -> Optional<OpcodePair> {
+-        OpcodePair OP;
+-        if (splitAddSubImm(Imm, RegSize, Imm0, Imm1))
+-          OP = PosOpcs;
+-        else if (splitAddSubImm(-Imm, RegSize, Imm0, Imm1))
+-          OP = NegOpcs;
+-        else
+-          return None;
+-        // Check conditional uses last since it is expensive for scanning
+-        // proceeding instructions
+-        MachineInstr &SrcMI = *MRI->getUniqueVRegDef(MI.getOperand(1).getReg());
+-        Optional<UsedNZCV> NZCVUsed = examineCFlagsUse(SrcMI, MI, *TRI);
+-        if (!NZCVUsed || NZCVUsed->C || NZCVUsed->V)
+-          return None;
+-        return OP;
+-      },
+-      [&TII = TII](MachineInstr &MI, OpcodePair Opcode, unsigned Imm0,
++      [&TII = TII](MachineInstr &MI, unsigned Opcode, unsigned Imm0,
+                    unsigned Imm1, Register SrcReg, Register NewTmpReg,
+                    Register NewDstReg) {
+         DebugLoc DL = MI.getDebugLoc();
+         MachineBasicBlock *MBB = MI.getParent();
+-        BuildMI(*MBB, MI, DL, TII->get(Opcode.first), NewTmpReg)
++        BuildMI(*MBB, MI, DL, TII->get(Opcode), NewTmpReg)
+             .addReg(SrcReg)
+             .addImm(Imm0)
+             .addImm(12);
+-        BuildMI(*MBB, MI, DL, TII->get(Opcode.second), NewDstReg)
++        BuildMI(*MBB, MI, DL, TII->get(Opcode), NewDstReg)
+             .addReg(NewTmpReg)
+             .addImm(Imm1)
+             .addImm(0);
+@@ -403,49 +357,32 @@ bool AArch64MIPeepholeOpt::splitTwoPartImm(
+   // number since it was sign extended when we assign to the 64-bit Imm.
+   if (SubregToRegMI)
+     Imm &= 0xFFFFFFFF;
+-  OpcodePair Opcode;
++  unsigned Opcode;
+   if (auto R = SplitAndOpc(Imm, RegSize, Imm0, Imm1))
+     Opcode = R.getValue();
+   else
+     return false;
+ 
+-  // Create new MIs using the first and second opcodes. Opcodes might differ for
+-  // flag setting operations that should only set flags on second instruction.
+-  // NewTmpReg = Opcode.first SrcReg Imm0
+-  // NewDstReg = Opcode.second NewTmpReg Imm1
+-
+-  // Determine register classes for destinations and register operands
++  // Create new ADD/SUB MIs.
+   MachineFunction *MF = MI.getMF();
+-  const TargetRegisterClass *FirstInstrDstRC =
+-      TII->getRegClass(TII->get(Opcode.first), 0, TRI, *MF);
+-  const TargetRegisterClass *FirstInstrOperandRC =
+-      TII->getRegClass(TII->get(Opcode.first), 1, TRI, *MF);
+-  const TargetRegisterClass *SecondInstrDstRC =
+-      (Opcode.first == Opcode.second)
+-          ? FirstInstrDstRC
+-          : TII->getRegClass(TII->get(Opcode.second), 0, TRI, *MF);
+-  const TargetRegisterClass *SecondInstrOperandRC =
+-      (Opcode.first == Opcode.second)
+-          ? FirstInstrOperandRC
+-          : TII->getRegClass(TII->get(Opcode.second), 1, TRI, *MF);
+-
+-  // Get old registers destinations and new register destinations
++  const TargetRegisterClass *RC =
++      TII->getRegClass(TII->get(Opcode), 0, TRI, *MF);
++  const TargetRegisterClass *ORC =
++      TII->getRegClass(TII->get(Opcode), 1, TRI, *MF);
+   Register DstReg = MI.getOperand(0).getReg();
+   Register SrcReg = MI.getOperand(1).getReg();
+-  Register NewTmpReg = MRI->createVirtualRegister(FirstInstrDstRC);
+-  Register NewDstReg = MRI->createVirtualRegister(SecondInstrDstRC);
++  Register NewTmpReg = MRI->createVirtualRegister(RC);
++  Register NewDstReg = MRI->createVirtualRegister(RC);
+ 
+-  // Constrain registers based on their new uses
+-  MRI->constrainRegClass(SrcReg, FirstInstrOperandRC);
+-  MRI->constrainRegClass(NewTmpReg, SecondInstrOperandRC);
++  MRI->constrainRegClass(SrcReg, RC);
++  MRI->constrainRegClass(NewTmpReg, ORC);
+   MRI->constrainRegClass(NewDstReg, MRI->getRegClass(DstReg));
+ 
+-  // Call the delegating operation to build the instruction
+   BuildInstr(MI, Opcode, Imm0, Imm1, SrcReg, NewTmpReg, NewDstReg);
+ 
++  MRI->replaceRegWith(DstReg, NewDstReg);
+   // replaceRegWith changes MI's definition register. Keep it for SSA form until
+   // deleting MI.
+-  MRI->replaceRegWith(DstReg, NewDstReg);
+   MI.getOperand(0).setReg(DstReg);
+ 
+   // Record the MIs need to be removed.
+@@ -502,26 +439,6 @@ bool AArch64MIPeepholeOpt::runOnMachineFunction(MachineFunction &MF) {
+         Changed = visitADDSUB<uint64_t>(AArch64::SUBXri, AArch64::ADDXri, MI,
+                                         ToBeRemoved);
+         break;
+-      case AArch64::ADDSWrr:
+-        Changed = visitADDSSUBS<uint32_t>({AArch64::ADDWri, AArch64::ADDSWri},
+-                                          {AArch64::SUBWri, AArch64::SUBSWri},
+-                                          MI, ToBeRemoved);
+-        break;
+-      case AArch64::SUBSWrr:
+-        Changed = visitADDSSUBS<uint32_t>({AArch64::SUBWri, AArch64::SUBSWri},
+-                                          {AArch64::ADDWri, AArch64::ADDSWri},
+-                                          MI, ToBeRemoved);
+-        break;
+-      case AArch64::ADDSXrr:
+-        Changed = visitADDSSUBS<uint64_t>({AArch64::ADDXri, AArch64::ADDSXri},
+-                                          {AArch64::SUBXri, AArch64::SUBSXri},
+-                                          MI, ToBeRemoved);
+-        break;
+-      case AArch64::SUBSXrr:
+-        Changed = visitADDSSUBS<uint64_t>({AArch64::SUBXri, AArch64::SUBSXri},
+-                                          {AArch64::ADDXri, AArch64::ADDSXri},
+-                                          MI, ToBeRemoved);
+-        break;
+       }
+     }
+   }
+diff --git a/llvm/test/CodeGen/AArch64/addsub.ll b/llvm/test/CodeGen/AArch64/addsub.ll
+index 6d150025b368..b95c15ac6d07 100644
+--- a/llvm/test/CodeGen/AArch64/addsub.ll
++++ b/llvm/test/CodeGen/AArch64/addsub.ll
+@@ -406,216 +406,4 @@ define i64 @addl_0x80000000(i64 %a) {
+   ret i64 %b
+ }
+ 
+-; ADDS and SUBS Optimizations
+-; Checks with all types first, then checks that only EQ and NE optimize
+-define i1 @eq_i(i32 %0) {
+-; CHECK-LABEL: eq_i:
+-; CHECK:       // %bb.0:
+-; CHECK-NEXT:    sub w8, w0, #273, lsl #12 // =1118208
+-; CHECK-NEXT:    cmp w8, #273
+-; CHECK-NEXT:    cset w0, eq
+-; CHECK-NEXT:    ret
+-  %2 = icmp eq i32 %0, 1118481
+-  ret i1 %2
+-}
+-
+-define i1 @eq_l(i64 %0) {
+-; CHECK-LABEL: eq_l:
+-; CHECK:       // %bb.0:
+-; CHECK-NEXT:    sub x8, x0, #273, lsl #12 // =1118208
+-; CHECK-NEXT:    cmp x8, #273
+-; CHECK-NEXT:    cset w0, eq
+-; CHECK-NEXT:    ret
+-  %2 = icmp eq i64 %0, 1118481
+-  ret i1 %2
+-}
+-
+-define i1 @ne_i(i32 %0) {
+-; CHECK-LABEL: ne_i:
+-; CHECK:       // %bb.0:
+-; CHECK-NEXT:    sub w8, w0, #273, lsl #12 // =1118208
+-; CHECK-NEXT:    cmp w8, #273
+-; CHECK-NEXT:    cset w0, ne
+-; CHECK-NEXT:    ret
+-  %2 = icmp ne i32 %0, 1118481
+-  ret i1 %2
+-}
+-
+-define i1 @ne_l(i64 %0) {
+-; CHECK-LABEL: ne_l:
+-; CHECK:       // %bb.0:
+-; CHECK-NEXT:    sub x8, x0, #273, lsl #12 // =1118208
+-; CHECK-NEXT:    cmp x8, #273
+-; CHECK-NEXT:    cset w0, ne
+-; CHECK-NEXT:    ret
+-  %2 = icmp ne i64 %0, 1118481
+-  ret i1 %2
+-}
+-
+-define i1 @eq_in(i32 %0) {
+-; CHECK-LABEL: eq_in:
+-; CHECK:       // %bb.0:
+-; CHECK-NEXT:    add w8, w0, #273, lsl #12 // =1118208
+-; CHECK-NEXT:    cmn w8, #273
+-; CHECK-NEXT:    cset w0, eq
+-; CHECK-NEXT:    ret
+-  %2 = icmp eq i32 %0, -1118481
+-  ret i1 %2
+-}
+-
+-define i1 @eq_ln(i64 %0) {
+-; CHECK-LABEL: eq_ln:
+-; CHECK:       // %bb.0:
+-; CHECK-NEXT:    add x8, x0, #273, lsl #12 // =1118208
+-; CHECK-NEXT:    cmn x8, #273
+-; CHECK-NEXT:    cset w0, eq
+-; CHECK-NEXT:    ret
+-  %2 = icmp eq i64 %0, -1118481
+-  ret i1 %2
+-}
+-
+-define i1 @ne_in(i32 %0) {
+-; CHECK-LABEL: ne_in:
+-; CHECK:       // %bb.0:
+-; CHECK-NEXT:    add w8, w0, #273, lsl #12 // =1118208
+-; CHECK-NEXT:    cmn w8, #273
+-; CHECK-NEXT:    cset w0, ne
+-; CHECK-NEXT:    ret
+-  %2 = icmp ne i32 %0, -1118481
+-  ret i1 %2
+-}
+-
+-define i1 @ne_ln(i64 %0) {
+-; CHECK-LABEL: ne_ln:
+-; CHECK:       // %bb.0:
+-; CHECK-NEXT:    add x8, x0, #273, lsl #12 // =1118208
+-; CHECK-NEXT:    cmn x8, #273
+-; CHECK-NEXT:    cset w0, ne
+-; CHECK-NEXT:    ret
+-  %2 = icmp ne i64 %0, -1118481
+-  ret i1 %2
+-}
+-
+-define i1 @reject_eq(i32 %0) {
+-; CHECK-LABEL: reject_eq:
+-; CHECK:       // %bb.0:
+-; CHECK-NEXT:    mov w8, #51712
+-; CHECK-NEXT:    movk w8, #15258, lsl #16
+-; CHECK-NEXT:    cmp w0, w8
+-; CHECK-NEXT:    cset w0, eq
+-; CHECK-NEXT:    ret
+-  %2 = icmp eq i32 %0, 1000000000
+-  ret i1 %2
+-}
+-
+-define i1 @reject_non_eqne_csinc(i32 %0) {
+-; CHECK-LABEL: reject_non_eqne_csinc:
+-; CHECK:       // %bb.0:
+-; CHECK-NEXT:    mov w8, #4369
+-; CHECK-NEXT:    movk w8, #17, lsl #16
+-; CHECK-NEXT:    cmp w0, w8
+-; CHECK-NEXT:    cset w0, lo
+-; CHECK-NEXT:    ret
+-  %2 = icmp ult i32 %0, 1118481
+-  ret i1 %2
+-}
+-
+-define i32 @accept_csel(i32 %0) {
+-; CHECK-LABEL: accept_csel:
+-; CHECK:       // %bb.0:
+-; CHECK-NEXT:    sub w9, w0, #273, lsl #12 // =1118208
+-; CHECK-NEXT:    mov w8, #17
+-; CHECK-NEXT:    cmp w9, #273
+-; CHECK-NEXT:    mov w9, #11
+-; CHECK-NEXT:    csel w0, w9, w8, eq
+-; CHECK-NEXT:    ret
+-  %2 = icmp eq i32 %0, 1118481
+-  %3 = select i1 %2, i32 11, i32 17
+-  ret i32 %3
+-}
+-
+-define i32 @reject_non_eqne_csel(i32 %0) {
+-; CHECK-LABEL: reject_non_eqne_csel:
+-; CHECK:       // %bb.0:
+-; CHECK-NEXT:    mov w8, #4369
+-; CHECK-NEXT:    mov w9, #11
+-; CHECK-NEXT:    movk w8, #17, lsl #16
+-; CHECK-NEXT:    cmp w0, w8
+-; CHECK-NEXT:    mov w8, #17
+-; CHECK-NEXT:    csel w0, w9, w8, lo
+-; CHECK-NEXT:    ret
+-  %2 = icmp ult i32 %0, 1118481
+-  %3 = select i1 %2, i32 11, i32 17
+-  ret i32 %3
+-}
+-
+-declare void @fooy()
+-
+-define void @accept_branch(i32 %0) {
+-; CHECK-LABEL: accept_branch:
+-; CHECK:       // %bb.0:
+-; CHECK-NEXT:    sub w8, w0, #291, lsl #12 // =1191936
+-; CHECK-NEXT:    cmp w8, #1110
+-; CHECK-NEXT:    b.eq .LBB32_2
+-; CHECK-NEXT:  // %bb.1:
+-; CHECK-NEXT:    ret
+-; CHECK-NEXT:  .LBB32_2:
+-; CHECK-NEXT:    b fooy
+-  %2 = icmp ne i32 %0, 1193046
+-  br i1 %2, label %4, label %3
+-3:                                                ; preds = %1
+-  tail call void @fooy()
+-  br label %4
+-4:                                                ; preds = %3, %1
+-  ret void
+-}
+-
+-define void @reject_non_eqne_branch(i32 %0) {
+-; CHECK-LABEL: reject_non_eqne_branch:
+-; CHECK:       // %bb.0:
+-; CHECK-NEXT:    mov w8, #13398
+-; CHECK-NEXT:    movk w8, #18, lsl #16
+-; CHECK-NEXT:    cmp w0, w8
+-; CHECK-NEXT:    b.le .LBB33_2
+-; CHECK-NEXT:  // %bb.1:
+-; CHECK-NEXT:    ret
+-; CHECK-NEXT:  .LBB33_2:
+-; CHECK-NEXT:    b fooy
+-  %2 = icmp sgt i32 %0, 1193046
+-  br i1 %2, label %4, label %3
+-3:                                                ; preds = %1
+-  tail call void @fooy()
+-  br label %4
+-4:                                                ; preds = %3, %1
+-  ret void
+-}
+-
+-define i32 @reject_multiple_usages(i32 %0) {
+-; CHECK-LABEL: reject_multiple_usages:
+-; CHECK:       // %bb.0:
+-; CHECK-NEXT:    mov w8, #4369
+-; CHECK-NEXT:    mov w9, #3
+-; CHECK-NEXT:    movk w8, #17, lsl #16
+-; CHECK-NEXT:    mov w10, #17
+-; CHECK-NEXT:    cmp w0, w8
+-; CHECK-NEXT:    mov w8, #9
+-; CHECK-NEXT:    mov w11, #12
+-; CHECK-NEXT:    csel w8, w8, w9, eq
+-; CHECK-NEXT:    csel w9, w11, w10, hi
+-; CHECK-NEXT:    add w8, w8, w9
+-; CHECK-NEXT:    mov w9, #53312
+-; CHECK-NEXT:    movk w9, #2, lsl #16
+-; CHECK-NEXT:    cmp w0, w9
+-; CHECK-NEXT:    mov w9, #26304
+-; CHECK-NEXT:    movk w9, #1433, lsl #16
+-; CHECK-NEXT:    csel w0, w8, w9, hi
+-; CHECK-NEXT:    ret
+-  %2 = icmp eq i32 %0, 1118481
+-  %3 = icmp ugt i32 %0, 1118481
+-  %4 = select i1 %2, i32 9, i32 3
+-  %5 = select i1 %3, i32 12, i32 17
+-  %6 = add i32 %4, %5
+-  %7 = icmp ugt i32 %0, 184384
+-  %8 = select i1 %7, i32 %6, i32 93939392
+-  ret i32 %8
+-}
++; TODO: adds/subs
+diff --git a/llvm/test/CodeGen/AArch64/arm64-instruction-mix-remarks.ll b/llvm/test/CodeGen/AArch64/arm64-instruction-mix-remarks.ll
+index 0c2cf1778722..f5a4a45adbc0 100644
+--- a/llvm/test/CodeGen/AArch64/arm64-instruction-mix-remarks.ll
++++ b/llvm/test/CodeGen/AArch64/arm64-instruction-mix-remarks.ll
+@@ -12,8 +12,8 @@
+ ; YAML:      - INST_add:    '2'
+ ; YAML:      - INST_b.:     '1'
+ ; YAML:      - INST_ldr:    '1'
+-; YAML:      - INST_orr:    '1'
+-; YAML:      - INST_sub:   '1'
++; YAML:      - INST_movk:   '1'
++; YAML:      - INST_movz:   '1'
+ ; YAML:      - INST_subs:   '1'
+ 
+ ; YAML:      Name:            InstructionMix
+@@ -27,12 +27,13 @@
+ define i32 @foo(i32* %ptr, i32 %x, i64 %y) !dbg !3 {
+ ; CHECK-LABEL: foo:
+ ; CHECK:       ; %bb.0: ; %entry
+-; CHECK-NEXT:    ldr w9, [x0]
++; CHECK-NEXT:    ldr w10, [x0]
+ ; CHECK-NEXT:    mov x8, x0
+-; CHECK-NEXT:    add w0, w9, w1
+-; CHECK-NEXT:    add x9, x0, x2
+-; CHECK-NEXT:    sub x9, x9, #244, lsl #12 ; =999424
+-; CHECK-NEXT:    cmp x9, #575
++; CHECK-NEXT:    mov w9, #16959
++; CHECK-NEXT:    movk w9, #15, lsl #16
++; CHECK-NEXT:    add w0, w10, w1
++; CHECK-NEXT:    add x10, x0, x2
++; CHECK-NEXT:    cmp x10, x9
+ ; CHECK-NEXT:    b.eq LBB0_2
+ ; CHECK-NEXT:  ; %bb.1: ; %else
+ ; CHECK-NEXT:    mul w9, w0, w1
diff --git a/sys-devel/llvm/files/cherry/23091f7d504afde4bba3fc885718a1633746e063.patch b/sys-devel/llvm/files/cherry/23091f7d504afde4bba3fc885718a1633746e063.patch
new file mode 100644
index 0000000..ea17951
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/23091f7d504afde4bba3fc885718a1633746e063.patch
@@ -0,0 +1,83 @@
+commit 23091f7d504afde4bba3fc885718a1633746e063
+Author: Florian Hahn <flo@fhahn.com>
+Date:   Mon Jan 31 18:20:46 2022 +0000
+
+    [AArch64] Bail out for float operands in SetCC optimization.
+    
+    The optimization added in D118139 causes a crash on the added test case
+    while trying to zero extend an vector of floats.
+    
+    Fix the crash by bailing out for floating point operands.
+    
+    Reviewed By: DavidTruby
+    
+    Differential Revision: https://reviews.llvm.org/D118615
+
+diff --git a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+index 5bcf25a87348..944145dd7ad6 100644
+--- a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
++++ b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+@@ -15422,6 +15422,12 @@ performSignExtendSetCCCombine(SDNode *N, TargetLowering::DAGCombinerInfo &DCI,
+          N->getOperand(0)->getOpcode() == ISD::SETCC);
+   const SDValue SetCC = N->getOperand(0);
+ 
++  const SDValue CCOp0 = SetCC.getOperand(0);
++  const SDValue CCOp1 = SetCC.getOperand(1);
++  if (!CCOp0->getValueType(0).isInteger() ||
++      !CCOp1->getValueType(0).isInteger())
++    return SDValue();
++
+   ISD::CondCode Code =
+       cast<CondCodeSDNode>(SetCC->getOperand(2).getNode())->get();
+ 
+@@ -15431,9 +15437,9 @@ performSignExtendSetCCCombine(SDNode *N, TargetLowering::DAGCombinerInfo &DCI,
+   if (isCheapToExtend(SetCC.getOperand(0)) &&
+       isCheapToExtend(SetCC.getOperand(1))) {
+     const SDValue Ext1 =
+-        DAG.getNode(ExtType, SDLoc(N), N->getValueType(0), SetCC.getOperand(0));
++        DAG.getNode(ExtType, SDLoc(N), N->getValueType(0), CCOp0);
+     const SDValue Ext2 =
+-        DAG.getNode(ExtType, SDLoc(N), N->getValueType(0), SetCC.getOperand(1));
++        DAG.getNode(ExtType, SDLoc(N), N->getValueType(0), CCOp1);
+ 
+     return DAG.getSetCC(
+         SDLoc(SetCC), N->getValueType(0), Ext1, Ext2,
+diff --git a/llvm/test/CodeGen/AArch64/select_cc.ll b/llvm/test/CodeGen/AArch64/select_cc.ll
+index 785e6b800ed7..1444eecb946c 100644
+--- a/llvm/test/CodeGen/AArch64/select_cc.ll
++++ b/llvm/test/CodeGen/AArch64/select_cc.ll
+@@ -52,3 +52,34 @@ entry:
+   %sel = select i1 %cc, i64 0, i64 4
+   ret i64 %sel
+ }
++
++define <2 x double> @select_olt_load_cmp(<2 x double> %a, <2 x float>* %src) {
++; CHECK-LABEL: select_olt_load_cmp:
++; CHECK:       // %bb.0: // %entry
++; CHECK-NEXT:    movi d1, #0000000000000000
++; CHECK-NEXT:    ldr d2, [x0]
++; CHECK-NEXT:    fcmgt v1.2s, v2.2s, v1.2s
++; CHECK-NEXT:    sshll v1.2d, v1.2s, #0
++; CHECK-NEXT:    and v0.16b, v0.16b, v1.16b
++; CHECK-NEXT:    ret
++entry:
++  %l = load <2 x float>, <2 x float>* %src, align 4
++  %cmp = fcmp olt <2 x float> zeroinitializer, %l
++  %sel = select <2 x i1> %cmp, <2 x double> %a, <2 x double> zeroinitializer
++  ret <2 x double> %sel
++}
++
++define <4 x i32> @select_icmp_sgt(<4 x i32> %a, <4 x i8> %b) {
++; CHECK-LABEL: select_icmp_sgt:
++; CHECK:       // %bb.0: // %entry
++; CHECK-NEXT:    shl v1.4h, v1.4h, #8
++; CHECK-NEXT:    sshr v1.4h, v1.4h, #8
++; CHECK-NEXT:    cmgt v1.4h, v1.4h, #0
++; CHECK-NEXT:    sshll v1.4s, v1.4h, #0
++; CHECK-NEXT:    bic v0.16b, v0.16b, v1.16b
++; CHECK-NEXT:    ret
++entry:
++  %cmp = icmp sgt <4 x i8> %b, zeroinitializer
++  %sel = select <4 x i1> %cmp, <4 x i32> zeroinitializer, <4 x i32> %a
++  ret <4 x i32> %sel
++}
diff --git a/sys-devel/llvm/files/cherry/23d6cde14de352e05c66ae34cd237e3a7a8955d1.patch b/sys-devel/llvm/files/cherry/23d6cde14de352e05c66ae34cd237e3a7a8955d1.patch
new file mode 100644
index 0000000..966536f
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/23d6cde14de352e05c66ae34cd237e3a7a8955d1.patch
@@ -0,0 +1,3679 @@
+commit 23d6cde14de352e05c66ae34cd237e3a7a8955d1
+Author: Louis Dionne <ldionne.2@gmail.com>
+Date:   Mon Jun 20 17:10:53 2022 -0400
+
+    [libc++] Add a test to pin down the set of transitive public includes
+    
+    A situation that happens fairly often in libc++ is that we remove some
+    transitive includes in a header (either purposefully or not) and that
+    ends up breaking users. Of course, we want to be able to remove our
+    transitive includes, however it's also good to have a grip on that
+    to know which commit changed what and when. Furthermore, it's good
+    to accumulate include removals for a couple of releases to avoid
+    breaking users at every release for this reason.
+    
+    This commit adds a test that should break whenever we remove an
+    include. Hence, it should allow us to track which headers include
+    which other headers transitively, giving us a traceable way to
+    remove headers.
+    
+    Differential Revision: https://reviews.llvm.org/D128236
+
+diff --git a/libcxx/include/__debug b/libcxx/include/__debug
+index 403710600b0d..d3dd202b54ab 100644
+--- a/libcxx/include/__debug
++++ b/libcxx/include/__debug
+@@ -12,6 +12,7 @@
+ 
+ #include <__assert>
+ #include <__config>
++#include <cstddef>
+ #include <type_traits>
+ 
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+@@ -51,10 +52,6 @@
+ 
+ #if defined(_LIBCPP_ENABLE_DEBUG_MODE) || defined(_LIBCPP_BUILDING_LIBRARY)
+ 
+-#include <cstddef>
+-#include <cstdio>
+-#include <cstdlib>
+-
+ _LIBCPP_BEGIN_NAMESPACE_STD
+ 
+ struct _LIBCPP_TYPE_VIS __c_node;
+diff --git a/libcxx/include/locale b/libcxx/include/locale
+index b95a64168777..8ac2aacb6edf 100644
+--- a/libcxx/include/locale
++++ b/libcxx/include/locale
+@@ -201,9 +201,7 @@ template <class charT> class messages_byname;
+ #include <__iterator/istreambuf_iterator.h>
+ #include <__iterator/ostreambuf_iterator.h>
+ #include <__locale>
+-#ifndef __APPLE__
+-# include <cstdarg>
+-#endif
++#include <cstdarg> // TODO: Remove this include
+ #include <cstdio>
+ #include <cstdlib>
+ #include <ctime>
+diff --git a/libcxx/test/libcxx/lint/lit.local.cfg b/libcxx/test/libcxx/lit.local.cfg
+similarity index 100%
+rename from libcxx/test/libcxx/lint/lit.local.cfg
+rename to libcxx/test/libcxx/lit.local.cfg
+diff --git a/libcxx/test/libcxx/selftest/dsl/lit.local.cfg b/libcxx/test/libcxx/selftest/dsl/lit.local.cfg
+index ccadd41765a7..ce4a32346816 100644
+--- a/libcxx/test/libcxx/selftest/dsl/lit.local.cfg
++++ b/libcxx/test/libcxx/selftest/dsl/lit.local.cfg
+@@ -12,7 +12,3 @@ import base64, lit.util, pickle
+ base64Encode = lambda s: lit.util.to_string(base64.b64encode(lit.util.to_bytes(s)))
+ escapedSubstitutions = base64Encode(pickle.dumps(config.substitutions))
+ config.substitutions.append(('%{substitutions}', escapedSubstitutions))
+-
+-# The tests in this directory need to run Python
+-import pipes, sys
+-config.substitutions.append(('%{python}', pipes.quote(sys.executable)))
+diff --git a/libcxx/test/libcxx/transitive_includes.sanitize.py b/libcxx/test/libcxx/transitive_includes.sanitize.py
+new file mode 100755
+index 000000000000..caf2b2cf8b4c
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes.sanitize.py
+@@ -0,0 +1,33 @@
++#!/usr/bin/env python
++#===----------------------------------------------------------------------===##
++#
++# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++# See https://llvm.org/LICENSE.txt for license information.
++# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
++#
++#===----------------------------------------------------------------------===##
++
++# This script reads lines from standard input and looks for the names of public C++ headers.
++# Specifically, it looks for lines of the form 'c++/v1/header' where 'header' is the name
++# of a public C++ header, excluding C compatibility headers.
++
++import os
++import re
++import sys
++
++headers = []
++for line in sys.stdin.readlines():
++  match = re.search('c\+\+/v[0-9]+/(.+)', line)
++  if not match:
++    continue
++
++  header = match.group(1)
++  if os.path.basename(header).endswith('.h'): # Skip C headers
++    continue
++
++  if os.path.basename(header).startswith('__'): # Skip internal headers
++    continue
++
++  headers.append(header)
++
++print('\n'.join(sorted(set(headers))))
+diff --git a/libcxx/test/libcxx/transitive_includes.sh.cpp b/libcxx/test/libcxx/transitive_includes.sh.cpp
+new file mode 100644
+index 000000000000..7c4ff67d62e4
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes.sh.cpp
+@@ -0,0 +1,674 @@
++//===----------------------------------------------------------------------===//
++//
++// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++// See https://llvm.org/LICENSE.txt for license information.
++// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
++//
++//===----------------------------------------------------------------------===//
++
++// Test that we don't remove transitive includes of public C++ headers in the library accidentally.
++// When we remove a transitive public include, clients tend to break because they don't always
++// properly include what they use. Note that we don't check which system (C) headers are
++// included transitively, because that is too unstable across platforms, and hence difficult
++// to test for.
++//
++// This is not meant to block libc++ from removing unused transitive includes
++// forever, however we do try to group removals for a couple of releases
++// to avoid breaking users at every release.
++
++// This test doesn't support being run when some headers are not available, since we
++// would need to add significant complexity to make that work.
++// UNSUPPORTED: no-localization, no-threads, no-wide-characters, no-filesystem, libcpp-has-no-incomplete-format, libcpp-has-no-incomplete-ranges
++
++// This test only supports being run with the latest Standard, otherwise we'd
++// have to support various versions of the test.
++// UNSUPPORTED: c++03, c++11, c++14, c++17, c++20
++
++// When built with modules, this test doesn't work because --trace-includes doesn't
++// report the stack of includes correctly.
++// UNSUPPORTED: modules-build
++
++// This test uses --trace-includes, which is not supported by GCC.
++// UNSUPPORTED: gcc
++
++// This test doesn't work on AIX or Windows, but it should. Needs investigation.
++// XFAIL: buildhost=aix6, buildhost=windows
++
++// Prevent <ext/hash_map> from generating deprecated warnings for this test.
++#if defined(__DEPRECATED)
++#    undef __DEPRECATED
++#endif
++
++/*
++BEGIN-SCRIPT
++
++import re
++
++# To re-generate the list of expected headers, temporarily set this to True, re-generate
++# the file and run this test.
++regenerate_expected_results = False
++
++# Used because the sequence of tokens RUN : can't appear anywhere or it'll confuse Lit.
++RUN = "RUN"
++
++if regenerate_expected_results:
++  print(f"// {RUN}: rm -rf %S/transitive_includes")
++  print(f"// {RUN}: mkdir %S/transitive_includes")
++
++for i, header in enumerate(public_headers):
++  if header.endswith('.h'): # Skip C compatibility headers
++    continue
++
++  normalized_header = re.sub('/', '_', header)
++  trace_includes = "%{{cxx}} %s %{{flags}} %{{compile_flags}} --trace-includes -fsyntax-only -DTEST_{} 2>&1".format(i)
++  if regenerate_expected_results:
++    print(f"// {RUN}: {trace_includes} | %{{python}} %S/transitive_includes.sanitize.py > %S/transitive_includes/expected.{normalized_header}")
++  else:
++    print(f"// {RUN}: {trace_includes} | %{{python}} %S/transitive_includes.sanitize.py > %t.actual.{normalized_header}")
++    print(f"// {RUN}: diff %S/transitive_includes/expected.{normalized_header} %t.actual.{normalized_header}")
++
++  print("#if defined(TEST_{})".format(i))
++  print("#include <{}>".format(header))
++  print("#endif")
++
++END-SCRIPT
++*/
++
++// DO NOT MANUALLY EDIT ANYTHING BETWEEN THE MARKERS BELOW
++// GENERATED-MARKER
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_0 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.algorithm
++// RUN: diff %S/transitive_includes/expected.algorithm %t.actual.algorithm
++#if defined(TEST_0)
++#include <algorithm>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_1 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.any
++// RUN: diff %S/transitive_includes/expected.any %t.actual.any
++#if defined(TEST_1)
++#include <any>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_2 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.array
++// RUN: diff %S/transitive_includes/expected.array %t.actual.array
++#if defined(TEST_2)
++#include <array>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_3 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.atomic
++// RUN: diff %S/transitive_includes/expected.atomic %t.actual.atomic
++#if defined(TEST_3)
++#include <atomic>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_4 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.barrier
++// RUN: diff %S/transitive_includes/expected.barrier %t.actual.barrier
++#if defined(TEST_4)
++#include <barrier>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_5 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.bit
++// RUN: diff %S/transitive_includes/expected.bit %t.actual.bit
++#if defined(TEST_5)
++#include <bit>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_6 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.bitset
++// RUN: diff %S/transitive_includes/expected.bitset %t.actual.bitset
++#if defined(TEST_6)
++#include <bitset>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_7 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cassert
++// RUN: diff %S/transitive_includes/expected.cassert %t.actual.cassert
++#if defined(TEST_7)
++#include <cassert>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_8 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ccomplex
++// RUN: diff %S/transitive_includes/expected.ccomplex %t.actual.ccomplex
++#if defined(TEST_8)
++#include <ccomplex>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_9 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cctype
++// RUN: diff %S/transitive_includes/expected.cctype %t.actual.cctype
++#if defined(TEST_9)
++#include <cctype>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_10 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cerrno
++// RUN: diff %S/transitive_includes/expected.cerrno %t.actual.cerrno
++#if defined(TEST_10)
++#include <cerrno>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_11 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cfenv
++// RUN: diff %S/transitive_includes/expected.cfenv %t.actual.cfenv
++#if defined(TEST_11)
++#include <cfenv>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_12 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cfloat
++// RUN: diff %S/transitive_includes/expected.cfloat %t.actual.cfloat
++#if defined(TEST_12)
++#include <cfloat>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_13 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.charconv
++// RUN: diff %S/transitive_includes/expected.charconv %t.actual.charconv
++#if defined(TEST_13)
++#include <charconv>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_14 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.chrono
++// RUN: diff %S/transitive_includes/expected.chrono %t.actual.chrono
++#if defined(TEST_14)
++#include <chrono>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_15 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cinttypes
++// RUN: diff %S/transitive_includes/expected.cinttypes %t.actual.cinttypes
++#if defined(TEST_15)
++#include <cinttypes>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_16 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ciso646
++// RUN: diff %S/transitive_includes/expected.ciso646 %t.actual.ciso646
++#if defined(TEST_16)
++#include <ciso646>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_17 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.climits
++// RUN: diff %S/transitive_includes/expected.climits %t.actual.climits
++#if defined(TEST_17)
++#include <climits>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_18 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.clocale
++// RUN: diff %S/transitive_includes/expected.clocale %t.actual.clocale
++#if defined(TEST_18)
++#include <clocale>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_19 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cmath
++// RUN: diff %S/transitive_includes/expected.cmath %t.actual.cmath
++#if defined(TEST_19)
++#include <cmath>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_20 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.codecvt
++// RUN: diff %S/transitive_includes/expected.codecvt %t.actual.codecvt
++#if defined(TEST_20)
++#include <codecvt>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_21 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.compare
++// RUN: diff %S/transitive_includes/expected.compare %t.actual.compare
++#if defined(TEST_21)
++#include <compare>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_22 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.complex
++// RUN: diff %S/transitive_includes/expected.complex %t.actual.complex
++#if defined(TEST_22)
++#include <complex>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_24 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.concepts
++// RUN: diff %S/transitive_includes/expected.concepts %t.actual.concepts
++#if defined(TEST_24)
++#include <concepts>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_25 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.condition_variable
++// RUN: diff %S/transitive_includes/expected.condition_variable %t.actual.condition_variable
++#if defined(TEST_25)
++#include <condition_variable>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_26 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.coroutine
++// RUN: diff %S/transitive_includes/expected.coroutine %t.actual.coroutine
++#if defined(TEST_26)
++#include <coroutine>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_27 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.csetjmp
++// RUN: diff %S/transitive_includes/expected.csetjmp %t.actual.csetjmp
++#if defined(TEST_27)
++#include <csetjmp>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_28 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.csignal
++// RUN: diff %S/transitive_includes/expected.csignal %t.actual.csignal
++#if defined(TEST_28)
++#include <csignal>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_29 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cstdarg
++// RUN: diff %S/transitive_includes/expected.cstdarg %t.actual.cstdarg
++#if defined(TEST_29)
++#include <cstdarg>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_30 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cstdbool
++// RUN: diff %S/transitive_includes/expected.cstdbool %t.actual.cstdbool
++#if defined(TEST_30)
++#include <cstdbool>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_31 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cstddef
++// RUN: diff %S/transitive_includes/expected.cstddef %t.actual.cstddef
++#if defined(TEST_31)
++#include <cstddef>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_32 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cstdint
++// RUN: diff %S/transitive_includes/expected.cstdint %t.actual.cstdint
++#if defined(TEST_32)
++#include <cstdint>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_33 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cstdio
++// RUN: diff %S/transitive_includes/expected.cstdio %t.actual.cstdio
++#if defined(TEST_33)
++#include <cstdio>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_34 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cstdlib
++// RUN: diff %S/transitive_includes/expected.cstdlib %t.actual.cstdlib
++#if defined(TEST_34)
++#include <cstdlib>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_35 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cstring
++// RUN: diff %S/transitive_includes/expected.cstring %t.actual.cstring
++#if defined(TEST_35)
++#include <cstring>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_36 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ctgmath
++// RUN: diff %S/transitive_includes/expected.ctgmath %t.actual.ctgmath
++#if defined(TEST_36)
++#include <ctgmath>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_37 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ctime
++// RUN: diff %S/transitive_includes/expected.ctime %t.actual.ctime
++#if defined(TEST_37)
++#include <ctime>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_39 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cuchar
++// RUN: diff %S/transitive_includes/expected.cuchar %t.actual.cuchar
++#if defined(TEST_39)
++#include <cuchar>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_40 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cwchar
++// RUN: diff %S/transitive_includes/expected.cwchar %t.actual.cwchar
++#if defined(TEST_40)
++#include <cwchar>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_41 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cwctype
++// RUN: diff %S/transitive_includes/expected.cwctype %t.actual.cwctype
++#if defined(TEST_41)
++#include <cwctype>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_42 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.deque
++// RUN: diff %S/transitive_includes/expected.deque %t.actual.deque
++#if defined(TEST_42)
++#include <deque>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_44 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.exception
++// RUN: diff %S/transitive_includes/expected.exception %t.actual.exception
++#if defined(TEST_44)
++#include <exception>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_45 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.execution
++// RUN: diff %S/transitive_includes/expected.execution %t.actual.execution
++#if defined(TEST_45)
++#include <execution>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_47 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.filesystem
++// RUN: diff %S/transitive_includes/expected.filesystem %t.actual.filesystem
++#if defined(TEST_47)
++#include <filesystem>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_49 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.format
++// RUN: diff %S/transitive_includes/expected.format %t.actual.format
++#if defined(TEST_49)
++#include <format>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_50 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.forward_list
++// RUN: diff %S/transitive_includes/expected.forward_list %t.actual.forward_list
++#if defined(TEST_50)
++#include <forward_list>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_51 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.fstream
++// RUN: diff %S/transitive_includes/expected.fstream %t.actual.fstream
++#if defined(TEST_51)
++#include <fstream>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_52 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.functional
++// RUN: diff %S/transitive_includes/expected.functional %t.actual.functional
++#if defined(TEST_52)
++#include <functional>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_53 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.future
++// RUN: diff %S/transitive_includes/expected.future %t.actual.future
++#if defined(TEST_53)
++#include <future>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_54 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.initializer_list
++// RUN: diff %S/transitive_includes/expected.initializer_list %t.actual.initializer_list
++#if defined(TEST_54)
++#include <initializer_list>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_56 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.iomanip
++// RUN: diff %S/transitive_includes/expected.iomanip %t.actual.iomanip
++#if defined(TEST_56)
++#include <iomanip>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_57 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ios
++// RUN: diff %S/transitive_includes/expected.ios %t.actual.ios
++#if defined(TEST_57)
++#include <ios>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_58 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.iosfwd
++// RUN: diff %S/transitive_includes/expected.iosfwd %t.actual.iosfwd
++#if defined(TEST_58)
++#include <iosfwd>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_59 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.iostream
++// RUN: diff %S/transitive_includes/expected.iostream %t.actual.iostream
++#if defined(TEST_59)
++#include <iostream>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_60 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.istream
++// RUN: diff %S/transitive_includes/expected.istream %t.actual.istream
++#if defined(TEST_60)
++#include <istream>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_61 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.iterator
++// RUN: diff %S/transitive_includes/expected.iterator %t.actual.iterator
++#if defined(TEST_61)
++#include <iterator>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_62 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.latch
++// RUN: diff %S/transitive_includes/expected.latch %t.actual.latch
++#if defined(TEST_62)
++#include <latch>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_63 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.limits
++// RUN: diff %S/transitive_includes/expected.limits %t.actual.limits
++#if defined(TEST_63)
++#include <limits>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_65 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.list
++// RUN: diff %S/transitive_includes/expected.list %t.actual.list
++#if defined(TEST_65)
++#include <list>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_66 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.locale
++// RUN: diff %S/transitive_includes/expected.locale %t.actual.locale
++#if defined(TEST_66)
++#include <locale>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_68 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.map
++// RUN: diff %S/transitive_includes/expected.map %t.actual.map
++#if defined(TEST_68)
++#include <map>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_70 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.memory
++// RUN: diff %S/transitive_includes/expected.memory %t.actual.memory
++#if defined(TEST_70)
++#include <memory>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_71 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.mutex
++// RUN: diff %S/transitive_includes/expected.mutex %t.actual.mutex
++#if defined(TEST_71)
++#include <mutex>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_72 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.new
++// RUN: diff %S/transitive_includes/expected.new %t.actual.new
++#if defined(TEST_72)
++#include <new>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_73 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.numbers
++// RUN: diff %S/transitive_includes/expected.numbers %t.actual.numbers
++#if defined(TEST_73)
++#include <numbers>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_74 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.numeric
++// RUN: diff %S/transitive_includes/expected.numeric %t.actual.numeric
++#if defined(TEST_74)
++#include <numeric>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_75 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.optional
++// RUN: diff %S/transitive_includes/expected.optional %t.actual.optional
++#if defined(TEST_75)
++#include <optional>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_76 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ostream
++// RUN: diff %S/transitive_includes/expected.ostream %t.actual.ostream
++#if defined(TEST_76)
++#include <ostream>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_77 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.queue
++// RUN: diff %S/transitive_includes/expected.queue %t.actual.queue
++#if defined(TEST_77)
++#include <queue>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_78 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.random
++// RUN: diff %S/transitive_includes/expected.random %t.actual.random
++#if defined(TEST_78)
++#include <random>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_79 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ranges
++// RUN: diff %S/transitive_includes/expected.ranges %t.actual.ranges
++#if defined(TEST_79)
++#include <ranges>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_80 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ratio
++// RUN: diff %S/transitive_includes/expected.ratio %t.actual.ratio
++#if defined(TEST_80)
++#include <ratio>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_81 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.regex
++// RUN: diff %S/transitive_includes/expected.regex %t.actual.regex
++#if defined(TEST_81)
++#include <regex>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_82 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.scoped_allocator
++// RUN: diff %S/transitive_includes/expected.scoped_allocator %t.actual.scoped_allocator
++#if defined(TEST_82)
++#include <scoped_allocator>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_83 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.semaphore
++// RUN: diff %S/transitive_includes/expected.semaphore %t.actual.semaphore
++#if defined(TEST_83)
++#include <semaphore>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_84 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.set
++// RUN: diff %S/transitive_includes/expected.set %t.actual.set
++#if defined(TEST_84)
++#include <set>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_86 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.shared_mutex
++// RUN: diff %S/transitive_includes/expected.shared_mutex %t.actual.shared_mutex
++#if defined(TEST_86)
++#include <shared_mutex>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_87 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.span
++// RUN: diff %S/transitive_includes/expected.span %t.actual.span
++#if defined(TEST_87)
++#include <span>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_88 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.sstream
++// RUN: diff %S/transitive_includes/expected.sstream %t.actual.sstream
++#if defined(TEST_88)
++#include <sstream>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_89 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.stack
++// RUN: diff %S/transitive_includes/expected.stack %t.actual.stack
++#if defined(TEST_89)
++#include <stack>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_93 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.stdexcept
++// RUN: diff %S/transitive_includes/expected.stdexcept %t.actual.stdexcept
++#if defined(TEST_93)
++#include <stdexcept>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_97 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.streambuf
++// RUN: diff %S/transitive_includes/expected.streambuf %t.actual.streambuf
++#if defined(TEST_97)
++#include <streambuf>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_98 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.string
++// RUN: diff %S/transitive_includes/expected.string %t.actual.string
++#if defined(TEST_98)
++#include <string>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_100 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.string_view
++// RUN: diff %S/transitive_includes/expected.string_view %t.actual.string_view
++#if defined(TEST_100)
++#include <string_view>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_101 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.strstream
++// RUN: diff %S/transitive_includes/expected.strstream %t.actual.strstream
++#if defined(TEST_101)
++#include <strstream>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_102 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.system_error
++// RUN: diff %S/transitive_includes/expected.system_error %t.actual.system_error
++#if defined(TEST_102)
++#include <system_error>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_104 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.thread
++// RUN: diff %S/transitive_includes/expected.thread %t.actual.thread
++#if defined(TEST_104)
++#include <thread>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_105 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.tuple
++// RUN: diff %S/transitive_includes/expected.tuple %t.actual.tuple
++#if defined(TEST_105)
++#include <tuple>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_106 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.type_traits
++// RUN: diff %S/transitive_includes/expected.type_traits %t.actual.type_traits
++#if defined(TEST_106)
++#include <type_traits>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_107 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.typeindex
++// RUN: diff %S/transitive_includes/expected.typeindex %t.actual.typeindex
++#if defined(TEST_107)
++#include <typeindex>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_108 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.typeinfo
++// RUN: diff %S/transitive_includes/expected.typeinfo %t.actual.typeinfo
++#if defined(TEST_108)
++#include <typeinfo>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_110 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.unordered_map
++// RUN: diff %S/transitive_includes/expected.unordered_map %t.actual.unordered_map
++#if defined(TEST_110)
++#include <unordered_map>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_111 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.unordered_set
++// RUN: diff %S/transitive_includes/expected.unordered_set %t.actual.unordered_set
++#if defined(TEST_111)
++#include <unordered_set>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_112 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.utility
++// RUN: diff %S/transitive_includes/expected.utility %t.actual.utility
++#if defined(TEST_112)
++#include <utility>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_113 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.valarray
++// RUN: diff %S/transitive_includes/expected.valarray %t.actual.valarray
++#if defined(TEST_113)
++#include <valarray>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_114 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.variant
++// RUN: diff %S/transitive_includes/expected.variant %t.actual.variant
++#if defined(TEST_114)
++#include <variant>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_115 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.vector
++// RUN: diff %S/transitive_includes/expected.vector %t.actual.vector
++#if defined(TEST_115)
++#include <vector>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_116 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.version
++// RUN: diff %S/transitive_includes/expected.version %t.actual.version
++#if defined(TEST_116)
++#include <version>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_119 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_algorithm
++// RUN: diff %S/transitive_includes/expected.experimental_algorithm %t.actual.experimental_algorithm
++#if defined(TEST_119)
++#include <experimental/algorithm>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_120 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_coroutine
++// RUN: diff %S/transitive_includes/expected.experimental_coroutine %t.actual.experimental_coroutine
++#if defined(TEST_120)
++#include <experimental/coroutine>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_121 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_deque
++// RUN: diff %S/transitive_includes/expected.experimental_deque %t.actual.experimental_deque
++#if defined(TEST_121)
++#include <experimental/deque>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_122 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_forward_list
++// RUN: diff %S/transitive_includes/expected.experimental_forward_list %t.actual.experimental_forward_list
++#if defined(TEST_122)
++#include <experimental/forward_list>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_123 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_functional
++// RUN: diff %S/transitive_includes/expected.experimental_functional %t.actual.experimental_functional
++#if defined(TEST_123)
++#include <experimental/functional>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_124 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_iterator
++// RUN: diff %S/transitive_includes/expected.experimental_iterator %t.actual.experimental_iterator
++#if defined(TEST_124)
++#include <experimental/iterator>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_125 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_list
++// RUN: diff %S/transitive_includes/expected.experimental_list %t.actual.experimental_list
++#if defined(TEST_125)
++#include <experimental/list>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_126 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_map
++// RUN: diff %S/transitive_includes/expected.experimental_map %t.actual.experimental_map
++#if defined(TEST_126)
++#include <experimental/map>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_127 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_memory_resource
++// RUN: diff %S/transitive_includes/expected.experimental_memory_resource %t.actual.experimental_memory_resource
++#if defined(TEST_127)
++#include <experimental/memory_resource>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_128 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_propagate_const
++// RUN: diff %S/transitive_includes/expected.experimental_propagate_const %t.actual.experimental_propagate_const
++#if defined(TEST_128)
++#include <experimental/propagate_const>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_129 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_regex
++// RUN: diff %S/transitive_includes/expected.experimental_regex %t.actual.experimental_regex
++#if defined(TEST_129)
++#include <experimental/regex>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_130 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_set
++// RUN: diff %S/transitive_includes/expected.experimental_set %t.actual.experimental_set
++#if defined(TEST_130)
++#include <experimental/set>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_131 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_simd
++// RUN: diff %S/transitive_includes/expected.experimental_simd %t.actual.experimental_simd
++#if defined(TEST_131)
++#include <experimental/simd>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_132 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_string
++// RUN: diff %S/transitive_includes/expected.experimental_string %t.actual.experimental_string
++#if defined(TEST_132)
++#include <experimental/string>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_133 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_type_traits
++// RUN: diff %S/transitive_includes/expected.experimental_type_traits %t.actual.experimental_type_traits
++#if defined(TEST_133)
++#include <experimental/type_traits>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_134 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_unordered_map
++// RUN: diff %S/transitive_includes/expected.experimental_unordered_map %t.actual.experimental_unordered_map
++#if defined(TEST_134)
++#include <experimental/unordered_map>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_135 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_unordered_set
++// RUN: diff %S/transitive_includes/expected.experimental_unordered_set %t.actual.experimental_unordered_set
++#if defined(TEST_135)
++#include <experimental/unordered_set>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_136 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_utility
++// RUN: diff %S/transitive_includes/expected.experimental_utility %t.actual.experimental_utility
++#if defined(TEST_136)
++#include <experimental/utility>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_137 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_vector
++// RUN: diff %S/transitive_includes/expected.experimental_vector %t.actual.experimental_vector
++#if defined(TEST_137)
++#include <experimental/vector>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_138 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ext_hash_map
++// RUN: diff %S/transitive_includes/expected.ext_hash_map %t.actual.ext_hash_map
++#if defined(TEST_138)
++#include <ext/hash_map>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_139 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ext_hash_set
++// RUN: diff %S/transitive_includes/expected.ext_hash_set %t.actual.ext_hash_set
++#if defined(TEST_139)
++#include <ext/hash_set>
++#endif
++// GENERATED-MARKER
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.algorithm b/libcxx/test/libcxx/transitive_includes/expected.algorithm
+new file mode 100644
+index 000000000000..8e539be98cbc
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.algorithm
+@@ -0,0 +1,24 @@
++algorithm
++atomic
++bit
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.any b/libcxx/test/libcxx/transitive_includes/expected.any
+new file mode 100644
+index 000000000000..4f3cff5c0634
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.any
+@@ -0,0 +1,23 @@
++any
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.array b/libcxx/test/libcxx/transitive_includes/expected.array
+new file mode 100644
+index 000000000000..0fb1b67d13d0
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.array
+@@ -0,0 +1,14 @@
++array
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++exception
++initializer_list
++iosfwd
++limits
++stdexcept
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.atomic b/libcxx/test/libcxx/transitive_includes/expected.atomic
+new file mode 100644
+index 000000000000..42e3c191ac89
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.atomic
+@@ -0,0 +1,11 @@
++atomic
++climits
++cstddef
++cstdint
++cstring
++ctime
++iosfwd
++limits
++ratio
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.barrier b/libcxx/test/libcxx/transitive_includes/expected.barrier
+new file mode 100644
+index 000000000000..cb7845f45e0c
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.barrier
+@@ -0,0 +1,23 @@
++atomic
++barrier
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.bit b/libcxx/test/libcxx/transitive_includes/expected.bit
+new file mode 100644
+index 000000000000..3f58643d6062
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.bit
+@@ -0,0 +1,7 @@
++bit
++cstddef
++cstdint
++cstdlib
++limits
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.bitset b/libcxx/test/libcxx/transitive_includes/expected.bitset
+new file mode 100644
+index 000000000000..d3ee4af66e1b
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.bitset
+@@ -0,0 +1,29 @@
++atomic
++bitset
++cctype
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++string
++string_view
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cassert b/libcxx/test/libcxx/transitive_includes/expected.cassert
+new file mode 100644
+index 000000000000..69b779ef2f20
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cassert
+@@ -0,0 +1 @@
++cassert
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ccomplex b/libcxx/test/libcxx/transitive_includes/expected.ccomplex
+new file mode 100644
+index 000000000000..cfc2d04436fe
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.ccomplex
+@@ -0,0 +1,41 @@
++atomic
++bitset
++ccomplex
++cctype
++cerrno
++climits
++cmath
++compare
++complex
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++istream
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++sstream
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cctype b/libcxx/test/libcxx/transitive_includes/expected.cctype
+new file mode 100644
+index 000000000000..a82e62c088dc
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cctype
+@@ -0,0 +1 @@
++cctype
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cerrno b/libcxx/test/libcxx/transitive_includes/expected.cerrno
+new file mode 100644
+index 000000000000..24c00a9877c3
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cerrno
+@@ -0,0 +1 @@
++cerrno
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cfenv b/libcxx/test/libcxx/transitive_includes/expected.cfenv
+new file mode 100644
+index 000000000000..998058637245
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cfenv
+@@ -0,0 +1 @@
++cfenv
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cfloat b/libcxx/test/libcxx/transitive_includes/expected.cfloat
+new file mode 100644
+index 000000000000..3bb5aa14cfbf
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cfloat
+@@ -0,0 +1 @@
++cfloat
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.charconv b/libcxx/test/libcxx/transitive_includes/expected.charconv
+new file mode 100644
+index 000000000000..5ce64d0c6a23
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.charconv
+@@ -0,0 +1,11 @@
++cerrno
++charconv
++cmath
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++limits
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.chrono b/libcxx/test/libcxx/transitive_includes/expected.chrono
+new file mode 100644
+index 000000000000..fdb624bc1df4
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.chrono
+@@ -0,0 +1,11 @@
++chrono
++climits
++cmath
++compare
++cstddef
++cstdint
++ctime
++limits
++ratio
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cinttypes b/libcxx/test/libcxx/transitive_includes/expected.cinttypes
+new file mode 100644
+index 000000000000..911d5dd27d08
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cinttypes
+@@ -0,0 +1,2 @@
++cinttypes
++cstdint
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ciso646 b/libcxx/test/libcxx/transitive_includes/expected.ciso646
+new file mode 100644
+index 000000000000..6c1d5458c9c9
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.ciso646
+@@ -0,0 +1 @@
++ciso646
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.climits b/libcxx/test/libcxx/transitive_includes/expected.climits
+new file mode 100644
+index 000000000000..271e00022101
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.climits
+@@ -0,0 +1 @@
++climits
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.clocale b/libcxx/test/libcxx/transitive_includes/expected.clocale
+new file mode 100644
+index 000000000000..0ac42c4b403e
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.clocale
+@@ -0,0 +1 @@
++clocale
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cmath b/libcxx/test/libcxx/transitive_includes/expected.cmath
+new file mode 100644
+index 000000000000..7678c0e38802
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cmath
+@@ -0,0 +1,6 @@
++cmath
++cstddef
++cstdint
++limits
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.codecvt b/libcxx/test/libcxx/transitive_includes/expected.codecvt
+new file mode 100644
+index 000000000000..f846715edf80
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.codecvt
+@@ -0,0 +1,32 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++codecvt
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++iosfwd
++limits
++memory
++mutex
++new
++ratio
++stdexcept
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.compare b/libcxx/test/libcxx/transitive_includes/expected.compare
+new file mode 100644
+index 000000000000..df2d92f5d4b6
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.compare
+@@ -0,0 +1,7 @@
++cmath
++compare
++cstddef
++cstdint
++limits
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.complex b/libcxx/test/libcxx/transitive_includes/expected.complex
+new file mode 100644
+index 000000000000..eb5fe7c87bf7
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.complex
+@@ -0,0 +1,40 @@
++atomic
++bitset
++cctype
++cerrno
++climits
++cmath
++compare
++complex
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++istream
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++sstream
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.concepts b/libcxx/test/libcxx/transitive_includes/expected.concepts
+new file mode 100644
+index 000000000000..31e9f436e6cd
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.concepts
+@@ -0,0 +1,5 @@
++concepts
++cstddef
++cstdint
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.condition_variable b/libcxx/test/libcxx/transitive_includes/expected.condition_variable
+new file mode 100644
+index 000000000000..081849db56d2
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.condition_variable
+@@ -0,0 +1,31 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++condition_variable
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.coroutine b/libcxx/test/libcxx/transitive_includes/expected.coroutine
+new file mode 100644
+index 000000000000..1f31012bf5be
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.coroutine
+@@ -0,0 +1,9 @@
++cmath
++compare
++coroutine
++cstddef
++cstdint
++cstring
++limits
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.csetjmp b/libcxx/test/libcxx/transitive_includes/expected.csetjmp
+new file mode 100644
+index 000000000000..2f72e67f0324
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.csetjmp
+@@ -0,0 +1 @@
++csetjmp
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.csignal b/libcxx/test/libcxx/transitive_includes/expected.csignal
+new file mode 100644
+index 000000000000..c17f2a3b99df
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.csignal
+@@ -0,0 +1 @@
++csignal
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cstdarg b/libcxx/test/libcxx/transitive_includes/expected.cstdarg
+new file mode 100644
+index 000000000000..ce71517eeb14
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cstdarg
+@@ -0,0 +1 @@
++cstdarg
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cstdbool b/libcxx/test/libcxx/transitive_includes/expected.cstdbool
+new file mode 100644
+index 000000000000..f3a52bba86c1
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cstdbool
+@@ -0,0 +1 @@
++cstdbool
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cstddef b/libcxx/test/libcxx/transitive_includes/expected.cstddef
+new file mode 100644
+index 000000000000..7b45506ea14b
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cstddef
+@@ -0,0 +1,2 @@
++cstddef
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cstdint b/libcxx/test/libcxx/transitive_includes/expected.cstdint
+new file mode 100644
+index 000000000000..37103a4f4b89
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cstdint
+@@ -0,0 +1 @@
++cstdint
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cstdio b/libcxx/test/libcxx/transitive_includes/expected.cstdio
+new file mode 100644
+index 000000000000..5b70aa3cf8d4
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cstdio
+@@ -0,0 +1 @@
++cstdio
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cstdlib b/libcxx/test/libcxx/transitive_includes/expected.cstdlib
+new file mode 100644
+index 000000000000..b98a7237dde7
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cstdlib
+@@ -0,0 +1 @@
++cstdlib
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cstring b/libcxx/test/libcxx/transitive_includes/expected.cstring
+new file mode 100644
+index 000000000000..0fdbe597c9df
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cstring
+@@ -0,0 +1 @@
++cstring
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ctgmath b/libcxx/test/libcxx/transitive_includes/expected.ctgmath
+new file mode 100644
+index 000000000000..ac37b74ac56e
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.ctgmath
+@@ -0,0 +1,42 @@
++atomic
++bitset
++ccomplex
++cctype
++cerrno
++climits
++cmath
++compare
++complex
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctgmath
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++istream
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++sstream
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ctime b/libcxx/test/libcxx/transitive_includes/expected.ctime
+new file mode 100644
+index 000000000000..ee049c40b25b
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.ctime
+@@ -0,0 +1 @@
++ctime
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cuchar b/libcxx/test/libcxx/transitive_includes/expected.cuchar
+new file mode 100644
+index 000000000000..588664ab50b3
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cuchar
+@@ -0,0 +1 @@
++cuchar
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cwchar b/libcxx/test/libcxx/transitive_includes/expected.cwchar
+new file mode 100644
+index 000000000000..1e6c2091fa4a
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cwchar
+@@ -0,0 +1,3 @@
++cctype
++cwchar
++cwctype
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cwctype b/libcxx/test/libcxx/transitive_includes/expected.cwctype
+new file mode 100644
+index 000000000000..fa1b7f256994
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cwctype
+@@ -0,0 +1,2 @@
++cctype
++cwctype
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.deque b/libcxx/test/libcxx/transitive_includes/expected.deque
+new file mode 100644
+index 000000000000..aa51131432ea
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.deque
+@@ -0,0 +1,23 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++deque
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.exception b/libcxx/test/libcxx/transitive_includes/expected.exception
+new file mode 100644
+index 000000000000..c48f9ed9e744
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.exception
+@@ -0,0 +1,6 @@
++cstddef
++cstdint
++cstdlib
++exception
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.execution b/libcxx/test/libcxx/transitive_includes/expected.execution
+new file mode 100644
+index 000000000000..b42e7095b580
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.execution
+@@ -0,0 +1,2 @@
++execution
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm b/libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm
+new file mode 100644
+index 000000000000..7e307913a9fe
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm
+@@ -0,0 +1,25 @@
++algorithm
++atomic
++bit
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/algorithm
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine b/libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine
+new file mode 100644
+index 000000000000..89fc3edcec46
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine
+@@ -0,0 +1,23 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/coroutine
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_deque b/libcxx/test/libcxx/transitive_includes/expected.experimental_deque
+new file mode 100644
+index 000000000000..e1677c7dd843
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_deque
+@@ -0,0 +1,27 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++deque
++exception
++experimental/deque
++experimental/memory_resource
++experimental/utility
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list b/libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list
+new file mode 100644
+index 000000000000..af433ce90949
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list
+@@ -0,0 +1,27 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/forward_list
++experimental/memory_resource
++experimental/utility
++forward_list
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_functional b/libcxx/test/libcxx/transitive_includes/expected.experimental_functional
+new file mode 100644
+index 000000000000..ce502b5e9803
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_functional
+@@ -0,0 +1,28 @@
++array
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/functional
++functional
++initializer_list
++iosfwd
++limits
++memory
++new
++optional
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++unordered_map
++vector
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_iterator b/libcxx/test/libcxx/transitive_includes/expected.experimental_iterator
+new file mode 100644
+index 000000000000..83a9b8d93c65
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_iterator
+@@ -0,0 +1,18 @@
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++exception
++experimental/iterator
++initializer_list
++iosfwd
++iterator
++limits
++new
++tuple
++type_traits
++variant
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_list b/libcxx/test/libcxx/transitive_includes/expected.experimental_list
+new file mode 100644
+index 000000000000..aae9f23d08e9
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_list
+@@ -0,0 +1,27 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/list
++experimental/memory_resource
++experimental/utility
++initializer_list
++iosfwd
++limits
++list
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_map b/libcxx/test/libcxx/transitive_includes/expected.experimental_map
+new file mode 100644
+index 000000000000..cb76c7642ec9
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_map
+@@ -0,0 +1,28 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/map
++experimental/memory_resource
++experimental/utility
++initializer_list
++iosfwd
++limits
++map
++memory
++new
++optional
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource b/libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource
+new file mode 100644
+index 000000000000..67d2441ae369
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource
+@@ -0,0 +1,25 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/memory_resource
++experimental/utility
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_propagate_const b/libcxx/test/libcxx/transitive_includes/expected.experimental_propagate_const
+new file mode 100644
+index 000000000000..a78fa83bc983
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_propagate_const
+@@ -0,0 +1,5 @@
++cstddef
++cstdint
++experimental/propagate_const
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_regex b/libcxx/test/libcxx/transitive_includes/expected.experimental_regex
+new file mode 100644
+index 000000000000..6490adb5a1b4
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_regex
+@@ -0,0 +1,39 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++deque
++exception
++experimental/memory_resource
++experimental/regex
++experimental/string
++experimental/utility
++initializer_list
++iosfwd
++limits
++memory
++mutex
++new
++ratio
++regex
++stdexcept
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++utility
++vector
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_set b/libcxx/test/libcxx/transitive_includes/expected.experimental_set
+new file mode 100644
+index 000000000000..03a09aff0574
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_set
+@@ -0,0 +1,28 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/memory_resource
++experimental/set
++experimental/utility
++initializer_list
++iosfwd
++limits
++memory
++new
++optional
++ratio
++set
++stdexcept
++tuple
++type_traits
++typeinfo
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_simd b/libcxx/test/libcxx/transitive_includes/expected.experimental_simd
+new file mode 100644
+index 000000000000..999b0aafb666
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_simd
+@@ -0,0 +1,16 @@
++array
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++exception
++experimental/simd
++initializer_list
++iosfwd
++limits
++stdexcept
++tuple
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_string b/libcxx/test/libcxx/transitive_includes/expected.experimental_string
+new file mode 100644
+index 000000000000..4fb05391c7b4
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_string
+@@ -0,0 +1,32 @@
++atomic
++cctype
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++experimental/memory_resource
++experimental/string
++experimental/utility
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++string
++string_view
++tuple
++type_traits
++typeinfo
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_type_traits b/libcxx/test/libcxx/transitive_includes/expected.experimental_type_traits
+new file mode 100644
+index 000000000000..c1e83e731fbd
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_type_traits
+@@ -0,0 +1,6 @@
++cstddef
++cstdint
++experimental/type_traits
++initializer_list
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map b/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map
+new file mode 100644
+index 000000000000..04efa3377d81
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map
+@@ -0,0 +1,28 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/memory_resource
++experimental/unordered_map
++experimental/utility
++initializer_list
++iosfwd
++limits
++memory
++new
++optional
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++unordered_map
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set b/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set
+new file mode 100644
+index 000000000000..798b920506cf
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set
+@@ -0,0 +1,28 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/memory_resource
++experimental/unordered_set
++experimental/utility
++initializer_list
++iosfwd
++limits
++memory
++new
++optional
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++unordered_set
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_utility b/libcxx/test/libcxx/transitive_includes/expected.experimental_utility
+new file mode 100644
+index 000000000000..788283fb30b9
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_utility
+@@ -0,0 +1,11 @@
++cmath
++compare
++cstddef
++cstdint
++cstdlib
++experimental/utility
++initializer_list
++limits
++type_traits
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_vector b/libcxx/test/libcxx/transitive_includes/expected.experimental_vector
+new file mode 100644
+index 000000000000..35355e4d3547
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_vector
+@@ -0,0 +1,27 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/memory_resource
++experimental/utility
++experimental/vector
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++utility
++vector
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ext_hash_map b/libcxx/test/libcxx/transitive_includes/expected.ext_hash_map
+new file mode 100644
+index 000000000000..238ba8fade71
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.ext_hash_map
+@@ -0,0 +1,36 @@
++algorithm
++array
++atomic
++bit
++cctype
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++ext/hash_map
++functional
++initializer_list
++iosfwd
++limits
++memory
++new
++optional
++ratio
++stdexcept
++string
++string_view
++tuple
++type_traits
++typeinfo
++unordered_map
++vector
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ext_hash_set b/libcxx/test/libcxx/transitive_includes/expected.ext_hash_set
+new file mode 100644
+index 000000000000..5e58c46663a5
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.ext_hash_set
+@@ -0,0 +1,36 @@
++algorithm
++array
++atomic
++bit
++cctype
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++ext/hash_set
++functional
++initializer_list
++iosfwd
++limits
++memory
++new
++optional
++ratio
++stdexcept
++string
++string_view
++tuple
++type_traits
++typeinfo
++unordered_map
++vector
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.filesystem b/libcxx/test/libcxx/transitive_includes/expected.filesystem
+new file mode 100644
+index 000000000000..adc5812121df
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.filesystem
+@@ -0,0 +1,40 @@
++atomic
++bitset
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++filesystem
++initializer_list
++iomanip
++ios
++iosfwd
++istream
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.format b/libcxx/test/libcxx/transitive_includes/expected.format
+new file mode 100644
+index 000000000000..d88f3f66919f
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.format
+@@ -0,0 +1,40 @@
++array
++atomic
++bit
++cctype
++cerrno
++charconv
++climits
++cmath
++compare
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++format
++initializer_list
++ios
++iosfwd
++limits
++locale
++memory
++mutex
++new
++optional
++ratio
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.forward_list b/libcxx/test/libcxx/transitive_includes/expected.forward_list
+new file mode 100644
+index 000000000000..de184d39a0da
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.forward_list
+@@ -0,0 +1,23 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++forward_list
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.fstream b/libcxx/test/libcxx/transitive_includes/expected.fstream
+new file mode 100644
+index 000000000000..31ef4da04630
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.fstream
+@@ -0,0 +1,41 @@
++atomic
++bitset
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++filesystem
++fstream
++initializer_list
++iomanip
++ios
++iosfwd
++istream
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.functional b/libcxx/test/libcxx/transitive_includes/expected.functional
+new file mode 100644
+index 000000000000..944f5a2cedd7
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.functional
+@@ -0,0 +1,27 @@
++array
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++functional
++initializer_list
++iosfwd
++limits
++memory
++new
++optional
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++unordered_map
++vector
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.future b/libcxx/test/libcxx/transitive_includes/expected.future
+new file mode 100644
+index 000000000000..978baba9b8ec
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.future
+@@ -0,0 +1,33 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++future
++initializer_list
++iosfwd
++limits
++memory
++mutex
++new
++ratio
++stdexcept
++string
++string_view
++system_error
++thread
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.initializer_list b/libcxx/test/libcxx/transitive_includes/expected.initializer_list
+new file mode 100644
+index 000000000000..8b92a6553ca1
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.initializer_list
+@@ -0,0 +1,3 @@
++cstddef
++initializer_list
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.iomanip b/libcxx/test/libcxx/transitive_includes/expected.iomanip
+new file mode 100644
+index 000000000000..86446ab031fb
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.iomanip
+@@ -0,0 +1,39 @@
++atomic
++bitset
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++iomanip
++ios
++iosfwd
++istream
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ios b/libcxx/test/libcxx/transitive_includes/expected.ios
+new file mode 100644
+index 000000000000..3ecae9323ab4
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.ios
+@@ -0,0 +1,32 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++limits
++memory
++mutex
++new
++ratio
++stdexcept
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.iosfwd b/libcxx/test/libcxx/transitive_includes/expected.iosfwd
+new file mode 100644
+index 000000000000..ff6e0e3d092b
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.iosfwd
+@@ -0,0 +1,2 @@
++iosfwd
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.iostream b/libcxx/test/libcxx/transitive_includes/expected.iostream
+new file mode 100644
+index 000000000000..2e4e74cc18b4
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.iostream
+@@ -0,0 +1,39 @@
++atomic
++bitset
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++iostream
++istream
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.istream b/libcxx/test/libcxx/transitive_includes/expected.istream
+new file mode 100644
+index 000000000000..cbd4a87c1613
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.istream
+@@ -0,0 +1,38 @@
++atomic
++bitset
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++istream
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.iterator b/libcxx/test/libcxx/transitive_includes/expected.iterator
+new file mode 100644
+index 000000000000..698f6cf9de2f
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.iterator
+@@ -0,0 +1,17 @@
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++exception
++initializer_list
++iosfwd
++iterator
++limits
++new
++tuple
++type_traits
++variant
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.latch b/libcxx/test/libcxx/transitive_includes/expected.latch
+new file mode 100644
+index 000000000000..3d00941b9231
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.latch
+@@ -0,0 +1,12 @@
++atomic
++climits
++cstddef
++cstdint
++cstring
++ctime
++iosfwd
++latch
++limits
++ratio
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.limits b/libcxx/test/libcxx/transitive_includes/expected.limits
+new file mode 100644
+index 000000000000..49fcbf44c5b2
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.limits
+@@ -0,0 +1,5 @@
++cstddef
++cstdint
++limits
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.list b/libcxx/test/libcxx/transitive_includes/expected.list
+new file mode 100644
+index 000000000000..96d4f33db7d4
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.list
+@@ -0,0 +1,23 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++list
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.locale b/libcxx/test/libcxx/transitive_includes/expected.locale
+new file mode 100644
+index 000000000000..cdd6609f8440
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.locale
+@@ -0,0 +1,35 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++limits
++locale
++memory
++mutex
++new
++ratio
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.map b/libcxx/test/libcxx/transitive_includes/expected.map
+new file mode 100644
+index 000000000000..a6896289ab3f
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.map
+@@ -0,0 +1,24 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++map
++memory
++new
++optional
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.memory b/libcxx/test/libcxx/transitive_includes/expected.memory
+new file mode 100644
+index 000000000000..3b7a13de63fe
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.memory
+@@ -0,0 +1,22 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.mutex b/libcxx/test/libcxx/transitive_includes/expected.mutex
+new file mode 100644
+index 000000000000..1aa71f549fd4
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.mutex
+@@ -0,0 +1,31 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++iosfwd
++limits
++memory
++mutex
++new
++ratio
++stdexcept
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.new b/libcxx/test/libcxx/transitive_includes/expected.new
+new file mode 100644
+index 000000000000..9fd8f6aabd0c
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.new
+@@ -0,0 +1,7 @@
++cstddef
++cstdint
++cstdlib
++exception
++new
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.numbers b/libcxx/test/libcxx/transitive_includes/expected.numbers
+new file mode 100644
+index 000000000000..a8b65fc82096
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.numbers
+@@ -0,0 +1,6 @@
++concepts
++cstddef
++cstdint
++numbers
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.numeric b/libcxx/test/libcxx/transitive_includes/expected.numeric
+new file mode 100644
+index 000000000000..843582958e10
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.numeric
+@@ -0,0 +1,8 @@
++cmath
++concepts
++cstddef
++cstdint
++limits
++numeric
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.optional b/libcxx/test/libcxx/transitive_includes/expected.optional
+new file mode 100644
+index 000000000000..e888c8f4e0bd
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.optional
+@@ -0,0 +1,15 @@
++cmath
++compare
++cstddef
++cstdint
++cstdlib
++cstring
++exception
++initializer_list
++iosfwd
++limits
++new
++optional
++stdexcept
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ostream b/libcxx/test/libcxx/transitive_includes/expected.ostream
+new file mode 100644
+index 000000000000..1d7da3e2f96d
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.ostream
+@@ -0,0 +1,37 @@
++atomic
++bitset
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.queue b/libcxx/test/libcxx/transitive_includes/expected.queue
+new file mode 100644
+index 000000000000..07743c837beb
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.queue
+@@ -0,0 +1,25 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++deque
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++queue
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++vector
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.random b/libcxx/test/libcxx/transitive_includes/expected.random
+new file mode 100644
+index 000000000000..c8060db2909a
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.random
+@@ -0,0 +1,32 @@
++atomic
++bit
++cctype
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++numeric
++random
++ratio
++stdexcept
++string
++string_view
++tuple
++type_traits
++typeinfo
++vector
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ranges b/libcxx/test/libcxx/transitive_includes/expected.ranges
+new file mode 100644
+index 000000000000..f16d5e5d5505
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.ranges
+@@ -0,0 +1,22 @@
++array
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++exception
++initializer_list
++iosfwd
++iterator
++limits
++new
++optional
++ranges
++span
++stdexcept
++tuple
++type_traits
++variant
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ratio b/libcxx/test/libcxx/transitive_includes/expected.ratio
+new file mode 100644
+index 000000000000..deda945f1b57
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.ratio
+@@ -0,0 +1,6 @@
++climits
++cstddef
++cstdint
++ratio
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.regex b/libcxx/test/libcxx/transitive_includes/expected.regex
+new file mode 100644
+index 000000000000..447e31831d8f
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.regex
+@@ -0,0 +1,34 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++deque
++exception
++initializer_list
++iosfwd
++limits
++memory
++mutex
++new
++ratio
++regex
++stdexcept
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++vector
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.scoped_allocator b/libcxx/test/libcxx/transitive_includes/expected.scoped_allocator
+new file mode 100644
+index 000000000000..f4345de47a6a
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.scoped_allocator
+@@ -0,0 +1,23 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++scoped_allocator
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.semaphore b/libcxx/test/libcxx/transitive_includes/expected.semaphore
+new file mode 100644
+index 000000000000..6893d0995506
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.semaphore
+@@ -0,0 +1,12 @@
++atomic
++climits
++cstddef
++cstdint
++cstring
++ctime
++iosfwd
++limits
++ratio
++semaphore
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.set b/libcxx/test/libcxx/transitive_includes/expected.set
+new file mode 100644
+index 000000000000..9b0f3cb52c18
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.set
+@@ -0,0 +1,24 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++optional
++ratio
++set
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.shared_mutex b/libcxx/test/libcxx/transitive_includes/expected.shared_mutex
+new file mode 100644
+index 000000000000..2bd4140b3d11
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.shared_mutex
+@@ -0,0 +1,31 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++shared_mutex
++stdexcept
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.span b/libcxx/test/libcxx/transitive_includes/expected.span
+new file mode 100644
+index 000000000000..4ec98478d7ab
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.span
+@@ -0,0 +1,15 @@
++array
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++exception
++initializer_list
++iosfwd
++limits
++span
++stdexcept
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.sstream b/libcxx/test/libcxx/transitive_includes/expected.sstream
+new file mode 100644
+index 000000000000..1acc28a14008
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.sstream
+@@ -0,0 +1,39 @@
++atomic
++bitset
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++istream
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++sstream
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.stack b/libcxx/test/libcxx/transitive_includes/expected.stack
+new file mode 100644
+index 000000000000..17c8d991260c
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.stack
+@@ -0,0 +1,24 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++deque
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stack
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.stdexcept b/libcxx/test/libcxx/transitive_includes/expected.stdexcept
+new file mode 100644
+index 000000000000..b8dd684ffcbb
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.stdexcept
+@@ -0,0 +1,8 @@
++cstddef
++cstdint
++cstdlib
++exception
++iosfwd
++stdexcept
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.streambuf b/libcxx/test/libcxx/transitive_includes/expected.streambuf
+new file mode 100644
+index 000000000000..5e8e278a70ff
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.streambuf
+@@ -0,0 +1,33 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++limits
++memory
++mutex
++new
++ratio
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.string b/libcxx/test/libcxx/transitive_includes/expected.string
+new file mode 100644
+index 000000000000..960707082bab
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.string
+@@ -0,0 +1,28 @@
++atomic
++cctype
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++string
++string_view
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.string_view b/libcxx/test/libcxx/transitive_includes/expected.string_view
+new file mode 100644
+index 000000000000..6bb7edfd0bf0
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.string_view
+@@ -0,0 +1,19 @@
++cctype
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++cwchar
++cwctype
++exception
++initializer_list
++iosfwd
++limits
++stdexcept
++string_view
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.strstream b/libcxx/test/libcxx/transitive_includes/expected.strstream
+new file mode 100644
+index 000000000000..ed208f4d5eb3
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.strstream
+@@ -0,0 +1,39 @@
++atomic
++bitset
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++istream
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++stdexcept
++streambuf
++string
++string_view
++strstream
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.system_error b/libcxx/test/libcxx/transitive_includes/expected.system_error
+new file mode 100644
+index 000000000000..30ca93cf23bd
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.system_error
+@@ -0,0 +1,30 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.thread b/libcxx/test/libcxx/transitive_includes/expected.thread
+new file mode 100644
+index 000000000000..102ca5891713
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.thread
+@@ -0,0 +1,31 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++string
++string_view
++system_error
++thread
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.tuple b/libcxx/test/libcxx/transitive_includes/expected.tuple
+new file mode 100644
+index 000000000000..2a4e44c6f4e9
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.tuple
+@@ -0,0 +1,8 @@
++cmath
++compare
++cstddef
++cstdint
++limits
++tuple
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.type_traits b/libcxx/test/libcxx/transitive_includes/expected.type_traits
+new file mode 100644
+index 000000000000..8448275a1728
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.type_traits
+@@ -0,0 +1,4 @@
++cstddef
++cstdint
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.typeindex b/libcxx/test/libcxx/transitive_includes/expected.typeindex
+new file mode 100644
+index 000000000000..8ed579013db7
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.typeindex
+@@ -0,0 +1,11 @@
++cmath
++compare
++cstddef
++cstdint
++cstdlib
++exception
++limits
++type_traits
++typeindex
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.typeinfo b/libcxx/test/libcxx/transitive_includes/expected.typeinfo
+new file mode 100644
+index 000000000000..609a604805c9
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.typeinfo
+@@ -0,0 +1,7 @@
++cstddef
++cstdint
++cstdlib
++exception
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.unordered_map b/libcxx/test/libcxx/transitive_includes/expected.unordered_map
+new file mode 100644
+index 000000000000..4f2f2ff02388
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.unordered_map
+@@ -0,0 +1,24 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++optional
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++unordered_map
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.unordered_set b/libcxx/test/libcxx/transitive_includes/expected.unordered_set
+new file mode 100644
+index 000000000000..2c825fb58ac9
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.unordered_set
+@@ -0,0 +1,24 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++optional
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++unordered_set
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.utility b/libcxx/test/libcxx/transitive_includes/expected.utility
+new file mode 100644
+index 000000000000..30781fff9336
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.utility
+@@ -0,0 +1,10 @@
++cmath
++compare
++cstddef
++cstdint
++cstdlib
++initializer_list
++limits
++type_traits
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.valarray b/libcxx/test/libcxx/transitive_includes/expected.valarray
+new file mode 100644
+index 000000000000..b5543ea5c701
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.valarray
+@@ -0,0 +1,15 @@
++cmath
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++exception
++initializer_list
++iosfwd
++limits
++new
++stdexcept
++type_traits
++valarray
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.variant b/libcxx/test/libcxx/transitive_includes/expected.variant
+new file mode 100644
+index 000000000000..44553c77ce56
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.variant
+@@ -0,0 +1,14 @@
++cmath
++compare
++cstddef
++cstdint
++cstdlib
++cstring
++exception
++initializer_list
++limits
++new
++tuple
++type_traits
++variant
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.vector b/libcxx/test/libcxx/transitive_includes/expected.vector
+new file mode 100644
+index 000000000000..9553eb0c04d7
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.vector
+@@ -0,0 +1,23 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++vector
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.version b/libcxx/test/libcxx/transitive_includes/expected.version
+new file mode 100644
+index 000000000000..088eda41aa61
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.version
+@@ -0,0 +1 @@
++version
+diff --git a/libcxx/utils/generate_header_tests.py b/libcxx/utils/generate_header_tests.py
+index 59b90489f16b..0c2997450517 100755
+--- a/libcxx/utils/generate_header_tests.py
++++ b/libcxx/utils/generate_header_tests.py
+@@ -144,6 +144,7 @@ def main():
+     produce(test.joinpath('libcxx/nasty_macros.compile.pass.cpp'), variables)
+     produce(test.joinpath('libcxx/no_assert_include.compile.pass.cpp'), variables)
+     produce(test.joinpath('libcxx/private_headers.verify.cpp'), variables)
++    produce(test.joinpath('libcxx/transitive_includes.sh.cpp'), variables)
+ 
+ 
+ if __name__ == '__main__':
diff --git a/sys-devel/llvm/files/cherry/26ba347fbb0cf8abcb861aa558711f51455a0ec3.patch b/sys-devel/llvm/files/cherry/26ba347fbb0cf8abcb861aa558711f51455a0ec3.patch
new file mode 100644
index 0000000..8cdaf24
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/26ba347fbb0cf8abcb861aa558711f51455a0ec3.patch
@@ -0,0 +1,324 @@
+commit 26ba347fbb0cf8abcb861aa558711f51455a0ec3
+Author: Kazu Hirata <kazu@google.com>
+Date:   Fri May 6 14:26:12 2022 -0700
+
+    [AArch64] Add llvm/test/CodeGen/AArch64/i256-math.ll
+    
+    This patch adds a test case for i256 additions and subtractions.  I'm
+    leaving out multiplications for now, which would result in very long
+    sequences.
+    
+    Differential Revision: https://reviews.llvm.org/D125125
+
+diff --git a/llvm/test/CodeGen/AArch64/i256-math.ll b/llvm/test/CodeGen/AArch64/i256-math.ll
+new file mode 100644
+index 000000000000..6e5afb4dc311
+--- /dev/null
++++ b/llvm/test/CodeGen/AArch64/i256-math.ll
+@@ -0,0 +1,306 @@
++; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
++; RUN: llc < %s -mtriple=aarch64-- | FileCheck %s
++
++declare { i256, i1 } @llvm.uadd.with.overflow.i256(i256, i256)
++declare   i256       @llvm.uadd.sat.i256(i256, i256)
++
++declare { i256, i1 } @llvm.usub.with.overflow.i256(i256, i256)
++declare   i256       @llvm.usub.sat.i256(i256, i256)
++
++declare { i256, i1 } @llvm.sadd.with.overflow.i256(i256, i256)
++declare   i256       @llvm.sadd.sat.i256(i256, i256)
++
++declare { i256, i1 } @llvm.ssub.with.overflow.i256(i256, i256)
++declare   i256       @llvm.ssub.sat.i256(i256, i256)
++
++define i256 @u256_add(i256 %x, i256 %y) {
++; CHECK-LABEL: u256_add:
++; CHECK:       // %bb.0:
++; CHECK-NEXT:    adds x0, x0, x4
++; CHECK-NEXT:    adcs x1, x1, x5
++; CHECK-NEXT:    adcs x2, x2, x6
++; CHECK-NEXT:    adcs x3, x3, x7
++; CHECK-NEXT:    ret
++  %1 = add i256 %x, %y
++  ret i256 %1
++}
++
++define { i256, i8 } @u256_checked_add(i256 %x, i256 %y) {
++; CHECK-LABEL: u256_checked_add:
++; CHECK:       // %bb.0:
++; CHECK-NEXT:    adds x0, x0, x4
++; CHECK-NEXT:    adcs x1, x1, x5
++; CHECK-NEXT:    adcs x2, x2, x6
++; CHECK-NEXT:    adcs x3, x3, x7
++; CHECK-NEXT:    cset w8, hs
++; CHECK-NEXT:    eor w4, w8, #0x1
++; CHECK-NEXT:    ret
++  %1 = tail call { i256, i1 } @llvm.uadd.with.overflow.i256(i256 %x, i256 %y)
++  %2 = extractvalue { i256, i1 } %1, 0
++  %3 = extractvalue { i256, i1 } %1, 1
++  %4 = xor i1 %3, true
++  %5 = zext i1 %4 to i8
++  %6 = insertvalue { i256, i8 } undef, i256 %2, 0
++  %7 = insertvalue { i256, i8 } %6, i8 %5, 1
++  ret { i256, i8 } %7
++}
++
++define { i256, i8 } @u256_overflowing_add(i256 %x, i256 %y) {
++; CHECK-LABEL: u256_overflowing_add:
++; CHECK:       // %bb.0:
++; CHECK-NEXT:    adds x0, x0, x4
++; CHECK-NEXT:    adcs x1, x1, x5
++; CHECK-NEXT:    adcs x2, x2, x6
++; CHECK-NEXT:    adcs x3, x3, x7
++; CHECK-NEXT:    cset w4, hs
++; CHECK-NEXT:    ret
++  %1 = tail call { i256, i1 } @llvm.uadd.with.overflow.i256(i256 %x, i256 %y)
++  %2 = extractvalue { i256, i1 } %1, 0
++  %3 = extractvalue { i256, i1 } %1, 1
++  %4 = zext i1 %3 to i8
++  %5 = insertvalue { i256, i8 } undef, i256 %2, 0
++  %6 = insertvalue { i256, i8 } %5, i8 %4, 1
++  ret { i256, i8 } %6
++}
++
++define i256 @u256_saturating_add(i256 %x, i256 %y) {
++; CHECK-LABEL: u256_saturating_add:
++; CHECK:       // %bb.0:
++; CHECK-NEXT:    adds x8, x0, x4
++; CHECK-NEXT:    adcs x9, x1, x5
++; CHECK-NEXT:    adcs x10, x2, x6
++; CHECK-NEXT:    adcs x11, x3, x7
++; CHECK-NEXT:    cset w12, hs
++; CHECK-NEXT:    cmp w12, #0
++; CHECK-NEXT:    csinv x0, x8, xzr, eq
++; CHECK-NEXT:    csinv x1, x9, xzr, eq
++; CHECK-NEXT:    csinv x2, x10, xzr, eq
++; CHECK-NEXT:    csinv x3, x11, xzr, eq
++; CHECK-NEXT:    ret
++  %1 = tail call i256 @llvm.uadd.sat.i256(i256 %x, i256 %y)
++  ret i256 %1
++}
++
++define i256 @u256_sub(i256 %x, i256 %y) {
++; CHECK-LABEL: u256_sub:
++; CHECK:       // %bb.0:
++; CHECK-NEXT:    subs x0, x0, x4
++; CHECK-NEXT:    sbcs x1, x1, x5
++; CHECK-NEXT:    sbcs x2, x2, x6
++; CHECK-NEXT:    sbcs x3, x3, x7
++; CHECK-NEXT:    ret
++  %1 = sub i256 %x, %y
++  ret i256 %1
++}
++
++define { i256, i8 } @u256_checked_sub(i256 %x, i256 %y) {
++; CHECK-LABEL: u256_checked_sub:
++; CHECK:       // %bb.0:
++; CHECK-NEXT:    subs x0, x0, x4
++; CHECK-NEXT:    sbcs x1, x1, x5
++; CHECK-NEXT:    cset w8, lo
++; CHECK-NEXT:    cmp wzr, w8
++; CHECK-NEXT:    sbcs x2, x2, x6
++; CHECK-NEXT:    cset w8, lo
++; CHECK-NEXT:    cmp wzr, w8
++; CHECK-NEXT:    sbcs x3, x3, x7
++; CHECK-NEXT:    cset w8, lo
++; CHECK-NEXT:    eor w4, w8, #0x1
++; CHECK-NEXT:    ret
++  %1 = tail call { i256, i1 } @llvm.usub.with.overflow.i256(i256 %x, i256 %y)
++  %2 = extractvalue { i256, i1 } %1, 0
++  %3 = extractvalue { i256, i1 } %1, 1
++  %4 = xor i1 %3, true
++  %5 = zext i1 %4 to i8
++  %6 = insertvalue { i256, i8 } undef, i256 %2, 0
++  %7 = insertvalue { i256, i8 } %6, i8 %5, 1
++  ret { i256, i8 } %7
++}
++
++define { i256, i8 } @u256_overflowing_sub(i256 %x, i256 %y) {
++; CHECK-LABEL: u256_overflowing_sub:
++; CHECK:       // %bb.0:
++; CHECK-NEXT:    subs x0, x0, x4
++; CHECK-NEXT:    sbcs x1, x1, x5
++; CHECK-NEXT:    cset w8, lo
++; CHECK-NEXT:    cmp wzr, w8
++; CHECK-NEXT:    sbcs x2, x2, x6
++; CHECK-NEXT:    cset w8, lo
++; CHECK-NEXT:    cmp wzr, w8
++; CHECK-NEXT:    sbcs x3, x3, x7
++; CHECK-NEXT:    cset w4, lo
++; CHECK-NEXT:    ret
++  %1 = tail call { i256, i1 } @llvm.usub.with.overflow.i256(i256 %x, i256 %y)
++  %2 = extractvalue { i256, i1 } %1, 0
++  %3 = extractvalue { i256, i1 } %1, 1
++  %4 = zext i1 %3 to i8
++  %5 = insertvalue { i256, i8 } undef, i256 %2, 0
++  %6 = insertvalue { i256, i8 } %5, i8 %4, 1
++  ret { i256, i8 } %6
++}
++
++define i256 @u256_saturating_sub(i256 %x, i256 %y) {
++; CHECK-LABEL: u256_saturating_sub:
++; CHECK:       // %bb.0:
++; CHECK-NEXT:    subs x8, x0, x4
++; CHECK-NEXT:    sbcs x9, x1, x5
++; CHECK-NEXT:    sbcs x10, x2, x6
++; CHECK-NEXT:    sbcs x11, x3, x7
++; CHECK-NEXT:    cset w12, lo
++; CHECK-NEXT:    cmp w12, #0
++; CHECK-NEXT:    csel x0, xzr, x8, ne
++; CHECK-NEXT:    csel x1, xzr, x9, ne
++; CHECK-NEXT:    csel x2, xzr, x10, ne
++; CHECK-NEXT:    csel x3, xzr, x11, ne
++; CHECK-NEXT:    ret
++  %1 = tail call i256 @llvm.usub.sat.i256(i256 %x, i256 %y)
++  ret i256 %1
++}
++
++define i256 @i256_add(i256 %x, i256 %y) {
++; CHECK-LABEL: i256_add:
++; CHECK:       // %bb.0:
++; CHECK-NEXT:    adds x0, x0, x4
++; CHECK-NEXT:    adcs x1, x1, x5
++; CHECK-NEXT:    adcs x2, x2, x6
++; CHECK-NEXT:    adcs x3, x3, x7
++; CHECK-NEXT:    ret
++  %1 = add i256 %x, %y
++  ret i256 %1
++}
++
++define { i256, i8 } @i256_checked_add(i256 %x, i256 %y) {
++; CHECK-LABEL: i256_checked_add:
++; CHECK:       // %bb.0:
++; CHECK-NEXT:    adds x0, x0, x4
++; CHECK-NEXT:    adcs x1, x1, x5
++; CHECK-NEXT:    adcs x2, x2, x6
++; CHECK-NEXT:    adcs x3, x3, x7
++; CHECK-NEXT:    cset w8, vs
++; CHECK-NEXT:    eor w4, w8, #0x1
++; CHECK-NEXT:    ret
++  %1 = tail call { i256, i1 } @llvm.sadd.with.overflow.i256(i256 %x, i256 %y)
++  %2 = extractvalue { i256, i1 } %1, 0
++  %3 = extractvalue { i256, i1 } %1, 1
++  %4 = xor i1 %3, true
++  %5 = zext i1 %4 to i8
++  %6 = insertvalue { i256, i8 } undef, i256 %2, 0
++  %7 = insertvalue { i256, i8 } %6, i8 %5, 1
++  ret { i256, i8 } %7
++}
++
++define { i256, i8 } @i256_overflowing_add(i256 %x, i256 %y) {
++; CHECK-LABEL: i256_overflowing_add:
++; CHECK:       // %bb.0:
++; CHECK-NEXT:    adds x0, x0, x4
++; CHECK-NEXT:    adcs x1, x1, x5
++; CHECK-NEXT:    adcs x2, x2, x6
++; CHECK-NEXT:    adcs x3, x3, x7
++; CHECK-NEXT:    cset w4, vs
++; CHECK-NEXT:    ret
++  %1 = tail call { i256, i1 } @llvm.sadd.with.overflow.i256(i256 %x, i256 %y)
++  %2 = extractvalue { i256, i1 } %1, 0
++  %3 = extractvalue { i256, i1 } %1, 1
++  %4 = zext i1 %3 to i8
++  %5 = insertvalue { i256, i8 } undef, i256 %2, 0
++  %6 = insertvalue { i256, i8 } %5, i8 %4, 1
++  ret { i256, i8 } %6
++}
++
++define i256 @i256_saturating_add(i256 %x, i256 %y) {
++; CHECK-LABEL: i256_saturating_add:
++; CHECK:       // %bb.0:
++; CHECK-NEXT:    adds x8, x0, x4
++; CHECK-NEXT:    adcs x9, x1, x5
++; CHECK-NEXT:    adcs x10, x2, x6
++; CHECK-NEXT:    adcs x11, x3, x7
++; CHECK-NEXT:    cset w12, vs
++; CHECK-NEXT:    asr x13, x11, #63
++; CHECK-NEXT:    cmp w12, #0
++; CHECK-NEXT:    csel x0, x13, x8, ne
++; CHECK-NEXT:    eor x8, x13, #0x8000000000000000
++; CHECK-NEXT:    csel x1, x13, x9, ne
++; CHECK-NEXT:    csel x2, x13, x10, ne
++; CHECK-NEXT:    csel x3, x8, x11, ne
++; CHECK-NEXT:    ret
++  %1 = tail call i256 @llvm.sadd.sat.i256(i256 %x, i256 %y)
++  ret i256 %1
++}
++
++define i256 @i256_sub(i256 %x, i256 %y) {
++; CHECK-LABEL: i256_sub:
++; CHECK:       // %bb.0:
++; CHECK-NEXT:    subs x0, x0, x4
++; CHECK-NEXT:    sbcs x1, x1, x5
++; CHECK-NEXT:    sbcs x2, x2, x6
++; CHECK-NEXT:    sbcs x3, x3, x7
++; CHECK-NEXT:    ret
++  %1 = sub i256 %x, %y
++  ret i256 %1
++}
++
++define { i256, i8 } @i256_checked_sub(i256 %x, i256 %y) {
++; CHECK-LABEL: i256_checked_sub:
++; CHECK:       // %bb.0:
++; CHECK-NEXT:    subs x0, x0, x4
++; CHECK-NEXT:    sbcs x1, x1, x5
++; CHECK-NEXT:    cset w8, lo
++; CHECK-NEXT:    cmp wzr, w8
++; CHECK-NEXT:    sbcs x2, x2, x6
++; CHECK-NEXT:    cset w8, lo
++; CHECK-NEXT:    cmp wzr, w8
++; CHECK-NEXT:    sbcs x3, x3, x7
++; CHECK-NEXT:    cset w8, vs
++; CHECK-NEXT:    eor w4, w8, #0x1
++; CHECK-NEXT:    ret
++  %1 = tail call { i256, i1 } @llvm.ssub.with.overflow.i256(i256 %x, i256 %y)
++  %2 = extractvalue { i256, i1 } %1, 0
++  %3 = extractvalue { i256, i1 } %1, 1
++  %4 = xor i1 %3, true
++  %5 = zext i1 %4 to i8
++  %6 = insertvalue { i256, i8 } undef, i256 %2, 0
++  %7 = insertvalue { i256, i8 } %6, i8 %5, 1
++  ret { i256, i8 } %7
++}
++
++define { i256, i8 } @i256_overflowing_sub(i256 %x, i256 %y) {
++; CHECK-LABEL: i256_overflowing_sub:
++; CHECK:       // %bb.0:
++; CHECK-NEXT:    subs x0, x0, x4
++; CHECK-NEXT:    sbcs x1, x1, x5
++; CHECK-NEXT:    cset w8, lo
++; CHECK-NEXT:    cmp wzr, w8
++; CHECK-NEXT:    sbcs x2, x2, x6
++; CHECK-NEXT:    cset w8, lo
++; CHECK-NEXT:    cmp wzr, w8
++; CHECK-NEXT:    sbcs x3, x3, x7
++; CHECK-NEXT:    cset w4, vs
++; CHECK-NEXT:    ret
++  %1 = tail call { i256, i1 } @llvm.ssub.with.overflow.i256(i256 %x, i256 %y)
++  %2 = extractvalue { i256, i1 } %1, 0
++  %3 = extractvalue { i256, i1 } %1, 1
++  %4 = zext i1 %3 to i8
++  %5 = insertvalue { i256, i8 } undef, i256 %2, 0
++  %6 = insertvalue { i256, i8 } %5, i8 %4, 1
++  ret { i256, i8 } %6
++}
++
++define i256 @i256_saturating_sub(i256 %x, i256 %y) {
++; CHECK-LABEL: i256_saturating_sub:
++; CHECK:       // %bb.0:
++; CHECK-NEXT:    subs x8, x0, x4
++; CHECK-NEXT:    sbcs x9, x1, x5
++; CHECK-NEXT:    sbcs x10, x2, x6
++; CHECK-NEXT:    sbcs x11, x3, x7
++; CHECK-NEXT:    cset w12, vs
++; CHECK-NEXT:    asr x13, x11, #63
++; CHECK-NEXT:    cmp w12, #0
++; CHECK-NEXT:    csel x0, x13, x8, ne
++; CHECK-NEXT:    eor x8, x13, #0x8000000000000000
++; CHECK-NEXT:    csel x1, x13, x9, ne
++; CHECK-NEXT:    csel x2, x13, x10, ne
++; CHECK-NEXT:    csel x3, x8, x11, ne
++; CHECK-NEXT:    ret
++  %1 = tail call i256 @llvm.ssub.sat.i256(i256 %x, i256 %y)
++  ret i256 %1
++}
diff --git a/sys-devel/llvm/files/cherry/2e7c35ea12c88d0876e453a936ecce0456353621.patch b/sys-devel/llvm/files/cherry/2e7c35ea12c88d0876e453a936ecce0456353621.patch
new file mode 100644
index 0000000..ea454ae
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/2e7c35ea12c88d0876e453a936ecce0456353621.patch
@@ -0,0 +1,509 @@
+From 2e7c35ea12c88d0876e453a936ecce0456353621 Mon Sep 17 00:00:00 2001
+From: David Green <david.green@arm.com>
+Date: Sat, 26 Feb 2022 17:59:02 +0000
+Subject: [PATCH] [AArch64] Cleanup and extend cast costs. NFC
+
+---
+ llvm/test/Analysis/CostModel/AArch64/cast.ll | 395 ++++++++++++-------
+ 1 file changed, 254 insertions(+), 141 deletions(-)
+
+diff --git a/llvm/test/Analysis/CostModel/AArch64/cast.ll b/llvm/test/Analysis/CostModel/AArch64/cast.ll
+index f69c07217589..dbb0581a7d7f 100644
+--- a/llvm/test/Analysis/CostModel/AArch64/cast.ll
++++ b/llvm/test/Analysis/CostModel/AArch64/cast.ll
+@@ -1,9 +1,8 @@
+ ; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
+-; RUN: opt -cost-model -analyze -mtriple=aarch64-none-linux-gnueabi %s -o - | FileCheck --check-prefixes=CHECK,NOFP16 %s
+-; RUN: opt -cost-model -analyze -mtriple=aarch64-none-linux-gnueabi -mattr=+fullfp16 %s -o - | FileCheck --check-prefixes=CHECK,FULLFP16 %s
++; RUN: opt -cost-model -analyze -mtriple=aarch64-none-linux-gnueabi %s | FileCheck --check-prefixes=CHECK %s
+ 
+-define i32 @casts_no_users() {
+-; CHECK-LABEL: 'casts_no_users'
++define void @ext() {
++; CHECK-LABEL: 'ext'
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r0 = sext i1 undef to i8
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r1 = zext i1 undef to i8
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r2 = sext i1 undef to i16
+@@ -12,28 +11,224 @@ define i32 @casts_no_users() {
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r5 = zext i1 undef to i32
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r6 = sext i1 undef to i64
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r7 = zext i1 undef to i64
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r8 = trunc i8 undef to i1
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r9 = sext i8 undef to i16
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r10 = zext i8 undef to i16
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r11 = sext i8 undef to i32
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r12 = zext i8 undef to i32
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r13 = sext i8 undef to i64
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r14 = zext i8 undef to i64
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r15 = trunc i16 undef to i1
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r16 = trunc i16 undef to i8
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r17 = sext i16 undef to i32
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r18 = zext i16 undef to i32
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r19 = sext i16 undef to i64
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r20 = zext i16 undef to i64
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r24 = sext i32 undef to i64
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r25 = zext i32 undef to i64
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s2i8i16 = sext <2 x i8> undef to <2 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %z2i8i16 = zext <2 x i8> undef to <2 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s2i8i32 = sext <2 x i8> undef to <2 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %z2i8i32 = zext <2 x i8> undef to <2 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s2i8i64 = sext <2 x i8> undef to <2 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %z2i8i64 = zext <2 x i8> undef to <2 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s2i16i32 = sext <2 x i16> undef to <2 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %z2i16i32 = zext <2 x i16> undef to <2 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s2i16i64 = sext <2 x i16> undef to <2 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %z2i16i64 = zext <2 x i16> undef to <2 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s2i32i64 = sext <2 x i32> undef to <2 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %z2i32i64 = zext <2 x i32> undef to <2 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s4i8i16 = sext <4 x i8> undef to <4 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %z4i8i16 = zext <4 x i8> undef to <4 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s4i8i32 = sext <4 x i8> undef to <4 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %z4i8i32 = zext <4 x i8> undef to <4 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %s4i8i64 = sext <4 x i8> undef to <4 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %z4i8i64 = zext <4 x i8> undef to <4 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s4i16i32 = sext <4 x i16> undef to <4 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %z4i16i32 = zext <4 x i16> undef to <4 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %s4i16i64 = sext <4 x i16> undef to <4 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %z4i16i64 = zext <4 x i16> undef to <4 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %s4i32i64 = sext <4 x i32> undef to <4 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %z4i32i64 = zext <4 x i32> undef to <4 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s8i8i16 = sext <8 x i8> undef to <8 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %z8i8i16 = zext <8 x i8> undef to <8 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %s8i8i32 = sext <8 x i8> undef to <8 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %z8i8i32 = zext <8 x i8> undef to <8 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %s8i8i64 = sext <8 x i8> undef to <8 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %z8i8i64 = zext <8 x i8> undef to <8 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %s8i16i32 = sext <8 x i16> undef to <8 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %z8i16i32 = zext <8 x i16> undef to <8 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %s8i16i64 = sext <8 x i16> undef to <8 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %z8i16i64 = zext <8 x i16> undef to <8 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %s8i32i64 = sext <8 x i32> undef to <8 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %z8i32i64 = zext <8 x i32> undef to <8 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %s16i8i16 = sext <16 x i8> undef to <16 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %z16i8i16 = zext <16 x i8> undef to <16 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %s16i8i32 = sext <16 x i8> undef to <16 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %z16i8i32 = zext <16 x i8> undef to <16 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 15 for instruction: %s16i8i64 = sext <16 x i8> undef to <16 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 15 for instruction: %z16i8i64 = zext <16 x i8> undef to <16 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %s16i16i32 = sext <16 x i16> undef to <16 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %z16i16i32 = zext <16 x i16> undef to <16 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 12 for instruction: %s16i16i64 = sext <16 x i16> undef to <16 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 12 for instruction: %z16i16i64 = zext <16 x i16> undef to <16 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %s16i32i64 = sext <16 x i32> undef to <16 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %z16i32i64 = zext <16 x i32> undef to <16 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
++;
++  %r0 = sext i1 undef to i8
++  %r1 = zext i1 undef to i8
++  %r2 = sext i1 undef to i16
++  %r3 = zext i1 undef to i16
++  %r4 = sext i1 undef to i32
++  %r5 = zext i1 undef to i32
++  %r6 = sext i1 undef to i64
++  %r7 = zext i1 undef to i64
++  %r9 = sext i8 undef to i16
++  %r10 = zext i8 undef to i16
++  %r11 = sext i8 undef to i32
++  %r12 = zext i8 undef to i32
++  %r13 = sext i8 undef to i64
++  %r14 = zext i8 undef to i64
++  %r17 = sext i16 undef to i32
++  %r18 = zext i16 undef to i32
++  %r19 = sext i16 undef to i64
++  %r20 = zext i16 undef to i64
++  %r24 = sext i32 undef to i64
++  %r25 = zext i32 undef to i64
++
++  %s2i8i16 = sext <2 x i8> undef to <2 x i16>
++  %z2i8i16 = zext <2 x i8> undef to <2 x i16>
++  %s2i8i32 = sext <2 x i8> undef to <2 x i32>
++  %z2i8i32 = zext <2 x i8> undef to <2 x i32>
++  %s2i8i64 = sext <2 x i8> undef to <2 x i64>
++  %z2i8i64 = zext <2 x i8> undef to <2 x i64>
++  %s2i16i32 = sext <2 x i16> undef to <2 x i32>
++  %z2i16i32 = zext <2 x i16> undef to <2 x i32>
++  %s2i16i64 = sext <2 x i16> undef to <2 x i64>
++  %z2i16i64 = zext <2 x i16> undef to <2 x i64>
++  %s2i32i64 = sext <2 x i32> undef to <2 x i64>
++  %z2i32i64 = zext <2 x i32> undef to <2 x i64>
++
++  %s4i8i16 = sext <4 x i8>  undef to <4 x i16>
++  %z4i8i16 = zext <4 x i8>  undef to <4 x i16>
++  %s4i8i32 = sext <4 x i8>  undef to <4 x i32>
++  %z4i8i32 = zext <4 x i8>  undef to <4 x i32>
++  %s4i8i64 = sext <4 x i8>  undef to <4 x i64>
++  %z4i8i64 = zext <4 x i8>  undef to <4 x i64>
++  %s4i16i32 = sext <4 x i16> undef to <4 x i32>
++  %z4i16i32 = zext <4 x i16> undef to <4 x i32>
++  %s4i16i64 = sext <4 x i16> undef to <4 x i64>
++  %z4i16i64 = zext <4 x i16> undef to <4 x i64>
++  %s4i32i64 = sext <4 x i32> undef to <4 x i64>
++  %z4i32i64 = zext <4 x i32> undef to <4 x i64>
++
++  %s8i8i16 = sext <8 x i8>  undef to <8 x i16>
++  %z8i8i16 = zext <8 x i8>  undef to <8 x i16>
++  %s8i8i32 = sext <8 x i8>  undef to <8 x i32>
++  %z8i8i32 = zext <8 x i8>  undef to <8 x i32>
++  %s8i8i64 = sext <8 x i8>  undef to <8 x i64>
++  %z8i8i64 = zext <8 x i8>  undef to <8 x i64>
++  %s8i16i32 = sext <8 x i16> undef to <8 x i32>
++  %z8i16i32 = zext <8 x i16> undef to <8 x i32>
++  %s8i16i64 = sext <8 x i16> undef to <8 x i64>
++  %z8i16i64 = zext <8 x i16> undef to <8 x i64>
++  %s8i32i64 = sext <8 x i32> undef to <8 x i64>
++  %z8i32i64 = zext <8 x i32> undef to <8 x i64>
++
++  %s16i8i16 = sext <16 x i8>  undef to <16 x i16>
++  %z16i8i16 = zext <16 x i8>  undef to <16 x i16>
++  %s16i8i32 = sext <16 x i8>  undef to <16 x i32>
++  %z16i8i32 = zext <16 x i8>  undef to <16 x i32>
++  %s16i8i64 = sext <16 x i8>  undef to <16 x i64>
++  %z16i8i64 = zext <16 x i8>  undef to <16 x i64>
++  %s16i16i32 = sext <16 x i16> undef to <16 x i32>
++  %z16i16i32 = zext <16 x i16> undef to <16 x i32>
++  %s16i16i64 = sext <16 x i16> undef to <16 x i64>
++  %z16i16i64 = zext <16 x i16> undef to <16 x i64>
++  %s16i32i64 = sext <16 x i32> undef to <16 x i64>
++  %z16i32i64 = zext <16 x i32> undef to <16 x i64>
++  ret void
++}
++
++define void @trunc() {
++; CHECK-LABEL: 'trunc'
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r8 = trunc i8 undef to i1
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r15 = trunc i16 undef to i1
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r16 = trunc i16 undef to i8
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r21 = trunc i32 undef to i1
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r22 = trunc i32 undef to i8
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r23 = trunc i32 undef to i16
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r24 = sext i32 undef to i64
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r25 = zext i32 undef to i64
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r26 = trunc i64 undef to i1
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r27 = trunc i64 undef to i8
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r28 = trunc i64 undef to i16
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r29 = trunc i64 undef to i32
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %s2i8i16 = trunc <2 x i16> undef to <2 x i8>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %s2i8i32 = trunc <2 x i32> undef to <2 x i8>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s2i8i64 = trunc <2 x i64> undef to <2 x i8>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %s2i16i32 = trunc <2 x i32> undef to <2 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s2i16i64 = trunc <2 x i64> undef to <2 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s2i32i64 = trunc <2 x i64> undef to <2 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %s4i8i16 = trunc <4 x i16> undef to <4 x i8>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s4i8i32 = trunc <4 x i32> undef to <4 x i8>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %s4i8i64 = trunc <4 x i64> undef to <4 x i8>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s4i16i32 = trunc <4 x i32> undef to <4 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %s4i16i64 = trunc <4 x i64> undef to <4 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %s4i32i64 = trunc <4 x i64> undef to <4 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s8i8i16 = trunc <8 x i16> undef to <8 x i8>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %s8i8i32 = trunc <8 x i32> undef to <8 x i8>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %s8i8i64 = trunc <8 x i64> undef to <8 x i8>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %s8i16i32 = trunc <8 x i32> undef to <8 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %s8i16i64 = trunc <8 x i64> undef to <8 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %s8i32i64 = trunc <8 x i64> undef to <8 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %s16i8i16 = trunc <16 x i16> undef to <16 x i8>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %s16i8i32 = trunc <16 x i32> undef to <16 x i8>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 15 for instruction: %s16i8i64 = trunc <16 x i64> undef to <16 x i8>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %s16i16i32 = trunc <16 x i32> undef to <16 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 14 for instruction: %s16i16i64 = trunc <16 x i64> undef to <16 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %s16i32i64 = trunc <16 x i64> undef to <16 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
++;
++  %r8 = trunc i8 undef to i1
++  %r15 = trunc i16 undef to i1
++  %r16 = trunc i16 undef to i8
++  %r21 = trunc i32 undef to i1
++  %r22 = trunc i32 undef to i8
++  %r23 = trunc i32 undef to i16
++  %r26 = trunc i64 undef to i1
++  %r27 = trunc i64 undef to i8
++  %r28 = trunc i64 undef to i16
++  %r29 = trunc i64 undef to i32
++
++  %s2i8i16 = trunc <2 x i16> undef to <2 x i8>
++  %s2i8i32 = trunc <2 x i32> undef to <2 x i8>
++  %s2i8i64 = trunc <2 x i64> undef to <2 x i8>
++  %s2i16i32 = trunc <2 x i32> undef to <2 x i16>
++  %s2i16i64 = trunc <2 x i64> undef to <2 x i16>
++  %s2i32i64 = trunc <2 x i64> undef to <2 x i32>
++
++  %s4i8i16 = trunc <4 x i16> undef to <4 x i8>
++  %s4i8i32 = trunc <4 x i32> undef to <4 x i8>
++  %s4i8i64 = trunc <4 x i64> undef to <4 x i8>
++  %s4i16i32 = trunc <4 x i32> undef to <4 x i16>
++  %s4i16i64 = trunc <4 x i64> undef to <4 x i16>
++  %s4i32i64 = trunc <4 x i64> undef to <4 x i32>
++
++  %s8i8i16 = trunc <8 x i16> undef to <8 x i8>
++  %s8i8i32 = trunc <8 x i32> undef to <8 x i8>
++  %s8i8i64 = trunc <8 x i64> undef to <8 x i8>
++  %s8i16i32 = trunc <8 x i32> undef to <8 x i16>
++  %s8i16i64 = trunc <8 x i64> undef to <8 x i16>
++  %s8i32i64 = trunc <8 x i64> undef to <8 x i32>
++
++  %s16i8i16 = trunc <16 x i16> undef to <16 x i8>
++  %s16i8i32 = trunc <16 x i32> undef to <16 x i8>
++  %s16i8i64 = trunc <16 x i64> undef to <16 x i8>
++  %s16i16i32 = trunc <16 x i32> undef to <16 x i16>
++  %s16i16i64 = trunc <16 x i64> undef to <16 x i16>
++  %s16i32i64 = trunc <16 x i64> undef to <16 x i32>
++  ret void
++}
++
++define i32 @casts_no_users() {
++; CHECK-LABEL: 'casts_no_users'
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r30 = fptoui float undef to i1
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r31 = fptosi float undef to i1
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r32 = fptoui float undef to i8
+@@ -74,30 +269,6 @@ define i32 @casts_no_users() {
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r67 = uitofp i64 undef to float
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r68 = sitofp i64 undef to double
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r69 = uitofp i64 undef to double
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %q70 = sext <4 x i8> undef to <4 x i32>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %q71 = sext <8 x i8> undef to <8 x i16>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s70 = sext <4 x i8> undef to <4 x i32>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r70 = sext <8 x i8> undef to <8 x i32>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %r71 = sext <16 x i8> undef to <16 x i32>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %q72 = zext <4 x i8> undef to <4 x i32>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %q73 = zext <8 x i8> undef to <8 x i16>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s72 = zext <4 x i8> undef to <4 x i32>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r72 = zext <8 x i8> undef to <8 x i32>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %r73 = zext <16 x i8> undef to <16 x i32>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %rext_0 = sext <8 x i8> undef to <8 x i64>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %rext_1 = zext <8 x i8> undef to <8 x i64>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %rext_2 = sext <8 x i16> undef to <8 x i64>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %rext_3 = zext <8 x i16> undef to <8 x i64>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %rext_4 = sext <4 x i16> undef to <4 x i64>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %rext_5 = zext <4 x i16> undef to <4 x i64>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %rext_6 = sext <2 x i8> undef to <2 x i64>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %rext_7 = zext <2 x i8> undef to <2 x i64>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %rext_8 = sext <2 x i16> undef to <2 x i64>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %rext_9 = zext <2 x i16> undef to <2 x i64>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %rext_a = sext <2 x i32> undef to <2 x i64>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %rext_b = zext <2 x i32> undef to <2 x i64>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r74 = trunc <8 x i32> undef to <8 x i8>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %r75 = trunc <16 x i32> undef to <16 x i8>
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r80 = fptrunc double undef to float
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r81 = fptrunc <2 x double> undef to <2 x float>
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r82 = fptrunc <4 x double> undef to <4 x float>
+@@ -270,60 +441,26 @@ define i32 @casts_no_users() {
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r249 = sitofp <16 x i64> undef to <16 x double>
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r250 = uitofp <8 x i1> undef to <8 x half>
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r251 = sitofp <8 x i1> undef to <8 x half>
+-; NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r252 = uitofp <8 x i8> undef to <8 x half>
+-; NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r253 = sitofp <8 x i8> undef to <8 x half>
+-; FULLFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r252 = uitofp <8 x i8> undef to <8 x half>
+-; FULLFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r253 = sitofp <8 x i8> undef to <8 x half>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r252 = uitofp <8 x i8> undef to <8 x half>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r253 = sitofp <8 x i8> undef to <8 x half>
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r254 = uitofp <8 x i16> undef to <8 x half>
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r255 = sitofp <8 x i16> undef to <8 x half>
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r256 = uitofp <8 x i32> undef to <8 x half>
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r257 = sitofp <8 x i32> undef to <8 x half>
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %r258 = uitofp <8 x i64> undef to <8 x half>
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %r259 = sitofp <8 x i64> undef to <8 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction:   %r260 = uitofp <16 x i1> undef to <16 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction:   %r261 = sitofp <16 x i1> undef to <16 x half>
+-; NOFP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction:   %r262 = uitofp <16 x i8> undef to <16 x half>
+-; NOFP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction:   %r263 = sitofp <16 x i8> undef to <16 x half>
+-; FULLFP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction:   %r262 = uitofp <16 x i8> undef to <16 x half>
+-; FULLFP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction:   %r263 = sitofp <16 x i8> undef to <16 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction:   %r264 = uitofp <16 x i16> undef to <16 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction:   %r265 = sitofp <16 x i16> undef to <16 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 6 for instruction:   %r266 = uitofp <16 x i32> undef to <16 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 6 for instruction:   %r267 = sitofp <16 x i32> undef to <16 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 14 for instruction:   %r268 = uitofp <16 x i64> undef to <16 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 14 for instruction:   %r269 = sitofp <16 x i64> undef to <16 x half>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r260 = uitofp <16 x i1> undef to <16 x half>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r261 = sitofp <16 x i1> undef to <16 x half>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r262 = uitofp <16 x i8> undef to <16 x half>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r263 = sitofp <16 x i8> undef to <16 x half>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r264 = uitofp <16 x i16> undef to <16 x half>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r265 = sitofp <16 x i16> undef to <16 x half>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %r266 = uitofp <16 x i32> undef to <16 x half>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %r267 = sitofp <16 x i32> undef to <16 x half>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 14 for instruction: %r268 = uitofp <16 x i64> undef to <16 x half>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 14 for instruction: %r269 = sitofp <16 x i64> undef to <16 x half>
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
+ ;
+-  %r0 = sext i1 undef to i8
+-  %r1 = zext i1 undef to i8
+-  %r2 = sext i1 undef to i16
+-  %r3 = zext i1 undef to i16
+-  %r4 = sext i1 undef to i32
+-  %r5 = zext i1 undef to i32
+-  %r6 = sext i1 undef to i64
+-  %r7 = zext i1 undef to i64
+-  %r8 = trunc i8 undef to i1
+-  %r9 = sext i8 undef to i16
+-  %r10 = zext i8 undef to i16
+-  %r11 = sext i8 undef to i32
+-  %r12 = zext i8 undef to i32
+-  %r13 = sext i8 undef to i64
+-  %r14 = zext i8 undef to i64
+-  %r15 = trunc i16 undef to i1
+-  %r16 = trunc i16 undef to i8
+-  %r17 = sext i16 undef to i32
+-  %r18 = zext i16 undef to i32
+-  %r19 = sext i16 undef to i64
+-  %r20 = zext i16 undef to i64
+-  %r21 = trunc i32 undef to i1
+-  %r22 = trunc i32 undef to i8
+-  %r23 = trunc i32 undef to i16
+-  %r24 = sext i32 undef to i64
+-  %r25 = zext i32 undef to i64
+-  %r26 = trunc i64 undef to i1
+-  %r27 = trunc i64 undef to i8
+-  %r28 = trunc i64 undef to i16
+-  %r29 = trunc i64 undef to i32
+   %r30 = fptoui float undef to i1
+   %r31 = fptosi float undef to i1
+   %r32 = fptoui float undef to i8
+@@ -364,30 +501,6 @@ define i32 @casts_no_users() {
+   %r67 = uitofp i64 undef to float
+   %r68 = sitofp i64 undef to double
+   %r69 = uitofp i64 undef to double
+-  %q70 = sext <4 x i8> undef to <4 x i32>
+-  %q71 = sext <8 x i8> undef to <8 x i16>
+-  %s70 = sext <4 x i8> undef to <4 x i32>
+-  %r70 = sext <8 x i8> undef to <8 x i32>
+-  %r71 = sext <16 x i8> undef to <16 x i32>
+-  %q72 = zext <4 x i8> undef to <4 x i32>
+-  %q73 = zext <8 x i8> undef to <8 x i16>
+-  %s72 = zext <4 x i8> undef to <4 x i32>
+-  %r72 = zext <8 x i8> undef to <8 x i32>
+-  %r73 = zext <16 x i8> undef to <16 x i32>
+-  %rext_0 = sext <8 x i8> undef to <8 x i64>
+-  %rext_1 = zext <8 x i8> undef to <8 x i64>
+-  %rext_2 = sext <8 x i16> undef to <8 x i64>
+-  %rext_3 = zext <8 x i16> undef to <8 x i64>
+-  %rext_4 = sext <4 x i16> undef to <4 x i64>
+-  %rext_5 = zext <4 x i16> undef to <4 x i64>
+-  %rext_6 = sext <2 x i8> undef to <2 x i64>
+-  %rext_7 = zext <2 x i8> undef to <2 x i64>
+-  %rext_8 = sext <2 x i16> undef to <2 x i64>
+-  %rext_9 = zext <2 x i16> undef to <2 x i64>
+-  %rext_a = sext <2 x i32> undef to <2 x i64>
+-  %rext_b = zext <2 x i32> undef to <2 x i64>
+-  %r74 = trunc <8 x i32> undef to <8 x i8>
+-  %r75 = trunc <16 x i32> undef to <16 x i8>
+   %r80 = fptrunc double undef to float
+   %r81 = fptrunc <2 x double> undef to <2 x float>
+   %r82 = fptrunc <4 x double> undef to <4 x float>
+@@ -607,24 +720,24 @@ define i32 @casts_with_users(i8 %a, i16 %b, i32 %c, i64 %d, i1 %e) {
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r3 = sext i16 %b to i32
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r4 = sext i16 %b to i64
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r5 = sext i32 %c to i64
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i16 %r0, i16* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i32 %r1, i32* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i64 %r2, i64* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i32 %r3, i32* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i64 %r4, i64* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i64 %r5, i64* undef
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i16 %r0, i16* undef, align 2
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i32 %r1, i32* undef, align 4
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i64 %r2, i64* undef, align 4
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i32 %r3, i32* undef, align 4
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i64 %r4, i64* undef, align 4
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i64 %r5, i64* undef, align 4
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r6 = zext i8 %a to i16
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r7 = zext i8 %a to i32
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r8 = zext i8 %a to i64
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r9 = zext i16 %b to i32
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r10 = zext i16 %b to i64
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r11 = zext i32 %c to i64
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i16 %r6, i16* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i32 %r7, i32* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i64 %r8, i64* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i32 %r9, i32* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i64 %r10, i64* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i64 %r11, i64* undef
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i16 %r6, i16* undef, align 2
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i32 %r7, i32* undef, align 4
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i64 %r8, i64* undef, align 4
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i32 %r9, i32* undef, align 4
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i64 %r10, i64* undef, align 4
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i64 %r11, i64* undef, align 4
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r12 = trunc i64 %d to i32
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r13 = trunc i64 %d to i16
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r14 = trunc i64 %d to i8
+@@ -648,14 +761,14 @@ define i32 @casts_with_users(i8 %a, i16 %b, i32 %c, i64 %d, i1 %e) {
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r23 = zext i1 %e to i16
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r24 = zext i1 %e to i32
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r25 = zext i1 %e to i64
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i8 %r18, i8* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i16 %r19, i16* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i32 %r20, i32* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i64 %r21, i64* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i8 %r22, i8* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i16 %r23, i16* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i32 %r24, i32* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i64 %r25, i64* undef
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i8 %r18, i8* undef, align 1
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i16 %r19, i16* undef, align 2
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i32 %r20, i32* undef, align 4
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i64 %r21, i64* undef, align 4
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i8 %r22, i8* undef, align 1
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i16 %r23, i16* undef, align 2
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i32 %r24, i32* undef, align 4
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i64 %r25, i64* undef, align 4
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 %r12
+ ;
+   %r0 = sext i8 %a to i16
+@@ -745,18 +858,18 @@ define i32 @bitcasts() {
+ 
+ define i32 @load_extends() #0 {
+ ; CHECK-LABEL: 'load_extends'
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadi8 = load i8, i8* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadi16 = load i16, i16* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadi32 = load i32, i32* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %loadv2i8 = load <2 x i8>, <2 x i8>* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %loadv4i8 = load <4 x i8>, <4 x i8>* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadv8i8 = load <8 x i8>, <8 x i8>* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %loadv2i16 = load <2 x i16>, <2 x i16>* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadv4i16 = load <4 x i16>, <4 x i16>* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadv2i32 = load <2 x i32>, <2 x i32>* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadv4i32 = load <4 x i32>, <4 x i32>* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadnxv2i32 = load <vscale x 2 x i32>, <vscale x 2 x i32>* undef
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadnxv4i32 = load <vscale x 4 x i32>, <vscale x 4 x i32>* undef
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadi8 = load i8, i8* undef, align 1
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadi16 = load i16, i16* undef, align 2
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadi32 = load i32, i32* undef, align 4
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %loadv2i8 = load <2 x i8>, <2 x i8>* undef, align 2
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %loadv4i8 = load <4 x i8>, <4 x i8>* undef, align 4
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadv8i8 = load <8 x i8>, <8 x i8>* undef, align 8
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %loadv2i16 = load <2 x i16>, <2 x i16>* undef, align 4
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadv4i16 = load <4 x i16>, <4 x i16>* undef, align 8
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadv2i32 = load <2 x i32>, <2 x i32>* undef, align 8
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadv4i32 = load <4 x i32>, <4 x i32>* undef, align 16
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadnxv2i32 = load <vscale x 2 x i32>, <vscale x 2 x i32>* undef, align 8
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadnxv4i32 = load <vscale x 4 x i32>, <vscale x 4 x i32>* undef, align 16
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r0 = sext i8 %loadi8 to i16
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r1 = zext i8 %loadi8 to i16
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r2 = sext i8 %loadi8 to i32
+@@ -840,17 +953,17 @@ define i32 @load_extends() #0 {
+ define i32 @store_truncs() {
+ ; CHECK-LABEL: 'store_truncs'
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r0 = trunc i64 undef to i8
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i8 %r0, i8* undef
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i8 %r0, i8* undef, align 1
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r1 = trunc i64 undef to i16
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i16 %r1, i16* undef
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i16 %r1, i16* undef, align 2
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r2 = trunc i64 undef to i32
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i32 %r2, i32* undef
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i32 %r2, i32* undef, align 4
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r3 = trunc i32 undef to i8
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i8 %r3, i8* undef
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i8 %r3, i8* undef, align 1
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r4 = trunc i32 undef to i16
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i16 %r4, i16* undef
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i16 %r4, i16* undef, align 2
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r5 = trunc i16 undef to i8
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i8 %r5, i8* undef
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i8 %r5, i8* undef, align 1
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
+ ;
+   %r0 = trunc i64 undef to i8
+-- 
+2.36.0.rc0.470.gd361397f0d-goog
+
diff --git a/sys-devel/llvm/files/cherry/42ebfa8269470e6b1fe2de996d3f1db6d142e16a.patch b/sys-devel/llvm/files/cherry/42ebfa8269470e6b1fe2de996d3f1db6d142e16a.patch
new file mode 100644
index 0000000..70fa4a1
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/42ebfa8269470e6b1fe2de996d3f1db6d142e16a.patch
@@ -0,0 +1,319 @@
+commit 42ebfa8269470e6b1fe2de996d3f1db6d142e16a
+Author: Muhammad Omair Javaid <omair.javaid@linaro.org>
+Date:   Wed Apr 13 04:51:25 2022 +0500
+
+    Revert "[AArch64] Set maximum VF with shouldMaximizeVectorBandwidth"
+    
+    This reverts commit 64b6192e812977092242ae34d6eafdcd42fea39d.
+    
+    This broke LLVM AArch64 buildbot clang-aarch64-sve-vls-2stage:
+    
+    https://lab.llvm.org/buildbot/#/builders/176/builds/1515
+    
+    llvm-tblgen crashes after applying this patch.
+
+diff --git a/llvm/include/llvm/Analysis/TargetTransformInfo.h b/llvm/include/llvm/Analysis/TargetTransformInfo.h
+index acda8a0e6022..7e2424d8eb04 100644
+--- a/llvm/include/llvm/Analysis/TargetTransformInfo.h
++++ b/llvm/include/llvm/Analysis/TargetTransformInfo.h
+@@ -937,8 +937,7 @@ public:
+   /// creating vectors that span multiple vector registers.
+   /// If false, the vectorization factor will be chosen based on the
+   /// size of the widest element type.
+-  /// \p K Register Kind for vectorization.
+-  bool shouldMaximizeVectorBandwidth(TargetTransformInfo::RegisterKind K) const;
++  bool shouldMaximizeVectorBandwidth() const;
+ 
+   /// \return The minimum vectorization factor for types of given element
+   /// bit width, or 0 if there is no minimum VF. The returned value only
+@@ -1630,8 +1629,7 @@ public:
+   virtual unsigned getMinVectorRegisterBitWidth() const = 0;
+   virtual Optional<unsigned> getMaxVScale() const = 0;
+   virtual Optional<unsigned> getVScaleForTuning() const = 0;
+-  virtual bool
+-  shouldMaximizeVectorBandwidth(TargetTransformInfo::RegisterKind K) const = 0;
++  virtual bool shouldMaximizeVectorBandwidth() const = 0;
+   virtual ElementCount getMinimumVF(unsigned ElemWidth,
+                                     bool IsScalable) const = 0;
+   virtual unsigned getMaximumVF(unsigned ElemWidth, unsigned Opcode) const = 0;
+@@ -2128,9 +2126,8 @@ public:
+   Optional<unsigned> getVScaleForTuning() const override {
+     return Impl.getVScaleForTuning();
+   }
+-  bool shouldMaximizeVectorBandwidth(
+-      TargetTransformInfo::RegisterKind K) const override {
+-    return Impl.shouldMaximizeVectorBandwidth(K);
++  bool shouldMaximizeVectorBandwidth() const override {
++    return Impl.shouldMaximizeVectorBandwidth();
+   }
+   ElementCount getMinimumVF(unsigned ElemWidth,
+                             bool IsScalable) const override {
+diff --git a/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h b/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
+index 42d38ac570fd..538e099cf76c 100644
+--- a/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
++++ b/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
+@@ -417,10 +417,7 @@ public:
+   Optional<unsigned> getMaxVScale() const { return None; }
+   Optional<unsigned> getVScaleForTuning() const { return None; }
+ 
+-  bool
+-  shouldMaximizeVectorBandwidth(TargetTransformInfo::RegisterKind K) const {
+-    return false;
+-  }
++  bool shouldMaximizeVectorBandwidth() const { return false; }
+ 
+   ElementCount getMinimumVF(unsigned ElemWidth, bool IsScalable) const {
+     return ElementCount::get(0, IsScalable);
+diff --git a/llvm/lib/Analysis/TargetTransformInfo.cpp b/llvm/lib/Analysis/TargetTransformInfo.cpp
+index eded89b16c22..6186f0061eb8 100644
+--- a/llvm/lib/Analysis/TargetTransformInfo.cpp
++++ b/llvm/lib/Analysis/TargetTransformInfo.cpp
+@@ -626,9 +626,8 @@ Optional<unsigned> TargetTransformInfo::getVScaleForTuning() const {
+   return TTIImpl->getVScaleForTuning();
+ }
+ 
+-bool TargetTransformInfo::shouldMaximizeVectorBandwidth(
+-    TargetTransformInfo::RegisterKind K) const {
+-  return TTIImpl->shouldMaximizeVectorBandwidth(K);
++bool TargetTransformInfo::shouldMaximizeVectorBandwidth() const {
++  return TTIImpl->shouldMaximizeVectorBandwidth();
+ }
+ 
+ ElementCount TargetTransformInfo::getMinimumVF(unsigned ElemWidth,
+diff --git a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+index 1cf79450b62e..e14849b7f5da 100644
+--- a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
++++ b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+@@ -50,12 +50,6 @@ bool AArch64TTIImpl::areInlineCompatible(const Function *Caller,
+   return (CallerBits & CalleeBits) == CalleeBits;
+ }
+ 
+-bool AArch64TTIImpl::shouldMaximizeVectorBandwidth(
+-    TargetTransformInfo::RegisterKind K) const {
+-  assert(K != TargetTransformInfo::RGK_Scalar);
+-  return K == TargetTransformInfo::RGK_FixedWidthVector;
+-}
+-
+ /// Calculate the cost of materializing a 64-bit value. This helper
+ /// method might only calculate a fraction of a larger immediate. Therefore it
+ /// is valid to return a cost of ZERO.
+diff --git a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
+index 6c2255b9d550..92005b3ba40c 100644
+--- a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
++++ b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
+@@ -135,8 +135,6 @@ public:
+     return ST->getVScaleForTuning();
+   }
+ 
+-  bool shouldMaximizeVectorBandwidth(TargetTransformInfo::RegisterKind K) const;
+-
+   /// Try to return an estimate cost factor that can be used as a multiplier
+   /// when scalarizing an operation for a vector with ElementCount \p VF.
+   /// For scalable vectors this currently takes the most pessimistic view based
+diff --git a/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h b/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
+index 1c87b9d44ecd..65eb9d9fb5bb 100644
+--- a/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
++++ b/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
+@@ -86,11 +86,12 @@ public:
+   unsigned getMinVectorRegisterBitWidth() const;
+   ElementCount getMinimumVF(unsigned ElemWidth, bool IsScalable) const;
+ 
+-  bool
+-  shouldMaximizeVectorBandwidth(TargetTransformInfo::RegisterKind K) const {
++  bool shouldMaximizeVectorBandwidth() const {
+     return true;
+   }
+-  bool supportsEfficientVectorElementLoadStore() { return false; }
++  bool supportsEfficientVectorElementLoadStore() {
++    return false;
++  }
+   bool hasBranchDivergence() {
+     return false;
+   }
+diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+index f0c14da98142..4f7e8cd1c9f3 100644
+--- a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
++++ b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+@@ -5198,12 +5198,9 @@ ElementCount LoopVectorizationCostModel::getMaximizedVFForTarget(
+     return ElementCount::getFixed(ClampedConstTripCount);
+   }
+ 
+-  TargetTransformInfo::RegisterKind RegKind =
+-      ComputeScalableMaxVF ? TargetTransformInfo::RGK_ScalableVector
+-                           : TargetTransformInfo::RGK_FixedWidthVector;
+   ElementCount MaxVF = MaxVectorElementCount;
+   if (MaximizeBandwidth || (MaximizeBandwidth.getNumOccurrences() == 0 &&
+-                            TTI.shouldMaximizeVectorBandwidth(RegKind))) {
++                            TTI.shouldMaximizeVectorBandwidth())) {
+     auto MaxVectorElementCountMaxBW = ElementCount::get(
+         PowerOf2Floor(WidestRegister.getKnownMinSize() / SmallestType),
+         ComputeScalableMaxVF);
+diff --git a/llvm/test/Transforms/LoopVectorize/AArch64/extend-vectorization-factor-for-unprofitable-memops.ll b/llvm/test/Transforms/LoopVectorize/AArch64/extend-vectorization-factor-for-unprofitable-memops.ll
+index a1ca0fea7972..371d209bafff 100644
+--- a/llvm/test/Transforms/LoopVectorize/AArch64/extend-vectorization-factor-for-unprofitable-memops.ll
++++ b/llvm/test/Transforms/LoopVectorize/AArch64/extend-vectorization-factor-for-unprofitable-memops.ll
+@@ -4,12 +4,11 @@
+ ; are not profitable.
+ 
+ ; Test with a loop that contains memory accesses of i8 and i32 types. The
+-; maximum VF for NEON is calculated by 128/size of smallest type in loop.
+-; And while we don't have an instruction to  load 4 x i8, vectorization
+-; might still be profitable.
++; default maximum VF for NEON is 4. And while we don't have an instruction to
++; load 4 x i8, vectorization might still be profitable.
+ define void @test_load_i8_store_i32(i8* noalias %src, i32* noalias %dst, i32 %off, i64 %N) {
+ ; CHECK-LABEL: @test_load_i8_store_i32(
+-; CHECK:       <16 x i8>
++; CHECK:       <4 x i8>
+ ;
+ entry:
+   br label %loop
+@@ -33,7 +32,7 @@ exit:
+ ; Same as test_load_i8_store_i32, but with types flipped for load and store.
+ define void @test_load_i32_store_i8(i32* noalias %src, i8* noalias %dst, i32 %off, i64 %N) {
+ ; CHECK-LABEL: @test_load_i32_store_i8(
+-; CHECK:     <16 x i8>
++; CHECK:     <4 x i8>
+ ;
+ entry:
+   br label %loop
+@@ -85,7 +84,7 @@ exit:
+ ; vectorization factor.
+ define void @test_load_i8_store_i64_large(i8* noalias %src, i64* noalias %dst, i64* noalias %dst.2, i64* noalias %dst.3, i64* noalias %dst.4, i64* noalias %dst.5, i64%off, i64 %off.2, i64 %N) {
+ ; CHECK-LABEL: @test_load_i8_store_i64_large
+-; CHECK: <8 x i64>
++; CHECK: <2 x i64>
+ ;
+ entry:
+   br label %loop
+diff --git a/llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll b/llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
+index 28eabe382dfb..e6e43375204d 100644
+--- a/llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
++++ b/llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
+@@ -116,9 +116,9 @@ for.body:                                         ; preds = %entry, %for.body
+ }
+ 
+ ; CHECK-LABEL: @add_d(
+-; CHECK: load <8 x i16>
+-; CHECK: add nsw <8 x i32>
+-; CHECK: store <8 x i32>
++; CHECK: load <4 x i16>
++; CHECK: add nsw <4 x i32>
++; CHECK: store <4 x i32>
+ define void @add_d(i16* noalias nocapture readonly %p, i32* noalias nocapture %q, i32 %len) #0 {
+ entry:
+   %cmp7 = icmp sgt i32 %len, 0
+diff --git a/llvm/test/Transforms/LoopVectorize/AArch64/reduction-small-size.ll b/llvm/test/Transforms/LoopVectorize/AArch64/reduction-small-size.ll
+index 071255c4f4f0..a95c0aa6f375 100644
+--- a/llvm/test/Transforms/LoopVectorize/AArch64/reduction-small-size.ll
++++ b/llvm/test/Transforms/LoopVectorize/AArch64/reduction-small-size.ll
+@@ -123,16 +123,16 @@ for.body:
+ ; }
+ ;
+ ; CHECK: vector.body:
+-; CHECK:   phi <16 x i16>
+-; CHECK:   [[Ld1:%[a-zA-Z0-9.]+]] = load <16 x i8>
+-; CHECK:   zext <16 x i8> [[Ld1]] to <16 x i16>
+-; CHECK:   [[Ld2:%[a-zA-Z0-9.]+]] = load <16 x i8>
+-; CHECK:   zext <16 x i8> [[Ld2]] to <16 x i16>
+-; CHECK:   add <16 x i16>
+-; CHECK:   add <16 x i16>
++; CHECK:   phi <8 x i16>
++; CHECK:   [[Ld1:%[a-zA-Z0-9.]+]] = load <8 x i8>
++; CHECK:   zext <8 x i8> [[Ld1]] to <8 x i16>
++; CHECK:   [[Ld2:%[a-zA-Z0-9.]+]] = load <8 x i8>
++; CHECK:   zext <8 x i8> [[Ld2]] to <8 x i16>
++; CHECK:   add <8 x i16>
++; CHECK:   add <8 x i16>
+ ;
+ ; CHECK: middle.block:
+-; CHECK:   [[Rdx:%[a-zA-Z0-9.]+]] = call i16 @llvm.vector.reduce.add.v16i16(<16 x i16>
++; CHECK:   [[Rdx:%[a-zA-Z0-9.]+]] = call i16 @llvm.vector.reduce.add.v8i16(<8 x i16>
+ ; CHECK:   zext i16 [[Rdx]] to i32
+ ;
+ define i16 @reduction_i16_2(i8* nocapture readonly %a, i8* nocapture readonly %b, i32 %n) {
+diff --git a/llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll b/llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll
+index 262236075f7c..27868480c23b 100644
+--- a/llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll
++++ b/llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll
+@@ -29,7 +29,7 @@
+ ; NEOVERSE-N2: LV: Vector loop of width vscale x 4 costs: 3 (assuming a minimum vscale of 1).
+ 
+ ; VF-4: <4 x i32>
+-; VF-VSCALE4: <16 x i32>
++; VF-VSCALE4: <vscale x 4 x i32>
+ define void @test0(i32* %a, i8* %b, i32* %c) #0 {
+ entry:
+   br label %loop
+diff --git a/llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization.ll b/llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization.ll
+index d15199662be0..0e96c62e2ad0 100644
+--- a/llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization.ll
++++ b/llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization.ll
+@@ -9,9 +9,9 @@
+ define void @test0(i32* %a, i8* %b, i32* %c) #0 {
+ ; CHECK: LV: Checking a loop in 'test0'
+ ; CHECK_SCALABLE_ON: LV: Found feasible scalable VF = vscale x 4
+-; CHECK_SCALABLE_ON: LV: Selecting VF: 16
++; CHECK_SCALABLE_ON: LV: Selecting VF: vscale x 4
+ ; CHECK_SCALABLE_DISABLED-NOT: LV: Found feasible scalable VF
+-; CHECK_SCALABLE_DISABLED: LV: Selecting VF: 16
++; CHECK_SCALABLE_DISABLED: LV: Selecting VF: 4
+ ; CHECK_SCALABLE_ON_MAXBW: LV: Found feasible scalable VF = vscale x 16
+ ; CHECK_SCALABLE_ON_MAXBW: LV: Selecting VF: vscale x 16
+ entry:
+@@ -40,9 +40,9 @@ exit:
+ define void @test1(i32* %a, i8* %b) #0 {
+ ; CHECK: LV: Checking a loop in 'test1'
+ ; CHECK_SCALABLE_ON: LV: Found feasible scalable VF = vscale x 4
+-; CHECK_SCALABLE_ON: LV: Selecting VF: 16
++; CHECK_SCALABLE_ON: LV: Selecting VF: vscale x 4
+ ; CHECK_SCALABLE_DISABLED-NOT: LV: Found feasible scalable VF
+-; CHECK_SCALABLE_DISABLED: LV: Selecting VF: 16
++; CHECK_SCALABLE_DISABLED: LV: Selecting VF: 4
+ ; CHECK_SCALABLE_ON_MAXBW: LV: Found feasible scalable VF = vscale x 4
+ ; CHECK_SCALABLE_ON_MAXBW: LV: Selecting VF: 16
+ entry:
+@@ -72,9 +72,9 @@ exit:
+ define void @test2(i32* %a, i8* %b) #0 {
+ ; CHECK: LV: Checking a loop in 'test2'
+ ; CHECK_SCALABLE_ON: LV: Found feasible scalable VF = vscale x 2
+-; CHECK_SCALABLE_ON: LV: Selecting VF: 16
++; CHECK_SCALABLE_ON: LV: Selecting VF: vscale x 2
+ ; CHECK_SCALABLE_DISABLED-NOT: LV: Found feasible scalable VF
+-; CHECK_SCALABLE_DISABLED: LV: Selecting VF: 16
++; CHECK_SCALABLE_DISABLED: LV: Selecting VF: 4
+ ; CHECK_SCALABLE_ON_MAXBW: LV: Found feasible scalable VF = vscale x 2
+ ; CHECK_SCALABLE_ON_MAXBW: LV: Selecting VF: 16
+ entry:
+@@ -104,9 +104,9 @@ exit:
+ define void @test3(i32* %a, i8* %b) #0 {
+ ; CHECK: LV: Checking a loop in 'test3'
+ ; CHECK_SCALABLE_ON: LV: Found feasible scalable VF = vscale x 1
+-; CHECK_SCALABLE_ON: LV: Selecting VF: 16
++; CHECK_SCALABLE_ON: LV: Selecting VF: 4
+ ; CHECK_SCALABLE_DISABLED-NOT: LV: Found feasible scalable VF
+-; CHECK_SCALABLE_DISABLED: LV: Selecting VF: 16
++; CHECK_SCALABLE_DISABLED: LV: Selecting VF: 4
+ ; CHECK_SCALABLE_ON_MAXBW: LV: Found feasible scalable VF = vscale x 1
+ ; CHECK_SCALABLE_ON_MAXBW: LV: Selecting VF: 16
+ entry:
+diff --git a/llvm/test/Transforms/LoopVectorize/AArch64/sve-illegal-type.ll b/llvm/test/Transforms/LoopVectorize/AArch64/sve-illegal-type.ll
+index 43ef43c11507..4d0886f4d953 100644
+--- a/llvm/test/Transforms/LoopVectorize/AArch64/sve-illegal-type.ll
++++ b/llvm/test/Transforms/LoopVectorize/AArch64/sve-illegal-type.ll
+@@ -83,11 +83,11 @@ for.end:
+ define void @uniform_store_i1(i1* noalias %dst, i64* noalias %start, i64 %N) {
+ ; CHECK-LABEL: @uniform_store_i1
+ ; CHECK: vector.body
+-; CHECK: %[[GEP:.*]] = getelementptr inbounds i64, <64 x i64*> {{.*}}, i64 1
+-; CHECK: %[[ICMP:.*]] = icmp eq <64 x i64*> %[[GEP]], %[[SPLAT:.*]]
+-; CHECK: %[[EXTRACT1:.*]] = extractelement <64 x i1> %[[ICMP]], i32 0
++; CHECK: %[[GEP:.*]] = getelementptr inbounds i64, <2 x i64*> {{.*}}, i64 1
++; CHECK: %[[ICMP:.*]] = icmp eq <2 x i64*> %[[GEP]], %[[SPLAT:.*]]
++; CHECK: %[[EXTRACT1:.*]] = extractelement <2 x i1> %[[ICMP]], i32 0
+ ; CHECK: store i1 %[[EXTRACT1]], i1* %dst
+-; CHECK: %[[EXTRACT2:.*]] = extractelement <64 x i1> %[[ICMP]], i32 1
++; CHECK: %[[EXTRACT2:.*]] = extractelement <2 x i1> %[[ICMP]], i32 1
+ ; CHECK: store i1 %[[EXTRACT2]], i1* %dst
+ ; CHECK-NOT: vscale
+ entry:
diff --git a/sys-devel/llvm/files/cherry/47f4cd9c3dbfb383dd7706f20ba9eda2dd17c5b8.patch b/sys-devel/llvm/files/cherry/47f4cd9c3dbfb383dd7706f20ba9eda2dd17c5b8.patch
new file mode 100644
index 0000000..32b2cd3
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/47f4cd9c3dbfb383dd7706f20ba9eda2dd17c5b8.patch
@@ -0,0 +1,230 @@
+From 47f4cd9c3dbfb383dd7706f20ba9eda2dd17c5b8 Mon Sep 17 00:00:00 2001
+From: David Green <david.green@arm.com>
+Date: Thu, 3 Mar 2022 11:17:24 +0000
+Subject: [PATCH] [AArch64] Update costs for some fp16 converts
+
+This updates the costs for FP16 converts, as some of them were pretty
+high.
+
+Differential Revision: https://reviews.llvm.org/D120771
+---
+ .../AArch64/AArch64TargetTransformInfo.cpp    |  26 +++
+ llvm/test/Analysis/CostModel/AArch64/cast.ll  | 160 ++++++++++++------
+ 2 files changed, 133 insertions(+), 53 deletions(-)
+
+diff --git a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+index e5b530db61bd..ec360a21e0d4 100644
+--- a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
++++ b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+@@ -1608,6 +1608,32 @@ InstructionCost AArch64TTIImpl::getCastInstrCost(unsigned Opcode, Type *Dst,
+                                                  SrcTy.getSimpleVT()))
+     return AdjustCost(Entry->Cost);
+ 
++  static const TypeConversionCostTblEntry FP16Tbl[] = {
++      {ISD::FP_TO_SINT, MVT::v4i8, MVT::v4f16, 1}, // fcvtzs
++      {ISD::FP_TO_UINT, MVT::v4i8, MVT::v4f16, 1},
++      {ISD::FP_TO_SINT, MVT::v4i16, MVT::v4f16, 1}, // fcvtzs
++      {ISD::FP_TO_UINT, MVT::v4i16, MVT::v4f16, 1},
++      {ISD::FP_TO_SINT, MVT::v4i32, MVT::v4f16, 2}, // fcvtl+fcvtzs
++      {ISD::FP_TO_UINT, MVT::v4i32, MVT::v4f16, 2},
++      {ISD::FP_TO_SINT, MVT::v8i8, MVT::v8f16, 2}, // fcvtzs+xtn
++      {ISD::FP_TO_UINT, MVT::v8i8, MVT::v8f16, 2},
++      {ISD::FP_TO_SINT, MVT::v8i16, MVT::v8f16, 1}, // fcvtzs
++      {ISD::FP_TO_UINT, MVT::v8i16, MVT::v8f16, 1},
++      {ISD::FP_TO_SINT, MVT::v8i32, MVT::v8f16, 4}, // 2*fcvtl+2*fcvtzs
++      {ISD::FP_TO_UINT, MVT::v8i32, MVT::v8f16, 4},
++      {ISD::FP_TO_SINT, MVT::v16i8, MVT::v16f16, 3}, // 2*fcvtzs+xtn
++      {ISD::FP_TO_UINT, MVT::v16i8, MVT::v16f16, 3},
++      {ISD::FP_TO_SINT, MVT::v16i16, MVT::v16f16, 2}, // 2*fcvtzs
++      {ISD::FP_TO_UINT, MVT::v16i16, MVT::v16f16, 2},
++      {ISD::FP_TO_SINT, MVT::v16i32, MVT::v16f16, 8}, // 4*fcvtl+4*fcvtzs
++      {ISD::FP_TO_UINT, MVT::v16i32, MVT::v16f16, 8},
++  };
++
++  if (ST->hasFullFP16())
++    if (const auto *Entry = ConvertCostTableLookup(
++            FP16Tbl, ISD, DstTy.getSimpleVT(), SrcTy.getSimpleVT()))
++      return AdjustCost(Entry->Cost);
++
+   return AdjustCost(
+       BaseT::getCastInstrCost(Opcode, Dst, Src, CCH, CostKind, I));
+ }
+diff --git a/llvm/test/Analysis/CostModel/AArch64/cast.ll b/llvm/test/Analysis/CostModel/AArch64/cast.ll
+index 588a67136115..20515376c792 100644
+--- a/llvm/test/Analysis/CostModel/AArch64/cast.ll
++++ b/llvm/test/Analysis/CostModel/AArch64/cast.ll
+@@ -1,5 +1,6 @@
+ ; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
+-; RUN: opt -cost-model -analyze -mtriple=aarch64-none-linux-gnueabi %s | FileCheck --check-prefixes=CHECK %s
++; RUN: opt -cost-model -analyze -mtriple=aarch64-none-linux-gnueabi %s | FileCheck --check-prefixes=CHECK,CHECK-NOFP16 %s
++; RUN: opt -cost-model -analyze -mtriple=aarch64-none-linux-gnueabi -mattr=+fullfp16 %s | FileCheck --check-prefixes=CHECK,CHECK-FP16 %s
+ 
+ define void @ext() {
+ ; CHECK-LABEL: 'ext'
+@@ -1022,58 +1023,111 @@ define void @extend_extract() {
+ declare void @use(i16, i16, i32, i32, i64, i64, i32, i32, i64, i64, i64, i64)
+ 
+ define void @fp16cast() {
+-; CHECK-LABEL: 'fp16cast'
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r30 = fptoui half undef to i1
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r31 = fptosi half undef to i1
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r32 = fptoui half undef to i8
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r33 = fptosi half undef to i8
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r34 = fptoui half undef to i16
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r35 = fptosi half undef to i16
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r36 = fptoui half undef to i32
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r37 = fptosi half undef to i32
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r38 = fptoui half undef to i64
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r39 = fptosi half undef to i64
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r90 = fptoui <2 x half> undef to <2 x i1>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r91 = fptosi <2 x half> undef to <2 x i1>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r92 = fptoui <2 x half> undef to <2 x i8>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r93 = fptosi <2 x half> undef to <2 x i8>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r94 = fptoui <2 x half> undef to <2 x i16>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r95 = fptosi <2 x half> undef to <2 x i16>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r96 = fptoui <2 x half> undef to <2 x i32>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r97 = fptosi <2 x half> undef to <2 x i32>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r98 = fptoui <2 x half> undef to <2 x i64>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r99 = fptosi <2 x half> undef to <2 x i64>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r110 = fptoui <4 x half> undef to <4 x i1>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r111 = fptosi <4 x half> undef to <4 x i1>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r112 = fptoui <4 x half> undef to <4 x i8>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r113 = fptosi <4 x half> undef to <4 x i8>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r114 = fptoui <4 x half> undef to <4 x i16>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r115 = fptosi <4 x half> undef to <4 x i16>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 22 for instruction: %r116 = fptoui <4 x half> undef to <4 x i32>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 22 for instruction: %r117 = fptosi <4 x half> undef to <4 x i32>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 17 for instruction: %r118 = fptoui <4 x half> undef to <4 x i64>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 17 for instruction: %r119 = fptosi <4 x half> undef to <4 x i64>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 50 for instruction: %r130 = fptoui <8 x half> undef to <8 x i1>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 50 for instruction: %r131 = fptosi <8 x half> undef to <8 x i1>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 50 for instruction: %r132 = fptoui <8 x half> undef to <8 x i8>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 50 for instruction: %r133 = fptosi <8 x half> undef to <8 x i8>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r134 = fptoui <8 x half> undef to <8 x i16>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r135 = fptosi <8 x half> undef to <8 x i16>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 45 for instruction: %r136 = fptoui <8 x half> undef to <8 x i32>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 45 for instruction: %r137 = fptosi <8 x half> undef to <8 x i32>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 35 for instruction: %r138 = fptoui <8 x half> undef to <8 x i64>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 35 for instruction: %r139 = fptosi <8 x half> undef to <8 x i64>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 101 for instruction: %r150 = fptoui <16 x half> undef to <16 x i1>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 101 for instruction: %r151 = fptosi <16 x half> undef to <16 x i1>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 101 for instruction: %r152 = fptoui <16 x half> undef to <16 x i8>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 101 for instruction: %r153 = fptosi <16 x half> undef to <16 x i8>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r154 = fptoui <16 x half> undef to <16 x i16>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r155 = fptosi <16 x half> undef to <16 x i16>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 90 for instruction: %r156 = fptoui <16 x half> undef to <16 x i32>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 90 for instruction: %r157 = fptosi <16 x half> undef to <16 x i32>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 70 for instruction: %r158 = fptoui <16 x half> undef to <16 x i64>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 70 for instruction: %r159 = fptosi <16 x half> undef to <16 x i64>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
++; CHECK-NOFP16-LABEL: 'fp16cast'
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r30 = fptoui half undef to i1
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r31 = fptosi half undef to i1
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r32 = fptoui half undef to i8
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r33 = fptosi half undef to i8
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r34 = fptoui half undef to i16
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r35 = fptosi half undef to i16
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r36 = fptoui half undef to i32
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r37 = fptosi half undef to i32
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r38 = fptoui half undef to i64
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r39 = fptosi half undef to i64
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r90 = fptoui <2 x half> undef to <2 x i1>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r91 = fptosi <2 x half> undef to <2 x i1>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r92 = fptoui <2 x half> undef to <2 x i8>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r93 = fptosi <2 x half> undef to <2 x i8>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r94 = fptoui <2 x half> undef to <2 x i16>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r95 = fptosi <2 x half> undef to <2 x i16>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r96 = fptoui <2 x half> undef to <2 x i32>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r97 = fptosi <2 x half> undef to <2 x i32>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r98 = fptoui <2 x half> undef to <2 x i64>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r99 = fptosi <2 x half> undef to <2 x i64>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r110 = fptoui <4 x half> undef to <4 x i1>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r111 = fptosi <4 x half> undef to <4 x i1>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r112 = fptoui <4 x half> undef to <4 x i8>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r113 = fptosi <4 x half> undef to <4 x i8>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r114 = fptoui <4 x half> undef to <4 x i16>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r115 = fptosi <4 x half> undef to <4 x i16>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 22 for instruction: %r116 = fptoui <4 x half> undef to <4 x i32>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 22 for instruction: %r117 = fptosi <4 x half> undef to <4 x i32>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 17 for instruction: %r118 = fptoui <4 x half> undef to <4 x i64>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 17 for instruction: %r119 = fptosi <4 x half> undef to <4 x i64>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 50 for instruction: %r130 = fptoui <8 x half> undef to <8 x i1>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 50 for instruction: %r131 = fptosi <8 x half> undef to <8 x i1>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 50 for instruction: %r132 = fptoui <8 x half> undef to <8 x i8>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 50 for instruction: %r133 = fptosi <8 x half> undef to <8 x i8>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r134 = fptoui <8 x half> undef to <8 x i16>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r135 = fptosi <8 x half> undef to <8 x i16>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 45 for instruction: %r136 = fptoui <8 x half> undef to <8 x i32>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 45 for instruction: %r137 = fptosi <8 x half> undef to <8 x i32>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 35 for instruction: %r138 = fptoui <8 x half> undef to <8 x i64>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 35 for instruction: %r139 = fptosi <8 x half> undef to <8 x i64>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 101 for instruction: %r150 = fptoui <16 x half> undef to <16 x i1>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 101 for instruction: %r151 = fptosi <16 x half> undef to <16 x i1>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 101 for instruction: %r152 = fptoui <16 x half> undef to <16 x i8>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 101 for instruction: %r153 = fptosi <16 x half> undef to <16 x i8>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r154 = fptoui <16 x half> undef to <16 x i16>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r155 = fptosi <16 x half> undef to <16 x i16>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 90 for instruction: %r156 = fptoui <16 x half> undef to <16 x i32>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 90 for instruction: %r157 = fptosi <16 x half> undef to <16 x i32>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 70 for instruction: %r158 = fptoui <16 x half> undef to <16 x i64>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 70 for instruction: %r159 = fptosi <16 x half> undef to <16 x i64>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
++;
++; CHECK-FP16-LABEL: 'fp16cast'
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r30 = fptoui half undef to i1
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r31 = fptosi half undef to i1
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r32 = fptoui half undef to i8
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r33 = fptosi half undef to i8
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r34 = fptoui half undef to i16
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r35 = fptosi half undef to i16
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r36 = fptoui half undef to i32
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r37 = fptosi half undef to i32
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r38 = fptoui half undef to i64
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r39 = fptosi half undef to i64
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r90 = fptoui <2 x half> undef to <2 x i1>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r91 = fptosi <2 x half> undef to <2 x i1>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r92 = fptoui <2 x half> undef to <2 x i8>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r93 = fptosi <2 x half> undef to <2 x i8>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r94 = fptoui <2 x half> undef to <2 x i16>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r95 = fptosi <2 x half> undef to <2 x i16>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r96 = fptoui <2 x half> undef to <2 x i32>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r97 = fptosi <2 x half> undef to <2 x i32>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r98 = fptoui <2 x half> undef to <2 x i64>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r99 = fptosi <2 x half> undef to <2 x i64>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r110 = fptoui <4 x half> undef to <4 x i1>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r111 = fptosi <4 x half> undef to <4 x i1>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r112 = fptoui <4 x half> undef to <4 x i8>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r113 = fptosi <4 x half> undef to <4 x i8>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r114 = fptoui <4 x half> undef to <4 x i16>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r115 = fptosi <4 x half> undef to <4 x i16>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r116 = fptoui <4 x half> undef to <4 x i32>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r117 = fptosi <4 x half> undef to <4 x i32>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 17 for instruction: %r118 = fptoui <4 x half> undef to <4 x i64>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 17 for instruction: %r119 = fptosi <4 x half> undef to <4 x i64>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 50 for instruction: %r130 = fptoui <8 x half> undef to <8 x i1>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 50 for instruction: %r131 = fptosi <8 x half> undef to <8 x i1>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r132 = fptoui <8 x half> undef to <8 x i8>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r133 = fptosi <8 x half> undef to <8 x i8>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r134 = fptoui <8 x half> undef to <8 x i16>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r135 = fptosi <8 x half> undef to <8 x i16>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r136 = fptoui <8 x half> undef to <8 x i32>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r137 = fptosi <8 x half> undef to <8 x i32>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 35 for instruction: %r138 = fptoui <8 x half> undef to <8 x i64>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 35 for instruction: %r139 = fptosi <8 x half> undef to <8 x i64>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 101 for instruction: %r150 = fptoui <16 x half> undef to <16 x i1>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 101 for instruction: %r151 = fptosi <16 x half> undef to <16 x i1>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r152 = fptoui <16 x half> undef to <16 x i8>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r153 = fptosi <16 x half> undef to <16 x i8>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r154 = fptoui <16 x half> undef to <16 x i16>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r155 = fptosi <16 x half> undef to <16 x i16>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r156 = fptoui <16 x half> undef to <16 x i32>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r157 = fptosi <16 x half> undef to <16 x i32>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 70 for instruction: %r158 = fptoui <16 x half> undef to <16 x i64>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 70 for instruction: %r159 = fptosi <16 x half> undef to <16 x i64>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
+ ;
+   %r30 = fptoui half undef to i1
+   %r31 = fptosi half undef to i1
+-- 
+2.36.0.rc0.470.gd361397f0d-goog
+
diff --git a/sys-devel/llvm/files/cherry/60f57b36587c99175cb380406e2502a592a0c400.patch b/sys-devel/llvm/files/cherry/60f57b36587c99175cb380406e2502a592a0c400.patch
new file mode 100644
index 0000000..c2448cb
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/60f57b36587c99175cb380406e2502a592a0c400.patch
@@ -0,0 +1,103 @@
+From 60f57b36587c99175cb380406e2502a592a0c400 Mon Sep 17 00:00:00 2001
+From: David Green <david.green@arm.com>
+Date: Tue, 29 Mar 2022 10:12:44 +0100
+Subject: [PATCH] [AArch64] Ensure fixed point fptoi_sat has correct saturation
+ width
+
+D113200 introduced an error where it was converting FP_TO_SI_SAT with
+multiply to a fixed point floating point convert. The saturation
+bitwidth needs to be equal to the floating point width, or else the
+routine would truncate the result as opposed to saturating it.
+
+Fixes #54601
+---
+ .../Target/AArch64/AArch64ISelLowering.cpp    |  2 +-
+ llvm/test/CodeGen/AArch64/fcvt_combine.ll     | 31 ++++++++++++++++---
+ 2 files changed, 28 insertions(+), 5 deletions(-)
+
+diff --git a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+index 30b9b6096620..38079a191f72 100644
+--- a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
++++ b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+@@ -13973,7 +13973,7 @@ static SDValue performFpToIntCombine(SDNode *N, SelectionDAG &DAG,
+   if (N->getOpcode() == ISD::FP_TO_SINT_SAT ||
+       N->getOpcode() == ISD::FP_TO_UINT_SAT) {
+     EVT SatVT = cast<VTSDNode>(N->getOperand(1))->getVT();
+-    if (SatVT.getScalarSizeInBits() != IntBits)
++    if (SatVT.getScalarSizeInBits() != IntBits || IntBits != FloatBits)
+       return SDValue();
+   }
+ 
+diff --git a/llvm/test/CodeGen/AArch64/fcvt_combine.ll b/llvm/test/CodeGen/AArch64/fcvt_combine.ll
+index 24713c444024..67af07e05ab0 100644
+--- a/llvm/test/CodeGen/AArch64/fcvt_combine.ll
++++ b/llvm/test/CodeGen/AArch64/fcvt_combine.ll
+@@ -285,6 +285,7 @@ declare <2 x i32> @llvm.fptosi.sat.v2i32.v2f64(<2 x double>)
+ declare <2 x i64> @llvm.fptosi.sat.v2i64.v2f64(<2 x double>)
+ declare <4 x i32> @llvm.fptosi.sat.v4i32.v4f32(<4 x float>)
+ declare <2 x i16> @llvm.fptosi.sat.v2i16.v2f32(<2 x float>)
++declare <4 x i16> @llvm.fptosi.sat.v4i16.v4f32(<4 x float>)
+ declare <2 x i64> @llvm.fptosi.sat.v2i64.v2f32(<2 x float>)
+ declare <3 x i32> @llvm.fptosi.sat.v3i32.v3f32(<3 x float>)
+ declare <8 x i16> @llvm.fptosi.sat.v8i16.v8f16(<8 x half>)
+@@ -326,8 +327,14 @@ define <2 x i64> @test3_sat(<2 x double> %d) {
+ define <2 x i32> @test4_sat(<2 x double> %d) {
+ ; CHECK-LABEL: test4_sat:
+ ; CHECK:       // %bb.0:
+-; CHECK-NEXT:    fcvtzs v0.2d, v0.2d, #4
+-; CHECK-NEXT:    xtn v0.2s, v0.2d
++; CHECK-NEXT:    fmov v1.2d, #16.00000000
++; CHECK-NEXT:    fmul v0.2d, v0.2d, v1.2d
++; CHECK-NEXT:    mov d1, v0.d[1]
++; CHECK-NEXT:    fcvtzs w8, d0
++; CHECK-NEXT:    fmov s0, w8
++; CHECK-NEXT:    fcvtzs w8, d1
++; CHECK-NEXT:    mov v0.s[1], w8
++; CHECK-NEXT:    // kill: def $d0 killed $d0 killed $q0
+ ; CHECK-NEXT:    ret
+   %mul.i = fmul <2 x double> %d, <double 16.000000e+00, double 16.000000e+00>
+   %vcvt.i = call <2 x i32> @llvm.fptosi.sat.v2i32.v2f64(<2 x double> %mul.i)
+@@ -338,13 +345,29 @@ define <2 x i32> @test4_sat(<2 x double> %d) {
+ define <2 x i16> @test5_sat(<2 x float> %f) {
+ ; CHECK-LABEL: test5_sat:
+ ; CHECK:       // %bb.0:
++; CHECK-NEXT:    movi v1.2s, #127, msl #8
+ ; CHECK-NEXT:    fcvtzs v0.2s, v0.2s, #4
++; CHECK-NEXT:    smin v0.2s, v0.2s, v1.2s
++; CHECK-NEXT:    mvni v1.2s, #127, msl #8
++; CHECK-NEXT:    smax v0.2s, v0.2s, v1.2s
+ ; CHECK-NEXT:    ret
+   %mul.i = fmul <2 x float> %f, <float 16.000000e+00, float 16.000000e+00>
+   %vcvt.i = call <2 x i16> @llvm.fptosi.sat.v2i16.v2f32(<2 x float> %mul.i)
+   ret <2 x i16> %vcvt.i
+ }
+ 
++; Truncate float to i16
++define <4 x i16> @test5l_sat(<4 x float> %f) {
++; CHECK-LABEL: test5l_sat:
++; CHECK:       // %bb.0:
++; CHECK-NEXT:    fcvtzs v0.4s, v0.4s, #4
++; CHECK-NEXT:    sqxtn v0.4h, v0.4s
++; CHECK-NEXT:    ret
++  %mul.i = fmul <4 x float> %f, <float 16.000000e+00, float 16.000000e+00, float 16.000000e+00, float 16.000000e+00>
++  %vcvt.i = call <4 x i16> @llvm.fptosi.sat.v4i16.v4f32(<4 x float> %mul.i)
++  ret <4 x i16> %vcvt.i
++}
++
+ ; Don't convert float to i64
+ define <2 x i64> @test6_sat(<2 x float> %f) {
+ ; CHECK-LABEL: test6_sat:
+@@ -389,8 +412,8 @@ define <2 x i32> @test8_sat(<2 x float> %f) {
+ define <2 x i32> @test9_sat(<2 x float> %f) {
+ ; CHECK-LABEL: test9_sat:
+ ; CHECK:       // %bb.0:
+-; CHECK-NEXT:    adrp x8, .LCPI26_0
+-; CHECK-NEXT:    ldr d1, [x8, :lo12:.LCPI26_0]
++; CHECK-NEXT:    adrp x8, .LCPI27_0
++; CHECK-NEXT:    ldr d1, [x8, :lo12:.LCPI27_0]
+ ; CHECK-NEXT:    fmul v0.2s, v0.2s, v1.2s
+ ; CHECK-NEXT:    fcvtzu v0.2s, v0.2s
+ ; CHECK-NEXT:    ret
+-- 
+2.35.1.1021.g381101b075-goog
+
diff --git a/sys-devel/llvm/files/cherry/697f55e36823dbd91ca94a666d99f3c4ba11cacb.patch b/sys-devel/llvm/files/cherry/697f55e36823dbd91ca94a666d99f3c4ba11cacb.patch
new file mode 100644
index 0000000..89f256f
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/697f55e36823dbd91ca94a666d99f3c4ba11cacb.patch
@@ -0,0 +1,156 @@
+From 697f55e36823dbd91ca94a666d99f3c4ba11cacb Mon Sep 17 00:00:00 2001
+From: Florian Hahn <flo@fhahn.com>
+Date: Thu, 10 Mar 2022 12:22:05 +0000
+Subject: [PATCH] [AArch64] Move fp16 cast tests.
+
+Move FP16 tests to fp16cast function, as suggested in D113700.
+---
+ llvm/test/Analysis/CostModel/AArch64/cast.ll | 104 +++++++++++--------
+ 1 file changed, 62 insertions(+), 42 deletions(-)
+
+diff --git a/llvm/test/Analysis/CostModel/AArch64/cast.ll b/llvm/test/Analysis/CostModel/AArch64/cast.ll
+index 60ec2e4d0e66..48fd3e948d3f 100644
+--- a/llvm/test/Analysis/CostModel/AArch64/cast.ll
++++ b/llvm/test/Analysis/CostModel/AArch64/cast.ll
+@@ -440,26 +440,6 @@ define i32 @casts_no_users() {
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 38 for instruction: %r247 = sitofp <16 x i16> undef to <16 x double>
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r248 = uitofp <16 x i64> undef to <16 x double>
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r249 = sitofp <16 x i64> undef to <16 x double>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r250 = uitofp <8 x i1> undef to <8 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r251 = sitofp <8 x i1> undef to <8 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r252 = uitofp <8 x i8> undef to <8 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r253 = sitofp <8 x i8> undef to <8 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r254 = uitofp <8 x i16> undef to <8 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r255 = sitofp <8 x i16> undef to <8 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r256 = uitofp <8 x i32> undef to <8 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r257 = sitofp <8 x i32> undef to <8 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %r258 = uitofp <8 x i64> undef to <8 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %r259 = sitofp <8 x i64> undef to <8 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r260 = uitofp <16 x i1> undef to <16 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r261 = sitofp <16 x i1> undef to <16 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r262 = uitofp <16 x i8> undef to <16 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r263 = sitofp <16 x i8> undef to <16 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r264 = uitofp <16 x i16> undef to <16 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r265 = sitofp <16 x i16> undef to <16 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %r266 = uitofp <16 x i32> undef to <16 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %r267 = sitofp <16 x i32> undef to <16 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 14 for instruction: %r268 = uitofp <16 x i64> undef to <16 x half>
+-; CHECK-NEXT:  Cost Model: Found an estimated cost of 14 for instruction: %r269 = sitofp <16 x i64> undef to <16 x half>
+ ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
+ ;
+   %r30 = fptoui float undef to i1
+@@ -687,28 +667,6 @@ define i32 @casts_no_users() {
+   %r248 = uitofp <16 x i64> undef to <16 x double>
+   %r249 = sitofp <16 x i64> undef to <16 x double>
+ 
+-  %r250 = uitofp <8 x i1> undef to <8 x half>
+-  %r251 = sitofp <8 x i1> undef to <8 x half>
+-  %r252 = uitofp <8 x i8> undef to <8 x half>
+-  %r253 = sitofp <8 x i8> undef to <8 x half>
+-  %r254 = uitofp <8 x i16> undef to <8 x half>
+-  %r255 = sitofp <8 x i16> undef to <8 x half>
+-  %r256 = uitofp <8 x i32> undef to <8 x half>
+-  %r257 = sitofp <8 x i32> undef to <8 x half>
+-  %r258 = uitofp <8 x i64> undef to <8 x half>
+-  %r259 = sitofp <8 x i64> undef to <8 x half>
+-
+-  %r260 = uitofp <16 x i1> undef to <16 x half>
+-  %r261 = sitofp <16 x i1> undef to <16 x half>
+-  %r262 = uitofp <16 x i8> undef to <16 x half>
+-  %r263 = sitofp <16 x i8> undef to <16 x half>
+-  %r264 = uitofp <16 x i16> undef to <16 x half>
+-  %r265 = sitofp <16 x i16> undef to <16 x half>
+-  %r266 = uitofp <16 x i32> undef to <16 x half>
+-  %r267 = sitofp <16 x i32> undef to <16 x half>
+-  %r268 = uitofp <16 x i64> undef to <16 x half>
+-  %r269 = sitofp <16 x i64> undef to <16 x half>
+-
+   ret i32 undef
+ }
+ 
+@@ -1074,6 +1032,26 @@ define void @fp16cast() {
+ ; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 90 for instruction: %r157 = fptosi <16 x half> undef to <16 x i32>
+ ; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 70 for instruction: %r158 = fptoui <16 x half> undef to <16 x i64>
+ ; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 70 for instruction: %r159 = fptosi <16 x half> undef to <16 x i64>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r250 = uitofp <8 x i1> undef to <8 x half>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r251 = sitofp <8 x i1> undef to <8 x half>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r252 = uitofp <8 x i8> undef to <8 x half>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r253 = sitofp <8 x i8> undef to <8 x half>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r254 = uitofp <8 x i16> undef to <8 x half>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r255 = sitofp <8 x i16> undef to <8 x half>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r256 = uitofp <8 x i32> undef to <8 x half>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r257 = sitofp <8 x i32> undef to <8 x half>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %r258 = uitofp <8 x i64> undef to <8 x half>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %r259 = sitofp <8 x i64> undef to <8 x half>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r260 = uitofp <16 x i1> undef to <16 x half>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r261 = sitofp <16 x i1> undef to <16 x half>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r262 = uitofp <16 x i8> undef to <16 x half>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r263 = sitofp <16 x i8> undef to <16 x half>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r264 = uitofp <16 x i16> undef to <16 x half>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r265 = sitofp <16 x i16> undef to <16 x half>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %r266 = uitofp <16 x i32> undef to <16 x half>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %r267 = sitofp <16 x i32> undef to <16 x half>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 14 for instruction: %r268 = uitofp <16 x i64> undef to <16 x half>
++; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 14 for instruction: %r269 = sitofp <16 x i64> undef to <16 x half>
+ ; CHECK-NOFP16-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
+ ;
+ ; CHECK-FP16-LABEL: 'fp16cast'
+@@ -1127,6 +1105,26 @@ define void @fp16cast() {
+ ; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r157 = fptosi <16 x half> undef to <16 x i32>
+ ; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 70 for instruction: %r158 = fptoui <16 x half> undef to <16 x i64>
+ ; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 70 for instruction: %r159 = fptosi <16 x half> undef to <16 x i64>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r250 = uitofp <8 x i1> undef to <8 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r251 = sitofp <8 x i1> undef to <8 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r252 = uitofp <8 x i8> undef to <8 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r253 = sitofp <8 x i8> undef to <8 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r254 = uitofp <8 x i16> undef to <8 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r255 = sitofp <8 x i16> undef to <8 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r256 = uitofp <8 x i32> undef to <8 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r257 = sitofp <8 x i32> undef to <8 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %r258 = uitofp <8 x i64> undef to <8 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %r259 = sitofp <8 x i64> undef to <8 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r260 = uitofp <16 x i1> undef to <16 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r261 = sitofp <16 x i1> undef to <16 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r262 = uitofp <16 x i8> undef to <16 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r263 = sitofp <16 x i8> undef to <16 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r264 = uitofp <16 x i16> undef to <16 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r265 = sitofp <16 x i16> undef to <16 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %r266 = uitofp <16 x i32> undef to <16 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %r267 = sitofp <16 x i32> undef to <16 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 14 for instruction: %r268 = uitofp <16 x i64> undef to <16 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 14 for instruction: %r269 = sitofp <16 x i64> undef to <16 x half>
+ ; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
+ ;
+   %r30 = fptoui half undef to i1
+@@ -1183,6 +1181,28 @@ define void @fp16cast() {
+   %r157 = fptosi <16 x half> undef to <16 x i32>
+   %r158 = fptoui <16 x half> undef to <16 x i64>
+   %r159 = fptosi <16 x half> undef to <16 x i64>
++
++  %r250 = uitofp <8 x i1> undef to <8 x half>
++  %r251 = sitofp <8 x i1> undef to <8 x half>
++  %r252 = uitofp <8 x i8> undef to <8 x half>
++  %r253 = sitofp <8 x i8> undef to <8 x half>
++  %r254 = uitofp <8 x i16> undef to <8 x half>
++  %r255 = sitofp <8 x i16> undef to <8 x half>
++  %r256 = uitofp <8 x i32> undef to <8 x half>
++  %r257 = sitofp <8 x i32> undef to <8 x half>
++  %r258 = uitofp <8 x i64> undef to <8 x half>
++  %r259 = sitofp <8 x i64> undef to <8 x half>
++
++  %r260 = uitofp <16 x i1> undef to <16 x half>
++  %r261 = sitofp <16 x i1> undef to <16 x half>
++  %r262 = uitofp <16 x i8> undef to <16 x half>
++  %r263 = sitofp <16 x i8> undef to <16 x half>
++  %r264 = uitofp <16 x i16> undef to <16 x half>
++  %r265 = sitofp <16 x i16> undef to <16 x half>
++  %r266 = uitofp <16 x i32> undef to <16 x half>
++  %r267 = sitofp <16 x i32> undef to <16 x half>
++  %r268 = uitofp <16 x i64> undef to <16 x half>
++  %r269 = sitofp <16 x i64> undef to <16 x half>
+   ret void
+ }
+ 
+-- 
+2.36.0.rc0.470.gd361397f0d-goog
+
diff --git a/sys-devel/llvm/files/cherry/795b07f5498c7e5783237418f34d7ea69e801f87.patch b/sys-devel/llvm/files/cherry/795b07f5498c7e5783237418f34d7ea69e801f87.patch
new file mode 100644
index 0000000..7073319
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/795b07f5498c7e5783237418f34d7ea69e801f87.patch
@@ -0,0 +1,84 @@
+From 795b07f5498c7e5783237418f34d7ea69e801f87 Mon Sep 17 00:00:00 2001
+From: Michael Forney <mforney@mforney.org>
+Date: Thu, 7 Apr 2022 22:35:24 -0700
+Subject: [PATCH] [asan] Always skip first object from dl_iterate_phdr
+
+All platforms return the main executable as the first dl_phdr_info.
+FreeBSD, NetBSD, Solaris, and Linux-musl place the executable name
+in the dlpi_name field of this entry. It appears that only Linux-glibc
+uses the empty string.
+
+To make this work generically on all platforms, unconditionally
+skip the first object (like is currently done for FreeBSD and NetBSD).
+This fixes first DSO detection on Linux-musl. It also would likely
+fix detection on Solaris/Illumos if it were to gain PIE support
+(since dlpi_addr would not be NULL).
+
+Additionally, only skip the Linux VDSO on linux.
+
+Finally, use the empty string as the "seen first dl_phdr_info"
+marker rather than (char *)-1. If there was no other object, we
+would try to dereference it for a string comparison.
+
+Reviewed By: MaskRay, vitalybuka
+
+Differential Revision: https://reviews.llvm.org/D119515
+---
+ compiler-rt/lib/asan/asan_linux.cpp | 30 ++++++++++++-----------------
+ 1 file changed, 12 insertions(+), 18 deletions(-)
+
+diff --git a/compiler-rt/lib/asan/asan_linux.cpp b/compiler-rt/lib/asan/asan_linux.cpp
+index 1d92c530bd110..defd81bc19e22 100644
+--- a/compiler-rt/lib/asan/asan_linux.cpp
++++ b/compiler-rt/lib/asan/asan_linux.cpp
+@@ -131,30 +131,24 @@ static int FindFirstDSOCallback(struct dl_phdr_info *info, size_t size,
+   VReport(2, "info->dlpi_name = %s\tinfo->dlpi_addr = %p\n", info->dlpi_name,
+           (void *)info->dlpi_addr);
+ 
+-  // Continue until the first dynamic library is found
+-  if (!info->dlpi_name || info->dlpi_name[0] == 0)
+-    return 0;
+-
+-  // Ignore vDSO
+-  if (internal_strncmp(info->dlpi_name, "linux-", sizeof("linux-") - 1) == 0)
+-    return 0;
++  const char **name = (const char **)data;
+ 
+-#if SANITIZER_FREEBSD || SANITIZER_NETBSD
+   // Ignore first entry (the main program)
+-  char **p = (char **)data;
+-  if (!(*p)) {
+-    *p = (char *)-1;
++  if (!*name) {
++    *name = "";
+     return 0;
+   }
+-#endif
+ 
+-#if SANITIZER_SOLARIS
+-  // Ignore executable on Solaris
+-  if (info->dlpi_addr == 0)
++#    if SANITIZER_LINUX
++  // Ignore vDSO. glibc versions earlier than 2.15 (and some patched
++  // by distributors) return an empty name for the vDSO entry, so
++  // detect this as well.
++  if (!info->dlpi_name[0] ||
++      internal_strncmp(info->dlpi_name, "linux-", sizeof("linux-") - 1) == 0)
+     return 0;
+-#endif
++#    endif
+ 
+-  *(const char **)data = info->dlpi_name;
++  *name = info->dlpi_name;
+   return 1;
+ }
+ 
+@@ -175,7 +169,7 @@ void AsanCheckDynamicRTPrereqs() {
+   // Ensure that dynamic RT is the first DSO in the list
+   const char *first_dso_name = nullptr;
+   dl_iterate_phdr(FindFirstDSOCallback, &first_dso_name);
+-  if (first_dso_name && !IsDynamicRTName(first_dso_name)) {
++  if (first_dso_name && first_dso_name[0] && !IsDynamicRTName(first_dso_name)) {
+     Report("ASan runtime does not come first in initial library list; "
+            "you should either link runtime to your application or "
+            "manually preload it with LD_PRELOAD.\n");
diff --git a/sys-devel/llvm/files/cherry/7b03725097872fbd3369a7213c1d98b372aa2d78.patch b/sys-devel/llvm/files/cherry/7b03725097872fbd3369a7213c1d98b372aa2d78.patch
new file mode 100644
index 0000000..a6205db
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/7b03725097872fbd3369a7213c1d98b372aa2d78.patch
@@ -0,0 +1,1633 @@
+commit 7b03725097872fbd3369a7213c1d98b372aa2d78
+Author: Sanjay Patel <spatel@rotateright.com>
+Date:   Fri Feb 4 07:45:57 2022 -0500
+
+    Revert "[x86] try harder to scalarize a vector load with extracted integer op uses"
+    
+    This reverts commit b4b97ec813a02585000f30ac7d532dda74e8bfda.
+    
+    As discussed in post-commit feedback at:
+    https://reviews.llvm.org/D118376
+    ...there's a stage 2 failure on a Mac running a clang-refactor tool test.
+
+diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
+index 1d927d59d1ae..04b5984ce424 100644
+--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
++++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
+@@ -43106,38 +43106,6 @@ static SDValue combineExtractVectorElt(SDNode *N, SelectionDAG &DAG,
+     }
+   }
+ 
+-  // If this extract is from a loaded vector value and will be used as an
+-  // integer, that requires a potentially expensive XMM -> GPR transfer.
+-  // Additionally, if we can convert to a scalar integer load, that will likely
+-  // be folded into a subsequent integer op.
+-  // Note: Unlike the related fold for this in DAGCombiner, this is not limited
+-  //       to a single-use of the loaded vector. For the reasons above, we
+-  //       expect this to be profitable even if it creates an extra load.
+-  bool LikelyUsedAsVector = any_of(N->uses(), [](SDNode *Use) {
+-    return Use->getOpcode() == ISD::STORE ||
+-           Use->getOpcode() == ISD::INSERT_VECTOR_ELT ||
+-           Use->getOpcode() == ISD::SCALAR_TO_VECTOR;
+-  });
+-  auto *LoadVec = dyn_cast<LoadSDNode>(InputVector);
+-  if (LoadVec && CIdx && ISD::isNormalLoad(LoadVec) && VT.isInteger() &&
+-      SrcVT.getVectorElementType() == VT && DCI.isAfterLegalizeDAG() &&
+-      !LikelyUsedAsVector) {
+-    const TargetLowering &TLI = DAG.getTargetLoweringInfo();
+-    SDValue NewPtr =
+-        TLI.getVectorElementPointer(DAG, LoadVec->getBasePtr(), SrcVT, EltIdx);
+-    unsigned PtrOff = VT.getSizeInBits() * CIdx->getZExtValue() / 8;
+-    MachinePointerInfo MPI = LoadVec->getPointerInfo().getWithOffset(PtrOff);
+-    Align Alignment = commonAlignment(LoadVec->getAlign(), PtrOff);
+-    SDValue Load =
+-        DAG.getLoad(VT, dl, LoadVec->getChain(), NewPtr, MPI, Alignment,
+-                    LoadVec->getMemOperand()->getFlags(), LoadVec->getAAInfo());
+-    SDValue Chain = Load.getValue(1);
+-    SDValue From[] = {SDValue(N, 0), SDValue(LoadVec, 1)};
+-    SDValue To[] = {Load, Chain};
+-    DAG.ReplaceAllUsesOfValuesWith(From, To, 2);
+-    return SDValue(N, 0);
+-  }
+-
+   return SDValue();
+ }
+ 
+diff --git a/llvm/test/CodeGen/X86/2011-12-26-extractelement-duplicate-load.ll b/llvm/test/CodeGen/X86/2011-12-26-extractelement-duplicate-load.ll
+index 5fb01b8c1b99..ad52d58bde1c 100644
+--- a/llvm/test/CodeGen/X86/2011-12-26-extractelement-duplicate-load.ll
++++ b/llvm/test/CodeGen/X86/2011-12-26-extractelement-duplicate-load.ll
+@@ -10,13 +10,13 @@
+ define <4 x i32> @test(<4 x i32>* %p) {
+ ; CHECK-LABEL: test:
+ ; CHECK:       # %bb.0:
+-; CHECK-NEXT:    cmpl $3, 8(%rdi)
+-; CHECK-NEXT:    je .LBB0_1
+-; CHECK-NEXT:  # %bb.2:
+-; CHECK-NEXT:    xorps %xmm0, %xmm0
+-; CHECK-NEXT:    retq
+-; CHECK-NEXT:  .LBB0_1:
+ ; CHECK-NEXT:    movaps (%rdi), %xmm0
++; CHECK-NEXT:    extractps $2, %xmm0, %eax
++; CHECK-NEXT:    cmpl $3, %eax
++; CHECK-NEXT:    je .LBB0_2
++; CHECK-NEXT:  # %bb.1:
++; CHECK-NEXT:    xorps %xmm0, %xmm0
++; CHECK-NEXT:  .LBB0_2:
+ ; CHECK-NEXT:    retq
+   %v = load <4 x i32>, <4 x i32>* %p
+   %e = extractelement <4 x i32> %v, i32 2
+diff --git a/llvm/test/CodeGen/X86/avx512-cvt.ll b/llvm/test/CodeGen/X86/avx512-cvt.ll
+index f632db7160e6..5d7940b2fa7c 100644
+--- a/llvm/test/CodeGen/X86/avx512-cvt.ll
++++ b/llvm/test/CodeGen/X86/avx512-cvt.ll
+@@ -148,12 +148,18 @@ define <2 x float> @sltof2f32(<2 x i64> %a) {
+ define <4 x float> @slto4f32_mem(<4 x i64>* %a) {
+ ; NODQ-LABEL: slto4f32_mem:
+ ; NODQ:       # %bb.0:
+-; NODQ-NEXT:    vcvtsi2ssq 8(%rdi), %xmm0, %xmm0
+-; NODQ-NEXT:    vcvtsi2ssq (%rdi), %xmm1, %xmm1
+-; NODQ-NEXT:    vinsertps {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[2,3]
+-; NODQ-NEXT:    vcvtsi2ssq 16(%rdi), %xmm2, %xmm1
+-; NODQ-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm1[0],xmm0[3]
+-; NODQ-NEXT:    vcvtsi2ssq 24(%rdi), %xmm2, %xmm1
++; NODQ-NEXT:    vmovdqu (%rdi), %xmm0
++; NODQ-NEXT:    vmovdqu 16(%rdi), %xmm1
++; NODQ-NEXT:    vpextrq $1, %xmm0, %rax
++; NODQ-NEXT:    vcvtsi2ss %rax, %xmm2, %xmm2
++; NODQ-NEXT:    vmovq %xmm0, %rax
++; NODQ-NEXT:    vcvtsi2ss %rax, %xmm3, %xmm0
++; NODQ-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[2,3]
++; NODQ-NEXT:    vmovq %xmm1, %rax
++; NODQ-NEXT:    vcvtsi2ss %rax, %xmm3, %xmm2
++; NODQ-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm2[0],xmm0[3]
++; NODQ-NEXT:    vpextrq $1, %xmm1, %rax
++; NODQ-NEXT:    vcvtsi2ss %rax, %xmm3, %xmm1
+ ; NODQ-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[0]
+ ; NODQ-NEXT:    retq
+ ;
+diff --git a/llvm/test/CodeGen/X86/bitcast-vector-bool.ll b/llvm/test/CodeGen/X86/bitcast-vector-bool.ll
+index a47dbe570fd5..bf3ffecb414f 100644
+--- a/llvm/test/CodeGen/X86/bitcast-vector-bool.ll
++++ b/llvm/test/CodeGen/X86/bitcast-vector-bool.ll
+@@ -542,8 +542,10 @@ define i32 @bitcast_v64i8_to_v2i32(<64 x i8> %a0) nounwind {
+ ; AVX512:       # %bb.0:
+ ; AVX512-NEXT:    vpmovb2m %zmm0, %k0
+ ; AVX512-NEXT:    kmovq %k0, -{{[0-9]+}}(%rsp)
+-; AVX512-NEXT:    movl -{{[0-9]+}}(%rsp), %eax
+-; AVX512-NEXT:    addl -{{[0-9]+}}(%rsp), %eax
++; AVX512-NEXT:    vmovdqa -{{[0-9]+}}(%rsp), %xmm0
++; AVX512-NEXT:    vmovd %xmm0, %ecx
++; AVX512-NEXT:    vpextrd $1, %xmm0, %eax
++; AVX512-NEXT:    addl %ecx, %eax
+ ; AVX512-NEXT:    vzeroupper
+ ; AVX512-NEXT:    retq
+   %1 = icmp slt <64 x i8> %a0, zeroinitializer
+diff --git a/llvm/test/CodeGen/X86/extractelement-load.ll b/llvm/test/CodeGen/X86/extractelement-load.ll
+index c0c32eb3cfce..2a7ed3a8b4e7 100644
+--- a/llvm/test/CodeGen/X86/extractelement-load.ll
++++ b/llvm/test/CodeGen/X86/extractelement-load.ll
+@@ -301,35 +301,33 @@ define void @subextract_broadcast_load_constant(<2 x i16>* nocapture %0, i16* no
+   ret void
+ }
+ 
+-; A scalar load is favored over a XMM->GPR register transfer in this example.
+-
+ define i32 @multi_use_load_scalarization(<4 x i32>* %p) {
+ ; X32-SSE2-LABEL: multi_use_load_scalarization:
+ ; X32-SSE2:       # %bb.0:
+ ; X32-SSE2-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+-; X32-SSE2-NEXT:    movl (%ecx), %eax
+ ; X32-SSE2-NEXT:    movdqu (%ecx), %xmm0
+ ; X32-SSE2-NEXT:    pcmpeqd %xmm1, %xmm1
++; X32-SSE2-NEXT:    movd %xmm0, %eax
+ ; X32-SSE2-NEXT:    psubd %xmm1, %xmm0
+ ; X32-SSE2-NEXT:    movdqa %xmm0, (%ecx)
+ ; X32-SSE2-NEXT:    retl
+ ;
+ ; X64-SSSE3-LABEL: multi_use_load_scalarization:
+ ; X64-SSSE3:       # %bb.0:
+-; X64-SSSE3-NEXT:    movl (%rdi), %eax
+ ; X64-SSSE3-NEXT:    movdqu (%rdi), %xmm0
+ ; X64-SSSE3-NEXT:    pcmpeqd %xmm1, %xmm1
++; X64-SSSE3-NEXT:    movd %xmm0, %eax
+ ; X64-SSSE3-NEXT:    psubd %xmm1, %xmm0
+ ; X64-SSSE3-NEXT:    movdqa %xmm0, (%rdi)
+ ; X64-SSSE3-NEXT:    retq
+ ;
+ ; X64-AVX-LABEL: multi_use_load_scalarization:
+ ; X64-AVX:       # %bb.0:
+-; X64-AVX-NEXT:    movl (%rdi), %eax
+ ; X64-AVX-NEXT:    vmovdqu (%rdi), %xmm0
+ ; X64-AVX-NEXT:    vpcmpeqd %xmm1, %xmm1, %xmm1
+-; X64-AVX-NEXT:    vpsubd %xmm1, %xmm0, %xmm0
+-; X64-AVX-NEXT:    vmovdqa %xmm0, (%rdi)
++; X64-AVX-NEXT:    vpsubd %xmm1, %xmm0, %xmm1
++; X64-AVX-NEXT:    vmovdqa %xmm1, (%rdi)
++; X64-AVX-NEXT:    vmovd %xmm0, %eax
+ ; X64-AVX-NEXT:    retq
+   %v = load <4 x i32>, <4 x i32>* %p, align 1
+   %v1 = add <4 x i32> %v, <i32 1, i32 1, i32 1, i32 1>
+diff --git a/llvm/test/CodeGen/X86/oddsubvector.ll b/llvm/test/CodeGen/X86/oddsubvector.ll
+index fb4c23e7de1a..a28a64f4fc60 100644
+--- a/llvm/test/CodeGen/X86/oddsubvector.ll
++++ b/llvm/test/CodeGen/X86/oddsubvector.ll
+@@ -161,46 +161,46 @@ define <16 x i32> @PR42819(<8 x i32>* %a0) {
+ define void @PR42833() {
+ ; SSE2-LABEL: PR42833:
+ ; SSE2:       # %bb.0:
+-; SSE2-NEXT:    movl b(%rip), %eax
+-; SSE2-NEXT:    movdqa c+144(%rip), %xmm0
+-; SSE2-NEXT:    movdqa c+128(%rip), %xmm1
+-; SSE2-NEXT:    addl c+128(%rip), %eax
++; SSE2-NEXT:    movdqa c+144(%rip), %xmm1
++; SSE2-NEXT:    movdqa c+128(%rip), %xmm0
++; SSE2-NEXT:    movd %xmm0, %eax
++; SSE2-NEXT:    addl b(%rip), %eax
+ ; SSE2-NEXT:    movd %eax, %xmm2
+ ; SSE2-NEXT:    movd %eax, %xmm3
+-; SSE2-NEXT:    paddd %xmm1, %xmm3
++; SSE2-NEXT:    paddd %xmm0, %xmm3
+ ; SSE2-NEXT:    movdqa d+144(%rip), %xmm4
+-; SSE2-NEXT:    psubd %xmm0, %xmm4
+-; SSE2-NEXT:    paddd %xmm0, %xmm0
+-; SSE2-NEXT:    movdqa %xmm1, %xmm5
+-; SSE2-NEXT:    paddd %xmm1, %xmm5
++; SSE2-NEXT:    psubd %xmm1, %xmm4
++; SSE2-NEXT:    paddd %xmm1, %xmm1
++; SSE2-NEXT:    movdqa %xmm0, %xmm5
++; SSE2-NEXT:    paddd %xmm0, %xmm5
+ ; SSE2-NEXT:    movss {{.*#+}} xmm5 = xmm3[0],xmm5[1,2,3]
+-; SSE2-NEXT:    movdqa %xmm0, c+144(%rip)
++; SSE2-NEXT:    movdqa %xmm1, c+144(%rip)
+ ; SSE2-NEXT:    movaps %xmm5, c+128(%rip)
+-; SSE2-NEXT:    movdqa c+160(%rip), %xmm0
++; SSE2-NEXT:    movdqa c+160(%rip), %xmm1
+ ; SSE2-NEXT:    movdqa c+176(%rip), %xmm3
+ ; SSE2-NEXT:    movdqa d+160(%rip), %xmm5
+ ; SSE2-NEXT:    movdqa d+176(%rip), %xmm6
+ ; SSE2-NEXT:    movdqa d+128(%rip), %xmm7
+-; SSE2-NEXT:    movss {{.*#+}} xmm1 = xmm2[0],xmm1[1,2,3]
+-; SSE2-NEXT:    psubd %xmm1, %xmm7
++; SSE2-NEXT:    movss {{.*#+}} xmm0 = xmm2[0],xmm0[1,2,3]
++; SSE2-NEXT:    psubd %xmm0, %xmm7
+ ; SSE2-NEXT:    psubd %xmm3, %xmm6
+-; SSE2-NEXT:    psubd %xmm0, %xmm5
++; SSE2-NEXT:    psubd %xmm1, %xmm5
+ ; SSE2-NEXT:    movdqa %xmm5, d+160(%rip)
+ ; SSE2-NEXT:    movdqa %xmm6, d+176(%rip)
+ ; SSE2-NEXT:    movdqa %xmm4, d+144(%rip)
+ ; SSE2-NEXT:    movdqa %xmm7, d+128(%rip)
+ ; SSE2-NEXT:    paddd %xmm3, %xmm3
+-; SSE2-NEXT:    paddd %xmm0, %xmm0
+-; SSE2-NEXT:    movdqa %xmm0, c+160(%rip)
++; SSE2-NEXT:    paddd %xmm1, %xmm1
++; SSE2-NEXT:    movdqa %xmm1, c+160(%rip)
+ ; SSE2-NEXT:    movdqa %xmm3, c+176(%rip)
+ ; SSE2-NEXT:    retq
+ ;
+ ; SSE42-LABEL: PR42833:
+ ; SSE42:       # %bb.0:
+-; SSE42-NEXT:    movl b(%rip), %eax
+ ; SSE42-NEXT:    movdqa c+144(%rip), %xmm0
+ ; SSE42-NEXT:    movdqa c+128(%rip), %xmm1
+-; SSE42-NEXT:    addl c+128(%rip), %eax
++; SSE42-NEXT:    movd %xmm1, %eax
++; SSE42-NEXT:    addl b(%rip), %eax
+ ; SSE42-NEXT:    movd %eax, %xmm2
+ ; SSE42-NEXT:    paddd %xmm1, %xmm2
+ ; SSE42-NEXT:    movdqa d+144(%rip), %xmm3
+@@ -232,20 +232,20 @@ define void @PR42833() {
+ ;
+ ; AVX1-LABEL: PR42833:
+ ; AVX1:       # %bb.0:
+-; AVX1-NEXT:    movl b(%rip), %eax
+-; AVX1-NEXT:    addl c+128(%rip), %eax
+-; AVX1-NEXT:    vmovd %eax, %xmm0
+-; AVX1-NEXT:    vmovdqa c+128(%rip), %xmm1
+-; AVX1-NEXT:    vpaddd %xmm0, %xmm1, %xmm0
+-; AVX1-NEXT:    vpaddd %xmm1, %xmm1, %xmm2
++; AVX1-NEXT:    vmovdqa c+128(%rip), %xmm0
++; AVX1-NEXT:    vmovd %xmm0, %eax
++; AVX1-NEXT:    addl b(%rip), %eax
++; AVX1-NEXT:    vmovd %eax, %xmm1
++; AVX1-NEXT:    vpaddd %xmm1, %xmm0, %xmm1
++; AVX1-NEXT:    vpaddd %xmm0, %xmm0, %xmm2
+ ; AVX1-NEXT:    vmovdqa c+144(%rip), %xmm3
+ ; AVX1-NEXT:    vpaddd %xmm3, %xmm3, %xmm3
+ ; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm2, %ymm2
+-; AVX1-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0],ymm2[1,2,3,4,5,6,7]
++; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0],ymm2[1,2,3,4,5,6,7]
+ ; AVX1-NEXT:    vmovdqa d+144(%rip), %xmm2
+ ; AVX1-NEXT:    vpsubd c+144(%rip), %xmm2, %xmm2
+-; AVX1-NEXT:    vmovups %ymm0, c+128(%rip)
+-; AVX1-NEXT:    vpinsrd $0, %eax, %xmm1, %xmm0
++; AVX1-NEXT:    vmovups %ymm1, c+128(%rip)
++; AVX1-NEXT:    vpinsrd $0, %eax, %xmm0, %xmm0
+ ; AVX1-NEXT:    vmovdqa d+128(%rip), %xmm1
+ ; AVX1-NEXT:    vpsubd %xmm0, %xmm1, %xmm0
+ ; AVX1-NEXT:    vmovdqa d+176(%rip), %xmm1
+@@ -314,20 +314,20 @@ define void @PR42833() {
+ ;
+ ; XOP-LABEL: PR42833:
+ ; XOP:       # %bb.0:
+-; XOP-NEXT:    movl b(%rip), %eax
+-; XOP-NEXT:    addl c+128(%rip), %eax
+-; XOP-NEXT:    vmovd %eax, %xmm0
+-; XOP-NEXT:    vmovdqa c+128(%rip), %xmm1
+-; XOP-NEXT:    vpaddd %xmm0, %xmm1, %xmm0
+-; XOP-NEXT:    vpaddd %xmm1, %xmm1, %xmm2
++; XOP-NEXT:    vmovdqa c+128(%rip), %xmm0
++; XOP-NEXT:    vmovd %xmm0, %eax
++; XOP-NEXT:    addl b(%rip), %eax
++; XOP-NEXT:    vmovd %eax, %xmm1
++; XOP-NEXT:    vpaddd %xmm1, %xmm0, %xmm1
++; XOP-NEXT:    vpaddd %xmm0, %xmm0, %xmm2
+ ; XOP-NEXT:    vmovdqa c+144(%rip), %xmm3
+ ; XOP-NEXT:    vpaddd %xmm3, %xmm3, %xmm3
+ ; XOP-NEXT:    vinsertf128 $1, %xmm3, %ymm2, %ymm2
+-; XOP-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0],ymm2[1,2,3,4,5,6,7]
++; XOP-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0],ymm2[1,2,3,4,5,6,7]
+ ; XOP-NEXT:    vmovdqa d+144(%rip), %xmm2
+ ; XOP-NEXT:    vpsubd c+144(%rip), %xmm2, %xmm2
+-; XOP-NEXT:    vmovups %ymm0, c+128(%rip)
+-; XOP-NEXT:    vpinsrd $0, %eax, %xmm1, %xmm0
++; XOP-NEXT:    vmovups %ymm1, c+128(%rip)
++; XOP-NEXT:    vpinsrd $0, %eax, %xmm0, %xmm0
+ ; XOP-NEXT:    vmovdqa d+128(%rip), %xmm1
+ ; XOP-NEXT:    vpsubd %xmm0, %xmm1, %xmm0
+ ; XOP-NEXT:    vmovdqa d+176(%rip), %xmm1
+diff --git a/llvm/test/CodeGen/X86/pr45378.ll b/llvm/test/CodeGen/X86/pr45378.ll
+index 0f2b21224279..d5da5c73a891 100644
+--- a/llvm/test/CodeGen/X86/pr45378.ll
++++ b/llvm/test/CodeGen/X86/pr45378.ll
+@@ -76,23 +76,28 @@ define i1 @parseHeaders2_scalar_and(i64 * %ptr) nounwind {
+ ; SSE2-LABEL: parseHeaders2_scalar_and:
+ ; SSE2:       # %bb.0:
+ ; SSE2-NEXT:    movdqu (%rdi), %xmm0
+-; SSE2-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[2,3,2,3]
+ ; SSE2-NEXT:    movq %xmm0, %rax
+-; SSE2-NEXT:    testq %rax, (%rdi)
++; SSE2-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[2,3,2,3]
++; SSE2-NEXT:    movq %xmm0, %rcx
++; SSE2-NEXT:    testq %rcx, %rax
+ ; SSE2-NEXT:    sete %al
+ ; SSE2-NEXT:    retq
+ ;
+ ; SSE41-LABEL: parseHeaders2_scalar_and:
+ ; SSE41:       # %bb.0:
+-; SSE41-NEXT:    movq (%rdi), %rax
+-; SSE41-NEXT:    testq %rax, 8(%rdi)
++; SSE41-NEXT:    movdqu (%rdi), %xmm0
++; SSE41-NEXT:    movq %xmm0, %rax
++; SSE41-NEXT:    pextrq $1, %xmm0, %rcx
++; SSE41-NEXT:    testq %rcx, %rax
+ ; SSE41-NEXT:    sete %al
+ ; SSE41-NEXT:    retq
+ ;
+ ; AVX-LABEL: parseHeaders2_scalar_and:
+ ; AVX:       # %bb.0:
+-; AVX-NEXT:    movq (%rdi), %rax
+-; AVX-NEXT:    testq %rax, 8(%rdi)
++; AVX-NEXT:    vmovdqu (%rdi), %xmm0
++; AVX-NEXT:    vmovq %xmm0, %rax
++; AVX-NEXT:    vpextrq $1, %xmm0, %rcx
++; AVX-NEXT:    testq %rcx, %rax
+ ; AVX-NEXT:    sete %al
+ ; AVX-NEXT:    retq
+   %vptr = bitcast i64 * %ptr to <2 x i64> *
+diff --git a/llvm/test/CodeGen/X86/scalar_widen_div.ll b/llvm/test/CodeGen/X86/scalar_widen_div.ll
+index 816892d62a0b..d21b44158068 100644
+--- a/llvm/test/CodeGen/X86/scalar_widen_div.ll
++++ b/llvm/test/CodeGen/X86/scalar_widen_div.ll
+@@ -403,29 +403,32 @@ define void @test_int_div(<3 x i32>* %dest, <3 x i32>* %old, i32 %n) {
+ ; CHECK-NEXT:    testl %edx, %edx
+ ; CHECK-NEXT:    jle .LBB12_3
+ ; CHECK-NEXT:  # %bb.1: # %bb.nph
+-; CHECK-NEXT:    movl %edx, %r11d
++; CHECK-NEXT:    movl %edx, %r9d
+ ; CHECK-NEXT:    xorl %ecx, %ecx
+ ; CHECK-NEXT:    .p2align 4, 0x90
+ ; CHECK-NEXT:  .LBB12_2: # %for.body
+ ; CHECK-NEXT:    # =>This Inner Loop Header: Depth=1
+-; CHECK-NEXT:    movl 8(%rdi,%rcx), %r8d
+-; CHECK-NEXT:    movl (%rdi,%rcx), %r9d
+-; CHECK-NEXT:    movl 4(%rdi,%rcx), %eax
++; CHECK-NEXT:    movdqa (%rdi,%rcx), %xmm0
++; CHECK-NEXT:    movdqa (%rsi,%rcx), %xmm1
++; CHECK-NEXT:    pextrd $1, %xmm0, %eax
++; CHECK-NEXT:    pextrd $1, %xmm1, %r8d
+ ; CHECK-NEXT:    cltd
+-; CHECK-NEXT:    idivl 4(%rsi,%rcx)
+-; CHECK-NEXT:    movl %eax, %r10d
+-; CHECK-NEXT:    movl %r9d, %eax
++; CHECK-NEXT:    idivl %r8d
++; CHECK-NEXT:    movl %eax, %r8d
++; CHECK-NEXT:    movd %xmm0, %eax
++; CHECK-NEXT:    movd %xmm1, %r10d
+ ; CHECK-NEXT:    cltd
+-; CHECK-NEXT:    idivl (%rsi,%rcx)
+-; CHECK-NEXT:    movd %eax, %xmm0
+-; CHECK-NEXT:    pinsrd $1, %r10d, %xmm0
+-; CHECK-NEXT:    movl %r8d, %eax
++; CHECK-NEXT:    idivl %r10d
++; CHECK-NEXT:    movd %eax, %xmm2
++; CHECK-NEXT:    pinsrd $1, %r8d, %xmm2
++; CHECK-NEXT:    pextrd $2, %xmm0, %eax
++; CHECK-NEXT:    pextrd $2, %xmm1, %r8d
+ ; CHECK-NEXT:    cltd
+-; CHECK-NEXT:    idivl 8(%rsi,%rcx)
++; CHECK-NEXT:    idivl %r8d
+ ; CHECK-NEXT:    movl %eax, 8(%rdi,%rcx)
+-; CHECK-NEXT:    movq %xmm0, (%rdi,%rcx)
++; CHECK-NEXT:    movq %xmm2, (%rdi,%rcx)
+ ; CHECK-NEXT:    addq $16, %rcx
+-; CHECK-NEXT:    decl %r11d
++; CHECK-NEXT:    decl %r9d
+ ; CHECK-NEXT:    jne .LBB12_2
+ ; CHECK-NEXT:  .LBB12_3: # %for.end
+ ; CHECK-NEXT:    retq
+diff --git a/llvm/test/CodeGen/X86/shrink_vmul.ll b/llvm/test/CodeGen/X86/shrink_vmul.ll
+index 5558b7eefffb..82a633b6d8ca 100644
+--- a/llvm/test/CodeGen/X86/shrink_vmul.ll
++++ b/llvm/test/CodeGen/X86/shrink_vmul.ll
+@@ -2072,10 +2072,10 @@ define void @PR34947(<9 x i16>* %p0, <9 x i32>* %p1) nounwind {
+ ; X86-SSE-NEXT:    divl %ecx
+ ; X86-SSE-NEXT:    movd %edx, %xmm4
+ ; X86-SSE-NEXT:    punpckldq {{.*#+}} xmm4 = xmm4[0],xmm3[0],xmm4[1],xmm3[1]
++; X86-SSE-NEXT:    movd %xmm1, %ecx
+ ; X86-SSE-NEXT:    movl %esi, %eax
+ ; X86-SSE-NEXT:    xorl %edx, %edx
+-; X86-SSE-NEXT:    movl {{[0-9]+}}(%esp), %esi
+-; X86-SSE-NEXT:    divl 16(%esi)
++; X86-SSE-NEXT:    divl %ecx
+ ; X86-SSE-NEXT:    movd %edx, %xmm3
+ ; X86-SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[1,1,1,1]
+ ; X86-SSE-NEXT:    movd %xmm2, %eax
+@@ -2086,9 +2086,10 @@ define void @PR34947(<9 x i16>* %p0, <9 x i32>* %p1) nounwind {
+ ; X86-SSE-NEXT:    movd %edx, %xmm1
+ ; X86-SSE-NEXT:    punpckldq {{.*#+}} xmm3 = xmm3[0],xmm1[0],xmm3[1],xmm1[1]
+ ; X86-SSE-NEXT:    punpcklqdq {{.*#+}} xmm3 = xmm3[0],xmm4[0]
++; X86-SSE-NEXT:    movd %xmm0, %ecx
+ ; X86-SSE-NEXT:    movl %edi, %eax
+ ; X86-SSE-NEXT:    xorl %edx, %edx
+-; X86-SSE-NEXT:    divl (%esi)
++; X86-SSE-NEXT:    divl %ecx
+ ; X86-SSE-NEXT:    movd %edx, %xmm1
+ ; X86-SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm0[1,1,1,1]
+ ; X86-SSE-NEXT:    movd %xmm2, %ecx
+@@ -2114,7 +2115,8 @@ define void @PR34947(<9 x i16>* %p0, <9 x i32>* %p1) nounwind {
+ ; X86-SSE-NEXT:    punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
+ ; X86-SSE-NEXT:    movl (%esp), %eax # 4-byte Reload
+ ; X86-SSE-NEXT:    xorl %edx, %edx
+-; X86-SSE-NEXT:    divl 32(%esi)
++; X86-SSE-NEXT:    movl {{[0-9]+}}(%esp), %ecx
++; X86-SSE-NEXT:    divl 32(%ecx)
+ ; X86-SSE-NEXT:    movdqa {{.*#+}} xmm0 = [8199,8199,8199,8199]
+ ; X86-SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm1[1,1,3,3]
+ ; X86-SSE-NEXT:    pmuludq %xmm0, %xmm1
+@@ -2149,43 +2151,53 @@ define void @PR34947(<9 x i16>* %p0, <9 x i32>* %p1) nounwind {
+ ; X86-AVX1-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+ ; X86-AVX1-NEXT:    movl {{[0-9]+}}(%esp), %eax
+ ; X86-AVX1-NEXT:    vpmovzxwd {{.*#+}} xmm0 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+-; X86-AVX1-NEXT:    vpmovzxwd {{.*#+}} xmm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+ ; X86-AVX1-NEXT:    vpmovzxwd {{.*#+}} xmm2 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+-; X86-AVX1-NEXT:    vmovd %xmm2, %eax
++; X86-AVX1-NEXT:    vpmovzxwd {{.*#+}} xmm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
++; X86-AVX1-NEXT:    vmovd %xmm1, %eax
+ ; X86-AVX1-NEXT:    xorl %edx, %edx
+ ; X86-AVX1-NEXT:    divl 32(%ecx)
+ ; X86-AVX1-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
+-; X86-AVX1-NEXT:    vpextrd $3, %xmm1, %eax
++; X86-AVX1-NEXT:    vpextrd $3, %xmm2, %eax
++; X86-AVX1-NEXT:    vmovdqa (%ecx), %xmm1
++; X86-AVX1-NEXT:    vmovdqa 16(%ecx), %xmm3
++; X86-AVX1-NEXT:    vpextrd $3, %xmm3, %ecx
+ ; X86-AVX1-NEXT:    xorl %edx, %edx
+-; X86-AVX1-NEXT:    divl 28(%ecx)
++; X86-AVX1-NEXT:    divl %ecx
+ ; X86-AVX1-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
+-; X86-AVX1-NEXT:    vpextrd $2, %xmm1, %eax
++; X86-AVX1-NEXT:    vpextrd $2, %xmm2, %eax
++; X86-AVX1-NEXT:    vpextrd $2, %xmm3, %ecx
+ ; X86-AVX1-NEXT:    xorl %edx, %edx
+-; X86-AVX1-NEXT:    divl 24(%ecx)
++; X86-AVX1-NEXT:    divl %ecx
+ ; X86-AVX1-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
+-; X86-AVX1-NEXT:    vpextrd $1, %xmm1, %eax
++; X86-AVX1-NEXT:    vpextrd $1, %xmm2, %eax
++; X86-AVX1-NEXT:    vpextrd $1, %xmm3, %ecx
+ ; X86-AVX1-NEXT:    xorl %edx, %edx
+-; X86-AVX1-NEXT:    divl 20(%ecx)
++; X86-AVX1-NEXT:    divl %ecx
+ ; X86-AVX1-NEXT:    movl %edx, (%esp) # 4-byte Spill
+-; X86-AVX1-NEXT:    vmovd %xmm1, %eax
++; X86-AVX1-NEXT:    vmovd %xmm2, %eax
++; X86-AVX1-NEXT:    vmovd %xmm3, %ecx
+ ; X86-AVX1-NEXT:    xorl %edx, %edx
+-; X86-AVX1-NEXT:    divl 16(%ecx)
++; X86-AVX1-NEXT:    divl %ecx
+ ; X86-AVX1-NEXT:    movl %edx, %ebp
+ ; X86-AVX1-NEXT:    vpextrd $3, %xmm0, %eax
++; X86-AVX1-NEXT:    vpextrd $3, %xmm1, %ecx
+ ; X86-AVX1-NEXT:    xorl %edx, %edx
+-; X86-AVX1-NEXT:    divl 12(%ecx)
++; X86-AVX1-NEXT:    divl %ecx
+ ; X86-AVX1-NEXT:    movl %edx, %ebx
+ ; X86-AVX1-NEXT:    vpextrd $2, %xmm0, %eax
++; X86-AVX1-NEXT:    vpextrd $2, %xmm1, %esi
+ ; X86-AVX1-NEXT:    xorl %edx, %edx
+-; X86-AVX1-NEXT:    divl 8(%ecx)
++; X86-AVX1-NEXT:    divl %esi
+ ; X86-AVX1-NEXT:    movl %edx, %esi
+ ; X86-AVX1-NEXT:    vpextrd $1, %xmm0, %eax
++; X86-AVX1-NEXT:    vpextrd $1, %xmm1, %edi
+ ; X86-AVX1-NEXT:    xorl %edx, %edx
+-; X86-AVX1-NEXT:    divl 4(%ecx)
++; X86-AVX1-NEXT:    divl %edi
+ ; X86-AVX1-NEXT:    movl %edx, %edi
+ ; X86-AVX1-NEXT:    vmovd %xmm0, %eax
++; X86-AVX1-NEXT:    vmovd %xmm1, %ecx
+ ; X86-AVX1-NEXT:    xorl %edx, %edx
+-; X86-AVX1-NEXT:    divl (%ecx)
++; X86-AVX1-NEXT:    divl %ecx
+ ; X86-AVX1-NEXT:    vmovd %edx, %xmm0
+ ; X86-AVX1-NEXT:    vpinsrd $1, %edi, %xmm0, %xmm0
+ ; X86-AVX1-NEXT:    vpinsrd $2, %esi, %xmm0, %xmm0
+@@ -2211,47 +2223,58 @@ define void @PR34947(<9 x i16>* %p0, <9 x i32>* %p1) nounwind {
+ ;
+ ; X86-AVX2-LABEL: PR34947:
+ ; X86-AVX2:       # %bb.0:
++; X86-AVX2-NEXT:    pushl %edi
+ ; X86-AVX2-NEXT:    pushl %esi
+ ; X86-AVX2-NEXT:    movl {{[0-9]+}}(%esp), %esi
+ ; X86-AVX2-NEXT:    movl {{[0-9]+}}(%esp), %eax
+ ; X86-AVX2-NEXT:    vpmovzxwd {{.*#+}} ymm0 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
+ ; X86-AVX2-NEXT:    vpmovzxwd {{.*#+}} ymm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
+-; X86-AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
+-; X86-AVX2-NEXT:    vpextrd $1, %xmm2, %eax
++; X86-AVX2-NEXT:    vmovdqa (%esi), %xmm2
++; X86-AVX2-NEXT:    vmovdqa 16(%esi), %xmm3
++; X86-AVX2-NEXT:    vpextrd $1, %xmm3, %ecx
++; X86-AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm4
++; X86-AVX2-NEXT:    vpextrd $1, %xmm4, %eax
+ ; X86-AVX2-NEXT:    xorl %edx, %edx
+-; X86-AVX2-NEXT:    divl 20(%esi)
++; X86-AVX2-NEXT:    divl %ecx
+ ; X86-AVX2-NEXT:    movl %edx, %ecx
+-; X86-AVX2-NEXT:    vmovd %xmm2, %eax
++; X86-AVX2-NEXT:    vmovd %xmm3, %edi
++; X86-AVX2-NEXT:    vmovd %xmm4, %eax
+ ; X86-AVX2-NEXT:    xorl %edx, %edx
+-; X86-AVX2-NEXT:    divl 16(%esi)
+-; X86-AVX2-NEXT:    vmovd %edx, %xmm3
+-; X86-AVX2-NEXT:    vpinsrd $1, %ecx, %xmm3, %xmm3
+-; X86-AVX2-NEXT:    vpextrd $2, %xmm2, %eax
++; X86-AVX2-NEXT:    divl %edi
++; X86-AVX2-NEXT:    vmovd %edx, %xmm5
++; X86-AVX2-NEXT:    vpinsrd $1, %ecx, %xmm5, %xmm5
++; X86-AVX2-NEXT:    vpextrd $2, %xmm3, %ecx
++; X86-AVX2-NEXT:    vpextrd $2, %xmm4, %eax
+ ; X86-AVX2-NEXT:    xorl %edx, %edx
+-; X86-AVX2-NEXT:    divl 24(%esi)
+-; X86-AVX2-NEXT:    vpinsrd $2, %edx, %xmm3, %xmm3
+-; X86-AVX2-NEXT:    vpextrd $3, %xmm2, %eax
++; X86-AVX2-NEXT:    divl %ecx
++; X86-AVX2-NEXT:    vpinsrd $2, %edx, %xmm5, %xmm5
++; X86-AVX2-NEXT:    vpextrd $3, %xmm3, %ecx
++; X86-AVX2-NEXT:    vpextrd $3, %xmm4, %eax
+ ; X86-AVX2-NEXT:    xorl %edx, %edx
+-; X86-AVX2-NEXT:    divl 28(%esi)
+-; X86-AVX2-NEXT:    vpinsrd $3, %edx, %xmm3, %xmm2
++; X86-AVX2-NEXT:    divl %ecx
++; X86-AVX2-NEXT:    vpinsrd $3, %edx, %xmm5, %xmm3
++; X86-AVX2-NEXT:    vpextrd $1, %xmm2, %ecx
+ ; X86-AVX2-NEXT:    vpextrd $1, %xmm1, %eax
+ ; X86-AVX2-NEXT:    xorl %edx, %edx
+-; X86-AVX2-NEXT:    divl 4(%esi)
++; X86-AVX2-NEXT:    divl %ecx
+ ; X86-AVX2-NEXT:    movl %edx, %ecx
++; X86-AVX2-NEXT:    vmovd %xmm2, %edi
+ ; X86-AVX2-NEXT:    vmovd %xmm1, %eax
+ ; X86-AVX2-NEXT:    xorl %edx, %edx
+-; X86-AVX2-NEXT:    divl (%esi)
+-; X86-AVX2-NEXT:    vmovd %edx, %xmm3
+-; X86-AVX2-NEXT:    vpinsrd $1, %ecx, %xmm3, %xmm3
++; X86-AVX2-NEXT:    divl %edi
++; X86-AVX2-NEXT:    vmovd %edx, %xmm4
++; X86-AVX2-NEXT:    vpinsrd $1, %ecx, %xmm4, %xmm4
++; X86-AVX2-NEXT:    vpextrd $2, %xmm2, %ecx
+ ; X86-AVX2-NEXT:    vpextrd $2, %xmm1, %eax
+ ; X86-AVX2-NEXT:    xorl %edx, %edx
+-; X86-AVX2-NEXT:    divl 8(%esi)
+-; X86-AVX2-NEXT:    vpinsrd $2, %edx, %xmm3, %xmm3
++; X86-AVX2-NEXT:    divl %ecx
++; X86-AVX2-NEXT:    vpinsrd $2, %edx, %xmm4, %xmm4
++; X86-AVX2-NEXT:    vpextrd $3, %xmm2, %ecx
+ ; X86-AVX2-NEXT:    vpextrd $3, %xmm1, %eax
+ ; X86-AVX2-NEXT:    xorl %edx, %edx
+-; X86-AVX2-NEXT:    divl 12(%esi)
+-; X86-AVX2-NEXT:    vpinsrd $3, %edx, %xmm3, %xmm1
+-; X86-AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
++; X86-AVX2-NEXT:    divl %ecx
++; X86-AVX2-NEXT:    vpinsrd $3, %edx, %xmm4, %xmm1
++; X86-AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
+ ; X86-AVX2-NEXT:    vmovd %xmm0, %eax
+ ; X86-AVX2-NEXT:    xorl %edx, %edx
+ ; X86-AVX2-NEXT:    divl 32(%esi)
+@@ -2261,6 +2284,7 @@ define void @PR34947(<9 x i16>* %p0, <9 x i32>* %p1) nounwind {
+ ; X86-AVX2-NEXT:    movl %eax, (%eax)
+ ; X86-AVX2-NEXT:    vmovdqa %ymm0, (%eax)
+ ; X86-AVX2-NEXT:    popl %esi
++; X86-AVX2-NEXT:    popl %edi
+ ; X86-AVX2-NEXT:    vzeroupper
+ ; X86-AVX2-NEXT:    retl
+ ;
+@@ -2293,9 +2317,10 @@ define void @PR34947(<9 x i16>* %p0, <9 x i32>* %p1) nounwind {
+ ; X64-SSE-NEXT:    divl %edi
+ ; X64-SSE-NEXT:    movd %edx, %xmm4
+ ; X64-SSE-NEXT:    punpckldq {{.*#+}} xmm4 = xmm4[0],xmm3[0],xmm4[1],xmm3[1]
++; X64-SSE-NEXT:    movd %xmm1, %edi
+ ; X64-SSE-NEXT:    movl %r9d, %eax
+ ; X64-SSE-NEXT:    xorl %edx, %edx
+-; X64-SSE-NEXT:    divl 16(%rsi)
++; X64-SSE-NEXT:    divl %edi
+ ; X64-SSE-NEXT:    movd %edx, %xmm3
+ ; X64-SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[1,1,1,1]
+ ; X64-SSE-NEXT:    movd %xmm2, %eax
+@@ -2306,9 +2331,10 @@ define void @PR34947(<9 x i16>* %p0, <9 x i32>* %p1) nounwind {
+ ; X64-SSE-NEXT:    movd %edx, %xmm1
+ ; X64-SSE-NEXT:    punpckldq {{.*#+}} xmm3 = xmm3[0],xmm1[0],xmm3[1],xmm1[1]
+ ; X64-SSE-NEXT:    punpcklqdq {{.*#+}} xmm3 = xmm3[0],xmm4[0]
++; X64-SSE-NEXT:    movd %xmm0, %edi
+ ; X64-SSE-NEXT:    movl %r10d, %eax
+ ; X64-SSE-NEXT:    xorl %edx, %edx
+-; X64-SSE-NEXT:    divl (%rsi)
++; X64-SSE-NEXT:    divl %edi
+ ; X64-SSE-NEXT:    movd %edx, %xmm1
+ ; X64-SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm0[1,1,1,1]
+ ; X64-SSE-NEXT:    movd %xmm2, %edi
+@@ -2359,50 +2385,60 @@ define void @PR34947(<9 x i16>* %p0, <9 x i32>* %p1) nounwind {
+ ; X64-AVX1-NEXT:    pushq %rbp
+ ; X64-AVX1-NEXT:    pushq %rbx
+ ; X64-AVX1-NEXT:    vpmovzxwd {{.*#+}} xmm0 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+-; X64-AVX1-NEXT:    vpmovzxwd {{.*#+}} xmm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+ ; X64-AVX1-NEXT:    vpmovzxwd {{.*#+}} xmm2 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+-; X64-AVX1-NEXT:    vmovd %xmm2, %eax
++; X64-AVX1-NEXT:    vpmovzxwd {{.*#+}} xmm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
++; X64-AVX1-NEXT:    vmovd %xmm1, %eax
+ ; X64-AVX1-NEXT:    xorl %edx, %edx
+ ; X64-AVX1-NEXT:    divl 32(%rsi)
+ ; X64-AVX1-NEXT:    movl %edx, %r8d
+-; X64-AVX1-NEXT:    vpextrd $3, %xmm1, %eax
++; X64-AVX1-NEXT:    vpextrd $3, %xmm2, %eax
++; X64-AVX1-NEXT:    vmovdqa (%rsi), %xmm1
++; X64-AVX1-NEXT:    vmovdqa 16(%rsi), %xmm3
++; X64-AVX1-NEXT:    vpextrd $3, %xmm3, %ecx
+ ; X64-AVX1-NEXT:    xorl %edx, %edx
+-; X64-AVX1-NEXT:    divl 28(%rsi)
++; X64-AVX1-NEXT:    divl %ecx
+ ; X64-AVX1-NEXT:    movl %edx, %r9d
+-; X64-AVX1-NEXT:    vpextrd $2, %xmm1, %eax
++; X64-AVX1-NEXT:    vpextrd $2, %xmm2, %eax
++; X64-AVX1-NEXT:    vpextrd $2, %xmm3, %ecx
+ ; X64-AVX1-NEXT:    xorl %edx, %edx
+-; X64-AVX1-NEXT:    divl 24(%rsi)
++; X64-AVX1-NEXT:    divl %ecx
+ ; X64-AVX1-NEXT:    movl %edx, %r10d
+-; X64-AVX1-NEXT:    vpextrd $1, %xmm1, %eax
++; X64-AVX1-NEXT:    vpextrd $1, %xmm2, %eax
++; X64-AVX1-NEXT:    vpextrd $1, %xmm3, %ecx
+ ; X64-AVX1-NEXT:    xorl %edx, %edx
+-; X64-AVX1-NEXT:    divl 20(%rsi)
++; X64-AVX1-NEXT:    divl %ecx
+ ; X64-AVX1-NEXT:    movl %edx, %r11d
+-; X64-AVX1-NEXT:    vmovd %xmm1, %eax
++; X64-AVX1-NEXT:    vmovd %xmm2, %eax
++; X64-AVX1-NEXT:    vmovd %xmm3, %ecx
+ ; X64-AVX1-NEXT:    xorl %edx, %edx
+-; X64-AVX1-NEXT:    divl 16(%rsi)
+-; X64-AVX1-NEXT:    movl %edx, %ecx
++; X64-AVX1-NEXT:    divl %ecx
++; X64-AVX1-NEXT:    movl %edx, %esi
+ ; X64-AVX1-NEXT:    vpextrd $3, %xmm0, %eax
++; X64-AVX1-NEXT:    vpextrd $3, %xmm1, %ecx
+ ; X64-AVX1-NEXT:    xorl %edx, %edx
+-; X64-AVX1-NEXT:    divl 12(%rsi)
++; X64-AVX1-NEXT:    divl %ecx
+ ; X64-AVX1-NEXT:    movl %edx, %edi
+ ; X64-AVX1-NEXT:    vpextrd $2, %xmm0, %eax
++; X64-AVX1-NEXT:    vpextrd $2, %xmm1, %ecx
+ ; X64-AVX1-NEXT:    xorl %edx, %edx
+-; X64-AVX1-NEXT:    divl 8(%rsi)
+-; X64-AVX1-NEXT:    movl %edx, %ebx
++; X64-AVX1-NEXT:    divl %ecx
++; X64-AVX1-NEXT:    movl %edx, %ecx
+ ; X64-AVX1-NEXT:    vpextrd $1, %xmm0, %eax
++; X64-AVX1-NEXT:    vpextrd $1, %xmm1, %ebx
+ ; X64-AVX1-NEXT:    xorl %edx, %edx
+-; X64-AVX1-NEXT:    divl 4(%rsi)
+-; X64-AVX1-NEXT:    movl %edx, %ebp
++; X64-AVX1-NEXT:    divl %ebx
++; X64-AVX1-NEXT:    movl %edx, %ebx
+ ; X64-AVX1-NEXT:    vmovd %xmm0, %eax
++; X64-AVX1-NEXT:    vmovd %xmm1, %ebp
+ ; X64-AVX1-NEXT:    xorl %edx, %edx
+-; X64-AVX1-NEXT:    divl (%rsi)
++; X64-AVX1-NEXT:    divl %ebp
+ ; X64-AVX1-NEXT:    vmovd %edx, %xmm0
+-; X64-AVX1-NEXT:    vpinsrd $1, %ebp, %xmm0, %xmm0
+-; X64-AVX1-NEXT:    vpinsrd $2, %ebx, %xmm0, %xmm0
++; X64-AVX1-NEXT:    vpinsrd $1, %ebx, %xmm0, %xmm0
++; X64-AVX1-NEXT:    vpinsrd $2, %ecx, %xmm0, %xmm0
+ ; X64-AVX1-NEXT:    vpinsrd $3, %edi, %xmm0, %xmm0
+ ; X64-AVX1-NEXT:    vmovdqa {{.*#+}} xmm1 = [8199,8199,8199,8199]
+ ; X64-AVX1-NEXT:    vpmulld %xmm1, %xmm0, %xmm0
+-; X64-AVX1-NEXT:    vmovd %ecx, %xmm2
++; X64-AVX1-NEXT:    vmovd %esi, %xmm2
+ ; X64-AVX1-NEXT:    vpinsrd $1, %r11d, %xmm2, %xmm2
+ ; X64-AVX1-NEXT:    vpinsrd $2, %r10d, %xmm2, %xmm2
+ ; X64-AVX1-NEXT:    vpinsrd $3, %r9d, %xmm2, %xmm2
+@@ -2419,42 +2455,52 @@ define void @PR34947(<9 x i16>* %p0, <9 x i32>* %p1) nounwind {
+ ; X64-AVX2:       # %bb.0:
+ ; X64-AVX2-NEXT:    vpmovzxwd {{.*#+}} ymm0 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
+ ; X64-AVX2-NEXT:    vpmovzxwd {{.*#+}} ymm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
+-; X64-AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
+-; X64-AVX2-NEXT:    vpextrd $1, %xmm2, %eax
++; X64-AVX2-NEXT:    vmovdqa (%rsi), %xmm2
++; X64-AVX2-NEXT:    vmovdqa 16(%rsi), %xmm3
++; X64-AVX2-NEXT:    vpextrd $1, %xmm3, %ecx
++; X64-AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm4
++; X64-AVX2-NEXT:    vpextrd $1, %xmm4, %eax
+ ; X64-AVX2-NEXT:    xorl %edx, %edx
+-; X64-AVX2-NEXT:    divl 20(%rsi)
++; X64-AVX2-NEXT:    divl %ecx
+ ; X64-AVX2-NEXT:    movl %edx, %ecx
+-; X64-AVX2-NEXT:    vmovd %xmm2, %eax
++; X64-AVX2-NEXT:    vmovd %xmm3, %edi
++; X64-AVX2-NEXT:    vmovd %xmm4, %eax
+ ; X64-AVX2-NEXT:    xorl %edx, %edx
+-; X64-AVX2-NEXT:    divl 16(%rsi)
+-; X64-AVX2-NEXT:    vmovd %edx, %xmm3
+-; X64-AVX2-NEXT:    vpinsrd $1, %ecx, %xmm3, %xmm3
+-; X64-AVX2-NEXT:    vpextrd $2, %xmm2, %eax
++; X64-AVX2-NEXT:    divl %edi
++; X64-AVX2-NEXT:    vmovd %edx, %xmm5
++; X64-AVX2-NEXT:    vpinsrd $1, %ecx, %xmm5, %xmm5
++; X64-AVX2-NEXT:    vpextrd $2, %xmm3, %ecx
++; X64-AVX2-NEXT:    vpextrd $2, %xmm4, %eax
+ ; X64-AVX2-NEXT:    xorl %edx, %edx
+-; X64-AVX2-NEXT:    divl 24(%rsi)
+-; X64-AVX2-NEXT:    vpinsrd $2, %edx, %xmm3, %xmm3
+-; X64-AVX2-NEXT:    vpextrd $3, %xmm2, %eax
++; X64-AVX2-NEXT:    divl %ecx
++; X64-AVX2-NEXT:    vpinsrd $2, %edx, %xmm5, %xmm5
++; X64-AVX2-NEXT:    vpextrd $3, %xmm3, %ecx
++; X64-AVX2-NEXT:    vpextrd $3, %xmm4, %eax
+ ; X64-AVX2-NEXT:    xorl %edx, %edx
+-; X64-AVX2-NEXT:    divl 28(%rsi)
+-; X64-AVX2-NEXT:    vpinsrd $3, %edx, %xmm3, %xmm2
++; X64-AVX2-NEXT:    divl %ecx
++; X64-AVX2-NEXT:    vpinsrd $3, %edx, %xmm5, %xmm3
++; X64-AVX2-NEXT:    vpextrd $1, %xmm2, %ecx
+ ; X64-AVX2-NEXT:    vpextrd $1, %xmm1, %eax
+ ; X64-AVX2-NEXT:    xorl %edx, %edx
+-; X64-AVX2-NEXT:    divl 4(%rsi)
++; X64-AVX2-NEXT:    divl %ecx
+ ; X64-AVX2-NEXT:    movl %edx, %ecx
++; X64-AVX2-NEXT:    vmovd %xmm2, %edi
+ ; X64-AVX2-NEXT:    vmovd %xmm1, %eax
+ ; X64-AVX2-NEXT:    xorl %edx, %edx
+-; X64-AVX2-NEXT:    divl (%rsi)
+-; X64-AVX2-NEXT:    vmovd %edx, %xmm3
+-; X64-AVX2-NEXT:    vpinsrd $1, %ecx, %xmm3, %xmm3
++; X64-AVX2-NEXT:    divl %edi
++; X64-AVX2-NEXT:    vmovd %edx, %xmm4
++; X64-AVX2-NEXT:    vpinsrd $1, %ecx, %xmm4, %xmm4
++; X64-AVX2-NEXT:    vpextrd $2, %xmm2, %ecx
+ ; X64-AVX2-NEXT:    vpextrd $2, %xmm1, %eax
+ ; X64-AVX2-NEXT:    xorl %edx, %edx
+-; X64-AVX2-NEXT:    divl 8(%rsi)
+-; X64-AVX2-NEXT:    vpinsrd $2, %edx, %xmm3, %xmm3
++; X64-AVX2-NEXT:    divl %ecx
++; X64-AVX2-NEXT:    vpinsrd $2, %edx, %xmm4, %xmm4
++; X64-AVX2-NEXT:    vpextrd $3, %xmm2, %ecx
+ ; X64-AVX2-NEXT:    vpextrd $3, %xmm1, %eax
+ ; X64-AVX2-NEXT:    xorl %edx, %edx
+-; X64-AVX2-NEXT:    divl 12(%rsi)
+-; X64-AVX2-NEXT:    vpinsrd $3, %edx, %xmm3, %xmm1
+-; X64-AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
++; X64-AVX2-NEXT:    divl %ecx
++; X64-AVX2-NEXT:    vpinsrd $3, %edx, %xmm4, %xmm1
++; X64-AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
+ ; X64-AVX2-NEXT:    vmovd %xmm0, %eax
+ ; X64-AVX2-NEXT:    xorl %edx, %edx
+ ; X64-AVX2-NEXT:    divl 32(%rsi)
+diff --git a/llvm/test/CodeGen/X86/vec_cast.ll b/llvm/test/CodeGen/X86/vec_cast.ll
+index e0089354cc95..0a6bc2f59b68 100644
+--- a/llvm/test/CodeGen/X86/vec_cast.ll
++++ b/llvm/test/CodeGen/X86/vec_cast.ll
+@@ -156,7 +156,7 @@ define <3 x i16> @h(<3 x i32> %a) nounwind {
+ ; CHECK-WIN-LABEL: h:
+ ; CHECK-WIN:       # %bb.0:
+ ; CHECK-WIN-NEXT:    movdqa (%rcx), %xmm0
+-; CHECK-WIN-NEXT:    movl (%rcx), %eax
++; CHECK-WIN-NEXT:    movd %xmm0, %eax
+ ; CHECK-WIN-NEXT:    pextrw $2, %xmm0, %edx
+ ; CHECK-WIN-NEXT:    pextrw $4, %xmm0, %ecx
+ ; CHECK-WIN-NEXT:    # kill: def $ax killed $ax killed $eax
+diff --git a/llvm/test/CodeGen/X86/vec_int_to_fp.ll b/llvm/test/CodeGen/X86/vec_int_to_fp.ll
+index e95afd00304f..12d7b05bf3da 100644
+--- a/llvm/test/CodeGen/X86/vec_int_to_fp.ll
++++ b/llvm/test/CodeGen/X86/vec_int_to_fp.ll
+@@ -2895,7 +2895,8 @@ define <2 x double> @sitofp_load_2i64_to_2f64(<2 x i64> *%a) {
+ ; SSE2-LABEL: sitofp_load_2i64_to_2f64:
+ ; SSE2:       # %bb.0:
+ ; SSE2-NEXT:    movdqa (%rdi), %xmm1
+-; SSE2-NEXT:    cvtsi2sdq (%rdi), %xmm0
++; SSE2-NEXT:    movq %xmm1, %rax
++; SSE2-NEXT:    cvtsi2sd %rax, %xmm0
+ ; SSE2-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[2,3,2,3]
+ ; SSE2-NEXT:    movq %xmm1, %rax
+ ; SSE2-NEXT:    xorps %xmm1, %xmm1
+@@ -2905,30 +2906,43 @@ define <2 x double> @sitofp_load_2i64_to_2f64(<2 x i64> *%a) {
+ ;
+ ; SSE41-LABEL: sitofp_load_2i64_to_2f64:
+ ; SSE41:       # %bb.0:
+-; SSE41-NEXT:    cvtsi2sdq 8(%rdi), %xmm1
+-; SSE41-NEXT:    cvtsi2sdq (%rdi), %xmm0
++; SSE41-NEXT:    movdqa (%rdi), %xmm0
++; SSE41-NEXT:    pextrq $1, %xmm0, %rax
++; SSE41-NEXT:    cvtsi2sd %rax, %xmm1
++; SSE41-NEXT:    movq %xmm0, %rax
++; SSE41-NEXT:    xorps %xmm0, %xmm0
++; SSE41-NEXT:    cvtsi2sd %rax, %xmm0
+ ; SSE41-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
+ ; SSE41-NEXT:    retq
+ ;
+ ; VEX-LABEL: sitofp_load_2i64_to_2f64:
+ ; VEX:       # %bb.0:
+-; VEX-NEXT:    vcvtsi2sdq 8(%rdi), %xmm0, %xmm0
+-; VEX-NEXT:    vcvtsi2sdq (%rdi), %xmm1, %xmm1
+-; VEX-NEXT:    vunpcklpd {{.*#+}} xmm0 = xmm1[0],xmm0[0]
++; VEX-NEXT:    vmovdqa (%rdi), %xmm0
++; VEX-NEXT:    vpextrq $1, %xmm0, %rax
++; VEX-NEXT:    vcvtsi2sd %rax, %xmm1, %xmm1
++; VEX-NEXT:    vmovq %xmm0, %rax
++; VEX-NEXT:    vcvtsi2sd %rax, %xmm2, %xmm0
++; VEX-NEXT:    vunpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
+ ; VEX-NEXT:    retq
+ ;
+ ; AVX512F-LABEL: sitofp_load_2i64_to_2f64:
+ ; AVX512F:       # %bb.0:
+-; AVX512F-NEXT:    vcvtsi2sdq 8(%rdi), %xmm0, %xmm0
+-; AVX512F-NEXT:    vcvtsi2sdq (%rdi), %xmm1, %xmm1
+-; AVX512F-NEXT:    vunpcklpd {{.*#+}} xmm0 = xmm1[0],xmm0[0]
++; AVX512F-NEXT:    vmovdqa (%rdi), %xmm0
++; AVX512F-NEXT:    vpextrq $1, %xmm0, %rax
++; AVX512F-NEXT:    vcvtsi2sd %rax, %xmm1, %xmm1
++; AVX512F-NEXT:    vmovq %xmm0, %rax
++; AVX512F-NEXT:    vcvtsi2sd %rax, %xmm2, %xmm0
++; AVX512F-NEXT:    vunpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
+ ; AVX512F-NEXT:    retq
+ ;
+ ; AVX512VL-LABEL: sitofp_load_2i64_to_2f64:
+ ; AVX512VL:       # %bb.0:
+-; AVX512VL-NEXT:    vcvtsi2sdq 8(%rdi), %xmm0, %xmm0
+-; AVX512VL-NEXT:    vcvtsi2sdq (%rdi), %xmm1, %xmm1
+-; AVX512VL-NEXT:    vunpcklpd {{.*#+}} xmm0 = xmm1[0],xmm0[0]
++; AVX512VL-NEXT:    vmovdqa (%rdi), %xmm0
++; AVX512VL-NEXT:    vpextrq $1, %xmm0, %rax
++; AVX512VL-NEXT:    vcvtsi2sd %rax, %xmm1, %xmm1
++; AVX512VL-NEXT:    vmovq %xmm0, %rax
++; AVX512VL-NEXT:    vcvtsi2sd %rax, %xmm2, %xmm0
++; AVX512VL-NEXT:    vunpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
+ ; AVX512VL-NEXT:    retq
+ ;
+ ; AVX512DQ-LABEL: sitofp_load_2i64_to_2f64:
+@@ -3078,14 +3092,16 @@ define <4 x double> @sitofp_load_4i64_to_4f64(<4 x i64> *%a) {
+ ; SSE2:       # %bb.0:
+ ; SSE2-NEXT:    movdqa (%rdi), %xmm1
+ ; SSE2-NEXT:    movdqa 16(%rdi), %xmm2
+-; SSE2-NEXT:    cvtsi2sdq (%rdi), %xmm0
++; SSE2-NEXT:    movq %xmm1, %rax
++; SSE2-NEXT:    cvtsi2sd %rax, %xmm0
+ ; SSE2-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[2,3,2,3]
+ ; SSE2-NEXT:    movq %xmm1, %rax
+ ; SSE2-NEXT:    xorps %xmm1, %xmm1
+ ; SSE2-NEXT:    cvtsi2sd %rax, %xmm1
+ ; SSE2-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
++; SSE2-NEXT:    movq %xmm2, %rax
+ ; SSE2-NEXT:    xorps %xmm1, %xmm1
+-; SSE2-NEXT:    cvtsi2sdq 16(%rdi), %xmm1
++; SSE2-NEXT:    cvtsi2sd %rax, %xmm1
+ ; SSE2-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[2,3,2,3]
+ ; SSE2-NEXT:    movq %xmm2, %rax
+ ; SSE2-NEXT:    xorps %xmm2, %xmm2
+@@ -3095,46 +3111,72 @@ define <4 x double> @sitofp_load_4i64_to_4f64(<4 x i64> *%a) {
+ ;
+ ; SSE41-LABEL: sitofp_load_4i64_to_4f64:
+ ; SSE41:       # %bb.0:
+-; SSE41-NEXT:    cvtsi2sdq 8(%rdi), %xmm1
+-; SSE41-NEXT:    cvtsi2sdq (%rdi), %xmm0
+-; SSE41-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
+-; SSE41-NEXT:    cvtsi2sdq 24(%rdi), %xmm2
++; SSE41-NEXT:    movdqa (%rdi), %xmm0
++; SSE41-NEXT:    movdqa 16(%rdi), %xmm1
++; SSE41-NEXT:    pextrq $1, %xmm0, %rax
++; SSE41-NEXT:    cvtsi2sd %rax, %xmm2
++; SSE41-NEXT:    movq %xmm0, %rax
++; SSE41-NEXT:    xorps %xmm0, %xmm0
++; SSE41-NEXT:    cvtsi2sd %rax, %xmm0
++; SSE41-NEXT:    unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]
++; SSE41-NEXT:    pextrq $1, %xmm1, %rax
++; SSE41-NEXT:    xorps %xmm2, %xmm2
++; SSE41-NEXT:    cvtsi2sd %rax, %xmm2
++; SSE41-NEXT:    movq %xmm1, %rax
+ ; SSE41-NEXT:    xorps %xmm1, %xmm1
+-; SSE41-NEXT:    cvtsi2sdq 16(%rdi), %xmm1
++; SSE41-NEXT:    cvtsi2sd %rax, %xmm1
+ ; SSE41-NEXT:    unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]
+ ; SSE41-NEXT:    retq
+ ;
+ ; VEX-LABEL: sitofp_load_4i64_to_4f64:
+ ; VEX:       # %bb.0:
+-; VEX-NEXT:    vcvtsi2sdq 24(%rdi), %xmm0, %xmm0
+-; VEX-NEXT:    vcvtsi2sdq 16(%rdi), %xmm1, %xmm1
+-; VEX-NEXT:    vunpcklpd {{.*#+}} xmm0 = xmm1[0],xmm0[0]
+-; VEX-NEXT:    vcvtsi2sdq 8(%rdi), %xmm2, %xmm1
+-; VEX-NEXT:    vcvtsi2sdq (%rdi), %xmm2, %xmm2
+-; VEX-NEXT:    vunpcklpd {{.*#+}} xmm1 = xmm2[0],xmm1[0]
+-; VEX-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm0
++; VEX-NEXT:    vmovapd (%rdi), %xmm0
++; VEX-NEXT:    vmovdqa 16(%rdi), %xmm1
++; VEX-NEXT:    vpextrq $1, %xmm1, %rax
++; VEX-NEXT:    vcvtsi2sd %rax, %xmm2, %xmm2
++; VEX-NEXT:    vmovq %xmm1, %rax
++; VEX-NEXT:    vcvtsi2sd %rax, %xmm3, %xmm1
++; VEX-NEXT:    vunpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]
++; VEX-NEXT:    vpextrq $1, %xmm0, %rax
++; VEX-NEXT:    vcvtsi2sd %rax, %xmm3, %xmm2
++; VEX-NEXT:    vmovq %xmm0, %rax
++; VEX-NEXT:    vcvtsi2sd %rax, %xmm3, %xmm0
++; VEX-NEXT:    vunpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]
++; VEX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm0
+ ; VEX-NEXT:    retq
+ ;
+ ; AVX512F-LABEL: sitofp_load_4i64_to_4f64:
+ ; AVX512F:       # %bb.0:
+-; AVX512F-NEXT:    vcvtsi2sdq 24(%rdi), %xmm0, %xmm0
+-; AVX512F-NEXT:    vcvtsi2sdq 16(%rdi), %xmm1, %xmm1
+-; AVX512F-NEXT:    vunpcklpd {{.*#+}} xmm0 = xmm1[0],xmm0[0]
+-; AVX512F-NEXT:    vcvtsi2sdq 8(%rdi), %xmm2, %xmm1
+-; AVX512F-NEXT:    vcvtsi2sdq (%rdi), %xmm2, %xmm2
+-; AVX512F-NEXT:    vunpcklpd {{.*#+}} xmm1 = xmm2[0],xmm1[0]
+-; AVX512F-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm0
++; AVX512F-NEXT:    vmovapd (%rdi), %xmm0
++; AVX512F-NEXT:    vmovdqa 16(%rdi), %xmm1
++; AVX512F-NEXT:    vpextrq $1, %xmm1, %rax
++; AVX512F-NEXT:    vcvtsi2sd %rax, %xmm2, %xmm2
++; AVX512F-NEXT:    vmovq %xmm1, %rax
++; AVX512F-NEXT:    vcvtsi2sd %rax, %xmm3, %xmm1
++; AVX512F-NEXT:    vunpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]
++; AVX512F-NEXT:    vpextrq $1, %xmm0, %rax
++; AVX512F-NEXT:    vcvtsi2sd %rax, %xmm3, %xmm2
++; AVX512F-NEXT:    vmovq %xmm0, %rax
++; AVX512F-NEXT:    vcvtsi2sd %rax, %xmm3, %xmm0
++; AVX512F-NEXT:    vunpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]
++; AVX512F-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm0
+ ; AVX512F-NEXT:    retq
+ ;
+ ; AVX512VL-LABEL: sitofp_load_4i64_to_4f64:
+ ; AVX512VL:       # %bb.0:
+-; AVX512VL-NEXT:    vcvtsi2sdq 24(%rdi), %xmm0, %xmm0
+-; AVX512VL-NEXT:    vcvtsi2sdq 16(%rdi), %xmm1, %xmm1
+-; AVX512VL-NEXT:    vunpcklpd {{.*#+}} xmm0 = xmm1[0],xmm0[0]
+-; AVX512VL-NEXT:    vcvtsi2sdq 8(%rdi), %xmm2, %xmm1
+-; AVX512VL-NEXT:    vcvtsi2sdq (%rdi), %xmm2, %xmm2
+-; AVX512VL-NEXT:    vunpcklpd {{.*#+}} xmm1 = xmm2[0],xmm1[0]
+-; AVX512VL-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm0
++; AVX512VL-NEXT:    vmovapd (%rdi), %xmm0
++; AVX512VL-NEXT:    vmovdqa 16(%rdi), %xmm1
++; AVX512VL-NEXT:    vpextrq $1, %xmm1, %rax
++; AVX512VL-NEXT:    vcvtsi2sd %rax, %xmm2, %xmm2
++; AVX512VL-NEXT:    vmovq %xmm1, %rax
++; AVX512VL-NEXT:    vcvtsi2sd %rax, %xmm3, %xmm1
++; AVX512VL-NEXT:    vunpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]
++; AVX512VL-NEXT:    vpextrq $1, %xmm0, %rax
++; AVX512VL-NEXT:    vcvtsi2sd %rax, %xmm3, %xmm2
++; AVX512VL-NEXT:    vmovq %xmm0, %rax
++; AVX512VL-NEXT:    vcvtsi2sd %rax, %xmm3, %xmm0
++; AVX512VL-NEXT:    vunpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]
++; AVX512VL-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm0
+ ; AVX512VL-NEXT:    retq
+ ;
+ ; AVX512DQ-LABEL: sitofp_load_4i64_to_4f64:
+@@ -3839,14 +3881,16 @@ define <4 x float> @sitofp_load_4i64_to_4f32(<4 x i64> *%a) {
+ ; SSE2:       # %bb.0:
+ ; SSE2-NEXT:    movdqa (%rdi), %xmm1
+ ; SSE2-NEXT:    movdqa 16(%rdi), %xmm0
+-; SSE2-NEXT:    cvtsi2ssq 16(%rdi), %xmm2
++; SSE2-NEXT:    movq %xmm0, %rax
++; SSE2-NEXT:    cvtsi2ss %rax, %xmm2
+ ; SSE2-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[2,3,2,3]
+ ; SSE2-NEXT:    movq %xmm0, %rax
+ ; SSE2-NEXT:    xorps %xmm0, %xmm0
+ ; SSE2-NEXT:    cvtsi2ss %rax, %xmm0
+ ; SSE2-NEXT:    unpcklps {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
++; SSE2-NEXT:    movq %xmm1, %rax
+ ; SSE2-NEXT:    xorps %xmm0, %xmm0
+-; SSE2-NEXT:    cvtsi2ssq (%rdi), %xmm0
++; SSE2-NEXT:    cvtsi2ss %rax, %xmm0
+ ; SSE2-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[2,3,2,3]
+ ; SSE2-NEXT:    movq %xmm1, %rax
+ ; SSE2-NEXT:    xorps %xmm1, %xmm1
+@@ -3857,47 +3901,72 @@ define <4 x float> @sitofp_load_4i64_to_4f32(<4 x i64> *%a) {
+ ;
+ ; SSE41-LABEL: sitofp_load_4i64_to_4f32:
+ ; SSE41:       # %bb.0:
+-; SSE41-NEXT:    cvtsi2ssq 8(%rdi), %xmm1
+-; SSE41-NEXT:    cvtsi2ssq (%rdi), %xmm0
+-; SSE41-NEXT:    insertps {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[2,3]
+-; SSE41-NEXT:    xorps %xmm1, %xmm1
+-; SSE41-NEXT:    cvtsi2ssq 16(%rdi), %xmm1
+-; SSE41-NEXT:    insertps {{.*#+}} xmm0 = xmm0[0,1],xmm1[0],xmm0[3]
++; SSE41-NEXT:    movdqa (%rdi), %xmm0
++; SSE41-NEXT:    movdqa 16(%rdi), %xmm1
++; SSE41-NEXT:    pextrq $1, %xmm0, %rax
++; SSE41-NEXT:    cvtsi2ss %rax, %xmm2
++; SSE41-NEXT:    movq %xmm0, %rax
++; SSE41-NEXT:    xorps %xmm0, %xmm0
++; SSE41-NEXT:    cvtsi2ss %rax, %xmm0
++; SSE41-NEXT:    insertps {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[2,3]
++; SSE41-NEXT:    movq %xmm1, %rax
++; SSE41-NEXT:    xorps %xmm2, %xmm2
++; SSE41-NEXT:    cvtsi2ss %rax, %xmm2
++; SSE41-NEXT:    insertps {{.*#+}} xmm0 = xmm0[0,1],xmm2[0],xmm0[3]
++; SSE41-NEXT:    pextrq $1, %xmm1, %rax
+ ; SSE41-NEXT:    xorps %xmm1, %xmm1
+-; SSE41-NEXT:    cvtsi2ssq 24(%rdi), %xmm1
++; SSE41-NEXT:    cvtsi2ss %rax, %xmm1
+ ; SSE41-NEXT:    insertps {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[0]
+ ; SSE41-NEXT:    retq
+ ;
+ ; VEX-LABEL: sitofp_load_4i64_to_4f32:
+ ; VEX:       # %bb.0:
+-; VEX-NEXT:    vcvtsi2ssq 8(%rdi), %xmm0, %xmm0
+-; VEX-NEXT:    vcvtsi2ssq (%rdi), %xmm1, %xmm1
+-; VEX-NEXT:    vinsertps {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[2,3]
+-; VEX-NEXT:    vcvtsi2ssq 16(%rdi), %xmm2, %xmm1
+-; VEX-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm1[0],xmm0[3]
+-; VEX-NEXT:    vcvtsi2ssq 24(%rdi), %xmm2, %xmm1
++; VEX-NEXT:    vmovdqa (%rdi), %xmm0
++; VEX-NEXT:    vmovdqa 16(%rdi), %xmm1
++; VEX-NEXT:    vpextrq $1, %xmm0, %rax
++; VEX-NEXT:    vcvtsi2ss %rax, %xmm2, %xmm2
++; VEX-NEXT:    vmovq %xmm0, %rax
++; VEX-NEXT:    vcvtsi2ss %rax, %xmm3, %xmm0
++; VEX-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[2,3]
++; VEX-NEXT:    vmovq %xmm1, %rax
++; VEX-NEXT:    vcvtsi2ss %rax, %xmm3, %xmm2
++; VEX-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm2[0],xmm0[3]
++; VEX-NEXT:    vpextrq $1, %xmm1, %rax
++; VEX-NEXT:    vcvtsi2ss %rax, %xmm3, %xmm1
+ ; VEX-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[0]
+ ; VEX-NEXT:    retq
+ ;
+ ; AVX512F-LABEL: sitofp_load_4i64_to_4f32:
+ ; AVX512F:       # %bb.0:
+-; AVX512F-NEXT:    vcvtsi2ssq 8(%rdi), %xmm0, %xmm0
+-; AVX512F-NEXT:    vcvtsi2ssq (%rdi), %xmm1, %xmm1
+-; AVX512F-NEXT:    vinsertps {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[2,3]
+-; AVX512F-NEXT:    vcvtsi2ssq 16(%rdi), %xmm2, %xmm1
+-; AVX512F-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm1[0],xmm0[3]
+-; AVX512F-NEXT:    vcvtsi2ssq 24(%rdi), %xmm2, %xmm1
++; AVX512F-NEXT:    vmovdqa (%rdi), %xmm0
++; AVX512F-NEXT:    vmovdqa 16(%rdi), %xmm1
++; AVX512F-NEXT:    vpextrq $1, %xmm0, %rax
++; AVX512F-NEXT:    vcvtsi2ss %rax, %xmm2, %xmm2
++; AVX512F-NEXT:    vmovq %xmm0, %rax
++; AVX512F-NEXT:    vcvtsi2ss %rax, %xmm3, %xmm0
++; AVX512F-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[2,3]
++; AVX512F-NEXT:    vmovq %xmm1, %rax
++; AVX512F-NEXT:    vcvtsi2ss %rax, %xmm3, %xmm2
++; AVX512F-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm2[0],xmm0[3]
++; AVX512F-NEXT:    vpextrq $1, %xmm1, %rax
++; AVX512F-NEXT:    vcvtsi2ss %rax, %xmm3, %xmm1
+ ; AVX512F-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[0]
+ ; AVX512F-NEXT:    retq
+ ;
+ ; AVX512VL-LABEL: sitofp_load_4i64_to_4f32:
+ ; AVX512VL:       # %bb.0:
+-; AVX512VL-NEXT:    vcvtsi2ssq 8(%rdi), %xmm0, %xmm0
+-; AVX512VL-NEXT:    vcvtsi2ssq (%rdi), %xmm1, %xmm1
+-; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[2,3]
+-; AVX512VL-NEXT:    vcvtsi2ssq 16(%rdi), %xmm2, %xmm1
+-; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm1[0],xmm0[3]
+-; AVX512VL-NEXT:    vcvtsi2ssq 24(%rdi), %xmm2, %xmm1
++; AVX512VL-NEXT:    vmovdqa (%rdi), %xmm0
++; AVX512VL-NEXT:    vmovdqa 16(%rdi), %xmm1
++; AVX512VL-NEXT:    vpextrq $1, %xmm0, %rax
++; AVX512VL-NEXT:    vcvtsi2ss %rax, %xmm2, %xmm2
++; AVX512VL-NEXT:    vmovq %xmm0, %rax
++; AVX512VL-NEXT:    vcvtsi2ss %rax, %xmm3, %xmm0
++; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[2,3]
++; AVX512VL-NEXT:    vmovq %xmm1, %rax
++; AVX512VL-NEXT:    vcvtsi2ss %rax, %xmm3, %xmm2
++; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm2[0],xmm0[3]
++; AVX512VL-NEXT:    vpextrq $1, %xmm1, %rax
++; AVX512VL-NEXT:    vcvtsi2ss %rax, %xmm3, %xmm1
+ ; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[0]
+ ; AVX512VL-NEXT:    retq
+ ;
+@@ -3991,29 +4060,33 @@ define <8 x float> @sitofp_load_8i64_to_8f32(<8 x i64> *%a) {
+ ; SSE2-NEXT:    movdqa 16(%rdi), %xmm0
+ ; SSE2-NEXT:    movdqa 32(%rdi), %xmm2
+ ; SSE2-NEXT:    movdqa 48(%rdi), %xmm3
+-; SSE2-NEXT:    cvtsi2ssq 16(%rdi), %xmm4
++; SSE2-NEXT:    movq %xmm0, %rax
++; SSE2-NEXT:    cvtsi2ss %rax, %xmm4
+ ; SSE2-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[2,3,2,3]
+ ; SSE2-NEXT:    movq %xmm0, %rax
+ ; SSE2-NEXT:    xorps %xmm0, %xmm0
+ ; SSE2-NEXT:    cvtsi2ss %rax, %xmm0
+ ; SSE2-NEXT:    unpcklps {{.*#+}} xmm4 = xmm4[0],xmm0[0],xmm4[1],xmm0[1]
++; SSE2-NEXT:    movq %xmm1, %rax
+ ; SSE2-NEXT:    xorps %xmm0, %xmm0
+-; SSE2-NEXT:    cvtsi2ssq (%rdi), %xmm0
++; SSE2-NEXT:    cvtsi2ss %rax, %xmm0
+ ; SSE2-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[2,3,2,3]
+ ; SSE2-NEXT:    movq %xmm1, %rax
+ ; SSE2-NEXT:    xorps %xmm1, %xmm1
+ ; SSE2-NEXT:    cvtsi2ss %rax, %xmm1
+ ; SSE2-NEXT:    unpcklps {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
+ ; SSE2-NEXT:    movlhps {{.*#+}} xmm0 = xmm0[0],xmm4[0]
++; SSE2-NEXT:    movq %xmm3, %rax
+ ; SSE2-NEXT:    xorps %xmm4, %xmm4
+-; SSE2-NEXT:    cvtsi2ssq 48(%rdi), %xmm4
++; SSE2-NEXT:    cvtsi2ss %rax, %xmm4
+ ; SSE2-NEXT:    pshufd {{.*#+}} xmm1 = xmm3[2,3,2,3]
+ ; SSE2-NEXT:    movq %xmm1, %rax
+ ; SSE2-NEXT:    xorps %xmm1, %xmm1
+ ; SSE2-NEXT:    cvtsi2ss %rax, %xmm1
+ ; SSE2-NEXT:    unpcklps {{.*#+}} xmm4 = xmm4[0],xmm1[0],xmm4[1],xmm1[1]
++; SSE2-NEXT:    movq %xmm2, %rax
+ ; SSE2-NEXT:    xorps %xmm1, %xmm1
+-; SSE2-NEXT:    cvtsi2ssq 32(%rdi), %xmm1
++; SSE2-NEXT:    cvtsi2ss %rax, %xmm1
+ ; SSE2-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[2,3,2,3]
+ ; SSE2-NEXT:    movq %xmm2, %rax
+ ; SSE2-NEXT:    xorps %xmm2, %xmm2
+@@ -4024,82 +4097,132 @@ define <8 x float> @sitofp_load_8i64_to_8f32(<8 x i64> *%a) {
+ ;
+ ; SSE41-LABEL: sitofp_load_8i64_to_8f32:
+ ; SSE41:       # %bb.0:
+-; SSE41-NEXT:    cvtsi2ssq 8(%rdi), %xmm1
+-; SSE41-NEXT:    cvtsi2ssq (%rdi), %xmm0
+-; SSE41-NEXT:    insertps {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[2,3]
+-; SSE41-NEXT:    xorps %xmm1, %xmm1
+-; SSE41-NEXT:    cvtsi2ssq 16(%rdi), %xmm1
+-; SSE41-NEXT:    insertps {{.*#+}} xmm0 = xmm0[0,1],xmm1[0],xmm0[3]
++; SSE41-NEXT:    movdqa (%rdi), %xmm0
++; SSE41-NEXT:    movdqa 16(%rdi), %xmm1
++; SSE41-NEXT:    movdqa 32(%rdi), %xmm2
++; SSE41-NEXT:    movdqa 48(%rdi), %xmm3
++; SSE41-NEXT:    pextrq $1, %xmm0, %rax
++; SSE41-NEXT:    cvtsi2ss %rax, %xmm4
++; SSE41-NEXT:    movq %xmm0, %rax
++; SSE41-NEXT:    xorps %xmm0, %xmm0
++; SSE41-NEXT:    cvtsi2ss %rax, %xmm0
++; SSE41-NEXT:    insertps {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[2,3]
++; SSE41-NEXT:    movq %xmm1, %rax
++; SSE41-NEXT:    xorps %xmm4, %xmm4
++; SSE41-NEXT:    cvtsi2ss %rax, %xmm4
++; SSE41-NEXT:    insertps {{.*#+}} xmm0 = xmm0[0,1],xmm4[0],xmm0[3]
++; SSE41-NEXT:    pextrq $1, %xmm1, %rax
+ ; SSE41-NEXT:    xorps %xmm1, %xmm1
+-; SSE41-NEXT:    cvtsi2ssq 24(%rdi), %xmm1
++; SSE41-NEXT:    cvtsi2ss %rax, %xmm1
+ ; SSE41-NEXT:    insertps {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[0]
+-; SSE41-NEXT:    cvtsi2ssq 40(%rdi), %xmm2
++; SSE41-NEXT:    pextrq $1, %xmm2, %rax
++; SSE41-NEXT:    xorps %xmm4, %xmm4
++; SSE41-NEXT:    cvtsi2ss %rax, %xmm4
++; SSE41-NEXT:    movq %xmm2, %rax
+ ; SSE41-NEXT:    xorps %xmm1, %xmm1
+-; SSE41-NEXT:    cvtsi2ssq 32(%rdi), %xmm1
+-; SSE41-NEXT:    insertps {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[2,3]
++; SSE41-NEXT:    cvtsi2ss %rax, %xmm1
++; SSE41-NEXT:    insertps {{.*#+}} xmm1 = xmm1[0],xmm4[0],xmm1[2,3]
++; SSE41-NEXT:    movq %xmm3, %rax
+ ; SSE41-NEXT:    xorps %xmm2, %xmm2
+-; SSE41-NEXT:    cvtsi2ssq 48(%rdi), %xmm2
++; SSE41-NEXT:    cvtsi2ss %rax, %xmm2
+ ; SSE41-NEXT:    insertps {{.*#+}} xmm1 = xmm1[0,1],xmm2[0],xmm1[3]
++; SSE41-NEXT:    pextrq $1, %xmm3, %rax
+ ; SSE41-NEXT:    xorps %xmm2, %xmm2
+-; SSE41-NEXT:    cvtsi2ssq 56(%rdi), %xmm2
++; SSE41-NEXT:    cvtsi2ss %rax, %xmm2
+ ; SSE41-NEXT:    insertps {{.*#+}} xmm1 = xmm1[0,1,2],xmm2[0]
+ ; SSE41-NEXT:    retq
+ ;
+ ; VEX-LABEL: sitofp_load_8i64_to_8f32:
+ ; VEX:       # %bb.0:
+-; VEX-NEXT:    vcvtsi2ssq 40(%rdi), %xmm0, %xmm0
+-; VEX-NEXT:    vcvtsi2ssq 32(%rdi), %xmm1, %xmm1
+-; VEX-NEXT:    vinsertps {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[2,3]
+-; VEX-NEXT:    vcvtsi2ssq 48(%rdi), %xmm2, %xmm1
+-; VEX-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm1[0],xmm0[3]
+-; VEX-NEXT:    vcvtsi2ssq 56(%rdi), %xmm2, %xmm1
++; VEX-NEXT:    vmovaps (%rdi), %xmm0
++; VEX-NEXT:    vmovdqa 16(%rdi), %xmm1
++; VEX-NEXT:    vmovdqa 32(%rdi), %xmm2
++; VEX-NEXT:    vmovdqa 48(%rdi), %xmm3
++; VEX-NEXT:    vpextrq $1, %xmm2, %rax
++; VEX-NEXT:    vcvtsi2ss %rax, %xmm4, %xmm4
++; VEX-NEXT:    vmovq %xmm2, %rax
++; VEX-NEXT:    vcvtsi2ss %rax, %xmm5, %xmm2
++; VEX-NEXT:    vinsertps {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[2,3]
++; VEX-NEXT:    vmovq %xmm3, %rax
++; VEX-NEXT:    vcvtsi2ss %rax, %xmm5, %xmm4
++; VEX-NEXT:    vinsertps {{.*#+}} xmm2 = xmm2[0,1],xmm4[0],xmm2[3]
++; VEX-NEXT:    vpextrq $1, %xmm3, %rax
++; VEX-NEXT:    vcvtsi2ss %rax, %xmm5, %xmm3
++; VEX-NEXT:    vinsertps {{.*#+}} xmm2 = xmm2[0,1,2],xmm3[0]
++; VEX-NEXT:    vpextrq $1, %xmm0, %rax
++; VEX-NEXT:    vcvtsi2ss %rax, %xmm5, %xmm3
++; VEX-NEXT:    vmovq %xmm0, %rax
++; VEX-NEXT:    vcvtsi2ss %rax, %xmm5, %xmm0
++; VEX-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[2,3]
++; VEX-NEXT:    vmovq %xmm1, %rax
++; VEX-NEXT:    vcvtsi2ss %rax, %xmm5, %xmm3
++; VEX-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm3[0],xmm0[3]
++; VEX-NEXT:    vpextrq $1, %xmm1, %rax
++; VEX-NEXT:    vcvtsi2ss %rax, %xmm5, %xmm1
+ ; VEX-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[0]
+-; VEX-NEXT:    vcvtsi2ssq 8(%rdi), %xmm2, %xmm1
+-; VEX-NEXT:    vcvtsi2ssq (%rdi), %xmm2, %xmm2
+-; VEX-NEXT:    vinsertps {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[2,3]
+-; VEX-NEXT:    vcvtsi2ssq 16(%rdi), %xmm3, %xmm2
+-; VEX-NEXT:    vinsertps {{.*#+}} xmm1 = xmm1[0,1],xmm2[0],xmm1[3]
+-; VEX-NEXT:    vcvtsi2ssq 24(%rdi), %xmm3, %xmm2
+-; VEX-NEXT:    vinsertps {{.*#+}} xmm1 = xmm1[0,1,2],xmm2[0]
+-; VEX-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm0
++; VEX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm0
+ ; VEX-NEXT:    retq
+ ;
+ ; AVX512F-LABEL: sitofp_load_8i64_to_8f32:
+ ; AVX512F:       # %bb.0:
+-; AVX512F-NEXT:    vcvtsi2ssq 40(%rdi), %xmm0, %xmm0
+-; AVX512F-NEXT:    vcvtsi2ssq 32(%rdi), %xmm1, %xmm1
+-; AVX512F-NEXT:    vinsertps {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[2,3]
+-; AVX512F-NEXT:    vcvtsi2ssq 48(%rdi), %xmm2, %xmm1
+-; AVX512F-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm1[0],xmm0[3]
+-; AVX512F-NEXT:    vcvtsi2ssq 56(%rdi), %xmm2, %xmm1
++; AVX512F-NEXT:    vmovaps (%rdi), %xmm0
++; AVX512F-NEXT:    vmovdqa 16(%rdi), %xmm1
++; AVX512F-NEXT:    vmovdqa 32(%rdi), %xmm2
++; AVX512F-NEXT:    vmovdqa 48(%rdi), %xmm3
++; AVX512F-NEXT:    vpextrq $1, %xmm2, %rax
++; AVX512F-NEXT:    vcvtsi2ss %rax, %xmm4, %xmm4
++; AVX512F-NEXT:    vmovq %xmm2, %rax
++; AVX512F-NEXT:    vcvtsi2ss %rax, %xmm5, %xmm2
++; AVX512F-NEXT:    vinsertps {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[2,3]
++; AVX512F-NEXT:    vmovq %xmm3, %rax
++; AVX512F-NEXT:    vcvtsi2ss %rax, %xmm5, %xmm4
++; AVX512F-NEXT:    vinsertps {{.*#+}} xmm2 = xmm2[0,1],xmm4[0],xmm2[3]
++; AVX512F-NEXT:    vpextrq $1, %xmm3, %rax
++; AVX512F-NEXT:    vcvtsi2ss %rax, %xmm5, %xmm3
++; AVX512F-NEXT:    vinsertps {{.*#+}} xmm2 = xmm2[0,1,2],xmm3[0]
++; AVX512F-NEXT:    vpextrq $1, %xmm0, %rax
++; AVX512F-NEXT:    vcvtsi2ss %rax, %xmm5, %xmm3
++; AVX512F-NEXT:    vmovq %xmm0, %rax
++; AVX512F-NEXT:    vcvtsi2ss %rax, %xmm5, %xmm0
++; AVX512F-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[2,3]
++; AVX512F-NEXT:    vmovq %xmm1, %rax
++; AVX512F-NEXT:    vcvtsi2ss %rax, %xmm5, %xmm3
++; AVX512F-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm3[0],xmm0[3]
++; AVX512F-NEXT:    vpextrq $1, %xmm1, %rax
++; AVX512F-NEXT:    vcvtsi2ss %rax, %xmm5, %xmm1
+ ; AVX512F-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[0]
+-; AVX512F-NEXT:    vcvtsi2ssq 8(%rdi), %xmm2, %xmm1
+-; AVX512F-NEXT:    vcvtsi2ssq (%rdi), %xmm2, %xmm2
+-; AVX512F-NEXT:    vinsertps {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[2,3]
+-; AVX512F-NEXT:    vcvtsi2ssq 16(%rdi), %xmm3, %xmm2
+-; AVX512F-NEXT:    vinsertps {{.*#+}} xmm1 = xmm1[0,1],xmm2[0],xmm1[3]
+-; AVX512F-NEXT:    vcvtsi2ssq 24(%rdi), %xmm3, %xmm2
+-; AVX512F-NEXT:    vinsertps {{.*#+}} xmm1 = xmm1[0,1,2],xmm2[0]
+-; AVX512F-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm0
++; AVX512F-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm0
+ ; AVX512F-NEXT:    retq
+ ;
+ ; AVX512VL-LABEL: sitofp_load_8i64_to_8f32:
+ ; AVX512VL:       # %bb.0:
+-; AVX512VL-NEXT:    vcvtsi2ssq 40(%rdi), %xmm0, %xmm0
+-; AVX512VL-NEXT:    vcvtsi2ssq 32(%rdi), %xmm1, %xmm1
+-; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[2,3]
+-; AVX512VL-NEXT:    vcvtsi2ssq 48(%rdi), %xmm2, %xmm1
+-; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm1[0],xmm0[3]
+-; AVX512VL-NEXT:    vcvtsi2ssq 56(%rdi), %xmm2, %xmm1
++; AVX512VL-NEXT:    vmovaps (%rdi), %xmm0
++; AVX512VL-NEXT:    vmovdqa 16(%rdi), %xmm1
++; AVX512VL-NEXT:    vmovdqa 32(%rdi), %xmm2
++; AVX512VL-NEXT:    vmovdqa 48(%rdi), %xmm3
++; AVX512VL-NEXT:    vpextrq $1, %xmm2, %rax
++; AVX512VL-NEXT:    vcvtsi2ss %rax, %xmm4, %xmm4
++; AVX512VL-NEXT:    vmovq %xmm2, %rax
++; AVX512VL-NEXT:    vcvtsi2ss %rax, %xmm5, %xmm2
++; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[2,3]
++; AVX512VL-NEXT:    vmovq %xmm3, %rax
++; AVX512VL-NEXT:    vcvtsi2ss %rax, %xmm5, %xmm4
++; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm2 = xmm2[0,1],xmm4[0],xmm2[3]
++; AVX512VL-NEXT:    vpextrq $1, %xmm3, %rax
++; AVX512VL-NEXT:    vcvtsi2ss %rax, %xmm5, %xmm3
++; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm2 = xmm2[0,1,2],xmm3[0]
++; AVX512VL-NEXT:    vpextrq $1, %xmm0, %rax
++; AVX512VL-NEXT:    vcvtsi2ss %rax, %xmm5, %xmm3
++; AVX512VL-NEXT:    vmovq %xmm0, %rax
++; AVX512VL-NEXT:    vcvtsi2ss %rax, %xmm5, %xmm0
++; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[2,3]
++; AVX512VL-NEXT:    vmovq %xmm1, %rax
++; AVX512VL-NEXT:    vcvtsi2ss %rax, %xmm5, %xmm3
++; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm3[0],xmm0[3]
++; AVX512VL-NEXT:    vpextrq $1, %xmm1, %rax
++; AVX512VL-NEXT:    vcvtsi2ss %rax, %xmm5, %xmm1
+ ; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[0]
+-; AVX512VL-NEXT:    vcvtsi2ssq 8(%rdi), %xmm2, %xmm1
+-; AVX512VL-NEXT:    vcvtsi2ssq (%rdi), %xmm2, %xmm2
+-; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[2,3]
+-; AVX512VL-NEXT:    vcvtsi2ssq 16(%rdi), %xmm3, %xmm2
+-; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm1 = xmm1[0,1],xmm2[0],xmm1[3]
+-; AVX512VL-NEXT:    vcvtsi2ssq 24(%rdi), %xmm3, %xmm2
+-; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm1 = xmm1[0,1,2],xmm2[0]
+-; AVX512VL-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm0
++; AVX512VL-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm0
+ ; AVX512VL-NEXT:    retq
+ ;
+ ; AVX512DQ-LABEL: sitofp_load_8i64_to_8f32:
+@@ -4229,7 +4352,7 @@ define <4 x float> @uitofp_load_4i64_to_4f32(<4 x i64> *%a) {
+ ; SSE2-LABEL: uitofp_load_4i64_to_4f32:
+ ; SSE2:       # %bb.0:
+ ; SSE2-NEXT:    movdqa 16(%rdi), %xmm0
+-; SSE2-NEXT:    movq 16(%rdi), %rax
++; SSE2-NEXT:    movq %xmm0, %rax
+ ; SSE2-NEXT:    testq %rax, %rax
+ ; SSE2-NEXT:    js .LBB83_1
+ ; SSE2-NEXT:  # %bb.2:
+@@ -4243,23 +4366,23 @@ define <4 x float> @uitofp_load_4i64_to_4f32(<4 x i64> *%a) {
+ ; SSE2-NEXT:    cvtsi2ss %rax, %xmm1
+ ; SSE2-NEXT:    addss %xmm1, %xmm1
+ ; SSE2-NEXT:  .LBB83_3:
+-; SSE2-NEXT:    movq (%rdi), %rax
++; SSE2-NEXT:    movdqa (%rdi), %xmm2
+ ; SSE2-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[2,3,2,3]
+-; SSE2-NEXT:    movq %xmm0, %rcx
+-; SSE2-NEXT:    testq %rcx, %rcx
++; SSE2-NEXT:    movq %xmm0, %rax
++; SSE2-NEXT:    testq %rax, %rax
+ ; SSE2-NEXT:    js .LBB83_4
+ ; SSE2-NEXT:  # %bb.5:
+-; SSE2-NEXT:    cvtsi2ss %rcx, %xmm2
++; SSE2-NEXT:    cvtsi2ss %rax, %xmm3
+ ; SSE2-NEXT:    jmp .LBB83_6
+ ; SSE2-NEXT:  .LBB83_4:
+-; SSE2-NEXT:    movq %rcx, %rdx
+-; SSE2-NEXT:    shrq %rdx
+-; SSE2-NEXT:    andl $1, %ecx
+-; SSE2-NEXT:    orq %rdx, %rcx
+-; SSE2-NEXT:    cvtsi2ss %rcx, %xmm2
+-; SSE2-NEXT:    addss %xmm2, %xmm2
++; SSE2-NEXT:    movq %rax, %rcx
++; SSE2-NEXT:    shrq %rcx
++; SSE2-NEXT:    andl $1, %eax
++; SSE2-NEXT:    orq %rcx, %rax
++; SSE2-NEXT:    cvtsi2ss %rax, %xmm3
++; SSE2-NEXT:    addss %xmm3, %xmm3
+ ; SSE2-NEXT:  .LBB83_6:
+-; SSE2-NEXT:    movdqa (%rdi), %xmm3
++; SSE2-NEXT:    movq %xmm2, %rax
+ ; SSE2-NEXT:    testq %rax, %rax
+ ; SSE2-NEXT:    js .LBB83_7
+ ; SSE2-NEXT:  # %bb.8:
+@@ -4275,8 +4398,8 @@ define <4 x float> @uitofp_load_4i64_to_4f32(<4 x i64> *%a) {
+ ; SSE2-NEXT:    cvtsi2ss %rax, %xmm0
+ ; SSE2-NEXT:    addss %xmm0, %xmm0
+ ; SSE2-NEXT:  .LBB83_9:
+-; SSE2-NEXT:    unpcklps {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
+-; SSE2-NEXT:    pshufd {{.*#+}} xmm2 = xmm3[2,3,2,3]
++; SSE2-NEXT:    unpcklps {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
++; SSE2-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[2,3,2,3]
+ ; SSE2-NEXT:    movq %xmm2, %rax
+ ; SSE2-NEXT:    testq %rax, %rax
+ ; SSE2-NEXT:    js .LBB83_10
+@@ -4397,23 +4520,35 @@ define <4 x float> @uitofp_load_4i64_to_4f32(<4 x i64> *%a) {
+ ;
+ ; AVX512F-LABEL: uitofp_load_4i64_to_4f32:
+ ; AVX512F:       # %bb.0:
+-; AVX512F-NEXT:    vcvtusi2ssq 8(%rdi), %xmm0, %xmm0
+-; AVX512F-NEXT:    vcvtusi2ssq (%rdi), %xmm1, %xmm1
+-; AVX512F-NEXT:    vinsertps {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[2,3]
+-; AVX512F-NEXT:    vcvtusi2ssq 16(%rdi), %xmm2, %xmm1
+-; AVX512F-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm1[0],xmm0[3]
+-; AVX512F-NEXT:    vcvtusi2ssq 24(%rdi), %xmm2, %xmm1
++; AVX512F-NEXT:    vmovdqa (%rdi), %xmm0
++; AVX512F-NEXT:    vmovdqa 16(%rdi), %xmm1
++; AVX512F-NEXT:    vpextrq $1, %xmm0, %rax
++; AVX512F-NEXT:    vcvtusi2ss %rax, %xmm2, %xmm2
++; AVX512F-NEXT:    vmovq %xmm0, %rax
++; AVX512F-NEXT:    vcvtusi2ss %rax, %xmm3, %xmm0
++; AVX512F-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[2,3]
++; AVX512F-NEXT:    vmovq %xmm1, %rax
++; AVX512F-NEXT:    vcvtusi2ss %rax, %xmm3, %xmm2
++; AVX512F-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm2[0],xmm0[3]
++; AVX512F-NEXT:    vpextrq $1, %xmm1, %rax
++; AVX512F-NEXT:    vcvtusi2ss %rax, %xmm3, %xmm1
+ ; AVX512F-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[0]
+ ; AVX512F-NEXT:    retq
+ ;
+ ; AVX512VL-LABEL: uitofp_load_4i64_to_4f32:
+ ; AVX512VL:       # %bb.0:
+-; AVX512VL-NEXT:    vcvtusi2ssq 8(%rdi), %xmm0, %xmm0
+-; AVX512VL-NEXT:    vcvtusi2ssq (%rdi), %xmm1, %xmm1
+-; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[2,3]
+-; AVX512VL-NEXT:    vcvtusi2ssq 16(%rdi), %xmm2, %xmm1
+-; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm1[0],xmm0[3]
+-; AVX512VL-NEXT:    vcvtusi2ssq 24(%rdi), %xmm2, %xmm1
++; AVX512VL-NEXT:    vmovdqa (%rdi), %xmm0
++; AVX512VL-NEXT:    vmovdqa 16(%rdi), %xmm1
++; AVX512VL-NEXT:    vpextrq $1, %xmm0, %rax
++; AVX512VL-NEXT:    vcvtusi2ss %rax, %xmm2, %xmm2
++; AVX512VL-NEXT:    vmovq %xmm0, %rax
++; AVX512VL-NEXT:    vcvtusi2ss %rax, %xmm3, %xmm0
++; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[2,3]
++; AVX512VL-NEXT:    vmovq %xmm1, %rax
++; AVX512VL-NEXT:    vcvtusi2ss %rax, %xmm3, %xmm2
++; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm2[0],xmm0[3]
++; AVX512VL-NEXT:    vpextrq $1, %xmm1, %rax
++; AVX512VL-NEXT:    vcvtusi2ss %rax, %xmm3, %xmm1
+ ; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[0]
+ ; AVX512VL-NEXT:    retq
+ ;
+@@ -4566,7 +4701,7 @@ define <8 x float> @uitofp_load_8i64_to_8f32(<8 x i64> *%a) {
+ ; SSE2-LABEL: uitofp_load_8i64_to_8f32:
+ ; SSE2:       # %bb.0:
+ ; SSE2-NEXT:    movdqa 16(%rdi), %xmm0
+-; SSE2-NEXT:    movq 16(%rdi), %rax
++; SSE2-NEXT:    movq %xmm0, %rax
+ ; SSE2-NEXT:    testq %rax, %rax
+ ; SSE2-NEXT:    js .LBB87_1
+ ; SSE2-NEXT:  # %bb.2:
+@@ -4580,23 +4715,23 @@ define <8 x float> @uitofp_load_8i64_to_8f32(<8 x i64> *%a) {
+ ; SSE2-NEXT:    cvtsi2ss %rax, %xmm2
+ ; SSE2-NEXT:    addss %xmm2, %xmm2
+ ; SSE2-NEXT:  .LBB87_3:
+-; SSE2-NEXT:    movq (%rdi), %rax
++; SSE2-NEXT:    movdqa (%rdi), %xmm3
+ ; SSE2-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[2,3,2,3]
+-; SSE2-NEXT:    movq %xmm0, %rcx
+-; SSE2-NEXT:    testq %rcx, %rcx
++; SSE2-NEXT:    movq %xmm0, %rax
++; SSE2-NEXT:    testq %rax, %rax
+ ; SSE2-NEXT:    js .LBB87_4
+ ; SSE2-NEXT:  # %bb.5:
+-; SSE2-NEXT:    cvtsi2ss %rcx, %xmm1
++; SSE2-NEXT:    cvtsi2ss %rax, %xmm1
+ ; SSE2-NEXT:    jmp .LBB87_6
+ ; SSE2-NEXT:  .LBB87_4:
+-; SSE2-NEXT:    movq %rcx, %rdx
+-; SSE2-NEXT:    shrq %rdx
+-; SSE2-NEXT:    andl $1, %ecx
+-; SSE2-NEXT:    orq %rdx, %rcx
+-; SSE2-NEXT:    cvtsi2ss %rcx, %xmm1
++; SSE2-NEXT:    movq %rax, %rcx
++; SSE2-NEXT:    shrq %rcx
++; SSE2-NEXT:    andl $1, %eax
++; SSE2-NEXT:    orq %rcx, %rax
++; SSE2-NEXT:    cvtsi2ss %rax, %xmm1
+ ; SSE2-NEXT:    addss %xmm1, %xmm1
+ ; SSE2-NEXT:  .LBB87_6:
+-; SSE2-NEXT:    movdqa (%rdi), %xmm3
++; SSE2-NEXT:    movq %xmm3, %rax
+ ; SSE2-NEXT:    testq %rax, %rax
+ ; SSE2-NEXT:    js .LBB87_7
+ ; SSE2-NEXT:  # %bb.8:
+@@ -4612,23 +4747,23 @@ define <8 x float> @uitofp_load_8i64_to_8f32(<8 x i64> *%a) {
+ ; SSE2-NEXT:    cvtsi2ss %rax, %xmm0
+ ; SSE2-NEXT:    addss %xmm0, %xmm0
+ ; SSE2-NEXT:  .LBB87_9:
+-; SSE2-NEXT:    movq 48(%rdi), %rax
++; SSE2-NEXT:    movdqa 48(%rdi), %xmm6
+ ; SSE2-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[2,3,2,3]
+-; SSE2-NEXT:    movq %xmm3, %rcx
+-; SSE2-NEXT:    testq %rcx, %rcx
++; SSE2-NEXT:    movq %xmm3, %rax
++; SSE2-NEXT:    testq %rax, %rax
+ ; SSE2-NEXT:    js .LBB87_10
+ ; SSE2-NEXT:  # %bb.11:
+-; SSE2-NEXT:    cvtsi2ss %rcx, %xmm4
++; SSE2-NEXT:    cvtsi2ss %rax, %xmm4
+ ; SSE2-NEXT:    jmp .LBB87_12
+ ; SSE2-NEXT:  .LBB87_10:
+-; SSE2-NEXT:    movq %rcx, %rdx
+-; SSE2-NEXT:    shrq %rdx
+-; SSE2-NEXT:    andl $1, %ecx
+-; SSE2-NEXT:    orq %rdx, %rcx
+-; SSE2-NEXT:    cvtsi2ss %rcx, %xmm4
++; SSE2-NEXT:    movq %rax, %rcx
++; SSE2-NEXT:    shrq %rcx
++; SSE2-NEXT:    andl $1, %eax
++; SSE2-NEXT:    orq %rcx, %rax
++; SSE2-NEXT:    cvtsi2ss %rax, %xmm4
+ ; SSE2-NEXT:    addss %xmm4, %xmm4
+ ; SSE2-NEXT:  .LBB87_12:
+-; SSE2-NEXT:    movdqa 48(%rdi), %xmm5
++; SSE2-NEXT:    movq %xmm6, %rax
+ ; SSE2-NEXT:    testq %rax, %rax
+ ; SSE2-NEXT:    js .LBB87_13
+ ; SSE2-NEXT:  # %bb.14:
+@@ -4644,27 +4779,27 @@ define <8 x float> @uitofp_load_8i64_to_8f32(<8 x i64> *%a) {
+ ; SSE2-NEXT:    cvtsi2ss %rax, %xmm3
+ ; SSE2-NEXT:    addss %xmm3, %xmm3
+ ; SSE2-NEXT:  .LBB87_15:
+-; SSE2-NEXT:    movq 32(%rdi), %rax
+-; SSE2-NEXT:    pshufd {{.*#+}} xmm5 = xmm5[2,3,2,3]
+-; SSE2-NEXT:    movq %xmm5, %rcx
+-; SSE2-NEXT:    testq %rcx, %rcx
++; SSE2-NEXT:    movdqa 32(%rdi), %xmm5
++; SSE2-NEXT:    pshufd {{.*#+}} xmm6 = xmm6[2,3,2,3]
++; SSE2-NEXT:    movq %xmm6, %rax
++; SSE2-NEXT:    testq %rax, %rax
+ ; SSE2-NEXT:    js .LBB87_16
+ ; SSE2-NEXT:  # %bb.17:
+-; SSE2-NEXT:    xorps %xmm5, %xmm5
+-; SSE2-NEXT:    cvtsi2ss %rcx, %xmm5
++; SSE2-NEXT:    xorps %xmm6, %xmm6
++; SSE2-NEXT:    cvtsi2ss %rax, %xmm6
+ ; SSE2-NEXT:    jmp .LBB87_18
+ ; SSE2-NEXT:  .LBB87_16:
+-; SSE2-NEXT:    movq %rcx, %rdx
+-; SSE2-NEXT:    shrq %rdx
+-; SSE2-NEXT:    andl $1, %ecx
+-; SSE2-NEXT:    orq %rdx, %rcx
+-; SSE2-NEXT:    xorps %xmm5, %xmm5
+-; SSE2-NEXT:    cvtsi2ss %rcx, %xmm5
+-; SSE2-NEXT:    addss %xmm5, %xmm5
++; SSE2-NEXT:    movq %rax, %rcx
++; SSE2-NEXT:    shrq %rcx
++; SSE2-NEXT:    andl $1, %eax
++; SSE2-NEXT:    orq %rcx, %rax
++; SSE2-NEXT:    xorps %xmm6, %xmm6
++; SSE2-NEXT:    cvtsi2ss %rax, %xmm6
++; SSE2-NEXT:    addss %xmm6, %xmm6
+ ; SSE2-NEXT:  .LBB87_18:
+ ; SSE2-NEXT:    unpcklps {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]
+ ; SSE2-NEXT:    unpcklps {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1]
+-; SSE2-NEXT:    movdqa 32(%rdi), %xmm4
++; SSE2-NEXT:    movq %xmm5, %rax
+ ; SSE2-NEXT:    testq %rax, %rax
+ ; SSE2-NEXT:    js .LBB87_19
+ ; SSE2-NEXT:  # %bb.20:
+@@ -4681,8 +4816,8 @@ define <8 x float> @uitofp_load_8i64_to_8f32(<8 x i64> *%a) {
+ ; SSE2-NEXT:    addss %xmm1, %xmm1
+ ; SSE2-NEXT:  .LBB87_21:
+ ; SSE2-NEXT:    movlhps {{.*#+}} xmm0 = xmm0[0],xmm2[0]
+-; SSE2-NEXT:    unpcklps {{.*#+}} xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1]
+-; SSE2-NEXT:    pshufd {{.*#+}} xmm2 = xmm4[2,3,2,3]
++; SSE2-NEXT:    unpcklps {{.*#+}} xmm3 = xmm3[0],xmm6[0],xmm3[1],xmm6[1]
++; SSE2-NEXT:    pshufd {{.*#+}} xmm2 = xmm5[2,3,2,3]
+ ; SSE2-NEXT:    movq %xmm2, %rax
+ ; SSE2-NEXT:    testq %rax, %rax
+ ; SSE2-NEXT:    js .LBB87_22
+@@ -4886,40 +5021,64 @@ define <8 x float> @uitofp_load_8i64_to_8f32(<8 x i64> *%a) {
+ ;
+ ; AVX512F-LABEL: uitofp_load_8i64_to_8f32:
+ ; AVX512F:       # %bb.0:
+-; AVX512F-NEXT:    vcvtusi2ssq 40(%rdi), %xmm0, %xmm0
+-; AVX512F-NEXT:    vcvtusi2ssq 32(%rdi), %xmm1, %xmm1
+-; AVX512F-NEXT:    vinsertps {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[2,3]
+-; AVX512F-NEXT:    vcvtusi2ssq 48(%rdi), %xmm2, %xmm1
+-; AVX512F-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm1[0],xmm0[3]
+-; AVX512F-NEXT:    vcvtusi2ssq 56(%rdi), %xmm2, %xmm1
++; AVX512F-NEXT:    vmovaps (%rdi), %xmm0
++; AVX512F-NEXT:    vmovdqa 16(%rdi), %xmm1
++; AVX512F-NEXT:    vmovdqa 32(%rdi), %xmm2
++; AVX512F-NEXT:    vmovdqa 48(%rdi), %xmm3
++; AVX512F-NEXT:    vpextrq $1, %xmm2, %rax
++; AVX512F-NEXT:    vcvtusi2ss %rax, %xmm4, %xmm4
++; AVX512F-NEXT:    vmovq %xmm2, %rax
++; AVX512F-NEXT:    vcvtusi2ss %rax, %xmm5, %xmm2
++; AVX512F-NEXT:    vinsertps {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[2,3]
++; AVX512F-NEXT:    vmovq %xmm3, %rax
++; AVX512F-NEXT:    vcvtusi2ss %rax, %xmm5, %xmm4
++; AVX512F-NEXT:    vinsertps {{.*#+}} xmm2 = xmm2[0,1],xmm4[0],xmm2[3]
++; AVX512F-NEXT:    vpextrq $1, %xmm3, %rax
++; AVX512F-NEXT:    vcvtusi2ss %rax, %xmm5, %xmm3
++; AVX512F-NEXT:    vinsertps {{.*#+}} xmm2 = xmm2[0,1,2],xmm3[0]
++; AVX512F-NEXT:    vpextrq $1, %xmm0, %rax
++; AVX512F-NEXT:    vcvtusi2ss %rax, %xmm5, %xmm3
++; AVX512F-NEXT:    vmovq %xmm0, %rax
++; AVX512F-NEXT:    vcvtusi2ss %rax, %xmm5, %xmm0
++; AVX512F-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[2,3]
++; AVX512F-NEXT:    vmovq %xmm1, %rax
++; AVX512F-NEXT:    vcvtusi2ss %rax, %xmm5, %xmm3
++; AVX512F-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm3[0],xmm0[3]
++; AVX512F-NEXT:    vpextrq $1, %xmm1, %rax
++; AVX512F-NEXT:    vcvtusi2ss %rax, %xmm5, %xmm1
+ ; AVX512F-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[0]
+-; AVX512F-NEXT:    vcvtusi2ssq 8(%rdi), %xmm2, %xmm1
+-; AVX512F-NEXT:    vcvtusi2ssq (%rdi), %xmm2, %xmm2
+-; AVX512F-NEXT:    vinsertps {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[2,3]
+-; AVX512F-NEXT:    vcvtusi2ssq 16(%rdi), %xmm3, %xmm2
+-; AVX512F-NEXT:    vinsertps {{.*#+}} xmm1 = xmm1[0,1],xmm2[0],xmm1[3]
+-; AVX512F-NEXT:    vcvtusi2ssq 24(%rdi), %xmm3, %xmm2
+-; AVX512F-NEXT:    vinsertps {{.*#+}} xmm1 = xmm1[0,1,2],xmm2[0]
+-; AVX512F-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm0
++; AVX512F-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm0
+ ; AVX512F-NEXT:    retq
+ ;
+ ; AVX512VL-LABEL: uitofp_load_8i64_to_8f32:
+ ; AVX512VL:       # %bb.0:
+-; AVX512VL-NEXT:    vcvtusi2ssq 40(%rdi), %xmm0, %xmm0
+-; AVX512VL-NEXT:    vcvtusi2ssq 32(%rdi), %xmm1, %xmm1
+-; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[2,3]
+-; AVX512VL-NEXT:    vcvtusi2ssq 48(%rdi), %xmm2, %xmm1
+-; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm1[0],xmm0[3]
+-; AVX512VL-NEXT:    vcvtusi2ssq 56(%rdi), %xmm2, %xmm1
++; AVX512VL-NEXT:    vmovaps (%rdi), %xmm0
++; AVX512VL-NEXT:    vmovdqa 16(%rdi), %xmm1
++; AVX512VL-NEXT:    vmovdqa 32(%rdi), %xmm2
++; AVX512VL-NEXT:    vmovdqa 48(%rdi), %xmm3
++; AVX512VL-NEXT:    vpextrq $1, %xmm2, %rax
++; AVX512VL-NEXT:    vcvtusi2ss %rax, %xmm4, %xmm4
++; AVX512VL-NEXT:    vmovq %xmm2, %rax
++; AVX512VL-NEXT:    vcvtusi2ss %rax, %xmm5, %xmm2
++; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[2,3]
++; AVX512VL-NEXT:    vmovq %xmm3, %rax
++; AVX512VL-NEXT:    vcvtusi2ss %rax, %xmm5, %xmm4
++; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm2 = xmm2[0,1],xmm4[0],xmm2[3]
++; AVX512VL-NEXT:    vpextrq $1, %xmm3, %rax
++; AVX512VL-NEXT:    vcvtusi2ss %rax, %xmm5, %xmm3
++; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm2 = xmm2[0,1,2],xmm3[0]
++; AVX512VL-NEXT:    vpextrq $1, %xmm0, %rax
++; AVX512VL-NEXT:    vcvtusi2ss %rax, %xmm5, %xmm3
++; AVX512VL-NEXT:    vmovq %xmm0, %rax
++; AVX512VL-NEXT:    vcvtusi2ss %rax, %xmm5, %xmm0
++; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[2,3]
++; AVX512VL-NEXT:    vmovq %xmm1, %rax
++; AVX512VL-NEXT:    vcvtusi2ss %rax, %xmm5, %xmm3
++; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],xmm3[0],xmm0[3]
++; AVX512VL-NEXT:    vpextrq $1, %xmm1, %rax
++; AVX512VL-NEXT:    vcvtusi2ss %rax, %xmm5, %xmm1
+ ; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[0]
+-; AVX512VL-NEXT:    vcvtusi2ssq 8(%rdi), %xmm2, %xmm1
+-; AVX512VL-NEXT:    vcvtusi2ssq (%rdi), %xmm2, %xmm2
+-; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[2,3]
+-; AVX512VL-NEXT:    vcvtusi2ssq 16(%rdi), %xmm3, %xmm2
+-; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm1 = xmm1[0,1],xmm2[0],xmm1[3]
+-; AVX512VL-NEXT:    vcvtusi2ssq 24(%rdi), %xmm3, %xmm2
+-; AVX512VL-NEXT:    vinsertps {{.*#+}} xmm1 = xmm1[0,1,2],xmm2[0]
+-; AVX512VL-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm0
++; AVX512VL-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm0
+ ; AVX512VL-NEXT:    retq
+ ;
+ ; AVX512DQ-LABEL: uitofp_load_8i64_to_8f32:
diff --git a/sys-devel/llvm/files/cherry/85750de685f543443ec38c407392d9d7cdc19451.patch b/sys-devel/llvm/files/cherry/85750de685f543443ec38c407392d9d7cdc19451.patch
new file mode 100644
index 0000000..3d43a33
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/85750de685f543443ec38c407392d9d7cdc19451.patch
@@ -0,0 +1,51 @@
+commit 85750de685f543443ec38c407392d9d7cdc19451
+Author: Aaron Ballman <aaron@aaronballman.com>
+Date:   Thu May 26 07:40:10 2022 -0400
+
+    Use the canonical type when matching a generic selection association
+    
+    This ensures that a deduced type like __auto_type matches the correct
+    association instead of matching all associations.
+    
+    This addresses a regression from e4a42c5b64d044ae28d9483b0ebd12038d5b5917
+    
+    Fixes #55702
+
+diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp
+index 9d9cb99085f3..3e8bd63e89ae 100644
+--- a/clang/lib/Sema/SemaExpr.cpp
++++ b/clang/lib/Sema/SemaExpr.cpp
+@@ -1753,10 +1753,14 @@ Sema::CreateGenericSelectionExpr(SourceLocation KeyLoc,
+ 
+   SmallVector<unsigned, 1> CompatIndices;
+   unsigned DefaultIndex = -1U;
++  // Look at the canonical type of the controlling expression in case it was a
++  // deduced type like __auto_type. However, when issuing diagnostics, use the
++  // type the user wrote in source rather than the canonical one.
+   for (unsigned i = 0; i < NumAssocs; ++i) {
+     if (!Types[i])
+       DefaultIndex = i;
+-    else if (Context.typesAreCompatible(ControllingExpr->getType(),
++    else if (Context.typesAreCompatible(
++                 ControllingExpr->getType().getCanonicalType(),
+                                         Types[i]->getType()))
+       CompatIndices.push_back(i);
+   }
+diff --git a/clang/test/Sema/auto-type.c b/clang/test/Sema/auto-type.c
+index 4e85eecc6b05..1170c687c96a 100644
+--- a/clang/test/Sema/auto-type.c
++++ b/clang/test/Sema/auto-type.c
+@@ -78,3 +78,13 @@ void Issue53652(void) {
+                  __typeof__(i) : 0,   // expected-note {{compatible type 'typeof (i)' (aka 'int') specified here}}
+                  __typeof__(a) : 1);  // expected-error {{type 'typeof (a)' (aka 'int') in generic association compatible with previously specified type 'typeof (i)' (aka 'int')}}
+ }
++
++void Issue55702(void) {
++  // A controlling expression which uses __auto_type should not be
++  // automatically compatible with every association; we should be using the
++  // canonical type for that comparison.
++  void *ptr = 0;
++  __auto_type v = ptr;
++  (void)_Generic(v, long double : 0, double : 0, default : 1); // OK
++  _Static_assert(_Generic(v, long double : 0, default : 1) == 1, "fail");
++}
diff --git a/sys-devel/llvm/files/cherry/85ee1d3ca1d06b6bd3477515b8d0c72c8df7c069.patch b/sys-devel/llvm/files/cherry/85ee1d3ca1d06b6bd3477515b8d0c72c8df7c069.patch
new file mode 100644
index 0000000..0441a6f
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/85ee1d3ca1d06b6bd3477515b8d0c72c8df7c069.patch
@@ -0,0 +1,53 @@
+commit 85ee1d3ca1d06b6bd3477515b8d0c72c8df7c069
+Author: David Blaikie <dblaikie@gmail.com>
+Date:   Wed Mar 9 21:05:03 2022 +0000
+
+    Revert "Disable -Wmissing-prototypes for internal linkage functions that aren't explicitly marked "static""
+    
+    Regresses:
+    typedef struct {
+      static void  f() {
+      }
+    } a_t;
+    
+    Causing this to error instead of warn, because the linkage is computed
+    earlier/too early perhaps. I'll send out a review to see if there's some
+    other path forward or if this is an acceptable regression, etc.
+    
+    This reverts commit 275c56226d7fbd6a4d554807374f78d323aa0c1c.
+
+diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
+index b88d9f2f847f..fa086ae0f612 100644
+--- a/clang/lib/Sema/SemaDecl.cpp
++++ b/clang/lib/Sema/SemaDecl.cpp
+@@ -14210,9 +14210,6 @@ ShouldWarnAboutMissingPrototype(const FunctionDecl *FD,
+   if (!FD->isGlobal())
+     return false;
+ 
+-  if (!FD->isExternallyVisible())
+-    return false;
+-
+   // Don't warn about C++ member functions.
+   if (isa<CXXMethodDecl>(FD))
+     return false;
+diff --git a/clang/test/SemaCXX/warn-missing-prototypes.cpp b/clang/test/SemaCXX/warn-missing-prototypes.cpp
+index 2880514ee02b..e8637e5a90ea 100644
+--- a/clang/test/SemaCXX/warn-missing-prototypes.cpp
++++ b/clang/test/SemaCXX/warn-missing-prototypes.cpp
+@@ -44,16 +44,3 @@ void j() = delete;
+ extern void k() {} // expected-warning {{no previous prototype for function 'k'}}
+ // expected-note@-1{{declare 'static' if the function is not intended to be used outside of this translation unit}}
+ // CHECK-NOT: fix-it:"{{.*}}":{[[@LINE-2]]:{{.*}}-[[@LINE-2]]:{{.*}}}:"{{.*}}"
+-
+-namespace {
+-struct anon { };
+-}
+-
+-// No warning because this has internal linkage despite not being declared
+-// explicitly 'static', owing to the internal linkage parameter.
+-void l(anon) {
+-}
+-
+-void *operator new(decltype(sizeof(3)) size, const anon &) throw() {
+-  return nullptr;
+-}
diff --git a/sys-devel/llvm/files/cherry/86c770346c26ce4c9abf5a5b7ab4b5bbfdcf9d78.patch b/sys-devel/llvm/files/cherry/86c770346c26ce4c9abf5a5b7ab4b5bbfdcf9d78.patch
index 8010e4b..4390d8d 100644
--- a/sys-devel/llvm/files/cherry/86c770346c26ce4c9abf5a5b7ab4b5bbfdcf9d78.patch
+++ b/sys-devel/llvm/files/cherry/86c770346c26ce4c9abf5a5b7ab4b5bbfdcf9d78.patch
@@ -1,7 +1,8 @@
-From 7b37d5005ffce93020ebf85eb2f2917c1c4f7ed4 Mon Sep 17 00:00:00 2001
+From 8422ea93dea286faddab9191a423c240367d4813 Mon Sep 17 00:00:00 2001
 From: Nikita Popov <npopov@redhat.com>
 Date: Tue, 26 Apr 2022 18:50:44 +0200
-Subject: [PATCH] Automatically declare and lex attribute keywords (NFC)
+Subject: [PATCH 1/2] [AsmParser] Automatically declare and lex attribute
+ keywords (NFC)
 
 Rather than listing these by hand, include all enum attribute
 keywords from Attributes.inc. This reduces the number of places
@@ -9,12 +10,12 @@
 
 Differential Revision: https://reviews.llvm.org/D124465
 ---
- llvm/include/llvm/AsmParser/LLToken.h | 83 ++-------------------------
- llvm/lib/AsmParser/LLLexer.cpp        | 82 ++------------------------
- 2 files changed, 9 insertions(+), 156 deletions(-)
+ llvm/include/llvm/AsmParser/LLToken.h | 85 ++------------------------
+ llvm/lib/AsmParser/LLLexer.cpp        | 86 ++-------------------------
+ 2 files changed, 10 insertions(+), 161 deletions(-)
 
 diff --git a/llvm/include/llvm/AsmParser/LLToken.h b/llvm/include/llvm/AsmParser/LLToken.h
-index f8ca054863ac..bcd92e02fcc8 100644
+index c4ccd358f938..d39049fc4c5e 100644
 --- a/llvm/include/llvm/AsmParser/LLToken.h
 +++ b/llvm/include/llvm/AsmParser/LLToken.h
 @@ -112,7 +112,6 @@ enum Kind {
@@ -33,10 +34,11 @@
    kw_inteldialect,
    kw_gc,
    kw_prefix,
-@@ -177,81 +175,11 @@ enum Kind {
+@@ -177,85 +175,13 @@ enum Kind {
  
    // Attributes:
    kw_attributes,
+-  kw_allocalign,
 -  kw_allocsize,
 -  kw_alwaysinline,
 -  kw_argmemonly,
@@ -79,6 +81,7 @@
 -  kw_nosync,
 -  kw_nocf_check,
 -  kw_nounwind,
+-  kw_nosanitize_bounds,
 -  kw_nosanitize_coverage,
 -  kw_null_pointer_is_valid,
 -  kw_optforfuzzing,
@@ -113,6 +116,8 @@
 -  kw_byref,
 -  kw_mustprogress,
 +
+   kw_sync,
+   kw_async,
 +#define GET_ATTR_NAMES
 +#define ATTRIBUTE_ENUM(ENUM_NAME, DISPLAY_NAME) \
 +  kw_##DISPLAY_NAME,
@@ -120,7 +125,7 @@
  
    kw_type,
    kw_opaque,
-@@ -413,7 +341,6 @@ enum Kind {
+@@ -419,7 +345,6 @@ enum Kind {
    kw_param,
    kw_hotness,
    kw_unknown,
@@ -129,7 +134,7 @@
    kw_relbf,
    kw_variable,
 diff --git a/llvm/lib/AsmParser/LLLexer.cpp b/llvm/lib/AsmParser/LLLexer.cpp
-index 41fb0b9008be..d229d294a9cf 100644
+index 2a091a9c94f8..f9c6d555e9d1 100644
 --- a/llvm/lib/AsmParser/LLLexer.cpp
 +++ b/llvm/lib/AsmParser/LLLexer.cpp
 @@ -567,7 +567,6 @@ lltok::Kind LLLexer::LexIdentifier() {
@@ -148,11 +153,13 @@
    KEYWORD(inteldialect);
    KEYWORD(gc);
    KEYWORD(prefix);
-@@ -633,81 +631,10 @@ lltok::Kind LLLexer::LexIdentifier() {
+@@ -632,87 +630,14 @@ lltok::Kind LLLexer::LexIdentifier() {
+   KEYWORD(c);
  
    KEYWORD(attributes);
- 
+-
 -  KEYWORD(alwaysinline);
+-  KEYWORD(allocalign);
 -  KEYWORD(allocsize);
 -  KEYWORD(argmemonly);
 -  KEYWORD(builtin);
@@ -191,6 +198,7 @@
 -  KEYWORD(nocf_check);
 -  KEYWORD(noundef);
 -  KEYWORD(nounwind);
+-  KEYWORD(nosanitize_bounds);
 -  KEYWORD(nosanitize_coverage);
 -  KEYWORD(null_pointer_is_valid);
 -  KEYWORD(optforfuzzing);
@@ -227,14 +235,18 @@
 -  KEYWORD(immarg);
 -  KEYWORD(byref);
 -  KEYWORD(mustprogress);
+   KEYWORD(sync);
+   KEYWORD(async);
+ 
 +#define GET_ATTR_NAMES
 +#define ATTRIBUTE_ENUM(ENUM_NAME, DISPLAY_NAME) \
 +  KEYWORD(DISPLAY_NAME);
 +#include "llvm/IR/Attributes.inc"
- 
++
    KEYWORD(type);
    KEYWORD(opaque);
-@@ -779,7 +706,6 @@ lltok::Kind LLLexer::LexIdentifier() {
+ 
+@@ -785,7 +710,6 @@ lltok::Kind LLLexer::LexIdentifier() {
    KEYWORD(param);
    KEYWORD(hotness);
    KEYWORD(unknown);
diff --git a/sys-devel/llvm/files/cherry/93e2b59c076e266e78627ff7cf1dc9ed7d85550d.patch b/sys-devel/llvm/files/cherry/93e2b59c076e266e78627ff7cf1dc9ed7d85550d.patch
new file mode 100644
index 0000000..762bfb9
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/93e2b59c076e266e78627ff7cf1dc9ed7d85550d.patch
@@ -0,0 +1,19 @@
+commit 93e2b59c076e266e78627ff7cf1dc9ed7d85550d
+Author: Fangrui Song <i@maskray.me>
+Date:   Fri Feb 18 12:32:27 2022 -0800
+
+    [ELF][test] Avoid non-portable |& in notest.s
+
+diff --git a/lld/test/ELF/linkerscript/noload.s b/lld/test/ELF/linkerscript/noload.s
+index 1cc09670e8b1..fbee54b9e5b4 100644
+--- a/lld/test/ELF/linkerscript/noload.s
++++ b/lld/test/ELF/linkerscript/noload.s
+@@ -19,7 +19,7 @@
+ 
+ ## The output SHT_PROBITS is contrary to the user expectation of SHT_NOBITS.
+ ## Issue a warning. See https://github.com/ClangBuiltLinux/linux/issues/1597
+-# RUN: ld.lld --script %t/lds %t.o %t/mismatch.o -o %t/out 2>&1 |& FileCheck %s --check-prefix=WARN
++# RUN: ld.lld --script %t/lds %t.o %t/mismatch.o -o %t/out 2>&1 | FileCheck %s --check-prefix=WARN
+ # RUN: llvm-readelf -S -l %t/out | FileCheck %s --check-prefix=CHECK2
+ 
+ # WARN:   warning: section type mismatch for .data_noload_a
diff --git a/sys-devel/llvm/files/cherry/97e0366d6711babc3121d2a043c08a7a0c258479.patch b/sys-devel/llvm/files/cherry/97e0366d6711babc3121d2a043c08a7a0c258479.patch
new file mode 100644
index 0000000..3046528
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/97e0366d6711babc3121d2a043c08a7a0c258479.patch
@@ -0,0 +1,140 @@
+From 97e0366d6711babc3121d2a043c08a7a0c258479 Mon Sep 17 00:00:00 2001
+From: David Green <david.green@arm.com>
+Date: Wed, 2 Mar 2022 18:07:14 +0000
+Subject: [PATCH] [AArch64] Add some fp16 conversion cost tests. NFC
+
+---
+ llvm/test/Analysis/CostModel/AArch64/cast.ll | 112 ++++++++++++++++++-
+ 1 file changed, 111 insertions(+), 1 deletion(-)
+
+diff --git a/llvm/test/Analysis/CostModel/AArch64/cast.ll b/llvm/test/Analysis/CostModel/AArch64/cast.ll
+index 63c84f5ceaa7..588a67136115 100644
+--- a/llvm/test/Analysis/CostModel/AArch64/cast.ll
++++ b/llvm/test/Analysis/CostModel/AArch64/cast.ll
+@@ -536,7 +536,6 @@ define i32 @casts_no_users() {
+   %r111 = fptosi <4 x float> undef to <4 x i1>
+   %r112 = fptoui <4 x float> undef to <4 x i8>
+   %r113 = fptosi <4 x float> undef to <4 x i8>
+-
+   %r114 = fptoui <4 x float> undef to <4 x i16>
+   %r115 = fptosi <4 x float> undef to <4 x i16>
+   %r116 = fptoui <4 x float> undef to <4 x i32>
+@@ -1022,4 +1021,115 @@ define void @extend_extract() {
+ 
+ declare void @use(i16, i16, i32, i32, i64, i64, i32, i32, i64, i64, i64, i64)
+ 
++define void @fp16cast() {
++; CHECK-LABEL: 'fp16cast'
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r30 = fptoui half undef to i1
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r31 = fptosi half undef to i1
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r32 = fptoui half undef to i8
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r33 = fptosi half undef to i8
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r34 = fptoui half undef to i16
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r35 = fptosi half undef to i16
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r36 = fptoui half undef to i32
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r37 = fptosi half undef to i32
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r38 = fptoui half undef to i64
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r39 = fptosi half undef to i64
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r90 = fptoui <2 x half> undef to <2 x i1>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r91 = fptosi <2 x half> undef to <2 x i1>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r92 = fptoui <2 x half> undef to <2 x i8>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r93 = fptosi <2 x half> undef to <2 x i8>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r94 = fptoui <2 x half> undef to <2 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r95 = fptosi <2 x half> undef to <2 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r96 = fptoui <2 x half> undef to <2 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r97 = fptosi <2 x half> undef to <2 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r98 = fptoui <2 x half> undef to <2 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r99 = fptosi <2 x half> undef to <2 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r110 = fptoui <4 x half> undef to <4 x i1>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r111 = fptosi <4 x half> undef to <4 x i1>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r112 = fptoui <4 x half> undef to <4 x i8>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r113 = fptosi <4 x half> undef to <4 x i8>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r114 = fptoui <4 x half> undef to <4 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r115 = fptosi <4 x half> undef to <4 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 22 for instruction: %r116 = fptoui <4 x half> undef to <4 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 22 for instruction: %r117 = fptosi <4 x half> undef to <4 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 17 for instruction: %r118 = fptoui <4 x half> undef to <4 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 17 for instruction: %r119 = fptosi <4 x half> undef to <4 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 50 for instruction: %r130 = fptoui <8 x half> undef to <8 x i1>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 50 for instruction: %r131 = fptosi <8 x half> undef to <8 x i1>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 50 for instruction: %r132 = fptoui <8 x half> undef to <8 x i8>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 50 for instruction: %r133 = fptosi <8 x half> undef to <8 x i8>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r134 = fptoui <8 x half> undef to <8 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r135 = fptosi <8 x half> undef to <8 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 45 for instruction: %r136 = fptoui <8 x half> undef to <8 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 45 for instruction: %r137 = fptosi <8 x half> undef to <8 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 35 for instruction: %r138 = fptoui <8 x half> undef to <8 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 35 for instruction: %r139 = fptosi <8 x half> undef to <8 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 101 for instruction: %r150 = fptoui <16 x half> undef to <16 x i1>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 101 for instruction: %r151 = fptosi <16 x half> undef to <16 x i1>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 101 for instruction: %r152 = fptoui <16 x half> undef to <16 x i8>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 101 for instruction: %r153 = fptosi <16 x half> undef to <16 x i8>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r154 = fptoui <16 x half> undef to <16 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r155 = fptosi <16 x half> undef to <16 x i16>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 90 for instruction: %r156 = fptoui <16 x half> undef to <16 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 90 for instruction: %r157 = fptosi <16 x half> undef to <16 x i32>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 70 for instruction: %r158 = fptoui <16 x half> undef to <16 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 70 for instruction: %r159 = fptosi <16 x half> undef to <16 x i64>
++; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
++;
++  %r30 = fptoui half undef to i1
++  %r31 = fptosi half undef to i1
++  %r32 = fptoui half undef to i8
++  %r33 = fptosi half undef to i8
++  %r34 = fptoui half undef to i16
++  %r35 = fptosi half undef to i16
++  %r36 = fptoui half undef to i32
++  %r37 = fptosi half undef to i32
++  %r38 = fptoui half undef to i64
++  %r39 = fptosi half undef to i64
++
++  %r90 = fptoui <2 x half> undef to <2 x i1>
++  %r91 = fptosi <2 x half> undef to <2 x i1>
++  %r92 = fptoui <2 x half> undef to <2 x i8>
++  %r93 = fptosi <2 x half> undef to <2 x i8>
++  %r94 = fptoui <2 x half> undef to <2 x i16>
++  %r95 = fptosi <2 x half> undef to <2 x i16>
++  %r96 = fptoui <2 x half> undef to <2 x i32>
++  %r97 = fptosi <2 x half> undef to <2 x i32>
++  %r98 = fptoui <2 x half> undef to <2 x i64>
++  %r99 = fptosi <2 x half> undef to <2 x i64>
++
++  %r110 = fptoui <4 x half> undef to <4 x i1>
++  %r111 = fptosi <4 x half> undef to <4 x i1>
++  %r112 = fptoui <4 x half> undef to <4 x i8>
++  %r113 = fptosi <4 x half> undef to <4 x i8>
++  %r114 = fptoui <4 x half> undef to <4 x i16>
++  %r115 = fptosi <4 x half> undef to <4 x i16>
++  %r116 = fptoui <4 x half> undef to <4 x i32>
++  %r117 = fptosi <4 x half> undef to <4 x i32>
++  %r118 = fptoui <4 x half> undef to <4 x i64>
++  %r119 = fptosi <4 x half> undef to <4 x i64>
++
++  %r130 = fptoui <8 x half> undef to <8 x i1>
++  %r131 = fptosi <8 x half> undef to <8 x i1>
++  %r132 = fptoui <8 x half> undef to <8 x i8>
++  %r133 = fptosi <8 x half> undef to <8 x i8>
++  %r134 = fptoui <8 x half> undef to <8 x i16>
++  %r135 = fptosi <8 x half> undef to <8 x i16>
++  %r136 = fptoui <8 x half> undef to <8 x i32>
++  %r137 = fptosi <8 x half> undef to <8 x i32>
++  %r138 = fptoui <8 x half> undef to <8 x i64>
++  %r139 = fptosi <8 x half> undef to <8 x i64>
++
++  %r150 = fptoui <16 x half> undef to <16 x i1>
++  %r151 = fptosi <16 x half> undef to <16 x i1>
++  %r152 = fptoui <16 x half> undef to <16 x i8>
++  %r153 = fptosi <16 x half> undef to <16 x i8>
++  %r154 = fptoui <16 x half> undef to <16 x i16>
++  %r155 = fptosi <16 x half> undef to <16 x i16>
++  %r156 = fptoui <16 x half> undef to <16 x i32>
++  %r157 = fptosi <16 x half> undef to <16 x i32>
++  %r158 = fptoui <16 x half> undef to <16 x i64>
++  %r159 = fptosi <16 x half> undef to <16 x i64>
++  ret void
++}
++
+ attributes #0 = { "target-features"="+sve" }
+-- 
+2.36.0.rc0.470.gd361397f0d-goog
+
diff --git a/sys-devel/llvm/files/cherry/9a74c753fe3fb40afeb0660060538678dd77d060.patch b/sys-devel/llvm/files/cherry/9a74c753fe3fb40afeb0660060538678dd77d060.patch
new file mode 100644
index 0000000..2c41ac8
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/9a74c753fe3fb40afeb0660060538678dd77d060.patch
@@ -0,0 +1,489 @@
+commit 9a74c753fe3fb40afeb0660060538678dd77d060
+Author: Sami Tolvanen <samitolvanen@google.com>
+Date:   Fri Dec 10 11:11:28 2021 -0800
+
+    [ThinLTO][MC] Use conditional assignments for promotion aliases
+    
+    Inline assembly refererences to static functions with ThinLTO+CFI were
+    fixed in D104058 by creating aliases for promoted functions. Creating
+    the aliases unconditionally resulted in an unexpected size increase in
+    a Chrome helper binary:
+    
+    https://bugs.chromium.org/p/chromium/issues/detail?id=1261715
+    
+    This is caused by the compiler being unable to drop unused code now
+    referenced by the alias in module-level inline assembly. This change
+    adds a .set_conditional assembly extension, which emits an assignment
+    only if the target symbol is also emitted, avoiding phantom references
+    to functions that could have otherwise been dropped.
+    
+    This is an alternative to the solution proposed in D112761.
+    
+    Reviewed By: pcc, nickdesaulniers, MaskRay
+    
+    Differential Revision: https://reviews.llvm.org/D113613
+
+diff --git a/llvm/include/llvm/MC/MCObjectStreamer.h b/llvm/include/llvm/MC/MCObjectStreamer.h
+index 9d6416e4a18d..183fd79fb9fc 100644
+--- a/llvm/include/llvm/MC/MCObjectStreamer.h
++++ b/llvm/include/llvm/MC/MCObjectStreamer.h
+@@ -50,6 +50,16 @@ class MCObjectStreamer : public MCStreamer {
+   };
+   SmallVector<PendingMCFixup, 2> PendingFixups;
+ 
++  struct PendingAssignment {
++    MCSymbol *Symbol;
++    const MCExpr *Value;
++  };
++
++  /// A list of conditional assignments we may need to emit if the target
++  /// symbol is later emitted.
++  DenseMap<const MCSymbol *, SmallVector<PendingAssignment, 1>>
++      pendingAssignments;
++
+   virtual void emitInstToData(const MCInst &Inst, const MCSubtargetInfo&) = 0;
+   void emitCFIStartProcImpl(MCDwarfFrameInfo &Frame) override;
+   void emitCFIEndProcImpl(MCDwarfFrameInfo &Frame) override;
+@@ -118,6 +128,8 @@ public:
+   virtual void emitLabelAtPos(MCSymbol *Symbol, SMLoc Loc, MCFragment *F,
+                               uint64_t Offset);
+   void emitAssignment(MCSymbol *Symbol, const MCExpr *Value) override;
++  void emitConditionalAssignment(MCSymbol *Symbol,
++                                 const MCExpr *Value) override;
+   void emitValueImpl(const MCExpr *Value, unsigned Size,
+                      SMLoc Loc = SMLoc()) override;
+   void emitULEB128Value(const MCExpr *Value) override;
+@@ -208,6 +220,10 @@ public:
+                                        const MCSymbol *Lo) override;
+ 
+   bool mayHaveInstructions(MCSection &Sec) const override;
++
++  /// Emits pending conditional assignments that depend on \p Symbol
++  /// being emitted.
++  void emitPendingAssignments(MCSymbol *Symbol);
+ };
+ 
+ } // end namespace llvm
+diff --git a/llvm/include/llvm/MC/MCStreamer.h b/llvm/include/llvm/MC/MCStreamer.h
+index 428e4039e77f..7bfbdb880098 100644
+--- a/llvm/include/llvm/MC/MCStreamer.h
++++ b/llvm/include/llvm/MC/MCStreamer.h
+@@ -524,6 +524,10 @@ public:
+   /// \param Value - The value for the symbol.
+   virtual void emitAssignment(MCSymbol *Symbol, const MCExpr *Value);
+ 
++  /// Emit an assignment of \p Value to \p Symbol, but only if \p Value is also
++  /// emitted.
++  virtual void emitConditionalAssignment(MCSymbol *Symbol, const MCExpr *Value);
++
+   /// Emit an weak reference from \p Alias to \p Symbol.
+   ///
+   /// This corresponds to an assembler statement such as:
+diff --git a/llvm/lib/MC/MCAsmStreamer.cpp b/llvm/lib/MC/MCAsmStreamer.cpp
+index 6cd3bf0d1aab..5c2aaddff4d1 100644
+--- a/llvm/lib/MC/MCAsmStreamer.cpp
++++ b/llvm/lib/MC/MCAsmStreamer.cpp
+@@ -174,6 +174,8 @@ public:
+   void emitThumbFunc(MCSymbol *Func) override;
+ 
+   void emitAssignment(MCSymbol *Symbol, const MCExpr *Value) override;
++  void emitConditionalAssignment(MCSymbol *Symbol,
++                                 const MCExpr *Value) override;
+   void emitWeakReference(MCSymbol *Alias, const MCSymbol *Symbol) override;
+   bool emitSymbolAttribute(MCSymbol *Symbol, MCSymbolAttr Attribute) override;
+ 
+@@ -679,6 +681,15 @@ void MCAsmStreamer::emitAssignment(MCSymbol *Symbol, const MCExpr *Value) {
+   MCStreamer::emitAssignment(Symbol, Value);
+ }
+ 
++void MCAsmStreamer::emitConditionalAssignment(MCSymbol *Symbol,
++                                              const MCExpr *Value) {
++  OS << ".lto_set_conditional ";
++  Symbol->print(OS, MAI);
++  OS << ", ";
++  Value->print(OS, MAI);
++  EmitEOL();
++}
++
+ void MCAsmStreamer::emitWeakReference(MCSymbol *Alias, const MCSymbol *Symbol) {
+   OS << ".weakref ";
+   Alias->print(OS, MAI);
+diff --git a/llvm/lib/MC/MCObjectStreamer.cpp b/llvm/lib/MC/MCObjectStreamer.cpp
+index 9c86fcc86bcb..6604d7988c4c 100644
+--- a/llvm/lib/MC/MCObjectStreamer.cpp
++++ b/llvm/lib/MC/MCObjectStreamer.cpp
+@@ -281,6 +281,18 @@ void MCObjectStreamer::emitLabel(MCSymbol *Symbol, SMLoc Loc) {
+     Symbol->setOffset(0);
+     addPendingLabel(Symbol);
+   }
++
++  emitPendingAssignments(Symbol);
++}
++
++void MCObjectStreamer::emitPendingAssignments(MCSymbol *Symbol) {
++  auto Assignments = pendingAssignments.find(Symbol);
++  if (Assignments != pendingAssignments.end()) {
++    for (const PendingAssignment &A : Assignments->second)
++      emitAssignment(A.Symbol, A.Value);
++
++    pendingAssignments.erase(Assignments);
++  }
+ }
+ 
+ // Emit a label at a previously emitted fragment/offset position. This must be
+@@ -353,6 +365,19 @@ bool MCObjectStreamer::changeSectionImpl(MCSection *Section,
+ void MCObjectStreamer::emitAssignment(MCSymbol *Symbol, const MCExpr *Value) {
+   getAssembler().registerSymbol(*Symbol);
+   MCStreamer::emitAssignment(Symbol, Value);
++  emitPendingAssignments(Symbol);
++}
++
++void MCObjectStreamer::emitConditionalAssignment(MCSymbol *Symbol,
++                                                 const MCExpr *Value) {
++  const MCSymbol *Target = &cast<MCSymbolRefExpr>(*Value).getSymbol();
++
++  // If the symbol already exists, emit the assignment. Otherwise, emit it
++  // later only if the symbol is also emitted.
++  if (Target->isRegistered())
++    emitAssignment(Symbol, Value);
++  else
++    pendingAssignments[Target].push_back({Symbol, Value});
+ }
+ 
+ bool MCObjectStreamer::mayHaveInstructions(MCSection &Sec) const {
+diff --git a/llvm/lib/MC/MCParser/AsmParser.cpp b/llvm/lib/MC/MCParser/AsmParser.cpp
+index 736adbd3cca2..705f7159d55b 100644
+--- a/llvm/lib/MC/MCParser/AsmParser.cpp
++++ b/llvm/lib/MC/MCParser/AsmParser.cpp
+@@ -356,8 +356,14 @@ private:
+   /// return the contents from the current token up to the end or comma.
+   StringRef parseStringToComma();
+ 
+-  bool parseAssignment(StringRef Name, bool allow_redef,
+-                       bool NoDeadStrip = false);
++  enum class AssignmentKind {
++    Set,
++    Equiv,
++    Equal,
++    LTOSetConditional,
++  };
++
++  bool parseAssignment(StringRef Name, AssignmentKind Kind);
+ 
+   unsigned getBinOpPrecedence(AsmToken::TokenKind K,
+                               MCBinaryExpr::Opcode &Kind);
+@@ -534,6 +540,7 @@ private:
+     DK_ADDRSIG_SYM,
+     DK_PSEUDO_PROBE,
+     DK_LTO_DISCARD,
++    DK_LTO_SET_CONDITIONAL,
+     DK_END
+   };
+ 
+@@ -564,8 +571,8 @@ private:
+                                const fltSemantics &); // ".single", ...
+   bool parseDirectiveFill(); // ".fill"
+   bool parseDirectiveZero(); // ".zero"
+-  // ".set", ".equ", ".equiv"
+-  bool parseDirectiveSet(StringRef IDVal, bool allow_redef);
++  // ".set", ".equ", ".equiv", ".lto_set_conditional"
++  bool parseDirectiveSet(StringRef IDVal, AssignmentKind Kind);
+   bool parseDirectiveOrg(); // ".org"
+   // ".align{,32}", ".p2align{,w,l}"
+   bool parseDirectiveAlign(bool IsPow2, unsigned ValueSize);
+@@ -1968,7 +1975,7 @@ bool AsmParser::parseStatement(ParseStatementInfo &Info,
+     // identifier '=' ... -> assignment statement
+     Lex();
+ 
+-    return parseAssignment(IDVal, true);
++    return parseAssignment(IDVal, AssignmentKind::Equal);
+ 
+   default: // Normal instruction or directive.
+     break;
+@@ -2027,9 +2034,11 @@ bool AsmParser::parseStatement(ParseStatementInfo &Info,
+       break;
+     case DK_SET:
+     case DK_EQU:
+-      return parseDirectiveSet(IDVal, true);
++      return parseDirectiveSet(IDVal, AssignmentKind::Set);
+     case DK_EQUIV:
+-      return parseDirectiveSet(IDVal, false);
++      return parseDirectiveSet(IDVal, AssignmentKind::Equiv);
++    case DK_LTO_SET_CONDITIONAL:
++      return parseDirectiveSet(IDVal, AssignmentKind::LTOSetConditional);
+     case DK_ASCII:
+       return parseDirectiveAscii(IDVal, false);
+     case DK_ASCIZ:
+@@ -2925,11 +2934,13 @@ void AsmParser::handleMacroExit() {
+   ActiveMacros.pop_back();
+ }
+ 
+-bool AsmParser::parseAssignment(StringRef Name, bool allow_redef,
+-                                bool NoDeadStrip) {
++bool AsmParser::parseAssignment(StringRef Name, AssignmentKind Kind) {
+   MCSymbol *Sym;
+   const MCExpr *Value;
+-  if (MCParserUtils::parseAssignmentExpression(Name, allow_redef, *this, Sym,
++  SMLoc ExprLoc = getTok().getLoc();
++  bool AllowRedef =
++      Kind == AssignmentKind::Set || Kind == AssignmentKind::Equal;
++  if (MCParserUtils::parseAssignmentExpression(Name, AllowRedef, *this, Sym,
+                                                Value))
+     return true;
+ 
+@@ -2944,9 +2955,22 @@ bool AsmParser::parseAssignment(StringRef Name, bool allow_redef,
+     return false;
+ 
+   // Do the assignment.
+-  Out.emitAssignment(Sym, Value);
+-  if (NoDeadStrip)
++  switch (Kind) {
++  case AssignmentKind::Equal:
++    Out.emitAssignment(Sym, Value);
++    break;
++  case AssignmentKind::Set:
++  case AssignmentKind::Equiv:
++    Out.emitAssignment(Sym, Value);
+     Out.emitSymbolAttribute(Sym, MCSA_NoDeadStrip);
++    break;
++  case AssignmentKind::LTOSetConditional:
++    if (Value->getKind() != MCExpr::SymbolRef)
++      return Error(ExprLoc, "expected identifier");
++
++    Out.emitConditionalAssignment(Sym, Value);
++    break;
++  }
+ 
+   return false;
+ }
+@@ -2998,10 +3022,11 @@ bool AsmParser::parseIdentifier(StringRef &Res) {
+ ///   ::= .equ identifier ',' expression
+ ///   ::= .equiv identifier ',' expression
+ ///   ::= .set identifier ',' expression
+-bool AsmParser::parseDirectiveSet(StringRef IDVal, bool allow_redef) {
++///   ::= .lto_set_conditional identifier ',' expression
++bool AsmParser::parseDirectiveSet(StringRef IDVal, AssignmentKind Kind) {
+   StringRef Name;
+   if (check(parseIdentifier(Name), "expected identifier") || parseComma() ||
+-      parseAssignment(Name, allow_redef, true))
++      parseAssignment(Name, Kind))
+     return true;
+   return false;
+ }
+@@ -5581,6 +5606,7 @@ void AsmParser::initializeDirectiveKindMap() {
+   DirectiveKindMap[".addrsig_sym"] = DK_ADDRSIG_SYM;
+   DirectiveKindMap[".pseudoprobe"] = DK_PSEUDO_PROBE;
+   DirectiveKindMap[".lto_discard"] = DK_LTO_DISCARD;
++  DirectiveKindMap[".lto_set_conditional"] = DK_LTO_SET_CONDITIONAL;
+ }
+ 
+ MCAsmMacro *AsmParser::parseMacroLikeBody(SMLoc DirectiveLoc) {
+diff --git a/llvm/lib/MC/MCStreamer.cpp b/llvm/lib/MC/MCStreamer.cpp
+index b056311b1b9b..9c37a7bebe2a 100644
+--- a/llvm/lib/MC/MCStreamer.cpp
++++ b/llvm/lib/MC/MCStreamer.cpp
+@@ -431,6 +431,9 @@ void MCStreamer::emitLabel(MCSymbol *Symbol, SMLoc Loc) {
+     TS->emitLabel(Symbol);
+ }
+ 
++void MCStreamer::emitConditionalAssignment(MCSymbol *Symbol,
++                                           const MCExpr *Value) {}
++
+ void MCStreamer::emitCFISections(bool EH, bool Debug) {}
+ 
+ void MCStreamer::emitCFIStartProc(bool IsSimple, SMLoc Loc) {
+diff --git a/llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp b/llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
+index 0cc1b37844f6..daaf6cbeb3fd 100644
+--- a/llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
++++ b/llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
+@@ -87,7 +87,8 @@ void promoteInternals(Module &ExportM, Module &ImportM, StringRef ModuleId,
+     if (isa<Function>(&ExportGV) && allowPromotionAlias(OldName)) {
+       // Create a local alias with the original name to avoid breaking
+       // references from inline assembly.
+-      std::string Alias = ".set " + OldName + "," + NewName + "\n";
++      std::string Alias =
++          ".lto_set_conditional " + OldName + "," + NewName + "\n";
+       ExportM.appendModuleInlineAsm(Alias);
+     }
+   }
+diff --git a/llvm/test/MC/ELF/lto-set-conditional.s b/llvm/test/MC/ELF/lto-set-conditional.s
+new file mode 100644
+index 000000000000..651708f4b5f5
+--- /dev/null
++++ b/llvm/test/MC/ELF/lto-set-conditional.s
+@@ -0,0 +1,51 @@
++# RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu < %s | llvm-readobj --symbols - | FileCheck %s
++# RUN: not llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu --defsym ERR=1 %s 2>&1 |\
++# RUN:         FileCheck %s --check-prefix=ERR
++
++.byte 0
++
++.lto_set_conditional b, a
++.lto_set_conditional d, a
++.lto_set_conditional c, b
++.lto_set_conditional e, n
++
++# CHECK:      Symbol {
++# CHECK:        Name: a
++# CHECK-NEXT:   Value: 0x1
++a:
++.byte 0
++
++# Verify that pending conditional symbols are emitted next
++
++# CHECK:      Symbol {
++# CHECK-NEXT:   Name: b
++# CHECK-NEXT:   Value: 0x1
++# CHECK:      Symbol {
++# CHECK-NEXT:   Name: c
++# CHECK-NEXT:   Value: 0x1
++# CHECK:      Symbol {
++# CHECK-NEXT:   Name: d
++# CHECK-NEXT:   Value: 0x1
++
++# CHECK-NOT:    Name: e
++
++# Remaining conditional symbols are emitted immediately
++
++# CHECK:      Symbol {
++# CHECK-NEXT:   Name: f
++# CHECK-NEXT:   Value: 0x1
++.lto_set_conditional f, a
++
++# CHECK:      Symbol {
++# CHECK-NEXT:   Name: g
++# CHECK-NEXT:   Value: 0x1
++.lto_set_conditional g, b
++
++# CHECK-NOT:   Name: h
++.lto_set_conditional h, m
++
++.ifdef ERR
++.text
++# ERR: {{.*}}.s:[[#@LINE+1]]:25: error: expected identifier
++.lto_set_conditional i, ERR
++.endif
+diff --git a/llvm/test/MC/MachO/lto-set-conditional.s b/llvm/test/MC/MachO/lto-set-conditional.s
+new file mode 100644
+index 000000000000..0007d4a259cb
+--- /dev/null
++++ b/llvm/test/MC/MachO/lto-set-conditional.s
+@@ -0,0 +1,75 @@
++# RUN: llvm-mc -filetype=obj -triple i386-apple-darwin9 < %s | llvm-readobj --symbols - | FileCheck %s
++# RUN: not llvm-mc -filetype=obj -triple i386-apple-darwin9 --defsym ERR=1 %s 2>&1 |\
++# RUN:         FileCheck %s --check-prefix=ERR
++
++.byte 0
++
++.lto_set_conditional b, a
++.lto_set_conditional d, a
++.lto_set_conditional c, b
++.lto_set_conditional e, n
++
++# CHECK:      Symbol {
++# CHECK:        Name: a
++# CHECK:        Flags [
++# CHECK-NEXT:     NoDeadStrip
++# CHECK:        Value: 0x1
++a:
++.byte 0
++.no_dead_strip a
++
++# Verify that pending conditional symbols are emitted next
++
++# CHECK:      Symbol {
++# CHECK-NEXT:   Name: b
++# CHECK:        Flags [
++# CHECK-NEXT:     NoDeadStrip
++# CHECK:        Value: 0x1
++# CHECK:      Symbol {
++# CHECK-NEXT:   Name: c
++# CHECK:        Flags [
++# CHECK-NEXT:     NoDeadStrip
++# CHECK:        Value: 0x1
++# CHECK:      Symbol {
++# CHECK-NEXT:   Name: d
++# CHECK:        Flags [
++# CHECK-NEXT:     NoDeadStrip
++# CHECK:        Value: 0x1
++
++# CHECK-NOT:    Name: e
++
++# Remaining conditional symbols are emitted immediately
++
++# CHECK:      Symbol {
++# CHECK-NEXT:   Name: f
++# CHECK:        Flags [
++# CHECK-NEXT:     NoDeadStrip
++# CHECK:        Value: 0x1
++.lto_set_conditional f, a
++
++# CHECK:      Symbol {
++# CHECK-NEXT:   Name: g
++# CHECK:        Flags [
++# CHECK-NEXT:     NoDeadStrip
++# CHECK:        Value: 0x1
++.lto_set_conditional g, b
++
++# CHECK:      Symbol {
++# CHECK-NEXT:   Name: m
++# CHECK:        Flags [
++# CHECK-NOT :     NoDeadStrip
++# CHECK:        Value: 0x2
++m:
++
++# CHECK:      Symbol {
++# CHECK-NEXT:   Name: h
++# CHECK:        Flags [
++# CHECK-NOT :     NoDeadStrip
++# CHECK:        Value: 0x2
++.lto_set_conditional h, m
++
++.ifdef ERR
++.text
++# ERR: {{.*}}.s:[[#@LINE+1]]:25: error: expected identifier
++.lto_set_conditional i, ERR
++.endif
+diff --git a/llvm/test/ThinLTO/X86/devirt2.ll b/llvm/test/ThinLTO/X86/devirt2.ll
+index 6501a01a39df..42c15f1c1df5 100644
+--- a/llvm/test/ThinLTO/X86/devirt2.ll
++++ b/llvm/test/ThinLTO/X86/devirt2.ll
+@@ -131,12 +131,10 @@
+ ; RUN:   -r=%t1.o,_ZN1D1mEi, \
+ ; RUN:   -r=%t1.o,test2, \
+ ; RUN:   -r=%t2.o,_ZN1A1nEi,p \
+-; RUN:   -r=%t2.o,_ZN1A1nEi, \
+ ; RUN:   -r=%t2.o,_ZN1B1fEi,p \
+ ; RUN:   -r=%t2.o,_ZN1C1fEi,p \
+ ; RUN:   -r=%t2.o,_ZN1D1mEi,p \
+ ; RUN:   -r=%t2.o,_ZN1E1mEi,p \
+-; RUN:   -r=%t2.o,_ZN1E1mEi, \
+ ; RUN:   -r=%t2.o,_ZTV1B, \
+ ; RUN:   -r=%t2.o,_ZTV1C, \
+ ; RUN:   -r=%t2.o,_ZTV1D, \
+@@ -169,12 +167,10 @@
+ ; RUN:   -r=%t1.o,_ZN1D1mEi, \
+ ; RUN:   -r=%t1.o,test2, \
+ ; RUN:   -r=%t2.o,_ZN1A1nEi,p \
+-; RUN:   -r=%t2.o,_ZN1A1nEi, \
+ ; RUN:   -r=%t2.o,_ZN1B1fEi,p \
+ ; RUN:   -r=%t2.o,_ZN1C1fEi,p \
+ ; RUN:   -r=%t2.o,_ZN1D1mEi,p \
+ ; RUN:   -r=%t2.o,_ZN1E1mEi,p \
+-; RUN:   -r=%t2.o,_ZN1E1mEi, \
+ ; RUN:   -r=%t2.o,_ZTV1B, \
+ ; RUN:   -r=%t2.o,_ZTV1C, \
+ ; RUN:   -r=%t2.o,_ZTV1D, \
+diff --git a/llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-icall-static-inline-asm.ll b/llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-icall-static-inline-asm.ll
+index c2de21ed4562..ff8fc5b71874 100644
+--- a/llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-icall-static-inline-asm.ll
++++ b/llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-icall-static-inline-asm.ll
+@@ -3,7 +3,7 @@
+ 
+ target triple = "x86_64-unknown-linux-gnu"
+ 
+-; CHECK: module asm ".set a,a.[[HASH:[0-9a-f]+]]"
++; CHECK: module asm ".lto_set_conditional a,a.[[HASH:[0-9a-f]+]]"
+ 
+ define void @b() {
+   %f = alloca void ()*, align 8
diff --git a/sys-devel/llvm/files/cherry/9d1857f69f4ef00d9fd1b21660c20e00b993d06f.patch b/sys-devel/llvm/files/cherry/9d1857f69f4ef00d9fd1b21660c20e00b993d06f.patch
new file mode 100644
index 0000000..8f4e7a8
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/9d1857f69f4ef00d9fd1b21660c20e00b993d06f.patch
@@ -0,0 +1,58 @@
+From 9d1857f69f4ef00d9fd1b21660c20e00b993d06f Mon Sep 17 00:00:00 2001
+From: Fangrui Song <i@maskray.me>
+Date: Fri, 4 Feb 2022 10:15:11 -0800
+Subject: [PATCH] [msan] Guard FP_XSTATE_MAGIC1 usage with SANITIZER_GLIBC
+
+Fix build for Linux musl.
+
+Reviewed By: #sanitizers, dvyukov
+
+Differential Revision: https://reviews.llvm.org/D118970
+---
+ .../lib/sanitizer_common/sanitizer_platform_limits_posix.cpp   | 2 +-
+ compiler-rt/test/msan/Linux/signal_mcontext.cpp                | 2 +-
+ compiler-rt/test/msan/Linux/signal_mcontext2.cpp               | 3 ++-
+ 3 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
+index 82048f0eae2e..32b8f47ed633 100644
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
+@@ -217,7 +217,7 @@ namespace __sanitizer {
+   unsigned struct_sockaddr_sz = sizeof(struct sockaddr);
+ 
+   unsigned ucontext_t_sz(void *ctx) {
+-#    if SANITIZER_LINUX && SANITIZER_X64
++#    if SANITIZER_GLIBC && SANITIZER_X64
+     // See kernel arch/x86/kernel/fpu/signal.c for details.
+     const auto *fpregs = static_cast<ucontext_t *>(ctx)->uc_mcontext.fpregs;
+     // The member names differ across header versions, but the actual layout
+diff --git a/compiler-rt/test/msan/Linux/signal_mcontext.cpp b/compiler-rt/test/msan/Linux/signal_mcontext.cpp
+index 932b4b8c0977..b49451fbb730 100644
+--- a/compiler-rt/test/msan/Linux/signal_mcontext.cpp
++++ b/compiler-rt/test/msan/Linux/signal_mcontext.cpp
+@@ -10,7 +10,7 @@
+ 
+ void handler(int sig, siginfo_t *info, void *uctx) {
+   __msan_check_mem_is_initialized(uctx, sizeof(ucontext_t));
+-#if defined(__x86_64__)
++#if defined(__GLIBC__) && defined(__x86_64__)
+   auto *mctx = &static_cast<ucontext_t *>(uctx)->uc_mcontext;
+   if (auto *fpregs = mctx->fpregs) {
+     // The member names differ across header versions, but the actual layout
+diff --git a/compiler-rt/test/msan/Linux/signal_mcontext2.cpp b/compiler-rt/test/msan/Linux/signal_mcontext2.cpp
+index 6bb6740c6fa7..f65f909c87ef 100644
+--- a/compiler-rt/test/msan/Linux/signal_mcontext2.cpp
++++ b/compiler-rt/test/msan/Linux/signal_mcontext2.cpp
+@@ -1,6 +1,7 @@
+ // RUN: %clangxx_msan -fsanitize-memory-track-origins=2 -O1 %s -o %t && not %run %t 2>&1 | FileCheck %s
+ 
+-// REQUIRES: x86_64-target-arch
++// musl does not define FP_XSTATE_MAGIC1.
++// REQUIRES: x86_64-target-arch && glibc-2.27
+ 
+ #include <pthread.h>
+ #include <signal.h>
+-- 
+2.35.1.723.g4982287a31-goog
+
diff --git a/sys-devel/llvm/files/cherry/9d7001eba9c4cb311e03cd8cdc231f9e579f2d0f.patch b/sys-devel/llvm/files/cherry/9d7001eba9c4cb311e03cd8cdc231f9e579f2d0f.patch
new file mode 100644
index 0000000..bec739a
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/9d7001eba9c4cb311e03cd8cdc231f9e579f2d0f.patch
@@ -0,0 +1,89 @@
+From 9d7001eba9c4cb311e03cd8cdc231f9e579f2d0f Mon Sep 17 00:00:00 2001
+From: Joao Moreira <joao.moreira@intel.com>
+Date: Sat, 26 Feb 2022 03:55:39 +0000
+Subject: [PATCH] [ELF][X86] Don't create IBT .plt if there is no PLT entry
+
+https://github.com/ClangBuiltLinux/linux/issues/1606
+When GNU_PROPERTY_X86_FEATURE_1_IBT is enabled, ld.lld will create .plt output
+section even if there is no PLT entry. Fix this by implementing
+IBTPltSection::isNeeded instead of using the default code path (which always
+returns true).
+
+Reviewed By: MaskRay
+
+Differential Revision: https://reviews.llvm.org/D120600
+---
+ lld/ELF/SyntheticSections.cpp     |  2 ++
+ lld/ELF/SyntheticSections.h       |  1 +
+ lld/test/ELF/format-binary.test   |  6 +++---
+ lld/test/ELF/x86-64-feature-cet.s | 11 +++++++++++
+ 4 files changed, 17 insertions(+), 3 deletions(-)
+
+diff --git a/lld/ELF/SyntheticSections.cpp b/lld/ELF/SyntheticSections.cpp
+index 2a93e66e7c02..c681f2ea0ff5 100644
+--- a/lld/ELF/SyntheticSections.cpp
++++ b/lld/ELF/SyntheticSections.cpp
+@@ -2696,6 +2696,8 @@ size_t IBTPltSection::getSize() const {
+   return 16 + in.plt->getNumEntries() * target->pltEntrySize;
+ }
+ 
++bool IBTPltSection::isNeeded() const { return in.plt->getNumEntries() > 0; }
++
+ // The string hash function for .gdb_index.
+ static uint32_t computeGdbHash(StringRef s) {
+   uint32_t h = 0;
+diff --git a/lld/ELF/SyntheticSections.h b/lld/ELF/SyntheticSections.h
+index 0538ada22970..0248cd0d1b23 100644
+--- a/lld/ELF/SyntheticSections.h
++++ b/lld/ELF/SyntheticSections.h
+@@ -761,6 +761,7 @@ class IBTPltSection : public SyntheticSection {
+ public:
+   IBTPltSection();
+   void writeTo(uint8_t *Buf) override;
++  bool isNeeded() const override;
+   size_t getSize() const override;
+ };
+ 
+diff --git a/lld/test/ELF/format-binary.test b/lld/test/ELF/format-binary.test
+index bb06d7e5ab9f..3c580ebb99ed 100644
+--- a/lld/test/ELF/format-binary.test
++++ b/lld/test/ELF/format-binary.test
+@@ -31,10 +31,10 @@
+ 
+ # EXE:      Machine: Advanced Micro Devices X86-64
+ # EXE:      [Nr] Name         Type     Address          Off    Size   ES Flg Lk Inf Al
+-# EXE:      [ 3] .data        PROGBITS {{.*}}                  00000c 00  WA  0   0  8
++# EXE:      [ 2] .data        PROGBITS {{.*}}                  00000c 00  WA  0   0  8
+ # EXE:      Size Type    Bind   Vis      Ndx Name
+-# EXE:         0 OBJECT  GLOBAL DEFAULT    3 _binary_d_t_txt_start
+-# EXE-NEXT:    0 OBJECT  GLOBAL DEFAULT    3 _binary_d_t_txt_end
++# EXE:         0 OBJECT  GLOBAL DEFAULT    2 _binary_d_t_txt_start
++# EXE-NEXT:    0 OBJECT  GLOBAL DEFAULT    2 _binary_d_t_txt_end
+ # EXE-NEXT:    0 OBJECT  GLOBAL DEFAULT  ABS _binary_d_t_txt_size
+ 
+ # RUN: not ld.lld -b foo 2>&1 | FileCheck --check-prefix=ERR %s
+diff --git a/lld/test/ELF/x86-64-feature-cet.s b/lld/test/ELF/x86-64-feature-cet.s
+index 5322bbdf3f38..cf90d9708e11 100644
+--- a/lld/test/ELF/x86-64-feature-cet.s
++++ b/lld/test/ELF/x86-64-feature-cet.s
+@@ -91,6 +91,17 @@
+ # DISASM-NEXT:               jmpq    *0x2126(%rip)
+ # DISASM-NEXT:               nopw    (%rax,%rax)
+ 
++## If there is no PLT entry, don't create .plt section.
++# RUN: ld.lld -e 0 %t1.o -o %t.noplt
++# RUN: llvm-readelf -S %t.noplt | FileCheck %s --check-prefix=NOPLT
++# RUN: ld.lld -r %t1.o -o %t.noplt
++# RUN: llvm-readelf -S %t.noplt | FileCheck %s --check-prefix=NOPLT
++
++# NOPLT:     [Nr] Name
++# NOPLT-NOT: .plt
++# NOPLT:     .note.gnu.property
++# NOPLT-NOT: .plt
++
+ .section ".note.gnu.property", "a"
+ .long 4
+ .long 0x10
+-- 
+2.35.1
+
diff --git a/sys-devel/llvm/files/cherry/a76620143c54e0b40c7538f4ffa38f4c9db8a009.patch b/sys-devel/llvm/files/cherry/a76620143c54e0b40c7538f4ffa38f4c9db8a009.patch
new file mode 100644
index 0000000..c3d43e4
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/a76620143c54e0b40c7538f4ffa38f4c9db8a009.patch
@@ -0,0 +1,98 @@
+From a76620143c54e0b40c7538f4ffa38f4c9db8a009 Mon Sep 17 00:00:00 2001
+From: Oliver Stannard <oliver.stannard@linaro.org>
+Date: Wed, 9 Feb 2022 17:43:42 +0000
+Subject: [PATCH] [ARM] Patterns for vector conversion between half and float
+
+These patterns were omitted because clang only allows converting between
+these types using intrinsics, but other front-ends or optimisation
+passes may want to use them.
+
+Differential revision: https://reviews.llvm.org/D119354
+---
+ llvm/lib/Target/ARM/ARMInstrNEON.td      |  3 ++
+ llvm/test/CodeGen/ARM/fp16-vector-cvt.ll | 59 ++++++++++++++++++++++++
+ 2 files changed, 62 insertions(+)
+ create mode 100644 llvm/test/CodeGen/ARM/fp16-vector-cvt.ll
+
+diff --git a/llvm/lib/Target/ARM/ARMInstrNEON.td b/llvm/lib/Target/ARM/ARMInstrNEON.td
+index 357aa6d062e9..cdad8e106de6 100644
+--- a/llvm/lib/Target/ARM/ARMInstrNEON.td
++++ b/llvm/lib/Target/ARM/ARMInstrNEON.td
+@@ -6946,6 +6946,9 @@ def  VCVTh2f  : N2VLInt<0b11, 0b11, 0b01, 0b10, 0b01110, 0, 0,
+                         v4f32, v4i16, int_arm_neon_vcvthf2fp>,
+                 Requires<[HasNEON, HasFP16]>;
+ 
++def : Pat<(v4f16 (fpround (v4f32 QPR:$src))), (VCVTf2h QPR:$src)>;
++def : Pat<(v4f32 (fpextend (v4f16 DPR:$src))), (VCVTh2f DPR:$src)>;
++
+ // Vector Reverse.
+ 
+ //   VREV64   : Vector Reverse elements within 64-bit doublewords
+diff --git a/llvm/test/CodeGen/ARM/fp16-vector-cvt.ll b/llvm/test/CodeGen/ARM/fp16-vector-cvt.ll
+new file mode 100644
+index 000000000000..43cdbe85da49
+--- /dev/null
++++ b/llvm/test/CodeGen/ARM/fp16-vector-cvt.ll
+@@ -0,0 +1,59 @@
++; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
++; RUN: llc -mtriple armv8a-none-none-eabihf -mattr=fullfp16 < %s | FileCheck %s
++
++define <4 x half> @fptrunc_vector_f32_f16(<4 x float> %a) {
++; CHECK-LABEL: fptrunc_vector_f32_f16:
++; CHECK:       @ %bb.0: @ %bb
++; CHECK-NEXT:    vcvt.f16.f32 d0, q0
++; CHECK-NEXT:    bx lr
++bb:
++  %z = fptrunc <4 x float> %a to <4 x half>
++  ret <4 x half> %z
++}
++
++define <4 x half> @fptrunc_vector_f64_f16(<4 x double> %a) {
++; CHECK-LABEL: fptrunc_vector_f64_f16:
++; CHECK:       @ %bb.0: @ %bb
++; CHECK-NEXT:    vcvtb.f16.f64 s0, d0
++; CHECK-NEXT:    vcvtb.f16.f64 s8, d1
++; CHECK-NEXT:    vmov r1, s0
++; CHECK-NEXT:    vcvtb.f16.f64 s2, d2
++; CHECK-NEXT:    vmov r0, s8
++; CHECK-NEXT:    vmov.16 d0[0], r1
++; CHECK-NEXT:    vmov.16 d0[1], r0
++; CHECK-NEXT:    vmov r0, s2
++; CHECK-NEXT:    vcvtb.f16.f64 s2, d3
++; CHECK-NEXT:    vmov.16 d0[2], r0
++; CHECK-NEXT:    vmov r0, s2
++; CHECK-NEXT:    vmov.16 d0[3], r0
++; CHECK-NEXT:    bx lr
++bb:
++  %z = fptrunc <4 x double> %a to <4 x half>
++  ret <4 x half> %z
++}
++
++define <4 x float> @fpext_vector_f16_f32(<4 x half> %a) {
++; CHECK-LABEL: fpext_vector_f16_f32:
++; CHECK:       @ %bb.0: @ %bb
++; CHECK-NEXT:    vcvt.f32.f16 q0, d0
++; CHECK-NEXT:    bx lr
++bb:
++  %z = fpext <4 x half> %a to <4 x float>
++  ret <4 x float> %z
++}
++
++define <4 x double> @fpext_vector_f16_f64(<4 x half> %a) {
++; CHECK-LABEL: fpext_vector_f16_f64:
++; CHECK:       @ %bb.0: @ %bb
++; CHECK-NEXT:    vmovx.f16 s4, s0
++; CHECK-NEXT:    vmovx.f16 s2, s1
++; CHECK-NEXT:    vcvtb.f64.f16 d17, s4
++; CHECK-NEXT:    vcvtb.f64.f16 d3, s2
++; CHECK-NEXT:    vcvtb.f64.f16 d16, s0
++; CHECK-NEXT:    vcvtb.f64.f16 d2, s1
++; CHECK-NEXT:    vorr q0, q8, q8
++; CHECK-NEXT:    bx lr
++bb:
++  %z = fpext <4 x half> %a to <4 x double>
++  ret <4 x double> %z
++}
+-- 
+2.36.0.rc0.470.gd361397f0d-goog
+
diff --git a/sys-devel/llvm/files/cherry/aa590e5823c352358fbeefa8bbd47a4b9c7de93f.patch b/sys-devel/llvm/files/cherry/aa590e5823c352358fbeefa8bbd47a4b9c7de93f.patch
new file mode 100644
index 0000000..9fd4033
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/aa590e5823c352358fbeefa8bbd47a4b9c7de93f.patch
@@ -0,0 +1,63 @@
+From aa590e5823c352358fbeefa8bbd47a4b9c7de93f Mon Sep 17 00:00:00 2001
+From: Florian Hahn <flo@fhahn.com>
+Date: Fri, 11 Mar 2022 10:27:17 +0000
+Subject: [PATCH] [AArch64] Improve costs for some conversions to fp16.
+
+Currently the cost model under-estimates the cost of certain
+FP16 conversions.
+
+This patch updates getCastInstrCost to return more accurate costs for
+the cases improved in c2ed9fd05479.
+
+Reviewed By: dmgreen
+
+Differential Revision: https://reviews.llvm.org/D113700
+---
+ llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp | 4 ++++
+ llvm/test/Analysis/CostModel/AArch64/cast.ll           | 8 ++++----
+ 2 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+index ec360a21e0d4..1bf2dcf309fe 100644
+--- a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
++++ b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+@@ -1627,6 +1627,10 @@ InstructionCost AArch64TTIImpl::getCastInstrCost(unsigned Opcode, Type *Dst,
+       {ISD::FP_TO_UINT, MVT::v16i16, MVT::v16f16, 2},
+       {ISD::FP_TO_SINT, MVT::v16i32, MVT::v16f16, 8}, // 4*fcvtl+4*fcvtzs
+       {ISD::FP_TO_UINT, MVT::v16i32, MVT::v16f16, 8},
++      {ISD::UINT_TO_FP, MVT::v8f16, MVT::v8i8, 2},   // ushll + ucvtf
++      {ISD::SINT_TO_FP, MVT::v8f16, MVT::v8i8, 2},   // sshll + scvtf
++      {ISD::UINT_TO_FP, MVT::v16f16, MVT::v16i8, 4}, // 2 * ushl(2) + 2 * ucvtf
++      {ISD::SINT_TO_FP, MVT::v16f16, MVT::v16i8, 4}, // 2 * sshl(2) + 2 * scvtf
+   };
+ 
+   if (ST->hasFullFP16())
+diff --git a/llvm/test/Analysis/CostModel/AArch64/cast.ll b/llvm/test/Analysis/CostModel/AArch64/cast.ll
+index 48fd3e948d3f..44d5cc253bdd 100644
+--- a/llvm/test/Analysis/CostModel/AArch64/cast.ll
++++ b/llvm/test/Analysis/CostModel/AArch64/cast.ll
+@@ -1107,8 +1107,8 @@ define void @fp16cast() {
+ ; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 70 for instruction: %r159 = fptosi <16 x half> undef to <16 x i64>
+ ; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r250 = uitofp <8 x i1> undef to <8 x half>
+ ; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r251 = sitofp <8 x i1> undef to <8 x half>
+-; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r252 = uitofp <8 x i8> undef to <8 x half>
+-; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r253 = sitofp <8 x i8> undef to <8 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r252 = uitofp <8 x i8> undef to <8 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r253 = sitofp <8 x i8> undef to <8 x half>
+ ; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r254 = uitofp <8 x i16> undef to <8 x half>
+ ; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r255 = sitofp <8 x i16> undef to <8 x half>
+ ; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r256 = uitofp <8 x i32> undef to <8 x half>
+@@ -1117,8 +1117,8 @@ define void @fp16cast() {
+ ; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %r259 = sitofp <8 x i64> undef to <8 x half>
+ ; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r260 = uitofp <16 x i1> undef to <16 x half>
+ ; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r261 = sitofp <16 x i1> undef to <16 x half>
+-; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r262 = uitofp <16 x i8> undef to <16 x half>
+-; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r263 = sitofp <16 x i8> undef to <16 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r262 = uitofp <16 x i8> undef to <16 x half>
++; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r263 = sitofp <16 x i8> undef to <16 x half>
+ ; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r264 = uitofp <16 x i16> undef to <16 x half>
+ ; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r265 = sitofp <16 x i16> undef to <16 x half>
+ ; CHECK-FP16-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %r266 = uitofp <16 x i32> undef to <16 x half>
+-- 
+2.36.0.rc0.470.gd361397f0d-goog
+
diff --git a/sys-devel/llvm/files/cherry/b3d5bb3b308f9a41022cdd30542991840b826a6b.patch b/sys-devel/llvm/files/cherry/b3d5bb3b308f9a41022cdd30542991840b826a6b.patch
new file mode 100644
index 0000000..328434a
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/b3d5bb3b308f9a41022cdd30542991840b826a6b.patch
@@ -0,0 +1,59 @@
+commit b3d5bb3b308f9a41022cdd30542991840b826a6b
+Author: Fangrui Song <i@maskray.me>
+Date:   Fri May 6 07:49:42 2022 -0700
+
+    [ELF] Change (NOLOAD) type mismatch to use SHT_NOBITS instead of SHT_PROGBITS
+    
+    Placing a non-SHT_NOBITS input section in an output section specified with
+    (NOLOAD) is fishy but used by some projects. D118840 changed the output type to
+    SHT_PROGBITS, but using the specified type seems to make more sense and improve
+    GNU ld compatibility: `(NOLOAD)` seems to change the output section type
+    regardless of input.
+    
+    I think we should keep the current type mismatch warning as it does indicate an
+    error-prone usage.
+    
+    Reviewed By: peter.smith
+    
+    Differential Revision: https://reviews.llvm.org/D125074
+
+diff --git a/lld/ELF/OutputSections.cpp b/lld/ELF/OutputSections.cpp
+index ee9162ac6b41..44d3d3c7ca28 100644
+--- a/lld/ELF/OutputSections.cpp
++++ b/lld/ELF/OutputSections.cpp
+@@ -123,7 +123,8 @@ void OutputSection::commitSection(InputSection *isec) {
+                  "\n>>> output section " + name + ": " +
+                  getELFSectionTypeName(config->emachine, type));
+       }
+-      type = SHT_PROGBITS;
++      if (!typeIsSet)
++        type = SHT_PROGBITS;
+     } else {
+       type = isec->type;
+     }
+diff --git a/lld/test/ELF/linkerscript/custom-section-type.s b/lld/test/ELF/linkerscript/custom-section-type.s
+index 21ef9922e25e..68454f4df1c8 100644
+--- a/lld/test/ELF/linkerscript/custom-section-type.s
++++ b/lld/test/ELF/linkerscript/custom-section-type.s
+@@ -37,7 +37,7 @@
+ ## Mismatched progbits and expr are changed to SHT_PROGBITS.
+ # MISMATCH: progbits PROGBITS
+ # MISMATCH: note     NOTE
+-# MISMATCH: expr     PROGBITS
++# MISMATCH: expr     0x42: <unknown>
+ 
+ # RUN: not ld.lld -T %t/unknown1.lds %t/a.o -o /dev/null 2>&1 | FileCheck %s --check-prefix=UNKNOWN1
+ # UNKNOWN1: error: {{.*}}.lds:1: symbol not found: foo
+diff --git a/lld/test/ELF/linkerscript/noload.s b/lld/test/ELF/linkerscript/noload.s
+index fbee54b9e5b4..5c9cff33e235 100644
+--- a/lld/test/ELF/linkerscript/noload.s
++++ b/lld/test/ELF/linkerscript/noload.s
+@@ -24,7 +24,7 @@
+ 
+ # WARN:   warning: section type mismatch for .data_noload_a
+ # CHECK2:      Name                 Type     Address          Off               Size
+-# CHECK2:      .data_noload_a       PROGBITS 0000000000000000 [[OFF:[0-9a-f]+]] 001001
++# CHECK2:      .data_noload_a       NOBITS   0000000000000000 [[OFF:[0-9a-f]+]] 001001
+ 
+ #--- asm
+ .section .text,"ax",@progbits
diff --git a/sys-devel/llvm/files/cherry/b48fe158e0a8d77fd3e28e90e512589601680ad8.patch b/sys-devel/llvm/files/cherry/b48fe158e0a8d77fd3e28e90e512589601680ad8.patch
new file mode 100644
index 0000000..e392536
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/b48fe158e0a8d77fd3e28e90e512589601680ad8.patch
@@ -0,0 +1,187 @@
+commit b48fe158e0a8d77fd3e28e90e512589601680ad8
+Author: Sanjay Patel <spatel@rotateright.com>
+Date:   Wed Mar 9 17:36:37 2022 -0500
+
+    [Analysis] remove bogus smin/smax pattern detection
+    
+    This is a revert of cfcc42bdc. The analysis is wrong as shown by
+    the minimal tests for instcombine:
+    https://alive2.llvm.org/ce/z/y9Dp8A
+    
+    There may be a way to salvage some of the other tests,
+    but that can be done as follow-ups. This avoids a miscompile
+    and fixes #54311.
+
+diff --git a/llvm/lib/Analysis/ValueTracking.cpp b/llvm/lib/Analysis/ValueTracking.cpp
+index 760edf6530ff..80e0d922edad 100644
+--- a/llvm/lib/Analysis/ValueTracking.cpp
++++ b/llvm/lib/Analysis/ValueTracking.cpp
+@@ -5802,20 +5802,6 @@ static SelectPatternResult matchMinMax(CmpInst::Predicate Pred,
+   if (Pred != CmpInst::ICMP_SGT && Pred != CmpInst::ICMP_SLT)
+     return {SPF_UNKNOWN, SPNB_NA, false};
+ 
+-  // Z = X -nsw Y
+-  // (X >s Y) ? 0 : Z ==> (Z >s 0) ? 0 : Z ==> SMIN(Z, 0)
+-  // (X <s Y) ? 0 : Z ==> (Z <s 0) ? 0 : Z ==> SMAX(Z, 0)
+-  if (match(TrueVal, m_Zero()) &&
+-      match(FalseVal, m_NSWSub(m_Specific(CmpLHS), m_Specific(CmpRHS))))
+-    return {Pred == CmpInst::ICMP_SGT ? SPF_SMIN : SPF_SMAX, SPNB_NA, false};
+-
+-  // Z = X -nsw Y
+-  // (X >s Y) ? Z : 0 ==> (Z >s 0) ? Z : 0 ==> SMAX(Z, 0)
+-  // (X <s Y) ? Z : 0 ==> (Z <s 0) ? Z : 0 ==> SMIN(Z, 0)
+-  if (match(FalseVal, m_Zero()) &&
+-      match(TrueVal, m_NSWSub(m_Specific(CmpLHS), m_Specific(CmpRHS))))
+-    return {Pred == CmpInst::ICMP_SGT ? SPF_SMAX : SPF_SMIN, SPNB_NA, false};
+-
+   const APInt *C1;
+   if (!match(CmpRHS, m_APInt(C1)))
+     return {SPF_UNKNOWN, SPNB_NA, false};
+diff --git a/llvm/test/CodeGen/X86/vec_minmax_match.ll b/llvm/test/CodeGen/X86/vec_minmax_match.ll
+index 6334e6706d2e..c963bad07d1a 100644
+--- a/llvm/test/CodeGen/X86/vec_minmax_match.ll
++++ b/llvm/test/CodeGen/X86/vec_minmax_match.ll
+@@ -35,9 +35,9 @@ define <4 x i32> @smin_vec2(<4 x i32> %x) {
+ define <4 x i32> @smin_vec3(<4 x i32> %x, <4 x i32> %y) {
+ ; CHECK-LABEL: smin_vec3:
+ ; CHECK:       # %bb.0:
+-; CHECK-NEXT:    vpsubd %xmm1, %xmm0, %xmm0
+-; CHECK-NEXT:    vpxor %xmm1, %xmm1, %xmm1
+-; CHECK-NEXT:    vpminsd %xmm1, %xmm0, %xmm0
++; CHECK-NEXT:    vpsubd %xmm1, %xmm0, %xmm2
++; CHECK-NEXT:    vpcmpgtd %xmm1, %xmm0, %xmm0
++; CHECK-NEXT:    vpandn %xmm2, %xmm0, %xmm0
+ ; CHECK-NEXT:    retq
+   %sub = sub nsw <4 x i32> %x, %y
+   %cmp = icmp sgt <4 x i32> %x, %y
+@@ -50,9 +50,9 @@ define <4 x i32> @smin_vec3(<4 x i32> %x, <4 x i32> %y) {
+ define <4 x i32> @smin_vec4(<4 x i32> %x, <4 x i32> %y) {
+ ; CHECK-LABEL: smin_vec4:
+ ; CHECK:       # %bb.0:
+-; CHECK-NEXT:    vpsubd %xmm1, %xmm0, %xmm0
+-; CHECK-NEXT:    vpxor %xmm1, %xmm1, %xmm1
+-; CHECK-NEXT:    vpminsd %xmm1, %xmm0, %xmm0
++; CHECK-NEXT:    vpsubd %xmm1, %xmm0, %xmm2
++; CHECK-NEXT:    vpcmpgtd %xmm0, %xmm1, %xmm0
++; CHECK-NEXT:    vpand %xmm2, %xmm0, %xmm0
+ ; CHECK-NEXT:    retq
+   %sub = sub nsw <4 x i32> %x, %y
+   %cmp = icmp slt <4 x i32> %x, %y
+@@ -91,9 +91,9 @@ define <4 x i32> @smax_vec2(<4 x i32> %x) {
+ define <4 x i32> @smax_vec3(<4 x i32> %x, <4 x i32> %y) {
+ ; CHECK-LABEL: smax_vec3:
+ ; CHECK:       # %bb.0:
+-; CHECK-NEXT:    vpsubd %xmm1, %xmm0, %xmm0
+-; CHECK-NEXT:    vpxor %xmm1, %xmm1, %xmm1
+-; CHECK-NEXT:    vpmaxsd %xmm1, %xmm0, %xmm0
++; CHECK-NEXT:    vpsubd %xmm1, %xmm0, %xmm2
++; CHECK-NEXT:    vpcmpgtd %xmm0, %xmm1, %xmm0
++; CHECK-NEXT:    vpandn %xmm2, %xmm0, %xmm0
+ ; CHECK-NEXT:    retq
+   %sub = sub nsw <4 x i32> %x, %y
+   %cmp = icmp slt <4 x i32> %x, %y
+@@ -106,9 +106,9 @@ define <4 x i32> @smax_vec3(<4 x i32> %x, <4 x i32> %y) {
+ define <4 x i32> @smax_vec4(<4 x i32> %x, <4 x i32> %y) {
+ ; CHECK-LABEL: smax_vec4:
+ ; CHECK:       # %bb.0:
+-; CHECK-NEXT:    vpsubd %xmm1, %xmm0, %xmm0
+-; CHECK-NEXT:    vpxor %xmm1, %xmm1, %xmm1
+-; CHECK-NEXT:    vpmaxsd %xmm1, %xmm0, %xmm0
++; CHECK-NEXT:    vpsubd %xmm1, %xmm0, %xmm2
++; CHECK-NEXT:    vpcmpgtd %xmm1, %xmm0, %xmm0
++; CHECK-NEXT:    vpand %xmm2, %xmm0, %xmm0
+ ; CHECK-NEXT:    retq
+   %sub = sub nsw <4 x i32> %x, %y
+   %cmp = icmp sgt <4 x i32> %x, %y
+diff --git a/llvm/test/Transforms/InstCombine/select-min-max.ll b/llvm/test/Transforms/InstCombine/select-min-max.ll
+index 04dc62ec2f92..6682e1750d31 100644
+--- a/llvm/test/Transforms/InstCombine/select-min-max.ll
++++ b/llvm/test/Transforms/InstCombine/select-min-max.ll
+@@ -252,9 +252,10 @@ define i8 @umin_umax(i8 %x) {
+ 
+ define i8 @not_smax(i8 %i41, i8 %i43) {
+ ; CHECK-LABEL: @not_smax(
+-; CHECK-NEXT:    [[I46:%.*]] = sub nsw i8 [[I41:%.*]], [[I43:%.*]]
+-; CHECK-NEXT:    [[TMP1:%.*]] = call i8 @llvm.smax.i8(i8 [[I46]], i8 0)
+-; CHECK-NEXT:    ret i8 [[TMP1]]
++; CHECK-NEXT:    [[I44:%.*]] = icmp slt i8 [[I41:%.*]], [[I43:%.*]]
++; CHECK-NEXT:    [[I46:%.*]] = sub nsw i8 [[I41]], [[I43]]
++; CHECK-NEXT:    [[SPEC_SELECT:%.*]] = select i1 [[I44]], i8 0, i8 [[I46]]
++; CHECK-NEXT:    ret i8 [[SPEC_SELECT]]
+ ;
+   %i44 = icmp slt i8 %i41, %i43
+   %i46 = sub nsw i8 %i41, %i43
+@@ -264,9 +265,10 @@ define i8 @not_smax(i8 %i41, i8 %i43) {
+ 
+ define i8 @not_smax_swap(i8 %i41, i8 %i43) {
+ ; CHECK-LABEL: @not_smax_swap(
+-; CHECK-NEXT:    [[I46:%.*]] = sub nsw i8 [[I41:%.*]], [[I43:%.*]]
+-; CHECK-NEXT:    [[TMP1:%.*]] = call i8 @llvm.smax.i8(i8 [[I46]], i8 0)
+-; CHECK-NEXT:    ret i8 [[TMP1]]
++; CHECK-NEXT:    [[I44:%.*]] = icmp sgt i8 [[I41:%.*]], [[I43:%.*]]
++; CHECK-NEXT:    [[I46:%.*]] = sub nsw i8 [[I41]], [[I43]]
++; CHECK-NEXT:    [[SPEC_SELECT:%.*]] = select i1 [[I44]], i8 [[I46]], i8 0
++; CHECK-NEXT:    ret i8 [[SPEC_SELECT]]
+ ;
+   %i44 = icmp sgt i8 %i41, %i43
+   %i46 = sub nsw i8 %i41, %i43
+@@ -276,9 +278,10 @@ define i8 @not_smax_swap(i8 %i41, i8 %i43) {
+ 
+ define i8 @not_smin(i8 %i41, i8 %i43) {
+ ; CHECK-LABEL: @not_smin(
+-; CHECK-NEXT:    [[I46:%.*]] = sub nsw i8 [[I41:%.*]], [[I43:%.*]]
+-; CHECK-NEXT:    [[TMP1:%.*]] = call i8 @llvm.smin.i8(i8 [[I46]], i8 0)
+-; CHECK-NEXT:    ret i8 [[TMP1]]
++; CHECK-NEXT:    [[I44:%.*]] = icmp sgt i8 [[I41:%.*]], [[I43:%.*]]
++; CHECK-NEXT:    [[I46:%.*]] = sub nsw i8 [[I41]], [[I43]]
++; CHECK-NEXT:    [[SPEC_SELECT:%.*]] = select i1 [[I44]], i8 0, i8 [[I46]]
++; CHECK-NEXT:    ret i8 [[SPEC_SELECT]]
+ ;
+   %i44 = icmp sgt i8 %i41, %i43
+   %i46 = sub nsw i8 %i41, %i43
+@@ -288,9 +291,10 @@ define i8 @not_smin(i8 %i41, i8 %i43) {
+ 
+ define i8 @not_smin_swap(i8 %i41, i8 %i43) {
+ ; CHECK-LABEL: @not_smin_swap(
+-; CHECK-NEXT:    [[I46:%.*]] = sub nsw i8 [[I41:%.*]], [[I43:%.*]]
+-; CHECK-NEXT:    [[TMP1:%.*]] = call i8 @llvm.smin.i8(i8 [[I46]], i8 0)
+-; CHECK-NEXT:    ret i8 [[TMP1]]
++; CHECK-NEXT:    [[I44:%.*]] = icmp slt i8 [[I41:%.*]], [[I43:%.*]]
++; CHECK-NEXT:    [[I46:%.*]] = sub nsw i8 [[I41]], [[I43]]
++; CHECK-NEXT:    [[SPEC_SELECT:%.*]] = select i1 [[I44]], i8 [[I46]], i8 0
++; CHECK-NEXT:    ret i8 [[SPEC_SELECT]]
+ ;
+   %i44 = icmp slt i8 %i41, %i43
+   %i46 = sub nsw i8 %i41, %i43
+diff --git a/llvm/test/Transforms/LoopVectorize/bzip_reverse_loops.ll b/llvm/test/Transforms/LoopVectorize/bzip_reverse_loops.ll
+index 81fc2b51bc4b..bc17daa668c6 100644
+--- a/llvm/test/Transforms/LoopVectorize/bzip_reverse_loops.ll
++++ b/llvm/test/Transforms/LoopVectorize/bzip_reverse_loops.ll
+@@ -40,7 +40,8 @@ do.end:                                           ; preds = %cond.end
+ ;CHECK: example1
+ ;CHECK: load <4 x i32>
+ ;CHECK-NEXT: shufflevector <4 x i32>
+-;CHECK: call <4 x i32> @llvm.smax.v4i32
++;CHECK: sub nsw <4 x i32>
++;CHECK: select <4 x i1>
+ ;CHECK: store <4 x i32>
+ ;CHECK: ret
+ define void @example1(i32* nocapture %a, i32 %n, i32 %wsize) nounwind uwtable ssp {
+diff --git a/llvm/test/Transforms/PhaseOrdering/min-max-abs-cse.ll b/llvm/test/Transforms/PhaseOrdering/min-max-abs-cse.ll
+index 9bc3a5a00c4a..2f3dd4b291de 100644
+--- a/llvm/test/Transforms/PhaseOrdering/min-max-abs-cse.ll
++++ b/llvm/test/Transforms/PhaseOrdering/min-max-abs-cse.ll
+@@ -9,7 +9,12 @@
+ 
+ define i8 @smax_nsw(i8 %a, i8 %b) {
+ ; CHECK-LABEL: @smax_nsw(
+-; CHECK-NEXT:    ret i8 0
++; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i8 [[A:%.*]], [[B:%.*]]
++; CHECK-NEXT:    [[CMP1:%.*]] = icmp slt i8 [[A]], [[B]]
++; CHECK-NEXT:    [[M1:%.*]] = select i1 [[CMP1]], i8 0, i8 [[SUB]]
++; CHECK-NEXT:    [[TMP1:%.*]] = call i8 @llvm.smax.i8(i8 [[SUB]], i8 0)
++; CHECK-NEXT:    [[R:%.*]] = sub i8 [[TMP1]], [[M1]]
++; CHECK-NEXT:    ret i8 [[R]]
+ ;
+   %sub = sub nsw i8 %a, %b
+   %cmp1 = icmp slt i8 %a, %b
diff --git a/sys-devel/llvm/files/cherry/b6e048c6e516df5abc4be323349b5f7d15c08ede.patch b/sys-devel/llvm/files/cherry/b6e048c6e516df5abc4be323349b5f7d15c08ede.patch
new file mode 100644
index 0000000..3d89a4f
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/b6e048c6e516df5abc4be323349b5f7d15c08ede.patch
@@ -0,0 +1,103 @@
+From b6e048c6e516df5abc4be323349b5f7d15c08ede Mon Sep 17 00:00:00 2001
+From: David Blaikie <dblaikie@gmail.com>
+Date: Tue, 1 Feb 2022 16:15:25 -0800
+Subject: [PATCH] Test fixes for prior patch
+
+---
+ llvm/test/DebugInfo/X86/tu-to-non-tu.ll | 61 +++++++++++++++++--------
+ 1 file changed, 42 insertions(+), 19 deletions(-)
+
+diff --git a/llvm/test/DebugInfo/X86/tu-to-non-tu.ll b/llvm/test/DebugInfo/X86/tu-to-non-tu.ll
+index 4b8ea04bedc5..6702b330a1dc 100644
+--- a/llvm/test/DebugInfo/X86/tu-to-non-tu.ll
++++ b/llvm/test/DebugInfo/X86/tu-to-non-tu.ll
+@@ -1,17 +1,41 @@
+ ; RUN: llc -filetype=obj -O0 -generate-type-units -mtriple=x86_64-unknown-linux-gnu < %s \
+ ; RUN:     | llvm-dwarfdump -debug-info -debug-types - | FileCheck %s
+ 
+-; Test that a type unit referencing a non-type unit (in this case, it's
+-; bordering on an ODR violation - a type with linkage references a type without
+-; linkage, so there's no way for the first type to be defined in more than one
+-; translation unit, so there's no need for it to be in a type unit - but this
+-; is quirky/rare and an easy way to test a broader issue). The type unit should
+-; not end up with a whole definition of the referenced type - instead it should
+-; have a declaration of the type, while the definition remains in the primary
+-; CU.
+-; (again, arguably in this instance - since the type is only referenced once, it
+-; could go in the TU only - but that requires tracking usage & then deciding
+-; where to put types, which isn't worthwhile right now)
++; Test that a type unit referencing a non-type unit produces a declaration of
++; the referent in the referee.
++
++; This test was intended to test this:
++
++; * Also check that an attempt to reference an internal linkage (defined in an anonymous
++; * namespace) type from a type unit (could happen with a pimpl idiom, for instance -
++; * it does mean the linkage-having type can only be defined in one translation
++; * unit anyway) forces the referent to not be placed in a type unit (because the
++; * declaration of the internal linkage type would be ambiguous/wouldn't allow a
++; * consumer to find the definition with certainty)
++
++; But the implementation was buggy, so for now, it's reverted but still test covered.
++; A buggy input/case looks like this:
++;  namespace {
++;  template <typename> struct a {};
++;  } // namespace
++;  class c {
++;    c();
++;  };
++;  class b {
++;    b();
++;    a<c> ax;
++;  };
++;  b::b() {}
++;  c::c() {}
++
++; I haven't bothered adding a test case for this ^ to avoid regression, as
++; likely we'll move in a different direction entirely, since this approach is
++; incomplete anyway. Specifically it looks like we want a flag on DICompositeType
++; to indicate whether it should go in a type unit - the current frontend strategy
++; of omitting the 'identifier' field is inadequate (since it breaks LLVM IR linking
++; type resolution - leaving a separate decl/def of the same type), so if we fix that
++; we can fix the internal-referencing issue by using such a flag instead of trying
++; to figure it out in the backend.
+ 
+ ; Built from the following source, compiled with this command:
+ ; $ clang++-tot decl.cpp -g -fdebug-types-section -c
+@@ -83,6 +107,13 @@
+ ; CHECK-NOT: DW_TAG
+ ; CHECK: DW_AT_name {{.*}}"tu_ref_non_tu"
+ 
++; CHECK-LABEL: Type Unit:
++; CHECK: DW_TAG_structure_type
++; CHECK-NOT: DW_TAG
++; CHECK: DW_AT_name {{.*}}"ref_internal"
++; CHECK-NOT: DW_TAG
++; CHECK: DW_AT_byte_size
++
+ ; CHECK-LABEL: Type Unit:
+ ; CHECK: DW_TAG_structure_type
+ ; CHECK-NOT: DW_TAG
+@@ -120,19 +151,11 @@
+ ; CHECK-NEXT:   DW_AT_declaration       (true)
+ ; CHECK-NEXT:   DW_AT_signature (0xb1cde890d320f5c2)
+ 
+-; CHECK: DW_TAG_namespace
+-; CHECK-NOT: {{DW_AT_name|DW_TAG}}
+ ; CHECK: DW_TAG_structure_type
+ ; CHECK-NOT: DW_TAG
+ ; CHECK: DW_AT_name {{.*}}"non_tu"
+ 
+ 
+-; CHECK: DW_TAG_structure_type
+-; CHECK-NOT: DW_TAG
+-; CHECK: DW_AT_name {{.*}}"ref_internal"
+-; CHECK-NOT: DW_TAG
+-; CHECK: DW_AT_byte_size
+-
+ ; CHECK: DW_TAG_namespace
+ ; CHECK-NOT: {{DW_TAG|DW_AT}}
+ ; CHECK: DW_TAG_structure_type
+-- 
+2.35.1.723.g4982287a31-goog
+
diff --git a/sys-devel/llvm/files/cherry/bcc65fb491ca6e83e1ea300f4462a2f56d0b5937.patch b/sys-devel/llvm/files/cherry/bcc65fb491ca6e83e1ea300f4462a2f56d0b5937.patch
new file mode 100644
index 0000000..7400298
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/bcc65fb491ca6e83e1ea300f4462a2f56d0b5937.patch
@@ -0,0 +1,34 @@
+From bcc65fb491ca6e83e1ea300f4462a2f56d0b5937 Mon Sep 17 00:00:00 2001
+From: Colin Cross <ccross@google.com>
+Date: Thu, 3 Mar 2022 22:17:15 -0800
+Subject: [PATCH] Pass through more LIBCXX_* variables  to libfuzzer's custom
+ lib++
+
+Pass LIBCXX_HAS_PTHREAD_LIB, LIBCXX_HAS_RT_LIB  and LIBCXXABI_HAS_PTHREAD_LIB
+through to the custom lib++ builds so that libfuzzer  doesn't end up with a .deplibs section that
+links against those libraries when the variables are set to false.
+
+Reviewed By: phosek
+
+Differential Revision: https://reviews.llvm.org/D120946
+---
+ compiler-rt/cmake/Modules/AddCompilerRT.cmake | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/compiler-rt/cmake/Modules/AddCompilerRT.cmake b/compiler-rt/cmake/Modules/AddCompilerRT.cmake
+index ebabaf186751..0d6dd8f500ce 100644
+--- a/compiler-rt/cmake/Modules/AddCompilerRT.cmake
++++ b/compiler-rt/cmake/Modules/AddCompilerRT.cmake
+@@ -602,6 +602,9 @@ macro(add_custom_libcxx name prefix)
+     CMAKE_READELF
+     CMAKE_SYSROOT
+     LIBCXX_HAS_MUSL_LIBC
++    LIBCXX_HAS_PTHREAD_LIB
++    LIBCXX_HAS_RT_LIB
++    LIBCXXABI_HAS_PTHREAD_LIB
+     PYTHON_EXECUTABLE
+     Python3_EXECUTABLE
+     Python2_EXECUTABLE
+-- 
+2.35.1.723.g4982287a31-goog
+
diff --git a/sys-devel/llvm/files/cherry/bf4dcbd2df009ba71d9032379fe8bc37ba0903ff.patch b/sys-devel/llvm/files/cherry/bf4dcbd2df009ba71d9032379fe8bc37ba0903ff.patch
new file mode 100644
index 0000000..69c5849
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/bf4dcbd2df009ba71d9032379fe8bc37ba0903ff.patch
@@ -0,0 +1,174 @@
+commit bf4dcbd2df009ba71d9032379fe8bc37ba0903ff
+Author: Alexey Bataev <a.bataev@outlook.com>
+Date:   Mon Jun 27 13:20:50 2022 -0700
+
+    [SLP]Fix PR56251: Do not remove the reordering from the root node, being used as an operand.
+    
+    If the root order itself does not require reordering, we can just
+    remove its reorder mask safely (e.g., if the root node is a vector of
+    phis). But if this node is used as an operand in the graph, we cannot
+    delete the reordering, need to keep it. Otherwise the graph nodes are
+    not synchronized with the operands. It may cause an extra gather
+    instruction(s) or a compiler crash.
+    Also, need to be very careful when selecting the gather nodes for
+    reordering since there might several gather nodes with the same scalars
+    and we can try to reorder just the same node many times instead of
+    different nodes.
+    
+    Differential Revision: https://reviews.llvm.org/D128680
+
+diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+index 54b54d8a662e..a958c36969d5 100644
+--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
++++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+@@ -3946,19 +3946,23 @@ bool BoUpSLP::canReorderOperands(
+         GatherOps.push_back(TE);
+       continue;
+     }
+-    ArrayRef<Value *> VL = UserTE->getOperand(I);
+     TreeEntry *Gather = nullptr;
+     if (count_if(ReorderableGathers,
+-                 [VL, &Gather](TreeEntry *TE) {
++                 [&Gather, UserTE, I](TreeEntry *TE) {
+                    assert(TE->State != TreeEntry::Vectorize &&
+                           "Only non-vectorized nodes are expected.");
+-                   if (TE->isSame(VL)) {
++                   if (any_of(TE->UserTreeIndices,
++                              [UserTE, I](const EdgeInfo &EI) {
++                                return EI.UserTE == UserTE && EI.EdgeIdx == I;
++                              })) {
++                     assert(TE->isSame(UserTE->getOperand(I)) &&
++                            "Operand entry does not match operands.");
+                      Gather = TE;
+                      return true;
+                    }
+                    return false;
+                  }) > 1 &&
+-        !all_of(VL, isConstant))
++        !all_of(UserTE->getOperand(I), isConstant))
+       return false;
+     if (Gather)
+       GatherOps.push_back(Gather);
+@@ -4053,8 +4057,7 @@ void BoUpSLP::reorderBottomToTop(bool IgnoreReorder) {
+         TreeEntry *OpTE = Op.second;
+         if (!VisitedOps.insert(OpTE).second)
+           continue;
+-        if (!OpTE->ReuseShuffleIndices.empty() ||
+-            (IgnoreReorder && OpTE == VectorizableTree.front().get()))
++        if (!OpTE->ReuseShuffleIndices.empty())
+           continue;
+         const auto &Order = [OpTE, &GathersToOrders]() -> const OrdersType & {
+           if (OpTE->State == TreeEntry::NeedToGather)
+@@ -4174,6 +4177,8 @@ void BoUpSLP::reorderBottomToTop(bool IgnoreReorder) {
+                 TE->ReorderIndices.empty()) &&
+                "Non-matching sizes of user/operand entries.");
+         reorderOrder(TE->ReorderIndices, Mask);
++        if (IgnoreReorder && TE == VectorizableTree.front().get())
++          IgnoreReorder = false;
+       }
+       // For gathers just need to reorder its scalars.
+       for (TreeEntry *Gather : GatherOps) {
+@@ -7853,9 +7858,10 @@ Value *BoUpSLP::vectorizeTree(TreeEntry *E) {
+   auto *VecTy = FixedVectorType::get(ScalarTy, E->Scalars.size());
+   switch (ShuffleOrOp) {
+     case Instruction::PHI: {
+-      assert(
+-          (E->ReorderIndices.empty() || E != VectorizableTree.front().get()) &&
+-          "PHI reordering is free.");
++      assert((E->ReorderIndices.empty() ||
++              E != VectorizableTree.front().get() ||
++              !E->UserTreeIndices.empty()) &&
++             "PHI reordering is free.");
+       auto *PH = cast<PHINode>(VL0);
+       Builder.SetInsertPoint(PH->getParent()->getFirstNonPHI());
+       Builder.SetCurrentDebugLocation(PH->getDebugLoc());
+diff --git a/llvm/test/Transforms/SLPVectorizer/X86/reorder-phi-operand.ll b/llvm/test/Transforms/SLPVectorizer/X86/reorder-phi-operand.ll
+new file mode 100644
+index 000000000000..9e136ee516f5
+--- /dev/null
++++ b/llvm/test/Transforms/SLPVectorizer/X86/reorder-phi-operand.ll
+@@ -0,0 +1,84 @@
++; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
++; RUN: opt -S -slp-vectorizer -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s
++
++define ptr @test() {
++; CHECK-LABEL: @test(
++; CHECK-NEXT:  entry:
++; CHECK-NEXT:    [[GREEN_I:%.*]] = getelementptr inbounds float, ptr null, i32 6
++; CHECK-NEXT:    [[TMP0:%.*]] = load <2 x float>, ptr [[GREEN_I]], align 4
++; CHECK-NEXT:    [[TMP1:%.*]] = fpext <2 x float> [[TMP0]] to <2 x double>
++; CHECK-NEXT:    br label [[BODY:%.*]]
++; CHECK:       body:
++; CHECK-NEXT:    [[TMP2:%.*]] = phi <2 x double> [ [[TMP5:%.*]], [[BODY]] ], [ [[TMP1]], [[ENTRY:%.*]] ]
++; CHECK-NEXT:    [[TMP3:%.*]] = load <2 x i16>, ptr null, align 2
++; CHECK-NEXT:    [[TMP4:%.*]] = uitofp <2 x i16> [[TMP3]] to <2 x double>
++; CHECK-NEXT:    [[SHUFFLE:%.*]] = shufflevector <2 x double> [[TMP4]], <2 x double> poison, <2 x i32> <i32 1, i32 0>
++; CHECK-NEXT:    [[TMP5]] = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> zeroinitializer, <2 x double> [[SHUFFLE]], <2 x double> [[TMP2]])
++; CHECK-NEXT:    br label [[BODY]]
++;
++entry:
++  %green.i = getelementptr inbounds float, ptr null, i32 6
++  %blue.i = getelementptr inbounds float, ptr null, i32 7
++  %0 = load float, ptr %green.i, align 4
++  %conv197 = fpext float %0 to double
++  %1 = load float, ptr %blue.i, align 8
++  %conv199 = fpext float %1 to double
++  br label %body
++
++body:
++  %phi1 = phi double [ %3, %body ], [ %conv197, %entry ]
++  %phi2 = phi double [ %5, %body ], [ %conv199, %entry ]
++  %green = getelementptr inbounds i16, ptr null, i32 1
++  %2 = load i16, ptr %green, align 2
++  %conv1 = uitofp i16 %2 to double
++  %3 = call double @llvm.fmuladd.f64(double 0.000000e+00, double %conv1, double %phi1)
++  %4 = load i16, ptr null, align 2
++  %conv2 = uitofp i16 %4 to double
++  %5 = call double @llvm.fmuladd.f64(double 0.000000e+00, double %conv2, double %phi2)
++  br label %body
++}
++
++declare double @llvm.fmuladd.f64(double, double, double)
++
++define void @test1(ptr %agg.result, ptr %this) {
++; CHECK-LABEL: @test1(
++; CHECK-NEXT:  entry:
++; CHECK-NEXT:    br i1 false, label [[RETURN:%.*]], label [[LOR_LHS_FALSE:%.*]]
++; CHECK:       lor.lhs.false:
++; CHECK-NEXT:    br i1 false, label [[RETURN]], label [[IF_END:%.*]]
++; CHECK:       if.end:
++; CHECK-NEXT:    [[B_I:%.*]] = getelementptr inbounds float, ptr [[THIS:%.*]], i32 1
++; CHECK-NEXT:    [[TMP0:%.*]] = load <2 x float>, ptr [[B_I]], align 4
++; CHECK-NEXT:    [[TMP1:%.*]] = fadd <2 x float> [[TMP0]], zeroinitializer
++; CHECK-NEXT:    br label [[RETURN]]
++; CHECK:       return:
++; CHECK-NEXT:    [[TMP2:%.*]] = phi <2 x float> [ [[TMP1]], [[IF_END]] ], [ <float 1.000000e+00, float 0.000000e+00>, [[LOR_LHS_FALSE]] ], [ <float 1.000000e+00, float 0.000000e+00>, [[ENTRY:%.*]] ]
++; CHECK-NEXT:    [[C_I_I_I:%.*]] = getelementptr inbounds float, ptr [[AGG_RESULT:%.*]], i32 2
++; CHECK-NEXT:    [[SHUFFLE:%.*]] = shufflevector <2 x float> [[TMP2]], <2 x float> poison, <2 x i32> <i32 1, i32 0>
++; CHECK-NEXT:    store <2 x float> [[SHUFFLE]], ptr [[C_I_I_I]], align 4
++; CHECK-NEXT:    ret void
++;
++entry:
++  br i1 false, label %return, label %lor.lhs.false
++
++lor.lhs.false:
++  br i1 false, label %return, label %if.end
++
++if.end:
++  %c.i = getelementptr inbounds float, ptr %this, i32 2
++  %0 = load float, ptr %c.i, align 4
++  %add.i = fadd float %0, 0.000000e+00
++  %b.i = getelementptr inbounds float, ptr %this, i32 1
++  %1 = load float, ptr %b.i, align 4
++  %add2.i = fadd float %1, 0.000000e+00
++  br label %return
++
++return:
++  %add.i.sink = phi float [ %add.i, %if.end ], [ 0.000000e+00, %lor.lhs.false ], [ 0.000000e+00, %entry ]
++  %add2.i.sink = phi float [ %add2.i, %if.end ], [ 1.000000e+00, %lor.lhs.false ], [ 1.000000e+00, %entry ]
++  %c.i.i.i = getelementptr inbounds float, ptr %agg.result, i32 2
++  store float %add.i.sink, ptr %c.i.i.i, align 4
++  %d.i.i.i = getelementptr inbounds float, ptr %agg.result, i32 3
++  store float %add2.i.sink, ptr %d.i.i.i, align 4
++  ret void
++}
diff --git a/sys-devel/llvm/files/cherry/c0702ac07b8e206f424930ff0331151954fb821c.patch b/sys-devel/llvm/files/cherry/c0702ac07b8e206f424930ff0331151954fb821c.patch
new file mode 100644
index 0000000..dc152e5
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/c0702ac07b8e206f424930ff0331151954fb821c.patch
@@ -0,0 +1,383 @@
+From c0702ac07b8e206f424930ff0331151954fb821c Mon Sep 17 00:00:00 2001
+From: Emre Kultursay <emrekultursay@google.com>
+Date: Fri, 1 Jul 2022 13:44:01 +0800
+Subject: [PATCH] [PATCH] [lldb-server] Skip shared regions for memory
+ allocation
+
+Differential Revision: https://reviews.llvm.org/D128832
+---
+ lldb/include/lldb/Target/MemoryRegionInfo.h   | 14 +++-
+ .../Process/Linux/NativeProcessLinux.cpp      |  3 +-
+ .../Plugins/Process/Utility/LinuxProcMaps.cpp | 10 ++-
+ .../Process/Utility/LinuxProcMapsTest.cpp     | 84 +++++++++++++------
+ .../MemoryTagManagerAArch64MTETest.cpp        |  4 +-
+ .../Process/minidump/MinidumpParserTest.cpp   | 32 +++----
+ 6 files changed, 99 insertions(+), 48 deletions(-)
+
+diff --git a/lldb/include/lldb/Target/MemoryRegionInfo.h b/lldb/include/lldb/Target/MemoryRegionInfo.h
+index 4e978d33b05..3ef66b403e1 100644
+--- a/lldb/include/lldb/Target/MemoryRegionInfo.h
++++ b/lldb/include/lldb/Target/MemoryRegionInfo.h
+@@ -26,12 +26,14 @@ public:
+ 
+   MemoryRegionInfo() = default;
+   MemoryRegionInfo(RangeType range, OptionalBool read, OptionalBool write,
+-                   OptionalBool execute, OptionalBool mapped, ConstString name,
++                   OptionalBool execute, OptionalBool shared,
++                   OptionalBool mapped, ConstString name,
+                    OptionalBool flash, lldb::offset_t blocksize,
+                    OptionalBool memory_tagged, OptionalBool stack_memory)
+       : m_range(range), m_read(read), m_write(write), m_execute(execute),
+-        m_mapped(mapped), m_name(name), m_flash(flash), m_blocksize(blocksize),
+-        m_memory_tagged(memory_tagged), m_is_stack_memory(stack_memory) {}
++        m_shared(shared), m_mapped(mapped), m_name(name), m_flash(flash),
++        m_blocksize(blocksize), m_memory_tagged(memory_tagged),
++        m_is_stack_memory(stack_memory) {}
+ 
+   RangeType &GetRange() { return m_range; }
+ 
+@@ -45,6 +47,8 @@ public:
+ 
+   OptionalBool GetExecutable() const { return m_execute; }
+ 
++  OptionalBool GetShared() const { return m_shared; }
++
+   OptionalBool GetMapped() const { return m_mapped; }
+ 
+   ConstString GetName() const { return m_name; }
+@@ -57,6 +61,8 @@ public:
+ 
+   void SetExecutable(OptionalBool val) { m_execute = val; }
+ 
++  void SetShared(OptionalBool val) { m_shared = val; }
++
+   void SetMapped(OptionalBool val) { m_mapped = val; }
+ 
+   void SetName(const char *name) { m_name = ConstString(name); }
+@@ -95,6 +101,7 @@ public:
+   bool operator==(const MemoryRegionInfo &rhs) const {
+     return m_range == rhs.m_range && m_read == rhs.m_read &&
+            m_write == rhs.m_write && m_execute == rhs.m_execute &&
++           m_shared == rhs.m_shared &&
+            m_mapped == rhs.m_mapped && m_name == rhs.m_name &&
+            m_flash == rhs.m_flash && m_blocksize == rhs.m_blocksize &&
+            m_memory_tagged == rhs.m_memory_tagged &&
+@@ -134,6 +141,7 @@ protected:
+   OptionalBool m_read = eDontKnow;
+   OptionalBool m_write = eDontKnow;
+   OptionalBool m_execute = eDontKnow;
++  OptionalBool m_shared = eDontKnow;
+   OptionalBool m_mapped = eDontKnow;
+   ConstString m_name;
+   OptionalBool m_flash = eDontKnow;
+diff --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
+index 0fb4c691118..90118f9386d 100644
+--- a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
++++ b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
+@@ -1227,7 +1227,8 @@ llvm::Expected<uint64_t>
+ NativeProcessLinux::Syscall(llvm::ArrayRef<uint64_t> args) {
+   PopulateMemoryRegionCache();
+   auto region_it = llvm::find_if(m_mem_region_cache, [](const auto &pair) {
+-    return pair.first.GetExecutable() == MemoryRegionInfo::eYes;
++    return pair.first.GetExecutable() == MemoryRegionInfo::eYes &&
++        pair.first.GetShared() != MemoryRegionInfo::eYes;
+   });
+   if (region_it == m_mem_region_cache.end())
+     return llvm::createStringError(llvm::inconvertibleErrorCode(),
+diff --git a/lldb/source/Plugins/Process/Utility/LinuxProcMaps.cpp b/lldb/source/Plugins/Process/Utility/LinuxProcMaps.cpp
+index 947b970edf6..2a15f981374 100644
+--- a/lldb/source/Plugins/Process/Utility/LinuxProcMaps.cpp
++++ b/lldb/source/Plugins/Process/Utility/LinuxProcMaps.cpp
+@@ -94,7 +94,15 @@ ParseMemoryRegionInfoFromProcMapsLine(llvm::StringRef maps_line,
+     return ProcMapError("unexpected /proc/{pid}/%s exec permission char",
+                         maps_kind);
+ 
+-  line_extractor.GetChar();              // Read the private bit
++  // Handle sharing status (private/shared).
++  const char sharing_char = line_extractor.GetChar();
++  if (sharing_char == 's')
++    region.SetShared(MemoryRegionInfo::OptionalBool::eYes);
++  else if (sharing_char == 'p')
++    region.SetShared(MemoryRegionInfo::OptionalBool::eNo);
++  else
++    region.SetShared(MemoryRegionInfo::OptionalBool::eDontKnow);
++
+   line_extractor.SkipSpaces();           // Skip the separator
+   line_extractor.GetHexMaxU64(false, 0); // Read the offset
+   line_extractor.GetHexMaxU64(false, 0); // Read the major device number
+diff --git a/lldb/unittests/Process/Utility/LinuxProcMapsTest.cpp b/lldb/unittests/Process/Utility/LinuxProcMapsTest.cpp
+index bc714e26fbf..ac1c6132630 100644
+--- a/lldb/unittests/Process/Utility/LinuxProcMapsTest.cpp
++++ b/lldb/unittests/Process/Utility/LinuxProcMapsTest.cpp
+@@ -87,8 +87,8 @@ INSTANTIATE_TEST_SUITE_P(
+             "0-0 rwzp 00000000 00:00 0\n"
+             "2-3 r-xp 00000000 00:00 0 [def]\n",
+             MemoryRegionInfos{
+-                MemoryRegionInfo(make_range(0, 1), MemoryRegionInfo::eYes,
+-                                 MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
++                MemoryRegionInfo(make_range(0, 1), MemoryRegionInfo::eYes, MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
++                                 MemoryRegionInfo::eNo,
+                                  MemoryRegionInfo::eYes, ConstString("[abc]"),
+                                  MemoryRegionInfo::eDontKnow, 0,
+                                  MemoryRegionInfo::eDontKnow,
+@@ -101,8 +101,9 @@ INSTANTIATE_TEST_SUITE_P(
+             MemoryRegionInfos{
+                 MemoryRegionInfo(
+                     make_range(0x55a4512f7000, 0x55a451b68000),
+-                    MemoryRegionInfo::eYes, MemoryRegionInfo::eYes,
+-                    MemoryRegionInfo::eNo, MemoryRegionInfo::eYes,
++                    MemoryRegionInfo::eYes, MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
++                    MemoryRegionInfo::eNo,
++                    MemoryRegionInfo::eYes,
+                     ConstString("[heap]"), MemoryRegionInfo::eDontKnow, 0,
+                     MemoryRegionInfo::eDontKnow, MemoryRegionInfo::eDontKnow),
+             },
+@@ -110,19 +111,29 @@ INSTANTIATE_TEST_SUITE_P(
+         // Multiple entries
+         std::make_tuple(
+             "7fc090021000-7fc094000000 ---p 00000000 00:00 0\n"
++            "7fc094000000-7fc094a00000 ---s 00000000 00:00 0\n"
+             "ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 "
+             "[vsyscall]",
+             MemoryRegionInfos{
+                 MemoryRegionInfo(
+                     make_range(0x7fc090021000, 0x7fc094000000),
+-                    MemoryRegionInfo::eNo, MemoryRegionInfo::eNo,
+-                    MemoryRegionInfo::eNo, MemoryRegionInfo::eYes,
++                    MemoryRegionInfo::eNo, MemoryRegionInfo::eNo, MemoryRegionInfo::eNo,
++                    MemoryRegionInfo::eNo,
++                    MemoryRegionInfo::eYes,
++                    ConstString(nullptr), MemoryRegionInfo::eDontKnow, 0,
++                    MemoryRegionInfo::eDontKnow, MemoryRegionInfo::eDontKnow),
++                MemoryRegionInfo(
++                    make_range(0x7fc094000000, 0x7fc094a00000),
++                    MemoryRegionInfo::eNo, MemoryRegionInfo::eNo, MemoryRegionInfo::eNo,
++                    MemoryRegionInfo::eYes,
++                    MemoryRegionInfo::eYes,
+                     ConstString(nullptr), MemoryRegionInfo::eDontKnow, 0,
+                     MemoryRegionInfo::eDontKnow, MemoryRegionInfo::eDontKnow),
+                 MemoryRegionInfo(
+                     make_range(0xffffffffff600000, 0xffffffffff601000),
+-                    MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
+-                    MemoryRegionInfo::eYes, MemoryRegionInfo::eYes,
++                    MemoryRegionInfo::eYes, MemoryRegionInfo::eNo, MemoryRegionInfo::eYes,
++                    MemoryRegionInfo::eNo,
++                    MemoryRegionInfo::eYes,
+                     ConstString("[vsyscall]"), MemoryRegionInfo::eDontKnow, 0,
+                     MemoryRegionInfo::eDontKnow, MemoryRegionInfo::eDontKnow),
+             },
+@@ -146,8 +157,9 @@ INSTANTIATE_TEST_SUITE_P(
+             "0/0 rw-p 00000000 00:00 0",
+             MemoryRegionInfos{
+                 MemoryRegionInfo(
+-                    make_range(0x1111, 0x2222), MemoryRegionInfo::eYes,
+-                    MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
++                    make_range(0x1111, 0x2222),
++                    MemoryRegionInfo::eYes, MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
++                    MemoryRegionInfo::eNo,
+                     MemoryRegionInfo::eYes, ConstString("[foo]"),
+                     MemoryRegionInfo::eDontKnow, 0, MemoryRegionInfo::eDontKnow,
+                     MemoryRegionInfo::eDontKnow),
+@@ -166,8 +178,22 @@ INSTANTIATE_TEST_SUITE_P(
+             "1111-2222 rw-p 00000000 00:00 0    [foo]",
+             MemoryRegionInfos{
+                 MemoryRegionInfo(
+-                    make_range(0x1111, 0x2222), MemoryRegionInfo::eYes,
+-                    MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
++                    make_range(0x1111, 0x2222),
++                    MemoryRegionInfo::eYes, MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
++                    MemoryRegionInfo::eNo,
++                    MemoryRegionInfo::eYes, ConstString("[foo]"),
++                    MemoryRegionInfo::eDontKnow, 0, MemoryRegionInfo::eDontKnow,
++                    MemoryRegionInfo::eDontKnow),
++            },
++            ""),
++        // Single shared region parses, has no flags
++        std::make_tuple(
++            "1111-2222 rw-s 00000000 00:00 0    [foo]",
++            MemoryRegionInfos{
++                MemoryRegionInfo(
++                    make_range(0x1111, 0x2222),
++                    MemoryRegionInfo::eYes, MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
++                    MemoryRegionInfo::eYes,
+                     MemoryRegionInfo::eYes, ConstString("[foo]"),
+                     MemoryRegionInfo::eDontKnow, 0, MemoryRegionInfo::eDontKnow,
+                     MemoryRegionInfo::eDontKnow),
+@@ -181,8 +207,9 @@ INSTANTIATE_TEST_SUITE_P(
+             "VmFlags: mt",
+             MemoryRegionInfos{
+                 MemoryRegionInfo(
+-                    make_range(0x1111, 0x2222), MemoryRegionInfo::eYes,
+-                    MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
++                    make_range(0x1111, 0x2222),
++                    MemoryRegionInfo::eYes, MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
++                    MemoryRegionInfo::eNo,
+                     MemoryRegionInfo::eYes, ConstString("[foo]"),
+                     MemoryRegionInfo::eDontKnow, 0, MemoryRegionInfo::eYes,
+                     MemoryRegionInfo::eDontKnow),
+@@ -193,8 +220,9 @@ INSTANTIATE_TEST_SUITE_P(
+             "0-0 rw-p 00000000 00:00 0\n"
+             "VmFlags:      mt      ",
+             MemoryRegionInfos{
+-                MemoryRegionInfo(make_range(0, 0), MemoryRegionInfo::eYes,
+-                                 MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
++                MemoryRegionInfo(make_range(0, 0),
++                                 MemoryRegionInfo::eYes, MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
++                                 MemoryRegionInfo::eNo,
+                                  MemoryRegionInfo::eYes, ConstString(nullptr),
+                                  MemoryRegionInfo::eDontKnow, 0,
+                                  MemoryRegionInfo::eYes,
+@@ -206,8 +234,9 @@ INSTANTIATE_TEST_SUITE_P(
+             "0-0 rw-p 00000000 00:00 0\n"
+             "VmFlags:         ",
+             MemoryRegionInfos{
+-                MemoryRegionInfo(make_range(0, 0), MemoryRegionInfo::eYes,
+-                                 MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
++                MemoryRegionInfo(make_range(0, 0),
++                                 MemoryRegionInfo::eYes, MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
++                                 MemoryRegionInfo::eNo,
+                                  MemoryRegionInfo::eYes, ConstString(nullptr),
+                                  MemoryRegionInfo::eDontKnow, 0,
+                                  MemoryRegionInfo::eNo,
+@@ -223,14 +252,15 @@ INSTANTIATE_TEST_SUITE_P(
+             "VmFlags: mt",
+             MemoryRegionInfos{
+                 MemoryRegionInfo(
+-                    make_range(0x1111, 0x2222), MemoryRegionInfo::eYes,
+-                    MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
++                    make_range(0x1111, 0x2222),
++                    MemoryRegionInfo::eYes, MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
++                    MemoryRegionInfo::eNo,
+                     MemoryRegionInfo::eYes, ConstString("[foo]"),
+                     MemoryRegionInfo::eDontKnow, 0, MemoryRegionInfo::eDontKnow,
+                     MemoryRegionInfo::eDontKnow),
+                 MemoryRegionInfo(
+-                    make_range(0x3333, 0x4444), MemoryRegionInfo::eYes,
+-                    MemoryRegionInfo::eNo, MemoryRegionInfo::eYes,
++                    make_range(0x3333, 0x4444), MemoryRegionInfo::eYes, MemoryRegionInfo::eNo, MemoryRegionInfo::eYes,
++                    MemoryRegionInfo::eNo,
+                     MemoryRegionInfo::eYes, ConstString("[bar]"),
+                     MemoryRegionInfo::eDontKnow, 0, MemoryRegionInfo::eYes,
+                     MemoryRegionInfo::eDontKnow),
+@@ -246,14 +276,16 @@ INSTANTIATE_TEST_SUITE_P(
+             "MMUPageSize:           4 kB\n",
+             MemoryRegionInfos{
+                 MemoryRegionInfo(
+-                    make_range(0x1111, 0x2222), MemoryRegionInfo::eYes,
+-                    MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
++                    make_range(0x1111, 0x2222),
++                    MemoryRegionInfo::eYes, MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
++                    MemoryRegionInfo::eNo,
+                     MemoryRegionInfo::eYes, ConstString(nullptr),
+                     MemoryRegionInfo::eDontKnow, 0, MemoryRegionInfo::eDontKnow,
+                     MemoryRegionInfo::eDontKnow),
+                 MemoryRegionInfo(
+-                    make_range(0x3333, 0x4444), MemoryRegionInfo::eYes,
+-                    MemoryRegionInfo::eNo, MemoryRegionInfo::eYes,
++                    make_range(0x3333, 0x4444),
++                    MemoryRegionInfo::eYes, MemoryRegionInfo::eNo, MemoryRegionInfo::eYes,
++                    MemoryRegionInfo::eNo,
+                     MemoryRegionInfo::eYes, ConstString(nullptr),
+                     MemoryRegionInfo::eDontKnow, 0, MemoryRegionInfo::eDontKnow,
+                     MemoryRegionInfo::eDontKnow),
+diff --git a/lldb/unittests/Process/Utility/MemoryTagManagerAArch64MTETest.cpp b/lldb/unittests/Process/Utility/MemoryTagManagerAArch64MTETest.cpp
+index 78688aef3fd..9c209ec2363 100644
+--- a/lldb/unittests/Process/Utility/MemoryTagManagerAArch64MTETest.cpp
++++ b/lldb/unittests/Process/Utility/MemoryTagManagerAArch64MTETest.cpp
+@@ -134,8 +134,10 @@ TEST(MemoryTagManagerAArch64MTETest, ExpandToGranule) {
+ static MemoryRegionInfo MakeRegionInfo(lldb::addr_t base, lldb::addr_t size,
+                                        bool tagged) {
+   return MemoryRegionInfo(
+-      MemoryRegionInfo::RangeType(base, size), MemoryRegionInfo::eYes,
++      MemoryRegionInfo::RangeType(base, size),
+       MemoryRegionInfo::eYes, MemoryRegionInfo::eYes, MemoryRegionInfo::eYes,
++      MemoryRegionInfo::eNo,
++      MemoryRegionInfo::eYes,
+       ConstString(), MemoryRegionInfo::eNo, 0,
+       /*memory_tagged=*/
+       tagged ? MemoryRegionInfo::eYes : MemoryRegionInfo::eNo,
+diff --git a/lldb/unittests/Process/minidump/MinidumpParserTest.cpp b/lldb/unittests/Process/minidump/MinidumpParserTest.cpp
+index 95e2cf30b3d..b8143d53eb0 100644
+--- a/lldb/unittests/Process/minidump/MinidumpParserTest.cpp
++++ b/lldb/unittests/Process/minidump/MinidumpParserTest.cpp
+@@ -378,15 +378,15 @@ Streams:
+       parser->BuildMemoryRegions(),
+       testing::Pair(
+           testing::ElementsAre(
+-              MemoryRegionInfo({0x0, 0x10000}, no, no, no, no, ConstString(),
++              MemoryRegionInfo({0x0, 0x10000}, no, no, no, unknown, no, ConstString(),
+                                unknown, 0, unknown, unknown),
+-              MemoryRegionInfo({0x10000, 0x21000}, yes, yes, no, yes,
++              MemoryRegionInfo({0x10000, 0x21000}, yes, yes, no, unknown, yes,
+                                ConstString(), unknown, 0, unknown, unknown),
+-              MemoryRegionInfo({0x40000, 0x1000}, yes, no, no, yes,
++              MemoryRegionInfo({0x40000, 0x1000}, yes, no, no, unknown, yes,
+                                ConstString(), unknown, 0, unknown, unknown),
+-              MemoryRegionInfo({0x7ffe0000, 0x1000}, yes, no, no, yes,
++              MemoryRegionInfo({0x7ffe0000, 0x1000}, yes, no, no, unknown, yes,
+                                ConstString(), unknown, 0, unknown, unknown),
+-              MemoryRegionInfo({0x7ffe1000, 0xf000}, no, no, no, yes,
++              MemoryRegionInfo({0x7ffe1000, 0xf000}, no, no, no, unknown, yes,
+                                ConstString(), unknown, 0, unknown, unknown)),
+           true));
+ }
+@@ -412,9 +412,9 @@ Streams:
+       parser->BuildMemoryRegions(),
+       testing::Pair(
+           testing::ElementsAre(
+-              MemoryRegionInfo({0x1000, 0x10}, yes, unknown, unknown, yes,
++              MemoryRegionInfo({0x1000, 0x10}, yes, unknown, unknown, unknown, yes,
+                                ConstString(), unknown, 0, unknown, unknown),
+-              MemoryRegionInfo({0x2000, 0x20}, yes, unknown, unknown, yes,
++              MemoryRegionInfo({0x2000, 0x20}, yes, unknown, unknown, unknown, yes,
+                                ConstString(), unknown, 0, unknown, unknown)),
+           false));
+ }
+@@ -428,9 +428,9 @@ TEST_F(MinidumpParserTest, GetMemoryRegionInfoFromMemory64List) {
+       parser->BuildMemoryRegions(),
+       testing::Pair(
+           testing::ElementsAre(
+-              MemoryRegionInfo({0x1000, 0x10}, yes, unknown, unknown, yes,
++              MemoryRegionInfo({0x1000, 0x10}, yes, unknown, unknown, unknown, yes,
+                                ConstString(), unknown, 0, unknown, unknown),
+-              MemoryRegionInfo({0x2000, 0x20}, yes, unknown, unknown, yes,
++              MemoryRegionInfo({0x2000, 0x20}, yes, unknown, unknown, unknown, yes,
+                                ConstString(), unknown, 0, unknown, unknown)),
+           false));
+ }
+@@ -460,17 +460,17 @@ Streams:
+       parser->BuildMemoryRegions(),
+       testing::Pair(
+           testing::ElementsAre(
+-              MemoryRegionInfo({0x400d9000, 0x2000}, yes, no, yes, yes,
++              MemoryRegionInfo({0x400d9000, 0x2000}, yes, no, yes, no, yes,
+                                app_process, unknown, 0, unknown, unknown),
+-              MemoryRegionInfo({0x400db000, 0x1000}, yes, no, no, yes,
++              MemoryRegionInfo({0x400db000, 0x1000}, yes, no, no, no, yes,
+                                app_process, unknown, 0, unknown, unknown),
+-              MemoryRegionInfo({0x400dc000, 0x1000}, yes, yes, no, yes,
++              MemoryRegionInfo({0x400dc000, 0x1000}, yes, yes, no, no, yes,
+                                ConstString(), unknown, 0, unknown, unknown),
+-              MemoryRegionInfo({0x400ec000, 0x1000}, yes, no, no, yes,
++              MemoryRegionInfo({0x400ec000, 0x1000}, yes, no, no, no, yes,
+                                ConstString(), unknown, 0, unknown, unknown),
+-              MemoryRegionInfo({0x400ee000, 0x1000}, yes, yes, no, yes, linker,
++              MemoryRegionInfo({0x400ee000, 0x1000}, yes, yes, no, no, yes, linker,
+                                unknown, 0, unknown, unknown),
+-              MemoryRegionInfo({0x400fc000, 0x1000}, yes, yes, yes, yes, liblog,
++              MemoryRegionInfo({0x400fc000, 0x1000}, yes, yes, yes, no, yes, liblog,
+                                unknown, 0, unknown, unknown)),
+           true));
+ }
+@@ -491,7 +491,7 @@ Streams:
+   EXPECT_THAT(
+       parser->BuildMemoryRegions(),
+       testing::Pair(testing::ElementsAre(MemoryRegionInfo(
+-                        {0x400fc000, 0x1000}, yes, yes, yes, yes,
++                        {0x400fc000, 0x1000}, yes, yes, yes, no, yes,
+                         ConstString(nullptr), unknown, 0, unknown, unknown)),
+                     true));
+ }
+-- 
+2.37.0.rc0.161.g10f37bed90-goog
+
diff --git a/sys-devel/llvm/files/cherry/c89cfbd4ddfa4e01fea1eb87aba9cdcd0e31d3a8.patch b/sys-devel/llvm/files/cherry/c89cfbd4ddfa4e01fea1eb87aba9cdcd0e31d3a8.patch
new file mode 100644
index 0000000..6784ce5
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/c89cfbd4ddfa4e01fea1eb87aba9cdcd0e31d3a8.patch
@@ -0,0 +1,376 @@
+From c89cfbd4ddfa4e01fea1eb87aba9cdcd0e31d3a8 Mon Sep 17 00:00:00 2001
+From: David Green <david.green@arm.com>
+Date: Tue, 1 Feb 2022 20:18:40 +0000
+Subject: [PATCH] Revert "[DAG] Extend SearchForAndLoads with any_extend
+ handling"
+
+This reverts commit 100763a88fe97b22cd5e3f69d203669aac3ed48f as it was
+making incorrect assumptions about implicit zero_extends.
+---
+ llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |  41 ++----
+ .../CodeGen/AArch64/combine-andintoload.ll    | 120 ++++++++++--------
+ llvm/test/CodeGen/X86/pr35763.ll              |   8 +-
+ 3 files changed, 84 insertions(+), 85 deletions(-)
+
+diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+index 0ed2bd9d6d62..041d7e5b4a4a 100644
+--- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
++++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+@@ -5531,8 +5531,6 @@ bool DAGCombiner::SearchForAndLoads(SDNode *N,
+ 
+     // Some constants may need fixing up later if they are too large.
+     if (auto *C = dyn_cast<ConstantSDNode>(Op)) {
+-      if (Mask->getValueType(0) != C->getValueType(0))
+-        return false;
+       if ((N->getOpcode() == ISD::OR || N->getOpcode() == ISD::XOR) &&
+           (Mask->getAPIntValue() & C->getAPIntValue()) != C->getAPIntValue())
+         NodesWithConsts.insert(N);
+@@ -5566,9 +5564,9 @@ bool DAGCombiner::SearchForAndLoads(SDNode *N,
+     case ISD::AssertZext: {
+       unsigned ActiveBits = Mask->getAPIntValue().countTrailingOnes();
+       EVT ExtVT = EVT::getIntegerVT(*DAG.getContext(), ActiveBits);
+-      EVT VT = Op.getOpcode() == ISD::AssertZext
+-                   ? cast<VTSDNode>(Op.getOperand(1))->getVT()
+-                   : Op.getOperand(0).getValueType();
++      EVT VT = Op.getOpcode() == ISD::AssertZext ?
++        cast<VTSDNode>(Op.getOperand(1))->getVT() :
++        Op.getOperand(0).getValueType();
+ 
+       // We can accept extending nodes if the mask is wider or an equal
+       // width to the original type.
+@@ -5576,15 +5574,6 @@ bool DAGCombiner::SearchForAndLoads(SDNode *N,
+         continue;
+       break;
+     }
+-    case ISD::ANY_EXTEND: {
+-      unsigned ActiveBits = Mask->getAPIntValue().countTrailingOnes();
+-      EVT ExtVT = EVT::getIntegerVT(*DAG.getContext(), ActiveBits);
+-      EVT VT = Op.getOperand(0).getValueType();
+-      if (ExtVT.bitsGE(VT))
+-        break;
+-      // Fallthrough to searching for nodes from the operands of the extend.
+-      LLVM_FALLTHROUGH;
+-    }
+     case ISD::OR:
+     case ISD::XOR:
+     case ISD::AND:
+@@ -5644,14 +5633,12 @@ bool DAGCombiner::BackwardsPropagateMask(SDNode *N) {
+     // masking.
+     if (FixupNode) {
+       LLVM_DEBUG(dbgs() << "First, need to fix up: "; FixupNode->dump());
+-      SDValue MaskOpT = DAG.getZExtOrTrunc(MaskOp, SDLoc(FixupNode),
+-                                           FixupNode->getValueType(0));
+-      SDValue And =
+-          DAG.getNode(ISD::AND, SDLoc(FixupNode), FixupNode->getValueType(0),
+-                      SDValue(FixupNode, 0), MaskOpT);
++      SDValue And = DAG.getNode(ISD::AND, SDLoc(FixupNode),
++                                FixupNode->getValueType(0),
++                                SDValue(FixupNode, 0), MaskOp);
+       DAG.ReplaceAllUsesOfValueWith(SDValue(FixupNode, 0), And);
+       if (And.getOpcode() == ISD ::AND)
+-        DAG.UpdateNodeOperands(And.getNode(), SDValue(FixupNode, 0), MaskOpT);
++        DAG.UpdateNodeOperands(And.getNode(), SDValue(FixupNode, 0), MaskOp);
+     }
+ 
+     // Narrow any constants that need it.
+@@ -5660,12 +5647,10 @@ bool DAGCombiner::BackwardsPropagateMask(SDNode *N) {
+       SDValue Op1 = LogicN->getOperand(1);
+ 
+       if (isa<ConstantSDNode>(Op0))
+-        std::swap(Op0, Op1);
++          std::swap(Op0, Op1);
+ 
+-      SDValue MaskOpT =
+-          DAG.getZExtOrTrunc(MaskOp, SDLoc(Op1), Op1.getValueType());
+-      SDValue And =
+-          DAG.getNode(ISD::AND, SDLoc(Op1), Op1.getValueType(), Op1, MaskOpT);
++      SDValue And = DAG.getNode(ISD::AND, SDLoc(Op1), Op1.getValueType(),
++                                Op1, MaskOp);
+ 
+       DAG.UpdateNodeOperands(LogicN, Op0, And);
+     }
+@@ -5673,14 +5658,12 @@ bool DAGCombiner::BackwardsPropagateMask(SDNode *N) {
+     // Create narrow loads.
+     for (auto *Load : Loads) {
+       LLVM_DEBUG(dbgs() << "Propagate AND back to: "; Load->dump());
+-      SDValue MaskOpT =
+-          DAG.getZExtOrTrunc(MaskOp, SDLoc(Load), Load->getValueType(0));
+       SDValue And = DAG.getNode(ISD::AND, SDLoc(Load), Load->getValueType(0),
+-                                SDValue(Load, 0), MaskOpT);
++                                SDValue(Load, 0), MaskOp);
+       DAG.ReplaceAllUsesOfValueWith(SDValue(Load, 0), And);
+       if (And.getOpcode() == ISD ::AND)
+         And = SDValue(
+-            DAG.UpdateNodeOperands(And.getNode(), SDValue(Load, 0), MaskOpT), 0);
++            DAG.UpdateNodeOperands(And.getNode(), SDValue(Load, 0), MaskOp), 0);
+       SDValue NewLoad = reduceLoadWidth(And.getNode());
+       assert(NewLoad &&
+              "Shouldn't be masking the load if it can't be narrowed");
+diff --git a/llvm/test/CodeGen/AArch64/combine-andintoload.ll b/llvm/test/CodeGen/AArch64/combine-andintoload.ll
+index d7a69fdd1193..693d318b272a 100644
+--- a/llvm/test/CodeGen/AArch64/combine-andintoload.ll
++++ b/llvm/test/CodeGen/AArch64/combine-andintoload.ll
+@@ -5,14 +5,16 @@
+ define i64 @load32_and16_and(i32* %p, i64 %y) {
+ ; CHECK-LABEL: load32_and16_and:
+ ; CHECK:       // %bb.0:
+-; CHECK-NEXT:    ldrh w8, [x0]
+-; CHECK-NEXT:    and w0, w1, w8
++; CHECK-NEXT:    ldr w8, [x0]
++; CHECK-NEXT:    and w8, w1, w8
++; CHECK-NEXT:    and x0, x8, #0xffff
+ ; CHECK-NEXT:    ret
+ ;
+ ; CHECKBE-LABEL: load32_and16_and:
+ ; CHECKBE:       // %bb.0:
+-; CHECKBE-NEXT:    ldrh w8, [x0, #2]
+-; CHECKBE-NEXT:    and w0, w1, w8
++; CHECKBE-NEXT:    ldr w8, [x0]
++; CHECKBE-NEXT:    and w8, w1, w8
++; CHECKBE-NEXT:    and x0, x8, #0xffff
+ ; CHECKBE-NEXT:    ret
+   %x = load i32, i32* %p, align 4
+   %xz = zext i32 %x to i64
+@@ -24,14 +26,16 @@ define i64 @load32_and16_and(i32* %p, i64 %y) {
+ define i64 @load32_and16_andr(i32* %p, i64 %y) {
+ ; CHECK-LABEL: load32_and16_andr:
+ ; CHECK:       // %bb.0:
+-; CHECK-NEXT:    ldrh w8, [x0]
+-; CHECK-NEXT:    and w0, w1, w8
++; CHECK-NEXT:    ldr w8, [x0]
++; CHECK-NEXT:    and w8, w1, w8
++; CHECK-NEXT:    and x0, x8, #0xffff
+ ; CHECK-NEXT:    ret
+ ;
+ ; CHECKBE-LABEL: load32_and16_andr:
+ ; CHECKBE:       // %bb.0:
+-; CHECKBE-NEXT:    ldrh w8, [x0, #2]
+-; CHECKBE-NEXT:    and w0, w1, w8
++; CHECKBE-NEXT:    ldr w8, [x0]
++; CHECKBE-NEXT:    and w8, w1, w8
++; CHECKBE-NEXT:    and x0, x8, #0xffff
+ ; CHECKBE-NEXT:    ret
+   %x = load i32, i32* %p, align 4
+   %xz = zext i32 %x to i64
+@@ -43,14 +47,16 @@ define i64 @load32_and16_andr(i32* %p, i64 %y) {
+ define i64 @load32_and16_and_sext(i32* %p, i64 %y) {
+ ; CHECK-LABEL: load32_and16_and_sext:
+ ; CHECK:       // %bb.0:
+-; CHECK-NEXT:    ldrh w8, [x0]
+-; CHECK-NEXT:    and w0, w1, w8
++; CHECK-NEXT:    ldr w8, [x0]
++; CHECK-NEXT:    and w8, w1, w8
++; CHECK-NEXT:    and x0, x8, #0xffff
+ ; CHECK-NEXT:    ret
+ ;
+ ; CHECKBE-LABEL: load32_and16_and_sext:
+ ; CHECKBE:       // %bb.0:
+-; CHECKBE-NEXT:    ldrh w8, [x0, #2]
+-; CHECKBE-NEXT:    and w0, w1, w8
++; CHECKBE-NEXT:    ldr w8, [x0]
++; CHECKBE-NEXT:    and w8, w1, w8
++; CHECKBE-NEXT:    and x0, x8, #0xffff
+ ; CHECKBE-NEXT:    ret
+   %x = load i32, i32* %p, align 4
+   %xz = sext i32 %x to i64
+@@ -62,16 +68,16 @@ define i64 @load32_and16_and_sext(i32* %p, i64 %y) {
+ define i64 @load32_and16_or(i32* %p, i64 %y) {
+ ; CHECK-LABEL: load32_and16_or:
+ ; CHECK:       // %bb.0:
+-; CHECK-NEXT:    ldrh w8, [x0]
+-; CHECK-NEXT:    and w9, w1, #0xffff
+-; CHECK-NEXT:    orr w0, w9, w8
++; CHECK-NEXT:    ldr w8, [x0]
++; CHECK-NEXT:    orr w8, w1, w8
++; CHECK-NEXT:    and x0, x8, #0xffff
+ ; CHECK-NEXT:    ret
+ ;
+ ; CHECKBE-LABEL: load32_and16_or:
+ ; CHECKBE:       // %bb.0:
+-; CHECKBE-NEXT:    ldrh w8, [x0, #2]
+-; CHECKBE-NEXT:    and w9, w1, #0xffff
+-; CHECKBE-NEXT:    orr w0, w9, w8
++; CHECKBE-NEXT:    ldr w8, [x0]
++; CHECKBE-NEXT:    orr w8, w1, w8
++; CHECKBE-NEXT:    and x0, x8, #0xffff
+ ; CHECKBE-NEXT:    ret
+   %x = load i32, i32* %p, align 4
+   %xz = zext i32 %x to i64
+@@ -164,14 +170,16 @@ define i64 @load16_and16(i16* %p, i64 %y) {
+ define i64 @load16_and8(i16* %p, i64 %y) {
+ ; CHECK-LABEL: load16_and8:
+ ; CHECK:       // %bb.0:
+-; CHECK-NEXT:    ldrb w8, [x0]
+-; CHECK-NEXT:    and w0, w1, w8
++; CHECK-NEXT:    ldrh w8, [x0]
++; CHECK-NEXT:    and w8, w1, w8
++; CHECK-NEXT:    and x0, x8, #0xff
+ ; CHECK-NEXT:    ret
+ ;
+ ; CHECKBE-LABEL: load16_and8:
+ ; CHECKBE:       // %bb.0:
+-; CHECKBE-NEXT:    ldrb w8, [x0, #1]
+-; CHECKBE-NEXT:    and w0, w1, w8
++; CHECKBE-NEXT:    ldrh w8, [x0]
++; CHECKBE-NEXT:    and w8, w1, w8
++; CHECKBE-NEXT:    and x0, x8, #0xff
+ ; CHECKBE-NEXT:    ret
+   %x = load i16, i16* %p, align 4
+   %xz = zext i16 %x to i64
+@@ -224,13 +232,15 @@ define i64 @load8_and16_zext(i8* %p, i8 %y) {
+ ; CHECK-LABEL: load8_and16_zext:
+ ; CHECK:       // %bb.0:
+ ; CHECK-NEXT:    ldrb w8, [x0]
+-; CHECK-NEXT:    and w0, w1, w8
++; CHECK-NEXT:    and w8, w1, w8
++; CHECK-NEXT:    and x0, x8, #0xff
+ ; CHECK-NEXT:    ret
+ ;
+ ; CHECKBE-LABEL: load8_and16_zext:
+ ; CHECKBE:       // %bb.0:
+ ; CHECKBE-NEXT:    ldrb w8, [x0]
+-; CHECKBE-NEXT:    and w0, w1, w8
++; CHECKBE-NEXT:    and w8, w1, w8
++; CHECKBE-NEXT:    and x0, x8, #0xff
+ ; CHECKBE-NEXT:    ret
+   %x = load i8, i8* %p, align 4
+   %xz = zext i8 %x to i64
+@@ -286,14 +296,16 @@ define i64 @load8_and16_or(i8* %p, i64 %y) {
+ define i64 @load16_and8_manyext(i16* %p, i32 %y) {
+ ; CHECK-LABEL: load16_and8_manyext:
+ ; CHECK:       // %bb.0:
+-; CHECK-NEXT:    ldrb w8, [x0]
+-; CHECK-NEXT:    and w0, w1, w8
++; CHECK-NEXT:    ldrh w8, [x0]
++; CHECK-NEXT:    and w8, w1, w8
++; CHECK-NEXT:    and x0, x8, #0xff
+ ; CHECK-NEXT:    ret
+ ;
+ ; CHECKBE-LABEL: load16_and8_manyext:
+ ; CHECKBE:       // %bb.0:
+-; CHECKBE-NEXT:    ldrb w8, [x0, #1]
+-; CHECKBE-NEXT:    and w0, w1, w8
++; CHECKBE-NEXT:    ldrh w8, [x0]
++; CHECKBE-NEXT:    and w8, w1, w8
++; CHECKBE-NEXT:    and x0, x8, #0xff
+ ; CHECKBE-NEXT:    ret
+   %x = load i16, i16* %p, align 4
+   %xz = zext i16 %x to i32
+@@ -306,16 +318,18 @@ define i64 @load16_and8_manyext(i16* %p, i32 %y) {
+ define i64 @multiple_load(i16* %p, i32* %q) {
+ ; CHECK-LABEL: multiple_load:
+ ; CHECK:       // %bb.0:
+-; CHECK-NEXT:    ldrb w8, [x0]
+-; CHECK-NEXT:    ldrb w9, [x1]
+-; CHECK-NEXT:    and w0, w9, w8
++; CHECK-NEXT:    ldrh w8, [x0]
++; CHECK-NEXT:    ldr w9, [x1]
++; CHECK-NEXT:    and w8, w9, w8
++; CHECK-NEXT:    and x0, x8, #0xff
+ ; CHECK-NEXT:    ret
+ ;
+ ; CHECKBE-LABEL: multiple_load:
+ ; CHECKBE:       // %bb.0:
+-; CHECKBE-NEXT:    ldrb w8, [x0, #1]
+-; CHECKBE-NEXT:    ldrb w9, [x1, #3]
+-; CHECKBE-NEXT:    and w0, w9, w8
++; CHECKBE-NEXT:    ldrh w8, [x0]
++; CHECKBE-NEXT:    ldr w9, [x1]
++; CHECKBE-NEXT:    and w8, w9, w8
++; CHECKBE-NEXT:    and x0, x8, #0xff
+ ; CHECKBE-NEXT:    ret
+   %x = load i16, i16* %p, align 4
+   %xz = zext i16 %x to i64
+@@ -329,16 +343,18 @@ define i64 @multiple_load(i16* %p, i32* %q) {
+ define i64 @multiple_load_or(i16* %p, i32* %q) {
+ ; CHECK-LABEL: multiple_load_or:
+ ; CHECK:       // %bb.0:
+-; CHECK-NEXT:    ldrb w8, [x0]
+-; CHECK-NEXT:    ldrb w9, [x1]
+-; CHECK-NEXT:    orr w0, w9, w8
++; CHECK-NEXT:    ldrh w8, [x0]
++; CHECK-NEXT:    ldr w9, [x1]
++; CHECK-NEXT:    orr w8, w9, w8
++; CHECK-NEXT:    and x0, x8, #0xff
+ ; CHECK-NEXT:    ret
+ ;
+ ; CHECKBE-LABEL: multiple_load_or:
+ ; CHECKBE:       // %bb.0:
+-; CHECKBE-NEXT:    ldrb w8, [x0, #1]
+-; CHECKBE-NEXT:    ldrb w9, [x1, #3]
+-; CHECKBE-NEXT:    orr w0, w9, w8
++; CHECKBE-NEXT:    ldrh w8, [x0]
++; CHECKBE-NEXT:    ldr w9, [x1]
++; CHECKBE-NEXT:    orr w8, w9, w8
++; CHECKBE-NEXT:    and x0, x8, #0xff
+ ; CHECKBE-NEXT:    ret
+   %x = load i16, i16* %p, align 4
+   %xz = zext i16 %x to i64
+@@ -352,16 +368,16 @@ define i64 @multiple_load_or(i16* %p, i32* %q) {
+ define i64 @load32_and16_zexty(i32* %p, i32 %y) {
+ ; CHECK-LABEL: load32_and16_zexty:
+ ; CHECK:       // %bb.0:
+-; CHECK-NEXT:    ldrh w8, [x0]
+-; CHECK-NEXT:    and w9, w1, #0xffff
+-; CHECK-NEXT:    orr w0, w9, w8
++; CHECK-NEXT:    ldr w8, [x0]
++; CHECK-NEXT:    orr w8, w1, w8
++; CHECK-NEXT:    and x0, x8, #0xffff
+ ; CHECK-NEXT:    ret
+ ;
+ ; CHECKBE-LABEL: load32_and16_zexty:
+ ; CHECKBE:       // %bb.0:
+-; CHECKBE-NEXT:    ldrh w8, [x0, #2]
+-; CHECKBE-NEXT:    and w9, w1, #0xffff
+-; CHECKBE-NEXT:    orr w0, w9, w8
++; CHECKBE-NEXT:    ldr w8, [x0]
++; CHECKBE-NEXT:    orr w8, w1, w8
++; CHECKBE-NEXT:    and x0, x8, #0xffff
+ ; CHECKBE-NEXT:    ret
+   %x = load i32, i32* %p, align 4
+   %xz = zext i32 %x to i64
+@@ -374,16 +390,16 @@ define i64 @load32_and16_zexty(i32* %p, i32 %y) {
+ define i64 @load32_and16_sexty(i32* %p, i32 %y) {
+ ; CHECK-LABEL: load32_and16_sexty:
+ ; CHECK:       // %bb.0:
+-; CHECK-NEXT:    ldrh w8, [x0]
+-; CHECK-NEXT:    and w9, w1, #0xffff
+-; CHECK-NEXT:    orr w0, w9, w8
++; CHECK-NEXT:    ldr w8, [x0]
++; CHECK-NEXT:    orr w8, w1, w8
++; CHECK-NEXT:    and x0, x8, #0xffff
+ ; CHECK-NEXT:    ret
+ ;
+ ; CHECKBE-LABEL: load32_and16_sexty:
+ ; CHECKBE:       // %bb.0:
+-; CHECKBE-NEXT:    ldrh w8, [x0, #2]
+-; CHECKBE-NEXT:    and w9, w1, #0xffff
+-; CHECKBE-NEXT:    orr w0, w9, w8
++; CHECKBE-NEXT:    ldr w8, [x0]
++; CHECKBE-NEXT:    orr w8, w1, w8
++; CHECKBE-NEXT:    and x0, x8, #0xffff
+ ; CHECKBE-NEXT:    ret
+   %x = load i32, i32* %p, align 4
+   %xz = zext i32 %x to i64
+diff --git a/llvm/test/CodeGen/X86/pr35763.ll b/llvm/test/CodeGen/X86/pr35763.ll
+index 53a0a0284d11..8b3e91dc577a 100644
+--- a/llvm/test/CodeGen/X86/pr35763.ll
++++ b/llvm/test/CodeGen/X86/pr35763.ll
+@@ -10,10 +10,10 @@
+ define dso_local void @PR35763() {
+ ; CHECK-LABEL: PR35763:
+ ; CHECK:       # %bb.0: # %entry
+-; CHECK-NEXT:    movzwl z(%rip), %eax
+-; CHECK-NEXT:    movzwl z+2(%rip), %ecx
+-; CHECK-NEXT:    orl %eax, %ecx
+-; CHECK-NEXT:    movq %rcx, tf_3_var_136(%rip)
++; CHECK-NEXT:    movl z(%rip), %eax
++; CHECK-NEXT:    orl z+2(%rip), %eax
++; CHECK-NEXT:    movzwl %ax, %eax
++; CHECK-NEXT:    movq %rax, tf_3_var_136(%rip)
+ ; CHECK-NEXT:    movl z+6(%rip), %eax
+ ; CHECK-NEXT:    movzbl z+10(%rip), %ecx
+ ; CHECK-NEXT:    shlq $32, %rcx
+-- 
+2.35.1.723.g4982287a31-goog
+
diff --git a/sys-devel/llvm/files/cherry/cb0a4bb5be10636aaec3ecb56ed586dee3eb0b9e.patch b/sys-devel/llvm/files/cherry/cb0a4bb5be10636aaec3ecb56ed586dee3eb0b9e.patch
new file mode 100644
index 0000000..5ed4f08
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/cb0a4bb5be10636aaec3ecb56ed586dee3eb0b9e.patch
@@ -0,0 +1,59 @@
+commit cb0a4bb5be10636aaec3ecb56ed586dee3eb0b9e
+Author: Fangrui Song <i@maskray.me>
+Date:   Fri Feb 18 11:20:36 2022 -0800
+
+    [ELF] Change (NOLOAD) section type mismatch error to warning
+    
+    Making a (NOLOAD) section SHT_PROGBITS is fishy (the user may expect all-zero
+    content, but the linker does not check that), but some projects (e.g. Linux
+    kernel https://github.com/ClangBuiltLinux/linux/issues/1597) traditionally rely
+    on the behavior. Issue a warning to not break them.
+
+diff --git a/lld/ELF/OutputSections.cpp b/lld/ELF/OutputSections.cpp
+index 2b5deecdcec7..252108b464b2 100644
+--- a/lld/ELF/OutputSections.cpp
++++ b/lld/ELF/OutputSections.cpp
+@@ -112,11 +112,16 @@ void OutputSection::commitSection(InputSection *isec) {
+     if (hasInputSections || typeIsSet) {
+       if (typeIsSet || !canMergeToProgbits(type) ||
+           !canMergeToProgbits(isec->type)) {
+-        errorOrWarn("section type mismatch for " + isec->name + "\n>>> " +
+-                    toString(isec) + ": " +
+-                    getELFSectionTypeName(config->emachine, isec->type) +
+-                    "\n>>> output section " + name + ": " +
+-                    getELFSectionTypeName(config->emachine, type));
++        // Changing the type of a (NOLOAD) section is fishy, but some projects
++        // (e.g. https://github.com/ClangBuiltLinux/linux/issues/1597)
++        // traditionally rely on the behavior. Issue a warning to not break
++        // them. Other types get an error.
++        auto diagnose = type == SHT_NOBITS ? warn : errorOrWarn;
++        diagnose("section type mismatch for " + isec->name + "\n>>> " +
++                 toString(isec) + ": " +
++                 getELFSectionTypeName(config->emachine, isec->type) +
++                 "\n>>> output section " + name + ": " +
++                 getELFSectionTypeName(config->emachine, type));
+       }
+       type = SHT_PROGBITS;
+     } else {
+diff --git a/lld/test/ELF/linkerscript/noload.s b/lld/test/ELF/linkerscript/noload.s
+index 92afadc9b263..1cc09670e8b1 100644
+--- a/lld/test/ELF/linkerscript/noload.s
++++ b/lld/test/ELF/linkerscript/noload.s
+@@ -17,9 +17,14 @@
+ # CHECK:      00 .data_noload_a .data_noload_b .no_input_sec_noload {{$}}
+ # CHECK:      01 .text {{$}}
+ 
+-# RUN: not ld.lld --script %t/lds %t.o %t/mismatch.o -o /dev/null 2>&1 | FileCheck %s --check-prefix=ERR
+-
+-# ERR: error: section type mismatch for .data_noload_a
++## The output SHT_PROBITS is contrary to the user expectation of SHT_NOBITS.
++## Issue a warning. See https://github.com/ClangBuiltLinux/linux/issues/1597
++# RUN: ld.lld --script %t/lds %t.o %t/mismatch.o -o %t/out 2>&1 |& FileCheck %s --check-prefix=WARN
++# RUN: llvm-readelf -S -l %t/out | FileCheck %s --check-prefix=CHECK2
++
++# WARN:   warning: section type mismatch for .data_noload_a
++# CHECK2:      Name                 Type     Address          Off               Size
++# CHECK2:      .data_noload_a       PROGBITS 0000000000000000 [[OFF:[0-9a-f]+]] 001001
+ 
+ #--- asm
+ .section .text,"ax",@progbits
diff --git a/sys-devel/llvm/files/cherry/cc8f98198799fe3a5f00e2fc0edcb5d90c124d2f.patch b/sys-devel/llvm/files/cherry/cc8f98198799fe3a5f00e2fc0edcb5d90c124d2f.patch
new file mode 100644
index 0000000..fb02779
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/cc8f98198799fe3a5f00e2fc0edcb5d90c124d2f.patch
@@ -0,0 +1,62 @@
+commit cc8f98198799fe3a5f00e2fc0edcb5d90c124d2f
+Author: Sanjay Patel <spatel@rotateright.com>
+Date:   Wed Mar 9 17:18:35 2022 -0500
+
+    [InstCombine] add tests to show miscompiled smin/smax; NFC
+
+diff --git a/llvm/test/Transforms/InstCombine/select-min-max.ll b/llvm/test/Transforms/InstCombine/select-min-max.ll
+index b285c7ee54b4..04dc62ec2f92 100644
+--- a/llvm/test/Transforms/InstCombine/select-min-max.ll
++++ b/llvm/test/Transforms/InstCombine/select-min-max.ll
+@@ -249,3 +249,51 @@ define i8 @umin_umax(i8 %x) {
+   %s = select i1 %c, i8 %m, i8 126
+   ret i8 %s
+ }
++
++define i8 @not_smax(i8 %i41, i8 %i43) {
++; CHECK-LABEL: @not_smax(
++; CHECK-NEXT:    [[I46:%.*]] = sub nsw i8 [[I41:%.*]], [[I43:%.*]]
++; CHECK-NEXT:    [[TMP1:%.*]] = call i8 @llvm.smax.i8(i8 [[I46]], i8 0)
++; CHECK-NEXT:    ret i8 [[TMP1]]
++;
++  %i44 = icmp slt i8 %i41, %i43
++  %i46 = sub nsw i8 %i41, %i43
++  %spec.select = select i1 %i44, i8 0, i8 %i46
++  ret i8 %spec.select
++}
++
++define i8 @not_smax_swap(i8 %i41, i8 %i43) {
++; CHECK-LABEL: @not_smax_swap(
++; CHECK-NEXT:    [[I46:%.*]] = sub nsw i8 [[I41:%.*]], [[I43:%.*]]
++; CHECK-NEXT:    [[TMP1:%.*]] = call i8 @llvm.smax.i8(i8 [[I46]], i8 0)
++; CHECK-NEXT:    ret i8 [[TMP1]]
++;
++  %i44 = icmp sgt i8 %i41, %i43
++  %i46 = sub nsw i8 %i41, %i43
++  %spec.select = select i1 %i44, i8 %i46, i8 0
++  ret i8 %spec.select
++}
++
++define i8 @not_smin(i8 %i41, i8 %i43) {
++; CHECK-LABEL: @not_smin(
++; CHECK-NEXT:    [[I46:%.*]] = sub nsw i8 [[I41:%.*]], [[I43:%.*]]
++; CHECK-NEXT:    [[TMP1:%.*]] = call i8 @llvm.smin.i8(i8 [[I46]], i8 0)
++; CHECK-NEXT:    ret i8 [[TMP1]]
++;
++  %i44 = icmp sgt i8 %i41, %i43
++  %i46 = sub nsw i8 %i41, %i43
++  %spec.select = select i1 %i44, i8 0, i8 %i46
++  ret i8 %spec.select
++}
++
++define i8 @not_smin_swap(i8 %i41, i8 %i43) {
++; CHECK-LABEL: @not_smin_swap(
++; CHECK-NEXT:    [[I46:%.*]] = sub nsw i8 [[I41:%.*]], [[I43:%.*]]
++; CHECK-NEXT:    [[TMP1:%.*]] = call i8 @llvm.smin.i8(i8 [[I46]], i8 0)
++; CHECK-NEXT:    ret i8 [[TMP1]]
++;
++  %i44 = icmp slt i8 %i41, %i43
++  %i46 = sub nsw i8 %i41, %i43
++  %spec.select = select i1 %i44, i8 %i46, i8 0
++  ret i8 %spec.select
++}
diff --git a/sys-devel/llvm/files/cherry/d2792e7d37c4b454a6b052cd569ff13ed7f22159.patch b/sys-devel/llvm/files/cherry/d2792e7d37c4b454a6b052cd569ff13ed7f22159.patch
new file mode 100644
index 0000000..144f2b5
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/d2792e7d37c4b454a6b052cd569ff13ed7f22159.patch
@@ -0,0 +1,84 @@
+commit d2792e7d37c4b454a6b052cd569ff13ed7f22159
+Author: Nick Desaulniers <ndesaulniers@google.com>
+Date:   Thu Jul 14 09:49:06 2022 -0700
+
+    [clang][test] fix typo in fn attr
+    
+    While testing backports of
+    https://reviews.llvm.org/D129572#inline-1245936
+    commit 2240d72f15f3 ("[X86] initial -mfunction-return=thunk-extern support")
+    I noticed that one of my unit tests mistyped a function attribute. The
+    unit test was intended to test fn attr merging behavior, but with the
+    typo it was not.  Small fixup.
+    
+    Reviewed By: aaron.ballman, erichkeane
+    
+    Differential Revision: https://reviews.llvm.org/D129691
+
+diff --git a/clang/test/CodeGen/attr-function-return.c b/clang/test/CodeGen/attr-function-return.c
+index 8b68cfe52afa..2ec3fb146432 100644
+--- a/clang/test/CodeGen/attr-function-return.c
++++ b/clang/test/CodeGen/attr-function-return.c
+@@ -1,11 +1,12 @@
+ // RUN: %clang_cc1 -std=gnu2x -triple x86_64-linux-gnu %s -emit-llvm -o - \
++// RUN:   -Werror=ignored-attributes \
+ // RUN:   | FileCheck %s --check-prefixes=CHECK,CHECK-NOM
+ // RUN: %clang_cc1 -std=gnu2x -triple x86_64-linux-gnu %s -emit-llvm -o - \
+-// RUN:   -mfunction-return=keep | FileCheck %s \
+-// RUN:   --check-prefixes=CHECK,CHECK-KEEP
++// RUN:   -Werror=ignored-attributes -mfunction-return=keep \
++// RUN:   | FileCheck %s --check-prefixes=CHECK,CHECK-KEEP
+ // RUN: %clang_cc1 -std=gnu2x -triple x86_64-linux-gnu %s -emit-llvm -o - \
+-// RUN:  -mfunction-return=thunk-extern | FileCheck %s \
+-// RUN:  --check-prefixes=CHECK,CHECK-EXTERN
++// RUN:   -Werror=ignored-attributes -mfunction-return=thunk-extern \
++// RUN:   | FileCheck %s --check-prefixes=CHECK,CHECK-EXTERN
+ 
+ #if !__has_attribute(function_return)
+ #error "missing attribute support for function_return"
+@@ -14,13 +15,13 @@
+ // CHECK: @keep() [[KEEP:#[0-9]+]]
+ __attribute__((function_return("keep"))) void keep(void) {}
+ 
+-// CHECK: @keep2() [[KEEP:#[0-9]+]]
++// CHECK: @keep2() [[KEEP]]
+ [[gnu::function_return("keep")]] void keep2(void) {}
+ 
+ // CHECK: @thunk_extern() [[EXTERN:#[0-9]+]]
+ __attribute__((function_return("thunk-extern"))) void thunk_extern(void) {}
+ 
+-// CHECK: @thunk_extern2() [[EXTERN:#[0-9]+]]
++// CHECK: @thunk_extern2() [[EXTERN]]
+ [[gnu::function_return("thunk-extern")]] void thunk_extern2(void) {}
+ 
+ // CHECK: @double_thunk_keep() [[KEEP]]
+@@ -39,7 +40,7 @@ __attribute__((function_return("thunk-extern")))
+ void double_keep_thunk(void) {}
+ 
+ // CHECK: @double_keep_thunk2() [[EXTERN]]
+-[[gnu::function_return("thunk-keep")]][[gnu::function_return("thunk-extern")]]
++[[gnu::function_return("keep")]][[gnu::function_return("thunk-extern")]]
+ void double_keep_thunk2(void) {}
+ 
+ // CHECK: @thunk_keep() [[KEEP]]
+diff --git a/clang/test/CodeGen/attr-function-return.cpp b/clang/test/CodeGen/attr-function-return.cpp
+index 9d58b7b2f857..47ef1a74cbb6 100644
+--- a/clang/test/CodeGen/attr-function-return.cpp
++++ b/clang/test/CodeGen/attr-function-return.cpp
+@@ -1,11 +1,12 @@
+ // RUN: %clang_cc1 -triple x86_64-linux-gnu %s -emit-llvm -o - \
++// RUN:   -Werror=unknown-attributes \
+ // RUN:   | FileCheck %s --check-prefixes=CHECK,CHECK-NOM
+ // RUN: %clang_cc1 -triple x86_64-linux-gnu %s -emit-llvm -o - \
+-// RUN:   -mfunction-return=keep | FileCheck %s \
+-// RUN:   --check-prefixes=CHECK,CHECK-KEEP
++// RUN:   -Werror=unknown-attributes -mfunction-return=keep \
++// RUN:   | FileCheck %s --check-prefixes=CHECK,CHECK-KEEP
+ // RUN: %clang_cc1 -triple x86_64-linux-gnu %s -emit-llvm -o - \
+-// RUN:  -mfunction-return=thunk-extern | FileCheck %s \
+-// RUN:  --check-prefixes=CHECK,CHECK-EXTERN
++// RUN:   -Werror=unknown-attributes -mfunction-return=thunk-extern \
++// RUN:   | FileCheck %s --check-prefixes=CHECK,CHECK-EXTERN
+ 
+ int foo(void) {
+   // CHECK: @"_ZZ3foovENK3$_0clEv"({{.*}}) [[NOATTR:#[0-9]+]]
diff --git a/sys-devel/llvm/files/cherry/d29fc6e7d24f9bf67512180c0be3f08526049a27.patch b/sys-devel/llvm/files/cherry/d29fc6e7d24f9bf67512180c0be3f08526049a27.patch
new file mode 100644
index 0000000..a93c9c5
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/d29fc6e7d24f9bf67512180c0be3f08526049a27.patch
@@ -0,0 +1,498 @@
+commit d29fc6e7d24f9bf67512180c0be3f08526049a27
+Author: Karl Meakin <karl.meakin@arm.com>
+Date:   Thu May 12 22:16:21 2022 +0100
+
+    [AArch64] Replace `performANDSCombine` with `performFlagSettingCombine`.
+    
+    `performFlagSettingCombine` is a generalised version of `performANDSCombine` which also works on  `ADCS` and `SBCS`.
+    
+    Differential revision: https://reviews.llvm.org/D124464
+
+diff --git a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+index c10303b71b7c..a651f8a682c4 100644
+--- a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
++++ b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+@@ -17684,11 +17684,11 @@ static SDValue performSETCCCombine(SDNode *N, SelectionDAG &DAG) {
+   return SDValue();
+ }
+ 
+-// Combines for S forms of generic opcodes (AArch64ISD::ANDS into ISD::AND for
+-// example). NOTE: This could be used for ADDS and SUBS too, if we can find test
+-// cases.
+-static SDValue performANDSCombine(SDNode *N,
+-                                  TargetLowering::DAGCombinerInfo &DCI) {
++// Replace a flag-setting operator (eg ANDS) with the generic version
++// (eg AND) if the flag is unused.
++static SDValue performFlagSettingCombine(SDNode *N,
++                                         TargetLowering::DAGCombinerInfo &DCI,
++                                         unsigned GenericOpcode) {
+   SDLoc DL(N);
+   SDValue LHS = N->getOperand(0);
+   SDValue RHS = N->getOperand(1);
+@@ -17696,15 +17696,15 @@ static SDValue performANDSCombine(SDNode *N,
+ 
+   // If the flag result isn't used, convert back to a generic opcode.
+   if (!N->hasAnyUseOfValue(1)) {
+-    SDValue Res = DCI.DAG.getNode(ISD::AND, DL, VT, LHS, RHS);
++    SDValue Res = DCI.DAG.getNode(GenericOpcode, DL, VT, N->ops());
+     return DCI.DAG.getMergeValues({Res, DCI.DAG.getConstant(0, DL, MVT::i32)},
+                                   DL);
+   }
+ 
+   // Combine identical generic nodes into this node, re-using the result.
+-  if (SDNode *GenericAddSub =
+-          DCI.DAG.getNodeIfExists(ISD::AND, DCI.DAG.getVTList(VT), {LHS, RHS}))
+-    DCI.CombineTo(GenericAddSub, SDValue(N, 0));
++  if (SDNode *Generic = DCI.DAG.getNodeIfExists(
++          GenericOpcode, DCI.DAG.getVTList(VT), {LHS, RHS}))
++    DCI.CombineTo(Generic, SDValue(N, 0));
+ 
+   return SDValue();
+ }
+@@ -18718,12 +18718,20 @@ SDValue AArch64TargetLowering::PerformDAGCombine(SDNode *N,
+   case ISD::ADD:
+   case ISD::SUB:
+     return performAddSubCombine(N, DCI, DAG);
++  case AArch64ISD::ANDS:
++    return performFlagSettingCombine(N, DCI, ISD::AND);
+   case AArch64ISD::ADC:
+-  case AArch64ISD::ADCS:
+     return foldOverflowCheck(N, DAG, /* IsAdd */ true);
+   case AArch64ISD::SBC:
+-  case AArch64ISD::SBCS:
+     return foldOverflowCheck(N, DAG, /* IsAdd */ false);
++  case AArch64ISD::ADCS:
++    if (auto R = foldOverflowCheck(N, DAG, /* IsAdd */ true))
++      return R;
++    return performFlagSettingCombine(N, DCI, AArch64ISD::ADC);
++  case AArch64ISD::SBCS:
++    if (auto R = foldOverflowCheck(N, DAG, /* IsAdd */ false))
++      return R;
++    return performFlagSettingCombine(N, DCI, AArch64ISD::SBC);
+   case ISD::XOR:
+     return performXorCombine(N, DAG, DCI, Subtarget);
+   case ISD::MUL:
+@@ -18782,8 +18790,6 @@ SDValue AArch64TargetLowering::PerformDAGCombine(SDNode *N,
+     return performTBZCombine(N, DCI, DAG);
+   case AArch64ISD::CSEL:
+     return performCSELCombine(N, DCI, DAG);
+-  case AArch64ISD::ANDS:
+-    return performANDSCombine(N, DCI);
+   case AArch64ISD::DUP:
+     return performPostLD1Combine(N, DCI, false);
+   case AArch64ISD::NVCAST:
+diff --git a/llvm/test/CodeGen/AArch64/adc.ll b/llvm/test/CodeGen/AArch64/adc.ll
+index aa129da8db26..faa43d665d25 100644
+--- a/llvm/test/CodeGen/AArch64/adc.ll
++++ b/llvm/test/CodeGen/AArch64/adc.ll
+@@ -6,17 +6,17 @@ define i128 @test_simple(i128 %a, i128 %b, i128 %c) {
+ ; CHECK-LE-LABEL: test_simple:
+ ; CHECK-LE:       ; %bb.0:
+ ; CHECK-LE-NEXT:    adds x8, x0, x2
+-; CHECK-LE-NEXT:    adcs x9, x1, x3
++; CHECK-LE-NEXT:    adc x9, x1, x3
+ ; CHECK-LE-NEXT:    subs x0, x8, x4
+-; CHECK-LE-NEXT:    sbcs x1, x9, x5
++; CHECK-LE-NEXT:    sbc x1, x9, x5
+ ; CHECK-LE-NEXT:    ret
+ ;
+ ; CHECK-BE-LABEL: test_simple:
+ ; CHECK-BE:       // %bb.0:
+ ; CHECK-BE-NEXT:    adds x8, x1, x3
+-; CHECK-BE-NEXT:    adcs x9, x0, x2
++; CHECK-BE-NEXT:    adc x9, x0, x2
+ ; CHECK-BE-NEXT:    subs x1, x8, x5
+-; CHECK-BE-NEXT:    sbcs x0, x9, x4
++; CHECK-BE-NEXT:    sbc x0, x9, x4
+ ; CHECK-BE-NEXT:    ret
+ 
+   %valadd = add i128 %a, %b
+@@ -30,13 +30,13 @@ define i128 @test_imm(i128 %a) {
+ ; CHECK-LE-LABEL: test_imm:
+ ; CHECK-LE:       ; %bb.0:
+ ; CHECK-LE-NEXT:    adds x0, x0, #12
+-; CHECK-LE-NEXT:    adcs x1, x1, xzr
++; CHECK-LE-NEXT:    adc x1, x1, xzr
+ ; CHECK-LE-NEXT:    ret
+ ;
+ ; CHECK-BE-LABEL: test_imm:
+ ; CHECK-BE:       // %bb.0:
+ ; CHECK-BE-NEXT:    adds x1, x1, #12
+-; CHECK-BE-NEXT:    adcs x0, x0, xzr
++; CHECK-BE-NEXT:    adc x0, x0, xzr
+ ; CHECK-BE-NEXT:    ret
+ 
+   %val = add i128 %a, 12
+@@ -49,14 +49,14 @@ define i128 @test_shifted(i128 %a, i128 %b) {
+ ; CHECK-LE:       ; %bb.0:
+ ; CHECK-LE-NEXT:    extr x8, x3, x2, #19
+ ; CHECK-LE-NEXT:    adds x0, x0, x2, lsl #45
+-; CHECK-LE-NEXT:    adcs x1, x1, x8
++; CHECK-LE-NEXT:    adc x1, x1, x8
+ ; CHECK-LE-NEXT:    ret
+ ;
+ ; CHECK-BE-LABEL: test_shifted:
+ ; CHECK-BE:       // %bb.0:
+ ; CHECK-BE-NEXT:    extr x8, x2, x3, #19
+ ; CHECK-BE-NEXT:    adds x1, x1, x3, lsl #45
+-; CHECK-BE-NEXT:    adcs x0, x0, x8
++; CHECK-BE-NEXT:    adc x0, x0, x8
+ ; CHECK-BE-NEXT:    ret
+ 
+   %rhs = shl i128 %b, 45
+@@ -74,7 +74,7 @@ define i128 @test_extended(i128 %a, i16 %b) {
+ ; CHECK-LE-NEXT:    adds x0, x0, w2, sxth #3
+ ; CHECK-LE-NEXT:    asr x9, x8, #63
+ ; CHECK-LE-NEXT:    extr x8, x9, x8, #61
+-; CHECK-LE-NEXT:    adcs x1, x1, x8
++; CHECK-LE-NEXT:    adc x1, x1, x8
+ ; CHECK-LE-NEXT:    ret
+ ;
+ ; CHECK-BE-LABEL: test_extended:
+@@ -84,7 +84,7 @@ define i128 @test_extended(i128 %a, i16 %b) {
+ ; CHECK-BE-NEXT:    adds x1, x1, w2, sxth #3
+ ; CHECK-BE-NEXT:    asr x9, x8, #63
+ ; CHECK-BE-NEXT:    extr x8, x9, x8, #61
+-; CHECK-BE-NEXT:    adcs x0, x0, x8
++; CHECK-BE-NEXT:    adc x0, x0, x8
+ ; CHECK-BE-NEXT:    ret
+ 
+   %ext = sext i16 %b to i128
+diff --git a/llvm/test/CodeGen/AArch64/addcarry-crash.ll b/llvm/test/CodeGen/AArch64/addcarry-crash.ll
+index 4830281cda13..be48fb79e704 100644
+--- a/llvm/test/CodeGen/AArch64/addcarry-crash.ll
++++ b/llvm/test/CodeGen/AArch64/addcarry-crash.ll
+@@ -9,7 +9,7 @@ define i64 @foo(i64* nocapture readonly %ptr, i64 %a, i64 %b, i64 %c) local_unna
+ ; CHECK-NEXT:    lsr x9, x1, #32
+ ; CHECK-NEXT:    cmn x3, x2
+ ; CHECK-NEXT:    mul x8, x8, x9
+-; CHECK-NEXT:    adcs x0, x8, xzr
++; CHECK-NEXT:    adc x0, x8, xzr
+ ; CHECK-NEXT:    ret
+ entry:
+   %0 = lshr i64 %a, 32
+diff --git a/llvm/test/CodeGen/AArch64/arm64-atomic-128.ll b/llvm/test/CodeGen/AArch64/arm64-atomic-128.ll
+index 2f8d06e13355..b00dad42d455 100644
+--- a/llvm/test/CodeGen/AArch64/arm64-atomic-128.ll
++++ b/llvm/test/CodeGen/AArch64/arm64-atomic-128.ll
+@@ -260,7 +260,7 @@ define void @fetch_and_add(i128* %p, i128 %bits) {
+ ; CHECK-NEXT:    // =>This Inner Loop Header: Depth=1
+ ; CHECK-NEXT:    ldaxp x9, x8, [x0]
+ ; CHECK-NEXT:    adds x10, x9, x2
+-; CHECK-NEXT:    adcs x11, x8, x3
++; CHECK-NEXT:    adc x11, x8, x3
+ ; CHECK-NEXT:    stlxp w12, x10, x11, [x0]
+ ; CHECK-NEXT:    cbnz w12, .LBB6_1
+ ; CHECK-NEXT:  // %bb.2: // %atomicrmw.end
+@@ -281,7 +281,7 @@ define void @fetch_and_sub(i128* %p, i128 %bits) {
+ ; CHECK-NEXT:    // =>This Inner Loop Header: Depth=1
+ ; CHECK-NEXT:    ldaxp x9, x8, [x0]
+ ; CHECK-NEXT:    subs x10, x9, x2
+-; CHECK-NEXT:    sbcs x11, x8, x3
++; CHECK-NEXT:    sbc x11, x8, x3
+ ; CHECK-NEXT:    stlxp w12, x10, x11, [x0]
+ ; CHECK-NEXT:    cbnz w12, .LBB7_1
+ ; CHECK-NEXT:  // %bb.2: // %atomicrmw.end
+diff --git a/llvm/test/CodeGen/AArch64/arm64-vabs.ll b/llvm/test/CodeGen/AArch64/arm64-vabs.ll
+index ef0d3ffc9405..cbe9dea42e14 100644
+--- a/llvm/test/CodeGen/AArch64/arm64-vabs.ll
++++ b/llvm/test/CodeGen/AArch64/arm64-vabs.ll
+@@ -1748,28 +1748,28 @@ define <2 x i64> @uabd_i32(<2 x i32> %a, <2 x i32> %b) {
+ define <2 x i128> @uabd_i64(<2 x i64> %a, <2 x i64> %b) {
+ ; CHECK-LABEL: uabd_i64:
+ ; CHECK:       // %bb.0:
+-; CHECK-NEXT:    fmov x9, d0
+-; CHECK-NEXT:    fmov x11, d1
+ ; CHECK-NEXT:    mov.d x8, v0[1]
++; CHECK-NEXT:    fmov x9, d0
+ ; CHECK-NEXT:    mov.d x10, v1[1]
++; CHECK-NEXT:    fmov x11, d1
+ ; CHECK-NEXT:    asr x12, x9, #63
+ ; CHECK-NEXT:    asr x13, x11, #63
+ ; CHECK-NEXT:    subs x9, x9, x11
+-; CHECK-NEXT:    sbcs x11, x12, x13
++; CHECK-NEXT:    sbc x11, x12, x13
+ ; CHECK-NEXT:    asr x12, x8, #63
+ ; CHECK-NEXT:    asr x13, x10, #63
+ ; CHECK-NEXT:    subs x8, x8, x10
+-; CHECK-NEXT:    sbcs x10, x12, x13
+-; CHECK-NEXT:    asr x13, x11, #63
+-; CHECK-NEXT:    asr x12, x10, #63
+-; CHECK-NEXT:    eor x8, x8, x12
+-; CHECK-NEXT:    eor x10, x10, x12
+-; CHECK-NEXT:    subs x2, x8, x12
+-; CHECK-NEXT:    eor x8, x9, x13
+-; CHECK-NEXT:    sbcs x3, x10, x12
+-; CHECK-NEXT:    eor x9, x11, x13
+-; CHECK-NEXT:    subs x8, x8, x13
+-; CHECK-NEXT:    sbcs x1, x9, x13
++; CHECK-NEXT:    sbc x10, x12, x13
++; CHECK-NEXT:    asr x12, x11, #63
++; CHECK-NEXT:    asr x13, x10, #63
++; CHECK-NEXT:    eor x9, x9, x12
++; CHECK-NEXT:    eor x8, x8, x13
++; CHECK-NEXT:    eor x10, x10, x13
++; CHECK-NEXT:    subs x2, x8, x13
++; CHECK-NEXT:    sbc x3, x10, x13
++; CHECK-NEXT:    subs x8, x9, x12
++; CHECK-NEXT:    eor x9, x11, x12
++; CHECK-NEXT:    sbc x1, x9, x12
+ ; CHECK-NEXT:    fmov d0, x8
+ ; CHECK-NEXT:    mov.d v0[1], x1
+ ; CHECK-NEXT:    fmov x0, d0
+diff --git a/llvm/test/CodeGen/AArch64/atomicrmw-O0.ll b/llvm/test/CodeGen/AArch64/atomicrmw-O0.ll
+index 06be6209f023..71a4ed000c7e 100644
+--- a/llvm/test/CodeGen/AArch64/atomicrmw-O0.ll
++++ b/llvm/test/CodeGen/AArch64/atomicrmw-O0.ll
+@@ -220,7 +220,7 @@ define i128 @test_rmw_add_128(i128* %dst)   {
+ ; NOLSE-NEXT:    ldr x13, [sp, #24] // 8-byte Folded Reload
+ ; NOLSE-NEXT:    adds x14, x8, #1
+ ; NOLSE-NEXT:    mov x9, xzr
+-; NOLSE-NEXT:    adcs x15, x11, x9
++; NOLSE-NEXT:    adc x15, x11, x9
+ ; NOLSE-NEXT:  .LBB4_2: // %atomicrmw.start
+ ; NOLSE-NEXT:    // Parent Loop BB4_1 Depth=1
+ ; NOLSE-NEXT:    // => This Inner Loop Header: Depth=2
+@@ -273,7 +273,7 @@ define i128 @test_rmw_add_128(i128* %dst)   {
+ ; LSE-NEXT:    ldr x9, [sp, #56] // 8-byte Folded Reload
+ ; LSE-NEXT:    adds x2, x8, #1
+ ; LSE-NEXT:    mov x11, xzr
+-; LSE-NEXT:    adcs x11, x10, x11
++; LSE-NEXT:    adc x11, x10, x11
+ ; LSE-NEXT:    // kill: def $x2 killed $x2 def $x2_x3
+ ; LSE-NEXT:    mov x3, x11
+ ; LSE-NEXT:    mov x0, x8
+diff --git a/llvm/test/CodeGen/AArch64/i128-math.ll b/llvm/test/CodeGen/AArch64/i128-math.ll
+index 4dfdab71a18e..7ac419621382 100644
+--- a/llvm/test/CodeGen/AArch64/i128-math.ll
++++ b/llvm/test/CodeGen/AArch64/i128-math.ll
+@@ -23,7 +23,7 @@ define i128 @u128_add(i128 %x, i128 %y) {
+ ; CHECK-LABEL: u128_add:
+ ; CHECK:       // %bb.0:
+ ; CHECK-NEXT:    adds x0, x0, x2
+-; CHECK-NEXT:    adcs x1, x1, x3
++; CHECK-NEXT:    adc x1, x1, x3
+ ; CHECK-NEXT:    ret
+   %1 = add i128 %x, %y
+   ret i128 %1
+@@ -81,7 +81,7 @@ define i128 @u128_sub(i128 %x, i128 %y) {
+ ; CHECK-LABEL: u128_sub:
+ ; CHECK:       // %bb.0:
+ ; CHECK-NEXT:    subs x0, x0, x2
+-; CHECK-NEXT:    sbcs x1, x1, x3
++; CHECK-NEXT:    sbc x1, x1, x3
+ ; CHECK-NEXT:    ret
+   %1 = sub i128 %x, %y
+   ret i128 %1
+@@ -139,7 +139,7 @@ define i128 @i128_add(i128 %x, i128 %y) {
+ ; CHECK-LABEL: i128_add:
+ ; CHECK:       // %bb.0:
+ ; CHECK-NEXT:    adds x0, x0, x2
+-; CHECK-NEXT:    adcs x1, x1, x3
++; CHECK-NEXT:    adc x1, x1, x3
+ ; CHECK-NEXT:    ret
+   %1 = add i128 %x, %y
+   ret i128 %1
+@@ -199,7 +199,7 @@ define i128 @i128_sub(i128 %x, i128 %y) {
+ ; CHECK-LABEL: i128_sub:
+ ; CHECK:       // %bb.0:
+ ; CHECK-NEXT:    subs x0, x0, x2
+-; CHECK-NEXT:    sbcs x1, x1, x3
++; CHECK-NEXT:    sbc x1, x1, x3
+ ; CHECK-NEXT:    ret
+   %1 = sub i128 %x, %y
+   ret i128 %1
+diff --git a/llvm/test/CodeGen/AArch64/i256-math.ll b/llvm/test/CodeGen/AArch64/i256-math.ll
+index 6e5afb4dc311..9d8ae7b3fc09 100644
+--- a/llvm/test/CodeGen/AArch64/i256-math.ll
++++ b/llvm/test/CodeGen/AArch64/i256-math.ll
+@@ -19,7 +19,7 @@ define i256 @u256_add(i256 %x, i256 %y) {
+ ; CHECK-NEXT:    adds x0, x0, x4
+ ; CHECK-NEXT:    adcs x1, x1, x5
+ ; CHECK-NEXT:    adcs x2, x2, x6
+-; CHECK-NEXT:    adcs x3, x3, x7
++; CHECK-NEXT:    adc x3, x3, x7
+ ; CHECK-NEXT:    ret
+   %1 = add i256 %x, %y
+   ret i256 %1
+@@ -87,7 +87,7 @@ define i256 @u256_sub(i256 %x, i256 %y) {
+ ; CHECK-NEXT:    subs x0, x0, x4
+ ; CHECK-NEXT:    sbcs x1, x1, x5
+ ; CHECK-NEXT:    sbcs x2, x2, x6
+-; CHECK-NEXT:    sbcs x3, x3, x7
++; CHECK-NEXT:    sbc x3, x3, x7
+ ; CHECK-NEXT:    ret
+   %1 = sub i256 %x, %y
+   ret i256 %1
+@@ -163,7 +163,7 @@ define i256 @i256_add(i256 %x, i256 %y) {
+ ; CHECK-NEXT:    adds x0, x0, x4
+ ; CHECK-NEXT:    adcs x1, x1, x5
+ ; CHECK-NEXT:    adcs x2, x2, x6
+-; CHECK-NEXT:    adcs x3, x3, x7
++; CHECK-NEXT:    adc x3, x3, x7
+ ; CHECK-NEXT:    ret
+   %1 = add i256 %x, %y
+   ret i256 %1
+@@ -233,7 +233,7 @@ define i256 @i256_sub(i256 %x, i256 %y) {
+ ; CHECK-NEXT:    subs x0, x0, x4
+ ; CHECK-NEXT:    sbcs x1, x1, x5
+ ; CHECK-NEXT:    sbcs x2, x2, x6
+-; CHECK-NEXT:    sbcs x3, x3, x7
++; CHECK-NEXT:    sbc x3, x3, x7
+ ; CHECK-NEXT:    ret
+   %1 = sub i256 %x, %y
+   ret i256 %1
+diff --git a/llvm/test/CodeGen/AArch64/icmp-shift-opt.ll b/llvm/test/CodeGen/AArch64/icmp-shift-opt.ll
+index 368246dbb242..f095ee8a4abe 100644
+--- a/llvm/test/CodeGen/AArch64/icmp-shift-opt.ll
++++ b/llvm/test/CodeGen/AArch64/icmp-shift-opt.ll
+@@ -11,7 +11,7 @@ define i128 @opt_setcc_lt_power_of_2(i128 %a) nounwind {
+ ; CHECK-NEXT:  .LBB0_1: // %loop
+ ; CHECK-NEXT:    // =>This Inner Loop Header: Depth=1
+ ; CHECK-NEXT:    adds x0, x0, #1
+-; CHECK-NEXT:    adcs x1, x1, xzr
++; CHECK-NEXT:    adc x1, x1, xzr
+ ; CHECK-NEXT:    orr x8, x1, x0, lsr #60
+ ; CHECK-NEXT:    cbnz x8, .LBB0_1
+ ; CHECK-NEXT:  // %bb.2: // %exit
+diff --git a/llvm/test/CodeGen/AArch64/neg-abs.ll b/llvm/test/CodeGen/AArch64/neg-abs.ll
+index 12c76fe20ab2..9be0d1a123eb 100644
+--- a/llvm/test/CodeGen/AArch64/neg-abs.ll
++++ b/llvm/test/CodeGen/AArch64/neg-abs.ll
+@@ -52,7 +52,7 @@ define i128 @neg_abs128(i128 %x) {
+ ; CHECK-NEXT:    eor x9, x0, x8
+ ; CHECK-NEXT:    eor x10, x1, x8
+ ; CHECK-NEXT:    subs x0, x8, x9
+-; CHECK-NEXT:    sbcs x1, x8, x10
++; CHECK-NEXT:    sbc x1, x8, x10
+ ; CHECK-NEXT:    ret
+   %abs = tail call i128 @llvm.abs.i128(i128 %x, i1 true)
+   %neg = sub nsw i128 0, %abs
+@@ -99,7 +99,7 @@ define i128 @abs128(i128 %x) {
+ ; CHECK-NEXT:    eor x9, x0, x8
+ ; CHECK-NEXT:    eor x10, x1, x8
+ ; CHECK-NEXT:    subs x0, x9, x8
+-; CHECK-NEXT:    sbcs x1, x10, x8
++; CHECK-NEXT:    sbc x1, x10, x8
+ ; CHECK-NEXT:    ret
+   %abs = tail call i128 @llvm.abs.i128(i128 %x, i1 true)
+   ret i128 %abs
+diff --git a/llvm/test/CodeGen/AArch64/neon-abd.ll b/llvm/test/CodeGen/AArch64/neon-abd.ll
+index 3782f98113ea..92d1d734fae5 100644
+--- a/llvm/test/CodeGen/AArch64/neon-abd.ll
++++ b/llvm/test/CodeGen/AArch64/neon-abd.ll
+@@ -147,23 +147,23 @@ define <2 x i64> @sabd_2d(<2 x i64> %a, <2 x i64> %b) #0 {
+ ; CHECK-NEXT:    mov x8, v0.d[1]
+ ; CHECK-NEXT:    fmov x10, d0
+ ; CHECK-NEXT:    mov x9, v1.d[1]
+-; CHECK-NEXT:    asr x11, x10, #63
+-; CHECK-NEXT:    asr x12, x8, #63
+-; CHECK-NEXT:    asr x13, x9, #63
++; CHECK-NEXT:    fmov x11, d1
++; CHECK-NEXT:    asr x12, x10, #63
++; CHECK-NEXT:    asr x14, x8, #63
++; CHECK-NEXT:    asr x15, x9, #63
+ ; CHECK-NEXT:    subs x8, x8, x9
+-; CHECK-NEXT:    fmov x9, d1
+-; CHECK-NEXT:    sbcs x12, x12, x13
+-; CHECK-NEXT:    asr x13, x9, #63
+-; CHECK-NEXT:    subs x9, x10, x9
+-; CHECK-NEXT:    sbcs x10, x11, x13
+-; CHECK-NEXT:    asr x11, x12, #63
+-; CHECK-NEXT:    asr x10, x10, #63
+-; CHECK-NEXT:    eor x8, x8, x11
+-; CHECK-NEXT:    eor x9, x9, x10
+-; CHECK-NEXT:    sub x8, x8, x11
+-; CHECK-NEXT:    sub x9, x9, x10
++; CHECK-NEXT:    asr x13, x11, #63
++; CHECK-NEXT:    sbc x9, x14, x15
++; CHECK-NEXT:    subs x10, x10, x11
++; CHECK-NEXT:    asr x9, x9, #63
++; CHECK-NEXT:    sbc x11, x12, x13
++; CHECK-NEXT:    eor x8, x8, x9
++; CHECK-NEXT:    asr x11, x11, #63
++; CHECK-NEXT:    sub x8, x8, x9
++; CHECK-NEXT:    eor x10, x10, x11
++; CHECK-NEXT:    sub x10, x10, x11
+ ; CHECK-NEXT:    fmov d1, x8
+-; CHECK-NEXT:    fmov d0, x9
++; CHECK-NEXT:    fmov d0, x10
+ ; CHECK-NEXT:    mov v0.d[1], v1.d[0]
+ ; CHECK-NEXT:    ret
+   %a.sext = sext <2 x i64> %a to <2 x i128>
+@@ -327,19 +327,19 @@ define <2 x i64> @uabd_2d(<2 x i64> %a, <2 x i64> %b) #0 {
+ ; CHECK-NEXT:    mov x8, v0.d[1]
+ ; CHECK-NEXT:    fmov x10, d0
+ ; CHECK-NEXT:    mov x9, v1.d[1]
++; CHECK-NEXT:    fmov x11, d1
+ ; CHECK-NEXT:    subs x8, x8, x9
+-; CHECK-NEXT:    fmov x9, d1
+-; CHECK-NEXT:    ngcs x11, xzr
++; CHECK-NEXT:    ngc x9, xzr
++; CHECK-NEXT:    subs x10, x10, x11
++; CHECK-NEXT:    ngc x11, xzr
++; CHECK-NEXT:    asr x9, x9, #63
+ ; CHECK-NEXT:    asr x11, x11, #63
+-; CHECK-NEXT:    subs x9, x10, x9
+-; CHECK-NEXT:    eor x8, x8, x11
+-; CHECK-NEXT:    ngcs x10, xzr
+-; CHECK-NEXT:    sub x8, x8, x11
+-; CHECK-NEXT:    asr x10, x10, #63
+-; CHECK-NEXT:    eor x9, x9, x10
+-; CHECK-NEXT:    sub x9, x9, x10
++; CHECK-NEXT:    eor x8, x8, x9
++; CHECK-NEXT:    eor x10, x10, x11
++; CHECK-NEXT:    sub x8, x8, x9
++; CHECK-NEXT:    sub x10, x10, x11
+ ; CHECK-NEXT:    fmov d1, x8
+-; CHECK-NEXT:    fmov d0, x9
++; CHECK-NEXT:    fmov d0, x10
+ ; CHECK-NEXT:    mov v0.d[1], v1.d[0]
+ ; CHECK-NEXT:    ret
+   %a.zext = zext <2 x i64> %a to <2 x i128>
+diff --git a/llvm/test/CodeGen/AArch64/nzcv-save.ll b/llvm/test/CodeGen/AArch64/nzcv-save.ll
+index 9f7b3d3fa42c..ddb1d3219f78 100644
+--- a/llvm/test/CodeGen/AArch64/nzcv-save.ll
++++ b/llvm/test/CodeGen/AArch64/nzcv-save.ll
+@@ -8,20 +8,18 @@ define void @f(i256* nocapture %a, i256* nocapture %b, i256* nocapture %cc, i256
+ ; CHECK:       // %bb.0: // %entry
+ ; CHECK-NEXT:    ldp x9, x8, [x2]
+ ; CHECK-NEXT:    ldp x11, x10, [x3]
++; CHECK-NEXT:    ldp x13, x12, [x2, #16]
++; CHECK-NEXT:    ldp x14, x15, [x3, #16]
+ ; CHECK-NEXT:    adds x9, x9, x11
+-; CHECK-NEXT:    ldp x12, x11, [x2, #16]
+ ; CHECK-NEXT:    adcs x8, x8, x10
+-; CHECK-NEXT:    ldp x13, x10, [x3, #16]
+-; CHECK-NEXT:    adcs x12, x12, x13
+-; CHECK-NEXT:    mrs x13, NZCV
+-; CHECK-NEXT:    adcs x14, x11, x10
+-; CHECK-NEXT:    orr x11, x11, #0x100
+-; CHECK-NEXT:    msr NZCV, x13
++; CHECK-NEXT:    adcs x10, x13, x14
++; CHECK-NEXT:    adc x11, x12, x15
++; CHECK-NEXT:    orr x12, x12, #0x100
++; CHECK-NEXT:    adc x12, x12, x15
+ ; CHECK-NEXT:    stp x9, x8, [x0]
+-; CHECK-NEXT:    adcs x10, x11, x10
+-; CHECK-NEXT:    stp x12, x14, [x0, #16]
++; CHECK-NEXT:    stp x10, x11, [x0, #16]
++; CHECK-NEXT:    stp x10, x12, [x1, #16]
+ ; CHECK-NEXT:    stp x9, x8, [x1]
+-; CHECK-NEXT:    stp x12, x10, [x1, #16]
+ ; CHECK-NEXT:    ret
+ entry:
+   %c = load i256, i256* %cc
+diff --git a/llvm/test/CodeGen/AArch64/vecreduce-add-legalization.ll b/llvm/test/CodeGen/AArch64/vecreduce-add-legalization.ll
+index 36ec218e4e20..bd3543f75e5e 100644
+--- a/llvm/test/CodeGen/AArch64/vecreduce-add-legalization.ll
++++ b/llvm/test/CodeGen/AArch64/vecreduce-add-legalization.ll
+@@ -149,7 +149,7 @@ define i128 @test_v2i128(<2 x i128> %a) nounwind {
+ ; CHECK-LABEL: test_v2i128:
+ ; CHECK:       // %bb.0:
+ ; CHECK-NEXT:    adds x0, x0, x2
+-; CHECK-NEXT:    adcs x1, x1, x3
++; CHECK-NEXT:    adc x1, x1, x3
+ ; CHECK-NEXT:    ret
+   %b = call i128 @llvm.vector.reduce.add.v2i128(<2 x i128> %a)
+   ret i128 %b
diff --git a/sys-devel/llvm/files/cherry/d7dd7ad827a0a78314f3c9b55f4778a6059840f3.patch b/sys-devel/llvm/files/cherry/d7dd7ad827a0a78314f3c9b55f4778a6059840f3.patch
new file mode 100644
index 0000000..34c9092
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/d7dd7ad827a0a78314f3c9b55f4778a6059840f3.patch
@@ -0,0 +1,56 @@
+From d7dd7ad827a0a78314f3c9b55f4778a6059840f3 Mon Sep 17 00:00:00 2001
+From: Kirill Stoimenov <kstoimenov@google.com>
+Date: Tue, 1 Feb 2022 20:39:29 +0000
+Subject: [PATCH] Revert "[ASan] Not linking asan_static library for DSO."
+
+This reverts commit cf730d8ce1341ba593144df2e2bc8411238e04c3. It turned out that D118184 is causing segfaults in some situations.
+
+Reviewed By: vitalybuka, kda
+
+Differential Revision: https://reviews.llvm.org/D118739
+---
+ clang/lib/Driver/ToolChains/CommonArgs.cpp | 8 ++++----
+ clang/test/Driver/sanitizer-ld.c           | 2 +-
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp
+index 87f1c8d0c998..6364cd133e0b 100644
+--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp
++++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp
+@@ -845,16 +845,16 @@ collectSanitizerRuntimes(const ToolChain &TC, const ArgList &Args,
+   if (SanArgs.needsStatsRt() && SanArgs.linkRuntimes())
+     StaticRuntimes.push_back("stats_client");
+ 
++  // Always link the static runtime regardless of DSO or executable.
++  if (SanArgs.needsAsanRt())
++    HelperStaticRuntimes.push_back("asan_static");
++
+   // Collect static runtimes.
+   if (Args.hasArg(options::OPT_shared)) {
+     // Don't link static runtimes into DSOs.
+     return;
+   }
+ 
+-  // Always link the static runtime for executable.
+-  if (SanArgs.needsAsanRt())
+-    HelperStaticRuntimes.push_back("asan_static");
+-
+   // Each static runtime that has a DSO counterpart above is excluded below,
+   // but runtimes that exist only as static are not affected by needsSharedRt.
+ 
+diff --git a/clang/test/Driver/sanitizer-ld.c b/clang/test/Driver/sanitizer-ld.c
+index d96cddb31d68..966edbd7d038 100644
+--- a/clang/test/Driver/sanitizer-ld.c
++++ b/clang/test/Driver/sanitizer-ld.c
+@@ -39,7 +39,7 @@
+ // RUN:     --sysroot=%S/Inputs/basic_linux_tree \
+ // RUN:   | FileCheck --check-prefix=CHECK-ASAN-SHARED-LINUX %s
+ //
+-// CHECK-ASAN-SHARED-LINUX-NOT: libclang_rt.asan_static-x86_64
++// CHECK-ASAN-SHARED-LINUX: libclang_rt.asan_static-x86_64
+ // CHECK-ASAN-SHARED-LINUX-NOT: libclang_rt.asan-x86_64
+ 
+ // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
+-- 
+2.35.1.723.g4982287a31-goog
+
diff --git a/sys-devel/llvm/files/cherry/da2a16f702efe3307d407d5c6db6c8c18ef6bd9b.patch b/sys-devel/llvm/files/cherry/da2a16f702efe3307d407d5c6db6c8c18ef6bd9b.patch
new file mode 100644
index 0000000..a41519f
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/da2a16f702efe3307d407d5c6db6c8c18ef6bd9b.patch
@@ -0,0 +1,39 @@
+From da2a16f702efe3307d407d5c6db6c8c18ef6bd9b Mon Sep 17 00:00:00 2001
+From: Fangrui Song <i@maskray.me>
+Date: Fri, 11 Feb 2022 15:23:18 -0800
+Subject: [PATCH] [tsan] Make __fxstat code path glibc only
+
+This fixes Linux musl build after D118423.
+---
+ compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp b/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
+index 999be79c6418..ea99c3843075 100644
+--- a/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
++++ b/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
+@@ -1554,16 +1554,16 @@ TSAN_INTERCEPTOR(int, __fxstat, int version, int fd, void *buf) {
+ #endif
+ 
+ TSAN_INTERCEPTOR(int, fstat, int fd, void *buf) {
+-#if SANITIZER_FREEBSD || SANITIZER_MAC || SANITIZER_ANDROID || SANITIZER_NETBSD
+-  SCOPED_TSAN_INTERCEPTOR(fstat, fd, buf);
++#if SANITIZER_GLIBC
++  SCOPED_TSAN_INTERCEPTOR(__fxstat, 0, fd, buf);
+   if (fd > 0)
+     FdAccess(thr, pc, fd);
+-  return REAL(fstat)(fd, buf);
++  return REAL(__fxstat)(0, fd, buf);
+ #else
+-  SCOPED_TSAN_INTERCEPTOR(__fxstat, 0, fd, buf);
++  SCOPED_TSAN_INTERCEPTOR(fstat, fd, buf);
+   if (fd > 0)
+     FdAccess(thr, pc, fd);
+-  return REAL(__fxstat)(0, fd, buf);
++  return REAL(fstat)(fd, buf);
+ #endif
+ }
+ 
+-- 
+2.35.1.723.g4982287a31-goog
+
diff --git a/sys-devel/llvm/files/cherry/de4a57cb21a19179d7be830967e642b868a05a91.patch b/sys-devel/llvm/files/cherry/de4a57cb21a19179d7be830967e642b868a05a91.patch
new file mode 100644
index 0000000..681c2fd
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/de4a57cb21a19179d7be830967e642b868a05a91.patch
@@ -0,0 +1,3393 @@
+commit de4a57cb21a19179d7be830967e642b868a05a91
+Author: Louis Dionne <ldionne.2@gmail.com>
+Date:   Mon Jun 27 15:53:41 2022 -0400
+
+    [libc++] Re-add transitive includes that had been removed since LLVM 14
+    
+    This commit re-adds transitive includes that had been removed by
+    4cd04d1687f1, c36870c8e79c, a83f4b9cda57, 1458458b558d, 2e2f3158c604,
+    and 489637e66dd3. This should cover almost all the includes that had
+    been removed since LLVM 14 and that would contribute to breaking user
+    code when releasing LLVM 15.
+    
+    It is possible to disable the inclusion of these headers by defining
+    _LIBCPP_REMOVE_TRANSITIVE_INCLUDES. The intent is that vendors will
+    enable that macro and start fixing downstream issues immediately. We
+    can then remove the macro (and the transitive includes) by default in
+    a future release. That way, we will break users only once by removing
+    transitive includes in bulk instead of doing it bit by bit a every
+    release, which is more disruptive for users.
+    
+    Note 1: The set of headers to re-add was found by re-generating the
+            transitive include test on a checkout of release/14.x, which
+            provided the list of all transitive includes we used to provide.
+    
+    Note 2: Several includes of <vector>, <optional>, <array> and <unordered_map>
+            have been added in this commit. These transitive inclusions were
+            added when we implemented boyer_moore_searcher in <functional>.
+    
+    Note 3: This is a best effort patch to try and resolve downstream breakage
+            caused since branching LLVM 14. I wasn't able to perfectly mirror
+            transitive includes in LLVM 14 for a few headers, so I added a
+            release note explaining it. To summarize, adding boyer_moore_searcher
+            created a bunch of circular dependencies, so we have to break
+            backwards compatibility in a few cases.
+    
+    Differential Revision: https://reviews.llvm.org/D128661
+
+diff --git a/libcxx/cmake/caches/Generic-no-transitive-includes.cmake b/libcxx/cmake/caches/Generic-no-transitive-includes.cmake
+new file mode 100644
+index 000000000000..31e807366e16
+--- /dev/null
++++ b/libcxx/cmake/caches/Generic-no-transitive-includes.cmake
+@@ -0,0 +1,2 @@
++set(LIBCXX_TEST_PARAMS "enable_transitive_includes=False" CACHE STRING "")
++set(LIBCXXABI_TEST_PARAMS "${LIBCXX_TEST_PARAMS}" CACHE STRING "")
+diff --git a/libcxx/docs/ReleaseNotes.rst b/libcxx/docs/ReleaseNotes.rst
+index c7f9cb3c270f..dfc849c771fa 100644
+--- a/libcxx/docs/ReleaseNotes.rst
++++ b/libcxx/docs/ReleaseNotes.rst
+@@ -97,19 +97,15 @@ API Changes
+   ``<filesystem>`` header. The associated macro
+   ``_LIBCPP_DEPRECATED_EXPERIMENTAL_FILESYSTEM`` has also been removed.
+ 
+-- Some libc++ headers no longer transitively include all of:
+-    - ``<algorithm>``
+-    - ``<chrono>``
+-    - ``<exception>``
+-    - ``<functional>``
+-    - ``<iterator>``
+-    - ``<new>``
+-    - ``<typeinfo>``
+-    - ``<utility>``
+-
+-  If, after updating libc++, you see compiler errors related to missing declarations
+-  in namespace ``std``, it might be because one of your source files now needs to
+-  include one or more of the headers listed above.
++- Libc++ is getting ready to remove unnecessary transitive inclusions. This may
++  break your code in the future. To future-proof your code to these removals,
++  please compile your code with ``_LIBCPP_REMOVE_TRANSITIVE_INCLUDES`` defined
++  and fix any compilation error resulting from missing includes.
++
++- The ``<algorithm>``, ``<array>``, ``<optional>``, ``<unordered_map>`` and ``<vector>``
++  headers no longer transitively include the ``<functional>`` header. If you see compiler
++  errors related to missing declarations in namespace ``std``, make sure you have the
++  necessary includes.
+ 
+ - The integer distributions ``binomial_distribution``, ``discrete_distribution``,
+   ``geometric_distribution``, ``negative_binomial_distribution``, ``poisson_distribution``,
+diff --git a/libcxx/include/algorithm b/libcxx/include/algorithm
+index cb1cb1dc6b43..9ae647181c5f 100644
+--- a/libcxx/include/algorithm
++++ b/libcxx/include/algorithm
+@@ -1260,6 +1260,12 @@ template <class BidirectionalIterator, class Compare>
+ #include <__algorithm/unwrap_iter.h>
+ #include <__algorithm/upper_bound.h>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <chrono>
++#  include <iterator>
++#  include <utility>
++#endif
++
+ // standard-mandated includes
+ #include <initializer_list>
+ 
+diff --git a/libcxx/include/any b/libcxx/include/any
+index 991d887bf29a..7e12034b45a7 100644
+--- a/libcxx/include/any
++++ b/libcxx/include/any
+@@ -94,6 +94,10 @@ namespace std {
+ #include <typeinfo>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <chrono>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/array b/libcxx/include/array
+index ab919309b966..e96c3d813339 100644
+--- a/libcxx/include/array
++++ b/libcxx/include/array
+@@ -123,6 +123,12 @@ template <size_t I, class T, size_t N> const T&& get(const array<T, N>&&) noexce
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <iterator>
++#  include <utility>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/atomic b/libcxx/include/atomic
+index 3ccc8bc94436..0c6d3079c96a 100644
+--- a/libcxx/include/atomic
++++ b/libcxx/include/atomic
+@@ -534,6 +534,10 @@ template <class T>
+ # include <__threading_support>
+ #endif
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <chrono>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/bit b/libcxx/include/bit
+index f634372836b3..fe1bcadc818a 100644
+--- a/libcxx/include/bit
++++ b/libcxx/include/bit
+@@ -71,6 +71,10 @@ namespace std {
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iosfwd>
++#endif
++
+ #if defined(__IBMCPP__)
+ #  include "__support/ibm/support.h"
+ #endif
+diff --git a/libcxx/include/charconv b/libcxx/include/charconv
+index 80aa44d28e81..6a63e5fe9057 100644
+--- a/libcxx/include/charconv
++++ b/libcxx/include/charconv
+@@ -96,6 +96,10 @@ namespace std {
+ #include <limits>
+ #include <type_traits>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iosfwd>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/coroutine b/libcxx/include/coroutine
+index a96c4a7a5af8..6582f5554ed0 100644
+--- a/libcxx/include/coroutine
++++ b/libcxx/include/coroutine
+@@ -46,6 +46,10 @@ struct suspend_always;
+ #include <__coroutine/trivial_awaitables.h>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iosfwd>
++#endif
++
+ // standard-mandated includes
+ #include <compare>
+ 
+diff --git a/libcxx/include/deque b/libcxx/include/deque
+index 27cd7b213e81..d8f48f07954c 100644
+--- a/libcxx/include/deque
++++ b/libcxx/include/deque
+@@ -185,6 +185,12 @@ template <class T, class Allocator, class Predicate>
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <functional>
++#  include <iterator>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/experimental/simd b/libcxx/include/experimental/simd
+index 02a7a490a160..9b55cc009986 100644
+--- a/libcxx/include/experimental/simd
++++ b/libcxx/include/experimental/simd
+@@ -656,6 +656,11 @@ public:
+ #include <experimental/__config>
+ #include <tuple>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <functional>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/experimental/unordered_map b/libcxx/include/experimental/unordered_map
+index 71ce4408c49f..636d31bdc557 100644
+--- a/libcxx/include/experimental/unordered_map
++++ b/libcxx/include/experimental/unordered_map
+@@ -45,6 +45,14 @@ namespace pmr {
+ #include <experimental/memory_resource>
+ #include <unordered_map>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <array>
++#  include <bit>
++#  include <functional>
++#  include <vector>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/ext/hash_map b/libcxx/include/ext/hash_map
+index 92572c08c24c..8afe12f6319b 100644
+--- a/libcxx/include/ext/hash_map
++++ b/libcxx/include/ext/hash_map
+@@ -210,6 +210,10 @@ template <class Key, class T, class Hash, class Pred, class Alloc>
+ #include <stdexcept>
+ #include <type_traits>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iterator>
++#endif
++
+ #if defined(__DEPRECATED) && __DEPRECATED
+ #if defined(_LIBCPP_WARNING)
+     _LIBCPP_WARNING("Use of the header <ext/hash_map> is deprecated.  Migrate to <unordered_map>")
+diff --git a/libcxx/include/ext/hash_set b/libcxx/include/ext/hash_set
+index eb6193940668..433c13f80bb2 100644
+--- a/libcxx/include/ext/hash_set
++++ b/libcxx/include/ext/hash_set
+@@ -199,6 +199,10 @@ template <class Value, class Hash, class Pred, class Alloc>
+ #include <ext/__hash>
+ #include <functional>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iterator>
++#endif
++
+ #if defined(__DEPRECATED) && __DEPRECATED
+ #if defined(_LIBCPP_WARNING)
+     _LIBCPP_WARNING("Use of the header <ext/hash_set> is deprecated.  Migrate to <unordered_set>")
+diff --git a/libcxx/include/forward_list b/libcxx/include/forward_list
+index 4600d82ecdd8..6a7272027351 100644
+--- a/libcxx/include/forward_list
++++ b/libcxx/include/forward_list
+@@ -194,6 +194,12 @@ template <class T, class Allocator, class Predicate>
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <functional>
++#  include <iterator>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/functional b/libcxx/include/functional
+index dd39e274a56b..ca17dd4ed3de 100644
+--- a/libcxx/include/functional
++++ b/libcxx/include/functional
+@@ -529,6 +529,10 @@ POLICY:  For non-variadic implementations, the number of arguments is limited
+ #include <typeinfo>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <utility>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/future b/libcxx/include/future
+index 4f49bf158bac..f4a5b43eef08 100644
+--- a/libcxx/include/future
++++ b/libcxx/include/future
+@@ -378,6 +378,10 @@ template <class R, class Alloc> struct uses_allocator<packaged_task<R>, Alloc>;
+ #include <thread>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <chrono>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/iterator b/libcxx/include/iterator
+index dfa1d35e0d90..d2f5ac2c0e93 100644
+--- a/libcxx/include/iterator
++++ b/libcxx/include/iterator
+@@ -724,6 +724,13 @@ template <class E> constexpr const E* data(initializer_list<E> il) noexcept;
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <exception>
++#  include <new>
++#  include <typeinfo>
++#  include <utility>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/list b/libcxx/include/list
+index 7ae1bc897ce0..d75b15c060be 100644
+--- a/libcxx/include/list
++++ b/libcxx/include/list
+@@ -202,6 +202,12 @@ template <class T, class Allocator, class Predicate>
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <functional>
++#  include <iterator>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/locale b/libcxx/include/locale
+index 8ac2aacb6edf..7f6f1e509745 100644
+--- a/libcxx/include/locale
++++ b/libcxx/include/locale
+@@ -211,6 +211,10 @@ template <class charT> class messages_byname;
+ #include <streambuf>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iterator>
++#endif
++
+ #if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
+ // Most unix variants have catopen.  These are the specific ones that don't.
+ #  if !defined(__BIONIC__) && !defined(_NEWLIB_VERSION) && !defined(__EMSCRIPTEN__)
+diff --git a/libcxx/include/map b/libcxx/include/map
+index b253d0ffc848..106ed5259ed9 100644
+--- a/libcxx/include/map
++++ b/libcxx/include/map
+@@ -546,6 +546,12 @@ erase_if(multimap<Key, T, Compare, Allocator>& c, Predicate pred);  // C++20
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <functional>
++#  include <iterator>
++#  include <utility>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/memory b/libcxx/include/memory
+index aafe4bf4ba00..299746022274 100644
+--- a/libcxx/include/memory
++++ b/libcxx/include/memory
+@@ -871,6 +871,11 @@ template<size_t N, class T>
+ #include <typeinfo>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iterator>
++#  include <utility>
++#endif
++
+ // standard-mandated includes
+ #include <compare>
+ 
+diff --git a/libcxx/include/mutex b/libcxx/include/mutex
+index ded33514f79d..5dfaad2b3510 100644
+--- a/libcxx/include/mutex
++++ b/libcxx/include/mutex
+@@ -198,6 +198,10 @@ template<class Callable, class ...Args>
+ #endif
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <functional>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/numeric b/libcxx/include/numeric
+index 809838b21071..057faf508e6b 100644
+--- a/libcxx/include/numeric
++++ b/libcxx/include/numeric
+@@ -163,6 +163,11 @@ template<class T>
+ #include <__numeric/transform_inclusive_scan.h>
+ #include <__numeric/transform_reduce.h>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <functional>
++#  include <iterator>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/optional b/libcxx/include/optional
+index 73e902dc84be..349ceb5bc7f6 100644
+--- a/libcxx/include/optional
++++ b/libcxx/include/optional
+@@ -177,6 +177,21 @@ template<class T>
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <atomic>
++#  include <chrono>
++#  include <climits>
++#  include <concepts>
++#  include <ctime>
++#  include <iterator>
++#  include <memory>
++#  include <ratio>
++#  include <tuple>
++#  include <typeinfo>
++#  include <utility>
++#  include <variant>
++#endif
++
+ // standard-mandated includes
+ #include <compare>
+ 
+diff --git a/libcxx/include/ostream b/libcxx/include/ostream
+index aa4c8c3d8792..283774585b92 100644
+--- a/libcxx/include/ostream
++++ b/libcxx/include/ostream
+@@ -142,6 +142,10 @@ template <class Stream, class T>
+ #include <streambuf>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iterator>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/queue b/libcxx/include/queue
+index a6e8a52e19b5..9a5cfb39f24e 100644
+--- a/libcxx/include/queue
++++ b/libcxx/include/queue
+@@ -231,6 +231,10 @@ template <class T, class Container, class Compare>
+ #include <vector>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <functional>
++#endif
++
+ // standard-mandated includes
+ #include <compare>
+ #include <initializer_list>
+diff --git a/libcxx/include/random b/libcxx/include/random
+index b0817dd3a7cc..41ee4d85fda3 100644
+--- a/libcxx/include/random
++++ b/libcxx/include/random
+@@ -1718,6 +1718,10 @@ class piecewise_linear_distribution
+ #include <__random/weibull_distribution.h>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#endif
++
+ // standard-mandated includes
+ #include <initializer_list>
+ 
+diff --git a/libcxx/include/regex b/libcxx/include/regex
+index a0a6561ef030..a117c50f3984 100644
+--- a/libcxx/include/regex
++++ b/libcxx/include/regex
+@@ -778,6 +778,11 @@ typedef regex_token_iterator<wstring::const_iterator> wsregex_token_iterator;
+ #include <vector>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iterator>
++#  include <utility>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/set b/libcxx/include/set
+index 3c062a123125..da62f6f5ca5b 100644
+--- a/libcxx/include/set
++++ b/libcxx/include/set
+@@ -485,6 +485,11 @@ erase_if(multiset<Key, Compare, Allocator>& c, Predicate pred);  // C++20
+ #include <__utility/forward.h>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <functional>
++#  include <iterator>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/span b/libcxx/include/span
+index 84b23ce60287..00793a210cbe 100644
+--- a/libcxx/include/span
++++ b/libcxx/include/span
+@@ -148,6 +148,11 @@ template<class R>
+ #include <type_traits>  // for remove_cv, etc
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <functional>
++#  include <iterator>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/stack b/libcxx/include/stack
+index 59878c1d84df..86435c4559de 100644
+--- a/libcxx/include/stack
++++ b/libcxx/include/stack
+@@ -107,6 +107,10 @@ template <class T, class Container>
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <functional>
++#endif
++
+ // standard-mandated includes
+ #include <compare>
+ #include <initializer_list>
+diff --git a/libcxx/include/string b/libcxx/include/string
+index 0ce8c4fecebd..bb169a82c9e7 100644
+--- a/libcxx/include/string
++++ b/libcxx/include/string
+@@ -555,6 +555,16 @@ basic_string<char32_t> operator "" s( const char32_t *str, size_t len );
+ #  include <cwchar>
+ #endif
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <functional>
++#  include <iterator>
++#  include <new>
++#  include <typeinfo>
++#  include <utility>
++#  include <vector>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/string_view b/libcxx/include/string_view
+index 8088f66bcdc5..28013e7cb08e 100644
+--- a/libcxx/include/string_view
++++ b/libcxx/include/string_view
+@@ -218,6 +218,12 @@ namespace std {
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <functional>
++#  include <iterator>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/thread b/libcxx/include/thread
+index 06b4824d4c6f..1c8eb198986d 100644
+--- a/libcxx/include/thread
++++ b/libcxx/include/thread
+@@ -98,6 +98,11 @@ void sleep_for(const chrono::duration<Rep, Period>& rel_time);
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <chrono>
++#  include <functional>
++#endif
++
+ // standard-mandated includes
+ #include <compare>
+ 
+diff --git a/libcxx/include/tuple b/libcxx/include/tuple
+index d36b9902526b..221eb23dd3f8 100644
+--- a/libcxx/include/tuple
++++ b/libcxx/include/tuple
+@@ -219,6 +219,14 @@ template <class... Types>
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <exception>
++#  include <iosfwd>
++#  include <new>
++#  include <typeinfo>
++#  include <utility>
++#endif
++
+ // standard-mandated includes
+ #include <compare>
+ 
+diff --git a/libcxx/include/typeindex b/libcxx/include/typeindex
+index fb61cfc81769..5fb7b30ecfee 100644
+--- a/libcxx/include/typeindex
++++ b/libcxx/include/typeindex
+@@ -50,6 +50,12 @@ struct hash<type_index>
+ #include <typeinfo>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iosfwd>
++#  include <new>
++#  include <utility>
++#endif
++
+ // standard-mandated includes
+ #include <compare>
+ 
+diff --git a/libcxx/include/unordered_map b/libcxx/include/unordered_map
+index 12b4e5af63f5..72749e11e843 100644
+--- a/libcxx/include/unordered_map
++++ b/libcxx/include/unordered_map
+@@ -531,6 +531,12 @@ template <class Key, class T, class Hash, class Pred, class Alloc>
+ #include <tuple>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <bit>
++#  include <iterator>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/unordered_set b/libcxx/include/unordered_set
+index 3fc686c8d354..97aa935f187c 100644
+--- a/libcxx/include/unordered_set
++++ b/libcxx/include/unordered_set
+@@ -474,6 +474,11 @@ template <class Value, class Hash, class Pred, class Alloc>
+ #include <__utility/forward.h>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <functional>
++#  include <iterator>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/utility b/libcxx/include/utility
+index fc7909aef11a..7a1a45e334a3 100644
+--- a/libcxx/include/utility
++++ b/libcxx/include/utility
+@@ -243,6 +243,10 @@ template <class T>
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iosfwd>
++#endif
++
+ // standard-mandated includes
+ #include <compare>
+ #include <initializer_list>
+diff --git a/libcxx/include/valarray b/libcxx/include/valarray
+index 5e601758e041..6f8a3b84197b 100644
+--- a/libcxx/include/valarray
++++ b/libcxx/include/valarray
+@@ -360,6 +360,11 @@ template <class T> unspecified2 end(const valarray<T>& v);
+ #include <new>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <functional>
++#endif
++
+ // standard-mandated includes
+ #include <initializer_list>
+ 
+diff --git a/libcxx/include/variant b/libcxx/include/variant
+index 5f8c06510d91..65dec64dbbbd 100644
+--- a/libcxx/include/variant
++++ b/libcxx/include/variant
+@@ -219,6 +219,11 @@ namespace std {
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <typeinfo>
++#  include <utility>
++#endif
++
+ // standard-mandated includes
+ #include <compare>
+ 
+diff --git a/libcxx/include/vector b/libcxx/include/vector
+index 1cb4cbf10794..f5c09011948d 100644
+--- a/libcxx/include/vector
++++ b/libcxx/include/vector
+@@ -305,6 +305,12 @@ erase_if(vector<T, Allocator>& c, Predicate pred);    // C++20
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <typeinfo>
++#  include <utility>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/test/libcxx/transitive_includes.sh.cpp b/libcxx/test/libcxx/transitive_includes.sh.cpp
+index 19d6ab036f68..aaf26fbf40dc 100644
+--- a/libcxx/test/libcxx/transitive_includes.sh.cpp
++++ b/libcxx/test/libcxx/transitive_includes.sh.cpp
+@@ -34,6 +34,11 @@
+ // This test doesn't work on AIX or Windows, but it should. Needs investigation.
+ // XFAIL: buildhost=aix, buildhost=windows
+ 
++// This test is not supported when we remove the transitive includes provided for backwards
++// compatibility. When we bulk-remove them, we'll adjust the includes that are expected by
++// this test instead.
++// XFAIL: transitive-includes-disabled
++
+ // Prevent <ext/hash_map> from generating deprecated warnings for this test.
+ #if defined(__DEPRECATED)
+ #    undef __DEPRECATED
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.algorithm b/libcxx/test/libcxx/transitive_includes/expected.algorithm
+index 8e539be98cbc..944a3eeea2d6 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.algorithm
++++ b/libcxx/test/libcxx/transitive_includes/expected.algorithm
+@@ -1,6 +1,7 @@
+ algorithm
+ atomic
+ bit
++chrono
+ climits
+ cmath
+ compare
+@@ -13,6 +14,7 @@ ctime
+ exception
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -21,4 +23,6 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.any b/libcxx/test/libcxx/transitive_includes/expected.any
+index 4f3cff5c0634..86009188e53e 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.any
++++ b/libcxx/test/libcxx/transitive_includes/expected.any
+@@ -1,5 +1,6 @@
+ any
+ atomic
++chrono
+ climits
+ cmath
+ compare
+@@ -12,6 +13,7 @@ ctime
+ exception
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -20,4 +22,6 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.array b/libcxx/test/libcxx/transitive_includes/expected.array
+index 0fb1b67d13d0..7145642a8f46 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.array
++++ b/libcxx/test/libcxx/transitive_includes/expected.array
+@@ -1,14 +1,29 @@
++algorithm
+ array
++atomic
++bit
++chrono
++climits
+ cmath
+ compare
+ concepts
+ cstddef
+ cstdint
+ cstdlib
++cstring
++ctime
+ exception
+ initializer_list
+ iosfwd
++iterator
+ limits
++memory
++new
++ratio
+ stdexcept
++tuple
+ type_traits
++typeinfo
++utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.atomic b/libcxx/test/libcxx/transitive_includes/expected.atomic
+index 42e3c191ac89..3e9917b3da1a 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.atomic
++++ b/libcxx/test/libcxx/transitive_includes/expected.atomic
+@@ -1,5 +1,8 @@
+ atomic
++chrono
+ climits
++cmath
++compare
+ cstddef
+ cstdint
+ cstring
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.barrier b/libcxx/test/libcxx/transitive_includes/expected.barrier
+index cb7845f45e0c..c2865c8d3ef0 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.barrier
++++ b/libcxx/test/libcxx/transitive_includes/expected.barrier
+@@ -1,5 +1,6 @@
+ atomic
+ barrier
++chrono
+ climits
+ cmath
+ compare
+@@ -12,6 +13,7 @@ ctime
+ exception
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -20,4 +22,6 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.bit b/libcxx/test/libcxx/transitive_includes/expected.bit
+index 3f58643d6062..4fb5285f8142 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.bit
++++ b/libcxx/test/libcxx/transitive_includes/expected.bit
+@@ -2,6 +2,7 @@ bit
+ cstddef
+ cstdint
+ cstdlib
++iosfwd
+ limits
+ type_traits
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.bitset b/libcxx/test/libcxx/transitive_includes/expected.bitset
+index d3ee4af66e1b..3cf3e8dbdfc7 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.bitset
++++ b/libcxx/test/libcxx/transitive_includes/expected.bitset
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ cctype
++chrono
+ climits
+ cmath
+ compare
+@@ -14,11 +18,14 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ string
+@@ -26,4 +33,8 @@ string_view
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ccomplex b/libcxx/test/libcxx/transitive_includes/expected.ccomplex
+index cfc2d04436fe..98bf9a8010e4 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.ccomplex
++++ b/libcxx/test/libcxx/transitive_includes/expected.ccomplex
+@@ -1,8 +1,12 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ ccomplex
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -18,15 +22,18 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
+ istream
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ sstream
+@@ -38,4 +45,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.charconv b/libcxx/test/libcxx/transitive_includes/expected.charconv
+index 5ce64d0c6a23..1ca2d688ddea 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.charconv
++++ b/libcxx/test/libcxx/transitive_includes/expected.charconv
+@@ -6,6 +6,7 @@ cstddef
+ cstdint
+ cstdlib
+ cstring
++iosfwd
+ limits
+ type_traits
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.codecvt b/libcxx/test/libcxx/transitive_includes/expected.codecvt
+index f846715edf80..0931ca137c0b 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.codecvt
++++ b/libcxx/test/libcxx/transitive_includes/expected.codecvt
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ codecvt
+@@ -15,12 +19,15 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ mutex
+ new
++optional
+ ratio
+ stdexcept
+ string
+@@ -29,4 +36,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.complex b/libcxx/test/libcxx/transitive_includes/expected.complex
+index eb5fe7c87bf7..64161c1d331f 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.complex
++++ b/libcxx/test/libcxx/transitive_includes/expected.complex
+@@ -1,7 +1,11 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -17,15 +21,18 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
+ istream
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ sstream
+@@ -37,4 +44,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.condition_variable b/libcxx/test/libcxx/transitive_includes/expected.condition_variable
+index 081849db56d2..968007a37cef 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.condition_variable
++++ b/libcxx/test/libcxx/transitive_includes/expected.condition_variable
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -15,11 +19,14 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ string
+@@ -28,4 +35,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.coroutine b/libcxx/test/libcxx/transitive_includes/expected.coroutine
+index 1f31012bf5be..8dd332d47254 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.coroutine
++++ b/libcxx/test/libcxx/transitive_includes/expected.coroutine
+@@ -4,6 +4,7 @@ coroutine
+ cstddef
+ cstdint
+ cstring
++iosfwd
+ limits
+ type_traits
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ctgmath b/libcxx/test/libcxx/transitive_includes/expected.ctgmath
+index ac37b74ac56e..7467a5ab5952 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.ctgmath
++++ b/libcxx/test/libcxx/transitive_includes/expected.ctgmath
+@@ -1,8 +1,12 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ ccomplex
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -19,15 +23,18 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
+ istream
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ sstream
+@@ -39,4 +46,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.deque b/libcxx/test/libcxx/transitive_includes/expected.deque
+index aa51131432ea..c26bdc7479b6 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.deque
++++ b/libcxx/test/libcxx/transitive_includes/expected.deque
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -10,14 +14,21 @@ cstring
+ ctime
+ deque
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm b/libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm
+index 7e307913a9fe..8a5cd7de65d8 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm
+@@ -1,6 +1,7 @@
+ algorithm
+ atomic
+ bit
++chrono
+ climits
+ cmath
+ compare
+@@ -14,6 +15,7 @@ exception
+ experimental/algorithm
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -22,4 +24,6 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine b/libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine
+index 89fc3edcec46..682f0fa0e7a8 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine
+@@ -1,4 +1,5 @@
+ atomic
++chrono
+ climits
+ cmath
+ compare
+@@ -12,6 +13,7 @@ exception
+ experimental/coroutine
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -20,4 +22,6 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_deque b/libcxx/test/libcxx/transitive_includes/expected.experimental_deque
+index e1677c7dd843..bd86d1588beb 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_deque
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_deque
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -13,15 +17,21 @@ exception
+ experimental/deque
+ experimental/memory_resource
+ experimental/utility
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
+ utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list b/libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list
+index af433ce90949..c43fab08b41f 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -13,15 +17,21 @@ experimental/forward_list
+ experimental/memory_resource
+ experimental/utility
+ forward_list
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
+ utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_functional b/libcxx/test/libcxx/transitive_includes/expected.experimental_functional
+index ce502b5e9803..87cee2d28882 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_functional
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_functional
+@@ -1,5 +1,8 @@
++algorithm
+ array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -14,6 +17,7 @@ experimental/functional
+ functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -24,5 +28,7 @@ tuple
+ type_traits
+ typeinfo
+ unordered_map
++utility
++variant
+ vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_iterator b/libcxx/test/libcxx/transitive_includes/expected.experimental_iterator
+index 83a9b8d93c65..14d31c215ffb 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_iterator
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_iterator
+@@ -14,5 +14,7 @@ limits
+ new
+ tuple
+ type_traits
++typeinfo
++utility
+ variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_list b/libcxx/test/libcxx/transitive_includes/expected.experimental_list
+index aae9f23d08e9..ac800654f532 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_list
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_list
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -12,16 +16,22 @@ exception
+ experimental/list
+ experimental/memory_resource
+ experimental/utility
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ list
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
+ utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_map b/libcxx/test/libcxx/transitive_includes/expected.experimental_map
+index cb76c7642ec9..d132098b01a1 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_map
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_map
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -12,8 +16,10 @@ exception
+ experimental/map
+ experimental/memory_resource
+ experimental/utility
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ map
+ memory
+@@ -24,5 +30,8 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
+ utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource b/libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource
+index 67d2441ae369..94d9abd26b6c 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource
+@@ -1,4 +1,5 @@
+ atomic
++chrono
+ climits
+ cmath
+ compare
+@@ -13,6 +14,7 @@ experimental/memory_resource
+ experimental/utility
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -22,4 +24,5 @@ tuple
+ type_traits
+ typeinfo
+ utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_regex b/libcxx/test/libcxx/transitive_includes/expected.experimental_regex
+index 6490adb5a1b4..8a49aac962c2 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_regex
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_regex
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -19,12 +23,15 @@ experimental/memory_resource
+ experimental/regex
+ experimental/string
+ experimental/utility
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ mutex
+ new
++optional
+ ratio
+ regex
+ stdexcept
+@@ -34,6 +41,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
+ utility
++variant
+ vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_set b/libcxx/test/libcxx/transitive_includes/expected.experimental_set
+index 03a09aff0574..f1d2953360dc 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_set
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_set
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -12,8 +16,10 @@ exception
+ experimental/memory_resource
+ experimental/set
+ experimental/utility
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -24,5 +30,8 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
+ utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_simd b/libcxx/test/libcxx/transitive_includes/expected.experimental_simd
+index 999b0aafb666..f06f6e9cea01 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_simd
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_simd
+@@ -1,16 +1,34 @@
++algorithm
+ array
++atomic
++bit
++chrono
++climits
+ cmath
+ compare
+ concepts
+ cstddef
+ cstdint
+ cstdlib
++cstring
++ctime
+ exception
+ experimental/simd
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
++memory
++new
++optional
++ratio
+ stdexcept
+ tuple
+ type_traits
++typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_string b/libcxx/test/libcxx/transitive_includes/expected.experimental_string
+index 4fb05391c7b4..367a9ed7da4b 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_string
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_string
+@@ -1,5 +1,9 @@
++algorithm
++array
+ atomic
++bit
+ cctype
++chrono
+ climits
+ cmath
+ compare
+@@ -16,11 +20,14 @@ exception
+ experimental/memory_resource
+ experimental/string
+ experimental/utility
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ string
+@@ -28,5 +35,8 @@ string_view
+ tuple
+ type_traits
+ typeinfo
++unordered_map
+ utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map b/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map
+index 04efa3377d81..16753ae30a7b 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -12,8 +16,10 @@ exception
+ experimental/memory_resource
+ experimental/unordered_map
+ experimental/utility
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -25,4 +31,6 @@ type_traits
+ typeinfo
+ unordered_map
+ utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set b/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set
+index 798b920506cf..1aafa61386b7 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -12,8 +16,10 @@ exception
+ experimental/memory_resource
+ experimental/unordered_set
+ experimental/utility
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -23,6 +29,9 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
+ unordered_set
+ utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_utility b/libcxx/test/libcxx/transitive_includes/expected.experimental_utility
+index 788283fb30b9..a399b3ebb27c 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_utility
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_utility
+@@ -5,6 +5,7 @@ cstdint
+ cstdlib
+ experimental/utility
+ initializer_list
++iosfwd
+ limits
+ type_traits
+ utility
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_vector b/libcxx/test/libcxx/transitive_includes/expected.experimental_vector
+index 35355e4d3547..1c569628be18 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_vector
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_vector
+@@ -1,4 +1,7 @@
++algorithm
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -14,6 +17,7 @@ experimental/utility
+ experimental/vector
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -23,5 +27,6 @@ tuple
+ type_traits
+ typeinfo
+ utility
++variant
+ vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ext_hash_map b/libcxx/test/libcxx/transitive_includes/expected.ext_hash_map
+index 238ba8fade71..459536294e0c 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.ext_hash_map
++++ b/libcxx/test/libcxx/transitive_includes/expected.ext_hash_map
+@@ -3,6 +3,7 @@ array
+ atomic
+ bit
+ cctype
++chrono
+ climits
+ cmath
+ compare
+@@ -20,6 +21,7 @@ ext/hash_map
+ functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -32,5 +34,7 @@ tuple
+ type_traits
+ typeinfo
+ unordered_map
++utility
++variant
+ vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ext_hash_set b/libcxx/test/libcxx/transitive_includes/expected.ext_hash_set
+index 5e58c46663a5..160335aab367 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.ext_hash_set
++++ b/libcxx/test/libcxx/transitive_includes/expected.ext_hash_set
+@@ -3,6 +3,7 @@ array
+ atomic
+ bit
+ cctype
++chrono
+ climits
+ cmath
+ compare
+@@ -20,6 +21,7 @@ ext/hash_set
+ functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -32,5 +34,7 @@ tuple
+ type_traits
+ typeinfo
+ unordered_map
++utility
++variant
+ vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.filesystem b/libcxx/test/libcxx/transitive_includes/expected.filesystem
+index adc5812121df..22e80bc11192 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.filesystem
++++ b/libcxx/test/libcxx/transitive_includes/expected.filesystem
+@@ -1,7 +1,11 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -17,16 +21,19 @@ cwchar
+ cwctype
+ exception
+ filesystem
++functional
+ initializer_list
+ iomanip
+ ios
+ iosfwd
+ istream
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ stdexcept
+@@ -37,4 +44,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.format b/libcxx/test/libcxx/transitive_includes/expected.format
+index d88f3f66919f..08d46d27a9c0 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.format
++++ b/libcxx/test/libcxx/transitive_includes/expected.format
+@@ -1,9 +1,11 @@
++algorithm
+ array
+ atomic
+ bit
+ cctype
+ cerrno
+ charconv
++chrono
+ climits
+ cmath
+ compare
+@@ -19,9 +21,11 @@ cwchar
+ cwctype
+ exception
+ format
++functional
+ initializer_list
+ ios
+ iosfwd
++iterator
+ limits
+ locale
+ memory
+@@ -37,4 +41,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.forward_list b/libcxx/test/libcxx/transitive_includes/expected.forward_list
+index de184d39a0da..33afc74bd420 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.forward_list
++++ b/libcxx/test/libcxx/transitive_includes/expected.forward_list
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -10,14 +14,21 @@ cstring
+ ctime
+ exception
+ forward_list
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.fstream b/libcxx/test/libcxx/transitive_includes/expected.fstream
+index 31ef4da04630..7a892e11bfe6 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.fstream
++++ b/libcxx/test/libcxx/transitive_includes/expected.fstream
+@@ -1,7 +1,11 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -18,16 +22,19 @@ cwctype
+ exception
+ filesystem
+ fstream
++functional
+ initializer_list
+ iomanip
+ ios
+ iosfwd
+ istream
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ stdexcept
+@@ -38,4 +45,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.functional b/libcxx/test/libcxx/transitive_includes/expected.functional
+index 944f5a2cedd7..7625982373f8 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.functional
++++ b/libcxx/test/libcxx/transitive_includes/expected.functional
+@@ -1,5 +1,8 @@
++algorithm
+ array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -13,6 +16,7 @@ exception
+ functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -23,5 +27,7 @@ tuple
+ type_traits
+ typeinfo
+ unordered_map
++utility
++variant
+ vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.future b/libcxx/test/libcxx/transitive_includes/expected.future
+index 978baba9b8ec..92bd4e044ecc 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.future
++++ b/libcxx/test/libcxx/transitive_includes/expected.future
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -14,13 +18,16 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ future
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ mutex
+ new
++optional
+ ratio
+ stdexcept
+ string
+@@ -30,4 +37,8 @@ thread
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.iomanip b/libcxx/test/libcxx/transitive_includes/expected.iomanip
+index 86446ab031fb..39829086f4cb 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.iomanip
++++ b/libcxx/test/libcxx/transitive_includes/expected.iomanip
+@@ -1,7 +1,11 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -16,16 +20,19 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iomanip
+ ios
+ iosfwd
+ istream
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ stdexcept
+@@ -36,4 +43,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ios b/libcxx/test/libcxx/transitive_includes/expected.ios
+index 3ecae9323ab4..6e7e5b268976 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.ios
++++ b/libcxx/test/libcxx/transitive_includes/expected.ios
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -14,13 +18,16 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
++iterator
+ limits
+ memory
+ mutex
+ new
++optional
+ ratio
+ stdexcept
+ string
+@@ -29,4 +36,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.iostream b/libcxx/test/libcxx/transitive_includes/expected.iostream
+index 2e4e74cc18b4..580aeaf86734 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.iostream
++++ b/libcxx/test/libcxx/transitive_includes/expected.iostream
+@@ -1,7 +1,11 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -16,16 +20,19 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
+ iostream
+ istream
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ stdexcept
+@@ -36,4 +43,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.istream b/libcxx/test/libcxx/transitive_includes/expected.istream
+index cbd4a87c1613..fd0c4b4ca736 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.istream
++++ b/libcxx/test/libcxx/transitive_includes/expected.istream
+@@ -1,7 +1,11 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -16,15 +20,18 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
+ istream
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ stdexcept
+@@ -35,4 +42,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.iterator b/libcxx/test/libcxx/transitive_includes/expected.iterator
+index 698f6cf9de2f..447087a3f6f9 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.iterator
++++ b/libcxx/test/libcxx/transitive_includes/expected.iterator
+@@ -13,5 +13,7 @@ limits
+ new
+ tuple
+ type_traits
++typeinfo
++utility
+ variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.latch b/libcxx/test/libcxx/transitive_includes/expected.latch
+index 3d00941b9231..a7a6bbc912ce 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.latch
++++ b/libcxx/test/libcxx/transitive_includes/expected.latch
+@@ -1,5 +1,8 @@
+ atomic
++chrono
+ climits
++cmath
++compare
+ cstddef
+ cstdint
+ cstring
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.list b/libcxx/test/libcxx/transitive_includes/expected.list
+index 96d4f33db7d4..b596079c340b 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.list
++++ b/libcxx/test/libcxx/transitive_includes/expected.list
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -9,15 +13,22 @@ cstdlib
+ cstring
+ ctime
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ list
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.locale b/libcxx/test/libcxx/transitive_includes/expected.locale
+index cdd6609f8440..29719367689e 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.locale
++++ b/libcxx/test/libcxx/transitive_includes/expected.locale
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -15,14 +19,17 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ratio
+ stdexcept
+ streambuf
+@@ -32,4 +39,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.map b/libcxx/test/libcxx/transitive_includes/expected.map
+index a6896289ab3f..c871579ea35e 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.map
++++ b/libcxx/test/libcxx/transitive_includes/expected.map
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -9,8 +13,10 @@ cstdlib
+ cstring
+ ctime
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ map
+ memory
+@@ -21,4 +27,8 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.memory b/libcxx/test/libcxx/transitive_includes/expected.memory
+index 3b7a13de63fe..f36910fde696 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.memory
++++ b/libcxx/test/libcxx/transitive_includes/expected.memory
+@@ -1,4 +1,5 @@
+ atomic
++chrono
+ climits
+ cmath
+ compare
+@@ -11,6 +12,7 @@ ctime
+ exception
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -19,4 +21,6 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.mutex b/libcxx/test/libcxx/transitive_includes/expected.mutex
+index 1aa71f549fd4..4d101cb290c1 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.mutex
++++ b/libcxx/test/libcxx/transitive_includes/expected.mutex
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -14,12 +18,15 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ mutex
+ new
++optional
+ ratio
+ stdexcept
+ string
+@@ -28,4 +35,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.numeric b/libcxx/test/libcxx/transitive_includes/expected.numeric
+index 843582958e10..558b32457eb4 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.numeric
++++ b/libcxx/test/libcxx/transitive_includes/expected.numeric
+@@ -1,8 +1,34 @@
++algorithm
++array
++atomic
++bit
++chrono
++climits
+ cmath
++compare
+ concepts
+ cstddef
+ cstdint
++cstdlib
++cstring
++ctime
++exception
++functional
++initializer_list
++iosfwd
++iterator
+ limits
++memory
++new
+ numeric
++optional
++ratio
++stdexcept
++tuple
+ type_traits
++typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.optional b/libcxx/test/libcxx/transitive_includes/expected.optional
+index e888c8f4e0bd..993ce23d8009 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.optional
++++ b/libcxx/test/libcxx/transitive_includes/expected.optional
+@@ -1,15 +1,27 @@
++atomic
++chrono
++climits
+ cmath
+ compare
++concepts
+ cstddef
+ cstdint
+ cstdlib
+ cstring
++ctime
+ exception
+ initializer_list
+ iosfwd
++iterator
+ limits
++memory
+ new
+ optional
++ratio
+ stdexcept
++tuple
+ type_traits
++typeinfo
++utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ostream b/libcxx/test/libcxx/transitive_includes/expected.ostream
+index 1d7da3e2f96d..762d13c26ac3 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.ostream
++++ b/libcxx/test/libcxx/transitive_includes/expected.ostream
+@@ -1,7 +1,11 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -16,14 +20,17 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ stdexcept
+@@ -34,4 +41,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.queue b/libcxx/test/libcxx/transitive_includes/expected.queue
+index 07743c837beb..5861852fc532 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.queue
++++ b/libcxx/test/libcxx/transitive_includes/expected.queue
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -10,16 +14,22 @@ cstring
+ ctime
+ deque
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ queue
+ ratio
+ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
+ vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.random b/libcxx/test/libcxx/transitive_includes/expected.random
+index c8060db2909a..96a956ad800a 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.random
++++ b/libcxx/test/libcxx/transitive_includes/expected.random
+@@ -1,6 +1,9 @@
++algorithm
++array
+ atomic
+ bit
+ cctype
++chrono
+ climits
+ cmath
+ compare
+@@ -14,12 +17,15 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+ numeric
++optional
+ random
+ ratio
+ stdexcept
+@@ -28,5 +34,8 @@ string_view
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
+ vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ranges b/libcxx/test/libcxx/transitive_includes/expected.ranges
+index f16d5e5d5505..3dbb13bb9680 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.ranges
++++ b/libcxx/test/libcxx/transitive_includes/expected.ranges
+@@ -1,4 +1,9 @@
++algorithm
+ array
++atomic
++bit
++chrono
++climits
+ cmath
+ compare
+ concepts
+@@ -6,17 +11,25 @@ cstddef
+ cstdint
+ cstdlib
+ cstring
++ctime
+ exception
++functional
+ initializer_list
+ iosfwd
+ iterator
+ limits
++memory
+ new
+ optional
+ ranges
++ratio
+ span
+ stdexcept
+ tuple
+ type_traits
++typeinfo
++unordered_map
++utility
+ variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.regex b/libcxx/test/libcxx/transitive_includes/expected.regex
+index 447e31831d8f..76df20736662 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.regex
++++ b/libcxx/test/libcxx/transitive_includes/expected.regex
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -15,12 +19,15 @@ cwchar
+ cwctype
+ deque
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ mutex
+ new
++optional
+ ratio
+ regex
+ stdexcept
+@@ -30,5 +37,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
+ vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.scoped_allocator b/libcxx/test/libcxx/transitive_includes/expected.scoped_allocator
+index f4345de47a6a..22dcb319a5e6 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.scoped_allocator
++++ b/libcxx/test/libcxx/transitive_includes/expected.scoped_allocator
+@@ -1,4 +1,5 @@
+ atomic
++chrono
+ climits
+ cmath
+ compare
+@@ -11,6 +12,7 @@ ctime
+ exception
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -20,4 +22,6 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.semaphore b/libcxx/test/libcxx/transitive_includes/expected.semaphore
+index 6893d0995506..d6802e25aa70 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.semaphore
++++ b/libcxx/test/libcxx/transitive_includes/expected.semaphore
+@@ -1,5 +1,8 @@
+ atomic
++chrono
+ climits
++cmath
++compare
+ cstddef
+ cstdint
+ cstring
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.set b/libcxx/test/libcxx/transitive_includes/expected.set
+index 9b0f3cb52c18..849e87331b72 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.set
++++ b/libcxx/test/libcxx/transitive_includes/expected.set
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -9,8 +13,10 @@ cstdlib
+ cstring
+ ctime
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -21,4 +27,8 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.shared_mutex b/libcxx/test/libcxx/transitive_includes/expected.shared_mutex
+index 2bd4140b3d11..fdea61e19bba 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.shared_mutex
++++ b/libcxx/test/libcxx/transitive_includes/expected.shared_mutex
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -14,11 +18,14 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ shared_mutex
+ stdexcept
+@@ -28,4 +35,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.span b/libcxx/test/libcxx/transitive_includes/expected.span
+index 4ec98478d7ab..a46c30df8851 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.span
++++ b/libcxx/test/libcxx/transitive_includes/expected.span
+@@ -1,15 +1,34 @@
++algorithm
+ array
++atomic
++bit
++chrono
++climits
+ cmath
+ compare
+ concepts
+ cstddef
+ cstdint
+ cstdlib
++cstring
++ctime
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
++memory
++new
++optional
++ratio
+ span
+ stdexcept
++tuple
+ type_traits
++typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.sstream b/libcxx/test/libcxx/transitive_includes/expected.sstream
+index 1acc28a14008..1724fbdde39e 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.sstream
++++ b/libcxx/test/libcxx/transitive_includes/expected.sstream
+@@ -1,7 +1,11 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -16,15 +20,18 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
+ istream
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ sstream
+@@ -36,4 +43,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.stack b/libcxx/test/libcxx/transitive_includes/expected.stack
+index 17c8d991260c..1a7d18cb85f2 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.stack
++++ b/libcxx/test/libcxx/transitive_includes/expected.stack
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -10,15 +14,22 @@ cstring
+ ctime
+ deque
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stack
+ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.streambuf b/libcxx/test/libcxx/transitive_includes/expected.streambuf
+index 5e8e278a70ff..a3001ce44a1b 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.streambuf
++++ b/libcxx/test/libcxx/transitive_includes/expected.streambuf
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -14,13 +18,16 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
++iterator
+ limits
+ memory
+ mutex
+ new
++optional
+ ratio
+ stdexcept
+ streambuf
+@@ -30,4 +37,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.string b/libcxx/test/libcxx/transitive_includes/expected.string
+index 960707082bab..0dacf739a785 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.string
++++ b/libcxx/test/libcxx/transitive_includes/expected.string
+@@ -1,5 +1,9 @@
++algorithm
++array
+ atomic
++bit
+ cctype
++chrono
+ climits
+ cmath
+ compare
+@@ -13,11 +17,14 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ string
+@@ -25,4 +32,8 @@ string_view
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.string_view b/libcxx/test/libcxx/transitive_includes/expected.string_view
+index 6bb7edfd0bf0..e814351725ef 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.string_view
++++ b/libcxx/test/libcxx/transitive_includes/expected.string_view
+@@ -1,4 +1,10 @@
++algorithm
++array
++atomic
++bit
+ cctype
++chrono
++climits
+ cmath
+ compare
+ concepts
+@@ -7,13 +13,26 @@ cstdint
+ cstdio
+ cstdlib
+ cstring
++ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
++memory
++new
++optional
++ratio
+ stdexcept
+ string_view
++tuple
+ type_traits
++typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.strstream b/libcxx/test/libcxx/transitive_includes/expected.strstream
+index ed208f4d5eb3..782153b595b6 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.strstream
++++ b/libcxx/test/libcxx/transitive_includes/expected.strstream
+@@ -1,7 +1,11 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -16,15 +20,18 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
+ istream
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ stdexcept
+@@ -36,4 +43,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.system_error b/libcxx/test/libcxx/transitive_includes/expected.system_error
+index 30ca93cf23bd..4101ee5209a3 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.system_error
++++ b/libcxx/test/libcxx/transitive_includes/expected.system_error
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -14,11 +18,14 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ string
+@@ -27,4 +34,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.thread b/libcxx/test/libcxx/transitive_includes/expected.thread
+index 102ca5891713..ab8c3c7c85ba 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.thread
++++ b/libcxx/test/libcxx/transitive_includes/expected.thread
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -14,11 +18,14 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ string
+@@ -28,4 +35,8 @@ thread
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.tuple b/libcxx/test/libcxx/transitive_includes/expected.tuple
+index 2a4e44c6f4e9..69858dc888c3 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.tuple
++++ b/libcxx/test/libcxx/transitive_includes/expected.tuple
+@@ -2,7 +2,14 @@ cmath
+ compare
+ cstddef
+ cstdint
++cstdlib
++exception
++initializer_list
++iosfwd
+ limits
++new
+ tuple
+ type_traits
++typeinfo
++utility
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.typeindex b/libcxx/test/libcxx/transitive_includes/expected.typeindex
+index 8ed579013db7..8f1c65253537 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.typeindex
++++ b/libcxx/test/libcxx/transitive_includes/expected.typeindex
+@@ -4,8 +4,12 @@ cstddef
+ cstdint
+ cstdlib
+ exception
++initializer_list
++iosfwd
+ limits
++new
+ type_traits
+ typeindex
+ typeinfo
++utility
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.unordered_map b/libcxx/test/libcxx/transitive_includes/expected.unordered_map
+index 4f2f2ff02388..2250cf96690a 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.unordered_map
++++ b/libcxx/test/libcxx/transitive_includes/expected.unordered_map
+@@ -1,4 +1,7 @@
++algorithm
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -11,6 +14,7 @@ ctime
+ exception
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -21,4 +25,6 @@ tuple
+ type_traits
+ typeinfo
+ unordered_map
++utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.unordered_set b/libcxx/test/libcxx/transitive_includes/expected.unordered_set
+index 2c825fb58ac9..9352f0b05b72 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.unordered_set
++++ b/libcxx/test/libcxx/transitive_includes/expected.unordered_set
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -9,8 +13,10 @@ cstdlib
+ cstring
+ ctime
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -20,5 +26,9 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
+ unordered_set
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.utility b/libcxx/test/libcxx/transitive_includes/expected.utility
+index 30781fff9336..799a14724cf4 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.utility
++++ b/libcxx/test/libcxx/transitive_includes/expected.utility
+@@ -4,6 +4,7 @@ cstddef
+ cstdint
+ cstdlib
+ initializer_list
++iosfwd
+ limits
+ type_traits
+ utility
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.valarray b/libcxx/test/libcxx/transitive_includes/expected.valarray
+index b5543ea5c701..a069f37119fa 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.valarray
++++ b/libcxx/test/libcxx/transitive_includes/expected.valarray
+@@ -1,15 +1,34 @@
++algorithm
++array
++atomic
++bit
++chrono
++climits
+ cmath
++compare
+ concepts
+ cstddef
+ cstdint
+ cstdlib
+ cstring
++ctime
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
++memory
+ new
++optional
++ratio
+ stdexcept
++tuple
+ type_traits
++typeinfo
++unordered_map
++utility
+ valarray
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.variant b/libcxx/test/libcxx/transitive_includes/expected.variant
+index 44553c77ce56..d94d72974cb8 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.variant
++++ b/libcxx/test/libcxx/transitive_includes/expected.variant
+@@ -6,9 +6,12 @@ cstdlib
+ cstring
+ exception
+ initializer_list
++iosfwd
+ limits
+ new
+ tuple
+ type_traits
++typeinfo
++utility
+ variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.vector b/libcxx/test/libcxx/transitive_includes/expected.vector
+index 9553eb0c04d7..5fb9d7d19cc1 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.vector
++++ b/libcxx/test/libcxx/transitive_includes/expected.vector
+@@ -1,4 +1,7 @@
++algorithm
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -11,6 +14,7 @@ ctime
+ exception
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -19,5 +23,7 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++utility
++variant
+ vector
+ version
+diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml
+index 9264ea19576d..755f98d9c6b3 100644
+--- a/libcxx/utils/ci/buildkite-pipeline.yml
++++ b/libcxx/utils/ci/buildkite-pipeline.yml
+@@ -336,7 +336,6 @@ steps:
+       timeout_in_minutes: 120
+ 
+   # Tests with various build configurations.
+-
+   - label: "Static libraries"
+     command: "libcxx/utils/ci/run-buildbot generic-static"
+     artifact_paths:
+@@ -393,6 +392,20 @@ steps:
+           limit: 2
+     timeout_in_minutes: 120
+ 
++  - label: "No transitive includes"
++    command: "libcxx/utils/ci/run-buildbot generic-no-transitive-includes"
++    artifact_paths:
++      - "**/test-results.xml"
++      - "**/*.abilist"
++    agents:
++      queue: "libcxx-builders"
++      os: "linux"
++    retry:
++      automatic:
++        - exit_status: -1  # Agent was lost
++          limit: 2
++    timeout_in_minutes: 120
++
+   - label: "With LLVM's libunwind"
+     command: "libcxx/utils/ci/run-buildbot generic-with_llvm_unwinder"
+     artifact_paths:
+diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot
+index 81f7d6cafc74..81a68467e3e1 100755
+--- a/libcxx/utils/ci/run-buildbot
++++ b/libcxx/utils/ci/run-buildbot
+@@ -324,6 +324,11 @@ generic-with_llvm_unwinder)
+     generate-cmake -DLIBCXXABI_USE_LLVM_UNWINDER=ON
+     check-runtimes
+ ;;
++generic-no-transitive-includes)
++    clean
++    generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-no-transitive-includes.cmake"
++    check-runtimes
++;;
+ generic-no-threads)
+     clean
+     generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-no-threads.cmake"
+diff --git a/libcxx/utils/libcxx/test/params.py b/libcxx/utils/libcxx/test/params.py
+index 82fe93fc48fe..dcfefeced957 100644
+--- a/libcxx/utils/libcxx/test/params.py
++++ b/libcxx/utils/libcxx/test/params.py
+@@ -186,6 +186,15 @@ DEFAULT_PARAMETERS = [
+                  "This should be used sparingly since specifying ad-hoc features manually is error-prone and "
+                  "brittle in the long run as changes are made to the test suite.",
+             actions=lambda features: [AddFeature(f) for f in features]),
++
++  Parameter(name='enable_transitive_includes', choices=[True, False], type=bool, default=True,
++            help="Whether to enable backwards-compatibility transitive includes when running the tests. This "
++                 "is provided to ensure that the trimmed-down version of libc++ does not bit-rot in between "
++                 "points at which we bulk-remove transitive includes.",
++            actions=lambda enabled: [] if enabled else [
++              AddFeature('transitive-includes-disabled'),
++              AddCompileFlag('-D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES')
++            ]),
+ ]
+ 
+ DEFAULT_PARAMETERS += [
diff --git a/sys-devel/llvm/files/cherry/e75f1d3c07edaa223ac1a945af534eaec0c7aa66.patch b/sys-devel/llvm/files/cherry/e75f1d3c07edaa223ac1a945af534eaec0c7aa66.patch
new file mode 100644
index 0000000..659e910
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/e75f1d3c07edaa223ac1a945af534eaec0c7aa66.patch
@@ -0,0 +1,161 @@
+From e75f1d3c07edaa223ac1a945af534eaec0c7aa66 Mon Sep 17 00:00:00 2001
+From: Colin Cross <ccross@google.com>
+Date: Wed, 9 Mar 2022 12:45:45 -0800
+Subject: [PATCH] [CompilerRT] Fix build of compiler-rt with musl
+
+Use the correct types for OFF_T, __sanitizer_time_t and
+__sanitizer_dirent and forward time_t related functions
+ to fix using compiler-rt with 32-bit musl libc.
+
+Also redirect the time_t functions that are affected by
+https://musl.libc.org/time64.html to use their 64-bit
+ABI names.
+
+Reviewed By: MaskRay
+
+Differential Revision: https://reviews.llvm.org/D119358
+---
+ .../sanitizer_common_interceptors.inc         | 70 +++++++++++++++++++
+ .../sanitizer_internal_defs.h                 |  1 +
+ .../lib/sanitizer_common/sanitizer_platform.h |  7 ++
+ .../sanitizer_platform_limits_posix.h         |  6 +-
+ 4 files changed, 82 insertions(+), 2 deletions(-)
+
+diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
+index f19bc36d788d..e24786abb55b 100644
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
+@@ -132,6 +132,76 @@ extern const short *_toupper_tab_;
+ extern const short *_tolower_tab_;
+ #endif
+ 
++#if SANITIZER_MUSL && \
++  (defined(__i386__) || defined(__arm__) || SANITIZER_MIPS32 || SANITIZER_PPC32)
++// musl 1.2.0 on existing 32-bit architectures uses new symbol names for the
++// time-related functions that take 64-bit time_t values.  See
++// https://musl.libc.org/time64.html
++#define adjtime __adjtime64
++#define adjtimex __adjtimex_time64
++#define aio_suspend __aio_suspend_time64
++#define clock_adjtime __clock_adjtime64
++#define clock_getres __clock_getres_time64
++#define clock_gettime __clock_gettime64
++#define clock_nanosleep __clock_nanosleep_time64
++#define clock_settime __clock_settime64
++#define cnd_timedwait __cnd_timedwait_time64
++#define ctime __ctime64
++#define ctime_r __ctime64_r
++#define difftime __difftime64
++#define dlsym __dlsym_time64
++#define fstatat __fstatat_time64
++#define fstat __fstat_time64
++#define ftime __ftime64
++#define futimens __futimens_time64
++#define futimesat __futimesat_time64
++#define futimes __futimes_time64
++#define getitimer __getitimer_time64
++#define getrusage __getrusage_time64
++#define gettimeofday __gettimeofday_time64
++#define gmtime __gmtime64
++#define gmtime_r __gmtime64_r
++#define localtime __localtime64
++#define localtime_r __localtime64_r
++#define lstat __lstat_time64
++#define lutimes __lutimes_time64
++#define mktime __mktime64
++#define mq_timedreceive __mq_timedreceive_time64
++#define mq_timedsend __mq_timedsend_time64
++#define mtx_timedlock __mtx_timedlock_time64
++#define nanosleep __nanosleep_time64
++#define ppoll __ppoll_time64
++#define pselect __pselect_time64
++#define pthread_cond_timedwait __pthread_cond_timedwait_time64
++#define pthread_mutex_timedlock __pthread_mutex_timedlock_time64
++#define pthread_rwlock_timedrdlock __pthread_rwlock_timedrdlock_time64
++#define pthread_rwlock_timedwrlock __pthread_rwlock_timedwrlock_time64
++#define pthread_timedjoin_np __pthread_timedjoin_np_time64
++#define recvmmsg __recvmmsg_time64
++#define sched_rr_get_interval __sched_rr_get_interval_time64
++#define select __select_time64
++#define semtimedop __semtimedop_time64
++#define sem_timedwait __sem_timedwait_time64
++#define setitimer __setitimer_time64
++#define settimeofday __settimeofday_time64
++#define sigtimedwait __sigtimedwait_time64
++#define stat __stat_time64
++#define stime __stime64
++#define thrd_sleep __thrd_sleep_time64
++#define timegm __timegm_time64
++#define timerfd_gettime __timerfd_gettime64
++#define timerfd_settime __timerfd_settime64
++#define timer_gettime __timer_gettime64
++#define timer_settime __timer_settime64
++#define timespec_get __timespec_get_time64
++#define time __time64
++#define utimensat __utimensat_time64
++#define utimes __utimes_time64
++#define utime __utime64
++#define wait3 __wait3_time64
++#define wait4 __wait4_time64
++#endif
++
+ // Platform-specific options.
+ #if SANITIZER_MAC
+ #define PLATFORM_HAS_DIFFERENT_MEMCPY_AND_MEMMOVE 0
+diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h b/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
+index d0db0129d4af..924578b4409f 100644
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
+@@ -179,6 +179,7 @@ typedef int pid_t;
+ 
+ #if SANITIZER_FREEBSD || SANITIZER_NETBSD || SANITIZER_MAC ||             \
+     (SANITIZER_SOLARIS && (defined(_LP64) || _FILE_OFFSET_BITS == 64)) || \
++    (SANITIZER_LINUX && !SANITIZER_GLIBC && !SANITIZER_ANDROID) ||        \
+     (SANITIZER_LINUX && (defined(__x86_64__) || defined(__hexagon__)))
+ typedef u64 OFF_T;
+ #else
+diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform.h
+index 8de765cf6669..8ff9f977bf58 100644
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform.h
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform.h
+@@ -116,6 +116,13 @@
+ #  define SANITIZER_FUCHSIA 0
+ #endif
+ 
++// Assume linux that is not glibc or android is musl libc.
++#if SANITIZER_LINUX && !SANITIZER_GLIBC && !SANITIZER_ANDROID
++#  define SANITIZER_MUSL 1
++#else
++#  define SANITIZER_MUSL 0
++#endif
++
+ #define SANITIZER_POSIX                                     \
+   (SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_MAC || \
+    SANITIZER_NETBSD || SANITIZER_SOLARIS)
+diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
+index 849255f43bba..7de3b77e6f2a 100644
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
+@@ -370,7 +370,8 @@ struct __sanitizer_group {
+   char **gr_mem;
+ };
+ 
+-#  if (defined(__x86_64__) && !defined(_LP64)) || defined(__hexagon__)
++#  if (SANITIZER_LINUX && !SANITIZER_GLIBC && !SANITIZER_ANDROID) || \
++      (defined(__x86_64__) && !defined(_LP64)) || defined(__hexagon__)
+ typedef long long __sanitizer_time_t;
+ #else
+ typedef long __sanitizer_time_t;
+@@ -478,7 +479,8 @@ struct __sanitizer_dirent {
+   unsigned short d_reclen;
+   // more fields that we don't care about
+ };
+-#  elif SANITIZER_ANDROID || defined(__x86_64__) || defined(__hexagon__)
++#  elif (SANITIZER_LINUX && !SANITIZER_GLIBC) || defined(__x86_64__) || \
++      defined(__hexagon__)
+ struct __sanitizer_dirent {
+   unsigned long long d_ino;
+   unsigned long long d_off;
+-- 
+2.35.1.723.g4982287a31-goog
+
diff --git a/sys-devel/llvm/files/cherry/f326df34bc179e41ea17d31e1ffba4a479e45589.patch b/sys-devel/llvm/files/cherry/f326df34bc179e41ea17d31e1ffba4a479e45589.patch
new file mode 100644
index 0000000..ef626ff
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/f326df34bc179e41ea17d31e1ffba4a479e45589.patch
@@ -0,0 +1,82 @@
+commit f326df34bc179e41ea17d31e1ffba4a479e45589
+Author: Daniel Kiss <daniel.kiss@arm.com>
+Date:   Thu Apr 28 10:01:22 2022 +0200
+
+    [libunwind][AArch64] Fix _Unwind_ForcedUnwind via sigreturn.
+    
+    When the sigreturn trampoline is found the unw_proc_info_t.end_ip need to be set to
+    indicate a stack frame is found.
+    
+    Reviewed By: cjdb, #libunwind, MaskRay
+    
+    Differential Revision: https://reviews.llvm.org/D124522
+
+diff --git a/libcxxabi/test/forced_unwind4.pass.cpp b/libcxxabi/test/forced_unwind4.pass.cpp
+new file mode 100644
+index 000000000000..53a0121da92e
+--- /dev/null
++++ b/libcxxabi/test/forced_unwind4.pass.cpp
+@@ -0,0 +1,50 @@
++// -*- C++ -*-
++//===----------------------------------------------------------------------===//
++//
++// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++// See https://llvm.org/LICENSE.txt for license information.
++// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
++//
++//===----------------------------------------------------------------------===//
++
++// REQUIRES: linux && target={{aarch64-.+}}
++
++// pthread_cancel in case of glibc calls _Unwind_ForcedUnwind from a signal on
++// the child_thread. This test ensures sigretrun is handled correctly (see:
++// UnwindCursor<A, R>::setInfoForSigReturn).
++
++#include <chrono>
++#include <condition_variable>
++#include <pthread.h>
++#include <unistd.h>
++
++using namespace std::chrono_literals;
++
++std::condition_variable cv;
++std::mutex cv_m;
++bool thread_ready = false;
++
++static void* test(void* arg) {
++  (void)arg;
++  thread_ready = true;
++  cv.notify_all();
++
++  // This must be a pthread cancellation point.
++  while (1)
++    sleep(100);
++
++  return (void*)1;
++}
++
++int main() {
++  pthread_t child_thread;
++  std::unique_lock<std::mutex> lk(cv_m);
++  pthread_create(&child_thread, 0, test, (void*)0);
++
++  if (!cv.wait_for(lk, 100ms, [] { return thread_ready; }))
++    return -1;
++
++  pthread_cancel(child_thread);
++  pthread_join(child_thread, NULL);
++  return 0;
++}
+diff --git a/libunwind/src/UnwindCursor.hpp b/libunwind/src/UnwindCursor.hpp
+index dd849b781753..29ded5c4e78e 100644
+--- a/libunwind/src/UnwindCursor.hpp
++++ b/libunwind/src/UnwindCursor.hpp
+@@ -2606,6 +2606,8 @@ bool UnwindCursor<A, R>::setInfoForSigReturn(Registers_arm64 &) {
+   if (_addressSpace.get32(pc) == 0xd2801168 &&
+       _addressSpace.get32(pc + 4) == 0xd4000001) {
+     _info = {};
++    _info.start_ip = pc;
++    _info.end_ip = pc + 4;
+     _isSigReturn = true;
+     return true;
+   }
diff --git a/sys-devel/llvm/files/cherry/f457863ae345d2635026501f5383e0e625869639.patch b/sys-devel/llvm/files/cherry/f457863ae345d2635026501f5383e0e625869639.patch
new file mode 100644
index 0000000..087920e
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/f457863ae345d2635026501f5383e0e625869639.patch
@@ -0,0 +1,135 @@
+commit f457863ae345d2635026501f5383e0e625869639
+Author: Fangrui Song <i@maskray.me>
+Date:   Fri Feb 4 13:20:49 2022 -0800
+
+    [ELF] Support REL-format R_AARCH64_NONE relocation
+    
+    -fprofile-use=/-fprofile-sample-use= compiles may produce REL-format
+    .rel.llvm.call-graph-profile even if the prevailing format is RELA on AArch64.
+    Add R_AARCH64_NONE to getImplicitAddend to fix this linker error:
+    
+    ```
+    ld.lld: error: internal linker error: cannot read addend for relocation R_AARCH64_NONE
+    PLEASE submit a bug report to https://crbug.com and run tools/clang/scripts/process_crashreports.py (only works inside Google) which will upload a report and include the crash backtrace.
+    ```
+
+diff --git a/lld/ELF/Arch/AArch64.cpp b/lld/ELF/Arch/AArch64.cpp
+index 5789bc935b63..9e857d590684 100644
+--- a/lld/ELF/Arch/AArch64.cpp
++++ b/lld/ELF/Arch/AArch64.cpp
+@@ -197,6 +197,8 @@ int64_t AArch64::getImplicitAddend(const uint8_t *buf, RelType type) const {
+   switch (type) {
+   case R_AARCH64_TLSDESC:
+     return read64(buf + 8);
++  case R_AARCH64_NONE:
++    return 0;
+   default:
+     internalLinkerError(getErrorLocation(buf),
+                         "cannot read addend for relocation " + toString(type));
+diff --git a/lld/test/ELF/relocation-none-aarch64.s b/lld/test/ELF/relocation-none-aarch64.s
+deleted file mode 100644
+index 7783c127cf86..000000000000
+--- a/lld/test/ELF/relocation-none-aarch64.s
++++ /dev/null
+@@ -1,26 +0,0 @@
+-# REQUIRES: aarch64
+-
+-# RUN: llvm-mc -filetype=obj -triple=aarch64-linux-musl %s -o %t.o
+-# RUN: ld.lld --gc-sections %t.o -o %t
+-# RUN: llvm-readelf -S -r %t | FileCheck %s
+-
+-# Test that we discard R_AARCH64_NONE, but respect the references it creates
+-# among sections.
+-
+-# CHECK: .data
+-# CHECK: There are no relocations in this file.
+-
+-# RUN: ld.lld -r %t.o -o %t
+-# RUN: llvm-readobj -r %t | FileCheck --check-prefix=RELOC %s
+-
+-# RELOC:      Section ({{.*}}) .rela.text {
+-# RELOC-NEXT:   0x0 R_AARCH64_NONE .data 0x0
+-# RELOC-NEXT: }
+-
+-.globl _start
+-_start:
+-  ret
+-  .reloc 0, R_AARCH64_NONE, .data
+-
+-.data
+-  .long 0
+diff --git a/lld/test/ELF/relocation-none-aarch64.test b/lld/test/ELF/relocation-none-aarch64.test
+new file mode 100644
+index 000000000000..0147085021f7
+--- /dev/null
++++ b/lld/test/ELF/relocation-none-aarch64.test
+@@ -0,0 +1,69 @@
++# REQUIRES: aarch64
++# RUN: yaml2obj %s -o %t.o
++# RUN: ld.lld --gc-sections %t.o -o %t
++# RUN: llvm-readelf -S -r %t | FileCheck %s
++
++## Test that we discard R_AARCH64_NONE, but respect the references it creates
++## among sections.
++
++# CHECK: .data
++# CHECK: There are no relocations in this file.
++
++# RUN: ld.lld -r %t.o -o %t
++# RUN: llvm-readobj -r %t | FileCheck --check-prefix=RELOC %s
++
++## Both REL and RELA are supported. .rel.llvm.call-graph-profile uses REL even
++## if the prevailing format is RELA.
++# RELOC:      Section ({{.*}}) .rela.text {
++# RELOC-NEXT:   0x0 R_AARCH64_NONE .data 0x0
++# RELOC-NEXT: }
++# RELOC:      Section ({{.*}}) .rel.nonalloc1 {
++# RELOC-NEXT:   0x0 R_AARCH64_NONE .data
++# RELOC-NEXT: }
++# RELOC:      Section ({{.*}}) .rela.nonalloc2 {
++# RELOC-NEXT:   0x0 R_AARCH64_NONE .data 0x0
++# RELOC-NEXT: }
++
++--- !ELF
++FileHeader:
++  Class:           ELFCLASS64
++  Data:            ELFDATA2LSB
++  Type:            ET_REL
++  Machine:         EM_AARCH64
++Sections:
++  - Name:            .text
++    Type:            SHT_PROGBITS
++    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
++  - Name:            .data
++    Type:            SHT_PROGBITS
++    Flags:           [ SHF_WRITE, SHF_ALLOC ]
++  - Name:            .nonalloc1
++    Type:            SHT_PROGBITS
++  - Name:            .nonalloc2
++    Type:            SHT_PROGBITS
++  - Name:            .rela.text
++    Type:            SHT_RELA
++    Info:            .text
++    Relocations:
++      - Symbol:          .data
++        Type:            R_AARCH64_NONE
++  - Name:            .rel.nonalloc1
++    Type:            SHT_REL
++    Info:            .nonalloc1
++    Relocations:
++      - Symbol:          .data
++        Type:            R_AARCH64_NONE
++  - Name:            .rela.nonalloc2
++    Type:            SHT_RELA
++    Info:            .nonalloc2
++    Relocations:
++      - Symbol:          .data
++        Type:            R_AARCH64_NONE
++Symbols:
++  - Name:            .data
++    Type:            STT_SECTION
++    Section:         .data
++  - Name:            _start
++    Section:         .text
++    Binding:         STB_GLOBAL
++...
diff --git a/sys-devel/llvm/files/cherry/f69f23396d32c95dacf3765bc63af02b23ccff3e.patch b/sys-devel/llvm/files/cherry/f69f23396d32c95dacf3765bc63af02b23ccff3e.patch
new file mode 100644
index 0000000..d445e63
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/f69f23396d32c95dacf3765bc63af02b23ccff3e.patch
@@ -0,0 +1,193 @@
+From f69f23396d32c95dacf3765bc63af02b23ccff3e Mon Sep 17 00:00:00 2001
+From: David Blaikie <dblaikie@gmail.com>
+Date: Mon, 31 Jan 2022 18:27:39 -0800
+Subject: [PATCH] Revert "DebugInfo: Don't put types in type units if they
+ reference internal linkage types"
+
+This reverts commit ab4756338c5b2216d52d9152b2f7e65f233c4dac.
+
+Breaks some cases, including this:
+
+namespace {
+template <typename> struct a {};
+} // namespace
+class c {
+  c();
+};
+class b {
+  b();
+  a<c> ax;
+};
+b::b() {}
+c::c() {}
+
+By producing a reference to a type unit for "c" but not producing the type unit.
+---
+ llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 12 +++---------
+ llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h   |  3 ---
+ llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp  | 22 +++-------------------
+ llvm/test/DebugInfo/X86/tu-to-non-tu.ll    | 22 +++++++++++++---------
+ 4 files changed, 19 insertions(+), 40 deletions(-)
+
+diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+index 680b9586228f..609b568f28be 100644
+--- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
++++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+@@ -3367,8 +3367,7 @@ void DwarfDebug::addDwarfTypeUnitType(DwarfCompileUnit &CU,
+   // Fast path if we're building some type units and one has already used the
+   // address pool we know we're going to throw away all this work anyway, so
+   // don't bother building dependent types.
+-  if (!TypeUnitsUnderConstruction.empty() &&
+-      (AddrPool.hasBeenUsed() || SeenLocalType))
++  if (!TypeUnitsUnderConstruction.empty() && AddrPool.hasBeenUsed())
+     return;
+ 
+   auto Ins = TypeSignatures.insert(std::make_pair(CTy, 0));
+@@ -3379,7 +3378,6 @@ void DwarfDebug::addDwarfTypeUnitType(DwarfCompileUnit &CU,
+ 
+   bool TopLevelType = TypeUnitsUnderConstruction.empty();
+   AddrPool.resetUsedFlag();
+-  SeenLocalType = false;
+ 
+   auto OwnedUnit = std::make_unique<DwarfTypeUnit>(CU, Asm, this, &InfoHolder,
+                                                     getDwoLineTable(CU));
+@@ -3423,7 +3421,7 @@ void DwarfDebug::addDwarfTypeUnitType(DwarfCompileUnit &CU,
+ 
+     // Types referencing entries in the address table cannot be placed in type
+     // units.
+-    if (AddrPool.hasBeenUsed() || SeenLocalType) {
++    if (AddrPool.hasBeenUsed()) {
+ 
+       // Remove all the types built while building this type.
+       // This is pessimistic as some of these types might not be dependent on
+@@ -3451,18 +3449,14 @@ void DwarfDebug::addDwarfTypeUnitType(DwarfCompileUnit &CU,
+ 
+ DwarfDebug::NonTypeUnitContext::NonTypeUnitContext(DwarfDebug *DD)
+     : DD(DD),
+-      TypeUnitsUnderConstruction(std::move(DD->TypeUnitsUnderConstruction)),
+-      AddrPoolUsed(DD->AddrPool.hasBeenUsed()),
+-      SeenLocalType(DD->SeenLocalType) {
++      TypeUnitsUnderConstruction(std::move(DD->TypeUnitsUnderConstruction)), AddrPoolUsed(DD->AddrPool.hasBeenUsed()) {
+   DD->TypeUnitsUnderConstruction.clear();
+   DD->AddrPool.resetUsedFlag();
+-  DD->SeenLocalType = false;
+ }
+ 
+ DwarfDebug::NonTypeUnitContext::~NonTypeUnitContext() {
+   DD->TypeUnitsUnderConstruction = std::move(TypeUnitsUnderConstruction);
+   DD->AddrPool.resetUsedFlag(AddrPoolUsed);
+-  DD->SeenLocalType = SeenLocalType;
+ }
+ 
+ DwarfDebug::NonTypeUnitContext DwarfDebug::enterNonTypeUnitContext() {
+diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
+index 0043000652e8..4e1a1b1e068d 100644
+--- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
++++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
+@@ -433,7 +433,6 @@ private:
+   DenseMap<const DIStringType *, unsigned> StringTypeLocMap;
+ 
+   AddressPool AddrPool;
+-  bool SeenLocalType = false;
+ 
+   /// Accelerator tables.
+   AccelTable<DWARF5AccelTableData> AccelDebugNames;
+@@ -672,7 +671,6 @@ public:
+     DwarfDebug *DD;
+     decltype(DwarfDebug::TypeUnitsUnderConstruction) TypeUnitsUnderConstruction;
+     bool AddrPoolUsed;
+-    bool SeenLocalType;
+     friend class DwarfDebug;
+     NonTypeUnitContext(DwarfDebug *DD);
+   public:
+@@ -681,7 +679,6 @@ public:
+   };
+ 
+   NonTypeUnitContext enterNonTypeUnitContext();
+-  void seenLocalType() { SeenLocalType = true; }
+ 
+   /// Add a label so that arange data can be generated for it.
+   void addArangeLabel(SymbolCU SCU) { ArangeLabels.push_back(SCU); }
+diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
+index 132579aedbc9..5a2bd479f277 100644
+--- a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
++++ b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
+@@ -596,8 +596,10 @@ DIE *DwarfUnit::createTypeDIE(const DIScope *Context, DIE &ContextDIE,
+       // Skip updating the accelerator tables since this is not the full type.
+       if (MDString *TypeId = CTy->getRawIdentifier())
+         DD->addDwarfTypeUnitType(getCU(), TypeId->getString(), TyDIE, CTy);
+-      else
++      else {
++        auto X = DD->enterNonTypeUnitContext();
+         finishNonUnitTypeDIE(TyDIE, CTy);
++      }
+       return &TyDIE;
+     }
+     constructTypeDIE(TyDIE, CTy);
+@@ -1851,23 +1853,5 @@ void DwarfTypeUnit::finishNonUnitTypeDIE(DIE& D, const DICompositeType *CTy) {
+     addString(D, dwarf::DW_AT_name, Name);
+   if (Name.startswith("_STN") || !Name.contains('<'))
+     addTemplateParams(D, CTy->getTemplateParams());
+-  // If the type is in an anonymous namespace, we can't reference it from a TU
+-  // (since the type would be CU local and the TU doesn't specify which TU has
+-  // the appropriate type definition) - so flag this emission as such and skip
+-  // the rest of the emission now since we're going to throw out all this work
+-  // and put the outer/referencing type in the CU instead.
+-  // FIXME: Probably good to generalize this to a DICompositeType flag populated
+-  // by the frontend, then we could use that to have types that can have
+-  // decl+def merged by LTO but where the definition still doesn't go in a type
+-  // unit because the type has only one definition.
+-  for (DIScope *S = CTy->getScope(); S; S = S->getScope()) {
+-    if (auto *NS = dyn_cast<DINamespace>(S)) {
+-      if (NS->getName().empty()) {
+-        DD->seenLocalType();
+-        break;
+-      }
+-    }
+-  }
+-  auto X = DD->enterNonTypeUnitContext();
+   getCU().createTypeDIE(CTy);
+ }
+diff --git a/llvm/test/DebugInfo/X86/tu-to-non-tu.ll b/llvm/test/DebugInfo/X86/tu-to-non-tu.ll
+index 517872d2b92e..4b8ea04bedc5 100644
+--- a/llvm/test/DebugInfo/X86/tu-to-non-tu.ll
++++ b/llvm/test/DebugInfo/X86/tu-to-non-tu.ll
+@@ -1,15 +1,17 @@
+ ; RUN: llc -filetype=obj -O0 -generate-type-units -mtriple=x86_64-unknown-linux-gnu < %s \
+ ; RUN:     | llvm-dwarfdump -debug-info -debug-types - | FileCheck %s
+ 
+-; Test that a type unit referencing a non-type unit produces a declaration of
+-; the referent in the referee.
+-
+-; Also check that an attempt to reference an internal linkage (defined in an anonymous
+-; namespace) type from a type unit (could happen with a pimpl idiom, for instance -
+-; it does mean the linkage-having type can only be defined in one translation
+-; unit anyway) forces the referent to not be placed in a type unit (because the
+-; declaration of the internal linkage type would be ambiguous/wouldn't allow a
+-; consumer to find the definition with certainty)
++; Test that a type unit referencing a non-type unit (in this case, it's
++; bordering on an ODR violation - a type with linkage references a type without
++; linkage, so there's no way for the first type to be defined in more than one
++; translation unit, so there's no need for it to be in a type unit - but this
++; is quirky/rare and an easy way to test a broader issue). The type unit should
++; not end up with a whole definition of the referenced type - instead it should
++; have a declaration of the type, while the definition remains in the primary
++; CU.
++; (again, arguably in this instance - since the type is only referenced once, it
++; could go in the TU only - but that requires tracking usage & then deciding
++; where to put types, which isn't worthwhile right now)
+ 
+ ; Built from the following source, compiled with this command:
+ ; $ clang++-tot decl.cpp -g -fdebug-types-section -c
+@@ -118,6 +120,8 @@
+ ; CHECK-NEXT:   DW_AT_declaration       (true)
+ ; CHECK-NEXT:   DW_AT_signature (0xb1cde890d320f5c2)
+ 
++; CHECK: DW_TAG_namespace
++; CHECK-NOT: {{DW_AT_name|DW_TAG}}
+ ; CHECK: DW_TAG_structure_type
+ ; CHECK-NOT: DW_TAG
+ ; CHECK: DW_AT_name {{.*}}"non_tu"
+-- 
+2.35.1.723.g4982287a31-goog
+
diff --git a/sys-devel/llvm/files/cherry/fad7e491a0770ac4336934030ac67d77e7af5520.patch b/sys-devel/llvm/files/cherry/fad7e491a0770ac4336934030ac67d77e7af5520.patch
new file mode 100644
index 0000000..84179a0
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/fad7e491a0770ac4336934030ac67d77e7af5520.patch
@@ -0,0 +1,600 @@
+commit fad7e491a0770ac4336934030ac67d77e7af5520
+Author: Jan Korous <jkorous@apple.com>
+Date:   Fri Jan 28 15:08:45 2022 -0800
+
+    Revert "Add BITINT_MAXWIDTH support"
+    
+    This reverts commit 86797fdb6f51d32f285e48b6d3e0fc5b8b852734.
+    
+    Differential Revision: https://reviews.llvm.org/D117238
+
+diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
+index 4b444bece68a..f081ff0313e0 100644
+--- a/clang/docs/ReleaseNotes.rst
++++ b/clang/docs/ReleaseNotes.rst
+@@ -174,12 +174,7 @@ C Language Changes in Clang
+   ``_BitInt(N)`` is supported as an extension in older C modes and in all C++
+   modes. Note: the ABI for ``_BitInt(N)`` is still in the process of being
+   stabilized, so this type should not yet be used in interfaces that require
+-  ABI stability. The maximum width supported by Clang can be obtained from the
+-  ``BITINT_MAXWIDTH`` macro in ``<limits.h>``. Currently, Clang supports bit
+-  widths <= 128 because backends are not yet able to cope with some math
+-  operations (like division) on wider integer types. See
+-  `PR44994 <https://github.com/llvm/llvm-project/issues/44994>`_ for more
+-  information.
++  ABI stability.
+ - When using ``asm goto`` with outputs whose constraint modifier is ``"+"``, we
+   now change the numbering of the labels to occur after hidden tied inputs for
+   better compatibility with GCC.  For better portability between different
+diff --git a/clang/include/clang/Basic/TargetInfo.h b/clang/include/clang/Basic/TargetInfo.h
+index a49342a34f3e..642c8500364b 100644
+--- a/clang/include/clang/Basic/TargetInfo.h
++++ b/clang/include/clang/Basic/TargetInfo.h
+@@ -590,17 +590,6 @@ public:
+     return false;
+   }
+ 
+-  // Different targets may support a different maximum width for the _BitInt
+-  // type, depending on what operations are supported.
+-  virtual size_t getMaxBitIntWidth() const {
+-    // FIXME: this value should be llvm::IntegerType::MAX_INT_BITS, which is
+-    // maximum bit width that LLVM claims its IR can support. However, most
+-    // backends currently have a bug where they only support division
+-    // operations on types that are <= 128 bits and crash otherwise. We're
+-    // setting the max supported value to 128 to be conservative.
+-    return 128;
+-  }
+-
+   /// Determine whether _Float16 is supported on this target.
+   virtual bool hasLegalHalfType() const { return HasLegalHalfType; }
+ 
+diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp
+index e259ab47c558..a9023a7a1171 100644
+--- a/clang/lib/Frontend/InitPreprocessor.cpp
++++ b/clang/lib/Frontend/InitPreprocessor.cpp
+@@ -25,7 +25,6 @@
+ #include "clang/Serialization/ASTReader.h"
+ #include "llvm/ADT/APFloat.h"
+ #include "llvm/IR/DataLayout.h"
+-#include "llvm/IR/DerivedTypes.h"
+ using namespace clang;
+ 
+ static bool MacroBodyEndsInBackslash(StringRef MacroBody) {
+@@ -915,13 +914,6 @@ static void InitializePredefinedMacros(const TargetInfo &TI,
+   Builder.defineMacro("__LONG_WIDTH__", Twine(TI.getLongWidth()));
+   Builder.defineMacro("__LLONG_WIDTH__", Twine(TI.getLongLongWidth()));
+ 
+-  size_t BitIntMaxWidth = TI.getMaxBitIntWidth();
+-  assert(BitIntMaxWidth <= llvm::IntegerType::MAX_INT_BITS &&
+-         "Target defined a max bit width larger than LLVM can support!");
+-  assert(BitIntMaxWidth >= TI.getLongLongWidth() &&
+-         "Target defined a max bit width smaller than the C standard allows!");
+-  Builder.defineMacro("__BITINT_MAXWIDTH__", Twine(BitIntMaxWidth));
+-
+   DefineTypeSize("__SCHAR_MAX__", TargetInfo::SignedChar, TI, Builder);
+   DefineTypeSize("__SHRT_MAX__", TargetInfo::SignedShort, TI, Builder);
+   DefineTypeSize("__INT_MAX__", TargetInfo::SignedInt, TI, Builder);
+diff --git a/clang/lib/Headers/limits.h b/clang/lib/Headers/limits.h
+index cfd23a219ee5..c2d3a7cf4353 100644
+--- a/clang/lib/Headers/limits.h
++++ b/clang/lib/Headers/limits.h
+@@ -78,8 +78,6 @@
+ #define LONG_WIDTH   __LONG_WIDTH__
+ #define ULLONG_WIDTH __LLONG_WIDTH__
+ #define LLONG_WIDTH  __LLONG_WIDTH__
+-
+-#define BITINT_MAXWIDTH __BITINT_MAXWIDTH__
+ #endif
+ 
+ #ifdef __CHAR_UNSIGNED__  /* -funsigned-char */
+diff --git a/clang/lib/Sema/SemaType.cpp b/clang/lib/Sema/SemaType.cpp
+index 218594d4b457..959f4903b030 100644
+--- a/clang/lib/Sema/SemaType.cpp
++++ b/clang/lib/Sema/SemaType.cpp
+@@ -2257,7 +2257,7 @@ QualType Sema::BuildBitIntType(bool IsUnsigned, Expr *BitWidth,
+   if (ICE.isInvalid())
+     return QualType();
+ 
+-  size_t NumBits = Bits.getZExtValue();
++  int64_t NumBits = Bits.getSExtValue();
+   if (!IsUnsigned && NumBits < 2) {
+     Diag(Loc, diag::err_bit_int_bad_size) << 0;
+     return QualType();
+@@ -2268,10 +2268,9 @@ QualType Sema::BuildBitIntType(bool IsUnsigned, Expr *BitWidth,
+     return QualType();
+   }
+ 
+-  const TargetInfo &TI = getASTContext().getTargetInfo();
+-  if (NumBits > TI.getMaxBitIntWidth()) {
++  if (NumBits > llvm::IntegerType::MAX_INT_BITS) {
+     Diag(Loc, diag::err_bit_int_max_size)
+-        << IsUnsigned << TI.getMaxBitIntWidth();
++        << IsUnsigned << llvm::IntegerType::MAX_INT_BITS;
+     return QualType();
+   }
+ 
+diff --git a/clang/test/CodeGen/ext-int-cc.c b/clang/test/CodeGen/ext-int-cc.c
+index 517e3cd2f858..1603d5ec0fb0 100644
+--- a/clang/test/CodeGen/ext-int-cc.c
++++ b/clang/test/CodeGen/ext-int-cc.c
+@@ -28,64 +28,65 @@
+ // RUN: %clang_cc1 -disable-noundef-analysis -triple arm64_32-apple-ios -target-abi darwinpcs -O3 -disable-llvm-passes -emit-llvm -o - %s | FileCheck %s --check-prefixes=AARCH64DARWIN
+ // RUN: %clang_cc1 -disable-noundef-analysis -triple arm -O3 -disable-llvm-passes -emit-llvm -o - %s | FileCheck %s --check-prefixes=ARM
+ 
+-// Make sure 128 and 64 bit versions are passed like integers.
+-void ParamPassing(_BitInt(128) b, _BitInt(64) c) {}
+-// LIN64: define{{.*}} void @ParamPassing(i64 %{{.+}}, i64 %{{.+}}, i64 %{{.+}})
+-// WIN64: define dso_local void @ParamPassing(i128* %{{.+}}, i64 %{{.+}})
+-// LIN32: define{{.*}} void @ParamPassing(i128* %{{.+}}, i64 %{{.+}})
+-// WIN32: define dso_local void @ParamPassing(i128* %{{.+}}, i64 %{{.+}})
+-// NACL: define{{.*}} void @ParamPassing(i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
+-// NVPTX64: define{{.*}} void @ParamPassing(i128 %{{.+}}, i64 %{{.+}})
+-// NVPTX: define{{.*}} void @ParamPassing(i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
+-// SPARCV9: define{{.*}} void @ParamPassing(i128 %{{.+}}, i64 %{{.+}})
+-// SPARC: define{{.*}} void @ParamPassing(i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
+-// MIPS64: define{{.*}} void @ParamPassing(i128 signext  %{{.+}}, i64 signext %{{.+}})
+-// MIPS: define{{.*}} void @ParamPassing(i128* byval(i128) align 8 %{{.+}}, i64 signext %{{.+}})
+-// SPIR64: define{{.*}} spir_func void @ParamPassing(i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
+-// SPIR: define{{.*}} spir_func void @ParamPassing(i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
+-// HEX: define{{.*}} void @ParamPassing(i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
+-// LANAI: define{{.*}} void @ParamPassing(i128* byval(i128) align 4 %{{.+}}, i64 %{{.+}})
+-// R600: define{{.*}} void @ParamPassing(i128 addrspace(5)* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
+-// ARC: define{{.*}} void @ParamPassing(i128* byval(i128) align 4 %{{.+}}, i64 inreg %{{.+}})
+-// XCORE: define{{.*}} void @ParamPassing(i128* byval(i128) align 4 %{{.+}}, i64 %{{.+}})
+-// RISCV64: define{{.*}} void @ParamPassing(i128 %{{.+}}, i64 %{{.+}})
+-// RISCV32: define{{.*}} void @ParamPassing(i128* %{{.+}}, i64 %{{.+}})
+-// WASM: define{{.*}} void @ParamPassing(i128 %{{.+}}, i64 %{{.+}})
+-// SYSTEMZ: define{{.*}} void @ParamPassing(i128* %{{.+}}, i64 %{{.+}})
+-// PPC64: define{{.*}} void @ParamPassing(i128 %{{.+}}, i64 %{{.+}})
+-// PPC32: define{{.*}} void @ParamPassing(i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
+-// AARCH64: define{{.*}} void @ParamPassing(i128 %{{.+}}, i64 %{{.+}})
+-// AARCH64DARWIN: define{{.*}} void @ParamPassing(i128 %{{.+}}, i64 %{{.+}})
+-// ARM: define{{.*}} arm_aapcscc void @ParamPassing(i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
++// Make sure 128 and 64 bit versions are passed like integers, and that >128
++// is passed indirectly.
++void ParamPassing(_BitInt(129) a, _BitInt(128) b, _BitInt(64) c) {}
++// LIN64: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i64 %{{.+}}, i64 %{{.+}}, i64 %{{.+}})
++// WIN64: define dso_local void @ParamPassing(i129* %{{.+}}, i128* %{{.+}}, i64 %{{.+}})
++// LIN32: define{{.*}} void @ParamPassing(i129* %{{.+}}, i128* %{{.+}}, i64 %{{.+}})
++// WIN32: define dso_local void @ParamPassing(i129* %{{.+}}, i128* %{{.+}}, i64 %{{.+}})
++// NACL: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
++// NVPTX64: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128 %{{.+}}, i64 %{{.+}})
++// NVPTX: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
++// SPARCV9: define{{.*}} void @ParamPassing(i129* %{{.+}}, i128 %{{.+}}, i64 %{{.+}})
++// SPARC: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
++// MIPS64: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128 signext  %{{.+}}, i64 signext %{{.+}})
++// MIPS: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 signext %{{.+}})
++// SPIR64: define{{.*}} spir_func void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
++// SPIR: define{{.*}} spir_func void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
++// HEX: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
++// LANAI: define{{.*}} void @ParamPassing(i129* byval(i129) align 4 %{{.+}}, i128* byval(i128) align 4 %{{.+}}, i64 %{{.+}})
++// R600: define{{.*}} void @ParamPassing(i129 addrspace(5)* byval(i129) align 8 %{{.+}}, i128 addrspace(5)* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
++// ARC: define{{.*}} void @ParamPassing(i129* byval(i129) align 4 %{{.+}}, i128* byval(i128) align 4 %{{.+}}, i64 inreg %{{.+}})
++// XCORE: define{{.*}} void @ParamPassing(i129* byval(i129) align 4 %{{.+}}, i128* byval(i128) align 4 %{{.+}}, i64 %{{.+}})
++// RISCV64: define{{.*}} void @ParamPassing(i129* %{{.+}}, i128 %{{.+}}, i64 %{{.+}})
++// RISCV32: define{{.*}} void @ParamPassing(i129* %{{.+}}, i128* %{{.+}}, i64 %{{.+}})
++// WASM: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128 %{{.+}}, i64 %{{.+}})
++// SYSTEMZ: define{{.*}} void @ParamPassing(i129* %{{.+}}, i128* %{{.+}}, i64 %{{.+}})
++// PPC64: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128 %{{.+}}, i64 %{{.+}})
++// PPC32: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
++// AARCH64: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128 %{{.+}}, i64 %{{.+}})
++// AARCH64DARWIN: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128 %{{.+}}, i64 %{{.+}})
++// ARM: define{{.*}} arm_aapcscc void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
+ 
+-void ParamPassing2(_BitInt(127) b, _BitInt(63) c) {}
+-// LIN64: define{{.*}} void @ParamPassing2(i64 %{{.+}}, i64 %{{.+}}, i64 %{{.+}})
+-// WIN64: define dso_local void @ParamPassing2(i127* %{{.+}}, i63 %{{.+}})
+-// LIN32: define{{.*}} void @ParamPassing2(i127* %{{.+}}, i63 %{{.+}})
+-// WIN32: define dso_local void @ParamPassing2(i127* %{{.+}}, i63 %{{.+}})
+-// NACL: define{{.*}} void @ParamPassing2(i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
+-// NVPTX64: define{{.*}} void @ParamPassing2(i127 %{{.+}}, i63 %{{.+}})
+-// NVPTX: define{{.*}} void @ParamPassing2(i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
+-// SPARCV9: define{{.*}} void @ParamPassing2(i127 %{{.+}}, i63 signext %{{.+}})
+-// SPARC: define{{.*}} void @ParamPassing2(i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
+-// MIPS64: define{{.*}} void @ParamPassing2(i127 signext  %{{.+}}, i63 signext %{{.+}})
+-// MIPS: define{{.*}} void @ParamPassing2(i127* byval(i127) align 8 %{{.+}}, i63 signext %{{.+}})
+-// SPIR64: define{{.*}} spir_func void @ParamPassing2(i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
+-// SPIR: define{{.*}} spir_func void @ParamPassing2(i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
+-// HEX: define{{.*}} void @ParamPassing2(i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
+-// LANAI: define{{.*}} void @ParamPassing2(i127* byval(i127) align 4 %{{.+}}, i63 %{{.+}})
+-// R600: define{{.*}} void @ParamPassing2(i127 addrspace(5)* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
+-// ARC: define{{.*}} void @ParamPassing2(i127* byval(i127) align 4 %{{.+}}, i63 inreg %{{.+}})
+-// XCORE: define{{.*}} void @ParamPassing2(i127* byval(i127) align 4 %{{.+}}, i63 %{{.+}})
+-// RISCV64: define{{.*}} void @ParamPassing2(i127 %{{.+}}, i63 signext %{{.+}})
+-// RISCV32: define{{.*}} void @ParamPassing2(i127* %{{.+}}, i63 %{{.+}})
+-// WASM: define{{.*}} void @ParamPassing2(i127 %{{.+}}, i63 %{{.+}})
+-// SYSTEMZ: define{{.*}} void @ParamPassing2(i127* %{{.+}}, i63 signext %{{.+}})
+-// PPC64: define{{.*}} void @ParamPassing2(i127 %{{.+}}, i63 signext %{{.+}})
+-// PPC32: define{{.*}} void @ParamPassing2(i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
+-// AARCH64: define{{.*}} void @ParamPassing2(i127 %{{.+}}, i63 %{{.+}})
+-// AARCH64DARWIN: define{{.*}} void @ParamPassing2(i127 %{{.+}}, i63 %{{.+}})
+-// ARM: define{{.*}} arm_aapcscc void @ParamPassing2(i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
++void ParamPassing2(_BitInt(129) a, _BitInt(127) b, _BitInt(63) c) {}
++// LIN64: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i64 %{{.+}}, i64 %{{.+}}, i64 %{{.+}})
++// WIN64: define dso_local void @ParamPassing2(i129* %{{.+}}, i127* %{{.+}}, i63 %{{.+}})
++// LIN32: define{{.*}} void @ParamPassing2(i129* %{{.+}}, i127* %{{.+}}, i63 %{{.+}})
++// WIN32: define dso_local void @ParamPassing2(i129* %{{.+}}, i127* %{{.+}}, i63 %{{.+}})
++// NACL: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
++// NVPTX64: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127 %{{.+}}, i63 %{{.+}})
++// NVPTX: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
++// SPARCV9: define{{.*}} void @ParamPassing2(i129* %{{.+}}, i127 %{{.+}}, i63 signext %{{.+}})
++// SPARC: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
++// MIPS64: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127 signext  %{{.+}}, i63 signext %{{.+}})
++// MIPS: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 signext %{{.+}})
++// SPIR64: define{{.*}} spir_func void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
++// SPIR: define{{.*}} spir_func void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
++// HEX: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
++// LANAI: define{{.*}} void @ParamPassing2(i129* byval(i129) align 4 %{{.+}}, i127* byval(i127) align 4 %{{.+}}, i63 %{{.+}})
++// R600: define{{.*}} void @ParamPassing2(i129 addrspace(5)* byval(i129) align 8 %{{.+}}, i127 addrspace(5)* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
++// ARC: define{{.*}} void @ParamPassing2(i129* byval(i129) align 4 %{{.+}}, i127* byval(i127) align 4 %{{.+}}, i63 inreg %{{.+}})
++// XCORE: define{{.*}} void @ParamPassing2(i129* byval(i129) align 4 %{{.+}}, i127* byval(i127) align 4 %{{.+}}, i63 %{{.+}})
++// RISCV64: define{{.*}} void @ParamPassing2(i129* %{{.+}}, i127 %{{.+}}, i63 signext %{{.+}})
++// RISCV32: define{{.*}} void @ParamPassing2(i129* %{{.+}}, i127* %{{.+}}, i63 %{{.+}})
++// WASM: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127 %{{.+}}, i63 %{{.+}})
++// SYSTEMZ: define{{.*}} void @ParamPassing2(i129* %{{.+}}, i127* %{{.+}}, i63 signext %{{.+}})
++// PPC64: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127 %{{.+}}, i63 signext %{{.+}})
++// PPC32: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
++// AARCH64: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127 %{{.+}}, i63 %{{.+}})
++// AARCH64DARWIN: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127 %{{.+}}, i63 %{{.+}})
++// ARM: define{{.*}} arm_aapcscc void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
+ 
+ // Make sure we follow the signext rules for promotable integer types.
+ void ParamPassing3(_BitInt(15) a, _BitInt(31) b) {}
+@@ -117,41 +118,6 @@ void ParamPassing3(_BitInt(15) a, _BitInt(31) b) {}
+ // AARCH64DARWIN: define{{.*}} void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
+ // ARM: define{{.*}} arm_aapcscc void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
+ 
+-#if __BITINT_MAXWIDTH__ > 128
+-// When supported, bit-precise types that are >128 are passed indirectly. Note,
+-// FileCheck doesn't pay attention to the preprocessor, so all of these tests
+-// are negated. This will give an error when a target does support larger
+-// _BitInt widths to alert us to enable the test.
+-void ParamPassing4(_BitInt(129) a) {}
+-// LIN64-NOT: define{{.*}} void @ParamPassing4(i129* byval(i129) align 8 %{{.+}})
+-// WIN64-NOT: define dso_local void @ParamPassing4(i129* %{{.+}})
+-// LIN32-NOT: define{{.*}} void @ParamPassing4(i129* %{{.+}})
+-// WIN32-NOT: define dso_local void @ParamPassing4(i129* %{{.+}})
+-// NACL-NOT: define{{.*}} void @ParamPassing4(i129* byval(i129) align 8 %{{.+}})
+-// NVPTX64-NOT: define{{.*}} void @ParamPassing4(i129* byval(i129) align 8 %{{.+}})
+-// NVPTX-NOT: define{{.*}} void @ParamPassing4(i129* byval(i129) align 8 %{{.+}})
+-// SPARCV9-NOT: define{{.*}} void @ParamPassing4(i129* %{{.+}})
+-// SPARC-NOT: define{{.*}} void @ParamPassing4(i129* byval(i129) align 8 %{{.+}})
+-// MIPS64-NOT: define{{.*}} void @ParamPassing4(i129* byval(i129) align 8 %{{.+}})
+-// MIPS-NOT: define{{.*}} void @ParamPassing4(i129* byval(i129) align 8 %{{.+}})
+-// SPIR64-NOT: define{{.*}} spir_func void @ParamPassing4(i129* byval(i129) align 8 %{{.+}})
+-// SPIR-NOT: define{{.*}} spir_func void @ParamPassing4(i129* byval(i129) align 8 %{{.+}})
+-// HEX-NOT: define{{.*}} void @ParamPassing4(i129* byval(i129) align 8 %{{.+}})
+-// LANAI-NOT: define{{.*}} void @ParamPassing4(i129* byval(i129) align 4 %{{.+}})
+-// R600-NOT: define{{.*}} void @ParamPassing4(i129 addrspace(5)* byval(i129) align 8 %{{.+}})
+-// ARC-NOT: define{{.*}} void @ParamPassing4(i129* byval(i129) align 4 %{{.+}})
+-// XCORE-NOT: define{{.*}} void @ParamPassing4(i129* byval(i129) align 4 %{{.+}})
+-// RISCV64-NOT: define{{.*}} void @ParamPassing4(i129* %{{.+}})
+-// RISCV32-NOT: define{{.*}} void @ParamPassing4(i129* %{{.+}})
+-// WASM-NOT: define{{.*}} void @ParamPassing4(i129* byval(i129) align 8 %{{.+}})
+-// SYSTEMZ-NOT: define{{.*}} void @ParamPassing4(i129* %{{.+}})
+-// PPC64-NOT: define{{.*}} void @ParamPassing4(i129* byval(i129) align 8 %{{.+}})
+-// PPC32-NOT: define{{.*}} void @ParamPassing4(i129* byval(i129) align 8 %{{.+}})
+-// AARCH64-NOT: define{{.*}} void @ParamPassing4(i129* byval(i129) align 8 %{{.+}})
+-// AARCH64DARWIN-NOT: define{{.*}} void @ParamPassing4(i129* byval(i129) align 8 %{{.+}})
+-// ARM-NOT: define{{.*}} arm_aapcscc void @ParamPassing4(i129* byval(i129) align 8 %{{.+}})
+-#endif
+-
+ _BitInt(63) ReturnPassing(){}
+ // LIN64: define{{.*}} i64 @ReturnPassing(
+ // WIN64: define dso_local i63 @ReturnPassing(
+@@ -270,40 +236,38 @@ _BitInt(128) ReturnPassing4(){}
+ // AARCH64DARWIN: define{{.*}} i128 @ReturnPassing4(
+ // ARM: define{{.*}} arm_aapcscc void @ReturnPassing4(i128* noalias sret
+ 
+-#if __BITINT_MAXWIDTH__ > 128
+ _BitInt(129) ReturnPassing5(){}
+-// LIN64-NOT: define{{.*}} void @ReturnPassing5(i129* noalias sret
+-// WIN64-NOT: define dso_local void @ReturnPassing5(i129* noalias sret
+-// LIN32-NOT: define{{.*}} void @ReturnPassing5(i129* noalias sret
+-// WIN32-NOT: define dso_local void @ReturnPassing5(i129* noalias sret
+-// NACL-NOT: define{{.*}} void @ReturnPassing5(i129* noalias sret
+-// NVPTX64-NOT: define{{.*}} i129 @ReturnPassing5(
+-// NVPTX-NOT: define{{.*}} i129 @ReturnPassing5(
+-// SPARCV9-NOT: define{{.*}} i129 @ReturnPassing5(
+-// SPARC-NOT: define{{.*}} void @ReturnPassing5(i129* noalias sret
+-// MIPS64-NOT: define{{.*}} void @ReturnPassing5(i129* noalias sret
+-// MIPS-NOT: define{{.*}} void @ReturnPassing5(i129* noalias sret
+-// SPIR64-NOT: define{{.*}} spir_func void @ReturnPassing5(i129* noalias sret
+-// SPIR-NOT: define{{.*}} spir_func void @ReturnPassing5(i129* noalias sret
+-// HEX-NOT: define{{.*}} void @ReturnPassing5(i129* noalias sret
+-// LANAI-NOT: define{{.*}} void @ReturnPassing5(i129* noalias sret
+-// R600-NOT: define{{.*}} void @ReturnPassing5(i129 addrspace(5)* noalias sret
+-// ARC-NOT: define{{.*}} void @ReturnPassing5(i129* inreg noalias sret
+-// XCORE-NOT: define{{.*}} void @ReturnPassing5(i129* noalias sret
+-// RISCV64-NOT: define{{.*}} void @ReturnPassing5(i129* noalias sret
+-// RISCV32-NOT: define{{.*}} void @ReturnPassing5(i129* noalias sret
+-// WASM-NOT: define{{.*}} void @ReturnPassing5(i129* noalias sret
+-// SYSTEMZ-NOT: define{{.*}} void @ReturnPassing5(i129* noalias sret
+-// PPC64-NOT: define{{.*}} void @ReturnPassing5(i129* noalias sret
+-// PPC32-NOT: define{{.*}} void @ReturnPassing5(i129* noalias sret
+-// AARCH64-NOT: define{{.*}} void @ReturnPassing5(i129* noalias sret
+-// AARCH64DARWIN-NOT: define{{.*}} void @ReturnPassing5(i129* noalias sret
+-// ARM-NOT: define{{.*}} arm_aapcscc void @ReturnPassing5(i129* noalias sret
++// LIN64: define{{.*}} void @ReturnPassing5(i129* noalias sret
++// WIN64: define dso_local void @ReturnPassing5(i129* noalias sret
++// LIN32: define{{.*}} void @ReturnPassing5(i129* noalias sret
++// WIN32: define dso_local void @ReturnPassing5(i129* noalias sret
++// NACL: define{{.*}} void @ReturnPassing5(i129* noalias sret
++// NVPTX64: define{{.*}} i129 @ReturnPassing5(
++// NVPTX: define{{.*}} i129 @ReturnPassing5(
++// SPARCV9: define{{.*}} i129 @ReturnPassing5(
++// SPARC: define{{.*}} void @ReturnPassing5(i129* noalias sret
++// MIPS64: define{{.*}} void @ReturnPassing5(i129* noalias sret
++// MIPS: define{{.*}} void @ReturnPassing5(i129* noalias sret
++// SPIR64: define{{.*}} spir_func void @ReturnPassing5(i129* noalias sret
++// SPIR: define{{.*}} spir_func void @ReturnPassing5(i129* noalias sret
++// HEX: define{{.*}} void @ReturnPassing5(i129* noalias sret
++// LANAI: define{{.*}} void @ReturnPassing5(i129* noalias sret
++// R600: define{{.*}} void @ReturnPassing5(i129 addrspace(5)* noalias sret
++// ARC: define{{.*}} void @ReturnPassing5(i129* inreg noalias sret
++// XCORE: define{{.*}} void @ReturnPassing5(i129* noalias sret
++// RISCV64: define{{.*}} void @ReturnPassing5(i129* noalias sret
++// RISCV32: define{{.*}} void @ReturnPassing5(i129* noalias sret
++// WASM: define{{.*}} void @ReturnPassing5(i129* noalias sret
++// SYSTEMZ: define{{.*}} void @ReturnPassing5(i129* noalias sret
++// PPC64: define{{.*}} void @ReturnPassing5(i129* noalias sret
++// PPC32: define{{.*}} void @ReturnPassing5(i129* noalias sret
++// AARCH64: define{{.*}} void @ReturnPassing5(i129* noalias sret
++// AARCH64DARWIN: define{{.*}} void @ReturnPassing5(i129* noalias sret
++// ARM: define{{.*}} arm_aapcscc void @ReturnPassing5(i129* noalias sret
+ 
+ // SparcV9 is odd in that it has a return-size limit of 256, not 128 or 64
+ // like other platforms, so test to make sure this behavior will still work.
+ _BitInt(256) ReturnPassing6() {}
+-// SPARCV9-NOT: define{{.*}} i256 @ReturnPassing6(
++// SPARCV9: define{{.*}} i256 @ReturnPassing6(
+ _BitInt(257) ReturnPassing7() {}
+-// SPARCV9-NOT: define{{.*}} void @ReturnPassing7(i257* noalias sret
+-#endif
++// SPARCV9: define{{.*}} void @ReturnPassing7(i257* noalias sret
+diff --git a/clang/test/CodeGen/ext-int.c b/clang/test/CodeGen/ext-int.c
+index 295fa11cf57a..fbc627d22cb2 100644
+--- a/clang/test/CodeGen/ext-int.c
++++ b/clang/test/CodeGen/ext-int.c
+@@ -13,7 +13,7 @@ void GenericTest(_BitInt(3) a, unsigned _BitInt(3) b, _BitInt(4) c) {
+   // CHECK: store i32 3
+ }
+ 
+-void VLATest(_BitInt(3) A, _BitInt(99) B, _BitInt(123) C) {
++void VLATest(_BitInt(3) A, _BitInt(99) B, _BitInt(123456) C) {
+   // CHECK: define {{.*}}void @VLATest
+   int AR1[A];
+   // CHECK: %[[A:.+]] = zext i3 %{{.+}} to i[[INDXSIZE:[0-9]+]]
+@@ -22,13 +22,13 @@ void VLATest(_BitInt(3) A, _BitInt(99) B, _BitInt(123) C) {
+   // CHECK: %[[B:.+]] = trunc i99 %{{.+}} to i[[INDXSIZE]]
+   // CHECK: %[[VLA2:.+]] = alloca i32, i[[INDXSIZE]] %[[B]]
+   int AR3[C];
+-  // CHECK: %[[C:.+]] = trunc i123 %{{.+}} to i[[INDXSIZE]]
++  // CHECK: %[[C:.+]] = trunc i123456 %{{.+}} to i[[INDXSIZE]]
+   // CHECK: %[[VLA3:.+]] = alloca i32, i[[INDXSIZE]] %[[C]]
+ }
+ 
+ struct S {
+   _BitInt(17) A;
+-  _BitInt(128) B;
++  _BitInt(8388600) B;
+   _BitInt(17) C;
+ };
+ 
+@@ -41,9 +41,9 @@ void OffsetOfTest() {
+   // LIN32: store i32 4, i32* %{{.+}}
+   // WINCHECK32: store i32 8, i32* %{{.+}}
+   int C = __builtin_offsetof(struct S,C);
+-  // CHECK64: store i32 24, i32* %{{.+}}
+-  // LIN32: store i32 20, i32* %{{.+}}
+-  // WIN32: store i32 24, i32* %{{.+}}
++  // CHECK64: store i32 1048584, i32* %{{.+}}
++  // LIN32: store i32 1048580, i32* %{{.+}}
++  // WIN32: store i32 1048584, i32* %{{.+}}
+ }
+ 
+ void Size1ExtIntParam(unsigned _BitInt(1) A) {
+diff --git a/clang/test/CodeGenCXX/ext-int.cpp b/clang/test/CodeGenCXX/ext-int.cpp
+index cc61977fc95e..99b441eeb709 100644
+--- a/clang/test/CodeGenCXX/ext-int.cpp
++++ b/clang/test/CodeGenCXX/ext-int.cpp
+@@ -272,6 +272,71 @@ void TakesVarargs(int i, ...) {
+   // WIN32: %[[LOADV3:.+]] = load i16, i16* %[[BC3]]
+   // WIN32: store i16 %[[LOADV3]], i16*
+ 
++
++  _BitInt(129) D = __builtin_va_arg(args, _BitInt(129));
++  // LIN64: %[[AD4:.+]] = getelementptr inbounds [1 x %struct.__va_list_tag], [1 x %struct.__va_list_tag]* %[[ARGS]]
++  // LIN64: %[[OFA_P4:.+]] = getelementptr inbounds %struct.__va_list_tag, %struct.__va_list_tag* %[[AD4]], i32 0, i32 2
++  // LIN64: %[[OFA4:.+]] = load i8*, i8** %[[OFA_P4]]
++  // LIN64: %[[BC4:.+]] = bitcast i8* %[[OFA4]] to i129*
++  // LIN64: %[[OFANEXT4:.+]] = getelementptr i8, i8* %[[OFA4]], i32 24
++  // LIN64: store i8* %[[OFANEXT4]], i8** %[[OFA_P4]]
++  // LIN64: %[[LOAD4:.+]] = load i129, i129* %[[BC4]]
++  // LIN64: store i129 %[[LOAD4]], i129*
++
++  // LIN32: %[[CUR4:.+]] = load i8*, i8** %[[ARGS]]
++  // LIN32: %[[NEXT4:.+]] = getelementptr inbounds i8, i8* %[[CUR4]], i32 20
++  // LIN32: store i8* %[[NEXT4]], i8** %[[ARGS]]
++  // LIN32: %[[BC4:.+]] = bitcast i8* %[[CUR4]] to i129*
++  // LIN32: %[[LOADV4:.+]] = load i129, i129* %[[BC4]]
++  // LIN32: store i129 %[[LOADV4]], i129*
++
++  // WIN64: %[[CUR4:.+]] = load i8*, i8** %[[ARGS]]
++  // WIN64: %[[NEXT4:.+]] = getelementptr inbounds i8, i8* %[[CUR4]], i64 8
++  // WIN64: store i8* %[[NEXT4]], i8** %[[ARGS]]
++  // WIN64: %[[BC4:.+]] = bitcast i8* %[[CUR4]] to i129**
++  // WIN64: %[[LOADP4:.+]] = load i129*, i129** %[[BC4]]
++  // WIN64: %[[LOADV4:.+]] = load i129, i129* %[[LOADP4]]
++  // WIN64: store i129 %[[LOADV4]], i129*
++
++  // WIN32: %[[CUR4:.+]] = load i8*, i8** %[[ARGS]]
++  // WIN32: %[[NEXT4:.+]] = getelementptr inbounds i8, i8* %[[CUR4]], i32 24
++  // WIN32: store i8* %[[NEXT4]], i8** %[[ARGS]]
++  // WIN32: %[[BC4:.+]] = bitcast i8* %[[CUR4]] to i129*
++  // WIN32: %[[LOADV4:.+]] = load i129, i129* %[[BC4]]
++  // WIN32: store i129 %[[LOADV4]], i129*
++
++  _BitInt(8388600) E = __builtin_va_arg(args, _BitInt(8388600));
++  // LIN64: %[[AD5:.+]] = getelementptr inbounds [1 x %struct.__va_list_tag], [1 x %struct.__va_list_tag]* %[[ARGS]]
++  // LIN64: %[[OFA_P5:.+]] = getelementptr inbounds %struct.__va_list_tag, %struct.__va_list_tag* %[[AD5]], i32 0, i32 2
++  // LIN64: %[[OFA5:.+]] = load i8*, i8** %[[OFA_P5]]
++  // LIN64: %[[BC5:.+]] = bitcast i8* %[[OFA5]] to i8388600*
++  // LIN64: %[[OFANEXT5:.+]] = getelementptr i8, i8* %[[OFA5]], i32 1048576
++  // LIN64: store i8* %[[OFANEXT5]], i8** %[[OFA_P5]]
++  // LIN64: %[[LOAD5:.+]] = load i8388600, i8388600* %[[BC5]]
++  // LIN64: store i8388600 %[[LOAD5]], i8388600*
++
++  // LIN32: %[[CUR5:.+]] = load i8*, i8** %[[ARGS]]
++  // LIN32: %[[NEXT5:.+]] = getelementptr inbounds i8, i8* %[[CUR5]], i32 1048576
++  // LIN32: store i8* %[[NEXT5]], i8** %[[ARGS]]
++  // LIN32: %[[BC5:.+]] = bitcast i8* %[[CUR5]] to i8388600*
++  // LIN32: %[[LOADV5:.+]] = load i8388600, i8388600* %[[BC5]]
++  // LIN32: store i8388600 %[[LOADV5]], i8388600*
++
++  // WIN64: %[[CUR5:.+]] = load i8*, i8** %[[ARGS]]
++  // WIN64: %[[NEXT5:.+]] = getelementptr inbounds i8, i8* %[[CUR5]], i64 8
++  // WIN64: store i8* %[[NEXT5]], i8** %[[ARGS]]
++  // WIN64: %[[BC5:.+]] = bitcast i8* %[[CUR5]] to i8388600**
++  // WIN64: %[[LOADP5:.+]] = load i8388600*, i8388600** %[[BC5]]
++  // WIN64: %[[LOADV5:.+]] = load i8388600, i8388600* %[[LOADP5]]
++  // WIN64: store i8388600 %[[LOADV5]], i8388600*
++
++  // WIN32: %[[CUR5:.+]] = load i8*, i8** %[[ARGS]]
++  // WIN32: %[[NEXT5:.+]] = getelementptr inbounds i8, i8* %[[CUR5]], i32 1048576
++  // WIN32: store i8* %[[NEXT5]], i8** %[[ARGS]]
++  // WIN32: %[[BC5:.+]] = bitcast i8* %[[CUR5]] to i8388600*
++  // WIN32: %[[LOADV5:.+]] = load i8388600, i8388600* %[[BC5]]
++  // WIN32: store i8388600 %[[LOADV5]], i8388600*
++
+   __builtin_va_end(args);
+   // LIN64: %[[ENDAD:.+]] = getelementptr inbounds [1 x %struct.__va_list_tag], [1 x %struct.__va_list_tag]* %[[ARGS]]
+   // LIN64: %[[ENDAD1:.+]] = bitcast %struct.__va_list_tag* %[[ENDAD]] to i8*
+@@ -340,7 +405,7 @@ void ExplicitCasts() {
+ 
+ struct S {
+   _BitInt(17) A;
+-  _BitInt(128) B;
++  _BitInt(8388600) B;
+   _BitInt(17) C;
+ };
+ 
+@@ -355,9 +420,9 @@ void OffsetOfTest() {
+   // LIN32: store i{{.+}} 4, i{{.+}}* %{{.+}}
+   // WIN: store i{{.+}} 8, i{{.+}}* %{{.+}}
+   auto C = __builtin_offsetof(S,C);
+-  // LIN64: store i{{.+}} 24, i{{.+}}* %{{.+}}
+-  // LIN32: store i{{.+}} 20, i{{.+}}* %{{.+}}
+-  // WIN: store i{{.+}} 24, i{{.+}}* %{{.+}}
++  // LIN64: store i{{.+}} 1048584, i{{.+}}* %{{.+}}
++  // LIN32: store i{{.+}} 1048580, i{{.+}}* %{{.+}}
++  // WIN: store i{{.+}} 1048584, i{{.+}}* %{{.+}}
+ }
+ 
+ 
+diff --git a/clang/test/Headers/limits.cpp b/clang/test/Headers/limits.cpp
+index 730a73982631..36a952315157 100644
+--- a/clang/test/Headers/limits.cpp
++++ b/clang/test/Headers/limits.cpp
+@@ -74,11 +74,8 @@ _Static_assert(ULLONG_WIDTH >= 64);
+ _Static_assert(ULLONG_WIDTH / CHAR_BIT == sizeof(unsigned long long));
+ _Static_assert(LLONG_WIDTH == ULLONG_WIDTH);
+ _Static_assert(LLONG_WIDTH / CHAR_BIT == sizeof(signed long long));
+-
+-_Static_assert(BITINT_MAXWIDTH >= ULLONG_WIDTH);
+ #else
+ /* None of these are defined. */
+ int BOOL_WIDTH, CHAR_WIDTH, SCHAR_WIDTH, UCHAR_WIDTH, USHRT_WIDTH, SHRT_WIDTH,
+-    UINT_WIDTH, INT_WIDTH, ULONG_WIDTH, LONG_WIDTH, ULLONG_WIDTH, LLONG_WIDTH,
+-    BITINT_MAXWIDTH;
++    UINT_WIDTH, INT_WIDTH, ULONG_WIDTH, LONG_WIDTH, ULLONG_WIDTH, LLONG_WIDTH;
+ #endif
+diff --git a/clang/test/Preprocessor/init-aarch64.c b/clang/test/Preprocessor/init-aarch64.c
+index f6809d8d9b48..598b3c75507c 100644
+--- a/clang/test/Preprocessor/init-aarch64.c
++++ b/clang/test/Preprocessor/init-aarch64.c
+@@ -40,7 +40,6 @@
+ // AARCH64-NEXT: #define __ATOMIC_SEQ_CST 5
+ // AARCH64:      #define __BIGGEST_ALIGNMENT__ 16
+ // AARCH64_BE-NEXT: #define __BIG_ENDIAN__ 1
+-// AARCH64-NEXT: #define __BITINT_MAXWIDTH__ 128
+ // AARCH64-NEXT: #define __BOOL_WIDTH__ 8
+ // AARCH64_BE-NEXT: #define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
+ // AARCH64_LE-NEXT: #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
+diff --git a/clang/test/Preprocessor/init.c b/clang/test/Preprocessor/init.c
+index dd645bf6003c..f11f600beed1 100644
+--- a/clang/test/Preprocessor/init.c
++++ b/clang/test/Preprocessor/init.c
+@@ -1520,7 +1520,6 @@
+ // WEBASSEMBLY-NEXT:#define __ATOMIC_RELEASE 3
+ // WEBASSEMBLY-NEXT:#define __ATOMIC_SEQ_CST 5
+ // WEBASSEMBLY-NEXT:#define __BIGGEST_ALIGNMENT__ 16
+-// WEBASSEMBLY-NEXT:#define __BITINT_MAXWIDTH__ 128
+ // WEBASSEMBLY-NEXT:#define __BOOL_WIDTH__ 8
+ // WEBASSEMBLY-NEXT:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
+ // WEBASSEMBLY-NEXT:#define __CHAR16_TYPE__ unsigned short
+diff --git a/clang/test/Sema/builtins-overflow.c b/clang/test/Sema/builtins-overflow.c
+index f41fddd2cafb..348a3a030643 100644
+--- a/clang/test/Sema/builtins-overflow.c
++++ b/clang/test/Sema/builtins-overflow.c
+@@ -26,7 +26,6 @@ void test(void) {
+     _BitInt(128) result;
+     _Bool status = __builtin_mul_overflow(x, y, &result); // expect ok
+   }
+-#if __BITINT_MAXWIDTH__ > 128
+   {
+     unsigned _BitInt(129) x = 1;
+     unsigned _BitInt(129) y = 1;
+@@ -39,5 +38,4 @@ void test(void) {
+     _BitInt(129) result;
+     _Bool status = __builtin_mul_overflow(x, y, &result); // expected-error {{__builtin_mul_overflow does not support 'signed _BitInt' operands of more than 128 bits}}
+   }
+-#endif
+ }
+diff --git a/clang/test/SemaCXX/ext-int.cpp b/clang/test/SemaCXX/ext-int.cpp
+index 5d4d8966cde2..675aaa7598df 100644
+--- a/clang/test/SemaCXX/ext-int.cpp
++++ b/clang/test/SemaCXX/ext-int.cpp
+@@ -17,7 +17,7 @@ _BitInt(33) Declarations(_BitInt(48) &Param) { // Useable in params and returns.
+   unsigned _BitInt(5) e = 5;
+   _BitInt(5) unsigned f;
+ 
+-  _BitInt(-3) g; // expected-error{{signed _BitInt of bit sizes greater than 128 not supported}}
++  _BitInt(-3) g; // expected-error{{signed _BitInt must have a bit size of at least 2}}
+   _BitInt(0) h; // expected-error{{signed _BitInt must have a bit size of at least 2}}
+   _BitInt(1) i; // expected-error{{signed _BitInt must have a bit size of at least 2}}
+   _BitInt(2) j;;
+@@ -28,13 +28,13 @@ _BitInt(33) Declarations(_BitInt(48) &Param) { // Useable in params and returns.
+   constexpr _BitInt(6) n = 33; // expected-warning{{implicit conversion from 'int' to 'const _BitInt(6)' changes value from 33 to -31}}
+   constexpr _BitInt(7) o = 33;
+ 
+-  // Check imposed max size.
+-  _BitInt(129) p;               // expected-error {{signed _BitInt of bit sizes greater than 128 not supported}}
+-  unsigned _BitInt(0xFFFFFFFFFF) q; // expected-error {{unsigned _BitInt of bit sizes greater than 128 not supported}}
++  // Check LLVM imposed max size.
++  _BitInt(8388609) p;               // expected-error {{signed _BitInt of bit sizes greater than 8388608 not supported}}
++  unsigned _BitInt(0xFFFFFFFFFF) q; // expected-error {{unsigned _BitInt of bit sizes greater than 8388608 not supported}}
+ 
+ // Ensure template params are instantiated correctly.
+-  // expected-error@5{{signed _BitInt of bit sizes greater than 128 not supported}}
+-  // expected-error@6{{unsigned _BitInt of bit sizes greater than 128 not supported}}
++  // expected-error@5{{signed _BitInt must have a bit size of at least 2}}
++  // expected-error@6{{unsigned _BitInt must have a bit size of at least 1}}
+   // expected-note@+1{{in instantiation of template class }}
+   HasExtInt<-1> r;
+   // expected-error@5{{signed _BitInt must have a bit size of at least 2}}
+@@ -186,8 +186,14 @@ void Ops() {
+   static_assert(sizeof(x43_s) == 8, "");
+   static_assert(sizeof(x4_s) == 1, "");
+ 
++  static_assert(sizeof(_BitInt(3340)) == 424, ""); // 424 * 8 == 3392.
++  static_assert(sizeof(_BitInt(1049)) == 136, ""); // 136  *  8 == 1088.
++
+   static_assert(alignof(decltype(x43_s)) == 8, "");
+   static_assert(alignof(decltype(x4_s)) == 1, "");
++
++  static_assert(alignof(_BitInt(3340)) == 8, "");
++  static_assert(alignof(_BitInt(1049)) == 8, "");
+ }
+ 
+ constexpr int func() { return 42;}
diff --git a/sys-devel/llvm/files/cherry/fadd20f80d6968a5a8623e0d1f804337ce084dcb.patch b/sys-devel/llvm/files/cherry/fadd20f80d6968a5a8623e0d1f804337ce084dcb.patch
new file mode 100644
index 0000000..ca30a3f
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/fadd20f80d6968a5a8623e0d1f804337ce084dcb.patch
@@ -0,0 +1,95 @@
+commit fadd20f80d6968a5a8623e0d1f804337ce084dcb
+Author: Simon Pilgrim <llvm-dev@redking.me.uk>
+Date:   Sun Feb 27 11:25:17 2022 +0000
+
+    [DAG] Ensure type is legal for bswap(shl(x,c)) -> zext(bswap(trunc(shl(x,c-bw/2)))) fold
+    
+    As reported on D120192
+
+diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+index c3bb838aac5c..996974452c1b 100644
+--- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
++++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+@@ -9618,7 +9618,8 @@ SDValue DAGCombiner::visitBSWAP(SDNode *N) {
+     EVT HalfVT = EVT::getIntegerVT(*DAG.getContext(), BW / 2);
+     if (ShAmt && ShAmt->getAPIntValue().ult(BW) &&
+         ShAmt->getZExtValue() >= (BW / 2) &&
+-        (ShAmt->getZExtValue() % 16) == 0 && TLI.isTruncateFree(VT, HalfVT) &&
++        (ShAmt->getZExtValue() % 16) == 0 && TLI.isTypeLegal(HalfVT) &&
++        TLI.isTruncateFree(VT, HalfVT) &&
+         (!LegalOperations || hasOperation(ISD::BSWAP, HalfVT))) {
+       SDValue Res = N0.getOperand(0);
+       if (uint64_t NewShAmt = (ShAmt->getZExtValue() - (BW / 2)))
+diff --git a/llvm/test/CodeGen/AArch64/arm64-rev.ll b/llvm/test/CodeGen/AArch64/arm64-rev.ll
+index aa223eefbbfa..f48b46641821 100644
+--- a/llvm/test/CodeGen/AArch64/arm64-rev.ll
++++ b/llvm/test/CodeGen/AArch64/arm64-rev.ll
+@@ -645,3 +645,38 @@ fail:
+   ret void
+ }
+ declare i16 @llvm.bswap.i16(i16)
++
++; Reduced regression from D120192
++define void @test_bswap32_narrow(i32* %p0, i16* %p1) nounwind {
++; CHECK-LABEL: test_bswap32_narrow:
++; CHECK:       // %bb.0:
++; CHECK-NEXT:    stp x30, x19, [sp, #-16]! // 16-byte Folded Spill
++; CHECK-NEXT:    ldrh w8, [x0, #2]
++; CHECK-NEXT:    mov x19, x1
++; CHECK-NEXT:    lsl w8, w8, #16
++; CHECK-NEXT:    rev w0, w8
++; CHECK-NEXT:    bl gid_tbl_len
++; CHECK-NEXT:    strh wzr, [x19]
++; CHECK-NEXT:    ldp x30, x19, [sp], #16 // 16-byte Folded Reload
++; CHECK-NEXT:    ret
++;
++; GISEL-LABEL: test_bswap32_narrow:
++; GISEL:       // %bb.0:
++; GISEL-NEXT:    stp x30, x19, [sp, #-16]! // 16-byte Folded Spill
++; GISEL-NEXT:    ldr w8, [x0]
++; GISEL-NEXT:    mov x19, x1
++; GISEL-NEXT:    and w8, w8, #0xffff0000
++; GISEL-NEXT:    rev w0, w8
++; GISEL-NEXT:    bl gid_tbl_len
++; GISEL-NEXT:    strh wzr, [x19]
++; GISEL-NEXT:    ldp x30, x19, [sp], #16 // 16-byte Folded Reload
++; GISEL-NEXT:    ret
++  %ld = load i32, i32* %p0, align 4
++  %and = and i32 %ld, -65536
++  %bswap = tail call i32 @llvm.bswap.i32(i32 %and)
++  %and16 = zext i32 %bswap to i64
++  %call17 = tail call i32 bitcast (i32 (...)* @gid_tbl_len to i32 (i64)*)(i64 %and16)
++  store i16 0, i16* %p1, align 4
++  ret void
++}
++declare i32 @gid_tbl_len(...)
+diff --git a/llvm/test/CodeGen/AArch64/load-combine-big-endian.ll b/llvm/test/CodeGen/AArch64/load-combine-big-endian.ll
+index 7579d550efb8..14a0162d5269 100644
+--- a/llvm/test/CodeGen/AArch64/load-combine-big-endian.ll
++++ b/llvm/test/CodeGen/AArch64/load-combine-big-endian.ll
+@@ -442,8 +442,8 @@ define i32 @zext_load_i32_by_i8(i32* %arg) {
+ ; CHECK-LABEL: zext_load_i32_by_i8:
+ ; CHECK:       // %bb.0:
+ ; CHECK-NEXT:    ldrh w8, [x0]
+-; CHECK-NEXT:    rev w8, w8
+-; CHECK-NEXT:    lsr w0, w8, #16
++; CHECK-NEXT:    lsl w8, w8, #16
++; CHECK-NEXT:    rev w0, w8
+ ; CHECK-NEXT:    ret
+   %tmp = bitcast i32* %arg to i8*
+   %tmp1 = getelementptr inbounds i8, i8* %tmp, i32 0
+diff --git a/llvm/test/CodeGen/AArch64/load-combine.ll b/llvm/test/CodeGen/AArch64/load-combine.ll
+index d743ab3f643c..066ecb21dc10 100644
+--- a/llvm/test/CodeGen/AArch64/load-combine.ll
++++ b/llvm/test/CodeGen/AArch64/load-combine.ll
+@@ -499,8 +499,8 @@ define i32 @zext_load_i32_by_i8_bswap(i32* %arg) {
+ ; CHECK-LABEL: zext_load_i32_by_i8_bswap:
+ ; CHECK:       // %bb.0:
+ ; CHECK-NEXT:    ldrh w8, [x0]
+-; CHECK-NEXT:    rev w8, w8
+-; CHECK-NEXT:    lsr w0, w8, #16
++; CHECK-NEXT:    lsl w8, w8, #16
++; CHECK-NEXT:    rev w0, w8
+ ; CHECK-NEXT:    ret
+ 
+   %tmp = bitcast i32* %arg to i8*
diff --git a/sys-devel/llvm/files/cherry/fc0aa8424ca98da29a9c7aa15b4427d47504ba87.patch b/sys-devel/llvm/files/cherry/fc0aa8424ca98da29a9c7aa15b4427d47504ba87.patch
new file mode 100644
index 0000000..a19e151
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/fc0aa8424ca98da29a9c7aa15b4427d47504ba87.patch
@@ -0,0 +1,131 @@
+From fc0aa8424ca98da29a9c7aa15b4427d47504ba87 Mon Sep 17 00:00:00 2001
+From: Fangrui Song <i@maskray.me>
+Date: Wed, 23 Feb 2022 10:15:42 -0800
+Subject: [PATCH] [ELF] Check COMMON symbols for PROVIDE and don't redefine
+ COMMON symbols edata/end/etext
+
+In GNU ld, the definition precedence is: regular symbol assignment > relocatable object definition > `PROVIDE` symbol assignment.
+
+GNU ld's internal linker scripts define the non-reserved (by C and C++)
+edata/end/etext with `PROVIDE` so the relocatable object definition takes
+precedence. This makes sense because `int end;` is valid.
+
+We currently redefine such symbols if they are COMMON, but not if they are
+regular definitions, so `int end;` with -fcommon is essentially a UB in ld.lld.
+Fix this (also improve consistency and match GNU ld) by using the
+`isDefined` code path for `isCommon`. In GNU ld, reserved identifiers like
+`__ehdr_start` do not use `PROVIDE`, while we treat them all as `PROVIDE`, this
+seems fine.
+
+Reviewed By: peter.smith
+
+Differential Revision: https://reviews.llvm.org/D120389
+---
+ lld/ELF/LinkerScript.cpp   |  2 +-
+ lld/ELF/Writer.cpp         |  2 +-
+ lld/test/ELF/edata-etext.s | 54 +++++++++++++++++++++++++++++++++++---
+ 3 files changed, 53 insertions(+), 5 deletions(-)
+
+diff --git a/lld/ELF/LinkerScript.cpp b/lld/ELF/LinkerScript.cpp
+index 402fa2f4ffbf..4b80d6af6e26 100644
+--- a/lld/ELF/LinkerScript.cpp
++++ b/lld/ELF/LinkerScript.cpp
+@@ -203,7 +203,7 @@ static bool shouldDefineSym(SymbolAssignment *cmd) {
+   // If a symbol was in PROVIDE(), we need to define it only
+   // when it is a referenced undefined symbol.
+   Symbol *b = symtab->find(cmd->name);
+-  if (b && !b->isDefined())
++  if (b && !b->isDefined() && !b->isCommon())
+     return true;
+   return false;
+ }
+diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp
+index cd43e79b8276..bf9e315ec0d2 100644
+--- a/lld/ELF/Writer.cpp
++++ b/lld/ELF/Writer.cpp
+@@ -165,7 +165,7 @@ void elf::combineEhSections() {
+ static Defined *addOptionalRegular(StringRef name, SectionBase *sec,
+                                    uint64_t val, uint8_t stOther = STV_HIDDEN) {
+   Symbol *s = symtab->find(name);
+-  if (!s || s->isDefined())
++  if (!s || s->isDefined() || s->isCommon())
+     return nullptr;
+ 
+   s->resolve(Defined{nullptr, StringRef(), STB_GLOBAL, stOther, STT_NOTYPE, val,
+diff --git a/lld/test/ELF/edata-etext.s b/lld/test/ELF/edata-etext.s
+index 673475e3e7ee..19cf2e5eb67d 100644
+--- a/lld/test/ELF/edata-etext.s
++++ b/lld/test/ELF/edata-etext.s
+@@ -1,7 +1,10 @@
+ # REQUIRES: x86
+-# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
+-# RUN: ld.lld %t.o -o %t
+-# RUN: llvm-objdump -t --section-headers %t | FileCheck %s
++# RUN: rm -rf %t && split-file %s %t
++# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %t/a.s -o %t/a.o
++# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %t/b.s -o %t/b.o
++# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %t/c.s -o %t/c.o
++# RUN: ld.lld %t/a.o -o %t/a
++# RUN: llvm-objdump -t --section-headers %t/a | FileCheck %s
+ 
+ ## This checks that:
+ ## 1) Address of _etext is the first location after the last read-only loadable segment.
+@@ -32,6 +35,23 @@
+ # RELOCATABLE-NEXT:  0000000000000000 *UND* 0000000000000000 _end
+ # RELOCATABLE-NEXT:  0000000000000000 *UND* 0000000000000000 _etext
+ 
++## If a relocatable object file defines non-reserved identifiers (by C and C++)
++## edata/end/etext, don't redefine them. Note: GNU ld redefines the reserved
++## _edata while we don't for simplicty.
++# RUN: ld.lld %t/b.o -o %t/b
++# RUN: llvm-objdump -t %t/b | FileCheck %s --check-prefix=CHECK2
++# RUN: ld.lld %t/c.o -o %t/c
++# RUN: llvm-objdump -t %t/c | FileCheck %s --check-prefix=CHECK2
++## PROVIDE does not redefine defined symbols, even if COMMON.
++# RUN: ld.lld %t/c.o %t/lds -o %t/c
++# RUN: llvm-objdump -t %t/c | FileCheck %s --check-prefix=CHECK2
++
++# CHECK2:       [[#%x,]] g     O .bss   0000000000000001 _edata
++# CHECK2-NEXT:  [[#%x,]] g     O .bss   0000000000000001 edata
++# CHECK2-NEXT:  [[#%x,]] g     O .bss   0000000000000001 end
++# CHECK2-NEXT:  [[#%x,]] g     O .bss   0000000000000001 etext
++
++#--- a.s
+ .global _edata,_end,_etext,_start,edata,end,etext
+ .text
+ _start:
+@@ -41,3 +61,31 @@ _start:
+ .bss
+   .align 4
+   .space 6
++
++#--- b.s
++.bss
++.macro def x
++  .globl \x
++  .type \x, @object
++  \x: .byte 0
++  .size \x, 1
++.endm
++def _edata
++def edata
++def end
++def etext
++
++#--- c.s
++.comm _edata,1,1
++.comm edata,1,1
++.comm end,1,1
++.comm etext,1,1
++
++#--- lds
++SECTIONS {
++  .text : { *(.text) }
++
++  PROVIDE(etext = .);
++  PROVIDE(edata = .);
++  PROVIDE(end = .);
++}
+-- 
+2.35.1.616.g0bdcbb4464-goog
+
diff --git a/sys-devel/llvm/files/cherry/fdd424e37abf3fa411c07f1e08fee72cfe7bb25b.patch b/sys-devel/llvm/files/cherry/fdd424e37abf3fa411c07f1e08fee72cfe7bb25b.patch
new file mode 100644
index 0000000..0e45e2b
--- /dev/null
+++ b/sys-devel/llvm/files/cherry/fdd424e37abf3fa411c07f1e08fee72cfe7bb25b.patch
@@ -0,0 +1,71 @@
+commit fdd424e37abf3fa411c07f1e08fee72cfe7bb25b
+Author: Fangrui Song <i@maskray.me>
+Date:   Tue Apr 12 11:24:19 2022 -0700
+
+    [ubsan] Fix print_stacktrace=1:fast_unwind_on_fatal=0 to correctly fallback to fast unwinder
+    
+    ubsan_GetStackTrace (from 52b751088b11547e0f4ef0589ebbe5e57752c68c) called by
+    ~ScopeReport leaves top/bottom zeroes in the
+    `!WillUseFastUnwind(request_fast_unwind)` code path.
+    When BufferedStackTrace::Unwind falls back to UnwindFast,
+    `if (stack_top < 4096) return;` will return early, leaving just one frame in the stack trace.
+    
+    Fix this by always initializing top/bottom like 261d6e05d5574bec753ea6b7e9a7f99229927753.
+    
+    Reviewed By: eugenis, yln
+    
+    Differential Revision: https://reviews.llvm.org/D123562
+
+diff --git a/compiler-rt/lib/ubsan/ubsan_diag.cpp b/compiler-rt/lib/ubsan/ubsan_diag.cpp
+index 8de51bc18770..3673e66539d0 100644
+--- a/compiler-rt/lib/ubsan/ubsan_diag.cpp
++++ b/compiler-rt/lib/ubsan/ubsan_diag.cpp
+@@ -32,15 +32,13 @@ using namespace __ubsan;
+ // Windows.
+ // TODO(yln): This is a temporary workaround. GetStackTrace functions will be
+ // removed in the future.
+-void ubsan_GetStackTrace(BufferedStackTrace *stack, uptr max_depth,
+-                         uptr pc, uptr bp, void *context, bool fast) {
++void ubsan_GetStackTrace(BufferedStackTrace *stack, uptr max_depth, uptr pc,
++                         uptr bp, void *context, bool request_fast) {
+   uptr top = 0;
+   uptr bottom = 0;
+-  if (StackTrace::WillUseFastUnwind(fast)) {
+-    GetThreadStackTopAndBottom(false, &top, &bottom);
+-    stack->Unwind(max_depth, pc, bp, nullptr, top, bottom, true);
+-  } else
+-    stack->Unwind(max_depth, pc, bp, context, 0, 0, false);
++  GetThreadStackTopAndBottom(false, &top, &bottom);
++  bool fast = StackTrace::WillUseFastUnwind(request_fast);
++  stack->Unwind(max_depth, pc, bp, context, top, bottom, fast);
+ }
+ 
+ static void MaybePrintStackTrace(uptr pc, uptr bp) {
+diff --git a/compiler-rt/test/ubsan/TestCases/Misc/Linux/diag-stacktrace.cpp b/compiler-rt/test/ubsan/TestCases/Misc/Linux/diag-stacktrace.cpp
+new file mode 100644
+index 000000000000..02e7a3d9c12e
+--- /dev/null
++++ b/compiler-rt/test/ubsan/TestCases/Misc/Linux/diag-stacktrace.cpp
+@@ -0,0 +1,22 @@
++/// Fast unwinder does not work with Thumb code
++// UNSUPPORTED: thumb
++
++// RUN: %clangxx -fsanitize=return %gmlt -O2 -fno-omit-frame-pointer -fasynchronous-unwind-tables %s -o %t
++// RUN: %env_ubsan_opts=print_stacktrace=1:fast_unwind_on_fatal=0 not %run %t 2>&1 | FileCheck %s
++// RUN: %env_ubsan_opts=print_stacktrace=1:fast_unwind_on_fatal=1 not %run %t 2>&1 | FileCheck %s
++// RUN: %clangxx -fsanitize=return %gmlt -O2 -fno-omit-frame-pointer -fno-exceptions -fno-asynchronous-unwind-tables %s -o %t
++// RUN: %env_ubsan_opts=print_stacktrace=1:fast_unwind_on_fatal=0 not %run %t 2>&1 | FileCheck %s
++// RUN: %env_ubsan_opts=print_stacktrace=1:fast_unwind_on_fatal=1 not %run %t 2>&1 | FileCheck %s
++
++// CHECK:      runtime error: execution reached the end of a value-returning function without returning a value
++// CHECK-NEXT: #0 {{.*}}f() {{.*}}.cpp:[[#@LINE+1]]
++__attribute__((noinline)) int f() {}
++
++// CHECK-NEXT: #1 {{.*}}g() {{.*}}.cpp:[[#@LINE+1]]
++__attribute__((noinline)) void g() { f(); }
++
++// CHECK-NEXT: #2 {{.*}}h() {{.*}}.cpp:[[#@LINE+1]]
++__attribute__((noinline)) void h() { g(); }
++
++// CHECK-NEXT: #3 {{.*}}main {{.*}}.cpp:[[#@LINE+1]]
++int main() { h(); }
diff --git a/sys-devel/llvm/files/clang-12.0-asan-default-path.patch b/sys-devel/llvm/files/clang-12.0-asan-default-path.patch
index 92ead6e..c5f8307 100644
--- a/sys-devel/llvm/files/clang-12.0-asan-default-path.patch
+++ b/sys-devel/llvm/files/clang-12.0-asan-default-path.patch
@@ -1,6 +1,8 @@
 By default, the ASAN message goes to STDERR. This causes problem if we cannot
 log the ASAN message, and we can not figure out why the ASAN check fails.
-This change set the ASAN message goes to /va/log/asan${pid} by default.
+This change set the ASAN message goes to /var/log/asan${pid} by default.
+
+As a workaround for b/223869781, this is set to /tmp/asan.
 --- a/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
 +++ b/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
 @@ -52,7 +52,7 @@ COMMON_FLAG(bool, handle_ioctl, false, "Intercept and handle ioctl requests.")
@@ -8,7 +10,7 @@
              "Max number of stack frames kept for each allocation/deallocation.")
  COMMON_FLAG(
 -    const char *, log_path, nullptr,
-+    const char *, log_path, "/var/log/asan/asan",
++    const char *, log_path, "/tmp/asan",
      "Write logs to \"log_path.pid\". The special values are \"stdout\" and "
      "\"stderr\". If unspecified, defaults to \"stderr\".")
  COMMON_FLAG(
diff --git a/sys-devel/llvm/files/compiler_wrapper/README b/sys-devel/llvm/files/compiler_wrapper/README
index 3eeafc1..f84bcf2 100644
--- a/sys-devel/llvm/files/compiler_wrapper/README
+++ b/sys-devel/llvm/files/compiler_wrapper/README
@@ -1,4 +1,4 @@
-Copyright 2019 The Chromium OS Authors. All rights reserved.
+Copyright 2019 The ChromiumOS Authors. All rights reserved.
 Use of this source code is governed by a BSD-style license that can be
 found in the LICENSE file.
 
@@ -15,4 +15,4 @@
 - modify third_party/toolchain_utils/compiler_wrapper
 - run third_party/toolchain_utils/compiler_wrapper/bundle.py --output_dir=...
 
-Source: https://chromium-review.googlesource.com/q/I1a12e50277b37af7bb0b6a58fea2de10006983c8
+Source: https://chromium-review.googlesource.com/q/Ic6bea362338745eff5f67b50207b14c1447f36ac
diff --git a/sys-devel/llvm/files/compiler_wrapper/VERSION b/sys-devel/llvm/files/compiler_wrapper/VERSION
index 8501c4c..e1349ba 100644
--- a/sys-devel/llvm/files/compiler_wrapper/VERSION
+++ b/sys-devel/llvm/files/compiler_wrapper/VERSION
@@ -1 +1 @@
-I1a12e50277b37af7bb0b6a58fea2de10006983c8
\ No newline at end of file
+Ic6bea362338745eff5f67b50207b14c1447f36ac
\ No newline at end of file
diff --git a/sys-devel/llvm/files/compiler_wrapper/bisect_flag.go b/sys-devel/llvm/files/compiler_wrapper/bisect_flag.go
index adfa8b0..139862e 100644
--- a/sys-devel/llvm/files/compiler_wrapper/bisect_flag.go
+++ b/sys-devel/llvm/files/compiler_wrapper/bisect_flag.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/sys-devel/llvm/files/compiler_wrapper/build.py b/sys-devel/llvm/files/compiler_wrapper/build.py
index f98b254..d004b55 100755
--- a/sys-devel/llvm/files/compiler_wrapper/build.py
+++ b/sys-devel/llvm/files/compiler_wrapper/build.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 # -*- coding: utf-8 -*-
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Copyright 2019 The ChromiumOS Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
@@ -23,7 +23,12 @@
       choices=['cros.hardened', 'cros.nonhardened', 'cros.host', 'android'])
   parser.add_argument('--use_ccache', required=True, choices=['true', 'false'])
   parser.add_argument(
-      '--use_llvm_next', required=True, choices=['true', 'false'])
+      '--version_suffix',
+      help='A string appended to the computed version of the wrapper. This '
+      'is appeneded directly without any delimiter.')
+  parser.add_argument('--use_llvm_next',
+                      required=True,
+                      choices=['true', 'false'])
   parser.add_argument('--output_file', required=True, type=str)
   parser.add_argument(
       '--static',
@@ -41,6 +46,11 @@
 
 
 def calc_go_args(args, version, build_dir):
+  # These seem unnecessary, and might lead to breakages with Go's ldflag
+  # parsing. Don't allow them.
+  if "'" in version:
+    raise ValueError('`version` should not contain single quotes')
+
   ldFlags = [
       '-X',
       'main.ConfigName=' + args.config,
@@ -49,10 +59,11 @@
       '-X',
       'main.UseLlvmNext=' + args.use_llvm_next,
       '-X',
-      'main.Version=' + version,
+      # Quote this, as `version` may have spaces in it.
+      "'main.Version=" + version + "'",
   ]
 
-  # If the wrapper is intended for Chrome OS, we need to use libc's exec.
+  # If the wrapper is intended for ChromeOS, we need to use libc's exec.
   extra_args = []
   if not args.static:
     extra_args += ['-tags', 'libc_exec']
@@ -60,8 +71,8 @@
   if args.config == 'android':
     # If android_llvm_next_flags.go DNE, we'll get an obscure "no
     # llvmNextFlags" build error; complaining here is clearer.
-    if not os.path.exists(
-        os.path.join(build_dir, 'android_llvm_next_flags.go')):
+    if not os.path.exists(os.path.join(build_dir,
+                                       'android_llvm_next_flags.go')):
       sys.exit('In order to build the Android wrapper, you must have a local '
                'android_llvm_next_flags.go file; please see '
                'cros_llvm_next_flags.go.')
@@ -92,6 +103,8 @@
   args = parse_args()
   build_dir = os.path.dirname(__file__)
   version = read_version(build_dir)
+  if args.version_suffix:
+    version += args.version_suffix
   # Note: Go does not support using absolute package names.
   # So we run go inside the directory of the the build file.
   sys.exit(
diff --git a/sys-devel/llvm/files/compiler_wrapper/ccache_flag.go b/sys-devel/llvm/files/compiler_wrapper/ccache_flag.go
index 02fb43a..2c966fd 100644
--- a/sys-devel/llvm/files/compiler_wrapper/ccache_flag.go
+++ b/sys-devel/llvm/files/compiler_wrapper/ccache_flag.go
@@ -1,9 +1,14 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
 package main
 
+func isInConfigureStage(env env) bool {
+	val, present := env.getenv("EBUILD_PHASE")
+	return present && val == "configure"
+}
+
 func processCCacheFlag(builder *commandBuilder) {
 	// We should be able to share the objects across compilers as
 	// the pre-processed output will differ.  This allows boards
@@ -22,7 +27,7 @@
 	// Disable ccache during portage's src_configure phase. Using ccache here is generally a
 	// waste of time, since these files are very small. Experimentally, this speeds up
 	// configuring by ~13%.
-	if val, present := builder.env.getenv("EBUILD_PHASE"); present && val == "configure" {
+	if isInConfigureStage(builder.env) {
 		useCCache = false
 	}
 
diff --git a/sys-devel/llvm/files/compiler_wrapper/clang_flags.go b/sys-devel/llvm/files/compiler_wrapper/clang_flags.go
index e25ed74..fea1424 100644
--- a/sys-devel/llvm/files/compiler_wrapper/clang_flags.go
+++ b/sys-devel/llvm/files/compiler_wrapper/clang_flags.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/sys-devel/llvm/files/compiler_wrapper/clang_syntax_flag.go b/sys-devel/llvm/files/compiler_wrapper/clang_syntax_flag.go
index 53240c7..6874bd1 100644
--- a/sys-devel/llvm/files/compiler_wrapper/clang_syntax_flag.go
+++ b/sys-devel/llvm/files/compiler_wrapper/clang_syntax_flag.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/sys-devel/llvm/files/compiler_wrapper/clang_tidy_flag.go b/sys-devel/llvm/files/compiler_wrapper/clang_tidy_flag.go
index 01387fd..bd1f984 100644
--- a/sys-devel/llvm/files/compiler_wrapper/clang_tidy_flag.go
+++ b/sys-devel/llvm/files/compiler_wrapper/clang_tidy_flag.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
@@ -114,9 +114,7 @@
 	fixesFilePath := f.Name() + ".yaml"
 	fixesMetadataPath := f.Name() + ".json"
 
-	// FIXME(gbiv): Remove `-checks=*` when testing is complete; we should defer to .clang-tidy
-	// files, which are both more expressive and more approachable than `-checks=*`.
-	extraTidyFlags = append(extraTidyFlags, "-checks=*", "--export-fixes="+fixesFilePath)
+	extraTidyFlags = append(extraTidyFlags, "--export-fixes="+fixesFilePath, "--header-filter=.*")
 	clangTidyCmd, err := calcClangTidyInvocation(env, clangCmd, cSrcFile, extraTidyFlags...)
 	if err != nil {
 		return fmt.Errorf("calculating tidy invocation: %v", err)
diff --git a/sys-devel/llvm/files/compiler_wrapper/command.go b/sys-devel/llvm/files/compiler_wrapper/command.go
index eb040b2..e186623 100644
--- a/sys-devel/llvm/files/compiler_wrapper/command.go
+++ b/sys-devel/llvm/files/compiler_wrapper/command.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
@@ -265,6 +265,21 @@
 	builder.args = newArgs
 }
 
+// Allows to filter arg pairs, useful for eg when having adjacent unsupported args
+// like "-Wl,-z -Wl,defs"
+func (builder *commandBuilder) filterArgPairs(keepPair func(arg1, arg2 builderArg) bool) {
+	newArgs := builder.args[:0]
+	for i := 0; i < len(builder.args); i++ {
+		if i == len(builder.args)-1 || keepPair(builder.args[i], builder.args[i+1]) {
+			newArgs = append(newArgs, builder.args[i])
+		} else {
+			// skip builder.args[i]) as well as next item
+			i++
+		}
+	}
+	builder.args = newArgs
+}
+
 func (builder *commandBuilder) updateEnv(updates ...string) {
 	builder.envUpdates = append(builder.envUpdates, updates...)
 }
diff --git a/sys-devel/llvm/files/compiler_wrapper/compile_with_fallback.go b/sys-devel/llvm/files/compiler_wrapper/compile_with_fallback.go
index 8b4b5b4..1e5a95a 100644
--- a/sys-devel/llvm/files/compiler_wrapper/compile_with_fallback.go
+++ b/sys-devel/llvm/files/compiler_wrapper/compile_with_fallback.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/sys-devel/llvm/files/compiler_wrapper/compiler_wrapper.go b/sys-devel/llvm/files/compiler_wrapper/compiler_wrapper.go
index 986eaba..28d2247 100644
--- a/sys-devel/llvm/files/compiler_wrapper/compiler_wrapper.go
+++ b/sys-devel/llvm/files/compiler_wrapper/compiler_wrapper.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
@@ -201,6 +201,12 @@
 		}
 	}
 
+	// If builds matching some heuristic should crash, crash them. Since this is purely a
+	// debugging tool, don't offer any nice features with it (e.g., rusage, ...).
+	if shouldUseCrashBuildsHeuristic && mainBuilder.target.compilerType == clangType {
+		return buildWithAutocrash(env, cfg, compilerCmd)
+	}
+
 	bisectStage := getBisectStage(env)
 
 	if rusageEnabled {
@@ -354,7 +360,6 @@
 	builder.addPreUserArgs(builder.cfg.commonFlags...)
 	if !builder.cfg.isHostWrapper {
 		processLibGCCFlags(builder)
-		processPieFlags(builder)
 		processThumbCodeFlags(builder)
 		processStackProtectorFlags(builder)
 		processX86Flags(builder)
diff --git a/sys-devel/llvm/files/compiler_wrapper/config.go b/sys-devel/llvm/files/compiler_wrapper/config.go
index d2410da..5dbfa15 100644
--- a/sys-devel/llvm/files/compiler_wrapper/config.go
+++ b/sys-devel/llvm/files/compiler_wrapper/config.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
@@ -34,7 +34,7 @@
 	triciumNitsDir string
 	// Directory to store crash artifacts in.
 	crashArtifactsDir string
-	// Version. Only used for printing via -print-cmd.
+	// Version. Only exposed via -print-config.
 	version string
 }
 
@@ -83,13 +83,13 @@
 	cfg := config{}
 	switch configName {
 	case "cros.hardened":
-		cfg = *crosHardenedConfig
+		cfg = crosHardenedConfig
 	case "cros.nonhardened":
-		cfg = *crosNonHardenedConfig
+		cfg = crosNonHardenedConfig
 	case "cros.host":
-		cfg = *crosHostConfig
+		cfg = crosHostConfig
 	case "android":
-		cfg = *androidConfig
+		cfg = androidConfig
 	default:
 		return nil, newErrorwithSourceLocf("unknown config name: %s", configName)
 	}
@@ -103,9 +103,42 @@
 	return &cfg, nil
 }
 
+func crosCommonClangFlags() []string {
+	// Temporarily disable tautological-*-compare chromium:778316.
+	// Temporarily add no-unknown-warning-option to deal with old clang versions.
+	// Temporarily disable Wdeprecated-declarations. b/193860318
+	// b/230345382: Temporarily disable Wimplicit-function-declaration.
+	// b/231987783: Temporarily disable Wimplicit-int.
+	return []string{
+		"-Qunused-arguments",
+		"-Werror=poison-system-directories",
+		"-Wno-compound-token-split-by-macro",
+		"-Wno-deprecated-declarations",
+		"-Wno-error=implicit-function-declaration",
+		"-Wno-error=implicit-int",
+		"-Wno-final-dtor-non-final-class",
+		"-Wno-tautological-constant-compare",
+		"-Wno-tautological-unsigned-enum-zero-compare",
+		"-Wno-unknown-warning-option",
+		"-fdebug-default-version=5",
+		"-fexperimental-new-pass-manager",
+	}
+}
+
+func crosCommonClangPostFlags() []string {
+	// Temporarily disable Wdeprecated-copy. b/191479033
+	return []string{
+		"-Wno-compound-token-split-by-space",
+		"-Wno-deprecated-copy",
+		"-Wno-implicit-int-float-conversion",
+		"-Wno-string-concatenation",
+		"-Wno-unused-but-set-variable",
+	}
+}
+
 // Full hardening.
 // Temporarily disable function splitting because of chromium:434751.
-var crosHardenedConfig = &config{
+var crosHardenedConfig = config{
 	clangRootRelPath: "../..",
 	gccRootRelPath:   "../../../../..",
 	// Pass "-fcommon" till the packages are fixed to work with new clang/gcc
@@ -113,8 +146,6 @@
 	commonFlags: []string{
 		"-fcommon",
 		"-fstack-protector-strong",
-		"-fPIE",
-		"-pie",
 		"-D_FORTIFY_SOURCE=2",
 		"-fno-omit-frame-pointer",
 	},
@@ -123,46 +154,25 @@
 		"-Wno-unused-local-typedefs",
 		"-Wno-maybe-uninitialized",
 	},
-	// Temporarily disable tautological-*-compare chromium:778316.
-	// Temporarily add no-unknown-warning-option to deal with old clang versions.
 	// Temporarily disable Wsection since kernel gets a bunch of these. chromium:778867
 	// Disable "-faddrsig" since it produces object files that strip doesn't understand, chromium:915742.
 	// crbug.com/1103065: -grecord-gcc-switches pollutes the Goma cache;
 	//   removed that flag for now.
-	// Temporarily disable Wdeprecated-declarations. b/193860318
-
-	clangFlags: []string{
-		"-Qunused-arguments",
-		"-fno-addrsig",
-		"-fdebug-default-version=5",
-		"-Wno-tautological-constant-compare",
-		"-Wno-tautological-unsigned-enum-zero-compare",
-		"-Wno-unknown-warning-option",
-		"-Wno-section",
-		"-fuse-ld=lld",
+	clangFlags: append(
+		crosCommonClangFlags(),
 		"--unwindlib=libunwind",
-		"-Wno-final-dtor-non-final-class",
-		"-Werror=poison-system-directories",
-		"-fexperimental-new-pass-manager",
-		"-Wno-compound-token-split-by-macro",
-		"-Wno-deprecated-declarations",
-	},
-
-	// Temporarily disable Wdeprecated-copy. b/191479033
-	clangPostFlags: []string{
-		"-Wno-implicit-int-float-conversion",
-		"-Wno-compound-token-split-by-space",
-		"-Wno-string-concatenation",
-		"-Wno-deprecated-copy",
-		"-Wno-unused-but-set-variable",
-	},
+		"-Wno-section",
+		"-fno-addrsig",
+		"-fuse-ld=lld",
+	),
+	clangPostFlags:    crosCommonClangPostFlags(),
 	newWarningsDir:    "/tmp/fatal_clang_warnings",
 	triciumNitsDir:    "/tmp/linting_output/clang-tidy",
 	crashArtifactsDir: "/tmp/clang_crash_diagnostics",
 }
 
 // Flags to be added to non-hardened toolchain.
-var crosNonHardenedConfig = &config{
+var crosNonHardenedConfig = config{
 	clangRootRelPath: "../..",
 	gccRootRelPath:   "../../../../..",
 	commonFlags:      []string{},
@@ -172,39 +182,19 @@
 		"-Wno-deprecated-declarations",
 		"-Wtrampolines",
 	},
-	// Temporarily disable tautological-*-compare chromium:778316.
-	// Temporarily add no-unknown-warning-option to deal with old clang versions.
 	// Temporarily disable Wsection since kernel gets a bunch of these. chromium:778867
-	// Temporarily disable Wdeprecated-declarations. b/193860318
-	clangFlags: []string{
-		"-Qunused-arguments",
-		"-fdebug-default-version=5",
-		"-Wno-tautological-constant-compare",
-		"-Wno-tautological-unsigned-enum-zero-compare",
-		"-Wno-unknown-warning-option",
+	clangFlags: append(
+		crosCommonClangFlags(),
 		"-Wno-section",
-		"-Wno-final-dtor-non-final-class",
-		"-Werror=poison-system-directories",
-		"-fexperimental-new-pass-manager",
-		"-Wno-compound-token-split-by-macro",
-		"-Wno-deprecated-declarations",
-	},
-
-	// Temporarily disable Wdeprecated-copy. b/191479033
-	clangPostFlags: []string{
-		"-Wno-implicit-int-float-conversion",
-		"-Wno-compound-token-split-by-space",
-		"-Wno-string-concatenation",
-		"-Wno-deprecated-copy",
-		"-Wno-unused-but-set-variable",
-	},
+	),
+	clangPostFlags:    crosCommonClangPostFlags(),
 	newWarningsDir:    "/tmp/fatal_clang_warnings",
 	triciumNitsDir:    "/tmp/linting_output/clang-tidy",
 	crashArtifactsDir: "/tmp/clang_crash_diagnostics",
 }
 
 // Flags to be added to host toolchain.
-var crosHostConfig = &config{
+var crosHostConfig = config{
 	isHostWrapper:    true,
 	clangRootRelPath: "../..",
 	gccRootRelPath:   "../..",
@@ -218,41 +208,22 @@
 		"-Wno-unused-local-typedefs",
 		"-Wno-deprecated-declarations",
 	},
-	// Temporarily disable tautological-*-compare chromium:778316.
-	// Temporarily add no-unknown-warning-option to deal with old clang versions.
 	// crbug.com/1103065: -grecord-gcc-switches pollutes the Goma cache;
 	//   removed that flag for now.
-	// Temporarily disable Wdeprecated-declarations. b/193860318
-	clangFlags: []string{
-		"-Qunused-arguments",
+	clangFlags: append(
+		crosCommonClangFlags(),
+		"-Wno-unused-local-typedefs",
 		"-fno-addrsig",
 		"-fuse-ld=lld",
-		"-fdebug-default-version=5",
-		"-Wno-unused-local-typedefs",
-		"-Wno-tautological-constant-compare",
-		"-Wno-tautological-unsigned-enum-zero-compare",
-		"-Wno-final-dtor-non-final-class",
-		"-Werror=poison-system-directories",
-		"-Wno-unknown-warning-option",
-		"-fexperimental-new-pass-manager",
-		"-Wno-compound-token-split-by-macro",
-		"-Wno-deprecated-declarations",
-	},
-
+	),
 	// Temporarily disable Wdeprecated-copy. b/191479033
-	clangPostFlags: []string{
-		"-Wno-implicit-int-float-conversion",
-		"-Wno-compound-token-split-by-space",
-		"-Wno-string-concatenation",
-		"-Wno-deprecated-copy",
-		"-Wno-unused-but-set-variable",
-	},
+	clangPostFlags:    crosCommonClangPostFlags(),
 	newWarningsDir:    "/tmp/fatal_clang_warnings",
 	triciumNitsDir:    "/tmp/linting_output/clang-tidy",
 	crashArtifactsDir: "/tmp/clang_crash_diagnostics",
 }
 
-var androidConfig = &config{
+var androidConfig = config{
 	isHostWrapper:     false,
 	isAndroidWrapper:  true,
 	gccRootRelPath:    "./",
diff --git a/sys-devel/llvm/files/compiler_wrapper/crash_builds.go b/sys-devel/llvm/files/compiler_wrapper/crash_builds.go
new file mode 100644
index 0000000..147fb36
--- /dev/null
+++ b/sys-devel/llvm/files/compiler_wrapper/crash_builds.go
@@ -0,0 +1,154 @@
+// Copyright 2022 The ChromiumOS Authors.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package main
+
+import (
+	"bytes"
+	"fmt"
+	"io"
+	"regexp"
+)
+
+// ** HEY YOU, PERSON READING THIS! **
+//
+// Are you a dev who wants to make this work locally? Awesome! Please note that this **only** works
+// for Clang. If that's OK, here's a checklist for you:
+// [ ] Set `shouldUseCrashBuildsHeuristic = true` below.
+// [ ] If you want this heuristic to operate during `src_configure` (rare), also set
+// `allowAutoCrashInConfigure` to true.
+// [ ] Modify `shouldAutocrashPostExec` to return `true` when the compiler's output/flags match what
+// you want to crash on, and `false` otherwise.
+// [ ] Run `./install_compiler_wrapper.sh` to install the updated wrapper.
+// [ ] Run whatever command reproduces the error.
+//
+// If you need to make changes to your heuristic, repeat the above steps starting at
+// `./install_compiler_wrapper.sh` until things seem to do what you want.
+const (
+	// Set this to true to use autocrashing logic.
+	shouldUseCrashBuildsHeuristic = false
+	// Set this to true to allow `shouldAutocrashPostExec` to check+crash configure steps.
+	allowAutoCrashInConfigure = false
+)
+
+// shouldAutocrashPostExec returns true if we should automatically crash the compiler. This is
+// called after the compiler is run. If it returns true, we'll re-execute the compiler with the bit
+// of extra code necessary to crash it.
+func shouldAutocrashPostExec(env env, cfg *config, originalCmd *command, runInfo compilerExecInfo) bool {
+	// ** TODO, DEAR READER: ** Fill this in. Below are a few `if false {` blocks that should
+	// work for common use-cases. You're encouraged to change them to `if true {` if they suit
+	// your needs.
+
+	// Return true if `error: some error message` is contained in the run's stderr.
+	if false {
+		return bytes.Contains(runInfo.stderr, []byte("error: some error message"))
+	}
+
+	// Return true if `foo.c:${line_number}: error: some error message` appears in the run's
+	// stderr. Otherwise, return false.
+	if false {
+		r := regexp.MustCompile(`foo\.c:\d+: error: some error message`)
+		return r.Match(runInfo.stderr)
+	}
+
+	// Return true if there's a `-fjust-give-up` flag in the compiler's invocation.
+	if false {
+		for _, flag := range originalCmd.Args {
+			if flag == "-fjust-give-up" {
+				return true
+			}
+		}
+
+		return false
+	}
+
+	panic("Please fill in `shouldAutocrashPostExec` with meaningful logic.")
+}
+
+type compilerExecInfo struct {
+	exitCode       int
+	stdout, stderr []byte
+}
+
+// ** Below here are implementation details. If all you want is autocrashing behavior, you don't
+// need to keep reading. **
+const (
+	autocrashProgramLine = "\n#pragma clang __debug parser_crash"
+)
+
+type buildWithAutocrashPredicates struct {
+	allowInConfigure bool
+	shouldAutocrash  func(env, *config, *command, compilerExecInfo) bool
+}
+
+func buildWithAutocrash(env env, cfg *config, originalCmd *command) (exitCode int, err error) {
+	return buildWithAutocrashImpl(env, cfg, originalCmd, buildWithAutocrashPredicates{
+		allowInConfigure: allowAutoCrashInConfigure,
+		shouldAutocrash:  shouldAutocrashPostExec,
+	})
+}
+
+func buildWithAutocrashImpl(env env, cfg *config, originalCmd *command, preds buildWithAutocrashPredicates) (exitCode int, err error) {
+	stdinBuffer := (*bytes.Buffer)(nil)
+	subprocStdin := io.Reader(nil)
+	invocationUsesStdinAsAFile := needStdinTee(originalCmd)
+	if invocationUsesStdinAsAFile {
+		stdinBuffer = &bytes.Buffer{}
+		if _, err := stdinBuffer.ReadFrom(env.stdin()); err != nil {
+			return 0, wrapErrorwithSourceLocf(err, "prebuffering stdin")
+		}
+		subprocStdin = stdinBuffer
+	} else {
+		subprocStdin = env.stdin()
+	}
+
+	stdoutBuffer := &bytes.Buffer{}
+	stderrBuffer := &bytes.Buffer{}
+	exitCode, err = wrapSubprocessErrorWithSourceLoc(originalCmd,
+		env.run(originalCmd, subprocStdin, stdoutBuffer, stderrBuffer))
+	if err != nil {
+		return 0, err
+	}
+
+	autocrashAllowed := preds.allowInConfigure || !isInConfigureStage(env)
+	crash := autocrashAllowed && preds.shouldAutocrash(env, cfg, originalCmd, compilerExecInfo{
+		exitCode: exitCode,
+		stdout:   stdoutBuffer.Bytes(),
+		stderr:   stderrBuffer.Bytes(),
+	})
+	if !crash {
+		stdoutBuffer.WriteTo(env.stdout())
+		stderrBuffer.WriteTo(env.stderr())
+		return exitCode, nil
+	}
+
+	fmt.Fprintln(env.stderr(), "** Autocrash requested; crashing the compiler...**")
+
+	// `stdinBuffer == nil` implies that `-` wasn't used as a flag.  If `-` isn't used as a
+	// flag, clang will ignore stdin. We want to write our #pragma to stdin, since we can't
+	// reasonably modify the files we're currently compiling.
+	if stdinBuffer == nil {
+		newArgs := []string{}
+		// Clang can't handle `-o ${target}` when handed multiple input files. Since
+		// we expect to crash before emitting anything, remove `-o ${file}` entirely.
+		for i, e := 0, len(originalCmd.Args); i < e; i++ {
+			a := originalCmd.Args[i]
+			if a == "-o" {
+				// Skip the -o here, then skip the following arg in the loop header.
+				i++
+			} else {
+				newArgs = append(newArgs, a)
+			}
+		}
+		// And now add args that instruct clang to read from stdin. In this case, we also
+		// need to tell Clang what language the file is written in; C is as good as anything
+		// for this.
+		originalCmd.Args = append(newArgs, "-x", "c", "-")
+		stdinBuffer = &bytes.Buffer{}
+	}
+
+	stdinBuffer.WriteString(autocrashProgramLine)
+	return wrapSubprocessErrorWithSourceLoc(originalCmd,
+		env.run(originalCmd, stdinBuffer, env.stdout(), env.stderr()))
+}
diff --git a/sys-devel/llvm/files/compiler_wrapper/cros_llvm_next_flags.go b/sys-devel/llvm/files/compiler_wrapper/cros_llvm_next_flags.go
index 870e288..e0b3179 100644
--- a/sys-devel/llvm/files/compiler_wrapper/cros_llvm_next_flags.go
+++ b/sys-devel/llvm/files/compiler_wrapper/cros_llvm_next_flags.go
@@ -1,4 +1,4 @@
-// Copyright 2020 The Chromium OS Authors. All rights reserved.
+// Copyright 2020 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
@@ -7,7 +7,7 @@
 
 package main
 
-// This file defines extra flags for llvm-next testing for Chrome OS. Importantly, these flags don't
+// This file defines extra flags for llvm-next testing for ChromeOS. Importantly, these flags don't
 // apply to Android's llvm-next wrapper. Android's toolchain-utils copy has a
 // `android_llvm_next_flags.go` file downstream that defines its llvm-next arguments. As you can
 // probably infer, `android_llvm_next_flags.go` is only compiled if the `android_llvm_next_flags`
diff --git a/sys-devel/llvm/files/compiler_wrapper/disable_werror_flag.go b/sys-devel/llvm/files/compiler_wrapper/disable_werror_flag.go
index cb770b7..26248f4 100644
--- a/sys-devel/llvm/files/compiler_wrapper/disable_werror_flag.go
+++ b/sys-devel/llvm/files/compiler_wrapper/disable_werror_flag.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/sys-devel/llvm/files/compiler_wrapper/env.go b/sys-devel/llvm/files/compiler_wrapper/env.go
index c8f6ceb..1b4d9b3 100644
--- a/sys-devel/llvm/files/compiler_wrapper/env.go
+++ b/sys-devel/llvm/files/compiler_wrapper/env.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/sys-devel/llvm/files/compiler_wrapper/errors.go b/sys-devel/llvm/files/compiler_wrapper/errors.go
index 18e0fac..468fb6a 100644
--- a/sys-devel/llvm/files/compiler_wrapper/errors.go
+++ b/sys-devel/llvm/files/compiler_wrapper/errors.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/sys-devel/llvm/files/compiler_wrapper/gcc_flags.go b/sys-devel/llvm/files/compiler_wrapper/gcc_flags.go
index 2c553e6..9adc9c0 100644
--- a/sys-devel/llvm/files/compiler_wrapper/gcc_flags.go
+++ b/sys-devel/llvm/files/compiler_wrapper/gcc_flags.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/sys-devel/llvm/files/compiler_wrapper/go_exec.go b/sys-devel/llvm/files/compiler_wrapper/go_exec.go
index 2f2e5ad..8c2b8ce 100644
--- a/sys-devel/llvm/files/compiler_wrapper/go_exec.go
+++ b/sys-devel/llvm/files/compiler_wrapper/go_exec.go
@@ -1,7 +1,8 @@
-// Copyright 2020 The Chromium OS Authors. All rights reserved.
+// Copyright 2020 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+//go:build !libc_exec
 // +build !libc_exec
 
 package main
diff --git a/sys-devel/llvm/files/compiler_wrapper/kernel_bug.go b/sys-devel/llvm/files/compiler_wrapper/kernel_bug.go
index 55817cb..a1c85a7 100644
--- a/sys-devel/llvm/files/compiler_wrapper/kernel_bug.go
+++ b/sys-devel/llvm/files/compiler_wrapper/kernel_bug.go
@@ -1,4 +1,4 @@
-// Copyright 2021 The Chromium OS Authors. All rights reserved.
+// Copyright 2021 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 package main
diff --git a/sys-devel/llvm/files/compiler_wrapper/libc_exec.go b/sys-devel/llvm/files/compiler_wrapper/libc_exec.go
index a7a561b..44326d6 100644
--- a/sys-devel/llvm/files/compiler_wrapper/libc_exec.go
+++ b/sys-devel/llvm/files/compiler_wrapper/libc_exec.go
@@ -1,7 +1,8 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+//go:build libc_exec
 // +build libc_exec
 
 package main
diff --git a/sys-devel/llvm/files/compiler_wrapper/libgcc_flags.go b/sys-devel/llvm/files/compiler_wrapper/libgcc_flags.go
index 72fa838..5e59950 100644
--- a/sys-devel/llvm/files/compiler_wrapper/libgcc_flags.go
+++ b/sys-devel/llvm/files/compiler_wrapper/libgcc_flags.go
@@ -1,4 +1,4 @@
-// Copyright 2021 The Chromium OS Authors. All rights reserved.
+// Copyright 2021 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/sys-devel/llvm/files/compiler_wrapper/main.go b/sys-devel/llvm/files/compiler_wrapper/main.go
index 046cf5a..a0981db 100644
--- a/sys-devel/llvm/files/compiler_wrapper/main.go
+++ b/sys-devel/llvm/files/compiler_wrapper/main.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/sys-devel/llvm/files/compiler_wrapper/pie_flags.go b/sys-devel/llvm/files/compiler_wrapper/pie_flags.go
deleted file mode 100644
index 9675f6e..0000000
--- a/sys-devel/llvm/files/compiler_wrapper/pie_flags.go
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package main
-
-func processPieFlags(builder *commandBuilder) {
-	fpieMap := map[string]bool{"-D__KERNEL__": true, "-fPIC": true, "-fPIE": true, "-fno-PIC": true, "-fno-PIE": true,
-		"-fno-pic": true, "-fno-pie": true, "-fpic": true, "-fpie": true, "-nopie": true,
-		"-nostartfiles": true, "-nostdlib": true, "-pie": true, "-static": true}
-
-	pieMap := map[string]bool{"-D__KERNEL__": true, "-A": true, "-fno-PIC": true, "-fno-PIE": true, "-fno-pic": true, "-fno-pie": true,
-		"-nopie": true, "-nostartfiles": true, "-nostdlib": true, "-pie": true, "-r": true, "--shared": true,
-		"-shared": true, "-static": true}
-
-	pie := false
-	fpie := false
-	if builder.target.abi != "eabi" {
-		for _, arg := range builder.args {
-			if arg.fromUser {
-				if fpieMap[arg.value] {
-					fpie = true
-				}
-				if pieMap[arg.value] {
-					pie = true
-				}
-			}
-		}
-	}
-	builder.transformArgs(func(arg builderArg) string {
-		// Remove -nopie as it is a non-standard flag.
-		if arg.value == "-nopie" {
-			return ""
-		}
-		if fpie && !arg.fromUser && arg.value == "-fPIE" {
-			return ""
-		}
-		if pie && !arg.fromUser && arg.value == "-pie" {
-			return ""
-		}
-		return arg.value
-	})
-}
diff --git a/sys-devel/llvm/files/compiler_wrapper/print_cmdline_flag.go b/sys-devel/llvm/files/compiler_wrapper/print_cmdline_flag.go
index e2092ed..c137535 100644
--- a/sys-devel/llvm/files/compiler_wrapper/print_cmdline_flag.go
+++ b/sys-devel/llvm/files/compiler_wrapper/print_cmdline_flag.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/sys-devel/llvm/files/compiler_wrapper/print_config_flag.go b/sys-devel/llvm/files/compiler_wrapper/print_config_flag.go
index 9ab9f6b..bcb2394 100644
--- a/sys-devel/llvm/files/compiler_wrapper/print_config_flag.go
+++ b/sys-devel/llvm/files/compiler_wrapper/print_config_flag.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/sys-devel/llvm/files/compiler_wrapper/remote_build_flags.go b/sys-devel/llvm/files/compiler_wrapper/remote_build_flags.go
index fc26c93..7cbddfd 100644
--- a/sys-devel/llvm/files/compiler_wrapper/remote_build_flags.go
+++ b/sys-devel/llvm/files/compiler_wrapper/remote_build_flags.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/sys-devel/llvm/files/compiler_wrapper/rusage_flag.go b/sys-devel/llvm/files/compiler_wrapper/rusage_flag.go
index 6346960..b2c2a4a 100644
--- a/sys-devel/llvm/files/compiler_wrapper/rusage_flag.go
+++ b/sys-devel/llvm/files/compiler_wrapper/rusage_flag.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/sys-devel/llvm/files/compiler_wrapper/sanitizer_flags.go b/sys-devel/llvm/files/compiler_wrapper/sanitizer_flags.go
index da0a64b..163b0f4 100644
--- a/sys-devel/llvm/files/compiler_wrapper/sanitizer_flags.go
+++ b/sys-devel/llvm/files/compiler_wrapper/sanitizer_flags.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
@@ -8,34 +8,79 @@
 	"strings"
 )
 
+// Returns whether the flag turns on 'invasive' sanitizers. These are sanitizers incompatible with
+// things like FORTIFY, since they require meaningful runtime support, intercept libc calls, etc.
+func isInvasiveSanitizerFlag(flag string) bool {
+	// There are a few valid spellings here:
+	//   -fsanitize=${sanitizer_list}, which enables the given sanitizers
+	//   -fsanitize-trap=${sanitizer_list}, which specifies sanitizer behavior _if_ these
+	//     sanitizers are already enabled.
+	//   -fsanitize-recover=${sanitizer_list}, which also specifies sanitizer behavior _if_
+	//     these sanitizers are already enabled.
+	//   -fsanitize-ignorelist=/path/to/file, which designates a config file for sanitizers.
+	//
+	// All we care about is the first one, since that's what actually enables sanitizers. Clang
+	// does not accept a `-fsanitize ${sanitizer_list}` spelling of this flag.
+	fsanitize := "-fsanitize="
+	if !strings.HasPrefix(flag, fsanitize) {
+		return false
+	}
+
+	sanitizers := flag[len(fsanitize):]
+	if sanitizers == "" {
+		return false
+	}
+
+	for _, sanitizer := range strings.Split(sanitizers, ",") {
+		// Keep an allowlist of sanitizers known to not cause issues.
+		switch sanitizer {
+		case "alignment", "array-bounds", "bool", "bounds", "builtin", "enum",
+			"float-cast-overflow", "integer-divide-by-zero", "local-bounds",
+			"nullability", "nullability-arg", "nullability-assign",
+			"nullability-return", "null", "return", "returns-nonnull-attribute",
+			"shift-base", "shift-exponent", "shift", "unreachable", "vla-bound":
+			// These sanitizers are lightweight. Ignore them.
+		default:
+			return true
+		}
+	}
+	return false
+}
+
 func processSanitizerFlags(builder *commandBuilder) {
 	hasSanitizeFlags := false
+	// TODO: This doesn't take -fno-sanitize flags into account. This doesn't seem to be an
+	// issue in practice.
 	for _, arg := range builder.args {
-		// TODO: This should probably be -fsanitize= to not match on
-		// e.g. -fsanitize-blocklist
-		if arg.fromUser {
-			if strings.HasPrefix(arg.value, "-fsanitize") {
-				hasSanitizeFlags = true
-			}
+		if arg.fromUser && isInvasiveSanitizerFlag(arg.value) {
+			hasSanitizeFlags = true
+			break
 		}
 	}
-	if hasSanitizeFlags {
-		// Flags not supported by sanitizers (ASan etc.)
-		unsupportedSanitizerFlags := map[string]bool{
-			"-D_FORTIFY_SOURCE=1": true,
-			"-D_FORTIFY_SOURCE=2": true,
-			"-Wl,--no-undefined":  true,
-			"-Wl,-z,defs":         true,
-		}
 
-		builder.transformArgs(func(arg builderArg) string {
-			// TODO: This is a bug in the old wrapper to not filter
-			// non user args for gcc. Fix this once we don't compare to the old wrapper anymore.
-			if (builder.target.compilerType != gccType || arg.fromUser) &&
-				unsupportedSanitizerFlags[arg.value] {
-				return ""
-			}
-			return arg.value
-		})
+	if !hasSanitizeFlags {
+		return
 	}
+
+	// Flags not supported by sanitizers (ASan etc.)
+	unsupportedSanitizerFlags := map[string]bool{
+		"-D_FORTIFY_SOURCE=1": true,
+		"-D_FORTIFY_SOURCE=2": true,
+		"-Wl,--no-undefined":  true,
+		"-Wl,-z,defs":         true,
+	}
+
+	builder.transformArgs(func(arg builderArg) string {
+		// TODO: This is a bug in the old wrapper to not filter
+		// non user args for gcc. Fix this once we don't compare to the old wrapper anymore.
+		if (builder.target.compilerType != gccType || arg.fromUser) &&
+			unsupportedSanitizerFlags[arg.value] {
+			return ""
+		}
+		return arg.value
+	})
+
+	builder.filterArgPairs(func(arg1, arg2 builderArg) bool {
+		return !(arg1.value == "-Wl,-z" && arg2.value == "-Wl,defs")
+	})
 }
diff --git a/sys-devel/llvm/files/compiler_wrapper/stackprotector_flags.go b/sys-devel/llvm/files/compiler_wrapper/stackprotector_flags.go
index 2460572..a41bdaf 100644
--- a/sys-devel/llvm/files/compiler_wrapper/stackprotector_flags.go
+++ b/sys-devel/llvm/files/compiler_wrapper/stackprotector_flags.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/sys-devel/llvm/files/compiler_wrapper/sysroot_flag.go b/sys-devel/llvm/files/compiler_wrapper/sysroot_flag.go
index e0583b2..58d010d 100644
--- a/sys-devel/llvm/files/compiler_wrapper/sysroot_flag.go
+++ b/sys-devel/llvm/files/compiler_wrapper/sysroot_flag.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/sys-devel/llvm/files/compiler_wrapper/thumb_flags.go b/sys-devel/llvm/files/compiler_wrapper/thumb_flags.go
index 0edaf4f..2afd15a 100644
--- a/sys-devel/llvm/files/compiler_wrapper/thumb_flags.go
+++ b/sys-devel/llvm/files/compiler_wrapper/thumb_flags.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/sys-devel/llvm/files/compiler_wrapper/unsupported_flags.go b/sys-devel/llvm/files/compiler_wrapper/unsupported_flags.go
index 48fee2f..364ee07 100644
--- a/sys-devel/llvm/files/compiler_wrapper/unsupported_flags.go
+++ b/sys-devel/llvm/files/compiler_wrapper/unsupported_flags.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/sys-devel/llvm/files/compiler_wrapper/x64_flags.go b/sys-devel/llvm/files/compiler_wrapper/x64_flags.go
index 40505cf..3d0db70 100644
--- a/sys-devel/llvm/files/compiler_wrapper/x64_flags.go
+++ b/sys-devel/llvm/files/compiler_wrapper/x64_flags.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Copyright 2019 The ChromiumOS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/sys-devel/llvm/files/e8361ac175bc6c911cd03e74ecd31be40a8cae37.patch b/sys-devel/llvm/files/e8361ac175bc6c911cd03e74ecd31be40a8cae37.patch
new file mode 100644
index 0000000..1a3c7a5
--- /dev/null
+++ b/sys-devel/llvm/files/e8361ac175bc6c911cd03e74ecd31be40a8cae37.patch
@@ -0,0 +1,120 @@
+From e8361ac175bc6c911cd03e74ecd31be40a8cae37 Mon Sep 17 00:00:00 2001
+From: Jordan R Abrahams-Whitehead <ajordanr@google.org>
+Date: Wed, 24 Nov 2021 15:31:40 +0900
+Subject: [PATCH] v2: Crash when dereferencing nullopt for std::optional
+
+Updated for r457743.
+Original author hscham <hscham@chromium.org>.
+
+TODO(b/192529039): this is a temporary patch to address security
+concerns when migrating base:Optional and absl::optional to
+std::optional. libcxx upstream is working on decoupling hardening and
+debugging asserts and this patch should be replaced by the upstream
+patch upon completion.
+---
+ libcxx/include/optional | 32 ++++++++++++++++++++++++++++++++
+ 1 file changed, 32 insertions(+)
+
+diff --git a/libcxx/include/optional b/libcxx/include/optional
+index 8dc1a136fdaf..1772d2810525 100644
+--- a/libcxx/include/optional
++++ b/libcxx/include/optional
+@@ -158,6 +158,8 @@ template<class T>
+ 
+ */
+ 
++#include <stdio.h>
++
+ #include <__assert> // all public C++ headers provide the assertion handler
+ #include <__availability>
+ #include <__concepts/invocable.h>
+@@ -923,56 +925,86 @@ public:
+     }
+ 
+     _LIBCPP_INLINE_VISIBILITY
++    _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
+     constexpr
+     add_pointer_t<value_type const>
+     operator->() const
+     {
+         _LIBCPP_ASSERT(this->has_value(), "optional operator-> called on a disengaged value");
++        if (!this->has_value()) {
++          fprintf(stderr, "optional operator-> called on a disengaged value\n");
++          __builtin_trap();
++        }
+         return _VSTD::addressof(this->__get());
+     }
+ 
+     _LIBCPP_INLINE_VISIBILITY
++    _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
+     constexpr
+     add_pointer_t<value_type>
+     operator->()
+     {
+         _LIBCPP_ASSERT(this->has_value(), "optional operator-> called on a disengaged value");
++        if (!this->has_value()) {
++          fprintf(stderr, "optional operator-> called on a disengaged value\n");
++          __builtin_trap();
++        }
+         return _VSTD::addressof(this->__get());
+     }
+ 
+     _LIBCPP_INLINE_VISIBILITY
++    _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
+     constexpr
+     const value_type&
+     operator*() const& noexcept
+     {
+         _LIBCPP_ASSERT(this->has_value(), "optional operator* called on a disengaged value");
++        if (!this->has_value()) {
++          fprintf(stderr, "optional operator* called on a disengaged value\n");
++          __builtin_trap();
++        }
+         return this->__get();
+     }
+ 
+     _LIBCPP_INLINE_VISIBILITY
++    _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
+     constexpr
+     value_type&
+     operator*() & noexcept
+     {
+         _LIBCPP_ASSERT(this->has_value(), "optional operator* called on a disengaged value");
++        if (!this->has_value()) {
++          fprintf(stderr, "optional operator* called on a disengaged value\n");
++          __builtin_trap();
++        }
+         return this->__get();
+     }
+ 
+     _LIBCPP_INLINE_VISIBILITY
++    _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
+     constexpr
+     value_type&&
+     operator*() && noexcept
+     {
+         _LIBCPP_ASSERT(this->has_value(), "optional operator* called on a disengaged value");
++        if (!this->has_value()) {
++          fprintf(stderr, "optional operator* called on a disengaged value\n");
++          __builtin_trap();
++        }
+         return _VSTD::move(this->__get());
+     }
+ 
+     _LIBCPP_INLINE_VISIBILITY
++    _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
+     constexpr
+     const value_type&&
+     operator*() const&& noexcept
+     {
+         _LIBCPP_ASSERT(this->has_value(), "optional operator* called on a disengaged value");
++        if (!this->has_value()) {
++          fprintf(stderr, "optional operator* called on a disengaged value\n");
++          __builtin_trap();
++        }
+         return _VSTD::move(this->__get());
+     }
+ 
+-- 
+2.35.1.1094.g7c7d902a7c-goog
+
diff --git a/sys-devel/llvm/files/llvm-leak-allowlist.v4.patch b/sys-devel/llvm/files/llvm-leak-allowlist.v4.patch
new file mode 100644
index 0000000..0a9f9330
--- /dev/null
+++ b/sys-devel/llvm/files/llvm-leak-allowlist.v4.patch
@@ -0,0 +1,78 @@
+This adds an allowlist of packages that have known memory leaks.
+So that the leak detector will not report memory leaks from these packages.
+diff --git a/lib/sanitizer_common/sanitizer_flags.inc b/lib/sanitizer_common/sanitizer_flags.inc
+index 58f7f37..bf97783 100644
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
+@@ -152,7 +152,7 @@ COMMON_FLAG(const char *, coverage_dir, ".",
+ COMMON_FLAG(bool, full_address_space, false,
+             "Sanitize complete address space; "
+             "by default kernel area on 32-bit platforms will not be sanitized")
+-COMMON_FLAG(bool, print_suppressions, true,
++COMMON_FLAG(bool, print_suppressions, false,
+             "Print matched suppressions at exit.")
+ COMMON_FLAG(
+     bool, disable_coredump, (SANITIZER_WORDSIZE == 64),
+
+diff --git a/lib/lsan/lsan_default_suppression.h b/lib/lsan/lsan_default_suppression.h
+new file mode 100644
+index 0000000..91aa484
+--- /dev/null
++++ b/compiler-rt/lib/lsan/lsan_default_suppression.h
+@@ -0,0 +1,34 @@
++namespace __lsan {
++
++char kLSanDefaultSuppressions[] =
++// ================ Leaks in third-party code ================
++
++// False positives in libfontconfig. http://crbug.com/39050
++"leak:libfontconfig\n"
++
++// Leaks in Nvidia's libGL.
++"leak:libGL.so\n"
++
++"leak:libnssutil3\n"
++"leak:libnspr4\n"
++"leak:libnss3\n"
++"leak:libplds4\n"
++"leak:libnssckbi\n"
++
++// XRandR has several one time leaks.
++"leak:libxrandr\n"
++
++// xrandr leak. http://crbug.com/119677
++"leak:XRRFindDisplay\n"
++
++// leak on session_manager. http://crbug.com/378805
++"leak:/sbin/session_manager\n"
++
++// leak on cryptohome. http://crbug.com/508281
++"leak:/usr/sbin/cryptohome\n"
++
++// leak on buffet. http://crbug.com/473700
++//"leak:/usr/bin/buffet\n"
++// End of suppressions.
++;  // Please keep this semicolon.
++}
+
+diff --git a/compiler-rt/lib/lsan/lsan_common.cpp b/compiler-rt/lib/lsan/lsan_common.cpp
+index ac7536757743..bb4b5c5a6169 100644
+--- a/compiler-rt/lib/lsan/lsan_common.cpp
++++ b/compiler-rt/lib/lsan/lsan_common.cpp
+@@ -12,6 +12,7 @@
+ //===----------------------------------------------------------------------===//
+ 
+ #include "lsan_common.h"
++#include "lsan_default_suppression.h"
+ 
+ #include "sanitizer_common/sanitizer_common.h"
+ #include "sanitizer_common/sanitizer_flag_parser.h"
+@@ -126,6 +127,8 @@ void LeakSuppressionContext::LazyInit() {
+     if (&__lsan_default_suppressions)
+       context.Parse(__lsan_default_suppressions());
+     context.Parse(kStdSuppressions);
++    context.Parse(kLSanDefaultSuppressions);
++
+     if (flags()->use_tls && flags()->use_ld_allocations)
+       suppress_module = GetLinker();
+   } 
diff --git a/sys-devel/llvm/files/patch_manager/failure_modes.py b/sys-devel/llvm/files/patch_manager/failure_modes.py
index 1e05dfc..13f0a99 100644
--- a/sys-devel/llvm/files/patch_manager/failure_modes.py
+++ b/sys-devel/llvm/files/patch_manager/failure_modes.py
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Copyright 2019 The ChromiumOS Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
diff --git a/sys-devel/llvm/files/patch_manager/patch_manager.py b/sys-devel/llvm/files/patch_manager/patch_manager.py
index 3c83fa9..2893d61 100755
--- a/sys-devel/llvm/files/patch_manager/patch_manager.py
+++ b/sys-devel/llvm/files/patch_manager/patch_manager.py
@@ -1,154 +1,81 @@
 #!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Copyright 2019 The ChromiumOS Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
 """A manager for patches."""
 
-from __future__ import print_function
-
 import argparse
+import enum
 import json
 import os
-import subprocess
+from pathlib import Path
 import sys
-from collections import namedtuple
+from typing import Any, Dict, IO, Iterable, List, Optional, Tuple
 
-import get_llvm_hash
 from failure_modes import FailureModes
-from subprocess_helpers import check_call
+import get_llvm_hash
+import patch_utils
 from subprocess_helpers import check_output
 
 
-def is_directory(dir_path):
-  """Validates that the argument passed into 'argparse' is a directory."""
+class GitBisectionCode(enum.IntEnum):
+  """Git bisection exit codes.
 
-  if not os.path.isdir(dir_path):
-    raise ValueError('Path is not a directory: %s' % dir_path)
-
-  return dir_path
+  Used when patch_manager.py is in the bisection mode,
+  as we need to return in what way we should handle
+  certain patch failures.
+  """
+  GOOD = 0
+  """All patches applied successfully."""
+  BAD = 1
+  """The tested patch failed to apply."""
+  SKIP = 125
 
 
-def is_patch_metadata_file(patch_metadata_file):
-  """Valides the argument into 'argparse' is a patch file."""
-
-  if not os.path.isfile(patch_metadata_file):
-    raise ValueError(
-        'Invalid patch metadata file provided: %s' % patch_metadata_file)
-
-  if not patch_metadata_file.endswith('.json'):
-    raise ValueError(
-        'Patch metadata file does not end in ".json": %s' % patch_metadata_file)
-
-  return patch_metadata_file
-
-
-def is_valid_failure_mode(failure_mode):
-  """Validates that the failure mode passed in is correct."""
-
-  cur_failure_modes = [mode.value for mode in FailureModes]
-
-  if failure_mode not in cur_failure_modes:
-    raise ValueError('Invalid failure mode provided: %s' % failure_mode)
-
-  return failure_mode
-
-
-def EnsureBisectModeAndSvnVersionAreSpecifiedTogether(failure_mode,
-                                                      good_svn_version):
-  """Validates that 'good_svn_version' is passed in only for bisection."""
-
-  if failure_mode != FailureModes.BISECT_PATCHES.value and good_svn_version:
-    raise ValueError('"good_svn_version" is only available for bisection.')
-  elif failure_mode == FailureModes.BISECT_PATCHES.value and \
-      not good_svn_version:
-    raise ValueError('A good SVN version is required for bisection (used by'
-                     '"git bisect start".')
-
-
-def GetCommandLineArgs():
+def GetCommandLineArgs(sys_argv: Optional[List[str]]):
   """Get the required arguments from the command line."""
 
   # Create parser and add optional command-line arguments.
   parser = argparse.ArgumentParser(description='A manager for patches.')
 
-  # Add argument for the last good SVN version which is required by
-  # `git bisect start` (only valid for bisection mode).
-  parser.add_argument(
-      '--good_svn_version',
-      type=int,
-      help='INTERNAL USE ONLY... (used for bisection.)')
-
-  # Add argument for the number of patches it iterate. Only used when performing
-  # `git bisect run`.
-  parser.add_argument(
-      '--num_patches_to_iterate', type=int, help=argparse.SUPPRESS)
-
-  # Add argument for whether bisection should continue. Only used for
-  # 'bisect_patches.'
-  parser.add_argument(
-      '--continue_bisection',
-      type=bool,
-      default=False,
-      help='Determines whether bisection should continue after successfully '
-      'bisecting a patch (default: %(default)s) - only used for '
-      '"bisect_patches"')
-
-  # Trust src_path HEAD and svn_version.
-  parser.add_argument(
-      '--use_src_head',
-      action='store_true',
-      help='Use the HEAD of src_path directory as is, not necessarily the same '
-      'as the svn_version of upstream.')
-
   # Add argument for the LLVM version to use for patch management.
   parser.add_argument(
       '--svn_version',
       type=int,
-      required=True,
       help='the LLVM svn version to use for patch management (determines '
-      'whether a patch is applicable)')
+      'whether a patch is applicable). Required when not bisecting.')
 
   # Add argument for the patch metadata file that is in $FILESDIR.
   parser.add_argument(
       '--patch_metadata_file',
       required=True,
-      type=is_patch_metadata_file,
+      type=Path,
       help='the absolute path to the .json file in "$FILESDIR/" of the '
       'package which has all the patches and their metadata if applicable')
 
-  # Add argument for the absolute path to the ebuild's $FILESDIR path.
-  # Example: '.../sys-devel/llvm/files/'.
-  parser.add_argument(
-      '--filesdir_path',
-      required=True,
-      type=is_directory,
-      help='the absolute path to the ebuild "files/" directory')
-
   # Add argument for the absolute path to the unpacked sources.
-  parser.add_argument(
-      '--src_path',
-      required=True,
-      type=is_directory,
-      help='the absolute path to the unpacked LLVM sources')
+  parser.add_argument('--src_path',
+                      required=True,
+                      type=Path,
+                      help='the absolute path to the unpacked LLVM sources')
 
   # Add argument for the mode of the patch manager when handling failing
   # applicable patches.
   parser.add_argument(
       '--failure_mode',
-      default=FailureModes.FAIL.value,
-      type=is_valid_failure_mode,
-      help='the mode of the patch manager when handling failed patches ' \
-          '(default: %(default)s)')
+      default=FailureModes.FAIL,
+      type=FailureModes,
+      help='the mode of the patch manager when handling failed patches '
+      '(default: %(default)s)')
+  parser.add_argument(
+      '--test_patch',
+      default='',
+      help='The rel_patch_path of the patch we want to bisect the '
+      'application of. Not used in other modes.')
 
   # Parse the command line.
-  args_output = parser.parse_args()
-
-  EnsureBisectModeAndSvnVersionAreSpecifiedTogether(
-      args_output.failure_mode, args_output.good_svn_version)
-
-  return args_output
+  return parser.parse_args(sys_argv)
 
 
 def GetHEADSVNVersion(src_path):
@@ -163,124 +90,11 @@
   return version
 
 
-def VerifyHEADIsTheSameAsSVNVersion(src_path, svn_version):
-  """Verifies that HEAD's SVN version matches 'svn_version'."""
-
-  head_svn_version = GetHEADSVNVersion(src_path)
-
-  if head_svn_version != svn_version:
-    raise ValueError('HEAD\'s SVN version %d does not match "svn_version"'
-                     ' %d, please move HEAD to "svn_version"s\' git hash.' %
-                     (head_svn_version, svn_version))
-
-
-def GetPathToPatch(filesdir_path, rel_patch_path):
-  """Gets the absolute path to a patch in $FILESDIR.
-
-  Args:
-    filesdir_path: The absolute path to $FILESDIR.
-    rel_patch_path: The relative path to the patch in '$FILESDIR/'.
-
-  Returns:
-    The absolute path to the patch in $FILESDIR.
-
-  Raises:
-    ValueError: Unable to find the path to the patch in $FILESDIR.
-  """
-
-  if not os.path.isdir(filesdir_path):
-    raise ValueError('Invalid path to $FILESDIR provided: %s' % filesdir_path)
-
-  # Combine $FILESDIR + relative path of patch to $FILESDIR.
-  patch_path = os.path.join(filesdir_path, rel_patch_path)
-
-  if not os.path.isfile(patch_path):
-    raise ValueError('The absolute path %s to the patch %s does not exist' %
-                     (patch_path, rel_patch_path))
-
-  return patch_path
-
-
-def GetPatchMetadata(patch_dict):
-  """Gets the patch's metadata.
-
-  Args:
-    patch_dict: A dictionary that has the patch metadata.
-
-  Returns:
-    A tuple that contains the metadata values.
-  """
-
-  # Get the metadata values of a patch if possible.
-  start_version = patch_dict.get('start_version', 0)
-  end_version = patch_dict.get('end_version', None)
-  is_critical = patch_dict.get('is_critical', False)
-
-  return start_version, end_version, is_critical
-
-
-def ApplyPatch(src_path, patch_path):
-  """Attempts to apply the patch.
-
-  Args:
-    src_path: The absolute path to the unpacked sources of the package.
-    patch_path: The absolute path to the patch in $FILESDIR/
-
-  Returns:
-    A boolean where 'True' means that the patch applied fine or 'False' means
-    that the patch failed to apply.
-  """
-
-  if not os.path.isdir(src_path):
-    raise ValueError('Invalid src path provided: %s' % src_path)
-
-  if not os.path.isfile(patch_path):
-    raise ValueError('Invalid patch file provided: %s' % patch_path)
-
-  # Test the patch with '--dry-run' before actually applying the patch.
-  test_patch_cmd = [
-      'patch', '--dry-run', '-d', src_path, '-f', '-p1', '-E',
-      '--no-backup-if-mismatch', '-i', patch_path
-  ]
-
-  # Cmd to apply a patch in the src unpack path.
-  apply_patch_cmd = [
-      'patch', '-d', src_path, '-f', '-p1', '-E', '--no-backup-if-mismatch',
-      '-i', patch_path
-  ]
-
-  try:
-    check_output(test_patch_cmd)
-
-  # If the mode is 'continue', then catching the exception makes sure that
-  # the program does not exit on the first failed applicable patch.
-  except subprocess.CalledProcessError:
-    # Test run on the patch failed to apply.
-    return False
-
-  # Test run succeeded on the patch.
-  check_output(apply_patch_cmd)
-
-  return True
-
-
-def UpdatePatchMetadataFile(patch_metadata_file, patches):
-  """Updates the .json file with unchanged and at least one changed patch.
-
-  Args:
-    patch_metadata_file: The absolute path to the .json file that has all the
-    patches and its metadata.
-    patches: A list of patches whose metadata were or were not updated.
-
-  Raises:
-    ValueError: The patch metadata file does not have the correct extension.
-  """
-
-  if not patch_metadata_file.endswith('.json'):
-    raise ValueError('File does not end in ".json": %s' % patch_metadata_file)
-
-  with open(patch_metadata_file, 'w') as patch_file:
-    json.dump(patches, patch_file, indent=4, separators=(',', ': '))
+def _WriteJsonChanges(patches: List[Dict[str, Any]], file_io: IO[str]):
+  """Write JSON changes to file, does not acquire new file lock."""
+  json.dump(patches, file_io, indent=4, separators=(',', ': '))
+  # Need to add a newline as json.dump omits it.
+  file_io.write('\n')
 
 
 def GetCommitHashesForBisection(src_path, good_svn_version, bad_svn_version):
@@ -293,421 +107,214 @@
   return good_commit_hash, bad_commit_hash
 
 
-def PerformBisection(src_path, good_commit, bad_commit, svn_version,
-                     patch_metadata_file, filesdir_path, num_patches):
-  """Performs bisection to determine where a patch stops applying."""
+def RemoveOldPatches(svn_version: int, llvm_src_dir: Path,
+                     patches_json_fp: Path):
+  """Remove patches that don't and will never apply for the future.
 
-  start_cmd = [
-      'git', '-C', src_path, 'bisect', 'start', bad_commit, good_commit
-  ]
-
-  check_output(start_cmd)
-
-  run_cmd = [
-      'git', '-C', src_path, 'bisect', 'run',
-      os.path.abspath(__file__), '--svn_version',
-      '%d' % svn_version, '--patch_metadata_file', patch_metadata_file,
-      '--filesdir_path', filesdir_path, '--src_path', src_path,
-      '--failure_mode', 'internal_bisection', '--num_patches_to_iterate',
-      '%d' % num_patches
-  ]
-
-  check_call(run_cmd)
-
-  # Successfully bisected the patch, so retrieve the SVN version from the
-  # commit message.
-  get_bad_commit_hash_cmd = [
-      'git', '-C', src_path, 'rev-parse', 'refs/bisect/bad'
-  ]
-
-  git_hash = check_output(get_bad_commit_hash_cmd)
-
-  end_cmd = ['git', '-C', src_path, 'bisect', 'reset']
-
-  check_output(end_cmd)
-
-  # `git bisect run` returns the bad commit hash and the commit message.
-  version = get_llvm_hash.GetVersionFrom(src_path, git_hash.rstrip())
-
-  return version
-
-
-def CleanSrcTree(src_path):
-  """Cleans the source tree of the changes made in 'src_path'."""
-
-  reset_src_tree_cmd = ['git', '-C', src_path, 'reset', 'HEAD', '--hard']
-
-  check_output(reset_src_tree_cmd)
-
-  clean_src_tree_cmd = ['git', '-C', src_path, 'clean', '-fd']
-
-  check_output(clean_src_tree_cmd)
-
-
-def SaveSrcTreeState(src_path):
-  """Stashes the changes made so far to the source tree."""
-
-  save_src_tree_cmd = ['git', '-C', src_path, 'stash', '-a']
-
-  check_output(save_src_tree_cmd)
-
-
-def RestoreSrcTreeState(src_path, bad_commit_hash):
-  """Restores the changes made to the source tree."""
-
-  checkout_cmd = ['git', '-C', src_path, 'checkout', bad_commit_hash]
-
-  check_output(checkout_cmd)
-
-  get_changes_cmd = ['git', '-C', src_path, 'stash', 'pop']
-
-  check_output(get_changes_cmd)
-
-
-def HandlePatches(svn_version,
-                  patch_metadata_file,
-                  filesdir_path,
-                  src_path,
-                  mode,
-                  good_svn_version=None,
-                  num_patches_to_iterate=None,
-                  continue_bisection=False):
-  """Handles the patches in the .json file for the package.
+  Patches are determined to be "old" via the "is_old" method for
+  each patch entry.
 
   Args:
-    svn_version: The LLVM version to use for patch management.
-    patch_metadata_file: The absolute path to the .json file in '$FILESDIR/'
-    that has all the patches and their metadata.
-    filesdir_path: The absolute path to $FILESDIR.
-    src_path: The absolute path to the unpacked destination of the package.
-    mode: The action to take when an applicable patch failed to apply.
-      Ex: 'FailureModes.FAIL'
-    good_svn_version: Only used by 'bisect_patches' which tells
-    `git bisect start` the good version.
-    num_patches_to_iterate: The number of patches to iterate in the .JSON file
-    (internal use). Only used by `git bisect run`.
-    continue_bisection: Only used for 'bisect_patches' mode. If flag is set,
-    then bisection will continue to the next patch when successfully bisected a
-    patch.
+    svn_version: LLVM SVN version.
+    llvm_src_dir: LLVM source directory.
+    patches_json_fp: Location to edit patches on.
+  """
+  with patches_json_fp.open(encoding='utf-8') as f:
+    patches_list = json.load(f)
+  patch_entries = (patch_utils.PatchEntry.from_dict(llvm_src_dir, elem)
+                   for elem in patches_list)
+  oldness = [(entry, entry.is_old(svn_version)) for entry in patch_entries]
+  filtered_entries = [entry.to_dict() for entry, old in oldness if not old]
+  with patch_utils.atomic_write(patches_json_fp, encoding='utf-8') as f:
+    _WriteJsonChanges(filtered_entries, f)
+  removed_entries = [entry for entry, old in oldness if old]
+  plural_patches = 'patch' if len(removed_entries) == 1 else 'patches'
+  print(f'Removed {len(removed_entries)} old {plural_patches}:')
+  for r in removed_entries:
+    print(f'- {r.rel_patch_path}: {r.title()}')
+
+
+def UpdateVersionRanges(svn_version: int, llvm_src_dir: Path,
+                        patches_json_fp: Path):
+  """Reduce the version ranges of failing patches.
+
+  Patches which fail to apply will have their 'version_range.until'
+  field reduced to the passed in svn_version.
+
+  Modifies the contents of patches_json_fp.
+
+  Ars:
+    svn_version: LLVM revision number.
+    llvm_src_dir: llvm-project directory path.
+    patches_json_fp: Filepath to the PATCHES.json file.
+  """
+  with patches_json_fp.open(encoding='utf-8') as f:
+    patch_entries = patch_utils.json_to_patch_entries(
+        patches_json_fp.parent,
+        f,
+    )
+  modified_entries = UpdateVersionRangesWithEntries(svn_version, llvm_src_dir,
+                                                    patch_entries)
+  with patch_utils.atomic_write(patches_json_fp, encoding='utf-8') as f:
+    _WriteJsonChanges([p.to_dict() for p in patch_entries], f)
+  for entry in modified_entries:
+    print(f'Stopped applying {entry.rel_patch_path} ({entry.title()}) '
+          f'for r{svn_version}')
+
+
+def UpdateVersionRangesWithEntries(
+    svn_version: int, llvm_src_dir: Path,
+    patch_entries: Iterable[patch_utils.PatchEntry]
+) -> List[patch_utils.PatchEntry]:
+  """Test-able helper for UpdateVersionRanges.
+
+  Args:
+    svn_version: LLVM revision number.
+    llvm_src_dir: llvm-project directory path.
+    patch_entries: PatchEntry objects to modify.
 
   Returns:
-    Depending on the mode, 'None' would be returned if everything went well or
-    the .json file was not updated. Otherwise, a list or multiple lists would
-    be returned that indicates what has changed.
+    A list of PatchEntry objects which were modified.
 
-  Raises:
-    ValueError: The patch metadata file does not exist or does not end with
-    '.json' or the absolute path to $FILESDIR does not exist or the unpacked
-    path does not exist or if the mode is 'fail', then an applicable patch
-    failed to apply.
+  Post:
+    Modifies patch_entries in place.
   """
-
-  # A flag for whether the mode specified would possible modify the patches.
-  can_modify_patches = False
-
-  # 'fail' or 'continue' mode would not modify a patch's metadata, so the .json
-  # file would stay the same.
-  if mode != FailureModes.FAIL and mode != FailureModes.CONTINUE:
-    can_modify_patches = True
-
-  # A flag that determines whether at least one patch's metadata was
-  # updated due to the mode that is passed in.
-  updated_patch = False
-
-  # A list of patches that will be in the updated .json file.
-  applicable_patches = []
-
-  # A list of patches that successfully applied.
-  applied_patches = []
-
-  # A list of patches that were disabled.
-  disabled_patches = []
-
-  # A list of bisected patches.
-  bisected_patches = []
-
-  # A list of non applicable patches.
-  non_applicable_patches = []
-
-  # A list of patches that will not be included in the updated .json file
-  removed_patches = []
-
-  # Whether the patch metadata file was modified where 'None' means that the
-  # patch metadata file was not modified otherwise the absolute path to the
-  # patch metadata file is stored.
-  modified_metadata = None
-
-  # A list of patches that failed to apply.
-  failed_patches = []
-
-  with open(patch_metadata_file) as patch_file:
-    patch_file_contents = json.load(patch_file)
-
-    if mode == FailureModes.BISECT_PATCHES:
-      # A good and bad commit are required by `git bisect start`.
-      good_commit, bad_commit = GetCommitHashesForBisection(
-          src_path, good_svn_version, svn_version)
-
-    # Patch format:
-    # {
-    #   "rel_patch_path" : "[REL_PATCH_PATH_FROM_$FILESDIR]"
-    #   [PATCH_METADATA] if available.
-    # }
-    #
-    # For each patch, find the path to it in $FILESDIR and get its metadata if
-    # available, then check if the patch is applicable.
-    for patch_dict_index, cur_patch_dict in enumerate(patch_file_contents):
-      # Used by the internal bisection. All the patches in the interval [0, N]
-      # have been iterated.
-      if num_patches_to_iterate and \
-          (patch_dict_index + 1) > num_patches_to_iterate:
-        break
-
-      # Get the absolute path to the patch in $FILESDIR.
-      path_to_patch = GetPathToPatch(filesdir_path,
-                                     cur_patch_dict['rel_patch_path'])
-
-      # Get the patch's metadata.
-      #
-      # Index information of 'patch_metadata':
-      #   [0]: start_version
-      #   [1]: end_version
-      #   [2]: is_critical
-      patch_metadata = GetPatchMetadata(cur_patch_dict)
-
-      if not patch_metadata[1]:
-        # Patch does not have an 'end_version' value which implies 'end_version'
-        # == 'inf' ('svn_version' will always be less than 'end_version'), so
-        # the patch is applicable if 'svn_version' >= 'start_version'.
-        patch_applicable = svn_version >= patch_metadata[0]
+  modified_entries: List[patch_utils.PatchEntry] = []
+  with patch_utils.git_clean_context(llvm_src_dir):
+    for pe in patch_entries:
+      test_result = pe.test_apply(llvm_src_dir)
+      if not test_result:
+        if pe.version_range is None:
+          pe.version_range = {}
+        pe.version_range['until'] = svn_version
+        modified_entries.append(pe)
       else:
-        # Patch is applicable if 'svn_version' >= 'start_version' &&
-        # "svn_version" < "end_version".
-        patch_applicable = (svn_version >= patch_metadata[0] and \
-                            svn_version < patch_metadata[1])
-
-      if can_modify_patches:
-        # Add to the list only if the mode can potentially modify a patch.
-        #
-        # If the mode is 'remove_patches', then all patches that are
-        # applicable or are from the future will be added to the updated .json
-        # file and all patches that are not applicable will be added to the
-        # remove patches list which will not be included in the updated .json
-        # file.
-        if patch_applicable or svn_version < patch_metadata[0] or \
-            mode != FailureModes.REMOVE_PATCHES:
-          applicable_patches.append(cur_patch_dict)
-        elif mode == FailureModes.REMOVE_PATCHES:
-          removed_patches.append(path_to_patch)
-
-          if not modified_metadata:
-            # At least one patch will be removed from the .json file.
-            modified_metadata = patch_metadata_file
-
-      if not patch_applicable:
-        non_applicable_patches.append(os.path.basename(path_to_patch))
-
-      # There is no need to apply patches in 'remove_patches' mode because the
-      # mode removes patches that do not apply anymore based off of
-      # 'svn_version.'
-      if patch_applicable and mode != FailureModes.REMOVE_PATCHES:
-        patch_applied = ApplyPatch(src_path, path_to_patch)
-
-        if not patch_applied:  # Failed to apply patch.
-          failed_patches.append(os.path.basename(path_to_patch))
-
-          # Check the mode to determine what action to take on the failing
-          # patch.
-          if mode == FailureModes.DISABLE_PATCHES:
-            # Set the patch's 'end_version' to 'svn_version' so the patch
-            # would not be applicable anymore (i.e. the patch's 'end_version'
-            # would not be greater than 'svn_version').
-
-            # Last element in 'applicable_patches' is the current patch.
-            applicable_patches[-1]['end_version'] = svn_version
-
-            disabled_patches.append(os.path.basename(path_to_patch))
-
-            if not updated_patch:
-              # At least one patch has been modified, so the .json file
-              # will be updated with the new patch metadata.
-              updated_patch = True
-
-              modified_metadata = patch_metadata_file
-          elif mode == FailureModes.BISECT_PATCHES:
-            # Figure out where the patch's stops applying and set the patch's
-            # 'end_version' to that version.
-
-            # Do not want to overwrite the changes to the current progress of
-            # 'bisect_patches' on the source tree.
-            SaveSrcTreeState(src_path)
-
-            # Need a clean source tree for `git bisect run` to avoid unnecessary
-            # fails for patches.
-            CleanSrcTree(src_path)
-
-            print('\nStarting to bisect patch %s for SVN version %d:\n' %
-                  (os.path.basename(cur_patch_dict['rel_patch_path']),
-                   svn_version))
-
-            # Performs the bisection: calls `git bisect start` and
-            # `git bisect run`, where `git bisect run` is going to call this
-            # script as many times as needed with specific arguments.
-            bad_svn_version = PerformBisection(
-                src_path, good_commit, bad_commit, svn_version,
-                patch_metadata_file, filesdir_path, patch_dict_index + 1)
-
-            print('\nSuccessfully bisected patch %s, starts to fail to apply '
-                  'at %d\n' % (os.path.basename(
-                      cur_patch_dict['rel_patch_path']), bad_svn_version))
-
-            # Overwrite the .JSON file with the new 'end_version' for the
-            # current failed patch so that if there are other patches that
-            # fail to apply, then the 'end_version' for the current patch could
-            # be applicable when `git bisect run` is performed on the next
-            # failed patch because the same .JSON file is used for `git bisect
-            # run`.
-            patch_file_contents[patch_dict_index][
-                'end_version'] = bad_svn_version
-            UpdatePatchMetadataFile(patch_metadata_file, patch_file_contents)
-
-            # Clear the changes made to the source tree by `git bisect run`.
-            CleanSrcTree(src_path)
-
-            if not continue_bisection:
-              # Exiting program early because 'continue_bisection' is not set.
-              sys.exit(0)
-
-            bisected_patches.append(
-                '%s starts to fail to apply at %d' % (os.path.basename(
-                    cur_patch_dict['rel_patch_path']), bad_svn_version))
-
-            # Continue where 'bisect_patches' left off.
-            RestoreSrcTreeState(src_path, bad_commit)
-
-            if not modified_metadata:
-              # At least one patch's 'end_version' has been updated.
-              modified_metadata = patch_metadata_file
-
-          elif mode == FailureModes.FAIL:
-            if applied_patches:
-              print('The following patches applied successfully up to the '
-                    'failed patch:')
-              print('\n'.join(applied_patches))
-
-            # Throw an exception on the first patch that failed to apply.
-            raise ValueError(
-                'Failed to apply patch: %s' % os.path.basename(path_to_patch))
-          elif mode == FailureModes.INTERNAL_BISECTION:
-            # Determine the exit status for `git bisect run` because of the
-            # failed patch in the interval [0, N].
-            #
-            # NOTE: `git bisect run` exit codes are as follows:
-            #   130: Terminates the bisection.
-            #   1: Similar as `git bisect bad`.
-
-            # Some patch in the interval [0, N) failed, so terminate bisection
-            # (the patch stack is broken).
-            if (patch_dict_index + 1) != num_patches_to_iterate:
-              print('\nTerminating bisection due to patch %s failed to apply '
-                    'on SVN version %d.\n' % (os.path.basename(
-                        cur_patch_dict['rel_patch_path']), svn_version))
-
-              # Man page for `git bisect run` states that any value over 127
-              # terminates it.
-              sys.exit(130)
-
-            # Changes to the source tree need to be removed, otherwise some
-            # patches may fail when applying the patch to the source tree when
-            # `git bisect run` calls this script again.
-            CleanSrcTree(src_path)
-
-            # The last patch in the interval [0, N] failed to apply, so let
-            # `git bisect run` know that the last patch (the patch that failed
-            # originally which led to `git bisect run` to be invoked) is bad
-            # with exit code 1.
-            sys.exit(1)
-        else:  # Successfully applied patch
-          applied_patches.append(os.path.basename(path_to_patch))
-
-  # All patches in the interval [0, N] applied successfully, so let
-  # `git bisect run` know that the program exited with exit code 0 (good).
-  if mode == FailureModes.INTERNAL_BISECTION:
-    # Changes to the source tree need to be removed, otherwise some
-    # patches may fail when applying the patch to the source tree when
-    # `git bisect run` calls this script again.
-    #
-    # Also, if `git bisect run` will NOT call this script again (terminated) and
-    # if the source tree changes are not removed, `git bisect reset` will
-    # complain that the changes would need to be 'stashed' or 'removed' in
-    # order to reset HEAD back to the bad commit's git hash, so HEAD will remain
-    # on the last git hash used by `git bisect run`.
-    CleanSrcTree(src_path)
-
-    # NOTE: Exit code 0 is similar to `git bisect good`.
-    sys.exit(0)
-
-  # Create a namedtuple of the patch results.
-  PatchInfo = namedtuple('PatchInfo', [
-      'applied_patches', 'failed_patches', 'non_applicable_patches',
-      'disabled_patches', 'removed_patches', 'modified_metadata'
-  ])
-
-  patch_info = PatchInfo(
-      applied_patches=applied_patches,
-      failed_patches=failed_patches,
-      non_applicable_patches=non_applicable_patches,
-      disabled_patches=disabled_patches,
-      removed_patches=removed_patches,
-      modified_metadata=modified_metadata)
-
-  # Determine post actions after iterating through the patches.
-  if mode == FailureModes.REMOVE_PATCHES:
-    if removed_patches:
-      UpdatePatchMetadataFile(patch_metadata_file, applicable_patches)
-  elif mode == FailureModes.DISABLE_PATCHES:
-    if updated_patch:
-      UpdatePatchMetadataFile(patch_metadata_file, applicable_patches)
-  elif mode == FailureModes.BISECT_PATCHES:
-    PrintPatchResults(patch_info)
-    if modified_metadata:
-      print('\nThe following patches have been bisected:')
-      print('\n'.join(bisected_patches))
-
-    # Exiting early because 'bisect_patches' will not be called from other
-    # scripts, only this script uses 'bisect_patches'. The intent is to provide
-    # bisection information on the patches and aid in the bisection process.
-    sys.exit(0)
-
-  return patch_info
+        # We have to actually apply the patch so that future patches
+        # will stack properly.
+        if not pe.apply(llvm_src_dir).succeeded:
+          raise RuntimeError('Could not apply patch that dry ran successfully')
+  return modified_entries
 
 
-def PrintPatchResults(patch_info):
+def CheckPatchApplies(svn_version: int, llvm_src_dir: Path,
+                      patches_json_fp: Path,
+                      rel_patch_path: str) -> GitBisectionCode:
+  """Check that a given patch with the rel_patch_path applies in the stack.
+
+  This is used in the bisection mode of the patch manager. It's similiar
+  to ApplyAllFromJson, but differs in that the patch with rel_patch_path
+  will attempt to apply regardless of its version range, as we're trying
+  to identify the SVN version
+
+  Args:
+    svn_version: SVN version to test at.
+    llvm_src_dir: llvm-project source code diroctory (with a .git).
+    patches_json_fp: PATCHES.json filepath.
+    rel_patch_path: Relative patch path of the patch we want to check. If
+      patches before this patch fail to apply, then the revision is skipped.
+  """
+  with patches_json_fp.open(encoding='utf-8') as f:
+    patch_entries = patch_utils.json_to_patch_entries(
+        patches_json_fp.parent,
+        f,
+    )
+  with patch_utils.git_clean_context(llvm_src_dir):
+    success, _, failed_patches = ApplyPatchAndPrior(
+        svn_version,
+        llvm_src_dir,
+        patch_entries,
+        rel_patch_path,
+    )
+  if success:
+    # Everything is good, patch applied successfully.
+    print(f'SUCCEEDED applying {rel_patch_path} @ r{svn_version}')
+    return GitBisectionCode.GOOD
+  if failed_patches and failed_patches[-1].rel_patch_path == rel_patch_path:
+    # We attempted to apply this patch, but it failed.
+    print(f'FAILED to apply {rel_patch_path} @ r{svn_version}')
+    return GitBisectionCode.BAD
+  # Didn't attempt to apply the patch, but failed regardless.
+  # Skip this revision.
+  print(f'SKIPPED {rel_patch_path} @ r{svn_version} due to prior failures')
+  return GitBisectionCode.SKIP
+
+
+def ApplyPatchAndPrior(
+    svn_version: int, src_dir: Path,
+    patch_entries: Iterable[patch_utils.PatchEntry], rel_patch_path: str
+) -> Tuple[bool, List[patch_utils.PatchEntry], List[patch_utils.PatchEntry]]:
+  """Apply a patch, and all patches that apply before it in the patch stack.
+
+  Patches which did not attempt to apply (because their version range didn't
+  match and they weren't the patch of interest) do not appear in the output.
+
+  Probably shouldn't be called from outside of CheckPatchApplies, as it modifies
+  the source dir contents.
+
+  Returns:
+    A tuple where:
+    [0]: Did the patch of interest succeed in applying?
+    [1]: List of applied patches, potentially containing the patch of interest.
+    [2]: List of failing patches, potentially containing the patch of interest.
+  """
+  failed_patches = []
+  applied_patches = []
+  # We have to apply every patch up to the one we care about,
+  # as patches can stack.
+  for pe in patch_entries:
+    is_patch_of_interest = pe.rel_patch_path == rel_patch_path
+    applied, failed_hunks = patch_utils.apply_single_patch_entry(
+        svn_version, src_dir, pe, ignore_version_range=is_patch_of_interest)
+    meant_to_apply = bool(failed_hunks) or is_patch_of_interest
+    if is_patch_of_interest:
+      if applied:
+        # We applied the patch we wanted to, we can stop.
+        applied_patches.append(pe)
+        return True, applied_patches, failed_patches
+      else:
+        # We failed the patch we cared about, we can stop.
+        failed_patches.append(pe)
+        return False, applied_patches, failed_patches
+    else:
+      if applied:
+        applied_patches.append(pe)
+      elif meant_to_apply:
+        # Broke before we reached the patch we cared about. Stop.
+        failed_patches.append(pe)
+        return False, applied_patches, failed_patches
+  raise ValueError(f'Did not find patch {rel_patch_path}. '
+                   'Does it exist?')
+
+
+def PrintPatchResults(patch_info: patch_utils.PatchInfo):
   """Prints the results of handling the patches of a package.
 
   Args:
-    patch_info: A namedtuple that has information on the patches.
+    patch_info: A dataclass that has information on the patches.
   """
 
+  def _fmt(patches):
+    return (str(pe.patch_path()) for pe in patches)
+
   if patch_info.applied_patches:
     print('\nThe following patches applied successfully:')
-    print('\n'.join(patch_info.applied_patches))
+    print('\n'.join(_fmt(patch_info.applied_patches)))
 
   if patch_info.failed_patches:
     print('\nThe following patches failed to apply:')
-    print('\n'.join(patch_info.failed_patches))
+    print('\n'.join(_fmt(patch_info.failed_patches)))
 
   if patch_info.non_applicable_patches:
     print('\nThe following patches were not applicable:')
-    print('\n'.join(patch_info.non_applicable_patches))
+    print('\n'.join(_fmt(patch_info.non_applicable_patches)))
 
   if patch_info.modified_metadata:
-    print('\nThe patch metadata file %s has been modified' % os.path.basename(
-        patch_info.modified_metadata))
+    print('\nThe patch metadata file %s has been modified' %
+          os.path.basename(patch_info.modified_metadata))
 
   if patch_info.disabled_patches:
     print('\nThe following patches were disabled:')
-    print('\n'.join(patch_info.disabled_patches))
+    print('\n'.join(_fmt(patch_info.disabled_patches)))
 
   if patch_info.removed_patches:
     print('\nThe following patches were removed from the patch metadata file:')
@@ -715,36 +322,57 @@
       print('%s' % os.path.basename(cur_patch_path))
 
 
-def main():
+def main(sys_argv: List[str]):
   """Applies patches to the source tree and takes action on a failed patch."""
 
-  args_output = GetCommandLineArgs()
+  args_output = GetCommandLineArgs(sys_argv)
 
-  if args_output.failure_mode != FailureModes.INTERNAL_BISECTION.value:
-    # If the SVN version of HEAD is not the same as 'svn_version', then some
-    # patches that fail to apply could successfully apply if HEAD's SVN version
-    # was the same as 'svn_version'. In other words, HEAD's git hash should be
-    # what is being updated to (e.g. LLVM_NEXT_HASH).
-    if not args_output.use_src_head:
-      VerifyHEADIsTheSameAsSVNVersion(args_output.src_path,
-                                      args_output.svn_version)
-  else:
-    # `git bisect run` called this script.
-    #
-    # `git bisect run` moves HEAD each time it invokes this script, so set the
-    # 'svn_version' to be current HEAD's SVN version so that the previous
-    # SVN version is not used in determining whether a patch is applicable.
-    args_output.svn_version = GetHEADSVNVersion(args_output.src_path)
+  llvm_src_dir = Path(args_output.src_path)
+  if not llvm_src_dir.is_dir():
+    raise ValueError(f'--src_path arg {llvm_src_dir} is not a directory')
+  patches_json_fp = Path(args_output.patch_metadata_file)
+  if not patches_json_fp.is_file():
+    raise ValueError('--patch_metadata_file arg '
+                     f'{patches_json_fp} is not a file')
 
-  # Get the results of handling the patches of the package.
-  patch_info = HandlePatches(
-      args_output.svn_version, args_output.patch_metadata_file,
-      args_output.filesdir_path, args_output.src_path,
-      FailureModes(args_output.failure_mode), args_output.good_svn_version,
-      args_output.num_patches_to_iterate, args_output.continue_bisection)
+  def _apply_all(args):
+    if args.svn_version is None:
+      raise ValueError('--svn_version must be set when applying patches')
+    result = patch_utils.apply_all_from_json(
+        svn_version=args.svn_version,
+        llvm_src_dir=llvm_src_dir,
+        patches_json_fp=patches_json_fp,
+        continue_on_failure=args.failure_mode == FailureModes.CONTINUE)
+    PrintPatchResults(result)
 
-  PrintPatchResults(patch_info)
+  def _remove(args):
+    RemoveOldPatches(args.svn_version, llvm_src_dir, patches_json_fp)
+
+  def _disable(args):
+    UpdateVersionRanges(args.svn_version, llvm_src_dir, patches_json_fp)
+
+  def _test_single(args):
+    if not args.test_patch:
+      raise ValueError('Running with bisect_patches requires the '
+                       '--test_patch flag.')
+    svn_version = GetHEADSVNVersion(llvm_src_dir)
+    error_code = CheckPatchApplies(svn_version, llvm_src_dir, patches_json_fp,
+                                   args.test_patch)
+    # Since this is for bisection, we want to exit with the
+    # GitBisectionCode enum.
+    sys.exit(int(error_code))
+
+  dispatch_table = {
+      FailureModes.FAIL: _apply_all,
+      FailureModes.CONTINUE: _apply_all,
+      FailureModes.REMOVE_PATCHES: _remove,
+      FailureModes.DISABLE_PATCHES: _disable,
+      FailureModes.BISECT_PATCHES: _test_single,
+  }
+
+  if args_output.failure_mode in dispatch_table:
+    dispatch_table[args_output.failure_mode](args_output)
 
 
 if __name__ == '__main__':
-  main()
+  main(sys.argv[1:])
diff --git a/sys-devel/llvm/files/patch_manager/patch_utils.py b/sys-devel/llvm/files/patch_manager/patch_utils.py
new file mode 100644
index 0000000..4c60202
--- /dev/null
+++ b/sys-devel/llvm/files/patch_manager/patch_utils.py
@@ -0,0 +1,427 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""Provides patch utilities for PATCHES.json file handling."""
+
+import collections
+import contextlib
+import dataclasses
+import json
+from pathlib import Path
+import re
+import subprocess
+import sys
+from typing import Any, Dict, IO, List, Optional, Tuple, Union
+
+
+CHECKED_FILE_RE = re.compile(r'^checking file\s+(.*)$')
+HUNK_FAILED_RE = re.compile(r'^Hunk #(\d+) FAILED at.*')
+HUNK_HEADER_RE = re.compile(r'^@@\s+-(\d+),(\d+)\s+\+(\d+),(\d+)\s+@@')
+HUNK_END_RE = re.compile(r'^--\s*$')
+PATCH_SUBFILE_HEADER_RE = re.compile(r'^\+\+\+ [ab]/(.*)$')
+
+
+@contextlib.contextmanager
+def atomic_write(fp: Union[Path, str], mode='w', *args, **kwargs):
+  """Write to a filepath atomically.
+
+  This works by a temp file swap, created with a .tmp suffix in
+  the same directory briefly until being renamed to the desired
+  filepath.
+
+  Args:
+    fp: Filepath to open.
+    mode: File mode; can be 'w', 'wb'. Default 'w'.
+    *args: Passed to Path.open as nargs.
+    **kwargs: Passed to Path.open as kwargs.
+
+  Raises:
+    ValueError when the mode is invalid.
+  """
+  if isinstance(fp, str):
+    fp = Path(fp)
+  if mode not in ('w', 'wb'):
+    raise ValueError(f'mode {mode} not accepted')
+  temp_fp = fp.with_suffix(fp.suffix + '.tmp')
+  try:
+    with temp_fp.open(mode, *args, **kwargs) as f:
+      yield f
+  except:
+    if temp_fp.is_file():
+      temp_fp.unlink()
+    raise
+  temp_fp.rename(fp)
+
+
+@dataclasses.dataclass
+class Hunk:
+  """Represents a patch Hunk."""
+  hunk_id: int
+  """Hunk ID for the current file."""
+  orig_start: int
+  orig_hunk_len: int
+  patch_start: int
+  patch_hunk_len: int
+  patch_hunk_lineno_begin: int
+  patch_hunk_lineno_end: Optional[int]
+
+
+def parse_patch_stream(patch_stream: IO[str]) -> Dict[str, List[Hunk]]:
+  """Parse a patch file-like into Hunks.
+
+  Args:
+    patch_stream: A IO stream formatted like a git patch file.
+
+  Returns:
+    A dictionary mapping filenames to lists of Hunks present
+    in the patch stream.
+  """
+
+  current_filepath = None
+  current_hunk_id = 0
+  current_hunk = None
+  out = collections.defaultdict(list)
+  for lineno, line in enumerate(patch_stream.readlines()):
+    subfile_header = PATCH_SUBFILE_HEADER_RE.match(line)
+    if subfile_header:
+      current_filepath = subfile_header.group(1)
+      if not current_filepath:
+        raise RuntimeError('Could not get file header in patch stream')
+      # Need to reset the hunk id, as it's per-file.
+      current_hunk_id = 0
+      continue
+    hunk_header = HUNK_HEADER_RE.match(line)
+    if hunk_header:
+      if not current_filepath:
+        raise RuntimeError('Parsed hunk before file header in patch stream')
+      if current_hunk:
+        # Already parsing a hunk
+        current_hunk.patch_hunk_lineno_end = lineno
+      current_hunk_id += 1
+      current_hunk = Hunk(hunk_id=current_hunk_id,
+                          orig_start=int(hunk_header.group(1)),
+                          orig_hunk_len=int(hunk_header.group(2)),
+                          patch_start=int(hunk_header.group(3)),
+                          patch_hunk_len=int(hunk_header.group(4)),
+                          patch_hunk_lineno_begin=lineno + 1,
+                          patch_hunk_lineno_end=None)
+      out[current_filepath].append(current_hunk)
+      continue
+    if current_hunk and HUNK_END_RE.match(line):
+      current_hunk.patch_hunk_lineno_end = lineno
+  return out
+
+
+def parse_failed_patch_output(text: str) -> Dict[str, List[int]]:
+  current_file = None
+  failed_hunks = collections.defaultdict(list)
+  for eline in text.split('\n'):
+    checked_file_match = CHECKED_FILE_RE.match(eline)
+    if checked_file_match:
+      current_file = checked_file_match.group(1)
+      continue
+    failed_match = HUNK_FAILED_RE.match(eline)
+    if failed_match:
+      if not current_file:
+        raise ValueError('Input stream was not parsable')
+      hunk_id = int(failed_match.group(1))
+      failed_hunks[current_file].append(hunk_id)
+  return failed_hunks
+
+
+@dataclasses.dataclass(frozen=True)
+class PatchResult:
+  """Result of a patch application."""
+  succeeded: bool
+  failed_hunks: Dict[str, List[Hunk]] = dataclasses.field(default_factory=dict)
+
+  def __bool__(self):
+    return self.succeeded
+
+  def failure_info(self) -> str:
+    if self.succeeded:
+      return ''
+    s = ''
+    for file, hunks in self.failed_hunks.items():
+      s += f'{file}:\n'
+      for h in hunks:
+        s += f'Lines {h.orig_start} to {h.orig_start + h.orig_hunk_len}\n'
+      s += '--------------------\n'
+    return s
+
+
+@dataclasses.dataclass
+class PatchEntry:
+  """Object mapping of an entry of PATCHES.json."""
+  workdir: Path
+  """Storage location for the patches."""
+  metadata: Optional[Dict[str, Any]]
+  platforms: Optional[List[str]]
+  rel_patch_path: str
+  version_range: Optional[Dict[str, Optional[int]]]
+  _parsed_hunks = None
+
+  def __post_init__(self):
+    if not self.workdir.is_dir():
+      raise ValueError(f'workdir {self.workdir} is not a directory')
+
+  @classmethod
+  def from_dict(cls, workdir: Path, data: Dict[str, Any]):
+    """Instatiate from a dictionary.
+
+    Dictionary must have at least the following key:
+
+      {
+        'rel_patch_path': '<relative patch path to workdir>',
+      }
+
+    Returns:
+      A new PatchEntry.
+    """
+    return cls(workdir, data.get('metadata'), data.get('platforms'),
+               data['rel_patch_path'], data.get('version_range'))
+
+  def to_dict(self) -> Dict[str, Any]:
+    out = {
+        'metadata': self.metadata,
+        'rel_patch_path': self.rel_patch_path,
+        'version_range': self.version_range,
+    }
+    if self.platforms:
+      # To match patch_sync, only serialized when
+      # non-empty and non-null.
+      out['platforms'] = sorted(self.platforms)
+    return out
+
+  def parsed_hunks(self) -> Dict[str, List[Hunk]]:
+    # Minor caching here because IO is slow.
+    if not self._parsed_hunks:
+      with self.patch_path().open(encoding='utf-8') as f:
+        self._parsed_hunks = parse_patch_stream(f)
+    return self._parsed_hunks
+
+  def patch_path(self) -> Path:
+    return self.workdir / self.rel_patch_path
+
+  def can_patch_version(self, svn_version: int) -> bool:
+    """Is this patch meant to apply to `svn_version`?"""
+    # Sometimes the key is there, but it's set to None.
+    if not self.version_range:
+      return True
+    from_v = self.version_range.get('from') or 0
+    until_v = self.version_range.get('until')
+    if until_v is None:
+      until_v = sys.maxsize
+    return from_v <= svn_version < until_v
+
+  def is_old(self, svn_version: int) -> bool:
+    """Is this patch old compared to `svn_version`?"""
+    if not self.version_range:
+      return False
+    until_v = self.version_range.get('until')
+    # Sometimes the key is there, but it's set to None.
+    if until_v is None:
+      until_v = sys.maxsize
+    return svn_version >= until_v
+
+  def apply(self,
+            root_dir: Path,
+            extra_args: Optional[List[str]] = None) -> PatchResult:
+    """Apply a patch to a given directory."""
+    if not extra_args:
+      extra_args = []
+    # Cmd to apply a patch in the src unpack path.
+    abs_patch_path = self.patch_path().absolute()
+    if not abs_patch_path.is_file():
+      raise RuntimeError(f'Cannot apply: patch {abs_patch_path} is not a file')
+    cmd = [
+        'patch',
+        '-d',
+        root_dir.absolute(),
+        '-f',
+        '-p1',
+        '--no-backup-if-mismatch',
+        '-i',
+        abs_patch_path,
+    ] + extra_args
+    try:
+      subprocess.run(cmd, encoding='utf-8', check=True, stdout=subprocess.PIPE)
+    except subprocess.CalledProcessError as e:
+      parsed_hunks = self.parsed_hunks()
+      failed_hunks_id_dict = parse_failed_patch_output(e.stdout)
+      failed_hunks = {}
+      for path, failed_hunk_ids in failed_hunks_id_dict.items():
+        hunks_for_file = parsed_hunks[path]
+        failed_hunks[path] = [
+            hunk for hunk in hunks_for_file if hunk.hunk_id in failed_hunk_ids
+        ]
+      return PatchResult(succeeded=False, failed_hunks=failed_hunks)
+    return PatchResult(succeeded=True)
+
+  def test_apply(self, root_dir: Path) -> PatchResult:
+    """Dry run applying a patch to a given directory."""
+    return self.apply(root_dir, ['--dry-run'])
+
+  def title(self) -> str:
+    if not self.metadata:
+      return ''
+    return self.metadata.get('title', '')
+
+
+@dataclasses.dataclass(frozen=True)
+class PatchInfo:
+  """Holds info for a round of patch applications."""
+  # str types are legacy. Patch lists should
+  # probably be PatchEntries,
+  applied_patches: List[PatchEntry]
+  failed_patches: List[PatchEntry]
+  # Can be deleted once legacy code is removed.
+  non_applicable_patches: List[str]
+  # Can be deleted once legacy code is removed.
+  disabled_patches: List[str]
+  # Can be deleted once legacy code is removed.
+  removed_patches: List[str]
+  # Can be deleted once legacy code is removed.
+  modified_metadata: Optional[str]
+
+  def _asdict(self):
+    return dataclasses.asdict(self)
+
+
+def json_to_patch_entries(workdir: Path, json_fd: IO[str]) -> List[PatchEntry]:
+  """Convert a json IO object to List[PatchEntry].
+
+  Examples:
+    >>> f = open('PATCHES.json')
+    >>> patch_entries = json_to_patch_entries(Path(), f)
+  """
+  return [PatchEntry.from_dict(workdir, d) for d in json.load(json_fd)]
+
+
+def _print_failed_patch(pe: PatchEntry, failed_hunks: Dict[str, List[Hunk]]):
+  """Print information about a single failing PatchEntry.
+
+  Args:
+    pe: A PatchEntry that failed.
+    failed_hunks: Hunks for pe which failed as dict:
+      filepath: [Hunk...]
+  """
+  print(f'Could not apply {pe.rel_patch_path}: {pe.title()}', file=sys.stderr)
+  for fp, hunks in failed_hunks.items():
+    print(f'{fp}:', file=sys.stderr)
+    for h in hunks:
+      print(
+          f'- {pe.rel_patch_path} '
+          f'l:{h.patch_hunk_lineno_begin}...{h.patch_hunk_lineno_end}',
+          file=sys.stderr)
+
+
+def apply_all_from_json(svn_version: int,
+                        llvm_src_dir: Path,
+                        patches_json_fp: Path,
+                        continue_on_failure: bool = False) -> PatchInfo:
+  """Attempt to apply some patches to a given LLVM source tree.
+
+  This relies on a PATCHES.json file to be the primary way
+  the patches are applied.
+
+  Args:
+    svn_version: LLVM Subversion revision to patch.
+    llvm_src_dir: llvm-project root-level source directory to patch.
+    patches_json_fp: Filepath to the PATCHES.json file.
+    continue_on_failure: Skip any patches which failed to apply,
+      rather than throw an Exception.
+  """
+  with patches_json_fp.open(encoding='utf-8') as f:
+    patches = json_to_patch_entries(patches_json_fp.parent, f)
+  skipped_patches = []
+  failed_patches = []
+  applied_patches = []
+  for pe in patches:
+    applied, failed_hunks = apply_single_patch_entry(svn_version, llvm_src_dir,
+                                                     pe)
+    if applied:
+      applied_patches.append(pe)
+      continue
+    if failed_hunks is not None:
+      if continue_on_failure:
+        failed_patches.append(pe)
+        continue
+      else:
+        _print_failed_patch(pe, failed_hunks)
+        raise RuntimeError('failed to apply patch '
+                           f'{pe.patch_path()}: {pe.title()}')
+    # Didn't apply, didn't fail, it was skipped.
+    skipped_patches.append(pe)
+  return PatchInfo(
+      non_applicable_patches=skipped_patches,
+      applied_patches=applied_patches,
+      failed_patches=failed_patches,
+      disabled_patches=[],
+      removed_patches=[],
+      modified_metadata=None,
+  )
+
+
+def apply_single_patch_entry(
+    svn_version: int,
+    llvm_src_dir: Path,
+    pe: PatchEntry,
+    ignore_version_range: bool = False
+) -> Tuple[bool, Optional[Dict[str, List[Hunk]]]]:
+  """Try to apply a single PatchEntry object.
+
+  Returns:
+    Tuple where the first element indicates whether the patch applied,
+    and the second element is a faild hunk mapping from file name to lists of
+    hunks (if the patch didn't apply).
+  """
+  # Don't apply patches outside of the version range.
+  if not ignore_version_range and not pe.can_patch_version(svn_version):
+    return False, None
+  # Test first to avoid making changes.
+  test_application = pe.test_apply(llvm_src_dir)
+  if not test_application:
+    return False, test_application.failed_hunks
+  # Now actually make changes.
+  application_result = pe.apply(llvm_src_dir)
+  if not application_result:
+    # This should be very rare/impossible.
+    return False, application_result.failed_hunks
+  return True, None
+
+
+def is_git_dirty(git_root_dir: Path) -> bool:
+  """Return whether the given git directory has uncommitted changes."""
+  if not git_root_dir.is_dir():
+    raise ValueError(f'git_root_dir {git_root_dir} is not a directory')
+  cmd = ['git', 'ls-files', '-m', '--other', '--exclude-standard']
+  return (subprocess.run(cmd,
+                         stdout=subprocess.PIPE,
+                         check=True,
+                         cwd=git_root_dir,
+                         encoding='utf-8').stdout != '')
+
+
+def clean_src_tree(src_path):
+  """Cleans the source tree of the changes made in 'src_path'."""
+
+  reset_src_tree_cmd = ['git', '-C', src_path, 'reset', 'HEAD', '--hard']
+
+  subprocess.run(reset_src_tree_cmd, check=True)
+
+  clean_src_tree_cmd = ['git', '-C', src_path, 'clean', '-fd']
+
+  subprocess.run(clean_src_tree_cmd, check=True)
+
+
+@contextlib.contextmanager
+def git_clean_context(git_root_dir: Path):
+  """Cleans up a git directory when the context exits."""
+  if is_git_dirty(git_root_dir):
+    raise RuntimeError('Cannot setup clean context; git_root_dir is dirty')
+  try:
+    yield
+  finally:
+    clean_src_tree(git_root_dir)
diff --git a/sys-devel/llvm/files/revert-17db125b487faa69d789b80d47b19da49522b168.patch b/sys-devel/llvm/files/revert-17db125b487faa69d789b80d47b19da49522b168.patch
deleted file mode 100644
index 663021d..0000000
--- a/sys-devel/llvm/files/revert-17db125b487faa69d789b80d47b19da49522b168.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Revert "[MemCpyOpt] Optimize MemoryDef insertion"
-
-This reverts commit 17db125b487faa69d789b80d47b19da49522b168.
----
- llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp | 11 +++++------
- 1 file changed, 5 insertions(+), 6 deletions(-)
-
-diff --git a/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp b/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-index 49070cf2e6b7..7e1f06b806aa 100644
---- a/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-+++ b/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-@@ -800,12 +800,11 @@ bool MemCpyOptPass::processStore(StoreInst *SI, BasicBlock::iterator &BBI) {
- 
-       LLVM_DEBUG(dbgs() << "Promoting " << *SI << " to " << *M << "\n");
- 
--      // The newly inserted memset is immediately overwritten by the original
--      // store, so we do not need to rename uses.
--      auto *StoreDef = cast<MemoryDef>(MSSA->getMemoryAccess(SI));
--      auto *NewAccess = MSSAU->createMemoryAccessBefore(
--          M, StoreDef->getDefiningAccess(), StoreDef);
--      MSSAU->insertDef(cast<MemoryDef>(NewAccess), /*RenameUses=*/false);
-+      assert(isa<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(SI)));
-+      auto *LastDef =
-+          cast<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(SI));
-+      auto *NewAccess = MSSAU->createMemoryAccessAfter(M, LastDef, LastDef);
-+      MSSAU->insertDef(cast<MemoryDef>(NewAccess), /*RenameUses=*/true);
- 
-       eraseInstruction(SI);
-       NumMemSetInfer++;
diff --git a/sys-devel/llvm/files/revert-30dfd3449e45ac371012c6e46c77ab9089496d4e.patch b/sys-devel/llvm/files/revert-30dfd3449e45ac371012c6e46c77ab9089496d4e.patch
deleted file mode 100644
index f79c0ae..0000000
--- a/sys-devel/llvm/files/revert-30dfd3449e45ac371012c6e46c77ab9089496d4e.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Revert "[MemCpyOpt] Allow specifying --enable-memcpyopt-without-libcalls more than once"
-
-This reverts commit 30dfd3449e45ac371012c6e46c77ab9089496d4e.
----
- llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp b/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-index 96f1c19c4c12..9f02a904a714 100644
---- a/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-+++ b/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-@@ -68,7 +68,6 @@ using namespace llvm;
- 
- static cl::opt<bool> EnableMemCpyOptWithoutLibcalls(
-     "enable-memcpyopt-without-libcalls", cl::init(false), cl::Hidden,
--    cl::ZeroOrMore,
-     cl::desc("Enable memcpyopt even when libcalls are disabled"));
- 
- STATISTIC(NumMemCpyInstr, "Number of memcpy instructions deleted");
diff --git a/sys-devel/llvm/files/revert-596004a94748e427ff59956e74d8ed4eb0e109d4.patch b/sys-devel/llvm/files/revert-596004a94748e427ff59956e74d8ed4eb0e109d4.patch
deleted file mode 100644
index 74c7ecb..0000000
--- a/sys-devel/llvm/files/revert-596004a94748e427ff59956e74d8ed4eb0e109d4.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-commit 1aa2ab0ec02dafbb0063d5bb4ccf8844255a47e5
-Author: Denis Nikitin <denik@google.com>
-Date:   Thu Nov 18 22:01:00 2021 -0800
-
-    Revert "MemCpyOptimizer.cpp - hasUndefContentsMSSA - Pass DataLayout by reference. NFCI."
-    
-    This reverts commit 596004a94748e427ff59956e74d8ed4eb0e109d4.
----
- llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp b/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-index 49070cf2e6b7..96f1c19c4c12 100644
---- a/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-+++ b/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-@@ -1215,7 +1215,7 @@ static bool hasUndefContents(MemorySSA *MSSA, AliasAnalysis *AA, Value *V,
-       // The size also doesn't matter, as an out-of-bounds access would be UB.
-       AllocaInst *Alloca = dyn_cast<AllocaInst>(getUnderlyingObject(V));
-       if (getUnderlyingObject(II->getArgOperand(1)) == Alloca) {
--        const DataLayout &DL = Alloca->getModule()->getDataLayout();
-+        DataLayout DL = Alloca->getModule()->getDataLayout();
-         if (Optional<TypeSize> AllocaSize = Alloca->getAllocationSizeInBits(DL))
-           if (*AllocaSize == LTSize->getValue() * 8)
-             return true;
diff --git a/sys-devel/llvm/files/revert-7fb66d4035960b3c2797eae73d79b8478ff0348e.patch b/sys-devel/llvm/files/revert-7fb66d4035960b3c2797eae73d79b8478ff0348e.patch
deleted file mode 100644
index 0eb2c89..0000000
--- a/sys-devel/llvm/files/revert-7fb66d4035960b3c2797eae73d79b8478ff0348e.patch
+++ /dev/null
@@ -1,244 +0,0 @@
-From 22e291c8c54d6da8c781e07f12337948f48ed8ad Mon Sep 17 00:00:00 2001
-From: Michael Benfield <mbenfield@google.com>
-Date: Wed, 19 Jan 2022 17:01:25 +0000
-Subject: [PATCH] Revert "[MemCpyOpt] Fix a variety of scalable-type crashes"
-
-This reverts commit 7fb66d4035960b3c2797eae73d79b8478ff0348e.
----
- .../llvm/Transforms/Scalar/MemCpyOptimizer.h  |   2 +-
- .../lib/Transforms/Scalar/MemCpyOptimizer.cpp |  36 ++-----
- .../Transforms/MemCpyOpt/vscale-crashes.ll    | 101 ------------------
- 3 files changed, 11 insertions(+), 128 deletions(-)
- delete mode 100644 llvm/test/Transforms/MemCpyOpt/vscale-crashes.ll
-
-diff --git a/llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h b/llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
-index 3a4db13d670a..76dbec47fbb8 100644
---- a/llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
-+++ b/llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
-@@ -62,7 +62,7 @@ private:
-   bool processMemCpy(MemCpyInst *M, BasicBlock::iterator &BBI);
-   bool processMemMove(MemMoveInst *M);
-   bool performCallSlotOptzn(Instruction *cpyLoad, Instruction *cpyStore,
--                            Value *cpyDst, Value *cpySrc, TypeSize cpyLen,
-+                            Value *cpyDst, Value *cpySrc, uint64_t cpyLen,
-                             Align cpyAlign, CallInst *C);
-   bool processMemCpyMemCpyDependence(MemCpyInst *M, MemCpyInst *MDep);
-   bool processMemSetMemCpyDependence(MemCpyInst *MemCpy, MemSetInst *MemSet);
-diff --git a/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp b/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-index 67335a45fb58..49070cf2e6b7 100644
---- a/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-+++ b/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-@@ -178,9 +178,9 @@ public:
-   }
- 
-   void addStore(int64_t OffsetFromFirst, StoreInst *SI) {
--    TypeSize StoreSize = DL.getTypeStoreSize(SI->getOperand(0)->getType());
--    assert(!StoreSize.isScalable() && "Can't track scalable-typed stores");
--    addRange(OffsetFromFirst, StoreSize.getFixedSize(), SI->getPointerOperand(),
-+    int64_t StoreSize = DL.getTypeStoreSize(SI->getOperand(0)->getType());
-+
-+    addRange(OffsetFromFirst, StoreSize, SI->getPointerOperand(),
-              SI->getAlign().value(), SI);
-   }
- 
-@@ -363,11 +363,6 @@ Instruction *MemCpyOptPass::tryMergingIntoMemset(Instruction *StartInst,
-                                                  Value *ByteVal) {
-   const DataLayout &DL = StartInst->getModule()->getDataLayout();
- 
--  // We can't track scalable types
--  if (StoreInst *SI = dyn_cast<StoreInst>(StartInst))
--    if (DL.getTypeStoreSize(SI->getOperand(0)->getType()).isScalable())
--      return nullptr;
--
-   // Okay, so we now have a single store that can be splatable.  Scan to find
-   // all subsequent stores of the same value to offset from the same pointer.
-   // Join these together into ranges, so we can decide whether contiguous blocks
-@@ -421,10 +416,6 @@ Instruction *MemCpyOptPass::tryMergingIntoMemset(Instruction *StartInst,
-       if (DL.isNonIntegralPointerType(StoredVal->getType()->getScalarType()))
-         break;
- 
--      // We can't track ranges involving scalable types.
--      if (DL.getTypeStoreSize(StoredVal->getType()).isScalable())
--        break;
--
-       // Check to see if this stored value is of the same byte-splattable value.
-       Value *StoredByte = isBytewiseValue(StoredVal, DL);
-       if (isa<UndefValue>(ByteVal) && StoredByte)
-@@ -845,7 +836,7 @@ bool MemCpyOptPass::processMemSet(MemSetInst *MSI, BasicBlock::iterator &BBI) {
- /// the call write its result directly into the destination of the memcpy.
- bool MemCpyOptPass::performCallSlotOptzn(Instruction *cpyLoad,
-                                          Instruction *cpyStore, Value *cpyDest,
--                                         Value *cpySrc, TypeSize cpySize,
-+                                         Value *cpySrc, uint64_t cpyLen,
-                                          Align cpyAlign, CallInst *C) {
-   // The general transformation to keep in mind is
-   //
-@@ -861,10 +852,6 @@ bool MemCpyOptPass::performCallSlotOptzn(Instruction *cpyLoad,
-   // src only holds uninitialized values at the moment of the call, meaning that
-   // the memcpy can be discarded rather than moved.
- 
--  // We can't optimize scalable types.
--  if (cpySize.isScalable())
--    return false;
--
-   // Lifetime marks shouldn't be operated on.
-   if (Function *F = C->getCalledFunction())
-     if (F->isIntrinsic() && F->getIntrinsicID() == Intrinsic::lifetime_start)
-@@ -883,13 +870,13 @@ bool MemCpyOptPass::performCallSlotOptzn(Instruction *cpyLoad,
-   uint64_t srcSize = DL.getTypeAllocSize(srcAlloca->getAllocatedType()) *
-                      srcArraySize->getZExtValue();
- 
--  if (cpySize < srcSize)
-+  if (cpyLen < srcSize)
-     return false;
- 
-   // Check that accessing the first srcSize bytes of dest will not cause a
-   // trap.  Otherwise the transform is invalid since it might cause a trap
-   // to occur earlier than it otherwise would.
--  if (!isDereferenceableAndAlignedPointer(cpyDest, Align(1), APInt(64, cpySize),
-+  if (!isDereferenceableAndAlignedPointer(cpyDest, Align(1), APInt(64, cpyLen),
-                                           DL, C, DT))
-     return false;
- 
-@@ -1383,10 +1370,8 @@ bool MemCpyOptPass::processMemCpy(MemCpyInst *M, BasicBlock::iterator &BBI) {
-             // of conservatively taking the minimum?
-             Align Alignment = std::min(M->getDestAlign().valueOrOne(),
-                                        M->getSourceAlign().valueOrOne());
--            if (performCallSlotOptzn(
--                    M, M, M->getDest(), M->getSource(),
--                    TypeSize::getFixed(CopySize->getZExtValue()), Alignment,
--                    C)) {
-+            if (performCallSlotOptzn(M, M, M->getDest(), M->getSource(),
-+                                     CopySize->getZExtValue(), Alignment, C)) {
-               LLVM_DEBUG(dbgs() << "Performed call slot optimization:\n"
-                                 << "    call: " << *C << "\n"
-                                 << "    memcpy: " << *M << "\n");
-@@ -1450,7 +1435,7 @@ bool MemCpyOptPass::processByValArgument(CallBase &CB, unsigned ArgNo) {
-   // Find out what feeds this byval argument.
-   Value *ByValArg = CB.getArgOperand(ArgNo);
-   Type *ByValTy = CB.getParamByValType(ArgNo);
--  TypeSize ByValSize = DL.getTypeAllocSize(ByValTy);
-+  uint64_t ByValSize = DL.getTypeAllocSize(ByValTy);
-   MemoryLocation Loc(ByValArg, LocationSize::precise(ByValSize));
-   MemoryUseOrDef *CallAccess = MSSA->getMemoryAccess(&CB);
-   if (!CallAccess)
-@@ -1470,8 +1455,7 @@ bool MemCpyOptPass::processByValArgument(CallBase &CB, unsigned ArgNo) {
- 
-   // The length of the memcpy must be larger or equal to the size of the byval.
-   ConstantInt *C1 = dyn_cast<ConstantInt>(MDep->getLength());
--  if (!C1 || !TypeSize::isKnownGE(
--                 TypeSize::getFixed(C1->getValue().getZExtValue()), ByValSize))
-+  if (!C1 || C1->getValue().getZExtValue() < ByValSize)
-     return false;
- 
-   // Get the alignment of the byval.  If the call doesn't specify the alignment,
-diff --git a/llvm/test/Transforms/MemCpyOpt/vscale-crashes.ll b/llvm/test/Transforms/MemCpyOpt/vscale-crashes.ll
-deleted file mode 100644
-index 6b81fb52c631..000000000000
---- a/llvm/test/Transforms/MemCpyOpt/vscale-crashes.ll
-+++ /dev/null
-@@ -1,101 +0,0 @@
--; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -memcpyopt -S -verify-memoryssa | FileCheck %s
--
--; Check that a call featuring a scalable-vector byval argument fed by a memcpy
--; doesn't crash the compiler. It previously assumed the byval type's size could
--; be represented as a known constant amount.
--define void @byval_caller(i8 *%P) {
--; CHECK-LABEL: @byval_caller(
--; CHECK-NEXT:    [[A:%.*]] = alloca i8, align 1
--; CHECK-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 [[A]], i8* align 4 [[P:%.*]], i64 8, i1 false)
--; CHECK-NEXT:    [[VA:%.*]] = bitcast i8* [[A]] to <vscale x 1 x i8>*
--; CHECK-NEXT:    call void @byval_callee(<vscale x 1 x i8>* byval(<vscale x 1 x i8>) align 1 [[VA]])
--; CHECK-NEXT:    ret void
--;
--  %a = alloca i8
--  call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %a, i8* align 4 %P, i64 8, i1 false)
--  %va = bitcast i8* %a to <vscale x 1 x i8>*
--  call void @byval_callee(<vscale x 1 x i8>* align 1 byval(<vscale x 1 x i8>) %va)
--  ret void
--}
--
--declare void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4, i8* align 4, i64, i1)
--declare void @byval_callee(<vscale x 1 x i8>* align 1 byval(<vscale x 1 x i8>))
--
--; Check that two scalable-vector stores (overlapping, with a constant offset)
--; do not crash the compiler when checked whether or not they can be merged into
--; a single memset. There was previously an assumption that the stored values'
--; sizes could be represented by a known constant amount.
--define void @merge_stores_both_scalable(<vscale x 1 x i8>* %ptr) {
--; CHECK-LABEL: @merge_stores_both_scalable(
--; CHECK-NEXT:    store <vscale x 1 x i8> zeroinitializer, <vscale x 1 x i8>* [[PTR:%.*]], align 1
--; CHECK-NEXT:    [[PTRI8:%.*]] = bitcast <vscale x 1 x i8>* [[PTR]] to i8*
--; CHECK-NEXT:    [[PTR_NEXT:%.*]] = getelementptr i8, i8* [[PTRI8]], i64 1
--; CHECK-NEXT:    [[PTR_NEXT_2:%.*]] = bitcast i8* [[PTR_NEXT]] to <vscale x 1 x i8>*
--; CHECK-NEXT:    store <vscale x 1 x i8> zeroinitializer, <vscale x 1 x i8>* [[PTR_NEXT_2]], align 1
--; CHECK-NEXT:    ret void
--;
--  store <vscale x 1 x i8> zeroinitializer, <vscale x 1 x i8>* %ptr
--  %ptri8 = bitcast <vscale x 1 x i8>* %ptr to i8*
--  %ptr.next = getelementptr i8, i8* %ptri8, i64 1
--  %ptr.next.2 = bitcast i8* %ptr.next to <vscale x 1 x i8>*
--  store <vscale x 1 x i8> zeroinitializer, <vscale x 1 x i8>* %ptr.next.2
--  ret void
--}
--
--; As above, but where the base is scalable but the subsequent store(s) are not.
--define void @merge_stores_first_scalable(<vscale x 1 x i8>* %ptr) {
--; CHECK-LABEL: @merge_stores_first_scalable(
--; CHECK-NEXT:    store <vscale x 1 x i8> zeroinitializer, <vscale x 1 x i8>* [[PTR:%.*]], align 1
--; CHECK-NEXT:    [[PTRI8:%.*]] = bitcast <vscale x 1 x i8>* [[PTR]] to i8*
--; CHECK-NEXT:    [[PTR_NEXT:%.*]] = getelementptr i8, i8* [[PTRI8]], i64 1
--; CHECK-NEXT:    store i8 0, i8* [[PTR_NEXT]], align 1
--; CHECK-NEXT:    ret void
--;
--  store <vscale x 1 x i8> zeroinitializer, <vscale x 1 x i8>* %ptr
--  %ptri8 = bitcast <vscale x 1 x i8>* %ptr to i8*
--  %ptr.next = getelementptr i8, i8* %ptri8, i64 1
--  store i8 zeroinitializer, i8* %ptr.next
--  ret void
--}
--
--; As above, but where the base is not scalable but the subsequent store(s) are.
--define void @merge_stores_second_scalable(i8* %ptr) {
--; CHECK-LABEL: @merge_stores_second_scalable(
--; CHECK-NEXT:    store i8 0, i8* [[PTR:%.*]], align 1
--; CHECK-NEXT:    [[PTR_NEXT:%.*]] = getelementptr i8, i8* [[PTR]], i64 1
--; CHECK-NEXT:    [[PTR_NEXT_2:%.*]] = bitcast i8* [[PTR_NEXT]] to <vscale x 1 x i8>*
--; CHECK-NEXT:    store <vscale x 1 x i8> zeroinitializer, <vscale x 1 x i8>* [[PTR_NEXT_2]], align 1
--; CHECK-NEXT:    ret void
--;
--  store i8 zeroinitializer, i8* %ptr
--  %ptr.next = getelementptr i8, i8* %ptr, i64 1
--  %ptr.next.2 = bitcast i8* %ptr.next to <vscale x 1 x i8>*
--  store <vscale x 1 x i8> zeroinitializer, <vscale x 1 x i8>* %ptr.next.2
--  ret void
--}
--
--; Check that the call-slot optimization doesn't crash when encountering scalable types.
--define void @callslotoptzn(<vscale x 4 x float> %val, <vscale x 4 x float>* %out) {
--; CHECK-LABEL: @callslotoptzn(
--; CHECK-NEXT:    [[ALLOC:%.*]] = alloca <vscale x 4 x float>, align 16
--; CHECK-NEXT:    [[IDX:%.*]] = tail call <vscale x 4 x i32> @llvm.experimental.stepvector.nxv4i32()
--; CHECK-NEXT:    [[BALLOC:%.*]] = getelementptr inbounds <vscale x 4 x float>, <vscale x 4 x float>* [[ALLOC]], i64 0, i64 0
--; CHECK-NEXT:    [[STRIDE:%.*]] = getelementptr inbounds float, float* [[BALLOC]], <vscale x 4 x i32> [[IDX]]
--; CHECK-NEXT:    call void @llvm.masked.scatter.nxv4f32.nxv4p0f32(<vscale x 4 x float> [[VAL:%.*]], <vscale x 4 x float*> [[STRIDE]], i32 4, <vscale x 4 x i1> shufflevector (<vscale x 4 x i1> insertelement (<vscale x 4 x i1> poison, i1 true, i32 0), <vscale x 4 x i1> poison, <vscale x 4 x i32> zeroinitializer))
--; CHECK-NEXT:    [[LI:%.*]] = load <vscale x 4 x float>, <vscale x 4 x float>* [[ALLOC]], align 4
--; CHECK-NEXT:    store <vscale x 4 x float> [[LI]], <vscale x 4 x float>* [[OUT:%.*]], align 4
--; CHECK-NEXT:    ret void
--;
--  %alloc = alloca <vscale x 4 x float>, align 16
--  %idx = tail call <vscale x 4 x i32> @llvm.experimental.stepvector.nxv4i32()
--  %balloc = getelementptr inbounds <vscale x 4 x float>, <vscale x 4 x float>* %alloc, i64 0, i64 0
--  %stride = getelementptr inbounds float, float* %balloc, <vscale x 4 x i32> %idx
--  call void @llvm.masked.scatter.nxv4f32.nxv4p0f32(<vscale x 4 x float> %val, <vscale x 4 x float*> %stride, i32 4, <vscale x 4 x i1> shufflevector (<vscale x 4 x i1> insertelement (<vscale x 4 x i1> poison, i1 true, i32 0), <vscale x 4 x i1> poison, <vscale x 4 x i32> zeroinitializer))
--  %li = load <vscale x 4 x float>, <vscale x 4 x float>* %alloc, align 4
--  store <vscale x 4 x float> %li, <vscale x 4 x float>* %out, align 4
--  ret void
--}
--
--declare <vscale x 4 x i32> @llvm.experimental.stepvector.nxv4i32()
--declare void @llvm.masked.scatter.nxv4f32.nxv4p0f32(<vscale x 4 x float> , <vscale x 4 x float*> , i32, <vscale x 4 x i1>)
--- 
-2.31.0
-
diff --git a/sys-devel/llvm/files/revert-88003cea1c6eb3ebcb18b4f1b9d0e2052dd76fe4.patch b/sys-devel/llvm/files/revert-88003cea1c6eb3ebcb18b4f1b9d0e2052dd76fe4.patch
deleted file mode 100644
index 0c41302..0000000
--- a/sys-devel/llvm/files/revert-88003cea1c6eb3ebcb18b4f1b9d0e2052dd76fe4.patch
+++ /dev/null
@@ -1,2021 +0,0 @@
-Revert "[MemCpyOpt] Remove MemDepAnalysis-based implementation"
-
-This reverts commit 88003cea1c6eb3ebcb18b4f1b9d0e2052dd76fe4.
----
- .../llvm/Transforms/Scalar/MemCpyOptimizer.h       |   7 +-
- llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp     | 539 ++++++++++++++-------
- llvm/test/Analysis/BasicAA/phi-values-usage.ll     |  12 +-
- .../MemCpyOpt/2008-02-24-MultipleUseofSRet.ll      |   3 +-
- .../MemCpyOpt/2008-03-13-ReturnSlotBitcast.ll      |   3 +-
- .../MemCpyOpt/2011-06-02-CallSlotOverwritten.ll    |   3 +-
- .../Transforms/MemCpyOpt/aggregate-type-crash.ll   |   3 +-
- llvm/test/Transforms/MemCpyOpt/align.ll            |   3 +-
- llvm/test/Transforms/MemCpyOpt/atomic.ll           |   3 +-
- llvm/test/Transforms/MemCpyOpt/byval-readnone.ll   |   3 +-
- llvm/test/Transforms/MemCpyOpt/callslot.ll         |  31 +-
- llvm/test/Transforms/MemCpyOpt/callslot_aa.ll      |   3 +-
- llvm/test/Transforms/MemCpyOpt/callslot_deref.ll   |   3 +-
- llvm/test/Transforms/MemCpyOpt/callslot_throw.ll   |   3 +-
- llvm/test/Transforms/MemCpyOpt/capturing-func.ll   |   3 +-
- llvm/test/Transforms/MemCpyOpt/crash.ll            |   3 +-
- llvm/test/Transforms/MemCpyOpt/fca2memcpy.ll       |   3 +-
- llvm/test/Transforms/MemCpyOpt/form-memset.ll      |   3 +-
- llvm/test/Transforms/MemCpyOpt/invariant.start.ll  |  26 +-
- llvm/test/Transforms/MemCpyOpt/lifetime.ll         |   3 +-
- .../Transforms/MemCpyOpt/load-store-to-memcpy.ll   |   3 +-
- llvm/test/Transforms/MemCpyOpt/loadstore-sret.ll   |   3 +-
- .../Transforms/MemCpyOpt/memcpy-invoke-memcpy.ll   |  85 ++--
- .../MemCpyOpt/memcpy-to-memset-with-lifetimes.ll   |   3 +-
- llvm/test/Transforms/MemCpyOpt/memcpy-to-memset.ll |   3 +-
- llvm/test/Transforms/MemCpyOpt/memcpy-undef.ll     |  45 +-
- llvm/test/Transforms/MemCpyOpt/memcpy.ll           |   9 +-
- llvm/test/Transforms/MemCpyOpt/memmove.ll          |   3 +-
- .../MemCpyOpt/memset-memcpy-oversized.ll           |   3 +-
- .../MemCpyOpt/memset-memcpy-redundant-memset.ll    |   3 +-
- .../MemCpyOpt/memset-memcpy-to-2x-memset.ll        |   3 +-
- .../test/Transforms/MemCpyOpt/merge-into-memset.ll |  43 +-
- llvm/test/Transforms/MemCpyOpt/mixed-sizes.ll      |  59 ++-
- llvm/test/Transforms/MemCpyOpt/non-integral.ll     |   3 +-
- .../Transforms/MemCpyOpt/nonlocal-memcpy-memcpy.ll | 189 +++++---
- llvm/test/Transforms/MemCpyOpt/nontemporal.ll      |   3 +-
- llvm/test/Transforms/MemCpyOpt/pr29105.ll          |   3 +-
- llvm/test/Transforms/MemCpyOpt/pr37967.ll          |   3 +-
- llvm/test/Transforms/MemCpyOpt/process_store.ll    |   3 +-
- .../test/Transforms/MemCpyOpt/profitable-memset.ll |   3 +-
- llvm/test/Transforms/MemCpyOpt/smaller.ll          |   6 +-
- llvm/test/Transforms/MemCpyOpt/sret.ll             |   3 +-
- llvm/test/Transforms/MemCpyOpt/stackrestore.ll     |   3 +-
- .../MemCpyOpt/store-to-memset-is-nonzero-type.ll   |   3 +-
- llvm/test/Transforms/MemCpyOpt/store-to-memset.ll  |   3 +-
- .../MemCpyOpt/variable-sized-memcpy-memcpy.ll      |   3 +-
- .../MemCpyOpt/variable-sized-memcpy-uninit.ll      |   3 +-
- .../MemCpyOpt/variable-sized-memset-memcpy.ll      |   3 +-
- llvm/test/Transforms/MemCpyOpt/vscale-memset.ll    |   3 +-
- 49 files changed, 786 insertions(+), 376 deletions(-)
-
-diff --git a/llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h b/llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
-index 76dbec47fbb8..635b706d0bef 100644
---- a/llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
-+++ b/llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
-@@ -31,6 +31,7 @@ class Instruction;
- class LoadInst;
- class MemCpyInst;
- class MemMoveInst;
-+class MemoryDependenceResults;
- class MemorySSA;
- class MemorySSAUpdater;
- class MemSetInst;
-@@ -39,6 +40,7 @@ class TargetLibraryInfo;
- class Value;
- 
- class MemCpyOptPass : public PassInfoMixin<MemCpyOptPass> {
-+  MemoryDependenceResults *MD = nullptr;
-   TargetLibraryInfo *TLI = nullptr;
-   AAResults *AA = nullptr;
-   AssumptionCache *AC = nullptr;
-@@ -52,8 +54,9 @@ public:
-   PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
- 
-   // Glue for the old PM.
--  bool runImpl(Function &F, TargetLibraryInfo *TLI, AAResults *AA,
--               AssumptionCache *AC, DominatorTree *DT, MemorySSA *MSSA);
-+  bool runImpl(Function &F, MemoryDependenceResults *MD, TargetLibraryInfo *TLI,
-+               AAResults *AA, AssumptionCache *AC, DominatorTree *DT,
-+               MemorySSA *MSSA);
- 
- private:
-   // Helper functions
-diff --git a/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp b/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-index d15bd4749d0d..42650f3b6f2e 100644
---- a/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-+++ b/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-@@ -22,6 +22,7 @@
- #include "llvm/Analysis/AssumptionCache.h"
- #include "llvm/Analysis/GlobalsModRef.h"
- #include "llvm/Analysis/Loads.h"
-+#include "llvm/Analysis/MemoryDependenceAnalysis.h"
- #include "llvm/Analysis/MemoryLocation.h"
- #include "llvm/Analysis/MemorySSA.h"
- #include "llvm/Analysis/MemorySSAUpdater.h"
-@@ -70,6 +71,10 @@ static cl::opt<bool> EnableMemCpyOptWithoutLibcalls(
-     "enable-memcpyopt-without-libcalls", cl::init(false), cl::Hidden,
-     cl::desc("Enable memcpyopt even when libcalls are disabled"));
- 
-+static cl::opt<bool>
-+    EnableMemorySSA("enable-memcpyopt-memoryssa", cl::init(true), cl::Hidden,
-+                    cl::desc("Use MemorySSA-backed MemCpyOpt."));
-+
- STATISTIC(NumMemCpyInstr, "Number of memcpy instructions deleted");
- STATISTIC(NumMemSetInfer, "Number of memsets inferred");
- STATISTIC(NumMoveToCpy,   "Number of memmoves converted to memcpy");
-@@ -281,9 +286,13 @@ private:
-     AU.addPreserved<DominatorTreeWrapperPass>();
-     AU.addPreserved<GlobalsAAWrapperPass>();
-     AU.addRequired<TargetLibraryInfoWrapperPass>();
-+    if (!EnableMemorySSA)
-+      AU.addRequired<MemoryDependenceWrapperPass>();
-+    AU.addPreserved<MemoryDependenceWrapperPass>();
-     AU.addRequired<AAResultsWrapperPass>();
-     AU.addPreserved<AAResultsWrapperPass>();
--    AU.addRequired<MemorySSAWrapperPass>();
-+    if (EnableMemorySSA)
-+      AU.addRequired<MemorySSAWrapperPass>();
-     AU.addPreserved<MemorySSAWrapperPass>();
-   }
- };
-@@ -299,6 +308,7 @@ INITIALIZE_PASS_BEGIN(MemCpyOptLegacyPass, "memcpyopt", "MemCpy Optimization",
-                       false, false)
- INITIALIZE_PASS_DEPENDENCY(AssumptionCacheTracker)
- INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass)
-+INITIALIZE_PASS_DEPENDENCY(MemoryDependenceWrapperPass)
- INITIALIZE_PASS_DEPENDENCY(TargetLibraryInfoWrapperPass)
- INITIALIZE_PASS_DEPENDENCY(AAResultsWrapperPass)
- INITIALIZE_PASS_DEPENDENCY(GlobalsAAWrapperPass)
-@@ -323,7 +333,10 @@ static bool mayBeVisibleThroughUnwinding(Value *V, Instruction *Start,
- }
- 
- void MemCpyOptPass::eraseInstruction(Instruction *I) {
--  MSSAU->removeMemoryAccess(I);
-+  if (MSSAU)
-+    MSSAU->removeMemoryAccess(I);
-+  if (MD)
-+    MD->removeInstruction(I);
-   I->eraseFromParent();
- }
- 
-@@ -380,12 +393,14 @@ Instruction *MemCpyOptPass::tryMergingIntoMemset(Instruction *StartInst,
-   // memsets.
-   MemoryDef *LastMemDef = nullptr;
-   for (++BI; !BI->isTerminator(); ++BI) {
--    auto *CurrentAcc = cast_or_null<MemoryUseOrDef>(
--        MSSAU->getMemorySSA()->getMemoryAccess(&*BI));
--    if (CurrentAcc) {
--      MemInsertPoint = CurrentAcc;
--      if (auto *CurrentDef = dyn_cast<MemoryDef>(CurrentAcc))
--        LastMemDef = CurrentDef;
-+    if (MSSAU) {
-+      auto *CurrentAcc = cast_or_null<MemoryUseOrDef>(
-+          MSSAU->getMemorySSA()->getMemoryAccess(&*BI));
-+      if (CurrentAcc) {
-+        MemInsertPoint = CurrentAcc;
-+        if (auto *CurrentDef = dyn_cast<MemoryDef>(CurrentAcc))
-+          LastMemDef = CurrentDef;
-+      }
-     }
- 
-     // Calls that only access inaccessible memory do not block merging
-@@ -483,17 +498,19 @@ Instruction *MemCpyOptPass::tryMergingIntoMemset(Instruction *StartInst,
-     if (!Range.TheStores.empty())
-       AMemSet->setDebugLoc(Range.TheStores[0]->getDebugLoc());
- 
--    assert(LastMemDef && MemInsertPoint &&
--           "Both LastMemDef and MemInsertPoint need to be set");
--    auto *NewDef =
--        cast<MemoryDef>(MemInsertPoint->getMemoryInst() == &*BI
--                            ? MSSAU->createMemoryAccessBefore(
--                                  AMemSet, LastMemDef, MemInsertPoint)
--                            : MSSAU->createMemoryAccessAfter(
--                                  AMemSet, LastMemDef, MemInsertPoint));
--    MSSAU->insertDef(NewDef, /*RenameUses=*/true);
--    LastMemDef = NewDef;
--    MemInsertPoint = NewDef;
-+    if (MSSAU) {
-+      assert(LastMemDef && MemInsertPoint &&
-+             "Both LastMemDef and MemInsertPoint need to be set");
-+      auto *NewDef =
-+          cast<MemoryDef>(MemInsertPoint->getMemoryInst() == &*BI
-+                              ? MSSAU->createMemoryAccessBefore(
-+                                    AMemSet, LastMemDef, MemInsertPoint)
-+                              : MSSAU->createMemoryAccessAfter(
-+                                    AMemSet, LastMemDef, MemInsertPoint));
-+      MSSAU->insertDef(NewDef, /*RenameUses=*/true);
-+      LastMemDef = NewDef;
-+      MemInsertPoint = NewDef;
-+    }
- 
-     // Zap all the stores.
-     for (Instruction *SI : Range.TheStores)
-@@ -602,15 +619,17 @@ bool MemCpyOptPass::moveUp(StoreInst *SI, Instruction *P, const LoadInst *LI) {
-   // TODO: Simplify this once P will be determined by MSSA, in which case the
-   // discrepancy can no longer occur.
-   MemoryUseOrDef *MemInsertPoint = nullptr;
--  if (MemoryUseOrDef *MA = MSSAU->getMemorySSA()->getMemoryAccess(P)) {
--    MemInsertPoint = cast<MemoryUseOrDef>(--MA->getIterator());
--  } else {
--    const Instruction *ConstP = P;
--    for (const Instruction &I : make_range(++ConstP->getReverseIterator(),
--                                           ++LI->getReverseIterator())) {
--      if (MemoryUseOrDef *MA = MSSAU->getMemorySSA()->getMemoryAccess(&I)) {
--        MemInsertPoint = MA;
--        break;
-+  if (MSSAU) {
-+    if (MemoryUseOrDef *MA = MSSAU->getMemorySSA()->getMemoryAccess(P)) {
-+      MemInsertPoint = cast<MemoryUseOrDef>(--MA->getIterator());
-+    } else {
-+      const Instruction *ConstP = P;
-+      for (const Instruction &I : make_range(++ConstP->getReverseIterator(),
-+                                             ++LI->getReverseIterator())) {
-+        if (MemoryUseOrDef *MA = MSSAU->getMemorySSA()->getMemoryAccess(&I)) {
-+          MemInsertPoint = MA;
-+          break;
-+        }
-       }
-     }
-   }
-@@ -619,10 +638,12 @@ bool MemCpyOptPass::moveUp(StoreInst *SI, Instruction *P, const LoadInst *LI) {
-   for (auto *I : llvm::reverse(ToLift)) {
-     LLVM_DEBUG(dbgs() << "Lifting " << *I << " before " << *P << "\n");
-     I->moveBefore(P);
--    assert(MemInsertPoint && "Must have found insert point");
--    if (MemoryUseOrDef *MA = MSSAU->getMemorySSA()->getMemoryAccess(I)) {
--      MSSAU->moveAfter(MA, MemInsertPoint);
--      MemInsertPoint = MA;
-+    if (MSSAU) {
-+      assert(MemInsertPoint && "Must have found insert point");
-+      if (MemoryUseOrDef *MA = MSSAU->getMemorySSA()->getMemoryAccess(I)) {
-+        MSSAU->moveAfter(MA, MemInsertPoint);
-+        MemInsertPoint = MA;
-+      }
-     }
-   }
- 
-@@ -714,10 +735,13 @@ bool MemCpyOptPass::processStore(StoreInst *SI, BasicBlock::iterator &BBI) {
-           LLVM_DEBUG(dbgs() << "Promoting " << *LI << " to " << *SI << " => "
-                             << *M << "\n");
- 
--          auto *LastDef =
--              cast<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(SI));
--          auto *NewAccess = MSSAU->createMemoryAccessAfter(M, LastDef, LastDef);
--          MSSAU->insertDef(cast<MemoryDef>(NewAccess), /*RenameUses=*/true);
-+          if (MSSAU) {
-+            auto *LastDef =
-+                cast<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(SI));
-+            auto *NewAccess =
-+                MSSAU->createMemoryAccessAfter(M, LastDef, LastDef);
-+            MSSAU->insertDef(cast<MemoryDef>(NewAccess), /*RenameUses=*/true);
-+          }
- 
-           eraseInstruction(SI);
-           eraseInstruction(LI);
-@@ -733,21 +757,38 @@ bool MemCpyOptPass::processStore(StoreInst *SI, BasicBlock::iterator &BBI) {
-       // happen to be using a load-store pair to implement it, rather than
-       // a memcpy.
-       CallInst *C = nullptr;
--      if (auto *LoadClobber = dyn_cast<MemoryUseOrDef>(
--              MSSA->getWalker()->getClobberingMemoryAccess(LI))) {
--        // The load most post-dom the call. Limit to the same block for now.
--        // TODO: Support non-local call-slot optimization?
--        if (LoadClobber->getBlock() == SI->getParent())
--          C = dyn_cast_or_null<CallInst>(LoadClobber->getMemoryInst());
-+      if (EnableMemorySSA) {
-+        if (auto *LoadClobber = dyn_cast<MemoryUseOrDef>(
-+                MSSA->getWalker()->getClobberingMemoryAccess(LI))) {
-+          // The load most post-dom the call. Limit to the same block for now.
-+          // TODO: Support non-local call-slot optimization?
-+          if (LoadClobber->getBlock() == SI->getParent())
-+            C = dyn_cast_or_null<CallInst>(LoadClobber->getMemoryInst());
-+        }
-+      } else {
-+        MemDepResult ldep = MD->getDependency(LI);
-+        if (ldep.isClobber() && !isa<MemCpyInst>(ldep.getInst()))
-+          C = dyn_cast<CallInst>(ldep.getInst());
-       }
- 
-       if (C) {
-         // Check that nothing touches the dest of the "copy" between
-         // the call and the store.
-         MemoryLocation StoreLoc = MemoryLocation::get(SI);
--        if (accessedBetween(*AA, StoreLoc, MSSA->getMemoryAccess(C),
--                            MSSA->getMemoryAccess(SI)))
--          C = nullptr;
-+        if (EnableMemorySSA) {
-+          if (accessedBetween(*AA, StoreLoc, MSSA->getMemoryAccess(C),
-+                              MSSA->getMemoryAccess(SI)))
-+            C = nullptr;
-+        } else {
-+          for (BasicBlock::iterator I = --SI->getIterator(),
-+                                    E = C->getIterator();
-+               I != E; --I) {
-+            if (isModOrRefSet(AA->getModRefInfo(&*I, StoreLoc))) {
-+              C = nullptr;
-+              break;
-+            }
-+          }
-+        }
-       }
- 
-       if (C) {
-@@ -799,11 +840,13 @@ bool MemCpyOptPass::processStore(StoreInst *SI, BasicBlock::iterator &BBI) {
- 
-       LLVM_DEBUG(dbgs() << "Promoting " << *SI << " to " << *M << "\n");
- 
--      assert(isa<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(SI)));
--      auto *LastDef =
--          cast<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(SI));
--      auto *NewAccess = MSSAU->createMemoryAccessAfter(M, LastDef, LastDef);
--      MSSAU->insertDef(cast<MemoryDef>(NewAccess), /*RenameUses=*/true);
-+      if (MSSAU) {
-+        assert(isa<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(SI)));
-+        auto *LastDef =
-+            cast<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(SI));
-+        auto *NewAccess = MSSAU->createMemoryAccessAfter(M, LastDef, LastDef);
-+        MSSAU->insertDef(cast<MemoryDef>(NewAccess), /*RenameUses=*/true);
-+      }
- 
-       eraseInstruction(SI);
-       NumMemSetInfer++;
-@@ -995,6 +1038,11 @@ bool MemCpyOptPass::performCallSlotOptzn(Instruction *cpyLoad,
-     cast<AllocaInst>(cpyDest)->setAlignment(srcAlign);
-   }
- 
-+  // Drop any cached information about the call, because we may have changed
-+  // its dependence information by changing its parameter.
-+  if (MD)
-+    MD->removeInstruction(C);
-+
-   // Update AA metadata
-   // FIXME: MD_tbaa_struct and MD_mem_parallel_loop_access should also be
-   // handled here, but combineMetadata doesn't support them yet
-@@ -1043,11 +1091,21 @@ bool MemCpyOptPass::processMemCpyMemCpyDependence(MemCpyInst *M,
-   //
-   // TODO: If the code between M and MDep is transparent to the destination "c",
-   // then we could still perform the xform by moving M up to the first memcpy.
--  // TODO: It would be sufficient to check the MDep source up to the memcpy
--  // size of M, rather than MDep.
--  if (writtenBetween(MSSA, MemoryLocation::getForSource(MDep),
--                     MSSA->getMemoryAccess(MDep), MSSA->getMemoryAccess(M)))
--    return false;
-+  if (EnableMemorySSA) {
-+    // TODO: It would be sufficient to check the MDep source up to the memcpy
-+    // size of M, rather than MDep.
-+    if (writtenBetween(MSSA, MemoryLocation::getForSource(MDep),
-+                       MSSA->getMemoryAccess(MDep), MSSA->getMemoryAccess(M)))
-+      return false;
-+  } else {
-+    // NOTE: This is conservative, it will stop on any read from the source loc,
-+    // not just the defining memcpy.
-+    MemDepResult SourceDep =
-+        MD->getPointerDependencyFrom(MemoryLocation::getForSource(MDep), false,
-+                                     M->getIterator(), M->getParent());
-+    if (!SourceDep.isClobber() || SourceDep.getInst() != MDep)
-+      return false;
-+  }
- 
-   // If the dest of the second might alias the source of the first, then the
-   // source and dest might overlap. In addition, if the source of the first
-@@ -1082,10 +1140,12 @@ bool MemCpyOptPass::processMemCpyMemCpyDependence(MemCpyInst *M,
-                                 MDep->getRawSource(), MDep->getSourceAlign(),
-                                 M->getLength(), M->isVolatile());
- 
--  assert(isa<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(M)));
--  auto *LastDef = cast<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(M));
--  auto *NewAccess = MSSAU->createMemoryAccessAfter(NewM, LastDef, LastDef);
--  MSSAU->insertDef(cast<MemoryDef>(NewAccess), /*RenameUses=*/true);
-+  if (MSSAU) {
-+    assert(isa<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(M)));
-+    auto *LastDef = cast<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(M));
-+    auto *NewAccess = MSSAU->createMemoryAccessAfter(NewM, LastDef, LastDef);
-+    MSSAU->insertDef(cast<MemoryDef>(NewAccess), /*RenameUses=*/true);
-+  }
- 
-   // Remove the instruction we're replacing.
-   eraseInstruction(M);
-@@ -1118,13 +1178,24 @@ bool MemCpyOptPass::processMemSetMemCpyDependence(MemCpyInst *MemCpy,
-   if (isModSet(AA->getModRefInfo(MemCpy, MemoryLocation::getForSource(MemCpy))))
-     return false;
- 
--  // We know that dst up to src_size is not written. We now need to make sure
--  // that dst up to dst_size is not accessed. (If we did not move the memset,
--  // checking for reads would be sufficient.)
--  if (accessedBetween(*AA, MemoryLocation::getForDest(MemSet),
--                      MSSA->getMemoryAccess(MemSet),
--                      MSSA->getMemoryAccess(MemCpy)))
--    return false;
-+  if (EnableMemorySSA) {
-+    // We know that dst up to src_size is not written. We now need to make sure
-+    // that dst up to dst_size is not accessed. (If we did not move the memset,
-+    // checking for reads would be sufficient.)
-+    if (accessedBetween(*AA, MemoryLocation::getForDest(MemSet),
-+                        MSSA->getMemoryAccess(MemSet),
-+                        MSSA->getMemoryAccess(MemCpy))) {
-+      return false;
-+    }
-+  } else {
-+    // We have already checked that dst up to src_size is not accessed. We
-+    // need to make sure that there are no accesses up to dst_size either.
-+    MemDepResult DstDepInfo = MD->getPointerDependencyFrom(
-+        MemoryLocation::getForDest(MemSet), false, MemCpy->getIterator(),
-+        MemCpy->getParent());
-+    if (DstDepInfo.getInst() != MemSet)
-+      return false;
-+  }
- 
-   // Use the same i8* dest as the memcpy, killing the memset dest if different.
-   Value *Dest = MemCpy->getRawDest();
-@@ -1174,16 +1245,18 @@ bool MemCpyOptPass::processMemSetMemCpyDependence(MemCpyInst *MemCpy,
-                         SrcSize),
-       MemSet->getOperand(1), MemsetLen, MaybeAlign(Align));
- 
--  assert(isa<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(MemCpy)) &&
--         "MemCpy must be a MemoryDef");
--  // The new memset is inserted after the memcpy, but it is known that its
--  // defining access is the memset about to be removed which immediately
--  // precedes the memcpy.
--  auto *LastDef =
--      cast<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(MemCpy));
--  auto *NewAccess = MSSAU->createMemoryAccessBefore(
--      NewMemSet, LastDef->getDefiningAccess(), LastDef);
--  MSSAU->insertDef(cast<MemoryDef>(NewAccess), /*RenameUses=*/true);
-+  if (MSSAU) {
-+    assert(isa<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(MemCpy)) &&
-+           "MemCpy must be a MemoryDef");
-+    // The new memset is inserted after the memcpy, but it is known that its
-+    // defining access is the memset about to be removed which immediately
-+    // precedes the memcpy.
-+    auto *LastDef =
-+        cast<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(MemCpy));
-+    auto *NewAccess = MSSAU->createMemoryAccessBefore(
-+        NewMemSet, LastDef->getDefiningAccess(), LastDef);
-+    MSSAU->insertDef(cast<MemoryDef>(NewAccess), /*RenameUses=*/true);
-+  }
- 
-   eraseInstruction(MemSet);
-   return true;
-@@ -1191,8 +1264,23 @@ bool MemCpyOptPass::processMemSetMemCpyDependence(MemCpyInst *MemCpy,
- 
- /// Determine whether the instruction has undefined content for the given Size,
- /// either because it was freshly alloca'd or started its lifetime.
--static bool hasUndefContents(MemorySSA *MSSA, AliasAnalysis *AA, Value *V,
--                             MemoryDef *Def, Value *Size) {
-+static bool hasUndefContents(Instruction *I, Value *Size) {
-+  if (isa<AllocaInst>(I))
-+    return true;
-+
-+  if (ConstantInt *CSize = dyn_cast<ConstantInt>(Size)) {
-+    if (IntrinsicInst *II = dyn_cast<IntrinsicInst>(I))
-+      if (II->getIntrinsicID() == Intrinsic::lifetime_start)
-+        if (ConstantInt *LTSize = dyn_cast<ConstantInt>(II->getArgOperand(0)))
-+          if (LTSize->getZExtValue() >= CSize->getZExtValue())
-+            return true;
-+  }
-+
-+  return false;
-+}
-+
-+static bool hasUndefContentsMSSA(MemorySSA *MSSA, AliasAnalysis *AA, Value *V,
-+                                 MemoryDef *Def, Value *Size) {
-   if (MSSA->isLiveOnEntryDef(Def))
-     return isa<AllocaInst>(getUnderlyingObject(V));
- 
-@@ -1266,12 +1354,19 @@ bool MemCpyOptPass::performMemCpyToMemSetOptzn(MemCpyInst *MemCpy,
-       // easily represent this location, we use the full 0..CopySize range.
-       MemoryLocation MemCpyLoc = MemoryLocation::getForSource(MemCpy);
-       bool CanReduceSize = false;
--      MemoryUseOrDef *MemSetAccess = MSSA->getMemoryAccess(MemSet);
--      MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess(
--          MemSetAccess->getDefiningAccess(), MemCpyLoc);
--      if (auto *MD = dyn_cast<MemoryDef>(Clobber))
--        if (hasUndefContents(MSSA, AA, MemCpy->getSource(), MD, CopySize))
-+      if (EnableMemorySSA) {
-+        MemoryUseOrDef *MemSetAccess = MSSA->getMemoryAccess(MemSet);
-+        MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess(
-+            MemSetAccess->getDefiningAccess(), MemCpyLoc);
-+        if (auto *MD = dyn_cast<MemoryDef>(Clobber))
-+          if (hasUndefContentsMSSA(MSSA, AA, MemCpy->getSource(), MD, CopySize))
-+            CanReduceSize = true;
-+      } else {
-+        MemDepResult DepInfo = MD->getPointerDependencyFrom(
-+            MemCpyLoc, true, MemSet->getIterator(), MemSet->getParent());
-+        if (DepInfo.isDef() && hasUndefContents(DepInfo.getInst(), CopySize))
-           CanReduceSize = true;
-+      }
- 
-       if (!CanReduceSize)
-         return false;
-@@ -1283,10 +1378,12 @@ bool MemCpyOptPass::performMemCpyToMemSetOptzn(MemCpyInst *MemCpy,
-   Instruction *NewM =
-       Builder.CreateMemSet(MemCpy->getRawDest(), MemSet->getOperand(1),
-                            CopySize, MaybeAlign(MemCpy->getDestAlignment()));
--  auto *LastDef =
--      cast<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(MemCpy));
--  auto *NewAccess = MSSAU->createMemoryAccessAfter(NewM, LastDef, LastDef);
--  MSSAU->insertDef(cast<MemoryDef>(NewAccess), /*RenameUses=*/true);
-+  if (MSSAU) {
-+    auto *LastDef =
-+        cast<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(MemCpy));
-+    auto *NewAccess = MSSAU->createMemoryAccessAfter(NewM, LastDef, LastDef);
-+    MSSAU->insertDef(cast<MemoryDef>(NewAccess), /*RenameUses=*/true);
-+  }
- 
-   return true;
- }
-@@ -1316,88 +1413,149 @@ bool MemCpyOptPass::processMemCpy(MemCpyInst *M, BasicBlock::iterator &BBI) {
-         Instruction *NewM =
-             Builder.CreateMemSet(M->getRawDest(), ByteVal, M->getLength(),
-                                  MaybeAlign(M->getDestAlignment()), false);
--        auto *LastDef =
--            cast<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(M));
--        auto *NewAccess =
--            MSSAU->createMemoryAccessAfter(NewM, LastDef, LastDef);
--        MSSAU->insertDef(cast<MemoryDef>(NewAccess), /*RenameUses=*/true);
-+        if (MSSAU) {
-+          auto *LastDef =
-+              cast<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(M));
-+          auto *NewAccess =
-+              MSSAU->createMemoryAccessAfter(NewM, LastDef, LastDef);
-+          MSSAU->insertDef(cast<MemoryDef>(NewAccess), /*RenameUses=*/true);
-+        }
- 
-         eraseInstruction(M);
-         ++NumCpyToSet;
-         return true;
-       }
- 
--  MemoryUseOrDef *MA = MSSA->getMemoryAccess(M);
--  MemoryAccess *AnyClobber = MSSA->getWalker()->getClobberingMemoryAccess(MA);
--  MemoryLocation DestLoc = MemoryLocation::getForDest(M);
--  const MemoryAccess *DestClobber =
--      MSSA->getWalker()->getClobberingMemoryAccess(AnyClobber, DestLoc);
--
--  // Try to turn a partially redundant memset + memcpy into
--  // memcpy + smaller memset.  We don't need the memcpy size for this.
--  // The memcpy most post-dom the memset, so limit this to the same basic
--  // block. A non-local generalization is likely not worthwhile.
--  if (auto *MD = dyn_cast<MemoryDef>(DestClobber))
--    if (auto *MDep = dyn_cast_or_null<MemSetInst>(MD->getMemoryInst()))
--      if (DestClobber->getBlock() == M->getParent())
-+  if (EnableMemorySSA) {
-+    MemoryUseOrDef *MA = MSSA->getMemoryAccess(M);
-+    MemoryAccess *AnyClobber = MSSA->getWalker()->getClobberingMemoryAccess(MA);
-+    MemoryLocation DestLoc = MemoryLocation::getForDest(M);
-+    const MemoryAccess *DestClobber =
-+        MSSA->getWalker()->getClobberingMemoryAccess(AnyClobber, DestLoc);
-+
-+    // Try to turn a partially redundant memset + memcpy into
-+    // memcpy + smaller memset.  We don't need the memcpy size for this.
-+    // The memcpy most post-dom the memset, so limit this to the same basic
-+    // block. A non-local generalization is likely not worthwhile.
-+    if (auto *MD = dyn_cast<MemoryDef>(DestClobber))
-+      if (auto *MDep = dyn_cast_or_null<MemSetInst>(MD->getMemoryInst()))
-+        if (DestClobber->getBlock() == M->getParent())
-+          if (processMemSetMemCpyDependence(M, MDep))
-+            return true;
-+
-+    MemoryAccess *SrcClobber = MSSA->getWalker()->getClobberingMemoryAccess(
-+        AnyClobber, MemoryLocation::getForSource(M));
-+
-+    // There are four possible optimizations we can do for memcpy:
-+    //   a) memcpy-memcpy xform which exposes redundance for DSE.
-+    //   b) call-memcpy xform for return slot optimization.
-+    //   c) memcpy from freshly alloca'd space or space that has just started
-+    //      its lifetime copies undefined data, and we can therefore eliminate
-+    //      the memcpy in favor of the data that was already at the destination.
-+    //   d) memcpy from a just-memset'd source can be turned into memset.
-+    if (auto *MD = dyn_cast<MemoryDef>(SrcClobber)) {
-+      if (Instruction *MI = MD->getMemoryInst()) {
-+        if (ConstantInt *CopySize = dyn_cast<ConstantInt>(M->getLength())) {
-+          if (auto *C = dyn_cast<CallInst>(MI)) {
-+            // The memcpy must post-dom the call. Limit to the same block for
-+            // now. Additionally, we need to ensure that there are no accesses
-+            // to dest between the call and the memcpy. Accesses to src will be
-+            // checked by performCallSlotOptzn().
-+            // TODO: Support non-local call-slot optimization?
-+            if (C->getParent() == M->getParent() &&
-+                !accessedBetween(*AA, DestLoc, MD, MA)) {
-+              // FIXME: Can we pass in either of dest/src alignment here instead
-+              // of conservatively taking the minimum?
-+              Align Alignment = std::min(M->getDestAlign().valueOrOne(),
-+                                         M->getSourceAlign().valueOrOne());
-+              if (performCallSlotOptzn(M, M, M->getDest(), M->getSource(),
-+                                       CopySize->getZExtValue(), Alignment,
-+                                       C)) {
-+                LLVM_DEBUG(dbgs() << "Performed call slot optimization:\n"
-+                                  << "    call: " << *C << "\n"
-+                                  << "    memcpy: " << *M << "\n");
-+                eraseInstruction(M);
-+                ++NumMemCpyInstr;
-+                return true;
-+              }
-+            }
-+          }
-+        }
-+        if (auto *MDep = dyn_cast<MemCpyInst>(MI))
-+          return processMemCpyMemCpyDependence(M, MDep);
-+        if (auto *MDep = dyn_cast<MemSetInst>(MI)) {
-+          if (performMemCpyToMemSetOptzn(M, MDep)) {
-+            LLVM_DEBUG(dbgs() << "Converted memcpy to memset\n");
-+            eraseInstruction(M);
-+            ++NumCpyToSet;
-+            return true;
-+          }
-+        }
-+      }
-+
-+      if (hasUndefContentsMSSA(MSSA, AA, M->getSource(), MD, M->getLength())) {
-+        LLVM_DEBUG(dbgs() << "Removed memcpy from undef\n");
-+        eraseInstruction(M);
-+        ++NumMemCpyInstr;
-+        return true;
-+      }
-+    }
-+  } else {
-+    MemDepResult DepInfo = MD->getDependency(M);
-+
-+    // Try to turn a partially redundant memset + memcpy into
-+    // memcpy + smaller memset.  We don't need the memcpy size for this.
-+    if (DepInfo.isClobber())
-+      if (MemSetInst *MDep = dyn_cast<MemSetInst>(DepInfo.getInst()))
-         if (processMemSetMemCpyDependence(M, MDep))
-           return true;
- 
--  MemoryAccess *SrcClobber = MSSA->getWalker()->getClobberingMemoryAccess(
--      AnyClobber, MemoryLocation::getForSource(M));
--
--  // There are four possible optimizations we can do for memcpy:
--  //   a) memcpy-memcpy xform which exposes redundance for DSE.
--  //   b) call-memcpy xform for return slot optimization.
--  //   c) memcpy from freshly alloca'd space or space that has just started
--  //      its lifetime copies undefined data, and we can therefore eliminate
--  //      the memcpy in favor of the data that was already at the destination.
--  //   d) memcpy from a just-memset'd source can be turned into memset.
--  if (auto *MD = dyn_cast<MemoryDef>(SrcClobber)) {
--    if (Instruction *MI = MD->getMemoryInst()) {
--      if (ConstantInt *CopySize = dyn_cast<ConstantInt>(M->getLength())) {
--        if (auto *C = dyn_cast<CallInst>(MI)) {
--          // The memcpy must post-dom the call. Limit to the same block for
--          // now. Additionally, we need to ensure that there are no accesses
--          // to dest between the call and the memcpy. Accesses to src will be
--          // checked by performCallSlotOptzn().
--          // TODO: Support non-local call-slot optimization?
--          if (C->getParent() == M->getParent() &&
--              !accessedBetween(*AA, DestLoc, MD, MA)) {
--            // FIXME: Can we pass in either of dest/src alignment here instead
--            // of conservatively taking the minimum?
--            Align Alignment = std::min(M->getDestAlign().valueOrOne(),
--                                       M->getSourceAlign().valueOrOne());
--            if (performCallSlotOptzn(M, M, M->getDest(), M->getSource(),
--                                     CopySize->getZExtValue(), Alignment, C)) {
--              LLVM_DEBUG(dbgs() << "Performed call slot optimization:\n"
--                                << "    call: " << *C << "\n"
--                                << "    memcpy: " << *M << "\n");
--              eraseInstruction(M);
--              ++NumMemCpyInstr;
--              return true;
--            }
-+    // There are four possible optimizations we can do for memcpy:
-+    //   a) memcpy-memcpy xform which exposes redundance for DSE.
-+    //   b) call-memcpy xform for return slot optimization.
-+    //   c) memcpy from freshly alloca'd space or space that has just started
-+    //      its lifetime copies undefined data, and we can therefore eliminate
-+    //      the memcpy in favor of the data that was already at the destination.
-+    //   d) memcpy from a just-memset'd source can be turned into memset.
-+    if (ConstantInt *CopySize = dyn_cast<ConstantInt>(M->getLength())) {
-+      if (DepInfo.isClobber()) {
-+        if (CallInst *C = dyn_cast<CallInst>(DepInfo.getInst())) {
-+          // FIXME: Can we pass in either of dest/src alignment here instead
-+          // of conservatively taking the minimum?
-+          Align Alignment = std::min(M->getDestAlign().valueOrOne(),
-+                                     M->getSourceAlign().valueOrOne());
-+          if (performCallSlotOptzn(M, M, M->getDest(), M->getSource(),
-+                                   CopySize->getZExtValue(), Alignment, C)) {
-+            eraseInstruction(M);
-+            ++NumMemCpyInstr;
-+            return true;
-           }
-         }
-       }
--      if (auto *MDep = dyn_cast<MemCpyInst>(MI))
-+    }
-+
-+    MemoryLocation SrcLoc = MemoryLocation::getForSource(M);
-+    MemDepResult SrcDepInfo = MD->getPointerDependencyFrom(
-+        SrcLoc, true, M->getIterator(), M->getParent());
-+
-+    if (SrcDepInfo.isClobber()) {
-+      if (MemCpyInst *MDep = dyn_cast<MemCpyInst>(SrcDepInfo.getInst()))
-         return processMemCpyMemCpyDependence(M, MDep);
--      if (auto *MDep = dyn_cast<MemSetInst>(MI)) {
-+    } else if (SrcDepInfo.isDef()) {
-+      if (hasUndefContents(SrcDepInfo.getInst(), M->getLength())) {
-+        eraseInstruction(M);
-+        ++NumMemCpyInstr;
-+        return true;
-+      }
-+    }
-+
-+    if (SrcDepInfo.isClobber())
-+      if (MemSetInst *MDep = dyn_cast<MemSetInst>(SrcDepInfo.getInst()))
-         if (performMemCpyToMemSetOptzn(M, MDep)) {
--          LLVM_DEBUG(dbgs() << "Converted memcpy to memset\n");
-           eraseInstruction(M);
-           ++NumCpyToSet;
-           return true;
-         }
--      }
--    }
--
--    if (hasUndefContents(MSSA, AA, M->getSource(), MD, M->getLength())) {
--      LLVM_DEBUG(dbgs() << "Removed memcpy from undef\n");
--      eraseInstruction(M);
--      ++NumMemCpyInstr;
--      return true;
--    }
-   }
- 
-   return false;
-@@ -1423,6 +1581,11 @@ bool MemCpyOptPass::processMemMove(MemMoveInst *M) {
-   // For MemorySSA nothing really changes (except that memcpy may imply stricter
-   // aliasing guarantees).
- 
-+  // MemDep may have over conservative information about this instruction, just
-+  // conservatively flush it from the cache.
-+  if (MD)
-+    MD->removeInstruction(M);
-+
-   ++NumMoveToCpy;
-   return true;
- }
-@@ -1435,14 +1598,22 @@ bool MemCpyOptPass::processByValArgument(CallBase &CB, unsigned ArgNo) {
-   Type *ByValTy = CB.getParamByValType(ArgNo);
-   uint64_t ByValSize = DL.getTypeAllocSize(ByValTy);
-   MemoryLocation Loc(ByValArg, LocationSize::precise(ByValSize));
--  MemoryUseOrDef *CallAccess = MSSA->getMemoryAccess(&CB);
--  if (!CallAccess)
--    return false;
-   MemCpyInst *MDep = nullptr;
--  MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess(
--      CallAccess->getDefiningAccess(), Loc);
--  if (auto *MD = dyn_cast<MemoryDef>(Clobber))
--    MDep = dyn_cast_or_null<MemCpyInst>(MD->getMemoryInst());
-+  if (EnableMemorySSA) {
-+    MemoryUseOrDef *CallAccess = MSSA->getMemoryAccess(&CB);
-+    if (!CallAccess)
-+      return false;
-+    MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess(
-+        CallAccess->getDefiningAccess(), Loc);
-+    if (auto *MD = dyn_cast<MemoryDef>(Clobber))
-+      MDep = dyn_cast_or_null<MemCpyInst>(MD->getMemoryInst());
-+  } else {
-+    MemDepResult DepInfo = MD->getPointerDependencyFrom(
-+        Loc, true, CB.getIterator(), CB.getParent());
-+    if (!DepInfo.isClobber())
-+      return false;
-+    MDep = dyn_cast<MemCpyInst>(DepInfo.getInst());
-+  }
- 
-   // If the byval argument isn't fed by a memcpy, ignore it.  If it is fed by
-   // a memcpy, see if we can byval from the source of the memcpy instead of the
-@@ -1480,9 +1651,19 @@ bool MemCpyOptPass::processByValArgument(CallBase &CB, unsigned ArgNo) {
-   //    *b = 42;
-   //    foo(*a)
-   // It would be invalid to transform the second memcpy into foo(*b).
--  if (writtenBetween(MSSA, MemoryLocation::getForSource(MDep),
--                     MSSA->getMemoryAccess(MDep), MSSA->getMemoryAccess(&CB)))
--    return false;
-+  if (EnableMemorySSA) {
-+    if (writtenBetween(MSSA, MemoryLocation::getForSource(MDep),
-+                       MSSA->getMemoryAccess(MDep), MSSA->getMemoryAccess(&CB)))
-+      return false;
-+  } else {
-+    // NOTE: This is conservative, it will stop on any read from the source loc,
-+    // not just the defining memcpy.
-+    MemDepResult SourceDep = MD->getPointerDependencyFrom(
-+        MemoryLocation::getForSource(MDep), false,
-+        CB.getIterator(), MDep->getParent());
-+    if (!SourceDep.isClobber() || SourceDep.getInst() != MDep)
-+      return false;
-+  }
- 
-   Value *TmpCast = MDep->getSource();
-   if (MDep->getSource()->getType() != ByValArg->getType()) {
-@@ -1549,33 +1730,42 @@ bool MemCpyOptPass::iterateOnFunction(Function &F) {
- }
- 
- PreservedAnalyses MemCpyOptPass::run(Function &F, FunctionAnalysisManager &AM) {
-+  auto *MD = !EnableMemorySSA ? &AM.getResult<MemoryDependenceAnalysis>(F)
-+                              : AM.getCachedResult<MemoryDependenceAnalysis>(F);
-   auto &TLI = AM.getResult<TargetLibraryAnalysis>(F);
-   auto *AA = &AM.getResult<AAManager>(F);
-   auto *AC = &AM.getResult<AssumptionAnalysis>(F);
-   auto *DT = &AM.getResult<DominatorTreeAnalysis>(F);
--  auto *MSSA = &AM.getResult<MemorySSAAnalysis>(F);
-+  auto *MSSA = EnableMemorySSA ? &AM.getResult<MemorySSAAnalysis>(F)
-+                               : AM.getCachedResult<MemorySSAAnalysis>(F);
- 
--  bool MadeChange = runImpl(F, &TLI, AA, AC, DT, &MSSA->getMSSA());
-+  bool MadeChange =
-+      runImpl(F, MD, &TLI, AA, AC, DT, MSSA ? &MSSA->getMSSA() : nullptr);
-   if (!MadeChange)
-     return PreservedAnalyses::all();
- 
-   PreservedAnalyses PA;
-   PA.preserveSet<CFGAnalyses>();
--  PA.preserve<MemorySSAAnalysis>();
-+  if (MD)
-+    PA.preserve<MemoryDependenceAnalysis>();
-+  if (MSSA)
-+    PA.preserve<MemorySSAAnalysis>();
-   return PA;
- }
- 
--bool MemCpyOptPass::runImpl(Function &F, TargetLibraryInfo *TLI_,
--                            AliasAnalysis *AA_, AssumptionCache *AC_,
--                            DominatorTree *DT_, MemorySSA *MSSA_) {
-+bool MemCpyOptPass::runImpl(Function &F, MemoryDependenceResults *MD_,
-+                            TargetLibraryInfo *TLI_, AliasAnalysis *AA_,
-+                            AssumptionCache *AC_, DominatorTree *DT_,
-+                            MemorySSA *MSSA_) {
-   bool MadeChange = false;
-+  MD = MD_;
-   TLI = TLI_;
-   AA = AA_;
-   AC = AC_;
-   DT = DT_;
-   MSSA = MSSA_;
-   MemorySSAUpdater MSSAU_(MSSA_);
--  MSSAU = &MSSAU_;
-+  MSSAU = MSSA_ ? &MSSAU_ : nullptr;
- 
-   while (true) {
-     if (!iterateOnFunction(F))
-@@ -1583,9 +1773,10 @@ bool MemCpyOptPass::runImpl(Function &F, TargetLibraryInfo *TLI_,
-     MadeChange = true;
-   }
- 
--  if (VerifyMemorySSA)
-+  if (MSSA_ && VerifyMemorySSA)
-     MSSA_->verifyMemorySSA();
- 
-+  MD = nullptr;
-   return MadeChange;
- }
- 
-@@ -1594,11 +1785,17 @@ bool MemCpyOptLegacyPass::runOnFunction(Function &F) {
-   if (skipFunction(F))
-     return false;
- 
-+  auto *MDWP = !EnableMemorySSA
-+      ? &getAnalysis<MemoryDependenceWrapperPass>()
-+      : getAnalysisIfAvailable<MemoryDependenceWrapperPass>();
-   auto *TLI = &getAnalysis<TargetLibraryInfoWrapperPass>().getTLI(F);
-   auto *AA = &getAnalysis<AAResultsWrapperPass>().getAAResults();
-   auto *AC = &getAnalysis<AssumptionCacheTracker>().getAssumptionCache(F);
-   auto *DT = &getAnalysis<DominatorTreeWrapperPass>().getDomTree();
--  auto *MSSA = &getAnalysis<MemorySSAWrapperPass>().getMSSA();
-+  auto *MSSAWP = EnableMemorySSA
-+      ? &getAnalysis<MemorySSAWrapperPass>()
-+      : getAnalysisIfAvailable<MemorySSAWrapperPass>();
- 
--  return Impl.runImpl(F, TLI, AA, AC, DT, MSSA);
-+  return Impl.runImpl(F, MDWP ? & MDWP->getMemDep() : nullptr, TLI, AA, AC, DT,
-+                      MSSAWP ? &MSSAWP->getMSSA() : nullptr);
- }
-diff --git a/llvm/test/Analysis/BasicAA/phi-values-usage.ll b/llvm/test/Analysis/BasicAA/phi-values-usage.ll
-index ee87aa0543ef..79f699a8f8a4 100644
---- a/llvm/test/Analysis/BasicAA/phi-values-usage.ll
-+++ b/llvm/test/Analysis/BasicAA/phi-values-usage.ll
-@@ -1,16 +1,16 @@
--; RUN: opt -debug-pass=Executions -phi-values -memcpyopt -instcombine -disable-output < %s -enable-new-pm=0 2>&1 | FileCheck %s -check-prefixes=CHECK,CHECK-MEMCPY
--; RUN: opt -debug-pass=Executions -phi-values -memoryssa -instcombine -disable-output < %s -enable-new-pm=0 2>&1 | FileCheck %s -check-prefix=CHECK
--; RUN: opt -debug-pass-manager -aa-pipeline=basic-aa -passes='require<phi-values>,memcpyopt,instcombine' -disable-output < %s 2>&1 | FileCheck %s -check-prefixes=NPM
-+; RUN: opt -debug-pass=Executions -phi-values -memcpyopt -instcombine -disable-output < %s -enable-new-pm=0 -enable-memcpyopt-memoryssa=0 2>&1 | FileCheck %s -check-prefixes=CHECK,CHECK-MEMCPY
-+; RUN: opt -debug-pass=Executions -memdep -instcombine -disable-output < %s -enable-new-pm=0 2>&1 | FileCheck %s -check-prefix=CHECK
-+; RUN: opt -debug-pass-manager -aa-pipeline=basic-aa -passes=memcpyopt,instcombine -disable-output -enable-memcpyopt-memoryssa=0 < %s 2>&1 | FileCheck %s -check-prefixes=NPM
- 
- ; Check that phi values is not run when it's not already available, and that
- ; basicaa is not freed after a pass that preserves CFG, as it preserves CFG.
- 
- ; CHECK: Executing Pass 'Phi Values Analysis'
- ; CHECK: Executing Pass 'Basic Alias Analysis (stateless AA impl)'
--; CHECK: Executing Pass 'Memory SSA'
-+; CHECK: Executing Pass 'Memory Dependence Analysis'
- ; CHECK-MEMCPY: Executing Pass 'MemCpy Optimization'
- ; CHECK-MEMCPY-DAG: Freeing Pass 'MemCpy Optimization'
--; CHECK-DAG: Freeing Pass 'Memory SSA'
-+; CHECK-DAG: Freeing Pass 'Memory Dependence Analysis'
- ; CHECK-DAG: Freeing Pass 'Phi Values Analysis'
- ; CHECK-NOT: Executing Pass 'Phi Values Analysis'
- ; CHECK-NOT: Executing Pass 'Basic Alias Analysis (stateless AA impl)'
-@@ -18,7 +18,7 @@
- 
- ; NPM-DAG: Running analysis: PhiValuesAnalysis
- ; NPM-DAG: Running analysis: BasicAA
--; NPM-DAG: Running analysis: MemorySSA
-+; NPM-DAG: Running analysis: MemoryDependenceAnalysis
- ; NPM: Running pass: MemCpyOptPass
- ; NPM-NOT: Invalidating analysis
- ; NPM: Running pass: InstCombinePass
-diff --git a/llvm/test/Transforms/MemCpyOpt/2008-02-24-MultipleUseofSRet.ll b/llvm/test/Transforms/MemCpyOpt/2008-02-24-MultipleUseofSRet.ll
-index de4965a3b5d9..361341ffba9a 100644
---- a/llvm/test/Transforms/MemCpyOpt/2008-02-24-MultipleUseofSRet.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/2008-02-24-MultipleUseofSRet.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -basic-aa -memcpyopt -dse -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -basic-aa -memcpyopt -dse -S -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -basic-aa -memcpyopt -dse -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- ; PR2077
- 
- target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32"
-diff --git a/llvm/test/Transforms/MemCpyOpt/2008-03-13-ReturnSlotBitcast.ll b/llvm/test/Transforms/MemCpyOpt/2008-03-13-ReturnSlotBitcast.ll
-index 089199d19c9f..9a19fc456f0d 100644
---- a/llvm/test/Transforms/MemCpyOpt/2008-03-13-ReturnSlotBitcast.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/2008-03-13-ReturnSlotBitcast.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -basic-aa -memcpyopt -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -basic-aa -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -basic-aa -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64"
- 
- %a = type { i32 }
-diff --git a/llvm/test/Transforms/MemCpyOpt/2011-06-02-CallSlotOverwritten.ll b/llvm/test/Transforms/MemCpyOpt/2011-06-02-CallSlotOverwritten.ll
-index 10c8ff1c7b9f..3835b749b834 100644
---- a/llvm/test/Transforms/MemCpyOpt/2011-06-02-CallSlotOverwritten.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/2011-06-02-CallSlotOverwritten.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -basic-aa -memcpyopt -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -basic-aa -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -basic-aa -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- ; PR10067
- ; Make sure the call+copy isn't optimized in such a way that
- ; %ret ends up with the wrong value.
-diff --git a/llvm/test/Transforms/MemCpyOpt/aggregate-type-crash.ll b/llvm/test/Transforms/MemCpyOpt/aggregate-type-crash.ll
-index 01a5f5f21840..6cdec9df50ea 100644
---- a/llvm/test/Transforms/MemCpyOpt/aggregate-type-crash.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/aggregate-type-crash.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt -memcpyopt -S -o - < %s -verify-memoryssa | FileCheck %s
-+; RUN: opt -memcpyopt -S -o - < %s -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt -memcpyopt -S -o - < %s -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
- target triple = "x86_64-apple-macosx10.14.0"
-diff --git a/llvm/test/Transforms/MemCpyOpt/align.ll b/llvm/test/Transforms/MemCpyOpt/align.ll
-index 740e0c75dad6..5f8821e30589 100644
---- a/llvm/test/Transforms/MemCpyOpt/align.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/align.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -S -basic-aa -memcpyopt -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -S -basic-aa -memcpyopt -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -S -basic-aa -memcpyopt -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64"
- 
- declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i1) nounwind
-diff --git a/llvm/test/Transforms/MemCpyOpt/atomic.ll b/llvm/test/Transforms/MemCpyOpt/atomic.ll
-index dcbb829777f8..38500f512e31 100644
---- a/llvm/test/Transforms/MemCpyOpt/atomic.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/atomic.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt -basic-aa -memcpyopt -S < %s -verify-memoryssa | FileCheck %s
-+; RUN: opt -basic-aa -memcpyopt -S < %s -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt -basic-aa -memcpyopt -S < %s -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
- target triple = "x86_64-apple-macosx10.7.0"
-diff --git a/llvm/test/Transforms/MemCpyOpt/byval-readnone.ll b/llvm/test/Transforms/MemCpyOpt/byval-readnone.ll
-index 6f33483de48b..cb62ff27f4be 100644
---- a/llvm/test/Transforms/MemCpyOpt/byval-readnone.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/byval-readnone.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -memcpyopt -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- %struct = type { i16 }
- 
-diff --git a/llvm/test/Transforms/MemCpyOpt/callslot.ll b/llvm/test/Transforms/MemCpyOpt/callslot.ll
-index c118646669ea..b9eab2ef8778 100644
---- a/llvm/test/Transforms/MemCpyOpt/callslot.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/callslot.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt -S -memcpyopt < %s -verify-memoryssa | FileCheck %s
-+; RUN: opt -S -memcpyopt < %s -enable-memcpyopt-memoryssa=0 | FileCheck %s --check-prefixes=CHECK,NO_MSSA
-+; RUN: opt -S -memcpyopt < %s -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s --check-prefixes=CHECK,MSSA
- 
- define i8 @read_dest_between_call_and_memcpy() {
- ; CHECK-LABEL: @read_dest_between_call_and_memcpy(
-@@ -25,15 +26,25 @@ define i8 @read_dest_between_call_and_memcpy() {
- }
- 
- define i8 @read_src_between_call_and_memcpy() {
--; CHECK-LABEL: @read_src_between_call_and_memcpy(
--; CHECK-NEXT:    [[DEST:%.*]] = alloca [16 x i8], align 1
--; CHECK-NEXT:    [[SRC:%.*]] = alloca [16 x i8], align 1
--; CHECK-NEXT:    [[DEST_I8:%.*]] = bitcast [16 x i8]* [[DEST]] to i8*
--; CHECK-NEXT:    [[SRC_I8:%.*]] = bitcast [16 x i8]* [[SRC]] to i8*
--; CHECK-NEXT:    call void @llvm.memset.p0i8.i64(i8* [[SRC_I8]], i8 0, i64 16, i1 false)
--; CHECK-NEXT:    [[X:%.*]] = load i8, i8* [[SRC_I8]], align 1
--; CHECK-NEXT:    call void @llvm.memset.p0i8.i64(i8* [[DEST_I8]], i8 0, i64 16, i1 false)
--; CHECK-NEXT:    ret i8 [[X]]
-+; NO_MSSA-LABEL: @read_src_between_call_and_memcpy(
-+; NO_MSSA-NEXT:    [[DEST:%.*]] = alloca [16 x i8], align 1
-+; NO_MSSA-NEXT:    [[SRC:%.*]] = alloca [16 x i8], align 1
-+; NO_MSSA-NEXT:    [[DEST_I8:%.*]] = bitcast [16 x i8]* [[DEST]] to i8*
-+; NO_MSSA-NEXT:    [[SRC_I8:%.*]] = bitcast [16 x i8]* [[SRC]] to i8*
-+; NO_MSSA-NEXT:    call void @llvm.memset.p0i8.i64(i8* [[SRC_I8]], i8 0, i64 16, i1 false)
-+; NO_MSSA-NEXT:    [[X:%.*]] = load i8, i8* [[SRC_I8]], align 1
-+; NO_MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* [[DEST_I8]], i8* [[SRC_I8]], i64 16, i1 false)
-+; NO_MSSA-NEXT:    ret i8 [[X]]
-+;
-+; MSSA-LABEL: @read_src_between_call_and_memcpy(
-+; MSSA-NEXT:    [[DEST:%.*]] = alloca [16 x i8], align 1
-+; MSSA-NEXT:    [[SRC:%.*]] = alloca [16 x i8], align 1
-+; MSSA-NEXT:    [[DEST_I8:%.*]] = bitcast [16 x i8]* [[DEST]] to i8*
-+; MSSA-NEXT:    [[SRC_I8:%.*]] = bitcast [16 x i8]* [[SRC]] to i8*
-+; MSSA-NEXT:    call void @llvm.memset.p0i8.i64(i8* [[SRC_I8]], i8 0, i64 16, i1 false)
-+; MSSA-NEXT:    [[X:%.*]] = load i8, i8* [[SRC_I8]], align 1
-+; MSSA-NEXT:    call void @llvm.memset.p0i8.i64(i8* [[DEST_I8]], i8 0, i64 16, i1 false)
-+; MSSA-NEXT:    ret i8 [[X]]
- ;
-   %dest = alloca [16 x i8]
-   %src = alloca [16 x i8]
-diff --git a/llvm/test/Transforms/MemCpyOpt/callslot_aa.ll b/llvm/test/Transforms/MemCpyOpt/callslot_aa.ll
-index 2a6dd607cc7d..35719b8f4ca3 100644
---- a/llvm/test/Transforms/MemCpyOpt/callslot_aa.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/callslot_aa.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -S -basic-aa -memcpyopt -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -S -basic-aa -memcpyopt -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -S -basic-aa -memcpyopt -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
- 
- %T = type { i64, i64 }
-diff --git a/llvm/test/Transforms/MemCpyOpt/callslot_deref.ll b/llvm/test/Transforms/MemCpyOpt/callslot_deref.ll
-index f7868f47aea2..5daa3538b294 100644
---- a/llvm/test/Transforms/MemCpyOpt/callslot_deref.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/callslot_deref.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -S -basic-aa -memcpyopt -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -S -basic-aa -memcpyopt -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -S -basic-aa -memcpyopt -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- target datalayout = "e-i64:64-f80:128-n8:16:32:64-S128"
- 
- declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1) unnamed_addr nounwind
-diff --git a/llvm/test/Transforms/MemCpyOpt/callslot_throw.ll b/llvm/test/Transforms/MemCpyOpt/callslot_throw.ll
-index a3e2665120a9..973ebd2b1001 100644
---- a/llvm/test/Transforms/MemCpyOpt/callslot_throw.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/callslot_throw.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt -S -memcpyopt < %s -verify-memoryssa | FileCheck %s
-+; RUN: opt -S -memcpyopt < %s -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt -S -memcpyopt < %s -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- declare void @may_throw(i32* nocapture %x)
- 
- define void @test1(i32* nocapture noalias dereferenceable(4) %x) {
-diff --git a/llvm/test/Transforms/MemCpyOpt/capturing-func.ll b/llvm/test/Transforms/MemCpyOpt/capturing-func.ll
-index 4056ed169990..7de6a448cdaf 100644
---- a/llvm/test/Transforms/MemCpyOpt/capturing-func.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/capturing-func.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -basic-aa -memcpyopt -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -basic-aa -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -basic-aa -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- target datalayout = "e"
- 
-diff --git a/llvm/test/Transforms/MemCpyOpt/crash.ll b/llvm/test/Transforms/MemCpyOpt/crash.ll
-index 0c1938643047..73635891c683 100644
---- a/llvm/test/Transforms/MemCpyOpt/crash.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/crash.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -S -basic-aa -memcpyopt -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -S -basic-aa -memcpyopt -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -S -basic-aa -memcpyopt -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64"
- target triple = "armv7-eabi"
-diff --git a/llvm/test/Transforms/MemCpyOpt/fca2memcpy.ll b/llvm/test/Transforms/MemCpyOpt/fca2memcpy.ll
-index f18d6cd2cecb..153f1a607621 100644
---- a/llvm/test/Transforms/MemCpyOpt/fca2memcpy.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/fca2memcpy.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt -memcpyopt -S < %s -verify-memoryssa | FileCheck %s
-+; RUN: opt -memcpyopt -S < %s -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt -memcpyopt -S < %s -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- target datalayout = "e-i64:64-f80:128-n8:16:32:64"
- target triple = "x86_64-unknown-linux-gnu"
-diff --git a/llvm/test/Transforms/MemCpyOpt/form-memset.ll b/llvm/test/Transforms/MemCpyOpt/form-memset.ll
-index 416df663a8b8..1b3a49b7ffb7 100644
---- a/llvm/test/Transforms/MemCpyOpt/form-memset.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/form-memset.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -memcpyopt -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- ; All the stores in this example should be merged into a single memset.
- 
-diff --git a/llvm/test/Transforms/MemCpyOpt/invariant.start.ll b/llvm/test/Transforms/MemCpyOpt/invariant.start.ll
-index 61bdf2f7bcf9..61e5e8155d35 100644
---- a/llvm/test/Transforms/MemCpyOpt/invariant.start.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/invariant.start.ll
-@@ -1,6 +1,7 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
- ; MemCpy optimizations should take place even in presence of invariant.start
--; RUN: opt < %s -basic-aa -memcpyopt -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -basic-aa -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s --check-prefixes=CHECK,NO_MSSA
-+; RUN: opt < %s -basic-aa -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s --check-prefixes=CHECK,MSSA
- 
- target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
- 
-@@ -13,16 +14,25 @@ declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i1)
- 
- declare {}* @llvm.invariant.start.p0i8(i64, i8* nocapture) nounwind readonly
- 
-+; FIXME: The invariant.start does not modify %P.
- ; The intermediate alloca and one of the memcpy's should be eliminated, the
- ; other should be transformed to a memmove.
- define void @test1(i8* %P, i8* %Q) nounwind  {
--; CHECK-LABEL: @test1(
--; CHECK-NEXT:    [[MEMTMP:%.*]] = alloca [[TMP0:%.*]], align 16
--; CHECK-NEXT:    [[R:%.*]] = bitcast %0* [[MEMTMP]] to i8*
--; CHECK-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 16 [[R]], i8* align 16 [[P:%.*]], i32 32, i1 false)
--; CHECK-NEXT:    [[I:%.*]] = call {}* @llvm.invariant.start.p0i8(i64 32, i8* [[P]])
--; CHECK-NEXT:    call void @llvm.memmove.p0i8.p0i8.i32(i8* align 16 [[Q:%.*]], i8* align 16 [[P]], i32 32, i1 false)
--; CHECK-NEXT:    ret void
-+; NO_MSSA-LABEL: @test1(
-+; NO_MSSA-NEXT:    [[MEMTMP:%.*]] = alloca [[TMP0:%.*]], align 16
-+; NO_MSSA-NEXT:    [[R:%.*]] = bitcast %0* [[MEMTMP]] to i8*
-+; NO_MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 16 [[R]], i8* align 16 [[P:%.*]], i32 32, i1 false)
-+; NO_MSSA-NEXT:    [[I:%.*]] = call {}* @llvm.invariant.start.p0i8(i64 32, i8* [[P]])
-+; NO_MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 16 [[Q:%.*]], i8* align 16 [[R]], i32 32, i1 false)
-+; NO_MSSA-NEXT:    ret void
-+;
-+; MSSA-LABEL: @test1(
-+; MSSA-NEXT:    [[MEMTMP:%.*]] = alloca [[TMP0:%.*]], align 16
-+; MSSA-NEXT:    [[R:%.*]] = bitcast %0* [[MEMTMP]] to i8*
-+; MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 16 [[R]], i8* align 16 [[P:%.*]], i32 32, i1 false)
-+; MSSA-NEXT:    [[I:%.*]] = call {}* @llvm.invariant.start.p0i8(i64 32, i8* [[P]])
-+; MSSA-NEXT:    call void @llvm.memmove.p0i8.p0i8.i32(i8* align 16 [[Q:%.*]], i8* align 16 [[P]], i32 32, i1 false)
-+; MSSA-NEXT:    ret void
- ;
-   %memtmp = alloca %0, align 16
-   %R = bitcast %0* %memtmp to i8*
-diff --git a/llvm/test/Transforms/MemCpyOpt/lifetime.ll b/llvm/test/Transforms/MemCpyOpt/lifetime.ll
-index a4811a62bc85..ca493f5ed845 100644
---- a/llvm/test/Transforms/MemCpyOpt/lifetime.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/lifetime.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -O2 -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -O2 -S -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -O2 -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- ; performCallSlotOptzn in MemCpy should not exchange the calls to
- ; @llvm.lifetime.start and @llvm.memcpy.
-diff --git a/llvm/test/Transforms/MemCpyOpt/load-store-to-memcpy.ll b/llvm/test/Transforms/MemCpyOpt/load-store-to-memcpy.ll
-index 5e8b802a4c2e..a803679e9034 100644
---- a/llvm/test/Transforms/MemCpyOpt/load-store-to-memcpy.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/load-store-to-memcpy.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt -basic-aa -scoped-noalias-aa -memcpyopt -S %s -verify-memoryssa | FileCheck %s
-+; RUN: opt -basic-aa -scoped-noalias-aa -memcpyopt -S %s -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt -basic-aa -scoped-noalias-aa -memcpyopt -S %s -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- %T = type { i8, i32 }
- 
-diff --git a/llvm/test/Transforms/MemCpyOpt/loadstore-sret.ll b/llvm/test/Transforms/MemCpyOpt/loadstore-sret.ll
-index 4264130a42f3..155958aeb3ee 100644
---- a/llvm/test/Transforms/MemCpyOpt/loadstore-sret.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/loadstore-sret.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt -S < %s -basic-aa -memcpyopt -verify-memoryssa | FileCheck %s
-+; RUN: opt -S < %s -basic-aa -memcpyopt -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt -S < %s -basic-aa -memcpyopt -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- ; <rdar://problem/8536696>
- 
- target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
-diff --git a/llvm/test/Transforms/MemCpyOpt/memcpy-invoke-memcpy.ll b/llvm/test/Transforms/MemCpyOpt/memcpy-invoke-memcpy.ll
-index 435689d69107..5d9650491721 100644
---- a/llvm/test/Transforms/MemCpyOpt/memcpy-invoke-memcpy.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/memcpy-invoke-memcpy.ll
-@@ -1,24 +1,40 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -memcpyopt -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s --check-prefix=NO_MSSA
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s --check-prefix=MSSA
- 
- ; Test memcpy-memcpy dependencies across invoke edges.
- 
- ; Test that memcpyopt works across the non-unwind edge of an invoke.
-+; TODO: Not supported yet.
- 
- define hidden void @test_normal(i8* noalias %dst, i8* %src) personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) {
--; CHECK-LABEL: @test_normal(
--; CHECK-NEXT:  entry:
--; CHECK-NEXT:    [[TEMP:%.*]] = alloca i8, i32 64, align 1
--; CHECK-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[TEMP]], i8* nonnull align 8 [[SRC:%.*]], i64 64, i1 false)
--; CHECK-NEXT:    invoke void @invoke_me()
--; CHECK-NEXT:    to label [[TRY_CONT:%.*]] unwind label [[LPAD:%.*]]
--; CHECK:       lpad:
--; CHECK-NEXT:    [[TMP0:%.*]] = landingpad { i8*, i32 }
--; CHECK-NEXT:    catch i8* null
--; CHECK-NEXT:    ret void
--; CHECK:       try.cont:
--; CHECK-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[DST:%.*]], i8* align 8 [[SRC]], i64 64, i1 false)
--; CHECK-NEXT:    ret void
-+; NO_MSSA-LABEL: @test_normal(
-+; NO_MSSA-NEXT:  entry:
-+; NO_MSSA-NEXT:    [[TEMP:%.*]] = alloca i8, i32 64, align 1
-+; NO_MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[TEMP]], i8* nonnull align 8 [[SRC:%.*]], i64 64, i1 false)
-+; NO_MSSA-NEXT:    invoke void @invoke_me()
-+; NO_MSSA-NEXT:    to label [[TRY_CONT:%.*]] unwind label [[LPAD:%.*]]
-+; NO_MSSA:       lpad:
-+; NO_MSSA-NEXT:    [[TMP0:%.*]] = landingpad { i8*, i32 }
-+; NO_MSSA-NEXT:    catch i8* null
-+; NO_MSSA-NEXT:    ret void
-+; NO_MSSA:       try.cont:
-+; NO_MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[DST:%.*]], i8* align 8 [[TEMP]], i64 64, i1 false)
-+; NO_MSSA-NEXT:    ret void
-+;
-+; MSSA-LABEL: @test_normal(
-+; MSSA-NEXT:  entry:
-+; MSSA-NEXT:    [[TEMP:%.*]] = alloca i8, i32 64, align 1
-+; MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[TEMP]], i8* nonnull align 8 [[SRC:%.*]], i64 64, i1 false)
-+; MSSA-NEXT:    invoke void @invoke_me()
-+; MSSA-NEXT:    to label [[TRY_CONT:%.*]] unwind label [[LPAD:%.*]]
-+; MSSA:       lpad:
-+; MSSA-NEXT:    [[TMP0:%.*]] = landingpad { i8*, i32 }
-+; MSSA-NEXT:    catch i8* null
-+; MSSA-NEXT:    ret void
-+; MSSA:       try.cont:
-+; MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[DST:%.*]], i8* align 8 [[SRC]], i64 64, i1 false)
-+; MSSA-NEXT:    ret void
- ;
- entry:
-   %temp = alloca i8, i32 64
-@@ -37,21 +53,36 @@ try.cont:
- }
- 
- ; Test that memcpyopt works across the unwind edge of an invoke.
-+; TODO: Not supported yet.
- 
- define hidden void @test_unwind(i8* noalias %dst, i8* %src) personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) {
--; CHECK-LABEL: @test_unwind(
--; CHECK-NEXT:  entry:
--; CHECK-NEXT:    [[TEMP:%.*]] = alloca i8, i32 64, align 1
--; CHECK-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[TEMP]], i8* nonnull align 8 [[SRC:%.*]], i64 64, i1 false)
--; CHECK-NEXT:    invoke void @invoke_me()
--; CHECK-NEXT:    to label [[TRY_CONT:%.*]] unwind label [[LPAD:%.*]]
--; CHECK:       lpad:
--; CHECK-NEXT:    [[TMP0:%.*]] = landingpad { i8*, i32 }
--; CHECK-NEXT:    catch i8* null
--; CHECK-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[DST:%.*]], i8* align 8 [[SRC]], i64 64, i1 false)
--; CHECK-NEXT:    ret void
--; CHECK:       try.cont:
--; CHECK-NEXT:    ret void
-+; NO_MSSA-LABEL: @test_unwind(
-+; NO_MSSA-NEXT:  entry:
-+; NO_MSSA-NEXT:    [[TEMP:%.*]] = alloca i8, i32 64, align 1
-+; NO_MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[TEMP]], i8* nonnull align 8 [[SRC:%.*]], i64 64, i1 false)
-+; NO_MSSA-NEXT:    invoke void @invoke_me()
-+; NO_MSSA-NEXT:    to label [[TRY_CONT:%.*]] unwind label [[LPAD:%.*]]
-+; NO_MSSA:       lpad:
-+; NO_MSSA-NEXT:    [[TMP0:%.*]] = landingpad { i8*, i32 }
-+; NO_MSSA-NEXT:    catch i8* null
-+; NO_MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[DST:%.*]], i8* align 8 [[TEMP]], i64 64, i1 false)
-+; NO_MSSA-NEXT:    ret void
-+; NO_MSSA:       try.cont:
-+; NO_MSSA-NEXT:    ret void
-+;
-+; MSSA-LABEL: @test_unwind(
-+; MSSA-NEXT:  entry:
-+; MSSA-NEXT:    [[TEMP:%.*]] = alloca i8, i32 64, align 1
-+; MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[TEMP]], i8* nonnull align 8 [[SRC:%.*]], i64 64, i1 false)
-+; MSSA-NEXT:    invoke void @invoke_me()
-+; MSSA-NEXT:    to label [[TRY_CONT:%.*]] unwind label [[LPAD:%.*]]
-+; MSSA:       lpad:
-+; MSSA-NEXT:    [[TMP0:%.*]] = landingpad { i8*, i32 }
-+; MSSA-NEXT:    catch i8* null
-+; MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[DST:%.*]], i8* align 8 [[SRC]], i64 64, i1 false)
-+; MSSA-NEXT:    ret void
-+; MSSA:       try.cont:
-+; MSSA-NEXT:    ret void
- ;
- entry:
-   %temp = alloca i8, i32 64
-diff --git a/llvm/test/Transforms/MemCpyOpt/memcpy-to-memset-with-lifetimes.ll b/llvm/test/Transforms/MemCpyOpt/memcpy-to-memset-with-lifetimes.ll
-index 6a70ce24d8cf..ab9a9d875d82 100644
---- a/llvm/test/Transforms/MemCpyOpt/memcpy-to-memset-with-lifetimes.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/memcpy-to-memset-with-lifetimes.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt -basic-aa -memcpyopt -instcombine -S < %s -verify-memoryssa | FileCheck %s
-+; RUN: opt -basic-aa -memcpyopt -instcombine -S < %s -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt -basic-aa -memcpyopt -instcombine -S < %s -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- target datalayout = "e-i64:64-f80:128-n8:16:32:64-S128"
- target triple = "x86_64-unknown-linux-gnu"
-diff --git a/llvm/test/Transforms/MemCpyOpt/memcpy-to-memset.ll b/llvm/test/Transforms/MemCpyOpt/memcpy-to-memset.ll
-index dc5d3b1e31f4..db3d6be1cc37 100644
---- a/llvm/test/Transforms/MemCpyOpt/memcpy-to-memset.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/memcpy-to-memset.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt -memcpyopt -S < %s -verify-memoryssa | FileCheck %s
-+; RUN: opt -memcpyopt -S < %s -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt -memcpyopt -S < %s -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i1) nounwind
- 
-diff --git a/llvm/test/Transforms/MemCpyOpt/memcpy-undef.ll b/llvm/test/Transforms/MemCpyOpt/memcpy-undef.ll
-index 6b7d27c9f4c2..983aba204af4 100644
---- a/llvm/test/Transforms/MemCpyOpt/memcpy-undef.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/memcpy-undef.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -basic-aa -memcpyopt -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -basic-aa -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s --check-prefixes=CHECK,NO-MSSA
-+; RUN: opt < %s -basic-aa -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s --check-prefixes=CHECK,MSSA
- 
- target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
- target triple = "x86_64-apple-macosx10.8.0"
-@@ -100,13 +101,20 @@ define void @test_lifetime_partial_alias_2(i8* noalias %dst) {
- 
- ; lifetime.start on part of alloca, copy in range.
- define void @test_lifetime_partial_alias_3(i8* noalias %dst) {
--; CHECK-LABEL: @test_lifetime_partial_alias_3(
--; CHECK-NEXT:    [[A:%.*]] = alloca [16 x i8], align 1
--; CHECK-NEXT:    [[A_I8:%.*]] = bitcast [16 x i8]* [[A]] to i8*
--; CHECK-NEXT:    call void @llvm.lifetime.start.p0i8(i64 12, i8* [[A_I8]])
--; CHECK-NEXT:    [[GEP:%.*]] = getelementptr i8, i8* [[A_I8]], i64 8
--; CHECK-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* [[DST:%.*]], i8* [[GEP]], i64 4, i1 false)
--; CHECK-NEXT:    ret void
-+; NO-MSSA-LABEL: @test_lifetime_partial_alias_3(
-+; NO-MSSA-NEXT:    [[A:%.*]] = alloca [16 x i8], align 1
-+; NO-MSSA-NEXT:    [[A_I8:%.*]] = bitcast [16 x i8]* [[A]] to i8*
-+; NO-MSSA-NEXT:    call void @llvm.lifetime.start.p0i8(i64 12, i8* [[A_I8]])
-+; NO-MSSA-NEXT:    [[GEP:%.*]] = getelementptr i8, i8* [[A_I8]], i64 8
-+; NO-MSSA-NEXT:    ret void
-+;
-+; MSSA-LABEL: @test_lifetime_partial_alias_3(
-+; MSSA-NEXT:    [[A:%.*]] = alloca [16 x i8], align 1
-+; MSSA-NEXT:    [[A_I8:%.*]] = bitcast [16 x i8]* [[A]] to i8*
-+; MSSA-NEXT:    call void @llvm.lifetime.start.p0i8(i64 12, i8* [[A_I8]])
-+; MSSA-NEXT:    [[GEP:%.*]] = getelementptr i8, i8* [[A_I8]], i64 8
-+; MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* [[DST:%.*]], i8* [[GEP]], i64 4, i1 false)
-+; MSSA-NEXT:    ret void
- ;
-   %a = alloca [16 x i8]
-   %a.i8 = bitcast [16 x i8]* %a to i8*
-@@ -118,13 +126,20 @@ define void @test_lifetime_partial_alias_3(i8* noalias %dst) {
- 
- ; lifetime.start on part of alloca, copy out of range.
- define void @test_lifetime_partial_alias_4(i8* noalias %dst) {
--; CHECK-LABEL: @test_lifetime_partial_alias_4(
--; CHECK-NEXT:    [[A:%.*]] = alloca [16 x i8], align 1
--; CHECK-NEXT:    [[A_I8:%.*]] = bitcast [16 x i8]* [[A]] to i8*
--; CHECK-NEXT:    call void @llvm.lifetime.start.p0i8(i64 12, i8* [[A_I8]])
--; CHECK-NEXT:    [[GEP:%.*]] = getelementptr i8, i8* [[A_I8]], i64 8
--; CHECK-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* [[DST:%.*]], i8* [[GEP]], i64 8, i1 false)
--; CHECK-NEXT:    ret void
-+; NO-MSSA-LABEL: @test_lifetime_partial_alias_4(
-+; NO-MSSA-NEXT:    [[A:%.*]] = alloca [16 x i8], align 1
-+; NO-MSSA-NEXT:    [[A_I8:%.*]] = bitcast [16 x i8]* [[A]] to i8*
-+; NO-MSSA-NEXT:    call void @llvm.lifetime.start.p0i8(i64 12, i8* [[A_I8]])
-+; NO-MSSA-NEXT:    [[GEP:%.*]] = getelementptr i8, i8* [[A_I8]], i64 8
-+; NO-MSSA-NEXT:    ret void
-+;
-+; MSSA-LABEL: @test_lifetime_partial_alias_4(
-+; MSSA-NEXT:    [[A:%.*]] = alloca [16 x i8], align 1
-+; MSSA-NEXT:    [[A_I8:%.*]] = bitcast [16 x i8]* [[A]] to i8*
-+; MSSA-NEXT:    call void @llvm.lifetime.start.p0i8(i64 12, i8* [[A_I8]])
-+; MSSA-NEXT:    [[GEP:%.*]] = getelementptr i8, i8* [[A_I8]], i64 8
-+; MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* [[DST:%.*]], i8* [[GEP]], i64 8, i1 false)
-+; MSSA-NEXT:    ret void
- ;
-   %a = alloca [16 x i8]
-   %a.i8 = bitcast [16 x i8]* %a to i8*
-diff --git a/llvm/test/Transforms/MemCpyOpt/memcpy.ll b/llvm/test/Transforms/MemCpyOpt/memcpy.ll
-index 2b2ba552f0d4..3ca9caffe2c7 100644
---- a/llvm/test/Transforms/MemCpyOpt/memcpy.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/memcpy.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -basic-aa -memcpyopt -dse -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -basic-aa -memcpyopt -dse -S -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -basic-aa -memcpyopt -dse -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
- target triple = "i686-apple-darwin9"
-@@ -17,8 +18,6 @@ declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i1) n
- declare void @llvm.memcpy.inline.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i1) nounwind
- declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i1) nounwind
- 
--; Check that one of the memcpy's are removed.
--;; FIXME: PR 8643 We should be able to eliminate the last memcpy here.
- define void @test1(%0* sret(%0)  %agg.result, x86_fp80 %z.0, x86_fp80 %z.1) nounwind  {
- ; CHECK-LABEL: @test1(
- ; CHECK-NEXT:  entry:
-@@ -43,6 +42,10 @@ entry:
-   %agg.result21 = bitcast %0* %agg.result to i8*
-   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 16 %agg.result21, i8* align 16 %tmp219, i32 32, i1 false)
-   ret void
-+
-+; Check that one of the memcpy's are removed.
-+;; FIXME: PR 8643 We should be able to eliminate the last memcpy here.
-+
- }
- 
- declare void @ccoshl(%0* nocapture sret(%0), x86_fp80, x86_fp80) nounwind
-diff --git a/llvm/test/Transforms/MemCpyOpt/memmove.ll b/llvm/test/Transforms/MemCpyOpt/memmove.ll
-index 003494591fce..2f86b08905db 100644
---- a/llvm/test/Transforms/MemCpyOpt/memmove.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/memmove.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -basic-aa -memcpyopt -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -basic-aa -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -basic-aa -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- ; These memmoves should get optimized to memcpys.
- 
- target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
-diff --git a/llvm/test/Transforms/MemCpyOpt/memset-memcpy-oversized.ll b/llvm/test/Transforms/MemCpyOpt/memset-memcpy-oversized.ll
-index ab85e4de5c56..1f45c107dd47 100644
---- a/llvm/test/Transforms/MemCpyOpt/memset-memcpy-oversized.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/memset-memcpy-oversized.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt -memcpyopt -S %s -verify-memoryssa | FileCheck %s
-+; RUN: opt -memcpyopt -S %s -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt -memcpyopt -S %s -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- ; memset -> memcpy forwarding, if memcpy is larger than memset, but trailing
- ; bytes are known to be undef.
-diff --git a/llvm/test/Transforms/MemCpyOpt/memset-memcpy-redundant-memset.ll b/llvm/test/Transforms/MemCpyOpt/memset-memcpy-redundant-memset.ll
-index 41defa09266b..460d317fdd2a 100644
---- a/llvm/test/Transforms/MemCpyOpt/memset-memcpy-redundant-memset.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/memset-memcpy-redundant-memset.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt -basic-aa -memcpyopt -S %s -verify-memoryssa | FileCheck %s
-+; RUN: opt -basic-aa -memcpyopt -S %s -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt -basic-aa -memcpyopt -S %s -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
- 
-diff --git a/llvm/test/Transforms/MemCpyOpt/memset-memcpy-to-2x-memset.ll b/llvm/test/Transforms/MemCpyOpt/memset-memcpy-to-2x-memset.ll
-index e6e74926c3e2..2cb8211a28a7 100644
---- a/llvm/test/Transforms/MemCpyOpt/memset-memcpy-to-2x-memset.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/memset-memcpy-to-2x-memset.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt -memcpyopt -S %s -verify-memoryssa | FileCheck %s
-+; RUN: opt -memcpyopt -S %s -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt -memcpyopt -S %s -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
- 
-diff --git a/llvm/test/Transforms/MemCpyOpt/merge-into-memset.ll b/llvm/test/Transforms/MemCpyOpt/merge-into-memset.ll
-index 076dbfed870a..67a635532307 100644
---- a/llvm/test/Transforms/MemCpyOpt/merge-into-memset.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/merge-into-memset.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -memcpyopt -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s --check-prefix=NO_MSSA
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s --check-prefix=MSSA
- 
- target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
- 
-@@ -7,19 +8,33 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
- ; which will be deleted.
- 
- define void @foo(i1 %c, i8* %d, i8* %e, i8* %f) {
--; CHECK-LABEL: @foo(
--; CHECK-NEXT:  entry:
--; CHECK-NEXT:    [[TMP:%.*]] = alloca [50 x i8], align 8
--; CHECK-NEXT:    [[TMP4:%.*]] = bitcast [50 x i8]* [[TMP]] to i8*
--; CHECK-NEXT:    [[TMP1:%.*]] = getelementptr inbounds i8, i8* [[TMP4]], i64 1
--; CHECK-NEXT:    call void @llvm.memset.p0i8.i64(i8* nonnull [[D:%.*]], i8 0, i64 10, i1 false)
--; CHECK-NEXT:    call void @llvm.memset.p0i8.i64(i8* align 8 [[TMP4]], i8 0, i64 11, i1 false)
--; CHECK-NEXT:    br i1 [[C:%.*]], label [[IF_THEN:%.*]], label [[EXIT:%.*]]
--; CHECK:       if.then:
--; CHECK-NEXT:    call void @llvm.memset.p0i8.i64(i8* align 8 [[F:%.*]], i8 0, i64 11, i1 false)
--; CHECK-NEXT:    br label [[EXIT]]
--; CHECK:       exit:
--; CHECK-NEXT:    ret void
-+; NO_MSSA-LABEL: @foo(
-+; NO_MSSA-NEXT:  entry:
-+; NO_MSSA-NEXT:    [[TMP:%.*]] = alloca [50 x i8], align 8
-+; NO_MSSA-NEXT:    [[TMP4:%.*]] = bitcast [50 x i8]* [[TMP]] to i8*
-+; NO_MSSA-NEXT:    [[TMP1:%.*]] = getelementptr inbounds i8, i8* [[TMP4]], i64 1
-+; NO_MSSA-NEXT:    call void @llvm.memset.p0i8.i64(i8* nonnull [[D:%.*]], i8 0, i64 10, i1 false)
-+; NO_MSSA-NEXT:    call void @llvm.memset.p0i8.i64(i8* align 8 [[TMP4]], i8 0, i64 11, i1 false)
-+; NO_MSSA-NEXT:    br i1 [[C:%.*]], label [[IF_THEN:%.*]], label [[EXIT:%.*]]
-+; NO_MSSA:       if.then:
-+; NO_MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[F:%.*]], i8* nonnull align 8 [[TMP4]], i64 30, i1 false)
-+; NO_MSSA-NEXT:    br label [[EXIT]]
-+; NO_MSSA:       exit:
-+; NO_MSSA-NEXT:    ret void
-+;
-+; MSSA-LABEL: @foo(
-+; MSSA-NEXT:  entry:
-+; MSSA-NEXT:    [[TMP:%.*]] = alloca [50 x i8], align 8
-+; MSSA-NEXT:    [[TMP4:%.*]] = bitcast [50 x i8]* [[TMP]] to i8*
-+; MSSA-NEXT:    [[TMP1:%.*]] = getelementptr inbounds i8, i8* [[TMP4]], i64 1
-+; MSSA-NEXT:    call void @llvm.memset.p0i8.i64(i8* nonnull [[D:%.*]], i8 0, i64 10, i1 false)
-+; MSSA-NEXT:    call void @llvm.memset.p0i8.i64(i8* align 8 [[TMP4]], i8 0, i64 11, i1 false)
-+; MSSA-NEXT:    br i1 [[C:%.*]], label [[IF_THEN:%.*]], label [[EXIT:%.*]]
-+; MSSA:       if.then:
-+; MSSA-NEXT:    call void @llvm.memset.p0i8.i64(i8* align 8 [[F:%.*]], i8 0, i64 11, i1 false)
-+; MSSA-NEXT:    br label [[EXIT]]
-+; MSSA:       exit:
-+; MSSA-NEXT:    ret void
- ;
- entry:
-   %tmp = alloca [50 x i8], align 8
-diff --git a/llvm/test/Transforms/MemCpyOpt/mixed-sizes.ll b/llvm/test/Transforms/MemCpyOpt/mixed-sizes.ll
-index 96a71d26e0e2..5b02c559223c 100644
---- a/llvm/test/Transforms/MemCpyOpt/mixed-sizes.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/mixed-sizes.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -memcpyopt -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s --check-prefix=NO_MSSA
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s --check-prefix=MSSA
- ; Handle memcpy-memcpy dependencies of differing sizes correctly.
- 
- target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
-@@ -8,24 +9,44 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
- ; memcpy with a larger size from the same address.
- 
- define i32 @foo(i1 %z) {
--; CHECK-LABEL: @foo(
--; CHECK-NEXT:  entry:
--; CHECK-NEXT:    [[A:%.*]] = alloca [10 x i32], align 4
--; CHECK-NEXT:    [[S:%.*]] = alloca [10 x i32], align 4
--; CHECK-NEXT:    [[TMP0:%.*]] = bitcast [10 x i32]* [[A]] to i8*
--; CHECK-NEXT:    [[TMP1:%.*]] = bitcast [10 x i32]* [[S]] to i8*
--; CHECK-NEXT:    call void @llvm.memset.p0i8.i64(i8* nonnull align 16 [[TMP1]], i8 0, i64 40, i1 false)
--; CHECK-NEXT:    [[ARRAYIDX:%.*]] = getelementptr inbounds [10 x i32], [10 x i32]* [[A]], i64 0, i64 0
--; CHECK-NEXT:    store i32 1, i32* [[ARRAYIDX]], align 4
--; CHECK-NEXT:    [[SCEVGEP:%.*]] = getelementptr [10 x i32], [10 x i32]* [[S]], i64 0, i64 1
--; CHECK-NEXT:    [[SCEVGEP7:%.*]] = bitcast i32* [[SCEVGEP]] to i8*
--; CHECK-NEXT:    br i1 [[Z:%.*]], label [[FOR_BODY3_LR_PH:%.*]], label [[FOR_INC7_1:%.*]]
--; CHECK:       for.body3.lr.ph:
--; CHECK-NEXT:    br label [[FOR_INC7_1]]
--; CHECK:       for.inc7.1:
--; CHECK-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 [[TMP0]], i8* align 4 [[SCEVGEP7]], i64 4, i1 false)
--; CHECK-NEXT:    [[TMP2:%.*]] = load i32, i32* [[ARRAYIDX]], align 4
--; CHECK-NEXT:    ret i32 [[TMP2]]
-+; NO_MSSA-LABEL: @foo(
-+; NO_MSSA-NEXT:  entry:
-+; NO_MSSA-NEXT:    [[A:%.*]] = alloca [10 x i32], align 4
-+; NO_MSSA-NEXT:    [[S:%.*]] = alloca [10 x i32], align 4
-+; NO_MSSA-NEXT:    [[TMP0:%.*]] = bitcast [10 x i32]* [[A]] to i8*
-+; NO_MSSA-NEXT:    [[TMP1:%.*]] = bitcast [10 x i32]* [[S]] to i8*
-+; NO_MSSA-NEXT:    call void @llvm.memset.p0i8.i64(i8* nonnull align 16 [[TMP1]], i8 0, i64 40, i1 false)
-+; NO_MSSA-NEXT:    [[ARRAYIDX:%.*]] = getelementptr inbounds [10 x i32], [10 x i32]* [[A]], i64 0, i64 0
-+; NO_MSSA-NEXT:    store i32 1, i32* [[ARRAYIDX]], align 4
-+; NO_MSSA-NEXT:    [[SCEVGEP:%.*]] = getelementptr [10 x i32], [10 x i32]* [[S]], i64 0, i64 1
-+; NO_MSSA-NEXT:    [[SCEVGEP7:%.*]] = bitcast i32* [[SCEVGEP]] to i8*
-+; NO_MSSA-NEXT:    br i1 [[Z:%.*]], label [[FOR_BODY3_LR_PH:%.*]], label [[FOR_INC7_1:%.*]]
-+; NO_MSSA:       for.body3.lr.ph:
-+; NO_MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 [[TMP0]], i8* align 4 [[SCEVGEP7]], i64 17179869180, i1 false)
-+; NO_MSSA-NEXT:    br label [[FOR_INC7_1]]
-+; NO_MSSA:       for.inc7.1:
-+; NO_MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 [[TMP0]], i8* align 4 [[SCEVGEP7]], i64 4, i1 false)
-+; NO_MSSA-NEXT:    [[TMP2:%.*]] = load i32, i32* [[ARRAYIDX]], align 4
-+; NO_MSSA-NEXT:    ret i32 [[TMP2]]
-+;
-+; MSSA-LABEL: @foo(
-+; MSSA-NEXT:  entry:
-+; MSSA-NEXT:    [[A:%.*]] = alloca [10 x i32], align 4
-+; MSSA-NEXT:    [[S:%.*]] = alloca [10 x i32], align 4
-+; MSSA-NEXT:    [[TMP0:%.*]] = bitcast [10 x i32]* [[A]] to i8*
-+; MSSA-NEXT:    [[TMP1:%.*]] = bitcast [10 x i32]* [[S]] to i8*
-+; MSSA-NEXT:    call void @llvm.memset.p0i8.i64(i8* nonnull align 16 [[TMP1]], i8 0, i64 40, i1 false)
-+; MSSA-NEXT:    [[ARRAYIDX:%.*]] = getelementptr inbounds [10 x i32], [10 x i32]* [[A]], i64 0, i64 0
-+; MSSA-NEXT:    store i32 1, i32* [[ARRAYIDX]], align 4
-+; MSSA-NEXT:    [[SCEVGEP:%.*]] = getelementptr [10 x i32], [10 x i32]* [[S]], i64 0, i64 1
-+; MSSA-NEXT:    [[SCEVGEP7:%.*]] = bitcast i32* [[SCEVGEP]] to i8*
-+; MSSA-NEXT:    br i1 [[Z:%.*]], label [[FOR_BODY3_LR_PH:%.*]], label [[FOR_INC7_1:%.*]]
-+; MSSA:       for.body3.lr.ph:
-+; MSSA-NEXT:    br label [[FOR_INC7_1]]
-+; MSSA:       for.inc7.1:
-+; MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 [[TMP0]], i8* align 4 [[SCEVGEP7]], i64 4, i1 false)
-+; MSSA-NEXT:    [[TMP2:%.*]] = load i32, i32* [[ARRAYIDX]], align 4
-+; MSSA-NEXT:    ret i32 [[TMP2]]
- ;
- entry:
-   %a = alloca [10 x i32]
-diff --git a/llvm/test/Transforms/MemCpyOpt/non-integral.ll b/llvm/test/Transforms/MemCpyOpt/non-integral.ll
-index 06f99cfea552..f4eab5403c96 100644
---- a/llvm/test/Transforms/MemCpyOpt/non-integral.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/non-integral.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt -memcpyopt -S < %s -verify-memoryssa | FileCheck %s
-+; RUN: opt -memcpyopt -S < %s -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt -memcpyopt -S < %s -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128-ni:1"
- 
-diff --git a/llvm/test/Transforms/MemCpyOpt/nonlocal-memcpy-memcpy.ll b/llvm/test/Transforms/MemCpyOpt/nonlocal-memcpy-memcpy.ll
-index 2dbda0c75140..ec30d1ec7968 100644
---- a/llvm/test/Transforms/MemCpyOpt/nonlocal-memcpy-memcpy.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/nonlocal-memcpy-memcpy.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -memcpyopt -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s --check-prefix=NO_MSSA
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s --check-prefix=MSSA
- 
- ; Test whether memcpy-memcpy dependence is optimized across
- ; basic blocks (conditional branches and invokes).
-@@ -21,17 +22,29 @@ declare i8* @__cxa_begin_catch(i8*)
- ; to copy directly from the original source rather than from the temporary.
- 
- define void @wobble(i8* noalias %dst, i8* %src, i1 %some_condition) {
--; CHECK-LABEL: @wobble(
--; CHECK-NEXT:  bb:
--; CHECK-NEXT:    [[TEMP:%.*]] = alloca i8, i32 64, align 1
--; CHECK-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[TEMP]], i8* nonnull align 8 [[SRC:%.*]], i64 64, i1 false)
--; CHECK-NEXT:    br i1 [[SOME_CONDITION:%.*]], label [[MORE:%.*]], label [[OUT:%.*]]
--; CHECK:       out:
--; CHECK-NEXT:    call void @qux()
--; CHECK-NEXT:    unreachable
--; CHECK:       more:
--; CHECK-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[DST:%.*]], i8* align 8 [[SRC]], i64 64, i1 false)
--; CHECK-NEXT:    ret void
-+; NO_MSSA-LABEL: @wobble(
-+; NO_MSSA-NEXT:  bb:
-+; NO_MSSA-NEXT:    [[TEMP:%.*]] = alloca i8, i32 64, align 1
-+; NO_MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[TEMP]], i8* nonnull align 8 [[SRC:%.*]], i64 64, i1 false)
-+; NO_MSSA-NEXT:    br i1 [[SOME_CONDITION:%.*]], label [[MORE:%.*]], label [[OUT:%.*]]
-+; NO_MSSA:       out:
-+; NO_MSSA-NEXT:    call void @qux()
-+; NO_MSSA-NEXT:    unreachable
-+; NO_MSSA:       more:
-+; NO_MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[DST:%.*]], i8* align 8 [[TEMP]], i64 64, i1 false)
-+; NO_MSSA-NEXT:    ret void
-+;
-+; MSSA-LABEL: @wobble(
-+; MSSA-NEXT:  bb:
-+; MSSA-NEXT:    [[TEMP:%.*]] = alloca i8, i32 64, align 1
-+; MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[TEMP]], i8* nonnull align 8 [[SRC:%.*]], i64 64, i1 false)
-+; MSSA-NEXT:    br i1 [[SOME_CONDITION:%.*]], label [[MORE:%.*]], label [[OUT:%.*]]
-+; MSSA:       out:
-+; MSSA-NEXT:    call void @qux()
-+; MSSA-NEXT:    unreachable
-+; MSSA:       more:
-+; MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[DST:%.*]], i8* align 8 [[SRC]], i64 64, i1 false)
-+; MSSA-NEXT:    ret void
- ;
- bb:
-   %temp = alloca i8, i32 64
-@@ -52,25 +65,45 @@ more:
- ; source rather than from the temporary.
- 
- define i32 @foo(i1 %t3) {
--; CHECK-LABEL: @foo(
--; CHECK-NEXT:  bb:
--; CHECK-NEXT:    [[S:%.*]] = alloca [[STRUCT_S:%.*]], align 4
--; CHECK-NEXT:    [[T:%.*]] = alloca [[STRUCT_S]], align 4
--; CHECK-NEXT:    [[S1:%.*]] = bitcast %struct.s* [[S]] to i8*
--; CHECK-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 [[S1]], i8* align 4 bitcast (%struct.s* @s_foo to i8*), i64 8, i1 false)
--; CHECK-NEXT:    br i1 [[T3:%.*]], label [[BB4:%.*]], label [[BB7:%.*]]
--; CHECK:       bb4:
--; CHECK-NEXT:    [[T5:%.*]] = bitcast %struct.s* [[T]] to i8*
--; CHECK-NEXT:    [[S6:%.*]] = bitcast %struct.s* [[S]] to i8*
--; CHECK-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 [[T5]], i8* align 4 bitcast (%struct.s* @s_foo to i8*), i64 8, i1 false)
--; CHECK-NEXT:    br label [[BB7]]
--; CHECK:       bb7:
--; CHECK-NEXT:    [[T8:%.*]] = getelementptr [[STRUCT_S]], %struct.s* [[T]], i32 0, i32 0
--; CHECK-NEXT:    [[T9:%.*]] = load i32, i32* [[T8]], align 4
--; CHECK-NEXT:    [[T10:%.*]] = getelementptr [[STRUCT_S]], %struct.s* [[T]], i32 0, i32 1
--; CHECK-NEXT:    [[T11:%.*]] = load i32, i32* [[T10]], align 4
--; CHECK-NEXT:    [[T12:%.*]] = add i32 [[T9]], [[T11]]
--; CHECK-NEXT:    ret i32 [[T12]]
-+; NO_MSSA-LABEL: @foo(
-+; NO_MSSA-NEXT:  bb:
-+; NO_MSSA-NEXT:    [[S:%.*]] = alloca [[STRUCT_S:%.*]], align 4
-+; NO_MSSA-NEXT:    [[T:%.*]] = alloca [[STRUCT_S]], align 4
-+; NO_MSSA-NEXT:    [[S1:%.*]] = bitcast %struct.s* [[S]] to i8*
-+; NO_MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 [[S1]], i8* align 4 bitcast (%struct.s* @s_foo to i8*), i64 8, i1 false)
-+; NO_MSSA-NEXT:    br i1 [[T3:%.*]], label [[BB4:%.*]], label [[BB7:%.*]]
-+; NO_MSSA:       bb4:
-+; NO_MSSA-NEXT:    [[T5:%.*]] = bitcast %struct.s* [[T]] to i8*
-+; NO_MSSA-NEXT:    [[S6:%.*]] = bitcast %struct.s* [[S]] to i8*
-+; NO_MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 [[T5]], i8* align 4 [[S6]], i64 8, i1 false)
-+; NO_MSSA-NEXT:    br label [[BB7]]
-+; NO_MSSA:       bb7:
-+; NO_MSSA-NEXT:    [[T8:%.*]] = getelementptr [[STRUCT_S]], %struct.s* [[T]], i32 0, i32 0
-+; NO_MSSA-NEXT:    [[T9:%.*]] = load i32, i32* [[T8]], align 4
-+; NO_MSSA-NEXT:    [[T10:%.*]] = getelementptr [[STRUCT_S]], %struct.s* [[T]], i32 0, i32 1
-+; NO_MSSA-NEXT:    [[T11:%.*]] = load i32, i32* [[T10]], align 4
-+; NO_MSSA-NEXT:    [[T12:%.*]] = add i32 [[T9]], [[T11]]
-+; NO_MSSA-NEXT:    ret i32 [[T12]]
-+;
-+; MSSA-LABEL: @foo(
-+; MSSA-NEXT:  bb:
-+; MSSA-NEXT:    [[S:%.*]] = alloca [[STRUCT_S:%.*]], align 4
-+; MSSA-NEXT:    [[T:%.*]] = alloca [[STRUCT_S]], align 4
-+; MSSA-NEXT:    [[S1:%.*]] = bitcast %struct.s* [[S]] to i8*
-+; MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 [[S1]], i8* align 4 bitcast (%struct.s* @s_foo to i8*), i64 8, i1 false)
-+; MSSA-NEXT:    br i1 [[T3:%.*]], label [[BB4:%.*]], label [[BB7:%.*]]
-+; MSSA:       bb4:
-+; MSSA-NEXT:    [[T5:%.*]] = bitcast %struct.s* [[T]] to i8*
-+; MSSA-NEXT:    [[S6:%.*]] = bitcast %struct.s* [[S]] to i8*
-+; MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 [[T5]], i8* align 4 bitcast (%struct.s* @s_foo to i8*), i64 8, i1 false)
-+; MSSA-NEXT:    br label [[BB7]]
-+; MSSA:       bb7:
-+; MSSA-NEXT:    [[T8:%.*]] = getelementptr [[STRUCT_S]], %struct.s* [[T]], i32 0, i32 0
-+; MSSA-NEXT:    [[T9:%.*]] = load i32, i32* [[T8]], align 4
-+; MSSA-NEXT:    [[T10:%.*]] = getelementptr [[STRUCT_S]], %struct.s* [[T]], i32 0, i32 1
-+; MSSA-NEXT:    [[T11:%.*]] = load i32, i32* [[T10]], align 4
-+; MSSA-NEXT:    [[T12:%.*]] = add i32 [[T9]], [[T11]]
-+; MSSA-NEXT:    ret i32 [[T12]]
- ;
- bb:
-   %s = alloca %struct.s, align 4
-@@ -101,37 +134,69 @@ bb7:                                              ; preds = %bb4, %bb
- ; pattern.
- 
- define i32 @baz(i1 %t5) personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) {
--; CHECK-LABEL: @baz(
--; CHECK-NEXT:  bb:
--; CHECK-NEXT:    [[S:%.*]] = alloca [[STRUCT_S:%.*]], align 4
--; CHECK-NEXT:    [[T:%.*]] = alloca [[STRUCT_S]], align 4
--; CHECK-NEXT:    [[S3:%.*]] = bitcast %struct.s* [[S]] to i8*
--; CHECK-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 [[S3]], i8* align 4 bitcast (%struct.s* @s_baz to i8*), i64 8, i1 false)
--; CHECK-NEXT:    br i1 [[T5:%.*]], label [[BB6:%.*]], label [[BB22:%.*]]
--; CHECK:       bb6:
--; CHECK-NEXT:    invoke void @__cxa_throw(i8* null, i8* bitcast (i8** @i to i8*), i8* null)
--; CHECK-NEXT:    to label [[BB25:%.*]] unwind label [[BB9:%.*]]
--; CHECK:       bb9:
--; CHECK-NEXT:    [[T10:%.*]] = landingpad { i8*, i32 }
--; CHECK-NEXT:    catch i8* null
--; CHECK-NEXT:    br label [[BB13:%.*]]
--; CHECK:       bb13:
--; CHECK-NEXT:    [[T15:%.*]] = call i8* @__cxa_begin_catch(i8* null)
--; CHECK-NEXT:    br label [[BB23:%.*]]
--; CHECK:       bb22:
--; CHECK-NEXT:    [[T23:%.*]] = bitcast %struct.s* [[T]] to i8*
--; CHECK-NEXT:    [[S24:%.*]] = bitcast %struct.s* [[S]] to i8*
--; CHECK-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 [[T23]], i8* align 4 bitcast (%struct.s* @s_baz to i8*), i64 8, i1 false)
--; CHECK-NEXT:    br label [[BB23]]
--; CHECK:       bb23:
--; CHECK-NEXT:    [[T17:%.*]] = getelementptr inbounds [[STRUCT_S]], %struct.s* [[T]], i32 0, i32 0
--; CHECK-NEXT:    [[T18:%.*]] = load i32, i32* [[T17]], align 4
--; CHECK-NEXT:    [[T19:%.*]] = getelementptr inbounds [[STRUCT_S]], %struct.s* [[T]], i32 0, i32 1
--; CHECK-NEXT:    [[T20:%.*]] = load i32, i32* [[T19]], align 4
--; CHECK-NEXT:    [[T21:%.*]] = add nsw i32 [[T18]], [[T20]]
--; CHECK-NEXT:    ret i32 [[T21]]
--; CHECK:       bb25:
--; CHECK-NEXT:    unreachable
-+; NO_MSSA-LABEL: @baz(
-+; NO_MSSA-NEXT:  bb:
-+; NO_MSSA-NEXT:    [[S:%.*]] = alloca [[STRUCT_S:%.*]], align 4
-+; NO_MSSA-NEXT:    [[T:%.*]] = alloca [[STRUCT_S]], align 4
-+; NO_MSSA-NEXT:    [[S3:%.*]] = bitcast %struct.s* [[S]] to i8*
-+; NO_MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 [[S3]], i8* align 4 bitcast (%struct.s* @s_baz to i8*), i64 8, i1 false)
-+; NO_MSSA-NEXT:    br i1 [[T5:%.*]], label [[BB6:%.*]], label [[BB22:%.*]]
-+; NO_MSSA:       bb6:
-+; NO_MSSA-NEXT:    invoke void @__cxa_throw(i8* null, i8* bitcast (i8** @i to i8*), i8* null)
-+; NO_MSSA-NEXT:    to label [[BB25:%.*]] unwind label [[BB9:%.*]]
-+; NO_MSSA:       bb9:
-+; NO_MSSA-NEXT:    [[T10:%.*]] = landingpad { i8*, i32 }
-+; NO_MSSA-NEXT:    catch i8* null
-+; NO_MSSA-NEXT:    br label [[BB13:%.*]]
-+; NO_MSSA:       bb13:
-+; NO_MSSA-NEXT:    [[T15:%.*]] = call i8* @__cxa_begin_catch(i8* null)
-+; NO_MSSA-NEXT:    br label [[BB23:%.*]]
-+; NO_MSSA:       bb22:
-+; NO_MSSA-NEXT:    [[T23:%.*]] = bitcast %struct.s* [[T]] to i8*
-+; NO_MSSA-NEXT:    [[S24:%.*]] = bitcast %struct.s* [[S]] to i8*
-+; NO_MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 [[T23]], i8* align 4 [[S24]], i64 8, i1 false)
-+; NO_MSSA-NEXT:    br label [[BB23]]
-+; NO_MSSA:       bb23:
-+; NO_MSSA-NEXT:    [[T17:%.*]] = getelementptr inbounds [[STRUCT_S]], %struct.s* [[T]], i32 0, i32 0
-+; NO_MSSA-NEXT:    [[T18:%.*]] = load i32, i32* [[T17]], align 4
-+; NO_MSSA-NEXT:    [[T19:%.*]] = getelementptr inbounds [[STRUCT_S]], %struct.s* [[T]], i32 0, i32 1
-+; NO_MSSA-NEXT:    [[T20:%.*]] = load i32, i32* [[T19]], align 4
-+; NO_MSSA-NEXT:    [[T21:%.*]] = add nsw i32 [[T18]], [[T20]]
-+; NO_MSSA-NEXT:    ret i32 [[T21]]
-+; NO_MSSA:       bb25:
-+; NO_MSSA-NEXT:    unreachable
-+;
-+; MSSA-LABEL: @baz(
-+; MSSA-NEXT:  bb:
-+; MSSA-NEXT:    [[S:%.*]] = alloca [[STRUCT_S:%.*]], align 4
-+; MSSA-NEXT:    [[T:%.*]] = alloca [[STRUCT_S]], align 4
-+; MSSA-NEXT:    [[S3:%.*]] = bitcast %struct.s* [[S]] to i8*
-+; MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 [[S3]], i8* align 4 bitcast (%struct.s* @s_baz to i8*), i64 8, i1 false)
-+; MSSA-NEXT:    br i1 [[T5:%.*]], label [[BB6:%.*]], label [[BB22:%.*]]
-+; MSSA:       bb6:
-+; MSSA-NEXT:    invoke void @__cxa_throw(i8* null, i8* bitcast (i8** @i to i8*), i8* null)
-+; MSSA-NEXT:    to label [[BB25:%.*]] unwind label [[BB9:%.*]]
-+; MSSA:       bb9:
-+; MSSA-NEXT:    [[T10:%.*]] = landingpad { i8*, i32 }
-+; MSSA-NEXT:    catch i8* null
-+; MSSA-NEXT:    br label [[BB13:%.*]]
-+; MSSA:       bb13:
-+; MSSA-NEXT:    [[T15:%.*]] = call i8* @__cxa_begin_catch(i8* null)
-+; MSSA-NEXT:    br label [[BB23:%.*]]
-+; MSSA:       bb22:
-+; MSSA-NEXT:    [[T23:%.*]] = bitcast %struct.s* [[T]] to i8*
-+; MSSA-NEXT:    [[S24:%.*]] = bitcast %struct.s* [[S]] to i8*
-+; MSSA-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 [[T23]], i8* align 4 bitcast (%struct.s* @s_baz to i8*), i64 8, i1 false)
-+; MSSA-NEXT:    br label [[BB23]]
-+; MSSA:       bb23:
-+; MSSA-NEXT:    [[T17:%.*]] = getelementptr inbounds [[STRUCT_S]], %struct.s* [[T]], i32 0, i32 0
-+; MSSA-NEXT:    [[T18:%.*]] = load i32, i32* [[T17]], align 4
-+; MSSA-NEXT:    [[T19:%.*]] = getelementptr inbounds [[STRUCT_S]], %struct.s* [[T]], i32 0, i32 1
-+; MSSA-NEXT:    [[T20:%.*]] = load i32, i32* [[T19]], align 4
-+; MSSA-NEXT:    [[T21:%.*]] = add nsw i32 [[T18]], [[T20]]
-+; MSSA-NEXT:    ret i32 [[T21]]
-+; MSSA:       bb25:
-+; MSSA-NEXT:    unreachable
- ;
- bb:
-   %s = alloca %struct.s, align 4
-diff --git a/llvm/test/Transforms/MemCpyOpt/nontemporal.ll b/llvm/test/Transforms/MemCpyOpt/nontemporal.ll
-index e2a8f6c1f33f..7699ddc60279 100644
---- a/llvm/test/Transforms/MemCpyOpt/nontemporal.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/nontemporal.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -memcpyopt -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
- 
-diff --git a/llvm/test/Transforms/MemCpyOpt/pr29105.ll b/llvm/test/Transforms/MemCpyOpt/pr29105.ll
-index d8070f9c4cd0..bacdb8b27720 100644
---- a/llvm/test/Transforms/MemCpyOpt/pr29105.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/pr29105.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt -memcpyopt -instcombine -S %s -verify-memoryssa | FileCheck %s
-+; RUN: opt -memcpyopt -instcombine -S %s -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt -memcpyopt -instcombine -S %s -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- %Foo = type { [2048 x i64] }
- 
- ; Make sure that all mempcy calls are converted to memset calls, or removed.
-diff --git a/llvm/test/Transforms/MemCpyOpt/pr37967.ll b/llvm/test/Transforms/MemCpyOpt/pr37967.ll
-index 0fedd37e1613..618be490da34 100644
---- a/llvm/test/Transforms/MemCpyOpt/pr37967.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/pr37967.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt -debugify -memcpyopt -check-debugify -S < %s 2>&1 -verify-memoryssa | FileCheck %s
-+; RUN: opt -debugify -memcpyopt -check-debugify -S < %s 2>&1 -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt -debugify -memcpyopt -check-debugify -S < %s 2>&1 -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- ; CHECK: CheckModuleDebugify: PASS
- 
-diff --git a/llvm/test/Transforms/MemCpyOpt/process_store.ll b/llvm/test/Transforms/MemCpyOpt/process_store.ll
-index ce8bef8ecdd4..ad11dccdbedf 100644
---- a/llvm/test/Transforms/MemCpyOpt/process_store.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/process_store.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -S -memcpyopt -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -S -memcpyopt -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -S -memcpyopt -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
- target triple = "x86_64-unknown-linux-gnu"
-diff --git a/llvm/test/Transforms/MemCpyOpt/profitable-memset.ll b/llvm/test/Transforms/MemCpyOpt/profitable-memset.ll
-index ec65e67b77fb..6400e43889d0 100644
---- a/llvm/test/Transforms/MemCpyOpt/profitable-memset.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/profitable-memset.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -memcpyopt -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128"
- 
-diff --git a/llvm/test/Transforms/MemCpyOpt/smaller.ll b/llvm/test/Transforms/MemCpyOpt/smaller.ll
-index 90eb487f5067..19ececdd815a 100644
---- a/llvm/test/Transforms/MemCpyOpt/smaller.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/smaller.ll
-@@ -1,6 +1,8 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt -memcpyopt -S < %s -verify-memoryssa | FileCheck %s
--; RUN: opt -passes=memcpyopt -S < %s -verify-memoryssa | FileCheck %s
-+; RUN: opt -memcpyopt -S < %s -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt -memcpyopt -S < %s -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
-+; RUN: opt -passes=memcpyopt -S < %s -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt -passes=memcpyopt -S < %s -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- ; rdar://8875553
- 
- ; Memcpyopt shouldn't optimize the second memcpy using the first
-diff --git a/llvm/test/Transforms/MemCpyOpt/sret.ll b/llvm/test/Transforms/MemCpyOpt/sret.ll
-index 5ba3e6a7519e..98f22ede5865 100644
---- a/llvm/test/Transforms/MemCpyOpt/sret.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/sret.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -basic-aa -memcpyopt -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -basic-aa -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -basic-aa -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
- target triple = "i686-apple-darwin9"
-diff --git a/llvm/test/Transforms/MemCpyOpt/stackrestore.ll b/llvm/test/Transforms/MemCpyOpt/stackrestore.ll
-index 86e353b3bf69..11dda4a20193 100644
---- a/llvm/test/Transforms/MemCpyOpt/stackrestore.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/stackrestore.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt -S -memcpyopt < %s -verify-memoryssa | FileCheck %s
-+; RUN: opt -S -memcpyopt < %s -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt -S -memcpyopt < %s -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- ; PR40118: BasicAA didn't realize that stackrestore ends the lifetime of
- ; unescaped dynamic allocas, such as those that might come from inalloca.
-diff --git a/llvm/test/Transforms/MemCpyOpt/store-to-memset-is-nonzero-type.ll b/llvm/test/Transforms/MemCpyOpt/store-to-memset-is-nonzero-type.ll
-index 94d59a010d70..9cd8971ff6ec 100644
---- a/llvm/test/Transforms/MemCpyOpt/store-to-memset-is-nonzero-type.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/store-to-memset-is-nonzero-type.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt -S < %s -memcpyopt -verify-memoryssa | FileCheck %s
-+; RUN: opt -S < %s -memcpyopt -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt -S < %s -memcpyopt -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- ; Array
- 
-diff --git a/llvm/test/Transforms/MemCpyOpt/store-to-memset.ll b/llvm/test/Transforms/MemCpyOpt/store-to-memset.ll
-index 9be2b30fcbbc..64fa1eb0fea4 100644
---- a/llvm/test/Transforms/MemCpyOpt/store-to-memset.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/store-to-memset.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -memcpyopt -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
- target triple = "x86_64-grtev4-linux-gnu"
- 
-diff --git a/llvm/test/Transforms/MemCpyOpt/variable-sized-memcpy-memcpy.ll b/llvm/test/Transforms/MemCpyOpt/variable-sized-memcpy-memcpy.ll
-index 6ab54d1cd7f2..0006c4c1d68f 100644
---- a/llvm/test/Transforms/MemCpyOpt/variable-sized-memcpy-memcpy.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/variable-sized-memcpy-memcpy.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -memcpyopt -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
- 
- define void @test(i8* %src, i64 %size) {
-diff --git a/llvm/test/Transforms/MemCpyOpt/variable-sized-memcpy-uninit.ll b/llvm/test/Transforms/MemCpyOpt/variable-sized-memcpy-uninit.ll
-index 71ae6b59f2f8..ed1028f7b9d7 100644
---- a/llvm/test/Transforms/MemCpyOpt/variable-sized-memcpy-uninit.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/variable-sized-memcpy-uninit.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -memcpyopt -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
- 
- define void @test(i64 %size) {
-diff --git a/llvm/test/Transforms/MemCpyOpt/variable-sized-memset-memcpy.ll b/llvm/test/Transforms/MemCpyOpt/variable-sized-memset-memcpy.ll
-index 4bbc4243932c..e80bab819fe2 100644
---- a/llvm/test/Transforms/MemCpyOpt/variable-sized-memset-memcpy.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/variable-sized-memset-memcpy.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -memcpyopt -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
- 
- define void @test(i8* %src, i8 %c, i64 %size) {
-diff --git a/llvm/test/Transforms/MemCpyOpt/vscale-memset.ll b/llvm/test/Transforms/MemCpyOpt/vscale-memset.ll
-index f197c6f4491a..57e0c375042c 100644
---- a/llvm/test/Transforms/MemCpyOpt/vscale-memset.ll
-+++ b/llvm/test/Transforms/MemCpyOpt/vscale-memset.ll
-@@ -1,5 +1,6 @@
- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -memcpyopt -dce -S -verify-memoryssa | FileCheck %s
-+; RUN: opt < %s -memcpyopt -dce -S -enable-memcpyopt-memoryssa=0 | FileCheck %s
-+; RUN: opt < %s -memcpyopt -dce -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
- 
- ; Negative test
- ; Check this test is not transformed into memset, or cause a compiler warning
diff --git a/sys-devel/llvm/files/revert-bd020bbbd29e3a30f6697d6b077d28d79b3a3a9d.patch b/sys-devel/llvm/files/revert-bd020bbbd29e3a30f6697d6b077d28d79b3a3a9d.patch
deleted file mode 100644
index 593d577..0000000
--- a/sys-devel/llvm/files/revert-bd020bbbd29e3a30f6697d6b077d28d79b3a3a9d.patch
+++ /dev/null
@@ -1,213 +0,0 @@
-From b14638101b7c20867101d7829c60a4879ca138c6 Mon Sep 17 00:00:00 2001
-From: Michael Benfield <mbenfield@google.com>
-Date: Wed, 19 Jan 2022 00:09:40 +0000
-Subject: [PATCH] Revert "[test] Cleanup tests with -enable-new-pm in
- llvm/test/Analysis"
-
-This reverts commit bd020bbbd29e3a30f6697d6b077d28d79b3a3a9d.
----
- .../test/Analysis/BasicAA/phi-values-usage.ll | 27 ++++++++++++++-----
- llvm/test/Analysis/BasicAA/store-promote.ll   |  1 +
- .../CallGraph/do-nothing-intrinsic.ll         |  2 +-
- .../test/Analysis/GlobalsModRef/comdat-ipo.ll |  3 ++-
- llvm/test/Analysis/GlobalsModRef/dead-uses.ll |  1 +
- llvm/test/Analysis/GlobalsModRef/no-escape.ll |  3 ++-
- .../test/Analysis/MemorySSA/basicaa-memcpy.ll |  2 +-
- llvm/test/Analysis/MemorySSA/debugvalue2.ll   |  2 +-
- .../MemorySSA/loop-rotate-disablebasicaa.ll   |  1 +
- .../loop_rotate_remove_trivial_phis.ll        |  1 +
- llvm/test/Analysis/MemorySSA/pr41640.ll       |  1 +
- llvm/test/Analysis/MemorySSA/pr43317.ll       |  1 +
- llvm/test/Analysis/MemorySSA/pr43427.ll       |  1 +
- llvm/test/Analysis/MemorySSA/pr43438.ll       |  1 +
- llvm/test/Analysis/MemorySSA/pr45927.ll       |  1 +
- llvm/test/Analysis/MemorySSA/update_unroll.ll |  1 +
- 16 files changed, 37 insertions(+), 12 deletions(-)
-
-diff --git a/llvm/test/Analysis/BasicAA/phi-values-usage.ll b/llvm/test/Analysis/BasicAA/phi-values-usage.ll
-index b618beb44d83..ee87aa0543ef 100644
---- a/llvm/test/Analysis/BasicAA/phi-values-usage.ll
-+++ b/llvm/test/Analysis/BasicAA/phi-values-usage.ll
-@@ -1,14 +1,27 @@
--; RUN: opt -debug-pass-manager -aa-pipeline=basic-aa -passes='require<phi-values>,memcpyopt,instcombine' -disable-output < %s 2>&1 | FileCheck %s
-+; RUN: opt -debug-pass=Executions -phi-values -memcpyopt -instcombine -disable-output < %s -enable-new-pm=0 2>&1 | FileCheck %s -check-prefixes=CHECK,CHECK-MEMCPY
-+; RUN: opt -debug-pass=Executions -phi-values -memoryssa -instcombine -disable-output < %s -enable-new-pm=0 2>&1 | FileCheck %s -check-prefix=CHECK
-+; RUN: opt -debug-pass-manager -aa-pipeline=basic-aa -passes='require<phi-values>,memcpyopt,instcombine' -disable-output < %s 2>&1 | FileCheck %s -check-prefixes=NPM
- 
- ; Check that phi values is not run when it's not already available, and that
- ; basicaa is not freed after a pass that preserves CFG, as it preserves CFG.
- 
--; CHECK-DAG: Running analysis: PhiValuesAnalysis
--; CHECK-DAG: Running analysis: BasicAA
--; CHECK-DAG: Running analysis: MemorySSA
--; CHECK: Running pass: MemCpyOptPass
--; CHECK-NOT: Invalidating analysis
--; CHECK: Running pass: InstCombinePass
-+; CHECK: Executing Pass 'Phi Values Analysis'
-+; CHECK: Executing Pass 'Basic Alias Analysis (stateless AA impl)'
-+; CHECK: Executing Pass 'Memory SSA'
-+; CHECK-MEMCPY: Executing Pass 'MemCpy Optimization'
-+; CHECK-MEMCPY-DAG: Freeing Pass 'MemCpy Optimization'
-+; CHECK-DAG: Freeing Pass 'Memory SSA'
-+; CHECK-DAG: Freeing Pass 'Phi Values Analysis'
-+; CHECK-NOT: Executing Pass 'Phi Values Analysis'
-+; CHECK-NOT: Executing Pass 'Basic Alias Analysis (stateless AA impl)'
-+; CHECK: Executing Pass 'Combine redundant instructions'
-+
-+; NPM-DAG: Running analysis: PhiValuesAnalysis
-+; NPM-DAG: Running analysis: BasicAA
-+; NPM-DAG: Running analysis: MemorySSA
-+; NPM: Running pass: MemCpyOptPass
-+; NPM-NOT: Invalidating analysis
-+; NPM: Running pass: InstCombinePass
- 
- target datalayout = "p:8:8-n8"
- 
-diff --git a/llvm/test/Analysis/BasicAA/store-promote.ll b/llvm/test/Analysis/BasicAA/store-promote.ll
-index fbc7cf6357db..dbf313b39808 100644
---- a/llvm/test/Analysis/BasicAA/store-promote.ll
-+++ b/llvm/test/Analysis/BasicAA/store-promote.ll
-@@ -2,6 +2,7 @@
- ; disambiguating some obvious cases.  If LICM is able to disambiguate the
- ; two pointers, then the load should be hoisted, and the store sunk.
- 
-+; RUN: opt < %s -basic-aa -licm -enable-new-pm=0 -S | FileCheck %s
- ; RUN: opt < %s -aa-pipeline=basic-aa -passes='loop-mssa(licm)' -S | FileCheck %s
- target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128"
- 
-diff --git a/llvm/test/Analysis/CallGraph/do-nothing-intrinsic.ll b/llvm/test/Analysis/CallGraph/do-nothing-intrinsic.ll
-index fc2c541736e7..daeed23e3138 100644
---- a/llvm/test/Analysis/CallGraph/do-nothing-intrinsic.ll
-+++ b/llvm/test/Analysis/CallGraph/do-nothing-intrinsic.ll
-@@ -1,4 +1,4 @@
--; RUN: opt < %s -passes='require<callgraph>'
-+; RUN: opt < %s -basiccg -enable-new-pm=0
- ; PR13903
- 
- define void @main() personality i8 0 {
-diff --git a/llvm/test/Analysis/GlobalsModRef/comdat-ipo.ll b/llvm/test/Analysis/GlobalsModRef/comdat-ipo.ll
-index 35afceec09d0..aeeebfd3aede 100644
---- a/llvm/test/Analysis/GlobalsModRef/comdat-ipo.ll
-+++ b/llvm/test/Analysis/GlobalsModRef/comdat-ipo.ll
-@@ -1,4 +1,5 @@
--; RUN: opt < %s -aa-pipeline=basic-aa,globals-aa -passes=gvn -S | FileCheck %s
-+; RUN: opt < %s -basic-aa -globals-aa -gvn -enable-new-pm=0 -S | FileCheck %s
-+; RUN: opt < %s -basic-aa -globals-aa -gvn -enable-new-pm=1 -S | FileCheck %s
- 
- ; See PR26774
- 
-diff --git a/llvm/test/Analysis/GlobalsModRef/dead-uses.ll b/llvm/test/Analysis/GlobalsModRef/dead-uses.ll
-index 0a16001ddb11..0f67de530eb4 100644
---- a/llvm/test/Analysis/GlobalsModRef/dead-uses.ll
-+++ b/llvm/test/Analysis/GlobalsModRef/dead-uses.ll
-@@ -1,3 +1,4 @@
-+; RUN: opt < %s -instcombine -globals-aa -licm -enable-new-pm=0 -S | FileCheck %s
- ; RUN: opt < %s -aa-pipeline=basic-aa,globals-aa -passes='function(instcombine),require<globals-aa>,function(invalidate<aa>,loop-mssa(licm))' -S | FileCheck %s
- 
- ; Make sure -globals-aa ignores dead uses of globals.
-diff --git a/llvm/test/Analysis/GlobalsModRef/no-escape.ll b/llvm/test/Analysis/GlobalsModRef/no-escape.ll
-index d129e9fc3611..fc95b6ad6314 100644
---- a/llvm/test/Analysis/GlobalsModRef/no-escape.ll
-+++ b/llvm/test/Analysis/GlobalsModRef/no-escape.ll
-@@ -1,4 +1,5 @@
--; RUN: opt < %s -aa-pipeline=basic-aa,globals-aa -S -passes='require<globals-aa>,function(loop-mssa(licm))' | FileCheck %s
-+; RUN: opt < %s -basic-aa -globals-aa -S -licm -enable-new-pm=0 | FileCheck %s
-+; RUN: opt < %s -basic-aa -globals-aa -S -licm -enable-new-pm=1 | FileCheck %s
- 
- target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
- target triple = "x86_64-apple-macosx10.10.0"
-diff --git a/llvm/test/Analysis/MemorySSA/basicaa-memcpy.ll b/llvm/test/Analysis/MemorySSA/basicaa-memcpy.ll
-index 119e441c0eec..678b652c6110 100644
---- a/llvm/test/Analysis/MemorySSA/basicaa-memcpy.ll
-+++ b/llvm/test/Analysis/MemorySSA/basicaa-memcpy.ll
-@@ -1,4 +1,4 @@
--; RUN: opt -disable-output -passes='print<memoryssa>' %s 2>&1 | FileCheck %s
-+; RUN: opt -disable-output -basic-aa -enable-new-pm=0 -print-memoryssa %s 2>&1 | FileCheck %s
- 
- declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i1) nounwind
- 
-diff --git a/llvm/test/Analysis/MemorySSA/debugvalue2.ll b/llvm/test/Analysis/MemorySSA/debugvalue2.ll
-index 05cad73071cf..1876e728a1a9 100644
---- a/llvm/test/Analysis/MemorySSA/debugvalue2.ll
-+++ b/llvm/test/Analysis/MemorySSA/debugvalue2.ll
-@@ -1,4 +1,4 @@
--; RUN: opt -passes='print<memoryssa>' -disable-output %s 2>&1 | FileCheck %s
-+; RUN: opt -disable-basic-aa -enable-new-pm=0 -print-memoryssa -disable-output %s 2>&1 | FileCheck %s
- 
- ; Note that the test crashes the MemorySSA verification when doing loop-rotate,
- ; if debuginfo is modelled in MemorySSA, due to the fact that MemorySSA is not
-diff --git a/llvm/test/Analysis/MemorySSA/loop-rotate-disablebasicaa.ll b/llvm/test/Analysis/MemorySSA/loop-rotate-disablebasicaa.ll
-index 2e9316cd3e71..0a539e3f8a9f 100644
---- a/llvm/test/Analysis/MemorySSA/loop-rotate-disablebasicaa.ll
-+++ b/llvm/test/Analysis/MemorySSA/loop-rotate-disablebasicaa.ll
-@@ -1,3 +1,4 @@
-+; RUN: opt -disable-basic-aa -enable-new-pm=0 -print-memoryssa -disable-output %s 2>&1 | FileCheck %s
- ; RUN: opt -passes='print<memoryssa>' -disable-output %s 2>&1 | FileCheck %s
- 
- ; Note: if @foo is modelled as a MemoryDef, this test will assert with -loop-rotate, due to MemorySSA not
-diff --git a/llvm/test/Analysis/MemorySSA/loop_rotate_remove_trivial_phis.ll b/llvm/test/Analysis/MemorySSA/loop_rotate_remove_trivial_phis.ll
-index 9c8d16ed9b04..493e51d581da 100644
---- a/llvm/test/Analysis/MemorySSA/loop_rotate_remove_trivial_phis.ll
-+++ b/llvm/test/Analysis/MemorySSA/loop_rotate_remove_trivial_phis.ll
-@@ -1,3 +1,4 @@
-+; RUN: opt -loop-rotate -enable-new-pm=0 -print-memoryssa -disable-output -verify-memoryssa %s 2>&1 |  FileCheck %s
- ; RUN: opt -passes='loop-mssa(loop-rotate),print<memoryssa>' -disable-output -verify-memoryssa %s 2>&1 |  FileCheck %s
- ; REQUIRES: asserts
- 
-diff --git a/llvm/test/Analysis/MemorySSA/pr41640.ll b/llvm/test/Analysis/MemorySSA/pr41640.ll
-index 3f7947e83f78..f72013ade837 100644
---- a/llvm/test/Analysis/MemorySSA/pr41640.ll
-+++ b/llvm/test/Analysis/MemorySSA/pr41640.ll
-@@ -1,3 +1,4 @@
-+; RUN: opt -disable-output -licm -enable-new-pm=0 -print-memoryssa < %s 2>&1 | FileCheck %s
- ; RUN: opt -disable-output -passes='loop-mssa(licm),print<memoryssa>' < %s 2>&1 | FileCheck %s
- target datalayout = "E-m:e-i1:8:16-i8:8:16-i64:64-f128:64-v128:64-a:8:16-n32:64"
- target triple = "s390x-ibm-linux"
-diff --git a/llvm/test/Analysis/MemorySSA/pr43317.ll b/llvm/test/Analysis/MemorySSA/pr43317.ll
-index eaf3bc9808fc..36b60d0b4ea7 100644
---- a/llvm/test/Analysis/MemorySSA/pr43317.ll
-+++ b/llvm/test/Analysis/MemorySSA/pr43317.ll
-@@ -1,3 +1,4 @@
-+; RUN: opt -disable-output -licm -enable-new-pm=0 -print-memoryssa < %s 2>&1 | FileCheck %s
- ; RUN: opt -disable-output -passes='loop-mssa(licm),print<memoryssa>' < %s 2>&1 | FileCheck %s
- @v_274 = external dso_local global i64, align 1
- @v_295 = external dso_local global i16, align 1
-diff --git a/llvm/test/Analysis/MemorySSA/pr43427.ll b/llvm/test/Analysis/MemorySSA/pr43427.ll
-index e7b77a760181..ffd577568520 100644
---- a/llvm/test/Analysis/MemorySSA/pr43427.ll
-+++ b/llvm/test/Analysis/MemorySSA/pr43427.ll
-@@ -1,3 +1,4 @@
-+; RUN: opt -disable-output -licm -enable-new-pm=0 -print-memoryssa < %s 2>&1 | FileCheck %s
- ; RUN: opt -disable-output -aa-pipeline=basic-aa -passes='loop-mssa(licm),print<memoryssa>' < %s 2>&1 | FileCheck %s
- 
- ; CHECK-LABEL: @f()
-diff --git a/llvm/test/Analysis/MemorySSA/pr43438.ll b/llvm/test/Analysis/MemorySSA/pr43438.ll
-index e421048ffcec..1f62b7239928 100644
---- a/llvm/test/Analysis/MemorySSA/pr43438.ll
-+++ b/llvm/test/Analysis/MemorySSA/pr43438.ll
-@@ -1,3 +1,4 @@
-+; RUN: opt -disable-output -loop-simplify -licm -enable-new-pm=0 -print-memoryssa < %s 2>&1 | FileCheck %s
- ; RUN: opt -disable-output -aa-pipeline=basic-aa -passes='loop-mssa(licm),print<memoryssa>' < %s 2>&1 | FileCheck %s
- target triple = "x86_64-unknown-linux-gnu"
- 
-diff --git a/llvm/test/Analysis/MemorySSA/pr45927.ll b/llvm/test/Analysis/MemorySSA/pr45927.ll
-index 941a78f68ccb..2dfa1e43d1f2 100644
---- a/llvm/test/Analysis/MemorySSA/pr45927.ll
-+++ b/llvm/test/Analysis/MemorySSA/pr45927.ll
-@@ -1,3 +1,4 @@
-+; RUN: opt -disable-output -loop-simplify -lcssa -licm -print-memoryssa < %s -enable-new-pm=0 2>&1 | FileCheck %s
- ; RUN: opt -disable-output -aa-pipeline=basic-aa -passes='loop-mssa(licm),print<memoryssa>' < %s 2>&1 | FileCheck %s
- 
- 
-diff --git a/llvm/test/Analysis/MemorySSA/update_unroll.ll b/llvm/test/Analysis/MemorySSA/update_unroll.ll
-index b65ea507965f..006b97ac56b2 100644
---- a/llvm/test/Analysis/MemorySSA/update_unroll.ll
-+++ b/llvm/test/Analysis/MemorySSA/update_unroll.ll
-@@ -1,3 +1,4 @@
-+; RUN: opt -enable-new-pm=0 -verify-memoryssa  -loop-rotate -S %s | FileCheck %s
- ; RUN: opt -verify-memoryssa -passes='loop-mssa(loop-rotate)' -S %s | FileCheck %s
- ; REQUIRES: asserts
- 
--- 
-2.31.0
-
diff --git a/sys-devel/llvm/files/revert-f5446b769a7929806f72256fccd4826d66502e59.patch b/sys-devel/llvm/files/revert-f5446b769a7929806f72256fccd4826d66502e59.patch
deleted file mode 100644
index e89a858..0000000
--- a/sys-devel/llvm/files/revert-f5446b769a7929806f72256fccd4826d66502e59.patch
+++ /dev/null
@@ -1,426 +0,0 @@
-commit dac18474ad4a27ba9285b6ae46f7b4b3def8b433
-Author: Luis Lozano <llozano@google.com>
-Date:   Mon Aug 2 00:51:50 2021 -0700
-
-    Revert "[MemCpyOpt] Allow variable lengths in memcpy optimizer"
-    
-    This reverts commit f5446b769a7929806f72256fccd4826d66502e59.
-    
-    This was bisected to be the cause of a build failure for sqlite.
-    
-    BUG=b:194845770
-    TEST=CQ, chromiumos-sdk-next
-
-diff --git a/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp b/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-index 6cf317a1c47f..9d24afea148e 100644
---- a/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-+++ b/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-@@ -1057,12 +1057,10 @@ bool MemCpyOptPass::processMemCpyMemCpyDependence(MemCpyInst *M,
- 
-   // Second, the length of the memcpy's must be the same, or the preceding one
-   // must be larger than the following one.
--  if (MDep->getLength() != M->getLength()) {
--    ConstantInt *MDepLen = dyn_cast<ConstantInt>(MDep->getLength());
--    ConstantInt *MLen = dyn_cast<ConstantInt>(M->getLength());
--    if (!MDepLen || !MLen || MDepLen->getZExtValue() < MLen->getZExtValue())
--      return false;
--  }
-+  ConstantInt *MDepLen = dyn_cast<ConstantInt>(MDep->getLength());
-+  ConstantInt *MLen = dyn_cast<ConstantInt>(M->getLength());
-+  if (!MDepLen || !MLen || MDepLen->getZExtValue() < MLen->getZExtValue())
-+    return false;
- 
-   // Verify that the copied-from memory doesn't change in between the two
-   // transfers.  For example, in:
-@@ -1238,23 +1236,21 @@ bool MemCpyOptPass::processMemSetMemCpyDependence(MemCpyInst *MemCpy,
- 
- /// Determine whether the instruction has undefined content for the given Size,
- /// either because it was freshly alloca'd or started its lifetime.
--static bool hasUndefContents(Instruction *I, Value *Size) {
-+static bool hasUndefContents(Instruction *I, ConstantInt *Size) {
-   if (isa<AllocaInst>(I))
-     return true;
- 
--  if (ConstantInt *CSize = dyn_cast<ConstantInt>(Size)) {
--    if (IntrinsicInst *II = dyn_cast<IntrinsicInst>(I))
--      if (II->getIntrinsicID() == Intrinsic::lifetime_start)
--        if (ConstantInt *LTSize = dyn_cast<ConstantInt>(II->getArgOperand(0)))
--          if (LTSize->getZExtValue() >= CSize->getZExtValue())
--            return true;
--  }
-+  if (IntrinsicInst *II = dyn_cast<IntrinsicInst>(I))
-+    if (II->getIntrinsicID() == Intrinsic::lifetime_start)
-+      if (ConstantInt *LTSize = dyn_cast<ConstantInt>(II->getArgOperand(0)))
-+        if (LTSize->getZExtValue() >= Size->getZExtValue())
-+          return true;
- 
-   return false;
- }
- 
- static bool hasUndefContentsMSSA(MemorySSA *MSSA, AliasAnalysis *AA, Value *V,
--                                 MemoryDef *Def, Value *Size) {
-+                                 MemoryDef *Def, ConstantInt *Size) {
-   if (MSSA->isLiveOnEntryDef(Def))
-     return isa<AllocaInst>(getUnderlyingObject(V));
- 
-@@ -1262,17 +1258,14 @@ static bool hasUndefContentsMSSA(MemorySSA *MSSA, AliasAnalysis *AA, Value *V,
-           dyn_cast_or_null<IntrinsicInst>(Def->getMemoryInst())) {
-     if (II->getIntrinsicID() == Intrinsic::lifetime_start) {
-       ConstantInt *LTSize = cast<ConstantInt>(II->getArgOperand(0));
-+      if (AA->isMustAlias(V, II->getArgOperand(1)) &&
-+          LTSize->getZExtValue() >= Size->getZExtValue())
-+        return true;
- 
--      if (ConstantInt *CSize = dyn_cast<ConstantInt>(Size)) {
--        if (AA->isMustAlias(V, II->getArgOperand(1)) &&
--            LTSize->getZExtValue() >= CSize->getZExtValue())
--          return true;
--      }
--
--      // If the lifetime.start covers a whole alloca (as it almost always
--      // does) and we're querying a pointer based on that alloca, then we know
--      // the memory is definitely undef, regardless of how exactly we alias.
--      // The size also doesn't matter, as an out-of-bounds access would be UB.
-+      // If the lifetime.start covers a whole alloca (as it almost always does)
-+      // and we're querying a pointer based on that alloca, then we know the
-+      // memory is definitely undef, regardless of how exactly we alias. The
-+      // size also doesn't matter, as an out-of-bounds access would be UB.
-       AllocaInst *Alloca = dyn_cast<AllocaInst>(getUnderlyingObject(V));
-       if (getUnderlyingObject(II->getArgOperand(1)) == Alloca) {
-         DataLayout DL = Alloca->getModule()->getDataLayout();
-@@ -1298,6 +1291,8 @@ static bool hasUndefContentsMSSA(MemorySSA *MSSA, AliasAnalysis *AA, Value *V,
- ///   memset(dst2, c, dst2_size);
- /// \endcode
- /// When dst2_size <= dst1_size.
-+///
-+/// The \p MemCpy must have a Constant length.
- bool MemCpyOptPass::performMemCpyToMemSetOptzn(MemCpyInst *MemCpy,
-                                                MemSetInst *MemSet) {
-   // Make sure that memcpy(..., memset(...), ...), that is we are memsetting and
-@@ -1305,47 +1300,38 @@ bool MemCpyOptPass::performMemCpyToMemSetOptzn(MemCpyInst *MemCpy,
-   if (!AA->isMustAlias(MemSet->getRawDest(), MemCpy->getRawSource()))
-     return false;
- 
--  Value *MemSetSize = MemSet->getLength();
--  Value *CopySize = MemCpy->getLength();
--
--  if (MemSetSize != CopySize) {
--    // Make sure the memcpy doesn't read any more than what the memset wrote.
--    // Don't worry about sizes larger than i64.
--
--    // A known memset size is required.
--    ConstantInt *CMemSetSize = dyn_cast<ConstantInt>(MemSetSize);
--    if (!CMemSetSize)
--      return false;
-+  // A known memset size is required.
-+  ConstantInt *MemSetSize = dyn_cast<ConstantInt>(MemSet->getLength());
-+  if (!MemSetSize)
-+    return false;
- 
--    // A known memcpy size is also required.
--    ConstantInt *CCopySize = dyn_cast<ConstantInt>(CopySize);
--    if (!CCopySize)
--      return false;
--    if (CCopySize->getZExtValue() > CMemSetSize->getZExtValue()) {
--      // If the memcpy is larger than the memset, but the memory was undef prior
--      // to the memset, we can just ignore the tail. Technically we're only
--      // interested in the bytes from MemSetSize..CopySize here, but as we can't
--      // easily represent this location, we use the full 0..CopySize range.
--      MemoryLocation MemCpyLoc = MemoryLocation::getForSource(MemCpy);
--      bool CanReduceSize = false;
--      if (EnableMemorySSA) {
--        MemoryUseOrDef *MemSetAccess = MSSA->getMemoryAccess(MemSet);
--        MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess(
--            MemSetAccess->getDefiningAccess(), MemCpyLoc);
--        if (auto *MD = dyn_cast<MemoryDef>(Clobber))
--          if (hasUndefContentsMSSA(MSSA, AA, MemCpy->getSource(), MD, CopySize))
--            CanReduceSize = true;
--      } else {
--        MemDepResult DepInfo = MD->getPointerDependencyFrom(
--            MemCpyLoc, true, MemSet->getIterator(), MemSet->getParent());
--        if (DepInfo.isDef() && hasUndefContents(DepInfo.getInst(), CopySize))
-+  // Make sure the memcpy doesn't read any more than what the memset wrote.
-+  // Don't worry about sizes larger than i64.
-+  ConstantInt *CopySize = cast<ConstantInt>(MemCpy->getLength());
-+  if (CopySize->getZExtValue() > MemSetSize->getZExtValue()) {
-+    // If the memcpy is larger than the memset, but the memory was undef prior
-+    // to the memset, we can just ignore the tail. Technically we're only
-+    // interested in the bytes from MemSetSize..CopySize here, but as we can't
-+    // easily represent this location, we use the full 0..CopySize range.
-+    MemoryLocation MemCpyLoc = MemoryLocation::getForSource(MemCpy);
-+    bool CanReduceSize = false;
-+    if (EnableMemorySSA) {
-+      MemoryUseOrDef *MemSetAccess = MSSA->getMemoryAccess(MemSet);
-+      MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess(
-+          MemSetAccess->getDefiningAccess(), MemCpyLoc);
-+      if (auto *MD = dyn_cast<MemoryDef>(Clobber))
-+        if (hasUndefContentsMSSA(MSSA, AA, MemCpy->getSource(), MD, CopySize))
-           CanReduceSize = true;
--      }
--
--      if (!CanReduceSize)
--        return false;
--      CopySize = MemSetSize;
-+    } else {
-+      MemDepResult DepInfo = MD->getPointerDependencyFrom(
-+          MemCpyLoc, true, MemSet->getIterator(), MemSet->getParent());
-+      if (DepInfo.isDef() && hasUndefContents(DepInfo.getInst(), CopySize))
-+        CanReduceSize = true;
-     }
-+
-+    if (!CanReduceSize)
-+      return false;
-+    CopySize = MemSetSize;
-   }
- 
-   IRBuilder<> Builder(MemCpy);
-@@ -1417,6 +1403,10 @@ bool MemCpyOptPass::processMemCpy(MemCpyInst *M, BasicBlock::iterator &BBI) {
-           if (processMemSetMemCpyDependence(M, MDep))
-             return true;
- 
-+    // The optimizations after this point require the memcpy size.
-+    ConstantInt *CopySize = dyn_cast<ConstantInt>(M->getLength());
-+    if (!CopySize) return false;
-+
-     MemoryAccess *SrcClobber = MSSA->getWalker()->getClobberingMemoryAccess(
-         AnyClobber, MemoryLocation::getForSource(M));
- 
-@@ -1429,29 +1419,26 @@ bool MemCpyOptPass::processMemCpy(MemCpyInst *M, BasicBlock::iterator &BBI) {
-     //   d) memcpy from a just-memset'd source can be turned into memset.
-     if (auto *MD = dyn_cast<MemoryDef>(SrcClobber)) {
-       if (Instruction *MI = MD->getMemoryInst()) {
--        if (ConstantInt *CopySize = dyn_cast<ConstantInt>(M->getLength())) {
--          if (auto *C = dyn_cast<CallInst>(MI)) {
--            // The memcpy must post-dom the call. Limit to the same block for
--            // now. Additionally, we need to ensure that there are no accesses
--            // to dest between the call and the memcpy. Accesses to src will be
--            // checked by performCallSlotOptzn().
--            // TODO: Support non-local call-slot optimization?
--            if (C->getParent() == M->getParent() &&
--                !accessedBetween(*AA, DestLoc, MD, MA)) {
--              // FIXME: Can we pass in either of dest/src alignment here instead
--              // of conservatively taking the minimum?
--              Align Alignment = std::min(M->getDestAlign().valueOrOne(),
--                                         M->getSourceAlign().valueOrOne());
--              if (performCallSlotOptzn(M, M, M->getDest(), M->getSource(),
--                                       CopySize->getZExtValue(), Alignment,
--                                       C)) {
--                LLVM_DEBUG(dbgs() << "Performed call slot optimization:\n"
--                                  << "    call: " << *C << "\n"
--                                  << "    memcpy: " << *M << "\n");
--                eraseInstruction(M);
--                ++NumMemCpyInstr;
--                return true;
--              }
-+        if (auto *C = dyn_cast<CallInst>(MI)) {
-+          // The memcpy must post-dom the call. Limit to the same block for now.
-+          // Additionally, we need to ensure that there are no accesses to dest
-+          // between the call and the memcpy. Accesses to src will be checked
-+          // by performCallSlotOptzn().
-+          // TODO: Support non-local call-slot optimization?
-+          if (C->getParent() == M->getParent() &&
-+              !accessedBetween(*AA, DestLoc, MD, MA)) {
-+            // FIXME: Can we pass in either of dest/src alignment here instead
-+            // of conservatively taking the minimum?
-+            Align Alignment = std::min(M->getDestAlign().valueOrOne(),
-+                                       M->getSourceAlign().valueOrOne());
-+            if (performCallSlotOptzn(M, M, M->getDest(), M->getSource(),
-+                                     CopySize->getZExtValue(), Alignment, C)) {
-+              LLVM_DEBUG(dbgs() << "Performed call slot optimization:\n"
-+                                << "    call: " << *C << "\n"
-+                                << "    memcpy: " << *M << "\n");
-+              eraseInstruction(M);
-+              ++NumMemCpyInstr;
-+              return true;
-             }
-           }
-         }
-@@ -1467,7 +1454,7 @@ bool MemCpyOptPass::processMemCpy(MemCpyInst *M, BasicBlock::iterator &BBI) {
-         }
-       }
- 
--      if (hasUndefContentsMSSA(MSSA, AA, M->getSource(), MD, M->getLength())) {
-+      if (hasUndefContentsMSSA(MSSA, AA, M->getSource(), MD, CopySize)) {
-         LLVM_DEBUG(dbgs() << "Removed memcpy from undef\n");
-         eraseInstruction(M);
-         ++NumMemCpyInstr;
-@@ -1484,6 +1471,10 @@ bool MemCpyOptPass::processMemCpy(MemCpyInst *M, BasicBlock::iterator &BBI) {
-         if (processMemSetMemCpyDependence(M, MDep))
-           return true;
- 
-+    // The optimizations after this point require the memcpy size.
-+    ConstantInt *CopySize = dyn_cast<ConstantInt>(M->getLength());
-+    if (!CopySize) return false;
-+
-     // There are four possible optimizations we can do for memcpy:
-     //   a) memcpy-memcpy xform which exposes redundance for DSE.
-     //   b) call-memcpy xform for return slot optimization.
-@@ -1491,19 +1482,17 @@ bool MemCpyOptPass::processMemCpy(MemCpyInst *M, BasicBlock::iterator &BBI) {
-     //      its lifetime copies undefined data, and we can therefore eliminate
-     //      the memcpy in favor of the data that was already at the destination.
-     //   d) memcpy from a just-memset'd source can be turned into memset.
--    if (ConstantInt *CopySize = dyn_cast<ConstantInt>(M->getLength())) {
--      if (DepInfo.isClobber()) {
--        if (CallInst *C = dyn_cast<CallInst>(DepInfo.getInst())) {
--          // FIXME: Can we pass in either of dest/src alignment here instead
--          // of conservatively taking the minimum?
--          Align Alignment = std::min(M->getDestAlign().valueOrOne(),
--                                     M->getSourceAlign().valueOrOne());
--          if (performCallSlotOptzn(M, M, M->getDest(), M->getSource(),
--                                   CopySize->getZExtValue(), Alignment, C)) {
--            eraseInstruction(M);
--            ++NumMemCpyInstr;
--            return true;
--          }
-+    if (DepInfo.isClobber()) {
-+      if (CallInst *C = dyn_cast<CallInst>(DepInfo.getInst())) {
-+        // FIXME: Can we pass in either of dest/src alignment here instead
-+        // of conservatively taking the minimum?
-+        Align Alignment = std::min(M->getDestAlign().valueOrOne(),
-+                                   M->getSourceAlign().valueOrOne());
-+        if (performCallSlotOptzn(M, M, M->getDest(), M->getSource(),
-+                                 CopySize->getZExtValue(), Alignment, C)) {
-+          eraseInstruction(M);
-+          ++NumMemCpyInstr;
-+          return true;
-         }
-       }
-     }
-@@ -1516,7 +1505,7 @@ bool MemCpyOptPass::processMemCpy(MemCpyInst *M, BasicBlock::iterator &BBI) {
-       if (MemCpyInst *MDep = dyn_cast<MemCpyInst>(SrcDepInfo.getInst()))
-         return processMemCpyMemCpyDependence(M, MDep);
-     } else if (SrcDepInfo.isDef()) {
--      if (hasUndefContents(SrcDepInfo.getInst(), M->getLength())) {
-+      if (hasUndefContents(SrcDepInfo.getInst(), CopySize)) {
-         eraseInstruction(M);
-         ++NumMemCpyInstr;
-         return true;
-diff --git a/llvm/test/Transforms/MemCpyOpt/variable-sized-memcpy-memcpy.ll b/llvm/test/Transforms/MemCpyOpt/variable-sized-memcpy-memcpy.ll
-deleted file mode 100644
-index 0006c4c1d68f..000000000000
---- a/llvm/test/Transforms/MemCpyOpt/variable-sized-memcpy-memcpy.ll
-+++ /dev/null
-@@ -1,39 +0,0 @@
--; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s
--; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
--target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
--
--define void @test(i8* %src, i64 %size) {
--; CHECK-LABEL: @test(
--; CHECK-NEXT:    [[TMP:%.*]] = alloca i8, i64 [[SIZE:%.*]], align 1
--; CHECK-NEXT:    [[DST:%.*]] = alloca i8, i64 [[SIZE]], align 1
--; CHECK-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[TMP]], i8* align 8 [[SRC:%.*]], i64 [[SIZE]], i1 false)
--; CHECK-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[DST]], i8* align 8 [[SRC]], i64 [[SIZE]], i1 false)
--; CHECK-NEXT:    ret void
--;
--  %tmp = alloca i8, i64 %size
--  %dst = alloca i8, i64 %size
--  call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %tmp, i8* align 8 %src, i64 %size, i1 false)
--  call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %dst, i8* align 8 %tmp, i64 %size, i1 false)
--
--  ret void
--}
--
--; Differing sizes, so left as it is.
--define void @negative_test(i8* %src, i64 %size1, i64 %size2) {
--; CHECK-LABEL: @negative_test(
--; CHECK-NEXT:    [[TMP:%.*]] = alloca i8, i64 [[SIZE1:%.*]], align 1
--; CHECK-NEXT:    [[DST:%.*]] = alloca i8, i64 [[SIZE2:%.*]], align 1
--; CHECK-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[TMP]], i8* align 8 [[SRC:%.*]], i64 [[SIZE1]], i1 false)
--; CHECK-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[DST]], i8* align 8 [[TMP]], i64 [[SIZE2]], i1 false)
--; CHECK-NEXT:    ret void
--;
--  %tmp = alloca i8, i64 %size1
--  %dst = alloca i8, i64 %size2
--  call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %tmp, i8* align 8 %src, i64 %size1, i1 false)
--  call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %dst, i8* align 8 %tmp, i64 %size2, i1 false)
--
--  ret void
--}
--
--declare void @llvm.memcpy.p0i8.p0i8.i64(i8*, i8*, i64, i1)
-diff --git a/llvm/test/Transforms/MemCpyOpt/variable-sized-memcpy-uninit.ll b/llvm/test/Transforms/MemCpyOpt/variable-sized-memcpy-uninit.ll
-deleted file mode 100644
-index ed1028f7b9d7..000000000000
---- a/llvm/test/Transforms/MemCpyOpt/variable-sized-memcpy-uninit.ll
-+++ /dev/null
-@@ -1,32 +0,0 @@
--; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s
--; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
--target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
--
--define void @test(i64 %size) {
--; CHECK-LABEL: @test(
--; CHECK-NEXT:    [[SRC:%.*]] = alloca i8, i64 [[SIZE:%.*]], align 1
--; CHECK-NEXT:    [[DST:%.*]] = alloca i8, i64 [[SIZE]], align 1
--; CHECK-NEXT:    ret void
--;
--  %src = alloca i8, i64 %size
--  %dst = alloca i8, i64 %size
--  call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %dst, i8* align 8 %src, i64 %size, i1 false)
--
--  ret void
--}
--
--define void @test2(i64 %size1, i64 %size2, i64 %cpy_size) {
--; CHECK-LABEL: @test2(
--; CHECK-NEXT:    [[SRC:%.*]] = alloca i8, i64 [[SIZE1:%.*]], align 1
--; CHECK-NEXT:    [[DST:%.*]] = alloca i8, i64 [[SIZE2:%.*]], align 1
--; CHECK-NEXT:    ret void
--;
--  %src = alloca i8, i64 %size1
--  %dst = alloca i8, i64 %size2
--  call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %dst, i8* align 8 %src, i64 %cpy_size, i1 false)
--
--  ret void
--}
--
--declare void @llvm.memcpy.p0i8.p0i8.i64(i8*, i8*, i64, i1)
-diff --git a/llvm/test/Transforms/MemCpyOpt/variable-sized-memset-memcpy.ll b/llvm/test/Transforms/MemCpyOpt/variable-sized-memset-memcpy.ll
-deleted file mode 100644
-index e80bab819fe2..000000000000
---- a/llvm/test/Transforms/MemCpyOpt/variable-sized-memset-memcpy.ll
-+++ /dev/null
-@@ -1,40 +0,0 @@
--; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
--; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=0 | FileCheck %s
--; RUN: opt < %s -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s
--target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
--
--define void @test(i8* %src, i8 %c, i64 %size) {
--; CHECK-LABEL: @test(
--; CHECK-NEXT:    [[DST1:%.*]] = alloca i8, i64 [[SIZE:%.*]], align 1
--; CHECK-NEXT:    [[DST2:%.*]] = alloca i8, i64 [[SIZE]], align 1
--; CHECK-NEXT:    call void @llvm.memset.p0i8.i64(i8* align 8 [[DST1]], i8 [[C:%.*]], i64 [[SIZE]], i1 false)
--; CHECK-NEXT:    call void @llvm.memset.p0i8.i64(i8* align 8 [[DST2]], i8 [[C]], i64 [[SIZE]], i1 false)
--; CHECK-NEXT:    ret void
--;
--  %dst1 = alloca i8, i64 %size
--  %dst2 = alloca i8, i64 %size
--  call void @llvm.memset.p0i8.i64(i8* align 8 %dst1, i8 %c, i64 %size, i1 false)
--  call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %dst2, i8* align 8 %dst1, i64 %size, i1 false)
--
--  ret void
--}
--
--; Differing sizes, so left as it is.
--define void @negative_test(i8* %src, i8 %c, i64 %size1, i64 %size2) {
--; CHECK-LABEL: @negative_test(
--; CHECK-NEXT:    [[DST1:%.*]] = alloca i8, i64 [[SIZE1:%.*]], align 1
--; CHECK-NEXT:    [[DST2:%.*]] = alloca i8, i64 [[SIZE2:%.*]], align 1
--; CHECK-NEXT:    call void @llvm.memset.p0i8.i64(i8* align 8 [[DST1]], i8 [[C:%.*]], i64 [[SIZE1]], i1 false)
--; CHECK-NEXT:    call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[DST2]], i8* align 8 [[DST1]], i64 [[SIZE2]], i1 false)
--; CHECK-NEXT:    ret void
--;
--  %dst1 = alloca i8, i64 %size1
--  %dst2 = alloca i8, i64 %size2
--  call void @llvm.memset.p0i8.i64(i8* align 8 %dst1, i8 %c, i64 %size1, i1 false)
--  call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %dst2, i8* align 8 %dst1, i64 %size2, i1 false)
--
--  ret void
--}
--
--declare void @llvm.memset.p0i8.i64(i8*, i8, i64, i1)
--declare void @llvm.memcpy.p0i8.p0i8.i64(i8*, i8*, i64, i1)
diff --git a/sys-devel/llvm/llvm-14.0_pre445002_p20220217-r3.ebuild b/sys-devel/llvm/llvm-14.0_pre445002_p20220217-r3.ebuild
deleted file mode 120000
index acb1f6b..0000000
--- a/sys-devel/llvm/llvm-14.0_pre445002_p20220217-r3.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-llvm-14.0_pre445002_p20220217.ebuild
\ No newline at end of file
diff --git a/sys-devel/llvm/llvm-14.0_pre445002_p20220217.ebuild b/sys-devel/llvm/llvm-14.0_pre445002_p20220217.ebuild
deleted file mode 100644
index 848b89f..0000000
--- a/sys-devel/llvm/llvm-14.0_pre445002_p20220217.ebuild
+++ /dev/null
@@ -1,428 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-
-inherit cros-constants cmake flag-o-matic git-r3 multilib-minimal  \
-	python-any-r1 pax-utils toolchain-funcs
-
-LLVM_HASH="18308e171b5b1dd99627a4d88c7d6c5ff21b8c96" # r445002
-LLVM_NEXT_HASH="18308e171b5b1dd99627a4d88c7d6c5ff21b8c96" # r445002
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="http://llvm.org/"
-SRC_URI="
-	!llvm-tot? (
-		!llvm-next? ( llvm_pgo_use? ( gs://chromeos-localmirror/distfiles/llvm-profdata-${LLVM_HASH}.tar.xz ) )
-		llvm-next? ( llvm-next_pgo_use? ( gs://chromeos-localmirror/distfiles/llvm-profdata-${LLVM_NEXT_HASH}.tar.xz ) )
-	)
-"
-EGIT_REPO_URI="${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project
-	${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project"
-EGIT_BRANCH=main
-
-LICENSE="UoI-NCSA"
-SLOT="8"
-KEYWORDS="-* amd64"
-# FIXME: llvm-tot is somewhat misleading: at the moment, it's essentially
-# llvm-next with a few extra checks enabled
-IUSE="debug +default-compiler-rt +default-libcxx doc libedit +libffi +llvm-crt
-	llvm-next llvm_pgo_generate +llvm_pgo_use llvm-next_pgo_use llvm-tot
-	multitarget ncurses ocaml test +thinlto xml video_cards_radeon"
-
-COMMON_DEPEND="
-	sys-libs/zlib:0=[${MULTILIB_USEDEP}]
-	libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
-	libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
-	ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
-	ocaml? (
-		>=dev-lang/ocaml-4.00.0:0=
-		dev-ml/findlib
-		dev-ml/ocaml-ctypes )"
-# configparser-3.2 breaks the build (3.3 or none at all are fine)
-DEPEND="${COMMON_DEPEND}
-	sys-devel/binutils
-	ocaml? ( test? ( dev-ml/ounit ) )"
-RDEPEND="${COMMON_DEPEND}
-	abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
-		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )
-	!<=sys-devel/llvm-8.0_pre
-	!sys-devel/lld
-	!sys-devel/clang"
-BDEPEND="
-	dev-lang/perl
-	libffi? ( virtual/pkgconfig )
-	sys-devel/gnuconfig
-	$(python_gen_any_dep '
-		dev-python/sphinx[${PYTHON_USEDEP}]
-		doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
-	')
-"
-
-# pypy gives me around 1700 unresolved tests due to open file limit
-# being exceeded. probably GC does not close them fast enough.
-REQUIRED_USE="
-	llvm_pgo_generate? ( !llvm_pgo_use )"
-
-check_lld_works() {
-	echo 'int main() {return 0;}' > "${T}"/lld.cxx || die
-	echo "Trying to link program with lld"
-	$(tc-getCXX) -fuse-ld=lld -std=c++11 -o /dev/null "${T}"/lld.cxx
-}
-
-apply_pgo_profile() {
-	! use llvm-tot && ( \
-		( use llvm-next && use llvm-next_pgo_use ) ||
-		( ! use llvm-next && use llvm_pgo_use ) )
-}
-
-src_unpack() {
-	export CMAKE_USE_DIR="${S}/llvm"
-
-	if use llvm-next || use llvm-tot; then
-		EGIT_COMMIT="${LLVM_NEXT_HASH}"
-	else
-		EGIT_COMMIT="${LLVM_HASH}"
-	fi
-
-	git-r3_src_unpack
-
-	if apply_pgo_profile; then
-		cd "${WORKDIR}" || die
-		local profile_hash
-		if use llvm-next; then
-			profile_hash="${LLVM_NEXT_HASH}"
-		else
-			profile_hash="${LLVM_HASH}"
-		fi
-		unpack "llvm-profdata-${profile_hash}.tar.xz"
-	fi
-}
-
-get_most_recent_revision() {
-	local subdir="${S}/llvm"
-
-	# Tries to get the revision ID of the most recent commit
-	"${FILESDIR}"/patch_manager/git_llvm_rev.py --llvm_dir "${subdir}" --sha "$(git -C "${subdir}" rev-parse HEAD)" | cut -d 'r' -f 2
-}
-
-src_prepare() {
-	# Make ocaml warnings non-fatal, bug #537308
-	sed -e "/RUN/s/-warn-error A//" -i llvm/test/Bindings/OCaml/*ml  || die
-
-	python_setup
-
-	"${FILESDIR}"/patch_manager/patch_manager.py \
-		--svn_version "$(get_most_recent_revision)" \
-		--patch_metadata_file "${FILESDIR}"/PATCHES.json \
-		--filesdir_path "${FILESDIR}" \
-		--src_path "${S}" || die
-
-	cmake_src_prepare
-
-	# Native libdir is used to hold LLVMgold.so
-	# shellcheck disable=SC2034
-	NATIVE_LIBDIR=$(get_libdir)
-}
-
-enable_asserts() {
-	# keep asserts enabled for llvm-tot
-	if use llvm-tot; then
-		echo yes
-	else
-		usex debug
-	fi
-}
-
-multilib_src_configure() {
-	export CMAKE_BUILD_TYPE="RelWithDebInfo"
-
-	append-flags -Wno-poison-system-directories
-
-	local targets
-	if use multitarget; then
-		targets='host;X86;ARM;AArch64;NVPTX'
-	else
-		targets='host;CppBackend'
-		use video_cards_radeon && targets+=';AMDGPU'
-	fi
-
-	local ffi_cflags ffi_ldflags
-	if use libffi; then
-		ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
-		ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		"${mycmakeargs[@]}"
-		"-DLLVM_ENABLE_PROJECTS=llvm;clang;lld;lldb;compiler-rt;clang-tools-extra"
-		"-DLLVM_LIBDIR_SUFFIX=${libdir#lib}"
-
-		"-DLLVM_BUILD_LLVM_DYLIB=ON"
-		# Link LLVM statically
-		"-DLLVM_LINK_LLVM_DYLIB=OFF"
-		"-DBUILD_SHARED_LIBS=OFF"
-
-		"-DLLVM_ENABLE_TIMESTAMPS=OFF"
-		"-DLLVM_TARGETS_TO_BUILD=${targets}"
-		"-DLLVM_BUILD_TESTS=$(usex test)"
-
-		"-DLLVM_ENABLE_FFI=$(usex libffi)"
-		"-DLLVM_ENABLE_TERMINFO=$(usex ncurses)"
-		"-DLLVM_ENABLE_ASSERTIONS=$(enable_asserts)"
-		"-DLLVM_ENABLE_EH=ON"
-		"-DLLVM_ENABLE_RTTI=ON"
-
-		"-DWITH_POLLY=OFF" # TODO
-
-		"-DLLVM_HOST_TRIPLE=${CHOST}"
-
-		"-DFFI_INCLUDE_DIR=${ffi_cflags#-I}"
-		"-DFFI_LIBRARY_DIR=${ffi_ldflags#-L}"
-		"-DLLVM_BINUTILS_INCDIR=${SYSROOT}/usr/include"
-
-		"-DHAVE_HISTEDIT_H=$(usex libedit)"
-		"-DENABLE_LINKER_BUILD_ID=ON"
-		"-DCLANG_VENDOR=Chromium OS ${PVR}"
-		# override default stdlib and rtlib
-		"-DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "")"
-		"-DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "")"
-
-		# Turn on new pass manager for LLVM
-		"-DENABLE_EXPERIMENTAL_NEW_PASS_MANAGER=ON"
-
-		# crbug/855759
-		"-DCOMPILER_RT_BUILD_CRT=$(usex llvm-crt)"
-
-		"-DCMAKE_POSITION_INDEPENDENT_CODE=ON"
-		"-DCLANG_DEFAULT_UNWINDLIB=libgcc"
-
-		# workaround for crbug/1198796
-		"-DCLANG_TOOLING_BUILD_AST_INTROSPECTION=OFF"
-
-		# By default do not enable PGO for compiler-rt
-		"-DCOMPILER_RT_ENABLE_PGO=OFF"
-
-		# compiler-rt needs libc++ sources to be specified to build
-		# an internal copy for libfuzzer, can be removed if libc++
-		# is built inside llvm ebuild.
-		"-DCOMPILER_RT_LIBCXXABI_PATH=${S}/libcxxabi"
-		"-DCOMPILER_RT_LIBCXX_PATH=${S}/libcxx"
-		"-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF"
-
-		# b/200831212: Disable per runtime install dirs.
-		"-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF"
-
-		# b/202073091: Disable Lua.
-		"-DLLDB_ENABLE_LUA=OFF"
-
-		# b/204220308: Disable OCR since we are not using it.
-		"-DCOMPILER_RT_BUILD_ORC=OFF"
-	)
-
-	# Update LLVM to 9.0 will cause LLVM to complain GCC
-	# version is < 5.1. Add this flag to suppress the error.
-	mycmakeargs+=(
-		"-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=1"
-	)
-
-	if check_lld_works; then
-		mycmakeargs+=(
-			# We use lld to link llvm, because:
-			# 1) Gold has issue with no index for archive,
-			# 2) Gold doesn't support instrumented compiler-rt well.
-			"-DLLVM_USE_LINKER=lld"
-		)
-		# The standalone toolchain may be run at places not supporting
-		# smallPIE, disabling it for lld.
-		# Pass -fuse-ld=lld to make cmake happy.
-		append-ldflags "-fuse-ld=lld -Wl,--pack-dyn-relocs=none"
-		# Disable warning about profile not matching.
-		append-flags "-Wno-backend-plugin"
-
-		if use thinlto; then
-			mycmakeargs+=(
-				"-DLLVM_ENABLE_LTO=thin"
-			)
-		fi
-
-		if apply_pgo_profile; then
-			mycmakeargs+=(
-				"-DLLVM_PROFDATA_FILE=${WORKDIR}/llvm.profdata"
-			)
-		fi
-
-		if use llvm_pgo_generate; then
-			mycmakeargs+=(
-				"-DLLVM_BUILD_INSTRUMENTED=IR"
-			)
-		fi
-	fi
-
-	if ! multilib_is_native_abi || ! use ocaml; then
-		mycmakeargs+=(
-			"-DOCAMLFIND=NO"
-		)
-	fi
-#	Note: go bindings have no CMake rules at the moment
-#	but let's kill the check in case they are introduced
-#	if ! multilib_is_native_abi || ! use go; then
-		mycmakeargs+=(
-			"-DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND"
-		)
-#	fi
-
-	if multilib_is_native_abi; then
-		mycmakeargs+=(
-			"-DLLVM_BUILD_DOCS=$(usex doc)"
-			"-DLLVM_ENABLE_SPHINX=$(usex doc)"
-			"-DLLVM_ENABLE_DOXYGEN=OFF"
-			"-DLLVM_INSTALL_HTML=${EPREFIX}/usr/share/doc/${PF}/html"
-			"-DSPHINX_WARNINGS_AS_ERRORS=OFF"
-			"-DLLVM_INSTALL_UTILS=ON"
-		)
-	fi
-
-	if ! use debug; then
-		append-cppflags -DNDEBUG
-	fi
-
-	cmake_src_configure
-}
-
-multilib_src_compile() {
-	cmake_src_compile
-
-	pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
-	pax-mark m "${BUILD_DIR}"/bin/lli
-	pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
-	if use test; then
-		pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
-		pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
-		pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
-	fi
-}
-
-multilib_src_test() {
-	# respect TMPDIR!
-	local -x LIT_PRESERVES_TMP=1
-	cmake_src_test
-}
-
-src_install() {
-	local MULTILIB_CHOST_TOOLS=(
-		/usr/bin/llvm-config
-	)
-
-	local MULTILIB_WRAPPED_HEADERS=(
-		/usr/include/llvm/Config/config.h
-		/usr/include/llvm/Config/llvm-config.h
-	)
-
-	multilib-minimal_src_install
-}
-
-multilib_src_install() {
-	cmake_src_install
-
-	local use_llvm_next=false
-	if use llvm-next || use llvm-tot
-	then
-		use_llvm_next=true
-	fi
-	local wrapper_script=clang_host_wrapper
-
-	GO111MODULE=off "${FILESDIR}/compiler_wrapper/build.py" --config=cros.host --use_ccache=false \
-		--use_llvm_next="${use_llvm_next}" \
-		--output_file="${D}/usr/bin/${wrapper_script}" || die
-
-	newbin "${D}/usr/bin/clang-tidy" "clang-tidy"
-	dobin "${FILESDIR}/bisect_driver.py"
-	exeinto "/usr/bin"
-	dosym "${wrapper_script}" "/usr/bin/${CHOST}-clang"
-	dosym "${wrapper_script}" "/usr/bin/${CHOST}-clang++"
-	newexe "${FILESDIR}/ldwrapper_lld.host" "${CHOST}-ld.lld"
-
-	# llvm-strip is a symlink to llvm-objcopy and distinguished by a argv[0] check.
-	# When creating standalone toolchain, argv[0] information is lost and causes
-	# llvm-strip invocations to be treated as llvm-objcopy breaking builds
-	# (crbug.com/1151787). Handle this by making llvm-strip a full binary.
-	if [[ -L "${D}/usr/bin/llvm-strip" ]]; then
-		rm "${D}/usr/bin/llvm-strip" || die
-		newbin "${D}/usr/bin/llvm-objcopy" "llvm-strip"
-	fi
-
-	# Build and install cross-compiler wrappers for supported ABIs.
-	# ccache wrapper is used in chroot and non-ccache wrapper is used
-	# in standalone SDK.
-	local ccache_suffixes=(noccache ccache)
-	local ccache_option_values=(false true)
-	for ccache_index in {0,1}; do
-		local ccache_suffix="${ccache_suffixes[${ccache_index}]}"
-		local ccache_option="${ccache_option_values[${ccache_index}]}"
-		# Build hardened wrapper written in golang.
-		GO111MODULE=off "${FILESDIR}/compiler_wrapper/build.py" --config="cros.hardened" \
-			--use_ccache="${ccache_option}" \
-			--use_llvm_next="${use_llvm_next}" \
-			--output_file="${D}/usr/bin/sysroot_wrapper.hardened.${ccache_suffix}" || die
-
-		# Build non-hardened wrapper written in golang.
-		GO111MODULE=off "${FILESDIR}/compiler_wrapper/build.py" --config="cros.nonhardened" \
-			--use_ccache="${ccache_option}" \
-			--use_llvm_next="${use_llvm_next}" \
-			--output_file="${D}/usr/bin/sysroot_wrapper.${ccache_suffix}" || die
-	done
-
-	local cros_hardened_targets=(
-		"aarch64-cros-linux-gnu"
-		"armv7a-cros-linux-gnueabihf"
-		"i686-pc-linux-gnu"
-		"i686-cros-linux-gnu"
-		"x86_64-cros-linux-gnu"
-	)
-	local cros_nonhardened_targets=(
-		"arm-none-eabi"
-		"armv7m-cros-eabi"
-	)
-
-	local target
-	for target in "${cros_hardened_targets[@]}"; do
-		dosym "sysroot_wrapper.hardened.ccache" "/usr/bin/${target}-clang"
-		dosym "sysroot_wrapper.hardened.ccache" "/usr/bin/${target}-clang++"
-	done
-	for target in "${cros_nonhardened_targets[@]}"; do
-		dosym "sysroot_wrapper.ccache" "/usr/bin/${target}-clang"
-		dosym "sysroot_wrapper.ccache" "/usr/bin/${target}-clang++"
-	done
-
-	# Remove this file, if it exists, to avoid installation file collision,
-	# as this file is also generated/installed by the dev-python/six package.
-	find "${D}"/usr -name 'six.py' -delete
-}
-
-multilib_src_install_all() {
-	insinto /usr/share/vim/vimfiles
-	doins -r llvm/utils/vim/*/.
-	# some users may find it useful
-	dodoc llvm/utils/vim/vimrc
-	dobin "${S}/compiler-rt/lib/asan/scripts/asan_symbolize.py"
-}
-
-pkg_postinst() {
-	if has_version ">=dev-util/ccache-3.1.9-r2" ; then
-		#add ccache links as clang might get installed after ccache
-		"${EROOT}"/usr/bin/ccache-config --install-links
-	fi
-}
-
-pkg_postrm() {
-	if has_version ">=dev-util/ccache-3.1.9-r2" && [[ -z ${REPLACED_BY_VERSION} ]]; then
-		# --remove-links would remove all links, --install-links updates them
-		"${EROOT}"/usr/bin/ccache-config --install-links
-	fi
-}
diff --git a/sys-devel/llvm/llvm-15.0_pre458507_p20220602-r18.ebuild b/sys-devel/llvm/llvm-15.0_pre458507_p20220602-r18.ebuild
new file mode 120000
index 0000000..658536f
--- /dev/null
+++ b/sys-devel/llvm/llvm-15.0_pre458507_p20220602-r18.ebuild
@@ -0,0 +1 @@
+llvm-15.0_pre458507_p20220602.ebuild
\ No newline at end of file
diff --git a/sys-devel/llvm/llvm-15.0_pre458507_p20220602.ebuild b/sys-devel/llvm/llvm-15.0_pre458507_p20220602.ebuild
new file mode 100644
index 0000000..41c6f56
--- /dev/null
+++ b/sys-devel/llvm/llvm-15.0_pre458507_p20220602.ebuild
@@ -0,0 +1,518 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cros-constants cmake flag-o-matic git-r3 multilib-minimal  \
+	python-single-r1 pax-utils toolchain-funcs
+
+LLVM_HASH="a58d0af058038595c93de961b725f86997cf8d4a" # r458507
+LLVM_NEXT_HASH="db1978b67431ca3462ad8935bf662c15750b8252" # r465103
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="http://llvm.org/"
+SRC_URI="
+	!llvm-tot? (
+		!llvm-next? ( llvm_pgo_use? ( gs://chromeos-localmirror/distfiles/llvm-profdata-${LLVM_HASH}.tar.xz ) )
+		llvm-next? ( llvm-next_pgo_use? ( gs://chromeos-localmirror/distfiles/llvm-profdata-${LLVM_NEXT_HASH}.tar.xz ) )
+	)
+"
+EGIT_REPO_URI="${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project
+	${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project"
+EGIT_BRANCH=main
+
+LICENSE="UoI-NCSA"
+SLOT="8"
+KEYWORDS="-* amd64"
+# FIXME: llvm-tot is somewhat misleading: at the moment, it's essentially
+# llvm-next with a few extra checks enabled
+IUSE="debug +default-compiler-rt +default-libcxx doc libedit +libffi +llvm-crt
+	llvm-next llvm_pgo_generate +llvm_pgo_use llvm-next_pgo_use llvm-tot
+	multitarget ncurses ocaml test +thinlto xml video_cards_radeon continue-on-patch-failure"
+
+COMMON_DEPEND="
+	sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+	libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+	libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+	ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+	ocaml? (
+		>=dev-lang/ocaml-4.00.0:0=
+		dev-ml/findlib
+		dev-ml/ocaml-ctypes )"
+# configparser-3.2 breaks the build (3.3 or none at all are fine)
+DEPEND="${COMMON_DEPEND}
+	sys-devel/binutils
+	ocaml? ( test? ( dev-ml/ounit ) )"
+RDEPEND="${COMMON_DEPEND}
+	abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2
+		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )
+	!<=sys-devel/llvm-8.0_pre
+	!sys-devel/lld
+	!sys-devel/clang"
+BDEPEND="
+	dev-lang/perl
+	libffi? ( virtual/pkgconfig )
+	sys-devel/gnuconfig
+	$(python_gen_cond_dep '
+		dev-python/sphinx[${PYTHON_USEDEP}]
+		doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
+	')
+"
+
+# pypy gives me around 1700 unresolved tests due to open file limit
+# being exceeded. probably GC does not close them fast enough.
+REQUIRED_USE="
+	llvm_pgo_generate? ( !llvm_pgo_use )"
+
+check_lld_works() {
+	echo 'int main() {return 0;}' > "${T}"/lld.cxx || die
+	echo "Trying to link program with lld"
+	$(tc-getCXX) -fuse-ld=lld -std=c++11 -o /dev/null "${T}"/lld.cxx
+}
+
+check_pgo_works() {
+	echo 'int main() {return 0;}' > "${T}"/pgo.cxx || die
+	echo "Trying to link program with pgo"
+	$(tc-getCXX) -std=c++11 -o /dev/null "${T}"/pgo.cxx -fprofile-instr-use="${WORKDIR}"/llvm.profdata
+}
+
+apply_pgo_profile() {
+	! use llvm-tot && ( \
+		( use llvm-next && use llvm-next_pgo_use ) ||
+		( ! use llvm-next && use llvm_pgo_use ) )
+}
+
+src_unpack() {
+	export CMAKE_USE_DIR="${S}/llvm"
+
+	if use llvm-next || use llvm-tot; then
+		EGIT_COMMIT="${LLVM_NEXT_HASH}"
+	else
+		EGIT_COMMIT="${LLVM_HASH}"
+	fi
+
+	git-r3_src_unpack
+
+	if apply_pgo_profile; then
+		cd "${WORKDIR}" || die
+		local profile_hash
+		if use llvm-next; then
+			profile_hash="${LLVM_NEXT_HASH}"
+		else
+			profile_hash="${LLVM_HASH}"
+		fi
+		unpack "llvm-profdata-${profile_hash}.tar.xz"
+	fi
+}
+
+get_most_recent_revision() {
+	local subdir="${S}/llvm"
+
+	# Tries to get the revision ID of the most recent commit
+	"${FILESDIR}"/patch_manager/git_llvm_rev.py --llvm_dir "${subdir}" --sha "$(git -C "${subdir}" rev-parse HEAD)" | cut -d 'r' -f 2
+}
+
+src_prepare() {
+	# Make ocaml warnings non-fatal, bug #537308
+	sed -e "/RUN/s/-warn-error A//" -i llvm/test/Bindings/OCaml/*ml  || die
+
+	python_setup
+
+	local failure_mode
+	failure_mode="$(usex continue-on-patch-failure continue fail)"
+	"${FILESDIR}"/patch_manager/patch_manager.py \
+		--svn_version "$(get_most_recent_revision)" \
+		--patch_metadata_file "${FILESDIR}"/PATCHES.json \
+		--failure_mode "${failure_mode}" \
+		--src_path "${S}" || die
+
+	cmake_src_prepare
+
+	# Native libdir is used to hold LLVMgold.so
+	# shellcheck disable=SC2034
+	NATIVE_LIBDIR=$(get_libdir)
+}
+
+enable_asserts() {
+	# keep asserts enabled for llvm-tot
+	if use llvm-tot; then
+		echo yes
+	else
+		usex debug
+	fi
+}
+
+multilib_src_configure() {
+	export CMAKE_BUILD_TYPE="RelWithDebInfo"
+
+	append-flags -Wno-poison-system-directories
+
+	local targets
+	if use multitarget; then
+	# for LLVM breakages specific to BPF (only)
+	# contact cros-enterprise-security@google.com
+	# for everything else contact OWNERs
+		targets='host;X86;ARM;AArch64;NVPTX;BPF'
+	else
+		targets='host;CppBackend'
+		use video_cards_radeon && targets+=';AMDGPU'
+	fi
+
+	local ffi_cflags ffi_ldflags
+	if use libffi; then
+		ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+		ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		"${mycmakeargs[@]}"
+		"-DLLVM_ENABLE_PROJECTS=llvm;clang;lld;lldb;compiler-rt;clang-tools-extra"
+		"-DLLVM_LIBDIR_SUFFIX=${libdir#lib}"
+
+		"-DLLVM_BUILD_LLVM_DYLIB=ON"
+		# Link LLVM statically
+		"-DLLVM_LINK_LLVM_DYLIB=OFF"
+		"-DBUILD_SHARED_LIBS=OFF"
+
+		"-DLLVM_ENABLE_TIMESTAMPS=OFF"
+		"-DLLVM_TARGETS_TO_BUILD=${targets}"
+		"-DLLVM_BUILD_TESTS=$(usex test)"
+
+		"-DLLVM_ENABLE_FFI=$(usex libffi)"
+		"-DLLVM_ENABLE_TERMINFO=$(usex ncurses)"
+		"-DLLVM_ENABLE_ASSERTIONS=$(enable_asserts)"
+		"-DLLVM_ENABLE_EH=ON"
+		"-DLLVM_ENABLE_RTTI=ON"
+
+		"-DWITH_POLLY=OFF" # TODO
+
+		"-DLLVM_HOST_TRIPLE=${CHOST}"
+
+		"-DFFI_INCLUDE_DIR=${ffi_cflags#-I}"
+		"-DFFI_LIBRARY_DIR=${ffi_ldflags#-L}"
+		"-DLLVM_BINUTILS_INCDIR=${SYSROOT}/usr/include"
+
+		"-DHAVE_HISTEDIT_H=$(usex libedit)"
+		"-DENABLE_LINKER_BUILD_ID=ON"
+		"-DCLANG_VENDOR=Chromium OS ${PVR}"
+		# override default stdlib and rtlib
+		"-DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "")"
+		"-DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "")"
+
+		# crbug/855759
+		"-DCOMPILER_RT_BUILD_CRT=$(usex llvm-crt)"
+
+		"-DCMAKE_POSITION_INDEPENDENT_CODE=ON"
+		"-DCLANG_DEFAULT_UNWINDLIB=libgcc"
+		"-DCLANG_DEFAULT_PIE_ON_LINUX=ON"
+
+		# workaround for crbug/1198796
+		"-DCLANG_TOOLING_BUILD_AST_INTROSPECTION=OFF"
+
+		# By default do not enable PGO for compiler-rt
+		"-DCOMPILER_RT_ENABLE_PGO=OFF"
+
+		# compiler-rt needs libc++ sources to be specified to build
+		# an internal copy for libfuzzer, can be removed if libc++
+		# is built inside llvm ebuild.
+		"-DCOMPILER_RT_LIBCXXABI_PATH=${S}/libcxxabi"
+		"-DCOMPILER_RT_LIBCXX_PATH=${S}/libcxx"
+		"-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF"
+
+		# b/200831212: Disable per runtime install dirs.
+		"-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF"
+
+		# b/202073091: Disable Lua.
+		"-DLLDB_ENABLE_LUA=OFF"
+
+		# b/204220308: Disable ORC since we are not using it.
+		"-DCOMPILER_RT_BUILD_ORC=OFF"
+
+		# b/241569725: Explicitly set Python version so that it
+		# chooses the version we're currently supporting
+		"-DPython3_EXECUTABLE=${PYTHON}"
+	)
+
+	if check_lld_works; then
+		mycmakeargs+=(
+			# We use lld to link llvm, because:
+			# 1) Gold has issue with no index for archive,
+			# 2) Gold doesn't support instrumented compiler-rt well.
+			"-DLLVM_USE_LINKER=lld"
+		)
+		# The standalone toolchain may be run at places not supporting
+		# smallPIE, disabling it for lld.
+		# Pass -fuse-ld=lld to make cmake happy.
+		append-ldflags "-fuse-ld=lld -Wl,--pack-dyn-relocs=none"
+		# Disable warning about profile not matching.
+		append-flags "-Wno-backend-plugin"
+
+		if use thinlto; then
+			mycmakeargs+=(
+				"-DLLVM_ENABLE_LTO=thin"
+				# b/228090090: LLVM defaults to 2 parallel link
+				# jobs with ThinLTO enabled. Bumping this to 4
+				# speeds `emerge llvm` up on dev machines by
+				# 1.25x, and saves >10mins per LLVM build on the
+				# SDK builder.
+				"-DLLVM_PARALLEL_LINK_JOBS=4"
+			)
+			# b/227370760: Instr limits above 30 don't seem to help
+			# our performance (and might hurt in some cases). They
+			# also make builds take meaningfully longer, and add
+			# tens of MB to our SDK size. We tune this back in other
+			# large ThinLTO users (e.g., Chrome), so do it here,
+			# too.
+			append-ldflags "-Wl,-mllvm,-import-instr-limit=30"
+		fi
+
+		if apply_pgo_profile; then
+			if check_pgo_works; then
+				mycmakeargs+=(
+					"-DLLVM_PROFDATA_FILE=${WORKDIR}/llvm.profdata"
+				)
+			else
+				# PGO profile did not work which is only acceptable
+				# for the cases where llvm hash != profile hash.
+				# Error out in other cases.
+				$(tc-getCC) --version | grep -q "\b${EGIT_COMMIT}" && die \
+					"Could not build with PGO profile at sha ${EGIT_COMMIT}".
+				echo "Could not build with pgo profile, skipping pgo."
+			fi
+		fi
+
+		if use llvm_pgo_generate; then
+			mycmakeargs+=(
+				"-DLLVM_BUILD_INSTRUMENTED=IR"
+			)
+		fi
+	fi
+
+	if ! multilib_is_native_abi || ! use ocaml; then
+		mycmakeargs+=(
+			"-DOCAMLFIND=NO"
+		)
+	fi
+#	Note: go bindings have no CMake rules at the moment
+#	but let's kill the check in case they are introduced
+#	if ! multilib_is_native_abi || ! use go; then
+		mycmakeargs+=(
+			"-DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND"
+		)
+#	fi
+
+	if [[ -z "${CCACHE_DISABLE:-}" ]]; then
+		# If ccache is enabled, use it as a compiler launcher. Chances
+		# are that folks are iterating on LLVM, and ccache speeds that
+		# up substantially.
+		mycmakeargs+=(
+			"-DCMAKE_C_COMPILER_LAUNCHER=ccache"
+			"-DCMAKE_CXX_COMPILER_LAUNCHER=ccache"
+		)
+	fi
+
+	if multilib_is_native_abi; then
+		mycmakeargs+=(
+			"-DLLVM_BUILD_DOCS=$(usex doc)"
+			"-DLLVM_ENABLE_SPHINX=$(usex doc)"
+			"-DLLVM_ENABLE_DOXYGEN=OFF"
+			"-DLLVM_INSTALL_HTML=${EPREFIX}/usr/share/doc/${PF}/html"
+			"-DSPHINX_WARNINGS_AS_ERRORS=OFF"
+			"-DLLVM_INSTALL_UTILS=ON"
+		)
+	fi
+
+	if ! use debug; then
+		append-cppflags -DNDEBUG
+	fi
+
+	cmake_src_configure
+}
+
+multilib_src_compile() {
+	# ...If folks are iterating on LLVM with `emerge`, every successful
+	# `emerge` invocation will replace their old compiler. Since doing so
+	# updates mtimes, we should be focusing on the _content_ of the
+	# compiler, rather than the mtime.
+	#
+	# Note that this is in `src_compile`, since it won't apply if we do it
+	# in `src_configure`.
+	export CCACHE_COMPILERCHECK=content
+	cmake_src_compile
+
+	pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+	pax-mark m "${BUILD_DIR}"/bin/lli
+	pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+	if use test; then
+		pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+		pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+		pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+	fi
+}
+
+multilib_src_test() {
+	# respect TMPDIR!
+	local -x LIT_PRESERVES_TMP=1
+	cmake_src_test
+}
+
+src_install() {
+	local MULTILIB_CHOST_TOOLS=(
+		/usr/bin/llvm-config
+	)
+
+	local MULTILIB_WRAPPED_HEADERS=(
+		/usr/include/llvm/Config/config.h
+		/usr/include/llvm/Config/llvm-config.h
+	)
+
+	multilib-minimal_src_install
+}
+
+# This computes the toolchain SHA that gets baked into our compiler_wrapper
+# binaries. This SHA is potentially nice for uniquely identifying a toolchain,
+# but the most critical purpose that it serves is making the SHA for our
+# compiler_wrapper change with the toolchain that it was installed with. If any
+# of these binaries get modified and we fail to update compiler_wrapper, tools
+# like ccache, ninja, etc might not expect the updates without extra work (thus,
+# cached object files might not be considered stale across compiler updates).
+#
+# Rather than playing whack-a-mole with ways to inform each build system that
+# our compiler has changed (despite its hash remaining identical), we simply
+# modify its hash when any of the binaries it calls may change.
+compute_toolchain_sha() {
+	local toolchain_sha_binaries=(
+		"bin/clang"
+		"bin/clang-tidy"
+		"bin/ld.lld"
+	)
+
+	# Compute the SHA sums for each of these in parallel, then hash the
+	# result. This hash represents all of the (non-header, non-library)
+	# dependencies that Clang has.
+	#
+	# This is expected to be called in a subshell, so don't try to restore
+	# pipefail.
+	set -o pipefail
+	echo "${toolchain_sha_binaries[*]}" |
+		xargs -L1 -P8 sha256sum |
+		sort -k2 |
+		sha256sum - |
+		awk '{print $1}'
+}
+
+multilib_src_install() {
+	cmake_src_install
+
+	local use_llvm_next=false
+	if use llvm-next || use llvm-tot
+	then
+		use_llvm_next=true
+	fi
+	local wrapper_script=clang_host_wrapper
+
+	local toolchain_sha
+	echo "Current directory is $(pwd)"
+	toolchain_sha="$(compute_toolchain_sha)" || die
+	einfo "Computed toolchain SHA = ${toolchain_sha}"
+
+	local common_wrapper_flags=(
+		"--version_suffix=_toolchain_sha_${toolchain_sha}"
+	)
+
+	GO111MODULE=off "${FILESDIR}/compiler_wrapper/build.py" --config=cros.host --use_ccache=false \
+		--use_llvm_next="${use_llvm_next}" \
+		--output_file="${D}/usr/bin/${wrapper_script}" \
+		"${common_wrapper_flags[@]}" || die
+
+	newbin "${D}/usr/bin/clang-tidy" "clang-tidy"
+	dobin "${FILESDIR}/bisect_driver.py"
+	exeinto "/usr/bin"
+	dosym "${wrapper_script}" "/usr/bin/${CHOST}-clang"
+	dosym "${wrapper_script}" "/usr/bin/${CHOST}-clang++"
+	newexe "${FILESDIR}/ldwrapper_lld.host" "${CHOST}-ld.lld"
+
+	# llvm-strip is a symlink to llvm-objcopy and distinguished by a argv[0] check.
+	# When creating standalone toolchain, argv[0] information is lost and causes
+	# llvm-strip invocations to be treated as llvm-objcopy breaking builds
+	# (crbug.com/1151787). Handle this by making llvm-strip a full binary.
+	if [[ -L "${D}/usr/bin/llvm-strip" ]]; then
+		rm "${D}/usr/bin/llvm-strip" || die
+		newbin "${D}/usr/bin/llvm-objcopy" "llvm-strip"
+	fi
+
+	# Build and install cross-compiler wrappers for supported ABIs.
+	# ccache wrapper is used in chroot and non-ccache wrapper is used
+	# in standalone SDK.
+	local ccache_suffixes=(noccache ccache)
+	local ccache_option_values=(false true)
+	for ccache_index in {0,1}; do
+		local ccache_suffix="${ccache_suffixes[${ccache_index}]}"
+		local ccache_option="${ccache_option_values[${ccache_index}]}"
+		# Build hardened wrapper written in golang.
+		GO111MODULE=off "${FILESDIR}/compiler_wrapper/build.py" --config="cros.hardened" \
+			--use_ccache="${ccache_option}" \
+			--use_llvm_next="${use_llvm_next}" \
+			--output_file="${D}/usr/bin/sysroot_wrapper.hardened.${ccache_suffix}" \
+			"${common_wrapper_flags[@]}" || die
+
+		# Build non-hardened wrapper written in golang.
+		GO111MODULE=off "${FILESDIR}/compiler_wrapper/build.py" --config="cros.nonhardened" \
+			--use_ccache="${ccache_option}" \
+			--use_llvm_next="${use_llvm_next}" \
+			--output_file="${D}/usr/bin/sysroot_wrapper.${ccache_suffix}" \
+			"${common_wrapper_flags[@]}" || die
+	done
+
+	local cros_hardened_targets=(
+		"aarch64-cros-linux-gnu"
+		"armv7a-cros-linux-gnueabihf"
+		"i686-cros-linux-gnu"
+		"x86_64-cros-linux-gnu"
+	)
+	local cros_nonhardened_targets=(
+		"arm-none-eabi"
+		"armv7m-cros-eabi"
+	)
+
+	local target
+	for target in "${cros_hardened_targets[@]}"; do
+		dosym "sysroot_wrapper.hardened.ccache" "/usr/bin/${target}-clang"
+		dosym "sysroot_wrapper.hardened.ccache" "/usr/bin/${target}-clang++"
+	done
+	for target in "${cros_nonhardened_targets[@]}"; do
+		dosym "sysroot_wrapper.ccache" "/usr/bin/${target}-clang"
+		dosym "sysroot_wrapper.ccache" "/usr/bin/${target}-clang++"
+	done
+
+	# Remove this file, if it exists, to avoid installation file collision,
+	# as this file is also generated/installed by the dev-python/six package.
+	find "${D}"/usr -name 'six.py' -delete
+}
+
+multilib_src_install_all() {
+	insinto /usr/share/vim/vimfiles
+	doins -r llvm/utils/vim/*/.
+	# some users may find it useful
+	dodoc llvm/utils/vim/vimrc
+	dobin "${S}/compiler-rt/lib/asan/scripts/asan_symbolize.py"
+}
+
+pkg_postinst() {
+	if has_version ">=dev-util/ccache-3.1.9-r2" ; then
+		#add ccache links as clang might get installed after ccache
+		"${EROOT}"/usr/bin/ccache-config --install-links
+	fi
+}
+
+pkg_postrm() {
+	if has_version ">=dev-util/ccache-3.1.9-r2" && [[ -z ${REPLACED_BY_VERSION} ]]; then
+		# --remove-links would remove all links, --install-links updates them
+		"${EROOT}"/usr/bin/ccache-config --install-links
+	fi
+}
diff --git a/sys-devel/metadata.xml b/sys-devel/metadata.xml
deleted file mode 100644
index dd5a911..0000000
--- a/sys-devel/metadata.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The sys-devel category contains various core system development tools
-		and libraries.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría sys-devel contiene paquetes esenciales para el desarrollo
-		de software.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie sys-devel enthält essentielle Entwicklungswerkzeuge und
-		Bibliotheken.
-	</longdescription>
-	<longdescription lang="ja">
-		sys-develカテゴリにはコアシステム開発ツールとライブラリが含まれます。
-	</longdescription>
-	<longdescription lang="nl">
-		De sys-devel categorie bevat essentiele ontwikkelgereedschappen en
-		bibliotheken.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm sys-devel chứa các phần mềm và thư viện phát triển hệ thống cốt lõi.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria sys-devel contiene gli strumenti e le librerie essenziali per lo sviluppo del software e la compilazione del sistema.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria sys-devel contém várias ferramentas e bibliotecas
-		de desenvolvimento essenciais para o sistema.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria sys-devel zawiera programy i biblioteki służące do rozwijania
-		systemu.
-	</longdescription>
-</catmetadata>
-
diff --git a/sys-firmware/analogix-anx3447-firmware/Manifest b/sys-firmware/analogix-anx3447-firmware/Manifest
new file mode 100644
index 0000000..b4ad8d5
--- /dev/null
+++ b/sys-firmware/analogix-anx3447-firmware/Manifest
@@ -0,0 +1 @@
+DIST analogix-anx3447-firmware-0.1.15.tar.xz 764 BLAKE2B 96c384aace97701fde1d427ad019b07869ef27da1604235c5fc3392c6a29ba0cc70c017de1ab55a731e6f2585e1d929b746ef562151dfabbaa9bcf3bb5e8f85f SHA512 f86345214973c6d820d3f98db1768af2cfa9bc281905e44a563142b94b321cfc9e20c2644ddd878f955eb2f53cd5b536c287957f5ee6ef055676f9ca9f493541
diff --git a/sys-firmware/analogix-anx3447-firmware/analogix-anx3447-firmware-0.1.15-r1.ebuild b/sys-firmware/analogix-anx3447-firmware/analogix-anx3447-firmware-0.1.15-r1.ebuild
new file mode 100644
index 0000000..7ef5944
--- /dev/null
+++ b/sys-firmware/analogix-anx3447-firmware/analogix-anx3447-firmware-0.1.15-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="ANX3447 Firmware Binary"
+SRC_URI="gs://chromeos-localmirror/distfiles/${P}.tar.xz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+S="${WORKDIR}"
+
+# Here are the steps to uprev the ANX3447 firmware.
+#
+# 1) Unzip the .zip file obtained from the vendor.
+# 2) Convert from hex to bin.
+#    ex: objcopy -I ihex --output-target=binary \
+#         --gap-fill 0xff --pad-to 0xE000 \
+#          Liberty_tcpc_v0.1.15.hex \
+#          analogix-anx3447-firmware-0.1.15/anx3447_ocm_0x0115.bin
+# 3) Tarball it up using XZ, including the right directory.
+#    ex: tar -cJf analogix-anx3447-firmware-0.1.15.tar.xz \
+#          analogix-anx3447-firmware-0.1.15/anx3447_ocm_0x0115.bin
+# 4) Follow https://chromium.googlesource.com/chromiumos/docs/+/HEAD/archive_mirrors.md#getting-files-onto-localmirror
+#    to upload the zipped file.
+# 5) Finally run 'ebuild analogix-anx3447-firmware-0.1.15-r1.ebuild manifest'
+src_install() {
+	local fw_rev_hex=$(printf '%s' "${PV}")
+	# 0.1.15 -> 1
+	local fw_main_rev=$(ver_cut 2)
+	# 0.1.15 -> 15
+	local fw_build_rev=$(ver_cut 3)
+	local bf=anx3447_ocm.bin
+	local hf=anx3447_ocm.hash
+
+	echo -n -e "\\x${fw_main_rev}\\x${fw_build_rev}" > "${hf}"
+	insinto /firmware/anx3447
+	doins "${hf}"
+	newins "${P}/anx3447_ocm_${fw_rev_hex}.bin" "${bf}"
+}
diff --git a/sys-firmware/ap-firmware-config/OWNERS b/sys-firmware/ap-firmware-config/OWNERS
index da035de..d39c14f 100644
--- a/sys-firmware/ap-firmware-config/OWNERS
+++ b/sys-firmware/ap-firmware-config/OWNERS
@@ -1,2 +1 @@
-sfrolov@google.com
-include chromiumos/chromite:/OWNERS.build
+include chromiumos/owners:v1:/infra/OWNERS.build
diff --git a/sys-firmware/ap-firmware-config/ap-firmware-config-0.0.1-r111.ebuild b/sys-firmware/ap-firmware-config/ap-firmware-config-0.0.1-r111.ebuild
deleted file mode 100644
index aefa100..0000000
--- a/sys-firmware/ap-firmware-config/ap-firmware-config-0.0.1-r111.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="bbbf9f230494bfb1aa37a45b18218106fa44a425"
-CROS_WORKON_TREE=("a58f4c6a970f9c1d926bf95ac3144fd3f0e20fe2" "9dc51c42f7c3bc915dba587092317fd6391e1477" "559ac58cdfbc906b59b51655ea2fbe6c57faea6e" "9a7af1d1341bf696f721159ae6aa221f639b5478")
-PYTHON_COMPAT=( python3_{6..9} )
-
-CROS_WORKON_LOCALNAME="../../chromite"
-CROS_WORKON_PROJECT="chromiumos/chromite"
-CROS_WORKON_DESTDIR="${S}/chromite"
-CROS_WORKON_SUBTREE="lib bin scripts PRESUBMIT.cfg"
-
-inherit cros-workon python-any-r1
-
-DESCRIPTION="Exports JSON config from chromite/lib/firmware/ap_firmware_config"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/chromite/+/refs/heads/main/lib/firmware/README.md"
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE=""
-
-src_compile() {
-	"${S}/chromite/bin/cros" ap dump-config -o "${T}/fw-config.json" \
-		|| die "cros ap dump-config failed"
-}
-
-src_install() {
-	insinto "/usr/share/ap_firmware_config/"
-	doins "${T}/fw-config.json"
-}
diff --git a/sys-firmware/ap-firmware-config/ap-firmware-config-0.0.1-r418.ebuild b/sys-firmware/ap-firmware-config/ap-firmware-config-0.0.1-r418.ebuild
new file mode 100644
index 0000000..ea645df
--- /dev/null
+++ b/sys-firmware/ap-firmware-config/ap-firmware-config-0.0.1-r418.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="1684376ee32d183fd4ac5f595b99f30b09e9006b"
+CROS_WORKON_TREE=("a330cffda307faf662807a5e28688533cb922085" "5328e03abfd1af165a3a26805d1ff6b213a3ca48" "28e022f9ce27e2e0075d8f726856c964d4460dd8" "047aec16e03eb36312cc201dc75d33e25ece833d")
+PYTHON_COMPAT=( python3_{6..9} )
+
+CROS_WORKON_LOCALNAME="../../chromite"
+CROS_WORKON_PROJECT="chromiumos/chromite"
+CROS_WORKON_DESTDIR="${S}/chromite"
+CROS_WORKON_SUBTREE="lib bin scripts PRESUBMIT.cfg"
+
+inherit cros-workon python-any-r1
+
+DESCRIPTION="Exports JSON config from chromite/lib/firmware/ap_firmware_config"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/chromite/+/refs/heads/main/lib/firmware/README.md"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE=""
+
+python_check_deps() {
+	has_version -b "chromeos-base/chromite-sdk[${PYTHON_USEDEP}]"
+}
+
+src_compile() {
+	"${S}/chromite/bin/cros" ap dump-config -o "${T}/fw-config.json" \
+		|| die "cros ap dump-config failed"
+}
+
+src_install() {
+	insinto "/usr/share/ap_firmware_config/"
+	doins "${T}/fw-config.json"
+}
diff --git a/sys-firmware/ap-firmware-config/ap-firmware-config-9999.ebuild b/sys-firmware/ap-firmware-config/ap-firmware-config-9999.ebuild
index fbb0e46..87a3a1f 100644
--- a/sys-firmware/ap-firmware-config/ap-firmware-config-9999.ebuild
+++ b/sys-firmware/ap-firmware-config/ap-firmware-config-9999.ebuild
@@ -18,6 +18,10 @@
 KEYWORDS="~*"
 IUSE=""
 
+python_check_deps() {
+	has_version -b "chromeos-base/chromite-sdk[${PYTHON_USEDEP}]"
+}
+
 src_compile() {
 	"${S}/chromite/bin/cros" ap dump-config -o "${T}/fw-config.json" \
 		|| die "cros ap dump-config failed"
diff --git a/sys-firmware/chromeos-fpmcu-release-bloonchipper/chromeos-fpmcu-release-bloonchipper-0.0.1-r65.ebuild b/sys-firmware/chromeos-fpmcu-release-bloonchipper/chromeos-fpmcu-release-bloonchipper-0.0.1-r65.ebuild
deleted file mode 100644
index 409dbff..0000000
--- a/sys-firmware/chromeos-fpmcu-release-bloonchipper/chromeos-fpmcu-release-bloonchipper-0.0.1-r65.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-# Increment the "eclass bug workaround count" below when you change
-# "cros-ec-release.eclass" to work around http://crbug.com/220902.
-#
-# eclass bug workaround count: 5
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("bc24e6634a3859fd9ce12b640535a7d584c06862" "a77bf0779e1005c9fd840955193ac7257d67bc05" "92221d4688ed01cc361f01d650b82bf7e28078b2")
-CROS_WORKON_TREE=("4a1d19df8407a704c99cbb0ab4a6b0e6dce590f2" "f64a48b91fc35d5760bca966436e0effc9e5cacb" "2aeca3cffd0e69db866b5623819ecd5bf8db1232")
-FIRMWARE_EC_BOARD="bloonchipper"
-FIRMWARE_EC_RELEASE_REPLACE_RO="yes"
-
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform/ec"
-	"chromiumos/third_party/tpm2"
-	"chromiumos/third_party/cryptoc"
-)
-
-CROS_WORKON_LOCALNAME=(
-	"../platform/release-firmware/fpmcu-bloonchipper"
-	"tpm2"
-	"cryptoc"
-)
-
-CROS_WORKON_DESTDIR=(
-	"${S}/platform/ec"
-	"${S}/third_party/tpm2"
-	"${S}/third_party/cryptoc"
-)
-
-CROS_WORKON_EGIT_BRANCH=(
-	"firmware-fpmcu-bloonchipper-release"
-	"master"
-	"master"
-)
-
-inherit cros-workon cros-ec-release
-
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md"
-LICENSE="BSD-Google"
-KEYWORDS="*"
diff --git a/sys-firmware/chromeos-fpmcu-release-bloonchipper/chromeos-fpmcu-release-bloonchipper-0.0.1-r72.ebuild b/sys-firmware/chromeos-fpmcu-release-bloonchipper/chromeos-fpmcu-release-bloonchipper-0.0.1-r72.ebuild
new file mode 100644
index 0000000..f019ead
--- /dev/null
+++ b/sys-firmware/chromeos-fpmcu-release-bloonchipper/chromeos-fpmcu-release-bloonchipper-0.0.1-r72.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+# Increment the "eclass bug workaround count" below when you change
+# "cros-ec-release.eclass" to work around http://crbug.com/220902.
+#
+# eclass bug workaround count: 5
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("e5fb0b9ba488614b5684e640530f00821ab7b943" "2de0a64491451f72c7ffe5eb92301f4da509d0ad" "11a97df4133f905bbdf9ddb48b5d56d617ec949b")
+CROS_WORKON_TREE=("9a15b4a98d7987870a1805a33883d0cf9123fc05" "f6cadf087425f2c77af8879a7f83e722ab613a36" "cafc71cae4ef6b3e7e64648b257b3f0ca2300e1d")
+FIRMWARE_EC_BOARD="bloonchipper"
+FIRMWARE_EC_RELEASE_REPLACE_RO="yes"
+
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform/ec"
+	"chromiumos/third_party/tpm2"
+	"chromiumos/third_party/cryptoc"
+)
+
+CROS_WORKON_LOCALNAME=(
+	"../platform/release-firmware/fpmcu-bloonchipper"
+	"tpm2"
+	"cryptoc"
+)
+
+CROS_WORKON_DESTDIR=(
+	"${S}/platform/ec"
+	"${S}/third_party/tpm2"
+	"${S}/third_party/cryptoc"
+)
+
+CROS_WORKON_EGIT_BRANCH=(
+	"firmware-fpmcu-bloonchipper-release"
+	"master"
+	"master"
+)
+
+inherit cros-workon cros-ec-release cros-sanitizers
+
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
diff --git a/sys-firmware/chromeos-fpmcu-release-bloonchipper/chromeos-fpmcu-release-bloonchipper-9999.ebuild b/sys-firmware/chromeos-fpmcu-release-bloonchipper/chromeos-fpmcu-release-bloonchipper-9999.ebuild
index a707956..e981a1a 100644
--- a/sys-firmware/chromeos-fpmcu-release-bloonchipper/chromeos-fpmcu-release-bloonchipper-9999.ebuild
+++ b/sys-firmware/chromeos-fpmcu-release-bloonchipper/chromeos-fpmcu-release-bloonchipper-9999.ebuild
@@ -35,8 +35,13 @@
 	"master"
 )
 
-inherit cros-workon cros-ec-release
+inherit cros-workon cros-ec-release cros-sanitizers
 
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md"
 LICENSE="BSD-Google"
 KEYWORDS="~*"
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
\ No newline at end of file
diff --git a/sys-firmware/chromeos-fpmcu-release-dartmonkey/chromeos-fpmcu-release-dartmonkey-0.0.1-r54.ebuild b/sys-firmware/chromeos-fpmcu-release-dartmonkey/chromeos-fpmcu-release-dartmonkey-0.0.1-r54.ebuild
deleted file mode 100644
index 2e7bb9d..0000000
--- a/sys-firmware/chromeos-fpmcu-release-dartmonkey/chromeos-fpmcu-release-dartmonkey-0.0.1-r54.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-# Increment the "eclass bug workaround count" below when you change
-# "cros-ec-release.eclass" to work around http://crbug.com/220902.
-#
-# eclass bug workaround count: 5
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("aedc4fc907139dc5689f424c80cc37d6750b7404" "a77bf0779e1005c9fd840955193ac7257d67bc05" "92221d4688ed01cc361f01d650b82bf7e28078b2")
-CROS_WORKON_TREE=("4a1d19df8407a704c99cbb0ab4a6b0e6dce590f2" "f64a48b91fc35d5760bca966436e0effc9e5cacb" "2aeca3cffd0e69db866b5623819ecd5bf8db1232")
-FIRMWARE_EC_BOARD="dartmonkey"
-FIRMWARE_EC_RELEASE_REPLACE_RO="yes"
-
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform/ec"
-	"chromiumos/third_party/tpm2"
-	"chromiumos/third_party/cryptoc"
-)
-
-CROS_WORKON_LOCALNAME=(
-	"../platform/release-firmware/fpmcu-dartmonkey"
-	"tpm2"
-	"cryptoc"
-)
-
-CROS_WORKON_DESTDIR=(
-	"${S}/platform/ec"
-	"${S}/third_party/tpm2"
-	"${S}/third_party/cryptoc"
-)
-
-CROS_WORKON_EGIT_BRANCH=(
-	"firmware-fpmcu-dartmonkey-release"
-	"master"
-	"master"
-)
-
-inherit cros-workon cros-ec-release
-
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md"
-LICENSE="BSD-Google"
-KEYWORDS="*"
diff --git a/sys-firmware/chromeos-fpmcu-release-dartmonkey/chromeos-fpmcu-release-dartmonkey-0.0.1-r61.ebuild b/sys-firmware/chromeos-fpmcu-release-dartmonkey/chromeos-fpmcu-release-dartmonkey-0.0.1-r61.ebuild
new file mode 100644
index 0000000..8d52d7f
--- /dev/null
+++ b/sys-firmware/chromeos-fpmcu-release-dartmonkey/chromeos-fpmcu-release-dartmonkey-0.0.1-r61.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+# Increment the "eclass bug workaround count" below when you change
+# "cros-ec-release.eclass" to work around http://crbug.com/220902.
+#
+# eclass bug workaround count: 5
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("6c1587ca70f558b4f96b3f0b18ad8b027d3ba99d" "2de0a64491451f72c7ffe5eb92301f4da509d0ad" "11a97df4133f905bbdf9ddb48b5d56d617ec949b")
+CROS_WORKON_TREE=("9a15b4a98d7987870a1805a33883d0cf9123fc05" "f6cadf087425f2c77af8879a7f83e722ab613a36" "cafc71cae4ef6b3e7e64648b257b3f0ca2300e1d")
+FIRMWARE_EC_BOARD="dartmonkey"
+FIRMWARE_EC_RELEASE_REPLACE_RO="yes"
+
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform/ec"
+	"chromiumos/third_party/tpm2"
+	"chromiumos/third_party/cryptoc"
+)
+
+CROS_WORKON_LOCALNAME=(
+	"../platform/release-firmware/fpmcu-dartmonkey"
+	"tpm2"
+	"cryptoc"
+)
+
+CROS_WORKON_DESTDIR=(
+	"${S}/platform/ec"
+	"${S}/third_party/tpm2"
+	"${S}/third_party/cryptoc"
+)
+
+CROS_WORKON_EGIT_BRANCH=(
+	"firmware-fpmcu-dartmonkey-release"
+	"master"
+	"master"
+)
+
+inherit cros-workon cros-ec-release cros-sanitizers
+
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
diff --git a/sys-firmware/chromeos-fpmcu-release-dartmonkey/chromeos-fpmcu-release-dartmonkey-9999.ebuild b/sys-firmware/chromeos-fpmcu-release-dartmonkey/chromeos-fpmcu-release-dartmonkey-9999.ebuild
index 8746fd3..07fdd1a 100644
--- a/sys-firmware/chromeos-fpmcu-release-dartmonkey/chromeos-fpmcu-release-dartmonkey-9999.ebuild
+++ b/sys-firmware/chromeos-fpmcu-release-dartmonkey/chromeos-fpmcu-release-dartmonkey-9999.ebuild
@@ -35,8 +35,13 @@
 	"master"
 )
 
-inherit cros-workon cros-ec-release
+inherit cros-workon cros-ec-release cros-sanitizers
 
 HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md"
 LICENSE="BSD-Google"
 KEYWORDS="~*"
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
\ No newline at end of file
diff --git a/sys-firmware/chromeos-fpmcu-release-nami/chromeos-fpmcu-release-nami-0.0.1-r53.ebuild b/sys-firmware/chromeos-fpmcu-release-nami/chromeos-fpmcu-release-nami-0.0.1-r53.ebuild
deleted file mode 100644
index f5907c5..0000000
--- a/sys-firmware/chromeos-fpmcu-release-nami/chromeos-fpmcu-release-nami-0.0.1-r53.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-# Increment the "eclass bug workaround count" below when you change
-# "cros-ec-release.eclass" to work around http://crbug.com/220902.
-#
-# eclass bug workaround count: 5
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("aedc4fc907139dc5689f424c80cc37d6750b7404" "a77bf0779e1005c9fd840955193ac7257d67bc05" "92221d4688ed01cc361f01d650b82bf7e28078b2")
-CROS_WORKON_TREE=("4a1d19df8407a704c99cbb0ab4a6b0e6dce590f2" "f64a48b91fc35d5760bca966436e0effc9e5cacb" "2aeca3cffd0e69db866b5623819ecd5bf8db1232")
-FIRMWARE_EC_BOARD="nami_fp"
-FIRMWARE_EC_RELEASE_REPLACE_RO="yes"
-
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform/ec"
-	"chromiumos/third_party/tpm2"
-	"chromiumos/third_party/cryptoc"
-)
-
-CROS_WORKON_LOCALNAME=(
-	"../platform/release-firmware/fpmcu-nami"
-	"tpm2"
-	"cryptoc"
-)
-
-CROS_WORKON_DESTDIR=(
-	"${S}/platform/ec"
-	"${S}/third_party/tpm2"
-	"${S}/third_party/cryptoc"
-)
-
-CROS_WORKON_EGIT_BRANCH=(
-	"firmware-fpmcu-dartmonkey-release"
-	"master"
-	"master"
-)
-
-inherit cros-workon cros-ec-release
-
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md"
-LICENSE="BSD-Google"
-KEYWORDS="*"
diff --git a/sys-firmware/chromeos-fpmcu-release-nami/chromeos-fpmcu-release-nami-0.0.1-r59.ebuild b/sys-firmware/chromeos-fpmcu-release-nami/chromeos-fpmcu-release-nami-0.0.1-r59.ebuild
new file mode 100644
index 0000000..a9528e9
--- /dev/null
+++ b/sys-firmware/chromeos-fpmcu-release-nami/chromeos-fpmcu-release-nami-0.0.1-r59.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+# Increment the "eclass bug workaround count" below when you change
+# "cros-ec-release.eclass" to work around http://crbug.com/220902.
+#
+# eclass bug workaround count: 5
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("6c1587ca70f558b4f96b3f0b18ad8b027d3ba99d" "2de0a64491451f72c7ffe5eb92301f4da509d0ad" "11a97df4133f905bbdf9ddb48b5d56d617ec949b")
+CROS_WORKON_TREE=("9a15b4a98d7987870a1805a33883d0cf9123fc05" "f6cadf087425f2c77af8879a7f83e722ab613a36" "cafc71cae4ef6b3e7e64648b257b3f0ca2300e1d")
+FIRMWARE_EC_BOARD="nami_fp"
+FIRMWARE_EC_RELEASE_REPLACE_RO="yes"
+
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform/ec"
+	"chromiumos/third_party/tpm2"
+	"chromiumos/third_party/cryptoc"
+)
+
+CROS_WORKON_LOCALNAME=(
+	"../platform/release-firmware/fpmcu-nami"
+	"tpm2"
+	"cryptoc"
+)
+
+CROS_WORKON_DESTDIR=(
+	"${S}/platform/ec"
+	"${S}/third_party/tpm2"
+	"${S}/third_party/cryptoc"
+)
+
+CROS_WORKON_EGIT_BRANCH=(
+	"firmware-fpmcu-dartmonkey-release"
+	"master"
+	"master"
+)
+
+inherit cros-workon cros-ec-release
+
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md"
+LICENSE="BSD-Google"
+KEYWORDS="*"
diff --git a/sys-firmware/chromeos-fpmcu-release-nocturne/chromeos-fpmcu-release-nocturne-0.0.1-r53.ebuild b/sys-firmware/chromeos-fpmcu-release-nocturne/chromeos-fpmcu-release-nocturne-0.0.1-r53.ebuild
deleted file mode 100644
index 46d46e5..0000000
--- a/sys-firmware/chromeos-fpmcu-release-nocturne/chromeos-fpmcu-release-nocturne-0.0.1-r53.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-# Increment the "eclass bug workaround count" below when you change
-# "cros-ec-release.eclass" to work around http://crbug.com/220902.
-#
-# eclass bug workaround count: 5
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("aedc4fc907139dc5689f424c80cc37d6750b7404" "a77bf0779e1005c9fd840955193ac7257d67bc05" "92221d4688ed01cc361f01d650b82bf7e28078b2")
-CROS_WORKON_TREE=("4a1d19df8407a704c99cbb0ab4a6b0e6dce590f2" "f64a48b91fc35d5760bca966436e0effc9e5cacb" "2aeca3cffd0e69db866b5623819ecd5bf8db1232")
-FIRMWARE_EC_BOARD="nocturne_fp"
-FIRMWARE_EC_RELEASE_REPLACE_RO="yes"
-
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform/ec"
-	"chromiumos/third_party/tpm2"
-	"chromiumos/third_party/cryptoc"
-)
-
-CROS_WORKON_LOCALNAME=(
-	"../platform/release-firmware/fpmcu-nocturne"
-	"tpm2"
-	"cryptoc"
-)
-
-CROS_WORKON_DESTDIR=(
-	"${S}/platform/ec"
-	"${S}/third_party/tpm2"
-	"${S}/third_party/cryptoc"
-)
-
-CROS_WORKON_EGIT_BRANCH=(
-	"firmware-fpmcu-dartmonkey-release"
-	"master"
-	"master"
-)
-
-inherit cros-workon cros-ec-release
-
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md"
-LICENSE="BSD-Google"
-KEYWORDS="*"
diff --git a/sys-firmware/chromeos-fpmcu-release-nocturne/chromeos-fpmcu-release-nocturne-0.0.1-r59.ebuild b/sys-firmware/chromeos-fpmcu-release-nocturne/chromeos-fpmcu-release-nocturne-0.0.1-r59.ebuild
new file mode 100644
index 0000000..932da00
--- /dev/null
+++ b/sys-firmware/chromeos-fpmcu-release-nocturne/chromeos-fpmcu-release-nocturne-0.0.1-r59.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+# Increment the "eclass bug workaround count" below when you change
+# "cros-ec-release.eclass" to work around http://crbug.com/220902.
+#
+# eclass bug workaround count: 5
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("6c1587ca70f558b4f96b3f0b18ad8b027d3ba99d" "2de0a64491451f72c7ffe5eb92301f4da509d0ad" "11a97df4133f905bbdf9ddb48b5d56d617ec949b")
+CROS_WORKON_TREE=("9a15b4a98d7987870a1805a33883d0cf9123fc05" "f6cadf087425f2c77af8879a7f83e722ab613a36" "cafc71cae4ef6b3e7e64648b257b3f0ca2300e1d")
+FIRMWARE_EC_BOARD="nocturne_fp"
+FIRMWARE_EC_RELEASE_REPLACE_RO="yes"
+
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform/ec"
+	"chromiumos/third_party/tpm2"
+	"chromiumos/third_party/cryptoc"
+)
+
+CROS_WORKON_LOCALNAME=(
+	"../platform/release-firmware/fpmcu-nocturne"
+	"tpm2"
+	"cryptoc"
+)
+
+CROS_WORKON_DESTDIR=(
+	"${S}/platform/ec"
+	"${S}/third_party/tpm2"
+	"${S}/third_party/cryptoc"
+)
+
+CROS_WORKON_EGIT_BRANCH=(
+	"firmware-fpmcu-dartmonkey-release"
+	"master"
+	"master"
+)
+
+inherit cros-workon cros-ec-release
+
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/ec/+/master/README.md"
+LICENSE="BSD-Google"
+KEYWORDS="*"
diff --git a/sys-firmware/dell-dock/Manifest b/sys-firmware/dell-dock/Manifest
deleted file mode 100644
index e28b499..0000000
--- a/sys-firmware/dell-dock/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST 4e3f12fc1901c05790ab17ff2223a79631477aa87979498874c4c262cfafc144-WD19FirmwareUpdateLinux_01.00.21.cab 1230208 BLAKE2B ba19fc81a7c63948e064a0ded465efb18e3d8f79287c5f056352dc7216573cc46cdb2cdb4ec424a57bca31abfbe4ade0b6a8acf3ed830faa74d7e91d40c60a43 SHA512 80baf45bc536274b33cdda74a15d0f691f548fbccd135fed1179dd95d38f97865cf52edf48ae818179d9916b2efcc0b801390f5836c55ce1cb7d140b4388aa35
diff --git a/sys-firmware/dell-dock/OWNERS b/sys-firmware/dell-dock/OWNERS
deleted file mode 100644
index 2d0bc9a..0000000
--- a/sys-firmware/dell-dock/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-include /OWNERS.fwupd
diff --git a/sys-firmware/dell-dock/dell-dock-01.00.22-r2.ebuild b/sys-firmware/dell-dock/dell-dock-01.00.22-r2.ebuild
deleted file mode 100644
index a16eceb..0000000
--- a/sys-firmware/dell-dock/dell-dock-01.00.22-r2.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
-# the canonical empty project.
-CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
-CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
-CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
-CROS_WORKON_LOCALNAME="../platform/empty-project"
-
-inherit cros-workon cros-fwupd
-
-DESCRIPTION="Installs Dell Dock firmware update files used by fwupd."
-HOMEPAGE="https://support.dell.com"
-FILENAMES=(
-	"4e3f12fc1901c05790ab17ff2223a79631477aa87979498874c4c262cfafc144-WD19FirmwareUpdateLinux_01.00.21.cab"
-)
-SRC_URI="${FILENAMES[*]/#/${CROS_FWUPD_URL}/}"
-LICENSE="LVFS-Vendor-Agreement-v1"
-
-KEYWORDS="*"
-
-DEPEND=""
-RDEPEND="sys-apps/fwupd"
diff --git a/sys-firmware/dell-dock/dell-dock-9999.ebuild b/sys-firmware/dell-dock/dell-dock-9999.ebuild
deleted file mode 100644
index 68b466d..0000000
--- a/sys-firmware/dell-dock/dell-dock-9999.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
-# the canonical empty project.
-CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
-CROS_WORKON_LOCALNAME="../platform/empty-project"
-
-inherit cros-workon cros-fwupd
-
-DESCRIPTION="Installs Dell Dock firmware update files used by fwupd."
-HOMEPAGE="https://support.dell.com"
-FILENAMES=(
-	"4e3f12fc1901c05790ab17ff2223a79631477aa87979498874c4c262cfafc144-WD19FirmwareUpdateLinux_01.00.21.cab"
-)
-SRC_URI="${FILENAMES[*]/#/${CROS_FWUPD_URL}/}"
-LICENSE="LVFS-Vendor-Agreement-v1"
-
-KEYWORDS="~*"
-
-DEPEND=""
-RDEPEND="sys-apps/fwupd"
diff --git a/sys-firmware/dell-dock/files/91-fwupdtool-dell-dock.rules b/sys-firmware/dell-dock/files/91-fwupdtool-dell-dock.rules
deleted file mode 100644
index f8fda98..0000000
--- a/sys-firmware/dell-dock/files/91-fwupdtool-dell-dock.rules
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-#
-# udev rules to start firmware update on the Dell dock, the script takes
-# time to completion therefore don't wait the process finished
-#
-# 1. Device      : USB\VID_413C&PID_B06E&hub&status
-#    GUID (UUID5): 8ceeeffd-51b6-580c-9b75-69143227aff8
-#
-# 2. Device      : USB\VID_413C&PID_B06E&hub&salomon_mlk_status
-#    GUID (UUID5): 7fb217aa-2312-5c99-a853-56d865c76815
-#
-# 3. Device      : USB\VID_413C&PID_B06E&hub&atomic_status
-#    GUID (UUID5): fc7c6f01-9d2a-5bb5-89eb-59542fb93c46
-SUBSYSTEM=="hidraw", ATTRS{idVendor}=="413c", ATTRS{idProduct}=="b06f", ACTION=="add", \
-RUN+="/sbin/initctl emit -n fwupdtool-update 'PLUGIN=dell_dock thunderbolt' 'GUID=\
-7fb217aa-2312-5c99-a853-56d865c76815 \
-8ceeeffd-51b6-580c-9b75-69143227aff8 \
-fc7c6f01-9d2a-5bb5-89eb-59542fb93c46'"
diff --git a/sys-firmware/dell-dock/files/chromeos-version.sh b/sys-firmware/dell-dock/files/chromeos-version.sh
deleted file mode 100644
index 566dabc..0000000
--- a/sys-firmware/dell-dock/files/chromeos-version.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-echo 01.00.22
diff --git a/sys-firmware/dell-dock/metadata.xml b/sys-firmware/dell-dock/metadata.xml
deleted file mode 100644
index 78f6341..0000000
--- a/sys-firmware/dell-dock/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-	<maintainer type='project'>
-		<email>chromium-os-dev@chromium.org</email>
-		<name>Maintained by The Chromium OS Authors.</name>
-	</maintainer>
-	<longdescription>
-		Installs Dell Dock firmware update files used by fwupd.
-	</longdescription>
-</pkgmetadata>
diff --git a/sys-firmware/fw-engprod-tools/fw-engprod-tools-0.0.1-r69.ebuild b/sys-firmware/fw-engprod-tools/fw-engprod-tools-0.0.1-r69.ebuild
deleted file mode 100644
index 3f0a6d0..0000000
--- a/sys-firmware/fw-engprod-tools/fw-engprod-tools-0.0.1-r69.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-CROS_WORKON_COMMIT="25ad1e69d8af0959b71504eca5f3450b8b122bd3"
-CROS_WORKON_TREE="f3144acef13929bdf518eb34a9445bc8a4a334e1"
-CROS_WORKON_PROJECT="chromiumos/platform/crostestutils"
-CROS_WORKON_LOCALNAME="../platform/crostestutils"
-
-CROS_GO_WORKSPACE="${S}/go"
-CROS_GO_BINARIES=(
-	"firmware/cmd/dut_info:/usr/bin/fw_dut_info"
-	"firmware/cmd/e2e_coverage_summarizer:/usr/bin/fw_e2e_coverage_summarizer"
-	"firmware/cmd/lab_triage_helper:/usr/bin/fw_lab_triage_helper"
-)
-
-inherit cros-go cros-workon
-
-DESCRIPTION="Tooling related to firmware release testing."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crostestutils/+/HEAD/go/src/firmware/"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND="
-	dev-go/crypto:=
-	dev-go/gapi-discovery:=
-	dev-go/gapi-option:="
-RDEPEND=""
diff --git a/sys-firmware/fw-engprod-tools/fw-engprod-tools-0.0.1-r80.ebuild b/sys-firmware/fw-engprod-tools/fw-engprod-tools-0.0.1-r80.ebuild
new file mode 100644
index 0000000..12bd8ff
--- /dev/null
+++ b/sys-firmware/fw-engprod-tools/fw-engprod-tools-0.0.1-r80.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+CROS_WORKON_COMMIT="5f94acd8734971354a2375a72c71ac52ec5f5954"
+CROS_WORKON_TREE="4b8e764fe9da4270606558d688cbcafba952567f"
+CROS_WORKON_PROJECT="chromiumos/platform/crostestutils"
+CROS_WORKON_LOCALNAME="../platform/crostestutils"
+
+CROS_GO_WORKSPACE="${S}/go"
+CROS_GO_BINARIES=(
+	"go.chromium.org/fw-engprod-tools/cmd/dut_info:/usr/bin/fw_dut_info"
+	"go.chromium.org/fw-engprod-tools/cmd/e2e_coverage_summarizer:/usr/bin/fw_e2e_coverage_summarizer"
+	"go.chromium.org/fw-engprod-tools/cmd/lab_triage_helper:/usr/bin/fw_lab_triage_helper"
+)
+
+inherit cros-go cros-workon
+
+DESCRIPTION="Tooling related to firmware release testing."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/crostestutils/+/HEAD/go/src/firmware/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="
+	dev-go/crypto:=
+	dev-go/gapi:=
+"
+RDEPEND=""
diff --git a/sys-firmware/fw-engprod-tools/fw-engprod-tools-9999.ebuild b/sys-firmware/fw-engprod-tools/fw-engprod-tools-9999.ebuild
index e89514a..b4362ec 100644
--- a/sys-firmware/fw-engprod-tools/fw-engprod-tools-9999.ebuild
+++ b/sys-firmware/fw-engprod-tools/fw-engprod-tools-9999.ebuild
@@ -7,9 +7,9 @@
 
 CROS_GO_WORKSPACE="${S}/go"
 CROS_GO_BINARIES=(
-	"firmware/cmd/dut_info:/usr/bin/fw_dut_info"
-	"firmware/cmd/e2e_coverage_summarizer:/usr/bin/fw_e2e_coverage_summarizer"
-	"firmware/cmd/lab_triage_helper:/usr/bin/fw_lab_triage_helper"
+	"go.chromium.org/fw-engprod-tools/cmd/dut_info:/usr/bin/fw_dut_info"
+	"go.chromium.org/fw-engprod-tools/cmd/e2e_coverage_summarizer:/usr/bin/fw_e2e_coverage_summarizer"
+	"go.chromium.org/fw-engprod-tools/cmd/lab_triage_helper:/usr/bin/fw_lab_triage_helper"
 )
 
 inherit cros-go cros-workon
@@ -24,6 +24,6 @@
 
 DEPEND="
 	dev-go/crypto:=
-	dev-go/gapi-discovery:=
-	dev-go/gapi-option:="
+	dev-go/gapi:=
+"
 RDEPEND=""
diff --git a/sys-firmware/fwupd-peripherals/Manifest b/sys-firmware/fwupd-peripherals/Manifest
index 51e6e64..6a3dfad 100644
--- a/sys-firmware/fwupd-peripherals/Manifest
+++ b/sys-firmware/fwupd-peripherals/Manifest
@@ -1,7 +1,10 @@
+DIST 1675d5a0f18c148df2a8b28f80de602bc0a556ff36be9004fea8e302ddf75fc5-USBC_DOCK_G5_V1.0.15.0.cab 780614 BLAKE2B 0cedf420b5cd373e99d2894589d2bf52e499601c1c105ddea650c92a8aa3e8d7f4bc2ef6aa02a0b79f963ce7789f4e3c44e91656d303fba60da1ffb694deb96f SHA512 ef83df9c163acc392662cc4760936d36967ed454557f6ccb77b10dfd6b642480c4dfd29c961673b6df178fbbf4bb44b24062d8f7ccfda7652a33be8b11376ae3
 DIST 29835d73b07590db964d796e508058e512c55ff0ca2a75b9c8ac2ed1fe305de5-Lenovo-ThinkPad-USBCGen2Dock-PDFirmware-0.0.34.cab 132780 BLAKE2B 0f183851efd32709f229ba400ddf669e3d838f73269c2e79cb59243e18d01d144ec1222f8657fb0907f0364959f24b12ba1165c55b3460a402d0648374eedca9 SHA512 1a4d3980255b69bffcc4d41b40bd8a3cc0e42d60515a11258dd8a64248ceda6ee6d41437c251f08c733fb43d9d6b89ee0fd94a97d575ea03023b8402c2a42a20
 DIST 2e0bf8aaf9c63ca11cfe3444d032277c21ec0d678e5963123a8b33e5dcd37d99-Lenovo-ThinkPad-USBCGen2Dock-Firmware-49-0E-14.cab 14657 BLAKE2B cb2ded83d9f7e949c674646d0719d2c6973b48198df920e56c32dbb272973cb49e6a085933d7bed141e81abb1a3e9e013f6d62275d2ad76781f43431c33ce4fb SHA512 4d32fd55c735772107297d6bba7375beae24be9f482741ad08ae12a025b195745a7d81aed0a00c320578559dfb4b05d6f71227ae7c408d53f5dbc8619ef7b83b
-DIST 4e3f12fc1901c05790ab17ff2223a79631477aa87979498874c4c262cfafc144-WD19FirmwareUpdateLinux_01.00.21.cab 1230208 BLAKE2B ba19fc81a7c63948e064a0ded465efb18e3d8f79287c5f056352dc7216573cc46cdb2cdb4ec424a57bca31abfbe4ade0b6a8acf3ed830faa74d7e91d40c60a43 SHA512 80baf45bc536274b33cdda74a15d0f691f548fbccd135fed1179dd95d38f97865cf52edf48ae818179d9916b2efcc0b801390f5836c55ce1cb7d140b4388aa35
+DIST 7239756ad0ad9c084f820c0a94de33b4e3160dbdb1dde97ea83a68c506c5f298-Thunderbolt_Dock_G4_V1.3.12.0.cab 3116739 BLAKE2B 3c3614e15aa71ddff75496a7ae009f0ecda6a0189c230226df6b247bf1b9432d005903bcf8aab548cca1344e2832ed65d0a4cea1bd123dd6a164f96143e14f64 SHA512 14d0b48926de8095279d3f723514923aab7fdc5e612dcb29e0190011a552122bd472571feff7bb90a6c93cf5379c20c9e3c103d207c1f1b25b48e968cacb0cb8
+DIST 9950c7162ef41c770bca803b5455bd7bd82c9820b4ca2075bdf5bce4ac91a895-Lenovo-Mini_Dock-2020-10-29-155326_release.cab 392925 BLAKE2B ce61d39cd12f44971056b4e05b9931c7d633fe928c83b0ba03b94983177152c9d42670b7c4cb0117bdff642b4b4a6395b7da641c821fd66b37b05f8372f859f6 SHA512 7581f3fb28b30a6d328017f26d4facfe7cebb18c15a44170e32de54cb3fec02330bc63d79fef21b3dbf378474e47d069de27a6bbeb5d235f1a05445f7aef3cba
 DIST 9a13f9fefa59ae42c06e9861dc20a0e53e35d471c6a1c05d6426a011b0fada30-Lenovo-ThinkPad-USBCGen2Dock-USBHUB-Firmware-0D23_7a216856-8a97-550c-882e-8233751c7cf2.cab 69145 BLAKE2B 3c85efc25f164ae25b720e8b67d576ea72c817aea972309051758b5a8656726c307699f78c4aaeb46cef3eb0fccd4f29262a69498664f8a6cedc255552627a5a SHA512 1296fead4198b5dd61e711d9d30ab64d9154e6696e58233e36907c0b36d3010155a59be0b83164cf6292608883acc40c9fc65cfb0a5d06027ae1505a866389fe
+DIST a7ec6fb710d020ab2589e67935c83f507908ecce32ada5e8a773df02518efed6-DellDockFirmwareUpdateLinux_01.00.09.cab 2860872 BLAKE2B d98d79e9612ef20065902f19c82348325ddb29e665e80ef2d6dfe61b181d28831f424ec9427ed58f969aba9569c1c15bd14dd43bfde45a1f3cee9e32c54c8f51 SHA512 7d98dfd02d4e7a6d598db108f6a9f9201939dad36e969bab97cd95765b806a08b027731bc9b1bd74ba248dda1de977339835871cb64cd330dc3842fff770d935
 DIST ac37f23af002e91df11094b08fd2e076cf9c8cb4f08930be8eefe35850097a60-Lenovo-ThinkPad-USBCGen2Dock-DP-Firmware-5.05.00.cab 531793 BLAKE2B 3b06635367ae8140f19430c5692a1568274e1e2f523767904b8a2cf84bdfacf67bbde819b33c825990c6c93179ca4981e14b959d783b4d8454f2b65fd2424df7 SHA512 d7bfd424cd3723ddeeba72360142801157c00c3026a1cbafaab8db316f158d35883faeb097ea5b63e0616731f1cea434f44221c541277a7cb0c02207f49da06f
-DIST c15a0df7386812781d1f376fe54729e64f69b2a8a6c4b580914d4f6740e4fcc3-HP-USBC_DOCK_G5-V1.0.13.0.cab 782151 BLAKE2B 968755ef1b8ae881ec152cc2d26d05c521a18a8becfbfd369f1534636478de43c134821972b643721ce6e8ebd5b8e168e10ecaaa826cc1ce4e04625641c819a4 SHA512 432fd67aa1f4fe571bc5cd6fc9cdb4dc20e9baa29bceb61cec948526826c4879b4e35d9e15d7243fae3c4d8b8b298ae56b702796c80b0ed7794ae42d4bfa59e0
+DIST ebfda3c96543d6d7ad97a972344f4d34a14549c535095bfbb1860115a88e6ff6-Lenovo-TravalHub-2020-12-11-153442.cab 353019 BLAKE2B 320841e4c212d9ba272c37646e60d43e8d8b8fc87880d2983c023c12ff6b3d579de8a3d5457dbe7b3300b21cad9a4c5bc76c7bef44352fd9f0c5c168651dc53f SHA512 126a175cb45ee14b04fc05cc3e0b46c6228136eaefd451d37d2f56808d651830b049fccdc0827281d001d70d113a7e0c3d4e90480aca4379b0f49319651e0f5a
 DIST f241ce8c26d83546d5bfd1d67b70b9324f32ea4790acebb2a5e7d5a071eaaa85-Lenovo-ThinkPad-USBCGen2Dock-USBHUBQ7-Firmware-0D24_4ec36768-1858-5e9b-9d35-40e6143c3cd4.cab 69123 BLAKE2B 9eee568b42d3e9d530525e538e1fd38741c7f36a08e0b30861ef08937dd2f5ab8ea17fa132eabe9f2f26b759c8c699ccb666b8d0565c28127ed2abb35aa0335f SHA512 b3aafb5da66fa166d5e636baecc89d91753d7ef2af40403aee841d1ef64d14a4c475f63c641c57a607385b9ec25065563ebaebe67a778a19f2d9c0c4a3f747e0
diff --git a/sys-firmware/fwupd-peripherals/OWNERS b/sys-firmware/fwupd-peripherals/OWNERS
index 2d0bc9a..399a06d 100644
--- a/sys-firmware/fwupd-peripherals/OWNERS
+++ b/sys-firmware/fwupd-peripherals/OWNERS
@@ -1 +1 @@
-include /OWNERS.fwupd
+include /sys-apps/fwupd/OWNERS
diff --git a/sys-firmware/fwupd-peripherals/fwupd-peripherals-0.0.1-r1.ebuild b/sys-firmware/fwupd-peripherals/fwupd-peripherals-0.0.1-r1.ebuild
deleted file mode 100644
index 9a080fc..0000000
--- a/sys-firmware/fwupd-peripherals/fwupd-peripherals-0.0.1-r1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
-# the canonical empty project.
-CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
-CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
-CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
-CROS_WORKON_LOCALNAME="../platform/empty-project"
-
-inherit cros-workon cros-fwupd
-
-DESCRIPTION="Installs peripherals firmware update files used by fwupd."
-HOMEPAGE="https://fwupd.org/lvfs/devices/"
-FILENAMES=(
-	# Dell WD19/WD19DC/WD19TB
-	"4e3f12fc1901c05790ab17ff2223a79631477aa87979498874c4c262cfafc144-WD19FirmwareUpdateLinux_01.00.21.cab"
-	# Lenovo ThinkPad USB-C Dock Gen2
-	"29835d73b07590db964d796e508058e512c55ff0ca2a75b9c8ac2ed1fe305de5-Lenovo-ThinkPad-USBCGen2Dock-PDFirmware-0.0.34.cab"
-	"ac37f23af002e91df11094b08fd2e076cf9c8cb4f08930be8eefe35850097a60-Lenovo-ThinkPad-USBCGen2Dock-DP-Firmware-5.05.00.cab"
-	"2e0bf8aaf9c63ca11cfe3444d032277c21ec0d678e5963123a8b33e5dcd37d99-Lenovo-ThinkPad-USBCGen2Dock-Firmware-49-0E-14.cab"
-	"9a13f9fefa59ae42c06e9861dc20a0e53e35d471c6a1c05d6426a011b0fada30-Lenovo-ThinkPad-USBCGen2Dock-USBHUB-Firmware-0D23_7a216856-8a97-550c-882e-8233751c7cf2.cab"
-	"f241ce8c26d83546d5bfd1d67b70b9324f32ea4790acebb2a5e7d5a071eaaa85-Lenovo-ThinkPad-USBCGen2Dock-USBHUBQ7-Firmware-0D24_4ec36768-1858-5e9b-9d35-40e6143c3cd4.cab"
-	# HP USB-C Dock G5
-	"c15a0df7386812781d1f376fe54729e64f69b2a8a6c4b580914d4f6740e4fcc3-HP-USBC_DOCK_G5-V1.0.13.0.cab"
-)
-SRC_URI="${FILENAMES[*]/#/${CROS_FWUPD_URL}/}"
-LICENSE="LVFS-Vendor-Agreement-v1"
-
-IUSE="+remote"
-
-KEYWORDS="*"
-
-DEPEND=""
-RDEPEND="sys-apps/fwupd"
diff --git a/sys-firmware/fwupd-peripherals/fwupd-peripherals-0.0.1-r6.ebuild b/sys-firmware/fwupd-peripherals/fwupd-peripherals-0.0.1-r6.ebuild
new file mode 100644
index 0000000..a0ad094
--- /dev/null
+++ b/sys-firmware/fwupd-peripherals/fwupd-peripherals-0.0.1-r6.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
+# the canonical empty project.
+CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
+CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="../platform/empty-project"
+
+inherit cros-workon cros-fwupd
+
+DESCRIPTION="Installs peripherals firmware update files used by fwupd."
+HOMEPAGE="https://fwupd.org/lvfs/devices/"
+FILENAMES=(
+	# Dell WD19/WD19DC/WD19TB/WD22TB4
+	"a7ec6fb710d020ab2589e67935c83f507908ecce32ada5e8a773df02518efed6-DellDockFirmwareUpdateLinux_01.00.09.cab"
+	# Lenovo MiniDock
+	"9950c7162ef41c770bca803b5455bd7bd82c9820b4ca2075bdf5bce4ac91a895-Lenovo-Mini_Dock-2020-10-29-155326_release.cab"
+	# Lenovo Powered Travel Hub Gen2
+	"ebfda3c96543d6d7ad97a972344f4d34a14549c535095bfbb1860115a88e6ff6-Lenovo-TravalHub-2020-12-11-153442.cab"
+	# Lenovo ThinkPad USB-C Dock Gen2
+	"29835d73b07590db964d796e508058e512c55ff0ca2a75b9c8ac2ed1fe305de5-Lenovo-ThinkPad-USBCGen2Dock-PDFirmware-0.0.34.cab"
+	"ac37f23af002e91df11094b08fd2e076cf9c8cb4f08930be8eefe35850097a60-Lenovo-ThinkPad-USBCGen2Dock-DP-Firmware-5.05.00.cab"
+	"2e0bf8aaf9c63ca11cfe3444d032277c21ec0d678e5963123a8b33e5dcd37d99-Lenovo-ThinkPad-USBCGen2Dock-Firmware-49-0E-14.cab"
+	"9a13f9fefa59ae42c06e9861dc20a0e53e35d471c6a1c05d6426a011b0fada30-Lenovo-ThinkPad-USBCGen2Dock-USBHUB-Firmware-0D23_7a216856-8a97-550c-882e-8233751c7cf2.cab"
+	"f241ce8c26d83546d5bfd1d67b70b9324f32ea4790acebb2a5e7d5a071eaaa85-Lenovo-ThinkPad-USBCGen2Dock-USBHUBQ7-Firmware-0D24_4ec36768-1858-5e9b-9d35-40e6143c3cd4.cab"
+	# HP Thunderbolt Dock G4
+	"7239756ad0ad9c084f820c0a94de33b4e3160dbdb1dde97ea83a68c506c5f298-Thunderbolt_Dock_G4_V1.3.12.0.cab"
+	# HP USB-C Dock G5
+	"1675d5a0f18c148df2a8b28f80de602bc0a556ff36be9004fea8e302ddf75fc5-USBC_DOCK_G5_V1.0.15.0.cab"
+)
+SRC_URI="${FILENAMES[*]/#/${CROS_FWUPD_URL}/}"
+LICENSE="LVFS-Vendor-Agreement-v1"
+
+IUSE="+remote"
+
+KEYWORDS="*"
+
+DEPEND=""
+RDEPEND="sys-apps/fwupd"
diff --git a/sys-firmware/fwupd-peripherals/fwupd-peripherals-9999.ebuild b/sys-firmware/fwupd-peripherals/fwupd-peripherals-9999.ebuild
index 5946e0a..72d8ebc 100644
--- a/sys-firmware/fwupd-peripherals/fwupd-peripherals-9999.ebuild
+++ b/sys-firmware/fwupd-peripherals/fwupd-peripherals-9999.ebuild
@@ -13,16 +13,22 @@
 DESCRIPTION="Installs peripherals firmware update files used by fwupd."
 HOMEPAGE="https://fwupd.org/lvfs/devices/"
 FILENAMES=(
-	# Dell WD19/WD19DC/WD19TB
-	"4e3f12fc1901c05790ab17ff2223a79631477aa87979498874c4c262cfafc144-WD19FirmwareUpdateLinux_01.00.21.cab"
+	# Dell WD19/WD19DC/WD19TB/WD22TB4
+	"a7ec6fb710d020ab2589e67935c83f507908ecce32ada5e8a773df02518efed6-DellDockFirmwareUpdateLinux_01.00.09.cab"
+	# Lenovo MiniDock
+	"9950c7162ef41c770bca803b5455bd7bd82c9820b4ca2075bdf5bce4ac91a895-Lenovo-Mini_Dock-2020-10-29-155326_release.cab"
+	# Lenovo Powered Travel Hub Gen2
+	"ebfda3c96543d6d7ad97a972344f4d34a14549c535095bfbb1860115a88e6ff6-Lenovo-TravalHub-2020-12-11-153442.cab"
 	# Lenovo ThinkPad USB-C Dock Gen2
 	"29835d73b07590db964d796e508058e512c55ff0ca2a75b9c8ac2ed1fe305de5-Lenovo-ThinkPad-USBCGen2Dock-PDFirmware-0.0.34.cab"
 	"ac37f23af002e91df11094b08fd2e076cf9c8cb4f08930be8eefe35850097a60-Lenovo-ThinkPad-USBCGen2Dock-DP-Firmware-5.05.00.cab"
 	"2e0bf8aaf9c63ca11cfe3444d032277c21ec0d678e5963123a8b33e5dcd37d99-Lenovo-ThinkPad-USBCGen2Dock-Firmware-49-0E-14.cab"
 	"9a13f9fefa59ae42c06e9861dc20a0e53e35d471c6a1c05d6426a011b0fada30-Lenovo-ThinkPad-USBCGen2Dock-USBHUB-Firmware-0D23_7a216856-8a97-550c-882e-8233751c7cf2.cab"
 	"f241ce8c26d83546d5bfd1d67b70b9324f32ea4790acebb2a5e7d5a071eaaa85-Lenovo-ThinkPad-USBCGen2Dock-USBHUBQ7-Firmware-0D24_4ec36768-1858-5e9b-9d35-40e6143c3cd4.cab"
+	# HP Thunderbolt Dock G4
+	"7239756ad0ad9c084f820c0a94de33b4e3160dbdb1dde97ea83a68c506c5f298-Thunderbolt_Dock_G4_V1.3.12.0.cab"
 	# HP USB-C Dock G5
-	"c15a0df7386812781d1f376fe54729e64f69b2a8a6c4b580914d4f6740e4fcc3-HP-USBC_DOCK_G5-V1.0.13.0.cab"
+	"1675d5a0f18c148df2a8b28f80de602bc0a556ff36be9004fea8e302ddf75fc5-USBC_DOCK_G5_V1.0.15.0.cab"
 )
 SRC_URI="${FILENAMES[*]/#/${CROS_FWUPD_URL}/}"
 LICENSE="LVFS-Vendor-Agreement-v1"
diff --git a/sys-firmware/fwupd-storage/Manifest b/sys-firmware/fwupd-storage/Manifest
new file mode 100644
index 0000000..75a45f7
--- /dev/null
+++ b/sys-firmware/fwupd-storage/Manifest
@@ -0,0 +1,12 @@
+DIST 0790e805aa3cfaf9e08b003d7aaca0b2b9988160ef8928200b869e4820fa3963-22321116.cab 1136982 BLAKE2B 54784dbe3e9f48cd1a43caa8b86be187a531c4bb29e03619892bfcb8c5de0d287fc4bc1389a35fdeb2ee19fd9fda22724263233ad38535ddcc403e115719c83d SHA512 bb42844372c4675efea7bd5fbe05ed938759ab7f6b23ffb884d272ae23060b227898089aa062dd4311923788a79655e3ca75442f4dd372dd071b347e5016368f
+DIST 52c0c472993a5d03282efdd1b35d683c60beff4b68fdf9daaa71eadd8d8fbf54-Hynix_BC711_SSD_FW_41002131.cab 5465643 BLAKE2B 17ca59b52885941ac9cd7e18b3112da13181c2d1bac3ebe4f02bb08e855d8806501675eff1833fa1ac3a69df43ef9a554c40913652bb8893411c60abe78f1eef SHA512 d8f0b9b7571c59b349cbfdab1733d7bf93c35c692d7993cf3a68a08fa8a5b2cc4bdf4bc24abd485677734afad6037e5737a54974ce60ec04b03b16aa084971f9
+DIST 532a9ebf8ae2c8d5621efd44cc1cc30475a633760a1f42ce0fbe8de269289983-21113012_ID2409.cab 2607909 BLAKE2B 1123e4c4e255e5cca16ca7228c9551dd2d68be24e3ee00143159b78c45c378ccaf3b41ed62a0d8ac8e6120741f1615d47416ac54ab9e1cc48380857d391e2c5d SHA512 e2e388767bc8b59d1d9a9a6b81a9887285f21dd736d1b11017b56a3664460de1bc81a0e2e2eca706824f7d1f2026797eef8e45909563cbb307b1e1a9ab4fa623
+DIST 6df8d0ba1d36b3c9e017a47373c5e84f93090f80d582d7b62d1f5da0c52a5242-SN730-11121012-v1.cab 2538353 BLAKE2B 8b638a818b93b9fa6b09e749b649e8626158bf2d7bb38c4a179741f33391ec42d544182293f62f46489962636ea63d146b6c205e8ec0f80611580da95a733e92 SHA512 9b1bc4656ace747ccd6b76eafafb66aa8fa27818ad01953775f044a4f6b0f1174a0e8c22f5c38806637e62e88be1972049d315d5ea1a679fc3c9dbf19b49f0c4
+DIST 7649776aa1c1e98ca4ae99b05368135078960f1f381890532336f6229e0dc9ad-22301116.cab 1137029 BLAKE2B a7b60e2313fed1c70b0bbbfc5042a23a72396e780189363f4ed28475b84850d9b83b276e39ccc583d496831426708347bdcd0492b2020e3366481d7de2ecc44e SHA512 f47098c9fee78f590e0b97772afc75a08b6c318b0186581751a83e3530d6b258b3425dcf932af198378f751db5aa83074b4e866d4fc40f1052beebcc63180b14
+DIST 7ce04b003b45e9c6f612a5525b54fe51e81f205d36778b94d8db0b99c4df6fd3-Hynix_BC511_SSD_FW_11004101.cab 1277935 BLAKE2B 70da3546231bfb863e4fabd6e2b9c8307a1d990a9fa4b39ce10a83d7ff0721ee51b160634fe3212691cef44ba6eeeb7bd841afe2c87deb800d15e85fd17ec328 SHA512 f43600e1a4e57ca2f5dea42cf82f2c3008806aaf9a5cb29df93b865c3222c0e5bf04d7fe85c86eb71cbff0f136ff95ea8365488e429e63296e132f9e98eaae85
+DIST 9ed8e3c35835daaea253844c678a525f1f71d02f81050763d74920283eb6eadb-Hynix_BC501A_SSD_FW_80002101.cab 582734 BLAKE2B 36b876cb9c8350997b8ca02310ba4600171d4a3a9c7e6171c7d03c40e5c767c0e8be857572c161c81abb27714e89972eb052578329d2473e3d7dc8cad4abc833 SHA512 0aa44a1b07fe64035cbc06be4e26c419befca839b15ae9aad17ee730bf14d111c79b698f22538190002e6ffc5468841b1c3a83b7078df000add7da3ecc1c65ec
+DIST ae2a45818043417ec1bb5e84abd2d1737e2c8d351158fd437413b67df69a71ed-Vulcan_73103012.cab 2792415 BLAKE2B d1be6f08050a038cd225ab26a2fae8e1e0a97a71e7a497a1b58dc97a06b16741474ada0b000c337ae3e0009784f58a1781fd8df5805ede101af8821c308d55e9 SHA512 78cfbaa0837d686dfae07fc56841580cd61a691e3be8f1aec04448e608bdac3712eb26fffbbd97fdbd6d0a8751392fa7634ebbd9733b85d7e8ebd7349553ec83
+DIST b0b7f76ecf892c42736a7360ccb9571f784382e641bb5451b35166be2182bc91-Hynix_PC601_SSD_FW_80002111.cab 3301088 BLAKE2B 8db2d36b1fa3a44df40d8d897cf94ea151913c3b21cde2c3c8e06473ab3b3dada916314211317e414df428f2982d288f25f539f7924af1fa980414241b6ee911 SHA512 646e7d1839cf55170c58e87d2c43d830280979715af7feaffef56739dc0a4fa24853b29921c4c812324725ccc5122242c1ee3d1d9d2e4bf59ba33dc38e523191
+DIST e74dffeb31030b01d8ce0299240e496641deac2fb069b153af8a5bdfcf3ef805-SN520-20240012-v1.cab 2112155 BLAKE2B beafd0522360b5689881c6f1faa0992cf094e232175e5b09748c7bb411f95aa3ce9438bc016ce3fbb428d3aa9bf30340e315bb836b5932c649a3995db9802f95 SHA512 a3cf2fdb69f8d098a9117a0628d87695a6dc2da9a4a669752d86b9386565fd33e5e9534e5efd99eaf2a1a599c85310238bea5ef88028bf267c2e5748f1dac6ca
+DIST ed7ddca0c1b983a9f2f8269de7abed89492bfadba04734568f02227e42553950-Samsung_PM991a_SSD_FW_26300039.cab 2104272 BLAKE2B 81ad506b48d870d1d624a5da96ccb00bc26aa2754169a7f247798def75c2ff96a9974ba9ce06cf7f17d76e47adecaa65abd2af1fc5c227cd64cf37debc1a6e94 SHA512 f5e0122e8e6a7807f6bb43d179e0de194d8f88a9bd347c6d5fbac54c01d8ff56f96c8bdb2d697ff7100d9a570bb65433dbabaa16b87654bf08ff694e1de69628
+DIST f0ac0e20299c3cddd028d63149fce39b7a152c69d1819d20011c745d6c975cd8-25301111.cab 2579226 BLAKE2B 0bbf8ca5774af3df66510d97eec06fc08daa05e03deb1b9a1d7165c0693998e5ac67a51bea68c49ad5c585439f6b1929e9d5783d148e76f22aa26d81e173d92e SHA512 466da5965cd09170646efd743bbd945f1dba503fe900ef400f90da9272d6f26305eee630b0a2180cd46de87dd06ab743694da911e2449186ea24b6e118c59ccb
diff --git a/sys-firmware/fwupd-storage/OWNERS b/sys-firmware/fwupd-storage/OWNERS
new file mode 100644
index 0000000..399a06d
--- /dev/null
+++ b/sys-firmware/fwupd-storage/OWNERS
@@ -0,0 +1 @@
+include /sys-apps/fwupd/OWNERS
diff --git a/sys-firmware/fwupd-storage/files/chromeos-version.sh b/sys-firmware/fwupd-storage/files/chromeos-version.sh
new file mode 100644
index 0000000..75b6300
--- /dev/null
+++ b/sys-firmware/fwupd-storage/files/chromeos-version.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+#
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+echo 0.0.1
diff --git a/sys-firmware/fwupd-storage/files/wilco/91-fwupdtool-storage-wilco-hynix.rules b/sys-firmware/fwupd-storage/files/wilco/91-fwupdtool-storage-wilco-hynix.rules
new file mode 100644
index 0000000..7a347f1
--- /dev/null
+++ b/sys-firmware/fwupd-storage/files/wilco/91-fwupdtool-storage-wilco-hynix.rules
@@ -0,0 +1,67 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# udev rules to start firmware update for NVME SSD: Hynix
+SUBSYSTEM=="nvme", \
+ATTRS{vendor}=="0x1c5c", \
+ATTR{firmware_rev}!="80002111", \
+ATTR{model}=="PC601 NVMe SK hynix 1TB*", \
+ACTION=="add", \
+RUN+="/sbin/initctl emit fwupdtool-update PLUGIN=nvme GUID=f0f46bf9-cd4e-5bb2-884c-7ff53224cc30"
+
+SUBSYSTEM=="nvme", \
+ATTRS{vendor}=="0x1c5c", \
+ATTR{firmware_rev}!="80002111", \
+ATTR{model}=="PC601 NVMe SK hynix 512GB*", \
+ACTION=="add", \
+RUN+="/sbin/initctl emit fwupdtool-update PLUGIN=nvme GUID=f5396862-8816-5437-823e-d7899a32e667"
+
+SUBSYSTEM=="nvme", \
+ATTRS{vendor}=="0x1c5c", \
+ATTR{firmware_rev}!="80002111", \
+ATTR{model}=="PC601 NVMe SK hynix 256GB*", \
+ACTION=="add", \
+RUN+="/sbin/initctl emit fwupdtool-update PLUGIN=nvme GUID=9c283e08-8270-5181-986f-3ce7b3814692"
+
+SUBSYSTEM=="nvme", \
+ATTRS{vendor}=="0x1c5c", \
+ATTR{firmware_rev}!="80002101", \
+ATTR{model}=="BC501A NVMe SK hynix 128GB*", \
+ACTION=="add", \
+RUN+="/sbin/initctl emit fwupdtool-update PLUGIN=nvme GUID=11a4effe-497a-56dc-9ae8-e44e4cf76af2"
+
+SUBSYSTEM=="nvme", \
+ATTRS{vendor}=="0x1c5c", \
+ATTR{firmware_rev}!="11004101", \
+ATTR{model}=="BC511 NVMe SK hynix 256GB*", \
+ACTION=="add", \
+RUN+="/sbin/initctl emit fwupdtool-update PLUGIN=nvme GUID=b8db34a1-4794-5f13-894e-b2e29353380f"
+
+SUBSYSTEM=="nvme", \
+ATTRS{vendor}=="0x1c5c", \
+ATTR{firmware_rev}!="11004101", \
+ATTR{model}=="BC511 NVMe SK hynix 512GB*", \
+ACTION=="add", \
+RUN+="/sbin/initctl emit fwupdtool-update PLUGIN=nvme GUID=71575487-e6fa-52be-a95f-62cd22ec72fc"
+
+SUBSYSTEM=="nvme", \
+ATTRS{vendor}=="0x1c5c", \
+ATTR{firmware_rev}!="41002131", \
+ATTR{model}=="BC711 NVMe SK hynix 128GB*", \
+ACTION=="add", \
+RUN+="/sbin/initctl emit fwupdtool-update PLUGIN=nvme GUID=6c8a0945-fca1-556a-afa1-3b193d61aafe"
+
+SUBSYSTEM=="nvme", \
+ATTRS{vendor}=="0x1c5c", \
+ATTR{firmware_rev}!="41002131", \
+ATTR{model}=="BC711 NVMe SK hynix 256GB*", \
+ACTION=="add", \
+RUN+="/sbin/initctl emit fwupdtool-update PLUGIN=nvme GUID=04d20ddf-1cac-5648-9cb3-40b6a24a3ffa"
+
+SUBSYSTEM=="nvme", \
+ATTRS{vendor}=="0x1c5c", \
+ATTR{firmware_rev}!="41002131", \
+ATTR{model}=="BC711 NVMe SK hynix 512GB*", \
+ACTION=="add", \
+RUN+="/sbin/initctl emit fwupdtool-update PLUGIN=nvme GUID=179a39a0-42d6-5c48-a12b-e3d681643334"
diff --git a/sys-firmware/fwupd-storage/files/wilco/91-fwupdtool-storage-wilco-liteon.rules b/sys-firmware/fwupd-storage/files/wilco/91-fwupdtool-storage-wilco-liteon.rules
new file mode 100644
index 0000000..fb16092
--- /dev/null
+++ b/sys-firmware/fwupd-storage/files/wilco/91-fwupdtool-storage-wilco-liteon.rules
@@ -0,0 +1,39 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# udev rules to start firmware update for NVME SSD: Liteon
+SUBSYSTEM=="nvme", \
+ATTRS{vendor}=="0x14a4|0x1e95", \
+ATTR{firmware_rev}!="22301116", \
+ATTR{model}=="CL1-3D128-Q11*", \
+ACTION=="add", \
+RUN+="/sbin/initctl emit fwupdtool-update PLUGIN=nvme GUID=1cd7457a-27a9-4af9-912b-73af953d94b4"
+
+SUBSYSTEM=="nvme", \
+ATTRS{vendor}=="0x14a4|0x1e95", \
+ATTR{firmware_rev}!="22301116", \
+ATTR{model}=="CL1-3D256-Q11*", \
+ACTION=="add", \
+RUN+="/sbin/initctl emit fwupdtool-update PLUGIN=nvme GUID=1cd7457a-27a9-4af9-912b-73af953d94b4"
+
+SUBSYSTEM=="nvme", \
+ATTRS{vendor}=="0x14a4|0x1e95", \
+ATTR{firmware_rev}!="22321116", \
+ATTR{model}=="CL1-3D512-Q11*", \
+ACTION=="add", \
+RUN+="/sbin/initctl emit fwupdtool-update PLUGIN=nvme GUID=d8b197d0-0b03-4138-8ea6-8366a0cfde4a"
+
+SUBSYSTEM=="nvme", \
+ATTRS{vendor}=="0x14a4|0x1e95", \
+ATTR{firmware_rev}!="25301111", \
+ATTR{model}=="CL4-3D256-Q11*", \
+ACTION=="add", \
+RUN+="/sbin/initctl emit fwupdtool-update PLUGIN=nvme GUID=690e40e2-2141-4710-93a6-8a2ba6890c99"
+
+SUBSYSTEM=="nvme", \
+ATTRS{vendor}=="0x14a4|0x1e95", \
+ATTR{firmware_rev}!="25301111", \
+ATTR{model}=="CL4-3D512-Q11*", \
+ACTION=="add", \
+RUN+="/sbin/initctl emit fwupdtool-update PLUGIN=nvme GUID=690e40e2-2141-4710-93a6-8a2ba6890c99"
diff --git a/sys-firmware/fwupd-storage/files/wilco/91-fwupdtool-storage-wilco-samsung.rules b/sys-firmware/fwupd-storage/files/wilco/91-fwupdtool-storage-wilco-samsung.rules
new file mode 100644
index 0000000..31b7c64
--- /dev/null
+++ b/sys-firmware/fwupd-storage/files/wilco/91-fwupdtool-storage-wilco-samsung.rules
@@ -0,0 +1,11 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# udev rules to start firmware update for NVME SSD: Samsung
+SUBSYSTEM=="nvme", \
+ATTRS{vendor}=="0x144d", \
+ATTR{firmware_rev}!="26300039", \
+ATTR{model}=="PM991a NVMe*", \
+ACTION=="add", \
+RUN+="/sbin/initctl emit fwupdtool-update PLUGIN=nvme GUID=f49677c5-4921-4733-81fa-69a09abbcc4d"
diff --git a/sys-firmware/fwupd-storage/files/wilco/91-fwupdtool-storage-wilco-wdc.rules b/sys-firmware/fwupd-storage/files/wilco/91-fwupdtool-storage-wilco-wdc.rules
new file mode 100644
index 0000000..beed25c
--- /dev/null
+++ b/sys-firmware/fwupd-storage/files/wilco/91-fwupdtool-storage-wilco-wdc.rules
@@ -0,0 +1,32 @@
+# Copyright 2022 The ChromiumOS Authors.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# udev rules to start firmware update for NVME SSD: WDC
+SUBSYSTEM=="nvme", \
+ATTRS{vendor}=="0x15b7", \
+ATTR{firmware_rev}!="20240012", \
+ATTR{model}=="PC SN520 NVMe*", \
+ACTION=="add", \
+RUN+="/sbin/initctl emit fwupdtool-update PLUGIN=nvme GUID=3099e006-2dd5-5285-80ec-2845d613dc53"
+
+SUBSYSTEM=="nvme", \
+ATTRS{vendor}=="0x15b7", \
+ATTR{firmware_rev}!="11121012", \
+ATTR{model}=="PC SN730 NVMe*", \
+ACTION=="add", \
+RUN+="/sbin/initctl emit fwupdtool-update PLUGIN=nvme GUID=10215a6e-5eb4-5fe4-a3d0-1ff4b3295840"
+
+SUBSYSTEM=="nvme", \
+ATTRS{vendor}=="0x15b7", \
+ATTR{firmware_rev}!="21113012", \
+ATTR{model}=="PC SN530 NVMe*", \
+ACTION=="add", \
+RUN+="/sbin/initctl emit fwupdtool-update PLUGIN=nvme GUID=84ebf8f2-1346-5712-acc7-c2feeed50e44"
+
+SUBSYSTEM=="nvme", \
+ATTRS{vendor}=="0x15b7", \
+ATTR{firmware_rev}!="73103012", \
+ATTR{model}=="PC SN740 NVMe*", \
+ACTION=="add", \
+RUN+="/sbin/initctl emit fwupdtool-update PLUGIN=nvme GUID=f8d46dc9-4450-5bf1-8f3d-46999571c4e6"
diff --git a/sys-firmware/fwupd-storage/fwupd-storage-0.0.1-r1.ebuild b/sys-firmware/fwupd-storage/fwupd-storage-0.0.1-r1.ebuild
new file mode 100644
index 0000000..775b1876
--- /dev/null
+++ b/sys-firmware/fwupd-storage/fwupd-storage-0.0.1-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
+# the canonical empty project.
+CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
+CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="../platform/empty-project"
+
+inherit cros-workon cros-fwupd
+
+DESCRIPTION="Installs storage firmware update files used by fwupd."
+HOMEPAGE="https://support.dell.com"
+LICENSE="LVFS-Vendor-Agreement-v1"
+KEYWORDS="*"
+DEPEND=""
+RDEPEND="sys-apps/fwupd"
+IUSE="
+	wilco
+"
+FILENAMES_WILCO=(
+	# Samsung PM991a
+	"ed7ddca0c1b983a9f2f8269de7abed89492bfadba04734568f02227e42553950-Samsung_PM991a_SSD_FW_26300039.cab"
+	# SSSTC CL1-3D128-Q11, CL1-3D256-Q11
+	"7649776aa1c1e98ca4ae99b05368135078960f1f381890532336f6229e0dc9ad-22301116.cab"
+	# SSSTC CL1-3D512-Q11
+	"0790e805aa3cfaf9e08b003d7aaca0b2b9988160ef8928200b869e4820fa3963-22321116.cab"
+	# SSSTC CL4-3D256-Q11, CL4-3D512-Q11
+	"f0ac0e20299c3cddd028d63149fce39b7a152c69d1819d20011c745d6c975cd8-25301111.cab"
+	# Hynix BC501A
+	"9ed8e3c35835daaea253844c678a525f1f71d02f81050763d74920283eb6eadb-Hynix_BC501A_SSD_FW_80002101.cab"
+	# Hynix BC511 256G/512G
+	"7ce04b003b45e9c6f612a5525b54fe51e81f205d36778b94d8db0b99c4df6fd3-Hynix_BC511_SSD_FW_11004101.cab"
+	# Hynix BC711 128G/256G/512G
+	"52c0c472993a5d03282efdd1b35d683c60beff4b68fdf9daaa71eadd8d8fbf54-Hynix_BC711_SSD_FW_41002131.cab"
+	# Hynix PC601 256G/512G/1T
+	"b0b7f76ecf892c42736a7360ccb9571f784382e641bb5451b35166be2182bc91-Hynix_PC601_SSD_FW_80002111.cab"
+	# WDC SN520
+	"e74dffeb31030b01d8ce0299240e496641deac2fb069b153af8a5bdfcf3ef805-SN520-20240012-v1.cab"
+	# WDC SN530
+	"532a9ebf8ae2c8d5621efd44cc1cc30475a633760a1f42ce0fbe8de269289983-21113012_ID2409.cab"
+	# WDC SN730
+	"6df8d0ba1d36b3c9e017a47373c5e84f93090f80d582d7b62d1f5da0c52a5242-SN730-11121012-v1.cab"
+	# WDC SN740
+	"ae2a45818043417ec1bb5e84abd2d1737e2c8d351158fd437413b67df69a71ed-Vulcan_73103012.cab"
+)
+SRC_URI="
+	wilco? ( ${FILENAMES_WILCO[*]/#/${CROS_FWUPD_URL}/} )
+"
+install_rules() {
+	local srcdir="${1}"
+	[ -e "${srcdir}" ] || die "File not found: ${srcdir}"
+	while read -d $'\0' -r file; do
+		udev_dorules "${file}"
+		einfo "Installed udev rule ${file}"
+	done < <(find -H "${srcdir}" -name "*.rules" -maxdepth 1 -mindepth 1 -print0)
+}
+src_install() {
+	# Install udev rules for automatic firmware update.
+	if use wilco; then
+		install_rules "${FILESDIR}/wilco"
+	fi
+	cros-fwupd_src_install
+}
diff --git a/sys-firmware/fwupd-storage/fwupd-storage-9999.ebuild b/sys-firmware/fwupd-storage/fwupd-storage-9999.ebuild
new file mode 100644
index 0000000..5961ca7
--- /dev/null
+++ b/sys-firmware/fwupd-storage/fwupd-storage-9999.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
+# the canonical empty project.
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="../platform/empty-project"
+
+inherit cros-workon cros-fwupd
+
+DESCRIPTION="Installs storage firmware update files used by fwupd."
+HOMEPAGE="https://support.dell.com"
+LICENSE="LVFS-Vendor-Agreement-v1"
+KEYWORDS="~*"
+DEPEND=""
+RDEPEND="sys-apps/fwupd"
+IUSE="
+	wilco
+"
+FILENAMES_WILCO=(
+	# Samsung PM991a
+	"ed7ddca0c1b983a9f2f8269de7abed89492bfadba04734568f02227e42553950-Samsung_PM991a_SSD_FW_26300039.cab"
+	# SSSTC CL1-3D128-Q11, CL1-3D256-Q11
+	"7649776aa1c1e98ca4ae99b05368135078960f1f381890532336f6229e0dc9ad-22301116.cab"
+	# SSSTC CL1-3D512-Q11
+	"0790e805aa3cfaf9e08b003d7aaca0b2b9988160ef8928200b869e4820fa3963-22321116.cab"
+	# SSSTC CL4-3D256-Q11, CL4-3D512-Q11
+	"f0ac0e20299c3cddd028d63149fce39b7a152c69d1819d20011c745d6c975cd8-25301111.cab"
+	# Hynix BC501A
+	"9ed8e3c35835daaea253844c678a525f1f71d02f81050763d74920283eb6eadb-Hynix_BC501A_SSD_FW_80002101.cab"
+	# Hynix BC511 256G/512G
+	"7ce04b003b45e9c6f612a5525b54fe51e81f205d36778b94d8db0b99c4df6fd3-Hynix_BC511_SSD_FW_11004101.cab"
+	# Hynix BC711 128G/256G/512G
+	"52c0c472993a5d03282efdd1b35d683c60beff4b68fdf9daaa71eadd8d8fbf54-Hynix_BC711_SSD_FW_41002131.cab"
+	# Hynix PC601 256G/512G/1T
+	"b0b7f76ecf892c42736a7360ccb9571f784382e641bb5451b35166be2182bc91-Hynix_PC601_SSD_FW_80002111.cab"
+	# WDC SN520
+	"e74dffeb31030b01d8ce0299240e496641deac2fb069b153af8a5bdfcf3ef805-SN520-20240012-v1.cab"
+	# WDC SN530
+	"532a9ebf8ae2c8d5621efd44cc1cc30475a633760a1f42ce0fbe8de269289983-21113012_ID2409.cab"
+	# WDC SN730
+	"6df8d0ba1d36b3c9e017a47373c5e84f93090f80d582d7b62d1f5da0c52a5242-SN730-11121012-v1.cab"
+	# WDC SN740
+	"ae2a45818043417ec1bb5e84abd2d1737e2c8d351158fd437413b67df69a71ed-Vulcan_73103012.cab"
+)
+SRC_URI="
+	wilco? ( ${FILENAMES_WILCO[*]/#/${CROS_FWUPD_URL}/} )
+"
+install_rules() {
+	local srcdir="${1}"
+	[ -e "${srcdir}" ] || die "File not found: ${srcdir}"
+	while read -d $'\0' -r file; do
+		udev_dorules "${file}"
+		einfo "Installed udev rule ${file}"
+	done < <(find -H "${srcdir}" -name "*.rules" -maxdepth 1 -mindepth 1 -print0)
+}
+src_install() {
+	# Install udev rules for automatic firmware update.
+	if use wilco; then
+		install_rules "${FILESDIR}/wilco"
+	fi
+	cros-fwupd_src_install
+}
diff --git a/sys-firmware/fwupd-storage/metadata.xml b/sys-firmware/fwupd-storage/metadata.xml
new file mode 100644
index 0000000..3d6b730
--- /dev/null
+++ b/sys-firmware/fwupd-storage/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type='project'>
+		<email>chromium-os-dev@chromium.org</email>
+		<name>Maintained by The Chromium OS Authors.</name>
+	</maintainer>
+	<longdescription>
+		Installs storage firmware update files used by fwupd.
+	</longdescription>
+</pkgmetadata>
diff --git a/sys-firmware/gl3590-firmware/Manifest b/sys-firmware/gl3590-firmware/Manifest
new file mode 100644
index 0000000..c8a45e5
--- /dev/null
+++ b/sys-firmware/gl3590-firmware/Manifest
@@ -0,0 +1,2 @@
+DIST 03e62779e44961cf3807ddc5c94c95e8bb7674998f072e86106a41c9707046c7-GenesysLogic_GL3590_64.14.cab 47548 BLAKE2B 3d40c289d9ad74b466548ec0c786772819371421294f0453d86ecf0ddf88e115bde77c42eb583a2ea20e01c25356c147ca213125e53fe51660feffc175a3d042 SHA512 ed8da41ec11b8275879d646ede388892795f2437a616fff6d912a34848b09d5b013c562806be7116ba6c3b1dd6315c57cea9dfa853549406d6949b9d73ded556
+DIST c6fc09dab559e56a562bc90703c647a0e807b6565eb71237ab7154bac5c13c5f-GenesysLogic_GL3590_64.16.cab 47566 BLAKE2B 9babf728e902547cad4a32b9addfe8e2dac936a13a3e1fe4012ad1d98fc0b493a653e0f3c24cff5cfbaf1e67a03a0847488f6b9b857e761faf3f11b2e34fb513 SHA512 7533b8c29d87db041bb6a17dc2b50a9f08cc72dbfe28924a46f5d366dea1f12e094f0200d8b9f8901a83b3b9f6f76d16baff44361c3f0d3e83e340738c83abcb
diff --git a/sys-firmware/gl3590-firmware/OWNERS b/sys-firmware/gl3590-firmware/OWNERS
new file mode 100644
index 0000000..71669de
--- /dev/null
+++ b/sys-firmware/gl3590-firmware/OWNERS
@@ -0,0 +1 @@
+pgeorgi@chromium.org
diff --git a/sys-firmware/gl3590-firmware/gl3590-firmware-0.0.1-r2.ebuild b/sys-firmware/gl3590-firmware/gl3590-firmware-0.0.1-r2.ebuild
new file mode 100644
index 0000000..0888208
--- /dev/null
+++ b/sys-firmware/gl3590-firmware/gl3590-firmware-0.0.1-r2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
+# the canonical empty project.
+CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
+CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="../platform/empty-project"
+
+inherit cros-workon cros-fwupd
+
+DESCRIPTION="Installs eMMC firmware update files used by fwupd."
+HOMEPAGE="https://fwupd.org/downloads"
+
+KEYWORDS="*"
+
+FILENAMES=(
+	"03e62779e44961cf3807ddc5c94c95e8bb7674998f072e86106a41c9707046c7-GenesysLogic_GL3590_64.14.cab"
+	"c6fc09dab559e56a562bc90703c647a0e807b6565eb71237ab7154bac5c13c5f-GenesysLogic_GL3590_64.16.cab"
+)
+SRC_URI="${FILENAMES[*]/#/${CROS_FWUPD_URL}/}"
+LICENSE="LVFS-Vendor-Agreement-v1"
+
+DEPEND=""
+RDEPEND="sys-apps/fwupd"
diff --git a/sys-firmware/gl3590-firmware/gl3590-firmware-9999.ebuild b/sys-firmware/gl3590-firmware/gl3590-firmware-9999.ebuild
new file mode 100644
index 0000000..0d96f6b
--- /dev/null
+++ b/sys-firmware/gl3590-firmware/gl3590-firmware-9999.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
+# the canonical empty project.
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="../platform/empty-project"
+
+inherit cros-workon cros-fwupd
+
+DESCRIPTION="Installs eMMC firmware update files used by fwupd."
+HOMEPAGE="https://fwupd.org/downloads"
+
+KEYWORDS="~*"
+
+FILENAMES=(
+	"03e62779e44961cf3807ddc5c94c95e8bb7674998f072e86106a41c9707046c7-GenesysLogic_GL3590_64.14.cab"
+	"c6fc09dab559e56a562bc90703c647a0e807b6565eb71237ab7154bac5c13c5f-GenesysLogic_GL3590_64.16.cab"
+)
+SRC_URI="${FILENAMES[*]/#/${CROS_FWUPD_URL}/}"
+LICENSE="LVFS-Vendor-Agreement-v1"
+
+DEPEND=""
+RDEPEND="sys-apps/fwupd"
diff --git a/sys-firmware/gl3590-firmware/metadata.xml b/sys-firmware/gl3590-firmware/metadata.xml
new file mode 100644
index 0000000..bde8c42
--- /dev/null
+++ b/sys-firmware/gl3590-firmware/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type='project'>
+		<email>chromium-os-dev@chromium.org</email>
+		<name>Maintained by The Chromium OS Authors.</name>
+	</maintainer>
+	<longdescription>
+		Installs Genesys GL3590 firmware for consumption by fwupdtool.
+	</longdescription>
+</pkgmetadata>
diff --git a/sys-firmware/intel-ucode-firmware/OWNERS b/sys-firmware/intel-ucode-firmware/OWNERS
index a59f187..3695536 100644
--- a/sys-firmware/intel-ucode-firmware/OWNERS
+++ b/sys-firmware/intel-ucode-firmware/OWNERS
@@ -1,4 +1,5 @@
-include /OWNERS.kernel
+include chromiumos/owners:v1:/kernel/OWNERS.build
+
 jefferymiller@google.com
 nicholasbishop@google.com
 skend@google.com
diff --git a/sys-firmware/meetup-firmware/Manifest b/sys-firmware/meetup-firmware/Manifest
index 69e204a..0c0d5ce 100644
--- a/sys-firmware/meetup-firmware/Manifest
+++ b/sys-firmware/meetup-firmware/Manifest
@@ -1 +1 @@
-DIST meetup-firmware-1.2.0.tar.xz 764896 BLAKE2B ac56f79448490c81292fda9559f2a89df6e41f1e72cd987de6ccc2e6f7cc30aec06b201b9d3c7581d9a57a584daaaf37b7868c4be0c401ac3465f9ad9a49503a SHA512 bb040ab6110ed3ece3ceae68ab059607628ea862f08b2d2631b919c96aa9cd90f5b7005bcf7ae55bc33e4b8ea95de08d714648d8424e7bef180f061f06977ffd
+DIST meetup-firmware-1.4.0.tar.xz 777784 BLAKE2B ae1993f453db3ebd689b996d09a99293bae828cddaac178e79c8f35b3e9e73a3928adbd27ab37c98bf4b0fb5619c6f4754a4575808cc033068faae10a2b42454 SHA512 f07f3fda6d9764fc3b6a7de602209b640fadf23837626073af04cc3d2edbb8b0e5e9da96789eafc8540e5e512b1c8b8278b6ecadb5fb842315cd453a31c096c1
diff --git a/sys-firmware/meetup-firmware/meetup-firmware-1.2.0-r1.ebuild b/sys-firmware/meetup-firmware/meetup-firmware-1.2.0-r1.ebuild
deleted file mode 120000
index bcf0426..0000000
--- a/sys-firmware/meetup-firmware/meetup-firmware-1.2.0-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-meetup-firmware-1.2.0.ebuild
\ No newline at end of file
diff --git a/sys-firmware/meetup-firmware/meetup-firmware-1.4.0-r1.ebuild b/sys-firmware/meetup-firmware/meetup-firmware-1.4.0-r1.ebuild
new file mode 120000
index 0000000..64be475
--- /dev/null
+++ b/sys-firmware/meetup-firmware/meetup-firmware-1.4.0-r1.ebuild
@@ -0,0 +1 @@
+meetup-firmware-1.4.0.ebuild
\ No newline at end of file
diff --git a/sys-firmware/meetup-firmware/meetup-firmware-1.2.0.ebuild b/sys-firmware/meetup-firmware/meetup-firmware-1.4.0.ebuild
similarity index 100%
rename from sys-firmware/meetup-firmware/meetup-firmware-1.2.0.ebuild
rename to sys-firmware/meetup-firmware/meetup-firmware-1.4.0.ebuild
diff --git a/sys-firmware/parade-ps8745a2-firmware/Manifest b/sys-firmware/parade-ps8745a2-firmware/Manifest
new file mode 100644
index 0000000..53c8463
--- /dev/null
+++ b/sys-firmware/parade-ps8745a2-firmware/Manifest
@@ -0,0 +1 @@
+DIST parade-ps8745a2-firmware-2.tar.xz 4368 BLAKE2B 757412c5eee4e5b3125f65034ec61c8ebcf1d1a613b0023f435ee5fbe16eb0d4b20f5050eb9ca6b12f0a2fb7b168866c0edfb6353748f89f093c5efef81de217 SHA512 e4e73e10d54680f812ac56434d395c8ce1a5fca9eddf9740ec57f450e9883ca1af0e4bc8d410aa0de8065c6ee7a88ae6e8a1957476e43a5d8547209414477353
diff --git a/sys-firmware/parade-ps8745a2-firmware/parade-ps8745a2-firmware-2.ebuild b/sys-firmware/parade-ps8745a2-firmware/parade-ps8745a2-firmware-2.ebuild
new file mode 100644
index 0000000..9215422
--- /dev/null
+++ b/sys-firmware/parade-ps8745a2-firmware/parade-ps8745a2-firmware-2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="PS8745-A2 Firmware Binary"
+SRC_URI="gs://chromeos-localmirror/distfiles/${P}.tar.xz"
+
+LICENSE="Google-Partners-Website"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+S="${WORKDIR}"
+
+# Here are the steps to uprev the PS8745 firmware.
+#
+# 1) Unzip the .zip file emailed from the vendor.
+# 2) Convert from hex to bin.
+#    ex: objcopy -I ihex --output-target=binary \
+#         --gap-fill 0xff --pad-to 0x10000 \
+#          PS8745_FW_0x02_20220622_A2_whole.hex \
+#          parade-ps8745a2-firmware-2/ps8745_a2_0x02.bin
+# 3) Tarball it up using XZ, including the right directory.
+#    ex: tar -cJf parade-ps8745a2-firmware-2.tar.xz \
+#          parade-ps8745a2-firmware-2/ps8745_a2_0x02.bin
+# 4) Then upload it at https://pantheon.corp.google.com/storage/browser/chromeos-localmirror/distfiles
+# 5) On the uploaded file, click the three-dot-menu, "Edit access",
+#    click on ADD ENTRY, then set:
+#      Entity: "Public"
+#      Name:   "allUsers"
+#      Access: "Reader"
+# 6) Finally run 'ebuild parade-ps8745a2-firmware-2.ebuild manifest'
+
+src_install() {
+	local fw_rev_hex=$(printf '%02x' "${PV}")
+	local bf=ps8745_a2.bin
+	local hf=ps8745_a2.hash
+
+	printf "\\xa2%b" "\\x${fw_rev_hex}" > "${hf}" || die
+	insinto /firmware/ps8745
+	newins "${hf}" "${hf}"
+	newins "${P}/ps8745_a2_0x${fw_rev_hex}.bin" "${bf}"
+}
diff --git a/sys-firmware/parade-ps8815a2-firmware/Manifest b/sys-firmware/parade-ps8815a2-firmware/Manifest
index 3a2f30e..97e6b8d 100644
--- a/sys-firmware/parade-ps8815a2-firmware/Manifest
+++ b/sys-firmware/parade-ps8815a2-firmware/Manifest
@@ -3,3 +3,5 @@
 DIST parade-ps8815a2-firmware-34.tar.xz 4280 BLAKE2B e7774dd91c89124ac9dcb979c9b287f023ceeba81baff028b24e0a37dc001d9d8806e6bd93bd3829f8a4c6f30e1fbc84b0eb406b1c2b61297238b97f32846d6c SHA512 2790f3f6780fd012c8fa49cea342e324b3642c03267d58f5c8126877251839da441c522b6f37b42df8d8fc57ac76c9f4f3df05c5a40c85c5b5fdd971e9a66186
 DIST parade-ps8815a2-firmware-35.tar.xz 4132 BLAKE2B 084ad886ac16631e1f03f7463d9c5877f6e713b8a6a8d94171732a373dd5687657d67c4d98dc815a1f0f09a41aee2210c07c261b4885f3e435b3865c858236e6 SHA512 6bc86a0a171cf1485023435cc1b35a1308434e24fd0a99719342d713d2fec2ae3832d81d7effdb77b0b09f3c9144c46f7a5c9aa6a8cee28497d73d8d439b9d0d
 DIST parade-ps8815a2-firmware-36.tar.xz 4228 BLAKE2B c026c9fed37df6a48aec15df6af1cd5d432f38911aed129313c4edf577ad8da9c99e04c891eaec01c24bdff979a2af399da3fa7e95b811ce503f35d3ba997347 SHA512 8359bc020fc25a5bfe46546bae5058e7521a5010b979ba0bbe32464a7033a526b52e987363e4b389631fc1565e27ecc164dd7a3776577a38ae4487d28251bd7c
+DIST parade-ps8815a2-firmware-37.tar.xz 4272 BLAKE2B 5f9608589a56db4231baae5e68b023dcc9019e3bf20f689558067912db09b645f5d8a82a97d386c5ed5982437a8f55a735a0887845c1ac6947ca5a8c1a6e4ce2 SHA512 addb524b29c442b048bbdf777c3e835ff96d88e198956d573e8b5c361fafe7bebd3763ffde8d6e3195dfa1ab2b87ca06ce9cf6a108f6100f39bb32642b1e890c
+DIST parade-ps8815a2-firmware-38.tar.xz 4348 BLAKE2B 0da2027d0e89923c9ae65114e44a3139cbbaede8d5d973cc68a8e266467b8c46d7348c50d3afecf4308748d9ec2e35863eba61e7b512b94eddc8caf38c118ff7 SHA512 814c22db4373852b04e61050b3eecaf2998fca307d19a124600a9a3eeef3d5b284ebeb6810e1f176ac07a4119c0ff23b57861b339bfe6486edd3474b283482be
diff --git a/sys-firmware/parade-ps8815a2-firmware/parade-ps8815a2-firmware-37-r1.ebuild b/sys-firmware/parade-ps8815a2-firmware/parade-ps8815a2-firmware-37-r1.ebuild
new file mode 120000
index 0000000..60f102d
--- /dev/null
+++ b/sys-firmware/parade-ps8815a2-firmware/parade-ps8815a2-firmware-37-r1.ebuild
@@ -0,0 +1 @@
+parade-ps8815a2-firmware-19.ebuild
\ No newline at end of file
diff --git a/sys-firmware/parade-ps8815a2-firmware/parade-ps8815a2-firmware-38-r1.ebuild b/sys-firmware/parade-ps8815a2-firmware/parade-ps8815a2-firmware-38-r1.ebuild
new file mode 120000
index 0000000..60f102d
--- /dev/null
+++ b/sys-firmware/parade-ps8815a2-firmware/parade-ps8815a2-firmware-38-r1.ebuild
@@ -0,0 +1 @@
+parade-ps8815a2-firmware-19.ebuild
\ No newline at end of file
diff --git a/sys-firmware/ptzpro2-firmware/Manifest b/sys-firmware/ptzpro2-firmware/Manifest
index 6edad2d..96eb7e0 100644
--- a/sys-firmware/ptzpro2-firmware/Manifest
+++ b/sys-firmware/ptzpro2-firmware/Manifest
@@ -1 +1 @@
-DIST ptzpro2-firmware-1.3.0.tar.xz 475724 BLAKE2B 29cd2fb103050cb74fcded2bc97bdb6c7537b74bc7c316d110b7049c6290d754fee9c0edd4d3f263fd44a8093f053ebdb11d57f2aad3cf487cf2d7a723e53f9b SHA512 e66a33bc9885260dfcf1180b2479354a4f371f686242dbf20244f6e225dd371a29d89e4865c829b80e5e137286e95f757df08801e93f516656861943eb66b3d9
+DIST ptzpro2-firmware-1.4.0.tar.xz 476136 BLAKE2B 494aaec2a5246cf18a561921d29ffdae8e3ce0cf916243bd9bc187783a38aa07f1ea6f222cf8a8e0aaf346fc27073925806245418160efe3e4a740a0a4f411ff SHA512 7d3ddc473fb833b7e8962c8624668a3f0f22f2c29d5234ec3a59eeb9ff7b43ddb0c5ebf9ee8eb517177385765638406131f3b9bdc96862a8f85a9ed8a18a45c4
diff --git a/sys-firmware/ptzpro2-firmware/ptzpro2-firmware-1.3.0-r1.ebuild b/sys-firmware/ptzpro2-firmware/ptzpro2-firmware-1.3.0-r1.ebuild
deleted file mode 120000
index 18d0ac4..0000000
--- a/sys-firmware/ptzpro2-firmware/ptzpro2-firmware-1.3.0-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-ptzpro2-firmware-1.3.0.ebuild
\ No newline at end of file
diff --git a/sys-firmware/ptzpro2-firmware/ptzpro2-firmware-1.4.0-r1.ebuild b/sys-firmware/ptzpro2-firmware/ptzpro2-firmware-1.4.0-r1.ebuild
new file mode 120000
index 0000000..24c136b
--- /dev/null
+++ b/sys-firmware/ptzpro2-firmware/ptzpro2-firmware-1.4.0-r1.ebuild
@@ -0,0 +1 @@
+ptzpro2-firmware-1.4.0.ebuild
\ No newline at end of file
diff --git a/sys-firmware/ptzpro2-firmware/ptzpro2-firmware-1.3.0.ebuild b/sys-firmware/ptzpro2-firmware/ptzpro2-firmware-1.4.0.ebuild
similarity index 100%
rename from sys-firmware/ptzpro2-firmware/ptzpro2-firmware-1.3.0.ebuild
rename to sys-firmware/ptzpro2-firmware/ptzpro2-firmware-1.4.0.ebuild
diff --git a/sys-firmware/servo-firmware/Manifest b/sys-firmware/servo-firmware/Manifest
index dea9ab7..f8829f4 100644
--- a/sys-firmware/servo-firmware/Manifest
+++ b/sys-firmware/servo-firmware/Manifest
@@ -3,6 +3,8 @@
 DIST servo_micro_v2.4.57-ce329f64f.tar.xz 27308 BLAKE2B 4a9e3b153d9b64dc2fc6a700596db236589e31f1d36fe15ff2e72947a6b61c739ebb45de077d013969f3291e1949333a543685a74632a6824a902e1cce902031 SHA512 26aea64eddad26a40d7ad56326bfeeef16734bf9b22836076ee95f9307d734ec3a7206ebb30b1fb21fb00bf8f32d203aeae1d059f4253ed0e8c36c30662f4645
 DIST servo_v4_v2.4.57-ce329f64f.tar.xz 40552 BLAKE2B fa054db061da73b22701ddced263b1c0ff8f427d89792ebb747ed59505fc7c049921737e8e8c20c02af5bfafbfde8f12129fb0bfe9d5c267a6fefaf53c791dca SHA512 e324e3e5f2d15e769cb6a04ea7d9ccb1bbd647c0049085a55c2a728311519ac20c7d13f70d32dc53749598ab423072e6804998bdc97e541d25aba74d56361792
 DIST servo_v4_v2.4.58-c37246f9c.tar.xz 40536 BLAKE2B 168126e7aa71c3731b35c0293dc0365e92ef234e6e78727b8d0996228ce3921bf76d602acd194dc35bfa61ccef6d103865e14a4b80855e51f6ceeedc6cefc009 SHA512 2b3abe74f3d32fc95a12ccbbe1b4c1286e304744c75b3cbd89b8b2f99431a9006cfb5889c5baa8467a39100cb1d53cff148961cb13e1b1fc17ef84abc19a5b73
+DIST servo_v4p1_v2.0.13477-1c6bb5adb.tar.xz 55932 BLAKE2B 5f1a4bfbcea164fa59a3f0d7734bc23e92db912ea9d40b097affecd33b26ee1785d0f953a3fe66d100e7c83924cc42e844499452ac085d54e4645542e8be3a61 SHA512 325d034a6777a0c7674b7f10ac72f316744dc4a46a46afea5ce0b54e3207b9347a1a17e04d9d44dc690218134dc84a7a9f651781fe14000b71a678d5640380f0
 DIST servo_v4p1_v2.0.7721-8af602eee.tar.xz 55100 BLAKE2B 9480b2ef63ee810e7f3df13add046ce887dfeb137293dd64ad4a841433e6543ba33ded1fad946eadee9bafdb32ba4b46eb8d1ffc9daf18e64f6aba84585e82c5 SHA512 d951913e8a4eb5fbb5d3d5fe477050c6cc9daa2ff1a5028c88ef025dfa260f9f34a0947d793b1e71ec59685e5a612b6f31b646bbeca1152fa213af2080efa0e3
 DIST servo_v4p1_v2.0.8584+1a7e7e64c.tar.xz 55344 BLAKE2B 49b2e10377cc4ad0865290249975d830bd72603cc9e354c099fe36efab2408ad29fa579cc7c0b34eab1278bfb245ad66a9337b43b8123765bf5ec954e18abb26 SHA512 93ba435b9adb9c556576870dbfeb7dc184e35155df04707030bc8edcaa93b6a5ed002fff5504b99a9a688f694456ad22a68c9c7be567d8b14c9fec5d899347fd
+DIST servo_v4p1_v2.0.8588-3eac32bd44.tar.xz 55436 BLAKE2B cdebab0f8ab4c73ef97cee83fc1003bb3577e34db88f0ca18af2e52c7e24f5be26434b07999128e075e653caed1ab90c5bfe2820de56cbc5ed54cffb7b8d0a0a SHA512 fa681afc287a603ca1fa4084020c98866e7e8d94f39cd81953660fe9a322a44400f21607ece2d8c58352776688e1f33b876016f26239b9585e9f29080e5719cd
 DIST sweetberry_v2.3.7-096c7ee84.tar.gz 66715 BLAKE2B f2cc6a8d616c2d81920c18b44afc077e9f5bdce5fab9eae8564f34c14beeed56e71aaa745353b33161a13776291072d5426c8636ab9105863b60b574849aa9c2 SHA512 7c74e3f385536369f82eec37cc81941269e76c014e662b77d18fbc45107c348b4b6ebe15311517cfaf5824f88d4228448c832695e5692b49a64c87174284e8f0
diff --git a/sys-firmware/servo-firmware/servo-firmware-0.0.1-r33.ebuild b/sys-firmware/servo-firmware/servo-firmware-0.0.1-r34.ebuild
similarity index 100%
rename from sys-firmware/servo-firmware/servo-firmware-0.0.1-r33.ebuild
rename to sys-firmware/servo-firmware/servo-firmware-0.0.1-r34.ebuild
diff --git a/sys-firmware/servo-firmware/servo-firmware-0.0.1.ebuild b/sys-firmware/servo-firmware/servo-firmware-0.0.1.ebuild
index 54c3b35..866e3ed 100644
--- a/sys-firmware/servo-firmware/servo-firmware-0.0.1.ebuild
+++ b/sys-firmware/servo-firmware/servo-firmware-0.0.1.ebuild
@@ -18,6 +18,12 @@
 SERVO_V4_NAME_PREV="servo_v4_v2.4.57-ce329f64f"        # servo-firmware-R81-12768.71.0
 SERVO_V4P1_NAME_PREV="servo_v4p1_v2.0.7721-8af602eee"  # Local builds are temporary b/153464312
 
+# Dev channel firmware
+SERVO_V4P1_NAME_DEV="servo_v4p1_v2.0.8588-3eac32bd44"  # USB3 Patch from CL/3586439
+
+# Alpha channel firmware
+SERVO_V4P1_NAME_ALPHA="servo_v4p1_v2.0.13477-1c6bb5adb" # R103-14703.0.0 build
+
 UPDATER_PATH="/usr/share/servo_updater/firmware"
 
 MIRROR_PATH="gs://chromeos-localmirror/distfiles/"
@@ -30,13 +36,14 @@
 	${MIRROR_PATH}/${SERVO_V4_NAME_PREV}.tar.xz
 	${MIRROR_PATH}/${SERVO_V4P1_NAME}.tar.xz
 	${MIRROR_PATH}/${SERVO_V4P1_NAME_PREV}.tar.xz
+	${MIRROR_PATH}/${SERVO_V4P1_NAME_DEV}.tar.xz
+	${MIRROR_PATH}/${SERVO_V4P1_NAME_ALPHA}.tar.xz
 	${MIRROR_PATH}/${SWEETBERRY_NAME}.tar.gz
 	"
 
 LICENSE="BSD-Google"
 SLOT="0"
 KEYWORDS="*"
-ISUE=""
 
 DEPEND=""
 RDEPEND="!<chromeos-base/ec-devutils-0.0.2"
@@ -68,9 +75,11 @@
 
 	doins "${SERVO_V4P1_NAME}.bin"
 	doins "${SERVO_V4P1_NAME_PREV}.bin"
-	dosym "${SERVO_V4P1_NAME}.bin" "${UPDATER_PATH}/servo_v4p1.alpha.bin"
+	doins "${SERVO_V4P1_NAME_DEV}.bin"
+	doins "${SERVO_V4P1_NAME_ALPHA}.bin"
+	dosym "${SERVO_V4P1_NAME_ALPHA}.bin" "${UPDATER_PATH}/servo_v4p1.alpha.bin"
 	dosym "${SERVO_V4P1_NAME}.bin" "${UPDATER_PATH}/servo_v4p1.stable.bin"
-	dosym "${SERVO_V4P1_NAME}.bin" "${UPDATER_PATH}/servo_v4p1.dev.bin"
+	dosym "${SERVO_V4P1_NAME_DEV}.bin" "${UPDATER_PATH}/servo_v4p1.dev.bin"
 	dosym "${SERVO_V4P1_NAME_PREV}.bin" "${UPDATER_PATH}/servo_v4p1.prev.bin"
 
 	doins "${SWEETBERRY_NAME}.bin"
diff --git a/sys-fs/erofs-utils/Manifest b/sys-fs/erofs-utils/Manifest
index 0c2d253..9b7bee7 100644
--- a/sys-fs/erofs-utils/Manifest
+++ b/sys-fs/erofs-utils/Manifest
@@ -1 +1 @@
-DIST erofs-utils-1.4.tar.gz 93979 BLAKE2B aef1dca8cb95e6104d73a84590319d3c55aba1a4ef5dbdbf470662cb86ee1b66a5707dc1c453470115ec6f2bf1246ee4b6b28aa1cb83b4cb9c8eed45e88668d4 SHA512 ab95d6a7b2d278ee443d1e378c62354db66ce7ab5ce03b3a8d9004cf498c4e43e3e8ced6524444d2ea4871c4db0195489f033180c8a2082c2cba69c46c09692f
+DIST erofs-utils-1.5.tar.gz 106559 BLAKE2B 69a2b93c0ba8c50fb3f75a53cc224490ab31f55e24055932091e85032a637c2be6d937ab42f068a2937e5b9d8b6054fd756e89b9333f47a6b6b35c20a421ed49 SHA512 0a9d593a9fef3c5976dc63e2927f47d070121ed07e6dda727b0a715b72cfe560c83bdf26ce41fe07b8cb5b66b0660105848e3f7c5a84f222296eb422d1cd5cba
diff --git a/sys-fs/erofs-utils/erofs-utils-1.4-r1.ebuild b/sys-fs/erofs-utils/erofs-utils-1.4-r1.ebuild
deleted file mode 120000
index c91e8ca..0000000
--- a/sys-fs/erofs-utils/erofs-utils-1.4-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-erofs-utils-1.4.ebuild
\ No newline at end of file
diff --git a/sys-fs/erofs-utils/erofs-utils-1.4.ebuild b/sys-fs/erofs-utils/erofs-utils-1.4.ebuild
deleted file mode 100644
index 86d202c4..0000000
--- a/sys-fs/erofs-utils/erofs-utils-1.4.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2022 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git"
-	inherit git-r3
-else
-	SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/xiang/${PN}.git/snapshot/${P}.tar.gz"
-	KEYWORDS="*"
-fi
-
-DESCRIPTION="Userspace utilities for linux-erofs file system"
-HOMEPAGE="https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git"
-
-LICENSE="GPL-2"
-SLOT="0"
-
-RDEPEND="app-arch/lz4:="
-DEPEND="${RDEPEND}"
-
-src_prepare() {
-	default
-	eautoreconf
-}
-
-src_install() {
-	dobin mkfs/mkfs.erofs fsck/fsck.erofs
-}
diff --git a/sys-fs/erofs-utils/erofs-utils-1.5-r2.ebuild b/sys-fs/erofs-utils/erofs-utils-1.5-r2.ebuild
new file mode 120000
index 0000000..a5f0feb
--- /dev/null
+++ b/sys-fs/erofs-utils/erofs-utils-1.5-r2.ebuild
@@ -0,0 +1 @@
+erofs-utils-1.5.ebuild
\ No newline at end of file
diff --git a/sys-fs/erofs-utils/erofs-utils-1.5.ebuild b/sys-fs/erofs-utils/erofs-utils-1.5.ebuild
new file mode 100644
index 0000000..1ff1ffb
--- /dev/null
+++ b/sys-fs/erofs-utils/erofs-utils-1.5.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+if [[ ${PV} == 9999 ]]; then
+	EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git"
+	inherit git-r3
+else
+	SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/xiang/${PN}.git/snapshot/${P}.tar.gz"
+	KEYWORDS="*"
+fi
+
+DESCRIPTION="Userspace utilities for linux-erofs file system"
+HOMEPAGE="https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="selinux"
+
+RDEPEND="
+	app-arch/lz4:=
+	selinux? ( sys-libs/libselinux:= )
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+	default
+	eautoreconf
+}
+
+src_configure() {
+	econf $(use_with selinux)
+}
+
+src_install() {
+	dobin mkfs/mkfs.erofs fsck/fsck.erofs
+}
diff --git a/sys-fs/exfat-utils/metadata.xml b/sys-fs/exfat-utils/metadata.xml
index 2b2d336..e71e375 100644
--- a/sys-fs/exfat-utils/metadata.xml
+++ b/sys-fs/exfat-utils/metadata.xml
@@ -9,6 +9,7 @@
 	<name>Gentoo Base System</name>
 </maintainer>
 <upstream>
+	<remote-id type="cpe">cpe:/a:exfat_prokect:exfat</remote-id>
 	<remote-id type="google-code">exfat</remote-id>
 	<remote-id type="github">relan/exfat</remote-id>
 </upstream>
diff --git a/sys-fs/fuse-archive/Manifest b/sys-fs/fuse-archive/Manifest
index fff52d7..170a808 100644
--- a/sys-fs/fuse-archive/Manifest
+++ b/sys-fs/fuse-archive/Manifest
@@ -1 +1 @@
-DIST fuse-archive-0.1.8.tar.gz 53519 SHA256 dea8469db735e2f24014942f0d06f2ba5c6752c04aadffd98d09dda61da2a145 SHA512 0146dfc22982750517b0ab4df18532f44ae4886dad12dfcd1ff975db335044b83a4eb0d17c5bc4e363b3b6d317f7fa5071a92f5217789b5cef9866407932e5b1 WHIRLPOOL 9dcd4c1910c84584c0aff06f9afcb7ec9c46417bd1fda2c16cc61f820aec3deacee5c6e60fb616c1eb08056d787fbedad8537df7bf4e9ab684b600c430d6e229
+DIST fuse-archive-0.1.13.tar.gz 58979 SHA256 1775e6fc3aa0334b69febbac3b074b950daa9e191e0723ad254e99b6c2a970bd
diff --git a/sys-fs/fuse-archive/fuse-archive-0.1.8.ebuild b/sys-fs/fuse-archive/fuse-archive-0.1.13.ebuild
similarity index 100%
rename from sys-fs/fuse-archive/fuse-archive-0.1.8.ebuild
rename to sys-fs/fuse-archive/fuse-archive-0.1.13.ebuild
diff --git a/sys-fs/fuse/files/fuse-2.9.9-closefrom-glibc-2-34.patch b/sys-fs/fuse/files/fuse-2.9.9-closefrom-glibc-2-34.patch
new file mode 100644
index 0000000..beb8d51
--- /dev/null
+++ b/sys-fs/fuse/files/fuse-2.9.9-closefrom-glibc-2-34.patch
@@ -0,0 +1,60 @@
+From ae2352bca9b4e607538412da0cc2a9625cd8b692 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sat, 24 Jul 2021 22:02:45 +0100
+Subject: [PATCH] util/ulockmgr_server.c: conditionally define closefrom (fix
+ glibc-2.34+)
+
+closefrom(3) has joined us in glibc-land from *BSD and Solaris. Since
+it's available in glibc 2.34+, we want to detect it and only define our
+fallback if the libc doesn't provide it.
+
+Bug: https://bugs.gentoo.org/803923
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ configure.ac           | 1 +
+ util/ulockmgr_server.c | 6 ++++++
+ 2 files changed, 7 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 9946a0efa..a2d481aa9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -55,6 +55,7 @@ fi
+ 
+ AC_CHECK_FUNCS([fork setxattr fdatasync splice vmsplice utimensat])
+ AC_CHECK_FUNCS([posix_fallocate])
++AC_CHECK_FUNCS([closefrom])
+ AC_CHECK_MEMBERS([struct stat.st_atim])
+ AC_CHECK_MEMBERS([struct stat.st_atimespec])
+ 
+diff --git a/util/ulockmgr_server.c b/util/ulockmgr_server.c
+index 273c7d923..a04dac5c6 100644
+--- a/util/ulockmgr_server.c
++++ b/util/ulockmgr_server.c
+@@ -22,6 +22,10 @@
+ #include <sys/socket.h>
+ #include <sys/wait.h>
+ 
++#ifdef HAVE_CONFIG_H
++	#include "config.h"
++#endif
++
+ struct message {
+ 	unsigned intr : 1;
+ 	unsigned nofd : 1;
+@@ -124,6 +128,7 @@ static int receive_message(int sock, void *buf, size_t buflen, int *fdp,
+ 	return res;
+ }
+ 
++#if !defined(HAVE_CLOSEFROM)
+ static int closefrom(int minfd)
+ {
+ 	DIR *dir = opendir("/proc/self/fd");
+@@ -141,6 +146,7 @@ static int closefrom(int minfd)
+ 	}
+ 	return 0;
+ }
++#endif
+ 
+ static void send_reply(int cfd, struct message *msg)
+ {
diff --git a/sys-fs/fuse/fuse-2.9.8-r4.ebuild b/sys-fs/fuse/fuse-2.9.8-r4.ebuild
deleted file mode 100644
index 317459f..0000000
--- a/sys-fs/fuse/fuse-2.9.8-r4.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit ltprune libtool linux-info udev toolchain-funcs fcaps
-
-DESCRIPTION="An interface for filesystems implemented in userspace"
-HOMEPAGE="https://github.com/libfuse/libfuse"
-SRC_URI="https://github.com/libfuse/libfuse/releases/download/${P}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-IUSE="examples kernel_linux kernel_FreeBSD static-libs"
-
-PDEPEND="kernel_FreeBSD? ( sys-fs/fuse4bsd )"
-DEPEND="virtual/pkgconfig"
-RDEPEND="sys-fs/fuse-common"
-
-pkg_setup() {
-	if use kernel_linux ; then
-		if kernel_is lt 2 6 9 ; then
-			die "Your kernel is too old."
-		fi
-		CONFIG_CHECK="~FUSE_FS"
-		FUSE_FS_WARNING="You need to have FUSE module built to use user-mode utils"
-		linux-info_pkg_setup
-	fi
-}
-
-src_prepare() {
-	local PATCHES=(
-		"${FILESDIR}"/${PN}-2.8.5-fix-lazy-binding.patch
-		"${FILESDIR}"/${PN}-2.8.5-gold.patch
-		"${FILESDIR}"/${PN}-2.8.6-remove-setuid.patch
-		"${FILESDIR}"/${PN}-2.9.3-kernel-types.patch
-		"${FILESDIR}"/${PN}-2.9.7-pass-fuse-fd.patch
-		"${FILESDIR}"/${PN}-2.9.8-user-option.patch
-	)
-	# sandbox violation with mtab writability wrt #438250
-	# don't sed configure.in without eautoreconf because of maintainer mode
-	sed -i 's:umount --fake:true --fake:' configure || die
-	elibtoolize
-
-	default
-}
-
-src_configure() {
-	econf \
-		INIT_D_PATH="${EPREFIX}/etc/init.d" \
-		MOUNT_FUSE_PATH="${EPREFIX}/sbin" \
-		UDEV_RULES_PATH="${EPREFIX}/$(get_udevdir)/rules.d" \
-		$(use_enable static-libs static) \
-		--disable-example
-}
-
-src_install() {
-	local DOCS=( AUTHORS ChangeLog README.md README.NFS NEWS doc/how-fuse-works doc/kernel.txt )
-	default
-
-	if use examples ; then
-		docinto examples
-		dodoc example/*
-	fi
-
-	if use kernel_FreeBSD ; then
-		insinto /usr/include/fuse
-		doins include/fuse_kernel.h
-	fi
-
-	prune_libtool_files
-
-	# installed via fuse-common
-	rm -r "${ED%/}"/{etc,$(get_udevdir)} || die
-	rm "${ED%/}"/usr/share/man/man8/mount.fuse.* || die
-	rm "${ED%/}"/sbin/mount.fuse || die
-
-	# handled by the device manager
-	rm -r "${D%/}"/dev || die
-}
-
-pkg_postinst() {
-	# CHROMIUM: remove-setuid.patch removes suid. Add fcaps instead.
-	fcaps cap_sys_admin usr/bin/fusermount
-}
diff --git a/sys-fs/fuse/fuse-2.9.8-r5.ebuild b/sys-fs/fuse/fuse-2.9.8-r5.ebuild
new file mode 100644
index 0000000..16fd614
--- /dev/null
+++ b/sys-fs/fuse/fuse-2.9.8-r5.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit ltprune libtool linux-info udev toolchain-funcs fcaps
+
+DESCRIPTION="An interface for filesystems implemented in userspace"
+HOMEPAGE="https://github.com/libfuse/libfuse"
+SRC_URI="https://github.com/libfuse/libfuse/releases/download/${P}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+IUSE="examples kernel_linux kernel_FreeBSD static-libs"
+
+PDEPEND="kernel_FreeBSD? ( sys-fs/fuse4bsd )"
+DEPEND="virtual/pkgconfig"
+RDEPEND="sys-fs/fuse-common"
+
+pkg_setup() {
+	if use kernel_linux ; then
+		if kernel_is lt 2 6 9 ; then
+			die "Your kernel is too old."
+		fi
+		CONFIG_CHECK="~FUSE_FS"
+		FUSE_FS_WARNING="You need to have FUSE module built to use user-mode utils"
+		linux-info_pkg_setup
+	fi
+}
+
+src_prepare() {
+	local PATCHES=(
+		"${FILESDIR}"/${PN}-2.8.5-fix-lazy-binding.patch
+		"${FILESDIR}"/${PN}-2.8.5-gold.patch
+		"${FILESDIR}"/${PN}-2.8.6-remove-setuid.patch
+		"${FILESDIR}"/${PN}-2.9.3-kernel-types.patch
+		"${FILESDIR}"/${PN}-2.9.7-pass-fuse-fd.patch
+		"${FILESDIR}"/${PN}-2.9.8-user-option.patch
+		"${FILESDIR}"/${PN}-2.9.9-closefrom-glibc-2-34.patch
+	)
+	# sandbox violation with mtab writability wrt #438250
+	# don't sed configure.in without eautoreconf because of maintainer mode
+	sed -i 's:umount --fake:true --fake:' configure || die
+	elibtoolize
+
+	default
+}
+
+src_configure() {
+	econf \
+		INIT_D_PATH="${EPREFIX}/etc/init.d" \
+		MOUNT_FUSE_PATH="${EPREFIX}/sbin" \
+		UDEV_RULES_PATH="${EPREFIX}/$(get_udevdir)/rules.d" \
+		$(use_enable static-libs static) \
+		--disable-example
+}
+
+src_install() {
+	local DOCS=( AUTHORS ChangeLog README.md README.NFS NEWS doc/how-fuse-works doc/kernel.txt )
+	default
+
+	if use examples ; then
+		docinto examples
+		dodoc example/*
+	fi
+
+	if use kernel_FreeBSD ; then
+		insinto /usr/include/fuse
+		doins include/fuse_kernel.h
+	fi
+
+	prune_libtool_files
+
+	# installed via fuse-common
+	rm -r "${ED%/}"/{etc,$(get_udevdir)} || die
+	rm "${ED%/}"/usr/share/man/man8/mount.fuse.* || die
+	rm "${ED%/}"/sbin/mount.fuse || die
+
+	# handled by the device manager
+	rm -r "${D%/}"/dev || die
+}
+
+pkg_postinst() {
+	# CHROMIUM: remove-setuid.patch removes suid. Add fcaps instead.
+	fcaps cap_sys_admin usr/bin/fusermount
+}
diff --git a/sys-fs/lxcfs/Manifest b/sys-fs/lxcfs/Manifest
index 5ca764c..2ea08a8 100644
--- a/sys-fs/lxcfs/Manifest
+++ b/sys-fs/lxcfs/Manifest
@@ -1,2 +1,3 @@
+DIST lxcfs-3.0.3.tar.gz 49824 BLAKE2B 02e3a0a6f4fd515924c5f038f00d664ef347c9b685e6561334b460e0ce0ce5580aca67f33df56b44b9cdafa4953f4f92843662f3516e1c923f9242388b17dbc6 SHA512 d994e1dd85f499eba2847d33870281a4bcaf4466e2c8f7acb065f4f3d5688b93b775c486bc6db571e64d09a3567710b0c816e12555ffb3e3e50f81bc7f5f6be6
 DIST lxcfs-4.0.12.tar.gz 461251 BLAKE2B c0d1cc699461eed2e29ddb1937e8f4719be78a8f17c20b9dd682a617bc0423b22b4491399b934aa7f4be8f5ca292ab4c9e97e7bf149700c0c3760c8b3804ae11 SHA512 da8415599bb08e4e15a7e4044edbcad217e4034d96366d508e06cceb2a75d459e24aeb7efd5716e2f41449ec653ecd9916f0d934f738e1df8e9576738cc1ac18
 DIST lxcfs-4.0.12.tar.gz.asc 833 BLAKE2B af8bf08039e7bc1f405c468de0dd628175cef3ea6087c5fa1c0d95f9153df939a84f9a5d9d895fb471c0262616eb88f03532ac789b0c6198ad1349cff9a6c5de SHA512 20f1919ff216f5459e8e387c78b1430b5122e662adec27bdd9c6fd4565645b73ed5bce5e7e843da05d8cfdc17f1a3e964c20c6ad47d4dbd5df68c3f9359fb362
diff --git a/sys-fs/lxcfs/files/lxcfs-fusermount-path.patch b/sys-fs/lxcfs/files/lxcfs-fusermount-path.patch
new file mode 100644
index 0000000..99a5add
--- /dev/null
+++ b/sys-fs/lxcfs/files/lxcfs-fusermount-path.patch
@@ -0,0 +1,15 @@
+--- /config/init/systemd/lxcfs.service.orig	2018-10-13 17:24:46.534035126 -0500
++++ /config/init/systemd/lxcfs.service	2018-10-13 17:25:33.007034294 -0500
+@@ -5,10 +5,10 @@
+ Documentation=man:lxcfs(1)
+ 
+ [Service]
+-ExecStart=/usr/bin/lxcfs /var/lib/lxcfs/
++ExecStart=/usr/bin/lxcfs -o allow_other,nonempty /var/lib/lxcfs/
+ KillMode=process
+ Restart=on-failure
+-ExecStopPost=-/bin/fusermount -u /var/lib/lxcfs
++ExecStopPost=-/usr/bin/fusermount -u /var/lib/lxcfs
+ Delegate=yes
+ 
+ [Install]
diff --git a/sys-fs/lxcfs/files/lxcfs.initd b/sys-fs/lxcfs/files/lxcfs.initd
new file mode 100644
index 0000000..5997426
--- /dev/null
+++ b/sys-fs/lxcfs/files/lxcfs.initd
@@ -0,0 +1,26 @@
+#!/sbin/openrc-run
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+DAEMON=/usr/bin/lxcfs
+PIDFILE=/run/lxcfs.pid
+
+start() {
+    ebegin "Starting lxcfs"
+
+    start-stop-daemon --start \
+		      --pidfile ${PIDFILE} \
+		      --exec ${DAEMON} \
+		      --background \
+		      --make-pidfile \
+		      -- \
+		      -o allow_other,nonempty /var/lib/lxcfs
+
+    eend $?
+}
+
+stop() {
+    ebegin "Stopping lxcfs"
+    start-stop-daemon --stop --quiet -R TERM/45 -p ${PIDFILE}
+    eend $?
+}
diff --git a/sys-fs/lxcfs/lxcfs-3.0.3-r1.ebuild b/sys-fs/lxcfs/lxcfs-3.0.3-r1.ebuild
new file mode 120000
index 0000000..5ca3489
--- /dev/null
+++ b/sys-fs/lxcfs/lxcfs-3.0.3-r1.ebuild
@@ -0,0 +1 @@
+lxcfs-3.0.3.ebuild
\ No newline at end of file
diff --git a/sys-fs/lxcfs/lxcfs-3.0.3.ebuild b/sys-fs/lxcfs/lxcfs-3.0.3.ebuild
new file mode 100644
index 0000000..3f9ec3e
--- /dev/null
+++ b/sys-fs/lxcfs/lxcfs-3.0.3.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit systemd vcs-snapshot
+DESCRIPTION="FUSE filesystem for LXC"
+HOMEPAGE="https://linuxcontainers.org/lxcfs/introduction/"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+if [[ ${PV} == "9999" ]] ; then
+	EGIT_REPO_URI="https://github.com/lxc/lxcfs.git"
+	EGIT_BRANCH="master"
+	inherit git-r3
+	SRC_URI=""
+	KEYWORDS="~*"
+else
+	SRC_URI="https://github.com/lxc/lxcfs/archive/${P}.tar.gz"
+	KEYWORDS="*"
+fi
+
+# Omit all dbus.  Upstream appears to require it because systemd, but
+# lxcfs makes no direct use of dbus.
+RDEPEND="
+	dev-libs/glib:2
+	sys-fs/fuse:0
+"
+DEPEND="
+	sys-apps/help2man
+	${RDEPEND}
+"
+PATCHES="${FILESDIR}/${PN}-fusermount-path.patch"
+
+src_prepare() {
+	default
+	./bootstrap.sh || die "Failed to bootstrap configure files"
+}
+
+src_configure() {
+	# Replace help2man for /bin/true to avoid issues when
+	# cross-compiling (b/196492646)
+	export ac_cv_path_HELP2MAN=/bin/true
+
+	# Without the localstatedir the filesystem isn't mounted correctly
+	# Without with-distro ./configure will fail when cross-compiling
+	econf --localstatedir=/var --with-distro=gentoo
+}
+
+# Test suite fails for me
+# src_test() {
+# 	emake tests
+# 	tests/main.sh || die "Tests failed"
+# }
+
+src_install() {
+	default
+	# Not allowed by hooks/filesystem-layout.py
+	# keepdir /var/lib/lxcfs
+	newinitd "${FILESDIR}"/${PN}.initd lxcfs
+	systemd_dounit config/init/systemd/lxcfs.service
+}
+
+pkg_preinst() {
+	# In an upgrade situation merging /var/lib/lxcfs (an empty dir)
+	# fails because that is a live mountpoint when the service is
+	# running.  It's unnecessary anyway so skip the action.
+	[[ -d ${ROOT}/var/lib/lxcfs ]] && rm -rf ${D}/var
+}
+
+pkg_postinst() {
+	einfo
+	einfo "Starting with version 3.0.0 the cgfs PAM module has moved, and"
+	einfo "will eventually be available in app-emulation/lxc.  See:"
+	einfo "https://brauner.github.io/2018/02/28/lxc-includes-cgroup-pam-module.html"
+	einfo "for more information."
+	einfo
+}
diff --git a/sys-fs/lxcfs/lxcfs-4.0.12-r1.ebuild b/sys-fs/lxcfs/lxcfs-4.0.12-r1.ebuild
new file mode 120000
index 0000000..51ff246
--- /dev/null
+++ b/sys-fs/lxcfs/lxcfs-4.0.12-r1.ebuild
@@ -0,0 +1 @@
+lxcfs-4.0.12.ebuild
\ No newline at end of file
diff --git a/sys-fs/lxcfs/lxcfs-4.0.12.ebuild b/sys-fs/lxcfs/lxcfs-4.0.12.ebuild
index 9be6c2d..65b0536 100644
--- a/sys-fs/lxcfs/lxcfs-4.0.12.ebuild
+++ b/sys-fs/lxcfs/lxcfs-4.0.12.ebuild
@@ -40,6 +40,10 @@
 	# May be able to drop when/if ported to meson, but re-test w/ x86 chroot
 	append-lfs-flags
 
+	# Replace help2man for /bin/true to avoid issues when
+	# cross-compiling (b/196492646)
+	export ac_cv_path_HELP2MAN=/bin/true
+
 	# Without the localstatedir the filesystem isn't mounted correctly
 	# Without with-distro ./configure will fail when cross-compiling
 	econf --localstatedir=/var --with-distro=gentoo --disable-static \
diff --git a/sys-fs/metadata.xml b/sys-fs/metadata.xml
deleted file mode 100644
index 0760ba1..0000000
--- a/sys-fs/metadata.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The sys-fs category contains filesystem tools and utilities.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría sys-fs contiene herramientas y utilidades de sistemas de
-		ficheros.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie sys-fs enthält Programme für die Arbeit mit Dateisystemen.
-	</longdescription>
-	<longdescription lang="nl">
-		De sys-fs categorie bevat hulpmiddelen om met bestandssystemen te werken.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm sys-fs chứa các công cụ và tiện ích về hệ tập tin.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria sys-fs contiene gli strumenti e le utilità di supporto per i vari file systems.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria sys-fs contém certos utilitários e ferramentas para
-		sistemas de arquivos.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria sys-fs zawiera programy i narzędzia związane z różnymi
-		systemami plików.
-	</longdescription>
-</catmetadata>
-
diff --git a/sys-fs/mount-zip/Manifest b/sys-fs/mount-zip/Manifest
index d643c6b..7ebd382 100644
--- a/sys-fs/mount-zip/Manifest
+++ b/sys-fs/mount-zip/Manifest
@@ -1 +1 @@
-DIST mount-zip-1.0.5.tar.gz 718383 SHA512 147fc325c0951ebf15e15442e261aa51bc405e86e115da9ff219443b0f233d82ca06bdb053fd434d4894504e56d71c859ad3a8611186be7780de24d6c524bf54
+DIST mount-zip-1.0.6.tar.gz 718395 SHA512 ebeab472b8314fd802bf7a63845b585f9c0f77ee2bafdd41b2dfee40a2805c3e6a87a419f1d57d6291a7f5d05269a19c09a014dbd2c15145ce63c0d47a6f007a
diff --git a/sys-fs/mount-zip/mount-zip-1.0.5-r1.ebuild b/sys-fs/mount-zip/mount-zip-1.0.6-r1.ebuild
similarity index 100%
rename from sys-fs/mount-zip/mount-zip-1.0.5-r1.ebuild
rename to sys-fs/mount-zip/mount-zip-1.0.6-r1.ebuild
diff --git a/sys-fs/rar2fs/files/rar2fs-1.29.5-thread-termination.patch b/sys-fs/rar2fs/files/rar2fs-1.29.5-thread-termination.patch
new file mode 100644
index 0000000..a98e9e6
--- /dev/null
+++ b/sys-fs/rar2fs/files/rar2fs-1.29.5-thread-termination.patch
@@ -0,0 +1,995 @@
+From 2a755d2ce77147c6319d18e7b155a7278398f35b Mon Sep 17 00:00:00 2001
+From: Hans Beckerus <hans.beckerus at gmail.com>
+Date: Mon, 9 Aug 2021 21:08:18 +0200
+Subject: [PATCH] Make sure reader thread is terminated properly
+
+Under some conditions the reader thread responsible for carrying data
+from the child process to the I/O buffer may fail to terminate at close
+and file system thread gets blocked waiting for join to complete.
+Terminate the reader thread using a control message rather then using
+the brute force call to pthread_cancel().
+
+Additional updates made in this patch to increase robustness include:
+  - use of unbuffered- rather than buffered read on pipe
+  - increase size of pipe on systems that allows it
+  - do not try to promote rdlock to wrlock due to the potential race
+    condition
+  - remove some unnecessary initializations
+  - improve code in I/O buffer to make it more readable
+  - set default debug level to 0 (in case of --enable-debug)
+  - use a per session mutex in I/O buffer rather than a global one
+  - perform dry-run extraction outside of child process and before it
+    is spawned
+
+Note that the majority of the changes done as part of this patch only
+affects extraction of compressed (-m1 and above) and/or encrypted archives.
+
+Resolves-issue: #165
+Signed-off-by: Hans Beckerus <hans.beckerus at gmail.com>
+---
+ configure.ac    |   4 +-
+ src/debug.h     |   4 +-
+ src/filecache.h |   4 +-
+ src/iobuffer.c  | 111 ++++++++++------
+ src/iobuffer.h  |  25 ++--
+ src/optdb.c     |   2 +-
+ src/rar2fs.c    | 337 +++++++++++++++++++++++-------------------------
+ 7 files changed, 257 insertions(+), 230 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index bee9255..805be18 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -264,11 +264,11 @@ AC_SUBST(UNRAR_LDFLAGS)
+ enableval=
+ AC_ARG_ENABLE([debug],
+    [AS_HELP_STRING([--enable-debug[[=LEVEL]]],
+-               [enable debug mode [LEVEL=4]])],
++               [enable debug mode [LEVEL=0]])],
+    [], [])
+ if test x"$enableval" != x"no"; then
+    if test x"$enableval" = x"yes"; then
+-       debug_level=4
++       debug_level=0
+    else
+        debug_level=$enableval
+    fi
+diff --git a/src/debug.h b/src/debug.h
+index 30e5ae1..ad9200f 100644
+--- a/src/debug.h
++++ b/src/debug.h
+@@ -36,7 +36,7 @@
+ #define DEBUG_ 5
+ #endif
+ 
+-#if defined ( DEBUG_ )
++#if DEBUG_ > 0
+ #if DEBUG_ > 2
+ #define ELVL_ 2
+ #else
+@@ -51,7 +51,7 @@
+ #define ENTER_(...)
+ #endif
+ 
+-#ifdef DEBUG_
++#if DEBUG_ > 0
+ #define printd(l, fmt, ...) \
+         do{ \
+                 if (l <= DEBUG_) \
+diff --git a/src/filecache.h b/src/filecache.h
+index d413496..b0026b0 100644
+--- a/src/filecache.h
++++ b/src/filecache.h
+@@ -61,7 +61,7 @@ struct filecache_entry {
+                         unsigned int vsize_resolved:1;
+                         unsigned int :21;
+                         unsigned int unresolved:1;
+-                        unsigned int :1;
++                        unsigned int dry_run_done:1;
+                         unsigned int check_atime:1;
+                         unsigned int direct_io:1;
+                         unsigned int avi_tested:1;
+@@ -71,7 +71,7 @@ struct filecache_entry {
+                         unsigned int avi_tested:1;
+                         unsigned int direct_io:1;
+                         unsigned int check_atime:1;
+-                        unsigned int :1;
++                        unsigned int dry_run_done:1;
+                         unsigned int unresolved:1;
+                         unsigned int :21;
+                         unsigned int vsize_resolved:1;
+diff --git a/src/iobuffer.c b/src/iobuffer.c
+index d81f99d..b191f94 100644
+--- a/src/iobuffer.c
++++ b/src/iobuffer.c
+@@ -36,35 +36,31 @@
+ size_t iob_hist_sz = 0;
+ size_t iob_sz = 0;
+ 
+-static pthread_mutex_t io_mutex = PTHREAD_MUTEX_INITIALIZER;
+-
+-#define SPACE_LEFT(ri, wi) (IOB_SZ - SPACE_USED((ri), (wi)))
++/* -1 to avoid wi = ri */
++#define SPACE_LEFT(ri, wi) ((IOB_SZ - SPACE_USED((ri), (wi))) - IOB_HIST_SZ - 1)
+ #define SPACE_USED(ri, wi) (((wi) - (ri)) & (IOB_SZ-1))
+ 
+ /*!
+  *****************************************************************************
+  *
+  ****************************************************************************/
+-size_t iob_write(struct iob *dest, FILE *fp, int hist)
++size_t iob_write(struct iob *iob, int fd)
+ {
+         unsigned tot = 0;
+-        pthread_mutex_lock(&io_mutex);
+-        unsigned int lwi = dest->wi;  /* read once */
+-        unsigned int lri = dest->ri;  
+-        pthread_mutex_unlock(&io_mutex);
+-        size_t left = SPACE_LEFT(lri, lwi) - 1;   /* -1 to avoid wi = ri */
+-        if (IOB_HIST_SZ && hist == IOB_SAVE_HIST) {
+-                left = left > IOB_HIST_SZ ? left - IOB_HIST_SZ : 0;
+-                if (!left) {
+-                        return 0; /* quick exit */
+-                }
+-        }
++        pthread_mutex_lock(&iob->lock);
++        unsigned int lwi = iob->wi;  /* read once */
++        unsigned int lri = iob->ri;
++        pthread_mutex_unlock(&iob->lock);
++        size_t left = SPACE_LEFT(lri, lwi);
++        if (!left)
++                return 0; /* quick exit */
++
+         unsigned int chunk = IOB_SZ - lwi;   /* assume one large chunk */
+         chunk = chunk < left ? chunk : left; /* reconsider assumption */
+         while (left > 0) {
+-                size_t n = fread(dest->data_p + lwi, 1, chunk, fp);
++                ssize_t n = read(fd, iob->data_p + lwi, chunk);
+                 if (n != chunk) {
+-                        if (ferror(fp)) {
++                        if (n < 0) {
+                                 perror("read");
+                                 break;
+                         }
+@@ -77,12 +73,12 @@ size_t iob_write(struct iob *dest, FILE *fp, int hist)
+                 chunk -= n;
+                 chunk = !chunk ? left : chunk;
+         }
+-        pthread_mutex_lock(&io_mutex);
+-        dest->wi = lwi;
+-        dest->used = SPACE_USED(dest->ri, lwi); /* dest->ri might have changed */
+-        pthread_mutex_unlock(&io_mutex);
++        pthread_mutex_lock(&iob->lock);
++        iob->wi = lwi;
++        iob->used = SPACE_USED(iob->ri, lwi); /* iob->ri might have changed */
++        pthread_mutex_unlock(&iob->lock);
+         MB();
+-        dest->offset += tot;
++        iob->offset += tot;
+ 
+         return tot;
+ }
+@@ -91,13 +87,13 @@ size_t iob_write(struct iob *dest, FILE *fp, int hist)
+  *****************************************************************************
+  *
+  ****************************************************************************/
+-size_t iob_read(char *dest, struct iob *src, size_t size, size_t off)
++size_t iob_read(char *dest, struct iob *iob, size_t size, size_t off)
+ {
+         size_t tot = 0;
+-        pthread_mutex_lock(&io_mutex);
+-        unsigned int lri = src->ri; /* read once */
+-        size_t used = src->used;
+-        pthread_mutex_unlock(&io_mutex);
++        pthread_mutex_lock(&iob->lock);
++        unsigned int lri = iob->ri; /* read once */
++        size_t used = iob->used;
++        pthread_mutex_unlock(&iob->lock);
+         if (off) {
+                 /* consume offset */
+                 off = off < used ? off : used;
+@@ -108,17 +104,17 @@ size_t iob_read(char *dest, struct iob *src, size_t size, size_t off)
+         unsigned int chunk = IOB_SZ - lri;   /* assume one large chunk */
+         chunk = chunk < size ? chunk : size; /* reconsider assumption */
+         while (size) {
+-                memcpy(dest, src->data_p + lri, chunk);
++                memcpy(dest, iob->data_p + lri, chunk);
+                 lri = (lri + chunk) & (IOB_SZ - 1);
+                 tot += chunk;
+                 size -= chunk;
+                 dest += chunk;
+                 chunk = size;
+         }
+-        pthread_mutex_lock(&io_mutex);
+-        src->ri = lri;
+-        src->used -= tot;       /* src->used might have changed */
+-        pthread_mutex_unlock(&io_mutex);
++        pthread_mutex_lock(&iob->lock);
++        iob->ri = lri;
++        iob->used -= tot;       /* iob->used might have changed */
++        pthread_mutex_unlock(&iob->lock);
+ 
+         return tot;
+ }
+@@ -127,21 +123,21 @@ size_t iob_read(char *dest, struct iob *src, size_t size, size_t off)
+  *****************************************************************************
+  *
+  ****************************************************************************/
+-size_t iob_copy(char *dest, struct iob *src, size_t size, size_t pos)
++size_t iob_copy(char *dest, struct iob *iob, size_t size, size_t pos)
+ {
+         size_t tot = 0;
+         unsigned int chunk = IOB_SZ - pos;   /* assume one large chunk */
+         chunk = chunk < size ? chunk : size; /* reconsider assumption */
+-        pthread_mutex_lock(&io_mutex);
++        pthread_mutex_lock(&iob->lock);
+         while (size) {
+-                memcpy(dest, src->data_p + pos, chunk);
++                memcpy(dest, iob->data_p + pos, chunk);
+                 pos = (pos + chunk) & (IOB_SZ - 1);
+                 tot += chunk;
+                 size -= chunk;
+                 dest += chunk;
+                 chunk = size;
+         }
+-        pthread_mutex_unlock(&io_mutex);
++        pthread_mutex_unlock(&iob->lock);
+         return tot;
+ }
+ 
+@@ -165,3 +161,46 @@ void iob_destroy()
+ {
+ }
+ 
++/*!
++ *****************************************************************************
++ *
++ ****************************************************************************/
++struct iob *iob_alloc(size_t size)
++{
++        struct iob *iob;
++
++        iob = calloc(1, size);
++        if (!iob)
++                return NULL;
++
++        pthread_mutex_init(&iob->lock, NULL);
++        pthread_mutex_init(&iob->io_lock, NULL);
++
++        return iob;
++}
++
++/*!
++ *****************************************************************************
++ *
++ ****************************************************************************/
++void iob_free(struct iob *iob)
++{
++        if (iob) {
++                pthread_mutex_destroy(&iob->lock);
++                pthread_mutex_destroy(&iob->io_lock);
++                free(iob);
++        }
++}
++
++/*!
++ *****************************************************************************
++ *
++ ****************************************************************************/
++int iob_full(struct iob *iob)
++{
++        int res;
++        pthread_mutex_lock(&iob->lock);
++        res = !SPACE_LEFT(iob->ri, iob->wi);
++        pthread_mutex_unlock(&iob->lock);
++        return res;
++}
+diff --git a/src/iobuffer.h b/src/iobuffer.h
+index cdcd3ab..2558361 100644
+--- a/src/iobuffer.h
++++ b/src/iobuffer.h
+@@ -35,17 +35,12 @@
+ #define IOB_SZ_DEFAULT           (4 * 1024 * 1024)
+ #ifdef USE_STATIC_IOB_
+ #define IOB_SZ                   IOB_SZ_DEFAULT
+-#define IOB_HIST_SZ              (IOB_SZ/2)
++#define IOB_HIST_SZ              (IOB_SZ / 2)
+ #else
+ #define IOB_SZ                   (iob_sz)
+ #define IOB_HIST_SZ              (iob_hist_sz)
+ #endif
+ 
+-#define IOB_NO_HIST 0
+-#define IOB_SAVE_HIST 1
+-
+-#define IOB_RST(b)  (memset((b), 0, sizeof(struct iob) + IOB_SZ))
+-
+ struct idx_info {
+         int fd;
+         int mmap;
+@@ -53,22 +48,25 @@ struct idx_info {
+ };
+ 
+ struct iob {
++        int fd;
+         struct idx_info idx;
+         off_t offset;
+         volatile size_t ri;
+         volatile size_t wi;
+         size_t used;
++        pthread_mutex_t lock;
++        pthread_mutex_t io_lock;
+         uint8_t data_p[];
+ };
+ 
+ size_t
+-iob_write(struct iob *dest, FILE *fp, int hist);
++iob_write(struct iob *iob, int fd);
+ 
+ size_t
+-iob_read(char *dest, struct iob *src, size_t size, size_t off);
++iob_read(char *dest, struct iob *iob, size_t size, size_t off);
+ 
+ size_t
+-iob_copy(char *dest, struct iob *src, size_t size, size_t pos);
++iob_copy(char *dest, struct iob *iob, size_t size, size_t pos);
+ 
+ extern size_t iob_hist_sz;
+ extern size_t iob_sz;
+@@ -79,5 +77,14 @@ iob_init();
+ void
+ iob_destroy();
+ 
++struct iob *
++iob_alloc(size_t size);
++
++void
++iob_free(struct iob *iob);
++
++int
++iob_full(struct iob *iob);
++
+ #endif
+ 
+diff --git a/src/optdb.c b/src/optdb.c
+index f86f5d4..51e63a6 100644
+--- a/src/optdb.c
++++ b/src/optdb.c
+@@ -174,7 +174,7 @@ int optdb_save(int opt, const char *s)
+         if (s1)
+                 free(s1);
+ 
+-#ifdef DEBUG_
++#if DEBUG_ > 0
+         {
+                 int i;
+                 printd(5, "option %d : ", opt);
+diff --git a/src/rar2fs.c b/src/rar2fs.c
+index 1d97d8a..3703206 100644
+--- a/src/rar2fs.c
++++ b/src/rar2fs.c
+@@ -78,10 +78,10 @@
+ #define MOUNT_ARCHIVE 1
+ 
+ #define RD_IDLE 0
+-#define RD_WAKEUP 1
++#define RD_TERM 1
+ #define RD_SYNC_NOREAD 2
+ #define RD_SYNC_READ 3
+-#define RD_READ_ASYNC 4
++#define RD_ASYNC_READ 4
+ 
+ /*#define DEBUG_READ*/
+ 
+@@ -92,6 +92,7 @@ struct volume_handle {
+ 
+ struct io_context {
+         FILE* fp;
++        int pfd[2];
+         off_t pos;
+         struct iob *buf;
+         pid_t pid;
+@@ -127,7 +128,6 @@ struct io_handle {
+         char *path;                             /* type = all */
+ };
+ 
+-#define FH_ZERO(fh)            ((fh) = 0)
+ #define FH_ISSET(fh)           (fh)
+ #define FH_SETCONTEXT(fh, v)   (FH_TOIO(fh)->u.context = (v))
+ #define FH_SETFD(fh, v)        (FH_TOIO(fh)->u.fd = (v))
+@@ -393,8 +393,10 @@ static int __wait_thread(struct io_context *op)
+ static int __wake_thread(struct io_context *op, int req)
+ {
+         pthread_mutex_lock(&op->rd_req_mutex);
+-        while (op->rd_req) /* sync */
+-                pthread_cond_wait(&op->rd_req_cond, &op->rd_req_mutex);
++        if (req != RD_ASYNC_READ) {
++                while (op->rd_req) /* sync */
++                        pthread_cond_wait(&op->rd_req_cond, &op->rd_req_mutex);
++        }
+         op->rd_req = req;
+         pthread_cond_signal(&op->rd_req_cond);
+         pthread_mutex_unlock(&op->rd_req_mutex);
+@@ -637,8 +639,7 @@ static struct filecache_entry *path_lookup_miss(const char *path, struct stat *s
+ 
+ /*!
+  *****************************************************************************
+- * This function must always be called with an aquired rdlock but never
+- * a wrlock. It is however possible that the rdlock is promoted to a wrlock.
++ * This function must always be called with an aquired wrlock.
+  ****************************************************************************/
+ static struct filecache_entry *path_lookup(const char *path, struct stat *stbuf)
+ {
+@@ -652,8 +653,6 @@ static struct filecache_entry *path_lookup(const char *path, struct stat *stbuf)
+         e_p = path_lookup_miss(path, stbuf);
+         if (!e_p) {
+                 if (e2_p && e2_p->flags.unresolved) {
+-                        pthread_rwlock_unlock(&file_access_lock);
+-                        pthread_rwlock_wrlock(&file_access_lock);
+                         e2_p->flags.unresolved = 0;
+                         if (stbuf)
+                                 memcpy(stbuf, &e2_p->stat, sizeof(struct stat));
+@@ -701,33 +700,40 @@ static int __stop_child(pid_t pid)
+  *****************************************************************************
+  *
+  ****************************************************************************/
+-static FILE *popen_(const struct filecache_entry *entry_p, pid_t *cpid)
++static int popen_(struct io_context *op, pid_t *cpid, int *pfd)
+ {
+-        int fd = -1;
+-        int pfd[2] = {-1,};
+-
+         pid_t pid;
++        int ret;
++        struct filecache_entry *entry_p = op->entry_p;
++
++        pfd[0] = -1;
++        pfd[1] = -1;
++
++        /* For folder mounts we need to perform an additional dummy
++         * extraction attempt to avoid feeding the file descriptor
++         * with garbage data in case of wrong password or CRC errors. */
++        if (!entry_p->flags.dry_run_done && mount_type == MOUNT_FOLDER) {
++                ret = extract_rar(entry_p->rar_p, entry_p->file_p, NULL);
++                if (ret && ret != ERAR_UNKNOWN)
++                        goto error;
++                entry_p->flags.dry_run_done = 1;
++        }
++
+         if (pipe(pfd) == -1) {
+                 perror("pipe");
+                 goto error;
+         }
++#ifdef F_SETPIPE_SZ
++        /* Increase pipe capacity to some common limit when requested from an
++         * unprivileged process. */
++        fcntl(pfd[0], F_SETPIPE_SZ, 1000000);
++#endif
+ 
+         pid = fork();
+         if (pid == 0) {
+-                int ret = 0;
+                 setpgid(getpid(), 0);
+                 close(pfd[0]);  /* Close unused read end */
+-                /* For folder mounts we need to perform an additional dummy
+-                 * extraction attempt to avoid feeding the file descriptor
+-                 * with garbage data in case of wrong password or CRC errors. */
+-                if (mount_type == MOUNT_FOLDER)
+-                        ret = extract_rar(entry_p->rar_p,
+-                                          entry_p->file_p,
+-                                          NULL);
+-                if (!ret || ret == ERAR_UNKNOWN)
+-                        ret = extract_rar(entry_p->rar_p,
+-                                          entry_p->file_p,
+-                                          (void *)(uintptr_t)pfd[1]);
++                ret = extract_rar(entry_p->rar_p, entry_p->file_p, op);
+                 close(pfd[1]);
+                 _exit(ret);
+         } else if (pid < 0) {
+@@ -738,27 +744,28 @@ static FILE *popen_(const struct filecache_entry *entry_p, pid_t *cpid)
+         /* This is the parent process. */
+         close(pfd[1]);          /* Close unused write end */
+         *cpid = pid;
+-        return fdopen(pfd[0], "r");
++        return pfd[0];
+ 
+ error:
+-        if (fd >= 0)
+-                close(fd);
+         if (pfd[0] >= 0)
+                 close(pfd[0]);
+         if (pfd[1] >= 0)
+                 close(pfd[1]);
+ 
+-        return NULL;
++        return -1;
+ }
+ 
+ /*!
+  *****************************************************************************
+  *
+  ****************************************************************************/
+-static int pclose_(FILE *fp, pid_t pid)
++static int pclose_(struct io_context *op)
+ {
+-        fclose(fp);
+-        return __stop_child(pid);
++        if (op->pfd[0] != -1) {
++                close(op->pfd[0]);
++                op->pfd[0] = -1;
++        }
++        return __stop_child(op->pid);
+ }
+ 
+ /* Size of file in first volume number in which it exists */
+@@ -1508,10 +1515,11 @@ static int lread_rar(char *buf, size_t size, off_t offset,
+                 if (sync_thread_read(op))
+                         return -EIO;
+                 /* If there is still no data assume something went wrong.
+-                 * Most likely CRC errors or an invalid password in the case 
+-                 * of encrypted aechives.
++                 * I/O buffer might simply be full and cannot receive more
++                 * data or otherwise most likely CRC errors or an invalid
++                 * password in the case of encrypted aechives.
+                  */
+-                if (op->buf->offset == offset_saved)
++                if (op->buf->offset == offset_saved && !iob_full(op->buf))
+                         return -EIO;
+         }
+         if ((off_t)(offset + size) > op->buf->offset) {
+@@ -1550,32 +1558,29 @@ static int lread_rar(char *buf, size_t size, off_t offset,
+                 /* Take control of reader thread */
+                 if (sync_thread_noread(op))
+                         return -EIO;
+-                if (!feof(op->fp) && offset > op->buf->offset) {
++                if (offset > op->buf->offset) {
+                         /* consume buffer */
+                         op->pos += op->buf->used;
+                         op->buf->ri = op->buf->wi;
+                         op->buf->used = 0;
+-                        (void)iob_write(op->buf, op->fp, IOB_SAVE_HIST);
++                        (void)iob_write(op->buf, op->pfd[0]);
+                         sched_yield();
+                 }
+ 
+-                if (!feof(op->fp)) {
+-                        op->buf->ri = offset & (IOB_SZ - 1);
+-                        op->buf->used -= (offset - op->pos);
+-                        op->pos = offset;
++                op->buf->ri = offset & (IOB_SZ - 1);
++                op->buf->used -= (offset - op->pos);
++                op->pos = offset;
+ 
+-                        /* Pull in rest of data if needed */
+-                        if ((size_t)(op->buf->offset - offset) < size)
+-                                (void)iob_write(op->buf, op->fp,
+-                                                IOB_SAVE_HIST);
+-                }
++                /* Pull in rest of data if needed */
++                if ((size_t)(op->buf->offset - offset) < size)
++                        (void)iob_write(op->buf, op->pfd[0]);
+         }
+ 
+         if (size) {
+                 int off = offset - op->pos;
+                 n += iob_read(buf, op->buf, size, off);
+                 op->pos += (off + size);
+-                if (__wake_thread(op, RD_READ_ASYNC))
++                if (__wake_thread(op, RD_ASYNC_READ))
+                         return -EIO;
+         }
+ 
+@@ -1619,7 +1624,6 @@ static int lrelease(struct fuse_file_info *fi)
+                 close(FH_TOFD(fi->fh));
+         printd(3, "(%05d) %s [0x%-16" PRIx64 "]\n", getpid(), "FREE", fi->fh);
+         free(FH_TOIO(fi->fh));
+-        FH_ZERO(fi->fh);
+         return 0;
+ }
+ 
+@@ -2009,12 +2013,14 @@ static int CALLBACK extract_callback(UINT msg, LPARAM UserData,
+                 LPARAM P1, LPARAM P2)
+ {
+         struct extract_cb_arg *cb_arg = (struct extract_cb_arg *)(UserData);
++        struct io_context *op = cb_arg->arg;
++        int ret;
+ 
+         if (msg == UCM_PROCESSDATA) {
+                 /* Handle the special case when asking for a quick "dry run"
+                  * to test archive integrity. If all is well this will result
+                  * in an ERAR_UNKNOWN error. */
+-                if (!cb_arg->arg) {
++                if (!op) {
+                         if (!cb_arg->dry_run) {
+                                 cb_arg->dry_run = 1;
+                                 return 1;
+@@ -2026,7 +2032,8 @@ static int CALLBACK extract_callback(UINT msg, LPARAM UserData,
+                  * written after return from write() since the pipe is not
+                  * opened using the O_NONBLOCK flag.
+                  */
+-                if (write((LPARAM)cb_arg->arg, (void *)P1, P2) == -1) {
++                ret = write(op->pfd[1], (void *)P1, P2);
++                if (ret == -1) {
+                         /*
+                          * Do not treat EPIPE as an error. It is the normal
+                          * case when the process is terminted, ie. the pipe is
+@@ -2094,10 +2101,8 @@ static int extract_rar(char *arch, const char *file, void *arg)
+         }
+ 
+ extract_error:
+-
+         if (hdl)
+                 RARCloseArchive(hdl);
+-
+         return ret;
+ }
+ 
+@@ -3196,7 +3201,7 @@ static int rar2_getattr(const char *path, struct stat *stbuf)
+ 
+         struct filecache_entry *entry_p;
+ 
+-        pthread_rwlock_rdlock(&file_access_lock);
++        pthread_rwlock_wrlock(&file_access_lock);
+         entry_p = path_lookup(path, stbuf);
+         if (entry_p) {
+                 if (entry_p != LOOP_FS_ENTRY) {
+@@ -3226,7 +3231,7 @@ static int rar2_getattr(const char *path, struct stat *stbuf)
+         }
+         free(tmp);
+ 
+-        pthread_rwlock_rdlock(&file_access_lock);
++        pthread_rwlock_wrlock(&file_access_lock);
+         entry_p = path_lookup(path, stbuf);
+         if (entry_p) {
+                 pthread_rwlock_unlock(&file_access_lock);
+@@ -3274,7 +3279,7 @@ static int rar2_getattr2(const char *path, struct stat *stbuf)
+ 
+         int res;
+ 
+-        pthread_rwlock_rdlock(&file_access_lock);
++        pthread_rwlock_wrlock(&file_access_lock);
+         if (path_lookup(path, stbuf)) {
+                 pthread_rwlock_unlock(&file_access_lock);
+                 dump_stat(stbuf);
+@@ -3292,7 +3297,7 @@ static int rar2_getattr2(const char *path, struct stat *stbuf)
+         if (res)
+                 return res;
+ 
+-        pthread_rwlock_rdlock(&file_access_lock);
++        pthread_rwlock_wrlock(&file_access_lock);
+         struct filecache_entry *entry_p = path_lookup(path, stbuf);
+         if (entry_p) {
+                 pthread_rwlock_unlock(&file_access_lock);
+@@ -3639,7 +3644,6 @@ static int rar2_releasedir2(const char *path, struct fuse_file_info *fi)
+                 return -EIO;
+         free(FH_TOPATH(fi->fh));
+         free(FH_TOIO(fi->fh));
+-        FH_ZERO(fi->fh);
+         return 0;
+ }
+ 
+@@ -3662,7 +3666,6 @@ static int rar2_releasedir(const char *path, struct fuse_file_info *fi)
+                 closedir(dp);
+         free(FH_TOPATH(fi->fh));
+         free(FH_TOIO(fi->fh));
+-        FH_ZERO(fi->fh);
+         return 0;
+ }
+ 
+@@ -3692,23 +3695,23 @@ static void *reader_task(void *arg)
+                                 }
+                                 goto restart;
+                         }
+-                        continue;
+                 }
+                 req = op->rd_req;
+                 pthread_mutex_unlock(&op->rd_req_mutex);
+ 
+-                printd(4, "Reader thread wakeup (fp:%p)\n", op->fp);
+-                if (req > RD_SYNC_NOREAD && !feof(op->fp))
+-                        (void)iob_write(op->buf, op->fp, IOB_SAVE_HIST);
+-
++                if (req == RD_TERM)
++                        goto out;
++                printd(4, "Reader thread wakeup (fd:%d)\n", op->pfd[0]);
++                if (req > RD_SYNC_NOREAD)
++                        (void)iob_write(op->buf, op->pfd[0]);
+                 pthread_mutex_lock(&op->rd_req_mutex);
+                 op->rd_req = RD_IDLE;
+-                pthread_cond_broadcast(&op->rd_req_cond); /* sync */
++                pthread_cond_signal(&op->rd_req_cond); /* sync */
+                 pthread_mutex_unlock(&op->rd_req_mutex);
+         }
+ 
+ out:
+-        printd(4, "Reader thread stopped (fp:%p)\n", op->fp);
++        printd(4, "Reader thread stopped (fd:%d)\n", op->pfd[0]);
+         return NULL;
+ }
+ 
+@@ -3914,7 +3917,7 @@ static int rar2_open(const char *path, struct fuse_file_info *fi)
+         fi->flags &= ~(O_CREAT | O_EXCL);
+ #endif
+         errno = 0;
+-        pthread_rwlock_rdlock(&file_access_lock);
++        pthread_rwlock_wrlock(&file_access_lock);
+         entry_p = path_lookup(path, NULL);
+ 
+         if (entry_p == NULL) {
+@@ -3986,7 +3989,7 @@ static int rar2_open(const char *path, struct fuse_file_info *fi)
+                 if (entry_p->flags.raw) {
+                         fp = fopen(entry_p->rar_p, "r");
+                         if (fp != NULL) {
+-                                io = malloc(sizeof(struct io_handle));
++                                io = calloc(1, sizeof(struct io_handle));
+                                 op = calloc(1, sizeof(struct io_context));
+                                 if (!op || !io)
+                                         goto open_error;
+@@ -3997,11 +4000,6 @@ static int rar2_open(const char *path, struct fuse_file_info *fi)
+                                 printd(3, "(%05d) %-8s%s [%-16p]\n", getpid(), "ALLOC", path, FH_TOCONTEXT(fi->fh));
+                                 pthread_mutex_init(&op->raw_read_mutex, NULL);
+                                 op->fp = fp;
+-                                op->pid = 0;
+-                                op->seq = 0;
+-                                op->buf = NULL;
+-                                op->entry_p = NULL;
+-                                op->pos = 0;
+                                 op->vno = -1;   /* force a miss 1:st time */
+ 
+                                 /*
+@@ -4012,7 +4010,7 @@ static int rar2_open(const char *path, struct fuse_file_info *fi)
+                                  * Since the file contents will never change this should save
+                                  * us from some user space calls!
+                                  */
+-#if 0 /* disable for now (issue #66) */
++#if 1 /* disable for now (issue #66) */
+                                 fi->keep_cache = 1;
+ #endif
+ 
+@@ -4029,114 +4027,103 @@ static int rar2_open(const char *path, struct fuse_file_info *fi)
+                         goto open_error;
+                 }
+ 
+-                buf = malloc(P_ALIGN_(sizeof(struct iob) + IOB_SZ));
++                buf = iob_alloc(P_ALIGN_(sizeof(struct iob) + IOB_SZ));
+                 if (!buf)
+                         goto open_error;
+-                IOB_RST(buf);
+ 
+-                io = malloc(sizeof(struct io_handle));
++                io = calloc(1, sizeof(struct io_handle));
+                 op = calloc(1, sizeof(struct io_context));
+                 if (!op || !io)
+                         goto open_error;
+                 op->buf = buf;
+-                op->entry_p = NULL;
+ 
+-                /* Open PIPE(s) and create child process */
+-                fp = popen_(entry_p, &pid);
+-                if (fp != NULL) {
+-                        FH_SETIO(fi->fh, io);
+-                        FH_SETTYPE(fi->fh, IO_TYPE_RAR);
+-                        FH_SETCONTEXT(fi->fh, op);
+-                        printd(3, "(%05d) %-8s%s [%-16p]\n", getpid(), "ALLOC",
+-                                                path, FH_TOCONTEXT(fi->fh));
+-                        op->seq = 0;
+-                        op->pos = 0;
+-                        op->fp = fp;
+-                        op->pid = pid;
+-                        printd(4, "PIPE %p created towards child %d\n",
+-                                                op->fp, pid);
+-
+-                        pthread_mutex_init(&op->rd_req_mutex, NULL);
+-                        pthread_cond_init(&op->rd_req_cond, NULL);
+-                        op->rd_req = RD_IDLE;
++                FH_SETIO(fi->fh, io);
++                FH_SETTYPE(fi->fh, IO_TYPE_RAR);
++                FH_SETCONTEXT(fi->fh, op);
++                printd(3, "(%05d) %-8s%s [%-16p]\n", getpid(), "ALLOC",
++                                        path, FH_TOCONTEXT(fi->fh));
+ 
+-                        /*
+-                         * The below will take precedence over keep_cache.
+-                         * This flag will allow the filesystem to bypass the page cache using
+-                         * the "direct_io" flag.  This is not the same as O_DIRECT, it's
+-                         * dictated by the filesystem not the application.
+-                         * Since compressed archives might sometimes require fake data to be
+-                         * returned in read requests, a cache might cause the same faulty
+-                         * information to be propagated to sub-sequent reads. Setting this
+-                         * flag will force _all_ reads to enter the filesystem.
+-                         */
++                pthread_mutex_init(&op->rd_req_mutex, NULL);
++                pthread_cond_init(&op->rd_req_cond, NULL);
++                op->rd_req = RD_IDLE;
++                fi->keep_cache = 0;
++
++                /*
++                 * The below will take precedence over keep_cache.
++                 * This flag will allow the filesystem to bypass the page cache using
++                 * the "direct_io" flag.  This is not the same as O_DIRECT, it's
++                 * dictated by the filesystem not the application.
++                 * Since compressed archives might sometimes require fake data to be
++                 * returned in read requests, a cache might cause the same faulty
++                 * information to be propagated to sub-sequent reads. Setting this
++                 * flag will force _all_ reads to enter the filesystem.
++                 */
+ #if 0 /* disable for now */
+-                        if (entry_p->flags.direct_io)
+-                                fi->direct_io = 1;
++                if (entry_p->flags.direct_io)
++                        fi->direct_io = 1;
+ #endif
+-
+-                        /* Create reader thread */
+-                        if (pthread_create(&op->thread, &thread_attr, reader_task, (void *)op))
+-                                goto open_error;
+-                        if (sync_thread_noread(op))
+-                                goto open_error;
+-
+-                        /* Promote to a write lock since we might need to
+-                         * change the cache entry below. */
+-			pthread_rwlock_unlock(&file_access_lock);
+-			pthread_rwlock_wrlock(&file_access_lock);
+-
+-                        buf->idx.data_p = MAP_FAILED;
+-                        buf->idx.fd = -1;
+-                        if (!preload_index(buf, path)) {
+-                                entry_p->flags.save_eof = 0;
+-                                entry_p->flags.direct_io = 0;
+-                                fi->direct_io = 0;
+-                        } else {
+-                                /* Was the file removed ? */
+-                                if (get_save_eof(entry_p->rar_p) && !entry_p->flags.save_eof) {
+-                                        entry_p->flags.save_eof = 1;
+-                                        entry_p->flags.avi_tested = 0;
+-                                }
++                buf->idx.data_p = MAP_FAILED;
++                buf->idx.fd = -1;
++                if (!preload_index(buf, path)) {
++                        entry_p->flags.save_eof = 0;
++                        entry_p->flags.direct_io = 0;
++                        fi->direct_io = 0;
++                } else {
++                        /* Was the file removed ? */
++                        if (get_save_eof(entry_p->rar_p) && !entry_p->flags.save_eof) {
++                                entry_p->flags.save_eof = 1;
++                                entry_p->flags.avi_tested = 0;
+                         }
++                }
+ 
+-                        if (entry_p->flags.save_eof && !entry_p->flags.avi_tested) {
+-                                if (check_avi_type(op))
+-                                        entry_p->flags.save_eof = 0;
+-                                entry_p->flags.avi_tested = 1;
+-                        }
++                if (entry_p->flags.save_eof && !entry_p->flags.avi_tested) {
++                        if (check_avi_type(op))
++                                entry_p->flags.save_eof = 0;
++                        entry_p->flags.avi_tested = 1;
++                }
+ 
+ #ifdef DEBUG_READ
+-                        char out_file[32];
+-                        sprintf(out_file, "%s.%d", "output", pid);
+-                        op->dbg_fp = fopen(out_file, "w");
++                char out_file[32];
++                sprintf(out_file, "%s.%d", "output", pid);
++                op->dbg_fp = fopen(out_file, "w");
+ #endif
+-                        /*
+-                         * Make sure cache entry is filled in completely
+-                         * before cloning it
+-                         */
+-                        op->entry_p = filecache_clone(entry_p);
+-                        if (!op->entry_p)
+-                                goto open_error;
+-                        goto open_end;
+-                }
++                /*
++                 * Make sure cache entry is filled in completely
++                 * before cloning it
++                 */
++                op->entry_p = filecache_clone(entry_p);
++                if (!op->entry_p)
++                        goto open_error;
++
++                /* Open PIPE(s) and create child process */
++                if (popen_(op, &pid, op->pfd) == -1)
++                        goto open_error;
++                op->pid = pid;
++                printd(4, "PIPE %d/%d created towards child %u\n",
++                       op->pfd[0], op->pfd[1], pid);
++
++                /* Create reader thread */
++                if (pthread_create(&op->thread, &thread_attr, reader_task, (void *)op))
++                        goto open_error;
++                if (sync_thread_read(op))
++                        goto open_error;
++
++                goto open_end;
+         }
+ 
+ open_error:
+         pthread_rwlock_unlock(&file_access_lock);
+-        if (fp) {
+-                if (entry_p->flags.raw)
+-                        fclose(fp);
+-                else
+-                        pclose_(fp, pid);
+-        }
++        if (fp && entry_p->flags.raw)
++                fclose(fp);
+ 	free(io);
+         if (op) {
+                 if (op->entry_p)
+                         filecache_freeclone(op->entry_p);
++                if (op->pid)
++                        pclose_(op);
+                 free(op);
+         }
+-        free(buf);
++        iob_free(buf);
+ 
+         /*
+          * This is the best we can return here. So many different things
+@@ -4526,30 +4513,25 @@ static int rar2_release(const char *path, struct fuse_file_info *fi)
+                         FH_TOIO(fi->fh)->type == IO_TYPE_RAW) {
+                 struct io_context *op = FH_TOCONTEXT(fi->fh);
+                 free(FH_TOPATH(fi->fh));
+-                if (op->fp) {
+-                        if (op->entry_p->flags.raw) {
+-                                printd(3, "Closing file handle %p\n", op->fp);
+-                                fclose(op->fp);
+-                                pthread_mutex_destroy(&op->raw_read_mutex);
+-                        } else {
+-                                if (!pthread_cancel(op->thread))
+-                                        pthread_join(op->thread, NULL);
+-
+-                                pthread_cond_destroy(&op->rd_req_cond);
+-                                pthread_mutex_destroy(&op->rd_req_mutex);
+-
+-                                if (pclose_(op->fp, op->pid))
+-                                        printd(4, "child closed abnormally\n");
+-                                printd(4, "PIPE %p closed towards child %05d\n",
+-                                               op->fp, op->pid);
+-#ifdef DEBUG_READ
+-                                fclose(op->dbg_fp);
+-#endif
+-                        }
++                if (op->fp && op->entry_p->flags.raw) {
++                        printd(3, "Closing file handle %p\n", op->fp);
++                        fclose(op->fp);
++                        pthread_mutex_destroy(&op->raw_read_mutex);
+                 }
+                 printd(3, "(%05d) %s [0x%-16" PRIx64 "]\n", getpid(), "FREE", fi->fh);
+                 if (op->buf) {
+-                        /* XXX clean up */
++                        __wake_thread(op, RD_TERM);
++                        pthread_join(op->thread, NULL);
++                        pthread_cond_destroy(&op->rd_req_cond);
++                        pthread_mutex_destroy(&op->rd_req_mutex);
++
++                        if (pclose_(op))
++                                printd(4, "child closed abnormally\n");
++                        printd(4, "PIPE %d/%d closed towards child %u\n",
++                               op->pfd[0], op->pfd[1], op->pid);
++#ifdef DEBUG_READ
++                        fclose(op->dbg_fp);
++#endif
+ #ifdef HAVE_MMAP
+                         if (op->buf->idx.data_p != MAP_FAILED &&
+                                         op->buf->idx.mmap)
+@@ -4561,12 +4543,11 @@ static int rar2_release(const char *path, struct fuse_file_info *fi)
+                                 free(op->buf->idx.data_p);
+                         if (op->buf->idx.fd != -1)
+                                 close(op->buf->idx.fd);
+-                        free(op->buf);
++                        iob_free(op->buf);
+                 }
+                 filecache_freeclone(op->entry_p);
+                 free(op);
+                 free(FH_TOIO(fi->fh));
+-                FH_ZERO(fi->fh);
+         } else {
+                 return lrelease(fi);
+         }
diff --git a/sys-fs/rar2fs/rar2fs-1.29.5-r2.ebuild b/sys-fs/rar2fs/rar2fs-1.29.5-r2.ebuild
deleted file mode 100644
index 9ff137c..0000000
--- a/sys-fs/rar2fs/rar2fs-1.29.5-r2.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="A FUSE based filesystem that can mount one or multiple RAR archive(s)"
-HOMEPAGE="https://hasse69.github.io/rar2fs/ https://github.com/hasse69/rar2fs"
-SRC_URI="https://github.com/hasse69/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="*"
-IUSE="debug"
-
-# Note that upstream unrar sometimes breaks ABI without updating the SONAME
-# version so try rebuilding rar2fs if it doesn't work following an unrar
-# upgrade.
-RDEPEND=">=app-arch/unrar-5:=
-	sys-fs/fuse:0"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-1.29.5-directory-cache-invalidation.patch"
-	"${FILESDIR}/${PN}-1.29.5-fix-crash-in-collect-files.patch"
-	"${FILESDIR}/${PN}-1.29.5-password-from-stdin.patch"
-	"${FILESDIR}/${PN}-1.29.5-no-archive-path-on-stdout.patch"
-)
-
-src_prepare() {
-	default
-	eautoreconf
-}
-
-src_configure() {
-	export USER_CFLAGS="${CFLAGS}"
-
-	econf \
-		--with-unrar="${ESYSROOT}"/usr/include/libunrar \
-		--disable-static-unrar \
-		$(use_enable debug)
-}
diff --git a/sys-fs/rar2fs/rar2fs-1.29.5-r3.ebuild b/sys-fs/rar2fs/rar2fs-1.29.5-r3.ebuild
new file mode 100644
index 0000000..cdad7f7
--- /dev/null
+++ b/sys-fs/rar2fs/rar2fs-1.29.5-r3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="A FUSE based filesystem that can mount one or multiple RAR archive(s)"
+HOMEPAGE="https://hasse69.github.io/rar2fs/ https://github.com/hasse69/rar2fs"
+SRC_URI="https://github.com/hasse69/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="*"
+IUSE="debug"
+
+# Note that upstream unrar sometimes breaks ABI without updating the SONAME
+# version so try rebuilding rar2fs if it doesn't work following an unrar
+# upgrade.
+RDEPEND=">=app-arch/unrar-5:=
+	sys-fs/fuse:0"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-1.29.5-directory-cache-invalidation.patch"
+	"${FILESDIR}/${PN}-1.29.5-fix-crash-in-collect-files.patch"
+	"${FILESDIR}/${PN}-1.29.5-password-from-stdin.patch"
+	"${FILESDIR}/${PN}-1.29.5-no-archive-path-on-stdout.patch"
+	"${FILESDIR}/${PN}-1.29.5-thread-termination.patch"
+)
+
+src_prepare() {
+	default
+	eautoreconf
+}
+
+src_configure() {
+	export USER_CFLAGS="${CFLAGS}"
+
+	econf \
+		--with-unrar="${ESYSROOT}"/usr/include/libunrar \
+		--disable-static-unrar \
+		$(use_enable debug)
+}
diff --git a/sys-fs/udev/files/udev-225-systemd-size_t.patch b/sys-fs/udev/files/udev-225-systemd-size_t.patch
new file mode 100644
index 0000000..f0ba808
--- /dev/null
+++ b/sys-fs/udev/files/udev-225-systemd-size_t.patch
@@ -0,0 +1,260 @@
+From c9f7b4d356a453a01aa77a6bb74ca7ef49732c08 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppymaster@gmail.com>
+Date: Tue, 10 Jan 2017 02:39:05 -0500
+Subject: [PATCH] build-sys: add check for gperf lookup function signature
+ (#5055)
+
+gperf-3.1 generates lookup functions that take a size_t length
+parameter instead of unsigned int. Test for this at configure time.
+
+Fixes: https://github.com/systemd/systemd/issues/5039
+---
+ configure.ac                     | 22 ++++++++++++++++++++++
+ src/basic/af-list.c              |  2 +-
+ src/basic/arphrd-list.c          |  2 +-
+ src/basic/cap-list.c             |  2 +-
+ src/basic/errno-list.c           |  2 +-
+ src/core/load-fragment.h         |  2 +-
+ src/journal/journald-server.h    |  2 +-
+ src/login/logind.h               |  2 +-
+ src/network/netdev/netdev.h      |  2 +-
+ src/network/networkd-conf.h      |  2 +-
+ src/network/networkd-network.h   |  2 +-
+ src/nspawn/nspawn-settings.h     |  2 +-
+ src/resolve/dns-type.c           |  2 +-
+ src/resolve/resolved-conf.h      |  2 +-
+ src/test/test-af-list.c          |  2 +-
+ src/test/test-arphrd-list.c      |  2 +-
+ src/timesync/timesyncd-conf.h    |  2 +-
+ src/udev/net/link-config.h       |  2 +-
+ src/udev/udev-builtin-keyboard.c |  2 +-
+ 19 files changed, 40 insertions(+), 18 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index d9ab362..64c4f6b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -242,6 +242,28 @@ AC_CHECK_SIZEOF(rlim_t,,[
+        #include <sys/resource.h>
+ ])
+ 
++GPERF_TEST="$(echo foo,bar | ${GPERF} -L ANSI-C)"
++
++AC_COMPILE_IFELSE(
++        [AC_LANG_PROGRAM([
++                #include <string.h>
++                const char * in_word_set(const char *, size_t);
++                $GPERF_TEST]
++        )],
++        [GPERF_LEN_TYPE=size_t],
++        [AC_COMPILE_IFELSE(
++                [AC_LANG_PROGRAM([
++                        #include <string.h>
++                        const char * in_word_set(const char *, unsigned);
++                        $GPERF_TEST]
++                )],
++                [GPERF_LEN_TYPE=unsigned],
++                [AC_MSG_ERROR([** unable to determine gperf len type])]
++        )]
++)
++
++AC_DEFINE_UNQUOTED([GPERF_LEN_TYPE], [$GPERF_LEN_TYPE], [gperf len type])
++
+ # ------------------------------------------------------------------------------
+ # we use python to build the man page index
+ have_python=no
+diff --git a/src/basic/af-list.c b/src/basic/af-list.c
+index f396115..cbdec82 100644
+--- a/src/basic/af-list.c
++++ b/src/basic/af-list.c
+@@ -25,7 +25,7 @@
+ #include "util.h"
+ #include "af-list.h"
+ 
+-static const struct af_name* lookup_af(register const char *str, register unsigned int len);
++static const struct af_name* lookup_af(register const char *str, register GPERF_LEN_TYPE len);
+ 
+ #include "af-to-name.h"
+ #include "af-from-name.h"
+diff --git a/src/basic/arphrd-list.c b/src/basic/arphrd-list.c
+index 284043c..edabe4f 100644
+--- a/src/basic/arphrd-list.c
++++ b/src/basic/arphrd-list.c
+@@ -25,7 +25,7 @@
+ #include "util.h"
+ #include "arphrd-list.h"
+ 
+-static const struct arphrd_name* lookup_arphrd(register const char *str, register unsigned int len);
++static const struct arphrd_name* lookup_arphrd(register const char *str, register GPERF_LEN_TYPE len);
+ 
+ #include "arphrd-to-name.h"
+ #include "arphrd-from-name.h"
+diff --git a/src/basic/cap-list.c b/src/basic/cap-list.c
+index bd5bffb..f27cb73 100644
+--- a/src/basic/cap-list.c
++++ b/src/basic/cap-list.c
+@@ -25,7 +25,7 @@
+ #include "cap-list.h"
+ #include "missing.h"
+ 
+-static const struct capability_name* lookup_capability(register const char *str, register unsigned int len);
++static const struct capability_name* lookup_capability(register const char *str, register GPERF_LEN_TYPE len);
+ 
+ #include "cap-to-name.h"
+ #include "cap-from-name.h"
+diff --git a/src/basic/errno-list.c b/src/basic/errno-list.c
+index 34d1331..8001b1d 100644
+--- a/src/basic/errno-list.c
++++ b/src/basic/errno-list.c
+@@ -25,7 +25,7 @@
+ #include "errno-list.h"
+ 
+ static const struct errno_name* lookup_errno(register const char *str,
+-                                                 register unsigned int len);
++                                                 register GPERF_LEN_TYPE len);
+ 
+ #include "errno-to-name.h"
+ #include "errno-from-name.h"
+diff --git a/src/core/load-fragment.h b/src/core/load-fragment.h
+index fcca2b0..6fe345e 100644
+--- a/src/core/load-fragment.h
++++ b/src/core/load-fragment.h
+@@ -107,7 +107,7 @@ int config_parse_bus_name(const char* unit, const char *filename, unsigned line,
+ int config_parse_exec_utmp_mode(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+ 
+ /* gperf prototypes */
+-const struct ConfigPerfItem* load_fragment_gperf_lookup(const char *key, unsigned length);
++const struct ConfigPerfItem* load_fragment_gperf_lookup(const char *key, GPERF_LEN_TYPE length);
+ extern const char load_fragment_gperf_nulstr[];
+ 
+ typedef enum Disabled {
+diff --git a/src/journal/journald-server.h b/src/journal/journald-server.h
+index d954c51..070d4e8 100644
+--- a/src/journal/journald-server.h
++++ b/src/journal/journald-server.h
+@@ -150,7 +150,7 @@ void server_dispatch_message(Server *s, struct iovec *iovec, unsigned n, unsigne
+ void server_driver_message(Server *s, sd_id128_t message_id, const char *format, ...) _printf_(3,4);
+ 
+ /* gperf lookup function */
+-const struct ConfigPerfItem* journald_gperf_lookup(const char *key, unsigned length);
++const struct ConfigPerfItem* journald_gperf_lookup(const char *key, GPERF_LEN_TYPE length);
+ 
+ int config_parse_storage(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+ 
+diff --git a/src/login/logind.h b/src/login/logind.h
+index ce99d75..c75c03e 100644
+--- a/src/login/logind.h
++++ b/src/login/logind.h
+@@ -177,7 +177,7 @@ int manager_unit_is_active(Manager *manager, const char *unit);
+ int manager_job_is_active(Manager *manager, const char *path);
+ 
+ /* gperf lookup function */
+-const struct ConfigPerfItem* logind_gperf_lookup(const char *key, unsigned length);
++const struct ConfigPerfItem* logind_gperf_lookup(const char *key, GPERF_LEN_TYPE length);
+ 
+ int manager_set_lid_switch_ignore(Manager *m, usec_t until);
+ 
+diff --git a/src/network/networkd-netdev.h b/src/network/networkd-netdev.h
+index 19fb5bb..1c4b95b 100644
+--- a/src/network/networkd-netdev.h
++++ b/src/network/networkd-netdev.h
+@@ -200,7 +200,7 @@ NetDevKind netdev_kind_from_string(const char *d) _pure_;
+ int config_parse_netdev_kind(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+ 
+ /* gperf */
+-const struct ConfigPerfItem* network_netdev_gperf_lookup(const char *key, unsigned length);
++const struct ConfigPerfItem* network_netdev_gperf_lookup(const char *key, GPERF_LEN_TYPE length);
+ 
+ /* Macros which append INTERFACE= to the message */
+ 
+diff --git a/src/resolve/dns-type.c b/src/resolve/dns-type.c
+index 63b4b36..057d695 100644
+--- a/src/resolve/dns-type.c
++++ b/src/resolve/dns-type.c
+@@ -27,7 +27,7 @@ typedef const struct {
+ } dns_type;
+ 
+ static const struct dns_type_name *
+-lookup_dns_type (register const char *str, register unsigned int len);
++lookup_dns_type (register const char *str, register GPERF_LEN_TYPE len);
+ 
+ #include "dns_type-from-name.h"
+ #include "dns_type-to-name.h"
+diff --git a/src/resolve/resolved-conf.h b/src/resolve/resolved-conf.h
+index b3dbea7..17b0960 100644
+--- a/src/resolve/resolved-conf.h
++++ b/src/resolve/resolved-conf.h
+@@ -26,7 +26,7 @@
+ int manager_parse_dns_server(Manager *m, DnsServerType type, const char *string);
+ int manager_parse_config_file(Manager *m);
+ 
+-const struct ConfigPerfItem* resolved_gperf_lookup(const char *key, unsigned length);
++const struct ConfigPerfItem* resolved_gperf_lookup(const char *key, GPERF_LEN_TYPE length);
+ 
+ int config_parse_dnsv(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+ int config_parse_support(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+diff --git a/src/test/test-af-list.c b/src/test/test-af-list.c
+index d69104f..a73b05d 100644
+--- a/src/test/test-af-list.c
++++ b/src/test/test-af-list.c
+@@ -23,7 +23,7 @@
+ #include "macro.h"
+ #include "util.h"
+ 
+-static const struct af_name* lookup_af(register const char *str, register unsigned int len);
++static const struct af_name* lookup_af(register const char *str, register GPERF_LEN_TYPE len);
+ 
+ #include "af-list.h"
+ #include "af-to-name.h"
+diff --git a/src/test/test-arphrd-list.c b/src/test/test-arphrd-list.c
+index d7c8eaa..696fbb9 100644
+--- a/src/test/test-arphrd-list.c
++++ b/src/test/test-arphrd-list.c
+@@ -23,7 +23,7 @@
+ #include "macro.h"
+ #include "util.h"
+ 
+-static const struct arphrd_name* lookup_arphrd(register const char *str, register unsigned int len);
++static const struct arphrd_name* lookup_arphrd(register const char *str, register GPERF_LEN_TYPE len);
+ 
+ #include "arphrd-list.h"
+ #include "arphrd-to-name.h"
+diff --git a/src/timesync/timesyncd-conf.h b/src/timesync/timesyncd-conf.h
+index 56466fe..a776475 100644
+--- a/src/timesync/timesyncd-conf.h
++++ b/src/timesync/timesyncd-conf.h
+@@ -25,7 +25,7 @@
+ 
+ #include "timesyncd-manager.h"
+ 
+-const struct ConfigPerfItem* timesyncd_gperf_lookup(const char *key, unsigned length);
++const struct ConfigPerfItem* timesyncd_gperf_lookup(const char *key, GPERF_LEN_TYPE length);
+ 
+ int manager_parse_server_string(Manager *m, ServerType type, const char *string);
+ 
+diff --git a/src/udev/net/link-config.h b/src/udev/net/link-config.h
+index 9875057..9ffc521 100644
+--- a/src/udev/net/link-config.h
++++ b/src/udev/net/link-config.h
+@@ -92,7 +92,7 @@ const char *mac_policy_to_string(MACPolicy p) _const_;
+ MACPolicy mac_policy_from_string(const char *p) _pure_;
+ 
+ /* gperf lookup function */
+-const struct ConfigPerfItem* link_config_gperf_lookup(const char *key, unsigned length);
++const struct ConfigPerfItem* link_config_gperf_lookup(const char *key, GPERF_LEN_TYPE length);
+ 
+ int config_parse_mac_policy(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+ int config_parse_name_policy(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+diff --git a/src/udev/udev-builtin-keyboard.c b/src/udev/udev-builtin-keyboard.c
+index 01f3879..e08a8ad 100644
+--- a/src/udev/udev-builtin-keyboard.c
++++ b/src/udev/udev-builtin-keyboard.c
+@@ -25,7 +25,7 @@
+ 
+ #include "udev.h"
+ 
+-static const struct key *keyboard_lookup_key(const char *str, unsigned len);
++static const struct key *keyboard_lookup_key(const char *str, GPERF_LEN_TYPE len);
+ #include "keyboard-keys-from-name.h"
+ 
+ static int install_force_release(struct udev_device *dev, const unsigned *release, unsigned release_count) {
diff --git a/sys-fs/udev/udev-225-r38.ebuild b/sys-fs/udev/udev-225-r38.ebuild
deleted file mode 100644
index 008f3ff..0000000
--- a/sys-fs/udev/udev-225-r38.ebuild
+++ /dev/null
@@ -1,395 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="7"
-
-inherit autotools bash-completion-r1 eutils multilib multilib-minimal toolchain-funcs udev user
-
-if [[ ${PV} = 9999* ]]; then
-	EGIT_REPO_URI="git://anongit.freedesktop.org/systemd/systemd"
-	inherit git-r3
-else
-	SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> systemd-${PV}.tar.gz"
-	KEYWORDS="*"
-fi
-
-DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
-HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
-
-LICENSE="LGPL-2.1 MIT GPL-2"
-SLOT="0"
-IUSE="acl +kmod openrc selinux static-libs"
-
-RESTRICT="test"
-
-# Force new make >= -r4 to skip some parallel build issues
-BDEPEND="
-	dev-util/gperf
-	>=dev-util/intltool-0.50
-	>=sys-apps/coreutils-8.16
-	virtual/pkgconfig
-	>=sys-devel/make-3.82-r4
-	app-text/docbook-xml-dtd:4.2
-	app-text/docbook-xml-dtd:4.5
-	app-text/docbook-xsl-stylesheets
-	dev-libs/libxslt
-"
-COMMON_DEPEND=">=sys-apps/util-linux-2.24
-	sys-libs/libcap[${MULTILIB_USEDEP}]
-	acl? ( sys-apps/acl )
-	kmod? ( >=sys-apps/kmod-16 )
-	selinux? ( >=sys-libs/libselinux-2.1.9 )
-	!<sys-libs/glibc-2.11
-	!sys-apps/gentoo-systemd-integration
-	!sys-apps/systemd
-	abi_x86_32? (
-		!<=app-emulation/emul-linux-x86-baselibs-20130224-r7
-		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
-	)"
-DEPEND="${COMMON_DEPEND}
-	virtual/os-headers
-	>=sys-kernel/linux-headers-3.9"
-RDEPEND="${COMMON_DEPEND}
-	!<sec-policy/selinux-base-2.20120725-r10"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
-	openrc? ( >=sys-fs/udev-init-scripts-26 )"
-
-S=${WORKDIR}/systemd-${PV}
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-225-50-udev-default.rules-set-default-group-for-mediaX.patch
-	"${FILESDIR}"/${PN}-225-60-persistent-storage.rules-add-nvme-symlinks.patch
-	"${FILESDIR}"/${PN}-225-libudev-util-change-util_replace_whitespace.patch
-	"${FILESDIR}"/${PN}-225-udev-event-add-replace_whitespace-param.patch
-	"${FILESDIR}"/${PN}-225-udev-rules-perform-whitespace-replacement.patch
-	"${FILESDIR}"/${PN}-225-60-persistent-storage.rules-add-nvme-id-model.patch
-	"${FILESDIR}"/${PN}-225-udev-rules-all-values-can-contain-escaped-double-quotes-now.patch
-	"${FILESDIR}"/${PN}-225-udevadm-trigger-add-settle.patch
-	"${FILESDIR}"/${PN}-225-v4l_id-check-mplane-video-capture-and-output-capaili.patch
-	"${FILESDIR}"/${PN}-225-udevadm-hwdb-Return-non-zero-exit-code-on-error.patch
-	"${FILESDIR}"/${PN}-225-sysmacros.patch
-	"${FILESDIR}"/${PN}-225-50-udev-default.rules-set-default-group-for-udmabuf.patch
-	"${FILESDIR}"/${PN}-225-50-udev-default.rules-disable-REMOVE_CMD-support.patch
-	"${FILESDIR}"/${PN}-225-udev-rules-no-slash-run.patch
-	"${FILESDIR}"/${PN}-225-udev-use-interface-before-the-string-that-interface-.patch
-	"${FILESDIR}"/${PN}-225-udev-stop-freeing-value-after-using-it-for-setting-s.patch
-	"${FILESDIR}"/${PN}-225-workaround-renameat-syscall-wrapper-misdetection.patch
-	"${FILESDIR}"/${PN}-225-udevadm-add-ping-option-to-control-command.patch
-	"${FILESDIR}"/${PN}-225-fix-joystick-with-mouse-identification.patch
-	"${FILESDIR}"/${PN}-225-bypass-v4l_id-query-for-mipi-camera-related-dev.patch
-	"${FILESDIR}"/${PN}-225-sd-device-udev-db-handle-properties-with-empty-value.patch
-)
-
-check_default_rules() {
-	# Make sure there are no sudden changes to upstream rules file
-	# (more for my own needs than anything else ...)
-	local udev_rules_md5=870fa6b180bb6b9527905da2cf85e170
-	MD5=$(md5sum < "${S}"/rules/50-udev-default.rules)
-	MD5=${MD5/  -/}
-	if [[ ${MD5} != ${udev_rules_md5} ]]; then
-		eerror "50-udev-default.rules has been updated, please validate!"
-		eerror "md5sum: ${MD5}"
-		die "50-udev-default.rules has been updated, please validate!"
-	fi
-}
-
-src_prepare() {
-	if ! [[ ${PV} = 9999* ]]; then
-		check_default_rules
-
-		# secure_getenv() disable for non-glibc systems wrt bug #443030
-		if ! [[ $(grep -r secure_getenv * | wc -l) -eq 25 ]]; then
-			eerror "The line count for secure_getenv() failed, see bug #443030"
-			die
-		fi
-	fi
-
-	default
-
-	cat <<-EOF > "${T}"/40-gentoo.rules
-	# Gentoo specific floppy and usb groups
-	SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
-	SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
-	EOF
-
-	# change rules back to group uucp instead of dialout for now wrt #454556
-	sed -i -e 's/GROUP="dialout"/GROUP="uucp"/' rules/*.rules || die
-
-	# stub out the am_path_libcrypt function
-	echo 'AC_DEFUN([AM_PATH_LIBGCRYPT],[:])' > m4/gcrypt.m4
-
-	eautoreconf
-
-	# Restore possibility of running --enable-static wrt #472608
-	sed -i \
-		-e '/--enable-static is not supported by systemd/s:as_fn_error:echo:' \
-		configure || die
-
-	if ! use elibc_glibc; then #443030
-		echo '#define secure_getenv(x) NULL' >> config.h.in
-		sed -i -e '/error.*secure_getenv/s:.*:#define secure_getenv(x) NULL:' src/shared/missing.h || die
-	fi
-}
-
-src_configure() {
-	cros_optimize_package_for_speed
-
-	# Prevent conflicts with i686 cross toolchain, bug 559726
-	tc-export AR CC NM OBJCOPY RANLIB
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	tc-export CC #463846
-	export cc_cv_CFLAGS__flto=no #502950
-	export cc_cv_CFLAGS__Werror_shadow=no #554454
-
-	# Keep sorted by ./configure --help and only pass --disable flags
-	# when *required* to avoid external deps or unnecessary compile
-	local econf_args
-	econf_args=(
-		--libdir=/usr/$(get_libdir)
-		--docdir=/usr/share/doc/${PF}
-		$(multilib_native_use_enable static-libs static)
-		--disable-nls
-		--disable-dbus
-		$(multilib_native_use_enable kmod)
-		--disable-xkbcommon
-		--disable-seccomp
-		$(multilib_native_use_enable selinux)
-		--disable-xz
-		--disable-lz4
-		--disable-pam
-		$(multilib_native_use_enable acl)
-		--disable-gcrypt
-		--disable-audit
-		--disable-libcryptsetup
-		--disable-qrencode
-		--disable-microhttpd
-		--disable-gnuefi
-		--disable-gnutls
-		--disable-libcurl
-		--disable-libidn
-		--disable-quotacheck
-		--disable-logind
-		--disable-polkit
-		--disable-myhostname
-		$(multilib_is_native_abi || echo "--disable-manpages")
-		--enable-split-usr
-		--without-python
-		--with-bashcompletiondir="$(get_bashcompdir)"
-		--with-rootprefix=
-		$(multilib_is_native_abi && echo "--with-rootlibdir=/$(get_libdir)")
-		--disable-elfutils
-	)
-
-	if ! multilib_is_native_abi; then
-		econf_args+=(
-			MOUNT_{CFLAGS,LIBS}=' '
-		)
-	fi
-
-	ECONF_SOURCE=${S} econf "${econf_args[@]}"
-}
-
-multilib_src_compile() {
-	echo 'BUILT_SOURCES: $(BUILT_SOURCES)' > "${T}"/Makefile.extra
-	emake -f Makefile -f "${T}"/Makefile.extra BUILT_SOURCES
-
-	# Most of the parallel build problems were solved by >=sys-devel/make-3.82-r4,
-	# but not everything -- separate building of the binaries as a workaround,
-	# which will force internal libraries required for the helpers to be built
-	# early enough, like eg. libsystemd-shared.la
-	if multilib_is_native_abi; then
-		local lib_targets=( libudev.la )
-		emake "${lib_targets[@]}"
-
-		local exec_targets=(
-			systemd-udevd
-			udevadm
-		)
-		emake "${exec_targets[@]}"
-
-		local helper_targets=(
-			ata_id
-			cdrom_id
-			collect
-			scsi_id
-			v4l_id
-			mtd_probe
-		)
-		emake "${helper_targets[@]}"
-
-		local man_targets=(
-			man/udev.conf.5
-			man/systemd.link.5
-			man/udev.7
-			man/systemd-udevd.service.8
-			man/udevadm.8
-		)
-		emake "${man_targets[@]}"
-	else
-		local lib_targets=( libudev.la )
-		emake "${lib_targets[@]}"
-	fi
-}
-
-multilib_src_install() {
-	if multilib_is_native_abi; then
-		local lib_LTLIBRARIES="libudev.la"
-		local pkgconfiglib_DATA="src/libudev/libudev.pc"
-
-		local targets=(
-			install-libLTLIBRARIES
-			install-includeHEADERS
-			install-rootbinPROGRAMS
-			install-rootlibexecPROGRAMS
-			install-udevlibexecPROGRAMS
-			install-dist_udevconfDATA
-			install-dist_udevrulesDATA
-			install-pkgconfiglibDATA
-			install-pkgconfigdataDATA
-			install-dist_docDATA
-			libudev-install-hook
-			install-directories-hook
-			install-dist_bashcompletionDATA
-			install-dist_networkDATA
-		)
-
-		# add final values of variables:
-		targets+=(
-			rootlibexec_PROGRAMS=systemd-udevd
-			rootbin_PROGRAMS=udevadm
-			lib_LTLIBRARIES="${lib_LTLIBRARIES}"
-			pkgconfiglib_DATA="${pkgconfiglib_DATA}"
-			pkgconfigdata_DATA="src/udev/udev.pc"
-			INSTALL_DIRS='$(sysconfdir)/udev/rules.d $(sysconfdir)/udev/hwdb.d $(sysconfdir)/systemd/network'
-			dist_bashcompletion_DATA="shell-completion/bash/udevadm"
-			dist_network_DATA="network/99-default.link"
-		)
-		emake -j1 DESTDIR="${D}" "${targets[@]}"
-		doman man/{udev.conf.5,systemd.link.5,udev.7,systemd-udevd.service.8,udevadm.8}
-	else
-		local lib_LTLIBRARIES="libudev.la"
-		local pkgconfiglib_DATA="src/libudev/libudev.pc"
-		local include_HEADERS="src/libudev/libudev.h"
-
-		local targets=(
-			install-libLTLIBRARIES
-			install-includeHEADERS
-			install-pkgconfiglibDATA
-		)
-
-		targets+=(
-			lib_LTLIBRARIES="${lib_LTLIBRARIES}"
-			pkgconfiglib_DATA="${pkgconfiglib_DATA}"
-			include_HEADERS="${include_HEADERS}"
-			)
-		emake -j1 DESTDIR="${D}" "${targets[@]}"
-	fi
-
-	# Move back to the old path since we filter out */systemd/* from images.
-	dodir /sbin
-	mv "${ED}"/lib/systemd/systemd-udevd "${ED}"/sbin/udevd || die
-}
-
-multilib_src_install_all() {
-	dodoc TODO
-
-	find "${D}"/usr -name '*.la' -delete
-	rm -f "${D}"/lib/udev/rules.d/99-systemd.rules
-	rm -f "${D}"/usr/share/doc/${PF}/{LICENSE.*,GVARIANT-SERIALIZATION,DIFFERENCES,PORTING-DBUS1,sd-shutdown.h}
-
-	# see src_prepare() for content of 40-gentoo.rules
-	insinto /lib/udev/rules.d
-	doins "${T}"/40-gentoo.rules
-
-	# Install ChromeOS-specific rules
-	doins "${FILESDIR}"/91-chromeos-keyboard.rules
-
-	# maintainer note: by not letting the upstream build-sys create the .so
-	# link, you also avoid a parallel make problem
-	mv "${D}"/usr/share/man/man8/systemd-udevd{.service,}.8
-}
-
-pkg_postinst() {
-	mkdir -p "${ROOT%/}"/run
-
-	# "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
-	# So try to remove it here (will only work if empty).
-	rmdir "${ROOT%/}"/dev/loop 2>/dev/null
-	if [[ -d ${ROOT%/}/dev/loop ]]; then
-		ewarn "Please make sure your remove /dev/loop,"
-		ewarn "else losetup may be confused when looking for unused devices."
-	fi
-
-	local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
-	while read -r dev path fstype rest; do
-		if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
-			ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
-			ewarn "filesystem. Otherwise udev won't be able to boot."
-			ewarn "See, https://bugs.gentoo.org/453186"
-		fi
-	done < "${fstab}"
-
-	if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
-		ewarn
-		ewarn "Please re-emerge all packages on your system which install"
-		ewarn "rules and helpers in /usr/lib/udev. They should now be in"
-		ewarn "/lib/udev."
-		ewarn
-		ewarn "One way to do this is to run the following command:"
-		ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
-		ewarn "Note that qfile can be found in app-portage/portage-utils"
-	fi
-
-	local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
-	local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
-	for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
-		if [[ -f ${old_rules} ]]; then
-			ewarn
-			ewarn "File ${old_rules} is from old udev installation but if you still use it,"
-			ewarn "rename it to something else starting with 70- to silence this deprecation"
-			ewarn "warning."
-		fi
-	done
-
-	# If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
-	# do the same for 80-net-setup-link.rules to keep the old behavior
-	local net_move=no
-	local net_name_slot_sym=no
-	local net_rules_path="${ROOT%/}"/etc/udev/rules.d
-	local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
-	local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
-	if [[ ! -e ${net_setup_link} ]]; then
-		[[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
-		if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
-			net_move=yes
-			net_name_slot_sym=yes
-		fi
-	fi
-	if [[ ${net_move} == yes ]]; then
-		ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
-		if [[ ${net_name_slot_sym} == yes ]]; then
-			ln -nfs /dev/null "${net_setup_link}"
-		else
-			cp "${net_name_slot}" "${net_setup_link}"
-		fi
-		eend $?
-	fi
-
-	# https://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
-	# https://bugs.gentoo.org/246847
-	# https://bugs.gentoo.org/514174
-	enewgroup input
-
-	# Update hwdb database in case the format is changed by udev version.
-	if has_version 'sys-apps/hwids[udev]'; then
-		udevadm hwdb --update --root="${ROOT%/}"
-		# Only reload when we are not upgrading to avoid potential race w/ incompatible hwdb.bin and the running udevd
-		# https://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
-		[[ -z ${REPLACING_VERSIONS} ]] && udev_reload
-	fi
-}
diff --git a/sys-fs/udev/udev-225-r39.ebuild b/sys-fs/udev/udev-225-r39.ebuild
new file mode 100644
index 0000000..5e75a63
--- /dev/null
+++ b/sys-fs/udev/udev-225-r39.ebuild
@@ -0,0 +1,396 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="7"
+
+inherit autotools bash-completion-r1 eutils multilib multilib-minimal toolchain-funcs udev user
+
+if [[ ${PV} = 9999* ]]; then
+	EGIT_REPO_URI="git://anongit.freedesktop.org/systemd/systemd"
+	inherit git-r3
+else
+	SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> systemd-${PV}.tar.gz"
+	KEYWORDS="*"
+fi
+
+DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
+HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
+
+LICENSE="LGPL-2.1 MIT GPL-2"
+SLOT="0"
+IUSE="acl +kmod openrc selinux static-libs"
+
+RESTRICT="test"
+
+# Force new make >= -r4 to skip some parallel build issues
+BDEPEND="
+	dev-util/gperf
+	>=dev-util/intltool-0.50
+	>=sys-apps/coreutils-8.16
+	virtual/pkgconfig
+	>=sys-devel/make-3.82-r4
+	app-text/docbook-xml-dtd:4.2
+	app-text/docbook-xml-dtd:4.5
+	app-text/docbook-xsl-stylesheets
+	dev-libs/libxslt
+"
+COMMON_DEPEND=">=sys-apps/util-linux-2.24
+	sys-libs/libcap[${MULTILIB_USEDEP}]
+	acl? ( sys-apps/acl )
+	kmod? ( >=sys-apps/kmod-16 )
+	selinux? ( >=sys-libs/libselinux-2.1.9 )
+	!<sys-libs/glibc-2.11
+	!sys-apps/gentoo-systemd-integration
+	!sys-apps/systemd
+	abi_x86_32? (
+		!<=app-emulation/emul-linux-x86-baselibs-20130224-r7
+		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+	)"
+DEPEND="${COMMON_DEPEND}
+	virtual/os-headers
+	>=sys-kernel/linux-headers-3.9"
+RDEPEND="${COMMON_DEPEND}
+	!<sec-policy/selinux-base-2.20120725-r10"
+PDEPEND=">=sys-apps/hwids-20140304[udev]
+	openrc? ( >=sys-fs/udev-init-scripts-26 )"
+
+S=${WORKDIR}/systemd-${PV}
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-225-50-udev-default.rules-set-default-group-for-mediaX.patch
+	"${FILESDIR}"/${PN}-225-60-persistent-storage.rules-add-nvme-symlinks.patch
+	"${FILESDIR}"/${PN}-225-libudev-util-change-util_replace_whitespace.patch
+	"${FILESDIR}"/${PN}-225-udev-event-add-replace_whitespace-param.patch
+	"${FILESDIR}"/${PN}-225-udev-rules-perform-whitespace-replacement.patch
+	"${FILESDIR}"/${PN}-225-60-persistent-storage.rules-add-nvme-id-model.patch
+	"${FILESDIR}"/${PN}-225-udev-rules-all-values-can-contain-escaped-double-quotes-now.patch
+	"${FILESDIR}"/${PN}-225-udevadm-trigger-add-settle.patch
+	"${FILESDIR}"/${PN}-225-v4l_id-check-mplane-video-capture-and-output-capaili.patch
+	"${FILESDIR}"/${PN}-225-udevadm-hwdb-Return-non-zero-exit-code-on-error.patch
+	"${FILESDIR}"/${PN}-225-sysmacros.patch
+	"${FILESDIR}"/${PN}-225-50-udev-default.rules-set-default-group-for-udmabuf.patch
+	"${FILESDIR}"/${PN}-225-50-udev-default.rules-disable-REMOVE_CMD-support.patch
+	"${FILESDIR}"/${PN}-225-udev-rules-no-slash-run.patch
+	"${FILESDIR}"/${PN}-225-udev-use-interface-before-the-string-that-interface-.patch
+	"${FILESDIR}"/${PN}-225-udev-stop-freeing-value-after-using-it-for-setting-s.patch
+	"${FILESDIR}"/${PN}-225-workaround-renameat-syscall-wrapper-misdetection.patch
+	"${FILESDIR}"/${PN}-225-udevadm-add-ping-option-to-control-command.patch
+	"${FILESDIR}"/${PN}-225-fix-joystick-with-mouse-identification.patch
+	"${FILESDIR}"/${PN}-225-bypass-v4l_id-query-for-mipi-camera-related-dev.patch
+	"${FILESDIR}"/${PN}-225-sd-device-udev-db-handle-properties-with-empty-value.patch
+	"${FILESDIR}"/${PN}-225-systemd-size_t.patch
+)
+
+check_default_rules() {
+	# Make sure there are no sudden changes to upstream rules file
+	# (more for my own needs than anything else ...)
+	local udev_rules_md5=870fa6b180bb6b9527905da2cf85e170
+	MD5=$(md5sum < "${S}"/rules/50-udev-default.rules)
+	MD5=${MD5/  -/}
+	if [[ ${MD5} != ${udev_rules_md5} ]]; then
+		eerror "50-udev-default.rules has been updated, please validate!"
+		eerror "md5sum: ${MD5}"
+		die "50-udev-default.rules has been updated, please validate!"
+	fi
+}
+
+src_prepare() {
+	if ! [[ ${PV} = 9999* ]]; then
+		check_default_rules
+
+		# secure_getenv() disable for non-glibc systems wrt bug #443030
+		if ! [[ $(grep -r secure_getenv * | wc -l) -eq 25 ]]; then
+			eerror "The line count for secure_getenv() failed, see bug #443030"
+			die
+		fi
+	fi
+
+	default
+
+	cat <<-EOF > "${T}"/40-gentoo.rules
+	# Gentoo specific floppy and usb groups
+	SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
+	SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
+	EOF
+
+	# change rules back to group uucp instead of dialout for now wrt #454556
+	sed -i -e 's/GROUP="dialout"/GROUP="uucp"/' rules/*.rules || die
+
+	# stub out the am_path_libcrypt function
+	echo 'AC_DEFUN([AM_PATH_LIBGCRYPT],[:])' > m4/gcrypt.m4
+
+	eautoreconf
+
+	# Restore possibility of running --enable-static wrt #472608
+	sed -i \
+		-e '/--enable-static is not supported by systemd/s:as_fn_error:echo:' \
+		configure || die
+
+	if ! use elibc_glibc; then #443030
+		echo '#define secure_getenv(x) NULL' >> config.h.in
+		sed -i -e '/error.*secure_getenv/s:.*:#define secure_getenv(x) NULL:' src/shared/missing.h || die
+	fi
+}
+
+src_configure() {
+	cros_optimize_package_for_speed
+
+	# Prevent conflicts with i686 cross toolchain, bug 559726
+	tc-export AR CC NM OBJCOPY RANLIB
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	tc-export CC #463846
+	export cc_cv_CFLAGS__flto=no #502950
+	export cc_cv_CFLAGS__Werror_shadow=no #554454
+
+	# Keep sorted by ./configure --help and only pass --disable flags
+	# when *required* to avoid external deps or unnecessary compile
+	local econf_args
+	econf_args=(
+		--libdir=/usr/$(get_libdir)
+		--docdir=/usr/share/doc/${PF}
+		$(multilib_native_use_enable static-libs static)
+		--disable-nls
+		--disable-dbus
+		$(multilib_native_use_enable kmod)
+		--disable-xkbcommon
+		--disable-seccomp
+		$(multilib_native_use_enable selinux)
+		--disable-xz
+		--disable-lz4
+		--disable-pam
+		$(multilib_native_use_enable acl)
+		--disable-gcrypt
+		--disable-audit
+		--disable-libcryptsetup
+		--disable-qrencode
+		--disable-microhttpd
+		--disable-gnuefi
+		--disable-gnutls
+		--disable-libcurl
+		--disable-libidn
+		--disable-quotacheck
+		--disable-logind
+		--disable-polkit
+		--disable-myhostname
+		$(multilib_is_native_abi || echo "--disable-manpages")
+		--enable-split-usr
+		--without-python
+		--with-bashcompletiondir="$(get_bashcompdir)"
+		--with-rootprefix=
+		$(multilib_is_native_abi && echo "--with-rootlibdir=/$(get_libdir)")
+		--disable-elfutils
+	)
+
+	if ! multilib_is_native_abi; then
+		econf_args+=(
+			MOUNT_{CFLAGS,LIBS}=' '
+		)
+	fi
+
+	ECONF_SOURCE=${S} econf "${econf_args[@]}"
+}
+
+multilib_src_compile() {
+	echo 'BUILT_SOURCES: $(BUILT_SOURCES)' > "${T}"/Makefile.extra
+	emake -f Makefile -f "${T}"/Makefile.extra BUILT_SOURCES
+
+	# Most of the parallel build problems were solved by >=sys-devel/make-3.82-r4,
+	# but not everything -- separate building of the binaries as a workaround,
+	# which will force internal libraries required for the helpers to be built
+	# early enough, like eg. libsystemd-shared.la
+	if multilib_is_native_abi; then
+		local lib_targets=( libudev.la )
+		emake "${lib_targets[@]}"
+
+		local exec_targets=(
+			systemd-udevd
+			udevadm
+		)
+		emake "${exec_targets[@]}"
+
+		local helper_targets=(
+			ata_id
+			cdrom_id
+			collect
+			scsi_id
+			v4l_id
+			mtd_probe
+		)
+		emake "${helper_targets[@]}"
+
+		local man_targets=(
+			man/udev.conf.5
+			man/systemd.link.5
+			man/udev.7
+			man/systemd-udevd.service.8
+			man/udevadm.8
+		)
+		emake "${man_targets[@]}"
+	else
+		local lib_targets=( libudev.la )
+		emake "${lib_targets[@]}"
+	fi
+}
+
+multilib_src_install() {
+	if multilib_is_native_abi; then
+		local lib_LTLIBRARIES="libudev.la"
+		local pkgconfiglib_DATA="src/libudev/libudev.pc"
+
+		local targets=(
+			install-libLTLIBRARIES
+			install-includeHEADERS
+			install-rootbinPROGRAMS
+			install-rootlibexecPROGRAMS
+			install-udevlibexecPROGRAMS
+			install-dist_udevconfDATA
+			install-dist_udevrulesDATA
+			install-pkgconfiglibDATA
+			install-pkgconfigdataDATA
+			install-dist_docDATA
+			libudev-install-hook
+			install-directories-hook
+			install-dist_bashcompletionDATA
+			install-dist_networkDATA
+		)
+
+		# add final values of variables:
+		targets+=(
+			rootlibexec_PROGRAMS=systemd-udevd
+			rootbin_PROGRAMS=udevadm
+			lib_LTLIBRARIES="${lib_LTLIBRARIES}"
+			pkgconfiglib_DATA="${pkgconfiglib_DATA}"
+			pkgconfigdata_DATA="src/udev/udev.pc"
+			INSTALL_DIRS='$(sysconfdir)/udev/rules.d $(sysconfdir)/udev/hwdb.d $(sysconfdir)/systemd/network'
+			dist_bashcompletion_DATA="shell-completion/bash/udevadm"
+			dist_network_DATA="network/99-default.link"
+		)
+		emake -j1 DESTDIR="${D}" "${targets[@]}"
+		doman man/{udev.conf.5,systemd.link.5,udev.7,systemd-udevd.service.8,udevadm.8}
+	else
+		local lib_LTLIBRARIES="libudev.la"
+		local pkgconfiglib_DATA="src/libudev/libudev.pc"
+		local include_HEADERS="src/libudev/libudev.h"
+
+		local targets=(
+			install-libLTLIBRARIES
+			install-includeHEADERS
+			install-pkgconfiglibDATA
+		)
+
+		targets+=(
+			lib_LTLIBRARIES="${lib_LTLIBRARIES}"
+			pkgconfiglib_DATA="${pkgconfiglib_DATA}"
+			include_HEADERS="${include_HEADERS}"
+			)
+		emake -j1 DESTDIR="${D}" "${targets[@]}"
+	fi
+
+	# Move back to the old path since we filter out */systemd/* from images.
+	dodir /sbin
+	mv "${ED}"/lib/systemd/systemd-udevd "${ED}"/sbin/udevd || die
+}
+
+multilib_src_install_all() {
+	dodoc TODO
+
+	find "${D}"/usr -name '*.la' -delete
+	rm -f "${D}"/lib/udev/rules.d/99-systemd.rules
+	rm -f "${D}"/usr/share/doc/${PF}/{LICENSE.*,GVARIANT-SERIALIZATION,DIFFERENCES,PORTING-DBUS1,sd-shutdown.h}
+
+	# see src_prepare() for content of 40-gentoo.rules
+	insinto /lib/udev/rules.d
+	doins "${T}"/40-gentoo.rules
+
+	# Install ChromeOS-specific rules
+	doins "${FILESDIR}"/91-chromeos-keyboard.rules
+
+	# maintainer note: by not letting the upstream build-sys create the .so
+	# link, you also avoid a parallel make problem
+	mv "${D}"/usr/share/man/man8/systemd-udevd{.service,}.8
+}
+
+pkg_postinst() {
+	mkdir -p "${ROOT%/}"/run
+
+	# "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
+	# So try to remove it here (will only work if empty).
+	rmdir "${ROOT%/}"/dev/loop 2>/dev/null
+	if [[ -d ${ROOT%/}/dev/loop ]]; then
+		ewarn "Please make sure your remove /dev/loop,"
+		ewarn "else losetup may be confused when looking for unused devices."
+	fi
+
+	local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
+	while read -r dev path fstype rest; do
+		if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
+			ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
+			ewarn "filesystem. Otherwise udev won't be able to boot."
+			ewarn "See, https://bugs.gentoo.org/453186"
+		fi
+	done < "${fstab}"
+
+	if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
+		ewarn
+		ewarn "Please re-emerge all packages on your system which install"
+		ewarn "rules and helpers in /usr/lib/udev. They should now be in"
+		ewarn "/lib/udev."
+		ewarn
+		ewarn "One way to do this is to run the following command:"
+		ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
+		ewarn "Note that qfile can be found in app-portage/portage-utils"
+	fi
+
+	local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
+	local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
+	for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
+		if [[ -f ${old_rules} ]]; then
+			ewarn
+			ewarn "File ${old_rules} is from old udev installation but if you still use it,"
+			ewarn "rename it to something else starting with 70- to silence this deprecation"
+			ewarn "warning."
+		fi
+	done
+
+	# If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
+	# do the same for 80-net-setup-link.rules to keep the old behavior
+	local net_move=no
+	local net_name_slot_sym=no
+	local net_rules_path="${ROOT%/}"/etc/udev/rules.d
+	local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
+	local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
+	if [[ ! -e ${net_setup_link} ]]; then
+		[[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
+		if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
+			net_move=yes
+			net_name_slot_sym=yes
+		fi
+	fi
+	if [[ ${net_move} == yes ]]; then
+		ebegin "Copying ${net_name_slot} to ${net_setup_link}"
+
+		if [[ ${net_name_slot_sym} == yes ]]; then
+			ln -nfs /dev/null "${net_setup_link}"
+		else
+			cp "${net_name_slot}" "${net_setup_link}"
+		fi
+		eend $?
+	fi
+
+	# https://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
+	# https://bugs.gentoo.org/246847
+	# https://bugs.gentoo.org/514174
+	enewgroup input
+
+	# Update hwdb database in case the format is changed by udev version.
+	if has_version 'sys-apps/hwids[udev]'; then
+		udevadm hwdb --update --root="${ROOT%/}"
+		# Only reload when we are not upgrading to avoid potential race w/ incompatible hwdb.bin and the running udevd
+		# https://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
+		[[ -z ${REPLACING_VERSIONS} ]] && udev_reload
+	fi
+}
diff --git a/sys-kernel/OWNERS b/sys-kernel/OWNERS
index e465da8..9445be1 100644
--- a/sys-kernel/OWNERS
+++ b/sys-kernel/OWNERS
@@ -1,2 +1,3 @@
-include /OWNERS.kernel
+include chromiumos/owners:v1:/kernel/OWNERS.build
+
 chromeos-ci-prod@chromeos-bot.iam.gserviceaccount.com
diff --git a/sys-kernel/chromeos-kernel-4_14/Manifest b/sys-kernel/chromeos-kernel-4_14/Manifest
index fa78512..e25616f 100644
--- a/sys-kernel/chromeos-kernel-4_14/Manifest
+++ b/sys-kernel/chromeos-kernel-4_14/Manifest
@@ -1,2 +1,2 @@
-DIST chromeos-kernel-4_14-R100-14469.8-1644230170.gcov.xz 1137756 BLAKE2B ce51cbc005e7acb5962f0486d77265ae286e9e06704424263cad0cce39b30871ff11b081e3f91aea0bae4113dc71b84bedb10cccfab090a33cc24f6b03d793ce SHA512 25a250759385512955135821f74a64644b72d52dbbef8c0424cf2001693b541c675285e4e4cbc3135712d863dc1b85da3d3cf34993107a99ac9d09482c47fb7f
-DIST chromeos-kernel-4_14-R100-14516.0-1645439661.gcov.xz 1059324 BLAKE2B eb6711795d112141164fa09d60a4a8e6e5c3f8ef69634fc427601c0402280da2b1b51d5120e791c3e959abc6374a2b6268aa392899e7a82b79d75dd6ace840eb SHA512 6437b4c1aba165613b9d760c2e24a3c8ea44c07e48b1f7830bfbe52f264d097a60d45dee1337ac326cb5aa915c863e042ebd0bce324d6f2c1391c8ddc0630578
+DIST chromeos-kernel-4_14-R105-14943.0-1656927138.gcov.xz 973096 BLAKE2B 405919862922ab0dfe6311ffb59c6d0983e86245aaf9a23937fa0730401c163bd28561227d4eb2b68d74df1434e631da01fea803df6cdf122470d29a8c386433 SHA512 b920b2e9cbd126c7d276bd31d0e2c5c2a63d5e79b9d2150ae84c44019858b586e517b9a3b67941f84fffdae44c89422aa60bcff01d153676af685751e4052513
+DIST chromeos-kernel-4_14-R105-14943.0-1657532105.gcov.xz 1147192 BLAKE2B 29d75ddbd11283959159667ab73fd649e3ca71dde5bb8591f91489fcc88c1fafb3cd50dc1472d2bc2e46b5f741bc236a1c8606968decbc6947312ec231a6f661 SHA512 d7c87a6df1b94e979fcd77a0917ba4759117f544c25c9cc4407aae39fcc910a4c45701c8b1823de2f27a595a38d9101425f849deb0817ec495b3943bcf03a797
diff --git a/sys-kernel/chromeos-kernel-4_14/chromeos-kernel-4_14-4.14.268-r1814.ebuild b/sys-kernel/chromeos-kernel-4_14/chromeos-kernel-4_14-4.14.268-r1814.ebuild
deleted file mode 100644
index d8b2dfd..0000000
--- a/sys-kernel/chromeos-kernel-4_14/chromeos-kernel-4_14-4.14.268-r1814.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="f2e7d68a1059547779e1cef8fa6a6b8c803911dd"
-CROS_WORKON_TREE="5916e8f20f45fa43c07c7a0c3a8c7fa7a34f4548"
-CROS_WORKON_PROJECT="chromiumos/third_party/kernel"
-CROS_WORKON_LOCALNAME="kernel/v4.14"
-CROS_WORKON_EGIT_BRANCH="chromeos-4.14"
-
-# AFDO_PROFILE_VERSION is the build on which the profile is collected.
-# This is required by kernel_afdo.
-#
-# TODO: Allow different versions for different CHROMEOS_KERNEL_SPLITCONFIGs
-
-# By default, let cros-kernel2 define AFDO_LOCATION.  This is used in the
-# kernel AFDO verify jobs to specify the location.
-AFDO_LOCATION=""
-
-# Auto-generated by PFQ, don't modify.
-AFDO_PROFILE_VERSION="R100-14516.0-1645439661"
-
-# Set AFDO_FROZEN_PROFILE_VERSION to freeze the afdo profiles.
-# If non-empty, it overrides the value set by AFDO_PROFILE_VERSION.
-# Note: Run "ebuild-<board> /path/to/ebuild manifest" afterwards to create new
-# Manifest file.
-AFDO_FROZEN_PROFILE_VERSION=""
-
-# This must be inherited *after* EGIT/CROS_WORKON variables defined
-inherit cros-workon cros-kernel2
-
-HOMEPAGE="https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel"
-DESCRIPTION="Chrome OS Linux Kernel 4.14"
-KEYWORDS="*"
-
-# Change the following (commented out) number to the next prime number
-# when you change "cros-kernel2.eclass" to work around http://crbug.com/220902
-#
-# NOTE: There's nothing magic keeping this number prime but you just need to
-# make _any_ change to this file.  ...so why not keep it prime?
-#
-# Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
-# files (!!!)
-#
-# The coolest prime number is: 197
diff --git a/sys-kernel/chromeos-kernel-4_14/chromeos-kernel-4_14-4.14.290-r1925.ebuild b/sys-kernel/chromeos-kernel-4_14/chromeos-kernel-4_14-4.14.290-r1925.ebuild
new file mode 100644
index 0000000..20128d5
--- /dev/null
+++ b/sys-kernel/chromeos-kernel-4_14/chromeos-kernel-4_14-4.14.290-r1925.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="bbe79c6859f9b387886c04999274a2f038294d2a"
+CROS_WORKON_TREE="6602bd365b66eabf99315bf2eca378bad1e83dd6"
+CROS_WORKON_PROJECT="chromiumos/third_party/kernel"
+CROS_WORKON_LOCALNAME="kernel/v4.14"
+CROS_WORKON_EGIT_BRANCH="chromeos-4.14"
+
+# AFDO_PROFILE_VERSION is the build on which the profile is collected.
+# This is required by kernel_afdo.
+#
+# TODO: Allow different versions for different CHROMEOS_KERNEL_SPLITCONFIGs
+
+# By default, let cros-kernel2 define AFDO_LOCATION.  This is used in the
+# kernel AFDO verify jobs to specify the location.
+AFDO_LOCATION=""
+
+# Auto-generated by PFQ, don't modify.
+AFDO_PROFILE_VERSION="R105-14943.0-1657532105"
+
+# Set AFDO_FROZEN_PROFILE_VERSION to freeze the afdo profiles.
+# If non-empty, it overrides the value set by AFDO_PROFILE_VERSION.
+# Note: Run "ebuild-<board> /path/to/ebuild manifest" afterwards to create new
+# Manifest file.
+AFDO_FROZEN_PROFILE_VERSION=""
+
+# This must be inherited *after* EGIT/CROS_WORKON variables defined
+inherit cros-workon cros-kernel2
+
+HOMEPAGE="https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel"
+DESCRIPTION="Chrome OS Linux Kernel 4.14"
+KEYWORDS="*"
+
+# Change the following (commented out) number to the next prime number
+# when you change "cros-kernel2.eclass" to work around http://crbug.com/220902
+#
+# NOTE: There's nothing magic keeping this number prime but you just need to
+# make _any_ change to this file.  ...so why not keep it prime?
+#
+# Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
+# files (!!!)
+#
+# The coolest prime number is: 233
diff --git a/sys-kernel/chromeos-kernel-4_14/chromeos-kernel-4_14-9999.ebuild b/sys-kernel/chromeos-kernel-4_14/chromeos-kernel-4_14-9999.ebuild
index d86a203..7d5e6ae 100644
--- a/sys-kernel/chromeos-kernel-4_14/chromeos-kernel-4_14-9999.ebuild
+++ b/sys-kernel/chromeos-kernel-4_14/chromeos-kernel-4_14-9999.ebuild
@@ -17,7 +17,7 @@
 AFDO_LOCATION=""
 
 # Auto-generated by PFQ, don't modify.
-AFDO_PROFILE_VERSION="R100-14516.0-1645439661"
+AFDO_PROFILE_VERSION="R105-14943.0-1657532105"
 
 # Set AFDO_FROZEN_PROFILE_VERSION to freeze the afdo profiles.
 # If non-empty, it overrides the value set by AFDO_PROFILE_VERSION.
@@ -41,4 +41,4 @@
 # Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
 # files (!!!)
 #
-# The coolest prime number is: 197
+# The coolest prime number is: 233
diff --git a/sys-kernel/chromeos-kernel-4_19/Manifest b/sys-kernel/chromeos-kernel-4_19/Manifest
index 2701c2b..45c47ac 100644
--- a/sys-kernel/chromeos-kernel-4_19/Manifest
+++ b/sys-kernel/chromeos-kernel-4_19/Manifest
@@ -1,2 +1,2 @@
-DIST chromeos-kernel-4_19-R100-14469.8-1644229984.gcov.xz 879944 BLAKE2B 2726b68a6923b3f15966e90f7bdded493b6b8cf5fc65b9b1f8c407af382b86535cd1ff7945192c38a0ab3470484ec5e7eff9be87492fdc76083357301161507e SHA512 ee18997f1ccf4a82d825fd02c73f1ec9761fb11ebae59786a5604190ac07c5d8c22a319788d3176d9a158e4d666a505a44b3132d0ddb4ae0e8b9c5a0a50234b4
-DIST chromeos-kernel-4_19-R100-14516.0-1645439606.gcov.xz 713932 BLAKE2B 47def840828c2cb52bfb0b2f7e4fe1a98e66d2c2716a6922df6209b5704685ef0bc58f79067ef448fefde84cf4022d5d818ad5b8bb495e7d2bc6b59f0e81b4c8 SHA512 61f9f2ba2a1aac90eed59e60d81d91050e5b89f4513e7aa090b141ea149a57d06d3f22f3715bf92a9fa37210b138a51d937e02ed0e527c5765147b63c1fee3ee
+DIST chromeos-kernel-4_19-R105-14943.0-1656927254.gcov.xz 651364 BLAKE2B d18a61fd74a9ccc9fc69bdf7f6f31b541688f337e46a09f874df81e3113b06bb5c6f15392656dae58eac8ec736a89d5107edd7b4939cf211bb44ca3613830328 SHA512 129e1881de5e2a0c8bd8780d42f119e29040d990585fc96466e93fe8919c97671ec17350bc501de965458faa8a8a7d6e606394b70e7afb8bf7f5e241165966a4
+DIST chromeos-kernel-4_19-R105-14943.0-1657532036.gcov.xz 837932 BLAKE2B 80f52b94b894334b32aa692f29bf81d0d538f0e4e7af9db1a4b84d12141a43a8561a091fb69f60e17145f1f5d26de431acfc16e2e1a3139db1c7328080ba6a6a SHA512 a381088bd635496e97517a41f4e24c2720744d0a8aac8d14604d70a112b37ad5873d000783735e52d793ca7d014e2c6549c2a106466b482a1daa4019308b17ed
diff --git a/sys-kernel/chromeos-kernel-4_19/chromeos-kernel-4_19-4.19.231-r2276.ebuild b/sys-kernel/chromeos-kernel-4_19/chromeos-kernel-4_19-4.19.231-r2276.ebuild
deleted file mode 100644
index 731ef8a..0000000
--- a/sys-kernel/chromeos-kernel-4_19/chromeos-kernel-4_19-4.19.231-r2276.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="5a2ff5b7682b971b3d35bba548cfc4668158e79f"
-CROS_WORKON_TREE="785de675da440bb62071a063d7f4959008bd5d60"
-CROS_WORKON_PROJECT="chromiumos/third_party/kernel"
-CROS_WORKON_LOCALNAME="kernel/v4.19"
-CROS_WORKON_EGIT_BRANCH="chromeos-4.19"
-
-# AFDO_PROFILE_VERSION is the build on which the profile is collected.
-# This is required by kernel_afdo.
-#
-# TODO: Allow different versions for different CHROMEOS_KERNEL_SPLITCONFIGs
-
-# By default, let cros-kernel2 define AFDO_LOCATION.  This is used in the
-# kernel AFDO verify jobs to specify the location.
-AFDO_LOCATION=""
-
-# Auto-generated by PFQ, don't modify.
-AFDO_PROFILE_VERSION="R100-14516.0-1645439606"
-
-# Set AFDO_FROZEN_PROFILE_VERSION to freeze the afdo profiles.
-# If non-empty, it overrides the value set by AFDO_PROFILE_VERSION.
-# Note: Run "ebuild-<board> /path/to/ebuild manifest" afterwards to create new
-# Manifest file.
-AFDO_FROZEN_PROFILE_VERSION=""
-
-# This must be inherited *after* EGIT/CROS_WORKON variables defined
-inherit cros-workon cros-kernel2
-
-HOMEPAGE="https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel"
-DESCRIPTION="Chrome OS Linux Kernel 4.19"
-KEYWORDS="*"
-
-# Change the following (commented out) number to the next prime number
-# when you change "cros-kernel2.eclass" to work around http://crbug.com/220902
-#
-# NOTE: There's nothing magic keeping this number prime but you just need to
-# make _any_ change to this file.  ...so why not keep it prime?
-#
-# Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
-# files (!!!)
-#
-# The coolest prime number is: 197
diff --git a/sys-kernel/chromeos-kernel-4_19/chromeos-kernel-4_19-4.19.255-r2421.ebuild b/sys-kernel/chromeos-kernel-4_19/chromeos-kernel-4_19-4.19.255-r2421.ebuild
new file mode 100644
index 0000000..56e694a
--- /dev/null
+++ b/sys-kernel/chromeos-kernel-4_19/chromeos-kernel-4_19-4.19.255-r2421.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="f227130af68acb68510164c4d8a028eacbb53321"
+CROS_WORKON_TREE="d70579f43c5b3913f002c9d4f7608ce05c3920ca"
+CROS_WORKON_PROJECT="chromiumos/third_party/kernel"
+CROS_WORKON_LOCALNAME="kernel/v4.19"
+CROS_WORKON_EGIT_BRANCH="chromeos-4.19"
+
+# AFDO_PROFILE_VERSION is the build on which the profile is collected.
+# This is required by kernel_afdo.
+#
+# TODO: Allow different versions for different CHROMEOS_KERNEL_SPLITCONFIGs
+
+# By default, let cros-kernel2 define AFDO_LOCATION.  This is used in the
+# kernel AFDO verify jobs to specify the location.
+AFDO_LOCATION=""
+
+# Auto-generated by PFQ, don't modify.
+AFDO_PROFILE_VERSION="R105-14943.0-1657532036"
+
+# Set AFDO_FROZEN_PROFILE_VERSION to freeze the afdo profiles.
+# If non-empty, it overrides the value set by AFDO_PROFILE_VERSION.
+# Note: Run "ebuild-<board> /path/to/ebuild manifest" afterwards to create new
+# Manifest file.
+AFDO_FROZEN_PROFILE_VERSION=""
+
+# This must be inherited *after* EGIT/CROS_WORKON variables defined
+inherit cros-workon cros-kernel2
+
+HOMEPAGE="https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel"
+DESCRIPTION="Chrome OS Linux Kernel 4.19"
+KEYWORDS="*"
+
+# Change the following (commented out) number to the next prime number
+# when you change "cros-kernel2.eclass" to work around http://crbug.com/220902
+#
+# NOTE: There's nothing magic keeping this number prime but you just need to
+# make _any_ change to this file.  ...so why not keep it prime?
+#
+# Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
+# files (!!!)
+#
+# The coolest prime number is: 233
diff --git a/sys-kernel/chromeos-kernel-4_19/chromeos-kernel-4_19-9999.ebuild b/sys-kernel/chromeos-kernel-4_19/chromeos-kernel-4_19-9999.ebuild
index 6c70fa6..299d3ed 100644
--- a/sys-kernel/chromeos-kernel-4_19/chromeos-kernel-4_19-9999.ebuild
+++ b/sys-kernel/chromeos-kernel-4_19/chromeos-kernel-4_19-9999.ebuild
@@ -17,7 +17,7 @@
 AFDO_LOCATION=""
 
 # Auto-generated by PFQ, don't modify.
-AFDO_PROFILE_VERSION="R100-14516.0-1645439606"
+AFDO_PROFILE_VERSION="R105-14943.0-1657532036"
 
 # Set AFDO_FROZEN_PROFILE_VERSION to freeze the afdo profiles.
 # If non-empty, it overrides the value set by AFDO_PROFILE_VERSION.
@@ -41,4 +41,4 @@
 # Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
 # files (!!!)
 #
-# The coolest prime number is: 197
+# The coolest prime number is: 233
diff --git a/sys-kernel/chromeos-kernel-4_4/Manifest b/sys-kernel/chromeos-kernel-4_4/Manifest
index 3dd81c0..19bbe13 100644
--- a/sys-kernel/chromeos-kernel-4_4/Manifest
+++ b/sys-kernel/chromeos-kernel-4_4/Manifest
@@ -1,2 +1,2 @@
-DIST chromeos-kernel-4_4-R100-14469.8-1644230249.gcov.xz 844548 BLAKE2B cccff4253987687fa497d337121af714d9c728afe22e01f097e72fc10e8bce41a862b8159953c32ddf79124acaeae4e11bc57888eed43902c55e6191da43c0f5 SHA512 4234afafdfeeaf0bc51509fec0abf21f71d7d135c5de5b5e21bd5db949d44e247fbff6bd8621c7b0cf3075ceefbd25dd4c527c9dff90caaacc971501172f9a4a
-DIST chromeos-kernel-4_4-R100-14516.0-1645439511.gcov.xz 818636 BLAKE2B a3c4537a5d4dd6e2a54ca3f857766167fac2794053404bfd3a3826ae65bc6ff757104e2ab683d77c44fc4bb31eff88eaed6bfaa59d713389a7538bc722f610a9 SHA512 35248123b2705fe357739e949a98c94abbf882db709cb86b033b6ac2ffa5ce5f9b73f0034c1d792f836f7f7e53ceed5a3f7e65b50a06a1922d842262a1298b51
+DIST chromeos-kernel-4_4-R105-14943.0-1656927124.gcov.xz 643392 BLAKE2B e4ad721d7a868428ef25992bd5c8607db6ded424052c5eea09ca5faa7d37eacf456dce237d57aae9de56ba5025a48bf74c034abf288a6d112431f152dad2b07d SHA512 c1c1501d1e88ab56104ad1c93d1a4617ae6a6059836b7ecbb43c4242f7a7675f39b53bbd9fe46b435765132012f50fbfb98435aa78532b91b6d40f3f689a787e
+DIST chromeos-kernel-4_4-R105-14943.0-1657532004.gcov.xz 840512 BLAKE2B c615a248886fc23e74f06536fbd94463434be2329bfb7aec2e3585389cfdef6c5aee2b45a4f5187aaaa9a98ad2264b4d905eda2b8eb9bd60a3bcce9e48c08a3f SHA512 efeac86fa82a929e2ca0b0e59b5d6fb41a8509520d4089f6ebc53f4ba81a034f57fb236b5f9d5006e2c877b136872cf5af59c27f8b8328202e5fd5d8917ad548
diff --git a/sys-kernel/chromeos-kernel-4_4/chromeos-kernel-4_4-4.4.302-r2791.ebuild b/sys-kernel/chromeos-kernel-4_4/chromeos-kernel-4_4-4.4.302-r2791.ebuild
deleted file mode 100644
index 690d83f..0000000
--- a/sys-kernel/chromeos-kernel-4_4/chromeos-kernel-4_4-4.4.302-r2791.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="51c49f67294b8d4adb27deeced3c707a5844b493"
-CROS_WORKON_TREE="0da5bb5fcc50edc5dca3bb935ca3f79df9ccb20c"
-CROS_WORKON_PROJECT="chromiumos/third_party/kernel"
-CROS_WORKON_LOCALNAME="kernel/v4.4"
-CROS_WORKON_EGIT_BRANCH="chromeos-4.4"
-
-# AFDO_PROFILE_VERSION is the build on which the profile is collected.
-# This is required by kernel_afdo.
-#
-# TODO: Allow different versions for different CHROMEOS_KERNEL_SPLITCONFIGs
-
-# By default, let cros-kernel2 define AFDO_LOCATION.  This is used in the
-# kernel AFDO verify jobs to specify the location.
-AFDO_LOCATION=""
-
-# Auto-generated by PFQ, don't modify.
-AFDO_PROFILE_VERSION="R100-14516.0-1645439511"
-
-# Set AFDO_FROZEN_PROFILE_VERSION to freeze the afdo profiles.
-# If non-empty, it overrides the value set by AFDO_PROFILE_VERSION.
-# Note: Run "ebuild-<board> /path/to/ebuild manifest" afterwards to create new
-# Manifest file.
-AFDO_FROZEN_PROFILE_VERSION=""
-
-# This must be inherited *after* EGIT/CROS_WORKON variables defined
-inherit cros-workon cros-kernel2
-
-HOMEPAGE="https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel"
-DESCRIPTION="Chrome OS Linux Kernel 4.4"
-KEYWORDS="*"
-
-# Change the following (commented out) number to the next prime number
-# when you change "cros-kernel2.eclass" to work around http://crbug.com/220902
-#
-# NOTE: There's nothing magic keeping this number prime but you just need to
-# make _any_ change to this file.  ...so why not keep it prime?
-#
-# Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
-# files (!!!)
-#
-# The coolest prime number is: 197
diff --git a/sys-kernel/chromeos-kernel-4_4/chromeos-kernel-4_4-4.4.302-r2864.ebuild b/sys-kernel/chromeos-kernel-4_4/chromeos-kernel-4_4-4.4.302-r2864.ebuild
new file mode 100644
index 0000000..149a44e
--- /dev/null
+++ b/sys-kernel/chromeos-kernel-4_4/chromeos-kernel-4_4-4.4.302-r2864.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="6b180fcdefc371501530d773683ddd75ca459942"
+CROS_WORKON_TREE="9b7019bd83b39ac1372c15ced5219f7b4b2a79c5"
+CROS_WORKON_PROJECT="chromiumos/third_party/kernel"
+CROS_WORKON_LOCALNAME="kernel/v4.4"
+CROS_WORKON_EGIT_BRANCH="chromeos-4.4"
+
+# AFDO_PROFILE_VERSION is the build on which the profile is collected.
+# This is required by kernel_afdo.
+#
+# TODO: Allow different versions for different CHROMEOS_KERNEL_SPLITCONFIGs
+
+# By default, let cros-kernel2 define AFDO_LOCATION.  This is used in the
+# kernel AFDO verify jobs to specify the location.
+AFDO_LOCATION=""
+
+# Auto-generated by PFQ, don't modify.
+AFDO_PROFILE_VERSION="R105-14943.0-1657532004"
+
+# Set AFDO_FROZEN_PROFILE_VERSION to freeze the afdo profiles.
+# If non-empty, it overrides the value set by AFDO_PROFILE_VERSION.
+# Note: Run "ebuild-<board> /path/to/ebuild manifest" afterwards to create new
+# Manifest file.
+AFDO_FROZEN_PROFILE_VERSION=""
+
+# This must be inherited *after* EGIT/CROS_WORKON variables defined
+inherit cros-workon cros-kernel2
+
+HOMEPAGE="https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel"
+DESCRIPTION="Chrome OS Linux Kernel 4.4"
+KEYWORDS="*"
+
+# Change the following (commented out) number to the next prime number
+# when you change "cros-kernel2.eclass" to work around http://crbug.com/220902
+#
+# NOTE: There's nothing magic keeping this number prime but you just need to
+# make _any_ change to this file.  ...so why not keep it prime?
+#
+# Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
+# files (!!!)
+#
+# The coolest prime number is: 233
diff --git a/sys-kernel/chromeos-kernel-4_4/chromeos-kernel-4_4-9999.ebuild b/sys-kernel/chromeos-kernel-4_4/chromeos-kernel-4_4-9999.ebuild
index e571691..08427ef 100644
--- a/sys-kernel/chromeos-kernel-4_4/chromeos-kernel-4_4-9999.ebuild
+++ b/sys-kernel/chromeos-kernel-4_4/chromeos-kernel-4_4-9999.ebuild
@@ -16,7 +16,7 @@
 AFDO_LOCATION=""
 
 # Auto-generated by PFQ, don't modify.
-AFDO_PROFILE_VERSION="R100-14516.0-1645439511"
+AFDO_PROFILE_VERSION="R105-14943.0-1657532004"
 
 # Set AFDO_FROZEN_PROFILE_VERSION to freeze the afdo profiles.
 # If non-empty, it overrides the value set by AFDO_PROFILE_VERSION.
@@ -40,4 +40,4 @@
 # Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
 # files (!!!)
 #
-# The coolest prime number is: 197
+# The coolest prime number is: 233
diff --git a/sys-kernel/chromeos-kernel-5_10/Manifest b/sys-kernel/chromeos-kernel-5_10/Manifest
index 895cd21..9da29b4 100644
--- a/sys-kernel/chromeos-kernel-5_10/Manifest
+++ b/sys-kernel/chromeos-kernel-5_10/Manifest
@@ -1 +1,2 @@
-DIST chromeos-kernel-5_10-R100-14496.0-1644835235.gcov.xz 940676 BLAKE2B 8967651db2a9952ee56dea01533a93e6aabcaaa617653d467224c4a560dae6026e381695f555c2a8f42a92904fbb23edf795e32a7e328d753e57ec39216a3a9c SHA512 4c12bd1f018162e4409956b254b6a2b6769ce170d1cc56a3bb48c4ba83b710bca11e6c8cc332c55384ac57ad5fbafb01b1f7697023377ebf817692b5217729d8
+DIST chromeos-kernel-5_10-R105-14909.34-1656927210.gcov.xz 1016524 BLAKE2B 2730de35e38eae7210b7f40d53ca2704aa733533752069e2d37075f058765abae59fba855c2f7b8bec233d11b7094c8e8c65918bef36ce2c5cc5b8339312b36d SHA512 b67802b589c4701556f98493e1f8ac591565d9e195c00d984d0eec659c0abcb5bd87580fd9c2cca986b427875914350faece4cedcaf88bcb2cba098114f3a7a4
+DIST chromeos-kernel-5_10-R105-14943.0-1657531932.gcov.xz 976176 BLAKE2B 0d295dcae892c24dddbf2eb23139d4acea99f4bc89aef1a46a72daf7289bd5eeed850378c8a4af785a242746e84b70dd723bff7bfcc6cd7043b80459363c83fb SHA512 7e1329c240940d2f97b16d4b9bf38fa7b9cab9bc4025b1cc59886310cb9cfe1337b97a252bb44f8940400b6727542607c0590df797e4fe3a09882960d0906cd7
diff --git a/sys-kernel/chromeos-kernel-5_10/OWNERS b/sys-kernel/chromeos-kernel-5_10/OWNERS
index 497a58f..e146acf 100644
--- a/sys-kernel/chromeos-kernel-5_10/OWNERS
+++ b/sys-kernel/chromeos-kernel-5_10/OWNERS
@@ -1 +1 @@
-include /OWNERS.kernel
+include chromiumos/owners:v1:/kernel/OWNERS.build
diff --git a/sys-kernel/chromeos-kernel-5_10/chromeos-kernel-5_10-5.10.102-r1581.ebuild b/sys-kernel/chromeos-kernel-5_10/chromeos-kernel-5_10-5.10.102-r1581.ebuild
deleted file mode 100644
index dc75d06..0000000
--- a/sys-kernel/chromeos-kernel-5_10/chromeos-kernel-5_10-5.10.102-r1581.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="142ef9297957f6df8a08f75d772ae8a5448c6f6c"
-CROS_WORKON_TREE="c420e38a4e6f83013e4cbddc03bbf59f0b63316e"
-CROS_WORKON_PROJECT="chromiumos/third_party/kernel"
-CROS_WORKON_LOCALNAME="kernel/v5.10"
-CROS_WORKON_EGIT_BRANCH="chromeos-5.10"
-
-# AFDO_PROFILE_VERSION is the build on which the profile is collected.
-# This is required by kernel_afdo.
-#
-# TODO: Allow different versions for different CHROMEOS_KERNEL_SPLITCONFIGs
-
-# By default, let cros-kernel2 define AFDO_LOCATION.  This is used in the
-# kernel AFDO verify jobs to specify the location.
-export AFDO_LOCATION=""
-
-# Auto-generated by PFQ, don't modify.
-export AFDO_PROFILE_VERSION="R100-14496.0-1644835235"
-
-# Set AFDO_FROZEN_PROFILE_VERSION to freeze the afdo profiles.
-# If non-empty, it overrides the value set by AFDO_PROFILE_VERSION.
-# Note: Run "ebuild-<board> /path/to/ebuild manifest" afterwards to create new
-# Manifest file.
-export AFDO_FROZEN_PROFILE_VERSION=""
-
-# This must be inherited *after* EGIT/CROS_WORKON variables defined
-inherit cros-workon cros-kernel2
-
-HOMEPAGE="https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel"
-DESCRIPTION="Chrome OS Linux Kernel 5.10"
-KEYWORDS="*"
-
-# Change the following (commented out) number to the next prime number
-# when you change "cros-kernel2.eclass" to work around http://crbug.com/220902
-#
-# NOTE: There's nothing magic keeping this number prime but you just need to
-# make _any_ change to this file.  ...so why not keep it prime?
-#
-# Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
-# files (!!!)
-#
-# The coolest prime number is: 197
diff --git a/sys-kernel/chromeos-kernel-5_10/chromeos-kernel-5_10-5.10.135-r2213.ebuild b/sys-kernel/chromeos-kernel-5_10/chromeos-kernel-5_10-5.10.135-r2213.ebuild
new file mode 100644
index 0000000..16b8966
--- /dev/null
+++ b/sys-kernel/chromeos-kernel-5_10/chromeos-kernel-5_10-5.10.135-r2213.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="217efac6cc2ba02a13d584e066a837fcca00d378"
+CROS_WORKON_TREE="823fdaac7dad485beb65c7657dc341fbe35fd859"
+CROS_WORKON_PROJECT="chromiumos/third_party/kernel"
+CROS_WORKON_LOCALNAME="kernel/v5.10"
+CROS_WORKON_EGIT_BRANCH="chromeos-5.10"
+
+# AFDO_PROFILE_VERSION is the build on which the profile is collected.
+# This is required by kernel_afdo.
+#
+# TODO: Allow different versions for different CHROMEOS_KERNEL_SPLITCONFIGs
+
+# By default, let cros-kernel2 define AFDO_LOCATION.  This is used in the
+# kernel AFDO verify jobs to specify the location.
+export AFDO_LOCATION=""
+
+# Auto-generated by PFQ, don't modify.
+export AFDO_PROFILE_VERSION="R105-14943.0-1657531932"
+
+# Set AFDO_FROZEN_PROFILE_VERSION to freeze the afdo profiles.
+# If non-empty, it overrides the value set by AFDO_PROFILE_VERSION.
+# Note: Run "ebuild-<board> /path/to/ebuild manifest" afterwards to create new
+# Manifest file.
+export AFDO_FROZEN_PROFILE_VERSION=""
+
+# This must be inherited *after* EGIT/CROS_WORKON variables defined
+inherit cros-workon cros-kernel2
+
+HOMEPAGE="https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel"
+DESCRIPTION="Chrome OS Linux Kernel 5.10"
+KEYWORDS="*"
+
+# Change the following (commented out) number to the next prime number
+# when you change "cros-kernel2.eclass" to work around http://crbug.com/220902
+#
+# NOTE: There's nothing magic keeping this number prime but you just need to
+# make _any_ change to this file.  ...so why not keep it prime?
+#
+# Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
+# files (!!!)
+#
+# The coolest prime number is: 233
diff --git a/sys-kernel/chromeos-kernel-5_10/chromeos-kernel-5_10-9999.ebuild b/sys-kernel/chromeos-kernel-5_10/chromeos-kernel-5_10-9999.ebuild
index 242ffb9..cfe616e 100644
--- a/sys-kernel/chromeos-kernel-5_10/chromeos-kernel-5_10-9999.ebuild
+++ b/sys-kernel/chromeos-kernel-5_10/chromeos-kernel-5_10-9999.ebuild
@@ -17,7 +17,7 @@
 export AFDO_LOCATION=""
 
 # Auto-generated by PFQ, don't modify.
-export AFDO_PROFILE_VERSION="R100-14496.0-1644835235"
+export AFDO_PROFILE_VERSION="R105-14943.0-1657531932"
 
 # Set AFDO_FROZEN_PROFILE_VERSION to freeze the afdo profiles.
 # If non-empty, it overrides the value set by AFDO_PROFILE_VERSION.
@@ -41,4 +41,4 @@
 # Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
 # files (!!!)
 #
-# The coolest prime number is: 197
+# The coolest prime number is: 233
diff --git a/sys-kernel/chromeos-kernel-5_15/OWNERS b/sys-kernel/chromeos-kernel-5_15/OWNERS
index 497a58f..e146acf 100644
--- a/sys-kernel/chromeos-kernel-5_15/OWNERS
+++ b/sys-kernel/chromeos-kernel-5_15/OWNERS
@@ -1 +1 @@
-include /OWNERS.kernel
+include chromiumos/owners:v1:/kernel/OWNERS.build
diff --git a/sys-kernel/chromeos-kernel-5_15/chromeos-kernel-5_15-5.15.25-r211.ebuild b/sys-kernel/chromeos-kernel-5_15/chromeos-kernel-5_15-5.15.25-r211.ebuild
deleted file mode 100644
index 3c3f3b6..0000000
--- a/sys-kernel/chromeos-kernel-5_15/chromeos-kernel-5_15-5.15.25-r211.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="2a581750a282385ffadf04fe7a7a41839909b6b7"
-CROS_WORKON_TREE="81106ba9ecb56b822429df49f0e68548f3b9ec7e"
-CROS_WORKON_PROJECT="chromiumos/third_party/kernel"
-CROS_WORKON_LOCALNAME="kernel/v5.15"
-CROS_WORKON_EGIT_BRANCH="chromeos-5.15"
-
-# This must be inherited *after* EGIT/CROS_WORKON variables defined
-inherit cros-workon cros-kernel2
-
-HOMEPAGE="https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel"
-DESCRIPTION="Chrome OS Linux Kernel 5.15"
-KEYWORDS="*"
-
-# Change the following (commented out) number to the next prime number
-# when you change "cros-kernel2.eclass" to work around http://crbug.com/220902
-#
-# NOTE: There's nothing magic keeping this number prime but you just need to
-# make _any_ change to this file.  ...so why not keep it prime?
-#
-# Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
-# files (!!!)
-#
-# The coolest prime number is: 197
diff --git a/sys-kernel/chromeos-kernel-5_15/chromeos-kernel-5_15-5.15.59-r765.ebuild b/sys-kernel/chromeos-kernel-5_15/chromeos-kernel-5_15-5.15.59-r765.ebuild
new file mode 100644
index 0000000..5ec87af
--- /dev/null
+++ b/sys-kernel/chromeos-kernel-5_15/chromeos-kernel-5_15-5.15.59-r765.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="7f29ebccf2849d2059360d63790aa67d615e1f4c"
+CROS_WORKON_TREE="5ebe63470fd4af111511bacebf0eda4b250d1e65"
+CROS_WORKON_PROJECT="chromiumos/third_party/kernel"
+CROS_WORKON_LOCALNAME="kernel/v5.15"
+CROS_WORKON_EGIT_BRANCH="chromeos-5.15"
+
+# This must be inherited *after* EGIT/CROS_WORKON variables defined
+inherit cros-workon cros-kernel2
+
+HOMEPAGE="https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel"
+DESCRIPTION="Chrome OS Linux Kernel 5.15"
+KEYWORDS="*"
+
+# Change the following (commented out) number to the next prime number
+# when you change "cros-kernel2.eclass" to work around http://crbug.com/220902
+#
+# NOTE: There's nothing magic keeping this number prime but you just need to
+# make _any_ change to this file.  ...so why not keep it prime?
+#
+# Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
+# files (!!!)
+#
+# The coolest prime number is: 233
diff --git a/sys-kernel/chromeos-kernel-5_15/chromeos-kernel-5_15-9999.ebuild b/sys-kernel/chromeos-kernel-5_15/chromeos-kernel-5_15-9999.ebuild
index a0b0169..67cc7fe 100644
--- a/sys-kernel/chromeos-kernel-5_15/chromeos-kernel-5_15-9999.ebuild
+++ b/sys-kernel/chromeos-kernel-5_15/chromeos-kernel-5_15-9999.ebuild
@@ -23,4 +23,4 @@
 # Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
 # files (!!!)
 #
-# The coolest prime number is: 197
+# The coolest prime number is: 233
diff --git a/sys-kernel/chromeos-kernel-5_4/Manifest b/sys-kernel/chromeos-kernel-5_4/Manifest
index 1d2c379..687e35f 100644
--- a/sys-kernel/chromeos-kernel-5_4/Manifest
+++ b/sys-kernel/chromeos-kernel-5_4/Manifest
@@ -1,2 +1,2 @@
-DIST chromeos-kernel-5_4-R100-14496.0-1644229921.gcov.xz 900740 BLAKE2B b1ceadb24f676fbea3dbff27ca2301e9f38e465be5628e693463f5477a6d09704ec833dffe94d3b68e971d52c7d2748050f65560282b0c65fe3a327a5fa704d6 SHA512 f266d0b4a1d2c858f2583b3550fecfd33e5075d5f5975d42950e5fb6a773d4c6bfceaed48339bc569a0664af0ed5535094dc39c4376b4004074125b908a709b3
-DIST chromeos-kernel-5_4-R100-14516.0-1645439482.gcov.xz 811588 BLAKE2B 142fb88a9b7d4cc7e3ba82827acad378437d8412bdca01a51d4aee65e15f4baf957ccc127a5ab10f339fffd2205e319c8af451893f97a145668b50a53f5f9162 SHA512 347b6bfe9d5c4b3b22dcf0c8e392d015a5348a5ba243d56174a8534bf784fd018f53b6d6b897f436e4a1bfee43162a9d8a7d9a6b166bc97fb138859b7e70d609
+DIST chromeos-kernel-5_4-R105-14943.0-1656927279.gcov.xz 729548 BLAKE2B 5d09875993d12b4246f822489b2b6c4edaae511cdcfc2633fa24127adf2ac5623f76deb865fd75cac8bd2ccc21c822fb5273ac9459bd2c3106ab237259bd3e4e SHA512 df909821bf74c28c763bde2c1d39ab5d053a5e5bbd3023917ab9ce0b24fb22937d30015411b413b90dbb707acbc84fe635cb082fa63ec3f63e1c0fc1eaa87df6
+DIST chromeos-kernel-5_4-R105-14943.0-1657531926.gcov.xz 782540 BLAKE2B d944bf2efea309dc2db6b3b3b61cd56cd75b28e3fda908b86d1af6d5ac0f6500ab18381034eb044435111451c7382843e6f7963a2115a034b4c77da32de19e7b SHA512 cf1c5d3d6e6e2687722c150373d9515a109252d2aeab66511b13c7969e39be50631f0bd3ba4db484bfbc2437487a19073d646e3d29c0b1091e1df6d494d44c0b
diff --git a/sys-kernel/chromeos-kernel-5_4/chromeos-kernel-5_4-5.4.181-r3002.ebuild b/sys-kernel/chromeos-kernel-5_4/chromeos-kernel-5_4-5.4.181-r3002.ebuild
deleted file mode 100644
index 47a49c3..0000000
--- a/sys-kernel/chromeos-kernel-5_4/chromeos-kernel-5_4-5.4.181-r3002.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="d9077bb9d1b7874a61309fd96e5b42c80a27f86c"
-CROS_WORKON_TREE="2929d5e2f8b95878cdfacdeffc3b46ee391ac808"
-CROS_WORKON_PROJECT="chromiumos/third_party/kernel"
-CROS_WORKON_LOCALNAME="kernel/v5.4"
-CROS_WORKON_EGIT_BRANCH="chromeos-5.4"
-
-# AFDO_PROFILE_VERSION is the build on which the profile is collected.
-# This is required by kernel_afdo.
-#
-# TODO: Allow different versions for different CHROMEOS_KERNEL_SPLITCONFIGs
-
-# By default, let cros-kernel2 define AFDO_LOCATION.  This is used in the
-# kernel AFDO verify jobs to specify the location.
-AFDO_LOCATION=""
-
-# Auto-generated by PFQ, don't modify.
-AFDO_PROFILE_VERSION="R100-14516.0-1645439482"
-
-# Set AFDO_FROZEN_PROFILE_VERSION to freeze the afdo profiles.
-# If non-empty, it overrides the value set by AFDO_PROFILE_VERSION.
-# Note: Run "ebuild-<board> /path/to/ebuild manifest" afterwards to create new
-# Manifest file.
-AFDO_FROZEN_PROFILE_VERSION=""
-
-# This must be inherited *after* EGIT/CROS_WORKON variables defined
-inherit cros-workon cros-kernel2
-
-HOMEPAGE="https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel"
-DESCRIPTION="Chrome OS Linux Kernel 5.4"
-KEYWORDS="*"
-
-# Change the following (commented out) number to the next prime number
-# when you change "cros-kernel2.eclass" to work around http://crbug.com/220902
-#
-# NOTE: There's nothing magic keeping this number prime but you just need to
-# make _any_ change to this file.  ...so why not keep it prime?
-#
-# Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
-# files (!!!)
-#
-# The coolest prime number is: 197
diff --git a/sys-kernel/chromeos-kernel-5_4/chromeos-kernel-5_4-5.4.210-r3326.ebuild b/sys-kernel/chromeos-kernel-5_4/chromeos-kernel-5_4-5.4.210-r3326.ebuild
new file mode 100644
index 0000000..b731dc18
--- /dev/null
+++ b/sys-kernel/chromeos-kernel-5_4/chromeos-kernel-5_4-5.4.210-r3326.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="c22716259e5593166767b4f6074cc199681904eb"
+CROS_WORKON_TREE="1f2c52e9b1f66d1066b3dae55e355ea52b888509"
+CROS_WORKON_PROJECT="chromiumos/third_party/kernel"
+CROS_WORKON_LOCALNAME="kernel/v5.4"
+CROS_WORKON_EGIT_BRANCH="chromeos-5.4"
+
+# AFDO_PROFILE_VERSION is the build on which the profile is collected.
+# This is required by kernel_afdo.
+#
+# TODO: Allow different versions for different CHROMEOS_KERNEL_SPLITCONFIGs
+
+# By default, let cros-kernel2 define AFDO_LOCATION.  This is used in the
+# kernel AFDO verify jobs to specify the location.
+AFDO_LOCATION=""
+
+# Auto-generated by PFQ, don't modify.
+AFDO_PROFILE_VERSION="R105-14943.0-1657531926"
+
+# Set AFDO_FROZEN_PROFILE_VERSION to freeze the afdo profiles.
+# If non-empty, it overrides the value set by AFDO_PROFILE_VERSION.
+# Note: Run "ebuild-<board> /path/to/ebuild manifest" afterwards to create new
+# Manifest file.
+AFDO_FROZEN_PROFILE_VERSION=""
+
+# This must be inherited *after* EGIT/CROS_WORKON variables defined
+inherit cros-workon cros-kernel2
+
+HOMEPAGE="https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel"
+DESCRIPTION="Chrome OS Linux Kernel 5.4"
+KEYWORDS="*"
+
+# Change the following (commented out) number to the next prime number
+# when you change "cros-kernel2.eclass" to work around http://crbug.com/220902
+#
+# NOTE: There's nothing magic keeping this number prime but you just need to
+# make _any_ change to this file.  ...so why not keep it prime?
+#
+# Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
+# files (!!!)
+#
+# The coolest prime number is: 233
diff --git a/sys-kernel/chromeos-kernel-5_4/chromeos-kernel-5_4-9999.ebuild b/sys-kernel/chromeos-kernel-5_4/chromeos-kernel-5_4-9999.ebuild
index a886a8e..dc1711b 100644
--- a/sys-kernel/chromeos-kernel-5_4/chromeos-kernel-5_4-9999.ebuild
+++ b/sys-kernel/chromeos-kernel-5_4/chromeos-kernel-5_4-9999.ebuild
@@ -17,7 +17,7 @@
 AFDO_LOCATION=""
 
 # Auto-generated by PFQ, don't modify.
-AFDO_PROFILE_VERSION="R100-14516.0-1645439482"
+AFDO_PROFILE_VERSION="R105-14943.0-1657531926"
 
 # Set AFDO_FROZEN_PROFILE_VERSION to freeze the afdo profiles.
 # If non-empty, it overrides the value set by AFDO_PROFILE_VERSION.
@@ -41,4 +41,4 @@
 # Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
 # files (!!!)
 #
-# The coolest prime number is: 197
+# The coolest prime number is: 233
diff --git a/sys-kernel/chromeos-kernel-experimental/chromeos-kernel-experimental-9999.ebuild b/sys-kernel/chromeos-kernel-experimental/chromeos-kernel-experimental-9999.ebuild
index 5d2de51..6c18ee8 100644
--- a/sys-kernel/chromeos-kernel-experimental/chromeos-kernel-experimental-9999.ebuild
+++ b/sys-kernel/chromeos-kernel-experimental/chromeos-kernel-experimental-9999.ebuild
@@ -22,4 +22,4 @@
 # Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
 # files (!!!)
 #
-# The coolest prime number is: 197
+# The coolest prime number is: 233
diff --git a/sys-kernel/chromeos-kernel-next/chromeos-kernel-next-9999.ebuild b/sys-kernel/chromeos-kernel-next/chromeos-kernel-next-9999.ebuild
index b13ae94..3cced55 100644
--- a/sys-kernel/chromeos-kernel-next/chromeos-kernel-next-9999.ebuild
+++ b/sys-kernel/chromeos-kernel-next/chromeos-kernel-next-9999.ebuild
@@ -23,4 +23,4 @@
 # Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
 # files (!!!)
 #
-# The coolest prime number is: 197
+# The coolest prime number is: 233
diff --git a/sys-kernel/chromeos-kernel-upstream/chromeos-kernel-upstream-5.17_rc5-r60.ebuild b/sys-kernel/chromeos-kernel-upstream/chromeos-kernel-upstream-5.17_rc5-r60.ebuild
deleted file mode 100644
index 5b02b17..0000000
--- a/sys-kernel/chromeos-kernel-upstream/chromeos-kernel-upstream-5.17_rc5-r60.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="e2e254ae0f24801b16109f4f4b62a8a0c73de35c"
-CROS_WORKON_TREE="aaadb2a69c20234e41b5e3ecd7c19816708c6082"
-CROS_WORKON_PROJECT="chromiumos/third_party/kernel"
-CROS_WORKON_LOCALNAME="kernel/upstream"
-
-# This must be inherited *after* EGIT/CROS_WORKON variables defined
-inherit cros-workon cros-kernel2
-
-HOMEPAGE="https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel"
-DESCRIPTION="Chrome OS Linux Kernel latest upstream rc"
-KEYWORDS="*"
-
-# Change the following (commented out) number to the next prime number
-# when you change "cros-kernel2.eclass" to work around http://crbug.com/220902
-#
-# NOTE: There's nothing magic keeping this number prime but you just need to
-# make _any_ change to this file.  ...so why not keep it prime?
-#
-# Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
-# files (!!!)
-#
-# The coolest prime number is: 197
diff --git a/sys-kernel/chromeos-kernel-upstream/chromeos-kernel-upstream-5.19-r75.ebuild b/sys-kernel/chromeos-kernel-upstream/chromeos-kernel-upstream-5.19-r75.ebuild
new file mode 100644
index 0000000..be62df7
--- /dev/null
+++ b/sys-kernel/chromeos-kernel-upstream/chromeos-kernel-upstream-5.19-r75.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="3ce3e1c35030861b8a5a60a9367109d885703471"
+CROS_WORKON_TREE="e1a1b0e8a667600657073730b4bafbe1dc2a73f5"
+CROS_WORKON_PROJECT="chromiumos/third_party/kernel"
+CROS_WORKON_LOCALNAME="kernel/upstream"
+
+# This must be inherited *after* EGIT/CROS_WORKON variables defined
+inherit cros-workon cros-kernel2
+
+HOMEPAGE="https://www.chromium.org/chromium-os/chromiumos-design-docs/chromium-os-kernel"
+DESCRIPTION="Chrome OS Linux Kernel latest upstream rc"
+KEYWORDS="*"
+
+# Change the following (commented out) number to the next prime number
+# when you change "cros-kernel2.eclass" to work around http://crbug.com/220902
+#
+# NOTE: There's nothing magic keeping this number prime but you just need to
+# make _any_ change to this file.  ...so why not keep it prime?
+#
+# Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
+# files (!!!)
+#
+# The coolest prime number is: 233
diff --git a/sys-kernel/chromeos-kernel-upstream/chromeos-kernel-upstream-9999.ebuild b/sys-kernel/chromeos-kernel-upstream/chromeos-kernel-upstream-9999.ebuild
index 1b1f0fe..8d84c26 100644
--- a/sys-kernel/chromeos-kernel-upstream/chromeos-kernel-upstream-9999.ebuild
+++ b/sys-kernel/chromeos-kernel-upstream/chromeos-kernel-upstream-9999.ebuild
@@ -22,4 +22,4 @@
 # Don't forget to update the comment in _all_ chromeos-kernel-x_x-9999.ebuild
 # files (!!!)
 #
-# The coolest prime number is: 197
+# The coolest prime number is: 233
diff --git a/sys-kernel/linux-firmware/linux-firmware-0.0.1-r543.ebuild b/sys-kernel/linux-firmware/linux-firmware-0.0.1-r543.ebuild
deleted file mode 100644
index a15828f..0000000
--- a/sys-kernel/linux-firmware/linux-firmware-0.0.1-r543.ebuild
+++ /dev/null
@@ -1,513 +0,0 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-CROS_WORKON_COMMIT="ae09267732b807f22bc5a928e891cca627b7706d"
-CROS_WORKON_TREE="618bab6321269c279484dcfa707937ad4e5821c5"
-CROS_WORKON_PROJECT="chromiumos/third_party/linux-firmware"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_EGIT_BRANCH="master"
-
-inherit cros-workon
-
-DESCRIPTION="Firmware images from the upstream linux-fimware package"
-HOMEPAGE="https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/"
-
-SLOT="0"
-KEYWORDS="*"
-
-
-IUSE_KERNEL_VERS=(
-	kernel-4_19
-	kernel-5_4
-	kernel-5_10
-	kernel-5_15
-	kernel-upstream
-)
-IUSE_ATH3K=(
-	ath3k-all
-	ath3k-ar3011
-	ath3k-ar3012
-)
-IUSE_IWLWIFI=(
-	iwlwifi-all
-	iwlwifi-100
-	iwlwifi-105
-	iwlwifi-135
-	iwlwifi-1000
-	iwlwifi-1000
-	iwlwifi-2000
-	iwlwifi-2030
-	iwlwifi-3160
-	iwlwifi-3945
-	iwlwifi-4965
-	iwlwifi-5000
-	iwlwifi-5150
-	iwlwifi-6000
-	iwlwifi-6005
-	iwlwifi-6030
-	iwlwifi-6050
-	iwlwifi-7260
-	iwlwifi-7265
-	iwlwifi-7265D
-	iwlwifi-9000
-	iwlwifi-9260
-	iwlwifi-cc
-	iwlwifi-QuZ
-	iwlwifi-so
-)
-IUSE_BRCMWIFI=(
-	brcmfmac-all
-	brcmfmac4354-sdio
-	brcmfmac4356-pcie
-	brcmfmac4371-pcie
-)
-IUSE_LINUX_FIRMWARE=(
-	adreno-630
-	adreno-660
-	adsp_apl
-	adsp_cnl
-	adsp_glk
-	adsp_kbl
-	adsp_skl
-	ath9k_htc
-	ath10k_qca6174a-5
-	ath10k_qca6174a-3
-	ath10k_wcn3990
-	ath11k_wcn6855
-	amdgpu_carrizo
-	amdgpu_green_sardine
-	amdgpu_picasso
-	amdgpu_raven2
-	amdgpu_renoir
-	amdgpu_stoney
-	amdgpu_vega12
-	amdgpu_yellow_carp
-	bcm4354-bt
-	cros-pd
-	fw_sst
-	fw_sst2
-	i915_adl
-	i915_bxt
-	i915_cnl
-	i915_glk
-	i915_jsl
-	i915_kbl
-	i915_skl
-	i915_tgl
-	ibt_9260
-	ibt_9560
-	ibt_ax200
-	ibt_ax201
-	ibt_ax211
-	ibt-hw
-	ice
-	ipu3_fw
-	keyspan_usb
-	marvell-mwlwifi
-	marvell-pcie8897
-	marvell-pcie8997
-	mt7921e
-	mt7921e-bt
-	mt8173-vpu
-	nvidia-xusb
-	qca6174a-3-bt
-	qca6174a-5-bt
-	qca-wcn3990-bt
-	qca-wcn3991-bt
-	qca-wcn685x-bt
-	qca-wcn6750-bt
-	rockchip-dptx
-	rt2870
-	rtl8107e-1
-	rtl8107e-2
-	rtl8125a-3
-	rtl8125b-1
-	rtl8125b-2
-	rtl8153
-	rtl8168fp-3
-	rtl8168g-1
-	rtl8168g-2
-	rtl8168h-1
-	rtl8168h-2
-	rtl_bt-8822ce-uart
-	rtl_bt-8822ce-usb
-	rtl_bt-8852ae-usb
-	rtw8822c
-	rtw8852a
-	venus-52
-	venus-54
-	venus-vpu-2
-	"${IUSE_ATH3K[@]}"
-	"${IUSE_IWLWIFI[@]}"
-	"${IUSE_BRCMWIFI[@]}"
-)
-IUSE="
-	${IUSE_KERNEL_VERS[*]}
-	${IUSE_LINUX_FIRMWARE[@]/#/linux_firmware_}
-	video_cards_radeon
-	video_cards_amdgpu"
-REQUIRED_USE="?? ( ${IUSE_KERNEL_VERS[*]} )"
-LICENSE="
-	linux_firmware_adreno-630? ( LICENSE.qcom )
-	linux_firmware_adreno-660? ( LICENSE.qcom )
-	linux_firmware_adsp_apl? ( LICENCE.adsp_sst )
-	linux_firmware_adsp_cnl? ( LICENCE.adsp_sst )
-	linux_firmware_adsp_glk? ( LICENCE.adsp_sst )
-	linux_firmware_adsp_kbl? ( LICENCE.adsp_sst )
-	linux_firmware_adsp_skl? ( LICENCE.adsp_sst )
-	linux_firmware_amdgpu_carrizo? ( LICENSE.amdgpu )
-	linux_firmware_amdgpu_green_sardine? ( LICENSE.amdgpu )
-	linux_firmware_amdgpu_picasso? ( LICENSE.amdgpu )
-	linux_firmware_amdgpu_raven2? ( LICENSE.amdgpu )
-	linux_firmware_amdgpu_renoir? ( LICENSE.amdgpu )
-	linux_firmware_amdgpu_stoney? ( LICENSE.amdgpu )
-	linux_firmware_amdgpu_vega12? ( LICENSE.amdgpu )
-	linux_firmware_amdgpu_yellow_carp? ( LICENSE.amdgpu )
-	linux_firmware_ath3k-all? ( LICENCE.atheros_firmware )
-	linux_firmware_ath3k-ar3011? ( LICENCE.atheros_firmware )
-	linux_firmware_ath3k-ar3012? ( LICENCE.atheros_firmware )
-	linux_firmware_ath9k_htc? ( LICENCE.atheros_firmware )
-	linux_firmware_ath10k_qca6174a-5? ( LICENSE.QualcommAtheros_ath10k )
-	linux_firmware_ath10k_qca6174a-3? ( LICENSE.QualcommAtheros_ath10k )
-	linux_firmware_ath10k_wcn3990? ( LICENCE.atheros_firmware )
-	linux_firmware_ath11k_wcn6855? ( LICENSE.QualcommAtheros_ath10k )
-	linux_firmware_bcm4354-bt? ( LICENCE.broadcom_bcm43xx )
-	linux_firmware_cros-pd? ( BSD-Google )
-	linux_firmware_fw_sst? ( LICENCE.fw_sst )
-	linux_firmware_fw_sst2? ( LICENCE.IntcSST2 )
-	linux_firmware_i915_adl? ( LICENSE.i915 )
-	linux_firmware_i915_bxt? ( LICENSE.i915 )
-	linux_firmware_i915_cnl? ( LICENSE.i915 )
-	linux_firmware_i915_glk? ( LICENSE.i915 )
-	linux_firmware_i915_jsl? ( LICENSE.i915 )
-	linux_firmware_i915_kbl? ( LICENSE.i915 )
-	linux_firmware_i915_skl? ( LICENSE.i915 )
-	linux_firmware_i915_tgl? ( LICENSE.i915 )
-	linux_firmware_ipu3_fw? ( LICENSE.ipu3_firmware )
-	linux_firmware_ibt_9260? ( LICENCE.ibt_firmware )
-	linux_firmware_ibt_9560? ( LICENCE.ibt_firmware )
-	linux_firmware_ibt_ax200? ( LICENCE.ibt_firmware )
-	linux_firmware_ibt_ax201? ( LICENCE.ibt_firmware )
-	linux_firmware_ibt_ax211? ( LICENCE.ibt_firmware )
-	linux_firmware_ibt-hw? ( LICENCE.ibt_firmware )
-	linux_firmware_ice? ( LICENSE.ice )
-	linux_firmware_keyspan_usb? ( LICENSE.keyspan_usb )
-	linux_firmware_marvell-mwlwifi? ( LICENCE.Marvell )
-	linux_firmware_marvell-pcie8897? ( LICENCE.NXP )
-	linux_firmware_marvell-pcie8997? ( LICENCE.NXP )
-	linux_firmware_mt7921e? ( LICENCE.mediatek-nic )
-	linux_firmware_mt7921e-bt? ( LICENCE.mediatek-nic )
-	linux_firmware_mt8173-vpu? ( LICENCE.mediatek-vpu )
-	linux_firmware_nvidia-xusb? ( LICENCE.nvidia )
-	linux_firmware_qca6174a-3-bt? ( LICENSE.QualcommAtheros_ath10k )
-	linux_firmware_qca6174a-5-bt? ( LICENSE.QualcommAtheros_ath10k )
-	linux_firmware_qca-wcn3990-bt? ( LICENSE.QualcommAtheros_ath10k )
-	linux_firmware_qca-wcn3991-bt? ( LICENSE.QualcommAtheros_ath10k )
-	linux_firmware_qca-wcn685x-bt? ( LICENSE.QualcommAtheros_ath10k )
-	linux_firmware_qca-wcn6750-bt? ( LICENSE.QualcommAtheros_ath10k )
-	linux_firmware_rockchip-dptx? ( LICENCE.rockchip )
-	linux_firmware_rt2870? ( LICENCE.ralink-firmware.txt LICENCE.ralink_a_mediatek_company_firmware )
-	linux_firmware_rtl8107e-1? ( LICENCE.rtl_nic )
-	linux_firmware_rtl8107e-2? ( LICENCE.rtl_nic )
-	linux_firmware_rtl8125a-3? ( LICENCE.rtl_nic )
-	linux_firmware_rtl8125b-1? ( LICENCE.rtl_nic )
-	linux_firmware_rtl8125b-2? ( LICENCE.rtl_nic )
-	linux_firmware_rtl8153? ( LICENCE.rtlwifi_firmware )
-	linux_firmware_rtl8168fp-3? ( LICENCE.rtl_nic )
-	linux_firmware_rtl8168g-1? ( LICENCE.rtl_nic )
-	linux_firmware_rtl8168g-2? ( LICENCE.rtl_nic )
-	linux_firmware_rtl8168h-1? ( LICENCE.rtl_nic )
-	linux_firmware_rtl8168h-2? ( LICENCE.rtl_nic )
-	linux_firmware_rtl_bt-8822ce-uart? ( LICENCE.rtlwifi_firmware )
-	linux_firmware_rtl_bt-8822ce-usb? ( LICENCE.rtlwifi_firmware )
-	linux_firmware_rtl_bt-8852ae-usb? ( LICENCE.rtlwifi_firmware )
-	linux_firmware_rtw8822c? ( LICENCE.rtlwifi_firmware )
-	linux_firmware_rtw8852a? ( LICENCE.rtlwifi_firmware )
-	linux_firmware_venus-52? ( LICENSE.qcom )
-	linux_firmware_venus-54? ( LICENSE.qcom )
-	linux_firmware_venus-vpu-2? ( LICENSE.qcom )
-	$(printf 'linux_firmware_%s? ( LICENCE.iwlwifi_firmware ) ' "${IUSE_IWLWIFI[@]}")
-	$(printf 'linux_firmware_%s? ( LICENCE.broadcom_bcm43xx ) ' "${IUSE_BRCMWIFI[@]}")
-	video_cards_radeon? ( LICENSE.radeon )
-	video_cards_amdgpu? ( LICENSE.amdgpu )
-"
-
-BDEPEND="
-	dev-lang/python
-	dev-vcs/git
-"
-
-RDEPEND="
-	linux_firmware_adreno-630? ( !media-libs/a630-fw )
-	linux_firmware_adreno-630? ( !media-libs/a660-fw )
-	linux_firmware_ath3k-all? ( !net-wireless/ath3k )
-	linux_firmware_ath3k-ar3011? ( !net-wireless/ath3k )
-	linux_firmware_ath3k-ar3012? ( !net-wireless/ath3k )
-	linux_firmware_keyspan_usb? (
-		!sys-kernel/chromeos-kernel-4_4[firmware_install]
-	)
-	linux_firmware_marvell-pcie8897? ( !net-wireless/marvell_sd8787[pcie] )
-	linux_firmware_marvell-pcie8997? ( !net-wireless/marvell_sd8787[pcie] )
-	linux_firmware_mt8173-vpu? ( !media-libs/vpu-fw )
-	linux_firmware_nvidia-xusb? ( !sys-kernel/xhci-firmware )
-	linux_firmware_rt2870? ( !net-wireless/realtek-rt2800-firmware )
-	!net-wireless/ath6k
-	!net-wireless/ath10k
-	!net-wireless/iwl1000-ucode
-	!net-wireless/iwl2000-ucode
-	!net-wireless/iwl2030-ucode
-	!net-wireless/iwl3945-ucode
-	!net-wireless/iwl4965-ucode
-	!net-wireless/iwl5000-ucode
-	!net-wireless/iwl6000-ucode
-	!net-wireless/iwl6005-ucode
-	!net-wireless/iwl6030-ucode
-	!net-wireless/iwl6050-ucode
-	!sys-kernel/iwlwifi-gfp2-private
-"
-
-RESTRICT="binchecks strip"
-
-FIRMWARE_INSTALL_ROOT="/lib/firmware"
-
-use_fw() {
-	use linux_firmware_$1
-}
-
-doins_subdir() {
-	# Avoid having this insinto command affecting later doins calls.
-	local file
-	for file in "${@}"; do
-		(
-		insinto "${FIRMWARE_INSTALL_ROOT}/${file%/*}"
-		doins "${file}"
-		)
-	done
-}
-
-install_iwlwifi() {
-	# We do not always need to detect the kernel version when all kernels
-	# have the same iwlwifi firmware version. However, this changes every so
-	# often for the 2 most recent kernels during bring up, where we can
-	# typically use a more recent firmware on the in-development board but
-	# keep the previous version for stable boards to avoid regressions.
-	# Keep the logic around to avoid having to rewrite it every single time.
-	local kernel=""
-	local k
-	for k in "${IUSE_KERNEL_VERS[@]}"; do
-		if use "${k}"; then
-			kernel="${k}"
-			break
-		fi
-	done
-	if [[ -z "${kernel}" ]]; then
-		einfo "No kernel USE flag set."
-		einfo "Expected if all kernels have the same iwlwifi firmware."
-	fi
-
-	for x in "${IUSE_IWLWIFI[@]}"; do
-		use_fw "${x}" || continue
-		case "${x}" in
-		iwlwifi-all)   doins iwlwifi-*.ucode ;;
-		iwlwifi-6005)  doins iwlwifi-6000g2a-*.ucode ;;
-		iwlwifi-6030)  doins iwlwifi-6000g2b-*.ucode ;;
-		iwlwifi-7260)  doins "${x}-17.ucode" ;;
-		iwlwifi-7265D) doins "${x}-29.ucode" ;;
-		iwlwifi-9000)  doins "${x}-pu-b0-jf-b0-46.ucode" ;;
-		iwlwifi-9260)  doins "${x}-th-b0-jf-b0-46.ucode" ;;
-		iwlwifi-cc)
-			case "${kernel}" in
-			kernel-upstream) doins "${x}-a0-62.ucode" ;;
-			*)               doins "${x}-a0-68.ucode" ;;
-			esac
-			;;
-		iwlwifi-QuZ)
-			case "${kernel}" in
-			kernel-4_19) doins "${x}-a0-hr-b0-68.ucode" ;;
-			kernel-5_4)  doins "${x}-a0-hr-b0-68.ucode" ;;
-			kernel-5_10)  doins "${x}-a0-hr-b0-68.ucode" ;;
-			kernel-5_15)  doins "${x}-a0-hr-b0-67.ucode" ;;
-			kernel-upstream)  doins "${x}-a0-hr-b0-62.ucode" ;;
-			*)
-				ewarn "Unexpected kernel version '${kernel}'."
-				ewarn "Installing all '${x}' files."
-				doins "${x}"-*.ucode
-				;;
-			esac
-			;;
-		iwlwifi-so)
-			doins "${x}-a0-gf-a0-68.ucode"
-			doins "${x}-a0-gf-a0.pnvm"
-			;;
-		iwlwifi-*) doins "${x}"-*.ucode ;;
-		esac
-		# At least with EAPI 7, it's ok to call 'doins' with the same
-		# file multiple times. So an overlay declaring multiple
-		# 'iwlwifi-*' USE flags (e.g. volteer) won't break the build.
-		doins "iwl-dbg-cfg.ini"
-	done
-}
-
-src_install() {
-	local x
-	insinto "${FIRMWARE_INSTALL_ROOT}"
-	use_fw adreno-630 && doins_subdir qcom/a630*
-	use_fw adreno-660 && doins_subdir qcom/a660*
-	use_fw adsp_apl && doins_subdir intel/dsp_fw_bxtn*
-	use_fw adsp_cnl && doins_subdir intel/dsp_fw_cnl*
-	use_fw adsp_glk && doins_subdir intel/dsp_fw_glk*
-	use_fw adsp_kbl && doins_subdir intel/dsp_fw_kbl*
-	use_fw adsp_skl && doins_subdir intel/dsp_fw_*
-	use_fw ath9k_htc && doins htc_*.fw
-	use_fw ath10k_qca6174a-5 && doins_subdir ath10k/QCA6174/hw3.0/{firmware-6,board-2}.bin
-	use_fw ath10k_qca6174a-3 && doins_subdir ath10k/QCA6174/hw3.0/{firmware-sdio-6,board-2}.bin
-	use_fw ath10k_wcn3990 && doins_subdir ath10k/WCN3990/hw1.0/*
-	use_fw ath11k_wcn6855 && doins_subdir ath11k/WCN6855/hw2.0/*
-	use_fw bcm4354-bt && doins_subdir brcm/BCM4354_*.hcd
-	use_fw cros-pd && doins_subdir cros-pd/*
-	use_fw fw_sst && doins_subdir intel/fw_sst*
-	use_fw fw_sst2 && doins_subdir intel/IntcSST2.bin
-	use_fw i915_adl && doins_subdir i915/adl*
-	use_fw i915_bxt && doins_subdir i915/bxt*
-	use_fw i915_cnl && doins_subdir i915/cnl*
-	use_fw i915_glk && doins_subdir i915/glk*
-	use_fw i915_jsl && doins_subdir i915/icl_dmc_ver1_09.bin && doins_subdir i915/ehl*
-	use_fw i915_kbl && doins_subdir i915/kbl*
-	use_fw i915_skl && doins_subdir i915/skl*
-	use_fw i915_tgl && doins_subdir i915/tgl*
-	use_fw ipu3_fw && doins_subdir intel/irci_*
-	use_fw ibt_9260 && doins_subdir intel/ibt-18-16-1.*
-	use_fw ibt_9560 && doins_subdir intel/ibt-17-16-1.*
-	use_fw ibt_ax200 && doins_subdir intel/ibt-20-*.*
-	use_fw ibt_ax201 && doins_subdir intel/ibt-19-*.*
-	use_fw ibt_ax211 && doins_subdir intel/ibt-0040-0041.*
-	use_fw ibt-hw && doins_subdir intel/ibt-hw-*.bseq
-	use_fw ice && doins_subdir intel/ice/ddp/*
-	use_fw keyspan_usb && doins_subdir keyspan/*
-	use_fw marvell-mwlwifi && doins_subdir mwlwifi/*.bin
-	use_fw marvell-pcie8897 && doins_subdir mrvl/pcie8897_uapsta.bin
-	use_fw marvell-pcie8997 && doins_subdir mrvl/pcieusb8997_combo_v4.bin
-	use_fw mt7921e && doins_subdir mediatek/WIFI_{MT7961_patch_mcu_1_2_hdr,RAM_CODE_MT7961_1}.bin
-	use_fw mt7921e-bt && doins_subdir mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin
-	use_fw mt8173-vpu && doins vpu_{d,p}.bin
-	use_fw nvidia-xusb && doins_subdir nvidia/tegra*/xusb.bin
-	use_fw qca6174a-3-bt && doins_subdir qca/{nvm,rampatch}_0044*.bin
-	use_fw qca6174a-5-bt && doins_subdir qca/{nvm,rampatch}_usb_00000302*.bin
-	use_fw qca-wcn3990-bt && doins_subdir qca/{crbtfw21.tlv,crnv21.bin}
-	use_fw qca-wcn3991-bt && doins_subdir qca/{crbtfw32.tlv,crnv32.bin,crnv32u.bin}
-	use_fw qca-wcn685x-bt && doins_subdir qca/{nvm,rampatch}_usb_0013*.bin
-	use_fw qca-wcn6750-bt && doins_subdir qca/{msnv11.bin,msbtfw11.*}
-	use_fw rockchip-dptx && doins_subdir rockchip/dptx.bin
-	use_fw rtl8107e-1 && doins_subdir rtl_nic/rtl8107e-1.fw
-	use_fw rtl8107e-2 && doins_subdir rtl_nic/rtl8107e-2.fw
-	use_fw rtl8125a-3 && doins_subdir rtl_nic/rtl8125a-3.fw
-	use_fw rtl8125b-1 && doins_subdir rtl_nic/rtl8125b-1.fw
-	use_fw rtl8125b-2 && doins_subdir rtl_nic/rtl8125b-2.fw
-	use_fw rtl8153 && doins_subdir rtl_nic/rtl8153*.fw
-	use_fw rtl8168fp-3 && doins_subdir rtl_nic/rtl8168fp-3.fw
-	use_fw rtl8168g-1 && doins_subdir rtl_nic/rtl8168g-1.fw
-	use_fw rtl8168g-2 && doins_subdir rtl_nic/rtl8168g-2.fw
-	use_fw rtl8168h-1 && doins_subdir rtl_nic/rtl8168h-1.fw
-	use_fw rtl8168h-2 && doins_subdir rtl_nic/rtl8168h-2.fw
-	use_fw rtl_bt-8822ce-uart && doins_subdir rtl_bt/rtl8822cs*.bin
-	use_fw rtl_bt-8822ce-usb && doins_subdir rtl_bt/rtl8822cu*.bin
-	use_fw rtl_bt-8852ae-usb && doins_subdir rtl_bt/rtl8852au*.bin
-	use_fw rtw8822c && doins_subdir rtw88/rtw8822c*.bin
-	use_fw rtw8852a && doins_subdir rtw89/rtw8852a*.bin
-	use_fw venus-52 && doins_subdir qcom/venus-5.2/*
-	use_fw venus-54 && doins_subdir qcom/venus-5.4/*
-	use_fw venus-vpu-2 && doins_subdir qcom/vpu-2.0/*
-	use video_cards_radeon && doins_subdir radeon/*
-
-	local ignore_legacy_amdgpu=0
-
-	if use_fw amdgpu_carrizo; then
-		doins_subdir amdgpu/carrizo*
-		ignore_legacy_amdgpu=1
-	fi
-
-	if use_fw amdgpu_green_sardine; then
-		doins_subdir amdgpu/green_sardine*
-		ignore_legacy_amdgpu=1
-	fi
-
-	if use_fw amdgpu_picasso; then
-		doins_subdir amdgpu/picasso*
-		ignore_legacy_amdgpu=1
-	fi
-
-	if use_fw amdgpu_raven2; then
-		doins_subdir amdgpu/raven_dmcu*
-		doins_subdir amdgpu/raven2*
-		ignore_legacy_amdgpu=1
-	fi
-
-	if use_fw amdgpu_renoir; then
-		doins_subdir amdgpu/renoir*
-		ignore_legacy_amdgpu=1
-	fi
-
-	if use_fw amdgpu_stoney; then
-		doins_subdir amdgpu/stoney*
-		ignore_legacy_amdgpu=1
-	fi
-
-	if use_fw amdgpu_vega12; then
-		doins_subdir amdgpu/vega12*
-		ignore_legacy_amdgpu=1
-	fi
-
-	if use_fw amdgpu_yellow_carp; then
-		doins_subdir amdgpu/yellow_carp*
-		ignore_legacy_amdgpu=1
-	fi
-
-	# This use flag is deprecated and being removed
-	if [[ "${ignore_legacy_amdgpu}" -eq 0 ]] && use video_cards_amdgpu; then
-		doins_subdir amdgpu/{carrizo,picasso,raven_dmcu,raven2,stoney,vega12}*
-	fi
-
-	use_fw rt2870 && doins rt2870.bin
-
-	# The firmware here is a mess; install specific files by hand.
-	if use linux_firmware_ath3k-all || use linux_firmware_ath3k-ar3011; then
-		doins ath3k-1.fw
-	fi
-	if use linux_firmware_ath3k-all || use linux_firmware_ath3k-ar3012; then
-		(
-		insinto "${FIRMWARE_INSTALL_ROOT}/ar3k"
-		doins ar3k/*.dfu
-		)
-	fi
-
-	install_iwlwifi
-
-	for x in "${IUSE_BRCMWIFI[@]}"; do
-		use_fw ${x} || continue
-		case ${x} in
-		brcmfmac-all)      doins_subdir brcm/brcmfmac* ;;
-		brcmfmac4354-sdio) doins_subdir brcm/brcmfmac4354-sdio.* ;;
-		brcmfmac4356-pcie) doins_subdir brcm/brcmfmac4356-pcie.* ;;
-		brcmfmac4371-pcie) doins_subdir brcm/brcmfmac4371-pcie.* ;;
-		esac
-	done
-
-	# Hanle 'Link:' directives in WHENCE. The Makefile's copy-firmware.sh
-	# does this too, but we trim down the install list a lot, so we don't
-	# use that script.
-	local link target
-	while read -r link target; do
-		# ${target} is link-relative, so we need to construct a full path.
-		local install_target="${D}/${FIRMWARE_INSTALL_ROOT}/$(dirname "${link}")/${target}"
-		# Skip 'Link' directives for files we didn't install already.
-		[[ -f "${install_target}" ]] || continue
-		einfo "Creating link ${link} (${target})"
-		dodir "${FIRMWARE_INSTALL_ROOT}/$(dirname "${link}")"
-		dosym "${target}" "${FIRMWARE_INSTALL_ROOT}/${link}"
-	done < <(grep -E '^Link:' WHENCE | sed -e's/^Link: *//g' -e's/-> //g')
-}
-
-src_test() {
-	emake check
-}
diff --git a/sys-kernel/linux-firmware/linux-firmware-0.0.1-r586.ebuild b/sys-kernel/linux-firmware/linux-firmware-0.0.1-r586.ebuild
new file mode 100644
index 0000000..d17451b
--- /dev/null
+++ b/sys-kernel/linux-firmware/linux-firmware-0.0.1-r586.ebuild
@@ -0,0 +1,527 @@
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+CROS_WORKON_COMMIT="d8fe66bede020f08673a0430add1e6871381f02a"
+CROS_WORKON_TREE="b6b02dc67b4f59579af60a26dea67a3f1e1234ca"
+CROS_WORKON_PROJECT="chromiumos/third_party/linux-firmware"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_EGIT_BRANCH="master"
+
+inherit cros-workon cros-sanitizers
+
+DESCRIPTION="Firmware images from the upstream linux-fimware package"
+HOMEPAGE="https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/"
+
+SLOT="0"
+KEYWORDS="*"
+
+
+IUSE_KERNEL_VERS=(
+	kernel-4_19
+	kernel-5_4
+	kernel-5_10
+	kernel-5_15
+	kernel-upstream
+)
+IUSE_ATH3K=(
+	ath3k-all
+	ath3k-ar3011
+	ath3k-ar3012
+)
+IUSE_IWLWIFI=(
+	iwlwifi-all
+	iwlwifi-100
+	iwlwifi-105
+	iwlwifi-135
+	iwlwifi-1000
+	iwlwifi-1000
+	iwlwifi-2000
+	iwlwifi-2030
+	iwlwifi-3160
+	iwlwifi-3945
+	iwlwifi-4965
+	iwlwifi-5000
+	iwlwifi-5150
+	iwlwifi-6000
+	iwlwifi-6005
+	iwlwifi-6030
+	iwlwifi-6050
+	iwlwifi-7260
+	iwlwifi-7265
+	iwlwifi-7265D
+	iwlwifi-9000
+	iwlwifi-9260
+	iwlwifi-cc
+	iwlwifi-QuZ
+	iwlwifi-so
+)
+IUSE_BRCMWIFI=(
+	brcmfmac-all
+	brcmfmac4354-sdio
+	brcmfmac4356-pcie
+	brcmfmac4371-pcie
+)
+IUSE_LINUX_FIRMWARE=(
+	adreno-630
+	adreno-660
+	adsp_apl
+	adsp_cnl
+	adsp_glk
+	adsp_kbl
+	adsp_skl
+	ath9k_htc
+	ath10k_qca6174a-5
+	ath10k_qca6174a-3
+	ath10k_wcn3990
+	ath11k_wcn6750
+	ath11k_wcn6855
+	amd_ucode
+	amdgpu_carrizo
+	amdgpu_gc_10_3_7
+	amdgpu_green_sardine
+	amdgpu_picasso
+	amdgpu_raven2
+	amdgpu_renoir
+	amdgpu_stoney
+	amdgpu_vega12
+	amdgpu_yellow_carp
+	bcm4354-bt
+	cros-pd
+	fw_sst
+	fw_sst2
+	i915_adl
+	i915_bxt
+	i915_cnl
+	i915_glk
+	i915_jsl
+	i915_kbl
+	i915_skl
+	i915_tgl
+	ibt_9260
+	ibt_9560
+	ibt_ax200
+	ibt_ax201
+	ibt_ax211
+	ibt-hw
+	ice
+	ipu3_fw
+	keyspan_usb
+	marvell-mwlwifi
+	marvell-pcie8897
+	marvell-pcie8997
+	mt7921e
+	mt7921e-bt
+	mt8173-vpu
+	nvidia-xusb
+	qca6174a-3-bt
+	qca6174a-5-bt
+	qca-wcn3990-bt
+	qca-wcn3991-bt
+	qca-wcn685x-bt
+	qca-wcn6750-bt
+	rockchip-dptx
+	rt2870
+	rtl8107e-1
+	rtl8107e-2
+	rtl8125a-3
+	rtl8125b-1
+	rtl8125b-2
+	rtl8153
+	rtl8168fp-3
+	rtl8168g-1
+	rtl8168g-2
+	rtl8168h-1
+	rtl8168h-2
+	rtl_bt-8822ce-uart
+	rtl_bt-8822ce-usb
+	rtl_bt-8852ae-usb
+	rtl_bt-8852ce-usb
+	rtw8822c
+	rtw8852a
+	rtw8852c
+	venus-52
+	venus-54
+	venus-vpu-2
+	"${IUSE_ATH3K[@]}"
+	"${IUSE_IWLWIFI[@]}"
+	"${IUSE_BRCMWIFI[@]}"
+)
+IUSE="
+	${IUSE_KERNEL_VERS[*]}
+	${IUSE_LINUX_FIRMWARE[*]/#/linux_firmware_}
+	video_cards_radeon
+	video_cards_amdgpu"
+REQUIRED_USE="?? ( ${IUSE_KERNEL_VERS[*]} )"
+LICENSE="
+	linux_firmware_adreno-630? ( LICENSE.qcom )
+	linux_firmware_adreno-660? ( LICENSE.qcom )
+	linux_firmware_adsp_apl? ( LICENCE.adsp_sst )
+	linux_firmware_adsp_cnl? ( LICENCE.adsp_sst )
+	linux_firmware_adsp_glk? ( LICENCE.adsp_sst )
+	linux_firmware_adsp_kbl? ( LICENCE.adsp_sst )
+	linux_firmware_adsp_skl? ( LICENCE.adsp_sst )
+	linux_firmware_amd_ucode? ( LICENSE.amd-ucode )
+	linux_firmware_amdgpu_carrizo? ( LICENSE.amdgpu )
+	linux_firmware_amdgpu_gc_10_3_7? ( LICENSE.amdgpu )
+	linux_firmware_amdgpu_green_sardine? ( LICENSE.amdgpu )
+	linux_firmware_amdgpu_picasso? ( LICENSE.amdgpu )
+	linux_firmware_amdgpu_raven2? ( LICENSE.amdgpu )
+	linux_firmware_amdgpu_renoir? ( LICENSE.amdgpu )
+	linux_firmware_amdgpu_stoney? ( LICENSE.amdgpu )
+	linux_firmware_amdgpu_vega12? ( LICENSE.amdgpu )
+	linux_firmware_amdgpu_yellow_carp? ( LICENSE.amdgpu )
+	linux_firmware_ath3k-all? ( LICENCE.atheros_firmware )
+	linux_firmware_ath3k-ar3011? ( LICENCE.atheros_firmware )
+	linux_firmware_ath3k-ar3012? ( LICENCE.atheros_firmware )
+	linux_firmware_ath9k_htc? ( LICENCE.atheros_firmware )
+	linux_firmware_ath10k_qca6174a-5? ( LICENSE.QualcommAtheros_ath10k )
+	linux_firmware_ath10k_qca6174a-3? ( LICENSE.QualcommAtheros_ath10k )
+	linux_firmware_ath10k_wcn3990? ( LICENCE.atheros_firmware )
+	linux_firmware_ath11k_wcn6750? ( LICENSE.QualcommAtheros_ath10k )
+	linux_firmware_ath11k_wcn6855? ( LICENSE.QualcommAtheros_ath10k )
+	linux_firmware_bcm4354-bt? ( LICENCE.broadcom_bcm43xx )
+	linux_firmware_cros-pd? ( BSD-Google )
+	linux_firmware_fw_sst? ( LICENCE.fw_sst )
+	linux_firmware_fw_sst2? ( LICENCE.IntcSST2 )
+	linux_firmware_i915_adl? ( LICENSE.i915 )
+	linux_firmware_i915_bxt? ( LICENSE.i915 )
+	linux_firmware_i915_cnl? ( LICENSE.i915 )
+	linux_firmware_i915_glk? ( LICENSE.i915 )
+	linux_firmware_i915_jsl? ( LICENSE.i915 )
+	linux_firmware_i915_kbl? ( LICENSE.i915 )
+	linux_firmware_i915_skl? ( LICENSE.i915 )
+	linux_firmware_i915_tgl? ( LICENSE.i915 )
+	linux_firmware_ipu3_fw? ( LICENSE.ipu3_firmware )
+	linux_firmware_ibt_9260? ( LICENCE.ibt_firmware )
+	linux_firmware_ibt_9560? ( LICENCE.ibt_firmware )
+	linux_firmware_ibt_ax200? ( LICENCE.ibt_firmware )
+	linux_firmware_ibt_ax201? ( LICENCE.ibt_firmware )
+	linux_firmware_ibt_ax211? ( LICENCE.ibt_firmware )
+	linux_firmware_ibt-hw? ( LICENCE.ibt_firmware )
+	linux_firmware_ice? ( LICENSE.ice )
+	linux_firmware_keyspan_usb? ( LICENSE.keyspan_usb )
+	linux_firmware_marvell-mwlwifi? ( LICENCE.Marvell )
+	linux_firmware_marvell-pcie8897? ( LICENCE.NXP )
+	linux_firmware_marvell-pcie8997? ( LICENCE.NXP )
+	linux_firmware_mt7921e? ( LICENCE.mediatek-nic )
+	linux_firmware_mt7921e-bt? ( LICENCE.mediatek-nic )
+	linux_firmware_mt8173-vpu? ( LICENCE.mediatek-vpu )
+	linux_firmware_nvidia-xusb? ( LICENCE.nvidia )
+	linux_firmware_qca6174a-3-bt? ( LICENSE.QualcommAtheros_ath10k )
+	linux_firmware_qca6174a-5-bt? ( LICENSE.QualcommAtheros_ath10k )
+	linux_firmware_qca-wcn3990-bt? ( LICENSE.QualcommAtheros_ath10k )
+	linux_firmware_qca-wcn3991-bt? ( LICENSE.QualcommAtheros_ath10k )
+	linux_firmware_qca-wcn685x-bt? ( LICENSE.QualcommAtheros_ath10k )
+	linux_firmware_qca-wcn6750-bt? ( LICENSE.QualcommAtheros_ath10k )
+	linux_firmware_rockchip-dptx? ( LICENCE.rockchip )
+	linux_firmware_rt2870? ( LICENCE.ralink-firmware.txt LICENCE.ralink_a_mediatek_company_firmware )
+	linux_firmware_rtl8107e-1? ( LICENCE.rtl_nic )
+	linux_firmware_rtl8107e-2? ( LICENCE.rtl_nic )
+	linux_firmware_rtl8125a-3? ( LICENCE.rtl_nic )
+	linux_firmware_rtl8125b-1? ( LICENCE.rtl_nic )
+	linux_firmware_rtl8125b-2? ( LICENCE.rtl_nic )
+	linux_firmware_rtl8153? ( LICENCE.rtlwifi_firmware )
+	linux_firmware_rtl8168fp-3? ( LICENCE.rtl_nic )
+	linux_firmware_rtl8168g-1? ( LICENCE.rtl_nic )
+	linux_firmware_rtl8168g-2? ( LICENCE.rtl_nic )
+	linux_firmware_rtl8168h-1? ( LICENCE.rtl_nic )
+	linux_firmware_rtl8168h-2? ( LICENCE.rtl_nic )
+	linux_firmware_rtl_bt-8822ce-uart? ( LICENCE.rtlwifi_firmware )
+	linux_firmware_rtl_bt-8822ce-usb? ( LICENCE.rtlwifi_firmware )
+	linux_firmware_rtl_bt-8852ae-usb? ( LICENCE.rtlwifi_firmware )
+	linux_firmware_rtl_bt-8852ce-usb? ( LICENCE.rtlwifi_firmware )
+	linux_firmware_rtw8822c? ( LICENCE.rtlwifi_firmware )
+	linux_firmware_rtw8852a? ( LICENCE.rtlwifi_firmware )
+	linux_firmware_rtw8852c? ( LICENCE.rtlwifi_firmware )
+	linux_firmware_venus-52? ( LICENSE.qcom )
+	linux_firmware_venus-54? ( LICENSE.qcom )
+	linux_firmware_venus-vpu-2? ( LICENSE.qcom )
+	$(printf 'linux_firmware_%s? ( LICENCE.iwlwifi_firmware ) ' "${IUSE_IWLWIFI[@]}")
+	$(printf 'linux_firmware_%s? ( LICENCE.broadcom_bcm43xx ) ' "${IUSE_BRCMWIFI[@]}")
+	video_cards_radeon? ( LICENSE.radeon )
+	video_cards_amdgpu? ( LICENSE.amdgpu )
+"
+
+BDEPEND="
+	dev-lang/python
+	dev-vcs/git
+"
+
+RDEPEND="
+	linux_firmware_adreno-630? ( !media-libs/a630-fw )
+	linux_firmware_adreno-630? ( !media-libs/a660-fw )
+	linux_firmware_ath3k-all? ( !net-wireless/ath3k )
+	linux_firmware_ath3k-ar3011? ( !net-wireless/ath3k )
+	linux_firmware_ath3k-ar3012? ( !net-wireless/ath3k )
+	linux_firmware_keyspan_usb? (
+		!sys-kernel/chromeos-kernel-4_4[firmware_install]
+	)
+	linux_firmware_marvell-pcie8897? ( !net-wireless/marvell_sd8787[pcie] )
+	linux_firmware_marvell-pcie8997? ( !net-wireless/marvell_sd8787[pcie] )
+	linux_firmware_mt8173-vpu? ( !media-libs/vpu-fw )
+	linux_firmware_nvidia-xusb? ( !sys-kernel/xhci-firmware )
+	linux_firmware_rt2870? ( !net-wireless/realtek-rt2800-firmware )
+	!net-wireless/ath6k
+	!net-wireless/ath10k
+	!net-wireless/iwl1000-ucode
+	!net-wireless/iwl2000-ucode
+	!net-wireless/iwl2030-ucode
+	!net-wireless/iwl3945-ucode
+	!net-wireless/iwl4965-ucode
+	!net-wireless/iwl5000-ucode
+	!net-wireless/iwl6000-ucode
+	!net-wireless/iwl6005-ucode
+	!net-wireless/iwl6030-ucode
+	!net-wireless/iwl6050-ucode
+"
+
+RESTRICT="binchecks strip"
+
+FIRMWARE_INSTALL_ROOT="/lib/firmware"
+
+use_fw() {
+	use "linux_firmware_$1"
+}
+
+doins_subdir() {
+	# Avoid having this insinto command affecting later doins calls.
+	local file
+	for file in "${@}"; do
+		(
+		insinto "${FIRMWARE_INSTALL_ROOT}/${file%/*}"
+		doins "${file}"
+		)
+	done
+}
+
+install_iwlwifi() {
+	# We do not always need to detect the kernel version when all kernels
+	# have the same iwlwifi firmware version. However, this changes every so
+	# often for the 2 most recent kernels during bring up, where we can
+	# typically use a more recent firmware on the in-development board but
+	# keep the previous version for stable boards to avoid regressions.
+	# Keep the logic around to avoid having to rewrite it every single time.
+	local kernel=""
+	local k
+	for k in "${IUSE_KERNEL_VERS[@]}"; do
+		if use "${k}"; then
+			kernel="${k}"
+			break
+		fi
+	done
+	if [[ -z "${kernel}" ]]; then
+		einfo "No kernel USE flag set."
+		einfo "Expected if all kernels have the same iwlwifi firmware."
+	fi
+
+	for x in "${IUSE_IWLWIFI[@]}"; do
+		use_fw "${x}" || continue
+		case "${x}" in
+		iwlwifi-all)   doins iwlwifi-*.ucode ;;
+		iwlwifi-6005)  doins iwlwifi-6000g2a-*.ucode ;;
+		iwlwifi-6030)  doins iwlwifi-6000g2b-*.ucode ;;
+		iwlwifi-7260)  doins "${x}-17.ucode" ;;
+		iwlwifi-7265D) doins "${x}-29.ucode" ;;
+		iwlwifi-9000)  doins "${x}-pu-b0-jf-b0-46.ucode" ;;
+		iwlwifi-9260)  doins "${x}-th-b0-jf-b0-46.ucode" ;;
+		iwlwifi-cc)
+			case "${kernel}" in
+			kernel-upstream) doins "${x}-a0-72.ucode" ;;
+			*)               doins "${x}-a0-73.ucode" ;;
+			esac
+			;;
+		iwlwifi-QuZ)
+			case "${kernel}" in
+			kernel-4_19) doins "${x}-a0-hr-b0-73.ucode" ;;
+			kernel-5_4)  doins "${x}-a0-hr-b0-73.ucode" ;;
+			kernel-5_10)  doins "${x}-a0-hr-b0-73.ucode" ;;
+			kernel-5_15)  doins "${x}-a0-hr-b0-73.ucode" ;;
+			kernel-upstream)  doins "${x}-a0-hr-b0-72.ucode" ;;
+			*)
+				ewarn "Unexpected kernel version '${kernel}'."
+				ewarn "Installing all '${x}' files."
+				doins "${x}"-*.ucode
+				;;
+			esac
+			;;
+		iwlwifi-so)
+			case "${kernel}" in
+			kernel-upstream) doins "${x}-a0-gf-a0-72.ucode" ;;
+			*)               doins "${x}-a0-gf-a0-73.ucode" ;;
+			esac
+			doins "${x}-a0-gf-a0.pnvm"
+			;;
+		iwlwifi-*) doins "${x}"-*.ucode ;;
+		esac
+		# At least with EAPI 7, it's ok to call 'doins' with the same
+		# file multiple times. So an overlay declaring multiple
+		# 'iwlwifi-*' USE flags (e.g. volteer) won't break the build.
+		doins "iwl-dbg-cfg.ini"
+	done
+}
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
+src_install() {
+	local x
+	insinto "${FIRMWARE_INSTALL_ROOT}"
+	use_fw adreno-630 && doins_subdir qcom/a630*
+	use_fw adreno-660 && doins_subdir qcom/a660*
+	use_fw adsp_apl && doins_subdir intel/dsp_fw_bxtn*
+	use_fw adsp_cnl && doins_subdir intel/dsp_fw_cnl*
+	use_fw adsp_glk && doins_subdir intel/dsp_fw_glk*
+	use_fw adsp_kbl && doins_subdir intel/dsp_fw_kbl*
+	use_fw adsp_skl && doins_subdir intel/dsp_fw_*
+	use_fw amd_ucode && doins_subdir amd-ucode/*.bin
+	use_fw ath9k_htc && doins htc_*.fw
+	use_fw ath10k_qca6174a-5 && doins_subdir ath10k/QCA6174/hw3.0/{firmware-6,board-2}.bin
+	use_fw ath10k_qca6174a-3 && doins_subdir ath10k/QCA6174/hw3.0/{firmware-sdio-6,board-2}.bin
+	use_fw ath10k_wcn3990 && doins_subdir ath10k/WCN3990/hw1.0/*
+	use_fw ath11k_wcn6750 && doins_subdir ath11k/WCN6750/hw1.0/*
+	use_fw ath11k_wcn6855 && doins_subdir ath11k/WCN6855/hw2.0/*
+	use_fw bcm4354-bt && doins_subdir brcm/BCM4354_*.hcd
+	use_fw cros-pd && doins_subdir cros-pd/*
+	use_fw fw_sst && doins_subdir intel/fw_sst*
+	use_fw fw_sst2 && doins_subdir intel/IntcSST2.bin
+	use_fw i915_adl && doins_subdir i915/adl*
+	use_fw i915_bxt && doins_subdir i915/bxt*
+	use_fw i915_cnl && doins_subdir i915/cnl*
+	use_fw i915_glk && doins_subdir i915/glk*
+	use_fw i915_jsl && doins_subdir i915/icl_dmc_ver1_09.bin && doins_subdir i915/ehl*
+	use_fw i915_kbl && doins_subdir i915/kbl*
+	use_fw i915_skl && doins_subdir i915/skl*
+	use_fw i915_tgl && doins_subdir i915/tgl*
+	use_fw ipu3_fw && doins_subdir intel/irci_*
+	use_fw ibt_9260 && doins_subdir intel/ibt-18-16-1.*
+	use_fw ibt_9560 && doins_subdir intel/ibt-17-16-1.*
+	use_fw ibt_ax200 && doins_subdir intel/ibt-20-*.*
+	use_fw ibt_ax201 && doins_subdir intel/ibt-19-*.*
+	use_fw ibt_ax211 && doins_subdir intel/ibt-0040-0041.*
+	use_fw ibt-hw && doins_subdir intel/ibt-hw-*.bseq
+	use_fw ice && doins_subdir intel/ice/ddp/*
+	use_fw keyspan_usb && doins_subdir keyspan/*
+	use_fw marvell-mwlwifi && doins_subdir mwlwifi/*.bin
+	use_fw marvell-pcie8897 && doins_subdir mrvl/pcie8897_uapsta.bin
+	use_fw marvell-pcie8997 && doins_subdir mrvl/pcieusb8997_combo_v4.bin
+	use_fw mt7921e && doins_subdir mediatek/WIFI_{MT7961_patch_mcu_1_2_hdr,RAM_CODE_MT7961_1}.bin
+	use_fw mt7921e-bt && doins_subdir mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin
+	use_fw mt8173-vpu && doins_subdir mediatek/mt8173/vpu_{d,p}.bin
+	use_fw nvidia-xusb && doins_subdir nvidia/tegra*/xusb.bin
+	use_fw qca6174a-3-bt && doins_subdir qca/{nvm,rampatch}_0044*.bin
+	use_fw qca6174a-5-bt && doins_subdir qca/{nvm,rampatch}_usb_00000302*.bin
+	use_fw qca-wcn3990-bt && doins_subdir qca/{crbtfw21.tlv,crnv21.bin}
+	use_fw qca-wcn3991-bt && doins_subdir qca/{crbtfw32.tlv,crnv32.bin,crnv32u.bin}
+	use_fw qca-wcn685x-bt && doins_subdir qca/{nvm,rampatch}_usb_0013*.bin
+	use_fw qca-wcn6750-bt && doins_subdir qca/{msnv11.bin,msbtfw11.*}
+	use_fw rockchip-dptx && doins_subdir rockchip/dptx.bin
+	use_fw rtl8107e-1 && doins_subdir rtl_nic/rtl8107e-1.fw
+	use_fw rtl8107e-2 && doins_subdir rtl_nic/rtl8107e-2.fw
+	use_fw rtl8125a-3 && doins_subdir rtl_nic/rtl8125a-3.fw
+	use_fw rtl8125b-1 && doins_subdir rtl_nic/rtl8125b-1.fw
+	use_fw rtl8125b-2 && doins_subdir rtl_nic/rtl8125b-2.fw
+	use_fw rtl8153 && doins_subdir rtl_nic/rtl8153*.fw
+	use_fw rtl8168fp-3 && doins_subdir rtl_nic/rtl8168fp-3.fw
+	use_fw rtl8168g-1 && doins_subdir rtl_nic/rtl8168g-1.fw
+	use_fw rtl8168g-2 && doins_subdir rtl_nic/rtl8168g-2.fw
+	use_fw rtl8168h-1 && doins_subdir rtl_nic/rtl8168h-1.fw
+	use_fw rtl8168h-2 && doins_subdir rtl_nic/rtl8168h-2.fw
+	use_fw rtl_bt-8822ce-uart && doins_subdir rtl_bt/rtl8822cs*.bin
+	use_fw rtl_bt-8822ce-usb && doins_subdir rtl_bt/rtl8822cu*.bin
+	use_fw rtl_bt-8852ae-usb && doins_subdir rtl_bt/rtl8852au*.bin
+	use_fw rtl_bt-8852ce-usb && doins_subdir rtl_bt/rtl8852cu*.bin
+	use_fw rtw8822c && doins_subdir rtw88/rtw8822c*.bin
+	use_fw rtw8852a && doins_subdir rtw89/rtw8852a*.bin
+	use_fw rtw8852c && doins_subdir rtw89/rtw8852c*.bin
+	use_fw venus-52 && doins_subdir qcom/venus-5.2/*
+	use_fw venus-54 && doins_subdir qcom/venus-5.4/*
+	use_fw venus-vpu-2 && doins_subdir qcom/vpu-2.0/*
+	use video_cards_radeon && doins_subdir radeon/*
+
+	if use_fw amdgpu_carrizo; then
+		doins_subdir amdgpu/carrizo*
+	fi
+
+	if use_fw amdgpu_gc_10_3_7; then
+		doins_subdir amdgpu/dcn_3_1_6*
+		doins_subdir amdgpu/gc_10_3_7_*
+		doins_subdir amdgpu/psp_13_0_8_*
+		doins_subdir amdgpu/sdma_5_2_7*
+		doins_subdir amdgpu/yellow_carp_vcn.bin
+	fi
+
+	if use_fw amdgpu_green_sardine; then
+		doins_subdir amdgpu/green_sardine*
+	fi
+
+	if use_fw amdgpu_picasso; then
+		doins_subdir amdgpu/picasso*
+	fi
+
+	if use_fw amdgpu_raven2; then
+		doins_subdir amdgpu/raven_dmcu*
+		doins_subdir amdgpu/raven2*
+	fi
+
+	if use_fw amdgpu_renoir; then
+		doins_subdir amdgpu/renoir*
+	fi
+
+	if use_fw amdgpu_stoney; then
+		doins_subdir amdgpu/stoney*
+	fi
+
+	if use_fw amdgpu_vega12; then
+		doins_subdir amdgpu/vega12*
+	fi
+
+	if use_fw amdgpu_yellow_carp; then
+		doins_subdir amdgpu/yellow_carp*
+	fi
+
+	use_fw rt2870 && doins rt2870.bin
+
+	# The firmware here is a mess; install specific files by hand.
+	if use linux_firmware_ath3k-all || use linux_firmware_ath3k-ar3011; then
+		doins ath3k-1.fw
+	fi
+	if use linux_firmware_ath3k-all || use linux_firmware_ath3k-ar3012; then
+		(
+		insinto "${FIRMWARE_INSTALL_ROOT}/ar3k"
+		doins ar3k/*.dfu
+		)
+	fi
+
+	install_iwlwifi
+
+	for x in "${IUSE_BRCMWIFI[@]}"; do
+		use_fw "${x}" || continue
+		case ${x} in
+		brcmfmac-all)      doins_subdir brcm/brcmfmac* ;;
+		brcmfmac4354-sdio) doins_subdir brcm/brcmfmac4354-sdio.* ;;
+		brcmfmac4356-pcie) doins_subdir brcm/brcmfmac4356-pcie.* ;;
+		brcmfmac4371-pcie) doins_subdir brcm/brcmfmac4371-pcie.* ;;
+		esac
+	done
+
+	# Hanle 'Link:' directives in WHENCE. The Makefile's copy-firmware.sh
+	# does this too, but we trim down the install list a lot, so we don't
+	# use that script.
+	local link target
+	while read -r link target; do
+		# ${target} is link-relative, so we need to construct a full path.
+		local install_target="${D}/${FIRMWARE_INSTALL_ROOT}/$(dirname "${link}")/${target}"
+		# Skip 'Link' directives for files we didn't install already.
+		[[ -f "${install_target}" ]] || continue
+		einfo "Creating link ${link} (${target})"
+		dodir "${FIRMWARE_INSTALL_ROOT}/$(dirname "${link}")"
+		dosym "${target}" "${FIRMWARE_INSTALL_ROOT}/${link}"
+	done < <(grep -E '^Link:' WHENCE | sed -e's/^Link: *//g' -e's/-> //g')
+}
+
+src_test() {
+	emake check
+}
diff --git a/sys-kernel/linux-firmware/linux-firmware-9999.ebuild b/sys-kernel/linux-firmware/linux-firmware-9999.ebuild
index b9a7e3c..06063dd 100644
--- a/sys-kernel/linux-firmware/linux-firmware-9999.ebuild
+++ b/sys-kernel/linux-firmware/linux-firmware-9999.ebuild
@@ -6,7 +6,7 @@
 CROS_WORKON_OUTOFTREE_BUILD=1
 CROS_WORKON_EGIT_BRANCH="master"
 
-inherit cros-workon
+inherit cros-workon cros-sanitizers
 
 DESCRIPTION="Firmware images from the upstream linux-fimware package"
 HOMEPAGE="https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/"
@@ -72,8 +72,11 @@
 	ath10k_qca6174a-5
 	ath10k_qca6174a-3
 	ath10k_wcn3990
+	ath11k_wcn6750
 	ath11k_wcn6855
+	amd_ucode
 	amdgpu_carrizo
+	amdgpu_gc_10_3_7
 	amdgpu_green_sardine
 	amdgpu_picasso
 	amdgpu_raven2
@@ -131,8 +134,10 @@
 	rtl_bt-8822ce-uart
 	rtl_bt-8822ce-usb
 	rtl_bt-8852ae-usb
+	rtl_bt-8852ce-usb
 	rtw8822c
 	rtw8852a
+	rtw8852c
 	venus-52
 	venus-54
 	venus-vpu-2
@@ -142,7 +147,7 @@
 )
 IUSE="
 	${IUSE_KERNEL_VERS[*]}
-	${IUSE_LINUX_FIRMWARE[@]/#/linux_firmware_}
+	${IUSE_LINUX_FIRMWARE[*]/#/linux_firmware_}
 	video_cards_radeon
 	video_cards_amdgpu"
 REQUIRED_USE="?? ( ${IUSE_KERNEL_VERS[*]} )"
@@ -154,7 +159,9 @@
 	linux_firmware_adsp_glk? ( LICENCE.adsp_sst )
 	linux_firmware_adsp_kbl? ( LICENCE.adsp_sst )
 	linux_firmware_adsp_skl? ( LICENCE.adsp_sst )
+	linux_firmware_amd_ucode? ( LICENSE.amd-ucode )
 	linux_firmware_amdgpu_carrizo? ( LICENSE.amdgpu )
+	linux_firmware_amdgpu_gc_10_3_7? ( LICENSE.amdgpu )
 	linux_firmware_amdgpu_green_sardine? ( LICENSE.amdgpu )
 	linux_firmware_amdgpu_picasso? ( LICENSE.amdgpu )
 	linux_firmware_amdgpu_raven2? ( LICENSE.amdgpu )
@@ -169,6 +176,7 @@
 	linux_firmware_ath10k_qca6174a-5? ( LICENSE.QualcommAtheros_ath10k )
 	linux_firmware_ath10k_qca6174a-3? ( LICENSE.QualcommAtheros_ath10k )
 	linux_firmware_ath10k_wcn3990? ( LICENCE.atheros_firmware )
+	linux_firmware_ath11k_wcn6750? ( LICENSE.QualcommAtheros_ath10k )
 	linux_firmware_ath11k_wcn6855? ( LICENSE.QualcommAtheros_ath10k )
 	linux_firmware_bcm4354-bt? ( LICENCE.broadcom_bcm43xx )
 	linux_firmware_cros-pd? ( BSD-Google )
@@ -220,8 +228,10 @@
 	linux_firmware_rtl_bt-8822ce-uart? ( LICENCE.rtlwifi_firmware )
 	linux_firmware_rtl_bt-8822ce-usb? ( LICENCE.rtlwifi_firmware )
 	linux_firmware_rtl_bt-8852ae-usb? ( LICENCE.rtlwifi_firmware )
+	linux_firmware_rtl_bt-8852ce-usb? ( LICENCE.rtlwifi_firmware )
 	linux_firmware_rtw8822c? ( LICENCE.rtlwifi_firmware )
 	linux_firmware_rtw8852a? ( LICENCE.rtlwifi_firmware )
+	linux_firmware_rtw8852c? ( LICENCE.rtlwifi_firmware )
 	linux_firmware_venus-52? ( LICENSE.qcom )
 	linux_firmware_venus-54? ( LICENSE.qcom )
 	linux_firmware_venus-vpu-2? ( LICENSE.qcom )
@@ -262,7 +272,6 @@
 	!net-wireless/iwl6005-ucode
 	!net-wireless/iwl6030-ucode
 	!net-wireless/iwl6050-ucode
-	!sys-kernel/iwlwifi-gfp2-private
 "
 
 RESTRICT="binchecks strip"
@@ -270,7 +279,7 @@
 FIRMWARE_INSTALL_ROOT="/lib/firmware"
 
 use_fw() {
-	use linux_firmware_$1
+	use "linux_firmware_$1"
 }
 
 doins_subdir() {
@@ -316,17 +325,17 @@
 		iwlwifi-9260)  doins "${x}-th-b0-jf-b0-46.ucode" ;;
 		iwlwifi-cc)
 			case "${kernel}" in
-			kernel-upstream) doins "${x}-a0-62.ucode" ;;
-			*)               doins "${x}-a0-68.ucode" ;;
+			kernel-upstream) doins "${x}-a0-72.ucode" ;;
+			*)               doins "${x}-a0-73.ucode" ;;
 			esac
 			;;
 		iwlwifi-QuZ)
 			case "${kernel}" in
-			kernel-4_19) doins "${x}-a0-hr-b0-68.ucode" ;;
-			kernel-5_4)  doins "${x}-a0-hr-b0-68.ucode" ;;
-			kernel-5_10)  doins "${x}-a0-hr-b0-68.ucode" ;;
-			kernel-5_15)  doins "${x}-a0-hr-b0-67.ucode" ;;
-			kernel-upstream)  doins "${x}-a0-hr-b0-62.ucode" ;;
+			kernel-4_19) doins "${x}-a0-hr-b0-73.ucode" ;;
+			kernel-5_4)  doins "${x}-a0-hr-b0-73.ucode" ;;
+			kernel-5_10)  doins "${x}-a0-hr-b0-73.ucode" ;;
+			kernel-5_15)  doins "${x}-a0-hr-b0-73.ucode" ;;
+			kernel-upstream)  doins "${x}-a0-hr-b0-72.ucode" ;;
 			*)
 				ewarn "Unexpected kernel version '${kernel}'."
 				ewarn "Installing all '${x}' files."
@@ -335,7 +344,10 @@
 			esac
 			;;
 		iwlwifi-so)
-			doins "${x}-a0-gf-a0-68.ucode"
+			case "${kernel}" in
+			kernel-upstream) doins "${x}-a0-gf-a0-72.ucode" ;;
+			*)               doins "${x}-a0-gf-a0-73.ucode" ;;
+			esac
 			doins "${x}-a0-gf-a0.pnvm"
 			;;
 		iwlwifi-*) doins "${x}"-*.ucode ;;
@@ -347,6 +359,11 @@
 	done
 }
 
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
 src_install() {
 	local x
 	insinto "${FIRMWARE_INSTALL_ROOT}"
@@ -357,10 +374,12 @@
 	use_fw adsp_glk && doins_subdir intel/dsp_fw_glk*
 	use_fw adsp_kbl && doins_subdir intel/dsp_fw_kbl*
 	use_fw adsp_skl && doins_subdir intel/dsp_fw_*
+	use_fw amd_ucode && doins_subdir amd-ucode/*.bin
 	use_fw ath9k_htc && doins htc_*.fw
 	use_fw ath10k_qca6174a-5 && doins_subdir ath10k/QCA6174/hw3.0/{firmware-6,board-2}.bin
 	use_fw ath10k_qca6174a-3 && doins_subdir ath10k/QCA6174/hw3.0/{firmware-sdio-6,board-2}.bin
 	use_fw ath10k_wcn3990 && doins_subdir ath10k/WCN3990/hw1.0/*
+	use_fw ath11k_wcn6750 && doins_subdir ath11k/WCN6750/hw1.0/*
 	use_fw ath11k_wcn6855 && doins_subdir ath11k/WCN6855/hw2.0/*
 	use_fw bcm4354-bt && doins_subdir brcm/BCM4354_*.hcd
 	use_fw cros-pd && doins_subdir cros-pd/*
@@ -388,7 +407,7 @@
 	use_fw marvell-pcie8997 && doins_subdir mrvl/pcieusb8997_combo_v4.bin
 	use_fw mt7921e && doins_subdir mediatek/WIFI_{MT7961_patch_mcu_1_2_hdr,RAM_CODE_MT7961_1}.bin
 	use_fw mt7921e-bt && doins_subdir mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin
-	use_fw mt8173-vpu && doins vpu_{d,p}.bin
+	use_fw mt8173-vpu && doins_subdir mediatek/mt8173/vpu_{d,p}.bin
 	use_fw nvidia-xusb && doins_subdir nvidia/tegra*/xusb.bin
 	use_fw qca6174a-3-bt && doins_subdir qca/{nvm,rampatch}_0044*.bin
 	use_fw qca6174a-5-bt && doins_subdir qca/{nvm,rampatch}_usb_00000302*.bin
@@ -411,59 +430,54 @@
 	use_fw rtl_bt-8822ce-uart && doins_subdir rtl_bt/rtl8822cs*.bin
 	use_fw rtl_bt-8822ce-usb && doins_subdir rtl_bt/rtl8822cu*.bin
 	use_fw rtl_bt-8852ae-usb && doins_subdir rtl_bt/rtl8852au*.bin
+	use_fw rtl_bt-8852ce-usb && doins_subdir rtl_bt/rtl8852cu*.bin
 	use_fw rtw8822c && doins_subdir rtw88/rtw8822c*.bin
 	use_fw rtw8852a && doins_subdir rtw89/rtw8852a*.bin
+	use_fw rtw8852c && doins_subdir rtw89/rtw8852c*.bin
 	use_fw venus-52 && doins_subdir qcom/venus-5.2/*
 	use_fw venus-54 && doins_subdir qcom/venus-5.4/*
 	use_fw venus-vpu-2 && doins_subdir qcom/vpu-2.0/*
 	use video_cards_radeon && doins_subdir radeon/*
 
-	local ignore_legacy_amdgpu=0
-
 	if use_fw amdgpu_carrizo; then
 		doins_subdir amdgpu/carrizo*
-		ignore_legacy_amdgpu=1
+	fi
+
+	if use_fw amdgpu_gc_10_3_7; then
+		doins_subdir amdgpu/dcn_3_1_6*
+		doins_subdir amdgpu/gc_10_3_7_*
+		doins_subdir amdgpu/psp_13_0_8_*
+		doins_subdir amdgpu/sdma_5_2_7*
+		doins_subdir amdgpu/yellow_carp_vcn.bin
 	fi
 
 	if use_fw amdgpu_green_sardine; then
 		doins_subdir amdgpu/green_sardine*
-		ignore_legacy_amdgpu=1
 	fi
 
 	if use_fw amdgpu_picasso; then
 		doins_subdir amdgpu/picasso*
-		ignore_legacy_amdgpu=1
 	fi
 
 	if use_fw amdgpu_raven2; then
 		doins_subdir amdgpu/raven_dmcu*
 		doins_subdir amdgpu/raven2*
-		ignore_legacy_amdgpu=1
 	fi
 
 	if use_fw amdgpu_renoir; then
 		doins_subdir amdgpu/renoir*
-		ignore_legacy_amdgpu=1
 	fi
 
 	if use_fw amdgpu_stoney; then
 		doins_subdir amdgpu/stoney*
-		ignore_legacy_amdgpu=1
 	fi
 
 	if use_fw amdgpu_vega12; then
 		doins_subdir amdgpu/vega12*
-		ignore_legacy_amdgpu=1
 	fi
 
 	if use_fw amdgpu_yellow_carp; then
 		doins_subdir amdgpu/yellow_carp*
-		ignore_legacy_amdgpu=1
-	fi
-
-	# This use flag is deprecated and being removed
-	if [[ "${ignore_legacy_amdgpu}" -eq 0 ]] && use video_cards_amdgpu; then
-		doins_subdir amdgpu/{carrizo,picasso,raven_dmcu,raven2,stoney,vega12}*
 	fi
 
 	use_fw rt2870 && doins rt2870.bin
@@ -482,7 +496,7 @@
 	install_iwlwifi
 
 	for x in "${IUSE_BRCMWIFI[@]}"; do
-		use_fw ${x} || continue
+		use_fw "${x}" || continue
 		case ${x} in
 		brcmfmac-all)      doins_subdir brcm/brcmfmac* ;;
 		brcmfmac4354-sdio) doins_subdir brcm/brcmfmac4354-sdio.* ;;
diff --git a/sys-kernel/linux-headers/files/0001-CHROMIUM-media-headers-Import-V4L2-headers-from-Chro.patch b/sys-kernel/linux-headers/files/0001-CHROMIUM-media-headers-Import-V4L2-headers-from-Chro.patch
index ca57b6c..7c80704 100644
--- a/sys-kernel/linux-headers/files/0001-CHROMIUM-media-headers-Import-V4L2-headers-from-Chro.patch
+++ b/sys-kernel/linux-headers/files/0001-CHROMIUM-media-headers-Import-V4L2-headers-from-Chro.patch
@@ -194,15 +194,7 @@
 index 1c095b5a99c5..c2c9e44e70a7 100644
 --- a/include/uapi/linux/videodev2.h
 +++ b/include/uapi/linux/videodev2.h
-@@ -65,6 +65,7 @@
- #include <linux/types.h>
- #include <linux/v4l2-common.h>
- #include <linux/v4l2-controls.h>
-+#include <linux/media/h264-ctrls-legacy.h>
- 
- /*
-  * Common stuff for both V4L1 and V4L2
-@@ -626,6 +627,7 @@ struct v4l2_pix_format {
+@@ -626,6 +626,7 @@ struct v4l2_pix_format {
  #define V4L2_PIX_FMT_H264     v4l2_fourcc('H', '2', '6', '4') /* H264 with start codes */
  #define V4L2_PIX_FMT_H264_NO_SC v4l2_fourcc('A', 'V', 'C', '1') /* H264 without start codes */
  #define V4L2_PIX_FMT_H264_MVC v4l2_fourcc('M', '2', '6', '4') /* H264 MVC */
@@ -210,7 +202,7 @@
  #define V4L2_PIX_FMT_H263     v4l2_fourcc('H', '2', '6', '3') /* H263          */
  #define V4L2_PIX_FMT_MPEG1    v4l2_fourcc('M', 'P', 'G', '1') /* MPEG-1 ES     */
  #define V4L2_PIX_FMT_MPEG2    v4l2_fourcc('M', 'P', 'G', '2') /* MPEG-2 ES     */
-@@ -902,6 +904,7 @@ struct v4l2_plane {
+@@ -902,6 +903,7 @@ struct v4l2_plane {
   * @length:	size in bytes of the buffer (NOT its payload) for single-plane
   *		buffers (when type != *_MPLANE); number of elements in the
   *		planes array for multi-plane buffers
@@ -218,7 +210,7 @@
   *
   * Contains data exchanged by application and driver using one of the Streaming
   * I/O methods.
-@@ -925,7 +928,7 @@ struct v4l2_buffer {
+@@ -925,7 +927,7 @@ struct v4l2_buffer {
  		__s32		fd;
  	} m;
  	__u32			length;
@@ -227,7 +219,7 @@
  	__u32			reserved;
  };
  
-@@ -1579,6 +1582,7 @@ struct v4l2_ext_controls {
+@@ -1579,6 +1581,7 @@ struct v4l2_ext_controls {
  	union {
  #ifndef __KERNEL__
  		__u32 ctrl_class;
@@ -235,7 +227,7 @@
  #endif
  		__u32 which;
  	};
-@@ -1614,6 +1618,8 @@ enum v4l2_ctrl_type {
+@@ -1614,6 +1617,8 @@ enum v4l2_ctrl_type {
  	V4L2_CTRL_TYPE_U8	     = 0x0100,
  	V4L2_CTRL_TYPE_U16	     = 0x0101,
  	V4L2_CTRL_TYPE_U32	     = 0x0102,
@@ -244,7 +236,7 @@
  };
  
  /*  Used in the VIDIOC_QUERYCTRL ioctl for querying controls */
-@@ -1669,6 +1675,7 @@ struct v4l2_querymenu {
+@@ -1669,6 +1674,7 @@ struct v4l2_querymenu {
  #define V4L2_CTRL_FLAG_HAS_PAYLOAD	0x0100
  #define V4L2_CTRL_FLAG_EXECUTE_ON_WRITE	0x0200
  #define V4L2_CTRL_FLAG_MODIFY_LAYOUT	0x0400
diff --git a/sys-kernel/linux-headers/files/0002-CHROMIUM-v4l-Add-VP8-low-level-decoder-API-controls.patch b/sys-kernel/linux-headers/files/0002-CHROMIUM-v4l-Add-VP8-low-level-decoder-API-controls.patch
index e01b7be..ea543d6 100644
--- a/sys-kernel/linux-headers/files/0002-CHROMIUM-v4l-Add-VP8-low-level-decoder-API-controls.patch
+++ b/sys-kernel/linux-headers/files/0002-CHROMIUM-v4l-Add-VP8-low-level-decoder-API-controls.patch
@@ -183,15 +183,7 @@
 index c2c9e44e70a7..41e080891916 100644
 --- a/include/uapi/linux/videodev2.h
 +++ b/include/uapi/linux/videodev2.h
-@@ -66,6 +66,7 @@
- #include <linux/v4l2-common.h>
- #include <linux/v4l2-controls.h>
- #include <linux/media/h264-ctrls-legacy.h>
-+#include <linux/media/vp8-ctrls-legacy.h>
- 
- /*
-  * Common stuff for both V4L1 and V4L2
-@@ -636,6 +637,7 @@ struct v4l2_pix_format {
+@@ -636,6 +636,7 @@ struct v4l2_pix_format {
  #define V4L2_PIX_FMT_VC1_ANNEX_G v4l2_fourcc('V', 'C', '1', 'G') /* SMPTE 421M Annex G compliant stream */
  #define V4L2_PIX_FMT_VC1_ANNEX_L v4l2_fourcc('V', 'C', '1', 'L') /* SMPTE 421M Annex L compliant stream */
  #define V4L2_PIX_FMT_VP8      v4l2_fourcc('V', 'P', '8', '0') /* VP8 */
diff --git a/sys-kernel/linux-headers/files/0004-CHROMIUM-v4l-Add-VP9-low-level-decoder-API-controls.patch b/sys-kernel/linux-headers/files/0004-CHROMIUM-v4l-Add-VP9-low-level-decoder-API-controls.patch
index 87dcfc6..ec8e35c 100644
--- a/sys-kernel/linux-headers/files/0004-CHROMIUM-v4l-Add-VP9-low-level-decoder-API-controls.patch
+++ b/sys-kernel/linux-headers/files/0004-CHROMIUM-v4l-Add-VP9-low-level-decoder-API-controls.patch
@@ -190,15 +190,7 @@
 index 41e0808..2d8f794 100644
 --- a/include/uapi/linux/videodev2.h
 +++ b/include/uapi/linux/videodev2.h
-@@ -67,6 +67,7 @@
- #include <linux/v4l2-controls.h>
- #include <linux/media/h264-ctrls-legacy.h>
- #include <linux/media/vp8-ctrls-legacy.h>
-+#include <linux/media/vp9-ctrls-legacy.h>
- 
- /*
-  * Common stuff for both V4L1 and V4L2
-@@ -639,6 +640,7 @@ struct v4l2_pix_format {
+@@ -639,6 +639,7 @@ struct v4l2_pix_format {
  #define V4L2_PIX_FMT_VP8      v4l2_fourcc('V', 'P', '8', '0') /* VP8 */
  #define V4L2_PIX_FMT_VP8_FRAME v4l2_fourcc('V', 'P', '8', 'F') /* VP8 parsed frames */
  #define V4L2_PIX_FMT_VP9      v4l2_fourcc('V', 'P', '9', '0') /* VP9 */
diff --git a/sys-kernel/linux-headers/files/0024-UPSTREAM-nl80211-mac80211-mesh-add-hop-count-to-mpath.patch b/sys-kernel/linux-headers/files/0024-UPSTREAM-nl80211-mac80211-mesh-add-hop-count-to-mpath.patch
index 42ef13f..0052791 100644
--- a/sys-kernel/linux-headers/files/0024-UPSTREAM-nl80211-mac80211-mesh-add-hop-count-to-mpath.patch
+++ b/sys-kernel/linux-headers/files/0024-UPSTREAM-nl80211-mac80211-mesh-add-hop-count-to-mpath.patch
@@ -21,8 +21,7 @@
 Reviewed-by: Brian Norris <briannorris@chromium.org>
 ---
  include/net/cfg80211.h       | 4 ++++
- include/uapi/linux/nl80211.h | 2 ++
- 2 files changed, 6 insertions(+)
+ 1 file changed, 4 insertions(+)
 
 diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
 index ea0ed58db97e..330d6678b29a 100644
@@ -60,26 +59,6 @@
  
  	int generation;
  };
-diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
-index f41ea5af22ee..52838f814ab0 100644
---- a/include/uapi/linux/nl80211.h
-+++ b/include/uapi/linux/nl80211.h
-@@ -2990,6 +2990,7 @@ enum nl80211_mpath_flags {
-  * 	&enum nl80211_mpath_flags;
-  * @NL80211_MPATH_INFO_DISCOVERY_TIMEOUT: total path discovery timeout, in msec
-  * @NL80211_MPATH_INFO_DISCOVERY_RETRIES: mesh path discovery retries
-+ * @NL80211_MPATH_INFO_HOP_COUNT: hop count to destination
-  * @NL80211_MPATH_INFO_MAX: highest mesh path information attribute number
-  *	currently defind
-  * @__NL80211_MPATH_INFO_AFTER_LAST: internal use
-@@ -3003,6 +3004,7 @@ enum nl80211_mpath_info {
- 	NL80211_MPATH_INFO_FLAGS,
- 	NL80211_MPATH_INFO_DISCOVERY_TIMEOUT,
- 	NL80211_MPATH_INFO_DISCOVERY_RETRIES,
-+	NL80211_MPATH_INFO_HOP_COUNT,
- 
- 	/* keep last */
- 	__NL80211_MPATH_INFO_AFTER_LAST,
 -- 
 2.21.0.360.g471c308f928-goog
 
diff --git a/sys-kernel/linux-headers/files/0025-UPSTREAM-nl80211-mac80211-mesh-add-mesh-path-change-c.patch b/sys-kernel/linux-headers/files/0025-UPSTREAM-nl80211-mac80211-mesh-add-mesh-path-change-c.patch
index cd2efbb..7ff1259 100644
--- a/sys-kernel/linux-headers/files/0025-UPSTREAM-nl80211-mac80211-mesh-add-mesh-path-change-c.patch
+++ b/sys-kernel/linux-headers/files/0025-UPSTREAM-nl80211-mac80211-mesh-add-mesh-path-change-c.patch
@@ -22,8 +22,7 @@
 Reviewed-by: Brian Norris <briannorris@chromium.org>
 ---
  include/net/cfg80211.h       | 5 ++++-
- include/uapi/linux/nl80211.h | 4 +++-
- 2 files changed, 7 insertions(+), 2 deletions(-)
+ 1 file changed, 4 insertions(+), 1 deletion(-)
 
 diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
 index 330d6678b29a..f84efe908aae 100644
@@ -55,29 +54,6 @@
  
  	int generation;
  };
-diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
-index 52838f814ab0..60f6d0ce9307 100644
---- a/include/uapi/linux/nl80211.h
-+++ b/include/uapi/linux/nl80211.h
-@@ -2991,8 +2991,9 @@ enum nl80211_mpath_flags {
-  * @NL80211_MPATH_INFO_DISCOVERY_TIMEOUT: total path discovery timeout, in msec
-  * @NL80211_MPATH_INFO_DISCOVERY_RETRIES: mesh path discovery retries
-  * @NL80211_MPATH_INFO_HOP_COUNT: hop count to destination
-+ * @NL80211_MPATH_INFO_PATH_CHANGE: total number of path changes to destination
-  * @NL80211_MPATH_INFO_MAX: highest mesh path information attribute number
-- *	currently defind
-+ *	currently defined
-  * @__NL80211_MPATH_INFO_AFTER_LAST: internal use
-  */
- enum nl80211_mpath_info {
-@@ -3005,6 +3006,7 @@ enum nl80211_mpath_info {
- 	NL80211_MPATH_INFO_DISCOVERY_TIMEOUT,
- 	NL80211_MPATH_INFO_DISCOVERY_RETRIES,
- 	NL80211_MPATH_INFO_HOP_COUNT,
-+	NL80211_MPATH_INFO_PATH_CHANGE,
- 
- 	/* keep last */
- 	__NL80211_MPATH_INFO_AFTER_LAST,
 -- 
 2.21.0.360.g471c308f928-goog
 
diff --git a/sys-kernel/linux-headers/files/0027-UPSTREAM-nl80211-include-nl80211_sta_info-enums.patch b/sys-kernel/linux-headers/files/0027-UPSTREAM-nl80211-include-nl80211_sta_info-enums.patch
deleted file mode 100644
index e6da196..0000000
--- a/sys-kernel/linux-headers/files/0027-UPSTREAM-nl80211-include-nl80211_sta_info-enums.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 1c20b5b25864e67b4fc219035beefd5174e36871 Mon Sep 17 00:00:00 2001
-From: Narayanraddi Masti <nmasti@google.com>
-Date: Tue, 2 Jul 2019 01:28:28 -0700
-Subject: [PATCH] UPSTREAM: nl80211: include nl80211_sta_info enums
-
-Add nl80211_sta_info enums to sync with 5.2-rc7 from upstream
-and following are the upstream commits added to sync with 5.2-rc7
-
-1.c4b50cd31d25c3d17886ffc47ca4a9a12c6dc9bf - NL80211_STA_INFO_ACK_SIGNAL
-2.9c06602b1b920ed6b546632bdbbc1f400eea5242 - NL80211_STA_INFO_ACK_SIGNAL_AVG
-3.0d4e14a32dcab9c4bd559d02874120fbb86b1322 - NL80211_STA_INFO_RX_MPDUS
-                                             NL80211_STA_INFO_FCS_ERROR_COUNT
-4.dbdaee7aa6e61f56aac61b71a7807e76f92cc895 - NL80211_STA_INFO_CONNECTED_TO_GATE
-5.36647055b37ec78e9068f470f14e7cd75c001c22 - NL80211_STA_INFO_TX_DURATION
-                                           - NL80211_STA_INFO_AIRTIME_WEIGHT
-6.ab60633c7136c300f15a390f3469d7c4be15a055 -
-  NL80211_STA_INFO_AIRTIME_LINK_METRIC
-
-Signed-off-by: Narayanraddi Masti <nmasti@google.com>
----
- include/uapi/linux/nl80211.h | 22 ++++++++++++++++++++++
- 1 file changed, 22 insertions(+)
-
-diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
-index f41ea5af22ee..cb8203fc9f0e 100644
---- a/include/uapi/linux/nl80211.h
-+++ b/include/uapi/linux/nl80211.h
-@@ -2887,6 +2887,20 @@ enum nl80211_sta_bss_param {
-  * @NL80211_STA_INFO_RX_DURATION: aggregate PPDU duration for all frames
-  *	received from the station (u64, usec)
-  * @NL80211_STA_INFO_PAD: attribute used for padding for 64-bit alignment
-+ * @NL80211_STA_INFO_ACK_SIGNAL: signal strength of the last ACK frame(u8, dBm)
-+ * @NL80211_STA_INFO_ACK_SIGNAL_AVG: avg signal strength of ACK frames (s8, dBm)
-+ * @NL80211_STA_INFO_RX_MPDUS: total number of received packets (MPDUs)
-+ *	(u32, from this station)
-+ * @NL80211_STA_INFO_FCS_ERROR_COUNT: total number of packets (MPDUs) received
-+ *	with an FCS error (u32, from this station). This count may not include
-+ *	some packets with an FCS error due to TA corruption. Hence this counter
-+ *	might not be fully accurate.
-+ * @NL80211_STA_INFO_CONNECTED_TO_GATE: set to true if STA has a path to a
-+ *	mesh gate
-+ * @NL80211_STA_INFO_TX_DURATION: aggregate PPDU duration for all frames
-+ *	sent to the station (u64, usec)
-+ * @NL80211_STA_INFO_AIRTIME_WEIGHT: current airtime weight for station (u16)
-+ * @NL80211_STA_INFO_AIRTIME_LINK_METRIC: airtime link metric for mesh station
-  * @__NL80211_STA_INFO_AFTER_LAST: internal
-  * @NL80211_STA_INFO_MAX: highest possible station info attribute
-  */
-@@ -2925,6 +2939,14 @@ enum nl80211_sta_info {
- 	NL80211_STA_INFO_TID_STATS,
- 	NL80211_STA_INFO_RX_DURATION,
- 	NL80211_STA_INFO_PAD,
-+	NL80211_STA_INFO_ACK_SIGNAL,
-+	NL80211_STA_INFO_ACK_SIGNAL_AVG,
-+	NL80211_STA_INFO_RX_MPDUS,
-+	NL80211_STA_INFO_FCS_ERROR_COUNT,
-+	NL80211_STA_INFO_CONNECTED_TO_GATE,
-+	NL80211_STA_INFO_TX_DURATION,
-+	NL80211_STA_INFO_AIRTIME_WEIGHT,
-+	NL80211_STA_INFO_AIRTIME_LINK_METRIC,
- 
- 	/* keep last */
- 	__NL80211_STA_INFO_AFTER_LAST,
--- 
-2.22.0.410.gd8fdbe21b5-goog
-
diff --git a/sys-kernel/linux-headers/files/0030-BACKPORT-sync-enum-nl80211_commands-with-kernel-v5.2.patch b/sys-kernel/linux-headers/files/0030-BACKPORT-sync-enum-nl80211_commands-with-kernel-v5.2.patch
deleted file mode 100644
index b4bbaa1..0000000
--- a/sys-kernel/linux-headers/files/0030-BACKPORT-sync-enum-nl80211_commands-with-kernel-v5.2.patch
+++ /dev/null
@@ -1,158 +0,0 @@
-From d50b1a10adccff5c2154517cc9c8adfd249f4339 Mon Sep 17 00:00:00 2001
-From: Roy Luo <royluo@google.com>
-Date: Tue, 2 Jul 2019 13:47:24 -0700
-Subject: [PATCH] BACKPORT: sync enum nl80211_commands with kernel v5.2
-
-The following upstream commits add support of
-nl80211 command NL80211_CMD_PROBE_MESH_LINK:
-5ab92e7fe49ad74293b50fb9e6f25be5521e2f68
-060167729a78d626abaee1a0ebb64b252374426e
-8828f81ad4a2f4e89ebe6e7793c06ed767c31d53
-
-This patch sync the enum nl80211_commands with
-kernel v5.2 in order to use the new nl80211 command.
-
-Signed-off-by: Roy Luo <royluo@google.com>
----
- include/uapi/linux/nl80211.h | 119+++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 119 insertions(+)
-
-diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
-index f840536..79e9734 100644
---- a/include/uapi/linux/nl80211.h
-+++ b/include/uapi/linux/nl80211.h
-@@ -982,6 +982,103 @@
-  * @NL80211_CMD_DEL_PMK: For offloaded 4-Way handshake, delete the previously
-  *	configured PMK for the authenticator address identified by
-  *	&NL80211_ATTR_MAC.
-+ * @NL80211_CMD_PORT_AUTHORIZED: An event that indicates that the 4 way
-+ *	handshake was completed successfully by the driver. The BSSID is
-+ *	specified with %NL80211_ATTR_MAC. Drivers that support 4 way handshake
-+ *	offload should send this event after indicating 802.11 association with
-+ *	%NL80211_CMD_CONNECT or %NL80211_CMD_ROAM. If the 4 way handshake failed
-+ *	%NL80211_CMD_DISCONNECT should be indicated instead.
-+ *
-+ * @NL80211_CMD_CONTROL_PORT_FRAME: Control Port (e.g. PAE) frame TX request
-+ *	and RX notification.  This command is used both as a request to transmit
-+ *	a control port frame and as a notification that a control port frame
-+ *	has been received. %NL80211_ATTR_FRAME is used to specify the
-+ *	frame contents.  The frame is the raw EAPoL data, without ethernet or
-+ *	802.11 headers.
-+ *	When used as an event indication %NL80211_ATTR_CONTROL_PORT_ETHERTYPE,
-+ *	%NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT and %NL80211_ATTR_MAC are added
-+ *	indicating the protocol type of the received frame; whether the frame
-+ *	was received unencrypted and the MAC address of the peer respectively.
-+ *
-+ * @NL80211_CMD_RELOAD_REGDB: Request that the regdb firmware file is reloaded.
-+ *
-+ * @NL80211_CMD_EXTERNAL_AUTH: This interface is exclusively defined for host
-+ *	drivers that do not define separate commands for authentication and
-+ *	association, but rely on user space for the authentication to happen.
-+ *	This interface acts both as the event request (driver to user space)
-+ *	to trigger the authentication and command response (userspace to
-+ *	driver) to indicate the authentication status.
-+ *
-+ *	User space uses the %NL80211_CMD_CONNECT command to the host driver to
-+ *	trigger a connection. The host driver selects a BSS and further uses
-+ *	this interface to offload only the authentication part to the user
-+ *	space. Authentication frames are passed between the driver and user
-+ *	space through the %NL80211_CMD_FRAME interface. Host driver proceeds
-+ *	further with the association after getting successful authentication
-+ *	status. User space indicates the authentication status through
-+ *	%NL80211_ATTR_STATUS_CODE attribute in %NL80211_CMD_EXTERNAL_AUTH
-+ *	command interface.
-+ *
-+ *	Host driver reports this status on an authentication failure to the
-+ *	user space through the connect result as the user space would have
-+ *	initiated the connection through the connect request.
-+ *
-+ * @NL80211_CMD_STA_OPMODE_CHANGED: An event that notify station's
-+ *	ht opmode or vht opmode changes using any of %NL80211_ATTR_SMPS_MODE,
-+ *	%NL80211_ATTR_CHANNEL_WIDTH,%NL80211_ATTR_NSS attributes with its
-+ *	address(specified in %NL80211_ATTR_MAC).
-+ *
-+ * @NL80211_CMD_GET_FTM_RESPONDER_STATS: Retrieve FTM responder statistics, in
-+ *	the %NL80211_ATTR_FTM_RESPONDER_STATS attribute.
-+ *
-+ * @NL80211_CMD_PEER_MEASUREMENT_START: start a (set of) peer measurement(s)
-+ *	with the given parameters, which are encapsulated in the nested
-+ *	%NL80211_ATTR_PEER_MEASUREMENTS attribute. Optionally, MAC address
-+ *	randomization may be enabled and configured by specifying the
-+ *	%NL80211_ATTR_MAC and %NL80211_ATTR_MAC_MASK attributes.
-+ *	If a timeout is requested, use the %NL80211_ATTR_TIMEOUT attribute.
-+ *	A u64 cookie for further %NL80211_ATTR_COOKIE use is is returned in
-+ *	the netlink extended ack message.
-+ *
-+ *	To cancel a measurement, close the socket that requested it.
-+ *
-+ *	Measurement results are reported to the socket that requested the
-+ *	measurement using @NL80211_CMD_PEER_MEASUREMENT_RESULT when they
-+ *	become available, so applications must ensure a large enough socket
-+ *	buffer size.
-+ *
-+ *	Depending on driver support it may or may not be possible to start
-+ *	multiple concurrent measurements.
-+ * @NL80211_CMD_PEER_MEASUREMENT_RESULT: This command number is used for the
-+ *	result notification from the driver to the requesting socket.
-+ * @NL80211_CMD_PEER_MEASUREMENT_COMPLETE: Notification only, indicating that
-+ *	the measurement completed, using the measurement cookie
-+ *	(%NL80211_ATTR_COOKIE).
-+ *
-+ * @NL80211_CMD_NOTIFY_RADAR: Notify the kernel that a radar signal was
-+ *	detected and reported by a neighboring device on the channel
-+ *	indicated by %NL80211_ATTR_WIPHY_FREQ and other attributes
-+ *	determining the width and type.
-+ *
-+ * @NL80211_CMD_UPDATE_OWE_INFO: This interface allows the host driver to
-+ *	offload OWE processing to user space. This intends to support
-+ *	OWE AKM by the host drivers that implement SME but rely
-+ *	on the user space for the cryptographic/DH IE processing in AP mode.
-+ *
-+ * @NL80211_CMD_PROBE_MESH_LINK: The requirement for mesh link metric
-+ *	refreshing, is that from one mesh point we be able to send some data
-+ *	frames to other mesh points which are not currently selected as a
-+ *	primary traffic path, but which are only 1 hop away. The absence of
-+ *	the primary path to the chosen node makes it necessary to apply some
-+ *	form of marking on a chosen packet stream so that the packets can be
-+ *	properly steered to the selected node for testing, and not by the
-+ *	regular mesh path lookup. Further, the packets must be of type data
-+ *	so that the rate control (often embedded in firmware) is used for
-+ *	rate selection.
-+ *
-+ *	Here attribute %NL80211_ATTR_MAC is used to specify connected mesh
-+ *	peer MAC address and %NL80211_ATTR_FRAME is used to specify the frame
-+ *	content. The frame is ethernet data.
-  *
-  * @NL80211_CMD_MAX: highest used command number
-  * @__NL80211_CMD_AFTER_LAST: internal use
-@@ -1185,6 +1200,28 @@ enum nl80211_commands {
- 	NL80211_CMD_SET_PMK,
- 	NL80211_CMD_DEL_PMK,
- 
-+	NL80211_CMD_PORT_AUTHORIZED,
-+
-+	NL80211_CMD_RELOAD_REGDB,
-+
-+	NL80211_CMD_EXTERNAL_AUTH,
-+
-+	NL80211_CMD_STA_OPMODE_CHANGED,
-+
-+	NL80211_CMD_CONTROL_PORT_FRAME,
-+
-+	NL80211_CMD_GET_FTM_RESPONDER_STATS,
-+
-+	NL80211_CMD_PEER_MEASUREMENT_START,
-+	NL80211_CMD_PEER_MEASUREMENT_RESULT,
-+	NL80211_CMD_PEER_MEASUREMENT_COMPLETE,
-+
-+	NL80211_CMD_NOTIFY_RADAR,
-+
-+	NL80211_CMD_UPDATE_OWE_INFO,
-+
-+	NL80211_CMD_PROBE_MESH_LINK,
-+
- 	/* add new commands above here */
- 
- 	/* used to define NL80211_CMD_MAX below */
---
-2.22.0.657.g960e92d24f-goog
diff --git a/sys-kernel/linux-headers/files/0030-BACKPORT-sync-nl80211.h-to-v5.8.patch b/sys-kernel/linux-headers/files/0030-BACKPORT-sync-nl80211.h-to-v5.8.patch
new file mode 100644
index 0000000..0a1d426
--- /dev/null
+++ b/sys-kernel/linux-headers/files/0030-BACKPORT-sync-nl80211.h-to-v5.8.patch
@@ -0,0 +1,2193 @@
+From d31df03f34433ae313f782436656561bfc14400b Mon Sep 17 00:00:00 2001
+From: David Ruth <druth@google.com>
+Date: Wed, 16 Mar 2022 23:47:27 +0000
+Subject: [PATCH] BACKPORT: sync nl80211.h to v5.8
+
+Sync the entire nl80211.h file with kernel version 5.8.  This allows
+using the new command NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS, and
+brings the entire file up to date.
+---
+ include/uapi/linux/nl80211.h | 1615 ++++++++++++++++++++++++++++++++--
+ 1 file changed, 1560 insertions(+), 55 deletions(-)
+
+diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
+index 51626b4..4e6339a 100644
+--- a/include/uapi/linux/nl80211.h
++++ b/include/uapi/linux/nl80211.h
+@@ -11,6 +11,7 @@
+  * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com>
+  * Copyright 2008 Colin McCabe <colin@cozybit.com>
+  * Copyright 2015-2017	Intel Deutschland GmbH
++ * Copyright (C) 2018-2020 Intel Corporation
+  *
+  * Permission to use, copy, modify, and/or distribute this software for any
+  * purpose with or without fee is hereby granted, provided that the above
+@@ -51,6 +52,11 @@
+ #define NL80211_MULTICAST_GROUP_NAN		"nan"
+ #define NL80211_MULTICAST_GROUP_TESTMODE	"testmode"
+ 
++#define NL80211_EDMG_BW_CONFIG_MIN	4
++#define NL80211_EDMG_BW_CONFIG_MAX	15
++#define NL80211_EDMG_CHANNELS_MIN	1
++#define NL80211_EDMG_CHANNELS_MAX	0x3c /* 0b00111100 */
++
+ /**
+  * DOC: Station handling
+  *
+@@ -203,7 +209,8 @@
+  * FILS shared key authentication offload should be able to construct the
+  * authentication and association frames for FILS shared key authentication and
+  * eventually do a key derivation as per IEEE 802.11ai. The below additional
+- * parameters should be given to driver in %NL80211_CMD_CONNECT.
++ * parameters should be given to driver in %NL80211_CMD_CONNECT and/or in
++ * %NL80211_CMD_UPDATE_CONNECT_PARAMS.
+  *	%NL80211_ATTR_FILS_ERP_USERNAME - used to construct keyname_nai
+  *	%NL80211_ATTR_FILS_ERP_REALM - used to construct keyname_nai
+  *	%NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM - used to construct erp message
+@@ -214,7 +221,8 @@
+  * as specified in IETF RFC 6696.
+  *
+  * When FILS shared key authentication is completed, driver needs to provide the
+- * below additional parameters to userspace.
++ * below additional parameters to userspace, which can be either after setting
++ * up a connection or after roaming.
+  *	%NL80211_ATTR_FILS_KEK - used for key renewal
+  *	%NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM - used in further EAP-RP exchanges
+  *	%NL80211_ATTR_PMKID - used to identify the PMKSA used/generated
+@@ -231,6 +239,54 @@
+  * use in a FILS shared key connection with PMKSA caching.
+  */
+ 
++/**
++ * DOC: SAE authentication offload
++ *
++ * By setting @NL80211_EXT_FEATURE_SAE_OFFLOAD flag drivers can indicate they
++ * support offloading SAE authentication for WPA3-Personal networks. In
++ * %NL80211_CMD_CONNECT the password for SAE should be specified using
++ * %NL80211_ATTR_SAE_PASSWORD.
++ */
++
++/**
++ * DOC: VLAN offload support for setting group keys and binding STAs to VLANs
++ *
++ * By setting @NL80211_EXT_FEATURE_VLAN_OFFLOAD flag drivers can indicate they
++ * support offloading VLAN functionality in a manner where the driver exposes a
++ * single netdev that uses VLAN tagged frames and separate VLAN-specific netdevs
++ * can then be added using RTM_NEWLINK/IFLA_VLAN_ID similarly to the Ethernet
++ * case. Frames received from stations that are not assigned to any VLAN are
++ * delivered on the main netdev and frames to such stations can be sent through
++ * that main netdev.
++ *
++ * %NL80211_CMD_NEW_KEY (for group keys), %NL80211_CMD_NEW_STATION, and
++ * %NL80211_CMD_SET_STATION will optionally specify vlan_id using
++ * %NL80211_ATTR_VLAN_ID.
++ */
++
++/**
++ * DOC: TID configuration
++ *
++ * TID config support can be checked in the %NL80211_ATTR_TID_CONFIG
++ * attribute given in wiphy capabilities.
++ *
++ * The necessary configuration parameters are mentioned in
++ * &enum nl80211_tid_config_attr and it will be passed to the
++ * %NL80211_CMD_SET_TID_CONFIG command in %NL80211_ATTR_TID_CONFIG.
++ *
++ * If the configuration needs to be applied for specific peer then the MAC
++ * address of the peer needs to be passed in %NL80211_ATTR_MAC, otherwise the
++ * configuration will be applied for all the connected peers in the vif except
++ * any peers that have peer specific configuration for the TID by default; if
++ * the %NL80211_TID_CONFIG_ATTR_OVERRIDE flag is set, peer specific values
++ * will be overwritten.
++ *
++ * All this configuration is valid only for STA's current connection
++ * i.e. the configuration will be reset to default when the STA connects back
++ * after disconnection/roaming, and this configuration will be cleared when
++ * the interface goes down.
++ */
++
+ /**
+  * enum nl80211_commands - supported nl80211 commands
+  *
+@@ -240,13 +296,14 @@
+  *	to get a list of all present wiphys.
+  * @NL80211_CMD_SET_WIPHY: set wiphy parameters, needs %NL80211_ATTR_WIPHY or
+  *	%NL80211_ATTR_IFINDEX; can be used to set %NL80211_ATTR_WIPHY_NAME,
+- *	%NL80211_ATTR_WIPHY_TXQ_PARAMS, %NL80211_ATTR_WIPHY_FREQ (and the
+- *	attributes determining the channel width; this is used for setting
+- *	monitor mode channel),  %NL80211_ATTR_WIPHY_RETRY_SHORT,
+- *	%NL80211_ATTR_WIPHY_RETRY_LONG, %NL80211_ATTR_WIPHY_FRAG_THRESHOLD,
+- *	and/or %NL80211_ATTR_WIPHY_RTS_THRESHOLD.
+- *	However, for setting the channel, see %NL80211_CMD_SET_CHANNEL
+- *	instead, the support here is for backward compatibility only.
++ *	%NL80211_ATTR_WIPHY_TXQ_PARAMS, %NL80211_ATTR_WIPHY_FREQ,
++ *	%NL80211_ATTR_WIPHY_FREQ_OFFSET (and the attributes determining the
++ *	channel width; this is used for setting monitor mode channel),
++ *	%NL80211_ATTR_WIPHY_RETRY_SHORT, %NL80211_ATTR_WIPHY_RETRY_LONG,
++ *	%NL80211_ATTR_WIPHY_FRAG_THRESHOLD, and/or
++ *	%NL80211_ATTR_WIPHY_RTS_THRESHOLD.  However, for setting the channel,
++ *	see %NL80211_CMD_SET_CHANNEL instead, the support here is for backward
++ *	compatibility only.
+  * @NL80211_CMD_NEW_WIPHY: Newly created wiphy, response to get request
+  *	or rename notification. Has attributes %NL80211_ATTR_WIPHY and
+  *	%NL80211_ATTR_WIPHY_NAME.
+@@ -295,7 +352,8 @@
+  *	%NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_INACTIVITY_TIMEOUT,
+  *	%NL80211_ATTR_ACL_POLICY and %NL80211_ATTR_MAC_ADDRS.
+  *	The channel to use can be set on the interface or be given using the
+- *	%NL80211_ATTR_WIPHY_FREQ and the attributes determining channel width.
++ *	%NL80211_ATTR_WIPHY_FREQ and %NL80211_ATTR_WIPHY_FREQ_OFFSET, and the
++ *	attributes determining channel width.
+  * @NL80211_CMD_NEW_BEACON: old alias for %NL80211_CMD_START_AP
+  * @NL80211_CMD_STOP_AP: Stop AP operation on the given interface
+  * @NL80211_CMD_DEL_BEACON: old alias for %NL80211_CMD_STOP_AP
+@@ -480,11 +538,12 @@
+  *	interface. %NL80211_ATTR_MAC is used to specify PeerSTAAddress (and
+  *	BSSID in case of station mode). %NL80211_ATTR_SSID is used to specify
+  *	the SSID (mainly for association, but is included in authentication
+- *	request, too, to help BSS selection. %NL80211_ATTR_WIPHY_FREQ is used
+- *	to specify the frequence of the channel in MHz. %NL80211_ATTR_AUTH_TYPE
+- *	is used to specify the authentication type. %NL80211_ATTR_IE is used to
+- *	define IEs (VendorSpecificInfo, but also including RSN IE and FT IEs)
+- *	to be added to the frame.
++ *	request, too, to help BSS selection. %NL80211_ATTR_WIPHY_FREQ +
++ *	%NL80211_ATTR_WIPHY_FREQ_OFFSET is used to specify the frequence of the
++ *	channel in MHz. %NL80211_ATTR_AUTH_TYPE is used to specify the
++ *	authentication type. %NL80211_ATTR_IE is used to define IEs
++ *	(VendorSpecificInfo, but also including RSN IE and FT IEs) to be added
++ *	to the frame.
+  *	When used as an event, this reports reception of an Authentication
+  *	frame in station and IBSS modes when the local MLME processed the
+  *	frame, i.e., it was for the local STA and was received in correct
+@@ -539,10 +598,12 @@
+  *	requests to connect to a specified network but without separating
+  *	auth and assoc steps. For this, you need to specify the SSID in a
+  *	%NL80211_ATTR_SSID attribute, and can optionally specify the association
+- *	IEs in %NL80211_ATTR_IE, %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_USE_MFP,
+- *	%NL80211_ATTR_MAC, %NL80211_ATTR_WIPHY_FREQ, %NL80211_ATTR_CONTROL_PORT,
++ *	IEs in %NL80211_ATTR_IE, %NL80211_ATTR_AUTH_TYPE,
++ *	%NL80211_ATTR_USE_MFP, %NL80211_ATTR_MAC, %NL80211_ATTR_WIPHY_FREQ,
++ *	%NL80211_ATTR_WIPHY_FREQ_OFFSET, %NL80211_ATTR_CONTROL_PORT,
+  *	%NL80211_ATTR_CONTROL_PORT_ETHERTYPE,
+- *	%NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT, %NL80211_ATTR_MAC_HINT, and
++ *	%NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT,
++ *	%NL80211_ATTR_CONTROL_PORT_OVER_NL80211, %NL80211_ATTR_MAC_HINT, and
+  *	%NL80211_ATTR_WIPHY_FREQ_HINT.
+  *	If included, %NL80211_ATTR_MAC and %NL80211_ATTR_WIPHY_FREQ are
+  *	restrictions on BSS selection, i.e., they effectively prevent roaming
+@@ -553,6 +614,14 @@
+  *	set of BSSID,frequency parameters is used (i.e., either the enforcing
+  *	%NL80211_ATTR_MAC,%NL80211_ATTR_WIPHY_FREQ or the less strict
+  *	%NL80211_ATTR_MAC_HINT and %NL80211_ATTR_WIPHY_FREQ_HINT).
++ *	Driver shall not modify the IEs specified through %NL80211_ATTR_IE if
++ *	%NL80211_ATTR_MAC is included. However, if %NL80211_ATTR_MAC_HINT is
++ *	included, these IEs through %NL80211_ATTR_IE are specified by the user
++ *	space based on the best possible BSS selected. Thus, if the driver ends
++ *	up selecting a different BSS, it can modify these IEs accordingly (e.g.
++ *	userspace asks the driver to perform PMKSA caching with BSS1 and the
++ *	driver ends up selecting BSS2 with different PMKSA cache entry; RSNIE
++ *	has to get updated with the apt PMKID).
+  *	%NL80211_ATTR_PREV_BSSID can be used to request a reassociation within
+  *	the ESS in case the device is already associated and an association with
+  *	a different BSS is desired.
+@@ -569,13 +638,14 @@
+  *	authentication/association or not receiving a response from the AP.
+  *	Non-zero %NL80211_ATTR_STATUS_CODE value is indicated in that case as
+  *	well to remain backwards compatible.
+- * @NL80211_CMD_ROAM: notifcation indicating the card/driver roamed by itself.
+- *	When the driver roamed in a network that requires 802.1X authentication,
+- *	%NL80211_ATTR_PORT_AUTHORIZED should be set if the 802.1X authentication
+- *	was done by the driver or if roaming was done using Fast Transition
+- *	protocol (in which case 802.1X authentication is not needed). If
+- *	%NL80211_ATTR_PORT_AUTHORIZED is not set, user space is responsible for
+- *	the 802.1X authentication.
++ *	When establishing a security association, drivers that support 4 way
++ *	handshake offload should send %NL80211_CMD_PORT_AUTHORIZED event when
++ *	the 4 way handshake is completed successfully.
++ * @NL80211_CMD_ROAM: Notification indicating the card/driver roamed by itself.
++ *	When a security association was established with the new AP (e.g. if
++ *	the FT protocol was used for roaming or the driver completed the 4 way
++ *	handshake), this event should be followed by an
++ *	%NL80211_CMD_PORT_AUTHORIZED event.
+  * @NL80211_CMD_DISCONNECT: drop a given connection; also used to notify
+  *	userspace that a connection was dropped by the AP or due to other
+  *	reasons, for this the %NL80211_ATTR_DISCONNECTED_BY_AP and
+@@ -621,6 +691,10 @@
+  *	four bytes for vendor frames including the OUI. The registration
+  *	cannot be dropped, but is removed automatically when the netlink
+  *	socket is closed. Multiple registrations can be made.
++ *	The %NL80211_ATTR_RECEIVE_MULTICAST flag attribute can be given if
++ *	%NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS is available, in which
++ *	case the registration can also be modified to include/exclude the
++ *	flag, rather than requiring unregistration to change it.
+  * @NL80211_CMD_REGISTER_ACTION: Alias for @NL80211_CMD_REGISTER_FRAME for
+  *	backward compatibility
+  * @NL80211_CMD_FRAME: Management frame TX request and RX notification. This
+@@ -643,7 +717,9 @@
+  *	is used during CSA period.
+  * @NL80211_CMD_FRAME_WAIT_CANCEL: When an off-channel TX was requested, this
+  *	command may be used with the corresponding cookie to cancel the wait
+- *	time if it is known that it is no longer necessary.
++ *	time if it is known that it is no longer necessary.  This command is
++ *	also sent as an event whenever the driver has completed the off-channel
++ *	wait time.
+  * @NL80211_CMD_ACTION: Alias for @NL80211_CMD_FRAME for backward compatibility.
+  * @NL80211_CMD_FRAME_TX_STATUS: Report TX status of a management frame
+  *	transmitted with %NL80211_CMD_FRAME. %NL80211_ATTR_COOKIE identifies
+@@ -718,7 +794,7 @@
+  *	various triggers. These triggers can be configured through this
+  *	command with the %NL80211_ATTR_WOWLAN_TRIGGERS attribute. For
+  *	more background information, see
+- *	http://wireless.kernel.org/en/users/Documentation/WoWLAN.
++ *	https://wireless.wiki.kernel.org/en/users/Documentation/WoWLAN.
+  *	The @NL80211_CMD_SET_WOWLAN command can also be used as a notification
+  *	from the driver reporting the wakeup reason. In this case, the
+  *	@NL80211_ATTR_WOWLAN_TRIGGERS attribute will contain the reason
+@@ -976,12 +1052,123 @@
+  *	only the %NL80211_ATTR_IE data is used and updated with this command.
+  *
+  * @NL80211_CMD_SET_PMK: For offloaded 4-Way handshake, set the PMK or PMK-R0
+- *	for the given authenticator address (specified with &NL80211_ATTR_MAC).
+- *	When &NL80211_ATTR_PMKR0_NAME is set, &NL80211_ATTR_PMK specifies the
++ *	for the given authenticator address (specified with %NL80211_ATTR_MAC).
++ *	When %NL80211_ATTR_PMKR0_NAME is set, %NL80211_ATTR_PMK specifies the
+  *	PMK-R0, otherwise it specifies the PMK.
+  * @NL80211_CMD_DEL_PMK: For offloaded 4-Way handshake, delete the previously
+  *	configured PMK for the authenticator address identified by
+- *	&NL80211_ATTR_MAC.
++ *	%NL80211_ATTR_MAC.
++ * @NL80211_CMD_PORT_AUTHORIZED: An event that indicates that the 4 way
++ *	handshake was completed successfully by the driver. The BSSID is
++ *	specified with %NL80211_ATTR_MAC. Drivers that support 4 way handshake
++ *	offload should send this event after indicating 802.11 association with
++ *	%NL80211_CMD_CONNECT or %NL80211_CMD_ROAM. If the 4 way handshake failed
++ *	%NL80211_CMD_DISCONNECT should be indicated instead.
++ *
++ * @NL80211_CMD_CONTROL_PORT_FRAME: Control Port (e.g. PAE) frame TX request
++ *	and RX notification.  This command is used both as a request to transmit
++ *	a control port frame and as a notification that a control port frame
++ *	has been received. %NL80211_ATTR_FRAME is used to specify the
++ *	frame contents.  The frame is the raw EAPoL data, without ethernet or
++ *	802.11 headers.
++ *	When used as an event indication %NL80211_ATTR_CONTROL_PORT_ETHERTYPE,
++ *	%NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT and %NL80211_ATTR_MAC are added
++ *	indicating the protocol type of the received frame; whether the frame
++ *	was received unencrypted and the MAC address of the peer respectively.
++ *
++ * @NL80211_CMD_RELOAD_REGDB: Request that the regdb firmware file is reloaded.
++ *
++ * @NL80211_CMD_EXTERNAL_AUTH: This interface is exclusively defined for host
++ *	drivers that do not define separate commands for authentication and
++ *	association, but rely on user space for the authentication to happen.
++ *	This interface acts both as the event request (driver to user space)
++ *	to trigger the authentication and command response (userspace to
++ *	driver) to indicate the authentication status.
++ *
++ *	User space uses the %NL80211_CMD_CONNECT command to the host driver to
++ *	trigger a connection. The host driver selects a BSS and further uses
++ *	this interface to offload only the authentication part to the user
++ *	space. Authentication frames are passed between the driver and user
++ *	space through the %NL80211_CMD_FRAME interface. Host driver proceeds
++ *	further with the association after getting successful authentication
++ *	status. User space indicates the authentication status through
++ *	%NL80211_ATTR_STATUS_CODE attribute in %NL80211_CMD_EXTERNAL_AUTH
++ *	command interface.
++ *
++ *	Host driver reports this status on an authentication failure to the
++ *	user space through the connect result as the user space would have
++ *	initiated the connection through the connect request.
++ *
++ * @NL80211_CMD_STA_OPMODE_CHANGED: An event that notify station's
++ *	ht opmode or vht opmode changes using any of %NL80211_ATTR_SMPS_MODE,
++ *	%NL80211_ATTR_CHANNEL_WIDTH,%NL80211_ATTR_NSS attributes with its
++ *	address(specified in %NL80211_ATTR_MAC).
++ *
++ * @NL80211_CMD_GET_FTM_RESPONDER_STATS: Retrieve FTM responder statistics, in
++ *	the %NL80211_ATTR_FTM_RESPONDER_STATS attribute.
++ *
++ * @NL80211_CMD_PEER_MEASUREMENT_START: start a (set of) peer measurement(s)
++ *	with the given parameters, which are encapsulated in the nested
++ *	%NL80211_ATTR_PEER_MEASUREMENTS attribute. Optionally, MAC address
++ *	randomization may be enabled and configured by specifying the
++ *	%NL80211_ATTR_MAC and %NL80211_ATTR_MAC_MASK attributes.
++ *	If a timeout is requested, use the %NL80211_ATTR_TIMEOUT attribute.
++ *	A u64 cookie for further %NL80211_ATTR_COOKIE use is is returned in
++ *	the netlink extended ack message.
++ *
++ *	To cancel a measurement, close the socket that requested it.
++ *
++ *	Measurement results are reported to the socket that requested the
++ *	measurement using @NL80211_CMD_PEER_MEASUREMENT_RESULT when they
++ *	become available, so applications must ensure a large enough socket
++ *	buffer size.
++ *
++ *	Depending on driver support it may or may not be possible to start
++ *	multiple concurrent measurements.
++ * @NL80211_CMD_PEER_MEASUREMENT_RESULT: This command number is used for the
++ *	result notification from the driver to the requesting socket.
++ * @NL80211_CMD_PEER_MEASUREMENT_COMPLETE: Notification only, indicating that
++ *	the measurement completed, using the measurement cookie
++ *	(%NL80211_ATTR_COOKIE).
++ *
++ * @NL80211_CMD_NOTIFY_RADAR: Notify the kernel that a radar signal was
++ *	detected and reported by a neighboring device on the channel
++ *	indicated by %NL80211_ATTR_WIPHY_FREQ and other attributes
++ *	determining the width and type.
++ *
++ * @NL80211_CMD_UPDATE_OWE_INFO: This interface allows the host driver to
++ *	offload OWE processing to user space. This intends to support
++ *	OWE AKM by the host drivers that implement SME but rely
++ *	on the user space for the cryptographic/DH IE processing in AP mode.
++ *
++ * @NL80211_CMD_PROBE_MESH_LINK: The requirement for mesh link metric
++ *	refreshing, is that from one mesh point we be able to send some data
++ *	frames to other mesh points which are not currently selected as a
++ *	primary traffic path, but which are only 1 hop away. The absence of
++ *	the primary path to the chosen node makes it necessary to apply some
++ *	form of marking on a chosen packet stream so that the packets can be
++ *	properly steered to the selected node for testing, and not by the
++ *	regular mesh path lookup. Further, the packets must be of type data
++ *	so that the rate control (often embedded in firmware) is used for
++ *	rate selection.
++ *
++ *	Here attribute %NL80211_ATTR_MAC is used to specify connected mesh
++ *	peer MAC address and %NL80211_ATTR_FRAME is used to specify the frame
++ *	content. The frame is ethernet data.
++ *
++ * @NL80211_CMD_SET_TID_CONFIG: Data frame TID specific configuration
++ *	is passed using %NL80211_ATTR_TID_CONFIG attribute.
++ *
++ * @NL80211_CMD_UNPROT_BEACON: Unprotected or incorrectly protected Beacon
++ *	frame. This event is used to indicate that a received Beacon frame was
++ *	dropped because it did not include a valid MME MIC while beacon
++ *	protection was enabled (BIGTK configured in station mode).
++ *
++ * @NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS: Report TX status of a control
++ *	port frame transmitted with %NL80211_CMD_CONTROL_PORT_FRAME.
++ *	%NL80211_ATTR_COOKIE identifies the TX command and %NL80211_ATTR_FRAME
++ *	includes the contents of the frame. %NL80211_ATTR_ACK flag is included
++ *	if the recipient acknowledged the frame.
+  *
+  * @NL80211_CMD_MAX: highest used command number
+  * @__NL80211_CMD_AFTER_LAST: internal use
+@@ -1185,6 +1372,34 @@ enum nl80211_commands {
+ 	NL80211_CMD_SET_PMK,
+ 	NL80211_CMD_DEL_PMK,
+ 
++	NL80211_CMD_PORT_AUTHORIZED,
++
++	NL80211_CMD_RELOAD_REGDB,
++
++	NL80211_CMD_EXTERNAL_AUTH,
++
++	NL80211_CMD_STA_OPMODE_CHANGED,
++
++	NL80211_CMD_CONTROL_PORT_FRAME,
++
++	NL80211_CMD_GET_FTM_RESPONDER_STATS,
++
++	NL80211_CMD_PEER_MEASUREMENT_START,
++	NL80211_CMD_PEER_MEASUREMENT_RESULT,
++	NL80211_CMD_PEER_MEASUREMENT_COMPLETE,
++
++	NL80211_CMD_NOTIFY_RADAR,
++
++	NL80211_CMD_UPDATE_OWE_INFO,
++
++	NL80211_CMD_PROBE_MESH_LINK,
++
++	NL80211_CMD_SET_TID_CONFIG,
++
++	NL80211_CMD_UNPROT_BEACON,
++
++	NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS,
++
+ 	/* add new commands above here */
+ 
+ 	/* used to define NL80211_CMD_MAX below */
+@@ -1230,7 +1445,8 @@ enum nl80211_commands {
+  *	of &enum nl80211_chan_width, describing the channel width. See the
+  *	documentation of the enum for more information.
+  * @NL80211_ATTR_CENTER_FREQ1: Center frequency of the first part of the
+- *	channel, used for anything but 20 MHz bandwidth
++ *	channel, used for anything but 20 MHz bandwidth. In S1G this is the
++ *	operating channel center frequency.
+  * @NL80211_ATTR_CENTER_FREQ2: Center frequency of the second part of the
+  *	channel, used only for 80+80 MHz bandwidth
+  * @NL80211_ATTR_WIPHY_CHANNEL_TYPE: included with NL80211_ATTR_WIPHY_FREQ
+@@ -1407,8 +1623,12 @@ enum nl80211_commands {
+  *
+  * @NL80211_ATTR_USE_MFP: Whether management frame protection (IEEE 802.11w) is
+  *	used for the association (&enum nl80211_mfp, represented as a u32);
+- *	this attribute can be used
+- *	with %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests
++ *	this attribute can be used with %NL80211_CMD_ASSOCIATE and
++ *	%NL80211_CMD_CONNECT requests. %NL80211_MFP_OPTIONAL is not allowed for
++ *	%NL80211_CMD_ASSOCIATE since user space SME is expected and hence, it
++ *	must have decided whether to use management frame protection or not.
++ *	Setting %NL80211_MFP_OPTIONAL with a %NL80211_CMD_CONNECT request will
++ *	let the driver (or the firmware) decide whether to use MFP or not.
+  *
+  * @NL80211_ATTR_STA_FLAGS2: Attribute containing a
+  *	&struct nl80211_sta_flag_update.
+@@ -1428,6 +1648,16 @@ enum nl80211_commands {
+  * @NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT: When included along with
+  *	%NL80211_ATTR_CONTROL_PORT_ETHERTYPE, indicates that the custom
+  *	ethertype frames used for key negotiation must not be encrypted.
++ * @NL80211_ATTR_CONTROL_PORT_OVER_NL80211: A flag indicating whether control
++ *	port frames (e.g. of type given in %NL80211_ATTR_CONTROL_PORT_ETHERTYPE)
++ *	will be sent directly to the network interface or sent via the NL80211
++ *	socket.  If this attribute is missing, then legacy behavior of sending
++ *	control port frames directly to the network interface is used.  If the
++ *	flag is included, then control port frames are sent over NL80211 instead
++ *	using %CMD_CONTROL_PORT_FRAME.  If control port routing over NL80211 is
++ *	to be used then userspace must also use the %NL80211_ATTR_SOCKET_OWNER
++ *	flag. When used with %NL80211_ATTR_CONTROL_PORT_NO_PREAUTH, pre-auth
++ *	frames are not forwared over the control port.
+  *
+  * @NL80211_ATTR_TESTDATA: Testmode data blob, passed through to the driver.
+  *	We recommend using nested, driver-specific attributes within this.
+@@ -1452,6 +1682,12 @@ enum nl80211_commands {
+  *	(a u32 with flags from &enum nl80211_wpa_versions).
+  * @NL80211_ATTR_AKM_SUITES: Used with CONNECT, ASSOCIATE, and NEW_BEACON to
+  *	indicate which key management algorithm(s) to use (an array of u32).
++ *	This attribute is also sent in response to @NL80211_CMD_GET_WIPHY,
++ *	indicating the supported AKM suites, intended for specific drivers which
++ *	implement SME and have constraints on which AKMs are supported and also
++ *	the cases where an AKM support is offloaded to the driver/firmware.
++ *	If there is no such notification from the driver, user space should
++ *	assume the driver supports all the AKM suites.
+  *
+  * @NL80211_ATTR_REQ_IE: (Re)association request information elements as
+  *	sent out by the card, for ROAM and successful CONNECT events.
+@@ -1628,7 +1864,7 @@ enum nl80211_commands {
+  *	the values passed in @NL80211_ATTR_SCAN_SSIDS (eg. if an SSID
+  *	is included in the probe request, but the match attributes
+  *	will never let it go through), -EINVAL may be returned.
+- *	If ommited, no filtering is done.
++ *	If omitted, no filtering is done.
+  *
+  * @NL80211_ATTR_INTERFACE_COMBINATIONS: Nested attribute listing the supported
+  *	interface combinations. In each nested item, it contains attributes
+@@ -1733,7 +1969,7 @@ enum nl80211_commands {
+  *
+  * @NL80211_ATTR_INACTIVITY_TIMEOUT: timeout value in seconds, this can be
+  *	used by the drivers which has MLME in firmware and does not have support
+- *	to report per station tx/rx activity to free up the staion entry from
++ *	to report per station tx/rx activity to free up the station entry from
+  *	the list. This needs to be used when the driver advertises the
+  *	capability to timeout the stations.
+  *
+@@ -1915,6 +2151,12 @@ enum nl80211_commands {
+  *	multicast group.
+  *	If set during %NL80211_CMD_ASSOCIATE or %NL80211_CMD_CONNECT the
+  *	station will deauthenticate when the socket is closed.
++ *	If set during %NL80211_CMD_JOIN_IBSS the IBSS will be automatically
++ *	torn down when the socket is closed.
++ *	If set during %NL80211_CMD_JOIN_MESH the mesh setup will be
++ *	automatically torn down when the socket is closed.
++ *	If set during %NL80211_CMD_START_AP the AP will be automatically
++ *	disabled when the socket is closed.
+  *
+  * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is
+  *	the TDLS link initiator.
+@@ -2088,7 +2330,7 @@ enum nl80211_commands {
+  *
+  * @NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST: When present the RSSI level for BSSs in
+  *	the specified band is to be adjusted before doing
+- *	%NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI based comparision to figure out
++ *	%NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI based comparison to figure out
+  *	better BSSs. The attribute value is a packed structure
+  *	value as specified by &struct nl80211_bss_select_rssi_adjust.
+  *
+@@ -2134,10 +2376,134 @@ enum nl80211_commands {
+  *	in %NL80211_CMD_CONNECT to indicate that for 802.1X authentication it
+  *	wants to use the supported offload of the 4-way handshake.
+  * @NL80211_ATTR_PMKR0_NAME: PMK-R0 Name for offloaded FT.
+- * @NL80211_ATTR_PORT_AUTHORIZED: flag attribute used in %NL80211_CMD_ROAMED
+- *	notification indicating that that 802.1X authentication was done by
+- *	the driver or is not needed (because roaming used the Fast Transition
+- *	protocol).
++ * @NL80211_ATTR_PORT_AUTHORIZED: (reserved)
++ *
++ * @NL80211_ATTR_EXTERNAL_AUTH_ACTION: Identify the requested external
++ *     authentication operation (u32 attribute with an
++ *     &enum nl80211_external_auth_action value). This is used with the
++ *     %NL80211_CMD_EXTERNAL_AUTH request event.
++ * @NL80211_ATTR_EXTERNAL_AUTH_SUPPORT: Flag attribute indicating that the user
++ *	space supports external authentication. This attribute shall be used
++ *	with %NL80211_CMD_CONNECT and %NL80211_CMD_START_AP request. The driver
++ *	may offload authentication processing to user space if this capability
++ *	is indicated in the respective requests from the user space.
++ *
++ * @NL80211_ATTR_NSS: Station's New/updated  RX_NSS value notified using this
++ *	u8 attribute. This is used with %NL80211_CMD_STA_OPMODE_CHANGED.
++ *
++ * @NL80211_ATTR_TXQ_STATS: TXQ statistics (nested attribute, see &enum
++ *      nl80211_txq_stats)
++ * @NL80211_ATTR_TXQ_LIMIT: Total packet limit for the TXQ queues for this phy.
++ *      The smaller of this and the memory limit is enforced.
++ * @NL80211_ATTR_TXQ_MEMORY_LIMIT: Total memory memory limit (in bytes) for the
++ *      TXQ queues for this phy. The smaller of this and the packet limit is
++ *      enforced.
++ * @NL80211_ATTR_TXQ_QUANTUM: TXQ scheduler quantum (bytes). Number of bytes
++ *      a flow is assigned on each round of the DRR scheduler.
++ * @NL80211_ATTR_HE_CAPABILITY: HE Capability information element (from
++ *	association request when used with NL80211_CMD_NEW_STATION). Can be set
++ *	only if %NL80211_STA_FLAG_WME is set.
++ *
++ * @NL80211_ATTR_FTM_RESPONDER: nested attribute which user-space can include
++ *	in %NL80211_CMD_START_AP or %NL80211_CMD_SET_BEACON for fine timing
++ *	measurement (FTM) responder functionality and containing parameters as
++ *	possible, see &enum nl80211_ftm_responder_attr
++ *
++ * @NL80211_ATTR_FTM_RESPONDER_STATS: Nested attribute with FTM responder
++ *	statistics, see &enum nl80211_ftm_responder_stats.
++ *
++ * @NL80211_ATTR_TIMEOUT: Timeout for the given operation in milliseconds (u32),
++ *	if the attribute is not given no timeout is requested. Note that 0 is an
++ *	invalid value.
++ *
++ * @NL80211_ATTR_PEER_MEASUREMENTS: peer measurements request (and result)
++ *	data, uses nested attributes specified in
++ *	&enum nl80211_peer_measurement_attrs.
++ *	This is also used for capability advertisement in the wiphy information,
++ *	with the appropriate sub-attributes.
++ *
++ * @NL80211_ATTR_AIRTIME_WEIGHT: Station's weight when scheduled by the airtime
++ *	scheduler.
++ *
++ * @NL80211_ATTR_STA_TX_POWER_SETTING: Transmit power setting type (u8) for
++ *	station associated with the AP. See &enum nl80211_tx_power_setting for
++ *	possible values.
++ * @NL80211_ATTR_STA_TX_POWER: Transmit power level (s16) in dBm units. This
++ *	allows to set Tx power for a station. If this attribute is not included,
++ *	the default per-interface tx power setting will be overriding. Driver
++ *	should be picking up the lowest tx power, either tx power per-interface
++ *	or per-station.
++ *
++ * @NL80211_ATTR_SAE_PASSWORD: attribute for passing SAE password material. It
++ *	is used with %NL80211_CMD_CONNECT to provide password for offloading
++ *	SAE authentication for WPA3-Personal networks.
++ *
++ * @NL80211_ATTR_TWT_RESPONDER: Enable target wait time responder support.
++ *
++ * @NL80211_ATTR_HE_OBSS_PD: nested attribute for OBSS Packet Detection
++ *	functionality.
++ *
++ * @NL80211_ATTR_WIPHY_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz
++ *	channel(s) that are allowed to be used for EDMG transmissions.
++ *	Defined by IEEE P802.11ay/D4.0 section 9.4.2.251. (u8 attribute)
++ * @NL80211_ATTR_WIPHY_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes
++ *	the allowed channel bandwidth configurations. (u8 attribute)
++ *	Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13.
++ *
++ * @NL80211_ATTR_VLAN_ID: VLAN ID (1..4094) for the station and VLAN group key
++ *	(u16).
++ *
++ * @NL80211_ATTR_HE_BSS_COLOR: nested attribute for BSS Color Settings.
++ *
++ * @NL80211_ATTR_IFTYPE_AKM_SUITES: nested array attribute, with each entry
++ *	using attributes from &enum nl80211_iftype_akm_attributes. This
++ *	attribute is sent in a response to %NL80211_CMD_GET_WIPHY indicating
++ *	supported AKM suites capability per interface. AKMs advertised in
++ *	%NL80211_ATTR_AKM_SUITES are default capabilities if AKM suites not
++ *	advertised for a specific interface type.
++ *
++ * @NL80211_ATTR_TID_CONFIG: TID specific configuration in a
++ *	nested attribute with &enum nl80211_tid_config_attr sub-attributes;
++ *	on output (in wiphy attributes) it contains only the feature sub-
++ *	attributes.
++ *
++ * @NL80211_ATTR_CONTROL_PORT_NO_PREAUTH: disable preauth frame rx on control
++ *	port in order to forward/receive them as ordinary data frames.
++ *
++ * @NL80211_ATTR_PMK_LIFETIME: Maximum lifetime for PMKSA in seconds (u32,
++ *	dot11RSNAConfigPMKReauthThreshold; 0 is not a valid value).
++ *	An optional parameter configured through %NL80211_CMD_SET_PMKSA.
++ *	Drivers that trigger roaming need to know the lifetime of the
++ *	configured PMKSA for triggering the full vs. PMKSA caching based
++ *	authentication. This timeout helps authentication methods like SAE,
++ *	where PMK gets updated only by going through a full (new SAE)
++ *	authentication instead of getting updated during an association for EAP
++ *	authentication. No new full authentication within the PMK expiry shall
++ *	result in a disassociation at the end of the lifetime.
++ *
++ * @NL80211_ATTR_PMK_REAUTH_THRESHOLD: Reauthentication threshold time, in
++ *	terms of percentage of %NL80211_ATTR_PMK_LIFETIME
++ *	(u8, dot11RSNAConfigPMKReauthThreshold, 1..100). This is an optional
++ *	parameter configured through %NL80211_CMD_SET_PMKSA. Requests the
++ *	driver to trigger a full authentication roam (without PMKSA caching)
++ *	after the reauthentication threshold time, but before the PMK lifetime
++ *	has expired.
++ *
++ *	Authentication methods like SAE need to be able to generate a new PMKSA
++ *	entry without having to force a disconnection after the PMK timeout. If
++ *	no roaming occurs between the reauth threshold and PMK expiration,
++ *	disassociation is still forced.
++ * @NL80211_ATTR_RECEIVE_MULTICAST: multicast flag for the
++ *	%NL80211_CMD_REGISTER_FRAME command, see the description there.
++ * @NL80211_ATTR_WIPHY_FREQ_OFFSET: offset of the associated
++ *	%NL80211_ATTR_WIPHY_FREQ in positive KHz. Only valid when supplied with
++ *	an %NL80211_ATTR_WIPHY_FREQ_OFFSET.
++ * @NL80211_ATTR_CENTER_FREQ1_OFFSET: Center frequency offset in KHz for the
++ *	first channel segment specified in %NL80211_ATTR_CENTER_FREQ1.
++ * @NL80211_ATTR_SCAN_FREQ_KHZ: nested attribute with KHz frequencies
++ *
++ * @NL80211_ATTR_HE_6GHZ_CAPABILITY: HE 6 GHz Band Capability element (from
++ *	association request when used with NL80211_CMD_NEW_STATION).
+  *
+  * @NUM_NL80211_ATTR: total number of nl80211_attrs available
+  * @NL80211_ATTR_MAX: highest attribute number currently defined
+@@ -2565,6 +2931,62 @@ enum nl80211_attrs {
+ 	NL80211_ATTR_PMKR0_NAME,
+ 	NL80211_ATTR_PORT_AUTHORIZED,
+ 
++	NL80211_ATTR_EXTERNAL_AUTH_ACTION,
++	NL80211_ATTR_EXTERNAL_AUTH_SUPPORT,
++
++	NL80211_ATTR_NSS,
++	NL80211_ATTR_ACK_SIGNAL,
++
++	NL80211_ATTR_CONTROL_PORT_OVER_NL80211,
++
++	NL80211_ATTR_TXQ_STATS,
++	NL80211_ATTR_TXQ_LIMIT,
++	NL80211_ATTR_TXQ_MEMORY_LIMIT,
++	NL80211_ATTR_TXQ_QUANTUM,
++
++	NL80211_ATTR_HE_CAPABILITY,
++
++	NL80211_ATTR_FTM_RESPONDER,
++
++	NL80211_ATTR_FTM_RESPONDER_STATS,
++
++	NL80211_ATTR_TIMEOUT,
++
++	NL80211_ATTR_PEER_MEASUREMENTS,
++
++	NL80211_ATTR_AIRTIME_WEIGHT,
++	NL80211_ATTR_STA_TX_POWER_SETTING,
++	NL80211_ATTR_STA_TX_POWER,
++
++	NL80211_ATTR_SAE_PASSWORD,
++
++	NL80211_ATTR_TWT_RESPONDER,
++
++	NL80211_ATTR_HE_OBSS_PD,
++
++	NL80211_ATTR_WIPHY_EDMG_CHANNELS,
++	NL80211_ATTR_WIPHY_EDMG_BW_CONFIG,
++
++	NL80211_ATTR_VLAN_ID,
++
++	NL80211_ATTR_HE_BSS_COLOR,
++
++	NL80211_ATTR_IFTYPE_AKM_SUITES,
++
++	NL80211_ATTR_TID_CONFIG,
++
++	NL80211_ATTR_CONTROL_PORT_NO_PREAUTH,
++
++	NL80211_ATTR_PMK_LIFETIME,
++	NL80211_ATTR_PMK_REAUTH_THRESHOLD,
++
++	NL80211_ATTR_RECEIVE_MULTICAST,
++	NL80211_ATTR_WIPHY_FREQ_OFFSET,
++	NL80211_ATTR_CENTER_FREQ1_OFFSET,
++	NL80211_ATTR_SCAN_FREQ_KHZ,
++
++	NL80211_ATTR_HE_6GHZ_CAPABILITY,
++
+ 	/* add attributes here, update the policy in nl80211.c */
+ 
+ 	__NL80211_ATTR_AFTER_LAST,
+@@ -2604,15 +3026,18 @@ enum nl80211_attrs {
+ #define NL80211_ATTR_KEYS NL80211_ATTR_KEYS
+ #define NL80211_ATTR_FEATURE_FLAGS NL80211_ATTR_FEATURE_FLAGS
+ 
++#define NL80211_WIPHY_NAME_MAXLEN		64
++
+ #define NL80211_MAX_SUPP_RATES			32
+ #define NL80211_MAX_SUPP_HT_RATES		77
+-#define NL80211_MAX_SUPP_REG_RULES		64
++#define NL80211_MAX_SUPP_REG_RULES		128
+ #define NL80211_TKIP_DATA_OFFSET_ENCR_KEY	0
+ #define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY	16
+ #define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY	24
+ #define NL80211_HT_CAPABILITY_LEN		26
+ #define NL80211_VHT_CAPABILITY_LEN		12
+-
++#define NL80211_HE_MIN_CAPABILITY_LEN           16
++#define NL80211_HE_MAX_CAPABILITY_LEN           54
+ #define NL80211_MAX_NR_CIPHER_SUITES		5
+ #define NL80211_MAX_NR_AKM_SUITES		2
+ 
+@@ -2739,6 +3164,38 @@ struct nl80211_sta_flag_update {
+ 	__u32 set;
+ } __attribute__((packed));
+ 
++/**
++ * enum nl80211_he_gi - HE guard interval
++ * @NL80211_RATE_INFO_HE_GI_0_8: 0.8 usec
++ * @NL80211_RATE_INFO_HE_GI_1_6: 1.6 usec
++ * @NL80211_RATE_INFO_HE_GI_3_2: 3.2 usec
++ */
++enum nl80211_he_gi {
++	NL80211_RATE_INFO_HE_GI_0_8,
++	NL80211_RATE_INFO_HE_GI_1_6,
++	NL80211_RATE_INFO_HE_GI_3_2,
++};
++
++/**
++ * enum nl80211_he_ru_alloc - HE RU allocation values
++ * @NL80211_RATE_INFO_HE_RU_ALLOC_26: 26-tone RU allocation
++ * @NL80211_RATE_INFO_HE_RU_ALLOC_52: 52-tone RU allocation
++ * @NL80211_RATE_INFO_HE_RU_ALLOC_106: 106-tone RU allocation
++ * @NL80211_RATE_INFO_HE_RU_ALLOC_242: 242-tone RU allocation
++ * @NL80211_RATE_INFO_HE_RU_ALLOC_484: 484-tone RU allocation
++ * @NL80211_RATE_INFO_HE_RU_ALLOC_996: 996-tone RU allocation
++ * @NL80211_RATE_INFO_HE_RU_ALLOC_2x996: 2x996-tone RU allocation
++ */
++enum nl80211_he_ru_alloc {
++	NL80211_RATE_INFO_HE_RU_ALLOC_26,
++	NL80211_RATE_INFO_HE_RU_ALLOC_52,
++	NL80211_RATE_INFO_HE_RU_ALLOC_106,
++	NL80211_RATE_INFO_HE_RU_ALLOC_242,
++	NL80211_RATE_INFO_HE_RU_ALLOC_484,
++	NL80211_RATE_INFO_HE_RU_ALLOC_996,
++	NL80211_RATE_INFO_HE_RU_ALLOC_2x996,
++};
++
+ /**
+  * enum nl80211_rate_info - bitrate information
+  *
+@@ -2771,6 +3228,13 @@ struct nl80211_sta_flag_update {
+  * @NL80211_RATE_INFO_5_MHZ_WIDTH: 5 MHz width - note that this is
+  *	a legacy rate and will be reported as the actual bitrate, i.e.
+  *	a quarter of the base (20 MHz) rate
++ * @NL80211_RATE_INFO_HE_MCS: HE MCS index (u8, 0-11)
++ * @NL80211_RATE_INFO_HE_NSS: HE NSS value (u8, 1-8)
++ * @NL80211_RATE_INFO_HE_GI: HE guard interval identifier
++ *	(u8, see &enum nl80211_he_gi)
++ * @NL80211_RATE_INFO_HE_DCM: HE DCM value (u8, 0/1)
++ * @NL80211_RATE_INFO_RU_ALLOC: HE RU allocation, if not present then
++ *	non-OFDMA was used (u8, see &enum nl80211_he_ru_alloc)
+  * @__NL80211_RATE_INFO_AFTER_LAST: internal use
+  */
+ enum nl80211_rate_info {
+@@ -2787,6 +3251,11 @@ enum nl80211_rate_info {
+ 	NL80211_RATE_INFO_160_MHZ_WIDTH,
+ 	NL80211_RATE_INFO_10_MHZ_WIDTH,
+ 	NL80211_RATE_INFO_5_MHZ_WIDTH,
++	NL80211_RATE_INFO_HE_MCS,
++	NL80211_RATE_INFO_HE_NSS,
++	NL80211_RATE_INFO_HE_GI,
++	NL80211_RATE_INFO_HE_DCM,
++	NL80211_RATE_INFO_HE_RU_ALLOC,
+ 
+ 	/* keep last */
+ 	__NL80211_RATE_INFO_AFTER_LAST,
+@@ -2885,6 +3354,22 @@ enum nl80211_sta_bss_param {
+  * @NL80211_STA_INFO_RX_DURATION: aggregate PPDU duration for all frames
+  *	received from the station (u64, usec)
+  * @NL80211_STA_INFO_PAD: attribute used for padding for 64-bit alignment
++ * @NL80211_STA_INFO_ACK_SIGNAL: signal strength of the last ACK frame(u8, dBm)
++ * @NL80211_STA_INFO_ACK_SIGNAL_AVG: avg signal strength of ACK frames (s8, dBm)
++ * @NL80211_STA_INFO_RX_MPDUS: total number of received packets (MPDUs)
++ *	(u32, from this station)
++ * @NL80211_STA_INFO_FCS_ERROR_COUNT: total number of packets (MPDUs) received
++ *	with an FCS error (u32, from this station). This count may not include
++ *	some packets with an FCS error due to TA corruption. Hence this counter
++ *	might not be fully accurate.
++ * @NL80211_STA_INFO_CONNECTED_TO_GATE: set to true if STA has a path to a
++ *	mesh gate (u8, 0 or 1)
++ * @NL80211_STA_INFO_TX_DURATION: aggregate PPDU duration for all frames
++ *	sent to the station (u64, usec)
++ * @NL80211_STA_INFO_AIRTIME_WEIGHT: current airtime weight for station (u16)
++ * @NL80211_STA_INFO_AIRTIME_LINK_METRIC: airtime link metric for mesh station
++ * @NL80211_STA_INFO_ASSOC_AT_BOOTTIME: Timestamp (CLOCK_BOOTTIME, nanoseconds)
++ *	of STA's association
+  * @__NL80211_STA_INFO_AFTER_LAST: internal
+  * @NL80211_STA_INFO_MAX: highest possible station info attribute
+  */
+@@ -2923,12 +3408,25 @@ enum nl80211_sta_info {
+ 	NL80211_STA_INFO_TID_STATS,
+ 	NL80211_STA_INFO_RX_DURATION,
+ 	NL80211_STA_INFO_PAD,
++	NL80211_STA_INFO_ACK_SIGNAL,
++	NL80211_STA_INFO_ACK_SIGNAL_AVG,
++	NL80211_STA_INFO_RX_MPDUS,
++	NL80211_STA_INFO_FCS_ERROR_COUNT,
++	NL80211_STA_INFO_CONNECTED_TO_GATE,
++	NL80211_STA_INFO_TX_DURATION,
++	NL80211_STA_INFO_AIRTIME_WEIGHT,
++	NL80211_STA_INFO_AIRTIME_LINK_METRIC,
++	NL80211_STA_INFO_ASSOC_AT_BOOTTIME,
+ 
+ 	/* keep last */
+ 	__NL80211_STA_INFO_AFTER_LAST,
+ 	NL80211_STA_INFO_MAX = __NL80211_STA_INFO_AFTER_LAST - 1
+ };
+ 
++/* we renamed this - stay compatible */
++#define NL80211_STA_INFO_DATA_ACK_SIGNAL_AVG NL80211_STA_INFO_ACK_SIGNAL_AVG
++
++
+ /**
+  * enum nl80211_tid_stats - per TID statistics attributes
+  * @__NL80211_TID_STATS_INVALID: attribute number 0 is reserved
+@@ -2940,6 +3438,7 @@ enum nl80211_sta_info {
+  * @NL80211_TID_STATS_TX_MSDU_FAILED: number of failed transmitted
+  *	MSDUs (u64)
+  * @NL80211_TID_STATS_PAD: attribute used for padding for 64-bit alignment
++ * @NL80211_TID_STATS_TXQ_STATS: TXQ stats (nested attribute)
+  * @NUM_NL80211_TID_STATS: number of attributes here
+  * @NL80211_TID_STATS_MAX: highest numbered attribute here
+  */
+@@ -2950,12 +3449,51 @@ enum nl80211_tid_stats {
+ 	NL80211_TID_STATS_TX_MSDU_RETRIES,
+ 	NL80211_TID_STATS_TX_MSDU_FAILED,
+ 	NL80211_TID_STATS_PAD,
++	NL80211_TID_STATS_TXQ_STATS,
+ 
+ 	/* keep last */
+ 	NUM_NL80211_TID_STATS,
+ 	NL80211_TID_STATS_MAX = NUM_NL80211_TID_STATS - 1
+ };
+ 
++/**
++ * enum nl80211_txq_stats - per TXQ statistics attributes
++ * @__NL80211_TXQ_STATS_INVALID: attribute number 0 is reserved
++ * @NUM_NL80211_TXQ_STATS: number of attributes here
++ * @NL80211_TXQ_STATS_BACKLOG_BYTES: number of bytes currently backlogged
++ * @NL80211_TXQ_STATS_BACKLOG_PACKETS: number of packets currently
++ *      backlogged
++ * @NL80211_TXQ_STATS_FLOWS: total number of new flows seen
++ * @NL80211_TXQ_STATS_DROPS: total number of packet drops
++ * @NL80211_TXQ_STATS_ECN_MARKS: total number of packet ECN marks
++ * @NL80211_TXQ_STATS_OVERLIMIT: number of drops due to queue space overflow
++ * @NL80211_TXQ_STATS_OVERMEMORY: number of drops due to memory limit overflow
++ *      (only for per-phy stats)
++ * @NL80211_TXQ_STATS_COLLISIONS: number of hash collisions
++ * @NL80211_TXQ_STATS_TX_BYTES: total number of bytes dequeued from TXQ
++ * @NL80211_TXQ_STATS_TX_PACKETS: total number of packets dequeued from TXQ
++ * @NL80211_TXQ_STATS_MAX_FLOWS: number of flow buckets for PHY
++ * @NL80211_TXQ_STATS_MAX: highest numbered attribute here
++ */
++enum nl80211_txq_stats {
++	__NL80211_TXQ_STATS_INVALID,
++	NL80211_TXQ_STATS_BACKLOG_BYTES,
++	NL80211_TXQ_STATS_BACKLOG_PACKETS,
++	NL80211_TXQ_STATS_FLOWS,
++	NL80211_TXQ_STATS_DROPS,
++	NL80211_TXQ_STATS_ECN_MARKS,
++	NL80211_TXQ_STATS_OVERLIMIT,
++	NL80211_TXQ_STATS_OVERMEMORY,
++	NL80211_TXQ_STATS_COLLISIONS,
++	NL80211_TXQ_STATS_TX_BYTES,
++	NL80211_TXQ_STATS_TX_PACKETS,
++	NL80211_TXQ_STATS_MAX_FLOWS,
++
++	/* keep last */
++	NUM_NL80211_TXQ_STATS,
++	NL80211_TXQ_STATS_MAX = NUM_NL80211_TXQ_STATS - 1
++};
++
+ /**
+  * enum nl80211_mpath_flags - nl80211 mesh path flags
+  *
+@@ -2988,8 +3526,10 @@ enum nl80211_mpath_flags {
+  * 	&enum nl80211_mpath_flags;
+  * @NL80211_MPATH_INFO_DISCOVERY_TIMEOUT: total path discovery timeout, in msec
+  * @NL80211_MPATH_INFO_DISCOVERY_RETRIES: mesh path discovery retries
++ * @NL80211_MPATH_INFO_HOP_COUNT: hop count to destination
++ * @NL80211_MPATH_INFO_PATH_CHANGE: total number of path changes to destination
+  * @NL80211_MPATH_INFO_MAX: highest mesh path information attribute number
+- *	currently defind
++ *	currently defined
+  * @__NL80211_MPATH_INFO_AFTER_LAST: internal use
+  */
+ enum nl80211_mpath_info {
+@@ -3001,12 +3541,49 @@ enum nl80211_mpath_info {
+ 	NL80211_MPATH_INFO_FLAGS,
+ 	NL80211_MPATH_INFO_DISCOVERY_TIMEOUT,
+ 	NL80211_MPATH_INFO_DISCOVERY_RETRIES,
++	NL80211_MPATH_INFO_HOP_COUNT,
++	NL80211_MPATH_INFO_PATH_CHANGE,
+ 
+ 	/* keep last */
+ 	__NL80211_MPATH_INFO_AFTER_LAST,
+ 	NL80211_MPATH_INFO_MAX = __NL80211_MPATH_INFO_AFTER_LAST - 1
+ };
+ 
++/**
++ * enum nl80211_band_iftype_attr - Interface type data attributes
++ *
++ * @__NL80211_BAND_IFTYPE_ATTR_INVALID: attribute number 0 is reserved
++ * @NL80211_BAND_IFTYPE_ATTR_IFTYPES: nested attribute containing a flag attribute
++ *     for each interface type that supports the band data
++ * @NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC: HE MAC capabilities as in HE
++ *     capabilities IE
++ * @NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY: HE PHY capabilities as in HE
++ *     capabilities IE
++ * @NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET: HE supported NSS/MCS as in HE
++ *     capabilities IE
++ * @NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE: HE PPE thresholds information as
++ *     defined in HE capabilities IE
++ * @NL80211_BAND_IFTYPE_ATTR_MAX: highest band HE capability attribute currently
++ *     defined
++ * @NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA: HE 6GHz band capabilities (__le16),
++ *	given for all 6 GHz band channels
++ * @__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST: internal use
++ */
++enum nl80211_band_iftype_attr {
++	__NL80211_BAND_IFTYPE_ATTR_INVALID,
++
++	NL80211_BAND_IFTYPE_ATTR_IFTYPES,
++	NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC,
++	NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY,
++	NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET,
++	NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE,
++	NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA,
++
++	/* keep last */
++	__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST,
++	NL80211_BAND_IFTYPE_ATTR_MAX = __NL80211_BAND_IFTYPE_ATTR_AFTER_LAST - 1
++};
++
+ /**
+  * enum nl80211_band_attr - band attributes
+  * @__NL80211_BAND_ATTR_INVALID: attribute number 0 is reserved
+@@ -3022,6 +3599,14 @@ enum nl80211_mpath_info {
+  * @NL80211_BAND_ATTR_VHT_MCS_SET: 32-byte attribute containing the MCS set as
+  *	defined in 802.11ac
+  * @NL80211_BAND_ATTR_VHT_CAPA: VHT capabilities, as in the HT information IE
++ * @NL80211_BAND_ATTR_IFTYPE_DATA: nested array attribute, with each entry using
++ *	attributes from &enum nl80211_band_iftype_attr
++ * @NL80211_BAND_ATTR_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz
++ *	channel(s) that are allowed to be used for EDMG transmissions.
++ *	Defined by IEEE P802.11ay/D4.0 section 9.4.2.251.
++ * @NL80211_BAND_ATTR_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes
++ *	the allowed channel bandwidth configurations.
++ *	Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13.
+  * @NL80211_BAND_ATTR_MAX: highest band attribute currently defined
+  * @__NL80211_BAND_ATTR_AFTER_LAST: internal use
+  */
+@@ -3037,6 +3622,10 @@ enum nl80211_band_attr {
+ 
+ 	NL80211_BAND_ATTR_VHT_MCS_SET,
+ 	NL80211_BAND_ATTR_VHT_CAPA,
++	NL80211_BAND_ATTR_IFTYPE_DATA,
++
++	NL80211_BAND_ATTR_EDMG_CHANNELS,
++	NL80211_BAND_ATTR_EDMG_BW_CONFIG,
+ 
+ 	/* keep last */
+ 	__NL80211_BAND_ATTR_AFTER_LAST,
+@@ -3045,6 +3634,29 @@ enum nl80211_band_attr {
+ 
+ #define NL80211_BAND_ATTR_HT_CAPA NL80211_BAND_ATTR_HT_CAPA
+ 
++/**
++ * enum nl80211_wmm_rule - regulatory wmm rule
++ *
++ * @__NL80211_WMMR_INVALID: attribute number 0 is reserved
++ * @NL80211_WMMR_CW_MIN: Minimum contention window slot.
++ * @NL80211_WMMR_CW_MAX: Maximum contention window slot.
++ * @NL80211_WMMR_AIFSN: Arbitration Inter Frame Space.
++ * @NL80211_WMMR_TXOP: Maximum allowed tx operation time.
++ * @nl80211_WMMR_MAX: highest possible wmm rule.
++ * @__NL80211_WMMR_LAST: Internal use.
++ */
++enum nl80211_wmm_rule {
++	__NL80211_WMMR_INVALID,
++	NL80211_WMMR_CW_MIN,
++	NL80211_WMMR_CW_MAX,
++	NL80211_WMMR_AIFSN,
++	NL80211_WMMR_TXOP,
++
++	/* keep last */
++	__NL80211_WMMR_LAST,
++	NL80211_WMMR_MAX = __NL80211_WMMR_LAST - 1
++};
++
+ /**
+  * enum nl80211_frequency_attr - frequency attributes
+  * @__NL80211_FREQUENCY_ATTR_INVALID: attribute number 0 is reserved
+@@ -3094,6 +3706,12 @@ enum nl80211_band_attr {
+  *	on this channel in current regulatory domain.
+  * @NL80211_FREQUENCY_ATTR_NO_10MHZ: 10 MHz operation is not allowed
+  *	on this channel in current regulatory domain.
++ * @NL80211_FREQUENCY_ATTR_WMM: this channel has wmm limitations.
++ *	This is a nested attribute that contains the wmm limitation per AC.
++ *	(see &enum nl80211_wmm_rule)
++ * @NL80211_FREQUENCY_ATTR_NO_HE: HE operation is not allowed on this channel
++ *	in current regulatory domain.
++ * @NL80211_FREQUENCY_ATTR_OFFSET: frequency offset in KHz
+  * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
+  *	currently defined
+  * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
+@@ -3122,6 +3740,9 @@ enum nl80211_frequency_attr {
+ 	NL80211_FREQUENCY_ATTR_IR_CONCURRENT,
+ 	NL80211_FREQUENCY_ATTR_NO_20MHZ,
+ 	NL80211_FREQUENCY_ATTR_NO_10MHZ,
++	NL80211_FREQUENCY_ATTR_WMM,
++	NL80211_FREQUENCY_ATTR_NO_HE,
++	NL80211_FREQUENCY_ATTR_OFFSET,
+ 
+ 	/* keep last */
+ 	__NL80211_FREQUENCY_ATTR_AFTER_LAST,
+@@ -3267,6 +3888,14 @@ enum nl80211_reg_rule_attr {
+  *	value as specified by &struct nl80211_bss_select_rssi_adjust.
+  * @NL80211_SCHED_SCAN_MATCH_ATTR_BSSID: BSSID to be used for matching
+  *	(this cannot be used together with SSID).
++ * @NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI: Nested attribute that carries the
++ *	band specific minimum rssi thresholds for the bands defined in
++ *	enum nl80211_band. The minimum rssi threshold value(s32) specific to a
++ *	band shall be encapsulated in attribute with type value equals to one
++ *	of the NL80211_BAND_* defined in enum nl80211_band. For example, the
++ *	minimum rssi threshold value for 2.4GHZ band shall be encapsulated
++ *	within an attribute of type NL80211_BAND_2GHZ. And one or more of such
++ *	attributes will be nested within this attribute.
+  * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter
+  *	attribute number currently defined
+  * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use
+@@ -3279,6 +3908,7 @@ enum nl80211_sched_scan_match_attr {
+ 	NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI,
+ 	NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST,
+ 	NL80211_SCHED_SCAN_MATCH_ATTR_BSSID,
++	NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI,
+ 
+ 	/* keep last */
+ 	__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST,
+@@ -3305,11 +3935,12 @@ enum nl80211_sched_scan_match_attr {
+  * @NL80211_RRF_AUTO_BW: maximum available bandwidth should be calculated
+  *	base on contiguous rules and wider channels will be allowed to cross
+  *	multiple contiguous/overlapping frequency ranges.
+- * @NL80211_RRF_IR_CONCURRENT: See &NL80211_FREQUENCY_ATTR_IR_CONCURRENT
++ * @NL80211_RRF_IR_CONCURRENT: See %NL80211_FREQUENCY_ATTR_IR_CONCURRENT
+  * @NL80211_RRF_NO_HT40MINUS: channels can't be used in HT40- operation
+  * @NL80211_RRF_NO_HT40PLUS: channels can't be used in HT40+ operation
+  * @NL80211_RRF_NO_80MHZ: 80MHz operation not allowed
+  * @NL80211_RRF_NO_160MHZ: 160MHz operation not allowed
++ * @NL80211_RRF_NO_HE: HE operation not allowed
+  */
+ enum nl80211_reg_rule_flags {
+ 	NL80211_RRF_NO_OFDM		= 1<<0,
+@@ -3327,6 +3958,7 @@ enum nl80211_reg_rule_flags {
+ 	NL80211_RRF_NO_HT40PLUS		= 1<<14,
+ 	NL80211_RRF_NO_80MHZ		= 1<<15,
+ 	NL80211_RRF_NO_160MHZ		= 1<<16,
++	NL80211_RRF_NO_HE		= 1<<17,
+ };
+ 
+ #define NL80211_RRF_PASSIVE_SCAN	NL80211_RRF_NO_IR
+@@ -3400,6 +4032,8 @@ enum nl80211_user_reg_hint_type {
+  * @NL80211_SURVEY_INFO_TIME_SCAN: time the radio spent for scan
+  *	(on this channel or globally)
+  * @NL80211_SURVEY_INFO_PAD: attribute used for padding for 64-bit alignment
++ * @NL80211_SURVEY_INFO_TIME_BSS_RX: amount of time the radio spent
++ *	receiving frames destined to the local BSS
+  * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number
+  *	currently defined
+  * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use
+@@ -3416,6 +4050,7 @@ enum nl80211_survey_info {
+ 	NL80211_SURVEY_INFO_TIME_TX,
+ 	NL80211_SURVEY_INFO_TIME_SCAN,
+ 	NL80211_SURVEY_INFO_PAD,
++	NL80211_SURVEY_INFO_TIME_BSS_RX,
+ 
+ 	/* keep last */
+ 	__NL80211_SURVEY_INFO_AFTER_LAST,
+@@ -3596,6 +4231,11 @@ enum nl80211_mesh_power_mode {
+  *	remove it from the STA's list of peers. You may set this to 0 to disable
+  *	the removal of the STA. Default is 30 minutes.
+  *
++ * @NL80211_MESHCONF_CONNECTED_TO_GATE: If set to true then this mesh STA
++ *	will advertise that it is connected to a gate in the mesh formation
++ *	field.  If left unset then the mesh formation field will only
++ *	advertise such if there is an active root mesh path.
++ *
+  * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use
+  */
+ enum nl80211_meshconf_params {
+@@ -3628,6 +4268,7 @@ enum nl80211_meshconf_params {
+ 	NL80211_MESHCONF_POWER_MODE,
+ 	NL80211_MESHCONF_AWAKE_WINDOW,
+ 	NL80211_MESHCONF_PLINK_TIMEOUT,
++	NL80211_MESHCONF_CONNECTED_TO_GATE,
+ 
+ 	/* keep last */
+ 	__NL80211_MESHCONF_ATTR_AFTER_LAST,
+@@ -3757,6 +4398,27 @@ enum nl80211_channel_type {
+ 	NL80211_CHAN_HT40PLUS
+ };
+ 
++/**
++ * enum nl80211_key_mode - Key mode
++ *
++ * @NL80211_KEY_RX_TX: (Default)
++ *	Key can be used for Rx and Tx immediately
++ *
++ * The following modes can only be selected for unicast keys and when the
++ * driver supports @NL80211_EXT_FEATURE_EXT_KEY_ID:
++ *
++ * @NL80211_KEY_NO_TX: Only allowed in combination with @NL80211_CMD_NEW_KEY:
++ *	Unicast key can only be used for Rx, Tx not allowed, yet
++ * @NL80211_KEY_SET_TX: Only allowed in combination with @NL80211_CMD_SET_KEY:
++ *	The unicast key identified by idx and mac is cleared for Tx and becomes
++ *	the preferred Tx key for the station.
++ */
++enum nl80211_key_mode {
++	NL80211_KEY_RX_TX,
++	NL80211_KEY_NO_TX,
++	NL80211_KEY_SET_TX
++};
++
+ /**
+  * enum nl80211_chan_width - channel width definitions
+  *
+@@ -3848,6 +4510,10 @@ enum nl80211_bss_scan_width {
+  *	@NL80211_BSS_PARENT_BSSID. (u64).
+  * @NL80211_BSS_PARENT_BSSID: the BSS according to which @NL80211_BSS_PARENT_TSF
+  *	is set.
++ * @NL80211_BSS_CHAIN_SIGNAL: per-chain signal strength of last BSS update.
++ *	Contains a nested array of signal strength attributes (u8, dBm),
++ *	using the nesting index as the antenna number.
++ * @NL80211_BSS_FREQUENCY_OFFSET: frequency offset in KHz
+  * @__NL80211_BSS_AFTER_LAST: internal
+  * @NL80211_BSS_MAX: highest BSS attribute
+  */
+@@ -3871,6 +4537,8 @@ enum nl80211_bss {
+ 	NL80211_BSS_PAD,
+ 	NL80211_BSS_PARENT_TSF,
+ 	NL80211_BSS_PARENT_BSSID,
++	NL80211_BSS_CHAIN_SIGNAL,
++	NL80211_BSS_FREQUENCY_OFFSET,
+ 
+ 	/* keep last */
+ 	__NL80211_BSS_AFTER_LAST,
+@@ -3947,15 +4615,18 @@ enum nl80211_key_type {
+  * enum nl80211_mfp - Management frame protection state
+  * @NL80211_MFP_NO: Management frame protection not used
+  * @NL80211_MFP_REQUIRED: Management frame protection required
++ * @NL80211_MFP_OPTIONAL: Management frame protection is optional
+  */
+ enum nl80211_mfp {
+ 	NL80211_MFP_NO,
+ 	NL80211_MFP_REQUIRED,
++	NL80211_MFP_OPTIONAL,
+ };
+ 
+ enum nl80211_wpa_versions {
+ 	NL80211_WPA_VERSION_1 = 1 << 0,
+ 	NL80211_WPA_VERSION_2 = 1 << 1,
++	NL80211_WPA_VERSION_3 = 1 << 2,
+ };
+ 
+ /**
+@@ -3994,6 +4665,10 @@ enum nl80211_key_default_types {
+  * @NL80211_KEY_DEFAULT_TYPES: A nested attribute containing flags
+  *	attributes, specifying what a key should be set as default as.
+  *	See &enum nl80211_key_default_types.
++ * @NL80211_KEY_MODE: the mode from enum nl80211_key_mode.
++ *	Defaults to @NL80211_KEY_RX_TX.
++ * @NL80211_KEY_DEFAULT_BEACON: flag indicating default Beacon frame key
++ *
+  * @__NL80211_KEY_AFTER_LAST: internal
+  * @NL80211_KEY_MAX: highest key attribute
+  */
+@@ -4007,6 +4682,8 @@ enum nl80211_key_attributes {
+ 	NL80211_KEY_DEFAULT_MGMT,
+ 	NL80211_KEY_TYPE,
+ 	NL80211_KEY_DEFAULT_TYPES,
++	NL80211_KEY_MODE,
++	NL80211_KEY_DEFAULT_BEACON,
+ 
+ 	/* keep last */
+ 	__NL80211_KEY_AFTER_LAST,
+@@ -4061,7 +4738,8 @@ enum nl80211_txrate_gi {
+  * enum nl80211_band - Frequency band
+  * @NL80211_BAND_2GHZ: 2.4 GHz ISM band
+  * @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz)
+- * @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 64.80 GHz)
++ * @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz)
++ * @NL80211_BAND_6GHZ: around 6 GHz band (5.9 - 7.2 GHz)
+  * @NUM_NL80211_BANDS: number of bands, avoid using this in userspace
+  *	since newer kernel versions may support more bands
+  */
+@@ -4069,6 +4747,7 @@ enum nl80211_band {
+ 	NL80211_BAND_2GHZ,
+ 	NL80211_BAND_5GHZ,
+ 	NL80211_BAND_60GHZ,
++	NL80211_BAND_6GHZ,
+ 
+ 	NUM_NL80211_BANDS,
+ };
+@@ -4160,6 +4839,92 @@ enum nl80211_tx_power_setting {
+ 	NL80211_TX_POWER_FIXED,
+ };
+ 
++/**
++ * enum nl80211_tid_config - TID config state
++ * @NL80211_TID_CONFIG_ENABLE: Enable config for the TID
++ * @NL80211_TID_CONFIG_DISABLE: Disable config for the TID
++ */
++enum nl80211_tid_config {
++	NL80211_TID_CONFIG_ENABLE,
++	NL80211_TID_CONFIG_DISABLE,
++};
++
++/* enum nl80211_tx_rate_setting - TX rate configuration type
++ * @NL80211_TX_RATE_AUTOMATIC: automatically determine TX rate
++ * @NL80211_TX_RATE_LIMITED: limit the TX rate by the TX rate parameter
++ * @NL80211_TX_RATE_FIXED: fix TX rate to the TX rate parameter
++ */
++enum nl80211_tx_rate_setting {
++	NL80211_TX_RATE_AUTOMATIC,
++	NL80211_TX_RATE_LIMITED,
++	NL80211_TX_RATE_FIXED,
++};
++
++/* enum nl80211_tid_config_attr - TID specific configuration.
++ * @NL80211_TID_CONFIG_ATTR_PAD: pad attribute for 64-bit values
++ * @NL80211_TID_CONFIG_ATTR_VIF_SUPP: a bitmap (u64) of attributes supported
++ *	for per-vif configuration; doesn't list the ones that are generic
++ *	(%NL80211_TID_CONFIG_ATTR_TIDS, %NL80211_TID_CONFIG_ATTR_OVERRIDE).
++ * @NL80211_TID_CONFIG_ATTR_PEER_SUPP: same as the previous per-vif one, but
++ *	per peer instead.
++ * @NL80211_TID_CONFIG_ATTR_OVERRIDE: flag attribue, if set indicates
++ *	that the new configuration overrides all previous peer
++ *	configurations, otherwise previous peer specific configurations
++ *	should be left untouched.
++ * @NL80211_TID_CONFIG_ATTR_TIDS: a bitmask value of TIDs (bit 0 to 7)
++ *	Its type is u16.
++ * @NL80211_TID_CONFIG_ATTR_NOACK: Configure ack policy for the TID.
++ *	specified in %NL80211_TID_CONFIG_ATTR_TID. see %enum nl80211_tid_config.
++ *	Its type is u8.
++ * @NL80211_TID_CONFIG_ATTR_RETRY_SHORT: Number of retries used with data frame
++ *	transmission, user-space sets this configuration in
++ *	&NL80211_CMD_SET_TID_CONFIG. It is u8 type, min value is 1 and
++ *	the max value is advertised by the driver in this attribute on
++ *	output in wiphy capabilities.
++ * @NL80211_TID_CONFIG_ATTR_RETRY_LONG: Number of retries used with data frame
++ *	transmission, user-space sets this configuration in
++ *	&NL80211_CMD_SET_TID_CONFIG. Its type is u8, min value is 1 and
++ *	the max value is advertised by the driver in this attribute on
++ *	output in wiphy capabilities.
++ * @NL80211_TID_CONFIG_ATTR_AMPDU_CTRL: Enable/Disable MPDU aggregation
++ *	for the TIDs specified in %NL80211_TID_CONFIG_ATTR_TIDS.
++ *	Its type is u8, using the values from &nl80211_tid_config.
++ * @NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL: Enable/Disable RTS_CTS for the TIDs
++ *	specified in %NL80211_TID_CONFIG_ATTR_TIDS. It is u8 type, using
++ *	the values from &nl80211_tid_config.
++ * @NL80211_TID_CONFIG_ATTR_AMSDU_CTRL: Enable/Disable MSDU aggregation
++ *	for the TIDs specified in %NL80211_TID_CONFIG_ATTR_TIDS.
++ *	Its type is u8, using the values from &nl80211_tid_config.
++ * @NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE: This attribute will be useful
++ *	to notfiy the driver that what type of txrate should be used
++ *	for the TIDs specified in %NL80211_TID_CONFIG_ATTR_TIDS. using
++ *	the values form &nl80211_tx_rate_setting.
++ * @NL80211_TID_CONFIG_ATTR_TX_RATE: Data frame TX rate mask should be applied
++ *	with the parameters passed through %NL80211_ATTR_TX_RATES.
++ *	configuration is applied to the data frame for the tid to that connected
++ *	station.
++ */
++enum nl80211_tid_config_attr {
++	__NL80211_TID_CONFIG_ATTR_INVALID,
++	NL80211_TID_CONFIG_ATTR_PAD,
++	NL80211_TID_CONFIG_ATTR_VIF_SUPP,
++	NL80211_TID_CONFIG_ATTR_PEER_SUPP,
++	NL80211_TID_CONFIG_ATTR_OVERRIDE,
++	NL80211_TID_CONFIG_ATTR_TIDS,
++	NL80211_TID_CONFIG_ATTR_NOACK,
++	NL80211_TID_CONFIG_ATTR_RETRY_SHORT,
++	NL80211_TID_CONFIG_ATTR_RETRY_LONG,
++	NL80211_TID_CONFIG_ATTR_AMPDU_CTRL,
++	NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL,
++	NL80211_TID_CONFIG_ATTR_AMSDU_CTRL,
++	NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE,
++	NL80211_TID_CONFIG_ATTR_TX_RATE,
++
++	/* keep last */
++	__NL80211_TID_CONFIG_ATTR_AFTER_LAST,
++	NL80211_TID_CONFIG_ATTR_MAX = __NL80211_TID_CONFIG_ATTR_AFTER_LAST - 1
++};
++
+ /**
+  * enum nl80211_packet_pattern_attr - packet pattern attribute
+  * @__NL80211_PKTPAT_INVALID: invalid number for nested attribute
+@@ -4554,7 +5319,7 @@ enum nl80211_iface_limit_attrs {
+  *	numbers = [ #{STA} <= 1, #{P2P-client,P2P-GO} <= 3 ], max = 4
+  *	=> allows a STA plus three P2P interfaces
+  *
+- * The list of these four possiblities could completely be contained
++ * The list of these four possibilities could completely be contained
+  * within the %NL80211_ATTR_INTERFACE_COMBINATIONS attribute to indicate
+  * that any of these groups must match.
+  *
+@@ -4584,7 +5349,7 @@ enum nl80211_if_combination_attrs {
+  * enum nl80211_plink_state - state of a mesh peer link finite state machine
+  *
+  * @NL80211_PLINK_LISTEN: initial state, considered the implicit
+- *	state of non existant mesh peer links
++ *	state of non existent mesh peer links
+  * @NL80211_PLINK_OPN_SNT: mesh plink open frame has been sent to
+  *	this mesh peer
+  * @NL80211_PLINK_OPN_RCVD: mesh plink open frame has been received
+@@ -4631,6 +5396,8 @@ enum plink_actions {
+ 
+ #define NL80211_KCK_LEN			16
+ #define NL80211_KEK_LEN			16
++#define NL80211_KCK_EXT_LEN		24
++#define NL80211_KEK_EXT_LEN		32
+ #define NL80211_REPLAY_CTR_LEN		8
+ 
+ /**
+@@ -4639,6 +5406,7 @@ enum plink_actions {
+  * @NL80211_REKEY_DATA_KEK: key encryption key (binary)
+  * @NL80211_REKEY_DATA_KCK: key confirmation key (binary)
+  * @NL80211_REKEY_DATA_REPLAY_CTR: replay counter (binary)
++ * @NL80211_REKEY_DATA_AKM: AKM data (OUI, suite type)
+  * @NUM_NL80211_REKEY_DATA: number of rekey attributes (internal)
+  * @MAX_NL80211_REKEY_DATA: highest rekey attribute (internal)
+  */
+@@ -4647,6 +5415,7 @@ enum nl80211_rekey_data {
+ 	NL80211_REKEY_DATA_KEK,
+ 	NL80211_REKEY_DATA_KCK,
+ 	NL80211_REKEY_DATA_REPLAY_CTR,
++	NL80211_REKEY_DATA_AKM,
+ 
+ 	/* keep last */
+ 	NUM_NL80211_REKEY_DATA,
+@@ -4860,7 +5629,7 @@ enum nl80211_feature_flags {
+ 	NL80211_FEATURE_TDLS_CHANNEL_SWITCH		= 1 << 28,
+ 	NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR		= 1 << 29,
+ 	NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR	= 1 << 30,
+-	NL80211_FEATURE_ND_RANDOM_MAC_ADDR		= 1 << 31,
++	NL80211_FEATURE_ND_RANDOM_MAC_ADDR		= 1U << 31,
+ };
+ 
+ /**
+@@ -4914,6 +5683,95 @@ enum nl80211_feature_flags {
+  *	handshake with 802.1X in station mode (will pass EAP frames to the host
+  *	and accept the set_pmk/del_pmk commands), doing it in the host might not
+  *	be supported.
++ * @NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME: Driver is capable of overriding
++ *	the max channel attribute in the FILS request params IE with the
++ *	actual dwell time.
++ * @NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP: Driver accepts broadcast probe
++ *	response
++ * @NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE: Driver supports sending
++ *	the first probe request in each channel at rate of at least 5.5Mbps.
++ * @NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION: Driver supports
++ *	probe request tx deferral and suppression
++ * @NL80211_EXT_FEATURE_MFP_OPTIONAL: Driver supports the %NL80211_MFP_OPTIONAL
++ *	value in %NL80211_ATTR_USE_MFP.
++ * @NL80211_EXT_FEATURE_LOW_SPAN_SCAN: Driver supports low span scan.
++ * @NL80211_EXT_FEATURE_LOW_POWER_SCAN: Driver supports low power scan.
++ * @NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN: Driver supports high accuracy scan.
++ * @NL80211_EXT_FEATURE_DFS_OFFLOAD: HW/driver will offload DFS actions.
++ *	Device or driver will do all DFS-related actions by itself,
++ *	informing user-space about CAC progress, radar detection event,
++ *	channel change triggered by radar detection event.
++ *	No need to start CAC from user-space, no need to react to
++ *	"radar detected" event.
++ * @NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211: Driver supports sending and
++ *	receiving control port frames over nl80211 instead of the netdevice.
++ * @NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT: This driver/device supports
++ *	(average) ACK signal strength reporting.
++ * @NL80211_EXT_FEATURE_TXQS: Driver supports FQ-CoDel-enabled intermediate
++ *      TXQs.
++ * @NL80211_EXT_FEATURE_SCAN_RANDOM_SN: Driver/device supports randomizing the
++ *	SN in probe request frames if requested by %NL80211_SCAN_FLAG_RANDOM_SN.
++ * @NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT: Driver/device can omit all data
++ *	except for supported rates from the probe request content if requested
++ *	by the %NL80211_SCAN_FLAG_MIN_PREQ_CONTENT flag.
++ * @NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER: Driver supports enabling fine
++ *	timing measurement responder role.
++ *
++ * @NL80211_EXT_FEATURE_CAN_REPLACE_PTK0: Driver/device confirm that they are
++ *      able to rekey an in-use key correctly. Userspace must not rekey PTK keys
++ *      if this flag is not set. Ignoring this can leak clear text packets and/or
++ *      freeze the connection.
++ * @NL80211_EXT_FEATURE_EXT_KEY_ID: Driver supports "Extended Key ID for
++ *      Individually Addressed Frames" from IEEE802.11-2016.
++ *
++ * @NL80211_EXT_FEATURE_AIRTIME_FAIRNESS: Driver supports getting airtime
++ *	fairness for transmitted packets and has enabled airtime fairness
++ *	scheduling.
++ *
++ * @NL80211_EXT_FEATURE_AP_PMKSA_CACHING: Driver/device supports PMKSA caching
++ *	(set/del PMKSA operations) in AP mode.
++ *
++ * @NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD: Driver supports
++ *	filtering of sched scan results using band specific RSSI thresholds.
++ *
++ * @NL80211_EXT_FEATURE_STA_TX_PWR: This driver supports controlling tx power
++ *	to a station.
++ *
++ * @NL80211_EXT_FEATURE_SAE_OFFLOAD: Device wants to do SAE authentication in
++ *	station mode (SAE password is passed as part of the connect command).
++ *
++ * @NL80211_EXT_FEATURE_VLAN_OFFLOAD: The driver supports a single netdev
++ *	with VLAN tagged frames and separate VLAN-specific netdevs added using
++ *	vconfig similarly to the Ethernet case.
++ *
++ * @NL80211_EXT_FEATURE_AQL: The driver supports the Airtime Queue Limit (AQL)
++ *	feature, which prevents bufferbloat by using the expected transmission
++ *	time to limit the amount of data buffered in the hardware.
++ *
++ * @NL80211_EXT_FEATURE_BEACON_PROTECTION: The driver supports Beacon protection
++ *	and can receive key configuration for BIGTK using key indexes 6 and 7.
++ * @NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT: The driver supports Beacon
++ *	protection as a client only and cannot transmit protected beacons.
++ *
++ * @NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH: The driver can disable the
++ *	forwarding of preauth frames over the control port. They are then
++ *	handled as ordinary data frames.
++ *
++ * @NL80211_EXT_FEATURE_PROTECTED_TWT: Driver supports protected TWT frames
++ *
++ * @NL80211_EXT_FEATURE_DEL_IBSS_STA: The driver supports removing stations
++ *      in IBSS mode, essentially by dropping their state.
++ *
++ * @NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS: management frame registrations
++ *	are possible for multicast frames and those will be reported properly.
++ *
++ * @NL80211_EXT_FEATURE_SCAN_FREQ_KHZ: This driver supports receiving and
++ *	reporting scan request with %NL80211_ATTR_SCAN_FREQ_KHZ. In order to
++ *	report %NL80211_ATTR_SCAN_FREQ_KHZ, %NL80211_SCAN_FLAG_FREQ_KHZ must be
++ *	included in the scan request.
++ *
++ * @NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS: The driver
++ *	can report tx status for control port over nl80211 tx operations.
+  *
+  * @NUM_NL80211_EXT_FEATURES: number of extended features.
+  * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
+@@ -4936,6 +5794,40 @@ enum nl80211_ext_feature_index {
+ 	NL80211_EXT_FEATURE_FILS_SK_OFFLOAD,
+ 	NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK,
+ 	NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X,
++	NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME,
++	NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP,
++	NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE,
++	NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION,
++	NL80211_EXT_FEATURE_MFP_OPTIONAL,
++	NL80211_EXT_FEATURE_LOW_SPAN_SCAN,
++	NL80211_EXT_FEATURE_LOW_POWER_SCAN,
++	NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN,
++	NL80211_EXT_FEATURE_DFS_OFFLOAD,
++	NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211,
++	NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT,
++	/* we renamed this - stay compatible */
++	NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT = NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT,
++	NL80211_EXT_FEATURE_TXQS,
++	NL80211_EXT_FEATURE_SCAN_RANDOM_SN,
++	NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT,
++	NL80211_EXT_FEATURE_CAN_REPLACE_PTK0,
++	NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER,
++	NL80211_EXT_FEATURE_AIRTIME_FAIRNESS,
++	NL80211_EXT_FEATURE_AP_PMKSA_CACHING,
++	NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD,
++	NL80211_EXT_FEATURE_EXT_KEY_ID,
++	NL80211_EXT_FEATURE_STA_TX_PWR,
++	NL80211_EXT_FEATURE_SAE_OFFLOAD,
++	NL80211_EXT_FEATURE_VLAN_OFFLOAD,
++	NL80211_EXT_FEATURE_AQL,
++	NL80211_EXT_FEATURE_BEACON_PROTECTION,
++	NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH,
++	NL80211_EXT_FEATURE_PROTECTED_TWT,
++	NL80211_EXT_FEATURE_DEL_IBSS_STA,
++	NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS,
++	NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT,
++	NL80211_EXT_FEATURE_SCAN_FREQ_KHZ,
++	NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS,
+ 
+ 	/* add new features before the definition below */
+ 	NUM_NL80211_EXT_FEATURES,
+@@ -4996,6 +5888,10 @@ enum nl80211_timeout_reason {
+  * of NL80211_CMD_TRIGGER_SCAN and NL80211_CMD_START_SCHED_SCAN
+  * requests.
+  *
++ * NL80211_SCAN_FLAG_LOW_SPAN, NL80211_SCAN_FLAG_LOW_POWER, and
++ * NL80211_SCAN_FLAG_HIGH_ACCURACY flags are exclusive of each other, i.e., only
++ * one of them can be used in the request.
++ *
+  * @NL80211_SCAN_FLAG_LOW_PRIORITY: scan request has low priority
+  * @NL80211_SCAN_FLAG_FLUSH: flush cache before scanning
+  * @NL80211_SCAN_FLAG_AP: force a scan even if the interface is configured
+@@ -5012,12 +5908,56 @@ enum nl80211_timeout_reason {
+  *	locally administered 1, multicast 0) is assumed.
+  *	This flag must not be requested when the feature isn't supported, check
+  *	the nl80211 feature flags for the device.
++ * @NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME: fill the dwell time in the FILS
++ *	request parameters IE in the probe request
++ * @NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP: accept broadcast probe responses
++ * @NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE: send probe request frames at
++ *	rate of at least 5.5M. In case non OCE AP is discovered in the channel,
++ *	only the first probe req in the channel will be sent in high rate.
++ * @NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION: allow probe request
++ *	tx deferral (dot11FILSProbeDelay shall be set to 15ms)
++ *	and suppression (if it has received a broadcast Probe Response frame,
++ *	Beacon frame or FILS Discovery frame from an AP that the STA considers
++ *	a suitable candidate for (re-)association - suitable in terms of
++ *	SSID and/or RSSI.
++ * @NL80211_SCAN_FLAG_LOW_SPAN: Span corresponds to the total time taken to
++ *	accomplish the scan. Thus, this flag intends the driver to perform the
++ *	scan request with lesser span/duration. It is specific to the driver
++ *	implementations on how this is accomplished. Scan accuracy may get
++ *	impacted with this flag.
++ * @NL80211_SCAN_FLAG_LOW_POWER: This flag intends the scan attempts to consume
++ *	optimal possible power. Drivers can resort to their specific means to
++ *	optimize the power. Scan accuracy may get impacted with this flag.
++ * @NL80211_SCAN_FLAG_HIGH_ACCURACY: Accuracy here intends to the extent of scan
++ *	results obtained. Thus HIGH_ACCURACY scan flag aims to get maximum
++ *	possible scan results. This flag hints the driver to use the best
++ *	possible scan configuration to improve the accuracy in scanning.
++ *	Latency and power use may get impacted with this flag.
++ * @NL80211_SCAN_FLAG_RANDOM_SN: randomize the sequence number in probe
++ *	request frames from this scan to avoid correlation/tracking being
++ *	possible.
++ * @NL80211_SCAN_FLAG_MIN_PREQ_CONTENT: minimize probe request content to
++ *	only have supported rates and no additional capabilities (unless
++ *	added by userspace explicitly.)
++ * @NL80211_SCAN_FLAG_FREQ_KHZ: report scan results with
++ *	%NL80211_ATTR_SCAN_FREQ_KHZ. This also means
++ *	%NL80211_ATTR_SCAN_FREQUENCIES will not be included.
+  */
+ enum nl80211_scan_flags {
+-	NL80211_SCAN_FLAG_LOW_PRIORITY			= 1<<0,
+-	NL80211_SCAN_FLAG_FLUSH				= 1<<1,
+-	NL80211_SCAN_FLAG_AP				= 1<<2,
+-	NL80211_SCAN_FLAG_RANDOM_ADDR			= 1<<3,
++	NL80211_SCAN_FLAG_LOW_PRIORITY				= 1<<0,
++	NL80211_SCAN_FLAG_FLUSH					= 1<<1,
++	NL80211_SCAN_FLAG_AP					= 1<<2,
++	NL80211_SCAN_FLAG_RANDOM_ADDR				= 1<<3,
++	NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME			= 1<<4,
++	NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP		= 1<<5,
++	NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE		= 1<<6,
++	NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION	= 1<<7,
++	NL80211_SCAN_FLAG_LOW_SPAN				= 1<<8,
++	NL80211_SCAN_FLAG_LOW_POWER				= 1<<9,
++	NL80211_SCAN_FLAG_HIGH_ACCURACY				= 1<<10,
++	NL80211_SCAN_FLAG_RANDOM_SN				= 1<<11,
++	NL80211_SCAN_FLAG_MIN_PREQ_CONTENT			= 1<<12,
++	NL80211_SCAN_FLAG_FREQ_KHZ				= 1<<13,
+ };
+ 
+ /**
+@@ -5075,6 +6015,8 @@ enum nl80211_smps_mode {
+  *	non-operating channel is expired and no longer valid. New CAC must
+  *	be done on this channel before starting the operation. This is not
+  *	applicable for ETSI dfs domain where pre-CAC is valid for ever.
++ * @NL80211_RADAR_CAC_STARTED: Channel Availability Check has been started,
++ *	should be generated by HW if NL80211_EXT_FEATURE_DFS_OFFLOAD is enabled.
+  */
+ enum nl80211_radar_event {
+ 	NL80211_RADAR_DETECTED,
+@@ -5082,6 +6024,7 @@ enum nl80211_radar_event {
+ 	NL80211_RADAR_CAC_ABORTED,
+ 	NL80211_RADAR_NOP_FINISHED,
+ 	NL80211_RADAR_PRE_CAC_EXPIRED,
++	NL80211_RADAR_CAC_STARTED,
+ };
+ 
+ /**
+@@ -5140,9 +6083,14 @@ enum nl80211_crit_proto_id {
+  * Used by cfg80211_rx_mgmt()
+  *
+  * @NL80211_RXMGMT_FLAG_ANSWERED: frame was answered by device/driver.
++ * @NL80211_RXMGMT_FLAG_EXTERNAL_AUTH: Host driver intends to offload
++ *	the authentication. Exclusively defined for host drivers that
++ *	advertises the SME functionality but would like the userspace
++ *	to handle certain authentication algorithms (e.g. SAE).
+  */
+ enum nl80211_rxmgmt_flags {
+ 	NL80211_RXMGMT_FLAG_ANSWERED = 1 << 0,
++	NL80211_RXMGMT_FLAG_EXTERNAL_AUTH = 1 << 1,
+ };
+ 
+ /*
+@@ -5373,11 +6321,11 @@ enum nl80211_nan_func_attributes {
+  * @NL80211_NAN_SRF_INCLUDE: present if the include bit of the SRF set.
+  *	This is a flag.
+  * @NL80211_NAN_SRF_BF: Bloom Filter. Present if and only if
+- *	&NL80211_NAN_SRF_MAC_ADDRS isn't present. This attribute is binary.
++ *	%NL80211_NAN_SRF_MAC_ADDRS isn't present. This attribute is binary.
+  * @NL80211_NAN_SRF_BF_IDX: index of the Bloom Filter. Mandatory if
+- *	&NL80211_NAN_SRF_BF is present. This is a u8.
++ *	%NL80211_NAN_SRF_BF is present. This is a u8.
+  * @NL80211_NAN_SRF_MAC_ADDRS: list of MAC addresses for the SRF. Present if
+- *	and only if &NL80211_NAN_SRF_BF isn't present. This is a nested
++ *	and only if %NL80211_NAN_SRF_BF isn't present. This is a nested
+  *	attribute. Each nested attribute is a MAC address.
+  * @NUM_NL80211_NAN_SRF_ATTR: internal
+  * @NL80211_NAN_SRF_ATTR_MAX: highest NAN SRF attribute
+@@ -5417,4 +6365,561 @@ enum nl80211_nan_match_attributes {
+ 	NL80211_NAN_MATCH_ATTR_MAX = NUM_NL80211_NAN_MATCH_ATTR - 1
+ };
+ 
++/**
++ * nl80211_external_auth_action - Action to perform with external
++ *     authentication request. Used by NL80211_ATTR_EXTERNAL_AUTH_ACTION.
++ * @NL80211_EXTERNAL_AUTH_START: Start the authentication.
++ * @NL80211_EXTERNAL_AUTH_ABORT: Abort the ongoing authentication.
++ */
++enum nl80211_external_auth_action {
++	NL80211_EXTERNAL_AUTH_START,
++	NL80211_EXTERNAL_AUTH_ABORT,
++};
++
++/**
++ * enum nl80211_ftm_responder_attributes - fine timing measurement
++ *	responder attributes
++ * @__NL80211_FTM_RESP_ATTR_INVALID: Invalid
++ * @NL80211_FTM_RESP_ATTR_ENABLED: FTM responder is enabled
++ * @NL80211_FTM_RESP_ATTR_LCI: The content of Measurement Report Element
++ *	(9.4.2.22 in 802.11-2016) with type 8 - LCI (9.4.2.22.10),
++ *	i.e. starting with the measurement token
++ * @NL80211_FTM_RESP_ATTR_CIVIC: The content of Measurement Report Element
++ *	(9.4.2.22 in 802.11-2016) with type 11 - Civic (Section 9.4.2.22.13),
++ *	i.e. starting with the measurement token
++ * @__NL80211_FTM_RESP_ATTR_LAST: Internal
++ * @NL80211_FTM_RESP_ATTR_MAX: highest FTM responder attribute.
++ */
++enum nl80211_ftm_responder_attributes {
++	__NL80211_FTM_RESP_ATTR_INVALID,
++
++	NL80211_FTM_RESP_ATTR_ENABLED,
++	NL80211_FTM_RESP_ATTR_LCI,
++	NL80211_FTM_RESP_ATTR_CIVICLOC,
++
++	/* keep last */
++	__NL80211_FTM_RESP_ATTR_LAST,
++	NL80211_FTM_RESP_ATTR_MAX = __NL80211_FTM_RESP_ATTR_LAST - 1,
++};
++
++/*
++ * enum nl80211_ftm_responder_stats - FTM responder statistics
++ *
++ * These attribute types are used with %NL80211_ATTR_FTM_RESPONDER_STATS
++ * when getting FTM responder statistics.
++ *
++ * @__NL80211_FTM_STATS_INVALID: attribute number 0 is reserved
++ * @NL80211_FTM_STATS_SUCCESS_NUM: number of FTM sessions in which all frames
++ *	were ssfully answered (u32)
++ * @NL80211_FTM_STATS_PARTIAL_NUM: number of FTM sessions in which part of the
++ *	frames were successfully answered (u32)
++ * @NL80211_FTM_STATS_FAILED_NUM: number of failed FTM sessions (u32)
++ * @NL80211_FTM_STATS_ASAP_NUM: number of ASAP sessions (u32)
++ * @NL80211_FTM_STATS_NON_ASAP_NUM: number of non-ASAP sessions (u32)
++ * @NL80211_FTM_STATS_TOTAL_DURATION_MSEC: total sessions durations - gives an
++ *	indication of how much time the responder was busy (u64, msec)
++ * @NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM: number of unknown FTM triggers -
++ *	triggers from initiators that didn't finish successfully the negotiation
++ *	phase with the responder (u32)
++ * @NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM: number of FTM reschedule requests
++ *	- initiator asks for a new scheduling although it already has scheduled
++ *	FTM slot (u32)
++ * @NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM: number of FTM triggers out of
++ *	scheduled window (u32)
++ * @NL80211_FTM_STATS_PAD: used for padding, ignore
++ * @__NL80211_TXQ_ATTR_AFTER_LAST: Internal
++ * @NL80211_FTM_STATS_MAX: highest possible FTM responder stats attribute
++ */
++enum nl80211_ftm_responder_stats {
++	__NL80211_FTM_STATS_INVALID,
++	NL80211_FTM_STATS_SUCCESS_NUM,
++	NL80211_FTM_STATS_PARTIAL_NUM,
++	NL80211_FTM_STATS_FAILED_NUM,
++	NL80211_FTM_STATS_ASAP_NUM,
++	NL80211_FTM_STATS_NON_ASAP_NUM,
++	NL80211_FTM_STATS_TOTAL_DURATION_MSEC,
++	NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM,
++	NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM,
++	NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM,
++	NL80211_FTM_STATS_PAD,
++
++	/* keep last */
++	__NL80211_FTM_STATS_AFTER_LAST,
++	NL80211_FTM_STATS_MAX = __NL80211_FTM_STATS_AFTER_LAST - 1
++};
++
++/**
++ * enum nl80211_preamble - frame preamble types
++ * @NL80211_PREAMBLE_LEGACY: legacy (HR/DSSS, OFDM, ERP PHY) preamble
++ * @NL80211_PREAMBLE_HT: HT preamble
++ * @NL80211_PREAMBLE_VHT: VHT preamble
++ * @NL80211_PREAMBLE_DMG: DMG preamble
++ * @NL80211_PREAMBLE_HE: HE preamble
++ */
++enum nl80211_preamble {
++	NL80211_PREAMBLE_LEGACY,
++	NL80211_PREAMBLE_HT,
++	NL80211_PREAMBLE_VHT,
++	NL80211_PREAMBLE_DMG,
++	NL80211_PREAMBLE_HE,
++};
++
++/**
++ * enum nl80211_peer_measurement_type - peer measurement types
++ * @NL80211_PMSR_TYPE_INVALID: invalid/unused, needed as we use
++ *	these numbers also for attributes
++ *
++ * @NL80211_PMSR_TYPE_FTM: flight time measurement
++ *
++ * @NUM_NL80211_PMSR_TYPES: internal
++ * @NL80211_PMSR_TYPE_MAX: highest type number
++ */
++enum nl80211_peer_measurement_type {
++	NL80211_PMSR_TYPE_INVALID,
++
++	NL80211_PMSR_TYPE_FTM,
++
++	NUM_NL80211_PMSR_TYPES,
++	NL80211_PMSR_TYPE_MAX = NUM_NL80211_PMSR_TYPES - 1
++};
++
++/**
++ * enum nl80211_peer_measurement_status - peer measurement status
++ * @NL80211_PMSR_STATUS_SUCCESS: measurement completed successfully
++ * @NL80211_PMSR_STATUS_REFUSED: measurement was locally refused
++ * @NL80211_PMSR_STATUS_TIMEOUT: measurement timed out
++ * @NL80211_PMSR_STATUS_FAILURE: measurement failed, a type-dependent
++ *	reason may be available in the response data
++ */
++enum nl80211_peer_measurement_status {
++	NL80211_PMSR_STATUS_SUCCESS,
++	NL80211_PMSR_STATUS_REFUSED,
++	NL80211_PMSR_STATUS_TIMEOUT,
++	NL80211_PMSR_STATUS_FAILURE,
++};
++
++/**
++ * enum nl80211_peer_measurement_req - peer measurement request attributes
++ * @__NL80211_PMSR_REQ_ATTR_INVALID: invalid
++ *
++ * @NL80211_PMSR_REQ_ATTR_DATA: This is a nested attribute with measurement
++ *	type-specific request data inside. The attributes used are from the
++ *	enums named nl80211_peer_measurement_<type>_req.
++ * @NL80211_PMSR_REQ_ATTR_GET_AP_TSF: include AP TSF timestamp, if supported
++ *	(flag attribute)
++ *
++ * @NUM_NL80211_PMSR_REQ_ATTRS: internal
++ * @NL80211_PMSR_REQ_ATTR_MAX: highest attribute number
++ */
++enum nl80211_peer_measurement_req {
++	__NL80211_PMSR_REQ_ATTR_INVALID,
++
++	NL80211_PMSR_REQ_ATTR_DATA,
++	NL80211_PMSR_REQ_ATTR_GET_AP_TSF,
++
++	/* keep last */
++	NUM_NL80211_PMSR_REQ_ATTRS,
++	NL80211_PMSR_REQ_ATTR_MAX = NUM_NL80211_PMSR_REQ_ATTRS - 1
++};
++
++/**
++ * enum nl80211_peer_measurement_resp - peer measurement response attributes
++ * @__NL80211_PMSR_RESP_ATTR_INVALID: invalid
++ *
++ * @NL80211_PMSR_RESP_ATTR_DATA: This is a nested attribute with measurement
++ *	type-specific results inside. The attributes used are from the enums
++ *	named nl80211_peer_measurement_<type>_resp.
++ * @NL80211_PMSR_RESP_ATTR_STATUS: u32 value with the measurement status
++ *	(using values from &enum nl80211_peer_measurement_status.)
++ * @NL80211_PMSR_RESP_ATTR_HOST_TIME: host time (%CLOCK_BOOTTIME) when the
++ *	result was measured; this value is not expected to be accurate to
++ *	more than 20ms. (u64, nanoseconds)
++ * @NL80211_PMSR_RESP_ATTR_AP_TSF: TSF of the AP that the interface
++ *	doing the measurement is connected to when the result was measured.
++ *	This shall be accurately reported if supported and requested
++ *	(u64, usec)
++ * @NL80211_PMSR_RESP_ATTR_FINAL: If results are sent to the host partially
++ *	(*e.g. with FTM per-burst data) this flag will be cleared on all but
++ *	the last result; if all results are combined it's set on the single
++ *	result.
++ * @NL80211_PMSR_RESP_ATTR_PAD: padding for 64-bit attributes, ignore
++ *
++ * @NUM_NL80211_PMSR_RESP_ATTRS: internal
++ * @NL80211_PMSR_RESP_ATTR_MAX: highest attribute number
++ */
++enum nl80211_peer_measurement_resp {
++	__NL80211_PMSR_RESP_ATTR_INVALID,
++
++	NL80211_PMSR_RESP_ATTR_DATA,
++	NL80211_PMSR_RESP_ATTR_STATUS,
++	NL80211_PMSR_RESP_ATTR_HOST_TIME,
++	NL80211_PMSR_RESP_ATTR_AP_TSF,
++	NL80211_PMSR_RESP_ATTR_FINAL,
++	NL80211_PMSR_RESP_ATTR_PAD,
++
++	/* keep last */
++	NUM_NL80211_PMSR_RESP_ATTRS,
++	NL80211_PMSR_RESP_ATTR_MAX = NUM_NL80211_PMSR_RESP_ATTRS - 1
++};
++
++/**
++ * enum nl80211_peer_measurement_peer_attrs - peer attributes for measurement
++ * @__NL80211_PMSR_PEER_ATTR_INVALID: invalid
++ *
++ * @NL80211_PMSR_PEER_ATTR_ADDR: peer's MAC address
++ * @NL80211_PMSR_PEER_ATTR_CHAN: channel definition, nested, using top-level
++ *	attributes like %NL80211_ATTR_WIPHY_FREQ etc.
++ * @NL80211_PMSR_PEER_ATTR_REQ: This is a nested attribute indexed by
++ *	measurement type, with attributes from the
++ *	&enum nl80211_peer_measurement_req inside.
++ * @NL80211_PMSR_PEER_ATTR_RESP: This is a nested attribute indexed by
++ *	measurement type, with attributes from the
++ *	&enum nl80211_peer_measurement_resp inside.
++ *
++ * @NUM_NL80211_PMSR_PEER_ATTRS: internal
++ * @NL80211_PMSR_PEER_ATTR_MAX: highest attribute number
++ */
++enum nl80211_peer_measurement_peer_attrs {
++	__NL80211_PMSR_PEER_ATTR_INVALID,
++
++	NL80211_PMSR_PEER_ATTR_ADDR,
++	NL80211_PMSR_PEER_ATTR_CHAN,
++	NL80211_PMSR_PEER_ATTR_REQ,
++	NL80211_PMSR_PEER_ATTR_RESP,
++
++	/* keep last */
++	NUM_NL80211_PMSR_PEER_ATTRS,
++	NL80211_PMSR_PEER_ATTR_MAX = NUM_NL80211_PMSR_PEER_ATTRS - 1,
++};
++
++/**
++ * enum nl80211_peer_measurement_attrs - peer measurement attributes
++ * @__NL80211_PMSR_ATTR_INVALID: invalid
++ *
++ * @NL80211_PMSR_ATTR_MAX_PEERS: u32 attribute used for capability
++ *	advertisement only, indicates the maximum number of peers
++ *	measurements can be done with in a single request
++ * @NL80211_PMSR_ATTR_REPORT_AP_TSF: flag attribute in capability
++ *	indicating that the connected AP's TSF can be reported in
++ *	measurement results
++ * @NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR: flag attribute in capability
++ *	indicating that MAC address randomization is supported.
++ * @NL80211_PMSR_ATTR_TYPE_CAPA: capabilities reported by the device,
++ *	this contains a nesting indexed by measurement type, and
++ *	type-specific capabilities inside, which are from the enums
++ *	named nl80211_peer_measurement_<type>_capa.
++ * @NL80211_PMSR_ATTR_PEERS: nested attribute, the nesting index is
++ *	meaningless, just a list of peers to measure with, with the
++ *	sub-attributes taken from
++ *	&enum nl80211_peer_measurement_peer_attrs.
++ *
++ * @NUM_NL80211_PMSR_ATTR: internal
++ * @NL80211_PMSR_ATTR_MAX: highest attribute number
++ */
++enum nl80211_peer_measurement_attrs {
++	__NL80211_PMSR_ATTR_INVALID,
++
++	NL80211_PMSR_ATTR_MAX_PEERS,
++	NL80211_PMSR_ATTR_REPORT_AP_TSF,
++	NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR,
++	NL80211_PMSR_ATTR_TYPE_CAPA,
++	NL80211_PMSR_ATTR_PEERS,
++
++	/* keep last */
++	NUM_NL80211_PMSR_ATTR,
++	NL80211_PMSR_ATTR_MAX = NUM_NL80211_PMSR_ATTR - 1
++};
++
++/**
++ * enum nl80211_peer_measurement_ftm_capa - FTM capabilities
++ * @__NL80211_PMSR_FTM_CAPA_ATTR_INVALID: invalid
++ *
++ * @NL80211_PMSR_FTM_CAPA_ATTR_ASAP: flag attribute indicating ASAP mode
++ *	is supported
++ * @NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP: flag attribute indicating non-ASAP
++ *	mode is supported
++ * @NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI: flag attribute indicating if LCI
++ *	data can be requested during the measurement
++ * @NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC: flag attribute indicating if civic
++ *	location data can be requested during the measurement
++ * @NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES: u32 bitmap attribute of bits
++ *	from &enum nl80211_preamble.
++ * @NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS: bitmap of values from
++ *	&enum nl80211_chan_width indicating the supported channel
++ *	bandwidths for FTM. Note that a higher channel bandwidth may be
++ *	configured to allow for other measurements types with different
++ *	bandwidth requirement in the same measurement.
++ * @NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT: u32 attribute indicating
++ *	the maximum bursts exponent that can be used (if not present anything
++ *	is valid)
++ * @NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST: u32 attribute indicating
++ *	the maximum FTMs per burst (if not present anything is valid)
++ * @NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED: flag attribute indicating if
++ *	trigger based ranging measurement is supported
++ * @NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED: flag attribute indicating
++ *	if non trigger based ranging measurement is supported
++ *
++ * @NUM_NL80211_PMSR_FTM_CAPA_ATTR: internal
++ * @NL80211_PMSR_FTM_CAPA_ATTR_MAX: highest attribute number
++ */
++enum nl80211_peer_measurement_ftm_capa {
++	__NL80211_PMSR_FTM_CAPA_ATTR_INVALID,
++
++	NL80211_PMSR_FTM_CAPA_ATTR_ASAP,
++	NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP,
++	NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI,
++	NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC,
++	NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES,
++	NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS,
++	NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT,
++	NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST,
++	NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED,
++	NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED,
++
++	/* keep last */
++	NUM_NL80211_PMSR_FTM_CAPA_ATTR,
++	NL80211_PMSR_FTM_CAPA_ATTR_MAX = NUM_NL80211_PMSR_FTM_CAPA_ATTR - 1
++};
++
++/**
++ * enum nl80211_peer_measurement_ftm_req - FTM request attributes
++ * @__NL80211_PMSR_FTM_REQ_ATTR_INVALID: invalid
++ *
++ * @NL80211_PMSR_FTM_REQ_ATTR_ASAP: ASAP mode requested (flag)
++ * @NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE: preamble type (see
++ *	&enum nl80211_preamble), optional for DMG (u32)
++ * @NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP: number of bursts exponent as in
++ *	802.11-2016 9.4.2.168 "Fine Timing Measurement Parameters element"
++ *	(u8, 0-15, optional with default 15 i.e. "no preference")
++ * @NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD: interval between bursts in units
++ *	of 100ms (u16, optional with default 0)
++ * @NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION: burst duration, as in 802.11-2016
++ *	Table 9-257 "Burst Duration field encoding" (u8, 0-15, optional with
++ *	default 15 i.e. "no preference")
++ * @NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST: number of successful FTM frames
++ *	requested per burst
++ *	(u8, 0-31, optional with default 0 i.e. "no preference")
++ * @NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES: number of FTMR frame retries
++ *	(u8, default 3)
++ * @NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI: request LCI data (flag)
++ * @NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC: request civic location data
++ *	(flag)
++ * @NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED: request trigger based ranging
++ *	measurement (flag).
++ *	This attribute and %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED are
++ *	mutually exclusive.
++ *      if neither %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED nor
++ *	%NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED is set, EDCA based
++ *	ranging will be used.
++ * @NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED: request non trigger based
++ *	ranging measurement (flag)
++ *	This attribute and %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED are
++ *	mutually exclusive.
++ *      if neither %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED nor
++ *	%NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED is set, EDCA based
++ *	ranging will be used.
++ *
++ * @NUM_NL80211_PMSR_FTM_REQ_ATTR: internal
++ * @NL80211_PMSR_FTM_REQ_ATTR_MAX: highest attribute number
++ */
++enum nl80211_peer_measurement_ftm_req {
++	__NL80211_PMSR_FTM_REQ_ATTR_INVALID,
++
++	NL80211_PMSR_FTM_REQ_ATTR_ASAP,
++	NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE,
++	NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP,
++	NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD,
++	NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION,
++	NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST,
++	NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES,
++	NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI,
++	NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC,
++	NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED,
++	NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED,
++
++	/* keep last */
++	NUM_NL80211_PMSR_FTM_REQ_ATTR,
++	NL80211_PMSR_FTM_REQ_ATTR_MAX = NUM_NL80211_PMSR_FTM_REQ_ATTR - 1
++};
++
++/**
++ * enum nl80211_peer_measurement_ftm_failure_reasons - FTM failure reasons
++ * @NL80211_PMSR_FTM_FAILURE_UNSPECIFIED: unspecified failure, not used
++ * @NL80211_PMSR_FTM_FAILURE_NO_RESPONSE: no response from the FTM responder
++ * @NL80211_PMSR_FTM_FAILURE_REJECTED: FTM responder rejected measurement
++ * @NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL: we already know the peer is
++ *	on a different channel, so can't measure (if we didn't know, we'd
++ *	try and get no response)
++ * @NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE: peer can't actually do FTM
++ * @NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP: invalid T1/T4 timestamps
++ *	received
++ * @NL80211_PMSR_FTM_FAILURE_PEER_BUSY: peer reports busy, you may retry
++ *	later (see %NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME)
++ * @NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS: parameters were changed
++ *	by the peer and are no longer supported
++ */
++enum nl80211_peer_measurement_ftm_failure_reasons {
++	NL80211_PMSR_FTM_FAILURE_UNSPECIFIED,
++	NL80211_PMSR_FTM_FAILURE_NO_RESPONSE,
++	NL80211_PMSR_FTM_FAILURE_REJECTED,
++	NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL,
++	NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE,
++	NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP,
++	NL80211_PMSR_FTM_FAILURE_PEER_BUSY,
++	NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS,
++};
++
++/**
++ * enum nl80211_peer_measurement_ftm_resp - FTM response attributes
++ * @__NL80211_PMSR_FTM_RESP_ATTR_INVALID: invalid
++ *
++ * @NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON: FTM-specific failure reason
++ *	(u32, optional)
++ * @NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX: optional, if bursts are reported
++ *	as separate results then it will be the burst index 0...(N-1) and
++ *	the top level will indicate partial results (u32)
++ * @NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS: number of FTM Request frames
++ *	transmitted (u32, optional)
++ * @NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES: number of FTM Request frames
++ *	that were acknowleged (u32, optional)
++ * @NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME: retry time received from the
++ *	busy peer (u32, seconds)
++ * @NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP: actual number of bursts exponent
++ *	used by the responder (similar to request, u8)
++ * @NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION: actual burst duration used by
++ *	the responder (similar to request, u8)
++ * @NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST: actual FTMs per burst used
++ *	by the responder (similar to request, u8)
++ * @NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG: average RSSI across all FTM action
++ *	frames (optional, s32, 1/2 dBm)
++ * @NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD: RSSI spread across all FTM action
++ *	frames (optional, s32, 1/2 dBm)
++ * @NL80211_PMSR_FTM_RESP_ATTR_TX_RATE: bitrate we used for the response to the
++ *	FTM action frame (optional, nested, using &enum nl80211_rate_info
++ *	attributes)
++ * @NL80211_PMSR_FTM_RESP_ATTR_RX_RATE: bitrate the responder used for the FTM
++ *	action frame (optional, nested, using &enum nl80211_rate_info attrs)
++ * @NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG: average RTT (s64, picoseconds, optional
++ *	but one of RTT/DIST must be present)
++ * @NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE: RTT variance (u64, ps^2, note that
++ *	standard deviation is the square root of variance, optional)
++ * @NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD: RTT spread (u64, picoseconds,
++ *	optional)
++ * @NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG: average distance (s64, mm, optional
++ *	but one of RTT/DIST must be present)
++ * @NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE: distance variance (u64, mm^2, note
++ *	that standard deviation is the square root of variance, optional)
++ * @NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD: distance spread (u64, mm, optional)
++ * @NL80211_PMSR_FTM_RESP_ATTR_LCI: LCI data from peer (binary, optional);
++ *	this is the contents of the Measurement Report Element (802.11-2016
++ *	9.4.2.22.1) starting with the Measurement Token, with Measurement
++ *	Type 8.
++ * @NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC: civic location data from peer
++ *	(binary, optional);
++ *	this is the contents of the Measurement Report Element (802.11-2016
++ *	9.4.2.22.1) starting with the Measurement Token, with Measurement
++ *	Type 11.
++ * @NL80211_PMSR_FTM_RESP_ATTR_PAD: ignore, for u64/s64 padding only
++ *
++ * @NUM_NL80211_PMSR_FTM_RESP_ATTR: internal
++ * @NL80211_PMSR_FTM_RESP_ATTR_MAX: highest attribute number
++ */
++enum nl80211_peer_measurement_ftm_resp {
++	__NL80211_PMSR_FTM_RESP_ATTR_INVALID,
++
++	NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON,
++	NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX,
++	NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS,
++	NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES,
++	NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME,
++	NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP,
++	NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION,
++	NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST,
++	NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG,
++	NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD,
++	NL80211_PMSR_FTM_RESP_ATTR_TX_RATE,
++	NL80211_PMSR_FTM_RESP_ATTR_RX_RATE,
++	NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG,
++	NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE,
++	NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD,
++	NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG,
++	NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE,
++	NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD,
++	NL80211_PMSR_FTM_RESP_ATTR_LCI,
++	NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC,
++	NL80211_PMSR_FTM_RESP_ATTR_PAD,
++
++	/* keep last */
++	NUM_NL80211_PMSR_FTM_RESP_ATTR,
++	NL80211_PMSR_FTM_RESP_ATTR_MAX = NUM_NL80211_PMSR_FTM_RESP_ATTR - 1
++};
++
++/**
++ * enum nl80211_obss_pd_attributes - OBSS packet detection attributes
++ * @__NL80211_HE_OBSS_PD_ATTR_INVALID: Invalid
++ *
++ * @NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET: the OBSS PD minimum tx power offset.
++ * @NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET: the OBSS PD maximum tx power offset.
++ *
++ * @__NL80211_HE_OBSS_PD_ATTR_LAST: Internal
++ * @NL80211_HE_OBSS_PD_ATTR_MAX: highest OBSS PD attribute.
++ */
++enum nl80211_obss_pd_attributes {
++	__NL80211_HE_OBSS_PD_ATTR_INVALID,
++
++	NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET,
++	NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET,
++
++	/* keep last */
++	__NL80211_HE_OBSS_PD_ATTR_LAST,
++	NL80211_HE_OBSS_PD_ATTR_MAX = __NL80211_HE_OBSS_PD_ATTR_LAST - 1,
++};
++
++/**
++ * enum nl80211_bss_color_attributes - BSS Color attributes
++ * @__NL80211_HE_BSS_COLOR_ATTR_INVALID: Invalid
++ *
++ * @NL80211_HE_BSS_COLOR_ATTR_COLOR: the current BSS Color.
++ * @NL80211_HE_BSS_COLOR_ATTR_DISABLED: is BSS coloring disabled.
++ * @NL80211_HE_BSS_COLOR_ATTR_PARTIAL: the AID equation to be used..
++ *
++ * @__NL80211_HE_BSS_COLOR_ATTR_LAST: Internal
++ * @NL80211_HE_BSS_COLOR_ATTR_MAX: highest BSS Color attribute.
++ */
++enum nl80211_bss_color_attributes {
++	__NL80211_HE_BSS_COLOR_ATTR_INVALID,
++
++	NL80211_HE_BSS_COLOR_ATTR_COLOR,
++	NL80211_HE_BSS_COLOR_ATTR_DISABLED,
++	NL80211_HE_BSS_COLOR_ATTR_PARTIAL,
++
++	/* keep last */
++	__NL80211_HE_BSS_COLOR_ATTR_LAST,
++	NL80211_HE_BSS_COLOR_ATTR_MAX = __NL80211_HE_BSS_COLOR_ATTR_LAST - 1,
++};
++
++/**
++ * enum nl80211_iftype_akm_attributes - interface type AKM attributes
++ * @__NL80211_IFTYPE_AKM_ATTR_INVALID: Invalid
++ *
++ * @NL80211_IFTYPE_AKM_ATTR_IFTYPES: nested attribute containing a flag
++ *	attribute for each interface type that supports AKM suites specified in
++ *	%NL80211_IFTYPE_AKM_ATTR_SUITES
++ * @NL80211_IFTYPE_AKM_ATTR_SUITES: an array of u32. Used to indicate supported
++ *	AKM suites for the specified interface types.
++ *
++ * @__NL80211_IFTYPE_AKM_ATTR_LAST: Internal
++ * @NL80211_IFTYPE_AKM_ATTR_MAX: highest interface type AKM attribute.
++ */
++enum nl80211_iftype_akm_attributes {
++	__NL80211_IFTYPE_AKM_ATTR_INVALID,
++
++	NL80211_IFTYPE_AKM_ATTR_IFTYPES,
++	NL80211_IFTYPE_AKM_ATTR_SUITES,
++
++	/* keep last */
++	__NL80211_IFTYPE_AKM_ATTR_LAST,
++	NL80211_IFTYPE_AKM_ATTR_MAX = __NL80211_IFTYPE_AKM_ATTR_LAST - 1,
++};
++
+ #endif /* __LINUX_NL80211_H */
+-- 
+2.35.1.723.g4982287a31-goog
+
diff --git a/sys-kernel/linux-headers/files/0041-CHROMIUM-v4l-add-request-based-VP9-stateless-control.patch b/sys-kernel/linux-headers/files/0041-CHROMIUM-v4l-add-request-based-VP9-stateless-control.patch
deleted file mode 100644
index 1a9a375..0000000
--- a/sys-kernel/linux-headers/files/0041-CHROMIUM-v4l-add-request-based-VP9-stateless-control.patch
+++ /dev/null
@@ -1,516 +0,0 @@
-From 516109a6e3a4533346718a94061aa4ff172a5ec2 Mon Sep 17 00:00:00 2001
-From: Alexandre Courbot <acourbot@chromium.org>
-Date: Thu, 25 Mar 2021 22:02:03 +0900
-Subject: [PATCH] CHROMIUM: v4l: add request-based VP9 stateless controls
-
-Add the VP9 controls that Chromium is currently using along with the
-request API.
-
-Signed-off-by: Alexandre Courbot <acourbot@chromium.org>
-Change-Id: Iad4a25aaa076a6e6e159add501d256f8e0bd6af3
----
- include/uapi/linux/media/vp9-ctrls.h | 492 +++++++++++++++++++++++++++
- 1 file changed, 492 insertions(+)
- create mode 100644 include/uapi/linux/media/vp9-ctrls.h
-
-diff --git a/include/uapi/linux/media/vp9-ctrls.h b/include/uapi/linux/media/vp9-ctrls.h
-new file mode 100644
-index 000000000000..c71e36e121e3
---- /dev/null
-+++ b/include/uapi/linux/media/vp9-ctrls.h
-@@ -0,0 +1,492 @@
-+/* SPDX-License-Identifier: GPL-2.0 */
-+/*
-+ * These are the VP9 state controls for use with stateless VP9
-+ * codec drivers.
-+ *
-+ * It turns out that these structs are not stable yet and will undergo
-+ * more changes. So keep them private until they are stable and ready to
-+ * become part of the official public API.
-+ */
-+
-+#ifndef _VP9_CTRLS_H_
-+#define _VP9_CTRLS_H_
-+
-+#include <linux/types.h>
-+
-+#define V4L2_PIX_FMT_VP9_FRAME v4l2_fourcc('V', 'P', '9', 'F')
-+
-+#define V4L2_CID_MPEG_VIDEO_VP9_FRAME_CONTEXT(i)	(V4L2_CID_MPEG_BASE + 4000 + (i))
-+#define V4L2_CID_MPEG_VIDEO_VP9_FRAME_DECODE_PARAMS	(V4L2_CID_MPEG_BASE + 4004)
-+#define V4L2_CTRL_TYPE_VP9_FRAME_CONTEXT		0x400
-+#define V4L2_CTRL_TYPE_VP9_FRAME_DECODE_PARAMS		0x404
-+
-+/**
-+ * enum v4l2_vp9_loop_filter_flags - VP9 loop filter flags
-+ *
-+ * @V4L2_VP9_LOOP_FILTER_FLAG_DELTA_ENABLED: the filter level depends on
-+ *					     the mode and reference frame used
-+ *					     to predict a block
-+ * @V4L2_VP9_LOOP_FILTER_FLAG_DELTA_UPDATE: the bitstream contains additional
-+ *					    syntax elements that specify which
-+ *					    mode and reference frame deltas
-+ *					    are to be updated
-+ *
-+ * Those are the flags you should pass to &v4l2_vp9_loop_filter.flags. See
-+ * section '7.2.8 Loop filter semantics' of the VP9 specification for more
-+ * details.
-+ */
-+enum v4l2_vp9_loop_filter_flags {
-+	V4L2_VP9_LOOP_FILTER_FLAG_DELTA_ENABLED = 1 << 0,
-+	V4L2_VP9_LOOP_FILTER_FLAG_DELTA_UPDATE = 1 << 1,
-+};
-+
-+/**
-+ * struct v4l2_vp9_loop_filter - VP9 loop filter parameters
-+ *
-+ * @flags: combination of V4L2_VP9_LOOP_FILTER_FLAG_* flags
-+ * @level: indicates the loop filter strength
-+ * @sharpness: indicates the sharpness level
-+ * @ref_deltas: contains the adjustment needed for the filter level based on
-+ *		the chosen reference frame
-+ * @mode_deltas: contains the adjustment needed for the filter level based on
-+ *		 the chosen mode
-+ * @level_lookup: level lookup table
-+ *
-+ * This structure contains all loop filter related parameters. See sections
-+ * '7.2.8 Loop filter semantics' and '8.8.1 Loop filter frame init process'
-+ * of the VP9 specification for more details.
-+ */
-+struct v4l2_vp9_loop_filter {
-+	__u8 flags;
-+	__u8 level;
-+	__u8 sharpness;
-+	__s8 ref_deltas[4];
-+	__s8 mode_deltas[2];
-+	__u8 level_lookup[8][4][2];
-+};
-+
-+/**
-+ * struct v4l2_vp9_quantization - VP9 quantization parameters
-+ *
-+ * @base_q_idx: indicates the base frame qindex
-+ * @delta_q_y_dc: indicates the Y DC quantizer relative to base_q_idx
-+ * @delta_q_uv_dc: indicates the UV DC quantizer relative to base_q_idx
-+ * @delta_q_uv_ac indicates the UV AC quantizer relative to base_q_idx
-+ * @padding: padding bytes to align things on 64 bits. Must be set to 0
-+ *
-+ * Encodes the quantization parameters. See section '7.2.9 Quantization params
-+ * syntax' of the VP9 specification for more details.
-+ */
-+struct v4l2_vp9_quantization {
-+	/* TODO LOSSLESS flag missing? */
-+	__u8 base_q_idx;
-+	__s8 delta_q_y_dc;
-+	__s8 delta_q_uv_dc;
-+	__s8 delta_q_uv_ac;
-+	__u8 padding[4];
-+};
-+
-+/**
-+ * enum v4l2_vp9_segmentation_flags - VP9 segmentation flags
-+ *
-+ * @V4L2_VP9_SEGMENTATION_FLAG_ENABLED: indicates that this frame makes use of
-+ *					the segmentation tool
-+ * @V4L2_VP9_SEGMENTATION_FLAG_UPDATE_MAP: indicates that the segmentation map
-+ *					   should be updated during the
-+ *					   decoding of this frame
-+ * @V4L2_VP9_SEGMENTATION_FLAG_TEMPORAL_UPDATE: indicates that the updates to
-+ *						the segmentation map are coded
-+ *						relative to the existing
-+ *						segmentation map
-+ * @V4L2_VP9_SEGMENTATION_FLAG_UPDATE_DATA: indicates that new parameters are
-+ *					    about to be specified for each
-+ *					    segment
-+ * @V4L2_VP9_SEGMENTATION_FLAG_ABS_OR_DELTA_UPDATE: indicates that the
-+ *						    segmentation parameters
-+ *						    represent the actual values
-+ *						    to be used
-+ *
-+ * Those are the flags you should pass to &v4l2_vp9_segmentation.flags. See
-+ * section '7.2.10 Segmentation params syntax' of the VP9 specification for
-+ * more details.
-+ */
-+enum v4l2_vp9_segmentation_flags {
-+	V4L2_VP9_SEGMENTATION_FLAG_ENABLED = 1 << 0,
-+	V4L2_VP9_SEGMENTATION_FLAG_UPDATE_MAP = 1 << 1,
-+	V4L2_VP9_SEGMENTATION_FLAG_TEMPORAL_UPDATE = 1 << 2,
-+	V4L2_VP9_SEGMENTATION_FLAG_UPDATE_DATA = 1 << 3,
-+	V4L2_VP9_SEGMENTATION_FLAG_ABS_OR_DELTA_UPDATE = 1 << 4,
-+};
-+
-+#define V4L2_VP9_SEGMENT_FEATURE_ENABLED(id)	(1 << (id))
-+#define V4L2_VP9_SEGMENT_FEATURE_ENABLED_MASK	0xf
-+
-+/**
-+ * enum v4l2_vp9_segment_feature - VP9 segment feature IDs
-+ *
-+ * @V4L2_VP9_SEGMENT_FEATURE_QP_DELTA: QP delta segment feature
-+ * @V4L2_VP9_SEGMENT_FEATURE_LF: loop filter segment feature
-+ * @V4L2_VP9_SEGMENT_FEATURE_REF_FRAME: reference frame segment feature
-+ * @V4L2_VP9_SEGMENT_FEATURE_SKIP: skip segment feature
-+ * @V4L2_VP9_SEGMENT_FEATURE_CNT: number of segment features
-+ *
-+ * Segment feature IDs. See section '7.2.10 Segmentation params syntax' of the
-+ * VP9 specification for more details.
-+ */
-+enum v4l2_vp9_segment_feature {
-+	V4L2_VP9_SEGMENT_FEATURE_QP_DELTA,
-+	V4L2_VP9_SEGMENT_FEATURE_LF,
-+	V4L2_VP9_SEGMENT_FEATURE_REF_FRAME,
-+	V4L2_VP9_SEGMENT_FEATURE_SKIP,
-+	V4L2_VP9_SEGMENT_FEATURE_CNT,
-+};
-+
-+/**
-+ * struct v4l2_vp9_segmentation - VP9 segmentation parameters
-+ *
-+ * @flags: combination of V4L2_VP9_SEGMENTATION_FLAG_* flags
-+ * @tree_probs: specifies the probability values to be used when
-+ *              decoding a Segment-ID. See '5.15. Segmentation map'
-+ *              section of the VP9 specification for more details.
-+ * @pred_prob: specifies the probability values to be used when decoding a
-+ *	       Predicted-Segment-ID. See '6.4.14. Get segment id syntax'
-+ *	       section of :ref:`vp9` for more details..
-+ * @padding: padding used to make things aligned on 64 bits. Shall be zero
-+ *	     filled
-+ * @feature_enabled: bitmask defining which features are enabled in each
-+ *		     segment
-+ * @feature_data: data attached to each feature. Data entry is only valid if
-+ *		  the feature is enabled
-+ *
-+ * Encodes the quantization parameters. See section '7.2.10 Segmentation
-+ * params syntax' of the VP9 specification for more details.
-+ */
-+struct v4l2_vp9_segmentation {
-+	__u8 flags;
-+	__u8 tree_probs[7];
-+	__u8 pred_probs[3];
-+	__u8 padding[5];
-+	__u8 feature_enabled[8];
-+	__s16 feature_data[8][4];
-+};
-+
-+/**
-+ * enum v4l2_vp9_intra_prediction_mode - VP9 Intra prediction modes
-+ *
-+ * @V4L2_VP9_INTRA_PRED_DC: DC intra prediction
-+ * @V4L2_VP9_INTRA_PRED_MODE_V: vertical intra prediction
-+ * @V4L2_VP9_INTRA_PRED_MODE_H: horizontal intra prediction
-+ * @V4L2_VP9_INTRA_PRED_MODE_D45: D45 intra prediction
-+ * @V4L2_VP9_INTRA_PRED_MODE_D135: D135 intra prediction
-+ * @V4L2_VP9_INTRA_PRED_MODE_D117: D117 intra prediction
-+ * @V4L2_VP9_INTRA_PRED_MODE_D153: D153 intra prediction
-+ * @V4L2_VP9_INTRA_PRED_MODE_D207: D207 intra prediction
-+ * @V4L2_VP9_INTRA_PRED_MODE_D63: D63 intra prediction
-+ * @V4L2_VP9_INTRA_PRED_MODE_TM: True Motion intra prediction
-+ *
-+ * See section '7.4.5 Intra frame mode info semantics' for more details.
-+ */
-+// TODO where is this used??
-+enum v4l2_vp9_intra_prediction_mode {
-+	V4L2_VP9_INTRA_PRED_MODE_DC,
-+	V4L2_VP9_INTRA_PRED_MODE_V,
-+	V4L2_VP9_INTRA_PRED_MODE_H,
-+	V4L2_VP9_INTRA_PRED_MODE_D45,
-+	V4L2_VP9_INTRA_PRED_MODE_D135,
-+	V4L2_VP9_INTRA_PRED_MODE_D117,
-+	V4L2_VP9_INTRA_PRED_MODE_D153,
-+	V4L2_VP9_INTRA_PRED_MODE_D207,
-+	V4L2_VP9_INTRA_PRED_MODE_D63,
-+	V4L2_VP9_INTRA_PRED_MODE_TM,
-+};
-+
-+/**
-+ * struct v4l2_vp9_mv_probabilities - VP9 Motion vector probabilities
-+ * @joint: motion vector joint probabilities
-+ * @sign: motion vector sign probabilities
-+ * @class_: motion vector class probabilities
-+ * @class0_bit: motion vector class0 bit probabilities
-+ * @bits: motion vector bits probabilities
-+ * @class0_fr: motion vector class0 fractional bit probabilities
-+ * @fr: motion vector fractional bit probabilities
-+ * @class0_hp: motion vector class0 high precision fractional bit probabilities
-+ * @hp: motion vector high precision fractional bit probabilities
-+ */
-+struct v4l2_vp9_mv_probabilities {
-+	__u8 joint[3];
-+	__u8 sign[2];
-+	__u8 class_[2][10];
-+	__u8 class0_bit[2];
-+	__u8 bits[2][10];
-+	__u8 class0_fr[2][2][3];
-+	__u8 fr[2][3];
-+	__u8 class0_hp[2];
-+	__u8 hp[2];
-+};
-+
-+/**
-+ * struct v4l2_vp9_probabilities - VP9 Probabilities
-+ *
-+ * @tx8: TX 8x8 probabilities
-+ * @tx16: TX 16x16 probabilities
-+ * @tx32: TX 32x32 probabilities
-+ * @coef: coefficient probabilities
-+ * @skip: skip probabilities
-+ * @inter_mode: inter mode probabilities
-+ * @interp_filter: interpolation filter probabilities
-+ * @is_inter: is inter-block probabilities
-+ * @comp_mode: compound prediction mode probabilities
-+ * @single_ref: single ref probabilities
-+ * @comp_ref: compound ref probabilities
-+ * @y_mode: Y prediction mode probabilities
-+ * @uv_mode: UV prediction mode probabilities
-+ * @partition: partition probabilities
-+ * @mv: motion vector probabilities
-+ *
-+ * Structure containing most VP9 probabilities. See the VP9 specification
-+ * for more details.
-+ */
-+struct v4l2_vp9_probabilities {
-+	__u8 tx8[2][1];
-+	__u8 tx16[2][2];
-+	__u8 tx32[2][3];
-+	__u8 coef[4][2][2][6][6][3];
-+	__u8 skip[3];
-+	__u8 inter_mode[7][3];
-+	__u8 interp_filter[4][2];
-+	__u8 is_inter[4];
-+	__u8 comp_mode[5];
-+	__u8 single_ref[5][2];
-+	__u8 comp_ref[5];
-+	__u8 y_mode[4][9];
-+	__u8 uv_mode[10][9];
-+	__u8 partition[16][3];
-+
-+	struct v4l2_vp9_mv_probabilities mv;
-+};
-+
-+/**
-+ * enum v4l2_vp9_reset_frame_context - Valid values for
-+ *			&v4l2_ctrl_vp9_frame_decode_params->reset_frame_context
-+ *
-+ * @V4L2_VP9_RESET_FRAME_CTX_NONE: don't reset any frame context
-+ * @V4L2_VP9_RESET_FRAME_CTX_SPEC: reset the frame context pointed by
-+ *			&v4l2_ctrl_vp9_frame_decode_params.frame_context_idx
-+ * @V4L2_VP9_RESET_FRAME_CTX_ALL: reset all frame contexts
-+ *
-+ * See section '7.2 Uncompressed header semantics' of the VP9 specification
-+ * for more details.
-+ */
-+enum v4l2_vp9_reset_frame_context {
-+	V4L2_VP9_RESET_FRAME_CTX_NONE,
-+	V4L2_VP9_RESET_FRAME_CTX_SPEC,
-+	V4L2_VP9_RESET_FRAME_CTX_ALL,
-+};
-+
-+/**
-+ * enum v4l2_vp9_interpolation_filter - VP9 interpolation filter types
-+ *
-+ * @V4L2_VP9_INTERP_FILTER_8TAP: height tap filter
-+ * @V4L2_VP9_INTERP_FILTER_8TAP_SMOOTH: height tap smooth filter
-+ * @V4L2_VP9_INTERP_FILTER_8TAP_SHARP: height tap sharp filter
-+ * @V4L2_VP9_INTERP_FILTER_BILINEAR: bilinear filter
-+ * @V4L2_VP9_INTERP_FILTER_SWITCHABLE: filter selection is signaled at the
-+ *				       block level
-+ *
-+ * See section '7.2.7 Interpolation filter semantics' of the VP9 specification
-+ * for more details.
-+ */
-+enum v4l2_vp9_interpolation_filter {
-+	V4L2_VP9_INTERP_FILTER_8TAP,
-+	V4L2_VP9_INTERP_FILTER_8TAP_SMOOTH,
-+	V4L2_VP9_INTERP_FILTER_8TAP_SHARP,
-+	V4L2_VP9_INTERP_FILTER_BILINEAR,
-+	V4L2_VP9_INTERP_FILTER_SWITCHABLE,
-+};
-+
-+/**
-+ * enum v4l2_vp9_reference_mode - VP9 reference modes
-+ *
-+ * @V4L2_VP9_REF_MODE_SINGLE: indicates that all the inter blocks use only a
-+ *			      single reference frame to generate motion
-+ *			      compensated prediction
-+ * @V4L2_VP9_REF_MODE_COMPOUND: requires all the inter blocks to use compound
-+ *				mode. Single reference frame prediction is not
-+ *				allowed
-+ * @V4L2_VP9_REF_MODE_SELECT: allows each individual inter block to select
-+ *			      between single and compound prediction modes
-+ *
-+ * See section '7.3.6 Frame reference mode semantics' of the VP9 specification
-+ * for more details.
-+ */
-+enum v4l2_vp9_reference_mode {
-+	V4L2_VP9_REF_MODE_SINGLE,
-+	V4L2_VP9_REF_MODE_COMPOUND,
-+	V4L2_VP9_REF_MODE_SELECT,
-+};
-+
-+/**
-+ * enum v4l2_vp9_tx_mode - VP9 TX modes
-+ *
-+ * @V4L2_VP9_TX_MODE_ONLY_4X4: transform size is 4x4
-+ * @V4L2_VP9_TX_MODE_ALLOW_8X8: transform size can be up to 8x8
-+ * @V4L2_VP9_TX_MODE_ALLOW_16X16: transform size can be up to 16x16
-+ * @V4L2_VP9_TX_MODE_ALLOW_32X32: transform size can be up to 32x32
-+ * @V4L2_VP9_TX_MODE_SELECT: bitstream contains transform size for each block
-+ *
-+ * See section '7.3.1 Tx mode semantics' of the VP9 specification for more
-+ * details.
-+ */
-+enum v4l2_vp9_tx_mode {
-+	V4L2_VP9_TX_MODE_ONLY_4X4,
-+	V4L2_VP9_TX_MODE_ALLOW_8X8,
-+	V4L2_VP9_TX_MODE_ALLOW_16X16,
-+	V4L2_VP9_TX_MODE_ALLOW_32X32,
-+	V4L2_VP9_TX_MODE_SELECT,
-+};
-+
-+/**
-+ * enum v4l2_vp9_ref_id - VP9 Reference frame IDs
-+ *
-+ * @V4L2_REF_ID_LAST: last reference frame
-+ * @V4L2_REF_ID_GOLDEN: golden reference frame
-+ * @V4L2_REF_ID_ALTREF: alternative reference frame
-+ * @V4L2_REF_ID_CNT: number of reference frames
-+ *
-+ * See section '7.4.12 Ref frames semantics' of the VP9 specification for more
-+ * details.
-+ */
-+enum v4l2_vp9_ref_id {
-+	V4L2_REF_ID_LAST,
-+	V4L2_REF_ID_GOLDEN,
-+	V4L2_REF_ID_ALTREF,
-+	V4L2_REF_ID_CNT,
-+};
-+
-+/**
-+ * enum v4l2_vp9_frame_flags - VP9 frame flags
-+ * @V4L2_VP9_FRAME_FLAG_KEY_FRAME: the frame is a key frame
-+ * @V4L2_VP9_FRAME_FLAG_SHOW_FRAME: the frame should be displayed
-+ * @V4L2_VP9_FRAME_FLAG_ERROR_RESILIENT: the decoding should be error resilient
-+ * @V4L2_VP9_FRAME_FLAG_INTRA_ONLY: the frame does not reference other frames
-+ * @V4L2_VP9_FRAME_FLAG_ALLOW_HIGH_PREC_MV: the frame might can high precision
-+ *					    motion vectors
-+ * @V4L2_VP9_FRAME_FLAG_REFRESH_FRAME_CTX: frame context should be updated
-+ *					   after decoding
-+ * @V4L2_VP9_FRAME_FLAG_PARALLEL_DEC_MODE: parallel decoding is used
-+ * @V4L2_VP9_FRAME_FLAG_X_SUBSAMPLING: vertical subsampling is enabled
-+ * @V4L2_VP9_FRAME_FLAG_Y_SUBSAMPLING: horizontal subsampling is enabled
-+ * @V4L2_VP9_FRAME_FLAG_COLOR_RANGE_FULL_SWING: full UV range is used
-+ *
-+ * Check the VP9 specification for more details.
-+ */
-+enum v4l2_vp9_frame_flags {
-+	V4L2_VP9_FRAME_FLAG_KEY_FRAME = 1 << 0,
-+	V4L2_VP9_FRAME_FLAG_SHOW_FRAME = 1 << 1,
-+	V4L2_VP9_FRAME_FLAG_ERROR_RESILIENT = 1 << 2,
-+	V4L2_VP9_FRAME_FLAG_INTRA_ONLY = 1 << 3,
-+	V4L2_VP9_FRAME_FLAG_ALLOW_HIGH_PREC_MV = 1 << 4,
-+	V4L2_VP9_FRAME_FLAG_REFRESH_FRAME_CTX = 1 << 5,
-+	V4L2_VP9_FRAME_FLAG_PARALLEL_DEC_MODE = 1 << 6,
-+	V4L2_VP9_FRAME_FLAG_X_SUBSAMPLING = 1 << 7,
-+	V4L2_VP9_FRAME_FLAG_Y_SUBSAMPLING = 1 << 8,
-+	V4L2_VP9_FRAME_FLAG_COLOR_RANGE_FULL_SWING = 1 << 9,
-+};
-+
-+#define V4L2_VP9_PROFILE_MAX		3
-+
-+/**
-+ * struct v4l2_ctrl_vp9_frame_decode_params - VP9 frame decoding control
-+ *
-+ * @flags: combination of V4L2_VP9_FRAME_FLAG_* flags
-+ * @compressed_header_size: compressed header size in bytes
-+ * @uncompressed_header_size: uncompressed header size in bytes
-+ * @profile: VP9 profile. Can be 0, 1, 2 or 3
-+ * @reset_frame_context: specifies whether the frame context should be reset
-+ *			 to default values. See &v4l2_vp9_reset_frame_context
-+ *			 for more details
-+ * @frame_context_idx: frame context that should be used/updated
-+ * @bit_depth: bits per components. Can be 8, 10 or 12. Note that not all
-+ *	       profiles support 10 and/or 12 bits depths
-+ * @interpolation_filter: specifies the filter selection used for performing
-+ *			  inter prediction. See &v4l2_vp9_interpolation_filter
-+ *			  for more details
-+ * @tile_cols_log2: specifies the base 2 logarithm of the width of each tile
-+ *		    (where the width is measured in units of 8x8 blocks).
-+ *		    Shall be less than or equal to 6
-+ * @tile_rows_log2: specifies the base 2 logarithm of the height of each tile
-+ *		    (where the height is measured in units of 8x8 blocks)
-+ * @tx_mode: specifies the TX mode. See &v4l2_vp9_tx_mode for more details
-+ * @reference_mode: specifies the type of inter prediction to be used. See
-+ *		    &v4l2_vp9_reference_mode for more details
-+ * @ref_frame_sign_biases: intended direction in time of the motion vector for
-+ *                         each reference frame (0: backward, 1: forward).
-+ *                         Only the first V4L2_REF_ID_CNT are used.
-+ * @padding: needed to make this struct 64 bit aligned. Shall be filled with
-+ *	     zeros
-+ * @frame_width_minus_1: add 1 to it and you'll get the frame width expressed
-+ *			 in pixels
-+ * @frame_height_minus_1: add 1 to it and you'll get the frame height expressed
-+ *			  in pixels
-+ * @frame_width_minus_1: add 1 to it and you'll get the expected render width
-+ *			 expressed in pixels. This is not used during the
-+ *			 decoding process but might be used by HW scalers to
-+ *			 prepare a frame that's ready for scanout
-+ * @frame_height_minus_1: add 1 to it and you'll get the expected render height
-+ *			 expressed in pixels. This is not used during the
-+ *			 decoding process but might be used by HW scalers to
-+ *			 prepare a frame that's ready for scanout
-+ * @refs: array of reference frames, identified by timestamp. See
-+          &v4l2_vp9_ref_id for more details
-+ * @lf: loop filter parameters. See &v4l2_vp9_loop_filter for more details
-+ * @quant: quantization parameters. See &v4l2_vp9_quantization for more details
-+ * @seg: segmentation parameters. See &v4l2_vp9_segmentation for more details
-+ * @probs: probabilities. See &v4l2_vp9_probabilities for more details
-+ */
-+struct v4l2_ctrl_vp9_frame_decode_params {
-+	__u32 flags;
-+	__u16 compressed_header_size;
-+	__u16 uncompressed_header_size;
-+	__u8 profile;
-+	__u8 reset_frame_context;
-+	__u8 frame_context_idx;
-+	__u8 bit_depth;
-+	__u8 interpolation_filter;
-+	__u8 tile_cols_log2;
-+	__u8 tile_rows_log2;
-+	__u8 tx_mode;
-+	__u8 reference_mode;
-+	__u8 ref_frame_sign_biases;
-+	__u8 padding[5];
-+	__u16 frame_width_minus_1;
-+	__u16 frame_height_minus_1;
-+	__u16 render_width_minus_1;
-+	__u16 render_height_minus_1;
-+	__u64 refs[V4L2_REF_ID_CNT];
-+	struct v4l2_vp9_loop_filter lf;
-+	struct v4l2_vp9_quantization quant;
-+	struct v4l2_vp9_segmentation seg;
-+	struct v4l2_vp9_probabilities probs;
-+};
-+
-+#define V4L2_VP9_NUM_FRAME_CTX	4
-+
-+/**
-+ * struct v4l2_ctrl_vp9_frame_ctx - VP9 frame context control
-+ *
-+ * @probs: VP9 probabilities
-+ *
-+ * This control is accessed in both direction. The user should initialize the
-+ * 4 contexts with default values just after starting the stream. Then before
-+ * decoding a frame it should query the current frame context (the one passed
-+ * through &v4l2_ctrl_vp9_frame_decode_params.frame_context_idx) to initialize
-+ * &v4l2_ctrl_vp9_frame_decode_params.probs. The probs are then adjusted based
-+ * on the bitstream info and passed to the kernel. The codec should update
-+ * the frame context after the frame has been decoded, so that next time
-+ * userspace query this context it contains the updated probabilities.
-+ */
-+struct v4l2_ctrl_vp9_frame_ctx {
-+	struct v4l2_vp9_probabilities probs;
-+};
-+
-+#endif /* _VP9_CTRLS_H_ */
--- 
-2.31.0.291.g576ba9dcdaf-goog
-
diff --git a/sys-kernel/linux-headers/files/0050-BACKPORT-media-videodev2.h-Add-v4l2-definition-for-HEVC.patch b/sys-kernel/linux-headers/files/0050-BACKPORT-media-videodev2.h-Add-v4l2-definition-for-HEVC.patch
new file mode 100644
index 0000000..d847f70
--- /dev/null
+++ b/sys-kernel/linux-headers/files/0050-BACKPORT-media-videodev2.h-Add-v4l2-definition-for-HEVC.patch
@@ -0,0 +1,32 @@
+From 53b2534551f179dcd065b4ead79fa1327678a0e0 Mon Sep 17 00:00:00 2001
+From: Smitha T Murthy <smitha.t@samsung.com>
+Date: Fri, 2 Feb 2018 07:25:41 -0500
+Subject: [PATCH] media: videodev2.h: Add v4l2 definition for HEVC
+
+Add V4L2 definition for HEVC compressed format
+
+Signed-off-by: Smitha T Murthy <smitha.t@samsung.com>
+Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
+Reviewed-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
+Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
+Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
+---
+ include/uapi/linux/videodev2.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
+index 982718965180..600877be5c22 100644
+--- a/include/uapi/linux/videodev2.h
++++ b/include/uapi/linux/videodev2.h
+@@ -635,6 +635,7 @@ struct v4l2_pix_format {
+ #define V4L2_PIX_FMT_VP8_FRAME v4l2_fourcc('V', 'P', '8', 'F') /* VP8 parsed frames */
+ #define V4L2_PIX_FMT_VP9      v4l2_fourcc('V', 'P', '9', '0') /* VP9 */
+ #define V4L2_PIX_FMT_VP9_FRAME v4l2_fourcc('V', 'P', '9', 'F') /* VP9 parsed frames */
++#define V4L2_PIX_FMT_HEVC     v4l2_fourcc('H', 'E', 'V', 'C') /* HEVC aka H.265 */
+ 
+ /*  Vendor-specific formats   */
+ #define V4L2_PIX_FMT_CPIA1    v4l2_fourcc('C', 'P', 'I', 'A') /* cpia1 YUV */
+-- 
+2.31.0
+
diff --git a/sys-kernel/linux-headers/files/0051-CHROMIUM-v4l2-add-upstream-work-in-progress-V4L2-AV1.patch b/sys-kernel/linux-headers/files/0051-CHROMIUM-v4l2-add-upstream-work-in-progress-V4L2-AV1.patch
new file mode 100644
index 0000000..e0f1ea7
--- /dev/null
+++ b/sys-kernel/linux-headers/files/0051-CHROMIUM-v4l2-add-upstream-work-in-progress-V4L2-AV1.patch
@@ -0,0 +1,818 @@
+From 8b4e9204416df7852ad50daf2eec48df5579f29a Mon Sep 17 00:00:00 2001
+From: Chen-Yu Tsai <wenst@chromium.org>
+Date: Thu, 14 Apr 2022 13:02:31 +0800
+Subject: [PATCH] CHROMIUM: v4l2: add upstream work-in-progress V4L2 AV1
+ stateless controls
+
+This patch adds the AOMedia Video 1 (AV1) kernel uAPI.
+
+This design is based on currently available AV1 API implementations and
+aims to support the development of AV1 V4L2 stateless video codecs
+on Linux.
+
+This is extracted from RFC v2 patch by Daniel Almeida [1] and may not be
+the final version.
+
+The definitions are kept in this separate file instead of merged into
+`include/uapi/linux/videodev2.h` and `include/uapi/linux/v4l2-controls.h`
+to avoid possible conflicts with the other VP9 header files. A separate
+file also provides an easier migration path for components using these
+definitions.
+
+[1] https://lore.kernel.org/all/20220322160101.620748-1-daniel.almeida@collabora.com/
+
+Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
+Change-Id: Ie8a66f15b6957383776ffcfdeaaa61ff800afd3e
+---
+ include/uapi/linux/media/av1-ctrls.h | 779 +++++++++++++++++++++++++++
+ 1 file changed, 779 insertions(+)
+ create mode 100644 include/uapi/linux/media/av1-ctrls.h
+
+diff --git a/include/uapi/linux/media/av1-ctrls.h b/include/uapi/linux/media/av1-ctrls.h
+new file mode 100644
+index 000000000000..e2e5252ccb16
+--- /dev/null
++++ b/include/uapi/linux/media/av1-ctrls.h
+@@ -0,0 +1,779 @@
++/* SPDX-License-Identifier: ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) */
++/*
++ * These are the AV1 state controls for use with stateless AV1 codec drivers.
++ *
++ * This is extracted from RFC v2 patch by Daniel Almeida [1] and may not be
++ * the final version.
++ *
++ * The definitions are kept in this separate file instead of merged into
++ * `include/uapi/linux/videodev2.h` and `include/uapi/linux/v4l2-controls.h`
++ * to avoid possible conflicts with the other VP9 header files. A separate
++ * file also provides an easier migration path for components using these
++ * definitions.
++ *
++ * [1] https://lore.kernel.org/all/20220322160101.620748-1-daniel.almeida@collabora.com/
++ */
++
++#ifndef __LINUX_MEDIA_AV1_CTRLS_H
++#define __LINUX_MEDIA_AV1_CTRLS_H
++
++#include <linux/videodev2.h>
++
++#define V4L2_PIX_FMT_AV1_FRAME	v4l2_fourcc('A', 'V', '1', 'F') /* AV1 parsed frame */
++
++#define V4L2_CTRL_TYPE_AV1_SEQUENCE	    0x280
++#define V4L2_CTRL_TYPE_AV1_TILE_GROUP	    0x281
++#define V4L2_CTRL_TYPE_AV1_TILE_GROUP_ENTRY 0x282
++#define V4L2_CTRL_TYPE_AV1_FRAME_HEADER	    0x283
++#define V4L2_CTRL_TYPE_AV1_FILM_GRAIN	    0x284
++
++/* Control classes */
++#define V4L2_CTRL_CLASS_CODEC_STATELESS 0x00a40000	/* Stateless codecs controls */
++
++/*  Stateless CODECs controls */
++#define V4L2_CID_CODEC_STATELESS_BASE          (V4L2_CTRL_CLASS_CODEC_STATELESS | 0x900)
++#define V4L2_CID_CODEC_STATELESS_CLASS         (V4L2_CTRL_CLASS_CODEC_STATELESS | 1)
++
++/* Stateless AV1 controls */
++
++#define V4L2_AV1_TOTAL_REFS_PER_FRAME	8
++#define V4L2_AV1_CDEF_MAX		8
++#define V4L2_AV1_NUM_PLANES_MAX		3 /* 1 if monochrome, 3 otherwise */
++#define V4L2_AV1_MAX_SEGMENTS		8
++#define V4L2_AV1_MAX_OPERATING_POINTS	(1 << 5) /* 5 bits to encode */
++#define V4L2_AV1_REFS_PER_FRAME		7
++#define V4L2_AV1_MAX_NUM_Y_POINTS	(1 << 4) /* 4 bits to encode */
++#define V4L2_AV1_MAX_NUM_CB_POINTS	(1 << 4) /* 4 bits to encode */
++#define V4L2_AV1_MAX_NUM_CR_POINTS	(1 << 4) /* 4 bits to encode */
++#define V4L2_AV1_MAX_NUM_POS_LUMA	25 /* (2 * 3 * (3 + 1)) + 1 */
++#define V4L2_AV1_MAX_NUM_PLANES		3
++#define V4L2_AV1_MAX_TILE_COLS		64
++#define V4L2_AV1_MAX_TILE_ROWS		64
++#define V4L2_AV1_MAX_TILE_COUNT		512
++
++#define V4L2_AV1_SEQUENCE_FLAG_STILL_PICTURE		  BIT(0)
++#define V4L2_AV1_SEQUENCE_FLAG_USE_128X128_SUPERBLOCK	  BIT(1)
++#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_FILTER_INTRA	  BIT(2)
++#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_INTRA_EDGE_FILTER   BIT(3)
++#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_INTERINTRA_COMPOUND BIT(4)
++#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_MASKED_COMPOUND	  BIT(5)
++#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_WARPED_MOTION	  BIT(6)
++#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_DUAL_FILTER	  BIT(7)
++#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_ORDER_HINT	  BIT(8)
++#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_JNT_COMP		  BIT(9)
++#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_REF_FRAME_MVS	  BIT(10)
++#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_SUPERRES		  BIT(11)
++#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_CDEF		  BIT(12)
++#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_RESTORATION	  BIT(13)
++#define V4L2_AV1_SEQUENCE_FLAG_MONO_CHROME		  BIT(14)
++#define V4L2_AV1_SEQUENCE_FLAG_COLOR_RANGE		  BIT(15)
++#define V4L2_AV1_SEQUENCE_FLAG_SUBSAMPLING_X		  BIT(16)
++#define V4L2_AV1_SEQUENCE_FLAG_SUBSAMPLING_Y		  BIT(17)
++#define V4L2_AV1_SEQUENCE_FLAG_FILM_GRAIN_PARAMS_PRESENT  BIT(18)
++#define V4L2_AV1_SEQUENCE_FLAG_SEPARATE_UV_DELTA_Q	  BIT(19)
++
++#define V4L2_CID_STATELESS_AV1_SEQUENCE (V4L2_CID_CODEC_STATELESS_BASE + 401)
++/**
++ * struct v4l2_ctrl_av1_sequence - AV1 Sequence
++ *
++ * Represents an AV1 Sequence OBU. See section 5.5. "Sequence header OBU syntax"
++ * for more details.
++ *
++ * @flags: See V4L2_AV1_SEQUENCE_FLAG_{}.
++ * @seq_profile: specifies the features that can be used in the coded video
++ * sequence.
++ * @order_hint_bits: specifies the number of bits used for the order_hint field
++ * at each frame.
++ * @bit_depth: the bitdepth to use for the sequence as described in section
++ * 5.5.2 "Color config syntax".
++ * @max_frame_width_minus_1: specifies the maximum frame width minus 1 for the
++ * frames represented by this sequence header.
++ * @max_frame_height_minus_1: specifies the maximum frame height minus 1 for the
++ * frames represented by this sequence header.
++ */
++struct v4l2_ctrl_av1_sequence {
++	__u32 flags;
++	__u8 seq_profile;
++	__u8 order_hint_bits;
++	__u8 bit_depth;
++	__u16 max_frame_width_minus_1;
++	__u16 max_frame_height_minus_1;
++};
++
++#define V4L2_AV1_TILE_GROUP_FLAG_START_AND_END_PRESENT BIT(0)
++
++#define V4L2_CID_STATELESS_AV1_TILE_GROUP (V4L2_CID_CODEC_STATELESS_BASE + 402)
++/**
++ * struct v4l2_ctrl_av1_tile_group - AV1 Tile Group header.
++ *
++ * Represents a tile group as seen in an AV1 Tile Group OBU or Frame OBU. A
++ * v4l2_ctrl_av1_tile_group instance will refer to tg_end - tg_start instances
++ * of v4l2_ctrl_tile_group_entry. See section 6.10.1 "General tile group OBU
++ * semantics" for more details.
++ *
++ * @flags: see V4L2_AV1_TILE_GROUP_FLAG_{}.
++ * @tg_start: specifies the zero-based index of the first tile in the current
++ * tile group.
++ * @tg_end: specifies the zero-based index of the last tile in the current tile
++ * group.
++ */
++struct v4l2_ctrl_av1_tile_group {
++	__u8 flags;
++	__u32 tg_start;
++	__u32 tg_end;
++};
++
++#define V4L2_CID_STATELESS_AV1_TILE_GROUP_ENTRY (V4L2_CID_CODEC_STATELESS_BASE + 403)
++/**
++ * struct v4l2_ctrl_av1_tile_group_entry - AV1 Tile Group entry
++ *
++ * Represents a single AV1 tile inside an AV1 Tile Group. Note that MiRowStart,
++ * MiRowEnd, MiColStart and MiColEnd can be retrieved from struct
++ * v4l2_av1_tile_info in struct v4l2_ctrl_av1_frame_header using tile_row and
++ * tile_col. See section 6.10.1 "General tile group OBU semantics" for more
++ * details.
++ *
++ * @tile_offset: offset from the OBU data, i.e. where the coded tile data
++ * actually starts.
++ * @tile_size: specifies the size in bytes of the coded tile. Equivalent to
++ * "TileSize" in the AV1 Specification.
++ * @tile_row: specifies the row of the current tile. Equivalent to "TileRow" in
++ * the AV1 Specification.
++ * @tile_col: specifies the col of the current tile. Equivalent to "TileCol" in
++ * the AV1 Specification.
++ */
++struct v4l2_ctrl_av1_tile_group_entry {
++	__u32 tile_offset;
++	__u32 tile_size;
++	__u32 tile_row;
++	__u32 tile_col;
++};
++
++/**
++ * enum v4l2_av1_warp_model - AV1 Warp Model as described in section 3
++ * "Symbols and abbreviated terms" of the AV1 Specification.
++ *
++ * @V4L2_AV1_WARP_MODEL_IDENTITY: Warp model is just an identity transform.
++ * @V4L2_AV1_WARP_MODEL_TRANSLATION: Warp model is a pure translation.
++ * @V4L2_AV1_WARP_MODEL_ROTZOOM: Warp model is a rotation + symmetric zoom +
++ * translation.
++ * @V4L2_AV1_WARP_MODEL_AFFINE: Warp model is a general affine transform.
++ */
++enum v4l2_av1_warp_model {
++	V4L2_AV1_WARP_MODEL_IDENTITY = 0,
++	V4L2_AV1_WARP_MODEL_TRANSLATION = 1,
++	V4L2_AV1_WARP_MODEL_ROTZOOM = 2,
++	V4L2_AV1_WARP_MODEL_AFFINE = 3,
++};
++
++/**
++ * enum v4l2_av1_reference_frame - AV1 reference frames
++ *
++ * @V4L2_AV1_REF_INTRA_FRAME: Intra Frame Reference
++ * @V4L2_AV1_REF_LAST_FRAME: Last Reference Frame
++ * @V4L2_AV1_REF_LAST2_FRAME: Last2 Reference Frame
++ * @V4L2_AV1_REF_LAST3_FRAME: Last3 Reference Frame
++ * @V4L2_AV1_REF_GOLDEN_FRAME: Golden Reference Frame
++ * @V4L2_AV1_REF_BWDREF_FRAME: BWD Reference Frame
++ * @V4L2_AV1_REF_ALTREF2_FRAME: Alternative2 Reference Frame
++ * @V4L2_AV1_REF_ALTREF_FRAME: Alternative Reference Frame
++ * @V4L2_AV1_NUM_REF_FRAMES: Total Reference Frame Number
++ */
++enum v4l2_av1_reference_frame {
++	V4L2_AV1_REF_INTRA_FRAME = 0,
++	V4L2_AV1_REF_LAST_FRAME = 1,
++	V4L2_AV1_REF_LAST2_FRAME = 2,
++	V4L2_AV1_REF_LAST3_FRAME = 3,
++	V4L2_AV1_REF_GOLDEN_FRAME = 4,
++	V4L2_AV1_REF_BWDREF_FRAME = 5,
++	V4L2_AV1_REF_ALTREF2_FRAME = 6,
++	V4L2_AV1_REF_ALTREF_FRAME = 7,
++	V4L2_AV1_NUM_REF_FRAMES,
++};
++
++#define V4L2_AV1_GLOBAL_MOTION_IS_INVALID(ref) (1 << (ref))
++
++#define V4L2_AV1_GLOBAL_MOTION_FLAG_IS_GLOBAL	   BIT(0)
++#define V4L2_AV1_GLOBAL_MOTION_FLAG_IS_ROT_ZOOM	   BIT(1)
++#define V4L2_AV1_GLOBAL_MOTION_FLAG_IS_TRANSLATION BIT(2)
++/**
++ * struct v4l2_av1_global_motion - AV1 Global Motion parameters as described in
++ * section 6.8.17 "Global motion params semantics" of the AV1 specification.
++ *
++ * @flags: A bitfield containing the flags per reference frame. See
++ * V4L2_AV1_GLOBAL_MOTION_FLAG_{}
++ * @type: The type of global motion transform used.
++ * @params: this field has the same meaning as "gm_params" in the AV1
++ * specification.
++ * @invalid: bitfield indicating whether the global motion params are invalid
++ * for a given reference frame. See section 7.11.3.6. Setup shear process and
++ * the variable "warpValid". Use V4L2_AV1_GLOBAL_MOTION_IS_INVALID(ref) to
++ * create a suitable mask.
++ */
++
++struct v4l2_av1_global_motion {
++	__u8 flags[V4L2_AV1_TOTAL_REFS_PER_FRAME];
++	enum v4l2_av1_warp_model type[V4L2_AV1_TOTAL_REFS_PER_FRAME];
++	__u32 params[V4L2_AV1_TOTAL_REFS_PER_FRAME][6];
++	__u8 invalid;
++};
++
++/**
++ * enum v4l2_av1_frame_restoration_type - AV1 Frame Restoration Type
++ * @V4L2_AV1_FRAME_RESTORE_NONE: no filtering is applied.
++ * @V4L2_AV1_FRAME_RESTORE_WIENER: Wiener filter process is invoked.
++ * @V4L2_AV1_FRAME_RESTORE_SGRPROJ: self guided filter process is invoked.
++ * @V4L2_AV1_FRAME_RESTORE_SWITCHABLE: restoration filter is swichtable.
++ */
++enum v4l2_av1_frame_restoration_type {
++	V4L2_AV1_FRAME_RESTORE_NONE = 0,
++	V4L2_AV1_FRAME_RESTORE_WIENER = 1,
++	V4L2_AV1_FRAME_RESTORE_SGRPROJ = 2,
++	V4L2_AV1_FRAME_RESTORE_SWITCHABLE = 3,
++};
++
++#define V4L2_AV1_LOOP_RESTORATION_FLAG_USES_LR		BIT(0)
++#define V4L2_AV1_LOOP_RESTORATION_FLAG_USES_CHROMA_LR	BIT(1)
++
++/**
++ * struct v4l2_av1_loop_restoration - AV1 Loop Restauration as described in
++ * section 6.10.15 "Loop restoration params semantics" of the AV1 specification.
++ *
++ * @flags: See V4L2_AV1_LOOP_RESTORATION_FLAG_{}.
++ * @frame_restoration_type: specifies the type of restoration used for each
++ * plane. See v4l2_av1_frame_restoration_type.
++ * @lr_unit_shift: specifies if the luma restoration size should be halved.
++ * @lr_uv_shift: specifies if the chroma size should be half the luma size.
++ * @loop_restoration_size: specifies the size of loop restoration units in units
++ * of samples in the current plane.
++ */
++struct v4l2_av1_loop_restoration {
++	__u8 flags;
++	enum v4l2_av1_frame_restoration_type frame_restoration_type[V4L2_AV1_NUM_PLANES_MAX];
++	__u8 lr_unit_shift;
++	__u8 lr_uv_shift;
++	__u32 loop_restoration_size[V4L2_AV1_MAX_NUM_PLANES];
++};
++
++/**
++ * struct v4l2_av1_cdef - AV1 CDEF params semantics as described in section
++ * 6.10.14. "CDEF params semantics" of the AV1 specification
++ *
++ * @damping_minus_3: controls the amount of damping in the deringing filter.
++ * @bits: specifies the number of bits needed to specify which CDEF filter to
++ * apply.
++ * @y_pri_strength: specifies the strength of the primary filter.
++ * @y_sec_strength: specifies the strength of the secondary filter.
++ * @uv_pri_strength: specifies the strength of the primary filter.
++ * @uv_sec_strength: specifies the strength of the secondary filter.
++ */
++struct v4l2_av1_cdef {
++	__u8 damping_minus_3;
++	__u8 bits;
++	__u8 y_pri_strength[V4L2_AV1_CDEF_MAX];
++	__u8 y_sec_strength[V4L2_AV1_CDEF_MAX];
++	__u8 uv_pri_strength[V4L2_AV1_CDEF_MAX];
++	__u8 uv_sec_strength[V4L2_AV1_CDEF_MAX];
++};
++
++#define V4L2_AV1_SEGMENTATION_FLAG_ENABLED	   BIT(0)
++#define V4L2_AV1_SEGMENTATION_FLAG_UPDATE_MAP	   BIT(1)
++#define V4L2_AV1_SEGMENTATION_FLAG_TEMPORAL_UPDATE BIT(2)
++#define V4L2_AV1_SEGMENTATION_FLAG_UPDATE_DATA	   BIT(3)
++#define V4L2_AV1_SEGMENTATION_FLAG_SEG_ID_PRE_SKIP	BIT(4)
++
++/**
++ * enum v4l2_av1_segment_feature - AV1 segment features as described in section
++ * 3 "Symbols and abbreviated terms" of the AV1 specification.
++ *
++ * @V4L2_AV1_SEG_LVL_ALT_Q: Index for quantizer segment feature.
++ * @V4L2_AV1_SEG_LVL_ALT_LF_Y_V: Index for vertical luma loop filter segment
++ * feature.
++ * @V4L2_AV1_SEG_LVL_REF_FRAME: Index for reference frame segment feature.
++ * @V4L2_AV1_SEG_LVL_SKIP: Index for skip segment feature.
++ * @V4L2_AV1_SEG_LVL_GLOBALMV: Index for global mv feature.
++ * @V4L2_AV1_SEG_LVL_MAX: Number of segment features.
++ */
++enum v4l2_av1_segment_feature {
++	V4L2_AV1_SEG_LVL_ALT_Q = 0,
++	V4L2_AV1_SEG_LVL_ALT_LF_Y_V = 1,
++	V4L2_AV1_SEG_LVL_REF_FRAME = 5,
++	V4L2_AV1_SEG_LVL_REF_SKIP = 6,
++	V4L2_AV1_SEG_LVL_REF_GLOBALMV = 7,
++	V4L2_AV1_SEG_LVL_MAX = 8
++};
++
++#define V4L2_AV1_SEGMENT_FEATURE_ENABLED(id)	(1 << (id))
++
++/**
++ * struct v4l2_av1_segmentation - AV1 Segmentation params as defined in section
++ * 6.8.13. "Segmentation params semantics" of the AV1 specification.
++ *
++ * @flags: see V4L2_AV1_SEGMENTATION_FLAG_{}.
++ * @feature_enabled: bitmask defining which features are enabled in each segment.
++ * Use V4L2_AV1_SEGMENT_FEATURE_ENABLED to build a suitable mask.
++ * @feature_data: data attached to each feature. Data entry is only valid if the
++ * feature is enabled
++ * @last_active_seg_id: indicates the highest numbered segment id that has some
++ * enabled feature. This is used when decoding the segment id to only decode
++ * choices corresponding to used segments.
++ */
++struct v4l2_av1_segmentation {
++	__u8 flags;
++	__u8 feature_enabled[V4L2_AV1_MAX_SEGMENTS];
++	__s16 feature_data[V4L2_AV1_MAX_SEGMENTS][V4L2_AV1_SEG_LVL_MAX];
++	__u8 last_active_seg_id;
++};
++
++#define V4L2_AV1_LOOP_FILTER_FLAG_DELTA_ENABLED    BIT(0)
++#define V4L2_AV1_LOOP_FILTER_FLAG_DELTA_UPDATE     BIT(1)
++#define V4L2_AV1_LOOP_FILTER_FLAG_DELTA_LF_PRESENT BIT(2)
++
++/**
++ * struct v4l2_av1_loop_filter - AV1 Loop filter params as defined in section
++ * 6.8.10. "Loop filter semantics" of the AV1 specification.
++ *
++ * @flags: see V4L2_AV1_LOOP_FILTER_FLAG_{}
++ * @level: an array containing loop filter strength values. Different loop
++ * filter strength values from the array are used depending on the image plane
++ * being filtered, and the edge direction (vertical or horizontal) being
++ * filtered.
++ * @sharpness: indicates the sharpness level. The loop_filter_level and
++ * loop_filter_sharpness together determine when a block edge is filtered, and
++ * by how much the filtering can change the sample values. The loop filter
++ * process is described in section 7.14 of the AV1 specification.
++ * @ref_deltas: contains the adjustment needed for the filter level based on the
++ * chosen reference frame. If this syntax element is not present, it maintains
++ * its previous value.
++ * @mode_deltas: contains the adjustment needed for the filter level based on
++ * the chosen mode. If this syntax element is not present, it maintains its
++ * previous value.
++ * @delta_lf_res: specifies the left shift which should be applied to decoded
++ * loop filter delta values.
++ * @delta_lf_multi: a value equal to 1 specifies that separate loop filter
++ * deltas are sent for horizontal luma edges, vertical luma edges,
++ * the U edges, and the V edges. A value of delta_lf_multi equal to 0 specifies
++ * that the same loop filter delta is used for all edges.
++ */
++struct v4l2_av1_loop_filter {
++	__u8 flags;
++	__u8 level[4];
++	__u8 sharpness;
++	__s8 ref_deltas[V4L2_AV1_TOTAL_REFS_PER_FRAME];
++	__s8 mode_deltas[2];
++	__u8 delta_lf_res;
++	__u8 delta_lf_multi;
++};
++
++#define V4L2_AV1_QUANTIZATION_FLAG_DIFF_UV_DELTA   BIT(0)
++#define V4L2_AV1_QUANTIZATION_FLAG_USING_QMATRIX   BIT(1)
++#define V4L2_AV1_QUANTIZATION_FLAG_DELTA_Q_PRESENT BIT(2)
++
++/**
++ * struct v4l2_av1_quantization - AV1 Quantization params as defined in section
++ * 6.8.11 "Quantization params semantics" of the AV1 specification.
++ *
++ * @flags: see V4L2_AV1_QUANTIZATION_FLAG_{}
++ * @base_q_idx: indicates the base frame qindex. This is used for Y AC
++ * coefficients and as the base value for the other quantizers.
++ * @delta_q_y_dc: indicates the Y DC quantizer relative to base_q_idx.
++ * @delta_q_u_dc: indicates the U DC quantizer relative to base_q_idx.
++ * @delta_q_u_ac: indicates the U AC quantizer relative to base_q_idx.
++ * @delta_q_v_dc: indicates the V DC quantizer relative to base_q_idx.
++ * @delta_q_v_ac: indicates the V AC quantizer relative to base_q_idx.
++ * @qm_y: specifies the level in the quantizer matrix that should be used for
++ * luma plane decoding.
++ * @qm_u: specifies the level in the quantizer matrix that should be used for
++ * chroma U plane decoding.
++ * @qm_v: specifies the level in the quantizer matrix that should be used for
++ * chroma V plane decoding.
++ * @delta_q_res: specifies the left shift which should be applied to decoded
++ * quantizer index delta values.
++ */
++struct v4l2_av1_quantization {
++	__u8 flags;
++	__u8 base_q_idx;
++	__s8 delta_q_y_dc;
++	__s8 delta_q_u_dc;
++	__s8 delta_q_u_ac;
++	__s8 delta_q_v_dc;
++	__s8 delta_q_v_ac;
++	__u8 qm_y;
++	__u8 qm_u;
++	__u8 qm_v;
++	__u8 delta_q_res;
++};
++
++#define V4L2_AV1_TILE_INFO_FLAG_UNIFORM_TILE_SPACING	BIT(0)
++
++/**
++ * struct v4l2_av1_tile_info - AV1 Tile info as defined in section 6.8.14. "Tile
++ * info semantics" of the AV1 specification.
++ *
++ * @flags: see V4L2_AV1_TILE_INFO_FLAG_{}
++ * @mi_col_starts: an array specifying the start column (in units of 4x4 luma
++ * samples) for each tile across the image.
++ * @mi_row_starts: an array specifying the start row (in units of 4x4 luma
++ * samples) for each tile down the image.
++ * @width_in_sbs_minus_1: specifies the width of a tile minus 1 in units of
++ * superblocks.
++ * @height_in_sbs_minus_1:  specifies the height of a tile minus 1 in units of
++ * superblocks.
++ * @tile_size_bytes: specifies the number of bytes needed to code each tile
++ * size.
++ * @context_update_tile_id: specifies which tile to use for the CDF update.
++ * @tile_rows: specifies the number of tiles down the frame.
++ * @tile_cols: specifies the number of tiles across the frame.
++ */
++struct v4l2_av1_tile_info {
++	__u8 flags;
++	__u32 mi_col_starts[V4L2_AV1_MAX_TILE_COLS + 1];
++	__u32 mi_row_starts[V4L2_AV1_MAX_TILE_ROWS + 1];
++	__u32 width_in_sbs_minus_1[V4L2_AV1_MAX_TILE_COLS];
++	__u32 height_in_sbs_minus_1[V4L2_AV1_MAX_TILE_ROWS];
++	__u8 tile_size_bytes;
++	__u8 context_update_tile_id;
++	__u8 tile_cols;
++	__u8 tile_rows;
++};
++
++/**
++ * enum v4l2_av1_frame_type - AV1 Frame Type
++ *
++ * @V4L2_AV1_KEY_FRAME: Key frame
++ * @V4L2_AV1_INTER_FRAME: Inter frame
++ * @V4L2_AV1_INTRA_ONLY_FRAME: Intra-only frame
++ * @V4L2_AV1_SWITCH_FRAME: Switch frame
++ */
++enum v4l2_av1_frame_type {
++	V4L2_AV1_KEY_FRAME = 0,
++	V4L2_AV1_INTER_FRAME = 1,
++	V4L2_AV1_INTRA_ONLY_FRAME = 2,
++	V4L2_AV1_SWITCH_FRAME = 3
++};
++
++/**
++ * enum v4l2_av1_interpolation_filter - AV1 interpolation filter types
++ *
++ * @V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP: eight tap filter
++ * @V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH: eight tap smooth filter
++ * @V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SHARP: eight tap sharp filter
++ * @V4L2_AV1_INTERPOLATION_FILTER_BILINEAR: bilinear filter
++ * @V4L2_AV1_INTERPOLATION_FILTER_SWITCHABLE: filter selection is signaled at
++ * the block level
++ *
++ * See section 6.8.9 "Interpolation filter semantics" of the AV1 specification
++ * for more details.
++ */
++enum v4l2_av1_interpolation_filter {
++	V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP = 0,
++	V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH = 1,
++	V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SHARP = 2,
++	V4L2_AV1_INTERPOLATION_FILTER_BILINEAR = 3,
++	V4L2_AV1_INTERPOLATION_FILTER_SWITCHABLE = 4,
++};
++
++/**
++ * enum v4l2_av1_tx_mode - AV1 Tx mode as described in section 6.8.21 "TX mode
++ * semantics" of the AV1 specification.
++ * @V4L2_AV1_TX_MODE_ONLY_4X4: the inverse transform will use only 4x4
++ * transforms
++ * @V4L2_AV1_TX_MODE_LARGEST: the inverse transform will use the largest
++ * transform size that fits inside the block
++ * @V4L2_AV1_TX_MODE_SELECT: the choice of transform size is specified
++ * explicitly for each block.
++ */
++enum v4l2_av1_tx_mode {
++	V4L2_AV1_TX_MODE_ONLY_4X4 = 0,
++	V4L2_AV1_TX_MODE_LARGEST = 1,
++	V4L2_AV1_TX_MODE_SELECT = 2
++};
++
++#define V4L2_AV1_FRAME_HEADER_FLAG_SHOW_FRAME			BIT(0)
++#define V4L2_AV1_FRAME_HEADER_FLAG_SHOWABLE_FRAME		BIT(1)
++#define V4L2_AV1_FRAME_HEADER_FLAG_ERROR_RESILIENT_MODE		BIT(2)
++#define V4L2_AV1_FRAME_HEADER_FLAG_DISABLE_CDF_UPDATE		BIT(3)
++#define V4L2_AV1_FRAME_HEADER_FLAG_ALLOW_SCREEN_CONTENT_TOOLS	BIT(4)
++#define V4L2_AV1_FRAME_HEADER_FLAG_FORCE_INTEGER_MV		BIT(5)
++#define V4L2_AV1_FRAME_HEADER_FLAG_ALLOW_INTRABC		BIT(6)
++#define V4L2_AV1_FRAME_HEADER_FLAG_USE_SUPERRES			BIT(7)
++#define V4L2_AV1_FRAME_HEADER_FLAG_ALLOW_HIGH_PRECISION_MV	BIT(8)
++#define V4L2_AV1_FRAME_HEADER_FLAG_IS_MOTION_MODE_SWITCHABLE	BIT(9)
++#define V4L2_AV1_FRAME_HEADER_FLAG_USE_REF_FRAME_MVS		BIT(10)
++#define V4L2_AV1_FRAME_HEADER_FLAG_DISABLE_FRAME_END_UPDATE_CDF BIT(11)
++#define V4L2_AV1_FRAME_HEADER_FLAG_UNIFORM_TILE_SPACING		BIT(12)
++#define V4L2_AV1_FRAME_HEADER_FLAG_ALLOW_WARPED_MOTION		BIT(13)
++#define V4L2_AV1_FRAME_HEADER_FLAG_REFERENCE_SELECT		BIT(14)
++#define V4L2_AV1_FRAME_HEADER_FLAG_REDUCED_TX_SET		BIT(15)
++#define V4L2_AV1_FRAME_HEADER_FLAG_SKIP_MODE_ALLOWED 		BIT(16)
++#define V4L2_AV1_FRAME_HEADER_FLAG_SKIP_MODE_PRESENT		BIT(17)
++#define V4L2_AV1_FRAME_HEADER_FLAG_FRAME_SIZE_OVERRIDE		BIT(18)
++#define V4L2_AV1_FRAME_HEADER_FLAG_BUFFER_REMOVAL_TIME_PRESENT	BIT(19)
++#define V4L2_AV1_FRAME_HEADER_FLAG_FRAME_REFS_SHORT_SIGNALING	BIT(20)
++
++#define V4L2_CID_STATELESS_AV1_FRAME_HEADER (V4L2_CID_CODEC_STATELESS_BASE + 406)
++/**
++ * struct v4l2_ctrl_av1_frame_header - Represents an AV1 Frame Header OBU.
++ *
++ * @tile_info: tile info
++ * @quantization: quantization params
++ * @segmentation: segmentation params
++ * @loop_filter: loop filter params
++ * @cdef: cdef params
++ * @loop_restoration: loop restoration params
++ * @global_motion: global motion params
++ * @film_grain: film grain params
++ * @flags: see V4L2_AV1_FRAME_HEADER_FLAG_{}
++ * @frame_type: specifies the AV1 frame type
++ * @order_hint: specifies OrderHintBits least significant bits of the expected
++ * output order for this frame.
++ * @superres_denom: the denominator for the upscaling ratio.
++ * @upscaled_width: the upscaled width.
++ * @interpolation_filter: specifies the filter selection used for performing
++ * inter prediction.
++ * @tx_mode: specifies how the transform size is determined.
++ * @frame_width_minus_1: add 1 to get the frame's width.
++ * @frame_height_minus_1: add 1 to get the frame's height
++ * @render_width_minus_1: add 1 to get the render width of the frame in luma
++ * samples.
++ * @render_height_minus_1: add 1 to get the render height of the frame in luma
++ * samples.
++ * @current_frame_id: specifies the frame id number for the current frame. Frame
++ * id numbers are additional information that do not affect the decoding
++ * process, but provide decoders with a way of detecting missing reference
++ * frames so that appropriate action can be taken.
++ * @primary_ref_frame: specifies which reference frame contains the CDF values
++ * and other state that should be loaded at the start of the frame.
++ * @buf_removal_time: specifies the frame removal time in units of DecCT clock
++ * ticks counted from the removal time of the last random access point for
++ * operating point opNum.
++ * @refresh_frame_flags: contains a bitmask that specifies which reference frame
++ * slots will be updated with the current frame after it is decoded.
++ * @order_hints: specifies the expected output order hint for each reference
++ * frame.
++ * @last_frame_idx: specifies the reference frame to use for LAST_FRAME.
++ * @gold_frame_idx: specifies the reference frame to use for GOLDEN_FRAME.
++ * refs
++ * @reference_frame_ts: the V4L2 timestamp of the reference frame slots.
++ * @ref_frame_idx: index into @reference_frame_ts fo the frames used by
++ *   inter-frames.
++ * enumerated in &v4l2_av1_reference_frame. The timestamp refers to the
++ * timestamp field in struct v4l2_buffer. Use v4l2_timeval_to_ns() to convert
++ * the struct timeval to a __u64.
++ * @skip_mode_frame: specifies the frames to use for compound prediction when
++ * skip_mode is equal to 1.
++ */
++struct v4l2_ctrl_av1_frame_header {
++	struct v4l2_av1_tile_info tile_info;
++	struct v4l2_av1_quantization quantization;
++	struct v4l2_av1_segmentation segmentation;
++	struct v4l2_av1_loop_filter  loop_filter;
++	struct v4l2_av1_cdef cdef;
++	struct v4l2_av1_loop_restoration loop_restoration;
++	struct v4l2_av1_global_motion global_motion;
++	__u32 flags;
++	enum v4l2_av1_frame_type frame_type;
++	__u32 order_hint;
++	__u8 superres_denom;
++	__u32 upscaled_width;
++	enum v4l2_av1_interpolation_filter interpolation_filter;
++	enum v4l2_av1_tx_mode tx_mode;
++	__u32 frame_width_minus_1;
++	__u32 frame_height_minus_1;
++	__u16 render_width_minus_1;
++	__u16 render_height_minus_1;
++
++	__u32 current_frame_id;
++	__u8 primary_ref_frame;
++	__u32 buffer_removal_time[V4L2_AV1_MAX_OPERATING_POINTS];
++	__u8 refresh_frame_flags;
++	__u32 order_hints[V4L2_AV1_NUM_REF_FRAMES];
++	__s8 last_frame_idx;
++	__s8 gold_frame_idx;
++	__u64 reference_frame_ts[V4L2_AV1_TOTAL_REFS_PER_FRAME];
++	__u8 ref_frame_idx[V4L2_AV1_REFS_PER_FRAME];
++	__u8 skip_mode_frame[2];
++};
++
++/**
++ * enum v4l2_stateless_av1_profile - AV1 profiles
++ *
++ * @V4L2_STATELESS_AV1_PROFILE_MAIN: compliant decoders must be able to decode
++ * streams with seq_profile equal to 0.
++ * @V4L2_STATELESS_PROFILE_HIGH: compliant decoders must be able to decode
++ * streams with seq_profile equal to 0.
++ * @V4L2_STATELESS_PROFILE_PROFESSIONAL: compliant decoders must be able to
++ * decode streams with seq_profile equal to 0.
++ *
++ * Conveys the highest profile a decoder can work with.
++ */
++#define V4L2_CID_STATELESS_AV1_PROFILE (V4L2_CID_CODEC_STATELESS_BASE + 407)
++enum v4l2_stateless_av1_profile {
++	V4L2_STATELESS_AV1_PROFILE_MAIN = 0,
++	V4L2_STATELESS_AV1_PROFILE_HIGH = 1,
++	V4L2_STATELESS_AV1_PROFILE_PROFESSIONAL = 2,
++};
++
++/**
++ * enum v4l2_stateless_av1_level - AV1 levels
++ *
++ * @V4L2_STATELESS_AV1_LEVEL_2_0: Level 2.0.
++ * @V4L2_STATELESS_AV1_LEVEL_2_1: Level 2.1.
++ * @V4L2_STATELESS_AV1_LEVEL_2_2: Level 2.2.
++ * @V4L2_STATELESS_AV1_LEVEL_2_3: Level 2.3.
++ * @V4L2_STATELESS_AV1_LEVEL_3_0: Level 3.0.
++ * @V4L2_STATELESS_AV1_LEVEL_3_1: Level 3.1.
++ * @V4L2_STATELESS_AV1_LEVEL_3_2: Level 3.2.
++ * @V4L2_STATELESS_AV1_LEVEL_3_3: Level 3.3.
++ * @V4L2_STATELESS_AV1_LEVEL_4_0: Level 4.0.
++ * @V4L2_STATELESS_AV1_LEVEL_4_1: Level 4.1.
++ * @V4L2_STATELESS_AV1_LEVEL_4_2: Level 4.2.
++ * @V4L2_STATELESS_AV1_LEVEL_4_3: Level 4.3.
++ * @V4L2_STATELESS_AV1_LEVEL_5_0: Level 5.0.
++ * @V4L2_STATELESS_AV1_LEVEL_5_1: Level 5.1.
++ * @V4L2_STATELESS_AV1_LEVEL_5_2: Level 5.2.
++ * @V4L2_STATELESS_AV1_LEVEL_5_3: Level 5.3.
++ * @V4L2_STATELESS_AV1_LEVEL_6_0: Level 6.0.
++ * @V4L2_STATELESS_AV1_LEVEL_6_1: Level 6.1.
++ * @V4L2_STATELESS_AV1_LEVEL_6_2: Level 6.2.
++ * @V4L2_STATELESS_AV1_LEVEL_6_3: Level 6.3.
++ * @V4L2_STATELESS_AV1_LEVEL_7_0: Level 7.0.
++ * @V4L2_STATELESS_AV1_LEVEL_7_2: Level 7.2.
++ * @V4L2_STATELESS_AV1_LEVEL_7_3: Level 7.3.
++ *
++ * Conveys the highest level a decoder can work with.
++ */
++#define V4L2_CID_STATELESS_AV1_LEVEL (V4L2_CID_CODEC_STATELESS_BASE + 408)
++enum v4l2_stateless_av1_level {
++	V4L2_STATELESS_AV1_LEVEL_2_0 = 0,
++	V4L2_STATELESS_AV1_LEVEL_2_1 = 1,
++	V4L2_STATELESS_AV1_LEVEL_2_2 = 2,
++	V4L2_STATELESS_AV1_LEVEL_2_3 = 3,
++
++	V4L2_STATELESS_AV1_LEVEL_3_0 = 4,
++	V4L2_STATELESS_AV1_LEVEL_3_1 = 5,
++	V4L2_STATELESS_AV1_LEVEL_3_2 = 6,
++	V4L2_STATELESS_AV1_LEVEL_3_3 = 7,
++
++	V4L2_STATELESS_AV1_LEVEL_4_0 = 8,
++	V4L2_STATELESS_AV1_LEVEL_4_1 = 9,
++	V4L2_STATELESS_AV1_LEVEL_4_2 = 10,
++	V4L2_STATELESS_AV1_LEVEL_4_3 = 11,
++
++	V4L2_STATELESS_AV1_LEVEL_5_0 = 12,
++	V4L2_STATELESS_AV1_LEVEL_5_1 = 13,
++	V4L2_STATELESS_AV1_LEVEL_5_2 = 14,
++	V4L2_STATELESS_AV1_LEVEL_5_3 = 15,
++
++	V4L2_STATELESS_AV1_LEVEL_6_0 = 16,
++	V4L2_STATELESS_AV1_LEVEL_6_1 = 17,
++	V4L2_STATELESS_AV1_LEVEL_6_2 = 18,
++	V4L2_STATELESS_AV1_LEVEL_6_3 = 19,
++
++	V4L2_STATELESS_AV1_LEVEL_7_0 = 20,
++	V4L2_STATELESS_AV1_LEVEL_7_1 = 21,
++	V4L2_STATELESS_AV1_LEVEL_7_2 = 22,
++	V4L2_STATELESS_AV1_LEVEL_7_3 = 23
++};
++
++#define V4L2_AV1_FILM_GRAIN_FLAG_APPLY_GRAIN BIT(0)
++#define V4L2_AV1_FILM_GRAIN_FLAG_UPDATE_GRAIN BIT(1)
++#define V4L2_AV1_FILM_GRAIN_FLAG_CHROMA_SCALING_FROM_LUMA BIT(2)
++#define V4L2_AV1_FILM_GRAIN_FLAG_OVERLAP BIT(3)
++#define V4L2_AV1_FILM_GRAIN_FLAG_CLIP_TO_RESTRICTED_RANGE BIT(4)
++
++/**
++ * struct v4l2_av1_film_grain - AV1 Film Grain parameters.
++ *
++ * Film grain parameters as specified by section 6.8.20 of the AV1
++   Specification.
++ *
++ * @flags: see V4L2_AV1_FILM_GRAIN_{}.
++ * @grain_seed: specifies the starting value for the pseudo-random numbers used
++ * during film grain synthesis.
++ * @film_grain_params_ref_idx: indicates which reference frame contains the
++ * film grain parameters to be used for this frame.
++ * @num_y_points: specifies the number of points for the piece-wise linear
++ * scaling function of the luma component.
++ * @point_y_value: represents the x (luma value) coordinate for the i-th point
++ * of the piecewise linear scaling function for luma component. The values are
++ * signaled on the scale of 0..255. (In case of 10 bit video, these values
++ * correspond to luma values divided by 4. In case of 12 bit video, these values
++ * correspond to luma values divided by 16.).
++ * @point_y_scaling:  represents the scaling (output) value for the i-th point
++ * of the piecewise linear scaling function for luma component.
++ * @num_cb_points: specifies the number of points for the piece-wise linear
++ * scaling function of the cb component.
++ * @point_cb_value: represents the x coordinate for the i-th point of the
++ * piece-wise linear scaling function for cb component. The values are signaled
++ * on the scale of 0..255.
++ * @point_cb_scaling: represents the scaling (output) value for the i-th point
++ * of the piecewise linear scaling function for cb component.
++ * @num_cr_points: specifies represents the number of points for the piece-wise
++ * linear scaling function of the cr component.
++ * @point_cr_value:  represents the x coordinate for the i-th point of the
++ * piece-wise linear scaling function for cr component. The values are signaled
++ * on the scale of 0..255.
++ * @point_cr_scaling:  represents the scaling (output) value for the i-th point
++ * of the piecewise linear scaling function for cr component.
++ * @grain_scaling_minus_8: represents the shift – 8 applied to the values of the
++ * chroma component. The grain_scaling_minus_8 can take values of 0..3 and
++ * determines the range and quantization step of the standard deviation of film
++ * grain.
++ * @ar_coeff_lag: specifies the number of auto-regressive coefficients for luma
++ * and chroma.
++ * @ar_coeffs_y_plus_128: specifies auto-regressive coefficients used for the Y
++ * plane.
++ * @ar_coeffs_cb_plus_128: specifies auto-regressive coefficients used for the U
++ * plane.
++ * @ar_coeffs_cr_plus_128: specifies auto-regressive coefficients used for the V
++ * plane.
++ * @ar_coeff_shift_minus_6: specifies the range of the auto-regressive
++ * coefficients. Values of 0, 1, 2, and 3 correspond to the ranges for
++ * auto-regressive coefficients of [-2, 2), [-1, 1), [-0.5, 0.5) and [-0.25,
++ * 0.25) respectively.
++ * @grain_scale_shift: specifies how much the Gaussian random numbers should be
++ * scaled down during the grain synthesis process.
++ * @cb_mult: represents a multiplier for the cb component used in derivation of
++ * the input index to the cb component scaling function.
++ * @cb_luma_mult: represents a multiplier for the average luma component used in
++ * derivation of the input index to the cb component scaling function.
++ * @cb_offset: represents an offset used in derivation of the input index to the
++ * cb component scaling function.
++ * @cr_mult: represents a multiplier for the cr component used in derivation of
++ * the input index to the cr component scaling function.
++ * @cr_luma_mult: represents a multiplier for the average luma component used in
++ * derivation of the input index to the cr component scaling function.
++ * @cr_offset: represents an offset used in derivation of the input index to the
++ * cr component scaling function.
++ */
++#define V4L2_CID_STATELESS_AV1_FILM_GRAIN (V4L2_CID_CODEC_STATELESS_BASE + 409)
++struct v4l2_ctrl_av1_film_grain {
++	__u8 flags;
++	__u16 grain_seed;
++	__u8 film_grain_params_ref_idx;
++	__u8 num_y_points;
++	__u8 point_y_value[V4L2_AV1_MAX_NUM_Y_POINTS];
++	__u8 point_y_scaling[V4L2_AV1_MAX_NUM_Y_POINTS];
++	__u8 num_cb_points;
++	__u8 point_cb_value[V4L2_AV1_MAX_NUM_CB_POINTS];
++	__u8 point_cb_scaling[V4L2_AV1_MAX_NUM_CB_POINTS];
++	__u8 num_cr_points;
++	__u8 point_cr_value[V4L2_AV1_MAX_NUM_CR_POINTS];
++	__u8 point_cr_scaling[V4L2_AV1_MAX_NUM_CR_POINTS];
++	__u8 grain_scaling_minus_8;
++	__u8 ar_coeff_lag;
++	__u8 ar_coeffs_y_plus_128[V4L2_AV1_MAX_NUM_POS_LUMA];
++	__u8 ar_coeffs_cb_plus_128[V4L2_AV1_MAX_NUM_POS_LUMA];
++	__u8 ar_coeffs_cr_plus_128[V4L2_AV1_MAX_NUM_POS_LUMA];
++	__u8 ar_coeff_shift_minus_6;
++	__u8 grain_scale_shift;
++	__u8 cb_mult;
++	__u8 cb_luma_mult;
++	__u16 cb_offset;
++	__u8 cr_mult;
++	__u8 cr_luma_mult;
++	__u16 cr_offset;
++};
++
++#endif
+-- 
+2.31.0
+
diff --git a/sys-kernel/linux-headers/files/0052-BACKPORT-add-rseq-syscall-definitions.patch b/sys-kernel/linux-headers/files/0052-BACKPORT-add-rseq-syscall-definitions.patch
new file mode 100644
index 0000000..e780354
--- /dev/null
+++ b/sys-kernel/linux-headers/files/0052-BACKPORT-add-rseq-syscall-definitions.patch
@@ -0,0 +1,269 @@
+From 023b2899c0949e76e6b2a0a98670f98190f22a76 Mon Sep 17 00:00:00 2001
+From: Adrian Ratiu <adrian.ratiu@collabora.com>
+Date: Fri, 8 Jul 2022 10:23:46 +0300
+Subject: [PATCH] BACKPORT: add rseq syscall definitions
+
+This is a squash + backport of the following upstream
+commits and the header was taken from the v4.18 kernel
+when the syscall was introduced, no new changes since.
+
+The backport is required because newer version of glibc
+will start probing for sys_rseq existence and call it if
+it exists. Mainjail will need to be built against these
+headers in order to allow the glibc calls.
+
+commit 05c17cedf8 ("x86: Wire up restartable sequence system call")
+commit 338035edc9 ("arm: Wire up restartable sequences system call")
+commit 409d5db498 ("arm64: rseq: Implement backend rseq calls and select HAVE_RSEQ")
+commit d7822b1e24 ("rseq: Introduce restartable sequences system call")
+---
+ arch/arm/tools/syscall.tbl             |   1 +
+ arch/arm64/include/asm/unistd32.h      |   2 +
+ arch/x86/entry/syscalls/syscall_32.tbl |   1 +
+ arch/x86/entry/syscalls/syscall_64.tbl |   1 +
+ include/linux/syscalls.h               |   3 +
+ include/uapi/asm-generic/unistd.h      |   4 +-
+ include/uapi/linux/rseq.h              | 147 +++++++++++++++++++++++++
+ 7 files changed, 158 insertions(+), 1 deletion(-)
+ create mode 100644 include/uapi/linux/rseq.h
+
+diff --git a/arch/arm/tools/syscall.tbl b/arch/arm/tools/syscall.tbl
+index 0bb0e9c6376c..fbc74b5fa3ed 100644
+--- a/arch/arm/tools/syscall.tbl
++++ b/arch/arm/tools/syscall.tbl
+@@ -412,5 +412,6 @@
+ 395	common	pkey_alloc		sys_pkey_alloc
+ 396	common	pkey_free		sys_pkey_free
+ 397	common	statx			sys_statx
+-# 398-402 unused
++398	common	rseq			sys_rseq
++# 399-402 unused
+ 403	common	clock_gettime64			sys_clock_gettime
+diff --git a/arch/arm64/include/asm/unistd32.h b/arch/arm64/include/asm/unistd32.h
+index ef292160748c..0fdc7ef8a776 100644
+--- a/arch/arm64/include/asm/unistd32.h
++++ b/arch/arm64/include/asm/unistd32.h
+@@ -817,7 +817,9 @@ __SYSCALL(__NR_pkey_alloc, sys_pkey_alloc)
+ __SYSCALL(__NR_pkey_free, sys_pkey_free)
+ #define __NR_statx 397
+ __SYSCALL(__NR_statx, sys_statx)
+-/* 398-402 is unused */
++#define __NR_rseq 398
++__SYSCALL(__NR_rseq, sys_rseq)
++/* 399-402 is unused */
+ #define __NR_clock_gettime64 403
+ __SYSCALL(__NR_clock_gettime64, sys_clock_gettime)
+ #define __NR_clock_settime64 404
+diff --git a/arch/x86/entry/syscalls/syscall_32.tbl b/arch/x86/entry/syscalls/syscall_32.tbl
+index 448ac2161112..0b9256526c4e 100644
+--- a/arch/x86/entry/syscalls/syscall_32.tbl
++++ b/arch/x86/entry/syscalls/syscall_32.tbl
+@@ -391,4 +391,5 @@
+ 382	i386	pkey_free		sys_pkey_free
+ 383	i386	statx			sys_statx
+ 384	i386	arch_prctl		sys_arch_prctl			compat_sys_arch_prctl
++386	i386	rseq			sys_rseq
+ # don't use numbers 387 through 392, add new calls at the end
+diff --git a/arch/x86/entry/syscalls/syscall_64.tbl b/arch/x86/entry/syscalls/syscall_64.tbl
+index 5aef183e2f85..92472653bcd3 100644
+--- a/arch/x86/entry/syscalls/syscall_64.tbl
++++ b/arch/x86/entry/syscalls/syscall_64.tbl
+@@ -339,6 +339,7 @@
+ 330	common	pkey_alloc		sys_pkey_alloc
+ 331	common	pkey_free		sys_pkey_free
+ 332	common	statx			sys_statx
++334	common	rseq			sys_rseq
+ 425	common	io_uring_setup		__x64_sys_io_uring_setup
+ 426	common	io_uring_enter		__x64_sys_io_uring_enter
+ 439	common	faccessat2		sys_faccessat2
+diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
+index a78186d826d7..2336c0985c41 100644
+--- a/include/linux/syscalls.h
++++ b/include/linux/syscalls.h
+@@ -66,6 +66,7 @@ struct old_linux_dirent;
+ struct perf_event_attr;
+ struct file_handle;
+ struct sigaltstack;
++struct rseq;
+ union bpf_attr;
+ 
+ #include <linux/types.h>
+@@ -940,5 +941,7 @@ asmlinkage long sys_pkey_alloc(unsigned long flags, unsigned long init_val);
+ asmlinkage long sys_pkey_free(int pkey);
+ asmlinkage long sys_statx(int dfd, const char __user *path, unsigned flags,
+ 			  unsigned mask, struct statx __user *buffer);
++asmlinkage long sys_rseq(struct rseq __user *rseq, uint32_t rseq_len,
++			 int flags, uint32_t sig);
+ 
+ #endif
+diff --git a/include/uapi/asm-generic/unistd.h b/include/uapi/asm-generic/unistd.h
+index 8b87de067bc7..96ef821fb044 100644
+--- a/include/uapi/asm-generic/unistd.h
++++ b/include/uapi/asm-generic/unistd.h
+@@ -732,7 +732,9 @@ __SYSCALL(__NR_pkey_alloc,    sys_pkey_alloc)
+ __SYSCALL(__NR_pkey_free,     sys_pkey_free)
+ #define __NR_statx 291
+ __SYSCALL(__NR_statx,     sys_statx)
+-/* 292 through 402 are unassigned to sync up with generic numbers, don't use */
++#define __NR_rseq 293
++__SYSCALL(__NR_rseq, sys_rseq)
++/* 294 through 402 are unassigned to sync up with generic numbers, don't use */
+ #if __BITS_PER_LONG == 32
+ #define __NR_clock_gettime64 403
+ __SYSCALL(__NR_clock_gettime64, sys_clock_gettime)
+diff --git a/include/uapi/linux/rseq.h b/include/uapi/linux/rseq.h
+new file mode 100644
+index 000000000000..9a402fdb60e9
+--- /dev/null
++++ b/include/uapi/linux/rseq.h
+@@ -0,0 +1,147 @@
++/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
++#ifndef _UAPI_LINUX_RSEQ_H
++#define _UAPI_LINUX_RSEQ_H
++
++/*
++ * linux/rseq.h
++ *
++ * Restartable sequences system call API
++ *
++ * Copyright (c) 2015-2018 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
++ */
++
++#include <linux/types.h>
++#include <asm/byteorder.h>
++
++enum rseq_cpu_id_state {
++	RSEQ_CPU_ID_UNINITIALIZED		= -1,
++	RSEQ_CPU_ID_REGISTRATION_FAILED		= -2,
++};
++
++enum rseq_flags {
++	RSEQ_FLAG_UNREGISTER = (1 << 0),
++};
++
++enum rseq_cs_flags_bit {
++	RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT_BIT	= 0,
++	RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT	= 1,
++	RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT	= 2,
++};
++
++enum rseq_cs_flags {
++	RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT	=
++		(1U << RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT_BIT),
++	RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL	=
++		(1U << RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT),
++	RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE	=
++		(1U << RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT),
++};
++
++/*
++ * struct rseq_cs is aligned on 4 * 8 bytes to ensure it is always
++ * contained within a single cache-line. It is usually declared as
++ * link-time constant data.
++ */
++struct rseq_cs {
++	/* Version of this structure. */
++	__u32 version;
++	/* enum rseq_cs_flags */
++	__u32 flags;
++	__u64 start_ip;
++	/* Offset from start_ip. */
++	__u64 post_commit_offset;
++	__u64 abort_ip;
++} __attribute__((aligned(4 * sizeof(__u64))));
++
++/*
++ * struct rseq is aligned on 4 * 8 bytes to ensure it is always
++ * contained within a single cache-line.
++ *
++ * A single struct rseq per thread is allowed.
++ */
++struct rseq {
++	/*
++	 * Restartable sequences cpu_id_start field. Updated by the
++	 * kernel. Read by user-space with single-copy atomicity
++	 * semantics. This field should only be read by the thread which
++	 * registered this data structure. Aligned on 32-bit. Always
++	 * contains a value in the range of possible CPUs, although the
++	 * value may not be the actual current CPU (e.g. if rseq is not
++	 * initialized). This CPU number value should always be compared
++	 * against the value of the cpu_id field before performing a rseq
++	 * commit or returning a value read from a data structure indexed
++	 * using the cpu_id_start value.
++	 */
++	__u32 cpu_id_start;
++	/*
++	 * Restartable sequences cpu_id field. Updated by the kernel.
++	 * Read by user-space with single-copy atomicity semantics. This
++	 * field should only be read by the thread which registered this
++	 * data structure. Aligned on 32-bit. Values
++	 * RSEQ_CPU_ID_UNINITIALIZED and RSEQ_CPU_ID_REGISTRATION_FAILED
++	 * have a special semantic: the former means "rseq uninitialized",
++	 * and latter means "rseq initialization failed". This value is
++	 * meant to be read within rseq critical sections and compared
++	 * with the cpu_id_start value previously read, before performing
++	 * the commit instruction, or read and compared with the
++	 * cpu_id_start value before returning a value loaded from a data
++	 * structure indexed using the cpu_id_start value.
++	 */
++	__u32 cpu_id;
++	/*
++	 * Restartable sequences rseq_cs field.
++	 *
++	 * Contains NULL when no critical section is active for the current
++	 * thread, or holds a pointer to the currently active struct rseq_cs.
++	 *
++	 * Updated by user-space, which sets the address of the currently
++	 * active rseq_cs at the beginning of assembly instruction sequence
++	 * block, and set to NULL by the kernel when it restarts an assembly
++	 * instruction sequence block, as well as when the kernel detects that
++	 * it is preempting or delivering a signal outside of the range
++	 * targeted by the rseq_cs. Also needs to be set to NULL by user-space
++	 * before reclaiming memory that contains the targeted struct rseq_cs.
++	 *
++	 * Read and set by the kernel. Set by user-space with single-copy
++	 * atomicity semantics. This field should only be updated by the
++	 * thread which registered this data structure. Aligned on 64-bit.
++	 */
++	union {
++		__u64 ptr64;
++#ifdef __LP64__
++		__u64 ptr;
++#else
++		struct {
++#if (defined(__BYTE_ORDER) && (__BYTE_ORDER == __BIG_ENDIAN)) || defined(__BIG_ENDIAN)
++			__u32 padding;		/* Initialized to zero. */
++			__u32 ptr32;
++#else /* LITTLE */
++			__u32 ptr32;
++			__u32 padding;		/* Initialized to zero. */
++#endif /* ENDIAN */
++		} ptr;
++#endif
++	} rseq_cs;
++
++	/*
++	 * Restartable sequences flags field.
++	 *
++	 * This field should only be updated by the thread which
++	 * registered this data structure. Read by the kernel.
++	 * Mainly used for single-stepping through rseq critical sections
++	 * with debuggers.
++	 *
++	 * - RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT
++	 *     Inhibit instruction sequence block restart on preemption
++	 *     for this thread.
++	 * - RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL
++	 *     Inhibit instruction sequence block restart on signal
++	 *     delivery for this thread.
++	 * - RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE
++	 *     Inhibit instruction sequence block restart on migration for
++	 *     this thread.
++	 */
++	__u32 flags;
++} __attribute__((aligned(4 * sizeof(__u64))));
++
++#endif /* _UAPI_LINUX_RSEQ_H */
+-- 
+2.36.1
+
diff --git a/sys-kernel/linux-headers/files/0053-BACKPORT-fanotify-add-support-for-create-attrib-move.patch b/sys-kernel/linux-headers/files/0053-BACKPORT-fanotify-add-support-for-create-attrib-move.patch
new file mode 100644
index 0000000..4472da0
--- /dev/null
+++ b/sys-kernel/linux-headers/files/0053-BACKPORT-fanotify-add-support-for-create-attrib-move.patch
@@ -0,0 +1,60 @@
+From 760d94b23cebb17f89f5cd994f5475d226a39820 Mon Sep 17 00:00:00 2001
+From: Amir Goldstein <amir73il@gmail.com>
+Date: Thu, 10 Jan 2019 19:04:43 +0200
+Subject: [PATCH] BACKPORT: fanotify: add support for create/attrib/move/delete
+ events
+
+Add support for events with data type FSNOTIFY_EVENT_INODE
+(e.g. create/attrib/move/delete) for inode and filesystem mark types.
+
+The "inode" events do not carry enough information (i.e. path) to
+report event->fd, so we do not allow setting a mask for those events
+unless group supports reporting fid.
+
+The "inode" events are not supported on a mount mark, because they do
+not carry enough information (i.e. path) to be filtered by mount point.
+
+The "dirent" events (create/move/delete) report the fid of the parent
+directory where events took place without specifying the filename of the
+child. In the future, fanotify may get support for reporting filename
+information for those events.
+
+Cc: <linux-api@vger.kernel.org>
+Signed-off-by: Amir Goldstein <amir73il@gmail.com>
+Signed-off-by: Jan Kara <jack@suse.cz>
+---
+ include/uapi/linux/fanotify.h      |  8 ++++++++
+ 1 files changed, 8 insertions(+)
+
+diff --git a/include/uapi/linux/fanotify.h b/include/uapi/linux/fanotify.h
+index f79c4e1a84b9a..f9522b381ffb7 100644
+--- a/include/uapi/linux/fanotify.h
++++ b/include/uapi/linux/fanotify.h
+@@ -7,9 +7,16 @@
+ /* the following events that user-space can register for */
+ #define FAN_ACCESS		0x00000001	/* File was accessed */
+ #define FAN_MODIFY		0x00000002	/* File was modified */
++#define FAN_ATTRIB		0x00000004	/* Metadata changed */
+ #define FAN_CLOSE_WRITE		0x00000008	/* Writtable file closed */
+ #define FAN_CLOSE_NOWRITE	0x00000010	/* Unwrittable file closed */
+ #define FAN_OPEN		0x00000020	/* File was opened */
++#define FAN_MOVED_FROM		0x00000040	/* File was moved from X */
++#define FAN_MOVED_TO		0x00000080	/* File was moved to Y */
++#define FAN_CREATE		0x00000100	/* Subfile was created */
++#define FAN_DELETE		0x00000200	/* Subfile was deleted */
++#define FAN_DELETE_SELF		0x00000400	/* Self was deleted */
++#define FAN_MOVE_SELF		0x00000800	/* Self was moved */
+ 
+ #define FAN_Q_OVERFLOW		0x00004000	/* Event queued overflowed */
+ 
+@@ -22,6 +29,7 @@
+ 
+ /* helper events */
+ #define FAN_CLOSE		(FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE) /* close */
++#define FAN_MOVE		(FAN_MOVED_FROM | FAN_MOVED_TO) /* moves */
+ 
+ /* flags used for fanotify_init() */
+ #define FAN_CLOEXEC		0x00000001
+-- 
+2.31.0
+
diff --git a/sys-kernel/linux-headers/files/0054-BACKPORT-LoadPin-Enable-loading-from-trusted-dm-veri.patch b/sys-kernel/linux-headers/files/0054-BACKPORT-LoadPin-Enable-loading-from-trusted-dm-veri.patch
new file mode 100644
index 0000000..e41ea71
--- /dev/null
+++ b/sys-kernel/linux-headers/files/0054-BACKPORT-LoadPin-Enable-loading-from-trusted-dm-veri.patch
@@ -0,0 +1,94 @@
+From 7e50a23e2108b1f8fbe2d9772f9df4031d023b91 Mon Sep 17 00:00:00 2001
+From: Matthias Kaehlcke <mka@chromium.org>
+Date: Mon, 27 Jun 2022 08:35:25 -0700
+Subject: [PATCH] BACKPORT: LoadPin: Enable loading from trusted dm-verity
+ devices
+
+Extend LoadPin to allow loading of kernel files from trusted dm-verity [1]
+devices.
+
+This change adds the concept of trusted verity devices to LoadPin. LoadPin
+maintains a list of root digests of verity devices it considers trusted.
+Userspace can populate this list through an ioctl on the new LoadPin
+securityfs entry 'dm-verity'. The ioctl receives a file descriptor of
+a file with verity digests as parameter. Verity reads the digests from
+this file after confirming that the file is located on the pinned root.
+The digest file must contain one digest per line. The list of trusted
+digests can only be set up once, which is typically done at boot time.
+
+When a kernel file is read LoadPin first checks (as usual) whether the file
+is located on the pinned root, if so the file can be loaded. Otherwise, if
+the verity extension is enabled, LoadPin determines whether the file is
+located on a verity backed device and whether the root digest of that
+device is in the list of trusted digests. The file can be loaded if the
+verity device has a trusted root digest.
+
+Background:
+
+As of now LoadPin restricts loading of kernel files to a single pinned
+filesystem, typically the rootfs. This works for many systems, however it
+can result in a bloated rootfs (and OTA updates) on platforms where
+multiple boards with different hardware configurations use the same rootfs
+image. Especially when 'optional' files are large it may be preferable to
+download/install them only when they are actually needed by a given board.
+Chrome OS uses Downloadable Content (DLC) [2] to deploy certain 'packages'
+at runtime. As an example a DLC package could contain firmware for a
+peripheral that is not present on all boards. DLCs use dm-verity to verify
+the integrity of the DLC content.
+
+[1] https://www.kernel.org/doc/html/latest/admin-guide/device-mapper/verity.html
+[2] https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/dlcservice/docs/developer.md
+
+Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
+Acked-by: Mike Snitzer <snitzer@kernel.org>
+Link: https://lore.kernel.org/lkml/20220627083512.v7.2.I01c67af41d2f6525c6d023101671d7339a9bc8b5@changeid
+Signed-off-by: Kees Cook <keescook@chromium.org>
+
+(cherry picked from commit 3f805f8cc23ba35679dd01446929292911c2b469)
+
+Conflicts:
+  security/loadpin/Kconfig
+  security/loadpin/loadpin.c
+    dropped these changes, we are only interested in the uapi header
+
+BUG=b:230351412
+TEST=none
+
+Change-Id: I01c67af41d2f6525c6d023101671d7339a9bc8b5
+Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
+---
+ include/uapi/linux/loadpin.h | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+ create mode 100644 include/uapi/linux/loadpin.h
+
+diff --git a/include/uapi/linux/loadpin.h b/include/uapi/linux/loadpin.h
+new file mode 100644
+index 000000000000..daa6dbb8bb02
+--- /dev/null
++++ b/include/uapi/linux/loadpin.h
+@@ -0,0 +1,22 @@
++/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
++/*
++ * Copyright (c) 2022, Google LLC
++ */
++
++#ifndef _UAPI_LINUX_LOOP_LOADPIN_H
++#define _UAPI_LINUX_LOOP_LOADPIN_H
++
++#define LOADPIN_IOC_MAGIC	'L'
++
++/**
++ * LOADPIN_IOC_SET_TRUSTED_VERITY_DIGESTS - Set up the root digests of verity devices
++ *                                          that loadpin should trust.
++ *
++ * Takes a file descriptor from which to read the root digests of trusted verity devices. The file
++ * is expected to contain a list of digests in ASCII format, with one line per digest. The ioctl
++ * must be issued on the securityfs attribute 'loadpin/dm-verity' (which can be typically found
++ * under /sys/kernel/security/loadpin/dm-verity).
++ */
++#define LOADPIN_IOC_SET_TRUSTED_VERITY_DIGESTS _IOW(LOADPIN_IOC_MAGIC, 0x00, unsigned int)
++
++#endif /* _UAPI_LINUX_LOOP_LOADPIN_H */
+-- 
+2.37.1.559.g78731f0fdb-goog
+
diff --git a/sys-kernel/linux-headers/linux-headers-4.14-r43.ebuild b/sys-kernel/linux-headers/linux-headers-4.14-r53.ebuild
similarity index 100%
rename from sys-kernel/linux-headers/linux-headers-4.14-r43.ebuild
rename to sys-kernel/linux-headers/linux-headers-4.14-r53.ebuild
diff --git a/sys-kernel/linux-headers/linux-headers-4.14.ebuild b/sys-kernel/linux-headers/linux-headers-4.14.ebuild
index 3e31e78..658f832 100644
--- a/sys-kernel/linux-headers/linux-headers-4.14.ebuild
+++ b/sys-kernel/linux-headers/linux-headers-4.14.ebuild
@@ -47,10 +47,9 @@
 	"${FILESDIR}/0024-UPSTREAM-nl80211-mac80211-mesh-add-hop-count-to-mpath.patch"
 	"${FILESDIR}/0025-UPSTREAM-nl80211-mac80211-mesh-add-mesh-path-change-c.patch"
 	"${FILESDIR}/0026-FROMLIST-Input_add_KEY_KBD_LAYOUT_NEXT.patch"
-	"${FILESDIR}/0027-UPSTREAM-nl80211-include-nl80211_sta_info-enums.patch"
 	"${FILESDIR}/0028-UPSTREAM-media-pixfmt-Add-H264-Slice-format.patch"
 	"${FILESDIR}/0029-BACKPORT-FROMLIST-media-uapi-Add-VP8-stateless-decod.patch"
-	"${FILESDIR}/0030-BACKPORT-sync-enum-nl80211_commands-with-kernel-v5.2.patch"
+	"${FILESDIR}/0030-BACKPORT-sync-nl80211.h-to-v5.8.patch"
 	"${FILESDIR}/0031-FROMLIST-media-pixfmt-Add-Mediatek-ISP-P1-image-meta.patch"
 	"${FILESDIR}/0032-BACKPORT-add-udmabuf-header.patch"
 	"${FILESDIR}/0033-FROMGIT-Input-add-privacy-screen-toggle-keycode.patch"
@@ -62,7 +61,6 @@
 	"${FILESDIR}/0039-BACKPORT-net-qualcomm-rmnet-Export-mux_id-and-flags-to-netlink.patch"
 	"${FILESDIR}/0040-CHROMIUM-v4l2-add-upstream-V4L2-H.264-stateless-cont.patch"
 	"${FILESDIR}/0040-BACKPORT-y2038-add-64-bit-time_t-syscalls-to-all-32-.patch"
-	"${FILESDIR}/0041-CHROMIUM-v4l-add-request-based-VP9-stateless-control.patch"
 	"${FILESDIR}/0042-CHROMIUM-linux-headers-update-headers-with-UVC-1.5-R.patch"
 	"${FILESDIR}/0043-BACKPORT-vfs-add-faccessat2-syscall.patch"
 	"${FILESDIR}/0044-CHROMIUM-v4l2-controls-use-very-high-ID-for-ROI-auto.patch"
@@ -71,6 +69,11 @@
 	"${FILESDIR}/0047-BACKPORT-drm-add-panfrost_drm.h.patch"
 	"${FILESDIR}/0048-ASoC-SOF-Add-userspace-ABI-support.patch"
 	"${FILESDIR}/0049-CHROMIUM-v4l2-add-finalized-upstream-V4L2-VP9-statel.patch"
+	"${FILESDIR}/0050-BACKPORT-media-videodev2.h-Add-v4l2-definition-for-HEVC.patch"
+	"${FILESDIR}/0051-CHROMIUM-v4l2-add-upstream-work-in-progress-V4L2-AV1.patch"
+	"${FILESDIR}/0052-BACKPORT-add-rseq-syscall-definitions.patch"
+	"${FILESDIR}/0053-BACKPORT-fanotify-add-support-for-create-attrib-move.patch"
+	"${FILESDIR}/0054-BACKPORT-LoadPin-Enable-loading-from-trusted-dm-veri.patch"
 )
 
 src_unpack() {
diff --git a/sys-kernel/metadata.xml b/sys-kernel/metadata.xml
deleted file mode 100644
index 16c8a6d..0000000
--- a/sys-kernel/metadata.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The sys-kernel category contains kernel source ebuilds and
-		kernel-related tools.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría sys-kernel contiene las fuentes del núcleo y herramientas
-		relacionadas con este.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie sys-kernel enthält Ebuilds für Kernelquellen
-		sowie damit in Zusammenhang stehende Pakete.
-	</longdescription>
-	<longdescription lang="ja">
-		sys-kernelカテゴリにはカーネルソースebuildとカーネル関連ツールが含まれます。
-	</longdescription>
-	<longdescription lang="nl">
-		De sys-kernel categorie bevat ebuilds voor kernelbroncode en gerelateerde
-		hulpmiddelen.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm sys-kernel chứa ebuild mã nguồn kernel và các công cụ
-		liên quan đến kernel.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria sys-kernel contiene i sorgenti del kernel e alcuni programmi
-		per la sua gestione come genkernel.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria sys-kernel contém ebuilds de fonte de kernel e
-		ferramentas relacionadas a kernel.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria sys-kernel zawiera źródła jądra oraz związane z nimi narzędzia.
-	</longdescription>
-</catmetadata>
-
diff --git a/sys-libs/OWNERS b/sys-libs/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/sys-libs/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/sys-libs/compiler-rt/compiler-rt-14.0_pre445002-r1.ebuild b/sys-libs/compiler-rt/compiler-rt-14.0_pre445002-r1.ebuild
deleted file mode 120000
index 9355097..0000000
--- a/sys-libs/compiler-rt/compiler-rt-14.0_pre445002-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-compiler-rt-14.0_pre445002.ebuild
\ No newline at end of file
diff --git a/sys-libs/compiler-rt/compiler-rt-14.0_pre445002.ebuild b/sys-libs/compiler-rt/compiler-rt-14.0_pre445002.ebuild
deleted file mode 100644
index f482f77..0000000
--- a/sys-libs/compiler-rt/compiler-rt-14.0_pre445002.ebuild
+++ /dev/null
@@ -1,147 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=6
-
-CROS_WORKON_REPO="${CROS_GIT_HOST_URL}"
-CROS_WORKON_PROJECT="external/github.com/llvm/llvm-project"
-CROS_WORKON_LOCALNAME="llvm-project"
-CROS_WORKON_MANUAL_UPREV=1
-
-inherit eutils toolchain-funcs cros-constants cmake-utils git-2 cros-llvm cros-workon
-
-EGIT_REPO_URI="${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project
-	${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project"
-EGIT_BRANCH=main
-
-LLVM_HASH="18308e171b5b1dd99627a4d88c7d6c5ff21b8c96" # r445002
-LLVM_NEXT_HASH="18308e171b5b1dd99627a4d88c7d6c5ff21b8c96" # r445002
-
-DESCRIPTION="Compiler runtime library for clang"
-HOMEPAGE="http://compiler-rt.llvm.org/"
-
-LICENSE="UoI-NCSA"
-SLOT="0"
-KEYWORDS="*"
-if [[ "${PV}" == "9999" ]]; then
-	KEYWORDS="~*"
-fi
-IUSE="+llvm-crt llvm-next llvm-tot"
-DEPEND="sys-devel/llvm"
-if [[ ${CATEGORY} == cross-* ]] ; then
-	DEPEND+="
-		${CATEGORY}/binutils
-		${CATEGORY}/gcc
-		"
-fi
-
-pkg_setup() {
-	export CMAKE_USE_DIR="${S}/compiler-rt"
-}
-
-src_unpack() {
-	if use llvm-next || use llvm-tot; then
-		export EGIT_COMMIT="${LLVM_NEXT_HASH}"
-	else
-		export EGIT_COMMIT="${LLVM_HASH}"
-	fi
-	if [[ "${PV}" != "9999" ]]; then
-		CROS_WORKON_COMMIT="${EGIT_COMMIT}"
-	fi
-	cros-workon_src_unpack
-}
-
-src_prepare() {
-	"${FILESDIR}"/patch_manager/patch_manager.py \
-		--svn_version "$(get_most_recent_revision)" \
-		--patch_metadata_file "${FILESDIR}"/PATCHES.json \
-		--filesdir_path "${FILESDIR}" \
-		--src_path "${S}" || die
-	eapply_user
-}
-
-src_configure() {
-	setup_cross_toolchain
-	append-flags "-fomit-frame-pointer"
-	# CTARGET is defined in an eclass, which shellcheck won't see
-	# shellcheck disable=SC2154
-	if [[ ${CTARGET} == armv7a* ]]; then
-		# Use vfpv3 to be able to target non-neon targets
-		append-flags -mfpu=vfpv3
-	elif [[ ${CTARGET} == armv7m* ]]; then
-		# Some of the arm32 assembly builtins in compiler-rt need vfpv2.
-		# Passing this flag should not be required but currently
-		# upstream compiler-rt's cmake config does not provide a way to
-		# exclude these asm files.
-		append-flags -Wa,-mfpu=vfpv2
-	fi
-	BUILD_DIR=${WORKDIR}/${P}_build
-
-	local mycmakeargs=(
-		"-DLLVM_ENABLE_PROJECTS=compiler-rt"
-		"-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY"
-		# crbug/855759
-		"-DCOMPILER_RT_BUILD_CRT=$(usex llvm-crt)"
-		"-DCOMPILER_RT_USE_LIBCXX=yes"
-		"-DCOMPILER_RT_LIBCXXABI_PATH=${S}/libcxxabi"
-		"-DCOMPILER_RT_LIBCXX_PATH=${S}/libcxx"
-		"-DCOMPILER_RT_HAS_GNU_VERSION_SCRIPT_COMPAT=no"
-		"-DCOMPILER_RT_BUILD_LIBFUZZER=yes"
-		"-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF"
-		"-DCOMPILER_RT_SANITIZERS_TO_BUILD=asan;msan;hwasan;tsan;cfi;ubsan_minimal;gwp_asan"
-		# b/200831212: Disable per runtime install dirs.
-		"-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF"
-		# b/204220308: Disable OCR since we are not using it.
-		"-DCOMPILER_RT_BUILD_ORC=OFF"
-	)
-
-	if [[ ${CTARGET} == *-eabi ]]; then
-		mycmakeargs+=(
-			"-DCOMPILER_RT_OS_DIR=baremetal"
-			"-DCOMPILER_RT_BAREMETAL_BUILD=yes"
-			"-DCMAKE_C_COMPILER_TARGET=${CTARGET}"
-			"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=yes"
-		)
-	else
-		mycmakeargs+=(
-			"-DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=${CTARGET}"
-			"-DCOMPILER_RT_TEST_TARGET_TRIPLE=${CTARGET}"
-		)
-	fi
-	mycmakeargs+=(
-		"-DCOMPILER_RT_INSTALL_PATH=${EPREFIX}$(${CC} --print-resource-dir)"
-	)
-	cmake-utils_src_configure
-}
-
-src_install() {
-	# There is install conflict between cross-armv7a-cros-linux-gnueabihf
-	# and cross-armv7a-cros-linux-gnueabi. Remove this once we are ready to
-	# move to cross-armv7a-cros-linux-gnueabihf.
-	if [[ ${CTARGET} == armv7a-cros-linux-gnueabi ]] ; then
-		return
-	fi
-	cmake-utils_src_install
-
-	# includes and docs are installed for all sanitizers and xray
-	# These files conflict with files provided in llvm ebuild
-	local libdir=$(llvm-config --libdir)
-	rm -rf "${ED}"usr/share || die
-	rm -rf "${ED}${libdir}"/clang/*/include || die
-	rm -f "${ED}${libdir}"/clang/*/*list.txt || die
-	rm -f "${ED}${libdir}"/clang/*/*/*list.txt || die
-	rm -f "${ED}${libdir}"/clang/*/dfsan_abilist.txt || die
-	rm -f "${ED}${libdir}"/clang/*/*/dfsan_abilist.txt || die
-	rm -f "${ED}${libdir}"/clang/*/bin/* || die
-
-	# Copy compiler-rt files to a new clang version to handle llvm updates gracefully.
-	local llvm_version=$(llvm-config --version)
-	local clang_version=${llvm_version%svn*}
-	clang_version=${clang_version%git*}
-	local compiler_rt_version=${clang_version%%.*}
-	new_version="$((compiler_rt_version + 1)).0.0"
-	old_version="$((compiler_rt_version - 1)).0.0"
-	cp -r  "${D}${libdir}/clang/${clang_version}" "${D}${libdir}/clang/${new_version}"
-	cp -r  "${D}${libdir}/clang/${clang_version}" "${D}${libdir}/clang/${old_version}"
-}
diff --git a/sys-libs/compiler-rt/compiler-rt-15.0_pre458507-r6.ebuild b/sys-libs/compiler-rt/compiler-rt-15.0_pre458507-r6.ebuild
new file mode 120000
index 0000000..69259b1
--- /dev/null
+++ b/sys-libs/compiler-rt/compiler-rt-15.0_pre458507-r6.ebuild
@@ -0,0 +1 @@
+compiler-rt-15.0_pre458507.ebuild
\ No newline at end of file
diff --git a/sys-libs/compiler-rt/compiler-rt-15.0_pre458507.ebuild b/sys-libs/compiler-rt/compiler-rt-15.0_pre458507.ebuild
new file mode 100644
index 0000000..41e27cb
--- /dev/null
+++ b/sys-libs/compiler-rt/compiler-rt-15.0_pre458507.ebuild
@@ -0,0 +1,173 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+CROS_WORKON_REPO="${CROS_GIT_HOST_URL}"
+CROS_WORKON_PROJECT="external/github.com/llvm/llvm-project"
+CROS_WORKON_LOCALNAME="llvm-project"
+CROS_WORKON_MANUAL_UPREV=1
+
+inherit eutils toolchain-funcs cros-constants cmake-utils git-2 cros-llvm cros-workon
+
+EGIT_REPO_URI="${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project
+	${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project"
+EGIT_BRANCH=main
+
+LLVM_HASH="a58d0af058038595c93de961b725f86997cf8d4a" # r458507
+LLVM_NEXT_HASH="db1978b67431ca3462ad8935bf662c15750b8252" # r465103
+
+DESCRIPTION="Compiler runtime library for clang"
+HOMEPAGE="http://compiler-rt.llvm.org/"
+
+LICENSE="UoI-NCSA"
+SLOT="0"
+KEYWORDS="*"
+if [[ "${PV}" == "9999" ]]; then
+	KEYWORDS="~*"
+fi
+IUSE="+llvm-crt llvm-next llvm-tot continue-on-patch-failure"
+DEPEND="sys-devel/llvm"
+if [[ ${CATEGORY} == cross-* ]] ; then
+	DEPEND+="
+		${CATEGORY}/binutils
+		${CATEGORY}/gcc
+		"
+fi
+if [[ ${CATEGORY} == cross-*linux-gnu* ]] ; then
+	DEPEND+="${CATEGORY}/libxcrypt"
+fi
+
+pkg_setup() {
+	export CMAKE_USE_DIR="${S}/compiler-rt"
+}
+
+src_unpack() {
+	if use llvm-next || use llvm-tot; then
+		export EGIT_COMMIT="${LLVM_NEXT_HASH}"
+	else
+		export EGIT_COMMIT="${LLVM_HASH}"
+	fi
+	if [[ "${PV}" != "9999" ]]; then
+		CROS_WORKON_COMMIT="${EGIT_COMMIT}"
+	fi
+	cros-workon_src_unpack
+}
+
+src_prepare() {
+	local failure_mode
+	failure_mode="$(usex continue-on-patch-failure continue fail)"
+	"${FILESDIR}"/patch_manager/patch_manager.py \
+		--svn_version "$(get_most_recent_revision)" \
+		--patch_metadata_file "${FILESDIR}"/PATCHES.json \
+		--failure_mode "${failure_mode}" \
+		--src_path "${S}" || die
+	eapply_user
+}
+
+src_configure() {
+	setup_cross_toolchain
+	append-flags "-fomit-frame-pointer"
+	# CTARGET is defined in an eclass, which shellcheck won't see
+	# shellcheck disable=SC2154
+	if [[ ${CTARGET} == armv7a* ]]; then
+		# Use vfpv3 to be able to target non-neon targets
+		append-flags -mfpu=vfpv3
+	elif [[ ${CTARGET} == armv7m* ]]; then
+		# b/234507656: Specify FPU to indicate hardware floating point is
+		# available.
+		append-flags -mfpu=vfpv2
+	fi
+	BUILD_DIR=${WORKDIR}/${P}_build
+
+	local mycmakeargs=(
+		"-DLLVM_ENABLE_PROJECTS=compiler-rt"
+		"-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY"
+		# crbug/855759
+		"-DCOMPILER_RT_BUILD_CRT=$(usex llvm-crt)"
+		"-DCOMPILER_RT_USE_LIBCXX=yes"
+		"-DCOMPILER_RT_LIBCXXABI_PATH=${S}/libcxxabi"
+		"-DCOMPILER_RT_LIBCXX_PATH=${S}/libcxx"
+		"-DCOMPILER_RT_HAS_GNU_VERSION_SCRIPT_COMPAT=no"
+		"-DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF"
+		"-DCOMPILER_RT_SANITIZERS_TO_BUILD=asan;msan;hwasan;tsan;cfi;ubsan_minimal;gwp_asan"
+		# b/200831212: Disable per runtime install dirs.
+		"-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF"
+		# b/204220308: Disable ORC since we are not using it.
+		"-DCOMPILER_RT_BUILD_ORC=OFF"
+		"-DCOMPILER_RT_INSTALL_PATH=${EPREFIX}$(${CC} --print-resource-dir)"
+	)
+
+	if is_baremetal_abi; then
+		# Options for baremetal toolchains e.g. armv7m-cros-eabi.
+		append-flags -Oz # Optimize for smallest size.
+
+		mycmakeargs+=(
+			"-DCMAKE_POSITION_INDEPENDENT_CODE=OFF"
+			"-DCOMPILER_RT_BUILTINS_ENABLE_PIC=OFF"
+			"-DCOMPILER_RT_OS_DIR=baremetal"
+			"-DCOMPILER_RT_BAREMETAL_BUILD=yes"
+			"-DCMAKE_C_COMPILER_TARGET=${CTARGET}"
+			"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=yes"
+			"-DCOMPILER_RT_BUILD_CRT=OFF"
+			"-DCOMPILER_RT_BUILD_SANITIZERS=no"
+			"-DCOMPILER_RT_BUILD_LIBFUZZER=no"
+		)
+		# b/205342596: This is a hack to provide armv6m builtins for use with
+		# arm-none-eabi without creating a separate armv6m toolchain.
+		if [[ ${CTARGET} == arm-none-eabi ]]; then
+			append-flags "-march=armv6m --sysroot=/usr/arm-none-eabi"
+			mycmakeargs+=( "-DCMAKE_C_COMPILER_TARGET=armv6m-none-eabi" )
+		fi
+	else
+		# Standard userspace toolchains e.g. armv7a-cros-linux-gnueabihf.
+		mycmakeargs+=(
+			"-DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=${CTARGET}"
+			"-DCOMPILER_RT_TEST_TARGET_TRIPLE=${CTARGET}"
+			"-DCOMPILER_RT_BUILD_LIBFUZZER=yes"
+			"-DCOMPILER_RT_BUILD_SANITIZERS=yes"
+		)
+	fi
+	cmake-utils_src_configure
+}
+
+src_install() {
+	# There is install conflict between cross-armv7a-cros-linux-gnueabihf
+	# and cross-armv7a-cros-linux-gnueabi. Remove this once we are ready to
+	# move to cross-armv7a-cros-linux-gnueabihf.
+	if [[ ${CTARGET} == armv7a-cros-linux-gnueabi ]] ; then
+		return
+	fi
+	cmake-utils_src_install
+
+	# includes and docs are installed for all sanitizers and xray
+	# These files conflict with files provided in llvm ebuild
+	local libdir=$(llvm-config --libdir)
+	rm -rf "${ED}"usr/share || die
+	rm -rf "${ED}${libdir}"/clang/*/include || die
+	rm -f "${ED}${libdir}"/clang/*/*list.txt || die
+	rm -f "${ED}${libdir}"/clang/*/*/*list.txt || die
+	rm -f "${ED}${libdir}"/clang/*/dfsan_abilist.txt || die
+	rm -f "${ED}${libdir}"/clang/*/*/dfsan_abilist.txt || die
+	rm -f "${ED}${libdir}"/clang/*/bin/* || die
+
+	if is_baremetal_abi; then
+		# Verify that no relocations are generated for baremetal.
+		local elf_file
+		while read -r elf_file; do
+			$(tc-getREADELF) --relocs "${elf_file}" | grep GOT && \
+				die "Unexpected GOT relocations found in ${elf_file}"
+		done < <(scanelf -RByF '%F' "${D}")
+	fi
+
+	# Copy compiler-rt files to a new clang version to handle llvm updates gracefully.
+	local llvm_version=$(llvm-config --version)
+	local clang_version=${llvm_version%svn*}
+	clang_version=${clang_version%git*}
+	local compiler_rt_version=${clang_version%%.*}
+	new_version="$((compiler_rt_version + 1)).0.0"
+	old_version="$((compiler_rt_version - 1)).0.0"
+	cp -r  "${D}${libdir}/clang/${clang_version}" "${D}${libdir}/clang/${new_version}"
+	cp -r  "${D}${libdir}/clang/${clang_version}" "${D}${libdir}/clang/${old_version}"
+}
diff --git a/sys-libs/compiler-rt/files/1f82d0f795d11376adf3e62fc35fd98bb46e82b0.patch b/sys-libs/compiler-rt/files/1f82d0f795d11376adf3e62fc35fd98bb46e82b0.patch
new file mode 100644
index 0000000..63b2ed9
--- /dev/null
+++ b/sys-libs/compiler-rt/files/1f82d0f795d11376adf3e62fc35fd98bb46e82b0.patch
@@ -0,0 +1,237 @@
+commit 1f82d0f795d11376adf3e62fc35fd98bb46e82b0
+Author: Manoj Gupta <manojgupta@google.com>
+Date:   Mon Mar 14 14:19:37 2022 -0700
+
+    [msan] Add interceptors for Linux 64-bit stat variants
+    
+    glibc >= 2.33 uses shared functions for stat family functions.
+    D111984 added support for non-64 bit variants but they
+    do not appear to be enough as we have been noticing msan
+    errors on 64-bit stat variants on Chrome OS.
+    
+    Reviewed By: vitalybuka
+    
+    Differential Revision: https://reviews.llvm.org/D121652
+
+diff --git a/compiler-rt/lib/msan/msan_interceptors.cpp b/compiler-rt/lib/msan/msan_interceptors.cpp
+index dbe18ce37509..d745fa7563d9 100644
+--- a/compiler-rt/lib/msan/msan_interceptors.cpp
++++ b/compiler-rt/lib/msan/msan_interceptors.cpp
+@@ -666,6 +666,19 @@ INTERCEPTOR(int, fstat, int fd, void *buf) {
+ #define MSAN_MAYBE_INTERCEPT_FSTAT
+ #endif
+ 
++#if SANITIZER_STAT_LINUX
++INTERCEPTOR(int, fstat64, int fd, void *buf) {
++  ENSURE_MSAN_INITED();
++  int res = REAL(fstat64)(fd, buf);
++  if (!res)
++    __msan_unpoison(buf, __sanitizer::struct_stat64_sz);
++  return res;
++}
++#  define MSAN_MAYBE_INTERCEPT_FSTAT64 MSAN_INTERCEPT_FUNC(fstat64)
++#else
++#  define MSAN_MAYBE_INTERCEPT_FSTAT64
++#endif
++
+ #if SANITIZER_GLIBC
+ INTERCEPTOR(int, __fxstat, int magic, int fd, void *buf) {
+   ENSURE_MSAN_INITED();
+@@ -704,6 +717,19 @@ INTERCEPTOR(int, fstatat, int fd, char *pathname, void *buf, int flags) {
+ #  define MSAN_MAYBE_INTERCEPT_FSTATAT
+ #endif
+ 
++#if SANITIZER_STAT_LINUX
++INTERCEPTOR(int, fstatat64, int fd, char *pathname, void *buf, int flags) {
++  ENSURE_MSAN_INITED();
++  int res = REAL(fstatat64)(fd, pathname, buf, flags);
++  if (!res)
++    __msan_unpoison(buf, __sanitizer::struct_stat64_sz);
++  return res;
++}
++#  define MSAN_MAYBE_INTERCEPT_FSTATAT64 MSAN_INTERCEPT_FUNC(fstatat64)
++#else
++#  define MSAN_MAYBE_INTERCEPT_FSTATAT64
++#endif
++
+ #if SANITIZER_GLIBC
+ INTERCEPTOR(int, __fxstatat, int magic, int fd, char *pathname, void *buf,
+             int flags) {
+@@ -1691,8 +1717,10 @@ void InitializeInterceptors() {
+   INTERCEPT_FUNCTION(gettimeofday);
+   MSAN_MAYBE_INTERCEPT_FCVT;
+   MSAN_MAYBE_INTERCEPT_FSTAT;
++  MSAN_MAYBE_INTERCEPT_FSTAT64;
+   MSAN_MAYBE_INTERCEPT___FXSTAT;
+   MSAN_MAYBE_INTERCEPT_FSTATAT;
++  MSAN_MAYBE_INTERCEPT_FSTATAT64;
+   MSAN_MAYBE_INTERCEPT___FXSTATAT;
+   MSAN_MAYBE_INTERCEPT___FXSTAT64;
+   MSAN_MAYBE_INTERCEPT___FXSTATAT64;
+diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
+index eeeeb1622ff5..18b023078441 100644
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
+@@ -6941,6 +6941,23 @@ INTERCEPTOR(int, stat, const char *path, void *buf) {
+ #define INIT_STAT
+ #endif
+ 
++#if SANITIZER_INTERCEPT_STAT64
++INTERCEPTOR(int, stat64, const char *path, void *buf) {
++  void *ctx;
++  COMMON_INTERCEPTOR_ENTER(ctx, stat64, path, buf);
++  if (common_flags()->intercept_stat)
++    COMMON_INTERCEPTOR_READ_STRING(ctx, path, 0);
++  int res = REAL(stat64)(path, buf);
++  if (!res)
++    COMMON_INTERCEPTOR_WRITE_RANGE(ctx, buf, __sanitizer::struct_stat64_sz);
++  return res;
++}
++#define INIT_STAT64 COMMON_INTERCEPT_FUNCTION(stat64)
++#else
++#define INIT_STAT64
++#endif
++
++
+ #if SANITIZER_INTERCEPT_LSTAT
+ INTERCEPTOR(int, lstat, const char *path, void *buf) {
+   void *ctx;
+@@ -6957,6 +6974,22 @@ INTERCEPTOR(int, lstat, const char *path, void *buf) {
+ #define INIT_LSTAT
+ #endif
+ 
++#if SANITIZER_INTERCEPT_STAT64
++INTERCEPTOR(int, lstat64, const char *path, void *buf) {
++  void *ctx;
++  COMMON_INTERCEPTOR_ENTER(ctx, lstat64, path, buf);
++  if (common_flags()->intercept_stat)
++    COMMON_INTERCEPTOR_READ_STRING(ctx, path, 0);
++  int res = REAL(lstat64)(path, buf);
++  if (!res)
++    COMMON_INTERCEPTOR_WRITE_RANGE(ctx, buf, __sanitizer::struct_stat64_sz);
++  return res;
++}
++#define INIT_LSTAT64 COMMON_INTERCEPT_FUNCTION(lstat64)
++#else
++#define INIT_LSTAT64
++#endif
++
+ #if SANITIZER_INTERCEPT___XSTAT
+ INTERCEPTOR(int, __xstat, int version, const char *path, void *buf) {
+   void *ctx;
+@@ -10516,8 +10549,10 @@ static void InitializeCommonInterceptors() {
+   INIT_RECV_RECVFROM;
+   INIT_SEND_SENDTO;
+   INIT_STAT;
++  INIT_STAT64;
+   INIT_EVENTFD_READ_WRITE;
+   INIT_LSTAT;
++  INIT_LSTAT64;
+   INIT___XSTAT;
+   INIT___XSTAT64;
+   INIT___LXSTAT;
+diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
+index 14610f2df78d..4c9677d20c08 100644
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
+@@ -465,6 +465,7 @@
+ #define SANITIZER_INTERCEPT_STAT                                        \
+   (SI_FREEBSD || SI_MAC || SI_ANDROID || SI_NETBSD || SI_SOLARIS ||     \
+    SI_STAT_LINUX)
++#define SANITIZER_INTERCEPT_STAT64 SI_STAT_LINUX
+ #define SANITIZER_INTERCEPT_LSTAT (SI_NETBSD || SI_FREEBSD || SI_STAT_LINUX)
+ #define SANITIZER_INTERCEPT___XSTAT \
+   ((!SANITIZER_INTERCEPT_STAT && SI_POSIX) || SI_STAT_LINUX)
+diff --git a/compiler-rt/test/msan/fstat64.cpp b/compiler-rt/test/msan/fstat64.cpp
+new file mode 100644
+index 000000000000..8e3a6d553bfc
+--- /dev/null
++++ b/compiler-rt/test/msan/fstat64.cpp
+@@ -0,0 +1,16 @@
++// REQUIRES: linux
++// RUN: %clangxx_msan -O0 %s -o %t && %run %t
++
++#include <stdlib.h>
++#include <sys/stat.h>
++
++int main(void) {
++  struct stat64 st;
++  if (fstat64(0, &st))
++    exit(1);
++
++  if (S_ISBLK(st.st_mode))
++    exit(0);
++
++  return 0;
++}
+diff --git a/compiler-rt/test/msan/fstatat64.cpp b/compiler-rt/test/msan/fstatat64.cpp
+new file mode 100644
+index 000000000000..253299c45669
+--- /dev/null
++++ b/compiler-rt/test/msan/fstatat64.cpp
+@@ -0,0 +1,18 @@
++// REQUIRES: linux
++// RUN: %clangxx_msan -O0 %s -o %t && %run %t
++
++#include <cassert>
++#include <cstdlib>
++#include <fcntl.h>
++#include <sys/stat.h>
++
++int main(void) {
++  struct stat64 st;
++  int dirfd = open("/dev", O_RDONLY);
++  if (fstatat64(dirfd, "null", &st, 0))
++    exit(1);
++
++  assert(S_ISCHR(st.st_mode));
++
++  return 0;
++}
+diff --git a/compiler-rt/test/msan/stat64.cpp b/compiler-rt/test/msan/stat64.cpp
+new file mode 100644
+index 000000000000..a1280a0de37d
+--- /dev/null
++++ b/compiler-rt/test/msan/stat64.cpp
+@@ -0,0 +1,16 @@
++// REQUIRES: linux
++// RUN: %clangxx_msan -O0 %s -o %t && %run %t
++
++#include <cassert>
++#include <cstdlib>
++#include <sys/stat.h>
++
++int main(void) {
++  struct stat64 st;
++  if (stat64("/dev/null", &st))
++    exit(1);
++
++  assert(S_ISCHR(st.st_mode));
++
++  return 0;
++}
+diff --git a/compiler-rt/test/sanitizer_common/TestCases/Posix/lstat64.cpp b/compiler-rt/test/sanitizer_common/TestCases/Posix/lstat64.cpp
+new file mode 100644
+index 000000000000..22ab3068274e
+--- /dev/null
++++ b/compiler-rt/test/sanitizer_common/TestCases/Posix/lstat64.cpp
+@@ -0,0 +1,19 @@
++// REQUIRES: linux
++// RUN: %clangxx -O0 -g %s -o %t && %run %t
++
++#include <assert.h>
++#include <stdlib.h>
++#include <sys/stat.h>
++
++int main(void) {
++  struct stat64 st;
++
++  assert(!lstat64("/dev/null", &st));
++#if defined(__sun__) && defined(__svr4__)
++  assert(S_ISLNK(st.st_mode));
++#else
++  assert(S_ISCHR(st.st_mode));
++#endif
++
++  return 0;
++}
diff --git a/sys-libs/compiler-rt/files/PATCHES.json b/sys-libs/compiler-rt/files/PATCHES.json
index b0128f5..9de4d35 100644
--- a/sys-libs/compiler-rt/files/PATCHES.json
+++ b/sys-libs/compiler-rt/files/PATCHES.json
@@ -1,6 +1,5 @@
 [
     {
-        "end_version": 414798,
         "metadata": {
             "info": [],
             "title": "Adds a allowlist of packages that have known memory leaks"
@@ -9,10 +8,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "llvm-next-leak-allowlist.v2.patch",
-        "start_version": 370808
+        "version_range": {
+            "from": 370808,
+            "until": 414798
+        }
     },
     {
-        "end_version": null,
         "metadata": {
             "info": [],
             "title": "Adds a allowlist of packages that have known memory leaks"
@@ -21,10 +22,26 @@
             "chromiumos"
         ],
         "rel_patch_path": "llvm-leak-allowlist.v3.patch",
-        "start_version": 414798
+        "version_range": {
+            "from": 414798,
+            "until": 445947
+        }
     },
     {
-        "end_version": 408666,
+        "metadata": {
+            "info": [],
+            "title": "Adds a allowlist of packages that have known memory leaks"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "llvm-leak-allowlist.v4.patch",
+        "version_range": {
+            "from": 445947,
+            "until": null
+        }
+    },
+    {
         "metadata": {
             "info": [],
             "title": "Sets the ASAN message to go to /va/log/asan${pid} by\ndefault"
@@ -33,10 +50,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "clang-4.0-asan-default-path.patch",
-        "start_version": 0
+        "version_range": {
+            "from": 0,
+            "until": 408666
+        }
     },
     {
-        "end_version": null,
         "metadata": {
             "info": [],
             "title": "Sets the ASAN message to go to /va/log/asan${pid} by\ndefault"
@@ -45,10 +64,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "clang-12.0-asan-default-path.patch",
-        "start_version": 408666
+        "version_range": {
+            "from": 408666,
+            "until": null
+        }
     },
     {
-        "end_version": 401725,
         "metadata": {
             "info": [],
             "title": "[msan] Support %ms in scanf."
@@ -57,10 +78,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "aa57cabae2fc5abc08ab3e17b45f2890fc7c9e42.patch",
-        "start_version": 394483
+        "version_range": {
+            "from": 394483,
+            "until": 401725
+        }
     },
     {
-        "end_version": 408314,
         "metadata": {
             "info": [],
             "title": "Fix compiler-rt build on Windows after D89640"
@@ -69,10 +92,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "a7acee89d68473183cc5021d952a56cdf0ae27d3.patch",
-        "start_version": 408224
+        "version_range": {
+            "from": 408224,
+            "until": 408314
+        }
     },
     {
-        "end_version": 408400,
         "metadata": {
             "info": [],
             "title": "Revert \"[Sanitizers] Remove OpenBSD support\" + 1"
@@ -81,10 +106,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "7ecd60bb7022bb681b9dc01a9c232fd93b4b169c.patch",
-        "start_version": 408224
+        "version_range": {
+            "from": 408224,
+            "until": 408400
+        }
     },
     {
-        "end_version": 426368,
         "metadata": {
             "info": [],
             "title": "[clang] accept -fsanitize-ignorelist= in addition to -fsanitize-blacklist="
@@ -93,10 +120,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "d7ec48d71bd67118e7996c45e9c7fb1b09d4f59a.patch",
-        "start_version": 422132
+        "version_range": {
+            "from": 422132,
+            "until": 426368
+        }
     },
     {
-        "end_version": 430742,
         "metadata": {
             "info": [],
             "title": "Revert \"[cmake] [compiler-rt] Call llvm_setup_rpath() when adding shared libraries.\""
@@ -105,10 +134,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "21c008d5a5b1e0c2ec3c1659cff961f4b0ccea2c.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 430742
+        }
     },
     {
-        "end_version": 429795,
         "metadata": {
             "info": [],
             "title": "[compiler-rt] [builtins] [AArch64] Add missing AArch64 data synchronization barrier (dsb) to __clear_cache"
@@ -117,10 +148,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "6455418d3d2a2de1a8251cc2ccf2e87b9ae3112d.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 429795
+        }
     },
     {
-        "end_version": 433927,
         "metadata": {
             "info": [],
             "title": "Revert \"sanitizer_common: split LibIgnore into fast/slow paths\""
@@ -129,10 +162,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "35e76a939cabbaa40aeeb572c3cf4039c3077fdf.patch",
-        "start_version": 432235
+        "version_range": {
+            "from": 432235,
+            "until": 433927
+        }
     },
     {
-        "end_version": 434778,
         "metadata": {
             "info": [],
             "title": "[compiler-rt] [builtins] [arm32] Enable ARM32 fuzzing support"
@@ -141,10 +176,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "fuzzer-enable-arm32.patch",
-        "start_version": 433403
+        "version_range": {
+            "from": 433403,
+            "until": 434778
+        }
     },
     {
-        "end_version": 444177,
         "metadata": {
             "info": [],
             "title": "[compiler-rt] [builtins] [arm32] Enable ARM32 fuzzing support"
@@ -153,10 +190,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "2782cb8da0b3c180fa7c8627cb255a026f3d25a2.patch",
-        "start_version": 434778
+        "version_range": {
+            "from": 434778,
+            "until": 444177
+        }
     },
     {
-        "end_version": 442917,
         "metadata": {
             "info": [],
             "title": "[compiler-rt] Produce the right arch suffix for arm baremetal"
@@ -165,10 +204,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "db27867dfc95257faf5baa40436370df67647847.patch",
-        "start_version": 433403
+        "version_range": {
+            "from": 433403,
+            "until": 442917
+        }
     },
     {
-        "end_version": 441343,
         "metadata": {
             "info": [],
             "title": "[msan] Add stat-family interceptors on Linux"
@@ -177,10 +218,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "4e1a6c07052b466a2a1cd0c3ff150e4e89a6d87a.patch",
-        "start_version": 433403
+        "version_range": {
+            "from": 433403,
+            "until": 441343
+        }
     },
     {
-        "end_version": 452761,
         "metadata": {
             "info": [],
             "title": "[sanitizer] Check if directory exists before trying to create"
@@ -190,6 +233,37 @@
             "chromiumos"
         ],
         "rel_patch_path": "634da7a1c61ee8c173e90a841eb1f4ea03caa20b.patch",
-        "start_version": 438528
+        "version_range": {
+            "from": 438528,
+            "until": 452761
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[msan] Add interceptors for Linux 64-bit stat variants"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "1f82d0f795d11376adf3e62fc35fd98bb46e82b0.patch",
+        "version_range": {
+            "from": 450752,
+            "until": 455926
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[ubsan] Fix print_stacktrace=1:fast_unwind_on_fatal=0 to correctly fallback to fast unwinder"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "fdd424e37abf3fa411c07f1e08fee72cfe7bb25b.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 458762
+        }
     }
 ]
diff --git a/sys-libs/compiler-rt/files/clang-12.0-asan-default-path.patch b/sys-libs/compiler-rt/files/clang-12.0-asan-default-path.patch
index 92ead6e..c5f8307 100644
--- a/sys-libs/compiler-rt/files/clang-12.0-asan-default-path.patch
+++ b/sys-libs/compiler-rt/files/clang-12.0-asan-default-path.patch
@@ -1,6 +1,8 @@
 By default, the ASAN message goes to STDERR. This causes problem if we cannot
 log the ASAN message, and we can not figure out why the ASAN check fails.
-This change set the ASAN message goes to /va/log/asan${pid} by default.
+This change set the ASAN message goes to /var/log/asan${pid} by default.
+
+As a workaround for b/223869781, this is set to /tmp/asan.
 --- a/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
 +++ b/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
 @@ -52,7 +52,7 @@ COMMON_FLAG(bool, handle_ioctl, false, "Intercept and handle ioctl requests.")
@@ -8,7 +10,7 @@
              "Max number of stack frames kept for each allocation/deallocation.")
  COMMON_FLAG(
 -    const char *, log_path, nullptr,
-+    const char *, log_path, "/var/log/asan/asan",
++    const char *, log_path, "/tmp/asan",
      "Write logs to \"log_path.pid\". The special values are \"stdout\" and "
      "\"stderr\". If unspecified, defaults to \"stderr\".")
  COMMON_FLAG(
diff --git a/sys-libs/compiler-rt/files/fdd424e37abf3fa411c07f1e08fee72cfe7bb25b.patch b/sys-libs/compiler-rt/files/fdd424e37abf3fa411c07f1e08fee72cfe7bb25b.patch
new file mode 100644
index 0000000..0e45e2b
--- /dev/null
+++ b/sys-libs/compiler-rt/files/fdd424e37abf3fa411c07f1e08fee72cfe7bb25b.patch
@@ -0,0 +1,71 @@
+commit fdd424e37abf3fa411c07f1e08fee72cfe7bb25b
+Author: Fangrui Song <i@maskray.me>
+Date:   Tue Apr 12 11:24:19 2022 -0700
+
+    [ubsan] Fix print_stacktrace=1:fast_unwind_on_fatal=0 to correctly fallback to fast unwinder
+    
+    ubsan_GetStackTrace (from 52b751088b11547e0f4ef0589ebbe5e57752c68c) called by
+    ~ScopeReport leaves top/bottom zeroes in the
+    `!WillUseFastUnwind(request_fast_unwind)` code path.
+    When BufferedStackTrace::Unwind falls back to UnwindFast,
+    `if (stack_top < 4096) return;` will return early, leaving just one frame in the stack trace.
+    
+    Fix this by always initializing top/bottom like 261d6e05d5574bec753ea6b7e9a7f99229927753.
+    
+    Reviewed By: eugenis, yln
+    
+    Differential Revision: https://reviews.llvm.org/D123562
+
+diff --git a/compiler-rt/lib/ubsan/ubsan_diag.cpp b/compiler-rt/lib/ubsan/ubsan_diag.cpp
+index 8de51bc18770..3673e66539d0 100644
+--- a/compiler-rt/lib/ubsan/ubsan_diag.cpp
++++ b/compiler-rt/lib/ubsan/ubsan_diag.cpp
+@@ -32,15 +32,13 @@ using namespace __ubsan;
+ // Windows.
+ // TODO(yln): This is a temporary workaround. GetStackTrace functions will be
+ // removed in the future.
+-void ubsan_GetStackTrace(BufferedStackTrace *stack, uptr max_depth,
+-                         uptr pc, uptr bp, void *context, bool fast) {
++void ubsan_GetStackTrace(BufferedStackTrace *stack, uptr max_depth, uptr pc,
++                         uptr bp, void *context, bool request_fast) {
+   uptr top = 0;
+   uptr bottom = 0;
+-  if (StackTrace::WillUseFastUnwind(fast)) {
+-    GetThreadStackTopAndBottom(false, &top, &bottom);
+-    stack->Unwind(max_depth, pc, bp, nullptr, top, bottom, true);
+-  } else
+-    stack->Unwind(max_depth, pc, bp, context, 0, 0, false);
++  GetThreadStackTopAndBottom(false, &top, &bottom);
++  bool fast = StackTrace::WillUseFastUnwind(request_fast);
++  stack->Unwind(max_depth, pc, bp, context, top, bottom, fast);
+ }
+ 
+ static void MaybePrintStackTrace(uptr pc, uptr bp) {
+diff --git a/compiler-rt/test/ubsan/TestCases/Misc/Linux/diag-stacktrace.cpp b/compiler-rt/test/ubsan/TestCases/Misc/Linux/diag-stacktrace.cpp
+new file mode 100644
+index 000000000000..02e7a3d9c12e
+--- /dev/null
++++ b/compiler-rt/test/ubsan/TestCases/Misc/Linux/diag-stacktrace.cpp
+@@ -0,0 +1,22 @@
++/// Fast unwinder does not work with Thumb code
++// UNSUPPORTED: thumb
++
++// RUN: %clangxx -fsanitize=return %gmlt -O2 -fno-omit-frame-pointer -fasynchronous-unwind-tables %s -o %t
++// RUN: %env_ubsan_opts=print_stacktrace=1:fast_unwind_on_fatal=0 not %run %t 2>&1 | FileCheck %s
++// RUN: %env_ubsan_opts=print_stacktrace=1:fast_unwind_on_fatal=1 not %run %t 2>&1 | FileCheck %s
++// RUN: %clangxx -fsanitize=return %gmlt -O2 -fno-omit-frame-pointer -fno-exceptions -fno-asynchronous-unwind-tables %s -o %t
++// RUN: %env_ubsan_opts=print_stacktrace=1:fast_unwind_on_fatal=0 not %run %t 2>&1 | FileCheck %s
++// RUN: %env_ubsan_opts=print_stacktrace=1:fast_unwind_on_fatal=1 not %run %t 2>&1 | FileCheck %s
++
++// CHECK:      runtime error: execution reached the end of a value-returning function without returning a value
++// CHECK-NEXT: #0 {{.*}}f() {{.*}}.cpp:[[#@LINE+1]]
++__attribute__((noinline)) int f() {}
++
++// CHECK-NEXT: #1 {{.*}}g() {{.*}}.cpp:[[#@LINE+1]]
++__attribute__((noinline)) void g() { f(); }
++
++// CHECK-NEXT: #2 {{.*}}h() {{.*}}.cpp:[[#@LINE+1]]
++__attribute__((noinline)) void h() { g(); }
++
++// CHECK-NEXT: #3 {{.*}}main {{.*}}.cpp:[[#@LINE+1]]
++int main() { h(); }
diff --git a/sys-libs/compiler-rt/files/llvm-leak-allowlist.v4.patch b/sys-libs/compiler-rt/files/llvm-leak-allowlist.v4.patch
new file mode 100644
index 0000000..0a9f9330
--- /dev/null
+++ b/sys-libs/compiler-rt/files/llvm-leak-allowlist.v4.patch
@@ -0,0 +1,78 @@
+This adds an allowlist of packages that have known memory leaks.
+So that the leak detector will not report memory leaks from these packages.
+diff --git a/lib/sanitizer_common/sanitizer_flags.inc b/lib/sanitizer_common/sanitizer_flags.inc
+index 58f7f37..bf97783 100644
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
+@@ -152,7 +152,7 @@ COMMON_FLAG(const char *, coverage_dir, ".",
+ COMMON_FLAG(bool, full_address_space, false,
+             "Sanitize complete address space; "
+             "by default kernel area on 32-bit platforms will not be sanitized")
+-COMMON_FLAG(bool, print_suppressions, true,
++COMMON_FLAG(bool, print_suppressions, false,
+             "Print matched suppressions at exit.")
+ COMMON_FLAG(
+     bool, disable_coredump, (SANITIZER_WORDSIZE == 64),
+
+diff --git a/lib/lsan/lsan_default_suppression.h b/lib/lsan/lsan_default_suppression.h
+new file mode 100644
+index 0000000..91aa484
+--- /dev/null
++++ b/compiler-rt/lib/lsan/lsan_default_suppression.h
+@@ -0,0 +1,34 @@
++namespace __lsan {
++
++char kLSanDefaultSuppressions[] =
++// ================ Leaks in third-party code ================
++
++// False positives in libfontconfig. http://crbug.com/39050
++"leak:libfontconfig\n"
++
++// Leaks in Nvidia's libGL.
++"leak:libGL.so\n"
++
++"leak:libnssutil3\n"
++"leak:libnspr4\n"
++"leak:libnss3\n"
++"leak:libplds4\n"
++"leak:libnssckbi\n"
++
++// XRandR has several one time leaks.
++"leak:libxrandr\n"
++
++// xrandr leak. http://crbug.com/119677
++"leak:XRRFindDisplay\n"
++
++// leak on session_manager. http://crbug.com/378805
++"leak:/sbin/session_manager\n"
++
++// leak on cryptohome. http://crbug.com/508281
++"leak:/usr/sbin/cryptohome\n"
++
++// leak on buffet. http://crbug.com/473700
++//"leak:/usr/bin/buffet\n"
++// End of suppressions.
++;  // Please keep this semicolon.
++}
+
+diff --git a/compiler-rt/lib/lsan/lsan_common.cpp b/compiler-rt/lib/lsan/lsan_common.cpp
+index ac7536757743..bb4b5c5a6169 100644
+--- a/compiler-rt/lib/lsan/lsan_common.cpp
++++ b/compiler-rt/lib/lsan/lsan_common.cpp
+@@ -12,6 +12,7 @@
+ //===----------------------------------------------------------------------===//
+ 
+ #include "lsan_common.h"
++#include "lsan_default_suppression.h"
+ 
+ #include "sanitizer_common/sanitizer_common.h"
+ #include "sanitizer_common/sanitizer_flag_parser.h"
+@@ -126,6 +127,8 @@ void LeakSuppressionContext::LazyInit() {
+     if (&__lsan_default_suppressions)
+       context.Parse(__lsan_default_suppressions());
+     context.Parse(kStdSuppressions);
++    context.Parse(kLSanDefaultSuppressions);
++
+     if (flags()->use_tls && flags()->use_ld_allocations)
+       suppress_module = GetLinker();
+   } 
diff --git a/sys-libs/gcc-libs/OWNERS b/sys-libs/gcc-libs/OWNERS
new file mode 100644
index 0000000..31243ec
--- /dev/null
+++ b/sys-libs/gcc-libs/OWNERS
@@ -0,0 +1 @@
+include chromiumos/third_party/toolchain-utils:/OWNERS.toolchain
diff --git a/sys-libs/gcc-libs/gcc-libs-10.2.0-r3.ebuild b/sys-libs/gcc-libs/gcc-libs-10.2.0-r4.ebuild
similarity index 100%
rename from sys-libs/gcc-libs/gcc-libs-10.2.0-r3.ebuild
rename to sys-libs/gcc-libs/gcc-libs-10.2.0-r4.ebuild
diff --git a/sys-libs/gcc-libs/gcc-libs-10.2.0.ebuild b/sys-libs/gcc-libs/gcc-libs-10.2.0.ebuild
index 885f10b..093becd 100644
--- a/sys-libs/gcc-libs/gcc-libs-10.2.0.ebuild
+++ b/sys-libs/gcc-libs/gcc-libs-10.2.0.ebuild
@@ -2,217 +2,22 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-4.4.3-r3.ebuild,v 1.1 2010/06/19 01:53:09 zorry Exp $
 
-# TODO(toolchain): This should not be building the compiler just to build
-# the target libs.  It should re-use the existing system cross compiler.
+# TODO(b/234782625): This package is empty as no GCC libraries are installed
+# to devices. It should be removed once all dependencies
+# on it are removed.
 
 EAPI=7
 
-inherit eutils binutils-funcs
-
 DESCRIPTION="The GNU Compiler Collection. This builds and installs the libgcc, libstdc++, and libgo libraries.  It is board-specific."
+SRC_URI=""
 
 LICENSE="GPL-3 LGPL-3 FDL-1.2"
-KEYWORDS="*"
-IUSE="go hardened hardfp libatomic +thumb vtable_verify +libunwind"
-REQUIRED_USE="go? ( libatomic )"
-
-: ${CTARGET:=${CHOST}}
-
 SLOT="0"
+KEYWORDS="*"
+if [[ "${PV}" == "9999" ]]; then
+	KEYWORDS="~*"
+fi
+IUSE="go hardened hardfp libatomic +thumb vtable_verify +libunwind"
 
-PREFIX="/usr"
-
-SRC_URI="mirror://gnu/gcc/gcc-${PV}/gcc-${PV}.tar.xz"
-
-S="${WORKDIR}/gcc-${PV}"
-MY_BUILDDIR="${WORKDIR}/build"
-
-src_configure() {
-	if [[ -f ${MY_BUILDDIR}/Makefile ]]; then
-		ewarn "Skipping configure due to existing build output"
-		return
-	fi
-	cros_use_gcc
-
-	# Unset CC and CXX to let gcc-libs select the right compiler.
-	unset CC CXX
-
-	local confgcc=(
-		--prefix=/usr
-		--bindir=/delete-me
-		--datadir=/delete-me
-		--includedir=/delete-me
-		--with-gxx-include-dir=/delete-me
-		--libdir="/usr/$(get_libdir)"
-		--with-slibdir="/usr/$(get_libdir)"
-		# Disable install of python helpers in the target.
-		--without-python-dir
-
-		--build=${CBUILD}
-		--host=${CBUILD}
-		--target=${CHOST}
-		--with-sysroot=/usr/${CTARGET}
-		--enable-__cxa_atexit
-		--disable-bootstrap
-		--enable-checking=release
-		--enable-linker-build-id
-		--disable-libstdcxx-pch
-		--enable-libgomp
-		$(use_enable libatomic)
-
-		# Disable libs we do not care about.
-		--disable-libitm
-		--disable-libmudflap
-		--disable-libquadmath
-		--disable-libssp
-		--disable-lto
-		--disable-multilib
-		--disable-openmp
-		--disable-libcilkrts
-		--with-system-zlib
-		--disable-libsanitizer
-	)
-
-	GCC_LANG="c,c++"
-	use go && GCC_LANG+=",go"
-	confgcc+=( --enable-languages=${GCC_LANG} )
-
-	if use vtable_verify; then
-		confgcc+=(
-			--enable-cxx-flags=-Wl,-L../libsupc++/.libs
-			--enable-vtable-verify
-		)
-	fi
-
-	# Handle target-specific options.
-	case ${CTARGET} in
-	arm*)	#264534
-		local arm_arch="${CTARGET%%-*}"
-		# Only do this if arm_arch is armv*
-		if [[ ${arm_arch} == armv* ]]; then
-			# Convert armv7{a,r,m} to armv7-{a,r,m}
-			[[ ${arm_arch} == armv7? ]] && arm_arch=${arm_arch/7/7-}
-			# Remove endian ('l' / 'eb')
-			[[ ${arm_arch} == *l ]] && arm_arch=${arm_arch%l}
-			[[ ${arm_arch} == *eb ]] && arm_arch=${arm_arch%eb}
-			confgcc+=(
-				--with-arch=${arm_arch}
-				--disable-esp
-			)
-			if use hardfp; then
-				confgcc+=( --with-float=hard )
-				case ${CTARGET} in
-					armv6*) confgcc+=( --with-fpu=vfp ) ;;
-					armv7a*) confgcc+=( --with-fpu=vfpv3 ) ;;
-					armv7m*) confgcc+=( --with-fpu=vfpv2 ) ;;
-				esac
-			fi
-			use thumb && confgcc+=( --with-mode=thumb )
-		fi
-		;;
-	i?86*)
-		# Hardened is enabled for x86, but disabled for ARM.
-		confgcc+=(
-			--enable-esp
-			--with-arch=atom
-			--with-tune=atom
-			# Remove this once crash2 supports larger symbols.
-			# http://code.google.com/p/chromium-os/issues/detail?id=23321
-			--enable-frame-pointer
-		)
-		;;
-	x86_64*-gnux32)
-		confgcc+=( --with-abi=x32 --with-multilib-list=mx32 )
-		;;
-	esac
-
-	# Finally add the user options (if any).
-	confgcc+=( ${EXTRA_ECONF} )
-
-	# Build in a separate build tree.
-	mkdir -p "${MY_BUILDDIR}" || die
-	cd "${MY_BUILDDIR}" || die
-
-	# This is necessary because the emerge-${BOARD} machinery sometimes
-	# adds machine-specific options to thsee flags that are not
-	# appropriate for configuring and building the compiler libraries.
-	export CFLAGS='-g -O2 -pipe'
-	export CXXFLAGS='-g -O2 -pipe'
-	export LDFLAGS="-Wl,-O2 -Wl,--as-needed"
-
-	# and now to do the actual configuration
-	addwrite /dev/zero
-	echo "Running this:"
-	echo "${S}"/configure "${confgcc[@]}"
-	"${S}"/configure "${confgcc[@]}" || die
-}
-
-src_compile() {
-	cd "${MY_BUILDDIR}"
-	GCC_CFLAGS="${CFLAGS}"
-	local target_flags=()
-	local target_go_flags=()
-
-	if use hardened; then
-		target_flags+=( -fstack-protector-strong -D_FORTIFY_SOURCE=2 )
-	fi
-
-	EXTRA_CFLAGS_FOR_TARGET="${target_flags[*]} ${CFLAGS_FOR_TARGET}"
-	EXTRA_CXXFLAGS_FOR_TARGET="${target_flags[*]} ${CXXFLAGS_FOR_TARGET}"
-
-	if use vtable_verify; then
-		EXTRA_CXXFLAGS_FOR_TARGET+=" -fvtable-verify=std"
-	fi
-
-	# libgo on arm must be compiled with -marm. Go's panic/recover functionality
-	# is broken in thumb mode.
-	if [[ ${CTARGET} == arm* ]]; then
-		target_go_flags+=( -marm )
-	fi
-	EXTRA_GOCFLAGS_FOR_TARGET="${target_go_flags[*]} ${GOCFLAGS_FOR_TARGET}"
-
-	# Do not link libgcc with gold. That is known to fail on internal linker
-	# errors. See crosbug.com/16719
-	local LD_NON_GOLD="$(get_binutils_path_ld ${CTARGET})/ld"
-
-	# TODO(toolchain): This should not be needed.
-	export CHOST="${CBUILD}"
-
-	emake CFLAGS="${GCC_CFLAGS}" \
-		LDFLAGS="-Wl,-O1" \
-		CFLAGS_FOR_TARGET="$(get_make_var CFLAGS_FOR_TARGET) ${EXTRA_CFLAGS_FOR_TARGET}" \
-		CXXFLAGS_FOR_TARGET="$(get_make_var CXXFLAGS_FOR_TARGET) ${EXTRA_CXXFLAGS_FOR_TARGET}" \
-		GOCFLAGS_FOR_TARGET="$(get_make_var GOCFLAGS_FOR_TARGET) ${EXTRA_GOCFLAGS_FOR_TARGET}" \
-		LD_FOR_TARGET="${LD_NON_GOLD}" \
-		all-target
-}
-
-src_install() {
-	cd "${MY_BUILDDIR}"
-	emake -C "${CTARGET}"/libstdc++-v3/src DESTDIR="${D}" install
-	emake -C "${CTARGET}"/libgcc DESTDIR="${D}" install-shared
-	if use libatomic; then
-		emake -C "${CTARGET}"/libatomic DESTDIR="${D}" install
-	fi
-	if use go; then
-		emake -C "${CTARGET}"/libgo DESTDIR="${D}" install
-	fi
-
-	# Delete everything we don't care about (headers/etc...).
-	rm -rf "${D}"/delete-me "${D}"/usr/$(get_libdir)/gcc/${CTARGET}/
-	find "${D}" -name '*.py' -delete
-
-	# Move the libraries to the proper location.  Many target libs do not
-	# make this a configure option but hardcode the toolexeclibdir when
-	# they're being cross-compiled.
-	dolib.so "${D}"/usr/${CTARGET}/$(get_libdir)/lib*.so*
-	use libunwind && rm -f "${D}"/usr/$(get_libdir)/libgcc_s*
-	rm -rf "${D}"/usr/${CTARGET}
-}
-
-# Grab a variable from the build system (taken from linux-info.eclass)
-get_make_var() {
-	local var=$1 makefile=${2:-${MY_BUILDDIR}/Makefile}
-	echo -e "e:\\n\\t@echo \$(${var})\\ninclude ${makefile}" | \
-		r=${makefile%/*} emake --no-print-directory -s -f - 2>/dev/null
-}
+RDEPEND=""
+DEPEND=""
diff --git a/sys-libs/glibc/glibc-2.33-r16.ebuild b/sys-libs/glibc/glibc-2.33-r17.ebuild
similarity index 100%
rename from sys-libs/glibc/glibc-2.33-r16.ebuild
rename to sys-libs/glibc/glibc-2.33-r17.ebuild
diff --git a/sys-libs/ldb/OWNERS b/sys-libs/ldb/OWNERS
new file mode 100644
index 0000000..1261db2
--- /dev/null
+++ b/sys-libs/ldb/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/smbfs/OWNERS
diff --git a/sys-libs/libcxx/files/23d6cde14de352e05c66ae34cd237e3a7a8955d1.patch b/sys-libs/libcxx/files/23d6cde14de352e05c66ae34cd237e3a7a8955d1.patch
new file mode 100644
index 0000000..966536f
--- /dev/null
+++ b/sys-libs/libcxx/files/23d6cde14de352e05c66ae34cd237e3a7a8955d1.patch
@@ -0,0 +1,3679 @@
+commit 23d6cde14de352e05c66ae34cd237e3a7a8955d1
+Author: Louis Dionne <ldionne.2@gmail.com>
+Date:   Mon Jun 20 17:10:53 2022 -0400
+
+    [libc++] Add a test to pin down the set of transitive public includes
+    
+    A situation that happens fairly often in libc++ is that we remove some
+    transitive includes in a header (either purposefully or not) and that
+    ends up breaking users. Of course, we want to be able to remove our
+    transitive includes, however it's also good to have a grip on that
+    to know which commit changed what and when. Furthermore, it's good
+    to accumulate include removals for a couple of releases to avoid
+    breaking users at every release for this reason.
+    
+    This commit adds a test that should break whenever we remove an
+    include. Hence, it should allow us to track which headers include
+    which other headers transitively, giving us a traceable way to
+    remove headers.
+    
+    Differential Revision: https://reviews.llvm.org/D128236
+
+diff --git a/libcxx/include/__debug b/libcxx/include/__debug
+index 403710600b0d..d3dd202b54ab 100644
+--- a/libcxx/include/__debug
++++ b/libcxx/include/__debug
+@@ -12,6 +12,7 @@
+ 
+ #include <__assert>
+ #include <__config>
++#include <cstddef>
+ #include <type_traits>
+ 
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+@@ -51,10 +52,6 @@
+ 
+ #if defined(_LIBCPP_ENABLE_DEBUG_MODE) || defined(_LIBCPP_BUILDING_LIBRARY)
+ 
+-#include <cstddef>
+-#include <cstdio>
+-#include <cstdlib>
+-
+ _LIBCPP_BEGIN_NAMESPACE_STD
+ 
+ struct _LIBCPP_TYPE_VIS __c_node;
+diff --git a/libcxx/include/locale b/libcxx/include/locale
+index b95a64168777..8ac2aacb6edf 100644
+--- a/libcxx/include/locale
++++ b/libcxx/include/locale
+@@ -201,9 +201,7 @@ template <class charT> class messages_byname;
+ #include <__iterator/istreambuf_iterator.h>
+ #include <__iterator/ostreambuf_iterator.h>
+ #include <__locale>
+-#ifndef __APPLE__
+-# include <cstdarg>
+-#endif
++#include <cstdarg> // TODO: Remove this include
+ #include <cstdio>
+ #include <cstdlib>
+ #include <ctime>
+diff --git a/libcxx/test/libcxx/lint/lit.local.cfg b/libcxx/test/libcxx/lit.local.cfg
+similarity index 100%
+rename from libcxx/test/libcxx/lint/lit.local.cfg
+rename to libcxx/test/libcxx/lit.local.cfg
+diff --git a/libcxx/test/libcxx/selftest/dsl/lit.local.cfg b/libcxx/test/libcxx/selftest/dsl/lit.local.cfg
+index ccadd41765a7..ce4a32346816 100644
+--- a/libcxx/test/libcxx/selftest/dsl/lit.local.cfg
++++ b/libcxx/test/libcxx/selftest/dsl/lit.local.cfg
+@@ -12,7 +12,3 @@ import base64, lit.util, pickle
+ base64Encode = lambda s: lit.util.to_string(base64.b64encode(lit.util.to_bytes(s)))
+ escapedSubstitutions = base64Encode(pickle.dumps(config.substitutions))
+ config.substitutions.append(('%{substitutions}', escapedSubstitutions))
+-
+-# The tests in this directory need to run Python
+-import pipes, sys
+-config.substitutions.append(('%{python}', pipes.quote(sys.executable)))
+diff --git a/libcxx/test/libcxx/transitive_includes.sanitize.py b/libcxx/test/libcxx/transitive_includes.sanitize.py
+new file mode 100755
+index 000000000000..caf2b2cf8b4c
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes.sanitize.py
+@@ -0,0 +1,33 @@
++#!/usr/bin/env python
++#===----------------------------------------------------------------------===##
++#
++# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++# See https://llvm.org/LICENSE.txt for license information.
++# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
++#
++#===----------------------------------------------------------------------===##
++
++# This script reads lines from standard input and looks for the names of public C++ headers.
++# Specifically, it looks for lines of the form 'c++/v1/header' where 'header' is the name
++# of a public C++ header, excluding C compatibility headers.
++
++import os
++import re
++import sys
++
++headers = []
++for line in sys.stdin.readlines():
++  match = re.search('c\+\+/v[0-9]+/(.+)', line)
++  if not match:
++    continue
++
++  header = match.group(1)
++  if os.path.basename(header).endswith('.h'): # Skip C headers
++    continue
++
++  if os.path.basename(header).startswith('__'): # Skip internal headers
++    continue
++
++  headers.append(header)
++
++print('\n'.join(sorted(set(headers))))
+diff --git a/libcxx/test/libcxx/transitive_includes.sh.cpp b/libcxx/test/libcxx/transitive_includes.sh.cpp
+new file mode 100644
+index 000000000000..7c4ff67d62e4
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes.sh.cpp
+@@ -0,0 +1,674 @@
++//===----------------------------------------------------------------------===//
++//
++// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++// See https://llvm.org/LICENSE.txt for license information.
++// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
++//
++//===----------------------------------------------------------------------===//
++
++// Test that we don't remove transitive includes of public C++ headers in the library accidentally.
++// When we remove a transitive public include, clients tend to break because they don't always
++// properly include what they use. Note that we don't check which system (C) headers are
++// included transitively, because that is too unstable across platforms, and hence difficult
++// to test for.
++//
++// This is not meant to block libc++ from removing unused transitive includes
++// forever, however we do try to group removals for a couple of releases
++// to avoid breaking users at every release.
++
++// This test doesn't support being run when some headers are not available, since we
++// would need to add significant complexity to make that work.
++// UNSUPPORTED: no-localization, no-threads, no-wide-characters, no-filesystem, libcpp-has-no-incomplete-format, libcpp-has-no-incomplete-ranges
++
++// This test only supports being run with the latest Standard, otherwise we'd
++// have to support various versions of the test.
++// UNSUPPORTED: c++03, c++11, c++14, c++17, c++20
++
++// When built with modules, this test doesn't work because --trace-includes doesn't
++// report the stack of includes correctly.
++// UNSUPPORTED: modules-build
++
++// This test uses --trace-includes, which is not supported by GCC.
++// UNSUPPORTED: gcc
++
++// This test doesn't work on AIX or Windows, but it should. Needs investigation.
++// XFAIL: buildhost=aix6, buildhost=windows
++
++// Prevent <ext/hash_map> from generating deprecated warnings for this test.
++#if defined(__DEPRECATED)
++#    undef __DEPRECATED
++#endif
++
++/*
++BEGIN-SCRIPT
++
++import re
++
++# To re-generate the list of expected headers, temporarily set this to True, re-generate
++# the file and run this test.
++regenerate_expected_results = False
++
++# Used because the sequence of tokens RUN : can't appear anywhere or it'll confuse Lit.
++RUN = "RUN"
++
++if regenerate_expected_results:
++  print(f"// {RUN}: rm -rf %S/transitive_includes")
++  print(f"// {RUN}: mkdir %S/transitive_includes")
++
++for i, header in enumerate(public_headers):
++  if header.endswith('.h'): # Skip C compatibility headers
++    continue
++
++  normalized_header = re.sub('/', '_', header)
++  trace_includes = "%{{cxx}} %s %{{flags}} %{{compile_flags}} --trace-includes -fsyntax-only -DTEST_{} 2>&1".format(i)
++  if regenerate_expected_results:
++    print(f"// {RUN}: {trace_includes} | %{{python}} %S/transitive_includes.sanitize.py > %S/transitive_includes/expected.{normalized_header}")
++  else:
++    print(f"// {RUN}: {trace_includes} | %{{python}} %S/transitive_includes.sanitize.py > %t.actual.{normalized_header}")
++    print(f"// {RUN}: diff %S/transitive_includes/expected.{normalized_header} %t.actual.{normalized_header}")
++
++  print("#if defined(TEST_{})".format(i))
++  print("#include <{}>".format(header))
++  print("#endif")
++
++END-SCRIPT
++*/
++
++// DO NOT MANUALLY EDIT ANYTHING BETWEEN THE MARKERS BELOW
++// GENERATED-MARKER
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_0 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.algorithm
++// RUN: diff %S/transitive_includes/expected.algorithm %t.actual.algorithm
++#if defined(TEST_0)
++#include <algorithm>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_1 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.any
++// RUN: diff %S/transitive_includes/expected.any %t.actual.any
++#if defined(TEST_1)
++#include <any>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_2 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.array
++// RUN: diff %S/transitive_includes/expected.array %t.actual.array
++#if defined(TEST_2)
++#include <array>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_3 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.atomic
++// RUN: diff %S/transitive_includes/expected.atomic %t.actual.atomic
++#if defined(TEST_3)
++#include <atomic>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_4 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.barrier
++// RUN: diff %S/transitive_includes/expected.barrier %t.actual.barrier
++#if defined(TEST_4)
++#include <barrier>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_5 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.bit
++// RUN: diff %S/transitive_includes/expected.bit %t.actual.bit
++#if defined(TEST_5)
++#include <bit>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_6 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.bitset
++// RUN: diff %S/transitive_includes/expected.bitset %t.actual.bitset
++#if defined(TEST_6)
++#include <bitset>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_7 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cassert
++// RUN: diff %S/transitive_includes/expected.cassert %t.actual.cassert
++#if defined(TEST_7)
++#include <cassert>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_8 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ccomplex
++// RUN: diff %S/transitive_includes/expected.ccomplex %t.actual.ccomplex
++#if defined(TEST_8)
++#include <ccomplex>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_9 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cctype
++// RUN: diff %S/transitive_includes/expected.cctype %t.actual.cctype
++#if defined(TEST_9)
++#include <cctype>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_10 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cerrno
++// RUN: diff %S/transitive_includes/expected.cerrno %t.actual.cerrno
++#if defined(TEST_10)
++#include <cerrno>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_11 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cfenv
++// RUN: diff %S/transitive_includes/expected.cfenv %t.actual.cfenv
++#if defined(TEST_11)
++#include <cfenv>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_12 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cfloat
++// RUN: diff %S/transitive_includes/expected.cfloat %t.actual.cfloat
++#if defined(TEST_12)
++#include <cfloat>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_13 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.charconv
++// RUN: diff %S/transitive_includes/expected.charconv %t.actual.charconv
++#if defined(TEST_13)
++#include <charconv>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_14 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.chrono
++// RUN: diff %S/transitive_includes/expected.chrono %t.actual.chrono
++#if defined(TEST_14)
++#include <chrono>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_15 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cinttypes
++// RUN: diff %S/transitive_includes/expected.cinttypes %t.actual.cinttypes
++#if defined(TEST_15)
++#include <cinttypes>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_16 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ciso646
++// RUN: diff %S/transitive_includes/expected.ciso646 %t.actual.ciso646
++#if defined(TEST_16)
++#include <ciso646>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_17 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.climits
++// RUN: diff %S/transitive_includes/expected.climits %t.actual.climits
++#if defined(TEST_17)
++#include <climits>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_18 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.clocale
++// RUN: diff %S/transitive_includes/expected.clocale %t.actual.clocale
++#if defined(TEST_18)
++#include <clocale>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_19 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cmath
++// RUN: diff %S/transitive_includes/expected.cmath %t.actual.cmath
++#if defined(TEST_19)
++#include <cmath>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_20 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.codecvt
++// RUN: diff %S/transitive_includes/expected.codecvt %t.actual.codecvt
++#if defined(TEST_20)
++#include <codecvt>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_21 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.compare
++// RUN: diff %S/transitive_includes/expected.compare %t.actual.compare
++#if defined(TEST_21)
++#include <compare>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_22 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.complex
++// RUN: diff %S/transitive_includes/expected.complex %t.actual.complex
++#if defined(TEST_22)
++#include <complex>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_24 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.concepts
++// RUN: diff %S/transitive_includes/expected.concepts %t.actual.concepts
++#if defined(TEST_24)
++#include <concepts>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_25 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.condition_variable
++// RUN: diff %S/transitive_includes/expected.condition_variable %t.actual.condition_variable
++#if defined(TEST_25)
++#include <condition_variable>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_26 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.coroutine
++// RUN: diff %S/transitive_includes/expected.coroutine %t.actual.coroutine
++#if defined(TEST_26)
++#include <coroutine>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_27 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.csetjmp
++// RUN: diff %S/transitive_includes/expected.csetjmp %t.actual.csetjmp
++#if defined(TEST_27)
++#include <csetjmp>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_28 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.csignal
++// RUN: diff %S/transitive_includes/expected.csignal %t.actual.csignal
++#if defined(TEST_28)
++#include <csignal>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_29 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cstdarg
++// RUN: diff %S/transitive_includes/expected.cstdarg %t.actual.cstdarg
++#if defined(TEST_29)
++#include <cstdarg>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_30 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cstdbool
++// RUN: diff %S/transitive_includes/expected.cstdbool %t.actual.cstdbool
++#if defined(TEST_30)
++#include <cstdbool>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_31 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cstddef
++// RUN: diff %S/transitive_includes/expected.cstddef %t.actual.cstddef
++#if defined(TEST_31)
++#include <cstddef>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_32 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cstdint
++// RUN: diff %S/transitive_includes/expected.cstdint %t.actual.cstdint
++#if defined(TEST_32)
++#include <cstdint>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_33 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cstdio
++// RUN: diff %S/transitive_includes/expected.cstdio %t.actual.cstdio
++#if defined(TEST_33)
++#include <cstdio>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_34 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cstdlib
++// RUN: diff %S/transitive_includes/expected.cstdlib %t.actual.cstdlib
++#if defined(TEST_34)
++#include <cstdlib>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_35 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cstring
++// RUN: diff %S/transitive_includes/expected.cstring %t.actual.cstring
++#if defined(TEST_35)
++#include <cstring>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_36 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ctgmath
++// RUN: diff %S/transitive_includes/expected.ctgmath %t.actual.ctgmath
++#if defined(TEST_36)
++#include <ctgmath>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_37 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ctime
++// RUN: diff %S/transitive_includes/expected.ctime %t.actual.ctime
++#if defined(TEST_37)
++#include <ctime>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_39 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cuchar
++// RUN: diff %S/transitive_includes/expected.cuchar %t.actual.cuchar
++#if defined(TEST_39)
++#include <cuchar>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_40 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cwchar
++// RUN: diff %S/transitive_includes/expected.cwchar %t.actual.cwchar
++#if defined(TEST_40)
++#include <cwchar>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_41 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cwctype
++// RUN: diff %S/transitive_includes/expected.cwctype %t.actual.cwctype
++#if defined(TEST_41)
++#include <cwctype>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_42 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.deque
++// RUN: diff %S/transitive_includes/expected.deque %t.actual.deque
++#if defined(TEST_42)
++#include <deque>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_44 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.exception
++// RUN: diff %S/transitive_includes/expected.exception %t.actual.exception
++#if defined(TEST_44)
++#include <exception>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_45 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.execution
++// RUN: diff %S/transitive_includes/expected.execution %t.actual.execution
++#if defined(TEST_45)
++#include <execution>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_47 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.filesystem
++// RUN: diff %S/transitive_includes/expected.filesystem %t.actual.filesystem
++#if defined(TEST_47)
++#include <filesystem>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_49 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.format
++// RUN: diff %S/transitive_includes/expected.format %t.actual.format
++#if defined(TEST_49)
++#include <format>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_50 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.forward_list
++// RUN: diff %S/transitive_includes/expected.forward_list %t.actual.forward_list
++#if defined(TEST_50)
++#include <forward_list>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_51 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.fstream
++// RUN: diff %S/transitive_includes/expected.fstream %t.actual.fstream
++#if defined(TEST_51)
++#include <fstream>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_52 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.functional
++// RUN: diff %S/transitive_includes/expected.functional %t.actual.functional
++#if defined(TEST_52)
++#include <functional>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_53 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.future
++// RUN: diff %S/transitive_includes/expected.future %t.actual.future
++#if defined(TEST_53)
++#include <future>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_54 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.initializer_list
++// RUN: diff %S/transitive_includes/expected.initializer_list %t.actual.initializer_list
++#if defined(TEST_54)
++#include <initializer_list>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_56 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.iomanip
++// RUN: diff %S/transitive_includes/expected.iomanip %t.actual.iomanip
++#if defined(TEST_56)
++#include <iomanip>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_57 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ios
++// RUN: diff %S/transitive_includes/expected.ios %t.actual.ios
++#if defined(TEST_57)
++#include <ios>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_58 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.iosfwd
++// RUN: diff %S/transitive_includes/expected.iosfwd %t.actual.iosfwd
++#if defined(TEST_58)
++#include <iosfwd>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_59 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.iostream
++// RUN: diff %S/transitive_includes/expected.iostream %t.actual.iostream
++#if defined(TEST_59)
++#include <iostream>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_60 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.istream
++// RUN: diff %S/transitive_includes/expected.istream %t.actual.istream
++#if defined(TEST_60)
++#include <istream>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_61 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.iterator
++// RUN: diff %S/transitive_includes/expected.iterator %t.actual.iterator
++#if defined(TEST_61)
++#include <iterator>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_62 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.latch
++// RUN: diff %S/transitive_includes/expected.latch %t.actual.latch
++#if defined(TEST_62)
++#include <latch>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_63 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.limits
++// RUN: diff %S/transitive_includes/expected.limits %t.actual.limits
++#if defined(TEST_63)
++#include <limits>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_65 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.list
++// RUN: diff %S/transitive_includes/expected.list %t.actual.list
++#if defined(TEST_65)
++#include <list>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_66 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.locale
++// RUN: diff %S/transitive_includes/expected.locale %t.actual.locale
++#if defined(TEST_66)
++#include <locale>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_68 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.map
++// RUN: diff %S/transitive_includes/expected.map %t.actual.map
++#if defined(TEST_68)
++#include <map>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_70 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.memory
++// RUN: diff %S/transitive_includes/expected.memory %t.actual.memory
++#if defined(TEST_70)
++#include <memory>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_71 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.mutex
++// RUN: diff %S/transitive_includes/expected.mutex %t.actual.mutex
++#if defined(TEST_71)
++#include <mutex>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_72 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.new
++// RUN: diff %S/transitive_includes/expected.new %t.actual.new
++#if defined(TEST_72)
++#include <new>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_73 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.numbers
++// RUN: diff %S/transitive_includes/expected.numbers %t.actual.numbers
++#if defined(TEST_73)
++#include <numbers>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_74 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.numeric
++// RUN: diff %S/transitive_includes/expected.numeric %t.actual.numeric
++#if defined(TEST_74)
++#include <numeric>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_75 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.optional
++// RUN: diff %S/transitive_includes/expected.optional %t.actual.optional
++#if defined(TEST_75)
++#include <optional>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_76 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ostream
++// RUN: diff %S/transitive_includes/expected.ostream %t.actual.ostream
++#if defined(TEST_76)
++#include <ostream>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_77 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.queue
++// RUN: diff %S/transitive_includes/expected.queue %t.actual.queue
++#if defined(TEST_77)
++#include <queue>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_78 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.random
++// RUN: diff %S/transitive_includes/expected.random %t.actual.random
++#if defined(TEST_78)
++#include <random>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_79 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ranges
++// RUN: diff %S/transitive_includes/expected.ranges %t.actual.ranges
++#if defined(TEST_79)
++#include <ranges>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_80 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ratio
++// RUN: diff %S/transitive_includes/expected.ratio %t.actual.ratio
++#if defined(TEST_80)
++#include <ratio>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_81 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.regex
++// RUN: diff %S/transitive_includes/expected.regex %t.actual.regex
++#if defined(TEST_81)
++#include <regex>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_82 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.scoped_allocator
++// RUN: diff %S/transitive_includes/expected.scoped_allocator %t.actual.scoped_allocator
++#if defined(TEST_82)
++#include <scoped_allocator>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_83 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.semaphore
++// RUN: diff %S/transitive_includes/expected.semaphore %t.actual.semaphore
++#if defined(TEST_83)
++#include <semaphore>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_84 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.set
++// RUN: diff %S/transitive_includes/expected.set %t.actual.set
++#if defined(TEST_84)
++#include <set>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_86 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.shared_mutex
++// RUN: diff %S/transitive_includes/expected.shared_mutex %t.actual.shared_mutex
++#if defined(TEST_86)
++#include <shared_mutex>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_87 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.span
++// RUN: diff %S/transitive_includes/expected.span %t.actual.span
++#if defined(TEST_87)
++#include <span>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_88 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.sstream
++// RUN: diff %S/transitive_includes/expected.sstream %t.actual.sstream
++#if defined(TEST_88)
++#include <sstream>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_89 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.stack
++// RUN: diff %S/transitive_includes/expected.stack %t.actual.stack
++#if defined(TEST_89)
++#include <stack>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_93 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.stdexcept
++// RUN: diff %S/transitive_includes/expected.stdexcept %t.actual.stdexcept
++#if defined(TEST_93)
++#include <stdexcept>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_97 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.streambuf
++// RUN: diff %S/transitive_includes/expected.streambuf %t.actual.streambuf
++#if defined(TEST_97)
++#include <streambuf>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_98 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.string
++// RUN: diff %S/transitive_includes/expected.string %t.actual.string
++#if defined(TEST_98)
++#include <string>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_100 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.string_view
++// RUN: diff %S/transitive_includes/expected.string_view %t.actual.string_view
++#if defined(TEST_100)
++#include <string_view>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_101 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.strstream
++// RUN: diff %S/transitive_includes/expected.strstream %t.actual.strstream
++#if defined(TEST_101)
++#include <strstream>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_102 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.system_error
++// RUN: diff %S/transitive_includes/expected.system_error %t.actual.system_error
++#if defined(TEST_102)
++#include <system_error>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_104 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.thread
++// RUN: diff %S/transitive_includes/expected.thread %t.actual.thread
++#if defined(TEST_104)
++#include <thread>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_105 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.tuple
++// RUN: diff %S/transitive_includes/expected.tuple %t.actual.tuple
++#if defined(TEST_105)
++#include <tuple>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_106 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.type_traits
++// RUN: diff %S/transitive_includes/expected.type_traits %t.actual.type_traits
++#if defined(TEST_106)
++#include <type_traits>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_107 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.typeindex
++// RUN: diff %S/transitive_includes/expected.typeindex %t.actual.typeindex
++#if defined(TEST_107)
++#include <typeindex>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_108 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.typeinfo
++// RUN: diff %S/transitive_includes/expected.typeinfo %t.actual.typeinfo
++#if defined(TEST_108)
++#include <typeinfo>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_110 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.unordered_map
++// RUN: diff %S/transitive_includes/expected.unordered_map %t.actual.unordered_map
++#if defined(TEST_110)
++#include <unordered_map>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_111 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.unordered_set
++// RUN: diff %S/transitive_includes/expected.unordered_set %t.actual.unordered_set
++#if defined(TEST_111)
++#include <unordered_set>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_112 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.utility
++// RUN: diff %S/transitive_includes/expected.utility %t.actual.utility
++#if defined(TEST_112)
++#include <utility>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_113 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.valarray
++// RUN: diff %S/transitive_includes/expected.valarray %t.actual.valarray
++#if defined(TEST_113)
++#include <valarray>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_114 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.variant
++// RUN: diff %S/transitive_includes/expected.variant %t.actual.variant
++#if defined(TEST_114)
++#include <variant>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_115 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.vector
++// RUN: diff %S/transitive_includes/expected.vector %t.actual.vector
++#if defined(TEST_115)
++#include <vector>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_116 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.version
++// RUN: diff %S/transitive_includes/expected.version %t.actual.version
++#if defined(TEST_116)
++#include <version>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_119 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_algorithm
++// RUN: diff %S/transitive_includes/expected.experimental_algorithm %t.actual.experimental_algorithm
++#if defined(TEST_119)
++#include <experimental/algorithm>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_120 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_coroutine
++// RUN: diff %S/transitive_includes/expected.experimental_coroutine %t.actual.experimental_coroutine
++#if defined(TEST_120)
++#include <experimental/coroutine>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_121 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_deque
++// RUN: diff %S/transitive_includes/expected.experimental_deque %t.actual.experimental_deque
++#if defined(TEST_121)
++#include <experimental/deque>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_122 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_forward_list
++// RUN: diff %S/transitive_includes/expected.experimental_forward_list %t.actual.experimental_forward_list
++#if defined(TEST_122)
++#include <experimental/forward_list>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_123 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_functional
++// RUN: diff %S/transitive_includes/expected.experimental_functional %t.actual.experimental_functional
++#if defined(TEST_123)
++#include <experimental/functional>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_124 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_iterator
++// RUN: diff %S/transitive_includes/expected.experimental_iterator %t.actual.experimental_iterator
++#if defined(TEST_124)
++#include <experimental/iterator>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_125 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_list
++// RUN: diff %S/transitive_includes/expected.experimental_list %t.actual.experimental_list
++#if defined(TEST_125)
++#include <experimental/list>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_126 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_map
++// RUN: diff %S/transitive_includes/expected.experimental_map %t.actual.experimental_map
++#if defined(TEST_126)
++#include <experimental/map>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_127 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_memory_resource
++// RUN: diff %S/transitive_includes/expected.experimental_memory_resource %t.actual.experimental_memory_resource
++#if defined(TEST_127)
++#include <experimental/memory_resource>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_128 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_propagate_const
++// RUN: diff %S/transitive_includes/expected.experimental_propagate_const %t.actual.experimental_propagate_const
++#if defined(TEST_128)
++#include <experimental/propagate_const>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_129 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_regex
++// RUN: diff %S/transitive_includes/expected.experimental_regex %t.actual.experimental_regex
++#if defined(TEST_129)
++#include <experimental/regex>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_130 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_set
++// RUN: diff %S/transitive_includes/expected.experimental_set %t.actual.experimental_set
++#if defined(TEST_130)
++#include <experimental/set>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_131 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_simd
++// RUN: diff %S/transitive_includes/expected.experimental_simd %t.actual.experimental_simd
++#if defined(TEST_131)
++#include <experimental/simd>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_132 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_string
++// RUN: diff %S/transitive_includes/expected.experimental_string %t.actual.experimental_string
++#if defined(TEST_132)
++#include <experimental/string>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_133 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_type_traits
++// RUN: diff %S/transitive_includes/expected.experimental_type_traits %t.actual.experimental_type_traits
++#if defined(TEST_133)
++#include <experimental/type_traits>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_134 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_unordered_map
++// RUN: diff %S/transitive_includes/expected.experimental_unordered_map %t.actual.experimental_unordered_map
++#if defined(TEST_134)
++#include <experimental/unordered_map>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_135 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_unordered_set
++// RUN: diff %S/transitive_includes/expected.experimental_unordered_set %t.actual.experimental_unordered_set
++#if defined(TEST_135)
++#include <experimental/unordered_set>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_136 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_utility
++// RUN: diff %S/transitive_includes/expected.experimental_utility %t.actual.experimental_utility
++#if defined(TEST_136)
++#include <experimental/utility>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_137 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_vector
++// RUN: diff %S/transitive_includes/expected.experimental_vector %t.actual.experimental_vector
++#if defined(TEST_137)
++#include <experimental/vector>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_138 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ext_hash_map
++// RUN: diff %S/transitive_includes/expected.ext_hash_map %t.actual.ext_hash_map
++#if defined(TEST_138)
++#include <ext/hash_map>
++#endif
++// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_139 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ext_hash_set
++// RUN: diff %S/transitive_includes/expected.ext_hash_set %t.actual.ext_hash_set
++#if defined(TEST_139)
++#include <ext/hash_set>
++#endif
++// GENERATED-MARKER
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.algorithm b/libcxx/test/libcxx/transitive_includes/expected.algorithm
+new file mode 100644
+index 000000000000..8e539be98cbc
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.algorithm
+@@ -0,0 +1,24 @@
++algorithm
++atomic
++bit
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.any b/libcxx/test/libcxx/transitive_includes/expected.any
+new file mode 100644
+index 000000000000..4f3cff5c0634
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.any
+@@ -0,0 +1,23 @@
++any
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.array b/libcxx/test/libcxx/transitive_includes/expected.array
+new file mode 100644
+index 000000000000..0fb1b67d13d0
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.array
+@@ -0,0 +1,14 @@
++array
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++exception
++initializer_list
++iosfwd
++limits
++stdexcept
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.atomic b/libcxx/test/libcxx/transitive_includes/expected.atomic
+new file mode 100644
+index 000000000000..42e3c191ac89
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.atomic
+@@ -0,0 +1,11 @@
++atomic
++climits
++cstddef
++cstdint
++cstring
++ctime
++iosfwd
++limits
++ratio
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.barrier b/libcxx/test/libcxx/transitive_includes/expected.barrier
+new file mode 100644
+index 000000000000..cb7845f45e0c
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.barrier
+@@ -0,0 +1,23 @@
++atomic
++barrier
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.bit b/libcxx/test/libcxx/transitive_includes/expected.bit
+new file mode 100644
+index 000000000000..3f58643d6062
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.bit
+@@ -0,0 +1,7 @@
++bit
++cstddef
++cstdint
++cstdlib
++limits
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.bitset b/libcxx/test/libcxx/transitive_includes/expected.bitset
+new file mode 100644
+index 000000000000..d3ee4af66e1b
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.bitset
+@@ -0,0 +1,29 @@
++atomic
++bitset
++cctype
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++string
++string_view
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cassert b/libcxx/test/libcxx/transitive_includes/expected.cassert
+new file mode 100644
+index 000000000000..69b779ef2f20
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cassert
+@@ -0,0 +1 @@
++cassert
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ccomplex b/libcxx/test/libcxx/transitive_includes/expected.ccomplex
+new file mode 100644
+index 000000000000..cfc2d04436fe
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.ccomplex
+@@ -0,0 +1,41 @@
++atomic
++bitset
++ccomplex
++cctype
++cerrno
++climits
++cmath
++compare
++complex
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++istream
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++sstream
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cctype b/libcxx/test/libcxx/transitive_includes/expected.cctype
+new file mode 100644
+index 000000000000..a82e62c088dc
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cctype
+@@ -0,0 +1 @@
++cctype
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cerrno b/libcxx/test/libcxx/transitive_includes/expected.cerrno
+new file mode 100644
+index 000000000000..24c00a9877c3
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cerrno
+@@ -0,0 +1 @@
++cerrno
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cfenv b/libcxx/test/libcxx/transitive_includes/expected.cfenv
+new file mode 100644
+index 000000000000..998058637245
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cfenv
+@@ -0,0 +1 @@
++cfenv
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cfloat b/libcxx/test/libcxx/transitive_includes/expected.cfloat
+new file mode 100644
+index 000000000000..3bb5aa14cfbf
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cfloat
+@@ -0,0 +1 @@
++cfloat
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.charconv b/libcxx/test/libcxx/transitive_includes/expected.charconv
+new file mode 100644
+index 000000000000..5ce64d0c6a23
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.charconv
+@@ -0,0 +1,11 @@
++cerrno
++charconv
++cmath
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++limits
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.chrono b/libcxx/test/libcxx/transitive_includes/expected.chrono
+new file mode 100644
+index 000000000000..fdb624bc1df4
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.chrono
+@@ -0,0 +1,11 @@
++chrono
++climits
++cmath
++compare
++cstddef
++cstdint
++ctime
++limits
++ratio
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cinttypes b/libcxx/test/libcxx/transitive_includes/expected.cinttypes
+new file mode 100644
+index 000000000000..911d5dd27d08
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cinttypes
+@@ -0,0 +1,2 @@
++cinttypes
++cstdint
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ciso646 b/libcxx/test/libcxx/transitive_includes/expected.ciso646
+new file mode 100644
+index 000000000000..6c1d5458c9c9
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.ciso646
+@@ -0,0 +1 @@
++ciso646
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.climits b/libcxx/test/libcxx/transitive_includes/expected.climits
+new file mode 100644
+index 000000000000..271e00022101
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.climits
+@@ -0,0 +1 @@
++climits
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.clocale b/libcxx/test/libcxx/transitive_includes/expected.clocale
+new file mode 100644
+index 000000000000..0ac42c4b403e
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.clocale
+@@ -0,0 +1 @@
++clocale
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cmath b/libcxx/test/libcxx/transitive_includes/expected.cmath
+new file mode 100644
+index 000000000000..7678c0e38802
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cmath
+@@ -0,0 +1,6 @@
++cmath
++cstddef
++cstdint
++limits
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.codecvt b/libcxx/test/libcxx/transitive_includes/expected.codecvt
+new file mode 100644
+index 000000000000..f846715edf80
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.codecvt
+@@ -0,0 +1,32 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++codecvt
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++iosfwd
++limits
++memory
++mutex
++new
++ratio
++stdexcept
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.compare b/libcxx/test/libcxx/transitive_includes/expected.compare
+new file mode 100644
+index 000000000000..df2d92f5d4b6
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.compare
+@@ -0,0 +1,7 @@
++cmath
++compare
++cstddef
++cstdint
++limits
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.complex b/libcxx/test/libcxx/transitive_includes/expected.complex
+new file mode 100644
+index 000000000000..eb5fe7c87bf7
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.complex
+@@ -0,0 +1,40 @@
++atomic
++bitset
++cctype
++cerrno
++climits
++cmath
++compare
++complex
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++istream
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++sstream
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.concepts b/libcxx/test/libcxx/transitive_includes/expected.concepts
+new file mode 100644
+index 000000000000..31e9f436e6cd
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.concepts
+@@ -0,0 +1,5 @@
++concepts
++cstddef
++cstdint
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.condition_variable b/libcxx/test/libcxx/transitive_includes/expected.condition_variable
+new file mode 100644
+index 000000000000..081849db56d2
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.condition_variable
+@@ -0,0 +1,31 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++condition_variable
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.coroutine b/libcxx/test/libcxx/transitive_includes/expected.coroutine
+new file mode 100644
+index 000000000000..1f31012bf5be
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.coroutine
+@@ -0,0 +1,9 @@
++cmath
++compare
++coroutine
++cstddef
++cstdint
++cstring
++limits
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.csetjmp b/libcxx/test/libcxx/transitive_includes/expected.csetjmp
+new file mode 100644
+index 000000000000..2f72e67f0324
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.csetjmp
+@@ -0,0 +1 @@
++csetjmp
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.csignal b/libcxx/test/libcxx/transitive_includes/expected.csignal
+new file mode 100644
+index 000000000000..c17f2a3b99df
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.csignal
+@@ -0,0 +1 @@
++csignal
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cstdarg b/libcxx/test/libcxx/transitive_includes/expected.cstdarg
+new file mode 100644
+index 000000000000..ce71517eeb14
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cstdarg
+@@ -0,0 +1 @@
++cstdarg
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cstdbool b/libcxx/test/libcxx/transitive_includes/expected.cstdbool
+new file mode 100644
+index 000000000000..f3a52bba86c1
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cstdbool
+@@ -0,0 +1 @@
++cstdbool
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cstddef b/libcxx/test/libcxx/transitive_includes/expected.cstddef
+new file mode 100644
+index 000000000000..7b45506ea14b
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cstddef
+@@ -0,0 +1,2 @@
++cstddef
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cstdint b/libcxx/test/libcxx/transitive_includes/expected.cstdint
+new file mode 100644
+index 000000000000..37103a4f4b89
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cstdint
+@@ -0,0 +1 @@
++cstdint
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cstdio b/libcxx/test/libcxx/transitive_includes/expected.cstdio
+new file mode 100644
+index 000000000000..5b70aa3cf8d4
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cstdio
+@@ -0,0 +1 @@
++cstdio
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cstdlib b/libcxx/test/libcxx/transitive_includes/expected.cstdlib
+new file mode 100644
+index 000000000000..b98a7237dde7
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cstdlib
+@@ -0,0 +1 @@
++cstdlib
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cstring b/libcxx/test/libcxx/transitive_includes/expected.cstring
+new file mode 100644
+index 000000000000..0fdbe597c9df
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cstring
+@@ -0,0 +1 @@
++cstring
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ctgmath b/libcxx/test/libcxx/transitive_includes/expected.ctgmath
+new file mode 100644
+index 000000000000..ac37b74ac56e
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.ctgmath
+@@ -0,0 +1,42 @@
++atomic
++bitset
++ccomplex
++cctype
++cerrno
++climits
++cmath
++compare
++complex
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctgmath
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++istream
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++sstream
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ctime b/libcxx/test/libcxx/transitive_includes/expected.ctime
+new file mode 100644
+index 000000000000..ee049c40b25b
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.ctime
+@@ -0,0 +1 @@
++ctime
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cuchar b/libcxx/test/libcxx/transitive_includes/expected.cuchar
+new file mode 100644
+index 000000000000..588664ab50b3
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cuchar
+@@ -0,0 +1 @@
++cuchar
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cwchar b/libcxx/test/libcxx/transitive_includes/expected.cwchar
+new file mode 100644
+index 000000000000..1e6c2091fa4a
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cwchar
+@@ -0,0 +1,3 @@
++cctype
++cwchar
++cwctype
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.cwctype b/libcxx/test/libcxx/transitive_includes/expected.cwctype
+new file mode 100644
+index 000000000000..fa1b7f256994
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.cwctype
+@@ -0,0 +1,2 @@
++cctype
++cwctype
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.deque b/libcxx/test/libcxx/transitive_includes/expected.deque
+new file mode 100644
+index 000000000000..aa51131432ea
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.deque
+@@ -0,0 +1,23 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++deque
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.exception b/libcxx/test/libcxx/transitive_includes/expected.exception
+new file mode 100644
+index 000000000000..c48f9ed9e744
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.exception
+@@ -0,0 +1,6 @@
++cstddef
++cstdint
++cstdlib
++exception
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.execution b/libcxx/test/libcxx/transitive_includes/expected.execution
+new file mode 100644
+index 000000000000..b42e7095b580
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.execution
+@@ -0,0 +1,2 @@
++execution
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm b/libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm
+new file mode 100644
+index 000000000000..7e307913a9fe
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm
+@@ -0,0 +1,25 @@
++algorithm
++atomic
++bit
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/algorithm
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine b/libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine
+new file mode 100644
+index 000000000000..89fc3edcec46
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine
+@@ -0,0 +1,23 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/coroutine
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_deque b/libcxx/test/libcxx/transitive_includes/expected.experimental_deque
+new file mode 100644
+index 000000000000..e1677c7dd843
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_deque
+@@ -0,0 +1,27 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++deque
++exception
++experimental/deque
++experimental/memory_resource
++experimental/utility
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list b/libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list
+new file mode 100644
+index 000000000000..af433ce90949
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list
+@@ -0,0 +1,27 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/forward_list
++experimental/memory_resource
++experimental/utility
++forward_list
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_functional b/libcxx/test/libcxx/transitive_includes/expected.experimental_functional
+new file mode 100644
+index 000000000000..ce502b5e9803
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_functional
+@@ -0,0 +1,28 @@
++array
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/functional
++functional
++initializer_list
++iosfwd
++limits
++memory
++new
++optional
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++unordered_map
++vector
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_iterator b/libcxx/test/libcxx/transitive_includes/expected.experimental_iterator
+new file mode 100644
+index 000000000000..83a9b8d93c65
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_iterator
+@@ -0,0 +1,18 @@
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++exception
++experimental/iterator
++initializer_list
++iosfwd
++iterator
++limits
++new
++tuple
++type_traits
++variant
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_list b/libcxx/test/libcxx/transitive_includes/expected.experimental_list
+new file mode 100644
+index 000000000000..aae9f23d08e9
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_list
+@@ -0,0 +1,27 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/list
++experimental/memory_resource
++experimental/utility
++initializer_list
++iosfwd
++limits
++list
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_map b/libcxx/test/libcxx/transitive_includes/expected.experimental_map
+new file mode 100644
+index 000000000000..cb76c7642ec9
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_map
+@@ -0,0 +1,28 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/map
++experimental/memory_resource
++experimental/utility
++initializer_list
++iosfwd
++limits
++map
++memory
++new
++optional
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource b/libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource
+new file mode 100644
+index 000000000000..67d2441ae369
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource
+@@ -0,0 +1,25 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/memory_resource
++experimental/utility
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_propagate_const b/libcxx/test/libcxx/transitive_includes/expected.experimental_propagate_const
+new file mode 100644
+index 000000000000..a78fa83bc983
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_propagate_const
+@@ -0,0 +1,5 @@
++cstddef
++cstdint
++experimental/propagate_const
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_regex b/libcxx/test/libcxx/transitive_includes/expected.experimental_regex
+new file mode 100644
+index 000000000000..6490adb5a1b4
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_regex
+@@ -0,0 +1,39 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++deque
++exception
++experimental/memory_resource
++experimental/regex
++experimental/string
++experimental/utility
++initializer_list
++iosfwd
++limits
++memory
++mutex
++new
++ratio
++regex
++stdexcept
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++utility
++vector
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_set b/libcxx/test/libcxx/transitive_includes/expected.experimental_set
+new file mode 100644
+index 000000000000..03a09aff0574
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_set
+@@ -0,0 +1,28 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/memory_resource
++experimental/set
++experimental/utility
++initializer_list
++iosfwd
++limits
++memory
++new
++optional
++ratio
++set
++stdexcept
++tuple
++type_traits
++typeinfo
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_simd b/libcxx/test/libcxx/transitive_includes/expected.experimental_simd
+new file mode 100644
+index 000000000000..999b0aafb666
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_simd
+@@ -0,0 +1,16 @@
++array
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++exception
++experimental/simd
++initializer_list
++iosfwd
++limits
++stdexcept
++tuple
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_string b/libcxx/test/libcxx/transitive_includes/expected.experimental_string
+new file mode 100644
+index 000000000000..4fb05391c7b4
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_string
+@@ -0,0 +1,32 @@
++atomic
++cctype
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++experimental/memory_resource
++experimental/string
++experimental/utility
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++string
++string_view
++tuple
++type_traits
++typeinfo
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_type_traits b/libcxx/test/libcxx/transitive_includes/expected.experimental_type_traits
+new file mode 100644
+index 000000000000..c1e83e731fbd
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_type_traits
+@@ -0,0 +1,6 @@
++cstddef
++cstdint
++experimental/type_traits
++initializer_list
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map b/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map
+new file mode 100644
+index 000000000000..04efa3377d81
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map
+@@ -0,0 +1,28 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/memory_resource
++experimental/unordered_map
++experimental/utility
++initializer_list
++iosfwd
++limits
++memory
++new
++optional
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++unordered_map
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set b/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set
+new file mode 100644
+index 000000000000..798b920506cf
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set
+@@ -0,0 +1,28 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/memory_resource
++experimental/unordered_set
++experimental/utility
++initializer_list
++iosfwd
++limits
++memory
++new
++optional
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++unordered_set
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_utility b/libcxx/test/libcxx/transitive_includes/expected.experimental_utility
+new file mode 100644
+index 000000000000..788283fb30b9
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_utility
+@@ -0,0 +1,11 @@
++cmath
++compare
++cstddef
++cstdint
++cstdlib
++experimental/utility
++initializer_list
++limits
++type_traits
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_vector b/libcxx/test/libcxx/transitive_includes/expected.experimental_vector
+new file mode 100644
+index 000000000000..35355e4d3547
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_vector
+@@ -0,0 +1,27 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++experimental/memory_resource
++experimental/utility
++experimental/vector
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++utility
++vector
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ext_hash_map b/libcxx/test/libcxx/transitive_includes/expected.ext_hash_map
+new file mode 100644
+index 000000000000..238ba8fade71
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.ext_hash_map
+@@ -0,0 +1,36 @@
++algorithm
++array
++atomic
++bit
++cctype
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++ext/hash_map
++functional
++initializer_list
++iosfwd
++limits
++memory
++new
++optional
++ratio
++stdexcept
++string
++string_view
++tuple
++type_traits
++typeinfo
++unordered_map
++vector
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ext_hash_set b/libcxx/test/libcxx/transitive_includes/expected.ext_hash_set
+new file mode 100644
+index 000000000000..5e58c46663a5
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.ext_hash_set
+@@ -0,0 +1,36 @@
++algorithm
++array
++atomic
++bit
++cctype
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++ext/hash_set
++functional
++initializer_list
++iosfwd
++limits
++memory
++new
++optional
++ratio
++stdexcept
++string
++string_view
++tuple
++type_traits
++typeinfo
++unordered_map
++vector
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.filesystem b/libcxx/test/libcxx/transitive_includes/expected.filesystem
+new file mode 100644
+index 000000000000..adc5812121df
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.filesystem
+@@ -0,0 +1,40 @@
++atomic
++bitset
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++filesystem
++initializer_list
++iomanip
++ios
++iosfwd
++istream
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.format b/libcxx/test/libcxx/transitive_includes/expected.format
+new file mode 100644
+index 000000000000..d88f3f66919f
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.format
+@@ -0,0 +1,40 @@
++array
++atomic
++bit
++cctype
++cerrno
++charconv
++climits
++cmath
++compare
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++format
++initializer_list
++ios
++iosfwd
++limits
++locale
++memory
++mutex
++new
++optional
++ratio
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.forward_list b/libcxx/test/libcxx/transitive_includes/expected.forward_list
+new file mode 100644
+index 000000000000..de184d39a0da
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.forward_list
+@@ -0,0 +1,23 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++forward_list
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.fstream b/libcxx/test/libcxx/transitive_includes/expected.fstream
+new file mode 100644
+index 000000000000..31ef4da04630
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.fstream
+@@ -0,0 +1,41 @@
++atomic
++bitset
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++filesystem
++fstream
++initializer_list
++iomanip
++ios
++iosfwd
++istream
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.functional b/libcxx/test/libcxx/transitive_includes/expected.functional
+new file mode 100644
+index 000000000000..944f5a2cedd7
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.functional
+@@ -0,0 +1,27 @@
++array
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++functional
++initializer_list
++iosfwd
++limits
++memory
++new
++optional
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++unordered_map
++vector
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.future b/libcxx/test/libcxx/transitive_includes/expected.future
+new file mode 100644
+index 000000000000..978baba9b8ec
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.future
+@@ -0,0 +1,33 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++future
++initializer_list
++iosfwd
++limits
++memory
++mutex
++new
++ratio
++stdexcept
++string
++string_view
++system_error
++thread
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.initializer_list b/libcxx/test/libcxx/transitive_includes/expected.initializer_list
+new file mode 100644
+index 000000000000..8b92a6553ca1
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.initializer_list
+@@ -0,0 +1,3 @@
++cstddef
++initializer_list
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.iomanip b/libcxx/test/libcxx/transitive_includes/expected.iomanip
+new file mode 100644
+index 000000000000..86446ab031fb
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.iomanip
+@@ -0,0 +1,39 @@
++atomic
++bitset
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++iomanip
++ios
++iosfwd
++istream
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ios b/libcxx/test/libcxx/transitive_includes/expected.ios
+new file mode 100644
+index 000000000000..3ecae9323ab4
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.ios
+@@ -0,0 +1,32 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++limits
++memory
++mutex
++new
++ratio
++stdexcept
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.iosfwd b/libcxx/test/libcxx/transitive_includes/expected.iosfwd
+new file mode 100644
+index 000000000000..ff6e0e3d092b
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.iosfwd
+@@ -0,0 +1,2 @@
++iosfwd
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.iostream b/libcxx/test/libcxx/transitive_includes/expected.iostream
+new file mode 100644
+index 000000000000..2e4e74cc18b4
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.iostream
+@@ -0,0 +1,39 @@
++atomic
++bitset
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++iostream
++istream
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.istream b/libcxx/test/libcxx/transitive_includes/expected.istream
+new file mode 100644
+index 000000000000..cbd4a87c1613
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.istream
+@@ -0,0 +1,38 @@
++atomic
++bitset
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++istream
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.iterator b/libcxx/test/libcxx/transitive_includes/expected.iterator
+new file mode 100644
+index 000000000000..698f6cf9de2f
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.iterator
+@@ -0,0 +1,17 @@
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++exception
++initializer_list
++iosfwd
++iterator
++limits
++new
++tuple
++type_traits
++variant
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.latch b/libcxx/test/libcxx/transitive_includes/expected.latch
+new file mode 100644
+index 000000000000..3d00941b9231
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.latch
+@@ -0,0 +1,12 @@
++atomic
++climits
++cstddef
++cstdint
++cstring
++ctime
++iosfwd
++latch
++limits
++ratio
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.limits b/libcxx/test/libcxx/transitive_includes/expected.limits
+new file mode 100644
+index 000000000000..49fcbf44c5b2
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.limits
+@@ -0,0 +1,5 @@
++cstddef
++cstdint
++limits
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.list b/libcxx/test/libcxx/transitive_includes/expected.list
+new file mode 100644
+index 000000000000..96d4f33db7d4
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.list
+@@ -0,0 +1,23 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++list
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.locale b/libcxx/test/libcxx/transitive_includes/expected.locale
+new file mode 100644
+index 000000000000..cdd6609f8440
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.locale
+@@ -0,0 +1,35 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++limits
++locale
++memory
++mutex
++new
++ratio
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.map b/libcxx/test/libcxx/transitive_includes/expected.map
+new file mode 100644
+index 000000000000..a6896289ab3f
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.map
+@@ -0,0 +1,24 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++map
++memory
++new
++optional
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.memory b/libcxx/test/libcxx/transitive_includes/expected.memory
+new file mode 100644
+index 000000000000..3b7a13de63fe
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.memory
+@@ -0,0 +1,22 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.mutex b/libcxx/test/libcxx/transitive_includes/expected.mutex
+new file mode 100644
+index 000000000000..1aa71f549fd4
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.mutex
+@@ -0,0 +1,31 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++iosfwd
++limits
++memory
++mutex
++new
++ratio
++stdexcept
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.new b/libcxx/test/libcxx/transitive_includes/expected.new
+new file mode 100644
+index 000000000000..9fd8f6aabd0c
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.new
+@@ -0,0 +1,7 @@
++cstddef
++cstdint
++cstdlib
++exception
++new
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.numbers b/libcxx/test/libcxx/transitive_includes/expected.numbers
+new file mode 100644
+index 000000000000..a8b65fc82096
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.numbers
+@@ -0,0 +1,6 @@
++concepts
++cstddef
++cstdint
++numbers
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.numeric b/libcxx/test/libcxx/transitive_includes/expected.numeric
+new file mode 100644
+index 000000000000..843582958e10
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.numeric
+@@ -0,0 +1,8 @@
++cmath
++concepts
++cstddef
++cstdint
++limits
++numeric
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.optional b/libcxx/test/libcxx/transitive_includes/expected.optional
+new file mode 100644
+index 000000000000..e888c8f4e0bd
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.optional
+@@ -0,0 +1,15 @@
++cmath
++compare
++cstddef
++cstdint
++cstdlib
++cstring
++exception
++initializer_list
++iosfwd
++limits
++new
++optional
++stdexcept
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ostream b/libcxx/test/libcxx/transitive_includes/expected.ostream
+new file mode 100644
+index 000000000000..1d7da3e2f96d
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.ostream
+@@ -0,0 +1,37 @@
++atomic
++bitset
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.queue b/libcxx/test/libcxx/transitive_includes/expected.queue
+new file mode 100644
+index 000000000000..07743c837beb
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.queue
+@@ -0,0 +1,25 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++deque
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++queue
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++vector
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.random b/libcxx/test/libcxx/transitive_includes/expected.random
+new file mode 100644
+index 000000000000..c8060db2909a
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.random
+@@ -0,0 +1,32 @@
++atomic
++bit
++cctype
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++numeric
++random
++ratio
++stdexcept
++string
++string_view
++tuple
++type_traits
++typeinfo
++vector
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ranges b/libcxx/test/libcxx/transitive_includes/expected.ranges
+new file mode 100644
+index 000000000000..f16d5e5d5505
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.ranges
+@@ -0,0 +1,22 @@
++array
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++exception
++initializer_list
++iosfwd
++iterator
++limits
++new
++optional
++ranges
++span
++stdexcept
++tuple
++type_traits
++variant
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ratio b/libcxx/test/libcxx/transitive_includes/expected.ratio
+new file mode 100644
+index 000000000000..deda945f1b57
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.ratio
+@@ -0,0 +1,6 @@
++climits
++cstddef
++cstdint
++ratio
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.regex b/libcxx/test/libcxx/transitive_includes/expected.regex
+new file mode 100644
+index 000000000000..447e31831d8f
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.regex
+@@ -0,0 +1,34 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++deque
++exception
++initializer_list
++iosfwd
++limits
++memory
++mutex
++new
++ratio
++regex
++stdexcept
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++vector
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.scoped_allocator b/libcxx/test/libcxx/transitive_includes/expected.scoped_allocator
+new file mode 100644
+index 000000000000..f4345de47a6a
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.scoped_allocator
+@@ -0,0 +1,23 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++scoped_allocator
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.semaphore b/libcxx/test/libcxx/transitive_includes/expected.semaphore
+new file mode 100644
+index 000000000000..6893d0995506
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.semaphore
+@@ -0,0 +1,12 @@
++atomic
++climits
++cstddef
++cstdint
++cstring
++ctime
++iosfwd
++limits
++ratio
++semaphore
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.set b/libcxx/test/libcxx/transitive_includes/expected.set
+new file mode 100644
+index 000000000000..9b0f3cb52c18
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.set
+@@ -0,0 +1,24 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++optional
++ratio
++set
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.shared_mutex b/libcxx/test/libcxx/transitive_includes/expected.shared_mutex
+new file mode 100644
+index 000000000000..2bd4140b3d11
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.shared_mutex
+@@ -0,0 +1,31 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++shared_mutex
++stdexcept
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.span b/libcxx/test/libcxx/transitive_includes/expected.span
+new file mode 100644
+index 000000000000..4ec98478d7ab
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.span
+@@ -0,0 +1,15 @@
++array
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++exception
++initializer_list
++iosfwd
++limits
++span
++stdexcept
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.sstream b/libcxx/test/libcxx/transitive_includes/expected.sstream
+new file mode 100644
+index 000000000000..1acc28a14008
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.sstream
+@@ -0,0 +1,39 @@
++atomic
++bitset
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++istream
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++sstream
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.stack b/libcxx/test/libcxx/transitive_includes/expected.stack
+new file mode 100644
+index 000000000000..17c8d991260c
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.stack
+@@ -0,0 +1,24 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++deque
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stack
++stdexcept
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.stdexcept b/libcxx/test/libcxx/transitive_includes/expected.stdexcept
+new file mode 100644
+index 000000000000..b8dd684ffcbb
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.stdexcept
+@@ -0,0 +1,8 @@
++cstddef
++cstdint
++cstdlib
++exception
++iosfwd
++stdexcept
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.streambuf b/libcxx/test/libcxx/transitive_includes/expected.streambuf
+new file mode 100644
+index 000000000000..5e8e278a70ff
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.streambuf
+@@ -0,0 +1,33 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++limits
++memory
++mutex
++new
++ratio
++stdexcept
++streambuf
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.string b/libcxx/test/libcxx/transitive_includes/expected.string
+new file mode 100644
+index 000000000000..960707082bab
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.string
+@@ -0,0 +1,28 @@
++atomic
++cctype
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++string
++string_view
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.string_view b/libcxx/test/libcxx/transitive_includes/expected.string_view
+new file mode 100644
+index 000000000000..6bb7edfd0bf0
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.string_view
+@@ -0,0 +1,19 @@
++cctype
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++cwchar
++cwctype
++exception
++initializer_list
++iosfwd
++limits
++stdexcept
++string_view
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.strstream b/libcxx/test/libcxx/transitive_includes/expected.strstream
+new file mode 100644
+index 000000000000..ed208f4d5eb3
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.strstream
+@@ -0,0 +1,39 @@
++atomic
++bitset
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstdarg
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++ios
++iosfwd
++istream
++limits
++locale
++memory
++mutex
++new
++ostream
++ratio
++stdexcept
++streambuf
++string
++string_view
++strstream
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.system_error b/libcxx/test/libcxx/transitive_includes/expected.system_error
+new file mode 100644
+index 000000000000..30ca93cf23bd
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.system_error
+@@ -0,0 +1,30 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++string
++string_view
++system_error
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.thread b/libcxx/test/libcxx/transitive_includes/expected.thread
+new file mode 100644
+index 000000000000..102ca5891713
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.thread
+@@ -0,0 +1,31 @@
++atomic
++cctype
++cerrno
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdio
++cstdlib
++cstring
++ctime
++cwchar
++cwctype
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++string
++string_view
++system_error
++thread
++tuple
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.tuple b/libcxx/test/libcxx/transitive_includes/expected.tuple
+new file mode 100644
+index 000000000000..2a4e44c6f4e9
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.tuple
+@@ -0,0 +1,8 @@
++cmath
++compare
++cstddef
++cstdint
++limits
++tuple
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.type_traits b/libcxx/test/libcxx/transitive_includes/expected.type_traits
+new file mode 100644
+index 000000000000..8448275a1728
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.type_traits
+@@ -0,0 +1,4 @@
++cstddef
++cstdint
++type_traits
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.typeindex b/libcxx/test/libcxx/transitive_includes/expected.typeindex
+new file mode 100644
+index 000000000000..8ed579013db7
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.typeindex
+@@ -0,0 +1,11 @@
++cmath
++compare
++cstddef
++cstdint
++cstdlib
++exception
++limits
++type_traits
++typeindex
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.typeinfo b/libcxx/test/libcxx/transitive_includes/expected.typeinfo
+new file mode 100644
+index 000000000000..609a604805c9
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.typeinfo
+@@ -0,0 +1,7 @@
++cstddef
++cstdint
++cstdlib
++exception
++type_traits
++typeinfo
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.unordered_map b/libcxx/test/libcxx/transitive_includes/expected.unordered_map
+new file mode 100644
+index 000000000000..4f2f2ff02388
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.unordered_map
+@@ -0,0 +1,24 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++optional
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++unordered_map
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.unordered_set b/libcxx/test/libcxx/transitive_includes/expected.unordered_set
+new file mode 100644
+index 000000000000..2c825fb58ac9
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.unordered_set
+@@ -0,0 +1,24 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++optional
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++unordered_set
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.utility b/libcxx/test/libcxx/transitive_includes/expected.utility
+new file mode 100644
+index 000000000000..30781fff9336
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.utility
+@@ -0,0 +1,10 @@
++cmath
++compare
++cstddef
++cstdint
++cstdlib
++initializer_list
++limits
++type_traits
++utility
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.valarray b/libcxx/test/libcxx/transitive_includes/expected.valarray
+new file mode 100644
+index 000000000000..b5543ea5c701
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.valarray
+@@ -0,0 +1,15 @@
++cmath
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++exception
++initializer_list
++iosfwd
++limits
++new
++stdexcept
++type_traits
++valarray
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.variant b/libcxx/test/libcxx/transitive_includes/expected.variant
+new file mode 100644
+index 000000000000..44553c77ce56
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.variant
+@@ -0,0 +1,14 @@
++cmath
++compare
++cstddef
++cstdint
++cstdlib
++cstring
++exception
++initializer_list
++limits
++new
++tuple
++type_traits
++variant
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.vector b/libcxx/test/libcxx/transitive_includes/expected.vector
+new file mode 100644
+index 000000000000..9553eb0c04d7
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.vector
+@@ -0,0 +1,23 @@
++atomic
++climits
++cmath
++compare
++concepts
++cstddef
++cstdint
++cstdlib
++cstring
++ctime
++exception
++initializer_list
++iosfwd
++limits
++memory
++new
++ratio
++stdexcept
++tuple
++type_traits
++typeinfo
++vector
++version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.version b/libcxx/test/libcxx/transitive_includes/expected.version
+new file mode 100644
+index 000000000000..088eda41aa61
+--- /dev/null
++++ b/libcxx/test/libcxx/transitive_includes/expected.version
+@@ -0,0 +1 @@
++version
+diff --git a/libcxx/utils/generate_header_tests.py b/libcxx/utils/generate_header_tests.py
+index 59b90489f16b..0c2997450517 100755
+--- a/libcxx/utils/generate_header_tests.py
++++ b/libcxx/utils/generate_header_tests.py
+@@ -144,6 +144,7 @@ def main():
+     produce(test.joinpath('libcxx/nasty_macros.compile.pass.cpp'), variables)
+     produce(test.joinpath('libcxx/no_assert_include.compile.pass.cpp'), variables)
+     produce(test.joinpath('libcxx/private_headers.verify.cpp'), variables)
++    produce(test.joinpath('libcxx/transitive_includes.sh.cpp'), variables)
+ 
+ 
+ if __name__ == '__main__':
diff --git a/sys-libs/libcxx/files/D109856.patch b/sys-libs/libcxx/files/D109856.patch
new file mode 100644
index 0000000..d21cf8e
--- /dev/null
+++ b/sys-libs/libcxx/files/D109856.patch
@@ -0,0 +1,117 @@
+commit 1c1b78e04b75e9ab21d4da102abcc433618a6e0f
+Author: Daniel Kiss <daniel.kiss@arm.com>
+Date:   Wed Nov 24 00:41:37 2021 +0000
+
+    [libunwind][ARM] Handle end of stack during unwind
+    
+    When unwind step reaches the end of the stack that means the force unwind should notify the stop function.
+    This is not an error, it could mean just the thread is cleaned up completely.
+    
+    Differential Revision: https://reviews.llvm.org/D109856
+
+diff --git a/libcxxabi/src/cxa_personality.cpp b/libcxxabi/src/cxa_personality.cpp
+index ccad45979db2..f6e135f137c0 100644
+--- a/libcxxabi/src/cxa_personality.cpp
++++ b/libcxxabi/src/cxa_personality.cpp
+@@ -1004,9 +1004,14 @@ extern "C" _Unwind_Reason_Code __gnu_unwind_frame(_Unwind_Exception*,
+ static _Unwind_Reason_Code continue_unwind(_Unwind_Exception* unwind_exception,
+                                            _Unwind_Context* context)
+ {
+-    if (__gnu_unwind_frame(unwind_exception, context) != _URC_OK)
+-        return _URC_FAILURE;
++  switch (__gnu_unwind_frame(unwind_exception, context)) {
++  case _URC_OK:
+     return _URC_CONTINUE_UNWIND;
++  case _URC_END_OF_STACK:
++    return _URC_END_OF_STACK;
++  default:
++    return _URC_FAILURE;
++  }
+ }
+ 
+ // ARM register names
+diff --git a/libcxxabi/test/forced_unwind3.pass.cpp b/libcxxabi/test/forced_unwind3.pass.cpp
+new file mode 100644
+index 000000000000..3bcc7978aeab
+--- /dev/null
++++ b/libcxxabi/test/forced_unwind3.pass.cpp
+@@ -0,0 +1,79 @@
++//===----------------------------------------------------------------------===//
++//
++// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++// See https://llvm.org/LICENSE.txt for license information.
++// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
++//
++//===----------------------------------------------------------------------===//
++
++// Let's run ForcedUnwind until it reaches end of the stack, this test simulates
++// what pthread_cancel does.
++
++// UNSUPPORTED: c++03
++// UNSUPPORTED: libcxxabi-no-threads
++// UNSUPPORTED: no-exceptions
++
++#include <assert.h>
++#include <exception>
++#include <stdlib.h>
++#include <string.h>
++#include <unwind.h>
++#include <thread>
++#include <tuple>
++#include <__cxxabi_config.h>
++
++// TODO: dump version back to 14 once clang is updated on the CI.
++#if defined(_LIBCXXABI_ARM_EHABI) && defined(__clang__) && __clang_major__ < 15
++// _Unwind_ForcedUnwind is not available or broken before version 14.
++int main(int, char**) { return 0; }
++
++#else
++static bool destructorCalled = false;
++
++struct myClass {
++  myClass() {}
++  ~myClass() {
++    assert(destructorCalled == false);
++    destructorCalled = true;
++  };
++};
++
++template <typename T>
++struct Stop;
++
++template <typename R, typename... Args>
++struct Stop<R (*)(Args...)> {
++  // The third argument of _Unwind_Stop_Fn is uint64_t in Itanium C++ ABI/LLVM
++  // libunwind while _Unwind_Exception_Class in libgcc.
++  typedef typename std::tuple_element<2, std::tuple<Args...>>::type type;
++
++  static _Unwind_Reason_Code stop(int, _Unwind_Action actions, type, struct _Unwind_Exception*, struct _Unwind_Context*,
++                                  void*) {
++    if (actions & _UA_END_OF_STACK) {
++      assert(destructorCalled == true);
++      exit(0);
++    }
++    return _URC_NO_REASON;
++  }
++};
++
++static void forced_unwind() {
++  _Unwind_Exception* exc = new _Unwind_Exception;
++  memset(&exc->exception_class, 0, sizeof(exc->exception_class));
++  exc->exception_cleanup = 0;
++  _Unwind_ForcedUnwind(exc, Stop<_Unwind_Stop_Fn>::stop, 0);
++  abort();
++}
++
++__attribute__((__noinline__)) static void test() {
++  myClass c{};
++  forced_unwind();
++  abort();
++}
++
++int main(int, char**) {
++  std::thread t{test};
++  t.join();
++  return -1;
++}
++#endif
diff --git a/sys-libs/libcxx/files/PATCHES.json b/sys-libs/libcxx/files/PATCHES.json
index ef6971c..088d490 100644
--- a/sys-libs/libcxx/files/PATCHES.json
+++ b/sys-libs/libcxx/files/PATCHES.json
@@ -1,6 +1,5 @@
 [
     {
-        "end_version": 392069,
         "metadata": {
             "info": [],
             "title": "Link libcxx with gcc_eh when linking with gcc_s is not desired"
@@ -9,10 +8,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "libcxx-10-use-libgcc_eh.patch",
-        "start_version": 374056
+        "version_range": {
+            "from": 374056,
+            "until": 392069
+        }
     },
     {
-        "end_version": 419078,
         "metadata": {
             "info": [],
             "title": "Link libcxx with gcc_eh when linking with gcc_s is not desired"
@@ -21,10 +22,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "libcxx-11-use-libgcc_eh.patch",
-        "start_version": 392069
+        "version_range": {
+            "from": 392069,
+            "until": 419078
+        }
     },
     {
-        "end_version": 387601,
         "metadata": {
             "info": [],
             "title": "[libc++] Add missing visibility annotation for __base"
@@ -33,10 +36,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "cherry/30ccc2e8d24b53273aae9cc21740f02ffb3018dc.patch",
-        "start_version": 0
+        "version_range": {
+            "from": 0,
+            "until": 387601
+        }
     },
     {
-        "end_version": 417956,
         "metadata": {
             "info": [],
             "title": "[libc++] [P0879] constexpr std::sort"
@@ -45,10 +50,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "493f1407927cdf6db2e08f150ed9f9b8abe4ac45.patch",
-        "start_version": 417943
+        "version_range": {
+            "from": 417943,
+            "until": 417956
+        }
     },
     {
-        "end_version": 418174,
         "metadata": {
             "info": [],
             "title": "[libc++] Further improve the contiguous-iterator story, and fix some bugs."
@@ -57,10 +64,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "85167fb7c2920ca8874b197ef397e8e6b9d87c73.patch",
-        "start_version": 417943
+        "version_range": {
+            "from": 417943,
+            "until": 418174
+        }
     },
     {
-        "end_version": 417837,
         "metadata": {
             "info": [],
             "title": "Disable CFI in __get_elem to allow casting a pointer to uninitialized memory"
@@ -69,10 +78,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "bab74864168bb5e28ecbc0294fe1095d8da7f569.patch",
-        "start_version": 415517
+        "version_range": {
+            "from": 415517,
+            "until": 417837
+        }
     },
     {
-        "end_version": 430140,
         "metadata": {
             "info": [],
             "title": "[libcxx][atomic] Fix failure mapping in compare_exchange_{strong,weak}."
@@ -81,10 +92,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "6d33362dafb66b3af4717990d9a06450ec13f367.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 430140
+        }
     },
     {
-        "end_version": 428763,
         "metadata": {
             "info": [],
             "title": "Revert \"[libc++] NFC: Move unwrap_iter to its own header\""
@@ -93,10 +106,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "b13edf6e907b32d0b8da09dfe08fa271638eca3c.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 428763
+        }
     },
     {
-        "end_version": 434483,
         "metadata": {
             "info": [],
             "title": "Revert \"[libcxx][CI] Work around Arm buildkite failures\""
@@ -105,7 +120,10 @@
             "chromiumos"
         ],
         "rel_patch_path": "e517a2405f39a174e65e4105106ae39704f88e4d.patch",
-        "start_version": 432148
+        "version_range": {
+            "from": 432148,
+            "until": 434483
+        }
     },
     {
         "metadata": {
@@ -116,7 +134,53 @@
             "chromiumos"
         ],
         "rel_patch_path": "5778284149254d019b3f127dc32475ab7b72a7d6.patch",
-        "start_version": 433403
+        "version_range": {
+            "from": 433403,
+            "until": 453214
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[libcxx] v2: Crash when dereferencing nullopt for std::optional"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "e8361ac175bc6c911cd03e74ecd31be40a8cae37.patch",
+        "version_range": {
+            "from": 453214,
+            "until": null
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[Arm][Unwind][libc++abi] Add _Unwind_ForcedUnwind to EHABI."
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "db126ae243cd70e4f68fd50a7c619740e90e1dc6.patch",
+        "start_version": 422132,
+        "version_range": {
+            "from": 422132,
+            "until": 435269
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[libunwind][ARM] Handle end of stack during unwind"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "D109856.patch",
+        "version_range": {
+            "from": 433403,
+            "until": 444704
+        }
     },
     {
         "metadata": {
@@ -127,6 +191,51 @@
             "chromiumos"
         ],
         "rel_patch_path": "revert-b1c9d3d29a1e3cc6a9ad6f0fd1a3a0fa15800f64.patch",
-        "start_version": 443104
+        "version_range": {
+            "from": 443104,
+            "until": 461806
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "Revert \"[libc++] Simplify type_traits and use more builtins\""
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "da0448a361d4502f75e6d8102bdf3202d658575c.patch",
+        "version_range": {
+            "from": 464293,
+            "until": 465884
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[libc++] Add a test to pin down the set of transitive public includes"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "23d6cde14de352e05c66ae34cd237e3a7a8955d1.patch",
+        "version_range": {
+            "from": 465103,
+            "until": 465694
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[libc++] Re-add transitive includes that had been removed since LLVM 14"
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "de4a57cb21a19179d7be830967e642b868a05a91.patch",
+        "version_range": {
+            "from": 465103,
+            "until": 466067
+        }
     }
 ]
diff --git a/sys-libs/libcxx/files/da0448a361d4502f75e6d8102bdf3202d658575c.patch b/sys-libs/libcxx/files/da0448a361d4502f75e6d8102bdf3202d658575c.patch
new file mode 100644
index 0000000..7791b95
--- /dev/null
+++ b/sys-libs/libcxx/files/da0448a361d4502f75e6d8102bdf3202d658575c.patch
@@ -0,0 +1,369 @@
+commit da0448a361d4502f75e6d8102bdf3202d658575c
+Author: Manoj Gupta <manojgupta@google.com>
+Date:   Sat Jun 25 09:51:00 2022 -0700
+
+    Revert "[libc++] Simplify type_traits and use more builtins"
+    
+    This reverts commit 42f8f557989741434d7b7b4439b3eef3e68b2ab5.
+    
+    Breaks float128 usage, test case provided in D127226.
+    
+    Differential Revision: https://reviews.llvm.org/D128587
+
+diff --git a/libcxx/include/__type_traits/is_abstract.h b/libcxx/include/__type_traits/is_abstract.h
+index c74b3284f75d..0480118b3761 100644
+--- a/libcxx/include/__type_traits/is_abstract.h
++++ b/libcxx/include/__type_traits/is_abstract.h
+@@ -23,7 +23,7 @@ template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_abstract
+ 
+ #if _LIBCPP_STD_VER > 14
+ template <class _Tp>
+-inline constexpr bool is_abstract_v = __is_abstract(_Tp);
++inline constexpr bool is_abstract_v = is_abstract<_Tp>::value;
+ #endif
+ 
+ _LIBCPP_END_NAMESPACE_STD
+diff --git a/libcxx/include/__type_traits/is_aggregate.h b/libcxx/include/__type_traits/is_aggregate.h
+index ea9de84f96d0..f32aec8ac543 100644
+--- a/libcxx/include/__type_traits/is_aggregate.h
++++ b/libcxx/include/__type_traits/is_aggregate.h
+@@ -24,7 +24,7 @@ template <class _Tp> struct _LIBCPP_TEMPLATE_VIS
+ is_aggregate : public integral_constant<bool, __is_aggregate(_Tp)> {};
+ 
+ template <class _Tp>
+-inline constexpr bool is_aggregate_v = __is_aggregate(_Tp);
++inline constexpr bool is_aggregate_v = is_aggregate<_Tp>::value;
+ 
+ #endif // _LIBCPP_STD_VER > 14
+ 
+diff --git a/libcxx/include/__type_traits/is_arithmetic.h b/libcxx/include/__type_traits/is_arithmetic.h
+index cfe2fff7d439..6d631f41c7d4 100644
+--- a/libcxx/include/__type_traits/is_arithmetic.h
++++ b/libcxx/include/__type_traits/is_arithmetic.h
+@@ -20,19 +20,10 @@
+ 
+ _LIBCPP_BEGIN_NAMESPACE_STD
+ 
+-#if __has_keyword(__is_arithmetic)
+-
+-template <class _Tp>
+-struct _LIBCPP_TEMPLATE_VIS is_arithmetic : integral_constant<bool, __is_arithmetic(_Tp)> {};
+-
+-#else
+-
+ template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_arithmetic
+     : public integral_constant<bool, is_integral<_Tp>::value      ||
+                                      is_floating_point<_Tp>::value> {};
+ 
+-#endif // __has_keyword(__is_arithmetic)
+-
+ #if _LIBCPP_STD_VER > 14
+ template <class _Tp>
+ inline constexpr bool is_arithmetic_v = is_arithmetic<_Tp>::value;
+diff --git a/libcxx/include/__type_traits/is_base_of.h b/libcxx/include/__type_traits/is_base_of.h
+index 0e6dec0b5ee0..b944a65d2823 100644
+--- a/libcxx/include/__type_traits/is_base_of.h
++++ b/libcxx/include/__type_traits/is_base_of.h
+@@ -24,7 +24,7 @@ struct _LIBCPP_TEMPLATE_VIS is_base_of
+ 
+ #if _LIBCPP_STD_VER > 14
+ template <class _Bp, class _Dp>
+-inline constexpr bool is_base_of_v = __is_base_of(_Bp, _Dp);
++inline constexpr bool is_base_of_v = is_base_of<_Bp, _Dp>::value;
+ #endif
+ 
+ _LIBCPP_END_NAMESPACE_STD
+diff --git a/libcxx/include/__type_traits/is_class.h b/libcxx/include/__type_traits/is_class.h
+index cddaeae6e8a9..8e07a5ef070e 100644
+--- a/libcxx/include/__type_traits/is_class.h
++++ b/libcxx/include/__type_traits/is_class.h
+@@ -20,12 +20,27 @@
+ 
+ _LIBCPP_BEGIN_NAMESPACE_STD
+ 
++#if __has_feature(is_class) || defined(_LIBCPP_COMPILER_GCC)
++
+ template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_class
+     : public integral_constant<bool, __is_class(_Tp)> {};
+ 
++#else
++
++namespace __is_class_imp
++{
++template <class _Tp> true_type  __test(int _Tp::*);
++template <class _Tp> false_type __test(...);
++}
++
++template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_class
++    : public integral_constant<bool, decltype(__is_class_imp::__test<_Tp>(0))::value && !is_union<_Tp>::value> {};
++
++#endif
++
+ #if _LIBCPP_STD_VER > 14
+ template <class _Tp>
+-inline constexpr bool is_class_v = __is_class(_Tp);
++inline constexpr bool is_class_v = is_class<_Tp>::value;
+ #endif
+ 
+ _LIBCPP_END_NAMESPACE_STD
+diff --git a/libcxx/include/__type_traits/is_compound.h b/libcxx/include/__type_traits/is_compound.h
+index 643edd78229a..f055155b9f54 100644
+--- a/libcxx/include/__type_traits/is_compound.h
++++ b/libcxx/include/__type_traits/is_compound.h
+@@ -19,7 +19,8 @@
+ 
+ _LIBCPP_BEGIN_NAMESPACE_STD
+ 
+-#if __has_keyword(__is_compound)
++// >= 11 because in C++03 nullptr isn't actually nullptr
++#if __has_keyword(__is_compound) && !defined(_LIBCPP_CXX03_LANG)
+ 
+ template<class _Tp>
+ struct _LIBCPP_TEMPLATE_VIS is_compound : _BoolConstant<__is_compound(_Tp)> { };
+diff --git a/libcxx/include/__type_traits/is_empty.h b/libcxx/include/__type_traits/is_empty.h
+index 042b4e68074c..e81c6f7e2fa4 100644
+--- a/libcxx/include/__type_traits/is_empty.h
++++ b/libcxx/include/__type_traits/is_empty.h
+@@ -18,13 +18,38 @@
+ 
+ _LIBCPP_BEGIN_NAMESPACE_STD
+ 
++#if __has_feature(is_empty) || defined(_LIBCPP_COMPILER_GCC)
++
+ template <class _Tp>
+ struct _LIBCPP_TEMPLATE_VIS is_empty
+     : public integral_constant<bool, __is_empty(_Tp)> {};
+ 
++#else  // __has_feature(is_empty)
++
++template <class _Tp>
++struct __is_empty1
++    : public _Tp
++{
++    double __lx;
++};
++
++struct __is_empty2
++{
++    double __lx;
++};
++
++template <class _Tp, bool = is_class<_Tp>::value>
++struct __libcpp_empty : public integral_constant<bool, sizeof(__is_empty1<_Tp>) == sizeof(__is_empty2)> {};
++
++template <class _Tp> struct __libcpp_empty<_Tp, false> : public false_type {};
++
++template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_empty : public __libcpp_empty<_Tp> {};
++
++#endif // __has_feature(is_empty)
++
+ #if _LIBCPP_STD_VER > 14
+ template <class _Tp>
+-inline constexpr bool is_empty_v = __is_empty(_Tp);
++inline constexpr bool is_empty_v = is_empty<_Tp>::value;
+ #endif
+ 
+ _LIBCPP_END_NAMESPACE_STD
+diff --git a/libcxx/include/__type_traits/is_enum.h b/libcxx/include/__type_traits/is_enum.h
+index bf6921c88c94..ac160da84e99 100644
+--- a/libcxx/include/__type_traits/is_enum.h
++++ b/libcxx/include/__type_traits/is_enum.h
+@@ -19,6 +19,8 @@
+ 
+ _LIBCPP_BEGIN_NAMESPACE_STD
+ 
++#if __has_feature(is_enum) || defined(_LIBCPP_COMPILER_GCC)
++
+ template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_enum
+     : public integral_constant<bool, __is_enum(_Tp)> {};
+ 
+@@ -27,6 +29,27 @@ template <class _Tp>
+ inline constexpr bool is_enum_v = __is_enum(_Tp);
+ #endif
+ 
++#else
++
++template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_enum
++    : public integral_constant<bool, !is_void<_Tp>::value             &&
++                                     !is_integral<_Tp>::value         &&
++                                     !is_floating_point<_Tp>::value   &&
++                                     !is_array<_Tp>::value            &&
++                                     !is_pointer<_Tp>::value          &&
++                                     !is_reference<_Tp>::value        &&
++                                     !is_member_pointer<_Tp>::value   &&
++                                     !is_union<_Tp>::value            &&
++                                     !is_class<_Tp>::value            &&
++                                     !is_function<_Tp>::value         > {};
++
++#if _LIBCPP_STD_VER > 14
++template <class _Tp>
++inline constexpr bool is_enum_v = is_enum<_Tp>::value;
++#endif
++
++#endif // __has_feature(is_enum) || defined(_LIBCPP_COMPILER_GCC)
++
+ _LIBCPP_END_NAMESPACE_STD
+ 
+ #endif // _LIBCPP___TYPE_TRAITS_IS_ENUM_H
+diff --git a/libcxx/include/__type_traits/is_final.h b/libcxx/include/__type_traits/is_final.h
+index 74ced23a14e0..f2d9b5b3c8f4 100644
+--- a/libcxx/include/__type_traits/is_final.h
++++ b/libcxx/include/__type_traits/is_final.h
+@@ -28,7 +28,7 @@ is_final : public integral_constant<bool, __is_final(_Tp)> {};
+ 
+ #if _LIBCPP_STD_VER > 14
+ template <class _Tp>
+-inline constexpr bool is_final_v = __is_final(_Tp);
++inline constexpr bool is_final_v = is_final<_Tp>::value;
+ #endif
+ 
+ _LIBCPP_END_NAMESPACE_STD
+diff --git a/libcxx/include/__type_traits/is_floating_point.h b/libcxx/include/__type_traits/is_floating_point.h
+index d6211af74357..d93e5d99d07b 100644
+--- a/libcxx/include/__type_traits/is_floating_point.h
++++ b/libcxx/include/__type_traits/is_floating_point.h
+@@ -19,13 +19,6 @@
+ 
+ _LIBCPP_BEGIN_NAMESPACE_STD
+ 
+-#if __has_keyword(__is_floating_point)
+-
+-template <class _Tp>
+-struct _LIBCPP_TEMPLATE_VIS is_floating_point : integral_constant<bool, __is_floating_point(_Tp)> {};
+-
+-#else
+-
+ template <class _Tp> struct __libcpp_is_floating_point              : public false_type {};
+ template <>          struct __libcpp_is_floating_point<float>       : public true_type {};
+ template <>          struct __libcpp_is_floating_point<double>      : public true_type {};
+@@ -34,8 +27,6 @@ template <>          struct __libcpp_is_floating_point<long double> : public tru
+ template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_floating_point
+     : public __libcpp_is_floating_point<typename remove_cv<_Tp>::type> {};
+ 
+-#endif // __has_keyword(__is_floating_point)
+-
+ #if _LIBCPP_STD_VER > 14
+ template <class _Tp>
+ inline constexpr bool is_floating_point_v = is_floating_point<_Tp>::value;
+diff --git a/libcxx/include/__type_traits/is_function.h b/libcxx/include/__type_traits/is_function.h
+index bce980c21b4e..23ba9cbb0dd6 100644
+--- a/libcxx/include/__type_traits/is_function.h
++++ b/libcxx/include/__type_traits/is_function.h
+@@ -20,18 +20,15 @@
+ 
+ _LIBCPP_BEGIN_NAMESPACE_STD
+ 
+-#if __has_keyword(__is_function)
+-
+-template <class _Tp>
+-struct _LIBCPP_TEMPLATE_VIS is_function : integral_constant<bool, __is_function(_Tp)> {};
+-
++template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_function
++    : public _BoolConstant<
++#ifdef __clang__
++    __is_function(_Tp)
+ #else
++ !(is_reference<_Tp>::value || is_const<const _Tp>::value)
++#endif
++    > {};
+ 
+-template <class _Tp>
+-struct _LIBCPP_TEMPLATE_VIS is_function
+-    : public integral_constant<bool, !(is_reference<_Tp>::value || is_const<const _Tp>::value)> {};
+-
+-#endif // __has_keyword(__is_function)
+ 
+ #if _LIBCPP_STD_VER > 14
+ template <class _Tp>
+diff --git a/libcxx/include/__type_traits/is_fundamental.h b/libcxx/include/__type_traits/is_fundamental.h
+index aaa7063eef9b..859cfde39bfa 100644
+--- a/libcxx/include/__type_traits/is_fundamental.h
++++ b/libcxx/include/__type_traits/is_fundamental.h
+@@ -20,7 +20,11 @@
+ 
+ _LIBCPP_BEGIN_NAMESPACE_STD
+ 
+-#if __has_keyword(__is_fundamental)
++// Before Clang 10, __is_fundamental didn't work for nullptr_t.
++// In C++03 nullptr_t is library-provided but must still count as "fundamental."
++#if __has_keyword(__is_fundamental) &&                                         \
++    !(defined(_LIBCPP_CLANG_VER) && _LIBCPP_CLANG_VER < 1000) &&               \
++    !defined(_LIBCPP_CXX03_LANG)
+ 
+ template<class _Tp>
+ struct _LIBCPP_TEMPLATE_VIS is_fundamental : _BoolConstant<__is_fundamental(_Tp)> { };
+diff --git a/libcxx/include/__type_traits/is_pointer.h b/libcxx/include/__type_traits/is_pointer.h
+index 2139b03282e7..ab66989ef86d 100644
+--- a/libcxx/include/__type_traits/is_pointer.h
++++ b/libcxx/include/__type_traits/is_pointer.h
+@@ -19,7 +19,9 @@
+ 
+ _LIBCPP_BEGIN_NAMESPACE_STD
+ 
+-#if __has_keyword(__is_pointer)
++// Before AppleClang 12.0.5, __is_pointer didn't work for Objective-C types.
++#if __has_keyword(__is_pointer) &&                                             \
++    !(defined(_LIBCPP_APPLE_CLANG_VER) && _LIBCPP_APPLE_CLANG_VER < 1205)
+ 
+ template<class _Tp>
+ struct _LIBCPP_TEMPLATE_VIS is_pointer : _BoolConstant<__is_pointer(_Tp)> { };
+diff --git a/libcxx/include/__type_traits/is_scalar.h b/libcxx/include/__type_traits/is_scalar.h
+index 0ca34c7cf79b..f745bf5e3638 100644
+--- a/libcxx/include/__type_traits/is_scalar.h
++++ b/libcxx/include/__type_traits/is_scalar.h
+@@ -22,7 +22,8 @@
+ 
+ _LIBCPP_BEGIN_NAMESPACE_STD
+ 
+-#if __has_keyword(__is_scalar)
++// In C++03 nullptr_t is library-provided but must still count as "scalar."
++#if __has_keyword(__is_scalar) && !defined(_LIBCPP_CXX03_LANG)
+ 
+ template<class _Tp>
+ struct _LIBCPP_TEMPLATE_VIS is_scalar : _BoolConstant<__is_scalar(_Tp)> { };
+diff --git a/libcxx/include/__type_traits/is_union.h b/libcxx/include/__type_traits/is_union.h
+index 3e8cffe034d4..d02931fc01d3 100644
+--- a/libcxx/include/__type_traits/is_union.h
++++ b/libcxx/include/__type_traits/is_union.h
+@@ -19,12 +19,22 @@
+ 
+ _LIBCPP_BEGIN_NAMESPACE_STD
+ 
++#if __has_feature(is_union) || defined(_LIBCPP_COMPILER_GCC)
++
+ template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_union
+     : public integral_constant<bool, __is_union(_Tp)> {};
+ 
++#else
++
++template <class _Tp> struct __libcpp_union : public false_type {};
++template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_union
++    : public __libcpp_union<typename remove_cv<_Tp>::type> {};
++
++#endif
++
+ #if _LIBCPP_STD_VER > 14
+ template <class _Tp>
+-inline constexpr bool is_union_v = __is_union(_Tp);
++inline constexpr bool is_union_v = is_union<_Tp>::value;
+ #endif
+ 
+ _LIBCPP_END_NAMESPACE_STD
+diff --git a/libcxx/include/__type_traits/is_unsigned.h b/libcxx/include/__type_traits/is_unsigned.h
+index bb279fdb729d..b0522812aad3 100644
+--- a/libcxx/include/__type_traits/is_unsigned.h
++++ b/libcxx/include/__type_traits/is_unsigned.h
+@@ -20,8 +20,11 @@
+ 
+ _LIBCPP_BEGIN_NAMESPACE_STD
+ 
+-// Before AppleClang 14, __is_unsigned returned true for enums with signed underlying type.
+-#if __has_keyword(__is_unsigned) && !(defined(_LIBCPP_APPLE_CLANG_VER) && _LIBCPP_APPLE_CLANG_VER < 1400)
++// Before Clang 13, __is_unsigned returned true for enums with signed underlying type.
++// No currently-released version of AppleClang contains the fixed intrinsic.
++#if __has_keyword(__is_unsigned) &&                                            \
++    !(defined(_LIBCPP_CLANG_VER) && _LIBCPP_CLANG_VER < 1300) &&               \
++    !defined(_LIBCPP_APPLE_CLANG_VER)
+ 
+ template<class _Tp>
+ struct _LIBCPP_TEMPLATE_VIS is_unsigned : _BoolConstant<__is_unsigned(_Tp)> { };
diff --git a/sys-libs/libcxx/files/db126ae243cd70e4f68fd50a7c619740e90e1dc6.patch b/sys-libs/libcxx/files/db126ae243cd70e4f68fd50a7c619740e90e1dc6.patch
new file mode 100644
index 0000000..0a40197
--- /dev/null
+++ b/sys-libs/libcxx/files/db126ae243cd70e4f68fd50a7c619740e90e1dc6.patch
@@ -0,0 +1,76 @@
+commit db126ae243cd70e4f68fd50a7c619740e90e1dc6
+Author: Daniel Kiss <daniel.kiss@arm.com>
+Date:   Wed Aug 11 10:11:30 2021 +0200
+
+    [Arm][Unwind][libc++abi] Add _Unwind_ForcedUnwind to EHABI.
+    
+    _Unwind_ForcedUnwind is not mandated by the EHABI but for compatibilty
+    reasons adding so the interface to higher layers would be the same.
+    Dropping EHABI specific _Unwind_Stop_Fn definition since it is not defined by EHABI.
+    
+    Reviewed By: MaskRay
+    
+    Differential Revision: https://reviews.llvm.org/D89570
+
+diff --git a/libcxxabi/src/cxa_personality.cpp b/libcxxabi/src/cxa_personality.cpp
+index a4f81d74735f..d63741b19b3d 100644
+--- a/libcxxabi/src/cxa_personality.cpp
++++ b/libcxxabi/src/cxa_personality.cpp
+@@ -1109,7 +1109,14 @@ __gxx_personality_v0(_Unwind_State state,
+         // Either we didn't do a phase 1 search (due to forced unwinding), or
+         //  phase 1 reported no catching-handlers.
+         // Search for a (non-catching) cleanup
+-        scan_eh_tab(results, _UA_CLEANUP_PHASE, native_exception, unwind_exception, context);
++        if (is_force_unwinding)
++          scan_eh_tab(
++              results,
++              static_cast<_Unwind_Action>(_UA_CLEANUP_PHASE | _UA_FORCE_UNWIND),
++              native_exception, unwind_exception, context);
++        else
++          scan_eh_tab(results, _UA_CLEANUP_PHASE, native_exception,
++                      unwind_exception, context);
+         if (results.reason == _URC_HANDLER_FOUND)
+         {
+             // Found a non-catching handler
+diff --git a/libcxxabi/test/forced_unwind1.pass.cpp b/libcxxabi/test/forced_unwind1.pass.cpp
+index 69f93ffaacc0..b6963a024299 100644
+--- a/libcxxabi/test/forced_unwind1.pass.cpp
++++ b/libcxxabi/test/forced_unwind1.pass.cpp
+@@ -20,11 +20,6 @@
+ #include <tuple>
+ #include <__cxxabi_config.h>
+ 
+-#if defined(_LIBCXXABI_ARM_EHABI)
+-int main(int, char**) {
+-  return 0;
+-}
+-#else
+ static int bits = 0;
+ 
+ struct C {
+@@ -84,4 +79,3 @@ int main(int, char**) {
+   test();
+   return bits != 15;
+ }
+-#endif
+diff --git a/libcxxabi/test/forced_unwind2.pass.cpp b/libcxxabi/test/forced_unwind2.pass.cpp
+index cb527581687a..037f0499282f 100644
+--- a/libcxxabi/test/forced_unwind2.pass.cpp
++++ b/libcxxabi/test/forced_unwind2.pass.cpp
+@@ -21,11 +21,6 @@
+ #include <tuple>
+ #include <__cxxabi_config.h>
+ 
+-#if defined(_LIBCXXABI_ARM_EHABI)
+-int main(int, char**) {
+-  return 0;
+-}
+-#else
+ template <typename T>
+ struct Stop;
+ 
+@@ -64,4 +59,3 @@ int main(int, char**) {
+   }
+   abort();
+ }
+-#endif
diff --git a/sys-libs/libcxx/files/de4a57cb21a19179d7be830967e642b868a05a91.patch b/sys-libs/libcxx/files/de4a57cb21a19179d7be830967e642b868a05a91.patch
new file mode 100644
index 0000000..681c2fd
--- /dev/null
+++ b/sys-libs/libcxx/files/de4a57cb21a19179d7be830967e642b868a05a91.patch
@@ -0,0 +1,3393 @@
+commit de4a57cb21a19179d7be830967e642b868a05a91
+Author: Louis Dionne <ldionne.2@gmail.com>
+Date:   Mon Jun 27 15:53:41 2022 -0400
+
+    [libc++] Re-add transitive includes that had been removed since LLVM 14
+    
+    This commit re-adds transitive includes that had been removed by
+    4cd04d1687f1, c36870c8e79c, a83f4b9cda57, 1458458b558d, 2e2f3158c604,
+    and 489637e66dd3. This should cover almost all the includes that had
+    been removed since LLVM 14 and that would contribute to breaking user
+    code when releasing LLVM 15.
+    
+    It is possible to disable the inclusion of these headers by defining
+    _LIBCPP_REMOVE_TRANSITIVE_INCLUDES. The intent is that vendors will
+    enable that macro and start fixing downstream issues immediately. We
+    can then remove the macro (and the transitive includes) by default in
+    a future release. That way, we will break users only once by removing
+    transitive includes in bulk instead of doing it bit by bit a every
+    release, which is more disruptive for users.
+    
+    Note 1: The set of headers to re-add was found by re-generating the
+            transitive include test on a checkout of release/14.x, which
+            provided the list of all transitive includes we used to provide.
+    
+    Note 2: Several includes of <vector>, <optional>, <array> and <unordered_map>
+            have been added in this commit. These transitive inclusions were
+            added when we implemented boyer_moore_searcher in <functional>.
+    
+    Note 3: This is a best effort patch to try and resolve downstream breakage
+            caused since branching LLVM 14. I wasn't able to perfectly mirror
+            transitive includes in LLVM 14 for a few headers, so I added a
+            release note explaining it. To summarize, adding boyer_moore_searcher
+            created a bunch of circular dependencies, so we have to break
+            backwards compatibility in a few cases.
+    
+    Differential Revision: https://reviews.llvm.org/D128661
+
+diff --git a/libcxx/cmake/caches/Generic-no-transitive-includes.cmake b/libcxx/cmake/caches/Generic-no-transitive-includes.cmake
+new file mode 100644
+index 000000000000..31e807366e16
+--- /dev/null
++++ b/libcxx/cmake/caches/Generic-no-transitive-includes.cmake
+@@ -0,0 +1,2 @@
++set(LIBCXX_TEST_PARAMS "enable_transitive_includes=False" CACHE STRING "")
++set(LIBCXXABI_TEST_PARAMS "${LIBCXX_TEST_PARAMS}" CACHE STRING "")
+diff --git a/libcxx/docs/ReleaseNotes.rst b/libcxx/docs/ReleaseNotes.rst
+index c7f9cb3c270f..dfc849c771fa 100644
+--- a/libcxx/docs/ReleaseNotes.rst
++++ b/libcxx/docs/ReleaseNotes.rst
+@@ -97,19 +97,15 @@ API Changes
+   ``<filesystem>`` header. The associated macro
+   ``_LIBCPP_DEPRECATED_EXPERIMENTAL_FILESYSTEM`` has also been removed.
+ 
+-- Some libc++ headers no longer transitively include all of:
+-    - ``<algorithm>``
+-    - ``<chrono>``
+-    - ``<exception>``
+-    - ``<functional>``
+-    - ``<iterator>``
+-    - ``<new>``
+-    - ``<typeinfo>``
+-    - ``<utility>``
+-
+-  If, after updating libc++, you see compiler errors related to missing declarations
+-  in namespace ``std``, it might be because one of your source files now needs to
+-  include one or more of the headers listed above.
++- Libc++ is getting ready to remove unnecessary transitive inclusions. This may
++  break your code in the future. To future-proof your code to these removals,
++  please compile your code with ``_LIBCPP_REMOVE_TRANSITIVE_INCLUDES`` defined
++  and fix any compilation error resulting from missing includes.
++
++- The ``<algorithm>``, ``<array>``, ``<optional>``, ``<unordered_map>`` and ``<vector>``
++  headers no longer transitively include the ``<functional>`` header. If you see compiler
++  errors related to missing declarations in namespace ``std``, make sure you have the
++  necessary includes.
+ 
+ - The integer distributions ``binomial_distribution``, ``discrete_distribution``,
+   ``geometric_distribution``, ``negative_binomial_distribution``, ``poisson_distribution``,
+diff --git a/libcxx/include/algorithm b/libcxx/include/algorithm
+index cb1cb1dc6b43..9ae647181c5f 100644
+--- a/libcxx/include/algorithm
++++ b/libcxx/include/algorithm
+@@ -1260,6 +1260,12 @@ template <class BidirectionalIterator, class Compare>
+ #include <__algorithm/unwrap_iter.h>
+ #include <__algorithm/upper_bound.h>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <chrono>
++#  include <iterator>
++#  include <utility>
++#endif
++
+ // standard-mandated includes
+ #include <initializer_list>
+ 
+diff --git a/libcxx/include/any b/libcxx/include/any
+index 991d887bf29a..7e12034b45a7 100644
+--- a/libcxx/include/any
++++ b/libcxx/include/any
+@@ -94,6 +94,10 @@ namespace std {
+ #include <typeinfo>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <chrono>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/array b/libcxx/include/array
+index ab919309b966..e96c3d813339 100644
+--- a/libcxx/include/array
++++ b/libcxx/include/array
+@@ -123,6 +123,12 @@ template <size_t I, class T, size_t N> const T&& get(const array<T, N>&&) noexce
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <iterator>
++#  include <utility>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/atomic b/libcxx/include/atomic
+index 3ccc8bc94436..0c6d3079c96a 100644
+--- a/libcxx/include/atomic
++++ b/libcxx/include/atomic
+@@ -534,6 +534,10 @@ template <class T>
+ # include <__threading_support>
+ #endif
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <chrono>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/bit b/libcxx/include/bit
+index f634372836b3..fe1bcadc818a 100644
+--- a/libcxx/include/bit
++++ b/libcxx/include/bit
+@@ -71,6 +71,10 @@ namespace std {
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iosfwd>
++#endif
++
+ #if defined(__IBMCPP__)
+ #  include "__support/ibm/support.h"
+ #endif
+diff --git a/libcxx/include/charconv b/libcxx/include/charconv
+index 80aa44d28e81..6a63e5fe9057 100644
+--- a/libcxx/include/charconv
++++ b/libcxx/include/charconv
+@@ -96,6 +96,10 @@ namespace std {
+ #include <limits>
+ #include <type_traits>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iosfwd>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/coroutine b/libcxx/include/coroutine
+index a96c4a7a5af8..6582f5554ed0 100644
+--- a/libcxx/include/coroutine
++++ b/libcxx/include/coroutine
+@@ -46,6 +46,10 @@ struct suspend_always;
+ #include <__coroutine/trivial_awaitables.h>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iosfwd>
++#endif
++
+ // standard-mandated includes
+ #include <compare>
+ 
+diff --git a/libcxx/include/deque b/libcxx/include/deque
+index 27cd7b213e81..d8f48f07954c 100644
+--- a/libcxx/include/deque
++++ b/libcxx/include/deque
+@@ -185,6 +185,12 @@ template <class T, class Allocator, class Predicate>
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <functional>
++#  include <iterator>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/experimental/simd b/libcxx/include/experimental/simd
+index 02a7a490a160..9b55cc009986 100644
+--- a/libcxx/include/experimental/simd
++++ b/libcxx/include/experimental/simd
+@@ -656,6 +656,11 @@ public:
+ #include <experimental/__config>
+ #include <tuple>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <functional>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/experimental/unordered_map b/libcxx/include/experimental/unordered_map
+index 71ce4408c49f..636d31bdc557 100644
+--- a/libcxx/include/experimental/unordered_map
++++ b/libcxx/include/experimental/unordered_map
+@@ -45,6 +45,14 @@ namespace pmr {
+ #include <experimental/memory_resource>
+ #include <unordered_map>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <array>
++#  include <bit>
++#  include <functional>
++#  include <vector>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/ext/hash_map b/libcxx/include/ext/hash_map
+index 92572c08c24c..8afe12f6319b 100644
+--- a/libcxx/include/ext/hash_map
++++ b/libcxx/include/ext/hash_map
+@@ -210,6 +210,10 @@ template <class Key, class T, class Hash, class Pred, class Alloc>
+ #include <stdexcept>
+ #include <type_traits>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iterator>
++#endif
++
+ #if defined(__DEPRECATED) && __DEPRECATED
+ #if defined(_LIBCPP_WARNING)
+     _LIBCPP_WARNING("Use of the header <ext/hash_map> is deprecated.  Migrate to <unordered_map>")
+diff --git a/libcxx/include/ext/hash_set b/libcxx/include/ext/hash_set
+index eb6193940668..433c13f80bb2 100644
+--- a/libcxx/include/ext/hash_set
++++ b/libcxx/include/ext/hash_set
+@@ -199,6 +199,10 @@ template <class Value, class Hash, class Pred, class Alloc>
+ #include <ext/__hash>
+ #include <functional>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iterator>
++#endif
++
+ #if defined(__DEPRECATED) && __DEPRECATED
+ #if defined(_LIBCPP_WARNING)
+     _LIBCPP_WARNING("Use of the header <ext/hash_set> is deprecated.  Migrate to <unordered_set>")
+diff --git a/libcxx/include/forward_list b/libcxx/include/forward_list
+index 4600d82ecdd8..6a7272027351 100644
+--- a/libcxx/include/forward_list
++++ b/libcxx/include/forward_list
+@@ -194,6 +194,12 @@ template <class T, class Allocator, class Predicate>
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <functional>
++#  include <iterator>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/functional b/libcxx/include/functional
+index dd39e274a56b..ca17dd4ed3de 100644
+--- a/libcxx/include/functional
++++ b/libcxx/include/functional
+@@ -529,6 +529,10 @@ POLICY:  For non-variadic implementations, the number of arguments is limited
+ #include <typeinfo>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <utility>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/future b/libcxx/include/future
+index 4f49bf158bac..f4a5b43eef08 100644
+--- a/libcxx/include/future
++++ b/libcxx/include/future
+@@ -378,6 +378,10 @@ template <class R, class Alloc> struct uses_allocator<packaged_task<R>, Alloc>;
+ #include <thread>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <chrono>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/iterator b/libcxx/include/iterator
+index dfa1d35e0d90..d2f5ac2c0e93 100644
+--- a/libcxx/include/iterator
++++ b/libcxx/include/iterator
+@@ -724,6 +724,13 @@ template <class E> constexpr const E* data(initializer_list<E> il) noexcept;
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <exception>
++#  include <new>
++#  include <typeinfo>
++#  include <utility>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/list b/libcxx/include/list
+index 7ae1bc897ce0..d75b15c060be 100644
+--- a/libcxx/include/list
++++ b/libcxx/include/list
+@@ -202,6 +202,12 @@ template <class T, class Allocator, class Predicate>
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <functional>
++#  include <iterator>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/locale b/libcxx/include/locale
+index 8ac2aacb6edf..7f6f1e509745 100644
+--- a/libcxx/include/locale
++++ b/libcxx/include/locale
+@@ -211,6 +211,10 @@ template <class charT> class messages_byname;
+ #include <streambuf>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iterator>
++#endif
++
+ #if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
+ // Most unix variants have catopen.  These are the specific ones that don't.
+ #  if !defined(__BIONIC__) && !defined(_NEWLIB_VERSION) && !defined(__EMSCRIPTEN__)
+diff --git a/libcxx/include/map b/libcxx/include/map
+index b253d0ffc848..106ed5259ed9 100644
+--- a/libcxx/include/map
++++ b/libcxx/include/map
+@@ -546,6 +546,12 @@ erase_if(multimap<Key, T, Compare, Allocator>& c, Predicate pred);  // C++20
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <functional>
++#  include <iterator>
++#  include <utility>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/memory b/libcxx/include/memory
+index aafe4bf4ba00..299746022274 100644
+--- a/libcxx/include/memory
++++ b/libcxx/include/memory
+@@ -871,6 +871,11 @@ template<size_t N, class T>
+ #include <typeinfo>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iterator>
++#  include <utility>
++#endif
++
+ // standard-mandated includes
+ #include <compare>
+ 
+diff --git a/libcxx/include/mutex b/libcxx/include/mutex
+index ded33514f79d..5dfaad2b3510 100644
+--- a/libcxx/include/mutex
++++ b/libcxx/include/mutex
+@@ -198,6 +198,10 @@ template<class Callable, class ...Args>
+ #endif
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <functional>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/numeric b/libcxx/include/numeric
+index 809838b21071..057faf508e6b 100644
+--- a/libcxx/include/numeric
++++ b/libcxx/include/numeric
+@@ -163,6 +163,11 @@ template<class T>
+ #include <__numeric/transform_inclusive_scan.h>
+ #include <__numeric/transform_reduce.h>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <functional>
++#  include <iterator>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/optional b/libcxx/include/optional
+index 73e902dc84be..349ceb5bc7f6 100644
+--- a/libcxx/include/optional
++++ b/libcxx/include/optional
+@@ -177,6 +177,21 @@ template<class T>
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <atomic>
++#  include <chrono>
++#  include <climits>
++#  include <concepts>
++#  include <ctime>
++#  include <iterator>
++#  include <memory>
++#  include <ratio>
++#  include <tuple>
++#  include <typeinfo>
++#  include <utility>
++#  include <variant>
++#endif
++
+ // standard-mandated includes
+ #include <compare>
+ 
+diff --git a/libcxx/include/ostream b/libcxx/include/ostream
+index aa4c8c3d8792..283774585b92 100644
+--- a/libcxx/include/ostream
++++ b/libcxx/include/ostream
+@@ -142,6 +142,10 @@ template <class Stream, class T>
+ #include <streambuf>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iterator>
++#endif
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #  pragma GCC system_header
+ #endif
+diff --git a/libcxx/include/queue b/libcxx/include/queue
+index a6e8a52e19b5..9a5cfb39f24e 100644
+--- a/libcxx/include/queue
++++ b/libcxx/include/queue
+@@ -231,6 +231,10 @@ template <class T, class Container, class Compare>
+ #include <vector>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <functional>
++#endif
++
+ // standard-mandated includes
+ #include <compare>
+ #include <initializer_list>
+diff --git a/libcxx/include/random b/libcxx/include/random
+index b0817dd3a7cc..41ee4d85fda3 100644
+--- a/libcxx/include/random
++++ b/libcxx/include/random
+@@ -1718,6 +1718,10 @@ class piecewise_linear_distribution
+ #include <__random/weibull_distribution.h>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#endif
++
+ // standard-mandated includes
+ #include <initializer_list>
+ 
+diff --git a/libcxx/include/regex b/libcxx/include/regex
+index a0a6561ef030..a117c50f3984 100644
+--- a/libcxx/include/regex
++++ b/libcxx/include/regex
+@@ -778,6 +778,11 @@ typedef regex_token_iterator<wstring::const_iterator> wsregex_token_iterator;
+ #include <vector>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iterator>
++#  include <utility>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/set b/libcxx/include/set
+index 3c062a123125..da62f6f5ca5b 100644
+--- a/libcxx/include/set
++++ b/libcxx/include/set
+@@ -485,6 +485,11 @@ erase_if(multiset<Key, Compare, Allocator>& c, Predicate pred);  // C++20
+ #include <__utility/forward.h>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <functional>
++#  include <iterator>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/span b/libcxx/include/span
+index 84b23ce60287..00793a210cbe 100644
+--- a/libcxx/include/span
++++ b/libcxx/include/span
+@@ -148,6 +148,11 @@ template<class R>
+ #include <type_traits>  // for remove_cv, etc
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <functional>
++#  include <iterator>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/stack b/libcxx/include/stack
+index 59878c1d84df..86435c4559de 100644
+--- a/libcxx/include/stack
++++ b/libcxx/include/stack
+@@ -107,6 +107,10 @@ template <class T, class Container>
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <functional>
++#endif
++
+ // standard-mandated includes
+ #include <compare>
+ #include <initializer_list>
+diff --git a/libcxx/include/string b/libcxx/include/string
+index 0ce8c4fecebd..bb169a82c9e7 100644
+--- a/libcxx/include/string
++++ b/libcxx/include/string
+@@ -555,6 +555,16 @@ basic_string<char32_t> operator "" s( const char32_t *str, size_t len );
+ #  include <cwchar>
+ #endif
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <functional>
++#  include <iterator>
++#  include <new>
++#  include <typeinfo>
++#  include <utility>
++#  include <vector>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/string_view b/libcxx/include/string_view
+index 8088f66bcdc5..28013e7cb08e 100644
+--- a/libcxx/include/string_view
++++ b/libcxx/include/string_view
+@@ -218,6 +218,12 @@ namespace std {
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <functional>
++#  include <iterator>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/thread b/libcxx/include/thread
+index 06b4824d4c6f..1c8eb198986d 100644
+--- a/libcxx/include/thread
++++ b/libcxx/include/thread
+@@ -98,6 +98,11 @@ void sleep_for(const chrono::duration<Rep, Period>& rel_time);
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <chrono>
++#  include <functional>
++#endif
++
+ // standard-mandated includes
+ #include <compare>
+ 
+diff --git a/libcxx/include/tuple b/libcxx/include/tuple
+index d36b9902526b..221eb23dd3f8 100644
+--- a/libcxx/include/tuple
++++ b/libcxx/include/tuple
+@@ -219,6 +219,14 @@ template <class... Types>
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <exception>
++#  include <iosfwd>
++#  include <new>
++#  include <typeinfo>
++#  include <utility>
++#endif
++
+ // standard-mandated includes
+ #include <compare>
+ 
+diff --git a/libcxx/include/typeindex b/libcxx/include/typeindex
+index fb61cfc81769..5fb7b30ecfee 100644
+--- a/libcxx/include/typeindex
++++ b/libcxx/include/typeindex
+@@ -50,6 +50,12 @@ struct hash<type_index>
+ #include <typeinfo>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iosfwd>
++#  include <new>
++#  include <utility>
++#endif
++
+ // standard-mandated includes
+ #include <compare>
+ 
+diff --git a/libcxx/include/unordered_map b/libcxx/include/unordered_map
+index 12b4e5af63f5..72749e11e843 100644
+--- a/libcxx/include/unordered_map
++++ b/libcxx/include/unordered_map
+@@ -531,6 +531,12 @@ template <class Key, class T, class Hash, class Pred, class Alloc>
+ #include <tuple>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <bit>
++#  include <iterator>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/unordered_set b/libcxx/include/unordered_set
+index 3fc686c8d354..97aa935f187c 100644
+--- a/libcxx/include/unordered_set
++++ b/libcxx/include/unordered_set
+@@ -474,6 +474,11 @@ template <class Value, class Hash, class Pred, class Alloc>
+ #include <__utility/forward.h>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <functional>
++#  include <iterator>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/include/utility b/libcxx/include/utility
+index fc7909aef11a..7a1a45e334a3 100644
+--- a/libcxx/include/utility
++++ b/libcxx/include/utility
+@@ -243,6 +243,10 @@ template <class T>
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <iosfwd>
++#endif
++
+ // standard-mandated includes
+ #include <compare>
+ #include <initializer_list>
+diff --git a/libcxx/include/valarray b/libcxx/include/valarray
+index 5e601758e041..6f8a3b84197b 100644
+--- a/libcxx/include/valarray
++++ b/libcxx/include/valarray
+@@ -360,6 +360,11 @@ template <class T> unspecified2 end(const valarray<T>& v);
+ #include <new>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <functional>
++#endif
++
+ // standard-mandated includes
+ #include <initializer_list>
+ 
+diff --git a/libcxx/include/variant b/libcxx/include/variant
+index 5f8c06510d91..65dec64dbbbd 100644
+--- a/libcxx/include/variant
++++ b/libcxx/include/variant
+@@ -219,6 +219,11 @@ namespace std {
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <typeinfo>
++#  include <utility>
++#endif
++
+ // standard-mandated includes
+ #include <compare>
+ 
+diff --git a/libcxx/include/vector b/libcxx/include/vector
+index 1cb4cbf10794..f5c09011948d 100644
+--- a/libcxx/include/vector
++++ b/libcxx/include/vector
+@@ -305,6 +305,12 @@ erase_if(vector<T, Allocator>& c, Predicate pred);    // C++20
+ #include <type_traits>
+ #include <version>
+ 
++#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
++#  include <algorithm>
++#  include <typeinfo>
++#  include <utility>
++#endif
++
+ // standard-mandated includes
+ 
+ // [iterator.range]
+diff --git a/libcxx/test/libcxx/transitive_includes.sh.cpp b/libcxx/test/libcxx/transitive_includes.sh.cpp
+index 19d6ab036f68..aaf26fbf40dc 100644
+--- a/libcxx/test/libcxx/transitive_includes.sh.cpp
++++ b/libcxx/test/libcxx/transitive_includes.sh.cpp
+@@ -34,6 +34,11 @@
+ // This test doesn't work on AIX or Windows, but it should. Needs investigation.
+ // XFAIL: buildhost=aix, buildhost=windows
+ 
++// This test is not supported when we remove the transitive includes provided for backwards
++// compatibility. When we bulk-remove them, we'll adjust the includes that are expected by
++// this test instead.
++// XFAIL: transitive-includes-disabled
++
+ // Prevent <ext/hash_map> from generating deprecated warnings for this test.
+ #if defined(__DEPRECATED)
+ #    undef __DEPRECATED
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.algorithm b/libcxx/test/libcxx/transitive_includes/expected.algorithm
+index 8e539be98cbc..944a3eeea2d6 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.algorithm
++++ b/libcxx/test/libcxx/transitive_includes/expected.algorithm
+@@ -1,6 +1,7 @@
+ algorithm
+ atomic
+ bit
++chrono
+ climits
+ cmath
+ compare
+@@ -13,6 +14,7 @@ ctime
+ exception
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -21,4 +23,6 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.any b/libcxx/test/libcxx/transitive_includes/expected.any
+index 4f3cff5c0634..86009188e53e 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.any
++++ b/libcxx/test/libcxx/transitive_includes/expected.any
+@@ -1,5 +1,6 @@
+ any
+ atomic
++chrono
+ climits
+ cmath
+ compare
+@@ -12,6 +13,7 @@ ctime
+ exception
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -20,4 +22,6 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.array b/libcxx/test/libcxx/transitive_includes/expected.array
+index 0fb1b67d13d0..7145642a8f46 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.array
++++ b/libcxx/test/libcxx/transitive_includes/expected.array
+@@ -1,14 +1,29 @@
++algorithm
+ array
++atomic
++bit
++chrono
++climits
+ cmath
+ compare
+ concepts
+ cstddef
+ cstdint
+ cstdlib
++cstring
++ctime
+ exception
+ initializer_list
+ iosfwd
++iterator
+ limits
++memory
++new
++ratio
+ stdexcept
++tuple
+ type_traits
++typeinfo
++utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.atomic b/libcxx/test/libcxx/transitive_includes/expected.atomic
+index 42e3c191ac89..3e9917b3da1a 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.atomic
++++ b/libcxx/test/libcxx/transitive_includes/expected.atomic
+@@ -1,5 +1,8 @@
+ atomic
++chrono
+ climits
++cmath
++compare
+ cstddef
+ cstdint
+ cstring
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.barrier b/libcxx/test/libcxx/transitive_includes/expected.barrier
+index cb7845f45e0c..c2865c8d3ef0 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.barrier
++++ b/libcxx/test/libcxx/transitive_includes/expected.barrier
+@@ -1,5 +1,6 @@
+ atomic
+ barrier
++chrono
+ climits
+ cmath
+ compare
+@@ -12,6 +13,7 @@ ctime
+ exception
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -20,4 +22,6 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.bit b/libcxx/test/libcxx/transitive_includes/expected.bit
+index 3f58643d6062..4fb5285f8142 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.bit
++++ b/libcxx/test/libcxx/transitive_includes/expected.bit
+@@ -2,6 +2,7 @@ bit
+ cstddef
+ cstdint
+ cstdlib
++iosfwd
+ limits
+ type_traits
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.bitset b/libcxx/test/libcxx/transitive_includes/expected.bitset
+index d3ee4af66e1b..3cf3e8dbdfc7 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.bitset
++++ b/libcxx/test/libcxx/transitive_includes/expected.bitset
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ cctype
++chrono
+ climits
+ cmath
+ compare
+@@ -14,11 +18,14 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ string
+@@ -26,4 +33,8 @@ string_view
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ccomplex b/libcxx/test/libcxx/transitive_includes/expected.ccomplex
+index cfc2d04436fe..98bf9a8010e4 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.ccomplex
++++ b/libcxx/test/libcxx/transitive_includes/expected.ccomplex
+@@ -1,8 +1,12 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ ccomplex
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -18,15 +22,18 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
+ istream
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ sstream
+@@ -38,4 +45,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.charconv b/libcxx/test/libcxx/transitive_includes/expected.charconv
+index 5ce64d0c6a23..1ca2d688ddea 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.charconv
++++ b/libcxx/test/libcxx/transitive_includes/expected.charconv
+@@ -6,6 +6,7 @@ cstddef
+ cstdint
+ cstdlib
+ cstring
++iosfwd
+ limits
+ type_traits
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.codecvt b/libcxx/test/libcxx/transitive_includes/expected.codecvt
+index f846715edf80..0931ca137c0b 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.codecvt
++++ b/libcxx/test/libcxx/transitive_includes/expected.codecvt
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ codecvt
+@@ -15,12 +19,15 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ mutex
+ new
++optional
+ ratio
+ stdexcept
+ string
+@@ -29,4 +36,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.complex b/libcxx/test/libcxx/transitive_includes/expected.complex
+index eb5fe7c87bf7..64161c1d331f 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.complex
++++ b/libcxx/test/libcxx/transitive_includes/expected.complex
+@@ -1,7 +1,11 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -17,15 +21,18 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
+ istream
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ sstream
+@@ -37,4 +44,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.condition_variable b/libcxx/test/libcxx/transitive_includes/expected.condition_variable
+index 081849db56d2..968007a37cef 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.condition_variable
++++ b/libcxx/test/libcxx/transitive_includes/expected.condition_variable
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -15,11 +19,14 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ string
+@@ -28,4 +35,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.coroutine b/libcxx/test/libcxx/transitive_includes/expected.coroutine
+index 1f31012bf5be..8dd332d47254 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.coroutine
++++ b/libcxx/test/libcxx/transitive_includes/expected.coroutine
+@@ -4,6 +4,7 @@ coroutine
+ cstddef
+ cstdint
+ cstring
++iosfwd
+ limits
+ type_traits
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ctgmath b/libcxx/test/libcxx/transitive_includes/expected.ctgmath
+index ac37b74ac56e..7467a5ab5952 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.ctgmath
++++ b/libcxx/test/libcxx/transitive_includes/expected.ctgmath
+@@ -1,8 +1,12 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ ccomplex
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -19,15 +23,18 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
+ istream
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ sstream
+@@ -39,4 +46,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.deque b/libcxx/test/libcxx/transitive_includes/expected.deque
+index aa51131432ea..c26bdc7479b6 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.deque
++++ b/libcxx/test/libcxx/transitive_includes/expected.deque
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -10,14 +14,21 @@ cstring
+ ctime
+ deque
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm b/libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm
+index 7e307913a9fe..8a5cd7de65d8 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm
+@@ -1,6 +1,7 @@
+ algorithm
+ atomic
+ bit
++chrono
+ climits
+ cmath
+ compare
+@@ -14,6 +15,7 @@ exception
+ experimental/algorithm
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -22,4 +24,6 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine b/libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine
+index 89fc3edcec46..682f0fa0e7a8 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine
+@@ -1,4 +1,5 @@
+ atomic
++chrono
+ climits
+ cmath
+ compare
+@@ -12,6 +13,7 @@ exception
+ experimental/coroutine
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -20,4 +22,6 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_deque b/libcxx/test/libcxx/transitive_includes/expected.experimental_deque
+index e1677c7dd843..bd86d1588beb 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_deque
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_deque
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -13,15 +17,21 @@ exception
+ experimental/deque
+ experimental/memory_resource
+ experimental/utility
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
+ utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list b/libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list
+index af433ce90949..c43fab08b41f 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -13,15 +17,21 @@ experimental/forward_list
+ experimental/memory_resource
+ experimental/utility
+ forward_list
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
+ utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_functional b/libcxx/test/libcxx/transitive_includes/expected.experimental_functional
+index ce502b5e9803..87cee2d28882 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_functional
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_functional
+@@ -1,5 +1,8 @@
++algorithm
+ array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -14,6 +17,7 @@ experimental/functional
+ functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -24,5 +28,7 @@ tuple
+ type_traits
+ typeinfo
+ unordered_map
++utility
++variant
+ vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_iterator b/libcxx/test/libcxx/transitive_includes/expected.experimental_iterator
+index 83a9b8d93c65..14d31c215ffb 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_iterator
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_iterator
+@@ -14,5 +14,7 @@ limits
+ new
+ tuple
+ type_traits
++typeinfo
++utility
+ variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_list b/libcxx/test/libcxx/transitive_includes/expected.experimental_list
+index aae9f23d08e9..ac800654f532 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_list
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_list
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -12,16 +16,22 @@ exception
+ experimental/list
+ experimental/memory_resource
+ experimental/utility
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ list
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
+ utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_map b/libcxx/test/libcxx/transitive_includes/expected.experimental_map
+index cb76c7642ec9..d132098b01a1 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_map
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_map
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -12,8 +16,10 @@ exception
+ experimental/map
+ experimental/memory_resource
+ experimental/utility
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ map
+ memory
+@@ -24,5 +30,8 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
+ utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource b/libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource
+index 67d2441ae369..94d9abd26b6c 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource
+@@ -1,4 +1,5 @@
+ atomic
++chrono
+ climits
+ cmath
+ compare
+@@ -13,6 +14,7 @@ experimental/memory_resource
+ experimental/utility
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -22,4 +24,5 @@ tuple
+ type_traits
+ typeinfo
+ utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_regex b/libcxx/test/libcxx/transitive_includes/expected.experimental_regex
+index 6490adb5a1b4..8a49aac962c2 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_regex
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_regex
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -19,12 +23,15 @@ experimental/memory_resource
+ experimental/regex
+ experimental/string
+ experimental/utility
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ mutex
+ new
++optional
+ ratio
+ regex
+ stdexcept
+@@ -34,6 +41,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
+ utility
++variant
+ vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_set b/libcxx/test/libcxx/transitive_includes/expected.experimental_set
+index 03a09aff0574..f1d2953360dc 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_set
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_set
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -12,8 +16,10 @@ exception
+ experimental/memory_resource
+ experimental/set
+ experimental/utility
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -24,5 +30,8 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
+ utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_simd b/libcxx/test/libcxx/transitive_includes/expected.experimental_simd
+index 999b0aafb666..f06f6e9cea01 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_simd
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_simd
+@@ -1,16 +1,34 @@
++algorithm
+ array
++atomic
++bit
++chrono
++climits
+ cmath
+ compare
+ concepts
+ cstddef
+ cstdint
+ cstdlib
++cstring
++ctime
+ exception
+ experimental/simd
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
++memory
++new
++optional
++ratio
+ stdexcept
+ tuple
+ type_traits
++typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_string b/libcxx/test/libcxx/transitive_includes/expected.experimental_string
+index 4fb05391c7b4..367a9ed7da4b 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_string
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_string
+@@ -1,5 +1,9 @@
++algorithm
++array
+ atomic
++bit
+ cctype
++chrono
+ climits
+ cmath
+ compare
+@@ -16,11 +20,14 @@ exception
+ experimental/memory_resource
+ experimental/string
+ experimental/utility
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ string
+@@ -28,5 +35,8 @@ string_view
+ tuple
+ type_traits
+ typeinfo
++unordered_map
+ utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map b/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map
+index 04efa3377d81..16753ae30a7b 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -12,8 +16,10 @@ exception
+ experimental/memory_resource
+ experimental/unordered_map
+ experimental/utility
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -25,4 +31,6 @@ type_traits
+ typeinfo
+ unordered_map
+ utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set b/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set
+index 798b920506cf..1aafa61386b7 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -12,8 +16,10 @@ exception
+ experimental/memory_resource
+ experimental/unordered_set
+ experimental/utility
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -23,6 +29,9 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
+ unordered_set
+ utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_utility b/libcxx/test/libcxx/transitive_includes/expected.experimental_utility
+index 788283fb30b9..a399b3ebb27c 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_utility
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_utility
+@@ -5,6 +5,7 @@ cstdint
+ cstdlib
+ experimental/utility
+ initializer_list
++iosfwd
+ limits
+ type_traits
+ utility
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_vector b/libcxx/test/libcxx/transitive_includes/expected.experimental_vector
+index 35355e4d3547..1c569628be18 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_vector
++++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_vector
+@@ -1,4 +1,7 @@
++algorithm
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -14,6 +17,7 @@ experimental/utility
+ experimental/vector
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -23,5 +27,6 @@ tuple
+ type_traits
+ typeinfo
+ utility
++variant
+ vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ext_hash_map b/libcxx/test/libcxx/transitive_includes/expected.ext_hash_map
+index 238ba8fade71..459536294e0c 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.ext_hash_map
++++ b/libcxx/test/libcxx/transitive_includes/expected.ext_hash_map
+@@ -3,6 +3,7 @@ array
+ atomic
+ bit
+ cctype
++chrono
+ climits
+ cmath
+ compare
+@@ -20,6 +21,7 @@ ext/hash_map
+ functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -32,5 +34,7 @@ tuple
+ type_traits
+ typeinfo
+ unordered_map
++utility
++variant
+ vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ext_hash_set b/libcxx/test/libcxx/transitive_includes/expected.ext_hash_set
+index 5e58c46663a5..160335aab367 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.ext_hash_set
++++ b/libcxx/test/libcxx/transitive_includes/expected.ext_hash_set
+@@ -3,6 +3,7 @@ array
+ atomic
+ bit
+ cctype
++chrono
+ climits
+ cmath
+ compare
+@@ -20,6 +21,7 @@ ext/hash_set
+ functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -32,5 +34,7 @@ tuple
+ type_traits
+ typeinfo
+ unordered_map
++utility
++variant
+ vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.filesystem b/libcxx/test/libcxx/transitive_includes/expected.filesystem
+index adc5812121df..22e80bc11192 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.filesystem
++++ b/libcxx/test/libcxx/transitive_includes/expected.filesystem
+@@ -1,7 +1,11 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -17,16 +21,19 @@ cwchar
+ cwctype
+ exception
+ filesystem
++functional
+ initializer_list
+ iomanip
+ ios
+ iosfwd
+ istream
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ stdexcept
+@@ -37,4 +44,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.format b/libcxx/test/libcxx/transitive_includes/expected.format
+index d88f3f66919f..08d46d27a9c0 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.format
++++ b/libcxx/test/libcxx/transitive_includes/expected.format
+@@ -1,9 +1,11 @@
++algorithm
+ array
+ atomic
+ bit
+ cctype
+ cerrno
+ charconv
++chrono
+ climits
+ cmath
+ compare
+@@ -19,9 +21,11 @@ cwchar
+ cwctype
+ exception
+ format
++functional
+ initializer_list
+ ios
+ iosfwd
++iterator
+ limits
+ locale
+ memory
+@@ -37,4 +41,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.forward_list b/libcxx/test/libcxx/transitive_includes/expected.forward_list
+index de184d39a0da..33afc74bd420 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.forward_list
++++ b/libcxx/test/libcxx/transitive_includes/expected.forward_list
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -10,14 +14,21 @@ cstring
+ ctime
+ exception
+ forward_list
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.fstream b/libcxx/test/libcxx/transitive_includes/expected.fstream
+index 31ef4da04630..7a892e11bfe6 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.fstream
++++ b/libcxx/test/libcxx/transitive_includes/expected.fstream
+@@ -1,7 +1,11 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -18,16 +22,19 @@ cwctype
+ exception
+ filesystem
+ fstream
++functional
+ initializer_list
+ iomanip
+ ios
+ iosfwd
+ istream
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ stdexcept
+@@ -38,4 +45,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.functional b/libcxx/test/libcxx/transitive_includes/expected.functional
+index 944f5a2cedd7..7625982373f8 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.functional
++++ b/libcxx/test/libcxx/transitive_includes/expected.functional
+@@ -1,5 +1,8 @@
++algorithm
+ array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -13,6 +16,7 @@ exception
+ functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -23,5 +27,7 @@ tuple
+ type_traits
+ typeinfo
+ unordered_map
++utility
++variant
+ vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.future b/libcxx/test/libcxx/transitive_includes/expected.future
+index 978baba9b8ec..92bd4e044ecc 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.future
++++ b/libcxx/test/libcxx/transitive_includes/expected.future
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -14,13 +18,16 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ future
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ mutex
+ new
++optional
+ ratio
+ stdexcept
+ string
+@@ -30,4 +37,8 @@ thread
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.iomanip b/libcxx/test/libcxx/transitive_includes/expected.iomanip
+index 86446ab031fb..39829086f4cb 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.iomanip
++++ b/libcxx/test/libcxx/transitive_includes/expected.iomanip
+@@ -1,7 +1,11 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -16,16 +20,19 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iomanip
+ ios
+ iosfwd
+ istream
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ stdexcept
+@@ -36,4 +43,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ios b/libcxx/test/libcxx/transitive_includes/expected.ios
+index 3ecae9323ab4..6e7e5b268976 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.ios
++++ b/libcxx/test/libcxx/transitive_includes/expected.ios
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -14,13 +18,16 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
++iterator
+ limits
+ memory
+ mutex
+ new
++optional
+ ratio
+ stdexcept
+ string
+@@ -29,4 +36,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.iostream b/libcxx/test/libcxx/transitive_includes/expected.iostream
+index 2e4e74cc18b4..580aeaf86734 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.iostream
++++ b/libcxx/test/libcxx/transitive_includes/expected.iostream
+@@ -1,7 +1,11 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -16,16 +20,19 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
+ iostream
+ istream
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ stdexcept
+@@ -36,4 +43,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.istream b/libcxx/test/libcxx/transitive_includes/expected.istream
+index cbd4a87c1613..fd0c4b4ca736 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.istream
++++ b/libcxx/test/libcxx/transitive_includes/expected.istream
+@@ -1,7 +1,11 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -16,15 +20,18 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
+ istream
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ stdexcept
+@@ -35,4 +42,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.iterator b/libcxx/test/libcxx/transitive_includes/expected.iterator
+index 698f6cf9de2f..447087a3f6f9 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.iterator
++++ b/libcxx/test/libcxx/transitive_includes/expected.iterator
+@@ -13,5 +13,7 @@ limits
+ new
+ tuple
+ type_traits
++typeinfo
++utility
+ variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.latch b/libcxx/test/libcxx/transitive_includes/expected.latch
+index 3d00941b9231..a7a6bbc912ce 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.latch
++++ b/libcxx/test/libcxx/transitive_includes/expected.latch
+@@ -1,5 +1,8 @@
+ atomic
++chrono
+ climits
++cmath
++compare
+ cstddef
+ cstdint
+ cstring
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.list b/libcxx/test/libcxx/transitive_includes/expected.list
+index 96d4f33db7d4..b596079c340b 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.list
++++ b/libcxx/test/libcxx/transitive_includes/expected.list
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -9,15 +13,22 @@ cstdlib
+ cstring
+ ctime
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ list
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.locale b/libcxx/test/libcxx/transitive_includes/expected.locale
+index cdd6609f8440..29719367689e 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.locale
++++ b/libcxx/test/libcxx/transitive_includes/expected.locale
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -15,14 +19,17 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ratio
+ stdexcept
+ streambuf
+@@ -32,4 +39,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.map b/libcxx/test/libcxx/transitive_includes/expected.map
+index a6896289ab3f..c871579ea35e 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.map
++++ b/libcxx/test/libcxx/transitive_includes/expected.map
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -9,8 +13,10 @@ cstdlib
+ cstring
+ ctime
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ map
+ memory
+@@ -21,4 +27,8 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.memory b/libcxx/test/libcxx/transitive_includes/expected.memory
+index 3b7a13de63fe..f36910fde696 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.memory
++++ b/libcxx/test/libcxx/transitive_includes/expected.memory
+@@ -1,4 +1,5 @@
+ atomic
++chrono
+ climits
+ cmath
+ compare
+@@ -11,6 +12,7 @@ ctime
+ exception
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -19,4 +21,6 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.mutex b/libcxx/test/libcxx/transitive_includes/expected.mutex
+index 1aa71f549fd4..4d101cb290c1 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.mutex
++++ b/libcxx/test/libcxx/transitive_includes/expected.mutex
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -14,12 +18,15 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ mutex
+ new
++optional
+ ratio
+ stdexcept
+ string
+@@ -28,4 +35,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.numeric b/libcxx/test/libcxx/transitive_includes/expected.numeric
+index 843582958e10..558b32457eb4 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.numeric
++++ b/libcxx/test/libcxx/transitive_includes/expected.numeric
+@@ -1,8 +1,34 @@
++algorithm
++array
++atomic
++bit
++chrono
++climits
+ cmath
++compare
+ concepts
+ cstddef
+ cstdint
++cstdlib
++cstring
++ctime
++exception
++functional
++initializer_list
++iosfwd
++iterator
+ limits
++memory
++new
+ numeric
++optional
++ratio
++stdexcept
++tuple
+ type_traits
++typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.optional b/libcxx/test/libcxx/transitive_includes/expected.optional
+index e888c8f4e0bd..993ce23d8009 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.optional
++++ b/libcxx/test/libcxx/transitive_includes/expected.optional
+@@ -1,15 +1,27 @@
++atomic
++chrono
++climits
+ cmath
+ compare
++concepts
+ cstddef
+ cstdint
+ cstdlib
+ cstring
++ctime
+ exception
+ initializer_list
+ iosfwd
++iterator
+ limits
++memory
+ new
+ optional
++ratio
+ stdexcept
++tuple
+ type_traits
++typeinfo
++utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ostream b/libcxx/test/libcxx/transitive_includes/expected.ostream
+index 1d7da3e2f96d..762d13c26ac3 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.ostream
++++ b/libcxx/test/libcxx/transitive_includes/expected.ostream
+@@ -1,7 +1,11 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -16,14 +20,17 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ stdexcept
+@@ -34,4 +41,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.queue b/libcxx/test/libcxx/transitive_includes/expected.queue
+index 07743c837beb..5861852fc532 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.queue
++++ b/libcxx/test/libcxx/transitive_includes/expected.queue
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -10,16 +14,22 @@ cstring
+ ctime
+ deque
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ queue
+ ratio
+ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
+ vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.random b/libcxx/test/libcxx/transitive_includes/expected.random
+index c8060db2909a..96a956ad800a 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.random
++++ b/libcxx/test/libcxx/transitive_includes/expected.random
+@@ -1,6 +1,9 @@
++algorithm
++array
+ atomic
+ bit
+ cctype
++chrono
+ climits
+ cmath
+ compare
+@@ -14,12 +17,15 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+ numeric
++optional
+ random
+ ratio
+ stdexcept
+@@ -28,5 +34,8 @@ string_view
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
+ vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.ranges b/libcxx/test/libcxx/transitive_includes/expected.ranges
+index f16d5e5d5505..3dbb13bb9680 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.ranges
++++ b/libcxx/test/libcxx/transitive_includes/expected.ranges
+@@ -1,4 +1,9 @@
++algorithm
+ array
++atomic
++bit
++chrono
++climits
+ cmath
+ compare
+ concepts
+@@ -6,17 +11,25 @@ cstddef
+ cstdint
+ cstdlib
+ cstring
++ctime
+ exception
++functional
+ initializer_list
+ iosfwd
+ iterator
+ limits
++memory
+ new
+ optional
+ ranges
++ratio
+ span
+ stdexcept
+ tuple
+ type_traits
++typeinfo
++unordered_map
++utility
+ variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.regex b/libcxx/test/libcxx/transitive_includes/expected.regex
+index 447e31831d8f..76df20736662 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.regex
++++ b/libcxx/test/libcxx/transitive_includes/expected.regex
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -15,12 +19,15 @@ cwchar
+ cwctype
+ deque
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ mutex
+ new
++optional
+ ratio
+ regex
+ stdexcept
+@@ -30,5 +37,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
+ vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.scoped_allocator b/libcxx/test/libcxx/transitive_includes/expected.scoped_allocator
+index f4345de47a6a..22dcb319a5e6 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.scoped_allocator
++++ b/libcxx/test/libcxx/transitive_includes/expected.scoped_allocator
+@@ -1,4 +1,5 @@
+ atomic
++chrono
+ climits
+ cmath
+ compare
+@@ -11,6 +12,7 @@ ctime
+ exception
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -20,4 +22,6 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.semaphore b/libcxx/test/libcxx/transitive_includes/expected.semaphore
+index 6893d0995506..d6802e25aa70 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.semaphore
++++ b/libcxx/test/libcxx/transitive_includes/expected.semaphore
+@@ -1,5 +1,8 @@
+ atomic
++chrono
+ climits
++cmath
++compare
+ cstddef
+ cstdint
+ cstring
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.set b/libcxx/test/libcxx/transitive_includes/expected.set
+index 9b0f3cb52c18..849e87331b72 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.set
++++ b/libcxx/test/libcxx/transitive_includes/expected.set
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -9,8 +13,10 @@ cstdlib
+ cstring
+ ctime
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -21,4 +27,8 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.shared_mutex b/libcxx/test/libcxx/transitive_includes/expected.shared_mutex
+index 2bd4140b3d11..fdea61e19bba 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.shared_mutex
++++ b/libcxx/test/libcxx/transitive_includes/expected.shared_mutex
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -14,11 +18,14 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ shared_mutex
+ stdexcept
+@@ -28,4 +35,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.span b/libcxx/test/libcxx/transitive_includes/expected.span
+index 4ec98478d7ab..a46c30df8851 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.span
++++ b/libcxx/test/libcxx/transitive_includes/expected.span
+@@ -1,15 +1,34 @@
++algorithm
+ array
++atomic
++bit
++chrono
++climits
+ cmath
+ compare
+ concepts
+ cstddef
+ cstdint
+ cstdlib
++cstring
++ctime
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
++memory
++new
++optional
++ratio
+ span
+ stdexcept
++tuple
+ type_traits
++typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.sstream b/libcxx/test/libcxx/transitive_includes/expected.sstream
+index 1acc28a14008..1724fbdde39e 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.sstream
++++ b/libcxx/test/libcxx/transitive_includes/expected.sstream
+@@ -1,7 +1,11 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -16,15 +20,18 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
+ istream
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ sstream
+@@ -36,4 +43,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.stack b/libcxx/test/libcxx/transitive_includes/expected.stack
+index 17c8d991260c..1a7d18cb85f2 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.stack
++++ b/libcxx/test/libcxx/transitive_includes/expected.stack
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -10,15 +14,22 @@ cstring
+ ctime
+ deque
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stack
+ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.streambuf b/libcxx/test/libcxx/transitive_includes/expected.streambuf
+index 5e8e278a70ff..a3001ce44a1b 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.streambuf
++++ b/libcxx/test/libcxx/transitive_includes/expected.streambuf
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -14,13 +18,16 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
++iterator
+ limits
+ memory
+ mutex
+ new
++optional
+ ratio
+ stdexcept
+ streambuf
+@@ -30,4 +37,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.string b/libcxx/test/libcxx/transitive_includes/expected.string
+index 960707082bab..0dacf739a785 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.string
++++ b/libcxx/test/libcxx/transitive_includes/expected.string
+@@ -1,5 +1,9 @@
++algorithm
++array
+ atomic
++bit
+ cctype
++chrono
+ climits
+ cmath
+ compare
+@@ -13,11 +17,14 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ string
+@@ -25,4 +32,8 @@ string_view
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.string_view b/libcxx/test/libcxx/transitive_includes/expected.string_view
+index 6bb7edfd0bf0..e814351725ef 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.string_view
++++ b/libcxx/test/libcxx/transitive_includes/expected.string_view
+@@ -1,4 +1,10 @@
++algorithm
++array
++atomic
++bit
+ cctype
++chrono
++climits
+ cmath
+ compare
+ concepts
+@@ -7,13 +13,26 @@ cstdint
+ cstdio
+ cstdlib
+ cstring
++ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
++memory
++new
++optional
++ratio
+ stdexcept
+ string_view
++tuple
+ type_traits
++typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.strstream b/libcxx/test/libcxx/transitive_includes/expected.strstream
+index ed208f4d5eb3..782153b595b6 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.strstream
++++ b/libcxx/test/libcxx/transitive_includes/expected.strstream
+@@ -1,7 +1,11 @@
++algorithm
++array
+ atomic
++bit
+ bitset
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -16,15 +20,18 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ ios
+ iosfwd
+ istream
++iterator
+ limits
+ locale
+ memory
+ mutex
+ new
++optional
+ ostream
+ ratio
+ stdexcept
+@@ -36,4 +43,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.system_error b/libcxx/test/libcxx/transitive_includes/expected.system_error
+index 30ca93cf23bd..4101ee5209a3 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.system_error
++++ b/libcxx/test/libcxx/transitive_includes/expected.system_error
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -14,11 +18,14 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ string
+@@ -27,4 +34,8 @@ system_error
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.thread b/libcxx/test/libcxx/transitive_includes/expected.thread
+index 102ca5891713..ab8c3c7c85ba 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.thread
++++ b/libcxx/test/libcxx/transitive_includes/expected.thread
+@@ -1,6 +1,10 @@
++algorithm
++array
+ atomic
++bit
+ cctype
+ cerrno
++chrono
+ climits
+ cmath
+ compare
+@@ -14,11 +18,14 @@ ctime
+ cwchar
+ cwctype
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
++optional
+ ratio
+ stdexcept
+ string
+@@ -28,4 +35,8 @@ thread
+ tuple
+ type_traits
+ typeinfo
++unordered_map
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.tuple b/libcxx/test/libcxx/transitive_includes/expected.tuple
+index 2a4e44c6f4e9..69858dc888c3 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.tuple
++++ b/libcxx/test/libcxx/transitive_includes/expected.tuple
+@@ -2,7 +2,14 @@ cmath
+ compare
+ cstddef
+ cstdint
++cstdlib
++exception
++initializer_list
++iosfwd
+ limits
++new
+ tuple
+ type_traits
++typeinfo
++utility
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.typeindex b/libcxx/test/libcxx/transitive_includes/expected.typeindex
+index 8ed579013db7..8f1c65253537 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.typeindex
++++ b/libcxx/test/libcxx/transitive_includes/expected.typeindex
+@@ -4,8 +4,12 @@ cstddef
+ cstdint
+ cstdlib
+ exception
++initializer_list
++iosfwd
+ limits
++new
+ type_traits
+ typeindex
+ typeinfo
++utility
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.unordered_map b/libcxx/test/libcxx/transitive_includes/expected.unordered_map
+index 4f2f2ff02388..2250cf96690a 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.unordered_map
++++ b/libcxx/test/libcxx/transitive_includes/expected.unordered_map
+@@ -1,4 +1,7 @@
++algorithm
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -11,6 +14,7 @@ ctime
+ exception
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -21,4 +25,6 @@ tuple
+ type_traits
+ typeinfo
+ unordered_map
++utility
++variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.unordered_set b/libcxx/test/libcxx/transitive_includes/expected.unordered_set
+index 2c825fb58ac9..9352f0b05b72 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.unordered_set
++++ b/libcxx/test/libcxx/transitive_includes/expected.unordered_set
+@@ -1,4 +1,8 @@
++algorithm
++array
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -9,8 +13,10 @@ cstdlib
+ cstring
+ ctime
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -20,5 +26,9 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++unordered_map
+ unordered_set
++utility
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.utility b/libcxx/test/libcxx/transitive_includes/expected.utility
+index 30781fff9336..799a14724cf4 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.utility
++++ b/libcxx/test/libcxx/transitive_includes/expected.utility
+@@ -4,6 +4,7 @@ cstddef
+ cstdint
+ cstdlib
+ initializer_list
++iosfwd
+ limits
+ type_traits
+ utility
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.valarray b/libcxx/test/libcxx/transitive_includes/expected.valarray
+index b5543ea5c701..a069f37119fa 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.valarray
++++ b/libcxx/test/libcxx/transitive_includes/expected.valarray
+@@ -1,15 +1,34 @@
++algorithm
++array
++atomic
++bit
++chrono
++climits
+ cmath
++compare
+ concepts
+ cstddef
+ cstdint
+ cstdlib
+ cstring
++ctime
+ exception
++functional
+ initializer_list
+ iosfwd
++iterator
+ limits
++memory
+ new
++optional
++ratio
+ stdexcept
++tuple
+ type_traits
++typeinfo
++unordered_map
++utility
+ valarray
++variant
++vector
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.variant b/libcxx/test/libcxx/transitive_includes/expected.variant
+index 44553c77ce56..d94d72974cb8 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.variant
++++ b/libcxx/test/libcxx/transitive_includes/expected.variant
+@@ -6,9 +6,12 @@ cstdlib
+ cstring
+ exception
+ initializer_list
++iosfwd
+ limits
+ new
+ tuple
+ type_traits
++typeinfo
++utility
+ variant
+ version
+diff --git a/libcxx/test/libcxx/transitive_includes/expected.vector b/libcxx/test/libcxx/transitive_includes/expected.vector
+index 9553eb0c04d7..5fb9d7d19cc1 100644
+--- a/libcxx/test/libcxx/transitive_includes/expected.vector
++++ b/libcxx/test/libcxx/transitive_includes/expected.vector
+@@ -1,4 +1,7 @@
++algorithm
+ atomic
++bit
++chrono
+ climits
+ cmath
+ compare
+@@ -11,6 +14,7 @@ ctime
+ exception
+ initializer_list
+ iosfwd
++iterator
+ limits
+ memory
+ new
+@@ -19,5 +23,7 @@ stdexcept
+ tuple
+ type_traits
+ typeinfo
++utility
++variant
+ vector
+ version
+diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml
+index 9264ea19576d..755f98d9c6b3 100644
+--- a/libcxx/utils/ci/buildkite-pipeline.yml
++++ b/libcxx/utils/ci/buildkite-pipeline.yml
+@@ -336,7 +336,6 @@ steps:
+       timeout_in_minutes: 120
+ 
+   # Tests with various build configurations.
+-
+   - label: "Static libraries"
+     command: "libcxx/utils/ci/run-buildbot generic-static"
+     artifact_paths:
+@@ -393,6 +392,20 @@ steps:
+           limit: 2
+     timeout_in_minutes: 120
+ 
++  - label: "No transitive includes"
++    command: "libcxx/utils/ci/run-buildbot generic-no-transitive-includes"
++    artifact_paths:
++      - "**/test-results.xml"
++      - "**/*.abilist"
++    agents:
++      queue: "libcxx-builders"
++      os: "linux"
++    retry:
++      automatic:
++        - exit_status: -1  # Agent was lost
++          limit: 2
++    timeout_in_minutes: 120
++
+   - label: "With LLVM's libunwind"
+     command: "libcxx/utils/ci/run-buildbot generic-with_llvm_unwinder"
+     artifact_paths:
+diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot
+index 81f7d6cafc74..81a68467e3e1 100755
+--- a/libcxx/utils/ci/run-buildbot
++++ b/libcxx/utils/ci/run-buildbot
+@@ -324,6 +324,11 @@ generic-with_llvm_unwinder)
+     generate-cmake -DLIBCXXABI_USE_LLVM_UNWINDER=ON
+     check-runtimes
+ ;;
++generic-no-transitive-includes)
++    clean
++    generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-no-transitive-includes.cmake"
++    check-runtimes
++;;
+ generic-no-threads)
+     clean
+     generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-no-threads.cmake"
+diff --git a/libcxx/utils/libcxx/test/params.py b/libcxx/utils/libcxx/test/params.py
+index 82fe93fc48fe..dcfefeced957 100644
+--- a/libcxx/utils/libcxx/test/params.py
++++ b/libcxx/utils/libcxx/test/params.py
+@@ -186,6 +186,15 @@ DEFAULT_PARAMETERS = [
+                  "This should be used sparingly since specifying ad-hoc features manually is error-prone and "
+                  "brittle in the long run as changes are made to the test suite.",
+             actions=lambda features: [AddFeature(f) for f in features]),
++
++  Parameter(name='enable_transitive_includes', choices=[True, False], type=bool, default=True,
++            help="Whether to enable backwards-compatibility transitive includes when running the tests. This "
++                 "is provided to ensure that the trimmed-down version of libc++ does not bit-rot in between "
++                 "points at which we bulk-remove transitive includes.",
++            actions=lambda enabled: [] if enabled else [
++              AddFeature('transitive-includes-disabled'),
++              AddCompileFlag('-D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES')
++            ]),
+ ]
+ 
+ DEFAULT_PARAMETERS += [
diff --git a/sys-libs/libcxx/files/e8361ac175bc6c911cd03e74ecd31be40a8cae37.patch b/sys-libs/libcxx/files/e8361ac175bc6c911cd03e74ecd31be40a8cae37.patch
new file mode 100644
index 0000000..1a3c7a5
--- /dev/null
+++ b/sys-libs/libcxx/files/e8361ac175bc6c911cd03e74ecd31be40a8cae37.patch
@@ -0,0 +1,120 @@
+From e8361ac175bc6c911cd03e74ecd31be40a8cae37 Mon Sep 17 00:00:00 2001
+From: Jordan R Abrahams-Whitehead <ajordanr@google.org>
+Date: Wed, 24 Nov 2021 15:31:40 +0900
+Subject: [PATCH] v2: Crash when dereferencing nullopt for std::optional
+
+Updated for r457743.
+Original author hscham <hscham@chromium.org>.
+
+TODO(b/192529039): this is a temporary patch to address security
+concerns when migrating base:Optional and absl::optional to
+std::optional. libcxx upstream is working on decoupling hardening and
+debugging asserts and this patch should be replaced by the upstream
+patch upon completion.
+---
+ libcxx/include/optional | 32 ++++++++++++++++++++++++++++++++
+ 1 file changed, 32 insertions(+)
+
+diff --git a/libcxx/include/optional b/libcxx/include/optional
+index 8dc1a136fdaf..1772d2810525 100644
+--- a/libcxx/include/optional
++++ b/libcxx/include/optional
+@@ -158,6 +158,8 @@ template<class T>
+ 
+ */
+ 
++#include <stdio.h>
++
+ #include <__assert> // all public C++ headers provide the assertion handler
+ #include <__availability>
+ #include <__concepts/invocable.h>
+@@ -923,56 +925,86 @@ public:
+     }
+ 
+     _LIBCPP_INLINE_VISIBILITY
++    _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
+     constexpr
+     add_pointer_t<value_type const>
+     operator->() const
+     {
+         _LIBCPP_ASSERT(this->has_value(), "optional operator-> called on a disengaged value");
++        if (!this->has_value()) {
++          fprintf(stderr, "optional operator-> called on a disengaged value\n");
++          __builtin_trap();
++        }
+         return _VSTD::addressof(this->__get());
+     }
+ 
+     _LIBCPP_INLINE_VISIBILITY
++    _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
+     constexpr
+     add_pointer_t<value_type>
+     operator->()
+     {
+         _LIBCPP_ASSERT(this->has_value(), "optional operator-> called on a disengaged value");
++        if (!this->has_value()) {
++          fprintf(stderr, "optional operator-> called on a disengaged value\n");
++          __builtin_trap();
++        }
+         return _VSTD::addressof(this->__get());
+     }
+ 
+     _LIBCPP_INLINE_VISIBILITY
++    _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
+     constexpr
+     const value_type&
+     operator*() const& noexcept
+     {
+         _LIBCPP_ASSERT(this->has_value(), "optional operator* called on a disengaged value");
++        if (!this->has_value()) {
++          fprintf(stderr, "optional operator* called on a disengaged value\n");
++          __builtin_trap();
++        }
+         return this->__get();
+     }
+ 
+     _LIBCPP_INLINE_VISIBILITY
++    _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
+     constexpr
+     value_type&
+     operator*() & noexcept
+     {
+         _LIBCPP_ASSERT(this->has_value(), "optional operator* called on a disengaged value");
++        if (!this->has_value()) {
++          fprintf(stderr, "optional operator* called on a disengaged value\n");
++          __builtin_trap();
++        }
+         return this->__get();
+     }
+ 
+     _LIBCPP_INLINE_VISIBILITY
++    _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
+     constexpr
+     value_type&&
+     operator*() && noexcept
+     {
+         _LIBCPP_ASSERT(this->has_value(), "optional operator* called on a disengaged value");
++        if (!this->has_value()) {
++          fprintf(stderr, "optional operator* called on a disengaged value\n");
++          __builtin_trap();
++        }
+         return _VSTD::move(this->__get());
+     }
+ 
+     _LIBCPP_INLINE_VISIBILITY
++    _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
+     constexpr
+     const value_type&&
+     operator*() const&& noexcept
+     {
+         _LIBCPP_ASSERT(this->has_value(), "optional operator* called on a disengaged value");
++        if (!this->has_value()) {
++          fprintf(stderr, "optional operator* called on a disengaged value\n");
++          __builtin_trap();
++        }
+         return _VSTD::move(this->__get());
+     }
+ 
+-- 
+2.35.1.1094.g7c7d902a7c-goog
+
diff --git a/sys-libs/libcxx/libcxx-14.0_pre445002-r1.ebuild b/sys-libs/libcxx/libcxx-14.0_pre445002-r1.ebuild
deleted file mode 120000
index 4d40f81..0000000
--- a/sys-libs/libcxx/libcxx-14.0_pre445002-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-libcxx-14.0_pre445002.ebuild
\ No newline at end of file
diff --git a/sys-libs/libcxx/libcxx-14.0_pre445002.ebuild b/sys-libs/libcxx/libcxx-14.0_pre445002.ebuild
deleted file mode 100644
index b3d104c..0000000
--- a/sys-libs/libcxx/libcxx-14.0_pre445002.ebuild
+++ /dev/null
@@ -1,220 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: "${CMAKE_MAKEFILE_GENERATOR:=ninja}"
-PYTHON_COMPAT=( python3_6 )
-
-CROS_WORKON_REPO="${CROS_GIT_HOST_URL}"
-CROS_WORKON_PROJECT="external/github.com/llvm/llvm-project"
-CROS_WORKON_LOCALNAME="llvm-project"
-CROS_WORKON_MANUAL_UPREV=1
-
-inherit cmake-multilib cros-constants cros-llvm git-2 llvm python-any-r1 toolchain-funcs cros-workon
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="http://libcxx.llvm.org/"
-SRC_URI=""
-
-EGIT_REPO_URI="${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project
-	${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project"
-EGIT_BRANCH=main
-
-LLVM_HASH="18308e171b5b1dd99627a4d88c7d6c5ff21b8c96" # r445002
-LLVM_NEXT_HASH="18308e171b5b1dd99627a4d88c7d6c5ff21b8c96" # r445002
-
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="*"
-if [[ "${PV}" == "9999" ]]; then
-KEYWORDS="~*"
-fi
-IUSE="+compiler-rt cros_host elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind llvm-next llvm-tot msan +static-libs"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
-	?? ( libcxxabi libcxxrt )"
-
-# MULTILIB_USEDEP is defined in an eclass, which shellcheck won't see
-# shellcheck disable=SC2154
-RDEPEND="
-	libcxxabi? ( ${CATEGORY}/libcxxabi[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	libcxxrt? ( ${CATEGORY}/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
-	!libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )
-	!cros_host? ( sys-libs/gcc-libs )"
-DEPEND="${RDEPEND}
-	cros_host? ( sys-devel/llvm )
-	app-arch/xz-utils"
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-src_unpack() {
-	if use llvm-next || use llvm-tot; then
-		export EGIT_COMMIT="${LLVM_NEXT_HASH}"
-	else
-		export EGIT_COMMIT="${LLVM_HASH}"
-	fi
-	if [[ "${PV}" != "9999" ]]; then
-		# According to cros-workon, CROS_WORKON_COMMIT cannot be enabled in
-		# a 9999 ebuild.
-		CROS_WORKON_COMMIT="${EGIT_COMMIT}"
-	fi
-	cros-workon_src_unpack
-}
-
-src_prepare() {
-	"${FILESDIR}"/patch_manager/patch_manager.py \
-		--svn_version "$(get_most_recent_revision)" \
-		--patch_metadata_file "${FILESDIR}"/PATCHES.json \
-		--filesdir_path "${FILESDIR}" \
-		--src_path "${S}" || die
-
-	eapply_user
-}
-
-pkg_setup() {
-	setup_cross_toolchain
-	llvm_pkg_setup
-	export CMAKE_USE_DIR="${S}/libcxx"
-}
-
-multilib_src_configure() {
-	# Filter sanitzers flags.
-	filter_sanitizers
-
-	cros_optimize_package_for_speed
-
-	local cxxabi cxxabi_incs
-	if use libcxxabi; then
-		cxxabi=libcxxabi
-		# CTARGET is defined in an eclass, which shellcheck won't see
-		# shellcheck disable=SC2154
-		cxxabi_incs="${SYSROOT}/${PREFIX}/include/libcxxabi"
-	elif use libcxxrt; then
-		cxxabi=libcxxrt
-		cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
-	else
-		local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-		cxxabi=libsupc++
-		cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-	fi
-	# Use vfpv3 to be able to target non-neon targets.
-	if [[ $(tc-arch) == "arm" ]] ; then
-		append-flags -mfpu=vfpv3
-	fi
-
-	# we want -lgcc_s for unwinder, and for compiler runtime when using
-	# gcc, clang with gcc runtime (or any unknown compiler)
-	local extra_libs=() want_gcc_s=ON
-	if use libunwind || use compiler-rt; then
-		# work-around missing -lunwind upstream
-		use libunwind && extra_libs+=( -lunwind )
-		# if we're using libunwind and clang with compiler-rt, we want
-		# to link to compiler-rt instead of -lgcc_s
-		if tc-is-clang; then
-			# get the full library list out of 'pretend mode'
-			# and grep it for libclang_rt references
-			local args
-			IFS=" " read -r -a args <<< "$($(tc-getCC) -### -x c - 2>&1 | tail -n 1)"
-			local i
-			for i in "${args[@]}"; do
-				if [[ ${i} == *libclang_rt* ]]; then
-					want_gcc_s=OFF
-					extra_libs+=( "${i}" )
-				fi
-			done
-		fi
-	fi
-
-	# Link with libunwind.so.
-	use libunwind && append-ldflags "-shared-libgcc"
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		"-DLLVM_ENABLE_PROJECTS=libcxx"
-		"-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}"
-		"-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY"
-		"-DCMAKE_POSITION_INDEPENDENT_CODE=ON"
-		"-DLIBCXX_ENABLE_SHARED=ON"
-		"-DLIBCXX_ENABLE_STATIC=$(usex static-libs)"
-		"-DLIBCXX_CXX_ABI=${cxxabi}"
-		"-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}"
-		# we're using our own mechanism for generating linker scripts
-		"-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF"
-		"-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)"
-		"-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}"
-		"-DLIBCXX_USE_COMPILER_RT=$(usex compiler-rt)"
-		"-DLIBCXX_INCLUDE_TESTS=OFF"
-		"-DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind)"
-		"-DCMAKE_INSTALL_PREFIX=${PREFIX}"
-		"-DCMAKE_SHARED_LINKER_FLAGS=${extra_libs[*]} ${LDFLAGS}"
-		"-DLIBCXX_HAS_ATOMIC_LIB=OFF"
-		"-DCMAKE_C_COMPILER_TARGET=$(get_abi_CTARGET)"
-		"-DCMAKE_CXX_COMPILER_TARGET=$(get_abi_CTARGET)"
-	)
-	if use msan; then
-		mycmakeargs+=(
-			"-DLLVM_USE_SANITIZER=Memory"
-		)
-	fi
-
-	cmake-utils_src_configure
-}
-
-# Usage: deps
-gen_ldscript() {
-	local output_format
-	# shellcheck disable=SC2086
-	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
-
-	cat <<-END_LDSCRIPT
-/* GNU ld script
-	Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-	local libdir=$(get_libdir)
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
-
-	# Move it first.
-	mv "${ED}/${PREFIX}/${libdir}/libc++.a" "${ED}/${PREFIX}/${libdir}/libc++_static.a" || die
-	# Generate libc++.a ldscript for inclusion of its dependencies so that
-	# clang++ -stdlib=libc++ -static works out of the box.
-	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
-	# On Linux/glibc it does not link without libpthread or libdl. It is
-	# fine on FreeBSD.
-	use elibc_glibc && deps+=" libpthread.a libdl.a"
-
-	gen_ldscript "${deps}" > "${ED}/${PREFIX}/${libdir}/libc++.a" || die
-}
-
-gen_shared_ldscript() {
-	local libdir=$(get_libdir)
-	# libsupc++ doesn't have a shared version
-	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
-	mv "${ED}/${PREFIX}/${libdir}/libc++.so" "${ED}/${PREFIX}/${libdir}/libc++_shared.so" || die
-	local deps="libc++_shared.so ${cxxabi_lib} $(usex compiler-rt '' $(usex libunwind libunwind.so libgcc_s.so))"
-
-	gen_ldscript "${deps}" > "${ED}/${PREFIX}/${libdir}/libc++.so" || die
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-	gen_shared_ldscript
-	use static-libs && gen_static_ldscript
-}
-
-multilib_src_install_all() {
-	if [[ ${CATEGORY} == cross-* ]]; then
-		rm -r "${ED}/usr/share/doc"
-	fi
-}
diff --git a/sys-libs/libcxx/libcxx-15.0_pre458507-r6.ebuild b/sys-libs/libcxx/libcxx-15.0_pre458507-r6.ebuild
new file mode 120000
index 0000000..c8063f6
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-15.0_pre458507-r6.ebuild
@@ -0,0 +1 @@
+libcxx-15.0_pre458507.ebuild
\ No newline at end of file
diff --git a/sys-libs/libcxx/libcxx-15.0_pre458507.ebuild b/sys-libs/libcxx/libcxx-15.0_pre458507.ebuild
new file mode 100644
index 0000000..849db69
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-15.0_pre458507.ebuild
@@ -0,0 +1,244 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: "${CMAKE_MAKEFILE_GENERATOR:=ninja}"
+PYTHON_COMPAT=( python3_6 )
+
+CROS_WORKON_REPO="${CROS_GIT_HOST_URL}"
+CROS_WORKON_PROJECT="external/github.com/llvm/llvm-project"
+CROS_WORKON_LOCALNAME="llvm-project"
+CROS_WORKON_MANUAL_UPREV=1
+
+inherit cmake-multilib cros-constants cros-llvm git-2 python-any-r1 toolchain-funcs cros-workon
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="http://libcxx.llvm.org/"
+SRC_URI=""
+
+EGIT_REPO_URI="${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project
+	${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project"
+EGIT_BRANCH=main
+
+LLVM_HASH="a58d0af058038595c93de961b725f86997cf8d4a" # r458507
+LLVM_NEXT_HASH="db1978b67431ca3462ad8935bf662c15750b8252" # r465103
+
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="*"
+if [[ "${PV}" == "9999" ]]; then
+KEYWORDS="~*"
+fi
+IUSE="+compiler-rt cros_host elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind llvm-next llvm-tot msan +static-libs continue-on-patch-failure"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+	?? ( libcxxabi libcxxrt )"
+
+# MULTILIB_USEDEP is defined in an eclass, which shellcheck won't see
+# shellcheck disable=SC2154
+RDEPEND="
+	libunwind? ( ${CATEGORY}/llvm-libunwind )
+	libcxxrt? ( ${CATEGORY}/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+	!cros_host? ( sys-libs/gcc-libs )"
+DEPEND="${RDEPEND}
+	cros_host? ( sys-devel/llvm )
+	app-arch/xz-utils"
+
+python_check_deps() {
+	has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+src_unpack() {
+	if use llvm-next || use llvm-tot; then
+		export EGIT_COMMIT="${LLVM_NEXT_HASH}"
+	else
+		export EGIT_COMMIT="${LLVM_HASH}"
+	fi
+	if [[ "${PV}" != "9999" ]]; then
+		# According to cros-workon, CROS_WORKON_COMMIT cannot be enabled in
+		# a 9999 ebuild.
+		CROS_WORKON_COMMIT="${EGIT_COMMIT}"
+	fi
+	cros-workon_src_unpack
+}
+
+src_prepare() {
+	local failure_mode
+	failure_mode="$(usex continue-on-patch-failure continue fail)"
+	"${FILESDIR}"/patch_manager/patch_manager.py \
+		--svn_version "$(get_most_recent_revision)" \
+		--patch_metadata_file "${FILESDIR}"/PATCHES.json \
+		--failure_mode "${failure_mode}" \
+		--src_path "${S}" || die
+
+	eapply_user
+}
+
+pkg_setup() {
+	setup_cross_toolchain
+	export CMAKE_USE_DIR="${S}/runtimes"
+}
+
+multilib_src_configure() {
+	# Filter sanitzers flags.
+	filter_sanitizers
+
+	cros_optimize_package_for_speed
+
+	local cxxabi cxxabi_incs
+	if use libcxxabi; then
+		cxxabi=libcxxabi
+		# CTARGET is defined in an eclass, which shellcheck won't see
+		# shellcheck disable=SC2154
+		cxxabi_incs="${SYSROOT}/${PREFIX}/include/libcxxabi"
+	fi
+	# Use vfpv3 to be able to target non-neon targets.
+	if [[ $(tc-arch) == "arm" ]] ; then
+		append-flags -mfpu=vfpv3
+	fi
+
+	# we want -lgcc_s for unwinder, and for compiler runtime when using
+	# gcc, clang with gcc runtime (or any unknown compiler)
+	local extra_libs=() want_gcc_s=ON
+	if use libunwind || use compiler-rt; then
+		# work-around missing -lunwind upstream
+		use libunwind && extra_libs+=( -lunwind )
+		# if we're using libunwind and clang with compiler-rt, we want
+		# to link to compiler-rt instead of -lgcc_s
+		if tc-is-clang; then
+			# get the full library list out of 'pretend mode'
+			# and grep it for libclang_rt references
+			local args
+			IFS=" " read -r -a args <<< "$($(tc-getCC) -### -x c - 2>&1 | tail -n 1)"
+			local i
+			for i in "${args[@]}"; do
+				if [[ ${i} == *libclang_rt* ]]; then
+					want_gcc_s=OFF
+					extra_libs+=( "${i}" )
+				fi
+			done
+		fi
+	fi
+
+	# Link with libunwind.so.
+	use libunwind && append-ldflags "-shared-libgcc"
+
+	# Enable futex in libc++abi to match prod toolchain.
+	append-cppflags -D_LIBCXXABI_USE_FUTEX
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		"-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}"
+		"-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY"
+		"-DCMAKE_POSITION_INDEPENDENT_CODE=ON"
+		"-DLIBCXX_ENABLE_SHARED=ON"
+		"-DLIBCXX_ENABLE_STATIC=$(usex static-libs)"
+		"-DLIBCXX_INCLUDE_BENCHMARKS=OFF"
+		# we're using our own mechanism for generating linker scripts
+		"-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF"
+		"-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)"
+		"-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}"
+		"-DLIBCXX_USE_COMPILER_RT=$(usex compiler-rt)"
+		"-DLIBCXX_INCLUDE_TESTS=OFF"
+		"-DCMAKE_INSTALL_PREFIX=${PREFIX}"
+		"-DCMAKE_SHARED_LINKER_FLAGS=${extra_libs[*]} ${LDFLAGS}"
+		"-DLIBCXX_HAS_ATOMIC_LIB=OFF"
+		"-DCMAKE_C_COMPILER_TARGET=$(get_abi_CTARGET)"
+		"-DCMAKE_CXX_COMPILER_TARGET=$(get_abi_CTARGET)"
+		"-DLLVM_ENABLE_RUNTIMES=libcxxabi;libcxx"
+		"-DLIBCXX_CXX_ABI=${cxxabi}"
+		"-DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind)"
+		"-DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib}"
+		"-DLIBCXXABI_ENABLE_SHARED=ON"
+		"-DLIBCXXABI_ENABLE_STATIC=$(usex static-libs)"
+		"-DLIBCXXABI_INCLUDE_TESTS=OFF"
+		"-DLIBCXXABI_USE_COMPILER_RT=$(usex compiler-rt)"
+	)
+	if use msan; then
+		mycmakeargs+=(
+			"-DLLVM_USE_SANITIZER=Memory"
+		)
+	fi
+
+	if is_baremetal_abi; then
+		# Options for baremetal toolchains e.g. armv7m-cros-eabi.
+		# Disable stack allocation and features like posix_memalign.
+		append-cppflags "-D_LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION"
+		mycmakeargs+=(
+			"-DCMAKE_POSITION_INDEPENDENT_CODE=OFF"
+			"-DLIBCXXABI_ENABLE_SHARED=OFF"
+			"-DLIBCXXABI_BAREMETAL=ON"
+			"-DLIBCXXABI_SILENT_TERMINATE=ON"
+			"-DLIBCXXABI_NON_DEMANGLING_TERMINATE=ON"
+			"-DLIBCXXABI_ENABLE_THREADS=OFF"
+			"-DLIBCXX_ENABLE_SHARED=OFF"
+			"-DLIBCXX_ENABLE_RANDOM_DEVICE=OFF"
+			"-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF"
+			"-DLIBCXX_ENABLE_LOCALIZATION=OFF"
+			"-DLIBCXX_ENABLE_UNICODE=OFF"
+			"-DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF"
+			"-DLIBCXX_ENABLE_FILESYSTEM=OFF"
+			"-DLIBCXX_ENABLE_THREADS=OFF"
+			"-DLIBCXX_ENABLE_MONOTONIC_CLOCK=OFF"
+			"-DLIBCXX_ENABLE_INCOMPLETE_FEATURES=OFF"
+		)
+	fi
+
+	cmake-utils_src_configure
+}
+
+# Usage: deps
+gen_ldscript() {
+	local output_format
+	# shellcheck disable=SC2086
+	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+	cat <<-END_LDSCRIPT
+/* GNU ld script
+	Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+	local libdir=$(get_libdir)
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+	# Move it first.
+	mv "${ED}/${PREFIX}/${libdir}/libc++.a" "${ED}/${PREFIX}/${libdir}/libc++_static.a" || die
+	# Generate libc++.a ldscript for inclusion of its dependencies so that
+	# clang++ -stdlib=libc++ -static works out of the box.
+	local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+	# On Linux/glibc it does not link without libpthread or libdl. It is
+	# fine on FreeBSD.
+	use elibc_glibc && ! is_baremetal_abi && deps+=" libpthread.a libdl.a"
+
+	gen_ldscript "${deps}" > "${ED}/${PREFIX}/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+	local libdir=$(get_libdir)
+	# libsupc++ doesn't have a shared version
+	local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+	mv "${ED}/${PREFIX}/${libdir}/libc++.so" "${ED}/${PREFIX}/${libdir}/libc++_shared.so" || die
+	local deps="libc++_shared.so ${cxxabi_lib} $(usex compiler-rt '' $(usex libunwind libunwind.so libgcc_s.so))"
+
+	gen_ldscript "${deps}" > "${ED}/${PREFIX}/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	is_baremetal_abi || gen_shared_ldscript
+	use static-libs && gen_static_ldscript
+}
+
+multilib_src_install_all() {
+	if [[ ${CATEGORY} == cross-* ]]; then
+		rm -r "${ED}/usr/share/doc"
+	fi
+}
diff --git a/sys-libs/libcxxabi/files/PATCHES.json b/sys-libs/libcxxabi/files/PATCHES.json
index 9389048..9ea4f83 100644
--- a/sys-libs/libcxxabi/files/PATCHES.json
+++ b/sys-libs/libcxxabi/files/PATCHES.json
@@ -1,6 +1,5 @@
 [
     {
-        "end_version": 419078,
         "metadata": {
             "info": [],
             "title": "Link libcxx with gcc_eh when linking with gcc_s is not desired"
@@ -9,10 +8,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "libcxxabi-7-use-libgcc_eh.patch",
-        "start_version": 0
+        "version_range": {
+            "from": 0,
+            "until": 419078
+        }
     },
     {
-        "end_version": 435269,
         "metadata": {
             "info": [],
             "title": "[Arm][Unwind][libc++abi] Add _Unwind_ForcedUnwind to EHABI."
@@ -21,10 +22,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "db126ae243cd70e4f68fd50a7c619740e90e1dc6.patch",
-        "start_version": 422132
+        "version_range": {
+            "from": 422132,
+            "until": 435269
+        }
     },
     {
-        "end_version": 444704,
         "metadata": {
             "info": [],
             "title": "[libunwind][ARM] Handle end of stack during unwind"
@@ -33,7 +36,10 @@
             "chromiumos"
         ],
         "rel_patch_path": "D109856.patch",
-        "start_version": 433403
+        "version_range": {
+            "from": 433403,
+            "until": 444704
+        }
     },
     {
         "metadata": {
@@ -44,6 +50,23 @@
             "chromiumos"
         ],
         "rel_patch_path": "revert-b1c9d3d29a1e3cc6a9ad6f0fd1a3a0fa15800f64.patch",
-        "start_version": 443104
+        "version_range": {
+            "from": 443104,
+            "until": 461806
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[libunwind][AArch64] Fix _Unwind_ForcedUnwind via sigreturn."
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "f326df34bc179e41ea17d31e1ffba4a479e45589.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 460305
+        }
     }
 ]
diff --git a/sys-libs/libcxxabi/files/f326df34bc179e41ea17d31e1ffba4a479e45589.patch b/sys-libs/libcxxabi/files/f326df34bc179e41ea17d31e1ffba4a479e45589.patch
new file mode 100644
index 0000000..326f11e
--- /dev/null
+++ b/sys-libs/libcxxabi/files/f326df34bc179e41ea17d31e1ffba4a479e45589.patch
@@ -0,0 +1,69 @@
+commit f326df34bc179e41ea17d31e1ffba4a479e45589
+Author: Daniel Kiss <daniel.kiss@arm.com>
+Date:   Thu Apr 28 10:01:22 2022 +0200
+
+    [libunwind][AArch64] Fix _Unwind_ForcedUnwind via sigreturn.
+    
+    When the sigreturn trampoline is found the unw_proc_info_t.end_ip need to be set to
+    indicate a stack frame is found.
+    
+    Reviewed By: cjdb, #libunwind, MaskRay
+    
+    Differential Revision: https://reviews.llvm.org/D124522
+
+diff --git a/libcxxabi/test/forced_unwind4.pass.cpp b/libcxxabi/test/forced_unwind4.pass.cpp
+new file mode 100644
+index 000000000000..53a0121da92e
+--- /dev/null
++++ b/libcxxabi/test/forced_unwind4.pass.cpp
+@@ -0,0 +1,50 @@
++// -*- C++ -*-
++//===----------------------------------------------------------------------===//
++//
++// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++// See https://llvm.org/LICENSE.txt for license information.
++// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
++//
++//===----------------------------------------------------------------------===//
++
++// REQUIRES: linux && target={{aarch64-.+}}
++
++// pthread_cancel in case of glibc calls _Unwind_ForcedUnwind from a signal on
++// the child_thread. This test ensures sigretrun is handled correctly (see:
++// UnwindCursor<A, R>::setInfoForSigReturn).
++
++#include <chrono>
++#include <condition_variable>
++#include <pthread.h>
++#include <unistd.h>
++
++using namespace std::chrono_literals;
++
++std::condition_variable cv;
++std::mutex cv_m;
++bool thread_ready = false;
++
++static void* test(void* arg) {
++  (void)arg;
++  thread_ready = true;
++  cv.notify_all();
++
++  // This must be a pthread cancellation point.
++  while (1)
++    sleep(100);
++
++  return (void*)1;
++}
++
++int main() {
++  pthread_t child_thread;
++  std::unique_lock<std::mutex> lk(cv_m);
++  pthread_create(&child_thread, 0, test, (void*)0);
++
++  if (!cv.wait_for(lk, 100ms, [] { return thread_ready; }))
++    return -1;
++
++  pthread_cancel(child_thread);
++  pthread_join(child_thread, NULL);
++  return 0;
++}
diff --git a/sys-libs/libcxxabi/libcxxabi-14.0_pre445002-r1.ebuild b/sys-libs/libcxxabi/libcxxabi-14.0_pre445002-r1.ebuild
deleted file mode 120000
index f34f781..0000000
--- a/sys-libs/libcxxabi/libcxxabi-14.0_pre445002-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-libcxxabi-14.0_pre445002.ebuild
\ No newline at end of file
diff --git a/sys-libs/libcxxabi/libcxxabi-14.0_pre445002.ebuild b/sys-libs/libcxxabi/libcxxabi-14.0_pre445002.ebuild
deleted file mode 100644
index 8ac58dc..0000000
--- a/sys-libs/libcxxabi/libcxxabi-14.0_pre445002.ebuild
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: "${CMAKE_MAKEFILE_GENERATOR:=ninja}"
-PYTHON_COMPAT=( python3_6 )
-
-CROS_WORKON_REPO="${CROS_GIT_HOST_URL}"
-CROS_WORKON_PROJECT="external/github.com/llvm/llvm-project"
-CROS_WORKON_LOCALNAME="llvm-project"
-CROS_WORKON_MANUAL_UPREV=1
-
-inherit cmake-multilib cros-constants cros-llvm flag-o-matic git-2 llvm python-any-r1 cros-workon
-
-DESCRIPTION="Low level support for a standard C++ library"
-HOMEPAGE="http://libcxxabi.llvm.org/"
-
-SRC_URI=""
-EGIT_REPO_URI="${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project
-	${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project"
-EGIT_BRANCH=main
-
-LLVM_HASH="18308e171b5b1dd99627a4d88c7d6c5ff21b8c96" # r445002
-LLVM_NEXT_HASH="18308e171b5b1dd99627a4d88c7d6c5ff21b8c96" # r445002
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="*"
-if [[ "${PV}" == "9999" ]]; then
-	KEYWORDS="~*"
-fi
-IUSE="+compiler-rt cros_host +libunwind msan llvm-next llvm-tot +static-libs"
-
-RDEPEND="
-	libunwind? (
-			|| (
-				>=${CATEGORY}/libunwind-1[static-libs?,${MULTILIB_USEDEP}]
-				>=${CATEGORY}/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}]
-			)
-	)
-	!cros_host? ( sys-libs/gcc-libs )"
-
-DEPEND="${RDEPEND}
-	cros_host? ( sys-devel/llvm )"
-
-python_check_deps() {
-	has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	setup_cross_toolchain
-	llvm_pkg_setup
-	export CMAKE_USE_DIR="${S}/libcxxabi"
-}
-
-src_unpack() {
-	if use llvm-next || use llvm-tot; then
-		export EGIT_COMMIT="${LLVM_NEXT_HASH}"
-	else
-		export EGIT_COMMIT="${LLVM_HASH}"
-	fi
-	if [[ "${PV}" != "9999" ]]; then
-		CROS_WORKON_COMMIT="${EGIT_COMMIT}"
-	fi
-	cros-workon_src_unpack
-}
-
-src_prepare() {
-	"${FILESDIR}"/patch_manager/patch_manager.py \
-		--svn_version "$(get_most_recent_revision)" \
-		--patch_metadata_file "${FILESDIR}"/PATCHES.json \
-		--filesdir_path "${FILESDIR}" \
-		--src_path "${S}" || die
-
-	eapply_user
-}
-
-multilib_src_configure() {
-	# Filter sanitzers flags.
-	filter_sanitizers
-	# Use vpfv3 fpu to be able to target non-neon targets.
-	if [[ $(tc-arch) == "arm" ]] ; then
-		append-flags -mfpu=vfpv3
-	fi
-	append-flags -I"${S}/libunwind/include"
-	# Enable futex in libc++abi to match prod toolchain.
-	append-cppflags -D_LIBCXXABI_USE_FUTEX
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		"-DLLVM_ENABLE_PROJECTS=libcxxabi"
-		"-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY"
-		"-DCMAKE_POSITION_INDEPENDENT_CODE=ON"
-		"-DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib}"
-		"-DLIBCXXABI_ENABLE_SHARED=ON"
-		"-DLIBCXXABI_ENABLE_STATIC=$(usex static-libs)"
-		"-DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind)"
-		"-DLIBCXXABI_INCLUDE_TESTS=OFF"
-		"-DCMAKE_INSTALL_PREFIX=${PREFIX}"
-		"-DLIBCXXABI_LIBCXX_INCLUDES=libcxx_build/include/c++/v1"
-		"-DLIBCXXABI_USE_COMPILER_RT=$(usex compiler-rt)"
-		"-DCMAKE_C_COMPILER_TARGET=$(get_abi_CTARGET)"
-		"-DCMAKE_CXX_COMPILER_TARGET=$(get_abi_CTARGET)"
-	)
-
-	# Update LLVM to 9.0 will cause LLVM to complain
-	# libstdc++ version is old. Add this flag as suggested in the error
-	# message.
-	mycmakeargs+=(
-		"-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=1"
-	)
-
-	if use msan; then
-		mycmakeargs+=(
-			"-DLLVM_USE_SANITIZER=Memory"
-		)
-	fi
-
-	libcxx_configure
-
-	# Link with libunwind.so.
-	use libunwind && append-ldflags "-shared-libgcc"
-	cmake-utils_src_configure
-}
-
-# Works around libcxx/libcxxabi cyclic dependency where libcxx needs libcxxabi,
-# but libcxxabi needs libcxx headers by generating the libcxx headers for
-# libcxxabi.
-libcxx_configure() {
-	mkdir -p libcxx_build
-	cd libcxx_build || die
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		"-DLLVM_ENABLE_PROJECTS=libcxx"
-		"-DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}"
-		"-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY"
-		"-DCMAKE_POSITION_INDEPENDENT_CODE=ON"
-		"-DLIBCXX_ENABLE_SHARED=ON"
-		"-DLIBCXX_ENABLE_STATIC=yes"
-		"-DLIBCXX_CXX_ABI=libcxxabi"
-		# we're using our own mechanism for generating linker scripts
-		"-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF"
-		"-DLIBCXX_HAS_MUSL_LIBC=off"
-		"-DLIBCXX_HAS_GCC_S_LIB=no"
-		"-DLIBCXX_USE_COMPILER_RT=yes"
-		"-DLIBCXX_INCLUDE_TESTS=OFF"
-		"-DLIBCXX_HAS_ATOMIC_LIB=OFF"
-		"-DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind)"
-		"-DCMAKE_INSTALL_PREFIX=${PREFIX}"
-	)
-	cmake -GNinja "${S}/libcxx" "${mycmakeargs[@]}"
-	ninja generate-cxx-headers || die
-	cd .. || die
-}
-
-multilib_src_install_all() {
-	if [[ ${CATEGORY} == cross-* ]]; then
-		rm -r "${ED}/usr/share/doc"
-	fi
-	insinto "${PREFIX}"/include/libcxxabi
-	doins -r "${S}"/libcxxabi/include/.
-}
diff --git a/sys-libs/libcxxabi/libcxxabi-15.0_pre458507-r3.ebuild b/sys-libs/libcxxabi/libcxxabi-15.0_pre458507-r3.ebuild
new file mode 120000
index 0000000..b23c393
--- /dev/null
+++ b/sys-libs/libcxxabi/libcxxabi-15.0_pre458507-r3.ebuild
@@ -0,0 +1 @@
+libcxxabi-15.0_pre458507.ebuild
\ No newline at end of file
diff --git a/sys-libs/libcxxabi/libcxxabi-15.0_pre458507.ebuild b/sys-libs/libcxxabi/libcxxabi-15.0_pre458507.ebuild
new file mode 100644
index 0000000..cbea6d7
--- /dev/null
+++ b/sys-libs/libcxxabi/libcxxabi-15.0_pre458507.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Low level support for a standard C++ library"
+HOMEPAGE="http://libcxxabi.llvm.org/"
+SRC_URI=""
+
+# shellcheck disable=SC2034
+LLVM_HASH="a58d0af058038595c93de961b725f86997cf8d4a" # r458507
+LLVM_NEXT_HASH="db1978b67431ca3462ad8935bf662c15750b8252" # r465103
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="*"
+if [[ "${PV}" == "9999" ]]; then
+	KEYWORDS="~*"
+fi
+IUSE="+compiler-rt cros_host +libunwind msan llvm-next llvm-tot +static-libs"
+
+RDEPEND=""
+DEPEND=""
diff --git a/sys-libs/libnih/Manifest b/sys-libs/libnih/Manifest
new file mode 100644
index 0000000..2b231bc
--- /dev/null
+++ b/sys-libs/libnih/Manifest
@@ -0,0 +1 @@
+DIST libnih-1.0.3.tar.gz 1187624 BLAKE2B f8f9fcdda86eabff39de0b0f92cd1f8c1c0eeb0c86ec4970e5bef1cc0dff0fda83db64975ece93d5d8ede5d0613d5f363dd7456c59fe966feb5e61e5b8913627 SHA512 fce40d2445b28c27b8838631681ca3206a4f053b2dd4fc488fc9ef98bbd3d933e3d62b82cf346be2ef1677f6457f692cf5544cd915a6bb1e5c618f98ffa101b4
diff --git a/sys-libs/libnih/OWNERS b/sys-libs/libnih/OWNERS
new file mode 100644
index 0000000..bbb8c2ec
--- /dev/null
+++ b/sys-libs/libnih/OWNERS
@@ -0,0 +1 @@
+include /sys-apps/upstart/OWNERS
diff --git a/sys-libs/libnih/files/libnih-1.0.3-expat-2.2.5.patch b/sys-libs/libnih/files/libnih-1.0.3-expat-2.2.5.patch
new file mode 100644
index 0000000..02b5e4c
--- /dev/null
+++ b/sys-libs/libnih/files/libnih-1.0.3-expat-2.2.5.patch
@@ -0,0 +1,15 @@
+Description: Adapt test suite to expat 2.2.5
+Author: Axel Beckert <abe@debian.org>
+Bug-Debian: https://bugs.debian.org/886416
+
+--- a/nih-dbus-tool/tests/test_parse.c
++++ b/nih-dbus-tool/tests/test_parse.c
+@@ -7950,7 +7950,7 @@
+ 
+ 		TEST_EQ_P (node, NULL);
+ 
+-		TEST_FILE_EQ (output, ("test:foo:2:0: "
++		TEST_FILE_EQ (output, ("test:foo:1:36: "
+ 				       "Invalid object path in <node> name attribute\n"));
+ 		TEST_FILE_END (output);
+ 		TEST_FILE_RESET (output);
diff --git a/sys-libs/libnih/files/libnih-1.0.3-fix-assert-not-reach-logic.patch b/sys-libs/libnih/files/libnih-1.0.3-fix-assert-not-reach-logic.patch
new file mode 100644
index 0000000..e9b9688
--- /dev/null
+++ b/sys-libs/libnih/files/libnih-1.0.3-fix-assert-not-reach-logic.patch
@@ -0,0 +1,27 @@
+From a465cfdafc81ddf67fcf37b8517078cd3d63892a Mon Sep 17 00:00:00 2001
+From: Gwendal Grignou <gwendal@chromium.org>
+Date: Fri, 17 Jun 2022 09:09:18 -0700
+Subject: [PATCH] fix assert logic
+
+The logic value in the assert should be |false| (0) to hit.
+
+---
+ nih/tests/test_tree.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/nih/tests/test_tree.c b/nih/tests/test_tree.c
+index 58f1178..2b8ccc2 100644
+--- a/nih/tests/test_tree.c
++++ b/nih/tests/test_tree.c
+@@ -1357,7 +1357,7 @@ my_filter (NihTree **nodes,
+ 	if (node == nodes['l' - 97])
+ 		return TRUE;
+ 
+-	assert ("not reached");
++	assert (! "not reached");
+ 	return TRUE;
+ }
+ 
+-- 
+2.31.0
+
diff --git a/sys-libs/libnih/files/libnih-1.0.3-fix-test-to-reflect-changes-in-outputs.patch b/sys-libs/libnih/files/libnih-1.0.3-fix-test-to-reflect-changes-in-outputs.patch
new file mode 100644
index 0000000..7ea5bd4
--- /dev/null
+++ b/sys-libs/libnih/files/libnih-1.0.3-fix-test-to-reflect-changes-in-outputs.patch
@@ -0,0 +1,48 @@
+From df1c7dc16d59bdc4c61f8ee3ab33755c7e7f654f Mon Sep 17 00:00:00 2001
+From: Gwendal Grignou <gwendal@chromium.org>
+Date: Tue, 31 May 2022 12:31:53 -0700
+Subject: [PATCH] Fix test to reflect changes in outputs
+
+Fixes 34caaa3690db ("* nih/main.c (nih_main_version): Use nih_str_screen_wrap to output...")
+
+|nih_str_screen_wrap| does not add a `\n` before warranty, as line is
+less than 80 characters.
+
+Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
+---
+ nih/tests/test_option.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/nih/tests/test_option.c b/nih/tests/test_option.c
+index fa366cf..aa5dfbe 100644
+--- a/nih/tests/test_option.c
++++ b/nih/tests/test_option.c
+@@ -1578,7 +1578,7 @@ test_version (void)
+ 
+ 				args = nih_option_parser (NULL, argc, argv,
+ 							  options, FALSE);
+-				exit (1);
++				assert (! "not reached");
+ 			}
+ 		}
+ 
+@@ -1592,7 +1592,6 @@ test_version (void)
+ 		TEST_FILE_EQ (output, "Copyright Message\n");
+ 		TEST_FILE_EQ (output, "\n");
+ 		TEST_FILE_EQ_N (output, "This is free software;");
+-		TEST_FILE_EQ_N (output, "warranty; not even for");
+ 		TEST_FILE_END (output);
+ 
+ 		fclose (output);
+@@ -1656,7 +1655,7 @@ test_help (void)
+ 
+ 				args = nih_option_parser (NULL, argc, argv,
+ 							  options, FALSE);
+-				exit (1);
++				assert (! "not reached");
+ 			}
+ 		}
+ 
+-- 
+2.31.0
+
diff --git a/sys-libs/libnih/files/libnih-1.0.3-fno-common.patch b/sys-libs/libnih/files/libnih-1.0.3-fno-common.patch
new file mode 100644
index 0000000..2b3a9ce
--- /dev/null
+++ b/sys-libs/libnih/files/libnih-1.0.3-fno-common.patch
@@ -0,0 +1,11 @@
+--- a/nih-dbus-tool/output.h
++++ b/nih-dbus-tool/output.h
+@@ -27,7 +27,7 @@
+ 
+ NIH_BEGIN_EXTERN
+ 
+-char *output_package;
++extern char *output_package;
+ 
+ int   output          (const char *source_path, int source_fd,
+ 		       const char *header_path, int header_fd,
diff --git a/sys-libs/libnih/files/libnih-1.0.3-glibc-2.24.patch b/sys-libs/libnih/files/libnih-1.0.3-glibc-2.24.patch
new file mode 100644
index 0000000..9b90f35
--- /dev/null
+++ b/sys-libs/libnih/files/libnih-1.0.3-glibc-2.24.patch
@@ -0,0 +1,57 @@
+With glibc >= 2.24, raise() temporarily blocks signals to make this
+function async-signal-safe. This has the consequence that the SIGCONT
+signal send by the call to PTRACE_CONT is delivered slightly later. In
+turn it means the next ptrace event received is the SIGCONT signal
+instead of the expected one.
+
+Unfortunately the libnih testsuite has very precise expectations, and
+do not expect such an event. Fix that by catching it and waiting for the
+following event.
+
+--- libnih-1.0.3.orig/nih/tests/test_child.c
++++ libnih-1.0.3/nih/tests/test_child.c
+@@ -360,6 +360,14 @@ test_poll (void)
+ 
+ 	waitid (P_PID, pid, &siginfo, WSTOPPED | WNOWAIT);
+ 
++	/* ptrace might catch the SIGCONT emitted with PTRACE_CONT, catch it 
++	   and wait for the next event.
++	 */
++	if (siginfo.si_code == CLD_TRAPPED && siginfo.si_status == SIGCONT) {
++		assert0 (ptrace (PTRACE_CONT, pid, NULL, NULL));
++		waitid (P_PID, pid, &siginfo, WSTOPPED | WNOWAIT);
++	}
++
+ 	watch = nih_child_add_watch (NULL, pid, NIH_CHILD_TRAPPED,
+ 				     my_handler, &watch);
+ 
+@@ -420,6 +428,14 @@ test_poll (void)
+ 	/* Wait for ptrace to stop the parent (signalling the fork) */
+ 	waitid (P_PID, pid, &siginfo, WSTOPPED | WNOWAIT);
+ 
++	/* ptrace might catch the SIGCONT emitted with PTRACE_CONT, catch it
++	   and wait for the next event.
++	 */
++	if (siginfo.si_code == CLD_TRAPPED && siginfo.si_status == SIGCONT) {
++		assert0 (ptrace (PTRACE_CONT, pid, NULL, NULL));
++		waitid (P_PID, pid, &siginfo, WSTOPPED | WNOWAIT);
++	}
++
+ 	/* Will be able to get the child pid now, we have to do it here
+ 	 * because we want to wait on it to ensure the test is synchronous;
+ 	 * otherwise nih_child_poll() could actually eat the child event
+@@ -489,6 +505,14 @@ test_poll (void)
+ 
+ 	waitid (P_PID, pid, &siginfo, WSTOPPED | WNOWAIT);
+ 
++	/* ptrace might catch the SIGCONT emitted with PTRACE_CONT, catch it
++	   and wait for the next event.
++	 */
++	if (siginfo.si_code == CLD_TRAPPED && siginfo.si_status == SIGCONT) {
++		assert0 (ptrace (PTRACE_CONT, pid, NULL, NULL));
++		waitid (P_PID, pid, &siginfo, WSTOPPED | WNOWAIT);
++	}
++
+ 	watch = nih_child_add_watch (NULL, pid, NIH_CHILD_PTRACE,
+ 				     my_handler, &watch);
+ 
diff --git a/sys-libs/libnih/files/libnih-1.0.3-optional-dbus.patch b/sys-libs/libnih/files/libnih-1.0.3-optional-dbus.patch
new file mode 100644
index 0000000..49ad68a
--- /dev/null
+++ b/sys-libs/libnih/files/libnih-1.0.3-optional-dbus.patch
@@ -0,0 +1,40 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -23,12 +23,21 @@
+ PKG_PROG_PKG_CONFIG([0.22])
+ 
+ # Checks for libraries.
+-PKG_CHECK_MODULES([DBUS], [dbus-1 >= 1.2.16])
+-AC_CHECK_LIB([expat], [XML_ParserCreate],
++AC_ARG_WITH([dbus],
++  [AS_HELP_STRING([--without-dbus],
++    [disable support for dbus])],
++  [],
++  [with_dbus=yes])
++
++AS_IF([test "x$with_dbus" != xno],[
++	PKG_CHECK_MODULES([DBUS], [dbus-1 >= 1.2.16])
++	AC_CHECK_LIB([expat], [XML_ParserCreate],
+ 	     [AC_CHECK_LIB([expat], [XML_StopParser],
+ 	     		   [AC_SUBST([EXPAT_LIBS], [-lexpat])],
+ 			   [AC_MSG_ERROR([expat >= 2.0.0 required])])],
+-	     [AC_MSG_ERROR([expat library not found])])
++	     [AC_MSG_ERROR([expat library not found])])])
++
++AM_CONDITIONAL([DBUS_SUPPORT], [test "x$with_dbus" != xno])
+ 
+ # Checks for header files.
+ AC_CHECK_HEADERS([valgrind/valgrind.h])
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,6 +1,9 @@
+ ## Process this file with automake to produce Makefile.in
+ 
+-SUBDIRS = m4 intl nih nih-dbus nih-dbus-tool po
++SUBDIRS = m4 intl nih po
++if DBUS_SUPPORT
++SUBDIRS += nih-dbus nih-dbus-tool
++endif
+ 
+ EXTRA_DIST = HACKING
+ 
diff --git a/sys-libs/libnih/files/libnih-1.0.3-pkg-config.patch b/sys-libs/libnih/files/libnih-1.0.3-pkg-config.patch
new file mode 100644
index 0000000..6516de7
--- /dev/null
+++ b/sys-libs/libnih/files/libnih-1.0.3-pkg-config.patch
@@ -0,0 +1,24 @@
+--- a/nih-dbus/Makefile.am
++++ b/nih-dbus/Makefile.am
+@@ -49,7 +49,7 @@
+ 	test_dbus.h
+ 
+ 
+-pkgconfigdir = $(prefix)/lib/pkgconfig
++pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = libnih-dbus.pc
+ 
+ 
+
+--- a/nih/Makefile.am
++++ b/nih/Makefile.am
+@@ -71,7 +71,7 @@
+ 	test_hash.h
+ 
+ 
+-pkgconfigdir = $(prefix)/lib/pkgconfig
++pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = libnih.pc
+ 
+ 
+
diff --git a/sys-libs/libnih/files/libnih-1.0.3-signal-race.patch b/sys-libs/libnih/files/libnih-1.0.3-signal-race.patch
new file mode 100644
index 0000000..364af7f
--- /dev/null
+++ b/sys-libs/libnih/files/libnih-1.0.3-signal-race.patch
@@ -0,0 +1,44 @@
+--- a/nih/signal.c
++++ b/nih/signal.c
+@@ -337,17 +337,37 @@
+ 
+ 	nih_signal_init ();
+ 
++	/* Since this poller runs w/out signals masked, we do not want to try
++	 * and clear any other signals (like zeroing the caught array at the
++	 * end).  If we do that, we open a race:
++	 * - Walk the list of signals.
++	 * - First one is not set so we move on to the second one.
++	 * - First signal comes in while processing second and increments the
++	 *   caught array entry.
++	 * - Finish walking the whole list.
++	 * - Zero out the whole list and thus throw away the first signal.
++	 * Since the signal handlers can take any length of time, this race
++	 * can be open for a variable amount of time.
++	 */
++
+ 	NIH_LIST_FOREACH_SAFE (nih_signals, iter) {
+ 		NihSignal *signal = (NihSignal *)iter;
+ 
+ 		if (! signals_caught[signal->signum])
+ 			continue;
+ 
++		/* Now that we know we're going to process this signal, clear
++		 * out all pending counts for it.  There is a slight race here
++		 * where the same signal can come in, but the API has never
++		 * guaranteed exact coverage since POSIX does not provide it --
++		 * more than one signal can be collapsed into one event.  All
++		 * we can guarantee is that we'll notice signals that come in
++		 * once the handler runs.
++		 */
++		signals_caught[signal->signum] = 0;
++
+ 		signal->handler (signal->data, signal);
+ 	}
+-
+-	for (s = 0; s < NUM_SIGNALS; s++)
+-		signals_caught[s] = 0;
+ }
+ 
+ 
+
diff --git a/sys-libs/libnih/files/libnih-1.0.3-test_main-Disable-textdomain-test.patch b/sys-libs/libnih/files/libnih-1.0.3-test_main-Disable-textdomain-test.patch
new file mode 100644
index 0000000..46f7a23
--- /dev/null
+++ b/sys-libs/libnih/files/libnih-1.0.3-test_main-Disable-textdomain-test.patch
@@ -0,0 +1,34 @@
+From cab56a40f5be7276659bb31d9a0dfa123902db1b Mon Sep 17 00:00:00 2001
+From: Gwendal Grignou <gwendal@chromium.org>
+Date: Wed, 8 Jun 2022 10:28:44 -0700
+Subject: [PATCH] test_main: Disable textdomain test
+
+Unexpected return for the function when emerging/
+
+Change-Id: Ie08e1733a849a6c8a36da4b429d4f58b928d3785
+---
+ nih/tests/test_main.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/nih/tests/test_main.c b/nih/tests/test_main.c
+index a43e2a2f..f7d8abfa 100644
+--- a/nih/tests/test_main.c
++++ b/nih/tests/test_main.c
+@@ -49,8 +49,12 @@ test_init_gettext (void)
+ 	TEST_FUNCTION ("nih_main_init_gettext");
+ 	nih_main_init_gettext();
+ 
+-	TEST_EQ_STR (textdomain (NULL), PACKAGE_NAME);
+-	TEST_EQ_STR (bindtextdomain (PACKAGE_NAME, NULL), LOCALEDIR);
++	/*
++	 * "messages" instead of "upstart"
++	 *"/usr/share/locale" instead of "//share/locale"
++	 * TEST_EQ_STR (textdomain (NULL), PACKAGE_NAME);
++	 * TEST_EQ_STR (bindtextdomain (PACKAGE_NAME, NULL), LOCALEDIR);
++	 */
+ }
+ 
+ void
+-- 
+2.36.1.255.ge46751e96f-goog
+
diff --git a/sys-libs/libnih/libnih-1.0.3-r6.ebuild b/sys-libs/libnih/libnih-1.0.3-r6.ebuild
new file mode 120000
index 0000000..d06efa2
--- /dev/null
+++ b/sys-libs/libnih/libnih-1.0.3-r6.ebuild
@@ -0,0 +1 @@
+libnih-1.0.3.ebuild
\ No newline at end of file
diff --git a/sys-libs/libnih/libnih-1.0.3.ebuild b/sys-libs/libnih/libnih-1.0.3.ebuild
new file mode 100644
index 0000000..f99c3f0
--- /dev/null
+++ b/sys-libs/libnih/libnih-1.0.3.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools toolchain-funcs multilib flag-o-matic usr-ldscript
+
+DESCRIPTION="Light-weight 'standard library' of C functions"
+HOMEPAGE="https://launchpad.net/libnih"
+SRC_URI="https://launchpad.net/${PN}/$(ver_cut 1-2)/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+IUSE="+dbus nls static-libs +threads"
+
+# The configure phase will check for valgrind headers, and the tests will use
+# that header, but only to do dynamic valgrind detection.  The tests aren't
+# run directly through valgrind, only by developers directly.  So don't bother
+# depending on valgrind here. #559830
+RDEPEND="dbus? ( dev-libs/expat >=sys-apps/dbus-1.2.16 )"
+DEPEND="${RDEPEND}
+	sys-devel/gettext
+	virtual/pkgconfig"
+PATCHES=(
+	"${FILESDIR}"/${P}-optional-dbus.patch
+	"${FILESDIR}"/${P}-pkg-config.patch
+	"${FILESDIR}"/${P}-signal-race.patch
+	"${FILESDIR}"/${P}-fno-common.patch
+	"${FILESDIR}"/${P}-expat-2.2.5.patch
+	"${FILESDIR}"/${P}-glibc-2.24.patch
+	"${FILESDIR}"/${P}-fix-assert-not-reach-logic.patch
+	"${FILESDIR}"/${P}-fix-test-to-reflect-changes-in-outputs.patch
+	"${FILESDIR}"/${P}-test_main-Disable-textdomain-test.patch
+)
+
+src_prepare() {
+	default
+	eautoreconf
+}
+
+src_configure() {
+	append-lfs-flags
+	econf \
+		$(use_with dbus) \
+		$(use_enable nls) \
+		$(use_enable static-libs static) \
+		$(use_enable threads) \
+		$(use_enable threads threading)
+}
+
+src_install() {
+	default
+
+	# we need to be in / because upstart needs libnih
+	gen_usr_ldscript -a nih "$(use dbus && echo nih-dbus)"
+	use static-libs || rm "${ED}/usr/$(get_libdir)/*.la"
+}
+
+src_test() {
+	if ! use x86 && ! use amd64; then
+		ewarn "Skipping unittests for non-native arches"
+		return
+	fi
+	default
+}
diff --git a/sys-libs/libnih/metadata.xml b/sys-libs/libnih/metadata.xml
new file mode 100644
index 0000000..c029a63
--- /dev/null
+++ b/sys-libs/libnih/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<!-- maintainer-needed -->
+	<upstream>
+		<remote-id type="launchpad">libnih</remote-id>
+	</upstream>
+</pkgmetadata>
diff --git a/sys-libs/lithium/OWNERS b/sys-libs/lithium/OWNERS
new file mode 100644
index 0000000..2ce7341
--- /dev/null
+++ b/sys-libs/lithium/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform/lithium:/OWNERS
diff --git a/sys-libs/llvm-libunwind/files/PATCHES.json b/sys-libs/llvm-libunwind/files/PATCHES.json
index fd92926..2c67ce6 100644
--- a/sys-libs/llvm-libunwind/files/PATCHES.json
+++ b/sys-libs/llvm-libunwind/files/PATCHES.json
@@ -1,6 +1,5 @@
 [
     {
-        "end_version": 420477,
         "metadata": {
             "info": [],
             "title": "[libunwind] [risc-v] This patch is for fixing immediate build failure when Cross Unwinding enabled. Follow up patch will cleanup some Macros handling."
@@ -9,10 +8,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "5c3fc5093aaf7d9422459d295eb4eb769abcbaa4.patch",
-        "start_version": 420365
+        "version_range": {
+            "from": 420365,
+            "until": 420477
+        }
     },
     {
-        "end_version": 435268,
         "metadata": {
             "info": [],
             "title": "[Unwind] Split unwind.h"
@@ -21,10 +22,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "9ed1c7e4964382b95a5886279c0dfc7147a57b17.patch",
-        "start_version": 422132
+        "version_range": {
+            "from": 422132,
+            "until": 435268
+        }
     },
     {
-        "end_version": 435269,
         "metadata": {
             "info": [],
             "title": "[Arm][Unwind][libc++abi] Add _Unwind_ForcedUnwind to EHABI."
@@ -33,10 +36,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "db126ae243cd70e4f68fd50a7c619740e90e1dc6.patch",
-        "start_version": 422132
+        "version_range": {
+            "from": 422132,
+            "until": 435269
+        }
     },
     {
-        "end_version": 435270,
         "metadata": {
             "info": [],
             "title": "[libunwind] Compile with -Wunused-but-set-variable"
@@ -45,10 +50,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "6b6d3447317673015f62206b2669c2d0a74132dc.patch",
-        "start_version": 422132
+        "version_range": {
+            "from": 422132,
+            "until": 435270
+        }
     },
     {
-        "end_version": 435201,
         "metadata": {
             "info": [],
             "title": "libunwind: add missing break statements in EHABI"
@@ -57,10 +64,12 @@
             "chromiumos"
         ],
         "rel_patch_path": "08a5ac36b956edeb989b4a65269a829eac26a5a2.patch",
-        "start_version": 428724
+        "version_range": {
+            "from": 428724,
+            "until": 435201
+        }
     },
     {
-        "end_version": 444704,
         "metadata": {
             "info": [],
             "title": "[libunwind][ARM] Handle end of stack during unwind"
@@ -69,6 +78,23 @@
             "chromiumos"
         ],
         "rel_patch_path": "D109856.patch",
-        "start_version": 433403
+        "version_range": {
+            "from": 433403,
+            "until": 444704
+        }
+    },
+    {
+        "metadata": {
+            "info": [],
+            "title": "[libunwind][AArch64] Fix _Unwind_ForcedUnwind via sigreturn."
+        },
+        "platforms": [
+            "chromiumos"
+        ],
+        "rel_patch_path": "f326df34bc179e41ea17d31e1ffba4a479e45589.patch",
+        "version_range": {
+            "from": 450784,
+            "until": 460305
+        }
     }
 ]
diff --git a/sys-libs/llvm-libunwind/files/f326df34bc179e41ea17d31e1ffba4a479e45589.patch b/sys-libs/llvm-libunwind/files/f326df34bc179e41ea17d31e1ffba4a479e45589.patch
new file mode 100644
index 0000000..d903df0
--- /dev/null
+++ b/sys-libs/llvm-libunwind/files/f326df34bc179e41ea17d31e1ffba4a479e45589.patch
@@ -0,0 +1,26 @@
+commit f326df34bc179e41ea17d31e1ffba4a479e45589
+Author: Daniel Kiss <daniel.kiss@arm.com>
+Date:   Thu Apr 28 10:01:22 2022 +0200
+
+    [libunwind][AArch64] Fix _Unwind_ForcedUnwind via sigreturn.
+    
+    When the sigreturn trampoline is found the unw_proc_info_t.end_ip need to be set to
+    indicate a stack frame is found.
+    
+    Reviewed By: cjdb, #libunwind, MaskRay
+    
+    Differential Revision: https://reviews.llvm.org/D124522
+
+diff --git a/libunwind/src/UnwindCursor.hpp b/libunwind/src/UnwindCursor.hpp
+index dd849b781753..29ded5c4e78e 100644
+--- a/libunwind/src/UnwindCursor.hpp
++++ b/libunwind/src/UnwindCursor.hpp
+@@ -2606,6 +2606,8 @@ bool UnwindCursor<A, R>::setInfoForSigReturn(Registers_arm64 &) {
+   if (_addressSpace.get32(pc) == 0xd2801168 &&
+       _addressSpace.get32(pc + 4) == 0xd4000001) {
+     _info = {};
++    _info.start_ip = pc;
++    _info.end_ip = pc + 4;
+     _isSigReturn = true;
+     return true;
+   }
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-14.0_pre445002-r1.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-14.0_pre445002-r1.ebuild
deleted file mode 120000
index 58758cf..0000000
--- a/sys-libs/llvm-libunwind/llvm-libunwind-14.0_pre445002-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-llvm-libunwind-14.0_pre445002.ebuild
\ No newline at end of file
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-14.0_pre445002.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-14.0_pre445002.ebuild
deleted file mode 100644
index 6b32b57e..0000000
--- a/sys-libs/llvm-libunwind/llvm-libunwind-14.0_pre445002.ebuild
+++ /dev/null
@@ -1,181 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-CROS_WORKON_REPO="${CROS_GIT_HOST_URL}"
-CROS_WORKON_PROJECT="external/github.com/llvm/llvm-project"
-CROS_WORKON_LOCALNAME="llvm-project"
-CROS_WORKON_MANUAL_UPREV=1
-
-inherit cros-fuzzer cros-sanitizers cros-constants cmake-multilib cmake-utils git-2 cros-llvm cros-workon
-
-DESCRIPTION="C++ runtime stack unwinder from LLVM"
-HOMEPAGE="https://github.com/llvm-mirror/libunwind"
-SRC_URI=""
-EGIT_REPO_URI="${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project
-	${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project"
-EGIT_BRANCH=main
-
-LLVM_HASH="18308e171b5b1dd99627a4d88c7d6c5ff21b8c96" # r445002
-LLVM_NEXT_HASH="18308e171b5b1dd99627a4d88c7d6c5ff21b8c96" # r445002
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="*"
-if [[ "${PV}" == "9999" ]]; then
-	KEYWORDS="~*"
-fi
-IUSE="cros_host debug llvm-next llvm-tot +static-libs +shared-libs +synth_libgcc +compiler-rt"
-RDEPEND="!${CATEGORY}/libunwind"
-
-DEPEND="${RDEPEND}
-	cros_host? ( sys-devel/llvm )"
-
-pkg_setup() {
-	# Setup llvm toolchain for cross-compilation
-	setup_cross_toolchain
-	export CMAKE_USE_DIR="${S}/libunwind"
-}
-
-src_unpack() {
-	if use llvm-next || use llvm-tot; then
-		export EGIT_COMMIT="${LLVM_NEXT_HASH}"
-	else
-		export EGIT_COMMIT="${LLVM_HASH}"
-	fi
-	if [[ "${PV}" != "9999" ]]; then
-		CROS_WORKON_COMMIT="${EGIT_COMMIT}"
-	fi
-	cros-workon_src_unpack
-}
-
-src_prepare() {
-	"${FILESDIR}"/patch_manager/patch_manager.py \
-		--svn_version "$(get_most_recent_revision)" \
-		--patch_metadata_file "${FILESDIR}"/PATCHES.json \
-		--filesdir_path "${FILESDIR}" \
-		--src_path "${S}" || die
-
-	eapply_user
-}
-
-should_enable_asserts() {
-	if use debug || use llvm-tot; then
-		echo yes
-	else
-		echo no
-	fi
-}
-
-multilib_src_configure() {
-	# Disable sanitization of llvm-libunwind (b/193934733).
-	use_sanitizers && filter_sanitizers
-
-	# Filter default portage flags to allow unwinding.
-	cros_enable_cxx_exceptions
-	append-cppflags "-D_LIBUNWIND_USE_DLADDR=0"
-	# Allow targeting non-neon targets for armv7a.
-	if [[ ${CATEGORY} == cross-armv7a* ]] ; then
-		append-flags -mfpu=vfpv3
-	fi
-
-	local libdir=$(get_libdir)
-	local mycmakeargs=(
-		"${mycmakeargs[@]}"
-		"-DLLVM_ENABLE_PROJECTS=libunwind"
-		"-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY"
-		"-DCMAKE_POSITION_INDEPENDENT_CODE=ON"
-		"-DLLVM_LIBDIR_SUFFIX=${libdir#lib}"
-		"-DLIBUNWIND_ENABLE_ASSERTIONS=$(should_enable_asserts)"
-		"-DLIBUNWIND_ENABLE_STATIC=$(usex static-libs)"
-		"-DLIBUNWIND_ENABLE_SHARED=OFF"
-		"-DLIBUNWIND_ENABLE_THREADS=OFF"
-		"-DLIBUNWIND_ENABLE_CROSS_UNWINDING=OFF"
-		"-DLIBUNWIND_USE_COMPILER_RT=$(usex compiler-rt)"
-		"-DLIBUNWIND_TARGET_TRIPLE=$(get_abi_CTARGET)"
-		"-DCMAKE_INSTALL_PREFIX=${PREFIX}"
-		# Avoid old libstdc++ errors when bootstrapping.
-		"-DLLVM_ENABLE_LIBCXX=ON"
-		"-DLIBUNWIND_HAS_COMMENT_LIB_PRAGMA=OFF"
-		"-DLIBUNWIND_HAS_DL_LIB=OFF"
-		"-DLIBUNWIND_HAS_PTHREAD_LIB=OFF"
-	)
-
-	cmake-utils_src_configure
-}
-
-multilib_src_install_all() {
-	# Remove files that are installed by sys-libs/llvm-libunwind
-	# to avoid collision when installing cross-${TARGET}/llvm-libunwind.
-	if [[ ${CATEGORY} == cross-* ]]; then
-		rm -rf "${ED}"usr/share || die
-	fi
-
-	# Install headers.
-	insinto "${PREFIX}"/include
-	doins -r "${S}"/libunwind/include/.
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-
-	# Generate libunwind.so or libgcc_s.so.
-	local myabi=$(get_abi_CTARGET)
-	if [[ ${myabi} == *armv7a* ]]; then
-		LIBGCC_ARCH="armhf"
-	elif [[ ${myabi} == *aarch64* ]]; then
-		LIBGCC_ARCH="aarch64"
-	elif [[ ${myabi} =~ ^i[0-9]86 ]]; then
-		LIBGCC_ARCH="i386"
-	elif [[ ${myabi} == *x86_64* ]] ; then
-		LIBGCC_ARCH="x86_64"
-	else
-		echo "unsupported arch" && die
-	fi
-
-	local COMPILER_RT_BUILTINS=$($(tc-getCC) -print-libgcc-file-name -rtlib=compiler-rt)
-	local my_installdir="${D%/}${PREFIX}/$(get_libdir)"
-	local out_file soname
-
-	if use synth_libgcc; then
-		out_file=libgcc_s.so.1
-		soname=libgcc_s.so.1
-	else
-		out_file=libunwind.so.1.0
-		soname=libunwind.so.1
-	fi
-
-	echo "Creating ${out_file} using libunwind.a + compiler-rt".
-	# Ignore split word warnings, we need them for flags.
-	# shellcheck disable=SC2086
-	$(tc-getCC) -o "${my_installdir}"/"${out_file}"                                 \
-		${CFLAGS}                                                                   \
-		${LDFLAGS}                                                                  \
-		-shared                                                                     \
-		-nostdlib                                                                   \
-		-Wl,--whole-archive                                                         \
-		-Wl,--version-script,"${FILESDIR}/version-scripts/gcc_s-${LIBGCC_ARCH}.ver" \
-		-Wl,-soname,"${soname}"                                                     \
-		"${COMPILER_RT_BUILTINS}"                                                   \
-		"${my_installdir}"/libunwind.a                                              \
-		-Wl,--no-whole-archive                                                      \
-		-lm                                                                         \
-		-lc                                                                         \
-	|| die "Failed to create ${out_file}".
-
-	# Point libunwind.so.1 and libunwind.so to libunwind.so.1.0.
-	ln -s libunwind.so.1.0 "${my_installdir}"/libunwind.so.1 || die
-	ln -s libunwind.so.1   "${my_installdir}"/libunwind.so || die
-
-	# Generate libgcc{,_eh,_s} if requested.
-	if use synth_libgcc; then
-		# We already created libgcc_s.so.1 if we are here.
-		# Point libunwind.so.1.0 and libgcc_s.so to it.
-		# Also make sure that libgcc.a and libgcc_eh.a point to compiler-rt/libunwind.
-		ln -s libgcc_s.so.1 "${my_installdir}"/libunwind.so.1.0 || die
-		ln -s libgcc_s.so.1 "${my_installdir}"/libgcc_s.so || die
-		ln -s libunwind.a "${my_installdir}"/libgcc_eh.a || die
-		cp "${COMPILER_RT_BUILTINS}" "${my_installdir}"/libgcc.a || die
-	fi
-}
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-15.0_pre458507-r4.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-15.0_pre458507-r4.ebuild
new file mode 120000
index 0000000..34ffe0e
--- /dev/null
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-15.0_pre458507-r4.ebuild
@@ -0,0 +1 @@
+llvm-libunwind-15.0_pre458507.ebuild
\ No newline at end of file
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-15.0_pre458507.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-15.0_pre458507.ebuild
new file mode 100644
index 0000000..4f31de7
--- /dev/null
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-15.0_pre458507.ebuild
@@ -0,0 +1,204 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CROS_WORKON_REPO="${CROS_GIT_HOST_URL}"
+CROS_WORKON_PROJECT="external/github.com/llvm/llvm-project"
+CROS_WORKON_LOCALNAME="llvm-project"
+CROS_WORKON_MANUAL_UPREV=1
+
+inherit cros-fuzzer cros-sanitizers cros-constants cmake-multilib cmake-utils git-2 cros-llvm cros-workon
+
+DESCRIPTION="C++ runtime stack unwinder from LLVM"
+HOMEPAGE="https://github.com/llvm-mirror/libunwind"
+SRC_URI=""
+EGIT_REPO_URI="${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project
+	${CROS_GIT_HOST_URL}/external/github.com/llvm/llvm-project"
+EGIT_BRANCH=main
+
+LLVM_HASH="a58d0af058038595c93de961b725f86997cf8d4a" # r458507
+LLVM_NEXT_HASH="db1978b67431ca3462ad8935bf662c15750b8252" # r465103
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="*"
+if [[ "${PV}" == "9999" ]]; then
+	KEYWORDS="~*"
+fi
+IUSE="cros_host debug llvm-next llvm-tot +static-libs +shared-libs +synth_libgcc +compiler-rt continue-on-patch-failure"
+RDEPEND="!${CATEGORY}/libunwind"
+
+DEPEND="${RDEPEND}
+	cros_host? ( sys-devel/llvm )"
+
+pkg_setup() {
+	# Setup llvm toolchain for cross-compilation
+	setup_cross_toolchain
+	export CMAKE_USE_DIR="${S}/runtimes"
+}
+
+src_unpack() {
+	if use llvm-next || use llvm-tot; then
+		export EGIT_COMMIT="${LLVM_NEXT_HASH}"
+	else
+		export EGIT_COMMIT="${LLVM_HASH}"
+	fi
+	if [[ "${PV}" != "9999" ]]; then
+		CROS_WORKON_COMMIT="${EGIT_COMMIT}"
+	fi
+	cros-workon_src_unpack
+}
+
+src_prepare() {
+	local failure_mode
+	failure_mode="$(usex continue-on-patch-failure continue fail)"
+	"${FILESDIR}"/patch_manager/patch_manager.py \
+		--svn_version "$(get_most_recent_revision)" \
+		--patch_metadata_file "${FILESDIR}"/PATCHES.json \
+		--failure_mode "${failure_mode}" \
+		--src_path "${S}" || die
+
+	eapply_user
+}
+
+should_enable_asserts() {
+	if use debug || use llvm-tot; then
+		echo yes
+	else
+		echo no
+	fi
+}
+
+multilib_src_configure() {
+	# Disable sanitization of llvm-libunwind (b/193934733).
+	use_sanitizers && filter_sanitizers
+
+	# Filter default portage flags to allow unwinding.
+	cros_enable_cxx_exceptions
+	append-cppflags "-D_LIBUNWIND_USE_DLADDR=0"
+	if [[ ${CATEGORY} == cross-armv7a* ]] ; then
+		# Allow targeting non-neon targets for armv7a.
+		append-flags -mfpu=vfpv3
+
+		# cross-armv7 builds fail due a to libgcc_eh.a bootstrap bug
+		# due to a global variable used for stack canary memory.
+		# https://bugzilla.redhat.com/show_bug.cgi?id=708452
+		# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102352
+		# TODO(toolchain): Revisit this when the above GCC bug is
+		# fixed or we have glibc arm clang build support.
+		append-flags -fno-stack-protector
+	fi
+
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		"${mycmakeargs[@]}"
+		"-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY"
+		"-DCMAKE_POSITION_INDEPENDENT_CODE=ON"
+		"-DLLVM_LIBDIR_SUFFIX=${libdir#lib}"
+		"-DLIBUNWIND_ENABLE_ASSERTIONS=$(should_enable_asserts)"
+		"-DLIBUNWIND_ENABLE_STATIC=$(usex static-libs)"
+		"-DLIBUNWIND_ENABLE_SHARED=OFF"
+		"-DLIBUNWIND_ENABLE_THREADS=OFF"
+		"-DLIBUNWIND_ENABLE_CROSS_UNWINDING=OFF"
+		"-DLIBUNWIND_USE_COMPILER_RT=$(usex compiler-rt)"
+		"-DLIBUNWIND_TARGET_TRIPLE=$(get_abi_CTARGET)"
+		"-DCMAKE_INSTALL_PREFIX=${PREFIX}"
+		"-DLLVM_ENABLE_RUNTIMES=libunwind"
+		# Avoid old libstdc++ errors when bootstrapping.
+		"-DLLVM_ENABLE_LIBCXX=ON"
+		"-DLIBUNWIND_HAS_COMMENT_LIB_PRAGMA=OFF"
+		"-DLIBUNWIND_HAS_DL_LIB=OFF"
+		"-DLIBUNWIND_HAS_PTHREAD_LIB=OFF"
+	)
+
+	if is_baremetal_abi; then
+		# Options for baremetal toolchains e.g. armv7m-cros-eabi.
+		mycmakeargs+=(
+			"-DCMAKE_POSITION_INDEPENDENT_CODE=OFF"
+			"-DLIBUNWIND_IS_BAREMETAL=ON"
+			"-DLIBUNWIND_REMEMBER_HEAP_ALLOC=ON"
+		)
+	fi
+
+	cmake-utils_src_configure
+}
+
+multilib_src_install_all() {
+	# Remove files that are installed by sys-libs/llvm-libunwind
+	# to avoid collision when installing cross-${TARGET}/llvm-libunwind.
+	if [[ ${CATEGORY} == cross-* ]]; then
+		rm -rf "${ED}"usr/share || die
+	fi
+
+	# Install headers.
+	insinto "${PREFIX}"/include
+	doins -r "${S}"/libunwind/include/.
+}
+
+multilib_src_install() {
+	cmake-utils_src_install
+	if is_baremetal_abi; then
+		return
+	fi
+
+	# Generate libunwind.so or libgcc_s.so.
+	local myabi=$(get_abi_CTARGET)
+	if [[ ${myabi} == *armv7a* ]]; then
+		LIBGCC_ARCH="armhf"
+	elif [[ ${myabi} == *aarch64* ]]; then
+		LIBGCC_ARCH="aarch64"
+	elif [[ ${myabi} =~ ^i[0-9]86 ]]; then
+		LIBGCC_ARCH="i386"
+	elif [[ ${myabi} == *x86_64* ]] ; then
+		LIBGCC_ARCH="x86_64"
+	else
+		echo "unsupported arch" && die
+	fi
+
+	local COMPILER_RT_BUILTINS=$($(tc-getCC) -print-libgcc-file-name -rtlib=compiler-rt)
+	local my_installdir="${D%/}${PREFIX}/$(get_libdir)"
+	local out_file soname
+
+	if use synth_libgcc; then
+		out_file=libgcc_s.so.1
+		soname=libgcc_s.so.1
+	else
+		out_file=libunwind.so.1.0
+		soname=libunwind.so.1
+	fi
+
+	echo "Creating ${out_file} using libunwind.a + compiler-rt".
+	# Ignore split word warnings, we need them for flags.
+	# shellcheck disable=SC2086
+	$(tc-getCC) -o "${my_installdir}"/"${out_file}"                                 \
+		${CFLAGS}                                                                   \
+		${LDFLAGS}                                                                  \
+		-shared                                                                     \
+		-nostdlib                                                                   \
+		-Wl,--whole-archive                                                         \
+		-Wl,--version-script,"${FILESDIR}/version-scripts/gcc_s-${LIBGCC_ARCH}.ver" \
+		-Wl,-soname,"${soname}"                                                     \
+		"${COMPILER_RT_BUILTINS}"                                                   \
+		"${my_installdir}"/libunwind.a                                              \
+		-Wl,--no-whole-archive                                                      \
+		-lm                                                                         \
+		-lc                                                                         \
+	|| die "Failed to create ${out_file}".
+
+	# Point libunwind.so.1, libunwind_shared.so and libunwind.so to libunwind.so.1.0.
+	ln -s libunwind.so.1.0 "${my_installdir}"/libunwind.so.1 || die
+	ln -s libunwind.so.1   "${my_installdir}"/libunwind.so || die
+	ln -s libunwind.so     "${my_installdir}"/libunwind_shared.so || die
+
+	# Generate libgcc{,_eh,_s} if requested.
+	if use synth_libgcc; then
+		# We already created libgcc_s.so.1 if we are here.
+		# Point libunwind.so.1.0 and libgcc_s.so to it.
+		# Also make sure that libgcc.a and libgcc_eh.a point to compiler-rt/libunwind.
+		ln -s libgcc_s.so.1 "${my_installdir}"/libunwind.so.1.0 || die
+		ln -s libgcc_s.so.1 "${my_installdir}"/libgcc_s.so || die
+		ln -s libunwind.a "${my_installdir}"/libgcc_eh.a || die
+		cp "${COMPILER_RT_BUILTINS}" "${my_installdir}"/libgcc.a || die
+	fi
+}
diff --git a/sys-libs/metadata.xml b/sys-libs/metadata.xml
deleted file mode 100644
index bb3bb99..0000000
--- a/sys-libs/metadata.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The sys-libs category contains various system-level libraries.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría sys-libs contiene varias librerías del sistema.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie sys-libs enthält verschiedene Systembibliotheken.
-	</longdescription>
-	<longdescription lang="ja">
-		sys-libsカテゴリには様々なシステムレベルライブラリが含まれます。
-	</longdescription>
-	<longdescription lang="nl">
-		De sys-libs categorie bevat verschillende systeembibliotheken.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm sys-libs chứa các thư viện cấp hệ thống.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria sys-libs contiene varie librerie di sistema.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria sys-libs contém várias bibliotecas de sistema.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria sys-libs zawiera biblioteki systemowe.
-	</longdescription>
-</catmetadata>
-
diff --git a/sys-libs/newlib/Manifest b/sys-libs/newlib/Manifest
new file mode 100644
index 0000000..2b71d80
--- /dev/null
+++ b/sys-libs/newlib/Manifest
@@ -0,0 +1 @@
+DIST newlib-4.1.0.tar.gz 18648429 BLAKE2B c4d4d734bceeacf05b75d450d4316392d0000266812f98f99cd3f9f0926ac9848e1dc145361827d1d6951edfe5f109923c982d9f284f927ffc5fd5e5edaf8be6 SHA512 6a24b64bb8136e4cd9d21b8720a36f87a34397fd952520af66903e183455c5cf19bb0ee4607c12a05d139c6c59382263383cb62c461a839f969d23d3bc4b1d34
diff --git a/sci-electronics/nmigen/OWNERS b/sys-libs/newlib/OWNERS
similarity index 100%
copy from sci-electronics/nmigen/OWNERS
copy to sys-libs/newlib/OWNERS
diff --git a/sys-libs/newlib/files/newlib-3.3.0-no-nano-cxx.patch b/sys-libs/newlib/files/newlib-3.3.0-no-nano-cxx.patch
new file mode 100644
index 0000000..58068ad
--- /dev/null
+++ b/sys-libs/newlib/files/newlib-3.3.0-no-nano-cxx.patch
@@ -0,0 +1,29 @@
+Gentoo's and upstream gccs don't install _nano variants of stdc++ and supc++.
+
+Let's not refer to them in nano specs of newlib until we do
+(or better yet upstream does) have these libraries.
+
+Reported-by: David Flogeras
+Bug: https://bugs.gentoo.org/723756
+--- a/libgloss/arc/nano.specs
++++ b/libgloss/arc/nano.specs
+@@ -11,7 +11,7 @@
+ %(nano_link_gcc_c_sequence) --start-group %G %(nano_libc) %(nano_libgloss) --end-group
+ 
+ *link:
+-%(nano_link) %:replace-outfile(-lc -lc_nano) %:replace-outfile(-lg -lg_nano) %:replace-outfile(-lstdc++ -lstdc++_nano) %:replace-outfile(-lsupc++ -lsupc++_nano)
++%(nano_link) %:replace-outfile(-lc -lc_nano) %:replace-outfile(-lg -lg_nano)
+ 
+ *lib:
+ %{!shared:%{g*:-lg_nano} %{!p:%{!pg:-lc_nano}}%{p:-lc_p}%{pg:-lc_p}}
+--- a/libgloss/arm/elf-nano.specs
++++ b/libgloss/arm/elf-nano.specs
+@@ -15,7 +15,7 @@
+ %(nano_link_gcc_c_sequence) --start-group %G %(nano_libc) %(nano_libgloss) --end-group
+ 
+ *link:
+-%(nano_link) %:replace-outfile(-lc -lc_nano) %:replace-outfile(-lg -lg_nano) %:replace-outfile(-lrdimon -lrdimon_nano) %:replace-outfile(-lstdc++ -lstdc++_nano) %:replace-outfile(-lsupc++ -lsupc++_nano)
++%(nano_link) %:replace-outfile(-lc -lc_nano) %:replace-outfile(-lg -lg_nano) %:replace-outfile(-lrdimon -lrdimon_nano)
+ 
+ *lib:
+ %{!shared:%{g*:-lg_nano} %{!p:%{!pg:-lc_nano}}%{p:-lc_p}%{pg:-lc_p}}
diff --git a/sys-libs/newlib/metadata.xml b/sys-libs/newlib/metadata.xml
new file mode 100644
index 0000000..c302942
--- /dev/null
+++ b/sys-libs/newlib/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>toolchain</herd>
+<maintainer>
+<email>lu_zero@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/sys-libs/newlib/newlib-4.1.0-r2.ebuild b/sys-libs/newlib/newlib-4.1.0-r2.ebuild
new file mode 120000
index 0000000..a5e6e6c
--- /dev/null
+++ b/sys-libs/newlib/newlib-4.1.0-r2.ebuild
@@ -0,0 +1 @@
+newlib-4.1.0.ebuild
\ No newline at end of file
diff --git a/sys-libs/newlib/newlib-4.1.0.ebuild b/sys-libs/newlib/newlib-4.1.0.ebuild
new file mode 100644
index 0000000..49ccaac
--- /dev/null
+++ b/sys-libs/newlib/newlib-4.1.0.ebuild
@@ -0,0 +1,164 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit flag-o-matic toolchain-funcs
+
+if [[ ${PV} == "9999" ]] ; then
+	EGIT_REPO_URI="https://sourceware.org/git/newlib-cygwin.git"
+	inherit git-r3
+else
+	SRC_URI="ftp://sourceware.org/pub/newlib/${P}.tar.gz"
+	KEYWORDS="*"
+fi
+
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+	if [[ ${CATEGORY} == cross-* ]] ; then
+		export CTARGET=${CATEGORY#cross-}
+	fi
+fi
+
+DESCRIPTION="Newlib is a C library intended for use on embedded systems"
+HOMEPAGE="https://sourceware.org/newlib/"
+
+LICENSE="NEWLIB LIBGLOSS GPL-2"
+SLOT="0"
+IUSE="nls threads unicode headers-only nano"
+RESTRICT="strip"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-3.3.0-no-nano-cxx.patch
+)
+
+NEWLIBBUILD="${WORKDIR}/build"
+NEWLIBNANOBUILD="${WORKDIR}/build.nano"
+NEWLIBNANOTMPINSTALL="${WORKDIR}/nano_tmp_install"
+
+# Adding -U_FORTIFY_SOURCE to counter the effect of Gentoo's
+# auto-addition of _FORTIFY_SOURCE at gcc site: bug #656018#c4
+# Currently newlib can't be built itself when _FORTIFY_SOURCE
+# is set.
+CFLAGS_FULL="-ffunction-sections -fdata-sections -U_FORTIFY_SOURCE"
+CFLAGS_NANO="-Os -ffunction-sections -fdata-sections -U_FORTIFY_SOURCE"
+
+pkg_setup() {
+	# Reject newlib-on-glibc type installs
+	if [[ ${CTARGET} == ${CHOST} ]] ; then
+		case ${CHOST} in
+			*-newlib|*-elf) ;;
+			*) die "Use sys-devel/crossdev to build a newlib toolchain" ;;
+		esac
+	fi
+
+	case ${CTARGET} in
+		msp430*)
+			if ver_test $(gcc-version ${CTARGET}) -lt 10.1; then
+				# bug #717610
+				die "gcc for ${CTARGET} has to be 10.1 or above"
+			fi
+			;;
+	esac
+}
+
+src_configure() {
+	# EC doesn't support unaligned access: b/239254184.
+	if [[ ${CTARGET} == armv7m* ]]; then
+		append-flags -mno-unaligned-access
+		CCASFLAGS="${CCASFLAGS} -mno-unaligned-access"
+	fi
+
+	# TODO: we should fix this
+	unset LDFLAGS
+	CHOST=${CTARGET} strip-unsupported-flags
+	CCASFLAGS_ORIG="${CCASFLAGS}"
+	CFLAGS_ORIG="${CFLAGS}"
+
+	local myconf=(
+		# Disable legacy syscall stub code in newlib.  These have been
+		# moved to libgloss for a long time now, so the code in newlib
+		# itself just gets in the way.
+		--disable-newlib-supplied-syscalls
+	)
+
+	# b/239063738: Enable 64-bit printf
+	myconf+=( --enable-newlib-io-long-long )
+
+	[[ ${CTARGET} == "spu" ]] \
+		&& myconf+=( --disable-newlib-multithread ) \
+		|| myconf+=( $(use_enable threads newlib-multithread) )
+
+	mkdir -p "${NEWLIBBUILD}"
+	cd "${NEWLIBBUILD}"
+
+	export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_FULL}"
+	export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_FULL}"
+	ECONF_SOURCE=${S} \
+	econf \
+		$(use_enable unicode newlib-mb) \
+		$(use_enable nls) \
+		"${myconf[@]}"
+
+	# Build newlib-nano beside newlib (original)
+	# Based on https://tracker.debian.org/media/packages/n/newlib/rules-2.1.0%2Bgit20140818.1a8323b-2
+	if use nano ; then
+		mkdir -p "${NEWLIBNANOBUILD}" || die
+		cd "${NEWLIBNANOBUILD}" || die
+		export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_NANO}"
+		export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_NANO}"
+		ECONF_SOURCE=${S} \
+		econf \
+			$(use_enable unicode newlib-mb) \
+			$(use_enable nls) \
+			--enable-newlib-reent-small \
+			--disable-newlib-fvwrite-in-streamio \
+			--disable-newlib-fseek-optimization \
+			--disable-newlib-wide-orient \
+			--enable-newlib-nano-malloc \
+			--disable-newlib-unbuf-stream-opt \
+			--enable-lite-exit \
+			--enable-newlib-global-atexit \
+			--enable-newlib-nano-formatted-io \
+			${myconf}
+	fi
+}
+
+src_compile() {
+	export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_FULL}"
+	export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_FULL}"
+	emake -C "${NEWLIBBUILD}"
+
+	if use nano ; then
+		export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_NANO}"
+		export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_NANO}"
+		emake -C "${NEWLIBNANOBUILD}"
+	fi
+}
+
+src_install() {
+	cd "${NEWLIBBUILD}" || die
+	emake -j1 DESTDIR="${D}" install
+
+	if use nano ; then
+		cd "${NEWLIBNANOBUILD}" || die
+		emake -j1 DESTDIR="${NEWLIBNANOTMPINSTALL}" install
+		# Rename nano lib* files to lib*_nano and move to the real ${D}
+		local nanolibfiles=""
+		nanolibfiles=$(find "${NEWLIBNANOTMPINSTALL}" -regex ".*/lib\(c\|g\|rdimon\)\.a" -print)
+		for f in ${nanolibfiles}; do
+			local l="${f##${NEWLIBNANOTMPINSTALL}}"
+			mv -v "${f}" "${D}/${l%%\.a}_nano.a" || die
+		done
+
+		# Move newlib-nano's version of newlib.h to newlib-nano/newlib.h
+		mkdir -p "${D}/usr/${CTARGET}/include/newlib-nano" || die
+		mv "${NEWLIBNANOTMPINSTALL}/usr/${CTARGET}/include/newlib.h" \
+			"${D}/usr/${CTARGET}/include/newlib-nano/newlib.h" || die
+	fi
+
+	# minor hack to keep things clean
+	rm -rf "${D}"/usr/share/info || die
+	rm -rf "${D}"/usr/info || die
+}
diff --git a/sys-libs/talloc/OWNERS b/sys-libs/talloc/OWNERS
new file mode 100644
index 0000000..1261db2
--- /dev/null
+++ b/sys-libs/talloc/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/smbfs/OWNERS
diff --git a/sys-libs/tdb/OWNERS b/sys-libs/tdb/OWNERS
new file mode 100644
index 0000000..1261db2
--- /dev/null
+++ b/sys-libs/tdb/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/smbfs/OWNERS
diff --git a/sys-libs/tevent/OWNERS b/sys-libs/tevent/OWNERS
new file mode 100644
index 0000000..1261db2
--- /dev/null
+++ b/sys-libs/tevent/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/smbfs/OWNERS
diff --git a/sys-power/dptf-policy-ap/Manifest b/sys-power/dptf-policy-ap/Manifest
index c3ee4da..ee80edd 100644
--- a/sys-power/dptf-policy-ap/Manifest
+++ b/sys-power/dptf-policy-ap/Manifest
@@ -1 +1 @@
-DIST DptfPolicyAdaptivePerformance-9.0.10801.tbz2 283331 BLAKE2B 41ed24d9e2e5259f18d141b2cb2341b6defd725051f4eb262694d88fecc0e76fe55e8891db102ca6f22e63a3d7517727c2ad78c6005c5a66b4bbc18acbf84692 SHA512 522ab17666b9209b5e610f1e05f92d4aa98664dadc716f3b6334f7f53ad501e4e4e46c9aca766debe2f456c776bd907261064c416b0dbf348a667996c6a6c7cb
+DIST DptfPolicyAdaptivePerformance-9.0.11000.tbz2 304190 BLAKE2B ac0a0e3f4bca9f178da6dd9d57de9aa0fda477d07b3ec7b1a74930848fc0c2a21649936369e0f88779fe935682a6a44d2ac9be99da542b978d9cb940aa541b99 SHA512 222f6907fc908e1a19ff554a730912eceeaf0398e54eba783c705d5d62f51b6edb5b7fad96e555576d54e04a4483439a641022a7c61c30950fe555a817ae158a
diff --git a/sys-power/dptf-policy-ap/dptf-policy-ap-9.0.10801-r1.ebuild b/sys-power/dptf-policy-ap/dptf-policy-ap-9.0.11000-r1.ebuild
similarity index 100%
rename from sys-power/dptf-policy-ap/dptf-policy-ap-9.0.10801-r1.ebuild
rename to sys-power/dptf-policy-ap/dptf-policy-ap-9.0.11000-r1.ebuild
diff --git a/sys-power/dptf-policy-passive2/Manifest b/sys-power/dptf-policy-passive2/Manifest
index c7b5984..55d36ab 100644
--- a/sys-power/dptf-policy-passive2/Manifest
+++ b/sys-power/dptf-policy-passive2/Manifest
@@ -1 +1 @@
-DIST DptfPolicyPassive2-9.0.10801.tbz2 229162 BLAKE2B 7911c00aee45f66a4d246e2cfec1ff0623d5b782da067c40d571c86e484bbcb11c227660b9a73ee0323b0c576faf5ba20e1a6f8ae6907a3db15f7f1a97fe4cda SHA512 97c0455b3b32d612a1f63cb3a33e02afd8b972790ac3edb24a4169cbd19b07e129d5932dd410ad5c59bb43863d48f01a37ae9aef3a1f0e521a775d41b83dc3aa
+DIST DptfPolicyPassive2-9.0.11000.tbz2 244473 BLAKE2B d4f48b3249ecc95ce61c7c48ab0b6e9d71d8f3c9c1abe17762aa61f3665dc71b704e4db1109b86ebde89117f4318f7654e702995aa0eed4ca1e0fdd5a575b758 SHA512 25dfae6e1526c1b9687fddea577d551a96549940d2e19f77bfea363f0c080d8bd1efafacd45304e757cde91ccd3896e9450ab0519680d25325ec6e04a06dd229
diff --git a/sys-power/dptf-policy-passive2/dptf-policy-passive2-9.0.10801-r1.ebuild b/sys-power/dptf-policy-passive2/dptf-policy-passive2-9.0.11000-r1.ebuild
similarity index 100%
rename from sys-power/dptf-policy-passive2/dptf-policy-passive2-9.0.10801-r1.ebuild
rename to sys-power/dptf-policy-passive2/dptf-policy-passive2-9.0.11000-r1.ebuild
diff --git a/sys-power/dptf-policy-rfim/Manifest b/sys-power/dptf-policy-rfim/Manifest
index 721824e..6134951 100644
--- a/sys-power/dptf-policy-rfim/Manifest
+++ b/sys-power/dptf-policy-rfim/Manifest
@@ -1 +1 @@
-DIST DptfPolicyRfim-9.0.10801.tbz2 231380 BLAKE2B 7f6f9afdf213e50b137582a5b6f4999eb8ce1878f2ebf6fad6b891e1041d8bbc016b62ce513b34cc3cc450a157880d355e09768c4192559e8ffba2eb0ce7692f SHA512 8499700f1dcccce8f645d57cfbc56cf10c19cd33bf6ccc7b075e9702519fd45c3407d5fbac82f6c34daa9c1faf11d2bb936eb68062346316e87cf60e569f8217
+DIST DptfPolicyRfim-9.0.11000.tbz2 248011 BLAKE2B 7d38178fdda7e300311d8aa3c52522330b241b824cb16e900152191c24291c9a368d35956da5be47407370100cd7ceb420c5d6d8921d5ac573b779a9749c2583 SHA512 00f4a7779d948fe2cca0cf8a0b93a0a6abe666a3f82230df516fa30ff4f947ebdbe70d7c25a56cd0529db9852d95c91215a5787231d8b320a30033a0704349f2
diff --git a/sys-power/dptf-policy-rfim/dptf-policy-rfim-9.0.10801-r1.ebuild b/sys-power/dptf-policy-rfim/dptf-policy-rfim-9.0.11000-r1.ebuild
similarity index 100%
rename from sys-power/dptf-policy-rfim/dptf-policy-rfim-9.0.10801-r1.ebuild
rename to sys-power/dptf-policy-rfim/dptf-policy-rfim-9.0.11000-r1.ebuild
diff --git a/sys-power/dptf-policy-vs/Manifest b/sys-power/dptf-policy-vs/Manifest
index 7540ba4..8b68bd8 100644
--- a/sys-power/dptf-policy-vs/Manifest
+++ b/sys-power/dptf-policy-vs/Manifest
@@ -1 +1 @@
-DIST DptfPolicyVirtualSensor-9.0.10801.tbz2 205103 BLAKE2B 519733d2d2e23e8be2d1f4034892bb59a13d6f75b518314737aa333254a168cbd10d600c2f13767fa438c3007891d883eb83ffebf448ca86fc46d6f9b2789fd6 SHA512 8f6bc5e45c354e318d501c8d7cc4cf7a6ef14f1a3336503506972ab79d60ed3f7469d00edb1e2f53a2c4e2d49b8f74bbdd3643482c1c7b06dc1d2f5c911bd51a
+DIST DptfPolicyVirtualSensor-9.0.11000.tbz2 217441 BLAKE2B f8801fe0d15918824f057462ded8dc3fc5ee1e8b9e4e3fbe972628a8d6e5c3ce1ac922fe7c6abe72a37076525df4c42427b90e5a327a96ae0cf9e28f9978e655 SHA512 c6a500657bd3023724b0475785ecfd39fce9218698f2a771c5fc9b8ece8579ab01647a54e32ed856b49c7567a8a6346ea13c51e7dd41b32f7bf1051ffe8c8f12
diff --git a/sys-power/dptf-policy-vs/dptf-policy-vs-9.0.10801-r1.ebuild b/sys-power/dptf-policy-vs/dptf-policy-vs-9.0.11000-r1.ebuild
similarity index 100%
rename from sys-power/dptf-policy-vs/dptf-policy-vs-9.0.10801-r1.ebuild
rename to sys-power/dptf-policy-vs/dptf-policy-vs-9.0.11000-r1.ebuild
diff --git a/sys-power/dptf/Manifest b/sys-power/dptf/Manifest
index 36b998a9..aeec3f3 100644
--- a/sys-power/dptf/Manifest
+++ b/sys-power/dptf/Manifest
@@ -1 +1 @@
-DIST dptf-9.0.10801.tar.gz 1034655 BLAKE2B 24abb4f4f9496bf9edac735d39b743c47df67fc596a225ee26cd3dc6d055eae087697879ff23e777bcd95bd21ea1797781a152c6ad7097fe1a2df3eb429d7a80 SHA512 217dfea9f01e14ec9d46d2b7fbe9bfceb9d0fa8e91dc51fa69ee3d77359435f46563b3d0eeca921216b1a89ac9b15b1a5a9e1147c3169ea8f1ff8e6acdcc5bd0
+DIST dptf-9.0.11000.tar.gz 1818723 BLAKE2B 24f8ca4358cbfd6c86fa21c4d250711528ed8868a681ec8620c565b55b55b40b31ad73edcddb9f095d4e5790916cf3b6083efd68c692b5895df188aabd8aff9f SHA512 e6104e37cf956d5f183c3ef31e67a30c0ebc801e82bad3aff1d5706b6c53d7ac41c42cb986fba6ccf9995d5865f3017b39bfc58bd542259dd9f81181523fe90c
diff --git a/sys-power/dptf/dptf-9.0.10801-r1.ebuild b/sys-power/dptf/dptf-9.0.11000-r1.ebuild
similarity index 100%
rename from sys-power/dptf/dptf-9.0.10801-r1.ebuild
rename to sys-power/dptf/dptf-9.0.11000-r1.ebuild
diff --git a/sys-power/metadata.xml b/sys-power/metadata.xml
deleted file mode 100644
index c486331..0000000
--- a/sys-power/metadata.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The sys-power category contains software which handles power management,
-		including CPU frequency scaling tools.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría sys-power contiene programas que manejan el control del
-		rendimiento incluyendo herramientas para cambio de frecuencia de algunos
-		microprocesadores.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie sys-power enthält Software für das Powermanagement, wie 
-		beispielsweise Programme zur Änderung der CPU-Frequenz.
-	</longdescription>
-	<longdescription lang="ja">
-		sys-powerカテゴリには電源管理を管理する(例えば、CPU基準化)が含まれます。
-	</longdescription>
-	<longdescription lang="nl">
-		De sys-power categorie bevat programma's voor energiebeheer, bijvoorbeeld
-		voor het aanpassen van de CPU-kloksnelheid.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm sys-power chứa các phần mềm quản lý năng lượng,
-		bao gồm các công cụ quản lý tần số CPU.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria sys-power contiene programmi per la gestione del risparmio energetico,
-		incluso il software per la variazione della frequenza della CPU.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria sys-power contém programas que lidam com
-		gerenciamento de energia, incluindo ferramentas de variação de
-		freqüência de microprocessadores.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria sys-power zawiera oprogramowanie związane z zarządzaniem
-		energią, włączając w to programy służące do skalowania częstotliwości
-		procesora.
-	</longdescription>
-</catmetadata>
-
diff --git a/sys-process/audit/Manifest b/sys-process/audit/Manifest
index 8178ebe..4fcfb13 100644
--- a/sys-process/audit/Manifest
+++ b/sys-process/audit/Manifest
@@ -1 +1,5 @@
-DIST audit-2.8.4.tar.gz 1123889 BLAKE2B b80272b1984942d3c38bde30d22c736a8cc8896a2e42a9bf286446129313ce57a2a117ce26a0a5f1a4a06b4a48ddde463b8837b8c98273051be0c90e5bbebd42 SHA512 5795c565effab995cee447a2dc457ef6a6f15201fb185d7104992ac373a3cb5cfc865dd661c0896a895c96f452eff392d455064d0eead55cd7364d96e0d15c4a
+DIST audit-3.0.1.tar.gz 1180286 BLAKE2B f29687ebc76f4eb88184cce1a3da0b8ca4464b2f81f56d71048ac4a64a713f33d6964e46e78b73c72b6ac2495f80114866773b3b86753c1d0dead25df73f7c43 SHA512 ad2897c9f539681f0f65b08cd0e650c528957fd4799755c2bcc47f869e04272aad31684c46847124d7b42dde243a16ba2754936890189610814c7007c0381d8c
+DIST audit-3.0.2.tar.gz 1184356 BLAKE2B 13f76e9c40bc8ffc53b5499076b5cb75c2690d95414a0e1942fa9725b9617f10327a2ee676dc10cc46ba76d223f77509d305bcd22344b678443b7707cc6d10cd SHA512 9e831ed6f30ac7d58f028cede97adba431bde18dfd9045c19f5e03eff52cd28db3a6792e5969f555ce51aa562662b59fa5cc5265586c6acf0b3aa1feae4d720f
+DIST audit-3.0.3.tar.gz 1186684 BLAKE2B 53e3fbb2acc574bad86cd41e6ffe396631695321e1c02f2d0f1f1f6fed8c77f61c3513431eafb157ec11e99330b4e277f6c75eaabac6179dac2abc8826e9cc76 SHA512 7132fd5d90c3745cdb2cd664c8d0b74ad9108bc39940e87fd1ae3ee461c484505d5d33fa5c741caa237e79e3bf9c7e1ccb07cac81b5cbfbe59db8fc8db021fd7
+DIST audit-3.0.6.tar.gz 1190011 BLAKE2B 93a7efad1cbea6771a73222b05aacbabc4ac61d1efb9fc2532607a94804bcac6512d0be2f4d89aa62d94fb85ba5818ffae4bf0a72676e8d549ddbec766e83e9c SHA512 74734e1b1fddea086db9c5dc8c4b7817917fdf17bc7ca4e5b440aae975484d020a17c3f485f6a37b6b150a307d809e50d559d31a8cbd6f1e554933719551bcd1
+DIST audit-3.0.tar.gz 1109442 BLAKE2B f9c94f7163522068f5f37163a242cb913acc87b5465f7f8550fad27ac1dc673fd7a98e208bd5e6fb136eac1fdadd659e599e7722426937481bbf8c66d86a1617 SHA512 b82ec73c85a8ebb5108b526673d6fe08cbe0b51376788f3ea6ed5747c4612158462893e719496dffbd723f833f84383a2d1d55fd78a3ed985ecfd19545060c88
diff --git a/sys-process/audit/audit-2.8.4-r6.ebuild b/sys-process/audit/audit-2.8.4-r6.ebuild
deleted file mode 120000
index 6f08ca7..0000000
--- a/sys-process/audit/audit-2.8.4-r6.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-audit-2.8.4.ebuild
\ No newline at end of file
diff --git a/sys-process/audit/audit-2.8.4.ebuild b/sys-process/audit/audit-2.8.4.ebuild
deleted file mode 100644
index 3640264..0000000
--- a/sys-process/audit/audit-2.8.4.ebuild
+++ /dev/null
@@ -1,247 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-
-inherit autotools multilib multilib-minimal toolchain-funcs preserve-libs python-r1 linux-info systemd
-
-DESCRIPTION="Userspace utilities for storing and processing auditing records"
-HOMEPAGE="https://people.redhat.com/sgrubb/audit/"
-SRC_URI="https://people.redhat.com/sgrubb/audit/${P}.tar.gz"
-
-LICENSE="GPL-2+ LGPL-2.1+"
-SLOT="0"
-KEYWORDS="*"
-IUSE="cros_host gssapi ldap python static-libs"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-# Testcases are pretty useless as they are built for RedHat users/groups and kernels.
-RESTRICT="test"
-
-RDEPEND="gssapi? ( virtual/krb5 )
-	ldap? ( net-nds/openldap )
-	sys-libs/libcap-ng
-	python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}
-	>=sys-kernel/linux-headers-2.6.34
-	python? ( dev-lang/swig:0 )"
-# Do not use os-headers as this is linux specific
-
-CONFIG_CHECK="~AUDIT"
-
-pkg_setup() {
-	linux-info_pkg_setup
-}
-
-src_prepare() {
-	# Do not build GUI tools
-	sed -i \
-		-e '/AC_CONFIG_SUBDIRS.*system-config-audit/d' \
-		"${S}"/configure.ac || die
-	sed -i \
-		-e 's,system-config-audit,,g' \
-		"${S}"/Makefile.am || die
-	rm -rf "${S}"/system-config-audit
-
-	if ! use ldap; then
-		sed -i \
-			-e '/^AC_OUTPUT/s,audisp/plugins/zos-remote/Makefile,,g' \
-			"${S}"/configure.ac || die
-		sed -i \
-			-e '/^SUBDIRS/s,zos-remote,,g' \
-			"${S}"/audisp/plugins/Makefile.am || die
-	fi
-
-	# Don't build static version of Python module.
-	eapply "${FILESDIR}"/${PN}-2.4.3-python.patch
-
-	# glibc/kernel upstreams suck with both defining ia64_fpreg
-	# This patch is a horribly workaround that is only valid as long as you
-	# don't need the OTHER definitions in fpu.h.
-	eapply "${FILESDIR}"/${PN}-2.8.4-ia64-compile-fix.patch
-
-	# there is no --without-golang conf option
-	sed -e "/^SUBDIRS =/s/ @gobind_dir@//" -i bindings/Makefile.am || die
-
-	eapply_user
-
-	# Regenerate autotooling
-	eautoreconf
-}
-
-multilib_src_configure() {
-	local ECONF_SOURCE=${S}
-	local _with_arm_eabi=
-	# Enable ARM support when building ARM targets OR building for cros_host
-	# irrespective of target architecture. The latter is useful when
-	# processing audit logs in the Chrome OS SDK chroot.
-	# We want to support both 32-bit and 64-bit EABIs for now due to the mixed
-	# use on Chrome OS. This can be changed to a simpler
-	# $(use_with arm64 aarch64) if and when we drop 32-bit userspace support.
-	# Nevertheless, vestigial 32-bit EABI support here would likely just be
-	# superfluous and harmless.
-	if [[ "${ARCH}" == "arm"* ]] || use cros_host; then
-		_with_arm_eabi=(--with-arm --with-aarch64)
-	fi
-	econf \
-		--sbindir="${EPREFIX}/sbin" \
-		$(use_enable gssapi gssapi-krb5) \
-		$(use_enable static-libs static) \
-		--enable-systemd \
-		--without-python \
-		--without-python3 \
-		"${_with_arm_eabi[@]}"
-
-	if multilib_is_native_abi; then
-		python_configure() {
-			mkdir -p "${BUILD_DIR}" || die
-			cd "${BUILD_DIR}" || die
-
-			if python_is_python3; then
-				econf --without-python --with-python3
-			else
-				econf --with-python --without-python3
-			fi
-		}
-
-		use python && python_foreach_impl python_configure
-	fi
-}
-
-src_configure() {
-	tc-export_build_env BUILD_{CC,CPP}
-	export CC_FOR_BUILD="${BUILD_CC}"
-	export CPP_FOR_BUILD="${BUILD_CPP}"
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
-	if multilib_is_native_abi; then
-		default
-
-		python_compile() {
-			local pysuffix pydef
-			if python_is_python3; then
-				pysuffix=3
-				pydef='USE_PYTHON3=true'
-			else
-				pysuffix=2
-				pydef='HAVE_PYTHON=true'
-			fi
-
-			emake -C "${BUILD_DIR}"/bindings/swig \
-				VPATH="${native_build}/lib" \
-				LIBS="${native_build}/lib/libaudit.la" \
-				_audit_la_LIBADD="${native_build}/lib/libaudit.la" \
-				_audit_la_DEPENDENCIES="${S}/lib/libaudit.h ${native_build}/lib/libaudit.la" \
-				${pydef}
-			emake -C "${BUILD_DIR}"/bindings/python/python${pysuffix} \
-				VPATH="${S}/bindings/python/python${pysuffix}:${native_build}/bindings/python/python${pysuffix}" \
-				auparse_la_LIBADD="${native_build}/auparse/libauparse.la ${native_build}/lib/libaudit.la" \
-				${pydef}
-		}
-
-		local native_build="${BUILD_DIR}"
-		use python && python_foreach_impl python_compile
-	else
-		emake -C lib
-		emake -C auparse
-	fi
-}
-
-multilib_src_install() {
-	if multilib_is_native_abi; then
-		emake DESTDIR="${D}" initdir="$(systemd_get_systemunitdir)" install
-
-		python_install() {
-			local pysuffix pydef
-			if python_is_python3; then
-				pysuffix=3
-				pydef='USE_PYTHON3=true'
-			else
-				pysuffix=2
-				pydef='HAVE_PYTHON=true'
-			fi
-
-			emake -C "${BUILD_DIR}"/bindings/swig \
-				VPATH="${native_build}/lib" \
-				LIBS="${native_build}/lib/libaudit.la" \
-				_audit_la_LIBADD="${native_build}/lib/libaudit.la" \
-				_audit_la_DEPENDENCIES="${S}/lib/libaudit.h ${native_build}/lib/libaudit.la" \
-				${pydef} \
-				DESTDIR="${D}" install
-			emake -C "${BUILD_DIR}"/bindings/python/python${pysuffix} \
-				VPATH="${S}/bindings/python/python${pysuffix}:${native_build}/bindings/python/python${pysuffix}" \
-				auparse_la_LIBADD="${native_build}/auparse/libauparse.la ${native_build}/lib/libaudit.la" \
-				${pydef} \
-				DESTDIR="${D}" install
-		}
-
-		local native_build=${BUILD_DIR}
-		use python && python_foreach_impl python_install
-
-		# things like shadow use this so we need to be in /
-		gen_usr_ldscript -a audit auparse
-	else
-		emake -C lib DESTDIR="${D}" install
-		emake -C auparse DESTDIR="${D}" install
-	fi
-}
-
-multilib_src_install_all() {
-	dodoc AUTHORS ChangeLog README* THANKS
-	docinto contrib
-	dodoc contrib/{avc_snap,skeleton.c}
-	docinto contrib/plugin
-	dodoc contrib/plugin/*
-	docinto rules
-	dodoc rules/*
-
-	newinitd "${FILESDIR}"/auditd-init.d-2.4.3 auditd
-	newconfd "${FILESDIR}"/auditd-conf.d-2.1.3 auditd
-
-	fperms 644 "$(systemd_get_systemunitdir)"/auditd.service # 556436
-
-	[ -f "${ED}"/sbin/audisp-remote ] && \
-	dodir /usr/sbin && \
-	mv "${ED}"/{sbin,usr/sbin}/audisp-remote || die
-
-	# Gentoo rules
-	insinto /etc/audit/
-	newins "${FILESDIR}"/audit.rules-2.1.3 audit.rules
-	doins "${FILESDIR}"/audit.rules.stop*
-
-	# audit logs go here
-	keepdir /var/log/audit/
-
-	find "${D}" -name '*.la' -delete || die
-
-	# Security
-	lockdown_perms "${ED}"
-
-	# Chrome OS upstart init
-	insinto /etc/init
-	doins "${FILESDIR}"/init/auditd.conf
-}
-
-pkg_preinst() {
-	# Preserve from the audit-1 series
-	preserve_old_lib /$(get_libdir)/libaudit.so.0
-}
-
-pkg_postinst() {
-	lockdown_perms "${EROOT}"
-	# Preserve from the audit-1 series
-	preserve_old_lib_notify /$(get_libdir)/libaudit.so.0
-}
-
-lockdown_perms() {
-	# Upstream wants these to have restrictive perms.
-	# Should not || die as not all paths may exist.
-	local basedir="$1"
-	chmod 0750 "${basedir}"/sbin/au{ditctl,report,dispd,ditd,search,trace} 2>/dev/null
-	chmod 0750 "${basedir}"/var/log/audit/ 2>/dev/null
-	chmod 0640 "${basedir}"/etc/{audit/,}{auditd.conf,audit.rules*} 2>/dev/null
-}
diff --git a/sys-process/audit/audit-3.0.6-r1.ebuild b/sys-process/audit/audit-3.0.6-r1.ebuild
new file mode 120000
index 0000000..b92e200
--- /dev/null
+++ b/sys-process/audit/audit-3.0.6-r1.ebuild
@@ -0,0 +1 @@
+audit-3.0.6.ebuild
\ No newline at end of file
diff --git a/sys-process/audit/audit-3.0.6.ebuild b/sys-process/audit/audit-3.0.6.ebuild
new file mode 100644
index 0000000..4c20e25
--- /dev/null
+++ b/sys-process/audit/audit-3.0.6.ebuild
@@ -0,0 +1,173 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit autotools multilib-minimal toolchain-funcs python-r1 linux-info systemd usr-ldscript
+
+DESCRIPTION="Userspace utilities for storing and processing auditing records"
+HOMEPAGE="https://people.redhat.com/sgrubb/audit/"
+SRC_URI="https://people.redhat.com/sgrubb/audit/${P}.tar.gz"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="*"
+IUSE="cros_host gssapi ldap python static-libs test"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="gssapi? ( virtual/krb5 )
+	ldap? ( net-nds/openldap )
+	sys-libs/libcap-ng
+	python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}
+	>=sys-kernel/linux-headers-2.6.34
+	test? ( dev-libs/check )"
+BDEPEND="python? ( dev-lang/swig:0 )"
+
+CONFIG_CHECK="~AUDIT"
+
+src_prepare() {
+	# audisp-remote moved in multilib_src_install_all
+	sed -i \
+		-e "s,/sbin/audisp-remote,${EPREFIX}/usr/sbin/audisp-remote," \
+		audisp/plugins/remote/au-remote.conf || die
+
+	# Disable installing sample rules so they can be installed as docs.
+	echo -e '%:\n\t:' | tee rules/Makefile.{am,in} >/dev/null
+
+	default
+	eautoreconf
+}
+
+multilib_src_configure() {
+	local -a myeconfargs=(
+		--sbindir="${EPREFIX}/sbin"
+		$(use_enable gssapi gssapi-krb5)
+		$(use_enable ldap zos-remote)
+		$(use_enable static-libs static)
+		--enable-systemd
+		--without-golang
+		--without-python
+		--without-python3
+	)
+	local _with_arm_eabi=
+	# Enable ARM support when building ARM targets OR building for cros_host
+	# irrespective of target architecture. The latter is useful when
+	# processing audit logs in the Chrome OS SDK chroot.
+	# We want to support both 32-bit and 64-bit EABIs for now due to the mixed
+	# use on Chrome OS. This can be changed to a simpler
+	# $(use_with arm64 aarch64) if and when we drop 32-bit userspace support.
+	# Nevertheless, vestigial 32-bit EABI support here would likely just be
+	# superfluous and harmless.
+	if [[ "${ARCH}" == "arm"* ]] || use cros_host; then
+		_with_arm_eabi=(--with-arm --with-aarch64)
+	fi
+
+	ECONF_SOURCE=${S} econf "${myeconfargs[@]}" "${_with_arm_eabi[@]}"
+
+	if multilib_is_native_abi && use python; then
+		python_configure() {
+			mkdir -p "${BUILD_DIR}"
+			pushd "${BUILD_DIR}" &>/dev/null || die
+			ECONF_SOURCE=${S} econf "${myeconfargs[@]}" --with-python3
+			popd &>/dev/null || die
+		}
+		python_foreach_impl python_configure
+	fi
+}
+
+src_configure() {
+	tc-export_build_env BUILD_{CC,CPP}
+	local -x CC_FOR_BUILD="${BUILD_CC}"
+	local -x CPP_FOR_BUILD="${BUILD_CPP}"
+	multilib-minimal_src_configure
+}
+
+multilib_src_compile() {
+	if multilib_is_native_abi; then
+		default
+
+		local native_build="${BUILD_DIR}"
+		python_compile() {
+			emake -C "${BUILD_DIR}"/bindings/swig top_builddir="${native_build}"
+			emake -C "${BUILD_DIR}"/bindings/python/python3 top_builddir="${native_build}"
+		}
+		use python && python_foreach_impl python_compile
+	else
+		emake -C common
+		emake -C lib
+		emake -C auparse
+	fi
+}
+
+multilib_src_install() {
+	if multilib_is_native_abi; then
+		emake DESTDIR="${D}" initdir="$(systemd_get_systemunitdir)" install
+
+		local native_build="${BUILD_DIR}"
+		python_install() {
+			emake -C "${BUILD_DIR}"/bindings/swig DESTDIR="${D}" top_builddir="${native_build}" install
+			emake -C "${BUILD_DIR}"/bindings/python/python3 DESTDIR="${D}" top_builddir="${native_build}" install
+			python_optimize
+		}
+		use python && python_foreach_impl python_install
+
+		# things like shadow use this so we need to be in /
+		gen_usr_ldscript -a audit auparse
+	else
+		emake -C lib DESTDIR="${D}" install
+		emake -C auparse DESTDIR="${D}" install
+	fi
+}
+
+multilib_src_install_all() {
+	dodoc AUTHORS ChangeLog README* THANKS
+	docinto contrib
+	dodoc contrib/avc_snap
+	docinto contrib/plugin
+	dodoc contrib/plugin/*
+	docinto rules
+	dodoc rules/*rules
+
+	newinitd "${FILESDIR}"/auditd-init.d-2.4.3 auditd
+	newconfd "${FILESDIR}"/auditd-conf.d-2.1.3 auditd
+
+	[ -f "${ED}"/sbin/audisp-remote ] && \
+	dodir /usr/sbin && \
+	mv "${ED}"/{sbin,usr/sbin}/audisp-remote || die
+
+	# Gentoo rules
+	insinto /etc/audit
+	newins "${FILESDIR}"/audit.rules-2.1.3 audit.rules
+	doins "${FILESDIR}"/audit.rules.stop*
+
+	# audit logs go here
+	keepdir /var/log/audit
+
+	find "${ED}" -type f -name '*.la' -delete || die
+
+	# Security
+	lockdown_perms "${ED}"
+
+	# Chrome OS upstart init
+	insinto /etc/init
+	doins "${FILESDIR}"/init/auditd.conf
+
+}
+
+pkg_postinst() {
+	lockdown_perms "${EROOT}"
+}
+
+lockdown_perms() {
+	# Upstream wants these to have restrictive perms.
+	# Should not || die as not all paths may exist.
+	local basedir="${1}"
+	chmod 0750 "${basedir}"/sbin/au{ditctl,ditd,report,search,trace} 2>/dev/null
+	chmod 0750 "${basedir}"/var/log/audit 2>/dev/null
+	chmod 0640 "${basedir}"/etc/audit/{auditd.conf,audit*.rules*} 2>/dev/null
+}
diff --git a/sys-process/audit/files/audit-2.4.3-python.patch b/sys-process/audit/files/audit-2.4.3-python.patch
deleted file mode 100644
index 7b9ea53..0000000
--- a/sys-process/audit/files/audit-2.4.3-python.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff -ur audit-2.4.3.orig/bindings/python/python2/Makefile.am audit-2.4.3/bindings/python/python2/Makefile.am
---- audit-2.4.3.orig/bindings/python/python2/Makefile.am	2015-07-22 23:35:24.315424091 +0800
-+++ audit-2.4.3/bindings/python/python2/Makefile.am	2015-07-22 23:37:16.861510504 +0800
-@@ -29,5 +29,6 @@
- 
- auparse_la_SOURCES = $(top_srcdir)/bindings/python/auparse_python.c
- auparse_la_CPPFLAGS = -I$(top_srcdir)/auparse $(AM_CPPFLAGS)
--auparse_la_LDFLAGS = -module -avoid-version -Wl,-z,relro
-+auparse_la_CFLAGS = -shared
-+auparse_la_LDFLAGS = -module -avoid-version -shared -Wl,-z,relro
- auparse_la_LIBADD = ${top_builddir}/auparse/libauparse.la ${top_builddir}/lib/libaudit.la
-diff -ur audit-2.4.3.orig/bindings/python/python3/Makefile.am audit-2.4.3/bindings/python/python3/Makefile.am
---- audit-2.4.3.orig/bindings/python/python3/Makefile.am	2015-07-22 23:35:24.315424091 +0800
-+++ audit-2.4.3/bindings/python/python3/Makefile.am	2015-07-22 23:37:30.395400641 +0800
-@@ -28,5 +28,6 @@
- 
- auparse_la_SOURCES = $(top_srcdir)/bindings/python/auparse_python.c
- auparse_la_CPPFLAGS = -I$(top_srcdir)/auparse $(AM_CPPFLAGS)
--auparse_la_LDFLAGS = -module -avoid-version -Wl,-z,relro
-+auparse_la_CFLAGS = -shared
-+auparse_la_LDFLAGS = -module -avoid-version -shared -Wl,-z,relro
- auparse_la_LIBADD = ${top_builddir}/auparse/libauparse.la ${top_builddir}/lib/libaudit.la
-diff -ur audit-2.4.3.orig/bindings/swig/python/Makefile.am audit-2.4.3/bindings/swig/python/Makefile.am
---- audit-2.4.3.orig/bindings/swig/python/Makefile.am	2015-07-22 23:35:24.316424083 +0800
-+++ audit-2.4.3/bindings/swig/python/Makefile.am	2015-07-22 23:35:53.244189263 +0800
-@@ -28,7 +28,7 @@
- pyexec_LTLIBRARIES = _audit.la
- pyexec_SOLIBRARIES = _audit.so
- _audit_la_CFLAGS = -shared
--_audit_la_LDFLAGS = -module -avoid-version -Wl,-z,relro
-+_audit_la_LDFLAGS = -module -avoid-version -shared -Wl,-z,relro
- _audit_la_HEADERS: $(top_builddir)/config.h 
- _audit_la_DEPENDENCIES =${top_srcdir}/lib/libaudit.h ${top_builddir}/lib/libaudit.la
- _audit_la_LIBADD = $(top_builddir)/lib/libaudit.la
-diff -ur audit-2.4.3.orig/bindings/swig/python3/Makefile.am audit-2.4.3/bindings/swig/python3/Makefile.am
---- audit-2.4.3.orig/bindings/swig/python3/Makefile.am	2015-07-22 23:35:24.316424083 +0800
-+++ audit-2.4.3/bindings/swig/python3/Makefile.am	2015-07-22 23:36:27.833908482 +0800
-@@ -29,7 +29,7 @@
- py3exec_LTLIBRARIES = _audit.la
- py3exec_SOLIBRARIES = _audit.so
- _audit_la_CFLAGS = -shared
--_audit_la_LDFLAGS = -module -avoid-version -Wl,-z,relro
-+_audit_la_LDFLAGS = -module -avoid-version -shared -Wl,-z,relro
- _audit_la_HEADERS: $(top_builddir)/config.h 
- _audit_la_DEPENDENCIES =${top_srcdir}/lib/libaudit.h ${top_builddir}/lib/libaudit.la
- _audit_la_LIBADD = ${top_builddir}/lib/libaudit.la
diff --git a/sys-process/audit/files/audit-2.8.4-ia64-compile-fix.patch b/sys-process/audit/files/audit-2.8.4-ia64-compile-fix.patch
deleted file mode 100644
index ef04f72..0000000
--- a/sys-process/audit/files/audit-2.8.4-ia64-compile-fix.patch
+++ /dev/null
@@ -1,195 +0,0 @@
---- a/audisp/audispd.c
-+++ b/audisp/audispd.c
-@@ -21,6 +21,7 @@
-  */
- 
- #include "config.h"
-+#include "fixup.h"
- #include <stdio.h>
- #include <unistd.h>
- #include <stdlib.h>
---- a/audisp/plugins/prelude/audisp-prelude.c
-+++ b/audisp/plugins/prelude/audisp-prelude.c
-@@ -21,6 +21,8 @@
-  *
-  */
- 
-+#include "config.h"
-+#include "fixup.h"
- #include <stdio.h>
- #include <stdlib.h>
- #include <signal.h>
---- a/audisp/plugins/remote/audisp-remote.c
-+++ b/audisp/plugins/remote/audisp-remote.c
-@@ -22,6 +22,7 @@
-  */
- 
- #include "config.h"
-+#include "fixup.h"
- #include <stdio.h>
- #include <signal.h>
- #include <syslog.h>
---- a/configure.ac
-+++ b/configure.ac
-@@ -216,6 +216,9 @@ AC_ARG_ENABLE(zos-remote,
- AM_CONDITIONAL(ENABLE_ZOS_REMOTE, test "x$enable_zos_remote" != "xno")
- AC_MSG_RESULT($enable_zos_remote)
- 
-+AC_CHECK_HEADER([asm/ptrace.h], [AC_DEFINE([HAVE_ASM_PTRACE_H],[],[Define to 1 if you have asm/ptrace.h])], [])
-+AC_CHECK_HEADER([linux/ptrace.h], [AC_DEFINE([HAVE_LINUX_PTRACE_H],[],[Define to 1 if you have linux/ptrace.h])], [])
-+
- #gssapi
- AC_ARG_ENABLE(gssapi_krb5,
- 	[AS_HELP_STRING([--enable-gssapi-krb5],[Enable GSSAPI Kerberos 5 support @<:@default=no@:>@])],
---- a/contrib/plugin/audisp-example.c
-+++ b/contrib/plugin/audisp-example.c
-@@ -37,6 +37,8 @@
-  */
- 
- #define _GNU_SOURCE
-+#include "config.h"
-+#include "fixup.h"
- #include <stdio.h>
- #include <signal.h>
- #include <string.h>
---- a/contrib/skeleton.c
-+++ b/contrib/skeleton.c
-@@ -13,6 +13,8 @@
-  * gcc skeleton.c -o skeleton -laudit
-  */
- 
-+#include "config.h"
-+#include "fixup.h"
- #include <stdio.h>
- #include <sys/types.h>
- #include <sys/uio.h>
---- /dev/null
-+++ b/lib/fixup.h
-@@ -0,0 +1,17 @@
-+#ifndef _AUDIT_IA64_FIXUP_H_
-+#define _AUDIT_IA64_FIXUP_H_
-+
-+#ifdef __ia64__ /* what a pos */
-+# include <linux/types.h>
-+# define _ASM_IA64_FPU_H
-+#endif
-+#include <signal.h>
-+/*
-+#ifdef HAVE_ASM_PTRACE_H
-+# include <asm/ptrace.h>
-+#endif
-+#ifdef HAVE_LINUX_PTRACE_H
-+# include <linux/ptrace.h>
-+#endif
-+*/
-+#endif
---- a/src/auditctl.c
-+++ b/src/auditctl.c
-@@ -23,6 +23,7 @@
-  */
- 
- #include "config.h"
-+#include "fixup.h"
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdbool.h>
---- a/src/auditd-config.c
-+++ b/src/auditd-config.c
-@@ -22,6 +22,7 @@
-  */
- 
- #include "config.h"
-+#include "fixup.h"
- #include <stdio.h>
- #include <unistd.h>
- #include <sys/stat.h>
---- a/src/auditd-dispatch.c
-+++ b/src/auditd-dispatch.c
-@@ -22,6 +22,7 @@
-  */
- 
- #include "config.h"
-+#include "fixup.h"
- #include <unistd.h>
- #include <sys/uio.h>
- #include <fcntl.h>
---- a/src/auditd-event.c
-+++ b/src/auditd-event.c
-@@ -22,6 +22,7 @@
-  */
- 
- #include "config.h"
-+#include "fixup.h"
- #include <stdlib.h>
- #include <unistd.h>
- #include <pthread.h>
---- a/src/auditd-listen.c
-+++ b/src/auditd-listen.c
-@@ -23,6 +23,7 @@
-  */
- 
- #include "config.h"
-+#include "fixup.h"
- #include <stdio.h>
- #include <unistd.h>
- #include <sys/stat.h>
---- a/src/auditd-reconfig.c
-+++ b/src/auditd-reconfig.c
-@@ -22,6 +22,7 @@
-  */
- 
- #include "config.h"
-+#include "fixup.h"
- #include <pthread.h>
- #include <signal.h>
- #include <stdlib.h>
---- a/src/auditd-sendmail.c
-+++ b/src/auditd-sendmail.c
-@@ -22,6 +22,7 @@
-  */
- 
- #include "config.h"
-+#include "fixup.h"
- #include <stdio.h>
- #include <unistd.h>		// for access()
- #include <string.h>
---- a/src/auditd.c
-+++ b/src/auditd.c
-@@ -22,6 +22,7 @@
-  */
- 
- #include "config.h"
-+#include "fixup.h"
- #include <stdio.h>
- #include <sys/types.h>
- #include <unistd.h>
---- a/src/ausearch.c
-+++ b/src/ausearch.c
-@@ -22,6 +22,7 @@
-  */
- 
- #include "config.h"
-+#include "fixup.h"
- #include <stdio.h>
- #include <stdio_ext.h>
- #include <string.h>
---- a/src/autrace.c
-+++ b/src/autrace.c
-@@ -21,6 +21,7 @@
-  */
- 
- #include "config.h"
-+#include "fixup.h"
- #include <stdio.h>
- #include <string.h>
- #include <sys/wait.h>
---- a/src/delete_all.c
-+++ b/src/delete_all.c
-@@ -20,6 +20,7 @@
-  *      Steve Grubb <sgrubb@redhat.com>
-  */
- #include "config.h"
-+#include "fixup.h"
- #include <stdio.h>
- #include <string.h>
- #include <errno.h>
diff --git a/sys-process/audit/files/audit-3.0.1-slibtool.patch b/sys-process/audit/files/audit-3.0.1-slibtool.patch
new file mode 100644
index 0000000..a1cf753
--- /dev/null
+++ b/sys-process/audit/files/audit-3.0.1-slibtool.patch
@@ -0,0 +1,207 @@
+From 8d6a7be8e29d00ab08c0cdcaf0dd293ed834205d Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Wed, 31 Mar 2021 05:51:53 -0700
+Subject: [PATCH] build: Link with libtool archives instead.
+
+Signed-off-by: orbea <orbea@riseup.net>
+---
+ audisp/Makefile.am                    | 10 +++++-----
+ audisp/plugins/ids/Makefile.am        |  2 +-
+ audisp/plugins/remote/Makefile.am     |  2 +-
+ audisp/plugins/statsd/Makefile.am     |  2 +-
+ audisp/plugins/syslog/Makefile.am     |  2 +-
+ audisp/plugins/zos-remote/Makefile.am |  2 +-
+ src/Makefile.am                       | 11 +++++------
+ src/libev/Makefile.am                 |  5 +++--
+ tools/aulast/Makefile.am              |  2 +-
+ tools/aulastlog/Makefile.am           |  2 +-
+ tools/ausyscall/Makefile.am           |  2 +-
+ tools/auvirt/Makefile.am              |  2 +-
+ 12 files changed, 22 insertions(+), 22 deletions(-)
+
+diff --git a/audisp/Makefile.am b/audisp/Makefile.am
+index 852169e0..c477ee19 100644
+--- a/audisp/Makefile.am
++++ b/audisp/Makefile.am
+@@ -23,13 +23,13 @@
+ SUBDIRS = plugins 
+ CONFIG_CLEAN_FILES = *.rej *.orig
+ AM_CPPFLAGS = -D_GNU_SOURCE -fPIC -DPIC -I${top_srcdir} -I${top_srcdir}/lib -I${top_srcdir}/src -I${top_srcdir}/src/libev
+-LIBS = -L${top_builddir}/lib -laudit 
++LIBS = ${top_builddir}/lib/libaudit.la
+ LDADD = -lpthread
+ 
+ noinst_HEADERS = audispd-pconfig.h audispd-llist.h audispd-config.h \
+ 	queue.h audispd-builtins.h libdisp.h
+-libdisp_a_SOURCES = audispd.c audispd-pconfig.c queue.c \
++libdisp_la_SOURCES = audispd.c audispd-pconfig.c queue.c \
+ 	audispd-llist.c audispd-builtins.c
+-libdisp_a_CFLAGS = -fno-strict-aliasing
+-noinst_LIBRARIES = libdisp.a
+-
++libdisp_la_CFLAGS = -fno-strict-aliasing
++libdisp_la_LDFLAGS = -no-undefined -static
++noinst_LTLIBRARIES = libdisp.la
+diff --git a/audisp/plugins/ids/Makefile.am b/audisp/plugins/ids/Makefile.am
+index 65d83b64..9bb141fa 100644
+--- a/audisp/plugins/ids/Makefile.am
++++ b/audisp/plugins/ids/Makefile.am
+@@ -37,7 +37,7 @@ audisp_ids_SOURCES = account.c avl.c ids.c ids_config.c model_bad_event.c \
+ 	model_behavior.c nvpair.c origin.c reactions.c session.c \
+ 	timer-services.c
+ audisp_ids_CFLAGS = -D_GNU_SOURCE
+-audisp_ids_LDADD = -L${top_builddir}/lib -laudit -L${top_builddir}/auparse -lauparse -L${top_builddir}/common -laucommon -lpthread
++audisp_ids_LDADD = ${top_builddir}/lib/libaudit.la ${top_builddir}/auparse/libauparse.la ${top_builddir}/common/libaucommon.la -lpthread
+ 
+ install-data-hook:
+ 	mkdir -p -m 0750 ${DESTDIR}${plugin_confdir}
+diff --git a/audisp/plugins/remote/Makefile.am b/audisp/plugins/remote/Makefile.am
+index bd3f3016..ae867079 100644
+--- a/audisp/plugins/remote/Makefile.am
++++ b/audisp/plugins/remote/Makefile.am
+@@ -37,7 +37,7 @@ audisp_remote_DEPENDENCIES = ${top_builddir}/common/libaucommon.la
+ audisp_remote_SOURCES = audisp-remote.c remote-config.c queue.c
+ audisp_remote_CFLAGS = -fPIE -DPIE -g -D_REENTRANT -D_GNU_SOURCE -Wundef
+ audisp_remote_LDFLAGS = -pie -Wl,-z,relro -Wl,-z,now
+-audisp_remote_LDADD = $(CAPNG_LDADD) $(gss_libs) -L${top_builddir}/common -laucommon
++audisp_remote_LDADD = $(CAPNG_LDADD) $(gss_libs) ${top_builddir}/common/libaucommon.la
+ 
+ test_queue_SOURCES = queue.c test-queue.c
+ 
+diff --git a/audisp/plugins/statsd/Makefile.am b/audisp/plugins/statsd/Makefile.am
+index 7ba887df..a105e66b 100644
+--- a/audisp/plugins/statsd/Makefile.am
++++ b/audisp/plugins/statsd/Makefile.am
+@@ -30,7 +30,7 @@ sbin_PROGRAMS = audisp-statsd
+ man_MANS = audisp-statsd.8
+ audisp_statsd_SOURCES = audisp-statsd.c
+ audisp_statsd_CFLAGS = -g -D_GNU_SOURCE
+-audisp_statsd_LDADD = -L${top_builddir}/auparse -lauparse -L${top_builddir}/lib -laudit
++audisp_statsd_LDADD = ${top_builddir}/auparse/libauparse.la ${top_builddir}/lib/libaudit.la
+ 
+ install-data-hook:
+ 	mkdir -p -m 0750 ${DESTDIR}${plugin_confdir}
+diff --git a/audisp/plugins/syslog/Makefile.am b/audisp/plugins/syslog/Makefile.am
+index 353229ec..e5451866 100644
+--- a/audisp/plugins/syslog/Makefile.am
++++ b/audisp/plugins/syslog/Makefile.am
+@@ -33,7 +33,7 @@ audisp_syslog_DEPENDENCIES = ${top_builddir}/common/libaucommon.la
+ audisp_syslog_SOURCES = audisp-syslog.c
+ audisp_syslog_CFLAGS = -fPIE -DPIE -g -D_GNU_SOURCE -Wundef
+ audisp_syslog_LDFLAGS = -pie -Wl,-z,relro -Wl,-z,now
+-audisp_syslog_LDADD = $(CAPNG_LDADD) -L${top_builddir}/common -laucommon -L${top_builddir}/auparse -lauparse
++audisp_syslog_LDADD = $(CAPNG_LDADD) ${top_builddir}/common/libaucommon.la ${top_builddir}/auparse/libauparse.la
+ 
+ install-data-hook:
+ 	mkdir -p -m 0750 ${DESTDIR}${plugin_confdir}
+diff --git a/audisp/plugins/zos-remote/Makefile.am b/audisp/plugins/zos-remote/Makefile.am
+index d8d88b3f..d51e83e7 100644
+--- a/audisp/plugins/zos-remote/Makefile.am
++++ b/audisp/plugins/zos-remote/Makefile.am
+@@ -24,7 +24,7 @@
+ AM_CPPFLAGS = -I${top_srcdir} -I${top_srcdir}/lib -I${top_srcdir}/auparse
+ CONFIG_CLEAN_FILES = *.rej *.orig
+ EXTRA_DIST = zos-remote.conf audispd-zos-remote.conf
+-LIBS = -L${top_builddir}/auparse -lauparse
++LIBS = ${top_builddir}/auparse/libauparse.la
+ LDADD = -lpthread -lldap -llber $(CAPNG_LDADD) 
+ plugin_confdir=$(sysconfdir)/audit
+ plugin_conf = zos-remote.conf
+diff --git a/src/Makefile.am b/src/Makefile.am
+index fda612b1..e2e58acb 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -33,22 +33,21 @@ auditd_SOURCES += auditd-listen.c
+ endif
+ auditd_CFLAGS = -fPIE -DPIE -g -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pthread -Wno-pointer-sign
+ auditd_LDFLAGS = -pie -Wl,-z,relro -Wl,-z,now
+-auditd_DEPENDENCIES = libev/libev.a ${top_builddir}/audisp/libdisp.a
+-auditd_LDADD = @LIBWRAP_LIBS@ -Llibev -lev -L${top_builddir}/audisp -ldisp -L${top_builddir}/lib -laudit -L${top_builddir}/auparse -lauparse -lpthread -lrt -lm $(gss_libs) -L${top_builddir}/common -laucommon
++auditd_LDADD = @LIBWRAP_LIBS@ ${top_builddir}/src/libev/libev.la ${top_builddir}/audisp/libdisp.la ${top_builddir}/lib/libaudit.la ${top_builddir}/auparse/libauparse.la -lpthread -lrt -lm $(gss_libs) ${top_builddir}/common/libaucommon.la
+ 
+ auditctl_SOURCES = auditctl.c auditctl-llist.c delete_all.c auditctl-listing.c
+ auditctl_CFLAGS = -fPIE -DPIE -g -D_GNU_SOURCE
+ auditctl_LDFLAGS = -pie -Wl,-z,relro -Wl,-z,now
+-auditctl_LDADD = -L${top_builddir}/lib -laudit -L${top_builddir}/auparse -lauparse -L${top_builddir}/common -laucommon
++auditctl_LDADD = ${top_builddir}/lib/libaudit.la ${top_builddir}/auparse/libauparse.la ${top_builddir}/common/libaucommon.la
+ 
+ aureport_SOURCES = aureport.c auditd-config.c ausearch-llist.c aureport-options.c ausearch-string.c ausearch-parse.c aureport-scan.c aureport-output.c ausearch-lookup.c ausearch-int.c ausearch-time.c ausearch-nvpair.c ausearch-avc.c ausearch-lol.c
+-aureport_LDADD = -L${top_builddir}/lib -laudit -L${top_builddir}/auparse -lauparse -L${top_builddir}/common -laucommon
++aureport_LDADD = ${top_builddir}/lib/libaudit.la ${top_builddir}/auparse/libauparse.la ${top_builddir}/common/libaucommon.la
+ 
+ ausearch_SOURCES = ausearch.c auditd-config.c ausearch-llist.c ausearch-options.c ausearch-report.c ausearch-match.c ausearch-string.c ausearch-parse.c ausearch-int.c ausearch-time.c ausearch-nvpair.c ausearch-lookup.c ausearch-avc.c ausearch-lol.c ausearch-checkpt.c
+-ausearch_LDADD = -L${top_builddir}/lib -laudit -L${top_builddir}/auparse -lauparse -L${top_builddir}/common -laucommon
++ausearch_LDADD = ${top_builddir}/lib/libaudit.la ${top_builddir}/auparse/libauparse.la ${top_builddir}/common/libaucommon.la
+ 
+ autrace_SOURCES = autrace.c delete_all.c auditctl-llist.c
+-autrace_LDADD = -L${top_builddir}/lib -laudit
++autrace_LDADD = ${top_builddir}/lib/libaudit.la
+ 
+ libev/libev.a:
+ 	make -C libev
+diff --git a/src/libev/Makefile.am b/src/libev/Makefile.am
+index d6094a76..85f4da52 100644
+--- a/src/libev/Makefile.am
++++ b/src/libev/Makefile.am
+@@ -24,6 +24,7 @@ EXTRA_DIST = README ev_epoll.c ev_poll.c ev_select.c ev_iouring.c ev_linuxaio.c
+ AM_CFLAGS = -fPIC -DPIC -g -fno-strict-aliasing ${DEBUG}
+ 
+ noinst_HEADERS = ev.h ev_vars.h ev_wrap.h event.h
+-noinst_LIBRARIES = libev.a
++noinst_LTLIBRARIES = libev.la
+ 
+-libev_a_SOURCES = ev.c event.c
++libev_la_SOURCES = ev.c event.c
++libev_la_LDFLAGS = -no-undefined -static
+diff --git a/tools/aulast/Makefile.am b/tools/aulast/Makefile.am
+index 2f15525a..1ee0b8c0 100644
+--- a/tools/aulast/Makefile.am
++++ b/tools/aulast/Makefile.am
+@@ -23,7 +23,7 @@
+ CONFIG_CLEAN_FILES = *.loT *.rej *.orig
+ EXTRA_DIST = $(man_MANS)
+ AM_CPPFLAGS = -I${top_srcdir} -I${top_srcdir}/lib -I${top_srcdir}/auparse
+-LIBS = -L${top_builddir}/auparse -lauparse
++LIBS = ${top_builddir}/auparse/libauparse.la
+ AM_CFLAGS = -D_GNU_SOURCE
+ bin_PROGRAMS = aulast
+ noinst_HEADERS = aulast-llist.h
+diff --git a/tools/aulastlog/Makefile.am b/tools/aulastlog/Makefile.am
+index e45076ba..f208b4c3 100644
+--- a/tools/aulastlog/Makefile.am
++++ b/tools/aulastlog/Makefile.am
+@@ -23,7 +23,7 @@
+ CONFIG_CLEAN_FILES = *.loT *.rej *.orig
+ EXTRA_DIST = $(man_MANS)
+ AM_CPPFLAGS = -I${top_srcdir} -I${top_srcdir}/auparse
+-LIBS = -L${top_builddir}/auparse -lauparse
++LIBS = ${top_builddir}/auparse/libauparse.la
+ AM_CFLAGS = -D_GNU_SOURCE
+ bin_PROGRAMS = aulastlog
+ noinst_HEADERS = aulastlog-llist.h
+diff --git a/tools/ausyscall/Makefile.am b/tools/ausyscall/Makefile.am
+index 1dce67c0..daa277d7 100644
+--- a/tools/ausyscall/Makefile.am
++++ b/tools/ausyscall/Makefile.am
+@@ -23,7 +23,7 @@
+ CONFIG_CLEAN_FILES = *.loT *.rej *.orig
+ EXTRA_DIST = $(man_MANS)
+ AM_CPPFLAGS = -I${top_srcdir} -I${top_srcdir}/lib
+-LIBS = -L${top_builddir}/lib -laudit
++LIBS = ${top_builddir}/lib/libaudit.la
+ AM_CFLAGS = -D_GNU_SOURCE
+ bin_PROGRAMS = ausyscall
+ man_MANS = ausyscall.8
+diff --git a/tools/auvirt/Makefile.am b/tools/auvirt/Makefile.am
+index 50b9b323..dafeeccf 100644
+--- a/tools/auvirt/Makefile.am
++++ b/tools/auvirt/Makefile.am
+@@ -29,7 +29,7 @@ AM_CPPFLAGS = -I${top_srcdir} \
+ 		   -I${top_srcdir}/lib \
+ 		   -I${top_srcdir}/auparse \
+ 		   -I${top_srcdir}/src
+-LIBS = -L${top_builddir}/auparse -lauparse
++LIBS = ${top_builddir}/auparse/libauparse.la
+ AM_CFLAGS = -D_GNU_SOURCE
+ bin_PROGRAMS = auvirt
+ noinst_HEADERS = auvirt-list.h
diff --git a/sys-process/audit/metadata.xml b/sys-process/audit/metadata.xml
new file mode 100644
index 0000000..3524ab0
--- /dev/null
+++ b/sys-process/audit/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="project">
+		<email>selinux@gentoo.org</email>
+	</maintainer>
+	<maintainer type="person">
+		<email>robbat2@gentoo.org</email>
+	</maintainer>
+	<use>
+		<flag name="gssapi">Enable GSSAPI support</flag>
+	</use>
+	<upstream>
+		<remote-id type="github">linux-audit/audit-userspace</remote-id>
+	</upstream>
+</pkgmetadata>
diff --git a/sys-process/metadata.xml b/sys-process/metadata.xml
deleted file mode 100644
index 9509672..0000000
--- a/sys-process/metadata.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The sys-process category contains packages which query or manipulate
-		processes. The 'cron' daemons are included in this.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría sys-proccess contiene paquetes que manipulan y obtienen
-		información de los procesos. Los paquetes de 'cron' también están
-		incluidos en esta categoría.
-	</longdescription>
-	<longdescription lang="ja">
-		sys-processカテゴリにはプロセスを照会と操作パッケージが含まれます。
-		cronデーモンはここに含まれます。
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie sys-process enthält Pakete für das Arbeiten mit Prozessen.
-		Auch die Cron-Daemons sind in dieser Kategorie enthalten.
-	</longdescription>
-	<longdescription lang="nl">
-		De sys-process categorie bevat pakketten voor de omgang met processen. Ook
-		de verschillende cron-daemons behoren tot deze categorie.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm sys-process chứa các phần mềm truy vấn và xử lý tiến trình.
-		Các 'cron' daemon cũng nằm trong đây.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria sys-process contiene pacchetti per la manipolazione e l'analisi dei processi.
-		I demoni 'cron' appartengono a questa categoria.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria sys-process contém pacotes que manipulam e captam
-		informações dos processos. Os daemons de 'cron' estão incluídos
-		aqui.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria sys-process zawiera programy do przeszukiwania listy procesów
-		oraz do manipulowania nimi. Znajdują się tu również demony cron.
-	</longdescription>
-</catmetadata>
-
diff --git a/virtual/OWNERS b/virtual/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/virtual/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/virtual/bindgen/bindgen-0.59.1-r1.ebuild b/virtual/bindgen/bindgen-0.59.1-r1.ebuild
deleted file mode 120000
index eeef4a4..0000000
--- a/virtual/bindgen/bindgen-0.59.1-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-bindgen-0.0.1.ebuild
\ No newline at end of file
diff --git a/virtual/bindgen/bindgen-0.59.1.ebuild b/virtual/bindgen/bindgen-0.59.2.ebuild
similarity index 100%
rename from virtual/bindgen/bindgen-0.59.1.ebuild
rename to virtual/bindgen/bindgen-0.59.2.ebuild
diff --git a/virtual/chromeos-firewall/OWNERS b/virtual/chromeos-firewall/OWNERS
new file mode 100644
index 0000000..b830d86
--- /dev/null
+++ b/virtual/chromeos-firewall/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/patchpanel/OWNERS
diff --git a/virtual/chromeos-firmware/chromeos-firmware-1-r6.ebuild b/virtual/chromeos-firmware/chromeos-firmware-1-r7.ebuild
similarity index 100%
rename from virtual/chromeos-firmware/chromeos-firmware-1-r6.ebuild
rename to virtual/chromeos-firmware/chromeos-firmware-1-r7.ebuild
diff --git a/virtual/chromeos-firmware/chromeos-firmware-1.ebuild b/virtual/chromeos-firmware/chromeos-firmware-1.ebuild
index e6700d9..564bec9 100644
--- a/virtual/chromeos-firmware/chromeos-firmware-1.ebuild
+++ b/virtual/chromeos-firmware/chromeos-firmware-1.ebuild
@@ -10,13 +10,15 @@
 SLOT="0"
 KEYWORDS="*"
 
-IUSE="bootimage cros_ec cros_ish"
+IUSE="bootimage cros_ec zephyr_ec cros_ish"
 
 RDEPEND="!bootimage? ( chromeos-base/chromeos-firmware-null )
 	bootimage? ( sys-boot/chromeos-bootimage )
 	cros_ec? ( chromeos-base/chromeos-ec )
+	zephyr_ec? ( chromeos-base/chromeos-zephyr )
 	cros_ish? ( chromeos-base/chromeos-ish )"
 
 DEPEND="bootimage? ( sys-boot/chromeos-bootimage )
 	cros_ec? ( chromeos-base/chromeos-ec )
+	zephyr_ec? ( chromeos-base/chromeos-zephyr )
 	cros_ish? ( chromeos-base/chromeos-ish )"
diff --git a/virtual/chromeos-oobe-assets/chromeos-oobe-assets-1-r2.ebuild b/virtual/chromeos-oobe-assets/chromeos-oobe-assets-1-r2.ebuild
deleted file mode 120000
index a8303b1..0000000
--- a/virtual/chromeos-oobe-assets/chromeos-oobe-assets-1-r2.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-chromeos-oobe-assets-1.ebuild
\ No newline at end of file
diff --git a/virtual/chromeos-oobe-assets/chromeos-oobe-assets-1.ebuild b/virtual/chromeos-oobe-assets/chromeos-oobe-assets-1.ebuild
deleted file mode 100644
index 293cada..0000000
--- a/virtual/chromeos-oobe-assets/chromeos-oobe-assets-1.ebuild
+++ /dev/null
@@ -1,12 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Chrome OS OOBE assets virtual package"
-
-LICENSE="metapackage"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="chromeos-base/chromeos-oobe-assets"
diff --git a/virtual/chromium-os-fuzzers/chromium-os-fuzzers-1-r77.ebuild b/virtual/chromium-os-fuzzers/chromium-os-fuzzers-1-r77.ebuild
deleted file mode 100644
index ec0031b..0000000
--- a/virtual/chromium-os-fuzzers/chromium-os-fuzzers-1-r77.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
-# the canonical empty project.
-CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
-CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
-CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
-CROS_WORKON_LOCALNAME="../platform/empty-project"
-
-inherit cros-workon
-
-DESCRIPTION="List of packages that should be fuzzed"
-HOMEPAGE="https://dev.chromium.org/"
-
-LICENSE="metapackage"
-SLOT="0"
-KEYWORDS="*"
-IUSE="asan msan"
-
-RDEPEND="
-	chromeos-base/aosp-frameworks-ml-nn[fuzzer]
-	chromeos-base/arc-adbd[fuzzer]
-	chromeos-base/arc-apk-cache[fuzzer]
-	asan? ( chromeos-base/arc-keymaster[fuzzer] )
-	chromeos-base/arc-obb-mounter[fuzzer]
-	chromeos-base/arc-setup[fuzzer]
-	chromeos-base/authpolicy[fuzzer]
-	chromeos-base/biod[fuzzer]
-	chromeos-base/bootid-logger[fuzzer]
-	chromeos-base/chaps[fuzzer]
-	chromeos-base/chromeos-dbus-bindings[fuzzer]
-	chromeos-base/chromeos-ec[fuzzer]
-	chromeos-base/chromeos-login[fuzzer]
-	chromeos-base/crash-reporter[fuzzer]
-	chromeos-base/cros-camera-libs[fuzzer]
-	chromeos-base/cros-disks[fuzzer]
-	chromeos-base/crosdns[fuzzer]
-	chromeos-base/croslog[fuzzer]
-	chromeos-base/cryptohome[fuzzer]
-	chromeos-base/cups-fuzz[fuzzer]
-	chromeos-base/debugd[fuzzer]
-	chromeos-base/diagnostics[fuzzer]
-	chromeos-base/dlcservice[fuzzer]
-	chromeos-base/dlp[fuzzer]
-	chromeos-base/dns-proxy[fuzzer]
-	chromeos-base/featured[fuzzer]
-	chromeos-base/foomatic_shell[fuzzer]
-	chromeos-base/ghostscript-fuzz[fuzzer]
-	chromeos-base/hammerd[fuzzer]
-	chromeos-base/hermes[fuzzer]
-	chromeos-base/imageloader[fuzzer]
-	chromeos-base/kerberos[fuzzer]
-	chromeos-base/libbrillo[fuzzer]
-	chromeos-base/libipp[fuzzer]
-	asan? ( chromeos-base/libvda[fuzzer] )
-	chromeos-base/metrics[fuzzer]
-	chromeos-base/ml[fuzzer]
-	chromeos-base/modemfwd[fuzzer]
-	chromeos-base/ocr[fuzzer]
-	chromeos-base/p2p[fuzzer]
-	chromeos-base/patchpanel[fuzzer]
-	chromeos-base/patchpanel-client[fuzzer]
-	chromeos-base/permission_broker[fuzzer]
-	chromeos-base/power_manager[fuzzer]
-	chromeos-base/run_oci[fuzzer]
-	chromeos-base/runtime_probe[fuzzer]
-	chromeos-base/screen-capture-utils[fuzzer]
-	>=chromeos-base/shill-0.0.1-r2205[fuzzer]
-	chromeos-base/smbprovider[fuzzer]
-	chromeos-base/sommelier[fuzzer]
-	chromeos-base/system-proxy[fuzzer]
-	chromeos-base/trunks[fuzzer]
-	chromeos-base/typecd[fuzzer]
-	chromeos-base/u2fd[fuzzer]
-	chromeos-base/update_engine[fuzzer]
-	chromeos-base/usb_bouncer[fuzzer]
-	chromeos-base/vboot_reference[fuzzer]
-	chromeos-base/vm_guest_tools[fuzzer]
-	chromeos-base/vpn-manager[fuzzer]
-	asan? ( chromeos-base/vm_host_tools[fuzzer] )
-	dev-libs/modp_b64[fuzzer]
-	asan? ( dev-rust/p9[fuzzer] )
-	dev-util/bsdiff[fuzzer]
-	dev-util/puffin[fuzzer]
-	media-gfx/sane-airscan[fuzzer]
-	media-libs/virglrenderer[fuzzer]
-	media-sound/adhd[fuzzer]
-	net-dns/avahi[fuzzer]
-	net-print/hplip[fuzzer]
-	net-wireless/bluez[fuzzer]
-	net-wireless/wpa_supplicant-cros[fuzzer]
-"
diff --git a/virtual/chromium-os-fuzzers/chromium-os-fuzzers-1-r81.ebuild b/virtual/chromium-os-fuzzers/chromium-os-fuzzers-1-r81.ebuild
new file mode 100644
index 0000000..ded9352
--- /dev/null
+++ b/virtual/chromium-os-fuzzers/chromium-os-fuzzers-1-r81.ebuild
@@ -0,0 +1,95 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
+# the canonical empty project.
+CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
+CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="../platform/empty-project"
+
+inherit cros-workon
+
+DESCRIPTION="List of packages that should be fuzzed"
+HOMEPAGE="https://dev.chromium.org/"
+
+LICENSE="metapackage"
+SLOT="0"
+KEYWORDS="*"
+IUSE="asan msan"
+
+RDEPEND="
+	chromeos-base/aosp-frameworks-ml-nn[fuzzer]
+	chromeos-base/arc-adbd[fuzzer]
+	chromeos-base/arc-apk-cache[fuzzer]
+	asan? ( chromeos-base/arc-keymaster[fuzzer] )
+	chromeos-base/arc-obb-mounter[fuzzer]
+	chromeos-base/arc-setup[fuzzer]
+	chromeos-base/authpolicy[fuzzer]
+	chromeos-base/biod[fuzzer]
+	chromeos-base/bootid-logger[fuzzer]
+	chromeos-base/chaps[fuzzer]
+	chromeos-base/chromeos-ec[fuzzer]
+	chromeos-base/chromeos-login[fuzzer]
+	chromeos-base/crash-reporter[fuzzer]
+	chromeos-base/cros-camera-libs[fuzzer]
+	chromeos-base/cros-disks[fuzzer]
+	chromeos-base/crosdns[fuzzer]
+	chromeos-base/croslog[fuzzer]
+	chromeos-base/cryptohome[fuzzer]
+	chromeos-base/cups-fuzz[fuzzer]
+	chromeos-base/debugd[fuzzer]
+	chromeos-base/diagnostics[fuzzer]
+	chromeos-base/dlcservice[fuzzer]
+	chromeos-base/dlp[fuzzer]
+	chromeos-base/dns-proxy[fuzzer]
+	chromeos-base/featured[fuzzer]
+	chromeos-base/foomatic_shell[fuzzer]
+	chromeos-base/ghostscript-fuzz[fuzzer]
+	chromeos-base/hammerd[fuzzer]
+	chromeos-base/hermes[fuzzer]
+	chromeos-base/imageloader[fuzzer]
+	chromeos-base/kerberos[fuzzer]
+	chromeos-base/libbrillo[fuzzer]
+	chromeos-base/libipp[fuzzer]
+	asan? ( chromeos-base/libvda[fuzzer] )
+	chromeos-base/metrics[fuzzer]
+	chromeos-base/ml[fuzzer]
+	chromeos-base/modemfwd[fuzzer]
+	chromeos-base/ocr[fuzzer]
+	chromeos-base/p2p[fuzzer]
+	chromeos-base/patchpanel[fuzzer]
+	chromeos-base/patchpanel-client[fuzzer]
+	chromeos-base/permission_broker[fuzzer]
+	chromeos-base/power_manager[fuzzer]
+	chromeos-base/rgbkbd[fuzzer]
+	chromeos-base/run_oci[fuzzer]
+	chromeos-base/runtime_probe[fuzzer]
+	chromeos-base/screen-capture-utils[fuzzer]
+	>=chromeos-base/shill-0.0.1-r2205[fuzzer]
+	chromeos-base/smbprovider[fuzzer]
+	chromeos-base/sommelier[fuzzer]
+	chromeos-base/system-proxy[fuzzer]
+	chromeos-base/trunks[fuzzer]
+	chromeos-base/typecd[fuzzer]
+	chromeos-base/u2fd[fuzzer]
+	chromeos-base/update_engine[fuzzer]
+	chromeos-base/usb_bouncer[fuzzer]
+	chromeos-base/vboot_reference[fuzzer]
+	chromeos-base/vm_guest_tools[fuzzer]
+	chromeos-base/vpn-manager[fuzzer]
+	asan? ( chromeos-base/vm_host_tools[fuzzer] )
+	dev-libs/modp_b64[fuzzer]
+	asan? ( dev-rust/p9[fuzzer] )
+	dev-util/bsdiff[fuzzer]
+	dev-util/puffin[fuzzer]
+	media-gfx/sane-airscan[fuzzer]
+	media-libs/virglrenderer[fuzzer]
+	media-sound/adhd[fuzzer]
+	net-dns/avahi[fuzzer]
+	net-print/hplip[fuzzer]
+	net-wireless/bluez[fuzzer]
+	net-wireless/wpa_supplicant-cros[fuzzer]
+"
diff --git a/virtual/chromium-os-fuzzers/chromium-os-fuzzers-9999.ebuild b/virtual/chromium-os-fuzzers/chromium-os-fuzzers-9999.ebuild
index 6efdb22..215f32a 100644
--- a/virtual/chromium-os-fuzzers/chromium-os-fuzzers-9999.ebuild
+++ b/virtual/chromium-os-fuzzers/chromium-os-fuzzers-9999.ebuild
@@ -29,7 +29,6 @@
 	chromeos-base/biod[fuzzer]
 	chromeos-base/bootid-logger[fuzzer]
 	chromeos-base/chaps[fuzzer]
-	chromeos-base/chromeos-dbus-bindings[fuzzer]
 	chromeos-base/chromeos-ec[fuzzer]
 	chromeos-base/chromeos-login[fuzzer]
 	chromeos-base/crash-reporter[fuzzer]
@@ -63,6 +62,7 @@
 	chromeos-base/patchpanel-client[fuzzer]
 	chromeos-base/permission_broker[fuzzer]
 	chromeos-base/power_manager[fuzzer]
+	chromeos-base/rgbkbd[fuzzer]
 	chromeos-base/run_oci[fuzzer]
 	chromeos-base/runtime_probe[fuzzer]
 	chromeos-base/screen-capture-utils[fuzzer]
diff --git a/virtual/chromium-os-printing/chromium-os-printing-1-r13.ebuild b/virtual/chromium-os-printing/chromium-os-printing-1-r15.ebuild
similarity index 100%
rename from virtual/chromium-os-printing/chromium-os-printing-1-r13.ebuild
rename to virtual/chromium-os-printing/chromium-os-printing-1-r15.ebuild
diff --git a/virtual/chromium-os-printing/chromium-os-printing-1.ebuild b/virtual/chromium-os-printing/chromium-os-printing-1.ebuild
index be64c1f..3b6e2da 100644
--- a/virtual/chromium-os-printing/chromium-os-printing-1.ebuild
+++ b/virtual/chromium-os-printing/chromium-os-printing-1.ebuild
@@ -15,13 +15,17 @@
 RDEPEND="
 	chromeos-base/ippusb_bridge
 	chromeos-base/lexmark-fax-pnh
+	chromeos-base/print_tools
 	net-print/cups
 	net-print/cups-filters
 	net-print/dymo-cups-drivers
 	net-print/epson-inkjet-printer-escpr
 	net-print/starcupsdrv
-	internal? ( net-print/konica-minolta-printing-license )
-	internal? ( net-print/xerox-printing-license )
-	internal? ( net-print/fuji-xerox-printing-license )
+	internal? (
+		net-print/fuji-xerox-printing-license
+		net-print/konica-minolta-printing-license
+		net-print/nec-printing-license
+		net-print/xerox-printing-license
+	)
 	postscript? ( net-print/hplip )
 "
diff --git a/dev-rust/serde_repr/OWNERS b/virtual/manatee-apps/OWNERS
similarity index 100%
copy from dev-rust/serde_repr/OWNERS
copy to virtual/manatee-apps/OWNERS
diff --git a/virtual/manatee-apps/manatee-apps-1-r1.ebuild b/virtual/manatee-apps/manatee-apps-1-r1.ebuild
new file mode 120000
index 0000000..f7151b7
--- /dev/null
+++ b/virtual/manatee-apps/manatee-apps-1-r1.ebuild
@@ -0,0 +1 @@
+manatee-apps-1.ebuild
\ No newline at end of file
diff --git a/virtual/manatee-apps/manatee-apps-1.ebuild b/virtual/manatee-apps/manatee-apps-1.ebuild
new file mode 100644
index 0000000..d5bd07d
--- /dev/null
+++ b/virtual/manatee-apps/manatee-apps-1.ebuild
@@ -0,0 +1,13 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+# This ebuild is empty, but is expected to be overridden by other overlays.
+
+EAPI="7"
+
+DESCRIPTION="List of packages that run in the ManaTEE environment."
+
+LICENSE="metapackage"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
diff --git a/virtual/metadata.xml b/virtual/metadata.xml
deleted file mode 100644
index 27e4dd2..0000000
--- a/virtual/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The virtual category contains packages which satisfy virtual dependencies.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría virtual contiene paquetes para satisfacer las
-		dependencias virtuales.
-	</longdescription>
-</catmetadata>
-
diff --git a/virtual/rust-binaries/rust-binaries-1-r3.ebuild b/virtual/rust-binaries/rust-binaries-1-r5.ebuild
similarity index 100%
rename from virtual/rust-binaries/rust-binaries-1-r3.ebuild
rename to virtual/rust-binaries/rust-binaries-1-r5.ebuild
diff --git a/virtual/rust/rust-1.58.1-r1.ebuild b/virtual/rust/rust-1.58.1-r1.ebuild
deleted file mode 120000
index 8a2616e..0000000
--- a/virtual/rust/rust-1.58.1-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-rust-1.58.1.ebuild
\ No newline at end of file
diff --git a/virtual/rust/rust-1.58.1.ebuild b/virtual/rust/rust-1.58.1.ebuild
deleted file mode 100644
index 6f680ad..0000000
--- a/virtual/rust/rust-1.58.1.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-DESCRIPTION="Virtual for the Rust language compiler"
-HOMEPAGE=""
-
-LICENSE="metapackage"
-SLOT="0/${PV}"
-KEYWORDS="*"
-
-DEPEND="
-	~dev-lang/rust-${PV}:=
-"
diff --git a/virtual/rust/rust-1.60.0-r2.ebuild b/virtual/rust/rust-1.60.0-r2.ebuild
new file mode 100644
index 0000000..52b4716
--- /dev/null
+++ b/virtual/rust/rust-1.60.0-r2.ebuild
@@ -0,0 +1,18 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+DESCRIPTION="Virtual for the Rust language compiler"
+HOMEPAGE=""
+
+LICENSE="metapackage"
+SLOT="0/${PV}"
+KEYWORDS="*"
+IUSE="cros_host"
+
+BDEPEND="
+	~dev-lang/rust-host-${PV}:=
+	!cros_host? ( ~dev-lang/rust-${PV}:= )
+"
+RDEPEND="cros_host? ( ~dev-lang/rust-host-${PV}:= )"
diff --git a/virtual/target-chromium-os-dev/target-chromium-os-dev-1-r80.ebuild b/virtual/target-chromium-os-dev/target-chromium-os-dev-1-r80.ebuild
deleted file mode 100644
index e43035f..0000000
--- a/virtual/target-chromium-os-dev/target-chromium-os-dev-1-r80.ebuild
+++ /dev/null
@@ -1,200 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
-# the canonical empty project.
-CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
-CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
-CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
-CROS_WORKON_LOCALNAME="../platform/empty-project"
-
-inherit cros-workon
-
-DESCRIPTION="List of packages that are needed inside the Chromium OS dev image"
-HOMEPAGE="https://dev.chromium.org/"
-
-LICENSE="metapackage"
-SLOT="0"
-KEYWORDS="*"
-# Note: Do not utilize USE=internal here.  Update virtual/target-chrome-os-dev.
-IUSE="
-	chromeless_tty
-	cras
-	diag
-	hps
-	lldbserver
-	nvme
-	opengl
-	pam
-	+power_management
-	+profile
-	python_targets_python2_7
-	+shill
-	tpm
-	tpm2
-	usb
-	vaapi
-	video_cards_amdgpu
-	video_cards_intel
-	video_cards_mediatek
-	video_cards_msm
-	vulkan
-"
-
-# The dependencies here are meant to capture "all the packages
-# developers want to use for development, test, or debug".  This
-# category is meant to include all developer use cases, including
-# software test and debug, performance tuning, hardware validation,
-# and debugging failures running autotest.
-#
-# To protect developer images from changes in other ebuilds you
-# should include any package with a user constituency, regardless of
-# whether that package is included in the base Chromium OS image or
-# any other ebuild.
-#
-# Don't include packages that are indirect dependencies: only
-# include a package if a file *in that package* is expected to be
-# useful.
-
-################################################################################
-#
-# CROS_* : Dependencies for CrOS devices (coreutils, etc.)
-#
-################################################################################
-CROS_X86_RDEPEND="
-	app-benchmarks/i7z
-	power_management? ( dev-util/turbostat )
-	sys-apps/dmidecode
-	sys-apps/pciutils
-	sys-boot/syslinux
-	vaapi? (
-		chromeos-base/libva-fake-driver
-		media-gfx/vadumpcaps
-		media-video/libva-utils
-	)
-"
-
-RDEPEND="
-	x86? ( ${CROS_X86_RDEPEND} )
-	amd64? ( ${CROS_X86_RDEPEND} )
-"
-
-RDEPEND="${RDEPEND}
-	pam? ( app-admin/sudo )
-	app-admin/sysstat
-	app-arch/bzip2
-	app-arch/gzip
-	app-arch/tar
-	app-arch/unzip
-	app-arch/xz-utils
-	app-arch/zip
-	profile? (
-		chromeos-base/quipper
-		app-benchmarks/libc-bench
-		net-analyzer/netperf
-		dev-util/perf
-	)
-	app-benchmarks/stress-ng
-	app-crypt/nss
-	tpm? ( app-crypt/tpm-tools )
-	app-editors/nano
-	app-editors/qemacs
-	app-editors/vim
-	app-misc/edid-decode
-	app-misc/evtest
-	app-misc/pax-utils
-	app-misc/screen
-	app-portage/portage-utils
-	app-shells/bash
-	app-text/tree
-	cras? (
-		chromeos-base/audiotest
-		media-sound/sox
-	)
-	chromeos-base/avtest_label_detect
-	chromeos-base/chromeos-dev-root
-	chromeos-base/cryptohome-dev-utils
-	tpm2? ( chromeos-base/g2f_tools )
-	!chromeless_tty? ( chromeos-base/graphics-utils-go )
-	hps? (
-		chromeos-base/hps-firmware-tools
-		chromeos-base/hps-tool
-	)
-	chromeos-base/policy_utils
-	chromeos-base/protofiles
-	!chromeless_tty? ( chromeos-base/screen-capture-utils www-apps/novnc )
-	shill? ( chromeos-base/shill-test-scripts )
-	python_targets_python2_7? ( chromeos-base/touch_firmware_test )
-	chromeos-base/usi-test
-	dev-vcs/git
-	net-analyzer/tcpdump
-	net-analyzer/traceroute
-	net-dialup/minicom
-	net-dns/bind-tools
-	net-misc/dhcp
-	diag? ( net-misc/diag )
-	net-misc/iperf:2
-	net-misc/iputils
-	net-misc/openssh
-	net-misc/rsync
-	net-wireless/iw
-	net-wireless/wireless-tools
-	python_targets_python2_7? ( dev-lang/python:2.7 )
-	dev-lang/python:3.6
-	dev-libs/libgpiod
-	dev-python/protobuf-python
-	dev-python/cherrypy
-	dev-python/dbus-python
-	dev-python/hid-tools
-	python_targets_python2_7? ( dev-util/hdctools )
-	lldbserver? ( dev-util/lldb-server )
-	dev-util/mem
-	dev-util/strace
-	media-libs/libyuv-test
-	media-libs/openh264
-	vulkan? (
-		dev-util/vulkan-tools
-		media-libs/vulkan-layers
-	)
-	media-tv/v4l-utils
-	media-video/yavta
-	net-dialup/lrzsz
-	net-fs/sshfs
-	net-misc/curl
-	net-misc/wget
-	sys-apps/coreboot-utils
-	sys-apps/coreutils
-	sys-apps/diffutils
-	sys-apps/file
-	sys-apps/findutils
-	sys-apps/flashrom-tester
-	sys-apps/gawk
-	sys-apps/i2c-tools
-	sys-apps/iotools
-	sys-apps/kbd
-	sys-apps/less
-	sys-apps/mmc-utils
-	nvme? ( sys-apps/nvme-cli )
-	sys-apps/portage
-	sys-apps/smartmontools
-	usb? ( sys-apps/usbutils )
-	sys-apps/which
-	sys-block/fio
-	sys-devel/gdb
-	sys-fs/cryptsetup
-	sys-fs/fuse
-	sys-fs/lvm2
-	sys-fs/mtd-utils
-	power_management? ( sys-power/powertop )
-	sys-process/procps
-	sys-process/psmisc
-	sys-process/time
-	virtual/autotest-capability
-	virtual/chromeos-bsp-dev
-	video_cards_amdgpu? ( x11-apps/igt-gpu-tools )
-	video_cards_intel? ( x11-apps/igt-gpu-tools )
-	video_cards_mediatek? ( x11-apps/igt-gpu-tools )
-	video_cards_msm? ( x11-apps/igt-gpu-tools )
-"
diff --git a/virtual/target-chromium-os-dev/target-chromium-os-dev-1-r89.ebuild b/virtual/target-chromium-os-dev/target-chromium-os-dev-1-r89.ebuild
new file mode 100644
index 0000000..beea4c3
--- /dev/null
+++ b/virtual/target-chromium-os-dev/target-chromium-os-dev-1-r89.ebuild
@@ -0,0 +1,212 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
+# the canonical empty project.
+CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
+CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="../platform/empty-project"
+
+inherit cros-workon
+
+DESCRIPTION="List of packages that are needed inside the Chromium OS dev image"
+HOMEPAGE="https://dev.chromium.org/"
+
+LICENSE="metapackage"
+SLOT="0"
+KEYWORDS="*"
+# Note: Do not utilize USE=internal here.  Update virtual/target-chrome-os-dev.
+IUSE="
+	asan
+	chromeless_tty
+	cras
+	diag
+	hps
+	lldbserver
+	nvme
+	opengl
+	pam
+	+power_management
+	+profile
+	python_targets_python3_6 python_targets_python3_8
+	+shill
+	tpm
+	tpm2
+	ubsan
+	ufs
+	usb
+	vaapi
+	video_cards_amdgpu
+	video_cards_intel
+	video_cards_mediatek
+	video_cards_msm
+	vulkan
+"
+
+# The dependencies here are meant to capture "all the packages
+# developers want to use for development, test, or debug".  This
+# category is meant to include all developer use cases, including
+# software test and debug, performance tuning, hardware validation,
+# and debugging failures running autotest.
+#
+# To protect developer images from changes in other ebuilds you
+# should include any package with a user constituency, regardless of
+# whether that package is included in the base Chromium OS image or
+# any other ebuild.
+#
+# Don't include packages that are indirect dependencies: only
+# include a package if a file *in that package* is expected to be
+# useful.
+
+################################################################################
+#
+# CROS_* : Dependencies for CrOS devices (coreutils, etc.)
+#
+################################################################################
+CROS_X86_RDEPEND="
+	app-benchmarks/i7z
+	power_management? ( dev-util/turbostat )
+	sys-apps/dmidecode
+	sys-apps/pciutils
+	sys-boot/syslinux
+	vaapi? (
+		chromeos-base/libva-fake-driver
+		media-gfx/vadumpcaps
+		media-video/libva-utils
+	)
+"
+
+RDEPEND="
+	x86? ( ${CROS_X86_RDEPEND} )
+	amd64? ( ${CROS_X86_RDEPEND} )
+"
+
+RDEPEND="${RDEPEND}
+	pam? ( app-admin/sudo )
+	app-admin/sysstat
+	app-arch/bzip2
+	app-arch/gzip
+	app-arch/tar
+	app-arch/unzip
+	app-arch/xz-utils
+	app-arch/zip
+	profile? (
+		chromeos-base/quipper
+		app-benchmarks/libc-bench
+		net-analyzer/netperf
+		dev-util/perf
+	)
+	app-benchmarks/stress-ng
+	app-crypt/nss
+	tpm? ( app-crypt/tpm-tools )
+	app-editors/nano
+	app-editors/qemacs
+	app-editors/vim
+	app-misc/edid-decode
+	app-misc/evtest
+	app-misc/pax-utils
+	app-misc/screen
+	app-portage/portage-utils
+	app-shells/bash
+	app-text/tree
+	cras? (
+		chromeos-base/audiotest
+		media-sound/sox
+	)
+	chromeos-base/avtest_label_detect
+	chromeos-base/chromeos-dev-root
+	chromeos-base/cryptohome-dev-utils
+	tpm2? ( chromeos-base/g2f_tools )
+	!chromeless_tty? ( chromeos-base/graphics-utils-go )
+	hps? (
+		!asan? (
+			!ubsan? (
+				chromeos-base/hps-firmware-tools
+			)
+		)
+		chromeos-base/hps-tool
+	)
+	chromeos-base/policy_utils
+	chromeos-base/protofiles
+	!chromeless_tty? ( chromeos-base/screen-capture-utils www-apps/novnc )
+	shill? ( chromeos-base/shill-test-scripts )
+	chromeos-base/touch_firmware_test
+	chromeos-base/usi-test
+	dev-vcs/git
+	net-analyzer/tcpdump
+	net-analyzer/traceroute
+	net-dialup/minicom
+	net-dns/bind-tools
+	net-misc/dhcp
+	diag? ( net-misc/diag )
+	net-misc/iperf:2
+	net-misc/iputils
+	net-misc/openssh
+	net-misc/rsync
+	net-wireless/iw
+	net-wireless/wireless-tools
+	python_targets_python3_6? ( dev-lang/python:3.6 )
+	python_targets_python3_8? ( dev-lang/python:3.8 )
+	dev-libs/libgpiod
+	dev-python/protobuf-python
+	dev-python/cherrypy
+	dev-python/dbus-python
+	dev-python/pydbus
+	dev-python/hid-tools
+	dev-util/hdctools
+	lldbserver? ( dev-util/lldb-server )
+	dev-util/mem
+	dev-util/strace
+	media-libs/libyuv-test
+	media-libs/openh264
+	vulkan? (
+		dev-util/vulkan-tools
+		media-libs/vulkan-layers
+	)
+	media-tv/v4l-utils
+	media-video/yavta
+	net-dialup/lrzsz
+	net-fs/sshfs
+	net-misc/curl
+	net-misc/wget
+	sys-apps/coreboot-utils
+	sys-apps/coreutils
+	sys-apps/diffutils
+	sys-apps/file
+	sys-apps/findutils
+	sys-apps/flashrom-tester
+	sys-apps/gawk
+	sys-apps/i2c-tools
+	sys-apps/iotools
+	sys-apps/kbd
+	sys-apps/less
+	sys-apps/mmc-utils
+	nvme? ( sys-apps/nvme-cli )
+	sys-apps/portage
+	sys-apps/smartmontools
+	ufs? (
+		sys-apps/sg3_utils
+		sys-apps/ufs-utils
+	)
+	usb? ( sys-apps/usbutils )
+	sys-apps/which
+	sys-block/fio
+	sys-devel/gdb
+	sys-fs/cryptsetup
+	sys-fs/fuse
+	sys-fs/lvm2
+	sys-fs/mtd-utils
+	power_management? ( sys-power/powertop )
+	sys-process/procps
+	sys-process/psmisc
+	sys-process/time
+	virtual/autotest-capability
+	virtual/chromeos-bsp-dev
+	video_cards_amdgpu? ( x11-apps/igt-gpu-tools )
+	video_cards_intel? ( x11-apps/igt-gpu-tools )
+	video_cards_mediatek? ( x11-apps/igt-gpu-tools )
+	video_cards_msm? ( x11-apps/igt-gpu-tools )
+"
diff --git a/virtual/target-chromium-os-dev/target-chromium-os-dev-9999.ebuild b/virtual/target-chromium-os-dev/target-chromium-os-dev-9999.ebuild
index be623d1..062b4c6 100644
--- a/virtual/target-chromium-os-dev/target-chromium-os-dev-9999.ebuild
+++ b/virtual/target-chromium-os-dev/target-chromium-os-dev-9999.ebuild
@@ -18,6 +18,7 @@
 KEYWORDS="~*"
 # Note: Do not utilize USE=internal here.  Update virtual/target-chrome-os-dev.
 IUSE="
+	asan
 	chromeless_tty
 	cras
 	diag
@@ -28,10 +29,12 @@
 	pam
 	+power_management
 	+profile
-	python_targets_python2_7
+	python_targets_python3_6 python_targets_python3_8
 	+shill
 	tpm
 	tpm2
+	ubsan
+	ufs
 	usb
 	vaapi
 	video_cards_amdgpu
@@ -117,14 +120,18 @@
 	tpm2? ( chromeos-base/g2f_tools )
 	!chromeless_tty? ( chromeos-base/graphics-utils-go )
 	hps? (
-		chromeos-base/hps-firmware-tools
+		!asan? (
+			!ubsan? (
+				chromeos-base/hps-firmware-tools
+			)
+		)
 		chromeos-base/hps-tool
 	)
 	chromeos-base/policy_utils
 	chromeos-base/protofiles
 	!chromeless_tty? ( chromeos-base/screen-capture-utils www-apps/novnc )
 	shill? ( chromeos-base/shill-test-scripts )
-	python_targets_python2_7? ( chromeos-base/touch_firmware_test )
+	chromeos-base/touch_firmware_test
 	chromeos-base/usi-test
 	dev-vcs/git
 	net-analyzer/tcpdump
@@ -139,14 +146,15 @@
 	net-misc/rsync
 	net-wireless/iw
 	net-wireless/wireless-tools
-	python_targets_python2_7? ( dev-lang/python:2.7 )
-	dev-lang/python:3.6
+	python_targets_python3_6? ( dev-lang/python:3.6 )
+	python_targets_python3_8? ( dev-lang/python:3.8 )
 	dev-libs/libgpiod
 	dev-python/protobuf-python
 	dev-python/cherrypy
 	dev-python/dbus-python
+	dev-python/pydbus
 	dev-python/hid-tools
-	python_targets_python2_7? ( dev-util/hdctools )
+	dev-util/hdctools
 	lldbserver? ( dev-util/lldb-server )
 	dev-util/mem
 	dev-util/strace
@@ -177,6 +185,10 @@
 	nvme? ( sys-apps/nvme-cli )
 	sys-apps/portage
 	sys-apps/smartmontools
+	ufs? (
+		sys-apps/sg3_utils
+		sys-apps/ufs-utils
+	)
 	usb? ( sys-apps/usbutils )
 	sys-apps/which
 	sys-block/fio
diff --git a/virtual/target-chromium-os-sdk-nobdeps/OWNERS b/virtual/target-chromium-os-sdk-nobdeps/OWNERS
new file mode 100644
index 0000000..d39c14f
--- /dev/null
+++ b/virtual/target-chromium-os-sdk-nobdeps/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/infra/OWNERS.build
diff --git a/virtual/target-chromium-os-sdk-nobdeps/target-chromium-os-sdk-nobdeps-1-r6.ebuild b/virtual/target-chromium-os-sdk-nobdeps/target-chromium-os-sdk-nobdeps-1-r7.ebuild
similarity index 100%
rename from virtual/target-chromium-os-sdk-nobdeps/target-chromium-os-sdk-nobdeps-1-r6.ebuild
rename to virtual/target-chromium-os-sdk-nobdeps/target-chromium-os-sdk-nobdeps-1-r7.ebuild
diff --git a/virtual/target-chromium-os-sdk-nobdeps/target-chromium-os-sdk-nobdeps-1.ebuild b/virtual/target-chromium-os-sdk-nobdeps/target-chromium-os-sdk-nobdeps-1.ebuild
index ab88d48..5459d92 100644
--- a/virtual/target-chromium-os-sdk-nobdeps/target-chromium-os-sdk-nobdeps-1.ebuild
+++ b/virtual/target-chromium-os-sdk-nobdeps/target-chromium-os-sdk-nobdeps-1.ebuild
@@ -20,5 +20,4 @@
 RDEPEND="
 	dev-util/shellcheck
 	dev-python/pypy3
-	dev-python/pypy3-exe
 "
diff --git a/virtual/target-chromium-os-sdk-post-cross/OWNERS b/virtual/target-chromium-os-sdk-post-cross/OWNERS
new file mode 100644
index 0000000..d39c14f
--- /dev/null
+++ b/virtual/target-chromium-os-sdk-post-cross/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/infra/OWNERS.build
diff --git a/virtual/target-chromium-os-sdk-post-cross/target-chromium-os-sdk-post-cross-1-r12.ebuild b/virtual/target-chromium-os-sdk-post-cross/target-chromium-os-sdk-post-cross-1-r12.ebuild
deleted file mode 100644
index 4d082ce..0000000
--- a/virtual/target-chromium-os-sdk-post-cross/target-chromium-os-sdk-post-cross-1-r12.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
-CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
-CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
-CROS_WORKON_LOCALNAME="../platform/empty-project"
-
-inherit cros-workon
-
-DESCRIPTION="List of packages that are needed inside the SDK, but after we've
-built all the toolchain packages that we install separately via binpkgs.  This
-avoids circular dependencies when bootstrapping."
-HOMEPAGE="http://dev.chromium.org/"
-
-LICENSE="metapackage"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-# The vast majority of packages should not be listed here!  You most likely
-# want to update virtual/target-chromium-os-sdk instead.  Only list packages
-# here that need the cross-compiler toolchains installed first.
-RDEPEND="
-	dev-lang/rust
-	dev-rust/bindgen
-	dev-rust/dbus-codegen
-	dev-rust/protobuf-codegen
-	dev-util/cxxbridge-cmd
-	sys-apps/ripgrep
-	dev-embedded/coreboot-sdk
-	dev-embedded/ti50-sdk
-	chromeos-base/sirenia-tools
-"
-
-# Needed for hps-firmware.
-#
-# sci-electronics/nextpnr depends on sci-electronics/prjoxide which pulls in
-# dev-rust packages.
-RDEPEND="${RDEPEND}
-	dev-embedded/hps-sdk
-	dev-rust/svd2rust
-	sci-electronics/nextpnr
-"
diff --git a/virtual/target-chromium-os-sdk-post-cross/target-chromium-os-sdk-post-cross-1-r14.ebuild b/virtual/target-chromium-os-sdk-post-cross/target-chromium-os-sdk-post-cross-1-r14.ebuild
new file mode 100644
index 0000000..2723b96
--- /dev/null
+++ b/virtual/target-chromium-os-sdk-post-cross/target-chromium-os-sdk-post-cross-1-r14.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
+CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="../platform/empty-project"
+
+inherit cros-workon
+
+DESCRIPTION="List of packages that are needed inside the SDK, but after we've
+built all the toolchain packages that we install separately via binpkgs.  This
+avoids circular dependencies when bootstrapping."
+HOMEPAGE="http://dev.chromium.org/"
+
+LICENSE="metapackage"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+# The vast majority of packages should not be listed here!  You most likely
+# want to update virtual/target-chromium-os-sdk instead.  Only list packages
+# here that need the cross-compiler toolchains installed first.
+RDEPEND="
+	dev-lang/rust
+	dev-embedded/coreboot-sdk
+	dev-embedded/ti50-sdk
+"
+
+# Needed for hps-firmware.
+RDEPEND="${RDEPEND}
+	dev-embedded/hps-sdk
+"
diff --git a/virtual/target-chromium-os-sdk-post-cross/target-chromium-os-sdk-post-cross-9999.ebuild b/virtual/target-chromium-os-sdk-post-cross/target-chromium-os-sdk-post-cross-9999.ebuild
index a6cb9c3..11204f4 100644
--- a/virtual/target-chromium-os-sdk-post-cross/target-chromium-os-sdk-post-cross-9999.ebuild
+++ b/virtual/target-chromium-os-sdk-post-cross/target-chromium-os-sdk-post-cross-9999.ebuild
@@ -23,22 +23,11 @@
 # here that need the cross-compiler toolchains installed first.
 RDEPEND="
 	dev-lang/rust
-	dev-rust/bindgen
-	dev-rust/dbus-codegen
-	dev-rust/protobuf-codegen
-	dev-util/cxxbridge-cmd
-	sys-apps/ripgrep
 	dev-embedded/coreboot-sdk
 	dev-embedded/ti50-sdk
-	chromeos-base/sirenia-tools
 "
 
 # Needed for hps-firmware.
-#
-# sci-electronics/nextpnr depends on sci-electronics/prjoxide which pulls in
-# dev-rust packages.
 RDEPEND="${RDEPEND}
 	dev-embedded/hps-sdk
-	dev-rust/svd2rust
-	sci-electronics/nextpnr
 "
diff --git a/virtual/target-chromium-os-sdk/OWNERS b/virtual/target-chromium-os-sdk/OWNERS
new file mode 100644
index 0000000..d39c14f
--- /dev/null
+++ b/virtual/target-chromium-os-sdk/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/infra/OWNERS.build
diff --git a/virtual/target-chromium-os-sdk/target-chromium-os-sdk-1-r219.ebuild b/virtual/target-chromium-os-sdk/target-chromium-os-sdk-1-r219.ebuild
deleted file mode 100644
index f84bdb14..0000000
--- a/virtual/target-chromium-os-sdk/target-chromium-os-sdk-1-r219.ebuild
+++ /dev/null
@@ -1,565 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
-# the canonical empty project.
-CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
-CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
-CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
-CROS_WORKON_LOCALNAME="../platform/empty-project"
-
-inherit cros-workon
-
-DESCRIPTION="List of packages that are needed inside the Chromium OS SDK"
-HOMEPAGE="https://dev.chromium.org/"
-
-LICENSE="metapackage"
-SLOT="0"
-KEYWORDS="*"
-# Note: Do not utilize USE=internal here.  Update virtual/target-chrome-os-sdk.
-IUSE=""
-
-# Block the old package to force people to clean up.
-RDEPEND="
-	!chromeos-base/hard-host-depends
-	!virtual/hard-host-depends-bsp
-"
-
-# Basic utilities
-RDEPEND="${RDEPEND}
-	app-arch/bzip2
-	app-arch/cpio
-	app-arch/gcab
-	app-arch/gzip
-	app-arch/p7zip
-	app-arch/tar
-	app-shells/bash
-	net-misc/iputils
-	net-misc/rsync
-	sys-apps/baselayout
-	sys-apps/coreutils
-	sys-apps/diffutils
-	sys-apps/dtc
-	sys-apps/file
-	sys-apps/findutils
-	sys-apps/gawk
-	sys-apps/grep
-	sys-apps/sed
-	sys-apps/shadow
-	sys-apps/texinfo
-	sys-apps/util-linux
-	sys-apps/which
-	sys-devel/autoconf
-	sys-devel/autoconf-archive
-	sys-devel/automake:1.10
-	sys-devel/automake:1.11
-	sys-devel/automake:1.15
-	sys-devel/binutils
-	sys-devel/bison
-	sys-devel/flex
-	sys-devel/gcc
-	sys-devel/gnuconfig
-	sys-devel/grit-i18n
-	sys-devel/libtool
-	sys-devel/m4
-	sys-devel/make
-	sys-devel/patch
-	sys-fs/e2fsprogs
-	sys-fs/f2fs-tools
-	sys-libs/ncurses
-	sys-libs/readline
-	sys-libs/zlib
-	sys-process/procps
-	sys-process/psmisc
-	virtual/editor
-	virtual/libc
-	virtual/man
-	virtual/os-headers
-	virtual/package-manager
-	virtual/pager
-	"
-
-# Needed to run setup crossdev, run build scripts, and make a bootable image.
-RDEPEND="${RDEPEND}
-	app-arch/lbzip2
-	app-arch/lz4
-	app-arch/lzop
-	app-arch/pigz
-	app-arch/pixz
-	app-admin/sudo
-	app-crypt/efitools
-	app-crypt/sbsigntools
-	chromeos-base/zephyr-build-tools
-	dev-embedded/binman
-	dev-embedded/cbootimage
-	dev-embedded/tegrarcm
-	dev-embedded/u-boot-tools
-	dev-util/ccache
-	media-gfx/pngcrush
-	>=sys-apps/dtc-1.3.0-r5
-	sys-boot/bootstub
-	sys-boot/grub
-	sys-boot/syslinux
-	sys-devel/crossdev
-	sys-fs/dosfstools
-	sys-fs/squashfs-tools
-	sys-fs/mtd-utils
-	"
-
-# Needed to build Android/ARC userland code.
-RDEPEND="${RDEPEND}
-	app-misc/jq
-	sys-devel/aapt
-	sys-devel/arc-toolchain-master
-	sys-devel/arc-toolchain-p
-	sys-devel/arc-toolchain-r
-	sys-devel/dex2oatds
-	"
-
-# Needed to run 'repo selfupdate'
-RDEPEND="${RDEPEND}
-	app-crypt/gnupg
-	"
-
-# Host dependencies for building cross-compiled packages.
-RDEPEND="${RDEPEND}
-	app-admin/eselect-opengl
-	app-admin/eselect-mesa
-	app-arch/cabextract
-	app-arch/makeself
-	>=app-arch/pbzip2-1.1.1-r1
-	app-arch/rpm2targz
-	app-arch/sharutils
-	app-arch/unzip
-	app-crypt/nss
-	app-doc/xmltoman
-	app-emulation/qemu
-	app-emulation/qemu-binfmt-wrapper
-	!app-emulation/qemu-kvm
-	!app-emulation/qemu-user
-	app-text/asciidoc
-	app-text/docbook-xml-dtd:4.2
-	app-text/docbook-xml-dtd:4.5
-	app-text/docbook-xsl-stylesheets
-	app-text/texi2html
-	app-text/xmlto
-	chromeos-base/google-breakpad
-	chromeos-base/chromeos-base
-	chromeos-base/chromeos-common-script
-	>=chromeos-base/chromeos-config-host-0.0.2-r491
-	chromeos-base/chromite-sdk
-	chromeos-base/cros-devutils[cros_host]
-	chromeos-base/cros-testutils
-	chromeos-base/ec-devutils
-	chromeos-base/minijail
-	chromeos-base/mojo-tools
-	dev-db/m17n-contrib
-	dev-db/m17n-db
-	dev-go/protobuf
-	dev-lang/closure-compiler-bin
-	dev-lang/nasm
-	dev-lang/python:2.7
-	dev-lang/python:3.6
-	dev-lang/swig
-	dev-lang/tcl
-	dev-lang/yasm
-	dev-libs/dbus-glib
-	dev-libs/flatbuffers
-	>=dev-libs/glib-2.26.1
-	net-libs/grpc
-	dev-libs/libgcrypt
-	dev-libs/libxslt
-	dev-libs/libyaml
-	dev-libs/m17n-lib
-	dev-libs/protobuf
-	dev-libs/protobuf-c
-	dev-libs/wayland
-	dev-python/cffi
-	dev-python/cherrypy
-	dev-python/dbus-python
-	dev-python/dpkt
-	dev-python/ecdsa
-	dev-python/flatbuffers
-	dev-python/future
-	dev-python/intelhex
-	dev-python/kconfiglib
-	dev-python/m2crypto
-	dev-python/mako
-	dev-python/netifaces
-	dev-python/pexpect
-	dev-python/pillow
-	dev-python/psutil
-	dev-python/py
-	dev-python/pycairo
-	dev-python/pycparser
-	dev-python/pygobject
-	dev-python/pyopenssl
-	dev-python/pytest
-	dev-python/python-evdev
-	dev-python/python-magic
-	dev-python/pyudev
-	dev-python/pyusb
-	dev-python/setproctitle
-	!dev-python/socksipy
-	dev-python/tempita
-	dev-python/ws4py
-	dev-util/cmake
-	dev-util/cmocka
-	dev-util/dwarves
-	dev-util/gob
-	dev-util/gdbus-codegen
-	dev-util/gperf
-	dev-util/gtk-doc
-	dev-util/hdctools
-	>=dev-util/gtk-doc-am-1.13
-	>=dev-util/intltool-0.30
-	dev-util/scons
-	dev-util/test-services
-	dev-util/vulkan-headers
-	>=dev-vcs/git-1.7.2
-	>=media-libs/freetype-2.2.1
-	>=media-libs/lcms-2.6:2
-	net-fs/sshfs
-	net-libs/rpcsvc-proto
-	net-misc/gsutil
-	sys-apps/usbutils
-	!sys-apps/nih-dbus-tool
-	sys-devel/autofdo
-	sys-devel/bc
-	>=sys-libs/glibc-2.27
-	sys-libs/libcxxabi
-	sys-libs/libcxx
-	sys-libs/llvm-libunwind
-	virtual/udev
-	sys-libs/libnih
-	sys-power/iasl
-	virtual/modutils
-	x11-apps/mkfontscale
-	x11-apps/xcursorgen
-	x11-apps/xkbcomp
-	>=x11-misc/util-macros-1.2
-	"
-
-# Multiple versions of Bazel are provided for long-term compatibility.
-# Slot 0 corresponds to the version packaged by upstream Gentoo, while
-# other slots correspond to LTS releases packaged by us.
-RDEPEND="${RDEPEND}
-	dev-util/bazel:0
-	dev-util/bazel:5
-	"
-
-# Various fonts are needed in order to generate messages for the
-# chromeos-initramfs package.
-RDEPEND="${RDEPEND}
-	chromeos-base/chromeos-fonts
-	"
-
-# Host dependencies for bitmap block (chromeos-bmpblk) to to render messages.
-RDEPEND="${RDEPEND}
-	gnome-base/librsvg
-	"
-
-# Host dependencies for building chromium.
-# Intermediate executables built for the host, then run to generate data baked
-# into chromium, need these packages to be present in the host environment in
-# order to successfully build.
-# See: http://codereview.chromium.org/7550002/
-RDEPEND="${RDEPEND}
-	dev-libs/atk
-	dev-libs/glib
-	media-libs/fontconfig
-	media-libs/freetype
-	x11-libs/cairo
-	x11-libs/libX11
-	x11-libs/libXi
-	x11-libs/libXrandr
-	x11-libs/libXtst
-	x11-libs/pango
-	"
-
-# Host dependencies that create usernames/groups we need to pull over to target.
-RDEPEND="${RDEPEND}
-	sys-apps/dbus
-	"
-
-# Host dependencies that are needed by mod_image_for_test.
-RDEPEND="${RDEPEND}
-	sys-process/lsof
-	"
-
-# Useful utilities for developers.
-RDEPEND="${RDEPEND}
-	app-arch/zip
-	app-editors/nano
-	app-editors/qemacs
-	app-editors/vim
-	app-portage/eclass-manpages
-	app-portage/gentoolkit
-	app-portage/portage-utils
-	app-shells/bash-completion
-	x86?   ( dev-go/delve )
-	amd64? ( dev-go/delve )
-	arm64? ( dev-go/delve )
-	dev-go/go-tools
-	dev-go/golint
-	dev-lang/go
-	dev-python/ipython
-	dev-util/codespell
-	dev-util/patchutils
-	dev-util/perf
-	dev-util/shfmt
-	net-analyzer/netperf
-	sys-apps/less
-	sys-apps/man-pages
-	sys-apps/pv
-	sys-devel/smatch
-	"
-
-# Host dependencies used by chromite on build servers
-RDEPEND="${RDEPEND}
-	dev-python/google-cloud-logging
-	dev-python/mysqlclient
-	dev-python/pyparsing
-	dev-python/virtualenv
-	"
-
-# Host dependencies that are needed for unit tests
-RDEPEND="${RDEPEND}
-	x11-misc/xkeyboard-config
-	"
-
-# Host dependencies that are needed to build the autotest server components.
-RDEPEND="${RDEPEND}
-	dev-util/google-web-toolkit
-	"
-
-# Host dependencies that are needed for autotests.
-RDEPEND="${RDEPEND}
-	dev-python/btsocket
-	dev-python/selenium
-	sys-apps/iproute2
-	sys-apps/net-tools
-	"
-
-# Host dependencies that are needed for media applications (ex, mplayer) used in
-# factory.
-RDEPEND="${RDEPEND}
-	media-video/ffmpeg
-	"
-
-# Host dependencies that are needed to create and sign images
-RDEPEND="${RDEPEND}
-	>=chromeos-base/vboot_reference-1.0-r174
-	chromeos-base/verity
-	!dev-python/ahocorasick
-	dev-python/pyahocorasick
-	sys-fs/libfat
-	"
-
-# Host dependencies that are needed for cros_generate_update_payload.
-RDEPEND="${RDEPEND}
-	chromeos-base/update_engine
-	sys-fs/e2tools
-	"
-
-# Host dependencies to run unit tests within the chroot
-RDEPEND="${RDEPEND}
-	dev-cpp/gflags
-	dev-go/mock
-	dev-python/mock
-	dev-python/unittest2
-	"
-# Host dependencies to run autotest's unit tests within the chroot.
-RDEPEND="${RDEPEND}
-	dev-python/httplib2
-	dev-python/pyshark
-	dev-python/python-dateutil
-	dev-python/six
-	"
-
-# Host dependencies for running pylint within the chroot
-RDEPEND="${RDEPEND}
-	dev-python/pylint
-	"
-
-# Host dependencies to scp binaries from the binary component server
-RDEPEND="${RDEPEND}
-	net-misc/openssh
-	net-misc/socat
-	net-misc/wget
-	"
-
-# Host dependencies for HWID processing
-RDEPEND="${RDEPEND}
-	dev-python/pyyaml
-	"
-
-# Tools for working with compiler generated profile information
-# (such as coverage analysis in common.mk)
-RDEPEND="${RDEPEND}
-	dev-util/lcov
-	"
-
-# Host dependencies for building Platform2
-RDEPEND="${RDEPEND}
-	chromeos-base/chromeos-dbus-bindings
-	dev-util/meson
-	dev-util/ninja
-	"
-
-# Host dependencies for converting sparse into raw images (simg2img).
-RDEPEND="${RDEPEND}
-	brillo-base/libsparse
-	"
-
-# Host dependencies for building Chromium code (libmojo)
-RDEPEND="${RDEPEND}
-	dev-python/ply
-	dev-util/gn
-	"
-
-# Uninstall these packages.
-RDEPEND="${RDEPEND}
-	!net-misc/dhcpcd
-	"
-
-# Host dependencies for building/testing factory software
-RDEPEND="${RDEPEND}
-	dev-libs/closure-library
-	dev-libs/closure_linter
-	dev-python/autopep8
-	dev-python/django
-	dev-python/jsonrpclib
-	dev-python/jsonschema
-	dev-python/python-gnupg
-	dev-python/requests
-	dev-python/sphinx
-	dev-python/twisted
-	!dev-python/twisted-core
-	!dev-python/twisted-web
-	www-servers/nginx
-	"
-
-# Host dependencies for running integration tests
-RDEPEND="${RDEPEND}
-	chromeos-base/tast-cmd
-	chromeos-base/tast-remote-tests-cros
-	"
-
-# Host dependencies for building harfbuzz
-RDEPEND="${RDEPEND}
-	dev-util/ragel
-	"
-
-# Host dependencies for building chromeos-bootimage
-RDEPEND="${RDEPEND}
-	sys-apps/coreboot-utils
-	"
-
-# Host dependencies for building chromeos-firmware-*
-RDEPEND="${RDEPEND}
-	chromeos-base/ec-utils
-	"
-
-# Host dependencies for the chromeos-ec workflow
-RDEPEND="${RDEPEND}
-	dev-libs/libprotobuf-mutator
-	dev-libs/openssl
-	dev-util/unifdef
-	"
-
-# Host dependencies for the AP/EC/GSC firmware release testing workflow
-RDEPEND="${RDEPEND}
-	sys-firmware/fw-engprod-tools
-	"
-
-# Host dependencies for audio topology generation
-RDEPEND="${RDEPEND}
-	media-sound/alsa-utils"
-
-# Host dependency for dev-libs/boost package
-RDEPEND="${RDEPEND}
-	dev-util/boost-build"
-
-# Host dependency for managing SELinux
-RDEPEND="${RDEPEND}
-	chromeos-base/sepolicy-analyze
-	sys-apps/checkpolicy
-	sys-apps/restorecon
-	sys-apps/secilc
-	sys-apps/selinux-python"
-
-# Host dependencies that are needed for chromite/bin/cros_generate_android_breakpad_symbols
-RDEPEND="${RDEPEND}
-	chromeos-base/android-relocation-packer"
-
-# Host dependencies for generating and testing update payloads
-RDEPEND="${RDEPEND}
-	chromeos-base/update_payload"
-
-# Needed to compile moblab mobmonitor ui
-RDEPEND="${RDEPEND}
-	net-libs/nodejs"
-
-# Needed to compile img-ddk
-RDEPEND="${RDEPEND}
-	dev-python/clang-python"
-
-# Moblab's new RPC server backend will use grpc
-RDEPEND="${RDEPEND}
-	dev-python/grpcio-tools
-	net-libs/grpc-web"
-
-# Autotest's new RPC server will use grpc
-RDEPEND="${RDEPEND}
-	dev-python/grpcio"
-
-# Needed for unit tests of tast-local-tests-cros
-RDEPEND="${RDEPEND}
-	dev-util/strace"
-
-# Host dependencies for termina_build_image
-RDEPEND="${RDEPEND}
-	app-misc/fdupes"
-
-# Host dependencies that lets us boost to performance governor
-# to speed up builds.  https://crbug.com/1008932
-RDEPEND="${RDEPEND}
-	sys-power/cpupower"
-
-# Base layout for java that installs cacerts
-RDEPEND="${RDEPEND}
-	sys-apps/baselayout-java"
-
-# CTS P depends on Java 8 or 9, CTS R depends on Java 9 or later.
-# Include android-sdk to contain both JDK8 and JDK11 in the chroot.
-RDEPEND="${RDEPEND}
-	chromeos-base/android-sdk"
-
-# Needed to optimise Android APKs shipped in demo_mode_resources.
-RDEPEND="${RDEPEND}
-	sys-devel/zipalign"
-
-# Needed to build IPA interface in libcamera.
-RDEPEND="${RDEPEND}
-	dev-python/jinja"
-
-# Needed for packages that need older 4.9.2 GCC.
-RDEPEND="${RDEPEND}
-	sys-devel/gcc-bin"
-
-# Needed to build crosvm without ebuild in chroot.
-RDEPEND="${RDEPEND}
-	dev-libs/wayland-protocols"
-
-# Needed for hps-firmware.
-RDEPEND="${RDEPEND}
-	sci-electronics/litescope
-	sci-electronics/liteeth
-	sci-electronics/litespi
-	sci-electronics/litedram
-	sci-electronics/nmigen
-	sci-electronics/pythondata-misc-tapcfg
-	sci-electronics/verilator"
diff --git a/virtual/target-chromium-os-sdk/target-chromium-os-sdk-1-r254.ebuild b/virtual/target-chromium-os-sdk/target-chromium-os-sdk-1-r254.ebuild
new file mode 100644
index 0000000..71ad20d
--- /dev/null
+++ b/virtual/target-chromium-os-sdk/target-chromium-os-sdk-1-r254.ebuild
@@ -0,0 +1,614 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
+# the canonical empty project.
+CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
+CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="../platform/empty-project"
+
+inherit cros-workon
+
+DESCRIPTION="List of packages that are needed inside the Chromium OS SDK"
+HOMEPAGE="https://dev.chromium.org/"
+
+LICENSE="metapackage"
+SLOT="0"
+KEYWORDS="*"
+# Note: Do not utilize USE=internal here.  Update virtual/target-chrome-os-sdk.
+IUSE="python_targets_python3_6 python_targets_python3_8"
+
+# Block the old package to force people to clean up.
+RDEPEND="
+	!chromeos-base/hard-host-depends
+	!virtual/hard-host-depends-bsp
+"
+
+# Basic utilities
+RDEPEND="${RDEPEND}
+	app-arch/bzip2
+	app-arch/cpio
+	app-arch/gcab
+	app-arch/gzip
+	app-arch/p7zip
+	app-arch/tar
+	app-shells/bash
+	dev-lang/rust-bootstrap
+	dev-lang/rust-host
+	net-misc/iputils
+	net-misc/rsync
+	sys-apps/baselayout
+	sys-apps/coreutils
+	sys-apps/diffutils
+	sys-apps/dtc
+	sys-apps/file
+	sys-apps/findutils
+	sys-apps/gawk
+	sys-apps/grep
+	sys-apps/ripgrep
+	sys-apps/sed
+	sys-apps/shadow
+	sys-apps/texinfo
+	sys-apps/util-linux
+	sys-apps/which
+	sys-devel/autoconf
+	sys-devel/autoconf-archive
+	sys-devel/automake:1.11
+	sys-devel/automake:1.15
+	sys-devel/binutils
+	sys-devel/bison
+	sys-devel/flex
+	sys-devel/gcc
+	sys-devel/gdb
+	sys-devel/gnuconfig
+	sys-devel/grit-i18n
+	sys-devel/libtool
+	sys-devel/m4
+	sys-devel/make
+	sys-devel/patch
+	sys-fs/e2fsprogs
+	sys-fs/f2fs-tools
+	sys-libs/ncurses
+	sys-libs/readline
+	sys-libs/zlib
+	sys-process/procps
+	sys-process/psmisc
+	sys-process/time
+	virtual/editor
+	virtual/libc
+	virtual/man
+	virtual/os-headers
+	virtual/package-manager
+	virtual/pager
+	virtual/rust
+	"
+
+# Needed to run setup crossdev, run build scripts, and make a bootable image.
+RDEPEND="${RDEPEND}
+	app-arch/lbzip2
+	app-arch/lz4
+	app-arch/lzop
+	app-arch/pigz
+	app-arch/pixz
+	app-admin/sudo
+	app-crypt/efitools
+	app-crypt/sbsigntools
+	chromeos-base/zephyr-build-tools
+	dev-embedded/binman
+	dev-embedded/cbootimage
+	dev-embedded/tegrarcm
+	dev-embedded/u-boot-tools
+	dev-util/ccache
+	media-gfx/pngcrush
+	>=sys-apps/dtc-1.3.0-r5
+	sys-boot/bootstub
+	sys-boot/grub
+	sys-boot/syslinux
+	sys-devel/crossdev
+	sys-fs/dosfstools
+	sys-fs/squashfs-tools
+	sys-fs/mtd-utils
+	"
+
+# Needed to build Android/ARC userland code.
+RDEPEND="${RDEPEND}
+	app-misc/jq
+	chromeos-base/mk-payload
+	sys-devel/aapt
+	sys-devel/arc-toolchain-master
+	sys-devel/arc-toolchain-p
+	sys-devel/arc-toolchain-r
+	sys-devel/dex2oatds
+	"
+
+# Needed to run 'repo selfupdate'
+RDEPEND="${RDEPEND}
+	app-crypt/gnupg
+	"
+
+# Host dependencies for building cross-compiled packages.
+RDEPEND="${RDEPEND}
+	app-admin/eselect-opengl
+	app-admin/eselect-mesa
+	app-arch/cabextract
+	app-arch/makeself
+	app-arch/rpm2targz
+	app-arch/sharutils
+	app-arch/unzip
+	app-crypt/nss
+	app-doc/xmltoman
+	app-emulation/qemu
+	app-emulation/qemu-binfmt-wrapper
+	!app-emulation/qemu-kvm
+	!app-emulation/qemu-user
+	app-text/asciidoc
+	app-text/docbook-xml-dtd:4.2
+	app-text/docbook-xml-dtd:4.5
+	app-text/docbook-xsl-stylesheets
+	app-text/texi2html
+	app-text/xmlto
+	chromeos-base/google-breakpad
+	chromeos-base/chromeos-base
+	chromeos-base/chromeos-common-script
+	>=chromeos-base/chromeos-config-host-0.0.2-r491
+	chromeos-base/chromite-sdk
+	chromeos-base/cros-devutils[cros_host]
+	chromeos-base/cros-testutils
+	chromeos-base/ec-devutils
+	chromeos-base/minijail
+	chromeos-base/mojo-tools
+	dev-db/m17n-db
+	dev-go/protobuf
+	dev-go/protobuf-legacy-api
+	dev-lang/closure-compiler-bin
+	dev-lang/nasm
+	python_targets_python3_6? ( dev-lang/python:3.6 )
+	python_targets_python3_8? ( dev-lang/python:3.8 )
+	dev-lang/swig
+	dev-lang/tcl
+	dev-lang/yasm
+	dev-libs/dbus-glib
+	dev-libs/flatbuffers
+	>=dev-libs/glib-2.26.1
+	net-libs/grpc
+	dev-libs/libgcrypt
+	dev-libs/libxslt
+	dev-libs/libyaml
+	dev-libs/m17n-lib
+	dev-libs/protobuf
+	dev-libs/protobuf-c
+	dev-libs/wayland
+	dev-python/cffi
+	dev-python/cherrypy
+	dev-python/dbus-python
+	dev-python/dpkt
+	dev-python/ecdsa
+	dev-python/flatbuffers
+	dev-python/future
+	dev-python/intelhex
+	dev-python/kconfiglib
+	dev-python/m2crypto
+	dev-python/mako
+	dev-python/netifaces
+	dev-python/pexpect
+	dev-python/pillow
+	dev-python/psutil
+	dev-python/py
+	dev-python/pycairo
+	dev-python/pycparser
+	dev-python/pydbus
+	dev-python/pygobject
+	dev-python/pyopenssl
+	dev-python/pytest
+	dev-python/python-evdev
+	dev-python/python-magic
+	dev-python/pyudev
+	dev-python/pyusb
+	dev-python/setproctitle
+	!dev-python/socksipy
+	dev-python/tempita
+	dev-python/ws4py
+	dev-util/cmake
+	dev-util/cmocka
+	dev-util/dwarves
+	dev-util/gob
+	dev-util/gdbus-codegen
+	dev-util/gperf
+	dev-util/gtk-doc
+	dev-util/hdctools
+	>=dev-util/gtk-doc-am-1.13
+	>=dev-util/intltool-0.30
+	dev-util/scons
+	dev-util/test-services
+	dev-util/vulkan-headers
+	>=dev-vcs/git-1.7.2
+	>=media-libs/freetype-2.2.1
+	>=media-libs/lcms-2.6:2
+	net-fs/sshfs
+	net-libs/rpcsvc-proto
+	net-misc/gsutil
+	sys-apps/usbutils
+	!sys-apps/nih-dbus-tool
+	sys-devel/autofdo
+	sys-devel/bc
+	sys-devel/llvm
+	>=sys-libs/glibc-2.27
+	sys-libs/libcxxabi
+	sys-libs/libcxx
+	sys-libs/llvm-libunwind
+	virtual/udev
+	sys-libs/libnih
+	sys-power/iasl
+	sys-apps/kmod[tools]
+	x11-apps/mkfontscale
+	x11-apps/xkbcomp
+	>=x11-misc/util-macros-1.2
+	"
+
+# TODO(toolchain): Remove this libxcrypt dep after all packages directly depend
+# on it and it is not installed as a system library anymore
+RDEPEND="${RDEPEND}
+	sys-libs/libxcrypt
+	"
+
+# Multiple versions of Bazel are provided for long-term compatibility.
+# Slot 0 corresponds to the version packaged by upstream Gentoo, while
+# other slots correspond to LTS releases packaged by us.
+RDEPEND="${RDEPEND}
+	dev-util/bazel:0
+	dev-util/bazel:5
+	"
+
+# Various fonts are needed in order to generate messages for the
+# chromeos-initramfs package.
+RDEPEND="${RDEPEND}
+	chromeos-base/chromeos-fonts
+	"
+
+# Host dependencies for bitmap block (chromeos-bmpblk) to to render messages.
+RDEPEND="${RDEPEND}
+	gnome-base/librsvg
+	"
+
+# Host dependencies for building chromium.
+# Intermediate executables built for the host, then run to generate data baked
+# into chromium, need these packages to be present in the host environment in
+# order to successfully build.
+# See: http://codereview.chromium.org/7550002/
+RDEPEND="${RDEPEND}
+	dev-libs/atk
+	dev-libs/glib
+	media-libs/fontconfig
+	media-libs/freetype
+	x11-libs/cairo
+	x11-libs/libX11
+	x11-libs/libXi
+	x11-libs/libXrandr
+	x11-libs/libXtst
+	x11-libs/pango
+	"
+
+# Host dependencies that create usernames/groups we need to pull over to target.
+RDEPEND="${RDEPEND}
+	sys-apps/dbus
+	"
+
+# Host dependencies that are needed by mod_image_for_test.
+RDEPEND="${RDEPEND}
+	sys-process/lsof
+	"
+
+# Useful utilities for developers.
+RDEPEND="${RDEPEND}
+	app-arch/zip
+	app-editors/nano
+	app-editors/qemacs
+	app-editors/vim
+	app-portage/eclass-manpages
+	app-portage/gentoolkit
+	app-portage/portage-utils
+	app-portage/repoman
+	app-shells/bash-completion
+	x86?   ( dev-go/delve )
+	amd64? ( dev-go/delve )
+	arm64? ( dev-go/delve )
+	dev-go/go-tools
+	dev-go/golint
+	dev-lang/go
+	dev-python/ipython
+	dev-util/codespell
+	dev-util/patchutils
+	dev-util/perf
+	dev-util/shfmt
+	net-analyzer/netperf
+	sys-apps/less
+	sys-apps/man-pages
+	sys-apps/pv
+	sys-devel/smatch
+	sys-devel/sparse
+	"
+
+# Host dependencies used by chromite on build servers
+RDEPEND="${RDEPEND}
+	dev-python/google-cloud-logging
+	dev-python/mysqlclient
+	dev-python/pyparsing
+	dev-python/virtualenv
+	"
+
+# Host dependencies that are needed for unit tests
+RDEPEND="${RDEPEND}
+	x11-misc/xkeyboard-config
+	"
+
+# Host dependencies that are needed to build the autotest server components.
+RDEPEND="${RDEPEND}
+	dev-util/google-web-toolkit
+	"
+
+# Host dependencies that are needed for autotests.
+RDEPEND="${RDEPEND}
+	dev-python/btsocket
+	dev-python/selenium
+	sys-apps/iproute2
+	sys-apps/net-tools
+	"
+
+# Host dependencies that are needed for media applications (ex, mplayer) used in
+# factory.
+RDEPEND="${RDEPEND}
+	media-video/ffmpeg
+	"
+
+# Host dependencies that are needed to create and sign images
+RDEPEND="${RDEPEND}
+	>=chromeos-base/vboot_reference-1.0-r174
+	chromeos-base/verity
+	!dev-python/ahocorasick
+	dev-python/pyahocorasick
+	sys-fs/libfat
+	"
+
+# Host dependencies that are needed for cros_generate_update_payload.
+RDEPEND="${RDEPEND}
+	chromeos-base/update_engine-client
+	chromeos-base/update_engine
+	sys-fs/e2tools
+	"
+
+# Host dependencies to run unit tests within the chroot
+RDEPEND="${RDEPEND}
+	dev-cpp/gflags
+	dev-go/mock
+	dev-go/test
+	dev-python/mock
+	"
+# Host dependencies to run autotest's unit tests within the chroot.
+RDEPEND="${RDEPEND}
+	dev-python/httplib2
+	dev-python/pyshark
+	dev-python/python-dateutil
+	dev-python/six
+	"
+
+# Host dependencies to scp binaries from the binary component server
+RDEPEND="${RDEPEND}
+	net-misc/openssh
+	net-misc/socat
+	net-misc/wget
+	"
+
+# Host dependencies for HWID processing
+RDEPEND="${RDEPEND}
+	dev-python/pyyaml
+	"
+
+# Tools for working with compiler generated profile information
+# (such as coverage analysis in common.mk)
+RDEPEND="${RDEPEND}
+	dev-util/lcov
+	"
+
+# Host dependencies for building Platform2
+RDEPEND="${RDEPEND}
+	chromeos-base/chromeos-dbus-bindings
+	chromeos-base/sirenia-tools
+	dev-rust/bindgen
+	dev-rust/cbindgen
+	dev-rust/dbus-codegen
+	dev-rust/protobuf-codegen
+	dev-util/cxxbridge-cmd
+	dev-util/meson
+	dev-util/ninja
+	"
+
+# Host dependencies for converting sparse into raw images (simg2img).
+RDEPEND="${RDEPEND}
+	brillo-base/libsparse
+	"
+
+# Host dependencies for building Chromium code (libmojo)
+RDEPEND="${RDEPEND}
+	dev-python/ply
+	dev-util/gn
+	"
+
+# Uninstall these packages.
+RDEPEND="${RDEPEND}
+	!net-misc/dhcpcd
+	"
+
+# Host dependencies for building/testing factory software
+RDEPEND="${RDEPEND}
+	dev-libs/closure-library
+	dev-libs/closure_linter
+	dev-python/autopep8
+	dev-python/crcmod
+	dev-python/django
+	dev-python/jsonrpclib
+	dev-python/jsonschema
+	dev-python/pycryptodome
+	dev-python/python-gnupg
+	dev-python/requests
+	dev-python/sphinx
+	dev-python/twisted
+	!dev-python/twisted-core
+	!dev-python/twisted-web
+	www-servers/nginx
+	"
+
+# Host dependencies for running integration tests
+RDEPEND="${RDEPEND}
+	chromeos-base/tast-cmd
+	chromeos-base/tast-remote-tests
+	"
+
+# Host dependencies for building harfbuzz
+RDEPEND="${RDEPEND}
+	dev-util/ragel
+	"
+
+# Host dependencies for building chromeos-bootimage
+RDEPEND="${RDEPEND}
+	sys-apps/coreboot-utils
+	"
+
+# Host dependencies for building chromeos-firmware-*
+RDEPEND="${RDEPEND}
+	chromeos-base/ec-utils
+	"
+
+# Host dependencies for the chromeos-ec workflow
+RDEPEND="${RDEPEND}
+	chromeos-base/chromeos-ec-headers
+	dev-libs/libprotobuf-mutator
+	dev-libs/openssl
+	dev-util/unifdef
+	"
+
+# Host dependencies for the AP/EC/GSC firmware release testing workflow
+RDEPEND="${RDEPEND}
+	sys-firmware/fw-engprod-tools
+	"
+
+# Host dependencies for audio topology generation
+RDEPEND="${RDEPEND}
+	media-sound/alsa-utils"
+
+# Host dependency for dev-libs/boost package
+RDEPEND="${RDEPEND}
+	dev-util/boost-build"
+
+# Host dependency for managing SELinux
+RDEPEND="${RDEPEND}
+	chromeos-base/sepolicy-analyze
+	sys-apps/checkpolicy
+	sys-apps/restorecon
+	sys-apps/secilc
+	sys-apps/selinux-python"
+
+# Host dependencies that are needed for chromite/bin/cros_generate_android_breakpad_symbols
+RDEPEND="${RDEPEND}
+	chromeos-base/android-relocation-packer"
+
+# Host dependencies for generating and testing update payloads
+RDEPEND="${RDEPEND}
+	chromeos-base/update_payload"
+
+# Needed to compile moblab mobmonitor ui
+RDEPEND="${RDEPEND}
+	net-libs/nodejs"
+
+# Needed to compile img-ddk
+RDEPEND="${RDEPEND}
+	dev-python/clang-python"
+
+# Moblab's new RPC server backend will use grpc
+RDEPEND="${RDEPEND}
+	dev-python/grpcio-tools
+	net-libs/grpc-web"
+
+# Autotest's new RPC server will use grpc
+RDEPEND="${RDEPEND}
+	dev-python/grpcio"
+
+# Needed for unit tests of tast-local-tests-cros
+RDEPEND="${RDEPEND}
+	dev-util/strace"
+
+# Host dependencies for termina_build_image
+RDEPEND="${RDEPEND}
+	app-misc/fdupes"
+
+# Host dependencies that lets us boost to performance governor
+# to speed up builds.  https://crbug.com/1008932
+RDEPEND="${RDEPEND}
+	sys-power/cpupower"
+
+# Base layout for java that installs cacerts
+RDEPEND="${RDEPEND}
+	sys-apps/baselayout-java"
+
+# CTS P depends on Java 8 or 9, CTS R depends on Java 9 or later.
+# Include android-sdk to contain both JDK8 and JDK11 in the chroot.
+RDEPEND="${RDEPEND}
+	chromeos-base/android-sdk"
+
+# Needed to optimise Android APKs shipped in demo_mode_resources.
+RDEPEND="${RDEPEND}
+	sys-devel/zipalign"
+
+# Needed to build IPA interface in libcamera.
+RDEPEND="${RDEPEND}
+	dev-python/jinja"
+
+# Needed for packages that need older 4.9.2 GCC.
+RDEPEND="${RDEPEND}
+	sys-devel/gcc-bin"
+
+# Needed to build crosvm without ebuild in chroot.
+RDEPEND="${RDEPEND}
+	dev-libs/wayland-protocols
+	dev-util/wayland-scanner"
+
+# Needed for hps-firmware.
+RDEPEND="${RDEPEND}
+	chromeos-base/hps-sign-rom
+	dev-rust/svd2rust
+	sci-electronics/amaranth
+	sci-electronics/litescope
+	sci-electronics/liteeth
+	sci-electronics/litespi
+	sci-electronics/litedram
+	sci-electronics/nextpnr
+	sci-electronics/pythondata-cpu-vexriscv
+	sci-electronics/pythondata-misc-tapcfg
+	sci-electronics/verilator
+	sci-electronics/yosys
+	sci-electronics/yosys-f4pga-plugins
+	"
+
+# Needed for cvise.
+RDEPEND="${RDEPEND}
+	dev-python/pebble
+	dev-util/cvise"
+
+# Needed for floss project.
+RDEPEND="${RDEPEND}
+	net-wireless/floss_tools"
+
+# Needed to build cros-camera-hal-qti.
+RDEPEND="${RDEPEND}
+	dev-perl/XML-Simple"
+
+# Needed for vkbench.
+RDEPEND="${RDEPEND}
+	dev-util/glslang"
+
+# Needed for federated-service.
+RDEPEND="${RDEPEND}
+	app-arch/snappy
+	media-libs/giflib"
diff --git a/virtual/target-chromium-os-sdk/target-chromium-os-sdk-9999.ebuild b/virtual/target-chromium-os-sdk/target-chromium-os-sdk-9999.ebuild
index 84a332b..7d71d09 100644
--- a/virtual/target-chromium-os-sdk/target-chromium-os-sdk-9999.ebuild
+++ b/virtual/target-chromium-os-sdk/target-chromium-os-sdk-9999.ebuild
@@ -17,7 +17,7 @@
 SLOT="0"
 KEYWORDS="~*"
 # Note: Do not utilize USE=internal here.  Update virtual/target-chrome-os-sdk.
-IUSE=""
+IUSE="python_targets_python3_6 python_targets_python3_8"
 
 # Block the old package to force people to clean up.
 RDEPEND="
@@ -34,6 +34,7 @@
 	app-arch/p7zip
 	app-arch/tar
 	app-shells/bash
+	dev-lang/rust-bootstrap
 	dev-lang/rust-host
 	net-misc/iputils
 	net-misc/rsync
@@ -45,6 +46,7 @@
 	sys-apps/findutils
 	sys-apps/gawk
 	sys-apps/grep
+	sys-apps/ripgrep
 	sys-apps/sed
 	sys-apps/shadow
 	sys-apps/texinfo
@@ -52,13 +54,13 @@
 	sys-apps/which
 	sys-devel/autoconf
 	sys-devel/autoconf-archive
-	sys-devel/automake:1.10
 	sys-devel/automake:1.11
 	sys-devel/automake:1.15
 	sys-devel/binutils
 	sys-devel/bison
 	sys-devel/flex
 	sys-devel/gcc
+	sys-devel/gdb
 	sys-devel/gnuconfig
 	sys-devel/grit-i18n
 	sys-devel/libtool
@@ -72,12 +74,14 @@
 	sys-libs/zlib
 	sys-process/procps
 	sys-process/psmisc
+	sys-process/time
 	virtual/editor
 	virtual/libc
 	virtual/man
 	virtual/os-headers
 	virtual/package-manager
 	virtual/pager
+	virtual/rust
 	"
 
 # Needed to run setup crossdev, run build scripts, and make a bootable image.
@@ -110,6 +114,7 @@
 # Needed to build Android/ARC userland code.
 RDEPEND="${RDEPEND}
 	app-misc/jq
+	chromeos-base/mk-payload
 	sys-devel/aapt
 	sys-devel/arc-toolchain-master
 	sys-devel/arc-toolchain-p
@@ -128,7 +133,6 @@
 	app-admin/eselect-mesa
 	app-arch/cabextract
 	app-arch/makeself
-	>=app-arch/pbzip2-1.1.1-r1
 	app-arch/rpm2targz
 	app-arch/sharutils
 	app-arch/unzip
@@ -154,13 +158,13 @@
 	chromeos-base/ec-devutils
 	chromeos-base/minijail
 	chromeos-base/mojo-tools
-	dev-db/m17n-contrib
 	dev-db/m17n-db
 	dev-go/protobuf
+	dev-go/protobuf-legacy-api
 	dev-lang/closure-compiler-bin
 	dev-lang/nasm
-	dev-lang/python:2.7
-	dev-lang/python:3.6
+	python_targets_python3_6? ( dev-lang/python:3.6 )
+	python_targets_python3_8? ( dev-lang/python:3.8 )
 	dev-lang/swig
 	dev-lang/tcl
 	dev-lang/yasm
@@ -193,6 +197,7 @@
 	dev-python/py
 	dev-python/pycairo
 	dev-python/pycparser
+	dev-python/pydbus
 	dev-python/pygobject
 	dev-python/pyopenssl
 	dev-python/pytest
@@ -227,6 +232,7 @@
 	!sys-apps/nih-dbus-tool
 	sys-devel/autofdo
 	sys-devel/bc
+	sys-devel/llvm
 	>=sys-libs/glibc-2.27
 	sys-libs/libcxxabi
 	sys-libs/libcxx
@@ -234,13 +240,18 @@
 	virtual/udev
 	sys-libs/libnih
 	sys-power/iasl
-	virtual/modutils
+	sys-apps/kmod[tools]
 	x11-apps/mkfontscale
-	x11-apps/xcursorgen
 	x11-apps/xkbcomp
 	>=x11-misc/util-macros-1.2
 	"
 
+# TODO(toolchain): Remove this libxcrypt dep after all packages directly depend
+# on it and it is not installed as a system library anymore
+RDEPEND="${RDEPEND}
+	sys-libs/libxcrypt
+	"
+
 # Multiple versions of Bazel are provided for long-term compatibility.
 # Slot 0 corresponds to the version packaged by upstream Gentoo, while
 # other slots correspond to LTS releases packaged by us.
@@ -297,6 +308,7 @@
 	app-portage/eclass-manpages
 	app-portage/gentoolkit
 	app-portage/portage-utils
+	app-portage/repoman
 	app-shells/bash-completion
 	x86?   ( dev-go/delve )
 	amd64? ( dev-go/delve )
@@ -314,6 +326,7 @@
 	sys-apps/man-pages
 	sys-apps/pv
 	sys-devel/smatch
+	sys-devel/sparse
 	"
 
 # Host dependencies used by chromite on build servers
@@ -359,6 +372,7 @@
 
 # Host dependencies that are needed for cros_generate_update_payload.
 RDEPEND="${RDEPEND}
+	chromeos-base/update_engine-client
 	chromeos-base/update_engine
 	sys-fs/e2tools
 	"
@@ -367,8 +381,8 @@
 RDEPEND="${RDEPEND}
 	dev-cpp/gflags
 	dev-go/mock
+	dev-go/test
 	dev-python/mock
-	dev-python/unittest2
 	"
 # Host dependencies to run autotest's unit tests within the chroot.
 RDEPEND="${RDEPEND}
@@ -378,11 +392,6 @@
 	dev-python/six
 	"
 
-# Host dependencies for running pylint within the chroot
-RDEPEND="${RDEPEND}
-	dev-python/pylint
-	"
-
 # Host dependencies to scp binaries from the binary component server
 RDEPEND="${RDEPEND}
 	net-misc/openssh
@@ -404,6 +413,12 @@
 # Host dependencies for building Platform2
 RDEPEND="${RDEPEND}
 	chromeos-base/chromeos-dbus-bindings
+	chromeos-base/sirenia-tools
+	dev-rust/bindgen
+	dev-rust/cbindgen
+	dev-rust/dbus-codegen
+	dev-rust/protobuf-codegen
+	dev-util/cxxbridge-cmd
 	dev-util/meson
 	dev-util/ninja
 	"
@@ -429,9 +444,11 @@
 	dev-libs/closure-library
 	dev-libs/closure_linter
 	dev-python/autopep8
+	dev-python/crcmod
 	dev-python/django
 	dev-python/jsonrpclib
 	dev-python/jsonschema
+	dev-python/pycryptodome
 	dev-python/python-gnupg
 	dev-python/requests
 	dev-python/sphinx
@@ -444,7 +461,7 @@
 # Host dependencies for running integration tests
 RDEPEND="${RDEPEND}
 	chromeos-base/tast-cmd
-	chromeos-base/tast-remote-tests-cros
+	chromeos-base/tast-remote-tests
 	"
 
 # Host dependencies for building harfbuzz
@@ -464,6 +481,7 @@
 
 # Host dependencies for the chromeos-ec workflow
 RDEPEND="${RDEPEND}
+	chromeos-base/chromeos-ec-headers
 	dev-libs/libprotobuf-mutator
 	dev-libs/openssl
 	dev-util/unifdef
@@ -551,14 +569,44 @@
 
 # Needed to build crosvm without ebuild in chroot.
 RDEPEND="${RDEPEND}
-	dev-libs/wayland-protocols"
+	dev-libs/wayland-protocols
+	dev-util/wayland-scanner"
 
 # Needed for hps-firmware.
 RDEPEND="${RDEPEND}
+	chromeos-base/hps-sign-rom
+	dev-rust/svd2rust
+	sci-electronics/amaranth
 	sci-electronics/litescope
 	sci-electronics/liteeth
 	sci-electronics/litespi
 	sci-electronics/litedram
-	sci-electronics/nmigen
+	sci-electronics/nextpnr
+	sci-electronics/pythondata-cpu-vexriscv
 	sci-electronics/pythondata-misc-tapcfg
-	sci-electronics/verilator"
+	sci-electronics/verilator
+	sci-electronics/yosys
+	sci-electronics/yosys-f4pga-plugins
+	"
+
+# Needed for cvise.
+RDEPEND="${RDEPEND}
+	dev-python/pebble
+	dev-util/cvise"
+
+# Needed for floss project.
+RDEPEND="${RDEPEND}
+	net-wireless/floss_tools"
+
+# Needed to build cros-camera-hal-qti.
+RDEPEND="${RDEPEND}
+	dev-perl/XML-Simple"
+
+# Needed for vkbench.
+RDEPEND="${RDEPEND}
+	dev-util/glslang"
+
+# Needed for federated-service.
+RDEPEND="${RDEPEND}
+	app-arch/snappy
+	media-libs/giflib"
diff --git a/virtual/target-chromium-os-test/target-chromium-os-test-1-r166.ebuild b/virtual/target-chromium-os-test/target-chromium-os-test-1-r166.ebuild
deleted file mode 100644
index 0bcb396..0000000
--- a/virtual/target-chromium-os-test/target-chromium-os-test-1-r166.ebuild
+++ /dev/null
@@ -1,309 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
-# the canonical empty project.
-CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
-CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
-CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
-CROS_WORKON_LOCALNAME="../platform/empty-project"
-
-inherit cros-workon
-
-DESCRIPTION="List of packages that are needed inside the Chromium OS test image;
-Note: test images are a superset of dev images."
-HOMEPAGE="https://dev.chromium.org/"
-
-LICENSE="metapackage"
-SLOT="0"
-KEYWORDS="*"
-# Note: Do not utilize USE=internal here.  Update virtual/target-chrome-os-test.
-IUSE="
-	arc-camera3
-	biod
-	camera_feature_hdrnet
-	-chromeless_tests
-	cheets
-	chromeless_tty
-	cr50_onboard
-	+cras
-	cros_embedded
-	dlc
-	hammerd
-	iioservice
-	ml_service
-	hps
-	nnapi
-	no_factory_flow
-	ondevice_document_scanner
-	opengl
-	opengles
-	p2p
-	+perfetto
-	python_targets_python2_7
-	scanner
-	+shill
-	+tpm
-	tpm2
-	unibuild
-	vaapi
-	vulkan
-	wifi_hostap_test
-	wifi_testbed_ap
-	+wired_8021x
-"
-
-# Packages required to support autotest images.  Dependencies here
-# are for packages that must be present on a local device and that
-# are not downloaded by the autotest server.  This includes both
-# packages relied on by the server, as well as packages relied on by
-# specific tests.
-#
-# This package is not meant to capture tools useful for test debug;
-# use the chromeos-dev package for that purpose.
-#
-# Note that some packages used by autotest are actually built by the
-# autotest package and downloaded by the server, regardless of
-# whether the package is present on the target device; those
-# packages aren't listed here.
-#
-# Developers should be aware that packages installed by this ebuild
-# are rooted in /usr/local.  This means that libraries are installed
-# in /usr/local/lib, executables in /usr/local/bin, etc.
-#
-# TODO(jrbarnette):  It's not known definitively that the list
-# below contains no unneeded dependencies.  More work is needed to
-# determine for sure that every package listed is actually used.
-
-
-################################################################################
-#
-# CROS_COMMON_* : Dependencies common to all CrOS flavors (embedded, regular)
-#
-################################################################################
-
-CROS_COMMON_RDEPEND="
-	tpm? (
-		app-crypt/tpm-tools
-		chromeos-base/hwsec-test-utils
-		chromeos-base/tpm_softclear_utils
-	)
-	tpm2? (
-		chromeos-base/hwsec-test-utils
-		chromeos-base/tpm_softclear_utils
-	)
-	chromeos-base/chromeos-test-root
-	chromeos-base/ec-utils
-	chromeos-base/ec-utils-test
-	!no_factory_flow? ( chromeos-base/factory-deps )
-	biod? (
-		virtual/chromeos-fpmcu-test
-		chromeos-base/chromeos-fpmcu-unittests
-	)
-	hammerd? ( chromeos-base/hammerd-test-utils )
-	iioservice? ( chromeos-base/iioservice_simpleclient )
-	scanner? (
-		chromeos-base/lorgnette_cli
-		chromeos-base/lorgnette-wwcb-tests
-		chromeos-base/sane-backends-test
-	)
-	ml_service? ( chromeos-base/ml-cmdline )
-	hps? ( chromeos-base/hps-tool )
-	nnapi? (
-		chromeos-base/aosp-frameworks-ml-nn-vts
-		chromeos-base/ml-test-assets
-	)
-	ondevice_document_scanner? (
-		media-libs/cros-camera-document-scanning-test
-	)
-	camera_feature_hdrnet? (
-		media-libs/cros-camera-hdrnet-tests
-	)
-	chromeos-base/recover-duts
-	chromeos-base/tast-local-test-runner
-	chromeos-base/tast-local-tests
-	chromeos-base/tast-use-flags
-	chromeos-base/vboot_reference-tests
-	chromeos-base/verity
-	chromeos-base/vpd
-	chromeos-base/ec-devutils
-	!chromeless_tty? (
-		!chromeless_tests? (
-			>=dev-cpp/gflags-2.0
-		)
-	)
-	wifi_testbed_ap? (
-		dev-python/btsocket
-	)
-	python_targets_python2_7? ( dev-lang/python:2.7 )
-	x86?   ( dev-go/delve )
-	amd64? ( dev-go/delve )
-	arm64? ( dev-go/delve )
-	dev-lang/python:3.6
-	dev-libs/opensc
-	p2p? ( dev-python/dpkt )
-	perfetto? (
-		chromeos-base/perfetto
-		chromeos-base/perfetto_simple_producer
-	)
-	cr50_onboard? ( dev-util/u2f-ref-code )
-	net-misc/rsync
-	sys-apps/memtester
-	virtual/autotest-capability
-	virtual/chromeos-bsp-test
-"
-
-# Packages needed by FAFT.
-CROS_COMMON_RDEPEND+="
-	sys-apps/hdparm
-	sys-apps/mmc-utils
-"
-
-################################################################################
-#
-# CROS_* : Dependencies for "regular" CrOS devices (coreutils, etc.)
-#
-################################################################################
-CROS_X86_RDEPEND="
-	app-benchmarks/sysbench
-	sys-apps/pciutils
-	sys-power/iasl
-	vaapi? ( media-gfx/vadumpcaps media-video/libva-utils )
-	x11-misc/read-edid
-"
-
-CROS_RDEPEND="
-	x86? ( ${CROS_X86_RDEPEND} )
-	amd64? ( ${CROS_X86_RDEPEND} )
-"
-
-CROS_RDEPEND="${CROS_RDEPEND}
-	app-admin/sudo
-	app-arch/gzip
-	app-arch/tar
-	app-benchmarks/blktests
-	app-benchmarks/blogbench
-	app-benchmarks/lmbench
-	app-benchmarks/microbenchmarks
-	app-benchmarks/pjdfstest
-	app-benchmarks/xfstests
-	app-misc/ckermit
-	opengles? ( app-misc/eglinfo )
-	app-misc/tmux
-	app-misc/utouch-evemu
-	app-mobilephone/dfu-util
-	chromeos-base/autotest-client
-	cras? (
-		chromeos-base/audiotest
-		media-sound/cras_bench
-		dev-util/rt-tests
-	)
-	chromeos-base/avtest_label_detect
-	chromeos-base/chrome-binary-tests
-	chromeos-base/cros-camera-tool
-	!chromeless_tty? ( !chromeless_tests? ( chromeos-base/drm-tests ) )
-	!no_factory_flow? ( chromeos-base/factory-mini )
-	chromeos-base/glbench
-	chromeos-base/graphics-utils-python
-	chromeos-base/libvda-gpu-tests
-	chromeos-base/modem-diagnostics
-	chromeos-base/policy_utils
-	chromeos-base/protofiles
-	chromeos-base/pywalt
-	!chromeless_tty? ( chromeos-base/screen-capture-utils www-apps/novnc )
-	chromeos-base/secure-wipe
-	shill? (
-		chromeos-base/shill-test-scripts
-		wired_8021x? ( net-wireless/hostapd )
-	)
-	!chromeless_tests? ( chromeos-base/telemetry )
-	chromeos-base/toolchain-tests
-	vulkan? (
-		chromeos-base/vkbench
-		media-libs/clvk
-		media-libs/clvk-test
-		media-libs/opencl-cts
-	)
-	dev-embedded/dfu-programmer
-	dev-go/syzkaller
-	dev-libs/re2
-	dev-python/protobuf-python
-	dev-python/btsocket
-	dev-python/contextlib2
-	dev-python/dbus-python
-	dev-python/dpkt
-	dev-python/httplib2
-	dev-python/jsonrpclib
-	dev-python/mkvparse
-	dev-python/netifaces
-	dev-python/pydbus
-	dev-python/pygobject
-	dev-python/pyserial
-	dev-python/pytest
-	dev-python/python-evdev
-	dev-python/python-uinput
-	dev-python/pyudev
-	dev-python/pyxattr
-	dev-python/pyyaml
-	dev-python/selenium
-	dev-python/setproctitle
-	dev-python/setuptools
-	dev-python/ws4py
-	!chromeless_tty? ( !chromeless_tests? ( dev-util/apitrace ) )
-	dev-util/stressapptest
-	dev-util/trace-cmd
-	dlc? ( sys-fs/squashfs-tools )
-	games-util/joystick
-	media-gfx/imagemagick[jpeg,png,svg,tiff]
-	media-gfx/perceptualdiff
-	media-gfx/zbar
-	arc-camera3? ( media-libs/cros-camera-libcamera_connector_test )
-	arc-camera3? ( media-libs/cros-camera-libjea_test )
-	arc-camera3? ( media-libs/cros-camera-test )
-	media-libs/cros-camera-usb-tests
-	media-libs/libexif
-	media-libs/libvpx
-	media-libs/opencv
-	media-libs/openh264
-	!chromeless_tty? ( !chromeless_tests? (
-		media-gfx/deqp
-		media-gfx/deqp-runner
-	) )
-	media-libs/tiff
-	opengles? ( media-libs/waffle )
-	opengl? ( media-libs/waffle )
-	media-sound/sox
-	net-analyzer/netperf
-	net-dialup/minicom
-	net-dns/dnsmasq
-	net-misc/dhcp
-	net-misc/iperf:2
-	net-misc/iputils
-	net-misc/openssh
-	net-misc/radvd
-	net-proxy/tinyproxy
-	wifi_hostap_test? ( net-wireless/hostap-test )
-	sci-geosciences/gpsd
-	sys-apps/coreutils
-	sys-apps/dtc
-	sys-apps/ethtool
-	sys-apps/file
-	sys-apps/findutils
-	sys-apps/kbd
-	sys-apps/shadow
-	sys-devel/binutils
-	sys-process/iotop
-	sys-process/procps
-	sys-process/psmisc
-	sys-process/time
-	x11-libs/libdrm
-	"
-
-################################################################################
-# Assemble the final RDEPEND and DEPEND variables for portage
-################################################################################
-RDEPEND="${CROS_COMMON_RDEPEND}
-	!cros_embedded? ( ${CROS_RDEPEND} )
-"
diff --git a/virtual/target-chromium-os-test/target-chromium-os-test-1-r177.ebuild b/virtual/target-chromium-os-test/target-chromium-os-test-1-r177.ebuild
new file mode 100644
index 0000000..3e3f51d
--- /dev/null
+++ b/virtual/target-chromium-os-test/target-chromium-os-test-1-r177.ebuild
@@ -0,0 +1,321 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
+# the canonical empty project.
+CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
+CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="../platform/empty-project"
+
+inherit cros-workon
+
+DESCRIPTION="List of packages that are needed inside the Chromium OS test image;
+Note: test images are a superset of dev images."
+HOMEPAGE="https://dev.chromium.org/"
+
+LICENSE="metapackage"
+SLOT="0"
+KEYWORDS="*"
+# Note: Do not utilize USE=internal here.  Update virtual/target-chrome-os-test.
+IUSE="
+	arc-camera3
+	biod
+	camera_feature_auto_framing
+	camera_feature_hdrnet
+	-chromeless_tests
+	cheets
+	chromeless_tty
+	cr50_onboard
+	+cras
+	cros_embedded
+	dlc
+	hammerd
+	iioservice
+	ml_service
+	hps
+	nnapi
+	no_factory_flow
+	ondevice_document_scanner
+	opengl
+	opengles
+	p2p
+	+perfetto
+	python_targets_python3_6 python_targets_python3_8
+	racc
+	scanner
+	+shill
+	ti50_onboard
+	+tpm
+	tpm2
+	unibuild
+	vaapi
+	vulkan
+	wifi_hostap_test
+	wifi_testbed_ap
+	+wired_8021x
+"
+
+# Packages required to support autotest images.  Dependencies here
+# are for packages that must be present on a local device and that
+# are not downloaded by the autotest server.  This includes both
+# packages relied on by the server, as well as packages relied on by
+# specific tests.
+#
+# This package is not meant to capture tools useful for test debug;
+# use the chromeos-dev package for that purpose.
+#
+# Note that some packages used by autotest are actually built by the
+# autotest package and downloaded by the server, regardless of
+# whether the package is present on the target device; those
+# packages aren't listed here.
+#
+# Developers should be aware that packages installed by this ebuild
+# are rooted in /usr/local.  This means that libraries are installed
+# in /usr/local/lib, executables in /usr/local/bin, etc.
+#
+# TODO(jrbarnette):  It's not known definitively that the list
+# below contains no unneeded dependencies.  More work is needed to
+# determine for sure that every package listed is actually used.
+
+
+################################################################################
+#
+# CROS_COMMON_* : Dependencies common to all CrOS flavors (embedded, regular)
+#
+################################################################################
+
+CROS_COMMON_RDEPEND="
+	tpm? (
+		app-crypt/tpm-tools
+		chromeos-base/hwsec-test-utils
+		chromeos-base/tpm_softclear_utils
+	)
+	tpm2? (
+		chromeos-base/hwsec-test-utils
+		chromeos-base/tpm_softclear_utils
+	)
+	chromeos-base/chromeos-test-root
+	chromeos-base/ec-utils
+	chromeos-base/ec-utils-test
+	!no_factory_flow? ( chromeos-base/factory-deps )
+	biod? (
+		virtual/chromeos-fpmcu-test
+		chromeos-base/chromeos-fpmcu-unittests
+	)
+	hammerd? ( chromeos-base/hammerd-test-utils )
+	iioservice? ( chromeos-base/iioservice_simpleclient )
+	scanner? (
+		chromeos-base/lorgnette_cli
+		chromeos-base/lorgnette-wwcb-tests
+		chromeos-base/sane-backends-test
+	)
+	ml_service? ( chromeos-base/ml-cmdline )
+	hps? ( chromeos-base/hps-tool )
+	nnapi? (
+		chromeos-base/aosp-frameworks-ml-nn-vts
+		chromeos-base/ml-test-assets
+	)
+	ondevice_document_scanner? (
+		media-libs/cros-camera-document-scanning-test
+	)
+	camera_feature_auto_framing? (
+		media-libs/cros-camera-auto-framing-tests
+	)
+	camera_feature_hdrnet? (
+		media-libs/cros-camera-hdrnet-tests
+	)
+	racc? (
+		chromeos-base/factory_runtime_probe
+	)
+	chromeos-base/recover-duts
+	chromeos-base/tast-local-test-runner
+	chromeos-base/tast-local-tests
+	chromeos-base/tast-use-flags
+	chromeos-base/vboot_reference-tests
+	chromeos-base/verity
+	chromeos-base/vpd
+	chromeos-base/ec-devutils
+	!chromeless_tty? (
+		!chromeless_tests? (
+			>=dev-cpp/gflags-2.0
+		)
+	)
+	wifi_testbed_ap? (
+		dev-python/btsocket
+	)
+	x86?   ( dev-go/delve )
+	amd64? ( dev-go/delve )
+	arm64? ( dev-go/delve )
+	python_targets_python3_6? ( dev-lang/python:3.6 )
+	python_targets_python3_8? ( dev-lang/python:3.8 )
+	dev-libs/opensc
+	p2p? ( dev-python/dpkt )
+	perfetto? (
+		chromeos-base/perfetto
+		chromeos-base/perfetto_simple_producer
+	)
+	cr50_onboard? ( dev-util/u2f-ref-code )
+	net-misc/rsync
+	sys-apps/memtester
+	ti50_onboard? ( dev-util/u2f-ref-code )
+	virtual/autotest-capability
+	virtual/chromeos-bsp-test
+"
+
+# Packages needed by FAFT.
+CROS_COMMON_RDEPEND+="
+	sys-apps/hdparm
+	sys-apps/mmc-utils
+"
+
+################################################################################
+#
+# CROS_* : Dependencies for "regular" CrOS devices (coreutils, etc.)
+#
+################################################################################
+CROS_X86_RDEPEND="
+	app-benchmarks/sysbench
+	sys-apps/pciutils
+	sys-power/iasl
+	vaapi? ( media-gfx/vadumpcaps media-video/libva-utils )
+	x11-misc/read-edid
+"
+
+CROS_RDEPEND="
+	x86? ( ${CROS_X86_RDEPEND} )
+	amd64? ( ${CROS_X86_RDEPEND} )
+"
+
+CROS_RDEPEND="${CROS_RDEPEND}
+	app-admin/sudo
+	app-arch/gzip
+	app-arch/tar
+	app-benchmarks/blktests
+	app-benchmarks/blogbench
+	app-benchmarks/lmbench
+	app-benchmarks/microbenchmarks
+	app-benchmarks/pjdfstest
+	app-benchmarks/xfstests
+	opengles? ( app-misc/eglinfo )
+	app-misc/tmux
+	app-misc/utouch-evemu
+	app-mobilephone/dfu-util
+	chromeos-base/autotest-client
+	cras? (
+		chromeos-base/audiotest
+		media-sound/cras_bench
+		dev-util/rt-tests
+	)
+	chromeos-base/avtest_label_detect
+	chromeos-base/chrome-binary-tests
+	chromeos-base/cros-camera-tool
+	chromeos-base/croscomp
+	!chromeless_tty? ( !chromeless_tests? ( chromeos-base/drm-tests ) )
+	!no_factory_flow? ( chromeos-base/factory-mini )
+	chromeos-base/glbench
+	chromeos-base/graphics-expectations
+	chromeos-base/graphics-utils-python
+	chromeos-base/libvda-gpu-tests
+	chromeos-base/modem-diagnostics
+	chromeos-base/policy_utils
+	chromeos-base/protofiles
+	chromeos-base/pywalt
+	!chromeless_tty? ( chromeos-base/screen-capture-utils www-apps/novnc )
+	chromeos-base/secure-wipe
+	shill? (
+		chromeos-base/shill-test-scripts
+		wired_8021x? ( net-wireless/hostapd )
+	)
+	!chromeless_tests? ( chromeos-base/telemetry )
+	chromeos-base/toolchain-tests
+	vulkan? (
+		chromeos-base/vkbench
+		media-libs/clvk
+		media-libs/clvk-test
+		media-libs/opencl-cts
+	)
+	dev-embedded/dfu-programmer
+	dev-go/syzkaller
+	dev-libs/re2
+	dev-python/protobuf-python
+	dev-python/btsocket
+	dev-python/contextlib2
+	dev-python/dbus-python
+	dev-python/dpkt
+	dev-python/httplib2
+	dev-python/jsonrpclib
+	dev-python/mkvparse
+	dev-python/netifaces
+	dev-python/pydbus
+	dev-python/pygobject
+	dev-python/pyserial
+	dev-python/pytest
+	dev-python/python-evdev
+	dev-python/python-uinput
+	dev-python/pyudev
+	dev-python/pyxattr
+	dev-python/pyyaml
+	dev-python/requests
+	dev-python/selenium
+	dev-python/setproctitle
+	dev-python/setuptools
+	dev-python/ws4py
+	!chromeless_tty? ( !chromeless_tests? ( dev-util/apitrace ) )
+	dev-util/stressapptest
+	dev-util/trace-cmd
+	dlc? ( sys-fs/squashfs-tools )
+	games-util/joystick
+	media-gfx/imagemagick[jpeg,png,svg,tiff]
+	media-gfx/perceptualdiff
+	media-gfx/zbar
+	arc-camera3? ( media-libs/cros-camera-libcamera_connector_test )
+	arc-camera3? ( media-libs/cros-camera-libjea_test )
+	arc-camera3? ( media-libs/cros-camera-test )
+	media-libs/cros-camera-usb-tests
+	media-libs/libaom
+	media-libs/libexif
+	media-libs/libvpx
+	media-libs/opencv
+	media-libs/openh264
+	!chromeless_tty? ( !chromeless_tests? (
+		media-gfx/deqp
+		media-gfx/deqp-runner
+	) )
+	media-libs/tiff
+	opengles? ( media-libs/waffle )
+	opengl? ( media-libs/waffle )
+	media-sound/sox
+	net-analyzer/netperf
+	net-dialup/minicom
+	net-dns/dnsmasq
+	net-misc/dhcp
+	net-misc/iperf:2
+	net-misc/iputils
+	net-misc/openssh
+	net-misc/radvd
+	net-proxy/tinyproxy
+	wifi_hostap_test? ( net-wireless/hostap-test )
+	sys-apps/coreutils
+	sys-apps/dtc
+	sys-apps/ethtool
+	sys-apps/file
+	sys-apps/findutils
+	sys-apps/kbd
+	sys-apps/shadow
+	sys-devel/binutils
+	sys-process/iotop
+	sys-process/procps
+	sys-process/psmisc
+	sys-process/time
+	x11-libs/libdrm
+	"
+
+################################################################################
+# Assemble the final RDEPEND and DEPEND variables for portage
+################################################################################
+RDEPEND="${CROS_COMMON_RDEPEND}
+	!cros_embedded? ( ${CROS_RDEPEND} )
+"
diff --git a/virtual/target-chromium-os-test/target-chromium-os-test-9999.ebuild b/virtual/target-chromium-os-test/target-chromium-os-test-9999.ebuild
index 23795d8..b98ec23 100644
--- a/virtual/target-chromium-os-test/target-chromium-os-test-9999.ebuild
+++ b/virtual/target-chromium-os-test/target-chromium-os-test-9999.ebuild
@@ -21,6 +21,7 @@
 IUSE="
 	arc-camera3
 	biod
+	camera_feature_auto_framing
 	camera_feature_hdrnet
 	-chromeless_tests
 	cheets
@@ -40,9 +41,11 @@
 	opengles
 	p2p
 	+perfetto
-	python_targets_python2_7
+	python_targets_python3_6 python_targets_python3_8
+	racc
 	scanner
 	+shill
+	ti50_onboard
 	+tpm
 	tpm2
 	unibuild
@@ -116,9 +119,15 @@
 	ondevice_document_scanner? (
 		media-libs/cros-camera-document-scanning-test
 	)
+	camera_feature_auto_framing? (
+		media-libs/cros-camera-auto-framing-tests
+	)
 	camera_feature_hdrnet? (
 		media-libs/cros-camera-hdrnet-tests
 	)
+	racc? (
+		chromeos-base/factory_runtime_probe
+	)
 	chromeos-base/recover-duts
 	chromeos-base/tast-local-test-runner
 	chromeos-base/tast-local-tests
@@ -135,11 +144,11 @@
 	wifi_testbed_ap? (
 		dev-python/btsocket
 	)
-	python_targets_python2_7? ( dev-lang/python:2.7 )
 	x86?   ( dev-go/delve )
 	amd64? ( dev-go/delve )
 	arm64? ( dev-go/delve )
-	dev-lang/python:3.6
+	python_targets_python3_6? ( dev-lang/python:3.6 )
+	python_targets_python3_8? ( dev-lang/python:3.8 )
 	dev-libs/opensc
 	p2p? ( dev-python/dpkt )
 	perfetto? (
@@ -149,6 +158,7 @@
 	cr50_onboard? ( dev-util/u2f-ref-code )
 	net-misc/rsync
 	sys-apps/memtester
+	ti50_onboard? ( dev-util/u2f-ref-code )
 	virtual/autotest-capability
 	virtual/chromeos-bsp-test
 "
@@ -187,7 +197,6 @@
 	app-benchmarks/microbenchmarks
 	app-benchmarks/pjdfstest
 	app-benchmarks/xfstests
-	app-misc/ckermit
 	opengles? ( app-misc/eglinfo )
 	app-misc/tmux
 	app-misc/utouch-evemu
@@ -201,9 +210,11 @@
 	chromeos-base/avtest_label_detect
 	chromeos-base/chrome-binary-tests
 	chromeos-base/cros-camera-tool
+	chromeos-base/croscomp
 	!chromeless_tty? ( !chromeless_tests? ( chromeos-base/drm-tests ) )
 	!no_factory_flow? ( chromeos-base/factory-mini )
 	chromeos-base/glbench
+	chromeos-base/graphics-expectations
 	chromeos-base/graphics-utils-python
 	chromeos-base/libvda-gpu-tests
 	chromeos-base/modem-diagnostics
@@ -245,6 +256,7 @@
 	dev-python/pyudev
 	dev-python/pyxattr
 	dev-python/pyyaml
+	dev-python/requests
 	dev-python/selenium
 	dev-python/setproctitle
 	dev-python/setuptools
@@ -261,6 +273,7 @@
 	arc-camera3? ( media-libs/cros-camera-libjea_test )
 	arc-camera3? ( media-libs/cros-camera-test )
 	media-libs/cros-camera-usb-tests
+	media-libs/libaom
 	media-libs/libexif
 	media-libs/libvpx
 	media-libs/opencv
@@ -283,7 +296,6 @@
 	net-misc/radvd
 	net-proxy/tinyproxy
 	wifi_hostap_test? ( net-wireless/hostap-test )
-	sci-geosciences/gpsd
 	sys-apps/coreutils
 	sys-apps/dtc
 	sys-apps/ethtool
diff --git a/virtual/target-chromium-os/metadata.xml b/virtual/target-chromium-os/metadata.xml
index 7f27eb7..9e007c0 100644
--- a/virtual/target-chromium-os/metadata.xml
+++ b/virtual/target-chromium-os/metadata.xml
@@ -16,6 +16,7 @@
 	<flag name="dlp">Enable Data Leak Prevention daemon</flag>
 	<flag name='cros_ec'>Enables CrOS Embedded Controller.</flag>
 	<flag name='factory_branch'>Enables customization for factory builds.</flag>
+	<flag name='fusebox'>Enable FuseBox daemon.</flag>
 	<flag name='gdmwimax'>Enables WiMax dependencies.</flag>
 	<flag name='iioservice'>Enable Chrome OS IIO sensor service daemon.</flag>
 	<flag name='kerberos_daemon'>Enable Chrome OS Kerberos system daemon</flag>
diff --git a/virtual/target-chromium-os/target-chromium-os-1-r195.ebuild b/virtual/target-chromium-os/target-chromium-os-1-r195.ebuild
deleted file mode 100644
index a76f84b..0000000
--- a/virtual/target-chromium-os/target-chromium-os-1-r195.ebuild
+++ /dev/null
@@ -1,460 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
-# the canonical empty project.
-CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
-CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
-CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
-CROS_WORKON_LOCALNAME="../platform/empty-project"
-
-inherit cros-workon
-
-DESCRIPTION="List of packages that are needed inside the Chromium OS base (release)"
-HOMEPAGE="https://dev.chromium.org/"
-
-LICENSE="metapackage"
-SLOT="0"
-KEYWORDS="*"
-# Note: Do not utilize USE=internal here.  Update virtual/target-chrome-os instead.
-# Note: You almost never want to use + here to enable settings by default.
-# Please see https://crrev.com/c/2776455 as an example instead.
-IUSE="
-	asan
-	arc-camera1
-	arc-camera3
-	biod
-	bluetooth
-	bootchart
-	cellular
-	compupdates
-	containers
-	cr50_onboard
-	+cras
-	+crash_reporting
-	+cros_disks
-	cros_embedded
-	cups
-	+debugd
-	diagnostics
-	dlc
-	dlc_test
-	dlp
-	dns-proxy
-	dptf
-	eclog
-	factory_branch
-	featured
-	federated_service
-	floss
-	+fonts
-	fpstudy
-	fuzzer
-	fwupd
-	hammerd
-	iioservice
-	ime
-	input_devices_evdev
-	intel_lpe
-	iwlwifi_rescan
-	kerberos_daemon
-	kvm_host
-	lacros_rootfs
-	manatee
-	media_perception
-	memd
-	missive
-	mist
-	minios
-	mmc
-	secanomalyd
-	modemfwd
-	ml_service
-	hps
-	mtd
-	+network_time
-	nfc
-	ondevice_handwriting
-	os_install_service
-	pam
-	pciguard
-	perfetto
-	postscript
-	+power_management
-	+profile
-	racc
-	+readahead
-	resourced
-	rmad
-	scanner
-	selinux
-	+shill
-	sirenia
-	smbprovider
-	spaced
-	+syslog
-	+system_locales
-	system_proxy
-	systemd
-	ti50_onboard
-	touchview
-	+tpm
-	-tpm2
-	+trim_supported
-	typecd
-	ubsan
-	usb_bouncer
-	usbguard
-	+vpn
-	watchdog
-"
-
-REQUIRED_USE="
-	cellular? ( shill )
-	modemfwd? ( cellular )
-"
-
-################################################################################
-#
-# READ THIS BEFORE ADDING PACKAGES TO THIS EBUILD!
-#
-################################################################################
-#
-# Every chromeos dependency (along with its dependencies) is included in the
-# release image -- more packages contribute to longer build times, a larger
-# image, slower and bigger auto-updates, increased security risks, etc. Consider
-# the following before adding a new package:
-#
-# 1. Does the package really need to be part of the release image?
-#
-# Some packages can be included only in the developer or test images, i.e., the
-# target-os-dev or chromeos-test ebuilds. If the package will eventually be used
-# in the release but it's still under development, consider adding it to
-# target-os-dev initially until it's ready for production.
-#
-# 2. Why is the package a direct dependency of the chromeos ebuild?
-#
-# It makes sense for some packages to be included as a direct dependency of the
-# chromeos ebuild but for most it doesn't. The package should be added as a
-# direct dependency of the ebuilds for all packages that actually use it -- in
-# time, this ensures correct builds and allows easier cleanup of obsolete
-# packages. For example, if a utility will be invoked by the session manager,
-# its package should be added as a dependency in the chromeos-login ebuild. If
-# the package really needs to be a direct dependency of the chromeos ebuild,
-# consider adding a comment why the package is needed and how it's used.
-#
-# 3. Are all default package features and dependent packages needed?
-#
-# The release image should include only packages and features that are needed in
-# the production system. Often packages pull in features and additional packages
-# that are never used. Review these and consider pruning them (e.g., through USE
-# flags).
-#
-# 4. What is the impact on the image size?
-#
-# Before adding a package, evaluate the impact on the image size. If the package
-# and its dependencies increase the image size significantly, consider
-# alternative packages or approaches.
-#
-# 5. Is the package needed on all targets?
-#
-# If the package is needed only on some target boards, consider making it
-# conditional through USE flags in the board overlays.
-#
-# Variable Naming Convention:
-# ---------------------------
-# CROS_COMMON_* : Dependencies common to all CrOS flavors
-# CROS_* : Dependencies for "regular" CrOS devices (coreutils, etc.)
-################################################################################
-
-################################################################################
-#
-# Per Package Comments:
-# --------------------
-# Please add any comments specific to why certain packages are
-# pulled into the dependency here. This is optional and required only when
-# the dependency isn't obvious.
-#
-################################################################################
-
-################################################################################
-#
-# Dependencies common to all CrOS flavors (embedded, regular).
-# Everything in here should be behind a USE flag.
-#
-################################################################################
-RDEPEND="
-	input_devices_evdev? ( app-misc/evtest )
-	syslog? (
-		app-admin/rsyslog
-		chromeos-base/croslog
-		chromeos-base/bootid-logger
-	)
-	biod? ( chromeos-base/biod )
-	fpstudy? ( chromeos-base/fingerprint_study )
-	compupdates? ( chromeos-base/imageloader )
-	dlc? ( chromeos-base/dlcservice )
-	dlc_test? (
-		chromeos-base/sample-dlc
-		chromeos-base/test-dlc
-	)
-	bluetooth? ( net-wireless/bluez )
-	floss? (
-		!asan? (
-			!ubsan? ( net-wireless/floss )
-		)
-	)
-	bootchart? ( app-benchmarks/bootchart )
-	tpm? (
-		app-crypt/trousers
-		chromeos-base/chaps
-	)
-	tpm2? ( chromeos-base/trunks )
-	pam? ( virtual/chromeos-auth-config )
-	federated_service? ( chromeos-base/federated-service )
-	fonts? ( chromeos-base/chromeos-fonts )
-	chromeos-base/chromeos-installer
-	chromeos-base/dev-install
-	os_install_service? ( chromeos-base/os_install_service )
-	perfetto? ( chromeos-base/perfetto )
-	crash_reporting? ( chromeos-base/crash-reporter )
-	missive? ( chromeos-base/missive )
-	mist? ( chromeos-base/mist )
-	modemfwd? ( chromeos-base/modemfwd )
-	containers? ( chromeos-base/run_oci )
-	cros_disks? ( chromeos-base/cros-disks )
-	debugd? ( chromeos-base/debugd )
-	diagnostics? ( chromeos-base/diagnostics )
-	dlp? ( chromeos-base/dlp )
-	kerberos_daemon? ( chromeos-base/kerberos )
-	scanner? ( chromeos-base/lorgnette )
-	ml_service? ( chromeos-base/ml )
-	ondevice_handwriting? (
-		chromeos-base/languagepack-handwriting-es
-		chromeos-languagepacks/handwriting-am
-		chromeos-languagepacks/handwriting-ar
-		chromeos-languagepacks/handwriting-be
-		chromeos-languagepacks/handwriting-bg
-		chromeos-languagepacks/handwriting-bn
-		chromeos-languagepacks/handwriting-ca
-		chromeos-languagepacks/handwriting-cs
-		chromeos-languagepacks/handwriting-da
-		chromeos-languagepacks/handwriting-de
-		chromeos-languagepacks/handwriting-el
-		chromeos-languagepacks/handwriting-es
-		chromeos-languagepacks/handwriting-et
-		chromeos-languagepacks/handwriting-fa
-		chromeos-languagepacks/handwriting-fi
-		chromeos-languagepacks/handwriting-fr
-		chromeos-languagepacks/handwriting-ga
-		chromeos-languagepacks/handwriting-gu
-		chromeos-languagepacks/handwriting-hi
-		chromeos-languagepacks/handwriting-hr
-		chromeos-languagepacks/handwriting-hu
-		chromeos-languagepacks/handwriting-hy
-		chromeos-languagepacks/handwriting-id
-		chromeos-languagepacks/handwriting-is
-		chromeos-languagepacks/handwriting-it
-		chromeos-languagepacks/handwriting-iw
-		chromeos-languagepacks/handwriting-ja
-		chromeos-languagepacks/handwriting-ka
-		chromeos-languagepacks/handwriting-kk
-		chromeos-languagepacks/handwriting-km
-		chromeos-languagepacks/handwriting-kn
-		chromeos-languagepacks/handwriting-ko
-		chromeos-languagepacks/handwriting-lo
-		chromeos-languagepacks/handwriting-lt
-		chromeos-languagepacks/handwriting-lv
-		chromeos-languagepacks/handwriting-ml
-		chromeos-languagepacks/handwriting-mn
-		chromeos-languagepacks/handwriting-mr
-		chromeos-languagepacks/handwriting-ms
-		chromeos-languagepacks/handwriting-mt
-		chromeos-languagepacks/handwriting-my
-		chromeos-languagepacks/handwriting-ne
-		chromeos-languagepacks/handwriting-nl
-		chromeos-languagepacks/handwriting-no
-		chromeos-languagepacks/handwriting-or
-		chromeos-languagepacks/handwriting-pa
-		chromeos-languagepacks/handwriting-pl
-		chromeos-languagepacks/handwriting-pt
-		chromeos-languagepacks/handwriting-ro
-		chromeos-languagepacks/handwriting-ru
-		chromeos-languagepacks/handwriting-si
-		chromeos-languagepacks/handwriting-sk
-		chromeos-languagepacks/handwriting-sl
-		chromeos-languagepacks/handwriting-sr
-		chromeos-languagepacks/handwriting-sv
-		chromeos-languagepacks/handwriting-ta
-		chromeos-languagepacks/handwriting-te
-		chromeos-languagepacks/handwriting-th
-		chromeos-languagepacks/handwriting-ti
-		chromeos-languagepacks/handwriting-tl
-		chromeos-languagepacks/handwriting-tr
-		chromeos-languagepacks/handwriting-uk
-		chromeos-languagepacks/handwriting-ur
-		chromeos-languagepacks/handwriting-vi
-		chromeos-languagepacks/handwriting-zh
-	)
-	hps? (
-		chromeos-base/hpsd
-		chromeos-base/hps-firmware-images
-		!asan? (
-			!ubsan? ( chromeos-base/hps-firmware )
-		)
-	)
-	hammerd? ( chromeos-base/hammerd )
-	racc? (
-		chromeos-base/hardware_verifier
-		chromeos-base/runtime_probe
-	)
-	rmad? ( chromeos-base/rmad )
-	iioservice? ( chromeos-base/iioservice )
-	media_perception? ( chromeos-base/mri_package )
-	memd? ( chromeos-base/memd )
-	power_management? ( chromeos-base/power_manager )
-	!chromeos-base/platform2
-	profile? ( chromeos-base/quipper )
-	resourced? ( chromeos-base/resourced )
-	selinux? ( chromeos-base/selinux-policy )
-	shill? ( >=chromeos-base/shill-0.0.1-r2205 )
-	manatee? ( chromeos-base/sirenia )
-	sirenia? ( chromeos-base/sirenia )
-	spaced? ( chromeos-base/spaced )
-	usb_bouncer? ( chromeos-base/usb_bouncer )
-	chromeos-base/update_engine
-	vpn? ( chromeos-base/vpn-manager )
-	cras? (
-		media-sound/adhd
-		media-sound/cras_tests
-	)
-	trim_supported? ( chromeos-base/chromeos-trim )
-	network_time? ( net-misc/tlsdate )
-	iwlwifi_rescan? ( net-wireless/iwlwifi_rescan )
-	nfc? ( net-wireless/neard chromeos-base/neard-configs )
-	readahead? ( sys-apps/ureadahead )
-	pam? ( sys-auth/pam_pwdfile )
-	watchdog? ( sys-apps/daisydog )
-	mtd? ( sys-fs/mtd-utils )
-	cups? ( virtual/chromium-os-printing )
-	touchview? (
-		!iioservice? ( chromeos-base/chromeos-accelerometer-init )
-	)
-	system_locales? ( chromeos-base/system-locales )
-	system_proxy? ( chromeos-base/system-proxy )
-	eclog? ( chromeos-base/timberslide )
-	chromeos-base/chromeos-machine-id-regen
-	systemd? ( sys-apps/systemd )
-	!systemd? ( sys-apps/systemd-tmpfiles )
-	usbguard? ( sys-apps/usbguard )
-	kvm_host? (
-		chromeos-base/crosdns
-		chromeos-base/crostini_client
-		chromeos-base/vm_host_tools
-		chromeos-base/termina-dlc
-	)
-	sys-kernel/linux-firmware
-	virtual/chromeos-bsp
-	virtual/chromeos-firewall
-	!factory_branch? ( virtual/chromeos-firmware )
-	virtual/chromeos-interface
-	virtual/chromeos-regions
-	virtual/implicit-system
-	virtual/linux-sources
-	virtual/modutils
-	virtual/service-manager
-	cr50_onboard? (
-		chromeos-base/chromeos-cr50
-		chromeos-base/u2fd
-	)
-	ti50_onboard? (
-		chromeos-base/chromeos-ti50
-		chromeos-base/u2fd
-	)
-	tpm? ( chromeos-base/u2fd )
-	ime? (
-		app-i18n/chinese-input
-		app-i18n/keyboard-input
-		app-i18n/japanese-input
-		app-i18n/hangul-input
-	)
-	fuzzer? ( virtual/target-fuzzers )
-	!dev-python/socksipy
-	arc-camera1? ( chromeos-base/cros-camera )
-	arc-camera3? ( chromeos-base/cros-camera )
-	fwupd? (
-		sys-apps/fwupd
-		sys-firmware/fwupd-peripherals
-		mmc? ( sys-firmware/mmc-firmware )
-	)
-	smbprovider? (
-		chromeos-base/smbfs
-		chromeos-base/smbprovider
-	)
-	typecd? ( chromeos-base/typecd )
-	pciguard? ( chromeos-base/pciguard )
-	minios? ( chromeos-base/minios )
-	secanomalyd? ( chromeos-base/secanomalyd )
-	lacros_rootfs? ( chromeos-base/chromeos-lacros )
-	dns-proxy? ( chromeos-base/dns-proxy )
-	featured? ( chromeos-base/featured )
-"
-
-################################################################################
-#
-# CROS_* : Dependencies for "regular" CrOS devices (coreutils, X etc)
-#
-# Comments on individual packages:
-# --------------------------------
-# app-editors/vim:
-# Specifically include the editor we want to appear in chromeos images, so that
-# it is deterministic which editor is chosen by 'virtual/editor' dependencies
-# (such as in the 'sudo' package).  See crosbug.com/5777.
-#
-# app-shells/bash:
-# We depend on dash for the /bin/sh shell for runtime speeds, but we also
-# depend on bash to make the dev mode experience better.  We do not enable
-# things like line editing in dash, so its interactive mode is very bare.
-################################################################################
-
-CROS_X86_RDEPEND="
-	dptf? ( virtual/dptf )
-	intel_lpe? ( virtual/lpe-support )
-"
-
-CROS_RDEPEND="
-	x86? ( ${CROS_X86_RDEPEND} )
-	amd64? ( ${CROS_X86_RDEPEND} )
-"
-
-# Anything behind a USE flag belongs in the main RDEPEND list above.
-# New packages usually should be behind a USE flag.
-CROS_RDEPEND="${CROS_RDEPEND}
-	app-arch/tar
-	app-editors/vim
-	app-shells/bash
-	chromeos-base/common-assets
-	chromeos-base/chromeos-imageburner
-	chromeos-base/crosh
-	chromeos-base/crosh-extension
-	chromeos-base/inputcontrol
-	chromeos-base/mtpd
-	chromeos-base/permission_broker
-	chromeos-base/userfeedback
-	chromeos-base/vboot_reference
-	chromeos-base/vpd
-	net-wireless/crda
-	sys-apps/dbus
-	sys-apps/flashrom
-	sys-apps/iproute2
-	sys-apps/rootdev
-	!systemd? ( sys-apps/upstart )
-	sys-fs/e2fsprogs
-	virtual/assets
-	virtual/cheets
-	virtual/udev
-"
-
-RDEPEND+="!cros_embedded? ( ${CROS_RDEPEND} )"
diff --git a/virtual/target-chromium-os/target-chromium-os-1-r218.ebuild b/virtual/target-chromium-os/target-chromium-os-1-r218.ebuild
new file mode 100644
index 0000000..5939184
--- /dev/null
+++ b/virtual/target-chromium-os/target-chromium-os-1-r218.ebuild
@@ -0,0 +1,433 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
+# the canonical empty project.
+CROS_WORKON_COMMIT="e8d0ce9c4326f0e57235f1acead1fcbc1ba2d0b9"
+CROS_WORKON_TREE="f365214c3256d3259d78a5f4516923c79940b702"
+CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
+CROS_WORKON_LOCALNAME="../platform/empty-project"
+
+inherit cros-workon
+
+DESCRIPTION="List of packages that are needed inside the Chromium OS base (release)"
+HOMEPAGE="https://dev.chromium.org/"
+
+LICENSE="metapackage"
+SLOT="0"
+KEYWORDS="*"
+# Note: Do not utilize USE=internal here.  Update virtual/target-chrome-os instead.
+# Note: You almost never want to use + here to enable settings by default.
+# Please see https://crrev.com/c/2776455 as an example instead.
+IUSE="
+	asan
+	arc-camera1
+	arc-camera3
+	assistant-dlc
+	biod
+	bluetooth
+	bootchart
+	cellular
+	chargesplash
+	chrome_internal
+	compupdates
+	containers
+	cr50_onboard
+	+cras
+	+crash_reporting
+	+cros_disks
+	cros_embedded
+	cups
+	+debugd
+	diagnostics
+	dlc
+	dlc_test
+	dlp
+	dns-proxy
+	dptf
+	eclog
+	factory_branch
+	featured
+	federated_service
+	floss
+	+fonts
+	fpstudy
+	fusebox
+	fuzzer
+	fwupd
+	gl3590
+	hammerd
+	iioservice
+	ime
+	input_devices_evdev
+	intel_lpe
+	iwlwifi_rescan
+	kerberos_daemon
+	kvm_host
+	lacros_rootfs
+	lvm_stateful_partition
+	manatee
+	media_perception
+	memd
+	missive
+	mist
+	minios
+	mmc
+	secanomalyd
+	modemfwd
+	ml_service
+	mojo_service_manager
+	hps
+	mtd
+	+network_time
+	nfc
+	ondevice_handwriting
+	os_install_service
+	pam
+	pciguard
+	perfetto
+	postscript
+	+power_management
+	+profile
+	racc
+	+readahead
+	resourced
+	rgbkbd
+	rmad
+	scanner
+	selinux
+	+shill
+	sirenia
+	smbprovider
+	spaced
+	+syslog
+	+system_locales
+	system_proxy
+	systemd
+	ti50_onboard
+	touchview
+	+tpm
+	-tpm2
+	+trim_supported
+	typecd
+	ubsan
+	usb_bouncer
+	usbguard
+	+vpn
+	watchdog
+"
+
+REQUIRED_USE="
+	cellular? ( shill )
+	modemfwd? ( cellular )
+"
+
+################################################################################
+#
+# READ THIS BEFORE ADDING PACKAGES TO THIS EBUILD!
+#
+################################################################################
+#
+# Every chromeos dependency (along with its dependencies) is included in the
+# release image -- more packages contribute to longer build times, a larger
+# image, slower and bigger auto-updates, increased security risks, etc. Consider
+# the following before adding a new package:
+#
+# 1. Does the package really need to be part of the release image?
+#
+# Some packages can be included only in the developer or test images, i.e., the
+# target-os-dev or chromeos-test ebuilds. If the package will eventually be used
+# in the release but it's still under development, consider adding it to
+# target-os-dev initially until it's ready for production.
+#
+# 2. Why is the package a direct dependency of the chromeos ebuild?
+#
+# It makes sense for some packages to be included as a direct dependency of the
+# chromeos ebuild but for most it doesn't. The package should be added as a
+# direct dependency of the ebuilds for all packages that actually use it -- in
+# time, this ensures correct builds and allows easier cleanup of obsolete
+# packages. For example, if a utility will be invoked by the session manager,
+# its package should be added as a dependency in the chromeos-login ebuild. If
+# the package really needs to be a direct dependency of the chromeos ebuild,
+# consider adding a comment why the package is needed and how it's used.
+#
+# 3. Are all default package features and dependent packages needed?
+#
+# The release image should include only packages and features that are needed in
+# the production system. Often packages pull in features and additional packages
+# that are never used. Review these and consider pruning them (e.g., through USE
+# flags).
+#
+# 4. What is the impact on the image size?
+#
+# Before adding a package, evaluate the impact on the image size. If the package
+# and its dependencies increase the image size significantly, consider
+# alternative packages or approaches.
+#
+# 5. Is the package needed on all targets?
+#
+# If the package is needed only on some target boards, consider making it
+# conditional through USE flags in the board overlays.
+#
+# Variable Naming Convention:
+# ---------------------------
+# CROS_COMMON_* : Dependencies common to all CrOS flavors
+# CROS_* : Dependencies for "regular" CrOS devices (coreutils, etc.)
+################################################################################
+
+################################################################################
+#
+# Per Package Comments:
+# --------------------
+# Please add any comments specific to why certain packages are
+# pulled into the dependency here. This is optional and required only when
+# the dependency isn't obvious.
+#
+################################################################################
+
+################################################################################
+#
+# Dependencies common to all CrOS flavors (embedded, regular).
+# Everything in here should be behind a USE flag.
+#
+################################################################################
+RDEPEND="
+	input_devices_evdev? ( app-misc/evtest )
+	syslog? (
+		app-admin/rsyslog
+		chromeos-base/croslog
+		chromeos-base/bootid-logger
+	)
+	biod? ( chromeos-base/biod )
+	chargesplash? ( chromeos-base/chargesplash )
+	fpstudy? ( chromeos-base/fingerprint_study )
+	compupdates? ( chromeos-base/imageloader )
+	dlc? (
+		app-accessibility/pumpkin
+		chromeos-base/dlcservice
+		chromeos-base/sample-dlc
+		chromeos-languagepacks/tts-es-us
+	)
+	bluetooth? ( net-wireless/bluez )
+	floss? (
+		!asan? (
+			!ubsan? ( net-wireless/floss )
+		)
+	)
+	bootchart? ( app-benchmarks/bootchart )
+	tpm? (
+		app-crypt/trousers
+		chromeos-base/chaps
+	)
+	tpm2? (
+		chromeos-base/trunks
+		chromeos-base/vtpm
+	)
+	pam? ( virtual/chromeos-auth-config )
+	federated_service? ( chromeos-base/federated-service )
+	fonts? ( chromeos-base/chromeos-fonts )
+	chromeos-base/chromeos-installer
+	chromeos-base/dev-install
+	os_install_service? ( chromeos-base/os_install_service )
+	perfetto? ( chromeos-base/perfetto )
+	crash_reporting? ( chromeos-base/crash-reporter )
+	missive? ( chromeos-base/missive )
+	mist? ( chromeos-base/mist )
+	modemfwd? ( chromeos-base/modemfwd )
+	containers? ( chromeos-base/run_oci )
+	cros_disks? ( chromeos-base/cros-disks )
+	debugd? ( chromeos-base/debugd )
+	diagnostics? ( chromeos-base/diagnostics )
+	dlp? ( chromeos-base/dlp )
+	kerberos_daemon? ( chromeos-base/kerberos )
+	scanner? ( chromeos-base/lorgnette )
+	ml_service? ( chromeos-base/ml )
+	ondevice_handwriting? (
+		chromeos-languagepacks/handwriting-da
+		chromeos-languagepacks/handwriting-de
+		chromeos-languagepacks/handwriting-es
+		chromeos-languagepacks/handwriting-fi
+		chromeos-languagepacks/handwriting-fr
+		chromeos-languagepacks/handwriting-it
+		chromeos-languagepacks/handwriting-ja
+		chromeos-languagepacks/handwriting-nl
+		chromeos-languagepacks/handwriting-pt
+		chromeos-languagepacks/handwriting-sv
+	)
+	hps? (
+		chromeos-base/hpsd
+		chromeos-base/hps-firmware-images
+		!asan? (
+			!ubsan? ( chromeos-base/hps-firmware )
+		)
+	)
+	hammerd? ( chromeos-base/hammerd )
+	racc? (
+		chromeos-base/hardware_verifier
+		chromeos-base/runtime_probe
+	)
+	rgbkbd? ( chromeos-base/rgbkbd )
+	rmad? ( chromeos-base/rmad )
+	iioservice? ( chromeos-base/iioservice )
+	media_perception? ( chromeos-base/mri_package )
+	memd? ( chromeos-base/memd )
+	power_management? ( chromeos-base/power_manager )
+	!chromeos-base/platform2
+	profile? ( chromeos-base/quipper )
+	resourced? ( chromeos-base/resourced )
+	selinux? ( chromeos-base/selinux-policy )
+	shill? ( >=chromeos-base/shill-0.0.1-r2205 )
+	manatee? ( chromeos-base/sirenia )
+	sirenia? ( chromeos-base/sirenia )
+	spaced? ( chromeos-base/spaced )
+	usb_bouncer? ( chromeos-base/usb_bouncer )
+	chromeos-base/update_engine
+	vpn? ( chromeos-base/vpn-manager )
+	cras? (
+		media-sound/adhd
+		media-sound/cras_tests
+	)
+	trim_supported? ( chromeos-base/chromeos-trim )
+	network_time? ( net-misc/tlsdate )
+	iwlwifi_rescan? ( net-wireless/iwlwifi_rescan )
+	nfc? ( net-wireless/neard chromeos-base/neard-configs )
+	readahead? ( sys-apps/ureadahead )
+	pam? ( sys-auth/pam_pwdfile )
+	watchdog? ( sys-apps/daisydog )
+	mtd? ( sys-fs/mtd-utils )
+	cups? ( virtual/chromium-os-printing )
+	touchview? (
+		!iioservice? ( chromeos-base/chromeos-accelerometer-init )
+	)
+	system_locales? ( chromeos-base/system-locales )
+	system_proxy? ( chromeos-base/system-proxy )
+	eclog? ( chromeos-base/timberslide )
+	chromeos-base/chromeos-machine-id-regen
+	systemd? ( sys-apps/systemd )
+	!systemd? ( sys-apps/systemd-tmpfiles )
+	usbguard? ( sys-apps/usbguard )
+	kvm_host? (
+		chromeos-base/crosdns
+		chromeos-base/crostini_client
+		chromeos-base/vm_host_tools
+		chromeos-base/termina-dlc
+	)
+	sys-kernel/linux-firmware
+	virtual/chromeos-bsp
+	virtual/chromeos-firewall
+	!factory_branch? ( virtual/chromeos-firmware )
+	virtual/chromeos-interface
+	virtual/chromeos-regions
+	virtual/implicit-system
+	virtual/linux-sources
+	sys-apps/kmod[tools]
+	virtual/service-manager
+	cr50_onboard? (
+		chromeos-base/chromeos-cr50
+		chromeos-base/u2fd
+	)
+	ti50_onboard? (
+		chromeos-base/chromeos-ti50
+		chromeos-base/u2fd
+	)
+	tpm? ( chromeos-base/u2fd )
+	ime? (
+		app-i18n/chinese-input
+		app-i18n/keyboard-input
+		app-i18n/japanese-input
+		app-i18n/hangul-input
+	)
+	fuzzer? ( virtual/target-fuzzers )
+	!dev-python/socksipy
+	arc-camera1? ( chromeos-base/cros-camera )
+	arc-camera3? ( chromeos-base/cros-camera )
+	fwupd? (
+		sys-apps/fwupd
+		sys-firmware/fwupd-peripherals
+		sys-firmware/fwupd-storage
+		mmc? ( sys-firmware/mmc-firmware )
+		gl3590? ( sys-firmware/gl3590-firmware )
+	)
+	smbprovider? (
+		chromeos-base/smbfs
+		chromeos-base/smbprovider
+	)
+	typecd? ( chromeos-base/typecd )
+	pciguard? ( chromeos-base/pciguard )
+	minios? ( chromeos-base/minios )
+	secanomalyd? ( chromeos-base/secanomalyd )
+	lacros_rootfs? ( chromeos-base/chromeos-lacros )
+	dns-proxy? ( chromeos-base/dns-proxy )
+	featured? ( chromeos-base/featured )
+	fusebox? ( chromeos-base/fusebox )
+	chrome_internal? (
+		assistant-dlc? ( chromeos-base/assistant-dlc )
+	)
+	mojo_service_manager? ( chromeos-base/mojo_service_manager )
+	lvm_stateful_partition? ( chromeos-base/lvmd )
+"
+
+################################################################################
+#
+# CROS_* : Dependencies for "regular" CrOS devices (coreutils, X etc)
+#
+# Comments on individual packages:
+# --------------------------------
+# app-editors/vim:
+# Specifically include the editor we want to appear in chromeos images, so that
+# it is deterministic which editor is chosen by 'virtual/editor' dependencies
+# (such as in the 'sudo' package).  See crosbug.com/5777.
+#
+# app-shells/bash:
+# We depend on dash for the /bin/sh shell for runtime speeds, but we also
+# depend on bash to make the dev mode experience better.  We do not enable
+# things like line editing in dash, so its interactive mode is very bare.
+################################################################################
+
+CROS_X86_RDEPEND="
+	dptf? ( virtual/dptf )
+	intel_lpe? ( virtual/lpe-support )
+"
+
+CROS_RDEPEND="
+	x86? ( ${CROS_X86_RDEPEND} )
+	amd64? ( ${CROS_X86_RDEPEND} )
+"
+
+# Anything behind a USE flag belongs in the main RDEPEND list above.
+# New packages usually should be behind a USE flag.
+CROS_RDEPEND="${CROS_RDEPEND}
+	app-arch/tar
+	app-editors/vim
+	app-shells/bash
+	chromeos-base/common-assets
+	chromeos-base/chromeos-imageburner
+	chromeos-base/crosh
+	chromeos-base/crosh-extension
+	chromeos-base/inputcontrol
+	chromeos-base/mtpd
+	chromeos-base/permission_broker
+	chromeos-base/userfeedback
+	chromeos-base/vboot_reference
+	chromeos-base/vpd
+	net-wireless/crda
+	sys-apps/dbus
+	sys-apps/flashrom
+	sys-apps/iproute2
+	sys-apps/rootdev
+	!systemd? ( sys-apps/upstart )
+	sys-fs/e2fsprogs
+	virtual/assets
+	virtual/cheets
+	virtual/udev
+"
+
+# TODO(toolchain): Remove this libxcrypt dep after all packages directly depend
+# on it and it is not installed as a system library anymore
+CROS_RDEPEND="${CROS_RDEPEND}
+	sys-libs/libxcrypt
+"
+
+RDEPEND+="!cros_embedded? ( ${CROS_RDEPEND} )"
diff --git a/virtual/target-chromium-os/target-chromium-os-9999.ebuild b/virtual/target-chromium-os/target-chromium-os-9999.ebuild
index cfcc643..3729492 100644
--- a/virtual/target-chromium-os/target-chromium-os-9999.ebuild
+++ b/virtual/target-chromium-os/target-chromium-os-9999.ebuild
@@ -23,10 +23,13 @@
 	asan
 	arc-camera1
 	arc-camera3
+	assistant-dlc
 	biod
 	bluetooth
 	bootchart
 	cellular
+	chargesplash
+	chrome_internal
 	compupdates
 	containers
 	cr50_onboard
@@ -49,8 +52,10 @@
 	floss
 	+fonts
 	fpstudy
+	fusebox
 	fuzzer
 	fwupd
+	gl3590
 	hammerd
 	iioservice
 	ime
@@ -60,6 +65,7 @@
 	kerberos_daemon
 	kvm_host
 	lacros_rootfs
+	lvm_stateful_partition
 	manatee
 	media_perception
 	memd
@@ -70,6 +76,7 @@
 	secanomalyd
 	modemfwd
 	ml_service
+	mojo_service_manager
 	hps
 	mtd
 	+network_time
@@ -85,6 +92,7 @@
 	racc
 	+readahead
 	resourced
+	rgbkbd
 	rmad
 	scanner
 	selinux
@@ -191,12 +199,14 @@
 		chromeos-base/bootid-logger
 	)
 	biod? ( chromeos-base/biod )
+	chargesplash? ( chromeos-base/chargesplash )
 	fpstudy? ( chromeos-base/fingerprint_study )
 	compupdates? ( chromeos-base/imageloader )
-	dlc? ( chromeos-base/dlcservice )
-	dlc_test? (
+	dlc? (
+		app-accessibility/pumpkin
+		chromeos-base/dlcservice
 		chromeos-base/sample-dlc
-		chromeos-base/test-dlc
+		chromeos-languagepacks/tts-es-us
 	)
 	bluetooth? ( net-wireless/bluez )
 	floss? (
@@ -209,7 +219,10 @@
 		app-crypt/trousers
 		chromeos-base/chaps
 	)
-	tpm2? ( chromeos-base/trunks )
+	tpm2? (
+		chromeos-base/trunks
+		chromeos-base/vtpm
+	)
 	pam? ( virtual/chromeos-auth-config )
 	federated_service? ( chromeos-base/federated-service )
 	fonts? ( chromeos-base/chromeos-fonts )
@@ -230,71 +243,16 @@
 	scanner? ( chromeos-base/lorgnette )
 	ml_service? ( chromeos-base/ml )
 	ondevice_handwriting? (
-		chromeos-base/languagepack-handwriting-es
-		chromeos-languagepacks/handwriting-am
-		chromeos-languagepacks/handwriting-ar
-		chromeos-languagepacks/handwriting-be
-		chromeos-languagepacks/handwriting-bg
-		chromeos-languagepacks/handwriting-bn
-		chromeos-languagepacks/handwriting-ca
-		chromeos-languagepacks/handwriting-cs
 		chromeos-languagepacks/handwriting-da
 		chromeos-languagepacks/handwriting-de
-		chromeos-languagepacks/handwriting-el
 		chromeos-languagepacks/handwriting-es
-		chromeos-languagepacks/handwriting-et
-		chromeos-languagepacks/handwriting-fa
 		chromeos-languagepacks/handwriting-fi
 		chromeos-languagepacks/handwriting-fr
-		chromeos-languagepacks/handwriting-ga
-		chromeos-languagepacks/handwriting-gu
-		chromeos-languagepacks/handwriting-hi
-		chromeos-languagepacks/handwriting-hr
-		chromeos-languagepacks/handwriting-hu
-		chromeos-languagepacks/handwriting-hy
-		chromeos-languagepacks/handwriting-id
-		chromeos-languagepacks/handwriting-is
 		chromeos-languagepacks/handwriting-it
-		chromeos-languagepacks/handwriting-iw
 		chromeos-languagepacks/handwriting-ja
-		chromeos-languagepacks/handwriting-ka
-		chromeos-languagepacks/handwriting-kk
-		chromeos-languagepacks/handwriting-km
-		chromeos-languagepacks/handwriting-kn
-		chromeos-languagepacks/handwriting-ko
-		chromeos-languagepacks/handwriting-lo
-		chromeos-languagepacks/handwriting-lt
-		chromeos-languagepacks/handwriting-lv
-		chromeos-languagepacks/handwriting-ml
-		chromeos-languagepacks/handwriting-mn
-		chromeos-languagepacks/handwriting-mr
-		chromeos-languagepacks/handwriting-ms
-		chromeos-languagepacks/handwriting-mt
-		chromeos-languagepacks/handwriting-my
-		chromeos-languagepacks/handwriting-ne
 		chromeos-languagepacks/handwriting-nl
-		chromeos-languagepacks/handwriting-no
-		chromeos-languagepacks/handwriting-or
-		chromeos-languagepacks/handwriting-pa
-		chromeos-languagepacks/handwriting-pl
 		chromeos-languagepacks/handwriting-pt
-		chromeos-languagepacks/handwriting-ro
-		chromeos-languagepacks/handwriting-ru
-		chromeos-languagepacks/handwriting-si
-		chromeos-languagepacks/handwriting-sk
-		chromeos-languagepacks/handwriting-sl
-		chromeos-languagepacks/handwriting-sr
 		chromeos-languagepacks/handwriting-sv
-		chromeos-languagepacks/handwriting-ta
-		chromeos-languagepacks/handwriting-te
-		chromeos-languagepacks/handwriting-th
-		chromeos-languagepacks/handwriting-ti
-		chromeos-languagepacks/handwriting-tl
-		chromeos-languagepacks/handwriting-tr
-		chromeos-languagepacks/handwriting-uk
-		chromeos-languagepacks/handwriting-ur
-		chromeos-languagepacks/handwriting-vi
-		chromeos-languagepacks/handwriting-zh
 	)
 	hps? (
 		chromeos-base/hpsd
@@ -308,6 +266,7 @@
 		chromeos-base/hardware_verifier
 		chromeos-base/runtime_probe
 	)
+	rgbkbd? ( chromeos-base/rgbkbd )
 	rmad? ( chromeos-base/rmad )
 	iioservice? ( chromeos-base/iioservice )
 	media_perception? ( chromeos-base/mri_package )
@@ -361,7 +320,7 @@
 	virtual/chromeos-regions
 	virtual/implicit-system
 	virtual/linux-sources
-	virtual/modutils
+	sys-apps/kmod[tools]
 	virtual/service-manager
 	cr50_onboard? (
 		chromeos-base/chromeos-cr50
@@ -385,7 +344,9 @@
 	fwupd? (
 		sys-apps/fwupd
 		sys-firmware/fwupd-peripherals
+		sys-firmware/fwupd-storage
 		mmc? ( sys-firmware/mmc-firmware )
+		gl3590? ( sys-firmware/gl3590-firmware )
 	)
 	smbprovider? (
 		chromeos-base/smbfs
@@ -398,6 +359,12 @@
 	lacros_rootfs? ( chromeos-base/chromeos-lacros )
 	dns-proxy? ( chromeos-base/dns-proxy )
 	featured? ( chromeos-base/featured )
+	fusebox? ( chromeos-base/fusebox )
+	chrome_internal? (
+		assistant-dlc? ( chromeos-base/assistant-dlc )
+	)
+	mojo_service_manager? ( chromeos-base/mojo_service_manager )
+	lvm_stateful_partition? ( chromeos-base/lvmd )
 "
 
 ################################################################################
@@ -455,4 +422,10 @@
 	virtual/udev
 "
 
+# TODO(toolchain): Remove this libxcrypt dep after all packages directly depend
+# on it and it is not installed as a system library anymore
+CROS_RDEPEND="${CROS_RDEPEND}
+	sys-libs/libxcrypt
+"
+
 RDEPEND+="!cros_embedded? ( ${CROS_RDEPEND} )"
diff --git a/virtual/target-sdk-nobdeps/OWNERS b/virtual/target-sdk-nobdeps/OWNERS
new file mode 100644
index 0000000..d39c14f
--- /dev/null
+++ b/virtual/target-sdk-nobdeps/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/infra/OWNERS.build
diff --git a/virtual/target-sdk-post-cross/OWNERS b/virtual/target-sdk-post-cross/OWNERS
new file mode 100644
index 0000000..d39c14f
--- /dev/null
+++ b/virtual/target-sdk-post-cross/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/infra/OWNERS.build
diff --git a/virtual/target-sdk/OWNERS b/virtual/target-sdk/OWNERS
new file mode 100644
index 0000000..d39c14f
--- /dev/null
+++ b/virtual/target-sdk/OWNERS
@@ -0,0 +1 @@
+include chromiumos/owners:v1:/infra/OWNERS.build
diff --git a/virtual/tast-remote-tests/OWNERS b/virtual/tast-remote-tests/OWNERS
new file mode 100644
index 0000000..dc74cf1
--- /dev/null
+++ b/virtual/tast-remote-tests/OWNERS
@@ -0,0 +1,2 @@
+# Owned by Tast framework OWNERs.
+include chromiumos/platform/tast:/OWNERS
diff --git a/virtual/tast-remote-tests/tast-remote-tests-1-r1.ebuild b/virtual/tast-remote-tests/tast-remote-tests-1-r1.ebuild
new file mode 120000
index 0000000..8391d58
--- /dev/null
+++ b/virtual/tast-remote-tests/tast-remote-tests-1-r1.ebuild
@@ -0,0 +1 @@
+tast-remote-tests-1.ebuild
\ No newline at end of file
diff --git a/virtual/tast-remote-tests/tast-remote-tests-1.ebuild b/virtual/tast-remote-tests/tast-remote-tests-1.ebuild
new file mode 100644
index 0000000..55bc2bc
--- /dev/null
+++ b/virtual/tast-remote-tests/tast-remote-tests-1.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Virtual package for private Tast local test bundles.
+This package can be overridden by overlays to bring in private tests."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast/"
+
+LICENSE="metapackage"
+SLOT="0"
+KEYWORDS="*"
+IUSE=""
+
+RDEPEND=""
+DEPEND=""
diff --git a/virtual/toolchain-packages/toolchain-packages-1-r3.ebuild b/virtual/toolchain-packages/toolchain-packages-1-r4.ebuild
similarity index 100%
rename from virtual/toolchain-packages/toolchain-packages-1-r3.ebuild
rename to virtual/toolchain-packages/toolchain-packages-1-r4.ebuild
diff --git a/virtual/toolchain-packages/toolchain-packages-1.ebuild b/virtual/toolchain-packages/toolchain-packages-1.ebuild
index 8dd6f05..f245600 100644
--- a/virtual/toolchain-packages/toolchain-packages-1.ebuild
+++ b/virtual/toolchain-packages/toolchain-packages-1.ebuild
@@ -29,6 +29,7 @@
 	sys-libs/glibc
 	sys-libs/libcxx
 	sys-libs/libcxxabi
+	sys-libs/libxcrypt
 	sys-libs/llvm-libunwind
 "
 
diff --git a/virtual/update-policy/OWNERS b/virtual/update-policy/OWNERS
new file mode 100644
index 0000000..16d6476
--- /dev/null
+++ b/virtual/update-policy/OWNERS
@@ -0,0 +1 @@
+include chromiumos/chromite:/OWNERS.au
diff --git a/x11-apps/OWNERS b/x11-apps/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/x11-apps/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/x11-apps/igt-gpu-tools/igt-gpu-tools-1.25-r20.ebuild b/x11-apps/igt-gpu-tools/igt-gpu-tools-1.25-r23.ebuild
similarity index 100%
rename from x11-apps/igt-gpu-tools/igt-gpu-tools-1.25-r20.ebuild
rename to x11-apps/igt-gpu-tools/igt-gpu-tools-1.25-r23.ebuild
diff --git a/x11-apps/igt-gpu-tools/igt-gpu-tools-9999.ebuild b/x11-apps/igt-gpu-tools/igt-gpu-tools-9999.ebuild
index 20b94b1..ebbb7df 100644
--- a/x11-apps/igt-gpu-tools/igt-gpu-tools-9999.ebuild
+++ b/x11-apps/igt-gpu-tools/igt-gpu-tools-9999.ebuild
@@ -8,8 +8,8 @@
 fi
 
 if [[ ${PV} != *9999* ]]; then
-	CROS_WORKON_COMMIT=ef0df2fbe5847fe5c4426b8a86a0b101588d0586
-	CROS_WORKON_TREE=97ded91d8c8e02279f02167e83326aa1ef055ed5
+	CROS_WORKON_COMMIT=93fa4422bd91c47fbc5699efa3725287a7754699
+	CROS_WORKON_TREE=9139af283af4f21d30aa5b68505cb2dfde7a8d6f
 	CROS_WORKON_EGIT_BRANCH=master
 fi
 
diff --git a/x11-apps/metadata.xml b/x11-apps/metadata.xml
deleted file mode 100644
index acb438f..0000000
--- a/x11-apps/metadata.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		x11-apps contains applications distributed as part of X.Org X11.
-	</longdescription>
-	<longdescription lang="ja">
-		x11-appsカテゴリにはX.Org X11のパッケージソフトが含まれます。
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie x11-apps enthält Applikationen welche mit X.Org 
-		X11 ausgeliefert werden.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria x11-apps contém aplicações distribuídas como parte
-		do X.Org X11.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria x11-apps zawiera programy wchodzące w skład środowiska
-		graficznego X.Org X11.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría x11-apps contiene aplicaciones que se distribuyen como
-		parte de X.Org X11.
-	</longdescription>
-</catmetadata>
-
diff --git a/x11-base/metadata.xml b/x11-base/metadata.xml
deleted file mode 100644
index 5293f86..0000000
--- a/x11-base/metadata.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The x11-base category contains various X11 base implementations.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie x11-base enthält verschiedene X11 Implementierungen.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría x11-base contiene varias implementaciones base de X11.
-	</longdescription>
-	<longdescription lang="ja">
-		x11-baseカテゴリーには様々なX11を基本とした実行環境が含まれています。
-	</longdescription>
-	<longdescription lang="nl">
-		De x11-base categorie bevat verschillende implementaties van X11.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm x11-base chứa các bản cài đặt X11 cơ sở.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria x11-base contiene varie implementazioni base di X11.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria x11-base contém várias implementações de base de
-		X11.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria x11-base zawiera podstawowe implementacje X11.
-	</longdescription>
-</catmetadata>
-
diff --git a/x11-base/xwayland/OWNERS b/x11-base/xwayland/OWNERS
new file mode 100644
index 0000000..9b6c853
--- /dev/null
+++ b/x11-base/xwayland/OWNERS
@@ -0,0 +1 @@
+include chromiumos/platform2:/vm_tools/sommelier/OWNERS
diff --git a/x11-base/xwayland/xwayland-1.20.8-r3.ebuild b/x11-base/xwayland/xwayland-1.20.8-r4.ebuild
similarity index 100%
rename from x11-base/xwayland/xwayland-1.20.8-r3.ebuild
rename to x11-base/xwayland/xwayland-1.20.8-r4.ebuild
diff --git a/x11-base/xwayland/xwayland-1.20.8.ebuild b/x11-base/xwayland/xwayland-1.20.8.ebuild
index bb3cf26..61e478e 100644
--- a/x11-base/xwayland/xwayland-1.20.8.ebuild
+++ b/x11-base/xwayland/xwayland-1.20.8.ebuild
@@ -31,6 +31,7 @@
 DEPEND="${RDEPEND}
 	>=dev-libs/wayland-protocols-1.1
 	>=sys-kernel/linux-headers-4.4-r16
+	media-fonts/font-util
 	media-libs/libepoxy
 	>=x11-libs/libdrm-2.4.46
 	>=x11-libs/libxkbfile-1.0.4
diff --git a/x11-drivers/OWNERS b/x11-drivers/OWNERS
new file mode 100644
index 0000000..db7e695
--- /dev/null
+++ b/x11-drivers/OWNERS
@@ -0,0 +1,2 @@
+# TODO: Add per-package OWNERS and delete this when done.
+*
diff --git a/x11-drivers/metadata.xml b/x11-drivers/metadata.xml
deleted file mode 100644
index 2357fd1..0000000
--- a/x11-drivers/metadata.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		x11-drivers contain drivers that interface with the core X11 server.
-	</longdescription>
-	<longdescription lang="ja">
-		x11-driversカテゴリにはX11コアサーバとインタフェスするドライバが含まれます。
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie x11-drivers enthält zusätzliche Treiber für den X-Server.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria x11-drivers contém drivers que fazem interface com
-		o servidor de X11 principal.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria x11-drivers zawiera sterowniki dla serwera X11.
-	</longdescription>
-	<longdescription lang="es">
-		x11-drivers contiene controladores que interactúan con el servidor
-		principal X11.
-	</longdescription>
-</catmetadata>
-
diff --git a/x11-drivers/opengles-headers/opengles-headers-0.0.1-r41.ebuild b/x11-drivers/opengles-headers/opengles-headers-0.0.1-r41.ebuild
index 6ec9d27..812c557 100644
--- a/x11-drivers/opengles-headers/opengles-headers-0.0.1-r41.ebuild
+++ b/x11-drivers/opengles-headers/opengles-headers-0.0.1-r41.ebuild
@@ -8,7 +8,7 @@
 CROS_WORKON_LOCALNAME="khronos"
 CROS_WORKON_EGIT_BRANCH="master"
 
-inherit cros-workon
+inherit cros-workon cros-sanitizers
 
 DESCRIPTION="OpenGL|ES headers."
 HOMEPAGE="http://www.khronos.org/opengles/2_X/"
@@ -28,6 +28,11 @@
 	${DEPEND}
 "
 
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
 src_install() {
 	# headers
 	insinto /usr/include/EGL
diff --git a/x11-drivers/opengles-headers/opengles-headers-9999.ebuild b/x11-drivers/opengles-headers/opengles-headers-9999.ebuild
index bf8631e6..b1bfed9 100644
--- a/x11-drivers/opengles-headers/opengles-headers-9999.ebuild
+++ b/x11-drivers/opengles-headers/opengles-headers-9999.ebuild
@@ -5,7 +5,7 @@
 CROS_WORKON_PROJECT="chromiumos/third_party/khronos"
 CROS_WORKON_LOCALNAME="khronos"
 
-inherit cros-workon
+inherit cros-workon cros-sanitizers
 
 DESCRIPTION="OpenGL|ES headers."
 HOMEPAGE="http://www.khronos.org/opengles/2_X/"
@@ -25,6 +25,11 @@
 	${DEPEND}
 "
 
+src_configure() {
+	sanitizers-setup-env
+	default
+}
+
 src_install() {
 	# headers
 	insinto /usr/include/EGL
diff --git a/x11-libs/OWNERS b/x11-libs/OWNERS
new file mode 100644
index 0000000..b1a13cb
--- /dev/null
+++ b/x11-libs/OWNERS
@@ -0,0 +1 @@
+include chromiumos/overlays/portage-stable:/x11-libs/OWNERS
diff --git a/x11-libs/arc-libdrm/arc-libdrm-2.4.109-r1.ebuild b/x11-libs/arc-libdrm/arc-libdrm-2.4.110-r1.ebuild
similarity index 100%
rename from x11-libs/arc-libdrm/arc-libdrm-2.4.109-r1.ebuild
rename to x11-libs/arc-libdrm/arc-libdrm-2.4.110-r1.ebuild
diff --git a/x11-libs/arc-libdrm/arc-libdrm-9999.ebuild b/x11-libs/arc-libdrm/arc-libdrm-9999.ebuild
index e984a92..6bd2acc 100644
--- a/x11-libs/arc-libdrm/arc-libdrm-9999.ebuild
+++ b/x11-libs/arc-libdrm/arc-libdrm-9999.ebuild
@@ -4,8 +4,8 @@
 EAPI="7"
 EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/drm.git"
 if [[ ${PV} != *9999* ]]; then
-	CROS_WORKON_COMMIT="febfe0addd51a48c7c9dd7fd9ddf9b5a3b5cd7c6"
-	CROS_WORKON_TREE="5f4c92a363b4fc05db51694f9aa9e99aa7fdaaa8"
+	CROS_WORKON_COMMIT="56f81e6776c1c100c3f627b2c1feb9dcae2aad3c"
+	CROS_WORKON_TREE="f2dad5f135f56bf9e56b44d5b9637ffb59d38f23"
 fi
 CROS_WORKON_PROJECT="chromiumos/third_party/libdrm"
 CROS_WORKON_LOCALNAME="libdrm"
@@ -64,10 +64,10 @@
 	local emesonargs=(
 		-Dinstall-test-programs=false
 		$(meson_use video_cards_amdgpu amdgpu)
-		$(meson_use video_cards_exynos exynos-experimental-api)
+		$(meson_use video_cards_exynos exynos)
 		$(meson_use video_cards_freedreno freedreno)
 		$(meson_use video_cards_nouveau nouveau)
-		$(meson_use video_cards_omap omap-experimental-api)
+		$(meson_use video_cards_omap omap)
 		$(meson_use video_cards_radeon radeon)
 		$(meson_use video_cards_vc4 vc4)
 		$(meson_use video_cards_vmware vmwgfx)
diff --git a/x11-libs/libdrm/README.md b/x11-libs/libdrm/README.md
new file mode 100644
index 0000000..6e2edc5
--- /dev/null
+++ b/x11-libs/libdrm/README.md
@@ -0,0 +1,8 @@
+Chromium DEPS pulls in a versioned copy of the [Chrome OS third_party/libdrm](https://source.chromium.org/chromium/chromium/src/+/main:DEPS?q=%22chromiumos%2Fthird_party%2Flibdrm.git%22%20file:DEPS&ss=chromium).
+Ideally the hash should be rolled with each ebuild uprev (but not essential for
+each local patch).
+
+Please monitor after each libdrm uprev the [Chrome OS LKGM builds](https://chromium-review.googlesource.com/q/Automated+Commit:+LKGM+for+chromeos).
+Look for amd64-generic and betty failures in ozone_unittests, especially
+failures affecting Display and DRM. If such failures appear this may indicate a
+need to [adjust the structures in mock_drm_device.h](http://b/222614515).
diff --git a/x11-libs/libdrm/files/UPSTREAM-intel-Add-support-for-RPLP.patch b/x11-libs/libdrm/files/UPSTREAM-intel-Add-support-for-RPLP.patch
new file mode 100644
index 0000000..1adbe08
--- /dev/null
+++ b/x11-libs/libdrm/files/UPSTREAM-intel-Add-support-for-RPLP.patch
@@ -0,0 +1,57 @@
+From d95b12e7e3ed6a22f284afbc5d2356365b820ea8 Mon Sep 17 00:00:00 2001
+From: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@intel.com>
+Date: Thu, 21 Apr 2022 22:34:52 +0530
+Subject: [PATCH] UPSTREAM: intel: Add support for RPLP
+
+Add RPLP platform support and PCIIDs
+
+Ported-from: https://cgit.freedesktop.org/mesa/drm/commit/?id=d95b12e7e3ed6a22f284afbc5d2356365b820ea8
+
+Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
+Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
+Signed-off-by: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@intel.com>
+Signed-off-by: Raviteja Goud Talla <ravitejax.goud.talla@intel.com>
+---
+ intel/i915_pciids.h   | 9 +++++++++
+ intel/intel_chipset.c | 3 ++-
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/intel/i915_pciids.h b/intel/i915_pciids.h
+index 8076d40c977b..3301772606ab 100644
+--- a/intel/i915_pciids.h
++++ b/intel/i915_pciids.h
+@@ -666,6 +666,15 @@
+ 	INTEL_VGA_DEVICE(0x46C2, info), \
+ 	INTEL_VGA_DEVICE(0x46C3, info)
+ 
++/* RPL-P */
++#define INTEL_RPLP_IDS(info) \
++	INTEL_VGA_DEVICE(0xA720, info), \
++	INTEL_VGA_DEVICE(0xA721, info), \
++	INTEL_VGA_DEVICE(0xA7A0, info), \
++	INTEL_VGA_DEVICE(0xA7A1, info), \
++	INTEL_VGA_DEVICE(0xA7A8, info), \
++	INTEL_VGA_DEVICE(0xA7A9, info)
++
+ /* ADL-N */
+ #define INTEL_ADLN_IDS(info) \
+ 	INTEL_VGA_DEVICE(0x46D0, info), \
+diff --git a/intel/intel_chipset.c b/intel/intel_chipset.c
+index 99ad04ae011e..ee8866c1bbca 100644
+--- a/intel/intel_chipset.c
++++ b/intel/intel_chipset.c
+@@ -35,9 +35,10 @@ static const struct pci_device {
+ 	uint16_t gen;
+ } pciids[] = {
+ 	/* Keep ids sorted by gen; latest gen first */
+-	INTEL_RPLS_IDS(12),
+ 	INTEL_ADLN_IDS(12),
++	INTEL_RPLP_IDS(12),
+ 	INTEL_ADLP_IDS(12),
++	INTEL_RPLS_IDS(12),
+ 	INTEL_ADLS_IDS(12),
+ 	INTEL_RKL_IDS(12),
+ 	INTEL_DG1_IDS(12),
+-- 
+2.25.1
+
diff --git a/x11-libs/libdrm/libdrm-2.4.109-r1.ebuild b/x11-libs/libdrm/libdrm-2.4.110-r2.ebuild
similarity index 100%
rename from x11-libs/libdrm/libdrm-2.4.109-r1.ebuild
rename to x11-libs/libdrm/libdrm-2.4.110-r2.ebuild
diff --git a/x11-libs/libdrm/libdrm-9999.ebuild b/x11-libs/libdrm/libdrm-9999.ebuild
index 22053f7..65eae06 100644
--- a/x11-libs/libdrm/libdrm-9999.ebuild
+++ b/x11-libs/libdrm/libdrm-9999.ebuild
@@ -4,8 +4,8 @@
 EAPI="7"
 EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/drm.git"
 if [[ ${PV} != *9999* ]]; then
-	CROS_WORKON_COMMIT="febfe0addd51a48c7c9dd7fd9ddf9b5a3b5cd7c6"
-	CROS_WORKON_TREE="5f4c92a363b4fc05db51694f9aa9e99aa7fdaaa8"
+	CROS_WORKON_COMMIT="56f81e6776c1c100c3f627b2c1feb9dcae2aad3c"
+	CROS_WORKON_TREE="f2dad5f135f56bf9e56b44d5b9637ffb59d38f23"
 fi
 CROS_WORKON_PROJECT="chromiumos/third_party/libdrm"
 CROS_WORKON_EGIT_BRANCH="upstream/master"
@@ -52,6 +52,7 @@
 	eapply "${FILESDIR}"/Add-Rockchip-AFBC-modifier.patch
 	eapply "${FILESDIR}"/Add-back-VENDOR_NV-name.patch
 	eapply "${FILESDIR}"/CHROMIUM-add-resource-info-header.patch
+	eapply "${FILESDIR}"/UPSTREAM-intel-Add-support-for-RPLP.patch
 
 	eapply_user
 }
@@ -62,11 +63,11 @@
 	local emesonargs=(
 		-Dinstall-test-programs=true
 		$(meson_use video_cards_amdgpu amdgpu)
-		$(meson_use video_cards_exynos exynos-experimental-api)
+		$(meson_use video_cards_exynos exynos)
 		$(meson_use video_cards_freedreno freedreno)
 		$(meson_use video_cards_intel intel)
 		$(meson_use video_cards_nouveau nouveau)
-		$(meson_use video_cards_omap omap-experimental-api)
+		$(meson_use video_cards_omap omap)
 		$(meson_use video_cards_radeon radeon)
 		$(meson_use video_cards_vc4 vc4)
 		$(meson_use video_cards_vmware vmwgfx)
diff --git a/x11-libs/libva-intel-media-driver/Manifest b/x11-libs/libva-intel-media-driver/Manifest
index 93d5a61..b1148a1 100644
--- a/x11-libs/libva-intel-media-driver/Manifest
+++ b/x11-libs/libva-intel-media-driver/Manifest
@@ -1 +1 @@
-DIST intel-media-21.3.5.tar.gz 23110985 BLAKE2B 1dbbc1efa9ae2c8f3b4a34596c71173101f8a43591bf9e07d269a8499b7a57969d9af5c1d4ffb7774a6947947e572b441f871760d3ca695335bfa2976ac2cf6f SHA512 e7836b19050677e81aa34ce5d7cea661ca3b5ac55d73d5aa0bab93f1daba8ee010d84b1c585f62fcec65a4361ef2b7f14ed574858f56b85b4c4d59840ecb6cb6
+DIST intel-media-22.3.1.tar.gz 27302226 BLAKE2B 24ac80adcd9a72f9e9b7db4b878715233835f2b69a25d1029538fb87da1fa49ed3c0606478a8b24e198f0c366003ff315e31972c7576e9ff2ecd8419e12ab150 SHA512 286f974a11546f8541429230330c5bd514c5eb372d3278461a132fb236f19908aa544a44010e52981bb942573ab6c2047c8c03471517182e2daf2da87b0eb74f
diff --git a/x11-libs/libva-intel-media-driver/files/0004-Encode-GLK-enable-VP8.patch b/x11-libs/libva-intel-media-driver/files/0004-Encode-GLK-enable-VP8.patch
deleted file mode 100644
index 395718f..0000000
--- a/x11-libs/libva-intel-media-driver/files/0004-Encode-GLK-enable-VP8.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 4485349d8f056ccc3ebde978082c056c4666f014 Mon Sep 17 00:00:00 2001
-From: Ed Baker <edward.baker@intel.com>
-Date: Fri, 10 Dec 2021 10:48:54 -0700
-Subject: [PATCH] [Encode] GLK enable VP8
-
-Enable VP8 encode for Gemini Lake. Interface code was inherited from
-KBL paths. Resolves #1313.
----
- media_driver/linux/gen9/ddi/media_sku_wa_g9.cpp |  5 +++++
- .../media_interfaces_g9_glk.cpp                 | 17 +++++++++++++++++
- .../media_interfaces_g9_glk.h                   |  6 ++++++
- 3 files changed, 28 insertions(+)
-
-diff --git a/media_driver/linux/gen9/ddi/media_sku_wa_g9.cpp b/media_driver/linux/gen9/ddi/media_sku_wa_g9.cpp
-index cc6ec1961..9f4fa2f3c 100755
---- a/media_driver/linux/gen9/ddi/media_sku_wa_g9.cpp
-+++ b/media_driver/linux/gen9/ddi/media_sku_wa_g9.cpp
-@@ -103,6 +103,8 @@ static struct LinuxCodecInfo glkCodecInfo =
-     .hevc10Decoding     = 1,
-     .vp9b10Decoding     = 1,
-     .hevc10Encoding     = SET_STATUS_BY_FULL_OPEN_SOURCE(1, 0),
-+    .hevc12Encoding     = 0,
-+    .vp8Encoding        = SET_STATUS_BY_FULL_OPEN_SOURCE(1, 0),
- };
- 
- static bool InitSklMediaSku(struct GfxDeviceInfo *devInfo,
-@@ -482,6 +484,9 @@ static bool InitGlkMediaSku(struct GfxDeviceInfo *devInfo,
-         MEDIA_WR_SKU(skuTable, FtrIntelVP9VLDProfile0Decoding8bit420, codecInfo->vp9Decoding);
-         MEDIA_WR_SKU(skuTable, FtrVP9VLD10bProfile2Decoding, codecInfo->vp9b10Decoding);
-         MEDIA_WR_SKU(skuTable, FtrIntelVP9VLDProfile2Decoding10bit420, codecInfo->vp9b10Decoding);
-+
-+        /* VP8 enc */
-+        MEDIA_WR_SKU(skuTable, FtrEncodeVP8, codecInfo->vp8Encoding);
-     }
- 
-     MEDIA_WR_SKU(skuTable, FtrEnableMediaKernels, drvInfo->hasHuc);
-diff --git a/media_driver/media_interface/media_interfaces_m9_glk/media_interfaces_g9_glk.cpp b/media_driver/media_interface/media_interfaces_m9_glk/media_interfaces_g9_glk.cpp
-index 9f388122d..414afc63c 100644
---- a/media_driver/media_interface/media_interfaces_m9_glk/media_interfaces_g9_glk.cpp
-+++ b/media_driver/media_interface/media_interfaces_m9_glk/media_interfaces_g9_glk.cpp
-@@ -317,6 +317,23 @@ MOS_STATUS CodechalInterfacesG9Glk::Initialize(
-             }
-         }
-         else
-+#endif
-+#ifdef _VP8_ENCODE_SUPPORTED
-+        if (info->Mode == CODECHAL_ENCODE_MODE_VP8)
-+        {
-+            // Setup encode interface functions
-+            encoder = MOS_New(Encode::Vp8, hwInterface, debugInterface, info);
-+            if (encoder == nullptr)
-+            {
-+                CODECHAL_PUBLIC_ASSERTMESSAGE("VP8 Encode allocation failed!");
-+                return MOS_STATUS_INVALID_PARAMETER;
-+            }
-+            else
-+            {
-+                m_codechalDevice = encoder;
-+            }
-+        }
-+        else
- #endif
-         {
-             CODECHAL_PUBLIC_ASSERTMESSAGE("Unsupported encode function requested.");
-diff --git a/media_driver/media_interface/media_interfaces_m9_glk/media_interfaces_g9_glk.h b/media_driver/media_interface/media_interfaces_m9_glk/media_interfaces_g9_glk.h
-index 2ffdb21bc..46b2f4032 100644
---- a/media_driver/media_interface/media_interfaces_m9_glk/media_interfaces_g9_glk.h
-+++ b/media_driver/media_interface/media_interfaces_m9_glk/media_interfaces_g9_glk.h
-@@ -41,6 +41,9 @@
- #ifdef _AVC_ENCODE_VDENC_SUPPORTED
- #include "codechal_vdenc_avc_g9_kbl.h"
- #endif
-+#ifdef _VP8_ENCODE_SUPPORTED
-+#include "codechal_encode_vp8_g9.h"
-+#endif
- #include "codechal_decode_nv12top010_g9_glk.h"
- #include "cm_hal_g9.h"
- #include "vphal_g9_glk.h"
-@@ -86,6 +89,9 @@ public:
- #ifdef _AVC_ENCODE_VDENC_SUPPORTED
-     using AvcVdenc = CodechalVdencAvcStateG9Kbl;
- #endif
-+#ifdef _VP8_ENCODE_SUPPORTED
-+    using Vp8 = CodechalEncodeVp8G9;
-+#endif
- };
- 
- class CodechalInterfacesG9Glk : public CodechalDevice
--- 
-2.25.1
-
diff --git a/x11-libs/libva-intel-media-driver/files/0004-enable-VP8-encode-for-BXT-and-APL.patch b/x11-libs/libva-intel-media-driver/files/0004-enable-VP8-encode-for-BXT-and-APL.patch
new file mode 100644
index 0000000..d3cf497
--- /dev/null
+++ b/x11-libs/libva-intel-media-driver/files/0004-enable-VP8-encode-for-BXT-and-APL.patch
@@ -0,0 +1,106 @@
+From acc168f6985f15b672ee36e559cbe42d96ec5297 Mon Sep 17 00:00:00 2001
+From: XinfengZhang <carl.zhang@intel.com>
+Date: Fri, 18 Mar 2022 03:06:14 -0400
+Subject: [PATCH] enable VP8 encode for BXT and APL
+
+reuse the interface of KBL
+
+Signed-off-by: XinfengZhang <carl.zhang@intel.com>
+---
+ media_driver/linux/gen9/ddi/media_sku_wa_g9.cpp |  5 +++++
+ .../linux/ult/ult_app/RefCapsTable_BXT.h        |  1 +
+ .../media_interfaces_g9_bxt.cpp                 | 17 +++++++++++++++++
+ .../media_interfaces_g9_bxt.h                   |  7 +++++++
+ 4 files changed, 30 insertions(+)
+
+diff --git a/media_driver/linux/gen9/ddi/media_sku_wa_g9.cpp b/media_driver/linux/gen9/ddi/media_sku_wa_g9.cpp
+index 9f4fa2f3cb64..af1b1efb4622 100755
+--- a/media_driver/linux/gen9/ddi/media_sku_wa_g9.cpp
++++ b/media_driver/linux/gen9/ddi/media_sku_wa_g9.cpp
+@@ -62,6 +62,10 @@ static struct LinuxCodecInfo bxtCodecInfo =
+     .avcVdenc           = 1,
+     .vp9Decoding        = 1,
+     .hevc10Decoding     = 1,
++    .vp9b10Decoding     = 0,
++    .hevc10Encoding     = 0,
++    .hevc12Encoding     = 0,
++    .vp8Encoding        = SET_STATUS_BY_FULL_OPEN_SOURCE(1, 0),
+ };
+ 
+ /* This can also be applied to CFL */
+@@ -252,6 +256,7 @@ static bool InitBxtMediaSku(struct GfxDeviceInfo *devInfo,
+         MEDIA_WR_SKU(skuTable, FtrEncodeAVCVdenc, codecInfo->avcVdenc);
+         MEDIA_WR_SKU(skuTable, FtrVP9VLDDecoding, codecInfo->vp9Decoding);
+         MEDIA_WR_SKU(skuTable, FtrIntelVP9VLDProfile0Decoding8bit420, codecInfo->vp9Decoding);
++        MEDIA_WR_SKU(skuTable, FtrEncodeVP8, codecInfo->vp8Encoding);
+     }
+ 
+     MEDIA_WR_SKU(skuTable, FtrEnableMediaKernels, drvInfo->hasHuc);
+diff --git a/media_driver/linux/ult/ult_app/RefCapsTable_BXT.h b/media_driver/linux/ult/ult_app/RefCapsTable_BXT.h
+index f5c33ab92e4d..a257980a7954 100644
+--- a/media_driver/linux/ult/ult_app/RefCapsTable_BXT.h
++++ b/media_driver/linux/ult/ult_app/RefCapsTable_BXT.h
+@@ -45,6 +45,7 @@ std::vector<FeatureID> refFeatureIDTable_BXT = {
+     { VAProfileJPEGBaseline           , VAEntrypointVLD                 },
+     { VAProfileJPEGBaseline           , VAEntrypointEncPicture          },
+     { VAProfileVP8Version0_3          , VAEntrypointVLD                 },
++    { VAProfileVP8Version0_3          , VAEntrypointEncSlice            },
+     { VAProfileHEVCMain               , VAEntrypointVLD                 },
+     { VAProfileHEVCMain               , VAEntrypointEncSlice            },
+     { VAProfileHEVCMain10             , VAEntrypointVLD                 },
+diff --git a/media_driver/media_interface/media_interfaces_m9_bxt/media_interfaces_g9_bxt.cpp b/media_driver/media_interface/media_interfaces_m9_bxt/media_interfaces_g9_bxt.cpp
+index 700683078c5f..53b8b01ff424 100644
+--- a/media_driver/media_interface/media_interfaces_m9_bxt/media_interfaces_g9_bxt.cpp
++++ b/media_driver/media_interface/media_interfaces_m9_bxt/media_interfaces_g9_bxt.cpp
+@@ -436,6 +436,23 @@ MOS_STATUS CodechalInterfacesG9Bxt::Initialize(
+             }
+         }
+         else
++#endif
++#ifdef _VP8_ENCODE_SUPPORTED
++        if (info->Mode == CODECHAL_ENCODE_MODE_VP8)
++        {
++            // Setup encode interface functions
++            encoder = MOS_New(Encode::Vp8, hwInterface, debugInterface, info);
++            if (encoder == nullptr)
++            {
++                CODECHAL_PUBLIC_ASSERTMESSAGE("VP8 Encode allocation failed!");
++                return MOS_STATUS_INVALID_PARAMETER;
++            }
++            else
++            {
++                m_codechalDevice = encoder;
++            }
++        }
++        else
+ #endif
+         {
+             CODECHAL_PUBLIC_ASSERTMESSAGE("Unsupported encode function requested.");
+diff --git a/media_driver/media_interface/media_interfaces_m9_bxt/media_interfaces_g9_bxt.h b/media_driver/media_interface/media_interfaces_m9_bxt/media_interfaces_g9_bxt.h
+index 09c8ef285811..2bf3acb32e11 100644
+--- a/media_driver/media_interface/media_interfaces_m9_bxt/media_interfaces_g9_bxt.h
++++ b/media_driver/media_interface/media_interfaces_m9_bxt/media_interfaces_g9_bxt.h
+@@ -100,6 +100,10 @@
+ #ifdef _HEVC_ENCODE_VME_SUPPORTED
+ #include "codechal_encode_hevc_g9_bxt.h"
+ #endif
++#ifdef _VP8_ENCODE_SUPPORTED
++#include "codechal_encode_vp8_g9.h"
++#endif
++
+ #include "cm_hal_g9.h"
+ #include "vphal_g9_bxt.h"
+ 
+@@ -193,6 +197,9 @@ public:
+ #ifdef _AVC_ENCODE_VDENC_SUPPORTED
+     using AvcVdenc = CodechalVdencAvcStateG9Bxt;
+ #endif
++#ifdef _VP8_ENCODE_SUPPORTED
++    using Vp8 = CodechalEncodeVp8G9;
++#endif
+ };
+ 
+ class CodechalInterfacesG9Bxt : public CodechalDevice
+-- 
+2.17.1
+
diff --git a/x11-libs/libva-intel-media-driver/files/0005-Revert-Media-Common-fixed-regression-about-TGL-KBL-j.patch b/x11-libs/libva-intel-media-driver/files/0005-Revert-Media-Common-fixed-regression-about-TGL-KBL-j.patch
new file mode 100644
index 0000000..c604df3
--- /dev/null
+++ b/x11-libs/libva-intel-media-driver/files/0005-Revert-Media-Common-fixed-regression-about-TGL-KBL-j.patch
@@ -0,0 +1,97 @@
+From 905a67700acb6f5a37eea9c93ad29f071baaacf8 Mon Sep 17 00:00:00 2001
+From: Juston Li <juston.li@intel.com>
+Date: Tue, 24 May 2022 10:08:06 -0700
+Subject: [PATCH 1/2] Revert "[Media Common] fixed regression about TGL/KBL
+ jpeg from DdiMedia_GetImage"
+
+This reverts commit fce936af16da67ccb9327ad1fa023cec769df00a.
+---
+ media_driver/linux/common/ddi/media_libva.cpp | 43 ++-----------------
+ 1 file changed, 4 insertions(+), 39 deletions(-)
+
+diff --git a/media_driver/linux/common/ddi/media_libva.cpp b/media_driver/linux/common/ddi/media_libva.cpp
+index e821b1a44179..865f9a97c47f 100755
+--- a/media_driver/linux/common/ddi/media_libva.cpp
++++ b/media_driver/linux/common/ddi/media_libva.cpp
+@@ -5174,9 +5174,8 @@ static VAStatus DdiMedia_CopySurfaceToImage(
+     PDDI_MEDIA_CONTEXT mediaCtx = DdiMedia_GetMediaContext(ctx);
+     DDI_CHK_NULL(mediaCtx,  "nullptr mediaCtx.",    VA_STATUS_ERROR_INVALID_CONTEXT);
+     DDI_CHK_NULL(surface,  "nullptr meida surface.", VA_STATUS_ERROR_INVALID_BUFFER);
+-    uint32_t flag = MOS_LOCKFLAG_READONLY;
+-    VAStatus vaStatus = VA_STATUS_SUCCESS;
+ 
++    VAStatus vaStatus = VA_STATUS_SUCCESS;
+     //Lock Surface
+     if ((Media_Format_CPU != surface->format))
+     {
+@@ -5187,12 +5186,7 @@ static VAStatus DdiMedia_CopySurfaceToImage(
+             DDI_NORMALMESSAGE("surface Decompression fail, continue next steps.");
+         }
+     }
+-
+-    if (image->format.fourcc != VA_FOURCC_NV12)
+-       flag = flag | MOS_LOCKFLAG_NO_SWIZZLE;
+-
+-    void* surfData = DdiMediaUtil_LockSurface(surface, flag);
+-
++    void *surfData = DdiMediaUtil_LockSurface(surface, MOS_LOCKFLAG_READONLY);
+     if (surfData == nullptr)
+     {
+         DDI_ASSERTMESSAGE("nullptr surfData.");
+@@ -5211,28 +5205,7 @@ static VAStatus DdiMedia_CopySurfaceToImage(
+     uint8_t *ySrc = nullptr;
+     uint8_t *yDst = (uint8_t*)imageData;
+ 
+-    uint8_t* swizzleData = nullptr;
+-
+-    if (!surface->pMediaCtx->bIsAtomSOC && surface->TileType != I915_TILING_NONE && image->format.fourcc != VA_FOURCC_NV12)
+-    {
+-        swizzleData = (uint8_t*)MOS_AllocMemory(surface->data_size);
+-        if (nullptr != swizzleData)
+-        {
+-            SwizzleSurface(surface->pMediaCtx, surface->pGmmResourceInfo, surfData, (MOS_TILE_TYPE)surface->TileType, (uint8_t*)swizzleData, false);
+-            ySrc = swizzleData;
+-        }
+-        else
+-        {
+-             DDI_ASSERTMESSAGE("nullptr swizzleData.");
+-             DdiMedia_UnmapBuffer(ctx, image->buf);
+-             DdiMediaUtil_UnlockSurface(surface);
+-             return VA_STATUS_ERROR_INVALID_BUFFER;
+-        }
+-    }
+-    else
+-    {
+-        ySrc = (uint8_t*)surfData;
+-    }
++    ySrc = (uint8_t*)surfData;
+ 
+     DdiMedia_CopyPlane(yDst, image->pitches[0], ySrc, surface->iPitch, image->height);
+     if (image->num_planes > 1)
+@@ -5255,11 +5228,6 @@ static VAStatus DdiMedia_CopySurfaceToImage(
+         }
+     }
+ 
+-    if (nullptr != swizzleData)
+-    {
+-        MOS_FreeMemory(swizzleData);
+-        swizzleData = nullptr;
+-    }
+     vaStatus = DdiMedia_UnmapBuffer(ctx, image->buf);
+     if (vaStatus != VA_STATUS_SUCCESS)
+     {
+@@ -5335,10 +5303,7 @@ VAStatus DdiMedia_GetImage(
+     VASurfaceID output_surface = surface;
+ 
+     if (inputSurface->format != DdiMedia_OsFormatToMediaFormat(vaimg->format.fourcc, vaimg->format.alpha_mask) ||
+-        (width != vaimg->width || height != vaimg->height) &&
+-        (vaimg->format.fourcc != VA_FOURCC_444P &&
+-        vaimg->format.fourcc != VA_FOURCC_422V &&
+-        vaimg->format.fourcc != VA_FOURCC_422H))
++        width != vaimg->width || height != vaimg->height)
+     {
+         VAContextID context = VA_INVALID_ID;
+         //Create VP Context.
+-- 
+2.35.3
+
diff --git a/x11-libs/libva-intel-media-driver/files/0005-fix-bitwise-or-warning.patch b/x11-libs/libva-intel-media-driver/files/0005-fix-bitwise-or-warning.patch
deleted file mode 100644
index 2735ad3..0000000
--- a/x11-libs/libva-intel-media-driver/files/0005-fix-bitwise-or-warning.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From c762865aef6ad9ccb06503bce9f005fd3bfefaff Mon Sep 17 00:00:00 2001
-From: Michael Benfield <mbenfield@google.com>
-Date: Thu, 27 Jan 2022 20:03:44 +0000
-Subject: [PATCH] fix bitwise or warning
-
-On recent versions of LLVM this code triggers -Wbitwise-instead-of-logical
-
----
- media_driver/agnostic/common/codec/hal/codechal_decode_vc1.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/media_driver/agnostic/common/codec/hal/codechal_decode_vc1.cpp b/media_driver/agnostic/common/codec/hal/codechal_decode_vc1.cpp
-index 64672f4d4..6426b0961 100644
---- a/media_driver/agnostic/common/codec/hal/codechal_decode_vc1.cpp
-+++ b/media_driver/agnostic/common/codec/hal/codechal_decode_vc1.cpp
-@@ -3222,7 +3222,7 @@ MOS_STATUS CodechalDecodeVc1::SetFrameStates()
-     bool pictureIsI = m_mfxInterface->IsVc1IPicture(currPic, m_vc1PicParams->picture_fields.is_first_field, picType) ? true : false;
-     bool pictureIsP = m_mfxInterface->IsVc1PPicture(currPic, m_vc1PicParams->picture_fields.is_first_field, picType) ? true : false;
-     bool pictureIsB =
--        (m_mfxInterface->IsVc1BPicture(currPic, m_vc1PicParams->picture_fields.is_first_field, picType) |
-+        (m_mfxInterface->IsVc1BPicture(currPic, m_vc1PicParams->picture_fields.is_first_field, picType) ||
-             m_mfxInterface->IsVc1BIPicture(currPic, m_vc1PicParams->picture_fields.is_first_field, picType))
-             ? true
-             : false;
--- 
-2.31.0
-
diff --git a/x11-libs/libva-intel-media-driver/files/0006-Revert-Media-Common-Optimization-getimage.patch b/x11-libs/libva-intel-media-driver/files/0006-Revert-Media-Common-Optimization-getimage.patch
new file mode 100644
index 0000000..8da876c
--- /dev/null
+++ b/x11-libs/libva-intel-media-driver/files/0006-Revert-Media-Common-Optimization-getimage.patch
@@ -0,0 +1,67 @@
+From ffd0b738cd3c1b42fef3399e6eedc9fd70c0b5fe Mon Sep 17 00:00:00 2001
+From: Juston Li <juston.li@intel.com>
+Date: Tue, 24 May 2022 10:18:24 -0700
+Subject: [PATCH 2/2] Revert "[Media Common] Optimization getimage"
+
+This reverts commit 497d9864aaba83214cbc2e6ae8cee4151934fe43.
+---
+ media_driver/linux/common/ddi/media_libva.cpp | 21 ++++++++++++++++---
+ 1 file changed, 18 insertions(+), 3 deletions(-)
+
+diff --git a/media_driver/linux/common/ddi/media_libva.cpp b/media_driver/linux/common/ddi/media_libva.cpp
+index 865f9a97c47f..d03d4d096fac 100755
+--- a/media_driver/linux/common/ddi/media_libva.cpp
++++ b/media_driver/linux/common/ddi/media_libva.cpp
+@@ -5186,7 +5186,7 @@ static VAStatus DdiMedia_CopySurfaceToImage(
+             DDI_NORMALMESSAGE("surface Decompression fail, continue next steps.");
+         }
+     }
+-    void *surfData = DdiMediaUtil_LockSurface(surface, MOS_LOCKFLAG_READONLY);
++    void *surfData = DdiMediaUtil_LockSurface(surface, (MOS_LOCKFLAG_READONLY | MOS_LOCKFLAG_NO_SWIZZLE));
+     if (surfData == nullptr)
+     {
+         DDI_ASSERTMESSAGE("nullptr surfData.");
+@@ -5204,8 +5204,17 @@ static VAStatus DdiMedia_CopySurfaceToImage(
+ 
+     uint8_t *ySrc = nullptr;
+     uint8_t *yDst = (uint8_t*)imageData;
++    uint8_t *swizzleData = (uint8_t*)MOS_AllocMemory(surface->data_size);
+ 
+-    ySrc = (uint8_t*)surfData;
++    if (!surface->pMediaCtx->bIsAtomSOC && surface->TileType != I915_TILING_NONE)
++    {
++        SwizzleSurface(surface->pMediaCtx, surface->pGmmResourceInfo, surfData, (MOS_TILE_TYPE)surface->TileType, (uint8_t *)swizzleData, false);
++        ySrc = swizzleData;
++    }
++    else
++    {
++        ySrc = (uint8_t*)surfData;
++    }
+ 
+     DdiMedia_CopyPlane(yDst, image->pitches[0], ySrc, surface->iPitch, image->height);
+     if (image->num_planes > 1)
+@@ -5228,6 +5237,8 @@ static VAStatus DdiMedia_CopySurfaceToImage(
+         }
+     }
+ 
++    MOS_FreeMemory(swizzleData);
++
+     vaStatus = DdiMedia_UnmapBuffer(ctx, image->buf);
+     if (vaStatus != VA_STATUS_SUCCESS)
+     {
+@@ -5303,7 +5314,11 @@ VAStatus DdiMedia_GetImage(
+     VASurfaceID output_surface = surface;
+ 
+     if (inputSurface->format != DdiMedia_OsFormatToMediaFormat(vaimg->format.fourcc, vaimg->format.alpha_mask) ||
+-        width != vaimg->width || height != vaimg->height)
++        width != vaimg->width || height != vaimg->height ||
++        (MEDIA_IS_WA(&mediaCtx->WaTable, WaEnableVPPCopy) &&
++        vaimg->format.fourcc != VA_FOURCC_444P &&
++        vaimg->format.fourcc != VA_FOURCC_422V &&
++        vaimg->format.fourcc != VA_FOURCC_422H))
+     {
+         VAContextID context = VA_INVALID_ID;
+         //Create VP Context.
+-- 
+2.35.3
+
diff --git a/x11-libs/libva-intel-media-driver/files/0007-CHROMIUM-disable-GucSubmission-for-adl.patch b/x11-libs/libva-intel-media-driver/files/0007-CHROMIUM-disable-GucSubmission-for-adl.patch
new file mode 100644
index 0000000..c0f1a1d
--- /dev/null
+++ b/x11-libs/libva-intel-media-driver/files/0007-CHROMIUM-disable-GucSubmission-for-adl.patch
@@ -0,0 +1,27 @@
+From 7ae2f8ce0362168fcf8992954e113bb5a5658da7 Mon Sep 17 00:00:00 2001
+From: Juston Li <juston.li@intel.com>
+Date: Thu, 2 Jun 2022 13:49:37 -0700
+Subject: [PATCH] CHROMIUM: disable GucSubmission for adl
+
+Currently not supported in chromeos-5.10.
+
+Signed-off-by: Juston Li <juston.li@intel.com>
+---
+ media_driver/linux/gen12/ddi/media_sku_wa_g12.cpp | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/media_driver/linux/gen12/ddi/media_sku_wa_g12.cpp b/media_driver/linux/gen12/ddi/media_sku_wa_g12.cpp
+index b0dd89a38b1a..a95068210feb 100644
+--- a/media_driver/linux/gen12/ddi/media_sku_wa_g12.cpp
++++ b/media_driver/linux/gen12/ddi/media_sku_wa_g12.cpp
+@@ -556,7 +556,6 @@ static bool InitAdlpMediaSku(struct GfxDeviceInfo *devInfo,
+ 
+     MEDIA_WR_SKU(skuTable, FtrE2ECompression, 0);
+     MEDIA_WR_SKU(skuTable, FtrAV1VLDLSTDecoding, 1);
+-    MEDIA_WR_SKU(skuTable, FtrGucSubmission, 1);
+ 
+     return true;
+ }
+-- 
+2.35.3
+
diff --git a/x11-libs/libva-intel-media-driver/files/0008-BACKPORT-RPLP-upstream.patch b/x11-libs/libva-intel-media-driver/files/0008-BACKPORT-RPLP-upstream.patch
new file mode 100644
index 0000000..5919d81
--- /dev/null
+++ b/x11-libs/libva-intel-media-driver/files/0008-BACKPORT-RPLP-upstream.patch
@@ -0,0 +1,121 @@
+From 9695e025f8d400ff92d296d0fa1faa9e30110469 Mon Sep 17 00:00:00 2001
+From: aidan2020sh <dan.ai@intel.com>
+Date: Fri, 29 Apr 2022 14:08:41 +0800
+Subject: [PATCH] UPSTREAM: [Upstream] RPLP upstream
+
+1 this patch is mainly for RPLP upstream
+2 updated latest ADLP device id support list
+---
+ README.md                                     |  4 +-
+ .../linux/gen12/ddi/media_sysinfo_g12.cpp     | 55 ++++++++-----------
+ 2 files changed, 25 insertions(+), 34 deletions(-)
+
+diff --git a/README.md b/README.md
+index be6af2c1d7f2..e250622c316e 100755
+--- a/README.md
++++ b/README.md
+@@ -79,7 +79,7 @@ export LIBVA_DRIVER_NAME=iHD
+ - KBLx (KBL: Kaby Lake, CFL: Coffe Lake, WHL: Whiskey Lake, CML: Comet Lake, AML: Amber Lake)
+ - ICL (Ice Lake)
+ - JSL (Jasper Lake) / EHL (Elkhart Lake)
+-- TGLx (TGL: Tiger Lake, RKL: Rocket Lake, ADL-S/P/N: Alder Lake, RPL-S: Raptor Lake)
++- TGLx (TGL: Tiger Lake, RKL: Rocket Lake, ADL-S/P/N: Alder Lake, RPL-S/P: Raptor Lake)
+ - DG1/SG1
+ - Alchemist(DG2)/ATSM
+ 
+@@ -203,7 +203,7 @@ or later, which officially supported C++11.
+    - EHL/JSL: starting from kernel 5.8
+    - TGL: starting from kernel 5.9
+    - RKL/ADL-S/ADL-P: starting from kernel 5.17
+-   - ADL-N/RPL-S: [drm-tip](https://cgit.freedesktop.org/drm-tip)
++   - ADL-N/RPL-S/RPL-P: [drm-tip](https://cgit.freedesktop.org/drm-tip)
+    - DG1/SG1: [intel-gpu/kernel](https://github.com/intel-gpu/kernel)
+ 
+ ##### (*) Other names and brands may be claimed as property of others.
+diff --git a/media_driver/linux/gen12/ddi/media_sysinfo_g12.cpp b/media_driver/linux/gen12/ddi/media_sysinfo_g12.cpp
+index f5da82388e1d..3b3d17d20fcd 100644
+--- a/media_driver/linux/gen12/ddi/media_sysinfo_g12.cpp
++++ b/media_driver/linux/gen12/ddi/media_sysinfo_g12.cpp
+@@ -436,56 +436,47 @@ static bool adlpGt2Device46A0 = DeviceInfoFactory<GfxDeviceInfo>::
+ static bool adlpGt2Device46A1 = DeviceInfoFactory<GfxDeviceInfo>::
+     RegisterDevice(0x46A1, &adlpGt2Info);
+ 
+-static bool adlpGt2Device46A2 = DeviceInfoFactory<GfxDeviceInfo>::
+-    RegisterDevice(0x46A2, &adlpGt2Info);
+-
+ static bool adlpGt2Device46A3 = DeviceInfoFactory<GfxDeviceInfo>::
+     RegisterDevice(0x46A3, &adlpGt2Info);
+-    
++
+ static bool adlpGt2Device46A6 = DeviceInfoFactory<GfxDeviceInfo>::
+     RegisterDevice(0x46A6, &adlpGt2Info);
+-    
+-static bool adlpGt2Device46A8 = DeviceInfoFactory<GfxDeviceInfo>::
+-    RegisterDevice(0x46A8, &adlpGt2Info);
+-    
+-static bool adlpGt2Device4628 = DeviceInfoFactory<GfxDeviceInfo>::
+-    RegisterDevice(0x4628, &adlpGt2Info);
+-    
+-    
++
++static bool adlpGt2Device4626 = DeviceInfoFactory<GfxDeviceInfo>::
++    RegisterDevice(0x4626, &adlpGt2Info);
++
+ static bool adlpGt2Device46B0 = DeviceInfoFactory<GfxDeviceInfo>::
+     RegisterDevice(0x46B0, &adlpGt2Info);
+ 
+ static bool adlpGt2Device46B1 = DeviceInfoFactory<GfxDeviceInfo>::
+     RegisterDevice(0x46B1, &adlpGt2Info);
+ 
+-static bool adlpGt2Device46B2 = DeviceInfoFactory<GfxDeviceInfo>::
+-    RegisterDevice(0x46B2, &adlpGt2Info);
+-
+ static bool adlpGt2Device46B3 = DeviceInfoFactory<GfxDeviceInfo>::
+     RegisterDevice(0x46B3, &adlpGt2Info);
+-    
+ 
+-static bool adlpGt2Device46C0 = DeviceInfoFactory<GfxDeviceInfo>::
+-    RegisterDevice(0x46C0, &adlpGt2Info);
++static bool adlpGt2Device46A8 = DeviceInfoFactory<GfxDeviceInfo>::
++    RegisterDevice(0x46A8, &adlpGt2Info);
+ 
+-static bool adlpGt2Device46C1 = DeviceInfoFactory<GfxDeviceInfo>::
+-    RegisterDevice(0x46C1, &adlpGt2Info);
++static bool adlpGt2Device4628 = DeviceInfoFactory<GfxDeviceInfo>::
++    RegisterDevice(0x4628, &adlpGt2Info);
+ 
+-static bool adlpGt2Device46C2 = DeviceInfoFactory<GfxDeviceInfo>::
+-    RegisterDevice(0x46C2, &adlpGt2Info);
++static bool rplpGt2DeviceA7A0 = DeviceInfoFactory<GfxDeviceInfo>::
++    RegisterDevice(0xA7A0, &adlpGt2Info);
+ 
+-static bool adlpGt2Device46C3 = DeviceInfoFactory<GfxDeviceInfo>::
+-    RegisterDevice(0x46C3, &adlpGt2Info);
+-    
+-static bool adlpGt2Device46AA = DeviceInfoFactory<GfxDeviceInfo>::
+-    RegisterDevice(0x46AA, &adlpGt2Info);
+-    
+-static bool adlpGt2Device462A = DeviceInfoFactory<GfxDeviceInfo>::
+-    RegisterDevice(0x462A, &adlpGt2Info);
++static bool rplpGt2DeviceA720 = DeviceInfoFactory<GfxDeviceInfo>::
++    RegisterDevice(0xA720, &adlpGt2Info);
+ 
+-static bool adlpGt2Device4626 = DeviceInfoFactory<GfxDeviceInfo>::
+-    RegisterDevice(0x4626, &adlpGt2Info);
++static bool rplpGt2DeviceA7A8 = DeviceInfoFactory<GfxDeviceInfo>::
++    RegisterDevice(0xA7A8, &adlpGt2Info);
++
++static bool rplpGt2DeviceA7A1 = DeviceInfoFactory<GfxDeviceInfo>::
++    RegisterDevice(0xA7A1, &adlpGt2Info);
++
++static bool rplpGt2DeviceA721 = DeviceInfoFactory<GfxDeviceInfo>::
++    RegisterDevice(0xA721, &adlpGt2Info);
+ 
++static bool rplpGt2DeviceA7A9 = DeviceInfoFactory<GfxDeviceInfo>::
++    RegisterDevice(0xA7A9, &adlpGt2Info);
+ #endif
+ 
+ #ifdef IGFX_GEN12_ADLN_SUPPORTED
+-- 
+2.35.3
+
diff --git a/x11-libs/libva-intel-media-driver/files/libva-intel-media-driver-20.2.0_x11_optional.patch b/x11-libs/libva-intel-media-driver/files/libva-intel-media-driver-20.2.0_x11_optional.patch
new file mode 100644
index 0000000..81c80d8
--- /dev/null
+++ b/x11-libs/libva-intel-media-driver/files/libva-intel-media-driver-20.2.0_x11_optional.patch
@@ -0,0 +1,16 @@
+--- a/media_driver/media_top_cmake.cmake
++++ b/media_driver/media_top_cmake.cmake
+@@ -21,7 +21,12 @@
+ project( media )
+ 
+ find_package(PkgConfig)
++if(NOT DEFINED USE_X11 OR USE_X11)
+ find_package(X11)
++endif(NOT DEFINED USE_X11 OR USE_X11)
++if(USE_X11 AND NOT X11_FOUND)
++    message(FATAL_ERROR "Usage of X11 is required by USE_X11 variable, but X11 package is not found")
++endif(USE_X11 AND NOT X11_FOUND)
+ 
+ bs_set_if_undefined(LIB_NAME iHD_drv_video)
+ 
+
diff --git a/x11-libs/libva-intel-media-driver/files/libva-intel-media-driver-20.4.5_testing_in_src_test.patch b/x11-libs/libva-intel-media-driver/files/libva-intel-media-driver-20.4.5_testing_in_src_test.patch
new file mode 100644
index 0000000..3c6d500
--- /dev/null
+++ b/x11-libs/libva-intel-media-driver/files/libva-intel-media-driver-20.4.5_testing_in_src_test.patch
@@ -0,0 +1,46 @@
+Run tests in src_test() instead of src_compile() and src_install()
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -37,6 +37,8 @@ if("${os_name}" STREQUAL "clear-linux-os")
+     set(CMAKE_INSTALL_SYSCONFDIR "usr/share/defaults/etc")
+ endif()
+ 
++include(CTest)
++
+ include(CMakeDependentOption)
+ 
+ option (ENABLE_KERNELS "Build driver with shaders (kernels) support" ON)
+--- a/media_driver/linux/ult/CMakeLists.txt
++++ b/media_driver/linux/ult/CMakeLists.txt
+@@ -52,9 +52,3 @@ endif ()
+ add_subdirectory(libdrm_mock)
+ add_subdirectory(ult_app)
+ 
+-enable_testing()
+-add_test(NAME test_devult COMMAND devult ${UMD_PATH})
+-set_tests_properties(test_devult
+-    PROPERTIES PASS_REGULAR_EXPRESSION "PASS")
+-set_tests_properties(test_devult
+-    PROPERTIES FAIL_REGULAR_EXPRESSION "FAIL")
+--- a/media_driver/linux/ult/ult_app/CMakeLists.txt
++++ b/media_driver/linux/ult/ult_app/CMakeLists.txt
+@@ -68,13 +68,11 @@ if (DEFINED BYPASS_MEDIA_ULT AND "${BYPASS_MEDIA_ULT}" STREQUAL "yes")
+     message("-- media -- BYPASS_MEDIA_ULT = ${BYPASS_MEDIA_ULT}")
+ else ()
+     if (ENABLE_NONFREE_KERNELS)
+-        add_custom_target(RunULT ALL DEPENDS ${LIB_NAME} devult)
+ 
+-        add_custom_command(
+-            TARGET RunULT
+-            POST_BUILD
+-            COMMAND LD_PRELOAD=../libdrm_mock/libdrm_mock.so ./devult ../../../${LIB_NAME}.so
++        add_test(
++            NAME RunULT
++            COMMAND "${CMAKE_COMMAND}" -E env "LD_PRELOAD=${CMAKE_CURRENT_BINARY_DIR}/../libdrm_mock/libdrm_mock.so" "${CMAKE_CURRENT_BINARY_DIR}/devult" "${CMAKE_CURRENT_BINARY_DIR}/../../../${LIB_NAME}.so"
+             WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-            COMMENT "Running devult...")
++            )
+         endif ()
+ endif ()
+
diff --git a/x11-libs/libva-intel-media-driver/files/libva-intel-media-driver-21.4.2-Remove-unwanted-CFLAGS.patch b/x11-libs/libva-intel-media-driver/files/libva-intel-media-driver-21.4.2-Remove-unwanted-CFLAGS.patch
new file mode 100644
index 0000000..288fe2d
--- /dev/null
+++ b/x11-libs/libva-intel-media-driver/files/libva-intel-media-driver-21.4.2-Remove-unwanted-CFLAGS.patch
@@ -0,0 +1,43 @@
+From f1c5c12d866783f7a3079be440c06fdb8a931ed2 Mon Sep 17 00:00:00 2001
+From: Matt Turner <mattst88@gmail.com>
+Date: Tue, 23 Nov 2021 12:28:05 -0800
+Subject: [PATCH] Remove unwanted CFLAGS
+
+---
+ media_driver/cmake/linux/media_compile_flags_linux.cmake | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/media_driver/cmake/linux/media_compile_flags_linux.cmake b/media_driver/cmake/linux/media_compile_flags_linux.cmake
+index 512ef17b..e8ade76d 100755
+--- a/media_driver/cmake/linux/media_compile_flags_linux.cmake
++++ b/media_driver/cmake/linux/media_compile_flags_linux.cmake
+@@ -52,16 +52,12 @@ set(MEDIA_COMPILER_FLAGS_COMMON
+     -ffunction-sections
+     -Wl,--gc-sections
+ 
+-    # -m32 or -m64
+-    -m${ARCH}
+-
+     # Global defines
+     -DLINUX=1
+     -DLINUX
+     -DNO_RTTI
+     -DNO_EXCEPTION_HANDLING
+     -DINTEL_NOT_PUBLIC
+-    -g
+ )
+ 
+ 
+@@ -189,9 +185,6 @@ include(${MEDIA_EXT_CMAKE}/ext/linux/media_compile_flags_linux_ext.cmake OPTIONA
+ if(${PLATFORM} STREQUAL "linux")
+     #set predefined compiler flags set
+     add_compile_options("${MEDIA_COMPILER_FLAGS_COMMON}")
+-    add_compile_options("$<$<CONFIG:Debug>:${MEDIA_COMPILER_FLAGS_DEBUG}>")
+-    add_compile_options("$<$<CONFIG:Release>:${MEDIA_COMPILER_FLAGS_RELEASE}>")
+-    add_compile_options("$<$<CONFIG:ReleaseInternal>:${MEDIA_COMPILER_FLAGS_RELEASEINTERNAL}>")
+ 
+     foreach (flag ${MEDIA_COMPILER_CXX_FLAGS_COMMON})
+         SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
+-- 
+2.32.0
+
diff --git a/x11-libs/libva-intel-media-driver/libva-intel-media-driver-21.3.5-r6.ebuild b/x11-libs/libva-intel-media-driver/libva-intel-media-driver-21.3.5-r6.ebuild
deleted file mode 120000
index 4eeebc9..0000000
--- a/x11-libs/libva-intel-media-driver/libva-intel-media-driver-21.3.5-r6.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-libva-intel-media-driver-21.3.5.ebuild
\ No newline at end of file
diff --git a/x11-libs/libva-intel-media-driver/libva-intel-media-driver-21.3.5.ebuild b/x11-libs/libva-intel-media-driver/libva-intel-media-driver-21.3.5.ebuild
deleted file mode 100644
index 4a8f047..0000000
--- a/x11-libs/libva-intel-media-driver/libva-intel-media-driver-21.3.5.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-SRC_URI="https://github.com/intel/media-driver/archive/intel-media-${PV}.tar.gz"
-S="${WORKDIR}/media-driver-intel-media-${PV}"
-KEYWORDS="*"
-DESCRIPTION="Intel Media Driver for VAAPI (iHD)"
-HOMEPAGE="https://github.com/intel/media-driver"
-
-LICENSE="MIT BSD"
-SLOT="0"
-IUSE="ihd_cmrtlib"
-
-DEPEND=">=media-libs/gmmlib-21.3.1
-	>=x11-libs/libva-2.13.0
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
-	"${FILESDIR}"/0001-Disable-IPC-usage.patch
-	"${FILESDIR}"/0002-change-slice-header-prefix-for-AVC-Vdenc.patch
-	"${FILESDIR}"/0003-Disable-Media-Memory-Compression-MMC-on-ADL.patch
-	"${FILESDIR}"/0004-Encode-GLK-enable-VP8.patch
-	"${FILESDIR}"/0005-fix-bitwise-or-warning.patch
-)
-
-src_configure() {
-	local mycmakeargs=(
-		-DMEDIA_RUN_TEST_SUITE=OFF
-		-DBUILD_TYPE=Release
-		-DPLATFORM=linux
-		-DBUILD_CMRTLIB="$(usex ihd_cmrtlib ON OFF)"
-		-DCMAKE_DISABLE_FIND_PACKAGE_X11=TRUE
-	)
-
-	cmake_src_configure
-}
diff --git a/x11-libs/libva-intel-media-driver/libva-intel-media-driver-22.3.1-r7.ebuild b/x11-libs/libva-intel-media-driver/libva-intel-media-driver-22.3.1-r7.ebuild
new file mode 120000
index 0000000..20f24a5
--- /dev/null
+++ b/x11-libs/libva-intel-media-driver/libva-intel-media-driver-22.3.1-r7.ebuild
@@ -0,0 +1 @@
+libva-intel-media-driver-22.3.1.ebuild
\ No newline at end of file
diff --git a/x11-libs/libva-intel-media-driver/libva-intel-media-driver-22.3.1.ebuild b/x11-libs/libva-intel-media-driver/libva-intel-media-driver-22.3.1.ebuild
new file mode 100644
index 0000000..17ebbef
--- /dev/null
+++ b/x11-libs/libva-intel-media-driver/libva-intel-media-driver-22.3.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+SRC_URI="https://github.com/intel/media-driver/archive/intel-media-${PV}.tar.gz"
+S="${WORKDIR}/media-driver-intel-media-${PV}"
+KEYWORDS="*"
+DESCRIPTION="Intel Media Driver for VAAPI (iHD)"
+HOMEPAGE="https://github.com/intel/media-driver"
+
+LICENSE="MIT BSD"
+SLOT="0"
+IUSE="ihd_cmrtlib"
+
+DEPEND=">=media-libs/gmmlib-22.0.1:=
+	>=x11-libs/libva-2.14.0
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-20.2.0_x11_optional.patch
+	"${FILESDIR}"/${PN}-21.4.2-Remove-unwanted-CFLAGS.patch
+	"${FILESDIR}"/${PN}-20.4.5_testing_in_src_test.patch
+
+	"${FILESDIR}"/0001-Disable-IPC-usage.patch
+	"${FILESDIR}"/0002-change-slice-header-prefix-for-AVC-Vdenc.patch
+	"${FILESDIR}"/0003-Disable-Media-Memory-Compression-MMC-on-ADL.patch
+	"${FILESDIR}"/0004-enable-VP8-encode-for-BXT-and-APL.patch
+	"${FILESDIR}"/0005-Revert-Media-Common-fixed-regression-about-TGL-KBL-j.patch
+	"${FILESDIR}"/0006-Revert-Media-Common-Optimization-getimage.patch
+	"${FILESDIR}"/0007-CHROMIUM-disable-GucSubmission-for-adl.patch
+	"${FILESDIR}"/0008-BACKPORT-RPLP-upstream.patch
+)
+
+src_configure() {
+	local mycmakeargs=(
+		-DMEDIA_RUN_TEST_SUITE=OFF
+		-DBUILD_TYPE=Release
+		-DPLATFORM=linux
+		-DBUILD_CMRTLIB="$(usex ihd_cmrtlib ON OFF)"
+		-DCMAKE_DISABLE_FIND_PACKAGE_X11=TRUE
+	)
+	local CMAKE_BUILD_TYPE="Release"
+	cmake_src_configure
+}
diff --git a/x11-libs/libva/Manifest b/x11-libs/libva/Manifest
index dd28070..f158a3c 100644
--- a/x11-libs/libva/Manifest
+++ b/x11-libs/libva/Manifest
@@ -1 +1 @@
-DIST libva-2.13.0.tar.gz 256724 BLAKE2B 97dd51bf488dc88027125973399e17dedcce03b7bf5104fd9bf17156c5013e1e9d46f2bf78c16431141294f75549a00fed3542b4f79dd31b032f4505c11d07d7 SHA512 226d09956754c9942348ed289f210268bad64dbba95d948b33ae063f7ecb276af9da083a48c03c3c79ad4305716d203898bc75a109945d064a5fe6fb43398dea
+DIST libva-2.14.0.tar.gz 266254 BLAKE2B 1ad504dc7f72b15bb35b486a5fcb327c14663b80068791aa983f2d46876b1504b8330888430b85d2fb309bd5aa2a11c4a34589b68fa140e10b27cb952e3eb5c7 SHA512 8d87b49c7242174d05dca709bd79e6e45cea6e6060d12f5cf7636433be587c2b3a6c3183f632fb0ff49b19f31f915a2a62818c26f57c3a8f40741aa1ab8270b4
diff --git a/x11-libs/libva/libva-2.13.0-r2.ebuild b/x11-libs/libva/libva-2.13.0-r2.ebuild
deleted file mode 120000
index e85c50d..0000000
--- a/x11-libs/libva/libva-2.13.0-r2.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-libva-2.13.0.ebuild
\ No newline at end of file
diff --git a/x11-libs/libva/libva-2.13.0.ebuild b/x11-libs/libva/libva-2.13.0.ebuild
deleted file mode 100644
index a0cdb71..0000000
--- a/x11-libs/libva/libva-2.13.0.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="Video Acceleration (VA) API for Linux"
-HOMEPAGE="https://01.org/linuxmedia/vaapi"
-SRC_URI="https://github.com/intel/libva/releases/download/${PV}/${P}.tar.gz"
-KEYWORDS="*"
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1)"
-IUSE="utils intel_oemcrypto internal intel_ihd_pavp"
-
-VIDEO_CARDS="i965 amdgpu iHD"
-for x in ${VIDEO_CARDS}; do
-	IUSE+=" video_cards_${x}"
-done
-
-RDEPEND="
-	>=x11-libs/libdrm-2.4.60[${MULTILIB_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
-	virtual/pkgconfig
-"
-PDEPEND="
-	video_cards_i965? ( >=x11-libs/libva-intel-driver-2.0.0[${MULTILIB_USEDEP}] )
-	video_cards_iHD? (
-		intel_oemcrypto? (
-			internal? ( x11-libs/libva-intel-media-driver-pavp[${MULTILIB_USEDEP}] )
-			!internal? (
-				intel_ihd_pavp? ( x11-libs/libva-intel-media-driver-pavp[${MULTILIB_USEDEP}] )
-				!intel_ihd_pavp? ( ~x11-libs/libva-intel-media-driver-21.3.5[${MULTILIB_USEDEP}] )
-			)
-		)
-		!intel_oemcrypto? ( ~x11-libs/libva-intel-media-driver-21.3.5[${MULTILIB_USEDEP}] )
-	)
-	video_cards_amdgpu? ( virtual/opengles[${MULTILIB_USEDEP}] )
-	utils? ( media-video/libva-utils )
-"
-
-DOCS=( NEWS )
-
-MULTILIB_WRAPPED_HEADERS=(
-/usr/include/va/va_backend_glx.h
-/usr/include/va/va_x11.h
-/usr/include/va/va_dri2.h
-/usr/include/va/va_dricommon.h
-/usr/include/va/va_glx.h
-)
-
-src_prepare() {
-	default
-	eautoreconf
-}
-
-multilib_src_configure() {
-	local myeconfargs=(
-		--with-drivers-path="${EPREFIX}/usr/$(get_libdir)/va/drivers"
-		--enable-drm
-		--disable-x11
-		--disable-glx
-		--disable-wayland
-		--enable-va-messaging
-	)
-	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
-	default
-	find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/x11-libs/libva/libva-2.14.0.ebuild b/x11-libs/libva/libva-2.14.0.ebuild
new file mode 100644
index 0000000..07eca9c
--- /dev/null
+++ b/x11-libs/libva/libva-2.14.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools multilib-minimal
+
+DESCRIPTION="Video Acceleration (VA) API for Linux"
+HOMEPAGE="https://01.org/linuxmedia/vaapi"
+SRC_URI="https://github.com/intel/libva/releases/download/${PV}/${P}.tar.gz"
+KEYWORDS="*"
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1)"
+IUSE="utils intel_oemcrypto internal intel_ihd_pavp"
+
+VIDEO_CARDS="i965 amdgpu iHD"
+for x in ${VIDEO_CARDS}; do
+	IUSE+=" video_cards_${x}"
+done
+
+RDEPEND="
+	>=x11-libs/libdrm-2.4.60[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+	virtual/pkgconfig
+"
+PDEPEND="
+	video_cards_i965? ( >=x11-libs/libva-intel-driver-2.0.0[${MULTILIB_USEDEP}] )
+	video_cards_iHD? (
+		intel_oemcrypto? (
+			internal? ( x11-libs/libva-intel-media-driver-pavp[${MULTILIB_USEDEP}] )
+			!internal? (
+				intel_ihd_pavp? ( x11-libs/libva-intel-media-driver-pavp[${MULTILIB_USEDEP}] )
+				!intel_ihd_pavp? ( ~x11-libs/libva-intel-media-driver-22.3.1[${MULTILIB_USEDEP}] )
+			)
+		)
+		!intel_oemcrypto? ( ~x11-libs/libva-intel-media-driver-22.3.1[${MULTILIB_USEDEP}] )
+	)
+	video_cards_amdgpu? ( virtual/opengles[${MULTILIB_USEDEP}] )
+	utils? ( media-video/libva-utils )
+"
+
+DOCS=( NEWS )
+
+MULTILIB_WRAPPED_HEADERS=(
+/usr/include/va/va_backend_glx.h
+/usr/include/va/va_x11.h
+/usr/include/va/va_dri2.h
+/usr/include/va/va_dricommon.h
+/usr/include/va/va_glx.h
+)
+
+src_prepare() {
+	default
+	eautoreconf
+}
+
+multilib_src_configure() {
+	local myeconfargs=(
+		--with-drivers-path="${EPREFIX}/usr/$(get_libdir)/va/drivers"
+		--enable-drm
+		--disable-x11
+		--disable-glx
+		--disable-wayland
+		--enable-va-messaging
+	)
+	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+	default
+	find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/x11-libs/metadata.xml b/x11-libs/metadata.xml
deleted file mode 100644
index 875590a..0000000
--- a/x11-libs/metadata.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The x11-libs category contains various X11-related libraries.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie x11-libs enthält verschiedene Bibliotheken für
-		die X11-Programmierung.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría x11-libs contiene varias librerías para X11.
-	</longdescription>
-	<longdescription lang="ja">
-		x11-libsカテゴリーには様々なX11関連のライブラリが含まれています。
-	</longdescription>
-	<longdescription lang="nl">
-		De categorie x11-libs bevat allerlei aan X11 gerelateerde bibliotheken.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm x11-libs chứa các thư viện liên quan đến X11.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria x11-libs contiene varie librerie per X11.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria x11-libs contém várias bibliotecas relacionadas a
-		X11.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria x11-libs zawiera biblioteki powiązane z X11.
-	</longdescription>
-</catmetadata>
-
diff --git a/x11-misc/metadata.xml b/x11-misc/metadata.xml
deleted file mode 100644
index dfa319e..0000000
--- a/x11-misc/metadata.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		The x11-misc category contains miscellaneous X11 applications which do
-		not belong elsewhere.
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie x11-misc enthält verschiedene X11-Applikationen die sich
-		nicht anderweitig einordnen lassen.
-	</longdescription>
-	<longdescription lang="es">
-		La categoría x11-misc contiene aplicaciones mixtas de X11 que no
-		pertenecen a ninguna otra categoría.
-	</longdescription>
-	<longdescription lang="ja">
-		x11-miscカテゴリーには他のカテゴリーに分類されなかった
-		多種多様なX11アプリケーションが含まれて>います。
-	</longdescription>
-	<longdescription lang="nl">
-		De categorie x11-misc bevat allerlei X11-applicaties die niet in andere
-		categorieën thuishoren.
-	</longdescription>
-	<longdescription lang="vi">
-		Nhóm x11-misc chứa các ứng dụng X11 không thuộc vào nơi nào khác.
-	</longdescription>
-	<longdescription lang="sk">
-		Kategória x11-misc obsahuje rôzne aplikácie pre X11, ktoré nie sú
-		zaradené do iných kategórií.
-	</longdescription>
-	<longdescription lang="it">
-		La categoria x11-misc contiene applicazioni miste per X11 che non appartengono ad altre categorie.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria x11-misc contém aplicações mistas de X11 que não
-		pertencem a outras categorias.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria x11-misc zawiera aplikacje dla X11, które nie pasują do żadnej
-		z pozostałych kategorii.
-	</longdescription>
-</catmetadata>
-
diff --git a/x11-themes/cros-adapta/cros-adapta-0.0.1-r32.ebuild b/x11-themes/cros-adapta/cros-adapta-0.0.1-r32.ebuild
deleted file mode 100644
index 0c3a339..0000000
--- a/x11-themes/cros-adapta/cros-adapta-0.0.1-r32.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="eb6d8c1832b9181926df107faf41a80887fd982c"
-CROS_WORKON_TREE="04ad283baafb2d029a39ee87e84731a6951b9eb4"
-CROS_WORKON_LOCALNAME="cros-adapta"
-CROS_WORKON_PROJECT="chromiumos/third_party/cros-adapta"
-
-inherit cros-workon
-
-DESCRIPTION="GTK theme for the VM guest container for Chrome OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/cros-adapta/"
-
-LICENSE="GPL-2 CC-BY-4.0"
-SLOT="0"
-KEYWORDS="*"
-
-src_install() {
-	insinto /opt/google/cros-containers/cros-adapta
-	doins -r gtk-2.0 gtk-3.0 gtk-3.22 index.theme
-
-	# Install the assets directory if it exists.
-	if [[ -d assets ]] ; then
-		doins -r assets
-	fi
-}
diff --git a/x11-themes/cros-adapta/cros-adapta-0.0.1-r34.ebuild b/x11-themes/cros-adapta/cros-adapta-0.0.1-r34.ebuild
new file mode 100644
index 0000000..504b62a
--- /dev/null
+++ b/x11-themes/cros-adapta/cros-adapta-0.0.1-r34.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="46fd2136aa799bb17dfb1002278f98e6397e5806"
+CROS_WORKON_TREE="7b93178709970757d72325b63d06bc6935e825c3"
+CROS_WORKON_LOCALNAME="cros-adapta"
+CROS_WORKON_PROJECT="chromiumos/third_party/cros-adapta"
+
+inherit cros-workon
+
+DESCRIPTION="GTK theme for the VM guest container for Chrome OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/cros-adapta/"
+
+LICENSE="GPL-2 CC-BY-4.0"
+SLOT="0"
+KEYWORDS="*"
+
+src_install() {
+	insinto /opt/google/cros-containers/cros-adapta
+	doins -r gtk-2.0 gtk-3.0 gtk-3.22 index.theme
+
+	# Install the assets directory if it exists.
+	if [[ -d assets ]] ; then
+		doins -r assets
+	fi
+}